diff --git a/reactos/Makefile b/reactos/Makefile index f6289ebeecc..f738f7cf9d1 100644 --- a/reactos/Makefile +++ b/reactos/Makefile @@ -60,7 +60,8 @@ PREAUTO := \ include$(SEP)reactos$(SEP)errcodes.h \ lib$(SEP)kernel32$(SEP)errcodes.rc -Makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(CDMAKE_TARGET) $(RBUILD_TARGET) $(PREAUTO) +Makefile.auto: $(RMKDIR_TARGET) $(BUILDNO_TARGET) $(NCI_SERVICE_FILES) $(WMC_TARGET) $(WRC_TARGET) \ + $(CDMAKE_TARGET) $(RBUILD_TARGET) $(PREAUTO) tools$(SEP)rbuild$(SEP)rbuild$(EXEPOSTFIX) mingw # $(MAKE) $(MAKECMDGOALS) diff --git a/reactos/apps/utils/Makefile b/reactos/apps/utils/Makefile index 92a1d5157f1..86e8921fa18 100644 --- a/reactos/apps/utils/Makefile +++ b/reactos/apps/utils/Makefile @@ -9,7 +9,7 @@ include $(PATH_TO_TOP)/rules.mak # Console system utilities # cabman cat net objdir partinfo pice ps sc stats -UTIL_APPS = cat objdir partinfo pnpdump sc shutdown stats tickcount consw rundll32 ps +UTIL_APPS = cat objdir partinfo pnpdump sc shutdown stats tickcount consw ps UTIL_NET_APPS = arp finger ftp ipconfig netstat ping route telnet whois diff --git a/reactos/boot/freeldr/bootsect/Makefile b/reactos/boot/freeldr/bootsect/Makefile index 87a9a1b7da4..d8b79d7ee3f 100644 --- a/reactos/boot/freeldr/bootsect/Makefile +++ b/reactos/boot/freeldr/bootsect/Makefile @@ -32,26 +32,26 @@ $(BIN2C) : @$(MAKE) --no-print-directory -C $(FREELDR_TOOLS_PATH) dosmbr.bin : dosmbr.asm - @echo ===================================================== Assembling dosmbr + @echo freeldr: Assembling dosmbr @$(NASM_CMD) $(NFLAGS) -o dosmbr.bin -f bin dosmbr.asm fat.bin : fat.asm $(BIN2C) - @echo ===================================================== Assembling fat + @echo freeldr: Assembling fat @$(NASM_CMD) $(NFLAGS) -o fat.bin -f bin fat.asm @$(BIN2C) fat.bin fat.h fat_data fat32.bin : fat32.asm $(BIN2C) - @echo ===================================================== Assembling fat32 + @echo freeldr: Assembling fat32 @$(NASM_CMD) $(NFLAGS) -o fat32.bin -f bin fat32.asm @$(BIN2C) fat32.bin fat32.h fat32_data isoboot.bin : isoboot.asm - @echo ===================================================== Assembling isoboot + @echo freeldr: Assembling isoboot @$(NASM_CMD) $(NFLAGS) -o isoboot.bin -f bin isoboot.asm ext2.bin : ext2.asm - @echo ===================================================== Assembling ext2 + @echo freeldr: Assembling ext2 @$(NASM_CMD) $(NFLAGS) -o ext2.bin -f bin ext2.asm @$(BIN2C) ext2.bin ext2.h ext2_data @@ -77,4 +77,4 @@ bootcd_dirs: clean: @-$(RM) *.bin @-$(RM) *.h - @echo Clean ALL done. + @echo freeldr: Clean ALL done. diff --git a/reactos/boot/freeldr/fdebug/Makefile b/reactos/boot/freeldr/fdebug/Makefile index e2f6ab4f55a..c55a3f85265 100644 --- a/reactos/boot/freeldr/fdebug/Makefile +++ b/reactos/boot/freeldr/fdebug/Makefile @@ -30,23 +30,23 @@ OBJS = rs232.o fdebug.o fdebug.res all: fdebug.exe fdebug.exe: $(OBJS) - @echo ===================================================== LINKING fdebug + @echo freeldr: LINKING fdebug $(CC) $(FLAGS) -o fdebug.exe $(OBJS) -lgdi32 -lcomdlg32 -Wl,--subsystem,windows fdebug.res: fdebug.rc resource.h - @echo ===================================================== Compiling $* + @echo freeldr: Compiling $* $(RC) -o fdebug.res fdebug.rc -O coff fdebug.o: fdebug.c rs232.h - @echo ===================================================== Compiling $* + @echo freeldr: Compiling $* $(CC) $(FLAGS) -o fdebug.o -c fdebug.c rs232.o: rs232.c rs232.h - @echo ===================================================== Compiling $* + @echo freeldr: Compiling $* $(CC) $(FLAGS) -o rs232.o -c rs232.c clean: @-$(RM) *.o @-$(RM) *.res @-$(RM) *.exe - @echo Clean ALL done. + @echo freeldr: Clean ALL done. diff --git a/reactos/boot/freeldr/freeldr/Makefile b/reactos/boot/freeldr/freeldr/Makefile index b44ba98a800..7f63213b302 100644 --- a/reactos/boot/freeldr/freeldr/Makefile +++ b/reactos/boot/freeldr/freeldr/Makefile @@ -57,7 +57,7 @@ clean: @-$(RM) setupldr.sys @-$(RM) setupldr.map @$(MAKE) --no-print-directory -C $(FREELDR_TOOLS_PATH) - @echo Clean ALL done. + @echo freeldr: Clean ALL done. ############################################# @@ -259,11 +259,11 @@ ALL_OBJS = $(COMMON_OBJS) \ all : freeldr.sys setupldr.sys - @echo Make ALL done. + @echo freeldr: Make ALL done. freeldr.sys : $(ALL_OBJS) $(PATH_TO_TOP)/dk/w32/lib/librossym.a - @echo ===================================================== LINKING $@ + @echo freeldr: LINKING $@ @$(LD) $(LFLAGS) -o freeldr.exe $(F_OBJS) $(PATH_TO_TOP)/dk/w32/lib/librossym.a ifeq ($(FULL_MAP),yes) @$(OBJDUMP) -d -S freeldr.exe > freeldr.map @@ -274,7 +274,7 @@ endif setupldr.sys : $(ALL_OBJS) - @echo ===================================================== LINKING $@ + @echo freeldr: LINKING $@ @$(LD) $(LFLAGS) -Map setupldr.map -o setupldr.exe $(S_OBJS) ifeq ($(FULL_MAP),yes) @$(OBJDUMP) -d -S setupldr.exe > setupldr.map @@ -285,15 +285,15 @@ endif %.o :: %.c - @echo ===================================================== Compiling $* + @echo freeldr: Compiling $* @$(CC) $(CFLAGS) -o $@ -c $< @$(DEPTOOL) $*.d %.o :: %.S - @echo ===================================================== Assembling $* + @echo freeldr: Assembling $* @$(CC) $(CFLAGS) -o $@ -c $< @$(DEPTOOL) $*.d %.o :: %.asm - @echo ===================================================== Assembling $* + @echo freeldr: Assembling $* @$(NASM_CMD) $(NASMFLAGS) -o $@ $< diff --git a/reactos/boot/freeldr/freeldr/multiboot.c b/reactos/boot/freeldr/freeldr/multiboot.c index 97b7191e8f3..d932303b954 100644 --- a/reactos/boot/freeldr/freeldr/multiboot.c +++ b/reactos/boot/freeldr/freeldr/multiboot.c @@ -4,7 +4,7 @@ * FILE: boot/freeldr/freeldr/multiboot.c * PURPOSE: ReactOS Loader * PROGRAMMERS: Alex Ionescu (alex@relsoft.net) - * Hartmutt Birr - SMP/PAE Code + * Hartmut Birr - SMP/PAE Code */ #include @@ -54,7 +54,7 @@ #define ApicPageTableIndexPae (APIC_BASE >> 21) -#define KernelEntryPoint (KernelEntry - KERNEL_BASE_PHYS) + KernelBase +#define KernelEntryPoint (KernelEntry - KERNEL_BASE_PHYS) + KernelBase /* Load Address of Next Module */ ULONG_PTR NextModuleBase = 0; @@ -217,7 +217,7 @@ FrLdrSetupPae(ULONG Magic) /* Jump to Kernel */ PagedJump = (ASMCODE)KernelEntryPoint; PagedJump(Magic, &LoaderBlock); - } +} /*++ * FrLdrGetKernelBase @@ -239,27 +239,24 @@ VOID FASTCALL FrLdrGetKernelBase(VOID) { - PCHAR p1; - PCHAR p2; + PCHAR p; /* Read Command Line */ - for(p1 = (PCHAR)&LoaderBlock.CommandLine; *p1 && (p2 = strchr(p1, '/')); p2++) { + p = (PCHAR)LoaderBlock.CommandLine; + while ((p = strchr(p, '/')) != NULL) { /* Find "/3GB" */ - if (!strnicmp(p2, "3GB", 3)) { + if (!strnicmp(p + 1, "3GB", 3)) { /* Make sure there's nothing following it */ - if (p2[3] == ' ' || p2[3] == 0) { + if (p[4] == ' ' || p[4] == 0) { /* Use 3GB */ KernelBase = 0xC0000000; - - } else { - - /* Use 2GB */ - KernelBase = 0x80000000; } } + + p++; } /* Set KernelBase */ diff --git a/reactos/boot/freeldr/install/Makefile b/reactos/boot/freeldr/install/Makefile index 4f53a958c3e..efc2e11773e 100644 --- a/reactos/boot/freeldr/install/Makefile +++ b/reactos/boot/freeldr/install/Makefile @@ -35,18 +35,18 @@ all: ../bootsect/fat.h ../bootsect/fat32.h install.exe @$(MAKE) --no-print-directory -C ../bootsect install.exe: $(OBJS) - @echo ===================================================== LINKING install + @echo freeldr: LINKING install $(CC) $(FLAGS) -o install.exe $(OBJS) install.o: install.c install.h volume.h - @echo ===================================================== Compiling $* + @echo freeldr: Compiling $* $(CC) $(FLAGS) -o install.o -c install.c volume.o: volume.c volume.h install.h - @echo ===================================================== Compiling $* + @echo freeldr: Compiling $* $(CC) $(FLAGS) -o volume.o -c volume.c clean: @-$(RM) *.o @-$(RM) *.exe - @echo Clean ALL done. + @echo freeldr: Clean ALL done. diff --git a/reactos/boot/freeldr/tools/Makefile b/reactos/boot/freeldr/tools/Makefile index 22d94b46f10..aacf53c9b62 100644 --- a/reactos/boot/freeldr/tools/Makefile +++ b/reactos/boot/freeldr/tools/Makefile @@ -25,16 +25,16 @@ TOOLS = deptool$(EXE_POSTFIX) \ bin2c$(EXE_POSTFIX) all : $(TOOLS) - @echo Tools are up to date. + @echo freeldr: Tools are up to date. % :: all %$(EXE_POSTFIX): %.c - @echo ===================================================== Compiling $* + @echo freeldr: Compiling $* @$(HOST_CC) -Wall -O3 -o $@ $< .PHONY : clean clean: @-$(RM) $(TOOLS) - @echo Clean ALL done. + @echo freeldr: Clean ALL done. diff --git a/reactos/bootdata/hivesys.inf b/reactos/bootdata/hivesys.inf index b3e032acfd2..86121fcd201 100644 --- a/reactos/bootdata/hivesys.inf +++ b/reactos/bootdata/hivesys.inf @@ -254,6 +254,15 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\KnownDlls","kernel32",0x0 HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management","PagingFiles",0x00010000, \ "C:\reactos\pagefile.sys" +; Subsystems +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Debug",0x00020000,"" +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Kmode",0x00020000,"%SystemRoot%\system32\win32k.sys" +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Optional",0x00070001,50,00,6f,00,73,00,69,00,78,00,00,00,4f,00,73,00,32,00,00,00,00,00 +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Os2",0x00020000,"%SystemRoot%\system32\os2ss.exe" +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Posix",0x00020000,"%SystemRoot%\system32\psxss.exe" +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Required",0x00070001,44,00,65,00,62,00,75,00,67,00,00,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,00,00,00,00 +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems","Windows",0x00020000,"%SystemRoot%\system32\csrss.exe" + ; 3Com 3c905 Driver HKLM,"SYSTEM\CurrentControlSet\Services\3c90x","ErrorControl",0x00010001,0x00000000 HKLM,"SYSTEM\CurrentControlSet\Services\3c90x","Group",0x00000000,"NDIS" @@ -573,7 +582,7 @@ HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,0x00000001 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,0x00000001 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0x00000003 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"Base" -HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00020000,"System32\DRIVERS\usbuhci.sys" +HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"System32\DRIVERS\usbuhci.sys" HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Tag",0x00010001,0x0000000f HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"ReactOS USB UHCI controller miniport driver" ;hard coded values for VMWARE @@ -582,6 +591,21 @@ HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci\Enum","Count",0x00010001,0x00000 HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci\Enum","NextInstance",0x00010001,0x00000001 HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_7112&SUBSYS_197615AD&REV_00\0000","Service",0x0000000,"usbuhci" +;USB OHCI Driver (Cromwell), especially the same name as windows OHCI miniport +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0x00000003 +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"Base" +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"System32\drivers\ohci.sys" +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Tag",0x00010001,0x0000000f +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"ReactOS USB OHCI cromwell-type driver" +;hard coded values for Virtual PC 6/7 (Mac) +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci\Enum","0",0x00000000,"PCI\VEN_2955&DEV_6E61&SUBSYS_6E612955&REV_11\0000" +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci\Enum","Count",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Services\usbohci\Enum","NextInstance",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_2955&DEV_6E61&SUBSYS_6E612955&REV_11\0000","Service",0x0000000,"usbohci" + + ; ReactOS PCNet NIC driver ; To use the AMD supplied driver change the driver name to pcntn5m.sys ; diff --git a/reactos/bootdata/packages/reactos.dff b/reactos/bootdata/packages/reactos.dff index 30550608385..2a3248c017e 100755 --- a/reactos/bootdata/packages/reactos.dff +++ b/reactos/bootdata/packages/reactos.dff @@ -74,7 +74,6 @@ lib\dinput\dinput.dll 1 lib\dinput8\dinput8.dll 1 lib\dsound\dsound.dll 1 lib\dxdiagn\dxdiagn.dll 1 -lib\expat\expat.dll 1 lib\fmifs\fmifs.dll 1 lib\freetype\freetype.dll 1 lib\gdi32\gdi32.dll 1 @@ -97,6 +96,7 @@ lib\mesa32\mesa32.dll 1 lib\midimap\midimap.dll 1 lib\mmdrv\mmdrv.dll 1 lib\mpr\mpr.dll 1 +lib\msacm\msacm32.dll 1 lib\msafd\msafd.dll 1 lib\msgina\msgina.dll 1 lib\msimg32\msimg32.dll 1 @@ -120,7 +120,6 @@ lib\smdll\smdll.dll 1 lib\syssetup\syssetup.dll 1 lib\twain\twain_32.dll 1 lib\urlmon\urlmon.dll 1 -lib\unicode\wine_unicode.dll 1 lib\user32\user32.dll 1 lib\userenv\userenv.dll 1 lib\version\version.dll 1 @@ -151,9 +150,9 @@ subsys\system\ibrowser\ibrowser.exe 1 subsys\system\format\format.exe 1 subsys\system\notepad\notepad.exe 1 subsys\system\regedit\regedit.exe 4 -subsys\system\regedt32\regedt32.exe 1 subsys\system\regsvr32\regsvr32.exe 1 subsys\system\reporterror\reporterror.exe 1 +subsys\system\rundll32\rundll32.exe 1 subsys\system\services\services.exe 1 subsys\system\setup\setup.exe 1 subsys\system\taskmgr\taskmgr.exe 1 diff --git a/reactos/bootdata/txtsetup.sif b/reactos/bootdata/txtsetup.sif index ba598083a4d..962438c9aed 100644 --- a/reactos/bootdata/txtsetup.sif +++ b/reactos/bootdata/txtsetup.sif @@ -22,7 +22,6 @@ cdrom.sys = 3 class2.sys = 3 disk.sys = 3 floppy.sys = 3 -hal.dll = 2 keyboard.sys = 3 l_intl.nls = 2 ntfs.sys = 3 @@ -48,6 +47,15 @@ DefaultLayout = 00000409 [Computer] pci_up = "Standard-PC" +pci_mp = "Standard-PC Multiprocessor" + +[Files.pci_up] +; = , +hal.dll = 2 + +[Files.pci_mp] +; = , +halmp.dll = 2,hal.dll [Display] ; = ,, diff --git a/reactos/config b/reactos/config index 5a8c1f69da9..1df93292ac2 100644 --- a/reactos/config +++ b/reactos/config @@ -7,12 +7,12 @@ ARCH := i386 # -# Which cpu should reactos optimze for +# Which cpu should reactos optimize for # example : i486, i586, pentium, pentium2, pentium3, pentium4 # athlon-xp, athlon-mp, k6-2, # -# see gcc manual for more cpu name and which cpu it can -# be optimze for. +# see gcc manual for more cpu names and which cpus it can +# be optimized for. # OARCH := i486 diff --git a/reactos/doc/README.WINE b/reactos/doc/README.WINE index e1009d7acb4..c2c3e38a250 100644 --- a/reactos/doc/README.WINE +++ b/reactos/doc/README.WINE @@ -10,8 +10,8 @@ please add it. If you find that a function in ReactOS that is not implemented properly and is based on WINE sources, check the latest Winehq CVS and see if it has been fixed there. If so, please submit a patch to -ros-kernel@reactos.com. Otherwise please send a patch to both -wine-patches@winehq.com and ros-kernel@reactos.com +ros-dev@reactos.com. Otherwise please send a patch to both +wine-patches@winehq.com and ros-dev@reactos.com When porting a dll from WINE to ReactOS please take a look at how comctl32 has been imported. We start by creating a makefile that has @@ -26,51 +26,52 @@ This will allow you to use the WINE tools and librarys with very little work to import a new dll. The following build tools are derived from Wine. -reactos/tools/makedep # fast dependancy tool reactos/tools/bin2res # Resource to binary converter -reactos/tools/winebuild # Wine Build tool for Creating *.def files +reactos/tools/winebuild # Synced to Wine-20050211 reactos/tools/wmc # Wine Message Compiler - +reactos/tools/wrc # Synced to Wine-20050211 The following shared libraries are a 100% port from Winehq sources. -reactos/lib/cabinet # Synced to Wine-20050111 -reactos/lib/comctl32 # Synced to Wine-20050111 -reactos/lib/comdlg32 # Synced to Wine-20050111 -reactos/lib/dinput # Synced to Wine-20050111 -reactos/lib/dinput8 # Synced to Wine-20050111 -reactos/lib/icmp # Synced to Wine-20050111 +reactos/lib/cabinet # Synced to Wine-20050211 +reactos/lib/comctl32 # Synced to Wine-20050211 +reactos/lib/comdlg32 # Synced to Wine-20050211 +reactos/lib/dinput # Synced to Wine-20050211 +reactos/lib/dinput8 # Synced to Wine-20050211 +reactos/lib/icmp # Synced to Wine-20050211 reactos/lib/iphlpapi # Out of sync reactos/lib/imagehlp # Patches for BindImage need review and submission to winehq. reactos/lib/msvcrt20 # Out of sync -reactos/lib/mpr # Synced to Wine-20050111 +reactos/lib/mpr # Synced to Wine-20050211 reactos/lib/msacm # Out of sync -reactos/lib/msi # Synced to Wine-20050111 +reactos/lib/msimg32 # Synced to Wine-20050211 +reactos/lib/msi # Synced to Wine-20050211 reactos/lib/msvideo # Out of sync reactos/lib/netapi32 # Out of sync reactos/lib/odbc32 # In sync. Depends on port of Linux ODBC. -reactos/lib/ole32 # Synced to Wine-20050111 -reactos/lib/oleaut32 # Synced to Wine-20050111 -reactos/lib/oledlg # Synced to Wine-20050111 -reactos/lib/olepro32 # Synced to Wine-20050111 -reactos/lib/richedit # Synced to Wine-20050111 -reactos/lib/rpcrt4 # Synced to Wine-20050111 +reactos/lib/ole32 # Synced to Wine-20050211 +reactos/lib/oleaut32 # Synced to Wine-20050211 +reactos/lib/oledlg # Synced to Wine-20050211 +reactos/lib/olepro32 # Synced to Wine-20050211 +reactos/lib/richedit # Synced to Wine-20050211 +reactos/lib/rpcrt4 # Synced to Wine-20050211 reactos/lib/setupapi # Synced to Wine-20050125 # CVS -reactos/lib/shell32 # Synced to Wine-20050111 -reactos/lib/shdocvw # Synced to Wine-20050111 -reactos/lib/shlwapi # Synced to Wine-20050111 +reactos/lib/shell32 # Synced to Wine-20050211 +reactos/lib/shdocvw # Synced to Wine-20050211 +reactos/lib/shlwapi # Synced to Wine-20050211 reactos/lib/twain # Out of sync -reactos/lib/unicode # Dependancy on this lib needs to be removed. Synced to Wine-20050111 -reactos/lib/urlmon # Synced to Wine-20050111 +reactos/lib/unicode # Dependancy on this lib needs to be removed. Synced to Wine-20050211 +reactos/lib/urlmon # Synced to Wine-20050211 reactos/lib/version # Out of sync reactos/lib/wininet # Out of sync -reactos/lib/winmm # Synced to Wine-20050111 -reactos/lib/winmm/midimap # Synced to Wine-20050111 -reactos/lib/winmm/wavemap # Synced to Wine-20050111 +reactos/lib/winmm # Synced to Wine-20050211 +reactos/lib/winmm/midimap # Synced to Wine-20050211 +reactos/lib/winmm/wavemap # Synced to Wine-20050211 ReactOS shares the following programs with Winehq. reactos/subsys/system/regedit # Out of sync reactos/subsys/system/expand # Out of sync +reactos/subsys/system/msiexec # Synced to Wine-20050211 In addition the following libs, dlls and source files are mostly based on code ported from Winehq CVS. If you are looking to update something in these files @@ -80,7 +81,7 @@ reactos/lib/imm32 # reactos/lib/uuid # advapi32 - - reactos/lib/advapi32/crypyto/*.c # Synced to Wine-20041201 + reactos/lib/advapi32/crypt/*.c # ekohl says we're not sharing this gdi32 - reactos/lib/gdi32/objects/linedda.c # Out of sync @@ -100,3 +101,31 @@ User32 - reactos/lib/user32/misc/wsprintf.c # Out of sync reactos/lib/user32/windows/mdi.c # Out of sync +- Cd to the parent directory of your top-level "reactos" directory +- Check out the Wine release: "cvs -d :pserver:cvs@cvs.winehq.com:2401/home/wine co wine -r Wine-20050211" +- Create "vendor" directory (as a sibling of your top-level "reactos" directory) +- Cd to the vendor dir and check out the current vendor drop: + "svn co svn://svn.reactos.com/vendor/wine". +- For each component shared with Wine (e.g. cabinet): + "del vendor\wine\dlls\cabinet\current\*" + "copy wine\dlls\cabinet vendor\wine\dlls\cabinet\current" + "del vendor\wine\dlls\cabinet\current\.cvsignore" + Check svn status, svn add/delete files as needed + Tag new Wine release "svn copy vendor\wine\dlls\cabinet\current vendor\wine\dlls\cabinet\Wine-20050211" +- Commit the vendor drop: svn commit vendor\wine -m "Wine-20050211 vendor drop" +- Determine the revision number of the last Wine tag by looking at http://svn.reactos.com/viewcvs/tags/ + and finding the last Wine-yyyymmdd-sync tag, e.g. Wine-20050111-sync had rev 13007 +- For each component shared with Wine (e.g. cabinet): +- "cd reactos\lib\cabinet" +- Check for changes in the ReactOS tree: "svn diff -r 13007" (13007 is the revno of the previous sync). + If any changes are found, see if they're present in the Wine code. If not, submit to WineHQ + if apropriate. +- Merge in Wine changes: + "svn merge svn://svn.reactos.com/vendor/wine/dlls/cabinet/Wine-20050111 + svn://svn.reactos.com/vendor/wine/dlls/cabinet/current" +- Fix any merge conflicts +- Build and test (building will sometimes require adjusting header files) +- Check which files were changed: "svn status" +- For each of the changed files, get the WineHQ CVS log. Copy author and CVS commit message into a + commit log +- Commit changed files "svn commit" using generated commit log as commit message diff --git a/reactos/drivers/fs/cdfs/cdfs.h b/reactos/drivers/fs/cdfs/cdfs.h index e62d95adbb3..692912464cf 100644 --- a/reactos/drivers/fs/cdfs/cdfs.h +++ b/reactos/drivers/fs/cdfs/cdfs.h @@ -3,6 +3,8 @@ #include +#define USE_ROS_CC_AND_FS + #define CDFS_BASIC_SECTOR 2048 #define CDFS_PRIMARY_DESCRIPTOR_LOCATION 16 #define BLOCKSIZE CDFS_BASIC_SECTOR diff --git a/reactos/drivers/fs/cdfs/cleanup.c b/reactos/drivers/fs/cdfs/cleanup.c index f19c9a607f1..3e42acb4854 100644 --- a/reactos/drivers/fs/cdfs/cleanup.c +++ b/reactos/drivers/fs/cdfs/cleanup.c @@ -54,7 +54,11 @@ CdfsCleanupFile(PDEVICE_EXTENSION DeviceExt, /* Uninitialize file cache if initialized for this file object. */ if (FileObject->SectionObjectPointer && FileObject->SectionObjectPointer->SharedCacheMap) { +#ifdef USE_ROS_CC_AND_FS CcRosReleaseFileCache (FileObject); +#else + CcUninitializeCacheMap (FileObject, NULL, NULL); +#endif } return STATUS_SUCCESS; diff --git a/reactos/drivers/fs/cdfs/fcb.c b/reactos/drivers/fs/cdfs/fcb.c index afb602b133b..c579a4847c0 100644 --- a/reactos/drivers/fs/cdfs/fcb.c +++ b/reactos/drivers/fs/cdfs/fcb.c @@ -241,6 +241,7 @@ CdfsFCBInitializeCache(PVCB Vcb, Fcb->FileObject = FileObject; Fcb->DevExt = Vcb; +#ifdef USE_ROS_AND_FS Status = CcRosInitializeFileCache(FileObject, PAGE_SIZE); if (!NT_SUCCESS(Status)) @@ -248,6 +249,14 @@ CdfsFCBInitializeCache(PVCB Vcb, DbgPrint("CcRosInitializeFileCache failed\n"); KEBUGCHECK(0); } +#else + Status = STATUS_SUCCESS; + CcInitializeCacheMap(FileObject, + (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize), + FALSE, + NULL, + NULL); +#endif ObDereferenceObject(FileObject); Fcb->Flags |= FCB_CACHE_INITIALIZED; @@ -411,7 +420,6 @@ CdfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, PFCB Fcb, PFILE_OBJECT FileObject) { - NTSTATUS Status; PCCB newCCB; newCCB = ExAllocatePoolWithTag(NonPagedPool, sizeof(CCB), TAG_CCB); @@ -426,9 +434,11 @@ CdfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, FileObject->FsContext2 = newCCB; newCCB->PtrFileObject = FileObject; Fcb->DevExt = Vcb; - + if (CdfsFCBIsDirectory(Fcb)) { +#ifdef USE_ROS_CC_AND_FS + NTSTATUS Status; Status = CcRosInitializeFileCache(FileObject, PAGE_SIZE); if (!NT_SUCCESS(Status)) @@ -436,6 +446,13 @@ CdfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, DbgPrint("CcRosInitializeFileCache failed\n"); KEBUGCHECK(0); } +#else + CcInitializeCacheMap(FileObject, + (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize), + FALSE, + NULL, + NULL); +#endif Fcb->Flags |= FCB_CACHE_INITIALIZED; } diff --git a/reactos/drivers/fs/cdfs/fsctl.c b/reactos/drivers/fs/cdfs/fsctl.c index 85f67040781..89cee57ef29 100644 --- a/reactos/drivers/fs/cdfs/fsctl.c +++ b/reactos/drivers/fs/cdfs/fsctl.c @@ -402,7 +402,7 @@ CdfsMountVolume(PDEVICE_OBJECT DeviceObject, Fcb->Entry.ExtentLocationL = 0; Fcb->Entry.DataLengthL = (DeviceExt->CdInfo.VolumeSpaceSize + DeviceExt->CdInfo.VolumeOffset) * BLOCKSIZE; - +#ifdef USE_ROS_CC_AND_FS Status = CcRosInitializeFileCache(DeviceExt->StreamFileObject, PAGE_SIZE); if (!NT_SUCCESS (Status)) @@ -410,7 +410,13 @@ CdfsMountVolume(PDEVICE_OBJECT DeviceObject, DbgPrint("CcRosInitializeFileCache failed\n"); goto ByeBye; } - +#else + CcInitializeCacheMap(DeviceExt->StreamFileObject, + (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize), + TRUE, + NULL, + NULL); +#endif ExInitializeResourceLite(&DeviceExt->VcbResource); ExInitializeResourceLite(&DeviceExt->DirResource); diff --git a/reactos/drivers/fs/cdfs/rw.c b/reactos/drivers/fs/cdfs/rw.c index cf52598f6c0..82d88ad04c2 100644 --- a/reactos/drivers/fs/cdfs/rw.c +++ b/reactos/drivers/fs/cdfs/rw.c @@ -86,7 +86,15 @@ CdfsReadFile(PDEVICE_EXTENSION DeviceExt, if (FileObject->PrivateCacheMap == NULL) { +#ifdef ROS_USE_CC_AND_FS CcRosInitializeFileCache(FileObject, PAGE_SIZE); +#else + CcInitializeCacheMap(FileObject, + (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize), + FALSE, + NULL, + NULL); +#endif } FileOffset.QuadPart = (LONGLONG)ReadOffset; diff --git a/reactos/drivers/fs/np/create.c b/reactos/drivers/fs/np/create.c index 4c18f268e5f..106c511cdc0 100644 --- a/reactos/drivers/fs/np/create.c +++ b/reactos/drivers/fs/np/create.c @@ -2,7 +2,7 @@ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/np/create.c + * FILE: drivers/fs/np/create.c * PURPOSE: Named pipe filesystem * PROGRAMMER: David Welch */ @@ -48,17 +48,18 @@ static PNPFS_FCB NpfsFindListeningServerInstance(PNPFS_PIPE Pipe) { PLIST_ENTRY CurrentEntry; - PNPFS_FCB ServerFcb; + PNPFS_WAITER_ENTRY Waiter; - CurrentEntry = Pipe->ServerFcbListHead.Flink; - while (CurrentEntry != &Pipe->ServerFcbListHead) + CurrentEntry = Pipe->WaiterListHead.Flink; + while (CurrentEntry != &Pipe->WaiterListHead) { - ServerFcb = CONTAINING_RECORD(CurrentEntry, NPFS_FCB, FcbListEntry); - if (ServerFcb->PipeState == FILE_PIPE_LISTENING_STATE) + Waiter = CONTAINING_RECORD(CurrentEntry, NPFS_WAITER_ENTRY, Entry); + if (Waiter->Fcb->PipeState == FILE_PIPE_LISTENING_STATE) { - DPRINT("Server found! Fcb %p\n", ServerFcb); - return ServerFcb; + DPRINT("Server found! Fcb %p\n", Waiter->Fcb); + return Waiter->Fcb; } + CurrentEntry = CurrentEntry->Flink; } @@ -66,6 +67,35 @@ NpfsFindListeningServerInstance(PNPFS_PIPE Pipe) } +static VOID +NpfsSignalAndRemoveListeningServerInstance(PNPFS_PIPE Pipe, + PNPFS_FCB Fcb) +{ + PLIST_ENTRY CurrentEntry; + PNPFS_WAITER_ENTRY Waiter; + + CurrentEntry = Pipe->WaiterListHead.Flink; + while (CurrentEntry != &Pipe->WaiterListHead) + { + Waiter = CONTAINING_RECORD(CurrentEntry, NPFS_WAITER_ENTRY, Entry); + if (Waiter->Fcb == Fcb) + { + DPRINT("Server found! Fcb %p\n", Waiter->Fcb); + + KeSetEvent(Waiter->Irp->UserEvent, 0, FALSE); + Waiter->Irp->UserIosb->Status = FILE_PIPE_CONNECTED_STATE; + Waiter->Irp->UserIosb->Information = 0; + IoCompleteRequest(Waiter->Irp, IO_NO_INCREMENT); + + RemoveEntryList(&Waiter->Entry); + ExFreePool(Waiter); + return; + } + CurrentEntry = CurrentEntry->Flink; + } +} + + NTSTATUS STDCALL NpfsCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp) @@ -164,9 +194,9 @@ NpfsCreate(PDEVICE_OBJECT DeviceObject, ClientFcb->PipeState = SpecialAccess ? 0 : FILE_PIPE_DISCONNECTED_STATE; /* Initialize data list. */ - if (Pipe->InboundQuota) + if (Pipe->OutboundQuota) { - ClientFcb->Data = ExAllocatePool(NonPagedPool, Pipe->InboundQuota); + ClientFcb->Data = ExAllocatePool(NonPagedPool, Pipe->OutboundQuota); if (ClientFcb->Data == NULL) { DPRINT("No memory!\n"); @@ -185,8 +215,8 @@ NpfsCreate(PDEVICE_OBJECT DeviceObject, ClientFcb->ReadPtr = ClientFcb->Data; ClientFcb->WritePtr = ClientFcb->Data; ClientFcb->ReadDataAvailable = 0; - ClientFcb->WriteQuotaAvailable = Pipe->InboundQuota; - ClientFcb->MaxDataLength = Pipe->InboundQuota; + ClientFcb->WriteQuotaAvailable = Pipe->OutboundQuota; + ClientFcb->MaxDataLength = Pipe->OutboundQuota; KeInitializeSpinLock(&ClientFcb->DataListLock); KeInitializeEvent(&ClientFcb->ConnectEvent, SynchronizationEvent, FALSE); KeInitializeEvent(&ClientFcb->Event, SynchronizationEvent, FALSE); @@ -206,9 +236,8 @@ NpfsCreate(PDEVICE_OBJECT DeviceObject, ClientFcb->PipeState = FILE_PIPE_CONNECTED_STATE; ServerFcb->PipeState = FILE_PIPE_CONNECTED_STATE; - /* Wake server thread */ - DPRINT("Setting the ConnectEvent for %x\n", ServerFcb); - KeSetEvent(&ServerFcb->ConnectEvent, 0, FALSE); + /* Signal the server thread and remove it from the waiter list */ + NpfsSignalAndRemoveListeningServerInstance(Pipe, ServerFcb); } KeUnlockMutex(&Pipe->FcbListLock); @@ -318,6 +347,7 @@ NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, InitializeListHead(&Pipe->ServerFcbListHead); InitializeListHead(&Pipe->ClientFcbListHead); + InitializeListHead(&Pipe->WaiterListHead); KeInitializeMutex(&Pipe->FcbListLock, 0); Pipe->PipeType = Buffer->NamedPipeType; @@ -381,9 +411,9 @@ NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, KeUnlockMutex(&DeviceExt->PipeListLock); } - if (Pipe->OutboundQuota) + if (Pipe->InboundQuota) { - Fcb->Data = ExAllocatePool(NonPagedPool, Pipe->OutboundQuota); + Fcb->Data = ExAllocatePool(NonPagedPool, Pipe->InboundQuota); if (Fcb->Data == NULL) { ExFreePool(Fcb); @@ -407,8 +437,8 @@ NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, Fcb->ReadPtr = Fcb->Data; Fcb->WritePtr = Fcb->Data; Fcb->ReadDataAvailable = 0; - Fcb->WriteQuotaAvailable = Pipe->OutboundQuota; - Fcb->MaxDataLength = Pipe->OutboundQuota; + Fcb->WriteQuotaAvailable = Pipe->InboundQuota; + Fcb->MaxDataLength = Pipe->InboundQuota; KeInitializeSpinLock(&Fcb->DataListLock); Pipe->CurrentInstances++; @@ -442,9 +472,8 @@ NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, NTSTATUS STDCALL -NpfsClose( - PDEVICE_OBJECT DeviceObject, - PIRP Irp) +NpfsClose(PDEVICE_OBJECT DeviceObject, + PIRP Irp) { PNPFS_DEVICE_EXTENSION DeviceExt; PIO_STACK_LOCATION IoStack; @@ -493,10 +522,8 @@ NpfsClose( { if (Fcb->OtherSide) { -#ifndef FIN_WORKAROUND_READCLOSE Fcb->OtherSide->PipeState = FILE_PIPE_CLOSING_STATE; Fcb->OtherSide->OtherSide = NULL; -#endif /* * Signaling the write event. If is possible that an other * thread waits for an empty buffer. @@ -504,39 +531,15 @@ NpfsClose( KeSetEvent(&Fcb->OtherSide->Event, IO_NO_INCREMENT, FALSE); } -#ifndef FIN_WORKAROUND_READCLOSE Fcb->PipeState = 0; -#endif } FileObject->FsContext = NULL; -#ifndef FIN_WORKAROUND_READCLOSE RemoveEntryList(&Fcb->FcbListEntry); if (Fcb->Data) ExFreePool(Fcb->Data); ExFreePool(Fcb); -#else - Fcb->PipeState = FILE_PIPE_CLOSING_STATE; - if (Fcb->OtherSide == NULL || - Fcb->OtherSide->PipeState == FILE_PIPE_CLOSING_STATE) - { - if (Server && Fcb->OtherSide != NULL && - Fcb->OtherSide->PipeState == FILE_PIPE_CLOSING_STATE) - { - RemoveEntryList(&Fcb->OtherSide->FcbListEntry); - if (Fcb->OtherSide->Data) - ExFreePool(Fcb->OtherSide->Data); - ExFreePool(Fcb->OtherSide); - } - - RemoveEntryList(&Fcb->FcbListEntry); - if (Fcb->Data) - ExFreePool(Fcb->Data); - - ExFreePool(Fcb); - } -#endif KeUnlockMutex(&Pipe->FcbListLock); diff --git a/reactos/drivers/fs/np/finfo.c b/reactos/drivers/fs/np/finfo.c index ab4bf93b0ee..16cdb00adcc 100644 --- a/reactos/drivers/fs/np/finfo.c +++ b/reactos/drivers/fs/np/finfo.c @@ -2,9 +2,9 @@ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/np/finfo.c + * FILE: drivers/fs/np/finfo.c * PURPOSE: Named pipe filesystem - * PROGRAMMER: Eric Kohl + * PROGRAMMER: Eric Kohl */ /* INCLUDES ******************************************************************/ @@ -36,7 +36,7 @@ NpfsQueryPipeInformation(PDEVICE_OBJECT DeviceObject, // Info->CompletionMode = *BufferLength -= sizeof(FILE_PIPE_INFORMATION); - return(STATUS_SUCCESS); + return STATUS_SUCCESS; } @@ -76,7 +76,7 @@ NpfsQueryLocalPipeInformation(PDEVICE_OBJECT DeviceObject, } *BufferLength -= sizeof(FILE_PIPE_LOCAL_INFORMATION); - return(STATUS_SUCCESS); + return STATUS_SUCCESS; } @@ -93,24 +93,24 @@ NpfsQueryInformation(PDEVICE_OBJECT DeviceObject, PVOID SystemBuffer; ULONG BufferLength; NTSTATUS Status; - + DPRINT("NpfsQueryInformation(DeviceObject %p Irp %p)\n", DeviceObject, Irp); - + IoStack = IoGetCurrentIrpStackLocation (Irp); FileInformationClass = IoStack->Parameters.QueryFile.FileInformationClass; DeviceExtension = DeviceObject->DeviceExtension; FileObject = IoStack->FileObject; Fcb = (PNPFS_FCB)FileObject->FsContext; Pipe = Fcb->Pipe; - + SystemBuffer = Irp->AssociatedIrp.SystemBuffer; BufferLength = IoStack->Parameters.QueryFile.Length; - + DPRINT("Pipe name: %wZ\n", &Pipe->PipeName); DPRINT("FileInformationClass %d\n", FileInformationClass); DPRINT("SystemBuffer %p\n", SystemBuffer); DPRINT("BufferLength %lu\n", BufferLength); - + switch (FileInformationClass) { case FilePipeInformation: @@ -134,7 +134,7 @@ NpfsQueryInformation(PDEVICE_OBJECT DeviceObject, default: Status = STATUS_NOT_SUPPORTED; } - + Irp->IoStatus.Status = Status; if (NT_SUCCESS(Status)) Irp->IoStatus.Information = @@ -142,8 +142,8 @@ NpfsQueryInformation(PDEVICE_OBJECT DeviceObject, else Irp->IoStatus.Information = 0; IoCompleteRequest (Irp, IO_NO_INCREMENT); - - return(Status); + + return Status; } @@ -196,7 +196,7 @@ NpfsSetInformation(PDEVICE_OBJECT DeviceObject, IoCompleteRequest(Irp, IO_NO_INCREMENT); - return(Status); + return Status; } /* EOF */ diff --git a/reactos/drivers/fs/np/fsctrl.c b/reactos/drivers/fs/np/fsctrl.c index 0e8e2633b54..815198974ad 100644 --- a/reactos/drivers/fs/np/fsctrl.c +++ b/reactos/drivers/fs/np/fsctrl.c @@ -2,10 +2,10 @@ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/np/fsctrl.c + * FILE: drivers/fs/np/fsctrl.c * PURPOSE: Named pipe filesystem * PROGRAMMER: David Welch - * Eric Kohl + * Eric Kohl */ /* INCLUDES ******************************************************************/ @@ -18,8 +18,66 @@ /* FUNCTIONS *****************************************************************/ +static VOID +NpfsListeningCancelRoutine(IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + PNPFS_WAITER_ENTRY Waiter; + + DPRINT1("NpfsListeningCancelRoutine() called\n"); + /* FIXME: Not tested. */ + + Waiter = Irp->Tail.Overlay.DriverContext[0]; + + RemoveEntryList(&Waiter->Entry); + ExFreePool(Waiter); + + IoReleaseCancelSpinLock(Irp->CancelIrql); + + Irp->IoStatus.Status = STATUS_CANCELLED; + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, IO_NO_INCREMENT); +} + + static NTSTATUS -NpfsConnectPipe(PNPFS_FCB Fcb) +NpfsAddListeningServerInstance(PIRP Irp, + PNPFS_FCB Fcb) +{ + PNPFS_WAITER_ENTRY Entry; + KIRQL OldIrql; + + Entry = ExAllocatePool(NonPagedPool, sizeof(NPFS_WAITER_ENTRY)); + if (Entry == NULL) + return STATUS_INSUFFICIENT_RESOURCES; + + Entry->Irp = Irp; + Entry->Fcb = Fcb; + InsertTailList(&Fcb->Pipe->WaiterListHead, &Entry->Entry); + + IoAcquireCancelSpinLock(&OldIrql); + if (!Irp->Cancel) + { + Irp->Tail.Overlay.DriverContext[0] = Entry; + IoMarkIrpPending(Irp); + IoSetCancelRoutine(Irp, NpfsListeningCancelRoutine); + IoReleaseCancelSpinLock(OldIrql); + return STATUS_PENDING; + } + /* IRP has already been cancelled */ + IoReleaseCancelSpinLock(OldIrql); + + DPRINT1("FIXME: Remove waiter entry!\n"); + RemoveEntryList(&Entry->Entry); + ExFreePool(Entry); + + return STATUS_CANCELLED; +} + + +static NTSTATUS +NpfsConnectPipe(PIRP Irp, + PNPFS_FCB Fcb) { PNPFS_PIPE Pipe; PLIST_ENTRY current_entry; @@ -88,29 +146,18 @@ NpfsConnectPipe(PNPFS_FCB Fcb) current_entry = current_entry->Flink; } - KeUnlockMutex(&Pipe->FcbListLock); - /* no listening client fcb found */ DPRINT("No listening client fcb found -- waiting for client\n"); Fcb->PipeState = FILE_PIPE_LISTENING_STATE; - Status = KeWaitForSingleObject(&Fcb->ConnectEvent, - UserRequest, - KernelMode, - FALSE, - NULL); - if (!NT_SUCCESS(Status)) - { - DPRINT("KeWaitForSingleObject() failed (Status %lx)\n", Status); - return Status; - } + Status = NpfsAddListeningServerInstance(Irp, Fcb); - Fcb->PipeState = FILE_PIPE_CONNECTED_STATE; + KeUnlockMutex(&Pipe->FcbListLock); - DPRINT("Client Fcb: %p\n", Fcb->OtherSide); + DPRINT("NpfsConnectPipe() done (Status %lx)\n", Status); - return STATUS_PIPE_CONNECTED; + return Status; } @@ -327,7 +374,6 @@ NpfsPeekPipe(PIRP Irp, } - NTSTATUS STDCALL NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject, PIRP Irp) @@ -366,7 +412,7 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject, case FSCTL_PIPE_LISTEN: DPRINT("Connecting pipe %wZ\n", &Pipe->PipeName); - Status = NpfsConnectPipe(Fcb); + Status = NpfsConnectPipe(Irp, Fcb); break; case FSCTL_PIPE_PEEK: @@ -439,12 +485,15 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject, Status = STATUS_UNSUCCESSFUL; } - Irp->IoStatus.Status = Status; - Irp->IoStatus.Information = 0; + if (Status != STATUS_PENDING) + { + Irp->IoStatus.Status = Status; + Irp->IoStatus.Information = 0; + + IoCompleteRequest(Irp, IO_NO_INCREMENT); + } - IoCompleteRequest(Irp, IO_NO_INCREMENT); - - return(Status); + return Status; } diff --git a/reactos/drivers/fs/np/npfs.c b/reactos/drivers/fs/np/npfs.c index 3f447b2b31e..9075ac7d577 100644 --- a/reactos/drivers/fs/np/npfs.c +++ b/reactos/drivers/fs/np/npfs.c @@ -2,7 +2,7 @@ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/np/mount.c + * FILE: drivers/fs/np/mount.c * PURPOSE: Named pipe filesystem * PROGRAMMER: David Welch */ @@ -64,7 +64,7 @@ DriverEntry(PDRIVER_OBJECT DriverObject, if (!NT_SUCCESS(Status)) { DPRINT("Failed to create named pipe device! (Status %x)\n", Status); - return(Status); + return Status; } /* initialize the device object */ @@ -81,7 +81,7 @@ DriverEntry(PDRIVER_OBJECT DriverObject, DeviceExtension->DefaultQuota = 8 * PAGE_SIZE; DeviceExtension->MaxQuota = 64 * PAGE_SIZE; - return(STATUS_SUCCESS); + return STATUS_SUCCESS; } /* EOF */ diff --git a/reactos/drivers/fs/np/npfs.h b/reactos/drivers/fs/np/npfs.h index f7e70f463ca..1038411e2fb 100644 --- a/reactos/drivers/fs/np/npfs.h +++ b/reactos/drivers/fs/np/npfs.h @@ -1,13 +1,7 @@ /* $Id$ */ -#ifndef __SERVICES_FS_NP_NPFS_H -#define __SERVICES_FS_NP_NPFS_H - -/* - * Hacky support for delayed closing of pipes. We need this to support - * reading from pipe the was closed on one end. - */ -#define FIN_WORKAROUND_READCLOSE +#ifndef __DRIVERS_FS_NP_NPFS_H +#define __DRIVERS_FS_NP_NPFS_H typedef struct _NPFS_DEVICE_EXTENSION { @@ -25,6 +19,7 @@ typedef struct _NPFS_PIPE KMUTEX FcbListLock; LIST_ENTRY ServerFcbListHead; LIST_ENTRY ClientFcbListHead; + LIST_ENTRY WaiterListHead; ULONG PipeType; ULONG ReadMode; ULONG WriteMode; @@ -58,6 +53,14 @@ typedef struct _NPFS_FCB KSPIN_LOCK DataListLock; /* Data queue lock */ } NPFS_FCB, *PNPFS_FCB; +typedef struct _NPFS_WAITER_ENTRY +{ + LIST_ENTRY Entry; + PIRP Irp; + PNPFS_PIPE Pipe; + PNPFS_FCB Fcb; +} NPFS_WAITER_ENTRY, *PNPFS_WAITER_ENTRY; + extern NPAGED_LOOKASIDE_LIST NpfsPipeDataLookasideList; @@ -70,8 +73,6 @@ extern NPAGED_LOOKASIDE_LIST NpfsPipeDataLookasideList; #define KeUnlockMutex(x) KeReleaseMutex(x, FALSE); -#define CP DPRINT("\n"); - NTSTATUS STDCALL NpfsCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp); NTSTATUS STDCALL NpfsCreateNamedPipe(PDEVICE_OBJECT DeviceObject, PIRP Irp); @@ -89,4 +90,4 @@ NTSTATUS STDCALL NpfsSetInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp); NTSTATUS STDCALL NpfsQueryVolumeInformation (PDEVICE_OBJECT DeviceObject, PIRP Irp); -#endif /* __SERVICES_FS_NP_NPFS_H */ +#endif /* __DRIVERS_FS_NP_NPFS_H */ diff --git a/reactos/drivers/fs/np/rw.c b/reactos/drivers/fs/np/rw.c index aab1872ff03..5338323c555 100644 --- a/reactos/drivers/fs/np/rw.c +++ b/reactos/drivers/fs/np/rw.c @@ -2,7 +2,7 @@ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/np/rw.c + * FILE: drivers/fs/np/rw.c * PURPOSE: Named pipe filesystem * PROGRAMMER: David Welch */ @@ -16,8 +16,6 @@ #define NDEBUG #include -#define FIN_WORKAROUND_READCLOSE - /* FUNCTIONS *****************************************************************/ #ifndef NDEBUG @@ -60,7 +58,7 @@ NpfsRead(PDEVICE_OBJECT DeviceObject, KIRQL OldIrql; ULONG Information; PNPFS_FCB Fcb; - PNPFS_FCB ReadFcb; + PNPFS_FCB WriterFcb; PNPFS_PIPE Pipe; ULONG Length; PVOID Buffer; @@ -74,21 +72,7 @@ NpfsRead(PDEVICE_OBJECT DeviceObject, FileObject = IoStack->FileObject; Fcb = FileObject->FsContext; Pipe = Fcb->Pipe; - ReadFcb = Fcb->OtherSide; - - if (ReadFcb == NULL) - { - DPRINT("Pipe is NOT connected!\n"); - if (Fcb->PipeState == FILE_PIPE_LISTENING_STATE) - Status = STATUS_PIPE_LISTENING; - else if (Fcb->PipeState == FILE_PIPE_DISCONNECTED_STATE) - Status = STATUS_PIPE_DISCONNECTED; - else - Status = STATUS_PIPE_BROKEN; - Information = 0; - DPRINT("%x\n", Status); - goto done; - } + WriterFcb = Fcb->OtherSide; if (Irp->MdlAddress == NULL) { @@ -98,7 +82,7 @@ NpfsRead(PDEVICE_OBJECT DeviceObject, goto done; } - if (ReadFcb->Data == NULL) + if (Fcb->Data == NULL) { DPRINT("Pipe is NOT readable!\n"); Status = STATUS_UNSUCCESSFUL; @@ -106,31 +90,22 @@ NpfsRead(PDEVICE_OBJECT DeviceObject, goto done; } -#ifdef FIN_WORKAROUND_READCLOSE - if (ReadFcb->ReadDataAvailable == 0 && - ReadFcb->PipeState == FILE_PIPE_CLOSING_STATE) - { - DPRINT("Other end of pipe is closed!\n"); - Status = STATUS_PIPE_BROKEN; - Information = 0; - goto done; - } -#endif - Status = STATUS_SUCCESS; Length = IoStack->Parameters.Read.Length; Information = 0; Buffer = MmGetSystemAddressForMdl(Irp->MdlAddress); - KeAcquireSpinLock(&ReadFcb->DataListLock, &OldIrql); + KeAcquireSpinLock(&Fcb->DataListLock, &OldIrql); while (1) { /* FIXME: check if in blocking mode */ - if (ReadFcb->ReadDataAvailable == 0) + if (Fcb->ReadDataAvailable == 0) { - KeResetEvent(&Fcb->Event); - KeSetEvent(&ReadFcb->Event, IO_NO_INCREMENT, FALSE); - KeReleaseSpinLock(&ReadFcb->DataListLock, OldIrql); + if (Fcb->PipeState == FILE_PIPE_CONNECTED_STATE) + { + KeSetEvent(&WriterFcb->Event, IO_NO_INCREMENT, FALSE); + } + KeReleaseSpinLock(&Fcb->DataListLock, OldIrql); if (Information > 0) { Status = STATUS_SUCCESS; @@ -153,56 +128,45 @@ NpfsRead(PDEVICE_OBJECT DeviceObject, NULL); DPRINT("Finished waiting (%S)! Status: %x\n", Pipe->PipeName.Buffer, Status); -#ifndef FIN_WORKAROUND_READCLOSE - /* - * It's possible that the event was signaled because the - * other side of pipe was closed. - */ - if (Fcb->PipeState != FILE_PIPE_CONNECTED_STATE) - { - DPRINT("PipeState: %x\n", Fcb->PipeState); - Status = STATUS_PIPE_BROKEN; - goto done; - } -#endif - KeAcquireSpinLock(&ReadFcb->DataListLock, &OldIrql); + KeAcquireSpinLock(&Fcb->DataListLock, &OldIrql); } if (Pipe->ReadMode == FILE_PIPE_BYTE_STREAM_MODE) { DPRINT("Byte stream mode\n"); /* Byte stream mode */ - while (Length > 0 && ReadFcb->ReadDataAvailable > 0) + while (Length > 0 && Fcb->ReadDataAvailable > 0) { - CopyLength = RtlRosMin(ReadFcb->ReadDataAvailable, Length); - if (ReadFcb->ReadPtr + CopyLength <= ReadFcb->Data + ReadFcb->MaxDataLength) + CopyLength = RtlRosMin(Fcb->ReadDataAvailable, Length); + if (Fcb->ReadPtr + CopyLength <= Fcb->Data + Fcb->MaxDataLength) { - memcpy(Buffer, ReadFcb->ReadPtr, CopyLength); - ReadFcb->ReadPtr += CopyLength; - if (ReadFcb->ReadPtr == ReadFcb->Data + ReadFcb->MaxDataLength) + memcpy(Buffer, Fcb->ReadPtr, CopyLength); + Fcb->ReadPtr += CopyLength; + if (Fcb->ReadPtr == Fcb->Data + Fcb->MaxDataLength) { - ReadFcb->ReadPtr = ReadFcb->Data; + Fcb->ReadPtr = Fcb->Data; } } else { - TempLength = ReadFcb->Data + ReadFcb->MaxDataLength - ReadFcb->ReadPtr; - memcpy(Buffer, ReadFcb->ReadPtr, TempLength); - memcpy(Buffer + TempLength, ReadFcb->Data, CopyLength - TempLength); - ReadFcb->ReadPtr = ReadFcb->Data + CopyLength - TempLength; + TempLength = Fcb->Data + Fcb->MaxDataLength - Fcb->ReadPtr; + memcpy(Buffer, Fcb->ReadPtr, TempLength); + memcpy(Buffer + TempLength, Fcb->Data, CopyLength - TempLength); + Fcb->ReadPtr = Fcb->Data + CopyLength - TempLength; } Buffer += CopyLength; Length -= CopyLength; Information += CopyLength; - ReadFcb->ReadDataAvailable -= CopyLength; - ReadFcb->WriteQuotaAvailable += CopyLength; + Fcb->ReadDataAvailable -= CopyLength; + Fcb->WriteQuotaAvailable += CopyLength; } if (Length == 0) { - KeSetEvent(&ReadFcb->Event, IO_NO_INCREMENT, FALSE); + KeSetEvent(&WriterFcb->Event, IO_NO_INCREMENT, FALSE); + KeResetEvent(&Fcb->Event); break; } } @@ -211,11 +175,11 @@ NpfsRead(PDEVICE_OBJECT DeviceObject, DPRINT("Message mode\n"); /* Message mode */ - if (ReadFcb->ReadDataAvailable) + if (Fcb->ReadDataAvailable) { /* Truncate the message if the receive buffer is too small */ - CopyLength = RtlRosMin(ReadFcb->ReadDataAvailable, Length); - memcpy(Buffer, ReadFcb->Data, CopyLength); + CopyLength = RtlRosMin(Fcb->ReadDataAvailable, Length); + memcpy(Buffer, Fcb->Data, CopyLength); #ifndef NDEBUG DPRINT("Length %d Buffer %x\n",CopyLength,Buffer); @@ -223,28 +187,34 @@ NpfsRead(PDEVICE_OBJECT DeviceObject, #endif Information = CopyLength; - ReadFcb->ReadDataAvailable = 0; - ReadFcb->WriteQuotaAvailable = ReadFcb->MaxDataLength; + + if (Fcb->ReadDataAvailable > Length) + { + memmove(Fcb->Data, Fcb->Data + Length, + Fcb->ReadDataAvailable - Length); + Fcb->ReadDataAvailable -= Length; + Status = STATUS_MORE_ENTRIES; + } + else + { + Fcb->ReadDataAvailable = 0; + Fcb->WriteQuotaAvailable = Fcb->MaxDataLength; + } } if (Information > 0) { - KeSetEvent(&ReadFcb->Event, IO_NO_INCREMENT, FALSE); + if (Fcb->PipeState == FILE_PIPE_CONNECTED_STATE) + { + KeSetEvent(&WriterFcb->Event, IO_NO_INCREMENT, FALSE); + } + KeResetEvent(&Fcb->Event); break; } } - -#ifdef FIN_WORKAROUND_READCLOSE - if (ReadFcb->ReadDataAvailable == 0 && - ReadFcb->PipeState == FILE_PIPE_CLOSING_STATE) - { - DPRINT("Other end of pipe is closed!\n"); - break; - } -#endif } - KeReleaseSpinLock(&ReadFcb->DataListLock, OldIrql); + KeReleaseSpinLock(&Fcb->DataListLock, OldIrql); done: Irp->IoStatus.Status = Status; @@ -265,6 +235,7 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, PIO_STACK_LOCATION IoStack; PFILE_OBJECT FileObject; PNPFS_FCB Fcb = NULL; + PNPFS_FCB ReaderFcb; PNPFS_PIPE Pipe = NULL; PUCHAR Buffer; NTSTATUS Status = STATUS_SUCCESS; @@ -283,6 +254,7 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, DPRINT("Pipe name %wZ\n", &FileObject->FileName); Fcb = FileObject->FsContext; + ReaderFcb = Fcb->OtherSide; Pipe = Fcb->Pipe; Length = IoStack->Parameters.Write.Length; @@ -297,7 +269,7 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, goto done; } - if (Fcb->OtherSide == NULL) + if (ReaderFcb == NULL) { DPRINT("Pipe is NOT connected!\n"); if (Fcb->PipeState == FILE_PIPE_LISTENING_STATE) @@ -310,7 +282,7 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, goto done; } - if (Fcb->Data == NULL) + if (ReaderFcb->Data == NULL) { DPRINT("Pipe is NOT writable!\n"); Status = STATUS_UNSUCCESSFUL; @@ -321,7 +293,7 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, Status = STATUS_SUCCESS; Buffer = MmGetSystemAddressForMdl (Irp->MdlAddress); - KeAcquireSpinLock(&Fcb->DataListLock, &OldIrql); + KeAcquireSpinLock(&ReaderFcb->DataListLock, &OldIrql); #ifndef NDEBUG DPRINT("Length %d Buffer %x Offset %x\n",Length,Buffer,Offset); HexDump(Buffer, Length); @@ -329,11 +301,10 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, while(1) { - if (Fcb->WriteQuotaAvailable == 0) + if (ReaderFcb->WriteQuotaAvailable == 0) { - KeResetEvent(&Fcb->Event); - KeSetEvent(&Fcb->OtherSide->Event, IO_NO_INCREMENT, FALSE); - KeReleaseSpinLock(&Fcb->DataListLock, OldIrql); + KeSetEvent(&ReaderFcb->Event, IO_NO_INCREMENT, FALSE); + KeReleaseSpinLock(&ReaderFcb->DataListLock, OldIrql); if (Fcb->PipeState != FILE_PIPE_CONNECTED_STATE) { Status = STATUS_PIPE_BROKEN; @@ -348,7 +319,6 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, NULL); DPRINT("Finished waiting (%S)! Status: %x\n", Pipe->PipeName.Buffer, Status); -#ifndef FIN_WORKAROUND_READCLOSE /* * It's possible that the event was signaled because the * other side of pipe was closed. @@ -359,44 +329,44 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, Status = STATUS_PIPE_BROKEN; goto done; } -#endif - KeAcquireSpinLock(&Fcb->DataListLock, &OldIrql); + KeAcquireSpinLock(&ReaderFcb->DataListLock, &OldIrql); } if (Pipe->WriteMode == FILE_PIPE_BYTE_STREAM_MODE) { DPRINT("Byte stream mode\n"); - while (Length > 0 && Fcb->WriteQuotaAvailable > 0) + while (Length > 0 && ReaderFcb->WriteQuotaAvailable > 0) { - CopyLength = RtlRosMin(Length, Fcb->WriteQuotaAvailable); - if (Fcb->WritePtr + CopyLength <= Fcb->Data + Fcb->MaxDataLength) + CopyLength = RtlRosMin(Length, ReaderFcb->WriteQuotaAvailable); + if (ReaderFcb->WritePtr + CopyLength <= ReaderFcb->Data + ReaderFcb->MaxDataLength) { - memcpy(Fcb->WritePtr, Buffer, CopyLength); - Fcb->WritePtr += CopyLength; - if (Fcb->WritePtr == Fcb->Data + Fcb->MaxDataLength) + memcpy(ReaderFcb->WritePtr, Buffer, CopyLength); + ReaderFcb->WritePtr += CopyLength; + if (ReaderFcb->WritePtr == ReaderFcb->Data + ReaderFcb->MaxDataLength) { - Fcb->WritePtr = Fcb->Data; + ReaderFcb->WritePtr = ReaderFcb->Data; } } else { - TempLength = Fcb->Data + Fcb->MaxDataLength - Fcb->WritePtr; - memcpy(Fcb->WritePtr, Buffer, TempLength); - memcpy(Fcb->Data, Buffer + TempLength, CopyLength - TempLength); - Fcb->WritePtr = Fcb->Data + CopyLength - TempLength; + TempLength = ReaderFcb->Data + ReaderFcb->MaxDataLength - ReaderFcb->WritePtr; + memcpy(ReaderFcb->WritePtr, Buffer, TempLength); + memcpy(ReaderFcb->Data, Buffer + TempLength, CopyLength - TempLength); + ReaderFcb->WritePtr = ReaderFcb->Data + CopyLength - TempLength; } Buffer += CopyLength; Length -= CopyLength; Information += CopyLength; - Fcb->ReadDataAvailable += CopyLength; - Fcb->WriteQuotaAvailable -= CopyLength; + ReaderFcb->ReadDataAvailable += CopyLength; + ReaderFcb->WriteQuotaAvailable -= CopyLength; } if (Length == 0) { - KeSetEvent(&Fcb->OtherSide->Event, IO_NO_INCREMENT, FALSE); + KeSetEvent(&ReaderFcb->Event, IO_NO_INCREMENT, FALSE); + KeResetEvent(&Fcb->Event); break; } } @@ -405,23 +375,24 @@ NpfsWrite(PDEVICE_OBJECT DeviceObject, DPRINT("Message mode\n"); if (Length > 0) { - CopyLength = RtlRosMin(Length, Fcb->WriteQuotaAvailable); - memcpy(Fcb->Data, Buffer, CopyLength); + CopyLength = RtlRosMin(Length, ReaderFcb->WriteQuotaAvailable); + memcpy(ReaderFcb->Data, Buffer, CopyLength); Information = CopyLength; - Fcb->ReadDataAvailable = CopyLength; - Fcb->WriteQuotaAvailable = 0; + ReaderFcb->ReadDataAvailable = CopyLength; + ReaderFcb->WriteQuotaAvailable = 0; } if (Information > 0) { - KeSetEvent(&Fcb->OtherSide->Event, IO_NO_INCREMENT, FALSE); + KeSetEvent(&ReaderFcb->Event, IO_NO_INCREMENT, FALSE); + KeResetEvent(&Fcb->Event); break; } } } - KeReleaseSpinLock(&Fcb->DataListLock, OldIrql); + KeReleaseSpinLock(&ReaderFcb->DataListLock, OldIrql); done: Irp->IoStatus.Status = Status; diff --git a/reactos/drivers/fs/np/volume.c b/reactos/drivers/fs/np/volume.c index 1378c8b7914..98314fc8472 100644 --- a/reactos/drivers/fs/np/volume.c +++ b/reactos/drivers/fs/np/volume.c @@ -2,9 +2,9 @@ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel - * FILE: services/fs/npfs/volume.c + * FILE: drivers/fs/npfs/volume.c * PURPOSE: Named pipe filesystem - * PROGRAMMER: Eric Kohl + * PROGRAMMER: Eric Kohl */ /* INCLUDES *****************************************************************/ @@ -23,20 +23,20 @@ static NTSTATUS NpfsQueryFsDeviceInformation(PFILE_FS_DEVICE_INFORMATION FsDeviceInfo, PULONG BufferLength) { - DPRINT("NpfsQueryFsDeviceInformation()\n"); - DPRINT("FsDeviceInfo = %p\n", FsDeviceInfo); - - if (*BufferLength < sizeof(FILE_FS_DEVICE_INFORMATION)) - return(STATUS_BUFFER_OVERFLOW); - - FsDeviceInfo->DeviceType = FILE_DEVICE_NAMED_PIPE; - FsDeviceInfo->Characteristics = 0; - - *BufferLength -= sizeof(FILE_FS_DEVICE_INFORMATION); - - DPRINT("NpfsQueryFsDeviceInformation() finished.\n"); - - return(STATUS_SUCCESS); + DPRINT("NpfsQueryFsDeviceInformation()\n"); + DPRINT("FsDeviceInfo = %p\n", FsDeviceInfo); + + if (*BufferLength < sizeof(FILE_FS_DEVICE_INFORMATION)) + return STATUS_BUFFER_OVERFLOW; + + FsDeviceInfo->DeviceType = FILE_DEVICE_NAMED_PIPE; + FsDeviceInfo->Characteristics = 0; + + *BufferLength -= sizeof(FILE_FS_DEVICE_INFORMATION); + + DPRINT("NpfsQueryFsDeviceInformation() finished.\n"); + + return STATUS_SUCCESS; } @@ -44,22 +44,22 @@ static NTSTATUS NpfsQueryFsAttributeInformation(PFILE_FS_ATTRIBUTE_INFORMATION FsAttributeInfo, PULONG BufferLength) { - DPRINT("NpfsQueryFsAttributeInformation() called.\n"); - DPRINT("FsAttributeInfo = %p\n", FsAttributeInfo); - - if (*BufferLength < sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + 8) - return(STATUS_BUFFER_OVERFLOW); - - FsAttributeInfo->FileSystemAttributes = FILE_CASE_PRESERVED_NAMES; - FsAttributeInfo->MaximumComponentNameLength = 255; - FsAttributeInfo->FileSystemNameLength = 8; - wcscpy(FsAttributeInfo->FileSystemName, - L"NPFS"); - - DPRINT("NpfsQueryFsAttributeInformation() finished.\n"); - *BufferLength -= (sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + 8); - - return(STATUS_SUCCESS); + DPRINT("NpfsQueryFsAttributeInformation() called.\n"); + DPRINT("FsAttributeInfo = %p\n", FsAttributeInfo); + + if (*BufferLength < sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + 8) + return STATUS_BUFFER_OVERFLOW; + + FsAttributeInfo->FileSystemAttributes = FILE_CASE_PRESERVED_NAMES; + FsAttributeInfo->MaximumComponentNameLength = 255; + FsAttributeInfo->FileSystemNameLength = 8; + wcscpy(FsAttributeInfo->FileSystemName, + L"NPFS"); + + DPRINT("NpfsQueryFsAttributeInformation() finished.\n"); + *BufferLength -= (sizeof(FILE_FS_ATTRIBUTE_INFORMATION) + 8); + + return STATUS_SUCCESS; } @@ -67,54 +67,53 @@ NTSTATUS STDCALL NpfsQueryVolumeInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp) { - PIO_STACK_LOCATION Stack; - FS_INFORMATION_CLASS FsInformationClass; - NTSTATUS Status = STATUS_SUCCESS; - PVOID SystemBuffer; - ULONG BufferLength; - - /* PRECONDITION */ - assert(DeviceObject != NULL); - assert(Irp != NULL); - - DPRINT("NpfsQueryVolumeInformation(DeviceObject %x, Irp %x)\n", - DeviceObject, - Irp); - - Stack = IoGetCurrentIrpStackLocation (Irp); - FsInformationClass = Stack->Parameters.QueryVolume.FsInformationClass; - BufferLength = Stack->Parameters.QueryVolume.Length; - SystemBuffer = Irp->AssociatedIrp.SystemBuffer; - - DPRINT("FsInformationClass %d\n", FsInformationClass); - DPRINT("SystemBuffer %x\n", SystemBuffer); - - switch (FsInformationClass) - { - case FileFsDeviceInformation: - Status = NpfsQueryFsDeviceInformation(SystemBuffer, - &BufferLength); - break; - - case FileFsAttributeInformation: - Status = NpfsQueryFsAttributeInformation(SystemBuffer, - &BufferLength); - break; - - default: - Status = STATUS_NOT_SUPPORTED; - } - - Irp->IoStatus.Status = Status; - if (NT_SUCCESS(Status)) - Irp->IoStatus.Information = - Stack->Parameters.QueryVolume.Length - BufferLength; - else - Irp->IoStatus.Information = 0; - IoCompleteRequest(Irp, - IO_NO_INCREMENT); - - return(Status); + PIO_STACK_LOCATION Stack; + FS_INFORMATION_CLASS FsInformationClass; + NTSTATUS Status = STATUS_SUCCESS; + PVOID SystemBuffer; + ULONG BufferLength; + + /* PRECONDITION */ + ASSERT(DeviceObject != NULL); + ASSERT(Irp != NULL); + + DPRINT("NpfsQueryVolumeInformation(DeviceObject %x, Irp %x)\n", + DeviceObject, + Irp); + + Stack = IoGetCurrentIrpStackLocation(Irp); + FsInformationClass = Stack->Parameters.QueryVolume.FsInformationClass; + BufferLength = Stack->Parameters.QueryVolume.Length; + SystemBuffer = Irp->AssociatedIrp.SystemBuffer; + + DPRINT("FsInformationClass %d\n", FsInformationClass); + DPRINT("SystemBuffer %x\n", SystemBuffer); + + switch (FsInformationClass) + { + case FileFsDeviceInformation: + Status = NpfsQueryFsDeviceInformation(SystemBuffer, + &BufferLength); + break; + + case FileFsAttributeInformation: + Status = NpfsQueryFsAttributeInformation(SystemBuffer, + &BufferLength); + break; + + default: + Status = STATUS_NOT_SUPPORTED; + } + + Irp->IoStatus.Status = Status; + if (NT_SUCCESS(Status)) + Irp->IoStatus.Information = Stack->Parameters.QueryVolume.Length - BufferLength; + else + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, + IO_NO_INCREMENT); + + return Status; } /* EOF */ diff --git a/reactos/drivers/fs/ntfs/fcb.c b/reactos/drivers/fs/ntfs/fcb.c index 31029adf4e7..db792775027 100644 --- a/reactos/drivers/fs/ntfs/fcb.c +++ b/reactos/drivers/fs/ntfs/fcb.c @@ -155,7 +155,11 @@ NtfsReleaseFCB(PDEVICE_EXTENSION Vcb, if (Fcb->RefCount <= 0 && !NtfsFCBIsDirectory(Fcb)) { RemoveEntryList(&Fcb->FcbListEntry); +#ifdef USE_ROS_CC_AND_FS CcRosReleaseFileCache(Fcb->FileObject); +#else + CcUninitializeCacheMap (Fcb->FileObject, NULL, NULL); +#endif NtfsDestroyFCB(Fcb); } KeReleaseSpinLock(&Vcb->FcbListLock, oldIrql); @@ -241,7 +245,7 @@ NtfsFCBInitializeCache(PVCB Vcb, newCCB->PtrFileObject = FileObject; Fcb->FileObject = FileObject; Fcb->DevExt = Vcb; - +#ifdef ROS_USE_CC_AND_FS Status = CcRosInitializeFileCache(FileObject, CACHEPAGESIZE(Vcb)); if (!NT_SUCCESS(Status)) @@ -249,7 +253,14 @@ NtfsFCBInitializeCache(PVCB Vcb, DbgPrint("CcRosInitializeFileCache failed\n"); KEBUGCHECK(0); } - +#else + Status = STATUS_SUCCESS; + CcInitializeCacheMap(FileObject, + (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize), + FALSE, + NULL, + NULL); +#endif ObDereferenceObject(FileObject); Fcb->Flags |= FCB_CACHE_INITIALIZED; @@ -394,7 +405,6 @@ NtfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, PFCB Fcb, PFILE_OBJECT FileObject) { - NTSTATUS Status; PCCB newCCB; newCCB = ExAllocatePoolWithTag(NonPagedPool, sizeof(CCB), TAG_CCB); @@ -412,6 +422,8 @@ NtfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, if (!(Fcb->Flags & FCB_CACHE_INITIALIZED)) { +#ifdef ROS_USE_CC_AND_FS + NTSTATUS Status; Status = CcRosInitializeFileCache(FileObject, CACHEPAGESIZE(Vcb)); if (!NT_SUCCESS(Status)) @@ -419,6 +431,13 @@ NtfsAttachFCBToFileObject(PDEVICE_EXTENSION Vcb, DbgPrint("CcRosInitializeFileCache failed\n"); KEBUGCHECK(0); } +#else + CcInitializeCacheMap(FileObject, + (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize), + FALSE, + NULL, + NULL); +#endif Fcb->Flags |= FCB_CACHE_INITIALIZED; } diff --git a/reactos/drivers/fs/ntfs/fsctl.c b/reactos/drivers/fs/ntfs/fsctl.c index 41071faaf20..4093cd55195 100644 --- a/reactos/drivers/fs/ntfs/fsctl.c +++ b/reactos/drivers/fs/ntfs/fsctl.c @@ -387,7 +387,7 @@ NtfsMountVolume(PDEVICE_OBJECT DeviceObject, // Fcb->Entry.ExtentLocationL = 0; // Fcb->Entry.DataLengthL = DeviceExt->CdInfo.VolumeSpaceSize * BLOCKSIZE; - +#ifdef ROS_USE_CC_AND_FS Status = CcRosInitializeFileCache(DeviceExt->StreamFileObject, CACHEPAGESIZE(DeviceExt)); if (!NT_SUCCESS (Status)) @@ -395,7 +395,13 @@ NtfsMountVolume(PDEVICE_OBJECT DeviceObject, DbgPrint("CcRosInitializeFileCache() failed (Status %lx)\n", Status); goto ByeBye; } - +#else + CcInitializeCacheMap(DeviceExt->StreamFileObject, + (PCC_FILE_SIZES)(&Fcb->RFCB.AllocationSize), + FALSE, + NULL, + NULL); +#endif ExInitializeResourceLite(&DeviceExt->DirResource); // ExInitializeResourceLite(&DeviceExt->FatResource); diff --git a/reactos/drivers/fs/ntfs/ntfs.h b/reactos/drivers/fs/ntfs/ntfs.h index 35121155a26..9c94cef55ab 100644 --- a/reactos/drivers/fs/ntfs/ntfs.h +++ b/reactos/drivers/fs/ntfs/ntfs.h @@ -3,6 +3,8 @@ #include +#define USE_ROS_CC_AND_FS + #define CACHEPAGESIZE(pDeviceExt) \ ((pDeviceExt)->NtfsInfo.BytesPerCluster > PAGE_SIZE ? \ diff --git a/reactos/drivers/fs/vfat/blockdev.c b/reactos/drivers/fs/vfat/blockdev.c index a653fe89567..f2e92d368ee 100644 --- a/reactos/drivers/fs/vfat/blockdev.c +++ b/reactos/drivers/fs/vfat/blockdev.c @@ -15,7 +15,7 @@ /* FUNCTIONS ***************************************************************/ -NTSTATUS STDCALL +static NTSTATUS STDCALL VfatReadWritePartialCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) @@ -272,9 +272,9 @@ VfatWriteDiskPartial (IN PVFAT_IRP_CONTEXT IrpContext, NTSTATUS VfatBlockDeviceIoControl (IN PDEVICE_OBJECT DeviceObject, IN ULONG CtlCode, - IN PVOID InputBuffer, + IN PVOID InputBuffer OPTIONAL, IN ULONG InputBufferSize, - IN OUT PVOID OutputBuffer, + IN OUT PVOID OutputBuffer OPTIONAL, IN OUT PULONG OutputBufferSize, IN BOOLEAN Override) { diff --git a/reactos/drivers/fs/vfat/create.c b/reactos/drivers/fs/vfat/create.c index d11001574c1..6ff28258bec 100644 --- a/reactos/drivers/fs/vfat/create.c +++ b/reactos/drivers/fs/vfat/create.c @@ -186,7 +186,7 @@ FindFile (PDEVICE_EXTENSION DeviceExt, */ { PWCHAR PathNameBuffer; - ULONG PathNameBufferLength; + USHORT PathNameBufferLength; NTSTATUS Status; PVOID Context = NULL; PVOID Page; diff --git a/reactos/drivers/fs/vfat/dir.c b/reactos/drivers/fs/vfat/dir.c index 064ff79e373..03237ae779a 100644 --- a/reactos/drivers/fs/vfat/dir.c +++ b/reactos/drivers/fs/vfat/dir.c @@ -33,7 +33,7 @@ FsdDosDateTimeToSystemTime (PDEVICE_EXTENSION DeviceExt, USHORT DosDate, USHORT TimeFields.Day = pddate->Day; TimeFields.Month = pddate->Month; - TimeFields.Year = DeviceExt->BaseDateYear + pddate->Year; + TimeFields.Year = (CSHORT)(DeviceExt->BaseDateYear + pddate->Year); RtlTimeFieldsToTime (&TimeFields, &LocalTime); ExLocalTimeToSystemTime(&LocalTime, SystemTime); @@ -261,7 +261,7 @@ VfatGetFileBothInformation (PVFAT_DIRENTRY_CONTEXT DirContext, pInfo->NextEntryOffset = ULONG_ROUND_UP (sizeof (FILE_BOTH_DIR_INFORMATION) + DirContext->LongNameU.Length); RtlCopyMemory(pInfo->ShortName, DirContext->ShortNameU.Buffer, DirContext->ShortNameU.Length); - pInfo->ShortNameLength = DirContext->ShortNameU.Length; + pInfo->ShortNameLength = (CCHAR)DirContext->ShortNameU.Length; RtlCopyMemory (pInfo->FileName, DirContext->LongNameU.Buffer, DirContext->LongNameU.Length); // pInfo->FileIndex=; FsdDosDateTimeToSystemTime (DeviceExt, DirContext->DirEntry.Fat.CreationDate, diff --git a/reactos/drivers/fs/vfat/dirwr.c b/reactos/drivers/fs/vfat/dirwr.c index b907f3bec91..37edd61b46e 100644 --- a/reactos/drivers/fs/vfat/dirwr.c +++ b/reactos/drivers/fs/vfat/dirwr.c @@ -45,7 +45,7 @@ VfatUpdateEntry (PVFATFCB pFcb) return STATUS_SUCCESS; } - ASSERT (pFcb->parrentFcb); + ASSERT (pFcb->parentFcb); Offset.u.HighPart = 0; Offset.u.LowPart = dirIndex * SizeDirEntry; diff --git a/reactos/drivers/fs/vfat/fcb.c b/reactos/drivers/fs/vfat/fcb.c index ecffdcbb68e..aa44814149e 100644 --- a/reactos/drivers/fs/vfat/fcb.c +++ b/reactos/drivers/fs/vfat/fcb.c @@ -72,7 +72,7 @@ vfatSplitPathName(PUNICODE_STRING PathNameU, PUNICODE_STRING DirNameU, PUNICODE_ VOID vfatInitFcb(PVFATFCB Fcb, PUNICODE_STRING NameU) { - ULONG PathNameBufferLength; + USHORT PathNameBufferLength; if (NameU) PathNameBufferLength = NameU->Length + sizeof(WCHAR); @@ -460,7 +460,7 @@ vfatMakeFCBFromDirEntry(PVCB vcb, { PVFATFCB rcFCB; PWCHAR PathNameBuffer; - ULONG PathNameLength; + USHORT PathNameLength; ULONG Size; ULONG hash; @@ -583,7 +583,7 @@ vfatAttachFCBToFileObject (PDEVICE_EXTENSION vcb, fileObject->SectionObjectPointer = &fcb->SectionObjectPointers; fileObject->FsContext = fcb; fileObject->FsContext2 = newCCB; - DPRINT ("file open: fcb:%x PathName:%wZ file size: %d\n", fcb, &fcb->PathNameU, fcb->entry.FileSize); + DPRINT ("file open: fcb:%x PathName:%wZ\n", fcb, &fcb->PathNameU); return STATUS_SUCCESS; } diff --git a/reactos/drivers/fs/vfat/fsctl.c b/reactos/drivers/fs/vfat/fsctl.c index 0a797c76075..eb22588f2ca 100644 --- a/reactos/drivers/fs/vfat/fsctl.c +++ b/reactos/drivers/fs/vfat/fsctl.c @@ -109,8 +109,8 @@ VfatHasFileSystem(PDEVICE_OBJECT DeviceToMount, } else if (DiskGeometry.MediaType == RemovableMedia && PartitionInfo.PartitionNumber > 0 && - PartitionInfo.StartingOffset.QuadPart == 0LL && - PartitionInfo.PartitionLength.QuadPart > 0LL) + PartitionInfo.StartingOffset.QuadPart == 0 && + PartitionInfo.PartitionLength.QuadPart > 0) { /* This is possible a removable media formated as super floppy */ *RecognizedFS = TRUE; @@ -298,7 +298,7 @@ VfatHasFileSystem(PDEVICE_OBJECT DeviceToMount, FatInfo.SectorsPerCluster = BootFatX->SectorsPerCluster; FatInfo.rootDirectorySectors = BootFatX->SectorsPerCluster; FatInfo.BytesPerCluster = BootFatX->SectorsPerCluster * DiskGeometry.BytesPerSector; - FatInfo.Sectors = PartitionInfo.PartitionLength.QuadPart / DiskGeometry.BytesPerSector; + FatInfo.Sectors = (ULONG)(PartitionInfo.PartitionLength.QuadPart / DiskGeometry.BytesPerSector); if (FatInfo.Sectors / FatInfo.SectorsPerCluster < 65525) { DPRINT("FATX16\n"); diff --git a/reactos/drivers/fs/vfat/rw.c b/reactos/drivers/fs/vfat/rw.c index 6851681dbde..01b875bbb6e 100644 --- a/reactos/drivers/fs/vfat/rw.c +++ b/reactos/drivers/fs/vfat/rw.c @@ -12,13 +12,7 @@ /* INCLUDES *****************************************************************/ -#include -#include -#include - #define NDEBUG -#include - #include "vfat.h" /* @@ -728,7 +722,7 @@ VfatRead(PVFAT_IRP_CONTEXT IrpContext) { DPRINT("VfatReadFile returned STATUS_VERIFY_REQUIRED\n"); DeviceToVerify = IoGetDeviceToVerify(PsGetCurrentThread()); - IoSetDeviceToVerify(PsGetCurrentThread(), NULL); + IoSetDeviceToVerify(PsGetCurrentThread(), DeviceToVerify); Status = IoVerifyVolume (DeviceToVerify, FALSE); if (NT_SUCCESS(Status)) diff --git a/reactos/drivers/fs/vfat/shutdown.c b/reactos/drivers/fs/vfat/shutdown.c index 37e95be3da4..9feaeaa97fc 100644 --- a/reactos/drivers/fs/vfat/shutdown.c +++ b/reactos/drivers/fs/vfat/shutdown.c @@ -14,6 +14,34 @@ /* FUNCTIONS ****************************************************************/ +NTSTATUS +VfatDiskShutDown(PVCB Vcb) +{ + PIRP Irp; + KEVENT Event; + NTSTATUS Status; + IO_STATUS_BLOCK IoStatus; + + KeInitializeEvent(&Event, NotificationEvent, FALSE); + Irp = IoBuildSynchronousFsdRequest(IRP_MJ_SHUTDOWN, Vcb->StorageDevice, + NULL, 0, NULL, &Event, &IoStatus); + if (Irp) + { + Status = IoCallDriver(Vcb->StorageDevice, Irp); + if (Status == STATUS_PENDING) + { + KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL); + Status = IoStatus.Status; + } + } + else + { + Status = IoStatus.Status; + } + + return Status; +} + NTSTATUS STDCALL VfatShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp) { @@ -37,15 +65,24 @@ VfatShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp) ExAcquireResourceExclusiveLite(&DeviceExt->DirResource, TRUE); Status = VfatFlushVolume(DeviceExt, DeviceExt->VolumeFcb); - ExReleaseResourceLite(&DeviceExt->DirResource); - if (!NT_SUCCESS(Status)) - { + if (NT_SUCCESS(Status)) + { + Status = VfatDiskShutDown(DeviceExt); + if (!NT_SUCCESS(Status)) + DPRINT1("VfatDiskShutDown failed, status = %x\n", Status); + } + else + { DPRINT1("VfatFlushVolume failed, status = %x\n", Status); - Irp->IoStatus.Status = Status; } + ExReleaseResourceLite(&DeviceExt->DirResource); + /* FIXME: Unmount the logical volume */ + + if (!NT_SUCCESS(Status)) + Irp->IoStatus.Status = Status; } - ExReleaseResourceLite(&VfatGlobalData->VolumeListLock); + ExReleaseResourceLite(&VfatGlobalData->VolumeListLock); /* FIXME: Free all global acquired resources */ @@ -53,13 +90,13 @@ VfatShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp) } else { + Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST; Status = STATUS_INVALID_DEVICE_REQUEST; } - Irp->IoStatus.Status = Status; Irp->IoStatus.Information = 0; - IoCompleteRequest(Irp, IO_NO_INCREMENT); + return(Status); } diff --git a/reactos/drivers/fs/vfat/vfat.h b/reactos/drivers/fs/vfat/vfat.h index 7f14a207daa..ed42a31e70e 100644 --- a/reactos/drivers/fs/vfat/vfat.h +++ b/reactos/drivers/fs/vfat/vfat.h @@ -28,6 +28,7 @@ typedef struct _ROS_QUERY_LCN_MAPPING { LARGE_INTEGER LcnDiskOffset; } ROS_QUERY #define ROUND_UP(N, S) ((((N) + (S) - 1) / (S)) * (S)) #define ROUND_DOWN(N, S) ((N) - ((N) % (S))) +#include struct _BootSector { unsigned char magic0, res0, magic1; @@ -45,7 +46,7 @@ struct _BootSector unsigned char VolumeLabel[11], SysType[8]; unsigned char Res2[448]; unsigned short Signatur1; -} __attribute__((packed)); +}; struct _BootSector32 { @@ -73,7 +74,7 @@ struct _BootSector32 unsigned char VolumeLabel[11], SysType[8]; // 71 unsigned char Res2[420]; // 90 unsigned short Signature1; // 510 -} __attribute__((packed)); +}; struct _BootSectorFatX { @@ -83,7 +84,7 @@ struct _BootSectorFatX unsigned short FATCount; // 12 unsigned long Unknown; // 14 unsigned char Unused[4078]; // 18 -} __attribute__((packed)); +}; struct _FsInfoSector { @@ -94,10 +95,61 @@ struct _FsInfoSector unsigned long NextCluster; // 492 unsigned char Res7[12]; // 496 unsigned long Signatur2; // 508 -} __attribute__((packed)); +}; typedef struct _BootSector BootSector; +struct _FATDirEntry +{ + union + { + struct { unsigned char Filename[8], Ext[3]; }; + unsigned char ShortName[11]; + }; + unsigned char Attrib; + unsigned char lCase; + unsigned char CreationTimeMs; + unsigned short CreationTime,CreationDate,AccessDate; + unsigned short FirstClusterHigh; // higher + unsigned short UpdateTime; //time create/update + unsigned short UpdateDate; //date create/update + unsigned short FirstCluster; + unsigned long FileSize; +}; + +typedef struct _FATDirEntry FAT_DIR_ENTRY, *PFAT_DIR_ENTRY; + +struct _FATXDirEntry +{ + unsigned char FilenameLength; // 0 + unsigned char Attrib; // 1 + unsigned char Filename[42]; // 2 + unsigned long FirstCluster; // 44 + unsigned long FileSize; // 48 + unsigned short UpdateTime; // 52 + unsigned short UpdateDate; // 54 + unsigned short CreationTime; // 56 + unsigned short CreationDate; // 58 + unsigned short AccessTime; // 60 + unsigned short AccessDate; // 62 +}; + +struct _slot +{ + unsigned char id; // sequence number for slot + WCHAR name0_4[5]; // first 5 characters in name + unsigned char attr; // attribute byte + unsigned char reserved; // always 0 + unsigned char alias_checksum; // checksum for 8.3 alias + WCHAR name5_10[6]; // 6 more characters in name + unsigned char start[2]; // starting cluster number + WCHAR name11_12[2]; // last 2 characters in name +}; + +typedef struct _slot slot; + +#include + #define VFAT_CASE_LOWER_BASE 8 // base is lower case #define VFAT_CASE_LOWER_EXT 16 // extension is lower case @@ -120,37 +172,6 @@ typedef struct _BootSector BootSector; #define FAT_ENTRIES_PER_PAGE (PAGE_SIZE / sizeof (FAT_DIR_ENTRY)) #define FATX_ENTRIES_PER_PAGE (PAGE_SIZE / sizeof (FATX_DIR_ENTRY)) -struct _FATDirEntry -{ - unsigned char Filename[8], Ext[3]; - unsigned char Attrib; - unsigned char lCase; - unsigned char CreationTimeMs; - unsigned short CreationTime,CreationDate,AccessDate; - unsigned short FirstClusterHigh; // higher - unsigned short UpdateTime; //time create/update - unsigned short UpdateDate; //date create/update - unsigned short FirstCluster; - unsigned long FileSize; -} __attribute__((packed)); - -typedef struct _FATDirEntry FAT_DIR_ENTRY, *PFAT_DIR_ENTRY; - -struct _FATXDirEntry -{ - unsigned char FilenameLength; // 0 - unsigned char Attrib; // 1 - unsigned char Filename[42]; // 2 - unsigned long FirstCluster; // 44 - unsigned long FileSize; // 48 - unsigned short UpdateTime; // 52 - unsigned short UpdateDate; // 54 - unsigned short CreationTime; // 56 - unsigned short CreationDate; // 58 - unsigned short AccessTime; // 60 - unsigned short AccessDate; // 62 -} __attribute__((packed)); - typedef struct _FATXDirEntry FATX_DIR_ENTRY, *PFATX_DIR_ENTRY; union _DIR_ENTRY @@ -161,21 +182,6 @@ union _DIR_ENTRY typedef union _DIR_ENTRY DIR_ENTRY, *PDIR_ENTRY; -struct _slot -{ - unsigned char id; // sequence number for slot - WCHAR name0_4[5]; // first 5 characters in name - unsigned char attr; // attribute byte - unsigned char reserved; // always 0 - unsigned char alias_checksum; // checksum for 8.3 alias - WCHAR name5_10[6]; // 6 more characters in name - unsigned char start[2]; // starting cluster number - WCHAR name11_12[2]; // last 2 characters in name -} __attribute__((packed)); - - -typedef struct _slot slot; - #define BLOCKSIZE 512 #define FAT16 (1) diff --git a/reactos/drivers/fs/vfat/volume.c b/reactos/drivers/fs/vfat/volume.c index 3ed1ad22c63..5204c3a648d 100644 --- a/reactos/drivers/fs/vfat/volume.c +++ b/reactos/drivers/fs/vfat/volume.c @@ -204,7 +204,7 @@ FsdSetFsLabelInformation(PDEVICE_OBJECT DeviceObject, LabelLen = FsLabelInfo->VolumeLabelLength / sizeof(WCHAR); RtlZeroMemory(&VolumeLabelDirEntry, SizeDirEntry); StringW.Buffer = FsLabelInfo->VolumeLabel; - StringW.Length = StringW.MaximumLength = FsLabelInfo->VolumeLabelLength; + StringW.Length = StringW.MaximumLength = (USHORT)FsLabelInfo->VolumeLabelLength; StringO.Buffer = cString; StringO.Length = 0; StringO.MaximumLength = 42; @@ -288,7 +288,7 @@ FsdSetFsLabelInformation(PDEVICE_OBJECT DeviceObject, } /* Update volume label in memory */ - DeviceObject->Vpb->VolumeLabelLength = FsLabelInfo->VolumeLabelLength; + DeviceObject->Vpb->VolumeLabelLength = (USHORT)FsLabelInfo->VolumeLabelLength; RtlCopyMemory(DeviceObject->Vpb->VolumeLabel, FsLabelInfo->VolumeLabel, DeviceObject->Vpb->VolumeLabelLength); return Status; diff --git a/reactos/drivers/lib/ip/transport/tcp/event.c b/reactos/drivers/lib/ip/transport/tcp/event.c index d22ed771af8..7cac669418e 100644 --- a/reactos/drivers/lib/ip/transport/tcp/event.c +++ b/reactos/drivers/lib/ip/transport/tcp/event.c @@ -10,8 +10,6 @@ #include "precomp.h" -extern VOID DrainSignals(); - int TCPSocketState(void *ClientData, void *WhichSocket, void *WhichConnection, @@ -32,10 +30,9 @@ int TCPSocketState(void *ClientData, if( !Connection ) { TI_DbgPrint(DEBUG_TCP,("Socket closing.\n")); Connection = FileFindConnectionByContext( WhichSocket ); - if( !Connection ) { - TcpipRecursiveMutexLeave( &TCPLock ); + if( !Connection ) return 0; - } else + else TI_DbgPrint(DEBUG_TCP,("Found socket %x\n", Connection)); } diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/select.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/select.h index 18d3fc6b663..128c5e72cdd 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/select.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/select.h @@ -40,18 +40,13 @@ struct listener_mgr; #endif -/* - * Used to maintain information about processes that wish to be - * notified when I/O becomes possible. - */ -struct selinfo { -#if defined(OSKIT) - struct listener_mgr *si_sel; -#endif /* OSKIT */ - pid_t si_pid; /* process to be notified */ - short si_flags; /* see below */ -}; -#define SI_COLL 0x0001 /* collision occurred */ +/* Included to suppress warnings about struct socket being declared in the + * parameter list. Selinfo reoredered with struct socket. */ + +struct selinfo; +struct socket; + +#include #ifdef KERNEL struct proc; diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h index 5afe34897af..ab007da6433 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/socketvar.h @@ -40,6 +40,25 @@ #include /* for struct filedesc */ #include /* for struct selinfo */ +/* Warning suppression */ +struct sockaddr; + +/* + * Used to maintain information about processes that wish to be + * notified when I/O becomes possible. + * + * Moved from sys/select.h and replaced with an #include. + */ +struct selinfo { +#if defined(OSKIT) + struct listener_mgr *si_sel; +#endif /* OSKIT */ + pid_t si_pid; /* process to be notified */ + short si_flags; /* see below */ +}; +#define SI_COLL 0x0001 /* collision occurred */ + + /* * Kernel structure per socket. * Contains send and receive buffer queues, diff --git a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/systm.h b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/systm.h index 5203cd64ee4..a4216674c13 100644 --- a/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/systm.h +++ b/reactos/drivers/lib/oskittcp/include/freebsd/src/sys/sys/systm.h @@ -125,9 +125,11 @@ void printf __P((const char *, ...)); #include #include + int __cdecl vprintf(const char *, va_list); -static inline int log ( int blah, const char* fmt, ... ) +#define log bsd_log +static inline int bsd_log ( int blah, const char* fmt, ... ) { va_list arg; int i; diff --git a/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c b/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c index 7d0f36b311c..233835bf9d2 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/in_pcb.c @@ -312,7 +312,7 @@ in_pcbladdr(inp, nam, plocal_sin) * Don't do pcblookup call here; return interface in plocal_sin * and exit to caller, that will do the lookup. */ - *plocal_sin = ia->ia_ifa.ifa_addr; + *plocal_sin = (struct sockaddr_in *)ia->ia_ifa.ifa_addr; OS_DbgPrint(OSK_MID_TRACE,("plocal sin %x\n", (*plocal_sin)->sin_addr.s_addr)); diff --git a/reactos/drivers/lib/oskittcp/oskittcp/interface.c b/reactos/drivers/lib/oskittcp/oskittcp/interface.c index 5d9bb3bf70c..1680944239c 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/interface.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/interface.c @@ -120,6 +120,9 @@ int OskitTCPSocket( void *context, so->so_connection = context; so->so_state = SS_NBIO; so->so_error = 0; + so->so_q = so->so_q0 = NULL; + so->so_qlen = 0; + so->so_head = NULL; *aso = so; } return error; @@ -362,7 +365,7 @@ int OskitTCPAccept( void *socket, */ so = head->so_q; - inp = so ? so->so_pcb : 0; + inp = so ? (struct inpcb *)so->so_pcb : NULL; if( inp ) { ((struct sockaddr_in *)AddrOut)->sin_addr.s_addr = inp->inp_faddr.s_addr; @@ -377,14 +380,16 @@ int OskitTCPAccept( void *socket, *newso = so; /*so->so_state &= ~SS_COMP;*/ - so->so_q = NULL; - mnam.m_data = &sa; + mnam.m_data = (char *)&sa; mnam.m_len = sizeof(sa); (void) soaccept(so, &mnam); so->so_state = SS_NBIO | SS_ISCONNECTED; + so->so_q = so->so_q0 = NULL; + so->so_qlen = 0; + so->so_head = 0; OS_DbgPrint(OSK_MID_TRACE,("error = %d\n", error)); if (name) { @@ -447,7 +452,7 @@ void OskitTCPSetAddress( void *socket, OSK_UINT RemoteAddress, OSK_UI16 RemotePort ) { struct socket *so = socket; - struct inpcb *inp = so->so_pcb; + struct inpcb *inp = (struct inpcb *)so->so_pcb; inp->inp_laddr.s_addr = LocalAddress; inp->inp_lport = LocalPort; inp->inp_faddr.s_addr = RemoteAddress; @@ -460,7 +465,7 @@ void OskitTCPGetAddress( void *socket, OSK_UINT *RemoteAddress, OSK_UI16 *RemotePort ) { struct socket *so = socket; - struct inpcb *inp = so ? so->so_pcb : 0; + struct inpcb *inp = so ? (struct inpcb *)so->so_pcb : NULL; if( inp ) { *LocalAddress = inp->inp_laddr.s_addr; *LocalPort = inp->inp_lport; @@ -584,7 +589,7 @@ struct ifaddr *ifa_ifwithnet(addr) if( ifaddr ) { - sin = (struct sockaddr *)&ifaddr->ifa_addr; + sin = (struct sockaddr_in *)&ifaddr->ifa_addr; OS_DbgPrint(OSK_MID_TRACE,("ifaddr->addr = %x\n", sin->sin_addr.s_addr)); diff --git a/reactos/drivers/lib/oskittcp/oskittcp/route.c b/reactos/drivers/lib/oskittcp/oskittcp/route.c index b8649667c12..fb703b790c9 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/route.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/route.c @@ -314,8 +314,8 @@ ifa_ifwithroute(flags, dst, gateway) register struct ifaddr *ifa; OS_DbgPrint(OSK_MID_TRACE,("Called: flags %\n", flags)); - OskitDumpBuffer( dst, sizeof(*dst) ); - OskitDumpBuffer( gateway, sizeof(*gateway) ); + OskitDumpBuffer( (void *)dst, sizeof(*dst) ); + OskitDumpBuffer( (void *)gateway, sizeof(*gateway) ); if ((flags & RTF_GATEWAY) == 0) { /* diff --git a/reactos/drivers/net/afd/afd/read.c b/reactos/drivers/net/afd/afd/read.c index 125615a0794..b815d7e8839 100644 --- a/reactos/drivers/net/afd/afd/read.c +++ b/reactos/drivers/net/afd/afd/read.c @@ -123,7 +123,7 @@ static VOID ProcessClose( PAFD_FCB FCB ) { PIRP NextIrp; AFD_DbgPrint(MID_TRACE,("Socket shutdown from remote side\n")); - + /* Kill remaining recv irps */ while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) { NextIrpEntry = @@ -138,7 +138,7 @@ static VOID ProcessClose( PAFD_FCB FCB ) { } /* Handle closing signal */ - FCB->PollState |= AFD_EVENT_DISCONNECT; + FCB->PollState |= AFD_EVENT_DISCONNECT | SOCKET_STATE_EOF_READ; PollReeval( FCB->DeviceExt, FCB->FileObject ); } @@ -270,7 +270,8 @@ AfdConnectedSocketReadData(PDEVICE_OBJECT DeviceObject, PIRP Irp, if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp, FALSE ); - if( FCB->State != SOCKET_STATE_CONNECTED ) { + if( FCB->State != SOCKET_STATE_CONNECTED && + FCB->State != SOCKET_STATE_CONNECTING ) { AFD_DbgPrint(MID_TRACE,("Called recv on wrong kind of socket (s%x)\n", FCB->State)); return STATUS_UNSUCCESSFUL; @@ -307,15 +308,19 @@ AfdConnectedSocketReadData(PDEVICE_OBJECT DeviceObject, PIRP Irp, Status = STATUS_SUCCESS; } } else { - AFD_DbgPrint(MID_TRACE,("EOF Happened already\n")); - FCB->Recv.Content = 0; - FCB->Recv.BytesUsed = 0; - Status = STATUS_END_OF_FILE; + if( FCB->PollState & SOCKET_STATE_EOF_READ ) + Status = STATUS_END_OF_FILE; + else + Status = STATUS_SUCCESS; + + AFD_DbgPrint(MID_TRACE,("EOF Happened already\n")); + FCB->Recv.Content = 0; + FCB->Recv.BytesUsed = 0; ProcessClose( FCB ); return UnlockAndMaybeComplete - ( FCB, STATUS_SUCCESS, Irp, 0, NULL, FALSE); + ( FCB, Status, Irp, 0, NULL, FALSE); } if( NT_SUCCESS(Status) ) { diff --git a/reactos/drivers/net/afd/include/afd.h b/reactos/drivers/net/afd/include/afd.h index b58f1d1f49d..85e491d1640 100644 --- a/reactos/drivers/net/afd/include/afd.h +++ b/reactos/drivers/net/afd/include/afd.h @@ -44,6 +44,7 @@ #define SOCKET_STATE_CONNECTED 3 #define SOCKET_STATE_LISTENING 4 #define SOCKET_STATE_MASK 0x0000ffff +#define SOCKET_STATE_EOF_READ 0x20000000 #define SOCKET_STATE_LOCKED 0x40000000 #define SOCKET_STATE_NEW 0x80000000 #define SOCKET_STATE_CLOSED 0x00000100 diff --git a/reactos/drivers/net/ndis/ndis/miniport.c b/reactos/drivers/net/ndis/ndis/miniport.c index 0a792aaf10b..7b9fc9ebe1a 100644 --- a/reactos/drivers/net/ndis/ndis/miniport.c +++ b/reactos/drivers/net/ndis/ndis/miniport.c @@ -603,7 +603,7 @@ MiniQueryInformation( Adapter->NdisMiniportBlock.MiniportAdapterContext, Oid, Adapter->QueryBuffer, - Size, + Adapter->QueryBufferLength, BytesWritten, &BytesNeeded); } @@ -1290,14 +1290,14 @@ NdisIPnPStartDevice( NTSTATUS Status; UINT SelectedMediumIndex = 0; NDIS_OID AddressOID; - BOOLEAN Success; + BOOLEAN Success = FALSE; ULONG ResourceCount; ULONG ResourceListSize; UNICODE_STRING ParamName; PNDIS_CONFIGURATION_PARAMETER ConfigParam; NDIS_HANDLE ConfigHandle; ULONG Size; - KIRQL OldIrql; +/* FIXME - KIRQL OldIrql; */ /* * Prepare wrapper context used by HW and configuration routines. @@ -1461,7 +1461,7 @@ NdisIPnPStartDevice( /* FIXME: Support other types of media */ NDIS_DbgPrint(MIN_TRACE, ("error: unsupported media\n")); ASSERT(FALSE); - KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql); +/* FIXME - KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql); */ return STATUS_UNSUCCESSFUL; } @@ -1564,6 +1564,8 @@ NdisIDispatchPnp( break; case IRP_MN_STOP_DEVICE: + /* FIXME */ + Status = STATUS_UNSUCCESSFUL; break; Status = NdisIForwardIrpAndWait(Adapter, Irp); if (NT_SUCCESS(Status) && NT_SUCCESS(Irp->IoStatus.Status)) @@ -1576,7 +1578,8 @@ NdisIDispatchPnp( default: IoSkipCurrentIrpStackLocation(Irp); - return IoCallDriver(Adapter->NdisMiniportBlock.NextDeviceObject, Irp); + Status = IoCallDriver(Adapter->NdisMiniportBlock.NextDeviceObject, Irp); + break; } return Status; diff --git a/reactos/drivers/net/tcpip/tcpip/fileobjs.c b/reactos/drivers/net/tcpip/tcpip/fileobjs.c index 77a623ff00b..10cc27a3e44 100644 --- a/reactos/drivers/net/tcpip/tcpip/fileobjs.c +++ b/reactos/drivers/net/tcpip/tcpip/fileobjs.c @@ -471,8 +471,10 @@ NTSTATUS FileCloseConnection( Connection = Request->Handle.ConnectionContext; + TcpipRecursiveMutexEnter( &TCPLock, TRUE ); TCPClose(Connection); DeleteConnectionEndpoint(Connection); + TcpipRecursiveMutexLeave( &TCPLock ); TI_DbgPrint(MAX_TRACE, ("Leaving.\n")); diff --git a/reactos/drivers/storage/atapi/atapi.c b/reactos/drivers/storage/atapi/atapi.c index 26f11ef16e6..3f17bfaf56b 100644 --- a/reactos/drivers/storage/atapi/atapi.c +++ b/reactos/drivers/storage/atapi/atapi.c @@ -1327,6 +1327,8 @@ AtapiIdentifyDevice(IN ULONG CommandPort, DrvParms->TMSectorCountHi, DrvParms->TMSectorCountLo, (ULONG)((DrvParms->TMSectorCountHi << 16) + DrvParms->TMSectorCountLo)); + DPRINT("SupportedFeatures83: %x, EnabledFeatures86 %x\n", DrvParms->SupportedFeatures83, DrvParms->EnabledFeatures86); + DPRINT("Max48BitAddress: %I64d\n", *(PULONGLONG)DrvParms->Max48BitAddress); if (DrvParms->TMFieldsValid & 0x0004) { if ((DrvParms->UltraDmaModes >> 8) && (DrvParms->UltraDmaModes & 0xff)) @@ -1952,7 +1954,7 @@ AtapiReadCapacity(PATAPI_MINIPORT_EXTENSION DeviceExtension, { PREAD_CAPACITY_DATA CapacityData; PIDE_DRIVE_IDENTIFY DeviceParams; - ULONG LastSector; + LARGE_INTEGER LastSector; DPRINT("SCSIOP_READ_CAPACITY: TargetId: %lu\n", Srb->TargetId); CapacityData = (PREAD_CAPACITY_DATA)Srb->DataBuffer; @@ -1964,14 +1966,33 @@ AtapiReadCapacity(PATAPI_MINIPORT_EXTENSION DeviceExtension, /* Calculate last sector (big-endian). */ if (DeviceParams->Capabilities & IDE_DRID_LBA_SUPPORTED) { - LastSector = (ULONG)((DeviceParams->TMSectorCountHi << 16) + - DeviceParams->TMSectorCountLo) - 1; + if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_48BIT_ADDRESS) + { + ((PUSHORT)&LastSector)[0] = DeviceParams->Max48BitAddress[0]; + ((PUSHORT)&LastSector)[1] = DeviceParams->Max48BitAddress[1]; + ((PUSHORT)&LastSector)[2] = DeviceParams->Max48BitAddress[2]; + ((PUSHORT)&LastSector)[3] = DeviceParams->Max48BitAddress[3]; + LastSector.QuadPart -= 1; + + } + else + { + LastSector.u.HighPart = 0; + LastSector.u.LowPart = (ULONG)((DeviceParams->TMSectorCountHi << 16) + + DeviceParams->TMSectorCountLo)-1; + } } else { - LastSector = (ULONG)(DeviceParams->LogicalCyls * - DeviceParams->LogicalHeads * - DeviceParams->SectorsPerTrack)-1; + LastSector.u.HighPart = 0; + LastSector.u.LowPart = (ULONG)(DeviceParams->LogicalCyls * + DeviceParams->LogicalHeads * + DeviceParams->SectorsPerTrack)-1; + } + if (LastSector.u.HighPart) + { + DPRINT1("Disk is too large for our implementation (%I64d sectors\n", LastSector.QuadPart); + KEBUGCHECK(0); } CapacityData->LogicalBlockAddress = (((PUCHAR)&LastSector)[0] << 24) | @@ -1996,10 +2017,10 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension, PIDE_DRIVE_IDENTIFY DeviceParams; ULONG StartingSector; ULONG SectorCount; - UCHAR CylinderHigh; - UCHAR CylinderLow; + UCHAR CylinderHigh[2]; + UCHAR CylinderLow[2]; UCHAR DrvHead; - UCHAR SectorNumber; + UCHAR SectorNumber[2]; UCHAR Command; ULONG Retries; UCHAR Status; @@ -2025,47 +2046,61 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension, Srb->DataTransferLength, SectorCount); - if (DeviceParams->Capabilities & IDE_DRID_LBA_SUPPORTED) + if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_48BIT_ADDRESS) { - SectorNumber = StartingSector & 0xff; - CylinderLow = (StartingSector >> 8) & 0xff; - CylinderHigh = (StartingSector >> 16) & 0xff; - DrvHead = ((StartingSector >> 24) & 0x0f) | - (Srb->TargetId ? IDE_DH_DRV1 : 0) | - IDE_DH_LBA; - } - else - { - SectorNumber = (StartingSector % DeviceParams->SectorsPerTrack) + 1; - StartingSector /= DeviceParams->SectorsPerTrack; - DrvHead = (StartingSector % DeviceParams->LogicalHeads) | - (Srb->TargetId ? IDE_DH_DRV1 : 0); - StartingSector /= DeviceParams->LogicalHeads; - CylinderLow = StartingSector & 0xff; - CylinderHigh = StartingSector >> 8; - } + SectorNumber[0] = StartingSector & 0xff; + CylinderLow[0] = (StartingSector >> 8) & 0xff; + CylinderHigh[0] = (StartingSector >> 16) & 0xff; + SectorNumber[1] = (StartingSector >> 24) & 0xff; + CylinderLow[1] = 0; + CylinderHigh[1] = 0; + DrvHead = (Srb->TargetId ? IDE_DH_DRV1 : 0) | IDE_DH_LBA; - if (DrvHead & IDE_DH_LBA) + DPRINT("%s:BUS=%04x:DRV=%d:LBA48=1:BLK=%08d:SC=%02x:CM=%02x\n", + (Srb->SrbFlags & SRB_FLAGS_DATA_IN) ? "READ" : "WRITE", + DeviceExtension->CommandPortBase, + DrvHead & IDE_DH_DRV1 ? 1 : 0, + (SectorNumber[1] << 24) + + (CylinderHigh[0] << 16) + (CylinderLow[0] << 8) + DectorNumberLow[0], + SectorCount, + Command); + } + else if (DeviceParams->Capabilities & IDE_DRID_LBA_SUPPORTED) { + SectorNumber[0] = StartingSector & 0xff; + CylinderLow[0] = (StartingSector >> 8) & 0xff; + CylinderHigh[0] = (StartingSector >> 16) & 0xff; + DrvHead = ((StartingSector >> 24) & 0x0f) | + (Srb->TargetId ? IDE_DH_DRV1 : 0) | + IDE_DH_LBA; + DPRINT("%s:BUS=%04x:DRV=%d:LBA=1:BLK=%08d:SC=%02x:CM=%02x\n", (Srb->SrbFlags & SRB_FLAGS_DATA_IN) ? "READ" : "WRITE", DeviceExtension->CommandPortBase, DrvHead & IDE_DH_DRV1 ? 1 : 0, ((DrvHead & 0x0f) << 24) + - (CylinderHigh << 16) + (CylinderLow << 8) + SectorNumber, + (CylinderHigh[0] << 16) + (CylinderLow[0] << 8) + SectorNumber[0], SectorCount, Command); } else { + SectorNumber[0] = (StartingSector % DeviceParams->SectorsPerTrack) + 1; + StartingSector /= DeviceParams->SectorsPerTrack; + DrvHead = (StartingSector % DeviceParams->LogicalHeads) | + (Srb->TargetId ? IDE_DH_DRV1 : 0); + StartingSector /= DeviceParams->LogicalHeads; + CylinderLow[0] = StartingSector & 0xff; + CylinderHigh[0] = StartingSector >> 8; + DPRINT("%s:BUS=%04x:DRV=%d:LBA=0:CH=%02x:CL=%02x:HD=%01x:SN=%02x:SC=%02x:CM=%02x\n", (Srb->SrbFlags & SRB_FLAGS_DATA_IN) ? "READ" : "WRITE", DeviceExtension->CommandPortBase, DrvHead & IDE_DH_DRV1 ? 1 : 0, - CylinderHigh, - CylinderLow, + CylinderHigh[0], + CylinderLow[0], DrvHead & 0x0f, - SectorNumber, + SectorNumber[0], SectorCount, Command); } @@ -2119,11 +2154,21 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension, #endif /* Setup command parameters */ + if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_48BIT_ADDRESS) + { + IDEWritePrecomp(DeviceExtension->CommandPortBase, 0); + IDEWriteSectorCount(DeviceExtension->CommandPortBase, SectorCount >> 8); + IDEWriteSectorNum(DeviceExtension->CommandPortBase, SectorNumber[1]); + IDEWriteCylinderLow(DeviceExtension->CommandPortBase, CylinderLow[1]); + IDEWriteCylinderHigh(DeviceExtension->CommandPortBase, CylinderHigh[1]); + } + IDEWritePrecomp(DeviceExtension->CommandPortBase, 0); - IDEWriteSectorCount(DeviceExtension->CommandPortBase, SectorCount); - IDEWriteSectorNum(DeviceExtension->CommandPortBase, SectorNumber); - IDEWriteCylinderHigh(DeviceExtension->CommandPortBase, CylinderHigh); - IDEWriteCylinderLow(DeviceExtension->CommandPortBase, CylinderLow); + IDEWriteSectorCount(DeviceExtension->CommandPortBase, SectorCount & 0xff); + IDEWriteSectorNum(DeviceExtension->CommandPortBase, SectorNumber[0]); + IDEWriteCylinderLow(DeviceExtension->CommandPortBase, CylinderLow[0]); + IDEWriteCylinderHigh(DeviceExtension->CommandPortBase, CylinderHigh[0]); + IDEWriteDriveHead(DeviceExtension->CommandPortBase, IDE_DH_FIXED | DrvHead); #ifdef ENABLE_DMA @@ -2135,7 +2180,14 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension, if (DeviceExtension->UseDma) { Handler = AtapiDmaInterrupt; - Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ_DMA : IDE_CMD_WRITE_DMA; + if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_48BIT_ADDRESS) + { + Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ_DMA_EXT : IDE_CMD_WRITE_DMA_EXT; + } + else + { + Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ_DMA : IDE_CMD_WRITE_DMA; + } } else #endif @@ -2143,11 +2195,25 @@ AtapiReadWrite(PATAPI_MINIPORT_EXTENSION DeviceExtension, Handler = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? AtapiReadInterrupt : AtapiWriteInterrupt; if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_MULTI_SECTOR_CMD) { - Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ_MULTIPLE : IDE_CMD_WRITE_MULTIPLE; + if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_48BIT_ADDRESS) + { + Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ_MULTIPLE_EXT : IDE_CMD_WRITE_MULTIPLE_EXT; + } + else + { + Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ_MULTIPLE : IDE_CMD_WRITE_MULTIPLE; + } } else { - Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ : IDE_CMD_WRITE; + if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_48BIT_ADDRESS) + { + Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ_EXT : IDE_CMD_WRITE_EXT; + } + else + { + Command = Srb->SrbFlags & SRB_FLAGS_DATA_IN ? IDE_CMD_READ : IDE_CMD_WRITE; + } } } @@ -2231,7 +2297,7 @@ AtapiFlushCache(PATAPI_MINIPORT_EXTENSION DeviceExtension, DPRINT("SCSIOP_SYNCRONIZE_CACHE: TargetId: %lu\n", Srb->TargetId); - if (!(DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_NO_FLUSH)) + if (DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_NO_FLUSH) { /* * NOTE: Don't flush the cache for CD/DVD drives. Although @@ -2240,9 +2306,16 @@ AtapiFlushCache(PATAPI_MINIPORT_EXTENSION DeviceExtension, * it doesn't make sense to flush cache on devices we don't * write to. */ - return STATUS_SUCCESS; + return SRB_STATUS_INVALID_REQUEST; } + if (!(DeviceExtension->DeviceParams[Srb->TargetId].SupportedFeatures83 & 0x1000)) + { + /* The device states it doesn't support the command */ + DPRINT("The drive doesn't support FLUSH_CACHE\n"); + return SRB_STATUS_INVALID_REQUEST; + } + /* Wait for BUSY to clear */ for (Retries = 0; Retries < IDE_MAX_BUSY_RETRIES; Retries++) { @@ -2267,7 +2340,9 @@ AtapiFlushCache(PATAPI_MINIPORT_EXTENSION DeviceExtension, ScsiPortStallExecution(10); /* Issue command to drive */ - AtapiExecuteCommand(DeviceExtension, IDE_CMD_FLUSH_CACHE, AtapiNoDataInterrupt); + AtapiExecuteCommand(DeviceExtension, + DeviceExtension->DeviceFlags[Srb->TargetId] & DEVICE_48BIT_ADDRESS ? IDE_CMD_FLUSH_CACHE_EXT : IDE_CMD_FLUSH_CACHE, + AtapiNoDataInterrupt); /* Wait for controller ready */ for (Retries = 0; Retries < IDE_MAX_WRITE_RETRIES; Retries++) diff --git a/reactos/drivers/storage/atapi/atapi.h b/reactos/drivers/storage/atapi/atapi.h index 50ca08ad0eb..0daf7b025a2 100644 --- a/reactos/drivers/storage/atapi/atapi.h +++ b/reactos/drivers/storage/atapi/atapi.h @@ -64,21 +64,27 @@ extern "C" { #define IDE_REG_COMMAND 0x0007 /* IDE/ATA commands */ -#define IDE_CMD_RESET 0x08 -#define IDE_CMD_READ 0x20 -#define IDE_CMD_READ_RETRY 0x21 -#define IDE_CMD_WRITE 0x30 -#define IDE_CMD_WRITE_RETRY 0x31 -#define IDE_CMD_PACKET 0xA0 -#define IDE_CMD_READ_MULTIPLE 0xC4 -#define IDE_CMD_WRITE_MULTIPLE 0xC5 -#define IDE_CMD_READ_DMA 0xC8 -#define IDE_CMD_WRITE_DMA 0xCA -#define IDE_CMD_FLUSH_CACHE 0xE7 -#define IDE_CMD_FLUSH_CACHE_EXT 0xEA -#define IDE_CMD_IDENT_ATA_DRV 0xEC -#define IDE_CMD_IDENT_ATAPI_DRV 0xA1 -#define IDE_CMD_GET_MEDIA_STATUS 0xDA +#define IDE_CMD_RESET 0x08 +#define IDE_CMD_READ 0x20 +#define IDE_CMD_READ_ONCE 0x21 +#define IDE_CMD_READ_EXT 0x24 /* 48 bit */ +#define IDE_CMD_READ_DMA_EXT 0x25 /* 48 bit */ +#define IDE_CMD_READ_MULTIPLE_EXT 0x29 /* 48 bit */ +#define IDE_CMD_WRITE 0x30 +#define IDE_CMD_WRITE_ONCE 0x31 +#define IDE_CMD_WRITE_EXT 0x34 /* 48 bit */ +#define IDE_CMD_WRITE_DMA_EXT 0x35 /* 48 bit */ +#define IDE_CMD_WRITE_MULTIPLE_EXT 0x39 /* 48 bit */ +#define IDE_CMD_PACKET 0xA0 +#define IDE_CMD_READ_MULTIPLE 0xC4 +#define IDE_CMD_WRITE_MULTIPLE 0xC5 +#define IDE_CMD_READ_DMA 0xC8 +#define IDE_CMD_WRITE_DMA 0xCA +#define IDE_CMD_FLUSH_CACHE 0xE7 +#define IDE_CMD_FLUSH_CACHE_EXT 0xEA /* 48 bit */ +#define IDE_CMD_IDENT_ATA_DRV 0xEC +#define IDE_CMD_IDENT_ATAPI_DRV 0xA1 +#define IDE_CMD_GET_MEDIA_STATUS 0xDA // // Access macros for command registers diff --git a/reactos/drivers/storage/disk/disk.c b/reactos/drivers/storage/disk/disk.c index 2d68cf862a0..b0e89045c7a 100644 --- a/reactos/drivers/storage/disk/disk.c +++ b/reactos/drivers/storage/disk/disk.c @@ -406,10 +406,26 @@ DiskClassCheckReadWrite(IN PDEVICE_OBJECT DeviceObject, return(STATUS_INVALID_PARAMETER); } + + IrpStack = IoGetCurrentIrpStackLocation(Irp); EndingOffset.QuadPart = IrpStack->Parameters.Read.ByteOffset.QuadPart + IrpStack->Parameters.Read.Length; + + DPRINT("Ending %I64d, and RealEnding %I64d! PartSize %I64d\n",EndingOffset.QuadPart, + DeviceExtension->PartitionLength.QuadPart, + DeviceExtension->PartitionLength.QuadPart / + DeviceExtension->DiskGeometry->BytesPerSector); + + if ((DeviceObject->Characteristics & FILE_REMOVABLE_MEDIA) && + (DeviceExtension->DiskGeometry->MediaType == RemovableMedia)) + { +/* Assume if removable media and if Partition length is 0, Partition not built yet! */ + if (DeviceExtension->PartitionLength.QuadPart == 0) + return(STATUS_SUCCESS); + } + if (EndingOffset.QuadPart > DeviceExtension->PartitionLength.QuadPart) { Irp->IoStatus.Status = STATUS_INVALID_PARAMETER; diff --git a/reactos/drivers/usb/cromwell/core/hcd-pci.c b/reactos/drivers/usb/cromwell/core/hcd-pci.c index ca7182c0b2a..e65c436cced 100644 --- a/reactos/drivers/usb/cromwell/core/hcd-pci.c +++ b/reactos/drivers/usb/cromwell/core/hcd-pci.c @@ -62,13 +62,16 @@ int STDCALL usb_hcd_pci_probe (struct pci_dev *dev, const struct pci_device_id *id) { struct hc_driver *driver; - unsigned long resource, len; + PHYSICAL_ADDRESS resource; + unsigned long len; void *base; struct usb_hcd *hcd; int retval, region; char buf [8]; //char *bufp = buf; + printk("usbcore: usb_hcd_pci_probe() called\n"); + if (usb_disabled()) return -ENODEV; @@ -103,7 +106,8 @@ clean_1: } } else { // UHCI - resource = len = 0; + //resource = 0; + len = 0; for (region = 0; region < PCI_ROM_RESOURCE; region++) { if (!(pci_resource_flags (dev, region) & IORESOURCE_IO)) continue; @@ -118,7 +122,7 @@ clean_1: dbg ("no i/o regions available"); return -EBUSY; } - base = (void *) resource; + base = NULL; //(void *) resource; // this isn't possible } // driver->start(), later on, will transfer device from @@ -165,7 +169,7 @@ clean_3: if (request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ, hcd->description, hcd) != 0) { dev_err (hcd->controller, - "request interrupt %s failed\n", bufp); + "request interrupt %s failed\n", buf); retval = -EBUSY; goto clean_3; } @@ -173,7 +177,7 @@ clean_3: hcd->regs = base; hcd->region = region; - dev_info (hcd->controller, "irq %s, %s %p\n", bufp, + dev_info (hcd->controller, "irq %s, %s %p\n", buf, (driver->flags & HCD_MEMORY) ? "pci mem" : "io base", base); diff --git a/reactos/drivers/usb/cromwell/core/hcd.h b/reactos/drivers/usb/cromwell/core/hcd.h index 15eae1d8949..266324d5d15 100644 --- a/reactos/drivers/usb/cromwell/core/hcd.h +++ b/reactos/drivers/usb/cromwell/core/hcd.h @@ -161,6 +161,56 @@ struct usb_operations { struct pt_regs; +// new struct from 2.6 +struct hc_driver { + const char *description; /* "ehci-hcd" etc */ + + /* irq handler */ + irqreturn_t (*irq) (struct usb_hcd *hcd, struct pt_regs *regs); + + int flags; +#define HCD_MEMORY 0x0001 /* HC regs use memory (else I/O) */ +#define HCD_USB11 0x0010 /* USB 1.1 */ +#define HCD_USB2 0x0020 /* USB 2.0 */ + + /* called to init HCD and root hub */ + int (*reset) (struct usb_hcd *hcd); + int (*start) (struct usb_hcd *hcd); + + /* called after all devices were suspended */ + int (*suspend) (struct usb_hcd *hcd, u32 state); + + /* called before any devices get resumed */ + int (*resume) (struct usb_hcd *hcd); + + /* cleanly make HCD stop writing memory and doing I/O */ + void (*stop) (struct usb_hcd *hcd); + + /* return current frame number */ + int (*get_frame_number) (struct usb_hcd *hcd); + + /* memory lifecycle */ + struct usb_hcd *(*hcd_alloc) (void); + void (*hcd_free) (struct usb_hcd *hcd); + + /* manage i/o requests, device state */ + int (*urb_enqueue) (struct usb_hcd *hcd, struct urb *urb, + int mem_flags); + int (*urb_dequeue) (struct usb_hcd *hcd, struct urb *urb); + + /* hw synch, freeing endpoint resources that urb_dequeue can't */ + void (*endpoint_disable)(struct usb_hcd *hcd, + struct hcd_dev *dev, int bEndpointAddress); + + /* root hub support */ + int (*hub_status_data) (struct usb_hcd *hcd, char *buf); + int (*hub_control) (struct usb_hcd *hcd, + u16 typeReq, u16 wValue, u16 wIndex, + char *buf, u16 wLength); +}; + +// old version, "just in case" +#if 0 struct hc_driver { const char *description; /* "ehci-hcd" etc */ @@ -206,6 +256,7 @@ struct hc_driver { u16 typeReq, u16 wValue, u16 wIndex, char *buf, u16 wLength); }; +#endif extern void STDCALL usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs); extern void STDCALL usb_bus_init (struct usb_bus *bus); diff --git a/reactos/drivers/usb/cromwell/core/hub.c b/reactos/drivers/usb/cromwell/core/hub.c index 744ec729b87..1b7e8207f1f 100644 --- a/reactos/drivers/usb/cromwell/core/hub.c +++ b/reactos/drivers/usb/cromwell/core/hub.c @@ -1148,7 +1148,12 @@ static int hub_thread(void *__hub) do { hub_events(); - wait_event_interruptible(khubd_wait, !list_empty(&hub_event_list)); + + //FIXME: Correct this + //wait_event_interruptible(khubd_wait, !list_empty(&hub_event_list)); // interruptable_sleep_on analog - below + while (!list_empty(&hub_event_list)) { + interruptible_sleep_on(&khubd_wait); + } if (current->flags & PF_FREEZE) refrigerator(PF_IOTHREAD); @@ -1185,6 +1190,10 @@ int usb_hub_init(void) { pid_t pid; + // ReactOS-specific + // Create Event object, initialize other sync events + KeInitializeEvent(&khubd_wait, NotificationEvent, TRUE); // signalled state + if (usb_register(&hub_driver) < 0) { err("Unable to register USB hub driver"); return -1; diff --git a/reactos/drivers/usb/cromwell/core/makefile b/reactos/drivers/usb/cromwell/core/makefile index eeba46f94d7..5301aa379f9 100644 --- a/reactos/drivers/usb/cromwell/core/makefile +++ b/reactos/drivers/usb/cromwell/core/makefile @@ -6,7 +6,7 @@ TARGET_NAME = usbcore TARGET_DDKLIBS = ntoskrnl.a -TARGET_CFLAGS = -Wall -I$(PATH_TO_TOP)/ntoskrnl/include +TARGET_CFLAGS = -Wall -I$(PATH_TO_TOP)/ntoskrnl/include -DDEBUG_MODE TARGET_OBJECTS = \ message.o hcd.o hcd-pci.o hub.o usb.o config.o urb.o \ @@ -16,3 +16,7 @@ TARGET_OBJECTS = \ include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk + +# Automatic dependency tracking +DEP_OBJECTS := $(TARGET_OBJECTS) +include $(PATH_TO_TOP)/tools/depend.mk diff --git a/reactos/drivers/usb/cromwell/core/message.c b/reactos/drivers/usb/cromwell/core/message.c index b43a52dc4e6..749c76b8029 100644 --- a/reactos/drivers/usb/cromwell/core/message.c +++ b/reactos/drivers/usb/cromwell/core/message.c @@ -15,6 +15,9 @@ #include "hcd.h" /* for usbcore internals */ +// ReactOS specific: No WAITQUEUEs here +#define wake_up(a) do {} while(0) + struct usb_api_data { wait_queue_head_t wqh; int done; diff --git a/reactos/drivers/usb/cromwell/core/usb.c b/reactos/drivers/usb/cromwell/core/usb.c index 4206935def1..be494fb39a4 100644 --- a/reactos/drivers/usb/cromwell/core/usb.c +++ b/reactos/drivers/usb/cromwell/core/usb.c @@ -1042,7 +1042,7 @@ static void set_device_description (struct usb_device *dev) "USB device %04x:%04x (%s)", vendor_id, product_id, mfgr_str); } - //usbprintk("USB connected: %s\n",dev->dev.name); + usbprintk("USB connected: %s\n",dev->dev.name); kfree(buf); } @@ -1227,6 +1227,7 @@ int usb_new_device(struct usb_device *dev, struct device *parent) "usb-%s-%s interface %d", dev->bus->bus_name, dev->devpath, desc->bInterfaceNumber); + DPRINT1("usb_new_device: %s\n", interface->dev.name); } dev_dbg (&dev->dev, "%s - registering interface %s\n", __FUNCTION__, interface->dev.bus_id); device_add (&interface->dev); @@ -1510,7 +1511,7 @@ int STDCALL usb_disabled(void) /* * Init */ -static int __init usb_init(void) +int STDCALL __init usb_init(void) { if (nousb) { info("USB support disabled\n"); @@ -1530,7 +1531,7 @@ static int __init usb_init(void) /* * Cleanup */ -static void __exit usb_exit(void) +void STDCALL __exit usb_exit(void) { /* This will matter if shutdown/reboot does exitcalls. */ if (nousb) diff --git a/reactos/drivers/usb/cromwell/core/usbcore.c b/reactos/drivers/usb/cromwell/core/usbcore.c index 0c8e0c50a9a..34df7e4b021 100644 --- a/reactos/drivers/usb/cromwell/core/usbcore.c +++ b/reactos/drivers/usb/cromwell/core/usbcore.c @@ -4,13 +4,60 @@ */ #include +#include +NTSTATUS AddDevice(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT pdo) +{ + DbgPrint("usbcore: AddDevice called\n"); + + /* we need to do kind of this stuff here (as usual) + PDEVICE_OBJECT fdo; + IoCreateDevice(..., &fdo); + pdx->LowerDeviceObject = + IoAttachDeviceToDeviceStack(fdo, pdo);*/ + + return STATUS_SUCCESS; +} + +VOID DriverUnload(PDRIVER_OBJECT DriverObject) +{ + // nothing to do here yet +} + +// Dispatch PNP +NTSTATUS DispatchPnp(PDEVICE_OBJECT fdo, PIRP Irp) +{ + ULONG fcn; + PIO_STACK_LOCATION stack; + + stack = IoGetCurrentIrpStackLocation(Irp); + fcn = stack->MinorFunction; + DbgPrint("IRP_MJ_PNP, fcn=%d\n", fcn); + + if (fcn == IRP_MN_REMOVE_DEVICE) + { + IoDeleteDevice(fdo); + } + + return STATUS_SUCCESS; +} + +NTSTATUS DispatchPower(PDEVICE_OBJECT fido, PIRP Irp) +{ + DbgPrint("IRP_MJ_POWER dispatch\n"); + return STATUS_SUCCESS; +} /* * Standard DriverEntry method. */ NTSTATUS STDCALL -DriverEntry(IN PVOID Context1, IN PVOID Context2) +DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegPath) { + DriverObject->DriverUnload = DriverUnload; + DriverObject->DriverExtension->AddDevice = AddDevice; + DriverObject->MajorFunction[IRP_MJ_PNP] = DispatchPnp; + DriverObject->MajorFunction[IRP_MJ_POWER] = DispatchPower; + return STATUS_SUCCESS; } diff --git a/reactos/drivers/usb/cromwell/core/usbcore.def b/reactos/drivers/usb/cromwell/core/usbcore.def index cc6e7687e2d..ae73cc2a560 100644 --- a/reactos/drivers/usb/cromwell/core/usbcore.def +++ b/reactos/drivers/usb/cromwell/core/usbcore.def @@ -2,6 +2,8 @@ ; Exports definition file for usbcore.sys ; EXPORTS +usb_init@0 +usb_exit@0 usb_init_urb@4 usb_alloc_urb@8 usb_free_urb@4 diff --git a/reactos/drivers/usb/cromwell/host/makefile b/reactos/drivers/usb/cromwell/host/makefile index 0cc14867050..e2e02edacfc 100644 --- a/reactos/drivers/usb/cromwell/host/makefile +++ b/reactos/drivers/usb/cromwell/host/makefile @@ -6,7 +6,7 @@ TARGET_NAME = ohci TARGET_DDKLIBS = ntoskrnl.a usbcore.a -TARGET_CFLAGS = -Wall -I$(PATH_TO_TOP)/ntoskrnl/include +TARGET_CFLAGS = -Wall -I$(PATH_TO_TOP)/ntoskrnl/include -DDEBUG_MODE TARGET_OBJECTS = \ ohci-hcd.o ohci_main.o ../sys/ros_wrapper.o ../sys/linuxwrapper.o @@ -14,3 +14,7 @@ TARGET_OBJECTS = \ include $(PATH_TO_TOP)/rules.mak include $(TOOLS_PATH)/helper.mk + +# Automatic dependency tracking +DEP_OBJECTS := $(TARGET_OBJECTS) +include $(PATH_TO_TOP)/tools/depend.mk diff --git a/reactos/drivers/usb/cromwell/host/ohci-hcd.c b/reactos/drivers/usb/cromwell/host/ohci-hcd.c index fec58a01b5a..3470fa9e825 100644 --- a/reactos/drivers/usb/cromwell/host/ohci-hcd.c +++ b/reactos/drivers/usb/cromwell/host/ohci-hcd.c @@ -471,7 +471,7 @@ static int hc_start (struct ohci_hcd *ohci) /* a reset clears this */ writel ((u32) ohci->hcca_dma, &ohci->regs->hcca); -// usbprintk("HCCA: %p \n",ohci->regs->hcca); + usbprintk("HCCA: %p \n",ohci->regs->hcca); /* force default fmInterval (we won't adjust it); init thresholds * for last FS and LS packets, reserve 90% for periodic. diff --git a/reactos/drivers/usb/cromwell/host/ohci-pci.c b/reactos/drivers/usb/cromwell/host/ohci-pci.c index 1e7fd945f21..0ce7123c541 100644 --- a/reactos/drivers/usb/cromwell/host/ohci-pci.c +++ b/reactos/drivers/usb/cromwell/host/ohci-pci.c @@ -38,6 +38,8 @@ ohci_pci_start (struct usb_hcd *hcd) struct ohci_hcd *ohci = hcd_to_ohci (hcd); int ret; + DPRINT("ohci_pci_start()\n"); + if (hcd->pdev) { ohci->hcca = pci_alloc_consistent (hcd->pdev, sizeof *ohci->hcca, &ohci->hcca_dma); @@ -86,23 +88,27 @@ ohci_pci_start (struct usb_hcd *hcd) } - memset (ohci->hcca, 0, sizeof (struct ohci_hcca)); + memset (ohci->hcca, 0, sizeof (struct ohci_hcca)); if ((ret = ohci_mem_init (ohci)) < 0) { ohci_stop (hcd); return ret; } ohci->regs = hcd->regs; + DPRINT("Controller memory init done\n"); + if (hc_reset (ohci) < 0) { ohci_stop (hcd); return -ENODEV; } + DPRINT("Controller reset done\n"); if (hc_start (ohci) < 0) { ohci_err (ohci, "can't start\n"); ohci_stop (hcd); return -EBUSY; } + DPRINT("Controller start done\n"); #ifdef DEBUG ohci_dump (ohci, 1); @@ -352,7 +358,7 @@ static const struct hc_driver ohci_pci_hc_driver = { /*-------------------------------------------------------------------------*/ -static const struct pci_device_id __devinitdata pci_ids [] = { { +const struct pci_device_id __devinitdata pci_ids [] = { { /* handle any USB OHCI controller */ .class = (PCI_CLASS_SERIAL_USB << 8) | 0x10, @@ -370,7 +376,7 @@ static const struct pci_device_id __devinitdata pci_ids [] = { { MODULE_DEVICE_TABLE (pci, pci_ids); /* pci driver glue; this is a "new style" PCI driver module */ -static struct pci_driver ohci_pci_driver = { +struct pci_driver ohci_pci_driver = { .name = (char *) hcd_name, .id_table = pci_ids, @@ -384,22 +390,23 @@ static struct pci_driver ohci_pci_driver = { }; -static int __init ohci_hcd_pci_init (void) +int ohci_hcd_pci_init (void) { printk (KERN_DEBUG "%s: " DRIVER_INFO " (PCI)\n", hcd_name); if (usb_disabled()) return -ENODEV; - printk (KERN_DEBUG "%s: block sizes: ed %Zd td %Zd\n", hcd_name, - sizeof (struct ed), sizeof (struct td)); + // causes page fault in reactos + //printk (KERN_DEBUG "%s: block sizes: ed %Zd td %Zd\n", hcd_name, + // sizeof (struct ed), sizeof (struct td)); return pci_module_init (&ohci_pci_driver); } -module_init (ohci_hcd_pci_init); +/*module_init (ohci_hcd_pci_init);*/ /*-------------------------------------------------------------------------*/ -static void __exit ohci_hcd_pci_cleanup (void) +void ohci_hcd_pci_cleanup (void) { pci_unregister_driver (&ohci_pci_driver); } -module_exit (ohci_hcd_pci_cleanup); +/*module_exit (ohci_hcd_pci_cleanup);*/ diff --git a/reactos/drivers/usb/cromwell/host/ohci.h b/reactos/drivers/usb/cromwell/host/ohci.h index 400b505e65a..632382e88ba 100644 --- a/reactos/drivers/usb/cromwell/host/ohci.h +++ b/reactos/drivers/usb/cromwell/host/ohci.h @@ -240,10 +240,22 @@ struct ohci_regs { #define OHCI_CTRL_RWE (1 << 10) /* remote wakeup enable */ /* pre-shifted values for HCFS */ -# define OHCI_USB_RESET (0 << 6) -# define OHCI_USB_RESUME (1 << 6) -# define OHCI_USB_OPER (2 << 6) -# define OHCI_USB_SUSPEND (3 << 6) +#define OHCI_USB_RESET (0 << 6) +#define OHCI_USB_RESUME (1 << 6) +#define OHCI_USB_OPER (2 << 6) +#define OHCI_USB_SUSPEND (3 << 6) + +// HCFS itself +static char *hcfs2string (int state) +{ + switch (state) { + case OHCI_USB_RESET: return "reset"; + case OHCI_USB_RESUME: return "resume"; + case OHCI_USB_OPER: return "operational"; + case OHCI_USB_SUSPEND: return "suspend"; + } + return "?"; +} /* * HcCommandStatus (cmdstatus) register masks diff --git a/reactos/drivers/usb/cromwell/host/ohci_main.c b/reactos/drivers/usb/cromwell/host/ohci_main.c index ffb37c81999..aba234a8082 100644 --- a/reactos/drivers/usb/cromwell/host/ohci_main.c +++ b/reactos/drivers/usb/cromwell/host/ohci_main.c @@ -1,16 +1,309 @@ /* - ReactOS specific functions for ohci module + ReactOS specific functions for OHCI module by Aleksey Bragin (aleksey@reactos.com) + Some parts of code are inspired (or even just copied) from ReactOS Videoport driver */ #include +#include +#include "../linux/linux_wrapper.h" +#include "ohci_main.h" +// declare basic init funcs +void init_wrapper(struct pci_dev *probe_dev); +int ohci_hcd_pci_init (void); +void ohci_hcd_pci_cleanup (void); +int STDCALL usb_init(void); +void STDCALL usb_exit(void); +extern struct pci_driver ohci_pci_driver; +extern const struct pci_device_id pci_ids[]; + + + +// This should be removed, but for testing purposes it's here +struct pci_dev *dev; +//struct pci_device_id *dev_id; + + +#define USB_OHCI_TAG TAG('u','s','b','o') + +NTSTATUS STDCALL AddDevice(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT pdo) +{ + PDEVICE_OBJECT fdo; + NTSTATUS Status; + WCHAR DeviceBuffer[20]; + UNICODE_STRING DeviceName; + POHCI_DRIVER_EXTENSION DriverExtension; + POHCI_DEVICE_EXTENSION DeviceExtension; + ULONG Size, DeviceNumber; + + DPRINT1("ohci: AddDevice called\n"); + + // Allocate driver extension now + DriverExtension = IoGetDriverObjectExtension(DriverObject, DriverObject); + if (DriverExtension == NULL) + { + Status = IoAllocateDriverObjectExtension( + DriverObject, + DriverObject, + sizeof(OHCI_DRIVER_EXTENSION), + (PVOID *)&DriverExtension); + + if (!NT_SUCCESS(Status)) + { + DPRINT1("Allocating DriverObjectExtension failed.\n"); + return Status; + } + } + + // Create a unicode device name + DeviceNumber = 0; //TODO: Allocate new device number every time + swprintf(DeviceBuffer, L"\\Device\\USBFDO-%lu", DeviceNumber); + RtlInitUnicodeString(&DeviceName, DeviceBuffer); + + Status = IoCreateDevice(DriverObject, + sizeof(OHCI_DEVICE_EXTENSION)/* + DriverExtension->InitializationData.HwDeviceExtensionSize*/, + &DeviceName, + FILE_DEVICE_CONTROLLER, + 0, + FALSE, + &fdo); + + if (!NT_SUCCESS(Status)) + { + DPRINT("IoCreateDevice call failed with status 0x%08x\n", Status); + return Status; + } + + // zerofill device extension + DeviceExtension = (POHCI_DEVICE_EXTENSION)pdo->DeviceExtension; + RtlZeroMemory(DeviceExtension, sizeof(OHCI_DEVICE_EXTENSION)); + DeviceExtension->NextDeviceObject = IoAttachDeviceToDeviceStack(fdo, pdo); + + fdo->Flags &= ~DO_DEVICE_INITIALIZING; + + // Initialize device extension + DeviceExtension->DeviceNumber = DeviceNumber; + DeviceExtension->PhysicalDeviceObject = pdo; + DeviceExtension->FunctionalDeviceObject = fdo; + DeviceExtension->DriverExtension = DriverExtension; + + /* Get bus number from the upper level bus driver. */ + Size = sizeof(ULONG); + Status = IoGetDeviceProperty( + pdo, + DevicePropertyBusNumber, + Size, + &DeviceExtension->SystemIoBusNumber, + &Size); + + if (!NT_SUCCESS(Status)) + { + DPRINT("Couldn't get an information from bus driver. Panic!!!\n"); + return Status; + } + + DPRINT("Done AddDevice\n"); + return STATUS_SUCCESS; +} + +VOID STDCALL DriverUnload(PDRIVER_OBJECT DriverObject) +{ + DPRINT1("DriverUnload()\n"); + + // Exit usb device + usb_exit(); + + // Remove device (ohci_pci_driver.remove) + ohci_pci_driver.remove(dev); + + ExFreePool(dev->slot_name); + ExFreePool(dev); + + // Perform some cleanup + ohci_hcd_pci_cleanup(); +} + +NTSTATUS InitLinuxWrapper(PDEVICE_OBJECT DeviceObject) +{ + NTSTATUS Status; + POHCI_DEVICE_EXTENSION DeviceExtension = (POHCI_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + + // Fill generic linux structs + dev = ExAllocatePoolWithTag(PagedPool, sizeof(struct pci_dev), USB_OHCI_TAG); + + init_wrapper(dev); + dev->irq = DeviceExtension->InterruptLevel; + dev->dev_ext = (PVOID)DeviceExtension; + dev->slot_name = ExAllocatePoolWithTag(NonPagedPool, 128, USB_OHCI_TAG); // 128 max len for slot name + + strcpy(dev->dev.name, "OpenHCI PCI-USB Controller"); + strcpy(dev->slot_name, "OHCD PCI Slot"); + + // Init the OHCI HCD. Probe will be called automatically, but will fail because id=NULL + Status = ohci_hcd_pci_init(); + //FIXME: Check status returned value + + // Init core usb + usb_init(); + + // Probe device with real id now + ohci_pci_driver.probe(dev, pci_ids); + + DPRINT("InitLinuxWrapper() done\n"); + + return STATUS_SUCCESS; +} + +NTSTATUS STDCALL +OHCD_PnPStartDevice(IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp) +{ + PIO_STACK_LOCATION Stack = IoGetCurrentIrpStackLocation(Irp); + PDRIVER_OBJECT DriverObject; + POHCI_DRIVER_EXTENSION DriverExtension; + POHCI_DEVICE_EXTENSION DeviceExtension; + PCM_RESOURCE_LIST AllocatedResources; + + /* + * Get the initialization data we saved in VideoPortInitialize. + */ + DriverObject = DeviceObject->DriverObject; + DriverExtension = IoGetDriverObjectExtension(DriverObject, DriverObject); + DeviceExtension = (POHCI_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + + /* + * Store some resources in the DeviceExtension. + */ + AllocatedResources = Stack->Parameters.StartDevice.AllocatedResources; + if (AllocatedResources != NULL) + { + CM_FULL_RESOURCE_DESCRIPTOR *FullList; + CM_PARTIAL_RESOURCE_DESCRIPTOR *Descriptor; + ULONG ResourceCount; + ULONG ResourceListSize; + + /* Save the resource list */ + ResourceCount = AllocatedResources->List[0].PartialResourceList.Count; + ResourceListSize = + FIELD_OFFSET(CM_RESOURCE_LIST, List[0].PartialResourceList. + PartialDescriptors[ResourceCount]); + DeviceExtension->AllocatedResources = ExAllocatePool(PagedPool, ResourceListSize); + if (DeviceExtension->AllocatedResources == NULL) + { + return STATUS_INSUFFICIENT_RESOURCES; + } + + RtlCopyMemory(DeviceExtension->AllocatedResources, + AllocatedResources, + ResourceListSize); + + /* Get the interrupt level/vector - needed by HwFindAdapter sometimes */ + for (FullList = AllocatedResources->List; + FullList < AllocatedResources->List + AllocatedResources->Count; + FullList++) + { + /* FIXME: Is this ASSERT ok for resources from the PNP manager? */ + /*ASSERT(FullList->InterfaceType == PCIBus && + FullList->BusNumber == DeviceExtension->SystemIoBusNumber && + 1 == FullList->PartialResourceList.Version && + 1 == FullList->PartialResourceList.Revision);*/ + for (Descriptor = FullList->PartialResourceList.PartialDescriptors; + Descriptor < FullList->PartialResourceList.PartialDescriptors + FullList->PartialResourceList.Count; + Descriptor++) + { + if (Descriptor->Type == CmResourceTypeInterrupt) + { + DeviceExtension->InterruptLevel = Descriptor->u.Interrupt.Level; + DeviceExtension->InterruptVector = Descriptor->u.Interrupt.Vector; + } + else if (Descriptor->Type == CmResourceTypeMemory) + { + DeviceExtension->BaseAddress = Descriptor->u.Memory.Start; + DeviceExtension->BaseAddrLength = Descriptor->u.Memory.Length; + } + } + } + } + DPRINT1("Interrupt level: 0x%x Interrupt Vector: 0x%x\n", + DeviceExtension->InterruptLevel, + DeviceExtension->InterruptVector); + + /* + * Init wrapper with this object + */ + return InitLinuxWrapper(DeviceObject); +} + +// Dispatch PNP +NTSTATUS STDCALL DispatchPnp(PDEVICE_OBJECT DeviceObject, PIRP Irp) +{ + PIO_STACK_LOCATION IrpSp; + NTSTATUS Status; + + IrpSp = IoGetCurrentIrpStackLocation(Irp); + + switch (IrpSp->MinorFunction) + { + case IRP_MN_START_DEVICE: + //Status = IntVideoPortForwardIrpAndWait(DeviceObject, Irp); + //if (NT_SUCCESS(Status) && NT_SUCCESS(Irp->IoStatus.Status)) + + Status = OHCD_PnPStartDevice(DeviceObject, Irp); + Irp->IoStatus.Status = Status; + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + break; + + + case IRP_MN_REMOVE_DEVICE: + case IRP_MN_QUERY_REMOVE_DEVICE: + case IRP_MN_CANCEL_REMOVE_DEVICE: + case IRP_MN_SURPRISE_REMOVAL: + + case IRP_MN_STOP_DEVICE: + //Status = IntVideoPortForwardIrpAndWait(DeviceObject, Irp); + //if (NT_SUCCESS(Status) && NT_SUCCESS(Irp->IoStatus.Status)) + Status = STATUS_SUCCESS; + Irp->IoStatus.Status = Status; + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + IoDeleteDevice(DeviceObject); // just delete device for now + break; + + case IRP_MN_QUERY_STOP_DEVICE: + case IRP_MN_CANCEL_STOP_DEVICE: + Status = STATUS_SUCCESS; + Irp->IoStatus.Status = STATUS_SUCCESS; + Irp->IoStatus.Information = 0; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + break; + + default: + return STATUS_NOT_IMPLEMENTED; + break; + } + + return Status; +} + +NTSTATUS STDCALL DispatchPower(PDEVICE_OBJECT fido, PIRP Irp) +{ + DbgPrint("IRP_MJ_POWER dispatch\n"); + return STATUS_SUCCESS; +} /* * Standard DriverEntry method. */ NTSTATUS STDCALL -DriverEntry(IN PVOID Context1, IN PVOID Context2) +DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegPath) { + DriverObject->DriverUnload = DriverUnload; + DriverObject->DriverExtension->AddDevice = AddDevice; + DriverObject->MajorFunction[IRP_MJ_PNP] = DispatchPnp; + DriverObject->MajorFunction[IRP_MJ_POWER] = DispatchPower; + return STATUS_SUCCESS; } diff --git a/reactos/drivers/usb/cromwell/host/ohci_main.h b/reactos/drivers/usb/cromwell/host/ohci_main.h new file mode 100644 index 00000000000..1324d1ba165 --- /dev/null +++ b/reactos/drivers/usb/cromwell/host/ohci_main.h @@ -0,0 +1,46 @@ +/* + * OHCI WDM/PNP driver + * + * Copyright (C) 2005 ReactOS Team + * + * Author: Aleksey Bragin (aleksey@reactos.com) + * + */ + +#ifndef OHCI_MAIN_H +#define OHCI_MAIN_H + +typedef struct _OHCI_DRIVER_EXTENSION +{ + //OHCI_HW_INITIALIZATION_DATA InitializationData; + PVOID HwContext; + //UNICODE_STRING RegistryPath; +} OHCI_DRIVER_EXTENSION, *POHCI_DRIVER_EXTENSION; + +typedef struct _OHCI_DEVICE_EXTENSTION +{ + ULONG DeviceNumber; + PDEVICE_OBJECT PhysicalDeviceObject; + PDEVICE_OBJECT FunctionalDeviceObject; + PDEVICE_OBJECT NextDeviceObject; + //UNICODE_STRING RegistryPath; + PKINTERRUPT InterruptObject; + KSPIN_LOCK InterruptSpinLock; + PCM_RESOURCE_LIST AllocatedResources; + ULONG InterruptVector; + ULONG InterruptLevel; + PHYSICAL_ADDRESS BaseAddress; + ULONG BaseAddrLength; + ULONG AdapterInterfaceType; + ULONG SystemIoBusNumber; + ULONG SystemIoSlotNumber; + LIST_ENTRY AddressMappingListHead; + //KDPC DpcObject; + OHCI_DRIVER_EXTENSION *DriverExtension; + ULONG DeviceOpened; + //KMUTEX DeviceLock; + //CHAR MiniPortDeviceExtension[1]; +} OHCI_DEVICE_EXTENSION, *POHCI_DEVICE_EXTENSION; + + +#endif diff --git a/reactos/drivers/usb/cromwell/linux/linux_wrapper.h b/reactos/drivers/usb/cromwell/linux/linux_wrapper.h index bcb1987b98b..3de8596de67 100644 --- a/reactos/drivers/usb/cromwell/linux/linux_wrapper.h +++ b/reactos/drivers/usb/cromwell/linux/linux_wrapper.h @@ -12,6 +12,9 @@ * * All structs and prototypes are based on kernel source 2.5.72 * + * Modified by Aleksey Bragin (aleksey@reactos.com) for ReactOS needs + * + * * #include */ @@ -145,6 +148,14 @@ struct completion { wait_queue_head_t wait; }; +// windows lookaside list head +typedef void* kmem_cache_t; + +struct dma_pool +{ + int dummy; +}; + /* from mod_devicetable.h */ struct usb_device_id { @@ -205,6 +216,7 @@ struct pci_dev { int base[4]; int flags[4]; void * data; + void * dev_ext; // link to Windows DeviceExtension }; struct pci_bus { @@ -285,6 +297,8 @@ struct usbdevfs_hub_portinfo #define MODULE_DESCRIPTION(a) #define MODULE_LICENSE(a) #define MODULE_DEVICE_TABLE(type,name) void* module_table_##name=&name +#define MODULE_PARM(a,b) +#define MODULE_PARM_DESC(a,b) #define __devinit #define __exit @@ -312,6 +326,10 @@ struct usbdevfs_hub_portinfo #define unlikely(x) (x) #define prefetch(x) 1 +#define inw(x) READ_PORT_USHORT((PUSHORT)(x)) +#define outw(x,p) WRITE_PORT_USHORT((PUSHORT)(p),(x)) +#define outl(x,p) WRITE_PORT_ULONG((PUSHORT)(p),(x)) + /* The kernel macro for list_for_each_entry makes nonsense (have no clue * why, this is just the same definition...) */ @@ -371,7 +389,7 @@ struct usbdevfs_hub_portinfo #define down_read(a) do {} while(0) #define up_read(a) do {} while(0) -#define DECLARE_WAIT_QUEUE_HEAD(x) int x +#define DECLARE_WAIT_QUEUE_HEAD(x) KEVENT x #define DECLARE_COMPLETION(x) struct completion x @@ -382,6 +400,8 @@ struct usbdevfs_hub_portinfo /* PCI */ +#define to_pci_dev(n) container_of(n, struct pci_dev, dev) + #define pci_pool_create(a,b,c,d,e) (void*)1 #define pci_pool_alloc(a,b,c) my_pci_pool_alloc(a,b,c) @@ -426,6 +446,16 @@ int my_pci_module_init(struct pci_driver *x); #define bus_register(a) do {} while(0) #define bus_unregister(a) do {} while(0) +/* DMA */ +//#define dma_pool_alloc(a,b,c) my_dma_pool_alloc((a),(b),(c)) +#define dma_pool_alloc(a,b,c) pci_pool_alloc(a,b,c) +#define dma_pool_create(a,b,c,d,e) pci_pool_create(a,b,c,d,e) +#define dma_pool_free(a,b,c) pci_pool_free(a,b,c) +#define dma_pool_destroy(a) pci_pool_destroy(a) + +#define dma_alloc_coherent(a,b,c,d) NULL +#define dma_free_coherent(a,b,c,d) do {} while(0) + #define dma_map_single(a,b,c,d) ((u32)(b)&0xfffffff) #define dma_unmap_single(a,b,c,d) do {} while(0) #define pci_unmap_single(a,b,c,d) do {} while(0) @@ -450,11 +480,15 @@ int my_pci_module_init(struct pci_driver *x); #define PCI_ROM_RESOURCE 0 #define IORESOURCE_IO 1 -#define DECLARE_WAITQUEUE(a,b) wait_queue_head_t a=0 -#define init_waitqueue_head(a) do {} while(0) +#define DECLARE_WAITQUEUE(a,b) KEVENT a=0 +#define init_waitqueue_head(a) my_init_waitqueue_head(a) #define add_wait_queue(a,b) do {} while(0) #define remove_wait_queue(a,b) do {} while(0) +void my_init_waitqueue_head(PKEVENT a); +VOID KeMemoryBarrier(VOID); + +#define mb() KeMemoryBarrier() #define wmb() __asm__ __volatile__ ("": : :"memory") #define rmb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory") @@ -475,15 +509,41 @@ void my_wait_for_completion(struct completion*); #define daemonize(a) do {} while(0) #define allow_signal(a) do {} while(0) #define wait_event_interruptible(x,y) do {} while(0) + +#define interruptible_sleep_on(a) my_interruptible_sleep_on(a) +void my_interruptible_sleep_on(PKEVENT evnt); + #define flush_scheduled_work() do {} while(0) #define refrigerator(x) do {} while(0) #define signal_pending(x) 1 // fall through threads #define complete_and_exit(a,b) return 0 -#define kill_proc(a,b,c) 0 +//#define kill_proc(a,b,c) 0 +#define kill_proc(a,b,c) my_kill_proc(a, b, c); +int my_kill_proc(int pid, int signal, int unk); + #define yield() do {} while(0) #define cpu_relax() do {} while(0) +#define WARN_ON(a) do {} while(0) + +/*------------------------------------------------------------------------*/ +/* Lookaside lists funcs */ +/*------------------------------------------------------------------------*/ +#define kmem_cache_create(a,b,c,d,e,f) my_kmem_cache_create((a),(b),(c),(d),(e),(f)) +#define kmem_cache_destroy(a) my_kmem_cache_destroy((a)) +#define kmem_cache_alloc(co, flags) my_kmem_cache_alloc((co), (flags)) +#define kmem_cache_free(co, ptr) my_kmem_cache_free((co), (ptr)) + +kmem_cache_t *my_kmem_cache_create(const char *tag, size_t alloc_size, + size_t offset, unsigned long flags, + void *ctor, + void *dtor); + +void my_kmem_cache_destroy(kmem_cache_t *co); +void *my_kmem_cache_alloc(kmem_cache_t *co, int flags); +void my_kmem_cache_free(kmem_cache_t *co, void *ptr); + /*------------------------------------------------------------------------*/ /* Kernel macros */ /*------------------------------------------------------------------------*/ @@ -528,7 +588,7 @@ void my_wait_for_completion(struct completion*); /*------------------------------------------------------------------------*/ #ifdef DEBUG_MODE #define dev_printk(lvl,x,f,arg...) printk(f, ## arg) -#define dev_dbg(x,f,arg...) do {} while (0) //printk(f, ## arg) +#define dev_dbg(x,f,arg...) printk(f, ## arg) #define dev_info(x,f,arg...) printk(f,## arg) #define dev_warn(x,f,arg...) printk(f,## arg) #define dev_err(x,f,arg...) printk(f,## arg) @@ -551,6 +611,21 @@ void my_wait_for_completion(struct completion*); #define PCI_DEVFN(a,b) 0 #define PCI_SLOT(a) 0 +/** + * PCI_DEVICE_CLASS - macro used to describe a specific pci device class + * @dev_class: the class, subclass, prog-if triple for this device + * @dev_class_mask: the class mask for this device + * + * This macro is used to create a struct pci_device_id that matches a + * specific PCI class. The vendor, device, subvendor, and subdevice + * fields will be set to PCI_ANY_ID. + */ +#define PCI_DEVICE_CLASS(dev_class,dev_class_mask) \ + .class = (dev_class), .class_mask = (dev_class_mask), \ + .vendor = PCI_ANY_ID, .device = PCI_ANY_ID, \ + .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID + + /*------------------------------------------------------------------------*/ /* Stuff from kernel */ /*------------------------------------------------------------------------*/ @@ -639,6 +714,9 @@ static void __inline__ mod_timer(struct timer_list* t, int ex) add_timer(t); } +#define time_after_eq(a,b) \ + (((long)(a) - (long)(b) >= 0)) + /*------------------------------------------------------------------------*/ /* Device driver and process related stuff */ /*------------------------------------------------------------------------*/ @@ -670,7 +748,7 @@ int my_device_unregister(struct device *dev); int my_schedule_timeout(int x); #define wake_up(x) my_wake_up(x) -void my_wake_up(void*); +void my_wake_up(PKEVENT); // cannot be mapped via macro due to collision with urb->complete static void __inline__ complete(struct completion *p) @@ -681,7 +759,7 @@ static void __inline__ complete(struct completion *p) } #define kernel_thread(a,b,c) my_kernel_thread(a,b,c) -int my_kernel_thread(int (*handler)(void*), void* parm, int flags); +int my_kernel_thread(int STDCALL (*handler)(void*), void* parm, int flags); /*------------------------------------------------------------------------*/ /* PCI, simple and inlined... */ @@ -714,7 +792,7 @@ struct my_irqs { void handle_irqs(int irq); void inc_jiffies(int); -void init_wrapper(void); +void init_wrapper(struct pci_dev *pci_dev); void do_all_timers(void); #define __KERNEL_DS 0x18 diff --git a/reactos/drivers/usb/cromwell/linux/pci_hal.c b/reactos/drivers/usb/cromwell/linux/pci_hal.c index 4008b8412ff..1fed7ddb4f4 100644 --- a/reactos/drivers/usb/cromwell/linux/pci_hal.c +++ b/reactos/drivers/usb/cromwell/linux/pci_hal.c @@ -1,29 +1,45 @@ // PCI -> HAL interface // this file is part of linux_wrapper.h +//FIXME: Move this file, make its definitions more general +#include "../host/ohci_main.h" + /* Initialize device before it's used by a driver. Ask low-level code to enable I/O and memory. Wake up the device if it was suspended. Beware, this function can fail. */ static int __inline__ pci_enable_device(struct pci_dev *dev) { + DPRINT1("pci_enable_device() called...\n"); return 0; } // Get physical address where resource x resides -static unsigned long __inline__ pci_resource_start (struct pci_dev *dev, int x) +static PHYSICAL_ADDRESS __inline__ pci_resource_start (struct pci_dev *dev, int x) { - // HalGetBusData... - // HalAssignSlotResources ? - return dev->base[x]; + POHCI_DEVICE_EXTENSION dev_ext = (POHCI_DEVICE_EXTENSION)dev->dev_ext; + DPRINT1("pci_resource_start() called, x=0x%x\n", x); + + //FIXME: Take x into account + return dev_ext->BaseAddress; + //return dev->base[x]; } // ??? -static unsigned long __inline__ pci_resource_len (struct pci_dev *dev, int x){return 0;} +static unsigned long __inline__ pci_resource_len (struct pci_dev *dev, int x) +{ + POHCI_DEVICE_EXTENSION ext = (POHCI_DEVICE_EXTENSION)dev->dev_ext; + + DPRINT1("pci_resource_len() called, x=0x%x\n", x); + + //FIXME: Take x into account + return ext->BaseAddrLength; +} // ??? static int __inline__ pci_resource_flags(struct pci_dev *dev, int x) { + DPRINT1("pci_resource_flags() called, x=0x%x\n"); return dev->flags[x]; } @@ -35,6 +51,7 @@ static int __inline__ pci_set_master(struct pci_dev *dev) {return 0;} // Store pointer to data for this device static int __inline__ pci_set_drvdata(struct pci_dev *dev, void* d) { + DPRINT1("pci_set_drvdata() called...\n"); dev->data=(void*)d; return 0; } @@ -42,6 +59,7 @@ static int __inline__ pci_set_drvdata(struct pci_dev *dev, void* d) // Get pointer to previously saved data static void __inline__ *pci_get_drvdata(struct pci_dev *dev) { + DPRINT1("pci_get_drvdata() called...\n"); return dev->data; } @@ -59,16 +77,25 @@ start begin of region n length of region name name of requester */ -static int __inline__ request_region(unsigned long addr, unsigned long len, const char * d){return 0;} +static int __inline__ request_region(PHYSICAL_ADDRESS addr, unsigned long len, const char * d) +{ + DPRINT1("request_region(): addr=0x%x, len=0x%x\n", addr, len); + return 0; +} /* Unmap I/O memory from kernel address space. Parameters: addr virtual start address + */ static int __inline__ iounmap(void* p) { + DPRINT1("iounmap(): p=0x%x. FIXME - how to obtain len of mapped region?\n", p); + + //MmUnnapIoSpace(p); + return 0; } @@ -79,7 +106,11 @@ Parameters: start begin of region n length of region */ -static int __inline__ release_region(unsigned long addr, unsigned long len){return 0;} +static int __inline__ release_region(PHYSICAL_ADDRESS addr, unsigned long len) +{ + DPRINT1("release_region(): addr=0x%x, len=0x%x\n", addr, len); + return 0; +} /* Allocate I/O memory region. @@ -89,8 +120,9 @@ start begin of region n length of region name name of requester */ -static int __inline__ request_mem_region(unsigned long addr, unsigned long len, const char * d) +static int __inline__ request_mem_region(PHYSICAL_ADDRESS addr, unsigned long len, const char * d) { + DPRINT1("request_mem_region(): addr=0x%x, len=0x%x\n", addr, len); return 1; } @@ -104,10 +136,12 @@ size size of physical address range Returns: virtual start address of mapped range */ -static void __inline__ *ioremap_nocache(unsigned long addr, unsigned long len) +static void __inline__ *ioremap_nocache(PHYSICAL_ADDRESS addr, unsigned long len) { - // MmMapIoSpace ? - return (void*)addr; + // MmMapIoSpace with NoCache param + DPRINT1("ioremap_nocache(): addr=0x%x, len=0x%x\n", addr, len); + + return MmMapIoSpace(addr, len, MmNonCached); } /* @@ -117,7 +151,8 @@ Parameters: start begin of region n length of region */ -static int __inline__ release_mem_region(unsigned long addr, unsigned long len) +static int __inline__ release_mem_region(PHYSICAL_ADDRESS addr, unsigned long len) { + DPRINT1("release_mem_region(): addr=0x%x, len=0x%x\n", addr, len); return 0; } diff --git a/reactos/drivers/usb/cromwell/linux/pci_ids.h b/reactos/drivers/usb/cromwell/linux/pci_ids.h index 73c93372e04..77a15698745 100644 --- a/reactos/drivers/usb/cromwell/linux/pci_ids.h +++ b/reactos/drivers/usb/cromwell/linux/pci_ids.h @@ -5,7 +5,10 @@ #define PCI_DEVICE_ID_NS_87560_LIO 0x000e #define PCI_VENDOR_ID_AMD 0x1022 #define PCI_VENDOR_ID_OPTI 0x1045 +#define PCI_VENDOR_ID_VIA 0x1106 +#define PCI_VENDOR_ID_INTEL 0x8086 #define PCI_CLASS_SERIAL_USB (PCI_CLASS_SERIAL_BUS_CTLR << 8 + PCI_SUBCLASS_SB_USB) -#endif \ No newline at end of file +#endif + diff --git a/reactos/drivers/usb/cromwell/sys/linuxwrapper.c b/reactos/drivers/usb/cromwell/sys/linuxwrapper.c index fce04d21250..39791eaf2d2 100644 --- a/reactos/drivers/usb/cromwell/sys/linuxwrapper.c +++ b/reactos/drivers/usb/cromwell/sys/linuxwrapper.c @@ -47,7 +47,7 @@ static int drvs_num; * Helper functions for top-level system */ /*------------------------------------------------------------------------*/ -void init_wrapper(void) +void init_wrapper(struct pci_dev *probe_dev) { int n; for(n=0;ndone); } /*------------------------------------------------------------------------*/ +void my_interruptible_sleep_on(PKEVENT evnt) +{ + KeWaitForSingleObject(evnt, Executive, KernelMode, FALSE, NULL); + KeClearEvent(evnt); // reset to not-signalled +} +/*------------------------------------------------------------------------*/ // Helper for pci_module_init /*------------------------------------------------------------------------*/ int my_pci_module_init(struct pci_driver *x) @@ -269,3 +311,54 @@ int my_free_irq(int irq, void* p) return 0; } /*------------------------------------------------------------------------*/ +// Lookaside funcs +/*------------------------------------------------------------------------*/ +kmem_cache_t *my_kmem_cache_create(const char *tag, size_t alloc_size, + size_t offset, unsigned long flags, + void *ctor, + void *dtor) +{ + //TODO: Take in account ctor and dtor - callbacks for alloc/free, flags and offset + //FIXME: We assume this cache is always NPaged + PNPAGED_LOOKASIDE_LIST Lookaside; + ULONG Tag=0x11223344; //FIXME: Make this from tag + + Lookaside = ExAllocatePool(NonPagedPool, sizeof(NPAGED_LOOKASIDE_LIST)); + + ExInitializeNPagedLookasideList( + Lookaside, + NULL, + NULL, + 0, + alloc_size, + Tag, + 0); + + return (kmem_cache_t *)Lookaside; +} +/*------------------------------------------------------------------------*/ +void my_kmem_cache_destroy(kmem_cache_t *co) +{ + ExDeleteNPagedLookasideList((PNPAGED_LOOKASIDE_LIST)co); + + ExFreePool(co); +} +/*------------------------------------------------------------------------*/ +void *my_kmem_cache_alloc(kmem_cache_t *co, int flags) +{ + return ExAllocateFromNPagedLookasideList((PNPAGED_LOOKASIDE_LIST)co); +} +/*------------------------------------------------------------------------*/ +void my_kmem_cache_free(kmem_cache_t *co, void *ptr) +{ + ExFreeToNPagedLookasideList((PNPAGED_LOOKASIDE_LIST)co, ptr); +} +/*------------------------------------------------------------------------*/ +// DMA, not used now +/*------------------------------------------------------------------------*/ +void *my_dma_pool_alloc(struct dma_pool *pool, int gfp_flags, dma_addr_t *dma_handle) +{ + // HalAllocCommonBuffer + // But ideally IoGetDmaAdapter + return NULL; +} diff --git a/reactos/drivers/usb/cromwell/usb_wrapper.h b/reactos/drivers/usb/cromwell/usb_wrapper.h index 47e0d9bbb83..4b810cad0cb 100644 --- a/reactos/drivers/usb/cromwell/usb_wrapper.h +++ b/reactos/drivers/usb/cromwell/usb_wrapper.h @@ -12,3 +12,4 @@ void wait_ms(int mils); #define CONFIG_PCI #include "linux/usb.h" +#include "linux/pci_ids.h" \ No newline at end of file diff --git a/reactos/hal/hal/hal.c b/reactos/hal/hal/hal.c index 16aa80f5d4e..c35c577eae5 100644 --- a/reactos/hal/hal/hal.c +++ b/reactos/hal/hal/hal.c @@ -384,6 +384,8 @@ HalReadDmaCounter( PADAPTER_OBJECT AdapterObject) { UNIMPLEMENTED; + + return 0; } @@ -682,6 +684,8 @@ STDCALL KdPortDisableInterrupts() { UNIMPLEMENTED; + + return FALSE; } @@ -690,6 +694,8 @@ STDCALL KdPortEnableInterrupts() { UNIMPLEMENTED; + + return FALSE; } @@ -709,6 +715,8 @@ KeAcquireSpinLockRaiseToSynch( PKSPIN_LOCK SpinLock) { UNIMPLEMENTED; + + return 0; } diff --git a/reactos/hal/halx86/generic/timer.c b/reactos/hal/halx86/generic/timer.c index da3741a736b..78a2a3d6554 100644 --- a/reactos/hal/halx86/generic/timer.c +++ b/reactos/hal/halx86/generic/timer.c @@ -99,7 +99,7 @@ static BOOLEAN UdelayCalibrated = FALSE; * For supported compilers we use inline assembler. For the others, * portable plain C. */ -VOID STDCALL +VOID STDCALL __attribute__((noinline)) __KeStallExecutionProcessor(ULONG Loops) { if (!Loops) diff --git a/reactos/hal/halx86/include/hal.h b/reactos/hal/halx86/include/hal.h index dbd54385860..d8266191af3 100644 --- a/reactos/hal/halx86/include/hal.h +++ b/reactos/hal/halx86/include/hal.h @@ -417,13 +417,13 @@ HalQueryDisplayOwnership(); static inline BYTE Ki386ReadFsByte(ULONG offset) { BYTE b; - __asm__ __volatile__("movb %%fs:(%1),%0":"=g" (b):"0" (offset)); + __asm__ __volatile__("movb %%fs:(%1),%0":"=q" (b):"0" (offset)); return b; } static inline VOID Ki386WriteFsByte(ULONG offset, BYTE value) { - __asm__ __volatile__("movb %0,%%fs:(%1)"::"r" (value), "r" (offset)); + __asm__ __volatile__("movb %0,%%fs:(%1)"::"q" (value), "r" (offset)); } #elif defined(_MSC_VER) diff --git a/reactos/include/base.h b/reactos/include/base.h index d2c6486a478..5f8dd4ec7fc 100644 --- a/reactos/include/base.h +++ b/reactos/include/base.h @@ -412,16 +412,10 @@ typedef enum _SID_NAME_USE { #ifndef _DISABLE_TIDENTS # ifdef UNICODE -# ifndef _T -# define _T(quote) L##quote -# endif /* _T */ # ifndef _TEXT # define TEXT(quote) L##quote # endif /* _TEXT */ # else /* UNICODE */ -# ifndef _T -# define _T(quote) quote -# endif /* _T */ # ifndef _TEXT # define TEXT(quote) quote # endif /* _TEXT */ diff --git a/reactos/include/ddk/csq.h b/reactos/include/ddk/csq.h index d3d2d3ecb76..62f2d524d20 100644 --- a/reactos/include/ddk/csq.h +++ b/reactos/include/ddk/csq.h @@ -34,8 +34,8 @@ * * USAGE * - * This library follows exactly the same interface as the Microsoft Cancel-Safe Queue - * routines (IoCsqXxx()). As such, the authoritative reference is the + * This library follows exactly the same interface as the Microsoft Cancel-Safe + * Queue routines (IoCsqXxx()). As such, the authoritative reference is the * current DDK. There is also a DDK sample called "cancel" that has an * example of how to use this code. I have also provided a sample driver * that makes use of this queue. Finally, please do read the header and the diff --git a/reactos/include/ddk/extypes.h b/reactos/include/ddk/extypes.h index 2636e976207..4db6f6dd11b 100644 --- a/reactos/include/ddk/extypes.h +++ b/reactos/include/ddk/extypes.h @@ -129,7 +129,7 @@ typedef union _SLIST_HEADER ULONGLONG Alignment; struct { - SINGLE_LIST_ENTRY Next; + SLIST_ENTRY Next; USHORT Depth; USHORT Sequence; }; /* now anonymous */ diff --git a/reactos/include/ddk/fsfuncs.h b/reactos/include/ddk/fsfuncs.h index 73318687be0..629ec235e40 100644 --- a/reactos/include/ddk/fsfuncs.h +++ b/reactos/include/ddk/fsfuncs.h @@ -617,7 +617,7 @@ FsRtlNotifyReportChange ( ); VOID STDCALL -FsRtlNotifyInitializeSync(IN OUT PNOTIFY_SYNC NotifySync); +FsRtlNotifyInitializeSync(IN OUT PNOTIFY_SYNC *NotifySync); NTSTATUS STDCALL FsRtlNotifyVolumeEvent(IN PFILE_OBJECT FileObject, diff --git a/reactos/include/ddk/kefuncs.h b/reactos/include/ddk/kefuncs.h index 038bbd26cd3..e28a5bae9f3 100644 --- a/reactos/include/ddk/kefuncs.h +++ b/reactos/include/ddk/kefuncs.h @@ -246,6 +246,12 @@ KeQueryTimeIncrement ( VOID ); +ULONGLONG +STDCALL +KeQueryInterruptTime( + VOID + ); + VOID STDCALL KeRaiseIrql ( diff --git a/reactos/include/ddk/psfuncs.h b/reactos/include/ddk/psfuncs.h index 92bee18dc06..cca162f1c33 100644 --- a/reactos/include/ddk/psfuncs.h +++ b/reactos/include/ddk/psfuncs.h @@ -403,7 +403,7 @@ NTSTATUS STDCALL PsLookupProcessThreadByCid(IN PCLIENT_ID Cid, OUT struct _ETHREAD **Thread); /* OUT PETHREAD *Thread); */ -NTSTATUS STDCALL PsLookupThreadByThreadId(IN PVOID ThreadId, +NTSTATUS STDCALL PsLookupThreadByThreadId(IN HANDLE ThreadId, OUT struct _ETHREAD **Thread); /* OUT PETHREAD *Thread); */ diff --git a/reactos/include/ddk/types.h b/reactos/include/ddk/types.h index cd94f69c9e0..bf024aa92c7 100644 --- a/reactos/include/ddk/types.h +++ b/reactos/include/ddk/types.h @@ -8,7 +8,7 @@ typedef ULONG KAFFINITY, *PKAFFINITY; /* * Various other types (all quite pointless) */ -typedef CCHAR KPROCESSOR_MODE; +typedef UCHAR KPROCESSOR_MODE; typedef UCHAR KIRQL; typedef KIRQL* PKIRQL; typedef ULONG IO_ALLOCATION_ACTION; diff --git a/reactos/subsys/system/explorer/utility/expat.h b/reactos/include/expat/expat.h similarity index 92% rename from reactos/subsys/system/explorer/utility/expat.h rename to reactos/include/expat/expat.h index b34f94ea8dd..ac1053f692f 100644 --- a/reactos/subsys/system/explorer/utility/expat.h +++ b/reactos/include/expat/expat.h @@ -2,8 +2,8 @@ See the file COPYING for copying permission. */ -#ifndef XmlParse_INCLUDED -#define XmlParse_INCLUDED 1 +#ifndef Expat_INCLUDED +#define Expat_INCLUDED 1 #ifdef __VMS /* 0 1 2 3 0 1 2 3 @@ -15,98 +15,15 @@ #endif #include - -#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) -#define XML_USE_MSC_EXTENSIONS 1 -#endif - -/* Expat tries very hard to make the API boundary very specifically - defined. There are two macros defined to control this boundary; - each of these can be defined before including this header to - achieve some different behavior, but doing so it not recommended or - tested frequently. - - XMLCALL - The calling convention to use for all calls across the - "library boundary." This will default to cdecl, and - try really hard to tell the compiler that's what we - want. - - XMLIMPORT - Whatever magic is needed to note that a function is - to be imported from a dynamically loaded library - (.dll, .so, or .sl, depending on your platform). - - The XMLCALL macro was added in Expat 1.95.7. The only one which is - expected to be directly useful in client code is XMLCALL. - - Note that on at least some Unix versions, the Expat library must be - compiled with the cdecl calling convention as the default since - system headers may assume the cdecl convention. -*/ -#ifndef XMLCALL -#if defined(XML_USE_MSC_EXTENSIONS) -#define XMLCALL __cdecl -#elif defined(__GNUC__) && defined(__i386) -//MF#define XMLCALL __attribute__((cdecl)) -#define XMLCALL//MF -#else -/* For any platform which uses this definition and supports more than - one calling convention, we need to extend this definition to - declare the convention used on that platform, if it's possible to - do so. - - If this is the case for your platform, please file a bug report - with information on how to identify your platform via the C - pre-processor and how to specify the same calling convention as the - platform's malloc() implementation. -*/ -#define XMLCALL -#endif -#endif /* not defined XMLCALL */ - - -#if !defined(XML_STATIC) && !defined(XMLIMPORT) -#ifndef XML_BUILDING_EXPAT -/* using Expat from an application */ - -#ifdef XML_USE_MSC_EXTENSIONS -#define XMLIMPORT __declspec(dllimport) -#endif - -#endif -#endif /* not defined XML_STATIC */ - -/* If we didn't define it above, define it away: */ -#ifndef XMLIMPORT -#define XMLIMPORT -#endif - - -#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL +#include "expat_external.h" #ifdef __cplusplus extern "C" { #endif -#ifdef XML_UNICODE_WCHAR_T -#define XML_UNICODE -#endif - struct XML_ParserStruct; typedef struct XML_ParserStruct *XML_Parser; -#ifdef XML_UNICODE /* Information is UTF-16 encoded. */ -#ifdef XML_UNICODE_WCHAR_T -typedef wchar_t XML_Char; -typedef wchar_t XML_LChar; -#else -typedef unsigned short XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE_WCHAR_T */ -#else /* Information is UTF-8 encoded. */ -typedef char XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE */ - /* Should this be defined using stdbool.h when C99 is available? */ typedef unsigned char XML_Bool; #define XML_TRUE ((XML_Bool) 1) @@ -130,7 +47,7 @@ enum XML_Status { #define XML_STATUS_ERROR XML_STATUS_ERROR XML_STATUS_OK = 1, #define XML_STATUS_OK XML_STATUS_OK - XML_STATUS_SUSPENDED = 2, + XML_STATUS_SUSPENDED = 2 #define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED }; @@ -162,12 +79,23 @@ enum XML_Error { XML_ERROR_ENTITY_DECLARED_IN_PE, XML_ERROR_FEATURE_REQUIRES_XML_DTD, XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING, + /* Added in 1.95.7. */ XML_ERROR_UNBOUND_PREFIX, + /* Added in 1.95.8. */ + XML_ERROR_UNDECLARING_PREFIX, + XML_ERROR_INCOMPLETE_PE, + XML_ERROR_XML_DECL, + XML_ERROR_TEXT_DECL, + XML_ERROR_PUBLICID, XML_ERROR_SUSPENDED, XML_ERROR_NOT_SUSPENDED, XML_ERROR_ABORTED, XML_ERROR_FINISHED, - XML_ERROR_SUSPEND_PE + XML_ERROR_SUSPEND_PE, + /* Added in 2.0. */ + XML_ERROR_RESERVED_PREFIX_XML, + XML_ERROR_RESERVED_PREFIX_XMLNS, + XML_ERROR_RESERVED_NAMESPACE_URI }; enum XML_Content_Type { @@ -266,9 +194,9 @@ XML_SetXmlDeclHandler(XML_Parser parser, typedef struct { - void *(XMLCALL *malloc_fcn)(size_t size); - void *(XMLCALL *realloc_fcn)(void *ptr, size_t size); - void (XMLCALL *free_fcn)(void *ptr); + void *(*malloc_fcn)(size_t size); + void *(*realloc_fcn)(void *ptr, size_t size); + void (*free_fcn)(void *ptr); } XML_Memory_Handling_Suite; /* Constructs a new parser; encoding is the encoding specified by the @@ -285,8 +213,8 @@ XML_ParserCreate(const XML_Char *encoding); URI, the namespace separator character, and the local part of the name. If the namespace separator is '\0' then the namespace URI and the local part will be concatenated without any separator. - When a namespace is not declared, the name and prefix will be - passed through without expansion. + It is a programming error to use the separator '\0' with namespace + triplets (see XML_SetReturnNSTriplet). */ XMLPARSEAPI(XML_Parser) XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator); @@ -766,6 +694,9 @@ XML_UseParserAsHandlerArg(XML_Parser parser); specified in the document. In such a case the parser will call the externalEntityRefHandler with a value of NULL for the systemId argument (the publicId and context arguments will be NULL as well). + Note: For the purpose of checking WFC: Entity Declared, passing + useDTD == XML_TRUE will make the parser behave as if the document + had a DTD with an external subset. Note: If this function is called, then this must be done before the first call to XML_Parse or XML_ParseBuffer, since it will have no effect after that. Returns @@ -1051,7 +982,8 @@ enum XML_FeatureEnum { XML_FEATURE_CONTEXT_BYTES, XML_FEATURE_MIN_SIZE, XML_FEATURE_SIZEOF_XML_CHAR, - XML_FEATURE_SIZEOF_XML_LCHAR + XML_FEATURE_SIZEOF_XML_LCHAR, + XML_FEATURE_NS /* Additional features must be added to the end of this enum. */ }; @@ -1078,4 +1010,4 @@ XML_GetFeatureList(void); } #endif -#endif /* not XmlParse_INCLUDED */ +#endif /* not Expat_INCLUDED */ diff --git a/reactos/include/expat/expat_external.h b/reactos/include/expat/expat_external.h new file mode 100644 index 00000000000..7202e119a40 --- /dev/null +++ b/reactos/include/expat/expat_external.h @@ -0,0 +1,101 @@ +/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd + See the file COPYING for copying permission. +*/ + +#ifndef Expat_External_INCLUDED +#define Expat_External_INCLUDED 1 + +/* External API definitions */ + +#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) +#define XML_USE_MSC_EXTENSIONS 1 +#endif + +/* Expat tries very hard to make the API boundary very specifically + defined. There are two macros defined to control this boundary; + each of these can be defined before including this header to + achieve some different behavior, but doing so it not recommended or + tested frequently. + + XMLCALL - The calling convention to use for all calls across the + "library boundary." This will default to cdecl, and + try really hard to tell the compiler that's what we + want. + + XMLIMPORT - Whatever magic is needed to note that a function is + to be imported from a dynamically loaded library + (.dll, .so, or .sl, depending on your platform). + + The XMLCALL macro was added in Expat 1.95.7. The only one which is + expected to be directly useful in client code is XMLCALL. + + Note that on at least some Unix versions, the Expat library must be + compiled with the cdecl calling convention as the default since + system headers may assume the cdecl convention. +*/ +#ifndef XMLCALL +#if defined(XML_USE_MSC_EXTENSIONS) +#define XMLCALL __cdecl +#elif defined(__GNUC__) && defined(__i386) +#define XMLCALL __attribute__((cdecl)) +#else +/* For any platform which uses this definition and supports more than + one calling convention, we need to extend this definition to + declare the convention used on that platform, if it's possible to + do so. + + If this is the case for your platform, please file a bug report + with information on how to identify your platform via the C + pre-processor and how to specify the same calling convention as the + platform's malloc() implementation. +*/ +#define XMLCALL +#endif +#endif /* not defined XMLCALL */ + + +#if !defined(XML_STATIC) && !defined(XMLIMPORT) +#ifndef XML_BUILDING_EXPAT +/* using Expat from an application */ + +#ifdef XML_USE_MSC_EXTENSIONS +#define XMLIMPORT __declspec(dllimport) +#endif + +#endif +#endif /* not defined XML_STATIC */ + +/* If we didn't define it above, define it away: */ +#ifndef XMLIMPORT +#define XMLIMPORT +#endif + + +#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef XML_UNICODE_WCHAR_T +#define XML_UNICODE +#endif + +#ifdef XML_UNICODE /* Information is UTF-16 encoded. */ +#ifdef XML_UNICODE_WCHAR_T +typedef wchar_t XML_Char; +typedef wchar_t XML_LChar; +#else +typedef unsigned short XML_Char; +typedef char XML_LChar; +#endif /* XML_UNICODE_WCHAR_T */ +#else /* Information is UTF-8 encoded. */ +typedef char XML_Char; +typedef char XML_LChar; +#endif /* XML_UNICODE */ + +#ifdef __cplusplus +} +#endif + +#endif /* not Expat_External_INCLUDED */ diff --git a/reactos/include/lsass/lsasrv.h b/reactos/include/lsass/lsasrv.h new file mode 100644 index 00000000000..aaf12e14db7 --- /dev/null +++ b/reactos/include/lsass/lsasrv.h @@ -0,0 +1,8 @@ + +#ifndef __LSASRV_H +#define __LSASRV_H + +NTSTATUS STDCALL +LsapInitLsa(VOID); + +#endif /* __LSASRV_H */ diff --git a/reactos/include/msvcrt/alloc.h b/reactos/include/msvcrt/alloc.h deleted file mode 100644 index c4ba00eb2ca..00000000000 --- a/reactos/include/msvcrt/alloc.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * alloc.h - * - * Memory management functions. Because most of these functions are - * actually declared in stdlib.h I have decided to simply include that - * header file. This file is included by malloc.h. My head hurts... - * - * NOTE: In the version of the Standard C++ Library from Cygnus there - * is also an alloc.h which needs to be on your include path. Most of - * the time I think the most sensible option would be to get rid of - * this file. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _ALLOC_H_ -#define _ALLOC_H_ - -#include - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The structure used to walk through the heap with _heapwalk. - * TODO: This is a guess at the internals of this structure. - */ -typedef struct _heapinfo -{ - void* ptr; - unsigned int size; - int in_use; -} _HEAPINFO; - -int _heapwalk(_HEAPINFO* pHeapinfo); - -#ifdef __GNUC__ -#ifdef USE_C_ALLOCA -void* C_alloca(size_t size); -#define _alloca(x) C_alloca(x) -#else /* USE_C_ALLOCA */ -#define _alloca(x) __builtin_alloca(x) -#endif /* USE_C_ALLOCA */ -#else /* __GNUC__ */ -void* _alloca(size_t size); -#endif /* __GNUC__ */ - - -#ifndef _NO_OLDNAMES -#define heapwalk(x) _heapwalk(x) -#define alloca(s) _alloca(s) -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _ALLOC_H_ */ - -#endif /* Not __STRICT_ANSI__ */ - diff --git a/reactos/include/msvcrt/assert.h b/reactos/include/msvcrt/assert.h deleted file mode 100644 index d3bad6857e2..00000000000 --- a/reactos/include/msvcrt/assert.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * assert.h - * - * Define the assert macro for debug output. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _ASSERT_H_ -#define _ASSERT_H_ - - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef NDEBUG - -/* - * If not debugging, assert does nothing. - */ -#define assert(x) ((void)0) - -#else /* debugging enabled */ - -/* - * CRTDLL nicely supplies a function which does the actual output and - * call to abort. - */ -#ifndef __ATTRIB_NORETURN -#ifdef __GNUC__ -#define _ATTRIB_NORETURN __attribute__ ((noreturn)) -#else /* Not __GNUC__ */ -#define _ATTRIB_NORETURN -#endif /* __GNUC__ */ -#endif - -void _assert(const char* szExpression, const char* szFileName, int nLine) _ATTRIB_NORETURN; - -/* - * Definition of the assert macro. - */ -#define assert(x) if(!(x)) _assert( #x , __FILE__, __LINE__); -#endif /* NDEBUG */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not _ASSERT_H_ */ - diff --git a/reactos/include/msvcrt/conio.h b/reactos/include/msvcrt/conio.h deleted file mode 100644 index 847cad56ccb..00000000000 --- a/reactos/include/msvcrt/conio.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * conio.h - * - * Low level console I/O functions. Pretty please try to use the ANSI - * standard ones if you are writing new code. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _CONIO_H_ -#define _CONIO_H_ - -#ifdef __cplusplus -extern "C" { -#endif - - -char* _cgets(char*); -int _cprintf(const char*, ...); -int _cputs(const char*); -int _cscanf(char*, ...); -int _getch(void); -int _getche(void); -int _kbhit(void); -int _putch(int); -int _ungetch(int); - -#ifndef _NO_OLDNAMES -#define getch _getch -#define getche _getche -#define kbhit _kbhit -#define putch(cPut) _putch(cPut) -#define ungetch(cUnget) _ungetch(cUnget) -#endif /* Not _NO_OLDNAMES */ - - -#ifdef __cplusplus -} -#endif - -#endif /* Not _CONIO_H_ */ - -#endif /* Not __STRICT_ANSI__ */ diff --git a/reactos/include/msvcrt/ctype.h b/reactos/include/msvcrt/ctype.h deleted file mode 100644 index f34aa479261..00000000000 --- a/reactos/include/msvcrt/ctype.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * ctype.h - * - * Functions for testing character types and converting characters. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.10 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _CTYPE_H_ -#define _CTYPE_H_ - -#define __need_wchar_t -#define __need_wint_t -#include - - -/* - * The following flags are used to tell iswctype and _isctype what character - * types you are looking for. - */ -#define _UPPER 0x0001 -#define _LOWER 0x0002 -#define _DIGIT 0x0004 -#define _SPACE 0x0008 /* HT LF VT FF CR SP */ -#define _PUNCT 0x0010 -#define _CONTROL 0x0020 -#define _BLANK 0x0040 /* this is SP only, not SP and HT as in C99 */ -#define _HEX 0x0080 -#define _LEADBYTE 0x8000 - -#define _ALPHA 0x0103 - - -#ifdef __cplusplus -extern "C" { -#endif - -int isalnum(int); -int isalpha(int); -int iscntrl(int); -int isdigit(int); -int isgraph(int); -int islower(int); -int isprint(int); -int ispunct(int); -int isspace(int); -int isupper(int); -int isxdigit(int); - -#ifndef __STRICT_ANSI__ -int _isctype (unsigned int, int); -#endif - -/* These are the ANSI versions, with correct checking of argument */ -int tolower(int); -int toupper(int); - -/* - * NOTE: The above are not old name type wrappers, but functions exported - * explicitly by MSVCRT/CRTDLL. However, underscored versions are also - * exported. - */ -#ifndef __STRICT_ANSI__ -/* - * These are the cheap non-std versions: The return values are undefined - * if the argument is not ASCII char or is not of appropriate case - */ -int _tolower(int); -int _toupper(int); -#endif - -/* - * TODO: MB_CUR_MAX should be defined here (if not already defined, since - * it should also be defined in stdlib.h). It is supposed to be the - * maximum number of bytes in a multi-byte character in the current - * locale. Perhaps accessible through the __mb_curr_max_dll entry point, - * but I think (again) that that is a variable pointer, which leads to - * problems under the current Cygwin compiler distribution. - */ - -typedef int wctype_t; - - -/* Wide character equivalents */ -#ifndef WEOF -#define WEOF (wchar_t)(0xFFFF) -#endif - -int iswalnum(wint_t); -int iswalpha(wint_t); -int iswascii(wint_t); -int iswcntrl(wint_t); -int iswctype(wint_t, wctype_t); -int is_wctype(wint_t, wctype_t); /* Obsolete! */ -int iswdigit(wint_t); -int iswgraph(wint_t); -int iswlower(wint_t); -int iswprint(wint_t); -int iswpunct(wint_t); -int iswspace(wint_t); -int iswupper(wint_t); -int iswxdigit(wint_t); - -wchar_t towlower(wchar_t); -wchar_t towupper(wchar_t); - -int isleadbyte(int); - -#ifndef __STRICT_ANSI__ -int __isascii(int); -int __toascii(int); -int __iscsymf(int); /* Valid first character in C symbol */ -int __iscsym(int); /* Valid character in C symbol (after first) */ - -#ifndef _NO_OLDNAMES -#define isascii(c) __isascii(c) -#define toascii(c) _toascii(c) -#define iscsymf(c) __iscsymf(c) -#define iscsym(c) __iscsym(c) -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not __STRICT_ANSI__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not _CTYPE_H_ */ diff --git a/reactos/include/msvcrt/dir.h b/reactos/include/msvcrt/dir.h deleted file mode 100644 index f976bab5bcc..00000000000 --- a/reactos/include/msvcrt/dir.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * dir.h - * - * Functions for working with directories and path names. - * This file OBSOLESCENT and only provided for backward compatibility. - * Please use io.h instead. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.6 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _DIR_H_ -#define _DIR_H_ - -#include /* To get FILENAME_MAX... ugly. */ -#include /* To get time_t. */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Attributes of files as returned by _findfirst et al. - */ -#define _A_NORMAL 0x00000000 -#define _A_RDONLY 0x00000001 -#define _A_HIDDEN 0x00000002 -#define _A_SYSTEM 0x00000004 -#define _A_VOLID 0x00000008 -#define _A_SUBDIR 0x00000010 -#define _A_ARCH 0x00000020 - -#ifndef _FSIZE_T_DEFINED -typedef unsigned long _fsize_t; -#define _FSIZE_T_DEFINED -#endif - -/* - * The following structures are filled in by _findfirst or _findnext when - * they succeed in finding a match. - */ -struct _finddata_t -{ - unsigned attrib; /* Attributes, see constants above. */ - time_t time_create; - time_t time_access; /* always midnight local time */ - time_t time_write; - _fsize_t size; - char name[FILENAME_MAX]; /* may include spaces. */ -}; - -struct _finddatai64_t -{ - unsigned attrib; /* Attributes, see constants above. */ - time_t time_create; - time_t time_access; /* always midnight local time */ - time_t time_write; - __int64 size; - char name[FILENAME_MAX]; /* may include spaces. */ -}; - -struct _wfinddata_t -{ - unsigned attrib; /* Attributes, see constants above. */ - time_t time_create; - time_t time_access; /* always midnight local time */ - time_t time_write; - _fsize_t size; - wchar_t name[FILENAME_MAX]; /* may include spaces. */ -}; - -struct _wfinddatai64_t -{ - unsigned attrib; /* Attributes, see constants above. */ - time_t time_create; - time_t time_access; /* always midnight local time */ - time_t time_write; - __int64 size; - wchar_t name[FILENAME_MAX]; /* may include spaces. */ -}; - -/* - * Functions for searching for files. _findfirst returns -1 if no match - * is found. Otherwise it returns a handle to be used in _findnext and - * _findclose calls. _findnext also returns -1 if no match could be found, - * and 0 if a match was found. Call _findclose when you are finished. - */ -int _findclose(int nHandle); -int _findfirst(const char* szFilespec, struct _finddata_t* find); -int _findnext(int nHandle, struct _finddata_t* find); -int _findfirsti64(const char* szFilespec, struct _finddatai64_t* find); -int _findnexti64(int nHandle, struct _finddatai64_t* find); -/* Wide character versions */ -int _wfindfirst(const wchar_t *_name, struct _wfinddata_t *result); -int _wfindfirsti64(const wchar_t *_name, struct _wfinddatai64_t *result); -int _wfindnext(int handle, struct _wfinddata_t *result); -int _wfindnexti64(int handle, struct _wfinddatai64_t *result); - -int _chdir(const char* szPath); -char* _getcwd(char* caBuffer, int nBufferSize); -int _mkdir(const char* szPath); -char* _mktemp(char* szTemplate); -int _rmdir(const char* szPath); - -/* Wide character versions */ -int _wchdir(const wchar_t *szPath); -wchar_t* _wgetcwd(wchar_t *buffer, int maxlen); -int _wmkdir(const wchar_t *_path); -wchar_t* _wmktemp(wchar_t *_template); -int _wrmdir(const wchar_t *_path); - - -#ifndef _NO_OLDNAMES - -int chdir(const char* szPath); -char* getcwd(char* caBuffer, int nBufferSize); -int mkdir(const char* szPath); -char* mktemp(char* szTemplate); -int rmdir(const char* szPath); - -#endif /* Not _NO_OLDNAMES */ - - -#ifdef __cplusplus -} -#endif - -#endif /* Not _DIR_H_ */ - -#endif /* Not __STRICT_ANSI__ */ diff --git a/reactos/include/msvcrt/direct.h b/reactos/include/msvcrt/direct.h deleted file mode 100644 index 4c487241268..00000000000 --- a/reactos/include/msvcrt/direct.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * direct.h - * - * Functions for manipulating paths and directories (included from io.h) - * plus functions for setting the current drive. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _DIRECT_H_ -#define _DIRECT_H_ - -#ifndef _WCHAR_T_ -typedef unsigned short wchar_t; -#define _WCHAR_T_ -#endif - -#ifndef _SIZE_T_ -typedef unsigned int size_t; -#define _SIZE_T_ -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -struct _diskfree_t { - unsigned short total_clusters; - unsigned short avail_clusters; - unsigned short sectors_per_cluster; - unsigned short bytes_per_sector; -}; - -int _getdrive(void); -int _chdrive(int); -char* _getcwd(char*, int); - -unsigned int _getdiskfree(unsigned int, struct _diskfree_t*); - -int _chdir(const char*); -int _mkdir(const char*); -int _rmdir(const char*); - -#define chdir _chdir -#define getcwd _getcwd -#define mkdir _mkdir -#define rmdir _rmdir - -char* _getdcwd(int nDrive, char* caBuffer, int nBufLen); - -wchar_t* _wgetcwd(wchar_t *buffer, int maxlen); -wchar_t* _wgetdcwd(int nDrive, wchar_t* caBuffer, int nBufLen); - -int _wchdir(const wchar_t* _path); -int _wmkdir(const wchar_t* _path); -int _wrmdir(const wchar_t* _path); - -#ifdef __cplusplus -} -#endif - -#endif /* Not _DIRECT_H_ */ - diff --git a/reactos/include/msvcrt/errno.h b/reactos/include/msvcrt/errno.h deleted file mode 100644 index bff44828e04..00000000000 --- a/reactos/include/msvcrt/errno.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * errno.h - * - * Error numbers and access to error reporting. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.7 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _ERRNO_H_ -#define _ERRNO_H_ - -/* - * Error numbers. - * TODO: Can't be sure of some of these assignments, I guessed from the - * names given by strerror and the defines in the Cygnus errno.h. A lot - * of the names from the Cygnus errno.h are not represented, and a few - * of the descriptions returned by strerror do not obviously match - * their error naming. - */ -#define EPERM 1 /* Operation not permitted */ -#define ENOFILE 2 /* No such file or directory */ -#define ENOENT 2 -#define ESRCH 3 /* No such process */ -#define EINTR 4 /* Interrupted function call */ -#define EIO 5 /* Input/output error */ -#define ENXIO 6 /* No such device or address */ -#define E2BIG 7 /* Arg list too long */ -#define ENOEXEC 8 /* Exec format error */ -#define EBADF 9 /* Bad file descriptor */ -#define ECHILD 10 /* No child processes */ -#define EAGAIN 11 /* Resource temporarily unavailable */ -#define ENOMEM 12 /* Not enough space */ -#define EACCES 13 /* Permission denied */ -#define EFAULT 14 /* Bad address */ -/* 15 - Unknown Error */ -#define EBUSY 16 /* strerror reports "Resource device" */ -#define EEXIST 17 /* File exists */ -#define EXDEV 18 /* Improper link (cross-device link?) */ -#define ENODEV 19 /* No such device */ -#define ENOTDIR 20 /* Not a directory */ -#define EISDIR 21 /* Is a directory */ -#define EINVAL 22 /* Invalid argument */ -#define ENFILE 23 /* Too many open files in system */ -#define EMFILE 24 /* Too many open files */ -#define ENOTTY 25 /* Inappropriate I/O control operation */ -/* 26 - Unknown Error */ -#define EFBIG 27 /* File too large */ -#define ENOSPC 28 /* No space left on device */ -#define ESPIPE 29 /* Invalid seek (seek on a pipe?) */ -#define EROFS 30 /* Read-only file system */ -#define EMLINK 31 /* Too many links */ -#define EPIPE 32 /* Broken pipe */ -#define EDOM 33 /* Domain error (math functions) */ -#define ERANGE 34 /* Result too large (possibly too small) */ -/* 35 - Unknown Error */ -#define EDEADLOCK 36 /* Resource deadlock avoided (non-Cyg) */ -#define EDEADLK 36 -/* 37 - Unknown Error */ -#define ENAMETOOLONG 38 /* Filename too long (91 in Cyg?) */ -#define ENOLCK 39 /* No locks available (46 in Cyg?) */ -#define ENOSYS 40 /* Function not implemented (88 in Cyg?) */ -#define ENOTEMPTY 41 /* Directory not empty (90 in Cyg?) */ -#define EILSEQ 42 /* Illegal byte sequence */ - -/* - * NOTE: ENAMETOOLONG and ENOTEMPTY conflict with definitions in the - * sockets.h header provided with windows32api-0.1.2. - * You should go and put an #if 0 ... #endif around the whole block - * of errors (look at the comment above them). - */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Definitions of macros for the 'variables' errno, _doserrno, sys_nerr and - * sys_errlist. - */ -int* _errno(void); -#define errno (*_errno()) - -int* __doserrno(void); -#define _doserrno (*__doserrno()) - -/* One of the MSVCRTxx libraries */ - -extern int* __imp__sys_nerr; -#ifndef sys_nerr -#define sys_nerr (*__imp__sys_nerr) -#endif - -extern char** __imp__sys_errlist; -#ifndef sys_errlist -#define sys_errlist (__imp__sys_errlist) -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* Not _ERRNO_H_ */ diff --git a/reactos/include/msvcrt/fcntl.h b/reactos/include/msvcrt/fcntl.h deleted file mode 100644 index 8c6baef632c..00000000000 --- a/reactos/include/msvcrt/fcntl.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - * fcntl.h - * - * Access constants for _open. Note that the permissions constants are - * in sys/stat.h (ick). - * - * This code is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.6 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ -/* added _O_RANDOM_O_SEQUENTIAL _O_SHORT_LIVED*/ -/* changed fmode_dll */ - -#ifndef _FCNTL_H_ -#define _FCNTL_H_ - -/* - * It appears that fcntl.h should include io.h for compatibility... - */ -#include - -/* - * This variable determines the default file mode. - * TODO: Which flags work? - */ -#if 0 -#ifdef __MSVCRT__ // || _MSVCRT_LIB_ -extern unsigned int* __imp__fmode; -#define _fmode (*__imp__fmode) -#else -/* CRTDLL */ -extern unsigned int* _fmode_dll; -#define _fmode (*_fmode_dll) -#endif -#endif /* 0 */ - -/* - * NOTE: This is the correct definition to build crtdll. - * It is NOT valid outside of crtdll. - */ -extern unsigned int* _fmode_dll; -#ifndef __USE_W32API -extern unsigned int _fmode; -#endif - -/* Specifiy one of these flags to define the access mode. */ -#define _O_RDONLY 0 -#define _O_WRONLY 1 -#define _O_RDWR 2 - -/* Mask for access mode bits in the _open flags. */ -#define _O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) - -#define _O_APPEND 0x0008 /* Writes will add to the end of the file. */ -#define _O_RANDOM 0x0010 -#define _O_SEQUENTIAL _O_RANDOM -#define _O_TEMPORARY 0x0040 /* Make the file dissappear after closing. - * WARNING: Even if not created by _open! */ -#define _O_NOINHERIT 0x0080 - -#define _O_CREAT 0x0100 /* Create the file if it does not exist. */ -#define _O_TRUNC 0x0200 /* Truncate the file if it does exist. */ -#define _O_EXCL 0x0400 /* Open only if the file does not exist. */ - -#define _O_SHORT_LIVED 0x1000 - -/* NOTE: Text is the default even if the given _O_TEXT bit is not on. */ -#define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */ -#define _O_BINARY 0x8000 /* Input and output is not translated. */ -#define _O_RAW _O_BINARY - - -#ifndef __STRICT_ANSI__ -#ifndef _NO_OLDNAMES - -/* POSIX/Non-ANSI names for increased portability */ -#define O_RDONLY _O_RDONLY -#define O_WRONLY _O_WRONLY -#define O_RDWR _O_RDWR -#define O_ACCMODE _O_ACCMODE -#define O_APPEND _O_APPEND -#define O_CREAT _O_CREAT -#define O_TRUNC _O_TRUNC -#define O_EXCL _O_EXCL -#define O_TEXT _O_TEXT -#define O_BINARY _O_BINARY -#define O_TEMPORARY _O_TEMPORARY -#define O_NOINHERIT _O_NOINHERIT - -#define O_RANDOM _O_RANDOM -#define O_SEQUENTIAL _O_RANDOM -#define O_SHORT_LIVED _O_SHORT_LIVED - -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -extern "C" { -#endif - -int _setmode (int, int); - -#ifndef _NO_OLDNAMES -int setmode (int, int); -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not __STRICT_ANSI__ */ - -#endif /* Not _FCNTL_H_ */ - diff --git a/reactos/include/msvcrt/float.h b/reactos/include/msvcrt/float.h deleted file mode 100644 index 22371f5e968..00000000000 --- a/reactos/include/msvcrt/float.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * float.h - * - * Constants related to floating point arithmetic. - * - * Also included here are some non-ANSI bits for accessing the floating - * point controller. - * - * NOTE: GCC provides float.h, and it is probably more accurate than this, - * but it doesn't include the non-standard stuff for accessing the - * fp controller. (TODO: Move those bits elsewhere?) Thus it is - * probably not a good idea to use the GCC supplied version instead - * of this header. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _FLOAT_H_ -#define _FLOAT_H_ - - -#define FLT_ROUNDS 1 -#define FLT_GUARD 1 -#define FLT_NORMALIZE 1 - -/* - * The characteristics of float. - */ - -/* The radix for floating point representation. */ -#define FLT_RADIX 2 - -/* Decimal digits of precision. */ -#define FLT_DIG 6 - -/* Smallest number such that 1+x != 1 */ -#define FLT_EPSILON 1.19209290e-07F - -/* The number of base FLT_RADIX digits in the mantissa. */ -#define FLT_MANT_DIG 24 - -/* The maximum floating point number. */ -#define FLT_MAX 3.40282347e+38F - -/* Maximum n such that FLT_RADIX^n - 1 is representable. */ -#define FLT_MAX_EXP 128 - -/* Maximum n such that 10^n is representable. */ -#define FLT_MAX_10_EXP 38 - -/* Minimum normalized floating-point number. */ -#define FLT_MIN 1.17549435e-38F - -/* Minimum n such that FLT_RADIX^n is a normalized number. */ -#define FLT_MIN_EXP (-125) - -/* Minimum n such that 10^n is a normalized number. */ -#define FLT_MIN_10_EXP (-37) - - -/* - * The characteristics of double. - */ -#define DBL_DIG 15 -#define DBL_EPSILON 1.1102230246251568e-16 -#define DBL_MANT_DIG 53 -#define DBL_MAX 1.7976931348623157e+308 -#define DBL_MAX_EXP 1024 -#define DBL_MAX_10_EXP 308 -#define DBL_MIN 2.2250738585072014e-308 -#define DBL_MIN_EXP (-1021) -#define DBL_MIN_10_EXP (-307) - - -/* - * The characteristics of long double. - * NOTE: long double is the same as double. - */ -#define LDBL_DIG 15 -#define LDBL_EPSILON 1.1102230246251568e-16L -#define LDBL_MANT_DIG 53 -#define LDBL_MAX 1.7976931348623157e+308L -#define LDBL_MAX_EXP 1024 -#define LDBL_MAX_10_EXP 308 -#define LDBL_MIN 2.2250738585072014e-308L -#define LDBL_MIN_EXP (-1021) -#define LDBL_MIN_10_EXP (-307) - - -/* - * Functions and definitions for controlling the FPU. - */ -#ifndef __STRICT_ANSI__ - -/* TODO: These constants are only valid for x86 machines */ - -/* Control word masks for unMask */ -#define _MCW_EM 0x0008001F /* Error masks */ -#define _MCW_IC 0x00040000 /* Infinity */ -#define _MCW_RC 0x00000300 /* Rounding */ -#define _MCW_PC 0x00030000 /* Precision */ - -/* Control word values for unNew (use with related unMask above) */ -#define _EM_INVALID 0x00000010 -#define _EM_DENORMAL 0x00080000 -#define _EM_ZERODIVIDE 0x00000008 -#define _EM_OVERFLOW 0x00000004 -#define _EM_UNDERFLOW 0x00000002 -#define _EM_INEXACT 0x00000001 -#define _IC_AFFINE 0x00040000 -#define _IC_PROJECTIVE 0x00000000 -#define _RC_CHOP 0x00000300 -#define _RC_UP 0x00000200 -#define _RC_DOWN 0x00000100 -#define _RC_NEAR 0x00000000 -#define _PC_24 0x00020000 -#define _PC_53 0x00010000 -#define _PC_64 0x00000000 - -/* Return values for fpclass. */ -#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */ -#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */ -#define _FPCLASS_NINF 0x0004 /* Negative Infinity */ -#define _FPCLASS_NN 0x0008 /* Negative Normal */ -#define _FPCLASS_ND 0x0010 /* Negative Denormal */ -#define _FPCLASS_NZ 0x0020 /* Negative Zero */ -#define _FPCLASS_PZ 0x0040 /* Positive Zero */ -#define _FPCLASS_PD 0x0080 /* Positive Denormal */ -#define _FPCLASS_PN 0x0100 /* Positive Normal */ -#define _FPCLASS_PINF 0x0200 /* Positive Infinity */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask), - * i.e. change the bits in unMask to have the values they have in unNew, - * leaving other bits unchanged. */ -unsigned int _controlfp(unsigned int unNew, unsigned int unMask); -unsigned int _control87(unsigned int unNew, unsigned int unMask); - - -unsigned int _clearfp(void); /* Clear the FPU status word */ -unsigned int _statusfp(void); /* Report the FPU status word */ -#define _clear87 _clearfp -#define _status87 _statusfp - - -/* - MSVCRT.dll _fpreset initializes the control register to 0x27f, - the status register to zero and the tag word to 0FFFFh. - This differs from asm instruction finit/fninit which set control - word to 0x37f (64 bit mantissa precison rather than 53 bit). - By default, the mingw version of _fpreset sets fp control as - per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when - building your application. -*/ -void _fpreset(void); /* Reset the FPU */ - -/* Global 'variable' for the current floating point error code. */ -int* __fpecode(void); -#define _fpecode (*(__fpecode())) - -/* - * IEEE recommended functions. MS puts them in float.h - * but they really belong in math.h. - */ - -double _chgsign (double); -double _copysign (double, double); -double _logb (double); -double _nextafter (double, double); -double _scalb (double, long); - -int _finite (double); -int _fpclass (double); -int _isnan (double); - -int _isinf (double); /* not exported */ -int _isnanl (long double); /* not exported */ -int _isinfl (long double); /* not exported */ - -#define isnan(x) _isnan(x) -#define isinf(x) _isinf(x) - - -#ifdef __cplusplus -} -#endif - -#endif /* Not __STRICT_ANSI__ */ - -#endif /* _FLOAT_H_ */ - diff --git a/reactos/include/msvcrt/internal/atexit.h b/reactos/include/msvcrt/internal/atexit.h deleted file mode 100644 index f2a1fccae24..00000000000 --- a/reactos/include/msvcrt/internal/atexit.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#ifndef __dj_include_libc_atexit_h__ -#define __dj_include_libc_dosexec_h__ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __dj_ENFORCE_ANSI_FREESTANDING - -#ifndef __STRICT_ANSI__ - -#ifndef _POSIX_SOURCE - -struct __atexit { - struct __atexit* __next; - void (*__function)(void); -}; - -extern struct __atexit* __atexit_ptr; - -#endif /* !_POSIX_SOURCE */ -#endif /* !__STRICT_ANSI__ */ -#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */ - -#ifndef __dj_ENFORCE_FUNCTION_CALLS -#endif /* !__dj_ENFORCE_FUNCTION_CALLS */ - -#ifdef __cplusplus -} -#endif - -#endif /* __dj_include_libc_dosexec_h__ */ diff --git a/reactos/include/msvcrt/internal/console.h b/reactos/include/msvcrt/internal/console.h deleted file mode 100644 index 6855779a9e9..00000000000 --- a/reactos/include/msvcrt/internal/console.h +++ /dev/null @@ -1,12 +0,0 @@ -/* console.h */ - -#ifndef __MSVCRT_INTERNAL_CONSOLE_H -#define __MSVCRT_INTERNAL_CONSOLE_H - -extern int char_avail; -extern int ungot_char; - -#endif /* __MSVCRT_INTERNAL_CONSOLE_H */ - -/* EOF */ - diff --git a/reactos/include/msvcrt/internal/file.h b/reactos/include/msvcrt/internal/file.h deleted file mode 100644 index 6630ffa66d3..00000000000 --- a/reactos/include/msvcrt/internal/file.h +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ - -#ifndef __dj_include_libc_file_h__ -#define __dj_include_libc_file_h__ - -#include -#include - - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __dj_ENFORCE_ANSI_FREESTANDING -#ifndef __STRICT_ANSI__ -#ifndef _POSIX_SOURCE - -#ifndef _IORMONCL -#define _IORMONCL 004000 /* remove on close, for temp files */ -#endif -/* if _flag & _IORMONCL, ._name_to_remove needs freeing */ - -#ifndef _IOUNGETC -#define _IOUNGETC 010000 /* there is an ungetc'ed character in the buffer */ -#endif - -/* might need check for IO_APPEND aswell */ -#define OPEN4WRITING(f) ((((f)->_flag & _IOWRT) == _IOWRT)) -#define OPEN4READING(f) ((((f)->_flag & _IOREAD) == _IOREAD)) - -/* might need check for IO_APPEND aswell */ -#define WRITE_STREAM(f) ((((f)->_flag & _IOWRT) == _IOWRT)) -#define READ_STREAM(f) ((((f)->_flag & _IOREAD) == _IOREAD)) - -char __validfp(FILE*); -int __set_errno(int err); -int __set_doserrno(int error); -void* filehnd(int fn); -char __is_text_file(FILE*); -int __fileno_alloc(void* hFile, int mode); -int _doprnt(const char* fmt, va_list args, FILE *); -int _doscan(FILE* iop, const char* fmt, va_list argp); -int __fileno_dup2(int handle1, int handle2); -int __fileno_getmode(int _fd); -int __fileno_setmode(int _fd, int _newmode); -int __fileno_close(int _fd); -void sigabort_handler(int sig); - -#include - -void UnixTimeToFileTime(time_t unix_time, FILETIME* filetime, DWORD remainder); -time_t FileTimeToUnixTime(const FILETIME* filetime, DWORD *remainder); - -#endif /* !_POSIX_SOURCE */ -#endif /* !__STRICT_ANSI__ */ -#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */ - -#ifndef __dj_ENFORCE_FUNCTION_CALLS -#endif /* !__dj_ENFORCE_FUNCTION_CALLS */ - -#define __FILE_REC_MAX 20 -typedef struct __file_rec -{ - struct __file_rec* next; - int count; - FILE* files[__FILE_REC_MAX]; -} __file_rec; - -extern __file_rec* __file_rec_list; - -void _dosmaperr(unsigned long oserrcode); - -extern int __fmode; - -#ifdef __cplusplus -} -#endif - -#endif /* __dj_include_libc_file_h__ */ diff --git a/reactos/include/msvcrt/internal/stdio.h b/reactos/include/msvcrt/internal/stdio.h deleted file mode 100644 index 8b84ced4934..00000000000 --- a/reactos/include/msvcrt/internal/stdio.h +++ /dev/null @@ -1,12 +0,0 @@ -/* stdio.h */ - -#ifndef __MSVCRT_INTERNAL_STDIO_H -#define __MSVCRT_INTERNAL_STDIO_H - -int __vfscanf(FILE* s, const char* format, va_list argptr); -int __vscanf(const char* format, va_list arg); -int __vsscanf(const char* s,const char* format, va_list arg); - -#endif /* __MSVCRT_INTERNAL_STDIO_H */ - -/* EOF */ diff --git a/reactos/include/msvcrt/io.h b/reactos/include/msvcrt/io.h deleted file mode 100644 index f8bb1d1aa4d..00000000000 --- a/reactos/include/msvcrt/io.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - * io.h - * - * System level I/O functions and types. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ -/* added D_OK */ -/* changed get_osfhandle and open_osfhandle */ -/* added fileno as macro */ - -#ifndef __STRICT_ANSI__ - -#ifndef _IO_H_ -#define _IO_H_ - -#include - -#include - - -/* We need the definition of FILE anyway... */ -#include - -/* MSVC's io.h contains the stuff from dir.h, so I will too. - * NOTE: This also defines off_t, the file offset type, through - * and inclusion of sys/types.h */ -#include - -/* TODO: Maximum number of open handles has not been tested, I just set - * it the same as FOPEN_MAX. */ -#define HANDLE_MAX FOPEN_MAX - - -/* Some defines for _access nAccessMode (MS doesn't define them, but - * it doesn't seem to hurt to add them). */ -#define F_OK 0 /* Check for file existence */ -#define W_OK 2 /* Check for write permission */ -#define R_OK 4 /* Check for read permission */ -/* TODO: Is this safe? X_OK not supported directly... */ -#define X_OK R_OK /* Check for execute permission */ -#define D_OK 0x10 - - - -#ifdef __cplusplus -extern "C" { -#endif - -int _access (const char*, int); -int _chsize (int, long); -int _close (int); -int _commit(int); - -/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80), - * the "owner write permission" bit (on FAT). */ -int _creat (const char*, int); -int _dup (int); -int _dup2 (int, int); -long _filelength (int); -int _fileno (FILE*); -void* _get_osfhandle (int); -int _isatty (int); - -int _chmod (const char* szPath, int nMode); -__int64 _filelengthi64(int nHandle); - -/* In a very odd turn of events this function is excluded from those - * files which define _STREAM_COMPAT. This is required in order to - * build GNU libio because of a conflict with _eof in streambuf.h - * line 107. Actually I might just be able to change the name of - * the enum member in streambuf.h... we'll see. TODO */ -#ifndef _STREAM_COMPAT -int _eof (int); -#endif - -/* LK_... locking commands defined in sys/locking.h. */ -int _locking (int, int, long); - -off_t _lseek(int, off_t, int); - -/* Optional third argument is unsigned unPermissions. */ -int _open (const char*, int, ...); - -int _open_osfhandle (void*, int); -int _pipe (int*, unsigned int, int); -size_t _read(int, void*, size_t); - -/* SH_... flags for nShFlags defined in share.h - * Optional fourth argument is unsigned unPermissions */ -int _sopen (char*, int, int, int); - -long _tell(int); -/* Should umask be in sys/stat.h and/or sys/types.h instead? */ -unsigned _umask(unsigned); -int _unlink(const char*); -size_t _write(int, const void*, size_t); - -__int64 _lseeki64(int _fildes, __int64 _offset, int _whence); -__int64 _telli64(int nHandle); - -/* Wide character versions. Also declared in wchar.h. */ -/* Not in crtdll.dll */ -int _waccess(const wchar_t*, int); -int _wchmod(const wchar_t*, int); -int _wcreat(const wchar_t*, int); - -int _wunlink(const wchar_t*); -int _wopen(const wchar_t*, int, ...); -int _wsopen(wchar_t*, int, int, int); - - -#ifndef _NO_OLDNAMES -/* - * Non-underscored versions of non-ANSI functions to improve portability. - * These functions live in libmoldname.a. - */ - -#define access _access -#define chmod _chmod -#define chsize _chsize -#define close _close -#define creat _creat -#define dup _dup -#define dup2 _dup2 -#define eof _eof -#define filelength _filelength -#define fileno(f) ((f)->_file) -#define isatty _isatty -#define lseek _lseek -#define open _open -#define read _read -#define sopen(path,access,shflag,mode) _open((path), (access)|(shflag), (mode)) -#define tell(file) _lseek(_file, 0, SEEK_CUR) -#define umask _umask -#define unlink _unlink -#define write _write - - -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* _IO_H_ not defined */ - -#endif /* Not strict ANSI */ - diff --git a/reactos/include/msvcrt/locale.h b/reactos/include/msvcrt/locale.h deleted file mode 100644 index 8c6a4b6ffc6..00000000000 --- a/reactos/include/msvcrt/locale.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * locale.h - * - * Functions and types for localization (ie. changing the appearance of - * output based on the standards of a certain country). - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _LOCALE_H_ -#define _LOCALE_H_ - - -/* - * NOTE: I have tried to test this, but I am limited by my knowledge of - * locale issues. The structure does not bomb if you look at the - * values, and 'decimal_point' even seems to be correct. But the - * rest of the values are, by default, not particularly useful - * (read meaningless and not related to the international settings - * of the system). - */ - -#define LC_ALL 0 -#define LC_COLLATE 1 -#define LC_CTYPE 2 -#define LC_MONETARY 3 -#define LC_NUMERIC 4 -#define LC_TIME 5 -#define LC_MIN LC_ALL -#define LC_MAX LC_TIME - -/* - * The structure returned by 'localeconv'. - */ -struct lconv -{ - char* decimal_point; - char* thousands_sep; - char* grouping; - char* int_curr_symbol; - char* currency_symbol; - char* mon_decimal_point; - char* mon_thousands_sep; - char* mon_grouping; - char* positive_sign; - char* negative_sign; - char int_frac_digits; - char frac_digits; - char p_cs_precedes; - char p_sep_by_space; - char n_cs_precedes; - char n_sep_by_space; - char p_sign_posn; - char n_sign_posn; -}; - -#ifdef __cplusplus -extern "C" { -#endif - -char* setlocale(int, const char*); -struct lconv* localeconv(void); - -#ifdef __cplusplus -} -#endif - -#endif /* Not _LOCALE_H_ */ - diff --git a/reactos/include/msvcrt/malloc.h b/reactos/include/msvcrt/malloc.h deleted file mode 100644 index 14ce7eb7f4d..00000000000 --- a/reactos/include/msvcrt/malloc.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * malloc.h - * - * Support for programs which want to use malloc.h to get memory management - * functions. Unless you absolutely need some of these functions and they are - * not in the ANSI headers you should use the ANSI standard header files - * instead. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _MALLOC_H_ -#define _MALLOC_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -int _heapchk(void); /* Verify heap integrety. */ -int _heapmin(void); /* Return unused heap to the OS. */ -int _heapset(unsigned int); -size_t _msize(void*); -void* _expand(void*, size_t); - -#ifdef __cplusplus -} -#endif - -#endif /* Not _MALLOC_H_ */ - -#endif /* Not __STRICT_ANSI__ */ diff --git a/reactos/include/msvcrt/math.h b/reactos/include/msvcrt/math.h deleted file mode 100644 index a818f406254..00000000000 --- a/reactos/include/msvcrt/math.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - * math.h - * - * Mathematical functions. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.6 $ - * $Author$ - * $Date$ - * - */ -/* added modfl */ - -#ifndef _MATH_H_ -#define _MATH_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * HUGE_VAL is returned by strtod when the value would overflow the - * representation of 'double'. There are other uses as well. - * - * __imp__HUGE is a pointer to the actual variable _HUGE in - * MSVCRT.DLL. If we used _HUGE directly we would get a pointer - * to a thunk function. - * - * NOTE: The CRTDLL version uses _HUGE_dll instead. - */ -#ifdef _MSVCRT_LIB_ -extern double* __imp__HUGE; -#define HUGE_VAL (*__imp__HUGE) -#else -/* CRTDLL */ -extern double* _HUGE_dll; -#define HUGE_VAL (*_HUGE_dll) -#endif - - -struct _exception -{ - int type; - char *name; - double arg1; - double arg2; - double retval; -}; - -/* - * Types for the above _exception structure. - */ - -#define _DOMAIN 1 /* domain error in argument */ -#define _SING 2 /* singularity */ -#define _OVERFLOW 3 /* range overflow */ -#define _UNDERFLOW 4 /* range underflow */ -#define _TLOSS 5 /* total loss of precision */ -#define _PLOSS 6 /* partial loss of precision */ - -/* - * Exception types with non-ANSI names for compatibility. - */ - -#ifndef __STRICT_ANSI__ -#ifndef _NO_OLDNAMES - -#define DOMAIN _DOMAIN -#define SING _SING -#define OVERFLOW _OVERFLOW -#define UNDERFLOW _UNDERFLOW -#define TLOSS _TLOSS -#define PLOSS _PLOSS - -#endif /* Not _NO_OLDNAMES */ -#endif /* Not __STRICT_ANSI__ */ - - -double sin (double x); -double cos (double x); -double tan (double x); -double sinh (double x); -double cosh (double x); -double tanh (double x); -double asin (double x); -double acos (double x); -double atan (double x); -double atan2 (double y, double x); -double exp (double x); -double log (double x); -double log10 (double x); -double pow (double x, double y); -long double powl (long double x,long double y); -double sqrt (double x); -double ceil (double x); -double floor (double x); -double fabs (double x); -double ldexp (double x, int n); -double frexp (double x, int* exp); -double modf (double x, double* ip); -long double modfl (long double x,long double* ip); -double fmod (double x, double y); - - -#ifndef __STRICT_ANSI__ - -/* Complex number (for cabs) */ -struct _complex -{ - double x; /* Real part */ - double y; /* Imaginary part */ -}; - -double _cabs (struct _complex x); -double _hypot (double x, double y); -double _j0 (double x); -double _j1 (double x); -double _jn (int n, double x); -double _y0 (double x); -double _y1 (double x); -double _yn (int n, double x); - -#endif /* Not __STRICT_ANSI__ */ - -#ifdef __cplusplus -} -#endif - - -#ifdef __MSVCRT__ -double linkme_sin(double x); -double linkme_cos(double x); -double linkme_tan(double x); -double linkme_sinh(double x); -double linkme_cosh(double x); -double linkme_tanh(double x); -double linkme_asin(double x); -double linkme_acos(double x); -double linkme_atan(double x); -double linkme_atan2(double y, double x); -double linkme_exp(double x); -double linkme_log(double x); -double linkme_log10(double x); -double linkme_pow(double x, double y); -long double linkme_powl(long double x,long double y); -double linkme_sqrt(double x); -double linkme_ceil(double x); -double linkme_floor(double x); -double linkme_fabs(double x); -double linkme_ldexp(double x, int n); -double linkme_frexp(double x, int* exp); -double linkme_modf(double x, double* ip); -long double linkme_modfl(long double x,long double* ip); -double linkme_fmod(double x, double y); - -/* - * linkme_log2 - * linkme_floor - * linkme_ldexp - * linkme_pow - */ - -#endif - - -#endif /* Not _MATH_H_ */ - diff --git a/reactos/include/msvcrt/mbctype.h b/reactos/include/msvcrt/mbctype.h deleted file mode 100644 index dd3f68c1421..00000000000 --- a/reactos/include/msvcrt/mbctype.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * mbctype.h - * - * Functions for testing multibyte character types and converting characters. - * - * This file is part of the Mingw32 package. - * - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#ifndef _MBCTYPE_H_ -#define _MBCTYPE_H_ - - -/* return values for _mbsbtype and _mbbtype in mbstring.h */ -#define _MBC_SINGLE 0 -#define _MBC_LEAD 1 -#define _MBC_TRAIL 2 -#define _MBC_ILLEGAL (-1) - -/* args for setmbcp (in lieu of actual codepage) */ -#define _MB_CP_SBCS 0 -#define _MB_CP_OEM (-2) -#define _MB_CP_ANSI (-3) -#define _MB_CP_LOCALE (-4) - -/* TODO: bit masks */ -/* - *#define _MS 0x01 - *#define _MP 0x02 - *#define _M1 0x04 - *#define _M2 0x08 -#define _SBUP -#define _SBLOW -*/ - -#define _KNJ_M ((char)0x01) /* Non-punctuation of Kana-set */ -#define _KNJ_P ((char)0x02) /* Punctuation of Kana-set */ -#define _KNJ_1 ((char)0x04) /* Legal 1st byte of double byte stream */ -#define _KNJ_2 ((char)0x08) /* Legal 2nd btye of double byte stream */ - - -#define ___ 0 -#define _1_ _KNJ_1 /* Legal 1st byte of double byte code */ -#define __2 _KNJ_2 /* Legal 2nd byte of double byte code */ -#define _M_ _KNJ_M /* Non-puntuation in Kana-set */ -#define _P_ _KNJ_P /* Punctuation of Kana-set */ -#define _12 (_1_|__2) -#define _M2 (_M_|__2) -#define _P2 (_P_|__2) - -#ifdef __cplusplus -extern "C" { -#endif - -extern char _jctype[257]; - - -int _ismbbkana(unsigned char); -int _ismbbkalnum(unsigned int); - - -#ifdef __cplusplus -} -#endif - -#endif /* Not _MCTYPE_H_ */ - diff --git a/reactos/include/msvcrt/mbstring.h b/reactos/include/msvcrt/mbstring.h deleted file mode 100644 index e331606f70d..00000000000 --- a/reactos/include/msvcrt/mbstring.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * mbstring.h - * - * Protototypes for string functions supporting multibyte characters. - * - * This file is part of the Mingw32 package. - * - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#ifndef _MBSTRING_H_ -#define _MBSTRING_H_ - -#include - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* character routines */ -int _ismbcalnum(unsigned int); -int _ismbcalpha(unsigned int); -int _ismbcdigit(unsigned int); -int _ismbcgraph(unsigned int); -int _ismbcprint(unsigned int); -int _ismbcpunct(unsigned int); -int _ismbcspace(unsigned int); -int _ismbclower(unsigned int); -int _ismbcupper(unsigned int); -int _ismbclegal(unsigned int); - -int _ismbblead(unsigned int); -int _ismbbtrail(unsigned int); -int _ismbslead(const unsigned char*, const unsigned char*); -int _ismbstrail(const unsigned char*, const unsigned char*); - -unsigned int _mbctolower(unsigned int); -unsigned int _mbctoupper(unsigned int); - -void _mbccpy(unsigned char*, const unsigned char*); -size_t _mbclen(const unsigned char*); - -unsigned int _mbbtombc(unsigned int); -unsigned int _mbctombb(unsigned int); - -/* Return value constants for these are defined in mbctype.h. */ -int _mbbtype(unsigned char, int); -int _mbsbtype(const unsigned char*, size_t); - -unsigned char* _mbscpy(unsigned char*, const unsigned char*); -unsigned char* _mbsncpy(unsigned char*, const unsigned char*, size_t); -unsigned char* _mbsnbcpy(unsigned char*, const unsigned char*, size_t); -unsigned char* _mbsset(unsigned char*, unsigned int); -unsigned char* _mbsnset(unsigned char*, unsigned int, size_t); -unsigned char* _mbsnbset(unsigned char*, unsigned int, size_t); - -unsigned char* _mbsdup(const unsigned char*); -unsigned char* _mbsrev(unsigned char*); -unsigned char* _mbscat(unsigned char*, const unsigned char*); -unsigned char* _mbsncat(unsigned char*, const unsigned char*, size_t); -unsigned char* _mbsnbcat(unsigned char*, const unsigned char*, size_t); -size_t _mbslen(const unsigned char*); -size_t _mbsnbcnt(const unsigned char*, size_t); -size_t _mbsnccnt(const unsigned char*, size_t); -unsigned char* _mbschr(unsigned char*, unsigned char*); -unsigned char* _mbsrchr(const unsigned char*, unsigned int); -size_t _mbsspn(const unsigned char*, const unsigned char*); -size_t _mbscspn(const unsigned char*, const unsigned char*); -unsigned char* _mbsspnp(const unsigned char*, const unsigned char*); -unsigned char* _mbspbrk(const unsigned char*, const unsigned char*); -int _mbscmp(const unsigned char*, const unsigned char*); -int _mbsicmp(const unsigned char*, const unsigned char*); -int _mbsncmp(const unsigned char*, const unsigned char*, size_t); -int _mbsnicmp(const unsigned char*, const unsigned char*, size_t); -int _mbsnbcmp(const unsigned char*, const unsigned char*, size_t); -int _mbsnbicmp(const unsigned char*, const unsigned char*, size_t); -int _mbscoll(const unsigned char*, const unsigned char*); -int _mbsicoll(const unsigned char*, const unsigned char*); -int _mbsncoll(const unsigned char*, const unsigned char*, size_t); -int _mbsnicoll(const unsigned char*, const unsigned char*, size_t); -int _mbsnbcoll(const unsigned char*, const unsigned char*, size_t); - -int _mbsnbicoll(const unsigned char*, const unsigned char*, size_t); - -unsigned char* _mbsinc(const unsigned char*); -unsigned char* _mbsninc(const unsigned char*, size_t); -unsigned char* _mbsdec(const unsigned char*, const unsigned char*); -unsigned int _mbsnextc (const unsigned char*); -unsigned char* _mbslwr(unsigned char*); -unsigned char* _mbsupr(unsigned char*); -unsigned char* _mbstok(unsigned char*, unsigned char*); - -unsigned char* _mbsstr(const unsigned char*, const unsigned char*); -size_t _mbstrlen(const char*str); - - -#ifdef __cplusplus -} -#endif - -#endif /* Not _MBSTRING_H_ */ - diff --git a/reactos/include/msvcrt/msvcrtdbg.h b/reactos/include/msvcrt/msvcrtdbg.h deleted file mode 100644 index f35e869f8ea..00000000000 --- a/reactos/include/msvcrt/msvcrtdbg.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS kernel - * FILE: include/msvcrt/msvcrtdbg.h - * PURPOSE: Useful debugging macros - * PROGRAMMER: - * UPDATE HISTORY: - * - */ - -/* - * NOTE: Define NDEBUG before including this header to disable debugging - * macros - */ - -#ifndef __MSVCRT_DEBUG -#define __MSVCRT_DEBUG - -#include -#include - -#if 0 -#ifdef NDEBUG -#undef NDEBUG -#endif -#endif - -#ifdef DBG -#define DPRINT1(args...) do { DbgPrint("(MSVCRT:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0); -#define CHECKPOINT1 do { DbgPrint("MSVCRT:%s:%d\n",__FILE__,__LINE__); } while(0); -#else -#ifdef __GNUC__ -#define DPRINT1(args...) -#else -#define DPRINT DbgPrint -#endif -#define CHECKPOINT1 -#endif - -#if !defined(NDEBUG) && defined(DBG) -#define DPRINT(args...) do { DbgPrint("(MSVCRT:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0); -#define CHECKPOINT do { DbgPrint("MSVCRT:%s:%d\n",__FILE__,__LINE__); } while(0); -#else -#ifdef __GNUC__ -#define DPRINT(args...) -#else -#define DPRINT DbgPrint -#endif -#define CHECKPOINT -#endif /* NDEBUG */ - -/* ULONG CDECL DbgPrint(PCH Format, ...); */ -ULONG DbgPrint(PCH Format,...); -/* unsigned long DbgPrint(const char* Format, ...); */ - - - -/* #define TRACE 0 ? (void)0 : Trace */ - -/* void Trace(TCHAR* lpszFormat, ...); */ - - - -#endif /* __MSVCRT_DEBUG */ diff --git a/reactos/include/msvcrt/process.h b/reactos/include/msvcrt/process.h deleted file mode 100644 index 1dc2d4751a3..00000000000 --- a/reactos/include/msvcrt/process.h +++ /dev/null @@ -1,160 +0,0 @@ -/* - * process.h - * - * Function calls for spawning child processes. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ -/* changed second argument of cwait from nPID to hProc */ - -#ifndef __STRICT_ANSI__ - -#ifndef _PROCESS_H_ -#define _PROCESS_H_ - -/* - * Constants for cwait actions. - * Obsolete for Win32. - */ -#define _WAIT_CHILD 0 -#define _WAIT_GRANDCHILD 1 - -#ifndef _NO_OLDNAMES -#define WAIT_CHILD _WAIT_CHILD -#define WAIT_GRANDCHILD _WAIT_GRANDCHILD -#endif /* Not _NO_OLDNAMES */ - -/* - * Mode constants for spawn functions. - */ -#define _P_WAIT 0 -#define _P_NOWAIT 1 -#define _P_OVERLAY 2 -#define _OLD_P_OVERLAY _P_OVERLAY -#define _P_NOWAITO 3 -#define _P_DETACH 4 - -#ifndef _NO_OLDNAMES -#define P_WAIT _P_WAIT -#define P_NOWAIT _P_NOWAIT -#define P_OVERLAY _P_OVERLAY -#define OLD_P_OVERLAY _OLD_P_OVERLAY -#define P_NOWAITO _P_NOWAITO -#define P_DETACH _P_DETACH -#endif /* Not _NO_OLDNAMES */ - - -#ifdef __cplusplus -extern "C" { -#endif - -void _cexit(void); -void _c_exit(void); - -int _cwait (int* pnStatus, int hProc, int nAction); - -int _getpid(void); - -int _execl (const char* szPath, const char* szArgv0, ...); -int _execle (const char* szPath, const char* szArgv0, ...); -int _execlp (const char* szPath, const char* szArgv0, ...); -int _execlpe (const char* szPath, const char* szArgv0, ...); -int _execv (const char* szPath, char* const* szaArgv); -int _execve (const char* szPath, char* const* szaArgv, char* const* szaEnv); -int _execvp (const char* szPath, char* const* szaArgv); -int _execvpe (const char* szPath, char* const* szaArgv, char* const* szaEnv); - -int _spawnl (int nMode, const char* szPath, const char* szArgv0, ...); -int _spawnle (int nMode, const char* szPath, const char* szArgv0,...); -int _spawnlp (int nMode, const char* szPath, const char* szArgv0,...); -int _spawnlpe (int nMode, const char* szPath, const char* szArgv0,...); -int _spawnv (int nMode, const char* szPath, char* const* szaArgv); -int _spawnve (int nMode, const char* szPath, char* const* szaArgv, char* const* szaEnv); -int _spawnvp (int nMode, const char* szPath, char* const* szaArgv); -int _spawnvpe (int nMode, const char* szPath, char* const* szaArgv, char* const* szaEnv); -/* - * The functions _beginthreadex and _endthreadex are not provided by CRTDLL. - * They are provided by MSVCRT. - * - * NOTE: Apparently _endthread calls CloseHandle on the handle of the thread, - * making for race conditions if you are not careful. Basically you have to - * make sure that no-one is going to do *anything* with the thread handle - * after the thread calls _endthread or returns from the thread function. - * - * NOTE: No old names for these functions. Use the underscore. - */ -unsigned long - _beginthread(void (__cdecl *pfuncStart)(void*), - unsigned unStackSize, void* pArgList); -void _endthread (void); - -#ifdef __MSVCRT__ -unsigned long - _beginthreadex(void* pSecurity, unsigned unStackSize, - unsigned (__stdcall *pfuncStart)(void*), void* pArgList, - unsigned unInitFlags, unsigned* pThreadAddr); -void _endthreadex(unsigned unExitCode); -#endif - - -void* _loaddll(char* name); -int _unloaddll(void* handle); - -unsigned long __threadid(void); -#define _threadid __threadid() -void* __threadhandle(void); - - -#ifndef _NO_OLDNAMES - -#define cwait _cwait -#define getpid _getpid -#define execl _execl -#define execle _execle -#define execlp _execlp -#define execlpe _execlpe - -#define execv _execv -#define execve _execve -#define execvp _execvp -#define execvpe _execvpe - -#define spawnl _spawnl -#define spawnle _spawnle -#define spawnlp _spawnlp -#define spawnlpe _spawnlpe - -#define spawnv _spawnv -#define spawnve _spawnve -#define spawnvp _spawnvp -#define spawnvpe _spawnvpe - -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* _PROCESS_H_ not defined */ - -#endif /* Not __STRICT_ANSI__ */ - diff --git a/reactos/include/msvcrt/search.h b/reactos/include/msvcrt/search.h deleted file mode 100644 index 054f8648a32..00000000000 --- a/reactos/include/msvcrt/search.h +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef _SEARCH_H_ -#define _SEARCH_H_ - -/* - *char *key - *void *data - *enum { FIND, ENTER } ACTION; - *enum { preorder, postorder, endorder, leaf } VISIT; - */ - -#include -#include - - -/* The Single UNIX ® Specification, Version 2 Copyright © 1997 The Open Group */ - -/* - *int hcreate(size_t); - *void hdestroy(void); - *ENTRY *hsearch(ENTRY, ACTION); - *void insque(void *, void *); - */ -void *_lfind(const void *, const void *, size_t *, - size_t, int (*)(const void *, const void *)); -void *_lsearch(const void *, void *, size_t *, - size_t, int (*)(const void *, const void *)); -/* - *void remque(void *); - *void *tdelete(const void *, void **, - * int(*)(const void *, const void *)); - *void *tfind(const void *, void *const *, - * int(*)(const void *, const void *)); - *void *tsearch(const void *, void **, - * int(*)(const void *, const void *)); - *void twalk(const void *, - * void (*)(const void *, VISIT, int )); -*/ -#endif diff --git a/reactos/include/msvcrt/share.h b/reactos/include/msvcrt/share.h deleted file mode 100644 index ded54f26be6..00000000000 --- a/reactos/include/msvcrt/share.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * share.h - * - * Constants for file sharing functions. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _SHARE_H_ -#define _SHARE_H_ - - -#define SH_COMPAT 0x0000 -#define SH_DENYRW 0x0010 -#define SH_DENYWR 0x0020 -#define SH_DENYRD 0x0030 -#define SH_DENYNO 0x0040 - -#define _SH_COMPAT SH_COMPAT -#define _SH_DENYRW SH_DENYRW -#define _SH_DENYWR SH_DENYWR -#define _SH_DENYRD SH_DENYRD -#define _SH_DENYNO SH_DENYNO - - -#endif /* Not _SHARE_H_ */ diff --git a/reactos/include/msvcrt/signal.h b/reactos/include/msvcrt/signal.h deleted file mode 100644 index b18655f3ebd..00000000000 --- a/reactos/include/msvcrt/signal.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * signal.h - * - * A way to set handlers for exceptional conditions (also known as signals). - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ -/* added some extra signal constants */ -#ifndef _SIGNAL_H_ -#define _SIGNAL_H_ - - -/* - * The actual signal values. Using other values with signal - * produces a SIG_ERR return value. - * - * NOTE: SIGINT is produced when the user presses Ctrl-C. - * SIGILL has not been tested. - * SIGFPE doesn't seem to work? - * SIGSEGV does not catch writing to a NULL pointer (that shuts down - * your app; can you say "segmentation violation core dump"?). - * SIGTERM comes from what kind of termination request exactly? - * SIGBREAK is indeed produced by pressing Ctrl-Break. - * SIGABRT is produced by calling abort. - * TODO: The above results may be related to not installing an appropriate - * structured exception handling frame. Results may be better if I ever - * manage to get the SEH stuff down. - */ -#define SIGINT 2 /* Interactive attention */ -#define SIGILL 4 /* Illegal instruction */ -#define SIGFPE 8 /* Floating point error */ -#define SIGSEGV 11 /* Segmentation violation */ -#define SIGTERM 15 /* Termination request */ -#define SIGBREAK 21 /* Control-break */ -#define SIGABRT 22 /* Abnormal termination (abort) */ - -#define SIGALRM 293 -#define SIGHUP 294 -/* SIGINT is ansi */ -#define SIGKILL 296 -#define SIGPIPE 297 -#define SIGQUIT 298 -#define SIGUSR1 299 -#define SIGUSR2 300 - -#define SIGNOFP 301 -#define SIGTRAP 302 -#define SIGTIMR 303 /* Internal for setitimer (SIGALRM, SIGPROF) */ -#define SIGPROF 304 -#define SIGMAX 320 - -/* - * The prototypes (below) are the easy part. The hard part is figuring - * out what signals are available and what numbers they are assigned - * along with appropriate values of SIG_DFL and SIG_IGN. - */ - -/* - * A pointer to a signal handler function. A signal handler takes a - * single int, which is the signal it handles. - */ -typedef void (*_p_sig_fn_t)(int); - -/* - * These are special values of signal handler pointers which are - * used to send a signal to the default handler (SIG_DFL), ignore - * the signal (SIG_IGN), or indicate an error return (SIG_ERR). - */ -#define SIG_DFL ((_p_sig_fn_t) 0) -#define SIG_IGN ((_p_sig_fn_t) 1) -#define SIG_ERR ((_p_sig_fn_t) -1) - -#ifdef __cplusplus -extern "C" { -#endif - - -/* - * Call signal to set the signal handler for signal sig to the - * function pointed to by handler. Returns a pointer to the - * previous handler, or SIG_ERR if an error occurs. Initially - * unhandled signals defined above will return SIG_DFL. - */ -_p_sig_fn_t signal(int sig, _p_sig_fn_t func); - -/* - * Raise the signal indicated by sig. Returns non-zero on success. - */ -int raise(int); - -#ifdef __cplusplus -} -#endif - -#endif /* Not _SIGNAL_H_ */ diff --git a/reactos/include/msvcrt/stdarg.h b/reactos/include/msvcrt/stdarg.h deleted file mode 100644 index a3615ab3c83..00000000000 --- a/reactos/include/msvcrt/stdarg.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * stdarg.h - * - * Provides facilities for stepping through a list of function arguments of - * an unknown number and type. - * - * NOTE: Gcc should provide stdarg.h, and I believe their version will work - * with crtdll. If necessary I think you can replace this with the GCC - * stdarg.h (or is it vararg.h). - * - * Note that the type used in va_arg is supposed to match the actual type - * *after default promotions*. Thus, va_arg (..., short) is not valid. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ - -#ifndef _STDARG_H_ -#define _STDARG_H_ - -/* - * Don't do any of this stuff for the resource compiler. - */ -#ifndef RC_INVOKED - -/* - * I was told that Win NT likes this. - */ -#ifndef _VA_LIST_DEFINED -#define _VA_LIST_DEFINED -#endif - -#ifndef _VA_LIST -#define _VA_LIST -typedef char* va_list; -#endif - - -/* - * Amount of space required in an argument list (ie. the stack) for an - * argument of type t. - */ -#define __va_argsiz(t) \ - (((sizeof(t) + sizeof(int) - 1) / sizeof(int)) * sizeof(int)) - - -/* - * Start variable argument list processing by setting AP to point to the - * argument after pN. - */ -#ifdef __GNUC__ -/* - * In GNU the stack is not necessarily arranged very neatly in order to - * pack shorts and such into a smaller argument list. Fortunately a - * neatly arranged version is available through the use of __builtin_next_arg. - */ -#ifndef va_start -#define va_start(ap, pN) \ - ((ap) = ((va_list) __builtin_next_arg(pN))) -#endif -#else -/* - * For a simple minded compiler this should work (it works in GNU too for - * vararg lists that don't follow shorts and such). - */ -#ifndef va_start -#define va_start(ap, pN) \ - ((ap) = ((va_list) (&pN) + __va_argsiz(pN))) -#endif -#endif - - -/* - * End processing of variable argument list. In this case we do nothing. - */ -#ifndef va_end -#define va_end(ap) ((void)0) -#endif - - -/* - * Increment ap to the next argument in the list while returing a - * pointer to what ap pointed to first, which is of type t. - * - * We cast to void* and then to t* because this avoids a warning about - * increasing the alignment requirement. - */ - -#ifndef va_arg -#define va_arg(ap, t) \ - (((ap) = (ap) + __va_argsiz(t)), \ - *((t*) (void*) ((ap) - __va_argsiz(t)))) -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* not _STDARG_H_ */ diff --git a/reactos/include/msvcrt/stddef.h b/reactos/include/msvcrt/stddef.h deleted file mode 100644 index 6a3e3df7c73..00000000000 --- a/reactos/include/msvcrt/stddef.h +++ /dev/null @@ -1,178 +0,0 @@ -/* - * stddef.h - * - * Standard type definitions provided by the C library. - * - * NOTE: Actually supplied by the compiler (correct?). As such, GCC - * supplies a version of this header file. Unfortunately, GCC's - * version is all tied up with the way other headers for the - * GNU C library are implemented (or vice-versa), in a similar - * way to how the other Mingw32 headers are dependent on - * certain internals of this file. It is not clear to me whether - * you can safely use the GCC version in place of this version. - * TODO: Line up usage in other header files to work with GCC - * stddef.h. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.7 $ - * $Author$ - * $Date$ - * - */ - - -#ifndef __MSVCRT_STDDEF_H_ - -/* - * Any one of these symbols __need_* means that a standard header file - * wants us just to define one data type. So don't define - * the symbols that indicate this file's entire job has been done. - */ -#if (!defined(__need_wchar_t) && !defined(__need_wint_t) \ - && !defined(__need_size_t) && !defined(__need_ptrdiff_t) \ - && !defined(__need_NULL)) -#define __MSVCRT_STDDEF_H_ -#endif - -/* - * NOTE: The following typedefs are done using __xxx_TYPE__ defines followed - * by typedefs using those defines. I have chosen to do it this way because - * GCC supplies definitions for __xxx_TYPE__ macros and if, for example, your - * size_t is typedef'ed differently from what GCC expects it will give you - * warnings when you prototype functions like memcmp and memcpy. The values - * for __xxx_TYPE__ in this header file are the same as those given by GCC. - * Those values appear to work with the MSVCRT functions. - */ - -/* - * Signed type of difference of two pointers. - */ - -/* Define this type if we are doing the whole job, or if we want this type - * in particular. */ -#if defined (__MSVCRT_STDDEF_H_) || defined (__need_ptrdiff_t) - -#ifndef _PTRDIFF_T_ -#define _PTRDIFF_T_ -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ int -#endif -typedef __PTRDIFF_TYPE__ ptrdiff_t; -#endif - -/* If this symbol has done its job, get rid of it. */ -#undef __need_ptrdiff_t - -#endif /* __MSVCRT_STDDEF_H_ or __need_ptrdiff_t. */ - -/* - * Unsigned type of `sizeof' something. - */ - - -/* Define this type if we are doing the whole job, - * or if we want this type in particular. */ -#if defined (__MSVCRT_STDDEF_H_) || defined (__need_size_t) - -#ifndef _SIZE_T_ -#define _SIZE_T_ -#define SIZE_T_DEFINED -#define _SIZE_T -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ unsigned int -#endif -typedef __SIZE_TYPE__ size_t; -#endif - -#undef __need_size_t - -#endif /* __MSVCRT_STDDEF_H_ or __need_size_t. */ - -/* Wide character type. - Locale-writers should change this as necessary to - be big enough to hold unique values not between 0 and 127, - and not (wchar_t) -1, for each defined multibyte character. */ - -/* Define this type if we are doing the whole job, - or if we want this type in particular. */ -#if defined (__MSVCRT_STDDEF_H_) || defined (__need_wchar_t) - -#ifndef _WCHAR_T_ -#define _WCHAR_T_ -#define _WCHAR_T -#define _WCHAR_T_DEFINED -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ short unsigned int -#endif -#ifndef __cplusplus -typedef __WCHAR_TYPE__ wchar_t; -#endif /* C++ */ -#endif /* wchar_t not already defined */ - -#undef __need_wchar_t - -#endif /* __MSVCRT_STDDEF_H_ or __need_wchar_t. */ - -/* - * wint_t, the equivalent of int in wchar ctype functions. - */ -#if defined (__MSVCRT_STDDEF_H_) || defined (__need_wint_t) - -#if ! defined(_WINT_T_) && ! defined(_WINT_T) -#define _WINT_T_ -#define _WINT_T /* To satisfy libstdc++ */ -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ short int -#endif /* Not defined __WINT_TYPE__ */ - -typedef __WINT_TYPE__ wint_t; -#endif /* Not defined _WINT_T_ */ - -#undef __need_wint_t - -#endif /* __MSVCRT_STDDEF_H_ or __need_wint_t. */ - - -/* - * A null pointer constant. - */ - -#if defined (__MSVCRT_STDDEF_H_) || defined (__need_NULL) - -#undef NULL -#ifdef __cplusplus -#define NULL (0) -#else -#define NULL ((void *)0) -#endif -#endif /* __MSVCRT_STDDEF_H_ or __need_NULL */ - -#undef __need_NULL - - -/* - * Offsetof, a macro for finding the offset of a member in a structure. - * Works by returning the 'address' of the MEMBER of a TYPE struct at address - * zero. - */ - -#if defined (__MSVCRT_STDDEF_H_) -#define offsetof(TYPE, MEMBER) ((size_t) &( ((TYPE *) 0)->MEMBER )) -#endif /* __MSVCRT_STDDEF_H_ */ - - -#endif /* not __MSVCRT_STDDEF_H_ */ diff --git a/reactos/include/msvcrt/stdio.h b/reactos/include/msvcrt/stdio.h deleted file mode 100644 index 1dd886bf18e..00000000000 --- a/reactos/include/msvcrt/stdio.h +++ /dev/null @@ -1,374 +0,0 @@ -/* - * stdio.h - * - * Definitions of types and prototypes of functions for standard input and - * output. - * - * NOTE: The file manipulation functions provided by Microsoft seem to - * work with either slash (/) or backslash (\) as the path separator. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.8 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ -/* implemented clearerr feof ferror perror as macros */ -/* added _IOCOMMIT */ -/* added filbuf and flsbuf and fwalk */ - -#ifndef _STDIO_H_ -#define _STDIO_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#define __need_size_t -#define __need_NULL -#define __need_wchar_t -#define __need_wint_t -#include - - -#define _IOREAD 0x0001 -#define _IOWRT 0x0002 -#define _IOMYBUF 0x0008 /* stdio malloc()'d buffer */ -#define _IOEOF 0x0010 /* EOF reached on read */ -#define _IOERR 0x0020 /* I/O error from system */ -#define _IOSTRG 0x0040 /* Strange or no file descriptor */ - -#define _IOBINARY 0x040000 -#define _IOTEXT 0x000000 - -#define _IOCOMMIT 0x100000 - -#define _IODIRTY 0x010000 -#define _IOAHEAD 0x020000 - - - - -/* - * I used to include stdarg.h at this point, in order to allow for the - * functions later on in the file which use va_list. That conflicts with - * using stdio.h and varargs.h in the same file, so I do the typedef myself. - */ -/* - *#ifndef _VA_LIST - *#define _VA_LIST - *typedef char* va_list; - *#endif - */ -#include - -/* - * FILE should be used as a pointer to an opaque data type. Do not rely on - * anything else, especially the size or contents of this structure! - */ -#ifndef _FILE_DEFINED -typedef struct { - char* _ptr; - int _cnt; - char* _base; - int _flag; - int _file; - int _ungotchar; - int _bufsiz; - char* _name_to_remove; -} FILE; -#define _FILE_DEFINED -#endif - -//#define _fillsize _bufsiz - -/* - * The three standard file pointers provided by the run time library. - * NOTE: These will go to the bit-bucket silently in GUI applications! - */ -extern FILE _iob[]; /* an array of FILE */ -#define stdin (&_iob[0]) -#define stdout (&_iob[1]) -#define stderr (&_iob[2]) -#define stdaux (&_iob[3]) -#define stdprn (&_iob[4]) - -/* Returned by various functions on end of file condition or error. */ -#define EOF (-1) - -/* - * The maximum length of a file name. You should use GetVolumeInformation - * instead of this constant. But hey, this works. - * - * NOTE: This is used in the structure _finddata_t (see dir.h) so changing it - * is probably not a good idea. - */ -#define FILENAME_MAX (260) - -/* - * The maximum number of files that may be open at once. I have set this to - * a conservative number. The actual value may be higher. - */ -#define FOPEN_MAX (20) - -/* - * File Operations - */ -FILE* fopen(const char* szFileName, const char* szMode); -FILE* freopen(const char* szNewFileName, const char* szNewMode, FILE* fileChangeAssociation); -int fflush(FILE* fileFlush); -int fclose(FILE* fileClose); -#define fcloseall _fcloseall -int remove(const char* szFileName); -int rename(const char* szOldFileName, const char* szNewFileName); -FILE* tmpfile(void); - -FILE* _fdopen(int handle, char *mode); -FILE* _wfdopen(int handle, wchar_t *mode); -FILE* _wfopen(const wchar_t *file, const wchar_t *mode); -FILE* _wfreopen(const wchar_t *file, const wchar_t *mode, FILE *f); -FILE* _fsopen(const char *file, const char *mode, int shflag); -FILE* _wfsopen(const wchar_t *file, const wchar_t *mode, int shflag); -int _wremove(const wchar_t* szFileName); -int _wrename(const wchar_t *oldName, const wchar_t *newName); - -int _filbuf(FILE* f); -int _flsbuf(int c, FILE* f); -void _fwalk(void (*func)(FILE*)); // not exported -int _fcloseall(void); - -/* - * The maximum size of name (including NUL) that will be put in the user - * supplied buffer caName. - * NOTE: This has not been determined by experiment, but based on the - * maximum file name length above it is probably reasonable. I could be - * wrong... - */ -#define L_tmpnam (260) - -char* tmpnam(char caName[]); -char* _tempnam(const char *szDir, const char *szPfx); - -wchar_t* _wtmpnam(wchar_t *s); -wchar_t *_wtempnam(const wchar_t *dir,const wchar_t *prefix); - -#ifndef _NO_OLDNAMES -#define tempnam _tempnam -#endif /* Not _NO_OLDNAMES */ - -/* - * The three possible buffering mode (nMode) values for setvbuf. - * NOTE: _IOFBF works, but _IOLBF seems to work like unbuffered... - * maybe I'm testing it wrong? - */ -#define _IOFBF 0x0000 /* full buffered */ -#define _IOLBF 0x0040 /* line buffered */ -#define _IONBF 0x0004 /* not buffered */ - -#define _IO_LBF 0x80000 /* this value is used insteat of _IOLBF within the - structure FILE as value for _flags, - because _IOLBF has the same value as _IOSTRG */ - -int setvbuf(FILE* fileSetBuffer, char* caBuffer, int nMode, size_t sizeBuffer); - -/* - * The buffer size as used by setbuf such that it is equivalent to - * (void) setvbuf(fileSetBuffer, caBuffer, _IOFBF, BUFSIZ). - */ -#define BUFSIZ 512 - -void setbuf(FILE* fileSetBuffer, char* caBuffer); - -/* - * Pipe Operations - */ - -int _pclose(FILE* pipeClose); -FILE* _popen(const char* szPipeName, const char* szMode); -FILE* _wpopen(const wchar_t *cm, const wchar_t *md); - -#define popen _popen -#define pclose _pclose - -/* Wide character version */ -FILE* _wpopen(const wchar_t* szPipeName, const wchar_t* szMode); - -/* - * Formatted Output - */ - -int fprintf(FILE* filePrintTo, const char* szFormat, ...); -int printf(const char* szFormat, ...); -int sprintf(char* caBuffer, const char* szFormat, ...); -int _snprintf(char*, size_t, const char*, ...); -int vfprintf(FILE* filePrintTo, const char* szFormat, va_list varg); -int vprintf(const char* szFormat, va_list varg); -int vsprintf(char* caBuffer, const char* szFormat, va_list varg); -int _vsnprintf(char* caBuffer, size_t cnt, const char* szFormat, va_list varg); -int _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list); - -/* Wide character versions */ -int fwprintf(FILE* filePrintTo, const wchar_t* wsFormat, ...); -int wprintf(const wchar_t* wsFormat, ...); -int swprintf(wchar_t* wcaBuffer, const wchar_t* wsFormat, ...); -int vfwprintf(FILE* filePrintTo, const wchar_t* wsFormat, va_list varg); -int vwprintf(const wchar_t* wsFormat, va_list varg); -int vswprintf(wchar_t* wcaBuffer, const wchar_t* wsFormat, va_list varg); - -/* - * Formatted Input - */ - -int fscanf(FILE* fileReadFrom, const char* szFormat, ...); -int scanf(const char* szFormat, ...); -int sscanf(const char* szReadFrom, const char* szFormat, ...); - -/* Wide character versions */ -int fwscanf(FILE* fileReadFrom, const wchar_t* wsFormat, ...); -int wscanf(const wchar_t* wsFormat, ...); -int swscanf(const wchar_t* wsReadFrom, const wchar_t* wsFormat, ...); - -/* - * Character Input and Output Functions - */ - -int fgetc(FILE* fileRead); -char* fgets(char* caBuffer, int nBufferSize, FILE* fileRead); -int fputc(int c, FILE* fileWrite); -int fputs(const char* szOutput, FILE* fileWrite); -int getc(FILE* fileRead); -int getchar(void); -char* gets(char* caBuffer); /* Unsafe: how does gets know how long the buffer is? */ -int putc(int c, FILE* fileWrite); -int putchar(int c); -int puts(const char* szOutput); -int ungetc(int c, FILE* fileWasRead); - -/* Wide character versions */ -wint_t fgetwc(FILE* fileRead); -wint_t fputwc(wchar_t wc, FILE* fileWrite); -wint_t getwc(FILE *fileRead); // not exported from crtdll - -/* TODO: check type wint_t, why doesn't compare to WEOF correctly ??? */ -/* wint_t putwc(wint_t wc, FILE* fileWrite); */ -int putwc(wint_t wc, FILE* fileWrite); - -wint_t putwchar(wint_t c); -int _putws(const wchar_t* ws); - -wint_t ungetwc(wchar_t wc, FILE* fileWasRead); - -wint_t _filwbuf(FILE *f); -wint_t _flswbuf(wchar_t c, FILE *f); - -/* - * Not exported by CRTDLL.DLL included for reference purposes. - */ -#if 0 -wchar_t* fgetws(wchar_t* wcaBuffer, int nBufferSize, FILE* fileRead); -int fputws(const wchar_t* wsOutput, FILE* fileWrite); -int getwc(FILE* fileRead); -int getwchar(); -wchar_t* getws(wchar_t* wcaBuffer); -#endif /* 0 */ - -/* NOTE: putchar has no wide char equivalent even in tchar.h */ - -/* - * Direct Input and Output Functions - */ - -size_t fread(void* pBuffer, size_t sizeObject, size_t sizeObjCount, FILE* fileRead); -size_t fwrite(const void* pObjArray, size_t sizeObject, size_t sizeObjCount, FILE* fileWrite); - -/* - * File Positioning Functions - */ - -/* Constants for nOrigin indicating the position relative to which fseek - * sets the file position. Enclosed in ifdefs because io.h could also - * define them. (Though not anymore since io.h includes this file now.) */ -#ifndef SEEK_SET -#define SEEK_SET (0) -#endif - -#ifndef SEEK_CUR -#define SEEK_CUR (1) -#endif - -#ifndef SEEK_END -#define SEEK_END (2) -#endif - -int fseek(FILE* fileSetPosition, long lnOffset, int nOrigin); -long ftell(FILE* fileGetPosition); -void rewind(FILE* fileRewind); - -/* - * An opaque data type used for storing file positions... The contents of - * this type are unknown, but we (the compiler) need to know the size - * because the programmer using fgetpos and fsetpos will be setting aside - * storage for fpos_t structres. Actually I tested using a byte array and - * it is fairly evident that the fpos_t type is a long (in CRTDLL.DLL). - * Perhaps an unsigned long? TODO? - */ -typedef long fpos_t; - -int fgetpos(FILE* fileGetPosition, fpos_t* pfpos); -int fsetpos(FILE* fileSetPosition, const fpos_t* pfpos); - -/* - * Error Functions - */ -#if 0 -void clearerr(FILE* fileClearErrors); -int feof(FILE* fileIsAtEnd); -int ferror(FILE* fileIsError); -void perror(const char* szErrorMessage); -#endif - -void _wperror(const wchar_t *s); - -#define clearerr(f) (((f)->_flag) &= ~(_IOERR|_IOEOF)) -#define feof(f) (((f)->_flag&_IOEOF)!=0) -/* #define ferror(f) (((f)->_flag&_IOERR)!=0) */ -int ferror(FILE* fileIsError); -#define perror(s) (fprintf(stderr, "%s: %s\n", (s), _strerror(NULL))) - -/* - * Non ANSI functions - */ - -#ifndef __STRICT_ANSI__ -int _fgetchar(void); -int _fputchar(int c); -FILE* _fdopen(int nHandle, char* szMode); - -#ifndef _NO_OLDNAMES -#define fgetchar _fgetchar -#define fputchar _fputchar -#define fdopen _fdopen -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not __STRICT_ANSI__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* _STDIO_H_ */ diff --git a/reactos/include/msvcrt/stdlib.h b/reactos/include/msvcrt/stdlib.h deleted file mode 100644 index 0afcf7a4a3f..00000000000 --- a/reactos/include/msvcrt/stdlib.h +++ /dev/null @@ -1,248 +0,0 @@ -/* - * stdlib.h - * - * Definitions for common types, variables, and functions. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.7 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ -/* added splitpath */ -/* changed definition of environ and argc */ -/* moved prototype for swab from string.h to stdlib.h */ -#ifndef _STDLIB_H_ -#define _STDLIB_H_ - -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#include - -/* - * RAND_MAX is the maximum value that may be returned by rand. - * The minimum is zero. - */ -#define RAND_MAX 0x7FFF - -#ifndef _MAX_PATH -#define _MAX_DRIVE 3 -#define _MAX_FNAME 256 -#define _MAX_DIR _MAX_FNAME -#define _MAX_EXT _MAX_FNAME -#define _MAX_PATH 260 -#endif - -/* - * These values may be used as exit status codes. - */ -#define EXIT_SUCCESS 0 -#define EXIT_FAILURE -1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * This seems like a convenient place to declare these variables, which - * give programs using WinMain (or main for that matter) access to main-ish - * argc and argv. environ is a pointer to a table of environment variables. - * NOTE: Strings in _argv and environ are ANSI strings. - */ -extern int* __argc_dll; -extern char*** __argv_dll; -extern char*** _environ_dll; - -#define __argc (*__argc_dll) -#define __argv (*__argv_dll) -#define _environ (*_environ_dll) - - -#include - -#ifndef __ATTRIB_NORETURN -#ifdef __GNUC__ -#define _ATTRIB_NORETURN __attribute__ ((noreturn)) -#ifndef __int64 -#define __int64 long long -#endif /* Not __int64 */ -#else /* Not __GNUC__ */ -#define _ATTRIB_NORETURN -#endif /* __GNUC__ */ -#endif - -double atof(const char* szNumber); -int atoi(const char* szNumber); -long atol(const char* szNumber); - -double strtod(const char* szNumber, char** pszAfterNumber); -double wcstod(const wchar_t* wsNumber, wchar_t** pwsAfterNumber); -long strtol(const char* szNumber, char** pszAfterNumber, int nBase); -long wcstol(const wchar_t* wsNumber, wchar_t** pwsAfterNumber, int nBase); - -unsigned long strtoul(const char* szNumber, char** pszAfterNumber, int nBase); -unsigned long wcstoul(const wchar_t* wsNumber, wchar_t** pwsAfterNumber, int nBase); - -size_t wcstombs(char* mbsDest, const wchar_t* wsConvert, size_t size); -int wctomb(char* mbDest, wchar_t wc); -int mblen(const char* mbs, size_t sizeString); -size_t mbstowcs(wchar_t* wcaDest, const char* mbsConvert, size_t size); -int mbtowc(wchar_t* wcDest, const char* mbConvert, size_t size); - -int rand(void); -void srand(unsigned int nSeed); - -void* calloc(size_t sizeObjCnt, size_t sizeObject); -void* malloc(size_t sizeObject); -void* realloc(void* pObject, size_t sizeNew); -void free(void* pObject); - -void abort(void) _ATTRIB_NORETURN; -void exit(int nStatus) _ATTRIB_NORETURN; -int atexit(void (*pfuncExitProcessing)(void)); - -int system(const char* szCommand); // impl in process -char* getenv(const char* szVarName); // impl in stdio ??? -wchar_t* _wgetenv(const wchar_t* szVarName); - -typedef int (*_pfunccmp_t)(const void*, const void*); - -void* bsearch(const void* pKey, const void* pBase, size_t cntObjects, size_t sizeObject, _pfunccmp_t pfuncCmp); -void qsort(const void* pBase, size_t cntObjects, size_t sizeObject, _pfunccmp_t pfuncCmp); - -int abs(int n); -long labs(long n); - -/* - * div_t and ldiv_t are structures used to return the results of div and - * ldiv. - * - * NOTE: div and ldiv appear not to work correctly unless - * -fno-pcc-struct-return is specified. This is included in the - * mingw32 specs file. - */ -typedef struct { int quot, rem; } div_t; -typedef struct { long quot, rem; } ldiv_t; - -#ifdef __GNUC__ // robd -typedef struct { long long quot, rem; } lldiv_t; -#else -typedef struct { double quot, rem; } lldiv_t; -#endif - -div_t div(int nNumerator, int nDenominator); -ldiv_t ldiv(long lNumerator, long lDenominator); - -#ifdef __GNUC__ // robd -lldiv_t lldiv(long long lNumerator, long long lDenominator); -#else -lldiv_t lldiv(double lNumerator, double lDenominator); -#endif - - -#ifndef __STRICT_ANSI__ - -/* - * NOTE: Officially the three following functions are obsolete. The Win32 API - * functions SetErrorMode, Beep and Sleep are their replacements. - */ -void _beep(unsigned int, unsigned int); -void _seterrormode(int nMode); -void _sleep(unsigned long ulTime); - -void _exit(int nStatus) _ATTRIB_NORETURN; - -int _putenv(const char *val); -void _searchenv(const char *file, const char *var, char *path); -void _splitpath(const char *path, char *drive, char *dir, char *fname, char *ext); -void _wsplitpath(const wchar_t* path, wchar_t* drive, wchar_t* dir, wchar_t* fname, wchar_t* ext); - -char* _itoa(int nValue, char* sz, int nRadix); -char* _ltoa(long lnValue, char* sz, int nRadix); - -int _wputenv(const wchar_t *val); -void _wsearchenv(const wchar_t *file, const wchar_t *var, wchar_t *path); -void _makepath(char *path, const char *drive, const char *dir, const char *fname, const char *ext); -void _wmakepath(wchar_t *path, const wchar_t *drive, const wchar_t *dir, const wchar_t *fname, const wchar_t *ext); -wchar_t* _wfullpath(wchar_t *absPath, const wchar_t *relPath, size_t maxLength); -char* _i64toa(__int64 value, char *string, int radix); -char* _ultoa(unsigned long value, char *string, int radix); -char* _ui64toa(unsigned __int64 value, char *string, int radix); - -wchar_t* _itow(int nValue, wchar_t* sz, int nRadix); -wchar_t* _i64tow(__int64 value, wchar_t *string, int radix); -wchar_t* _ltow(long lnValue, wchar_t* sz, int nRadix); -wchar_t* _ultow(unsigned long value, wchar_t *string, int radix); -wchar_t* _ui64tow(unsigned __int64 value, wchar_t *string, int radix); -__int64 _atoi64(const char *szNumber); -int _wtoi(const wchar_t *str); -__int64 _wtoi64(const wchar_t *str); -long _wtol(const wchar_t *str); - -char* _ecvt(double dValue, int nDig, int* pnDec, int* pnSign); -char* _fcvt(double dValue, int nDig, int* pnDec, int* pnSign); -char* _gcvt(double dValue, int nDec, char* caBuf); -char* _fullpath(char* caBuf, const char* szPath, size_t sizeMax); -void _swab(const char* caFrom, char* caTo, size_t sizeToCopy); - -unsigned int _rotl(unsigned int value, int shift); -unsigned int _rotr(unsigned int value, int shift); -unsigned long _lrotl(unsigned long value, int shift); -unsigned long _lrotr(unsigned long value, int shift); - - -#ifndef _NO_OLDNAMES -#define beep _beep -#define seterrormode _seterrormode -#define sleep _sleep -#define putenv _putenv -#define searchenv _searchenv -#define splitpath _splitpath -#define itoa _itoa -#define ltoa _ltoa -#define ecvt _ecvt -#define fcvt _fcvt -#define gcvt _gcvt -#define swab _swab -#endif /* Not _NO_OLDNAMES */ - - -#endif /* Not __STRICT_ANSI__ */ - -/* - * Undefine the no return attribute used in some function definitions - */ -#undef _ATTRIB_NORETURN - -#ifndef _DISABLE_TIDENTS -#ifdef UNICODE -#define _tsplitpath _wsplitpath -#define _tmakepath _wmakepath -#else -#define _tsplitpath _splitpath -#define _tmakepath _makepath -#endif -#endif /* _DISABLE_TIDENTS */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not _STDLIB_H_ */ - diff --git a/reactos/include/msvcrt/string.h b/reactos/include/msvcrt/string.h deleted file mode 100644 index 86d43599e59..00000000000 --- a/reactos/include/msvcrt/string.h +++ /dev/null @@ -1,193 +0,0 @@ -/* - * string.h - * - * Definitions for memory and string functions. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.7 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ -/* changed prototype for _strerror */ -/* moved prototype for swab from string.h to stdlib.h */ - - -#ifndef _STRING_H_ -#define _STRING_H_ - - -/* - * Define size_t, wchar_t and NULL - */ -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#include -#include <_mingw.h> - -#ifdef __cplusplus -extern "C" { -#endif - -char * ___strtok; /* removed extern specifier 02-06-98, BD */ - -/* - * Prototypes of the ANSI Standard C library string functions. - */ -void* memchr(const void* p, int cSearchFor, size_t sizeSearch); -int memcmp(const void* p1, const void* p2, size_t sizeSearch); -void* memcpy(void* pCopyTo, const void* pSource, size_t sizeSource); -void* memmove(void* pMoveTo, const void* pSource, size_t sizeSource); -void* memset(void* p, int cFill, size_t sizeRepeatCount); -char* strcat(char* szAddTo, const char* szAdd); -char* strchr(const char* szSearch, int cFor); -int strcmp(const char* sz1, const char* sz2); -int strcoll(const char* sz1, const char* sz2); /* Compare using locale */ -char* strcpy(char* szCopyTo, const char* szSource); -size_t strcspn(const char* szGetPrefix, const char* szNotIncluding); -char* strerror(int nError); /* NOTE: NOT an old name wrapper. */ -char * _strerror(const char *s); -size_t strlen(const char* sz); -size_t strnlen(const char* sz, size_t count); /* not exported */ -char* strncat(char* szAddTo, const char* szAdd, size_t sizeMaxAdd); -int strncmp(const char* sz1, const char* sz2, size_t sizeMaxCompare); -char* strncpy(char* szCopyTo, const char* szSource, size_t sizeMaxCopy); -char* strpbrk(const char* szSearch, const char* szAnyOf); -char* strrchr(const char* szSearch, int cFor); -size_t strspn(const char* szGetPrefix, const char *szIncluding); -char* strstr(const char* szSearch, const char *szFor); -char* strtok(char* szTokenize, const char* szDelimiters); -size_t strxfrm(char* szTransformed, const char *szSource, size_t sizeTransform); - -#ifndef __STRICT_ANSI__ -/* - * Extra non-ANSI functions provided by the CRTDLL library - */ -void* _memccpy(void* pCopyTo, const void* pSource, int cTerminator, size_t sizeMaxCopy); -int _memicmp(const void* p1, const void* p2, size_t sizeSearch); -char* _strdup(const char *szDuplicate); -int _strcmpi(const char* sz1, const char* sz2); -int _stricmp(const char* sz1, const char* sz2); -int _stricoll(const char* sz1, const char* sz2); -char* _strlwr(char* szToConvert); -int _strnicmp(const char* sz1, const char* sz2, size_t sizeMaxCompare); -char* _strnset(char* szToFill, int cFill, size_t sizeMaxFill); -char* _strrev(char* szToReverse); -char* _strset(char* szToFill, int cFill); -char* _strupr(char* szToConvert); - -#endif /* Not __STRICT_ANSI__ */ - - -/* - * Unicode versions of the standard calls. - */ -wchar_t* wcscat(wchar_t* wsAddTo, const wchar_t* wsAdd); -wchar_t* wcschr(const wchar_t* wsSearch, wchar_t wcFor); -int wcscmp(const wchar_t* ws1, const wchar_t* ws2); -int wcscoll(const wchar_t* ws1, const wchar_t* ws2); -wchar_t* wcscpy(wchar_t* wsCopyTo, const wchar_t* wsSource); -size_t wcscspn(const wchar_t* wsGetPrefix, const wchar_t* wsNotIncluding); -/* Note: No wcserror in CRTDLL. */ -size_t wcslen(const wchar_t* ws); -wchar_t* wcsncat(wchar_t* wsAddTo, const wchar_t* wsAdd, size_t sizeMaxAdd); -int wcsncmp(const wchar_t* ws1, const wchar_t* ws2, size_t sizeMaxCompare); -wchar_t* wcsncpy(wchar_t* wsCopyTo, const wchar_t* wsSource, size_t sizeMaxCopy); -wchar_t* wcspbrk(const wchar_t* wsSearch, const wchar_t* wsAnyOf); -wchar_t* wcsrchr(const wchar_t* wsSearch, wchar_t wcFor); -size_t wcsspn(const wchar_t* wsGetPrefix, const wchar_t* wsIncluding); -wchar_t* wcsstr(const wchar_t* wsSearch, const wchar_t* wsFor); -wchar_t* wcstok(wchar_t* wsTokenize, const wchar_t* wsDelimiters); -size_t wcsxfrm(wchar_t* wsTransformed, const wchar_t *wsSource, size_t sizeTransform); - - -#ifndef __STRICT_ANSI__ -/* - * Unicode versions of non-ANSI functions provided by CRTDLL. - */ - -/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */ -#define _wcscmpi _wcsicmp - -wchar_t* _wcsdup(const wchar_t* wsToDuplicate); -int _wcsicmp(const wchar_t* ws1, const wchar_t* ws2); -int _wcsicoll(const wchar_t* ws1, const wchar_t* ws2); -int _wcsncoll(const wchar_t *s1, const wchar_t *s2, size_t c); -int _wcsnicoll(const wchar_t *s1, const wchar_t *s2, size_t c); -wchar_t* _wcslwr(wchar_t* wsToConvert); -int _wcsnicmp(const wchar_t* ws1, const wchar_t* ws2, size_t sizeMaxCompare); -wchar_t* _wcsnset(wchar_t* wsToFill, wchar_t wcFill, size_t sizeMaxFill); -wchar_t* _wcsrev(wchar_t* wsToReverse); -wchar_t* _wcsset(wchar_t* wsToFill, wchar_t wcToFill); -wchar_t* _wcsupr(wchar_t* wsToConvert); - -#endif /* Not __STRICT_ANSI__ */ - - -#ifndef __STRICT_ANSI__ -#ifndef _NO_OLDNAMES - -/* - * Non-underscored versions of non-ANSI functions. They live in liboldnames.a - * and provide a little extra portability. Also a few extra UNIX-isms like - * strcasecmp. - */ - -void* memccpy(void* pCopyTo, const void* pSource, int cTerminator, size_t sizeMaxCopy); -int memicmp(const void* p1, const void* p2, size_t sizeSearch); -#define strdup(szDuplicate) _strdup(szDuplicate) -int strcmpi(const char* sz1, const char* sz2); -int stricmp(const char* sz1, const char* sz2); -int strcasecmp(const char* sz1, const char* sz2); -int stricoll(const char* sz1, const char* sz2); -char* strlwr(char* szToConvert); -int strnicmp(const char* sz1, const char* sz2, size_t sizeMaxCompare); -int strncasecmp(const char* sz1, const char* sz2, size_t sizeMaxCompare); -char* strnset(char* szToFill, int cFill, size_t sizeMaxFill); -char* strrev(char* szToReverse); -char* strset(char* szToFill, int cFill); -char* strupr(char* szToConvert); - - -/* NOTE: There is no _wcscmpi, but this is for compatibility. */ -int wcscmpi(const wchar_t* ws1, const wchar_t* ws2); -#if __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION == 5 -wchar_t* wcsdup(wchar_t* wsToDuplicate); -#else -wchar_t* wcsdup(const wchar_t* wsToDuplicate); -#endif -int wcsicmp(const wchar_t* ws1, const wchar_t* ws2); -int wcsicoll(const wchar_t* ws1, const wchar_t* ws2); -wchar_t* wcslwr(wchar_t* wsToConvert); -int wcsnicmp(const wchar_t* ws1, const wchar_t* ws2, size_t sizeMaxCompare); -wchar_t* wcsnset(wchar_t* wsToFill, wchar_t wcFill, size_t sizeMaxFill); -wchar_t* wcsrev(wchar_t* wsToReverse); -wchar_t* wcsset(wchar_t* wsToFill, wchar_t wcToFill); -wchar_t* wcsupr(wchar_t* wsToConvert); - -#endif /* Not _NO_OLDNAMES */ -#endif /* Not strict ANSI */ - - -#ifdef __cplusplus -} -#endif - -#endif /* Not _STRING_H_ */ - diff --git a/reactos/include/msvcrt/sys/fcntl.h b/reactos/include/msvcrt/sys/fcntl.h deleted file mode 100644 index 19a67bc4b9e..00000000000 --- a/reactos/include/msvcrt/sys/fcntl.h +++ /dev/null @@ -1,8 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * This fcntl.h maps to the root fcntl.h - */ -#ifndef __STRICT_ANSI__ -#include -#endif diff --git a/reactos/include/msvcrt/sys/file.h b/reactos/include/msvcrt/sys/file.h deleted file mode 100644 index 9b8cc980572..00000000000 --- a/reactos/include/msvcrt/sys/file.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * This file.h maps to the root fcntl.h - * TODO? - */ -#ifndef __STRICT_ANSI__ -#include -#endif diff --git a/reactos/include/msvcrt/sys/locking.h b/reactos/include/msvcrt/sys/locking.h deleted file mode 100644 index 31bc4ebd9f5..00000000000 --- a/reactos/include/msvcrt/sys/locking.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * locking.h - * - * Constants for the mode parameter of the locking function. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _LOCKING_H_ -#define _LOCKING_H_ - - -#define _LK_UNLCK 0 /* Unlock */ -#define _LK_LOCK 1 /* Lock */ -#define _LK_NBLCK 2 /* Non-blocking lock */ -#define _LK_RLCK 3 /* Lock for read only */ -#define _LK_NBRLCK 4 /* Non-blocking lock for read only */ - -#ifndef NO_OLDNAMES -#define LK_UNLCK _LK_UNLCK -#define LK_LOCK _LK_LOCK -#define LK_NBLCK _LK_NBLCK -#define LK_RLCK _LK_RLCK -#define LK_NBRLCK _LK_NBRLCK -#endif /* Not NO_OLDNAMES */ - -#endif /* Not _LOCKING_H_ */ - -#endif /* Not __STRICT_ANSI__ */ diff --git a/reactos/include/msvcrt/sys/stat.h b/reactos/include/msvcrt/sys/stat.h deleted file mode 100644 index 904a83622d5..00000000000 --- a/reactos/include/msvcrt/sys/stat.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - * stat.h - * - * Symbolic constants for opening and creating files, also stat, fstat and - * chmod functions. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.7 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _STAT_H_ -#define _STAT_H_ - -#include - - -#ifndef _WCHAR_T_ -#define _WCHAR_T_ -#define _WCHAR_T -#define _WCHAR_T_DEFINED -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ short unsigned int -#endif -#ifndef __cplusplus -typedef __WCHAR_TYPE__ wchar_t; -#endif /* C++ */ -#endif /* wchar_t not already defined */ - - -/* - * Constants for the stat st_mode member. - */ -#define S_IFIFO 0x1000 /* FIFO */ -#define S_IFCHR 0x2000 /* Character */ -#define S_IFBLK 0x3000 /* Block */ -#define S_IFDIR 0x4000 /* Directory */ -#define S_IFREG 0x8000 /* Regular */ - -#define S_IFMT 0xF000 /* File type mask */ - -#define S_IEXEC 0x0040 -#define S_IWRITE 0x0080 -#define S_IREAD 0x0100 - -#define S_ISDIR(m) ((m) & S_IFDIR) -#define S_ISFIFO(m) ((m) & S_IFIFO) -#define S_ISCHR(m) ((m) & S_IFCHR) -#define S_ISBLK(m) ((m) & S_IFBLK) -#define S_ISREG(m) ((m) & S_IFREG) - -#define S_IRWXU (S_IREAD | S_IWRITE | S_IEXEC) -#define S_IXUSR S_IEXEC -#define S_IWUSR S_IWRITE -#define S_IRUSR S_IREAD - -#define _S_IEXEC S_IEXEC -#define _S_IREAD S_IREAD -#define _S_IWRITE S_IWRITE - -/* - * The structure manipulated and returned by stat and fstat. - * - * NOTE: If called on a directory the values in the time fields are not only - * invalid, they will cause localtime et. al. to return NULL. And calling - * asctime with a NULL pointer causes an Invalid Page Fault. So watch it! - */ -struct stat -{ - unsigned st_dev; /* Equivalent to drive number 0=A 1=B ... */ - short st_ino; /* Always zero ? */ - short st_mode; /* See above constants */ - short st_nlink; /* Number of links. */ - short st_uid; /* User: Maybe significant on NT ? */ - short st_gid; /* Group: Ditto */ - unsigned st_rdev; /* Seems useless (not even filled in) */ - long st_size; /* File size in bytes */ - time_t st_atime; /* Accessed date (always 00:00 hrs local on FAT) */ - time_t st_mtime; /* Modified time */ - time_t st_ctime; /* Creation time */ -}; - - -struct _stati64 -{ - unsigned st_dev; /* Equivalent to drive number 0=A 1=B ... */ - short st_ino; /* Always zero ? */ - short st_mode; /* See above constants */ - short st_nlink; /* Number of links. */ - short st_uid; /* User: Maybe significant on NT ? */ - short st_gid; /* Group: Ditto */ - unsigned st_rdev; /* Seems useless (not even filled in) */ - __int64 st_size; /* File size in bytes */ - time_t st_atime; /* Accessed date (always 00:00 hrs local on FAT) */ - time_t st_mtime; /* Modified time */ - time_t st_ctime; /* Creation time */ -}; - -#ifdef __cplusplus -extern "C" { -#endif - -int _fstat(int, struct stat*); -int _stat(const char*, struct stat*); - -__int64 _fstati64(int nFileNo, struct _stati64* pstat); -__int64 _stati64(const char* szPath, struct _stati64* pstat); -int _wstat(const wchar_t* szPath, struct stat* pstat); -__int64 _wstati64(const wchar_t* szPath, struct _stati64* pstat); - - -#ifndef _NO_OLDNAMES - -#define fstat(nFileNo, pstat) _fstat(nFileNo, pstat) -#define stat(szPath,pstat) _stat(szPath,pstat) - -#endif /* Not _NO_OLDNAMES */ - - -#ifdef __cplusplus -} -#endif - -#endif /* Not _STAT_H_ */ - -#endif /* Not __STRICT_ANSI__ */ diff --git a/reactos/include/msvcrt/sys/time.h b/reactos/include/msvcrt/sys/time.h deleted file mode 100644 index 27d64df0d18..00000000000 --- a/reactos/include/msvcrt/sys/time.h +++ /dev/null @@ -1,3 +0,0 @@ - -#include - diff --git a/reactos/include/msvcrt/sys/timeb.h b/reactos/include/msvcrt/sys/timeb.h deleted file mode 100644 index fc0ac3e5167..00000000000 --- a/reactos/include/msvcrt/sys/timeb.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * timeb.h - * - * Support for the UNIX System V ftime system call. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _TIMEB_H_ -#define _TIMEB_H_ - - -/* - * TODO: Structure not tested. - */ -struct timeb -{ - long time; - short millitm; - short _timezone; - short dstflag; -}; - -#ifdef __cplusplus -extern "C" { -#endif - -/* TODO: Not tested. */ -void _ftime(struct timeb*); - -#ifndef _NO_OLDNAMES -void ftime(struct timeb*); -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not _TIMEB_H_ */ - -#endif /* Not __STRICT_ANSI__ */ diff --git a/reactos/include/msvcrt/sys/types.h b/reactos/include/msvcrt/sys/types.h deleted file mode 100644 index 6f24e5defcb..00000000000 --- a/reactos/include/msvcrt/sys/types.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * types.h - * - * The definition of constants, data types and global variables. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warrenties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _TYPES_H_ -#define _TYPES_H_ - -#ifdef __GNUC__ -#undef __int64 -#define __int64 long long -#endif - -#ifndef _TIME_T_ -#define _TIME_T_ -typedef long time_t; -#endif - -#ifndef __STRICT_ANSI__ - -#ifndef _OFF_T_DEFINED -typedef long _off_t; -#ifndef _NO_OLDNAMES -#define off_t _off_t -#endif -#define _OFF_T_DEFINED -#endif /* Not _OFF_T_DEFINED */ - -#ifndef _DEV_T_DEFINED -typedef short _dev_t; -#ifndef _NO_OLDNAMES -#define dev_t _dev_t -#endif -#define _DEV_T_DEFINED -#endif /* Not _DEV_T_DEFINED */ - -#ifndef _INO_T_DEFINED -typedef short _ino_t; -#ifndef _NO_OLDNAMES -#define ino_t _ino_t -#endif -#define _INO_T_DEFINED -#endif /* Not _INO_T_DEFINED */ - -#endif /* Not __STRICT_ANSI__ */ - -#endif /* Not _TYPES_H_ */ diff --git a/reactos/include/msvcrt/sys/unistd.h b/reactos/include/msvcrt/sys/unistd.h deleted file mode 100644 index 21f6fd14151..00000000000 --- a/reactos/include/msvcrt/sys/unistd.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * unistd.h maps (roughly) to io.h - */ -#ifndef __STRICT_ANSI__ -#include -#endif - diff --git a/reactos/include/msvcrt/sys/utime.h b/reactos/include/msvcrt/sys/utime.h deleted file mode 100644 index 0f0028f5417..00000000000 --- a/reactos/include/msvcrt/sys/utime.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * utime.h - * - * Support for the utime function. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author$ - * $Date$ - * - */ - -#ifndef __STRICT_ANSI__ - -#ifndef _UTIME_H_ -#define _UTIME_H_ - -#define __need_wchar_t -#define __need_size_t -#include -#include - - -/* - * Structure used by _utime function. - */ -struct _utimbuf -{ - time_t actime; /* Access time */ - time_t modtime; /* Modification time */ -}; - - -#ifndef _NO_OLDNAMES - -/* NOTE: Must be the same as _utimbuf above. */ -struct utimbuf -{ - time_t actime; - time_t modtime; -}; -#endif /* Not _NO_OLDNAMES */ - - -#ifdef __cplusplus -extern "C" { -#endif - -int _utime(const char*, struct _utimbuf*); -int _futime(int, struct _utimbuf*); - -/* The wide character version, only available for MSVCRT versions of the - * C runtime library. */ -int _wutime(const wchar_t*, struct _utimbuf*); - -#ifndef _NO_OLDNAMES -int utime(const char*, struct utimbuf*); -#endif /* Not _NO_OLDNAMES */ - - -#ifdef __cplusplus -} -#endif - -#endif /* Not _UTIME_H_ */ -#endif /* Not __STRICT_ANSI__ */ diff --git a/reactos/include/msvcrt/time.h b/reactos/include/msvcrt/time.h deleted file mode 100644 index 68daa49d78c..00000000000 --- a/reactos/include/msvcrt/time.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * time.h - * - * Date and time functions and types. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.6 $ - * $Author$ - * $Date$ - * - */ -/* Appropriated for Reactos Crtdll by Ariadne */ -#ifndef _TIME_H_ -#define _TIME_H_ - -#define __need_wchar_t -#define __need_size_t -#include - - -/* - * Number of clock ticks per second. A clock tick is the unit by which - * processor time is measured and is returned by 'clock'. - */ -#define CLOCKS_PER_SEC 1000.0 -#define CLK_TICK CLOCKS_PER_SEC - - -/* - * Need a definition of time_t. - */ -#include - -/* - * A type for storing the current time and date. This is the number of - * seconds since midnight Jan 1, 1970. - * NOTE: Normally this is defined by the above include of sys/types.h - */ -#ifndef _TIME_T_ -typedef long time_t; -#define _TIME_T_ -#endif - -/* - * A type for measuring processor time (in clock ticks). - */ -#ifndef _CLOCK_T_ -typedef long clock_t; -#define _CLOCK_T_ -#endif - -/* - * A structure for storing all kinds of useful information about the - * current (or another) time. - */ -struct tm -{ - int tm_sec; /* Seconds: 0-59 (K&R says 0-61?) */ - int tm_min; /* Minutes: 0-59 */ - int tm_hour; /* Hours since midnight: 0-23 */ - int tm_mday; /* Day of the month: 1-31 */ - int tm_mon; /* Months *since* january: 0-11 */ - int tm_year; /* Years since 1900 */ - int tm_wday; /* Days since Sunday (0-6) */ - int tm_yday; /* Days since Jan. 1: 0-365 */ - int tm_isdst; /* +1 Daylight Savings Time, 0 No DST, - * -1 don't know */ - char *tm_zone; - int tm_gmtoff; -}; - -#ifdef __cplusplus -extern "C" { -#endif - -clock_t clock(void); -time_t time(time_t*); -double difftime(time_t, time_t); -time_t mktime(struct tm*); - -/* - * These functions write to and return pointers to static buffers that may - * be overwritten by other function calls. Yikes! - * - * NOTE: localtime, and perhaps the others of the four functions grouped - * below may return NULL if their argument is not 'acceptable'. Also note - * that calling asctime with a NULL pointer will produce an Invalid Page - * Fault and crap out your program. Guess how I know. Hint: stat called on - * a directory gives 'invalid' times in st_atime etc... - */ -char* asctime(const struct tm*); -char* ctime(const time_t*); -struct tm* gmtime(const time_t*); -struct tm* localtime(const time_t*); - -size_t strftime(char*, size_t, const char*, const struct tm*); -size_t wcsftime(wchar_t*, size_t, const wchar_t*, const struct tm*); - -wchar_t* _wasctime(const struct tm *timeptr); -wchar_t* _wctime(const time_t * const timep); -char* _strdate(const char *datestr); -wchar_t* _wstrdate(const wchar_t *datestr); -char* _strtime(char* buf); -wchar_t* _wstrtime(wchar_t* buf); - -#ifdef __cplusplus -} -#endif - -#endif /* Not _TIME_H_ */ - diff --git a/reactos/include/msvcrt/wchar.h b/reactos/include/msvcrt/wchar.h deleted file mode 100644 index 9fc76f07b65..00000000000 --- a/reactos/include/msvcrt/wchar.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * wchar.h - * - * Defines of all functions for supporting wide characters. Actually it - * just includes all those headers, which is not a good thing to do from a - * processing time point of view, but it does mean that everything will be - * in sync. - * - * This file is part of the Mingw32 package. - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author$ - * $Date$ - * - */ - -#ifndef _WCHAR_H_ -#define _WCHAR_H_ - -#define WCHAR_MIN 0 -#define WCHAR_MAX ((wchar_t)-1) - -#include -#include -#include -#include -#include - - -#endif /* not _WCHAR_H_ */ - diff --git a/reactos/include/napi/teb.h b/reactos/include/napi/teb.h index ed58fff818b..b980f2b05b9 100644 --- a/reactos/include/napi/teb.h +++ b/reactos/include/napi/teb.h @@ -105,8 +105,8 @@ typedef struct _PEB UCHAR InheritedAddressSpace; /* 00h */ UCHAR ReadImageFileExecOptions; /* 01h */ UCHAR BeingDebugged; /* 02h */ - UCHAR Spare; /* 03h */ - PVOID Mutant; /* 04h */ + BOOLEAN SpareBool; /* 03h */ + HANDLE Mutant; /* 04h */ PVOID ImageBaseAddress; /* 08h */ PPEB_LDR_DATA Ldr; /* 0Ch */ PRTL_USER_PROCESS_PARAMETERS ProcessParameters; /* 10h */ @@ -131,7 +131,6 @@ typedef struct _PEB PVOID UnicodeCaseTableData; /* 60h */ ULONG NumberOfProcessors; /* 64h */ ULONG NtGlobalFlag; /* 68h */ - UCHAR Spare2[0x4]; /* 6Ch */ LARGE_INTEGER CriticalSectionTimeout; /* 70h */ ULONG HeapSegmentReserve; /* 78h */ ULONG HeapSegmentCommit; /* 7Ch */ @@ -139,7 +138,7 @@ typedef struct _PEB ULONG HeapDeCommitFreeBlockThreshold; /* 84h */ ULONG NumberOfHeaps; /* 88h */ ULONG MaximumNumberOfHeaps; /* 8Ch */ - PVOID** ProcessHeaps; /* 90h */ + PVOID* ProcessHeaps; /* 90h */ PVOID GdiSharedHandleTable; /* 94h */ PVOID ProcessStarterHelper; /* 98h */ PVOID GdiDCAttributeList; /* 9Ch */ @@ -147,13 +146,19 @@ typedef struct _PEB ULONG OSMajorVersion; /* A4h */ ULONG OSMinorVersion; /* A8h */ USHORT OSBuildNumber; /* ACh */ - UCHAR SPMajorVersion; /* AEh */ - UCHAR SPMinorVersion; /* AFh */ + USHORT OSCSDVersion; /* AEh */ ULONG OSPlatformId; /* B0h */ ULONG ImageSubSystem; /* B4h */ ULONG ImageSubSystemMajorVersion; /* B8h */ - ULONG ImageSubSystemMinorVersion; /* C0h */ + ULONG ImageSubSystemMinorVersion; /* BCh */ + ULONG ImageProcessAffinityMask; /* C0h */ ULONG GdiHandleBuffer[0x22]; /* C4h */ + PVOID PostProcessInitRoutine; /* 14Ch */ + PVOID *TlsExpansionBitmap; /* 150h */ + ULONG TlsExpansionBitmapBits[0x20]; /* 154h */ + ULONG SessionId; /* 1D4h */ + PVOID AppCompatInfo; /* 1D8h */ + UNICODE_STRING CSDVersion; /* 1DCh */ } PEB; #ifndef __USE_W32API diff --git a/reactos/include/napi/win32.h b/reactos/include/napi/win32.h index fa740bd1eac..52f3c05843e 100644 --- a/reactos/include/napi/win32.h +++ b/reactos/include/napi/win32.h @@ -8,7 +8,6 @@ typedef struct _W32THREAD PVOID MessageQueue; FAST_MUTEX WindowListLock; LIST_ENTRY WindowListHead; - FAST_MUTEX W32CallbackListLock; LIST_ENTRY W32CallbackListHead; struct _KBDTABLES* KeyboardLayout; struct _DESKTOP_OBJECT* Desktop; diff --git a/reactos/include/ntdll/ntdll.h b/reactos/include/ntdll/ntdll.h index 1cdacb5d863..5a4004f658b 100644 --- a/reactos/include/ntdll/ntdll.h +++ b/reactos/include/ntdll/ntdll.h @@ -42,3 +42,10 @@ #define MAGIC(c1,c2,c3,c4) ((c1) + ((c2)<<8) + ((c3)<<16) + ((c4)<<24)) #define MAGIC_HEAP MAGIC( 'H','E','A','P' ) + +#ifdef DBG +extern VOID FASTCALL CHECK_PAGED_CODE_RTL(char *file, int line); +#define PAGED_CODE_RTL() CHECK_PAGED_CODE_RTL(__FILE__, __LINE__) +#else +#define PAGED_CODE_RTL() +#endif diff --git a/reactos/include/ntdll/rtl.h b/reactos/include/ntdll/rtl.h index 7c8dbf4695a..cb73f5526b1 100644 --- a/reactos/include/ntdll/rtl.h +++ b/reactos/include/ntdll/rtl.h @@ -14,6 +14,12 @@ extern "C" { #endif /* __cplusplus */ +#ifdef DBG +extern VOID FASTCALL CHECK_PAGED_CODE_RTL(char *file, int line); +#define PAGED_CODE_RTL() CHECK_PAGED_CODE_RTL(__FILE__, __LINE__) +#else +#define PAGED_CODE_RTL() +#endif #ifndef __USE_W32API diff --git a/reactos/include/ntos/zw.h b/reactos/include/ntos/zw.h index 476e5822115..8063bb5e5e0 100755 --- a/reactos/include/ntos/zw.h +++ b/reactos/include/ntos/zw.h @@ -108,12 +108,12 @@ typedef struct _FILE_USER_QUOTA_INFORMATION { #ifndef __USE_NT_LPC__ NTSTATUS STDCALL -NtAcceptConnectPort (PHANDLE PortHandle, - HANDLE NamedPortHandle, - PLPC_MESSAGE ServerReply, - BOOLEAN AcceptIt, - PLPC_SECTION_WRITE WriteMap, - PLPC_SECTION_READ ReadMap); +NtAcceptConnectPort (OUT PHANDLE PortHandle, + IN PVOID Context, + IN PLPC_MESSAGE ServerReply, + IN BOOLEAN AcceptIt, + IN PLPC_SECTION_WRITE WriteMap, + IN PLPC_SECTION_READ ReadMap); #else NTSTATUS STDCALL NtAcceptConnectPort (PHANDLE PortHandle, @@ -4423,28 +4423,28 @@ ZwShutdownSystem( /* * FUNCTION: Signals an object and wait for an other one. * ARGUMENTS: - * SignalObject = Handle to the object that should be signaled - * WaitObject = Handle to the object that should be waited for + * ObjectHandleToSignal = Handle to the object that should be signaled + * WaitableObjectHandle = Handle to the object that should be waited for * Alertable = True if the wait is alertable - * Time = The time to wait + * TimeOut = The time to wait * RETURNS: Status */ NTSTATUS STDCALL NtSignalAndWaitForSingleObject( - IN HANDLE SignalObject, - IN HANDLE WaitObject, + IN HANDLE ObjectHandleToSignal, + IN HANDLE WaitableObjectHandle, IN BOOLEAN Alertable, - IN PLARGE_INTEGER Time + IN PLARGE_INTEGER TimeOut OPTIONAL ); NTSTATUS STDCALL NtSignalAndWaitForSingleObject( - IN HANDLE SignalObject, - IN HANDLE WaitObject, + IN HANDLE ObjectHandleToSignal, + IN HANDLE WaitableObjectHandle, IN BOOLEAN Alertable, - IN PLARGE_INTEGER Time + IN PLARGE_INTEGER TimeOut OPTIONAL ); /* @@ -4651,9 +4651,9 @@ ZwWriteVirtualMemory( /* * FUNCTION: Waits for an object to become signalled. * ARGUMENTS: - * Object = The object handle + * ObjectHandle = The object handle * Alertable = If true the wait is alertable. - * Time = The maximum wait time. + * TimeOut = The maximum wait time. * REMARKS: * This function maps to the win32 WaitForSingleObjectEx. * RETURNS: Status @@ -4661,17 +4661,17 @@ ZwWriteVirtualMemory( NTSTATUS STDCALL NtWaitForSingleObject ( - IN HANDLE Object, + IN HANDLE ObjectHandle, IN BOOLEAN Alertable, - IN PLARGE_INTEGER Time + IN PLARGE_INTEGER TimeOut OPTIONAL ); NTSTATUS STDCALL ZwWaitForSingleObject ( - IN HANDLE Object, + IN HANDLE ObjectHandle, IN BOOLEAN Alertable, - IN PLARGE_INTEGER Time + IN PLARGE_INTEGER TimeOut OPTIONAL ); /* --- EVENT PAIR OBJECT --- */ @@ -5420,10 +5420,10 @@ NTSTATUS STDCALL NtQuerySection( IN HANDLE SectionHandle, - IN CINT SectionInformationClass, + IN SECTION_INFORMATION_CLASS SectionInformationClass, OUT PVOID SectionInformation, - IN ULONG Length, - OUT PULONG ResultLength + IN ULONG SectionInformationLength, + OUT PULONG ResultLength OPTIONAL ); /* @@ -5457,11 +5457,11 @@ NtQueryVirtualMemory( * FUNCTION: Raises a hard error (stops the system) * ARGUMENTS: * Status = Status code of the hard error - * Unknown2 = ?? - * Unknown3 = ?? - * Unknown4 = ?? - * Unknown5 = ?? - * Unknown6 = ?? + * NumberOfParameters = Number of (optional) parameters in Parameters + * UnicodeStringParameterMask = (optional) string parameter, one per error code + * Parameters = An Array of pointers for use in the error message string + * ResponseOption = Specifies the type of the message box + * Response = Specifies the user's response * RETURNS: Status * */ @@ -5469,12 +5469,12 @@ NtQueryVirtualMemory( NTSTATUS STDCALL NtRaiseHardError( - IN NTSTATUS Status, - ULONG Unknown2, - ULONG Unknown3, - ULONG Unknown4, - ULONG Unknown5, - ULONG Unknown6 + IN NTSTATUS ErrorStatus, + IN ULONG NumberOfParameters, + IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL, + IN PVOID *Parameters, + IN HARDERROR_RESPONSE_OPTION ResponseOption, + OUT PHARDERROR_RESPONSE Response ); /* @@ -5583,11 +5583,11 @@ NtUnlockVirtualMemory( /* * FUNCTION: Waits for multiple objects to become signalled. * ARGUMENTS: - * Count = The number of objects - * Object = The array of object handles + * ObjectCount = The number of objects + * ObjectsArray = The array of object handles * WaitType = Can be one of the values UserMode or KernelMode * Alertable = If true the wait is alertable. - * Time = The maximum wait time. + * TimeOut = The maximum wait time. * REMARKS: * This function maps to the win32 WaitForMultipleObjectEx. * RETURNS: Status @@ -5595,11 +5595,11 @@ NtUnlockVirtualMemory( NTSTATUS STDCALL NtWaitForMultipleObjects ( - IN ULONG Count, - IN HANDLE Object[], + IN ULONG ObjectCount, + IN PHANDLE ObjectsArray, IN WAIT_TYPE WaitType, IN BOOLEAN Alertable, - IN PLARGE_INTEGER Time + IN PLARGE_INTEGER TimeOut OPTIONAL ); @@ -6186,23 +6186,24 @@ ZwQueryVirtualMemory( * FUNCTION: Raises a hard error (stops the system) * ARGUMENTS: * Status = Status code of the hard error - * Unknown2 = ?? - * Unknown3 = ?? - * Unknown4 = ?? - * Unknown5 = ?? - * Unknown6 = ?? + * NumberOfParameters = Number of (optional) parameters in Parameters + * UnicodeStringParameterMask = (optional) string parameter, one per error code + * Parameters = An Array of pointers for use in the error message string + * ResponseOption = Specifies the type of the message box + * Response = Specifies the user's response * RETURNS: Status * */ + NTSTATUS STDCALL ZwRaiseHardError( - IN NTSTATUS Status, - ULONG Unknown2, - ULONG Unknown3, - ULONG Unknown4, - ULONG Unknown5, - ULONG Unknown6 + IN NTSTATUS ErrorStatus, + IN ULONG NumberOfParameters, + IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL, + IN PVOID *Parameters, + IN HARDERROR_RESPONSE_OPTION ResponseOption, + OUT PHARDERROR_RESPONSE Response ); /* @@ -6356,11 +6357,11 @@ ZwUnlockVirtualMemory( /* * FUNCTION: Waits for multiple objects to become signalled. * ARGUMENTS: - * Count = The number of objects - * Object = The array of object handles + * ObjectCount = The number of objects + * ObjectsArray = The array of object handles * WaitType = Can be one of the values UserMode or KernelMode * Alertable = If true the wait is alertable. - * Time = The maximum wait time. + * TimeOut = The maximum wait time. * REMARKS: * This function maps to the win32 WaitForMultipleObjectEx. * RETURNS: Status @@ -6368,11 +6369,11 @@ ZwUnlockVirtualMemory( NTSTATUS STDCALL ZwWaitForMultipleObjects ( - IN ULONG Count, - IN HANDLE Object[], + IN ULONG ObjectCount, + IN PHANDLE ObjectsArray, IN WAIT_TYPE WaitType, IN BOOLEAN Alertable, - IN PLARGE_INTEGER Time + IN PLARGE_INTEGER TimeOut OPTIONAL ); /* @@ -6450,10 +6451,10 @@ NTSTATUS STDCALL ZwQuerySection( IN HANDLE SectionHandle, - IN CINT SectionInformationClass, + IN SECTION_INFORMATION_CLASS SectionInformationClass, OUT PVOID SectionInformation, - IN ULONG Length, - OUT PULONG ResultLength + IN ULONG SectionInformationLength, + OUT PULONG ResultLength OPTIONAL ); typedef struct _SECTION_IMAGE_INFORMATION diff --git a/reactos/include/ntos/zwtypes.h b/reactos/include/ntos/zwtypes.h index 067ed8bb132..1483c5778b6 100755 --- a/reactos/include/ntos/zwtypes.h +++ b/reactos/include/ntos/zwtypes.h @@ -1102,10 +1102,11 @@ typedef struct _FILE_BOTH_DIRECTORY_INFORMATION { */ typedef struct _FILE_NOTIFY_INFORMATION { - ULONG Action; - ULONG FileNameLength; - WCHAR FileName[0]; -} FILE_NOTIFY_INFORMATION; + ULONG NextEntryOffset; + ULONG Action; + ULONG NameLength; + WCHAR Name[1]; +} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION; #define FSCTL_GET_VOLUME_BITMAP 0x9006F #define FSCTL_GET_RETRIEVAL_POINTERS 0x90073 @@ -1742,7 +1743,7 @@ typedef enum LPC_DEBUG_EVENT = 0x8, LPC_ERROR_EVENT = 0x9, LPC_CONNECTION_REQUEST = 0xa, - LPC_CONNECTION_REFUSED = 0xb + LPC_CONNECTION_REFUSED = 0xb /* ReactOS only */ } LPC_TYPE, *PLPC_TYPE; diff --git a/reactos/include/reactos/version.rc b/reactos/include/reactos/version.rc index 5a78b343ab1..1055e1f600d 100644 --- a/reactos/include/reactos/version.rc +++ b/reactos/include/reactos/version.rc @@ -111,9 +111,9 @@ VS_VERSION_INFO VERSIONINFO VALUE "FileDescription", REACTOS_STR_FILE_DESCRIPTION VALUE "FileVersion", REACTOS_STR_FILE_VERSION VALUE "InternalName", REACTOS_STR_INTERNAL_NAME -#ifdef REACTOS_ORIGINAL_COPYRIGHT +#ifdef REACTOS_STR_ORIGINAL_COPYRIGHT VALUE "OriginalCopyright", REACTOS_STR_ORIGINAL_COPYRIGHT -#endif /* REACTOS_ORIGINAL_COPYRIGHT */ +#endif /* REACTOS_STR_ORIGINAL_COPYRIGHT */ VALUE "LegalCopyright", REACTOS_STR_LEGAL_COPYRIGHT VALUE "OriginalFilename", REACTOS_STR_ORIGINAL_FILENAME VALUE "ProductName", REACTOS_STR_PRODUCT_NAME diff --git a/reactos/include/sm/api.h b/reactos/include/sm/api.h index 797a14dc5ad..ecca2b89d0c 100644 --- a/reactos/include/sm/api.h +++ b/reactos/include/sm/api.h @@ -2,12 +2,33 @@ #ifndef __SM_API_H #define __SM_API_H -#define SM_API_PORT_NAME L"\\SmApiPort" -#define SM_DBGSS_PORT_NAME L"\\DbgSsApiPort" -#define SM_DBGUI_PORT_NAME L"\\DbgUiApiPort" +#include #pragma pack(push,4) +/*** DATA TYPES ******************************************************/ + +#define SM_SB_NAME_MAX_LENGTH 120 + +#pragma pack(push,4) + +/* SmConnectApiPort */ +typedef struct _SM_CONNECT_DATA +{ + ULONG Subsystem; + WCHAR SbName [SM_SB_NAME_MAX_LENGTH]; + +} SM_CONNECT_DATA, *PSM_CONNECT_DATA; + +/* SmpConnectSbApiPort */ +typedef struct _SB_CONNECT_DATA +{ + ULONG SmApiMax; +} SB_CONNECT_DATA, *PSB_CONNECT_DATA; + + +/*** SM API ***/ + /*** 1 ****************************************************************/ #define SM_API_COMPLETE_SESSION 1 /* complete a session initialization */ @@ -65,8 +86,9 @@ typedef struct _SM_PORT_MESSAGE /*** MACRO ***********************************************************/ -#define SM_PORT_DATA_SIZE(c) (sizeof(DWORD)+sizeof(NTSTATUS)+sizeof(c)) -#define SM_PORT_MESSAGE_SIZE (sizeof(SM_PORT_MESSAGE)) +#define SM_CONNECT_DATA_SIZE(m) ((m).Header.DataSize-sizeof(ULONG)) +#define SM_PORT_DATA_SIZE(c) (sizeof(DWORD)+sizeof(NTSTATUS)+sizeof(c)) +#define SM_PORT_MESSAGE_SIZE (sizeof(SM_PORT_MESSAGE)) #endif /* !def __SM_API_H */ diff --git a/reactos/include/sm/helper.h b/reactos/include/sm/helper.h index 13ed8829041..01bc9a1f938 100644 --- a/reactos/include/sm/helper.h +++ b/reactos/include/sm/helper.h @@ -1,30 +1,7 @@ -#ifndef _SM_HELPER_H - -/*** DATA TYPES ******************************************************/ - -#define SM_SB_NAME_MAX_LENGTH 120 - -#pragma pack(push,4) - -/* SmConnectApiPort */ -typedef struct _SM_CONNECT_DATA -{ - ULONG Subsystem; - WCHAR SbName [SM_SB_NAME_MAX_LENGTH]; - -} SM_CONNECT_DATA, *PSM_CONNECT_DATA; - -/* SmpConnectSbApiPort */ -typedef struct _SB_CONNECT_DATA -{ - ULONG SmApiMax; -} SB_CONNECT_DATA, *PSB_CONNECT_DATA; - -#pragma pack(pop) - - -/*** PROTOTYPES ******************************************************/ +#if !defined(INCLUDE_SM_HELPER_H) +#define INCLUDE_SM_HELPER_H +/* $Id$ */ /* smdll/connect.c */ NTSTATUS STDCALL @@ -43,4 +20,4 @@ SmExecuteProgram (IN HANDLE hSmApiPort, IN PUNICODE_STRING Pgm ); -#endif /* ndef _SM_HELPER_H */ +#endif /* ndef INCLUDE_SM_HELPER_H */ diff --git a/reactos/include/sm/ns.h b/reactos/include/sm/ns.h new file mode 100644 index 00000000000..fde7f80a431 --- /dev/null +++ b/reactos/include/sm/ns.h @@ -0,0 +1,13 @@ +#if !defined(INCLUDE_SM_NS_H) +#define INCLUDE_SM_NS_H + +/* $Id: helper.h 13689 2005-02-20 16:46:10Z ea $ */ + +#define SM_REGISTRY_ROOT_NAME L"\\Session Manager" +#define SM_REGISTRY_SUBSYSTEMS_NAME L"SubSystems" + +#define SM_API_PORT_NAME L"\\SmApiPort" +#define SM_DBGSS_PORT_NAME L"\\DbgSsApiPort" +#define SM_DBGUI_PORT_NAME L"\\DbgUiApiPort" + +#endif /* ndef INCLUDE_SM_NS_H */ diff --git a/reactos/include/tchar.h b/reactos/include/tchar.h index cf296e3b4f6..9225bf2babd 100644 --- a/reactos/include/tchar.h +++ b/reactos/include/tchar.h @@ -1,268 +1,410 @@ -/* - * tchar.h - * - * Unicode mapping layer for the standard C library. By including this - * file and using the 't' names for string functions - * (eg. _tprintf) you can make code which can be easily adapted to both - * Unicode and non-unicode environments. In a unicode enabled compile define - * _UNICODE before including tchar.h, otherwise the standard non-unicode - * library functions will be used. - * - * Note that you still need to include string.h or stdlib.h etc. to define - * the appropriate functions. Also note that there are several defines - * included for non-ANSI functions which are commonly available (but using - * the convention of prepending an underscore to non-ANSI library function - * names). - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.14 $ - * $Author$ - * $Date$ - * - */ -#ifndef _ROS_TCHAR_H_ -#define _ROS_TCHAR_H_ +#ifndef _TCHAR_H_ +#define _TCHAR_H_ -#include +#include -/* - * NOTE: This tests _UNICODE, which is different from the UNICODE define - * used to differentiate Win32 API calls. - */ -#ifdef _UNICODE +#ifdef _UNICODE + #define __TEXT(q) L##q + + #ifndef _TCHAR_DEFINED + #ifndef RC_INVOKED + typedef wchar_t TCHAR; + typedef wchar_t _TCHAR; + #endif /* Not RC_INVOKED */ + #define _TCHAR_DEFINED + #endif + + #define _TINT wint_t + #define _TSCHAR wchar_t + #define _TUCHAR wchar_t + #define _TXCHAR wchar_t + #define _TEOF WEOF + #define _tenviron _wenviron + #define _tfinddata_t _wfinddata_t + + /* dirent structures and functions */ + #define _tdirent _wdirent + #define _TDIR _WDIR + #define _topendir _wopendir + #define _tclosedir _wclosedir + #define _treaddir _wreaddir + #define _trewinddir _wrewinddir + #define _ttelldir _wtelldir + #define _tseekdir _wseekdir + + #define _ttoi64 _wtoi64 + #define _i64tot _i64tow + #define _ui64tot _ui64tow + #define _tcsnccoll _wstrncoll + #define _tcsncoll _wstrncoll + #define _tcsncicoll _wstrnicoll + #define _tfindfirsti64 _wfindfirsti64 + #define _tfindnexti64 _wfindnexti64 + #define _tfinddatai64_t _wfinddatai64_t + + #define _tunlink _wunlink + #define _tgetdcwd _wgetdcwd -/* - * Use TCHAR instead of char or wchar_t. It will be appropriately translated - * if _UNICODE is correctly defined (or not). - */ -#ifndef _TCHAR_DEFINED -#ifndef RC_INVOKED -typedef wchar_t _TCHAR; -typedef wchar_t _TSCHAR; -typedef wchar_t _TUCHAR; -typedef wchar_t _TXCHAR; -/* #if !__STDC__ */ -typedef wchar_t TCHAR; -/* #endif */ -#endif /* Not RC_INVOKED */ -#define _TCHAR_DEFINED + #define _fgettc fgetwc + #define _fgettchar _fgetwchar + #define _fgetts fgetws + #define _fputtc fputwc + #define _fputtchar _fputwchar + #define _fputts fputws + #define _ftprintf fwprintf + #define _ftscanf fwscanf + #define _gettc getwc + #define _gettchar getwchar + #define _getts getws + #define _istalnum iswalnum + #define _istalpha iswalpha + #define _istascii iswascii + #define _istcntrl iswcntrl + #define _istdigit iswdigit + #define _istgraph iswgraph + #define _istlead(c) 0 + #define _istleadbyte(c) 0 + #define _istlegal(c) 1 + #define _istlower iswlower + #define _istprint iswprint + #define _istpunct iswpunct + #define _istspace iswspace + #define _istupper iswupper + #define _istxdigit iswxdigit + #define _itot _itow + #define _ltot _ltow + #define _puttc putwc + #define _puttchar putwchar + #define _putts putws + #define _tmain wmain + #define _sntprintf _snwprintf + #define _stprintf swprintf + #define _stscanf swscanf + #define _taccess _waccess + #define _tasctime _wasctime + #define _tccpy(d,s) (*(d)=*(s)) + #define _tchdir _wchdir + #define _tclen(c) 2 + #define _tchmod _wchmod + #define _tcreat _wcreat + #define _tcscat wcscat + #define _tcschr wcschr + #define _tcsclen wcslen + #define _tcscmp wcscmp + #define _tcscoll wcscoll + #define _tcscpy wcscpy + #define _tcscspn wcscspn + #define _tcsdec _wcsdec + #define _tcsdup _wcsdup + #define _tcsftime wcsftime + #define _tcsicmp _wcsicmp + #define _tcsicoll _wcsicoll + #define _tcsinc _wcsinc + #define _tcslen wcslen + #define _tcslwr _wcslwr + #define _tcsnbcnt _wcnscnt + #define _tcsncat wcsncat + #define _tcsnccat wcsncat + #define _tcsncmp wcsncmp + #define _tcsnccmp wcsncmp + #define _tcsnccnt _wcsncnt + #define _tcsnccpy wcsncpy + #define _tcsncicmp _wcsnicmp + #define _tcsncpy wcsncpy + #define _tcsncset _wcsnset + #define _tcsnextc _wcsnextc + #define _tcsnicmp _wcsnicmp + #define _tcsnicoll _wcsnicoll + #define _tcsninc _wcsninc + #define _tcsnccnt _wcsncnt + #define _tcsnset _wcsnset + #define _tcspbrk wcspbrk + #define _tcsspnp _wcsspnp + #define _tcsrchr wcsrchr + #define _tcsrev _wcsrev + #define _tcsset _wcsset + #define _tcsspn wcsspn + #define _tcsstr wcsstr + #define _tcstod wcstod + #define _tcstok wcstok + #define _tcstol wcstol + #define _tcstoul wcstoul + #define _tcsupr _wcsupr + #define _tcsxfrm wcsxfrm + #define _tctime _wctime + #define _texecl _wexecl + #define _texecle _wexecle + #define _texeclp _wexeclp + #define _texeclpe _wexeclpe + #define _texecv _wexecv + #define _texecve _wexecve + #define _texecvp _wexecvp + #define _texecvpe _wexecvpe + #define _tfdopen _wfdopen + #define _tfindfirst _wfindfirst + #define _tfindnext _wfindnext + #define _tfopen _wfopen + #define _tfreopen _wfreopen + #define _tfsopen _wfsopen + #define _tfullpath _wfullpath + #define _tgetcwd _wgetcwd + #define _tgetenv _wgetenv + #define _tmain wmain + #define _tmakepath _wmakepath + #define _tmkdir _wmkdir + #define _tmktemp _wmktemp + #define _tperror _wperror + #define _topen _wopen + #define _totlower towlower + #define _totupper towupper + #define _tpopen _wpopen + #define _tprintf wprintf + #define _tremove _wremove + #define _trename _wrename + #define _trmdir _wrmdir + #define _tsearchenv _wsearchenv + #define _tscanf wscanf + #define _tsetlocale _wsetlocale + #define _tsopen _wsopen + #define _tspawnl _wspawnl + #define _tspawnle _wspawnle + #define _tspawnlp _wspawnlp + #define _tspawnlpe _wspawnlpe + #define _tspawnv _wspawnv + #define _tspawnve _wspawnve + #define _tspawnvp _wspawnvp + #define _tspawnvpe _wspawnvpe + #define _tsplitpath _wsplitpath + #define _tstat _wstat + #define _tstrdate _wstrdate + #define _tstrtime _wstrtime + #define _tsystem _wsystem + #define _ttempnam _wtempnam + #define _ttmpnam _wtmpnam + #define _ttoi _wtoi + #define _ttol _wtol + #define _tutime _wutime + #define _tWinMain wWinMain + #define _ultot _ultow + #define _ungettc ungetwc + #define _vftprintf vfwprintf + #define _vsntprintf _vsnwprintf + #define _vstprintf vswprintf + #define _vtprintf vwprintf + + #define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1) + #define _wcsinc(_wcs) ((_wcs)+1) + #define _wcsnextc(_wcs) ((unsigned int) *(_wcs)) + #define _wcsninc(_wcs, _inc) (((_wcs)+(_inc))) + #define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs)) + #define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL) + +#else + + #define __TEXT(q) q + + #ifndef _TCHAR_DEFINED + #ifndef RC_INVOKED + typedef char TCHAR; + typedef char _TCHAR; + #endif + #define _TCHAR_DEFINED + #endif + + #define _TINT int + #define _TSCHAR signed char + #define _TUCHAR unsigned char + #define _TXCHAR char + #define _TEOF EOF + #define _tenviron _environ + #define _tfinddata_t _finddata_t + + /* dirent structures and functions */ + #define _tdirent dirent + #define _TDIR DIR + #define _topendir opendir + #define _tclosedir closedir + #define _treaddir readdir + #define _trewinddir rewinddir + #define _ttelldir telldir + #define _tseekdir seekdir + + #define _ttoi64 _atoi64 + #define _i64tot _i64toa + #define _ui64tot _ui64toa + #define _tcsnccoll _strncoll + #define _tcsncoll _strncoll + #define _tcsncicoll _strnicoll + #define _tfindfirsti64 _findfirsti64 + #define _tfindnexti64 _findnexti64 + #define _tfinddatai64_t _finddatai64_t + + #define _tunlink _unlink + #define _tgetdcwd _getdcwd + + #define _fgettc fgetc + #define _fgettchar fgetchar + #define _fgetts fgets + #define _fputtc fputc + #define _fputtchar fputchar + #define _fputts fputs + #define _ftprintf fprintf + #define _ftscanf fscanf + #define _gettc getc + #define _gettchar getchar + #define _getts gets + #define _istalnum isalnum + #define _istalpha isalpha + #define _istascii __isascii + #define _istcntrl iscntrl + #define _istdigit isdigit + #define _istgraph isgraph + #define _istlead(c) 0 + #define _istleadbyte(c) 0 + #define _istlegal(c) 1 + #define _istlower islower + #define _istprint isprint + #define _istpunct ispunct + #define _istspace isspace + #define _istupper isupper + #define _istxdigit isxdigit + #define _itot _itoa + #define _ltot _ltoa + #define _puttc putc + #define _puttchar putchar + #define _putts puts + #define _tmain main + #define _sntprintf _snprintf + #define _stprintf sprintf + #define _stscanf sscanf + #define _taccess _access + #define _tasctime asctime + #define _tccpy(d,s) (*(d)=*(s)) + #define _tchdir _chdir + #define _tclen(c) 1 + #define _tchmod _chmod + #define _tcreat _creat + #define _tcscat strcat + #define _tcschr strchr + #define _tcsclen strlen + #define _tcscmp strcmp + #define _tcscoll strcoll + #define _tcscpy strcpy + #define _tcscspn strcspn + #define _tcsdec _strdec + #define _tcsdup _strdup + #define _tcsftime strftime + #define _tcsicmp _stricmp + #define _tcsicoll _stricoll + #define _tcsinc _strinc + #define _tcslen strlen + #define _tcslwr _strlwr + #define _tcsnbcnt _strncnt + #define _tcsncat strncat + #define _tcsnccat strncat + #define _tcsncmp strncmp + #define _tcsnccmp strncmp + #define _tcsnccnt _strncnt + #define _tcsnccpy strncpy + #define _tcsncicmp _strnicmp + #define _tcsncpy strncpy + #define _tcsncset _strnset + #define _tcsnextc _strnextc + #define _tcsnicmp _strnicmp + #define _tcsnicoll _strnicoll + #define _tcsninc _strninc + #define _tcsnccnt _strncnt + #define _tcsnset _strnset + #define _tcspbrk strpbrk + #define _tcsspnp _strspnp + #define _tcsrchr strrchr + #define _tcsrev _strrev + #define _tcsset _strset + #define _tcsspn strspn + #define _tcsstr strstr + #define _tcstod strtod + #define _tcstok strtok + #define _tcstol strtol + #define _tcstoul strtoul + #define _tcsupr _strupr + #define _tcsxfrm strxfrm + #define _tctime ctime + #define _texecl _execl + #define _texecle _execle + #define _texeclp _execlp + #define _texeclpe _execlpe + #define _texecv _execv + #define _texecve _execve + #define _texecvp _execvp + #define _texecvpe _execvpe + #define _tfdopen _fdopen + #define _tfindfirst _findfirst + #define _tfindnext _findnext + #define _tfopen fopen + #define _tfreopen freopen + #define _tfsopen _fsopen + #define _tfullpath _fullpath + #define _tgetcwd _getcwd + #define _tgetenv getenv + #define _tmain main + #define _tmakepath _makepath + #define _tmkdir _mkdir + #define _tmktemp _mktemp + #define _tperror perror + #define _topen _open + #define _totlower tolower + #define _totupper toupper + #define _tpopen _popen + #define _tprintf printf + #define _tremove remove + #define _trename rename + #define _trmdir _rmdir + #define _tsearchenv _searchenv + #define _tscanf scanf + #define _tsetlocale setlocale + #define _tsopen _sopen + #define _tspawnl _spawnl + #define _tspawnle _spawnle + #define _tspawnlp _spawnlp + #define _tspawnlpe _spawnlpe + #define _tspawnv _spawnv + #define _tspawnve _spawnve + #define _tspawnvp _spawnvp + #define _tspawnvpe _spawnvpe + #define _tsplitpath _splitpath + #define _tstat _stat + #define _tstrdate _strdate + #define _tstrtime _strtime + #define _tsystem system + #define _ttempnam _tempnam + #define _ttmpnam tmpnam + #define _ttoi atoi + #define _ttol atol + #define _tutime _utime + #define _tWinMain WinMain + #define _ultot _ultoa + #define _ungettc ungetc + #define _vftprintf vfprintf + #define _vsntprintf _vsnprintf + #define _vstprintf vsprintf + #define _vtprintf vprintf + + #define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1) + #define _strinc(_str) ((_str)+1) + #define _strnextc(_str) ((unsigned int) *(_str)) + #define _strninc(_str, _inc) (((_str)+(_inc))) + #define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str)) + #define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL) + #endif + + -/* - * Enclose constant strings and literal characters in the _TEXT and _T macro to make - * them unicode constant strings when _UNICODE is defined. - */ -#ifndef _TEXT -#define _TEXT(x) L ## x -#endif -#ifndef _T -#define _T(x) L ## x -#endif +#define _TEXT(x) __TEXT(x) +#define _T(x) __TEXT(x) -/* - * Unicode functions - */ +#endif /* _TCHAR_H_ */ -#define _tmain _wmain - -#define _tprintf wprintf -#define _ftprintf fwprintf -#define _stprintf swprintf -#define _sntprintf _snwprintf -#define _vtprintf vwprintf -#define _vftprintf vfwprintf -#define _vstprintf vswprintf -#define _vsntprintf _vsnwprintf -#define _tscanf wscanf -#define _ftscanf fwscanf -#define _stscanf swscanf -#define _fgettc fgetwc -#define _fgettchar _fgetwchar -#define _fgetts fgetws -#define _fputtc fputwc -#define _fputtchar _fputwchar -#define _fputts fputws -#define _gettc getwc -#define _getts getws -#define _puttc putwc -#define _putts putws -#define _ungettc ungetwc -#define _tcstod wcstod -#define _tcstol wcstol -#define _tcstoul wcstoul -#define _tcscat wcscat -#define _tcschr wcschr -#define _tcscmp wcscmp -#define _tcscpy wcscpy -#define _tcscspn wcscspn -#define _tcslen wcslen -#define _tcsncat wcsncat -#define _tcsncmp wcsncmp -#define _tcsncpy wcsncpy -#define _tcsnlen wcsnlen -#define _tcspbrk wcspbrk -#define _tcsrchr wcsrchr -#define _tcsspn wcsspn -#define _tcsstr wcsstr -#define _tcstok wcstok -#define _tcsdup _wcsdup -#define _tcsicmp _wcsicmp -#define _tcsnicmp _wcsnicmp -#define _tcsnset _wcsnset -#define _tcsrev _wcsrev -#define _tcsset _wcsset -#define _tcslwr _wcslwr -#define _tcsupr _wcsupr -#define _tcsxfrm wcsxfrm -#define _tcscoll wcscoll -#define _tcsicoll _wcsicoll -#define _istalpha iswalpha -#define _istupper iswupper -#define _istlower iswlower -#define _istdigit iswdigit -#define _istxdigit iswxdigit -#define _istspace iswspace -#define _istpunct iswpunct -#define _istalnum iswalnum -#define _istprint iswprint -#define _istgraph iswgraph -#define _istcntrl iswcntrl -#define _istascii iswascii -#define _totupper towupper -#define _totlower towlower -#define _ttoi _wtoi -#define _ttoi64 _wtoi64 -#define _tcsftime wcsftime -#define _tsplitpath _wsplitpath -#define _tmakepath _wmakepath -#define _tfopen _wfopen - -#else /* Not _UNICODE */ - -/* - * TCHAR, the type you should use instead of char. - */ -#ifndef _TCHAR_DEFINED -#ifndef RC_INVOKED -typedef char _TCHAR; -typedef signed char _TSCHAR; -typedef unsigned char _TUCHAR; -typedef char _TXCHAR; - -/*#if !__STDC__*/ -typedef char TCHAR; -/*#endif*/ - -#endif -#define _TCHAR_DEFINED -#endif - -/* - * Enclose constant strings and characters in the _TEXT and _T macro. - */ -#ifndef _TEXT -#define _TEXT(x) x -#endif -#ifndef _T -#define _T(x) x -#endif - - -/* - * Non-unicode (standard) functions - */ - -#define _tmain main - -#define _tprintf printf -#define _ftprintf fprintf -#define _stprintf sprintf -#define _sntprintf _snprintf -#define _vtprintf vprintf -#define _vftprintf vfprintf -#define _vstprintf vsprintf -#define _vsntprintf _vsnprintf -#define _tscanf scanf -#define _ftscanf fscanf -#define _stscanf sscanf -#define _fgettc fgetc -#define _fgettchar _fgetchar -#define _fgetts fgets -#define _fputtc fputc -#define _fputtchar _fputchar -#define _fputts fputs -#define _gettc getc -#define _getts gets -#define _puttc putc -#define _putts puts -#define _ungettc ungetc -#define _tcstod strtod -#define _tcstol strtol -#define _tcstoul strtoul -#define _tcscat strcat -#define _tcschr strchr -#define _tcscmp strcmp -#define _tcscpy strcpy -#define _tcscspn strcspn -#define _tcslen strlen -#define _tcsncat strncat -#define _tcsncmp strncmp -#define _tcsncpy strncpy -#define _tcsnlen strnlen -#define _tcspbrk strpbrk -#define _tcsrchr strrchr -#define _tcsspn strspn -#define _tcsstr strstr -#define _tcstok strtok -#define _tcsdup _strdup -#define _tcsicmp _stricmp -#define _tcsnicmp _strnicmp -#define _tcsnset _strnset -#define _tcsrev _strrev -#define _tcsset _strset -#define _tcslwr _strlwr -#define _tcsupr _strupr -#define _tcsxfrm strxfrm -#define _tcscoll strcoll -#define _tcsicoll _stricoll -#define _istalpha isalpha -#define _istupper isupper -#define _istlower islower -#define _istdigit isdigit -#define _istxdigit isxdigit -#define _istspace isspace -#define _istpunct ispunct -#define _istalnum isalnum -#define _istprint isprint -#define _istgraph isgraph -#define _istcntrl iscntrl -#define _istascii isascii -#define _totupper toupper -#define _totlower tolower -#define _ttoi atoi -#define _ttoi64 _atoi64 -#define _tcsftime strftime -#define _tsplitpath _splitpath -#define _tmakepath _makepath -#define _tfopen fopen - -#endif /* Not _UNICODE */ - -#endif /* Not _TCHAR_H_ */ diff --git a/reactos/include/win32k/gdiobj.h b/reactos/include/win32k/gdiobj.h index 8d94dfa85a2..1640e2d37f1 100644 --- a/reactos/include/win32k/gdiobj.h +++ b/reactos/include/win32k/gdiobj.h @@ -19,13 +19,16 @@ #define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1) #define GDI_HANDLE_TYPE_MASK 0x007f0000 #define GDI_HANDLE_STOCK_MASK 0x00800000 +#define GDI_HANDLE_REUSE_MASK 0xff000000 + +#define GDI_HANDLE_REUSECNT_SHIFT 24 #define GDI_HANDLE_CREATE(i, t) ((HANDLE)(((i) & GDI_HANDLE_INDEX_MASK) | ((t) & GDI_HANDLE_TYPE_MASK))) -#define GDI_HANDLE_GET_INDEX(h) (((DWORD)(h)) & GDI_HANDLE_INDEX_MASK) -#define GDI_HANDLE_GET_TYPE(h) (((DWORD)(h)) & GDI_HANDLE_TYPE_MASK) -#define GDI_HANDLE_IS_TYPE(h, t) ((t) == (((DWORD)(h)) & GDI_HANDLE_TYPE_MASK)) -#define GDI_HANDLE_IS_STOCKOBJ(h) (0 != (((DWORD)(h)) & GDI_HANDLE_STOCK_MASK)) -#define GDI_HANDLE_SET_STOCKOBJ(h) ((h) = (HANDLE)(((DWORD)(h)) | GDI_HANDLE_STOCK_MASK)) +#define GDI_HANDLE_GET_INDEX(h) (((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK) +#define GDI_HANDLE_GET_TYPE(h) (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK) +#define GDI_HANDLE_IS_TYPE(h, t) ((t) == (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)) +#define GDI_HANDLE_IS_STOCKOBJ(h) (0 != (((ULONG_PTR)(h)) & GDI_HANDLE_STOCK_MASK)) +#define GDI_HANDLE_SET_STOCKOBJ(h) ((h) = (HANDLE)(((ULONG_PTR)(h)) | GDI_HANDLE_STOCK_MASK)) /*! \defgroup GDI object types @@ -74,20 +77,10 @@ typedef struct _GDIOBJHDR #endif } GDIOBJHDR, *PGDIOBJHDR; -typedef struct _GDIMULTILOCK -{ - HGDIOBJ hObj; - PGDIOBJ pObj; - DWORD ObjectType; -} GDIMULTILOCK, *PGDIMULTILOCK; - -BOOL INTERNAL_CALL GDIOBJ_LockMultipleObj(PGDIMULTILOCK pList, INT nObj); -BOOL INTERNAL_CALL GDIOBJ_UnlockMultipleObj(PGDIMULTILOCK pList, INT nObj); BOOL INTERNAL_CALL GDIOBJ_OwnedByCurrentProcess(HGDIOBJ ObjectHandle); void INTERNAL_CALL GDIOBJ_SetOwnership(HGDIOBJ ObjectHandle, PEPROCESS Owner); void INTERNAL_CALL GDIOBJ_CopyOwnership(HGDIOBJ CopyFrom, HGDIOBJ CopyTo); BOOL INTERNAL_CALL GDIOBJ_ConvertToStockObj(HGDIOBJ *hObj); -BOOL INTERNAL_CALL GDIOBJ_LockMultipleObj(PGDIMULTILOCK pList, INT nObj); #define GDIOBJ_GetObjectType(Handle) \ GDI_HANDLE_GET_TYPE(Handle) @@ -118,6 +111,6 @@ BOOL INTERNAL_CALL GDIOBJ_UnlockObj (HGDIOBJ hObj); #define GDIOBJFLAG_IGNOREPID (0x1) #define GDIOBJFLAG_IGNORELOCK (0x2) -PVOID INTERNAL_CALL GDI_MapHandleTable(HANDLE hProcess); +PVOID INTERNAL_CALL GDI_MapHandleTable(PEPROCESS Process); #endif diff --git a/reactos/include/win32k/ntuser.h b/reactos/include/win32k/ntuser.h index 71f39147310..1592fd5d5e5 100644 --- a/reactos/include/win32k/ntuser.h +++ b/reactos/include/win32k/ntuser.h @@ -164,7 +164,6 @@ NtUserCallNextHookEx( #define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005 #define NOPARAM_ROUTINE_ANYPOPUP 0xffff0006 #define NOPARAM_ROUTINE_CSRSS_INITIALIZED 0xffff0007 -#define NOPARAM_ROUTINE_GDI_QUERY_TABLE 0xffff0008 DWORD STDCALL NtUserCallNoParam( diff --git a/reactos/include/wine/cfgmgr32.h b/reactos/include/wine/cfgmgr32.h new file mode 100644 index 00000000000..2c3792e8b29 --- /dev/null +++ b/reactos/include/wine/cfgmgr32.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2005 Mike McCormack + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _CFGMGR32_H_ +#define _CFGMGR32_H_ + +typedef DWORD CONFIGRET; +typedef HANDLE HMACHINE; +typedef HMACHINE *PHMACHINE; + +#define CR_SUCCESS 0x00000000 +#define CR_INVALID_DATA 0x0000001F +#define CR_ACCESS_DENIED 0x00000033 + + +CONFIGRET WINAPI CM_Connect_MachineA( PCSTR, PHMACHINE ); +CONFIGRET WINAPI CM_Connect_MachineW( PCWSTR, PHMACHINE ); +#define CM_Connect_Machine WINELIB_NAME_AW(CM_Connect_Machine) + +CONFIGRET WINAPI CM_Disconnect_Machine( HMACHINE ); + +CONFIGRET WINAPI CM_Get_Device_ID_ListA( PCSTR, PCHAR, ULONG, ULONG ); +CONFIGRET WINAPI CM_Get_Device_ID_ListW( PCWSTR, PWCHAR, ULONG, ULONG ); +#define CM_Get_Device_ID_List WINELIB_NAME_AW(CM_Get_Device_ID_List) +CONFIGRET WINAPI CM_Get_Device_ID_List_ExA( PCSTR, PCHAR, ULONG, ULONG, HMACHINE ); +CONFIGRET WINAPI CM_Get_Device_ID_List_ExW( PCWSTR, PWCHAR, ULONG, ULONG, HMACHINE ); +#define CM_Get_Device_ID_List_Ex WINELIB_NAME_AW(CM_Get_Device_ID_List_Ex) +CONFIGRET WINAPI CM_Get_Device_ID_List_SizeA( PULONG, PCSTR, ULONG ); +CONFIGRET WINAPI CM_Get_Device_ID_List_SizeW( PULONG, PCWSTR, ULONG ); +#define CM_Get_Device_ID_List_Size WINELIB_NAME_AW(CM_Get_Device_ID_List_Size) +CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExA( PULONG, PCSTR, ULONG, HMACHINE ); +CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW( PULONG, PCWSTR, ULONG, HMACHINE ); +#define CM_Get_Device_ID_List_Size_Ex WINELIB_NAME_AW(CM_Get_Device_ID_List_Size_Ex) + +#endif /* _CFGMGR32_H_ */ diff --git a/reactos/include/wine/list.h b/reactos/include/wine/list.h index 92b84d8303b..2e9df7bf1b3 100644 --- a/reactos/include/wine/list.h +++ b/reactos/include/wine/list.h @@ -143,6 +143,18 @@ inline static void list_init( struct list *list ) #define LIST_FOR_EACH(cursor,list) \ for ((cursor) = (list)->next; (cursor) != (list); (cursor) = (cursor)->next) +/* iterate through the list, with safety against removal */ +#define LIST_FOR_EACH_SAFE(cursor, cursor2, list) \ + for ((cursor) = (list)->next, (cursor2) = (cursor)->next; \ + (cursor) != (list); \ + (cursor) = (cursor2), (cursor2) = (cursor)->next) + +/* iterate through the list using a list entry */ +#define LIST_FOR_EACH_ENTRY(elem, list, type, field) \ + for ((elem) = LIST_ENTRY((list)->next, type, field); \ + &(elem)->field != (list); \ + (elem) = LIST_ENTRY((elem)->field.next, type, field)) + /* macros for statically initialized lists */ #define LIST_INIT(list) { &(list), &(list) } diff --git a/reactos/include/wine/mmsystem.h b/reactos/include/wine/mmsystem.h index 7fe449af4dc..e068d16e12b 100644 --- a/reactos/include/wine/mmsystem.h +++ b/reactos/include/wine/mmsystem.h @@ -25,6 +25,7 @@ #define DRV_SUCCESS 0x0001 #define DRV_FAILURE 0x0000 +#define DRV_EXITAPPLICATION 0x000C #define MCI_OPEN_DRIVER 0x0801 #define MCI_CLOSE_DRIVER 0x0802 @@ -34,10 +35,21 @@ typedef LPCSTR HPCSTR; /* a huge version of LPCSTR */ -typedef struct tagMCI_SOUND_PARMS { - DWORD_PTR dwCallback; - LPCSTR lpstrSoundName; -} MCI_SOUND_PARMS, *LPMCI_SOUND_PARMS; +typedef struct tagMCI_SOUND_PARMSA { + DWORD_PTR dwCallback; + LPCSTR lpstrSoundName; +} MCI_SOUND_PARMSA, *LPMCI_SOUND_PARMSA; + +typedef struct tagMCI_SOUND_PARMSW { + DWORD_PTR dwCallback; + LPCWSTR lpstrSoundName; +} MCI_SOUND_PARMSW, *LPMCI_SOUND_PARMSW; + +#ifdef UNICODE +typedef MCI_SOUND_PARMSW MCI_SOUND_PARMS; +#else +typedef MCI_SOUND_PARMSA MCI_SOUND_PARMS; +#endif typedef struct midievent_tag *LPMIDIEVENT; diff --git a/reactos/include/wine/msi.h b/reactos/include/wine/msi.h index f461e998c7f..9ae0f6c2a2d 100644 --- a/reactos/include/wine/msi.h +++ b/reactos/include/wine/msi.h @@ -55,6 +55,15 @@ typedef enum tagINSTALLUILEVEL INSTALLUILEVEL_SOURCERESONLY = 0x100 } INSTALLUILEVEL; +typedef enum tagUSERINFOSTATE +{ + USERINFOSTATE_MOREDATA = -3, + USERINFOSTATE_INVALIDARG = -2, + USERINFOSTATE_UNKNOWN = -1, + USERINFOSTATE_ABSENT = 0, + USERINFOSTATE_PRESENT = 1, +} USERINFOSTATE; + typedef enum tagINSTALLLEVEL { INSTALLLEVEL_DEFAULT = 0, @@ -137,15 +146,17 @@ typedef enum tagINSTALLTYPE #define MAX_FEATURE_CHARS 38 -typedef INT (CALLBACK *INSTALLUI_HANDLERA)(LPVOID pvContext, UINT iMessageType, - LPCSTR szMessage); -typedef INT (CALLBACK *INSTALLUI_HANDLERW)(LPVOID pvContext, UINT iMessageType, - LPCWSTR szMessage); +typedef INT (CALLBACK *INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR); +typedef INT (CALLBACK *INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR); UINT WINAPI MsiAdvertiseProductA(LPCSTR, LPCSTR, LPCSTR, LANGID); UINT WINAPI MsiAdvertiseProductW(LPCWSTR, LPCWSTR, LPCWSTR, LANGID); #define MsiAdvertiseProduct WINELIB_NAME_AW(MsiAdvertiseProduct) +UINT WINAPI MsiAdvertiseProductExA(LPCSTR, LPCSTR, LPCSTR, LANGID, DWORD, DWORD); +UINT WINAPI MsiAdvertiseProductExW(LPCWSTR, LPCWSTR, LPCWSTR, LANGID, DWORD, DWORD); +#define MsiAdvertiseProductEx WINELIB_NAME_AW(MsiAdvertiseProductEx) + UINT WINAPI MsiInstallProductA(LPCSTR, LPCSTR); UINT WINAPI MsiInstallProductW(LPCWSTR, LPCWSTR); #define MsiInstallProduct WINELIB_NAME_AW(MsiInstallProduct) @@ -158,8 +169,8 @@ UINT WINAPI MsiApplyPatchA(LPCSTR, LPCSTR, INSTALLTYPE, LPCSTR); UINT WINAPI MsiApplyPatchW(LPCWSTR, LPCWSTR, INSTALLTYPE, LPCWSTR); #define MsiApplyPatch WINELIB_NAME_AW(MsiApplyPatch) -UINT WINAPI MsiEnumProductsA(DWORD index, LPSTR lpguid); -UINT WINAPI MsiEnumProductsW(DWORD index, LPWSTR lpguid); +UINT WINAPI MsiEnumProductsA(DWORD, LPSTR); +UINT WINAPI MsiEnumProductsW(DWORD, LPWSTR); #define MsiEnumProducts WINELIB_NAME_AW(MsiEnumProducts) UINT WINAPI MsiEnumFeaturesA(LPCSTR, DWORD, LPSTR, LPSTR); @@ -198,6 +209,12 @@ UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE,UINT,UINT*,INT*,FILETIME*,LPSTR UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE,UINT,UINT*,INT*,FILETIME*,LPWSTR,DWORD*); #define MsiSummaryInfoGetProperty WINELIB_NAME_AW(MsiSummaryInfoGetProperty) +UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE); + +UINT WINAPI MsiSummaryInfoSetPropertyA(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPSTR); +UINT WINAPI MsiSummaryInfoSetPropertyW(MSIHANDLE, UINT, UINT, INT, FILETIME*, LPWSTR); +#define MsiSummaryInfoSetProperty WINELIB_NAME_AW(MsiSummaryInfoSetProperty) + UINT WINAPI MsiProvideComponentFromDescriptorA(LPCSTR,LPSTR,DWORD*,DWORD*); UINT WINAPI MsiProvideComponentFromDescriptorW(LPCWSTR,LPWSTR,DWORD*,DWORD*); #define MsiProvideComponentFromDescriptor WINELIB_NAME_AW(MsiProvideComponentFromDescriptor) @@ -218,20 +235,24 @@ INSTALLSTATE WINAPI MsiQueryProductStateA(LPCSTR); INSTALLSTATE WINAPI MsiQueryProductStateW(LPCWSTR); #define MsiQueryProductState WINELIB_NAME_AW(MsiQueryProductState) -UINT WINAPI MsiConfigureProductA(LPCSTR szProduct, int iInstallLevel, INSTALLSTATE eInstallState); -UINT WINAPI MsiConfigureProductW(LPCWSTR szProduct, int iInstallLevel, INSTALLSTATE eInstallState); +UINT WINAPI MsiConfigureProductA(LPCSTR, int, INSTALLSTATE); +UINT WINAPI MsiConfigureProductW(LPCWSTR, int, INSTALLSTATE); #define MsiConfigureProduct WINELIB_NAME_AW(MsiConfigureProduct); -UINT WINAPI MsiGetProductCodeA(LPCSTR szComponent, LPSTR szBuffer); -UINT WINAPI MsiGetProductCodeW(LPCWSTR szComponent, LPWSTR szBuffer); +UINT WINAPI MsiConfigureProductExA(LPCSTR, int, INSTALLSTATE, LPCSTR); +UINT WINAPI MsiConfigureProductExW(LPCWSTR, int, INSTALLSTATE, LPCWSTR); +#define MsiConfigureProductEx WINELIB_NAME_AW(MsiConfigureProductEx); + +UINT WINAPI MsiGetProductCodeA(LPCSTR, LPSTR); +UINT WINAPI MsiGetProductCodeW(LPCWSTR, LPWSTR); #define MsiGetProductCode WINELIB_NAME_AW(MsiGetProductCode) -UINT WINAPI MsiGetProductInfoA(LPCSTR szProduct, LPCSTR szAttribute, LPSTR szBuffer, DWORD *pcchValueBuf); -UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute, LPWSTR szBuffer, DWORD *pcchValueBuf); +UINT WINAPI MsiGetProductInfoA(LPCSTR, LPCSTR, LPSTR, DWORD *); +UINT WINAPI MsiGetProductInfoW(LPCWSTR, LPCWSTR, LPWSTR, DWORD *); #define MsiGetProductInfo WINELIB_NAME_AW(MsiGetProductInfo) -UINT WINAPI MsiEnableLogA(DWORD dwLogMode, LPCSTR szLogFile, DWORD attributes); -UINT WINAPI MsiEnableLogW(DWORD dwLogMode, LPCWSTR szLogFile, DWORD attributes); +UINT WINAPI MsiEnableLogA(DWORD, LPCSTR, DWORD); +UINT WINAPI MsiEnableLogW(DWORD, LPCWSTR, DWORD); #define MsiEnableLog WINELIB_NAME_AW(MsiEnableLog) INSTALLUI_HANDLERA WINAPI MsiSetExternalUIA(INSTALLUI_HANDLERA, DWORD, LPVOID); @@ -242,15 +263,53 @@ INSTALLSTATE WINAPI MsiGetComponentPathA(LPCSTR, LPCSTR, LPSTR, DWORD*); INSTALLSTATE WINAPI MsiGetComponentPathW(LPCWSTR, LPCWSTR, LPWSTR, DWORD*); #define MsiGetComponentPath WINELIB_NAME_AW(MsiGetComponentPath) -INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR szProduct, LPCSTR szFeature); -INSTALLSTATE WINAPI MsiQueryFeatureStateW(LPCWSTR szProduct, LPCWSTR szFeature); +INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR, LPCSTR); +INSTALLSTATE WINAPI MsiQueryFeatureStateW(LPCWSTR, LPCWSTR); #define MsiQueryFeatureState WINELIB_NAME_AW(MsiQueryFeatureState) -/** - * Non Unicode - */ +UINT WINAPI MsiGetFeatureUsageA(LPCSTR, LPCSTR, DWORD*, WORD*); +UINT WINAPI MsiGetFeatureUsageW(LPCWSTR, LPCWSTR, DWORD*, WORD*); +#define MsiGetFeatureUsage WINELIB_NAME_AW(MsiGetFeatureUsage) + +UINT WINAPI MsiEnumRelatedProductsA(LPCSTR, DWORD, DWORD, LPSTR); +UINT WINAPI MsiEnumRelatedProductsW(LPCWSTR, DWORD, DWORD, LPWSTR); +#define MsiEnumRelatedProducts WINELIB_NAME_AW(MsiEnumRelatedProducts) + +UINT WINAPI MsiProvideAssemblyA(LPCSTR, LPCSTR, DWORD, DWORD, LPSTR, DWORD*); +UINT WINAPI MsiProvideAssemblyW(LPCWSTR, LPCWSTR, DWORD, DWORD, LPWSTR, DWORD*); +#define MsiProvideAssembly WINELIB_NAME_AW(MsiProvideAssembly) + +UINT WINAPI MsiEnumComponentQualifiersA(LPSTR, DWORD, LPSTR, DWORD*, LPSTR, DWORD*); +UINT WINAPI MsiEnumComponentQualifiersW(LPWSTR, DWORD, LPWSTR, DWORD*, LPWSTR, DWORD*); +#define MsiEnumComponentQualifiers WINELIB_NAME_AW(MsiEnumComponentQualifiers) + +UINT WINAPI MsiGetFileVersionA(LPCSTR, LPSTR, DWORD*, LPSTR, DWORD*); +UINT WINAPI MsiGetFileVersionW(LPCWSTR, LPWSTR, DWORD*, LPWSTR, DWORD*); +#define MsiGetFileVersion WINELIB_NAME_AW(MsiGetFileVersion) + +UINT WINAPI MsiMessageBoxA(HWND, LPCSTR, LPCSTR, UINT, WORD, DWORD); +UINT WINAPI MsiMessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT, WORD, DWORD); +#define MsiMessageBox WINELIB_NAME_AW(MsiMessageBox) + +UINT WINAPI MsiProvideQualifiedComponentExA(LPCSTR, LPCSTR, DWORD, LPSTR, DWORD, DWORD, LPSTR, DWORD*); +UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR, LPCWSTR, DWORD, LPWSTR, DWORD, DWORD, LPWSTR, DWORD*); +#define MsiProvideQualifiedComponentEx WINELIB_NAME_AW(MsiProvideQualifiedComponentEx) + +UINT WINAPI MsiProvideQualifiedComponentA(LPCSTR, LPCSTR, DWORD, LPSTR, DWORD*); +UINT WINAPI MsiProvideQualifiedComponentW(LPCWSTR, LPCWSTR, DWORD, LPWSTR, DWORD*); +#define MsiProvideQualifiedComponent WINELIB_NAME_AW(MsiProvideQualifiedComponent) + +USERINFOSTATE WINAPI MsiGetUserInfoA(LPCSTR, LPSTR, DWORD*, LPSTR, DWORD*, LPSTR, DWORD*); +USERINFOSTATE WINAPI MsiGetUserInfoW(LPCWSTR, LPWSTR, DWORD*, LPWSTR, DWORD*, LPWSTR, DWORD*); +#define MsiGetUserInfo WINELIB_NAME_AW(MsiGetUserInfo) + +UINT WINAPI MsiCollectUserInfoA( LPCSTR ); +UINT WINAPI MsiCollectUserInfoW( LPCWSTR ); +#define MsiCollectUserInfo WINELIB_NAME_AW(MsiCollectUserInfo) + +/* Non Unicode */ UINT WINAPI MsiCloseHandle(MSIHANDLE); -UINT WINAPI MsiCloseAllHandles(); +UINT WINAPI MsiCloseAllHandles(void); INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL, HWND*); #ifdef __cplusplus diff --git a/reactos/include/wine/msidefs.h b/reactos/include/wine/msidefs.h new file mode 100644 index 00000000000..b2cf55cd818 --- /dev/null +++ b/reactos/include/wine/msidefs.h @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2005 Mike McCormack + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __WINE_MSIDEFS_H +#define __WINE_MSIDEFS_H + +#ifdef __cplusplus +extern "C" { +#endif + +enum msidbDialogAttributes { + msidbDialogAttributesVisible = 0x00000001, + msidbDialogAttributesModal = 0x00000002, + msidbDialogAttributesMinimize = 0x00000004, + msidbDialogAttributesSysModal = 0x00000008, + msidbDialogAttributesKeepModeless = 0x00000010, + msidbDialogAttributesTrackDiskSpace = 0x00000020, + msidbDialogAttributesUseCustomPalette = 0x00000040, + msidbDialogAttributesRTLRO = 0x00000080, + msidbDialogAttributesRightAligned = 0x00000100, + msidbDialogAttributesLeftScroll = 0x00000200, + msidbDialogAttributesBidi = 0x00000380, + msidbDialogAttributesError = 0x00010000 +}; + +enum msidbTextStyleStyleBits +{ + msidbTextStyleStyleBitsBold = 0x00000001, + msidbTextStyleStyleBitsItalic = 0x00000002, + msidbTextStyleStyleBitsUnderline = 0x00000004, + msidbTextStyleStyleBitsStrike = 0x00000008, +}; + +enum msidbCustomActionType +{ + msidbCustomActionTypeDll = 0x00000001, + msidbCustomActionTypeExe = 0x00000002, + msidbCustomActionTypeTextData = 0x00000003, + msidbCustomActionTypeJScript = 0x00000005, + msidbCustomActionTypeVBScript = 0x00000006, + msidbCustomActionTypeInstall = 0x00000007, + + msidbCustomActionTypeBinaryData = 0x00000000, + msidbCustomActionTypeSourceFile = 0x00000010, + msidbCustomActionTypeDirectory = 0x00000020, + msidbCustomActionTypeProperty = 0x00000030, + + msidbCustomActionTypeContinue = 0x00000040, + msidbCustomActionTypeAsync = 0x00000080, + + msidbCustomActionTypeFirstSequence = 0x00000100, + msidbCustomActionTypeOncePerProcess = 0x00000200, + msidbCustomActionTypeClientRepeat = 0x00000300, + msidbCustomActionTypeInScript = 0x00000400, + + msidbCustomActionTypeRollback = 0x00000100, + msidbCustomActionTypeCommit = 0x00000200, + + msidbCustomActionTypeNoImpersonate = 0x00000800, + msidbCustomActionTypeTSAware = 0x00004000, + + msidbCustomActionType64BitScript = 0x00001000, + msidbCustomActionTypeHideTarget = 0x00002000 +}; + +enum msidbFeatureAttributes +{ + msidbFeatureAttributesFavorLocal = 0x00000000, + msidbFeatureAttributesFavorSource = 0x00000001, + msidbFeatureAttributesFollowParent = 0x00000002, + msidbFeatureAttributesFavorAdvertise = 0x00000004, + msidbFeatureAttributesDisallowAdvertise = 0x00000008, + msidbFeatureAttributesUIDisallowAbsent = 0x00000010, + msidbFeatureAttributesNoUnsupportedAdvertise = 0x00000020 +}; + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_MSIDEFS_H */ diff --git a/reactos/include/wine/objidl.h b/reactos/include/wine/objidl.h index b9f9eecf0c1..449ccf12e7d 100644 --- a/reactos/include/wine/objidl.h +++ b/reactos/include/wine/objidl.h @@ -984,6 +984,17 @@ DECLARE_INTERFACE_(IClientSecurity,IUnknown) }; #undef INTERFACE +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IClientSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IClientSecurity_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IClientSecurity_Release(p) (p)->lpVtbl->Release(p) +/*** IClientSecurity methods ***/ +#define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g,h) +#define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->SetBlanket(p,a,b,c,d,e,f,g,h) +#define IClientSecurity_CopyProxy(p,a,b) (p)->lpVtbl->CopyProxy(p,a,b) +#endif + EXTERN_C const IID IID_IServerSecurity; #define INTERFACE IServerSecurity DECLARE_INTERFACE_(IServerSecurity,IUnknown) @@ -2005,5 +2016,78 @@ struct IInternalUnknownVtbl { #endif /* __IInternalUnknown_INTERFACE_DEFINED__ */ +#ifndef __IMultiQI_FWD_DEFINED__ +#define __IMultiQI_FWD_DEFINED__ +typedef struct IMultiQI IMultiQI; +#endif + +typedef IMultiQI *LPMULTIQI; + +/***************************************************************************** + * IMultiQI interface + */ +#ifndef __IMultiQI_INTERFACE_DEFINED__ +#define __IMultiQI_INTERFACE_DEFINED__ + +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IMultiQI : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces( + ULONG cMQIs, + MULTI_QI* pMQIs) = 0; + +}; +#else +typedef struct IMultiQIVtbl IMultiQIVtbl; +struct IMultiQI { + const IMultiQIVtbl* lpVtbl; +}; +struct IMultiQIVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMultiQI* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMultiQI* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMultiQI* This); + + /*** IMultiQI methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)( + IMultiQI* This, + ULONG cMQIs, + MULTI_QI* pMQIs); + + END_INTERFACE +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IMultiQI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IMultiQI_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IMultiQI_Release(p) (p)->lpVtbl->Release(p) +/*** IMultiQI methods ***/ +#define IMultiQI_QueryMultipleInterfaces(p,a,b) (p)->lpVtbl->QueryMultipleInterfaces(p,a,b) +#endif + +#endif + +HRESULT CALLBACK IMultiQI_QueryMultipleInterfaces_Proxy( + IMultiQI* This, + ULONG cMQIs, + MULTI_QI* pMQIs); +void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IMultiQI_INTERFACE_DEFINED__ */ + #endif /* __WINE_OBJIDL_H */ diff --git a/reactos/include/wine/rpcfc.h b/reactos/include/wine/rpcfc.h index 7c1a06ea0e3..803ae2bbbb9 100644 --- a/reactos/include/wine/rpcfc.h +++ b/reactos/include/wine/rpcfc.h @@ -21,7 +21,7 @@ #define RPC_FC_DOUBLE 0x0c #define RPC_FC_ENUM16 0x0d #define RPC_FC_ENUM32 0x0e - +#define RPC_FC_IGNORE 0x0f /* handle_t */ #define RPC_FC_ERROR_STATUS_T 0x10 /* other stuff */ @@ -46,6 +46,8 @@ #define RPC_FC_CPSTRUCT 0x18 /* conformant structure w/ pointers */ +#define RPC_FC_CVSTRUCT 0x19 /* conformant varying struct */ + #define RPC_FC_BOGUS_STRUCT 0x1a /* complex structure */ #define RPC_FC_CARRAY 0x1b /* conformant array */ diff --git a/reactos/include/wine/unicode.h b/reactos/include/wine/unicode.h index 53296edd3ab..32955f48465 100644 --- a/reactos/include/wine/unicode.h +++ b/reactos/include/wine/unicode.h @@ -7,41 +7,6 @@ #include #include -/* code page info common to SBCS and DBCS */ -struct cp_info -{ - unsigned int codepage; /* codepage id */ - unsigned int char_size; /* char size (1 or 2 bytes) */ - wchar_t def_char; /* default char value (can be double-byte) */ - wchar_t def_unicode_char; /* default Unicode char value */ - const char *name; /* code page name */ -}; - -struct sbcs_table -{ - struct cp_info info; - const wchar_t *cp2uni; /* code page -> Unicode map */ - const unsigned char *uni2cp_low; /* Unicode -> code page map */ - const unsigned short *uni2cp_high; -}; - -struct dbcs_table -{ - struct cp_info info; - const wchar_t *cp2uni; /* code page -> Unicode map */ - const unsigned char *cp2uni_leadbytes; - const unsigned short *uni2cp_low; /* Unicode -> code page map */ - const unsigned short *uni2cp_high; - unsigned char lead_bytes[12]; /* lead bytes ranges */ -}; - -union cptable -{ - struct cp_info info; - struct sbcs_table sbcs; - struct dbcs_table dbcs; -}; - #define strlenW(s) wcslen((const wchar_t *)(s)) #define strcpyW(d,s) wcscpy((wchar_t *)(d),(const wchar_t *)(s)) #define strcatW(d,s) wcscat((wchar_t *)(d),(const wchar_t *)(s)) @@ -54,6 +19,7 @@ union cptable #define strcmpW(s1,s2) wcscmp((const wchar_t *)(s1),(const wchar_t *)(s2)) #define strcmpiW(s1,s2) _wcsicmp((const wchar_t *)(s1),(const wchar_t *)(s2)) #define strncmpiW(s1,s2,n) _wcsnicmp((const wchar_t *)(s1),(const wchar_t *)(s2),(n)) +#define strtoulW(s1,s2,b) wcstoul((const wchar_t *)(s1),(wchar_t **)(s2),(b)) #define tolowerW(n) towlower((n)) #define toupperW(n) towupper((n)) #define islowerW(n) iswlower((n)) @@ -67,21 +33,14 @@ union cptable #define atolW(s) _wtol((const wchar_t *)(s)) #define strlwrW(s) _wcslwr((wchar_t *)(s)) #define struprW(s) _wcsupr((wchar_t *)(s)) -#define sprintfW wsprintfW +#define sprintfW swprintf #define snprintfW _snwprintf +#define vsnprintfW vsnwprintf #ifndef WINE_UNICODE_API #define WINE_UNICODE_API __attribute__((dllimport)) #endif -/* the character type contains the C1_* flags in the low 12 bits */ -/* and the C2_* type in the high 4 bits */ -static inline unsigned short get_char_typeW( wchar_t ch ) -{ - extern WINE_UNICODE_API const unsigned short wine_wctype_table[]; - return wine_wctype_table[wine_wctype_table[ch >> 8] + (ch & 0xff)]; -} - static inline WCHAR *strpbrkW( const WCHAR *str, const WCHAR *accept ) { for ( ; *str; str++) if (strchrW( accept, *str )) return (WCHAR *)str; diff --git a/reactos/lib/adns/Makefile b/reactos/lib/adns/Makefile index 55602219f59..8ec3a99f615 100644 --- a/reactos/lib/adns/Makefile +++ b/reactos/lib/adns/Makefile @@ -7,8 +7,8 @@ TARGET_TYPE = library TARGET_NAME = adns TARGET_CFLAGS = \ - -O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes -Wall -DADNS_JGAA_WIN32 + -O3 -Wall -Wwrite-strings -Wpointer-arith \ + -Wstrict-prototypes -Wmissing-prototypes -Wall -DADNS_JGAA_WIN32 -D__USE_W32API -D__REACTOS__ # require os code to explicitly request A/W version of structs/functions TARGET_CFLAGS += -Isrc -Iadns_win32 diff --git a/reactos/lib/adns/src/event.c b/reactos/lib/adns/src/event.c index 62e6b512113..d07a201afca 100644 --- a/reactos/lib/adns/src/event.c +++ b/reactos/lib/adns/src/event.c @@ -52,7 +52,7 @@ static void tcp_close(adns_state ads) { serv= ads->tcpserver; adns_socket_close(ads->tcpsocket); - ads->tcpsocket= -1; + ads->tcpsocket= INVALID_SOCKET; ads->tcprecv.used= ads->tcprecv_skip= ads->tcpsend.used= 0; } diff --git a/reactos/lib/comctl32/datetime.c b/reactos/lib/comctl32/datetime.c index daa068591b0..8b8af308a8d 100644 --- a/reactos/lib/comctl32/datetime.c +++ b/reactos/lib/comctl32/datetime.c @@ -1085,7 +1085,6 @@ DATETIME_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) uMsg, wParam, lParam); return DefWindowProcW (hwnd, uMsg, wParam, lParam); } - return 0; } diff --git a/reactos/lib/comctl32/listview.c b/reactos/lib/comctl32/listview.c index b774e853bee..23875cf9df0 100644 --- a/reactos/lib/comctl32/listview.c +++ b/reactos/lib/comctl32/listview.c @@ -254,7 +254,7 @@ typedef struct tagLISTVIEW_INFO BOOL bRedraw; /* Turns on/off repaints & invalidations */ BOOL bAutoarrange; /* Autoarrange flag when NOT in LVS_AUTOARRANGE */ BOOL bFocus; - BOOL bDoChangeNotify; /* send change notification messages? */ + BOOL bDoChangeNotify; /* send change notification messages? */ INT nFocusedItem; RECT rcFocus; DWORD dwStyle; /* the cached window GWL_STYLE */ @@ -4145,7 +4145,7 @@ static BOOL LISTVIEW_DeleteAllItems(LISTVIEW_INFO *infoPtr) for (i = infoPtr->nItemCount - 1; i >= 0; i--) { - /* send LVN_DELETEITEM notification, if not supressed */ + /* send LVN_DELETEITEM notification, if not suppressed */ if (!bSuppress) notify_deleteitem(infoPtr, i); if (!(infoPtr->dwStyle & LVS_OWNERDATA)) { @@ -6296,11 +6296,11 @@ static void column_fill_hditem(LISTVIEW_INFO *infoPtr, HDITEMW *lphdi, INT nColu lphdi->mask |= HDI_FORMAT; /* set text alignment (leftmost column must be left-aligned) */ - if (nColumn == 0 || lpColumn->fmt & LVCFMT_LEFT) + if (nColumn == 0 || (lpColumn->fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_LEFT) lphdi->fmt |= HDF_LEFT; - else if (lpColumn->fmt & LVCFMT_RIGHT) + else if ((lpColumn->fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_RIGHT) lphdi->fmt |= HDF_RIGHT; - else if (lpColumn->fmt & LVCFMT_CENTER) + else if ((lpColumn->fmt & LVCFMT_JUSTIFYMASK) == LVCFMT_CENTER) lphdi->fmt |= HDF_CENTER; if (lpColumn->fmt & LVCFMT_BITMAP_ON_RIGHT) diff --git a/reactos/lib/comctl32/pager.c b/reactos/lib/comctl32/pager.c index 0cd5e67b8a3..bde664dd3bd 100644 --- a/reactos/lib/comctl32/pager.c +++ b/reactos/lib/comctl32/pager.c @@ -836,16 +836,6 @@ PAGER_Create (HWND hwnd, WPARAM wParam, LPARAM lParam) if (dwStyle & PGS_DRAGNDROP) FIXME("[%p] Drag and Drop style is not implemented yet.\n", hwnd); - /* - * If neither horizontal nor vertical style specified, default to vertical. - * This is probably not necessary, since the style may be set later on as - * the control is initialized, but just in case it isn't, set it here. - */ - if (!(dwStyle & PGS_HORZ) && !(dwStyle & PGS_VERT)) - { - dwStyle |= PGS_VERT; - SetWindowLongA(hwnd, GWL_STYLE, dwStyle); - } return 0; } diff --git a/reactos/lib/comctl32/status.c b/reactos/lib/comctl32/status.c index 4ee0b9c44fd..d5b94c44ae2 100644 --- a/reactos/lib/comctl32/status.c +++ b/reactos/lib/comctl32/status.c @@ -650,7 +650,7 @@ STATUSBAR_SetTextT (STATUS_INFO *infoPtr, INT nPart, WORD style, { STATUSWINDOWPART *part=NULL; BOOL changed = FALSE; - INT oldStyle; + INT oldStyle; if (style & SBT_OWNERDRAW) { TRACE("part %d, text %p\n",nPart,text); @@ -890,9 +890,9 @@ STATUSBAR_WMCreate (HWND hwnd, LPCREATESTRUCTA lpCreate) dwStyle = GetWindowLongW (hwnd, GWL_STYLE); /* statusbars on managed windows should not have SIZEGRIP style */ - if ((dwStyle & SBARS_SIZEGRIP) && lpCreate->hwndParent) - if (GetWindowLongW (lpCreate->hwndParent, GWL_EXSTYLE) & WS_EX_MANAGED) - SetWindowLongW (hwnd, GWL_STYLE, dwStyle & ~SBARS_SIZEGRIP); + if ((dwStyle & SBARS_SIZEGRIP) && lpCreate->hwndParent && + GetPropA( lpCreate->hwndParent, "__wine_x11_managed" )) + SetWindowLongW (hwnd, GWL_STYLE, dwStyle & ~SBARS_SIZEGRIP); if ((hdc = GetDC (hwnd))) { TEXTMETRICW tm; diff --git a/reactos/lib/comctl32/toolbar.c b/reactos/lib/comctl32/toolbar.c index 58f8b0e105c..0056c21655c 100644 --- a/reactos/lib/comctl32/toolbar.c +++ b/reactos/lib/comctl32/toolbar.c @@ -64,7 +64,7 @@ * enablebtn.exe, getbmp.exe, getbtn.exe, getflags.exe, hidebtn.exe, * indetbtn.exe, insbtn.exe, pressbtn.exe, setbtnsz.exe, setcmdid.exe, * setparnt.exe, setrows.exe, toolwnd.exe. - * - Microsofts controlspy examples. + * - Microsoft's controlspy examples. * - Charles Petzold's 'Programming Windows': gadgets.exe */ @@ -6080,7 +6080,7 @@ TOOLBAR_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam) TRACKMOUSEEVENT trackinfo; INT nHit; TBUTTON_INFO *btnPtr; - + if (infoPtr->dwStyle & TBSTYLE_FLAT) { /* fill in the TRACKMOUSEEVENT struct */ trackinfo.cbSize = sizeof(TRACKMOUSEEVENT); diff --git a/reactos/lib/comctl32/trackbar.c b/reactos/lib/comctl32/trackbar.c index 8a364d9a5e4..6c291e55c1f 100644 --- a/reactos/lib/comctl32/trackbar.c +++ b/reactos/lib/comctl32/trackbar.c @@ -1336,7 +1336,7 @@ static LRESULT TRACKBAR_Create (HWND hwnd, LPCREATESTRUCTW lpcs) { TRACKBAR_INFO *infoPtr; - DWORD oldStyle, newStyle; + DWORD dwStyle; infoPtr = (TRACKBAR_INFO *)Alloc (sizeof(TRACKBAR_INFO)); if (!infoPtr) return -1; @@ -1359,19 +1359,10 @@ TRACKBAR_Create (HWND hwnd, LPCREATESTRUCTW lpcs) TRACKBAR_InitializeThumb (infoPtr); - oldStyle = newStyle = GetWindowLongW (hwnd, GWL_STYLE); - if (oldStyle & TBS_VERT) { - if (! (oldStyle & (TBS_LEFT | TBS_RIGHT | TBS_BOTH)) ) - newStyle |= TBS_RIGHT; - } else { - if (! (oldStyle & (TBS_TOP | TBS_BOTTOM | TBS_BOTH)) ) - newStyle |= TBS_BOTTOM; - } - if (newStyle != oldStyle) - SetWindowLongW (hwnd, GWL_STYLE, newStyle); + dwStyle = GetWindowLongW (hwnd, GWL_STYLE); /* Create tooltip control */ - if (newStyle & TBS_TOOLTIPS) { + if (dwStyle & TBS_TOOLTIPS) { infoPtr->hwndToolTip = CreateWindowExW (0, TOOLTIPS_CLASSW, NULL, 0, diff --git a/reactos/lib/comdlg32/Makefile.ros-template b/reactos/lib/comdlg32/Makefile.ros-template index e7a03a72715..9e7bcbb5409 100644 --- a/reactos/lib/comdlg32/Makefile.ros-template +++ b/reactos/lib/comdlg32/Makefile.ros-template @@ -5,7 +5,7 @@ TARGET_OBJECTS = @C_SRCS@ TARGET_CFLAGS = -D__REACTOS__ @EXTRADEFS@ -TARGET_SDKLIBS = @IMPORTS@ wine.a wine_unicode.a wine_uuid.a ntdll.a winspool.a +TARGET_SDKLIBS = @IMPORTS@ wine.a wine_uuid.a ntdll.a winspool.a TARGET_BASE = $(TARGET_BASE_LIB_COMDLG32) diff --git a/reactos/lib/comdlg32/cdlg.h b/reactos/lib/comdlg32/cdlg.h index 3e3378e138c..4a470f20834 100644 --- a/reactos/lib/comdlg32/cdlg.h +++ b/reactos/lib/comdlg32/cdlg.h @@ -152,6 +152,8 @@ typedef struct { #define IDS_SAVE_AS 1204 #define IDS_OPEN_FILE 1205 +#define IDS_FAKEDOCTEXT 1300 + #include "windef.h" #include "winbase.h" #include "wingdi.h" diff --git a/reactos/lib/comdlg32/cdlg32.c b/reactos/lib/comdlg32/cdlg32.c index 197d986358e..eaf0eb5c017 100644 --- a/reactos/lib/comdlg32/cdlg32.c +++ b/reactos/lib/comdlg32/cdlg32.c @@ -63,7 +63,7 @@ BOOL (WINAPI *COMDLG32_SHGetFolderPathW)(HWND,int,HANDLE,DWORD,LPWSTR); * FALSE if sibling could not be loaded or instantiated twice, TRUE * otherwise. */ -static char * GPA_string = "Failed to get entry point %s for hinst = 0x%08x\n"; +static const char * GPA_string = "Failed to get entry point %s for hinst = 0x%08x\n"; #define GPA(dest, hinst, name) \ if(!(dest = (void*)GetProcAddress(hinst,name)))\ { \ diff --git a/reactos/lib/comdlg32/cdlg_De.rc b/reactos/lib/comdlg32/cdlg_De.rc index d7264e24dba..849c3531d44 100644 --- a/reactos/lib/comdlg32/cdlg_De.rc +++ b/reactos/lib/comdlg32/cdlg_De.rc @@ -148,7 +148,7 @@ END CHOOSE_FONT DIALOG DISCARDABLE 13, 54, 264, 147 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Font" +CAPTION "Schriftart" FONT 8, "MS Shell Dlg" { LTEXT "Schrift&art:",1088 ,6,3,40,9 @@ -315,7 +315,7 @@ FONT 8, "MS Shell Dlg" PRINT32_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 32, 288, 178 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CONTEXTHELP | DS_3DLOOK -CAPTION "Print Setup" +CAPTION "Druckereinrichtung" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "OK",IDOK,180,156,48,14,WS_GROUP @@ -441,15 +441,25 @@ STRINGTABLE DISCARDABLE /* Color names */ IDS_COLOR_GREEN "Grün" IDS_COLOR_OLIVE "Olivgrün" IDS_COLOR_NAVY "Dunkelblau" - IDS_COLOR_PURPLE "Violett" - IDS_COLOR_TEAL "Teal" + IDS_COLOR_PURPLE "Lila" + IDS_COLOR_TEAL "Blaugrün" IDS_COLOR_GRAY "Grau" IDS_COLOR_SILVER "Silber" IDS_COLOR_RED "Rot" IDS_COLOR_LIME "Hellgrün" IDS_COLOR_YELLOW "Gelb" IDS_COLOR_BLUE "Blau" - IDS_COLOR_FUCHSIA "Lila" - IDS_COLOR_AQUA "Aqua" + IDS_COLOR_FUCHSIA "Pink" + IDS_COLOR_AQUA "Aquamarin" IDS_COLOR_WHITE "Weiß" } + +STRINGTABLE DISCARDABLE +{ + IDS_FONT_SIZE "Wählen Sie eine Schriftgröße zwischen %d und %d Punkten aus." + IDS_SAVE_BUTTON "&Speichern" + IDS_SAVE_IN "Speichern &unter:" + IDS_SAVE "Speichern" + IDS_SAVE_AS "Speichern als" + IDS_OPEN_FILE "Öffne Datei" +} diff --git a/reactos/lib/comdlg32/cdlg_En.rc b/reactos/lib/comdlg32/cdlg_En.rc index 332eb1090ac..a18ad98c5a5 100644 --- a/reactos/lib/comdlg32/cdlg_En.rc +++ b/reactos/lib/comdlg32/cdlg_En.rc @@ -470,6 +470,34 @@ STRINGTABLE DISCARDABLE IDS_OPEN_FILE "Open File" } +/* Translators do not need to translate this text, unless the language uses a + * different character set or if the distribution of characters looks wrong. + * It is rendered illegibly small and is used to make a mock-up of a document. + */ +STRINGTABLE DISCARDABLE +{ + IDS_FAKEDOCTEXT + "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \ + Nulla a tortor. Etiam aliquet libero venenatis nunc. \n \ + \n \ + Sed augue ante, fermentum sit amet, imperdiet et, gravida eu, enim. \ + Donec nibh quam, sodales in, commodo vel, facilisis id, neque. \n \ + \n \ + Nunc eleifend bibendum nibh. Phasellus in lorem. Ut vel odio quis \ + libero adipiscing consequat. Donec consectetuer laoreet mauris. \n \ + \n \ + Maecenas tempor, ligula sed congue nonummy, arcu dolor ornare erat, \ + egestas iaculis magna purus sed turpis. \n \ + \n \ + Morbi ultricies est non ipsum. Cum sociis natoque penatibus et magnis \ + dis parturient montes, nascetur ridiculus mus. \n \ + \n \ + Duis sit amet nibh quis purus sollicitudin blandit. Curabitur justo. \ + Phasellus varius, erat eu luctus pharetra, odio elit fringilla leo, \ + non vulputate turpis elit id neque. Vestibulum sit amet tellus sed \ + tortor fermentum consectetuer." +} + /****************************************************************/ /* English neutral resources /****************************************************************/ diff --git a/reactos/lib/comdlg32/cdlg_Es.rc b/reactos/lib/comdlg32/cdlg_Es.rc index 25798e151c1..fe466299f97 100644 --- a/reactos/lib/comdlg32/cdlg_Es.rc +++ b/reactos/lib/comdlg32/cdlg_Es.rc @@ -47,7 +47,7 @@ FONT 8, "MS Shell Dlg" SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "&Guardar como..." +CAPTION "Guardar como..." FONT 8, "MS Shell Dlg" { LTEXT "Nombre de &archivo:", 1090, 6, 6, 76, 9 @@ -85,7 +85,7 @@ FONT 8, "MS Shell Dlg" LTEXT "&Hasta:", 1091, 120, 80, 30, 9 LTEXT "Calidad de impre&sión:", 1092, 6, 100, 76, 9 COMBOBOX cmb1, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP - CHECKBOX "Impri&mir en un archivo", chx1, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + CHECKBOX "Impri&mir en archivo", chx1, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP CHECKBOX "Condensado", chx2, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP } @@ -96,7 +96,7 @@ CAPTION "Configuraci FONT 8, "MS Shell Dlg" { GROUPBOX "Impresora:", grp1, 6, 10, 180, 65, BS_GROUPBOX - RADIOBUTTON "Pre&determinada del sistema", rad1, 16, 20, 80, 12 + RADIOBUTTON "Impresora por &defecto", rad1, 16, 20, 80, 12 LTEXT "[ninguna]", 1088, 35, 35, 120, 9 RADIOBUTTON "Impresora &específica:", rad2, 16, 50, 80, 12 COMBOBOX cmb1, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP @@ -187,7 +187,7 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Buscar" FONT 8, "MS Shell Dlg" { - LTEXT "Buscar:", -1, 4, 8, 42, 8 + LTEXT "Buscar:", -1, 4, 8, 42, 8 EDITTEXT edt1, 47, 7, 128, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP CHECKBOX "&Sólo palabra entera", chx1, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP CHECKBOX "&Mayúsculas/minúsculas", chx2, 4, 42, 64, 12, BS_AUTOCHECKBOX | WS_TABSTOP @@ -202,7 +202,7 @@ FONT 8, "MS Shell Dlg" REPLACEDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 230, 94 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "R&eemplazar" +CAPTION "Reemplazar" FONT 8, "MS Shell Dlg" { LTEXT "Buscar:", -1, 4, 9, 48, 8 @@ -230,7 +230,7 @@ FONT 8, "MS Shell Dlg" PUSHBUTTON "&Ayuda", pshHelp, 50, 161, 48,14, WS_GROUP GROUPBOX "Impresora", grp4, 8, 4, 272,84, WS_GROUP - CONTROL "Imprimir a a&rchivo", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12 + CONTROL "Imprimir en a&rchivo", chx1, "Button",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,212,70,64,12 PUSHBUTTON "&Propiedades", psh2, 212, 17, 60,14, WS_GROUP LTEXT "&Nombre:", stc6, 16, 20, 36,8 COMBOBOX cmb4, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP @@ -296,7 +296,7 @@ END PAGESETUPDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 32, 32, 240, 240 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Página de configuración" +CAPTION "Configuración de página" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", rct1, "Static", SS_WHITERECT, 80, 8, 80, 80 @@ -392,8 +392,8 @@ STRINGTABLE DISCARDABLE página.\n\ Por favor, introduzca un valor entre %d y %d." PD32_FROM_NOT_ABOVE_TO "La entrada 'desde' no puede exceder \ a la entrada 'hasta'." - PD32_MARGINS_OVERLAP "Los márgenes overlap o fall outside \ -los boundaries del papel.\nPor favor, reintroduzca los márgenes." + PD32_MARGINS_OVERLAP "Los márgenes se superponen o quedan \ +fuera de los límites del papel.\nPor favor, reintroduzca los márgenes." PD32_NR_OF_COPIES_EMPTY "El número del valor 'Número de \ copias' no puede estar vacío." PD32_TOO_LARGE_COPIES "Este número tan grande de copias no \ @@ -421,11 +421,11 @@ desconocido." PD32_PRINTER_STATUS_PAPER_OUT "Sin papel; " PD32_PRINTER_STATUS_MANUAL_FEED "Ponga papel a mano; " PD32_PRINTER_STATUS_PAPER_PROBLEM "Problema con el papel; " - PD32_PRINTER_STATUS_OFFLINE "Impresora apagada; " + PD32_PRINTER_STATUS_OFFLINE "Impresora desconectada; " PD32_PRINTER_STATUS_IO_ACTIVE "E/S activa; " PD32_PRINTER_STATUS_BUSY "Ocupada; " PD32_PRINTER_STATUS_PRINTING "Imprimiendo; " - PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "La bandeja de salida está llena; " + PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "Bandeja de salida llena; " PD32_PRINTER_STATUS_NOT_AVAILABLE "No disponible; " PD32_PRINTER_STATUS_WAITING "Esperando; " PD32_PRINTER_STATUS_PROCESSING "Procesando; " @@ -434,10 +434,9 @@ desconocido." PD32_PRINTER_STATUS_TONER_LOW "Tóner bajo; " PD32_PRINTER_STATUS_NO_TONER "Sin tóner; " PD32_PRINTER_STATUS_PAGE_PUNT "Page punt; " - PD32_PRINTER_STATUS_USER_INTERVENTION "Interrumpido por el usuario; " + PD32_PRINTER_STATUS_USER_INTERVENTION "Interrumpida por el usuario; " PD32_PRINTER_STATUS_OUT_OF_MEMORY "Sin memoria; " - PD32_PRINTER_STATUS_DOOR_OPEN "La puerta de la impresora está \ -abierta; " + PD32_PRINTER_STATUS_DOOR_OPEN "Puerta de la impresora abierta; " PD32_PRINTER_STATUS_SERVER_UNKNOWN "Servidor de impresión desconocido; " PD32_PRINTER_STATUS_POWER_SAVE "Modo de ahorro de energía; " } @@ -445,9 +444,9 @@ abierta; " STRINGTABLE DISCARDABLE /* Color names */ { IDS_COLOR_BLACK "Negro" - IDS_COLOR_MAROON "Marrón" + IDS_COLOR_MAROON "Granate" IDS_COLOR_GREEN "Verde" - IDS_COLOR_OLIVE "Oliva" + IDS_COLOR_OLIVE "Verde oliva" IDS_COLOR_NAVY "Azul marino" IDS_COLOR_PURPLE "Morado" IDS_COLOR_TEAL "Turquesa" @@ -464,5 +463,10 @@ STRINGTABLE DISCARDABLE /* Color names */ STRINGTABLE DISCARDABLE { - IDS_FONT_SIZE "Elija un tamaño de fuente entre %d and %d puntos." + IDS_FONT_SIZE "Elija un tamaño de fuente entre %d y %d puntos." + IDS_SAVE_BUTTON "&Guardar" + IDS_SAVE_IN "Guardar &en:" + IDS_SAVE "Guardar" + IDS_SAVE_AS "Guardar como" + IDS_OPEN_FILE "Abrir archivo" } diff --git a/reactos/lib/comdlg32/cdlg_Fr.rc b/reactos/lib/comdlg32/cdlg_Fr.rc index e1e67e085f8..c0e9e52c6fa 100644 --- a/reactos/lib/comdlg32/cdlg_Fr.rc +++ b/reactos/lib/comdlg32/cdlg_Fr.rc @@ -3,6 +3,7 @@ * French language support * * Copyright 1995 Alexandre Julliard + * Copyright 2005 Jonathan Ernst * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -462,3 +463,13 @@ STRINGTABLE DISCARDABLE /* Color names */ IDS_COLOR_AQUA "Aqua" IDS_COLOR_WHITE "Blanc" } + +STRINGTABLE DISCARDABLE +{ + IDS_FONT_SIZE "Sélectionnez une taille de police entre %d et %d points." + IDS_SAVE_BUTTON "&Sauver" + IDS_SAVE_IN "Sauver &dans:" + IDS_SAVE "Enregistrer" + IDS_SAVE_AS "Enregistrer sous" + IDS_OPEN_FILE "Ouvrir Fichier" +} diff --git a/reactos/lib/comdlg32/cdlg_Ru.rc b/reactos/lib/comdlg32/cdlg_Ru.rc index 1401f6cbccb..0e7447cb2a9 100644 --- a/reactos/lib/comdlg32/cdlg_Ru.rc +++ b/reactos/lib/comdlg32/cdlg_Ru.rc @@ -235,9 +235,9 @@ FONT 8, "MS Shell Dlg" LTEXT "&Èìÿ:", stc6, 16, 20, 36,8 COMBOBOX cmb4, 52, 18, 152,152,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_GROUP | WS_TABSTOP LTEXT "Ñòàòóñ:", stc8, 16, 36, 36,10, SS_NOPREFIX - LTEXT "Ýìóëèðîâàí", stc12, 60, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Ýìóëèðîâàí", stc12, 52, 36, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP LTEXT "Òèï:", stc7, 16, 48, 36,10, SS_NOPREFIX - LTEXT "Ýìóëèðîâàí", stc11, 60, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP + LTEXT "Ýìóëèðîâàí", stc11, 52, 48, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP LTEXT "Ìåñòî:", stc10, 16, 60, 36,10, SS_NOPREFIX LTEXT "Ýìóëèðîâàíî", stc14, 60, 60, 224,10, SS_NOPREFIX | SS_LEFTNOWORDWRAP LTEXT "Ïðèìå÷àíèå:", stc9, 16, 72, 36,10, SS_NOPREFIX diff --git a/reactos/lib/comdlg32/filedlg.c b/reactos/lib/comdlg32/filedlg.c index 232b3273a09..86b66351cba 100644 --- a/reactos/lib/comdlg32/filedlg.c +++ b/reactos/lib/comdlg32/filedlg.c @@ -3377,7 +3377,7 @@ static void MemFree(void *mem) */ static BOOL FD32_GetTemplate(PFD31_DATA lfs) { - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; HANDLE hDlgTmpl; @@ -3445,9 +3445,9 @@ static BOOL CALLBACK FD32_Init(LPARAM lParam, PFD31_DATA lfs, DWORD data) if (NULL == lfs->private1632) return FALSE; if (IsUnicode) { - lfs->ofnW = *((LPOPENFILENAMEW) lParam); - if (lfs->ofnW.Flags & OFN_ENABLEHOOK) - if (lfs->ofnW.lpfnHook) + lfs->ofnW = (LPOPENFILENAMEW) lParam; + if (lfs->ofnW->Flags & OFN_ENABLEHOOK) + if (lfs->ofnW->lpfnHook) lfs->hook = TRUE; } else @@ -3456,7 +3456,8 @@ static BOOL CALLBACK FD32_Init(LPARAM lParam, PFD31_DATA lfs, DWORD data) if (priv->ofnA->Flags & OFN_ENABLEHOOK) if (priv->ofnA->lpfnHook) lfs->hook = TRUE; - FD31_MapOfnStructA(priv->ofnA, &lfs->ofnW, lfs->open); + lfs->ofnW = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*lfs->ofnW)); + FD31_MapOfnStructA(priv->ofnA, lfs->ofnW, lfs->open); } if (! FD32_GetTemplate(lfs)) return FALSE; @@ -3472,18 +3473,25 @@ static BOOL CALLBACK FD32_Init(LPARAM lParam, PFD31_DATA lfs, DWORD data) BOOL CALLBACK FD32_CallWindowProc(PFD31_DATA lfs, UINT wMsg, WPARAM wParam, LPARAM lParam) { + BOOL ret; PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; if (priv->ofnA) { - return (BOOL) CallWindowProcA( - (WNDPROC)priv->ofnA->lpfnHook, lfs->hwnd, - wMsg, wParam, lParam); + TRACE("Call hookA %p (%p, %04x, %08x, %08lx)\n", + priv->ofnA->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + ret = priv->ofnA->lpfnHook(lfs->hwnd, wMsg, wParam, lParam); + TRACE("ret hookA %p (%p, %04x, %08x, %08lx)\n", + priv->ofnA->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + return ret; } - return (BOOL) CallWindowProcW( - (WNDPROC)lfs->ofnW.lpfnHook, lfs->hwnd, - wMsg, wParam, lParam); + TRACE("Call hookW %p (%p, %04x, %08x, %08lx)\n", + lfs->ofnW->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + ret = lfs->ofnW->lpfnHook(lfs->hwnd, wMsg, wParam, lParam); + TRACE("Ret hookW %p (%p, %04x, %08x, %08lx)\n", + lfs->ofnW->lpfnHook, lfs->hwnd, wMsg, wParam, lParam); + return ret; } /*********************************************************************** @@ -3493,7 +3501,7 @@ BOOL CALLBACK FD32_CallWindowProc(PFD31_DATA lfs, UINT wMsg, WPARAM wParam, static void CALLBACK FD32_UpdateResult(PFD31_DATA lfs) { PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofnA) { @@ -3513,7 +3521,7 @@ static void CALLBACK FD32_UpdateResult(PFD31_DATA lfs) static void CALLBACK FD32_UpdateFileTitle(PFD31_DATA lfs) { PFD32_PRIVATE priv = (PFD32_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofnA) { @@ -3544,7 +3552,10 @@ static void CALLBACK FD32_Destroy(PFD31_DATA lfs) /* if ofnW has been allocated, have to free everything in it */ if (NULL != priv && NULL != priv->ofnA) - FD31_FreeOfnW(&lfs->ofnW); + { + FD31_FreeOfnW(lfs->ofnW); + HeapFree(GetProcessHeap(), 0, lfs->ofnW); + } } static void FD32_SetupCallbacks(PFD31_CALLBACKS callbacks) @@ -3667,7 +3678,7 @@ static BOOL GetFileName31W(LPOPENFILENAMEW lpofn, /* addess of structure with da if (!lpofn || !FD31_Init()) return FALSE; FD32_SetupCallbacks(&callbacks); - lfs = FD31_AllocPrivate((LPARAM) lpofn, dlgType, &callbacks, (DWORD) FALSE); + lfs = FD31_AllocPrivate((LPARAM) lpofn, dlgType, &callbacks, (DWORD) TRUE); if (lfs) { hInst = (HINSTANCE)GetWindowLongPtrW( lpofn->hwndOwner, GWLP_HINSTANCE ); @@ -3676,7 +3687,8 @@ static BOOL GetFileName31W(LPOPENFILENAMEW lpofn, /* addess of structure with da FD31_DestroyPrivate(lfs); } - TRACE("return lpstrFile=%s !\n", debugstr_w(lpofn->lpstrFile)); + TRACE("file %s, file offset %d, ext offset %d\n", + debugstr_w(lpofn->lpstrFile), lpofn->nFileOffset, lpofn->nFileExtension); return bRet; } @@ -3697,6 +3709,10 @@ BOOL WINAPI GetOpenFileNameA( { BOOL win16look = FALSE; + /* OFN_FILEMUSTEXIST implies OFN_PATHMUSTEXIST */ + if (ofn->Flags & OFN_FILEMUSTEXIST) + ofn->Flags |= OFN_PATHMUSTEXIST; + if (ofn->Flags & (OFN_ALLOWMULTISELECT|OFN_ENABLEHOOK|OFN_ENABLETEMPLATE)) win16look = (ofn->Flags & OFN_EXPLORER) ? FALSE : TRUE; diff --git a/reactos/lib/comdlg32/filedlg16.c b/reactos/lib/comdlg32/filedlg16.c index ff50aa76057..d2d34804ff7 100644 --- a/reactos/lib/comdlg32/filedlg16.c +++ b/reactos/lib/comdlg32/filedlg16.c @@ -170,7 +170,8 @@ static BOOL CALLBACK FD16_Init(LPARAM lParam, PFD31_DATA lfs, DWORD data) if (priv->ofn16->lpfnHook) lfs->hook = TRUE; - FD16_MapOfnStruct16(priv->ofn16, &lfs->ofnW, lfs->open); + lfs->ofnW = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*lfs->ofnW)); + FD16_MapOfnStruct16(priv->ofn16, lfs->ofnW, lfs->open); if (! FD16_GetTemplate(lfs)) return FALSE; @@ -204,7 +205,7 @@ BOOL CALLBACK FD16_CallWindowProc(PFD31_DATA lfs, UINT wMsg, WPARAM wParam, static void CALLBACK FD16_UpdateResult(PFD31_DATA lfs) { PFD16_PRIVATE priv = (PFD16_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofn16) { /* we have to convert to short (8.3) path */ @@ -240,7 +241,7 @@ static void CALLBACK FD16_UpdateResult(PFD31_DATA lfs) static void CALLBACK FD16_UpdateFileTitle(PFD31_DATA lfs) { PFD16_PRIVATE priv = (PFD16_PRIVATE) lfs->private1632; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (priv->ofn16) { @@ -279,7 +280,8 @@ static void CALLBACK FD16_Destroy(PFD31_DATA lfs) GlobalUnlock16(priv->hGlobal16); GlobalFree16(priv->hGlobal16); } - FD31_FreeOfnW(&lfs->ofnW); + FD31_FreeOfnW(lfs->ofnW); + HeapFree(GetProcessHeap(), 0, lfs->ofnW); } } diff --git a/reactos/lib/comdlg32/filedlg31.c b/reactos/lib/comdlg32/filedlg31.c index 9f26997c4ef..9542e557854 100644 --- a/reactos/lib/comdlg32/filedlg31.c +++ b/reactos/lib/comdlg32/filedlg31.c @@ -38,6 +38,7 @@ #include "cderr.h" #include "winreg.h" #include "winternl.h" +#include "shlwapi.h" WINE_DEFAULT_DEBUG_CHANNEL(commdlg); @@ -305,9 +306,9 @@ LONG FD31_WMDrawItem(HWND hWnd, WPARAM wParam, LPARAM lParam, void FD31_UpdateResult(PFD31_DATA lfs, WCHAR *tmpstr) { int lenstr2; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; WCHAR tmpstr2[BUFFILE]; - WCHAR *bs; + WCHAR *p; TRACE("%s\n", debugstr_w(tmpstr)); if(ofnW->Flags & OFN_NOVALIDATE) @@ -320,17 +321,18 @@ void FD31_UpdateResult(PFD31_DATA lfs, WCHAR *tmpstr) lstrcpynW(tmpstr2+lenstr2, tmpstr, BUFFILE-lenstr2); if (ofnW->lpstrFile) lstrcpynW(ofnW->lpstrFile, tmpstr2, ofnW->nMaxFile); - if((bs = strrchrW(tmpstr2, '\\')) != NULL) - ofnW->nFileOffset = bs - tmpstr2 +1; - else - ofnW->nFileOffset = 0; - ofnW->nFileExtension = 0; - while(tmpstr2[ofnW->nFileExtension] != '.' && tmpstr2[ofnW->nFileExtension] != '\0') - ofnW->nFileExtension++; - if (tmpstr2[ofnW->nFileExtension] == '\0') - ofnW->nFileExtension = 0; - else - ofnW->nFileExtension++; + + /* set filename offset */ + p = PathFindFileNameW(ofnW->lpstrFile); + ofnW->nFileOffset = (p - ofnW->lpstrFile); + + /* set extension offset */ + p = PathFindExtensionW(ofnW->lpstrFile); + ofnW->nFileExtension = (*p) ? (p - ofnW->lpstrFile) + 1 : 0; + + TRACE("file %s, file offset %d, ext offset %d\n", + debugstr_w(ofnW->lpstrFile), ofnW->nFileOffset, ofnW->nFileExtension); + /* update the real client structures if any */ lfs->callbacks->UpdateResult(lfs); } @@ -342,7 +344,7 @@ void FD31_UpdateResult(PFD31_DATA lfs, WCHAR *tmpstr) void FD31_UpdateFileTitle(PFD31_DATA lfs) { LONG lRet; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; if (ofnW->lpstrFileTitle != NULL) { lRet = SendDlgItemMessageW(lfs->hwnd, lst1, LB_GETCURSEL, 0, 0); @@ -447,14 +449,14 @@ static LRESULT FD31_TestPath( PFD31_DATA lfs, LPWSTR path ) else { strcpyW(tmpstr2, path); - if(!(lfs->ofnW.Flags & OFN_NOVALIDATE)) + if(!(lfs->ofnW->Flags & OFN_NOVALIDATE)) *path = 0; } TRACE("path=%s, tmpstr2=%s\n", debugstr_w(path), debugstr_w(tmpstr2)); SetDlgItemTextW( hWnd, edt1, tmpstr2 ); FD31_ScanDir(hWnd, path); - return (lfs->ofnW.Flags & OFN_NOVALIDATE) ? TRUE : FALSE; + return (lfs->ofnW->Flags & OFN_NOVALIDATE) ? TRUE : FALSE; } /* no wildcards, we might have a directory or a filename */ @@ -501,7 +503,7 @@ static LRESULT FD31_Validate( PFD31_DATA lfs, LPWSTR path, UINT control, INT ite LONG lRet; HWND hWnd = lfs->hwnd; OPENFILENAMEW ofnsav; - LPOPENFILENAMEW ofnW = &lfs->ofnW; + LPOPENFILENAMEW ofnW = lfs->ofnW; WCHAR filename[BUFFILE]; ofnsav = *ofnW; /* for later restoring */ @@ -610,9 +612,7 @@ LRESULT FD31_WMCommand(HWND hWnd, LPARAM lParam, UINT notification, FD31_StripEditControl(hWnd); if (notification == LBN_DBLCLK) { - if (FD31_Validate( lfs, NULL, control, 0, FALSE )) - EndDialog(hWnd, TRUE); - return TRUE; + return SendMessageW(hWnd, WM_COMMAND, IDOK, 0); } else if (notification == LBN_SELCHANGE) return FD31_FileListSelect( lfs ); @@ -700,7 +700,7 @@ static LPWSTR FD31_DupToW(LPCSTR str, DWORD size) * FD31_MapOfnStructA [internal] * map a 32 bits Ansi structure to an Unicode one */ -void FD31_MapOfnStructA(LPOPENFILENAMEA ofnA, LPOPENFILENAMEW ofnW, BOOL open) +void FD31_MapOfnStructA(const LPOPENFILENAMEA ofnA, LPOPENFILENAMEW ofnW, BOOL open) { UNICODE_STRING usBuffer; @@ -828,7 +828,7 @@ LONG FD31_WMInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) if (!lfs) return FALSE; SetPropA(hWnd, FD31_OFN_PROP, (HANDLE)lfs); lfs->hwnd = hWnd; - ofn = &lfs->ofnW; + ofn = lfs->ofnW; TRACE("flags=%lx initialdir=%s\n", ofn->Flags, debugstr_w(ofn->lpstrInitialDir)); diff --git a/reactos/lib/comdlg32/filedlg31.h b/reactos/lib/comdlg32/filedlg31.h index 7f75fe205d3..2329eea7ae2 100644 --- a/reactos/lib/comdlg32/filedlg31.h +++ b/reactos/lib/comdlg32/filedlg31.h @@ -44,7 +44,8 @@ typedef struct tagFD31_DATA LPARAM lParam; /* save original lparam */ LPCVOID template; /* template for 32 bits resource */ BOOL open; /* TRUE if open dialog, FALSE if save dialog */ - OPENFILENAMEW ofnW; /* copy of original structure or work struct */ + LPOPENFILENAMEW ofnW; /* pointer either to the original structure or + a W copy for A/16 API */ LPVOID private1632; /* 16/32 bit caller private data */ PFD31_CALLBACKS callbacks; /* callbacks to handle 16/32 bit differences */ } FD31_DATA; diff --git a/reactos/lib/comdlg32/printdlg.c b/reactos/lib/comdlg32/printdlg.c index 159169a829e..c9eb8ac5488 100644 --- a/reactos/lib/comdlg32/printdlg.c +++ b/reactos/lib/comdlg32/printdlg.c @@ -71,6 +71,11 @@ static struct pd_flags psd_flags[] = { {-1, NULL} }; +/* address of wndproc for subclassed Static control */ +static WNDPROC lpfnStaticWndProc; +/* the text of the fake document to render for the Page Setup dialog */ +static WCHAR wszFakeDocumentText[1024]; + /*********************************************************************** * PRINTDLG_OpenDefaultPrinter * @@ -2551,6 +2556,8 @@ static BOOL PRINTDLG_PS_WMCommandA( HWND hDlg, WPARAM wParam, LPARAM lParam, PageSetupDataA *pda ) { + TRACE("loword (lparam) %d, wparam 0x%x, lparam %08lx\n", + LOWORD(lParam),wParam,lParam); switch (LOWORD(wParam)) { case IDOK: if (!PRINTDLG_PS_UpdateDlgStructA(hDlg, pda)) @@ -2570,9 +2577,6 @@ PRINTDLG_PS_WMCommandA( return TRUE; } } - FIXME("loword (lparam) %d, wparam 0x%x, lparam %08lx, STUB mostly.\n", - LOWORD(lParam),wParam,lParam - ); return FALSE; } @@ -2580,6 +2584,8 @@ static BOOL PRINTDLG_PS_WMCommandW( HWND hDlg, WPARAM wParam, LPARAM lParam, PageSetupDataW *pda ) { + TRACE("loword (lparam) %d, wparam 0x%x, lparam %08lx\n", + LOWORD(lParam),wParam,lParam); switch (LOWORD(wParam)) { case IDOK: if (!PRINTDLG_PS_UpdateDlgStructW(hDlg, pda)) @@ -2599,13 +2605,114 @@ PRINTDLG_PS_WMCommandW( return TRUE; } } - FIXME("loword (lparam) %d, wparam 0x%x, lparam %08lx, STUB mostly.\n", - LOWORD(lParam),wParam,lParam - ); return FALSE; } +static LRESULT CALLBACK +PagePaintProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + if (uMsg == WM_PAINT) + { + PAINTSTRUCT ps; + RECT rcClient; + HPEN hpen, holdpen; + HDC hdc; + HFONT hfont, holdfont; + LOGFONTW lf; + HBRUSH hbrush, holdbrush; + INT oldbkmode; + + hdc = BeginPaint(hWnd, &ps); + + GetClientRect(hWnd, &rcClient); + + /* fill background */ + hbrush = GetSysColorBrush(COLOR_3DHIGHLIGHT); + FillRect(hdc, &rcClient, hbrush); + holdbrush = SelectObject(hdc, hbrush); + + hpen = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DSHADOW)); + holdpen = SelectObject(hdc, hpen); + + /* paint left edge */ + MoveToEx(hdc, rcClient.left, rcClient.top, NULL); + LineTo(hdc, rcClient.left, rcClient.bottom-1); + + /* paint top edge */ + MoveToEx(hdc, rcClient.left, rcClient.top, NULL); + LineTo(hdc, rcClient.right, rcClient.top); + + hpen = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DDKSHADOW)); + DeleteObject(SelectObject(hdc, hpen)); + + /* paint right edge */ + MoveToEx(hdc, rcClient.right-1, rcClient.top, NULL); + LineTo(hdc, rcClient.right-1, rcClient.bottom); + + /* paint bottom edge */ + MoveToEx(hdc, rcClient.left, rcClient.bottom-1, NULL); + LineTo(hdc, rcClient.right, rcClient.bottom-1); + + hpen = CreatePen(PS_DASH, 1, GetSysColor(COLOR_3DSHADOW)); + DeleteObject(SelectObject(hdc, hpen)); + + /* draw dashed rectangle showing margins */ + + /* FIXME: use real margin values */ + rcClient.left += 5; + rcClient.top += 5; + rcClient.right -= 5; + rcClient.bottom -= 5; + + /* if the space is too small then we make sure to not draw anything */ + rcClient.left = min(rcClient.left,rcClient.right); + rcClient.top = min(rcClient.top,rcClient.bottom); + + Rectangle(hdc, rcClient.left, rcClient.top, rcClient.right, rcClient.bottom); + + DeleteObject(SelectObject(hdc, holdpen)); + + /* draw the fake document */ + + /* give text a bit of a space from the frame */ + rcClient.left += 2; + rcClient.top += 2; + rcClient.right -= 2; + rcClient.bottom -= 2; + + /* if the space is too small then we make sure to not draw anything */ + rcClient.left = min(rcClient.left,rcClient.right); + rcClient.top = min(rcClient.top,rcClient.bottom); + + /* select a nice scalable font, because we want the text really small */ + SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0); + lf.lfHeight = 6; /* value chosen based on visual effect */ + hfont = CreateFontIndirectW(&lf); + holdfont = SelectObject(hdc, hfont); + + /* if text not loaded, then do so now */ + if (wszFakeDocumentText[0] == '\0') + LoadStringW(COMDLG32_hInstance, + IDS_FAKEDOCTEXT, + wszFakeDocumentText, + sizeof(wszFakeDocumentText)/sizeof(wszFakeDocumentText[0])); + + oldbkmode = SetBkMode(hdc, TRANSPARENT); + DrawTextW(hdc, wszFakeDocumentText, -1, &rcClient, DT_TOP|DT_LEFT|DT_NOPREFIX|DT_WORDBREAK); + SetBkMode(hdc, oldbkmode); + + DeleteObject(SelectObject(hdc, holdfont)); + + SelectObject(hdc, holdbrush); + + EndPaint(hWnd, &ps); + return 0; + } + else + return CallWindowProcW(lpfnStaticWndProc, hWnd, uMsg, wParam, lParam); +} + static INT_PTR CALLBACK PageDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { @@ -2613,6 +2720,10 @@ PageDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) INT_PTR res = FALSE; if (uMsg==WM_INITDIALOG) { + lpfnStaticWndProc = (WNDPROC)SetWindowLongPtrW( + GetDlgItem(hDlg, rct1), + GWLP_WNDPROC, + (ULONG_PTR)PagePaintProc); res = TRUE; pda = (PageSetupDataA*)lParam; SetPropA(hDlg,"__WINE_PAGESETUPDLGDATA",pda); diff --git a/reactos/lib/cpl/desk/de.rc b/reactos/lib/cpl/desk/de.rc new file mode 100644 index 00000000000..1ad7b88a861 --- /dev/null +++ b/reactos/lib/cpl/desk/de.rc @@ -0,0 +1,58 @@ +LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT + +IDD_BACKGROUND DIALOGEX DISCARDABLE 0, 0, 246, 228 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Desktop" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "",IDC_BACKGROUND_PREVIEW,"Static",SS_OWNERDRAW,48,10, + 150,105,WS_EX_STATICEDGE + CONTROL "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT | + LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | + WS_BORDER | WS_TABSTOP,7,139,173,71 + LTEXT "Wähle ein Bild um es als Desktop Hintergrund zu nutzen:", + IDC_STATIC,8,127,180,8 + PUSHBUTTON "&Durchsuchen...",IDC_BROWSE_BUTTON,187,175,50,14 + PUSHBUTTON "&Farbe...",IDC_COLOR_BUTTON,187,195,50,14 + LTEXT "Ausrichtung:",IDC_STATIC,187,138,36,8 + COMBOBOX IDC_PLACEMENT_COMBO,187,148,50,90,CBS_DROPDOWNLIST | + CBS_SORT | WS_VSCROLL | WS_TABSTOP +END + +IDD_SCREENSAVER DIALOGEX DISCARDABLE 0, 0, 246, 228 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Bildschrimschoner" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "This space is intentionally left blank",IDC_STATIC,66, + 110,112,8 +END + +IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 228 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Darstellung" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "This space is intentionally left blank",IDC_STATIC,66, + 110,112,8 +END + +IDD_SETTINGS DIALOGEX DISCARDABLE 0, 0, 246, 228 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Einstellungen" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "This space is intentionally left blank",IDC_STATIC,66, + 110,112,8 +END + +STRINGTABLE +BEGIN + IDS_CPLNAME "Anzeige" + IDS_CPLDESCRIPTION "Passt die Darstellung des Hintergrundbildes und des Bildschirmschoners an." + + IDS_NONE "(Keine)" + IDS_CENTER "Zentriert" + IDS_STRETCH "Gestreckt" + IDS_TILE "Nebeneinander" +END diff --git a/reactos/lib/cpl/desk/desk.rc b/reactos/lib/cpl/desk/desk.rc index 426e4a01382..e56a80d2f70 100644 --- a/reactos/lib/cpl/desk/desk.rc +++ b/reactos/lib/cpl/desk/desk.rc @@ -13,4 +13,5 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDC_DESK_ICON ICON "resources/applet.ico" #include "en.rc" +#include "de.rc" diff --git a/reactos/lib/crt/conio/cgets.c b/reactos/lib/crt/conio/cgets.c index dfdb99bf1b0..b4e67166b5a 100644 --- a/reactos/lib/crt/conio/cgets.c +++ b/reactos/lib/crt/conio/cgets.c @@ -6,8 +6,8 @@ * PROGRAMMER: Eric Kohl (Imported from DJGPP) */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/conio/cprintf.c b/reactos/lib/crt/conio/cprintf.c index b8e487edca3..42f527ad0eb 100644 --- a/reactos/lib/crt/conio/cprintf.c +++ b/reactos/lib/crt/conio/cprintf.c @@ -6,8 +6,9 @@ * PROGRAMMER: Eric Kohl (Imported from DJGPP) */ -#include -#include +#include +#include +#include /* * @unimplemented diff --git a/reactos/lib/crt/conio/cputs.c b/reactos/lib/crt/conio/cputs.c index 008afd39781..705afe7c6ad 100644 --- a/reactos/lib/crt/conio/cputs.c +++ b/reactos/lib/crt/conio/cputs.c @@ -9,10 +9,10 @@ */ #include "precomp.h" -#include -#include -#include -#include +#include +#include +#include +#include /* @@ -22,7 +22,7 @@ int _cputs(const char *_str) { int len = strlen(_str); DWORD written = 0; - if (!WriteFile(filehnd(stdout->_file),_str,len,&written,NULL)) + if (!WriteFile( fdinfo(stdout->_file)->hFile ,_str,len,&written,NULL)) return -1; return 0; } diff --git a/reactos/lib/crt/conio/cscanf.c b/reactos/lib/crt/conio/cscanf.c deleted file mode 100644 index f508c18d212..00000000000 --- a/reactos/lib/crt/conio/cscanf.c +++ /dev/null @@ -1,29 +0,0 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS kernel - * FILE: msvcrt/conio/cscanf.c - * PURPOSE: C Runtime - * PROGRAMMER: Eric Kohl (Imported from DJGPP) - */ - -#include -#include -#include -#include - -/* - * @unimplemented - */ -int _cscanf(char *fmt, ...) -{ - int cnt; - - va_list ap; - - //fixme cscanf should scan the console's keyboard - va_start(ap, fmt); - cnt = __vscanf(fmt, ap); - va_end(ap); - - return cnt; -} diff --git a/reactos/lib/crt/conio/getch.c b/reactos/lib/crt/conio/getch.c index bcbe825f5c2..d51c4ac0290 100644 --- a/reactos/lib/crt/conio/getch.c +++ b/reactos/lib/crt/conio/getch.c @@ -9,10 +9,10 @@ */ #include "precomp.h" -#include -#include -#include -#include +#include +#include +#include +#include /* @@ -26,7 +26,7 @@ int _getch(void) c = ungot_char; char_avail = 0; } else { - ReadConsoleA(_get_osfhandle(stdin->_file), + ReadConsoleA((HANDLE)_get_osfhandle(stdin->_file), &c, 1, &NumberOfCharsRead, diff --git a/reactos/lib/crt/conio/getche.c b/reactos/lib/crt/conio/getche.c index b9fb42a8094..4f78db94027 100644 --- a/reactos/lib/crt/conio/getche.c +++ b/reactos/lib/crt/conio/getche.c @@ -10,11 +10,11 @@ * 28/12/98: Created */ -#include -#include +#include +#include -int getche(void) +int _getche(void) { if (char_avail) /* @@ -26,6 +26,6 @@ int getche(void) * hasn't been got by a conio function. * We don't echo again. */ - return(getch()); - return (_putch(getch())); + return(_getch()); + return (_putch(_getch())); } diff --git a/reactos/lib/crt/conio/kbhit.c b/reactos/lib/crt/conio/kbhit.c index b61000d3e25..6f0c0add57c 100644 --- a/reactos/lib/crt/conio/kbhit.c +++ b/reactos/lib/crt/conio/kbhit.c @@ -9,8 +9,8 @@ */ #include "precomp.h" -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/conio/putch.c b/reactos/lib/crt/conio/putch.c index dc95ffedb6c..d6a91a609d4 100644 --- a/reactos/lib/crt/conio/putch.c +++ b/reactos/lib/crt/conio/putch.c @@ -9,7 +9,7 @@ */ #include "precomp.h" -#include +#include /* * @implemented diff --git a/reactos/lib/crt/conio/ungetch.c b/reactos/lib/crt/conio/ungetch.c index e767b6efa4f..28a74046de9 100644 --- a/reactos/lib/crt/conio/ungetch.c +++ b/reactos/lib/crt/conio/ungetch.c @@ -10,10 +10,11 @@ * 28/12/98: Created */ -#include -#include +#include +#include +#include + -#define EOF -1 int char_avail = 0; int ungot_char = 0; diff --git a/reactos/lib/crt/crt.xml b/reactos/lib/crt/crt.xml index 672e3e823fb..bf81f99b045 100644 --- a/reactos/lib/crt/crt.xml +++ b/reactos/lib/crt/crt.xml @@ -1,18 +1,20 @@ . + include + extern 0x600 0x501 + cgets.c cprintf.c cputs.c - cscanf.c getch.c getche.c kbhit.c @@ -88,7 +90,7 @@ read.c setmode.c sopen.c - stubs.c + stubs.c tell.c telli64.c umask.c @@ -245,7 +247,6 @@ fputs.c fread.c freopen.c - fscanf.c fseek.c fsetpos.c fsopen.c @@ -267,23 +268,20 @@ rename.c rewind.c rmtmp.c - scanf.c setbuf.c setvbuf.c sprintf.c - sscanf.c + swprintf.c stdhnd.c tempnam.c tmpfile.c tmpnam.c ungetc.c vfprintf.c - vfscanf.c vfwprint.c vprintf.c - vscanf.c vsprintf.c - vsscanf.c + vswprintf.c wfdopen.c wrename.c wtempnam.c @@ -381,6 +379,7 @@ cpp.c cppexcept.c heap.c + scanf.c thread.c diff --git a/reactos/lib/crt/ctype/ctype.c b/reactos/lib/crt/ctype/ctype.c index 3c88c06e704..f98fab7d6c3 100644 --- a/reactos/lib/crt/ctype/ctype.c +++ b/reactos/lib/crt/ctype/ctype.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include unsigned short _ctype[] = { 0, /* , 0xFFFF */ diff --git a/reactos/lib/crt/ctype/isalnum.c b/reactos/lib/crt/ctype/isalnum.c index 57130bc90c3..07d448c9a43 100644 --- a/reactos/lib/crt/ctype/isalnum.c +++ b/reactos/lib/crt/ctype/isalnum.c @@ -7,7 +7,7 @@ * UPDATE HISTORY: * 28/12/98: Created */ -#include +#include #undef iswalnum diff --git a/reactos/lib/crt/ctype/isalpha.c b/reactos/lib/crt/ctype/isalpha.c index 9fc0cb0093f..daa1878964d 100644 --- a/reactos/lib/crt/ctype/isalpha.c +++ b/reactos/lib/crt/ctype/isalpha.c @@ -8,7 +8,7 @@ * 28/12/98: Created */ -#include +#include #undef isalpha diff --git a/reactos/lib/crt/ctype/isascii.c b/reactos/lib/crt/ctype/isascii.c index 2ff881d0757..16791ac030b 100644 --- a/reactos/lib/crt/ctype/isascii.c +++ b/reactos/lib/crt/ctype/isascii.c @@ -8,7 +8,7 @@ * 28/12/98: Created */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/ctype/iscntrl.c b/reactos/lib/crt/ctype/iscntrl.c index 59d75f76eac..705bd432e6f 100644 --- a/reactos/lib/crt/ctype/iscntrl.c +++ b/reactos/lib/crt/ctype/iscntrl.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef iswcntrl diff --git a/reactos/lib/crt/ctype/iscsym.c b/reactos/lib/crt/ctype/iscsym.c index 8608062b8e8..bd108b4347e 100644 --- a/reactos/lib/crt/ctype/iscsym.c +++ b/reactos/lib/crt/ctype/iscsym.c @@ -7,7 +7,7 @@ * UPDATE HISTORY: * 28/12/98: Created */ -#include +#include /* diff --git a/reactos/lib/crt/ctype/isctype.c b/reactos/lib/crt/ctype/isctype.c index 9b0c668e653..8e65d8a2c25 100644 --- a/reactos/lib/crt/ctype/isctype.c +++ b/reactos/lib/crt/ctype/isctype.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include extern unsigned short _ctype[]; @@ -34,7 +34,7 @@ unsigned short **__p__pwctype(void) /* * @implemented */ -int _isctype(unsigned int c, int ctypeFlags) +int _isctype(int c, int ctypeFlags) { return (_pctype[(unsigned char)(c & 0xFF)] & ctypeFlags); } diff --git a/reactos/lib/crt/ctype/isdigit.c b/reactos/lib/crt/ctype/isdigit.c index 36783d43587..16219bc876f 100644 --- a/reactos/lib/crt/ctype/isdigit.c +++ b/reactos/lib/crt/ctype/isdigit.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef isdigit diff --git a/reactos/lib/crt/ctype/isgraph.c b/reactos/lib/crt/ctype/isgraph.c index a62ef348888..685df41d82b 100644 --- a/reactos/lib/crt/ctype/isgraph.c +++ b/reactos/lib/crt/ctype/isgraph.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef iswgraph /* diff --git a/reactos/lib/crt/ctype/islower.c b/reactos/lib/crt/ctype/islower.c index c91e5dde091..a804c05f9a9 100644 --- a/reactos/lib/crt/ctype/islower.c +++ b/reactos/lib/crt/ctype/islower.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef islower diff --git a/reactos/lib/crt/ctype/isprint.c b/reactos/lib/crt/ctype/isprint.c index 8eca3b574ac..204c063a312 100644 --- a/reactos/lib/crt/ctype/isprint.c +++ b/reactos/lib/crt/ctype/isprint.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/ctype/ispunct.c b/reactos/lib/crt/ctype/ispunct.c index ae55fb0bc88..dc1dacc42f4 100644 --- a/reactos/lib/crt/ctype/ispunct.c +++ b/reactos/lib/crt/ctype/ispunct.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef iswpunct /* diff --git a/reactos/lib/crt/ctype/isspace.c b/reactos/lib/crt/ctype/isspace.c index 6f74756b1ed..57e01b2cb2d 100644 --- a/reactos/lib/crt/ctype/isspace.c +++ b/reactos/lib/crt/ctype/isspace.c @@ -8,7 +8,7 @@ * 28/12/98: Created */ -#include +#include #undef isspace diff --git a/reactos/lib/crt/ctype/isupper.c b/reactos/lib/crt/ctype/isupper.c index 187956c2414..56d49188583 100644 --- a/reactos/lib/crt/ctype/isupper.c +++ b/reactos/lib/crt/ctype/isupper.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/ctype/isxdigit.c b/reactos/lib/crt/ctype/isxdigit.c index 3490c07924f..04be96ec81a 100644 --- a/reactos/lib/crt/ctype/isxdigit.c +++ b/reactos/lib/crt/ctype/isxdigit.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef isxdigit /* diff --git a/reactos/lib/crt/ctype/toascii.c b/reactos/lib/crt/ctype/toascii.c index 8ad09e23c83..81e3c02e8df 100644 --- a/reactos/lib/crt/ctype/toascii.c +++ b/reactos/lib/crt/ctype/toascii.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/ctype/tolower.c b/reactos/lib/crt/ctype/tolower.c index 48c8788020f..324d0f16eab 100644 --- a/reactos/lib/crt/ctype/tolower.c +++ b/reactos/lib/crt/ctype/tolower.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef tolower /* diff --git a/reactos/lib/crt/ctype/toupper.c b/reactos/lib/crt/ctype/toupper.c index 7e21e65e226..df93d23e677 100644 --- a/reactos/lib/crt/ctype/toupper.c +++ b/reactos/lib/crt/ctype/toupper.c @@ -6,7 +6,7 @@ * PROGRAMMER: Copyright (C) 1995 DJ Delorie */ -#include +#include #undef toupper /* diff --git a/reactos/lib/crt/direct/chdir.c b/reactos/lib/crt/direct/chdir.c index 2a48e5cad53..6951d15a151 100644 --- a/reactos/lib/crt/direct/chdir.c +++ b/reactos/lib/crt/direct/chdir.c @@ -1,15 +1,16 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include +#include /* * @implemented */ -int _chdir(const char* _path) +int _tchdir(const _TCHAR* _path) { - if (!SetCurrentDirectoryA((char*)_path)) { - _dosmaperr(GetLastError()); + if (!SetCurrentDirectory(_path)) { + _dosmaperr(_path?GetLastError():0); return -1; } return 0; diff --git a/reactos/lib/crt/direct/chdrive.c b/reactos/lib/crt/direct/chdrive.c index 250aace5d2c..9f53d40e0f2 100644 --- a/reactos/lib/crt/direct/chdrive.c +++ b/reactos/lib/crt/direct/chdrive.c @@ -1,34 +1,41 @@ #include "precomp.h" -#include -#include -#include -#include -#include - - -int cur_drive = 0; +#include +#include +#include +#include +#include /* - * @implemented + * @implemented + * + * _chdrive (MSVCRT.@) + * + * Change the current drive. + * + * PARAMS + * newdrive [I] Drive number to change to (1 = 'A', 2 = 'B', ...) + * + * RETURNS + * Success: 0. The current drive is set to newdrive. + * Failure: -1. errno indicates the error. + * + * NOTES + * See SetCurrentDirectoryA. */ -int _chdrive(int drive) +int _chdrive(int newdrive) { - char d[3]; + WCHAR buffer[] = L"A:"; - if (!( drive >= 1 && drive <= 26)) { - __set_errno(EINVAL); - return -1; - } - if (cur_drive != drive) { - cur_drive = drive; - d[0] = toupper(cur_drive + '@'); - d[1] = ':'; - d[2] = 0; - if (!SetCurrentDirectoryA(d)) { - _dosmaperr(GetLastError()); - return -1; - } + buffer[0] += newdrive - 1; + if (!SetCurrentDirectoryW( buffer )) + { + _dosmaperr(GetLastError()); + if (newdrive <= 0) + { + __set_errno(EACCES); } - return 0; + return -1; + } + return 0; } diff --git a/reactos/lib/crt/direct/getcwd.c b/reactos/lib/crt/direct/getcwd.c index a9801b6e8eb..5ae385c7dd4 100644 --- a/reactos/lib/crt/direct/getcwd.c +++ b/reactos/lib/crt/direct/getcwd.c @@ -1,31 +1,35 @@ #include "precomp.h" -#include -#include -#include -#include - +#include +#include +#include +#include +#include /* * @implemented */ -char *_getcwd(char* buffer, int maxlen) +_TCHAR* _tgetcwd(_TCHAR* buf, int size) { - char *cwd; - int len; + _TCHAR dir[MAX_PATH]; + DWORD dir_len = GetCurrentDirectory(MAX_PATH,dir); - if (buffer == NULL) { - if ( (cwd = malloc(MAX_PATH)) == NULL ) { - __set_errno(ENOMEM); - return NULL; - } - len = MAX_PATH; - } else { - cwd = buffer; - len = maxlen; - } - if (GetCurrentDirectoryA(len, cwd) == 0) { - _dosmaperr(GetLastError()); - return NULL; - } - return cwd; + if (dir_len == 0) + { + _dosmaperr(GetLastError()); + return NULL; /* FIXME: Real return value untested */ + } + + if (!buf) + { + return _tcsdup(dir); + } + + if (dir_len >= size) + { + __set_errno(ERANGE); + return NULL; /* buf too small */ + } + + _tcscpy(buf,dir); + return buf; } diff --git a/reactos/lib/crt/direct/getdcwd.c b/reactos/lib/crt/direct/getdcwd.c index 3dab6d665b5..301401aacc0 100644 --- a/reactos/lib/crt/direct/getdcwd.c +++ b/reactos/lib/crt/direct/getdcwd.c @@ -1,27 +1,64 @@ #include "precomp.h" -#include -#include +#include +#include +#include +#include +#include /* * @implemented + * + * _getdcwd (MSVCRT.@) + * + * Get the current working directory on a given disk. + * + * PARAMS + * drive [I] Drive letter to get the current working directory from. + * buf [O] Destination for the current working directory. + * size [I] Length of drive in characters. + * + * RETURNS + * Success: If drive is NULL, returns an allocated string containing the path. + * Otherwise populates drive with the path and returns it. + * Failure: NULL. errno indicates the error. */ -char* _getdcwd(int nDrive, char* caBuffer, int nBufLen) +_TCHAR* _tgetdcwd(int drive, _TCHAR * buf, int size) { - int i =0; - int dr = _getdrive(); + static _TCHAR* dummy; - if (nDrive < 1 || nDrive > 26) - return NULL; - if (dr != nDrive) { - if ( _chdrive(nDrive) != 0 ) - return NULL; - } - i = GetCurrentDirectoryA(nBufLen, caBuffer); - if (i == nBufLen) - return NULL; - if (dr != nDrive) { - if ( _chdrive(dr) != 0 ) - return NULL; - } - return caBuffer; + TRACE(":drive %d(%c), size %d\n",drive, drive + 'A' - 1, size); + + if (!drive || drive == _getdrive()) + return _tgetcwd(buf,size); /* current */ + else + { + _TCHAR dir[MAX_PATH]; + _TCHAR drivespec[] = _T("A:"); + int dir_len; + + drivespec[0] += drive - 1; + if (GetDriveType(drivespec) < DRIVE_REMOVABLE) + { + __set_errno(EACCES); + return NULL; + } + + /* GetFullPathName for X: means "get working directory on drive X", + * just like passing X: to SetCurrentDirectory means "switch to working + * directory on drive X". -Gunnar */ + dir_len = GetFullPathName(drivespec,MAX_PATH,dir,&dummy); + if (dir_len >= size || dir_len < 1) + { + __set_errno(ERANGE); + return NULL; /* buf too small */ + } + + TRACE(":returning '%s'\n", dir); + if (!buf) + return _tcsdup(dir); /* allocate */ + + _tcscpy(buf,dir); + } + return buf; } + diff --git a/reactos/lib/crt/direct/getdfree.c b/reactos/lib/crt/direct/getdfree.c index 84601c43eeb..fa6e83110bc 100644 --- a/reactos/lib/crt/direct/getdfree.c +++ b/reactos/lib/crt/direct/getdfree.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/direct/getdrive.c b/reactos/lib/crt/direct/getdrive.c index 4074bafbd18..797c743dde5 100644 --- a/reactos/lib/crt/direct/getdrive.c +++ b/reactos/lib/crt/direct/getdrive.c @@ -1,30 +1,35 @@ #include "precomp.h" -#include -#include +#include +#include -extern int cur_drive; +/* + * @implemented + * + * _getdrive (MSVCRT.@) + * + * Get the current drive number. + * + * PARAMS + * None. + * + * RETURNS + * Success: The drive letter number from 1 to 26 ("A:" to "Z:"). + * Failure: 0. + */ +int _getdrive(void) +{ + WCHAR buffer[MAX_PATH]; + if (GetCurrentDirectoryW( MAX_PATH, buffer ) && + buffer[0] >= 'A' && buffer[0] <= 'z' && buffer[1] == ':') + return towupper(buffer[0]) - 'A' + 1; + return 0; +} /* * @implemented */ -int _getdrive(void) -{ - char Buffer[MAX_PATH]; - - if (cur_drive == 0) { - GetCurrentDirectoryA(MAX_PATH, Buffer); - cur_drive = toupper(Buffer[0] - '@'); - } - return cur_drive; -} - -/* - * @unimplemented - */ unsigned long _getdrives(void) { - //fixme get logical drives - //return GetLogicalDrives(); - return 5; // drive A and C + return GetLogicalDrives(); } diff --git a/reactos/lib/crt/direct/mkdir.c b/reactos/lib/crt/direct/mkdir.c index bb160d45c68..7f8a3d74686 100644 --- a/reactos/lib/crt/direct/mkdir.c +++ b/reactos/lib/crt/direct/mkdir.c @@ -1,14 +1,14 @@ #include "precomp.h" -#include -#include - +#include +#include +#include /* * @implemented */ -int _mkdir(const char* _path) +int _tmkdir(const _TCHAR* _path) { - if (!CreateDirectoryA(_path, NULL)) { + if (!CreateDirectory(_path, NULL)) { _dosmaperr(GetLastError()); return -1; } diff --git a/reactos/lib/crt/direct/rmdir.c b/reactos/lib/crt/direct/rmdir.c index 5f89e80ad5e..7a28056f986 100644 --- a/reactos/lib/crt/direct/rmdir.c +++ b/reactos/lib/crt/direct/rmdir.c @@ -1,14 +1,14 @@ #include "precomp.h" -#include -#include - +#include +#include +#include /* * @implemented */ -int _rmdir(const char* _path) +int _trmdir(const _TCHAR* _path) { - if (!RemoveDirectoryA(_path)) { + if (!RemoveDirectory(_path)) { _dosmaperr(GetLastError()); return -1; } diff --git a/reactos/lib/crt/direct/wchdir.c b/reactos/lib/crt/direct/wchdir.c index 1c92c20f22f..0271819c709 100644 --- a/reactos/lib/crt/direct/wchdir.c +++ b/reactos/lib/crt/direct/wchdir.c @@ -1,17 +1,5 @@ -#include "precomp.h" -#include -#include -#include -#include +#define UNICODE +#define _UNICODE + +#include "chdir.c" -/* - * @implemented - */ -int _wchdir (const wchar_t *_path) -{ - if (!SetCurrentDirectoryW((wchar_t *)_path)) { - _dosmaperr(GetLastError()); - return -1; - } - return 0; -} diff --git a/reactos/lib/crt/direct/wgetcwd.c b/reactos/lib/crt/direct/wgetcwd.c index f1e62f4ea70..2e946c3fbb5 100644 --- a/reactos/lib/crt/direct/wgetcwd.c +++ b/reactos/lib/crt/direct/wgetcwd.c @@ -1,28 +1,5 @@ -#include "precomp.h" -#include -#include -#include -#include +#define UNICODE +#define _UNICODE +#include "getcwd.c" -/* - * @implemented - */ -wchar_t* _wgetcwd(wchar_t* buffer, int maxlen) -{ - wchar_t *cwd; - int len; - if (buffer == NULL) { - if ( (cwd = malloc(MAX_PATH * sizeof(wchar_t))) == NULL ) { - __set_errno(ENOMEM); - return NULL; - } - len = MAX_PATH; - } else { - cwd = buffer; - len = maxlen; - } - if (GetCurrentDirectoryW(len, cwd) == 0) - return NULL; - return cwd; -} diff --git a/reactos/lib/crt/direct/wgetdcwd.c b/reactos/lib/crt/direct/wgetdcwd.c index 4de0744cf2e..3c5e8e28e01 100644 --- a/reactos/lib/crt/direct/wgetdcwd.c +++ b/reactos/lib/crt/direct/wgetdcwd.c @@ -1,32 +1,5 @@ -#include "precomp.h" -#include -#include +#define UNICODE +#define _UNICODE +#include "getdcwd.c" -/* - * @implemented - */ -wchar_t* _wgetdcwd(int nDrive, wchar_t* caBuffer, int nBufLen) -{ - int i =0; - int dr = _getdrive(); - - if (nDrive < 1 || nDrive > 26) - return NULL; - - if (dr != nDrive) { - if ( _chdrive(nDrive) != 0 ) - return NULL; - } - - i = GetCurrentDirectoryW(nBufLen, caBuffer); - if (i == nBufLen) - return NULL; - - if (dr != nDrive) { - if ( _chdrive(dr) != 0 ) - return NULL; - } - - return caBuffer; -} diff --git a/reactos/lib/crt/direct/wmkdir.c b/reactos/lib/crt/direct/wmkdir.c index 21faa789bd9..f9e11d1fe47 100644 --- a/reactos/lib/crt/direct/wmkdir.c +++ b/reactos/lib/crt/direct/wmkdir.c @@ -1,16 +1,4 @@ -#include "precomp.h" -#include -#include +#define UNICODE +#define _UNICODE - -/* - * @implemented - */ -int _wmkdir(const wchar_t* _path) -{ - if (!CreateDirectoryW(_path, NULL)) { - _dosmaperr(GetLastError()); - return -1; - } - return 0; -} +#include "mkdir.c" diff --git a/reactos/lib/crt/direct/wrmdir.c b/reactos/lib/crt/direct/wrmdir.c index 97e7d4b2065..b592e542605 100644 --- a/reactos/lib/crt/direct/wrmdir.c +++ b/reactos/lib/crt/direct/wrmdir.c @@ -1,16 +1,4 @@ -#include "precomp.h" -#include -#include +#define UNICODE +#define _UNICODE - -/* - * @implemented - */ -int _wrmdir(const wchar_t* _path) -{ - if (!RemoveDirectoryW(_path)) { - _dosmaperr(GetLastError()); - return -1; - } - return 0; -} +#include "rmdir.c" diff --git a/reactos/lib/crt/float/chgsign.c b/reactos/lib/crt/float/chgsign.c index e2a0c806309..2b0ec60ce8a 100644 --- a/reactos/lib/crt/float/chgsign.c +++ b/reactos/lib/crt/float/chgsign.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/float/clearfp.c b/reactos/lib/crt/float/clearfp.c index 8832b3b447e..bace5d2dde1 100644 --- a/reactos/lib/crt/float/clearfp.c +++ b/reactos/lib/crt/float/clearfp.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/float/cntrlfp.c b/reactos/lib/crt/float/cntrlfp.c index c093d827e64..659eaa8b6e1 100644 --- a/reactos/lib/crt/float/cntrlfp.c +++ b/reactos/lib/crt/float/cntrlfp.c @@ -1,6 +1,6 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include +#include #define X87_CW_IM (1<<0) /* Invalid operation mask */ #define X87_CW_DM (1<<1) /* Denormal operand mask */ diff --git a/reactos/lib/crt/float/copysign.c b/reactos/lib/crt/float/copysign.c index 17bb869ab5c..9a5fe173ca7 100644 --- a/reactos/lib/crt/float/copysign.c +++ b/reactos/lib/crt/float/copysign.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/float/fpclass.c b/reactos/lib/crt/float/fpclass.c index 5dac73d020e..42ae380a596 100644 --- a/reactos/lib/crt/float/fpclass.c +++ b/reactos/lib/crt/float/fpclass.c @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include #define _FPCLASS_SNAN 0x0001 /* signaling NaN */ @@ -14,6 +14,9 @@ #define _FPCLASS_PN 0x0100 /* positive normal */ #define _FPCLASS_PINF 0x0200 /* positive infinity */ + +#if __MINGW32_MAJOR_VERSION < 3 || __MINGW32_MINOR_VERSION < 3 + #define FP_SNAN 0x0001 // signaling NaN #define FP_QNAN 0x0002 // quiet NaN #define FP_NINF 0x0004 // negative infinity @@ -25,6 +28,8 @@ #define FP_NNORM 0x0080 // negative normalized non-zero #define FP_PNORM 0x0100 // positive normalized non-zero +#endif + typedef int fpclass_t; /* diff --git a/reactos/lib/crt/float/fpecode.c b/reactos/lib/crt/float/fpecode.c index bcf5339e7dc..523c02c64a9 100644 --- a/reactos/lib/crt/float/fpecode.c +++ b/reactos/lib/crt/float/fpecode.c @@ -2,8 +2,8 @@ #undef __USE_W32API #endif -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/float/fpreset.c b/reactos/lib/crt/float/fpreset.c index 7322097d958..776438d1f51 100644 --- a/reactos/lib/crt/float/fpreset.c +++ b/reactos/lib/crt/float/fpreset.c @@ -1,4 +1,4 @@ -#include +#include /* diff --git a/reactos/lib/crt/float/isnan.c b/reactos/lib/crt/float/isnan.c index e522fcb97ce..4054f069ad8 100644 --- a/reactos/lib/crt/float/isnan.c +++ b/reactos/lib/crt/float/isnan.c @@ -16,9 +16,9 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/float/logb.c b/reactos/lib/crt/float/logb.c index d71c654ee77..55e65f90b55 100644 --- a/reactos/lib/crt/float/logb.c +++ b/reactos/lib/crt/float/logb.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double _logb (double __x) { diff --git a/reactos/lib/crt/float/nafter.c b/reactos/lib/crt/float/nafter.c index 9b5ddd7cef2..4311b3d2430 100644 --- a/reactos/lib/crt/float/nafter.c +++ b/reactos/lib/crt/float/nafter.c @@ -1,4 +1,4 @@ -#include +#include /* @@ -9,7 +9,7 @@ double _nextafter( double x, double y ) if ( x == y) return x; - if ( isnan(x) || isnan(y) ) + if ( _isnan(x) || _isnan(y) ) return x; return x; diff --git a/reactos/lib/crt/float/scalb.c b/reactos/lib/crt/float/scalb.c index cf2e673f2f0..583b5293fd8 100644 --- a/reactos/lib/crt/float/scalb.c +++ b/reactos/lib/crt/float/scalb.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/float/statfp.c b/reactos/lib/crt/float/statfp.c index e2d2112afb6..73ab3b72410 100644 --- a/reactos/lib/crt/float/statfp.c +++ b/reactos/lib/crt/float/statfp.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/include/float.h b/reactos/lib/crt/include/float.h new file mode 100644 index 00000000000..53bfb34dbdf --- /dev/null +++ b/reactos/lib/crt/include/float.h @@ -0,0 +1,152 @@ +/* + * float.h + * This file has no copyright assigned and is placed in the Public Domain. + * This file is a part of the mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within the package. + * + * Constants related to floating point arithmetic. + * + * Also included here are some non-ANSI bits for accessing the floating + * point controller. + * + * NOTE: GCC provides float.h, but it doesn't include the non-standard + * stuff for accessing the fp controller. We include_next the + * GCC-supplied header and just define the MS-specific extensions + * here. + * + */ + +#include_next + +#ifndef _MINGW_FLOAT_H_ +#define _MINGW_FLOAT_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * Functions and definitions for controlling the FPU. + */ +#ifndef __STRICT_ANSI__ + +/* TODO: These constants are only valid for x86 machines */ + +/* Control word masks for unMask */ +#define _MCW_EM 0x0008001F /* Error masks */ +#define _MCW_IC 0x00040000 /* Infinity */ +#define _MCW_RC 0x00000300 /* Rounding */ +#define _MCW_PC 0x00030000 /* Precision */ + +/* Control word values for unNew (use with related unMask above) */ +#define _EM_INVALID 0x00000010 +#define _EM_DENORMAL 0x00080000 +#define _EM_ZERODIVIDE 0x00000008 +#define _EM_OVERFLOW 0x00000004 +#define _EM_UNDERFLOW 0x00000002 +#define _EM_INEXACT 0x00000001 +#define _IC_AFFINE 0x00040000 +#define _IC_PROJECTIVE 0x00000000 +#define _RC_CHOP 0x00000300 +#define _RC_UP 0x00000200 +#define _RC_DOWN 0x00000100 +#define _RC_NEAR 0x00000000 +#define _PC_24 0x00020000 +#define _PC_53 0x00010000 +#define _PC_64 0x00000000 + +/* These are also defined in Mingw math.h, needed to work around + GCC build issues. */ +/* Return values for fpclass. */ +#ifndef __MINGW_FPCLASS_DEFINED +#define __MINGW_FPCLASS_DEFINED 1 +#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */ +#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */ +#define _FPCLASS_NINF 0x0004 /* Negative Infinity */ +#define _FPCLASS_NN 0x0008 /* Negative Normal */ +#define _FPCLASS_ND 0x0010 /* Negative Denormal */ +#define _FPCLASS_NZ 0x0020 /* Negative Zero */ +#define _FPCLASS_PZ 0x0040 /* Positive Zero */ +#define _FPCLASS_PD 0x0080 /* Positive Denormal */ +#define _FPCLASS_PN 0x0100 /* Positive Normal */ +#define _FPCLASS_PINF 0x0200 /* Positive Infinity */ +#endif /* __MINGW_FPCLASS_DEFINED */ + +/* invalid subconditions (_SW_INVALID also set) */ +#define _SW_UNEMULATED 0x0040 /* unemulated instruction */ +#define _SW_SQRTNEG 0x0080 /* square root of a neg number */ +#define _SW_STACKOVERFLOW 0x0200 /* FP stack overflow */ +#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */ + +/* Floating point error signals and return codes */ +#define _FPE_INVALID 0x81 +#define _FPE_DENORMAL 0x82 +#define _FPE_ZERODIVIDE 0x83 +#define _FPE_OVERFLOW 0x84 +#define _FPE_UNDERFLOW 0x85 +#define _FPE_INEXACT 0x86 +#define _FPE_UNEMULATED 0x87 +#define _FPE_SQRTNEG 0x88 +#define _FPE_STACKOVERFLOW 0x8a +#define _FPE_STACKUNDERFLOW 0x8b +#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */ + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask), + * i.e. change the bits in unMask to have the values they have in unNew, + * leaving other bits unchanged. */ +_CRTIMP unsigned int __cdecl _controlfp (unsigned int unNew, unsigned int unMask); +_CRTIMP unsigned int __cdecl _control87 (unsigned int unNew, unsigned int unMask); + + +_CRTIMP unsigned int __cdecl _clearfp (void); /* Clear the FPU status word */ +_CRTIMP unsigned int __cdecl _statusfp (void); /* Report the FPU status word */ +#define _clear87 _clearfp +#define _status87 _statusfp + + +/* + MSVCRT.dll _fpreset initializes the control register to 0x27f, + the status register to zero and the tag word to 0FFFFh. + This differs from asm instruction finit/fninit which set control + word to 0x37f (64 bit mantissa precison rather than 53 bit). + By default, the mingw version of _fpreset sets fp control as + per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when + building your application. +*/ +void __cdecl _fpreset (void); +void __cdecl fpreset (void); + +/* Global 'variable' for the current floating point error code. */ +_CRTIMP int * __cdecl __fpecode(void); +#define _fpecode (*(__fpecode())) + +/* + * IEEE recommended functions. MS puts them in float.h + * but they really belong in math.h. + */ + +_CRTIMP double __cdecl _chgsign (double); +_CRTIMP double __cdecl _copysign (double, double); +_CRTIMP double __cdecl _logb (double); +_CRTIMP double __cdecl _nextafter (double, double); +_CRTIMP double __cdecl _scalb (double, long); + +_CRTIMP int __cdecl _finite (double); +_CRTIMP int __cdecl _fpclass (double); +_CRTIMP int __cdecl _isnan (double); + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not __STRICT_ANSI__ */ + +#endif /* _FLOAT_H_ */ + diff --git a/reactos/lib/crt/include/internal/atexit.h b/reactos/lib/crt/include/internal/atexit.h new file mode 100644 index 00000000000..ab036e60710 --- /dev/null +++ b/reactos/lib/crt/include/internal/atexit.h @@ -0,0 +1,14 @@ +/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ +#ifndef __CRT_INTERNAL_ATEXIT_H +#define __CRT_INTERNAL_ATEXIT_H + + +struct __atexit { + struct __atexit* __next; + void (*__function)(void); +}; + +extern struct __atexit* __atexit_ptr; + + +#endif diff --git a/reactos/lib/crt/include/internal/console.h b/reactos/lib/crt/include/internal/console.h new file mode 100644 index 00000000000..c478c21aa68 --- /dev/null +++ b/reactos/lib/crt/include/internal/console.h @@ -0,0 +1,12 @@ +/* console.h */ + +#ifndef __CRT_INTERNAL_CONSOLE_H +#define __CRT_INTERNAL_CONSOLE_H + +extern int char_avail; +extern int ungot_char; + +#endif + +/* EOF */ + diff --git a/reactos/lib/crt/include/internal/debug.h b/reactos/lib/crt/include/internal/debug.h new file mode 100644 index 00000000000..a2b730f02c7 --- /dev/null +++ b/reactos/lib/crt/include/internal/debug.h @@ -0,0 +1,90 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * FILE: include/msvcrt/msvcrtdbg.h + * PURPOSE: Useful debugging macros + * PROGRAMMER: + * UPDATE HISTORY: + * + */ + +/* + * NOTE: Define NDEBUG before including this header to disable debugging + * macros + */ + +#ifndef __MSVCRT_DEBUG +#define __MSVCRT_DEBUG + +#include +#include + + +#define MK_STR(s) #s + +#ifdef _UNICODE + #define sT "S" +#else + #define sT "s" +#endif + + + +#define TRACE(...) + + +#ifdef DBG + #define DPRINT1(args...) do { DbgPrint("(MSVCRT:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0); + #define CHECKPOINT1 do { DbgPrint("MSVCRT:%s:%d\n",__FILE__,__LINE__); } while(0); +#else + #ifdef __GNUC__ + #define DPRINT1(args...) + #else + #define DPRINT DbgPrint + #endif + #define CHECKPOINT1 +#endif + +#if !defined(NDEBUG) && defined(DBG) + #define DPRINT(args...) do { DbgPrint("(MSVCRT:%s:%d) ",__FILE__,__LINE__); DbgPrint(args); } while(0); + #define CHECKPOINT do { DbgPrint("MSVCRT:%s:%d\n",__FILE__,__LINE__); } while(0); +#else + #ifdef __GNUC__ + #define DPRINT(args...) + #else + #define DPRINT DbgPrint + #endif + #define CHECKPOINT +#endif /* NDEBUG */ + + +#if 0 + + #define TRACE_RETURN(format_str, ret_type) \ + ret_type __return_value__; \ + static char* __return_format_str__ = "%s ret: "format_str"\n" + + #define FUNCTION(func) \ + static char* __func_name__ = #func + + #define TRACE(a,b...) DPRINT1(a"\n", b) + + #define RETURN(a) \ + do{ __return_value__ = (a); DPRINT1(__return_format_str__ ,__func_name__,__return_value__); return __return_value__ ; }while(0) + +#endif + + +/* ULONG CDECL DbgPrint(PCH Format, ...); */ +ULONG DbgPrint(PCH Format,...); +/* unsigned long DbgPrint(const char* Format, ...); */ + + + +/* #define TRACE 0 ? (void)0 : Trace */ + +/* void Trace(TCHAR* lpszFormat, ...); */ + + + +#endif /* __MSVCRT_DEBUG */ diff --git a/reactos/lib/crt/include/internal/file.h b/reactos/lib/crt/include/internal/file.h new file mode 100644 index 00000000000..040c47917e6 --- /dev/null +++ b/reactos/lib/crt/include/internal/file.h @@ -0,0 +1,194 @@ +/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ +/* + * Some stuff taken from active perl: perl\win32.c (ioinfo stuff) + * + * (c) 1995 Microsoft Corporation. All rights reserved. + * Developed by hip communications inc., http://info.hip.com/info/ + * Portions (c) 1993 Intergraph Corporation. All rights reserved. + * + * You may distribute under the terms of either the GNU General Public + * License or the Artistic License, as specified in the README file. + */ + +#ifndef __CRT_INTERNAL_FILE_H +#define __CRT_INTERNAL_FILE_H + +#include +#include +#include + + +#ifndef _IORMONCL +#define _IORMONCL 004000 /* remove on close, for temp files */ +#endif +/* if _flag & _IORMONCL, ._name_to_remove needs freeing */ + +#ifndef _IOUNGETC +#define _IOUNGETC 010000 /* there is an ungetc'ed character in the buffer */ +#endif + +/* might need check for IO_APPEND aswell */ +#define OPEN4WRITING(f) ((((f)->_flag & _IOWRT) == _IOWRT)) +#define OPEN4READING(f) ((((f)->_flag & _IOREAD) == _IOREAD)) + +/* might need check for IO_APPEND aswell */ +#define WRITE_STREAM(f) ((((f)->_flag & _IOWRT) == _IOWRT)) +#define READ_STREAM(f) ((((f)->_flag & _IOREAD) == _IOREAD)) + +char __validfp(FILE*); +int __set_errno(int err); +int __set_doserrno(int error); +void* filehnd(int fn); +char __is_text_file(FILE*); +int alloc_fd(void* hFile, char mode); +int _doprnt(const char* fmt, va_list args, FILE *); +int _doscan(FILE* iop, const char* fmt, va_list argp); +int __fileno_dup2(int handle1, int handle2); +char __fileno_getmode(int _fd); +int __fileno_setmode(int _fd, int _newmode); +void free_fd(int _fd); +void sigabort_handler(int sig); +char split_oflags(int oflags); + + +#include + +unsigned create_io_inherit_block(STARTUPINFOA* si); +void UnixTimeToFileTime(time_t unix_time, FILETIME* filetime, DWORD remainder); +time_t FileTimeToUnixTime(const FILETIME* filetime, DWORD *remainder); + + +#define __FILE_REC_MAX 20 +typedef struct __file_rec +{ + struct __file_rec* next; + int count; + FILE* files[__FILE_REC_MAX]; +} __file_rec; + +extern __file_rec* __file_rec_list; + + +typedef struct _FDINFO +{ + HANDLE hFile; + char fdflags; + char pipechar; /* one char buffer for handles opened on pipes */ + int lockinitflag; + CRITICAL_SECTION lock; +} FDINFO; + +#define FDINFO_ENTRIES_PER_BUCKET_SHIFT 5 /* log2(32) = 5 */ +#define FDINFO_BUCKETS 64 +#define FDINFO_ENTRIES_PER_BUCKET 32 +#define FDINFO_ENTRIES (FDINFO_BUCKETS * FDINFO_ENTRIES_PER_BUCKET) + +/* pipech */ +#define LF 10 /* line feed */ +#define CR 13 /* carriage return */ +#define CTRLZ 26 /* ctrl-z means eof for text */ + +/* mode */ +#define FOPEN 0x01 /* file handle open */ +#define FEOFLAG 0x02 /* end of file has been encountered */ +#define FCRLF 0x04 /* CR-LF across read buffer (in text mode) */ +#define FPIPE 0x08 /* file refers to a pipe */ +#define FNOINHERIT 0x10 /* file handle opened _O_NOINHERIT */ +#define FAPPEND 0x20 /* file opened O_APPEND */ +#define FDEV 0x40 /* file refers to device */ +#define FTEXT 0x80 /* file is in text mode (absence = binary) */ + +/* get bucket index (0-63) from an fd */ +#define fdinfo_bucket_idx(i) ((i) >> FDINFO_ENTRIES_PER_BUCKET_SHIFT) +/* get position inside a bucket (0-31) from an fd */ +#define fdinfo_bucket_entry_idx(i) ((i) & (FDINFO_ENTRIES_PER_BUCKET - 1)) +/* get bucket ptr. (ptr. to fist fdinfo inside a bucket) from an fd */ +#define fdinfo_bucket(i) ( __pioinfo[fdinfo_bucket_idx(i)]) +/* get fdinfo ptr. from an fd */ +#define fdinfo(i) (fdinfo_bucket(i) + fdinfo_bucket_entry_idx(i)) + +extern FDINFO* __pioinfo[]; + + +void _dosmaperr(unsigned long oserrcode); + + + +FILE* __alloc_file(void); + + + +int access_dirA(const char *_path); +int access_dirW(const wchar_t *_path); + +#ifdef _UNICODE + #define access_dirT access_dirW +#else + #define access_dirT access_dirA +#endif + + + +void _fwalk(void (*func)(FILE*)); // not exported + + + +#undef MB_CUR_MAX +#define MB_CUR_MAX __mb_cur_max + + +int _isnanl(double x); +int _isinfl(double x); +int _isnan(double x); +int _isinf(double x); + + + +/* Flags for the iobuf structure (for reference) */ +#if 0 +#define _IOREAD 1 /* currently reading */ +#define _IOWRT 2 /* currently writing */ +#define _IORW 0x0080 /* opened as "r+w" */ +#endif + +/* internal FILE->_flag flags */ + +#define _IOMYBUF 0x0008 /* stdio malloc()'d buffer */ +#define _IOEOF 0x0010 /* EOF reached on read */ +#define _IOERR 0x0020 /* I/O error from system */ +#define _IOSTRG 0x0040 /* Strange or no file descriptor */ + +#define _IOBINARY 0x040000 +#define _IOTEXT 0x000000 + +#define _IOCOMMIT 0x100000 + +#define _IODIRTY 0x010000 +#define _IOAHEAD 0x020000 + + + + +/* + * The three possible buffering mode (nMode) values for setvbuf. + * NOTE: _IOFBF works, but _IOLBF seems to work like unbuffered... + * maybe I'm testing it wrong? + */ +#define _IOFBF 0x0000 /* full buffered */ +#define _IOLBF 0x0040 /* line buffered */ +#define _IONBF 0x0004 /* not buffered */ + +#define _IO_LBF 0x80000 /* this value is used insteat of _IOLBF within the + structure FILE as value for _flags, + because _IOLBF has the same value as _IOSTRG */ + + +wint_t _filwbuf(FILE *f); + +#if __MINGW32_MAJOR_VERSION < 3 || __MINGW32_MINOR_VERSION < 2 + int __cdecl _filbuf (FILE*); + int __cdecl _flsbuf (int, FILE*); +#endif + + +#endif /* __dj_include_libc_file_h__ */ diff --git a/reactos/include/msvcrt/internal/ieee.h b/reactos/lib/crt/include/internal/ieee.h similarity index 88% rename from reactos/include/msvcrt/internal/ieee.h rename to reactos/lib/crt/include/internal/ieee.h index e6188c23fe0..f397723feae 100644 --- a/reactos/include/msvcrt/internal/ieee.h +++ b/reactos/lib/crt/include/internal/ieee.h @@ -1,5 +1,5 @@ -#ifndef _IEEE_H -#define _IEEE_H +#ifndef __CRT_INTERNAL_IEEE_H +#define __CRT_INTERNAL_IEEE_H typedef struct { unsigned int mantissa:23; diff --git a/reactos/lib/crt/include/internal/math.h b/reactos/lib/crt/include/internal/math.h new file mode 100644 index 00000000000..1102524059a --- /dev/null +++ b/reactos/lib/crt/include/internal/math.h @@ -0,0 +1,10 @@ + +#ifndef __CRT_INTERNAL_MATH_H +#define __CRT_INTERNAL_MATH_H + + +int _isinf (double); /* not exported */ +int _isnanl (long double); /* not exported */ +int _isinfl (long double); /* not exported */ + +#endif diff --git a/reactos/lib/crt/include/internal/mbstring.h b/reactos/lib/crt/include/internal/mbstring.h new file mode 100644 index 00000000000..f5f167d639e --- /dev/null +++ b/reactos/lib/crt/include/internal/mbstring.h @@ -0,0 +1,20 @@ +#ifndef __CRT_INTERNAL_MBSTRING_H +#define __CRT_INTERNAL_MBSTRING_H + +#define _KNJ_M ((char)0x01) /* Non-punctuation of Kana-set */ +#define _KNJ_P ((char)0x02) /* Punctuation of Kana-set */ +#define _KNJ_1 ((char)0x04) /* Legal 1st byte of double byte stream */ +#define _KNJ_2 ((char)0x08) /* Legal 2nd btye of double byte stream */ + + +#define ___ 0 +#define _1_ _KNJ_1 /* Legal 1st byte of double byte code */ +#define __2 _KNJ_2 /* Legal 2nd byte of double byte code */ +#define _M_ _KNJ_M /* Non-puntuation in Kana-set */ +#define _P_ _KNJ_P /* Punctuation of Kana-set */ +#define _12 (_1_|__2) +#define _M2 (_M_|__2) +#define _P2 (_P_|__2) + + +#endif diff --git a/reactos/include/msvcrt/internal/mtdll.h b/reactos/lib/crt/include/internal/mtdll.h similarity index 96% rename from reactos/include/msvcrt/internal/mtdll.h rename to reactos/lib/crt/include/internal/mtdll.h index 420e6944b45..40dbdae96b3 100644 --- a/reactos/include/msvcrt/internal/mtdll.h +++ b/reactos/lib/crt/include/internal/mtdll.h @@ -16,8 +16,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef WINE_MTDLL_H -#define WINE_MTDLL_H +#ifndef __CRT_INTERNAL_WINE_MTDLL_H +#define __CRT_INTERNAL_WINE_MTDLL_H #if defined(_MT) diff --git a/reactos/include/msvcrt/internal/rterror.h b/reactos/lib/crt/include/internal/rterror.h similarity index 94% rename from reactos/include/msvcrt/internal/rterror.h rename to reactos/lib/crt/include/internal/rterror.h index b32bc7faae8..b76698b78c5 100644 --- a/reactos/include/msvcrt/internal/rterror.h +++ b/reactos/lib/crt/include/internal/rterror.h @@ -1,7 +1,7 @@ /* rterror.h */ -#ifndef __MSVCRT_INTERNAL_RTERROR_H -#define __MSVCRT_INTERNAL_RTERROR_H +#ifndef __CRT_INTERNAL_RTERROR_H +#define __CRT_INTERNAL_RTERROR_H #define _RT_STACK 0 /* stack overflow */ diff --git a/reactos/include/msvcrt/internal/tls.h b/reactos/lib/crt/include/internal/tls.h similarity index 91% rename from reactos/include/msvcrt/internal/tls.h rename to reactos/lib/crt/include/internal/tls.h index 5a4a33c8f82..1bb029c72ed 100644 --- a/reactos/include/msvcrt/internal/tls.h +++ b/reactos/lib/crt/include/internal/tls.h @@ -1,11 +1,11 @@ /* tls.h */ -#ifndef __MSVCRT_INTERNAL_TLS_H -#define __MSVCRT_INTERNAL_TLS_H +#ifndef __CRT_INTERNAL_TLS_H +#define __CRT_INTERNAL_TLS_H #include #include -#include +#include typedef struct _ThreadData { diff --git a/reactos/include/msvcrt/wine/cppexcept.h b/reactos/lib/crt/include/internal/wine/cppexcept.h similarity index 100% rename from reactos/include/msvcrt/wine/cppexcept.h rename to reactos/lib/crt/include/internal/wine/cppexcept.h diff --git a/reactos/include/msvcrt/wine/eh.h b/reactos/lib/crt/include/internal/wine/eh.h similarity index 100% rename from reactos/include/msvcrt/wine/eh.h rename to reactos/lib/crt/include/internal/wine/eh.h diff --git a/reactos/include/msvcrt/wine/msvcrt.h b/reactos/lib/crt/include/internal/wine/msvcrt.h similarity index 99% rename from reactos/include/msvcrt/wine/msvcrt.h rename to reactos/lib/crt/include/internal/wine/msvcrt.h index d6ae272a5d9..915dccbfabd 100644 --- a/reactos/include/msvcrt/wine/msvcrt.h +++ b/reactos/lib/crt/include/internal/wine/msvcrt.h @@ -28,7 +28,7 @@ #include "winerror.h" #include "winnls.h" -#include "msvcrt/string.h" +//#include "msvcrt/string.h" #include "eh.h" /* TLS data */ diff --git a/reactos/lib/crt/io/access.c b/reactos/lib/crt/io/access.c index 4a3698a1fec..228ef69a093 100644 --- a/reactos/lib/crt/io/access.c +++ b/reactos/lib/crt/io/access.c @@ -1,17 +1,26 @@ #include "precomp.h" -#include -#include +#include +#include +#include +#include + #define NDEBUG -#include +#include + +#ifdef _UNICODE + #define _TS S +#else + #define _TS s +#endif /* * @implemented */ -int _access( const char *_path, int _amode ) +int _taccess( const _TCHAR *_path, int _amode ) { - DWORD Attributes = GetFileAttributesA(_path); - DPRINT("_access('%s', %x)\n", _path, _amode); + DWORD Attributes = GetFileAttributes(_path); + DPRINT(MK_STR(_taccess)"('%"_TS"', %x)\n", _path, _amode); if (Attributes == -1) { _dosmaperr(GetLastError()); @@ -23,11 +32,31 @@ int _access( const char *_path, int _amode ) return -1; } } - if ((_amode & D_OK) == D_OK) { - if ((Attributes & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY) { - __set_errno(EACCES); - return -1; - } - } + return 0; } + + + +/* + * INTERNAL + */ +int access_dirT(const _TCHAR *_path) +{ + DWORD Attributes = GetFileAttributes(_path); + DPRINT(MK_STR(is_dirT)"('%"_TS"')\n", _path); + + if (Attributes == -1) { + _dosmaperr(GetLastError()); + return -1; + } + + if ((Attributes & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY) + { + __set_errno(EACCES); + return -1; + } + + return 0; +} + diff --git a/reactos/lib/crt/io/chmod.c b/reactos/lib/crt/io/chmod.c index 65f912d3ee3..aadc153f3c6 100644 --- a/reactos/lib/crt/io/chmod.c +++ b/reactos/lib/crt/io/chmod.c @@ -1,9 +1,13 @@ + #include "precomp.h" -#include -#include +#include +#include +#include +#include #define NDEBUG -#include +#include + #define mode_t int @@ -11,14 +15,14 @@ /* * @implemented */ -int _chmod(const char* filename, mode_t mode) +int _tchmod(const _TCHAR* filename, mode_t mode) { DWORD FileAttributes = 0; BOOLEAN Set = FALSE; - DPRINT("_chmod('%s', %x)\n", filename, mode); + DPRINT(#_tchmod"('%"sT"', %x)\n", filename, mode); - FileAttributes = GetFileAttributesA(filename); + FileAttributes = GetFileAttributes(filename); if ( FileAttributes == -1 ) { _dosmaperr(GetLastError()); return -1; @@ -38,7 +42,7 @@ int _chmod(const char* filename, mode_t mode) Set = TRUE; } } - if (Set && SetFileAttributesA(filename, FileAttributes) == FALSE) { + if (Set && SetFileAttributes(filename, FileAttributes) == FALSE) { _dosmaperr(GetLastError()); return -1; } diff --git a/reactos/lib/crt/io/chsize.c b/reactos/lib/crt/io/chsize.c index 678c0f5e24e..e52588b0416 100644 --- a/reactos/lib/crt/io/chsize.c +++ b/reactos/lib/crt/io/chsize.c @@ -1,8 +1,8 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ -#include +#include #define NDEBUG -#include +#include /* * @implemented @@ -10,7 +10,7 @@ int _chsize(int _fd, long size) { DPRINT("_chsize(fd %d, size %d)\n", _fd, size); - if (lseek(_fd, size, 0) == -1) + if (_lseek(_fd, size, 0) == -1) return -1; if (_write(_fd, 0, 0) < 0) return -1; diff --git a/reactos/lib/crt/io/close.c b/reactos/lib/crt/io/close.c index 9388877e866..767aafb4bf7 100644 --- a/reactos/lib/crt/io/close.c +++ b/reactos/lib/crt/io/close.c @@ -1,19 +1,22 @@ #include "precomp.h" -#include -#include +#include +#include #define NDEBUG -#include +#include /* * @implemented */ int _close(int _fd) { - DPRINT("_close(fd %d)\n", _fd); - if (_fd == -1) - return -1; - if (CloseHandle(_get_osfhandle(_fd)) == FALSE) - return -1; - return __fileno_close(_fd); + TRACE("_close(%i)", _fd); + + if (_fd == -1) + return(-1); + if (CloseHandle((HANDLE)_get_osfhandle(_fd)) == FALSE) + return(-1); + //return + free_fd(_fd); + return(0); } diff --git a/reactos/lib/crt/io/commit.c b/reactos/lib/crt/io/commit.c index 3eaa4b4e585..1444d4f50b2 100644 --- a/reactos/lib/crt/io/commit.c +++ b/reactos/lib/crt/io/commit.c @@ -1,7 +1,7 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include /* @@ -9,7 +9,7 @@ */ int _commit(int _fd) { - if (! FlushFileBuffers(_get_osfhandle(_fd)) ) { + if (! FlushFileBuffers((HANDLE)_get_osfhandle(_fd)) ) { __set_errno(EBADF); return -1; } diff --git a/reactos/lib/crt/io/create.c b/reactos/lib/crt/io/create.c index b8e0bd0c8c1..ccd93be9196 100644 --- a/reactos/lib/crt/io/create.c +++ b/reactos/lib/crt/io/create.c @@ -1,8 +1,8 @@ -#include -#include +#include +#include #define NDEBUG -#include +#include /* diff --git a/reactos/lib/crt/io/dup.c b/reactos/lib/crt/io/dup.c index bd9a55e4f6b..c1359631b8d 100644 --- a/reactos/lib/crt/io/dup.c +++ b/reactos/lib/crt/io/dup.c @@ -1,7 +1,7 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include /* @@ -14,7 +14,7 @@ int _dup(int handle) BOOL result; int fd; - hFile = _get_osfhandle(handle); + hFile = (HANDLE)_get_osfhandle(handle); if (hFile == INVALID_HANDLE_VALUE) { __set_errno(EBADF); return -1; @@ -31,7 +31,7 @@ int _dup(int handle) return -1; } - fd = __fileno_alloc(hFile, __fileno_getmode(handle)); + fd = alloc_fd(hFile, __fileno_getmode(handle)); if (fd < 0) { CloseHandle(hFile); diff --git a/reactos/lib/crt/io/dup2.c b/reactos/lib/crt/io/dup2.c index 1571b54543d..9d09e8886ef 100644 --- a/reactos/lib/crt/io/dup2.c +++ b/reactos/lib/crt/io/dup2.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/io/eof.c b/reactos/lib/crt/io/eof.c index 827df20bf71..bae829e2943 100644 --- a/reactos/lib/crt/io/eof.c +++ b/reactos/lib/crt/io/eof.c @@ -1,4 +1,5 @@ -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/io/filelen.c b/reactos/lib/crt/io/filelen.c index d54547ad93c..dbc17e4ba7c 100644 --- a/reactos/lib/crt/io/filelen.c +++ b/reactos/lib/crt/io/filelen.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include /* @@ -8,7 +8,7 @@ */ long _filelength(int _fd) { - DWORD len = GetFileSize(_get_osfhandle(_fd), NULL); + DWORD len = GetFileSize((HANDLE)_get_osfhandle(_fd), NULL); if (len == INVALID_FILE_SIZE) { DWORD oserror = GetLastError(); if (oserror != 0) { diff --git a/reactos/lib/crt/io/fileleni.c b/reactos/lib/crt/io/fileleni.c index 5012eca585b..3b68824c13f 100644 --- a/reactos/lib/crt/io/fileleni.c +++ b/reactos/lib/crt/io/fileleni.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include /* @@ -10,7 +10,7 @@ __int64 _filelengthi64(int _fd) { DWORD lo_length, hi_length; - lo_length = GetFileSize(_get_osfhandle(_fd), &hi_length); + lo_length = GetFileSize((HANDLE)_get_osfhandle(_fd), &hi_length); if (lo_length == INVALID_FILE_SIZE) { DWORD oserror = GetLastError(); if (oserror != 0) { diff --git a/reactos/lib/crt/io/find.c b/reactos/lib/crt/io/find.c index ba06105fc0b..def2eb53fe9 100644 --- a/reactos/lib/crt/io/find.c +++ b/reactos/lib/crt/io/find.c @@ -1,44 +1,39 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include +#include /* * @implemented */ -int _findclose(int handle) +#if defined(_UNICODE) || !(__MINGW32_MAJOR_VERSION < 3 || __MINGW32_MINOR_VERSION < 3) +long +#else +int +#endif +_tfindfirst(const _TCHAR* _name, struct _tfinddata_t* result) { - // check no wildcards or invalid handle - if (handle == 0 || handle == -1) - return 0; - return FindClose((void*)handle); -} - -/* - * @implemented - */ -int _findfirst(const char* _name, struct _finddata_t* result) -{ - WIN32_FIND_DATAA FindFileData; - char dir[MAX_PATH]; + WIN32_FIND_DATA FindFileData; + _TCHAR dir[MAX_PATH]; long hFindFile; int len = 0; if (_name == NULL || _name[0] == 0) { - len = GetCurrentDirectoryA(MAX_PATH-4,dir); + len = GetCurrentDirectory(MAX_PATH-4,dir); if (dir[len-1] != '\\') { dir[len] = '\\'; dir[len+1] = 0; } - strcat(dir,"*.*"); + _tcscat(dir,_T("*.*")); } else { - strcpy(dir,_name); + _tcscpy(dir,_name); } - hFindFile = (long)FindFirstFileA(dir, &FindFileData); + hFindFile = (long)FindFirstFile(dir, &FindFileData); if (hFindFile == -1) { - memset(result,0,sizeof(struct _finddata_t)); + memset(result,0,sizeof(struct _tfinddata_t)); _dosmaperr(GetLastError()); return -1; } @@ -48,12 +43,12 @@ int _findfirst(const char* _name, struct _finddata_t* result) result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); result->size = FindFileData.nFileSizeLow; - strncpy(result->name,FindFileData.cFileName,MAX_PATH); + _tcsncpy(result->name,FindFileData.cFileName,MAX_PATH); // if no wildcard the find file handle can be closed right away // a return value of 0 can flag this. - if (!strchr(dir,'*') && !strchr(dir,'?')) { + if (!_tcschr(dir,'*') && !_tcschr(dir,'?')) { _findclose(hFindFile); return 0; } @@ -64,15 +59,21 @@ int _findfirst(const char* _name, struct _finddata_t* result) /* * @implemented */ -int _findnext(int handle, struct _finddata_t* result) +int _tfindnext( +#if defined(_UNICODE) || !(__MINGW32_MAJOR_VERSION < 3 || __MINGW32_MINOR_VERSION < 3) + long handle, +#else + int handle, +#endif + struct _tfinddata_t* result) { - WIN32_FIND_DATAA FindFileData; + WIN32_FIND_DATA FindFileData; // check no wildcards or invalid handle if (handle == 0 || handle == -1) return 0; - if (!FindNextFileA((void*)handle, &FindFileData)) { + if (!FindNextFile((void*)handle, &FindFileData)) { _dosmaperr(GetLastError()); return -1; } @@ -82,8 +83,111 @@ int _findnext(int handle, struct _finddata_t* result) result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); result->size = FindFileData.nFileSizeLow; - strncpy(result->name,FindFileData.cFileName, MAX_PATH); + _tcsncpy(result->name,FindFileData.cFileName, MAX_PATH); return 0; } + +/* + * @implemented + */ +long _tfindfirsti64(const _TCHAR *_name, struct _tfinddatai64_t *result) +{ + WIN32_FIND_DATA FindFileData; + _TCHAR dir[MAX_PATH]; + long hFindFile; + int len = 0; + + if ( _name == NULL || _name[0] == 0 ) + { + len = GetCurrentDirectory(MAX_PATH-4,dir); + if (dir[len-1] != '\\') + { + dir[len] = '\\'; + dir[len+1] = 0; + } + _tcscat(dir, _T("*.*")); + } + else + _tcscpy(dir, _name); + + hFindFile = (long)FindFirstFile(dir, &FindFileData); + if (hFindFile == -1) + { + memset(result,0,sizeof(struct _tfinddatai64_t)); + _dosmaperr(GetLastError()); + return -1; + } + + result->attrib = FindFileData.dwFileAttributes; + result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); + result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); + result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); + result->size = + (((__int64)FindFileData.nFileSizeLow)<<32) + FindFileData.nFileSizeLow; + _tcsncpy(result->name,FindFileData.cFileName,MAX_PATH); + + // if no wildcard the find file handle can be closed right away + // a return value of 0 can flag this. + + if (!_tcschr(dir,'*') && !_tcschr(dir,'?')) { + _findclose(hFindFile); + return 0; + } + return hFindFile; +} + +//_CRTIMP long __cdecl _findfirsti64(const char*, struct _finddatai64_t*); +//_CRTIMP int __cdecl _findnexti64(long, struct _finddatai64_t*); + + +/* + * @implemented + */ +int _tfindnexti64(long handle, struct _tfinddatai64_t *result) +{ + WIN32_FIND_DATA FindFileData; + + // check no wildcards or invalid handle + if (handle == 0 || handle == -1) + return 0; + + if (!FindNextFile((HANDLE)handle, &FindFileData)) { + _dosmaperr(GetLastError()); + return -1; + } + + result->attrib = FindFileData.dwFileAttributes; + result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); + result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); + result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); + result->size = + (((__int64)FindFileData.nFileSizeLow)<<32) + FindFileData.nFileSizeLow; + _tcsncpy(result->name,FindFileData.cFileName,MAX_PATH); + + return 0; +} + + + +#ifndef _UNICODE + +/* + * @implemented + */ +int _findclose( +#if __MINGW32_MAJOR_VERSION < 3 || __MINGW32_MINOR_VERSION < 3 + int handle +#else + long handle +#endif + ) +{ + // check no wildcards or invalid handle + if (handle == 0 || handle == -1) + return 0; + return FindClose((void*)handle); +} + +#endif diff --git a/reactos/lib/crt/io/fmode.c b/reactos/lib/crt/io/fmode.c index 2306d60a40f..378be8025d5 100644 --- a/reactos/lib/crt/io/fmode.c +++ b/reactos/lib/crt/io/fmode.c @@ -1,14 +1,14 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include -int __fmode = O_TEXT; +int _fmode = O_TEXT; /* * @implemented */ int *__p__fmode(void) { - return &__fmode; + return &_fmode; } diff --git a/reactos/lib/crt/io/isatty.c b/reactos/lib/crt/io/isatty.c index a1d67b85289..d54ae83dfa5 100644 --- a/reactos/lib/crt/io/isatty.c +++ b/reactos/lib/crt/io/isatty.c @@ -1,15 +1,15 @@ -#include -#include +#include +#include #define NDEBUG -#include +#include /* * @implemented */ int _isatty( int fd ) { - struct stat buf; + struct _stat buf; DPRINT("_isatty(fd %d)\n", fd); if (_fstat (fd, &buf) < 0) return 0; diff --git a/reactos/lib/crt/io/locking.c b/reactos/lib/crt/io/locking.c index 6d82811ef21..9ea0f3530b1 100644 --- a/reactos/lib/crt/io/locking.c +++ b/reactos/lib/crt/io/locking.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include /* @@ -11,7 +11,7 @@ int _locking(int _fd, int mode, long nbytes) long offset = _lseek(_fd, 0L, 1); if (offset == -1L) return -1; - if (!LockFile(_get_osfhandle(_fd),offset,0,nbytes,0)) { + if (!LockFile((HANDLE)_get_osfhandle(_fd),offset,0,nbytes,0)) { _dosmaperr(GetLastError()); return -1; } diff --git a/reactos/lib/crt/io/lseek.c b/reactos/lib/crt/io/lseek.c index 2cd2599ea44..68c995fb287 100644 --- a/reactos/lib/crt/io/lseek.c +++ b/reactos/lib/crt/io/lseek.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include /* @@ -8,7 +8,7 @@ */ long _lseek(int _fildes, long _offset, int _whence) { - DWORD newpos = SetFilePointer((HANDLE)filehnd(_fildes), _offset, NULL, _whence); + DWORD newpos = SetFilePointer((HANDLE)fdinfo(_fildes)->hFile, _offset, NULL, _whence); if (newpos == INVALID_SET_FILE_POINTER) { DWORD oserror = GetLastError(); if (oserror != 0) { diff --git a/reactos/lib/crt/io/lseeki64.c b/reactos/lib/crt/io/lseeki64.c index 78bfa0507d9..c5fbb3bdaff 100644 --- a/reactos/lib/crt/io/lseeki64.c +++ b/reactos/lib/crt/io/lseeki64.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include //#define SETFILEPOINTEREX_AVAILABLE @@ -19,7 +19,7 @@ __int64 _lseeki64(int _fildes, __int64 _offset, int _whence) // __set_errno ( EBADF ); // return -1L; // } - if (SetFilePointerEx((HANDLE)filehnd(_fildes), offset, &new_pos, _whence)) { + if (SetFilePointerEx((HANDLE)fdinfo(_fildes)->hFile, offset, &new_pos, _whence)) { } else { _dosmaperr(error); return -1L; @@ -34,7 +34,7 @@ __int64 _lseeki64(int _fildes, __int64 _offset, int _whence) LARGE_INTEGER offset; offset.QuadPart = _offset; - offset.u.LowPart = SetFilePointer((HANDLE)filehnd(_fildes), + offset.u.LowPart = SetFilePointer((HANDLE)fdinfo(_fildes)->hFile, offset.u.LowPart, &offset.u.HighPart, _whence); return ((((__int64)offset.u.HighPart) << 32) + offset.u.LowPart); diff --git a/reactos/lib/crt/io/mktemp.c b/reactos/lib/crt/io/mktemp.c index b895fa0655a..1addbd6011c 100644 --- a/reactos/lib/crt/io/mktemp.c +++ b/reactos/lib/crt/io/mktemp.c @@ -13,12 +13,12 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include #define NDEBUG -#include +#include /* diff --git a/reactos/lib/crt/io/open.c b/reactos/lib/crt/io/open.c index 1921fa4ef06..83b7532c7ab 100644 --- a/reactos/lib/crt/io/open.c +++ b/reactos/lib/crt/io/open.c @@ -8,87 +8,139 @@ * UPDATE HISTORY: * 28/12/98: Created */ - +/* + * Some stuff taken from active perl: perl\win32.c (ioinfo stuff) + * + * (c) 1995 Microsoft Corporation. All rights reserved. + * Developed by hip communications inc., http://info.hip.com/info/ + * Portions (c) 1993 Intergraph Corporation. All rights reserved. + * + * You may distribute under the terms of either the GNU General Public + * License or the Artistic License, as specified in the README file. + */ +/* + * Some functions taken from/based on wine\dlls\msvcrt\file.c: + * split_oflags + * _open_osfhandle + * many more... + * + * Copyright 1996,1998 Marcus Meissner + * Copyright 1996 Jukka Iivonen + * Copyright 1997,2000 Uwe Bonnes + * Copyright 2000 Jon Griffiths + * Copyright 2004 Eric Pouech + * Copyright 2004 Juan Lang + */ + // rember to interlock the allocation of fileno when making this thread safe // possibly store extra information at the handle #include "precomp.h" + #if !defined(NDEBUG) && defined(DBG) -#include +#include #endif -#include -#include -#include -#include -#include -#include -#include -#include + +#include +#include +#include +#include +#include +#include +#include +#include #define NDEBUG -#include +#include -//#define _OLD_BUILD_ -#define STD_AUX_HANDLE 3 -#define STD_PRINTER_HANDLE 4 +FDINFO first_bucket[FDINFO_ENTRIES_PER_BUCKET]; +FDINFO* __pioinfo[FDINFO_BUCKETS] = {first_bucket}; + + +/* This critical section protects the tables MSVCRT_fdesc and MSVCRT_fstreams, + * and their related indexes, MSVCRT_fdstart, MSVCRT_fdend, + * and MSVCRT_stream_idx, from race conditions. + * It doesn't protect against race conditions manipulating the underlying files + * or flags; doing so would probably be better accomplished with per-file + * protection, rather than locking the whole table for every change. + */ +static CRITICAL_SECTION g_file_cs; +#define LOCK_FILES() do { EnterCriticalSection(&g_file_cs); } while (0) +#define UNLOCK_FILES() do { LeaveCriticalSection(&g_file_cs); } while (0) ///////////////////////////////////////// -#if 0 // from perl sources -#ifndef _INTPTR_T_DEFINED -typedef int intptr_t; -#define _INTPTR_T_DEFINED -#endif - -#ifndef _UINTPTR_T_DEFINED -typedef unsigned int uintptr_t; -#define _UINTPTR_T_DEFINED -#endif +static int g_fdstart = 3; /* first unallocated fd */ +static int g_fdend = 3; /* highest allocated fd */ /* - * Control structure for lowio file handles + * INTERNAL */ -typedef struct { - intptr_t osfhnd;/* underlying OS file HANDLE */ - char osfile; /* attributes of file (e.g., open in text mode?) */ - char pipech; /* one char buffer for handles opened on pipes */ - int lockinitflag; - //CRITICAL_SECTION lock; -} ioinfo; - -/* - * Array of arrays of control structures for lowio files. - */ -//ioinfo* __pioinfo[]; -//ioinfo* __pioinfo[] = { NULL }; - -#endif -///////////////////////////////////////// - -typedef struct _fileno_modes_type + /* +static inline FD_INFO* fdinfo(int fd) { - HANDLE hFile; - int mode; - char pipech; /* one char buffer for handles opened on pipes */ - int lockinitflag; - /*CRITICAL_SECTION*/int lock; - int fd; -} fileno_modes_type; + FD_INFO* bucket = __pioinfo[fd >> FDINFO_ENTRIES_PER_BUCKET_SHIFT]; + if (!bucket){ + bucket = alloc_init_bucket(fd); + } + return bucket + (fd & (FDINFO_ENTRIES_PER_BUCKET - 1)); +} +*/ -//static fileno_modes_type* fileno_modes = NULL; -fileno_modes_type* __pioinfo = NULL; -///////////////////////////////////////// -int maxfno = 0; +/* + * INTERNAL + */ +inline BOOL is_valid_fd(int fd) +{ + BOOL b = (fd >= 0 && fd < g_fdend && (fdinfo(fd)->fdflags & FOPEN)); + + if (!b){ + DPRINT1("not valid fd %i, g_fdend %i, fdinfo %x, bucket %x, fdflags %x\n", + fd,g_fdend,fdinfo(fd),fdinfo_bucket(fd),fdinfo(fd)->fdflags); + + } + + return b; +} +/* + * INTERNAL + */ +char split_oflags(int oflags) +{ + char fdflags = 0; + + if (oflags & _O_APPEND) fdflags |= FAPPEND; + + if (oflags & _O_BINARY) ; + else if (oflags & _O_TEXT) fdflags |= FTEXT; + else if (_fmode& _O_BINARY) ; + else fdflags |= FTEXT; /* default to TEXT*/ + + if (oflags & _O_NOINHERIT) fdflags |= FNOINHERIT; + + if (oflags & ~(_O_BINARY|_O_TEXT|_O_APPEND|_O_TRUNC| + _O_EXCL|_O_CREAT|_O_RDWR|_O_WRONLY| + _O_TEMPORARY|_O_NOINHERIT)) + DPRINT1(":unsupported oflags 0x%04x\n",oflags); + + return fdflags; +} + + + +/* + * INTERNAL + */ char __is_text_file(FILE* p) { - if ( p == NULL || __pioinfo == NULL ) + if ( p == NULL || fdinfo_bucket((p)->_file) == NULL ) return FALSE; - return (!((p)->_flag&_IOSTRG) && (__pioinfo[(p)->_file].mode&O_TEXT)); + return (!((p)->_flag&_IOSTRG) && (fdinfo((p)->_file)->fdflags & FTEXT)); } /* @@ -112,7 +164,9 @@ int _open(const char* _path, int _oflag,...) pmode = va_arg(arg, int); #endif -// DPRINT("_open('%s', %x, (%x))\n", _path, _oflag, pmode); + + TRACE("_open('%s', %x, (%x))\n", _path, _oflag); + if ((_oflag & S_IREAD ) == S_IREAD) dwShareMode = FILE_SHARE_READ; @@ -188,155 +242,304 @@ int _open(const char* _path, int _oflag,...) NULL); if (hFile == (HANDLE)-1) { _dosmaperr(GetLastError()); - return -1; + return( -1); } DPRINT("OK\n"); if (!(_oflag & (_O_TEXT|_O_BINARY))) { - _oflag |= __fmode; + _oflag |= _fmode; } - return __fileno_alloc(hFile,_oflag); + return(alloc_fd(hFile, split_oflags(_oflag))); } -int __fileno_alloc(HANDLE hFile, int mode) + +/* + * INTERNAL + */ +static void init_bucket(FDINFO* entry) { - int i; - /* Check for bogus values */ - if (hFile < 0) - return -1; - - for (i = 5; i < maxfno; i++) { - if (__pioinfo[i].fd == -1 ) { - __pioinfo[i].fd = i; - __pioinfo[i].mode = mode; - __pioinfo[i].hFile = hFile; - return i; - } - } - - /* See if we need to expand the tables. Check this BEFORE it might fail, - so that when we hit the count'th request, we've already up'd it. */ - if (i == maxfno) { - int oldcount = maxfno; - fileno_modes_type* old_fileno_modes = __pioinfo; - maxfno += 255; - __pioinfo = (fileno_modes_type*)malloc(maxfno * sizeof(fileno_modes_type)); - if (old_fileno_modes != NULL) { - memcpy(__pioinfo, old_fileno_modes, oldcount * sizeof(fileno_modes_type)); - free(old_fileno_modes); - } - memset(__pioinfo + oldcount, -1, (maxfno-oldcount)*sizeof(fileno_modes_type)); - } - - /* Fill in the value */ - __pioinfo[i].fd = i; - __pioinfo[i].mode = mode; - __pioinfo[i].hFile = hFile; - return i; + int i; + + for(i=0; + i < FDINFO_ENTRIES_PER_BUCKET; + i++, entry++) + { + entry->hFile = INVALID_HANDLE_VALUE; + entry->fdflags = 0; + entry->pipechar = LF; + entry->lockinitflag = 0; + } } -void* filehnd(int fileno) +/* + * INTERNAL + */ +static BOOL alloc_init_bucket(int fd) { - if (fileno < 0 || fileno >= maxfno || __pioinfo[fileno].fd == -1) { - return (void*)-1; - } - return __pioinfo[fileno].hFile; + fdinfo_bucket(fd) = malloc(FDINFO_ENTRIES_PER_BUCKET * sizeof(FDINFO)); + if (!fdinfo_bucket(fd)) return FALSE; + + init_bucket(fdinfo_bucket(fd)); + + return TRUE; } -int __fileno_setmode(int _fd, int _newmode) + + + +/* + * INTERNAL + * Allocate an fd slot from a Win32 HANDLE, starting from fd + * caller must hold the files lock + */ +static int alloc_fd_from(HANDLE hand, char flag, int fd) { - int m; - if (_fd < 0 || _fd >= maxfno) { + + if (fd >= FDINFO_ENTRIES) + { + DPRINT1("files exhausted!\n"); + return -1; + } + + if (!fdinfo_bucket(fd)) + { + if (!alloc_init_bucket(fd)){ + //errno = ENOMEM + return -1; + } + } + + fdinfo(fd)->hFile = hand; + fdinfo(fd)->fdflags = FOPEN | (flag & (FNOINHERIT | FAPPEND | FTEXT)); + fdinfo(fd)->pipechar = LF; + fdinfo(fd)->lockinitflag = 0; + //fdinfo(fd)->lock + + /* locate next free slot */ + if (fd == g_fdstart && fd == g_fdend) + { + g_fdstart = g_fdend + 1; + } + else + { +#if 0 /* alternate (untested) impl. maybe a tiny bit faster? -Gunnar */ + int i, bidx; + + for (bidx = fdinfo_bucket_idx(g_fdstart); bidx < FDINFO_BUCKETS && __pioinfo[bidx]; bidx++) + { + for (i = fdinfo_bucket_entry_idx(g_fdstart); + g_fdstart < g_fdend && fdinfo(g_fdstart)->fdflags & FOPEN && i < FDINFO_BUCKET_ENTRIES; + i++) + { + g_fdstart++; + } + } +#else + + while (g_fdstart < g_fdend && + fdinfo_bucket(g_fdstart) && + (fdinfo(g_fdstart)->fdflags & FOPEN)) + { + g_fdstart++; + } +#endif + } + + /* update last fd in use */ + if (fd >= g_fdend) + g_fdend = fd + 1; + + /* alloc more fdinfo buckets by demand. + * FIXME: should we dealloc buckets when they become unused also? */ + if (!fdinfo_bucket(g_fdstart) && g_fdstart < FDINFO_ENTRIES) + { + alloc_init_bucket(g_fdstart); + } + + DPRINT("fdstart is %d, fdend is %d\n", g_fdstart, g_fdend); + + switch (fd) + { + case 0: SetStdHandle(STD_INPUT_HANDLE, hand); break; + case 1: SetStdHandle(STD_OUTPUT_HANDLE, hand); break; + case 2: SetStdHandle(STD_ERROR_HANDLE, hand); break; + } + + return fd; +} + + +/* + * INTERNAL: Allocate an fd slot from a Win32 HANDLE + */ +int alloc_fd(HANDLE hand, char flag) +{ + int ret; + + LOCK_FILES(); + +// TRACE(":handle (%p) allocating fd (%d)\n",hand,MSVCRT_fdstart); + ret = alloc_fd_from(hand, flag, g_fdstart); + + UNLOCK_FILES(); + return ret; +} + + + +/* + * INTERNAL + */ +char __fileno_getmode(int fd) +{ + if (!is_valid_fd(fd)) { __set_errno(EBADF); return -1; } - m = __pioinfo[_fd].mode; - __pioinfo[_fd].mode = _newmode; - return m; -} - -int __fileno_getmode(int _fd) -{ - if (_fd < 0 || _fd >= maxfno) { - __set_errno(EBADF); - return -1; - } - return __pioinfo[_fd].mode; + return fdinfo(fd)->fdflags; } -int __fileno_close(int _fd) +/* + * INTERNAL + */ +void free_fd(int fd) { - if (_fd < 0 || _fd >= maxfno) { - __set_errno(EBADF); - return -1; - } - __pioinfo[_fd].fd = -1; - __pioinfo[_fd].hFile = (HANDLE)-1; - return 0; + LOCK_FILES(); + + + fdinfo(fd)->hFile = INVALID_HANDLE_VALUE; + fdinfo(fd)->fdflags = 0; + + if (fd < 3) /* don't use 0,1,2 for user files */ + { + switch (fd) + { + case 0: SetStdHandle(STD_INPUT_HANDLE, NULL); break; + case 1: SetStdHandle(STD_OUTPUT_HANDLE, NULL); break; + case 2: SetStdHandle(STD_ERROR_HANDLE, NULL); break; + } + } + else + { + if (fd == g_fdend - 1) + g_fdend--; + + if (fd < g_fdstart) + g_fdstart = fd; + } + + + UNLOCK_FILES(); } /* * @implemented */ -int _open_osfhandle(void* osfhandle, int flags) +int _open_osfhandle(long osfhandle, int oflags) { - return __fileno_alloc((HANDLE)osfhandle, flags); + /* + PREV: + The _open_osfhandle() function in MSVCRT is expected to take the absence + of either _O_TEXT or _O_BINARY to mean _O_BINARY. Currently it defaults to + _O_TEXT. + + An example of this is MFC's CStdioFile::Open in binary mode - it passes flags + of 0 when it wants to write a binary file - under WINE we do text mode conversions! + + The attached patch ensures that _O_BINARY is set if neither is set in the passed-in +flags. + + + * file, so set the write flag. It also only sets _O_TEXT if it wants + * text - it never sets _O_BINARY. + */ + /* FIXME: handle more flags */ +/* + flags |= MSVCRT__IOREAD|MSVCRT__IOWRT; + if ( !( flags & _O_TEXT ) ) flags |= _O_BINARY; + + fd = msvcrt_alloc_fd((HANDLE)hand,flags); + TRACE(":handle (%ld) fd (%d) flags 0x%08x\n",hand,fd, flags); +*/ + /* MSVCRT__O_RDONLY (0) always matches, so set the read flag + * MFC's CStdioFile clears O_RDONLY (0)! if it wants to write to the + * file, so set the write flag. It also only sets MSVCRT__O_TEXT if it wants + * text - it never sets MSVCRT__O_BINARY. + */ + /* FIXME: handle more flags */ + /* + LAG TEST SOM TESTER UT ALT DETTE flag tingern + */ + if (!(oflags & (_O_BINARY | _O_TEXT)) && (_fmode & _O_BINARY)) + oflags |= _O_BINARY; + else + oflags |= _O_TEXT; + + return alloc_fd((HANDLE)osfhandle, split_oflags(oflags)); } /* * @implemented */ -void* _get_osfhandle( int fileno ) +long _get_osfhandle(int fd) { - return filehnd(fileno); + TRACE("_get_osfhandle(%i)",fd); + + if (!is_valid_fd(fd)) { + return( -1 ); + } + return( (long)fdinfo(fd)->hFile ); } + + +/* + * INTERNAL + */ int __fileno_dup2(int handle1, int handle2) { HANDLE hProcess; BOOL result; - if (handle1 >= maxfno || handle1 < 0 || handle2 >= maxfno || handle2 < 0) { + + if (handle1 >= FDINFO_ENTRIES || handle1 < 0 || handle2 >= FDINFO_ENTRIES || handle2 < 0) { __set_errno(EBADF); return -1; } - if (__pioinfo[handle1].fd == -1) { +// if (_pioinfo[handle1]->fd == -1) { + if (fdinfo(handle1)->hFile == INVALID_HANDLE_VALUE) { __set_errno(EBADF); return -1; } if (handle1 == handle2) return handle1; - if (__pioinfo[handle2].fd != -1) { +// if (_pioinfo[handle2]->fd != -1) { + if (fdinfo(handle2)->hFile != INVALID_HANDLE_VALUE) { _close(handle2); } hProcess = GetCurrentProcess(); result = DuplicateHandle(hProcess, - __pioinfo[handle1].hFile, + fdinfo(handle1)->hFile, hProcess, - &__pioinfo[handle2].hFile, + &fdinfo(handle2)->hFile, 0, TRUE, DUPLICATE_SAME_ACCESS); if (result) { - __pioinfo[handle2].fd = handle2; - __pioinfo[handle2].mode = __pioinfo[handle1].mode; +// _pioinfo[handle2]->fd = handle2; + fdinfo(handle2)->fdflags = fdinfo(handle1)->fdflags; switch (handle2) { case 0: - SetStdHandle(STD_INPUT_HANDLE, __pioinfo[handle2].hFile); + SetStdHandle(STD_INPUT_HANDLE, fdinfo(handle2)->hFile); break; case 1: - SetStdHandle(STD_OUTPUT_HANDLE, __pioinfo[handle2].hFile); + SetStdHandle(STD_OUTPUT_HANDLE, fdinfo(handle2)->hFile); break; case 2: - SetStdHandle(STD_ERROR_HANDLE, __pioinfo[handle2].hFile); - break; - case 3: - SetStdHandle(STD_AUX_HANDLE, __pioinfo[handle2].hFile); - break; - case 4: - SetStdHandle(STD_AUX_HANDLE, __pioinfo[handle2].hFile); + SetStdHandle(STD_ERROR_HANDLE, fdinfo(handle2)->hFile); break; } + return handle1; } else { __set_errno(EMFILE); // Is this the correct error no.? @@ -347,77 +550,172 @@ int __fileno_dup2(int handle1, int handle2) void* malloc(size_t sizeObject); + + +/* + * INTERNAL + */ BOOL __fileno_init(void) { - ULONG count = 0, i; - HANDLE* pFile; - char* pmode; - STARTUPINFOA StInfo; + STARTUPINFOA si; + int i; - GetStartupInfoA(&StInfo); - if (StInfo.lpReserved2 && StInfo.cbReserved2 >= sizeof(ULONG)) { - count = *(ULONG*)StInfo.lpReserved2; -/* - if (sizeof(ULONG) + count * (sizeof(HANDLE) + sizeof(char)) != StInfo.cbReserved2) - { - count = 0; - } -*/ - } - maxfno = 255; - while(count >= maxfno) - maxfno += 255; + init_bucket(first_bucket); + GetStartupInfoA(&si); + + if (si.cbReserved2 != 0 && si.lpReserved2 != NULL) { -#ifdef _OLD_BUILD_ - // why was this here ???? - robd. - int result; - result = malloc(50); -#endif - } - //__pioinfo = (fileno_modes_type*)malloc(sizeof(fileno_modes_type) * maxfno); - __pioinfo = malloc(sizeof(fileno_modes_type) * maxfno); - if (__pioinfo == NULL) { - return FALSE; - } - memset(__pioinfo, -1, sizeof(fileno_modes_type) * maxfno); - if (count) { - pFile = (HANDLE*)(StInfo.lpReserved2 + sizeof(ULONG) + count * sizeof(char)); - pmode = (char*)(StInfo.lpReserved2 + sizeof(ULONG)); - for (i = 0; i < count; i++) { - if (*pFile != INVALID_HANDLE_VALUE) { - __pioinfo[i].fd = i; - __pioinfo[i].mode = ((*pmode << 8) & (_O_TEXT|_O_BINARY)) | (*pmode & _O_ACCMODE); - __pioinfo[i].hFile = *pFile; - } - pFile++; - pmode++; + char* fdflags_ptr; + HANDLE* handle_ptr; + + g_fdend = *(unsigned*)si.lpReserved2; + + fdflags_ptr= (char*)(si.lpReserved2 + sizeof(unsigned)); + handle_ptr = (HANDLE*)(fdflags_ptr + g_fdend * sizeof(char)); + + g_fdend = min(g_fdend, FDINFO_ENTRIES); + for (i = 0; i < g_fdend; i++) + { + if (!fdinfo_bucket(i)) + { + if (!alloc_init_bucket(i)){ + /* FIXME: free other buckets? */ + return FALSE; + } } + + if ((*fdflags_ptr & FOPEN) && *handle_ptr != INVALID_HANDLE_VALUE) + { + fdinfo(i)->fdflags = *fdflags_ptr; + fdinfo(i)->hFile = *handle_ptr; + } +/* + else + { + fdinfo(i)->fdflags = 0; + fdinfo(i)->hFile = INVALID_HANDLE_VALUE; + } +*/ + fdflags_ptr++; handle_ptr++; + } + for (g_fdstart = 3; g_fdstart < g_fdend; g_fdstart++) + if (fdinfo(g_fdstart)->hFile == INVALID_HANDLE_VALUE) break; } - if (__pioinfo[0].fd == -1) { - __pioinfo[0].fd = 0; - __pioinfo[0].hFile = GetStdHandle(STD_INPUT_HANDLE); - __pioinfo[0].mode = _O_RDONLY|_O_TEXT; + + InitializeCriticalSection(&g_file_cs); + + + if (fdinfo(0)->hFile == INVALID_HANDLE_VALUE || !(fdinfo(0)->fdflags & FOPEN)) { + fdinfo(0)->hFile = GetStdHandle(STD_INPUT_HANDLE); + fdinfo(0)->fdflags = FOPEN|FTEXT; } - if (__pioinfo[1].fd == -1) { - __pioinfo[1].fd = 1; - __pioinfo[1].hFile = GetStdHandle(STD_OUTPUT_HANDLE); - __pioinfo[1].mode = _O_WRONLY|_O_TEXT; + if (fdinfo(1)->hFile == INVALID_HANDLE_VALUE || !(fdinfo(1)->fdflags & FOPEN)) { + fdinfo(1)->hFile = GetStdHandle(STD_OUTPUT_HANDLE); + fdinfo(1)->fdflags = FOPEN|FTEXT; } - if (__pioinfo[2].fd == -1) { - __pioinfo[2].fd = 2; - __pioinfo[2].hFile = GetStdHandle(STD_ERROR_HANDLE); - __pioinfo[2].mode = _O_WRONLY|_O_TEXT; + if (fdinfo(2)->hFile == INVALID_HANDLE_VALUE || !(fdinfo(2)->fdflags & FOPEN)) { + fdinfo(2)->hFile = GetStdHandle(STD_ERROR_HANDLE); + fdinfo(2)->fdflags = FOPEN|FTEXT; } - if (__pioinfo[3].fd == -1) { - __pioinfo[3].fd = 3; - __pioinfo[3].hFile = GetStdHandle(STD_AUX_HANDLE); - __pioinfo[3].mode = _O_WRONLY|_O_TEXT; - } - if (__pioinfo[4].fd == -1) { - __pioinfo[4].fd = 4; - __pioinfo[4].hFile = GetStdHandle(STD_PRINTER_HANDLE); - __pioinfo[4].mode = _O_WRONLY|_O_TEXT; + + + + + for (i = 0; i < 3; i++) + { + /* FILE structs for stdin/out/err are static and never deleted */ +// MSVCRT_fstreams[i] = &MSVCRT__iob[i]; } +// MSVCRT_stream_idx = 3; + return TRUE; } + + + +/* INTERNAL: Create an inheritance data block (for spawned process) + * The inheritance block is made of: + * 00 int nb of file descriptor (NBFD) + * 04 char file flags (wxflag): repeated for each fd + * 4+NBFD HANDLE file handle: repeated for each fd + */ +unsigned create_io_inherit_block(STARTUPINFOA* si) +{ + int fd; + char* fdflags_ptr; + HANDLE* handle_ptr; + + TRACE("create_io_inherit_block(%x)",si); + + si->cbReserved2 = sizeof(unsigned) + (sizeof(char) + sizeof(HANDLE)) * g_fdend; + si->lpReserved2 = calloc(si->cbReserved2, 1); + if (!si->lpReserved2) + { + si->cbReserved2 = 0; + return( FALSE ); + } + fdflags_ptr = (char*)si->lpReserved2 + sizeof(unsigned); + handle_ptr = (HANDLE*)(fdflags_ptr + g_fdend * sizeof(char)); + + *(unsigned*)si->lpReserved2 = g_fdend; + for (fd = 0; fd < g_fdend; fd++) + { + /* to be inherited, we need it to be open, and that DONTINHERIT isn't set */ + if ((fdinfo(fd)->fdflags & (FOPEN | FNOINHERIT)) == FOPEN) + { + *fdflags_ptr = fdinfo(fd)->fdflags; + *handle_ptr = fdinfo(fd)->hFile; + } + else + { + *fdflags_ptr = 0; + *handle_ptr = INVALID_HANDLE_VALUE; + } + fdflags_ptr++; handle_ptr++; + } + return( TRUE ); +} + + + + +/* + * @implemented + */ +int _setmode(int fd, int newmode) +{ + int prevmode; + + TRACE("_setmode(%d, %d)", fd, newmode); + + if (!is_valid_fd(fd)) + { + DPRINT1("_setmode: inval fd (%d)\n",fd); + //errno = EBADF; + return(-1); + } + + if (newmode & ~(_O_TEXT|_O_BINARY)) + { + DPRINT1("_setmode: fd (%d) mode (0x%08x) unknown\n",fd,newmode); + /* FIXME: Should we fail with EINVAL here? */ + } + + prevmode = fdinfo(fd)->fdflags & FTEXT ? _O_TEXT : _O_BINARY; + + if ((newmode & _O_TEXT) == _O_TEXT) + { + fdinfo(fd)->fdflags |= FTEXT; + } + else + { + /* FIXME: If both _O_TEXT and _O_BINARY are set, we get here. + * Should we fail with EINVAL instead? -Gunnar + */ + fdinfo(fd)->fdflags &= ~FTEXT; + } + + return(prevmode); +} + diff --git a/reactos/lib/crt/io/pipe.c b/reactos/lib/crt/io/pipe.c index d0fdb0247a7..2fe88e95a29 100644 --- a/reactos/lib/crt/io/pipe.c +++ b/reactos/lib/crt/io/pipe.c @@ -10,9 +10,12 @@ */ #include "precomp.h" -#include -#include -#include +#include +#include +#include + +#define NDEBUG +#include /* @@ -23,29 +26,31 @@ int _pipe(int _fildes[2], unsigned int size, int mode ) HANDLE hReadPipe, hWritePipe; SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE}; + TRACE("_pipe((%i,%i), %ui, %i)", _fildes[0], _fildes[1], size, mode); + if (mode & O_NOINHERIT) sa.bInheritHandle = FALSE; if (!CreatePipe(&hReadPipe,&hWritePipe,&sa,size)) { _dosmaperr(GetLastError()); - return -1; + return( -1); } - if ((_fildes[0] = __fileno_alloc(hReadPipe, mode)) < 0) + if ((_fildes[0] = alloc_fd(hReadPipe, split_oflags(mode))) < 0) { CloseHandle(hReadPipe); CloseHandle(hWritePipe); __set_errno(EMFILE); - return -1; + return(-1); } - if ((_fildes[1] = __fileno_alloc(hWritePipe, mode)) < 0) + if ((_fildes[1] = alloc_fd(hWritePipe, split_oflags(mode))) < 0) { - __fileno_close(_fildes[0]); + free_fd(_fildes[0]); CloseHandle(hReadPipe); CloseHandle(hWritePipe); __set_errno(EMFILE); - return -1; + return(-1); } - return 0; + return(0); } diff --git a/reactos/lib/crt/io/read.c b/reactos/lib/crt/io/read.c index 6e9229df1e8..65c87bb308a 100644 --- a/reactos/lib/crt/io/read.c +++ b/reactos/lib/crt/io/read.c @@ -13,16 +13,16 @@ */ #include -#include -#include +#include +#include #define NDEBUG -#include +#include /* * @implemented */ -size_t _read(int _fd, void *_buf, size_t _nbyte) +int _read(int _fd, void *_buf, unsigned int _nbyte) { DWORD _rbyte = 0, nbyte = _nbyte; char *bufp = (char*)_buf; @@ -35,7 +35,7 @@ size_t _read(int _fd, void *_buf, size_t _nbyte) if(_nbyte == 0) return 0; - hfile = _get_osfhandle(_fd); + hfile = (HANDLE)_get_osfhandle(_fd); istext = __fileno_getmode(_fd) & O_TEXT; /* read data */ diff --git a/reactos/lib/crt/io/setmode.c b/reactos/lib/crt/io/setmode.c index a64c9394fc7..31e529499b8 100644 --- a/reactos/lib/crt/io/setmode.c +++ b/reactos/lib/crt/io/setmode.c @@ -9,19 +9,11 @@ * 28/12/98: Created */ -#include -#include -#include +#include +#include +#include #define NDEBUG -#include +#include -/* - * @implemented - */ -int _setmode(int _fd, int _newmode) -{ - DPRINT("_setmod(fd %d, newmode %x)\n", _fd, _newmode); - return __fileno_setmode(_fd, _newmode); -} diff --git a/reactos/lib/crt/io/sopen.c b/reactos/lib/crt/io/sopen.c index a28f374c256..d454f08a165 100644 --- a/reactos/lib/crt/io/sopen.c +++ b/reactos/lib/crt/io/sopen.c @@ -1,10 +1,11 @@ -#include +#include /* * @implemented */ -int _sopen(char *path, int access, int shflag, int mode) +int _sopen(const char *path, int access, int shflag, ... /*mode, permissin*/) { - return _open((path), (access)|(shflag), (mode)); + //FIXME: vararg + return _open((path), (access)|(shflag));//, (mode)); } diff --git a/reactos/lib/crt/io/tell.c b/reactos/lib/crt/io/tell.c index b21c29b4fb9..e12150c487b 100644 --- a/reactos/lib/crt/io/tell.c +++ b/reactos/lib/crt/io/tell.c @@ -1,6 +1,7 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/io/telli64.c b/reactos/lib/crt/io/telli64.c index 9f584d8931d..1982ed167af 100644 --- a/reactos/lib/crt/io/telli64.c +++ b/reactos/lib/crt/io/telli64.c @@ -1,5 +1,6 @@ -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/io/umask.c b/reactos/lib/crt/io/umask.c index 58bc2f12db8..28a498ff1eb 100644 --- a/reactos/lib/crt/io/umask.c +++ b/reactos/lib/crt/io/umask.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include unsigned _unMode_dll = 022; diff --git a/reactos/lib/crt/io/unlink.c b/reactos/lib/crt/io/unlink.c index 48e777f233a..aa3b86bfe0a 100644 --- a/reactos/lib/crt/io/unlink.c +++ b/reactos/lib/crt/io/unlink.c @@ -9,10 +9,11 @@ */ #include "precomp.h" -#include +#include +#include #define NDEBUG -#include +#include /* diff --git a/reactos/lib/crt/io/utime.c b/reactos/lib/crt/io/utime.c index 326e1fdae1e..e43aef42b94 100644 --- a/reactos/lib/crt/io/utime.c +++ b/reactos/lib/crt/io/utime.c @@ -1,8 +1,8 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/io/waccess.c b/reactos/lib/crt/io/waccess.c index eb673ba14db..0ad50babfe8 100644 --- a/reactos/lib/crt/io/waccess.c +++ b/reactos/lib/crt/io/waccess.c @@ -1,32 +1,4 @@ -#include "precomp.h" -#include -#include -#define NDEBUG -#include +#define UNICODE +#define _UNICODE - -/* - * @implemented - */ -int _waccess(const wchar_t *_path, int _amode) -{ - DWORD Attributes = GetFileAttributesW(_path); - - if (Attributes == -1) { - _dosmaperr(GetLastError()); - return -1; - } - if ((_amode & W_OK) == W_OK) { - if ((Attributes & FILE_ATTRIBUTE_READONLY) == FILE_ATTRIBUTE_READONLY) { - __set_errno(EACCES); - return -1; - } - } - if ((_amode & D_OK) == D_OK) { - if ((Attributes & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY) { - __set_errno(EACCES); - return -1; - } - } - return 0; -} +#include "access.c" diff --git a/reactos/lib/crt/io/wchmod.c b/reactos/lib/crt/io/wchmod.c index a4df3ed67c0..1a81c9e2a41 100644 --- a/reactos/lib/crt/io/wchmod.c +++ b/reactos/lib/crt/io/wchmod.c @@ -1,47 +1,4 @@ -#include "precomp.h" -#include +#define _UNICODE +#define UNICODE -#define NDEBUG -#include - -#define mode_t int - - -/* - * @implemented - */ -int _wchmod(const wchar_t* filename, mode_t mode) -{ - DWORD FileAttributes = 0; - BOOLEAN Set = FALSE; - - DPRINT("_wchmod('%S', %x)\n", filename, mode); - - FileAttributes = GetFileAttributesW(filename); - if ( FileAttributes == -1 ) { - _dosmaperr(GetLastError()); - return -1; - } - - if ( mode == 0 ) - return -1; - - if (mode & _S_IWRITE) { - if (FileAttributes & FILE_ATTRIBUTE_READONLY) { - FileAttributes &= ~FILE_ATTRIBUTE_READONLY; - Set = TRUE; - } - } else { - if (!(FileAttributes & FILE_ATTRIBUTE_READONLY)) { - FileAttributes |= FILE_ATTRIBUTE_READONLY; - Set = TRUE; - } - } - - if (Set && SetFileAttributesW(filename, FileAttributes) == FALSE) { - _dosmaperr(GetLastError()); - return -1; - } - - return 0; -} +#include "chmod.c" diff --git a/reactos/lib/crt/io/wcreate.c b/reactos/lib/crt/io/wcreate.c index b61d88f9e36..e8d353b769b 100644 --- a/reactos/lib/crt/io/wcreate.c +++ b/reactos/lib/crt/io/wcreate.c @@ -1,8 +1,8 @@ -#include -#include +#include +#include #define NDEBUG -#include +#include /* diff --git a/reactos/lib/crt/io/wfind.c b/reactos/lib/crt/io/wfind.c index 4ade252ae3f..76c568f6c0e 100644 --- a/reactos/lib/crt/io/wfind.c +++ b/reactos/lib/crt/io/wfind.c @@ -1,226 +1,5 @@ -#include "precomp.h" -#include -#include -#include +#define UNICODE +#define _UNICODE -/* - * @implemented - */ -int _wfindfirst(const wchar_t* _name, struct _wfinddata_t* result) -{ - WIN32_FIND_DATAW FindFileData; - wchar_t dir[MAX_PATH]; - long hFindFile; - int len = 0; - - if ( _name == NULL || _name[0] == 0 ) { - len = GetCurrentDirectoryW(MAX_PATH-4, dir); - if (dir[len-1] != L'\\') { - dir[len] = L'\\'; - dir[len+1] = 0; - } - wcscat(dir, L"*.*"); - } else { - wcscpy(dir, _name); - } - - hFindFile = (long)FindFirstFileW(dir, &FindFileData); - if (hFindFile == -1) { - memset(result,0,sizeof(struct _wfinddata_t)); - _dosmaperr(GetLastError()); - return -1; - } - - result->attrib = FindFileData.dwFileAttributes; - result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); - result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); - result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); - result->size = FindFileData.nFileSizeLow; - wcsncpy(result->name,FindFileData.cFileName,MAX_PATH); - - // if no wildcard the find file handle can be closed right away - // a return value of 0 can flag this. - if (!wcschr(dir, L'*') && !wcschr(dir, L'?')) { - _findclose(hFindFile); - return 0; - } - - return hFindFile; -} - -/* - * @implemented - */ -int _findfirsti64(const char *_name, struct _finddatai64_t *result) -{ - WIN32_FIND_DATAA FindFileData; - char dir[MAX_PATH]; - long hFindFile; - int len = 0; - - if ( _name == NULL || _name[0] == 0 ) - { - len = GetCurrentDirectoryA(MAX_PATH-4,dir); - if (dir[len-1] != '\\') - { - dir[len] = '\\'; - dir[len+1] = 0; - } - strcat(dir, "*.*"); - } - else - strcpy(dir, _name); - - hFindFile = (long)FindFirstFileA(dir, &FindFileData); - if (hFindFile == -1) - { - memset(result,0,sizeof(struct _finddatai64_t)); - _dosmaperr(GetLastError()); - return -1; - } - - result->attrib = FindFileData.dwFileAttributes; - result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); - result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); - result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); - result->size = - (((__int64)FindFileData.nFileSizeLow)<<32) + FindFileData.nFileSizeLow; - strncpy(result->name,FindFileData.cFileName,MAX_PATH); - - // if no wildcard the find file handle can be closed right away - // a return value of 0 can flag this. - - if (!strchr(dir,'*') && !strchr(dir,'?')) { - _findclose(hFindFile); - return 0; - } - return hFindFile; -} - -/* - * @implemented - */ -int _findnexti64(int handle, struct _finddatai64_t *result) -{ - WIN32_FIND_DATAA FindFileData; - - // check no wildcards or invalid handle - if (handle == 0 || handle == -1) - return 0; - - if (!FindNextFileA((void *)handle, &FindFileData)) { - _dosmaperr(GetLastError()); - return -1; - } - - result->attrib = FindFileData.dwFileAttributes; - result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); - result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); - result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); - result->size = - (((__int64)FindFileData.nFileSizeLow)<<32) + FindFileData.nFileSizeLow; - strncpy(result->name,FindFileData.cFileName,MAX_PATH); - - return 0; -} - -/* - * @implemented - */ -int _wfindfirsti64(const wchar_t *_name, struct _wfinddatai64_t *result) -{ - WIN32_FIND_DATAW FindFileData; - wchar_t dir[MAX_PATH]; - long hFindFile; - int len = 0; - - if (_name == NULL || _name[0] == 0) - { - len = GetCurrentDirectoryW(MAX_PATH-4,dir); - if (dir[len-1] != L'\\') - { - dir[len] = L'\\'; - dir[len+1] = 0; - } - wcscat(dir, L"*.*"); - } - else - wcscpy(dir, _name); - - hFindFile = (long)FindFirstFileW(dir, &FindFileData); - if (hFindFile == -1) - { - memset(result,0,sizeof(struct _wfinddatai64_t)); - _dosmaperr(GetLastError()); - return -1; - } - - result->attrib = FindFileData.dwFileAttributes; - result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); - result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); - result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); - result->size = - (((__int64)FindFileData.nFileSizeLow)<<32) + FindFileData.nFileSizeLow; - wcsncpy(result->name,FindFileData.cFileName,MAX_PATH); - - // if no wildcard the find file handle can be closed right away - // a return value of 0 can flag this. - - if (!wcschr(dir,L'*') && !wcschr(dir,L'?')) - { - _findclose(hFindFile); - return 0; - } - - return hFindFile; -} - -/* - * @implemented - */ -int _wfindnext(int handle, struct _wfinddata_t *result) -{ - WIN32_FIND_DATAW FindFileData; - - // check no wildcards or invalid handle - if (handle == 0 || handle == -1) - return 0; - - if (!FindNextFileW((void *)handle, &FindFileData)) - return -1; - - result->attrib = FindFileData.dwFileAttributes; - result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); - result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); - result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); - result->size = FindFileData.nFileSizeLow; - wcsncpy(result->name,FindFileData.cFileName, MAX_PATH); - - return 0; -} - -/* - * @implemented - */ -int _wfindnexti64(int handle, struct _wfinddatai64_t *result) -{ - WIN32_FIND_DATAW FindFileData; - - // check no wildcards or invalid handle - if (handle == 0 || handle == -1) - return 0; - - if (!FindNextFileW((void *)handle, &FindFileData)) - return -1; - - result->attrib = FindFileData.dwFileAttributes; - result->time_create = FileTimeToUnixTime(&FindFileData.ftCreationTime,NULL); - result->time_access = FileTimeToUnixTime(&FindFileData.ftLastAccessTime,NULL); - result->time_write = FileTimeToUnixTime(&FindFileData.ftLastWriteTime,NULL); - result->size = - (((__int64)FindFileData.nFileSizeLow)<<32) + FindFileData.nFileSizeLow; - wcsncpy(result->name,FindFileData.cFileName,MAX_PATH); - - return 0; -} +#include "find.c" diff --git a/reactos/lib/crt/io/wmktemp.c b/reactos/lib/crt/io/wmktemp.c index 75edf72bbe9..62d2185d4cb 100644 --- a/reactos/lib/crt/io/wmktemp.c +++ b/reactos/lib/crt/io/wmktemp.c @@ -13,12 +13,12 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include #define NDEBUG -#include +#include /* diff --git a/reactos/lib/crt/io/wopen.c b/reactos/lib/crt/io/wopen.c index f5c2fa398da..07f39828bab 100644 --- a/reactos/lib/crt/io/wopen.c +++ b/reactos/lib/crt/io/wopen.c @@ -14,19 +14,19 @@ #include "precomp.h" #if !defined(NDEBUG) && defined(DBG) -#include +#include #endif -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #define NDEBUG -#include +#include /* @@ -136,13 +136,14 @@ int _wopen(const wchar_t* _path, int _oflag, ...) _dosmaperr(GetLastError()); return -1; } - return __fileno_alloc(hFile,_oflag); + return alloc_fd(hFile,split_oflags(_oflag)); } /* * @implemented */ -int _wsopen(wchar_t* path, int access, int shflag, int mode) +int _wsopen(const wchar_t* path, int access, int shflag,.../* int mode*/) { - return _wopen((path), (access)|(shflag), (mode)); + //FIXME: vararg + return _wopen((path), (access)|(shflag));//, (mode)); } diff --git a/reactos/lib/crt/io/write.c b/reactos/lib/crt/io/write.c index f17924ee955..e326399a3f8 100644 --- a/reactos/lib/crt/io/write.c +++ b/reactos/lib/crt/io/write.c @@ -9,14 +9,14 @@ */ #include "precomp.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #define NDEBUG -#include +#include #define BUFSIZE 4096 /* @@ -38,7 +38,7 @@ void ReportLastError(void) /* * @implemented */ -size_t _write(int _fd, const void* _buf, size_t _nbyte) +int _write(int _fd, const void* _buf, unsigned int _nbyte) { char *tmp, *in, *out; int result; @@ -61,7 +61,7 @@ size_t _write(int _fd, const void* _buf, size_t _nbyte) *out++ = 0x0d; count--; if (count == 0) { - if (!WriteFile(_get_osfhandle(_fd), tmp, BUFSIZE, &wbyte, NULL)) { + if (!WriteFile((HANDLE)_get_osfhandle(_fd), tmp, BUFSIZE, &wbyte, NULL)) { //ReportLastError(); _dosmaperr(GetLastError()); result = -1; @@ -78,7 +78,7 @@ size_t _write(int _fd, const void* _buf, size_t _nbyte) *out++ = *in++; count--; if (count == 0 || _nbyte == 0) { - if (!WriteFile(_get_osfhandle(_fd), tmp, BUFSIZE - count, &wbyte, NULL)) { + if (!WriteFile((HANDLE)_get_osfhandle(_fd), tmp, BUFSIZE - count, &wbyte, NULL)) { _dosmaperr(GetLastError()); result = -1; break; @@ -94,7 +94,7 @@ size_t _write(int _fd, const void* _buf, size_t _nbyte) free(tmp); return result; } else { - if(!WriteFile(_get_osfhandle(_fd), _buf, _nbyte, &wbyte, NULL)) { + if(!WriteFile((HANDLE)_get_osfhandle(_fd), _buf, _nbyte, &wbyte, NULL)) { _dosmaperr(GetLastError()); return -1; } diff --git a/reactos/lib/crt/io/wunlink.c b/reactos/lib/crt/io/wunlink.c index c59186ddc58..f862b107bad 100644 --- a/reactos/lib/crt/io/wunlink.c +++ b/reactos/lib/crt/io/wunlink.c @@ -9,11 +9,11 @@ */ #include "precomp.h" -#include +#include +#include #define NDEBUG -#include -#include +#include /* * @implemented diff --git a/reactos/lib/crt/io/wutime.c b/reactos/lib/crt/io/wutime.c index 452769b884a..ef229923e97 100644 --- a/reactos/lib/crt/io/wutime.c +++ b/reactos/lib/crt/io/wutime.c @@ -1,8 +1,8 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/locale/locale.c b/reactos/lib/crt/locale/locale.c index 3486b70eb98..ca1a02b7c00 100644 --- a/reactos/lib/crt/locale/locale.c +++ b/reactos/lib/crt/locale/locale.c @@ -5,15 +5,15 @@ */ #include "precomp.h" -#include -#include -#include +#include +#include +#include #include -#include -#include +#include +#include #define NDEBUG -#include +#include unsigned int __setlc_active; unsigned int __unguarded_readlc_active; diff --git a/reactos/lib/crt/makefile b/reactos/lib/crt/makefile index 053fc66731a..e95bdb073e5 100644 --- a/reactos/lib/crt/makefile +++ b/reactos/lib/crt/makefile @@ -10,11 +10,14 @@ TARGET_NAME = crt TARGET_PCH = precomp.h -TARGET_CFLAGS = -D_MSVCRT_LIB_ -Wall -Werror +TARGET_CFLAGS = -D_MSVCRT_LIB_ -D__MSVCRT__ -Wall -Werror -I./include + +#-nostdinc # require os code to explicitly request A/W version of structs/functions TARGET_CFLAGS += \ -D_DISABLE_TIDENTS \ + -D__MINGW_IMPORT=extern \ -D__USE_W32API \ -D__REACTOS__ \ -D_WIN32_IE=0x600 \ @@ -26,7 +29,6 @@ CONIO_OBJECTS = \ conio/cgets.o \ conio/cprintf.o \ conio/cputs.o \ - conio/cscanf.o \ conio/getch.o \ conio/getche.o \ conio/kbhit.o \ @@ -238,6 +240,7 @@ PROCESS_OBJECTS = \ process/_system.o \ process/dll.o \ process/process.o \ + process/wprocess.o \ process/procid.o \ process/thread.o \ process/threadid.o \ @@ -271,16 +274,20 @@ STDIO_OBJECTS = \ stdio/fileno.o \ stdio/flsbuf.o \ stdio/fopen.o \ + stdio/wfopen.o \ stdio/fprintf.o \ + stdio/fwprintf.o \ stdio/fputc.o \ stdio/fputchar.o \ stdio/fputs.o \ + stdio/fputws.o \ stdio/fread.o \ stdio/freopen.o \ - stdio/fscanf.o \ + stdio/wfreopen.o \ stdio/fseek.o \ stdio/fsetpos.o \ stdio/fsopen.o \ + stdio/wfsopen.o \ stdio/ftell.o \ stdio/fwalk.o \ stdio/fwrite.o \ @@ -290,32 +297,35 @@ STDIO_OBJECTS = \ stdio/getw.o \ stdio/perror.o \ stdio/popen.o \ + stdio/wpopen.o \ stdio/printf.o \ + stdio/wprintf.o \ stdio/putc.o \ stdio/putchar.o \ + stdio/putwchar.o \ stdio/puts.o \ stdio/putw.o \ stdio/remove.o \ + stdio/wremove.o \ stdio/rename.o \ stdio/rewind.o \ stdio/rmtmp.o \ - stdio/scanf.o \ stdio/setbuf.o \ stdio/setvbuf.o \ stdio/sprintf.o \ - stdio/sscanf.o \ + stdio/swprintf.o \ stdio/stdhnd.o \ stdio/tempnam.o \ stdio/tmpfile.o \ stdio/tmpnam.o \ stdio/ungetc.o \ + stdio/ungetwc.o \ stdio/vfprintf.o \ - stdio/vfscanf.o \ stdio/vfwprint.o \ stdio/vprintf.o \ - stdio/vscanf.o \ + stdio/vwprintf.o \ stdio/vsprintf.o \ - stdio/vsscanf.o \ + stdio/vswprintf.o \ stdio/wfdopen.o \ stdio/wrename.o \ stdio/wtempnam.o \ @@ -330,6 +340,7 @@ STDLIB_OBJECTS = \ stdlib/atoi.o \ stdlib/atoi64.o \ stdlib/atol.o \ + stdlib/wtol.o \ stdlib/bsearch.o \ stdlib/div.o \ stdlib/ecvt.o \ @@ -437,7 +448,8 @@ WINE_OBJECTS = \ wine/cpp.o \ wine/cppexcept.o \ wine/heap.o \ - wine/thread.o + wine/thread.o \ + wine/scanf.o TARGET_OBJECTS = \ $(CONIO_OBJECTS) \ diff --git a/reactos/lib/crt/math/acos.c b/reactos/lib/crt/math/acos.c index 23376a6116c..ea25c1cabec 100644 --- a/reactos/lib/crt/math/acos.c +++ b/reactos/lib/crt/math/acos.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double acos(double __x) diff --git a/reactos/lib/crt/math/asin.c b/reactos/lib/crt/math/asin.c index fa57df2850c..5a64723ba38 100644 --- a/reactos/lib/crt/math/asin.c +++ b/reactos/lib/crt/math/asin.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double asin(double __x) diff --git a/reactos/lib/crt/math/atan.c b/reactos/lib/crt/math/atan.c index af0e219e728..7c5adcf3466 100644 --- a/reactos/lib/crt/math/atan.c +++ b/reactos/lib/crt/math/atan.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double atan (double __x); diff --git a/reactos/lib/crt/math/atan2.c b/reactos/lib/crt/math/atan2.c index 8ce57f1e433..8a24a3fadae 100644 --- a/reactos/lib/crt/math/atan2.c +++ b/reactos/lib/crt/math/atan2.c @@ -1,5 +1,5 @@ -#include +#include double atan2 (double __y, double __x); diff --git a/reactos/lib/crt/math/cabs.c b/reactos/lib/crt/math/cabs.c index ca9e8426c73..04a0bc578bc 100644 --- a/reactos/lib/crt/math/cabs.c +++ b/reactos/lib/crt/math/cabs.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/math/ceil.c b/reactos/lib/crt/math/ceil.c index 5a1b1113910..43dd120bad8 100644 --- a/reactos/lib/crt/math/ceil.c +++ b/reactos/lib/crt/math/ceil.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/math/cos.c b/reactos/lib/crt/math/cos.c index 131fa2dbdb0..95657c6e884 100644 --- a/reactos/lib/crt/math/cos.c +++ b/reactos/lib/crt/math/cos.c @@ -1,4 +1,4 @@ -#include +#include double cos (double __x); diff --git a/reactos/lib/crt/math/cosh.c b/reactos/lib/crt/math/cosh.c index a21e717cadc..e81fde563f8 100644 --- a/reactos/lib/crt/math/cosh.c +++ b/reactos/lib/crt/math/cosh.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* diff --git a/reactos/lib/crt/math/exp.c b/reactos/lib/crt/math/exp.c index 2707cf8ca3a..3a58be07ad8 100644 --- a/reactos/lib/crt/math/exp.c +++ b/reactos/lib/crt/math/exp.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double exp (double __x); diff --git a/reactos/lib/crt/math/fabs.c b/reactos/lib/crt/math/fabs.c index 5db505ad11b..3c61ab1ad17 100644 --- a/reactos/lib/crt/math/fabs.c +++ b/reactos/lib/crt/math/fabs.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double fabs (double __x); diff --git a/reactos/lib/crt/math/floor.c b/reactos/lib/crt/math/floor.c index 4635ad86b3f..684b7163c82 100644 --- a/reactos/lib/crt/math/floor.c +++ b/reactos/lib/crt/math/floor.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double floor (double __x); diff --git a/reactos/lib/crt/math/fmod.c b/reactos/lib/crt/math/fmod.c index 263d6878829..f1d6cb31dd5 100644 --- a/reactos/lib/crt/math/fmod.c +++ b/reactos/lib/crt/math/fmod.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double fmod (double __x, double __y); diff --git a/reactos/lib/crt/math/frexp.c b/reactos/lib/crt/math/frexp.c index 47e1800c98d..0b753e15969 100644 --- a/reactos/lib/crt/math/frexp.c +++ b/reactos/lib/crt/math/frexp.c @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/math/huge_val.c b/reactos/lib/crt/math/huge_val.c index aaa50d0e81e..66b5716bf80 100644 --- a/reactos/lib/crt/math/huge_val.c +++ b/reactos/lib/crt/math/huge_val.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include #undef _HUGE double_t _HUGE = { 0x00000, 0x00000, 0x7ff, 0x0 }; diff --git a/reactos/lib/crt/math/hypot.c b/reactos/lib/crt/math/hypot.c index de078a140e8..18aefb51ea6 100644 --- a/reactos/lib/crt/math/hypot.c +++ b/reactos/lib/crt/math/hypot.c @@ -16,9 +16,9 @@ * */ -#include -#include -#include +#include +#include +#include /* Approximate square roots of DBL_MAX and DBL_MIN. Numbers between these two shouldn't neither overflow nor underflow diff --git a/reactos/lib/crt/math/j0_y0.c b/reactos/lib/crt/math/j0_y0.c index 01143ef3dcc..fd0923291aa 100644 --- a/reactos/lib/crt/math/j0_y0.c +++ b/reactos/lib/crt/math/j0_y0.c @@ -1,4 +1,4 @@ -#include +#include /* diff --git a/reactos/lib/crt/math/j1_y1.c b/reactos/lib/crt/math/j1_y1.c index 3c899886491..46c8d28567f 100644 --- a/reactos/lib/crt/math/j1_y1.c +++ b/reactos/lib/crt/math/j1_y1.c @@ -1,4 +1,4 @@ -#include +#include /* diff --git a/reactos/lib/crt/math/jn_yn.c b/reactos/lib/crt/math/jn_yn.c index a9304720a2e..89fbbdc66ff 100644 --- a/reactos/lib/crt/math/jn_yn.c +++ b/reactos/lib/crt/math/jn_yn.c @@ -1,4 +1,4 @@ -#include +#include /* diff --git a/reactos/lib/crt/math/ldexp.c b/reactos/lib/crt/math/ldexp.c index 9c603445509..ee2182161de 100644 --- a/reactos/lib/crt/math/ldexp.c +++ b/reactos/lib/crt/math/ldexp.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double ldexp (double __x, int __y); diff --git a/reactos/lib/crt/math/log.c b/reactos/lib/crt/math/log.c index 014c78a2304..bb1e524f520 100644 --- a/reactos/lib/crt/math/log.c +++ b/reactos/lib/crt/math/log.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double log (double __x); diff --git a/reactos/lib/crt/math/log10.c b/reactos/lib/crt/math/log10.c index 58e8cd6ebc9..5ed37f2a894 100644 --- a/reactos/lib/crt/math/log10.c +++ b/reactos/lib/crt/math/log10.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double log10 (double __x); diff --git a/reactos/lib/crt/math/math.c b/reactos/lib/crt/math/math.c index 157b72fd9b8..ff1d0e266f9 100644 --- a/reactos/lib/crt/math/math.c +++ b/reactos/lib/crt/math/math.c @@ -1,4 +1,4 @@ -#include +#include #pragma function(fmod,sqrt) #pragma function(log,log10,pow,exp) diff --git a/reactos/lib/crt/math/modf.c b/reactos/lib/crt/math/modf.c index fe1d80f4d02..2b7102657e2 100644 --- a/reactos/lib/crt/math/modf.c +++ b/reactos/lib/crt/math/modf.c @@ -10,10 +10,10 @@ * ==================================================== */ -#include -#include -#include - +#include +#include +#include +#include //static const double one = 1.0; diff --git a/reactos/lib/crt/math/pow.c b/reactos/lib/crt/math/pow.c index 91e07216944..d098efe9225 100644 --- a/reactos/lib/crt/math/pow.c +++ b/reactos/lib/crt/math/pow.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double pow (double __x, double __y); diff --git a/reactos/lib/crt/math/sin.c b/reactos/lib/crt/math/sin.c index db070a31d17..576a4dc3fd8 100644 --- a/reactos/lib/crt/math/sin.c +++ b/reactos/lib/crt/math/sin.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double sin (double __x); diff --git a/reactos/lib/crt/math/sinh.c b/reactos/lib/crt/math/sinh.c index f977a6acfa5..fa9e5f7586d 100644 --- a/reactos/lib/crt/math/sinh.c +++ b/reactos/lib/crt/math/sinh.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/math/sqrt.c b/reactos/lib/crt/math/sqrt.c index d414fcdbc2e..fbae29c9ce2 100644 --- a/reactos/lib/crt/math/sqrt.c +++ b/reactos/lib/crt/math/sqrt.c @@ -17,7 +17,7 @@ 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 +#include double sqrt (double __x); diff --git a/reactos/lib/crt/math/stubs.c b/reactos/lib/crt/math/stubs.c index 82fe881ebc0..c0fd78da106 100644 --- a/reactos/lib/crt/math/stubs.c +++ b/reactos/lib/crt/math/stubs.c @@ -1,4 +1,4 @@ -#include +#include double _CIsin(double x); diff --git a/reactos/lib/crt/math/tan.c b/reactos/lib/crt/math/tan.c index 1acc03619f9..1200eea6459 100644 --- a/reactos/lib/crt/math/tan.c +++ b/reactos/lib/crt/math/tan.c @@ -18,7 +18,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include +#include double tan (double __x); diff --git a/reactos/lib/crt/math/tanh.c b/reactos/lib/crt/math/tanh.c index 88b9acca5ae..8c231c12c3a 100644 --- a/reactos/lib/crt/math/tanh.c +++ b/reactos/lib/crt/math/tanh.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/hanzen.c b/reactos/lib/crt/mbstring/hanzen.c index bbf22611f23..e3b3ac5b0eb 100644 --- a/reactos/lib/crt/mbstring/hanzen.c +++ b/reactos/lib/crt/mbstring/hanzen.c @@ -9,7 +9,7 @@ * 12/04/99: Created */ -#include +#include static unsigned short han_to_zen_ascii_table[0x5f] = { 0x8140, 0x8149, 0x8168, 0x8194, 0x8190, 0x8193, 0x8195, 0x8166, diff --git a/reactos/lib/crt/mbstring/ischira.c b/reactos/lib/crt/mbstring/ischira.c index 7ea5d269bcb..7bc938f1963 100644 --- a/reactos/lib/crt/mbstring/ischira.c +++ b/reactos/lib/crt/mbstring/ischira.c @@ -8,8 +8,8 @@ * 12/04/99: Created */ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/mbstring/iskana.c b/reactos/lib/crt/mbstring/iskana.c index 0bdb7848554..a89aa25c44c 100644 --- a/reactos/lib/crt/mbstring/iskana.c +++ b/reactos/lib/crt/mbstring/iskana.c @@ -8,13 +8,14 @@ Modified from Taiji Yamada japanese code system utilities * 12/04/99: Created */ -#include -#include +#include +#include +#include /* * @implemented */ -int _ismbbkana(unsigned char c) +int _ismbbkana(unsigned int c) { - return ((_jctype+1)[(unsigned char)(c)] & (_KNJ_M|_KNJ_P)); + return ((_mbctype+1)[(unsigned char)(c)] & (_KNJ_M|_KNJ_P)); } diff --git a/reactos/lib/crt/mbstring/iskmoji.c b/reactos/lib/crt/mbstring/iskmoji.c index c47d5badec1..a9c01ec0447 100644 --- a/reactos/lib/crt/mbstring/iskmoji.c +++ b/reactos/lib/crt/mbstring/iskmoji.c @@ -1,4 +1,4 @@ -#include +#include int _ismbbkalpha(unsigned char c) { diff --git a/reactos/lib/crt/mbstring/iskpun.c b/reactos/lib/crt/mbstring/iskpun.c index f3a12bbaf1a..bfa0cf2cfb3 100644 --- a/reactos/lib/crt/mbstring/iskpun.c +++ b/reactos/lib/crt/mbstring/iskpun.c @@ -7,12 +7,12 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include - +#include +#include /* * @implemented */ int _ismbbkpunct( unsigned int c ) { - return ((_jctype+1)[(unsigned char)(c)] & (_KNJ_P)); + return ((_mbctype+1)[(unsigned char)(c)] & (_KNJ_P)); } diff --git a/reactos/lib/crt/mbstring/islead.c b/reactos/lib/crt/mbstring/islead.c index f6c9e5bd0e1..98c4a0af28c 100644 --- a/reactos/lib/crt/mbstring/islead.c +++ b/reactos/lib/crt/mbstring/islead.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include /* * @unimplemented diff --git a/reactos/lib/crt/mbstring/islwr.c b/reactos/lib/crt/mbstring/islwr.c index e63c6aa1e3d..84785cb5bd0 100644 --- a/reactos/lib/crt/mbstring/islwr.c +++ b/reactos/lib/crt/mbstring/islwr.c @@ -8,8 +8,8 @@ * 12/04/99: Created */ -#include -#include +#include +#include /* * code page 952 only diff --git a/reactos/lib/crt/mbstring/ismbal.c b/reactos/lib/crt/mbstring/ismbal.c index f1bbd3bbbf6..0a3dc6d0645 100644 --- a/reactos/lib/crt/mbstring/ismbal.c +++ b/reactos/lib/crt/mbstring/ismbal.c @@ -7,13 +7,13 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include -#include +#include +#include /* * @implemented */ -int _ismbbalpha(unsigned char c) +int _ismbbalpha(unsigned int c) { return (isalpha(c) || _ismbbkalnum(c)); } diff --git a/reactos/lib/crt/mbstring/ismbaln.c b/reactos/lib/crt/mbstring/ismbaln.c index 71d263de87d..ac8948ef3a8 100644 --- a/reactos/lib/crt/mbstring/ismbaln.c +++ b/reactos/lib/crt/mbstring/ismbaln.c @@ -1,11 +1,11 @@ -#include -#include +#include +#include /* * @implemented */ -int _ismbbalnum(unsigned char c) +int _ismbbalnum(unsigned int c) { return (isalnum(c) || _ismbbkalnum(c)); } diff --git a/reactos/lib/crt/mbstring/ismbc.c b/reactos/lib/crt/mbstring/ismbc.c index 4035ff5580d..c19f9441cdb 100644 --- a/reactos/lib/crt/mbstring/ismbc.c +++ b/reactos/lib/crt/mbstring/ismbc.c @@ -1,4 +1,4 @@ -#include +#include int _ismbbalpha(unsigned char c); int _ismbbalnum(unsigned char c); diff --git a/reactos/lib/crt/mbstring/ismbgra.c b/reactos/lib/crt/mbstring/ismbgra.c index 8de506a2007..76afacaa85e 100644 --- a/reactos/lib/crt/mbstring/ismbgra.c +++ b/reactos/lib/crt/mbstring/ismbgra.c @@ -1,11 +1,11 @@ -#include -#include -#include +#include +#include +#include /* * @implemented */ -int _ismbbgraph(unsigned char c) +int _ismbbgraph(unsigned int c) { return (isgraph(c) || _ismbbkana(c)); } diff --git a/reactos/lib/crt/mbstring/ismbkaln.c b/reactos/lib/crt/mbstring/ismbkaln.c index 6840f59a33c..e8b0102f1ca 100644 --- a/reactos/lib/crt/mbstring/ismbkaln.c +++ b/reactos/lib/crt/mbstring/ismbkaln.c @@ -7,13 +7,13 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include -#include - +#include +#include +#include /* * @implemented */ int _ismbbkalnum( unsigned int c ) { - return ((_jctype+1)[(unsigned char)(c)] & (_KNJ_P)); + return ((_mbctype+1)[(unsigned char)(c)] & (_KNJ_P)); } diff --git a/reactos/lib/crt/mbstring/ismblead.c b/reactos/lib/crt/mbstring/ismblead.c index ca6da76883c..e441f0e0798 100644 --- a/reactos/lib/crt/mbstring/ismblead.c +++ b/reactos/lib/crt/mbstring/ismblead.c @@ -9,13 +9,14 @@ * 12/04/99: Created */ -#include -#include -#include +#include +#include +#include +#include size_t _mbclen2(const unsigned int s); -char _jctype[257] = { +unsigned char _mbctype[257] = { /*-1*/ ___, /*0x*/ ___,___,___,___,___,___,___,___,___,___,___,___,___,___,___,___, /*1x*/ ___,___,___,___,___,___,___,___,___,___,___,___,___,___,___,___, @@ -35,13 +36,13 @@ char _jctype[257] = { /*Fx*/ _12,_12,_12,_12,_12,_12,_12,_12,_12,_12,_12,_12,_12,___,___,___ }; -char *_mbctype = _jctype; +//unsigned char _mbctype = _jctype; /* * @implemented */ int _ismbblead(unsigned int c) { - return ((_jctype+1)[(unsigned char)(c)] & _KNJ_1); + return ((_mbctype+1)[(unsigned char)(c)] & _KNJ_1); } //int _ismbblead(unsigned int byte) //{ diff --git a/reactos/lib/crt/mbstring/ismbpri.c b/reactos/lib/crt/mbstring/ismbpri.c index 637372086b6..b66063bab7c 100644 --- a/reactos/lib/crt/mbstring/ismbpri.c +++ b/reactos/lib/crt/mbstring/ismbpri.c @@ -1,11 +1,11 @@ -#include -#include -#include +#include +#include +#include /* * @implemented */ -int _ismbbprint(unsigned char c) +int _ismbbprint(unsigned int c) { return (isprint(c) || _ismbbkana(c)); } diff --git a/reactos/lib/crt/mbstring/ismbpun.c b/reactos/lib/crt/mbstring/ismbpun.c index f66eb4ea4ec..0c901ff1c5e 100644 --- a/reactos/lib/crt/mbstring/ismbpun.c +++ b/reactos/lib/crt/mbstring/ismbpun.c @@ -1,13 +1,13 @@ -#include -#include -#include +#include +#include +#include /* * @implemented */ -int _ismbbpunct(unsigned char c) +int _ismbbpunct(unsigned int c) { // (0xA1 <= c <= 0xA6) return (ispunct(c) || _ismbbkana(c)); diff --git a/reactos/lib/crt/mbstring/ismbtrl.c b/reactos/lib/crt/mbstring/ismbtrl.c index 865fd4de1b8..3d0cc1de87f 100644 --- a/reactos/lib/crt/mbstring/ismbtrl.c +++ b/reactos/lib/crt/mbstring/ismbtrl.c @@ -8,8 +8,9 @@ * 12/04/99: Created */ -#include -#include +#include +#include +#include size_t _mbclen2(const unsigned int s); @@ -20,7 +21,7 @@ size_t _mbclen2(const unsigned int s); */ int _ismbbtrail(unsigned int c) { - return ((_jctype+1)[(unsigned char)(c)] & _KNJ_2); + return ((_mbctype+1)[(unsigned char)(c)] & _KNJ_2); } //int _ismbbtrail( unsigned int b) diff --git a/reactos/lib/crt/mbstring/isuppr.c b/reactos/lib/crt/mbstring/isuppr.c index d68acc603db..3a9824a2696 100644 --- a/reactos/lib/crt/mbstring/isuppr.c +++ b/reactos/lib/crt/mbstring/isuppr.c @@ -8,8 +8,8 @@ * 12/04/99: Created */ -#include -#include +#include +#include /* * code page 952 only diff --git a/reactos/lib/crt/mbstring/jistojms.c b/reactos/lib/crt/mbstring/jistojms.c index c47b223a58a..bddb6caef00 100644 --- a/reactos/lib/crt/mbstring/jistojms.c +++ b/reactos/lib/crt/mbstring/jistojms.c @@ -1,9 +1,9 @@ -#include +#include /* * @implemented */ -unsigned short _mbcjistojms(unsigned short c) +unsigned int _mbcjistojms(unsigned int c) { int c1, c2; diff --git a/reactos/lib/crt/mbstring/jmstojis.c b/reactos/lib/crt/mbstring/jmstojis.c index cf349f673db..8e634c3e67d 100644 --- a/reactos/lib/crt/mbstring/jmstojis.c +++ b/reactos/lib/crt/mbstring/jmstojis.c @@ -1,9 +1,9 @@ -#include +#include /* * @implemented */ -unsigned short _mbcjmstojis(unsigned short c) +unsigned int _mbcjmstojis(unsigned int c) { int c1, c2; diff --git a/reactos/lib/crt/mbstring/mbbtype.c b/reactos/lib/crt/mbstring/mbbtype.c index e4e02b96546..876c0b284c5 100644 --- a/reactos/lib/crt/mbstring/mbbtype.c +++ b/reactos/lib/crt/mbstring/mbbtype.c @@ -8,8 +8,9 @@ * 12/04/99: Created */ -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbccpy.c b/reactos/lib/crt/mbstring/mbccpy.c index 1db6243c0ae..b48e1261485 100644 --- a/reactos/lib/crt/mbstring/mbccpy.c +++ b/reactos/lib/crt/mbstring/mbccpy.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include size_t _mbclen2(const unsigned int s); diff --git a/reactos/lib/crt/mbstring/mbclen.c b/reactos/lib/crt/mbstring/mbclen.c index d1e4c82ffa6..414852d04b4 100644 --- a/reactos/lib/crt/mbstring/mbclen.c +++ b/reactos/lib/crt/mbstring/mbclen.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/mbstring/mbscat.c b/reactos/lib/crt/mbstring/mbscat.c index 85c6aab86bd..65b481b7f55 100644 --- a/reactos/lib/crt/mbstring/mbscat.c +++ b/reactos/lib/crt/mbstring/mbscat.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbschr.c b/reactos/lib/crt/mbstring/mbschr.c index 5b359bbcb0c..e635e3f1ff7 100644 --- a/reactos/lib/crt/mbstring/mbschr.c +++ b/reactos/lib/crt/mbstring/mbschr.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbscmp.c b/reactos/lib/crt/mbstring/mbscmp.c index 8f5d0b3e4de..611d086cc45 100644 --- a/reactos/lib/crt/mbstring/mbscmp.c +++ b/reactos/lib/crt/mbstring/mbscmp.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbscoll.c b/reactos/lib/crt/mbstring/mbscoll.c index 86265316d94..6ef9f6689ce 100644 --- a/reactos/lib/crt/mbstring/mbscoll.c +++ b/reactos/lib/crt/mbstring/mbscoll.c @@ -8,7 +8,7 @@ * 12/04/99: Created */ -#include +#include int colldif(unsigned short c1, unsigned short c2); diff --git a/reactos/lib/crt/mbstring/mbscpy.c b/reactos/lib/crt/mbstring/mbscpy.c index 89007c27ffc..76abf442c73 100644 --- a/reactos/lib/crt/mbstring/mbscpy.c +++ b/reactos/lib/crt/mbstring/mbscpy.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbscspn.c b/reactos/lib/crt/mbstring/mbscspn.c index da27e5e9960..59936778fc6 100644 --- a/reactos/lib/crt/mbstring/mbscspn.c +++ b/reactos/lib/crt/mbstring/mbscspn.c @@ -1,4 +1,4 @@ -#include +#include /* * FIXME not correct diff --git a/reactos/lib/crt/mbstring/mbsdec.c b/reactos/lib/crt/mbstring/mbsdec.c index 14c228c81c5..e3a72b468d8 100644 --- a/reactos/lib/crt/mbstring/mbsdec.c +++ b/reactos/lib/crt/mbstring/mbsdec.c @@ -1,4 +1,5 @@ -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsdup.c b/reactos/lib/crt/mbstring/mbsdup.c index db251c1c342..2c3617b5ae8 100644 --- a/reactos/lib/crt/mbstring/mbsdup.c +++ b/reactos/lib/crt/mbstring/mbsdup.c @@ -9,8 +9,8 @@ * 12/04/99: Created */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsicmp.c b/reactos/lib/crt/mbstring/mbsicmp.c index 563b2a75dc0..607c794175d 100644 --- a/reactos/lib/crt/mbstring/mbsicmp.c +++ b/reactos/lib/crt/mbstring/mbsicmp.c @@ -7,9 +7,9 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsicoll.c b/reactos/lib/crt/mbstring/mbsicoll.c index d07f4a6afe6..206fae5750e 100644 --- a/reactos/lib/crt/mbstring/mbsicoll.c +++ b/reactos/lib/crt/mbstring/mbsicoll.c @@ -7,9 +7,9 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include -#include -#include +#include +#include +#include int colldif(unsigned short c1, unsigned short c2); /* diff --git a/reactos/lib/crt/mbstring/mbsinc.c b/reactos/lib/crt/mbstring/mbsinc.c index 98a5fb5dbd9..c1db061e241 100644 --- a/reactos/lib/crt/mbstring/mbsinc.c +++ b/reactos/lib/crt/mbstring/mbsinc.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbslen.c b/reactos/lib/crt/mbstring/mbslen.c index 8529fbf27f5..f73656fad3e 100644 --- a/reactos/lib/crt/mbstring/mbslen.c +++ b/reactos/lib/crt/mbstring/mbslen.c @@ -1,4 +1,4 @@ -#include +#include size_t _mbclen2(const unsigned int s); diff --git a/reactos/lib/crt/mbstring/mbslwr.c b/reactos/lib/crt/mbstring/mbslwr.c index 071a7659ca1..c5d24cb361f 100644 --- a/reactos/lib/crt/mbstring/mbslwr.c +++ b/reactos/lib/crt/mbstring/mbslwr.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include unsigned int _mbbtolower(unsigned int c) { diff --git a/reactos/lib/crt/mbstring/mbsncat.c b/reactos/lib/crt/mbstring/mbsncat.c index 4eb97b2349b..78a23e49af0 100644 --- a/reactos/lib/crt/mbstring/mbsncat.c +++ b/reactos/lib/crt/mbstring/mbsncat.c @@ -8,8 +8,8 @@ * 12/04/99: Created */ -#include -#include +#include +#include size_t _mbclen2(const unsigned int s); diff --git a/reactos/lib/crt/mbstring/mbsnccnt.c b/reactos/lib/crt/mbstring/mbsnccnt.c index af739200fd0..b66a3171fb9 100644 --- a/reactos/lib/crt/mbstring/mbsnccnt.c +++ b/reactos/lib/crt/mbstring/mbsnccnt.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsncmp.c b/reactos/lib/crt/mbstring/mbsncmp.c index d108898a438..3f8dfa8200d 100644 --- a/reactos/lib/crt/mbstring/mbsncmp.c +++ b/reactos/lib/crt/mbstring/mbsncmp.c @@ -8,7 +8,7 @@ * 12/04/99: Created */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsncoll.c b/reactos/lib/crt/mbstring/mbsncoll.c index f9af6ebce83..10b08e193d8 100644 --- a/reactos/lib/crt/mbstring/mbsncoll.c +++ b/reactos/lib/crt/mbstring/mbsncoll.c @@ -7,7 +7,7 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include +#include int colldif(unsigned short c1, unsigned short c2); diff --git a/reactos/lib/crt/mbstring/mbsncpy.c b/reactos/lib/crt/mbstring/mbsncpy.c index 5b4a2c9238d..3f236f598ae 100644 --- a/reactos/lib/crt/mbstring/mbsncpy.c +++ b/reactos/lib/crt/mbstring/mbsncpy.c @@ -8,7 +8,7 @@ * 12/04/99: Created */ -#include +#include /* diff --git a/reactos/lib/crt/mbstring/mbsnextc.c b/reactos/lib/crt/mbstring/mbsnextc.c index 4e163daabc3..ee75c6f915c 100644 --- a/reactos/lib/crt/mbstring/mbsnextc.c +++ b/reactos/lib/crt/mbstring/mbsnextc.c @@ -1,4 +1,5 @@ -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsnicmp.c b/reactos/lib/crt/mbstring/mbsnicmp.c index 0ece47523f9..0a554b2176c 100644 --- a/reactos/lib/crt/mbstring/mbsnicmp.c +++ b/reactos/lib/crt/mbstring/mbsnicmp.c @@ -1,4 +1,4 @@ -#include +#include size_t _mbclen2(const unsigned int s); diff --git a/reactos/lib/crt/mbstring/mbsnicoll.c b/reactos/lib/crt/mbstring/mbsnicoll.c index df778069f92..bfc67e5e1df 100644 --- a/reactos/lib/crt/mbstring/mbsnicoll.c +++ b/reactos/lib/crt/mbstring/mbsnicoll.c @@ -1,4 +1,4 @@ -#include +#include /* * @unimplemented diff --git a/reactos/lib/crt/mbstring/mbsninc.c b/reactos/lib/crt/mbstring/mbsninc.c index bf8a50caf5b..67f2fac2c87 100644 --- a/reactos/lib/crt/mbstring/mbsninc.c +++ b/reactos/lib/crt/mbstring/mbsninc.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsnset.c b/reactos/lib/crt/mbstring/mbsnset.c index 37be2754ffc..ae6a4603fa8 100644 --- a/reactos/lib/crt/mbstring/mbsnset.c +++ b/reactos/lib/crt/mbstring/mbsnset.c @@ -7,7 +7,7 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include +#include size_t _mbclen2(const unsigned int s); diff --git a/reactos/lib/crt/mbstring/mbspbrk.c b/reactos/lib/crt/mbstring/mbspbrk.c index ed0b9d4b6de..83b5b1085be 100644 --- a/reactos/lib/crt/mbstring/mbspbrk.c +++ b/reactos/lib/crt/mbstring/mbspbrk.c @@ -1,4 +1,5 @@ -#include +#include +#include int isleadbyte(int byte); diff --git a/reactos/lib/crt/mbstring/mbsrchr.c b/reactos/lib/crt/mbstring/mbsrchr.c index c0f66f36376..dfab3cdd7ea 100644 --- a/reactos/lib/crt/mbstring/mbsrchr.c +++ b/reactos/lib/crt/mbstring/mbsrchr.c @@ -7,8 +7,8 @@ * UPDATE HISTORY: * 12/04/99: Created */ - -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsrev.c b/reactos/lib/crt/mbstring/mbsrev.c index f30cb10cd04..bde5bdc11e4 100644 --- a/reactos/lib/crt/mbstring/mbsrev.c +++ b/reactos/lib/crt/mbstring/mbsrev.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsset.c b/reactos/lib/crt/mbstring/mbsset.c index d2af4d13264..ae09717fc5c 100644 --- a/reactos/lib/crt/mbstring/mbsset.c +++ b/reactos/lib/crt/mbstring/mbsset.c @@ -8,7 +8,7 @@ * 12/04/99: Created */ -#include +#include size_t _mbclen2(const unsigned int s); diff --git a/reactos/lib/crt/mbstring/mbsspn.c b/reactos/lib/crt/mbstring/mbsspn.c index 0eb8ec0238d..3d654feb0a7 100644 --- a/reactos/lib/crt/mbstring/mbsspn.c +++ b/reactos/lib/crt/mbstring/mbsspn.c @@ -1,4 +1,4 @@ -#include +#include /* * FIXME not correct diff --git a/reactos/lib/crt/mbstring/mbsspnp.c b/reactos/lib/crt/mbstring/mbsspnp.c index c82fcf8b9ca..07a698ae443 100644 --- a/reactos/lib/crt/mbstring/mbsspnp.c +++ b/reactos/lib/crt/mbstring/mbsspnp.c @@ -1,4 +1,4 @@ -#include +#include /* * FIXME not correct diff --git a/reactos/lib/crt/mbstring/mbsstr.c b/reactos/lib/crt/mbstring/mbsstr.c index cbf9f396925..318de319c70 100644 --- a/reactos/lib/crt/mbstring/mbsstr.c +++ b/reactos/lib/crt/mbstring/mbsstr.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbstok.c b/reactos/lib/crt/mbstring/mbstok.c index 79015a8b787..d575e73f3f5 100644 --- a/reactos/lib/crt/mbstring/mbstok.c +++ b/reactos/lib/crt/mbstring/mbstok.c @@ -1,9 +1,10 @@ -#include +#include +#include /* * @implemented */ -unsigned char * _mbstok(unsigned char *s, unsigned char *delim) +unsigned char * _mbstok(unsigned char *s, const unsigned char *delim) { const unsigned char *spanp; int c, sc; diff --git a/reactos/lib/crt/mbstring/mbstrlen.c b/reactos/lib/crt/mbstring/mbstrlen.c index b8c64cce6f1..e4411f1f708 100644 --- a/reactos/lib/crt/mbstring/mbstrlen.c +++ b/reactos/lib/crt/mbstring/mbstrlen.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/mbstring/mbsupr.c b/reactos/lib/crt/mbstring/mbsupr.c index 1899b7fcc3c..6cb5059010c 100644 --- a/reactos/lib/crt/mbstring/mbsupr.c +++ b/reactos/lib/crt/mbstring/mbsupr.c @@ -7,8 +7,8 @@ * UPDATE HISTORY: * 12/04/99: Created */ -#include -#include +#include +#include unsigned int _mbbtoupper(unsigned int c) { diff --git a/reactos/lib/crt/misc/amsg.c b/reactos/lib/crt/misc/amsg.c index b8b288afa23..a65b6675bef 100644 --- a/reactos/lib/crt/misc/amsg.c +++ b/reactos/lib/crt/misc/amsg.c @@ -8,8 +8,8 @@ * 28/12/98: Created */ -#include -#include +#include +#include static char *__rt_err_msg[] = diff --git a/reactos/lib/crt/misc/assert.c b/reactos/lib/crt/misc/assert.c index 0e416a894c7..f656976da1d 100644 --- a/reactos/lib/crt/misc/assert.c +++ b/reactos/lib/crt/misc/assert.c @@ -1,8 +1,8 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/misc/crtmain.c b/reactos/lib/crt/misc/crtmain.c index 61f66686c1b..60bbfd3a9aa 100644 --- a/reactos/lib/crt/misc/crtmain.c +++ b/reactos/lib/crt/misc/crtmain.c @@ -6,7 +6,7 @@ #include "precomp.h" #define NDEBUG -#include +#include #ifndef __GNUC__ diff --git a/reactos/lib/crt/misc/environ.c b/reactos/lib/crt/misc/environ.c index 7847d2aa3bf..9db749c5dd4 100644 --- a/reactos/lib/crt/misc/environ.c +++ b/reactos/lib/crt/misc/environ.c @@ -6,12 +6,13 @@ */ #include "precomp.h" -#include -#include -#include +#include +#include +#include +#include #define NDEBUG -#include +#include unsigned int _osver = 0; diff --git a/reactos/lib/crt/misc/getargs.c b/reactos/lib/crt/misc/getargs.c index b68db68d6dc..4a8fa53de4c 100644 --- a/reactos/lib/crt/misc/getargs.c +++ b/reactos/lib/crt/misc/getargs.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include extern char*_acmdln; @@ -168,6 +168,15 @@ char*** __p___argv(void) return &__argv; } +/* + * @implemented + */ +wchar_t*** __p___wargv(void) +{ + return &__wargv; +} + + #if 0 int _chkstk(void) { diff --git a/reactos/lib/crt/misc/initterm.c b/reactos/lib/crt/misc/initterm.c index 26f66a1c924..54963ad9add 100644 --- a/reactos/lib/crt/misc/initterm.c +++ b/reactos/lib/crt/misc/initterm.c @@ -1,4 +1,4 @@ -#include +#include /* diff --git a/reactos/lib/crt/misc/lock.c b/reactos/lib/crt/misc/lock.c index 100cef02d54..417df9afb2d 100644 --- a/reactos/lib/crt/misc/lock.c +++ b/reactos/lib/crt/misc/lock.c @@ -19,8 +19,8 @@ #include "precomp.h" #define NDEBUG -#include -#include +#include +#include typedef struct { diff --git a/reactos/lib/crt/misc/purecall.c b/reactos/lib/crt/misc/purecall.c index 4b50cbfd528..28612a9aaf5 100644 --- a/reactos/lib/crt/misc/purecall.c +++ b/reactos/lib/crt/misc/purecall.c @@ -1,5 +1,5 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/misc/stubs.c b/reactos/lib/crt/misc/stubs.c index e2e40baa841..21266f52d98 100644 --- a/reactos/lib/crt/misc/stubs.c +++ b/reactos/lib/crt/misc/stubs.c @@ -1,7 +1,7 @@ #include "precomp.h" #define NDEBUG -#include +#include /********************************************************************* * $I10_OUTPUT (MSVCRT.@) @@ -111,3 +111,34 @@ void _adj_fpatan(void) { DPRINT1("_adj_fpatan stub\n"); } + + +void __crtCompareStringA(void) +{ + DPRINT1("__crtCompareStringA stub\n"); +} + +void __crtGetLocaleInfoW(void) +{ + DPRINT1("__crtGetLocaleInfoW stub\n"); +} + +void __p__amblksiz(void) +{ + DPRINT1("__p__amblksiz stub\n"); +} + +void __p__dstbias(void) +{ + DPRINT1("__p__dstbias stub\n"); +} + +void __fileinfo(void) +{ + DPRINT1("__fileinfo stub\n"); +} + +void stub(void) +{ + DPRINT1("stub\n"); +} diff --git a/reactos/lib/crt/misc/tls.c b/reactos/lib/crt/misc/tls.c index 84938534acc..18ecade199e 100644 --- a/reactos/lib/crt/misc/tls.c +++ b/reactos/lib/crt/misc/tls.c @@ -1,7 +1,7 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include static unsigned long TlsIndex = (unsigned long)-1; diff --git a/reactos/lib/crt/process/_cwait.c b/reactos/lib/crt/process/_cwait.c index aa940452e21..f52dc44a36d 100644 --- a/reactos/lib/crt/process/_cwait.c +++ b/reactos/lib/crt/process/_cwait.c @@ -9,9 +9,9 @@ */ #include "precomp.h" -#include -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/process/_system.c b/reactos/lib/crt/process/_system.c index 9041e41bfc6..15c89d4241b 100644 --- a/reactos/lib/crt/process/_system.c +++ b/reactos/lib/crt/process/_system.c @@ -10,11 +10,11 @@ */ #include "precomp.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/process/dll.c b/reactos/lib/crt/process/dll.c index 5e3db761f6a..c9f3a53a6af 100644 --- a/reactos/lib/crt/process/dll.c +++ b/reactos/lib/crt/process/dll.c @@ -9,7 +9,7 @@ */ #include "precomp.h" -#include +#include /* diff --git a/reactos/lib/crt/process/process.c b/reactos/lib/crt/process/process.c index 8a375430aa3..00ead394836 100644 --- a/reactos/lib/crt/process/process.c +++ b/reactos/lib/crt/process/process.c @@ -1,622 +1,654 @@ #include "precomp.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #define NDEBUG -#include +#include -extern int maxfno; +#ifdef _UNICODE + #define find_execT find_execW + #define argvtosT argvtosW + #define do_spawnT do_spawnW + #define valisttosT valisttosW + #define extT extW +#else + #define find_execT find_execA + #define argvtosT argvtosA + #define do_spawnT do_spawnA + #define valisttosT valisttosA + #define extT extA +#endif -char const* ext[] = + +_TCHAR const* extT[] = + { + _T(""), + _T(".bat"), + _T(".cmd"), + _T(".com"), + _T(".exe") + }; + +const _TCHAR* find_execT(const _TCHAR* path, _TCHAR* rpath) { - "", - ".bat", - ".cmd", - ".com", - ".exe" -}; + _TCHAR *rp; + const _TCHAR *rd; + int i, found = 0; -const char* find_exec(const char* path, char* rpath) -{ - char *rp; - const char *rd; - int i, found = 0; + DPRINT(MK_STR(find_execT)"('%"sT"', %x)\n", path, rpath); - DPRINT("find_exec('%s', %x)\n", path, rpath); + if (path == NULL) + { + return NULL; + } + if (_tcslen(path) > FILENAME_MAX - 1) + { + return path; + } + /* copy path in rpath */ + for (rd = path, rp = rpath; *rd; *rp++ = *rd++) + ; + *rp = 0; + /* try first with the name as is */ + for (i = 0; i < sizeof(extT) / sizeof(*extT); i++) + { + _tcscpy(rp, extT[i]); - if (path == NULL) - { - return NULL; - } - if (strlen(path) > FILENAME_MAX - 1) - { - return path; - } - /* copy path in rpath */ - for (rd = path, rp = rpath; *rd; *rp++ = *rd++); - *rp = 0; - /* try first with the name as is */ - for (i = 0; i < sizeof(ext) / sizeof(*ext); i++) - { - strcpy(rp, ext[i]); + DPRINT("trying '%"sT"'\n", rpath); - DPRINT("trying '%s'\n", rpath); + if (_taccess(rpath, F_OK) == 0 && access_dirT(rpath) != 0) + { + found = 1; + break; + } + } + if (!found) + { + _TCHAR* env = _tgetenv(_T("PATH")); + if (env) + { + _TCHAR* ep = env; + while (*ep && !found) + { + if (*ep == ';') + ep++; + rp=rpath; + for (; *ep && (*ep != ';'); *rp++ = *ep++) + ; + if (rp > rpath) + { + rp--; + if (*rp != '/' && *rp != '\\') + { + *++rp = '\\'; + } + rp++; + } + for (rd=path; *rd; *rp++ = *rd++) + ; + for (i = 0; i < sizeof(extT) / sizeof(*extT); i++) + { + _tcscpy(rp, extT[i]); - if (_access(rpath, F_OK) == 0 && _access(rpath, D_OK) != 0) - { - found = 1; - break; - } - } - if (!found) - { - char* env = getenv("PATH"); - if (env) - { - char* ep = env; - while (*ep && !found) - { - if (*ep == ';') ep++; - rp=rpath; - for (; *ep && (*ep != ';'); *rp++ = *ep++); - if (rp > rpath) - { - rp--; - if (*rp != '/' && *rp != '\\') - { - *++rp = '\\'; - } - rp++; - } - for (rd=path; *rd; *rp++ = *rd++); - for (i = 0; i < sizeof(ext) / sizeof(*ext); i++) - { - strcpy(rp, ext[i]); + DPRINT("trying '%"sT"'\n", rpath); - DPRINT("trying '%s'\n", rpath); + if (_taccess(rpath, F_OK) == 0 && access_dirT(rpath) != 0) + { + found = 1; + break; + } + } + } + } + } - if (_access(rpath, F_OK) == 0 && _access(rpath, D_OK) != 0) - { - found = 1; - break; - } - } - } - } - } - - return found ? rpath : path; + return found ? rpath : path; } -static char* -argvtos(char* const* argv, char delim) +static _TCHAR* +argvtosT(const _TCHAR* const* argv, _TCHAR delim) { - int i, len; - char *ptr, *str; + int i, len; + _TCHAR *ptr, *str; - if (argv == NULL) - return NULL; + if (argv == NULL) + return NULL; - for (i = 0, len = 0; argv[i]; i++) - { - len += strlen(argv[i]) + 1; - } + for (i = 0, len = 0; argv[i]; i++) + { + len += _tcslen(argv[i]) + 1; + } - str = ptr = (char*) malloc(len + 1); - if (str == NULL) - return NULL; + str = ptr = (_TCHAR*) malloc(len + 1); + if (str == NULL) + return NULL; - for(i = 0; argv[i]; i++) - { - len = strlen(argv[i]); - memcpy(ptr, argv[i], len); - ptr += len; - *ptr++ = delim; - } - *ptr = 0; + for(i = 0; argv[i]; i++) + { + len = _tcslen(argv[i]); + memcpy(ptr, argv[i], len); + ptr += len; + *ptr++ = delim; + } + *ptr = 0; - return str; + return str; } -static char* -valisttos(const char* arg0, va_list alist, char delim) +static _TCHAR* +valisttosT(const _TCHAR* arg0, va_list alist, _TCHAR delim) { - va_list alist2 = alist; - char *ptr, *str; - int len; + va_list alist2 = alist; + _TCHAR *ptr, *str; + int len; - if (arg0 == NULL) - return NULL; + if (arg0 == NULL) + return NULL; - ptr = (char*)arg0; - len = 0; - do - { - len += strlen(ptr) + 1; - ptr = va_arg(alist, char*); - } - while(ptr != NULL); + ptr = (_TCHAR*)arg0; + len = 0; + do + { + len += _tcslen(ptr) + 1; + ptr = va_arg(alist, _TCHAR*); + } + while(ptr != NULL); - str = (char*) malloc(len + 1); - if (str == NULL) - return NULL; + str = (_TCHAR*) malloc(len + 1); + if (str == NULL) + return NULL; - ptr = str; - do - { - len = strlen(arg0); - memcpy(ptr, arg0, len); - ptr += len; - *ptr++ = delim; - arg0 = va_arg(alist2, char*); - } - while(arg0 != NULL); - *ptr = 0; + ptr = str; + do + { + len = _tcslen(arg0); + memcpy(ptr, arg0, len); + ptr += len; + *ptr++ = delim; + arg0 = va_arg(alist2, _TCHAR*); + } + while(arg0 != NULL); + *ptr = 0; - return str; + return str; } static int -do_spawn(int mode, const char* cmdname, const char* args, const char* envp) +do_spawnT(int mode, const _TCHAR* cmdname, const _TCHAR* args, const _TCHAR* envp) { - STARTUPINFOA StartupInfo; - PROCESS_INFORMATION ProcessInformation; - char* fmode; - HANDLE* hFile; - int i, last; - BOOL bResult; - DWORD dwExitCode; - DWORD dwError; + STARTUPINFO StartupInfo = {0}; + PROCESS_INFORMATION ProcessInformation; +// char* fmode; +// HANDLE* hFile; +// int i, last; + BOOL bResult; + DWORD dwExitCode; + DWORD dwError; - DPRINT("do_spawn('%s')\n", cmdname); + TRACE(MK_STR(do_spawnT)"(%i,'%"sT"','%"sT"','%"sT"')",mode,cmdname,args,envp); + - if (mode != _P_NOWAIT && mode != _P_NOWAITO && mode != _P_WAIT && mode != _P_DETACH && mode != _P_OVERLAY) - { - __set_errno ( EINVAL ); - return -1; - } + if (mode != _P_NOWAIT && mode != _P_NOWAITO && mode != _P_WAIT && mode != _P_DETACH && mode != _P_OVERLAY) + { + __set_errno ( EINVAL ); + return( -1); + } - if (0 != _access(cmdname, F_OK)) - { - __set_errno ( ENOENT ); - return -1; - } - if (0 == _access(cmdname, D_OK)) - { - __set_errno ( EISDIR ); - return -1; - } + if (0 != _taccess(cmdname, F_OK)) + { + __set_errno ( ENOENT ); + return(-1); + } + if (0 == access_dirT(cmdname)) + { + __set_errno ( EISDIR ); + return(-1); + } + + //memset (&StartupInfo, 0, sizeof(StartupInfo)); + StartupInfo.cb = sizeof(StartupInfo); + +#if 0 - memset (&StartupInfo, 0, sizeof(StartupInfo)); - StartupInfo.cb = sizeof(StartupInfo); + for (last = i = 0; i < FDINFO_FD_MAX; i++) + { + if ((void*)-1 != _get_osfhandle(i)) + { + last = i + 1; + } + } - for (last = i = 0; i < maxfno; i++) - { - if ((void*)-1 != _get_osfhandle(i)) - { - last = i + 1; - } - } + if (last) + { + StartupInfo.cbReserved2 = sizeof(ULONG) + last * (sizeof(char) + sizeof(HANDLE)); + StartupInfo.lpReserved2 = malloc(StartupInfo.cbReserved2); + if (StartupInfo.lpReserved2 == NULL) + { + __set_errno ( ENOMEM ); + return -1; + } - if (last) - { - StartupInfo.cbReserved2 = sizeof(ULONG) + last * (sizeof(char) + sizeof(HANDLE)); - StartupInfo.lpReserved2 = malloc(StartupInfo.cbReserved2); - if (StartupInfo.lpReserved2 == NULL) - { - __set_errno ( ENOMEM ); - return -1; - } + *(DWORD*)StartupInfo.lpReserved2 = last; + fmode = (char*)(StartupInfo.lpReserved2 + sizeof(ULONG)); + hFile = (HANDLE*)(StartupInfo.lpReserved2 + sizeof(ULONG) + last * sizeof(char)); + for (i = 0; i < last; i++) + { + int _mode = __fileno_getmode(i); + HANDLE h = _get_osfhandle(i); + /* FIXME: The test of console handles (((ULONG)Handle) & 0x10000003) == 0x3) + * is possible wrong + */ + if ((((ULONG)h) & 0x10000003) == 0x3 || _mode & _O_NOINHERIT || (i < 3 && mode == _P_DETACH)) + { + *hFile = INVALID_HANDLE_VALUE; + *fmode = 0; + } + else + { + DWORD dwFlags; + BOOL bFlag; + bFlag = GetHandleInformation(h, &dwFlags); + if (bFlag && (dwFlags & HANDLE_FLAG_INHERIT)) + { + *hFile = h; + *fmode = (_O_ACCMODE & _mode) | (((_O_TEXT | _O_BINARY) & _mode) >> 8); + } + else + { + *hFile = INVALID_HANDLE_VALUE; + *fmode = 0; + } + } + fmode++; + hFile++; + } + } +#endif - *(DWORD*)StartupInfo.lpReserved2 = last; - fmode = (char*)(StartupInfo.lpReserved2 + sizeof(ULONG)); - hFile = (HANDLE*)(StartupInfo.lpReserved2 + sizeof(ULONG) + last * sizeof(char)); - for (i = 0; i < last; i++) - { - int _mode = __fileno_getmode(i); - HANDLE h = _get_osfhandle(i); - /* FIXME: The test of console handles (((ULONG)Handle) & 0x10000003) == 0x3) - * is possible wrong - */ - if ((((ULONG)h) & 0x10000003) == 0x3 || _mode & _O_NOINHERIT || (i < 3 && mode == _P_DETACH)) - { - *hFile = INVALID_HANDLE_VALUE; - *fmode = 0; - } - else - { - DWORD dwFlags; - BOOL bFlag; - bFlag = GetHandleInformation(h, &dwFlags); - if (bFlag && (dwFlags & HANDLE_FLAG_INHERIT)) - { - *hFile = h; - *fmode = (_O_ACCMODE & _mode) | (((_O_TEXT | _O_BINARY) & _mode) >> 8); - } - else - { - *hFile = INVALID_HANDLE_VALUE; - *fmode = 0; - } - } - fmode++; - hFile++; - } - } + create_io_inherit_block((STARTUPINFOA*) &StartupInfo); + + bResult = CreateProcess((_TCHAR *)cmdname, + (_TCHAR *)args, + NULL, + NULL, + TRUE, + mode == _P_DETACH ? DETACHED_PROCESS : 0, + (LPVOID)envp, + NULL, + &StartupInfo, + &ProcessInformation); + + if (StartupInfo.lpReserved2) + { + free(StartupInfo.lpReserved2); + } - bResult = CreateProcessA((char *)cmdname, - (char *)args, - NULL, - NULL, - TRUE, - mode == _P_DETACH ? DETACHED_PROCESS : 0, - (LPVOID)envp, - NULL, - &StartupInfo, - &ProcessInformation); - if (StartupInfo.lpReserved2) - { - free(StartupInfo.lpReserved2); - } - - if (!bResult) - { - dwError = GetLastError(); - DPRINT("%x\n", dwError); - __set_errno(dwError); - return -1; - } - CloseHandle(ProcessInformation.hThread); - switch(mode) - { - case _P_OVERLAY: - _exit(0); - case _P_WAIT: - WaitForSingleObject(ProcessInformation.hProcess, INFINITE); - GetExitCodeProcess(ProcessInformation.hProcess, &dwExitCode); - CloseHandle(ProcessInformation.hProcess); - return (int)dwExitCode; - case _P_DETACH: - CloseHandle(ProcessInformation.hProcess); - return 0; - } - return (int)ProcessInformation.hProcess; + if (!bResult) + { + dwError = GetLastError(); + DPRINT("%x\n", dwError); + __set_errno(dwError); + return(-1); + } + CloseHandle(ProcessInformation.hThread); + switch(mode) + { + case _P_NOWAIT: + case _P_NOWAITO: + CloseHandle(ProcessInformation.hThread); + return((int)ProcessInformation.hProcess); + case _P_OVERLAY: + _exit(0); + case _P_WAIT: + WaitForSingleObject(ProcessInformation.hProcess, INFINITE); + GetExitCodeProcess(ProcessInformation.hProcess, &dwExitCode); + CloseHandle(ProcessInformation.hProcess); + CloseHandle(ProcessInformation.hThread); + return( (int)dwExitCode); //CORRECT? + case _P_DETACH: + CloseHandle(ProcessInformation.hProcess); + CloseHandle(ProcessInformation.hThread); + return( 0); + } + return( (int)ProcessInformation.hProcess); } /* * @implemented */ -int _spawnl(int mode, const char *cmdname, const char* arg0, ...) +int _tspawnl(int mode, const _TCHAR *cmdname, const _TCHAR* arg0, ...) { - va_list argp; - char* args; - int ret = -1; + va_list argp; + _TCHAR* args; + int ret = -1; - DPRINT("_spawnl('%s')\n", cmdname); + DPRINT(MK_STR(_tspawnl)"('%"sT"')\n", cmdname); - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); - if (args) - { - ret = do_spawn(mode, cmdname, args, NULL); - free(args); - } - return ret; + if (args) + { + ret = do_spawnT(mode, cmdname, args, NULL); + free(args); + } + return ret; } /* * @implemented */ -int _spawnv(int mode, const char *cmdname, char* const* argv) +int _tspawnv(int mode, const _TCHAR *cmdname, const _TCHAR* const* argv) { - char* args; - int ret = -1; + _TCHAR* args; + int ret = -1; - DPRINT("_spawnv('%s')\n", cmdname); + DPRINT(MK_STR(_tspawnv)"('%"sT"')\n", cmdname); - args = argvtos(argv, ' '); + args = argvtosT(argv, ' '); - if (args) - { - ret = do_spawn(mode, cmdname, args, NULL); - free(args); - } - return ret; + if (args) + { + ret = do_spawnT(mode, cmdname, args, NULL); + free(args); + } + return ret; } /* * @implemented */ -int _spawnle(int mode, const char *cmdname, const char* arg0, ... /*, NULL, const char* const* envp*/) +int _tspawnle(int mode, const _TCHAR *cmdname, const _TCHAR* arg0, ... /*, NULL, const char* const* envp*/) { - va_list argp; - char* args; - char* envs; - char* const* ptr; - int ret = -1; + va_list argp; + _TCHAR* args; + _TCHAR* envs; + _TCHAR const * const* ptr; + int ret = -1; - DPRINT("_spawnle('%s')\n", cmdname); + DPRINT(MK_STR(_tspawnle)"('%"sT"')\n", cmdname); + + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); + do + { + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + } + while (ptr != NULL); + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + envs = argvtosT(ptr, 0); + if (args) + { + ret = do_spawnT(mode, cmdname, args, envs); + free(args); + } + if (envs) + { + free(envs); + } + return ret; - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); - do - { - ptr = (char* const*)va_arg(argp, char*); - } - while (ptr != NULL); - ptr = (char* const*)va_arg(argp, char*); - envs = argvtos(ptr, 0); - if (args) - { - ret = do_spawn(mode, cmdname, args, envs); - free(args); - } - if (envs) - { - free(envs); - } - return ret; - } /* * @implemented */ -int _spawnve(int mode, const char *cmdname, char* const* argv, char* const* envp) +int _tspawnve(int mode, const _TCHAR *cmdname, const _TCHAR* const* argv, const _TCHAR* const* envp) { - char *args; - char *envs; - int ret = -1; + _TCHAR *args; + _TCHAR *envs; + int ret = -1; - DPRINT("_spawnve('%s')\n", cmdname); + DPRINT(MK_STR(_tspawnve)"('%"sT"')\n", cmdname); - args = argvtos(argv, ' '); - envs = argvtos(envp, 0); + args = argvtosT(argv, ' '); + envs = argvtosT(envp, 0); - if (args) - { - ret = do_spawn(mode, cmdname, args, envs); - free(args); - } - if (envs) - { - free(envs); - } - return ret; + if (args) + { + ret = do_spawnT(mode, cmdname, args, envs); + free(args); + } + if (envs) + { + free(envs); + } + return ret; } /* * @implemented */ -int _spawnvp(int mode, const char* cmdname, char* const* argv) +int _tspawnvp(int mode, const _TCHAR* cmdname, const _TCHAR* const* argv) { - char pathname[FILENAME_MAX]; - - DPRINT("_spawnvp('%s')\n", cmdname); + _TCHAR pathname[FILENAME_MAX]; - return _spawnv(mode, find_exec(cmdname, pathname), argv); + DPRINT(MK_STR(_tspawnvp)"('%"sT"')\n", cmdname); + + return _tspawnv(mode, find_execT(cmdname, pathname), argv); } /* * @implemented */ -int _spawnlp(int mode, const char* cmdname, const char* arg0, .../*, NULL*/) +int _tspawnlp(int mode, const _TCHAR* cmdname, const _TCHAR* arg0, .../*, NULL*/) { - va_list argp; - char* args; - int ret = -1; - char pathname[FILENAME_MAX]; + va_list argp; + _TCHAR* args; + int ret = -1; + _TCHAR pathname[FILENAME_MAX]; - DPRINT("_spawnlp('%s')\n", cmdname); + DPRINT(MK_STR(_tspawnlp)"('%"sT"')\n", cmdname); - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); - if (args) - { - ret = do_spawn(mode, find_exec(cmdname, pathname), args, NULL); - free(args); - } - return ret; + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); + if (args) + { + ret = do_spawnT(mode, find_execT(cmdname, pathname), args, NULL); + free(args); + } + return ret; } /* * @implemented */ -int _spawnlpe(int mode, const char* cmdname, const char* arg0, .../*, NULL, const char* const* envp*/) +int _tspawnlpe(int mode, const _TCHAR* cmdname, const _TCHAR* arg0, .../*, NULL, const char* const* envp*/) { - va_list argp; - char* args; - char* envs; - char* const * ptr; - int ret = -1; - char pathname[FILENAME_MAX]; + va_list argp; + _TCHAR* args; + _TCHAR* envs; + _TCHAR const* const * ptr; + int ret = -1; + _TCHAR pathname[FILENAME_MAX]; - DPRINT("_spawnlpe('%s')\n", cmdname); + DPRINT(MK_STR(_tspawnlpe)"('%"sT"')\n", cmdname); - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); - do - { - ptr = (char* const*)va_arg(argp, char*); - } - while (ptr != NULL); - ptr = (char* const*)va_arg(argp, char*); - envs = argvtos(ptr, 0); - if (args) - { - ret = do_spawn(mode, find_exec(cmdname, pathname), args, envs); - free(args); - } - if (envs) - { - free(envs); - } - return ret; + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); + do + { + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + } + while (ptr != NULL); + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + envs = argvtosT(ptr, 0); + if (args) + { + ret = do_spawnT(mode, find_execT(cmdname, pathname), args, envs); + free(args); + } + if (envs) + { + free(envs); + } + return ret; } /* * @implemented */ -int _spawnvpe(int mode, const char* cmdname, char* const* argv, char* const* envp) +int _tspawnvpe(int mode, const _TCHAR* cmdname, const _TCHAR* const* argv, const _TCHAR* const* envp) { - char pathname[FILENAME_MAX]; - - DPRINT("_spawnvpe('%s')\n", cmdname); + _TCHAR pathname[FILENAME_MAX]; - return _spawnve(mode, find_exec(cmdname, pathname), argv, envp); + DPRINT(MK_STR(_tspawnvpe)"('%"sT"')\n", cmdname); + + return _tspawnve(mode, find_execT(cmdname, pathname), argv, envp); } /* * @implemented */ -int _execl(const char* cmdname, const char* arg0, ...) +int _texecl(const _TCHAR* cmdname, const _TCHAR* arg0, ...) { - char* args; - va_list argp; - int ret = -1; + _TCHAR* args; + va_list argp; + int ret = -1; - DPRINT("_execl('%s')\n", cmdname); + DPRINT(MK_STR(_texecl)"('%"sT"')\n", cmdname); - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); - if (args) - { - ret = do_spawn(P_OVERLAY, cmdname, args, NULL); - free(args); - } - return ret; + if (args) + { + ret = do_spawnT(P_OVERLAY, cmdname, args, NULL); + free(args); + } + return ret; } /* * @implemented */ -int _execv(const char* cmdname, char* const* argv) +int _texecv(const _TCHAR* cmdname, const _TCHAR* const* argv) { - DPRINT("_execv('%s')\n", cmdname); - return _spawnv(P_OVERLAY, cmdname, argv); + DPRINT(MK_STR(_texecv)"('%"sT"')\n", cmdname); + return _tspawnv(P_OVERLAY, cmdname, argv); } /* * @implemented */ -int _execle(const char* cmdname, const char* arg0, ... /*, NULL, char* const* envp */) +int _texecle(const _TCHAR* cmdname, const _TCHAR* arg0, ... /*, NULL, char* const* envp */) { - va_list argp; - char* args; - char* envs; - char* const* ptr; - int ret = -1; + va_list argp; + _TCHAR* args; + _TCHAR* envs; + _TCHAR const* const* ptr; + int ret = -1; - DPRINT("_execle('%s')\n", cmdname); + DPRINT(MK_STR(_texecle)"('%"sT"')\n", cmdname); - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); - do - { - ptr = (char* const*)va_arg(argp, char*); - } - while (ptr != NULL); - ptr = (char* const*)va_arg(argp, char*); - envs = argvtos(ptr, 0); - if (args) - { - ret = do_spawn(P_OVERLAY, cmdname, args, envs); - free(args); - } - if (envs) - { - free(envs); - } - return ret; + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); + do + { + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + } + while (ptr != NULL); + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + envs = argvtosT(ptr, 0); + if (args) + { + ret = do_spawnT(P_OVERLAY, cmdname, args, envs); + free(args); + } + if (envs) + { + free(envs); + } + return ret; } /* * @implemented */ -int _execve(const char* cmdname, char* const* argv, char* const* envp) +int _texecve(const _TCHAR* cmdname, const _TCHAR* const* argv, const _TCHAR* const* envp) { - DPRINT("_execve('%s')\n", cmdname); - return _spawnve(P_OVERLAY, cmdname, argv, envp); + DPRINT(MK_STR(_texecve)"('%"sT"')\n", cmdname); + return _tspawnve(P_OVERLAY, cmdname, argv, envp); } /* * @implemented */ -int _execlp(const char* cmdname, const char* arg0, ...) +int _texeclp(const _TCHAR* cmdname, const _TCHAR* arg0, ...) { - char* args; - va_list argp; - int ret = -1; - char pathname[FILENAME_MAX]; + _TCHAR* args; + va_list argp; + int ret = -1; + _TCHAR pathname[FILENAME_MAX]; - DPRINT("_execlp('%s')\n", cmdname); + DPRINT(MK_STR(_texeclp)"('%"sT"')\n", cmdname); - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); - if (args) - { - ret = do_spawn(P_OVERLAY, find_exec(cmdname, pathname), args, NULL); - free(args); - } - return ret; + if (args) + { + ret = do_spawnT(P_OVERLAY, find_execT(cmdname, pathname), args, NULL); + free(args); + } + return ret; } /* * @implemented */ -int _execvp(const char* cmdname, char* const* argv) +int _texecvp(const _TCHAR* cmdname, const _TCHAR* const* argv) { - DPRINT("_execvp('%s')\n", cmdname); - return _spawnvp(P_OVERLAY, cmdname, argv); + DPRINT(MK_STR(_texecvp)"('%"sT"')\n", cmdname); + return _tspawnvp(P_OVERLAY, cmdname, argv); } /* * @implemented */ -int _execlpe(const char* cmdname, const char* arg0, ... /*, NULL, char* const* envp */) +int _texeclpe(const _TCHAR* cmdname, const _TCHAR* arg0, ... /*, NULL, char* const* envp */) { - va_list argp; - char* args; - char* envs; - char* const* ptr; - int ret = -1; - char pathname[FILENAME_MAX]; + va_list argp; + _TCHAR* args; + _TCHAR* envs; + _TCHAR const* const* ptr; + int ret = -1; + _TCHAR pathname[FILENAME_MAX]; - DPRINT("_execlpe('%s')\n", cmdname); + DPRINT(MK_STR(_texeclpe)"('%"sT"')\n", cmdname); - va_start(argp, arg0); - args = valisttos(arg0, argp, ' '); - do - { - ptr = (char* const*)va_arg(argp, char*); - } - while (ptr != NULL); - ptr = (char* const*)va_arg(argp, char*); - envs = argvtos(ptr, 0); - if (args) - { - ret = do_spawn(P_OVERLAY, find_exec(cmdname, pathname), args, envs); - free(args); - } - if (envs) - { - free(envs); - } - return ret; + va_start(argp, arg0); + args = valisttosT(arg0, argp, ' '); + do + { + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + } + while (ptr != NULL); + ptr = (_TCHAR const* const*)va_arg(argp, _TCHAR*); + envs = argvtosT(ptr, 0); + if (args) + { + ret = do_spawnT(P_OVERLAY, find_execT(cmdname, pathname), args, envs); + free(args); + } + if (envs) + { + free(envs); + } + return ret; } /* * @implemented */ -int _execvpe(const char* cmdname, char* const* argv, char* const* envp) +int _texecvpe(const _TCHAR* cmdname, const _TCHAR* const* argv, const _TCHAR* const* envp) { - DPRINT("_execvpe('%s')\n", cmdname); - return _spawnvpe(P_OVERLAY, cmdname, argv, envp); + DPRINT(MK_STR(_texecvpe)"('%"sT"')\n", cmdname); + return _tspawnvpe(P_OVERLAY, cmdname, argv, envp); } + diff --git a/reactos/lib/crt/process/procid.c b/reactos/lib/crt/process/procid.c index 87c145828c6..09c1a830573 100644 --- a/reactos/lib/crt/process/procid.c +++ b/reactos/lib/crt/process/procid.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include /* * @implemented diff --git a/reactos/lib/crt/process/thread.c b/reactos/lib/crt/process/thread.c index 1c601745c3f..fd59896dae5 100644 --- a/reactos/lib/crt/process/thread.c +++ b/reactos/lib/crt/process/thread.c @@ -1,7 +1,7 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include #if 0 /* diff --git a/reactos/lib/crt/process/threadid.c b/reactos/lib/crt/process/threadid.c index 5d225c73f33..7e68e94402a 100644 --- a/reactos/lib/crt/process/threadid.c +++ b/reactos/lib/crt/process/threadid.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include /* diff --git a/reactos/lib/crt/process/threadx.c b/reactos/lib/crt/process/threadx.c index d86d62e27e7..8dc630110be 100644 --- a/reactos/lib/crt/process/threadx.c +++ b/reactos/lib/crt/process/threadx.c @@ -1,7 +1,7 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/process/wprocess.c b/reactos/lib/crt/process/wprocess.c new file mode 100644 index 00000000000..9bee2c8df4e --- /dev/null +++ b/reactos/lib/crt/process/wprocess.c @@ -0,0 +1,4 @@ +#define _UNICODE +#define UNICODE + +#include "process.c" diff --git a/reactos/lib/crt/search/lfind.c b/reactos/lib/crt/search/lfind.c index e89efa63c9b..72a7ceea1d2 100644 --- a/reactos/lib/crt/search/lfind.c +++ b/reactos/lib/crt/search/lfind.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/search/lsearch.c b/reactos/lib/crt/search/lsearch.c index a8465ae7853..37df9ffb003 100644 --- a/reactos/lib/crt/search/lsearch.c +++ b/reactos/lib/crt/search/lsearch.c @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/signal/signal.c b/reactos/lib/crt/signal/signal.c index 6272b2f6854..a893fce1669 100644 --- a/reactos/lib/crt/signal/signal.c +++ b/reactos/lib/crt/signal/signal.c @@ -1,77 +1,85 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include void _default_handler(int signal); -typedef struct _sig_element +//typedef void (*_p_sig_fn_t)(int); + + +typedef struct _sig_element { - int signal; - char *signame; - _p_sig_fn_t handler; -} sig_element; + int signal; + char *signame; + __p_sig_fn_t handler; +} +sig_element; -static sig_element signal_list[SIGMAX] = - { - { 0, "Signal 0", SIG_DFL }, - { SIGABRT, "Aborted",SIG_DFL }, - { SIGFPE, "Erroneous arithmetic operation",SIG_DFL }, - { SIGILL, "Illegal instruction",SIG_DFL }, - { SIGINT, "Interrupt",SIG_DFL }, - { SIGSEGV, "Invalid access to storage",SIG_DFL }, - { SIGTERM, "Terminated",SIG_DFL }, - { SIGHUP, "Hangup",SIG_DFL }, - { SIGQUIT, "Quit",SIG_DFL }, - { SIGPIPE, "Broken pipe",SIG_DFL }, - { SIGKILL, "Killed",SIG_DFL }, - { SIGALRM, "Alarm clock",SIG_DFL }, - { 0, "Stopped (signal)",SIG_DFL }, - { 0, "Stopped",SIG_DFL }, - { 0, "Continued",SIG_DFL }, - { 0, "Child exited",SIG_DFL }, - { 0, "Stopped (tty input)",SIG_DFL }, - { 0, "Stopped (tty output)",SIG_DFL }, - { 0, NULL, SIG_DFL } - }; -int nsignal = 21; +static sig_element signal_list[] = + { + { SIGINT, "CTRL+C",SIG_DFL }, + { SIGILL, "Illegal instruction",SIG_DFL }, + { SIGFPE, "Floating-point exception",SIG_DFL }, + { SIGSEGV, "Illegal storage access",SIG_DFL }, + { SIGTERM, "Termination request",SIG_DFL }, + { SIGBREAK, "CTRL+BREAK",SIG_DFL }, + { SIGABRT, "Abnormal termination",SIG_DFL } + }; + +//int nsignal = 21; /* * @implemented */ -_p_sig_fn_t signal(int sig, _p_sig_fn_t func) +//void ( *signal( int sig, void (__cdecl *func) ( int sig [, int subcode ] )) ) ( int sig ); + + + + +__p_sig_fn_t signal(int sig, __p_sig_fn_t func) { - _p_sig_fn_t temp; - int i; - if(sig <= 0 || sig > SIGMAX || sig == SIGKILL) - { - __set_errno(EINVAL); - return SIG_ERR; - } -// check with IsBadCodePtr + __p_sig_fn_t temp; + int i; - if ( func < (_p_sig_fn_t)4096 ) { - __set_errno(EINVAL); - return SIG_ERR; - } + switch (sig) + { + case SIGINT: + case SIGILL: + case SIGFPE: + case SIGSEGV: + case SIGTERM: + case SIGBREAK: + case SIGABRT: + break; - for(i=0;i SIGMAX) - return -1; - for(i=0;i SIGMAX) + // return -1; + + for(i=0;i +#include /* * @unimplemented diff --git a/reactos/lib/crt/stdio/allocfil.c b/reactos/lib/crt/stdio/allocfil.c index d1e08f2f2c7..d8fc1b24e3c 100644 --- a/reactos/lib/crt/stdio/allocfil.c +++ b/reactos/lib/crt/stdio/allocfil.c @@ -1,11 +1,10 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include +#include +#include +#include +#include -FILE * __alloc_file(void); char __validfp (FILE *f) { diff --git a/reactos/lib/crt/stdio/clearerr.c b/reactos/lib/crt/stdio/clearerr.c index 29ff9120475..48aaeeae78d 100644 --- a/reactos/lib/crt/stdio/clearerr.c +++ b/reactos/lib/crt/stdio/clearerr.c @@ -1,7 +1,8 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include + #ifdef clearerr #undef clearerr diff --git a/reactos/lib/crt/stdio/fclose.c b/reactos/lib/crt/stdio/fclose.c index f39c21f1a91..62591986cd0 100644 --- a/reactos/lib/crt/stdio/fclose.c +++ b/reactos/lib/crt/stdio/fclose.c @@ -1,12 +1,14 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include + // changed check for writable stream @@ -31,17 +33,17 @@ fclose(FILE *f) if ( OPEN4WRITING(f) ) r = fflush(f); - if (_close(fileno(f)) < 0) + if (_close(_fileno(f)) < 0) r = EOF; if (f->_flag&_IOMYBUF) free(f->_base); // Kernel might do this later - if (f->_flag & _IORMONCL && f->_name_to_remove) + if (f->_flag & _IORMONCL && f->_tmpfname) { - remove(f->_name_to_remove); - free(f->_name_to_remove); - f->_name_to_remove = 0; + remove(f->_tmpfname); + free(f->_tmpfname); + f->_tmpfname = 0; } } f->_cnt = 0; diff --git a/reactos/lib/crt/stdio/fdopen.c b/reactos/lib/crt/stdio/fdopen.c index f6d44ace5b4..198fad78397 100644 --- a/reactos/lib/crt/stdio/fdopen.c +++ b/reactos/lib/crt/stdio/fdopen.c @@ -1,13 +1,22 @@ -#include -#include -FILE* __alloc_file(void); + +#include +#include +#include + + + + /* * @implemented */ -FILE* _fdopen(int handle, char* mode) +FILE* _tfdopen(int handle, +#ifndef _UNICODE + const +#endif + _TCHAR* mode) { FILE* file; int rw; @@ -21,12 +30,6 @@ FILE* _fdopen(int handle, char* mode) if (handle == 2) return stderr; - if (handle == 3) - return stdaux; - - if (handle == 4) - return stdprn; - file = __alloc_file(); if (file == NULL) return NULL; @@ -55,3 +58,5 @@ FILE* _fdopen(int handle, char* mode) return file; } + + diff --git a/reactos/lib/crt/stdio/feof.c b/reactos/lib/crt/stdio/feof.c index 9591e213705..60aa3b5cb26 100644 --- a/reactos/lib/crt/stdio/feof.c +++ b/reactos/lib/crt/stdio/feof.c @@ -1,7 +1,7 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include #ifdef feof #undef feof diff --git a/reactos/lib/crt/stdio/ferror.c b/reactos/lib/crt/stdio/ferror.c index f9381703ca8..b1aeb084d2b 100644 --- a/reactos/lib/crt/stdio/ferror.c +++ b/reactos/lib/crt/stdio/ferror.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include #ifdef ferror #undef ferror diff --git a/reactos/lib/crt/stdio/fflush.c b/reactos/lib/crt/stdio/fflush.c index e70e4cf41ef..8327160be61 100644 --- a/reactos/lib/crt/stdio/fflush.c +++ b/reactos/lib/crt/stdio/fflush.c @@ -11,13 +11,14 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include /* @@ -75,7 +76,7 @@ int fflush(FILE *f) if ((f->_flag & _IOFBF) == _IOFBF) { if ( (f->_flag & _IOAHEAD) == _IOAHEAD ) - _lseek(fileno(f),-rn, SEEK_CUR); + _lseek(_fileno(f),-rn, SEEK_CUR); } f->_flag &= ~_IOAHEAD; @@ -89,7 +90,7 @@ int fflush(FILE *f) // better open the file in write through mode while (rn > 0) { - n = _write(fileno(f), base, rn); + n = _write(_fileno(f), base, rn); if (n <= 0) { f->_flag |= _IOERR; return EOF; @@ -100,7 +101,7 @@ int fflush(FILE *f) f->_flag &= ~_IODIRTY; // commit flushed data -// _commit(fileno(f)); +// _commit(_fileno(f)); } if (OPEN4READING(f) && OPEN4WRITING(f) ) { diff --git a/reactos/lib/crt/stdio/fgetc.c b/reactos/lib/crt/stdio/fgetc.c index e26fe17615d..7d02b2add8f 100644 --- a/reactos/lib/crt/stdio/fgetc.c +++ b/reactos/lib/crt/stdio/fgetc.c @@ -9,8 +9,8 @@ 25/02/99: Added fgetwc */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdio/fgetchar.c b/reactos/lib/crt/stdio/fgetchar.c index 7dd752a82d5..d7200f14ced 100644 --- a/reactos/lib/crt/stdio/fgetchar.c +++ b/reactos/lib/crt/stdio/fgetchar.c @@ -21,8 +21,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include +#include +#include int _fgetchar(void) { diff --git a/reactos/lib/crt/stdio/fgetpos.c b/reactos/lib/crt/stdio/fgetpos.c index b4b61247e98..5ff194fbb6e 100644 --- a/reactos/lib/crt/stdio/fgetpos.c +++ b/reactos/lib/crt/stdio/fgetpos.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdio/fgets.c b/reactos/lib/crt/stdio/fgets.c index 403f4629ea9..8b721eb9c47 100644 --- a/reactos/lib/crt/stdio/fgets.c +++ b/reactos/lib/crt/stdio/fgets.c @@ -25,8 +25,8 @@ */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include char* fgets(char* s, int n, FILE* f) diff --git a/reactos/lib/crt/stdio/fgetws.c b/reactos/lib/crt/stdio/fgetws.c index 0f2dae645dd..fece814b605 100644 --- a/reactos/lib/crt/stdio/fgetws.c +++ b/reactos/lib/crt/stdio/fgetws.c @@ -25,8 +25,8 @@ */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include //#include diff --git a/reactos/lib/crt/stdio/filbuf.c b/reactos/lib/crt/stdio/filbuf.c index 64b2134f5c3..db07a54135a 100644 --- a/reactos/lib/crt/stdio/filbuf.c +++ b/reactos/lib/crt/stdio/filbuf.c @@ -2,14 +2,14 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include int _readcnv(int fn, void* buf, size_t siz); @@ -57,7 +57,7 @@ int _filbuf(FILE* f) - f->_cnt = _read(fileno(f), f->_base, f->_flag & _IONBF ? 1 : f->_bufsiz ); + f->_cnt = _read(_fileno(f), f->_base, f->_flag & _IONBF ? 1 : f->_bufsiz ); f->_flag |= _IOAHEAD; if(__is_text_file(f) && f->_cnt>0) @@ -67,7 +67,7 @@ int _filbuf(FILE* f) if(cz) { int newcnt = cz - f->_base; - lseek(fileno(f), -(f->_cnt - newcnt), SEEK_CUR); + _lseek(_fileno(f), -(f->_cnt - newcnt), SEEK_CUR); f->_cnt = newcnt; } } diff --git a/reactos/lib/crt/stdio/fileno.c b/reactos/lib/crt/stdio/fileno.c index 9c6900ed71b..454615c1c4c 100644 --- a/reactos/lib/crt/stdio/fileno.c +++ b/reactos/lib/crt/stdio/fileno.c @@ -1,12 +1,7 @@ -#include +#include +#include -#if 0 -#undef fileno -int fileno(FILE *f) -{ - return f->_file; -} -#endif +#undef _fileno /* * @implemented diff --git a/reactos/lib/crt/stdio/flsbuf.c b/reactos/lib/crt/stdio/flsbuf.c index 2ca113c15be..7875a2312a6 100644 --- a/reactos/lib/crt/stdio/flsbuf.c +++ b/reactos/lib/crt/stdio/flsbuf.c @@ -1,14 +1,13 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include -#include -#include - +#include +#include +#include +#include +#include +#include +#include int cntcr(char* bufp, int bufsiz); int convert(char* endp, int bufsiz, int n); @@ -31,7 +30,7 @@ int _flsbuf(int c, FILE* f) } // no file associated with buffer, this is a memory stream - if (fileno(f) == -1) { + if (_fileno(f) == -1) { return c; } @@ -46,7 +45,7 @@ int _flsbuf(int c, FILE* f) f->_cnt = f->_bufsiz = size; f->_ptr = base; rn = 0; - if (f == stdout && isatty(fileno(stdout))) { + if (f == stdout && _isatty(_fileno(stdout))) { f->_flag |= _IO_LBF; } } @@ -76,13 +75,13 @@ int _flsbuf(int c, FILE* f) rn = f->_ptr - base; f->_ptr = base; if ((f->_flag & _IOAHEAD) == _IOAHEAD) - _lseek(fileno(f), -(rn+f->_cnt), SEEK_CUR); + _lseek(_fileno(f), -(rn+f->_cnt), SEEK_CUR); f->_cnt = f->_bufsiz; f->_flag &= ~_IOAHEAD; } f->_flag &= ~_IODIRTY; while (rn > 0) { - n = _write(fileno(f), base, rn); + n = _write(_fileno(f), base, rn); if (n <= 0) { f->_flag |= _IOERR; return EOF; diff --git a/reactos/lib/crt/stdio/fopen.c b/reactos/lib/crt/stdio/fopen.c index eb309c9f798..1bbbd3b2751 100644 --- a/reactos/lib/crt/stdio/fopen.c +++ b/reactos/lib/crt/stdio/fopen.c @@ -25,19 +25,19 @@ */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include //might change fopen(file,mode) -> fsopen(file,mode,_SH_DENYNO); -FILE* __alloc_file(void); -FILE* fopen(const char *file, const char *mode) +FILE* _tfopen(const _TCHAR *file, const _TCHAR *mode) { FILE *f; int fd, rw, oflags = 0; @@ -51,106 +51,45 @@ FILE* fopen(const char *file, const char *mode) if (f == NULL) return NULL; - rw = (strchr(mode, '+') == NULL) ? 0 : 1; - if (strchr(mode, 'a')) + rw = (_tcschr(mode, '+') == NULL) ? 0 : 1; + if (_tcschr(mode, 'a')) oflags = O_CREAT | (rw ? O_RDWR : O_WRONLY); - if (strchr(mode, 'r')) + if (_tcschr(mode, 'r')) oflags = rw ? O_RDWR : O_RDONLY; - if (strchr(mode, 'w')) + if (_tcschr(mode, 'w')) oflags = O_TRUNC | O_CREAT | (rw ? O_RDWR : O_WRONLY); - if (strchr(mode, 't')) + if (_tcschr(mode, 't')) oflags |= O_TEXT; - else if (strchr(mode, 'b')) + else if (_tcschr(mode, 'b')) oflags |= O_BINARY; else - oflags |= (__fmode & (O_TEXT|O_BINARY)); + oflags |= (_fmode& (O_TEXT|O_BINARY)); - fd = _open(file, oflags, 0); + fd = _topen(file, oflags, 0); if (fd < 0) return NULL; // msvcrt ensures that writes will end up at the end of file in append mode // we just move the file pointer to the end of file initially - if (strchr(mode, 'a')) - lseek(fd, 0, SEEK_END); + if (_tcschr(mode, 'a')) + _lseek(fd, 0, SEEK_END); f->_cnt = 0; f->_file = fd; f->_bufsiz = 0; if (rw) f->_flag = _IOREAD | _IOWRT; - else if (strchr(mode, 'r')) + else if (_tcschr(mode, 'r')) f->_flag = _IOREAD; else f->_flag = _IOWRT; - if (strchr(mode, 't')) + if (_tcschr(mode, 't')) f->_flag |= _IOTEXT; - else if (strchr(mode, 'b')) + else if (_tcschr(mode, 'b')) f->_flag |= _IOBINARY; - else if (__fmode & O_BINARY) - f->_flag |= _IOBINARY; - - f->_base = f->_ptr = NULL; - return f; -} - -/* - * @implemented - */ -FILE* _wfopen(const wchar_t *file, const wchar_t *mode) -{ - FILE *f; - int fd, rw, oflags = 0; - - if (file == 0) - return 0; - if (mode == 0) - return 0; - - f = __alloc_file(); - if (f == NULL) - return NULL; - - rw = (wcschr(mode, L'+') == NULL) ? 0 : 1; - if (wcschr(mode, L'a')) - oflags = O_CREAT | (rw ? O_RDWR : O_WRONLY); - if (wcschr(mode, L'r')) - oflags = rw ? O_RDWR : O_RDONLY; - if (wcschr(mode, L'w')) - oflags = O_TRUNC | O_CREAT | (rw ? O_RDWR : O_WRONLY); - if (wcschr(mode, L't')) - oflags |= O_TEXT; - else if (wcschr(mode, L'b')) - oflags |= O_BINARY; - else - oflags |= (__fmode & (O_TEXT|O_BINARY)); - - fd = _wopen(file, oflags, 0); - if (fd < 0) - return NULL; - -// msvcrt ensures that writes will end up at the end of file in append mode -// we just move the file pointer to the end of file initially - if (wcschr(mode, 'a')) - lseek(fd, 0, SEEK_END); - - f->_cnt = 0; - f->_file = fd; - f->_bufsiz = 0; - if (rw) - f->_flag = _IOREAD | _IOWRT; - else if (wcschr(mode, L'r')) - f->_flag = _IOREAD; - else - f->_flag = _IOWRT; - - if (wcschr(mode, L't')) - f->_flag |= _IOTEXT; - else if (wcschr(mode, L'b')) - f->_flag |= _IOBINARY; - else if (__fmode & O_BINARY) + else if (_fmode& O_BINARY) f->_flag |= _IOBINARY; f->_base = f->_ptr = NULL; diff --git a/reactos/lib/crt/stdio/fprintf.c b/reactos/lib/crt/stdio/fprintf.c index a5589b6de6a..21bfe4fc7e1 100644 --- a/reactos/lib/crt/stdio/fprintf.c +++ b/reactos/lib/crt/stdio/fprintf.c @@ -1,45 +1,17 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include +#include /* * @implemented */ int -fprintf(register FILE *iop, const char *fmt, ...) +_ftprintf(register FILE *iop, const _TCHAR *fmt, ...) { int len; - char localbuf[BUFSIZ]; - va_list a=0; - - - va_start( a, fmt ); - if (iop->_flag & _IONBF) - { - iop->_flag &= ~_IONBF; - iop->_ptr = iop->_base = localbuf; - iop->_bufsiz = BUFSIZ; - len = vfprintf(iop,fmt,a); - fflush(iop); - iop->_flag |= _IONBF; - iop->_base = NULL; - iop->_bufsiz = 0; - iop->_cnt = 0; - } - else - len = vfprintf(iop, fmt, a); - return ferror(iop) ? EOF : len; -} - -/* - * @implemented - */ -int -fwprintf(register FILE *iop, const wchar_t *fmt, ...) -{ - int len; - wchar_t localbuf[BUFSIZ]; + _TCHAR localbuf[BUFSIZ]; va_list a=0; @@ -49,7 +21,7 @@ fwprintf(register FILE *iop, const wchar_t *fmt, ...) iop->_flag &= ~_IONBF; iop->_ptr = iop->_base = (char *)localbuf; iop->_bufsiz = BUFSIZ; - len = vfwprintf(iop,fmt,a); + len = _vftprintf(iop,fmt,a); fflush(iop); iop->_flag |= _IONBF; iop->_base = NULL; @@ -57,6 +29,6 @@ fwprintf(register FILE *iop, const wchar_t *fmt, ...) iop->_cnt = 0; } else - len = vfwprintf(iop, fmt, a); - return ferror(iop) ? EOF : len; + len = _vftprintf(iop, fmt, a); + return ferror(iop) ? -1 : len; } diff --git a/reactos/lib/crt/stdio/fputc.c b/reactos/lib/crt/stdio/fputc.c index c08cccec557..55dde146538 100644 --- a/reactos/lib/crt/stdio/fputc.c +++ b/reactos/lib/crt/stdio/fputc.c @@ -1,7 +1,7 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdio/fputchar.c b/reactos/lib/crt/stdio/fputchar.c index 7faa7be615b..8ec8edb312c 100644 --- a/reactos/lib/crt/stdio/fputchar.c +++ b/reactos/lib/crt/stdio/fputchar.c @@ -21,7 +21,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include +#include int _fputchar(int c) @@ -32,7 +32,7 @@ int _fputchar(int c) /* * @implemented */ -int _fputwchar(wchar_t c) +wint_t _fputwchar(wint_t c) { return putwc(c, stdout); } diff --git a/reactos/lib/crt/stdio/fputs.c b/reactos/lib/crt/stdio/fputs.c index de54fd02ebc..36c082bbda3 100644 --- a/reactos/lib/crt/stdio/fputs.c +++ b/reactos/lib/crt/stdio/fputs.c @@ -26,51 +26,18 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include "precomp.h" -#include -#include -#include +#include +#include +#include +#include int -fputs(const char *s, FILE *f) +_fputts(const _TCHAR *s, FILE *f) { int r = 0; int c; int unbuffered; - char localbuf[BUFSIZ]; - - unbuffered = f->_flag & _IONBF; - if (unbuffered) - { - f->_flag &= ~_IONBF; - f->_ptr = f->_base = localbuf; - f->_bufsiz = BUFSIZ; - } - - while ((c = *s++)) - r = putc(c, f); - - if (unbuffered) - { - fflush(f); - f->_flag |= _IONBF; - f->_base = NULL; - f->_bufsiz = 0; - f->_cnt = 0; - } - - return(r); -} - -/* - * @implemented - */ -int -fputws(const wchar_t* s, FILE* f) -{ - int r = 0; - int unbuffered; - wchar_t c; - wchar_t localbuf[BUFSIZ]; + _TCHAR localbuf[BUFSIZ]; unbuffered = f->_flag & _IONBF; if (unbuffered) @@ -81,7 +48,7 @@ fputws(const wchar_t* s, FILE* f) } while ((c = *s++)) - r = putwc(c, f); + r = _puttc(c, f); if (unbuffered) { @@ -91,5 +58,7 @@ fputws(const wchar_t* s, FILE* f) f->_bufsiz = 0; f->_cnt = 0; } + return(r); } + diff --git a/reactos/lib/crt/stdio/fputws.c b/reactos/lib/crt/stdio/fputws.c new file mode 100644 index 00000000000..e024d58220c --- /dev/null +++ b/reactos/lib/crt/stdio/fputws.c @@ -0,0 +1,5 @@ + +#define UNICODE +#define _UNICODE + +#include "fputs.c" diff --git a/reactos/lib/crt/stdio/fread.c b/reactos/lib/crt/stdio/fread.c index 8f6136cc629..905e74e76f6 100644 --- a/reactos/lib/crt/stdio/fread.c +++ b/reactos/lib/crt/stdio/fread.c @@ -1,8 +1,8 @@ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* @@ -60,7 +60,7 @@ size_t fread(void *vptr, size_t size, size_t count, FILE *iop) if (to_read >= iop->_bufsiz) { - n_read = _read(fileno(iop), ptr, to_read); + n_read = _read(_fileno(iop), ptr, to_read); if (n_read < 0) iop->_flag |= _IOERR; else if (n_read == 0) diff --git a/reactos/lib/crt/stdio/freopen.c b/reactos/lib/crt/stdio/freopen.c index 881e765e889..738eb199a3c 100644 --- a/reactos/lib/crt/stdio/freopen.c +++ b/reactos/lib/crt/stdio/freopen.c @@ -1,19 +1,20 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include /* * @implemented */ -FILE *freopen(const char *file, const char *mode, FILE *f) +FILE *_tfreopen(const _TCHAR *file, const _TCHAR *mode, FILE *f) { int fd, rw, oflags=0; - char tbchar; + _TCHAR tbchar; if (file == 0 || mode == 0 || f == 0) return 0; @@ -44,14 +45,14 @@ FILE *freopen(const char *file, const char *mode, FILE *f) else if (tbchar == 'b') oflags |= O_BINARY; else - oflags |= (__fmode & (O_TEXT|O_BINARY)); + oflags |= (_fmode& (O_TEXT|O_BINARY)); - fd = _open(file, oflags, 0666); + fd = _topen(file, oflags, 0666); if (fd < 0) return NULL; if (*mode == 'a') - lseek(fd, 0, SEEK_END); + _lseek(fd, 0, SEEK_END); f->_cnt = 0; f->_file = fd; @@ -67,62 +68,3 @@ FILE *freopen(const char *file, const char *mode, FILE *f) return f; } -/* - * @implemented - */ -FILE *_wfreopen(const wchar_t *file, const wchar_t *mode, FILE *f) -{ - int fd, rw, oflags=0; - wchar_t tbchar; - - if (file == 0 || mode == 0 || f == 0) - return 0; - - rw = (mode[1] == L'+'); - - fclose(f); - - switch (*mode) { - case L'a': - oflags = O_CREAT | (rw ? O_RDWR : O_WRONLY); - break; - case L'r': - oflags = rw ? O_RDWR : O_RDONLY; - break; - case L'w': - oflags = O_TRUNC | O_CREAT | (rw ? O_RDWR : O_WRONLY); - break; - default: - return NULL; - } - if (mode[1] == L'+') - tbchar = mode[2]; - else - tbchar = mode[1]; - if (tbchar == L't') - oflags |= O_TEXT; - else if (tbchar == L'b') - oflags |= O_BINARY; - else - oflags |= (__fmode & (O_TEXT|O_BINARY)); - - fd = _wopen(file, oflags, 0666); - if (fd < 0) - return NULL; - - if (*mode == L'a') - lseek(fd, 0, SEEK_END); - - f->_cnt = 0; - f->_file = fd; - f->_bufsiz = 0; - if (rw) - f->_flag = _IOREAD | _IOWRT; - else if (*mode == L'r') - f->_flag = _IOREAD; - else - f->_flag = _IOWRT; - - f->_base = f->_ptr = NULL; - return f; -} diff --git a/reactos/lib/crt/stdio/fseek.c b/reactos/lib/crt/stdio/fseek.c index 664c4287a3f..516be6325b5 100644 --- a/reactos/lib/crt/stdio/fseek.c +++ b/reactos/lib/crt/stdio/fseek.c @@ -2,11 +2,11 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* @@ -42,7 +42,7 @@ int fseek(FILE *f, long offset, int ptrname) } } - p = lseek(fileno(f), offset, ptrname); + p = _lseek(_fileno(f), offset, ptrname); f->_cnt = 0; f->_ptr = f->_base; f->_flag &= ~_IOUNGETC; @@ -50,7 +50,7 @@ int fseek(FILE *f, long offset, int ptrname) else { p = fflush(f); - return lseek(fileno(f), offset, ptrname) == -1 || p == EOF ? + return _lseek(_fileno(f), offset, ptrname) == -1 || p == EOF ? -1 : 0; } return p==-1 ? -1 : 0; diff --git a/reactos/lib/crt/stdio/fsetpos.c b/reactos/lib/crt/stdio/fsetpos.c index 9bb8e56ca27..0c7fe1daf2b 100644 --- a/reactos/lib/crt/stdio/fsetpos.c +++ b/reactos/lib/crt/stdio/fsetpos.c @@ -1,7 +1,7 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdio/fsopen.c b/reactos/lib/crt/stdio/fsopen.c index 94d39aa1c90..571dacbc322 100644 --- a/reactos/lib/crt/stdio/fsopen.c +++ b/reactos/lib/crt/stdio/fsopen.c @@ -9,25 +9,26 @@ */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include -FILE * __alloc_file(void); /* * @implemented */ -FILE* _fsopen(const char *file, const char *mode, int shflag) +FILE* _tfsopen(const _TCHAR *file, const _TCHAR *mode, int shflag) { FILE *f; int fd, rw, oflags = 0; - char tbchar; + _TCHAR tbchar; int shf; @@ -65,7 +66,7 @@ FILE* _fsopen(const char *file, const char *mode, int shflag) else if (tbchar == 'b') oflags |= O_BINARY; else - oflags |= (__fmode & (O_TEXT|O_BINARY)); + oflags |= (_fmode& (O_TEXT|O_BINARY)); if ( shflag == _SH_DENYNO ) shf = _S_IREAD | _S_IWRITE; @@ -78,14 +79,14 @@ FILE* _fsopen(const char *file, const char *mode, int shflag) else shf = _S_IREAD | _S_IWRITE; - fd = _open(file, oflags, shf); + fd = _topen(file, oflags, shf); if (fd < 0) return NULL; // msvcrt ensures that writes will end up at the end of file in append mode // we just move the file pointer to the end of file initially if (*mode == 'a') - lseek(fd, 0, SEEK_END); + _lseek(fd, 0, SEEK_END); f->_cnt = 0; f->_file = fd; @@ -101,83 +102,3 @@ FILE* _fsopen(const char *file, const char *mode, int shflag) return f; } -/* - * @implemented - */ -FILE* _wfsopen(const wchar_t *file, const wchar_t *mode, int shflag) -{ - FILE *f; - int fd, rw, oflags = 0; - wchar_t tbchar; - - int shf; - - if (file == 0) - return 0; - if (mode == 0) - return 0; - - f = __alloc_file(); - if (f == NULL) - return NULL; - - rw = (mode[1] == L'+') || (mode[1] && (mode[2] == L'+')); - - switch (*mode) - { - case L'a': - oflags = O_CREAT | (rw ? O_RDWR : O_WRONLY); - break; - case L'r': - oflags = rw ? O_RDWR : O_RDONLY; - break; - case L'w': - oflags = O_TRUNC | O_CREAT | (rw ? O_RDWR : O_WRONLY); - break; - default: - return (NULL); - } - if (mode[1] == L'+') - tbchar = mode[2]; - else - tbchar = mode[1]; - if (tbchar == L't') - oflags |= O_TEXT; - else if (tbchar == L'b') - oflags |= O_BINARY; - else - oflags |= (__fmode & (O_TEXT|O_BINARY)); - - if ( shflag == _SH_DENYNO ) - shf = _S_IREAD | _S_IWRITE; - else if( shflag == _SH_DENYRD ) - shf = _S_IWRITE; - else if( shflag == _SH_DENYRW ) - shf = 0; - else if( shflag == _SH_DENYWR ) - shf = _S_IREAD; - else - shf = _S_IREAD | _S_IWRITE; - - fd = _wopen(file, oflags, shf); - if (fd < 0) - return NULL; - -// msvcrt ensures that writes will end up at the end of file in append mode -// we just move the file pointer to the end of file initially - if (*mode == L'a') - lseek(fd, 0, SEEK_END); - - f->_cnt = 0; - f->_file = fd; - f->_bufsiz = 0; - if (rw) - f->_flag = _IOREAD | _IOWRT; - else if (*mode == L'r') - f->_flag = _IOREAD; - else - f->_flag = _IOWRT; - - f->_base = f->_ptr = NULL; - return f; -} diff --git a/reactos/lib/crt/stdio/ftell.c b/reactos/lib/crt/stdio/ftell.c index 93c048c7daf..c93bc1c7bf9 100644 --- a/reactos/lib/crt/stdio/ftell.c +++ b/reactos/lib/crt/stdio/ftell.c @@ -1,11 +1,11 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* @@ -36,7 +36,7 @@ long ftell(FILE *f) else return -1; - tres = lseek(fileno(f), 0L, SEEK_CUR); + tres = _lseek(_fileno(f), 0L, SEEK_CUR); if (tres<0) return tres; tres += adjust; diff --git a/reactos/lib/crt/stdio/fwalk.c b/reactos/lib/crt/stdio/fwalk.c index f1e117ffd1b..f30d438b730 100644 --- a/reactos/lib/crt/stdio/fwalk.c +++ b/reactos/lib/crt/stdio/fwalk.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include // not exported by msvcrt or crtdll diff --git a/reactos/lib/crt/stdio/fwprintf.c b/reactos/lib/crt/stdio/fwprintf.c new file mode 100644 index 00000000000..dd273a26bba --- /dev/null +++ b/reactos/lib/crt/stdio/fwprintf.c @@ -0,0 +1,4 @@ +#define UNICODE +#define _UNICODE + +#include "fprintf.c" diff --git a/reactos/lib/crt/stdio/fwrite.c b/reactos/lib/crt/stdio/fwrite.c index 24d5739a01c..399b63fdea4 100644 --- a/reactos/lib/crt/stdio/fwrite.c +++ b/reactos/lib/crt/stdio/fwrite.c @@ -1,10 +1,12 @@ -#include -#include -#include -#include -#include + +#include +#include +#include +#include +#include + #define NDEBUG -#include +#include /* @@ -16,32 +18,32 @@ size_t fwrite(const void *vptr, size_t size, size_t count, FILE *iop) unsigned char *ptr = (unsigned char *)vptr; int copy; - DPRINT("fwrite(%x, %d, %d, %x)\n", vptr, size, count, iop); + TRACE("fwrite(%x, %d, %d, %x)", vptr, size, count, iop); to_write = size*count; if (!OPEN4WRITING(iop)) { __set_errno (EINVAL); - return 0; + return(0); } if (iop == NULL) { __set_errno (EINVAL); - return 0; + return(0); } if (ferror (iop)) - return 0; + return(0); if (vptr == NULL || to_write == 0) - return 0; + return(0); if (iop->_base == NULL && !(iop->_flag&_IONBF)) { if (EOF == _flsbuf(*ptr++, iop)) - return 0; + return(0); if (--to_write == 0) - return 1; + return(1); } if (iop->_flag & _IO_LBF) @@ -78,7 +80,7 @@ size_t fwrite(const void *vptr, size_t size, size_t count, FILE *iop) { while (to_write > 0) { - n_written = _write(fileno(iop), ptr, to_write); + n_written = _write(_fileno(iop), ptr, to_write); if (n_written <= 0) { iop->_flag |= _IOERR; @@ -103,12 +105,12 @@ size_t fwrite(const void *vptr, size_t size, size_t count, FILE *iop) iop->_ptr += to_write; iop->_cnt -= to_write; iop->_flag |= _IODIRTY; - return count; + return(count); } } } } } - return count - (to_write/size); + return(count - (to_write/size)); } diff --git a/reactos/lib/crt/stdio/getc.c b/reactos/lib/crt/stdio/getc.c index 83a30053152..5c0392fd10d 100644 --- a/reactos/lib/crt/stdio/getc.c +++ b/reactos/lib/crt/stdio/getc.c @@ -22,10 +22,10 @@ */ #include "precomp.h" -#include -#include -#include -#include +#include +#include +#include +#include //getc can be a macro #undef getc diff --git a/reactos/lib/crt/stdio/getchar.c b/reactos/lib/crt/stdio/getchar.c index 31aecbfd89a..e20e4391233 100644 --- a/reactos/lib/crt/stdio/getchar.c +++ b/reactos/lib/crt/stdio/getchar.c @@ -24,8 +24,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include -#include +#include +#include #undef getchar #undef getwchar diff --git a/reactos/lib/crt/stdio/gets.c b/reactos/lib/crt/stdio/gets.c index 579590928ba..734f586db0c 100644 --- a/reactos/lib/crt/stdio/gets.c +++ b/reactos/lib/crt/stdio/gets.c @@ -25,7 +25,7 @@ */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include char* gets(char* s) { diff --git a/reactos/lib/crt/stdio/getw.c b/reactos/lib/crt/stdio/getw.c index e5eff56ecfe..1960d5149b4 100644 --- a/reactos/lib/crt/stdio/getw.c +++ b/reactos/lib/crt/stdio/getw.c @@ -16,7 +16,7 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include +#include /* diff --git a/reactos/lib/crt/stdio/perror.c b/reactos/lib/crt/stdio/perror.c index 369e5053e5f..e3511f12d7a 100644 --- a/reactos/lib/crt/stdio/perror.c +++ b/reactos/lib/crt/stdio/perror.c @@ -1,7 +1,7 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include #ifdef perror diff --git a/reactos/lib/crt/stdio/popen.c b/reactos/lib/crt/stdio/popen.c index 2959fb439d9..da1e6ccaeaf 100644 --- a/reactos/lib/crt/stdio/popen.c +++ b/reactos/lib/crt/stdio/popen.c @@ -1,58 +1,60 @@ #include "precomp.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include + #define NDEBUG -#include +#include /* * @implemented */ -FILE *_popen (const char *cm, const char *md) /* program name, pipe mode */ +FILE *_tpopen (const _TCHAR *cm, const _TCHAR *md) /* program name, pipe mode */ { - char *szCmdLine=NULL; - char *szComSpec=NULL; - char *s; + _TCHAR *szCmdLine=NULL; + _TCHAR *szComSpec=NULL; + _TCHAR *s; FILE *pf; HANDLE hReadPipe, hWritePipe; BOOL result; - STARTUPINFOA StartupInfo; + STARTUPINFO StartupInfo; PROCESS_INFORMATION ProcessInformation; SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE}; - DPRINT("_popen('%s', '%s')\n", cm, md); + TRACE(MK_STR(_tpopen)"('%"sT"', '%"sT"')\n", cm, md); if (cm == NULL) - return NULL; + return( NULL ); - szComSpec = getenv("COMSPEC"); + szComSpec = _tgetenv(_T("COMSPEC")); if (szComSpec == NULL) { - szComSpec = "cmd.exe"; + szComSpec = _T("cmd.exe"); } - s = max(strrchr(szComSpec, '\\'), strrchr(szComSpec, '/')); + s = max(_tcsrchr(szComSpec, '\\'), _tcsrchr(szComSpec, '/')); if (s == NULL) s = szComSpec; else s++; - szCmdLine = malloc(strlen(s) + 4 + strlen(cm) + 1); + szCmdLine = malloc((_tcslen(s) + 4 + _tcslen(cm) + 1) * sizeof(_TCHAR)); if (szCmdLine == NULL) { return NULL; } - strcpy(szCmdLine, s); - s = strrchr(szCmdLine, '.'); + _tcscpy(szCmdLine, s); + s = _tcsrchr(szCmdLine, '.'); if (s) *s = 0; - strcat(szCmdLine, " /C "); - strcat(szCmdLine, cm); + _tcscat(szCmdLine, _T(" /C ")); + _tcscat(szCmdLine, cm); if ( !CreatePipe(&hReadPipe,&hWritePipe,&sa,1024)) { @@ -60,8 +62,8 @@ FILE *_popen (const char *cm, const char *md) /* program name, pipe mode */ return NULL; } - memset(&StartupInfo, 0, sizeof(STARTUPINFOA)); - StartupInfo.cb = sizeof(STARTUPINFOA); + memset(&StartupInfo, 0, sizeof(STARTUPINFO)); + StartupInfo.cb = sizeof(STARTUPINFO); if (*md == 'r' ) { StartupInfo.hStdOutput = hWritePipe; @@ -72,7 +74,7 @@ FILE *_popen (const char *cm, const char *md) /* program name, pipe mode */ StartupInfo.dwFlags |= STARTF_USESTDHANDLES; } - result = CreateProcessA(szComSpec, + result = CreateProcess(szComSpec, szCmdLine, NULL, NULL, @@ -95,130 +97,34 @@ FILE *_popen (const char *cm, const char *md) /* program name, pipe mode */ if ( *md == 'r' ) { - pf = _fdopen(__fileno_alloc(hReadPipe, __fmode) , "r"); + pf = _tfdopen(alloc_fd(hReadPipe, split_oflags(_fmode)) , _T("r")); CloseHandle(hWritePipe); } else { - pf = _fdopen( __fileno_alloc(hWritePipe, __fmode) , "w"); + pf = _tfdopen( alloc_fd(hWritePipe, split_oflags(_fmode)) , _T("w")); CloseHandle(hReadPipe); } - pf->_name_to_remove = ProcessInformation.hProcess; + pf->_tmpfname = ProcessInformation.hProcess; - return pf; + return( pf ); } +#ifndef _UNICODE /* * @implemented */ int _pclose (FILE *pp) { + TRACE("_pclose(%x)",pp); + fclose(pp); - if (!TerminateProcess(pp->_name_to_remove,0)) - return -1; - return 0; + if (!TerminateProcess(pp->_tmpfname ,0)) + return( -1 ); + return( 0 ); } +#endif -/* - * @implemented - */ -FILE *_wpopen (const wchar_t *cm, const wchar_t *md) /* program name, pipe mode */ -{ - wchar_t *szCmdLine=NULL; - wchar_t *szComSpec=NULL; - wchar_t *s; - FILE *pf; - HANDLE hReadPipe, hWritePipe; - BOOL result; - STARTUPINFOW StartupInfo; - PROCESS_INFORMATION ProcessInformation; - SECURITY_ATTRIBUTES sa = {sizeof(SECURITY_ATTRIBUTES), NULL, TRUE}; - - DPRINT("_wpopen('%S', '%S')\n", cm, md); - - if (cm == NULL) - return NULL; - - szComSpec = _wgetenv(L"COMSPEC"); - - if (szComSpec == NULL) - { - szComSpec = L"cmd.exe"; - } - - s = max(wcsrchr(szComSpec, L'\\'), wcsrchr(szComSpec, L'/')); - if (s == NULL) - s = szComSpec; - else - s++; - - szCmdLine = malloc((wcslen(s) + 4 + wcslen(cm) + 1) * sizeof(wchar_t)); - if (szCmdLine == NULL) - { - return NULL; - } - - wcscpy(szCmdLine, s); - s = wcsrchr(szCmdLine, L'.'); - if (s) - *s = 0; - wcscat(szCmdLine, L" /C "); - wcscat(szCmdLine, cm); - - if ( !CreatePipe(&hReadPipe,&hWritePipe,&sa,1024)) - { - free (szCmdLine); - return NULL; - } - - memset(&StartupInfo, 0, sizeof(STARTUPINFOW)); - StartupInfo.cb = sizeof(STARTUPINFOW); - - if (*md == L'r' ) { - StartupInfo.hStdOutput = hWritePipe; - StartupInfo.dwFlags |= STARTF_USESTDHANDLES; - } - else if ( *md == L'w' ) { - StartupInfo.hStdInput = hReadPipe; - StartupInfo.dwFlags |= STARTF_USESTDHANDLES; - } - - result = CreateProcessW(szComSpec, - szCmdLine, - NULL, - NULL, - TRUE, - 0, - NULL, - NULL, - &StartupInfo, - &ProcessInformation); - free (szCmdLine); - - if (result == FALSE) - { - CloseHandle(hReadPipe); - CloseHandle(hWritePipe); - return NULL; - } - - CloseHandle(ProcessInformation.hThread); - - if ( *md == L'r' ) - { - pf = _wfdopen(__fileno_alloc(hReadPipe, __fmode) , L"r"); - CloseHandle(hWritePipe); - } - else - { - pf = _wfdopen( __fileno_alloc(hWritePipe, __fmode) , L"w"); - CloseHandle(hReadPipe); - } - - pf->_name_to_remove = ProcessInformation.hProcess; - - return pf; -} diff --git a/reactos/lib/crt/stdio/printf.c b/reactos/lib/crt/stdio/printf.c index 9d57e14c1c9..d67eb38586e 100644 --- a/reactos/lib/crt/stdio/printf.c +++ b/reactos/lib/crt/stdio/printf.c @@ -16,35 +16,21 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include -#include -#include - +#include +#include +#include +#include /* * @implemented */ -int printf(const char* format, ...) +int _tprintf(const _TCHAR* format, ...) { va_list arg; int done; va_start(arg, format); - done = vprintf(format, arg); - va_end(arg); - return done; -} - -/* - * @implemented - */ -int wprintf(const wchar_t* format, ...) -{ - va_list arg; - int done; - - va_start(arg, format); - done = vwprintf(format, arg); + done = _vtprintf(format, arg); va_end(arg); return done; } diff --git a/reactos/lib/crt/stdio/putc.c b/reactos/lib/crt/stdio/putc.c index 99915bb8e6e..3d6ba61f234 100644 --- a/reactos/lib/crt/stdio/putc.c +++ b/reactos/lib/crt/stdio/putc.c @@ -25,10 +25,10 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include "precomp.h" -#include -#include -#include -#include +#include +#include +#include +#include // putc can be a macro #undef putc @@ -65,7 +65,7 @@ int putc(int c, FILE* fp) /* * @implemented */ -int putwc(wint_t c, FILE* fp) +wint_t putwc(wint_t c, FILE* fp) { // valid stream macro should check that fp is dword aligned if (!__validfp(fp)) { diff --git a/reactos/lib/crt/stdio/putchar.c b/reactos/lib/crt/stdio/putchar.c index 7c3030cc9c4..be4b5161bbd 100644 --- a/reactos/lib/crt/stdio/putchar.c +++ b/reactos/lib/crt/stdio/putchar.c @@ -8,7 +8,9 @@ * UPDATE HISTORY: * 28/12/98: Created */ -#include +#include +#include +#include #undef putc #undef putchar @@ -18,21 +20,11 @@ /* * @implemented */ -int putchar(int c) +_TINT _puttchar(_TINT c) { - int r = putc(c, stdout); + _TINT r = _puttc(c, stdout); if (stdout->_flag & _IO_LBF) fflush(stdout); return r; } -/* - * @implemented - */ -wint_t putwchar(wint_t c) -{ - wint_t r = putwc(c, stdout); - if (stdout->_flag & _IO_LBF) - fflush(stdout); - return r; -} diff --git a/reactos/lib/crt/stdio/puts.c b/reactos/lib/crt/stdio/puts.c index 6b1867c1706..87ca5661734 100644 --- a/reactos/lib/crt/stdio/puts.c +++ b/reactos/lib/crt/stdio/puts.c @@ -1,8 +1,8 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include "precomp.h" -#include -#include -#include +#include +#include +#include #undef putchar #undef putwchar diff --git a/reactos/lib/crt/stdio/putw.c b/reactos/lib/crt/stdio/putw.c index dab2f31ee0c..10d2b888283 100644 --- a/reactos/lib/crt/stdio/putw.c +++ b/reactos/lib/crt/stdio/putw.c @@ -17,7 +17,7 @@ * Cambridge, MA 02139, USA. */ -#include +#include /* diff --git a/reactos/lib/crt/stdio/putwchar.c b/reactos/lib/crt/stdio/putwchar.c new file mode 100644 index 00000000000..cdf1386ce75 --- /dev/null +++ b/reactos/lib/crt/stdio/putwchar.c @@ -0,0 +1,4 @@ +#define UNICODE +#define _UNICODE + +#include "putchar.c" diff --git a/reactos/lib/crt/stdio/remove.c b/reactos/lib/crt/stdio/remove.c index 3f946b400f0..265b975d778 100644 --- a/reactos/lib/crt/stdio/remove.c +++ b/reactos/lib/crt/stdio/remove.c @@ -1,30 +1,21 @@ #include "precomp.h" -#include -#include +#include +#include +#include #define NDEBUG -#include +#include /* * @implemented */ -int remove(const char *fn) +int _tremove(const _TCHAR *fn) { int result = 0; - DPRINT("remove('%s')\n", fn); - if (!DeleteFileA(fn)) + DPRINT(MK_STR(_tremove)"('%"sT"')\n", fn); + if (!DeleteFile(fn)) result = -1; DPRINT("%d\n", result); return result; } -/* - * @implemented - */ -int _wremove(const wchar_t *fn) -{ - DPRINT("_wremove('%S')\n", fn); - if (!DeleteFileW(fn)) - return -1; - return 0; -} diff --git a/reactos/lib/crt/stdio/rename.c b/reactos/lib/crt/stdio/rename.c index fff877c8eb9..962ed2f46b4 100644 --- a/reactos/lib/crt/stdio/rename.c +++ b/reactos/lib/crt/stdio/rename.c @@ -1,17 +1,17 @@ #include "precomp.h" -#include -#include - +#include +#include +#include /* * @implemented */ -int rename(const char* old_, const char* new_) +int _trename(const _TCHAR* old_, const _TCHAR* new_) { if (old_ == NULL || new_ == NULL) return -1; - if (!MoveFileA(old_, new_)) + if (!MoveFile(old_, new_)) return -1; return 0; diff --git a/reactos/lib/crt/stdio/rewind.c b/reactos/lib/crt/stdio/rewind.c index e3b6703e43e..7e5acce69b4 100644 --- a/reactos/lib/crt/stdio/rewind.c +++ b/reactos/lib/crt/stdio/rewind.c @@ -1,8 +1,8 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* @@ -11,7 +11,7 @@ void rewind(FILE *f) { fflush(f); - lseek(fileno(f), 0L, SEEK_SET); + _lseek(_fileno(f), 0L, SEEK_SET); f->_cnt = 0; f->_ptr = f->_base; f->_flag &= ~(_IOERR|_IOEOF|_IOAHEAD); diff --git a/reactos/lib/crt/stdio/rmtmp.c b/reactos/lib/crt/stdio/rmtmp.c index 1d2a8c51c99..14926b8921e 100644 --- a/reactos/lib/crt/stdio/rmtmp.c +++ b/reactos/lib/crt/stdio/rmtmp.c @@ -9,25 +9,10 @@ * NOTE Not tested. */ -#include -#include -#include +#include +#include +#include -#ifndef F_OK - #define F_OK 0x01 -#endif -#ifndef R_OK - #define R_OK 0x02 -#endif -#ifndef W_OK - #define W_OK 0x04 -#endif -#ifndef X_OK - #define X_OK 0x08 -#endif -#ifndef D_OK - #define D_OK 0x10 -#endif // should be replace by a closure of the tmp files extern __file_rec *__file_rec_list; @@ -35,7 +20,7 @@ extern __file_rec *__file_rec_list; int _rmtmp( void ) { /* -loop files and check for name_to_remove +loop files and check for _tmpfname */ __file_rec *fr = __file_rec_list; __file_rec **last_fr = &__file_rec_list; @@ -51,9 +36,9 @@ loop files and check for name_to_remove /* If one of the existing slots is available, return it */ for (i=0; icount; i++) { - if (fr->files[i]->_name_to_remove != NULL) { - if ( _access(fr->files[i]->_name_to_remove,W_OK) ) { - strcpy(temp_name,fr->files[i]->_name_to_remove); + if (fr->files[i]->_tmpfname != NULL) { + if ( _access(fr->files[i]->_tmpfname ,W_OK) ) { + strcpy(temp_name,fr->files[i]->_tmpfname ); fclose(fr->files[i]); remove(temp_name); total_closed++; diff --git a/reactos/lib/crt/stdio/scanf.c b/reactos/lib/crt/stdio/scanf.c deleted file mode 100644 index 9cdc4d82172..00000000000 --- a/reactos/lib/crt/stdio/scanf.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (C) 1991, 1995, 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include -#include -#include -#include -#include - - -/* Read formatted input from stdin according to the format string FORMAT. */ -/* VARARGS1 */ -/* - * @implemented - */ -int scanf(const char *format, ...) -{ - va_list arg; - int done; - - va_start(arg, format); - done = __vscanf(format, arg); - va_end(arg); - - return done; -} - -/* - * @implemented - */ -int -wscanf(const wchar_t *fmt, ...) -{ - va_list arg; - int done; - char *f; - int i, len = wcslen(fmt); - - f = malloc(len+1); - for(i=0;i -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdio/setvbuf.c b/reactos/lib/crt/stdio/setvbuf.c index d0dadf0c786..3b4ea652da5 100644 --- a/reactos/lib/crt/stdio/setvbuf.c +++ b/reactos/lib/crt/stdio/setvbuf.c @@ -1,11 +1,11 @@ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/stdio/sprintf.c b/reactos/lib/crt/stdio/sprintf.c index 944b3aa4dc8..f076e65e615 100644 --- a/reactos/lib/crt/stdio/sprintf.c +++ b/reactos/lib/crt/stdio/sprintf.c @@ -18,76 +18,40 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include -#include -#include +#include +#include +#include #include -#include +#include +#include #undef sprintf #undef wsprintf -/* - * @implemented - */ + int -crt_sprintf(char *str, const char *fmt, ...) +crt_sprintf(_TCHAR *str, const _TCHAR *fmt, ...) { va_list arg; int done; va_start (arg, fmt); - done = vsprintf (str, fmt, arg); + done = _vstprintf (str, fmt, arg); va_end (arg); return done; } -/* - * @implemented - */ -int -crt_swprintf(wchar_t *str, const wchar_t *fmt, ...) -{ - va_list arg; - int done; - - va_start (arg, fmt); - done = vswprintf (str, fmt, arg); - va_end (arg); - return done; -} - - /* Write formatted output into S, according to the format string FORMAT, writing no more than MAXLEN characters. */ /* VARARGS3 */ -/* - * @implemented - */ int -crt__snprintf (char *s, size_t maxlen,const char *format, ...) +crt__snprintf (_TCHAR *s, size_t maxlen,const _TCHAR *format, ...) { va_list arg; int done; va_start (arg, format); - done = _vsnprintf (s, maxlen, format, arg); - va_end (arg); - - return done; -} - -/* - * @implemented - */ -int -crt__snwprintf (wchar_t *s, size_t maxlen,const wchar_t *format, ...) -{ - va_list arg; - int done; - - va_start (arg, format); - done = _vsnwprintf (s, maxlen, format, arg); + done = _vsntprintf(s, maxlen, format, arg); va_end (arg); return done; diff --git a/reactos/lib/crt/stdio/sscanf.c b/reactos/lib/crt/stdio/sscanf.c deleted file mode 100644 index 408f0c3b467..00000000000 --- a/reactos/lib/crt/stdio/sscanf.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Copyright (C) 1991, 1995, 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. */ - -#include -#include -#include -#include -#include - - -/* Read formatted input from S, according to the format string FORMAT. */ -/* VARARGS2 */ -int -crt_sscanf (const char *s,const char *format, ...) -{ - va_list arg; - int done; - - va_start (arg, format); - done = __vsscanf (s, format, arg); - va_end (arg); - - return done; -} - -/* - * @implemented - */ -int -swscanf(const wchar_t *str, const wchar_t *fmt, ...) -{ - va_list arg; - int done; - char *f , *s; - int i,len = wcslen(fmt); - - f = malloc(len+1); - for(i=0;i -#include +#include +#include -FILE _iob[5] = +FILE _iob[20] = { // stdin { @@ -21,18 +21,6 @@ FILE _iob[5] = NULL, 0, NULL, _IOWRT | _IONBF, 2,0,0, NULL -}, - // stdaux -{ - NULL, 0, NULL, - _IOREAD | _IOWRT | _IONBF, - 3,0,0, NULL -}, - // stdprn -{ - NULL, 0, NULL, - _IOWRT | _IONBF, - 4, 0,0,NULL } }; diff --git a/reactos/lib/crt/stdio/fscanf.c b/reactos/lib/crt/stdio/swprintf.c similarity index 52% rename from reactos/lib/crt/stdio/fscanf.c rename to reactos/lib/crt/stdio/swprintf.c index 8170ce1603f..33f731b5d57 100644 --- a/reactos/lib/crt/stdio/fscanf.c +++ b/reactos/lib/crt/stdio/swprintf.c @@ -1,65 +1,62 @@ -/* Copyright (C) 1991 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - - -#include -#include -#include -#include -#include - - -/* Read formatted input from STREAM according to the format string FORMAT. */ -/* VARARGS2 */ -/* - * @implemented - */ -int fscanf(FILE *stream,const char *format, ...) -{ - va_list arg; - int done; - - va_start(arg, format); - done = __vfscanf(stream, format, arg); - va_end(arg); - - return done; -} - -/* - * @implemented - */ -int -fwscanf(FILE *stream, const wchar_t *fmt, ...) -{ - va_list arg; - int done; - char *cf; - int i,len = wcslen(fmt); - - cf = malloc(len+1); - for(i=0;i +#include +#include +#include +#include +#include + +#undef sprintf +#undef wsprintf + +int +crt_swprintf(_TCHAR *str, const _TCHAR *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = _vstprintf (str, fmt, arg); + va_end (arg); + return done; +} + + +/* Write formatted output into S, according to the format + string FORMAT, writing no more than MAXLEN characters. */ +/* VARARGS3 */ +int +crt__snwprintf (_TCHAR *s, size_t maxlen,const _TCHAR *format, ...) +{ + va_list arg; + int done; + + va_start (arg, format); + done = _vsntprintf(s, maxlen, format, arg); + va_end (arg); + + return done; +} + + diff --git a/reactos/lib/crt/stdio/tempnam.c b/reactos/lib/crt/stdio/tempnam.c index 294a51cc202..56ab13fcf1e 100644 --- a/reactos/lib/crt/stdio/tempnam.c +++ b/reactos/lib/crt/stdio/tempnam.c @@ -1,25 +1,25 @@ #include "precomp.h" -#include -#include - +#include +#include +#include /* * @implemented */ -char* _tempnam(const char* dir,const char* prefix) +_TCHAR* _ttempnam(const _TCHAR* dir,const _TCHAR* prefix) { - char* TempFileName = malloc(MAX_PATH); - char* d; + _TCHAR* TempFileName = malloc(MAX_PATH*sizeof(_TCHAR)); + _TCHAR* d; if (dir == NULL) - d = getenv("TMP"); + d = _tgetenv(_T("TMP")); else - d = (char*)dir; + d = (_TCHAR*)dir; #ifdef _MSVCRT_LIB_ // TODO: check on difference? - if (GetTempFileNameA(d, prefix, 1, TempFileName) == 0) { + if (GetTempFileName(d, prefix, 1, TempFileName) == 0) { #else// TODO: FIXME: review which is correct - if (GetTempFileNameA(d, prefix, 0, TempFileName) == 0) { + if (GetTempFileName(d, prefix, 0, TempFileName) == 0) { #endif /*_MSVCRT_LIB_*/ free(TempFileName); diff --git a/reactos/lib/crt/stdio/tmpfile.c b/reactos/lib/crt/stdio/tmpfile.c index b188dece4a3..dc92d175cbd 100644 --- a/reactos/lib/crt/stdio/tmpfile.c +++ b/reactos/lib/crt/stdio/tmpfile.c @@ -3,15 +3,15 @@ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include //#include -#include -#include -#include +#include +#include +#include FILE * __alloc_file(void); @@ -56,13 +56,13 @@ tmpfile(void) f->_cnt = 0; f->_bufsiz = 0; f->_flag = _IORMONCL | _IOREAD | _IOWRT; - f->_name_to_remove = n_t_r; - strcpy(f->_name_to_remove, temp_name); + f->_tmpfname = n_t_r; + strcpy(f->_tmpfname , temp_name); f->_base = f->_ptr = NULL; } else { - close(temp_fd); + _close(temp_fd); remove(temp_name); free(n_t_r); } diff --git a/reactos/lib/crt/stdio/tmpnam.c b/reactos/lib/crt/stdio/tmpnam.c index b59075335c6..7b50a8121ee 100644 --- a/reactos/lib/crt/stdio/tmpnam.c +++ b/reactos/lib/crt/stdio/tmpnam.c @@ -1,19 +1,19 @@ #include "precomp.h" -#include -#include - +#include +#include +#include /* * @implemented */ -char* tmpnam(char* s) +_TCHAR* _ttmpnam(_TCHAR* s) { - char PathName[MAX_PATH]; - static char static_buf[MAX_PATH]; + _TCHAR PathName[MAX_PATH]; + static _TCHAR static_buf[MAX_PATH]; - GetTempPathA(MAX_PATH, PathName); - GetTempFileNameA(PathName, "ARI", 007, static_buf); - strcpy(s,static_buf); + GetTempPath(MAX_PATH, PathName); + GetTempFileName(PathName, _T("ARI"), 007, static_buf); + _tcscpy(s,static_buf); return s; } diff --git a/reactos/lib/crt/stdio/ungetc.c b/reactos/lib/crt/stdio/ungetc.c index cb5340bd66e..ef2ee127869 100644 --- a/reactos/lib/crt/stdio/ungetc.c +++ b/reactos/lib/crt/stdio/ungetc.c @@ -1,76 +1,51 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include +#include +#include +#include +#include +#include /* * @implemented */ -int ungetc(int c, FILE *f) +_TINT _ungettc(_TINT c, FILE *f) { if (!__validfp (f) || !OPEN4READING(f)) { __set_errno (EINVAL); - return EOF; + return _TEOF; } - if (c == EOF) - return EOF; + if (c == _TEOF) + return _TEOF; if (f->_ptr == NULL || f->_base == NULL) - return EOF; + return _TEOF; if (f->_ptr == f->_base) { if (f->_cnt == 0) - f->_ptr++; + f->_ptr+=sizeof(_TCHAR); else - return EOF; + return _TEOF; } - f->_cnt++; - f->_ptr--; - if (*f->_ptr != c) + f->_cnt+=sizeof(_TCHAR); + f->_ptr-=sizeof(_TCHAR); + +#if 1 + if (*((_TCHAR*)(f->_ptr)) != c) { f->_flag |= _IOUNGETC; - *f->_ptr = c; + *((_TCHAR*)(f->_ptr)) = c; } - return c; -} - - -/* - * @implemented - */ -wint_t -ungetwc(wchar_t c, FILE *f) -{ - if (!__validfp (f) || !OPEN4READING(f)) { - __set_errno(EINVAL); - return EOF; - } - - if (c == (wchar_t)EOF) - return EOF; - - if (f->_ptr == NULL || f->_base == NULL) - return EOF; - - if (f->_ptr == f->_base) - { - if (f->_cnt == 0) - f->_ptr+=sizeof(wchar_t); - else - return EOF; - } - - f->_cnt+=sizeof(wchar_t); - f->_ptr-=sizeof(wchar_t); - +#else + /* This is the old unicode version. Dunno what version is most correct. -Gunnar */ f->_flag |= _IOUNGETC; - *((wchar_t *)(f->_ptr)) = c; + *((_TCHAR*)(f->_ptr)) = c; +#endif return c; } + diff --git a/reactos/lib/crt/stdio/ungetwc.c b/reactos/lib/crt/stdio/ungetwc.c new file mode 100644 index 00000000000..1ff851fca98 --- /dev/null +++ b/reactos/lib/crt/stdio/ungetwc.c @@ -0,0 +1,4 @@ +#define UNICODE +#define _UNICODE + +#include "ungetc.c" diff --git a/reactos/lib/crt/stdio/vfprintf.c b/reactos/lib/crt/stdio/vfprintf.c index 8d2c0f3d510..70e6568cc69 100644 --- a/reactos/lib/crt/stdio/vfprintf.c +++ b/reactos/lib/crt/stdio/vfprintf.c @@ -1,17 +1,16 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include -#include -#include -#include +#include +#include +#include #ifdef __USE_W32API #include #endif -int _isnanl(double x); -int _isinfl(double x); -int _isnan(double x); -int _isinf(double x); + + +extern int __mb_cur_max; @@ -27,7 +26,7 @@ int vfprintf(FILE* f, const char* fmt, va_list ap) char localbuf[BUFSIZ]; #if 0 - __fileno_lock(fileno(f)); + __fileno_lock(_fileno(f)); #endif if (f->_flag & _IONBF) { f->_flag &= ~_IONBF; @@ -43,7 +42,7 @@ int vfprintf(FILE* f, const char* fmt, va_list ap) len = __vfprintf(f,fmt, ap); } #if 0 - __fileno_unlock(fileno(f)); + __fileno_unlock(_fileno(f)); #endif return (ferror(f) ? EOF : len); } @@ -64,14 +63,13 @@ int vfprintf(FILE* f, const char* fmt, va_list ap) * Appropiated for the reactos kernel, March 1998 -- David Welch */ -#include +#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #define ZEROPAD 1 /* pad with zero */ @@ -485,7 +483,7 @@ static int stringw(FILE *f, const wchar_t* sw, int len, int field_width, int pre } for (i = 0; i < len; ++i) { -#define MB_CUR_MAX 1 +//#define MB_CUR_MAX 1 char mb[MB_CUR_MAX]; int mbcount, j; mbcount = wctomb(mb, *sw++); diff --git a/reactos/lib/crt/stdio/vfscanf.c b/reactos/lib/crt/stdio/vfscanf.c deleted file mode 100644 index d4e7de6cb5d..00000000000 --- a/reactos/lib/crt/stdio/vfscanf.c +++ /dev/null @@ -1,1229 +0,0 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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. */ - -#include "precomp.h" - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#ifdef __USE_W32API -int __set_errno(int err); -#else -#include -#endif - -/* The internal entry points for `strtoX' take an extra flag argument - saying whether or not to parse locale-dependent number grouping. */ - -double __strtod_internal (const char *__nptr,char **__endptr, int __group); -float __strtof_internal (const char *__nptr, char **__endptr,int __group); -long double __strtold_internal (const char *__nptr,char **__endptr, int __group); -long int __strtol_internal (const char *__nptr, char **__endptr, int __base, int __group); -unsigned long int __strtoul_internal (const char *__nptr, char **__endptr, int __base, int __group); - - -#include // robd -//#ifdef __GNUC__ -//#define HAVE_LONGLONG -//#define LONGLONG LONGLONG -//#else -//#define LONGLONG long -//#endif - -/* Those are flags in the conversion format. */ -# define LONG 0x001 /* l: long or double */ -# define LONGDBL 0x002 /* L: LONGLONG or long double */ -# define SHORT 0x004 /* h: short */ -# define SUPPRESS 0x008 /* *: suppress assignment */ -# define POINTER 0x010 /* weird %p pointer (`fake hex') */ -# define NOSKIP 0x020 /* do not skip blanks */ -# define WIDTH 0x040 /* width was given */ -# define GROUP 0x080 /* ': group numbers */ -# define MALLOC 0x100 /* a: malloc strings */ - -# define TYPEMOD (LONG|LONGDBL|SHORT) - - -# define UNGETC(c, s) ((void) (((wint_t)c) != ((wint_t)EOF) && --read_in), ungetc (c, s)) -# define inchar() ((c = getc (s)), (void) (c != EOF && ++read_in), c) -# define encode_error() do { \ - funlockfile (s); \ - __set_errno (EILSEQ); \ - return done; \ - } while (0) -# define conv_error() do { \ - funlockfile (s); \ - return done; \ - } while (0) -# define input_error() do { \ - funlockfile (s); \ - return done ? 0 : EOF; \ - } while (0) -# define memory_error() do { \ - funlockfile (s); \ - __set_errno (ENOMEM); \ - return EOF; \ - } while (0) -# define ARGCHECK(s, format) \ - do \ - { \ - /* Check file argument for consistence. */ \ - if (!__validfp (s) || !s->__mode.__read) \ - { \ - __set_errno (EBADF); \ - return EOF; \ - } \ - else if (format == NULL) \ - { \ - __set_errno (EINVAL); \ - return EOF; \ - } \ - } while (0) - -# define flockfile(S) /* nothing */ -# define funlockfile(S) /* nothing */ - -# define ADDW(Ch) \ -do{ \ - if (wpsize == wpmax) \ - { \ - char *old = wp; \ - wpmax = UCHAR_MAX > 2 * wpmax ? UCHAR_MAX : 2 * wpmax; \ - wp = (char *) malloc (wpmax); \ - if (old != NULL) \ - { \ - memcpy (wp, old, wpsize); \ - free(old); \ - } \ - } \ - wp[wpsize++] = (Ch); \ -}while(0) - - -int __vfscanf (FILE *s, const char *format, va_list argptr) -{ - va_list arg; - register const char *f = format; - register unsigned char fc; /* Current character of the format. */ - register size_t done = 0; /* Assignments done. */ - register size_t read_in = 0; /* Chars read in. */ - register int c = 0; /* Last char read. */ - register int width; /* Maximum field width. */ - register int flags; /* Modifiers for current format element. */ - - /* Status for reading F-P nums. */ - char got_dot, got_e, negative; - /* If a [...] is a [^...]. */ - char not_in; - /* Base for integral numbers. */ - int base; - /* Signedness for integral numbers. */ - int number_signed; - /* Decimal point character. */ - wchar_t decimal = '.'; - /* The thousands character of the current locale. */ - wchar_t thousands = ','; - /* Integral holding variables. */ - union - { - LONGLONG q; - ULONGLONG uq; - long int l; - unsigned long int ul; - } num; - /* Character-buffer pointer. */ - char *str = NULL; - wchar_t *wstr = NULL; - char **strptr = NULL; - size_t strsize = 0; - /* We must not react on white spaces immediately because they can - possibly be matched even if in the input stream no character is - available anymore. */ - int skip_space = 0; - /* Workspace. */ - char *wp = NULL; /* Workspace. */ - size_t wpmax = 0; /* Maximal size of workspace. */ - size_t wpsize = 0; /* Currently used bytes in workspace. */ - char *tw; /* Temporary pointer. */ - -#ifdef __va_copy - - __va_copy (arg, argptr); -#else - - arg = (va_list) argptr; -#endif - - - - /* Run through the format string. */ - while (*f != '\0') - { - unsigned int argpos; - /* Extract the next argument, which is of type TYPE. - For a %N$... spec, this is the Nth argument from the beginning; - otherwise it is the next argument after the state now in ARG. */ -#define ARG(type) va_arg(argptr,type) - - if (!isascii (*f)) - { - /* Non-ASCII, may be a multibyte. */ - // int len = mblen (f, strlen (f)); - int len =1; - if (len > 0) - { - do - { - c = inchar (); - if (c == EOF) - input_error (); - else if (c != *f++) - { - UNGETC (c, s); - conv_error (); - } - } - while (--len > 0); - continue; - } - } - - fc = *f++; - if (fc != '%') - { - /* Remember to skip spaces. */ - if (isspace (fc)) - { - skip_space = 1; - continue; - } - - /* Read a character. */ - c = inchar (); - - /* Characters other than format specs must just match. */ - if (c == EOF) - input_error (); - - /* We saw white space char as the last character in the format - string. Now it's time to skip all leading white space. */ - if (skip_space) - { - while (isspace (c)) - if (inchar () == EOF && *_errno() == EINTR) - conv_error (); - skip_space = 0; - } - - if (c != fc) - { - UNGETC (c, s); - conv_error (); - } - - continue; - } - - /* This is the start of the conversion string. */ - flags = 0; - - /* Initialize state of modifiers. */ - argpos = 0; - - /* Prepare temporary buffer. */ - wpsize = 0; - - /* Check for a positional parameter specification. */ - if (isdigit (*f)) - { - argpos = *f++ - '0'; - while (isdigit (*f)) - argpos = argpos * 10 + (*f++ - '0'); - if (*f == '$') - ++f; - else - { - /* Oops; that was actually the field width. */ - width = argpos; - flags |= WIDTH; - argpos = 0; - goto got_width; - } - } - - /* Check for the assignment-suppressing and the number grouping flag. */ - while (*f == '*' || *f == '\'') - switch (*f++) - { - case '*': - flags |= SUPPRESS; - break; - case '\'': - flags |= GROUP; - break; - } - - /* We have seen width. */ - if (isdigit (*f)) - flags |= WIDTH; - - /* Find the maximum field width. */ - width = 0; - while (isdigit (*f)) - { - width *= 10; - width += *f++ - '0'; - } -got_width: - if (width == 0) - width = -1; - - /* Check for type modifiers. */ - while (*f == 'h' || *f == 'l' || *f == 'L' || *f == 'a' || *f == 'q') - switch (*f++) - { - case 'h': - /* int's are short int's. */ - if (flags & TYPEMOD) - /* Signal illegal format element. */ - conv_error (); - flags |= SHORT; - break; - case 'l': - if (flags & (SHORT|LONGDBL)) - conv_error (); - else if (flags & LONG) - { - /* A double `l' is equivalent to an `L'. */ - flags &= ~LONG; - flags |= LONGDBL; - } - else - /* int's are long int's. */ - flags |= LONG; - break; - case 'q': - case 'L': - /* double's are long double's, and int's are LONGLONG int's. */ - if (flags & TYPEMOD) - /* Signal illegal format element. */ - conv_error (); - flags |= LONGDBL; - break; - case 'a': - if (flags & TYPEMOD) - /* Signal illegal format element. */ - conv_error (); - /* String conversions (%s, %[) take a `char **' - arg and fill it in with a malloc'd pointer. */ - flags |= MALLOC; - break; - } - - /* End of the format string? */ - if (*f == '\0') - conv_error (); - - /* We must take care for EINTR errors. */ - if (c == EOF && *_errno() == EINTR) - input_error (); - - /* Find the conversion specifier. */ - fc = *f++; - if (skip_space || (fc != '[' && fc != 'c' && fc != 'C' && fc != 'n')) - { - /* Eat whitespace. */ - do - if (inchar () == EOF && *_errno() == EINTR) - input_error (); - while (isspace (c)) - ; - UNGETC (c, s); - skip_space = 0; - } - - switch (fc) - { - case '%': /* Must match a literal '%'. */ - c = inchar (); - if (c != fc) - { - UNGETC (c, s); - conv_error (); - } - break; - - case 'n': /* Answer number of assignments done. */ - /* Corrigendum 1 to ISO C 1990 describes the allowed flags - with the 'n' conversion specifier. */ - if (!(flags & SUPPRESS)) - { - /* Don't count the read-ahead. */ - if (flags & LONGDBL) - *ARG (long int *) = read_in; - else if (flags & LONG) - *ARG (long int *) = read_in; - else if (flags & SHORT) - *ARG (short int *) = read_in; - else - *ARG (int *) = read_in; - -#ifdef NO_BUG_IN_ISO_C_CORRIGENDUM_1 - /* We have a severe problem here. The ISO C standard - contradicts itself in explaining the effect of the %n - format in `scanf'. While in ISO C:1990 and the ISO C - Amendement 1:1995 the result is described as - - Execution of a %n directive does not effect the - assignment count returned at the completion of - execution of the f(w)scanf function. - - in ISO C Corrigendum 1:1994 the following was added: - - Subclause 7.9.6.2 - Add the following fourth example: - In: - #include - int d1, d2, n1, n2, i; - i = sscanf("123", "%d%n%n%d", &d1, &n1, &n2, &d2); - the value 123 is assigned to d1 and the value3 to n1. - Because %n can never get an input failure the value - of 3 is also assigned to n2. The value of d2 is not - affected. The value 3 is assigned to i. - - We go for now with the historically correct code fro ISO C, - i.e., we don't count the %n assignments. When it ever - should proof to be wrong just remove the #ifdef above. */ - ++done; -#endif - - } - break; - - case 'c': /* Match characters. */ - if ((flags & LONG) == 0) - { - if (!(flags & SUPPRESS)) - { - str = ARG (char *); - if (str == NULL) - conv_error (); - } - - c = inchar (); - if (c == EOF) - input_error (); - - if (width == -1) - width = 1; - - if (!(flags & SUPPRESS)) - { - do - *str++ = c; - while (--width > 0 && inchar () != EOF); - } - else - while (--width > 0 && inchar () != EOF) - ; - - if (width > 0) - /* I.e., EOF was read. */ - --read_in; - - if (!(flags & SUPPRESS)) - ++done; - - break; - } - /* FALLTHROUGH */ - case 'C': - /* Get UTF-8 encoded wide character. Here we assume (as in - other parts of the libc) that we only have to handle - UTF-8. */ - { - wint_t val; - size_t cnt = 0; - int first = 1; - - if (!(flags & SUPPRESS)) - { - wstr = ARG (wchar_t *); - if (str == NULL) - conv_error (); - } - - do - { -#define NEXT_WIDE_CHAR(First) \ - c = inchar (); \ - if (c == EOF) { \ - /* EOF is only an error for the first character. */ \ - if (First) { \ - input_error (); \ - } \ - else \ - { \ - --read_in; \ - break; \ - } \ - } \ - val = c; \ - if (val >= 0x80) \ - { \ - if ((c & 0xc0) == 0x80 || (c & 0xfe) == 0xfe) \ - encode_error (); \ - if ((c & 0xe0) == 0xc0) \ - { \ - /* We expect two bytes. */ \ - cnt = 1; \ - val &= 0x1f; \ - } \ - else if ((c & 0xf0) == 0xe0) \ - { \ - /* We expect three bytes. */ \ - cnt = 2; \ - val &= 0x0f; \ - } \ - else if ((c & 0xf8) == 0xf0) \ - { \ - /* We expect four bytes. */ \ - cnt = 3; \ - val &= 0x07; \ - } \ - else if ((c & 0xfc) == 0xf8) \ - { \ - /* We expect five bytes. */ \ - cnt = 4; \ - val &= 0x03; \ - } \ - else \ - { \ - /* We expect six bytes. */ \ - cnt = 5; \ - val &= 0x01; \ - } \ - \ - do \ - { \ - c = inchar (); \ - if (c == EOF \ - || (c & 0xc0) == 0x80 || (c & 0xfe) == 0xfe) \ - encode_error (); \ - val <<= 6; \ - val |= c & 0x3f; \ - } \ - while (--cnt > 0); \ - } \ - \ - if (!(flags & SUPPRESS)) \ - *wstr++ = val; \ - first = 0 - - NEXT_WIDE_CHAR (first); - } - while (--width > 0); - - if (width > 0) - /* I.e., EOF was read. */ - --read_in; - - if (!(flags & SUPPRESS)) - ++done; - } - break; - - case 's': /* Read a string. */ - if (flags & LONG) - /* We have to process a wide character string. */ - goto wide_char_string; - -#define STRING_ARG(Str, Type) \ - if (!(flags & SUPPRESS)) \ - { \ - if (flags & MALLOC) \ - { \ - /* The string is to be stored in a malloc'd buffer. */ \ - strptr = ARG (char **); \ - if (strptr == NULL) \ - conv_error (); \ - /* Allocate an initial buffer. */ \ - strsize = 100; \ - *strptr = malloc (strsize * sizeof (Type)); \ - Str = (Type *) *strptr; \ - } \ - else \ - Str = ARG (Type *); \ - if (Str == NULL) \ - conv_error (); \ - } - - STRING_ARG (str, char); - - c = inchar (); - if (c == EOF) - input_error (); - - do - { - if (isspace (c)) - { - UNGETC (c, s); - break; - } -#define STRING_ADD_CHAR(Str, c, Type) \ - if (!(flags & SUPPRESS)) \ - { \ - *Str++ = c; \ - if ((flags & MALLOC) && (char *) Str == *strptr + strsize) \ - { \ - /* Enlarge the buffer. */ \ - Str = realloc (*strptr, strsize * 2 * sizeof (Type)); \ - if (Str == NULL) \ - { \ - /* Can't allocate that much. Last-ditch effort. */\ - Str = realloc (*strptr, \ - (strsize + 1) * sizeof (Type)); \ - if (Str == NULL) \ - { \ - /* We lose. Oh well. \ - Terminate the string and stop converting, \ - so at least we don't skip any input. */ \ - ((Type *) (*strptr))[strsize] = '\0'; \ - ++done; \ - conv_error (); \ - } \ - else \ - { \ - *strptr = (char *) Str; \ - Str = ((Type *) *strptr) + strsize; \ - ++strsize; \ - } \ - } \ - else \ - { \ - *strptr = (char *) Str; \ - Str = ((Type *) *strptr) + strsize; \ - strsize *= 2; \ - } \ - } \ - } - - STRING_ADD_CHAR (str, c, char); - } - while ((width <= 0 || --width > 0) && inchar () != EOF); - - if (!(flags & SUPPRESS)) - { - *str = '\0'; - ++done; - } - break; - - case 'S': - /* Wide character string. */ -wide_char_string: - { - wint_t val; - int first = 1; - STRING_ARG (wstr, wchar_t); - - do - { - size_t cnt = 0; - NEXT_WIDE_CHAR (first); - - if (iswspace (val)) - { - /* XXX We would have to push back the whole wide char - with possibly many bytes. But since scanf does - not make a difference for white space characters - we can simply push back a simple which is - guaranteed to be in the [:space:] class. */ - UNGETC (' ', s); - break; - } - - STRING_ADD_CHAR (wstr, val, wchar_t); - first = 0; - } - while (width <= 0 || --width > 0); - - if (!(flags & SUPPRESS)) - { - *wstr = L'\0'; - ++done; - } - } - break; - - case 'x': /* Hexadecimal integer. */ - case 'X': /* Ditto. */ - base = 16; - number_signed = 0; - goto number; - - case 'o': /* Octal integer. */ - base = 8; - number_signed = 0; - goto number; - - case 'u': /* Unsigned decimal integer. */ - base = 10; - number_signed = 0; - goto number; - - case 'd': /* Signed decimal integer. */ - base = 10; - number_signed = 1; - goto number; - - case 'i': /* Generic number. */ - base = 0; - number_signed = 1; - -number: - c = inchar (); - if (c == EOF) - input_error (); - - /* Check for a sign. */ - if (c == '-' || c == '+') - { - ADDW (c); - if (width > 0) - --width; - c = inchar (); - } - - /* Look for a leading indication of base. */ - if (width != 0 && c == '0') - { - if (width > 0) - --width; - - ADDW (c); - c = inchar (); - - if (width != 0 && tolower (c) == 'x') - { - if (base == 0) - base = 16; - if (base == 16) - { - if (width > 0) - --width; - c = inchar (); - } - } - else if (base == 0) - base = 8; - } - - if (base == 0) - base = 10; - - /* Read the number into workspace. */ - while (c != EOF && width != 0) - { - if (base == 16 ? !isxdigit (c) : - ((!isdigit (c) || c - '0' >= base) && - !((flags & GROUP) && base == 10 && c == thousands))) - break; - ADDW (c); - if (width > 0) - --width; - - c = inchar (); - } - - /* The just read character is not part of the number anymore. */ - UNGETC (c, s); - - if (wpsize == 0 || - (wpsize == 1 && (wp[0] == '+' || wp[0] == '-'))) - /* There was no number. */ - conv_error (); - - /* Convert the number. */ - ADDW ('\0'); - if (flags & LONGDBL) - { - // if (number_signed) - // num.q = __strtoq_internal (wp, &tw, base, flags & GROUP); - // else - // num.uq = __strtouq_internal (wp, &tw, base, flags & GROUP); - } - else - { - if (number_signed) - num.l = __strtol_internal (wp, &tw, base, flags & GROUP); - else - num.ul = __strtoul_internal (wp, &tw, base, flags & GROUP); - } - if (wp == tw) - conv_error (); - - if (!(flags & SUPPRESS)) - { - if (! number_signed) - { - if (flags & LONGDBL) - { - *ARG (ULONGLONG*) = num.uq; - } - else if (flags & LONG) - *ARG (unsigned long int*) = num.ul; - else if (flags & SHORT) - *ARG (unsigned short int*) = (unsigned short int) num.ul; - else - *ARG (unsigned int*) = (unsigned int) num.ul; - } - else - { - if (flags & LONGDBL) - { - *ARG (LONGLONG*) = num.q; - } - else if (flags & LONG) - *ARG (long int *) = num.l; - else if (flags & SHORT) - *ARG (short int *) = (short int) num.l; - else - *ARG (int *) = (int) num.l; - } - ++done; - } - break; - - case 'e': /* Floating-point numbers. */ - case 'E': - case 'f': - case 'g': - case 'G': - c = inchar (); - if (c == EOF) - input_error (); - - /* Check for a sign. */ - if (c == '-' || c == '+') - { - negative = c == '-'; - if (inchar () == EOF) - /* EOF is only an input error before we read any chars. */ - conv_error (); - if (width > 0) - --width; - } - else - negative = 0; - - got_dot = got_e = 0; - do - { - if (isdigit (c)) - ADDW (c); - else if (got_e && wp[wpsize - 1] == 'e' - && (c == '-' || c == '+')) - ADDW (c); - else if (wpsize > 0 && !got_e && tolower (c) == 'e') - { - ADDW ('e'); - got_e = got_dot = 1; - } - else if (c == decimal && !got_dot) - { - ADDW (c); - got_dot = 1; - } - else if ((flags & GROUP) && c == thousands && !got_dot) - ADDW (c); - else - { - /* The last read character is not part of the number - anymore. */ - UNGETC (c, s); - break; - } - if (width > 0) - --width; - } - while (width != 0 && inchar () != EOF); - - if (wpsize == 0) - conv_error (); - - /* Convert the number. */ - ADDW ('\0'); -#if 0 - - if (flags & LONGDBL) - { - long double d = __strtold_internal (wp, &tw, flags & GROUP); - if (!(flags & SUPPRESS) && tw != wp) - *ARG (long double *) = negative ? -d : d; - } -#endif - /* - double = long double in windows world. -Gunnar - */ - if (flags & (LONG|LONGDBL)) - { - double d = __strtod_internal (wp, &tw, flags & GROUP); - if (!(flags & SUPPRESS) && tw != wp){ - *ARG (double *) = negative ? -d : d; - } - } - else - { - float d = __strtof_internal (wp, &tw, flags & GROUP); - if (!(flags & SUPPRESS) && tw != wp){ - *ARG (float *) = negative ? -d : d; - } - } - - if (tw == wp) - conv_error (); - - if (!(flags & SUPPRESS)) - ++done; - break; - - case '[': /* Character class. */ - if (flags & LONG) - { - STRING_ARG (wstr, wchar_t); - c = '\0'; /* This is to keep gcc quiet. */ - } - else - { - STRING_ARG (str, char); - - c = inchar (); - if (c == EOF) - input_error (); - } - - if (*f == '^') - { - ++f; - not_in = 1; - } - else - not_in = 0; - - /* Fill WP with byte flags indexed by character. - We will use this flag map for matching input characters. */ - if (wpmax < UCHAR_MAX) - { - wpmax = UCHAR_MAX; - wp = (char *) alloca (wpmax); - } - memset (wp, 0, UCHAR_MAX); - - fc = *f; - if (fc == ']' || fc == '-') - { - /* If ] or - appears before any char in the set, it is not - the terminator or separator, but the first char in the - set. */ - wp[fc] = 1; - ++f; - } - - while ((fc = *f++) != '\0' && fc != ']') - { - if (fc == '-' && *f != '\0' && *f != ']' && - (unsigned char) f[-2] <= (unsigned char) *f) - { - /* Add all characters from the one before the '-' - up to (but not including) the next format char. */ - for (fc = f[-2]; fc < *f; ++fc) - wp[fc] = 1; - } - else - /* Add the character to the flag map. */ - wp[fc] = 1; - } - if (fc == '\0') - { - if (!(flags & LONG)) - UNGETC (c, s); - conv_error(); - } - - if (flags & LONG) - { - wint_t val; - int first = 1; - - do - { - size_t cnt = 0; - NEXT_WIDE_CHAR (first); - if (val > 255 || wp[val] == not_in) - { - /* XXX We have a problem here. We read a wide - character and this possibly took several - bytes. But we can only push back one single - character. To be sure we don't create wrong - input we push it back only in case it is - representable within one byte. */ - if (val < 0x80) - UNGETC (val, s); - break; - } - STRING_ADD_CHAR (wstr, val, wchar_t); - if (width > 0) - --width; - first = 0; - } - while (width != 0); - - if (first) - conv_error (); - - if (!(flags & SUPPRESS)) - { - *wstr = L'\0'; - ++done; - } - } - else - { - num.ul = read_in - 1; /* -1 because we already read one char. */ - do - { - if (wp[c] == not_in) - { - UNGETC (c, s); - break; - } - STRING_ADD_CHAR (str, c, char); - if (width > 0) - --width; - } - while (width != 0 && inchar () != EOF); - - if (read_in == num.ul) - conv_error (); - - if (!(flags & SUPPRESS)) - { - *str = '\0'; - ++done; - } - } - break; - - case 'p': /* Generic pointer. */ - base = 16; - /* A PTR must be the same size as a `long int'. */ - flags &= ~(SHORT|LONGDBL); - flags |= LONG; - number_signed = 0; - goto number; - } - } - - /* The last thing we saw int the format string was a white space. - Consume the last white spaces. */ - if (skip_space) - { - do - c = inchar (); - while (isspace (c)); - UNGETC (c, s); - } - - - return done; -} - - - -int -xfscanf(FILE *f, const char *fmt, ...) -{ - int r; - va_list a=0; - va_start(a, fmt); - r = __vfscanf(f, fmt, a); - va_end(a); - return r; -} - - -double __strtod_internal (const char *__nptr,char **__endptr, int __group) -{ - return strtod(__nptr,__endptr); -} -float __strtof_internal (const char *__nptr, char **__endptr,int __group) -{ - return (float)strtod(__nptr,__endptr); -} -static double powten[] = - { - 1e1L, 1e2L, 1e4L, 1e8L, 1e16L, 1e32L, 1e64L, 1e128L, 1e256L, -#ifdef __GNUC__ - 1e512L, 1e512L*1e512L, 1e2048L, 1e4096L -#else - 1e256L, 1e256L, 1e256L, 1e256L -#endif - }; - -long double __strtold_internal (const char *s,char **sret, int __group) -{ - - long double r; /* result */ - int e, ne; /* exponent */ - int sign; /* +- 1.0 */ - int esign; - int flags=0; - int l2powm1; - - r = 0.0L; - sign = 1; - e = ne = 0; - esign = 1; - - while(*s && isspace(*s)) - s++; - - if (*s == '+') - s++; - else if (*s == '-') - { - sign = -1; - s++; - } - - while ((*s >= '0') && (*s <= '9')) - { - flags |= 1; - r *= 10.0L; - r += *s - '0'; - s++; - } - - if (*s == '.') - { - s++; - while ((*s >= '0') && (*s <= '9')) - { - flags |= 2; - r *= 10.0L; - r += *s - '0'; - s++; - ne++; - } - } - if (flags == 0) - { - if (sret) - *sret = (char *)s; - return 0.0L; - } - - if ((*s == 'e') || (*s == 'E')) - { - s++; - if (*s == '+') - s++; - else if (*s == '-') - { - s++; - esign = -1; - } - while ((*s >= '0') && (*s <= '9')) - { - e *= 10; - e += *s - '0'; - s++; - } - } - if (esign < 0) - { - esign = -esign; - e = -e; - } - e = e - ne; - if (e < -4096) - { - /* possibly subnormal number, 10^e would overflow */ - r *= 1.0e-2048L; - e += 2048; - } - if (e < 0) - { - e = -e; - esign = -esign; - } - if (e >= 8192) - e = 8191; - if (e) - { - double d = 1.0L; - l2powm1 = 0; - while (e) - { - if (e & 1) - d *= powten[l2powm1]; - e >>= 1; - l2powm1++; - } - if (esign > 0) - r *= d; - else - r /= d; - } - if (sret) - *sret = (char *)s; - return r * sign; - - return 0; -} -long int __strtol_internal (const char *__nptr, char **__endptr, int __base, int __group) -{ - return strtol(__nptr,__endptr, __base); -} -unsigned long int __strtoul_internal (const char *__nptr, char **__endptr, int __base, int __group) -{ - return strtoul(__nptr,__endptr, __base); -} - - - - - - - - - diff --git a/reactos/lib/crt/stdio/vfwprint.c b/reactos/lib/crt/stdio/vfwprint.c index 4e58b29bf95..262b2d18e97 100644 --- a/reactos/lib/crt/stdio/vfwprint.c +++ b/reactos/lib/crt/stdio/vfwprint.c @@ -4,13 +4,10 @@ #undef __USE_W32API #endif -//#include -#include // robd -#include // robd - -#include -#include -#include +#include +#include +#include +#include int _isnanl(double x); @@ -33,7 +30,7 @@ vfwprintf(FILE *f, const wchar_t *fmt, va_list ap) wchar_t localbuf[BUFSIZ]; #if 0 - __fileno_lock(fileno(f)); + __fileno_lock(_fileno(f)); #endif if (f->_flag & _IONBF) { f->_flag &= ~_IONBF; @@ -48,7 +45,7 @@ vfwprintf(FILE *f, const wchar_t *fmt, va_list ap) } else len = __vfwprintf(f,fmt,ap); #if 0 - __fileno_unlock(fileno(f)); + __fileno_unlock(_fileno(f)); #endif return (ferror(f) ? EOF : len); } @@ -70,14 +67,13 @@ vfwprintf(FILE *f, const wchar_t *fmt, va_list ap) * Appropiated for the reactos kernel, March 1998 -- David Welch */ -#include +#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #define ZEROPAD 1 /* pad with zero */ diff --git a/reactos/lib/crt/stdio/vprintf.c b/reactos/lib/crt/stdio/vprintf.c index f487414ec8f..009245029e4 100644 --- a/reactos/lib/crt/stdio/vprintf.c +++ b/reactos/lib/crt/stdio/vprintf.c @@ -16,11 +16,11 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include +#include #undef __OPTIMIZE__ /* Avoid inline `vprintf' function. */ -#include -#include - +#include +#include +#include #undef vprintf #undef vwprintf @@ -32,52 +32,28 @@ Cambridge, MA 02139, USA. */ /* * @implemented */ -int vprintf(const char* format, va_list arg) +int _vtprintf(const _TCHAR* format, va_list arg) { int ret; - ret = vfprintf(stdout, format, arg); - fflush(stdout); - return ret; -} - -/* - * @implemented - */ -int vwprintf(const wchar_t* format, va_list arg) -{ - int ret; - - ret = vfwprintf(stdout, format, arg); + ret = _vftprintf(stdout, format, arg); fflush(stdout); return ret; } #else -int vprintf(const char* format, ...) +int _vtprintf(const _TCHAR* format, ...) { va_list arg; int ret; va_start(arg, format); - ret = vfprintf(stdout, format, arg); + ret = _vftprintf(stdout, format, arg); va_end(arg); fflush(stdout); return ret; } -int vwprintf(const wchar_t* format, ...) -{ - va_list arg; - int ret; - - va_start(arg, format); - ret = vfwprintf(stdout, format, arg); - va_end(arg); - fflush(stdout); - return ret; -} - #endif diff --git a/reactos/lib/crt/stdio/vscanf.c b/reactos/lib/crt/stdio/vscanf.c deleted file mode 100644 index 4c6b7968964..00000000000 --- a/reactos/lib/crt/stdio/vscanf.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1991, 1992, 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include -#include -#include -#include - - -#undef vscanf - - -/* Read formatted input from stdin according to the format - string in FORMAT, using the argument list in ARG. */ -int __vscanf (const char *format, va_list arg) -{ - return __vfscanf(stdin, format, arg); -} - diff --git a/reactos/lib/crt/stdio/vsprintf.c b/reactos/lib/crt/stdio/vsprintf.c index 628761e96aa..d38bc6eae70 100644 --- a/reactos/lib/crt/stdio/vsprintf.c +++ b/reactos/lib/crt/stdio/vsprintf.c @@ -1,71 +1,38 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include #include -#include +#include +#include int -crt_vsprintf(char *str, const char *fmt, va_list ap) +crt_vsprintf(_TCHAR *str, const _TCHAR *fmt, va_list ap) { - FILE f; - int len; - - f._flag = _IOWRT|_IOSTRG|_IOBINARY; - f._ptr = str; - f._cnt = INT_MAX; - f._file = -1; - len = vfprintf(&f,fmt, ap); - *f._ptr = 0; - return len; -} - -/* - * @implemented - */ -int -vswprintf(wchar_t *str, const wchar_t *fmt, va_list ap) -{ - FILE f; + FILE f = {0}; int len; f._flag = _IOWRT|_IOSTRG|_IOBINARY; f._ptr = (char*)str; f._cnt = INT_MAX; f._file = -1; - len = vfwprintf(&f,fmt, ap); - *(wchar_t*)f._ptr = 0; + len = _vftprintf(&f,fmt, ap); + *(_TCHAR*)f._ptr = 0; return len; } int -crt__vsnprintf(char *str, size_t maxlen, const char *fmt, va_list ap) +crt__vsnprintf(_TCHAR *str, size_t maxlen, const _TCHAR *fmt, va_list ap) { - FILE f; - int len; - f._flag = _IOWRT|_IOSTRG|_IOBINARY; - f._ptr = str; - f._cnt = maxlen; - f._file = -1; - len = vfprintf(&f,fmt, ap); - // what if the buffer is full ?? - *f._ptr = 0; - return len; -} - -int -crt__vsnwprintf(wchar_t *str, size_t maxlen, const wchar_t *fmt, va_list ap) -{ - FILE f; + FILE f = {0}; int len; + f._flag = _IOWRT|_IOSTRG|_IOBINARY; f._ptr = (char*)str; f._cnt = maxlen; f._file = -1; - len = vfwprintf(&f,fmt, ap); + len = _vftprintf(&f,fmt, ap); // what if the buffer is full ?? - *(wchar_t*)f._ptr = 0; + *(_TCHAR *)f._ptr = 0; return len; } - - diff --git a/reactos/lib/crt/stdio/vsscanf.c b/reactos/lib/crt/stdio/vsscanf.c deleted file mode 100644 index b24fe72f620..00000000000 --- a/reactos/lib/crt/stdio/vsscanf.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 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., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include -#include -#include -#include -#include -#include - -#undef vsscanf - -/* Read formatted input from S according to the format - string FORMAT, using the argument list in ARG. */ -int __vsscanf(const char *s,const char *format,va_list arg) -{ - FILE f; - - if (s == NULL) - { - __set_errno(EINVAL); - return -1; - } - - memset((void *) &f, 0, sizeof (f)); - - f._flag = _IOREAD|_IOSTRG|_IOBINARY; - f._ptr = (char *)s; - f._base = (char *)s; - f._bufsiz = strlen(s); - f._cnt = f._bufsiz; - - return __vfscanf(&f, format, arg); -} - diff --git a/reactos/lib/crt/stdio/vswprintf.c b/reactos/lib/crt/stdio/vswprintf.c new file mode 100644 index 00000000000..9b3cbd89af4 --- /dev/null +++ b/reactos/lib/crt/stdio/vswprintf.c @@ -0,0 +1,40 @@ +/* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ +#define UNICODE +#define _UNICODE +#include +#include +#include +#include +#include + +int +crt__vswprintf(_TCHAR *str, const _TCHAR *fmt, va_list ap) +{ + FILE f = {0}; + int len; + + f._flag = _IOWRT|_IOSTRG|_IOBINARY; + f._ptr = (char*)str; + f._cnt = INT_MAX; + f._file = -1; + len = _vftprintf(&f,fmt, ap); + *(_TCHAR*)f._ptr = 0; + return len; +} + + +int +crt__vsnwprintf(_TCHAR *str, size_t maxlen, const _TCHAR *fmt, va_list ap) +{ + FILE f = {0}; + int len; + + f._flag = _IOWRT|_IOSTRG|_IOBINARY; + f._ptr = (char*)str; + f._cnt = maxlen; + f._file = -1; + len = _vftprintf(&f,fmt, ap); + // what if the buffer is full ?? + *(_TCHAR *)f._ptr = 0; + return len; +} diff --git a/reactos/lib/crt/stdio/vwprintf.c b/reactos/lib/crt/stdio/vwprintf.c new file mode 100644 index 00000000000..80e54674f88 --- /dev/null +++ b/reactos/lib/crt/stdio/vwprintf.c @@ -0,0 +1,5 @@ +#define _UNICODE +#define UNICODE + +#include "vprintf.c" + diff --git a/reactos/lib/crt/stdio/wfdopen.c b/reactos/lib/crt/stdio/wfdopen.c index 08bbeb9455c..aa1fcc7bc47 100644 --- a/reactos/lib/crt/stdio/wfdopen.c +++ b/reactos/lib/crt/stdio/wfdopen.c @@ -1,57 +1,7 @@ -#include -#include - -FILE* __alloc_file(void); -/* - * @implemented - */ -FILE* _wfdopen(int handle, wchar_t* mode) -{ - FILE* file; - int rw; +#define _UNICODE +#define UNICODE - if (handle == 0) - return stdin; +#include "fdopen.c" - if (handle == 1) - return stdout; - - if (handle == 2) - return stderr; - - if (handle == 3) - return stdaux; - - if (handle == 4) - return stdprn; - - file = __alloc_file(); - if (file == NULL) - return NULL; - file->_file = handle; - - rw = (mode[1] == L'+') || (mode[1] && (mode[2] == L'+')); - - if (*mode == L'a') - _lseek(handle, 0, SEEK_END); - - file->_cnt = 0; - file->_file = handle; - file->_bufsiz = 0; - -// The mode of the stream must be compatible with the mode of the file descriptor. -// this should be checked. - - if (rw) - file->_flag = _IOREAD | _IOWRT; - else if (*mode == L'r') - file->_flag = _IOREAD; - else - file->_flag = _IOWRT; - - file->_base = file->_ptr = NULL; - - return file; -} diff --git a/reactos/lib/crt/stdio/wfopen.c b/reactos/lib/crt/stdio/wfopen.c new file mode 100644 index 00000000000..1e134f7a1a3 --- /dev/null +++ b/reactos/lib/crt/stdio/wfopen.c @@ -0,0 +1,4 @@ +#define UNICODE +#define _UNICODE + +#include "fopen.c" diff --git a/reactos/lib/crt/stdio/wfreopen.c b/reactos/lib/crt/stdio/wfreopen.c new file mode 100644 index 00000000000..933968368c0 --- /dev/null +++ b/reactos/lib/crt/stdio/wfreopen.c @@ -0,0 +1,6 @@ + +#define UNICODE +#define _UNICODE + +#include "freopen.c" + diff --git a/reactos/lib/crt/stdio/wfsopen.c b/reactos/lib/crt/stdio/wfsopen.c new file mode 100644 index 00000000000..90020ae9f1d --- /dev/null +++ b/reactos/lib/crt/stdio/wfsopen.c @@ -0,0 +1,5 @@ +#define _UNICODE +#define UNICODE + +#include "fsopen.c" + diff --git a/reactos/lib/crt/stdio/wpopen.c b/reactos/lib/crt/stdio/wpopen.c new file mode 100644 index 00000000000..bf1d111475f --- /dev/null +++ b/reactos/lib/crt/stdio/wpopen.c @@ -0,0 +1,5 @@ +#define _UNICODE +#define UNICODE + +#include "popen.c" + diff --git a/reactos/lib/crt/stdio/wprintf.c b/reactos/lib/crt/stdio/wprintf.c new file mode 100644 index 00000000000..5bf927f20e8 --- /dev/null +++ b/reactos/lib/crt/stdio/wprintf.c @@ -0,0 +1,5 @@ +#define _UNICODE +#define UNICODE + +#include "printf.c" + diff --git a/reactos/lib/crt/stdio/wremove.c b/reactos/lib/crt/stdio/wremove.c new file mode 100644 index 00000000000..959802a67a1 --- /dev/null +++ b/reactos/lib/crt/stdio/wremove.c @@ -0,0 +1,4 @@ +#define UNICODE +#define _UNICODE + +#include "remove.c" diff --git a/reactos/lib/crt/stdio/wrename.c b/reactos/lib/crt/stdio/wrename.c index 1c78865ea2d..bb6eda1d144 100644 --- a/reactos/lib/crt/stdio/wrename.c +++ b/reactos/lib/crt/stdio/wrename.c @@ -1,18 +1,6 @@ -#include "precomp.h" -#include -#include +#define _UNICODE +#define UNICODE -/* - * @implemented - */ -int _wrename(const wchar_t* old_, const wchar_t* new_) -{ - if (old_ == NULL || new_ == NULL) - return -1; +#include "rename.c" - if (!MoveFileW(old_, new_)) - return -1; - - return 0; -} diff --git a/reactos/lib/crt/stdio/wtempnam.c b/reactos/lib/crt/stdio/wtempnam.c index 4f73f8c9d0d..ec9e2bd9053 100644 --- a/reactos/lib/crt/stdio/wtempnam.c +++ b/reactos/lib/crt/stdio/wtempnam.c @@ -1,25 +1,6 @@ -#include "precomp.h" -#include -#include +#define _UNICODE +#define UNICODE -/* - * @implemented - */ -wchar_t* _wtempnam(const wchar_t* dir, const wchar_t* prefix) -{ - wchar_t* TempFileName = malloc(MAX_PATH); - wchar_t* d; +#include "tempnam.c" - if (dir == NULL) - d = _wgetenv(L"TMP"); - else - d = (wchar_t*)dir; - - if (GetTempFileNameW(d, prefix, 1, TempFileName) == 0) { - free(TempFileName); - return NULL; - } - - return TempFileName; -} diff --git a/reactos/lib/crt/stdio/wtmpnam.c b/reactos/lib/crt/stdio/wtmpnam.c index 770e6ecacb0..be2782c301a 100644 --- a/reactos/lib/crt/stdio/wtmpnam.c +++ b/reactos/lib/crt/stdio/wtmpnam.c @@ -1,19 +1,5 @@ -#include "precomp.h" -#include -#include +#define _UNICODE +#define UNICODE -/* - * @implemented - */ -wchar_t* _wtmpnam(wchar_t* s) -{ - wchar_t PathName[MAX_PATH]; - static wchar_t static_buf[MAX_PATH]; - - GetTempPathW(MAX_PATH, PathName); - GetTempFileNameW(PathName, L"ARI", 007, static_buf); - wcscpy(s, static_buf); - - return s; -} +#include "tmpnam.c" diff --git a/reactos/lib/crt/stdlib/_exit.c b/reactos/lib/crt/stdlib/_exit.c index cb7b5e1a37b..a4ab2499172 100644 --- a/reactos/lib/crt/stdlib/_exit.c +++ b/reactos/lib/crt/stdlib/_exit.c @@ -1,8 +1,8 @@ #include "precomp.h" -#include -#include -#include -#include +#include +#include +#include +#include struct __atexit *__atexit_ptr = 0; diff --git a/reactos/lib/crt/stdlib/abort.c b/reactos/lib/crt/stdlib/abort.c index e0ae1955ebd..02338d6dd6e 100644 --- a/reactos/lib/crt/stdlib/abort.c +++ b/reactos/lib/crt/stdlib/abort.c @@ -1,7 +1,7 @@ -#include -#include -#include -#include +#include +#include +#include +#include char *msg ="Abort\n\r"; @@ -11,7 +11,7 @@ char *msg ="Abort\n\r"; void abort() { fflush(NULL); - fcloseall(); + _fcloseall(); raise(SIGABRT); _write(stderr->_file, msg, sizeof(msg)-1); exit(3); diff --git a/reactos/lib/crt/stdlib/abs.c b/reactos/lib/crt/stdlib/abs.c index 3efdce831fd..24f6351b574 100644 --- a/reactos/lib/crt/stdlib/abs.c +++ b/reactos/lib/crt/stdlib/abs.c @@ -1,6 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/atexit.c b/reactos/lib/crt/stdlib/atexit.c index 6d08dfd160f..c58e534b773 100644 --- a/reactos/lib/crt/stdlib/atexit.c +++ b/reactos/lib/crt/stdlib/atexit.c @@ -1,8 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include - -typedef int (* _onexit_t)(void); +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/atof.c b/reactos/lib/crt/stdlib/atof.c index e3021084b92..b2de698be50 100644 --- a/reactos/lib/crt/stdlib/atof.c +++ b/reactos/lib/crt/stdlib/atof.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/atoi.c b/reactos/lib/crt/stdlib/atoi.c index df6a0c47002..9e991dbe9a1 100644 --- a/reactos/lib/crt/stdlib/atoi.c +++ b/reactos/lib/crt/stdlib/atoi.c @@ -1,11 +1,12 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include +#include /* * @implemented */ int -atoi(const char *str) +_ttoi(const _TCHAR *str) { - return (int)strtol(str, 0, 10); + return (int)_tcstol(str, 0, 10); } diff --git a/reactos/lib/crt/stdlib/atoi64.c b/reactos/lib/crt/stdlib/atoi64.c index 6855b90fbcd..2011e0f297d 100644 --- a/reactos/lib/crt/stdlib/atoi64.c +++ b/reactos/lib/crt/stdlib/atoi64.c @@ -1,6 +1,6 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/atol.c b/reactos/lib/crt/stdlib/atol.c index 663301d95fc..58e0aa78028 100644 --- a/reactos/lib/crt/stdlib/atol.c +++ b/reactos/lib/crt/stdlib/atol.c @@ -1,11 +1,12 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include +#include /* * @implemented */ long -atol(const char *str) +_ttol(const _TCHAR *str) { - return strtol(str, 0, 10); + return _tcstol(str, 0, 10); } diff --git a/reactos/lib/crt/stdlib/atold.c b/reactos/lib/crt/stdlib/atold.c index c9b511684a4..ce3f33ac434 100644 --- a/reactos/lib/crt/stdlib/atold.c +++ b/reactos/lib/crt/stdlib/atold.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include long double _atold(const char *ascii) diff --git a/reactos/lib/crt/stdlib/bsearch.c b/reactos/lib/crt/stdlib/bsearch.c index 7efbdbd9897..e1e4f11e586 100644 --- a/reactos/lib/crt/stdlib/bsearch.c +++ b/reactos/lib/crt/stdlib/bsearch.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/div.c b/reactos/lib/crt/stdlib/div.c index 56b8b4422f8..06be1b070c2 100644 --- a/reactos/lib/crt/stdlib/div.c +++ b/reactos/lib/crt/stdlib/div.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/ecvt.c b/reactos/lib/crt/stdlib/ecvt.c index 940ffb2ed27..43ad5f2b2fc 100644 --- a/reactos/lib/crt/stdlib/ecvt.c +++ b/reactos/lib/crt/stdlib/ecvt.c @@ -1,6 +1,6 @@ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include char *ecvtbuf (double, int, int *, int *, char *); diff --git a/reactos/lib/crt/stdlib/ecvtbuf.c b/reactos/lib/crt/stdlib/ecvtbuf.c index 1d0f65fbba8..a218b92bea7 100644 --- a/reactos/lib/crt/stdlib/ecvtbuf.c +++ b/reactos/lib/crt/stdlib/ecvtbuf.c @@ -1,9 +1,9 @@ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include // #include void __ecvround (char *, char *, const char *, int *); @@ -41,7 +41,7 @@ ecvtbuf (double value, int ndigits, int *decpt, int *sign, char *buf) { static char INFINITY[] = "Infinity"; char decimal = '.' /* localeconv()->decimal_point[0] */; - char *cvtbuf = (char *)alloca (ndigits + 20); /* +3 for sign, dot, null; */ + char *cvtbuf = (char *)_alloca (ndigits + 20); /* +3 for sign, dot, null; */ /* two extra for rounding */ /* 15 extra for alignment */ char *s = cvtbuf, *d = buf; diff --git a/reactos/lib/crt/stdlib/errno.c b/reactos/lib/crt/stdlib/errno.c index cb3b00b4ecd..7b2ba8df874 100644 --- a/reactos/lib/crt/stdlib/errno.c +++ b/reactos/lib/crt/stdlib/errno.c @@ -5,9 +5,9 @@ #undef __USE_W32API #endif -#include -#include -#include +#include +#include +#include #include "doserrmap.h" diff --git a/reactos/lib/crt/stdlib/fcvt.c b/reactos/lib/crt/stdlib/fcvt.c index 423b7f2380d..d01a54eea8a 100644 --- a/reactos/lib/crt/stdlib/fcvt.c +++ b/reactos/lib/crt/stdlib/fcvt.c @@ -1,6 +1,6 @@ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include char *fcvtbuf (double, int, int *, int *, char *); diff --git a/reactos/lib/crt/stdlib/fcvtbuf.c b/reactos/lib/crt/stdlib/fcvtbuf.c index 2bf85aa6483..cbec72b604a 100644 --- a/reactos/lib/crt/stdlib/fcvtbuf.c +++ b/reactos/lib/crt/stdlib/fcvtbuf.c @@ -1,9 +1,9 @@ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include // #include void __ecvround (char *, char *, const char *, int *); @@ -15,7 +15,7 @@ fcvtbuf (double value, int ndigits, int *decpt, int *sign, char *buf) static char INFINITY[] = "Infinity"; char decimal = '.' /* localeconv()->decimal_point[0] */; int digits = ndigits >= 0 ? ndigits : 0; - char *cvtbuf = (char *)alloca (2*DBL_MAX_10_EXP + 16); + char *cvtbuf = (char *)_alloca (2*DBL_MAX_10_EXP + 16); char *s = cvtbuf; char *dot; diff --git a/reactos/lib/crt/stdlib/fullpath.c b/reactos/lib/crt/stdlib/fullpath.c index 8f61c94e76e..aea0833e62f 100644 --- a/reactos/lib/crt/stdlib/fullpath.c +++ b/reactos/lib/crt/stdlib/fullpath.c @@ -9,17 +9,18 @@ */ #include "precomp.h" -#include +#include +#include /* * @implemented */ -char* _fullpath(char* absPath, const char* relPath, size_t maxLength) +_TCHAR* _tfullpath(_TCHAR* absPath, const _TCHAR* relPath, size_t maxLength) { - char* lpFilePart; + _TCHAR* lpFilePart; - if (GetFullPathNameA(relPath,maxLength,absPath,&lpFilePart) == 0) + if (GetFullPathName(relPath,maxLength,absPath,&lpFilePart) == 0) return NULL; return absPath; diff --git a/reactos/lib/crt/stdlib/gcvt.c b/reactos/lib/crt/stdlib/gcvt.c index c077566c83a..dbc8168ddc3 100644 --- a/reactos/lib/crt/stdlib/gcvt.c +++ b/reactos/lib/crt/stdlib/gcvt.c @@ -1,7 +1,7 @@ /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/getenv.c b/reactos/lib/crt/stdlib/getenv.c index 71d91b18afc..9b8a2ce8a57 100644 --- a/reactos/lib/crt/stdlib/getenv.c +++ b/reactos/lib/crt/stdlib/getenv.c @@ -1,8 +1,8 @@ #include "precomp.h" -#include +#include #define NDEBUG -#include +#include #undef environ diff --git a/reactos/lib/crt/stdlib/itoa.c b/reactos/lib/crt/stdlib/itoa.c index 004efc7ac6c..d6ce83ea36e 100644 --- a/reactos/lib/crt/stdlib/itoa.c +++ b/reactos/lib/crt/stdlib/itoa.c @@ -10,9 +10,9 @@ */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/itow.c b/reactos/lib/crt/stdlib/itow.c index 1939d1a6ff0..5156bc46dc8 100644 --- a/reactos/lib/crt/stdlib/itow.c +++ b/reactos/lib/crt/stdlib/itow.c @@ -12,9 +12,9 @@ */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/labs.c b/reactos/lib/crt/stdlib/labs.c index 8c1d3fff3f0..50ad63daf43 100644 --- a/reactos/lib/crt/stdlib/labs.c +++ b/reactos/lib/crt/stdlib/labs.c @@ -1,6 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/ldiv.c b/reactos/lib/crt/stdlib/ldiv.c index a40597d0e95..3f8a2ec3147 100644 --- a/reactos/lib/crt/stdlib/ldiv.c +++ b/reactos/lib/crt/stdlib/ldiv.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/makepath.c b/reactos/lib/crt/stdlib/makepath.c index 2ca367f1307..8db6a6794f9 100644 --- a/reactos/lib/crt/stdlib/makepath.c +++ b/reactos/lib/crt/stdlib/makepath.c @@ -1,7 +1,7 @@ /* $Id$ */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/malloc.c b/reactos/lib/crt/stdlib/malloc.c index 95e715ae76f..2ad1054dee2 100644 --- a/reactos/lib/crt/stdlib/malloc.c +++ b/reactos/lib/crt/stdlib/malloc.c @@ -22,8 +22,8 @@ */ #include "precomp.h" -#include -#include +#include +#include extern HANDLE hHeap; diff --git a/reactos/lib/crt/stdlib/mbstowcs.c b/reactos/lib/crt/stdlib/mbstowcs.c index 823d61a8231..54e2e33d26a 100644 --- a/reactos/lib/crt/stdlib/mbstowcs.c +++ b/reactos/lib/crt/stdlib/mbstowcs.c @@ -1,7 +1,7 @@ #include "precomp.h" -#include -#include -#include +#include +#include +#include #if 1 /* diff --git a/reactos/lib/crt/stdlib/mbtowc.c b/reactos/lib/crt/stdlib/mbtowc.c index 8530f55db0d..22b17c3fedc 100644 --- a/reactos/lib/crt/stdlib/mbtowc.c +++ b/reactos/lib/crt/stdlib/mbtowc.c @@ -1,6 +1,6 @@ #include "precomp.h" -#include -#include +#include +#include #if 1 diff --git a/reactos/lib/crt/stdlib/obsol.c b/reactos/lib/crt/stdlib/obsol.c index 48e465fc2d0..946c8ad3888 100644 --- a/reactos/lib/crt/stdlib/obsol.c +++ b/reactos/lib/crt/stdlib/obsol.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include #undef _cpumode unsigned char _cpumode = 0; diff --git a/reactos/lib/crt/stdlib/putenv.c b/reactos/lib/crt/stdlib/putenv.c index 8921ee78cac..e0e53b15d67 100644 --- a/reactos/lib/crt/stdlib/putenv.c +++ b/reactos/lib/crt/stdlib/putenv.c @@ -1,9 +1,9 @@ #include "precomp.h" -#include -#include +#include +#include #define NDEBUG -#include +#include /* misc/environ.c */ int SetEnv(const wchar_t *option); diff --git a/reactos/lib/crt/stdlib/qsort.c b/reactos/lib/crt/stdlib/qsort.c index e5e662ad881..2be3badae77 100644 --- a/reactos/lib/crt/stdlib/qsort.c +++ b/reactos/lib/crt/stdlib/qsort.c @@ -3,8 +3,9 @@ #undef __USE_W32API #endif -#include -#include +#include +#include +#include /*- * Copyright (c) 1980, 1983 The Regents of the University of California. @@ -174,7 +175,7 @@ qst(PTHREADDATA pThreadData, char *base, char *max) * @implemented */ void -qsort(const void *base0, size_t n, size_t size, _pfunccmp_t compar) +qsort(void *base0, size_t n, size_t size, int (*compar)(const void*, const void*)) { PTHREADDATA pThreadData; char *base = (char *)base0; diff --git a/reactos/lib/crt/stdlib/rand.c b/reactos/lib/crt/stdlib/rand.c index fd4e9ead5ed..79a04b53448 100644 --- a/reactos/lib/crt/stdlib/rand.c +++ b/reactos/lib/crt/stdlib/rand.c @@ -3,8 +3,8 @@ #undef __USE_W32API #endif -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/rot.c b/reactos/lib/crt/stdlib/rot.c index c5f67aa200a..22ba5d0efc5 100644 --- a/reactos/lib/crt/stdlib/rot.c +++ b/reactos/lib/crt/stdlib/rot.c @@ -8,8 +8,7 @@ * 03/04/99: Created */ -#include -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/senv.c b/reactos/lib/crt/stdlib/senv.c index be6e7e7e003..e2d96747d69 100644 --- a/reactos/lib/crt/stdlib/senv.c +++ b/reactos/lib/crt/stdlib/senv.c @@ -1,36 +1,37 @@ #include "precomp.h" -#include -#include +#include +#include +#include #define NDEBUG -#include +#include /* * @implemented */ -void _searchenv(const char* file,const char* var,char* path) +void _tsearchenv(const _TCHAR* file,const _TCHAR* var,_TCHAR* path) { - char* env = getenv(var); - char* x; - char* y; - char* FilePart; + _TCHAR* env = _tgetenv(var); + _TCHAR* x; + _TCHAR* y; + _TCHAR* FilePart; - DPRINT("_searchenv()\n"); + DPRINT(#_tsearchenv"()\n"); - x = strchr(env,'='); + x = _tcschr(env,'='); if ( x != NULL ) { *x = 0; x++; } - y = strchr(env,';'); + y = _tcschr(env,';'); while ( y != NULL ) { *y = 0; - if ( SearchPathA(x,file,NULL,MAX_PATH,path,&FilePart) > 0 ) { + if ( SearchPath(x,file,NULL,MAX_PATH,path,&FilePart) > 0 ) { return; } x = y+1; - y = strchr(env,';'); + y = _tcschr(env,';'); } return; } diff --git a/reactos/lib/crt/stdlib/splitp.c b/reactos/lib/crt/stdlib/splitp.c index b523c9514ab..066f9e5aabb 100644 --- a/reactos/lib/crt/stdlib/splitp.c +++ b/reactos/lib/crt/stdlib/splitp.c @@ -1,22 +1,23 @@ -#include -#include +#include +#include +#include /* * @implemented */ -void _splitpath(const char* path, char* drive, char* dir, char* fname, char* ext) +void _tsplitpath(const _TCHAR* path, _TCHAR* drive, _TCHAR* dir, _TCHAR* fname, _TCHAR* ext) { - char* tmp_drive; - char* tmp_dir; - char* tmp_ext; + _TCHAR* tmp_drive; + _TCHAR* tmp_dir; + _TCHAR* tmp_ext; - tmp_drive = (char*)strchr(path,':'); + tmp_drive = (_TCHAR*)_tcschr(path,':'); if (drive) { if (tmp_drive) { - strncpy(drive,tmp_drive-1,2); + _tcsncpy(drive,tmp_drive-1,2); *(drive+2) = 0; } else @@ -26,15 +27,15 @@ void _splitpath(const char* path, char* drive, char* dir, char* fname, char* ext } if (!tmp_drive) { - tmp_drive = (char*)path - 1; + tmp_drive = (_TCHAR*)path - 1; } - tmp_dir = (char*)strrchr(path,'\\'); + tmp_dir = (_TCHAR*)_tcsrchr(path,'\\'); if (dir) { if (tmp_dir) { - strncpy(dir,tmp_drive+1,tmp_dir-tmp_drive); + _tcsncpy(dir,tmp_drive+1,tmp_dir-tmp_drive); *(dir+(tmp_dir-tmp_drive)) = 0; } else @@ -43,26 +44,26 @@ void _splitpath(const char* path, char* drive, char* dir, char* fname, char* ext } } - tmp_ext = (char*)strrchr(path,'.'); + tmp_ext = (_TCHAR*)_tcsrchr(path,'.'); if (!tmp_ext) { - tmp_ext = (char*)path+strlen(path); + tmp_ext = (_TCHAR*)path+_tcslen(path); } if (ext) { - strcpy(ext,tmp_ext); + _tcscpy(ext,tmp_ext); } if (fname) { if (tmp_dir) { - strncpy(fname,tmp_dir+1,tmp_ext-tmp_dir-1); + _tcsncpy(fname,tmp_dir+1,tmp_ext-tmp_dir-1); *(fname+(tmp_ext-tmp_dir-1)) = 0; } else { - strncpy(fname,tmp_drive+1,tmp_ext-tmp_drive-1); + _tcsncpy(fname,tmp_drive+1,tmp_ext-tmp_drive-1); *(fname+(tmp_ext-path))=0; } } diff --git a/reactos/lib/crt/stdlib/strtod.c b/reactos/lib/crt/stdlib/strtod.c index 29d936ebdd0..9b9ec3ec279 100644 --- a/reactos/lib/crt/stdlib/strtod.c +++ b/reactos/lib/crt/stdlib/strtod.c @@ -1,7 +1,7 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* diff --git a/reactos/lib/crt/stdlib/strtol.c b/reactos/lib/crt/stdlib/strtol.c index 40262d5e819..f43937e4c29 100644 --- a/reactos/lib/crt/stdlib/strtol.c +++ b/reactos/lib/crt/stdlib/strtol.c @@ -1,9 +1,9 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include -#include -#include -#include -#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/strtold.c b/reactos/lib/crt/stdlib/strtold.c index 5588206f937..0d38ac4ce64 100644 --- a/reactos/lib/crt/stdlib/strtold.c +++ b/reactos/lib/crt/stdlib/strtold.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include #include //#include diff --git a/reactos/lib/crt/stdlib/strtoll.c b/reactos/lib/crt/stdlib/strtoll.c deleted file mode 100644 index 6115580be3a..00000000000 --- a/reactos/lib/crt/stdlib/strtoll.c +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ -/* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include -//#include - -/* constants used in Solaris */ -#define LLONG_MIN -9223372036854775807L-1L -#define LLONG_MAX 9223372036854775807L -#define ULLONG_MAX 18446744073709551615UL - -long -strtoll(const char *nptr, char **endptr, int base) -{ - const char *s = nptr; - unsigned long acc; - int c; - unsigned long cutoff; - int neg = 0, any, cutlim; - - /* - * See strtol for comments as to the logic used. - */ - do { - c = *s++; - } while (isspace(c)); - if (c == '-') - { - neg = 1; - c = *s++; - } - else if (c == '+') - c = *s++; - if ((base == 0 || base == 16) && - c == '0' && (*s == 'x' || *s == 'X')) - { - c = s[1]; - s += 2; - base = 16; - } - if (base == 0) - base = c == '0' ? 8 : 10; - -/* to prevent overflow, we take max-1 and add 1 after division */ - cutoff = neg ? -(LLONG_MIN+1) : LLONG_MAX-1; - cutlim = cutoff % base; - cutoff /= base; - if (++cutlim == base) - { - cutlim = 0; - cutoff++; - } - for (acc = 0, any = 0;; c = *s++) - { - if (isdigit(c)) - c -= '0'; - else if (isalpha(c)) - c -= isupper(c) ? 'A' - 10 : 'a' - 10; - else - break; - if (c >= base) - break; - if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim)) - any = -1; - else - { - any = 1; - acc *= base; - acc += c; - } - } - if (any < 0) - { - acc = neg ? LLONG_MIN : LLONG_MAX; - __set_errno ( ERANGE ); - } - else if (neg) - acc *= -1; - if (endptr != 0) - *endptr = any ? (char *)s - 1 : (char *)nptr; - return acc; -} diff --git a/reactos/lib/crt/stdlib/strtoul.c b/reactos/lib/crt/stdlib/strtoul.c index 59fbe38b3f3..11baa3a85d6 100644 --- a/reactos/lib/crt/stdlib/strtoul.c +++ b/reactos/lib/crt/stdlib/strtoul.c @@ -1,9 +1,9 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include -#include -#include -#include -#include +#include +#include +#include +#include /* * Convert a string to an unsigned long integer. diff --git a/reactos/lib/crt/stdlib/strtoull.c b/reactos/lib/crt/stdlib/strtoull.c index 031b9103a57..c61dd7f2aba 100644 --- a/reactos/lib/crt/stdlib/strtoull.c +++ b/reactos/lib/crt/stdlib/strtoull.c @@ -1,9 +1,9 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include -#include -#include -#include +#include +#include +#include //#include /* diff --git a/reactos/lib/crt/stdlib/swab.c b/reactos/lib/crt/stdlib/swab.c index c3c1c09017e..335859d9080 100644 --- a/reactos/lib/crt/stdlib/swab.c +++ b/reactos/lib/crt/stdlib/swab.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/stdlib/wcstod.c b/reactos/lib/crt/stdlib/wcstod.c index 14988abb220..89029c1a5c1 100644 --- a/reactos/lib/crt/stdlib/wcstod.c +++ b/reactos/lib/crt/stdlib/wcstod.c @@ -1,6 +1,6 @@ /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* diff --git a/reactos/lib/crt/stdlib/wcstol.c b/reactos/lib/crt/stdlib/wcstol.c index 3f601e19131..103adbbf047 100644 --- a/reactos/lib/crt/stdlib/wcstol.c +++ b/reactos/lib/crt/stdlib/wcstol.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/wcstom.c b/reactos/lib/crt/stdlib/wcstom.c index b9dd5d2cb02..0c74f97c15e 100644 --- a/reactos/lib/crt/stdlib/wcstom.c +++ b/reactos/lib/crt/stdlib/wcstom.c @@ -1,4 +1,4 @@ -#include +#include /* * @unimplemented diff --git a/reactos/lib/crt/stdlib/wcstomb.c b/reactos/lib/crt/stdlib/wcstomb.c index c0b5d997b18..0bed54a7edd 100644 --- a/reactos/lib/crt/stdlib/wcstomb.c +++ b/reactos/lib/crt/stdlib/wcstomb.c @@ -16,12 +16,10 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include -#include - -#include -#include -#include +#include +#include +#include +#include #ifndef EILSEQ #define EILSEQ EINVAL diff --git a/reactos/lib/crt/stdlib/wcstombs.c b/reactos/lib/crt/stdlib/wcstombs.c index 06054eeada9..3d99e01f51f 100644 --- a/reactos/lib/crt/stdlib/wcstombs.c +++ b/reactos/lib/crt/stdlib/wcstombs.c @@ -16,11 +16,10 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include -#include - -#include -#include +#include +#include +#include +#include #ifndef EILSEQ #define EILSEQ EINVAL @@ -39,7 +38,7 @@ static const unsigned char encoding_byte[] = /* We don't need the state really because we don't have shift states to maintain between calls to this function. */ -typedef int mbstate_t; + static mbstate_t mbstate_internal; diff --git a/reactos/lib/crt/stdlib/wcstoul.c b/reactos/lib/crt/stdlib/wcstoul.c index 54a309615d2..de1e0240a40 100644 --- a/reactos/lib/crt/stdlib/wcstoul.c +++ b/reactos/lib/crt/stdlib/wcstoul.c @@ -1,9 +1,9 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ #include -#include -#include -#include -#include +#include +#include +#include +#include /* * Convert a unicode string to an unsigned long integer. diff --git a/reactos/lib/crt/stdlib/wctomb.c b/reactos/lib/crt/stdlib/wctomb.c index a38cffad4c0..6d375be963e 100644 --- a/reactos/lib/crt/stdlib/wctomb.c +++ b/reactos/lib/crt/stdlib/wctomb.c @@ -17,11 +17,11 @@ Boston, MA 02111-1307, USA. */ #include "precomp.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include int diff --git a/reactos/lib/crt/stdlib/wfulpath.c b/reactos/lib/crt/stdlib/wfulpath.c index 47d90bb12b7..43d6d788172 100644 --- a/reactos/lib/crt/stdlib/wfulpath.c +++ b/reactos/lib/crt/stdlib/wfulpath.c @@ -1,26 +1,5 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS system libraries - * FILE: lib/msvcrt/stdlib/fullpath.c - * PURPOSE: Gets the fullpathname - * PROGRAMER: Boudewijn Dekker - * UPDATE HISTORY: - * 28/12/98: Created - */ -#include "precomp.h" -#include +#define _UNICODE +#define UNICODE - -/* - * @implemented - */ -wchar_t* _wfullpath(wchar_t* absPath, const wchar_t* relPath, size_t maxLength) -{ - wchar_t* lpFilePart; - - if (GetFullPathNameW(relPath,maxLength,absPath,&lpFilePart) == 0) - return NULL; - - return absPath; -} +#include "fullpath.c" diff --git a/reactos/lib/crt/stdlib/witoa.c b/reactos/lib/crt/stdlib/witoa.c index 4e6d85aa488..cc14dcfb798 100644 --- a/reactos/lib/crt/stdlib/witoa.c +++ b/reactos/lib/crt/stdlib/witoa.c @@ -10,9 +10,9 @@ */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/witow.c b/reactos/lib/crt/stdlib/witow.c index 245802a9e5a..a0b972ae9e3 100644 --- a/reactos/lib/crt/stdlib/witow.c +++ b/reactos/lib/crt/stdlib/witow.c @@ -12,9 +12,9 @@ */ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/wmakpath.c b/reactos/lib/crt/stdlib/wmakpath.c index 5026ca3416d..02f1fbb1396 100644 --- a/reactos/lib/crt/stdlib/wmakpath.c +++ b/reactos/lib/crt/stdlib/wmakpath.c @@ -1,7 +1,7 @@ /* $Id$ */ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/wputenv.c b/reactos/lib/crt/stdlib/wputenv.c index 8b34b510a96..d9e709a6a0a 100644 --- a/reactos/lib/crt/stdlib/wputenv.c +++ b/reactos/lib/crt/stdlib/wputenv.c @@ -1,9 +1,9 @@ #include "precomp.h" -#include -#include +#include +#include #define NDEBUG -#include +#include /* misc/environ.c */ int SetEnv(const wchar_t *option); diff --git a/reactos/lib/crt/stdlib/wsenv.c b/reactos/lib/crt/stdlib/wsenv.c index 0ebc7f1cde2..4e23231f854 100644 --- a/reactos/lib/crt/stdlib/wsenv.c +++ b/reactos/lib/crt/stdlib/wsenv.c @@ -1,35 +1,5 @@ -#include "precomp.h" -#include -#include -#define NDEBUG -#include +#define _UNICODE +#define UNICODE - -/* - * @implemented - */ -void _wsearchenv(const wchar_t* file,const wchar_t* var,wchar_t* path) -{ - wchar_t* env = _wgetenv(var); - wchar_t* x; - wchar_t* y; - wchar_t* FilePart; - - DPRINT("_wsearchenv()\n"); - x = wcschr(env,L'='); - if ( x != NULL ) { - *x = 0; - x++; - } - y = wcschr(env,L';'); - while ( y != NULL ) { - *y = 0; - if ( SearchPathW(x,file,NULL,MAX_PATH,path,&FilePart) > 0 ) { - return; - } - x = y+1; - y = wcschr(env,L';'); - } - return; -} +#include "senv.c" diff --git a/reactos/lib/crt/stdlib/wsplitp.c b/reactos/lib/crt/stdlib/wsplitp.c index 8a3520884b7..0b5a3cade62 100644 --- a/reactos/lib/crt/stdlib/wsplitp.c +++ b/reactos/lib/crt/stdlib/wsplitp.c @@ -1,69 +1,5 @@ -#include -#include +#define _UNICODE +#define UNICODE -/* - * @implemented - */ -void _wsplitpath(const wchar_t* path, wchar_t* drive, wchar_t* dir, wchar_t* fname, wchar_t* ext) -{ - wchar_t* tmp_drive; - wchar_t* tmp_dir; - wchar_t* tmp_ext; - - tmp_drive = (wchar_t*)wcschr(path,L':'); - if (drive) - { - if (tmp_drive) - { - wcsncpy(drive,tmp_drive-1,2); - *(drive+2) = 0; - } - else - { - *drive = 0; - } - } - if (!tmp_drive) - { - tmp_drive = (wchar_t*)path - 1; - } - - tmp_dir = (wchar_t*)wcsrchr(path,L'\\'); - if (dir) - { - if (tmp_dir) - { - wcsncpy(dir,tmp_drive+1,tmp_dir-tmp_drive); - *(dir+(tmp_dir-tmp_drive)) = 0; - } - else - { - *dir =0; - } - } - - tmp_ext = (wchar_t*)wcsrchr(path,L'.'); - if (! tmp_ext) - { - tmp_ext = (wchar_t*)path+wcslen(path); - } - if (ext) - { - wcscpy(ext,tmp_ext); - } - - if (fname) - { - if (tmp_dir) - { - wcsncpy(fname,tmp_dir+1,tmp_ext-tmp_dir-1); - *(fname+(tmp_ext-tmp_dir-1)) = 0; - } - else - { - wcsncpy(fname,tmp_drive+1,tmp_ext-tmp_drive-1); - *(fname+(tmp_ext-path))=0; - } - } -} +#include "splitp.c" diff --git a/reactos/lib/crt/stdlib/wtoi.c b/reactos/lib/crt/stdlib/wtoi.c index f8282056ef6..1a171024087 100644 --- a/reactos/lib/crt/stdlib/wtoi.c +++ b/reactos/lib/crt/stdlib/wtoi.c @@ -1,17 +1,6 @@ -#include -/* - * @implemented - */ -int _wtoi( const wchar_t *str ) -{ - return (int)wcstol(str, 0, 10); -} +#define _UNICODE +#define UNICODE + +#include "atoi.c" -/* - * @implemented - */ -long _wtol( const wchar_t *str ) -{ - return (int)wcstol(str, 0, 10); -} diff --git a/reactos/lib/crt/stdlib/wtoi64.c b/reactos/lib/crt/stdlib/wtoi64.c index a59513dadd2..6671f2be59f 100644 --- a/reactos/lib/crt/stdlib/wtoi64.c +++ b/reactos/lib/crt/stdlib/wtoi64.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/stdlib/wtol.c b/reactos/lib/crt/stdlib/wtol.c new file mode 100644 index 00000000000..e47cbbde33f --- /dev/null +++ b/reactos/lib/crt/stdlib/wtol.c @@ -0,0 +1,6 @@ + +#define _UNICODE +#define UNICODE + +#include "atol.c" + diff --git a/reactos/lib/crt/string/lasttok.c b/reactos/lib/crt/string/lasttok.c index 2713e4c954b..188b10d7085 100644 --- a/reactos/lib/crt/string/lasttok.c +++ b/reactos/lib/crt/string/lasttok.c @@ -2,8 +2,8 @@ #undef __USE_W32API #endif -#include -#include +#include +#include /* * This is an MSVCRT internal function to return the lasttoken diff --git a/reactos/lib/crt/string/memicmp.c b/reactos/lib/crt/string/memicmp.c index 3cbff006c09..039ccc5ae1c 100644 --- a/reactos/lib/crt/string/memicmp.c +++ b/reactos/lib/crt/string/memicmp.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/string/strcoll.c b/reactos/lib/crt/string/strcoll.c index 1571b4ae3c0..8ceb08f5df4 100644 --- a/reactos/lib/crt/string/strcoll.c +++ b/reactos/lib/crt/string/strcoll.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include /* Compare S1 and S2, returning less than, equal to or greater than zero if the collated form of S1 is lexicographically diff --git a/reactos/lib/crt/string/strdup.c b/reactos/lib/crt/string/strdup.c index c728585819b..5d4ebe6fb9b 100644 --- a/reactos/lib/crt/string/strdup.c +++ b/reactos/lib/crt/string/strdup.c @@ -1,6 +1,6 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/string/strerror.c b/reactos/lib/crt/string/strerror.c index fa8d9d0083b..df46dab88cd 100644 --- a/reactos/lib/crt/string/strerror.c +++ b/reactos/lib/crt/string/strerror.c @@ -1,7 +1,7 @@ /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include +#include +#include +#include char __syserr00[] = "No Error"; @@ -51,7 +51,7 @@ char __syserr42[] = "Illegal byte sequence (EILSEQ)"; -const char *_sys_errlist[] = { +char *_sys_errlist[] = { __syserr00, __syserr01, __syserr02, __syserr03, __syserr04, __syserr05, __syserr06, __syserr07, __syserr08, __syserr09, __syserr10, __syserr11, __syserr12, __syserr13, __syserr14, @@ -63,9 +63,9 @@ __syserr35, __syserr36, __syserr37, __syserr38, __syserr39, __syserr40, __syserr41, __syserr42 }; -int __sys_nerr = sizeof(_sys_errlist) / sizeof(_sys_errlist[0]); +//int __sys_nerr = sizeof(_sys_errlist) / sizeof(_sys_errlist[0]); -int* _sys_nerr = &__sys_nerr; +int/***/ _sys_nerr = sizeof(_sys_errlist) / sizeof(_sys_errlist[0]);//&__sys_nerr; /* * @implemented @@ -76,7 +76,7 @@ char *strerror(int errnum) char *cp; int v=1000000, lz=0; - if (errnum >= 0 && errnum < __sys_nerr) + if (errnum >= 0 && errnum < _sys_nerr) return((char *)_sys_errlist[errnum]); strcpy(ebuf, "Unknown error: "); diff --git a/reactos/lib/crt/string/stricmp.c b/reactos/lib/crt/string/stricmp.c index cfecfb81931..ecd1afae22b 100644 --- a/reactos/lib/crt/string/stricmp.c +++ b/reactos/lib/crt/string/stricmp.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/string/strlwr.c b/reactos/lib/crt/string/strlwr.c index 6ddba9c7a2a..0f4a66b20c5 100644 --- a/reactos/lib/crt/string/strlwr.c +++ b/reactos/lib/crt/string/strlwr.c @@ -8,8 +8,8 @@ * Copyright 1997 Uwe Bonnes */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/string/strncoll.c b/reactos/lib/crt/string/strncoll.c index 304c52b1e5e..3f4d1088ea7 100644 --- a/reactos/lib/crt/string/strncoll.c +++ b/reactos/lib/crt/string/strncoll.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include /* Compare S1 and S2, returning less than, equal to or greater than zero if the collated form of S1 is lexicographically diff --git a/reactos/lib/crt/string/strnicmp.c b/reactos/lib/crt/string/strnicmp.c index d6ff2c0d2d1..a0d732e883b 100644 --- a/reactos/lib/crt/string/strnicmp.c +++ b/reactos/lib/crt/string/strnicmp.c @@ -1,6 +1,6 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/string/strpbrk.c b/reactos/lib/crt/string/strpbrk.c index 72079d0aa8a..c3ce6006734 100644 --- a/reactos/lib/crt/string/strpbrk.c +++ b/reactos/lib/crt/string/strpbrk.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* diff --git a/reactos/lib/crt/string/strrev.c b/reactos/lib/crt/string/strrev.c index 8827c3b5bb5..8f11abee723 100644 --- a/reactos/lib/crt/string/strrev.c +++ b/reactos/lib/crt/string/strrev.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/string/strset.c b/reactos/lib/crt/string/strset.c index 6de8d49b3bb..daf47aa296e 100644 --- a/reactos/lib/crt/string/strset.c +++ b/reactos/lib/crt/string/strset.c @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include + /* * @implemented diff --git a/reactos/lib/crt/string/strstr.c b/reactos/lib/crt/string/strstr.c index 430358fd196..bdc7eb7b8f8 100644 --- a/reactos/lib/crt/string/strstr.c +++ b/reactos/lib/crt/string/strstr.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* diff --git a/reactos/lib/crt/string/strtok.c b/reactos/lib/crt/string/strtok.c index 2423f4ae840..4bd36f39fdc 100644 --- a/reactos/lib/crt/string/strtok.c +++ b/reactos/lib/crt/string/strtok.c @@ -3,8 +3,8 @@ #undef __USE_W32API #endif -#include -#include +#include +#include char** _lasttoken(); /* lasttok.c */ diff --git a/reactos/lib/crt/string/strupr.c b/reactos/lib/crt/string/strupr.c index 413f585b21a..a878fa242b7 100644 --- a/reactos/lib/crt/string/strupr.c +++ b/reactos/lib/crt/string/strupr.c @@ -9,8 +9,8 @@ */ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/string/strxfrm.c b/reactos/lib/crt/string/strxfrm.c index dca7a645414..ae6fc98274a 100644 --- a/reactos/lib/crt/string/strxfrm.c +++ b/reactos/lib/crt/string/strxfrm.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include #if 1 /* diff --git a/reactos/lib/crt/sys_stat/fstat.c b/reactos/lib/crt/sys_stat/fstat.c index cc2addd351f..d84ca492d22 100644 --- a/reactos/lib/crt/sys_stat/fstat.c +++ b/reactos/lib/crt/sys_stat/fstat.c @@ -10,18 +10,18 @@ */ #include "precomp.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include /* * @implemented */ -int _fstat(int fd, struct stat* statbuf) +int _fstat(int fd, struct _stat* statbuf) { BY_HANDLE_FILE_INFORMATION FileInformation; DWORD dwFileType; @@ -32,7 +32,7 @@ int _fstat(int fd, struct stat* statbuf) return -1; } - if ((void*)-1 == (handle = _get_osfhandle(fd))) + if ((void*)-1 == (handle = (void*)_get_osfhandle(fd))) { __set_errno(EBADF); return -1; diff --git a/reactos/lib/crt/sys_stat/fstati64.c b/reactos/lib/crt/sys_stat/fstati64.c index ba7a053143f..0a05e278480 100644 --- a/reactos/lib/crt/sys_stat/fstati64.c +++ b/reactos/lib/crt/sys_stat/fstati64.c @@ -10,18 +10,18 @@ */ #include "precomp.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include /* * @implemented */ -__int64 _fstati64(int fd, struct _stati64* statbuf) +int _fstati64(int fd, struct _stati64* statbuf) { BY_HANDLE_FILE_INFORMATION FileInformation; DWORD dwFileType; @@ -33,7 +33,7 @@ __int64 _fstati64(int fd, struct _stati64* statbuf) return -1; } - if ((void*)-1 == (handle = _get_osfhandle(fd))) + if ((void*)-1 == (handle = (void*)_get_osfhandle(fd))) { __set_errno(EBADF); return -1; diff --git a/reactos/lib/crt/sys_stat/futime.c b/reactos/lib/crt/sys_stat/futime.c index ed3c37a9a66..e6d8306b1b7 100644 --- a/reactos/lib/crt/sys_stat/futime.c +++ b/reactos/lib/crt/sys_stat/futime.c @@ -1,10 +1,10 @@ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include /* @@ -22,7 +22,7 @@ int _futime (int nHandle, struct _utimbuf *pTimes) } if (pTimes == NULL) { - pTimes = alloca(sizeof(struct _utimbuf)); + pTimes = _alloca(sizeof(struct _utimbuf)); time(&pTimes->actime); time(&pTimes->modtime); } @@ -34,7 +34,7 @@ int _futime (int nHandle, struct _utimbuf *pTimes) UnixTimeToFileTime(pTimes->actime,&LastAccessTime,0); UnixTimeToFileTime(pTimes->modtime,&LastWriteTime,0); - if (!SetFileTime(_get_osfhandle(nHandle),NULL, &LastAccessTime, &LastWriteTime)) { + if (!SetFileTime((HANDLE)_get_osfhandle(nHandle),NULL, &LastAccessTime, &LastWriteTime)) { __set_errno(EBADF); return -1; } diff --git a/reactos/lib/crt/sys_stat/stat.c b/reactos/lib/crt/sys_stat/stat.c index a1f5af85835..87d4fd88781 100644 --- a/reactos/lib/crt/sys_stat/stat.c +++ b/reactos/lib/crt/sys_stat/stat.c @@ -1,17 +1,17 @@ #include "precomp.h" -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include /* * @implemented */ -int _stat(const char* path, struct stat* buffer) +int _stat(const char* path, struct _stat* buffer) { WIN32_FILE_ATTRIBUTE_DATA fileAttributeData; char* ext; @@ -64,7 +64,7 @@ int _stat(const char* path, struct stat* buffer) /* * @implemented */ -__int64 _stati64 (const char *path, struct _stati64 *buffer) +int _stati64 (const char *path, struct _stati64 *buffer) { WIN32_FILE_ATTRIBUTE_DATA fileAttributeData; char* ext; diff --git a/reactos/lib/crt/sys_stat/systime.c b/reactos/lib/crt/sys_stat/systime.c index 59ecdc9d9ac..680270d31e3 100644 --- a/reactos/lib/crt/sys_stat/systime.c +++ b/reactos/lib/crt/sys_stat/systime.c @@ -1,5 +1,5 @@ #include "precomp.h" -#include +#include int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31}; diff --git a/reactos/lib/crt/sys_stat/wstat.c b/reactos/lib/crt/sys_stat/wstat.c index 5cbdc4360df..cb9a1b3b3aa 100644 --- a/reactos/lib/crt/sys_stat/wstat.c +++ b/reactos/lib/crt/sys_stat/wstat.c @@ -1,17 +1,17 @@ #include "precomp.h" -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include /* * @implemented */ -int _wstat (const wchar_t *path, struct stat *buffer) +int _wstat (const wchar_t *path, struct _stat *buffer) { WIN32_FILE_ATTRIBUTE_DATA fileAttributeData; wchar_t *ext; @@ -64,7 +64,7 @@ int _wstat (const wchar_t *path, struct stat *buffer) /* * @implemented */ -__int64 _wstati64 (const wchar_t *path, struct _stati64 *buffer) +int _wstati64 (const wchar_t *path, struct _stati64 *buffer) { WIN32_FILE_ATTRIBUTE_DATA fileAttributeData; wchar_t *ext; diff --git a/reactos/lib/crt/time/clock.c b/reactos/lib/crt/time/clock.c index cd9e77a41c8..e55b8e33d21 100644 --- a/reactos/lib/crt/time/clock.c +++ b/reactos/lib/crt/time/clock.c @@ -9,8 +9,8 @@ */ #include "precomp.h" -#include -#include +#include +#include VOID STDCALL GetSystemTimeAsFileTime(LPFILETIME lpSystemTimeAsFileTime ); diff --git a/reactos/lib/crt/time/ctime.c b/reactos/lib/crt/time/ctime.c index fcadb68f1a3..ba7d3b47884 100644 --- a/reactos/lib/crt/time/ctime.c +++ b/reactos/lib/crt/time/ctime.c @@ -36,16 +36,16 @@ */ #include "precomp.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include "tzfile.h" -#include +#include #include "posixrul.h" @@ -294,7 +294,7 @@ static int tzload(const char* name, struct state* CPP_CONST sp) name = fullname; } - if ((fid = open(name, OPEN_MODE)) == -1) + if ((fid = _open(name, OPEN_MODE)) == -1) { const char *base = strrchr(name, '/'); if (base) @@ -310,8 +310,8 @@ static int tzload(const char* name, struct state* CPP_CONST sp) } else { - i = read(fid, buf, sizeof buf); - if (close(fid) != 0 || i < sizeof *tzhp) + i = _read(fid, buf, sizeof buf); + if (_close(fid) != 0 || i < sizeof *tzhp) return -1; } @@ -1022,7 +1022,10 @@ localsub(const time_t * CPP_CONST timep, const long offset, struct tm * CPP_CONS timesub(&t, ttisp->tt_gmtoff, sp, tmp); tmp->tm_isdst = ttisp->tt_isdst; _tzname[tmp->tm_isdst] = (char *)&sp->chars[ttisp->tt_abbrind]; +#if 0 +/* tm_zone doesnt exist in windows msvcrt -Gunnar */ tmp->tm_zone = (char *)&sp->chars[ttisp->tt_abbrind]; +#endif } /* @@ -1059,6 +1062,8 @@ gmtsub(const time_t * CPP_CONST timep, const long offset, struct tm * CPP_CONST ** "GMT+xxxx" or "GMT-xxxx" if offset is non-zero, ** but this is no time for a treasure hunt. */ +#if 0 +/* tm_zone doesnt exist in windows msvcrt -Gunnar */ if (offset != 0) tmp->tm_zone = TZ_NAME; else @@ -1073,6 +1078,7 @@ gmtsub(const time_t * CPP_CONST timep, const long offset, struct tm * CPP_CONST tmp->tm_zone = gmtptr->chars; #endif /* State Farm */ } +#endif /* if 0 */ } /* @@ -1179,7 +1185,10 @@ timesub(const time_t * CPP_CONST timep, const long offset, const struct state * days = days - (long) ip[tmp->tm_mon]; tmp->tm_mday = (int) (days + 1); tmp->tm_isdst = 0; +#if 0 +/* tm_gmtoff doesnt exist in windows msvcrt -Gunnar */ tmp->tm_gmtoff = offset; +#endif } /* diff --git a/reactos/lib/crt/time/difftime.c b/reactos/lib/crt/time/difftime.c index 9e9d590a2cb..6b4de57c930 100644 --- a/reactos/lib/crt/time/difftime.c +++ b/reactos/lib/crt/time/difftime.c @@ -1,5 +1,5 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/time/ftime.c b/reactos/lib/crt/time/ftime.c index 8db083b3cff..867553f0c53 100644 --- a/reactos/lib/crt/time/ftime.c +++ b/reactos/lib/crt/time/ftime.c @@ -9,8 +9,8 @@ */ #include "precomp.h" -#include -#include +#include +#include /* ftime (3) -- Obsolete BSD library function included in the SUS for copat. * Also present in msvcrt.dll as _ftime @@ -18,7 +18,7 @@ /* * @implemented */ -void _ftime( struct timeb *tm ) +void _ftime( struct _timeb *tm ) { int ret = 0; SYSTEMTIME syst; @@ -28,7 +28,7 @@ void _ftime( struct timeb *tm ) if( ret == 0 ) { time( &tm->time ); tm->millitm = syst.wMilliseconds; - tm->_timezone = 0; /* According to the open group, timezone and dstflag */ +// tm->_timezone = 0; /* According to the open group, timezone and dstflag */ tm->dstflag = 0; /* exist for compatibility, but are unspecified. */ } } diff --git a/reactos/lib/crt/time/strdate.c b/reactos/lib/crt/time/strdate.c index 204e07d28d4..e421f52dfbf 100644 --- a/reactos/lib/crt/time/strdate.c +++ b/reactos/lib/crt/time/strdate.c @@ -7,16 +7,16 @@ * UPDATE HISTORY: * 28/12/98: Created */ -#include -#include -#include -#include +#include +#include +#include +#include /* * @implemented */ -char* _strdate(const char* datestr) +char* _strdate(char* datestr) { time_t t; struct tm* d; diff --git a/reactos/lib/crt/time/strftime.c b/reactos/lib/crt/time/strftime.c index bb7553e399c..e7ca78fb673 100644 --- a/reactos/lib/crt/time/strftime.c +++ b/reactos/lib/crt/time/strftime.c @@ -1,8 +1,8 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include +#include +#include +#include +#include #define TM_YEAR_BASE 1900 @@ -188,7 +188,10 @@ static size_t _fmt(const char* format, const struct tm* t) return 0; continue; case 'Z': +#if 0 + /* FIXME: tm_zone doesnt exist in windows */ if (!t->tm_zone || !_add(t->tm_zone)) +#endif return 0; continue; case '%': diff --git a/reactos/lib/crt/time/strtime.c b/reactos/lib/crt/time/strtime.c index a1aeeb13189..7473aea1b3e 100644 --- a/reactos/lib/crt/time/strtime.c +++ b/reactos/lib/crt/time/strtime.c @@ -7,10 +7,10 @@ * UPDATE HISTORY: * 28/12/98: Created */ -#include -#include -#include -#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/time/time.c b/reactos/lib/crt/time/time.c index bc459d54f7c..8dfc16c56cd 100644 --- a/reactos/lib/crt/time/time.c +++ b/reactos/lib/crt/time/time.c @@ -16,8 +16,8 @@ */ #include "precomp.h" -#include -#include +#include +#include VOID STDCALL GetSystemTimeAsFileTime(LPFILETIME lpSystemTimeAsFileTime); diff --git a/reactos/lib/crt/time/tz_vars.c b/reactos/lib/crt/time/tz_vars.c index aad68dcb156..bb155d0fabc 100644 --- a/reactos/lib/crt/time/tz_vars.c +++ b/reactos/lib/crt/time/tz_vars.c @@ -1,6 +1,6 @@ -#include -#include -#include +#include +#include +#include int _daylight; @@ -18,4 +18,18 @@ void _set_timezone_export(int value) } +/********************************************************************* + * __p_daylight (MSVCRT.@) + */ +void* __p__daylight(void) +{ + return &_daylight; +} +/********************************************************************* + * __p__timezone (MSVCRT.@) + */ +int* __p__timezone(void) +{ + return &_timezone; +} diff --git a/reactos/lib/crt/time/wctime.c b/reactos/lib/crt/time/wctime.c index 033595cfe1d..16cd12a2828 100644 --- a/reactos/lib/crt/time/wctime.c +++ b/reactos/lib/crt/time/wctime.c @@ -27,8 +27,9 @@ */ #include "precomp.h" -#include -#include +#include +#include +#include #include "tzfile.h" diff --git a/reactos/lib/crt/time/wstrdate.c b/reactos/lib/crt/time/wstrdate.c index a6a9d955985..faca97696a5 100644 --- a/reactos/lib/crt/time/wstrdate.c +++ b/reactos/lib/crt/time/wstrdate.c @@ -7,16 +7,16 @@ * UPDATE HISTORY: * 28/12/98: Created */ -#include -#include -#include -#include +#include +#include +#include +#include /* * @implemented */ -wchar_t* _wstrdate(const wchar_t* datestr) +wchar_t* _wstrdate(wchar_t* datestr) { time_t t; struct tm* d; diff --git a/reactos/lib/crt/time/wstrtime.c b/reactos/lib/crt/time/wstrtime.c index 8f5b2ace481..3fa0035f713 100644 --- a/reactos/lib/crt/time/wstrtime.c +++ b/reactos/lib/crt/time/wstrtime.c @@ -7,10 +7,10 @@ * UPDATE HISTORY: * 28/12/98: Created */ -#include -#include -#include -#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/wine/cpp.c b/reactos/lib/crt/wine/cpp.c index 1065cdc7c61..2176b257737 100644 --- a/reactos/lib/crt/wine/cpp.c +++ b/reactos/lib/crt/wine/cpp.c @@ -32,12 +32,12 @@ #include "winnt.h" #include "excpt.h" #include "wine/debug.h" -#include "msvcrt/malloc.h" -#include "msvcrt/stdlib.h" +#include +#include -#include -#include -#include +#include +#include +#include WINE_DEFAULT_DEBUG_CHANNEL(msvcrt); diff --git a/reactos/lib/crt/wine/cppexcept.c b/reactos/lib/crt/wine/cppexcept.c index 98c4bcf7660..dea17149e31 100644 --- a/reactos/lib/crt/wine/cppexcept.c +++ b/reactos/lib/crt/wine/cppexcept.c @@ -32,12 +32,12 @@ #include "winbase.h" #include "winreg.h" #include "wine/winternl.h" -#include +#include #include "wine/exception.h" #include "excpt.h" #include "wine/debug.h" -#include +#include WINE_DEFAULT_DEBUG_CHANNEL(seh); diff --git a/reactos/lib/crt/wine/heap.c b/reactos/lib/crt/wine/heap.c index 54f7a762ae7..a9ccba4a003 100644 --- a/reactos/lib/crt/wine/heap.c +++ b/reactos/lib/crt/wine/heap.c @@ -23,10 +23,10 @@ #include "precomp.h" -#include "msvcrt/errno.h" -#include "msvcrt/malloc.h" -#include "msvcrt/stdlib.h" -#include +#include +#include +#include +#include #include "wine/debug.h" diff --git a/reactos/lib/crt/wine/scanf.c b/reactos/lib/crt/wine/scanf.c new file mode 100644 index 00000000000..185e16d4d9c --- /dev/null +++ b/reactos/lib/crt/wine/scanf.c @@ -0,0 +1,223 @@ +/* + * general implementation of scanf used by scanf, sscanf, fscanf, + * _cscanf, wscanf, swscanf and fwscanf + * + * Copyright 1996,1998 Marcus Meissner + * Copyright 1996 Jukka Iivonen + * Copyright 1997,2000 Uwe Bonnes + * Copyright 2000 Jon Griffiths + * Copyright 2002 Daniel Gudbjartsson + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +/* +#include + +#include "windef.h" +#include "winbase.h" +#include "winreg.h" +#include "winternl.h" +#include "msvcrt.h" +*/ + +//#include +#include +//#include +//#include +#include +#include +#include +#include +#include +#include + +//#include + +#define NDEBUG +#include + + +/* +This is so ugly. I tried including anything/everything, but no matter +what i did i got complaints about RtlGetProcessHeap etc. being undefined. +-Gunnar (i hate headers) +*/ +#define RtlFreeHeap HeapFree +#define RtlAllocateHeap HeapAlloc +#define RtlGetProcessHeap GetProcessHeap +//#include "wine/debug.h" + +#define WARN DPRINT1 + +//WINE_DEFAULT_DEBUG_CHANNEL(msvcrt); + +extern FILE _iob[]; + +/* helper function for *scanf. Returns the value of character c in the + * given base, or -1 if the given character is not a digit of the base. + */ +static int char2digit(char c, int base) { + if ((c>='0') && (c<='9') && (c<='0'+base-1)) return (c-'0'); + if (base<=10) return -1; + if ((c>='A') && (c<='Z') && (c<='A'+base-11)) return (c-'A'+10); + if ((c>='a') && (c<='z') && (c<='a'+base-11)) return (c-'a'+10); + return -1; +} + +/* helper function for *wscanf. Returns the value of character c in the + * given base, or -1 if the given character is not a digit of the base. + */ +static int wchar2digit(wchar_t c, int base) { + if ((c>=L'0') && (c<=L'9') && (c<=L'0'+base-1)) return (c-L'0'); + if (base<=10) return -1; + if ((c>=L'A') && (c<=L'Z') && (c<=L'A'+base-11)) return (c-L'A'+10); + if ((c>=L'a') && (c<=L'z') && (c<=L'a'+base-11)) return (c-L'a'+10); + return -1; +} + +/* vfscanf */ +#undef WIDE_SCANF +#undef CONSOLE +#undef STRING +#include "scanf.h" + +/* vfwscanf */ +#define WIDE_SCANF 1 +#undef CONSOLE +#undef STRING +#include "scanf.h" + +/* vsscanf */ +#undef WIDE_SCANF +#undef CONSOLE +#define STRING 1 +#include "scanf.h" + +/* vswscanf */ +#define WIDE_SCANF 1 +#undef CONSOLE +#define STRING 1 +#include "scanf.h" + +/* vcscanf */ +#undef WIDE_SCANF +#define CONSOLE 1 +#undef STRING +#include "scanf.h" + + +/********************************************************************* + * fscanf (MSVCRT.@) + */ +int fscanf(FILE *file, const char *format, ...) +{ + va_list valist; + int res; + + va_start(valist, format); + res = vfscanf(file, format, valist); + va_end(valist); + return res; +} + +/********************************************************************* + * scanf (MSVCRT.@) + */ +int scanf(const char *format, ...) +{ + va_list valist; + int res; + + va_start(valist, format); + res = vfscanf(stdin, format, valist); + va_end(valist); + return res; +} + +/********************************************************************* + * fwscanf (MSVCRT.@) + */ +int fwscanf(FILE *file, const wchar_t *format, ...) +{ + va_list valist; + int res; + + va_start(valist, format); + res = vfwscanf(file, format, valist); + va_end(valist); + return res; +} + + +/********************************************************************* + * wscanf (MSVCRT.@) + */ +int wscanf(const wchar_t *format, ...) +{ + va_list valist; + int res; + + va_start(valist, format); + res = vfwscanf(stdin, format, valist); + va_end(valist); + return res; +} + + +/********************************************************************* + * sscanf (MSVCRT.@) + */ +int crt_sscanf(const char *str, const char *format, ...) +{ + va_list valist; + int res; + + va_start(valist, format); + res = vsscanf(str, format, valist); + va_end(valist); + return res; +} + + +/********************************************************************* + * swscanf (MSVCRT.@) + */ +int swscanf(const wchar_t *str, const wchar_t *format, ...) +{ + va_list valist; + int res; + + va_start(valist, format); + res = vswscanf(str, format, valist); + va_end(valist); + return res; +} + + +/********************************************************************* + * _cscanf (MSVCRT.@) + */ +int _cscanf(/*const*/ char *format, ...) +{ + va_list valist; + int res; + + va_start(valist, format); + res = vcscanf(format, valist); + va_end(valist); + return res; +} diff --git a/reactos/lib/crt/wine/scanf.h b/reactos/lib/crt/wine/scanf.h new file mode 100644 index 00000000000..5fe005b9a88 --- /dev/null +++ b/reactos/lib/crt/wine/scanf.h @@ -0,0 +1,537 @@ +/* + * general implementation of scanf used by scanf, sscanf, fscanf, + * _cscanf, wscanf, swscanf and fwscanf + * + * Copyright 1996,1998 Marcus Meissner + * Copyright 1996 Jukka Iivonen + * Copyright 1997,2000, 2003 Uwe Bonnes + * Copyright 2000 Jon Griffiths + * Copyright 2002 Daniel Gudbjartsson + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef WIDE_SCANF +#define _CHAR_ wchar_t +#define _EOF_ WEOF +#define _EOF_RET WEOF +#define _ISSPACE_(c) iswspace(c) +#define _ISDIGIT_(c) iswdigit(c) +#define _WIDE2SUPPORTED_(c) c /* No conversion needed (wide to wide) */ +#define _CHAR2SUPPORTED_(c) c /* FIXME: convert char to wide char */ +#define _CHAR2DIGIT_(c, base) wchar2digit((c), (base)) +#define _BITMAPSIZE_ 256*256 +#else /* WIDE_SCANF */ +#define _CHAR_ char +#define _EOF_ EOF +#define _EOF_RET EOF +#define _ISSPACE_(c) isspace(c) +#define _ISDIGIT_(c) isdigit(c) +#define _WIDE2SUPPORTED_(c) c /* FIXME: convert wide char to char */ +#define _CHAR2SUPPORTED_(c) c /* No conversion needed (char to char) */ +#define _CHAR2DIGIT_(c, base) char2digit((c), (base)) +#define _BITMAPSIZE_ 256 +#endif /* WIDE_SCANF */ + +#ifdef CONSOLE +#define _GETC_(file) (consumed++, _getch()) +#define _UNGETC_(nch, file) do { _ungetch(nch); consumed--; } while(0) +#define _FUNCTION_ int vcscanf(const char *format, va_list ap) +#else +#ifdef STRING +#undef _EOF_ +#define _EOF_ 0 +#define _GETC_(file) (consumed++, *file++) +#define _UNGETC_(nch, file) do { file--; consumed--; } while(0) +#ifdef WIDE_SCANF +#define _FUNCTION_ int vswscanf(const wchar_t *file, const wchar_t *format, va_list ap) +#else /* WIDE_SCANF */ +#define _FUNCTION_ int vsscanf(const char *file, const char *format, va_list ap) +#endif /* WIDE_SCANF */ +#else /* STRING */ +#ifdef WIDE_SCANF +#define _GETC_(file) (consumed++, fgetwc(file)) +#define _UNGETC_(nch, file) do { ungetwc(nch, file); consumed--; } while(0) +#define _FUNCTION_ int vfwscanf(FILE* file, const wchar_t *format, va_list ap) +#else /* WIDE_SCANF */ +#define _GETC_(file) (consumed++, fgetc(file)) +#define _UNGETC_(nch, file) do { ungetc(nch, file); consumed--; } while(0) +#define _FUNCTION_ int vfscanf(FILE* file, const char *format, va_list ap) +#endif /* WIDE_SCANF */ +#endif /* STRING */ +#endif /* CONSOLE */ + +/********************************************************************* + * Implemented based on + * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt_format_specification_fields_.2d_.scanf_and_wscanf_functions.asp + * Extended by C. Scott Ananian to handle + * more types of format spec. + */ +_FUNCTION_ { + int rd = 0, consumed = 0; + int nch; + if (!*format) return 0; +#ifndef WIDE_SCANF +#ifdef CONSOLE + TRACE("(%s): \n", debugstr_a(format)); +#else /* CONSOLE */ +#ifdef STRING + TRACE("%s (%s)\n", file, debugstr_a(format)); +#else /* STRING */ + TRACE("%p (%s)\n", file, debugstr_a(format)); +#endif /* STRING */ +#endif /* CONSOLE */ +#endif /* WIDE_SCANF */ + nch = _GETC_(file); + if (nch == _EOF_) return _EOF_RET; + + while (*format) { + /* a whitespace character in the format string causes scanf to read, + * but not store, all consecutive white-space characters in the input + * up to the next non-white-space character. One white space character + * in the input matches any number (including zero) and combination of + * white-space characters in the input. */ + if (_ISSPACE_(*format)) { + /* skip whitespace */ + while ((nch!=_EOF_) && _ISSPACE_(nch)) + nch = _GETC_(file); + } + /* a format specification causes scanf to read and convert characters + * in the input into values of a specified type. The value is assigned + * to an argument in the argument list. Format specifications have + * the form %[*][width][{h | l | I64 | L}]type */ + else if (*format == '%') { + int st = 0; int suppress = 0; int width = 0; + int base, number_signed; + int h_prefix = 0; + int l_prefix = 0; + int L_prefix = 0; + int w_prefix = 0; + int prefix_finished = 0; + int I64_prefix = 0; + format++; + /* look for leading asterisk, which means 'suppress assignment of + * this field'. */ + if (*format=='*') { + format++; + suppress=1; + } + /* look for width specification */ + while (_ISDIGIT_(*format)) { + width*=10; + width+=*format++ - '0'; + } + if (width==0) width=-1; /* no width spec seen */ + /* read prefix (if any) */ + while (!prefix_finished) { + switch(*format) { + case 'h': h_prefix = 1; break; + case 'l': l_prefix = 1; break; + case 'w': w_prefix = 1; break; + case 'L': L_prefix = 1; break; + case 'I': + if (*(format + 1) == '6' && + *(format + 2) == '4') { + I64_prefix = 1; + format += 2; + } + break; + default: + prefix_finished = 1; + } + if (!prefix_finished) format++; + } + /* read type */ + switch(*format) { + case 'x': + case 'X': /* hexadecimal integer. */ + base = 16; number_signed = 0; + goto number; + case 'o': /* octal integer */ + base = 8; number_signed = 0; + goto number; + case 'u': /* unsigned decimal integer */ + base = 10; number_signed = 0; + goto number; + case 'd': /* signed decimal integer */ + base = 10; number_signed = 1; + goto number; + case 'i': /* generic integer */ + base = 10; number_signed = 1; + number: { + /* read an integer */ + ULONGLONG cur = 0; + int negative = 0; + int seendigit=0; + /* skip initial whitespace */ + while ((nch!=_EOF_) && _ISSPACE_(nch)) + nch = _GETC_(file); + /* get sign */ + if (number_signed && (nch == '-' || + nch == '+')) { + negative = (nch=='-'); + nch = _GETC_(file); + if (width>0) width--; + } + /* look for leading indication of base */ + if (width!=0 && nch == '0') { + nch = _GETC_(file); + if (width>0) width--; + seendigit=1; + if (width!=0 && (nch=='x' || nch=='X')) { + if (base==0) + base=16; + if (base==16) { + nch = _GETC_(file); + if (width>0) width--; + seendigit=0; + } + } else if (base==0) + base = 8; + } + /* throw away leading zeros */ + while (width!=0 && nch=='0') { + nch = _GETC_(file); + if (width>0) width--; + seendigit=1; + } + if (width!=0 && _CHAR2DIGIT_(nch, base)!=-1) { + cur = _CHAR2DIGIT_(nch, base); + nch = _GETC_(file); + if (width>0) width--; + seendigit=1; + } + /* read until no more digits */ + while (width!=0 && (nch!=_EOF_) && _CHAR2DIGIT_(nch, base)!=-1) { + cur = cur*base + _CHAR2DIGIT_(nch, base); + nch = _GETC_(file); + if (width>0) width--; + seendigit=1; + } + /* okay, done! */ + if (!seendigit) break; /* not a valid number */ + st = 1; + if (!suppress) { +#define _SET_NUMBER_(type) *va_arg(ap, type*) = negative ? -cur : cur + if (number_signed) { + if (I64_prefix) _SET_NUMBER_(LONGLONG); + else if (l_prefix) _SET_NUMBER_(long int); + else if (h_prefix) _SET_NUMBER_(short int); + else _SET_NUMBER_(int); + } else { + if (negative) { + WARN("Dropping sign in reading a negative number into an unsigned value"); + negative = 0; + } + if (I64_prefix) _SET_NUMBER_(ULONGLONG); + else if (l_prefix) _SET_NUMBER_(unsigned long int); + else if (h_prefix) + _SET_NUMBER_(unsigned short int); + else _SET_NUMBER_(unsigned int); + } + } + } + break; + case 'e': + case 'E': + case 'f': + case 'g': + case 'G': { /* read a float */ + long double cur = 0; + int negative = 0; + /* skip initial whitespace */ + while ((nch!=_EOF_) && _ISSPACE_(nch)) + nch = _GETC_(file); + /* get sign. */ + if (nch == '-' || nch == '+') { + negative = (nch=='-'); + if (width>0) width--; + if (width==0) break; + nch = _GETC_(file); + } + /* get first digit. */ + if ('.' != nch) { + if (!_ISDIGIT_(nch)) break; + cur = (nch - '0'); + nch = _GETC_(file); + if (width>0) width--; + /* read until no more digits */ + while (width!=0 && (nch!=_EOF_) && _ISDIGIT_(nch)) { + cur = cur*10 + (nch - '0'); + nch = _GETC_(file); + if (width>0) width--; + } + } else { + cur = 0; /* MaxPayneDemo Fix: .8 -> 0.8 */ + } + /* handle decimals */ + if (width!=0 && nch == '.') { + float dec = 1; + nch = _GETC_(file); + if (width>0) width--; + while (width!=0 && (nch!=_EOF_) && _ISDIGIT_(nch)) { + dec /= 10; + cur += dec * (nch - '0'); + nch = _GETC_(file); + if (width>0) width--; + } + } + /* handle exponent */ + if (width!=0 && (nch == 'e' || nch == 'E')) { + int exponent = 0, negexp = 0; + float expcnt; + nch = _GETC_(file); + if (width>0) width--; + /* possible sign on the exponent */ + if (width!=0 && (nch=='+' || nch=='-')) { + negexp = (nch=='-'); + nch = _GETC_(file); + if (width>0) width--; + } + /* exponent digits */ + while (width!=0 && (nch!=_EOF_) && _ISDIGIT_(nch)) { + exponent *= 10; + exponent += (nch - '0'); + nch = _GETC_(file); + if (width>0) width--; + } + /* update 'cur' with this exponent. */ + expcnt = negexp ? .1 : 10; + while (exponent!=0) { + if (exponent&1) + cur*=expcnt; + exponent/=2; + expcnt=expcnt*expcnt; + } + } + st = 1; + if (!suppress) { + if (L_prefix) _SET_NUMBER_(long double); + else if (l_prefix) _SET_NUMBER_(double); + else _SET_NUMBER_(float); + } + } + break; + /* According to + * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_scanf_type_field_characters.asp + * 's' reads a character string in a call to fscanf + * and 'S' a wide character string and vice versa in a + * call to fwscanf. The 'h', 'w' and 'l' prefixes override + * this behaviour. 'h' forces reading char * but 'l' and 'w' + * force reading WCHAR. */ + case 's': + if (w_prefix || l_prefix) goto widecharstring; + else if (h_prefix) goto charstring; +#ifdef WIDE_SCANF + else goto widecharstring; +#else /* WIDE_SCANF */ + else goto charstring; +#endif /* WIDE_SCANF */ + case 'S': + if (w_prefix || l_prefix) goto widecharstring; + else if (h_prefix) goto charstring; +#ifdef WIDE_SCANF + else goto charstring; +#else /* WIDE_SCANF */ + else goto widecharstring; +#endif /* WIDE_SCANF */ + charstring: { /* read a word into a char */ + char*str = suppress ? NULL : va_arg(ap, char*); + char*sptr = str; + /* skip initial whitespace */ + while ((nch!=_EOF_) && _ISSPACE_(nch)) + nch = _GETC_(file); + /* read until whitespace */ + while (width!=0 && (nch!=_EOF_) && !_ISSPACE_(nch)) { + if (!suppress) *sptr++ = _CHAR2SUPPORTED_(nch); + st++; + nch = _GETC_(file); + if (width>0) width--; + } + /* terminate */ + if (!suppress) *sptr = 0; + } + break; + widecharstring: { /* read a word into a wchar_t* */ + wchar_t*str = + suppress ? NULL : va_arg(ap, wchar_t*); + wchar_t*sptr = str; + /* skip initial whitespace */ + while ((nch!=_EOF_) && _ISSPACE_(nch)) + nch = _GETC_(file); + /* read until whitespace */ + while (width!=0 && (nch!=_EOF_) && !_ISSPACE_(nch)) { + if (!suppress) *sptr++ = _WIDE2SUPPORTED_(nch); + st++; + nch = _GETC_(file); + if (width>0) width--; + } + /* terminate */ + if (!suppress) *sptr = 0; + } + break; + /* 'c' and 'C work analogously to 's' and 'S' as described + * above */ + case 'c': + if (w_prefix || l_prefix) goto widecharacter; + else if (h_prefix) goto character; +#ifdef WIDE_SCANF + else goto widecharacter; +#else /* WIDE_SCANF */ + else goto character; +#endif /* WIDE_SCANF */ + case 'C': + if (w_prefix || l_prefix) goto widecharacter; + else if (h_prefix) goto character; +#ifdef WIDE_SCANF + else goto character; +#else /* WIDE_SCANF */ + else goto widecharacter; +#endif /* WIDE_SCANF */ + character: { /* read single character into char */ + if (nch!=_EOF_) { + if (!suppress) { + char*c = va_arg(ap, char*); + *c = _CHAR2SUPPORTED_(nch); + } + st = 1; + nch = _GETC_(file); + } + } + break; + widecharacter: { /* read single character into a wchar_t */ + if (nch!=_EOF_) { + if (!suppress) { + wchar_t*c = va_arg(ap, wchar_t*); + *c = _WIDE2SUPPORTED_(nch); + } + nch = _GETC_(file); + st = 1; + } + } + break; + case 'n': { + if (!suppress) { + int*n = va_arg(ap, int*); + *n = consumed - (nch!=_EOF_); + } + } + break; + case '[': { + _CHAR_ *str = suppress ? NULL : va_arg(ap, _CHAR_*); + _CHAR_ *sptr = str; + RTL_BITMAP bitMask; + ULONG *Mask; + int invert = 0; /* Set if we are NOT to find the chars */ + + /* Init our bitmap */ + Mask = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, _BITMAPSIZE_/8); + RtlInitializeBitMap(&bitMask, Mask, _BITMAPSIZE_); + + /* Read the format */ + format++; + if(*format == '^') { + invert = 1; + format++; + } + if(*format == ']') { + RtlSetBits(&bitMask, ']', 1); + format++; + } + while(*format && (*format != ']')) { + /* According to: + * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt_scanf_width_specification.asp + * "Note that %[a-z] and %[z-a] are interpreted as equivalent to %[abcde...z]." */ + if((*format == '-') && (*(format + 1) != ']')) { + if ((*(format - 1)) < *(format + 1)) + RtlSetBits(&bitMask, *(format - 1) +1 , *(format + 1) - *(format - 1)); + else + RtlSetBits(&bitMask, *(format + 1) , *(format - 1) - *(format + 1)); + format++; + } else + RtlSetBits(&bitMask, *format, 1); + format++; + } + /* read until char is not suitable */ + while ((width != 0) && (nch != _EOF_)) { + if(!invert) { + if(RtlAreBitsSet(&bitMask, nch, 1)) { + if (!suppress) *sptr++ = _CHAR2SUPPORTED_(nch); + } else + break; + } else { + if(RtlAreBitsClear(&bitMask, nch, 1)) { + if (!suppress) *sptr++ = _CHAR2SUPPORTED_(nch); + } else + break; + } + st++; + nch = _GETC_(file); + if (width>0) width--; + } + /* terminate */ + if (!suppress) *sptr = 0; + HeapFree(GetProcessHeap(), 0, Mask); + } + break; + default: + /* From spec: "if a percent sign is followed by a character + * that has no meaning as a format-control character, that + * character and the following characters are treated as + * an ordinary sequence of characters, that is, a sequence + * of characters that must match the input. For example, + * to specify that a percent-sign character is to be input, + * use %%." */ + while ((nch!=_EOF_) && _ISSPACE_(nch)) + nch = _GETC_(file); + if (nch==*format) { + suppress = 1; /* whoops no field to be read */ + st = 1; /* but we got what we expected */ + nch = _GETC_(file); + } + break; + } + if (st && !suppress) rd++; + else if (!st) break; + } + /* a non-white-space character causes scanf to read, but not store, + * a matching non-white-space character. */ + else { + /* check for character match */ + if (nch == *format) { + nch = _GETC_(file); + } else break; + } + format++; + } + if (nch!=_EOF_) { + _UNGETC_(nch, file); + } + TRACE("returning %d\n", rd); + return rd; +} + +#undef _CHAR_ +#undef _EOF_ +#undef _EOF_RET +#undef _ISSPACE_ +#undef _ISDIGIT_ +#undef _CHAR2SUPPORTED_ +#undef _WIDE2SUPPORTED_ +#undef _CHAR2DIGIT_ +#undef _GETC_ +#undef _UNGETC_ +#undef _FUNCTION_ +#undef _BITMAPSIZE_ diff --git a/reactos/lib/crt/wine/thread.c b/reactos/lib/crt/wine/thread.c index f8b9a579574..15434fc384d 100644 --- a/reactos/lib/crt/wine/thread.c +++ b/reactos/lib/crt/wine/thread.c @@ -19,10 +19,10 @@ */ #include "precomp.h" -#include +#include -#include "msvcrt/malloc.h" -#include "msvcrt/process.h" +#include +#include #include "wine/debug.h" diff --git a/reactos/lib/crt/wstring/wcscoll.c b/reactos/lib/crt/wstring/wcscoll.c index e1c27270ed2..abfbb011c26 100644 --- a/reactos/lib/crt/wstring/wcscoll.c +++ b/reactos/lib/crt/wstring/wcscoll.c @@ -1,5 +1,5 @@ -#include +#include /* * @unimplemented diff --git a/reactos/lib/crt/wstring/wcscspn.c b/reactos/lib/crt/wstring/wcscspn.c index 44f66b70b61..64ad89d4c52 100644 --- a/reactos/lib/crt/wstring/wcscspn.c +++ b/reactos/lib/crt/wstring/wcscspn.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcsdup.c b/reactos/lib/crt/wstring/wcsdup.c index 9c150a44acb..62a65c28c89 100644 --- a/reactos/lib/crt/wstring/wcsdup.c +++ b/reactos/lib/crt/wstring/wcsdup.c @@ -1,7 +1,7 @@ -#include -#include -#include -#include +#include +#include +#include +#include /* diff --git a/reactos/lib/crt/wstring/wcsicmp.c b/reactos/lib/crt/wstring/wcsicmp.c index 82feea78558..fd2de512775 100644 --- a/reactos/lib/crt/wstring/wcsicmp.c +++ b/reactos/lib/crt/wstring/wcsicmp.c @@ -1,7 +1,7 @@ /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include -#include +#include +#include /* diff --git a/reactos/lib/crt/wstring/wcslwr.c b/reactos/lib/crt/wstring/wcslwr.c index 176af2fceeb..bc35b6e7172 100644 --- a/reactos/lib/crt/wstring/wcslwr.c +++ b/reactos/lib/crt/wstring/wcslwr.c @@ -8,7 +8,7 @@ * Copyright 1997 Uwe Bonnes */ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcsnicmp.c b/reactos/lib/crt/wstring/wcsnicmp.c index 4a99c8c492a..cc9eeee060f 100644 --- a/reactos/lib/crt/wstring/wcsnicmp.c +++ b/reactos/lib/crt/wstring/wcsnicmp.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcspbrk.c b/reactos/lib/crt/wstring/wcspbrk.c index e65ec33c2e0..abfe91e78f7 100644 --- a/reactos/lib/crt/wstring/wcspbrk.c +++ b/reactos/lib/crt/wstring/wcspbrk.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcsrev.c b/reactos/lib/crt/wstring/wcsrev.c index 4c213c5bf62..89c8ca7f04b 100644 --- a/reactos/lib/crt/wstring/wcsrev.c +++ b/reactos/lib/crt/wstring/wcsrev.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcsset.c b/reactos/lib/crt/wstring/wcsset.c index 3e797b04348..56ac5d98c99 100644 --- a/reactos/lib/crt/wstring/wcsset.c +++ b/reactos/lib/crt/wstring/wcsset.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcsspn.c b/reactos/lib/crt/wstring/wcsspn.c index 1025c8c1c2a..b50e104cce4 100644 --- a/reactos/lib/crt/wstring/wcsspn.c +++ b/reactos/lib/crt/wstring/wcsspn.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcsstr.c b/reactos/lib/crt/wstring/wcsstr.c index 7167f946c56..f8827b33942 100644 --- a/reactos/lib/crt/wstring/wcsstr.c +++ b/reactos/lib/crt/wstring/wcsstr.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcstok.c b/reactos/lib/crt/wstring/wcstok.c index 72cc6000a7c..e79fe27f861 100644 --- a/reactos/lib/crt/wstring/wcstok.c +++ b/reactos/lib/crt/wstring/wcstok.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include wchar_t** _wlasttoken(); /* wlasttok.c */ diff --git a/reactos/lib/crt/wstring/wcsupr.c b/reactos/lib/crt/wstring/wcsupr.c index 4a5dd8ad198..c62113c985b 100644 --- a/reactos/lib/crt/wstring/wcsupr.c +++ b/reactos/lib/crt/wstring/wcsupr.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wcsxfrm.c b/reactos/lib/crt/wstring/wcsxfrm.c index 9e5cb52ac99..3ee861f668a 100644 --- a/reactos/lib/crt/wstring/wcsxfrm.c +++ b/reactos/lib/crt/wstring/wcsxfrm.c @@ -1,4 +1,4 @@ -#include +#include /* * @implemented diff --git a/reactos/lib/crt/wstring/wlasttok.c b/reactos/lib/crt/wstring/wlasttok.c index fcc80c06d0e..14c333f4e1d 100644 --- a/reactos/lib/crt/wstring/wlasttok.c +++ b/reactos/lib/crt/wstring/wlasttok.c @@ -1,5 +1,5 @@ -#include -#include +#include +#include /* * This is an MSVCRT internal function to return the lasttoken * bit of data used by wcstok. The reason for it's existence is diff --git a/reactos/lib/crtdll/crtdll.def b/reactos/lib/crtdll/crtdll.def index a3d8fc6512e..463ef323356 100644 --- a/reactos/lib/crtdll/crtdll.def +++ b/reactos/lib/crtdll/crtdll.def @@ -145,7 +145,7 @@ _findnext _finite _flsbuf _flushall -_fmode_dll=__fmode DATA +_fmode_dll=_fmode DATA _fpclass _fpieee_flt _fpreset diff --git a/reactos/lib/crtdll/crtdll.xml b/reactos/lib/crtdll/crtdll.xml index a3609d18e65..8484282359d 100644 --- a/reactos/lib/crtdll/crtdll.xml +++ b/reactos/lib/crtdll/crtdll.xml @@ -3,6 +3,7 @@ -lgcc . + include 0x600 @@ -10,10 +11,10 @@ + crt string kernel32 ntdll - crt dllmain.c crtdll.rc diff --git a/reactos/lib/crtdll/dllmain.c b/reactos/lib/crtdll/dllmain.c index 3607c4b9fb1..902fd9d74b1 100644 --- a/reactos/lib/crtdll/dllmain.c +++ b/reactos/lib/crtdll/dllmain.c @@ -21,13 +21,14 @@ */ #include "precomp.h" -#include -#include -#include +#include +#include +#include +#include #include #define NDEBUG -#include +#include /* EXTERNAL PROTOTYPES ********************************************************/ diff --git a/reactos/lib/crtdll/makefile b/reactos/lib/crtdll/makefile index 1145c2aba1a..010fd94b413 100644 --- a/reactos/lib/crtdll/makefile +++ b/reactos/lib/crtdll/makefile @@ -21,7 +21,7 @@ TARGET_SDKLIBS = crt.a string.a kernel32.a ntdll.a wine.a TARGET_GCCLIBS = gcc -TARGET_CFLAGS = -D__USE_W32API -Wall -Werror +TARGET_CFLAGS = -D__USE_W32API -Wall -Werror -I../crt/include # require os code to explicitly request A/W version of structs/functions TARGET_CFLAGS += \ diff --git a/reactos/lib/crtdll/malloc/expand.c b/reactos/lib/crtdll/malloc/expand.c deleted file mode 100644 index eb60ed5792a..00000000000 --- a/reactos/lib/crtdll/malloc/expand.c +++ /dev/null @@ -1,18 +0,0 @@ -#include "precomp.h" -#include - -/* - * @implemented - */ -void* _expand(void* pold, size_t size) -{ - return HeapReAlloc(GetProcessHeap(), HEAP_REALLOC_IN_PLACE_ONLY, pold, size); -} - -/* - * @implemented - */ -size_t _msize(void* pBlock) -{ - return HeapSize (GetProcessHeap(), 0, pBlock); -} diff --git a/reactos/lib/crtdll/malloc/heap.c b/reactos/lib/crtdll/malloc/heap.c deleted file mode 100644 index e55b8a1e3a9..00000000000 --- a/reactos/lib/crtdll/malloc/heap.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "precomp.h" -#include - -/* - * @implemented - */ -int _heapchk(void) -{ - if (!HeapValidate(GetProcessHeap(), 0, NULL)) - return -1; - return 0; -} - -/* - * @implemented - */ -int _heapmin(void) -{ - if (!HeapCompact(GetProcessHeap(), 0)) - return -1; - return 0; -} - -/* - * @implemented - */ -int _heapset(unsigned int unFill) -{ - if (_heapchk() == -1) - return -1; - return 0; - -} - -/* - * @implemented - */ -int _heapwalk(struct _heapinfo* entry) -{ - return 0; -} diff --git a/reactos/lib/crtdll/stdio/vsprintf.c b/reactos/lib/crtdll/stdio/vsprintf.c index 13cda16d11a..cb6210aae4a 100644 --- a/reactos/lib/crtdll/stdio/vsprintf.c +++ b/reactos/lib/crtdll/stdio/vsprintf.c @@ -8,7 +8,7 @@ * @implemented */ int -vsprintf(char *str, const char *fmt, va_list ap) +crt_vsprintf(char *str, const char *fmt, va_list ap) { FILE f; int len; @@ -63,7 +63,7 @@ _vsnprintf(char *str, size_t maxlen, const char *fmt, va_list ap) * @implemented */ int -_vsnwprintf(wchar_t *str, size_t maxlen, const wchar_t *fmt, va_list ap) +crt__vsnwprintf(wchar_t *str, size_t maxlen, const wchar_t *fmt, va_list ap) { FILE f; int len; diff --git a/reactos/lib/crtdll/string/lasttok.c b/reactos/lib/crtdll/string/lasttok.c deleted file mode 100644 index 144f283c13d..00000000000 --- a/reactos/lib/crtdll/string/lasttok.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -/* - * This is a CRTDLL internal function to return the lasttoken - * bit of data used by strtok. The reason for it's existence is - * so that CRTDLL can use MSVCRT's implementation of strtok. - */ -char** _lasttoken() -{ - static char *lasttoken = NULL; - return &lasttoken; -} diff --git a/reactos/lib/crtdll/string/str_old.c b/reactos/lib/crtdll/string/str_old.c deleted file mode 100644 index 6b0a1e8ba5e..00000000000 --- a/reactos/lib/crtdll/string/str_old.c +++ /dev/null @@ -1,49 +0,0 @@ -/* - * string_old.c - * - * Oldnames from ANSI header string.h - * - * Some wrapper functions for those old name functions whose appropriate - * equivalents are not simply underscore prefixed. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAMED. This includes but is not limited to warrenties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.4 $ - * $Author$ - * $Date$ - * - */ - -#include -#include - -int -strcasecmp (const char* sz1, const char* sz2) -{ - return _stricmp (sz1, sz2); -} - -int -strncasecmp (const char* sz1, const char* sz2, size_t sizeMaxCompare) -{ - return _strnicmp (sz1, sz2, sizeMaxCompare); -} - -int -wcscmpi (const wchar_t* ws1, const wchar_t* ws2) -{ - //return wcsicmp (ws1, ws2); - return 0; -} - diff --git a/reactos/lib/crtdll/string/strerror.c b/reactos/lib/crtdll/string/strerror.c deleted file mode 100644 index 30830f7295b..00000000000 --- a/reactos/lib/crtdll/string/strerror.c +++ /dev/null @@ -1,108 +0,0 @@ -/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ -#include -#include -#include -#include - - -char __syserr00[] = "No Error"; -char __syserr01[] = "Input to function out of range (EDOM)"; -char __syserr02[] = "Output of function out of range (ERANGE)"; -char __syserr03[] = "Argument list too long (E2BIG)"; -char __syserr04[] = "Permission denied (EACCES)"; -char __syserr05[] = "Resource temporarily unavailable (EAGAIN)"; -char __syserr06[] = "Bad file descriptor (EBADF)"; -char __syserr07[] = "Resource busy (EBUSY)"; -char __syserr08[] = "No child processes (ECHILD)"; -char __syserr09[] = "Resource deadlock avoided (EDEADLK)"; -char __syserr10[] = "File exists (EEXIST)"; -char __syserr11[] = "Bad address (EFAULT)"; -char __syserr12[] = "File too large (EFBIG)"; -char __syserr13[] = "Interrupted system call (EINTR)"; -char __syserr14[] = "Invalid argument (EINVAL)"; -char __syserr15[] = "Input or output error (EIO)"; -char __syserr16[] = "Is a directory (EISDIR)"; -char __syserr17[] = "Too many open files (EMFILE)"; -char __syserr18[] = "Too many links (EMLINK)"; -char __syserr19[] = "File name too long (ENAMETOOLONG)"; -char __syserr20[] = "Too many open files in system (ENFILE)"; -char __syserr21[] = "No such device (ENODEV)"; -char __syserr22[] = "No such file or directory (ENOENT)"; -char __syserr23[] = "Unable to execute file (ENOEXEC)"; -char __syserr24[] = "No locks available (ENOLCK)"; -char __syserr25[] = "Not enough memory (ENOMEM)"; -char __syserr26[] = "No space left on drive (ENOSPC)"; -char __syserr27[] = "Function not implemented (ENOSYS)"; -char __syserr28[] = "Not a directory (ENOTDIR)"; -char __syserr29[] = "Directory not empty (ENOTEMPTY)"; -char __syserr30[] = "Inappropriate I/O control operation (ENOTTY)"; -char __syserr31[] = "No such device or address (ENXIO)"; -char __syserr32[] = "Operation not permitted (EPERM)"; -char __syserr33[] = "Broken pipe (EPIPE)"; -char __syserr34[] = "Read-only file system (EROFS)"; -char __syserr35[] = "Invalid seek (ESPIPE)"; -char __syserr36[] = "No such process (ESRCH)"; -char __syserr37[] = "Improper link (EXDEV)"; -char __syserr38[] = "No more files (ENMFILE)"; - -const char *_sys_errlist[] = { -__syserr00, __syserr01, __syserr02, __syserr03, __syserr04, -__syserr05, __syserr06, __syserr07, __syserr08, __syserr09, -__syserr10, __syserr11, __syserr12, __syserr13, __syserr14, -__syserr15, __syserr16, __syserr17, __syserr18, __syserr19, -__syserr20, __syserr21, __syserr22, __syserr23, __syserr24, -__syserr25, __syserr26, __syserr27, __syserr28, __syserr29, -__syserr30, __syserr31, __syserr32, __syserr33, __syserr34, -__syserr35, __syserr36, __syserr37, __syserr38 -}; - -int __sys_nerr = sizeof(_sys_errlist) / sizeof(_sys_errlist[0]); - -int* _sys_nerr_dll = &__sys_nerr; - -/* - * @implemented - * - */ -char *strerror(int errnum) -{ - static char ebuf[40]; /* 64-bit number + slop */ - char *cp; - int v=1000000, lz=0; - - if (errnum >= 0 && errnum < __sys_nerr) - return((char *)_sys_errlist[errnum]); - - strcpy(ebuf, "Unknown error: "); - cp = ebuf + 15; - if (errnum < 0) - { - *cp++ = '-'; - errnum = -errnum; - } - while (v) - { - int d = errnum / v; - if (d || lz || (v == 1)) - { - *cp++ = d+'0'; - lz = 1; - } - errnum %= v; - v /= 10; - } - - return ebuf; -} - -/* - * @implemented - * - */ -char *_strerror(const char *s) -{ - if ( s == NULL ) - return strerror(errno); - - return strerror(atoi(s)); -} diff --git a/reactos/lib/crtdll/string/strtok.c b/reactos/lib/crtdll/string/strtok.c deleted file mode 100644 index ee4d192fffc..00000000000 --- a/reactos/lib/crtdll/string/strtok.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include - -/* - * @implemented - */ -char* strtok(char *s, const char *delim) -{ - const char *spanp; - int c, sc; - char *tok; - static char *last; - - - if (s == NULL && (s = last) == NULL) - return (NULL); - - /* - * Skip (span) leading delimiters (s += strspn(s, delim), sort of). - */ - cont: - c = *s++; - for (spanp = delim; (sc = *spanp++) != 0;) { - if (c == sc) - goto cont; - } - - if (c == 0) { /* no non-delimiter characters */ - last = NULL; - return (NULL); - } - tok = s - 1; - - /* - * Scan token (scan for delimiters: s += strcspn(s, delim), sort of). - * Note that delim must have one NUL; we stop if we see that, too. - */ - for (;;) { - c = *s++; - spanp = delim; - do { - if ((sc = *spanp++) == c) { - if (c == 0) - s = NULL; - else - s[-1] = 0; - last = s; - return (tok); - } - } while (sc != 0); - } - /* NOTREACHED */ -} diff --git a/reactos/lib/crtdll/tchar/strdec.c b/reactos/lib/crtdll/tchar/strdec.c deleted file mode 100644 index c2b2a90ca9f..00000000000 --- a/reactos/lib/crtdll/tchar/strdec.c +++ /dev/null @@ -1,10 +0,0 @@ -#include - -/* - * @implemented - */ -char * _strdec(const char *str1, const char *str2) -{ - return (char *) (( str1 >= str2 ) ? ( str1 ) : --str2); -} - diff --git a/reactos/lib/crtdll/tchar/strinc.c b/reactos/lib/crtdll/tchar/strinc.c deleted file mode 100644 index 91b48825a2b..00000000000 --- a/reactos/lib/crtdll/tchar/strinc.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -/* - * @implemented - */ -char * _strinc(const char *str) -{ - return (char *)(++str); -} diff --git a/reactos/lib/crtdll/tchar/strncnt.c b/reactos/lib/crtdll/tchar/strncnt.c deleted file mode 100644 index bbcd1def1cb..00000000000 --- a/reactos/lib/crtdll/tchar/strncnt.c +++ /dev/null @@ -1,10 +0,0 @@ -#include -#include - -/* - * @implemented - */ -size_t _strncnt( const char *str, size_t max) -{ - return strnlen(str,max); -} diff --git a/reactos/lib/crtdll/tchar/strnextc.c b/reactos/lib/crtdll/tchar/strnextc.c deleted file mode 100644 index b5bcd5eed64..00000000000 --- a/reactos/lib/crtdll/tchar/strnextc.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -/* - * @implemented - */ -int _strnextc(const char *str) -{ - return *(++str); -} diff --git a/reactos/lib/crtdll/tchar/strninc.c b/reactos/lib/crtdll/tchar/strninc.c deleted file mode 100644 index ccb77cc6006..00000000000 --- a/reactos/lib/crtdll/tchar/strninc.c +++ /dev/null @@ -1,10 +0,0 @@ -#include -#include - -/* - * @implemented - */ -char * _strninc(const char *str, size_t inc) -{ - return (char *)(str + inc); -} diff --git a/reactos/lib/crtdll/tchar/strspnp.c b/reactos/lib/crtdll/tchar/strspnp.c deleted file mode 100644 index b12844ebc73..00000000000 --- a/reactos/lib/crtdll/tchar/strspnp.c +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include - - -/* - * @implemented - */ -char * _strspnp( const char * str1, const char * str2) -{ - return NULL; -} - diff --git a/reactos/lib/crtdll/wchar/wcstod.c b/reactos/lib/crtdll/wchar/wcstod.c deleted file mode 100644 index 360003eeec5..00000000000 --- a/reactos/lib/crtdll/wchar/wcstod.c +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ -/* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */ -#include - - -/* - * @implemented - */ -double wcstod(const wchar_t* s, wchar_t** sret) -{ - long double r; /* result */ - int e; /* exponent */ - long double d; /* scale */ - int sign; /* +- 1.0 */ - int esign; - int i; - int flags=0; - - r = 0.0; - sign = 1; - e = 0; - esign = 1; - - while ((*s == L' ') || (*s == L'\t')) - s++; - - if (*s == L'+') - s++; - else if (*s == L'-') - { - sign = -1; - s++; - } - - while ((*s >= L'0') && (*s <= L'9')) - { - flags |= 1; - r *= 10.0; - r += *s - L'0'; - s++; - } - - if (*s == L'.') - { - d = 0.1L; - s++; - while ((*s >= L'0') && (*s <= L'9')) - { - flags |= 2; - r += d * (*s - L'0'); - s++; - d *= 0.1L; - } - } - - if (flags == 0) - { - if (sret) - *sret = (wchar_t *)s; - return 0; - } - - if ((*s == L'e') || (*s == L'E')) - { - s++; - if (*s == L'+') - s++; - else if (*s == L'-') - { - s++; - esign = -1; - } - if ((*s < L'0') || (*s > L'9')) - { - if (sret) - *sret = (wchar_t *)s; - return r; - } - - while ((*s >= L'0') && (*s <= L'9')) - { - e *= 10; - e += *s - L'0'; - s++; - } - } - - if (esign < 0) - for (i = 1; i <= e; i++) - r *= 0.1L; - else - for (i = 1; i <= e; i++) - r *= 10.0; - - if (sret) - *sret = (wchar_t *)s; - return r * sign; -} diff --git a/reactos/lib/crtdll/wchar/wcstok.c b/reactos/lib/crtdll/wchar/wcstok.c deleted file mode 100644 index a495e431d64..00000000000 --- a/reactos/lib/crtdll/wchar/wcstok.c +++ /dev/null @@ -1,54 +0,0 @@ -#include - -/* - * @implemented - */ -wchar_t *wcstok(wchar_t *s, const wchar_t *ct) -{ - const wchar_t *spanp; - int c, sc; - wchar_t *tok; - static wchar_t *last; - - if (s == NULL && (s = last) == NULL) - return (NULL); - - /* - * Skip (span) leading ctiters (s += strspn(s, ct), sort of). - */ - cont: - c = *s; - s++; - for (spanp = ct; (sc = *spanp) != 0;spanp++) { - if (c == sc) - goto cont; - } - - if (c == 0) { /* no non-ctiter characters */ - last = NULL; - return (NULL); - } - tok = s - 2; - - /* - * Scan token (scan for ctiters: s += strcspn(s, ct), sort of). - * Note that ct must have one NUL; we stop if we see that, too. - */ - for (;;) { - c = *s; - s+=2; - spanp = ct; - do { - if ((sc = *spanp) == c) { - if (c == 0) - s = NULL; - else - s[-1] = 0; - last = s; - return (tok); - } - spanp+=2; - } while (sc != 0); - } - /* NOTREACHED */ -} diff --git a/reactos/lib/crtdll/wchar/wcstol.c b/reactos/lib/crtdll/wchar/wcstol.c deleted file mode 100644 index d1a0b69c168..00000000000 --- a/reactos/lib/crtdll/wchar/wcstol.c +++ /dev/null @@ -1,64 +0,0 @@ -#include - - -/* - * @implemented - */ -long wcstol(const wchar_t* cp, wchar_t** endp, int base) -{ - long result = 0, value; - int sign = 1; - - if (*cp == L'-') { - sign = -1; - cp++; - } - - if (!base) { - base = 10; - if (*cp == L'0') { - base = 8; - cp++; - if ((*cp == L'x') && iswxdigit(cp[1])) { - cp++; - base = 16; - } - } - } - while (iswxdigit(*cp) && (value = iswdigit(*cp) ? *cp-L'0' : (iswlower(*cp) - ? towupper(*cp) : *cp)-L'A'+10) < base) { - result = result*base + value; - cp++; - } - if (endp) - *endp = (wchar_t*)cp; - return result * sign; -} - -/* - * @implemented - */ -unsigned long wcstoul(const wchar_t* cp, wchar_t** endp, int base) -{ - unsigned long result = 0, value; - - if (!base) { - base = 10; - if (*cp == L'0') { - base = 8; - cp++; - if ((*cp == L'x') && iswxdigit(cp[1])) { - cp++; - base = 16; - } - } - } - while (iswxdigit(*cp) && (value = iswdigit(*cp) ? *cp-L'0' : (iswlower(*cp) - ? towupper(*cp) : *cp)-L'A'+10) < base) { - result = result*base + value; - cp++; - } - if (endp) - *endp = (wchar_t*)cp; - return result; -} diff --git a/reactos/lib/crtdll/wchar/wcstombs.c b/reactos/lib/crtdll/wchar/wcstombs.c deleted file mode 100644 index 0cd1ba6e15c..00000000000 --- a/reactos/lib/crtdll/wchar/wcstombs.c +++ /dev/null @@ -1,10 +0,0 @@ -#include -#include - -/* - * @unimplemented - */ -size_t wcstombs( char *dst, const wchar_t *src, size_t len ) -{ - return 0; -} diff --git a/reactos/lib/crtdll/wchar/wlasttok.c b/reactos/lib/crtdll/wchar/wlasttok.c deleted file mode 100644 index 13658529db8..00000000000 --- a/reactos/lib/crtdll/wchar/wlasttok.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -/* - * This is a CRTDLL internal function to return the lasttoken - * bit of data used by wcstok. The reason for it's existence is - * so that CRTDLL can use MSVCRT's implementation of wcstok. - */ -wchar_t** _wlasttoken() -{ - static wchar_t *wlasttoken = NULL; - return &wlasttoken; -} diff --git a/reactos/lib/crtdll/wchar/wtoi.c b/reactos/lib/crtdll/wchar/wtoi.c deleted file mode 100644 index 40eadcbaaac..00000000000 --- a/reactos/lib/crtdll/wchar/wtoi.c +++ /dev/null @@ -1,26 +0,0 @@ -#include - - -/* - * @implemented - * - * this function is now forwarded to NTDLL._wtoi to reduce code duplication - */ -#if 0 -int _wtoi(const wchar_t* str) -{ - return (int)wcstol(str, 0, 10); -} -#endif - -/* - * @implemented - * - * this function is now forwarded to NTDLL._wtol to reduce code duplication - */ -#if 0 -long _wtol(const wchar_t* str) -{ - return (int)wcstol(str, 0, 10); -} -#endif diff --git a/reactos/lib/dinput/device.c b/reactos/lib/dinput/device.c index 1c443da51ba..2980c3c00d1 100644 --- a/reactos/lib/dinput/device.c +++ b/reactos/lib/dinput/device.c @@ -316,7 +316,7 @@ DataFormat *create_DataFormat(const DIDATAFORMAT *wine_format, LPCDIDATAFORMAT a * instance id. */ ((asked_format->rgodf[j].dwType & 0x00FFFF00) == DIDFT_ANYINSTANCE) || - (DIDFT_GETINSTANCE(wine_format->rgodf[i].dwType) == DIDFT_GETINSTANCE(asked_format->rgodf[j].dwType)))) { + (wine_format->rgodf[i].dwType & asked_format->rgodf[j].dwType))) { done[j] = 1; diff --git a/reactos/lib/dinput/dinput_main.c b/reactos/lib/dinput/dinput_main.c index 900b7c820a3..bd003d07e6a 100644 --- a/reactos/lib/dinput/dinput_main.c +++ b/reactos/lib/dinput/dinput_main.c @@ -198,7 +198,7 @@ HRESULT WINAPI DirectInputCreateW(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPU return 0; } -static char *_dump_DIDEVTYPE_value(DWORD dwDevType) { +static const char *_dump_DIDEVTYPE_value(DWORD dwDevType) { switch (dwDevType) { case 0: return "All devices"; case DIDEVTYPE_MOUSE: return "DIDEVTYPE_MOUSE"; diff --git a/reactos/lib/dinput/joystick_linux.c b/reactos/lib/dinput/joystick_linux.c index 101d900e953..138ded7caf8 100644 --- a/reactos/lib/dinput/joystick_linux.c +++ b/reactos/lib/dinput/joystick_linux.c @@ -304,7 +304,7 @@ static HRESULT setup_dinput_options(JoystickImpl * device) int tokens = 0; int axis = 0; int pov = 0; - char *delim = ","; + const char *delim = ","; char * ptr; TRACE("\"%s\" = \"%s\"\n", device->name, buffer); @@ -1062,18 +1062,14 @@ static HRESULT WINAPI JoystickAImpl_GetDeviceData( *entries = 0; nqtail = This->queue_tail; while (len) { - DWORD span = ((This->queue_head < nqtail) ? This->queue_len : This->queue_head) - nqtail; - if (span > len) - span = len; - /* Copy the buffered data into the application queue */ - memcpy(dod + *entries, This->data_queue + nqtail, span * dodsize); + memcpy((char *)dod + *entries * dodsize, This->data_queue + nqtail, dodsize); /* Advance position */ - nqtail += span; + nqtail++; if (nqtail >= This->queue_len) nqtail -= This->queue_len; - *entries += span; - len -= span; + (*entries)++; + len--; } } diff --git a/reactos/lib/dinput/mouse.c b/reactos/lib/dinput/mouse.c index 96e849bf186..50696615c13 100644 --- a/reactos/lib/dinput/mouse.c +++ b/reactos/lib/dinput/mouse.c @@ -910,7 +910,7 @@ getmousesvalue(iface); dod[3].dwOfs = DIMOFS_BUTTON1; dod[3].dwData = This->m_state.rgbButtons[1]; dod[3].dwTimeStamp = 0; - dod[0].dwSequence = last_event++; + dod[3].dwSequence = last_event++; dod[4].dwOfs = DIMOFS_BUTTON2; dod[4].dwData = This->m_state.rgbButtons[2]; @@ -951,18 +951,15 @@ getmousesvalue(iface); *entries = 0; nqtail = This->queue_tail; while (len) { - DWORD span = ((This->queue_head < nqtail) ? This->queue_len : This->queue_head) - nqtail; - if (span > len) - span = len; - /* Copy the buffered data into the application queue */ - memcpy(dod + *entries, This->data_queue + nqtail, span * dodsize); + memcpy((char *)dod + *entries * dodsize, This->data_queue + nqtail, dodsize); /* Advance position */ - nqtail += span; - if (nqtail >= This->queue_len) nqtail -= This->queue_len; - *entries += span; - len -= span; + nqtail++; + if (nqtail >= This->queue_len) + nqtail -= This->queue_len; + (*entries)++; + len--; } } if (!(flags & DIGDD_PEEK)) diff --git a/reactos/lib/directory.xml b/reactos/lib/directory.xml index c082b1200f3..967de9682da 100644 --- a/reactos/lib/directory.xml +++ b/reactos/lib/directory.xml @@ -229,9 +229,6 @@ - - - diff --git a/reactos/lib/expat/Changes b/reactos/lib/expat/Changes index b724f96a5f9..c3ed3a669fa 100644 --- a/reactos/lib/expat/Changes +++ b/reactos/lib/expat/Changes @@ -1,3 +1,20 @@ +Release 1.95.9 TBD + - We no longer use the "check" library for C unit testing; we + always use the (partial) internal implementation of the API. + - Report XML_NS setting via XML_GetFeatureList(). + - Fixed headers for use from C++. + - Updated to use libtool 1.5.10 (the most recent). + +Release 1.95.8 Fri Jul 23 2004 + - Major new feature: suspend/resume. Handlers can now request + that a parse be suspended for later resumption or aborted + altogether. See "Temporarily Stopping Parsing" in the + documentation for more details. + - Some mostly minor bug fixes, but compilation should no + longer generate warnings on most platforms. SF issues + include: 827319, 840173, 846309, 888329, 896188, 923913, + 928113, 961698, 985192. + Release 1.95.7 Mon Oct 20 2003 - Fixed enum XML_Status issue (reported on SourceForge many times), so compilers that are properly picky will be happy. diff --git a/reactos/lib/expat/MANIFEST b/reactos/lib/expat/MANIFEST index 28541205fe9..252a43918d3 100644 --- a/reactos/lib/expat/MANIFEST +++ b/reactos/lib/expat/MANIFEST @@ -1,13 +1,5 @@ -Changes -COPYING -MANIFEST -Makefile.in -README -configure -configure.in -expat_config.h.in -expat.dsw bcb5/README.txt +bcb5/all_projects.bpg bcb5/elements.bpf bcb5/elements.bpr bcb5/elements.mak @@ -33,37 +25,53 @@ bcb5/setup.bat bcb5/xmlwf.bpf bcb5/xmlwf.bpr bcb5/xmlwf.mak -conftools/PrintPath -conftools/ac_c_bigendian_cross.m4 -conftools/config.guess -conftools/config.sub -conftools/expat.m4 -conftools/install-sh -conftools/libtool.m4 -conftools/ltmain.sh -conftools/mkinstalldirs +doc/expat.png doc/reference.html doc/style.css doc/valid-xhtml10.png doc/xmlwf.1 doc/xmlwf.sgml +COPYING +Changes +MANIFEST +Makefile.in +README +configure +configure.in +expat_config.h.in +expat.dsw +conftools/PrintPath +conftools/ac_c_bigendian_cross.m4 +conftools/config.guess +conftools/config.sub +conftools/expat.m4 +conftools/get-version.sh +conftools/install-sh +conftools/libtool.m4 +conftools/ltmain.sh +conftools/mkinstalldirs examples/elements.c examples/elements.dsp examples/outline.c examples/outline.dsp +lib/Makefile.MPW lib/ascii.h lib/asciitab.h lib/expat.dsp lib/expat.h -lib/expatw.dsp +lib/expat_external.h lib/expat_static.dsp +lib/expatw.dsp lib/expatw_static.dsp lib/iasciitab.h lib/internal.h lib/latin1tab.h +lib/libexpat.def lib/libexpatw.def +lib/macconfig.h lib/nametab.h lib/utf8tab.h +lib/winconfig.h lib/xmlparse.c lib/xmlrole.c lib/xmlrole.h @@ -72,17 +80,24 @@ lib/xmltok.h lib/xmltok_impl.c lib/xmltok_impl.h lib/xmltok_ns.c -lib/winconfig.h +tests/benchmark/README.txt +tests/benchmark/benchmark.c +tests/benchmark/benchmark.dsp +tests/benchmark/benchmark.dsw tests/README.txt tests/chardata.c tests/chardata.h +tests/minicheck.c +tests/minicheck.h tests/runtests.c +tests/runtestspp.cpp tests/xmltest.sh +vms/README.vms vms/descrip.mms vms/expat_config.h -vms/README.vms -win32/expat.iss win32/MANIFEST.txt +win32/README.txt +win32/expat.iss xmlwf/codepage.c xmlwf/codepage.h xmlwf/ct.c diff --git a/reactos/lib/expat/Makefile b/reactos/lib/expat/Makefile index abe638b3c30..e781654972b 100644 --- a/reactos/lib/expat/Makefile +++ b/reactos/lib/expat/Makefile @@ -1,16 +1,14 @@ -# $Id$ +# $Id: Makefile 12851 2005-01-06 13:34:15Z mf $ PATH_TO_TOP = ../.. +include $(PATH_TO_TOP)/config + TARGET_NAME = expat -TARGET_TYPE = dynlink -TARGET_BASE = $(TARGET_BASE_LIB_EXPAT) -TARGET_NORC = yes -TARGET_DEFONLY = yes -TARGET_DEFNAME = lib/libexpat +TARGET_TYPE = library -TARGET_CFLAGS = -D__USE_W32API -DHAVE_EXPAT_CONFIG_H -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions +TARGET_CFLAGS = -D__USE_W32API -DHAVE_EXPAT_CONFIG_H -Wall -Wmissing-prototypes -Wstrict-prototypes -fexceptions -Ilib TARGET_LFLAGS = -nostartfiles LIB_OBJECTS = \ diff --git a/reactos/lib/expat/Makefile.in b/reactos/lib/expat/Makefile.in index f85920c188f..aadeda1ca17 100644 --- a/reactos/lib/expat/Makefile.in +++ b/reactos/lib/expat/Makefile.in @@ -41,9 +41,12 @@ INSTALL_DATA = @INSTALL_DATA@ mkinstalldirs = $(SHELL) $(top_srcdir)/conftools/mkinstalldirs MANFILE = $(srcdir)/doc/xmlwf.1 -APIHEADER = $(srcdir)/lib/expat.h +APIHEADER = $(srcdir)/lib/expat.h $(srcdir)/lib/expat_external.h LIBRARY = libexpat.la +ifndef INSTALL_ROOT +INSTALL_ROOT=$(DESTDIR) +endif default: buildlib xmlwf/xmlwf @@ -55,7 +58,8 @@ clean: cd lib && rm -f $(LIBRARY) *.o *.lo && rm -rf .libs _libs cd xmlwf && rm -f xmlwf *.o *.lo && rm -rf .libs _libs cd examples && rm -f elements outline *.o *.lo && rm -rf .libs _libs - cd tests && rm -rf .libs runtests runtests.o chardata.o + cd tests && rm -rf .libs runtests runtests.o runtestspp runtestspp.o + cd tests && rm -f chardata.o minicheck.o rm -rf .libs libexpat.la rm -f examples/core tests/core xmlwf/core @@ -69,26 +73,28 @@ extraclean: distclean rm -f expat_config.h.in configure rm -f conftools/ltconfig conftools/ltmain.sh conftools/libtool.m4 -check: tests/runtests +check: tests/runtests tests/runtestspp tests/runtests + tests/runtestspp install: xmlwf/xmlwf installlib - $(mkinstalldirs) $(bindir) $(man1dir) - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) xmlwf/xmlwf $(bindir)/xmlwf - $(INSTALL_DATA) $(MANFILE) $(man1dir) + $(mkinstalldirs) $(INSTALL_ROOT)$(bindir) $(INSTALL_ROOT)$(man1dir) + $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) xmlwf/xmlwf $(INSTALL_ROOT)$(bindir)/xmlwf + $(INSTALL_DATA) $(MANFILE) $(INSTALL_ROOT)$(man1dir) installlib: $(LIBRARY) $(APIHEADER) - $(mkinstalldirs) $(libdir) $(includedir) - $(LIBTOOL) --mode=install $(INSTALL) $(LIBRARY) $(libdir)/$(LIBRARY) - $(INSTALL_DATA) $(APIHEADER) $(includedir) + $(mkinstalldirs) $(INSTALL_ROOT)$(libdir) $(INSTALL_ROOT)$(includedir) + $(LIBTOOL) --mode=install $(INSTALL) $(LIBRARY) $(INSTALL_ROOT)$(libdir)/$(LIBRARY) + for FN in $(APIHEADER) ; do $(INSTALL_DATA) $$FN $(INSTALL_ROOT)$(includedir) ; done uninstall: uninstalllib - $(LIBTOOL) --mode=uninstall rm -f $(bindir)/xmlwf - rm -f $(man1dir)/xmlwf.1 + $(LIBTOOL) --mode=uninstall rm -f $(INSTALL_ROOT)$(bindir)/xmlwf + rm -f $(INSTALL_ROOT)$(man1dir)/xmlwf.1 uninstalllib: - $(LIBTOOL) --mode=uninstall rm -f $(libdir)/$(LIBRARY) - rm -f $(includedir)/$(APIHEADER) + $(LIBTOOL) --mode=uninstall rm -f $(INSTALL_ROOT)$(libdir)/$(LIBRARY) + rm -f $(INSTALL_ROOT)$(includedir)/expat.h + rm -f $(INSTALL_ROOT)$(includedir)/expat_external.h # for VPATH builds (invoked by configure) mkdir-init: @@ -108,25 +114,27 @@ VSNFLAG = -version-info @LIBCURRENT@:@LIBREVISION@:@LIBAGE@ ### autoconf this? LTFLAGS = --silent -COMPILE = $(CC) $(CFLAGS) $(DEFS) $(CPPFLAGS) $(INCLUDES) +COMPILE = $(CC) $(INCLUDES) $(CFLAGS) $(DEFS) $(CPPFLAGS) +CXXCOMPILE = $(CXX) $(INCLUDES) $(CFLAGS) $(DEFS) $(CPPFLAGS) LTCOMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) LINK_LIB = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -no-undefined $(VSNFLAG) -rpath $(libdir) $(LDFLAGS) -o $@ LINK_EXE = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LDFLAGS) -o $@ +LINK_CXX_EXE = $(LIBTOOL) $(LTFLAGS) --mode=link $(CXXCOMPILE) $(LDFLAGS) -o $@ LIB_OBJS = lib/xmlparse.lo lib/xmltok.lo lib/xmlrole.lo $(LIBRARY): $(LIB_OBJS) $(LINK_LIB) $(LIB_OBJS) lib/xmlparse.lo: lib/xmlparse.c lib/expat.h lib/xmlrole.h lib/xmltok.h \ - $(top_builddir)/expat_config.h lib/internal.h + $(top_builddir)/expat_config.h lib/expat_external.h lib/internal.h lib/xmlrole.lo: lib/xmlrole.c lib/ascii.h lib/xmlrole.h \ - $(top_builddir)/expat_config.h lib/internal.h + $(top_builddir)/expat_config.h lib/expat_external.h lib/internal.h lib/xmltok.lo: lib/xmltok.c lib/xmltok_impl.c lib/xmltok_ns.c \ lib/ascii.h lib/asciitab.h lib/iasciitab.h lib/latin1tab.h \ lib/nametab.h lib/utf8tab.h lib/xmltok.h lib/xmltok_impl.h \ - $(top_builddir)/expat_config.h + $(top_builddir)/expat_config.h lib/expat_external.h lib/internal.h XMLWF_OBJS = xmlwf/xmlwf.o xmlwf/xmlfile.o xmlwf/codepage.o xmlwf/@FILEMAP@.o @@ -146,9 +154,13 @@ examples/outline: examples/outline.o $(LIBRARY) $(LINK_EXE) $< $(LIBRARY) tests/chardata.o: tests/chardata.c tests/chardata.h +tests/minicheck.o: tests/minicheck.c tests/minicheck.h tests/runtests.o: tests/runtests.c tests/chardata.h -tests/runtests: tests/runtests.o tests/chardata.o $(LIBRARY) - $(LINK_EXE) $^ -lcheck +tests/runtests: tests/runtests.o tests/chardata.o tests/minicheck.o $(LIBRARY) + $(LINK_EXE) $^ +tests/runtestspp.o: tests/runtestspp.cpp tests/runtests.c tests/chardata.h +tests/runtestspp: tests/runtestspp.o tests/chardata.o tests/minicheck.o $(LIBRARY) + $(LINK_CXX_EXE) $^ tests/xmlts.zip: wget --output-document=tests/xmlts.zip \ diff --git a/reactos/lib/expat/README b/reactos/lib/expat/README index d391c7e1935..0885292cf0b 100644 --- a/reactos/lib/expat/README +++ b/reactos/lib/expat/README @@ -1,5 +1,5 @@ - Expat, Release 1.95.7 + Expat, Release 1.95.8 This is Expat, a C library for parsing XML, written by James Clark. Expat is a stream-oriented XML parser. This means that you register @@ -92,13 +92,6 @@ you're using ksh or bash, use this command to build: PATH=/usr/ccs/bin:$PATH make -The unit and regression tests for Expat require the "check" library on -Unix; more information is available at http://check.sourceforge.net/, -and downloadable packages are available from the library's project -page on SourceForge: http://sourceforge.net/projects/check/. You do -not need to install the check library to build and use Expat, only to -build and run Expat's test suite. - When using Expat with a project using autoconf for configuration, you can use the probing macro in conftools/expat.m4 to determine how to include Expat. See the comments at the top of that file for more @@ -116,4 +109,4 @@ Discussion related to the direction of future expat development takes place on expat-discuss@mail.libexpat.org. Archives of this list and other Expat-related lists may be found at: - http://mail.libexpat.org/mailman-21/listinfo/ + http://mail.libexpat.org/mailman/listinfo/ diff --git a/reactos/lib/expat/configure.in b/reactos/lib/expat/configure.in index 035cd421595..b53e4556a0a 100644 --- a/reactos/lib/expat/configure.in +++ b/reactos/lib/expat/configure.in @@ -103,8 +103,37 @@ else fi AC_SUBST(FILEMAP) -dnl Only needed for regression tests: -AC_CHECK_HEADERS(check.h) +dnl Needed for the test support code; this was found at +dnl http://lists.gnu.org/archive/html/bug-autoconf/2002-07/msg00028.html + +# AC_CPP_FUNC +# ------------------ # +# Checks to see if ANSI C99 CPP variable __func__ works. +# If not, perhaps __FUNCTION__ works instead. +# If not, we'll just define __func__ to "". +AC_DEFUN([AC_CPP_FUNC], +[AC_REQUIRE([AC_PROG_CC_STDC])dnl +AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[char *foo = __func__;]])], + [ac_cv_cpp_func=yes], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], +[[char *foo = __FUNCTION__;]])], + [ac_cv_cpp_func=__FUNCTION__], + [ac_cv_cpp_func=no])])]) +if test $ac_cv_cpp_func = __FUNCTION__; then + AC_DEFINE(__func__,__FUNCTION__, + [Define to __FUNCTION__ or "" if `__func__' does not conform to +ANSI C.]) +elif test $ac_cv_cpp_func = no; then + AC_DEFINE(__func__,"", + [Define to __FUNCTION__ or "" if `__func__' does not conform to +ANSI C.]) +fi +])# AC_CPP_FUNC + +AC_CPP_FUNC + dnl Some basic configuration: AC_DEFINE([XML_NS], 1, diff --git a/reactos/lib/expat/conftools/ac_c_bigendian_cross.m4 b/reactos/lib/expat/conftools/ac_c_bigendian_cross.m4 index 59912635b64..5cb0e80e143 100644 --- a/reactos/lib/expat/conftools/ac_c_bigendian_cross.m4 +++ b/reactos/lib/expat/conftools/ac_c_bigendian_cross.m4 @@ -7,7 +7,7 @@ dnl The implementation will create a binary, and instead of running dnl the binary it will be grep'ed for some symbols that will look dnl different for different endianess of the binary. dnl -dnl @version $Id$ +dnl @version $Id: ac_c_bigendian_cross.m4 12851 2005-01-06 13:34:15Z mf $ dnl @author Guido Draheim dnl AC_DEFUN([AC_C_BIGENDIAN_CROSS], diff --git a/reactos/lib/expat/conftools/mkinstalldirs b/reactos/lib/expat/conftools/mkinstalldirs index 6b3b5fc5d4d..996d32d8521 100644 --- a/reactos/lib/expat/conftools/mkinstalldirs +++ b/reactos/lib/expat/conftools/mkinstalldirs @@ -4,7 +4,7 @@ # Created: 1993-05-16 # Public domain -# $Id$ +# $Id: mkinstalldirs 12851 2005-01-06 13:34:15Z mf $ errstatus=0 diff --git a/reactos/lib/expat/doc/reference.html b/reactos/lib/expat/doc/reference.html index 16a0050ea30..ebcde6cf3a6 100644 --- a/reactos/lib/expat/doc/reference.html +++ b/reactos/lib/expat/doc/reference.html @@ -19,7 +19,7 @@

The Expat XML Parser

- Release 1.95.7 + Release 1.95.8 @@ -72,6 +72,9 @@ interface.

  • XML_Parse
  • XML_ParseBuffer
  • XML_GetBuffer
  • +
  • XML_StopParser
  • +
  • XML_ResumeParser
  • +
  • XML_GetParsingStatus
  • Handler Setting Functions @@ -317,12 +320,12 @@ and the definition of character types in the case of
    XML_DTD
    Include support for using and reporting DTD-based content. If -this is defined, default attribute values from the DTD are reported -and attribute value normalization occurs based on the type of -attributes. Callbacks can be registered which report information from -the DTD (including content models and attribute definitions) only if -this is defined. Without this, Expat has a smaller memory footprint -and can be faster.
    +this is defined, default attribute values from an external DTD subset +are reported and attribute value normalization occurs based on the +type of attributes defined in the external subset. Without +this, Expat has a smaller memory footprint and can be faster, but will +not load external entities or process conditional sections. This does +not affect the set of functions available in the API.
    XML_NS
    When defined, support for the is used. Defining this implies
    The number of input bytes of markup context which the parser will ensure are available for reporting via XML_GetInputContext. This is -normally set to 1024. If this is not defined, the input context will -not be available and XML_GetInputContext will always report NULL. Without -this, Expat has a smaller memory footprint and can be faster.
    +normally set to 1024, and must be set to a positive interger. If this +is not defined, the input context will not be available and XML_GetInputContext will +always report NULL. Without this, Expat has a smaller memory +footprint and can be faster.
    XML_STATIC
    On Windows, this should be set if Expat is going to be linked @@ -415,7 +419,7 @@ by these functions is an opaque pointer (i.e. "expat.h" declares it as void *) to data with further internal structure. In order to free the memory associated with this object you must call XML_ParserFree. Note that if you have -provided any user data that gets stored in the +provided any user data that gets stored in the parser, then your application is responsible for freeing it prior to calling XML_ParserFree.

    @@ -509,7 +513,7 @@ argument received by most handlers. In the XML_Parser if the parser itself is passed. When the parser is passed, the user data may be retrieved using XML_GetUserData.

    +>XML_GetUserData.

    One common case where multiple calls to a single handler may need to communicate using an application data structure is the case when @@ -587,12 +591,12 @@ this expanded form is a concatenation of the namespace URI, the separator character (which is the 2nd argument to XML_ParserCreateNS), and the local name (i.e. the part after the colon). Names with undeclared prefixes -are passed through to the handlers unchanged, with the prefix and -colon still attached. Unprefixed attribute names are never expanded, +are not well-formed when namespace processing is enabled, and will +trigger an error. Unprefixed attribute names are never expanded, and unprefixed element names are only expanded when they are in the scope of a default namespace.

    -

    However if However if XML_SetReturnNSTriplet has been called with a non-zero do_nst parameter, then the expanded form for names with an explicit prefix is a concatenation of: URI, separator, local name, @@ -602,7 +606,7 @@ separator, prefix.

    for the end of a scope of a declaration with the XML_SetNamespaceDeclHandler function. The StartNamespaceDeclHandler is called prior to the start -tag handler and the EndNamespaceDeclHandler is called before the +tag handler and the EndNamespaceDeclHandler is called after the corresponding end tag that ends the namespace's scope. The namespace start handler gets passed the prefix and URI for the namespace. For a default namespace declaration (xmlns='...'), the prefix will be null. @@ -727,6 +731,149 @@ arguments:

    In order to read an external DTD, you also have to set an external entity reference handler as described above.

    +

    Temporarily Stopping Parsing

    + +

    Expat 1.95.8 introduces a new feature: its now possible to stop +parsing temporarily from within a handler function, even if more data +has already been passed into the parser. Applications for this +include

    + +
      +
    • Supporting the XInclude specification.
    • + +
    • Delaying further processing until additional information is + available from some other source.
    • + +
    • Adjusting processor load as task priorities shift within an + application.
    • + +
    • Stopping parsing completely (simply free or reset the parser + instead of resuming in the outer parsing loop). This can be useful + if a application-domain error is found in the XML being parsed or if + the result of the parse is determined not to be useful after + all.
    • +
    + +

    To take advantage of this feature, the main parsing loop of an +application needs to support this specifically. It cannot be +supported with a parsing loop compatible with Expat 1.95.7 or +earlier (though existing loops will continue to work without +supporting the stop/resume feature).

    + +

    An application that uses this feature for a single parser will have +the rough structure (in pseudo-code):

    + +
    +fd = open_input()
    +p = create_parser()
    +
    +if parse_xml(p, fd) {
    +  /* suspended */
    +
    +  int suspended = 1;
    +
    +  while (suspended) {
    +    do_something_else()
    +    if ready_to_resume() {
    +      suspended = continue_parsing(p, fd);
    +    }
    +  }
    +}
    +
    + +

    An application that may resume any of several parsers based on +input (either from the XML being parsed or some other source) will +certainly have more interesting control structures.

    + +

    This C function could be used for the parse_xml +function mentioned in the pseudo-code above:

    + +
    +#define BUFF_SIZE 10240
    +
    +/* Parse a document from the open file descriptor 'fd' until the parse
    +   is complete (the document has been completely parsed, or there's
    +   been an error), or the parse is stopped.  Return non-zero when
    +   the parse is merely suspended.
    +*/
    +int
    +parse_xml(XML_Parser p, int fd)
    +{
    +  for (;;) {
    +    int last_chunk;
    +    int bytes_read;
    +    enum XML_Status status;
    +
    +    void *buff = XML_GetBuffer(p, BUFF_SIZE);
    +    if (buff == NULL) {
    +      /* handle error... */
    +      return 0;
    +    }
    +    bytes_read = read(fd, buff, BUFF_SIZE);
    +    if (bytes_read < 0) {
    +      /* handle error... */
    +      return 0;
    +    }
    +    status = XML_ParseBuffer(p, bytes_read, bytes_read == 0);
    +    switch (status) {
    +      case XML_STATUS_ERROR:
    +        /* handle error... */
    +        return 0;
    +      case XML_STATUS_SUSPENDED:
    +        return 1;
    +    }
    +    if (bytes_read == 0)
    +      return 0;
    +  }
    +}
    +
    + +

    The corresponding continue_parsing function is +somewhat simpler, since it only need deal with the return code from +XML_ResumeParser; it can +delegate the input handling to the parse_xml +function:

    + +
    +/* Continue parsing a document which had been suspended.  The 'p' and
    +   'fd' arguments are the same as passed to parse_xml().  Return
    +   non-zero when the parse is suspended.
    +*/
    +int
    +continue_parsing(XML_Parser p, int fd)
    +{
    +  enum XML_Status status = XML_ResumeParser(p);
    +  switch (status) {
    +    case XML_STATUS_ERROR:
    +      /* handle error... */
    +      return 0;
    +    case XML_ERROR_NOT_SUSPENDED:
    +      /* handle error... */
    +      return 0;.
    +    case XML_STATUS_SUSPENDED:
    +      return 1;
    +  }
    +  return parse_xml(p, fd);
    +}
    +
    + +

    Now that we've seen what a mess the top-level parsing loop can +become, what have we gained? Very simply, we can now use the XML_StopParser function to stop +parsing, without having to go to great lengths to avoid additional +processing that we're expecting to ignore. As a bonus, we get to stop +parsing temporarily, and come back to it when we're +ready.

    + +

    To stop parsing from a handler function, use the XML_StopParser function. This function +takes two arguments; the parser being stopped and a flag indicating +whether the parse can be resumed in the future.

    + + + +
    @@ -761,7 +908,11 @@ Constructs a new parser that has namespace processing in effect. Namespace expanded element names and attribute names are returned as a concatenation of the namespace URI, sep, and the local part of the name. This means that you should pick a character for sep that can't be -part of a legal URI. +part of a legal URI. There is a special case when sep is the null +character '\0': the namespace URI and the local part will be +concatenated without any separator - this is intended to support RDF processors. +It is a programming error to use the null separator with +namespace triplets.
     XML_Parser XMLCALL
    @@ -818,8 +969,10 @@ XML_ParserReset(XML_Parser p,
     
    Clean up the memory structures maintained by the parser so that it may be used again. After this has been called, parser is -ready to start parsing a new document. This function may not be used -on a parser created using XML_ExternalEntityParserCreate; it will return XML_FALSE in that case. Returns XML_TRUE on success. Your application is responsible for @@ -915,6 +1068,125 @@ for (;;) {
    +
    +enum XML_Status XMLCALL
    +XML_StopParser(XML_Parser p,
    +               XML_Bool resumable);
    +
    +
    + +

    Stops parsing, causing XML_Parse or XML_ParseBuffer to return. Must be called from within a +call-back handler, except when aborting (when resumable +is XML_FALSE) an already suspended parser. Some +call-backs may still follow because they would otherwise get +lost, including +

      +
    • the end element handler for empty elements when stopped in the + start element handler,
    • +
    • end namespace declaration handler when stopped in the end + element handler,
    • +
    +and possibly others.

    + +

    This can be called from most handlers, including DTD related +call-backs, except when parsing an external parameter entity and +resumable is XML_TRUE. Returns +XML_STATUS_OK when successful, +XML_STATUS_ERROR otherwise. The possible error codes +are:

    +
    +
    XML_ERROR_SUSPENDED
    +
    when suspending an already suspended parser.
    +
    XML_ERROR_FINISHED
    +
    when the parser has already finished.
    +
    XML_ERROR_SUSPEND_PE
    +
    when suspending while parsing an external PE.
    +
    + +

    Since the stop/resume feature requires application support in the +outer parsing loop, it is an error to call this function for a parser +not being handled appropriately; see Temporarily Stopping Parsing for more information.

    + +

    When resumable is XML_TRUE then parsing +is suspended, that is, XML_Parse and XML_ParseBuffer return XML_STATUS_SUSPENDED. +Otherwise, parsing is aborted, that is, XML_Parse and XML_ParseBuffer return +XML_STATUS_ERROR with error code +XML_ERROR_ABORTED.

    + +

    Note: +This will be applied to the current parser instance only, that is, if +there is a parent parser then it will continue parsing when the +external entity reference handler returns. It is up to the +implementation of that handler to call XML_StopParser on the parent parser +(recursively), if one wants to stop parsing altogether.

    + +

    When suspended, parsing can be resumed by calling XML_ResumeParser.

    + +

    New in Expat 1.95.8.

    +
    + +
    +enum XML_Status XMLCALL
    +XML_ResumeParser(XML_Parser p);
    +
    +
    +

    Resumes parsing after it has been suspended with XML_StopParser. Must not be called from +within a handler call-back. Returns same status codes as XML_Parse or XML_ParseBuffer. An additional error +code, XML_ERROR_NOT_SUSPENDED, will be returned if the +parser was not currently suspended.

    + +

    Note: +This must be called on the most deeply nested child parser instance +first, and on its parent parser only after the child parser has +finished, to be applied recursively until the document entity's parser +is restarted. That is, the parent parser will not resume by itself +and it is up to the application to call XML_ResumeParser on it at the +appropriate moment.

    + +

    New in Expat 1.95.8.

    +
    + +
    +void XMLCALL
    +XML_GetParsingStatus(XML_Parser p,
    +                     XML_ParsingStatus *status);
    +
    +
    +enum XML_Parsing {
    +  XML_INITIALIZED,
    +  XML_PARSING,
    +  XML_FINISHED,
    +  XML_SUSPENDED
    +};
    +
    +typedef struct {
    +  enum XML_Parsing parsing;
    +  XML_Bool finalBuffer;
    +} XML_ParsingStatus;
    +
    +
    +

    Returns status of parser with respect to being initialized, +parsing, finished, or suspended, and whether the final buffer is being +processed. The status parameter must not be +NULL.

    + +

    New in Expat 1.95.8.

    +
    + +

    Handler Setting

    Although handlers are typically set prior to parsing and left alone, an @@ -1252,8 +1524,8 @@ href="#builtin_encodings">built in set. This should be done before "#XML_ParseBuffer" >XML_ParseBuffer have been called on the given parser.

    If the handler knows how to deal with an encoding with the given name, it should fill in the info data -structure and return XML_STATUS_ERROR. Otherwise it -should return XML_STATUS_OK. The handler will be called +structure and return XML_STATUS_OK. Otherwise it +should return XML_STATUS_ERROR. The handler will be called at most once per parsed (external) entity. The optional application data pointer encodingHandlerData will be passed back to the handler.

    @@ -1685,6 +1957,9 @@ untranslated bytes of the input.

    Only a limited amount of context is kept, so if the event triggering a call spans over a very large amount of input, the actual parse position may be before the beginning of the buffer.

    + +

    If XML_CONTEXT_BYTES is not defined, this will always +return NULL.

    Miscellaneous functions

    @@ -1837,6 +2112,11 @@ external entity reference handler set via XML_ERROR_FEATURE_REQUIRES_XML_DTD. Otherwise, it returns XML_ERROR_NONE.

    + +

    Note: For the purpose of checking WFC: Entity Declared, passing +useDTD == XML_TRUE will make the parser behave as if +the document had a DTD with an external subset. This holds true even if +the external entity reference handler returns without action.

    diff --git a/reactos/lib/expat/doc/style.css b/reactos/lib/expat/doc/style.css
    index 8f19fbd55fd..69df30bcecb 100644
    --- a/reactos/lib/expat/doc/style.css
    +++ b/reactos/lib/expat/doc/style.css
    @@ -49,6 +49,17 @@ body {
       margin-right: 10%;
     }
     
    +.pseudocode {
    +  padding-left: 1em;
    +  padding-top: .5em;
    +  padding-bottom: .5em;
    +  border: solid thin;
    +  margin: 1em 0;
    +  background-color: rgb(250,220,180);
    +  margin-left: 2em;
    +  margin-right: 10%;
    +}
    +
     .handler {
       width: 100%;
       border-top-width: thin;  
    diff --git a/reactos/lib/expat/examples/elements.c b/reactos/lib/expat/examples/elements.c
    index 78d7d933407..52f47adf46d 100644
    --- a/reactos/lib/expat/examples/elements.c
    +++ b/reactos/lib/expat/examples/elements.c
    @@ -11,7 +11,7 @@ static void XMLCALL
     startElement(void *userData, const char *name, const char **atts)
     {
       int i;
    -  int *depthPtr = userData;
    +  int *depthPtr = (int *)userData;
       for (i = 0; i < *depthPtr; i++)
         putchar('\t');
       puts(name);
    @@ -21,7 +21,7 @@ startElement(void *userData, const char *name, const char **atts)
     static void XMLCALL
     endElement(void *userData, const char *name)
     {
    -  int *depthPtr = userData;
    +  int *depthPtr = (int *)userData;
       *depthPtr -= 1;
     }
     
    diff --git a/reactos/lib/expat/examples/elements.dsp b/reactos/lib/expat/examples/elements.dsp
    index 8caa2798dee..57ac706fe43 100644
    --- a/reactos/lib/expat/examples/elements.dsp
    +++ b/reactos/lib/expat/examples/elements.dsp
    @@ -1,103 +1,103 @@
    -# Microsoft Developer Studio Project File - Name="elements" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Console Application" 0x0103
    -
    -CFG=elements - Win32 Debug
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "elements.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "elements.mak" CFG="elements - Win32 Debug"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "elements - Win32 Release" (based on "Win32 (x86) Console Application")
    -!MESSAGE "elements - Win32 Debug" (based on "Win32 (x86) Console Application")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "elements - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir "Release"
    -# PROP BASE Intermediate_Dir "Release"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir "Release"
    -# PROP Intermediate_Dir "Release"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    -# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "XML_STATIC" /FD /c
    -# SUBTRACT CPP /X /YX
    -# ADD BASE RSC /l 0x409 /d "NDEBUG"
    -# ADD RSC /l 0x409 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    -# ADD LINK32 odbccp32.lib libexpatMT.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\lib\Release_static"
    -
    -!ELSEIF  "$(CFG)" == "elements - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir "Debug"
    -# PROP BASE Intermediate_Dir "Debug"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir "Debug"
    -# PROP Intermediate_Dir "Debug"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    -# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "XML_STATIC" /FR /FD /GZ /c
    -# ADD BASE RSC /l 0x409 /d "_DEBUG"
    -# ADD RSC /l 0x409 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    -# ADD LINK32 odbccp32.lib libexpatMT.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\lib\Debug_static"
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "elements - Win32 Release"
    -# Name "elements - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    -# Begin Source File
    -
    -SOURCE=.\elements.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl"
    -# End Group
    -# Begin Group "Resource Files"
    -
    -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="elements" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Console Application" 0x0103
    +
    +CFG=elements - Win32 Debug
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "elements.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "elements.mak" CFG="elements - Win32 Debug"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "elements - Win32 Release" (based on "Win32 (x86) Console Application")
    +!MESSAGE "elements - Win32 Debug" (based on "Win32 (x86) Console Application")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "elements - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir "Release"
    +# PROP BASE Intermediate_Dir "Release"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir "Release"
    +# PROP Intermediate_Dir "Release"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "XML_STATIC" /FD /c
    +# SUBTRACT CPP /X /YX
    +# ADD BASE RSC /l 0x409 /d "NDEBUG"
    +# ADD RSC /l 0x409 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    +# ADD LINK32 odbccp32.lib libexpatMT.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\lib\Release_static"
    +
    +!ELSEIF  "$(CFG)" == "elements - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir "Debug"
    +# PROP BASE Intermediate_Dir "Debug"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir "Debug"
    +# PROP Intermediate_Dir "Debug"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    +# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "XML_STATIC" /FR /FD /GZ /c
    +# ADD BASE RSC /l 0x409 /d "_DEBUG"
    +# ADD RSC /l 0x409 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    +# ADD LINK32 odbccp32.lib libexpatMT.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\lib\Debug_static"
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "elements - Win32 Release"
    +# Name "elements - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    +# Begin Source File
    +
    +SOURCE=.\elements.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl"
    +# End Group
    +# Begin Group "Resource Files"
    +
    +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/examples/elements.vcproj b/reactos/lib/expat/examples/elements.vcproj
    new file mode 100644
    index 00000000000..da6389c845d
    --- /dev/null
    +++ b/reactos/lib/expat/examples/elements.vcproj
    @@ -0,0 +1,174 @@
    +
    +
    +	
    +		
    +	
    +	
    +		
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +		
    +		
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +		
    +	
    +	
    +	
    +	
    +		
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +		
    +		
    +		
    +		
    +		
    +	
    +	
    +	
    +
    diff --git a/reactos/lib/expat/examples/outline.dsp b/reactos/lib/expat/examples/outline.dsp
    index c74481d9c20..7075dbf52d9 100644
    --- a/reactos/lib/expat/examples/outline.dsp
    +++ b/reactos/lib/expat/examples/outline.dsp
    @@ -1,103 +1,103 @@
    -# Microsoft Developer Studio Project File - Name="outline" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Console Application" 0x0103
    -
    -CFG=outline - Win32 Debug
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "outline.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "outline.mak" CFG="outline - Win32 Debug"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "outline - Win32 Release" (based on "Win32 (x86) Console Application")
    -!MESSAGE "outline - Win32 Debug" (based on "Win32 (x86) Console Application")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "outline - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir "Release"
    -# PROP BASE Intermediate_Dir "Release"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir "Release"
    -# PROP Intermediate_Dir "Release"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    -# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
    -# SUBTRACT CPP /X /YX
    -# ADD BASE RSC /l 0x409 /d "NDEBUG"
    -# ADD RSC /l 0x409 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /machine:I386
    -
    -!ELSEIF  "$(CFG)" == "outline - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir "Debug"
    -# PROP BASE Intermediate_Dir "Debug"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir "Debug"
    -# PROP Intermediate_Dir "Debug"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
    -# ADD BASE RSC /l 0x409 /d "_DEBUG"
    -# ADD RSC /l 0x409 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /debug /machine:I386
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "outline - Win32 Release"
    -# Name "outline - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    -# Begin Source File
    -
    -SOURCE=.\outline.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl"
    -# End Group
    -# Begin Group "Resource Files"
    -
    -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="outline" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Console Application" 0x0103
    +
    +CFG=outline - Win32 Debug
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "outline.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "outline.mak" CFG="outline - Win32 Debug"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "outline - Win32 Release" (based on "Win32 (x86) Console Application")
    +!MESSAGE "outline - Win32 Debug" (based on "Win32 (x86) Console Application")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "outline - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir "Release"
    +# PROP BASE Intermediate_Dir "Release"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir "Release"
    +# PROP Intermediate_Dir "Release"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
    +# SUBTRACT CPP /X /YX
    +# ADD BASE RSC /l 0x409 /d "NDEBUG"
    +# ADD RSC /l 0x409 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /machine:I386
    +
    +!ELSEIF  "$(CFG)" == "outline - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir "Debug"
    +# PROP BASE Intermediate_Dir "Debug"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir "Debug"
    +# PROP Intermediate_Dir "Debug"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
    +# ADD BASE RSC /l 0x409 /d "_DEBUG"
    +# ADD RSC /l 0x409 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /debug /machine:I386
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "outline - Win32 Release"
    +# Name "outline - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    +# Begin Source File
    +
    +SOURCE=.\outline.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl"
    +# End Group
    +# Begin Group "Resource Files"
    +
    +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/examples/outline.vcproj b/reactos/lib/expat/examples/outline.vcproj
    new file mode 100644
    index 00000000000..255d427781d
    --- /dev/null
    +++ b/reactos/lib/expat/examples/outline.vcproj
    @@ -0,0 +1,168 @@
    +
    +
    +	
    +		
    +	
    +	
    +		
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +		
    +		
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +		
    +	
    +	
    +	
    +	
    +		
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +		
    +		
    +		
    +		
    +		
    +	
    +	
    +	
    +
    diff --git a/reactos/lib/expat/examples/poem.xml b/reactos/lib/expat/examples/poem.xml
    new file mode 100644
    index 00000000000..a11fc95e199
    --- /dev/null
    +++ b/reactos/lib/expat/examples/poem.xml
    @@ -0,0 +1,8 @@
    +
    + 
    +  Roses are red, 
    +  Violets are blue. 
    +  Sugar is sweet, 
    +  and I love you with a line much longer than 15 characters long.
    +  
    +
    diff --git a/reactos/lib/expat/expat.dsw b/reactos/lib/expat/expat.dsw
    index 2d62eec5f6c..9282da5a72d 100644
    --- a/reactos/lib/expat/expat.dsw
    +++ b/reactos/lib/expat/expat.dsw
    @@ -1,110 +1,110 @@
    -Microsoft Developer Studio Workspace File, Format Version 6.00
    -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
    -
    -###############################################################################
    -
    -Project: "elements"=.\examples\elements.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -    Begin Project Dependency
    -    Project_Dep_Name expat_static
    -    End Project Dependency
    -}}}
    -
    -###############################################################################
    -
    -Project: "expat"=.\lib\expat.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -}}}
    -
    -###############################################################################
    -
    -Project: "expat_static"=.\lib\expat_static.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -}}}
    -
    -###############################################################################
    -
    -Project: "expatw"=.\lib\expatw.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -}}}
    -
    -###############################################################################
    -
    -Project: "expatw_static"=.\lib\expatw_static.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -}}}
    -
    -###############################################################################
    -
    -Project: "outline"=.\examples\outline.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -    Begin Project Dependency
    -    Project_Dep_Name expat
    -    End Project Dependency
    -}}}
    -
    -###############################################################################
    -
    -Project: "xmlwf"=.\xmlwf\xmlwf.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -    Begin Project Dependency
    -    Project_Dep_Name expat
    -    End Project Dependency
    -}}}
    -
    -###############################################################################
    -
    -Global:
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<3>
    -{{{
    -}}}
    -
    -###############################################################################
    -
    +Microsoft Developer Studio Workspace File, Format Version 6.00
    +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
    +
    +###############################################################################
    +
    +Project: "elements"=.\examples\elements.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +    Begin Project Dependency
    +    Project_Dep_Name expat_static
    +    End Project Dependency
    +}}}
    +
    +###############################################################################
    +
    +Project: "expat"=.\lib\expat.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +}}}
    +
    +###############################################################################
    +
    +Project: "expat_static"=.\lib\expat_static.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +}}}
    +
    +###############################################################################
    +
    +Project: "expatw"=.\lib\expatw.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +}}}
    +
    +###############################################################################
    +
    +Project: "expatw_static"=.\lib\expatw_static.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +}}}
    +
    +###############################################################################
    +
    +Project: "outline"=.\examples\outline.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +    Begin Project Dependency
    +    Project_Dep_Name expat
    +    End Project Dependency
    +}}}
    +
    +###############################################################################
    +
    +Project: "xmlwf"=.\xmlwf\xmlwf.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +    Begin Project Dependency
    +    Project_Dep_Name expat
    +    End Project Dependency
    +}}}
    +
    +###############################################################################
    +
    +Global:
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<3>
    +{{{
    +}}}
    +
    +###############################################################################
    +
    diff --git a/reactos/lib/expat/expat.spec b/reactos/lib/expat/expat.spec
    index 33ba187a877..3d28d259aa2 100644
    --- a/reactos/lib/expat/expat.spec
    +++ b/reactos/lib/expat/expat.spec
    @@ -1,4 +1,4 @@
    -%define version 1.95.7
    +%define version 1.95.8
     %define release 1
     
     Summary: Expat is an XML 1.0 parser written in C.
    @@ -35,9 +35,15 @@ install -D xmlwf/xmlwf $RPM_BUILD_ROOT/usr/bin/xmlwf
     /usr/bin/xmlwf
     /usr/lib
     /usr/include/expat.h
    +/usr/include/expat_external.h
     /usr/man/man1/xmlwf.1.gz
     
     %changelog
    +* Fri Jul 16 2004 Fred L. Drake, Jr. 
    +[Release 1.95.8-1]
    +- Update for the 1.95.8 release.
    +- Add the expat_external.h header to the installed files.
    +
     * Tue Oct 21 2003 Fred L. Drake, Jr. 
     - Update list of documentation files; we missed a .png file in the
       previous release.
    diff --git a/reactos/lib/expat/expat.xml b/reactos/lib/expat/expat.xml
    index 1ce519fe60e..1fc36fa1145 100644
    --- a/reactos/lib/expat/expat.xml
    +++ b/reactos/lib/expat/expat.xml
    @@ -1,6 +1,7 @@
     
     	
     	.
    +	lib
     	
     	
     	kernel32
    diff --git a/reactos/lib/expat/gennmtab/gennmtab.dsp b/reactos/lib/expat/gennmtab/gennmtab.dsp
    index bdbbe3cd36f..97e6e2bfd75 100644
    --- a/reactos/lib/expat/gennmtab/gennmtab.dsp
    +++ b/reactos/lib/expat/gennmtab/gennmtab.dsp
    @@ -1,101 +1,101 @@
    -# Microsoft Developer Studio Project File - Name="gennmtab" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Console Application" 0x0103
    -
    -CFG=gennmtab - Win32 Release
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "gennmtab.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "gennmtab.mak" CFG="gennmtab - Win32 Release"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "gennmtab - Win32 Release" (based on "Win32 (x86) Console Application")
    -!MESSAGE "gennmtab - Win32 Debug" (based on "Win32 (x86) Console Application")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "gennmtab - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir ".\Release"
    -# PROP BASE Intermediate_Dir ".\Release"
    -# PROP BASE Target_Dir "."
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir ".\Release"
    -# PROP Intermediate_Dir ".\Release"
    -# PROP Target_Dir "."
    -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
    -# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c
    -# ADD BASE RSC /l 0x809 /d "NDEBUG"
    -# ADD RSC /l 0x809 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    -
    -!ELSEIF  "$(CFG)" == "gennmtab - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir ".\Debug"
    -# PROP BASE Intermediate_Dir ".\Debug"
    -# PROP BASE Target_Dir "."
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir ".\Debug"
    -# PROP Intermediate_Dir ".\Debug"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir "."
    -# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
    -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /FD /c
    -# ADD BASE RSC /l 0x809 /d "_DEBUG"
    -# ADD RSC /l 0x809 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "gennmtab - Win32 Release"
    -# Name "gennmtab - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
    -# Begin Source File
    -
    -SOURCE=.\gennmtab.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
    -# End Group
    -# Begin Group "Resource Files"
    -
    -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="gennmtab" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Console Application" 0x0103
    +
    +CFG=gennmtab - Win32 Release
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "gennmtab.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "gennmtab.mak" CFG="gennmtab - Win32 Release"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "gennmtab - Win32 Release" (based on "Win32 (x86) Console Application")
    +!MESSAGE "gennmtab - Win32 Debug" (based on "Win32 (x86) Console Application")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "gennmtab - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir ".\Release"
    +# PROP BASE Intermediate_Dir ".\Release"
    +# PROP BASE Target_Dir "."
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir ".\Release"
    +# PROP Intermediate_Dir ".\Release"
    +# PROP Target_Dir "."
    +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
    +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c
    +# ADD BASE RSC /l 0x809 /d "NDEBUG"
    +# ADD RSC /l 0x809 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    +
    +!ELSEIF  "$(CFG)" == "gennmtab - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir ".\Debug"
    +# PROP BASE Intermediate_Dir ".\Debug"
    +# PROP BASE Target_Dir "."
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir ".\Debug"
    +# PROP Intermediate_Dir ".\Debug"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir "."
    +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
    +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /FD /c
    +# ADD BASE RSC /l 0x809 /d "_DEBUG"
    +# ADD RSC /l 0x809 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "gennmtab - Win32 Release"
    +# Name "gennmtab - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
    +# Begin Source File
    +
    +SOURCE=.\gennmtab.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
    +# End Group
    +# Begin Group "Resource Files"
    +
    +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/lib/expat.dsp b/reactos/lib/expat/lib/expat.dsp
    index 0724cb5bd2f..ffe307fb7b0 100644
    --- a/reactos/lib/expat/lib/expat.dsp
    +++ b/reactos/lib/expat/lib/expat.dsp
    @@ -1,168 +1,176 @@
    -# Microsoft Developer Studio Project File - Name="expat" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
    -
    -CFG=expat - Win32 Debug
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expat.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expat.mak" CFG="expat - Win32 Debug"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "expat - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
    -!MESSAGE "expat - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -MTL=midl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "expat - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir "Release"
    -# PROP BASE Intermediate_Dir "Release"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir "Release"
    -# PROP Intermediate_Dir "Release"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /c
    -# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "COMPILED_FROM_DSP" /FD /c
    -# SUBTRACT CPP /YX /Yc /Yu
    -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    -# ADD BASE RSC /l 0x409 /d "NDEBUG"
    -# ADD RSC /l 0x409 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /machine:I386 /out:"Release\libexpat.dll"
    -
    -!ELSEIF  "$(CFG)" == "expat - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir "Debug"
    -# PROP BASE Intermediate_Dir "Debug"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir "Debug"
    -# PROP Intermediate_Dir "Debug"
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
    -# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "_DEBUG" /D "COMPILED_FROM_DSP" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /FD /GZ /c
    -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    -# ADD BASE RSC /l 0x409 /d "_DEBUG"
    -# ADD RSC /l 0x409 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /debug /machine:I386 /out:"Debug\libexpat.dll"
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "expat - Win32 Release"
    -# Name "expat - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    -# Begin Source File
    -
    -SOURCE=.\libexpat.def
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlparse.c
    -
    -!IF  "$(CFG)" == "expat - Win32 Release"
    -
    -!ELSEIF  "$(CFG)" == "expat - Win32 Debug"
    -
    -# ADD CPP /GX- /Od
    -
    -!ENDIF 
    -
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl"
    -# Begin Source File
    -
    -SOURCE=.\ascii.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\asciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\expat.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\iasciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\latin1tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\nametab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\utf8tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok_impl.h
    -# End Source File
    -# End Group
    -# Begin Group "Resource Files"
    -
    -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="expat" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
    +
    +CFG=expat - Win32 Debug
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expat.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expat.mak" CFG="expat - Win32 Debug"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "expat - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
    +!MESSAGE "expat - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +MTL=midl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "expat - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir "Release"
    +# PROP BASE Intermediate_Dir "Release"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir "Release"
    +# PROP Intermediate_Dir "Release"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /c
    +# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "COMPILED_FROM_DSP" /FD /c
    +# SUBTRACT CPP /YX /Yc /Yu
    +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    +# ADD BASE RSC /l 0x409 /d "NDEBUG"
    +# ADD RSC /l 0x409 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /machine:I386 /out:"Release\libexpat.dll"
    +
    +!ELSEIF  "$(CFG)" == "expat - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir "Debug"
    +# PROP BASE Intermediate_Dir "Debug"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir "Debug"
    +# PROP Intermediate_Dir "Debug"
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
    +# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "_DEBUG" /D "COMPILED_FROM_DSP" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /FD /GZ /c
    +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    +# ADD BASE RSC /l 0x409 /d "_DEBUG"
    +# ADD RSC /l 0x409 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /debug /machine:I386 /out:"Debug\libexpat.dll"
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "expat - Win32 Release"
    +# Name "expat - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    +# Begin Source File
    +
    +SOURCE=.\libexpat.def
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlparse.c
    +
    +!IF  "$(CFG)" == "expat - Win32 Release"
    +
    +!ELSEIF  "$(CFG)" == "expat - Win32 Debug"
    +
    +# ADD CPP /GX- /Od
    +
    +!ENDIF 
    +
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl"
    +# Begin Source File
    +
    +SOURCE=.\ascii.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\asciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat_external.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\iasciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\internal.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\latin1tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\nametab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\utf8tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok_impl.h
    +# End Source File
    +# End Group
    +# Begin Group "Resource Files"
    +
    +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/lib/expat.h b/reactos/lib/expat/lib/expat.h
    index d6e06d1694d..ac1053f692f 100644
    --- a/reactos/lib/expat/lib/expat.h
    +++ b/reactos/lib/expat/lib/expat.h
    @@ -2,8 +2,8 @@
        See the file COPYING for copying permission.
     */
     
    -#ifndef XmlParse_INCLUDED
    -#define XmlParse_INCLUDED 1
    +#ifndef Expat_INCLUDED
    +#define Expat_INCLUDED 1
     
     #ifdef __VMS
     /*      0        1         2         3      0        1         2         3
    @@ -15,97 +15,15 @@
     #endif
     
     #include 
    -
    -#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)
    -#define XML_USE_MSC_EXTENSIONS 1
    -#endif
    -
    -/* Expat tries very hard to make the API boundary very specifically
    -   defined.  There are two macros defined to control this boundary;
    -   each of these can be defined before including this header to
    -   achieve some different behavior, but doing so it not recommended or
    -   tested frequently.
    -
    -   XMLCALL    - The calling convention to use for all calls across the
    -                "library boundary."  This will default to cdecl, and
    -                try really hard to tell the compiler that's what we
    -                want.
    -
    -   XMLIMPORT  - Whatever magic is needed to note that a function is
    -                to be imported from a dynamically loaded library
    -                (.dll, .so, or .sl, depending on your platform).
    -
    -   The XMLCALL macro was added in Expat 1.95.7.  The only one which is
    -   expected to be directly useful in client code is XMLCALL.
    -
    -   Note that on at least some Unix versions, the Expat library must be
    -   compiled with the cdecl calling convention as the default since
    -   system headers may assume the cdecl convention.
    -*/
    -#ifndef XMLCALL
    -#if defined(XML_USE_MSC_EXTENSIONS)
    -#define XMLCALL __cdecl
    -#elif defined(__GNUC__) && defined(__i386)
    -#define XMLCALL __attribute__((cdecl))
    -#else
    -/* For any platform which uses this definition and supports more than
    -   one calling convention, we need to extend this definition to
    -   declare the convention used on that platform, if it's possible to
    -   do so.
    -
    -   If this is the case for your platform, please file a bug report
    -   with information on how to identify your platform via the C
    -   pre-processor and how to specify the same calling convention as the
    -   platform's malloc() implementation.
    -*/
    -#define XMLCALL
    -#endif
    -#endif  /* not defined XMLCALL */
    -
    -
    -#if !defined(XML_STATIC) && !defined(XMLIMPORT)
    -#ifndef XML_BUILDING_EXPAT
    -/* using Expat from an application */
    -
    -#ifdef XML_USE_MSC_EXTENSIONS
    -#define XMLIMPORT __declspec(dllimport)
    -#endif
    -
    -#endif
    -#endif  /* not defined XML_STATIC */
    -
    -/* If we didn't define it above, define it away: */
    -#ifndef XMLIMPORT
    -#define XMLIMPORT
    -#endif
    -
    -
    -#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
    +#include "expat_external.h"
     
     #ifdef __cplusplus
     extern "C" {
     #endif
     
    -#ifdef XML_UNICODE_WCHAR_T
    -#define XML_UNICODE
    -#endif
    -
     struct XML_ParserStruct;
     typedef struct XML_ParserStruct *XML_Parser;
     
    -#ifdef XML_UNICODE     /* Information is UTF-16 encoded. */
    -#ifdef XML_UNICODE_WCHAR_T
    -typedef wchar_t XML_Char;
    -typedef wchar_t XML_LChar;
    -#else
    -typedef unsigned short XML_Char;
    -typedef char XML_LChar;
    -#endif /* XML_UNICODE_WCHAR_T */
    -#else                  /* Information is UTF-8 encoded. */
    -typedef char XML_Char;
    -typedef char XML_LChar;
    -#endif /* XML_UNICODE */
    -
     /* Should this be defined using stdbool.h when C99 is available? */
     typedef unsigned char XML_Bool;
     #define XML_TRUE   ((XML_Bool) 1)
    @@ -129,7 +47,7 @@ enum XML_Status {
     #define XML_STATUS_ERROR XML_STATUS_ERROR
       XML_STATUS_OK = 1,
     #define XML_STATUS_OK XML_STATUS_OK
    -  XML_STATUS_SUSPENDED = 2,
    +  XML_STATUS_SUSPENDED = 2
     #define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED
     };
     
    @@ -161,12 +79,23 @@ enum XML_Error {
       XML_ERROR_ENTITY_DECLARED_IN_PE,
       XML_ERROR_FEATURE_REQUIRES_XML_DTD,
       XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,
    +  /* Added in 1.95.7. */
       XML_ERROR_UNBOUND_PREFIX,
    +  /* Added in 1.95.8. */
    +  XML_ERROR_UNDECLARING_PREFIX,
    +  XML_ERROR_INCOMPLETE_PE,
    +  XML_ERROR_XML_DECL,
    +  XML_ERROR_TEXT_DECL,
    +  XML_ERROR_PUBLICID,
       XML_ERROR_SUSPENDED,
       XML_ERROR_NOT_SUSPENDED,
       XML_ERROR_ABORTED,
       XML_ERROR_FINISHED,
    -  XML_ERROR_SUSPEND_PE
    +  XML_ERROR_SUSPEND_PE,
    +  /* Added in 2.0. */
    +  XML_ERROR_RESERVED_PREFIX_XML,
    +  XML_ERROR_RESERVED_PREFIX_XMLNS,
    +  XML_ERROR_RESERVED_NAMESPACE_URI
     };
     
     enum XML_Content_Type {
    @@ -265,9 +194,9 @@ XML_SetXmlDeclHandler(XML_Parser parser,
     
     
     typedef struct {
    -  void *(XMLCALL *malloc_fcn)(size_t size);
    -  void *(XMLCALL *realloc_fcn)(void *ptr, size_t size);
    -  void (XMLCALL *free_fcn)(void *ptr);
    +  void *(*malloc_fcn)(size_t size);
    +  void *(*realloc_fcn)(void *ptr, size_t size);
    +  void (*free_fcn)(void *ptr);
     } XML_Memory_Handling_Suite;
     
     /* Constructs a new parser; encoding is the encoding specified by the
    @@ -284,8 +213,8 @@ XML_ParserCreate(const XML_Char *encoding);
        URI, the namespace separator character, and the local part of the
        name.  If the namespace separator is '\0' then the namespace URI
        and the local part will be concatenated without any separator.
    -   When a namespace is not declared, the name and prefix will be
    -   passed through without expansion.
    +   It is a programming error to use the separator '\0' with namespace
    +   triplets (see XML_SetReturnNSTriplet).
     */
     XMLPARSEAPI(XML_Parser)
     XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
    @@ -765,6 +694,9 @@ XML_UseParserAsHandlerArg(XML_Parser parser);
        specified in the document. In such a case the parser will call the
        externalEntityRefHandler with a value of NULL for the systemId
        argument (the publicId and context arguments will be NULL as well).
    +   Note: For the purpose of checking WFC: Entity Declared, passing
    +     useDTD == XML_TRUE will make the parser behave as if the document
    +     had a DTD with an external subset.
        Note: If this function is called, then this must be done before
          the first call to XML_Parse or XML_ParseBuffer, since it will
          have no effect after that.  Returns
    @@ -1050,7 +982,8 @@ enum XML_FeatureEnum {
       XML_FEATURE_CONTEXT_BYTES,
       XML_FEATURE_MIN_SIZE,
       XML_FEATURE_SIZEOF_XML_CHAR,
    -  XML_FEATURE_SIZEOF_XML_LCHAR
    +  XML_FEATURE_SIZEOF_XML_LCHAR,
    +  XML_FEATURE_NS
       /* Additional features must be added to the end of this enum. */
     };
     
    @@ -1077,4 +1010,4 @@ XML_GetFeatureList(void);
     }
     #endif
     
    -#endif /* not XmlParse_INCLUDED */
    +#endif /* not Expat_INCLUDED */
    diff --git a/reactos/lib/expat/lib/expat_external.h b/reactos/lib/expat/lib/expat_external.h
    new file mode 100644
    index 00000000000..7202e119a40
    --- /dev/null
    +++ b/reactos/lib/expat/lib/expat_external.h
    @@ -0,0 +1,101 @@
    +/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
    +   See the file COPYING for copying permission.
    +*/
    +
    +#ifndef Expat_External_INCLUDED
    +#define Expat_External_INCLUDED 1
    +
    +/* External API definitions */
    +
    +#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)
    +#define XML_USE_MSC_EXTENSIONS 1
    +#endif
    +
    +/* Expat tries very hard to make the API boundary very specifically
    +   defined.  There are two macros defined to control this boundary;
    +   each of these can be defined before including this header to
    +   achieve some different behavior, but doing so it not recommended or
    +   tested frequently.
    +
    +   XMLCALL    - The calling convention to use for all calls across the
    +                "library boundary."  This will default to cdecl, and
    +                try really hard to tell the compiler that's what we
    +                want.
    +
    +   XMLIMPORT  - Whatever magic is needed to note that a function is
    +                to be imported from a dynamically loaded library
    +                (.dll, .so, or .sl, depending on your platform).
    +
    +   The XMLCALL macro was added in Expat 1.95.7.  The only one which is
    +   expected to be directly useful in client code is XMLCALL.
    +
    +   Note that on at least some Unix versions, the Expat library must be
    +   compiled with the cdecl calling convention as the default since
    +   system headers may assume the cdecl convention.
    +*/
    +#ifndef XMLCALL
    +#if defined(XML_USE_MSC_EXTENSIONS)
    +#define XMLCALL __cdecl
    +#elif defined(__GNUC__) && defined(__i386)
    +#define XMLCALL __attribute__((cdecl))
    +#else
    +/* For any platform which uses this definition and supports more than
    +   one calling convention, we need to extend this definition to
    +   declare the convention used on that platform, if it's possible to
    +   do so.
    +
    +   If this is the case for your platform, please file a bug report
    +   with information on how to identify your platform via the C
    +   pre-processor and how to specify the same calling convention as the
    +   platform's malloc() implementation.
    +*/
    +#define XMLCALL
    +#endif
    +#endif  /* not defined XMLCALL */
    +
    +
    +#if !defined(XML_STATIC) && !defined(XMLIMPORT)
    +#ifndef XML_BUILDING_EXPAT
    +/* using Expat from an application */
    +
    +#ifdef XML_USE_MSC_EXTENSIONS
    +#define XMLIMPORT __declspec(dllimport)
    +#endif
    +
    +#endif
    +#endif  /* not defined XML_STATIC */
    +
    +/* If we didn't define it above, define it away: */
    +#ifndef XMLIMPORT
    +#define XMLIMPORT
    +#endif
    +
    +
    +#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
    +
    +#ifdef __cplusplus
    +extern "C" {
    +#endif
    +
    +#ifdef XML_UNICODE_WCHAR_T
    +#define XML_UNICODE
    +#endif
    +
    +#ifdef XML_UNICODE     /* Information is UTF-16 encoded. */
    +#ifdef XML_UNICODE_WCHAR_T
    +typedef wchar_t XML_Char;
    +typedef wchar_t XML_LChar;
    +#else
    +typedef unsigned short XML_Char;
    +typedef char XML_LChar;
    +#endif /* XML_UNICODE_WCHAR_T */
    +#else                  /* Information is UTF-8 encoded. */
    +typedef char XML_Char;
    +typedef char XML_LChar;
    +#endif /* XML_UNICODE */
    +
    +#ifdef __cplusplus
    +}
    +#endif
    +
    +#endif /* not Expat_External_INCLUDED */
    diff --git a/reactos/lib/expat/lib/expat_static.dsp b/reactos/lib/expat/lib/expat_static.dsp
    index 62e5530c221..d803b76eef1 100644
    --- a/reactos/lib/expat/lib/expat_static.dsp
    +++ b/reactos/lib/expat/lib/expat_static.dsp
    @@ -1,146 +1,154 @@
    -# Microsoft Developer Studio Project File - Name="expat_static" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Static Library" 0x0104
    -
    -CFG=expat_static - Win32 Debug
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expat_static.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expat_static.mak" CFG="expat_static - Win32 Debug"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "expat_static - Win32 Release" (based on "Win32 (x86) Static Library")
    -!MESSAGE "expat_static - Win32 Debug" (based on "Win32 (x86) Static Library")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "expat_static - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir "expat_static___Win32_Release"
    -# PROP BASE Intermediate_Dir "expat_static___Win32_Release"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir "Release_static"
    -# PROP Intermediate_Dir "Release_static"
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
    -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "COMPILED_FROM_DSP" /FD /c
    -# SUBTRACT CPP /YX
    -# ADD BASE RSC /l 0x1009 /d "NDEBUG"
    -# ADD RSC /l 0x409 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LIB32=link.exe -lib
    -# ADD BASE LIB32 /nologo
    -# ADD LIB32 /nologo /out:"Release_static\libexpatMT.lib"
    -
    -!ELSEIF  "$(CFG)" == "expat_static - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir "expat_static___Win32_Debug"
    -# PROP BASE Intermediate_Dir "expat_static___Win32_Debug"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir "Debug_static"
    -# PROP Intermediate_Dir "Debug_static"
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
    -# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "COMPILED_FROM_DSP" /D "_MBCS" /D "_LIB" /FR /FD /GZ /c
    -# SUBTRACT CPP /YX
    -# ADD BASE RSC /l 0x1009 /d "_DEBUG"
    -# ADD RSC /l 0x409 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LIB32=link.exe -lib
    -# ADD BASE LIB32 /nologo
    -# ADD LIB32 /nologo /out:"Debug_static\libexpatMT.lib"
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "expat_static - Win32 Release"
    -# Name "expat_static - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    -# Begin Source File
    -
    -SOURCE=.\xmlparse.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl"
    -# Begin Source File
    -
    -SOURCE=.\ascii.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\asciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\expat.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\iasciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\latin1tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\nametab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\utf8tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok_impl.h
    -# End Source File
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="expat_static" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Static Library" 0x0104
    +
    +CFG=expat_static - Win32 Debug
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expat_static.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expat_static.mak" CFG="expat_static - Win32 Debug"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "expat_static - Win32 Release" (based on "Win32 (x86) Static Library")
    +!MESSAGE "expat_static - Win32 Debug" (based on "Win32 (x86) Static Library")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "expat_static - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir "expat_static___Win32_Release"
    +# PROP BASE Intermediate_Dir "expat_static___Win32_Release"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir "Release_static"
    +# PROP Intermediate_Dir "Release_static"
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
    +# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "COMPILED_FROM_DSP" /FD /c
    +# SUBTRACT CPP /YX
    +# ADD BASE RSC /l 0x1009 /d "NDEBUG"
    +# ADD RSC /l 0x409 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LIB32=link.exe -lib
    +# ADD BASE LIB32 /nologo
    +# ADD LIB32 /nologo /out:"Release_static\libexpatMT.lib"
    +
    +!ELSEIF  "$(CFG)" == "expat_static - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir "expat_static___Win32_Debug"
    +# PROP BASE Intermediate_Dir "expat_static___Win32_Debug"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir "Debug_static"
    +# PROP Intermediate_Dir "Debug_static"
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
    +# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "COMPILED_FROM_DSP" /D "_MBCS" /D "_LIB" /FR /FD /GZ /c
    +# SUBTRACT CPP /YX
    +# ADD BASE RSC /l 0x1009 /d "_DEBUG"
    +# ADD RSC /l 0x409 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LIB32=link.exe -lib
    +# ADD BASE LIB32 /nologo
    +# ADD LIB32 /nologo /out:"Debug_static\libexpatMT.lib"
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "expat_static - Win32 Release"
    +# Name "expat_static - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    +# Begin Source File
    +
    +SOURCE=.\xmlparse.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl"
    +# Begin Source File
    +
    +SOURCE=.\ascii.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\asciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat_external.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\iasciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\internal.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\latin1tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\nametab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\utf8tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok_impl.h
    +# End Source File
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/lib/expatw.dsp b/reactos/lib/expat/lib/expatw.dsp
    index a902dfe1a7f..084e06d0cf5 100644
    --- a/reactos/lib/expat/lib/expatw.dsp
    +++ b/reactos/lib/expat/lib/expatw.dsp
    @@ -1,169 +1,177 @@
    -# Microsoft Developer Studio Project File - Name="expatw" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
    -
    -CFG=expatw - Win32 Debug
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expatw.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expatw.mak" CFG="expatw - Win32 Debug"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "expatw - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
    -!MESSAGE "expatw - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -MTL=midl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "expatw - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir "Release"
    -# PROP BASE Intermediate_Dir "Release"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir "Release-w"
    -# PROP Intermediate_Dir "Release-w"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /c
    -# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "COMPILED_FROM_DSP" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_UNICODE_WCHAR_T" /FD /c
    -# SUBTRACT CPP /YX /Yc /Yu
    -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    -# ADD BASE RSC /l 0x409 /d "NDEBUG"
    -# ADD RSC /l 0x409 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /machine:I386 /out:"Release-w\libexpatw.dll"
    -
    -!ELSEIF  "$(CFG)" == "expatw - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir "Debug"
    -# PROP BASE Intermediate_Dir "Debug"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir "Debug-w"
    -# PROP Intermediate_Dir "Debug-w"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
    -# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "_DEBUG" /D "COMPILED_FROM_DSP" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_UNICODE_WCHAR_T" /FR /FD /GZ /c
    -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    -# ADD BASE RSC /l 0x409 /d "_DEBUG"
    -# ADD RSC /l 0x409 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /debug /machine:I386 /out:"Debug-w\libexpatw.dll"
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "expatw - Win32 Release"
    -# Name "expatw - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    -# Begin Source File
    -
    -SOURCE=.\libexpatw.def
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlparse.c
    -
    -!IF  "$(CFG)" == "expatw - Win32 Release"
    -
    -!ELSEIF  "$(CFG)" == "expatw - Win32 Debug"
    -
    -# ADD CPP /GX- /Od
    -
    -!ENDIF 
    -
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl"
    -# Begin Source File
    -
    -SOURCE=.\ascii.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\asciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\expat.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\iasciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\latin1tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\nametab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\utf8tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok_impl.h
    -# End Source File
    -# End Group
    -# Begin Group "Resource Files"
    -
    -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="expatw" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
    +
    +CFG=expatw - Win32 Debug
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expatw.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expatw.mak" CFG="expatw - Win32 Debug"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "expatw - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
    +!MESSAGE "expatw - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +MTL=midl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "expatw - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir "Release"
    +# PROP BASE Intermediate_Dir "Release"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir "Release-w"
    +# PROP Intermediate_Dir "Release-w"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /c
    +# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "COMPILED_FROM_DSP" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_UNICODE_WCHAR_T" /FD /c
    +# SUBTRACT CPP /YX /Yc /Yu
    +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
    +# ADD BASE RSC /l 0x409 /d "NDEBUG"
    +# ADD RSC /l 0x409 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /machine:I386 /out:"Release-w\libexpatw.dll"
    +
    +!ELSEIF  "$(CFG)" == "expatw - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir "Debug"
    +# PROP BASE Intermediate_Dir "Debug"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir "Debug-w"
    +# PROP Intermediate_Dir "Debug-w"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "EXPAT_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
    +# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "_DEBUG" /D "COMPILED_FROM_DSP" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XML_UNICODE_WCHAR_T" /FR /FD /GZ /c
    +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
    +# ADD BASE RSC /l 0x409 /d "_DEBUG"
    +# ADD RSC /l 0x409 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /debug /machine:I386 /out:"Debug-w\libexpatw.dll"
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "expatw - Win32 Release"
    +# Name "expatw - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    +# Begin Source File
    +
    +SOURCE=.\libexpatw.def
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlparse.c
    +
    +!IF  "$(CFG)" == "expatw - Win32 Release"
    +
    +!ELSEIF  "$(CFG)" == "expatw - Win32 Debug"
    +
    +# ADD CPP /GX- /Od
    +
    +!ENDIF 
    +
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl"
    +# Begin Source File
    +
    +SOURCE=.\ascii.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\asciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat_external.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\iasciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\internal.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\latin1tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\nametab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\utf8tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok_impl.h
    +# End Source File
    +# End Group
    +# Begin Group "Resource Files"
    +
    +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/lib/expatw_static.dsp b/reactos/lib/expat/lib/expatw_static.dsp
    index c36604802ea..9a41e6eee23 100644
    --- a/reactos/lib/expat/lib/expatw_static.dsp
    +++ b/reactos/lib/expat/lib/expatw_static.dsp
    @@ -1,146 +1,154 @@
    -# Microsoft Developer Studio Project File - Name="expatw_static" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Static Library" 0x0104
    -
    -CFG=expatw_static - Win32 Debug
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expatw_static.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "expatw_static.mak" CFG="expatw_static - Win32 Debug"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "expatw_static - Win32 Release" (based on "Win32 (x86) Static Library")
    -!MESSAGE "expatw_static - Win32 Debug" (based on "Win32 (x86) Static Library")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "expatw_static - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir "expatw_static___Win32_Release"
    -# PROP BASE Intermediate_Dir "expatw_static___Win32_Release"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir "Release-w_static"
    -# PROP Intermediate_Dir "Release-w_static"
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
    -# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "COMPILED_FROM_DSP" /D "XML_UNICODE_WCHAR_T" /FD /c
    -# SUBTRACT CPP /YX
    -# ADD BASE RSC /l 0x1009 /d "NDEBUG"
    -# ADD RSC /l 0x409 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LIB32=link.exe -lib
    -# ADD BASE LIB32 /nologo
    -# ADD LIB32 /nologo /out:"Release-w_static\libexpatwMT.lib"
    -
    -!ELSEIF  "$(CFG)" == "expatw_static - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir "expatw_static___Win32_Debug"
    -# PROP BASE Intermediate_Dir "expatw_static___Win32_Debug"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir "Debug-w_static"
    -# PROP Intermediate_Dir "Debug-w_static"
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
    -# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "COMPILED_FROM_DSP" /D "_MBCS" /D "_LIB" /FR /FD /GZ /c
    -# SUBTRACT CPP /YX
    -# ADD BASE RSC /l 0x1009 /d "_DEBUG"
    -# ADD RSC /l 0x409 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LIB32=link.exe -lib
    -# ADD BASE LIB32 /nologo
    -# ADD LIB32 /nologo /out:"Debug-w_static\libexpatwMT.lib"
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "expatw_static - Win32 Release"
    -# Name "expatw_static - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    -# Begin Source File
    -
    -SOURCE=.\xmlparse.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl"
    -# Begin Source File
    -
    -SOURCE=.\ascii.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\asciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\expat.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\iasciitab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\latin1tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\nametab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\utf8tab.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlrole.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltok_impl.h
    -# End Source File
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="expatw_static" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Static Library" 0x0104
    +
    +CFG=expatw_static - Win32 Debug
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expatw_static.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "expatw_static.mak" CFG="expatw_static - Win32 Debug"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "expatw_static - Win32 Release" (based on "Win32 (x86) Static Library")
    +!MESSAGE "expatw_static - Win32 Debug" (based on "Win32 (x86) Static Library")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "expatw_static - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir "expatw_static___Win32_Release"
    +# PROP BASE Intermediate_Dir "expatw_static___Win32_Release"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir "Release-w_static"
    +# PROP Intermediate_Dir "Release-w_static"
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
    +# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "COMPILED_FROM_DSP" /D "XML_UNICODE_WCHAR_T" /FD /c
    +# SUBTRACT CPP /YX
    +# ADD BASE RSC /l 0x1009 /d "NDEBUG"
    +# ADD RSC /l 0x409 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LIB32=link.exe -lib
    +# ADD BASE LIB32 /nologo
    +# ADD LIB32 /nologo /out:"Release-w_static\libexpatwMT.lib"
    +
    +!ELSEIF  "$(CFG)" == "expatw_static - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir "expatw_static___Win32_Debug"
    +# PROP BASE Intermediate_Dir "expatw_static___Win32_Debug"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir "Debug-w_static"
    +# PROP Intermediate_Dir "Debug-w_static"
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
    +# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "COMPILED_FROM_DSP" /D "_MBCS" /D "_LIB" /FR /FD /GZ /c
    +# SUBTRACT CPP /YX
    +# ADD BASE RSC /l 0x1009 /d "_DEBUG"
    +# ADD RSC /l 0x409 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LIB32=link.exe -lib
    +# ADD BASE LIB32 /nologo
    +# ADD LIB32 /nologo /out:"Debug-w_static\libexpatwMT.lib"
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "expatw_static - Win32 Release"
    +# Name "expatw_static - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
    +# Begin Source File
    +
    +SOURCE=.\xmlparse.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl"
    +# Begin Source File
    +
    +SOURCE=.\ascii.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\asciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\expat_external.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\iasciitab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\internal.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\latin1tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\nametab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\utf8tab.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlrole.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltok_impl.h
    +# End Source File
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/lib/internal.h b/reactos/lib/expat/lib/internal.h
    index 79ffc9e500d..dd5454831da 100644
    --- a/reactos/lib/expat/lib/internal.h
    +++ b/reactos/lib/expat/lib/internal.h
    @@ -20,7 +20,7 @@
              and therefore subject to change.
     */
     
    -#if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__)	//MF
    +#if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__)
     /* We'll use this version by default only where we know it helps.
     
        regparm() generates warnings on Solaris boxes.   See SF bug #692878.
    diff --git a/reactos/lib/expat/lib/libexpat.def b/reactos/lib/expat/lib/libexpat.def
    index dd0fc6fc956..d8f397b939b 100644
    --- a/reactos/lib/expat/lib/libexpat.def
    +++ b/reactos/lib/expat/lib/libexpat.def
    @@ -1,5 +1,5 @@
     ; DEF file for MS VC++
    -LIBRARY   expat.dll
    +LIBRARY   LIBEXPAT
     DESCRIPTION "Implements an XML parser."
     EXPORTS
       XML_DefaultCurrent @1
    diff --git a/reactos/lib/expat/lib/libexpatw.def b/reactos/lib/expat/lib/libexpatw.def
    index dd0fc6fc956..49d0c29d366 100644
    --- a/reactos/lib/expat/lib/libexpatw.def
    +++ b/reactos/lib/expat/lib/libexpatw.def
    @@ -1,5 +1,5 @@
     ; DEF file for MS VC++
    -LIBRARY   expat.dll
    +LIBRARY   LIBEXPATW
     DESCRIPTION "Implements an XML parser."
     EXPORTS
       XML_DefaultCurrent @1
    diff --git a/reactos/lib/expat/lib/winconfig.h b/reactos/lib/expat/lib/winconfig.h
    index c1b791d62d0..dfff653a5c8 100644
    --- a/reactos/lib/expat/lib/winconfig.h
    +++ b/reactos/lib/expat/lib/winconfig.h
    @@ -17,7 +17,7 @@
     #include 
     #include 
     
    -#define XML_NS 1
    +//MF #define XML_NS 1
     #define XML_DTD 1
     #define XML_CONTEXT_BYTES 1024
     
    diff --git a/reactos/lib/expat/lib/xmlparse.c b/reactos/lib/expat/lib/xmlparse.c
    index 644f2631583..b87acd4dfe5 100644
    --- a/reactos/lib/expat/lib/xmlparse.c
    +++ b/reactos/lib/expat/lib/xmlparse.c
    @@ -4,6 +4,7 @@
     
     #include 
     #include                      /* memset(), memcpy() */
    +#include 
     
     #define XML_BUILDING_EXPAT 1
     
    @@ -12,7 +13,7 @@
     #elif defined(MACOS_CLASSIC)
     #include "macconfig.h"
     #elif defined(HAVE_EXPAT_CONFIG_H)
    -#include "expat_config.h"
    +#include 
     #endif /* ndef COMPILED_FROM_DSP */
     
     #include "expat.h"
    @@ -491,7 +492,7 @@ struct XML_ParserStruct {
       void *m_unknownEncodingMem;
       void *m_unknownEncodingData;
       void *m_unknownEncodingHandlerData;
    -  void (*m_unknownEncodingRelease)(void *);
    +  void (XMLCALL *m_unknownEncodingRelease)(void *);
       PROLOG_STATE m_prologState;
       Processor *m_processor;
       enum XML_Error m_errorCode;
    @@ -639,8 +640,8 @@ struct XML_ParserStruct {
     #define groupSize (parser->m_groupSize)
     #define namespaceSeparator (parser->m_namespaceSeparator)
     #define parentParser (parser->m_parentParser)
    -#define parsing (parser->m_parsingStatus.parsing)
    -#define finalBuffer (parser->m_parsingStatus.finalBuffer)
    +#define ps_parsing (parser->m_parsingStatus.parsing)
    +#define ps_finalBuffer (parser->m_parsingStatus.finalBuffer)
     #ifdef XML_DTD
     #define isParamEntity (parser->m_isParamEntity)
     #define useForeignDTD (parser->m_useForeignDTD)
    @@ -851,7 +852,7 @@ parserInit(XML_Parser parser, const XML_Char *encodingName)
       unknownEncodingRelease = NULL;
       unknownEncodingData = NULL;
       parentParser = NULL;
    -  parsing = XML_INITIALIZED;
    +  ps_parsing = XML_INITIALIZED;
     #ifdef XML_DTD
       isParamEntity = XML_FALSE;
       useForeignDTD = XML_FALSE;
    @@ -914,7 +915,7 @@ XML_SetEncoding(XML_Parser parser, const XML_Char *encodingName)
          XXX There's no way for the caller to determine which of the
          XXX possible error cases caused the XML_STATUS_ERROR return.
       */
    -  if (parsing == XML_PARSING || parsing == XML_SUSPENDED)
    +  if (ps_parsing == XML_PARSING || ps_parsing == XML_SUSPENDED)
         return XML_STATUS_ERROR;
       if (encodingName == NULL)
         protocolEncodingName = NULL;
    @@ -1142,7 +1143,7 @@ XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD)
     {
     #ifdef XML_DTD
       /* block after XML_Parse()/XML_ParseBuffer() has been called */
    -  if (parsing == XML_PARSING || parsing == XML_SUSPENDED)
    +  if (ps_parsing == XML_PARSING || ps_parsing == XML_SUSPENDED)
         return XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING;
       useForeignDTD = useDTD;
       return XML_ERROR_NONE;
    @@ -1155,7 +1156,7 @@ void XMLCALL
     XML_SetReturnNSTriplet(XML_Parser parser, int do_nst)
     {
       /* block after XML_Parse()/XML_ParseBuffer() has been called */
    -  if (parsing == XML_PARSING || parsing == XML_SUSPENDED)
    +  if (ps_parsing == XML_PARSING || ps_parsing == XML_SUSPENDED)
         return;
       ns_triplets = do_nst ? XML_TRUE : XML_FALSE;
     }
    @@ -1407,7 +1408,7 @@ XML_SetParamEntityParsing(XML_Parser parser,
                               enum XML_ParamEntityParsing peParsing)
     {
       /* block after XML_Parse()/XML_ParseBuffer() has been called */
    -  if (parsing == XML_PARSING || parsing == XML_SUSPENDED)
    +  if (ps_parsing == XML_PARSING || ps_parsing == XML_SUSPENDED)
         return 0;
     #ifdef XML_DTD
       paramEntityParsing = peParsing;
    @@ -1420,7 +1421,7 @@ XML_SetParamEntityParsing(XML_Parser parser,
     enum XML_Status XMLCALL
     XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
     {
    -  switch (parsing) {
    +  switch (ps_parsing) {
       case XML_SUSPENDED:
         errorCode = XML_ERROR_SUSPENDED;
         return XML_STATUS_ERROR;
    @@ -1428,11 +1429,11 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
         errorCode = XML_ERROR_FINISHED;
         return XML_STATUS_ERROR;
       default:
    -    parsing = XML_PARSING;
    +    ps_parsing = XML_PARSING;
       }
     
       if (len == 0) {
    -    finalBuffer = (XML_Bool)isFinal;
    +    ps_finalBuffer = (XML_Bool)isFinal;
         if (!isFinal)
           return XML_STATUS_OK;
         positionPtr = bufferPtr;
    @@ -1440,19 +1441,19 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
     
         /* If data are left over from last buffer, and we now know that these
            data are the final chunk of input, then we have to check them again
    -       to detect errors based on this information.
    +       to detect errors based on that fact.
         */
         errorCode = processor(parser, bufferPtr, parseEndPtr, &bufferPtr);
     
         if (errorCode == XML_ERROR_NONE) {
    -      switch (parsing) {
    +      switch (ps_parsing) {
           case XML_SUSPENDED:
             XmlUpdatePosition(encoding, positionPtr, bufferPtr, &position);
             positionPtr = bufferPtr;
             return XML_STATUS_SUSPENDED;
           case XML_INITIALIZED: 
           case XML_PARSING:
    -        parsing = XML_FINISHED;
    +        ps_parsing = XML_FINISHED;
             /* fall through */
           default:
             return XML_STATUS_OK;
    @@ -1466,10 +1467,10 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
       else if (bufferPtr == bufferEnd) {
         const char *end;
         int nLeftOver;
    +    enum XML_Error result;
         parseEndByteIndex += len;
         positionPtr = s;
    -    finalBuffer = (XML_Bool)isFinal;
    -    enum XML_Error result;
    +    ps_finalBuffer = (XML_Bool)isFinal;
     
         errorCode = processor(parser, s, parseEndPtr = s + len, &end);
     
    @@ -1479,21 +1480,21 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
           return XML_STATUS_ERROR;
         }
         else {
    -      switch (parsing) {
    +      switch (ps_parsing) {
           case XML_SUSPENDED:
             result = XML_STATUS_SUSPENDED;
             break;
    -      case XML_INITIALIZED, XML_PARSING:
    +      case XML_INITIALIZED:
    +      case XML_PARSING:
             result = XML_STATUS_OK;
             if (isFinal) {
    -          parsing = XML_FINISHED;
    +          ps_parsing = XML_FINISHED;
               return result;
             }
           }
         }
     
         XmlUpdatePosition(encoding, positionPtr, end, &position);
    -    positionPtr = end;
         nLeftOver = s + len - end;
         if (nLeftOver) {
           if (buffer == NULL || nLeftOver > bufferLim - buffer) {
    @@ -1516,9 +1517,13 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
             bufferLim = buffer + len * 2;
           }
           memcpy(buffer, end, nLeftOver);
    -      bufferPtr = buffer;
    -      bufferEnd = buffer + nLeftOver;
         }
    +    bufferPtr = buffer;
    +    bufferEnd = buffer + nLeftOver;
    +    positionPtr = bufferPtr;
    +    parseEndPtr = bufferEnd;
    +    eventPtr = bufferPtr;
    +    eventEndPtr = bufferPtr;
         return result;
       }
     #endif  /* not defined XML_CONTEXT_BYTES */
    @@ -1537,9 +1542,9 @@ enum XML_Status XMLCALL
     XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
     {
       const char *start;
    -  enum XML_Error result = XML_STATUS_OK;
    +  enum XML_Status result = XML_STATUS_OK;
     
    -  switch (parsing) {
    +  switch (ps_parsing) {
       case XML_SUSPENDED:
         errorCode = XML_ERROR_SUSPENDED;
         return XML_STATUS_ERROR;
    @@ -1547,7 +1552,7 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
         errorCode = XML_ERROR_FINISHED;
         return XML_STATUS_ERROR;
       default:
    -    parsing = XML_PARSING;
    +    ps_parsing = XML_PARSING;
       }
     
       start = bufferPtr;
    @@ -1555,7 +1560,7 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
       bufferEnd += len;
       parseEndPtr = bufferEnd;
       parseEndByteIndex += len;
    -  finalBuffer = (XML_Bool)isFinal;
    +  ps_finalBuffer = (XML_Bool)isFinal;
     
       errorCode = processor(parser, start, parseEndPtr, &bufferPtr);
     
    @@ -1565,14 +1570,14 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
         return XML_STATUS_ERROR;
       }
       else {
    -    switch (parsing) {
    +    switch (ps_parsing) {
         case XML_SUSPENDED:
           result = XML_STATUS_SUSPENDED;
           break;
         case XML_INITIALIZED: 
         case XML_PARSING:
           if (isFinal) {
    -        parsing = XML_FINISHED;
    +        ps_parsing = XML_FINISHED;
             return result;
           }
         default: ;  /* should not happen */
    @@ -1587,7 +1592,7 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
     void * XMLCALL
     XML_GetBuffer(XML_Parser parser, int len)
     {
    -  switch (parsing) {
    +  switch (ps_parsing) {
       case XML_SUSPENDED:
         errorCode = XML_ERROR_SUSPENDED;
         return NULL;
    @@ -1666,29 +1671,29 @@ XML_GetBuffer(XML_Parser parser, int len)
     enum XML_Status XMLCALL
     XML_StopParser(XML_Parser parser, XML_Bool resumable)
     {
    -  switch (parsing) {
    +  switch (ps_parsing) {
       case XML_SUSPENDED:
         if (resumable) {
           errorCode = XML_ERROR_SUSPENDED;
           return XML_STATUS_ERROR;
         }
    -    parsing = XML_FINISHED;
    +    ps_parsing = XML_FINISHED;
         break;
       case XML_FINISHED:
         errorCode = XML_ERROR_FINISHED;
         return XML_STATUS_ERROR;
       default:
         if (resumable) {
    -#ifdef XML_DTD	//MF
    +#ifdef XML_DTD
           if (isParamEntity) {
             errorCode = XML_ERROR_SUSPEND_PE;
             return XML_STATUS_ERROR;
           }
     #endif
    -	  parsing = XML_SUSPENDED;
    +      ps_parsing = XML_SUSPENDED;
         }
         else
    -      parsing = XML_FINISHED;
    +      ps_parsing = XML_FINISHED;
       }
       return XML_STATUS_OK;
     }
    @@ -1696,13 +1701,13 @@ XML_StopParser(XML_Parser parser, XML_Bool resumable)
     enum XML_Status XMLCALL
     XML_ResumeParser(XML_Parser parser)
     {
    -  enum XML_Error result = XML_STATUS_OK;
    +  enum XML_Status result = XML_STATUS_OK;
     
    -  if (parsing != XML_SUSPENDED) {
    +  if (ps_parsing != XML_SUSPENDED) {
         errorCode = XML_ERROR_NOT_SUSPENDED;
         return XML_STATUS_ERROR;
       }
    -  parsing = XML_PARSING;
    +  ps_parsing = XML_PARSING;
     
       errorCode = processor(parser, bufferPtr, parseEndPtr, &bufferPtr);
     
    @@ -1712,14 +1717,14 @@ XML_ResumeParser(XML_Parser parser)
         return XML_STATUS_ERROR;
       }
       else {
    -    switch (parsing) {
    +    switch (ps_parsing) {
         case XML_SUSPENDED:
           result = XML_STATUS_SUSPENDED;
           break;
         case XML_INITIALIZED: 
         case XML_PARSING:
    -      if (finalBuffer) {
    -        parsing = XML_FINISHED;
    +      if (ps_finalBuffer) {
    +        ps_parsing = XML_FINISHED;
             return result;
           }
         default: ;
    @@ -1734,6 +1739,7 @@ XML_ResumeParser(XML_Parser parser)
     void XMLCALL
     XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status)
     {
    +  assert(status != NULL);
       *status = parser->m_parsingStatus;
     }
     
    @@ -1833,7 +1839,7 @@ XML_DefaultCurrent(XML_Parser parser)
     const XML_LChar * XMLCALL
     XML_ErrorString(enum XML_Error code)
     {
    -  static const XML_LChar *message[] = {
    +  static const XML_LChar* const message[] = {
         0,
         XML_L("out of memory"),
         XML_L("syntax error"),
    @@ -1851,7 +1857,7 @@ XML_ErrorString(enum XML_Error code)
         XML_L("reference to invalid character number"),
         XML_L("reference to binary entity"),
         XML_L("reference to external entity in attribute"),
    -    XML_L("xml declaration not at start of external entity"),
    +    XML_L("XML or text declaration not at start of entity"),
         XML_L("unknown encoding"),
         XML_L("encoding specified in XML declaration is incorrect"),
         XML_L("unclosed CDATA section"),
    @@ -1862,11 +1868,19 @@ XML_ErrorString(enum XML_Error code)
         XML_L("requested feature requires XML_DTD support in Expat"),
         XML_L("cannot change setting once parsing has begun"),
         XML_L("unbound prefix"),
    +    XML_L("must not undeclare prefix"),
    +    XML_L("incomplete markup in parameter entity"),
    +    XML_L("XML declaration not well-formed"),
    +    XML_L("text declaration not well-formed"),
    +    XML_L("illegal character(s) in public id"),
         XML_L("parser suspended"),
         XML_L("parser not suspended"),
         XML_L("parsing aborted"),
         XML_L("parsing finished"),
    -    XML_L("cannot suspend in external parameter entity")
    +    XML_L("cannot suspend in external parameter entity"),
    +    XML_L("reserved prefix (xml) must not be undeclared or bound to another namespace name"),
    +    XML_L("reserved prefix (xmlns) must not be declared or undeclared"),
    +    XML_L("prefix must not be bound to one of the reserved namespace names")
       };
       if (code > 0 && code < sizeof(message)/sizeof(message[0]))
         return message[code];
    @@ -1908,9 +1922,11 @@ XML_ExpatVersionInfo(void)
     const XML_Feature * XMLCALL
     XML_GetFeatureList(void)
     {
    -  static XML_Feature features[] = {
    -    {XML_FEATURE_SIZEOF_XML_CHAR,  XML_L("sizeof(XML_Char)"), 0},
    -    {XML_FEATURE_SIZEOF_XML_LCHAR, XML_L("sizeof(XML_LChar)"), 0},
    +  static const XML_Feature features[] = {
    +    {XML_FEATURE_SIZEOF_XML_CHAR,  XML_L("sizeof(XML_Char)"),
    +     sizeof(XML_Char)},
    +    {XML_FEATURE_SIZEOF_XML_LCHAR, XML_L("sizeof(XML_LChar)"),
    +     sizeof(XML_LChar)},
     #ifdef XML_UNICODE
         {XML_FEATURE_UNICODE,          XML_L("XML_UNICODE"), 0},
     #endif
    @@ -1926,12 +1942,13 @@ XML_GetFeatureList(void)
     #endif
     #ifdef XML_MIN_SIZE
         {XML_FEATURE_MIN_SIZE,         XML_L("XML_MIN_SIZE"), 0},
    +#endif
    +#ifdef XML_NS
    +    {XML_FEATURE_NS,               XML_L("XML_NS"), 0},
     #endif
         {XML_FEATURE_END,              NULL, 0}
       };
     
    -  features[0].value = sizeof(XML_Char);
    -  features[1].value = sizeof(XML_LChar);
       return features;
     }
     
    @@ -1992,7 +2009,7 @@ contentProcessor(XML_Parser parser,
                      const char **endPtr)
     {
       enum XML_Error result = doContent(parser, 0, encoding, start, end, 
    -                                    endPtr, (XML_Bool)!finalBuffer);
    +                                    endPtr, (XML_Bool)!ps_finalBuffer);
       if (result == XML_ERROR_NONE) {
         if (!storeRawNames(parser))
           return XML_ERROR_NO_MEMORY;
    @@ -2028,21 +2045,21 @@ externalEntityInitProcessor2(XML_Parser parser,
            doContent (by detecting XML_TOK_NONE) without processing any xml text
            declaration - causing the error XML_ERROR_MISPLACED_XML_PI in doContent.
         */
    -    if (next == end && !finalBuffer) {
    +    if (next == end && !ps_finalBuffer) {
           *endPtr = next;
           return XML_ERROR_NONE;
         }
         start = next;
         break;
       case XML_TOK_PARTIAL:
    -    if (!finalBuffer) {
    +    if (!ps_finalBuffer) {
           *endPtr = start;
           return XML_ERROR_NONE;
         }
         eventPtr = start;
         return XML_ERROR_UNCLOSED_TOKEN;
       case XML_TOK_PARTIAL_CHAR:
    -    if (!finalBuffer) {
    +    if (!ps_finalBuffer) {
           *endPtr = start;
           return XML_ERROR_NONE;
         }
    @@ -2072,7 +2089,7 @@ externalEntityInitProcessor3(XML_Parser parser,
           result = processXmlDecl(parser, 1, start, next);
           if (result != XML_ERROR_NONE)
             return result;
    -      switch (parsing) {
    +      switch (ps_parsing) {
           case XML_SUSPENDED: 
             *endPtr = next;
             return XML_ERROR_NONE;
    @@ -2084,13 +2101,13 @@ externalEntityInitProcessor3(XML_Parser parser,
         }
         break;
       case XML_TOK_PARTIAL:
    -    if (!finalBuffer) {
    +    if (!ps_finalBuffer) {
           *endPtr = start;
           return XML_ERROR_NONE;
         }
         return XML_ERROR_UNCLOSED_TOKEN;
       case XML_TOK_PARTIAL_CHAR:
    -    if (!finalBuffer) {
    +    if (!ps_finalBuffer) {
           *endPtr = start;
           return XML_ERROR_NONE;
         }
    @@ -2108,7 +2125,7 @@ externalEntityContentProcessor(XML_Parser parser,
                                    const char **endPtr)
     {
       enum XML_Error result = doContent(parser, 1, encoding, start, end, 
    -                                    endPtr, (XML_Bool)!finalBuffer);
    +                                    endPtr, (XML_Bool)!ps_finalBuffer);
       if (result == XML_ERROR_NONE) {
         if (!storeRawNames(parser))
           return XML_ERROR_NO_MEMORY;
    @@ -2558,7 +2575,7 @@ doContent(XML_Parser parser,
           break;
         }
         *eventPP = s = next;
    -    switch (parsing) {
    +    switch (ps_parsing) {
         case XML_SUSPENDED: 
           *nextPtr = next;
           return XML_ERROR_NONE;
    @@ -2814,7 +2831,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc,
                 }
                 if (!step)
                   step = PROBE_STEP(uriHash, mask, nsAttsPower);
    -            j < step ? ( j += nsAttsSize - step) : (j -= step);
    +            j < step ? (j += nsAttsSize - step) : (j -= step);
               }
             }
     
    @@ -2871,14 +2888,14 @@ storeAtts(XML_Parser parser, const ENCODING *enc,
       prefixLen = 0;
       if (ns_triplets && binding->prefix->name) {
         for (; binding->prefix->name[prefixLen++];)
    -      ;
    +      ;  /* prefixLen includes null terminator */
       }
       tagNamePtr->localPart = localPart;
       tagNamePtr->uriLen = binding->uriLen;
       tagNamePtr->prefix = binding->prefix->name;
       tagNamePtr->prefixLen = prefixLen;
       for (i = 0; localPart[i++];)
    -    ;
    +    ;  /* i includes null terminator */
       n = i + binding->uriLen + prefixLen;
       if (n > binding->uriAlloc) {
         TAG *p;
    @@ -2893,12 +2910,13 @@ storeAtts(XML_Parser parser, const ENCODING *enc,
         FREE(binding->uri);
         binding->uri = uri;
       }
    +  /* if namespaceSeparator != '\0' then uri includes it already */
       uri = binding->uri + binding->uriLen;
       memcpy(uri, localPart, i * sizeof(XML_Char));
    +  /* we always have a namespace separator between localPart and prefix */
       if (prefixLen) {
    -    uri = uri + (i - 1);
    -    if (namespaceSeparator)
    -      *uri = namespaceSeparator;
    +    uri += i - 1;
    +    *uri = namespaceSeparator;  /* replace null terminator */
         memcpy(uri + 1, binding->prefix->name, prefixLen * sizeof(XML_Char));
       }
       tagNamePtr->str = binding->uri;
    @@ -2912,15 +2930,66 @@ static enum XML_Error
     addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
                const XML_Char *uri, BINDING **bindingsPtr)
     {
    +  static const XML_Char xmlNamespace[] = {
    +    'h', 't', 't', 'p', ':', '/', '/',
    +    'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/',
    +    'X', 'M', 'L', '/', '1', '9', '9', '8', '/',
    +    'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', '\0'
    +  };
    +  static const int xmlLen = 
    +    (int)sizeof(xmlNamespace)/sizeof(XML_Char) - 1;
    +  static const XML_Char xmlnsNamespace[] = {
    +    'h', 't', 't', 'p', ':', '/', '/',
    +    'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/',
    +    '2', '0', '0', '0', '/', 'x', 'm', 'l', 'n', 's', '/', '\0'
    +  };
    +  static const int xmlnsLen = 
    +    (int)sizeof(xmlnsNamespace)/sizeof(XML_Char) - 1;
    +
    +  XML_Bool mustBeXML = XML_FALSE;
    +  XML_Bool isXML = XML_TRUE;
    +  XML_Bool isXMLNS = XML_TRUE;
    +  
       BINDING *b;
       int len;
     
    -  /* empty string is only valid when there is no prefix per XML NS 1.0 */
    +  /* empty URI is only valid for default namespace per XML NS 1.0 (not 1.1) */
       if (*uri == XML_T('\0') && prefix->name)
    -    return XML_ERROR_SYNTAX;
    +    return XML_ERROR_UNDECLARING_PREFIX;
    +
    +  if (prefix->name
    +      && prefix->name[0] == XML_T('x')
    +      && prefix->name[1] == XML_T('m')
    +      && prefix->name[2] == XML_T('l')) {
    +
    +    /* Not allowed to bind xmlns */
    +    if (prefix->name[3] == XML_T('n')
    +        && prefix->name[4] == XML_T('s')
    +        && prefix->name[5] == XML_T('\0'))
    +      return XML_ERROR_RESERVED_PREFIX_XMLNS;
    +
    +    if (prefix->name[3] == XML_T('\0'))
    +      mustBeXML = XML_TRUE;
    +  }
    +
    +  for (len = 0; uri[len]; len++) {
    +    if (isXML && (len > xmlLen || uri[len] != xmlNamespace[len]))
    +      isXML = XML_FALSE;
    +
    +    if (!mustBeXML && isXMLNS 
    +        && (len > xmlnsLen || uri[len] != xmlnsNamespace[len]))
    +      isXMLNS = XML_FALSE;
    +  }
    +  isXML = isXML && len == xmlLen;
    +  isXMLNS = isXMLNS && len == xmlnsLen;
    +
    +  if (mustBeXML != isXML)
    +    return mustBeXML ? XML_ERROR_RESERVED_PREFIX_XML
    +                     : XML_ERROR_RESERVED_NAMESPACE_URI;
    +
    +  if (isXMLNS)
    +    return XML_ERROR_RESERVED_NAMESPACE_URI;
     
    -  for (len = 0; uri[len]; len++)
    -    ;
       if (namespaceSeparator)
         len++;
       if (freeBindingList) {
    @@ -2960,7 +3029,8 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
         prefix->binding = b;
       b->nextTagBinding = *bindingsPtr;
       *bindingsPtr = b;
    -  if (startNamespaceDeclHandler)
    +  /* if attId == NULL then we are not starting a namespace scope */
    +  if (attId && startNamespaceDeclHandler)
         startNamespaceDeclHandler(handlerArg, prefix->name,
                                   prefix->binding ? uri : 0);
       return XML_ERROR_NONE;
    @@ -2976,7 +3046,7 @@ cdataSectionProcessor(XML_Parser parser,
                           const char **endPtr)
     {
       enum XML_Error result = doCdataSection(parser, encoding, &start, end,
    -                                         endPtr, (XML_Bool)!finalBuffer);
    +                                         endPtr, (XML_Bool)!ps_finalBuffer);
       if (result != XML_ERROR_NONE)
         return result;
       if (start) {
    @@ -3035,7 +3105,7 @@ doCdataSection(XML_Parser parser,
             reportDefault(parser, enc, s, next);
           *startPtr = next;
           *nextPtr = next;
    -      if (parsing == XML_FINISHED)
    +      if (ps_parsing == XML_FINISHED)
             return XML_ERROR_ABORTED;
           else
             return XML_ERROR_NONE;
    @@ -3091,7 +3161,7 @@ doCdataSection(XML_Parser parser,
         }
     
         *eventPP = s = next;
    -    switch (parsing) {
    +    switch (ps_parsing) {
         case XML_SUSPENDED:
           *nextPtr = next;
           return XML_ERROR_NONE;
    @@ -3115,7 +3185,7 @@ ignoreSectionProcessor(XML_Parser parser,
                            const char **endPtr)
     {
       enum XML_Error result = doIgnoreSection(parser, encoding, &start, end, 
    -                                          endPtr, (XML_Bool)!finalBuffer);
    +                                          endPtr, (XML_Bool)!ps_finalBuffer);
       if (result != XML_ERROR_NONE)
         return result;
       if (start) {
    @@ -3160,7 +3230,7 @@ doIgnoreSection(XML_Parser parser,
           reportDefault(parser, enc, s, next);
         *startPtr = next;
         *nextPtr = next;
    -    if (parsing == XML_FINISHED)
    +    if (ps_parsing == XML_FINISHED)
           return XML_ERROR_ABORTED;
         else
           return XML_ERROR_NONE;
    @@ -3240,8 +3310,12 @@ processXmlDecl(XML_Parser parser, int isGeneralTextEntity,
                                &versionend,
                                &encodingName,
                                &newEncoding,
    -                           &standalone))
    -    return XML_ERROR_SYNTAX;
    +                           &standalone)) {
    +    if (isGeneralTextEntity)
    +      return XML_ERROR_TEXT_DECL;
    +    else
    +      return XML_ERROR_XML_DECL;
    +  }
       if (!isGeneralTextEntity && standalone == 1) {
         _dtd->standalone = XML_TRUE;
     #ifdef XML_DTD
    @@ -3396,7 +3470,7 @@ entityValueInitProcessor(XML_Parser parser,
         tok = XmlPrologTok(encoding, start, end, &next);
         eventEndPtr = next;
         if (tok <= 0) {
    -      if (!finalBuffer && tok != XML_TOK_INVALID) {
    +      if (!ps_finalBuffer && tok != XML_TOK_INVALID) {
             *nextPtr = s;
             return XML_ERROR_NONE;
           }
    @@ -3419,7 +3493,7 @@ entityValueInitProcessor(XML_Parser parser,
           result = processXmlDecl(parser, 0, start, next);
           if (result != XML_ERROR_NONE)
             return result;
    -      switch (parsing) {
    +      switch (ps_parsing) {
           case XML_SUSPENDED: 
             *nextPtr = next;
             return XML_ERROR_NONE;
    @@ -3439,7 +3513,7 @@ entityValueInitProcessor(XML_Parser parser,
            then, when this routine is entered the next time, XmlPrologTok will
            return XML_TOK_INVALID, since the BOM is still in the buffer
         */
    -    else if (tok == XML_TOK_BOM && next == end && !finalBuffer) {
    +    else if (tok == XML_TOK_BOM && next == end && !ps_finalBuffer) {
           *nextPtr = next;
           return XML_ERROR_NONE;
         }
    @@ -3459,7 +3533,7 @@ externalParEntProcessor(XML_Parser parser,
     
       tok = XmlPrologTok(encoding, s, end, &next);
       if (tok <= 0) {
    -    if (!finalBuffer && tok != XML_TOK_INVALID) {
    +    if (!ps_finalBuffer && tok != XML_TOK_INVALID) {
           *nextPtr = s;
           return XML_ERROR_NONE;
         }
    @@ -3486,7 +3560,7 @@ externalParEntProcessor(XML_Parser parser,
     
       processor = prologProcessor;
       return doProlog(parser, encoding, s, end, tok, next, 
    -                  nextPtr, (XML_Bool)!finalBuffer);
    +                  nextPtr, (XML_Bool)!ps_finalBuffer);
     }
     
     static enum XML_Error PTRCALL
    @@ -3503,7 +3577,7 @@ entityValueProcessor(XML_Parser parser,
       for (;;) {
         tok = XmlPrologTok(enc, start, end, &next);
         if (tok <= 0) {
    -      if (!finalBuffer && tok != XML_TOK_INVALID) {
    +      if (!ps_finalBuffer && tok != XML_TOK_INVALID) {
             *nextPtr = s;
             return XML_ERROR_NONE;
           }
    @@ -3536,7 +3610,7 @@ prologProcessor(XML_Parser parser,
       const char *next = s;
       int tok = XmlPrologTok(encoding, s, end, &next);
       return doProlog(parser, encoding, s, end, tok, next, 
    -                  nextPtr, (XML_Bool)!finalBuffer);
    +                  nextPtr, (XML_Bool)!ps_finalBuffer);
     }
     
     static enum XML_Error
    @@ -3616,7 +3690,7 @@ doProlog(XML_Parser parser,
             if (isParamEntity || enc != encoding) {
               if (XmlTokenRole(&prologState, XML_TOK_NONE, end, end, enc)
                   == XML_ROLE_ERROR)
    -            return XML_ERROR_SYNTAX;
    +            return XML_ERROR_INCOMPLETE_PE;
               *nextPtr = s;
               return XML_ERROR_NONE;
             }
    @@ -3673,28 +3747,31 @@ doProlog(XML_Parser parser,
         case XML_ROLE_DOCTYPE_PUBLIC_ID:
     #ifdef XML_DTD
           useForeignDTD = XML_FALSE;
    -#endif /* XML_DTD */
    -      dtd->hasParamEntityRefs = XML_TRUE;
    -      if (startDoctypeDeclHandler) {
    -        doctypePubid = poolStoreString(&tempPool, enc,
    -                                       s + enc->minBytesPerChar,
    -                                       next - enc->minBytesPerChar);
    -        if (!doctypePubid)
    -          return XML_ERROR_NO_MEMORY;
    -        poolFinish(&tempPool);
    -        handleDefault = XML_FALSE;
    -      }
    -#ifdef XML_DTD
           declEntity = (ENTITY *)lookup(&dtd->paramEntities,
                                         externalSubsetName,
                                         sizeof(ENTITY));
           if (!declEntity)
             return XML_ERROR_NO_MEMORY;
     #endif /* XML_DTD */
    +      dtd->hasParamEntityRefs = XML_TRUE;
    +      if (startDoctypeDeclHandler) {
    +        if (!XmlIsPublicId(enc, s, next, eventPP))
    +          return XML_ERROR_PUBLICID;
    +        doctypePubid = poolStoreString(&tempPool, enc,
    +                                       s + enc->minBytesPerChar,
    +                                       next - enc->minBytesPerChar);
    +        if (!doctypePubid)
    +          return XML_ERROR_NO_MEMORY;
    +        normalizePublicId((XML_Char *)doctypePubid);
    +        poolFinish(&tempPool);
    +        handleDefault = XML_FALSE;
    +        goto alreadyChecked;
    +      }
           /* fall through */
         case XML_ROLE_ENTITY_PUBLIC_ID:
           if (!XmlIsPublicId(enc, s, next, eventPP))
    -        return XML_ERROR_SYNTAX;
    +        return XML_ERROR_PUBLICID;
    +    alreadyChecked:
           if (dtd->keepProcessing && declEntity) {
             XML_Char *tem = poolStoreString(&dtd->pool,
                                             enc,
    @@ -4117,7 +4194,7 @@ doProlog(XML_Parser parser,
           break;
         case XML_ROLE_NOTATION_PUBLIC_ID:
           if (!XmlIsPublicId(enc, s, next, eventPP))
    -        return XML_ERROR_SYNTAX;
    +        return XML_ERROR_PUBLICID;
           if (declNotationName) {  /* means notationDeclHandler != NULL */
             XML_Char *tem = poolStoreString(&tempPool,
                                             enc,
    @@ -4480,7 +4557,7 @@ doProlog(XML_Parser parser,
         if (handleDefault && defaultHandler)
           reportDefault(parser, enc, s, next);
     
    -    switch (parsing) {
    +    switch (ps_parsing) {
         case XML_SUSPENDED: 
           *nextPtr = next;
           return XML_ERROR_NONE;
    @@ -4511,7 +4588,7 @@ epilogProcessor(XML_Parser parser,
         case -XML_TOK_PROLOG_S:
           if (defaultHandler) {
             reportDefault(parser, encoding, s, next);
    -        if (parsing == XML_FINISHED)
    +        if (ps_parsing == XML_FINISHED)
               return XML_ERROR_ABORTED;
           }
           *nextPtr = next;
    @@ -4535,13 +4612,13 @@ epilogProcessor(XML_Parser parser,
           eventPtr = next;
           return XML_ERROR_INVALID_TOKEN;
         case XML_TOK_PARTIAL:
    -      if (!finalBuffer) {
    +      if (!ps_finalBuffer) {
             *nextPtr = s;
             return XML_ERROR_NONE;
           }
           return XML_ERROR_UNCLOSED_TOKEN;
         case XML_TOK_PARTIAL_CHAR:
    -      if (!finalBuffer) {
    +      if (!ps_finalBuffer) {
             *nextPtr = s;
             return XML_ERROR_NONE;
           }
    @@ -4550,7 +4627,7 @@ epilogProcessor(XML_Parser parser,
           return XML_ERROR_JUNK_AFTER_DOC_ELEMENT;
         }
         eventPtr = s = next;
    -    switch (parsing) {
    +    switch (ps_parsing) {
         case XML_SUSPENDED: 
           *nextPtr = next;
           return XML_ERROR_NONE;
    @@ -4603,7 +4680,7 @@ processInternalEntity(XML_Parser parser, ENTITY *entity,
                            textEnd, &next, XML_FALSE);
     
       if (result == XML_ERROR_NONE) {
    -    if (textEnd != next && parsing == XML_SUSPENDED) {
    +    if (textEnd != next && ps_parsing == XML_SUSPENDED) {
           entity->processed = next - textStart;
           processor = internalEntityProcessor;
         }
    @@ -4649,7 +4726,7 @@ internalEntityProcessor(XML_Parser parser,
     
       if (result != XML_ERROR_NONE)
         return result;
    -  else if (textEnd != next && parsing == XML_SUSPENDED) {
    +  else if (textEnd != next && ps_parsing == XML_SUSPENDED) {
         entity->processed = next - (char *)entity->textPtr;
         return result;
       }
    @@ -4667,7 +4744,7 @@ internalEntityProcessor(XML_Parser parser,
         processor = prologProcessor;
         tok = XmlPrologTok(encoding, s, end, &next);
         return doProlog(parser, encoding, s, end, tok, next, nextPtr, 
    -                    (XML_Bool)!finalBuffer);
    +                    (XML_Bool)!ps_finalBuffer);
       }
       else
     #endif /* XML_DTD */
    @@ -4675,7 +4752,7 @@ internalEntityProcessor(XML_Parser parser,
         processor = contentProcessor;
         /* see externalEntityContentProcessor vs contentProcessor */
         return doContent(parser, parentParser ? 1 : 0, encoding, s, end,
    -                     nextPtr, (XML_Bool)!finalBuffer); 
    +                     nextPtr, (XML_Bool)!ps_finalBuffer); 
       }  
     }
     
    @@ -5270,7 +5347,7 @@ getContext(XML_Parser parser)
         if (!poolAppendChar(&tempPool, XML_T('=')))
           return NULL;
         len = dtd->defaultPrefix.binding->uriLen;
    -    if (namespaceSeparator != XML_T('\0'))
    +    if (namespaceSeparator)
           len--;
         for (i = 0; i < len; i++)
           if (!poolAppendChar(&tempPool, dtd->defaultPrefix.binding->uri[i]))
    @@ -5296,7 +5373,7 @@ getContext(XML_Parser parser)
         if (!poolAppendChar(&tempPool, XML_T('=')))
           return NULL;
         len = prefix->binding->uriLen;
    -    if (namespaceSeparator != XML_T('\0'))
    +    if (namespaceSeparator)
           len--;
         for (i = 0; i < len; i++)
           if (!poolAppendChar(&tempPool, prefix->binding->uri[i]))
    @@ -5370,7 +5447,7 @@ setContext(XML_Parser parser, const XML_Char *context)
               return XML_FALSE;
           if (!poolAppendChar(&tempPool, XML_T('\0')))
             return XML_FALSE;
    -      if (addBinding(parser, prefix, 0, poolStart(&tempPool),
    +      if (addBinding(parser, prefix, NULL, poolStart(&tempPool),
                          &inheritedBindings) != XML_ERROR_NONE)
             return XML_FALSE;
           poolDiscard(&tempPool);
    @@ -5744,8 +5821,10 @@ lookup(HASH_TABLE *table, KEY name, size_t createSize)
         table->size = (size_t)1 << INIT_POWER;
         tsize = table->size * sizeof(NAMED *);
         table->v = (NAMED **)table->mem->malloc_fcn(tsize);
    -    if (!table->v)
    +    if (!table->v) {
    +      table->size = 0;
           return NULL;
    +    }
         memset(table->v, 0, tsize);
         i = hash(name) & ((unsigned long)table->size - 1);
       }
    diff --git a/reactos/lib/expat/lib/xmlrole.c b/reactos/lib/expat/lib/xmlrole.c
    index a2305c6a17c..b32d8e73bc7 100644
    --- a/reactos/lib/expat/lib/xmlrole.c
    +++ b/reactos/lib/expat/lib/xmlrole.c
    @@ -2,16 +2,19 @@
        See the file COPYING for copying permission.
     */
     
    +#include 
    +
     #ifdef COMPILED_FROM_DSP
     #include "winconfig.h"
     #elif defined(MACOS_CLASSIC)
     #include "macconfig.h"
     #else
     #ifdef HAVE_EXPAT_CONFIG_H
    -#include "expat_config.h"
    +#include 
     #endif
     #endif /* ndef COMPILED_FROM_DSP */
     
    +#include "expat_external.h"
     #include "internal.h"
     #include "xmlrole.h"
     #include "ascii.h"
    @@ -790,7 +793,7 @@ attlist2(PROLOG_STATE *state,
         return XML_ROLE_ATTLIST_NONE;
       case XML_TOK_NAME:
         {
    -      static const char *types[] = {
    +      static const char * const types[] = {
             KW_CDATA,
             KW_ID,
             KW_IDREF,
    diff --git a/reactos/lib/expat/lib/xmltok.c b/reactos/lib/expat/lib/xmltok.c
    index 4198381aa0b..be368949ee2 100644
    --- a/reactos/lib/expat/lib/xmltok.c
    +++ b/reactos/lib/expat/lib/xmltok.c
    @@ -2,16 +2,19 @@
        See the file COPYING for copying permission.
     */
     
    +#include 
    +
     #ifdef COMPILED_FROM_DSP
     #include "winconfig.h"
     #elif defined(MACOS_CLASSIC)
     #include "macconfig.h"
     #else
     #ifdef HAVE_EXPAT_CONFIG_H
    -#include "expat_config.h"
    +#include 
     #endif
     #endif /* ndef COMPILED_FROM_DSP */
     
    +#include "expat_external.h"
     #include "internal.h"
     #include "xmltok.h"
     #include "nametab.h"
    @@ -1233,7 +1236,7 @@ XmlUtf16Encode(int charNum, unsigned short *buf)
     
     struct unknown_encoding {
       struct normal_encoding normal;
    -  int (*convert)(void *userData, const char *p);
    +  CONVERTER convert;
       void *userData;
       unsigned short utf16[256];
       char utf8[256][4];
    @@ -1448,7 +1451,7 @@ static const char KW_UTF_16LE[] = {
     static int FASTCALL
     getEncodingIndex(const char *name)
     {
    -  static const char *encodingNames[] = {
    +  static const char * const encodingNames[] = {
         KW_ISO_8859_1,
         KW_US_ASCII,
         KW_UTF_8,
    @@ -1481,7 +1484,7 @@ getEncodingIndex(const char *name)
     
     
     static int
    -initScan(const ENCODING **encodingTable,
    +initScan(const ENCODING * const *encodingTable,
              const INIT_ENCODING *enc,
              int state,
              const char *ptr,
    diff --git a/reactos/lib/expat/lib/xmltok.h b/reactos/lib/expat/lib/xmltok.h
    index 3d776be71fc..1ecd05f8862 100644
    --- a/reactos/lib/expat/lib/xmltok.h
    +++ b/reactos/lib/expat/lib/xmltok.h
    @@ -281,7 +281,8 @@ int FASTCALL XmlUtf8Encode(int charNumber, char *buf);
     int FASTCALL XmlUtf16Encode(int charNumber, unsigned short *buf);
     int XmlSizeOfUnknownEncoding(void);
     
    -typedef int (*CONVERTER)(void *userData, const char *p);
    +
    +typedef int (XMLCALL *CONVERTER) (void *userData, const char *p);
     
     ENCODING *
     XmlInitUnknownEncoding(void *mem,
    diff --git a/reactos/lib/expat/lib/xmltok_ns.c b/reactos/lib/expat/lib/xmltok_ns.c
    index 5610eb95ba7..d2f893836fb 100644
    --- a/reactos/lib/expat/lib/xmltok_ns.c
    +++ b/reactos/lib/expat/lib/xmltok_ns.c
    @@ -19,7 +19,7 @@ NS(XmlGetUtf16InternalEncoding)(void)
     #endif
     }
     
    -static const ENCODING *NS(encodings)[] = {
    +static const ENCODING * const NS(encodings)[] = {
       &ns(latin1_encoding).enc,
       &ns(ascii_encoding).enc,
       &ns(utf8_encoding).enc,
    diff --git a/reactos/lib/expat/make-release.sh b/reactos/lib/expat/make-release.sh
    index e07af09f6ba..917db681e88 100644
    --- a/reactos/lib/expat/make-release.sh
    +++ b/reactos/lib/expat/make-release.sh
    @@ -22,7 +22,7 @@ if test -e $tmpdir; then
     fi
     
     echo "Checking out into temporary area: $tmpdir"
    -cvs -d "$CVSROOT" export -r "$1" -d $tmpdir expat || exit 1
    +cvs -fq -d "$CVSROOT" export -r "$1" -d $tmpdir expat || exit 1
     
     echo ""
     echo "----------------------------------------------------------------------"
    diff --git a/reactos/lib/expat/tests/benchmark/benchmark.dsp b/reactos/lib/expat/tests/benchmark/benchmark.dsp
    index be3f240bdea..6f310d0a931 100644
    --- a/reactos/lib/expat/tests/benchmark/benchmark.dsp
    +++ b/reactos/lib/expat/tests/benchmark/benchmark.dsp
    @@ -1,88 +1,88 @@
    -# Microsoft Developer Studio Project File - Name="benchmark" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Console Application" 0x0103
    -
    -CFG=benchmark - Win32 Debug
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "benchmark.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "benchmark.mak" CFG="benchmark - Win32 Debug"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "benchmark - Win32 Release" (based on "Win32 (x86) Console Application")
    -!MESSAGE "benchmark - Win32 Debug" (based on "Win32 (x86) Console Application")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "benchmark - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir "Release"
    -# PROP BASE Intermediate_Dir "Release"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir "Release"
    -# PROP Intermediate_Dir "Release"
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    -# ADD CPP /nologo /W3 /GX /O2 /I "..\..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    -# ADD BASE RSC /l 0x1009 /d "NDEBUG"
    -# ADD RSC /l 0x1009 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    -
    -!ELSEIF  "$(CFG)" == "benchmark - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir "Debug"
    -# PROP BASE Intermediate_Dir "Debug"
    -# PROP BASE Target_Dir ""
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir "Debug"
    -# PROP Intermediate_Dir "Debug"
    -# PROP Target_Dir ""
    -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    -# ADD BASE RSC /l 0x1009 /d "_DEBUG"
    -# ADD RSC /l 0x1009 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "benchmark - Win32 Release"
    -# Name "benchmark - Win32 Debug"
    -# Begin Source File
    -
    -SOURCE=.\benchmark.c
    -# End Source File
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="benchmark" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Console Application" 0x0103
    +
    +CFG=benchmark - Win32 Debug
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "benchmark.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "benchmark.mak" CFG="benchmark - Win32 Debug"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "benchmark - Win32 Release" (based on "Win32 (x86) Console Application")
    +!MESSAGE "benchmark - Win32 Debug" (based on "Win32 (x86) Console Application")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "benchmark - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir "Release"
    +# PROP BASE Intermediate_Dir "Release"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir "Release"
    +# PROP Intermediate_Dir "Release"
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    +# ADD CPP /nologo /W3 /GX /O2 /I "..\..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
    +# ADD BASE RSC /l 0x1009 /d "NDEBUG"
    +# ADD RSC /l 0x1009 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    +
    +!ELSEIF  "$(CFG)" == "benchmark - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir "Debug"
    +# PROP BASE Intermediate_Dir "Debug"
    +# PROP BASE Target_Dir ""
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir "Debug"
    +# PROP Intermediate_Dir "Debug"
    +# PROP Target_Dir ""
    +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
    +# ADD BASE RSC /l 0x1009 /d "_DEBUG"
    +# ADD RSC /l 0x1009 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "benchmark - Win32 Release"
    +# Name "benchmark - Win32 Debug"
    +# Begin Source File
    +
    +SOURCE=.\benchmark.c
    +# End Source File
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/tests/benchmark/benchmark.dsw b/reactos/lib/expat/tests/benchmark/benchmark.dsw
    index db8504c0f30..3346a9ad986 100644
    --- a/reactos/lib/expat/tests/benchmark/benchmark.dsw
    +++ b/reactos/lib/expat/tests/benchmark/benchmark.dsw
    @@ -1,44 +1,44 @@
    -Microsoft Developer Studio Workspace File, Format Version 6.00
    -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
    -
    -###############################################################################
    -
    -Project: "benchmark"=.\benchmark.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -    Begin Project Dependency
    -    Project_Dep_Name expat
    -    End Project Dependency
    -}}}
    -
    -###############################################################################
    -
    -Project: "expat"=..\..\lib\expat.dsp - Package Owner=<4>
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<4>
    -{{{
    -}}}
    -
    -###############################################################################
    -
    -Global:
    -
    -Package=<5>
    -{{{
    -}}}
    -
    -Package=<3>
    -{{{
    -}}}
    -
    -###############################################################################
    -
    +Microsoft Developer Studio Workspace File, Format Version 6.00
    +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
    +
    +###############################################################################
    +
    +Project: "benchmark"=.\benchmark.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +    Begin Project Dependency
    +    Project_Dep_Name expat
    +    End Project Dependency
    +}}}
    +
    +###############################################################################
    +
    +Project: "expat"=..\..\lib\expat.dsp - Package Owner=<4>
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<4>
    +{{{
    +}}}
    +
    +###############################################################################
    +
    +Global:
    +
    +Package=<5>
    +{{{
    +}}}
    +
    +Package=<3>
    +{{{
    +}}}
    +
    +###############################################################################
    +
    diff --git a/reactos/lib/expat/tests/chardata.c b/reactos/lib/expat/tests/chardata.c
    index 5736afc6d3b..5fb0299d88e 100644
    --- a/reactos/lib/expat/tests/chardata.c
    +++ b/reactos/lib/expat/tests/chardata.c
    @@ -10,11 +10,10 @@
     #ifdef HAVE_CHECK_H
     #include 
     #else
    -#error This test suite requires the 'check' unit test framework (http://check.sf.net/)
    +#include "minicheck.h"
     #endif
     
     #include 
    -#include 
     #include 
     #include 
     
    diff --git a/reactos/lib/expat/tests/chardata.h b/reactos/lib/expat/tests/chardata.h
    index 0f33c0dac3f..e8dc4ce22c4 100644
    --- a/reactos/lib/expat/tests/chardata.h
    +++ b/reactos/lib/expat/tests/chardata.h
    @@ -4,6 +4,10 @@
        and attribute content.
     */
     
    +#ifdef __cplusplus
    +extern "C" {
    +#endif
    +
     #ifndef XML_CHARDATA_H
     #define XML_CHARDATA_H 1
     
    @@ -30,3 +34,7 @@ int CharData_CheckXMLChars(CharData *storage, const XML_Char *s);
     
     
     #endif  /* XML_CHARDATA_H */
    +
    +#ifdef __cplusplus
    +}
    +#endif
    diff --git a/reactos/lib/expat/tests/minicheck.c b/reactos/lib/expat/tests/minicheck.c
    new file mode 100644
    index 00000000000..25fbf858836
    --- /dev/null
    +++ b/reactos/lib/expat/tests/minicheck.c
    @@ -0,0 +1,182 @@
    +/* Miniature re-implementation of the "check" library.
    + *
    + * This is intended to support just enough of check to run the Expat
    + * tests.  This interface is based entirely on the portion of the
    + * check library being used.
    + */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "minicheck.h"
    +
    +Suite *
    +suite_create(char *name)
    +{
    +    Suite *suite = (Suite *) calloc(1, sizeof(Suite));
    +    if (suite != NULL) {
    +        suite->name = name;
    +    }
    +    return suite;
    +}
    +
    +TCase *
    +tcase_create(char *name)
    +{
    +    TCase *tc = (TCase *) calloc(1, sizeof(TCase));
    +    if (tc != NULL) {
    +        tc->name = name;
    +    }
    +    return tc;
    +}
    +
    +void
    +suite_add_tcase(Suite *suite, TCase *tc) 
    +{
    +    assert(suite != NULL);
    +    assert(tc != NULL);
    +    assert(tc->next_tcase == NULL);
    +
    +    tc->next_tcase = suite->tests;
    +    suite->tests = tc;
    +}
    +
    +void
    +tcase_add_checked_fixture(TCase *tc,
    +                          tcase_setup_function setup,
    +                          tcase_teardown_function teardown)
    +{
    +    assert(tc != NULL);
    +    tc->setup = setup;
    +    tc->teardown = teardown;
    +}
    +
    +void
    +tcase_add_test(TCase *tc, tcase_test_function test)
    +{
    +    assert(tc != NULL);
    +    if (tc->allocated == tc->ntests) {
    +        int nalloc = tc->allocated + 100;
    +        size_t new_size = sizeof(tcase_test_function) * nalloc;
    +        tcase_test_function *new_tests = realloc(tc->tests, new_size);
    +        assert(new_tests != NULL);
    +        if (new_tests != tc->tests) {
    +            free(tc->tests);
    +            tc->tests = new_tests;
    +        }
    +        tc->allocated = nalloc;
    +    }
    +    tc->tests[tc->ntests] = test;
    +    tc->ntests++;
    +}
    +
    +SRunner *
    +srunner_create(Suite *suite)
    +{
    +    SRunner *runner = calloc(1, sizeof(SRunner));
    +    if (runner != NULL) {
    +        runner->suite = suite;
    +    }
    +    return runner;
    +}
    +
    +void
    +srunner_set_fork_status(SRunner *runner, int status)
    +{
    +    /* We ignore this. */
    +}
    +
    +static jmp_buf env;
    +
    +static char const *_check_current_function = NULL;
    +static int _check_current_lineno = -1;
    +static char const *_check_current_filename = NULL;
    +
    +void
    +_check_set_test_info(char const *function, char const *filename, int lineno)
    +{
    +    _check_current_function = function;
    +    _check_current_lineno = lineno;
    +    _check_current_filename = filename;
    +}
    +
    +
    +static void
    +add_failure(SRunner *runner, int verbosity)
    +{
    +    runner->nfailures++;
    +    if (verbosity >= CK_VERBOSE) {
    +        printf("%s:%d: %s\n", _check_current_filename,
    +               _check_current_lineno, _check_current_function);
    +    }
    +}
    +
    +void
    +srunner_run_all(SRunner *runner, int verbosity)
    +{
    +    Suite *suite;
    +    TCase *tc;
    +    assert(runner != NULL);
    +    suite = runner->suite;
    +    tc = suite->tests;
    +    while (tc != NULL) {
    +        int i;
    +        for (i = 0; i < tc->ntests; ++i) {
    +            runner->nchecks++;
    +
    +            if (tc->setup != NULL) {
    +                /* setup */
    +                if (setjmp(env)) {
    +                    add_failure(runner, verbosity);
    +                    continue;
    +                }
    +                tc->setup();
    +            }
    +            /* test */
    +            if (setjmp(env)) {
    +                add_failure(runner, verbosity);
    +                continue;
    +            }
    +            (tc->tests[i])();
    +
    +            /* teardown */
    +            if (tc->teardown != NULL) {
    +                if (setjmp(env)) {
    +                    add_failure(runner, verbosity);
    +                    continue;
    +                }
    +                tc->teardown();
    +            }
    +        }
    +        tc = tc->next_tcase;
    +    }
    +    if (verbosity) {
    +        int passed = runner->nchecks - runner->nfailures;
    +        double percentage = ((double) passed) / runner->nchecks;
    +        int display = (int) (percentage * 100);
    +        printf("%d%%: Checks: %d, Failed: %d\n",
    +               display, runner->nchecks, runner->nfailures);
    +    }
    +}
    +
    +void
    +_fail_unless(int condition, const char *file, int line, char *msg)
    +{
    +    longjmp(env, 1);
    +}
    +
    +int
    +srunner_ntests_failed(SRunner *runner)
    +{
    +    assert(runner != NULL);
    +    return runner->nfailures;
    +}
    +
    +void
    +srunner_free(SRunner *runner)
    +{
    +    free(runner->suite);
    +    free(runner);
    +}
    diff --git a/reactos/lib/expat/tests/minicheck.h b/reactos/lib/expat/tests/minicheck.h
    new file mode 100644
    index 00000000000..c8a1d5e9c28
    --- /dev/null
    +++ b/reactos/lib/expat/tests/minicheck.h
    @@ -0,0 +1,84 @@
    +/* Miniature re-implementation of the "check" library.
    + *
    + * This is intended to support just enough of check to run the Expat
    + * tests.  This interface is based entirely on the portion of the
    + * check library being used.
    + *
    + * This is *source* compatible, but not necessary *link* compatible.
    + */
    +
    +#ifdef __cplusplus
    +extern "C" {
    +#endif
    +
    +#define CK_NOFORK 0
    +#define CK_FORK   1
    +
    +#define CK_SILENT  0
    +#define CK_NORMAL  1
    +#define CK_VERBOSE 2
    +
    +#define START_TEST(testname) static void testname(void) { \
    +    _check_set_test_info(__func__, __FILE__, __LINE__);   \
    +    {
    +#define END_TEST } }
    +
    +#define fail(msg)  _fail_unless(0, __FILE__, __LINE__, msg)
    +
    +typedef void (*tcase_setup_function)(void);
    +typedef void (*tcase_teardown_function)(void);
    +typedef void (*tcase_test_function)(void);
    +
    +typedef struct SRunner SRunner;
    +typedef struct Suite Suite;
    +typedef struct TCase TCase;
    +
    +struct SRunner {
    +    Suite *suite;
    +    int forking;
    +    int nchecks;
    +    int nfailures;
    +};
    +
    +struct Suite {
    +    char *name;
    +    TCase *tests;
    +};
    +
    +struct TCase {
    +    char *name;
    +    tcase_setup_function setup;
    +    tcase_teardown_function teardown;
    +    tcase_test_function *tests;
    +    int ntests;
    +    int allocated;
    +    TCase *next_tcase;
    +};
    +
    +
    +/* Internal helper. */
    +void _check_set_test_info(char const *function,
    +                          char const *filename, int lineno);
    +
    +
    +/*
    + * Prototypes for the actual implementation.
    + */
    +
    +void _fail_unless(int condition, const char *file, int line, char *msg);
    +Suite *suite_create(char *name);
    +TCase *tcase_create(char *name);
    +void suite_add_tcase(Suite *suite, TCase *tc);
    +void tcase_add_checked_fixture(TCase *,
    +                               tcase_setup_function,
    +                               tcase_teardown_function);
    +void tcase_add_test(TCase *tc, tcase_test_function test);
    +SRunner *srunner_create(Suite *suite);
    +void srunner_set_fork_status(SRunner *runner, int forking);
    +void srunner_run_all(SRunner *runner, int verbosity);
    +int srunner_ntests_failed(SRunner *runner);
    +void srunner_free(SRunner *runner);
    +
    +#ifdef __cplusplus
    +}
    +#endif
    diff --git a/reactos/lib/expat/tests/runtests.c b/reactos/lib/expat/tests/runtests.c
    index 7df109a324e..f86b1247b00 100644
    --- a/reactos/lib/expat/tests/runtests.c
    +++ b/reactos/lib/expat/tests/runtests.c
    @@ -8,12 +8,6 @@
     #include 
     #endif
     
    -#ifdef HAVE_CHECK_H
    -#include 
    -#else
    -#error This test suite requires the 'check' unit test framework (http://check.sf.net/)
    -#endif
    -
     #include 
     #include 
     #include 
    @@ -21,6 +15,7 @@
     
     #include "expat.h"
     #include "chardata.h"
    +#include "minicheck.h"
     
     
     static XML_Parser parser;
    @@ -252,7 +247,7 @@ START_TEST(test_danish_latin1)
     {
         char *text =
             "\n"
    -        "Jørgen æøåÆØÅ";
    +        "J\xF8rgen \xE6\xF8\xE5\xC6\xD8\xC5";
         run_character_check(text,
                  "J\xC3\xB8rgen \xC3\xA6\xC3\xB8\xC3\xA5\xC3\x86\xC3\x98\xC3\x85");
     }
    @@ -383,8 +378,8 @@ START_TEST(test_latin1_umlauts)
     {
         char *text =
             "\n"
    -        "ä ö ü ä ö ü ä ö ü >";
    +        "\xE4 \xF6 \xFC ä ö ü ä ö ü >";
         char *utf8 =
             "\xC3\xA4 \xC3\xB6 \xC3\xBC "
             "\xC3\xA4 \xC3\xB6 \xC3\xBC "
    @@ -1216,7 +1211,7 @@ START_TEST(test_ns_prefix_with_empty_uri_1)
             "";
     
         expect_failure(text,
    -                   XML_ERROR_SYNTAX,
    +                   XML_ERROR_UNDECLARING_PREFIX,
                        "Did not report re-setting namespace"
                        " URI with prefix to ''.");
     }
    @@ -1230,7 +1225,7 @@ START_TEST(test_ns_prefix_with_empty_uri_2)
             "";
     
         expect_failure(text,
    -                   XML_ERROR_SYNTAX,
    +                   XML_ERROR_UNDECLARING_PREFIX,
                        "Did not report setting namespace URI with prefix to ''.");
     }
     END_TEST
    @@ -1247,7 +1242,7 @@ START_TEST(test_ns_prefix_with_empty_uri_3)
             "";
     
         expect_failure(text,
    -                   XML_ERROR_SYNTAX,
    +                   XML_ERROR_UNDECLARING_PREFIX,
                        "Didn't report attr default setting NS w/ prefix to ''.");
     }
     END_TEST
    @@ -1428,7 +1423,6 @@ main(int argc, char *argv[])
         srunner_run_all(sr, verbosity);
         nf = srunner_ntests_failed(sr);
         srunner_free(sr);
    -    suite_free(s);
     
         return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
     }
    diff --git a/reactos/lib/expat/tests/runtestspp.cpp b/reactos/lib/expat/tests/runtestspp.cpp
    new file mode 100644
    index 00000000000..c35dc583d57
    --- /dev/null
    +++ b/reactos/lib/expat/tests/runtestspp.cpp
    @@ -0,0 +1,6 @@
    +// C++ compilation harness for the test suite.
    +//
    +// This is used to ensure the Expat headers can be included from C++
    +// and have everything work as expected.
    +//
    +#include "runtests.c"
    diff --git a/reactos/lib/expat/tests/xmltest.sh b/reactos/lib/expat/tests/xmltest.sh
    index ecb16371510..725441edb69 100644
    --- a/reactos/lib/expat/tests/xmltest.sh
    +++ b/reactos/lib/expat/tests/xmltest.sh
    @@ -31,32 +31,40 @@ OUTPUT="$TS/out/"
     # OUTPUT=/home/tmp/xml-testsuite-out/
     
     
    +# RunXmlwfNotWF file reldir
    +# reldir includes trailing slash
     RunXmlwfNotWF() {
    -  $XMLWF $1 $2 > outfile || return $?
    +  file="$1"
    +  reldir="$2"
    +  $XMLWF -p "$file" > outfile || return $?
       read outdata < outfile
       if test "$outdata" = "" ; then
    -      echo "Well formed: $3$2"
    +      echo "Expected well-formed: $reldir$file"
           return 1
       else
           return 0
       fi 
     }
     
    +# RunXmlwfWF file reldir
    +# reldir includes trailing slash
     RunXmlwfWF() {
    -  $XMLWF $1 -d "$OUTPUT$3" $2 > outfile || return $?
    +  file="$1"
    +  reldir="$2"
    +  $XMLWF -p -d "$OUTPUT$reldir" "$file" > outfile || return $?
       read outdata < outfile 
       if test "$outdata" = "" ; then 
    -      if [ -f out/$2 ] ; then 
    -          diff "$OUTPUT$3$2" out/$2 > outfile 
    +      if [ -f "out/$file" ] ; then 
    +          diff "$OUTPUT$reldir$file" "out/$file" > outfile 
               if [ -s outfile ] ; then 
    -              cp outfile $OUTPUT$3${2}.diff 
    -              echo "Output differs: $3$2"
    +              cp outfile "$OUTPUT$reldir$file.diff"
    +              echo "Output differs: $reldir$file"
                   return 1
               fi 
           fi 
           return 0
       else 
    -      echo "In $3: $outdata"
    +      echo "In $reldir: $outdata"
           return 1
       fi 
     }
    @@ -64,40 +72,42 @@ RunXmlwfWF() {
     SUCCESS=0
     ERROR=0
     
    +UpdateStatus() {
    +  if [ "$1" -eq 0 ] ; then
    +    SUCCESS=`expr $SUCCESS + 1`
    +  else
    +    ERROR=`expr $ERROR + 1`
    +  fi
    +}
    +
     ##########################
     # well-formed test cases #
     ##########################
     
     cd "$TS/xmlconf"
    -for xmldir in ibm/valid/P*/ \
    -              ibm/invalid/P*/ \
    -              xmltest/valid/ext-sa/ \
    -              xmltest/valid/not-sa/ \
    -              xmltest/invalid/ \
    -              xmltest/invalid/not-sa/ \
    -              xmltest/valid/sa/ \
    -              sun/valid/ \
    -              sun/invalid/ ; do
    +for xmldir in ibm/valid/P* \
    +              ibm/invalid/P* \
    +              xmltest/valid/ext-sa \
    +              xmltest/valid/not-sa \
    +              xmltest/invalid \
    +              xmltest/invalid/not-sa \
    +              xmltest/valid/sa \
    +              sun/valid \
    +              sun/invalid ; do
       cd "$TS/xmlconf/$xmldir"
       mkdir -p "$OUTPUT$xmldir"
       for xmlfile in *.xml ; do
    -      if RunXmlwfWF -p "$xmlfile" "$xmldir" ; then
    -          SUCCESS=`expr $SUCCESS + 1`
    -      else
    -          ERROR=`expr $ERROR + 1`
    -      fi
    +      RunXmlwfWF "$xmlfile" "$xmldir/"
    +      UpdateStatus $?
       done
       rm outfile
     done
     
     cd "$TS/xmlconf/oasis"
    -mkdir -p "$OUTPUT"oasis/
    +mkdir -p "$OUTPUT"oasis
     for xmlfile in *pass*.xml ; do
    -    if RunXmlwfWF -p "$xmlfile" "oasis/" ; then
    -        SUCCESS=`expr $SUCCESS + 1`
    -    else
    -        ERROR=`expr $ERROR + 1`
    -    fi
    +    RunXmlwfWF "$xmlfile" "oasis/"
    +    UpdateStatus $?
     done
     rm outfile
     
    @@ -106,30 +116,24 @@ rm outfile
     ##############################
     
     cd "$TS/xmlconf"
    -for xmldir in ibm/not-wf/P*/ \
    -              ibm/not-wf/misc/ \
    -              xmltest/not-wf/ext-sa/ \
    -              xmltest/not-wf/not-sa/ \
    -              xmltest/not-wf/sa/ \
    -              sun/not-wf/ ; do
    +for xmldir in ibm/not-wf/P* \
    +              ibm/not-wf/misc \
    +              xmltest/not-wf/ext-sa \
    +              xmltest/not-wf/not-sa \
    +              xmltest/not-wf/sa \
    +              sun/not-wf ; do
       cd "$TS/xmlconf/$xmldir"
       for xmlfile in *.xml ; do
    -      if RunXmlwfNotWF -p "$xmlfile" "$xmldir" ; then
    -          SUCCESS=`expr $SUCCESS + 1`
    -      else
    -          ERROR=`expr $ERROR + 1`
    -      fi
    +      RunXmlwfNotWF "$xmlfile" "$xmldir/"
    +      UpdateStatus $?
       done
       rm outfile
     done
     
     cd "$TS/xmlconf/oasis"
     for xmlfile in *fail*.xml ; do
    -    if RunXmlwfNotWF -p "$xmlfile" "oasis/" ; then
    -        SUCCESS=`expr $SUCCESS + 1`
    -    else
    -        ERROR=`expr $ERROR + 1`
    -    fi
    +    RunXmlwfNotWF "$xmlfile" "oasis/"
    +    UpdateStatus $?
     done
     rm outfile
     
    diff --git a/reactos/lib/expat/win32/README.txt b/reactos/lib/expat/win32/README.txt
    index bf01dc7fdf0..b54517163a4 100644
    --- a/reactos/lib/expat/win32/README.txt
    +++ b/reactos/lib/expat/win32/README.txt
    @@ -1,6 +1,6 @@
     
     Expat can be built on Windows in three ways: 
    -  using MS Visual C++ 6, Borland C++ Builder 5 or Cygwin.
    +  using MS Visual C++ (6.0 or .NET), Borland C++ Builder 5 or Cygwin.
     
     * Cygwin:
       This follows the Unix build procedures.
    @@ -10,8 +10,12 @@ Expat can be built on Windows in three ways:
       Details can be found in the ReadMe file located there.
     
     * MS Visual C++ 6:
    -  Based on workspace (.dsw) and project files (.dsp)
    -  located in the lib subdirectory.
    +  Based on the workspace file expat.dsw. The related project
    +  files (.dsp) are located in the lib subdirectory.
    +
    +* MS Visual Studio .NET 2002, 2003:
    +  The VC++ 6 workspace file (expat.dsw) and project files (.dsp)
    +  can be opened and imported in VS.NET without problems.
     
     * Special note about MS VC++ and runtime libraries:
     
    diff --git a/reactos/lib/expat/win32/expat.iss b/reactos/lib/expat/win32/expat.iss
    index 5bb963990a1..ce764d23915 100644
    --- a/reactos/lib/expat/win32/expat.iss
    +++ b/reactos/lib/expat/win32/expat.iss
    @@ -7,15 +7,15 @@
     [Setup]
     AppName=expat
     AppId=expat
    -AppVersion=1.95.7
    -AppVerName=expat 1.95.7
    +AppVersion=1.95.8
    +AppVerName=expat 1.95.8
     AppCopyright=Copyright © 1998-2003 Thai Open Source Software Center, Clark Cooper, and the Expat maintainers
    -DefaultDirName={sd}\Expat-1.95.7
    +DefaultDirName={sd}\Expat-1.95.8
     AppPublisher=The Expat Developers
     AppPublisherURL=http://www.libexpat.org/
     AppSupportURL=http://www.libexpat.org/
     AppUpdatesURL=http://www.libexpat.org/
    -UninstallDisplayName=Expat XML Parser (version 1.95.7)
    +UninstallDisplayName=Expat XML Parser (version 1.95.8)
     UninstallFilesDir={app}\Uninstall
     
     Compression=bzip/9
    @@ -51,6 +51,7 @@ CopyMode: alwaysoverwrite; Source: lib\*.dsp;                  DestDir: "{app}\S
     CopyMode: alwaysoverwrite; Source: examples\*.c;               DestDir: "{app}\Source\examples"
     CopyMode: alwaysoverwrite; Source: examples\*.dsp;             DestDir: "{app}\Source\examples"
     CopyMode: alwaysoverwrite; Source: tests\*.c;                  DestDir: "{app}\Source\tests"
    +CopyMode: alwaysoverwrite; Source: tests\*.cpp;                DestDir: "{app}\Source\tests"
     CopyMode: alwaysoverwrite; Source: tests\*.h;                  DestDir: "{app}\Source\tests"
     CopyMode: alwaysoverwrite; Source: tests\README.txt;           DestDir: "{app}\Source\tests"
     CopyMode: alwaysoverwrite; Source: xmlwf\*.c*;                 DestDir: "{app}\Source\xmlwf"
    diff --git a/reactos/lib/expat/xmlwf/readfilemap.c b/reactos/lib/expat/xmlwf/readfilemap.c
    index 64c69850c2d..42b5e03824e 100644
    --- a/reactos/lib/expat/xmlwf/readfilemap.c
    +++ b/reactos/lib/expat/xmlwf/readfilemap.c
    @@ -8,6 +8,10 @@
     #include 
     #include 
     
    +#ifdef __BEOS__
    +#include 
    +#endif
    +
     #ifndef S_ISREG
     #ifndef S_IFREG
     #define S_IFREG _S_IFREG
    diff --git a/reactos/lib/expat/xmlwf/xmlfile.c b/reactos/lib/expat/xmlwf/xmlfile.c
    index 6cb071533c0..32c6488d78f 100644
    --- a/reactos/lib/expat/xmlwf/xmlfile.c
    +++ b/reactos/lib/expat/xmlwf/xmlfile.c
    @@ -50,7 +50,7 @@ typedef struct {
     static void
     reportError(XML_Parser parser, const XML_Char *filename)
     {
    -  int code = XML_GetErrorCode(parser);
    +  enum XML_Error code = XML_GetErrorCode(parser);
       const XML_Char *message = XML_ErrorString(code);
       if (message)
         ftprintf(stdout, T("%s:%d:%d: %s\n"),
    @@ -68,7 +68,7 @@ processFile(const void *data, size_t size,
     {
       XML_Parser parser = ((PROCESS_ARGS *)args)->parser;
       int *retPtr = ((PROCESS_ARGS *)args)->retPtr;
    -  if (XML_Parse(parser, data, size, 1) == XML_STATUS_ERROR) {
    +  if (XML_Parse(parser, (const char *)data, size, 1) == XML_STATUS_ERROR) {
         reportError(parser, filename);
         *retPtr = 0;
       }
    @@ -154,7 +154,7 @@ processStream(const XML_Char *filename, XML_Parser parser)
       }
       for (;;) {
         int nread;
    -    char *buf = XML_GetBuffer(parser, READ_SIZE);
    +    char *buf = (char *)XML_GetBuffer(parser, READ_SIZE);
         if (!buf) {
           if (filename != NULL)
             close(fd);
    diff --git a/reactos/lib/expat/xmlwf/xmlwf.c b/reactos/lib/expat/xmlwf/xmlwf.c
    index 94798753b7b..eae180e746e 100644
    --- a/reactos/lib/expat/xmlwf/xmlwf.c
    +++ b/reactos/lib/expat/xmlwf/xmlwf.c
    @@ -23,7 +23,7 @@
     static void XMLCALL
     characterData(void *userData, const XML_Char *s, int len)
     {
    -  FILE *fp = userData;
    +  FILE *fp = (FILE *)userData;
       for (; len > 0; --len, ++s) {
         switch (*s) {
         case T('&'):
    @@ -118,7 +118,7 @@ startElement(void *userData, const XML_Char *name, const XML_Char **atts)
     {
       int nAtts;
       const XML_Char **p;
    -  FILE *fp = userData;
    +  FILE *fp = (FILE *)userData;
       puttc(T('<'), fp);
       fputts(name, fp);
     
    @@ -140,7 +140,7 @@ startElement(void *userData, const XML_Char *name, const XML_Char **atts)
     static void XMLCALL
     endElement(void *userData, const XML_Char *name)
     {
    -  FILE *fp = userData;
    +  FILE *fp = (FILE *)userData;
       puttc(T('<'), fp);
       puttc(T('/'), fp);
       fputts(name, fp);
    @@ -165,7 +165,7 @@ startElementNS(void *userData, const XML_Char *name, const XML_Char **atts)
       int nAtts;
       int nsi;
       const XML_Char **p;
    -  FILE *fp = userData;
    +  FILE *fp = (FILE *)userData;
       const XML_Char *sep;
       puttc(T('<'), fp);
     
    @@ -211,7 +211,7 @@ startElementNS(void *userData, const XML_Char *name, const XML_Char **atts)
     static void XMLCALL
     endElementNS(void *userData, const XML_Char *name)
     {
    -  FILE *fp = userData;
    +  FILE *fp = (FILE *)userData;
       const XML_Char *sep;
       puttc(T('<'), fp);
       puttc(T('/'), fp);
    @@ -231,7 +231,7 @@ static void XMLCALL
     processingInstruction(void *userData, const XML_Char *target,
                           const XML_Char *data)
     {
    -  FILE *fp = userData;
    +  FILE *fp = (FILE *)userData;
       puttc(T('<'), fp);
       puttc(T('?'), fp);
       fputts(target, fp);
    @@ -293,7 +293,7 @@ nopProcessingInstruction(void *userData, const XML_Char *target,
     static void XMLCALL
     markup(void *userData, const XML_Char *s, int len)
     {
    -  FILE *fp = XML_GetUserData((XML_Parser) userData);
    +  FILE *fp = (FILE *)XML_GetUserData((XML_Parser) userData);
       for (; len > 0; --len, ++s)
         puttc(*s, fp);
     }
    @@ -303,8 +303,8 @@ metaLocation(XML_Parser parser)
     {
       const XML_Char *uri = XML_GetBase(parser);
       if (uri)
    -    ftprintf(XML_GetUserData(parser), T(" uri=\"%s\""), uri);
    -  ftprintf(XML_GetUserData(parser),
    +    ftprintf((FILE *)XML_GetUserData(parser), T(" uri=\"%s\""), uri);
    +  ftprintf((FILE *)XML_GetUserData(parser),
                T(" byte=\"%ld\" nbytes=\"%d\" line=\"%d\" col=\"%d\""),
                XML_GetCurrentByteIndex(parser),
                XML_GetCurrentByteCount(parser),
    @@ -315,13 +315,13 @@ metaLocation(XML_Parser parser)
     static void
     metaStartDocument(void *userData)
     {
    -  fputts(T("\n"), XML_GetUserData((XML_Parser) userData));
    +  fputts(T("\n"), (FILE *)XML_GetUserData((XML_Parser) userData));
     }
     
     static void
     metaEndDocument(void *userData)
     {
    -  fputts(T("\n"), XML_GetUserData((XML_Parser) userData));
    +  fputts(T("\n"), (FILE *)XML_GetUserData((XML_Parser) userData));
     }
     
     static void XMLCALL
    @@ -329,7 +329,7 @@ metaStartElement(void *userData, const XML_Char *name,
                      const XML_Char **atts)
     {
       XML_Parser parser = (XML_Parser) userData;
    -  FILE *fp = XML_GetUserData(parser);
    +  FILE *fp = (FILE *)XML_GetUserData(parser);
       const XML_Char **specifiedAttsEnd
         = atts + XML_GetSpecifiedAttributeCount(parser);
       const XML_Char **idAttPtr;
    @@ -363,7 +363,7 @@ static void XMLCALL
     metaEndElement(void *userData, const XML_Char *name)
     {
       XML_Parser parser = (XML_Parser) userData;
    -  FILE *fp = XML_GetUserData(parser);
    +  FILE *fp = (FILE *)XML_GetUserData(parser);
       ftprintf(fp, T("\n"), fp);
    @@ -374,7 +374,7 @@ metaProcessingInstruction(void *userData, const XML_Char *target,
                               const XML_Char *data)
     {
       XML_Parser parser = (XML_Parser) userData;
    -  FILE *fp = XML_GetUserData(parser);
    +  FILE *fp = (FILE *)XML_GetUserData(parser);
       ftprintf(fp, T("\n"), fp);
    @@ -408,7 +408,7 @@ static void XMLCALL
     metaEndCdataSection(void *userData)
     {
       XML_Parser parser = (XML_Parser) userData;
    -  FILE *fp = XML_GetUserData(parser);
    +  FILE *fp = (FILE *)XML_GetUserData(parser);
       fputts(T("\n"), fp);
    @@ -418,7 +418,7 @@ static void XMLCALL
     metaCharacterData(void *userData, const XML_Char *s, int len)
     {
       XML_Parser parser = (XML_Parser) userData;
    -  FILE *fp = XML_GetUserData(parser);
    +  FILE *fp = (FILE *)XML_GetUserData(parser);
       fputts(T("\n"), fp);
    @@ -444,7 +444,7 @@ static void XMLCALL
     metaEndDoctypeDecl(void *userData)
     {
       XML_Parser parser = (XML_Parser) userData;
    -  FILE *fp = XML_GetUserData(parser);
    +  FILE *fp = (FILE *)XML_GetUserData(parser);
       fputts(T("\n"), fp);
    @@ -458,7 +458,7 @@ metaNotationDecl(void *userData,
                      const XML_Char *publicId)
     {
       XML_Parser parser = (XML_Parser) userData;
    -  FILE *fp = XML_GetUserData(parser);
    +  FILE *fp = (FILE *)XML_GetUserData(parser);
       ftprintf(fp, T("\n"), fp);
       else
    @@ -645,7 +645,8 @@ tmain(int argc, XML_Char **argv)
       int outputType = 0;
       int useNamespaces = 0;
       int requireStandalone = 0;
    -  int paramEntityParsing = XML_PARAM_ENTITY_PARSING_NEVER;
    +  enum XML_ParamEntityParsing paramEntityParsing = 
    +    XML_PARAM_ENTITY_PARSING_NEVER;
       int useStdin = 0;
     
     #ifdef _MSC_VER
    @@ -773,7 +774,7 @@ tmain(int argc, XML_Char **argv)
           if (tcsrchr(file, T('\\')))
             file = tcsrchr(file, T('\\')) + 1;
     #endif
    -      outName = malloc((tcslen(outputDir) + tcslen(file) + 2)
    +      outName = (XML_Char *)malloc((tcslen(outputDir) + tcslen(file) + 2)
                            * sizeof(XML_Char));
           tcscpy(outName, outputDir);
           tcscat(outName, T("/"));
    diff --git a/reactos/lib/expat/xmlwf/xmlwf.dsp b/reactos/lib/expat/xmlwf/xmlwf.dsp
    index a639bc61208..f9e7f54249c 100644
    --- a/reactos/lib/expat/xmlwf/xmlwf.dsp
    +++ b/reactos/lib/expat/xmlwf/xmlwf.dsp
    @@ -1,139 +1,139 @@
    -# Microsoft Developer Studio Project File - Name="xmlwf" - Package Owner=<4>
    -# Microsoft Developer Studio Generated Build File, Format Version 6.00
    -# ** DO NOT EDIT **
    -
    -# TARGTYPE "Win32 (x86) Console Application" 0x0103
    -
    -CFG=xmlwf - Win32 Release
    -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    -!MESSAGE use the Export Makefile command and run
    -!MESSAGE 
    -!MESSAGE NMAKE /f "xmlwf.mak".
    -!MESSAGE 
    -!MESSAGE You can specify a configuration when running NMAKE
    -!MESSAGE by defining the macro CFG on the command line. For example:
    -!MESSAGE 
    -!MESSAGE NMAKE /f "xmlwf.mak" CFG="xmlwf - Win32 Release"
    -!MESSAGE 
    -!MESSAGE Possible choices for configuration are:
    -!MESSAGE 
    -!MESSAGE "xmlwf - Win32 Release" (based on "Win32 (x86) Console Application")
    -!MESSAGE "xmlwf - Win32 Debug" (based on "Win32 (x86) Console Application")
    -!MESSAGE 
    -
    -# Begin Project
    -# PROP AllowPerConfigDependencies 0
    -# PROP Scc_ProjName ""
    -# PROP Scc_LocalPath ""
    -CPP=cl.exe
    -RSC=rc.exe
    -
    -!IF  "$(CFG)" == "xmlwf - Win32 Release"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 0
    -# PROP BASE Output_Dir ".\Release"
    -# PROP BASE Intermediate_Dir ".\Release"
    -# PROP BASE Target_Dir "."
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 0
    -# PROP Output_Dir ".\Release"
    -# PROP Intermediate_Dir ".\Release"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir "."
    -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
    -# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "COMPILED_FROM_DSP" /FD /c
    -# SUBTRACT CPP /YX /Yc /Yu
    -# ADD BASE RSC /l 0x809 /d "NDEBUG"
    -# ADD RSC /l 0x409 /d "NDEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    -# ADD LINK32 setargv.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"Release\xmlwf.exe"
    -# SUBTRACT LINK32 /nodefaultlib
    -
    -!ELSEIF  "$(CFG)" == "xmlwf - Win32 Debug"
    -
    -# PROP BASE Use_MFC 0
    -# PROP BASE Use_Debug_Libraries 1
    -# PROP BASE Output_Dir ".\Debug"
    -# PROP BASE Intermediate_Dir ".\Debug"
    -# PROP BASE Target_Dir "."
    -# PROP Use_MFC 0
    -# PROP Use_Debug_Libraries 1
    -# PROP Output_Dir ".\Debug"
    -# PROP Intermediate_Dir ".\Debug"
    -# PROP Ignore_Export_Lib 0
    -# PROP Target_Dir "."
    -# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
    -# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\lib" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "COMPILED_FROM_DSP" /FD /c
    -# SUBTRACT CPP /Fr /YX
    -# ADD BASE RSC /l 0x809 /d "_DEBUG"
    -# ADD RSC /l 0x409 /d "_DEBUG"
    -BSC32=bscmake.exe
    -# ADD BASE BSC32 /nologo
    -# ADD BSC32 /nologo
    -LINK32=link.exe
    -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
    -# ADD LINK32 setargv.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"Debug\xmlwf.exe"
    -
    -!ENDIF 
    -
    -# Begin Target
    -
    -# Name "xmlwf - Win32 Release"
    -# Name "xmlwf - Win32 Debug"
    -# Begin Group "Source Files"
    -
    -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
    -# Begin Source File
    -
    -SOURCE=.\codepage.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\readfilemap.c
    -# PROP Exclude_From_Build 1
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\unixfilemap.c
    -# PROP Exclude_From_Build 1
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\win32filemap.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlfile.c
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlwf.c
    -# End Source File
    -# End Group
    -# Begin Group "Header Files"
    -
    -# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
    -# Begin Source File
    -
    -SOURCE=.\codepage.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmlfile.h
    -# End Source File
    -# Begin Source File
    -
    -SOURCE=.\xmltchar.h
    -# End Source File
    -# End Group
    -# Begin Group "Resource Files"
    -
    -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
    -# End Group
    -# End Target
    -# End Project
    +# Microsoft Developer Studio Project File - Name="xmlwf" - Package Owner=<4>
    +# Microsoft Developer Studio Generated Build File, Format Version 6.00
    +# ** DO NOT EDIT **
    +
    +# TARGTYPE "Win32 (x86) Console Application" 0x0103
    +
    +CFG=xmlwf - Win32 Release
    +!MESSAGE This is not a valid makefile. To build this project using NMAKE,
    +!MESSAGE use the Export Makefile command and run
    +!MESSAGE 
    +!MESSAGE NMAKE /f "xmlwf.mak".
    +!MESSAGE 
    +!MESSAGE You can specify a configuration when running NMAKE
    +!MESSAGE by defining the macro CFG on the command line. For example:
    +!MESSAGE 
    +!MESSAGE NMAKE /f "xmlwf.mak" CFG="xmlwf - Win32 Release"
    +!MESSAGE 
    +!MESSAGE Possible choices for configuration are:
    +!MESSAGE 
    +!MESSAGE "xmlwf - Win32 Release" (based on "Win32 (x86) Console Application")
    +!MESSAGE "xmlwf - Win32 Debug" (based on "Win32 (x86) Console Application")
    +!MESSAGE 
    +
    +# Begin Project
    +# PROP AllowPerConfigDependencies 0
    +# PROP Scc_ProjName ""
    +# PROP Scc_LocalPath ""
    +CPP=cl.exe
    +RSC=rc.exe
    +
    +!IF  "$(CFG)" == "xmlwf - Win32 Release"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 0
    +# PROP BASE Output_Dir ".\Release"
    +# PROP BASE Intermediate_Dir ".\Release"
    +# PROP BASE Target_Dir "."
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 0
    +# PROP Output_Dir ".\Release"
    +# PROP Intermediate_Dir ".\Release"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir "."
    +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
    +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "COMPILED_FROM_DSP" /FD /c
    +# SUBTRACT CPP /YX /Yc /Yu
    +# ADD BASE RSC /l 0x809 /d "NDEBUG"
    +# ADD RSC /l 0x409 /d "NDEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
    +# ADD LINK32 setargv.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"Release\xmlwf.exe"
    +# SUBTRACT LINK32 /nodefaultlib
    +
    +!ELSEIF  "$(CFG)" == "xmlwf - Win32 Debug"
    +
    +# PROP BASE Use_MFC 0
    +# PROP BASE Use_Debug_Libraries 1
    +# PROP BASE Output_Dir ".\Debug"
    +# PROP BASE Intermediate_Dir ".\Debug"
    +# PROP BASE Target_Dir "."
    +# PROP Use_MFC 0
    +# PROP Use_Debug_Libraries 1
    +# PROP Output_Dir ".\Debug"
    +# PROP Intermediate_Dir ".\Debug"
    +# PROP Ignore_Export_Lib 0
    +# PROP Target_Dir "."
    +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
    +# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\lib" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "COMPILED_FROM_DSP" /FD /c
    +# SUBTRACT CPP /Fr /YX
    +# ADD BASE RSC /l 0x809 /d "_DEBUG"
    +# ADD RSC /l 0x409 /d "_DEBUG"
    +BSC32=bscmake.exe
    +# ADD BASE BSC32 /nologo
    +# ADD BSC32 /nologo
    +LINK32=link.exe
    +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
    +# ADD LINK32 setargv.obj kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"Debug\xmlwf.exe"
    +
    +!ENDIF 
    +
    +# Begin Target
    +
    +# Name "xmlwf - Win32 Release"
    +# Name "xmlwf - Win32 Debug"
    +# Begin Group "Source Files"
    +
    +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
    +# Begin Source File
    +
    +SOURCE=.\codepage.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\readfilemap.c
    +# PROP Exclude_From_Build 1
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\unixfilemap.c
    +# PROP Exclude_From_Build 1
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\win32filemap.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlfile.c
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlwf.c
    +# End Source File
    +# End Group
    +# Begin Group "Header Files"
    +
    +# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
    +# Begin Source File
    +
    +SOURCE=.\codepage.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmlfile.h
    +# End Source File
    +# Begin Source File
    +
    +SOURCE=.\xmltchar.h
    +# End Source File
    +# End Group
    +# Begin Group "Resource Files"
    +
    +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
    +# End Group
    +# End Target
    +# End Project
    diff --git a/reactos/lib/expat/xmlwf/xmlwf.vcproj b/reactos/lib/expat/xmlwf/xmlwf.vcproj
    new file mode 100644
    index 00000000000..98a5cf29371
    --- /dev/null
    +++ b/reactos/lib/expat/xmlwf/xmlwf.vcproj
    @@ -0,0 +1,274 @@
    +
    +
    +	
    +		
    +	
    +	
    +		
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +		
    +		
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +			
    +		
    +	
    +	
    +	
    +	
    +		
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +			
    +				
    +					
    +				
    +				
    +					
    +				
    +			
    +		
    +		
    +			
    +			
    +			
    +			
    +			
    +			
    +		
    +		
    +		
    +	
    +	
    +	
    +
    diff --git a/reactos/lib/freetype/freetype.rc b/reactos/lib/freetype/freetype.rc
    index 19fab2a2b07..02ec721603e 100644
    --- a/reactos/lib/freetype/freetype.rc
    +++ b/reactos/lib/freetype/freetype.rc
    @@ -3,5 +3,6 @@
     #define REACTOS_STR_INTERNAL_NAME	"freetype\0"
     #define REACTOS_STR_ORIGINAL_FILENAME	"freetype.dll\0"
     #define REACTOS_STR_COMPANY_NAME	"ReactOS Development Team/FreeType Team\0"
    -#define REACTOS_STR_LEGAL_COPYRIGHT	"Copyright 1998-2004 ReactOS Team, 1996-2004 FreeType Team\0"
    +#define REACTOS_STR_LEGAL_COPYRIGHT	"Copyright 1998-2005 ReactOS Team\0"
    +#define REACTOS_STR_ORIGINAL_COPYRIGHT	"Copyright 1996-2005 FreeType Team\0"
     #include 
    diff --git a/reactos/lib/gdi32/gdi32.def b/reactos/lib/gdi32/gdi32.def
    index dd78ff6da07..fcf7a82aa6d 100644
    --- a/reactos/lib/gdi32/gdi32.def
    +++ b/reactos/lib/gdi32/gdi32.def
    @@ -358,7 +358,7 @@ GetMiterLimit@8
     GetNearestColor@8=NtGdiGetNearestColor@8
     GetNearestPaletteIndex@8=NtGdiGetNearestPaletteIndex@8
     GetObjectA@12
    -GetObjectType@4=NtGdiGetObjectType@4
    +GetObjectType@4
     GetObjectW@12
     GetOutlineTextMetricsA@12
     GetOutlineTextMetricsW@12
    @@ -560,4 +560,3 @@ bInitSystemAndFontsDirectoriesW@8
     bMakePathNameW@16
     ;cGetTTFFromFOT
     gdiPlaySpoolStream@24
    -
    \ No newline at end of file
    diff --git a/reactos/lib/gdi32/include/precomp.h b/reactos/lib/gdi32/include/precomp.h
    index 1d95489956c..141f82ceb03 100644
    --- a/reactos/lib/gdi32/include/precomp.h
    +++ b/reactos/lib/gdi32/include/precomp.h
    @@ -9,9 +9,6 @@
     #define NTOS_MODE_USER
     #include 
     
    -#define NtGdiQueryTable() \
    -  (PGDI_TABLE_ENTRY)NtUserCallNoParam(NOPARAM_ROUTINE_GDI_QUERY_TABLE)
    -
     #define NtUserGetDCBrushColor(hbr) \
       (COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_BRUSH, TWOPARAM_ROUTINE_GETDCCOLOR)
     
    @@ -39,6 +36,7 @@ typedef CHWIDTHINFO *PCHWIDTHINFO;
     
     extern PGDI_TABLE_ENTRY GdiHandleTable;
     extern HANDLE hProcessHeap;
    +extern HANDLE CurrentProcessId;
     
     /* == HEAP ================================================================== */
     
    @@ -52,4 +50,8 @@ BOOL FASTCALL TextMetricW2A(TEXTMETRICA *tma, TEXTMETRICW *tmw);
     BOOL FASTCALL NewTextMetricW2A(NEWTEXTMETRICA *tma, NEWTEXTMETRICW *tmw);
     BOOL FASTCALL NewTextMetricExW2A(NEWTEXTMETRICEXA *tma, NEWTEXTMETRICEXW *tmw);
     
    +/* == GDI HANDLES =========================================================== */
    +BOOL GdiIsHandleValid(HGDIOBJ hGdiObj);
    +BOOL GdiGetHandleUserData(HGDIOBJ hGdiObj, PVOID *UserData);
    +
     /* EOF */
    diff --git a/reactos/lib/gdi32/main/dllmain.c b/reactos/lib/gdi32/main/dllmain.c
    index 3eb99ed3e73..229c8117df9 100644
    --- a/reactos/lib/gdi32/main/dllmain.c
    +++ b/reactos/lib/gdi32/main/dllmain.c
    @@ -32,7 +32,8 @@ GdiProcessSetup (VOID)
     	hProcessHeap = GetProcessHeap();
     
             /* map the gdi handle table to user space */
    -	GdiHandleTable = NtGdiQueryTable();
    +	GdiHandleTable = NtCurrentTeb()->Peb->GdiSharedHandleTable;
    +	CurrentProcessId = NtCurrentTeb()->Cid.UniqueProcess;
     }
     
     
    diff --git a/reactos/lib/gdi32/misc/misc.c b/reactos/lib/gdi32/misc/misc.c
    index 97a99d455b2..ee76fadb58a 100644
    --- a/reactos/lib/gdi32/misc/misc.c
    +++ b/reactos/lib/gdi32/misc/misc.c
    @@ -29,6 +29,7 @@
     #include "precomp.h"
     
     PGDI_TABLE_ENTRY GdiHandleTable = NULL;
    +HANDLE CurrentProcessId = NULL;
     
     /*
      * @implemented
    @@ -39,3 +40,32 @@ GdiQueryTable(VOID)
     {
       return (PVOID)GdiHandleTable;
     }
    +
    +BOOL GdiIsHandleValid(HGDIOBJ hGdiObj)
    +{
    +  PGDI_TABLE_ENTRY Entry = GdiHandleTable + GDI_HANDLE_GET_INDEX(hGdiObj);
    +  if(Entry->KernelData != NULL && (Entry->Type & GDI_HANDLE_TYPE_MASK) == GDI_HANDLE_GET_TYPE(hGdiObj))
    +  {
    +    HANDLE pid = (HANDLE)((ULONG_PTR)Entry->ProcessId & ~0x1);
    +    if(pid == NULL || pid == CurrentProcessId)
    +    {
    +      return TRUE;
    +    }
    +  }
    +  return FALSE;
    +}
    +
    +BOOL GdiGetHandleUserData(HGDIOBJ hGdiObj, PVOID *UserData)
    +{
    +  PGDI_TABLE_ENTRY Entry = GdiHandleTable + GDI_HANDLE_GET_INDEX(hGdiObj);
    +  if(Entry->KernelData != NULL && (Entry->Type & GDI_HANDLE_TYPE_MASK) == GDI_HANDLE_GET_TYPE(hGdiObj))
    +  {
    +    HANDLE pid = (HANDLE)((ULONG_PTR)Entry->ProcessId & ~0x1);
    +    if(pid == NULL || pid == CurrentProcessId)
    +    {
    +      *UserData = Entry->UserData;
    +      return TRUE;
    +    }
    +  }
    +  return FALSE;
    +}
    diff --git a/reactos/lib/gdi32/objects/dc.c b/reactos/lib/gdi32/objects/dc.c
    index 243a05d1d6b..476aa3ad9e2 100644
    --- a/reactos/lib/gdi32/objects/dc.c
    +++ b/reactos/lib/gdi32/objects/dc.c
    @@ -193,12 +193,14 @@ BOOL
     STDCALL
     DeleteObject(HGDIOBJ hObject)
     {
    -  if (0 != ((DWORD) hObject & 0x00800000))
    +  if (0 != ((DWORD) hObject & GDI_HANDLE_STOCK_MASK))
         {
           DPRINT1("Trying to delete system object 0x%x\n", hObject);
           return TRUE;
         }
     
    +  /* deleting a handle that doesn't belong to the caller should be rather rarely
    +     so for the sake of speed just try to delete it without checking validity */
       return NtGdiDeleteObject(hObject);
     }
     
    @@ -400,3 +402,69 @@ StartDocW(
     {
     	return NtGdiStartDoc ( hdc, (DOCINFOW *)a1 );
     }
    +
    +
    +/*
    + * @implemented
    + */
    +DWORD
    +STDCALL
    +GetObjectType(
    +	HGDIOBJ h
    +	)
    +{
    +  DWORD Ret = 0;
    +  
    +  if(GdiIsHandleValid(h))
    +  {
    +    LONG Type = GDI_HANDLE_GET_TYPE(h);
    +    switch(Type)
    +    {
    +      case GDI_OBJECT_TYPE_PEN:
    +        Ret = OBJ_PEN;
    +        break;
    +      case GDI_OBJECT_TYPE_BRUSH:
    +        Ret = OBJ_BRUSH;
    +        break;
    +      case GDI_OBJECT_TYPE_BITMAP:
    +        Ret = OBJ_BITMAP;
    +        break;
    +      case GDI_OBJECT_TYPE_FONT:
    +        Ret = OBJ_FONT;
    +        break;
    +      case GDI_OBJECT_TYPE_PALETTE:
    +        Ret = OBJ_PAL;
    +        break;
    +      case GDI_OBJECT_TYPE_REGION:
    +        Ret = OBJ_REGION;
    +        break;
    +      case GDI_OBJECT_TYPE_DC:
    +        Ret = OBJ_DC;
    +        break;
    +      case GDI_OBJECT_TYPE_METADC:
    +        Ret = OBJ_METADC;
    +        break;
    +      case GDI_OBJECT_TYPE_METAFILE:
    +        Ret = OBJ_METAFILE;
    +        break;
    +      case GDI_OBJECT_TYPE_ENHMETAFILE:
    +        Ret = OBJ_ENHMETAFILE;
    +        break;
    +      case GDI_OBJECT_TYPE_ENHMETADC:
    +        Ret = OBJ_ENHMETADC;
    +        break;
    +      case GDI_OBJECT_TYPE_EXTPEN:
    +        Ret = OBJ_EXTPEN;
    +        break;
    +      case GDI_OBJECT_TYPE_MEMDC:
    +        Ret = OBJ_MEMDC;
    +        break;
    +
    +      default:
    +        DPRINT1("GetObjectType: Magic 0x%08x not implemented\n", Type);
    +        break;
    +    }
    +  }
    +
    +  return Ret;
    +}
    diff --git a/reactos/lib/kernel32/file/file.c b/reactos/lib/kernel32/file/file.c
    index 5922ac6d99f..0c3eb45a3c7 100644
    --- a/reactos/lib/kernel32/file/file.c
    +++ b/reactos/lib/kernel32/file/file.c
    @@ -731,7 +731,7 @@ GetFileAttributesExW(LPCWSTR lpFileName,
       RtlFreeUnicodeString (&FileName);
       if (!NT_SUCCESS (Status))
         {
    -      DPRINT1 ("NtOpenFile() failed  %x (Status %lx)\n", &ObjectAttributes, Status);
    +      DPRINT ("NtOpenFile() failed  %x (Status %lx)\n", &ObjectAttributes, Status);
           SetLastErrorByStatus (Status);
           return FALSE;
         }
    diff --git a/reactos/lib/kernel32/file/npipe.c b/reactos/lib/kernel32/file/npipe.c
    index 32a8e7d8cb9..687888b1baa 100644
    --- a/reactos/lib/kernel32/file/npipe.c
    +++ b/reactos/lib/kernel32/file/npipe.c
    @@ -330,6 +330,9 @@ ConnectNamedPipe(HANDLE hNamedPipe,
     			   0,
     			   NULL,
     			   0);
    +  if ((lpOverlapped != NULL) && (Status == STATUS_PENDING))
    +    return TRUE;
    +
       if ((lpOverlapped == NULL) && (Status == STATUS_PENDING))
         {
           Status = NtWaitForSingleObject(hNamedPipe,
    @@ -338,17 +341,19 @@ ConnectNamedPipe(HANDLE hNamedPipe,
           if (!NT_SUCCESS(Status))
     	{
     	  SetLastErrorByStatus(Status);
    -	  return(FALSE);
    +	  return FALSE;
     	}
           Status = Iosb.Status;
         }
    +
       if ((!NT_SUCCESS(Status) && Status != STATUS_PIPE_CONNECTED) ||
           (Status == STATUS_PENDING))
         {
           SetLastErrorByStatus(Status);
    -      return(FALSE);
    +      return FALSE;
         }
    -  return(TRUE);
    +
    +  return TRUE;
     }
     
     
    diff --git a/reactos/lib/kernel32/misc/env.c b/reactos/lib/kernel32/misc/env.c
    index 7acbe336225..239448f782c 100644
    --- a/reactos/lib/kernel32/misc/env.c
    +++ b/reactos/lib/kernel32/misc/env.c
    @@ -226,21 +226,21 @@ DWORD
     STDCALL
     GetVersion(VOID)
     {
    - PPEB pPeb = NtCurrentPeb();
    - DWORD nVersion;
    +  PPEB pPeb = NtCurrentPeb();
    +  DWORD nVersion;
     
    - nVersion = MAKEWORD(pPeb->OSMajorVersion, pPeb->OSMinorVersion);
    +  nVersion = MAKEWORD(pPeb->OSMajorVersion, pPeb->OSMinorVersion);
     
    - /* behave consistently when posing as another operating system */
    - /* build number */
    - if(pPeb->OSPlatformId != VER_PLATFORM_WIN32_WINDOWS)
    -  nVersion |= ((DWORD)(pPeb->OSBuildNumber)) << 16;
    +  /* behave consistently when posing as another operating system */
    +  /* build number */
    +  if(pPeb->OSPlatformId != VER_PLATFORM_WIN32_WINDOWS)
    +    nVersion |= ((DWORD)(pPeb->OSBuildNumber)) << 16;
      
    - /* non-NT platform flag */
    - if(pPeb->OSPlatformId != VER_PLATFORM_WIN32_NT)
    -  nVersion |= 0x80000000;
    +  /* non-NT platform flag */
    +  if(pPeb->OSPlatformId != VER_PLATFORM_WIN32_NT)
    +    nVersion |= 0x80000000;
     
    - return nVersion;
    +  return nVersion;
     }
     
     
    @@ -253,67 +253,44 @@ GetVersionExW(
         LPOSVERSIONINFOW lpVersionInformation
         )
     {
    - PPEB pPeb = NtCurrentPeb();
    - WCHAR *RosVersion;
    -
    - /* TODO: move this into RtlGetVersion */
    - switch(lpVersionInformation->dwOSVersionInfoSize)
    - {
    -  case sizeof(OSVERSIONINFOEXW):
    +  NTSTATUS Status;
    +  
    +  if(lpVersionInformation->dwOSVersionInfoSize != sizeof(OSVERSIONINFOW) &&
    +     lpVersionInformation->dwOSVersionInfoSize != sizeof(OSVERSIONINFOEXW))
       {
    -   LPOSVERSIONINFOEXW lpVersionInformationEx =
    -    (LPOSVERSIONINFOEXW)lpVersionInformation;
    -
    -   lpVersionInformationEx->wServicePackMajor = pPeb->SPMajorVersion;
    -   lpVersionInformationEx->wServicePackMinor = pPeb->SPMinorVersion;
    -   /* TODO: read from the KUSER_SHARED_DATA */
    -   lpVersionInformationEx->wSuiteMask = 0;
    -   /* TODO: call RtlGetNtProductType */
    -   lpVersionInformationEx->wProductType = 0;
    -   /* ??? */
    -   lpVersionInformationEx->wReserved = 0;
    -   /* fall through */
    +    /* for some reason win sets ERROR_INSUFFICIENT_BUFFER even if it is large
    +       enough but doesn't match the exact sizes supported, ERROR_INVALID_PARAMETER
    +       would've been much more appropriate... */
    +    SetLastError(ERROR_INSUFFICIENT_BUFFER);
    +    return FALSE;
       }
     
    -  case sizeof(OSVERSIONINFOW):
    +  Status = RtlGetVersion((PRTL_OSVERSIONINFOW)lpVersionInformation);
    +  if(NT_SUCCESS(Status))
       {
    -   lpVersionInformation->dwMajorVersion = pPeb->OSMajorVersion;
    -   lpVersionInformation->dwMinorVersion = pPeb->OSMinorVersion;
    -   lpVersionInformation->dwBuildNumber = pPeb->OSBuildNumber;
    -   lpVersionInformation->dwPlatformId = pPeb->OSPlatformId;
    +    int ln, maxlen;
    +    
    +    /* append a reactos specific string to the szCSDVersion string */
     
    -   /* First the Windows compatible string */
    -   _snwprintf(lpVersionInformation->szCSDVersion,
    -              sizeof(lpVersionInformation->szCSDVersion) / sizeof(WCHAR),
    -              L"Service Pack %u", pPeb->SPMajorVersion);
    -   /* Add the Reactos-specific string */
    -   RosVersion = lpVersionInformation->szCSDVersion + wcslen(lpVersionInformation->szCSDVersion) + 1;
    -   wcsncpy
    -   (
    -    RosVersion,
    -    L"ReactOS " KERNEL_VERSION_STR L" (Build " KERNEL_VERSION_BUILD_STR L")",
    -    sizeof(lpVersionInformation->szCSDVersion) / sizeof(WCHAR) -
    -    ((RosVersion - lpVersionInformation->szCSDVersion) + 1)
    -   );
    +    /* FIXME - we shouldn't do this when there is a (ros-specific) compatibility
    +               flag set so we don't screw applications that might depend on a
    +               certain string */
     
    -   /* null-terminate, just in case */
    -   lpVersionInformation->szCSDVersion
    -   [
    -    sizeof(lpVersionInformation->szCSDVersion) / sizeof(WCHAR) - 1
    -   ] = 0;
    -
    -   break;
    +    ln = wcslen(lpVersionInformation->szCSDVersion) + 1;
    +    maxlen = (sizeof(lpVersionInformation->szCSDVersion) / sizeof(lpVersionInformation->szCSDVersion[0]) - 1);
    +    if(maxlen > ln)
    +    {
    +      PWCHAR szVer = lpVersionInformation->szCSDVersion + ln;
    +      RtlZeroMemory(szVer, (maxlen - ln + 1) * sizeof(WCHAR));
    +      wcsncpy(szVer,
    +              L"ReactOS " KERNEL_VERSION_STR L" (Build " KERNEL_VERSION_BUILD_STR L")",
    +              maxlen - ln);
    +    }
    +    
    +    return TRUE;
       }
     
    -  default:
    -  {
    -   /* unknown version information revision */
    -   SetLastError(ERROR_INSUFFICIENT_BUFFER);
    -   return FALSE;
    -  }
    - }
    - 
    - return TRUE;
    +  return FALSE;
     }
     
     
    @@ -326,111 +303,72 @@ GetVersionExA(
         LPOSVERSIONINFOA lpVersionInformation
         )
     {
    - NTSTATUS nErrCode;
    - OSVERSIONINFOEXW oviVerInfo;
    - LPOSVERSIONINFOEXA lpVersionInformationEx;
    -
    - /* UNICODE_STRING descriptor of the Unicode version string */
    - UNICODE_STRING wstrVerStr =
    - {
    -  /*
    -   gives extra work to RtlUnicodeStringToAnsiString, but spares us an
    -   RtlInitUnicodeString round
    -  */
    -  0,
    -  sizeof(((LPOSVERSIONINFOW)NULL)->szCSDVersion),
    -  oviVerInfo.szCSDVersion
    - };
    -
    - /* ANSI_STRING descriptor of the ANSI version string buffer */
    - ANSI_STRING strVerStr =
    - {
    -  0,
    -  sizeof(((LPOSVERSIONINFOA)NULL)->szCSDVersion),
    -  lpVersionInformation->szCSDVersion
    - };
    -
    - switch(lpVersionInformation->dwOSVersionInfoSize)
    - {
    -  case sizeof(OSVERSIONINFOEXA):
    +  OSVERSIONINFOEXW viw;
    +  
    +  RtlZeroMemory(&viw, sizeof(viw));
    +  
    +  switch(lpVersionInformation->dwOSVersionInfoSize)
       {
    -   oviVerInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
    -   break;
    -  }
    +    case sizeof(OSVERSIONINFOA):
    +      viw.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW);
    +      break;
     
    -  case sizeof(OSVERSIONINFOA):
    +    case sizeof(OSVERSIONINFOEXA):
    +      viw.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
    +      break;
    +
    +    default:
    +      /* for some reason win sets ERROR_INSUFFICIENT_BUFFER even if it is large
    +         enough but doesn't match the exact sizes supported, ERROR_INVALID_PARAMETER
    +         would've been much more appropriate... */
    +      SetLastError(ERROR_INSUFFICIENT_BUFFER);
    +      return FALSE;
    +  }
    +  
    +  if(GetVersionExW((LPOSVERSIONINFOW)&viw))
       {
    -   oviVerInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW);
    -   break;
    +    ANSI_STRING CSDVersionA;
    +    UNICODE_STRING CSDVersionW;
    +    
    +    /* copy back fields that match both supported structures */
    +    lpVersionInformation->dwMajorVersion = viw.dwMajorVersion;
    +    lpVersionInformation->dwMinorVersion = viw.dwMinorVersion;
    +    lpVersionInformation->dwBuildNumber = viw.dwBuildNumber;
    +    lpVersionInformation->dwPlatformId = viw.dwPlatformId;
    +    
    +    /* convert the win version string */
    +    RtlInitUnicodeString(&CSDVersionW, viw.szCSDVersion);
    +    
    +    CSDVersionA.Length = 0;
    +    CSDVersionA.MaximumLength = sizeof(lpVersionInformation->szCSDVersion);
    +    CSDVersionA.Buffer = lpVersionInformation->szCSDVersion;
    +    
    +    RtlUnicodeStringToAnsiString(&CSDVersionA, &CSDVersionW, FALSE);
    +
    +    /* convert the ReactOS version string */
    +    CSDVersionW.Buffer = viw.szCSDVersion + CSDVersionW.Length / sizeof(WCHAR) + 1;
    +    CSDVersionW.MaximumLength = sizeof(viw.szCSDVersion) - (CSDVersionW.Length + sizeof(WCHAR));
    +    CSDVersionW.Length = wcslen(CSDVersionW.Buffer) * sizeof(WCHAR);
    +    CSDVersionA.Buffer = lpVersionInformation->szCSDVersion + CSDVersionA.Length + 1;
    +    CSDVersionA.MaximumLength = sizeof(lpVersionInformation->szCSDVersion) - (CSDVersionA.Length + 1);
    +    CSDVersionA.Length = 0;
    +
    +    RtlUnicodeStringToAnsiString(&CSDVersionA, &CSDVersionW, FALSE);
    +    
    +    /* copy back the extended fields */
    +    if(viw.dwOSVersionInfoSize == sizeof(OSVERSIONINFOEXW))
    +    {
    +      ((LPOSVERSIONINFOEXA)lpVersionInformation)->wServicePackMajor = viw.wServicePackMajor;
    +      ((LPOSVERSIONINFOEXA)lpVersionInformation)->wServicePackMinor = viw.wServicePackMinor;
    +      ((LPOSVERSIONINFOEXA)lpVersionInformation)->wSuiteMask = viw.wSuiteMask;
    +      ((LPOSVERSIONINFOEXA)lpVersionInformation)->wProductType = viw.wProductType;
    +      ((LPOSVERSIONINFOEXA)lpVersionInformation)->wReserved = viw.wReserved;
    +    }
    +    
    +    return TRUE;
       }
    -
    -  default:
    -  {
    -   /* unknown version information revision */
    -   SetLastError(ERROR_INSUFFICIENT_BUFFER);
    -   return FALSE;
    -  }
    - }
    -
    - if(!GetVersionExW((LPOSVERSIONINFOW)&oviVerInfo))
    +  
       return FALSE;
    -
    - /* null-terminate, just in case */
    - oviVerInfo.szCSDVersion
    - [
    -  sizeof(((LPOSVERSIONINFOW)NULL)->szCSDVersion) /
    -  sizeof(((LPOSVERSIONINFOW)NULL)->szCSDVersion[0]) -
    -  1
    - ] = 0;
    - wstrVerStr.Length = wcslen(wstrVerStr.Buffer) * sizeof(WCHAR);
    -
    - /* convert the win version string */
    - nErrCode = RtlUnicodeStringToAnsiString(&strVerStr, &wstrVerStr, FALSE);
    - 
    - if(!NT_SUCCESS(nErrCode))
    - {
    -  /* failure */
    -  SetLastErrorByStatus(nErrCode);
    -  return FALSE;
    - }
    -
    - wstrVerStr.Buffer = oviVerInfo.szCSDVersion + wstrVerStr.Length / sizeof(WCHAR) + 1;
    - wstrVerStr.MaximumLength = sizeof(oviVerInfo.szCSDVersion) - (wstrVerStr.Length + sizeof(WCHAR));
    - wstrVerStr.Length = wcslen(wstrVerStr.Buffer) * sizeof(WCHAR);
    - strVerStr.Buffer = lpVersionInformation->szCSDVersion + strVerStr.Length + 1;
    - strVerStr.MaximumLength = sizeof(lpVersionInformation->szCSDVersion) - (strVerStr.Length + 1);
    - strVerStr.Length = 0;
    -
    - /* convert the ReactOS version string */
    - nErrCode = RtlUnicodeStringToAnsiString(&strVerStr, &wstrVerStr, FALSE);
    - 
    - if(!NT_SUCCESS(nErrCode))
    - {
    -  /* failure */
    -  SetLastErrorByStatus(nErrCode);
    -  return FALSE;
    - }
    -
    - /* copy the fields */
    - lpVersionInformation->dwMajorVersion = oviVerInfo.dwMajorVersion;
    - lpVersionInformation->dwMinorVersion = oviVerInfo.dwMinorVersion;
    - lpVersionInformation->dwBuildNumber = oviVerInfo.dwBuildNumber;
    - lpVersionInformation->dwPlatformId = oviVerInfo.dwPlatformId;
    - 
    - if(lpVersionInformation->dwOSVersionInfoSize < sizeof(OSVERSIONINFOEXA))
    -  /* success */
    -  return TRUE;
    -
    - /* copy the extended fields */
    - lpVersionInformationEx = (LPOSVERSIONINFOEXA)lpVersionInformation;
    - lpVersionInformationEx->wServicePackMajor = oviVerInfo.wServicePackMajor;
    - lpVersionInformationEx->wServicePackMinor = oviVerInfo.wServicePackMinor;
    - lpVersionInformationEx->wSuiteMask = oviVerInfo.wSuiteMask;
    - lpVersionInformationEx->wProductType = oviVerInfo.wProductType;
    - lpVersionInformationEx->wReserved = oviVerInfo.wReserved;
    -
    - /* success */
    - return TRUE;
     }
     
     
    diff --git a/reactos/lib/kernel32/process/proc.c b/reactos/lib/kernel32/process/proc.c
    index 83cf6788544..27c867dce34 100644
    --- a/reactos/lib/kernel32/process/proc.c
    +++ b/reactos/lib/kernel32/process/proc.c
    @@ -297,7 +297,7 @@ GetExitCodeProcess(HANDLE hProcess,
           return(FALSE);
          }
     
    -  memcpy(lpExitCode, &ProcessBasic.ExitStatus, sizeof(DWORD));
    +  *lpExitCode = (DWORD)ProcessBasic.ExitStatus;
     
       return(TRUE);
     }
    diff --git a/reactos/lib/lsasrv/lsaport.c b/reactos/lib/lsasrv/lsaport.c
    new file mode 100644
    index 00000000000..139e2f3dcd6
    --- /dev/null
    +++ b/reactos/lib/lsasrv/lsaport.c
    @@ -0,0 +1,178 @@
    +/*
    + */
    +
    +#define NTOS_MODE_USER
    +#include 
    +#include 
    +
    +//#define NDEBUG
    +#include 
    +
    +
    +HANDLE PortThreadHandle = NULL;
    +HANDLE ConnectPortHandle = NULL;
    +HANDLE MessagePortHandle = NULL;
    +
    +
    +static NTSTATUS
    +InitializeLsaPort(VOID)
    +{
    +  OBJECT_ATTRIBUTES ObjectAttributes;
    +  UNICODE_STRING PortName;
    +  LPC_MAX_MESSAGE Request;
    +  NTSTATUS Status;
    +
    +  ConnectPortHandle = NULL;
    +  MessagePortHandle = NULL;
    +
    +  RtlInitUnicodeString(&PortName,
    +                       L"\\SeLsaCommandPort");
    +
    +  InitializeObjectAttributes(&ObjectAttributes,
    +			     &PortName,
    +			     0,
    +			     NULL,
    +			     NULL);
    +
    +  Status = NtCreatePort(&ConnectPortHandle,
    +			&ObjectAttributes,
    +			0,
    +			0x100,
    +			0x2000);
    +  if (!NT_SUCCESS(Status))
    +    {
    +      DPRINT1("NtCreatePort() failed (Status %lx)\n", Status);
    +      goto ByeBye;
    +    }
    +
    +  Status = NtListenPort(ConnectPortHandle,
    +			&Request.Header);
    +  if (!NT_SUCCESS(Status))
    +    {
    +      DPRINT1("NtListenPort() failed (Status %lx)\n", Status);
    +      goto ByeBye;
    +    }
    +
    +  Status = NtAcceptConnectPort(&MessagePortHandle,
    +			       ConnectPortHandle,
    +			       NULL,
    +			       TRUE,
    +			       NULL,
    +			       NULL);
    +  if (!NT_SUCCESS (Status))
    +    {
    +      DPRINT1("NtAcceptConnectPort() failed (Status %lx)\n", Status);
    +      goto ByeBye;
    +    }
    +
    +  Status = NtCompleteConnectPort (MessagePortHandle);
    +  if (!NT_SUCCESS (Status))
    +    {
    +      DPRINT1("NtCompleteConnectPort() failed (Status %lx)\n", Status);
    +      goto ByeBye;
    +    }
    +
    +ByeBye:
    +  if (!NT_SUCCESS (Status))
    +    {
    +      if (ConnectPortHandle != NULL)
    +	NtClose (ConnectPortHandle);
    +
    +      if (MessagePortHandle != NULL)
    +	NtClose (MessagePortHandle);
    +    }
    +
    +  return Status;
    +}
    +
    +
    +static NTSTATUS
    +ProcessPortMessage(VOID)
    +{
    +  LPC_MAX_MESSAGE Request;
    +//  LPC_MAX_MESSAGE Reply;
    +  NTSTATUS Status;
    +
    +
    +  DPRINT1("ProcessPortMessage() called\n");
    +
    +  Status = STATUS_SUCCESS;
    +
    +  for (;;)
    +    {
    +      Status = NtReplyWaitReceivePort(MessagePortHandle,
    +				      0,
    +				      NULL,
    +				      &Request.Header);
    +      if (!NT_SUCCESS(Status))
    +	{
    +	  DPRINT1("NtReplyWaitReceivePort() failed (Status %lx)\n", Status);
    +	  break;
    +	}
    +
    +      DPRINT("Received message\n");
    +
    +      if (Request.Header.MessageType == LPC_PORT_CLOSED)
    +	{
    +	  DPRINT("Port closed\n");
    +
    +//	  return STATUS_UNSUCCESSFUL;
    +	}
    +      if (Request.Header.MessageType == LPC_REQUEST)
    +	{
    +	  DPRINT("Received request\n");
    +
    +	}
    +      else if (Request.Header.MessageType == LPC_DATAGRAM)
    +	{
    +	  DPRINT("Received datagram\n");
    +
    +//	  Message = (PIO_ERROR_LOG_MESSAGE)&Request.Data;
    +
    +	}
    +    }
    +
    +  return Status;
    +}
    +
    +
    +static NTSTATUS STDCALL
    +PortThreadRoutine(PVOID Param)
    +{
    +  NTSTATUS Status = STATUS_SUCCESS;
    +
    +  Status = InitializeLsaPort();
    +  if (!NT_SUCCESS(Status))
    +    return Status;
    +
    +  while (NT_SUCCESS(Status))
    +    {
    +      Status = ProcessPortMessage();
    +    }
    +
    +  if (ConnectPortHandle != NULL)
    +    NtClose (ConnectPortHandle);
    +
    +  if (MessagePortHandle != NULL)
    +    NtClose (MessagePortHandle);
    +
    +  return Status;
    +}
    +
    +
    +BOOLEAN
    +StartLsaPortThread(VOID)
    +{
    +  DWORD ThreadId;
    +
    +  PortThreadHandle = CreateThread(NULL,
    +				  0x1000,
    +				  (LPTHREAD_START_ROUTINE)PortThreadRoutine,
    +				  NULL,
    +				  0,
    +				  &ThreadId);
    +
    +  return (PortThreadHandle != NULL);
    +}
    +
    +/* EOF */
    diff --git a/reactos/lib/lsasrv/lsasrv.c b/reactos/lib/lsasrv/lsasrv.c
    new file mode 100644
    index 00000000000..bc56ca27a8f
    --- /dev/null
    +++ b/reactos/lib/lsasrv/lsasrv.c
    @@ -0,0 +1,24 @@
    +
    +#define NTOS_MODE_USER
    +#include 
    +#include 
    +
    +#include 
    +
    +#define NDEBUG
    +#include 
    +
    +VOID StartLsaPortThread(VOID);
    +
    +
    +NTSTATUS STDCALL
    +LsapInitLsa(VOID)
    +{
    +  DPRINT1("LsapInitLsa() called\n");
    +
    +  StartLsaPortThread();
    +
    +  return STATUS_SUCCESS;
    +}
    +
    +/* EOF */
    diff --git a/reactos/lib/lsasrv/lsasrv.def b/reactos/lib/lsasrv/lsasrv.def
    new file mode 100644
    index 00000000000..fc6f4a39a60
    --- /dev/null
    +++ b/reactos/lib/lsasrv/lsasrv.def
    @@ -0,0 +1,68 @@
    +; $Id: lsasrv.def 12852 2005-01-06 13:58:04Z mf $
    +LIBRARY lsasrv
    +EXPORTS
    +;LsaIAuditNotifyPackageLoad
    +;LsaIAuditSamEvent
    +;LsaIEnumerateSecrets
    +;LsaIFree_LSAI_PRIVATE_DATA
    +;LsaIFree_LSAI_SECRET_ENUM_BUFFER
    +;LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER
    +;LsaIFree_LSAPR_CR_CIPHER_VALUE
    +;LsaIFree_LSAPR_POLICY_INFORMATION
    +;LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
    +;LsaIFree_LSAPR_PRIVILEGE_SET
    +;LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST
    +;LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR
    +;LsaIFree_LSAPR_TRANSLATED_NAMES
    +;LsaIFree_LSAPR_TRANSLATED_SIDS
    +;LsaIFree_LSAPR_TRUSTED_DOMAIN_INFO
    +;LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER
    +;LsaIFree_LSAPR_TRUST_INFORMATION
    +;LsaIFree_LSAPR_UNICODE_STRING
    +;LsaIGetPrivateData
    +;LsaIGetSerialNumberPolicy
    +;LsaIGetSerialNumberPolicy2
    +;LsaIHealthCheck
    +;LsaIInitializeWellKnownSids
    +;LsaIOpenPolicyTrusted
    +;LsaIQueryInformationPolicyTrusted
    +;LsaISetPrivateData
    +;LsaISetSerialNumberPolicy
    +;LsaISetTimesSecret
    +;LsaISetupWasRun
    +;LsapAuOpenSam
    +LsapInitLsa@0
    +;LsarAddPrivilegesToAccount
    +;LsarClose
    +;LsarCreateAccount
    +;LsarCreateSecret
    +;LsarCreateTrustedDomain
    +;LsarDelete
    +;LsarEnumerateAccounts
    +;LsarEnumeratePrivileges
    +;LsarEnumeratePrivilegesAccount
    +;LsarEnumerateTrustedDomains
    +;LsarGetQuotasForAccount
    +;LsarGetSystemAccessAccount
    +;LsarLookupNames
    +;LsarLookupPrivilegeDisplayName
    +;LsarLookupPrivilegeName
    +;LsarLookupPrivilegeValue
    +;LsarLookupSids
    +;LsarOpenAccount
    +;LsarOpenPolicy
    +;LsarOpenSecret
    +;LsarOpenTrustedDomain
    +;LsarQueryInfoTrustedDomain
    +;LsarQueryInformationPolicy
    +;LsarQuerySecret
    +;LsarQuerySecurityObject
    +;LsarRemovePrivilegesFromAccount
    +;LsarSetInformationPolicy
    +;LsarSetInformationTrustedDomain
    +;LsarSetQuotasForAccount
    +;LsarSetSecret
    +;LsarSetSecurityObject
    +;LsarSetSystemAccessAccount
    +;ServiceInit
    +; EOF
    \ No newline at end of file
    diff --git a/reactos/lib/lsasrv/lsasrv.rc b/reactos/lib/lsasrv/lsasrv.rc
    new file mode 100644
    index 00000000000..cdf5ee6077d
    --- /dev/null
    +++ b/reactos/lib/lsasrv/lsasrv.rc
    @@ -0,0 +1,5 @@
    +#define REACTOS_VERSION_DLL
    +#define REACTOS_STR_FILE_DESCRIPTION	"LSA server DLL\0"
    +#define REACTOS_STR_INTERNAL_NAME	"lsasrv\0"
    +#define REACTOS_STR_ORIGINAL_FILENAME	"lsasrv.dll\0"
    +#include 
    diff --git a/reactos/lib/lsasrv/makefile b/reactos/lib/lsasrv/makefile
    new file mode 100644
    index 00000000000..fae393e0e1e
    --- /dev/null
    +++ b/reactos/lib/lsasrv/makefile
    @@ -0,0 +1,28 @@
    +# $Id$
    +
    +PATH_TO_TOP = ../..
    +
    +TARGET_TYPE = dynlink
    +
    +TARGET_NAME = lsasrv
    +
    +TARGET_BASE = $(TARGET_BASE_LIB_LSASRV)
    +
    +TARGET_ENTRY = 0x0
    +
    +TARGET_CFLAGS += -Wall -Werror
    +
    +TARGET_LFLAGS = -nostartfiles -nostdlib
    +
    +TARGET_SDKLIBS = ntdll.a kernel32.a
    +
    +TARGET_OBJECTS = lsasrv.o lsaport.o
    +
    +DEP_OBJECTS = $(TARGET_OBJECTS)
    +
    +
    +include $(PATH_TO_TOP)/rules.mak
    +
    +include $(TOOLS_PATH)/helper.mk
    +
    +include $(TOOLS_PATH)/depend.mk
    diff --git a/reactos/lib/mpr/mpr.rc b/reactos/lib/mpr/mpr.rc
    index 3c399678f4f..550e5e5d140 100644
    --- a/reactos/lib/mpr/mpr.rc
    +++ b/reactos/lib/mpr/mpr.rc
    @@ -27,8 +27,9 @@
     #include "mpr_Cs.rc"
     #include "mpr_De.rc"
     #include "mpr_En.rc"
    -#include "mpr_Nl.rc"
     #include "mpr_Es.rc"
    +#include "mpr_Fr.rc"
     #include "mpr_It.rc"
     #include "mpr_Ja.rc"
    +#include "mpr_Nl.rc"
     #include "mpr_Pt.rc"
    diff --git a/reactos/lib/mpr/mpr_De.rc b/reactos/lib/mpr/mpr_De.rc
    index 7cfa8531822..7f289bc572e 100644
    --- a/reactos/lib/mpr/mpr_De.rc
    +++ b/reactos/lib/mpr/mpr_De.rc
    @@ -24,3 +24,23 @@ STRINGTABLE DISCARDABLE
     {
         IDS_ENTIRENETWORK "Gesamtes Netzwerk"
     }
    +
    +IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154
    +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
    +CAPTION "Netzwerkkennung eingeben"
    +FONT 8, "Helv"
    +{
    + LTEXT "Bitte geben Sie Benutzernamen und Kennwort ein:", IDC_EXPLAIN, 40, 6, 150, 15
    + LTEXT "Proxy", -1, 40, 26, 50, 10
    +/* LTEXT "Bereich", -1, 40, 46, 50, 10 */
    + LTEXT "Benutzername", -1, 40, 66, 50, 10
    + LTEXT "Kennwort", -1, 40, 86, 50, 10
    + LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0
    + LTEXT "" IDC_REALM, 80, 46, 150, 14, 0
    + EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
    + EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD
    + CHECKBOX "Dieses Kennwort speichern (unsicher)", IDC_SAVEPASSWORD,
    +          80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
    + PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
    + PUSHBUTTON "Abbrechen", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP
    +}
    diff --git a/reactos/lib/mpr/mpr_Fr.rc b/reactos/lib/mpr/mpr_Fr.rc
    new file mode 100644
    index 00000000000..e5def78e721
    --- /dev/null
    +++ b/reactos/lib/mpr/mpr_Fr.rc
    @@ -0,0 +1,47 @@
    +/*
    + * MPR dll resources
    + * French language support
    + *
    + * Copyright (C) 2005 Jonathan Ernst
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
    +
    +STRINGTABLE DISCARDABLE
    +{
    +    IDS_ENTIRENETWORK "Le réseau entier"
    +}
    +
    +IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154
    +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
    +CAPTION "Entrez le mot de passe réseau"
    +FONT 8, "Helv"
    +{
    + LTEXT "Veuillez saisir votre nom d'utilisateur et votre mot de passe:", IDC_EXPLAIN, 40, 6, 150, 15
    + LTEXT "Proxy", -1, 40, 26, 50, 10
    +/* LTEXT "Realm", -1, 40, 46, 50, 10 */
    + LTEXT "Utilisateur", -1, 40, 66, 50, 10
    + LTEXT "Mot de passe", -1, 40, 86, 50, 10
    + LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0
    + LTEXT "" IDC_REALM, 80, 46, 150, 14, 0
    + EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
    + EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD
    + CHECKBOX "&Enregistrer ce mot de passe (risqué)", IDC_SAVEPASSWORD,
    +           80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
    + PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON
    + PUSHBUTTON "Annuler", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP
    +}
    diff --git a/reactos/lib/mpr/netspi.h b/reactos/lib/mpr/netspi.h
    new file mode 100644
    index 00000000000..7695584aec2
    --- /dev/null
    +++ b/reactos/lib/mpr/netspi.h
    @@ -0,0 +1,153 @@
    +/*
    + * MPR - Network provider services
    + * Warning: this file apparently existed as part of the Win98 DDK.  Some of
    + * the declarations in it conflict with those in the Platform SDK's npapi.h,
    + * therefore this header was made private.  Don't try to include both headers.
    + *
    + * Copyright (C) 1999 Ulrich Weigand
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef _NETSPI_H_
    +#define _NETSPI_H_
    +
    +#include "windef.h"
    +#include "winnetwk.h"
    +
    +/*
    + * Note: The Unicode variants of all these routines/structures
    + *       apparently don't exist, at least not in Win95 ...
    + */
    +
    +#define HPROVIDER LPVOID
    +typedef HPROVIDER *PHPROVIDER;
    +
    +typedef struct
    +{
    +    DWORD  cbStructure;
    +    HWND   hwndOwner;
    +    LPCSTR lpResource;
    +    LPSTR  lpUsername;
    +    DWORD  cbUsername;
    +    LPSTR  lpPassword;
    +    DWORD  cbPassword;
    +    LPSTR  lpOrgUnit;
    +    DWORD  cbOrgUnit;
    +    LPCSTR lpOUTitle;
    +    LPCSTR lpExplainText;
    +    LPCSTR lpDefaultUserName;
    +    DWORD  dwFlags;
    +
    +} AUTHDLGSTRUCTA, *LPAUTHDLGSTRUCTA;
    +
    +DECL_WINELIB_TYPE_AW(AUTHDLGSTRUCT)
    +DECL_WINELIB_TYPE_AW(LPAUTHDLGSTRUCT)
    +
    +#define AUTHDLG_ENABLECACHE       0x00000001
    +#define AUTHDLG_CHECKCACHE        0x00000002
    +#define AUTHDLG_CACHEINVALID      0x00000004
    +#define AUTHDLG_USE_DEFAULT_NAME  0x00000008
    +#define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
    +#define AUTHDLG_LOGON             0x00000020
    +
    +#define AUTHDLG_ENABLECACHE       0x00000001
    +#define AUTHDLG_CHECKCACHE        0x00000002
    +#define AUTHDLG_CACHEINVALID      0x00000004
    +#define AUTHDLG_USE_DEFAULT_NAME  0x00000008
    +#define AUTHDLG_CHECKDEFAULT_NAME 0x00000010
    +#define AUTHDLG_LOGON             0x00000020
    +
    +DWORD WINAPI NPSAuthenticationDialogA(LPAUTHDLGSTRUCTA);
    +#define      NPSAuthenticationDialog WINELIB_NAME_AW(NPSAuthenticationDialog)
    +DWORD WINAPI NPSGetProviderHandleA(PHPROVIDER);
    +#define      NPSGetProviderHandle WINELIB_NAME_AW(NPSGetProviderHandle)
    +DWORD WINAPI NPSGetProviderNameA(HPROVIDER,LPCSTR *);
    +#define      NPSGetProviderName WINELIB_NAME_AW(NPSGetProviderName)
    +DWORD WINAPI NPSGetSectionNameA(HPROVIDER,LPCSTR *lpszSectionName);
    +#define      NPSGetSectionName WINELIB_NAME_AW(NPSGetSectionName)
    +DWORD WINAPI NPSSetExtendedErrorA(DWORD,LPSTR);
    +#define      NPSSetExtendedError WINELIB_NAME_AW(NPSSetExtendedError)
    +VOID  WINAPI NPSSetCustomTextA(LPSTR);
    +#define      NPSSetCustomText WINELIB_NAME_AW(NPSSetCustomText)
    +DWORD WINAPI NPSCopyStringA(LPCSTR,LPVOID,LPDWORD);
    +#define      NPSCopyString WINELIB_NAME_AW(NPSCopyString)
    +DWORD WINAPI NPSDeviceGetNumberA(LPSTR,LPDWORD,LPDWORD);
    +#define      NPSDeviceGetNumber WINELIB_NAME_AW(NPSDeviceGetNumber)
    +DWORD WINAPI NPSDeviceGetStringA(DWORD,DWORD,LPSTR,LPDWORD);
    +#define      NPSDeviceGetString WINELIB_NAME_AW(NPSDeviceGetString)
    +
    +
    +enum NOTIFYTYPE { NotifyAddConnection,
    +                  NotifyCancelConnection,
    +                  NotifyGetConnectionPerformance };
    +
    +#define NOTIFY_PRE              0x00
    +#define NOTIFY_POST             0x01
    +
    +typedef struct
    +{
    +    DWORD   cbStructure;
    +    DWORD   dwNotifyStatus;
    +    DWORD   dwOperationStatus;
    +    LPVOID  lpNPContext;
    +
    +} NOTIFYINFO, *LPNOTIFYINFO;
    +
    +typedef struct
    +{
    +    DWORD        cbStructure;
    +    HWND         hwndOwner;
    +    NETRESOURCEA NetResource;
    +    DWORD        dwAddFlags;
    +    LPSTR        lpAccessName;
    +    LPDWORD      lpBufferSize;
    +    DWORD        dwResult;
    +    DWORD        dwAddContext;
    +
    +} NOTIFYADDA, *LPNOTIFYADDA;
    +
    +#define CONNECT_CTXT_RESTORE   0x00000001
    +#define CONNECT_CTXT_GLOBAL    0x00000002
    +#define CONNECT_CTXT_PROVIDER  0x00000004
    +#define CONNECT_CTXT_SINGLE    0x00000008
    +
    +typedef struct
    +{
    +    DWORD  cbStructure;
    +    LPSTR  lpName;
    +    LPSTR  lpProvider;
    +    DWORD  dwFlags;
    +    BOOL   fForce;
    +
    +} NOTIFYCANCELA, *LPNOTIFYCANCELA;
    +
    +typedef struct
    +{
    +    DWORD                  cbStructure;
    +    LPSTR                  lpRemoteName;
    +    LPSTR                  lpProviderName;
    +    LPNETCONNECTINFOSTRUCT lpNetConnectInfo;
    +
    +} NOTIFYPERFORMANCEA, *LPNOTIFYPERFORMANCEA;
    +
    +typedef DWORD (CALLBACK *NOTIFYCALLBACK)(LPNOTIFYINFO,LPVOID);
    +
    +DWORD  WINAPI NPSNotifyRegisterA(enum NOTIFYTYPE,NOTIFYCALLBACK);
    +#define       NPSNotifyRegister WINELIB_NAME_AW(NPSNotifyRegister)
    +LPVOID WINAPI NPSNotifyGetContextA(NOTIFYCALLBACK);
    +#define       NPSNotifyGetContext WINELIB_NAME_AW(NPSNotifyGetContext)
    +
    +#endif /* _NETSPI_H_ */
    diff --git a/reactos/lib/mpr/nps.c b/reactos/lib/mpr/nps.c
    index c791b23317e..980c58a67a6 100644
    --- a/reactos/lib/mpr/nps.c
    +++ b/reactos/lib/mpr/nps.c
    @@ -26,7 +26,6 @@
     #include "windef.h"
     #include "winbase.h"
     #include "winuser.h"
    -#include "winnetwk.h"
     #include "netspi.h"
     #include "wine/debug.h"
     #include "winerror.h"
    @@ -212,4 +211,3 @@ LPVOID WINAPI NPSNotifyGetContextA( NOTIFYCALLBACK pfNotifyCallBack )
         FIXME( "(%p): stub\n", pfNotifyCallBack );
         return NULL;
     }
    -
    diff --git a/reactos/lib/msafd/misc/dllmain.c b/reactos/lib/msafd/misc/dllmain.c
    index 749dcef4743..dde09e359f4 100644
    --- a/reactos/lib/msafd/misc/dllmain.c
    +++ b/reactos/lib/msafd/misc/dllmain.c
    @@ -16,8 +16,8 @@
     #include 
     
     #ifdef DBG
    -DWORD DebugTraceLevel = DEBUG_ULTRA;
    -//DWORD DebugTraceLevel = 0;
    +//DWORD DebugTraceLevel = DEBUG_ULTRA;
    +DWORD DebugTraceLevel = 0;
     #endif /* DBG */
     
     HANDLE GlobalHeap;
    @@ -120,6 +120,7 @@ WSPSocket(
     	Socket->SharedData.GroupID = g;
     	Socket->SharedData.GroupType = 0;
     	Socket->SharedData.UseSAN = FALSE;
    +        Socket->SharedData.NonBlocking = FALSE; /* Sockets start blocking */
     	Socket->SanData = NULL;
     
     	/* Ask alex about this */
    @@ -137,6 +138,7 @@ WSPSocket(
     
     	/* Set up EA Buffer */
     	EABuffer = HeapAlloc(GlobalHeap, 0, SizeOfEA);
    +        RtlZeroMemory(EABuffer, SizeOfEA);
     	EABuffer->NextEntryOffset = 0;
     	EABuffer->Flags = 0;
     	EABuffer->EaNameLength = AFD_PACKET_COMMAND_LENGTH;
    @@ -265,19 +267,22 @@ error:
     
     DWORD MsafdReturnWithErrno( NTSTATUS Status, LPINT Errno, DWORD Received,
     			    LPDWORD ReturnedBytes ) {
    -    switch (Status) {
    -    case STATUS_CANT_WAIT: *Errno = WSAEWOULDBLOCK; break;
    -    case STATUS_TIMEOUT:
    -    case STATUS_SUCCESS: 
    -	/* Return Number of bytes Read */
    -	if( ReturnedBytes ) *ReturnedBytes = Received; break;
    -    case STATUS_END_OF_FILE: *Errno = WSAESHUTDOWN; *ReturnedBytes = 0; break;
    -    case STATUS_PENDING: *Errno = WSA_IO_PENDING; break;
    -    case STATUS_BUFFER_OVERFLOW: *Errno = WSAEMSGSIZE; break;
    -    default: {
    -	DbgPrint("MSAFD: Error %x is unknown\n", Status);
    -	*Errno = WSAEINVAL; break;
    -    } break;
    +    if( ReturnedBytes ) *ReturnedBytes = 0; 
    +    if( Errno ) { 
    +        switch (Status) {
    +        case STATUS_CANT_WAIT: *Errno = WSAEWOULDBLOCK; break;
    +        case STATUS_TIMEOUT:
    +        case STATUS_SUCCESS: 
    +            /* Return Number of bytes Read */
    +            if( ReturnedBytes ) *ReturnedBytes = Received; break;
    +        case STATUS_END_OF_FILE: *Errno = WSAESHUTDOWN; *ReturnedBytes = 0; break;
    +        case STATUS_PENDING: *Errno = WSA_IO_PENDING; break;
    +        case STATUS_BUFFER_OVERFLOW: *Errno = WSAEMSGSIZE; break;
    +        default: {
    +            DbgPrint("MSAFD: Error %x is unknown\n", Status);
    +            *Errno = WSAEINVAL; break;
    +        } break;
    +        }
         }
     
         /* Success */
    @@ -588,6 +593,9 @@ WSPSelect(
         PollBufferSize = sizeof(*PollInfo) + 
     	(HandleCount * sizeof(AFD_HANDLE));
         
    +    AFD_DbgPrint(MID_TRACE,("HandleCount: %d BufferSize: %d\n", 
    +                            HandleCount, PollBufferSize));
    +
         /* Allocate */
         PollBuffer = HeapAlloc(GlobalHeap, 0, PollBufferSize);
         PollInfo = (PAFD_POLL_INFO)PollBuffer;
    diff --git a/reactos/lib/msi/Makefile.in b/reactos/lib/msi/Makefile.in
    index df2489801a5..27ce824fa1c 100644
    --- a/reactos/lib/msi/Makefile.in
    +++ b/reactos/lib/msi/Makefile.in
    @@ -8,15 +8,21 @@ EXTRALIBS = -luuid $(LIBUNICODE)
     
     C_SRCS = \
     	action.c \
    +	appsearch.c \
     	create.c \
    +	custom.c \
    +	dialog.c \
     	distinct.c \
    +	format.c \
     	handle.c \
     	insert.c \
     	msi.c \
     	msiquery.c \
     	order.c \
     	package.c \
    +	preview.c \
     	record.c \
    +	registry.c \
     	regsvr.c \
     	select.c \
     	string.c \
    @@ -26,7 +32,7 @@ C_SRCS = \
     	update.c \
     	where.c
     
    -RC_SRCS = version.rc
    +RC_SRCS = msi.rc
     
     EXTRA_SRCS = sql.y cond.y
     EXTRA_OBJS = sql.tab.o cond.tab.o
    diff --git a/reactos/lib/msi/Makefile.ros-template b/reactos/lib/msi/Makefile.ros-template
    index b54c29ed29d..b6b0bc5db3f 100644
    --- a/reactos/lib/msi/Makefile.ros-template
    +++ b/reactos/lib/msi/Makefile.ros-template
    @@ -6,7 +6,7 @@ TARGET_OBJECTS = @C_SRCS@ @EXTRA_OBJS@
     
     TARGET_CFLAGS = @EXTRADEFS@ -D__REACTOS__
     
    -TARGET_SDKLIBS = @IMPORTS@ winmm.a wine.a wine_uuid.a wine_unicode.a ntdll.a
    +TARGET_SDKLIBS = @IMPORTS@ winmm.a wine.a wine_uuid.a ntdll.a
     
     TARGET_BASE = $(TARGET_BASE_LIB_WINMM)
     
    diff --git a/reactos/lib/msi/action.c b/reactos/lib/msi/action.c
    index ec066ac054b..5b4c8e117c7 100644
    --- a/reactos/lib/msi/action.c
    +++ b/reactos/lib/msi/action.c
    @@ -49,99 +49,26 @@ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/stand
     #include "shlobj.h"
     #include "wine/unicode.h"
     #include "ver.h"
    +#include "action.h"
     
    -#define CUSTOM_ACTION_TYPE_MASK 0x3F
     #define REG_PROGRESS_VALUE 13200
     #define COMPONENT_PROGRESS_VALUE 24000
     
     WINE_DEFAULT_DEBUG_CHANNEL(msi);
     
    -typedef struct tagMSIFEATURE
    -{
    -    WCHAR Feature[96];
    -    WCHAR Feature_Parent[96];
    -    WCHAR Title[0x100];
    -    WCHAR Description[0x100];
    -    INT Display;
    -    INT Level;
    -    WCHAR Directory[96];
    -    INT Attributes;
    -    
    -    INSTALLSTATE Installed;
    -    INSTALLSTATE ActionRequest;
    -    INSTALLSTATE Action;
    -
    -    INT ComponentCount;
    -    INT Components[1024]; /* yes hardcoded limit.... I am bad */
    -    INT Cost;
    -} MSIFEATURE;
    -
    -typedef struct tagMSICOMPONENT
    -{
    -    WCHAR Component[96];
    -    WCHAR ComponentId[96];
    -    WCHAR Directory[96];
    -    INT Attributes;
    -    WCHAR Condition[0x100];
    -    WCHAR KeyPath[96];
    -
    -    INSTALLSTATE Installed;
    -    INSTALLSTATE ActionRequest;
    -    INSTALLSTATE Action;
    -
    -    BOOL Enabled;
    -    INT  Cost;
    -} MSICOMPONENT;
    -
    -typedef struct tagMSIFOLDER
    -{
    -    LPWSTR Directory;
    -    LPWSTR TargetDefault;
    -    LPWSTR SourceDefault;
    -
    -    LPWSTR ResolvedTarget;
    -    LPWSTR ResolvedSource;
    -    LPWSTR Property;   /* initially set property */
    -    INT   ParentIndex;
    -    INT   State;
    -        /* 0 = uninitialized */
    -        /* 1 = existing */
    -        /* 2 = created remove if empty */
    -        /* 3 = created persist if empty */
    -    INT   Cost;
    -    INT   Space;
    -}MSIFOLDER;
    -
    -typedef struct tagMSIFILE
    -{
    -    LPWSTR File;
    -    INT ComponentIndex;
    -    LPWSTR FileName;
    -    INT FileSize;
    -    LPWSTR Version;
    -    LPWSTR Language;
    -    INT Attributes;
    -    INT Sequence;   
    -
    -    INT State;
    -       /* 0 = uninitialize */
    -       /* 1 = not present */
    -       /* 2 = present but replace */
    -       /* 3 = present do not replace */
    -       /* 4 = Installed */
    -    LPWSTR  SourcePath;
    -    LPWSTR  TargetPath;
    -    BOOL    Temporary; 
    -}MSIFILE;
    -
     /*
      * Prototypes
      */
     static UINT ACTION_ProcessExecSequence(MSIPACKAGE *package, BOOL UIran);
     static UINT ACTION_ProcessUISequence(MSIPACKAGE *package);
    -
     static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq);
    -UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action);
    +static UINT build_icon_path(MSIPACKAGE *package, LPCWSTR icon_name, 
    +                            LPWSTR *FilePath);
    +
    +/* 
    + * action handlers
    + */
    +typedef UINT (*STANDARDACTIONHANDLER)(MSIPACKAGE*);
     
     static UINT ACTION_LaunchConditions(MSIPACKAGE *package);
     static UINT ACTION_CostInitialize(MSIPACKAGE *package);
    @@ -151,32 +78,26 @@ static UINT ACTION_FileCost(MSIPACKAGE *package);
     static UINT ACTION_InstallFiles(MSIPACKAGE *package);
     static UINT ACTION_DuplicateFiles(MSIPACKAGE *package);
     static UINT ACTION_WriteRegistryValues(MSIPACKAGE *package);
    -static UINT ACTION_CustomAction(MSIPACKAGE *package,const WCHAR *action);
     static UINT ACTION_InstallInitialize(MSIPACKAGE *package);
     static UINT ACTION_InstallValidate(MSIPACKAGE *package);
     static UINT ACTION_ProcessComponents(MSIPACKAGE *package);
     static UINT ACTION_RegisterTypeLibraries(MSIPACKAGE *package);
     static UINT ACTION_RegisterClassInfo(MSIPACKAGE *package);
     static UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package);
    +static UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package);
    +static UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package);
    +static UINT ACTION_RegisterUser(MSIPACKAGE *package);
     static UINT ACTION_CreateShortcuts(MSIPACKAGE *package);
     static UINT ACTION_PublishProduct(MSIPACKAGE *package);
    +static UINT ACTION_WriteIniValues(MSIPACKAGE *package);
    +static UINT ACTION_SelfRegModules(MSIPACKAGE *package);
    +static UINT ACTION_PublishFeatures(MSIPACKAGE *package);
    +static UINT ACTION_RegisterProduct(MSIPACKAGE *package);
    +static UINT ACTION_InstallExecute(MSIPACKAGE *package);
    +static UINT ACTION_InstallFinalize(MSIPACKAGE *package);
    +static UINT ACTION_ForceReboot(MSIPACKAGE *package);
    +static UINT ACTION_ResolveSource(MSIPACKAGE *package);
     
    -static UINT HANDLE_CustomType1(MSIPACKAGE *package, const LPWSTR source, 
    -                                const LPWSTR target, const INT type);
    -static UINT HANDLE_CustomType2(MSIPACKAGE *package, const LPWSTR source, 
    -                                const LPWSTR target, const INT type);
    -static UINT HANDLE_CustomType18(MSIPACKAGE *package, const LPWSTR source,
    -                                const LPWSTR target, const INT type);
    -static UINT HANDLE_CustomType50(MSIPACKAGE *package, const LPWSTR source,
    -                                const LPWSTR target, const INT type);
    -static UINT HANDLE_CustomType34(MSIPACKAGE *package, const LPWSTR source,
    -                                const LPWSTR target, const INT type);
    -
    -static DWORD deformat_string(MSIPACKAGE *package, WCHAR* ptr,WCHAR** data);
    -static LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name,
    -                           BOOL source, BOOL set_prop, MSIFOLDER **folder);
    -
    -static int track_tempfile(MSIPACKAGE *package, LPCWSTR name, LPCWSTR path);
      
     /*
      * consts and values used
    @@ -188,31 +109,30 @@ static const WCHAR cszTempFolder[]= {'T','e','m','p','F','o','l','d','e','r',0};
     static const WCHAR cszDatabase[]={'D','A','T','A','B','A','S','E',0};
     static const WCHAR c_collen[] = {'C',':','\\',0};
      
    -static const WCHAR cszlsb[]={'[',0};
    -static const WCHAR cszrsb[]={']',0};
     static const WCHAR cszbs[]={'\\',0};
     
     const static WCHAR szCreateFolders[] =
    -    {'C','r','e','a','t','e','F','o','l','d','e','r','s',0};
    +{'C','r','e','a','t','e','F','o','l','d','e','r','s',0};
     const static WCHAR szCostFinalize[] =
    -    {'C','o','s','t','F','i','n','a','l','i','z','e',0};
    +{'C','o','s','t','F','i','n','a','l','i','z','e',0};
     const static WCHAR szInstallFiles[] =
    -    {'I','n','s','t','a','l','l','F','i','l','e','s',0};
    +{'I','n','s','t','a','l','l','F','i','l','e','s',0};
     const static WCHAR szDuplicateFiles[] =
    -    {'D','u','p','l','i','c','a','t','e','F','i','l','e','s',0};
    +{'D','u','p','l','i','c','a','t','e','F','i','l','e','s',0};
     const static WCHAR szWriteRegistryValues[] =
     {'W','r','i','t','e','R','e','g','i','s','t','r','y','V','a','l','u','e','s',0};
     const static WCHAR szCostInitialize[] =
    -    {'C','o','s','t','I','n','i','t','i','a','l','i','z','e',0};
    -const static WCHAR szFileCost[] = {'F','i','l','e','C','o','s','t',0};
    +{'C','o','s','t','I','n','i','t','i','a','l','i','z','e',0};
    +const static WCHAR szFileCost[] = 
    +{'F','i','l','e','C','o','s','t',0};
     const static WCHAR szInstallInitialize[] = 
    -    {'I','n','s','t','a','l','l','I','n','i','t','i','a','l','i','z','e',0};
    +{'I','n','s','t','a','l','l','I','n','i','t','i','a','l','i','z','e',0};
     const static WCHAR szInstallValidate[] = 
    -    {'I','n','s','t','a','l','l','V','a','l','i','d','a','t','e',0};
    +{'I','n','s','t','a','l','l','V','a','l','i','d','a','t','e',0};
     const static WCHAR szLaunchConditions[] = 
    -    {'L','a','u','n','c','h','C','o','n','d','i','t','i','o','n','s',0};
    +{'L','a','u','n','c','h','C','o','n','d','i','t','i','o','n','s',0};
     const static WCHAR szProcessComponents[] = 
    -    {'P','r','o','c','e','s','s','C','o','m','p','o','n','e','n','t','s',0};
    +{'P','r','o','c','e','s','s','C','o','m','p','o','n','e','n','t','s',0};
     const static WCHAR szRegisterTypeLibraries[] = 
     {'R','e','g','i','s','t','e','r','T','y','p','e','L','i','b','r','a','r',
     'i','e','s',0};
    @@ -224,6 +144,209 @@ const static WCHAR szCreateShortcuts[] =
     {'C','r','e','a','t','e','S','h','o','r','t','c','u','t','s',0};
     const static WCHAR szPublishProduct[] = 
     {'P','u','b','l','i','s','h','P','r','o','d','u','c','t',0};
    +const static WCHAR szWriteIniValues[] = 
    +{'W','r','i','t','e','I','n','i','V','a','l','u','e','s',0};
    +const static WCHAR szSelfRegModules[] = 
    +{'S','e','l','f','R','e','g','M','o','d','u','l','e','s',0};
    +const static WCHAR szPublishFeatures[] = 
    +{'P','u','b','l','i','s','h','F','e','a','t','u','r','e','s',0};
    +const static WCHAR szRegisterProduct[] = 
    +{'R','e','g','i','s','t','e','r','P','r','o','d','u','c','t',0};
    +const static WCHAR szInstallExecute[] = 
    +{'I','n','s','t','a','l','l','E','x','e','c','u','t','e',0};
    +const static WCHAR szInstallExecuteAgain[] = 
    +{'I','n','s','t','a','l','l','E','x','e','c','u','t','e','A','g','a','i','n',0};
    +const static WCHAR szInstallFinalize[] = 
    +{'I','n','s','t','a','l','l','F','i','n','a','l','i','z','e',0};
    +const static WCHAR szForceReboot[] = 
    +{'F','o','r','c','e','R','e','b','o','o','t',0};
    +const static WCHAR szResolveSource[] =
    +{'R','e','s','o','l','v','e','S','o','u','r','c','e',0};
    +const static WCHAR szAppSearch[] = 
    +{'A','p','p','S','e','a','r','c','h',0};
    +const static WCHAR szAllocateRegistrySpace[] = 
    +{'A','l','l','o','c','a','t','e','R','e','g','i','s','t','r','y','S','p','a','c','e',0};
    +const static WCHAR szBindImage[] = 
    +{'B','i','n','d','I','m','a','g','e',0};
    +const static WCHAR szCCPSearch[] = 
    +{'C','C','P','S','e','a','r','c','h',0};
    +const static WCHAR szDeleteServices[] = 
    +{'D','e','l','e','t','e','S','e','r','v','i','c','e','s',0};
    +const static WCHAR szDisableRollback[] = 
    +{'D','i','s','a','b','l','e','R','o','l','l','b','a','c','k',0};
    +const static WCHAR szExecuteAction[] = 
    +{'E','x','e','c','u','t','e','A','c','t','i','o','n',0};
    +const static WCHAR szFindRelatedProducts[] = 
    +{'F','i','n','d','R','e','l','a','t','e','d','P','r','o','d','u','c','t','s',0};
    +const static WCHAR szInstallAdminPackage[] = 
    +{'I','n','s','t','a','l','l','A','d','m','i','n','P','a','c','k','a','g','e',0};
    +const static WCHAR szInstallSFPCatalogFile[] = 
    +{'I','n','s','t','a','l','l','S','F','P','C','a','t','a','l','o','g','F','i','l','e',0};
    +const static WCHAR szIsolateComponents[] = 
    +{'I','s','o','l','a','t','e','C','o','m','p','o','n','e','n','t','s',0};
    +const static WCHAR szMigrateFeatureStates[] = 
    +{'M','i','g','r','a','t','e','F','e','a','t','u','r','e','S','t','a','t','e','s',0};
    +const static WCHAR szMoveFiles[] = 
    +{'M','o','v','e','F','i','l','e','s',0};
    +const static WCHAR szMsiPublishAssemblies[] = 
    +{'M','s','i','P','u','b','l','i','s','h','A','s','s','e','m','b','l','i','e','s',0};
    +const static WCHAR szMsiUnpublishAssemblies[] = 
    +{'M','s','i','U','n','p','u','b','l','i','s','h','A','s','s','e','m','b','l','i','e','s',0};
    +const static WCHAR szInstallODBC[] = 
    +{'I','n','s','t','a','l','l','O','D','B','C',0};
    +const static WCHAR szInstallServices[] = 
    +{'I','n','s','t','a','l','l','S','e','r','v','i','c','e','s',0};
    +const static WCHAR szPatchFiles[] = 
    +{'P','a','t','c','h','F','i','l','e','s',0};
    +const static WCHAR szPublishComponents[] = 
    +{'P','u','b','l','i','s','h','C','o','m','p','o','n','e','n','t','s',0};
    +const static WCHAR szRegisterComPlus[] =
    +{'R','e','g','i','s','t','e','r','C','o','m','P','l','u','s',0};
    +const static WCHAR szRegisterExtensionInfo[] =
    +{'R','e','g','i','s','t','e','r','E','x','t','e','n','s','i','o','n','I','n','f','o',0};
    +const static WCHAR szRegisterFonts[] =
    +{'R','e','g','i','s','t','e','r','F','o','n','t','s',0};
    +const static WCHAR szRegisterMIMEInfo[] =
    +{'R','e','g','i','s','t','e','r','M','I','M','E','I','n','f','o',0};
    +const static WCHAR szRegisterUser[] =
    +{'R','e','g','i','s','t','e','r','U','s','e','r',0};
    +const static WCHAR szRemoveDuplicateFiles[] =
    +{'R','e','m','o','v','e','D','u','p','l','i','c','a','t','e','F','i','l','e','s',0};
    +const static WCHAR szRemoveEnvironmentStrings[] =
    +{'R','e','m','o','v','e','E','n','v','i','r','o','n','m','e','n','t','S','t','r','i','n','g','s',0};
    +const static WCHAR szRemoveExistingProducts[] =
    +{'R','e','m','o','v','e','E','x','i','s','t','i','n','g','P','r','o','d','u','c','t','s',0};
    +const static WCHAR szRemoveFiles[] =
    +{'R','e','m','o','v','e','F','i','l','e','s',0};
    +const static WCHAR szRemoveFolders[] =
    +{'R','e','m','o','v','e','F','o','l','d','e','r','s',0};
    +const static WCHAR szRemoveIniValues[] =
    +{'R','e','m','o','v','e','I','n','i','V','a','l','u','e','s',0};
    +const static WCHAR szRemoveODBC[] =
    +{'R','e','m','o','v','e','O','D','B','C',0};
    +const static WCHAR szRemoveRegistryValues[] =
    +{'R','e','m','o','v','e','R','e','g','i','s','t','r','y','V','a','l','u','e','s',0};
    +const static WCHAR szRemoveShortcuts[] =
    +{'R','e','m','o','v','e','S','h','o','r','t','c','u','t','s',0};
    +const static WCHAR szRMCCPSearch[] =
    +{'R','M','C','C','P','S','e','a','r','c','h',0};
    +const static WCHAR szScheduleReboot[] =
    +{'S','c','h','e','d','u','l','e','R','e','b','o','o','t',0};
    +const static WCHAR szSelfUnregModules[] =
    +{'S','e','l','f','U','n','r','e','g','M','o','d','u','l','e','s',0};
    +const static WCHAR szSetODBCFolders[] =
    +{'S','e','t','O','D','B','C','F','o','l','d','e','r','s',0};
    +const static WCHAR szStartServices[] =
    +{'S','t','a','r','t','S','e','r','v','i','c','e','s',0};
    +const static WCHAR szStopServices[] =
    +{'S','t','o','p','S','e','r','v','i','c','e','s',0};
    +const static WCHAR szUnpublishComponents[] =
    +{'U','n','p','u','b','l','i','s','h','C','o','m','p','o','n','e','n','t','s',0};
    +const static WCHAR szUnpublishFeatures[] =
    +{'U','n','p','u','b','l','i','s','h','F','e','a','t','u','r','e','s',0};
    +const static WCHAR szUnregisterClassInfo[] =
    +{'U','n','r','e','g','i','s','t','e','r','C','l','a','s','s','I','n','f','o',0};
    +const static WCHAR szUnregisterComPlus[] =
    +{'U','n','r','e','g','i','s','t','e','r','C','o','m','P','l','u','s',0};
    +const static WCHAR szUnregisterExtensionInfo[] =
    +{'U','n','r','e','g','i','s','t','e','r','E','x','t','e','n','s','i','o','n','I','n','f','o',0};
    +const static WCHAR szUnregisterFonts[] =
    +{'U','n','r','e','g','i','s','t','e','r','F','o','n','t','s',0};
    +const static WCHAR szUnregisterMIMEInfo[] =
    +{'U','n','r','e','g','i','s','t','e','r','M','I','M','E','I','n','f','o',0};
    +const static WCHAR szUnregisterProgIdInfo[] =
    +{'U','n','r','e','g','i','s','t','e','r','P','r','o','g','I','d','I','n','f','o',0};
    +const static WCHAR szUnregisterTypeLibraries[] =
    +{'U','n','r','e','g','i','s','t','e','r','T','y','p','e','L','i','b','r','a','r','i','e','s',0};
    +const static WCHAR szValidateProductID[] =
    +{'V','a','l','i','d','a','t','e','P','r','o','d','u','c','t','I','D',0};
    +const static WCHAR szWriteEnvironmentStrings[] =
    +{'W','r','i','t','e','E','n','v','i','r','o','n','m','e','n','t','S','t','r','i','n','g','s',0};
    +
    +struct _actions {
    +    LPCWSTR action;
    +    STANDARDACTIONHANDLER handler;
    +};
    +
    +struct _actions StandardActions[] = {
    +    { szAllocateRegistrySpace, NULL},
    +    { szAppSearch, ACTION_AppSearch },
    +    { szBindImage, NULL},
    +    { szCCPSearch, NULL},
    +    { szCostFinalize, ACTION_CostFinalize },
    +    { szCostInitialize, ACTION_CostInitialize },
    +    { szCreateFolders, ACTION_CreateFolders },
    +    { szCreateShortcuts, ACTION_CreateShortcuts },
    +    { szDeleteServices, NULL},
    +    { szDisableRollback, NULL},
    +    { szDuplicateFiles, ACTION_DuplicateFiles},
    +    { szExecuteAction, NULL},
    +    { szFileCost, ACTION_FileCost },
    +    { szFindRelatedProducts, NULL},
    +    { szForceReboot, ACTION_ForceReboot },
    +    { szInstallAdminPackage, NULL},
    +    { szInstallExecute, ACTION_InstallExecute },
    +    { szInstallExecuteAgain, ACTION_InstallExecute },
    +    { szInstallFiles, ACTION_InstallFiles},
    +    { szInstallFinalize, ACTION_InstallFinalize },
    +    { szInstallInitialize, ACTION_InstallInitialize },
    +    { szInstallSFPCatalogFile, NULL},
    +    { szInstallValidate, ACTION_InstallValidate },
    +    { szIsolateComponents, NULL},
    +    { szLaunchConditions, ACTION_LaunchConditions },
    +    { szMigrateFeatureStates, NULL},
    +    { szMoveFiles, NULL},
    +    { szMsiPublishAssemblies, NULL},
    +    { szMsiUnpublishAssemblies, NULL},
    +    { szInstallODBC, NULL},
    +    { szInstallServices, NULL},
    +    { szPatchFiles, NULL},
    +    { szProcessComponents, ACTION_ProcessComponents },
    +    { szPublishComponents, NULL},
    +    { szPublishFeatures, ACTION_PublishFeatures },
    +    { szPublishProduct, ACTION_PublishProduct },
    +    { szRegisterClassInfo, ACTION_RegisterClassInfo },
    +    { szRegisterComPlus, NULL},
    +    { szRegisterExtensionInfo, ACTION_RegisterExtensionInfo },
    +    { szRegisterFonts, NULL},
    +    { szRegisterMIMEInfo, ACTION_RegisterMIMEInfo },
    +    { szRegisterProduct, ACTION_RegisterProduct },
    +    { szRegisterProgIdInfo, ACTION_RegisterProgIdInfo },
    +    { szRegisterTypeLibraries, ACTION_RegisterTypeLibraries },
    +    { szRegisterUser, ACTION_RegisterUser},
    +    { szRemoveDuplicateFiles, NULL},
    +    { szRemoveEnvironmentStrings, NULL},
    +    { szRemoveExistingProducts, NULL},
    +    { szRemoveFiles, NULL},
    +    { szRemoveFolders, NULL},
    +    { szRemoveIniValues, NULL},
    +    { szRemoveODBC, NULL},
    +    { szRemoveRegistryValues, NULL},
    +    { szRemoveShortcuts, NULL},
    +    { szResolveSource, ACTION_ResolveSource},
    +    { szRMCCPSearch, NULL},
    +    { szScheduleReboot, NULL},
    +    { szSelfRegModules, ACTION_SelfRegModules },
    +    { szSelfUnregModules, NULL},
    +    { szSetODBCFolders, NULL},
    +    { szStartServices, NULL},
    +    { szStopServices, NULL},
    +    { szUnpublishComponents, NULL},
    +    { szUnpublishFeatures, NULL},
    +    { szUnregisterClassInfo, NULL},
    +    { szUnregisterComPlus, NULL},
    +    { szUnregisterExtensionInfo, NULL},
    +    { szUnregisterFonts, NULL},
    +    { szUnregisterMIMEInfo, NULL},
    +    { szUnregisterProgIdInfo, NULL},
    +    { szUnregisterTypeLibraries, NULL},
    +    { szValidateProductID, NULL},
    +    { szWriteEnvironmentStrings, NULL},
    +    { szWriteIniValues, ACTION_WriteIniValues },
    +    { szWriteRegistryValues, ACTION_WriteRegistryValues},
    +    { NULL, NULL},
    +};
    +
     
     /******************************************************** 
      * helper functions to get around current HACKS and such
    @@ -235,41 +358,7 @@ inline static void reduce_to_longfilename(WCHAR* filename)
             memmove(filename, p+1, (strlenW(p+1)+1)*sizeof(WCHAR));
     }
     
    -inline static char *strdupWtoA( const WCHAR *str )
    -{
    -    char *ret = NULL;
    -    if (str)
    -    {
    -        DWORD len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL
    -);
    -        if ((ret = HeapAlloc( GetProcessHeap(), 0, len )))
    -            WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
    -    }
    -    return ret;
    -}
    -
    -inline static WCHAR *strdupAtoW( const char *str )
    -{
    -    WCHAR *ret = NULL;
    -    if (str)
    -    {
    -        DWORD len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
    -        if ((ret = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
    -            MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len );
    -    }
    -    return ret;
    -}
    -
    -static LPWSTR dupstrW(LPCWSTR src)
    -{
    -    LPWSTR dest;
    -    if (!src) return NULL;
    -    dest = HeapAlloc(GetProcessHeap(), 0, (strlenW(src)+1)*sizeof(WCHAR));
    -    strcpyW(dest, src);
    -    return dest;
    -}
    -
    -inline static WCHAR *load_dynamic_stringW(MSIRECORD *row, INT index)
    +WCHAR *load_dynamic_stringW(MSIRECORD *row, INT index)
     {
         UINT rc;
         DWORD sz;
    @@ -301,8 +390,7 @@ inline static WCHAR *load_dynamic_stringW(MSIRECORD *row, INT index)
         return ret;
     }
     
    -inline static LPWSTR load_dynamic_property(MSIPACKAGE *package, LPCWSTR prop,
    -                                           UINT* rc)
    +LPWSTR load_dynamic_property(MSIPACKAGE *package, LPCWSTR prop, UINT* rc)
     {
         DWORD sz = 0;
         LPWSTR str;
    @@ -328,7 +416,7 @@ inline static LPWSTR load_dynamic_property(MSIPACKAGE *package, LPCWSTR prop,
         return str;
     }
     
    -inline static int get_loaded_component(MSIPACKAGE* package, LPCWSTR Component )
    +int get_loaded_component(MSIPACKAGE* package, LPCWSTR Component )
     {
         int rc = -1;
         DWORD i;
    @@ -344,7 +432,7 @@ inline static int get_loaded_component(MSIPACKAGE* package, LPCWSTR Component )
         return rc;
     }
     
    -inline static int get_loaded_feature(MSIPACKAGE* package, LPCWSTR Feature )
    +int get_loaded_feature(MSIPACKAGE* package, LPCWSTR Feature )
     {
         int rc = -1;
         DWORD i;
    @@ -360,7 +448,7 @@ inline static int get_loaded_feature(MSIPACKAGE* package, LPCWSTR Feature )
         return rc;
     }
     
    -inline static int get_loaded_file(MSIPACKAGE* package, LPCWSTR file)
    +int get_loaded_file(MSIPACKAGE* package, LPCWSTR file)
     {
         int rc = -1;
         DWORD i;
    @@ -376,8 +464,7 @@ inline static int get_loaded_file(MSIPACKAGE* package, LPCWSTR file)
         return rc;
     }
     
    -
    -static int track_tempfile(MSIPACKAGE *package, LPCWSTR name, LPCWSTR path)
    +int track_tempfile(MSIPACKAGE *package, LPCWSTR name, LPCWSTR path)
     {
         DWORD i;
         DWORD index;
    @@ -408,7 +495,7 @@ static int track_tempfile(MSIPACKAGE *package, LPCWSTR name, LPCWSTR path)
         return 0;
     }
     
    -void ACTION_remove_tracked_tempfiles(MSIPACKAGE* package)
    +static void remove_tracked_tempfiles(MSIPACKAGE* package)
     {
         DWORD i;
     
    @@ -426,13 +513,43 @@ void ACTION_remove_tracked_tempfiles(MSIPACKAGE* package)
         }
     }
     
    +/* wrapper to resist a need for a full rewrite right now */
    +DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR** data )
    +{
    +    if (ptr)
    +    {
    +        MSIRECORD *rec = MSI_CreateRecord(1);
    +        DWORD size = 0;
    +
    +        MSI_RecordSetStringW(rec,0,ptr);
    +        MSI_FormatRecordW(package,rec,NULL,&size);
    +        if (size >= 0)
    +        {
    +            size++;
    +            *data = HeapAlloc(GetProcessHeap(),0,size*sizeof(WCHAR));
    +            if (size > 1)
    +                MSI_FormatRecordW(package,rec,*data,&size);
    +            else
    +                *data[0] = 0;
    +            msiobj_release( &rec->hdr );
    +            return sizeof(WCHAR)*size;
    +        }
    +        msiobj_release( &rec->hdr );
    +    }
    +
    +    *data = NULL;
    +    return 0;
    +}
    +
     /* Called when the package is being closed */
    -extern void ACTION_free_package_structures( MSIPACKAGE* package)
    +void ACTION_free_package_structures( MSIPACKAGE* package)
     {
         INT i;
         
         TRACE("Freeing package action data\n");
     
    +    remove_tracked_tempfiles(package);
    +
         /* No dynamic buffers in features */
         if (package->features && package->loaded_features > 0)
             HeapFree(GetProcessHeap(),0,package->features);
    @@ -465,54 +582,16 @@ extern void ACTION_free_package_structures( MSIPACKAGE* package)
     
         if (package->files && package->loaded_files > 0)
             HeapFree(GetProcessHeap(),0,package->files);
    -}
     
    -static UINT ACTION_OpenQuery( MSIDATABASE *db, MSIQUERY **view, LPCWSTR fmt, ... )
    -{
    -    LPWSTR szQuery;
    -    LPCWSTR p;
    -    UINT sz, rc;
    -    va_list va;
    +    for (i = 0; i < package->DeferredActionCount; i++)
    +        HeapFree(GetProcessHeap(),0,package->DeferredAction[i]);
    +    HeapFree(GetProcessHeap(),0,package->DeferredAction);
     
    -    /* figure out how much space we need to allocate */
    -    va_start(va, fmt);
    -    sz = strlenW(fmt) + 1;
    -    p = fmt;
    -    while (*p)
    -    {
    -        p = strchrW(p, '%');
    -        if (!p)
    -            break;
    -        p++;
    -        switch (*p)
    -        {
    -        case 's':  /* a string */
    -            sz += strlenW(va_arg(va,LPCWSTR));
    -            break;
    -        case 'd':
    -        case 'i':  /* an integer -2147483648 seems to be longest */
    -            sz += 3*sizeof(int);
    -            (void)va_arg(va,int);
    -            break;
    -        case '%':  /* a single % - leave it alone */
    -            break;
    -        default:
    -            FIXME("Unhandled character type %c\n",*p);
    -        }
    -        p++;
    -    }
    -    va_end(va);
    +    for (i = 0; i < package->CommitActionCount; i++)
    +        HeapFree(GetProcessHeap(),0,package->CommitAction[i]);
    +    HeapFree(GetProcessHeap(),0,package->CommitAction);
     
    -    /* construct the string */
    -    szQuery = HeapAlloc(GetProcessHeap(), 0, sz*sizeof(WCHAR));
    -    va_start(va, fmt);
    -    vsnprintfW(szQuery, sz, fmt, va);
    -    va_end(va);
    -
    -    /* perform the query */
    -    rc = MSI_DatabaseOpenViewW(db, szQuery, view);
    -    HeapFree(GetProcessHeap(), 0, szQuery);
    -    return rc;
    +    HeapFree(GetProcessHeap(),0,package->PackagePath);
     }
     
     static void ui_progress(MSIPACKAGE *package, int a, int b, int c, int d )
    @@ -526,6 +605,8 @@ static void ui_progress(MSIPACKAGE *package, int a, int b, int c, int d )
         MSI_RecordSetInteger(row,4,d);
         MSI_ProcessMessage(package, INSTALLMESSAGE_PROGRESS, row);
         msiobj_release(&row->hdr);
    +
    +    msi_dialog_check_messages(package->dialog, NULL);
     }
     
     static void ui_actiondata(MSIPACKAGE *package, LPCWSTR action, MSIRECORD * record)
    @@ -538,11 +619,11 @@ static void ui_actiondata(MSIPACKAGE *package, LPCWSTR action, MSIRECORD * recor
         UINT rc;
         MSIQUERY * view;
         MSIRECORD * row = 0;
    -    LPWSTR ptr;
    +    DWORD size;
     
         if (!package->LastAction || strcmpW(package->LastAction,action))
         {
    -        rc = ACTION_OpenQuery(package->db, &view, Query_t, action);
    +        rc = MSI_OpenQuery(package->db, &view, Query_t, action);
             if (rc != ERROR_SUCCESS)
                 return;
     
    @@ -568,12 +649,10 @@ static void ui_actiondata(MSIPACKAGE *package, LPCWSTR action, MSIRECORD * recor
             }
     
             /* update the cached actionformat */
    -        if (package->ActionFormat)
    -            HeapFree(GetProcessHeap(),0,package->ActionFormat);
    +        HeapFree(GetProcessHeap(),0,package->ActionFormat);
             package->ActionFormat = load_dynamic_stringW(row,3);
     
    -        if (package->LastAction)
    -            HeapFree(GetProcessHeap(),0,package->LastAction);
    +        HeapFree(GetProcessHeap(),0,package->LastAction);
             package->LastAction = dupstrW(action);
     
             msiobj_release(&row->hdr);
    @@ -581,38 +660,9 @@ static void ui_actiondata(MSIPACKAGE *package, LPCWSTR action, MSIRECORD * recor
             msiobj_release(&view->hdr);
         }
     
    -    message[0]=0;
    -    ptr = package->ActionFormat;
    -    while (*ptr)
    -    {
    -        LPWSTR ptr2;
    -        LPWSTR data=NULL;
    -        WCHAR tmp[1023];
    -        INT field;
    -
    -        ptr2 = strchrW(ptr,'[');
    -        if (ptr2)
    -        {
    -            strncpyW(tmp,ptr,ptr2-ptr);
    -            tmp[ptr2-ptr]=0;
    -            strcatW(message,tmp);
    -            ptr2++;
    -            field = atoiW(ptr2);
    -            data = load_dynamic_stringW(record,field);
    -            if (data)
    -            {
    -                strcatW(message,data);
    -                HeapFree(GetProcessHeap(),0,data);
    -            }
    -            ptr=strchrW(ptr2,']');
    -            ptr++;
    -        }
    -        else
    -        {
    -            strcatW(message,ptr);
    -            break;
    -        }
    -    }
    +    MSI_RecordSetStringW(record,0,package->ActionFormat);
    +    size = 1024;
    +    MSI_FormatRecordW(package,record,message,&size);
     
         row = MSI_CreateRecord(1);
         MSI_RecordSetStringW(row,1,message);
    @@ -641,7 +691,7 @@ static void ui_actionstart(MSIPACKAGE *package, LPCWSTR action)
     
         GetTimeFormatW(LOCALE_USER_DEFAULT, 0, NULL, format, timet, 0x100);
     
    -    rc = ACTION_OpenQuery(package->db, &view, Query_t, action);
    +    rc = MSI_OpenQuery(package->db, &view, Query_t, action);
         if (rc != ERROR_SUCCESS)
             return;
         rc = MSI_ViewExecute(view, 0);
    @@ -765,11 +815,16 @@ UINT ACTION_DoTopLevelINSTALL(MSIPACKAGE *package, LPCWSTR szPackagePath,
         WCHAR buffer[10];
         UINT rc;
         static const WCHAR szUILevel[] = {'U','I','L','e','v','e','l',0};
    +    static const WCHAR szAction[] = {'A','C','T','I','O','N',0};
    +    static const WCHAR szInstall[] = {'I','N','S','T','A','L','L',0};
    +
    +    MSI_SetPropertyW(package, szAction, szInstall);
     
         if (szPackagePath)   
         {
             LPWSTR p, check, path;
      
    +        package->PackagePath = dupstrW(szPackagePath);
             path = dupstrW(szPackagePath);
             p = strrchrW(path,'\\');    
             if (p)
    @@ -777,6 +832,13 @@ UINT ACTION_DoTopLevelINSTALL(MSIPACKAGE *package, LPCWSTR szPackagePath,
                 p++;
                 *p=0;
             }
    +        else
    +        {
    +            HeapFree(GetProcessHeap(),0,path);
    +            path = HeapAlloc(GetProcessHeap(),0,MAX_PATH*sizeof(WCHAR));
    +            GetCurrentDirectoryW(MAX_PATH,path);
    +            strcatW(path,cszbs);
    +        }
     
             check = load_dynamic_property(package, cszSourceDir,NULL);
             if (!check)
    @@ -858,12 +920,25 @@ UINT ACTION_DoTopLevelINSTALL(MSIPACKAGE *package, LPCWSTR szPackagePath,
         }
         else
             rc = ACTION_ProcessExecSequence(package,FALSE);
    +    
    +    if (rc == -1)
    +    {
    +        /* install was halted but should be considered a success */
    +        rc = ERROR_SUCCESS;
    +    }
     
         /* process the ending type action */
         if (rc == ERROR_SUCCESS)
    -        rc = ACTION_PerformActionSequence(package,-1);
    +        ACTION_PerformActionSequence(package,-1);
    +    else if (rc == ERROR_INSTALL_USEREXIT) 
    +        ACTION_PerformActionSequence(package,-2);
         else if (rc == ERROR_FUNCTION_FAILED) 
    -        rc = ACTION_PerformActionSequence(package,-3);
    +        ACTION_PerformActionSequence(package,-3);
    +    else if (rc == ERROR_INSTALL_SUSPEND) 
    +        ACTION_PerformActionSequence(package,-4);
    +
    +    /* finish up running custom actions */
    +    ACTION_FinishCustomActions(package);
         
         return rc;
     }
    @@ -883,7 +958,7 @@ static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq)
        'w','h','e','r','e',' ','S','e','q','u','e','n','c','e',' ',
            '=',' ','%','i',0};
     
    -    rc = ACTION_OpenQuery(package->db, &view, ExecSeqQuery, seq);
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, seq);
     
         if (rc == ERROR_SUCCESS)
         {
    @@ -994,7 +1069,7 @@ static UINT ACTION_ProcessExecSequence(MSIPACKAGE *package, BOOL UIran)
             msiobj_release(&view->hdr);
         }
     
    -    rc = ACTION_OpenQuery(package->db, &view, ExecSeqQuery, seq);
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, seq);
         if (rc == ERROR_SUCCESS)
         {
             rc = MSI_ViewExecute(view, 0);
    @@ -1143,7 +1218,7 @@ static UINT ACTION_ProcessUISequence(MSIPACKAGE *package)
                     break;
                 }
     
    -            rc = ACTION_PerformAction(package,buffer);
    +            rc = ACTION_PerformUIAction(package,buffer);
     
                 if (rc == ERROR_FUNCTION_NOT_CALLED)
                     rc = ERROR_SUCCESS;
    @@ -1169,11 +1244,71 @@ end:
     /********************************************************
      * ACTION helper functions and functions that perform the actions
      *******************************************************/
    +BOOL ACTION_HandleStandardAction(MSIPACKAGE *package, LPCWSTR action, UINT* rc)
    +{
    +    BOOL ret = FALSE; 
    +
    +    int i;
    +    i = 0;
    +    while (StandardActions[i].action != NULL)
    +    {
    +        if (strcmpW(StandardActions[i].action, action)==0)
    +        {
    +            ui_actioninfo(package, action, TRUE, 0);
    +            ui_actionstart(package, action);
    +            if (StandardActions[i].handler)
    +            {
    +                *rc = StandardActions[i].handler(package);
    +            }
    +            else
    +            {
    +                FIXME("UNHANDLED Standard Action %s\n",debugstr_w(action));
    +                *rc = ERROR_SUCCESS;
    +            }
    +            ui_actioninfo(package, action, FALSE, *rc);
    +            ret = TRUE;
    +            break;
    +        }
    +        i++;
    +    }
    +    return ret;
    +}
    +
    +BOOL ACTION_HandleDialogBox(MSIPACKAGE *package, LPCWSTR dialog, UINT* rc)
    +{
    +    BOOL ret = FALSE;
    +
    +    /*
    +     * for the UI when we get that working
    +     *
    +    if (ACTION_DialogBox(package,dialog) == ERROR_SUCCESS)
    +    {
    +        *rc = package->CurrentInstallState;
    +        ret = TRUE;
    +    }
    +    */
    +    return ret;
    +}
    +
    +BOOL ACTION_HandleCustomAction(MSIPACKAGE* package, LPCWSTR action, UINT* rc)
    +{
    +    BOOL ret=FALSE;
    +    UINT arc;
    +
    +    arc = ACTION_CustomAction(package,action,FALSE);
    +
    +    if (arc != ERROR_CALL_NOT_IMPLEMENTED)
    +    {
    +        *rc = arc;
    +        ret = TRUE;
    +    }
    +    return ret;
    +}
     
     /* 
    - * Alot of actions are really important even if they don't do anything
    - * explicit.. Lots of properties are set at the beginning of the installation
    - * CostFinalize does a bunch of work to translated the directories and such
    + * A lot of actions are really important even if they don't do anything
    + * explicit... Lots of properties are set at the beginning of the installation
    + * CostFinalize does a bunch of work to translate the directories and such
      * 
      * But until I get write access to the database that is hard, so I am going to
      * hack it to see if I can get something to run.
    @@ -1181,526 +1316,52 @@ end:
     UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action)
     {
         UINT rc = ERROR_SUCCESS; 
    +    BOOL handled;
     
         TRACE("Performing action (%s)\n",debugstr_w(action));
    -    ui_actioninfo(package, action, TRUE, 0);
    -    ui_actionstart(package, action);
     
    -    /* pre install, setup and configuration block */
    -    if (strcmpW(action,szLaunchConditions)==0)
    -        rc = ACTION_LaunchConditions(package);
    -    else if (strcmpW(action,szCostInitialize)==0)
    -        rc = ACTION_CostInitialize(package);
    -    else if (strcmpW(action,szFileCost)==0)
    -        rc = ACTION_FileCost(package);
    -    else if (strcmpW(action,szCostFinalize)==0)
    -        rc = ACTION_CostFinalize(package);
    -    else if (strcmpW(action,szInstallValidate)==0)
    -        rc = ACTION_InstallValidate(package);
    +    handled = ACTION_HandleStandardAction(package, action, &rc);
     
    -    /* install block */
    -    else if (strcmpW(action,szProcessComponents)==0)
    -        rc = ACTION_ProcessComponents(package);
    -    else if (strcmpW(action,szInstallInitialize)==0)
    -        rc = ACTION_InstallInitialize(package);
    -    else if (strcmpW(action,szCreateFolders)==0)
    -        rc = ACTION_CreateFolders(package);
    -    else if (strcmpW(action,szInstallFiles)==0)
    -        rc = ACTION_InstallFiles(package);
    -    else if (strcmpW(action,szDuplicateFiles)==0)
    -        rc = ACTION_DuplicateFiles(package);
    -    else if (strcmpW(action,szWriteRegistryValues)==0)
    -        rc = ACTION_WriteRegistryValues(package);
    -     else if (strcmpW(action,szRegisterTypeLibraries)==0)
    -        rc = ACTION_RegisterTypeLibraries(package);
    -     else if (strcmpW(action,szRegisterClassInfo)==0)
    -        rc = ACTION_RegisterClassInfo(package);
    -     else if (strcmpW(action,szRegisterProgIdInfo)==0)
    -        rc = ACTION_RegisterProgIdInfo(package);
    -     else if (strcmpW(action,szCreateShortcuts)==0)
    -        rc = ACTION_CreateShortcuts(package);
    -    else if (strcmpW(action,szPublishProduct)==0)
    -        rc = ACTION_PublishProduct(package);
    +    if (!handled)
    +        handled = ACTION_HandleCustomAction(package, action, &rc);
     
    -    /*
    -     Called during iTunes but unimplemented and seem important
    -
    -     ResolveSource  (sets SourceDir)
    -     RegisterProduct
    -     InstallFinalize
    -     */
    -     else if ((rc = ACTION_CustomAction(package,action)) != ERROR_SUCCESS)
    -     {
    +    if (!handled)
    +    {
             FIXME("UNHANDLED MSI ACTION %s\n",debugstr_w(action));
             rc = ERROR_FUNCTION_NOT_CALLED;
    -     }
    +    }
     
    -    ui_actioninfo(package, action, FALSE, rc);
    +    package->CurrentInstallState = rc;
         return rc;
     }
     
    -
    -static UINT ACTION_CustomAction(MSIPACKAGE *package,const WCHAR *action)
    +UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action)
     {
         UINT rc = ERROR_SUCCESS;
    -    MSIQUERY * view;
    -    MSIRECORD * row = 0;
    -    static const WCHAR ExecSeqQuery[] =
    -    {'s','e','l','e','c','t',' ','*',' ','f','r','o','m',' ','C','u','s','t','o'
    -        ,'m','A','c','t','i','o','n',' ','w','h','e','r','e',' ','`','A','c','t','i'
    -        ,'o','n','`',' ','=',' ','`','%','s','`',0};
    -    UINT type;
    -    LPWSTR source;
    -    LPWSTR target;
    -    WCHAR *deformated=NULL;
    +    BOOL handled = FALSE;
     
    -    rc = ACTION_OpenQuery(package->db, &view, ExecSeqQuery, action);
    -    if (rc != ERROR_SUCCESS)
    -        return rc;
    +    TRACE("Performing action (%s)\n",debugstr_w(action));
     
    -    rc = MSI_ViewExecute(view, 0);
    -    if (rc != ERROR_SUCCESS)
    +    handled = ACTION_HandleStandardAction(package, action, &rc);
    +
    +    if (!handled)
    +        handled = ACTION_HandleCustomAction(package, action, &rc);
    +
    +    if (!handled)
    +        handled = ACTION_HandleDialogBox(package, action, &rc);
    +
    +    msi_dialog_check_messages( package->dialog, NULL );
    +
    +    if (!handled)
         {
    -        MSI_ViewClose(view);
    -        msiobj_release(&view->hdr);
    -        return rc;
    +        FIXME("UNHANDLED MSI ACTION %s\n",debugstr_w(action));
    +        rc = ERROR_FUNCTION_NOT_CALLED;
         }
     
    -    rc = MSI_ViewFetch(view,&row);
    -    if (rc != ERROR_SUCCESS)
    -    {
    -        MSI_ViewClose(view);
    -        msiobj_release(&view->hdr);
    -        return rc;
    -    }
    -
    -    type = MSI_RecordGetInteger(row,2);
    -
    -    source = load_dynamic_stringW(row,3);
    -    target = load_dynamic_stringW(row,4);
    -
    -    TRACE("Handling custom action %s (%x %s %s)\n",debugstr_w(action),type,
    -          debugstr_w(source), debugstr_w(target));
    -
    -    /* we are ignoring ALOT of flags and important synchronization stuff */
    -    switch (type & CUSTOM_ACTION_TYPE_MASK)
    -    {
    -        case 1: /* DLL file stored in a Binary table stream */
    -            rc = HANDLE_CustomType1(package,source,target,type);
    -            break;
    -        case 2: /* EXE file stored in a Binary table strem */
    -            rc = HANDLE_CustomType2(package,source,target,type);
    -            break;
    -        case 18: /*EXE file installed with package */
    -            rc = HANDLE_CustomType18(package,source,target,type);
    -            break;
    -        case 50: /*EXE file specified by a property value */
    -            rc = HANDLE_CustomType50(package,source,target,type);
    -            break;
    -        case 34: /*EXE to be run in specified directory */
    -            rc = HANDLE_CustomType34(package,source,target,type);
    -            break;
    -        case 35: /* Directory set with formatted text. */
    -            deformat_string(package,target,&deformated);
    -            MSI_SetTargetPathW(package, source, deformated);
    -            HeapFree(GetProcessHeap(),0,deformated);
    -            break;
    -        case 51: /* Property set with formatted text. */
    -            deformat_string(package,target,&deformated);
    -            rc = MSI_SetPropertyW(package,source,deformated);
    -            HeapFree(GetProcessHeap(),0,deformated);
    -            break;
    -        default:
    -            FIXME("UNHANDLED ACTION TYPE %i (%s %s)\n",
    -             type & CUSTOM_ACTION_TYPE_MASK, debugstr_w(source),
    -             debugstr_w(target));
    -    }
    -
    -    HeapFree(GetProcessHeap(),0,source);
    -    HeapFree(GetProcessHeap(),0,target);
    -    msiobj_release(&row->hdr);
    -    MSI_ViewClose(view);
    -    msiobj_release(&view->hdr);
    +    package->CurrentInstallState = rc;
         return rc;
     }
     
    -static UINT store_binary_to_temp(MSIPACKAGE *package, const LPWSTR source, 
    -                                LPWSTR tmp_file)
    -{
    -    DWORD sz=MAX_PATH;
    -
    -    if (MSI_GetPropertyW(package, cszTempFolder, tmp_file, &sz) 
    -        != ERROR_SUCCESS)
    -        GetTempPathW(MAX_PATH,tmp_file);
    -
    -    strcatW(tmp_file,source);
    -
    -    if (GetFileAttributesW(tmp_file) != INVALID_FILE_ATTRIBUTES)
    -    {
    -        TRACE("File already exists\n");
    -        return ERROR_SUCCESS;
    -    }
    -    else
    -    {
    -        /* write out the file */
    -        UINT rc;
    -        MSIQUERY * view;
    -        MSIRECORD * row = 0;
    -        static const WCHAR fmt[] =
    -        {'s','e','l','e','c','t',' ','*',' ','f','r','o','m',' ','B','i'
    -,'n','a','r','y',' ','w','h','e','r','e',' ','N','a','m','e','=','`','%','s','`',0};
    -        HANDLE the_file;
    -        CHAR buffer[1024];
    -
    -        if (track_tempfile(package, source, tmp_file)!=0)
    -            FIXME("File Name in temp tracking collision\n");
    -
    -        the_file = CreateFileW(tmp_file, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
    -                           FILE_ATTRIBUTE_NORMAL, NULL);
    -    
    -        if (the_file == INVALID_HANDLE_VALUE)
    -            return ERROR_FUNCTION_FAILED;
    -
    -        rc = ACTION_OpenQuery(package->db, &view, fmt, source);
    -        if (rc != ERROR_SUCCESS)
    -            return rc;
    -
    -        rc = MSI_ViewExecute(view, 0);
    -        if (rc != ERROR_SUCCESS)
    -        {
    -            MSI_ViewClose(view);
    -            msiobj_release(&view->hdr);
    -            return rc;
    -        }
    -
    -        rc = MSI_ViewFetch(view,&row);
    -        if (rc != ERROR_SUCCESS)
    -        {
    -            MSI_ViewClose(view);
    -            msiobj_release(&view->hdr);
    -            return rc;
    -        }
    -
    -        do 
    -        {
    -            DWORD write;
    -            sz = 1024;
    -            rc = MSI_RecordReadStream(row,2,buffer,&sz);
    -            if (rc != ERROR_SUCCESS)
    -            {
    -                ERR("Failed to get stream\n");
    -                CloseHandle(the_file);  
    -                DeleteFileW(tmp_file);
    -                break;
    -            }
    -            WriteFile(the_file,buffer,sz,&write,NULL);
    -        } while (sz == 1024);
    -
    -        CloseHandle(the_file);
    -
    -        msiobj_release(&row->hdr);
    -        MSI_ViewClose(view);
    -        msiobj_release(&view->hdr);
    -    }
    -
    -    return ERROR_SUCCESS;
    -}
    -
    -typedef UINT __stdcall CustomEntry(MSIHANDLE);
    -typedef struct 
    -{
    -        MSIPACKAGE *package;
    -        WCHAR *target;
    -        WCHAR *source;
    -} thread_struct;
    -
    -static DWORD WINAPI ACTION_CallDllFunction(thread_struct *stuff)
    -{
    -    HANDLE hModule;
    -    LPSTR proc;
    -    CustomEntry *fn;
    -
    -    TRACE("calling function (%s, %s) \n", debugstr_w(stuff->source),
    -          debugstr_w(stuff->target));
    -
    -    hModule = LoadLibraryW(stuff->source);
    -    if (hModule)
    -    {
    -        proc = strdupWtoA( stuff->target );
    -        fn = (CustomEntry*)GetProcAddress(hModule,proc);
    -        if (fn)
    -        {
    -            MSIHANDLE hPackage;
    -            MSIPACKAGE *package = stuff->package;
    -
    -            TRACE("Calling function %s\n", proc);
    -            hPackage = msiobj_findhandle( &package->hdr );
    -            if (hPackage )
    -            {
    -                fn(hPackage);
    -                msiobj_release( &package->hdr );
    -            }
    -            else
    -                ERR("Handle for object %p not found\n", package );
    -        }
    -        else
    -            ERR("Cannot load functon\n");
    -
    -        HeapFree(GetProcessHeap(),0,proc);
    -        FreeLibrary(hModule);
    -    }
    -    else
    -        ERR("Unable to load library\n");
    -    msiobj_release( &stuff->package->hdr );
    -    HeapFree(GetProcessHeap(),0,stuff->source);
    -    HeapFree(GetProcessHeap(),0,stuff->target);
    -    HeapFree(GetProcessHeap(), 0, stuff);
    -    return 0;
    -}
    -
    -static DWORD WINAPI DllThread(LPVOID info)
    -{
    -    thread_struct *stuff;
    -    DWORD rc = 0;
    -  
    -    TRACE("MSI Thread (0x%lx) started for custom action\n",
    -                        GetCurrentThreadId());
    -    
    -    stuff = (thread_struct*)info;
    -    rc = ACTION_CallDllFunction(stuff);
    -
    -    TRACE("MSI Thread (0x%lx) finished\n",GetCurrentThreadId());
    -    /* clse all handles for this thread */
    -    MsiCloseAllHandles();
    -    return rc;
    -}
    -
    -static UINT HANDLE_CustomType1(MSIPACKAGE *package, const LPWSTR source, 
    -                                const LPWSTR target, const INT type)
    -{
    -    WCHAR tmp_file[MAX_PATH];
    -    thread_struct *info;
    -    DWORD ThreadId;
    -    HANDLE ThreadHandle;
    -
    -    store_binary_to_temp(package, source, tmp_file);
    -
    -    TRACE("Calling function %s from %s\n",debugstr_w(target),
    -          debugstr_w(tmp_file));
    -
    -    if (!strchrW(tmp_file,'.'))
    -    {
    -        static const WCHAR dot[]={'.',0};
    -        strcatW(tmp_file,dot);
    -    } 
    -
    -    info = HeapAlloc( GetProcessHeap(), 0, sizeof(*info) );
    -    msiobj_addref( &package->hdr );
    -    info->package = package;
    -    info->target = dupstrW(target);
    -    info->source = dupstrW(tmp_file);
    -
    -    ThreadHandle = CreateThread(NULL,0,DllThread,(LPVOID)info,0,&ThreadId);
    -
    -    if (!(type & 0xc0))
    -        WaitForSingleObject(ThreadHandle,INFINITE);
    -
    -    CloseHandle(ThreadHandle);
    - 
    -    return ERROR_SUCCESS;
    -}
    -
    -static UINT HANDLE_CustomType2(MSIPACKAGE *package, const LPWSTR source, 
    -                                const LPWSTR target, const INT type)
    -{
    -    WCHAR tmp_file[MAX_PATH];
    -    STARTUPINFOW si;
    -    PROCESS_INFORMATION info;
    -    BOOL rc;
    -    INT len;
    -    WCHAR *deformated;
    -    WCHAR *cmd;
    -    static const WCHAR spc[] = {' ',0};
    -
    -    memset(&si,0,sizeof(STARTUPINFOW));
    -
    -    store_binary_to_temp(package, source, tmp_file);
    -
    -    deformat_string(package,target,&deformated);
    -
    -    len = strlenW(tmp_file) + strlenW(deformated) + 2;
    -   
    -    cmd = (WCHAR*)HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*len);
    -
    -    strcpyW(cmd,tmp_file);
    -    strcatW(cmd,spc);
    -    strcatW(cmd,deformated);
    -
    -    HeapFree(GetProcessHeap(),0,deformated);
    -
    -    TRACE("executing exe %s \n",debugstr_w(cmd));
    -
    -    rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL,
    -                  c_collen, &si, &info);
    -
    -    HeapFree(GetProcessHeap(),0,cmd);
    -
    -    if ( !rc )
    -    {
    -        ERR("Unable to execute command\n");
    -        return ERROR_SUCCESS;
    -    }
    -
    -    if (!(type & 0xc0))
    -        WaitForSingleObject(info.hProcess,INFINITE);
    -
    -    CloseHandle( info.hProcess );
    -    CloseHandle( info.hThread );
    -    return ERROR_SUCCESS;
    -}
    -
    -static UINT HANDLE_CustomType18(MSIPACKAGE *package, const LPWSTR source,
    -                                const LPWSTR target, const INT type)
    -{
    -    STARTUPINFOW si;
    -    PROCESS_INFORMATION info;
    -    BOOL rc;
    -    WCHAR *deformated;
    -    WCHAR *cmd;
    -    INT len;
    -    static const WCHAR spc[] = {' ',0};
    -    int index;
    -
    -    memset(&si,0,sizeof(STARTUPINFOW));
    -
    -    index = get_loaded_file(package,source);
    -
    -    len = strlenW(package->files[index].TargetPath);
    -
    -    deformat_string(package,target,&deformated);
    -    len += strlenW(deformated);
    -    len += 2;
    -
    -    cmd = (WCHAR*)HeapAlloc(GetProcessHeap(),0,len * sizeof(WCHAR));
    -
    -    strcpyW(cmd, package->files[index].TargetPath);
    -    strcatW(cmd, spc);
    -    strcatW(cmd, deformated);
    -
    -    HeapFree(GetProcessHeap(),0,deformated);
    -
    -    TRACE("executing exe %s \n",debugstr_w(cmd));
    -
    -    rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL,
    -                  c_collen, &si, &info);
    -
    -    HeapFree(GetProcessHeap(),0,cmd);
    -    
    -    if ( !rc )
    -    {
    -        ERR("Unable to execute command\n");
    -        return ERROR_SUCCESS;
    -    }
    -
    -    if (!(type & 0xc0))
    -        WaitForSingleObject(info.hProcess,INFINITE);
    -
    -    CloseHandle( info.hProcess );
    -    CloseHandle( info.hThread );
    -    return ERROR_SUCCESS;
    -}
    -
    -static UINT HANDLE_CustomType50(MSIPACKAGE *package, const LPWSTR source,
    -                                const LPWSTR target, const INT type)
    -{
    -    STARTUPINFOW si;
    -    PROCESS_INFORMATION info;
    -    WCHAR *prop;
    -    BOOL rc;
    -    WCHAR *deformated;
    -    WCHAR *cmd;
    -    INT len;
    -    UINT prc;
    -    static const WCHAR spc[] = {' ',0};
    -
    -    memset(&si,0,sizeof(STARTUPINFOW));
    -    memset(&info,0,sizeof(PROCESS_INFORMATION));
    -
    -    prop = load_dynamic_property(package,source,&prc);
    -    if (!prop)
    -        return prc;
    -
    -    deformat_string(package,target,&deformated);
    -    len = strlenW(prop) + strlenW(deformated) + 2;
    -    cmd = (WCHAR*)HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*len);
    -
    -    strcpyW(cmd,prop);
    -    strcatW(cmd,spc);
    -    strcatW(cmd,deformated);
    -
    -    HeapFree(GetProcessHeap(),0,deformated);
    -
    -    TRACE("executing exe %s \n",debugstr_w(cmd));
    -
    -    rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL,
    -                  c_collen, &si, &info);
    -
    -    HeapFree(GetProcessHeap(),0,cmd);
    -    
    -    if ( !rc )
    -    {
    -        ERR("Unable to execute command\n");
    -        return ERROR_SUCCESS;
    -    }
    -
    -    if (!(type & 0xc0))
    -        WaitForSingleObject(info.hProcess,INFINITE);
    -
    -    CloseHandle( info.hProcess );
    -    CloseHandle( info.hThread );
    -    return ERROR_SUCCESS;
    -}
    -
    -static UINT HANDLE_CustomType34(MSIPACKAGE *package, const LPWSTR source,
    -                                const LPWSTR target, const INT type)
    -{
    -    LPWSTR filename, deformated;
    -    STARTUPINFOW si;
    -    PROCESS_INFORMATION info;
    -    BOOL rc;
    -
    -    memset(&si,0,sizeof(STARTUPINFOW));
    -
    -    filename = resolve_folder(package, source, FALSE, FALSE, NULL);
    -
    -    if (!filename)
    -        return ERROR_FUNCTION_FAILED;
    -
    -    SetCurrentDirectoryW(filename);
    -    HeapFree(GetProcessHeap(),0,filename);
    -
    -    deformat_string(package,target,&deformated);
    -
    -    TRACE("executing exe %s \n",debugstr_w(deformated));
    -
    -    rc = CreateProcessW(NULL, deformated, NULL, NULL, FALSE, 0, NULL,
    -                  c_collen, &si, &info);
    -    HeapFree(GetProcessHeap(),0,deformated);
    -
    -    if ( !rc )
    -    {
    -        ERR("Unable to execute command\n");
    -        return ERROR_SUCCESS;
    -    }
    -
    -    if (!(type & 0xc0))
    -        WaitForSingleObject(info.hProcess,INFINITE);
    -
    -    CloseHandle( info.hProcess );
    -    CloseHandle( info.hThread );
    -    return ERROR_SUCCESS;
    -}
    -
     /***********************************************************************
      *            create_full_pathW
      *
    @@ -1945,7 +1606,7 @@ static void load_feature(MSIPACKAGE* package, MSIRECORD * row)
     
         /* load feature components */
     
    -    rc = ACTION_OpenQuery(package->db, &view, Query1, package->features[index].Feature);
    +    rc = MSI_OpenQuery(package->db, &view, Query1, package->features[index].Feature);
         if (rc != ERROR_SUCCESS)
             return;
         rc = MSI_ViewExecute(view,0);
    @@ -1981,7 +1642,7 @@ static void load_feature(MSIPACKAGE* package, MSIRECORD * row)
                 continue;
             }
     
    -        rc = ACTION_OpenQuery(package->db, &view2, Query2, buffer);
    +        rc = MSI_OpenQuery(package->db, &view2, Query2, buffer);
             if (rc != ERROR_SUCCESS)
             {
                 msiobj_release( &row2->hdr );
    @@ -2021,13 +1682,13 @@ static void load_feature(MSIPACKAGE* package, MSIRECORD * row)
      * I am not doing any of the costing functionality yet. 
      * Mostly looking at doing the Component and Feature loading
      *
    - * The native MSI does ALOT of modification to tables here. Mostly adding alot
    - * of temporary columns to the Feature and Component tables. 
    + * The native MSI does A LOT of modification to tables here. Mostly adding
    + * a lot of temporary columns to the Feature and Component tables. 
      *
    - *    note: native msi also tracks the short filename. but I am only going to
    + *    note: Native msi also tracks the short filename. But I am only going to
      *          track the long ones.  Also looking at this directory table
      *          it appears that the directory table does not get the parents
    - *          resolved base on property only based on their entrys in the 
    + *          resolved base on property only based on their entries in the 
      *          directory table.
      */
     static UINT ACTION_CostInitialize(MSIPACKAGE *package)
    @@ -2203,7 +1864,7 @@ static INT load_folder(MSIPACKAGE *package, const WCHAR* dir)
     
         package->folders[index].Directory = dupstrW(dir);
     
    -    rc = ACTION_OpenQuery(package->db, &view, Query, dir);
    +    rc = MSI_OpenQuery(package->db, &view, Query, dir);
         if (rc != ERROR_SUCCESS)
             return -1;
     
    @@ -2259,8 +1920,7 @@ static INT load_folder(MSIPACKAGE *package, const WCHAR* dir)
         if (targetdir)
         {
             TRACE("   TargetDefault = %s\n",debugstr_w(targetdir));
    -        if (package->folders[index].TargetDefault)
    -            HeapFree(GetProcessHeap(),0, package->folders[index].TargetDefault);
    +        HeapFree(GetProcessHeap(),0, package->folders[index].TargetDefault);
             package->folders[index].TargetDefault = dupstrW(targetdir);
         }
     
    @@ -2294,8 +1954,8 @@ static INT load_folder(MSIPACKAGE *package, const WCHAR* dir)
     }
     
     
    -static LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name,
    -                           BOOL source, BOOL set_prop, MSIFOLDER **folder)
    +LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name, BOOL source, 
    +                      BOOL set_prop, MSIFOLDER **folder)
     {
         DWORD i;
         LPWSTR p, path = NULL;
    @@ -2376,7 +2036,8 @@ static LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name,
         }
         else if (!source && package->folders[i].Property)
         {
    -        path = dupstrW(package->folders[i].Property);
    +        path = build_directory_name(2, package->folders[i].Property, NULL);
    +                    
             TRACE("   internally set to %s\n",debugstr_w(path));
             if (set_prop)
                 MSI_SetPropertyW(package,name,path);
    @@ -2409,6 +2070,57 @@ static LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name,
         return path;
     }
     
    +/* update compoennt state based on a feature change */
    +void ACTION_UpdateComponentStates(MSIPACKAGE *package, LPCWSTR szFeature)
    +{
    +    int i;
    +    INSTALLSTATE newstate;
    +    MSIFEATURE *feature;
    +
    +    i = get_loaded_feature(package,szFeature);
    +    if (i < 0)
    +        return;
    +
    +    feature = &package->features[i];
    +    newstate = feature->ActionRequest;
    +
    +    for( i = 0; i < feature->ComponentCount; i++)
    +    {
    +        MSICOMPONENT* component = &package->components[feature->Components[i]];
    +
    +        if (!component->Enabled)
    +            continue;
    +        else
    +        {
    +            if (newstate == INSTALLSTATE_LOCAL)
    +                component->ActionRequest = INSTALLSTATE_LOCAL;
    +            else 
    +            {
    +                int j,k;
    +
    +                component->ActionRequest = newstate;
    +
    +                /*if any other feature wants is local we need to set it local*/
    +                for (j = 0; 
    +                     j < package->loaded_features &&
    +                     component->ActionRequest != INSTALLSTATE_LOCAL; 
    +                     j++)
    +                {
    +                    for (k = 0; k < package->features[j].ComponentCount; k++)
    +                        if ( package->features[j].Components[k] ==
    +                             feature->Components[i] )
    +                        {
    +                            if (package->features[j].ActionRequest == 
    +                                INSTALLSTATE_LOCAL)
    +                                component->ActionRequest = INSTALLSTATE_LOCAL;
    +                            break;
    +                        }
    +                }
    +            }
    +        }
    +    } 
    +}
    +
     static UINT SetFeatureStates(MSIPACKAGE *package)
     {
         LPWSTR level;
    @@ -2541,7 +2253,7 @@ static UINT SetFeatureStates(MSIPACKAGE *package)
     }
     
     /* 
    - * Alot is done in this function aside from just the costing.
    + * A lot is done in this function aside from just the costing.
      * The costing needs to be implemented at some point but for now I am going
      * to focus on the directory building
      *
    @@ -2628,8 +2340,7 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
                 /* calculate target */
                 p = resolve_folder(package, comp->Directory, FALSE, FALSE, NULL);
     
    -            if (file->TargetPath)
    -                HeapFree(GetProcessHeap(),0,file->TargetPath);
    +            HeapFree(GetProcessHeap(),0,file->TargetPath);
     
                 TRACE("file %s is named %s\n",
                        debugstr_w(file->File),debugstr_w(file->FileName));       
    @@ -2661,7 +2372,7 @@ static UINT ACTION_CostFinalize(MSIPACKAGE *package)
                         WCHAR filever[0x100];
                         VS_FIXEDFILEINFO *lpVer;
     
    -                    FIXME("Version comparison.. \n");
    +                    TRACE("Version comparison.. \n");
                         versize = GetFileVersionInfoSizeW(file->TargetPath,&handle);
                         version = HeapAlloc(GetProcessHeap(),0,versize);
                         GetFileVersionInfoW(file->TargetPath, 0, versize, version);
    @@ -2998,7 +2709,10 @@ static BOOL extract_a_cabinet_file(MSIPACKAGE* package, const WCHAR* source,
     
         data.package = package;
         data.cab_path = cab_path;
    -    file_name = strdupWtoA(file);
    +    if (file)
    +        file_name = strdupWtoA(file);
    +    else
    +        file_name = NULL;
         data.file_name = file_name;
     
         ret = FDICopy(hfdi, cabinet, "", 0, cabinet_notify, NULL, &data);
    @@ -3036,7 +2750,7 @@ static UINT ready_media_for_file(MSIPACKAGE *package, UINT sequence,
         if (sequence <= last_sequence)
         {
             TRACE("Media already ready (%u, %u)\n",sequence,last_sequence);
    -        extract_a_cabinet_file(package, source,path,file);
    +        /*extract_a_cabinet_file(package, source,path,file); */
             return ERROR_SUCCESS;
         }
     
    @@ -3095,7 +2809,13 @@ static UINT ready_media_for_file(MSIPACKAGE *package, UINT sequence,
                         GetTempPathW(MAX_PATH,path);
                 }
             }
    -        rc = !extract_a_cabinet_file(package, source,path,file);
    +        rc = !extract_a_cabinet_file(package, source,path,NULL);
    +    }
    +    else
    +    {
    +        sz = MAX_PATH;
    +        MSI_GetPropertyW(package,cszSourceDir,source,&sz);
    +        strcpyW(path,source);
         }
         msiobj_release(&row->hdr);
         MSI_ViewClose(view);
    @@ -3105,7 +2825,7 @@ static UINT ready_media_for_file(MSIPACKAGE *package, UINT sequence,
     
     inline static UINT create_component_directory ( MSIPACKAGE* package, INT component)
     {
    -    UINT rc;
    +    UINT rc = ERROR_SUCCESS;
         MSIFOLDER *folder;
         LPWSTR install_path;
     
    @@ -3188,8 +2908,7 @@ static UINT ACTION_InstallFiles(MSIPACKAGE *package)
                     comp = &package->components[file->ComponentIndex];
     
                 p = resolve_folder(package, comp->Directory, FALSE, FALSE, NULL);
    -            if (file->TargetPath)
    -                HeapFree(GetProcessHeap(),0,file->TargetPath);
    +            HeapFree(GetProcessHeap(),0,file->TargetPath);
     
                 file->TargetPath = build_directory_name(2, p, file->FileName);
     
    @@ -3255,7 +2974,7 @@ inline static UINT get_file_target(MSIPACKAGE *package, LPCWSTR file_key,
         {
             if (strcmpW(file_key,package->files[index].File)==0)
             {
    -            if (package->files[index].State >= 3)
    +            if (package->files[index].State >= 2)
                 {
                     *file_source = dupstrW(package->files[index].TargetPath);
                     return ERROR_SUCCESS;
    @@ -3324,10 +3043,18 @@ static UINT ACTION_DuplicateFiles(MSIPACKAGE *package)
                  INSTALLSTATE_LOCAL)
             {
                 TRACE("Skipping copy due to disabled component\n");
    +
    +            /* the action taken was the same as the current install state */        
    +            package->components[component_index].Action =
    +                package->components[component_index].Installed;
    +
                 msiobj_release(&row->hdr);
                 continue;
             }
     
    +        package->components[component_index].Action = INSTALLSTATE_LOCAL;
    +        package->components[component_index].Installed = INSTALLSTATE_LOCAL;
    +
             sz=0x100;
             rc = MSI_RecordGetStringW(row,3,file_key,&sz);
             if (rc != ERROR_SUCCESS)
    @@ -3343,9 +3070,8 @@ static UINT ACTION_DuplicateFiles(MSIPACKAGE *package)
             {
                 ERR("Original file unknown %s\n",debugstr_w(file_key));
                 msiobj_release(&row->hdr);
    -            if (file_source)
    -                HeapFree(GetProcessHeap(),0,file_source);
    -            break;
    +            HeapFree(GetProcessHeap(),0,file_source);
    +            continue;
             }
     
             if (MSI_RecordIsNull(row,4))
    @@ -3378,8 +3104,7 @@ static UINT ACTION_DuplicateFiles(MSIPACKAGE *package)
                 {
                     ERR("Unable to get destination folder\n");
                     msiobj_release(&row->hdr);
    -                if (file_source)
    -                    HeapFree(GetProcessHeap(),0,file_source);
    +                HeapFree(GetProcessHeap(),0,file_source);
                     break;
                 }
             }
    @@ -3410,7 +3135,7 @@ static UINT ACTION_DuplicateFiles(MSIPACKAGE *package)
     }
     
     
    -/* OK this value is "interpretted" and then formatted based on the 
    +/* OK this value is "interpreted" and then formatted based on the 
        first few characters */
     static LPSTR parse_value(MSIPACKAGE *package, WCHAR *value, DWORD *type, 
                              DWORD *size)
    @@ -3466,6 +3191,7 @@ static LPSTR parse_value(MSIPACKAGE *package, WCHAR *value, DWORD *type,
         }
         else
         {
    +        static const WCHAR szMulti[] = {'[','~',']',0};
             WCHAR *ptr;
             *type=REG_SZ;
     
    @@ -3482,6 +3208,9 @@ static LPSTR parse_value(MSIPACKAGE *package, WCHAR *value, DWORD *type,
              else
                 ptr=value;
     
    +        if (strstrW(value,szMulti))
    +            *type = REG_MULTI_SZ;
    +
             *size = deformat_string(package, ptr,(LPWSTR*)&data);
         }
         return data;
    @@ -3557,9 +3286,16 @@ static UINT ACTION_WriteRegistryValues(MSIPACKAGE *package)
             {
                 TRACE("Skipping write due to disabled component\n");
                 msiobj_release(&row->hdr);
    +
    +            package->components[component_index].Action =
    +                package->components[component_index].Installed;
    +
                 goto next;
             }
     
    +        package->components[component_index].Action = INSTALLSTATE_LOCAL;
    +        package->components[component_index].Installed = INSTALLSTATE_LOCAL;
    +
             /* null values have special meanings during uninstalls and such */
             
             if(MSI_RecordIsNull(row,5))
    @@ -3645,113 +3381,16 @@ static UINT ACTION_WriteRegistryValues(MSIPACKAGE *package)
             msiobj_release(&row->hdr);
             RegCloseKey(hkey);
     next:
    -        if (uikey)
    -            HeapFree(GetProcessHeap(),0,uikey);
    -        if (key)
    -            HeapFree(GetProcessHeap(),0,key);
    -        if (name)
    -            HeapFree(GetProcessHeap(),0,name);
    -        if (component)
    -            HeapFree(GetProcessHeap(),0,component);
    +        HeapFree(GetProcessHeap(),0,uikey);
    +        HeapFree(GetProcessHeap(),0,key);
    +        HeapFree(GetProcessHeap(),0,name);
    +        HeapFree(GetProcessHeap(),0,component);
         }
         MSI_ViewClose(view);
         msiobj_release(&view->hdr);
         return rc;
     }
     
    -/*
    - * This helper function should probably go alot of places
    - *
    - * Thinking about this, maybe this should become yet another Bison file
    - */
    -static DWORD deformat_string(MSIPACKAGE *package, WCHAR* ptr,WCHAR** data)
    -{
    -    WCHAR* mark=NULL;
    -    DWORD size=0;
    -    DWORD chunk=0;
    -    WCHAR key[0x100];
    -    LPWSTR value;
    -    DWORD sz;
    -    UINT rc;
    -
    -    if (ptr==NULL)
    -    {
    -        TRACE("Deformatting NULL string\n");
    -        *data = NULL;
    -        return 0;
    -    }
    -    /* scan for special characters */
    -    if (!strchrW(ptr,'[') || (strchrW(ptr,'[') && !strchrW(ptr,']')))
    -    {
    -        /* not formatted */
    -        size = (strlenW(ptr)+1) * sizeof(WCHAR);
    -        *data = HeapAlloc(GetProcessHeap(),0,size);
    -        strcpyW(*data,ptr);
    -        return size;
    -    }
    -   
    -    /* formatted string located */ 
    -    mark = strchrW(ptr,'[');
    -    if (mark != ptr)
    -    {
    -        INT cnt = (mark - ptr);
    -        TRACE("%i  (%i) characters before marker\n",cnt,(mark-ptr));
    -        size = cnt * sizeof(WCHAR);
    -        size += sizeof(WCHAR);
    -        *data = HeapAlloc(GetProcessHeap(),0,size);
    -        strncpyW(*data,ptr,cnt);
    -        (*data)[cnt]=0;
    -    }
    -    else
    -    {
    -        size = sizeof(WCHAR);
    -        *data = HeapAlloc(GetProcessHeap(),0,size);
    -        (*data)[0]=0;
    -    }
    -    mark++;
    -    strcpyW(key,mark);
    -    *strchrW(key,']')=0;
    -    mark = strchrW(mark,']');
    -    mark++;
    -    TRACE("Current %s .. %s\n",debugstr_w(*data),debugstr_w(mark));
    -    sz = 0;
    -    rc = MSI_GetPropertyW(package, key, NULL, &sz);
    -    if ((rc == ERROR_SUCCESS) || (rc == ERROR_MORE_DATA))
    -    {
    -        LPWSTR newdata;
    -
    -        sz++;
    -        value = HeapAlloc(GetProcessHeap(),0,sz * sizeof(WCHAR));
    -        MSI_GetPropertyW(package, key, value, &sz);
    -
    -        chunk = (strlenW(value)+1) * sizeof(WCHAR);
    -        size+=chunk;   
    -        newdata = HeapReAlloc(GetProcessHeap(),0,*data,size);
    -        *data = newdata;
    -        strcatW(*data,value);
    -    }
    -    TRACE("Current %s .. %s\n",debugstr_w(*data),debugstr_w(mark));
    -    if (*mark!=0)
    -    {
    -        LPWSTR newdata;
    -        chunk = (strlenW(mark)+1) * sizeof(WCHAR);
    -        size+=chunk;
    -        newdata = HeapReAlloc(GetProcessHeap(),0,*data,size);
    -        *data = newdata;
    -        strcatW(*data,mark);
    -    }
    -    (*data)[strlenW(*data)]=0;
    -    TRACE("Current %s .. %s\n",debugstr_w(*data),debugstr_w(mark));
    -
    -    /* recursively do this to clean up */
    -    mark = HeapAlloc(GetProcessHeap(),0,size);
    -    strcpyW(mark,*data);
    -    TRACE("String at this point %s\n",debugstr_w(mark));
    -    size = deformat_string(package,mark,data);
    -    HeapFree(GetProcessHeap(),0,mark);
    -    return size;
    -}
    -
     static UINT ACTION_InstallInitialize(MSIPACKAGE *package)
     {
         return ERROR_SUCCESS;
    @@ -3849,9 +3488,12 @@ static UINT ACTION_LaunchConditions(MSIPACKAGE *package)
     
             if (MSI_EvaluateConditionW(package,cond) != MSICONDITION_TRUE)
             {
    +            LPWSTR deformated;
                 message = load_dynamic_stringW(row,2);
    -            MessageBoxW(NULL,message,title,MB_OK);
    +            deformat_string(package,message,&deformated); 
    +            MessageBoxW(NULL,deformated,title,MB_OK);
                 HeapFree(GetProcessHeap(),0,message);
    +            HeapFree(GetProcessHeap(),0,deformated);
                 rc = ERROR_FUNCTION_FAILED;
             }
             HeapFree(GetProcessHeap(),0,cond);
    @@ -3872,9 +3514,71 @@ static LPWSTR resolve_keypath( MSIPACKAGE* package, INT
             LPWSTR p = resolve_folder(package,cmp->Directory,FALSE,FALSE,NULL);
             return p;
         }
    -    if ((cmp->Attributes & 0x4) || (cmp->Attributes & 0x20))
    +    if (cmp->Attributes & 0x4)
         {
    -        FIXME("UNIMPLEMENTED keypath as Registry or ODBC Source\n");
    +        MSIQUERY * view;
    +        MSIRECORD * row = 0;
    +        UINT rc,root,len;
    +        LPWSTR key,deformated,buffer,name,deformated_name;
    +        static const WCHAR ExecSeqQuery[] = {
    +        's','e','l','e','c','t',' ','*',' ',
    +        'f','r','o','m',' ','R','e','g','i','s','t','r','y',' ',
    +'w','h','e','r','e',' ','R','e','g','i','s','t','r','y',' ','=',' '
    +,'`','%','s','`',0 };
    +        static const WCHAR fmt[]={'%','0','2','i',':','%','s',0};
    +        static const WCHAR fmt2[]={'%','0','2','i',':','%','s','\\','%','s',0};
    +
    +        rc = MSI_OpenQuery(package->db,&view,ExecSeqQuery,cmp->KeyPath);
    +
    +        if (rc!=ERROR_SUCCESS)
    +            return NULL;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            MSI_ViewClose(view);
    +            msiobj_release(&view->hdr);
    +            return NULL;
    +        }
    +
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            MSI_ViewClose(view);
    +            msiobj_release(&view->hdr);
    +            return NULL;
    +        }
    +
    +        root = MSI_RecordGetInteger(row,2);
    +        key = load_dynamic_stringW(row, 3);
    +        name = load_dynamic_stringW(row, 4);
    +        deformat_string(package, key , &deformated);
    +        deformat_string(package, name, &deformated_name);
    +
    +        len = strlenW(deformated) + 5;
    +        if (deformated_name)
    +            len+=strlenW(deformated_name);
    +
    +        buffer = HeapAlloc(GetProcessHeap(),0, len *sizeof(WCHAR));
    +
    +        if (deformated_name)
    +            sprintfW(buffer,fmt2,root,deformated,deformated_name);
    +        else
    +            sprintfW(buffer,fmt,root,deformated);
    +
    +        HeapFree(GetProcessHeap(),0,key);
    +        HeapFree(GetProcessHeap(),0,deformated);
    +        HeapFree(GetProcessHeap(),0,name);
    +        HeapFree(GetProcessHeap(),0,deformated_name);
    +        msiobj_release(&row->hdr);
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +
    +        return buffer;
    +    }
    +    else if (cmp->Attributes & 0x20)
    +    {
    +        FIXME("UNIMPLEMENTED keypath as ODBC Source\n");
             return NULL;
         }
         else
    @@ -3901,23 +3605,13 @@ static LPWSTR resolve_keypath( MSIPACKAGE* package, INT
     static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
     {
         LPWSTR productcode;
    -    WCHAR squished_pc[0x100];
    -    WCHAR squished_cc[0x100];
    +    WCHAR squished_pc[GUID_SIZE];
    +    WCHAR squished_cc[GUID_SIZE];
         UINT rc;
         DWORD i;
    -    HKEY hkey=0,hkey2=0,hkey3=0;
    +    HKEY hkey=0,hkey2=0;
         static const WCHAR szProductCode[]=
              {'P','r','o','d','u','c','t','C','o','d','e',0};
    -    static const WCHAR szInstaller[] = {
    -         'S','o','f','t','w','a','r','e','\\',
    -         'M','i','c','r','o','s','o','f','t','\\',
    -         'W','i','n','d','o','w','s','\\',
    -         'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    -         'I','n','s','t','a','l','l','e','r',0 };
    -    static const WCHAR szFeatures[] = {
    -         'F','e','a','t','u','r','e','s',0 };
    -    static const WCHAR szComponents[] = {
    -         'C','o','m','p','o','n','e','n','t','s',0 };
     
         if (!package)
             return ERROR_INVALID_HANDLE;
    @@ -3927,57 +3621,11 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
         if (!productcode)
             return rc;
     
    -    squash_guid(productcode,squished_pc);
    -    rc = RegCreateKeyW(HKEY_LOCAL_MACHINE,szInstaller,&hkey);
    -    if (rc != ERROR_SUCCESS)
    -        goto end;
    -
    -    rc = RegCreateKeyW(hkey,szFeatures,&hkey2);
    -    if (rc != ERROR_SUCCESS)
    -        goto end;
    -
    -    rc = RegCreateKeyW(hkey2,squished_pc,&hkey3);
    -    if (rc != ERROR_SUCCESS)
    -        goto end;
    -
    -    /* here the guids are base 85 encoded */
    -    for (i = 0; i < package->loaded_features; i++)
    -    {
    -        LPWSTR data = NULL;
    -        GUID clsid;
    -        int j;
    -        INT size;
    -
    -        size = package->features[i].ComponentCount*21*sizeof(WCHAR);
    -        data = HeapAlloc(GetProcessHeap(), 0, size);
    -
    -        data[0] = 0;
    -        for (j = 0; j < package->features[i].ComponentCount; j++)
    -        {
    -            WCHAR buf[21];
    -            TRACE("From %s\n",debugstr_w(package->components
    -                            [package->features[i].Components[j]].ComponentId));
    -            CLSIDFromString(package->components
    -                            [package->features[i].Components[j]].ComponentId,
    -                            &clsid);
    -            encode_base85_guid(&clsid,buf);
    -            TRACE("to %s\n",debugstr_w(buf));
    -            strcatW(data,buf);
    -        }
    -
    -        size = strlenW(data)*sizeof(WCHAR);
    -        RegSetValueExW(hkey3,package->features[i].Feature,0,REG_SZ,
    -                       (LPSTR)data,size);
    -        HeapFree(GetProcessHeap(),0,data);
    -    }
    -
    -    RegCloseKey(hkey3);
    -    RegCloseKey(hkey2);
    -
    -    rc = RegCreateKeyW(hkey,szComponents,&hkey2);
    +    rc = MSIREG_OpenComponents(&hkey);
         if (rc != ERROR_SUCCESS)
             goto end;
           
    +    squash_guid(productcode,squished_pc);
         ui_progress(package,1,COMPONENT_PROGRESS_VALUE,1,0);
         for (i = 0; i < package->loaded_components; i++)
         {
    @@ -3988,16 +3636,16 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
                 MSIRECORD * uirow;
     
                 squash_guid(package->components[i].ComponentId,squished_cc);
    -            rc = RegCreateKeyW(hkey2,squished_cc,&hkey3);
    +            rc = RegCreateKeyW(hkey,squished_cc,&hkey2);
                 if (rc != ERROR_SUCCESS)
                     continue;
                
                 keypath = resolve_keypath(package,i);
                 if (keypath)
                 {
    -                RegSetValueExW(hkey3,squished_pc,0,REG_SZ,(LPVOID)keypath,
    +                RegSetValueExW(hkey2,squished_pc,0,REG_SZ,(LPVOID)keypath,
                                 (strlenW(keypath)+1)*sizeof(WCHAR));
    -                RegCloseKey(hkey3);
    +                RegCloseKey(hkey2);
             
                     /* UI stuff */
                     uirow = MSI_CreateRecord(3);
    @@ -4013,7 +3661,6 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
         } 
     end:
         HeapFree(GetProcessHeap(), 0, productcode);
    -    RegCloseKey(hkey2);
         RegCloseKey(hkey);
         return rc;
     }
    @@ -4077,9 +3724,16 @@ static UINT ACTION_RegisterTypeLibraries(MSIPACKAGE *package)
             {
                 TRACE("Skipping typelib reg due to disabled component\n");
                 msiobj_release(&row->hdr);
    +
    +            package->components[index].Action =
    +                package->components[index].Installed;
    +
                 continue;
             }
     
    +        package->components[index].Action = INSTALLSTATE_LOCAL;
    +        package->components[index].Installed = INSTALLSTATE_LOCAL;
    +
             index = get_loaded_file(package,package->components[index].KeyPath); 
        
             if (index < 0)
    @@ -4145,7 +3799,7 @@ static UINT register_appid(MSIPACKAGE *package, LPCWSTR clsid, LPCWSTR app )
         if (!package)
             return ERROR_INVALID_HANDLE;
     
    -    rc = ACTION_OpenQuery(package->db, &view, ExecSeqQuery, clsid);
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, clsid);
         if (rc != ERROR_SUCCESS)
             return rc;
     
    @@ -4267,7 +3921,9 @@ static UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
         static const WCHAR szCLSID[] = { 'C','L','S','I','D',0 };
         static const WCHAR szProgID[] = { 'P','r','o','g','I','D',0 };
         static const WCHAR szAppID[] = { 'A','p','p','I','D',0 };
    +    static const WCHAR szSpace[] = {' ',0};
         HKEY hkey,hkey2,hkey3;
    +    LPWSTR argument,deformated;
     
         if (!package)
             return ERROR_INVALID_HANDLE;
    @@ -4298,6 +3954,7 @@ static UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
             WCHAR desc[0x100];
             DWORD sz;
             INT index;
    +        DWORD size;
          
             rc = MSI_ViewFetch(view,&row);
             if (rc != ERROR_SUCCESS)
    @@ -4321,9 +3978,16 @@ static UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
             {
                 TRACE("Skipping class reg due to disabled component\n");
                 msiobj_release(&row->hdr);
    +
    +            package->components[index].Action =
    +                package->components[index].Installed;
    +
                 continue;
             }
     
    +        package->components[index].Action = INSTALLSTATE_LOCAL;
    +        package->components[index].Installed = INSTALLSTATE_LOCAL;
    +
             sz=0x100;
             MSI_RecordGetStringW(row,1,clsid,&sz);
             RegCreateKeyW(hkey,clsid,&hkey2);
    @@ -4345,10 +4009,25 @@ static UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
             RegCreateKeyW(hkey2,buffer,&hkey3);
     
             index = get_loaded_file(package,package->components[index].KeyPath);
    -        RegSetValueExW(hkey3,NULL,0,REG_SZ,
    -                       (LPVOID)package->files[index].TargetPath,
    -                       (strlenW(package->files[index].TargetPath)+1)
    -                        *sizeof(WCHAR));
    +
    +        argument = load_dynamic_stringW(row,11); 
    +        size = deformat_string(package,argument,&deformated);
    +        if (deformated)
    +            size+=sizeof(WCHAR);
    +        HeapFree(GetProcessHeap(),0,argument);
    +        size += (strlenW(package->files[index].TargetPath))*sizeof(WCHAR);
    +
    +        argument = (LPWSTR)HeapAlloc(GetProcessHeap(),0,size+sizeof(WCHAR));
    +        strcpyW(argument,package->files[index].TargetPath);
    +        if (deformated)
    +        {
    +            strcatW(argument,szSpace);
    +            strcatW(argument,deformated);
    +        }
    +
    +        RegSetValueExW(hkey3,NULL,0,REG_SZ, (LPVOID)argument, size);
    +        HeapFree(GetProcessHeap(),0,deformated);
    +        HeapFree(GetProcessHeap(),0,argument);
     
             RegCloseKey(hkey3);
     
    @@ -4376,9 +4055,94 @@ static UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
                 register_appid(package,buffer,desc);
             }
     
    -        RegCloseKey(hkey2);
     
    -        FIXME("Process the rest of the fields >7\n");
    +        if (!MSI_RecordIsNull(row,7))
    +        {
    +            FIXME("Process field 7\n");
    +        }
    +
    +        if (!MSI_RecordIsNull(row,8))
    +        {
    +            static const WCHAR szDefaultIcon[] = 
    +            {'D','e','f','a','u','l','t','I','c','o','n',0};
    +
    +            LPWSTR FileName = load_dynamic_stringW(row,8);
    +            LPWSTR FilePath;
    +            INT index;
    +
    +            RegCreateKeyW(hkey2,szDefaultIcon,&hkey3);
    +            build_icon_path(package,FileName,&FilePath);
    +            if (!MSI_RecordIsNull(row,9))
    +            {
    +                static const WCHAR index_fmt[] = {',','%','i',0};
    +                WCHAR index_buf[20];
    +                index = MSI_RecordGetInteger(row,9);
    +                sprintfW(index_buf,index_fmt,index);
    +                size = strlenW(FilePath)+strlenW(index_buf)+1;
    +                size *= sizeof(WCHAR);
    +                HeapReAlloc(GetProcessHeap(),0,FilePath,size);
    +            }
    +            RegSetValueExW(hkey3,NULL,0,REG_SZ,(LPVOID)FilePath,
    +                           (strlenW(FilePath)+1) * sizeof(WCHAR));
    +            HeapFree(GetProcessHeap(),0,FilePath);
    +            HeapFree(GetProcessHeap(),0,FileName);
    +            RegCloseKey(hkey3);
    +        }
    +
    +        if (!MSI_RecordIsNull(row,10))
    +        {
    +            static const WCHAR szInproc32[] = {
    +            'I','n','p','r','o','c','H','a','n','d','l','e','r','3','2',0};
    +            static const WCHAR szInproc[] = {
    +            'I','n','p','r','o','c','H','a','n','d','l','e','r',0};
    +            INT i = MSI_RecordGetInteger(row,10);
    +            if (i != MSI_NULL_INTEGER && i > 0 &&  i < 4)
    +            {
    +                static const WCHAR ole2[] = {'o','l','e','2','.','d','l','l',0};
    +                static const WCHAR ole32[] = {
    +                        'o','l','e','3','2','.','d','l','l',0};
    +                switch(i)
    +                {
    +                    case 1:
    +                        size = strlenW(ole2) * sizeof(WCHAR);
    +                        RegCreateKeyW(hkey2,szInproc,&hkey3);
    +                        RegSetValueExW(hkey3,NULL,0,REG_SZ, (LPVOID)ole2, size);
    +                        RegCloseKey(hkey3);
    +                        break;
    +                    case 2:
    +                        size = strlenW(ole32) * sizeof(WCHAR);
    +                        RegCreateKeyW(hkey2,szInproc32,&hkey3);
    +                        RegSetValueExW(hkey3,NULL,0,REG_SZ, (LPVOID)ole32,size);
    +                        RegCloseKey(hkey3);
    +                        break;
    +                    case 3:
    +                        size = strlenW(ole2) * sizeof(WCHAR);
    +                        RegCreateKeyW(hkey2,szInproc,&hkey3);
    +                        RegSetValueExW(hkey3,NULL,0,REG_SZ, (LPVOID)ole2, size);
    +                        RegCloseKey(hkey3);
    +                        size = strlenW(ole32) * sizeof(WCHAR);
    +                        RegCreateKeyW(hkey2,szInproc32,&hkey3);
    +                        RegSetValueExW(hkey3,NULL,0,REG_SZ, (LPVOID)ole32,size);
    +                        RegCloseKey(hkey3);
    +                        break;
    +                }
    +                
    +            }
    +            else
    +            {
    +                RegCreateKeyW(hkey2,szInproc32,&hkey3);
    +                argument = load_dynamic_stringW(row,10);
    +                reduce_to_longfilename(argument);
    +                size = strlenW(argument)*sizeof(WCHAR);
    +
    +                RegSetValueExW(hkey3,NULL,0,REG_SZ, (LPVOID)argument, size);
    +                HeapFree(GetProcessHeap(),0,argument);
    +
    +                RegCloseKey(hkey3);
    +            }
    +        }
    +
    +        RegCloseKey(hkey2);
     
             ui_actiondata(package,szRegisterClassInfo,row);
     
    @@ -4392,9 +4156,12 @@ end:
         return rc;
     }
     
    -static UINT register_progid_base(MSIRECORD * row, LPWSTR clsid)
    +static UINT register_progid_base(MSIPACKAGE* package, MSIRECORD * row, 
    +                                LPWSTR clsid)
     {
         static const WCHAR szCLSID[] = { 'C','L','S','I','D',0 };
    +    static const WCHAR szDefaultIcon[] = {
    +        'D','e','f','a','u','l','t','I','c','o','n',0};
         HKEY hkey,hkey2;
         WCHAR buffer[0x100];
         DWORD sz;
    @@ -4432,7 +4199,25 @@ static UINT register_progid_base(MSIRECORD * row, LPWSTR clsid)
             return ERROR_FUNCTION_FAILED;
         }
         if (!MSI_RecordIsNull(row,5))
    -        FIXME ("UNHANDLED icon in Progid\n");
    +    {
    +        INT index = MSI_RecordGetInteger(row,6); 
    +        LPWSTR FileName = load_dynamic_stringW(row,5);
    +        LPWSTR FilePath,IconPath;
    +        static const WCHAR fmt[] = {'%','s',',','%','i',0};
    +
    +        RegCreateKeyW(hkey,szDefaultIcon,&hkey2);
    +        build_icon_path(package,FileName,&FilePath);
    +       
    +        IconPath = HeapAlloc(GetProcessHeap(),0,(strlenW(FilePath)+5)*
    +                    sizeof(WCHAR));
    +
    +        sprintfW(IconPath,fmt,FilePath,index);
    +        RegSetValueExW(hkey2,NULL,0,REG_SZ,(LPVOID)IconPath,
    +                           (strlenW(IconPath)+1) * sizeof(WCHAR));
    +        HeapFree(GetProcessHeap(),0,FilePath);
    +        HeapFree(GetProcessHeap(),0,FileName);
    +        RegCloseKey(hkey2);
    +    }
         return ERROR_SUCCESS;
     }
     
    @@ -4452,7 +4237,7 @@ static UINT register_parent_progid(MSIPACKAGE *package, LPCWSTR parent,
         if (!package)
             return ERROR_INVALID_HANDLE;
     
    -    rc = ACTION_OpenQuery(package->db, &view, Query_t, parent);
    +    rc = MSI_OpenQuery(package->db, &view, Query_t, parent);
         if (rc != ERROR_SUCCESS)
             return rc;
     
    @@ -4485,13 +4270,15 @@ static UINT register_progid(MSIPACKAGE *package, MSIRECORD * row, LPWSTR clsid)
         UINT rc = ERROR_SUCCESS; 
     
         if (MSI_RecordIsNull(row,2))
    -        rc = register_progid_base(row,clsid);
    +        rc = register_progid_base(package,row,clsid);
         else
         {
             WCHAR buffer[0x1000];
             DWORD sz, disp;
             HKEY hkey,hkey2;
             static const WCHAR szCLSID[] = { 'C','L','S','I','D',0 };
    +        static const WCHAR szDefaultIcon[] = {
    +                'D','e','f','a','u','l','t','I','c','o','n',0};
     
             /* check if already registered */
             sz = 0x100;
    @@ -4504,6 +4291,11 @@ static UINT register_progid(MSIPACKAGE *package, MSIRECORD * row, LPWSTR clsid)
                 RegCloseKey(hkey);
                 return rc;
             }
    +
    +        sz = 0x100;
    +        MSI_RecordGetStringW(row,2,buffer,&sz);
    +        rc = register_parent_progid(package,buffer,clsid);
    +
             /* clsid is same as parent */
             RegCreateKeyW(hkey,szCLSID,&hkey2);
             RegSetValueExW(hkey2,NULL,0,REG_SZ,(LPVOID)clsid, (strlenW(clsid)+1) *
    @@ -4511,9 +4303,6 @@ static UINT register_progid(MSIPACKAGE *package, MSIRECORD * row, LPWSTR clsid)
     
             RegCloseKey(hkey2);
     
    -        sz = 0x100;
    -        MSI_RecordGetStringW(row,2,buffer,&sz);
    -        rc = register_parent_progid(package,buffer,clsid);
     
             if (!MSI_RecordIsNull(row,4))
             {
    @@ -4524,7 +4313,17 @@ static UINT register_progid(MSIPACKAGE *package, MSIRECORD * row, LPWSTR clsid)
             }
     
             if (!MSI_RecordIsNull(row,5))
    -            FIXME ("UNHANDLED icon in Progid\n");
    +        {
    +            LPWSTR FileName = load_dynamic_stringW(row,5);
    +            LPWSTR FilePath;
    +            RegCreateKeyW(hkey,szDefaultIcon,&hkey2);
    +            build_icon_path(package,FileName,&FilePath);
    +            RegSetValueExW(hkey2,NULL,0,REG_SZ,(LPVOID)FilePath,
    +                           (strlenW(FilePath)+1) * sizeof(WCHAR));
    +            HeapFree(GetProcessHeap(),0,FilePath);
    +            HeapFree(GetProcessHeap(),0,FileName);
    +            RegCloseKey(hkey2);
    +        }
     
             RegCloseKey(hkey);
         }
    @@ -4681,9 +4480,16 @@ static UINT ACTION_CreateShortcuts(MSIPACKAGE *package)
             {
                 TRACE("Skipping shortcut creation due to disabled component\n");
                 msiobj_release(&row->hdr);
    +
    +            package->components[index].Action =
    +                package->components[index].Installed;
    +
                 continue;
             }
     
    +        package->components[index].Action = INSTALLSTATE_LOCAL;
    +        package->components[index].Installed = INSTALLSTATE_LOCAL;
    +
             ui_actiondata(package,szCreateShortcuts,row);
     
             res = CoCreateInstance( &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
    @@ -4821,20 +4627,33 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
             'S','E','L','E','C','T',' ','*',' ',
             'f','r','o','m',' ','I','c','o','n',0};
         DWORD sz;
    +    /* for registry stuff */
    +    LPWSTR productcode;
    +    HKEY hkey=0;
    +    HKEY hukey=0;
    +    static const WCHAR szProductCode[]=
    +         {'P','r','o','d','u','c','t','C','o','d','e',0};
    +    static const WCHAR szProductName[] = {
    +         'P','r','o','d','u','c','t','N','a','m','e',0};
    +    static const WCHAR szPackageCode[] = {
    +         'P','a','c','k','a','g','e','C','o','d','e',0};
    +    LPWSTR buffer;
    +    DWORD size;
    +    MSIHANDLE hDb, hSumInfo;
     
         if (!package)
             return ERROR_INVALID_HANDLE;
     
         rc = MSI_DatabaseOpenViewW(package->db, Query, &view);
         if (rc != ERROR_SUCCESS)
    -        return ERROR_SUCCESS;
    +        goto next;
     
         rc = MSI_ViewExecute(view, 0);
         if (rc != ERROR_SUCCESS)
         {
             MSI_ViewClose(view);
             msiobj_release(&view->hdr);
    -        return rc;
    +        goto next;
         }
     
         while (1)
    @@ -4898,8 +4717,912 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
         }
         MSI_ViewClose(view);
         msiobj_release(&view->hdr);
    -    return rc;
     
    +next:
    +    /* ok there is a lot more done here but i need to figure out what */
    +    productcode = load_dynamic_property(package,szProductCode,&rc);
    +    if (!productcode)
    +        return rc;
    +
    +    rc = MSIREG_OpenProductsKey(productcode,&hkey,TRUE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    rc = MSIREG_OpenUserProductsKey(productcode,&hukey,TRUE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +
    +    buffer = load_dynamic_property(package,szProductName,NULL);
    +    size = strlenW(buffer)*sizeof(WCHAR);
    +    RegSetValueExW(hukey,szProductName,0,REG_SZ, (LPSTR)buffer,size);
    +    HeapFree(GetProcessHeap(),0,buffer);
    +    FIXME("Need to write more keys to the user registry\n");
    +  
    +    hDb= msiobj_findhandle( &package->db->hdr );
    +    rc = MsiGetSummaryInformationW(hDb, NULL, 0, &hSumInfo); 
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        WCHAR guidbuffer[0x200];
    +        size = 0x200;
    +        rc = MsiSummaryInfoGetPropertyW(hSumInfo, 8, NULL, NULL, NULL,
    +                                        guidbuffer, &size);
    +        if (rc == ERROR_SUCCESS)
    +        {
    +            WCHAR squashed[GUID_SIZE];
    +            /* for now we only care about the first guid */
    +            LPWSTR ptr = strchrW(guidbuffer,';');
    +            if (ptr) *ptr = 0;
    +            squash_guid(guidbuffer,squashed);
    +            size = strlenW(guidbuffer)*sizeof(WCHAR);
    +            RegSetValueExW(hukey,szPackageCode,0,REG_SZ, (LPSTR)guidbuffer,
    +                           size);
    +            
    +        }
    +        else
    +        {
    +            ERR("Unable to query Revision_Number... \n");
    +            rc = ERROR_SUCCESS;
    +        }
    +        MsiCloseHandle(hSumInfo);
    +    }
    +    else
    +    {
    +        ERR("Unable to open Summary Information\n");
    +        rc = ERROR_SUCCESS;
    +    }
    +
    +end:
    +
    +    HeapFree(GetProcessHeap(),0,productcode);    
    +    RegCloseKey(hkey);
    +    RegCloseKey(hukey);
    +
    +    return rc;
    +}
    +
    +static UINT ACTION_WriteIniValues(MSIPACKAGE *package)
    +{
    +    UINT rc;
    +    MSIQUERY * view;
    +    MSIRECORD * row = 0;
    +    static const WCHAR ExecSeqQuery[] = {'S','e','l','e','c','t',' ','*',
    +        ' ','f','r','o','m',' ','I','n','i','F','i','l','e',0};
    +    static const WCHAR szWindowsFolder[] =
    +          {'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
    +
    +    rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        TRACE("no IniFile table\n");
    +        return ERROR_SUCCESS;
    +    }
    +
    +    rc = MSI_ViewExecute(view, 0);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +        return rc;
    +    }
    +
    +    while (1)
    +    {
    +        LPWSTR component,filename,dirproperty,section,key,value,identifier;
    +        LPWSTR deformated_section, deformated_key, deformated_value;
    +        LPWSTR folder, fullname = NULL;
    +        MSIRECORD * uirow;
    +        INT component_index,action;
    +
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            rc = ERROR_SUCCESS;
    +            break;
    +        }
    +
    +        component = load_dynamic_stringW(row, 8);
    +        component_index = get_loaded_component(package,component);
    +        HeapFree(GetProcessHeap(),0,component);
    +
    +        if (package->components[component_index].ActionRequest != 
    +             INSTALLSTATE_LOCAL)
    +        {
    +            TRACE("Skipping ini file due to disabled component\n");
    +            msiobj_release(&row->hdr);
    +
    +            package->components[component_index].Action =
    +                package->components[component_index].Installed;
    +
    +            continue;
    +        }
    +
    +        package->components[component_index].Action = INSTALLSTATE_LOCAL;
    +        package->components[component_index].Installed = INSTALLSTATE_LOCAL;
    +   
    +        identifier = load_dynamic_stringW(row,1); 
    +        filename = load_dynamic_stringW(row,2);
    +        dirproperty = load_dynamic_stringW(row,3);
    +        section = load_dynamic_stringW(row,4);
    +        key = load_dynamic_stringW(row,5);
    +        value = load_dynamic_stringW(row,6);
    +        action = MSI_RecordGetInteger(row,7);
    +
    +        deformat_string(package,section,&deformated_section);
    +        deformat_string(package,key,&deformated_key);
    +        deformat_string(package,value,&deformated_value);
    +
    +        if (dirproperty)
    +        {
    +            folder = resolve_folder(package, dirproperty, FALSE, FALSE, NULL);
    +            if (!folder)
    +                folder = load_dynamic_property(package,dirproperty,NULL);
    +        }
    +        else
    +            folder = load_dynamic_property(package, szWindowsFolder, NULL);
    +
    +        if (!folder)
    +        {
    +            ERR("Unable to resolve folder! (%s)\n",debugstr_w(dirproperty));
    +            goto cleanup;
    +        }
    +
    +        fullname = build_directory_name(3, folder, filename, NULL);
    +
    +        if (action == 0)
    +        {
    +            TRACE("Adding value %s to section %s in %s\n",
    +                debugstr_w(deformated_key), debugstr_w(deformated_section),
    +                debugstr_w(fullname));
    +            WritePrivateProfileStringW(deformated_section, deformated_key,
    +                                       deformated_value, fullname);
    +        }
    +        else if (action == 1)
    +        {
    +            WCHAR returned[10];
    +            GetPrivateProfileStringW(deformated_section, deformated_key, NULL,
    +                                     returned, 10, fullname);
    +            if (returned[0] == 0)
    +            {
    +                TRACE("Adding value %s to section %s in %s\n",
    +                    debugstr_w(deformated_key), debugstr_w(deformated_section),
    +                    debugstr_w(fullname));
    +
    +                WritePrivateProfileStringW(deformated_section, deformated_key,
    +                                       deformated_value, fullname);
    +            }
    +        }
    +        else if (action == 3)
    +        {
    +            FIXME("Append to existing section not yet implemented\n");
    +        }
    +        
    +        uirow = MSI_CreateRecord(4);
    +        MSI_RecordSetStringW(uirow,1,identifier);
    +        MSI_RecordSetStringW(uirow,2,deformated_section);
    +        MSI_RecordSetStringW(uirow,3,deformated_key);
    +        MSI_RecordSetStringW(uirow,4,deformated_value);
    +        ui_actiondata(package,szWriteIniValues,uirow);
    +        msiobj_release( &uirow->hdr );
    +cleanup:
    +        HeapFree(GetProcessHeap(),0,identifier);
    +        HeapFree(GetProcessHeap(),0,fullname);
    +        HeapFree(GetProcessHeap(),0,filename);
    +        HeapFree(GetProcessHeap(),0,key);
    +        HeapFree(GetProcessHeap(),0,value);
    +        HeapFree(GetProcessHeap(),0,section);
    +        HeapFree(GetProcessHeap(),0,dirproperty);
    +        HeapFree(GetProcessHeap(),0,folder);
    +        HeapFree(GetProcessHeap(),0,deformated_key);
    +        HeapFree(GetProcessHeap(),0,deformated_value);
    +        HeapFree(GetProcessHeap(),0,deformated_section);
    +        msiobj_release(&row->hdr);
    +    }
    +    MSI_ViewClose(view);
    +    msiobj_release(&view->hdr);
    +    return rc;
    +}
    +
    +static UINT ACTION_SelfRegModules(MSIPACKAGE *package)
    +{
    +    UINT rc;
    +    MSIQUERY * view;
    +    MSIRECORD * row = 0;
    +    static const WCHAR ExecSeqQuery[] = {'S','e','l','e','c','t',' ','*',' ',
    +'f','r','o','m',' ','S','e','l','f','R','e','g',0};
    +
    +    static const WCHAR ExeStr[] = {
    +'r','e','g','s','v','r','3','2','.','e','x','e',' ','/','s',' ',0};
    +    STARTUPINFOW si;
    +    PROCESS_INFORMATION info;
    +    BOOL brc;
    +
    +    memset(&si,0,sizeof(STARTUPINFOW));
    +
    +    rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        TRACE("no SelfReg table\n");
    +        return ERROR_SUCCESS;
    +    }
    +
    +    rc = MSI_ViewExecute(view, 0);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +        return rc;
    +    }
    +
    +    while (1)
    +    {
    +        LPWSTR filename;
    +        INT index;
    +        DWORD len;
    +
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            rc = ERROR_SUCCESS;
    +            break;
    +        }
    +
    +        filename = load_dynamic_stringW(row,1);
    +        index = get_loaded_file(package,filename);
    +
    +        if (index < 0)
    +        {
    +            ERR("Unable to find file id %s\n",debugstr_w(filename));
    +            HeapFree(GetProcessHeap(),0,filename);
    +            msiobj_release(&row->hdr);
    +            continue;
    +        }
    +        HeapFree(GetProcessHeap(),0,filename);
    +
    +        len = strlenW(ExeStr);
    +        len += strlenW(package->files[index].TargetPath);
    +        len +=2;
    +
    +        filename = HeapAlloc(GetProcessHeap(),0,len*sizeof(WCHAR));
    +        strcpyW(filename,ExeStr);
    +        strcatW(filename,package->files[index].TargetPath);
    +
    +        TRACE("Registering %s\n",debugstr_w(filename));
    +        brc = CreateProcessW(NULL, filename, NULL, NULL, FALSE, 0, NULL,
    +                  c_collen, &si, &info);
    +
    +        if (brc)
    +            msi_dialog_check_messages(package->dialog, info.hProcess);
    + 
    +        HeapFree(GetProcessHeap(),0,filename);
    +        msiobj_release(&row->hdr);
    +    }
    +    MSI_ViewClose(view);
    +    msiobj_release(&view->hdr);
    +    return rc;
    +}
    +
    +static UINT ACTION_PublishFeatures(MSIPACKAGE *package)
    +{
    +    LPWSTR productcode;
    +    UINT rc;
    +    DWORD i;
    +    HKEY hkey=0;
    +    HKEY hukey=0;
    +    static const WCHAR szProductCode[]=
    +         {'P','r','o','d','u','c','t','C','o','d','e',0};
    +    
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    productcode = load_dynamic_property(package,szProductCode,&rc);
    +    if (!productcode)
    +        return rc;
    +
    +    rc = MSIREG_OpenFeaturesKey(productcode,&hkey,TRUE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    rc = MSIREG_OpenUserFeaturesKey(productcode,&hukey,TRUE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    /* here the guids are base 85 encoded */
    +    for (i = 0; i < package->loaded_features; i++)
    +    {
    +        LPWSTR data = NULL;
    +        GUID clsid;
    +        int j;
    +        INT size;
    +
    +        size = package->features[i].ComponentCount*21;
    +        size +=1;
    +        if (package->features[i].Feature_Parent[0])
    +            size += strlenW(package->features[i].Feature_Parent)+2;
    +
    +        data = HeapAlloc(GetProcessHeap(), 0, size * sizeof(WCHAR));
    +
    +        data[0] = 0;
    +        for (j = 0; j < package->features[i].ComponentCount; j++)
    +        {
    +            WCHAR buf[21];
    +            memset(buf,0,sizeof(buf));
    +            TRACE("From %s\n",debugstr_w(package->components
    +                            [package->features[i].Components[j]].ComponentId));
    +            CLSIDFromString(package->components
    +                            [package->features[i].Components[j]].ComponentId,
    +                            &clsid);
    +            encode_base85_guid(&clsid,buf);
    +            TRACE("to %s\n",debugstr_w(buf));
    +            strcatW(data,buf);
    +        }
    +        if (package->features[i].Feature_Parent[0])
    +        {
    +            static const WCHAR sep[] = {'\2',0};
    +            strcatW(data,sep);
    +            strcatW(data,package->features[i].Feature_Parent);
    +        }
    +
    +        size = (strlenW(data)+1)*sizeof(WCHAR);
    +        RegSetValueExW(hkey,package->features[i].Feature,0,REG_SZ,
    +                       (LPSTR)data,size);
    +        HeapFree(GetProcessHeap(),0,data);
    +
    +        size = strlenW(package->features[i].Feature_Parent)*sizeof(WCHAR);
    +        RegSetValueExW(hukey,package->features[i].Feature,0,REG_SZ,
    +                       (LPSTR)package->features[i].Feature_Parent,size);
    +    }
    +
    +end:
    +    RegCloseKey(hkey);
    +    RegCloseKey(hukey);
    +    HeapFree(GetProcessHeap(), 0, productcode);
    +    return rc;
    +}
    +
    +static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
    +{
    +    static const WCHAR szProductCode[]=
    +         {'P','r','o','d','u','c','t','C','o','d','e',0};
    +    HKEY hkey=0;
    +    LPWSTR buffer;
    +    LPWSTR productcode;
    +    UINT rc,i;
    +    DWORD size;
    +    static WCHAR szNONE[] = {0};
    +    static const WCHAR szWindowsInstaler[] = 
    +    {'W','i','n','d','o','w','s','I','n','s','t','a','l','l','e','r',0};
    +    static const WCHAR szPropKeys[][80] = 
    +    {
    +{'A','R','P','A','U','T','H','O','R','I','Z','E','D','C','D','F','P','R','E','F','I','X',0},
    +{'A','R','P','C','O','N','T','A','C','T'},
    +{'A','R','P','C','O','M','M','E','N','T','S',0},
    +{'P','r','o','d','u','c','t','N','a','m','e',0},
    +{'P','r','o','d','u','c','t','V','e','r','s','i','o','n',0},
    +{'A','R','P','H','E','L','P','L','I','N','K',0},
    +{'A','R','P','H','E','L','P','T','E','L','E','P','H','O','N','E',0},
    +{'A','R','P','I','N','S','T','A','L','L','L','O','C','A','T','I','O','N',0},
    +{'S','O','U','R','C','E','D','I','R',0},
    +{'M','a','n','u','f','a','c','t','u','r','e','r',0},
    +{'A','R','P','R','E','A','D','M','E',0},
    +{'A','R','P','S','I','Z','E',0},
    +{'A','R','P','U','R','L','I','N','F','O','A','B','O','U','T',0},
    +{'A','R','P','U','R','L','U','P','D','A','T','E','I','N','F','O',0},
    +{0},
    +    };
    +
    +    static const WCHAR szRegKeys[][80] = 
    +    {
    +{'A','u','t','h','o','r','i','z','e','d','C','D','F','P','r','e','f','i','x',0},
    +{'C','o','n','t','a','c','t',0},
    +{'C','o','m','m','e','n','t','s',0},
    +{'D','i','s','p','l','a','y','N','a','m','e',0},
    +{'D','i','s','p','l','a','y','V','e','r','s','i','o','n',0},
    +{'H','e','l','p','L','i','n','k',0},
    +{'H','e','l','p','T','e','l','e','p','h','o','n','e',0},
    +{'I','n','s','t','a','l','l','L','o','c','a','t','i','o','n',0},
    +{'I','n','s','t','a','l','l','S','o','u','r','c','e',0},
    +{'P','u','b','l','i','s','h','e','r',0},
    +{'R','e','a','d','m','e',0},
    +{'S','i','z','e',0},
    +{'U','R','L','I','n','f','o','A','b','o','u','t',0},
    +{'U','R','L','U','p','d','a','t','e','I','n','f','o',0},
    +{0},
    +    };
    +
    +    static const WCHAR path[] = {
    +    'C',':','\\','W','i','n','d','o','w','s','\\',
    +    'I','n','s','t','a','l','l','e','r','\\'};
    +    static const WCHAR fmt[] = {
    +    'C',':','\\','W','i','n','d','o','w','s','\\',
    +    'I','n','s','t','a','l','l','e','r','\\',
    +    '%','x','.','m','s','i',0};
    +    static const WCHAR szLocalPackage[]=
    +         {'L','o','c','a','l','P','a','c','k','a','g','e',0};
    +    WCHAR packagefile[MAX_PATH];
    +    INT num,start;
    +
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    productcode = load_dynamic_property(package,szProductCode,&rc);
    +    if (!productcode)
    +        return rc;
    +
    +    rc = MSIREG_OpenUninstallKey(productcode,&hkey,TRUE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    /* dump all the info i can grab */
    +    FIXME("Flesh out more information \n");
    +
    +    i = 0;
    +    while (szPropKeys[i][0]!=0)
    +    {
    +        buffer = load_dynamic_property(package,szPropKeys[i],&rc);
    +        if (rc != ERROR_SUCCESS)
    +            buffer = szNONE;
    +        size = strlenW(buffer)*sizeof(WCHAR);
    +        RegSetValueExW(hkey,szRegKeys[i],0,REG_SZ,(LPSTR)buffer,size);
    +        i++;
    +    }
    +
    +    rc = 0x1;
    +    size = sizeof(rc);
    +    RegSetValueExW(hkey,szWindowsInstaler,0,REG_DWORD,(LPSTR)&rc,size);
    +    
    +    /* copy the package locally */
    +    num = GetTickCount() & 0xffff;
    +    if (!num) 
    +        num = 1;
    +    start = num;
    +    sprintfW(packagefile,fmt,num);
    +    do 
    +    {
    +        HANDLE handle = CreateFileW(packagefile,GENERIC_WRITE, 0, NULL,
    +                                  CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0 );
    +        if (handle != INVALID_HANDLE_VALUE)
    +        {
    +            CloseHandle(handle);
    +            break;
    +        }
    +        if (GetLastError() != ERROR_FILE_EXISTS &&
    +            GetLastError() != ERROR_SHARING_VIOLATION)
    +            break;
    +        if (!(++num & 0xffff)) num = 1;
    +        sprintfW(packagefile,fmt,num);
    +    } while (num != start);
    +
    +    create_full_pathW(path);
    +    TRACE("Copying to local package %s\n",debugstr_w(packagefile));
    +    CopyFileW(package->PackagePath,packagefile,FALSE);
    +    size = strlenW(packagefile)*sizeof(WCHAR);
    +    RegSetValueExW(hkey,szLocalPackage,0,REG_SZ,(LPSTR)packagefile,size);
    +    
    +end:
    +    HeapFree(GetProcessHeap(),0,productcode);
    +    RegCloseKey(hkey);
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT ACTION_InstallExecute(MSIPACKAGE *package)
    +{
    +    int i;
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    for (i = 0; i < package->DeferredActionCount; i++)
    +    {
    +        LPWSTR action;
    +        action = package->DeferredAction[i];
    +        ui_actionstart(package, action);
    +        TRACE("Executing Action (%s)\n",debugstr_w(action));
    +        ACTION_CustomAction(package,action,TRUE);
    +        HeapFree(GetProcessHeap(),0,package->DeferredAction[i]);
    +    }
    +    HeapFree(GetProcessHeap(),0,package->DeferredAction);
    +
    +    package->DeferredActionCount = 0;
    +    package->DeferredAction = NULL;
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT ACTION_InstallFinalize(MSIPACKAGE *package)
    +{
    +    int i;
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    /* first do the same as an InstallExecute */
    +    ACTION_InstallExecute(package);
    +
    +    /* then handle Commit Actions */
    +    for (i = 0; i < package->CommitActionCount; i++)
    +    {
    +        LPWSTR action;
    +        action = package->CommitAction[i];
    +        ui_actionstart(package, action);
    +        TRACE("Executing Commit Action (%s)\n",debugstr_w(action));
    +        ACTION_CustomAction(package,action,TRUE);
    +        HeapFree(GetProcessHeap(),0,package->CommitAction[i]);
    +    }
    +    HeapFree(GetProcessHeap(),0,package->CommitAction);
    +
    +    package->CommitActionCount = 0;
    +    package->CommitAction = NULL;
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT ACTION_ForceReboot(MSIPACKAGE *package)
    +{
    +    static const WCHAR RunOnce[] = {
    +    'S','o','f','t','w','a','r','e','\\',
    +    'M','i','c','r','o','s','o','f','t','\\',
    +    'W','i','n','d','o','w','s','\\',
    +    'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +    'R','u','n','O','n','c','e'};
    +    static const WCHAR InstallRunOnce[] = {
    +    'S','o','f','t','w','a','r','e','\\',
    +    'M','i','c','r','o','s','o','f','t','\\',
    +    'W','i','n','d','o','w','s','\\',
    +    'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +    'I','n','s','t','a','l','l','e','r','\\',
    +    'R','u','n','O','n','c','e','E','n','t','r','i','e','s'};
    +
    +    static const WCHAR msiexec_fmt[] = {
    +    'C',':','\\','W','i','n','d','o','w','s','\\','S','y','s','t','e','m',
    +    '\\','M','s','i','E','x','e','c','.','e','x','e',' ','/','@',' ',
    +    '\"','%','s','\"',0};
    +    static const WCHAR install_fmt[] = {
    +    '/','I',' ','\"','%','s','\"',' ',
    +    'A','F','T','E','R','R','E','B','O','O','T','=','1',' ',
    +    'R','U','N','O','N','C','E','E','N','T','R','Y','=','\"','%','s','\"',0};
    +    WCHAR buffer[256];
    +    HKEY hkey,hukey;
    +    LPWSTR productcode;
    +    WCHAR  squished_pc[100];
    +    INT rc;
    +    DWORD size;
    +    static const WCHAR szProductCode[]=
    +         {'P','r','o','d','u','c','t','C','o','d','e',0};
    +    static const WCHAR szLUS[] = {
    +         'L','a','s','t','U','s','e','d','S','o','u','r','c','e',0};
    +    static const WCHAR szSourceList[] = {
    +         'S','o','u','r','c','e','L','i','s','t',0};
    +    static const WCHAR szPackageName[] = { 
    +        'P','a','c','k','a','g','e','N','a','m','e',0};
    +
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    productcode = load_dynamic_property(package,szProductCode,&rc);
    +    if (!productcode)
    +        return rc;
    +
    +    squash_guid(productcode,squished_pc);
    +
    +    RegCreateKeyW(HKEY_LOCAL_MACHINE,RunOnce,&hkey);
    +    sprintfW(buffer,msiexec_fmt,squished_pc);
    +
    +    size = strlenW(buffer)*sizeof(WCHAR);
    +    RegSetValueExW(hkey,squished_pc,0,REG_SZ,(LPSTR)buffer,size);
    +    RegCloseKey(hkey);
    +
    +    TRACE("Reboot command %s\n",debugstr_w(buffer));
    +
    +    RegCreateKeyW(HKEY_LOCAL_MACHINE,InstallRunOnce,&hkey);
    +    sprintfW(buffer,install_fmt,productcode,squished_pc);
    +    RegSetValueExW(hkey,squished_pc,0,REG_SZ,(LPSTR)buffer,size);
    +    RegCloseKey(hkey);
    +
    +    rc = MSIREG_OpenUserProductsKey(productcode,&hukey,TRUE);
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        HKEY hukey2;
    +        LPWSTR buf;
    +        RegCreateKeyW(hukey, szSourceList, &hukey2);
    +        buf = load_dynamic_property(package,cszSourceDir,NULL);
    +        size = strlenW(buf)*sizeof(WCHAR);
    +        RegSetValueExW(hukey2,szLUS,0,REG_SZ,(LPSTR)buf,size);
    +        HeapFree(GetProcessHeap(),0,buf); 
    +
    +        buf = strrchrW(package->PackagePath,'\\');
    +        if (buf)
    +        {
    +            buf++;
    +            size = strlenW(buf)*sizeof(WCHAR);
    +            RegSetValueExW(hukey2,szPackageName,0,REG_SZ,(LPSTR)buf,size);
    +        }
    +
    +        RegCloseKey(hukey2);
    +    }
    +    HeapFree(GetProcessHeap(),0,productcode);
    +
    +    return ERROR_INSTALL_SUSPEND;
    +}
    +
    +UINT ACTION_ResolveSource(MSIPACKAGE* package)
    +{
    +    /*
    +     * we are currently doing what should be done here in the top level Install
    +     * however for Adminastrative and uninstalls this step will be needed
    +     */
    +    return ERROR_SUCCESS;
    +}
    +
    +
    +static UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package)
    +{
    +    UINT rc;
    +    MSIQUERY * view;
    +    MSIRECORD * row = 0;
    +    static const WCHAR ExecSeqQuery[] = {
    +        'S','E','L','E','C','T',' ','*',' ',
    +        'f','r','o','m',' ','E','x','t','e','n','s','i','o','n',0};
    +    static const WCHAR szContentType[] = 
    +{ 'C','o','n','t','e','n','t',' ','T','y','p','e',0 };
    +    HKEY hkey;
    +
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        rc = ERROR_SUCCESS;
    +        goto end;
    +    }
    +
    +    rc = MSI_ViewExecute(view, 0);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +        goto end;
    +    }
    +
    +    while (1)
    +    {
    +        WCHAR buffer[0x100];
    +        WCHAR extension[257];
    +        LPWSTR exten;
    +        DWORD sz;
    +        INT index;
    +     
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            rc = ERROR_SUCCESS;
    +            break;
    +        }
    +
    +        sz=0x100;
    +        MSI_RecordGetStringW(row,2,buffer,&sz);
    +
    +        index = get_loaded_component(package,buffer);
    +
    +        if (index < 0)
    +        {
    +            msiobj_release(&row->hdr);
    +            continue;
    +        }
    +
    +        if (package->components[index].ActionRequest != INSTALLSTATE_LOCAL)
    +        {
    +            TRACE("Skipping extension reg due to disabled component\n");
    +            msiobj_release(&row->hdr);
    +
    +            package->components[index].Action =
    +                package->components[index].Installed;
    +
    +            continue;
    +        }
    +
    +        package->components[index].Action = INSTALLSTATE_LOCAL;
    +        package->components[index].Installed = INSTALLSTATE_LOCAL;
    +
    +        exten = load_dynamic_stringW(row,1);
    +        extension[0] = '.';
    +        extension[1] = 0;
    +        strcatW(extension,exten);
    +        HeapFree(GetProcessHeap(),0,exten);
    +
    +        RegCreateKeyW(HKEY_CLASSES_ROOT,extension,&hkey);
    +
    +        if (!MSI_RecordIsNull(row,4))
    +        {
    +            LPWSTR mime = load_dynamic_stringW(row,4);
    +            RegSetValueExW(hkey,szContentType,0,REG_SZ,(LPVOID)mime,
    +                           (strlenW(mime)+1)*sizeof(WCHAR));
    +            HeapFree(GetProcessHeap(),0,mime);
    +        }
    +
    +        if (!MSI_RecordIsNull(row,3))
    +        {
    +            static const WCHAR szSN[] = 
    +            {'\\','S','h','e','l','l','N','e','w',0};
    +            HKEY hkey2;
    +            LPWSTR newkey;
    +            LPWSTR progid= load_dynamic_stringW(row,3);
    +
    +            RegSetValueExW(hkey,NULL,0,REG_SZ,(LPVOID)progid,
    +                           (strlenW(progid)+1)*sizeof(WCHAR));
    +
    +            newkey = HeapAlloc(GetProcessHeap(),0,
    +                           (strlenW(progid)+strlenW(szSN)+1) * sizeof(WCHAR)); 
    +
    +            strcpyW(newkey,progid);
    +            strcatW(newkey,szSN);
    +            RegCreateKeyW(hkey,newkey,&hkey2);
    +            RegCloseKey(hkey2);
    +
    +            HeapFree(GetProcessHeap(),0,progid);
    +            HeapFree(GetProcessHeap(),0,newkey);
    +        }
    +
    +
    +        RegCloseKey(hkey);
    +
    +        ui_actiondata(package,szRegisterExtensionInfo,row);
    +
    +        msiobj_release(&row->hdr);
    +    }
    +    MSI_ViewClose(view);
    +    msiobj_release(&view->hdr);
    +
    +end:
    +    return rc;
    +}
    +
    +static UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package)
    +{
    +    UINT rc;
    +    MSIQUERY * view;
    +    MSIRECORD * row = 0;
    +    static const WCHAR ExecSeqQuery[] = {
    +        'S','E','L','E','C','T',' ','*',' ',
    +        'f','r','o','m',' ','M','I','M','E',0};
    +    static const WCHAR szExten[] = 
    +{ 'E','x','t','e','n','s','i','o','n',0 };
    +    HKEY hkey;
    +
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        rc = ERROR_SUCCESS;
    +        goto end;
    +    }
    +
    +    rc = MSI_ViewExecute(view, 0);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +        goto end;
    +    }
    +
    +    while (1)
    +    {
    +        WCHAR extension[257];
    +        LPWSTR exten;
    +        LPWSTR mime;
    +        static const WCHAR fmt[] = 
    +{'M','I','M','E','\\',
    +'D','a','t','a','b','a','s','e','\\',
    +'C','o','n','t','e','n','t',' ','T','y','p','e','\\',
    +'%','s',0};
    +        LPWSTR key;
    +     
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            rc = ERROR_SUCCESS;
    +            break;
    +        }
    +
    +        mime = load_dynamic_stringW(row,1);
    +        exten = load_dynamic_stringW(row,2);
    +        extension[0] = '.';
    +        extension[1] = 0;
    +        strcatW(extension,exten);
    +        HeapFree(GetProcessHeap(),0,exten);
    +
    +        key = HeapAlloc(GetProcessHeap(),0,(strlenW(mime)+strlenW(fmt)+1) *
    +                                            sizeof(WCHAR));
    +        sprintfW(key,fmt,mime);
    +        RegCreateKeyW(HKEY_CLASSES_ROOT,key,&hkey);
    +        RegSetValueExW(hkey,szExten,0,REG_SZ,(LPVOID)extension,
    +                           (strlenW(extension)+1)*sizeof(WCHAR));
    +
    +        HeapFree(GetProcessHeap(),0,mime);
    +        HeapFree(GetProcessHeap(),0,key);
    +
    +        if (!MSI_RecordIsNull(row,3))
    +        {
    +            FIXME("Handle non null for field 3\n");
    +        }
    +
    +        RegCloseKey(hkey);
    +
    +        ui_actiondata(package,szRegisterMIMEInfo,row);
    +
    +        msiobj_release(&row->hdr);
    +    }
    +    MSI_ViewClose(view);
    +    msiobj_release(&view->hdr);
    +
    +end:
    +    return rc;
    +}
    +
    +static UINT ACTION_RegisterUser(MSIPACKAGE *package)
    +{
    +    static const WCHAR szProductCode[]=
    +         {'P','r','o','d','u','c','t','C','o','d','e',0};
    +    static const WCHAR szProductID[]=
    +         {'P','r','o','d','u','c','t','I','D',0};
    +    HKEY hkey=0;
    +    LPWSTR buffer;
    +    LPWSTR productcode;
    +    LPWSTR productid;
    +    UINT rc,i;
    +    DWORD size;
    +
    +    static const WCHAR szPropKeys[][80] = 
    +    {
    +{'P','r','o','d','u','c','t','I','D',0},
    +{'U','S','E','R','N','A','M','E',0},
    +{'C','O','M','P','A','N','Y','N','A','M','E',0},
    +{0},
    +    };
    +
    +    static const WCHAR szRegKeys[][80] = 
    +    {
    +{'P','r','o','d','u','c','t','I','D',0},
    +{'R','e','g','O','w','n','e','r',0},
    +{'R','e','g','C','o','m','p','a','n','y',0},
    +{0},
    +    };
    +
    +    if (!package)
    +        return ERROR_INVALID_HANDLE;
    +
    +    productid = load_dynamic_property(package,szProductID,&rc);
    +    if (!productid)
    +        return ERROR_SUCCESS;
    +
    +    productcode = load_dynamic_property(package,szProductCode,&rc);
    +    if (!productcode)
    +        return rc;
    +
    +    rc = MSIREG_OpenUninstallKey(productcode,&hkey,TRUE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    i = 0;
    +    while (szPropKeys[i][0]!=0)
    +    {
    +        buffer = load_dynamic_property(package,szPropKeys[i],&rc);
    +        if (rc == ERROR_SUCCESS)
    +        {
    +            size = strlenW(buffer)*sizeof(WCHAR);
    +            RegSetValueExW(hkey,szRegKeys[i],0,REG_SZ,(LPSTR)buffer,size);
    +        }
    +        i++;
    +    }
    +
    +end:
    +    HeapFree(GetProcessHeap(),0,productcode);
    +    HeapFree(GetProcessHeap(),0,productid);
    +    RegCloseKey(hkey);
    +
    +    return ERROR_SUCCESS;
     }
     
     /* Msi functions that seem appropriate here */
    @@ -5108,7 +5831,6 @@ UINT MSI_SetTargetPathW(MSIPACKAGE *package, LPCWSTR szFolder,
         DWORD i;
         LPWSTR path = NULL;
         LPWSTR path2 = NULL;
    -    INT len;
         MSIFOLDER *folder;
     
         TRACE("(%p %s %s)\n",package, debugstr_w(szFolder),debugstr_w(szFolderPath));
    @@ -5127,22 +5849,10 @@ UINT MSI_SetTargetPathW(MSIPACKAGE *package, LPCWSTR szFolder,
         if (!path)
             return ERROR_INVALID_PARAMETER;
     
    -    if (folder->Property)
    -        HeapFree(GetProcessHeap(),0,folder->Property);
    +    HeapFree(GetProcessHeap(),0,folder->Property);
    +    folder->Property = build_directory_name(2, szFolderPath, NULL);
     
    -    len = strlenW(szFolderPath);
    -
    -    if (szFolderPath[len-1]!='\\')
    -    {
    -        len +=2;
    -        folder->Property = HeapAlloc(GetProcessHeap(),0,len*sizeof(WCHAR));
    -        strcpyW(folder->Property,szFolderPath);
    -        strcatW(folder->Property,cszbs);
    -    }
    -    else
    -        folder->Property = dupstrW(szFolderPath);
    -
    -    if (strcmpiW(path, szFolderPath) == 0)
    +    if (strcmpiW(path, folder->Property) == 0)
         {
             /*
              *  Resolved Target has not really changed, so just 
    @@ -5157,8 +5867,7 @@ UINT MSI_SetTargetPathW(MSIPACKAGE *package, LPCWSTR szFolder,
         {
             for (i = 0; i < package->loaded_folders; i++)
             {
    -            if (package->folders[i].ResolvedTarget)
    -                HeapFree(GetProcessHeap(),0,package->folders[i].ResolvedTarget);
    +            HeapFree(GetProcessHeap(),0,package->folders[i].ResolvedTarget);
                 package->folders[i].ResolvedTarget=NULL;
             }
     
    @@ -5205,8 +5914,8 @@ UINT WINAPI MsiSetTargetPathW(MSIHANDLE hInstall, LPCWSTR szFolder,
      *        MSIRUNMODE_REBOOTATEND       We need to reboot after installation completed
      *        MSIRUNMODE_REBOOTNOW         We need to reboot to continue the installation
      *        MSIRUNMODE_CABINET           Files from cabinet are installed
    - *        MSIRUNMODE_SOURCESHORTNAMES  Long names in source files is supressed
    - *        MSIRUNMODE_TARGETSHORTNAMES  Long names in destination files is supressed
    + *        MSIRUNMODE_SOURCESHORTNAMES  Long names in source files is suppressed
    + *        MSIRUNMODE_TARGETSHORTNAMES  Long names in destination files is suppressed
      *        MSIRUNMODE_RESERVED11        Reserved
      *        MSIRUNMODE_WINDOWS9X         Running under Windows95/98
      *        MSIRUNMODE_ZAWENABLED        Demand installation is supported
    @@ -5267,6 +5976,7 @@ UINT WINAPI MsiSetFeatureStateW(MSIHANDLE hInstall, LPCWSTR szFeature,
             return ERROR_UNKNOWN_FEATURE;
     
         package->features[index].ActionRequest= iState;
    +    ACTION_UpdateComponentStates(package,szFeature);
     
         return ERROR_SUCCESS;
     }
    @@ -5354,7 +6064,10 @@ piAction);
             *piInstalled = package->components[index].Installed;
     
         if (piAction)
    -        *piInstalled = package->components[index].Action;
    +        *piAction = package->components[index].Action;
    +
    +    TRACE("states (%i, %i)\n",
    +(piInstalled)?*piInstalled:-1,(piAction)?*piAction:-1);
     
         return ERROR_SUCCESS;
     }
    @@ -5384,21 +6097,21 @@ static UINT ACTION_Template(MSIPACKAGE *package)
         MSIRECORD * row = 0;
         static const WCHAR ExecSeqQuery[] = {0};
     
    -    rc = MsiDatabaseOpenViewW(package->db, ExecSeqQuery, &view);
    +    rc = MSI_DatabaseOpenViewW(package->db, ExecSeqQuery, &view);
         if (rc != ERROR_SUCCESS)
             return rc;
     
    -    rc = MsiViewExecute(view, 0);
    +    rc = MSI_ViewExecute(view, 0);
         if (rc != ERROR_SUCCESS)
         {
    -        MsiViewClose(view);
    +        MSI_ViewClose(view);
             msiobj_release(&view->hdr);
             return rc;
         }
     
         while (1)
         {
    -        rc = MsiViewFetch(view,&row);
    +        rc = MSI_ViewFetch(view,&row);
             if (rc != ERROR_SUCCESS)
             {
                 rc = ERROR_SUCCESS;
    @@ -5407,7 +6120,7 @@ static UINT ACTION_Template(MSIPACKAGE *package)
     
             msiobj_release(&row->hdr);
         }
    -    MsiViewClose(view);
    +    MSI_ViewClose(view);
         msiobj_release(&view->hdr);
         return rc;
     }
    diff --git a/reactos/lib/msi/action.h b/reactos/lib/msi/action.h
    new file mode 100644
    index 00000000000..221e2a22275
    --- /dev/null
    +++ b/reactos/lib/msi/action.h
    @@ -0,0 +1,151 @@
    +/*
    + * Common prototypes for Action handlers
    + *
    + * Copyright 2005 Aric Stewart for CodeWeavers
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +typedef struct tagMSIFEATURE
    +{
    +    WCHAR Feature[96];
    +    WCHAR Feature_Parent[96];
    +    WCHAR Title[0x100];
    +    WCHAR Description[0x100];
    +    INT Display;
    +    INT Level;
    +    WCHAR Directory[96];
    +    INT Attributes;
    +    
    +    INSTALLSTATE Installed;
    +    INSTALLSTATE ActionRequest;
    +    INSTALLSTATE Action;
    +
    +    INT ComponentCount;
    +    INT Components[1024]; /* yes hardcoded limit.... I am bad */
    +    INT Cost;
    +} MSIFEATURE;
    +
    +typedef struct tagMSICOMPONENT
    +{
    +    WCHAR Component[96];
    +    WCHAR ComponentId[96];
    +    WCHAR Directory[96];
    +    INT Attributes;
    +    WCHAR Condition[0x100];
    +    WCHAR KeyPath[96];
    +
    +    INSTALLSTATE Installed;
    +    INSTALLSTATE ActionRequest;
    +    INSTALLSTATE Action;
    +
    +    BOOL Enabled;
    +    INT  Cost;
    +} MSICOMPONENT;
    +
    +typedef struct tagMSIFOLDER
    +{
    +    LPWSTR Directory;
    +    LPWSTR TargetDefault;
    +    LPWSTR SourceDefault;
    +
    +    LPWSTR ResolvedTarget;
    +    LPWSTR ResolvedSource;
    +    LPWSTR Property;   /* initially set property */
    +    INT   ParentIndex;
    +    INT   State;
    +        /* 0 = uninitialized */
    +        /* 1 = existing */
    +        /* 2 = created remove if empty */
    +        /* 3 = created persist if empty */
    +    INT   Cost;
    +    INT   Space;
    +}MSIFOLDER;
    +
    +typedef struct tagMSIFILE
    +{
    +    LPWSTR File;
    +    INT ComponentIndex;
    +    LPWSTR FileName;
    +    INT FileSize;
    +    LPWSTR Version;
    +    LPWSTR Language;
    +    INT Attributes;
    +    INT Sequence;   
    +
    +    INT State;
    +       /* 0 = uninitialize */
    +       /* 1 = not present */
    +       /* 2 = present but replace */
    +       /* 3 = present do not replace */
    +       /* 4 = Installed */
    +    LPWSTR  SourcePath;
    +    LPWSTR  TargetPath;
    +    BOOL    Temporary; 
    +}MSIFILE;
    +
    +
    +UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action);
    +UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action);
    +void ACTION_FinishCustomActions( MSIPACKAGE* package);
    +UINT ACTION_CustomAction(MSIPACKAGE *package,const WCHAR *action, BOOL execute);
    +void ACTION_UpdateComponentStates(MSIPACKAGE *package, LPCWSTR szFeature);
    +UINT ACTION_AppSearch(MSIPACKAGE *package);
    +
    +DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR** data );
    +WCHAR *load_dynamic_stringW(MSIRECORD *row, INT index);
    +LPWSTR load_dynamic_property(MSIPACKAGE *package, LPCWSTR prop, UINT* rc);
    +LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name, BOOL source, 
    +                      BOOL set_prop, MSIFOLDER **folder);
    +int get_loaded_component(MSIPACKAGE* package, LPCWSTR Component );
    +int get_loaded_feature(MSIPACKAGE* package, LPCWSTR Feature );
    +int get_loaded_file(MSIPACKAGE* package, LPCWSTR file);
    +int track_tempfile(MSIPACKAGE *package, LPCWSTR name, LPCWSTR path);
    +
    +
    +
    +inline static char *strdupWtoA( const WCHAR *str )
    +{
    +    char *ret = NULL;
    +    if (str)
    +    {
    +        DWORD len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL
    +);
    +        if ((ret = HeapAlloc( GetProcessHeap(), 0, len )))
    +            WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
    +    }
    +    return ret;
    +}
    +
    +inline static WCHAR *strdupAtoW( const char *str )
    +{
    +    WCHAR *ret = NULL;
    +    if (str)
    +    {
    +        DWORD len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
    +        if ((ret = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
    +            MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len );
    +    }
    +    return ret;
    +}
    +
    +inline static LPWSTR dupstrW(LPCWSTR src)
    +{
    +    LPWSTR dest;
    +    if (!src) return NULL;
    +    dest = HeapAlloc(GetProcessHeap(), 0, (strlenW(src)+1)*sizeof(WCHAR));
    +    strcpyW(dest, src);
    +    return dest;
    +}
    diff --git a/reactos/lib/msi/appsearch.c b/reactos/lib/msi/appsearch.c
    new file mode 100644
    index 00000000000..60059b6429b
    --- /dev/null
    +++ b/reactos/lib/msi/appsearch.c
    @@ -0,0 +1,855 @@
    +/*
    + * Implementation of the AppSearch action of the Microsoft Installer (msi.dll)
    + *
    + * Copyright 2005 Juan Lang
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +#include 
    +
    +#define COBJMACROS
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "msi.h"
    +#include "msiquery.h"
    +#include "winver.h"
    +#include "wine/unicode.h"
    +#include "wine/debug.h"
    +#include "msipriv.h"
    +#include "action.h"
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(msi);
    +
    +typedef struct tagMSISIGNATURE
    +{
    +    LPWSTR   Name;     /* NOT owned by this structure */
    +    LPWSTR   Property; /* NOT owned by this structure */
    +    LPWSTR   File;
    +    DWORD    MinVersionMS;
    +    DWORD    MinVersionLS;
    +    DWORD    MaxVersionMS;
    +    DWORD    MaxVersionLS;
    +    DWORD    MinSize;
    +    DWORD    MaxSize;
    +    FILETIME MinTime;
    +    FILETIME MaxTime;
    +    LPWSTR   Languages;
    +}MSISIGNATURE;
    +
    +static void ACTION_VerStrToInteger(LPCWSTR verStr, PDWORD ms, PDWORD ls)
    +{
    +    const WCHAR *ptr;
    +    int x1 = 0, x2 = 0, x3 = 0, x4 = 0;
    +
    +    x1 = atoiW(verStr);
    +    ptr = strchrW(verStr, '.');
    +    if (ptr)
    +    {
    +        x2 = atoiW(ptr + 1);
    +        ptr = strchrW(ptr + 1, '.');
    +    }
    +    if (ptr)
    +    {
    +        x3 = atoiW(ptr + 1);
    +        ptr = strchrW(ptr + 1, '.');
    +    }
    +    if (ptr)
    +        x4 = atoiW(ptr + 1);
    +    /* FIXME: byte-order dependent? */
    +    *ms = x1 << 16 | x2;
    +    *ls = x3 << 16 | x4;
    +}
    +
    +/* Fills in sig with the the values from the Signature table, where name is the
    + * signature to find.  Upon return, sig->File will be NULL if the record is not
    + * found, and not NULL if it is found.
    + * Warning: clears all fields in sig!
    + * Returns ERROR_SUCCESS upon success (where not finding the record counts as
    + * success), something else on error.
    + */
    +static UINT ACTION_AppSearchGetSignature(MSIPACKAGE *package, MSISIGNATURE *sig,
    + LPCWSTR name)
    +{
    +    MSIQUERY *view;
    +    UINT rc;
    +    static const WCHAR ExecSeqQuery[] =  {
    +   's','e','l','e','c','t',' ','*',' ',
    +   'f','r','o','m',' ',
    +   'S','i','g','n','a','t','u','r','e',' ',
    +   'w','h','e','r','e',' ','S','i','g','n','a','t','u','r','e',' ','=',' ',
    +   '\'','%','s','\'',0};
    +
    +    TRACE("(package %p, sig %p)\n", package, sig);
    +    memset(sig, 0, sizeof(*sig));
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, name);
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        MSIRECORD *row = 0;
    +        DWORD time;
    +        WCHAR *minVersion, *maxVersion;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewExecute returned %d\n", rc);
    +            goto end;
    +        }
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewFetch returned %d\n", rc);
    +            rc = ERROR_SUCCESS;
    +            goto end;
    +        }
    +
    +        /* get properties */
    +        sig->File = load_dynamic_stringW(row,2);
    +        minVersion = load_dynamic_stringW(row,3);
    +        if (minVersion)
    +        {
    +            ACTION_VerStrToInteger(minVersion, &sig->MinVersionMS,
    +             &sig->MinVersionLS);
    +            HeapFree(GetProcessHeap(), 0, minVersion);
    +        }
    +        maxVersion = load_dynamic_stringW(row,4);
    +        if (maxVersion)
    +        {
    +            ACTION_VerStrToInteger(maxVersion, &sig->MaxVersionMS,
    +             &sig->MaxVersionLS);
    +            HeapFree(GetProcessHeap(), 0, maxVersion);
    +        }
    +        sig->MinSize = MSI_RecordGetInteger(row,5);
    +        if (sig->MinSize == MSI_NULL_INTEGER)
    +            sig->MinSize = 0;
    +        sig->MaxSize = MSI_RecordGetInteger(row,6);
    +        if (sig->MaxSize == MSI_NULL_INTEGER)
    +            sig->MaxSize = 0;
    +        sig->Languages = load_dynamic_stringW(row,9);
    +        time = MSI_RecordGetInteger(row,7);
    +        if (time != MSI_NULL_INTEGER)
    +            DosDateTimeToFileTime(HIWORD(time), LOWORD(time), &sig->MinTime);
    +        time = MSI_RecordGetInteger(row,8);
    +        if (time != MSI_NULL_INTEGER)
    +            DosDateTimeToFileTime(HIWORD(time), LOWORD(time), &sig->MaxTime);
    +        TRACE("Found file name %s for Signature_ %s;\n",
    +         debugstr_w(sig->File), debugstr_w(name));
    +        TRACE("MinVersion is %d.%d.%d.%d\n", HIWORD(sig->MinVersionMS),
    +         LOWORD(sig->MinVersionMS), HIWORD(sig->MinVersionLS),
    +         LOWORD(sig->MinVersionLS));
    +        TRACE("MaxVersion is %d.%d.%d.%d\n", HIWORD(sig->MaxVersionMS),
    +         LOWORD(sig->MaxVersionMS), HIWORD(sig->MaxVersionLS),
    +         LOWORD(sig->MaxVersionLS));
    +        TRACE("MinSize is %ld, MaxSize is %ld;\n", sig->MinSize, sig->MaxSize);
    +        TRACE("Languages is %s\n", debugstr_w(sig->Languages));
    +
    +end:
    +        msiobj_release(&row->hdr);
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +    }
    +    else
    +    {
    +        TRACE("MSI_OpenQuery returned %d\n", rc);
    +        rc = ERROR_SUCCESS;
    +    }
    +
    +    TRACE("returning %d\n", rc);
    +    return rc;
    +}
    +
    +static UINT ACTION_AppSearchComponents(MSIPACKAGE *package, BOOL *appFound,
    + MSISIGNATURE *sig)
    +{
    +    MSIQUERY *view;
    +    UINT rc;
    +    static const WCHAR ExecSeqQuery[] =  {
    +   's','e','l','e','c','t',' ','*',' ',
    +   'f','r','o','m',' ',
    +   'C','o','m','p','L','o','c','a','t','o','r',' ',
    +   'w','h','e','r','e',' ','S','i','g','n','a','t','u','r','e','_',' ','=',' ',
    +   '\'','%','s','\'',0};
    +
    +    TRACE("(package %p, appFound %p, sig %p)\n", package, appFound, sig);
    +    *appFound = FALSE;
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, sig->Name);
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        MSIRECORD *row = 0;
    +        WCHAR guid[50];
    +        DWORD sz;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewExecute returned %d\n", rc);
    +            goto end;
    +        }
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewFetch returned %d\n", rc);
    +            rc = ERROR_SUCCESS;
    +            goto end;
    +        }
    +
    +        /* get GUID */
    +        guid[0] = 0;
    +        sz=sizeof(guid)/sizeof(guid[0]);
    +        rc = MSI_RecordGetStringW(row,2,guid,&sz);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            ERR("Error is %x\n",rc);
    +            goto end;
    +        }
    +        FIXME("AppSearch unimplemented for CompLocator table (GUID %s)\n",
    +         debugstr_w(guid));
    +
    +end:
    +        msiobj_release(&row->hdr);
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +    }
    +    else
    +    {
    +        TRACE("MSI_OpenQuery returned %d\n", rc);
    +        rc = ERROR_SUCCESS;
    +    }
    +
    +    TRACE("returning %d\n", rc);
    +    return rc;
    +}
    +
    +static UINT ACTION_AppSearchReg(MSIPACKAGE *package, BOOL *appFound,
    + MSISIGNATURE *sig)
    +{
    +    MSIQUERY *view;
    +    UINT rc;
    +    static const WCHAR ExecSeqQuery[] =  {
    +   's','e','l','e','c','t',' ','*',' ',
    +   'f','r','o','m',' ',
    +   'R','e','g','L','o','c','a','t','o','r',' ',
    +   'w','h','e','r','e',' ','S','i','g','n','a','t','u','r','e','_',' ','=',' ',
    +   '\'','%','s','\'',0};
    +
    +    TRACE("(package %p, appFound %p, sig %p)\n", package, appFound, sig);
    +    *appFound = FALSE;
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, sig->Name);
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        MSIRECORD *row = 0;
    +        LPWSTR keyPath;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewExecute returned %d\n", rc);
    +            goto end;
    +        }
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewFetch returned %d\n", rc);
    +            rc = ERROR_SUCCESS;
    +            goto end;
    +        }
    +
    +        /* get key path */
    +        keyPath = load_dynamic_stringW(row,3);
    +        FIXME("AppSearch unimplemented for RegLocator (key path %s)\n",
    +         debugstr_w(keyPath));
    +        HeapFree(GetProcessHeap(), 0, keyPath);
    +
    +end:
    +        msiobj_release(&row->hdr);
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +    }
    +    else
    +    {
    +        TRACE("MSI_OpenQuery returned %d\n", rc);
    +        rc = ERROR_SUCCESS;
    +    }
    +
    +    TRACE("returning %d\n", rc);
    +    return rc;
    +}
    +
    +static UINT ACTION_AppSearchIni(MSIPACKAGE *package, BOOL *appFound,
    + MSISIGNATURE *sig)
    +{
    +    MSIQUERY *view;
    +    UINT rc;
    +    static const WCHAR ExecSeqQuery[] =  {
    +   's','e','l','e','c','t',' ','*',' ',
    +   'f','r','o','m',' ',
    +   'I','n','i','L','o','c','a','t','o','r',' ',
    +   'w','h','e','r','e',' ','S','i','g','n','a','t','u','r','e','_',' ','=',' ',
    +   '\'','%','s','\'',0};
    +
    +    TRACE("(package %p, appFound %p, sig %p)\n", package, appFound, sig);
    +    *appFound = FALSE;
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, sig->Name);
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        MSIRECORD *row = 0;
    +        LPWSTR fileName;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewExecute returned %d\n", rc);
    +            goto end;
    +        }
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewFetch returned %d\n", rc);
    +            rc = ERROR_SUCCESS;
    +            goto end;
    +        }
    +
    +        /* get file name */
    +        fileName = load_dynamic_stringW(row,2);
    +        FIXME("AppSearch unimplemented for IniLocator (ini file name %s)\n",
    +         debugstr_w(fileName));
    +        HeapFree(GetProcessHeap(), 0, fileName);
    +
    +end:
    +        msiobj_release(&row->hdr);
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +    }
    +    else
    +    {
    +        TRACE("MSI_OpenQuery returned %d\n", rc);
    +        rc = ERROR_SUCCESS;
    +    }
    +
    +
    +    TRACE("returning %d\n", rc);
    +    return rc;
    +}
    +
    +/* Expands the value in src into a path without property names and only
    + * containing long path names into dst.  Replaces at most len characters of dst,
    + * and always NULL-terminates dst if dst is not NULL and len >= 1.
    + * May modify src.
    + * Assumes src and dst are non-overlapping.
    + * FIXME: return code probably needed:
    + * - what does AppSearch return if the table values are invalid?
    + * - what if dst is too small?
    + */
    +static void ACTION_ExpandAnyPath(MSIPACKAGE *package, WCHAR *src, WCHAR *dst,
    + size_t len)
    +{
    +    WCHAR *ptr;
    +    size_t copied = 0;
    +
    +    if (!src || !dst || !len)
    +        return;
    +
    +    /* Ignore the short portion of the path, don't think we can use it anyway */
    +    if ((ptr = strchrW(src, '|')))
    +        ptr++;
    +    else
    +        ptr = src;
    +    while (*ptr && copied < len - 1)
    +    {
    +        WCHAR *prop = strchrW(ptr, '[');
    +
    +        if (prop)
    +        {
    +            WCHAR *propEnd = strchrW(prop + 1, ']');
    +
    +            if (!propEnd)
    +            {
    +                WARN("Unterminated property name in AnyPath: %s\n",
    +                 debugstr_w(prop));
    +                break;
    +            }
    +            else
    +            {
    +                DWORD propLen;
    +
    +                *propEnd = 0;
    +                propLen = len - copied - 1;
    +                MSI_GetPropertyW(package, prop + 1, dst + copied, &propLen);
    +                ptr = propEnd + 1;
    +                copied += propLen;
    +            }
    +        }
    +        else
    +        {
    +            size_t toCopy = min(strlenW(ptr) + 1, len - copied - 1);
    +
    +            memcpy(dst + copied, ptr, toCopy * sizeof(WCHAR));
    +            ptr += toCopy;
    +            copied += toCopy;
    +        }
    +    }
    +    *(dst + copied) = '\0';
    +}
    +
    +/* Sets *matches to whether the file (whose path is filePath) matches the
    + * versions set in sig.
    + * Return ERROR_SUCCESS in case of success (whether or not the file matches),
    + * something else if a install-halting error occurs.
    + */
    +static UINT ACTION_FileVersionMatches(MSISIGNATURE *sig, LPCWSTR filePath,
    + BOOL *matches)
    +{
    +    UINT rc = ERROR_SUCCESS;
    +
    +    *matches = FALSE;
    +    if (sig->Languages)
    +    {
    +        FIXME(": need to check version for languages %s\n",
    +         debugstr_w(sig->Languages));
    +    }
    +    else
    +    {
    +        DWORD zero, size = GetFileVersionInfoSizeW(filePath, &zero);
    +
    +        if (size)
    +        {
    +            LPVOID buf = HeapAlloc(GetProcessHeap(), 0, size);
    +
    +            if (buf)
    +            {
    +                static const WCHAR rootW[] = { '\\',0 };
    +                UINT versionLen;
    +                LPVOID subBlock = NULL;
    +
    +                if (GetFileVersionInfoW(filePath, 0, size, buf))
    +                    VerQueryValueW(buf, rootW, &subBlock, &versionLen);
    +                if (subBlock)
    +                {
    +                    VS_FIXEDFILEINFO *info =
    +                     (VS_FIXEDFILEINFO *)subBlock;
    +
    +                    TRACE("Comparing file version %d.%d.%d.%d:\n",
    +                     HIWORD(info->dwFileVersionMS),
    +                     LOWORD(info->dwFileVersionMS),
    +                     HIWORD(info->dwFileVersionLS),
    +                     LOWORD(info->dwFileVersionLS));
    +                    if (info->dwFileVersionMS < sig->MinVersionMS
    +                     || (info->dwFileVersionMS == sig->MinVersionMS &&
    +                     info->dwFileVersionLS < sig->MinVersionLS))
    +                    {
    +                        TRACE("Less than minimum version %d.%d.%d.%d\n",
    +                         HIWORD(sig->MinVersionMS),
    +                         LOWORD(sig->MinVersionMS),
    +                         HIWORD(sig->MinVersionLS),
    +                         LOWORD(sig->MinVersionLS));
    +                    }
    +                    else if (info->dwFileVersionMS < sig->MinVersionMS
    +                     || (info->dwFileVersionMS == sig->MinVersionMS &&
    +                     info->dwFileVersionLS < sig->MinVersionLS))
    +                    {
    +                        TRACE("Greater than minimum version %d.%d.%d.%d\n",
    +                         HIWORD(sig->MaxVersionMS),
    +                         LOWORD(sig->MaxVersionMS),
    +                         HIWORD(sig->MaxVersionLS),
    +                         LOWORD(sig->MaxVersionLS));
    +                    }
    +                    else
    +                        *matches = TRUE;
    +                }
    +                HeapFree(GetProcessHeap(), 0, buf);
    +            }
    +            else
    +                rc = ERROR_OUTOFMEMORY;
    +        }
    +    }
    +    return rc;
    +}
    +
    +/* Sets *matches to whether the file in findData matches that in sig.
    + * fullFilePath is assumed to be the full path of the file specified in
    + * findData, which may be necessary to compare the version.
    + * Return ERROR_SUCCESS in case of success (whether or not the file matches),
    + * something else if a install-halting error occurs.
    + */
    +static UINT ACTION_FileMatchesSig(MSISIGNATURE *sig,
    + LPWIN32_FIND_DATAW findData, LPCWSTR fullFilePath, BOOL *matches)
    +{
    +    UINT rc = ERROR_SUCCESS;
    +
    +    *matches = TRUE;
    +    /* assumes the caller has already ensured the filenames match, so check
    +     * the other fields..
    +     */
    +    if (sig->MinTime.dwLowDateTime || sig->MinTime.dwHighDateTime)
    +    {
    +        if (findData->ftCreationTime.dwHighDateTime <
    +         sig->MinTime.dwHighDateTime ||
    +         (findData->ftCreationTime.dwHighDateTime == sig->MinTime.dwHighDateTime
    +         && findData->ftCreationTime.dwLowDateTime <
    +         sig->MinTime.dwLowDateTime))
    +            *matches = FALSE;
    +    }
    +    if (*matches && (sig->MaxTime.dwLowDateTime || sig->MaxTime.dwHighDateTime))
    +    {
    +        if (findData->ftCreationTime.dwHighDateTime >
    +         sig->MaxTime.dwHighDateTime ||
    +         (findData->ftCreationTime.dwHighDateTime == sig->MaxTime.dwHighDateTime
    +         && findData->ftCreationTime.dwLowDateTime >
    +         sig->MaxTime.dwLowDateTime))
    +            *matches = FALSE;
    +    }
    +    if (*matches && sig->MinSize && findData->nFileSizeLow < sig->MinSize)
    +        *matches = FALSE;
    +    if (*matches && sig->MaxSize && findData->nFileSizeLow > sig->MaxSize)
    +        *matches = FALSE;
    +    if (*matches && (sig->MinVersionMS || sig->MinVersionLS ||
    +     sig->MaxVersionMS || sig->MaxVersionLS))
    +        rc = ACTION_FileVersionMatches(sig, fullFilePath, matches);
    +    return rc;
    +}
    +
    +/* Recursively searches the directory dir for files that match the signature
    + * sig, up to (depth + 1) levels deep.  That is, if depth is 0, it searches dir
    + * (and only dir).  If depth is 1, searches dir and its immediate
    + * subdirectories.
    + * Assumes sig->File is not NULL.
    + * Returns ERROR_SUCCESS on success (which may include non-critical errors),
    + * something else on failures which should halt the install.
    + */
    +static UINT ACTION_RecurseSearchDirectory(MSIPACKAGE *package, BOOL *appFound,
    + MSISIGNATURE *sig, LPCWSTR dir, int depth)
    +{
    +    static const WCHAR starDotStarW[] = { '*','.','*',0 };
    +    UINT rc = ERROR_SUCCESS;
    +    size_t dirLen = lstrlenW(dir), fileLen = lstrlenW(sig->File);
    +    WCHAR *buf;
    +
    +    TRACE("Searching directory %s for file %s, depth %d\n", debugstr_w(dir),
    +     debugstr_w(sig->File), depth);
    +
    +    if (depth < 0)
    +        return ERROR_INVALID_PARAMETER;
    +
    +    *appFound = FALSE;
    +    /* We need the buffer in both paths below, so go ahead and allocate it
    +     * here.  Add two because we might need to add a backslash if the dir name
    +     * isn't backslash-terminated.
    +     */
    +    buf = HeapAlloc(GetProcessHeap(), 0,
    +     (dirLen + max(fileLen, lstrlenW(starDotStarW)) + 2) * sizeof(WCHAR));
    +    if (buf)
    +    {
    +        /* a depth of 0 implies we should search dir, so go ahead and search */
    +        HANDLE hFind;
    +        WIN32_FIND_DATAW findData;
    +
    +        memcpy(buf, dir, dirLen * sizeof(WCHAR));
    +        if (buf[dirLen - 1] != '\\')
    +            buf[dirLen++ - 1] = '\\';
    +        memcpy(buf + dirLen, sig->File, (fileLen + 1) * sizeof(WCHAR));
    +        hFind = FindFirstFileW(buf, &findData);
    +        if (hFind != INVALID_HANDLE_VALUE)
    +        {
    +            BOOL matches;
    +
    +            /* assuming Signature can't contain wildcards for the file name,
    +             * so don't bother with FindNextFileW here.
    +             */
    +            if (!(rc = ACTION_FileMatchesSig(sig, &findData, buf, &matches))
    +             && matches)
    +            {
    +                TRACE("found file, setting %s to %s\n",
    +                 debugstr_w(sig->Property), debugstr_w(buf));
    +                rc = MSI_SetPropertyW(package, sig->Property, buf);
    +                *appFound = TRUE;
    +            }
    +            FindClose(hFind);
    +        }
    +        if (rc == ERROR_SUCCESS && !*appFound && depth > 0)
    +        {
    +            HANDLE hFind;
    +            WIN32_FIND_DATAW findData;
    +
    +            memcpy(buf, dir, dirLen * sizeof(WCHAR));
    +            if (buf[dirLen - 1] != '\\')
    +                buf[dirLen++ - 1] = '\\';
    +            lstrcpyW(buf + dirLen, starDotStarW);
    +            hFind = FindFirstFileW(buf, &findData);
    +            if (hFind != INVALID_HANDLE_VALUE)
    +            {
    +                if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    +                    rc = ACTION_RecurseSearchDirectory(package, appFound,
    +                     sig, findData.cFileName, depth - 1);
    +                while (rc == ERROR_SUCCESS && !*appFound &&
    +                 FindNextFileW(hFind, &findData) != 0)
    +                {
    +                    if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    +                        rc = ACTION_RecurseSearchDirectory(package, appFound,
    +                         sig, findData.cFileName, depth - 1);
    +                }
    +                FindClose(hFind);
    +            }
    +        }
    +        HeapFree(GetProcessHeap(), 0, buf);
    +    }
    +    else
    +        rc = ERROR_OUTOFMEMORY;
    +
    +    return rc;
    +}
    +
    +static UINT ACTION_CheckDirectory(MSIPACKAGE *package, MSISIGNATURE *sig,
    + LPCWSTR dir)
    +{
    +    UINT rc = ERROR_SUCCESS;
    +
    +    if (GetFileAttributesW(dir) & FILE_ATTRIBUTE_DIRECTORY)
    +    {
    +        TRACE("directory exists, setting %s to %s\n",
    +         debugstr_w(sig->Property), debugstr_w(dir));
    +        rc = MSI_SetPropertyW(package, sig->Property, dir);
    +    }
    +    return rc;
    +}
    +
    +static BOOL ACTION_IsFullPath(LPCWSTR path)
    +{
    +    WCHAR first = toupperW(path[0]);
    +    BOOL ret;
    +
    +    if (first >= 'A' && first <= 'A' && path[1] == ':')
    +        ret = TRUE;
    +    else if (path[0] == '\\' && path[1] == '\\')
    +        ret = TRUE;
    +    else
    +        ret = FALSE;
    +    return ret;
    +}
    +
    +static UINT ACTION_SearchDirectory(MSIPACKAGE *package, MSISIGNATURE *sig,
    + LPCWSTR expanded, int depth)
    +{
    +    UINT rc;
    +    BOOL found;
    +
    +    if (ACTION_IsFullPath(expanded))
    +    {
    +        if (sig->File)
    +            rc = ACTION_RecurseSearchDirectory(package, &found, sig,
    +             expanded, depth);
    +        else
    +        {
    +            /* Recursively searching a directory makes no sense when the
    +             * directory to search is the thing you're trying to find.
    +             */
    +            rc = ACTION_CheckDirectory(package, sig, expanded);
    +        }
    +    }
    +    else
    +    {
    +        WCHAR pathWithDrive[MAX_PATH] = { 'C',':','\\',0 };
    +        DWORD drives = GetLogicalDrives();
    +        int i;
    +
    +        rc = ERROR_SUCCESS;
    +        found = FALSE;
    +        for (i = 0; rc == ERROR_SUCCESS && !found && i < 26; i++)
    +            if (drives & (1 << drives))
    +            {
    +                pathWithDrive[0] = 'A' + i;
    +                if (GetDriveTypeW(pathWithDrive) == DRIVE_FIXED)
    +                {
    +                    strncpyW(pathWithDrive + 3, expanded,
    +                     sizeof(pathWithDrive) / sizeof(pathWithDrive[0]) - 3);
    +                    if (sig->File)
    +                        rc = ACTION_RecurseSearchDirectory(package, &found, sig,
    +                         pathWithDrive, depth);
    +                    else
    +                        rc = ACTION_CheckDirectory(package, sig, pathWithDrive);
    +                }
    +            }
    +    }
    +    return rc;
    +}
    +
    +static UINT ACTION_AppSearchDr(MSIPACKAGE *package, MSISIGNATURE *sig)
    +{
    +    MSIQUERY *view;
    +    UINT rc;
    +    static const WCHAR ExecSeqQuery[] =  {
    +   's','e','l','e','c','t',' ','*',' ',
    +   'f','r','o','m',' ',
    +   'D','r','L','o','c','a','t','o','r',' ',
    +   'w','h','e','r','e',' ','S','i','g','n','a','t','u','r','e','_',' ','=',' ',
    +   '\'','%','s','\'',0};
    +
    +    TRACE("(package %p, sig %p)\n", package, sig);
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, sig->Name);
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        MSIRECORD *row = 0;
    +        WCHAR buffer[MAX_PATH], expanded[MAX_PATH];
    +        DWORD sz;
    +        int depth;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewExecute returned %d\n", rc);
    +            goto end;
    +        }
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            TRACE("MSI_ViewFetch returned %d\n", rc);
    +            rc = ERROR_SUCCESS;
    +            goto end;
    +        }
    +
    +        /* check whether parent is set */
    +        buffer[0] = 0;
    +        sz=sizeof(buffer)/sizeof(buffer[0]);
    +        rc = MSI_RecordGetStringW(row,2,buffer,&sz);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            ERR("Error is %x\n",rc);
    +            goto end;
    +        }
    +        else if (buffer[0])
    +        {
    +            FIXME(": searching parent (%s) unimplemented\n",
    +             debugstr_w(buffer));
    +            goto end;
    +        }
    +        /* no parent, now look for path */
    +        buffer[0] = 0;
    +        sz=sizeof(buffer)/sizeof(buffer[0]);
    +        rc = MSI_RecordGetStringW(row,3,buffer,&sz);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            ERR("Error is %x\n",rc);
    +            goto end;
    +        }
    +        if (MSI_RecordIsNull(row,4))
    +            depth = 0;
    +        else
    +            depth = MSI_RecordGetInteger(row,4);
    +        ACTION_ExpandAnyPath(package, buffer, expanded,
    +         sizeof(expanded) / sizeof(expanded[0]));
    +        rc = ACTION_SearchDirectory(package, sig, expanded, depth);
    +
    +end:
    +        msiobj_release(&row->hdr);
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +    }
    +    else
    +    {
    +        TRACE("MSI_OpenQuery returned %d\n", rc);
    +        rc = ERROR_SUCCESS;
    +    }
    +
    +
    +    TRACE("returning %d\n", rc);
    +    return rc;
    +}
    +
    +/* http://msdn.microsoft.com/library/en-us/msi/setup/appsearch_table.asp
    + * is the best reference for the AppSearch table and how it's used.
    + */
    +UINT ACTION_AppSearch(MSIPACKAGE *package)
    +{
    +    MSIQUERY *view;
    +    UINT rc;
    +    static const WCHAR ExecSeqQuery[] =  {
    +   's','e','l','e','c','t',' ','*',' ',
    +   'f','r','o','m',' ',
    +   'A','p','p','S','e','a','r','c','h',0};
    +
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery);
    +    if (rc == ERROR_SUCCESS)
    +    {
    +        MSIRECORD *row = 0;
    +        WCHAR propBuf[0x100], sigBuf[0x100];
    +        DWORD sz;
    +        MSISIGNATURE sig;
    +        BOOL appFound = FALSE;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +            goto end;
    +
    +        while (!rc)
    +        {
    +            rc = MSI_ViewFetch(view,&row);
    +            if (rc != ERROR_SUCCESS)
    +            {
    +                rc = ERROR_SUCCESS;
    +                break;
    +            }
    +
    +            /* get property and signature */
    +            propBuf[0] = 0;
    +            sz=sizeof(propBuf)/sizeof(propBuf[0]);
    +            rc = MSI_RecordGetStringW(row,1,propBuf,&sz);
    +            if (rc != ERROR_SUCCESS)
    +            {
    +                ERR("Error is %x\n",rc);
    +                msiobj_release(&row->hdr);
    +                break;
    +            }
    +            sigBuf[0] = 0;
    +            sz=sizeof(sigBuf)/sizeof(sigBuf[0]);
    +            rc = MSI_RecordGetStringW(row,2,sigBuf,&sz);
    +            if (rc != ERROR_SUCCESS)
    +            {
    +                ERR("Error is %x\n",rc);
    +                msiobj_release(&row->hdr);
    +                break;
    +            }
    +            TRACE("Searching for Property %s, Signature_ %s\n",
    +             debugstr_w(propBuf), debugstr_w(sigBuf));
    +            /* This clears all the fields, so set Name and Property afterward */
    +            rc = ACTION_AppSearchGetSignature(package, &sig, sigBuf);
    +            sig.Name = sigBuf;
    +            sig.Property = propBuf;
    +            if (rc == ERROR_SUCCESS)
    +            {
    +                rc = ACTION_AppSearchComponents(package, &appFound, &sig);
    +                if (rc == ERROR_SUCCESS && !appFound)
    +                {
    +                    rc = ACTION_AppSearchReg(package, &appFound, &sig);
    +                    if (rc == ERROR_SUCCESS && !appFound)
    +                    {
    +                        rc = ACTION_AppSearchIni(package, &appFound, &sig);
    +                        if (rc == ERROR_SUCCESS && !appFound)
    +                            rc = ACTION_AppSearchDr(package, &sig);
    +                    }
    +                }
    +            }
    +            HeapFree(GetProcessHeap(), 0, sig.File);
    +            HeapFree(GetProcessHeap(), 0, sig.Languages);
    +            msiobj_release(&row->hdr);
    +        }
    +
    +end:
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +    }
    +    else
    +        rc = ERROR_SUCCESS;
    +
    +    return rc;
    +}
    diff --git a/reactos/lib/msi/cond.tab.c b/reactos/lib/msi/cond.tab.c
    index 6a4e64c88c6..31fa5f736a6 100644
    --- a/reactos/lib/msi/cond.tab.c
    +++ b/reactos/lib/msi/cond.tab.c
    @@ -1,2022 +1,2204 @@
    -/* A Bison parser, made from ./cond.y
    -   by GNU bison 1.35.  */
    -
    -#define YYBISON 1  /* Identify Bison output.  */
    -
    -#define yyparse COND_parse
    -#define yylex COND_lex
    -#define yyerror COND_error
    -#define yylval COND_lval
    -#define yychar COND_char
    -#define yydebug COND_debug
    -#define yynerrs COND_nerrs
    -# define	COND_SPACE	257
    -# define	COND_EOF	258
    -# define	COND_OR	259
    -# define	COND_AND	260
    -# define	COND_NOT	261
    -# define	COND_LT	262
    -# define	COND_GT	263
    -# define	COND_EQ	264
    -# define	COND_LPAR	265
    -# define	COND_RPAR	266
    -# define	COND_TILDA	267
    -# define	COND_PERCENT	268
    -# define	COND_DOLLARS	269
    -# define	COND_QUESTION	270
    -# define	COND_AMPER	271
    -# define	COND_EXCLAM	272
    -# define	COND_IDENT	273
    -# define	COND_NUMBER	274
    -# define	COND_LITER	275
    -# define	COND_ERROR	276
    -
    -#line 1 "./cond.y"
    -
    -
    -/*
    - * Implementation of the Microsoft Installer (msi.dll)
    - *
    - * Copyright 2003 Mike McCormack for CodeWeavers
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -
    -#include "config.h"
    -
    -#include 
    -#include 
    -#include 
    -
    -#include "windef.h"
    -#include "winbase.h"
    -#include "wine/debug.h"
    -#include "wine/unicode.h"
    -
    -#include "msi.h"
    -#include "msiquery.h"
    -#include "msipriv.h"
    -
    -#define YYLEX_PARAM info
    -#define YYPARSE_PARAM info
    -
    -static int COND_error(char *str);
    -
    -WINE_DEFAULT_DEBUG_CHANNEL(msi);
    -
    -typedef struct tag_yyinput
    -{
    -    MSIPACKAGE *package;
    -    LPCWSTR str;
    -    INT    n;
    -    MSICONDITION result;
    -} COND_input;
    -
    -struct cond_str {
    -    LPCWSTR data;
    -    INT len;
    -};
    -
    -static LPWSTR COND_GetString( struct cond_str *str );
    -static LPWSTR COND_GetLiteral( struct cond_str *str );
    -static int COND_lex( void *COND_lval, COND_input *info);
    -
    -typedef INT (*comp_int)(INT a, INT b);
    -typedef INT (*comp_str)(LPWSTR a, LPWSTR b, BOOL caseless);
    -typedef INT (*comp_m1)(LPWSTR a,int b);
    -typedef INT (*comp_m2)(int a,LPWSTR b);
    -
    -static INT comp_lt_i(INT a, INT b);
    -static INT comp_gt_i(INT a, INT b);
    -static INT comp_le_i(INT a, INT b);
    -static INT comp_ge_i(INT a, INT b);
    -static INT comp_eq_i(INT a, INT b);
    -static INT comp_ne_i(INT a, INT b);
    -static INT comp_bitand(INT a, INT b);
    -static INT comp_highcomp(INT a, INT b);
    -static INT comp_lowcomp(INT a, INT b);
    -
    -static INT comp_eq_s(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_ne_s(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_lt_s(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_gt_s(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_le_s(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_ge_s(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_substring(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_start(LPWSTR a, LPWSTR b, BOOL casless);
    -static INT comp_end(LPWSTR a, LPWSTR b, BOOL casless);
    -
    -static INT comp_eq_m1(LPWSTR a, INT b);
    -static INT comp_ne_m1(LPWSTR a, INT b);
    -static INT comp_lt_m1(LPWSTR a, INT b);
    -static INT comp_gt_m1(LPWSTR a, INT b);
    -static INT comp_le_m1(LPWSTR a, INT b);
    -static INT comp_ge_m1(LPWSTR a, INT b);
    -
    -static INT comp_eq_m2(INT a, LPWSTR b);
    -static INT comp_ne_m2(INT a, LPWSTR b);
    -static INT comp_lt_m2(INT a, LPWSTR b);
    -static INT comp_gt_m2(INT a, LPWSTR b);
    -static INT comp_le_m2(INT a, LPWSTR b);
    -static INT comp_ge_m2(INT a, LPWSTR b);
    -
    -
    -#line 105 "./cond.y"
    -#ifndef YYSTYPE
    -typedef union
    -{
    -    struct cond_str str;
    -    LPWSTR    string;
    -    INT       value;
    -    comp_int  fn_comp_int;
    -    comp_str  fn_comp_str;
    -    comp_m1   fn_comp_m1;
    -    comp_m2   fn_comp_m2;
    -} yystype;
    -# define YYSTYPE yystype
    -# define YYSTYPE_IS_TRIVIAL 1
    -#endif
    -#ifndef YYDEBUG
    -# define YYDEBUG 0
    -#endif
    -
    -
    -
    -#define	YYFINAL		74
    -#define	YYFLAG		-32768
    -#define	YYNTBASE	23
    -
    -/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
    -#define YYTRANSLATE(x) ((unsigned)(x) <= 276 ? yytranslate[x] : 39)
    -
    -/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
    -static const char yytranslate[] =
    -{
    -       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    -       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
    -       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    -      16,    17,    18,    19,    20,    21,    22
    -};
    -
    -#if YYDEBUG
    -static const short yyprhs[] =
    -{
    -       0,     0,     2,     4,     8,    10,    14,    16,    19,    21,
    -      23,    27,    31,    36,    40,    44,    48,    50,    53,    55,
    -      57,    60,    63,    66,    69,    72,    74,    77,    79,    81,
    -      84,    87,    90,    93,    96,    98,   101,   103,   105,   108,
    -     111,   114,   117,   120,   122,   125,   127,   129,   132,   135,
    -     138,   141,   144,   146,   148,   150,   152,   154,   157,   160,
    -     163,   166,   168,   171,   173
    -};
    -static const short yyrhs[] =
    -{
    -      24,     0,    25,     0,    25,     5,    24,     0,    26,     0,
    -      25,     6,    26,     0,    27,     0,     7,    27,     0,    32,
    -       0,    33,     0,    32,    28,    32,     0,    33,    29,    33,
    -       0,    33,    13,    29,    33,     0,    33,    30,    32,     0,
    -      32,    31,    33,     0,    11,    24,    12,     0,    10,     0,
    -       8,     9,     0,     8,     0,     9,     0,     8,    10,     0,
    -       9,    10,     0,     9,     8,     0,     8,     8,     0,     9,
    -       9,     0,    10,     0,     8,     9,     0,     8,     0,     9,
    -       0,     8,    10,     0,     9,    10,     0,     9,     8,     0,
    -       8,     8,     0,     9,     9,     0,    10,     0,     8,     9,
    -       0,     8,     0,     9,     0,     8,    10,     0,     9,    10,
    -       0,     9,     8,     0,     8,     8,     0,     9,     9,     0,
    -      10,     0,     8,     9,     0,     8,     0,     9,     0,     8,
    -      10,     0,     9,    10,     0,     9,     8,     0,     8,     8,
    -       0,     9,     9,     0,    35,     0,    38,     0,    36,     0,
    -      34,     0,    21,     0,    15,    37,     0,    16,    37,     0,
    -      17,    37,     0,    18,    37,     0,    37,     0,    14,    37,
    -       0,    19,     0,    20,     0
    -};
    -
    -#endif
    -
    -#if YYDEBUG
    -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
    -static const short yyrline[] =
    -{
    -       0,   135,   143,   148,   154,   159,   165,   170,   177,   182,
    -     186,   190,   194,   198,   202,   206,   212,   218,   222,   226,
    -     230,   234,   239,   243,   247,   253,   259,   263,   267,   271,
    -     275,   280,   284,   288,   294,   300,   304,   308,   312,   316,
    -     321,   325,   329,   335,   341,   345,   349,   353,   357,   362,
    -     366,   370,   376,   381,   387,   392,   398,   407,   417,   426,
    -     435,   446,   462,   475,   484
    -};
    -#endif
    -
    -
    -#if (YYDEBUG) || defined YYERROR_VERBOSE
    -
    -/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
    -static const char *const yytname[] =
    -{
    -  "$", "error", "$undefined.", "COND_SPACE", "COND_EOF", "COND_OR", 
    -  "COND_AND", "COND_NOT", "COND_LT", "COND_GT", "COND_EQ", "COND_LPAR", 
    -  "COND_RPAR", "COND_TILDA", "COND_PERCENT", "COND_DOLLARS", 
    -  "COND_QUESTION", "COND_AMPER", "COND_EXCLAM", "COND_IDENT", 
    -  "COND_NUMBER", "COND_LITER", "COND_ERROR", "condition", "expression", 
    -  "boolean_term", "boolean_factor", "term", "comp_op_i", "comp_op_s", 
    -  "comp_op_m1", "comp_op_m2", "value_i", "value_s", "literal", "symbol_i", 
    -  "symbol_s", "identifier", "integer", 0
    -};
    -#endif
    -
    -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
    -static const short yyr1[] =
    -{
    -       0,    23,    24,    24,    25,    25,    26,    26,    27,    27,
    -      27,    27,    27,    27,    27,    27,    28,    28,    28,    28,
    -      28,    28,    28,    28,    28,    29,    29,    29,    29,    29,
    -      29,    29,    29,    29,    30,    30,    30,    30,    30,    30,
    -      30,    30,    30,    31,    31,    31,    31,    31,    31,    31,
    -      31,    31,    32,    32,    33,    33,    34,    35,    35,    35,
    -      35,    36,    36,    37,    38
    -};
    -
    -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
    -static const short yyr2[] =
    -{
    -       0,     1,     1,     3,     1,     3,     1,     2,     1,     1,
    -       3,     3,     4,     3,     3,     3,     1,     2,     1,     1,
    -       2,     2,     2,     2,     2,     1,     2,     1,     1,     2,
    -       2,     2,     2,     2,     1,     2,     1,     1,     2,     2,
    -       2,     2,     2,     1,     2,     1,     1,     2,     2,     2,
    -       2,     2,     1,     1,     1,     1,     1,     2,     2,     2,
    -       2,     1,     2,     1,     1
    -};
    -
    -/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
    -   doesn't specify something else to do.  Zero means the default is an
    -   error. */
    -static const short yydefact[] =
    -{
    -       0,     0,     0,     0,     0,     0,     0,     0,    63,    64,
    -      56,     1,     2,     4,     6,     8,     9,    55,    52,    54,
    -      61,    53,     7,     0,    62,    57,    58,    59,    60,     0,
    -       0,    18,    19,    16,     0,     0,    36,    37,    34,     0,
    -       0,     0,    15,     3,     5,    23,    17,    20,    22,    24,
    -      21,    10,    14,    41,    35,    38,    40,    42,    39,    27,
    -      28,    25,     0,    11,    13,    32,    26,    29,    31,    33,
    -      30,    12,     0,     0,     0
    -};
    -
    -static const short yydefgoto[] =
    -{
    -      72,    11,    12,    13,    14,    34,    40,    41,    35,    15,
    -      16,    17,    18,    19,    20,    21
    -};
    -
    -static const short yypact[] =
    -{
    -      -5,    50,    -5,   -12,   -12,   -12,   -12,   -12,-32768,-32768,
    -  -32768,-32768,    -2,-32768,-32768,    48,   123,-32768,-32768,-32768,
    -  -32768,-32768,-32768,    -4,-32768,-32768,-32768,-32768,-32768,    -5,
    -      -5,    10,    24,    33,   110,    58,    27,    41,    59,   135,
    -      58,   110,-32768,-32768,-32768,    62,    68,    71,    72,    80,
    -      81,-32768,-32768,    84,    90,    93,    94,   102,   103,   138,
    -     141,-32768,    58,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    -  -32768,-32768,    17,    21,-32768
    -};
    -
    -static const short yypgoto[] =
    -{
    -  -32768,    -1,-32768,    -8,    25,-32768,   -14,-32768,-32768,   -11,
    -     -35,-32768,-32768,-32768,   134,-32768
    -};
    -
    -
    -#define	YYLAST		151
    -
    -
    -static const short yytable[] =
    -{
    -      52,    23,     1,    29,    30,    63,     2,     8,    42,     3,
    -       4,     5,     6,     7,     8,     9,    10,    73,    45,    46,
    -      47,    74,    44,    51,   -45,    62,    22,    71,    43,   -45,
    -      64,   -45,    48,    49,    50,    53,    54,    55,   -46,     0,
    -       0,   -27,     0,   -46,     0,   -46,   -27,   -43,   -27,    56,
    -      57,    58,   -43,     0,   -43,   -28,    31,    32,    33,     0,
    -     -28,     2,   -28,     0,     3,     4,     5,     6,     7,     8,
    -       9,    10,     3,   -25,     0,     0,   -50,     8,   -25,    10,
    -     -25,   -50,   -44,   -50,     0,   -47,   -49,   -44,     0,   -44,
    -     -47,   -49,   -47,   -49,   -51,   -48,     0,     0,   -32,   -51,
    -     -48,   -51,   -48,   -32,   -26,   -32,     0,   -29,   -31,   -26,
    -       0,   -26,   -29,   -31,   -29,   -31,   -33,   -30,     0,     0,
    -       0,   -33,   -30,   -33,   -30,     4,     5,     6,     7,     0,
    -       9,    36,    37,    38,     0,     0,    39,    24,    25,    26,
    -      27,    28,     0,    59,    60,    61,    65,    66,    67,    68,
    -      69,    70
    -};
    -
    -static const short yycheck[] =
    -{
    -      35,     2,     7,     5,     6,    40,    11,    19,    12,    14,
    -      15,    16,    17,    18,    19,    20,    21,     0,     8,     9,
    -      10,     0,    30,    34,    14,    39,     1,    62,    29,    19,
    -      41,    21,     8,     9,    10,     8,     9,    10,    14,    -1,
    -      -1,    14,    -1,    19,    -1,    21,    19,    14,    21,     8,
    -       9,    10,    19,    -1,    21,    14,     8,     9,    10,    -1,
    -      19,    11,    21,    -1,    14,    15,    16,    17,    18,    19,
    -      20,    21,    14,    14,    -1,    -1,    14,    19,    19,    21,
    -      21,    19,    14,    21,    -1,    14,    14,    19,    -1,    21,
    -      19,    19,    21,    21,    14,    14,    -1,    -1,    14,    19,
    -      19,    21,    21,    19,    14,    21,    -1,    14,    14,    19,
    -      -1,    21,    19,    19,    21,    21,    14,    14,    -1,    -1,
    -      -1,    19,    19,    21,    21,    15,    16,    17,    18,    -1,
    -      20,     8,     9,    10,    -1,    -1,    13,     3,     4,     5,
    -       6,     7,    -1,     8,     9,    10,     8,     9,    10,     8,
    -       9,    10
    -};
    -#define YYPURE 1
    -
    -/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
    -#line 3 "/usr/share/bison/bison.simple"
    -
    -/* Skeleton output parser for bison,
    -
    -   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
    -   Foundation, Inc.
    -
    -   This program is free software; you can redistribute it and/or modify
    -   it under the terms of the GNU General Public License as published by
    -   the Free Software Foundation; either version 2, or (at your option)
    -   any later version.
    -
    -   This program is distributed in the hope that it will be useful,
    -   but WITHOUT ANY WARRANTY; without even the implied warranty of
    -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -   GNU General Public License for more details.
    -
    -   You should have received a copy of the GNU General Public License
    -   along with this program; if not, write to the Free Software
    -   Foundation, Inc., 59 Temple Place - Suite 330,
    -   Boston, MA 02111-1307, USA.  */
    -
    -/* As a special exception, when this file is copied by Bison into a
    -   Bison output file, you may use that output file without restriction.
    -   This special exception was added by the Free Software Foundation
    -   in version 1.24 of Bison.  */
    -
    -/* This is the parser code that is written into each bison parser when
    -   the %semantic_parser declaration is not specified in the grammar.
    -   It was written by Richard Stallman by simplifying the hairy parser
    -   used when %semantic_parser is specified.  */
    -
    -/* All symbols defined below should begin with yy or YY, to avoid
    -   infringing on user name space.  This should be done even for local
    -   variables, as they might otherwise be expanded by user macros.
    -   There are some unavoidable exceptions within include files to
    -   define necessary library symbols; they are noted "INFRINGES ON
    -   USER NAME SPACE" below.  */
    -
    -#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
    -
    -/* The parser invokes alloca or malloc; define the necessary symbols.  */
    -
    -# if YYSTACK_USE_ALLOCA
    -#  define YYSTACK_ALLOC alloca
    -# else
    -#  ifndef YYSTACK_USE_ALLOCA
    -#   if defined (alloca) || defined (_ALLOCA_H)
    -#    define YYSTACK_ALLOC alloca
    -#   else
    -#    ifdef __GNUC__
    -#     define YYSTACK_ALLOC __builtin_alloca
    -#    endif
    -#   endif
    -#  endif
    -# endif
    -
    -# ifdef YYSTACK_ALLOC
    -   /* Pacify GCC's `empty if-body' warning. */
    -#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    -# else
    -#  if defined (__STDC__) || defined (__cplusplus)
    -#   include  /* INFRINGES ON USER NAME SPACE */
    -#   define YYSIZE_T size_t
    -#  endif
    -#  define YYSTACK_ALLOC malloc
    -#  define YYSTACK_FREE free
    -# endif
    -#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
    -
    -
    -#if (! defined (yyoverflow) \
    -     && (! defined (__cplusplus) \
    -	 || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    -
    -/* A type that is properly aligned for any stack member.  */
    -union yyalloc
    -{
    -  short yyss;
    -  YYSTYPE yyvs;
    -# if YYLSP_NEEDED
    -  YYLTYPE yyls;
    -# endif
    -};
    -
    -/* The size of the maximum gap between one aligned stack and the next.  */
    -# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
    -
    -/* The size of an array large to enough to hold all stacks, each with
    -   N elements.  */
    -# if YYLSP_NEEDED
    -#  define YYSTACK_BYTES(N) \
    -     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))	\
    -      + 2 * YYSTACK_GAP_MAX)
    -# else
    -#  define YYSTACK_BYTES(N) \
    -     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
    -      + YYSTACK_GAP_MAX)
    -# endif
    -
    -/* Copy COUNT objects from FROM to TO.  The source and destination do
    -   not overlap.  */
    -# ifndef YYCOPY
    -#  if 1 < __GNUC__
    -#   define YYCOPY(To, From, Count) \
    -      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    -#  else
    -#   define YYCOPY(To, From, Count)		\
    -      do					\
    -	{					\
    -	  register YYSIZE_T yyi;		\
    -	  for (yyi = 0; yyi < (Count); yyi++)	\
    -	    (To)[yyi] = (From)[yyi];		\
    -	}					\
    -      while (0)
    -#  endif
    -# endif
    -
    -/* Relocate STACK from its old location to the new one.  The
    -   local variables YYSIZE and YYSTACKSIZE give the old and new number of
    -   elements in the stack, and YYPTR gives the new location of the
    -   stack.  Advance YYPTR to a properly aligned location for the next
    -   stack.  */
    -# define YYSTACK_RELOCATE(Stack)					\
    -    do									\
    -      {									\
    -	YYSIZE_T yynewbytes;						\
    -	YYCOPY (&yyptr->Stack, Stack, yysize);				\
    -	Stack = &yyptr->Stack;						\
    -	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;	\
    -	yyptr += yynewbytes / sizeof (*yyptr);				\
    -      }									\
    -    while (0)
    -
    -#endif
    -
    -
    -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    -# define YYSIZE_T __SIZE_TYPE__
    -#endif
    -#if ! defined (YYSIZE_T) && defined (size_t)
    -# define YYSIZE_T size_t
    -#endif
    -#if ! defined (YYSIZE_T)
    -# if defined (__STDC__) || defined (__cplusplus)
    -#  include  /* INFRINGES ON USER NAME SPACE */
    -#  define YYSIZE_T size_t
    -# endif
    -#endif
    -#if ! defined (YYSIZE_T)
    -# define YYSIZE_T unsigned int
    -#endif
    -
    -#define yyerrok		(yyerrstatus = 0)
    -#define yyclearin	(yychar = YYEMPTY)
    -#define YYEMPTY		-2
    -#define YYEOF		0
    -#define YYACCEPT	goto yyacceptlab
    -#define YYABORT 	goto yyabortlab
    -#define YYERROR		goto yyerrlab1
    -/* Like YYERROR except do call yyerror.  This remains here temporarily
    -   to ease the transition to the new meaning of YYERROR, for GCC.
    -   Once GCC version 2 has supplanted version 1, this can go.  */
    -#define YYFAIL		goto yyerrlab
    -#define YYRECOVERING()  (!!yyerrstatus)
    -#define YYBACKUP(Token, Value)					\
    -do								\
    -  if (yychar == YYEMPTY && yylen == 1)				\
    -    {								\
    -      yychar = (Token);						\
    -      yylval = (Value);						\
    -      yychar1 = YYTRANSLATE (yychar);				\
    -      YYPOPSTACK;						\
    -      goto yybackup;						\
    -    }								\
    -  else								\
    -    { 								\
    -      yyerror ("syntax error: cannot back up");			\
    -      YYERROR;							\
    -    }								\
    -while (0)
    -
    -#define YYTERROR	1
    -#define YYERRCODE	256
    -
    -
    -/* YYLLOC_DEFAULT -- Compute the default location (before the actions
    -   are run).
    -
    -   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
    -   first token.  By default, to implement support for ranges, extend
    -   its range to the last symbol.  */
    -
    -#ifndef YYLLOC_DEFAULT
    -# define YYLLOC_DEFAULT(Current, Rhs, N)       	\
    -   Current.last_line   = Rhs[N].last_line;	\
    -   Current.last_column = Rhs[N].last_column;
    -#endif
    -
    -
    -/* YYLEX -- calling `yylex' with the right arguments.  */
    -
    -#if YYPURE
    -# if YYLSP_NEEDED
    -#  ifdef YYLEX_PARAM
    -#   define YYLEX		yylex (&yylval, &yylloc, YYLEX_PARAM)
    -#  else
    -#   define YYLEX		yylex (&yylval, &yylloc)
    -#  endif
    -# else /* !YYLSP_NEEDED */
    -#  ifdef YYLEX_PARAM
    -#   define YYLEX		yylex (&yylval, YYLEX_PARAM)
    -#  else
    -#   define YYLEX		yylex (&yylval)
    -#  endif
    -# endif /* !YYLSP_NEEDED */
    -#else /* !YYPURE */
    -# define YYLEX			yylex ()
    -#endif /* !YYPURE */
    -
    -
    -/* Enable debugging if requested.  */
    -#if YYDEBUG
    -
    -# ifndef YYFPRINTF
    -#  include  /* INFRINGES ON USER NAME SPACE */
    -#  define YYFPRINTF fprintf
    -# endif
    -
    -# define YYDPRINTF(Args)			\
    -do {						\
    -  if (yydebug)					\
    -    YYFPRINTF Args;				\
    -} while (0)
    -/* Nonzero means print parse trace.  It is left uninitialized so that
    -   multiple parsers can coexist.  */
    -int yydebug;
    -#else /* !YYDEBUG */
    -# define YYDPRINTF(Args)
    -#endif /* !YYDEBUG */
    -
    -/* YYINITDEPTH -- initial size of the parser's stacks.  */
    -#ifndef	YYINITDEPTH
    -# define YYINITDEPTH 200
    -#endif
    -
    -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
    -   if the built-in stack extension method is used).
    -
    -   Do not make this value too large; the results are undefined if
    -   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
    -   evaluated with infinite-precision integer arithmetic.  */
    -
    -#if YYMAXDEPTH == 0
    -# undef YYMAXDEPTH
    -#endif
    -
    -#ifndef YYMAXDEPTH
    -# define YYMAXDEPTH 10000
    -#endif
    -
    -#ifdef YYERROR_VERBOSE
    -
    -# ifndef yystrlen
    -#  if defined (__GLIBC__) && defined (_STRING_H)
    -#   define yystrlen strlen
    -#  else
    -/* Return the length of YYSTR.  */
    -static YYSIZE_T
    -#   if defined (__STDC__) || defined (__cplusplus)
    -yystrlen (const char *yystr)
    -#   else
    -yystrlen (yystr)
    -     const char *yystr;
    -#   endif
    -{
    -  register const char *yys = yystr;
    -
    -  while (*yys++ != '\0')
    -    continue;
    -
    -  return yys - yystr - 1;
    -}
    -#  endif
    -# endif
    -
    -# ifndef yystpcpy
    -#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
    -#   define yystpcpy stpcpy
    -#  else
    -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    -   YYDEST.  */
    -static char *
    -#   if defined (__STDC__) || defined (__cplusplus)
    -yystpcpy (char *yydest, const char *yysrc)
    -#   else
    -yystpcpy (yydest, yysrc)
    -     char *yydest;
    -     const char *yysrc;
    -#   endif
    -{
    -  register char *yyd = yydest;
    -  register const char *yys = yysrc;
    -
    -  while ((*yyd++ = *yys++) != '\0')
    -    continue;
    -
    -  return yyd - 1;
    -}
    -#  endif
    -# endif
    -#endif
    -
    -#line 315 "/usr/share/bison/bison.simple"
    -
    -
    -/* The user can define YYPARSE_PARAM as the name of an argument to be passed
    -   into yyparse.  The argument should have type void *.
    -   It should actually point to an object.
    -   Grammar actions can access the variable by casting it
    -   to the proper pointer type.  */
    -
    -#ifdef YYPARSE_PARAM
    -# if defined (__STDC__) || defined (__cplusplus)
    -#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
    -#  define YYPARSE_PARAM_DECL
    -# else
    -#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
    -#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
    -# endif
    -#else /* !YYPARSE_PARAM */
    -# define YYPARSE_PARAM_ARG
    -# define YYPARSE_PARAM_DECL
    -#endif /* !YYPARSE_PARAM */
    -
    -/* Prevent warning if -Wstrict-prototypes.  */
    -#ifdef __GNUC__
    -# ifdef YYPARSE_PARAM
    -int yyparse (void *);
    -# else
    -int yyparse (void);
    -# endif
    -#endif
    -
    -/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
    -   variables are global, or local to YYPARSE.  */
    -
    -#define YY_DECL_NON_LSP_VARIABLES			\
    -/* The lookahead symbol.  */				\
    -int yychar;						\
    -							\
    -/* The semantic value of the lookahead symbol. */	\
    -YYSTYPE yylval;						\
    -							\
    -/* Number of parse errors so far.  */			\
    -int yynerrs;
    -
    -#if YYLSP_NEEDED
    -# define YY_DECL_VARIABLES			\
    -YY_DECL_NON_LSP_VARIABLES			\
    -						\
    -/* Location data for the lookahead symbol.  */	\
    -YYLTYPE yylloc;
    -#else
    -# define YY_DECL_VARIABLES			\
    -YY_DECL_NON_LSP_VARIABLES
    -#endif
    -
    -
    -/* If nonreentrant, generate the variables here. */
    -
    -#if !YYPURE
    -YY_DECL_VARIABLES
    -#endif  /* !YYPURE */
    -
    -int
    -yyparse (YYPARSE_PARAM_ARG)
    -     YYPARSE_PARAM_DECL
    -{
    -  /* If reentrant, generate the variables here. */
    -#if YYPURE
    -  YY_DECL_VARIABLES
    -#endif  /* !YYPURE */
    -
    -  register int yystate;
    -  register int yyn;
    -  int yyresult;
    -  /* Number of tokens to shift before error messages enabled.  */
    -  int yyerrstatus;
    -  /* Lookahead token as an internal (translated) token number.  */
    -  int yychar1 = 0;
    -
    -  /* Three stacks and their tools:
    -     `yyss': related to states,
    -     `yyvs': related to semantic values,
    -     `yyls': related to locations.
    -
    -     Refer to the stacks thru separate pointers, to allow yyoverflow
    -     to reallocate them elsewhere.  */
    -
    -  /* The state stack. */
    -  short	yyssa[YYINITDEPTH];
    -  short *yyss = yyssa;
    -  register short *yyssp;
    -
    -  /* The semantic value stack.  */
    -  YYSTYPE yyvsa[YYINITDEPTH];
    -  YYSTYPE *yyvs = yyvsa;
    -  register YYSTYPE *yyvsp;
    -
    -#if YYLSP_NEEDED
    -  /* The location stack.  */
    -  YYLTYPE yylsa[YYINITDEPTH];
    -  YYLTYPE *yyls = yylsa;
    -  YYLTYPE *yylsp;
    -#endif
    -
    -#if YYLSP_NEEDED
    -# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
    -#else
    -# define YYPOPSTACK   (yyvsp--, yyssp--)
    -#endif
    -
    -  YYSIZE_T yystacksize = YYINITDEPTH;
    -
    -
    -  /* The variables used to return semantic value and location from the
    -     action routines.  */
    -  YYSTYPE yyval;
    -#if YYLSP_NEEDED
    -  YYLTYPE yyloc;
    -#endif
    -
    -  /* When reducing, the number of symbols on the RHS of the reduced
    -     rule. */
    -  int yylen;
    -
    -  YYDPRINTF ((stderr, "Starting parse\n"));
    -
    -  yystate = 0;
    -  yyerrstatus = 0;
    -  yynerrs = 0;
    -  yychar = YYEMPTY;		/* Cause a token to be read.  */
    -
    -  /* Initialize stack pointers.
    -     Waste one element of value and location stack
    -     so that they stay on the same level as the state stack.
    -     The wasted elements are never initialized.  */
    -
    -  yyssp = yyss;
    -  yyvsp = yyvs;
    -#if YYLSP_NEEDED
    -  yylsp = yyls;
    -#endif
    -  goto yysetstate;
    -
    -/*------------------------------------------------------------.
    -| yynewstate -- Push a new state, which is found in yystate.  |
    -`------------------------------------------------------------*/
    - yynewstate:
    -  /* In all cases, when you get here, the value and location stacks
    -     have just been pushed. so pushing a state here evens the stacks.
    -     */
    -  yyssp++;
    -
    - yysetstate:
    -  *yyssp = yystate;
    -
    -  if (yyssp >= yyss + yystacksize - 1)
    -    {
    -      /* Get the current used size of the three stacks, in elements.  */
    -      YYSIZE_T yysize = yyssp - yyss + 1;
    -
    -#ifdef yyoverflow
    -      {
    -	/* Give user a chance to reallocate the stack. Use copies of
    -	   these so that the &'s don't force the real ones into
    -	   memory.  */
    -	YYSTYPE *yyvs1 = yyvs;
    -	short *yyss1 = yyss;
    -
    -	/* Each stack pointer address is followed by the size of the
    -	   data in use in that stack, in bytes.  */
    -# if YYLSP_NEEDED
    -	YYLTYPE *yyls1 = yyls;
    -	/* This used to be a conditional around just the two extra args,
    -	   but that might be undefined if yyoverflow is a macro.  */
    -	yyoverflow ("parser stack overflow",
    -		    &yyss1, yysize * sizeof (*yyssp),
    -		    &yyvs1, yysize * sizeof (*yyvsp),
    -		    &yyls1, yysize * sizeof (*yylsp),
    -		    &yystacksize);
    -	yyls = yyls1;
    -# else
    -	yyoverflow ("parser stack overflow",
    -		    &yyss1, yysize * sizeof (*yyssp),
    -		    &yyvs1, yysize * sizeof (*yyvsp),
    -		    &yystacksize);
    -# endif
    -	yyss = yyss1;
    -	yyvs = yyvs1;
    -      }
    -#else /* no yyoverflow */
    -# ifndef YYSTACK_RELOCATE
    -      goto yyoverflowlab;
    -# else
    -      /* Extend the stack our own way.  */
    -      if (yystacksize >= YYMAXDEPTH)
    -	goto yyoverflowlab;
    -      yystacksize *= 2;
    -      if (yystacksize > YYMAXDEPTH)
    -	yystacksize = YYMAXDEPTH;
    -
    -      {
    -	short *yyss1 = yyss;
    -	union yyalloc *yyptr =
    -	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    -	if (! yyptr)
    -	  goto yyoverflowlab;
    -	YYSTACK_RELOCATE (yyss);
    -	YYSTACK_RELOCATE (yyvs);
    -# if YYLSP_NEEDED
    -	YYSTACK_RELOCATE (yyls);
    -# endif
    -# undef YYSTACK_RELOCATE
    -	if (yyss1 != yyssa)
    -	  YYSTACK_FREE (yyss1);
    -      }
    -# endif
    -#endif /* no yyoverflow */
    -
    -      yyssp = yyss + yysize - 1;
    -      yyvsp = yyvs + yysize - 1;
    -#if YYLSP_NEEDED
    -      yylsp = yyls + yysize - 1;
    -#endif
    -
    -      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    -		  (unsigned long int) yystacksize));
    -
    -      if (yyssp >= yyss + yystacksize - 1)
    -	YYABORT;
    -    }
    -
    -  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
    -
    -  goto yybackup;
    -
    -
    -/*-----------.
    -| yybackup.  |
    -`-----------*/
    -yybackup:
    -
    -/* Do appropriate processing given the current state.  */
    -/* Read a lookahead token if we need one and don't already have one.  */
    -/* yyresume: */
    -
    -  /* First try to decide what to do without reference to lookahead token.  */
    -
    -  yyn = yypact[yystate];
    -  if (yyn == YYFLAG)
    -    goto yydefault;
    -
    -  /* Not known => get a lookahead token if don't already have one.  */
    -
    -  /* yychar is either YYEMPTY or YYEOF
    -     or a valid token in external form.  */
    -
    -  if (yychar == YYEMPTY)
    -    {
    -      YYDPRINTF ((stderr, "Reading a token: "));
    -      yychar = YYLEX;
    -    }
    -
    -  /* Convert token to internal form (in yychar1) for indexing tables with */
    -
    -  if (yychar <= 0)		/* This means end of input. */
    -    {
    -      yychar1 = 0;
    -      yychar = YYEOF;		/* Don't call YYLEX any more */
    -
    -      YYDPRINTF ((stderr, "Now at end of input.\n"));
    -    }
    -  else
    -    {
    -      yychar1 = YYTRANSLATE (yychar);
    -
    -#if YYDEBUG
    -     /* We have to keep this `#if YYDEBUG', since we use variables
    -	which are defined only if `YYDEBUG' is set.  */
    -      if (yydebug)
    -	{
    -	  YYFPRINTF (stderr, "Next token is %d (%s",
    -		     yychar, yytname[yychar1]);
    -	  /* Give the individual parser a way to print the precise
    -	     meaning of a token, for further debugging info.  */
    -# ifdef YYPRINT
    -	  YYPRINT (stderr, yychar, yylval);
    -# endif
    -	  YYFPRINTF (stderr, ")\n");
    -	}
    -#endif
    -    }
    -
    -  yyn += yychar1;
    -  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
    -    goto yydefault;
    -
    -  yyn = yytable[yyn];
    -
    -  /* yyn is what to do for this token type in this state.
    -     Negative => reduce, -yyn is rule number.
    -     Positive => shift, yyn is new state.
    -       New state is final state => don't bother to shift,
    -       just return success.
    -     0, or most negative number => error.  */
    -
    -  if (yyn < 0)
    -    {
    -      if (yyn == YYFLAG)
    -	goto yyerrlab;
    -      yyn = -yyn;
    -      goto yyreduce;
    -    }
    -  else if (yyn == 0)
    -    goto yyerrlab;
    -
    -  if (yyn == YYFINAL)
    -    YYACCEPT;
    -
    -  /* Shift the lookahead token.  */
    -  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
    -	      yychar, yytname[yychar1]));
    -
    -  /* Discard the token being shifted unless it is eof.  */
    -  if (yychar != YYEOF)
    -    yychar = YYEMPTY;
    -
    -  *++yyvsp = yylval;
    -#if YYLSP_NEEDED
    -  *++yylsp = yylloc;
    -#endif
    -
    -  /* Count tokens shifted since error; after three, turn off error
    -     status.  */
    -  if (yyerrstatus)
    -    yyerrstatus--;
    -
    -  yystate = yyn;
    -  goto yynewstate;
    -
    -
    -/*-----------------------------------------------------------.
    -| yydefault -- do the default action for the current state.  |
    -`-----------------------------------------------------------*/
    -yydefault:
    -  yyn = yydefact[yystate];
    -  if (yyn == 0)
    -    goto yyerrlab;
    -  goto yyreduce;
    -
    -
    -/*-----------------------------.
    -| yyreduce -- Do a reduction.  |
    -`-----------------------------*/
    -yyreduce:
    -  /* yyn is the number of a rule to reduce with.  */
    -  yylen = yyr2[yyn];
    -
    -  /* If YYLEN is nonzero, implement the default value of the action:
    -     `$$ = $1'.
    -
    -     Otherwise, the following line sets YYVAL to the semantic value of
    -     the lookahead token.  This behavior is undocumented and Bison
    -     users should not rely upon it.  Assigning to YYVAL
    -     unconditionally makes the parser a bit smaller, and it avoids a
    -     GCC warning that YYVAL may be used uninitialized.  */
    -  yyval = yyvsp[1-yylen];
    -
    -#if YYLSP_NEEDED
    -  /* Similarly for the default location.  Let the user run additional
    -     commands if for instance locations are ranges.  */
    -  yyloc = yylsp[1-yylen];
    -  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
    -#endif
    -
    -#if YYDEBUG
    -  /* We have to keep this `#if YYDEBUG', since we use variables which
    -     are defined only if `YYDEBUG' is set.  */
    -  if (yydebug)
    -    {
    -      int yyi;
    -
    -      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
    -		 yyn, yyrline[yyn]);
    -
    -      /* Print the symbols being reduced, and their result.  */
    -      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
    -	YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
    -      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
    -    }
    -#endif
    -
    -  switch (yyn) {
    -
    -case 1:
    -#line 137 "./cond.y"
    -{
    -            COND_input* cond = (COND_input*) info;
    -            cond->result = yyvsp[0].value;
    -        ;
    -    break;}
    -case 2:
    -#line 145 "./cond.y"
    -{
    -            yyval.value = yyvsp[0].value;
    -        ;
    -    break;}
    -case 3:
    -#line 149 "./cond.y"
    -{
    -            yyval.value = yyvsp[-2].value || yyvsp[0].value;
    -        ;
    -    break;}
    -case 4:
    -#line 156 "./cond.y"
    -{
    -            yyval.value = yyvsp[0].value;
    -        ;
    -    break;}
    -case 5:
    -#line 160 "./cond.y"
    -{
    -            yyval.value = yyvsp[-2].value && yyvsp[0].value;
    -        ;
    -    break;}
    -case 6:
    -#line 167 "./cond.y"
    -{
    -            yyval.value = yyvsp[0].value;
    -        ;
    -    break;}
    -case 7:
    -#line 171 "./cond.y"
    -{
    -            yyval.value = ! yyvsp[0].value;
    -        ;
    -    break;}
    -case 8:
    -#line 179 "./cond.y"
    -{
    -            yyval.value = yyvsp[0].value;
    -        ;
    -    break;}
    -case 9:
    -#line 183 "./cond.y"
    -{
    -            yyval.value = atoiW(yyvsp[0].string);
    -        ;
    -    break;}
    -case 10:
    -#line 187 "./cond.y"
    -{
    -            yyval.value = yyvsp[-1].fn_comp_int( yyvsp[-2].value, yyvsp[0].value );
    -        ;
    -    break;}
    -case 11:
    -#line 191 "./cond.y"
    -{
    -            yyval.value = yyvsp[-1].fn_comp_str( yyvsp[-2].string, yyvsp[0].string, FALSE );
    -        ;
    -    break;}
    -case 12:
    -#line 195 "./cond.y"
    -{
    -            yyval.value = yyvsp[-1].fn_comp_str( yyvsp[-3].string, yyvsp[0].string, TRUE );
    -        ;
    -    break;}
    -case 13:
    -#line 199 "./cond.y"
    -{
    -            yyval.value = yyvsp[-1].fn_comp_m1( yyvsp[-2].string, yyvsp[0].value );
    -        ;
    -    break;}
    -case 14:
    -#line 203 "./cond.y"
    -{
    -            yyval.value = yyvsp[-1].fn_comp_m2( yyvsp[-2].value, yyvsp[0].string );
    -        ;
    -    break;}
    -case 15:
    -#line 207 "./cond.y"
    -{
    -            yyval.value = yyvsp[-1].value;
    -        ;
    -    break;}
    -case 16:
    -#line 215 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_eq_i;
    -        ;
    -    break;}
    -case 17:
    -#line 219 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_ne_i;
    -        ;
    -    break;}
    -case 18:
    -#line 223 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_lt_i;
    -        ;
    -    break;}
    -case 19:
    -#line 227 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_gt_i;
    -        ;
    -    break;}
    -case 20:
    -#line 231 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_le_i;
    -        ;
    -    break;}
    -case 21:
    -#line 235 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_ge_i;
    -        ;
    -    break;}
    -case 22:
    -#line 240 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_bitand;
    -        ;
    -    break;}
    -case 23:
    -#line 244 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_highcomp;
    -        ;
    -    break;}
    -case 24:
    -#line 248 "./cond.y"
    -{
    -            yyval.fn_comp_int = comp_lowcomp;
    -        ;
    -    break;}
    -case 25:
    -#line 256 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_eq_s;
    -        ;
    -    break;}
    -case 26:
    -#line 260 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_ne_s;
    -        ;
    -    break;}
    -case 27:
    -#line 264 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_lt_s;
    -        ;
    -    break;}
    -case 28:
    -#line 268 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_gt_s;
    -        ;
    -    break;}
    -case 29:
    -#line 272 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_le_s;
    -        ;
    -    break;}
    -case 30:
    -#line 276 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_ge_s;
    -        ;
    -    break;}
    -case 31:
    -#line 281 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_substring;
    -        ;
    -    break;}
    -case 32:
    -#line 285 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_start;
    -        ;
    -    break;}
    -case 33:
    -#line 289 "./cond.y"
    -{
    -            yyval.fn_comp_str = comp_end;
    -        ;
    -    break;}
    -case 34:
    -#line 297 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = comp_eq_m1;
    -        ;
    -    break;}
    -case 35:
    -#line 301 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = comp_ne_m1;
    -        ;
    -    break;}
    -case 36:
    -#line 305 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = comp_lt_m1;
    -        ;
    -    break;}
    -case 37:
    -#line 309 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = comp_gt_m1;
    -        ;
    -    break;}
    -case 38:
    -#line 313 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = comp_le_m1;
    -        ;
    -    break;}
    -case 39:
    -#line 317 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = comp_ge_m1;
    -        ;
    -    break;}
    -case 40:
    -#line 322 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = 0;
    -        ;
    -    break;}
    -case 41:
    -#line 326 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = 0;
    -        ;
    -    break;}
    -case 42:
    -#line 330 "./cond.y"
    -{
    -            yyval.fn_comp_m1 = 0;
    -        ;
    -    break;}
    -case 43:
    -#line 338 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = comp_eq_m2;
    -        ;
    -    break;}
    -case 44:
    -#line 342 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = comp_ne_m2;
    -        ;
    -    break;}
    -case 45:
    -#line 346 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = comp_lt_m2;
    -        ;
    -    break;}
    -case 46:
    -#line 350 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = comp_gt_m2;
    -        ;
    -    break;}
    -case 47:
    -#line 354 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = comp_le_m2;
    -        ;
    -    break;}
    -case 48:
    -#line 358 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = comp_ge_m2;
    -        ;
    -    break;}
    -case 49:
    -#line 363 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = 0;
    -        ;
    -    break;}
    -case 50:
    -#line 367 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = 0;
    -        ;
    -    break;}
    -case 51:
    -#line 371 "./cond.y"
    -{
    -            yyval.fn_comp_m2 = 0;
    -        ;
    -    break;}
    -case 52:
    -#line 378 "./cond.y"
    -{
    -            yyval.value = yyvsp[0].value;
    -        ;
    -    break;}
    -case 53:
    -#line 382 "./cond.y"
    -{
    -            yyval.value = yyvsp[0].value;
    -        ;
    -    break;}
    -case 54:
    -#line 389 "./cond.y"
    -{
    -        yyval.string = yyvsp[0].string;
    -    ;
    -    break;}
    -case 55:
    -#line 393 "./cond.y"
    -{
    -        yyval.string = yyvsp[0].string;
    -    ;
    -    break;}
    -case 56:
    -#line 400 "./cond.y"
    -{
    -            yyval.string = COND_GetLiteral(&yyvsp[0].str);
    -            if( !yyval.string )
    -                YYABORT;
    -        ;
    -    break;}
    -case 57:
    -#line 409 "./cond.y"
    -{
    -            COND_input* cond = (COND_input*) info;
    -            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    -      
    -            MSI_GetComponentStateW(cond->package, yyvsp[0].string, &install, &action );
    -            yyval.value = action;
    -            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    -        ;
    -    break;}
    -case 58:
    -#line 418 "./cond.y"
    -{
    -            COND_input* cond = (COND_input*) info;
    -            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    -      
    -            MSI_GetComponentStateW(cond->package, yyvsp[0].string, &install, &action );
    -            yyval.value = install;
    -            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    -        ;
    -    break;}
    -case 59:
    -#line 427 "./cond.y"
    -{
    -            COND_input* cond = (COND_input*) info;
    -            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    -      
    -            MSI_GetFeatureStateW(cond->package, yyvsp[0].string, &install, &action );
    -            yyval.value = action;
    -            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    -        ;
    -    break;}
    -case 60:
    -#line 436 "./cond.y"
    -{
    -            COND_input* cond = (COND_input*) info;
    -            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    -      
    -            MSI_GetFeatureStateW(cond->package, yyvsp[0].string, &install, &action );
    -            yyval.value = install;
    -            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    -        ;
    -    break;}
    -case 61:
    -#line 448 "./cond.y"
    -{
    -            DWORD sz;
    -            COND_input* cond = (COND_input*) info;
    -            yyval.string = HeapAlloc( GetProcessHeap(), 0, 0x100*sizeof (WCHAR) );
    -
    -            /* Lookup the identifier */
    -
    -            sz=0x100;
    -            if (MSI_GetPropertyW(cond->package,yyvsp[0].string,yyval.string,&sz) != ERROR_SUCCESS)
    -            {
    -                yyval.string[0]=0;
    -            }
    -            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    -        ;
    -    break;}
    -case 62:
    -#line 463 "./cond.y"
    -{
    -            UINT len = GetEnvironmentVariableW( yyvsp[0].string, NULL, 0 );
    -            if( len++ )
    -            {
    -                yyval.string = HeapAlloc( GetProcessHeap(), 0, len*sizeof (WCHAR) );
    -                if( yyval.string )
    -                    GetEnvironmentVariableW( yyvsp[0].string, yyval.string, len );
    -            }
    -            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    -        ;
    -    break;}
    -case 63:
    -#line 477 "./cond.y"
    -{
    -            yyval.string = COND_GetString(&yyvsp[0].str);
    -            if( !yyval.string )
    -                YYABORT;
    -        ;
    -    break;}
    -case 64:
    -#line 486 "./cond.y"
    -{
    -            LPWSTR szNum = COND_GetString(&yyvsp[0].str);
    -            if( !szNum )
    -                YYABORT;
    -            yyval.value = atoiW( szNum );
    -            HeapFree( GetProcessHeap(), 0, szNum );
    -        ;
    -    break;}
    -}
    -
    -#line 705 "/usr/share/bison/bison.simple"
    -
    -
    -  yyvsp -= yylen;
    -  yyssp -= yylen;
    -#if YYLSP_NEEDED
    -  yylsp -= yylen;
    -#endif
    -
    -#if YYDEBUG
    -  if (yydebug)
    -    {
    -      short *yyssp1 = yyss - 1;
    -      YYFPRINTF (stderr, "state stack now");
    -      while (yyssp1 != yyssp)
    -	YYFPRINTF (stderr, " %d", *++yyssp1);
    -      YYFPRINTF (stderr, "\n");
    -    }
    -#endif
    -
    -  *++yyvsp = yyval;
    -#if YYLSP_NEEDED
    -  *++yylsp = yyloc;
    -#endif
    -
    -  /* Now `shift' the result of the reduction.  Determine what state
    -     that goes to, based on the state we popped back to and the rule
    -     number reduced by.  */
    -
    -  yyn = yyr1[yyn];
    -
    -  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
    -  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    -    yystate = yytable[yystate];
    -  else
    -    yystate = yydefgoto[yyn - YYNTBASE];
    -
    -  goto yynewstate;
    -
    -
    -/*------------------------------------.
    -| yyerrlab -- here on detecting error |
    -`------------------------------------*/
    -yyerrlab:
    -  /* If not already recovering from an error, report this error.  */
    -  if (!yyerrstatus)
    -    {
    -      ++yynerrs;
    -
    -#ifdef YYERROR_VERBOSE
    -      yyn = yypact[yystate];
    -
    -      if (yyn > YYFLAG && yyn < YYLAST)
    -	{
    -	  YYSIZE_T yysize = 0;
    -	  char *yymsg;
    -	  int yyx, yycount;
    -
    -	  yycount = 0;
    -	  /* Start YYX at -YYN if negative to avoid negative indexes in
    -	     YYCHECK.  */
    -	  for (yyx = yyn < 0 ? -yyn : 0;
    -	       yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
    -	    if (yycheck[yyx + yyn] == yyx)
    -	      yysize += yystrlen (yytname[yyx]) + 15, yycount++;
    -	  yysize += yystrlen ("parse error, unexpected ") + 1;
    -	  yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
    -	  yymsg = (char *) YYSTACK_ALLOC (yysize);
    -	  if (yymsg != 0)
    -	    {
    -	      char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
    -	      yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
    -
    -	      if (yycount < 5)
    -		{
    -		  yycount = 0;
    -		  for (yyx = yyn < 0 ? -yyn : 0;
    -		       yyx < (int) (sizeof (yytname) / sizeof (char *));
    -		       yyx++)
    -		    if (yycheck[yyx + yyn] == yyx)
    -		      {
    -			const char *yyq = ! yycount ? ", expecting " : " or ";
    -			yyp = yystpcpy (yyp, yyq);
    -			yyp = yystpcpy (yyp, yytname[yyx]);
    -			yycount++;
    -		      }
    -		}
    -	      yyerror (yymsg);
    -	      YYSTACK_FREE (yymsg);
    -	    }
    -	  else
    -	    yyerror ("parse error; also virtual memory exhausted");
    -	}
    -      else
    -#endif /* defined (YYERROR_VERBOSE) */
    -	yyerror ("parse error");
    -    }
    -  goto yyerrlab1;
    -
    -
    -/*--------------------------------------------------.
    -| yyerrlab1 -- error raised explicitly by an action |
    -`--------------------------------------------------*/
    -yyerrlab1:
    -  if (yyerrstatus == 3)
    -    {
    -      /* If just tried and failed to reuse lookahead token after an
    -	 error, discard it.  */
    -
    -      /* return failure if at end of input */
    -      if (yychar == YYEOF)
    -	YYABORT;
    -      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
    -		  yychar, yytname[yychar1]));
    -      yychar = YYEMPTY;
    -    }
    -
    -  /* Else will try to reuse lookahead token after shifting the error
    -     token.  */
    -
    -  yyerrstatus = 3;		/* Each real token shifted decrements this */
    -
    -  goto yyerrhandle;
    -
    -
    -/*-------------------------------------------------------------------.
    -| yyerrdefault -- current state does not do anything special for the |
    -| error token.                                                       |
    -`-------------------------------------------------------------------*/
    -yyerrdefault:
    -#if 0
    -  /* This is wrong; only states that explicitly want error tokens
    -     should shift them.  */
    -
    -  /* If its default is to accept any token, ok.  Otherwise pop it.  */
    -  yyn = yydefact[yystate];
    -  if (yyn)
    -    goto yydefault;
    -#endif
    -
    -
    -/*---------------------------------------------------------------.
    -| yyerrpop -- pop the current state because it cannot handle the |
    -| error token                                                    |
    -`---------------------------------------------------------------*/
    -yyerrpop:
    -  if (yyssp == yyss)
    -    YYABORT;
    -  yyvsp--;
    -  yystate = *--yyssp;
    -#if YYLSP_NEEDED
    -  yylsp--;
    -#endif
    -
    -#if YYDEBUG
    -  if (yydebug)
    -    {
    -      short *yyssp1 = yyss - 1;
    -      YYFPRINTF (stderr, "Error: state stack now");
    -      while (yyssp1 != yyssp)
    -	YYFPRINTF (stderr, " %d", *++yyssp1);
    -      YYFPRINTF (stderr, "\n");
    -    }
    -#endif
    -
    -/*--------------.
    -| yyerrhandle.  |
    -`--------------*/
    -yyerrhandle:
    -  yyn = yypact[yystate];
    -  if (yyn == YYFLAG)
    -    goto yyerrdefault;
    -
    -  yyn += YYTERROR;
    -  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
    -    goto yyerrdefault;
    -
    -  yyn = yytable[yyn];
    -  if (yyn < 0)
    -    {
    -      if (yyn == YYFLAG)
    -	goto yyerrpop;
    -      yyn = -yyn;
    -      goto yyreduce;
    -    }
    -  else if (yyn == 0)
    -    goto yyerrpop;
    -
    -  if (yyn == YYFINAL)
    -    YYACCEPT;
    -
    -  YYDPRINTF ((stderr, "Shifting error token, "));
    -
    -  *++yyvsp = yylval;
    -#if YYLSP_NEEDED
    -  *++yylsp = yylloc;
    -#endif
    -
    -  yystate = yyn;
    -  goto yynewstate;
    -
    -
    -/*-------------------------------------.
    -| yyacceptlab -- YYACCEPT comes here.  |
    -`-------------------------------------*/
    -yyacceptlab:
    -  yyresult = 0;
    -  goto yyreturn;
    -
    -/*-----------------------------------.
    -| yyabortlab -- YYABORT comes here.  |
    -`-----------------------------------*/
    -yyabortlab:
    -  yyresult = 1;
    -  goto yyreturn;
    -
    -/*---------------------------------------------.
    -| yyoverflowab -- parser overflow comes here.  |
    -`---------------------------------------------*/
    -yyoverflowlab:
    -  yyerror ("parser stack overflow");
    -  yyresult = 2;
    -  /* Fall through.  */
    -
    -yyreturn:
    -#ifndef yyoverflow
    -  if (yyss != yyssa)
    -    YYSTACK_FREE (yyss);
    -#endif
    -  return yyresult;
    -}
    -#line 495 "./cond.y"
    -
    -
    -
    -static int COND_IsAlpha( WCHAR x )
    -{
    -    return( ( ( x >= 'A' ) && ( x <= 'Z' ) ) ||
    -            ( ( x >= 'a' ) && ( x <= 'z' ) ) ||
    -            ( ( x == '_' ) ) );
    -}
    -
    -static int COND_IsNumber( WCHAR x )
    -{
    -    return( (( x >= '0' ) && ( x <= '9' ))  || (x =='-') || (x =='.') );
    -}
    -
    -
    -/* the mess of comparison functions */
    -
    -static INT comp_lt_i(INT a, INT b)
    -{ return (a < b); }
    -static INT comp_gt_i(INT a, INT b)
    -{ return (a > b); }
    -static INT comp_le_i(INT a, INT b)
    -{ return (a <= b); }
    -static INT comp_ge_i(INT a, INT b)
    -{ return (a >= b); }
    -static INT comp_eq_i(INT a, INT b)
    -{ return (a == b); }
    -static INT comp_ne_i(INT a, INT b)
    -{ return (a != b); }
    -static INT comp_bitand(INT a, INT b)
    -{ return a & b;}
    -static INT comp_highcomp(INT a, INT b)
    -{ return HIWORD(a)==b; }
    -static INT comp_lowcomp(INT a, INT b)
    -{ return LOWORD(a)==b; }
    -
    -static INT comp_eq_s(LPWSTR a, LPWSTR b, BOOL casless)
    -{ if (casless) return !strcmpiW(a,b); else return !strcmpW(a,b);}
    -static INT comp_ne_s(LPWSTR a, LPWSTR b, BOOL casless)
    -{ if (casless) return strcmpiW(a,b); else  return strcmpW(a,b);}
    -static INT comp_lt_s(LPWSTR a, LPWSTR b, BOOL casless)
    -{ if (casless) return strcmpiW(a,b)<0; else return strcmpW(a,b)<0;}
    -static INT comp_gt_s(LPWSTR a, LPWSTR b, BOOL casless)
    -{ if (casless) return strcmpiW(a,b)>0; else return strcmpW(a,b)>0;}
    -static INT comp_le_s(LPWSTR a, LPWSTR b, BOOL casless)
    -{ if (casless) return strcmpiW(a,b)<=0; else return strcmpW(a,b)<=0;}
    -static INT comp_ge_s(LPWSTR a, LPWSTR b, BOOL casless)
    -{ if (casless) return strcmpiW(a,b)>=0; else return  strcmpW(a,b)>=0;}
    -static INT comp_substring(LPWSTR a, LPWSTR b, BOOL casless)
    -/* ERROR NOT WORKING REWRITE */
    -{ if (casless) return strstrW(a,b)!=NULL; else return strstrW(a,b)!=NULL;}
    -static INT comp_start(LPWSTR a, LPWSTR b, BOOL casless)
    -{ if (casless) return strncmpiW(a,b,strlenW(b))==0; 
    -  else return strncmpW(a,b,strlenW(b))==0;}
    -static INT comp_end(LPWSTR a, LPWSTR b, BOOL casless)
    -{ 
    -    int i = strlenW(a); 
    -    int j = strlenW(b); 
    -    if (j>i)
    -        return 0;
    -    if (casless) return (!strcmpiW(&a[i-j-1],b));
    -    else  return (!strcmpW(&a[i-j-1],b));
    -}
    -
    -
    -static INT comp_eq_m1(LPWSTR a, INT b)
    -{ if (COND_IsNumber(a[0])) return atoiW(a)==b; else return 0;}
    -static INT comp_ne_m1(LPWSTR a, INT b)
    -{ if (COND_IsNumber(a[0])) return atoiW(a)!=b; else return 1;}
    -static INT comp_lt_m1(LPWSTR a, INT b)
    -{ if (COND_IsNumber(a[0])) return atoiW(a)b; else return 0;}
    -static INT comp_le_m1(LPWSTR a, INT b)
    -{ if (COND_IsNumber(a[0])) return atoiW(a)<=b; else return 0;}
    -static INT comp_ge_m1(LPWSTR a, INT b)
    -{ if (COND_IsNumber(a[0])) return atoiW(a)>=b; else return 0;}
    -
    -static INT comp_eq_m2(INT a, LPWSTR b)
    -{ if (COND_IsNumber(b[0])) return a == atoiW(b); else return 0;}
    -static INT comp_ne_m2(INT a, LPWSTR b)
    -{ if (COND_IsNumber(b[0])) return a != atoiW(b); else return 1;}
    -static INT comp_lt_m2(INT a, LPWSTR b)
    -{ if (COND_IsNumber(b[0])) return a < atoiW(b); else return 0;}
    -static INT comp_gt_m2(INT a, LPWSTR b)
    -{ if (COND_IsNumber(b[0])) return a > atoiW(b); else return 0;}
    -static INT comp_le_m2(INT a, LPWSTR b)
    -{ if (COND_IsNumber(b[0])) return a <= atoiW(b); else return 0;}
    -static INT comp_ge_m2(INT a, LPWSTR b)
    -{ if (COND_IsNumber(b[0])) return a >= atoiW(b); else return 0;}
    -
    -
    -
    -static int COND_IsIdent( WCHAR x )
    -{
    -    return( COND_IsAlpha( x ) || COND_IsNumber( x ) || ( x == '_' ) 
    -            || ( x == '#' ) || (x == '.') );
    -}
    -
    -static int COND_GetOne( struct cond_str *str, COND_input *cond )
    -{
    -    static const WCHAR szNot[] = {'N','O','T',0};
    -    static const WCHAR szAnd[] = {'A','N','D',0};
    -    static const WCHAR szOr[] = {'O','R',0};
    -    WCHAR ch;
    -    int rc, len = 1;
    -
    -    str->data = &cond->str[cond->n];
    -
    -    ch = str->data[0];
    -    switch( ch )
    -    {
    -    case 0: return 0;
    -    case '(': rc = COND_LPAR; break;
    -    case ')': rc = COND_RPAR; break;
    -    case '&': rc = COND_AMPER; break;
    -    case '!': rc = COND_EXCLAM; break;
    -    case '$': rc = COND_DOLLARS; break;
    -    case '?': rc = COND_QUESTION; break;
    -    case '%': rc = COND_PERCENT; break;
    -    case ' ': rc = COND_SPACE; break;
    -    case '=': rc = COND_EQ; break;
    -    case '~': rc = COND_TILDA; break;
    -    case '<': rc = COND_LT; break;
    -    case '>': rc = COND_GT; break;
    -    case '"':
    -	{
    -	    const WCHAR *ch2 = str->data + 1;
    -
    -
    -	    while ( *ch2 && *ch2 != '"' )
    -	    	++ch2;
    -	    if (*ch2 == '"')
    -	    {
    -	        len = ch2 - str->data + 1;
    -		rc = COND_LITER;
    -		break;
    -	    }
    -	}
    -	ERR("Unterminated string\n");
    -	rc = COND_ERROR;
    -    	break;
    -    default: 
    -        if( COND_IsAlpha( ch ) )
    -        {
    -            while( COND_IsIdent( str->data[len] ) )
    -                len++;
    -            rc = COND_IDENT;
    -            break;
    -        }
    -
    -        if( COND_IsNumber( ch ) )
    -        {
    -            while( COND_IsNumber( str->data[len] ) )
    -                len++;
    -            rc = COND_NUMBER;
    -            break;
    -        }
    -
    -        ERR("Got unknown character %c(%x)\n",ch,ch);
    -        rc = COND_ERROR;
    -        break;
    -    }
    -
    -    /* keyword identifiers */
    -    if( rc == COND_IDENT )
    -    {
    -        if( (len==3) && (strncmpiW(str->data,szNot,len)==0) )
    -            rc = COND_NOT;
    -        else if( (len==3) && (strncmpiW(str->data,szAnd,len)==0) )
    -            rc = COND_AND;
    -        else if( (len==2) && (strncmpiW(str->data,szOr,len)==0) )
    -            rc = COND_OR;
    -    }
    -
    -    cond->n += len;
    -    str->len = len;
    -
    -    return rc;
    -}
    -
    -static int COND_lex( void *COND_lval, COND_input *cond )
    -{
    -    int rc;
    -    struct cond_str *str = COND_lval;
    -
    -    do {
    -        rc = COND_GetOne( str, cond );
    -    } while (rc == COND_SPACE);
    -    
    -    return rc;
    -}
    -
    -static LPWSTR COND_GetString( struct cond_str *str )
    -{
    -    LPWSTR ret;
    -
    -    ret = HeapAlloc( GetProcessHeap(), 0, (str->len+1) * sizeof (WCHAR) );
    -    if( ret )
    -    {
    -        strncpyW( ret, str->data, str->len );
    -        ret[str->len]=0;
    -    }
    -    TRACE("Got identifier %s\n",debugstr_w(ret));
    -    return ret;
    -}
    -
    -static LPWSTR COND_GetLiteral( struct cond_str *str )
    -{
    -    LPWSTR ret;
    -
    -    ret = HeapAlloc( GetProcessHeap(), 0, (str->len-1) * sizeof (WCHAR) );
    -    if( ret )
    -    {
    -        memcpy( ret, str->data+1, (str->len-2) * sizeof(WCHAR) );
    -        ret[str->len - 2]=0;
    -    }
    -    TRACE("Got literal %s\n",debugstr_w(ret));
    -    return ret;
    -}
    -
    -static int COND_error(char *str)
    -{
    -    return 0;
    -}
    -
    -MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *package, LPCWSTR szCondition )
    -{
    -    COND_input cond;
    -    MSICONDITION r;
    -
    -    cond.package = package;
    -    cond.str   = szCondition;
    -    cond.n     = 0;
    -    cond.result = -1;
    -    
    -    TRACE("Evaluating %s\n",debugstr_w(szCondition));    
    -
    -    if( !COND_parse( &cond ) )
    -        r = cond.result;
    -    else
    -        r = MSICONDITION_ERROR;
    -
    -    TRACE("Evaluates to %i\n",r);
    -    return r;
    -}
    -
    -MSICONDITION WINAPI MsiEvaluateConditionW( MSIHANDLE hInstall, LPCWSTR szCondition )
    -{
    -    MSIPACKAGE *package;
    -    UINT ret;
    -
    -    package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
    -    if( !package)
    -        return ERROR_INVALID_HANDLE;
    -    ret = MSI_EvaluateConditionW( package, szCondition );
    -    msiobj_release( &package->hdr );
    -    return ret;
    -}
    -
    -MSICONDITION WINAPI MsiEvaluateConditionA( MSIHANDLE hInstall, LPCSTR szCondition )
    -{
    -    LPWSTR szwCond = NULL;
    -    MSICONDITION r;
    -
    -    if( szCondition )
    -    {
    -        UINT len = MultiByteToWideChar( CP_ACP, 0, szCondition, -1, NULL, 0 );
    -        szwCond = HeapAlloc( GetProcessHeap(), 0, len * sizeof (WCHAR) );
    -        MultiByteToWideChar( CP_ACP, 0, szCondition, -1, szwCond, len );
    -    }
    -
    -    r = MsiEvaluateConditionW( hInstall, szwCond );
    -
    -    if( szwCond )
    -        HeapFree( GetProcessHeap(), 0, szwCond );
    -
    -    return r;
    -}
    +/* A Bison parser, made by GNU Bison 1.875b.  */
    +
    +/* Skeleton parser for Yacc-like parsing with Bison,
    +   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    +
    +   This program is free software; you can redistribute it and/or modify
    +   it under the terms of the GNU General Public License as published by
    +   the Free Software Foundation; either version 2, or (at your option)
    +   any later version.
    +
    +   This program is distributed in the hope that it will be useful,
    +   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +   GNU General Public License for more details.
    +
    +   You should have received a copy of the GNU General Public License
    +   along with this program; if not, write to the Free Software
    +   Foundation, Inc., 59 Temple Place - Suite 330,
    +   Boston, MA 02111-1307, USA.  */
    +
    +/* As a special exception, when this file is copied by Bison into a
    +   Bison output file, you may use that output file without restriction.
    +   This special exception was added by the Free Software Foundation
    +   in version 1.24 of Bison.  */
    +
    +/* Written by Richard Stallman by simplifying the original so called
    +   ``semantic'' parser.  */
    +
    +/* All symbols defined below should begin with yy or YY, to avoid
    +   infringing on user name space.  This should be done even for local
    +   variables, as they might otherwise be expanded by user macros.
    +   There are some unavoidable exceptions within include files to
    +   define necessary library symbols; they are noted "INFRINGES ON
    +   USER NAME SPACE" below.  */
    +
    +/* Identify Bison output.  */
    +#define YYBISON 1
    +
    +/* Skeleton name.  */
    +#define YYSKELETON_NAME "yacc.c"
    +
    +/* Pure parsers.  */
    +#define YYPURE 1
    +
    +/* Using locations.  */
    +#define YYLSP_NEEDED 0
    +
    +/* If NAME_PREFIX is specified substitute the variables and functions
    +   names.  */
    +#define yyparse COND_parse
    +#define yylex   COND_lex
    +#define yyerror COND_error
    +#define yylval  COND_lval
    +#define yychar  COND_char
    +#define yydebug COND_debug
    +#define yynerrs COND_nerrs
    +
    +
    +/* Tokens.  */
    +#ifndef YYTOKENTYPE
    +# define YYTOKENTYPE
    +   /* Put the tokens into the symbol table, so that GDB and other debuggers
    +      know about them.  */
    +   enum yytokentype {
    +     COND_SPACE = 258,
    +     COND_EOF = 259,
    +     COND_OR = 260,
    +     COND_AND = 261,
    +     COND_NOT = 262,
    +     COND_LT = 263,
    +     COND_GT = 264,
    +     COND_EQ = 265,
    +     COND_LPAR = 266,
    +     COND_RPAR = 267,
    +     COND_TILDA = 268,
    +     COND_PERCENT = 269,
    +     COND_DOLLARS = 270,
    +     COND_QUESTION = 271,
    +     COND_AMPER = 272,
    +     COND_EXCLAM = 273,
    +     COND_IDENT = 274,
    +     COND_NUMBER = 275,
    +     COND_LITER = 276,
    +     COND_ERROR = 277
    +   };
    +#endif
    +#define COND_SPACE 258
    +#define COND_EOF 259
    +#define COND_OR 260
    +#define COND_AND 261
    +#define COND_NOT 262
    +#define COND_LT 263
    +#define COND_GT 264
    +#define COND_EQ 265
    +#define COND_LPAR 266
    +#define COND_RPAR 267
    +#define COND_TILDA 268
    +#define COND_PERCENT 269
    +#define COND_DOLLARS 270
    +#define COND_QUESTION 271
    +#define COND_AMPER 272
    +#define COND_EXCLAM 273
    +#define COND_IDENT 274
    +#define COND_NUMBER 275
    +#define COND_LITER 276
    +#define COND_ERROR 277
    +
    +
    +
    +
    +/* Copy the first part of user declarations.  */
    +#line 1 "./cond.y"
    +
    +
    +/*
    + * Implementation of the Microsoft Installer (msi.dll)
    + *
    + * Copyright 2003 Mike McCormack for CodeWeavers
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "wine/debug.h"
    +#include "wine/unicode.h"
    +
    +#include "msi.h"
    +#include "msiquery.h"
    +#include "msipriv.h"
    +
    +#define YYLEX_PARAM info
    +#define YYPARSE_PARAM info
    +
    +static int COND_error(char *str);
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(msi);
    +
    +typedef struct tag_yyinput
    +{
    +    MSIPACKAGE *package;
    +    LPCWSTR str;
    +    INT    n;
    +    MSICONDITION result;
    +} COND_input;
    +
    +struct cond_str {
    +    LPCWSTR data;
    +    INT len;
    +};
    +
    +static LPWSTR COND_GetString( struct cond_str *str );
    +static LPWSTR COND_GetLiteral( struct cond_str *str );
    +static int COND_lex( void *COND_lval, COND_input *info);
    +
    +typedef INT (*comp_int)(INT a, INT b);
    +typedef INT (*comp_str)(LPWSTR a, LPWSTR b, BOOL caseless);
    +typedef INT (*comp_m1)(LPWSTR a,int b);
    +typedef INT (*comp_m2)(int a,LPWSTR b);
    +
    +static INT comp_lt_i(INT a, INT b);
    +static INT comp_gt_i(INT a, INT b);
    +static INT comp_le_i(INT a, INT b);
    +static INT comp_ge_i(INT a, INT b);
    +static INT comp_eq_i(INT a, INT b);
    +static INT comp_ne_i(INT a, INT b);
    +static INT comp_bitand(INT a, INT b);
    +static INT comp_highcomp(INT a, INT b);
    +static INT comp_lowcomp(INT a, INT b);
    +
    +static INT comp_eq_s(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_ne_s(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_lt_s(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_gt_s(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_le_s(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_ge_s(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_substring(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_start(LPWSTR a, LPWSTR b, BOOL casless);
    +static INT comp_end(LPWSTR a, LPWSTR b, BOOL casless);
    +
    +static INT comp_eq_m1(LPWSTR a, INT b);
    +static INT comp_ne_m1(LPWSTR a, INT b);
    +static INT comp_lt_m1(LPWSTR a, INT b);
    +static INT comp_gt_m1(LPWSTR a, INT b);
    +static INT comp_le_m1(LPWSTR a, INT b);
    +static INT comp_ge_m1(LPWSTR a, INT b);
    +
    +static INT comp_eq_m2(INT a, LPWSTR b);
    +static INT comp_ne_m2(INT a, LPWSTR b);
    +static INT comp_lt_m2(INT a, LPWSTR b);
    +static INT comp_gt_m2(INT a, LPWSTR b);
    +static INT comp_le_m2(INT a, LPWSTR b);
    +static INT comp_ge_m2(INT a, LPWSTR b);
    +
    +
    +
    +/* Enabling traces.  */
    +#ifndef YYDEBUG
    +# define YYDEBUG 0
    +#endif
    +
    +/* Enabling verbose error messages.  */
    +#ifdef YYERROR_VERBOSE
    +# undef YYERROR_VERBOSE
    +# define YYERROR_VERBOSE 1
    +#else
    +# define YYERROR_VERBOSE 0
    +#endif
    +
    +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    +#line 106 "./cond.y"
    +typedef union YYSTYPE {
    +    struct cond_str str;
    +    LPWSTR    string;
    +    INT       value;
    +    comp_int  fn_comp_int;
    +    comp_str  fn_comp_str;
    +    comp_m1   fn_comp_m1;
    +    comp_m2   fn_comp_m2;
    +} YYSTYPE;
    +/* Line 191 of yacc.c.  */
    +#line 241 "cond.tab.c"
    +# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    +# define YYSTYPE_IS_DECLARED 1
    +# define YYSTYPE_IS_TRIVIAL 1
    +#endif
    +
    +
    +
    +/* Copy the second part of user declarations.  */
    +
    +
    +/* Line 214 of yacc.c.  */
    +#line 253 "cond.tab.c"
    +
    +#if ! defined (yyoverflow) || YYERROR_VERBOSE
    +
    +/* The parser invokes alloca or malloc; define the necessary symbols.  */
    +
    +# if YYSTACK_USE_ALLOCA
    +#  define YYSTACK_ALLOC alloca
    +# else
    +#  ifndef YYSTACK_USE_ALLOCA
    +#   if defined (alloca) || defined (_ALLOCA_H)
    +#    define YYSTACK_ALLOC alloca
    +#   else
    +#    ifdef __GNUC__
    +#     define YYSTACK_ALLOC __builtin_alloca
    +#    endif
    +#   endif
    +#  endif
    +# endif
    +
    +# ifdef YYSTACK_ALLOC
    +   /* Pacify GCC's `empty if-body' warning. */
    +#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    +# else
    +#  if defined (__STDC__) || defined (__cplusplus)
    +#   include  /* INFRINGES ON USER NAME SPACE */
    +#   define YYSIZE_T size_t
    +#  endif
    +#  define YYSTACK_ALLOC malloc
    +#  define YYSTACK_FREE free
    +# endif
    +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
    +
    +
    +#if (! defined (yyoverflow) \
    +     && (! defined (__cplusplus) \
    +	 || (YYSTYPE_IS_TRIVIAL)))
    +
    +/* A type that is properly aligned for any stack member.  */
    +union yyalloc
    +{
    +  short yyss;
    +  YYSTYPE yyvs;
    +  };
    +
    +/* The size of the maximum gap between one aligned stack and the next.  */
    +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
    +
    +/* The size of an array large to enough to hold all stacks, each with
    +   N elements.  */
    +# define YYSTACK_BYTES(N) \
    +     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
    +      + YYSTACK_GAP_MAXIMUM)
    +
    +/* Copy COUNT objects from FROM to TO.  The source and destination do
    +   not overlap.  */
    +# ifndef YYCOPY
    +#  if 1 < __GNUC__
    +#   define YYCOPY(To, From, Count) \
    +      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    +#  else
    +#   define YYCOPY(To, From, Count)		\
    +      do					\
    +	{					\
    +	  register YYSIZE_T yyi;		\
    +	  for (yyi = 0; yyi < (Count); yyi++)	\
    +	    (To)[yyi] = (From)[yyi];		\
    +	}					\
    +      while (0)
    +#  endif
    +# endif
    +
    +/* Relocate STACK from its old location to the new one.  The
    +   local variables YYSIZE and YYSTACKSIZE give the old and new number of
    +   elements in the stack, and YYPTR gives the new location of the
    +   stack.  Advance YYPTR to a properly aligned location for the next
    +   stack.  */
    +# define YYSTACK_RELOCATE(Stack)					\
    +    do									\
    +      {									\
    +	YYSIZE_T yynewbytes;						\
    +	YYCOPY (&yyptr->Stack, Stack, yysize);				\
    +	Stack = &yyptr->Stack;						\
    +	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    +	yyptr += yynewbytes / sizeof (*yyptr);				\
    +      }									\
    +    while (0)
    +
    +#endif
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +   typedef signed char yysigned_char;
    +#else
    +   typedef short yysigned_char;
    +#endif
    +
    +/* YYFINAL -- State number of the termination state. */
    +#define YYFINAL  30
    +/* YYLAST -- Last index in YYTABLE.  */
    +#define YYLAST   146
    +
    +/* YYNTOKENS -- Number of terminals. */
    +#define YYNTOKENS  23
    +/* YYNNTS -- Number of nonterminals. */
    +#define YYNNTS  17
    +/* YYNRULES -- Number of rules. */
    +#define YYNRULES  65
    +/* YYNRULES -- Number of states. */
    +#define YYNSTATES  74
    +
    +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    +#define YYUNDEFTOK  2
    +#define YYMAXUTOK   277
    +
    +#define YYTRANSLATE(YYX) 						\
    +  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    +
    +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
    +static const unsigned char yytranslate[] =
    +{
    +       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
    +       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    +      15,    16,    17,    18,    19,    20,    21,    22
    +};
    +
    +#if YYDEBUG
    +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    +   YYRHS.  */
    +static const unsigned char yyprhs[] =
    +{
    +       0,     0,     3,     5,     7,    11,    13,    17,    19,    22,
    +      24,    26,    30,    34,    39,    43,    47,    51,    53,    56,
    +      58,    60,    63,    66,    69,    72,    75,    77,    80,    82,
    +      84,    87,    90,    93,    96,    99,   101,   104,   106,   108,
    +     111,   114,   117,   120,   123,   125,   128,   130,   132,   135,
    +     138,   141,   144,   147,   149,   151,   153,   155,   157,   160,
    +     163,   166,   169,   171,   174,   176
    +};
    +
    +/* YYRHS -- A `-1'-separated list of the rules' RHS. */
    +static const yysigned_char yyrhs[] =
    +{
    +      24,     0,    -1,    25,    -1,    26,    -1,    26,     5,    25,
    +      -1,    27,    -1,    26,     6,    27,    -1,    28,    -1,     7,
    +      28,    -1,    33,    -1,    34,    -1,    33,    29,    33,    -1,
    +      34,    30,    34,    -1,    34,    13,    30,    34,    -1,    34,
    +      31,    33,    -1,    33,    32,    34,    -1,    11,    25,    12,
    +      -1,    10,    -1,     8,     9,    -1,     8,    -1,     9,    -1,
    +       8,    10,    -1,     9,    10,    -1,     9,     8,    -1,     8,
    +       8,    -1,     9,     9,    -1,    10,    -1,     8,     9,    -1,
    +       8,    -1,     9,    -1,     8,    10,    -1,     9,    10,    -1,
    +       9,     8,    -1,     8,     8,    -1,     9,     9,    -1,    10,
    +      -1,     8,     9,    -1,     8,    -1,     9,    -1,     8,    10,
    +      -1,     9,    10,    -1,     9,     8,    -1,     8,     8,    -1,
    +       9,     9,    -1,    10,    -1,     8,     9,    -1,     8,    -1,
    +       9,    -1,     8,    10,    -1,     9,    10,    -1,     9,     8,
    +      -1,     8,     8,    -1,     9,     9,    -1,    36,    -1,    39,
    +      -1,    37,    -1,    35,    -1,    21,    -1,    15,    38,    -1,
    +      16,    38,    -1,    17,    38,    -1,    18,    38,    -1,    38,
    +      -1,    14,    38,    -1,    19,    -1,    20,    -1
    +};
    +
    +/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
    +static const unsigned short yyrline[] =
    +{
    +       0,   136,   136,   144,   148,   155,   159,   166,   170,   178,
    +     182,   186,   190,   194,   198,   202,   206,   214,   218,   222,
    +     226,   230,   234,   239,   243,   247,   255,   259,   263,   267,
    +     271,   275,   280,   284,   288,   296,   300,   304,   308,   312,
    +     316,   321,   325,   329,   337,   341,   345,   349,   353,   357,
    +     362,   366,   370,   377,   381,   388,   392,   399,   408,   417,
    +     426,   435,   447,   470,   484,   493
    +};
    +#endif
    +
    +#if YYDEBUG || YYERROR_VERBOSE
    +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    +   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
    +static const char *const yytname[] =
    +{
    +  "$end", "error", "$undefined", "COND_SPACE", "COND_EOF", "COND_OR", 
    +  "COND_AND", "COND_NOT", "COND_LT", "COND_GT", "COND_EQ", "COND_LPAR", 
    +  "COND_RPAR", "COND_TILDA", "COND_PERCENT", "COND_DOLLARS", 
    +  "COND_QUESTION", "COND_AMPER", "COND_EXCLAM", "COND_IDENT", 
    +  "COND_NUMBER", "COND_LITER", "COND_ERROR", "$accept", "condition", 
    +  "expression", "boolean_term", "boolean_factor", "term", "comp_op_i", 
    +  "comp_op_s", "comp_op_m1", "comp_op_m2", "value_i", "value_s", 
    +  "literal", "symbol_i", "symbol_s", "identifier", "integer", 0
    +};
    +#endif
    +
    +# ifdef YYPRINT
    +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    +   token YYLEX-NUM.  */
    +static const unsigned short yytoknum[] =
    +{
    +       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    +     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    +     275,   276,   277
    +};
    +# endif
    +
    +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    +static const unsigned char yyr1[] =
    +{
    +       0,    23,    24,    25,    25,    26,    26,    27,    27,    28,
    +      28,    28,    28,    28,    28,    28,    28,    29,    29,    29,
    +      29,    29,    29,    29,    29,    29,    30,    30,    30,    30,
    +      30,    30,    30,    30,    30,    31,    31,    31,    31,    31,
    +      31,    31,    31,    31,    32,    32,    32,    32,    32,    32,
    +      32,    32,    32,    33,    33,    34,    34,    35,    36,    36,
    +      36,    36,    37,    37,    38,    39
    +};
    +
    +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    +static const unsigned char yyr2[] =
    +{
    +       0,     2,     1,     1,     3,     1,     3,     1,     2,     1,
    +       1,     3,     3,     4,     3,     3,     3,     1,     2,     1,
    +       1,     2,     2,     2,     2,     2,     1,     2,     1,     1,
    +       2,     2,     2,     2,     2,     1,     2,     1,     1,     2,
    +       2,     2,     2,     2,     1,     2,     1,     1,     2,     2,
    +       2,     2,     2,     1,     1,     1,     1,     1,     2,     2,
    +       2,     2,     1,     2,     1,     1
    +};
    +
    +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    +   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    +   means the default is an error.  */
    +static const unsigned char yydefact[] =
    +{
    +       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
    +      57,     0,     2,     3,     5,     7,     9,    10,    56,    53,
    +      55,    62,    54,     8,     0,    63,    58,    59,    60,    61,
    +       1,     0,     0,    19,    20,    17,     0,     0,    37,    38,
    +      35,     0,     0,     0,    16,     4,     6,    24,    18,    21,
    +      23,    25,    22,    11,    15,    42,    36,    39,    41,    43,
    +      40,    28,    29,    26,     0,    12,    14,    33,    27,    30,
    +      32,    34,    31,    13
    +};
    +
    +/* YYDEFGOTO[NTERM-NUM]. */
    +static const yysigned_char yydefgoto[] =
    +{
    +      -1,    11,    12,    13,    14,    15,    36,    42,    43,    37,
    +      16,    17,    18,    19,    20,    21,    22
    +};
    +
    +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    +   STATE-NUM.  */
    +#define YYPACT_NINF -37
    +static const short yypact[] =
    +{
    +      -4,    51,    -4,   -11,   -11,   -11,   -11,   -11,   -37,   -37,
    +     -37,    18,   -37,    -1,   -37,   -37,    49,    14,   -37,   -37,
    +     -37,   -37,   -37,   -37,    19,   -37,   -37,   -37,   -37,   -37,
    +     -37,    -4,    -4,    11,    25,    34,   111,    59,    28,    42,
    +      60,   130,    59,   111,   -37,   -37,   -37,    63,    69,    72,
    +      73,    81,    82,   -37,   -37,    85,    91,    94,    95,   103,
    +     104,   133,   136,   -37,    59,   -37,   -37,   -37,   -37,   -37,
    +     -37,   -37,   -37,   -37
    +};
    +
    +/* YYPGOTO[NTERM-NUM].  */
    +static const short yypgoto[] =
    +{
    +     -37,   -37,    -2,   -37,    -6,    39,   -37,     0,   -37,   -37,
    +     -34,   -36,   -37,   -37,   -37,   129,   -37
    +};
    +
    +/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    +   positive, shift that token.  If negative, reduce the rule which
    +   number is the opposite.  If zero, do what YYDEFACT says.
    +   If YYTABLE_NINF, syntax error.  */
    +#define YYTABLE_NINF -53
    +static const yysigned_char yytable[] =
    +{
    +      24,    54,    53,     1,    31,    32,    65,     2,     8,    66,
    +       3,     4,     5,     6,     7,     8,     9,    10,    30,    47,
    +      48,    49,    38,    39,    40,   -46,    46,    41,    73,    45,
    +     -46,    44,   -46,    50,    51,    52,    55,    56,    57,   -47,
    +      23,    64,   -28,     0,   -47,     0,   -47,   -28,   -44,   -28,
    +      58,    59,    60,   -44,     0,   -44,   -29,    33,    34,    35,
    +       0,   -29,     2,   -29,     0,     3,     4,     5,     6,     7,
    +       8,     9,    10,     3,   -26,     0,     0,   -51,     8,   -26,
    +      10,   -26,   -51,   -45,   -51,     0,   -48,   -50,   -45,     0,
    +     -45,   -48,   -50,   -48,   -50,   -52,   -49,     0,     0,   -33,
    +     -52,   -49,   -52,   -49,   -33,   -27,   -33,     0,   -30,   -32,
    +     -27,     0,   -27,   -30,   -32,   -30,   -32,   -34,   -31,     0,
    +       0,     0,   -34,   -31,   -34,   -31,     4,     5,     6,     7,
    +       0,     9,    25,    26,    27,    28,    29,     0,    61,    62,
    +      63,    67,    68,    69,    70,    71,    72
    +};
    +
    +static const yysigned_char yycheck[] =
    +{
    +       2,    37,    36,     7,     5,     6,    42,    11,    19,    43,
    +      14,    15,    16,    17,    18,    19,    20,    21,     0,     8,
    +       9,    10,     8,     9,    10,    14,    32,    13,    64,    31,
    +      19,    12,    21,     8,     9,    10,     8,     9,    10,    14,
    +       1,    41,    14,    -1,    19,    -1,    21,    19,    14,    21,
    +       8,     9,    10,    19,    -1,    21,    14,     8,     9,    10,
    +      -1,    19,    11,    21,    -1,    14,    15,    16,    17,    18,
    +      19,    20,    21,    14,    14,    -1,    -1,    14,    19,    19,
    +      21,    21,    19,    14,    21,    -1,    14,    14,    19,    -1,
    +      21,    19,    19,    21,    21,    14,    14,    -1,    -1,    14,
    +      19,    19,    21,    21,    19,    14,    21,    -1,    14,    14,
    +      19,    -1,    21,    19,    19,    21,    21,    14,    14,    -1,
    +      -1,    -1,    19,    19,    21,    21,    15,    16,    17,    18,
    +      -1,    20,     3,     4,     5,     6,     7,    -1,     8,     9,
    +      10,     8,     9,    10,     8,     9,    10
    +};
    +
    +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    +   symbol of state STATE-NUM.  */
    +static const unsigned char yystos[] =
    +{
    +       0,     7,    11,    14,    15,    16,    17,    18,    19,    20,
    +      21,    24,    25,    26,    27,    28,    33,    34,    35,    36,
    +      37,    38,    39,    28,    25,    38,    38,    38,    38,    38,
    +       0,     5,     6,     8,     9,    10,    29,    32,     8,     9,
    +      10,    13,    30,    31,    12,    25,    27,     8,     9,    10,
    +       8,     9,    10,    33,    34,     8,     9,    10,     8,     9,
    +      10,     8,     9,    10,    30,    34,    33,     8,     9,    10,
    +       8,     9,    10,    34
    +};
    +
    +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    +# define YYSIZE_T __SIZE_TYPE__
    +#endif
    +#if ! defined (YYSIZE_T) && defined (size_t)
    +# define YYSIZE_T size_t
    +#endif
    +#if ! defined (YYSIZE_T)
    +# if defined (__STDC__) || defined (__cplusplus)
    +#  include  /* INFRINGES ON USER NAME SPACE */
    +#  define YYSIZE_T size_t
    +# endif
    +#endif
    +#if ! defined (YYSIZE_T)
    +# define YYSIZE_T unsigned int
    +#endif
    +
    +#define yyerrok		(yyerrstatus = 0)
    +#define yyclearin	(yychar = YYEMPTY)
    +#define YYEMPTY		(-2)
    +#define YYEOF		0
    +
    +#define YYACCEPT	goto yyacceptlab
    +#define YYABORT		goto yyabortlab
    +#define YYERROR		goto yyerrlab1
    +
    +
    +/* Like YYERROR except do call yyerror.  This remains here temporarily
    +   to ease the transition to the new meaning of YYERROR, for GCC.
    +   Once GCC version 2 has supplanted version 1, this can go.  */
    +
    +#define YYFAIL		goto yyerrlab
    +
    +#define YYRECOVERING()  (!!yyerrstatus)
    +
    +#define YYBACKUP(Token, Value)					\
    +do								\
    +  if (yychar == YYEMPTY && yylen == 1)				\
    +    {								\
    +      yychar = (Token);						\
    +      yylval = (Value);						\
    +      yytoken = YYTRANSLATE (yychar);				\
    +      YYPOPSTACK;						\
    +      goto yybackup;						\
    +    }								\
    +  else								\
    +    { 								\
    +      yyerror ("syntax error: cannot back up");\
    +      YYERROR;							\
    +    }								\
    +while (0)
    +
    +#define YYTERROR	1
    +#define YYERRCODE	256
    +
    +/* YYLLOC_DEFAULT -- Compute the default location (before the actions
    +   are run).  */
    +
    +#ifndef YYLLOC_DEFAULT
    +# define YYLLOC_DEFAULT(Current, Rhs, N)         \
    +  Current.first_line   = Rhs[1].first_line;      \
    +  Current.first_column = Rhs[1].first_column;    \
    +  Current.last_line    = Rhs[N].last_line;       \
    +  Current.last_column  = Rhs[N].last_column;
    +#endif
    +
    +/* YYLEX -- calling `yylex' with the right arguments.  */
    +
    +#ifdef YYLEX_PARAM
    +# define YYLEX yylex (&yylval, YYLEX_PARAM)
    +#else
    +# define YYLEX yylex (&yylval)
    +#endif
    +
    +/* Enable debugging if requested.  */
    +#if YYDEBUG
    +
    +# ifndef YYFPRINTF
    +#  include  /* INFRINGES ON USER NAME SPACE */
    +#  define YYFPRINTF fprintf
    +# endif
    +
    +# define YYDPRINTF(Args)			\
    +do {						\
    +  if (yydebug)					\
    +    YYFPRINTF Args;				\
    +} while (0)
    +
    +# define YYDSYMPRINT(Args)			\
    +do {						\
    +  if (yydebug)					\
    +    yysymprint Args;				\
    +} while (0)
    +
    +# define YYDSYMPRINTF(Title, Token, Value, Location)		\
    +do {								\
    +  if (yydebug)							\
    +    {								\
    +      YYFPRINTF (stderr, "%s ", Title);				\
    +      yysymprint (stderr, 					\
    +                  Token, Value);	\
    +      YYFPRINTF (stderr, "\n");					\
    +    }								\
    +} while (0)
    +
    +/*------------------------------------------------------------------.
    +| yy_stack_print -- Print the state stack from its BOTTOM up to its |
    +| TOP (cinluded).                                                   |
    +`------------------------------------------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yy_stack_print (short *bottom, short *top)
    +#else
    +static void
    +yy_stack_print (bottom, top)
    +    short *bottom;
    +    short *top;
    +#endif
    +{
    +  YYFPRINTF (stderr, "Stack now");
    +  for (/* Nothing. */; bottom <= top; ++bottom)
    +    YYFPRINTF (stderr, " %d", *bottom);
    +  YYFPRINTF (stderr, "\n");
    +}
    +
    +# define YY_STACK_PRINT(Bottom, Top)				\
    +do {								\
    +  if (yydebug)							\
    +    yy_stack_print ((Bottom), (Top));				\
    +} while (0)
    +
    +
    +/*------------------------------------------------.
    +| Report that the YYRULE is going to be reduced.  |
    +`------------------------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yy_reduce_print (int yyrule)
    +#else
    +static void
    +yy_reduce_print (yyrule)
    +    int yyrule;
    +#endif
    +{
    +  int yyi;
    +  unsigned int yylno = yyrline[yyrule];
    +  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
    +             yyrule - 1, yylno);
    +  /* Print the symbols being reduced, and their result.  */
    +  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    +    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
    +  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
    +}
    +
    +# define YY_REDUCE_PRINT(Rule)		\
    +do {					\
    +  if (yydebug)				\
    +    yy_reduce_print (Rule);		\
    +} while (0)
    +
    +/* Nonzero means print parse trace.  It is left uninitialized so that
    +   multiple parsers can coexist.  */
    +int yydebug;
    +#else /* !YYDEBUG */
    +# define YYDPRINTF(Args)
    +# define YYDSYMPRINT(Args)
    +# define YYDSYMPRINTF(Title, Token, Value, Location)
    +# define YY_STACK_PRINT(Bottom, Top)
    +# define YY_REDUCE_PRINT(Rule)
    +#endif /* !YYDEBUG */
    +
    +
    +/* YYINITDEPTH -- initial size of the parser's stacks.  */
    +#ifndef	YYINITDEPTH
    +# define YYINITDEPTH 200
    +#endif
    +
    +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
    +   if the built-in stack extension method is used).
    +
    +   Do not make this value too large; the results are undefined if
    +   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
    +   evaluated with infinite-precision integer arithmetic.  */
    +
    +#if YYMAXDEPTH == 0
    +# undef YYMAXDEPTH
    +#endif
    +
    +#ifndef YYMAXDEPTH
    +# define YYMAXDEPTH 10000
    +#endif
    +
    +
    +
    +#if YYERROR_VERBOSE
    +
    +# ifndef yystrlen
    +#  if defined (__GLIBC__) && defined (_STRING_H)
    +#   define yystrlen strlen
    +#  else
    +/* Return the length of YYSTR.  */
    +static YYSIZE_T
    +#   if defined (__STDC__) || defined (__cplusplus)
    +yystrlen (const char *yystr)
    +#   else
    +yystrlen (yystr)
    +     const char *yystr;
    +#   endif
    +{
    +  register const char *yys = yystr;
    +
    +  while (*yys++ != '\0')
    +    continue;
    +
    +  return yys - yystr - 1;
    +}
    +#  endif
    +# endif
    +
    +# ifndef yystpcpy
    +#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
    +#   define yystpcpy stpcpy
    +#  else
    +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    +   YYDEST.  */
    +static char *
    +#   if defined (__STDC__) || defined (__cplusplus)
    +yystpcpy (char *yydest, const char *yysrc)
    +#   else
    +yystpcpy (yydest, yysrc)
    +     char *yydest;
    +     const char *yysrc;
    +#   endif
    +{
    +  register char *yyd = yydest;
    +  register const char *yys = yysrc;
    +
    +  while ((*yyd++ = *yys++) != '\0')
    +    continue;
    +
    +  return yyd - 1;
    +}
    +#  endif
    +# endif
    +
    +#endif /* !YYERROR_VERBOSE */
    +
    +
    +
    +#if YYDEBUG
    +/*--------------------------------.
    +| Print this symbol on YYOUTPUT.  |
    +`--------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
    +#else
    +static void
    +yysymprint (yyoutput, yytype, yyvaluep)
    +    FILE *yyoutput;
    +    int yytype;
    +    YYSTYPE *yyvaluep;
    +#endif
    +{
    +  /* Pacify ``unused variable'' warnings.  */
    +  (void) yyvaluep;
    +
    +  if (yytype < YYNTOKENS)
    +    {
    +      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    +# ifdef YYPRINT
    +      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
    +# endif
    +    }
    +  else
    +    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    +
    +  switch (yytype)
    +    {
    +      default:
    +        break;
    +    }
    +  YYFPRINTF (yyoutput, ")");
    +}
    +
    +#endif /* ! YYDEBUG */
    +/*-----------------------------------------------.
    +| Release the memory associated to this symbol.  |
    +`-----------------------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yydestruct (int yytype, YYSTYPE *yyvaluep)
    +#else
    +static void
    +yydestruct (yytype, yyvaluep)
    +    int yytype;
    +    YYSTYPE *yyvaluep;
    +#endif
    +{
    +  /* Pacify ``unused variable'' warnings.  */
    +  (void) yyvaluep;
    +
    +  switch (yytype)
    +    {
    +
    +      default:
    +        break;
    +    }
    +}
    +
    +
    +/* Prevent warnings from -Wmissing-prototypes.  */
    +
    +#ifdef YYPARSE_PARAM
    +# if defined (__STDC__) || defined (__cplusplus)
    +int yyparse (void *YYPARSE_PARAM);
    +# else
    +int yyparse ();
    +# endif
    +#else /* ! YYPARSE_PARAM */
    +#if defined (__STDC__) || defined (__cplusplus)
    +int yyparse (void);
    +#else
    +int yyparse ();
    +#endif
    +#endif /* ! YYPARSE_PARAM */
    +
    +
    +
    +
    +
    +
    +/*----------.
    +| yyparse.  |
    +`----------*/
    +
    +#ifdef YYPARSE_PARAM
    +# if defined (__STDC__) || defined (__cplusplus)
    +int yyparse (void *YYPARSE_PARAM)
    +# else
    +int yyparse (YYPARSE_PARAM)
    +  void *YYPARSE_PARAM;
    +# endif
    +#else /* ! YYPARSE_PARAM */
    +#if defined (__STDC__) || defined (__cplusplus)
    +int
    +yyparse (void)
    +#else
    +int
    +yyparse ()
    +
    +#endif
    +#endif
    +{
    +  /* The lookahead symbol.  */
    +int yychar;
    +
    +/* The semantic value of the lookahead symbol.  */
    +YYSTYPE yylval;
    +
    +/* Number of syntax errors so far.  */
    +int yynerrs;
    +
    +  register int yystate;
    +  register int yyn;
    +  int yyresult;
    +  /* Number of tokens to shift before error messages enabled.  */
    +  int yyerrstatus;
    +  /* Lookahead token as an internal (translated) token number.  */
    +  int yytoken = 0;
    +
    +  /* Three stacks and their tools:
    +     `yyss': related to states,
    +     `yyvs': related to semantic values,
    +     `yyls': related to locations.
    +
    +     Refer to the stacks thru separate pointers, to allow yyoverflow
    +     to reallocate them elsewhere.  */
    +
    +  /* The state stack.  */
    +  short	yyssa[YYINITDEPTH];
    +  short *yyss = yyssa;
    +  register short *yyssp;
    +
    +  /* The semantic value stack.  */
    +  YYSTYPE yyvsa[YYINITDEPTH];
    +  YYSTYPE *yyvs = yyvsa;
    +  register YYSTYPE *yyvsp;
    +
    +
    +
    +#define YYPOPSTACK   (yyvsp--, yyssp--)
    +
    +  YYSIZE_T yystacksize = YYINITDEPTH;
    +
    +  /* The variables used to return semantic value and location from the
    +     action routines.  */
    +  YYSTYPE yyval;
    +
    +
    +  /* When reducing, the number of symbols on the RHS of the reduced
    +     rule.  */
    +  int yylen;
    +
    +  YYDPRINTF ((stderr, "Starting parse\n"));
    +
    +  yystate = 0;
    +  yyerrstatus = 0;
    +  yynerrs = 0;
    +  yychar = YYEMPTY;		/* Cause a token to be read.  */
    +
    +  /* Initialize stack pointers.
    +     Waste one element of value and location stack
    +     so that they stay on the same level as the state stack.
    +     The wasted elements are never initialized.  */
    +
    +  yyssp = yyss;
    +  yyvsp = yyvs;
    +
    +  goto yysetstate;
    +
    +/*------------------------------------------------------------.
    +| yynewstate -- Push a new state, which is found in yystate.  |
    +`------------------------------------------------------------*/
    + yynewstate:
    +  /* In all cases, when you get here, the value and location stacks
    +     have just been pushed. so pushing a state here evens the stacks.
    +     */
    +  yyssp++;
    +
    + yysetstate:
    +  *yyssp = yystate;
    +
    +  if (yyss + yystacksize - 1 <= yyssp)
    +    {
    +      /* Get the current used size of the three stacks, in elements.  */
    +      YYSIZE_T yysize = yyssp - yyss + 1;
    +
    +#ifdef yyoverflow
    +      {
    +	/* Give user a chance to reallocate the stack. Use copies of
    +	   these so that the &'s don't force the real ones into
    +	   memory.  */
    +	YYSTYPE *yyvs1 = yyvs;
    +	short *yyss1 = yyss;
    +
    +
    +	/* Each stack pointer address is followed by the size of the
    +	   data in use in that stack, in bytes.  This used to be a
    +	   conditional around just the two extra args, but that might
    +	   be undefined if yyoverflow is a macro.  */
    +	yyoverflow ("parser stack overflow",
    +		    &yyss1, yysize * sizeof (*yyssp),
    +		    &yyvs1, yysize * sizeof (*yyvsp),
    +
    +		    &yystacksize);
    +
    +	yyss = yyss1;
    +	yyvs = yyvs1;
    +      }
    +#else /* no yyoverflow */
    +# ifndef YYSTACK_RELOCATE
    +      goto yyoverflowlab;
    +# else
    +      /* Extend the stack our own way.  */
    +      if (YYMAXDEPTH <= yystacksize)
    +	goto yyoverflowlab;
    +      yystacksize *= 2;
    +      if (YYMAXDEPTH < yystacksize)
    +	yystacksize = YYMAXDEPTH;
    +
    +      {
    +	short *yyss1 = yyss;
    +	union yyalloc *yyptr =
    +	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    +	if (! yyptr)
    +	  goto yyoverflowlab;
    +	YYSTACK_RELOCATE (yyss);
    +	YYSTACK_RELOCATE (yyvs);
    +
    +#  undef YYSTACK_RELOCATE
    +	if (yyss1 != yyssa)
    +	  YYSTACK_FREE (yyss1);
    +      }
    +# endif
    +#endif /* no yyoverflow */
    +
    +      yyssp = yyss + yysize - 1;
    +      yyvsp = yyvs + yysize - 1;
    +
    +
    +      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    +		  (unsigned long int) yystacksize));
    +
    +      if (yyss + yystacksize - 1 <= yyssp)
    +	YYABORT;
    +    }
    +
    +  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
    +
    +  goto yybackup;
    +
    +/*-----------.
    +| yybackup.  |
    +`-----------*/
    +yybackup:
    +
    +/* Do appropriate processing given the current state.  */
    +/* Read a lookahead token if we need one and don't already have one.  */
    +/* yyresume: */
    +
    +  /* First try to decide what to do without reference to lookahead token.  */
    +
    +  yyn = yypact[yystate];
    +  if (yyn == YYPACT_NINF)
    +    goto yydefault;
    +
    +  /* Not known => get a lookahead token if don't already have one.  */
    +
    +  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
    +  if (yychar == YYEMPTY)
    +    {
    +      YYDPRINTF ((stderr, "Reading a token: "));
    +      yychar = YYLEX;
    +    }
    +
    +  if (yychar <= YYEOF)
    +    {
    +      yychar = yytoken = YYEOF;
    +      YYDPRINTF ((stderr, "Now at end of input.\n"));
    +    }
    +  else
    +    {
    +      yytoken = YYTRANSLATE (yychar);
    +      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
    +    }
    +
    +  /* If the proper action on seeing token YYTOKEN is to reduce or to
    +     detect an error, take that action.  */
    +  yyn += yytoken;
    +  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
    +    goto yydefault;
    +  yyn = yytable[yyn];
    +  if (yyn <= 0)
    +    {
    +      if (yyn == 0 || yyn == YYTABLE_NINF)
    +	goto yyerrlab;
    +      yyn = -yyn;
    +      goto yyreduce;
    +    }
    +
    +  if (yyn == YYFINAL)
    +    YYACCEPT;
    +
    +  /* Shift the lookahead token.  */
    +  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
    +
    +  /* Discard the token being shifted unless it is eof.  */
    +  if (yychar != YYEOF)
    +    yychar = YYEMPTY;
    +
    +  *++yyvsp = yylval;
    +
    +
    +  /* Count tokens shifted since error; after three, turn off error
    +     status.  */
    +  if (yyerrstatus)
    +    yyerrstatus--;
    +
    +  yystate = yyn;
    +  goto yynewstate;
    +
    +
    +/*-----------------------------------------------------------.
    +| yydefault -- do the default action for the current state.  |
    +`-----------------------------------------------------------*/
    +yydefault:
    +  yyn = yydefact[yystate];
    +  if (yyn == 0)
    +    goto yyerrlab;
    +  goto yyreduce;
    +
    +
    +/*-----------------------------.
    +| yyreduce -- Do a reduction.  |
    +`-----------------------------*/
    +yyreduce:
    +  /* yyn is the number of a rule to reduce with.  */
    +  yylen = yyr2[yyn];
    +
    +  /* If YYLEN is nonzero, implement the default value of the action:
    +     `$$ = $1'.
    +
    +     Otherwise, the following line sets YYVAL to garbage.
    +     This behavior is undocumented and Bison
    +     users should not rely upon it.  Assigning to YYVAL
    +     unconditionally makes the parser a bit smaller, and it avoids a
    +     GCC warning that YYVAL may be used uninitialized.  */
    +  yyval = yyvsp[1-yylen];
    +
    +
    +  YY_REDUCE_PRINT (yyn);
    +  switch (yyn)
    +    {
    +        case 2:
    +#line 137 "./cond.y"
    +    {
    +            COND_input* cond = (COND_input*) info;
    +            cond->result = yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 3:
    +#line 145 "./cond.y"
    +    {
    +            yyval.value = yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 4:
    +#line 149 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-2].value || yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 5:
    +#line 156 "./cond.y"
    +    {
    +            yyval.value = yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 6:
    +#line 160 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-2].value && yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 7:
    +#line 167 "./cond.y"
    +    {
    +            yyval.value = yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 8:
    +#line 171 "./cond.y"
    +    {
    +            yyval.value = ! yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 9:
    +#line 179 "./cond.y"
    +    {
    +            yyval.value = yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 10:
    +#line 183 "./cond.y"
    +    {
    +            yyval.value = yyvsp[0].string[0] ? MSICONDITION_TRUE : MSICONDITION_FALSE;
    +        ;}
    +    break;
    +
    +  case 11:
    +#line 187 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-1].fn_comp_int( yyvsp[-2].value, yyvsp[0].value );
    +        ;}
    +    break;
    +
    +  case 12:
    +#line 191 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-1].fn_comp_str( yyvsp[-2].string, yyvsp[0].string, FALSE );
    +        ;}
    +    break;
    +
    +  case 13:
    +#line 195 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-1].fn_comp_str( yyvsp[-3].string, yyvsp[0].string, TRUE );
    +        ;}
    +    break;
    +
    +  case 14:
    +#line 199 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-1].fn_comp_m1( yyvsp[-2].string, yyvsp[0].value );
    +        ;}
    +    break;
    +
    +  case 15:
    +#line 203 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-1].fn_comp_m2( yyvsp[-2].value, yyvsp[0].string );
    +        ;}
    +    break;
    +
    +  case 16:
    +#line 207 "./cond.y"
    +    {
    +            yyval.value = yyvsp[-1].value;
    +        ;}
    +    break;
    +
    +  case 17:
    +#line 215 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_eq_i;
    +        ;}
    +    break;
    +
    +  case 18:
    +#line 219 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_ne_i;
    +        ;}
    +    break;
    +
    +  case 19:
    +#line 223 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_lt_i;
    +        ;}
    +    break;
    +
    +  case 20:
    +#line 227 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_gt_i;
    +        ;}
    +    break;
    +
    +  case 21:
    +#line 231 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_le_i;
    +        ;}
    +    break;
    +
    +  case 22:
    +#line 235 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_ge_i;
    +        ;}
    +    break;
    +
    +  case 23:
    +#line 240 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_bitand;
    +        ;}
    +    break;
    +
    +  case 24:
    +#line 244 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_highcomp;
    +        ;}
    +    break;
    +
    +  case 25:
    +#line 248 "./cond.y"
    +    {
    +            yyval.fn_comp_int = comp_lowcomp;
    +        ;}
    +    break;
    +
    +  case 26:
    +#line 256 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_eq_s;
    +        ;}
    +    break;
    +
    +  case 27:
    +#line 260 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_ne_s;
    +        ;}
    +    break;
    +
    +  case 28:
    +#line 264 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_lt_s;
    +        ;}
    +    break;
    +
    +  case 29:
    +#line 268 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_gt_s;
    +        ;}
    +    break;
    +
    +  case 30:
    +#line 272 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_le_s;
    +        ;}
    +    break;
    +
    +  case 31:
    +#line 276 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_ge_s;
    +        ;}
    +    break;
    +
    +  case 32:
    +#line 281 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_substring;
    +        ;}
    +    break;
    +
    +  case 33:
    +#line 285 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_start;
    +        ;}
    +    break;
    +
    +  case 34:
    +#line 289 "./cond.y"
    +    {
    +            yyval.fn_comp_str = comp_end;
    +        ;}
    +    break;
    +
    +  case 35:
    +#line 297 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = comp_eq_m1;
    +        ;}
    +    break;
    +
    +  case 36:
    +#line 301 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = comp_ne_m1;
    +        ;}
    +    break;
    +
    +  case 37:
    +#line 305 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = comp_lt_m1;
    +        ;}
    +    break;
    +
    +  case 38:
    +#line 309 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = comp_gt_m1;
    +        ;}
    +    break;
    +
    +  case 39:
    +#line 313 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = comp_le_m1;
    +        ;}
    +    break;
    +
    +  case 40:
    +#line 317 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = comp_ge_m1;
    +        ;}
    +    break;
    +
    +  case 41:
    +#line 322 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = 0;
    +        ;}
    +    break;
    +
    +  case 42:
    +#line 326 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = 0;
    +        ;}
    +    break;
    +
    +  case 43:
    +#line 330 "./cond.y"
    +    {
    +            yyval.fn_comp_m1 = 0;
    +        ;}
    +    break;
    +
    +  case 44:
    +#line 338 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = comp_eq_m2;
    +        ;}
    +    break;
    +
    +  case 45:
    +#line 342 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = comp_ne_m2;
    +        ;}
    +    break;
    +
    +  case 46:
    +#line 346 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = comp_lt_m2;
    +        ;}
    +    break;
    +
    +  case 47:
    +#line 350 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = comp_gt_m2;
    +        ;}
    +    break;
    +
    +  case 48:
    +#line 354 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = comp_le_m2;
    +        ;}
    +    break;
    +
    +  case 49:
    +#line 358 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = comp_ge_m2;
    +        ;}
    +    break;
    +
    +  case 50:
    +#line 363 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = 0;
    +        ;}
    +    break;
    +
    +  case 51:
    +#line 367 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = 0;
    +        ;}
    +    break;
    +
    +  case 52:
    +#line 371 "./cond.y"
    +    {
    +            yyval.fn_comp_m2 = 0;
    +        ;}
    +    break;
    +
    +  case 53:
    +#line 378 "./cond.y"
    +    {
    +            yyval.value = yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 54:
    +#line 382 "./cond.y"
    +    {
    +            yyval.value = yyvsp[0].value;
    +        ;}
    +    break;
    +
    +  case 55:
    +#line 389 "./cond.y"
    +    {
    +        yyval.string = yyvsp[0].string;
    +    ;}
    +    break;
    +
    +  case 56:
    +#line 393 "./cond.y"
    +    {
    +        yyval.string = yyvsp[0].string;
    +    ;}
    +    break;
    +
    +  case 57:
    +#line 400 "./cond.y"
    +    {
    +            yyval.string = COND_GetLiteral(&yyvsp[0].str);
    +            if( !yyval.string )
    +                YYABORT;
    +        ;}
    +    break;
    +
    +  case 58:
    +#line 409 "./cond.y"
    +    {
    +            COND_input* cond = (COND_input*) info;
    +            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    +      
    +            MSI_GetComponentStateW(cond->package, yyvsp[0].string, &install, &action );
    +            yyval.value = action;
    +            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    +        ;}
    +    break;
    +
    +  case 59:
    +#line 418 "./cond.y"
    +    {
    +            COND_input* cond = (COND_input*) info;
    +            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    +      
    +            MSI_GetComponentStateW(cond->package, yyvsp[0].string, &install, &action );
    +            yyval.value = install;
    +            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    +        ;}
    +    break;
    +
    +  case 60:
    +#line 427 "./cond.y"
    +    {
    +            COND_input* cond = (COND_input*) info;
    +            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    +      
    +            MSI_GetFeatureStateW(cond->package, yyvsp[0].string, &install, &action );
    +            yyval.value = action;
    +            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    +        ;}
    +    break;
    +
    +  case 61:
    +#line 436 "./cond.y"
    +    {
    +            COND_input* cond = (COND_input*) info;
    +            INSTALLSTATE install = INSTALLSTATE_UNKNOWN, action = INSTALLSTATE_UNKNOWN;
    +      
    +            MSI_GetFeatureStateW(cond->package, yyvsp[0].string, &install, &action );
    +            yyval.value = install;
    +            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    +        ;}
    +    break;
    +
    +  case 62:
    +#line 448 "./cond.y"
    +    {
    +            DWORD sz;
    +            COND_input* cond = (COND_input*) info;
    +
    +            sz = 0;
    +            MSI_GetPropertyW(cond->package, yyvsp[0].string, NULL, &sz);
    +            if (sz == 0)
    +            {
    +                yyval.string = HeapAlloc( GetProcessHeap(), 0 ,sizeof(WCHAR));
    +                yyval.string[0] = 0;
    +            }
    +            else
    +            {
    +                sz ++;
    +                yyval.string = HeapAlloc( GetProcessHeap(), 0, sz*sizeof (WCHAR) );
    +
    +                /* Lookup the identifier */
    +
    +                MSI_GetPropertyW(cond->package,yyvsp[0].string,yyval.string,&sz);
    +            }
    +            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    +        ;}
    +    break;
    +
    +  case 63:
    +#line 471 "./cond.y"
    +    {
    +            UINT len = GetEnvironmentVariableW( yyvsp[0].string, NULL, 0 );
    +            if( len++ )
    +            {
    +                yyval.string = HeapAlloc( GetProcessHeap(), 0, len*sizeof (WCHAR) );
    +                if( yyval.string )
    +                    GetEnvironmentVariableW( yyvsp[0].string, yyval.string, len );
    +            }
    +            HeapFree( GetProcessHeap(), 0, yyvsp[0].string );
    +        ;}
    +    break;
    +
    +  case 64:
    +#line 485 "./cond.y"
    +    {
    +            yyval.string = COND_GetString(&yyvsp[0].str);
    +            if( !yyval.string )
    +                YYABORT;
    +        ;}
    +    break;
    +
    +  case 65:
    +#line 494 "./cond.y"
    +    {
    +            LPWSTR szNum = COND_GetString(&yyvsp[0].str);
    +            if( !szNum )
    +                YYABORT;
    +            yyval.value = atoiW( szNum );
    +            HeapFree( GetProcessHeap(), 0, szNum );
    +        ;}
    +    break;
    +
    +
    +    }
    +
    +/* Line 999 of yacc.c.  */
    +#line 1719 "cond.tab.c"
    +
    +  yyvsp -= yylen;
    +  yyssp -= yylen;
    +
    +
    +  YY_STACK_PRINT (yyss, yyssp);
    +
    +  *++yyvsp = yyval;
    +
    +
    +  /* Now `shift' the result of the reduction.  Determine what state
    +     that goes to, based on the state we popped back to and the rule
    +     number reduced by.  */
    +
    +  yyn = yyr1[yyn];
    +
    +  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
    +  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    +    yystate = yytable[yystate];
    +  else
    +    yystate = yydefgoto[yyn - YYNTOKENS];
    +
    +  goto yynewstate;
    +
    +
    +/*------------------------------------.
    +| yyerrlab -- here on detecting error |
    +`------------------------------------*/
    +yyerrlab:
    +  /* If not already recovering from an error, report this error.  */
    +  if (!yyerrstatus)
    +    {
    +      ++yynerrs;
    +#if YYERROR_VERBOSE
    +      yyn = yypact[yystate];
    +
    +      if (YYPACT_NINF < yyn && yyn < YYLAST)
    +	{
    +	  YYSIZE_T yysize = 0;
    +	  int yytype = YYTRANSLATE (yychar);
    +	  const char* yyprefix;
    +	  char *yymsg;
    +	  int yyx;
    +
    +	  /* Start YYX at -YYN if negative to avoid negative indexes in
    +	     YYCHECK.  */
    +	  int yyxbegin = yyn < 0 ? -yyn : 0;
    +
    +	  /* Stay within bounds of both yycheck and yytname.  */
    +	  int yychecklim = YYLAST - yyn;
    +	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
    +	  int yycount = 0;
    +
    +	  yyprefix = ", expecting ";
    +	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    +	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    +	      {
    +		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
    +		yycount += 1;
    +		if (yycount == 5)
    +		  {
    +		    yysize = 0;
    +		    break;
    +		  }
    +	      }
    +	  yysize += (sizeof ("syntax error, unexpected ")
    +		     + yystrlen (yytname[yytype]));
    +	  yymsg = (char *) YYSTACK_ALLOC (yysize);
    +	  if (yymsg != 0)
    +	    {
    +	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
    +	      yyp = yystpcpy (yyp, yytname[yytype]);
    +
    +	      if (yycount < 5)
    +		{
    +		  yyprefix = ", expecting ";
    +		  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    +		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    +		      {
    +			yyp = yystpcpy (yyp, yyprefix);
    +			yyp = yystpcpy (yyp, yytname[yyx]);
    +			yyprefix = " or ";
    +		      }
    +		}
    +	      yyerror (yymsg);
    +	      YYSTACK_FREE (yymsg);
    +	    }
    +	  else
    +	    yyerror ("syntax error; also virtual memory exhausted");
    +	}
    +      else
    +#endif /* YYERROR_VERBOSE */
    +	yyerror ("syntax error");
    +    }
    +
    +
    +
    +  if (yyerrstatus == 3)
    +    {
    +      /* If just tried and failed to reuse lookahead token after an
    +	 error, discard it.  */
    +
    +      /* Return failure if at end of input.  */
    +      if (yychar == YYEOF)
    +        {
    +	  /* Pop the error token.  */
    +          YYPOPSTACK;
    +	  /* Pop the rest of the stack.  */
    +	  while (yyss < yyssp)
    +	    {
    +	      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    +	      yydestruct (yystos[*yyssp], yyvsp);
    +	      YYPOPSTACK;
    +	    }
    +	  YYABORT;
    +        }
    +
    +      YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
    +      yydestruct (yytoken, &yylval);
    +      yychar = YYEMPTY;
    +
    +    }
    +
    +  /* Else will try to reuse lookahead token after shifting the error
    +     token.  */
    +  goto yyerrlab1;
    +
    +
    +/*----------------------------------------------------.
    +| yyerrlab1 -- error raised explicitly by an action.  |
    +`----------------------------------------------------*/
    +yyerrlab1:
    +  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
    +
    +  for (;;)
    +    {
    +      yyn = yypact[yystate];
    +      if (yyn != YYPACT_NINF)
    +	{
    +	  yyn += YYTERROR;
    +	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
    +	    {
    +	      yyn = yytable[yyn];
    +	      if (0 < yyn)
    +		break;
    +	    }
    +	}
    +
    +      /* Pop the current state because it cannot handle the error token.  */
    +      if (yyssp == yyss)
    +	YYABORT;
    +
    +      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    +      yydestruct (yystos[yystate], yyvsp);
    +      yyvsp--;
    +      yystate = *--yyssp;
    +
    +      YY_STACK_PRINT (yyss, yyssp);
    +    }
    +
    +  if (yyn == YYFINAL)
    +    YYACCEPT;
    +
    +  YYDPRINTF ((stderr, "Shifting error token, "));
    +
    +  *++yyvsp = yylval;
    +
    +
    +  yystate = yyn;
    +  goto yynewstate;
    +
    +
    +/*-------------------------------------.
    +| yyacceptlab -- YYACCEPT comes here.  |
    +`-------------------------------------*/
    +yyacceptlab:
    +  yyresult = 0;
    +  goto yyreturn;
    +
    +/*-----------------------------------.
    +| yyabortlab -- YYABORT comes here.  |
    +`-----------------------------------*/
    +yyabortlab:
    +  yyresult = 1;
    +  goto yyreturn;
    +
    +#ifndef yyoverflow
    +/*----------------------------------------------.
    +| yyoverflowlab -- parser overflow comes here.  |
    +`----------------------------------------------*/
    +yyoverflowlab:
    +  yyerror ("parser stack overflow");
    +  yyresult = 2;
    +  /* Fall through.  */
    +#endif
    +
    +yyreturn:
    +#ifndef yyoverflow
    +  if (yyss != yyssa)
    +    YYSTACK_FREE (yyss);
    +#endif
    +  return yyresult;
    +}
    +
    +
    +#line 503 "./cond.y"
    +
    +
    +
    +static int COND_IsAlpha( WCHAR x )
    +{
    +    return( ( ( x >= 'A' ) && ( x <= 'Z' ) ) ||
    +            ( ( x >= 'a' ) && ( x <= 'z' ) ) ||
    +            ( ( x == '_' ) ) );
    +}
    +
    +static int COND_IsNumber( WCHAR x )
    +{
    +    return( (( x >= '0' ) && ( x <= '9' ))  || (x =='-') || (x =='.') );
    +}
    +
    +
    +/* the mess of comparison functions */
    +
    +static INT comp_lt_i(INT a, INT b)
    +{ return (a < b); }
    +static INT comp_gt_i(INT a, INT b)
    +{ return (a > b); }
    +static INT comp_le_i(INT a, INT b)
    +{ return (a <= b); }
    +static INT comp_ge_i(INT a, INT b)
    +{ return (a >= b); }
    +static INT comp_eq_i(INT a, INT b)
    +{ return (a == b); }
    +static INT comp_ne_i(INT a, INT b)
    +{ return (a != b); }
    +static INT comp_bitand(INT a, INT b)
    +{ return a & b;}
    +static INT comp_highcomp(INT a, INT b)
    +{ return HIWORD(a)==b; }
    +static INT comp_lowcomp(INT a, INT b)
    +{ return LOWORD(a)==b; }
    +
    +static INT comp_eq_s(LPWSTR a, LPWSTR b, BOOL casless)
    +{ if (casless) return !strcmpiW(a,b); else return !strcmpW(a,b);}
    +static INT comp_ne_s(LPWSTR a, LPWSTR b, BOOL casless)
    +{ if (casless) return strcmpiW(a,b); else  return strcmpW(a,b);}
    +static INT comp_lt_s(LPWSTR a, LPWSTR b, BOOL casless)
    +{ if (casless) return strcmpiW(a,b)<0; else return strcmpW(a,b)<0;}
    +static INT comp_gt_s(LPWSTR a, LPWSTR b, BOOL casless)
    +{ if (casless) return strcmpiW(a,b)>0; else return strcmpW(a,b)>0;}
    +static INT comp_le_s(LPWSTR a, LPWSTR b, BOOL casless)
    +{ if (casless) return strcmpiW(a,b)<=0; else return strcmpW(a,b)<=0;}
    +static INT comp_ge_s(LPWSTR a, LPWSTR b, BOOL casless)
    +{ if (casless) return strcmpiW(a,b)>=0; else return  strcmpW(a,b)>=0;}
    +static INT comp_substring(LPWSTR a, LPWSTR b, BOOL casless)
    +/* ERROR NOT WORKING REWRITE */
    +{ if (casless) return strstrW(a,b)!=NULL; else return strstrW(a,b)!=NULL;}
    +static INT comp_start(LPWSTR a, LPWSTR b, BOOL casless)
    +{ if (casless) return strncmpiW(a,b,strlenW(b))==0; 
    +  else return strncmpW(a,b,strlenW(b))==0;}
    +static INT comp_end(LPWSTR a, LPWSTR b, BOOL casless)
    +{ 
    +    int i = strlenW(a); 
    +    int j = strlenW(b); 
    +    if (j>i)
    +        return 0;
    +    if (casless) return (!strcmpiW(&a[i-j-1],b));
    +    else  return (!strcmpW(&a[i-j-1],b));
    +}
    +
    +
    +static INT comp_eq_m1(LPWSTR a, INT b)
    +{ if (COND_IsNumber(a[0])) return atoiW(a)==b; else return 0;}
    +static INT comp_ne_m1(LPWSTR a, INT b)
    +{ if (COND_IsNumber(a[0])) return atoiW(a)!=b; else return 1;}
    +static INT comp_lt_m1(LPWSTR a, INT b)
    +{ if (COND_IsNumber(a[0])) return atoiW(a)b; else return 0;}
    +static INT comp_le_m1(LPWSTR a, INT b)
    +{ if (COND_IsNumber(a[0])) return atoiW(a)<=b; else return 0;}
    +static INT comp_ge_m1(LPWSTR a, INT b)
    +{ if (COND_IsNumber(a[0])) return atoiW(a)>=b; else return 0;}
    +
    +static INT comp_eq_m2(INT a, LPWSTR b)
    +{ if (COND_IsNumber(b[0])) return a == atoiW(b); else return 0;}
    +static INT comp_ne_m2(INT a, LPWSTR b)
    +{ if (COND_IsNumber(b[0])) return a != atoiW(b); else return 1;}
    +static INT comp_lt_m2(INT a, LPWSTR b)
    +{ if (COND_IsNumber(b[0])) return a < atoiW(b); else return 0;}
    +static INT comp_gt_m2(INT a, LPWSTR b)
    +{ if (COND_IsNumber(b[0])) return a > atoiW(b); else return 0;}
    +static INT comp_le_m2(INT a, LPWSTR b)
    +{ if (COND_IsNumber(b[0])) return a <= atoiW(b); else return 0;}
    +static INT comp_ge_m2(INT a, LPWSTR b)
    +{ if (COND_IsNumber(b[0])) return a >= atoiW(b); else return 0;}
    +
    +
    +
    +static int COND_IsIdent( WCHAR x )
    +{
    +    return( COND_IsAlpha( x ) || COND_IsNumber( x ) || ( x == '_' ) 
    +            || ( x == '#' ) || (x == '.') );
    +}
    +
    +static int COND_GetOne( struct cond_str *str, COND_input *cond )
    +{
    +    static const WCHAR szNot[] = {'N','O','T',0};
    +    static const WCHAR szAnd[] = {'A','N','D',0};
    +    static const WCHAR szOr[] = {'O','R',0};
    +    WCHAR ch;
    +    int rc, len = 1;
    +
    +    str->data = &cond->str[cond->n];
    +
    +    ch = str->data[0];
    +    switch( ch )
    +    {
    +    case 0: return 0;
    +    case '(': rc = COND_LPAR; break;
    +    case ')': rc = COND_RPAR; break;
    +    case '&': rc = COND_AMPER; break;
    +    case '!': rc = COND_EXCLAM; break;
    +    case '$': rc = COND_DOLLARS; break;
    +    case '?': rc = COND_QUESTION; break;
    +    case '%': rc = COND_PERCENT; break;
    +    case ' ': rc = COND_SPACE; break;
    +    case '=': rc = COND_EQ; break;
    +    case '~': rc = COND_TILDA; break;
    +    case '<': rc = COND_LT; break;
    +    case '>': rc = COND_GT; break;
    +    case '"':
    +	{
    +	    const WCHAR *ch2 = str->data + 1;
    +
    +
    +	    while ( *ch2 && *ch2 != '"' )
    +	    	++ch2;
    +	    if (*ch2 == '"')
    +	    {
    +	        len = ch2 - str->data + 1;
    +		rc = COND_LITER;
    +		break;
    +	    }
    +	}
    +	ERR("Unterminated string\n");
    +	rc = COND_ERROR;
    +    	break;
    +    default: 
    +        if( COND_IsAlpha( ch ) )
    +        {
    +            while( COND_IsIdent( str->data[len] ) )
    +                len++;
    +            rc = COND_IDENT;
    +            break;
    +        }
    +
    +        if( COND_IsNumber( ch ) )
    +        {
    +            while( COND_IsNumber( str->data[len] ) )
    +                len++;
    +            rc = COND_NUMBER;
    +            break;
    +        }
    +
    +        ERR("Got unknown character %c(%x)\n",ch,ch);
    +        rc = COND_ERROR;
    +        break;
    +    }
    +
    +    /* keyword identifiers */
    +    if( rc == COND_IDENT )
    +    {
    +        if( (len==3) && (strncmpiW(str->data,szNot,len)==0) )
    +            rc = COND_NOT;
    +        else if( (len==3) && (strncmpiW(str->data,szAnd,len)==0) )
    +            rc = COND_AND;
    +        else if( (len==2) && (strncmpiW(str->data,szOr,len)==0) )
    +            rc = COND_OR;
    +    }
    +
    +    cond->n += len;
    +    str->len = len;
    +
    +    return rc;
    +}
    +
    +static int COND_lex( void *COND_lval, COND_input *cond )
    +{
    +    int rc;
    +    struct cond_str *str = COND_lval;
    +
    +    do {
    +        rc = COND_GetOne( str, cond );
    +    } while (rc == COND_SPACE);
    +    
    +    return rc;
    +}
    +
    +static LPWSTR COND_GetString( struct cond_str *str )
    +{
    +    LPWSTR ret;
    +
    +    ret = HeapAlloc( GetProcessHeap(), 0, (str->len+1) * sizeof (WCHAR) );
    +    if( ret )
    +    {
    +        strncpyW( ret, str->data, str->len );
    +        ret[str->len]=0;
    +    }
    +    TRACE("Got identifier %s\n",debugstr_w(ret));
    +    return ret;
    +}
    +
    +static LPWSTR COND_GetLiteral( struct cond_str *str )
    +{
    +    LPWSTR ret;
    +
    +    ret = HeapAlloc( GetProcessHeap(), 0, (str->len-1) * sizeof (WCHAR) );
    +    if( ret )
    +    {
    +        memcpy( ret, str->data+1, (str->len-2) * sizeof(WCHAR) );
    +        ret[str->len - 2]=0;
    +    }
    +    TRACE("Got literal %s\n",debugstr_w(ret));
    +    return ret;
    +}
    +
    +static int COND_error(char *str)
    +{
    +    return 0;
    +}
    +
    +MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *package, LPCWSTR szCondition )
    +{
    +    COND_input cond;
    +    MSICONDITION r;
    +
    +    cond.package = package;
    +    cond.str   = szCondition;
    +    cond.n     = 0;
    +    cond.result = -1;
    +    
    +    TRACE("Evaluating %s\n",debugstr_w(szCondition));    
    +
    +    if( szCondition && !COND_parse( &cond ) )
    +        r = cond.result;
    +    else
    +        r = MSICONDITION_ERROR;
    +
    +    TRACE("Evaluates to %i\n",r);
    +    return r;
    +}
    +
    +MSICONDITION WINAPI MsiEvaluateConditionW( MSIHANDLE hInstall, LPCWSTR szCondition )
    +{
    +    MSIPACKAGE *package;
    +    UINT ret;
    +
    +    package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
    +    if( !package)
    +        return ERROR_INVALID_HANDLE;
    +    ret = MSI_EvaluateConditionW( package, szCondition );
    +    msiobj_release( &package->hdr );
    +    return ret;
    +}
    +
    +MSICONDITION WINAPI MsiEvaluateConditionA( MSIHANDLE hInstall, LPCSTR szCondition )
    +{
    +    LPWSTR szwCond = NULL;
    +    MSICONDITION r;
    +
    +    if( szCondition )
    +    {
    +        UINT len = MultiByteToWideChar( CP_ACP, 0, szCondition, -1, NULL, 0 );
    +        szwCond = HeapAlloc( GetProcessHeap(), 0, len * sizeof (WCHAR) );
    +        MultiByteToWideChar( CP_ACP, 0, szCondition, -1, szwCond, len );
    +    }
    +
    +    r = MsiEvaluateConditionW( hInstall, szwCond );
    +
    +    HeapFree( GetProcessHeap(), 0, szwCond );
    +
    +    return r;
    +}
    +
    diff --git a/reactos/lib/msi/cond.tab.h b/reactos/lib/msi/cond.tab.h
    index 2392ce59d46..4870215530d 100644
    --- a/reactos/lib/msi/cond.tab.h
    +++ b/reactos/lib/msi/cond.tab.h
    @@ -1,40 +1,99 @@
    -#ifndef BISON_COND_TAB_H
    -# define BISON_COND_TAB_H
    -
    -#ifndef YYSTYPE
    -typedef union
    -{
    -    struct cond_str str;
    -    LPWSTR    string;
    -    INT       value;
    -    comp_int  fn_comp_int;
    -    comp_str  fn_comp_str;
    -    comp_m1   fn_comp_m1;
    -    comp_m2   fn_comp_m2;
    -} yystype;
    -# define YYSTYPE yystype
    -# define YYSTYPE_IS_TRIVIAL 1
    -#endif
    -# define	COND_SPACE	257
    -# define	COND_EOF	258
    -# define	COND_OR	259
    -# define	COND_AND	260
    -# define	COND_NOT	261
    -# define	COND_LT	262
    -# define	COND_GT	263
    -# define	COND_EQ	264
    -# define	COND_LPAR	265
    -# define	COND_RPAR	266
    -# define	COND_TILDA	267
    -# define	COND_PERCENT	268
    -# define	COND_DOLLARS	269
    -# define	COND_QUESTION	270
    -# define	COND_AMPER	271
    -# define	COND_EXCLAM	272
    -# define	COND_IDENT	273
    -# define	COND_NUMBER	274
    -# define	COND_LITER	275
    -# define	COND_ERROR	276
    -
    -
    -#endif /* not BISON_COND_TAB_H */
    +/* A Bison parser, made by GNU Bison 1.875b.  */
    +
    +/* Skeleton parser for Yacc-like parsing with Bison,
    +   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    +
    +   This program is free software; you can redistribute it and/or modify
    +   it under the terms of the GNU General Public License as published by
    +   the Free Software Foundation; either version 2, or (at your option)
    +   any later version.
    +
    +   This program is distributed in the hope that it will be useful,
    +   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +   GNU General Public License for more details.
    +
    +   You should have received a copy of the GNU General Public License
    +   along with this program; if not, write to the Free Software
    +   Foundation, Inc., 59 Temple Place - Suite 330,
    +   Boston, MA 02111-1307, USA.  */
    +
    +/* As a special exception, when this file is copied by Bison into a
    +   Bison output file, you may use that output file without restriction.
    +   This special exception was added by the Free Software Foundation
    +   in version 1.24 of Bison.  */
    +
    +/* Tokens.  */
    +#ifndef YYTOKENTYPE
    +# define YYTOKENTYPE
    +   /* Put the tokens into the symbol table, so that GDB and other debuggers
    +      know about them.  */
    +   enum yytokentype {
    +     COND_SPACE = 258,
    +     COND_EOF = 259,
    +     COND_OR = 260,
    +     COND_AND = 261,
    +     COND_NOT = 262,
    +     COND_LT = 263,
    +     COND_GT = 264,
    +     COND_EQ = 265,
    +     COND_LPAR = 266,
    +     COND_RPAR = 267,
    +     COND_TILDA = 268,
    +     COND_PERCENT = 269,
    +     COND_DOLLARS = 270,
    +     COND_QUESTION = 271,
    +     COND_AMPER = 272,
    +     COND_EXCLAM = 273,
    +     COND_IDENT = 274,
    +     COND_NUMBER = 275,
    +     COND_LITER = 276,
    +     COND_ERROR = 277
    +   };
    +#endif
    +#define COND_SPACE 258
    +#define COND_EOF 259
    +#define COND_OR 260
    +#define COND_AND 261
    +#define COND_NOT 262
    +#define COND_LT 263
    +#define COND_GT 264
    +#define COND_EQ 265
    +#define COND_LPAR 266
    +#define COND_RPAR 267
    +#define COND_TILDA 268
    +#define COND_PERCENT 269
    +#define COND_DOLLARS 270
    +#define COND_QUESTION 271
    +#define COND_AMPER 272
    +#define COND_EXCLAM 273
    +#define COND_IDENT 274
    +#define COND_NUMBER 275
    +#define COND_LITER 276
    +#define COND_ERROR 277
    +
    +
    +
    +
    +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    +#line 106 "./cond.y"
    +typedef union YYSTYPE {
    +    struct cond_str str;
    +    LPWSTR    string;
    +    INT       value;
    +    comp_int  fn_comp_int;
    +    comp_str  fn_comp_str;
    +    comp_m1   fn_comp_m1;
    +    comp_m2   fn_comp_m2;
    +} YYSTYPE;
    +/* Line 1252 of yacc.c.  */
    +#line 91 "cond.tab.h"
    +# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    +# define YYSTYPE_IS_DECLARED 1
    +# define YYSTYPE_IS_TRIVIAL 1
    +#endif
    +
    +
    +
    +
    +
    diff --git a/reactos/lib/msi/cond.y b/reactos/lib/msi/cond.y
    index 1cc096a7075..2221fb156ba 100644
    --- a/reactos/lib/msi/cond.y
    +++ b/reactos/lib/msi/cond.y
    @@ -181,7 +181,7 @@ term:
             }
       | value_s
             {
    -            $$ = atoiW($1);
    +            $$ = $1[0] ? MSICONDITION_TRUE : MSICONDITION_FALSE;
             }
       | value_i comp_op_i value_i
             {
    @@ -448,14 +448,22 @@ symbol_s:
             {
                 DWORD sz;
                 COND_input* cond = (COND_input*) info;
    -            $$ = HeapAlloc( GetProcessHeap(), 0, 0x100*sizeof (WCHAR) );
     
    -            /* Lookup the identifier */
    -
    -            sz=0x100;
    -            if (MSI_GetPropertyW(cond->package,$1,$$,&sz) != ERROR_SUCCESS)
    +            sz = 0;
    +            MSI_GetPropertyW(cond->package, $1, NULL, &sz);
    +            if (sz == 0)
                 {
    -                $$[0]=0;
    +                $$ = HeapAlloc( GetProcessHeap(), 0 ,sizeof(WCHAR));
    +                $$[0] = 0;
    +            }
    +            else
    +            {
    +                sz ++;
    +                $$ = HeapAlloc( GetProcessHeap(), 0, sz*sizeof (WCHAR) );
    +
    +                /* Lookup the identifier */
    +
    +                MSI_GetPropertyW(cond->package,$1,$$,&sz);
                 }
                 HeapFree( GetProcessHeap(), 0, $1 );
             }
    @@ -731,7 +739,7 @@ MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *package, LPCWSTR szCondition )
         
         TRACE("Evaluating %s\n",debugstr_w(szCondition));    
     
    -    if( !COND_parse( &cond ) )
    +    if( szCondition && !COND_parse( &cond ) )
             r = cond.result;
         else
             r = MSICONDITION_ERROR;
    @@ -767,8 +775,7 @@ MSICONDITION WINAPI MsiEvaluateConditionA( MSIHANDLE hInstall, LPCSTR szConditio
     
         r = MsiEvaluateConditionW( hInstall, szwCond );
     
    -    if( szwCond )
    -        HeapFree( GetProcessHeap(), 0, szwCond );
    +    HeapFree( GetProcessHeap(), 0, szwCond );
     
         return r;
     }
    diff --git a/reactos/lib/msi/create.c b/reactos/lib/msi/create.c
    index 356860d4cc3..b22a2aac61f 100644
    --- a/reactos/lib/msi/create.c
    +++ b/reactos/lib/msi/create.c
    @@ -188,11 +188,12 @@ static UINT CREATE_get_column_info( struct tagMSIVIEW *view,
         return ERROR_FUNCTION_FAILED;
     }
     
    -static UINT CREATE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT CREATE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
    +                MSIRECORD *rec)
     {
         MSICREATEVIEW *cv = (MSICREATEVIEW*)view;
     
    -    TRACE("%p %d %ld\n", cv, eModifyMode, hrec );
    +    TRACE("%p %d %p\n", cv, eModifyMode, rec );
     
         return ERROR_FUNCTION_FAILED;
     }
    diff --git a/reactos/lib/msi/custom.c b/reactos/lib/msi/custom.c
    new file mode 100644
    index 00000000000..ae79b3db5aa
    --- /dev/null
    +++ b/reactos/lib/msi/custom.c
    @@ -0,0 +1,794 @@
    +/*
    + * Custom Action processing for the Microsoft Installer (msi.dll)
    + *
    + * Copyright 2005 Aric Stewart for CodeWeavers
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +/*
    + * Pages I need
    + *
    +http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/summary_list_of_all_custom_action_types.asp
    + */
    +
    +#include 
    +#include 
    +
    +#define COBJMACROS
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "winerror.h"
    +#include "winreg.h"
    +#include "wine/debug.h"
    +#include "fdi.h"
    +#include "msi.h"
    +#include "msiquery.h"
    +#include "fcntl.h"
    +#include "objbase.h"
    +#include "objidl.h"
    +#include "msipriv.h"
    +#include "winnls.h"
    +#include "winuser.h"
    +#include "shlobj.h"
    +#include "wine/unicode.h"
    +#include "ver.h"
    +#include "action.h"
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(msi);
    +
    +#define CUSTOM_ACTION_TYPE_MASK 0x3F
    +static const WCHAR c_collen[] = {'C',':','\\',0};
    +static const WCHAR cszTempFolder[]= {'T','e','m','p','F','o','l','d','e','r',0};
    +
    +typedef struct tagMSIRUNNINGACTION
    +{
    +    HANDLE handle;
    +    BOOL   process;
    +    LPWSTR name;
    +} MSIRUNNINGACTION;
    +
    +static UINT HANDLE_CustomType1(MSIPACKAGE *package, LPCWSTR source,
    +                               LPCWSTR target, const INT type, LPCWSTR action);
    +static UINT HANDLE_CustomType2(MSIPACKAGE *package, LPCWSTR source,
    +                               LPCWSTR target, const INT type, LPCWSTR action);
    +static UINT HANDLE_CustomType18(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action);
    +static UINT HANDLE_CustomType19(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action);
    +static UINT HANDLE_CustomType50(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action);
    +static UINT HANDLE_CustomType34(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action);
    +
    +UINT ACTION_CustomAction(MSIPACKAGE *package,LPCWSTR action, BOOL execute)
    +{
    +    UINT rc = ERROR_SUCCESS;
    +    MSIQUERY * view;
    +    MSIRECORD * row = 0;
    +    static const WCHAR ExecSeqQuery[] =
    +    {'s','e','l','e','c','t',' ','*',' ','f','r','o','m',' ','C','u','s','t','o'
    +        ,'m','A','c','t','i','o','n',' ','w','h','e','r','e',' ','`','A','c','t','i'
    +        ,'o','n','`',' ','=',' ','`','%','s','`',0};
    +    UINT type;
    +    LPWSTR source;
    +    LPWSTR target;
    +    WCHAR *deformated=NULL;
    +
    +    rc = MSI_OpenQuery(package->db, &view, ExecSeqQuery, action);
    +    if (rc != ERROR_SUCCESS)
    +        return rc;
    +
    +    rc = MSI_ViewExecute(view, 0);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +        return rc;
    +    }
    +
    +    rc = MSI_ViewFetch(view,&row);
    +    if (rc != ERROR_SUCCESS)
    +    {
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +        return ERROR_CALL_NOT_IMPLEMENTED;
    +    }
    +
    +    type = MSI_RecordGetInteger(row,2);
    +
    +    source = load_dynamic_stringW(row,3);
    +    target = load_dynamic_stringW(row,4);
    +
    +    TRACE("Handling custom action %s (%x %s %s)\n",debugstr_w(action),type,
    +          debugstr_w(source), debugstr_w(target));
    +
    +    /* handle some of the deferred actions */
    +    if (type & 0x400)
    +    {
    +        if (type & 0x100)
    +        {
    +            FIXME("Rollback only action... rollbacks not supported yet\n");
    +            HeapFree(GetProcessHeap(),0,source);
    +            HeapFree(GetProcessHeap(),0,target);
    +            msiobj_release(&row->hdr);
    +            MSI_ViewClose(view);
    +            msiobj_release(&view->hdr);
    +            return ERROR_SUCCESS;
    +        }
    +        if (!execute)
    +        {
    +            LPWSTR *newbuf = NULL;
    +            INT count;
    +            if (type & 0x200)
    +            {
    +                TRACE("Deferring Commit Action!\n");
    +                count = package->CommitActionCount;
    +                package->CommitActionCount++;
    +                if (count != 0)
    +                    newbuf = HeapReAlloc(GetProcessHeap(),0,
    +                        package->CommitAction,
    +                        package->CommitActionCount * sizeof(LPWSTR));
    +                else
    +                    newbuf = HeapAlloc(GetProcessHeap(),0, sizeof(LPWSTR));
    +
    +                newbuf[count] = dupstrW(action);
    +                package->CommitAction = newbuf;
    +            }
    +            else
    +            {
    +                TRACE("Deferring Action!\n");
    +                count = package->DeferredActionCount;
    +                package->DeferredActionCount++;
    +                if (count != 0)
    +                    newbuf = HeapReAlloc(GetProcessHeap(),0,
    +                        package->DeferredAction,
    +                        package->DeferredActionCount * sizeof(LPWSTR));
    +                else
    +                    newbuf = HeapAlloc(GetProcessHeap(),0, sizeof(LPWSTR));
    +
    +                newbuf[count] = dupstrW(action);
    +                package->DeferredAction = newbuf;
    +            }
    +
    +            HeapFree(GetProcessHeap(),0,source);
    +            HeapFree(GetProcessHeap(),0,target);
    +            msiobj_release(&row->hdr);
    +            MSI_ViewClose(view);
    +            msiobj_release(&view->hdr);
    +            return ERROR_SUCCESS;
    +        }
    +        else
    +        {
    +            /*Set ActionData*/
    +
    +            static const WCHAR szActionData[] = {
    +            'C','u','s','t','o','m','A','c','t','i','o','n','D','a','t','a',0};
    +            LPWSTR actiondata = load_dynamic_property(package,action,NULL);
    +            if (actiondata)
    +                MSI_SetPropertyW(package,szActionData,actiondata);
    +        }
    +    }
    +
    +    switch (type & CUSTOM_ACTION_TYPE_MASK)
    +    {
    +        case 1: /* DLL file stored in a Binary table stream */
    +            rc = HANDLE_CustomType1(package,source,target,type,action);
    +            break;
    +        case 2: /* EXE file stored in a Binary table strem */
    +            rc = HANDLE_CustomType2(package,source,target,type,action);
    +            break;
    +        case 18: /*EXE file installed with package */
    +            rc = HANDLE_CustomType18(package,source,target,type,action);
    +            break;
    +        case 19: /* Error that halts install */
    +            rc = HANDLE_CustomType19(package,source,target,type,action);
    +            break;
    +        case 50: /*EXE file specified by a property value */
    +            rc = HANDLE_CustomType50(package,source,target,type,action);
    +            break;
    +        case 34: /*EXE to be run in specified directory */
    +            rc = HANDLE_CustomType34(package,source,target,type,action);
    +            break;
    +        case 35: /* Directory set with formatted text. */
    +            deformat_string(package,target,&deformated);
    +            MSI_SetTargetPathW(package, source, deformated);
    +            HeapFree(GetProcessHeap(),0,deformated);
    +            break;
    +        case 51: /* Property set with formatted text. */
    +            deformat_string(package,target,&deformated);
    +            rc = MSI_SetPropertyW(package,source,deformated);
    +            HeapFree(GetProcessHeap(),0,deformated);
    +            break;
    +        default:
    +            FIXME("UNHANDLED ACTION TYPE %i (%s %s)\n",
    +             type & CUSTOM_ACTION_TYPE_MASK, debugstr_w(source),
    +             debugstr_w(target));
    +    }
    +
    +    HeapFree(GetProcessHeap(),0,source);
    +    HeapFree(GetProcessHeap(),0,target);
    +    msiobj_release(&row->hdr);
    +    MSI_ViewClose(view);
    +    msiobj_release(&view->hdr);
    +    return rc;
    +}
    +
    +
    +static UINT store_binary_to_temp(MSIPACKAGE *package, LPCWSTR source, 
    +                                LPWSTR tmp_file)
    +{
    +    DWORD sz=MAX_PATH;
    +    static const WCHAR f1[] = {'m','s','i',0};
    +    WCHAR fmt[MAX_PATH];
    +
    +    if (MSI_GetPropertyW(package, cszTempFolder, fmt, &sz) 
    +        != ERROR_SUCCESS)
    +        GetTempPathW(MAX_PATH,fmt);
    +
    +    if (GetTempFileNameW(fmt,f1,0,tmp_file) == 0)
    +    {
    +        TRACE("Unable to create file\n");
    +        return ERROR_FUNCTION_FAILED;
    +    }
    +    else
    +    {
    +        /* write out the file */
    +        UINT rc;
    +        MSIQUERY * view;
    +        MSIRECORD * row = 0;
    +        static const WCHAR fmt[] =
    +        {'s','e','l','e','c','t',' ','*',' ','f','r','o','m',' ','B','i'
    +,'n','a','r','y',' ','w','h','e','r','e',' ','N','a','m','e','=','`','%','s','`',0};
    +        HANDLE the_file;
    +        CHAR buffer[1024];
    +
    +        if (track_tempfile(package, tmp_file, tmp_file)!=0)
    +            FIXME("File Name in temp tracking collision\n");
    +
    +        the_file = CreateFileW(tmp_file, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
    +                           FILE_ATTRIBUTE_NORMAL, NULL);
    +    
    +        if (the_file == INVALID_HANDLE_VALUE)
    +            return ERROR_FUNCTION_FAILED;
    +
    +        rc = MSI_OpenQuery(package->db, &view, fmt, source);
    +        if (rc != ERROR_SUCCESS)
    +            return rc;
    +
    +        rc = MSI_ViewExecute(view, 0);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            MSI_ViewClose(view);
    +            msiobj_release(&view->hdr);
    +            return rc;
    +        }
    +
    +        rc = MSI_ViewFetch(view,&row);
    +        if (rc != ERROR_SUCCESS)
    +        {
    +            MSI_ViewClose(view);
    +            msiobj_release(&view->hdr);
    +            return rc;
    +        }
    +
    +        do 
    +        {
    +            DWORD write;
    +            sz = 1024;
    +            rc = MSI_RecordReadStream(row,2,buffer,&sz);
    +            if (rc != ERROR_SUCCESS)
    +            {
    +                ERR("Failed to get stream\n");
    +                CloseHandle(the_file);  
    +                DeleteFileW(tmp_file);
    +                break;
    +            }
    +            WriteFile(the_file,buffer,sz,&write,NULL);
    +        } while (sz == 1024);
    +
    +        CloseHandle(the_file);
    +
    +        msiobj_release(&row->hdr);
    +        MSI_ViewClose(view);
    +        msiobj_release(&view->hdr);
    +    }
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static void file_running_action(MSIPACKAGE* package, HANDLE Handle, 
    +                                BOOL process, LPCWSTR name)
    +{
    +    MSIRUNNINGACTION *newbuf = NULL;
    +    INT count;
    +    count = package->RunningActionCount;
    +    package->RunningActionCount++;
    +    if (count != 0)
    +        newbuf = HeapReAlloc(GetProcessHeap(),0,
    +                        package->RunningAction,
    +                        package->RunningActionCount * sizeof(MSIRUNNINGACTION));
    +    else
    +        newbuf = HeapAlloc(GetProcessHeap(),0, sizeof(MSIRUNNINGACTION));
    +
    +    newbuf[count].handle = Handle;
    +    newbuf[count].process = process;
    +    newbuf[count].name = dupstrW(name);
    +
    +    package->RunningAction = newbuf;
    +}
    +
    +static UINT process_action_return_value(UINT type, HANDLE ThreadHandle)
    +{
    +    DWORD rc;
    +    
    +    if (type == 2)
    +    {
    +        GetExitCodeProcess(ThreadHandle,&rc);
    +    
    +        if (rc == 0)
    +            return ERROR_SUCCESS;
    +        else
    +            return ERROR_FUNCTION_FAILED;
    +    }
    +
    +    GetExitCodeThread(ThreadHandle,&rc);
    +
    +    switch (rc)
    +    {
    +        case ERROR_FUNCTION_NOT_CALLED:
    +        case ERROR_SUCCESS:
    +        case ERROR_INSTALL_USEREXIT:
    +        case ERROR_INSTALL_FAILURE:
    +            return rc;
    +        case ERROR_NO_MORE_ITEMS:
    +            return ERROR_SUCCESS;
    +        default:
    +            return ERROR_FUNCTION_FAILED;
    +    }
    +}
    +
    +static UINT process_handle(MSIPACKAGE* package, UINT type, 
    +                           HANDLE ThreadHandle, HANDLE ProcessHandle,
    +                           LPCWSTR Name)
    +{
    +    UINT rc = ERROR_SUCCESS;
    +
    +    if (!(type & 0x80))
    +    {
    +        /* synchronous */
    +        TRACE("Synchronous Execution of action %s\n",debugstr_w(Name));
    +        if (ProcessHandle)
    +            msi_dialog_check_messages(package->dialog, ProcessHandle);
    +        else
    +            msi_dialog_check_messages(package->dialog, ThreadHandle);
    +
    +        if (!(type & 0x40))
    +        {
    +            if (ProcessHandle)
    +                rc = process_action_return_value(2,ProcessHandle);
    +            else
    +                rc = process_action_return_value(1,ThreadHandle);
    +        }
    +
    +        CloseHandle(ThreadHandle);
    +        if (ProcessHandle);
    +            CloseHandle(ProcessHandle);
    +    }
    +    else 
    +    {
    +        TRACE("Asynchronous Execution of action %s\n",debugstr_w(Name));
    +        /* asynchronous */
    +        if (type & 0x40)
    +        {
    +            if (ProcessHandle)
    +            {
    +                file_running_action(package, ProcessHandle, TRUE, Name);
    +                CloseHandle(ThreadHandle);
    +            }
    +            else
    +            file_running_action(package, ThreadHandle, FALSE, Name);
    +        }
    +        else
    +        {
    +            CloseHandle(ThreadHandle);
    +            if (ProcessHandle);
    +                CloseHandle(ProcessHandle);
    +        }
    +    }
    +
    +    return rc;
    +}
    +
    +
    +typedef UINT __stdcall CustomEntry(MSIHANDLE);
    +
    +typedef struct 
    +{
    +        MSIPACKAGE *package;
    +        WCHAR *target;
    +        WCHAR *source;
    +} thread_struct;
    +
    +static DWORD WINAPI ACTION_CallDllFunction(thread_struct *stuff)
    +{
    +    HANDLE hModule;
    +    LPSTR proc;
    +    CustomEntry *fn;
    +    DWORD rc = ERROR_SUCCESS;
    +
    +    TRACE("calling function (%s, %s) \n", debugstr_w(stuff->source),
    +          debugstr_w(stuff->target));
    +
    +    hModule = LoadLibraryW(stuff->source);
    +    if (hModule)
    +    {
    +        proc = strdupWtoA( stuff->target );
    +        fn = (CustomEntry*)GetProcAddress(hModule,proc);
    +        if (fn)
    +        {
    +            MSIHANDLE hPackage;
    +            MSIPACKAGE *package = stuff->package;
    +
    +            TRACE("Calling function %s\n", proc);
    +            hPackage = msiobj_findhandle( &package->hdr );
    +            if (hPackage )
    +            {
    +                rc = fn(hPackage);
    +                msiobj_release( &package->hdr );
    +            }
    +            else
    +                ERR("Handle for object %p not found\n", package );
    +        }
    +        else
    +            ERR("Cannot load functon\n");
    +
    +        HeapFree(GetProcessHeap(),0,proc);
    +        FreeLibrary(hModule);
    +    }
    +    else
    +        ERR("Unable to load library\n");
    +    msiobj_release( &stuff->package->hdr );
    +    HeapFree(GetProcessHeap(),0,stuff->source);
    +    HeapFree(GetProcessHeap(),0,stuff->target);
    +    HeapFree(GetProcessHeap(), 0, stuff);
    +    return rc;
    +}
    +
    +static DWORD WINAPI DllThread(LPVOID info)
    +{
    +    thread_struct *stuff;
    +    DWORD rc = 0;
    +  
    +    TRACE("MSI Thread (0x%lx) started for custom action\n",
    +                        GetCurrentThreadId());
    +    
    +    stuff = (thread_struct*)info;
    +    rc = ACTION_CallDllFunction(stuff);
    +
    +    TRACE("MSI Thread (0x%lx) finished\n",GetCurrentThreadId());
    +    /* clse all handles for this thread */
    +    MsiCloseAllHandles();
    +    return rc;
    +}
    +
    +static UINT HANDLE_CustomType1(MSIPACKAGE *package, LPCWSTR source, 
    +                               LPCWSTR target, const INT type, LPCWSTR action)
    +{
    +    WCHAR tmp_file[MAX_PATH];
    +    thread_struct *info;
    +    DWORD ThreadId;
    +    HANDLE ThreadHandle;
    +    UINT rc = ERROR_SUCCESS;
    +
    +    store_binary_to_temp(package, source, tmp_file);
    +
    +    TRACE("Calling function %s from %s\n",debugstr_w(target),
    +          debugstr_w(tmp_file));
    +
    +    if (!strchrW(tmp_file,'.'))
    +    {
    +        static const WCHAR dot[]={'.',0};
    +        strcatW(tmp_file,dot);
    +    } 
    +
    +    info = HeapAlloc( GetProcessHeap(), 0, sizeof(*info) );
    +    msiobj_addref( &package->hdr );
    +    info->package = package;
    +    info->target = dupstrW(target);
    +    info->source = dupstrW(tmp_file);
    +
    +    ThreadHandle = CreateThread(NULL,0,DllThread,(LPVOID)info,0,&ThreadId);
    +
    +    rc = process_handle(package, type, ThreadHandle, NULL, action);
    + 
    +    return rc;
    +}
    +
    +static UINT HANDLE_CustomType2(MSIPACKAGE *package, LPCWSTR source, 
    +                               LPCWSTR target, const INT type, LPCWSTR action)
    +{
    +    WCHAR tmp_file[MAX_PATH];
    +    STARTUPINFOW si;
    +    PROCESS_INFORMATION info;
    +    BOOL rc;
    +    INT len;
    +    WCHAR *deformated;
    +    WCHAR *cmd;
    +    static const WCHAR spc[] = {' ',0};
    +    UINT prc = ERROR_SUCCESS;
    +
    +    memset(&si,0,sizeof(STARTUPINFOW));
    +
    +    store_binary_to_temp(package, source, tmp_file);
    +
    +    deformat_string(package,target,&deformated);
    +
    +    len = strlenW(tmp_file)+2;
    +
    +    if (deformated)
    +        len += strlenW(deformated);
    +   
    +    cmd = (WCHAR*)HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*len);
    +
    +    strcpyW(cmd,tmp_file);
    +    if (deformated)
    +    {
    +        strcatW(cmd,spc);
    +        strcatW(cmd,deformated);
    +
    +        HeapFree(GetProcessHeap(),0,deformated);
    +    }
    +
    +    TRACE("executing exe %s \n",debugstr_w(cmd));
    +
    +    rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL,
    +                  c_collen, &si, &info);
    +
    +    HeapFree(GetProcessHeap(),0,cmd);
    +
    +    if ( !rc )
    +    {
    +        ERR("Unable to execute command\n");
    +        return ERROR_SUCCESS;
    +    }
    +
    +    prc = process_handle(package, type, info.hThread, info.hProcess, action);
    +
    +    return prc;
    +}
    +
    +static UINT HANDLE_CustomType18(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action)
    +{
    +    STARTUPINFOW si;
    +    PROCESS_INFORMATION info;
    +    BOOL rc;
    +    WCHAR *deformated;
    +    WCHAR *cmd;
    +    INT len;
    +    static const WCHAR spc[] = {' ',0};
    +    int index;
    +    UINT prc;
    +
    +    memset(&si,0,sizeof(STARTUPINFOW));
    +
    +    index = get_loaded_file(package,source);
    +
    +    len = strlenW(package->files[index].TargetPath);
    +
    +    deformat_string(package,target,&deformated);
    +    if (deformated)
    +        len += strlenW(deformated);
    +    len += 2;
    +
    +    cmd = (WCHAR*)HeapAlloc(GetProcessHeap(),0,len * sizeof(WCHAR));
    +
    +    strcpyW(cmd, package->files[index].TargetPath);
    +    if (deformated)
    +    {
    +        strcatW(cmd, spc);
    +        strcatW(cmd, deformated);
    +
    +        HeapFree(GetProcessHeap(),0,deformated);
    +    }
    +
    +    TRACE("executing exe %s \n",debugstr_w(cmd));
    +
    +    rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL,
    +                  c_collen, &si, &info);
    +
    +    HeapFree(GetProcessHeap(),0,cmd);
    +    
    +    if ( !rc )
    +    {
    +        ERR("Unable to execute command\n");
    +        return ERROR_SUCCESS;
    +    }
    +
    +    prc = process_handle(package, type, info.hThread, info.hProcess, action);
    +
    +    return prc;
    +}
    +
    +static UINT HANDLE_CustomType19(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action)
    +{
    +    static const WCHAR query[] = {
    +      'S','E','L','E','C','T',' ','`','M','e','s','s','a','g','e','`',' ',
    +      'F','R','O','M',' ','`','E','r','r','o','r','`',' ',
    +      'W','H','E','R','E',' ','`','E','r','r','o','r','`',' ','=',' ','%','s',0
    +    };
    +    MSIQUERY *view = NULL;
    +    MSIRECORD *row = 0;
    +    UINT r;
    +    LPWSTR deformated = NULL;
    +
    +    deformat_string( package, target, &deformated );
    +
    +    /* first try treat the error as a number */
    +    r = MSI_OpenQuery( package->db, &view, query, deformated );
    +    if( r == ERROR_SUCCESS )
    +    {
    +        r = MSI_ViewExecute( view, 0 );
    +        if( r == ERROR_SUCCESS )
    +        {
    +            r = MSI_ViewFetch( view, &row );
    +            if( r == ERROR_SUCCESS )
    +            {
    +                LPCWSTR error = MSI_RecordGetString( row, 1 );
    +                MessageBoxW( NULL, error, NULL, MB_OK );
    +                msiobj_release( &row->hdr );
    +            }
    +        }
    +        MSI_ViewClose( view );
    +        msiobj_release( &view->hdr );
    +    }
    +
    +    if (r != ERROR_SUCCESS )
    +    {
    +        MessageBoxW( NULL, deformated, NULL, MB_OK );
    +        HeapFree( GetProcessHeap(), 0, deformated );
    +    }
    +
    +    return ERROR_FUNCTION_FAILED;
    +}
    +
    +static UINT HANDLE_CustomType50(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action)
    +{
    +    STARTUPINFOW si;
    +    PROCESS_INFORMATION info;
    +    WCHAR *prop;
    +    BOOL rc;
    +    WCHAR *deformated;
    +    WCHAR *cmd;
    +    INT len;
    +    UINT prc;
    +    static const WCHAR spc[] = {' ',0};
    +
    +    memset(&si,0,sizeof(STARTUPINFOW));
    +    memset(&info,0,sizeof(PROCESS_INFORMATION));
    +
    +    prop = load_dynamic_property(package,source,&prc);
    +    if (!prop)
    +        return prc;
    +
    +    deformat_string(package,target,&deformated);
    +    len = strlenW(prop) + 2;
    +    if (deformated)
    +         len += strlenW(deformated);
    +
    +    cmd = (WCHAR*)HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*len);
    +
    +    strcpyW(cmd,prop);
    +    if (deformated)
    +    {
    +        strcatW(cmd,spc);
    +        strcatW(cmd,deformated);
    +
    +        HeapFree(GetProcessHeap(),0,deformated);
    +    }
    +
    +    TRACE("executing exe %s \n",debugstr_w(cmd));
    +
    +    rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL,
    +                  c_collen, &si, &info);
    +
    +    HeapFree(GetProcessHeap(),0,cmd);
    +    
    +    if ( !rc )
    +    {
    +        ERR("Unable to execute command\n");
    +        return ERROR_SUCCESS;
    +    }
    +
    +    prc = process_handle(package, type, info.hThread, info.hProcess, action);
    +
    +    return prc;
    +}
    +
    +static UINT HANDLE_CustomType34(MSIPACKAGE *package, LPCWSTR source,
    +                                LPCWSTR target, const INT type, LPCWSTR action)
    +{
    +    LPWSTR filename, deformated;
    +    STARTUPINFOW si;
    +    PROCESS_INFORMATION info;
    +    BOOL rc;
    +    UINT prc;
    +
    +    memset(&si,0,sizeof(STARTUPINFOW));
    +
    +    filename = resolve_folder(package, source, FALSE, FALSE, NULL);
    +
    +    if (!filename)
    +        return ERROR_FUNCTION_FAILED;
    +
    +    SetCurrentDirectoryW(filename);
    +    HeapFree(GetProcessHeap(),0,filename);
    +
    +    deformat_string(package,target,&deformated);
    +
    +    if (!deformated)
    +        return ERROR_FUNCTION_FAILED;
    +
    +    TRACE("executing exe %s \n",debugstr_w(deformated));
    +
    +    rc = CreateProcessW(NULL, deformated, NULL, NULL, FALSE, 0, NULL,
    +                  c_collen, &si, &info);
    +    HeapFree(GetProcessHeap(),0,deformated);
    +
    +    if ( !rc )
    +    {
    +        ERR("Unable to execute command\n");
    +        return ERROR_SUCCESS;
    +    }
    +
    +    prc = process_handle(package, type, info.hThread, info.hProcess, action);
    +
    +    return prc;
    +}
    +
    +
    +void ACTION_FinishCustomActions(MSIPACKAGE* package)
    +{
    +    INT i;
    +    DWORD rc;
    +
    +    for (i = 0; i < package->RunningActionCount; i++)
    +    {
    +        TRACE("Checking on action %s\n",
    +               debugstr_w(package->RunningAction[i].name));
    +
    +        if (package->RunningAction[i].process)
    +            GetExitCodeProcess(package->RunningAction[i].handle, &rc);
    +        else
    +            GetExitCodeThread(package->RunningAction[i].handle, &rc);
    +
    +        if (rc == STILL_ACTIVE)
    +        {
    +            TRACE("Waiting on action %s\n",
    +               debugstr_w(package->RunningAction[i].name));
    +            msi_dialog_check_messages(package->dialog,
    +                                      package->RunningAction[i].handle);
    +        }
    +
    +        HeapFree(GetProcessHeap(),0,package->RunningAction[i].name);
    +        CloseHandle(package->RunningAction[i].handle);
    +    }
    +
    +    HeapFree(GetProcessHeap(),0,package->RunningAction);
    +}
    diff --git a/reactos/lib/msi/dialog.c b/reactos/lib/msi/dialog.c
    new file mode 100644
    index 00000000000..db8328f14d1
    --- /dev/null
    +++ b/reactos/lib/msi/dialog.c
    @@ -0,0 +1,973 @@
    +/*
    + * Implementation of the Microsoft Installer (msi.dll)
    + *
    + * Copyright 2005 Mike McCormack for CodeWeavers
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "winuser.h"
    +#include "winnls.h"
    +#include "wingdi.h"
    +#include "msi.h"
    +#include "msipriv.h"
    +#include "msidefs.h"
    +
    +#include "wine/debug.h"
    +#include "wine/unicode.h"
    +
    +#include "action.h"
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(msi);
    +
    +
    +const WCHAR szMsiDialogClass[] = {
    +    'M','s','i','D','i','a','l','o','g','C','l','o','s','e','C','l','a','s','s',0
    +};
    +const static WCHAR szStatic[] = { 'S','t','a','t','i','c',0 };
    +
    +struct msi_control_tag;
    +typedef struct msi_control_tag msi_control;
    +typedef UINT (*msi_handler)( msi_dialog *, msi_control *, WPARAM );
    +
    +struct msi_control_tag
    +{
    +    struct msi_control_tag *next;
    +    HWND hwnd;
    +    msi_handler handler;
    +    LPWSTR property;
    +    WCHAR name[1];
    +};
    +
    +typedef struct msi_font_tag
    +{
    +    struct msi_font_tag *next;
    +    HFONT hfont;
    +    WCHAR name[1];
    +} msi_font;
    +
    +struct msi_dialog_tag
    +{
    +    MSIPACKAGE *package;
    +    msi_dialog_event_handler event_handler;
    +    BOOL finished;
    +    INT scale;
    +    DWORD attributes;
    +    HWND hwnd;
    +    LPWSTR default_font;
    +    msi_font *font_list;
    +    msi_control *control_list;
    +    WCHAR name[1];
    +};
    +
    +typedef UINT (*msi_dialog_control_func)( msi_dialog *dialog, MSIRECORD *rec );
    +struct control_handler 
    +{
    +    LPCWSTR control_type;
    +    msi_dialog_control_func func;
    +};
    +
    +static UINT msi_dialog_checkbox_handler( msi_dialog *, msi_control *, WPARAM );
    +static void msi_dialog_checkbox_sync_state( msi_dialog *, msi_control * );
    +static UINT msi_dialog_button_handler( msi_dialog *, msi_control *, WPARAM );
    +static UINT msi_dialog_edit_handler( msi_dialog *, msi_control *, WPARAM );
    +
    +
    +INT msi_dialog_scale_unit( msi_dialog *dialog, INT val )
    +{
    +    return (dialog->scale * val + 5) / 10;
    +}
    +
    +/*
    + * msi_dialog_get_style
    + *
    + * Extract the {\style} string from the front of the text to display and
    + *  update the pointer.
    + */
    +static LPWSTR msi_dialog_get_style( LPCWSTR *text )
    +{
    +    LPWSTR ret = NULL;
    +    LPCWSTR p = *text, q;
    +    DWORD len;
    +
    +    if( *p++ != '{' )
    +        return ret;
    +    q = strchrW( p, '}' );
    +    if( !q )
    +        return ret;
    +    *text = ++q;
    +    if( *p++ != '\\' )
    +        return ret;
    +    len = q - p;
    +    
    +    ret = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    +    if( !ret )
    +        return ret;
    +    strncpyW( ret, p, len );
    +    ret[len-1] = 0;
    +    return ret;
    +}
    +
    +static UINT msi_dialog_add_font( MSIRECORD *rec, LPVOID param )
    +{
    +    msi_dialog *dialog = param;
    +    msi_font *font;
    +    LPCWSTR face, name;
    +    LOGFONTW lf;
    +    INT style;
    +    HDC hdc;
    +
    +    /* create a font and add it to the list */
    +    name = MSI_RecordGetString( rec, 1 );
    +    font = HeapAlloc( GetProcessHeap(), 0,
    +                      sizeof *font + strlenW( name )*sizeof (WCHAR) );
    +    strcpyW( font->name, name );
    +    font->next = dialog->font_list;
    +    dialog->font_list = font;
    +
    +    memset( &lf, 0, sizeof lf );
    +    face = MSI_RecordGetString( rec, 2 );
    +    lf.lfHeight = MSI_RecordGetInteger( rec, 3 );
    +    style = MSI_RecordGetInteger( rec, 5 );
    +    if( style & msidbTextStyleStyleBitsBold )
    +        lf.lfWeight = FW_BOLD;
    +    if( style & msidbTextStyleStyleBitsItalic )
    +        lf.lfItalic = TRUE;
    +    if( style & msidbTextStyleStyleBitsUnderline )
    +        lf.lfUnderline = TRUE;
    +    if( style & msidbTextStyleStyleBitsStrike )
    +        lf.lfStrikeOut = TRUE;
    +    lstrcpynW( lf.lfFaceName, face, LF_FACESIZE );
    +
    +    /* adjust the height */
    +    hdc = GetDC( dialog->hwnd );
    +    if (hdc)
    +    {
    +        lf.lfHeight = -MulDiv(lf.lfHeight, GetDeviceCaps(hdc, LOGPIXELSY), 72);
    +        ReleaseDC( dialog->hwnd, hdc );
    +    }
    +
    +    font->hfont = CreateFontIndirectW( &lf );
    +
    +    TRACE("Adding font style %s\n", debugstr_w(font->name) );
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static msi_font *msi_dialog_find_font( msi_dialog *dialog, LPCWSTR name )
    +{
    +    msi_font *font;
    +
    +    for( font = dialog->font_list; font; font = font->next )
    +        if( !strcmpW( font->name, name ) )  /* FIXME: case sensitive? */
    +            break;
    +
    +    return font;
    +}
    +
    +static UINT msi_dialog_set_font( msi_dialog *dialog, HWND hwnd, LPCWSTR name )
    +{
    +    msi_font *font;
    +
    +    font = msi_dialog_find_font( dialog, name );
    +    if( font )
    +        SendMessageW( hwnd, WM_SETFONT, (WPARAM) font->hfont, TRUE );
    +    else
    +        ERR("No font entry for %s\n", debugstr_w(name));
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_build_font_list( msi_dialog *dialog )
    +{
    +    static const WCHAR query[] = {
    +      'S','E','L','E','C','T',' ','*',' ',
    +      'F','R','O','M',' ','`','T','e','x','t','S','t','y','l','e','`',' ',0
    +    };
    +    UINT r;
    +    MSIQUERY *view = NULL;
    +
    +    TRACE("dialog %p\n", dialog );
    +
    +    r = MSI_OpenQuery( dialog->package->db, &view, query );
    +    if( r != ERROR_SUCCESS )
    +        return r;
    +
    +    r = MSI_IterateRecords( view, NULL, msi_dialog_add_font, dialog );
    +    msiobj_release( &view->hdr );
    +
    +    return r;
    +}
    +
    +static msi_control *msi_dialog_add_control( msi_dialog *dialog,
    +                MSIRECORD *rec, LPCWSTR szCls, DWORD style )
    +{
    +    DWORD x, y, width, height, attributes;
    +    LPCWSTR text, name;
    +    LPWSTR font = NULL, title = NULL;
    +    msi_control *control = NULL;
    +
    +    style |= WS_CHILD | WS_GROUP;
    +
    +    name = MSI_RecordGetString( rec, 2 );
    +    control = HeapAlloc( GetProcessHeap(), 0,
    +                         sizeof *control + strlenW(name)*sizeof(WCHAR) );
    +    strcpyW( control->name, name );
    +    control->next = dialog->control_list;
    +    dialog->control_list = control;
    +    control->handler = NULL;
    +    control->property = NULL;
    +
    +    x = MSI_RecordGetInteger( rec, 4 );
    +    y = MSI_RecordGetInteger( rec, 5 );
    +    width = MSI_RecordGetInteger( rec, 6 );
    +    height = MSI_RecordGetInteger( rec, 7 );
    +    attributes = MSI_RecordGetInteger( rec, 8 );
    +    text = MSI_RecordGetString( rec, 10 );
    +
    +    TRACE("Dialog %s control %s\n", debugstr_w(dialog->name), debugstr_w(text));
    +
    +    x = msi_dialog_scale_unit( dialog, x );
    +    y = msi_dialog_scale_unit( dialog, y );
    +    width = msi_dialog_scale_unit( dialog, width );
    +    height = msi_dialog_scale_unit( dialog, height );
    +
    +    if( attributes & 1 )
    +        style |= WS_VISIBLE;
    +    if( ~attributes & 2 )
    +        style |= WS_DISABLED;
    +    if( text )
    +    {
    +        font = msi_dialog_get_style( &text );
    +        deformat_string( dialog->package, text, &title );
    +    }
    +    control->hwnd = CreateWindowW( szCls, title, style,
    +                          x, y, width, height, dialog->hwnd, NULL, NULL, NULL );
    +    msi_dialog_set_font( dialog, control->hwnd,
    +                         font ? font : dialog->default_font );
    +    HeapFree( GetProcessHeap(), 0, font );
    +    HeapFree( GetProcessHeap(), 0, title );
    +    return control;
    +}
    +
    +static UINT msi_dialog_text_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    TRACE("%p %p\n", dialog, rec);
    +
    +    msi_dialog_add_control( dialog, rec, szStatic, 0 );
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_button_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    const static WCHAR szButton[] = { 'B','U','T','T','O','N', 0 };
    +    msi_control *control;
    +
    +    TRACE("%p %p\n", dialog, rec);
    +
    +    control = msi_dialog_add_control( dialog, rec, szButton, 0 );
    +    control->handler = msi_dialog_button_handler;
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_checkbox_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    const static WCHAR szButton[] = { 'B','U','T','T','O','N', 0 };
    +    msi_control *control;
    +    LPCWSTR prop;
    +
    +    TRACE("%p %p\n", dialog, rec);
    +
    +    control = msi_dialog_add_control( dialog, rec, szButton,
    +                                      BS_CHECKBOX | BS_MULTILINE );
    +    control->handler = msi_dialog_checkbox_handler;
    +    prop = MSI_RecordGetString( rec, 9 );
    +    if( prop )
    +        control->property = dupstrW( prop );
    +    msi_dialog_checkbox_sync_state( dialog, control );
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_line_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    TRACE("%p %p\n", dialog, rec);
    +
    +    msi_dialog_add_control( dialog, rec, szStatic, SS_ETCHEDHORZ | SS_SUNKEN );
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_scrolltext_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    const static WCHAR szEdit[] = { 'E','D','I','T',0 };
    +
    +    TRACE("%p %p\n", dialog, rec);
    +
    +    msi_dialog_add_control( dialog, rec, szEdit,
    +                 ES_MULTILINE | WS_VSCROLL | ES_READONLY | ES_AUTOVSCROLL );
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_bitmap_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    TRACE("%p %p\n", dialog, rec);
    +
    +    msi_dialog_add_control( dialog, rec, szStatic,
    +                            SS_BITMAP | SS_LEFT | SS_CENTERIMAGE );
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_combo_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    static const WCHAR szCombo[] = { 'C','O','M','B','O','B','O','X',0 };
    +
    +    msi_dialog_add_control( dialog, rec, szCombo,
    +                            SS_BITMAP | SS_LEFT | SS_CENTERIMAGE );
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_edit_control( msi_dialog *dialog, MSIRECORD *rec )
    +{
    +    const static WCHAR szEdit[] = { 'E','D','I','T',0 };
    +    msi_control *control;
    +    LPCWSTR prop;
    +    LPWSTR val;
    +
    +    control = msi_dialog_add_control( dialog, rec, szEdit, 0 );
    +    control->handler = msi_dialog_edit_handler;
    +    prop = MSI_RecordGetString( rec, 9 );
    +    if( prop )
    +        control->property = dupstrW( prop );
    +    val = load_dynamic_property( dialog->package, control->property, NULL );
    +    SetWindowTextW( control->hwnd, val );
    +    HeapFree( GetProcessHeap(), 0, val );
    +    return ERROR_SUCCESS;
    +}
    +
    +static const WCHAR szText[] = { 'T','e','x','t',0 };
    +static const WCHAR szButton[] = { 'P','u','s','h','B','u','t','t','o','n',0 };
    +static const WCHAR szLine[] = { 'L','i','n','e',0 };
    +static const WCHAR szBitmap[] = { 'B','i','t','m','a','p',0 };
    +static const WCHAR szCheckBox[] = { 'C','h','e','c','k','B','o','x',0 };
    +static const WCHAR szScrollableText[] = {
    +    'S','c','r','o','l','l','a','b','l','e','T','e','x','t',0 };
    +static const WCHAR szComboBox[] = { 'C','o','m','b','o','B','o','x',0 };
    +static const WCHAR szEdit[] = { 'E','d','i','t',0 };
    +static const WCHAR szMaskedEdit[] = { 'M','a','s','k','e','d','E','d','i','t',0 };
    +
    +struct control_handler msi_dialog_handler[] =
    +{
    +    { szText, msi_dialog_text_control },
    +    { szButton, msi_dialog_button_control },
    +    { szLine, msi_dialog_line_control },
    +    { szBitmap, msi_dialog_bitmap_control },
    +    { szCheckBox, msi_dialog_checkbox_control },
    +    { szScrollableText, msi_dialog_scrolltext_control },
    +    { szComboBox, msi_dialog_combo_control },
    +    { szEdit, msi_dialog_edit_control },
    +    { szMaskedEdit, msi_dialog_edit_control },
    +};
    +
    +#define NUM_CONTROL_TYPES (sizeof msi_dialog_handler/sizeof msi_dialog_handler[0])
    +
    +static UINT msi_dialog_create_controls( MSIRECORD *rec, LPVOID param )
    +{
    +    msi_dialog *dialog = param;
    +    LPCWSTR control_type;
    +    UINT i;
    +
    +    /* find and call the function that can create this type of control */
    +    control_type = MSI_RecordGetString( rec, 3 );
    +    for( i=0; ipackage;
    +
    +    TRACE("%p %s\n", dialog, debugstr_w(dialog->name) );
    +
    +    /* query the Control table for all the elements of the control */
    +    r = MSI_OpenQuery( package->db, &view, query, dialog->name );
    +    if( r != ERROR_SUCCESS )
    +    {
    +        ERR("query failed for dialog %s\n", debugstr_w(dialog->name));
    +        return ERROR_INVALID_PARAMETER;
    +    }
    +
    +    r = MSI_IterateRecords( view, 0, msi_dialog_create_controls, dialog );
    +    msiobj_release( &view->hdr );
    +
    +    return r;
    +}
    +
    +static msi_control *msi_dialog_find_control( msi_dialog *dialog, LPCWSTR name )
    +{
    +    msi_control *control;
    +
    +    for( control = dialog->control_list; control; control = control->next )
    +        if( !strcmpW( control->name, name ) ) /* FIXME: case sensitive? */
    +            break;
    +    return control;
    +}
    +
    +static msi_control *msi_dialog_find_control_by_hwnd( msi_dialog *dialog, HWND hwnd )
    +{
    +    msi_control *control;
    +
    +    for( control = dialog->control_list; control; control = control->next )
    +        if( hwnd == control->hwnd )
    +            break;
    +    return control;
    +}
    +
    +static UINT msi_dialog_set_control_condition( MSIRECORD *rec, LPVOID param )
    +{
    +    static const WCHAR szHide[] = { 'H','i','d','e',0 };
    +    static const WCHAR szShow[] = { 'S','h','o','w',0 };
    +    static const WCHAR szDisable[] = { 'D','i','s','a','b','l','e',0 };
    +    static const WCHAR szEnable[] = { 'E','n','a','b','l','e',0 };
    +    msi_dialog *dialog = param;
    +    msi_control *control;
    +    LPCWSTR name, action, condition;
    +    UINT r;
    +
    +    name = MSI_RecordGetString( rec, 2 );
    +    action = MSI_RecordGetString( rec, 3 );
    +    condition = MSI_RecordGetString( rec, 4 );
    +    r = MSI_EvaluateConditionW( dialog->package, condition );
    +    control = msi_dialog_find_control( dialog, name );
    +    if( r && control )
    +    {
    +        TRACE("%s control %s\n", debugstr_w(action), debugstr_w(name));
    +
    +        /* FIXME: case sensitive? */
    +        if(!strcmpW(action, szHide))
    +            ShowWindow(control->hwnd, SW_HIDE);
    +        else if(!strcmpW(action, szShow))
    +            ShowWindow(control->hwnd, SW_SHOW);
    +        else if(!strcmpW(action, szDisable))
    +            EnableWindow(control->hwnd, FALSE);
    +        else if(!strcmpW(action, szEnable))
    +            EnableWindow(control->hwnd, TRUE);
    +        else
    +            FIXME("Unhandled action %s\n", debugstr_w(action));
    +    }
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_evaluate_control_conditions( msi_dialog *dialog )
    +{
    +    static const WCHAR query[] = {
    +      'S','E','L','E','C','T',' ','*',' ',
    +      'F','R','O','M',' ',
    +        'C','o','n','t','r','o','l','C','o','n','d','i','t','i','o','n',' ',
    +      'W','H','E','R','E',' ',
    +        '`','D','i','a','l','o','g','_','`',' ','=',' ','\'','%','s','\'',0
    +    };
    +    UINT r;
    +    MSIQUERY *view = NULL;
    +    MSIPACKAGE *package = dialog->package;
    +
    +    TRACE("%p %s\n", dialog, debugstr_w(dialog->name) );
    +
    +    /* query the Control table for all the elements of the control */
    +    r = MSI_OpenQuery( package->db, &view, query, dialog->name );
    +    if( r != ERROR_SUCCESS )
    +    {
    +        ERR("query failed for dialog %s\n", debugstr_w(dialog->name));
    +        return ERROR_INVALID_PARAMETER;
    +    }
    +
    +    r = MSI_IterateRecords( view, 0, msi_dialog_set_control_condition, dialog );
    +    msiobj_release( &view->hdr );
    +
    +    return r;
    +}
    +
    +/* figure out the height of 10 point MS Sans Serif */
    +static INT msi_dialog_get_sans_serif_height( HWND hwnd )
    +{
    +    static const WCHAR szSansSerif[] = {
    +        'M','S',' ','S','a','n','s',' ','S','e','r','i','f',0 };
    +    LOGFONTW lf;
    +    TEXTMETRICW tm;
    +    BOOL r;
    +    LONG height = 0;
    +    HFONT hFont, hOldFont;
    +    HDC hdc;
    +
    +    hdc = GetDC( hwnd );
    +    if (hdc)
    +    {
    +        memset( &lf, 0, sizeof lf );
    +        lf.lfHeight = MulDiv(10, GetDeviceCaps(hdc, LOGPIXELSY), 72);
    +        strcpyW( lf.lfFaceName, szSansSerif );
    +        hFont = CreateFontIndirectW(&lf);
    +        if (hFont)
    +        {
    +            hOldFont = SelectObject( hdc, hFont );
    +            r = GetTextMetricsW( hdc, &tm );
    +            if (r)
    +                height = tm.tmHeight;
    +            SelectObject( hdc, hOldFont );
    +            DeleteObject( hFont );
    +        }
    +        ReleaseDC( hwnd, hdc );
    +    }
    +    return height;
    +}
    +
    +static LRESULT msi_dialog_oncreate( HWND hwnd, LPCREATESTRUCTW cs )
    +{
    +    static const WCHAR query[] = {
    +        'S','E','L','E','C','T',' ','*',' ',
    +        'F','R','O','M',' ','D','i','a','l','o','g',' ',
    +        'W','H','E','R','E',' ',
    +           '`','D','i','a','l','o','g','`',' ','=',' ','\'','%','s','\'',0};
    +    static const WCHAR df[] = {
    +        'D','e','f','a','u','l','t','U','I','F','o','n','t',0 };
    +    msi_dialog *dialog = (msi_dialog*) cs->lpCreateParams;
    +    MSIPACKAGE *package = dialog->package;
    +    MSIQUERY *view = NULL;
    +    MSIRECORD *rec = NULL;
    +    DWORD width, height;
    +    LPCWSTR text;
    +    LPWSTR title = NULL;
    +    UINT r;
    +
    +    TRACE("%p %p\n", dialog, package);
    +
    +    dialog->hwnd = hwnd;
    +    SetWindowLongPtrW( hwnd, GWLP_USERDATA, (LONG_PTR) dialog );
    +
    +    /* fetch the associated record from the Dialog table */
    +    r = MSI_OpenQuery( package->db, &view, query, dialog->name );
    +    if( r != ERROR_SUCCESS )
    +    {
    +        ERR("query failed for dialog %s\n", debugstr_w(dialog->name));
    +        return -1;
    +    }
    +    MSI_ViewExecute( view, NULL );
    +    MSI_ViewFetch( view, &rec );
    +    MSI_ViewClose( view );
    +    msiobj_release( &view->hdr );
    +
    +    if( !rec )
    +    {
    +        TRACE("No record found for dialog %s\n", debugstr_w(dialog->name));
    +        return -1;
    +    }
    +
    +    dialog->scale = msi_dialog_get_sans_serif_height(dialog->hwnd);
    +
    +    width = MSI_RecordGetInteger( rec, 4 );
    +    height = MSI_RecordGetInteger( rec, 5 );
    +    dialog->attributes = MSI_RecordGetInteger( rec, 6 );
    +    text = MSI_RecordGetString( rec, 7 );
    +
    +    width = msi_dialog_scale_unit( dialog, width );
    +    height = msi_dialog_scale_unit( dialog, height ) + 25; /* FIXME */
    +
    +    dialog->default_font = load_dynamic_property( dialog->package, df, NULL );
    +
    +    deformat_string( dialog->package, text, &title );
    +    SetWindowTextW( hwnd, title );
    +    SetWindowPos( hwnd, 0, 0, 0, width, height,
    +                  SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOREDRAW );
    +
    +    HeapFree( GetProcessHeap(), 0, title );
    +    msiobj_release( &rec->hdr );
    +
    +    msi_dialog_build_font_list( dialog );
    +    msi_dialog_fill_controls( dialog );
    +    msi_dialog_evaluate_control_conditions( dialog );
    +
    +    return 0;
    +}
    +
    +static UINT msi_dialog_send_event( msi_dialog *dialog, LPCWSTR event, LPCWSTR arg )
    +{
    +    LPWSTR event_fmt = NULL, arg_fmt = NULL;
    +
    +    TRACE("Sending control event %s %s\n", debugstr_w(event), debugstr_w(arg));
    +
    +    deformat_string( dialog->package, event, &event_fmt );
    +    deformat_string( dialog->package, arg, &arg_fmt );
    +
    +    dialog->event_handler( dialog->package, event_fmt, arg_fmt, dialog );
    +
    +    HeapFree( GetProcessHeap(), 0, event_fmt );
    +    HeapFree( GetProcessHeap(), 0, arg_fmt );
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_set_property( msi_dialog *dialog, LPCWSTR event, LPCWSTR arg )
    +{
    +    static const WCHAR szNullArg[] = { '{','}',0 };
    +    LPWSTR p, prop, arg_fmt = NULL;
    +    UINT len;
    +
    +    len = strlenW(event);
    +    prop = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR));
    +    strcpyW( prop, &event[1] );
    +    p = strchrW( prop, ']' );
    +    if( p && p[1] == 0 )
    +    {
    +        *p = 0;
    +        if( strcmpW( szNullArg, arg ) )
    +            deformat_string( dialog->package, arg, &arg_fmt );
    +        MSI_SetPropertyW( dialog->package, prop, arg_fmt );
    +    }
    +    else
    +        ERR("Badly formatted property string - what happens?\n");
    +    HeapFree( GetProcessHeap(), 0, prop );
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_control_event( MSIRECORD *rec, LPVOID param )
    +{
    +    msi_dialog *dialog = param;
    +    LPCWSTR condition, event, arg;
    +    UINT r;
    +
    +    condition = MSI_RecordGetString( rec, 5 );
    +    r = MSI_EvaluateConditionW( dialog->package, condition );
    +    if( r )
    +    {
    +        event = MSI_RecordGetString( rec, 3 );
    +        arg = MSI_RecordGetString( rec, 4 );
    +        if( event[0] == '[' )
    +            msi_dialog_set_property( dialog, event, arg );
    +        else
    +            msi_dialog_send_event( dialog, event, arg );
    +    }
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static UINT msi_dialog_button_handler( msi_dialog *dialog,
    +                                       msi_control *control, WPARAM param )
    +{
    +    static const WCHAR query[] = {
    +      'S','E','L','E','C','T',' ','*',' ',
    +      'F','R','O','M',' ','C','o','n','t','r','o','l','E','v','e','n','t',' ',
    +      'W','H','E','R','E',' ',
    +         '`','D','i','a','l','o','g','_','`',' ','=',' ','\'','%','s','\'',' ',
    +      'A','N','D',' ',
    +         '`','C','o','n','t','r','o','l','_','`',' ','=',' ','\'','%','s','\'',' ',
    +      'O','R','D','E','R',' ','B','Y',' ','`','O','r','d','e','r','i','n','g','`',0
    +    };
    +    MSIQUERY *view = NULL;
    +    UINT r;
    +
    +    if( HIWORD(param) != BN_CLICKED )
    +        return ERROR_SUCCESS;
    +
    +    r = MSI_OpenQuery( dialog->package->db, &view, query,
    +                       dialog->name, control->name );
    +    if( r != ERROR_SUCCESS )
    +    {
    +        ERR("query failed\n");
    +        return 0;
    +    }
    +
    +    r = MSI_IterateRecords( view, 0, msi_dialog_control_event, dialog );
    +    msiobj_release( &view->hdr );
    +
    +    return r;
    +}
    +
    +static UINT msi_dialog_get_checkbox_state( msi_dialog *dialog,
    +                msi_control *control )
    +{
    +    WCHAR state[2] = { 0 };
    +    DWORD sz = 2;
    +
    +    MSI_GetPropertyW( dialog->package, control->property, state, &sz );
    +    return atoiW( state ) ? 1 : 0;
    +}
    +
    +static void msi_dialog_set_checkbox_state( msi_dialog *dialog,
    +                msi_control *control, UINT state )
    +{
    +    WCHAR szState[2] = { '0', 0 };
    +
    +    if( state )
    +        szState[0]++;
    +    MSI_SetPropertyW( dialog->package, control->property, szState );
    +}
    +
    +static void msi_dialog_checkbox_sync_state( msi_dialog *dialog,
    +                msi_control *control )
    +{
    +    UINT state;
    +
    +    state = msi_dialog_get_checkbox_state( dialog, control );
    +    SendMessageW( control->hwnd, BM_SETCHECK,
    +                  state ? BST_CHECKED : BST_UNCHECKED, 0 );
    +}
    +
    +static UINT msi_dialog_checkbox_handler( msi_dialog *dialog,
    +                msi_control *control, WPARAM param )
    +{
    +    UINT state;
    +
    +    if( HIWORD(param) != BN_CLICKED )
    +        return ERROR_SUCCESS;
    +
    +    TRACE("clicked checkbox %s, set %s\n", debugstr_w(control->name),
    +          debugstr_w(control->property));
    +
    +    state = msi_dialog_get_checkbox_state( dialog, control );
    +    state = state ? 0 : 1;
    +    msi_dialog_set_checkbox_state( dialog, control, state );
    +    msi_dialog_checkbox_sync_state( dialog, control );
    +
    +    return msi_dialog_button_handler( dialog, control, param );
    +}
    +
    +static UINT msi_dialog_edit_handler( msi_dialog *dialog,
    +                msi_control *control, WPARAM param )
    +{
    +    UINT sz, r;
    +    LPWSTR buf;
    +
    +    if( HIWORD(param) != EN_CHANGE )
    +        return ERROR_SUCCESS;
    +
    +    TRACE("edit %s contents changed, set %s\n", debugstr_w(control->name),
    +          debugstr_w(control->property));
    +
    +    sz = 0x20;
    +    buf = HeapAlloc( GetProcessHeap(), 0, sz*sizeof(WCHAR) );
    +    while( buf )
    +    {
    +        r = GetWindowTextW( control->hwnd, buf, sz );
    +        if( r < (sz-1) )
    +            break;
    +            sz *= 2;
    +        buf = HeapReAlloc( GetProcessHeap(), 0, buf, sz*sizeof(WCHAR) );
    +    }
    +
    +    MSI_SetPropertyW( dialog->package, control->property, buf );
    +
    +    HeapFree( GetProcessHeap(), 0, buf );
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +static LRESULT msi_dialog_oncommand( msi_dialog *dialog, WPARAM param, HWND hwnd )
    +{
    +    msi_control *control;
    +
    +    TRACE("%p %p %08x\n", dialog, hwnd, param);
    +
    +    control = msi_dialog_find_control_by_hwnd( dialog, hwnd );
    +    if( control )
    +    {
    +        if( control->handler )
    +        {
    +            control->handler( dialog, control, param );
    +            msi_dialog_evaluate_control_conditions( dialog );
    +        }
    +    }
    +    else
    +        ERR("button click from nowhere\n");
    +    return 0;
    +}
    +
    +static LRESULT WINAPI MSIDialog_WndProc( HWND hwnd, UINT msg,
    +                WPARAM wParam, LPARAM lParam )
    +{
    +    msi_dialog *dialog = (LPVOID) GetWindowLongPtrW( hwnd, GWLP_USERDATA );
    +
    +    switch (msg)
    +    {
    +    case WM_CREATE:
    +        return msi_dialog_oncreate( hwnd, (LPCREATESTRUCTW)lParam );
    +
    +    case WM_COMMAND:
    +        return msi_dialog_oncommand( dialog, wParam, (HWND)lParam );
    +
    +    case WM_DESTROY:
    +        dialog->hwnd = NULL;
    +        return 0;
    +    }
    +    return DefWindowProcW(hwnd, msg, wParam, lParam);
    +}
    +
    +/* functions that interface to other modules within MSI */
    +
    +msi_dialog *msi_dialog_create( MSIPACKAGE* package, LPCWSTR szDialogName,
    +                                msi_dialog_event_handler event_handler )
    +{
    +    msi_dialog *dialog;
    +    HWND hwnd;
    +
    +    TRACE("%p %s\n", package, debugstr_w(szDialogName));
    +
    +    /* allocate the structure for the dialog to use */
    +    dialog = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
    +                        sizeof *dialog + sizeof(WCHAR)*strlenW(szDialogName) );
    +    if( !dialog )
    +        return NULL;
    +    strcpyW( dialog->name, szDialogName );
    +    dialog->package = package;
    +    dialog->event_handler = event_handler;
    +
    +    /* create the dialog window, don't show it yet */
    +    hwnd = CreateWindowW( szMsiDialogClass, szDialogName, WS_OVERLAPPEDWINDOW,
    +                     CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    +                     NULL, NULL, NULL, dialog );
    +    if( !hwnd )
    +    {
    +        ERR("Failed to create dialog %s\n", debugstr_w( szDialogName ));
    +        msi_dialog_destroy( dialog );
    +        return NULL;
    +    }
    +
    +    return dialog;
    +}
    +
    +void msi_dialog_end_dialog( msi_dialog *dialog )
    +{
    +    dialog->finished = 1;
    +}
    +
    +UINT msi_dialog_run_message_loop( msi_dialog *dialog )
    +{
    +    MSG msg;
    +
    +    if( dialog->attributes & msidbDialogAttributesVisible )
    +    {
    +        ShowWindow( dialog->hwnd, SW_SHOW );
    +        UpdateWindow( dialog->hwnd );
    +    }
    +
    +    if( dialog->attributes & msidbDialogAttributesModal )
    +    {
    +        while( !dialog->finished && GetMessageW( &msg, 0, 0, 0 ) )
    +        {
    +            TranslateMessage( &msg );
    +            DispatchMessageW( &msg );
    +        }
    +    }
    +    else
    +        return ERROR_IO_PENDING;
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +void msi_dialog_check_messages( msi_dialog *dialog, HANDLE handle )
    +{
    +    MSG msg;
    +    DWORD r;
    +
    +    do
    +    {
    +        while( PeekMessageW( &msg, 0, 0, 0, PM_REMOVE ) )
    +        {
    +            TranslateMessage( &msg );
    +            DispatchMessageW( &msg );
    +        }
    +        if( !handle )
    +            break;
    +        r = MsgWaitForMultipleObjects( 1, &handle, 0, INFINITE, QS_ALLEVENTS );
    +    }
    +    while( WAIT_OBJECT_0 != r );
    +}
    +
    +void msi_dialog_do_preview( msi_dialog *dialog )
    +{
    +    dialog->attributes |= msidbDialogAttributesVisible;
    +    dialog->attributes &= ~msidbDialogAttributesModal;
    +    msi_dialog_run_message_loop( dialog );
    +}
    +
    +void msi_dialog_destroy( msi_dialog *dialog )
    +{
    +    if( dialog->hwnd )
    +        ShowWindow( dialog->hwnd, SW_HIDE );
    +    
    +    /* destroy the list of controls */
    +    while( dialog->control_list )
    +    {
    +        msi_control *t = dialog->control_list;
    +        dialog->control_list = t->next;
    +        /* leave dialog->hwnd - destroying parent destroys child windows */
    +        HeapFree( GetProcessHeap(), 0, t->property );
    +        HeapFree( GetProcessHeap(), 0, t );
    +    }
    +
    +    /* destroy the list of fonts */
    +    while( dialog->font_list )
    +    {
    +        msi_font *t = dialog->font_list;
    +        dialog->font_list = t->next;
    +        DeleteObject( t->hfont );
    +        HeapFree( GetProcessHeap(), 0, t );
    +    }
    +    HeapFree( GetProcessHeap(), 0, dialog->default_font );
    +
    +    if( dialog->hwnd )
    +        DestroyWindow( dialog->hwnd );
    +
    +    dialog->package = NULL;
    +    HeapFree( GetProcessHeap(), 0, dialog );
    +}
    +
    +void msi_dialog_register_class( void )
    +{
    +    WNDCLASSW cls;
    +
    +    ZeroMemory( &cls, sizeof cls );
    +    cls.lpfnWndProc   = MSIDialog_WndProc;
    +    cls.hInstance     = NULL;
    +    cls.hIcon         = LoadIconW(0, (LPWSTR)IDI_APPLICATION);
    +    cls.hCursor       = LoadCursorW(0, (LPWSTR)IDC_ARROW);
    +    cls.hbrBackground = (HBRUSH)(COLOR_WINDOW);
    +    cls.lpszMenuName  = NULL;
    +    cls.lpszClassName = szMsiDialogClass;
    +
    +    RegisterClassW( &cls );
    +}
    +
    +void msi_dialog_unregister_class( void )
    +{
    +    UnregisterClassW( szMsiDialogClass, NULL );
    +}
    diff --git a/reactos/lib/msi/distinct.c b/reactos/lib/msi/distinct.c
    index c1a463d7666..c74759ca8f4 100644
    --- a/reactos/lib/msi/distinct.c
    +++ b/reactos/lib/msi/distinct.c
    @@ -178,8 +178,7 @@ static UINT DISTINCT_close( struct tagMSIVIEW *view )
         if( !dv->table )
              return ERROR_FUNCTION_FAILED;
     
    -    if( dv->translation )
    -        HeapFree( GetProcessHeap(), 0, dv->translation );
    +    HeapFree( GetProcessHeap(), 0, dv->translation );
         dv->translation = NULL;
         dv->row_count = 0;
     
    @@ -218,16 +217,17 @@ static UINT DISTINCT_get_column_info( struct tagMSIVIEW *view,
         return dv->table->ops->get_column_info( dv->table, n, name, type );
     }
     
    -static UINT DISTINCT_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT DISTINCT_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
    +                MSIRECORD *rec )
     {
         MSIDISTINCTVIEW *dv = (MSIDISTINCTVIEW*)view;
     
    -    TRACE("%p %d %ld\n", dv, eModifyMode, hrec );
    +    TRACE("%p %d %p\n", dv, eModifyMode, rec );
     
         if( !dv->table )
              return ERROR_FUNCTION_FAILED;
     
    -    return dv->table->ops->modify( dv->table, eModifyMode, hrec );
    +    return dv->table->ops->modify( dv->table, eModifyMode, rec );
     }
     
     static UINT DISTINCT_delete( struct tagMSIVIEW *view )
    @@ -239,8 +239,7 @@ static UINT DISTINCT_delete( struct tagMSIVIEW *view )
         if( dv->table )
             dv->table->ops->delete( dv->table );
     
    -    if( dv->translation )
    -        HeapFree( GetProcessHeap(), 0, dv->translation );
    +    HeapFree( GetProcessHeap(), 0, dv->translation );
         msiobj_release( &dv->db->hdr );
         HeapFree( GetProcessHeap(), 0, dv );
     
    diff --git a/reactos/lib/msi/format.c b/reactos/lib/msi/format.c
    new file mode 100644
    index 00000000000..a5a9d2b778b
    --- /dev/null
    +++ b/reactos/lib/msi/format.c
    @@ -0,0 +1,583 @@
    +/*
    + * Implementation of the Microsoft Installer (msi.dll)
    + *
    + * Copyright 2005 Mike McCormack for CodeWeavers
    + * Copyright 2005 Aric Stewart for CodeWeavers
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +/*
    +http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/msiformatrecord.asp 
    + */
    +
    +#include 
    +#include 
    +
    +#define COBJMACROS
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "winerror.h"
    +#include "winreg.h"
    +#include "wine/debug.h"
    +#include "fdi.h"
    +#include "msi.h"
    +#include "msiquery.h"
    +#include "fcntl.h"
    +#include "objbase.h"
    +#include "objidl.h"
    +#include "msipriv.h"
    +#include "winnls.h"
    +#include "winuser.h"
    +#include "shlobj.h"
    +#include "wine/unicode.h"
    +#include "ver.h"
    +#include "action.h"
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(msi);
    +
    +
    +LPWSTR build_default_format(MSIRECORD* record)
    +{
    +    int i;  
    +    int count;
    +    LPWSTR rc;
    +    static const WCHAR fmt[] = {'%','i',':',' ','[','%','i',']',' ',0};
    +    WCHAR buf[11];
    +
    +    count = MSI_RecordGetFieldCount(record);
    +
    +    rc = HeapAlloc(GetProcessHeap(),0,(11*count)*sizeof(WCHAR));
    +    rc[0] = 0;
    +    for (i = 1; i <= count; i++)
    +    {
    +        sprintfW(buf,fmt,i,i); 
    +        strcatW(rc,buf);
    +    }
    +    return rc;
    +}
    +
    +static const WCHAR* scanW(LPCWSTR buf, WCHAR token, DWORD len)
    +{
    +    DWORD i;
    +    for (i = 0; i < len; i++)
    +        if (buf[i] == token)
    +            return &buf[i];
    +    return NULL;
    +}
    +
    +/* break out helper functions for deformating */
    +static LPWSTR deformat_component(MSIPACKAGE* package, LPCWSTR key, DWORD* sz)
    +{
    +    LPWSTR value = NULL;
    +    INT index;
    +
    +    *sz = 0;
    +    if (!package)
    +        return NULL;
    +
    +    ERR("POORLY HANDLED DEFORMAT.. [$componentkey] \n");
    +    index = get_loaded_component(package,key);
    +    if (index >= 0)
    +    {
    +        value = resolve_folder(package, package->components[index].Directory, 
    +                                       FALSE, FALSE, NULL);
    +        *sz = (strlenW(value)) * sizeof(WCHAR);
    +    }
    +
    +    return value;
    +}
    +
    +static LPWSTR deformat_file(MSIPACKAGE* package, LPCWSTR key, DWORD* sz)
    +{
    +    LPWSTR value = NULL;
    +    INT index;
    +
    +    *sz = 0;
    +
    +    if (!package)
    +        return NULL;
    +
    +    index = get_loaded_file(package,key);
    +    if (index >=0)
    +    {
    +        value = dupstrW(package->files[index].TargetPath);
    +        *sz = (strlenW(value)) * sizeof(WCHAR);
    +    }
    +
    +    return value;
    +}
    +
    +static LPWSTR deformat_environment(MSIPACKAGE* package, LPCWSTR key, 
    +                                   DWORD* chunk)
    +{
    +    LPWSTR value = NULL;
    +    DWORD sz;
    +
    +    sz  = GetEnvironmentVariableW(key,NULL,0);
    +    if (sz > 0)
    +    {
    +        sz++;
    +        value = HeapAlloc(GetProcessHeap(),0,sz * sizeof(WCHAR));
    +        GetEnvironmentVariableW(&key[1],value,sz);
    +        *chunk = (strlenW(value)) * sizeof(WCHAR);
    +    }
    +    else
    +    {
    +        ERR("Unknown environment variable\n");
    +        *chunk = 0;
    +        value = NULL;
    +    }
    +    return value;
    +}
    +
    + 
    +static LPWSTR deformat_NULL(DWORD* chunk)
    +{
    +    LPWSTR value;
    +
    +    value = HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*2);
    +    value[0] =  0;
    +    *chunk = sizeof(WCHAR);
    +    return value;
    +}
    +
    +static LPWSTR deformat_escape(LPCWSTR key, DWORD* chunk)
    +{
    +    LPWSTR value;
    +
    +    value = HeapAlloc(GetProcessHeap(),0,sizeof(WCHAR)*2);
    +    value[0] =  key[0];
    +    *chunk = sizeof(WCHAR);
    +
    +    return value;
    +}
    +
    +
    +static BOOL is_key_number(LPCWSTR key)
    +{
    +    INT index = 0;
    +    if (key[0] == 0)
    +        return FALSE;
    +
    +    while (isdigitW(key[index])) index++;
    +    if (key[index] == 0)
    +        return TRUE;
    +    else
    +        return FALSE;
    +}
    +
    +static LPWSTR deformat_index(MSIRECORD* record, LPCWSTR key, DWORD* chunk )
    +{
    +    INT index;
    +    LPWSTR value; 
    +
    +    index = atoiW(key);
    +    TRACE("record index %i\n",index);
    +    value = load_dynamic_stringW(record,index);
    +    if (value)
    +        *chunk = strlenW(value) * sizeof(WCHAR);
    +    else
    +    {
    +        value = NULL;
    +        *chunk = 0;
    +    }
    +    return value;
    +}
    +
    +static LPWSTR deformat_property(MSIPACKAGE* package, LPCWSTR key, DWORD* chunk)
    +{
    +    UINT rc;
    +    LPWSTR value;
    +
    +    if (!package)
    +        return NULL;
    +
    +    value = load_dynamic_property(package,key, &rc);
    +
    +    if (rc == ERROR_SUCCESS)
    +        *chunk = (strlenW(value)) * sizeof(WCHAR);
    +
    +    return value;
    +}
    +
    +static BOOL find_next_outermost_key(LPCWSTR source, DWORD len_remaining,
    +                                    LPWSTR *key, LPCWSTR *mark, LPCWSTR* mark2, 
    +                                    BOOL *nested)
    +{
    +    INT count = 0;
    +    INT total_count = 0;
    +    int i;
    +
    +    *mark = scanW(source,'[',len_remaining);
    +    if (!*mark)
    +        return FALSE;
    +
    +    count = 1;
    +    total_count = 1;
    +    *nested = FALSE;
    +    for (i = 1; (*mark - source) + i < len_remaining && count > 0; i++)
    +    {
    +        if ((*mark)[i] == '[') 
    +        {
    +            count ++;
    +            total_count ++;
    +            *nested = TRUE;
    +        }
    +        else if ((*mark)[i] == ']')
    +        {
    +            count --;
    +        }
    +    }
    +
    +    if (count > 0)
    +        return FALSE;
    +
    +    *mark2 = &(*mark)[i-1]; 
    +
    +    i = *mark2 - *mark;
    +    *key = HeapAlloc(GetProcessHeap(),0,i*sizeof(WCHAR));
    +    /* do not have the [] in the key */
    +    i -= 1;
    +    strncpyW(*key,&(*mark)[1],i);
    +    (*key)[i] = 0;
    +
    +    TRACE("Found Key %s\n",debugstr_w(*key));
    +    return TRUE;
    +}
    +
    +
    +/*
    + * len is in WCHARs
    + * return is also in WCHARs
    + */
    +static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr, 
    +                                     WCHAR** data, DWORD len, MSIRECORD* record)
    +{
    +    LPCWSTR mark = NULL;
    +    LPCWSTR mark2 = NULL;
    +    DWORD size=0;
    +    DWORD chunk=0;
    +    LPWSTR key;
    +    LPWSTR value = NULL;
    +    DWORD sz;
    +    LPBYTE newdata = NULL;
    +    const WCHAR* progress = NULL;
    +    BOOL nested;
    +
    +    if (ptr==NULL)
    +    {
    +        TRACE("Deformatting NULL string\n");
    +        *data = NULL;
    +        return 0;
    +    }
    +
    +    TRACE("Starting with %s\n",debugstr_w(ptr));
    +
    +    /* scan for special characters... fast exit */
    +    if (!scanW(ptr,'[',len) || (scanW(ptr,'[',len) && !scanW(ptr,']',len)))
    +    {
    +        /* not formatted */
    +        *data = HeapAlloc(GetProcessHeap(),0,(len*sizeof(WCHAR)));
    +        memcpy(*data,ptr,len*sizeof(WCHAR));
    +        TRACE("Returning %s\n",debugstr_w(*data));
    +        return len;
    +    }
    +  
    +    progress = ptr;
    +
    +    while (progress - ptr < len)
    +    {
    +        /* formatted string located */
    +        if (!find_next_outermost_key(progress, len - (progress - ptr), &key,
    +                                     &mark, &mark2, &nested))
    +        {
    +            LPBYTE nd2;
    +
    +            TRACE("after value %s .. %s\n",debugstr_w((LPWSTR)newdata),
    +                                       debugstr_w(mark));
    +            chunk = (len - (progress - ptr)) * sizeof(WCHAR);
    +            TRACE("after chunk is %li + %li\n",size,chunk);
    +            if (size)
    +                nd2 = HeapReAlloc(GetProcessHeap(),0,newdata,(size+chunk));
    +            else
    +                nd2 = HeapAlloc(GetProcessHeap(),0,chunk);
    +
    +            newdata = nd2;
    +            memcpy(&newdata[size],progress,chunk);
    +            size+=chunk;
    +            break;
    +        }
    +
    +        if (mark != progress)
    +        {
    +            LPBYTE tgt;
    +            DWORD old_size = size;
    +            INT cnt = (mark - progress);
    +            TRACE("%i  (%i) characters before marker\n",cnt,(mark-progress));
    +            size += cnt * sizeof(WCHAR);
    +            if (!old_size)
    +                tgt = HeapAlloc(GetProcessHeap(),0,size);
    +            else
    +                tgt = HeapReAlloc(GetProcessHeap(),0,newdata,size);
    +            newdata  = tgt;
    +            memcpy(&newdata[old_size],progress,(cnt * sizeof(WCHAR)));  
    +        }
    +
    +        progress = mark;
    +
    +        if (nested)
    +        {
    +            TRACE("Nested key... %s\n",debugstr_w(key));
    +            deformat_string_internal(package, key, &value, strlenW(key)+1,
    +                                     record);
    +
    +            HeapFree(GetProcessHeap(),0,key);
    +            key = value;
    +        }
    +
    +        TRACE("Current %s .. %s\n",debugstr_w((LPWSTR)newdata),debugstr_w(key));
    +
    +        if (!package)
    +        {
    +            /* only deformat number indexs */
    +            if (is_key_number(key))
    +                value = deformat_index(record,key,&chunk);  
    +            else
    +            {
    +                chunk = (strlenW(key) + 2)*sizeof(WCHAR);
    +                value = HeapAlloc(GetProcessHeap(),0,chunk);
    +                value[0] = '[';
    +                memcpy(&value[1],key,strlenW(key)*sizeof(WCHAR));
    +                value[strlenW(key)+1] = ']';
    +            }
    +        }
    +        else
    +        {
    +            sz = 0;
    +            switch (key[0])
    +            {
    +                case '~':
    +                    value = deformat_NULL(&chunk);
    +                break;
    +                case '$':
    +                    value = deformat_component(package,&key[1],&chunk);
    +                break;
    +                case '#':
    +                case '!': /* should be short path */
    +                    value = deformat_file(package,&key[1], &chunk);
    +                break;
    +                case '\\':
    +                    value = deformat_escape(&key[1],&chunk);
    +                break;
    +                case '%':
    +                    value = deformat_environment(package,&key[1],&chunk);
    +                break;
    +                default:
    +                    if (is_key_number(key))
    +                        value = deformat_index(record,key,&chunk);
    +                    else
    +                        value = deformat_property(package,key,&chunk);
    +                break;      
    +            }
    +        }
    +
    +        HeapFree(GetProcessHeap(),0,key);
    +
    +        if (value!=NULL)
    +        {
    +            LPBYTE nd2;
    +            TRACE("value %s, chunk %li size %li\n",debugstr_w((LPWSTR)value),
    +                    chunk, size);
    +            if (size)
    +                nd2= HeapReAlloc(GetProcessHeap(),0,newdata,(size + chunk));
    +            else
    +                nd2= HeapAlloc(GetProcessHeap(),0,chunk);
    +            newdata = nd2;
    +            memcpy(&newdata[size],value,chunk);
    +            size+=chunk;   
    +            HeapFree(GetProcessHeap(),0,value);
    +        }
    +
    +        progress = mark2+1;
    +    }
    +
    +    TRACE("after everything %s\n",debugstr_w((LPWSTR)newdata));
    +
    +    *data = (LPWSTR)newdata;
    +    return size / sizeof(WCHAR);
    +}
    +
    +
    +UINT MSI_FormatRecordW( MSIPACKAGE* package, MSIRECORD* record, LPWSTR buffer,
    +                        DWORD *size )
    +{
    +    LPWSTR deformated;
    +    LPWSTR rec;
    +    DWORD len;
    +    UINT rc = ERROR_INVALID_PARAMETER;
    +
    +    TRACE("%p %p %p %li\n",package, record ,buffer, *size);
    +
    +    rec = load_dynamic_stringW(record,0);
    +    if (!rec)
    +        rec = build_default_format(record);
    +
    +    TRACE("(%s)\n",debugstr_w(rec));
    +
    +    len = deformat_string_internal(package,rec,&deformated,strlenW(rec),
    +                                   record);
    +
    +    if (buffer)
    +    {
    +        if (*size>len)
    +        {
    +            memcpy(buffer,deformated,len*sizeof(WCHAR));
    +            rc = ERROR_SUCCESS;
    +            buffer[len] = 0;
    +        }
    +        else
    +        {
    +            if (*size > 0)
    +            {
    +                memcpy(buffer,deformated,(*size)*sizeof(WCHAR));
    +                buffer[(*size)-1] = 0;
    +            }
    +            rc = ERROR_MORE_DATA;
    +        }
    +    }
    +    else
    +        rc = ERROR_SUCCESS;
    +
    +    *size = len;
    +
    +    HeapFree(GetProcessHeap(),0,rec);
    +    HeapFree(GetProcessHeap(),0,deformated);
    +    return rc;
    +}
    +
    +UINT MSI_FormatRecordA( MSIPACKAGE* package, MSIRECORD* record, LPSTR buffer,
    +                        DWORD *size )
    +{
    +    LPWSTR deformated;
    +    LPWSTR rec;
    +    DWORD len,lenA;
    +    UINT rc = ERROR_INVALID_PARAMETER;
    +
    +    TRACE("%p %p %p %li\n",package, record ,buffer, *size);
    +
    +    rec = load_dynamic_stringW(record,0);
    +    if (!rec)
    +        rec = build_default_format(record);
    +
    +    TRACE("(%s)\n",debugstr_w(rec));
    +
    +    len = deformat_string_internal(package,rec,&deformated,strlenW(rec),
    +                                   record);
    +    lenA = WideCharToMultiByte(CP_ACP,0,deformated,len,NULL,0,NULL,NULL);
    +
    +    if (buffer)
    +    {
    +        WideCharToMultiByte(CP_ACP,0,deformated,len,buffer,*size,NULL, NULL);
    +        if (*size>lenA)
    +        {
    +            rc = ERROR_SUCCESS;
    +            buffer[lenA] = 0;
    +        }
    +        else
    +        {
    +            rc = ERROR_MORE_DATA;
    +            buffer[(*size)-1] = 0;    
    +        }
    +    }
    +    else
    +        rc = ERROR_SUCCESS;
    +
    +    *size = lenA;
    +
    +    HeapFree(GetProcessHeap(),0,rec);
    +    HeapFree(GetProcessHeap(),0,deformated);
    +    return rc;
    +}
    +
    +
    +UINT WINAPI MsiFormatRecordW( MSIHANDLE hInstall, MSIHANDLE hRecord, 
    +                              LPWSTR szResult, DWORD *sz )
    +{
    +    UINT r = ERROR_INVALID_HANDLE;
    +    MSIPACKAGE *package;
    +    MSIRECORD *record;
    +
    +    TRACE("%ld %ld %p %p\n", hInstall, hRecord, szResult, sz);
    +
    +    record = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
    +
    +    if (!record)
    +        return ERROR_INVALID_HANDLE;
    +    if (!sz)
    +    {
    +        msiobj_release( &record->hdr );
    +        if (szResult)
    +            return ERROR_INVALID_PARAMETER;
    +        else
    +            return ERROR_SUCCESS;
    +    }
    +
    +    package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
    +
    +    if( record )
    +    {
    +        r = MSI_FormatRecordW( package, record, szResult, sz );
    +        msiobj_release( &record->hdr );
    +    }
    +    if (package)
    +        msiobj_release( &package->hdr );
    +    return r;
    +}
    +
    +UINT WINAPI MsiFormatRecordA( MSIHANDLE hInstall, MSIHANDLE hRecord,
    +                              LPSTR szResult, DWORD *sz )
    +{
    +    UINT r = ERROR_INVALID_HANDLE;
    +    MSIPACKAGE *package = NULL;
    +    MSIRECORD *record = NULL;
    +
    +    TRACE("%ld %ld %p %p\n", hInstall, hRecord, szResult, sz);
    +
    +    record = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
    +
    +    if (!record)
    +        return ERROR_INVALID_HANDLE;
    +    if (!sz)
    +    {
    +        msiobj_release( &record->hdr );
    +        if (szResult)
    +            return ERROR_INVALID_PARAMETER;
    +        else
    +            return ERROR_SUCCESS;
    +    }
    +
    +    package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
    +
    +    if( record )
    +    {
    +        r = MSI_FormatRecordA( package, record, szResult, sz );
    +        msiobj_release( &record->hdr );
    +    }
    +    if (package)
    +        msiobj_release( &package->hdr );
    +    return r;
    +}
    diff --git a/reactos/lib/msi/handle.c b/reactos/lib/msi/handle.c
    index bd33099c1f0..281a16c0325 100644
    --- a/reactos/lib/msi/handle.c
    +++ b/reactos/lib/msi/handle.c
    @@ -157,7 +157,7 @@ void msiobj_addref( MSIOBJECTHDR *info )
             return;
         }
     
    -    info->refcount++;
    +    InterlockedIncrement(&info->refcount);
     }
     
     void msiobj_lock( MSIOBJECTHDR *info )
    @@ -185,12 +185,12 @@ int msiobj_release( MSIOBJECTHDR *info )
             return -1;
         }
     
    -    ret = info->refcount--;
    -    if (info->refcount == 0)
    +    ret = InterlockedDecrement( &info->refcount );
    +    if( ret==0 )
         {
    -    if( info->destructor )
    +        if( info->destructor )
                 info->destructor( info );
    -    HeapFree( GetProcessHeap(), 0, info );
    +        HeapFree( GetProcessHeap(), 0, info );
             TRACE("object %p destroyed\n", info);
         }
     
    diff --git a/reactos/lib/msi/insert.c b/reactos/lib/msi/insert.c
    index f589be410c5..40dba1a9d4f 100644
    --- a/reactos/lib/msi/insert.c
    +++ b/reactos/lib/msi/insert.c
    @@ -44,7 +44,7 @@ typedef struct tagMSIINSERTVIEW
         MSIDATABASE     *db;
         BOOL             bIsTemp;
         MSIVIEW         *sv;
    -    value_list      *vals;   /* looks like these may be ignored... */
    +    value_list      *vals;
     } MSIINSERTVIEW;
     
     static UINT INSERT_fetch_int( struct tagMSIVIEW *view, UINT row, UINT col, UINT *val )
    @@ -56,11 +56,62 @@ static UINT INSERT_fetch_int( struct tagMSIVIEW *view, UINT row, UINT col, UINT
         return ERROR_FUNCTION_FAILED;
     }
     
    +/*
    + * INSERT_merge_record
    + *
    + * Merge a value_list and a record to create a second record.
    + * Replace wildcard entries in the valuelist with values from the record
    + */
    +static MSIRECORD *INSERT_merge_record( UINT fields, value_list *vl, MSIRECORD *rec )
    +{
    +    MSIRECORD *merged;
    +    DWORD wildcard_count = 1, i;
    +    const WCHAR *str;
    +
    +    merged = MSI_CreateRecord( fields );
    +    for( i=1; i <= fields; i++ )
    +    {
    +        if( !vl )
    +        {
    +            TRACE("Not enough elements in the list to insert\n");
    +            goto err;
    +        }
    +        switch( vl->val->type )
    +        {
    +        case EXPR_SVAL:
    +            TRACE("field %ld -> %s\n", i, debugstr_w(vl->val->u.sval));
    +            MSI_RecordSetStringW( merged, i, vl->val->u.sval );
    +            break;
    +        case EXPR_IVAL:
    +            MSI_RecordSetInteger( merged, i, vl->val->u.ival );
    +            break;
    +        case EXPR_WILDCARD:
    +            if( !rec )
    +                goto err;
    +            if( MSI_RecordIsNull( rec, wildcard_count ) )
    +                goto err;
    +            str = MSI_RecordGetString( rec, wildcard_count );
    +            MSI_RecordSetStringW( merged, i, str );
    +            wildcard_count++;
    +            break;
    +        default:
    +            ERR("Unknown expression type %d\n", vl->val->type);
    +        }
    +        vl = vl->next;
    +    }
    +
    +    return merged;
    +err:
    +    msiobj_release( &merged->hdr );
    +    return NULL;
    +}
    +
     static UINT INSERT_execute( struct tagMSIVIEW *view, MSIRECORD *record )
     {
         MSIINSERTVIEW *iv = (MSIINSERTVIEW*)view;
         UINT n, type, val, r, row, col_count = 0;
         MSIVIEW *sv;
    +    MSIRECORD *values = NULL;
     
         TRACE("%p %p\n", iv, record );
     
    @@ -77,12 +128,13 @@ static UINT INSERT_execute( struct tagMSIVIEW *view, MSIRECORD *record )
         if( r )
             goto err;
     
    -    n = MSI_RecordGetFieldCount( record );
    -    if( n != col_count )
    -    {
    -        ERR("Number of fields do not match\n");
    +    /*
    +     * Merge the wildcard values into the list of values provided
    +     * in the query, and create a record containing both.
    +     */
    +    values = INSERT_merge_record( col_count, iv->vals, record );
    +    if( !values )
             goto err;
    -    }
     
         row = -1;
         r = sv->ops->insert_row( sv, &row );
    @@ -98,12 +150,12 @@ static UINT INSERT_execute( struct tagMSIVIEW *view, MSIRECORD *record )
     
             if( type & MSITYPE_STRING )
             {
    -            const WCHAR *str = MSI_RecordGetString( record, n );
    +            const WCHAR *str = MSI_RecordGetString( values, n );
                 val = msi_addstringW( iv->db->strings, 0, str, -1, 1 );
             }
             else
             {
    -            val = MSI_RecordGetInteger( record, n );
    +            val = MSI_RecordGetInteger( values, n );
                 val |= 0x8000;
             }
             r = sv->ops->set_int( sv, row, n, val );
    @@ -112,6 +164,9 @@ static UINT INSERT_execute( struct tagMSIVIEW *view, MSIRECORD *record )
         }
     
     err:
    +    if( values )
    +        msiobj_release( &values->hdr );
    +
         return ERROR_SUCCESS;
     }
     
    @@ -159,11 +214,11 @@ static UINT INSERT_get_column_info( struct tagMSIVIEW *view,
         return sv->ops->get_column_info( sv, n, name, type );
     }
     
    -static UINT INSERT_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT INSERT_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *rec)
     {
         MSIINSERTVIEW *iv = (MSIINSERTVIEW*)view;
     
    -    TRACE("%p %d %ld\n", iv, eModifyMode, hrec );
    +    TRACE("%p %d %p\n", iv, eModifyMode, rec );
     
         return ERROR_FUNCTION_FAILED;
     }
    diff --git a/reactos/lib/msi/msi.c b/reactos/lib/msi/msi.c
    index 77ccf30658c..78f8ce7750a 100644
    --- a/reactos/lib/msi/msi.c
    +++ b/reactos/lib/msi/msi.c
    @@ -1,7 +1,7 @@
     /*
      * Implementation of the Microsoft Installer (msi.dll)
      *
    - * Copyright 2002,2003,2004 Mike McCormack for CodeWeavers
    + * Copyright 2002,2003,2004,2005 Mike McCormack for CodeWeavers
      *
      * This library is free software; you can redistribute it and/or
      * modify it under the terms of the GNU Lesser General Public
    @@ -37,6 +37,7 @@
     #include "wine/unicode.h"
     #include "objbase.h"
     #include "winver.h"
    +#include "winuser.h"
     
     #include "initguid.h"
     
    @@ -53,28 +54,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
      */
     #define LPCTSTR LPCWSTR
     
    -DEFINE_GUID( CLSID_MsiDatabase, 0x000c1084, 0x0000, 0x0000, 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
    -
    -static const WCHAR szInstaller[] = {
    -'S','o','f','t','w','a','r','e','\\',
    -'M','i','c','r','o','s','o','f','t','\\',
    -'W','i','n','d','o','w','s','\\',
    -'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    -'I','n','s','t','a','l','l','e','r',0 };
    -
    -static const WCHAR szFeatures[] = {
    -'F','e','a','t','u','r','e','s',0 };
    -static const WCHAR szComponents[] = {
    -'C','o','m','p','o','n','e','n','t','s',0 };
    +DEFINE_GUID( CLSID_MsiDatabase, 0x000c1084, 0x0000, 0x0000,
    +             0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
     
     /* the UI level */
    -INSTALLUILEVEL gUILevel;
    -HWND           gUIhwnd;
    -INSTALLUI_HANDLERA gUIHandler;
    -INSTALLUI_HANDLERW gUIHandlerW;
    -DWORD gUIFilter;
    -LPVOID gUIContext;
    +INSTALLUILEVEL gUILevel = INSTALLUILEVEL_BASIC;
    +HWND           gUIhwnd = 0;
    +INSTALLUI_HANDLERA gUIHandlerA = NULL;
    +INSTALLUI_HANDLERW gUIHandlerW = NULL;
    +DWORD gUIFilter = 0;
    +LPVOID gUIContext = NULL;
     WCHAR gszLogFile[MAX_PATH];
    +HINSTANCE msi_hInstance;
     
     /*
      *  .MSI  file format
    @@ -83,157 +74,15 @@ WCHAR gszLogFile[MAX_PATH];
      *  It should contain a number of streams.
      */
     
    -BOOL unsquash_guid(LPCWSTR in, LPWSTR out)
    -{
    -    DWORD i,n=0;
    -
    -    out[n++]='{';
    -    for(i=0; i<8; i++)
    -        out[n++] = in[7-i];
    -    out[n++]='-';
    -    for(i=0; i<4; i++)
    -        out[n++] = in[11-i];
    -    out[n++]='-';
    -    for(i=0; i<4; i++)
    -        out[n++] = in[15-i];
    -    out[n++]='-';
    -    for(i=0; i<2; i++)
    -    {
    -        out[n++] = in[17+i*2];
    -        out[n++] = in[16+i*2];
    -    }
    -    out[n++]='-';
    -    for( ; i<8; i++)
    -    {
    -        out[n++] = in[17+i*2];
    -        out[n++] = in[16+i*2];
    -    }
    -    out[n++]='}';
    -    out[n]=0;
    -    return TRUE;
    -}
    -
    -BOOL squash_guid(LPCWSTR in, LPWSTR out)
    -{
    -    DWORD i,n=0;
    -
    -    if(in[n++] != '{')
    -        return FALSE;
    -    for(i=0; i<8; i++)
    -        out[7-i] = in[n++];
    -    if(in[n++] != '-')
    -        return FALSE;
    -    for(i=0; i<4; i++)
    -        out[11-i] = in[n++];
    -    if(in[n++] != '-')
    -        return FALSE;
    -    for(i=0; i<4; i++)
    -        out[15-i] = in[n++];
    -    if(in[n++] != '-')
    -        return FALSE;
    -    for(i=0; i<2; i++)
    -    {
    -        out[17+i*2] = in[n++];
    -        out[16+i*2] = in[n++];
    -    }
    -    if(in[n++] != '-')
    -        return FALSE;
    -    for( ; i<8; i++)
    -    {
    -        out[17+i*2] = in[n++];
    -        out[16+i*2] = in[n++];
    -    }
    -    out[32]=0;
    -    if(in[n++] != '}')
    -        return FALSE;
    -    if(in[n])
    -        return FALSE;
    -    return TRUE;
    -}
    -
    -/* tables for encoding and decoding base85 */
    -static const unsigned char table_dec85[0x80] = {
    -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    -0xff,0x00,0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0xff,
    -0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0xff,0xff,0xff,0x16,0xff,0x17,
    -0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
    -0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0xff,0x34,0x35,0x36,
    -0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,
    -0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0xff,0x53,0x54,0xff,
    -};
    -
    -static const char table_enc85[] =
    -"!$%&'()*+,-.0123456789=?@ABCDEFGHIJKLMNO"
    -"PQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwx"
    -"yz{}~";
    -
    -/*
    - *  Converts a base85 encoded guid into a GUID pointer
    - *  Base85 encoded GUIDs should be 20 characters long.
    - *
    - *  returns TRUE if successful, FALSE if not
    - */
    -BOOL decode_base85_guid( LPCWSTR str, GUID *guid )
    -{
    -    DWORD i, val = 0, base = 1, *p;
    -
    -    p = (DWORD*) guid;
    -    for( i=0; i<20; i++ )
    -    {
    -        if( (i%5) == 0 )
    -        {
    -            val = 0;
    -            base = 1;
    -        }
    -        val += table_dec85[str[i]] * base;
    -        if( str[i] >= 0x80 )
    -            return FALSE;
    -        if( table_dec85[str[i]] == 0xff )
    -            return FALSE;
    -        if( (i%5) == 4 )
    -            p[i/5] = val;
    -        base *= 85;
    -    }
    -    return TRUE;
    -}
    -
    -/*
    - *  Encodes a base85 guid given a GUID pointer
    - *  Caller should provide a 21 character buffer for the encoded string.
    - *
    - *  returns TRUE if successful, FALSE if not
    - */
    -BOOL encode_base85_guid( GUID *guid, LPWSTR str )
    -{
    -    unsigned int x, *p, i;
    -
    -    p = (unsigned int*) guid;
    -    for( i=0; i<4; i++ )
    -    {
    -        x = p[i];
    -        *str++ = table_enc85[x%85];
    -        x = x/85;
    -        *str++ = table_enc85[x%85];
    -        x = x/85;
    -        *str++ = table_enc85[x%85];
    -        x = x/85;
    -        *str++ = table_enc85[x%85];
    -        x = x/85;
    -        *str++ = table_enc85[x%85];
    -    }
    -    *str = 0;
    -    
    -    return TRUE;
    -}
    -
    -
     VOID MSI_CloseDatabase( MSIOBJECTHDR *arg )
     {
         MSIDATABASE *db = (MSIDATABASE *) arg;
    +    DWORD r;
     
         free_cached_tables( db );
    -    IStorage_Release( db->storage );
    +    r = IStorage_Release( db->storage );
    +    if( r )
    +        ERR("database reference count was not zero (%ld)\n", r);
     }
     
     UINT MSI_OpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIDATABASE **pdb)
    @@ -384,10 +233,8 @@ UINT WINAPI MsiOpenDatabaseA(LPCSTR szDBPath, LPCSTR szPersist, MSIHANDLE *phDB)
         r = MsiOpenDatabaseW( szwDBPath, szwPersist, phDB );
     
     end:
    -    if( szwPersist )
    -        HeapFree( GetProcessHeap(), 0, szwPersist );
    -    if( szwDBPath )
    -        HeapFree( GetProcessHeap(), 0, szwDBPath );
    +    HeapFree( GetProcessHeap(), 0, szwPersist );
    +    HeapFree( GetProcessHeap(), 0, szwDBPath );
     
         return r;
     }
    @@ -409,35 +256,24 @@ UINT WINAPI MsiOpenProductA(LPCSTR szProduct, MSIHANDLE *phProduct)
     
         ret = MsiOpenProductW( szwProd, phProduct );
     
    -    if( szwProd )
    -        HeapFree( GetProcessHeap(), 0, szwProd );
    +    HeapFree( GetProcessHeap(), 0, szwProd );
     
         return ret;
     }
     
     UINT WINAPI MsiOpenProductW(LPCWSTR szProduct, MSIHANDLE *phProduct)
     {
    -    static const WCHAR szKey[] = {
    -        'S','o','f','t','w','a','r','e','\\',
    -        'M','i','c','r','o','s','o','f','t','\\',
    -        'W','i','n','d','o','w','s','\\',
    -        'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    -        'U','n','i','n','s','t','a','l','l',0 };
         static const WCHAR szLocalPackage[] = {
             'L','o','c','a','l','P','a','c','k','a','g','e', 0
         };
         LPWSTR path = NULL;
         UINT r;
    -    HKEY hKeyProduct = NULL, hKeyUninstall = NULL;
    +    HKEY hKeyProduct = NULL;
         DWORD count, type;
     
         TRACE("%s %p\n",debugstr_w(szProduct), phProduct);
     
    -    r = RegOpenKeyW( HKEY_LOCAL_MACHINE, szKey, &hKeyUninstall );
    -    if( r != ERROR_SUCCESS )
    -        return ERROR_UNKNOWN_PRODUCT;
    -
    -    r = RegOpenKeyW( hKeyUninstall, szProduct, &hKeyProduct );
    +    r = MSIREG_OpenUninstallKey(szProduct,&hKeyProduct,FALSE);
         if( r != ERROR_SUCCESS )
         {
             r = ERROR_UNKNOWN_PRODUCT;
    @@ -470,38 +306,44 @@ UINT WINAPI MsiOpenProductW(LPCWSTR szProduct, MSIHANDLE *phProduct)
         r = MsiOpenPackageW( path, phProduct );
     
     end:
    -    if( path )
    -        HeapFree( GetProcessHeap(), 0, path );
    +    HeapFree( GetProcessHeap(), 0, path );
         if( hKeyProduct )
             RegCloseKey( hKeyProduct );
    -    RegCloseKey( hKeyUninstall );
     
         return r;
     }
     
    -UINT WINAPI MsiAdvertiseProductA(LPCSTR szPackagePath, LPCSTR szScriptfilePath, LPCSTR szTransforms, LANGID lgidLanguage)
    +UINT WINAPI MsiAdvertiseProductA(LPCSTR szPackagePath, LPCSTR szScriptfilePath,
    +                LPCSTR szTransforms, LANGID lgidLanguage)
     {
    -    FIXME("%s %s %s 0x%08x\n",debugstr_a(szPackagePath), debugstr_a(szScriptfilePath), debugstr_a(szTransforms), lgidLanguage);
    +    FIXME("%s %s %s %08x\n",debugstr_a(szPackagePath),
    +          debugstr_a(szScriptfilePath), debugstr_a(szTransforms), lgidLanguage);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiAdvertiseProductW(LPCWSTR szPackagePath, LPCWSTR szScriptfilePath, LPCWSTR szTransforms, LANGID lgidLanguage)
    +UINT WINAPI MsiAdvertiseProductW(LPCWSTR szPackagePath, LPCWSTR szScriptfilePath,
    +                LPCWSTR szTransforms, LANGID lgidLanguage)
     {
    -    FIXME("%s %s %s 0x%08x\n",debugstr_w(szPackagePath), debugstr_w(szScriptfilePath), debugstr_w(szTransforms), lgidLanguage);
    +    FIXME("%s %s %s %08x\n",debugstr_w(szPackagePath),
    +          debugstr_w(szScriptfilePath), debugstr_w(szTransforms), lgidLanguage);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiAdvertiseProductExA(LPCSTR szPackagePath, LPCSTR szScriptfilePath, LPCSTR szTransforms, LANGID lgidLanguage, DWORD dwPlatform, DWORD dwOptions)
    +UINT WINAPI MsiAdvertiseProductExA(LPCSTR szPackagePath, LPCSTR szScriptfilePath,
    +      LPCSTR szTransforms, LANGID lgidLanguage, DWORD dwPlatform, DWORD dwOptions)
     {
    -    FIXME("%s %s %s 0x%08x 0x%08lx 0x%08lx\n",
    -	debugstr_a(szPackagePath), debugstr_a(szScriptfilePath), debugstr_a(szTransforms), lgidLanguage, dwPlatform, dwOptions);
    +    FIXME("%s %s %s %08x %08lx %08lx\n", debugstr_a(szPackagePath),
    +          debugstr_a(szScriptfilePath), debugstr_a(szTransforms),
    +          lgidLanguage, dwPlatform, dwOptions);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiAdvertiseProductExW( LPCWSTR szPackagePath, LPCWSTR szScriptfilePath, LPCWSTR szTransforms, LANGID lgidLanguage, DWORD dwPlatform, DWORD dwOptions)
    +UINT WINAPI MsiAdvertiseProductExW( LPCWSTR szPackagePath, LPCWSTR szScriptfilePath,
    +      LPCWSTR szTransforms, LANGID lgidLanguage, DWORD dwPlatform, DWORD dwOptions)
     {
    -    FIXME("%s %s %s 0x%08x 0x%08lx 0x%08lx\n",
    -	debugstr_w(szPackagePath), debugstr_w(szScriptfilePath), debugstr_w(szTransforms), lgidLanguage, dwPlatform, dwOptions);
    +    FIXME("%s %s %s %08x %08lx %08lx\n", debugstr_w(szPackagePath),
    +          debugstr_w(szScriptfilePath), debugstr_w(szTransforms),
    +          lgidLanguage, dwPlatform, dwOptions);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    @@ -533,11 +375,8 @@ UINT WINAPI MsiInstallProductA(LPCSTR szPackagePath, LPCSTR szCommandLine)
         r = MsiInstallProductW( szwPath, szwCommand );
     
     end:
    -    if( szwPath )
    -        HeapFree( GetProcessHeap(), 0, szwPath );
    -    
    -    if( szwCommand )
    -        HeapFree( GetProcessHeap(), 0, szwCommand );
    +    HeapFree( GetProcessHeap(), 0, szwPath );
    +    HeapFree( GetProcessHeap(), 0, szwCommand );
     
         return r;
     }
    @@ -569,29 +408,148 @@ UINT WINAPI MsiInstallProductW(LPCWSTR szPackagePath, LPCWSTR szCommandLine)
     
     UINT WINAPI MsiReinstallProductA(LPCSTR szProduct, DWORD dwReinstallMode)
     {
    -	FIXME("%s 0x%08lx\n", debugstr_a(szProduct), dwReinstallMode);
    -	return ERROR_CALL_NOT_IMPLEMENTED;
    +    FIXME("%s %08lx\n", debugstr_a(szProduct), dwReinstallMode);
    +    return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
     UINT WINAPI MsiReinstallProductW(LPCWSTR szProduct, DWORD dwReinstallMode)
     {
    -	FIXME("%s 0x%08lx\n", debugstr_w(szProduct), dwReinstallMode);
    -	return ERROR_CALL_NOT_IMPLEMENTED;
    +    FIXME("%s %08lx\n", debugstr_w(szProduct), dwReinstallMode);
    +    return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiApplyPatchA(LPCSTR szPatchPackage, LPCSTR szInstallPackage, INSTALLTYPE eInstallType, LPCSTR szCommandLine)
    +UINT WINAPI MsiApplyPatchA(LPCSTR szPatchPackage, LPCSTR szInstallPackage,
    +        INSTALLTYPE eInstallType, LPCSTR szCommandLine)
     {
    -	FIXME("%s %s %d %s\n", debugstr_a(szPatchPackage), debugstr_a(szInstallPackage), eInstallType, debugstr_a(szCommandLine));
    -	return ERROR_CALL_NOT_IMPLEMENTED;
    +    FIXME("%s %s %d %s\n", debugstr_a(szPatchPackage), debugstr_a(szInstallPackage),
    +          eInstallType, debugstr_a(szCommandLine));
    +    return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiApplyPatchW(LPCWSTR szPatchPackage, LPCWSTR szInstallPackage, INSTALLTYPE eInstallType, LPCWSTR szCommandLine)
    +UINT WINAPI MsiApplyPatchW(LPCWSTR szPatchPackage, LPCWSTR szInstallPackage,
    +         INSTALLTYPE eInstallType, LPCWSTR szCommandLine)
     {
    -	FIXME("%s %s %d %s\n", debugstr_w(szPatchPackage), debugstr_w(szInstallPackage), eInstallType, debugstr_w(szCommandLine));
    -	return ERROR_CALL_NOT_IMPLEMENTED;
    +    FIXME("%s %s %d %s\n", debugstr_w(szPatchPackage), debugstr_w(szInstallPackage),
    +          eInstallType, debugstr_w(szCommandLine));
    +    return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiConfigureProductA(LPCSTR szProduct, int iInstallLevel, INSTALLSTATE eInstallState)
    +UINT WINAPI MsiConfigureProductExW(LPCWSTR szProduct, int iInstallLevel,
    +                        INSTALLSTATE eInstallState, LPCWSTR szCommandLine)
    +{
    +    MSIHANDLE handle; 
    +    MSIPACKAGE* package;
    +    UINT rc;
    +    HKEY hkey=0,hkey1=0;
    +    DWORD sz;
    +    static const WCHAR szSouceList[] = {
    +        'S','o','u','r','c','e','L','i','s','t',0};
    +    static const WCHAR szLUS[] = {
    +        'L','a','s','t','U','s','e','d','S','o','u','r','c','e',0};
    +    WCHAR sourcepath[0x200];
    +    static const WCHAR szInstalled[] = {
    +        ' ','I','n','s','t','a','l','l','e','d','=','1',0};
    +    LPWSTR commandline;
    +
    +    FIXME("%s %d %d %s\n",debugstr_w(szProduct), iInstallLevel, eInstallState,
    +          debugstr_w(szCommandLine));
    +
    +    if (eInstallState != INSTALLSTATE_LOCAL && 
    +        eInstallState != INSTALLSTATE_DEFAULT)
    +    {
    +        FIXME("Not implemented for anything other than local installs\n");
    +        return ERROR_CALL_NOT_IMPLEMENTED;
    +    }
    +
    +    rc = MSIREG_OpenUserProductsKey(szProduct,&hkey,FALSE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    rc = RegOpenKeyW(hkey,szSouceList,&hkey1);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    sz = sizeof(sourcepath);
    +    rc = RegQueryValueExW(hkey1, szLUS, NULL, NULL,(LPBYTE)sourcepath, &sz);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    RegCloseKey(hkey1);
    +    /*
    +     * ok 1, we need to find the msi file for this product.
    +     *    2, find the source dir for the files
    +     *    3, do the configure/install.
    +     *    4, cleanupany runonce entry. 
    +     */
    +
    +    rc = MsiOpenProductW(szProduct,&handle);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    package = msihandle2msiinfo(handle, MSIHANDLETYPE_PACKAGE);
    +  
    +    sz = strlenW(szInstalled);
    +
    +    if (szCommandLine)
    +        sz += strlenW(szCommandLine);
    +
    +    commandline = HeapAlloc(GetProcessHeap(),0,sz * sizeof(WCHAR));
    +
    +    if (szCommandLine) 
    +        strcpyW(commandline,szCommandLine);
    +    else
    +        commandline[0] = 0;
    +
    +    if (MsiQueryProductStateW(szProduct) != INSTALLSTATE_UNKNOWN)
    +        strcatW(commandline,szInstalled);
    +
    +    rc = ACTION_DoTopLevelINSTALL(package, sourcepath, commandline);
    +
    +    msiobj_release( &package->hdr );
    +
    +    HeapFree(GetProcessHeap(),0,commandline);
    +end:
    +    RegCloseKey(hkey);
    +
    +    return rc;
    +}
    +
    +UINT WINAPI MsiConfigureProductExA(LPCSTR szProduct, int iInstallLevel,
    +                        INSTALLSTATE eInstallState, LPCSTR szCommandLine)
    +{
    +    LPWSTR szwProduct = NULL;
    +    LPWSTR szwCommandLine = NULL;
    +    UINT hr = ERROR_FUNCTION_FAILED;
    +
    +    if( szProduct )
    +    {
    +        UINT len = MultiByteToWideChar( CP_ACP, 0, szProduct, -1, NULL, 0 );
    +        szwProduct = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
    +        if( !szwProduct )
    +            goto end;
    +        MultiByteToWideChar( CP_ACP, 0, szProduct, -1, szwProduct, len );
    +    }
    +
    +    if( szCommandLine)
    +    {
    +        UINT len = MultiByteToWideChar( CP_ACP, 0, szCommandLine, -1, NULL, 0 );
    +        szwCommandLine= HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
    +        if( !szwCommandLine)
    +            goto end;
    +        MultiByteToWideChar( CP_ACP, 0, szCommandLine, -1, szwCommandLine, len );
    +    }
    +
    +    hr = MsiConfigureProductExW( szwProduct, iInstallLevel, eInstallState,
    +                                szwCommandLine );
    +end:
    +    HeapFree( GetProcessHeap(), 0, szwProduct );
    +    HeapFree( GetProcessHeap(), 0, szwCommandLine);
    +
    +    return hr;
    +}
    +
    +UINT WINAPI MsiConfigureProductA(LPCSTR szProduct, int iInstallLevel, 
    +                                 INSTALLSTATE eInstallState)
     {
         LPWSTR szwProduct = NULL;
         UINT hr = ERROR_SUCCESS;
    @@ -610,22 +568,25 @@ UINT WINAPI MsiConfigureProductA(LPCSTR szProduct, int iInstallLevel, INSTALLSTA
         hr = MsiConfigureProductW( szwProduct, iInstallLevel, eInstallState );
     
     end:
    -    if( szwProduct )
    -        HeapFree( GetProcessHeap(), 0, szwProduct );
    +    HeapFree( GetProcessHeap(), 0, szwProduct );
     
         return hr;
     }
     
    -UINT WINAPI MsiConfigureProductW(LPCWSTR szProduct, int iInstallLevel, INSTALLSTATE eInstallState)
    +UINT WINAPI MsiConfigureProductW(LPCWSTR szProduct, int iInstallLevel, 
    +                                 INSTALLSTATE eInstallState)
     {
    -    FIXME("%s %d %d\n",debugstr_w(szProduct), iInstallLevel, eInstallState);
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    +    FIXME("%s %d %d\n", debugstr_w(szProduct), iInstallLevel, eInstallState);
    +
    +    return MsiConfigureProductExW(szProduct, iInstallLevel, eInstallState,
    +                                  NULL);
     }
     
     UINT WINAPI MsiGetProductCodeA(LPCSTR szComponent, LPSTR szBuffer)
     {
    -    LPWSTR szwComponent = NULL, szwBuffer = NULL;
    +    LPWSTR szwComponent = NULL;
         UINT hr = ERROR_INSTALL_FAILURE;
    +    WCHAR szwBuffer[GUID_SIZE];
     
         FIXME("%s %s\n",debugstr_a(szComponent), debugstr_a(szBuffer));
     
    @@ -636,28 +597,17 @@ UINT WINAPI MsiGetProductCodeA(LPCSTR szComponent, LPSTR szBuffer)
             if( !szwComponent )
                 goto end;
             MultiByteToWideChar( CP_ACP, 0, szComponent, -1, szwComponent, len );
    -    } else {
    -      return ERROR_INVALID_PARAMETER;
    -    }
    -
    -    {
    -        szwBuffer = HeapAlloc( GetProcessHeap(), 0, GUID_SIZE * sizeof(WCHAR) );
    -        if( !szwBuffer )	 
    -            goto end;
         }
    +    else
    +        return ERROR_INVALID_PARAMETER;
     
         hr = MsiGetProductCodeW( szwComponent, szwBuffer );
     
         if( ERROR_SUCCESS == hr )
    -    {
             WideCharToMultiByte(CP_ACP, 0, szwBuffer, -1, szBuffer, GUID_SIZE, NULL, NULL);
    -    }
     
     end:
    -    if( szwComponent )
    -        HeapFree( GetProcessHeap(), 0, szwComponent );
    -    if( szwBuffer )
    -        HeapFree( GetProcessHeap(), 0, szwBuffer );
    +    HeapFree( GetProcessHeap(), 0, szwComponent );
     
         return hr;
     }
    @@ -665,25 +615,22 @@ end:
     UINT WINAPI MsiGetProductCodeW(LPCWSTR szComponent, LPWSTR szBuffer)
     {
         FIXME("%s %s\n",debugstr_w(szComponent), debugstr_w(szBuffer));
    -    if (NULL == szComponent) {
    -      return ERROR_INVALID_PARAMETER;
    -    }
    +    if (NULL == szComponent)
    +        return ERROR_INVALID_PARAMETER;
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -
    -
    -
    -UINT WINAPI MsiGetProductInfoA(LPCSTR szProduct, LPCSTR szAttribute, LPSTR szBuffer, DWORD *pcchValueBuf)
    +UINT WINAPI MsiGetProductInfoA(LPCSTR szProduct, LPCSTR szAttribute,
    +                 LPSTR szBuffer, DWORD *pcchValueBuf)
     {
         LPWSTR szwProduct = NULL, szwAttribute = NULL, szwBuffer = NULL;
         UINT hr = ERROR_INSTALL_FAILURE;
     
    -    FIXME("%s %s %p %p\n",debugstr_a(szProduct), debugstr_a(szAttribute), szBuffer, pcchValueBuf);
    +    FIXME("%s %s %p %p\n",debugstr_a(szProduct), debugstr_a(szAttribute),
    +          szBuffer, pcchValueBuf);
     
    -    if (NULL != szBuffer && NULL == pcchValueBuf) {
    -      return ERROR_INVALID_PARAMETER;
    -    }
    +    if( NULL != szBuffer && NULL == pcchValueBuf )
    +        return ERROR_INVALID_PARAMETER;
         if( szProduct )
         {
             UINT len = MultiByteToWideChar( CP_ACP, 0, szProduct, -1, NULL, 0 );
    @@ -691,9 +638,9 @@ UINT WINAPI MsiGetProductInfoA(LPCSTR szProduct, LPCSTR szAttribute, LPSTR szBuf
             if( !szwProduct )
                 goto end;
             MultiByteToWideChar( CP_ACP, 0, szProduct, -1, szwProduct, len );
    -    } else {
    -      return ERROR_INVALID_PARAMETER;
         }
    +    else
    +        return ERROR_INVALID_PARAMETER;
         
         if( szAttribute )
         {
    @@ -702,52 +649,50 @@ UINT WINAPI MsiGetProductInfoA(LPCSTR szProduct, LPCSTR szAttribute, LPSTR szBuf
             if( !szwAttribute )
                 goto end;
             MultiByteToWideChar( CP_ACP, 0, szAttribute, -1, szwAttribute, len );
    -    } else {
    -      hr = ERROR_INVALID_PARAMETER;
    -      goto end;
    +    }
    +    else
    +    {
    +        hr = ERROR_INVALID_PARAMETER;
    +        goto end;
         }
     
         if( szBuffer )
         {
             szwBuffer = HeapAlloc( GetProcessHeap(), 0, (*pcchValueBuf) * sizeof(WCHAR) );
    -        if( !szwBuffer )	 
    +        if( !szwBuffer )     
                 goto end;
         }
     
         hr = MsiGetProductInfoW( szwProduct, szwAttribute, szwBuffer, pcchValueBuf );
     
         if( ERROR_SUCCESS == hr )
    -    {
             WideCharToMultiByte(CP_ACP, 0, szwBuffer, -1, szBuffer, *pcchValueBuf, NULL, NULL);
    -    }
     
     end:
    -    if( szwProduct )
    -        HeapFree( GetProcessHeap(), 0, szwProduct );
    -    if( szwAttribute )
    -        HeapFree( GetProcessHeap(), 0, szwAttribute );
    -    if( szwBuffer )
    -        HeapFree( GetProcessHeap(), 0, szwBuffer );
    +    HeapFree( GetProcessHeap(), 0, szwProduct );
    +    HeapFree( GetProcessHeap(), 0, szwAttribute );
    +    HeapFree( GetProcessHeap(), 0, szwBuffer );
     
         return hr;    
     }
     
    -UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute, LPWSTR szBuffer, DWORD *pcchValueBuf)
    +UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute,
    +                LPWSTR szBuffer, DWORD *pcchValueBuf)
     {
         MSIHANDLE hProduct;
         UINT hr;
         
    -    FIXME("%s %s %p %p\n",debugstr_w(szProduct), debugstr_w(szAttribute), szBuffer, pcchValueBuf);
    +    FIXME("%s %s %p %p\n",debugstr_w(szProduct), debugstr_w(szAttribute),
    +          szBuffer, pcchValueBuf);
     
    -    if (NULL != szBuffer && NULL == pcchValueBuf) {
    -      return ERROR_INVALID_PARAMETER;
    -    }
    -    if (NULL == szProduct || NULL == szAttribute) {
    -      return ERROR_INVALID_PARAMETER;
    -    }
    +    if (NULL != szBuffer && NULL == pcchValueBuf)
    +        return ERROR_INVALID_PARAMETER;
    +    if (NULL == szProduct || NULL == szAttribute)
    +        return ERROR_INVALID_PARAMETER;
     
         hr = MsiOpenProductW(szProduct, &hProduct);
    -    if (ERROR_SUCCESS != hr) return hr;
    +    if (ERROR_SUCCESS != hr)
    +        return hr;
     
         hr = MsiGetPropertyW(hProduct, szAttribute, szBuffer, pcchValueBuf);
         MsiCloseHandle(hProduct);
    @@ -780,30 +725,31 @@ UINT WINAPI MsiEnableLogA(DWORD dwLogMode, LPCSTR szLogFile, DWORD attributes)
             if( !szwLogFile )
                 goto end;
             MultiByteToWideChar( CP_ACP, 0, szLogFile, -1, szwLogFile, len );
    -    } else {
    -      return ERROR_INVALID_PARAMETER;
         }
    +    else
    +        return ERROR_INVALID_PARAMETER;
     
         hr = MsiEnableLogW( dwLogMode, szwLogFile, attributes );
     
     end:
    -    if( szwLogFile )
    -        HeapFree( GetProcessHeap(), 0, szwLogFile );
    +    HeapFree( GetProcessHeap(), 0, szwLogFile );
     
         return hr;
     }
     
     UINT WINAPI MsiEnableLogW(DWORD dwLogMode, LPCWSTR szLogFile, DWORD attributes)
     {
    -    HANDLE the_file = INVALID_HANDLE_VALUE;
    +    HANDLE file = INVALID_HANDLE_VALUE;
    +
         TRACE("%08lx %s %08lx\n", dwLogMode, debugstr_w(szLogFile), attributes);
    +
         strcpyW(gszLogFile,szLogFile);
         if (!(attributes & INSTALLLOGATTRIBUTES_APPEND))
             DeleteFileW(szLogFile);
    -    the_file = CreateFileW(szLogFile, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,
    +    file = CreateFileW(szLogFile, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,
                                FILE_ATTRIBUTE_NORMAL, NULL);
    -    if (the_file != INVALID_HANDLE_VALUE)
    -        CloseHandle(the_file);
    +    if (file != INVALID_HANDLE_VALUE)
    +        CloseHandle(file);
         else
             ERR("Unable to enable log %s\n",debugstr_w(szLogFile));
     
    @@ -812,20 +758,65 @@ UINT WINAPI MsiEnableLogW(DWORD dwLogMode, LPCWSTR szLogFile, DWORD attributes)
     
     INSTALLSTATE WINAPI MsiQueryProductStateA(LPCSTR szProduct)
     {
    -    FIXME("%s\n", debugstr_a(szProduct));
    -    return INSTALLSTATE_UNKNOWN;
    +    LPWSTR szwProduct;
    +    UINT len;
    +    INSTALLSTATE rc;
    +
    +    len = MultiByteToWideChar(CP_ACP,0,szProduct,-1,NULL,0);
    +    szwProduct = HeapAlloc(GetProcessHeap(),0,len*sizeof(WCHAR));
    +    MultiByteToWideChar(CP_ACP,0,szProduct,-1,szwProduct,len);
    +    rc = MsiQueryProductStateW(szwProduct);
    +    HeapFree(GetProcessHeap(),0,szwProduct);
    +    return rc;
     }
     
     INSTALLSTATE WINAPI MsiQueryProductStateW(LPCWSTR szProduct)
     {
    -    FIXME("%s\n", debugstr_w(szProduct));
    -    return INSTALLSTATE_UNKNOWN;
    +    UINT rc;
    +    INSTALLSTATE rrc = INSTALLSTATE_UNKNOWN;
    +    HKEY hkey=0;
    +    static const WCHAR szWindowsInstaller[] = {
    +         'W','i','n','d','o','w','s','I','n','s','t','a','l','l','e','r',0 };
    +    DWORD sz;
    +
    +    TRACE("%s\n", debugstr_w(szProduct));
    +
    +    rc = MSIREG_OpenUserProductsKey(szProduct,&hkey,FALSE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    RegCloseKey(hkey);
    +
    +    rc = MSIREG_OpenUninstallKey(szProduct,&hkey,FALSE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    sz = sizeof(rrc);
    +    rc = RegQueryValueExW(hkey,szWindowsInstaller,NULL,NULL,(LPVOID)&rrc, &sz);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    switch (rrc)
    +    {
    +    case 1:
    +        /* default */
    +        rrc = INSTALLSTATE_DEFAULT;
    +        break;
    +    default:
    +        FIXME("Unknown install state read from registry (%i)\n",rrc);
    +        rrc = INSTALLSTATE_UNKNOWN;
    +        break;
    +    }
    +end:
    +    RegCloseKey(hkey);
    +    return rrc;
     }
     
     INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL dwUILevel, HWND *phWnd)
     {
         INSTALLUILEVEL old = gUILevel;
         HWND oldwnd = gUIhwnd;
    +
         TRACE("%08x %p\n", dwUILevel, phWnd);
     
         gUILevel = dwUILevel;
    @@ -840,10 +831,10 @@ INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL dwUILevel, HWND *phWnd)
     INSTALLUI_HANDLERA WINAPI MsiSetExternalUIA(INSTALLUI_HANDLERA puiHandler, 
                                       DWORD dwMessageFilter, LPVOID pvContext)
     {
    -    INSTALLUI_HANDLERA prev = gUIHandler;
    +    INSTALLUI_HANDLERA prev = gUIHandlerA;
     
    -    TRACE("(%p %lx %p)\n",puiHandler, dwMessageFilter,pvContext);
    -    gUIHandler = puiHandler;
    +    TRACE("%p %lx %p\n",puiHandler, dwMessageFilter,pvContext);
    +    gUIHandlerA = puiHandler;
         gUIFilter = dwMessageFilter;
         gUIContext = pvContext;
     
    @@ -855,7 +846,7 @@ INSTALLUI_HANDLERW WINAPI MsiSetExternalUIW(INSTALLUI_HANDLERW puiHandler,
     {
         INSTALLUI_HANDLERW prev = gUIHandlerW;
     
    -    TRACE("(%p %lx %p)\n",puiHandler,dwMessageFilter,pvContext);
    +    TRACE("%p %lx %p\n",puiHandler,dwMessageFilter,pvContext);
         gUIHandlerW = puiHandler;
         gUIFilter = dwMessageFilter;
         gUIContext = pvContext;
    @@ -863,54 +854,122 @@ INSTALLUI_HANDLERW WINAPI MsiSetExternalUIW(INSTALLUI_HANDLERW puiHandler,
         return prev;
     }
     
    -UINT WINAPI MsiLoadStringA(HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int nBufferMax, DWORD e)
    +/******************************************************************
    + *  MsiLoadStringW            [MSI.@]
    + *
    + * Loads a string from MSI's string resources.
    + *
    + * PARAMS
    + *
    + *   handle        [I]  only -1 is handled currently
    + *   id            [I]  id of the string to be loaded
    + *   lpBuffer      [O]  buffer for the string to be written to
    + *   nBufferMax    [I]  maximum size of the buffer in characters
    + *   lang          [I]  the prefered language for the string
    + *
    + * RETURNS
    + *
    + *   If successful, this function returns the language id of the string loaded
    + *   If the function fails, the function returns zero.
    + *
    + * NOTES
    + *
    + *   The type of the first parameter is unknown.  LoadString's prototype
    + *  suggests that it might be a module handle.  I have made it an MSI handle
    + *  for starters, as -1 is an invalid MSI handle, but not an invalid module
    + *  handle.  Maybe strings can be stored in an MSI database somehow.
    + */
    +LANGID WINAPI MsiLoadStringW( MSIHANDLE handle, UINT id, LPWSTR lpBuffer,
    +                int nBufferMax, LANGID lang )
     {
    -    /*FIXME("%08lx %08lx %08lx %08lx %08lx\n",a,b,c,d,e);*/
    -    FIXME("%p %u %p %d %08lx\n",hInstance,uID,lpBuffer,nBufferMax,e);
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    +    HRSRC hres;
    +    HGLOBAL hResData;
    +    LPWSTR p;
    +    DWORD i, len;
    +
    +    TRACE("%ld %u %p %d %d\n", handle, id, lpBuffer, nBufferMax, lang);
    +
    +    if( handle != -1 )
    +        FIXME("don't know how to deal with handle = %08lx\n", handle);
    +
    +    if( !lang )
    +        lang = GetUserDefaultLangID();
    +
    +    hres = FindResourceExW( msi_hInstance, (LPCWSTR) RT_STRING,
    +                            (LPWSTR)1, lang );
    +    if( !hres )
    +        return 0;
    +    hResData = LoadResource( msi_hInstance, hres );
    +    if( !hResData )
    +        return 0;
    +    p = LockResource( hResData );
    +    if( !p )
    +        return 0;
    +
    +    for (i = 0; i < (id&0xf); i++)
    +	p += *p + 1;
    +    len = *p;
    +
    +    if( nBufferMax <= len )
    +        return 0;
    +
    +    memcpy( lpBuffer, p+1, len * sizeof(WCHAR));
    +    lpBuffer[ len ] = 0;
    +
    +    TRACE("found -> %s\n", debugstr_w(lpBuffer));
    +
    +    return lang;
     }
     
    -UINT WINAPI MsiLoadStringW(HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int nBufferMax, DWORD e)
    +LANGID WINAPI MsiLoadStringA( MSIHANDLE handle, UINT id, LPSTR lpBuffer,
    +                int nBufferMax, LANGID lang )
     {
    -    FIXME("%p %u %p %d %08lx\n",hInstance,uID,lpBuffer,nBufferMax,e);
    -    /*
    -    int ret =  LoadStringW(hInstance,uID,lpBuffer,nBufferMax);
    -    FIXME("%s\n",debugstr_w(lpBuffer));
    -    return ret;
    -    */
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    +    LPWSTR bufW;
    +    LANGID r;
    +    DWORD len;
    +
    +    bufW = HeapAlloc(GetProcessHeap(), 0, nBufferMax*sizeof(WCHAR));
    +    r = MsiLoadStringW(handle, id, bufW, nBufferMax, lang);
    +    if( r )
    +    {
    +        len = WideCharToMultiByte(CP_ACP, 0, bufW, -1, NULL, 0, NULL, NULL );
    +        if( len <= nBufferMax )
    +            WideCharToMultiByte( CP_ACP, 0, bufW, -1,
    +                                 lpBuffer, nBufferMax, NULL, NULL );
    +        else
    +            r = 0;
    +    }
    +    HeapFree(GetProcessHeap(), 0, bufW);
    +    return r;
     }
     
    -INSTALLSTATE WINAPI MsiLocateComponentA(LPCSTR szComponent, LPSTR lpPathBuf, DWORD *pcchBuf)
    +INSTALLSTATE WINAPI MsiLocateComponentA(LPCSTR szComponent, LPSTR lpPathBuf,
    +                DWORD *pcchBuf)
     {
         FIXME("%s %p %08lx\n", debugstr_a(szComponent), lpPathBuf, *pcchBuf);
         return INSTALLSTATE_UNKNOWN;
     }
     
    -INSTALLSTATE WINAPI MsiLocateComponentW(LPCWSTR szComponent, LPSTR lpPathBuf, DWORD *pcchBuf)
    +INSTALLSTATE WINAPI MsiLocateComponentW(LPCWSTR szComponent, LPSTR lpPathBuf,
    +                DWORD *pcchBuf)
     {
         FIXME("%s %p %08lx\n", debugstr_w(szComponent), lpPathBuf, *pcchBuf);
         return INSTALLSTATE_UNKNOWN;
     }
     
    -#include "winuser.h"
    -
    -UINT WINAPI MsiMessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType, WORD wLanguageId, DWORD f)
    +UINT WINAPI MsiMessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType,
    +                WORD wLanguageId, DWORD f)
     {
    -    FIXME("%p %s %s %u %08x %08lx\n",hWnd,debugstr_a(lpText),debugstr_a(lpCaption),uType,wLanguageId,f);
    -    /*
    -    MessageBoxExA(hWnd,lpText,lpCaption,uType|MB_OK,wLanguageId);
    -    */
    +    FIXME("%p %s %s %u %08x %08lx\n",hWnd,debugstr_a(lpText),debugstr_a(lpCaption),
    +          uType,wLanguageId,f);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType, WORD wLanguageId, DWORD f)
    +UINT WINAPI MsiMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType,
    +                WORD wLanguageId, DWORD f)
     {
    -    /*FIXME("%08lx %08lx %08lx %08lx %08lx %08lx\n",a,b,c,d,e,f);*/
    -    FIXME("%p %s %s %u %08x %08lx\n",hWnd,debugstr_w(lpText),debugstr_w(lpCaption),uType,wLanguageId,f);
    -    /*
    -    MessageBoxExW(hWnd,lpText,lpCaption,uType|MB_OK,wLanguageId);
    -    */
    +    FIXME("%p %s %s %u %08x %08lx\n",hWnd,debugstr_w(lpText),debugstr_w(lpCaption),
    +          uType,wLanguageId,f);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    @@ -933,20 +992,16 @@ UINT WINAPI MsiEnumProductsA(DWORD index, LPSTR lpguid)
     
     UINT WINAPI MsiEnumProductsW(DWORD index, LPWSTR lpguid)
     {
    -    HKEY hkey = 0, hkeyFeatures = 0;
    +    HKEY hkeyFeatures = 0;
         DWORD r;
         WCHAR szKeyName[33];
     
         TRACE("%ld %p\n",index,lpguid);
     
    -    if (NULL == lpguid) {
    -      return ERROR_INVALID_PARAMETER;
    -    }
    -    r = RegOpenKeyW(HKEY_LOCAL_MACHINE, szInstaller, &hkey);
    -    if( r != ERROR_SUCCESS )
    -        goto end;
    +    if (NULL == lpguid)
    +        return ERROR_INVALID_PARAMETER;
     
    -    r = RegOpenKeyW(hkey, szFeatures, &hkeyFeatures);
    +    r = MSIREG_OpenFeatures(&hkeyFeatures);
         if( r != ERROR_SUCCESS )
             goto end;
     
    @@ -958,8 +1013,6 @@ end:
     
         if( hkeyFeatures )
             RegCloseKey(hkeyFeatures);
    -    if( hkey )
    -        RegCloseKey(hkey);
     
         return r;
     }
    @@ -992,8 +1045,7 @@ UINT WINAPI MsiEnumFeaturesA(LPCSTR szProduct, DWORD index,
                                 szParent, GUID_SIZE, NULL, NULL);
         }
     
    -    if( szwProduct )
    -        HeapFree( GetProcessHeap(), 0, szwProduct);
    +    HeapFree( GetProcessHeap(), 0, szwProduct);
     
         return r;
     }
    @@ -1001,24 +1053,12 @@ UINT WINAPI MsiEnumFeaturesA(LPCSTR szProduct, DWORD index,
     UINT WINAPI MsiEnumFeaturesW(LPCWSTR szProduct, DWORD index, 
           LPWSTR szFeature, LPWSTR szParent)
     {
    -    HKEY hkey = 0, hkeyFeatures = 0, hkeyProduct = 0;
    +    HKEY hkeyProduct = 0;
         DWORD r, sz;
    -    WCHAR szRegName[GUID_SIZE];
     
         TRACE("%s %ld %p %p\n",debugstr_w(szProduct),index,szFeature,szParent);
     
    -    if( !squash_guid(szProduct, szRegName) )
    -        return ERROR_INVALID_PARAMETER;
    -
    -    r = RegOpenKeyW(HKEY_LOCAL_MACHINE, szInstaller, &hkey);
    -    if( r != ERROR_SUCCESS )
    -        goto end;
    -
    -    r = RegOpenKeyW(hkey, szFeatures, &hkeyFeatures);
    -    if( r != ERROR_SUCCESS )
    -        goto end;
    -
    -    r = RegOpenKeyW(hkeyFeatures, szRegName, &hkeyProduct);
    +    r = MSIREG_OpenFeaturesKey(szProduct,&hkeyProduct,FALSE);
         if( r != ERROR_SUCCESS )
             goto end;
     
    @@ -1028,10 +1068,6 @@ UINT WINAPI MsiEnumFeaturesW(LPCWSTR szProduct, DWORD index,
     end:
         if( hkeyProduct )
             RegCloseKey(hkeyProduct);
    -    if( hkeyFeatures )
    -        RegCloseKey(hkeyFeatures);
    -    if( hkey )
    -        RegCloseKey(hkey);
     
         return r;
     }
    @@ -1052,17 +1088,13 @@ UINT WINAPI MsiEnumComponentsA(DWORD index, LPSTR lpguid)
     
     UINT WINAPI MsiEnumComponentsW(DWORD index, LPWSTR lpguid)
     {
    -    HKEY hkey = 0, hkeyComponents = 0;
    +    HKEY hkeyComponents = 0;
         DWORD r;
         WCHAR szKeyName[33];
     
         TRACE("%ld %p\n",index,lpguid);
     
    -    r = RegOpenKeyW(HKEY_LOCAL_MACHINE, szInstaller, &hkey);
    -    if( r != ERROR_SUCCESS )
    -        goto end;
    -
    -    r = RegOpenKeyW(hkey, szComponents, &hkeyComponents);
    +    r = MSIREG_OpenComponents(&hkeyComponents);
         if( r != ERROR_SUCCESS )
             goto end;
     
    @@ -1074,8 +1106,6 @@ end:
     
         if( hkeyComponents )
             RegCloseKey(hkeyComponents);
    -    if( hkey )
    -        RegCloseKey(hkey);
     
         return r;
     }
    @@ -1105,32 +1135,20 @@ UINT WINAPI MsiEnumClientsA(LPCSTR szComponent, DWORD index, LPSTR szProduct)
                                 szProduct, GUID_SIZE, NULL, NULL);
         }
     
    -    if( szwComponent )
    -        HeapFree( GetProcessHeap(), 0, szwComponent);
    +    HeapFree( GetProcessHeap(), 0, szwComponent);
     
         return r;
     }
     
     UINT WINAPI MsiEnumClientsW(LPCWSTR szComponent, DWORD index, LPWSTR szProduct)
     {
    -    HKEY hkey = 0, hkeyComponents = 0, hkeyComp = 0;
    +    HKEY hkeyComp = 0;
         DWORD r, sz;
    -    WCHAR szRegName[GUID_SIZE], szValName[GUID_SIZE];
    +    WCHAR szValName[GUID_SIZE];
     
         TRACE("%s %ld %p\n",debugstr_w(szComponent),index,szProduct);
     
    -    if( !squash_guid(szComponent, szRegName) )
    -        return ERROR_INVALID_PARAMETER;
    -
    -    r = RegOpenKeyW(HKEY_LOCAL_MACHINE, szInstaller, &hkey);
    -    if( r != ERROR_SUCCESS )
    -        goto end;
    -
    -    r = RegOpenKeyW(hkey, szComponents, &hkeyComponents);
    -    if( r != ERROR_SUCCESS )
    -        goto end;
    -
    -    r = RegOpenKeyW(hkeyComponents, szRegName, &hkeyComp);
    +    r = MSIREG_OpenComponentsKey(szComponent,&hkeyComp,FALSE);
         if( r != ERROR_SUCCESS )
             goto end;
     
    @@ -1144,67 +1162,79 @@ UINT WINAPI MsiEnumClientsW(LPCWSTR szComponent, DWORD index, LPWSTR szProduct)
     end:
         if( hkeyComp )
             RegCloseKey(hkeyComp);
    -    if( hkeyComponents )
    -        RegCloseKey(hkeyComponents);
    -    if( hkey )
    -        RegCloseKey(hkey);
     
         return r;
     }
     
    -UINT WINAPI MsiEnumComponentQualifiersA(
    -    LPSTR szComponent, DWORD iIndex, LPSTR lpQualifierBuf, DWORD* pcchQualifierBuf, LPSTR lpApplicationDataBuf, DWORD* pcchApplicationDataBuf)
    +UINT WINAPI MsiEnumComponentQualifiersA( LPSTR szComponent, DWORD iIndex,
    +                LPSTR lpQualifierBuf, DWORD* pcchQualifierBuf,
    +                LPSTR lpApplicationDataBuf, DWORD* pcchApplicationDataBuf)
     {
    -FIXME("%s 0x%08lx %p %p %p %p\n", debugstr_a(szComponent), iIndex, lpQualifierBuf, pcchQualifierBuf, lpApplicationDataBuf, pcchApplicationDataBuf);
    +    FIXME("%s %08lx %p %p %p %p\n", debugstr_a(szComponent), iIndex,
    +          lpQualifierBuf, pcchQualifierBuf, lpApplicationDataBuf,
    +          pcchApplicationDataBuf);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiEnumComponentQualifiersW(
    -    LPWSTR szComponent, DWORD iIndex, LPWSTR lpQualifierBuf, DWORD* pcchQualifierBuf, LPWSTR lpApplicationDataBuf, DWORD* pcchApplicationDataBuf)
    +UINT WINAPI MsiEnumComponentQualifiersW( LPWSTR szComponent, DWORD iIndex,
    +                LPWSTR lpQualifierBuf, DWORD* pcchQualifierBuf,
    +                LPWSTR lpApplicationDataBuf, DWORD* pcchApplicationDataBuf )
     {
    -FIXME("%s 0x%08lx %p %p %p %p\n", debugstr_w(szComponent), iIndex, lpQualifierBuf, pcchQualifierBuf, lpApplicationDataBuf, pcchApplicationDataBuf);
    +    FIXME("%s %08lx %p %p %p %p\n", debugstr_w(szComponent), iIndex,
    +          lpQualifierBuf, pcchQualifierBuf, lpApplicationDataBuf,
    +          pcchApplicationDataBuf);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiProvideAssemblyA(
    -    LPCSTR szAssemblyName, LPCSTR szAppContext, DWORD dwInstallMode, DWORD dwAssemblyInfo, LPSTR lpPathBuf, DWORD* pcchPathBuf) 
    +UINT WINAPI MsiProvideAssemblyA( LPCSTR szAssemblyName, LPCSTR szAppContext,
    +                DWORD dwInstallMode, DWORD dwAssemblyInfo, LPSTR lpPathBuf,
    +                DWORD* pcchPathBuf ) 
     {
    -    FIXME("%s %s 0x%08lx 0x%08lx %p %p\n", 
    -	debugstr_a(szAssemblyName),  debugstr_a(szAppContext), dwInstallMode, dwAssemblyInfo, lpPathBuf, pcchPathBuf);
    +    FIXME("%s %s %08lx %08lx %p %p\n", debugstr_a(szAssemblyName),
    +          debugstr_a(szAppContext), dwInstallMode, dwAssemblyInfo, lpPathBuf,
    +          pcchPathBuf);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiProvideAssemblyW(
    -    LPCWSTR szAssemblyName, LPCWSTR szAppContext, DWORD dwInstallMode, DWORD dwAssemblyInfo, LPWSTR lpPathBuf, DWORD* pcchPathBuf) 
    +UINT WINAPI MsiProvideAssemblyW( LPCWSTR szAssemblyName, LPCWSTR szAppContext,
    +                DWORD dwInstallMode, DWORD dwAssemblyInfo, LPWSTR lpPathBuf,
    +                DWORD* pcchPathBuf )
     {
    -    FIXME("%s %s 0x%08lx 0x%08lx %p %p\n", 
    -	debugstr_w(szAssemblyName),  debugstr_w(szAppContext), dwInstallMode, dwAssemblyInfo, lpPathBuf, pcchPathBuf);
    +    FIXME("%s %s %08lx %08lx %p %p\n", debugstr_w(szAssemblyName), 
    +          debugstr_w(szAppContext), dwInstallMode, dwAssemblyInfo, lpPathBuf,
    +          pcchPathBuf);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiProvideComponentFromDescriptorA( LPCSTR szDescriptor, LPSTR szPath, DWORD *pcchPath, DWORD *pcchArgs )
    +UINT WINAPI MsiProvideComponentFromDescriptorA( LPCSTR szDescriptor,
    +                LPSTR szPath, DWORD *pcchPath, DWORD *pcchArgs )
     {
         FIXME("%s %p %p %p\n", debugstr_a(szDescriptor), szPath, pcchPath, pcchArgs );
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiProvideComponentFromDescriptorW( LPCWSTR szDescriptor, LPWSTR szPath, DWORD *pcchPath, DWORD *pcchArgs )
    +UINT WINAPI MsiProvideComponentFromDescriptorW( LPCWSTR szDescriptor,
    +                LPWSTR szPath, DWORD *pcchPath, DWORD *pcchArgs )
     {
         FIXME("%s %p %p %p\n", debugstr_w(szDescriptor), szPath, pcchPath, pcchArgs );
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -HRESULT WINAPI MsiGetFileSignatureInformationA(
    -  LPCSTR szSignedObjectPath, DWORD dwFlags, PCCERT_CONTEXT* ppcCertContext, BYTE* pbHashData, DWORD* pcbHashData)
    +HRESULT WINAPI MsiGetFileSignatureInformationA( LPCSTR szSignedObjectPath,
    +                DWORD dwFlags, PCCERT_CONTEXT* ppcCertContext, BYTE* pbHashData,
    +                DWORD* pcbHashData)
     {
    -    FIXME("%s 0x%08lx %p %p %p\n", debugstr_a(szSignedObjectPath), dwFlags, ppcCertContext, pbHashData, pcbHashData);
    +    FIXME("%s %08lx %p %p %p\n", debugstr_a(szSignedObjectPath), dwFlags,
    +          ppcCertContext, pbHashData, pcbHashData);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -HRESULT WINAPI MsiGetFileSignatureInformationW(
    -  LPCWSTR szSignedObjectPath, DWORD dwFlags, PCCERT_CONTEXT* ppcCertContext, BYTE* pbHashData, DWORD* pcbHashData)
    +HRESULT WINAPI MsiGetFileSignatureInformationW( LPCWSTR szSignedObjectPath,
    +                DWORD dwFlags, PCCERT_CONTEXT* ppcCertContext, BYTE* pbHashData,
    +                DWORD* pcbHashData)
     {
    -    FIXME("%s 0x%08lx %p %p %p\n", debugstr_w(szSignedObjectPath), dwFlags, ppcCertContext, pbHashData, pcbHashData);
    +    FIXME("%s %08lx %p %p %p\n", debugstr_w(szSignedObjectPath), dwFlags,
    +          ppcCertContext, pbHashData, pcbHashData);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    @@ -1261,13 +1291,11 @@ UINT WINAPI MsiVerifyPackageW( LPCWSTR szPackage )
     INSTALLSTATE WINAPI MsiGetComponentPathA(LPCSTR szProduct, LPCSTR szComponent,
                                              LPSTR lpPathBuf, DWORD* pcchBuf)
     {
    +    LPWSTR szwProduct = NULL, szwComponent = NULL, lpwPathBuf= NULL;
         INSTALLSTATE rc;
    -    UINT len;
    -    LPWSTR szwProduct= NULL;
    -    LPWSTR szwComponent= NULL;
    -    LPWSTR lpwPathBuf= NULL;
    +    UINT len, incoming_len;
     
    -    if( szProduct)
    +    if( szProduct )
         {
             len = MultiByteToWideChar( CP_ACP, 0, szProduct, -1, NULL, 0 );
             szwProduct= HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    @@ -1276,11 +1304,11 @@ INSTALLSTATE WINAPI MsiGetComponentPathA(LPCSTR szProduct, LPCSTR szComponent,
             MultiByteToWideChar( CP_ACP, 0, szProduct, -1, szwProduct, len );
         }
     
    -    if( szComponent)
    +    if( szComponent )
         {
             len = MultiByteToWideChar( CP_ACP, 0, szComponent, -1, NULL, 0 );
             szwComponent= HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    -        if( !szwComponent)
    +        if( !szwComponent )
             {
                 HeapFree( GetProcessHeap(), 0, szwProduct);
                 return ERROR_OUTOFMEMORY;
    @@ -1288,19 +1316,21 @@ INSTALLSTATE WINAPI MsiGetComponentPathA(LPCSTR szProduct, LPCSTR szComponent,
             MultiByteToWideChar( CP_ACP, 0, szComponent, -1, szwComponent, len );
         }
     
    -    if (pcchBuf && *pcchBuf > 0)
    +    if( pcchBuf && *pcchBuf > 0 )
             lpwPathBuf = HeapAlloc( GetProcessHeap(), 0, *pcchBuf * sizeof(WCHAR));
         else
             lpwPathBuf = NULL;
     
    +    incoming_len = *pcchBuf;
         rc = MsiGetComponentPathW(szwProduct, szwComponent, lpwPathBuf, pcchBuf);
     
         HeapFree( GetProcessHeap(), 0, szwProduct);
         HeapFree( GetProcessHeap(), 0, szwComponent);
         if (lpwPathBuf)
         {
    -        WideCharToMultiByte(CP_ACP, 0, lpwPathBuf, *pcchBuf,
    -                            lpPathBuf, GUID_SIZE, NULL, NULL);
    +        if (rc != INSTALLSTATE_UNKNOWN)
    +            WideCharToMultiByte(CP_ACP, 0, lpwPathBuf, incoming_len,
    +                            lpPathBuf, incoming_len, NULL, NULL);
             HeapFree( GetProcessHeap(), 0, lpwPathBuf);
         }
     
    @@ -1310,10 +1340,46 @@ INSTALLSTATE WINAPI MsiGetComponentPathA(LPCSTR szProduct, LPCSTR szComponent,
     INSTALLSTATE WINAPI MsiGetComponentPathW(LPCWSTR szProduct, LPCWSTR szComponent,
                                              LPWSTR lpPathBuf, DWORD* pcchBuf)
     {
    -    FIXME("STUB: (%s %s %p %p)\n", debugstr_w(szProduct),
    +    WCHAR squished_pc[GUID_SIZE];
    +    UINT rc;
    +    INSTALLSTATE rrc = INSTALLSTATE_UNKNOWN;
    +    HKEY hkey=0;
    +
    +    TRACE("%s %s %p %p\n", debugstr_w(szProduct),
                debugstr_w(szComponent), lpPathBuf, pcchBuf);
     
    -    return INSTALLSTATE_UNKNOWN;
    +    squash_guid(szProduct,squished_pc);
    +
    +    rc = MSIREG_OpenProductsKey(szProduct,&hkey,FALSE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    RegCloseKey(hkey);
    +
    +    rc = MSIREG_OpenComponentsKey(szComponent,&hkey,FALSE);
    +    if (rc != ERROR_SUCCESS)
    +        goto end;
    +
    +    *pcchBuf *= sizeof(WCHAR);
    +    rc = RegQueryValueExW(hkey,squished_pc,NULL,NULL,(LPVOID)lpPathBuf,
    +                          pcchBuf);
    +    *pcchBuf /= sizeof(WCHAR);
    +
    +    if (rc!= ERROR_SUCCESS)
    +        goto end;
    +
    +    TRACE("found path of (%s:%s)(%s)\n", debugstr_w(szComponent),
    +           debugstr_w(szProduct), debugstr_w(lpPathBuf));
    +
    +    FIXME("Only working for installed files, not registry keys\n");
    +    if (GetFileAttributesW(lpPathBuf) != INVALID_FILE_ATTRIBUTES)
    +        rrc = INSTALLSTATE_LOCAL;
    +    else
    +        rrc = INSTALLSTATE_ABSENT;
    +
    +end:
    +    RegCloseKey(hkey);
    +    return rrc;
     }
     
     INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR szProduct, LPCSTR szFeature)
    @@ -1323,7 +1389,7 @@ INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR szProduct, LPCSTR szFeature)
         LPWSTR szwProduct= NULL;
         LPWSTR szwFeature= NULL;
     
    -    if( szProduct)
    +    if( szProduct )
         {
             len = MultiByteToWideChar( CP_ACP, 0, szProduct, -1, NULL, 0 );
             szwProduct= HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    @@ -1332,7 +1398,7 @@ INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR szProduct, LPCSTR szFeature)
             MultiByteToWideChar( CP_ACP, 0, szProduct, -1, szwProduct, len );
         }
     
    -    if( szFeature)
    +    if( szFeature )
         {
             len = MultiByteToWideChar( CP_ACP, 0, szFeature, -1, NULL, 0 );
             szwFeature= HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    @@ -1354,63 +1420,63 @@ INSTALLSTATE WINAPI MsiQueryFeatureStateA(LPCSTR szProduct, LPCSTR szFeature)
     
     INSTALLSTATE WINAPI MsiQueryFeatureStateW(LPCWSTR szProduct, LPCWSTR szFeature)
     {
    -    FIXME("STUB: (%s %s)\n", debugstr_w(szProduct), debugstr_w(szFeature));
    +    FIXME("%s %s\n", debugstr_w(szProduct), debugstr_w(szFeature));
         return INSTALLSTATE_UNKNOWN;
     }
     
    -UINT WINAPI MsiGetFileVersionA(LPCSTR szFilePath, LPSTR lpVersionBuf, DWORD* pcchVersionBuf, LPSTR lpLangBuf, DWORD* pcchLangBuf)
    +UINT WINAPI MsiGetFileVersionA(LPCSTR szFilePath, LPSTR lpVersionBuf,
    +                DWORD* pcchVersionBuf, LPSTR lpLangBuf, DWORD* pcchLangBuf)
     {
    -    UINT len;
    -    UINT ret;
    -    LPWSTR szwFilePath = NULL;
    -    LPWSTR lpwVersionBuff = NULL;
    -    LPWSTR lpwLangBuff = NULL;
    +    LPWSTR szwFilePath = NULL, lpwVersionBuff = NULL, lpwLangBuff = NULL;
    +    UINT len, ret = ERROR_OUTOFMEMORY;
         
    -    if(szFilePath) {
    +    if( szFilePath )
    +    {
             len = MultiByteToWideChar( CP_ACP, 0, szFilePath, -1, NULL, 0 );
             szwFilePath = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    -        if( !szwFilePath)
    -            return ERROR_OUTOFMEMORY;
    +        if( !szwFilePath )
    +            goto end;
             MultiByteToWideChar( CP_ACP, 0, szFilePath, -1, szwFilePath, len );
         }
         
    -    if(lpVersionBuf && pcchVersionBuf && *pcchVersionBuf) {
    -        lpwVersionBuff = HeapAlloc(GetProcessHeap(), 0, *pcchVersionBuf * sizeof(WCHAR));
    -        if( !lpwVersionBuff)
    -        {
    -            ret = ERROR_OUTOFMEMORY;
    +    if( lpVersionBuf && pcchVersionBuf && *pcchVersionBuf )
    +    {
    +        lpwVersionBuff = HeapAlloc(GetProcessHeap(), 0, *pcchVersionBuf*sizeof(WCHAR));
    +        if( !lpwVersionBuff )
                 goto end;
    -        }
         }
     
    -    if(lpLangBuf && pcchLangBuf && *pcchLangBuf) {
    -        lpwLangBuff = HeapAlloc(GetProcessHeap(), 0, *pcchVersionBuf * sizeof(WCHAR));
    -        if( !lpwLangBuff)
    -        {
    -            ret = ERROR_OUTOFMEMORY;
    +    if( lpLangBuf && pcchLangBuf && *pcchLangBuf )
    +    {
    +        lpwLangBuff = HeapAlloc(GetProcessHeap(), 0, *pcchVersionBuf*sizeof(WCHAR));
    +        if( !lpwLangBuff )
                 goto end;
    -        }
         }
             
    -    ret = MsiGetFileVersionW(szwFilePath, lpwVersionBuff, pcchVersionBuf, lpwLangBuff, pcchLangBuf);
    +    ret = MsiGetFileVersionW(szwFilePath, lpwVersionBuff, pcchVersionBuf,
    +                             lpwLangBuff, pcchLangBuf);
         
    -    if(lpwVersionBuff)
    -        WideCharToMultiByte(CP_ACP, 0, lpwVersionBuff, -1, lpVersionBuf, *pcchVersionBuf, NULL, NULL);
    -    if(lpwLangBuff)
    -        WideCharToMultiByte(CP_ACP, 0, lpwLangBuff, -1, lpLangBuf, *pcchLangBuf, NULL, NULL);
    +    if( lpwVersionBuff )
    +        WideCharToMultiByte(CP_ACP, 0, lpwVersionBuff, -1,
    +                            lpVersionBuf, *pcchVersionBuf, NULL, NULL);
    +    if( lpwLangBuff )
    +        WideCharToMultiByte(CP_ACP, 0, lpwLangBuff, -1,
    +                            lpLangBuf, *pcchLangBuf, NULL, NULL);
         
     end:
    -    if(szwFilePath) HeapFree(GetProcessHeap(), 0, szwFilePath);
    -    if(lpwVersionBuff) HeapFree(GetProcessHeap(), 0, lpwVersionBuff);
    -    if(lpwLangBuff) HeapFree(GetProcessHeap(), 0, lpwLangBuff);
    +    HeapFree(GetProcessHeap(), 0, szwFilePath);
    +    HeapFree(GetProcessHeap(), 0, lpwVersionBuff);
    +    HeapFree(GetProcessHeap(), 0, lpwLangBuff);
         
         return ret;
     }
     
    -UINT WINAPI MsiGetFileVersionW(LPCWSTR szFilePath, LPWSTR lpVersionBuf, DWORD* pcchVersionBuf, LPWSTR lpLangBuf, DWORD* pcchLangBuf)
    +UINT WINAPI MsiGetFileVersionW(LPCWSTR szFilePath, LPWSTR lpVersionBuf,
    +                DWORD* pcchVersionBuf, LPWSTR lpLangBuf, DWORD* pcchLangBuf)
     {
         static const WCHAR szVersionResource[] = {'\\',0};
    -    static const WCHAR szVersionFormat[] = {'%','d','.','%','d','.','%','d','.','%','d',0};
    +    static const WCHAR szVersionFormat[] = {
    +        '%','d','.','%','d','.','%','d','.','%','d',0};
         static const WCHAR szLangFormat[] = {'%','d',0};
         UINT ret = 0;
         DWORD dwVerLen;
    @@ -1419,38 +1485,48 @@ UINT WINAPI MsiGetFileVersionW(LPCWSTR szFilePath, LPWSTR lpVersionBuf, DWORD* p
         UINT puLen;
         WCHAR tmp[32];
     
    -    TRACE("(%s,%p,%ld,%p,%ld)\n", debugstr_w(szFilePath),
    +    TRACE("%s %p %ld %p %ld\n", debugstr_w(szFilePath),
               lpVersionBuf, pcchVersionBuf?*pcchVersionBuf:0,
               lpLangBuf, pcchLangBuf?*pcchLangBuf:0);
     
         dwVerLen = GetFileVersionInfoSizeW(szFilePath, NULL);
    -    if(!dwVerLen)
    +    if( !dwVerLen )
             return GetLastError();
     
         lpVer = HeapAlloc(GetProcessHeap(), 0, dwVerLen);
    -    if(!lpVer) {
    +    if( !lpVer )
    +    {
             ret = ERROR_OUTOFMEMORY;
             goto end;
         }
     
    -    if(!GetFileVersionInfoW(szFilePath, 0, dwVerLen, lpVer)) {
    +    if( !GetFileVersionInfoW(szFilePath, 0, dwVerLen, lpVer) )
    +    {
             ret = GetLastError();
             goto end;
         }
    -    if(lpVersionBuf && pcchVersionBuf && *pcchVersionBuf) {
    -        if(VerQueryValueW(lpVer, szVersionResource, (LPVOID*)&ffi, &puLen) && puLen > 0) {
    -            wsprintfW(tmp, szVersionFormat, HIWORD(ffi->dwFileVersionMS), LOWORD(ffi->dwFileVersionMS), HIWORD(ffi->dwFileVersionLS), LOWORD(ffi->dwFileVersionLS));
    +    if( lpVersionBuf && pcchVersionBuf && *pcchVersionBuf )
    +    {
    +        if( VerQueryValueW(lpVer, szVersionResource, (LPVOID*)&ffi, &puLen) &&
    +            (puLen > 0) )
    +        {
    +            wsprintfW(tmp, szVersionFormat,
    +                  HIWORD(ffi->dwFileVersionMS), LOWORD(ffi->dwFileVersionMS),
    +                  HIWORD(ffi->dwFileVersionLS), LOWORD(ffi->dwFileVersionLS));
                 lstrcpynW(lpVersionBuf, tmp, *pcchVersionBuf);
                 *pcchVersionBuf = strlenW(lpVersionBuf);
             }
    -        else {
    +        else
    +        {
                 *lpVersionBuf = 0;
                 *pcchVersionBuf = 0;
             }
         }
     
    -    if(lpLangBuf && pcchLangBuf && *pcchLangBuf) {
    +    if( lpLangBuf && pcchLangBuf && *pcchLangBuf )
    +    {
             DWORD lang = GetUserDefaultLangID();
    +
             FIXME("Retrieve language from file\n");
             wsprintfW(tmp, szLangFormat, lang);
             lstrcpynW(lpLangBuf, tmp, *pcchLangBuf);
    @@ -1458,152 +1534,125 @@ UINT WINAPI MsiGetFileVersionW(LPCWSTR szFilePath, LPWSTR lpVersionBuf, DWORD* p
         }
     
     end:
    -    if(lpVer) HeapFree(GetProcessHeap(), 0, lpVer);
    +    HeapFree(GetProcessHeap(), 0, lpVer);
         return ret;
     }
     
     
     /******************************************************************
    - *		DllMain
    - *
    - * @todo: maybe we can check here if MsiServer service is declared no ?
    + *    	DllMain
      */
    -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
    -  if (fdwReason == DLL_PROCESS_ATTACH) {
    -    DisableThreadLibraryCalls(hinstDLL);
    -    /*
    -     * UI Initialization
    -     */
    -    gUILevel = INSTALLUILEVEL_BASIC;
    -    gUIhwnd = 0;
    -    gUIHandler = NULL;
    -    gUIFilter = 0;
    -    gUIContext = NULL;
    -    gszLogFile[0]=0;
    -    /* FIXME: Initialisation */
    -  } else if (fdwReason == DLL_PROCESS_DETACH) {
    -    /* FIXME: Cleanup */
    -  }
    -  /*
    -  static const WCHAR szMSIServerSvc[] = { 'M','S','I','S','e','r','v','e','r',0 };
    -  static const WCHAR szNull[] = { 0 };
    -  if (!strcmpW(lpServiceName, szMSIServerSvc)) {
    -    hKey = CreateServiceW(hSCManager, 
    -			  szMSIServerSvc, 
    -			  szMSIServerSvc, 
    -			  SC_MANAGER_ALL_ACCESS, 
    -			  SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS, 
    -			  SERVICE_AUTO_START, 
    -			  SERVICE_ERROR_IGNORE,
    -			  szNull, 
    -			  NULL, 
    -			  NULL,
    -			  NULL,
    -			  NULL,
    -			  szNull);
    -  */
    -  return TRUE;
    +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
    +{
    +    switch(fdwReason)
    +    {
    +    case DLL_PROCESS_ATTACH:
    +        msi_hInstance = hinstDLL;
    +        DisableThreadLibraryCalls(hinstDLL);
    +        msi_dialog_register_class();
    +        break;
    +    case DLL_PROCESS_DETACH:
    +        msi_dialog_unregister_class();
    +        /* FIXME: Cleanup */
    +        break;
    +    }
    +    return TRUE;
     }
     
    -typedef struct {
    -  /* IUnknown fields */
    -  IClassFactoryVtbl          *lpVtbl;
    -  DWORD                       ref;
    +typedef struct tagIClassFactoryImpl
    +{
    +    IClassFactoryVtbl *lpVtbl;
     } IClassFactoryImpl;
     
    -static HRESULT WINAPI MsiCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
    -  IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -  FIXME("(%p, %s, %p): stub\n",This,debugstr_guid(riid),ppobj);
    -  return E_NOINTERFACE;
    +static HRESULT WINAPI MsiCF_QueryInterface(LPCLASSFACTORY iface,
    +                REFIID riid,LPVOID *ppobj)
    +{
    +    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    +    FIXME("%p %s %p\n",This,debugstr_guid(riid),ppobj);
    +    return E_NOINTERFACE;
     }
     
    -static ULONG WINAPI MsiCF_AddRef(LPCLASSFACTORY iface) {
    -  IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -  return InterlockedIncrement(&This->ref);
    +static ULONG WINAPI MsiCF_AddRef(LPCLASSFACTORY iface)
    +{
    +    return 2;
     }
     
    -static ULONG WINAPI MsiCF_Release(LPCLASSFACTORY iface) {
    -  IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -  /* static class, won't be  freed */
    -  return InterlockedDecrement(&This->ref);
    +static ULONG WINAPI MsiCF_Release(LPCLASSFACTORY iface)
    +{
    +    return 1;
     }
     
    -static HRESULT WINAPI MsiCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
    -  IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -  FIXME ("(%p, %p, %s, %p): to implement\n", This, pOuter, debugstr_guid(riid), ppobj);
    -  return 0;
    +static HRESULT WINAPI MsiCF_CreateInstance(LPCLASSFACTORY iface,
    +    LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj)
    +{
    +    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    +
    +    FIXME("%p %p %s %p\n", This, pOuter, debugstr_guid(riid), ppobj);
    +    return E_FAIL;
     }
     
    -static HRESULT WINAPI MsiCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
    -  IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -  FIXME("(%p, %d): stub\n", This, dolock);
    -  return S_OK;
    +static HRESULT WINAPI MsiCF_LockServer(LPCLASSFACTORY iface, BOOL dolock)
    +{
    +    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    +
    +    FIXME("%p %d\n", This, dolock);
    +    return S_OK;
     }
     
    -static IClassFactoryVtbl MsiCF_Vtbl = {
    -  MsiCF_QueryInterface,
    -  MsiCF_AddRef,
    -  MsiCF_Release,
    -  MsiCF_CreateInstance,
    -  MsiCF_LockServer
    +static IClassFactoryVtbl MsiCF_Vtbl =
    +{
    +    MsiCF_QueryInterface,
    +    MsiCF_AddRef,
    +    MsiCF_Release,
    +    MsiCF_CreateInstance,
    +    MsiCF_LockServer
     };
     
    -static IClassFactoryImpl Msi_CF = {&MsiCF_Vtbl, 1 };
    +static IClassFactoryImpl Msi_CF = { &MsiCF_Vtbl };
     
     /******************************************************************
    - *		DllGetClassObject (MSI.@)
    + *    	DllGetClassObject [MSI.@]
      */
    -HRESULT WINAPI MSI_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) {
    -  FIXME("(%s, %s, %p): almost a stub.\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
    -  if (IsEqualCLSID (rclsid, &CLSID_IMsiServer)) {
    -    *ppv = (LPVOID) &Msi_CF;
    -    IClassFactory_AddRef((IClassFactory*)*ppv);
    -    return S_OK;
    -  } else if (IsEqualCLSID (rclsid, &CLSID_IMsiServerMessage)) {
    -    *ppv = (LPVOID) &Msi_CF;
    -    IClassFactory_AddRef((IClassFactory*)*ppv);
    -    return S_OK;
    -  } else if (IsEqualCLSID (rclsid, &CLSID_IMsiServerX1)) {
    -    *ppv = (LPVOID) &Msi_CF;
    -    IClassFactory_AddRef((IClassFactory*)*ppv);
    -    return S_OK;
    -  } else if (IsEqualCLSID (rclsid, &CLSID_IMsiServerX2)) {
    -    *ppv = (LPVOID) &Msi_CF;
    -    IClassFactory_AddRef((IClassFactory*)*ppv);
    -    return S_OK;
    -  } else if (IsEqualCLSID (rclsid, &CLSID_IMsiServerX3)) {
    -    *ppv = (LPVOID) &Msi_CF;
    -    IClassFactory_AddRef((IClassFactory*)*ppv);
    -    return S_OK;
    -  }
    -  WARN("(%s, %s, %p): no interface found.\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
    -  return CLASS_E_CLASSNOTAVAILABLE;
    +HRESULT WINAPI MSI_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
    +{
    +    TRACE("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
    +
    +    if( IsEqualCLSID (rclsid, &CLSID_IMsiServer) ||
    +        IsEqualCLSID (rclsid, &CLSID_IMsiServerMessage) ||
    +        IsEqualCLSID (rclsid, &CLSID_IMsiServerX1) ||
    +        IsEqualCLSID (rclsid, &CLSID_IMsiServerX2) ||
    +        IsEqualCLSID (rclsid, &CLSID_IMsiServerX3) )
    +    {
    +        *ppv = (LPVOID) &Msi_CF;
    +        return S_OK;
    +    }
    +    return CLASS_E_CLASSNOTAVAILABLE;
     }
     
     /******************************************************************
    - *		DllGetVersion (MSI.@)
    + *    	DllGetVersion [MSI.@]
      */
     HRESULT WINAPI MSI_DllGetVersion(DLLVERSIONINFO *pdvi)
     {
    -  TRACE("%p\n",pdvi);
    +    TRACE("%p\n",pdvi);
       
    -  if (pdvi->cbSize != sizeof(DLLVERSIONINFO))
    -    return E_INVALIDARG;
    +    if (pdvi->cbSize != sizeof(DLLVERSIONINFO))
    +        return E_INVALIDARG;
       
    -  pdvi->dwMajorVersion = MSI_MAJORVERSION;
    -  pdvi->dwMinorVersion = MSI_MINORVERSION;
    -  pdvi->dwBuildNumber = MSI_BUILDNUMBER;
    -  pdvi->dwPlatformID = 1;
    +    pdvi->dwMajorVersion = MSI_MAJORVERSION;
    +    pdvi->dwMinorVersion = MSI_MINORVERSION;
    +    pdvi->dwBuildNumber = MSI_BUILDNUMBER;
    +    pdvi->dwPlatformID = 1;
       
    -  return S_OK;
    +    return S_OK;
     }
     
     /******************************************************************
    - *		DllCanUnloadNow (MSI.@)
    + *    	DllCanUnloadNow [MSI.@]
      */
     BOOL WINAPI MSI_DllCanUnloadNow(void)
     {
    -  return S_FALSE;
    +    return S_FALSE;
     }
     
     UINT WINAPI MsiEnumRelatedProductsW(LPCWSTR szUpgradeCode, DWORD dwReserved,
    @@ -1637,3 +1686,80 @@ UINT WINAPI MsiGetFeatureUsageA(LPCSTR szProduct, LPCSTR szFeature,
               pdwUseCount, pwDateUsed);
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
    +
    +UINT WINAPI MsiUseFeatureExW(LPCWSTR szProduct, LPCWSTR szFeature, 
    +                             DWORD dwInstallMode, DWORD dwReserved)
    +{
    +    FIXME("%s %s %li %li\n", debugstr_w(szProduct), debugstr_w(szFeature),
    +          dwInstallMode, dwReserved);
    +   
    +    return INSTALLSTATE_LOCAL; 
    +}
    +
    +UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR szComponent, 
    +                LPCWSTR szQualifier, DWORD dwInstallMode, LPWSTR szProduct,
    +                DWORD Unused1, DWORD Unused2, LPWSTR lpPathBuf, 
    +                DWORD* pcchPathBuf)
    +{
    +    FIXME("%s %s %li %s %li %li %p %p\n", debugstr_w(szComponent),
    +          debugstr_w(szQualifier), dwInstallMode, debugstr_w(szProduct),
    +          Unused1, Unused2, lpPathBuf, pcchPathBuf);
    +
    +    return ERROR_INDEX_ABSENT;
    +}
    +
    +USERINFOSTATE WINAPI MsiGetUserInfoW(LPCWSTR szProduct, LPWSTR lpUserNameBuf, 
    +                DWORD* pcchUserNameBuf, LPWSTR lpOrgNameBuf, 
    +                DWORD* pcchOrgNameBuf, LPWSTR lpSerialBuf, DWORD* pcchSerialBuf)
    +{
    +    FIXME("%s %p %p %p %p %p %p\n",debugstr_w(szProduct), lpUserNameBuf,
    +          pcchUserNameBuf, lpOrgNameBuf, pcchOrgNameBuf, lpSerialBuf,
    +          pcchSerialBuf);
    +  
    +    return USERINFOSTATE_UNKNOWN; 
    +}
    +
    +USERINFOSTATE WINAPI MsiGetUserInfoA(LPCSTR szProduct, LPSTR lpUserNameBuf, 
    +                DWORD* pcchUserNameBuf, LPSTR lpOrgNameBuf, 
    +                DWORD* pcchOrgNameBuf, LPSTR lpSerialBuf, DWORD* pcchSerialBuf)
    +{
    +    FIXME("%s %p %p %p %p %p %p\n",debugstr_a(szProduct), lpUserNameBuf,
    +          pcchUserNameBuf, lpOrgNameBuf, pcchOrgNameBuf, lpSerialBuf,
    +          pcchSerialBuf);
    +  
    +    return USERINFOSTATE_UNKNOWN; 
    +}
    +
    +UINT WINAPI MsiCollectUserInfoW(LPCWSTR szProduct)
    +{
    +    FIXME("%s\n",debugstr_w(szProduct));
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiCollectUserInfoA(LPCSTR szProduct)
    +{
    +    FIXME("%s\n",debugstr_a(szProduct));
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiCreateAndVerifyInstallerDirectory(void)
    +{
    +    FIXME("\n");
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiGetShortcutTargetA( LPCSTR szShortcutTarget,
    +                                  LPSTR szProductCode, LPSTR szFeatureId,
    +                                  LPSTR szComponentCode)
    +{
    +    FIXME("\n");
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiGetShortcutTargetW( LPCWSTR szShortcutTarget,
    +                                  LPWSTR szProductCode, LPWSTR szFeatureId,
    +                                  LPWSTR szComponentCode)
    +{
    +    FIXME("\n");
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    diff --git a/reactos/lib/msi/msi.rc b/reactos/lib/msi/msi.rc
    new file mode 100644
    index 00000000000..adf5138d0e3
    --- /dev/null
    +++ b/reactos/lib/msi/msi.rc
    @@ -0,0 +1,30 @@
    +/*
    + * Resources for MSI
    + *
    + * Copyright 2005 Mike McCormack
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "winuser.h"
    +#include "winnls.h"
    +
    +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
    +
    +#include "version.rc"
    +
    +#include "msi_En.rc"
    diff --git a/reactos/lib/msi/msi.spec b/reactos/lib/msi/msi.spec
    index 7b6029ae8f1..ad1cd0d0840 100644
    --- a/reactos/lib/msi/msi.spec
    +++ b/reactos/lib/msi/msi.spec
    @@ -6,8 +6,8 @@
     6 stdcall MsiAdvertiseProductW(wstr wstr wstr long)
     7 stdcall MsiCloseAllHandles()
     8 stdcall MsiCloseHandle(long)
    -9 stub MsiCollectUserInfoA
    -10 stub MsiCollectUserInfoW
    +9 stdcall MsiCollectUserInfoA(str)
    +10 stdcall MsiCollectUserInfoW(wstr)
     11 stub MsiConfigureFeatureA
     12 stub MsiConfigureFeatureFromDescriptorA
     13 stub MsiConfigureFeatureFromDescriptorW
    @@ -32,7 +32,7 @@
     32 stdcall MsiDatabaseOpenViewW(long wstr ptr)
     33 stdcall MsiDoActionA(long str)
     34 stdcall MsiDoActionW(long wstr)
    -35 stub MsiEnableUIPreview
    +35 stdcall MsiEnableUIPreview(long ptr)
     36 stdcall MsiEnumClientsA(str long ptr)
     37 stdcall MsiEnumClientsW(wstr long ptr)
     38 stdcall MsiEnumComponentQualifiersA(str long str ptr str ptr)
    @@ -79,7 +79,7 @@
     79 stdcall MsiGetTargetPathA(long str ptr ptr)
     80 stdcall MsiGetTargetPathW(long wstr ptr ptr)
     81 stub MsiGetUserInfoA
    -82 stub MsiGetUserInfoW
    +82 stdcall MsiGetUserInfoW(wstr ptr ptr ptr ptr ptr ptr)
     83 stub MsiInstallMissingComponentA
     84 stub MsiInstallMissingComponentW
     85 stub MsiInstallMissingFileA
    @@ -94,10 +94,10 @@
     94 stdcall MsiOpenPackageW(wstr ptr)
     95 stdcall MsiOpenProductA(str ptr)
     96 stdcall MsiOpenProductW(wstr ptr)
    -97 stub MsiPreviewBillboardA
    -98 stub MsiPreviewBillboardW
    -99 stub MsiPreviewDialogA
    -100 stub MsiPreviewDialogW
    +97 stdcall MsiPreviewBillboardA(long str str)
    +98 stdcall MsiPreviewBillboardW(long wstr wstr)
    +99 stdcall MsiPreviewDialogA(long str)
    +100 stdcall MsiPreviewDialogW(long wstr)
     101 stub MsiProcessAdvertiseScriptA
     102 stub MsiProcessAdvertiseScriptW
     103 stdcall MsiProcessMessage(long long long)
    @@ -148,9 +148,9 @@
     148 stdcall MsiSummaryInfoGetPropertyA(long long ptr ptr ptr ptr ptr)
     149 stdcall MsiSummaryInfoGetPropertyCount(long ptr)
     150 stdcall MsiSummaryInfoGetPropertyW(long long ptr ptr ptr ptr ptr)
    -151 stub MsiSummaryInfoPersist
    -152 stub MsiSummaryInfoSetPropertyA
    -153 stub MsiSummaryInfoSetPropertyW
    +151 stdcall MsiSummaryInfoPersist(long)
    +152 stdcall MsiSummaryInfoSetPropertyA(long long long long ptr str)
    +153 stdcall MsiSummaryInfoSetPropertyW(long long long long ptr wstr)
     154 stub MsiUseFeatureA
     155 stub MsiUseFeatureW
     156 stdcall MsiVerifyPackageA(str)
    @@ -186,21 +186,21 @@
     186 stub MsiCreateTransformSummaryInfoW
     187 stub MsiQueryFeatureStateFromDescriptorA
     188 stub MsiQueryFeatureStateFromDescriptorW
    -189 stub MsiConfigureProductExA
    -190 stub MsiConfigureProductExW
    +189 stdcall MsiConfigureProductExA(str long long str)
    +190 stdcall MsiConfigureProductExW(wstr long long wstr)
     191 stub MsiInvalidateFeatureCache
     192 stub MsiUseFeatureExA
    -193 stub MsiUseFeatureExW
    +193 stdcall MsiUseFeatureExW(wstr wstr long long)
     194 stdcall MsiGetFileVersionA(str str ptr str ptr)
     195 stdcall MsiGetFileVersionW(wstr wstr ptr wstr ptr)
     196 stdcall MsiLoadStringA(long long long long long)
     197 stdcall MsiLoadStringW(long long long long long)
     198 stdcall MsiMessageBoxA(long long long long long long)
     199 stdcall MsiMessageBoxW(long long long long long long)
    -200 stub MsiDecomposeDescriptorA
    -201 stub MsiDecomposeDescriptorW
    +200 stdcall MsiDecomposeDescriptorA(str ptr ptr ptr ptr)
    +201 stdcall MsiDecomposeDescriptorW(wstr ptr ptr ptr ptr)
     202 stub MsiProvideQualifiedComponentExA
    -203 stub MsiProvideQualifiedComponentExW
    +203 stdcall MsiProvideQualifiedComponentExW(wstr wstr long wstr long long ptr ptr)
     204 stdcall MsiEnumRelatedProductsA(str long long ptr)
     205 stdcall MsiEnumRelatedProductsW(wstr long long ptr)
     206 stub MsiSetFeatureAttributesA
    @@ -213,13 +213,13 @@
     213 stub MsiSourceListForceResolutionW
     214 stub MsiIsProductElevatedA
     215 stub MsiIsProductElevatedW
    -216 stub MsiGetShortcutTargetA
    -217 stub MsiGetShortcutTargetW
    +216 stdcall MsiGetShortcutTargetA(str ptr ptr ptr)
    +217 stdcall MsiGetShortcutTargetW(wstr ptr ptr ptr)
     218 stub MsiGetFileHashA
     219 stub MsiGetFileHashW
     220 stub MsiEnumComponentCostsA
     221 stub MsiEnumComponentCostsW
    -222 stub MsiCreateAndVerifyInstallerDirectory
    +222 stdcall MsiCreateAndVerifyInstallerDirectory()
     223 stdcall MsiGetFileSignatureInformationA(str long ptr ptr ptr)
     224 stdcall MsiGetFileSignatureInformationW(wstr long ptr ptr ptr)
     225 stdcall MsiProvideAssemblyA(str str long long str ptr)
    diff --git a/reactos/lib/msi/msi_En.rc b/reactos/lib/msi/msi_En.rc
    new file mode 100644
    index 00000000000..854b7a8cc8f
    --- /dev/null
    +++ b/reactos/lib/msi/msi_En.rc
    @@ -0,0 +1,33 @@
    +/*
    + * English resources for MSI
    + *
    + * Copyright 2005 Mike McCormack
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
    +
    +STRINGTABLE DISCARDABLE
    +{
    +	5 "path %s not found"
    +	9 "insert disk %s"
    +	10 "bad parameters"
    +	11 "enter which folder contains %s"
    +	12 "install source for feature missing"
    +	13 "network drive for feature missing"
    +	14 "feature from:"
    +	15 "choose which folder contains %s"
    +}
    diff --git a/reactos/lib/msi/msipriv.h b/reactos/lib/msi/msipriv.h
    index 306feca76f8..98e735056fa 100644
    --- a/reactos/lib/msi/msipriv.h
    +++ b/reactos/lib/msi/msipriv.h
    @@ -1,7 +1,7 @@
     /*
      * Implementation of the Microsoft Installer (msi.dll)
      *
    - * Copyright 2002 Mike McCormack for CodeWeavers
    + * Copyright 2002-2005 Mike McCormack for CodeWeavers
      *
      * This library is free software; you can redistribute it and/or
      * modify it under the terms of the GNU Lesser General Public
    @@ -53,7 +53,7 @@ struct tagMSIOBJECTHDR
     {
         UINT magic;
         UINT type;
    -    UINT refcount;
    +    DWORD refcount;
         msihandledestructor destructor;
         struct tagMSIOBJECTHDR *next;
         struct tagMSIOBJECTHDR *prev;
    @@ -161,7 +161,7 @@ typedef struct tagMSIVIEWOPS
         /*
          * modify - not yet implemented properly
          */
    -    UINT (*modify)( struct tagMSIVIEW *, MSIMODIFY, MSIHANDLE );
    +    UINT (*modify)( struct tagMSIVIEW *, MSIMODIFY, MSIRECORD * );
     
         /*
          * delete - destroys the structure completely
    @@ -182,6 +182,9 @@ struct tagMSIVIEW
         MSIVIEWOPS   *ops;
     };
     
    +struct msi_dialog_tag;
    +typedef struct msi_dialog_tag msi_dialog;
    +
     typedef struct tagMSIPACKAGE
     {
         MSIOBJECTHDR hdr;
    @@ -196,14 +199,37 @@ typedef struct tagMSIPACKAGE
         UINT loaded_files;
         LPWSTR ActionFormat;
         LPWSTR LastAction;
    +
    +    LPWSTR *DeferredAction;
    +    UINT DeferredActionCount;
    +
    +    LPWSTR *CommitAction;
    +    UINT CommitActionCount;
    +
    +    struct tagMSIRUNNINGACTION *RunningAction;
    +    UINT RunningActionCount;
    +
    +    LPWSTR PackagePath;
    +
    +    UINT CurrentInstallState;
    +    msi_dialog *dialog;
    +    LPWSTR next_dialog;
     } MSIPACKAGE;
     
    +typedef struct tagMSIPREVIEW
    +{
    +    MSIOBJECTHDR hdr;
    +    MSIPACKAGE *package;
    +    msi_dialog *dialog;
    +} MSIPREVIEW;
    +
     #define MSIHANDLETYPE_ANY 0
     #define MSIHANDLETYPE_DATABASE 1
     #define MSIHANDLETYPE_SUMMARYINFO 2
     #define MSIHANDLETYPE_VIEW 3
     #define MSIHANDLETYPE_RECORD 4
     #define MSIHANDLETYPE_PACKAGE 5
    +#define MSIHANDLETYPE_PREVIEW 6
     
     #define MSI_MAJORVERSION 2
     #define MSI_MINORVERSION 0
    @@ -212,7 +238,7 @@ typedef struct tagMSIPACKAGE
     #define GUID_SIZE 39
     
     #define MSIHANDLE_MAGIC 0x4d434923
    -#define MSIMAXHANDLES 0x80
    +#define MSIMAXHANDLES 0xf0
     
     #define MSISUMINFO_OFFSET 0x30LL
     
    @@ -271,9 +297,11 @@ extern BOOL TABLE_Exists( MSIDATABASE *db, LPWSTR name );
     
     extern UINT read_raw_stream_data( MSIDATABASE*, LPCWSTR stname,
                                   USHORT **pdata, UINT *psz );
    +
    +/* action internals */
     extern UINT ACTION_DoTopLevelINSTALL( MSIPACKAGE *, LPCWSTR, LPCWSTR );
    -extern void ACTION_remove_tracked_tempfiles( MSIPACKAGE* );
     extern void ACTION_free_package_structures( MSIPACKAGE* );
    +extern UINT ACTION_DialogBox( MSIPACKAGE*, LPCWSTR);
     
     /* record internals */
     extern UINT MSI_RecordSetIStream( MSIRECORD *, unsigned int, IStream *);
    @@ -296,6 +324,9 @@ extern void enum_stream_names( IStorage *stg );
     /* database internals */
     extern UINT MSI_OpenDatabaseW( LPCWSTR, LPCWSTR, MSIDATABASE ** );
     extern UINT MSI_DatabaseOpenViewW(MSIDATABASE *, LPCWSTR, MSIQUERY ** );
    +extern UINT MSI_OpenQuery( MSIDATABASE *, MSIQUERY **, LPCWSTR, ... );
    +typedef UINT (*record_func)( MSIRECORD *rec, LPVOID param );
    +extern UINT MSI_IterateRecords( MSIQUERY *, DWORD *, record_func, LPVOID );
     
     /* view internals */
     extern UINT MSI_ViewExecute( MSIQUERY*, MSIRECORD * );
    @@ -303,26 +334,51 @@ extern UINT MSI_ViewFetch( MSIQUERY*, MSIRECORD ** );
     extern UINT MSI_ViewClose( MSIQUERY* );
     
     /* package internals */
    -extern UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE ** );
    -extern UINT MSI_SetTargetPathW( MSIPACKAGE *, LPCWSTR, LPCWSTR);
    +extern MSIPACKAGE *MSI_CreatePackage( MSIDATABASE * );
    +extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE ** );
    +extern UINT MSI_SetTargetPathW( MSIPACKAGE *, LPCWSTR, LPCWSTR );
     extern UINT MSI_SetPropertyW( MSIPACKAGE *, LPCWSTR, LPCWSTR );
    -extern INT MSI_ProcessMessage( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD* );
    -extern UINT MSI_GetPropertyW( MSIPACKAGE *, LPCWSTR, LPWSTR, DWORD*);
    +extern INT MSI_ProcessMessage( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD * );
    +extern UINT MSI_GetPropertyW( MSIPACKAGE *, LPCWSTR, LPWSTR, DWORD * );
     extern MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *, LPCWSTR );
     extern UINT MSI_SetPropertyW( MSIPACKAGE *, LPCWSTR, LPCWSTR );
    -extern UINT MSI_GetComponentStateW(MSIPACKAGE *, LPWSTR, INSTALLSTATE *, INSTALLSTATE *);
    -extern UINT MSI_GetFeatureStateW(MSIPACKAGE *, LPWSTR, INSTALLSTATE *, INSTALLSTATE *);
    +extern UINT MSI_GetComponentStateW( MSIPACKAGE *, LPWSTR, INSTALLSTATE *, INSTALLSTATE * );
    +extern UINT MSI_GetFeatureStateW( MSIPACKAGE *, LPWSTR, INSTALLSTATE *, INSTALLSTATE * );
     
    +/* for deformating */
    +extern UINT MSI_FormatRecordW(MSIPACKAGE* package, MSIRECORD* record, 
    +                              LPWSTR buffer, DWORD *size);
    +    
     /* registry data encoding/decoding functions */
    -BOOL unsquash_guid(LPCWSTR in, LPWSTR out);
    -BOOL squash_guid(LPCWSTR in, LPWSTR out);
    -BOOL encode_base85_guid(GUID *,LPWSTR);
    -BOOL decode_base85_guid(LPCWSTR,GUID*);
    +extern BOOL unsquash_guid(LPCWSTR in, LPWSTR out);
    +extern BOOL squash_guid(LPCWSTR in, LPWSTR out);
    +extern BOOL encode_base85_guid(GUID *,LPWSTR);
    +extern BOOL decode_base85_guid(LPCWSTR,GUID*);
    +extern UINT MSIREG_OpenUninstallKey(LPCWSTR szProduct, HKEY* key, BOOL create);
    +extern UINT MSIREG_OpenUserProductsKey(LPCWSTR szProduct, HKEY* key, BOOL create);
    +extern UINT MSIREG_OpenFeatures(HKEY* key);
    +extern UINT MSIREG_OpenFeaturesKey(LPCWSTR szProduct, HKEY* key, BOOL create);
    +extern UINT MSIREG_OpenComponents(HKEY* key);
    +extern UINT MSIREG_OpenComponentsKey(LPCWSTR szComponent, HKEY* key, BOOL create);
    +extern UINT MSIREG_OpenProductsKey(LPCWSTR szProduct, HKEY* key, BOOL create);
    +extern UINT MSIREG_OpenUserFeaturesKey(LPCWSTR szProduct, HKEY* key, BOOL create);
    +
    +/* msi dialog interface */
    +typedef VOID (*msi_dialog_event_handler)( MSIPACKAGE*, LPCWSTR, LPCWSTR, msi_dialog* );
    +extern msi_dialog *msi_dialog_create( MSIPACKAGE*, LPCWSTR, msi_dialog_event_handler );
    +extern UINT msi_dialog_run_message_loop( msi_dialog* );
    +extern void msi_dialog_end_dialog( msi_dialog* );
    +extern void msi_dialog_check_messages( msi_dialog*, HANDLE );
    +extern void msi_dialog_do_preview( msi_dialog* );
    +extern void msi_dialog_destroy( msi_dialog* );
    +extern void msi_dialog_register_class( void );
    +extern void msi_dialog_unregister_class( void );
     
     /* UI globals */
     extern INSTALLUILEVEL gUILevel;
     extern HWND gUIhwnd;
    -extern INSTALLUI_HANDLERA gUIHandler;
    +extern INSTALLUI_HANDLERA gUIHandlerA;
    +extern INSTALLUI_HANDLERW gUIHandlerW;
     extern DWORD gUIFilter;
     extern LPVOID gUIContext;
     extern WCHAR gszLogFile[MAX_PATH];
    diff --git a/reactos/lib/msi/msiquery.c b/reactos/lib/msi/msiquery.c
    index f856626d024..29665bd6fa3 100644
    --- a/reactos/lib/msi/msiquery.c
    +++ b/reactos/lib/msi/msiquery.c
    @@ -38,30 +38,6 @@
     
     WINE_DEFAULT_DEBUG_CHANNEL(msi);
     
    -#if 0
    -typedef struct tagMSIQUERY
    -{
    -    MSIOBJECTHDR hdr;
    -    MSIVIEW *view;
    -    UINT row;
    -    MSIDATABASE *db;
    -} MSIQUERY;
    -#endif
    -
    -UINT WINAPI MsiDatabaseIsTablePersistentA(
    -              MSIHANDLE hDatabase, LPSTR szTableName)
    -{
    -    FIXME("%lx %s\n", hDatabase, debugstr_a(szTableName));
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    -}
    -
    -UINT WINAPI MsiDatabaseIsTablePersistentW(
    -              MSIHANDLE hDatabase, LPWSTR szTableName)
    -{
    -    FIXME("%lx %s\n", hDatabase, debugstr_w(szTableName));
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    -}
    -
     void MSI_CloseView( MSIOBJECTHDR *arg )
     {
         MSIQUERY *query = (MSIQUERY*) arg;
    @@ -158,6 +134,87 @@ UINT MSI_DatabaseOpenViewW(MSIDATABASE *db,
         return r;
     }
     
    +UINT MSI_OpenQuery( MSIDATABASE *db, MSIQUERY **view, LPCWSTR fmt, ... )
    +{
    +    LPWSTR szQuery;
    +    LPCWSTR p;
    +    UINT sz, rc;
    +    va_list va;
    +
    +    /* figure out how much space we need to allocate */
    +    va_start(va, fmt);
    +    sz = strlenW(fmt) + 1;
    +    p = fmt;
    +    while (*p)
    +    {
    +        p = strchrW(p, '%');
    +        if (!p)
    +            break;
    +        p++;
    +        switch (*p)
    +        {
    +        case 's':  /* a string */
    +            sz += strlenW(va_arg(va,LPCWSTR));
    +            break;
    +        case 'd':
    +        case 'i':  /* an integer -2147483648 seems to be longest */
    +            sz += 3*sizeof(int);
    +            (void)va_arg(va,int);
    +            break;
    +        case '%':  /* a single % - leave it alone */
    +            break;
    +        default:
    +            FIXME("Unhandled character type %c\n",*p);
    +        }
    +        p++;
    +    }
    +    va_end(va);
    +
    +    /* construct the string */
    +    szQuery = HeapAlloc(GetProcessHeap(), 0, sz*sizeof(WCHAR));
    +    va_start(va, fmt);
    +    vsnprintfW(szQuery, sz, fmt, va);
    +    va_end(va);
    +
    +    /* perform the query */
    +    rc = MSI_DatabaseOpenViewW(db, szQuery, view);
    +    HeapFree(GetProcessHeap(), 0, szQuery);
    +    return rc;
    +}
    +
    +UINT MSI_IterateRecords( MSIQUERY *view, DWORD *count,
    +                         record_func func, LPVOID param )
    +{
    +    MSIRECORD *rec = NULL;
    +    UINT r, n = 0, max = 0;
    +
    +    r = MSI_ViewExecute( view, NULL );
    +    if( r != ERROR_SUCCESS )
    +        return r;
    +
    +    if( count )
    +        max = *count;
    +
    +    /* iterate a query */
    +    for( n = 0; (max == 0) || (n < max); n++ )
    +    {
    +        r = MSI_ViewFetch( view, &rec );
    +        if( r != ERROR_SUCCESS )
    +            break;
    +        r = func( rec, param );
    +        msiobj_release( &rec->hdr );
    +        if( r != ERROR_SUCCESS )
    +            break;
    +    }
    +
    +    MSI_ViewClose( view );
    +
    +    if( count )
    +        *count = n;
    +
    +    return r;
    +}
    +
     UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE hdb,
                   LPCWSTR szQuery, MSIHANDLE *phView)
     {
    @@ -358,7 +415,10 @@ UINT WINAPI MsiViewExecute(MSIHANDLE hView, MSIHANDLE hRec)
             }
         }
     
    +    msiobj_lock( &rec->hdr );
         ret = MSI_ViewExecute( query, rec );
    +    msiobj_unlock( &rec->hdr );
    +
     out:
         if( query )
             msiobj_release( &query->hdr );
    @@ -370,10 +430,10 @@ out:
     
     UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView, MSICOLINFO info, MSIHANDLE *hRec)
     {
    -    MSIVIEW *view;
    -    MSIQUERY *query;
    -    MSIHANDLE handle;
    -    UINT ret, i, count = 0, type;
    +    MSIVIEW *view = NULL;
    +    MSIQUERY *query = NULL;
    +    MSIRECORD *rec = NULL;
    +    UINT r = ERROR_FUNCTION_FAILED, i, count = 0, type;
         LPWSTR name;
     
         TRACE("%ld %d %p\n", hView, info, hRec);
    @@ -384,34 +444,82 @@ UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView, MSICOLINFO info, MSIHANDLE *hR
     
         view = query->view;
         if( !view )
    -        return ERROR_FUNCTION_FAILED;
    +        goto out;
     
         if( !view->ops->get_dimensions )
    -        return ERROR_FUNCTION_FAILED;
    +        goto out;
     
    -    ret = view->ops->get_dimensions( view, NULL, &count );
    -    if( ret )
    -        return ret;
    +    r = view->ops->get_dimensions( view, NULL, &count );
    +    if( r )
    +        goto out;
         if( !count )
    -        return ERROR_INVALID_PARAMETER;
    +    {
    +        r = ERROR_INVALID_PARAMETER;
    +        goto out;
    +    }
     
    -    handle = MsiCreateRecord( count );
    -    if( !handle )
    +    rec = MSI_CreateRecord( count );
    +    if( !rec )
             return ERROR_FUNCTION_FAILED;
     
         for( i=0; iops->get_column_info( view, i+1, &name, &type );
    -        if( ret != ERROR_SUCCESS )
    +        r = view->ops->get_column_info( view, i+1, &name, &type );
    +        if( r != ERROR_SUCCESS )
                 continue;
    -        MsiRecordSetStringW( handle, i+1, name );
    +        MSI_RecordSetStringW( rec, i+1, name );
             HeapFree( GetProcessHeap(), 0, name );
         }
     
    -    *hRec = handle;
    +    *hRec = alloc_msihandle( &rec->hdr );
     
    -    return ERROR_SUCCESS;
    +out:
    +    if( query )
    +        msiobj_release( &query->hdr );
    +    if( rec )
    +        msiobj_release( &rec->hdr );
    +
    +    return r;
    +}
    +
    +UINT WINAPI MsiViewModify( MSIHANDLE hView, MSIMODIFY eModifyMode,
    +                MSIHANDLE hRecord)
    +{
    +    MSIVIEW *view = NULL;
    +    MSIQUERY *query = NULL;
    +    MSIRECORD *rec = NULL;
    +    UINT r = ERROR_FUNCTION_FAILED;
    +
    +    TRACE("%ld %x %ld\n", hView, eModifyMode, hRecord);
    +
    +    query = msihandle2msiinfo( hView, MSIHANDLETYPE_VIEW );
    +    if( !query )
    +        return ERROR_INVALID_HANDLE;
    +
    +    view = query->view;
    +    if( !view )
    +        goto out;
    +
    +    if( !view->ops->modify )
    +        goto out;
    +
    +    rec = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
    +    if( !rec )
    +    {
    +        r = ERROR_INVALID_HANDLE;
    +        goto out;
    +    }
    +
    +    r = view->ops->modify( view, eModifyMode, rec );
    +
    +out:
    +    if( query )
    +        msiobj_release( &query->hdr );
    +    if( rec )
    +        msiobj_release( &rec->hdr );
    +
    +    return r;
     }
     
     UINT WINAPI MsiDatabaseApplyTransformA( MSIHANDLE hdb, 
    @@ -461,6 +569,8 @@ UINT WINAPI MsiDatabaseCommit( MSIHANDLE hdb )
     
         /* FIXME: unlock the database */
     
    +    msiobj_release( &db->hdr );
    +
         return r;
     }
     
    @@ -478,9 +588,16 @@ UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE hdb,
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    -UINT WINAPI MsiViewModify(MSIHANDLE hView, MSIMODIFY eModifyMode, MSIHANDLE
    -hRecord)
    +UINT WINAPI MsiDatabaseIsTablePersistentA(
    +              MSIHANDLE hDatabase, LPSTR szTableName)
     {
    -    FIXME("%ld %x %ld\n",hView, eModifyMode, hRecord);
    +    FIXME("%lx %s\n", hDatabase, debugstr_a(szTableName));
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiDatabaseIsTablePersistentW(
    +              MSIHANDLE hDatabase, LPWSTR szTableName)
    +{
    +    FIXME("%lx %s\n", hDatabase, debugstr_w(szTableName));
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
    diff --git a/reactos/lib/msi/order.c b/reactos/lib/msi/order.c
    index f37bdf10972..c23b1ef89ef 100644
    --- a/reactos/lib/msi/order.c
    +++ b/reactos/lib/msi/order.c
    @@ -187,8 +187,7 @@ static UINT ORDER_close( struct tagMSIVIEW *view )
         if( !ov->table )
              return ERROR_FUNCTION_FAILED;
     
    -    if( ov->reorder )
    -        HeapFree( GetProcessHeap(), 0, ov->reorder );
    +    HeapFree( GetProcessHeap(), 0, ov->reorder );
         ov->reorder = NULL;
     
         return ov->table->ops->close( ov->table );
    @@ -219,16 +218,17 @@ static UINT ORDER_get_column_info( struct tagMSIVIEW *view,
         return ov->table->ops->get_column_info( ov->table, n, name, type );
     }
     
    -static UINT ORDER_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT ORDER_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
    +                MSIRECORD *rec )
     {
         MSIORDERVIEW *ov = (MSIORDERVIEW*)view;
     
    -    TRACE("%p %d %ld\n", ov, eModifyMode, hrec );
    +    TRACE("%p %d %p\n", ov, eModifyMode, rec );
     
         if( !ov->table )
              return ERROR_FUNCTION_FAILED;
     
    -    return ov->table->ops->modify( ov->table, eModifyMode, hrec );
    +    return ov->table->ops->modify( ov->table, eModifyMode, rec );
     }
     
     static UINT ORDER_delete( struct tagMSIVIEW *view )
    @@ -240,8 +240,7 @@ static UINT ORDER_delete( struct tagMSIVIEW *view )
         if( ov->table )
             ov->table->ops->delete( ov->table );
     
    -    if( ov->reorder )
    -        HeapFree( GetProcessHeap(), 0, ov->reorder );
    +    HeapFree( GetProcessHeap(), 0, ov->reorder );
         ov->reorder = NULL;
     
         msiobj_release( &ov->db->hdr );
    diff --git a/reactos/lib/msi/package.c b/reactos/lib/msi/package.c
    index 639af427eaa..72d1a8deda4 100644
    --- a/reactos/lib/msi/package.c
    +++ b/reactos/lib/msi/package.c
    @@ -53,36 +53,13 @@ void MSI_FreePackage( MSIOBJECTHDR *arg)
     {
         MSIPACKAGE *package= (MSIPACKAGE*) arg;
     
    -    ACTION_remove_tracked_tempfiles(package);
    +    if( package->dialog )
    +        msi_dialog_destroy( package->dialog );
         ACTION_free_package_structures(package);
     
         msiobj_release( &package->db->hdr );
     }
     
    -UINT WINAPI MsiOpenPackageA(LPCSTR szPackage, MSIHANDLE *phPackage)
    -{
    -    LPWSTR szwPack = NULL;
    -    UINT len, ret;
    -
    -    TRACE("%s %p\n",debugstr_a(szPackage), phPackage);
    -
    -    if( szPackage )
    -    {
    -        len = MultiByteToWideChar( CP_ACP, 0, szPackage, -1, NULL, 0 );
    -        szwPack = HeapAlloc( GetProcessHeap(), 0, len * sizeof (WCHAR) );
    -        if( szwPack )
    -            MultiByteToWideChar( CP_ACP, 0, szPackage, -1, szwPack, len );
    -    }
    -
    -    ret = MsiOpenPackageW( szwPack, phPackage );
    -
    -    if( szwPack )
    -        HeapFree( GetProcessHeap(), 0, szwPack );
    -
    -    return ret;
    -}
    -
    -
     static const UINT clone_properties(MSIDATABASE *db)
     {
         MSIQUERY * view = NULL;
    @@ -102,7 +79,7 @@ static const UINT clone_properties(MSIDATABASE *db)
            '`','_','P','r','o','p','e','r','t','y','`',' ',
            '(','`','_','P','r','o','p','e','r','t','y','`',',',
            '`','V','a','l','u','e','`',')',' ',
    -       'V','A','L','U','E','S',' ','(','?',')',0};
    +       'V','A','L','U','E','S',' ','(','?',',','?',')',0};
     
         /* create the temporary properties table */
         rc = MSI_DatabaseOpenViewW(db, CreateSql, &view);
    @@ -377,39 +354,18 @@ Privileged
         ReleaseDC(0, dc);
     }
     
    -UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
    +MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *db )
     {
    -    UINT rc;
    -    MSIDATABASE *db = NULL;
    +    static const WCHAR szLevel[] = { 'U','I','L','e','v','e','l',0 };
    +    static const WCHAR szpi[] = {'%','i',0};
         MSIPACKAGE *package = NULL;
         WCHAR uilevel[10];
    -    UINT ret = ERROR_FUNCTION_FAILED;
     
    -    static const WCHAR OriginalDatabase[] =
    -{'O','r','i','g','i','n','a','l','D','a','t','a','b','a','s','e',0};
    -    static const WCHAR Database[] =
    -{'D','A','T','A','B','A','S','E',0};
    -    static const WCHAR szpi[] = {'%','i',0};
    -    static const WCHAR szLevel[] = { 'U','I','L','e','v','e','l',0 };
    -
    -    TRACE("%s %p\n",debugstr_w(szPackage), pPackage);
    -
    -    if (szPackage[0] == '#')
    -    {
    -        INT handle = atoiW(&szPackage[1]);
    -        db = msihandle2msiinfo( handle , MSIHANDLETYPE_DATABASE);
    -    }
    -    else
    -    {
    -        rc = MSI_OpenDatabaseW(szPackage, MSIDBOPEN_READONLY, &db);
    -        if (rc != ERROR_SUCCESS)
    -            return ERROR_FUNCTION_FAILED;
    -    }
    +    TRACE("%p\n", db);
     
         package = alloc_msiobject( MSIHANDLETYPE_PACKAGE, sizeof (MSIPACKAGE),
                                    MSI_FreePackage );
    -
    -    if (package)
    +    if( package )
         {
             msiobj_addref( &db->hdr );
     
    @@ -424,35 +380,78 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
             package->loaded_files = 0;
             package->ActionFormat = NULL;
             package->LastAction = NULL;
    +        package->dialog = NULL;
    +        package->next_dialog = NULL;
     
             /* OK, here is where we do a slew of things to the database to 
              * prep for all that is to come as a package */
     
             clone_properties(db);
             set_installer_properties(package);
    -        MSI_SetPropertyW(package, OriginalDatabase, szPackage);
    -        MSI_SetPropertyW(package, Database, szPackage);
             sprintfW(uilevel,szpi,gUILevel);
             MSI_SetPropertyW(package, szLevel, uilevel);
    -
    -        msiobj_addref( &package->hdr );
    -        *pPackage = package;
    -        ret = ERROR_SUCCESS;
         }
     
    -    if( package )
    -        msiobj_release( &package->hdr );
    -    if( db )
    -        msiobj_release( &db->hdr );
    -
    -    return ret;
    +    return package;
     }
     
    -UINT WINAPI MsiOpenPackageW(LPCWSTR szPackage, MSIHANDLE *phPackage)
    +UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
    +{
    +    MSIDATABASE *db = NULL;
    +    MSIPACKAGE *package;
    +    MSIHANDLE handle;
    +
    +    TRACE("%s %p\n", debugstr_w(szPackage), pPackage);
    +
    +    if( szPackage[0] == '#' )
    +    {
    +        handle = atoiW(&szPackage[1]);
    +        db = msihandle2msiinfo( handle, MSIHANDLETYPE_DATABASE );
    +        if( !db )
    +            return ERROR_INVALID_HANDLE;
    +    }
    +    else
    +    {
    +        UINT r = MSI_OpenDatabaseW(szPackage, MSIDBOPEN_READONLY, &db);
    +        if( r != ERROR_SUCCESS )
    +            return r;
    +    }
    +
    +    package = MSI_CreatePackage( db );
    +    msiobj_release( &db->hdr );
    +    if( !package )
    +        return ERROR_FUNCTION_FAILED;
    +
    +    /* 
    +     * FIXME:  I don't think this is right.  Maybe we should be storing the
    +     * name of the database in the MSIDATABASE structure and fetching this
    +     * info from there, or maybe this is only relevant to cached databases.
    +     */
    +    if( szPackage[0] != '#' )
    +    {
    +        static const WCHAR OriginalDatabase[] =
    +          {'O','r','i','g','i','n','a','l','D','a','t','a','b','a','s','e',0};
    +        static const WCHAR Database[] = {'D','A','T','A','B','A','S','E',0};
    +
    +        MSI_SetPropertyW( package, OriginalDatabase, szPackage );
    +        MSI_SetPropertyW( package, Database, szPackage );
    +    }
    +
    +    *pPackage = package;
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +UINT WINAPI MsiOpenPackageExW(LPCWSTR szPackage, DWORD dwOptions, MSIHANDLE *phPackage)
     {
         MSIPACKAGE *package = NULL;
         UINT ret;
     
    +    TRACE("%s %08lx %p\n",debugstr_w(szPackage), dwOptions, phPackage);
    +
    +    if( dwOptions )
    +        FIXME("dwOptions %08lx not supported\n", dwOptions);
    +
         ret = MSI_OpenPackageW( szPackage, &package);
         if( ret == ERROR_SUCCESS )
         {
    @@ -462,16 +461,34 @@ UINT WINAPI MsiOpenPackageW(LPCWSTR szPackage, MSIHANDLE *phPackage)
         return ret;
     }
     
    -UINT WINAPI MsiOpenPackageExA(LPCSTR szPackage, DWORD dwOptions, MSIHANDLE *phPackage)
    +UINT WINAPI MsiOpenPackageW(LPCWSTR szPackage, MSIHANDLE *phPackage)
     {
    -    FIXME("%s 0x%08lx %p\n",debugstr_a(szPackage), dwOptions, phPackage);
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    +    return MsiOpenPackageExW( szPackage, 0, phPackage );
     }
     
    -UINT WINAPI MsiOpenPackageExW(LPCWSTR szPackage, DWORD dwOptions, MSIHANDLE *phPackage)
    +UINT WINAPI MsiOpenPackageExA(LPCSTR szPackage, DWORD dwOptions, MSIHANDLE *phPackage)
     {
    -    FIXME("%s 0x%08lx %p\n",debugstr_w(szPackage), dwOptions, phPackage);
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    +    LPWSTR szwPack = NULL;
    +    UINT len, ret;
    +
    +    if( szPackage )
    +    {
    +        len = MultiByteToWideChar( CP_ACP, 0, szPackage, -1, NULL, 0 );
    +        szwPack = HeapAlloc( GetProcessHeap(), 0, len * sizeof (WCHAR) );
    +        if( szwPack )
    +            MultiByteToWideChar( CP_ACP, 0, szPackage, -1, szwPack, len );
    +    }
    +
    +    ret = MsiOpenPackageExW( szwPack, dwOptions, phPackage );
    +
    +    HeapFree( GetProcessHeap(), 0, szwPack );
    +
    +    return ret;
    +}
    +
    +UINT WINAPI MsiOpenPackageA(LPCSTR szPackage, MSIHANDLE *phPackage)
    +{
    +    return MsiOpenPackageExA( szPackage, 0, phPackage );
     }
     
     MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE hInstall)
    @@ -555,7 +572,7 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType,
             HeapFree(GetProcessHeap(),0,tmp);
         }
     
    -    TRACE("(%p %lx %lx %s)\n",gUIHandler, gUIFilter, log_type,
    +    TRACE("(%p %lx %lx %s)\n",gUIHandlerA, gUIFilter, log_type,
                                  debugstr_w(message));
     
         /* convert it to ASCII */
    @@ -565,9 +582,9 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType,
         WideCharToMultiByte( CP_ACP, 0, message, -1,
                              msg, len, NULL, NULL );
     
    -    if (gUIHandler && (gUIFilter & log_type))
    +    if (gUIHandlerA && (gUIFilter & log_type))
         {
    -        rc = gUIHandler(gUIContext,eMessageType,msg);
    +        rc = gUIHandlerA(gUIContext,eMessageType,msg);
         }
     
         if ((!rc) && (gszLogFile[0]) && !((eMessageType & 0xff000000) ==
    @@ -649,10 +666,8 @@ UINT WINAPI MsiSetPropertyA( MSIHANDLE hInstall, LPCSTR szName, LPCSTR szValue)
         hr = MsiSetPropertyW( hInstall, szwName, szwValue);
     
     end:
    -    if( szwName )
    -        HeapFree( GetProcessHeap(), 0, szwName );
    -    if( szwValue )
    -        HeapFree( GetProcessHeap(), 0, szwValue );
    +    HeapFree( GetProcessHeap(), 0, szwName );
    +    HeapFree( GetProcessHeap(), 0, szwValue );
     
         return hr;
     }
    @@ -667,7 +682,7 @@ UINT MSI_SetPropertyW( MSIPACKAGE *package, LPCWSTR szName, LPCWSTR szValue)
          {'I','N','S','E','R','T',' ','i','n','t','o',' ','`','_','P','r','o','p'
     ,'e','r','t','y','`',' ','(','`','_','P','r','o','p','e','r','t','y','`'
     ,',','`','V','a','l','u','e','`',')',' ','V','A','L','U','E','S'
    -,' ','(','?',')',0};
    +,' ','(','?',',','?',')',0};
         static const WCHAR Update[]=
          {'U','P','D','A','T','E',' ','_','P','r','o','p','e'
     ,'r','t','y',' ','s','e','t',' ','`','V','a','l','u','e','`',' ','='
    @@ -848,7 +863,12 @@ UINT WINAPI MsiGetPropertyA(MSIHANDLE hInstall, LPCSTR szName, LPSTR szValueBuf,
             return ERROR_INVALID_HANDLE;
         ret = MSI_GetPropertyA(package, szName, szValueBuf, pchValueBuf );
         msiobj_release( &package->hdr );
    -    return ret;
    +
    +    /* MsiGetProperty does not return error codes on missing properties */
    +    if (ret!= ERROR_MORE_DATA)
    +        return ERROR_SUCCESS;
    +    else
    +        return ret;
     }
     
       
    @@ -870,5 +890,10 @@ UINT WINAPI MsiGetPropertyW(MSIHANDLE hInstall, LPCWSTR szName,
             return ERROR_INVALID_HANDLE;
         ret = MSI_GetPropertyW(package, szName, szValueBuf, pchValueBuf );
         msiobj_release( &package->hdr );
    -    return ret;
    +
    +    /* MsiGetProperty does not return error codes on missing properties */
    +    if (ret!= ERROR_MORE_DATA)
    +        return ERROR_SUCCESS;
    +    else
    +        return ret;
     }
    diff --git a/reactos/lib/msi/preview.c b/reactos/lib/msi/preview.c
    new file mode 100644
    index 00000000000..03c7436ddd2
    --- /dev/null
    +++ b/reactos/lib/msi/preview.c
    @@ -0,0 +1,164 @@
    +/*
    + * Implementation of the Microsoft Installer (msi.dll)
    + *
    + * Copyright 2005 Mike McCormack for CodeWeavers
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "winnls.h"
    +#include "msi.h"
    +#include "msipriv.h"
    +
    +#include "wine/debug.h"
    +#include "wine/unicode.h"
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(msi);
    +
    +static void MSI_ClosePreview( MSIOBJECTHDR *arg )
    +{
    +    MSIPREVIEW *preview = (MSIPREVIEW *) arg;
    +
    +    msiobj_release( &preview->package->hdr );
    +}
    +
    +MSIPREVIEW *MSI_EnableUIPreview( MSIDATABASE *db )
    +{
    +    MSIPREVIEW *preview = NULL;
    +    MSIPACKAGE *package;
    +
    +    package = MSI_CreatePackage( db );
    +    if( package )
    +    {
    +        preview = alloc_msiobject( MSIHANDLETYPE_PREVIEW, sizeof (MSIPREVIEW),
    +                               MSI_ClosePreview );
    +        if( preview )
    +        {
    +            preview->package = package;
    +            preview->dialog = 0;
    +            msiobj_addref( &package->hdr );
    +        }
    +        msiobj_release( &package->hdr );
    +    }
    +    return preview;
    +}
    +
    +UINT WINAPI MsiEnableUIPreview( MSIHANDLE hdb, MSIHANDLE* phPreview )
    +{
    +    MSIDATABASE *db;
    +    MSIPREVIEW *preview;
    +    UINT r = ERROR_FUNCTION_FAILED;
    +
    +    TRACE("%ld %p\n", hdb, phPreview);
    +
    +    db = msihandle2msiinfo( hdb, MSIHANDLETYPE_DATABASE );
    +    if( !db )
    +        return ERROR_INVALID_HANDLE;
    +    preview = MSI_EnableUIPreview( db );
    +    if( preview )
    +    {
    +        *phPreview = alloc_msihandle( &preview->hdr );
    +        msiobj_release( &preview->hdr );
    +        r = ERROR_SUCCESS;
    +    }
    +
    +    return r;
    +}
    +
    +static VOID preview_event_handler( MSIPACKAGE *package, LPCWSTR event,
    +                                   LPCWSTR argument, msi_dialog *dialog )
    +{
    +    MESSAGE("Preview dialog event '%s' (arg='%s')\n",
    +            debugstr_w( event ), debugstr_w( argument ));
    +}
    +
    +UINT MSI_PreviewDialogW( MSIPREVIEW *preview, LPCWSTR szDialogName )
    +{
    +    msi_dialog *dialog = NULL;
    +    UINT r = ERROR_SUCCESS;
    +
    +    if( preview->dialog )
    +        msi_dialog_destroy( preview->dialog );
    +
    +    /* an empty name means we should just destroy the current preview dialog */
    +    if( szDialogName )
    +    {
    +        dialog = msi_dialog_create( preview->package, szDialogName,
    +                                    preview_event_handler );
    +        if( dialog )
    +            msi_dialog_do_preview( dialog );
    +        else
    +            r = ERROR_FUNCTION_FAILED;
    +    }
    +    preview->dialog = dialog;
    +
    +    return r;
    +}
    +
    +UINT WINAPI MsiPreviewDialogW( MSIHANDLE hPreview, LPCWSTR szDialogName )
    +{
    +    MSIPREVIEW *preview;
    +    UINT r;
    +
    +    TRACE("%ld %s\n", hPreview, debugstr_w(szDialogName));
    +
    +    preview = msihandle2msiinfo( hPreview, MSIHANDLETYPE_PREVIEW );
    +    if( !preview )
    +        return ERROR_INVALID_HANDLE;
    +
    +    r = MSI_PreviewDialogW( preview, szDialogName );
    +
    +    msiobj_release( &preview->hdr );
    +
    +    return r;
    +}
    +
    +UINT WINAPI MsiPreviewDialogA( MSIHANDLE hPreview, LPCSTR szDialogName )
    +{
    +    UINT r, len;
    +    LPWSTR strW = NULL;
    +
    +    TRACE("%ld %s\n", hPreview, debugstr_a(szDialogName));
    +
    +    if( szDialogName )
    +    {
    +        len = MultiByteToWideChar( CP_ACP, 0, szDialogName, -1, NULL, 0 );
    +        strW = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    +        MultiByteToWideChar( CP_ACP, 0, szDialogName, -1, strW, len );
    +    }
    +    r = MsiPreviewDialogW( hPreview, strW );
    +    HeapFree( GetProcessHeap(), 0, strW );
    +    return r;
    +}
    +
    +UINT WINAPI MsiPreviewBillboardW( MSIHANDLE hPreview, LPCWSTR szControlName,
    +                                  LPCWSTR szBillboard)
    +{
    +    FIXME("%ld %s %s\n", hPreview, debugstr_w(szControlName),
    +          debugstr_w(szBillboard));
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiPreviewBillboardA( MSIHANDLE hPreview, LPCSTR szControlName,
    +                                  LPCSTR szBillboard)
    +{
    +    FIXME("%ld %s %s\n", hPreview, debugstr_a(szControlName),
    +          debugstr_a(szBillboard));
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    diff --git a/reactos/lib/msi/record.c b/reactos/lib/msi/record.c
    index 30cde0f80ef..967017cd5cc 100644
    --- a/reactos/lib/msi/record.c
    +++ b/reactos/lib/msi/record.c
    @@ -454,12 +454,20 @@ UINT MSI_RecordSetStringA( MSIRECORD *rec, unsigned int iField, LPCSTR szValue )
         if( iField > rec->count )
             return ERROR_INVALID_FIELD;
     
    -    len = MultiByteToWideChar( CP_ACP, 0, szValue, -1, NULL, 0 );
    -    str = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    -    MultiByteToWideChar( CP_ACP, 0, szValue, -1, str, len );
         MSI_FreeField( &rec->fields[iField] );
    -    rec->fields[iField].type = MSIFIELD_WSTR;
    -    rec->fields[iField].u.szwVal = str;
    +    if( szValue && szValue[0] )
    +    {
    +        len = MultiByteToWideChar( CP_ACP, 0, szValue, -1, NULL, 0 );
    +        str = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    +        MultiByteToWideChar( CP_ACP, 0, szValue, -1, str, len );
    +        rec->fields[iField].type = MSIFIELD_WSTR;
    +        rec->fields[iField].u.szwVal = str;
    +    }
    +    else
    +    {
    +        rec->fields[iField].type = MSIFIELD_NULL;
    +        rec->fields[iField].u.szwVal = NULL;
    +    }
     
         return 0;
     }
    @@ -491,13 +499,22 @@ UINT MSI_RecordSetStringW( MSIRECORD *rec, unsigned int iField, LPCWSTR szValue
         if( iField > rec->count )
             return ERROR_INVALID_FIELD;
     
    -    len = lstrlenW(szValue) + 1;
    -    str = HeapAlloc( GetProcessHeap(), 0, len*sizeof (WCHAR));
    -    lstrcpyW( str, szValue );
    -
         MSI_FreeField( &rec->fields[iField] );
    -    rec->fields[iField].type = MSIFIELD_WSTR;
    -    rec->fields[iField].u.szwVal = str;
    +
    +    if( szValue && szValue[0] )
    +    {
    +        len = lstrlenW(szValue) + 1;
    +        str = HeapAlloc( GetProcessHeap(), 0, len*sizeof (WCHAR));
    +        lstrcpyW( str, szValue );
    +
    +        rec->fields[iField].type = MSIFIELD_WSTR;
    +        rec->fields[iField].u.szwVal = str;
    +    }
    +    else
    +    {
    +        rec->fields[iField].type = MSIFIELD_NULL;
    +        rec->fields[iField].u.szwVal = NULL;
    +    }
     
         return 0;
     }
    @@ -520,18 +537,6 @@ UINT WINAPI MsiRecordSetStringW( MSIHANDLE handle, unsigned int iField, LPCWSTR
         return ret;
     }
     
    -UINT WINAPI MsiFormatRecordA(MSIHANDLE hInstall, MSIHANDLE hRecord, LPSTR szResult, DWORD *sz)
    -{
    -    FIXME("%ld %ld %p %p\n", hInstall, hRecord, szResult, sz);
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    -}
    -
    -UINT WINAPI MsiFormatRecordW(MSIHANDLE hInstall, MSIHANDLE hRecord, LPWSTR szResult, DWORD *sz)
    -{
    -    FIXME("%ld %ld %p %p\n", hInstall, hRecord, szResult, sz);
    -    return ERROR_CALL_NOT_IMPLEMENTED;
    -}
    -
     /* read the data in a file into an IStream */
     UINT RECORD_StreamFromFile(LPCWSTR szFile, IStream **pstm)
     {
    diff --git a/reactos/lib/msi/registry.c b/reactos/lib/msi/registry.c
    new file mode 100644
    index 00000000000..61c03c63e5c
    --- /dev/null
    +++ b/reactos/lib/msi/registry.c
    @@ -0,0 +1,486 @@
    +/*
    + * Implementation of the Microsoft Installer (msi.dll)
    + *
    + * Copyright 2005 Mike McCormack for CodeWeavers
    + * Copyright 2005 Aric Stewart for CodeWeavers
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#define COBJMACROS
    +#define NONAMELESSUNION
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "winreg.h"
    +#include "winnls.h"
    +#include "shlwapi.h"
    +#include "wine/debug.h"
    +#include "msi.h"
    +#include "msipriv.h"
    +#include "wincrypt.h"
    +#include "wine/unicode.h"
    +#include "winver.h"
    +#include "winuser.h"
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(msi);
    +
    +
    +/* 
    + * This module will be all the helper functions for registry access by the
    + * installer bits. 
    + */
    +static const WCHAR szUserFeatures_fmt[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'F','e','a','t','u','r','e','s','\\',
    +'%','s',0};
    +
    +static const WCHAR szInstaller_Features[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'W','i','n','d','o','w','s','\\',
    +'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'F','e','a','t','u','r','e','s',0 };
    +
    +static const WCHAR szInstaller_Features_fmt[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'W','i','n','d','o','w','s','\\',
    +'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'F','e','a','t','u','r','e','s','\\',
    +'%','s',0};
    +
    +static const WCHAR szInstaller_Components[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'W','i','n','d','o','w','s','\\',
    +'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'C','o','m','p','o','n','e','n','t','s',0 };
    +
    +static const WCHAR szInstaller_Components_fmt[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'W','i','n','d','o','w','s','\\',
    +'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'C','o','m','p','o','n','e','n','t','s','\\',
    +'%','s',0};
    +
    +static const WCHAR szUninstall_fmt[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'W','i','n','d','o','w','s','\\',
    +'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +'U','n','i','n','s','t','a','l','l','\\',
    +'%','s',0 };
    +
    +static const WCHAR szUserProduct_fmt[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'P','r','o','d','u','c','t','s','\\',
    +'%','s',0};
    +
    +static const WCHAR szInstaller_Products[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'W','i','n','d','o','w','s','\\',
    +'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'P','r','o','d','u','c','t','s',0};
    +
    +static const WCHAR szInstaller_Products_fmt[] = {
    +'S','o','f','t','w','a','r','e','\\',
    +'M','i','c','r','o','s','o','f','t','\\',
    +'W','i','n','d','o','w','s','\\',
    +'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +'I','n','s','t','a','l','l','e','r','\\',
    +'P','r','o','d','u','c','t','s','\\',
    +'%','s',0};
    +
    +BOOL unsquash_guid(LPCWSTR in, LPWSTR out)
    +{
    +    DWORD i,n=0;
    +
    +    out[n++]='{';
    +    for(i=0; i<8; i++)
    +        out[n++] = in[7-i];
    +    out[n++]='-';
    +    for(i=0; i<4; i++)
    +        out[n++] = in[11-i];
    +    out[n++]='-';
    +    for(i=0; i<4; i++)
    +        out[n++] = in[15-i];
    +    out[n++]='-';
    +    for(i=0; i<2; i++)
    +    {
    +        out[n++] = in[17+i*2];
    +        out[n++] = in[16+i*2];
    +    }
    +    out[n++]='-';
    +    for( ; i<8; i++)
    +    {
    +        out[n++] = in[17+i*2];
    +        out[n++] = in[16+i*2];
    +    }
    +    out[n++]='}';
    +    out[n]=0;
    +    return TRUE;
    +}
    +
    +BOOL squash_guid(LPCWSTR in, LPWSTR out)
    +{
    +    DWORD i,n=0;
    +
    +    if(in[n++] != '{')
    +        return FALSE;
    +    for(i=0; i<8; i++)
    +        out[7-i] = in[n++];
    +    if(in[n++] != '-')
    +        return FALSE;
    +    for(i=0; i<4; i++)
    +        out[11-i] = in[n++];
    +    if(in[n++] != '-')
    +        return FALSE;
    +    for(i=0; i<4; i++)
    +        out[15-i] = in[n++];
    +    if(in[n++] != '-')
    +        return FALSE;
    +    for(i=0; i<2; i++)
    +    {
    +        out[17+i*2] = in[n++];
    +        out[16+i*2] = in[n++];
    +    }
    +    if(in[n++] != '-')
    +        return FALSE;
    +    for( ; i<8; i++)
    +    {
    +        out[17+i*2] = in[n++];
    +        out[16+i*2] = in[n++];
    +    }
    +    out[32]=0;
    +    if(in[n++] != '}')
    +        return FALSE;
    +    if(in[n])
    +        return FALSE;
    +    return TRUE;
    +}
    +
    +
    +/* tables for encoding and decoding base85 */
    +static const unsigned char table_dec85[0x80] = {
    +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    +0xff,0x00,0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0xff,
    +0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0xff,0xff,0xff,0x16,0xff,0x17,
    +0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
    +0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0xff,0x34,0x35,0x36,
    +0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,
    +0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0xff,0x53,0x54,0xff,
    +};
    +
    +static const char table_enc85[] =
    +"!$%&'()*+,-.0123456789=?@ABCDEFGHIJKLMNO"
    +"PQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwx"
    +"yz{}~";
    +
    +/*
    + *  Converts a base85 encoded guid into a GUID pointer
    + *  Base85 encoded GUIDs should be 20 characters long.
    + *
    + *  returns TRUE if successful, FALSE if not
    + */
    +BOOL decode_base85_guid( LPCWSTR str, GUID *guid )
    +{
    +    DWORD i, val = 0, base = 1, *p;
    +
    +    p = (DWORD*) guid;
    +    for( i=0; i<20; i++ )
    +    {
    +        if( (i%5) == 0 )
    +        {
    +            val = 0;
    +            base = 1;
    +        }
    +        val += table_dec85[str[i]] * base;
    +        if( str[i] >= 0x80 )
    +            return FALSE;
    +        if( table_dec85[str[i]] == 0xff )
    +            return FALSE;
    +        if( (i%5) == 4 )
    +            p[i/5] = val;
    +        base *= 85;
    +    }
    +    return TRUE;
    +}
    +
    +/*
    + *  Encodes a base85 guid given a GUID pointer
    + *  Caller should provide a 21 character buffer for the encoded string.
    + *
    + *  returns TRUE if successful, FALSE if not
    + */
    +BOOL encode_base85_guid( GUID *guid, LPWSTR str )
    +{
    +    unsigned int x, *p, i;
    +
    +    p = (unsigned int*) guid;
    +    for( i=0; i<4; i++ )
    +    {
    +        x = p[i];
    +        *str++ = table_enc85[x%85];
    +        x = x/85;
    +        *str++ = table_enc85[x%85];
    +        x = x/85;
    +        *str++ = table_enc85[x%85];
    +        x = x/85;
    +        *str++ = table_enc85[x%85];
    +        x = x/85;
    +        *str++ = table_enc85[x%85];
    +    }
    +    *str = 0;
    +
    +    return TRUE;
    +}
    +
    +
    +UINT MSIREG_OpenUninstallKey(LPCWSTR szProduct, HKEY* key, BOOL create)
    +{
    +    UINT rc;
    +    WCHAR keypath[0x200];
    +    TRACE("%s\n",debugstr_w(szProduct));
    +
    +    sprintfW(keypath,szUninstall_fmt,szProduct);
    +
    +    if (create)
    +        rc = RegCreateKeyW(HKEY_LOCAL_MACHINE, keypath, key);
    +    else
    +        rc = RegOpenKeyW(HKEY_LOCAL_MACHINE, keypath, key);
    +
    +    return rc;
    +}
    +
    +UINT MSIREG_OpenUserProductsKey(LPCWSTR szProduct, HKEY* key, BOOL create)
    +{
    +    UINT rc;
    +    WCHAR squished_pc[GUID_SIZE];
    +    WCHAR keypath[0x200];
    +
    +    TRACE("%s\n",debugstr_w(szProduct));
    +    squash_guid(szProduct,squished_pc);
    +    TRACE("squished (%s)\n", debugstr_w(squished_pc));
    +
    +    sprintfW(keypath,szUserProduct_fmt,squished_pc);
    +
    +    if (create)
    +        rc = RegCreateKeyW(HKEY_CURRENT_USER,keypath,key);
    +    else
    +        rc = RegOpenKeyW(HKEY_CURRENT_USER,keypath,key);
    +
    +    return rc;
    +}
    +
    +UINT MSIREG_OpenUserFeaturesKey(LPCWSTR szProduct, HKEY* key, BOOL create)
    +{
    +    UINT rc;
    +    WCHAR squished_pc[GUID_SIZE];
    +    WCHAR keypath[0x200];
    +
    +    TRACE("%s\n",debugstr_w(szProduct));
    +    squash_guid(szProduct,squished_pc);
    +    TRACE("squished (%s)\n", debugstr_w(squished_pc));
    +
    +    sprintfW(keypath,szUserFeatures_fmt,squished_pc);
    +
    +    if (create)
    +        rc = RegCreateKeyW(HKEY_CURRENT_USER,keypath,key);
    +    else
    +        rc = RegOpenKeyW(HKEY_CURRENT_USER,keypath,key);
    +
    +    return rc;
    +}
    +
    +UINT MSIREG_OpenFeatures(HKEY* key)
    +{
    +    return RegCreateKeyW(HKEY_LOCAL_MACHINE,szInstaller_Features,key);
    +}
    +
    +UINT MSIREG_OpenFeaturesKey(LPCWSTR szProduct, HKEY* key, BOOL create)
    +{
    +    UINT rc;
    +    WCHAR squished_pc[GUID_SIZE];
    +    WCHAR keypath[0x200];
    +
    +    TRACE("%s\n",debugstr_w(szProduct));
    +    squash_guid(szProduct,squished_pc);
    +    TRACE("squished (%s)\n", debugstr_w(squished_pc));
    +
    +    sprintfW(keypath,szInstaller_Features_fmt,squished_pc);
    +
    +    if (create)
    +        rc = RegCreateKeyW(HKEY_LOCAL_MACHINE,keypath,key);
    +    else
    +        rc = RegOpenKeyW(HKEY_LOCAL_MACHINE,keypath,key);
    +
    +    return rc;
    +}
    +
    +UINT MSIREG_OpenComponents(HKEY* key)
    +{
    +    return RegCreateKeyW(HKEY_LOCAL_MACHINE,szInstaller_Components,key);
    +}
    +
    +UINT MSIREG_OpenComponentsKey(LPCWSTR szComponent, HKEY* key, BOOL create)
    +{
    +    UINT rc;
    +    WCHAR squished_cc[GUID_SIZE];
    +    WCHAR keypath[0x200];
    +
    +    TRACE("%s\n",debugstr_w(szComponent));
    +    squash_guid(szComponent,squished_cc);
    +    TRACE("squished (%s)\n", debugstr_w(squished_cc));
    +
    +    sprintfW(keypath,szInstaller_Components_fmt,squished_cc);
    +
    +    if (create)
    +        rc = RegCreateKeyW(HKEY_LOCAL_MACHINE,keypath,key);
    +    else
    +        rc = RegOpenKeyW(HKEY_LOCAL_MACHINE,keypath,key);
    +
    +    return rc;
    +}
    +
    +UINT MSIREG_OpenProductsKey(LPCWSTR szProduct, HKEY* key, BOOL create)
    +{
    +    UINT rc;
    +    WCHAR squished_pc[GUID_SIZE];
    +    WCHAR keypath[0x200];
    +
    +    TRACE("%s\n",debugstr_w(szProduct));
    +    squash_guid(szProduct,squished_pc);
    +    TRACE("squished (%s)\n", debugstr_w(squished_pc));
    +
    +    sprintfW(keypath,szInstaller_Products_fmt,squished_pc);
    +
    +    if (create)
    +        rc = RegCreateKeyW(HKEY_LOCAL_MACHINE,keypath,key);
    +    else
    +        rc = RegOpenKeyW(HKEY_LOCAL_MACHINE,keypath,key);
    +
    +    return rc;
    +}
    +
    +/*************************************************************************
    + *  MsiDecomposeDescriptorW   [MSI.@]
    + *
    + * Decomposes an MSI descriptor into product, feature and component parts.
    + * An MSI descriptor is a string of the form:
    + *   [base 85 guid] [feature code] '>' [base 85 guid]
    + *
    + * PARAMS
    + *   szDescriptor  [I]  the descriptor to decompose
    + *   szProduct     [O]  buffer of MAX_FEATURE_CHARS for the product guid
    + *   szFeature     [O]  buffer of MAX_FEATURE_CHARS for the feature code
    + *   szComponent   [O]  buffer of MAX_FEATURE_CHARS for the component guid
    + *   pUsed         [O]  the length of the descriptor
    + *
    + * RETURNS
    + *   ERROR_SUCCESS             if everything worked correctly
    + *   ERROR_INVALID_PARAMETER   if the descriptor was invalid
    + *
    + */
    +UINT WINAPI MsiDecomposeDescriptorW( LPCWSTR szDescriptor, LPWSTR szProduct,
    +                LPWSTR szFeature, LPWSTR szComponent, DWORD *pUsed )
    +{
    +    UINT r, len;
    +    LPWSTR p;
    +    GUID product, component;
    +
    +    TRACE("%s %p %p %p %p\n", debugstr_w(szDescriptor), szProduct,
    +          szFeature, szComponent, pUsed);
    +
    +    r = decode_base85_guid( szDescriptor, &product );
    +    if( !r )
    +        return ERROR_INVALID_PARAMETER;
    +
    +    TRACE("product %s\n", debugstr_guid( &product ));
    +
    +    p = strchrW(&szDescriptor[20],'>');
    +    if( !p )
    +        return ERROR_INVALID_PARAMETER;
    +
    +    len = (p - &szDescriptor[20]);
    +    if( len > MAX_FEATURE_CHARS )
    +        return ERROR_INVALID_PARAMETER;
    +    memcpy( szFeature, &szDescriptor[20], len*sizeof(WCHAR) );
    +    szFeature[len] = 0;
    +
    +    TRACE("feature %s\n", debugstr_w( szFeature ));
    +
    +    r = decode_base85_guid( p+1, &component );
    +    if( !r )
    +        return ERROR_INVALID_PARAMETER;
    +
    +    TRACE("component %s\n", debugstr_guid( &component ));
    +
    +    StringFromGUID2( &product, szProduct, MAX_FEATURE_CHARS+1 );
    +    StringFromGUID2( &component, szComponent, MAX_FEATURE_CHARS+1 );
    +    len = ( &p[21] - szDescriptor );
    +
    +    TRACE("length = %d\n", len);
    +    *pUsed = len;
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +UINT WINAPI MsiDecomposeDescriptorA( LPCSTR szDescriptor, LPSTR szProduct,
    +                LPSTR szFeature, LPSTR szComponent, DWORD *pUsed )
    +{
    +    WCHAR product[MAX_FEATURE_CHARS+1];
    +    WCHAR feature[MAX_FEATURE_CHARS+1];
    +    WCHAR component[MAX_FEATURE_CHARS+1];
    +    LPWSTR str = NULL;
    +    UINT r, len;
    +
    +    TRACE("%s %p %p %p %p\n", debugstr_a(szDescriptor), szProduct,
    +          szFeature, szComponent, pUsed);
    +
    +    if( szDescriptor )
    +    {
    +        len = MultiByteToWideChar( CP_ACP, 0, szDescriptor, -1, NULL, 0 );
    +        str = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
    +        MultiByteToWideChar( CP_ACP, 0, szDescriptor, -1, str, len );
    +    }
    +
    +    r = MsiDecomposeDescriptorW( str, product, feature, component, pUsed );
    +
    +    WideCharToMultiByte( CP_ACP, 0, product, MAX_FEATURE_CHARS+1,
    +                         szProduct, MAX_FEATURE_CHARS+1, NULL, NULL );
    +    WideCharToMultiByte( CP_ACP, 0, feature, MAX_FEATURE_CHARS+1,
    +                         szFeature, MAX_FEATURE_CHARS+1, NULL, NULL );
    +    WideCharToMultiByte( CP_ACP, 0, component, MAX_FEATURE_CHARS+1,
    +                         szComponent, MAX_FEATURE_CHARS+1, NULL, NULL );
    +
    +    HeapFree( GetProcessHeap(), 0, str );
    +
    +    return r;
    +}
    diff --git a/reactos/lib/msi/select.c b/reactos/lib/msi/select.c
    index d31ee8f32aa..69ec7c6b772 100644
    --- a/reactos/lib/msi/select.c
    +++ b/reactos/lib/msi/select.c
    @@ -168,16 +168,17 @@ static UINT SELECT_get_column_info( struct tagMSIVIEW *view,
         return sv->table->ops->get_column_info( sv->table, n, name, type );
     }
     
    -static UINT SELECT_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT SELECT_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
    +                MSIRECORD *rec )
     {
         MSISELECTVIEW *sv = (MSISELECTVIEW*)view;
     
    -    TRACE("%p %d %ld\n", sv, eModifyMode, hrec );
    +    TRACE("%p %d %p\n", sv, eModifyMode, rec );
     
         if( !sv->table )
              return ERROR_FUNCTION_FAILED;
     
    -    return sv->table->ops->modify( sv->table, eModifyMode, hrec );
    +    return sv->table->ops->modify( sv->table, eModifyMode, rec );
     }
     
     static UINT SELECT_delete( struct tagMSIVIEW *view )
    diff --git a/reactos/lib/msi/sql.tab.c b/reactos/lib/msi/sql.tab.c
    index eb700d78e53..478856d6737 100644
    --- a/reactos/lib/msi/sql.tab.c
    +++ b/reactos/lib/msi/sql.tab.c
    @@ -564,7 +564,7 @@ union yyalloc
     /* YYFINAL -- State number of the termination state. */
     #define YYFINAL  23
     /* YYLAST -- Last index in YYTABLE.  */
    -#define YYLAST   125
    +#define YYLAST   126
     
     /* YYNTOKENS -- Number of terminals. */
     #define YYNTOKENS  147
    @@ -663,7 +663,7 @@ static const short yyrhs[] =
           -1,   168,    57,   163,    -1,   168,    85,   163,    -1,   168,
           78,   163,    -1,   168,    54,   163,    -1,   168,    89,   163,
           -1,   168,    73,    92,    -1,   168,    73,    90,    92,    -1,
    -     168,    -1,   167,    -1,   167,    -1,   164,    24,   167,    -1,
    +     168,    -1,   167,    -1,   167,    -1,   167,    24,   164,    -1,
          166,    -1,   166,    24,   165,    -1,   169,    45,   167,    -1,
           70,    -1,    88,    70,    -1,   120,    -1,   138,    -1,   169,
           -1,   170,    39,   171,    -1,   171,    -1,   171,    -1,    66,
    @@ -678,8 +678,8 @@ static const unsigned short yyrline[] =
          290,   294,   298,   302,   306,   313,   324,   335,   339,   353,
          371,   384,   397,   404,   415,   434,   438,   442,   446,   450,
          454,   458,   462,   466,   470,   474,   478,   485,   486,   490,
    -     502,   518,   519,   528,   544,   548,   552,   556,   563,   570,
    -     574,   581,   588,   592
    +     502,   517,   518,   527,   543,   547,   551,   555,   562,   569,
    +     573,   580,   587,   591
     };
     #endif
     
    @@ -787,8 +787,8 @@ static const unsigned char yydefact[] =
           15,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,    55,    12,    11,    25,     0,    17,     0,
           35,    37,    38,    56,    39,    48,    36,    43,    47,    40,
    -       0,    45,    42,    41,    44,    19,     0,    49,    46,     0,
    -       6,    50,     7
    +       0,    45,    42,    41,    44,    19,     0,    49,    46,     6,
    +       0,     7,    50
     };
     
     /* YYDEFGOTO[NTERM-NUM]. */
    @@ -801,30 +801,30 @@ static const yysigned_char yydefgoto[] =
     
     /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
        STATE-NUM.  */
    -#define YYPACT_NINF -105
    +#define YYPACT_NINF -104
     static const yysigned_char yypact[] =
     {
    -     -30,  -104,   -46,   -34,   -51,    21,  -105,  -105,  -105,  -105,
    -     -77,   -51,   -51,   -52,  -105,  -105,  -105,   -25,     7,    -1,
    -       2,   -79,  -105,  -105,    31,   -33,   -32,   -25,   -51,  -105,
    -     -52,   -51,   -51,   -52,   -51,   -52,  -105,   -88,  -105,  -105,
    -     -82,    33,    14,  -105,   -48,   -15,   -17,   -43,   -50,   -50,
    -     -51,   -64,    13,   -51,    -2,    -6,  -105,  -105,  -105,  -105,
    -    -105,  -105,     6,    -9,   -49,   -50,    -4,    26,  -105,    -4,
    -    -105,  -105,    24,  -105,  -105,  -105,  -105,   -17,   -52,    25,
    -    -105,     9,    19,    -7,   -50,   -50,   -59,   -59,   -59,   -44,
    -     -59,   -59,   -59,  -105,  -105,  -105,  -105,    -3,  -105,   -64,
    -    -105,    -4,    -4,    73,  -105,  -105,  -105,  -105,  -105,  -105,
    -      22,  -105,  -105,  -105,  -105,  -105,   -19,  -105,  -105,   -64,
    -       1,  -105,  -105
    +     -30,  -103,   -52,   -34,   -51,    21,  -104,  -104,  -104,  -104,
    +     -70,   -51,   -51,   -57,  -104,  -104,  -104,   -26,    11,    -6,
    +      -1,   -69,  -104,  -104,    32,   -25,   -15,   -26,   -51,  -104,
    +     -57,   -51,   -51,   -57,   -51,   -57,  -104,   -71,  -104,  -104,
    +     -67,    47,    27,  -104,   -36,   -19,   -17,   -29,   -53,   -53,
    +     -51,   -63,    26,   -51,    17,   -10,  -104,  -104,  -104,  -104,
    +    -104,  -104,     5,     7,   -35,   -53,    -4,    35,  -104,    -4,
    +    -104,  -104,    37,  -104,  -104,  -104,  -104,   -17,   -57,    39,
    +    -104,    18,    28,    -7,   -53,   -53,   -60,   -60,   -60,   -73,
    +     -60,   -60,   -60,  -104,  -104,  -104,  -104,     4,  -104,   -63,
    +    -104,    -4,    -4,    77,  -104,  -104,  -104,  -104,  -104,  -104,
    +      25,  -104,  -104,  -104,  -104,  -104,     8,    95,  -104,     0,
    +     -63,  -104,  -104
     };
     
     /* YYPGOTO[NTERM-NUM].  */
     static const yysigned_char yypgoto[] =
     {
    -    -105,  -105,  -105,  -105,  -105,  -105,  -105,    42,  -105,  -105,
    -    -105,  -105,  -105,    -5,    97,   -31,    18,  -105,    75,  -105,
    -     -41,    30,    10,    85,     8
    +    -104,  -104,  -104,  -104,  -104,  -104,  -104,    44,  -104,  -104,
    +    -104,  -104,  -104,     1,    96,   -38,    14,     6,    75,  -104,
    +     -43,   -37,     9,    12,    84
     };
     
     /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    @@ -834,36 +834,36 @@ static const yysigned_char yypgoto[] =
     #define YYTABLE_NINF -64
     static const yysigned_char yytable[] =
     {
    -      84,     1,    55,    84,    13,   119,    71,    14,    27,    53,
    -      75,    71,    22,    18,    14,    14,    14,    11,    69,    22,
    -      22,    23,    24,    18,    72,    38,    12,    28,    43,    72,
    -      47,    30,    14,    65,    83,    32,    22,     2,    31,    39,
    -      18,   -61,    42,    18,    46,    18,   110,    33,   111,    48,
    -      34,    35,    56,   101,   102,    49,    73,    50,   117,    51,
    -      42,   103,    52,    77,    57,    58,    15,    64,    16,    16,
    -      16,    86,    76,    95,    74,    78,    59,    79,   121,    74,
    -      87,    81,     3,    88,    15,    82,    16,    54,    18,    21,
    -      85,   120,    80,    85,    93,    96,    25,    26,    60,    89,
    -       4,    98,    99,   100,    90,   107,   109,   115,   112,   113,
    -     114,    91,   -63,    37,   118,    92,   106,   108,   108,    94,
    -     108,   108,   108,   122,    36,    70
    +      84,     1,    55,    84,    13,    53,    14,    71,    75,    14,
    +      71,    69,    18,    14,    27,    14,    21,   110,    11,   111,
    +      12,    23,    18,    25,    26,    72,    28,    83,    72,    24,
    +      65,    38,    14,    31,    43,    30,    47,     2,   -61,    18,
    +      37,    42,    18,    46,    18,    32,   101,   102,    33,   106,
    +     108,   108,    56,   108,   108,   108,   117,    73,    34,    42,
    +     103,    15,    77,    16,    57,    58,    48,    16,    35,    16,
    +      49,    50,    51,    79,    52,    74,    59,   117,    74,    95,
    +      86,    64,     3,    54,    15,    76,    16,    18,    22,    87,
    +      85,    80,    88,    85,    78,    22,    22,    81,    60,    82,
    +       4,   107,   109,   100,   112,   113,   114,    93,    89,    96,
    +      98,    99,    22,    90,   115,    39,   -63,   118,   119,   120,
    +      91,    94,   121,    36,    92,    70,   122
     };
     
     static const unsigned char yycheck[] =
     {
    -       7,    31,    19,     7,    38,    24,    70,    66,    13,    24,
    -      51,    70,     4,     3,    66,    66,    66,   121,    49,    11,
    -      12,     0,    99,    13,    88,    30,    72,    52,    33,    88,
    -      35,    24,    66,    83,    65,   114,    28,    67,    39,    31,
    -      30,    39,    32,    33,    34,    35,    90,    16,    92,   137,
    -      83,    83,    69,    84,    85,   137,   120,    24,    99,    45,
    -      50,   120,   110,    53,    81,    82,   118,   110,   120,   120,
    -     120,    45,    59,    78,   138,    77,    93,    83,   119,   138,
    -      54,    90,   112,    57,   118,   134,   120,   102,    78,     4,
    -      97,   110,    86,    97,    70,    70,    11,    12,   115,    73,
    -     130,    92,    83,   110,    78,    87,    88,   110,    90,    91,
    -      92,    85,    39,    28,    92,    89,    86,    87,    88,    77,
    -      90,    91,    92,   122,    27,    50
    +       7,    31,    19,     7,    38,    24,    66,    70,    51,    66,
    +      70,    49,     3,    66,    13,    66,     4,    90,   121,    92,
    +      72,     0,    13,    11,    12,    88,    52,    65,    88,    99,
    +      83,    30,    66,    39,    33,    24,    35,    67,    39,    30,
    +      28,    32,    33,    34,    35,   114,    84,    85,    16,    86,
    +      87,    88,    69,    90,    91,    92,    99,   120,    83,    50,
    +     120,   118,    53,   120,    81,    82,   137,   120,    83,   120,
    +     137,    24,    45,    83,   110,   138,    93,   120,   138,    78,
    +      45,   110,   112,   102,   118,    59,   120,    78,     4,    54,
    +      97,    86,    57,    97,    77,    11,    12,    90,   115,   134,
    +     130,    87,    88,   110,    90,    91,    92,    70,    73,    70,
    +      92,    83,    28,    78,   110,    31,    39,    92,   110,    24,
    +      85,    77,   122,    27,    89,    50,   120
     };
     
     /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    @@ -881,8 +881,8 @@ static const unsigned char yystos[] =
           86,    90,   134,   162,     7,    97,    45,    54,    57,    73,
           78,    85,    89,    70,   154,   160,    70,   157,    92,    83,
          110,   162,   162,   120,   163,   167,   168,   163,   168,   163,
    -      90,    92,   163,   163,   163,   110,   164,   167,    92,    24,
    -     110,   167,   122
    +      90,    92,   163,   163,   163,   110,   164,   167,    92,   110,
    +      24,   122,   164
     };
     
     #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    @@ -1944,16 +1944,15 @@ yyreduce:
                 vals = HeapAlloc( GetProcessHeap(), 0, sizeof *vals );
                 if( vals )
                 {
    -                vals->val = yyvsp[0].expr;
    -                vals->next = NULL;
    +                vals->val = yyvsp[-2].expr;
    +                vals->next = yyvsp[0].val_list;
                 }
    -            yyvsp[-2].val_list->next = vals;
    -            yyval.val_list = yyvsp[-2].val_list;
    +            yyval.val_list = vals;
             ;}
         break;
     
       case 52:
    -#line 520 "./sql.y"
    +#line 519 "./sql.y"
         {
                 yyvsp[-2].update_col_info.col_list->next = yyvsp[0].update_col_info.col_list;
                 yyvsp[-2].update_col_info.val_list->next = yyvsp[0].update_col_info.val_list;
    @@ -1962,7 +1961,7 @@ yyreduce:
         break;
     
       case 53:
    -#line 529 "./sql.y"
    +#line 528 "./sql.y"
         {
                 yyval.update_col_info.col_list = HeapAlloc( GetProcessHeap(), 0, sizeof *yyval.update_col_info.col_list );
                 if( !yyval.update_col_info.col_list )
    @@ -1978,70 +1977,70 @@ yyreduce:
         break;
     
       case 54:
    -#line 545 "./sql.y"
    +#line 544 "./sql.y"
         {
                 yyval.expr = EXPR_ival( &yyvsp[0].str, 1 );
             ;}
         break;
     
       case 55:
    -#line 549 "./sql.y"
    +#line 548 "./sql.y"
         {
                 yyval.expr = EXPR_ival( &yyvsp[0].str, -1 );
             ;}
         break;
     
       case 56:
    -#line 553 "./sql.y"
    +#line 552 "./sql.y"
         {
                 yyval.expr = EXPR_sval( &yyvsp[0].str );
             ;}
         break;
     
       case 57:
    -#line 557 "./sql.y"
    +#line 556 "./sql.y"
         {
                 yyval.expr = EXPR_wildcard();
             ;}
         break;
     
       case 58:
    -#line 564 "./sql.y"
    +#line 563 "./sql.y"
         {
                 yyval.expr = EXPR_column( yyvsp[0].string );
             ;}
         break;
     
       case 59:
    -#line 571 "./sql.y"
    +#line 570 "./sql.y"
         {
                 yyval.string = yyvsp[0].string;  /* FIXME */
             ;}
         break;
     
       case 60:
    -#line 575 "./sql.y"
    +#line 574 "./sql.y"
         {
                 yyval.string = yyvsp[0].string;
             ;}
         break;
     
       case 61:
    -#line 582 "./sql.y"
    +#line 581 "./sql.y"
         {
                 yyval.string = yyvsp[0].string;
             ;}
         break;
     
       case 62:
    -#line 589 "./sql.y"
    +#line 588 "./sql.y"
         {
                 yyval.string = SQL_getstring( &yyvsp[0].str );
             ;}
         break;
     
       case 63:
    -#line 593 "./sql.y"
    +#line 592 "./sql.y"
         {
                 yyval.string = SQL_getstring( &yyvsp[0].str );
             ;}
    @@ -2051,7 +2050,7 @@ yyreduce:
         }
     
     /* Line 999 of yacc.c.  */
    -#line 2055 "sql.tab.c"
    +#line 2054 "sql.tab.c"
     
       yyvsp -= yylen;
       yyssp -= yylen;
    @@ -2257,7 +2256,7 @@ yyreturn:
     }
     
     
    -#line 598 "./sql.y"
    +#line 597 "./sql.y"
     
     
     int SQL_lex( void *SQL_lval, SQL_input *sql)
    diff --git a/reactos/lib/msi/sql.y b/reactos/lib/msi/sql.y
    index 892dd9ad9e9..ca918500245 100644
    --- a/reactos/lib/msi/sql.y
    +++ b/reactos/lib/msi/sql.y
    @@ -499,18 +499,17 @@ constlist:
                 }
                 $$ = vals;
             }
    -  | constlist TK_COMMA const_val
    +  | const_val TK_COMMA constlist
             {
                 value_list *vals;
     
                 vals = HeapAlloc( GetProcessHeap(), 0, sizeof *vals );
                 if( vals )
                 {
    -                vals->val = $3;
    -                vals->next = NULL;
    +                vals->val = $1;
    +                vals->next = $3;
                 }
    -            $1->next = vals;
    -            $$ = $1;
    +            $$ = vals;
             }
         ;
     
    diff --git a/reactos/lib/msi/string.c b/reactos/lib/msi/string.c
    index bec268fe11a..cf59b04b028 100644
    --- a/reactos/lib/msi/string.c
    +++ b/reactos/lib/msi/string.c
    @@ -393,8 +393,7 @@ UINT msi_string2idA( string_table *st, LPCSTR buffer, UINT *id )
         MultiByteToWideChar( st->codepage, 0, buffer, -1, str, sz );
     
         r = msi_string2idW( st, str, id );
    -    if( str )
    -        HeapFree( GetProcessHeap(), 0, str );
    +    HeapFree( GetProcessHeap(), 0, str );
     
         return r;
     }
    diff --git a/reactos/lib/msi/suminfo.c b/reactos/lib/msi/suminfo.c
    index e8c16c625b0..fbc39d0f598 100644
    --- a/reactos/lib/msi/suminfo.c
    +++ b/reactos/lib/msi/suminfo.c
    @@ -67,8 +67,7 @@ UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE hDatabase,
     
         ret = MsiGetSummaryInformationW(hDatabase, szwDatabase, uiUpdateCount, phSummaryInfo);
     
    -    if( szwDatabase )
    -        HeapFree( GetProcessHeap(), 0, szwDatabase );
    +    HeapFree( GetProcessHeap(), 0, szwDatabase );
     
         return ret;
     }
    @@ -225,9 +224,72 @@ UINT WINAPI MsiSummaryInfoGetPropertyW(
           MSIHANDLE hSummaryInfo, UINT uiProperty, UINT *puiDataType, INT *piValue,
           FILETIME *pftValue, LPWSTR szValueBuf, DWORD *pcchValueBuf)
     {
    -    FIXME("%ld %d %p %p %p %p %p\n",
    +    MSISUMMARYINFO *suminfo;
    +    HRESULT r;
    +    PROPSPEC spec;
    +    PROPVARIANT var;
    +
    +    TRACE("%ld %d %p %p %p %p %p\n",
             hSummaryInfo, uiProperty, puiDataType, piValue,
             pftValue, szValueBuf, pcchValueBuf);
    -    
    +
    +    suminfo = msihandle2msiinfo( hSummaryInfo, MSIHANDLETYPE_SUMMARYINFO );
    +    if( !suminfo )
    +        return ERROR_INVALID_HANDLE;
    +
    +    spec.ulKind = PRSPEC_PROPID;
    +    spec.u.propid = uiProperty;
    +
    +    r = IPropertyStorage_ReadMultiple( suminfo->propstg, 1, &spec, &var);
    +    if( FAILED(r) )
    +        return ERROR_FUNCTION_FAILED;
    +
    +    if( puiDataType )
    +        *puiDataType = var.vt;
    +
    +    switch( var.vt )
    +    {
    +    case VT_I4:
    +        if( piValue )
    +            *piValue = var.u.lVal;
    +        break;
    +    case VT_LPSTR:
    +        if( pcchValueBuf && szValueBuf )
    +        {
    +            MultiByteToWideChar(CP_ACP, 0,  var.u.pszVal, -1, szValueBuf, 
    +                                *pcchValueBuf );
    +            *pcchValueBuf = lstrlenA( var.u.pszVal );
    +        }
    +        break;
    +    case VT_FILETIME:
    +        if( pftValue )
    +            memcpy(pftValue, &var.u.filetime, sizeof (FILETIME) );
    +        break;
    +    case VT_EMPTY:
    +        break;
    +    default:
    +        FIXME("Unknown property variant type\n");
    +        break;
    +    }
    +
    +    return ERROR_SUCCESS;
    +}
    +
    +UINT WINAPI MsiSummaryInfoSetPropertyA( MSIHANDLE hSummaryInfo, UINT uiProperty,
    +                                       UINT uiDataType, INT iValue, 
    +                                       FILETIME* pftValue, LPSTR szValue)
    +{
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiSummaryInfoSetPropertyW( MSIHANDLE hSummaryInfo, UINT uiProperty,
    +                                       UINT uiDataType, INT iValue, 
    +                                       FILETIME* pftValue, LPWSTR szValue)
    +{
    +    return ERROR_CALL_NOT_IMPLEMENTED;
    +}
    +
    +UINT WINAPI MsiSummaryInfoPersist(MSIHANDLE hSummaryInfo)
    +{
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
    diff --git a/reactos/lib/msi/table.c b/reactos/lib/msi/table.c
    index 52a5f01652a..5e1891b04fd 100644
    --- a/reactos/lib/msi/table.c
    +++ b/reactos/lib/msi/table.c
    @@ -196,8 +196,8 @@ void enum_stream_names( IStorage *stg )
             if( FAILED( r ) || !count )
                 break;
             decode_streamname( stat.pwcsName, name );
    -        ERR("stream %2ld -> %s %s\n", n, 
    -            debugstr_w(stat.pwcsName), debugstr_w(name) );
    +        TRACE("stream %2ld -> %s %s\n", n, 
    +              debugstr_w(stat.pwcsName), debugstr_w(name) );
             n++;
         }
     
    @@ -356,12 +356,12 @@ static UINT write_stream_data( IStorage *stg, LPCWSTR stname,
         encname = encode_streamname(TRUE, stname );
         r = IStorage_OpenStream( stg, encname, NULL, 
                 STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, &stm);
    -    HeapFree( GetProcessHeap(), 0, encname );
         if( FAILED(r) )
         {
             r = IStorage_CreateStream( stg, encname,
                     STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &stm);
         }
    +    HeapFree( GetProcessHeap(), 0, encname );
         if( FAILED( r ) )
         {
             ERR("open stream failed r = %08lx\n",r);
    @@ -408,7 +408,7 @@ UINT read_table_from_storage( MSIDATABASE *db, LPCWSTR name, MSITABLE **ptable)
     
         TRACE("%s\n",debugstr_w(name));
     
    -    /* non-existing tables should be interpretted as empty tables */
    +    /* nonexistent tables should be interpreted as empty tables */
         t = HeapAlloc( GetProcessHeap(), 0, 
                        sizeof (MSITABLE) + lstrlenW(name)*sizeof (WCHAR) );
         if( !t )
    @@ -747,10 +747,8 @@ UINT load_string_table( MSIDATABASE *db )
         ret = ERROR_SUCCESS;
     
     end:
    -    if( pool )
    -        HeapFree( GetProcessHeap(), 0, pool );
    -    if( data )
    -        HeapFree( GetProcessHeap(), 0, data );
    +    HeapFree( GetProcessHeap(), 0, pool );
    +    HeapFree( GetProcessHeap(), 0, data );
     
         return ret;
     }
    @@ -830,10 +828,8 @@ UINT save_string_table( MSIDATABASE *db )
         ret = ERROR_SUCCESS;
     
     err:
    -    if( data )
    -        HeapFree( GetProcessHeap(), 0, data );
    -    if( pool )
    -        HeapFree( GetProcessHeap(), 0, pool );
    +    HeapFree( GetProcessHeap(), 0, data );
    +    HeapFree( GetProcessHeap(), 0, pool );
     
         return ret;
     }
    @@ -1288,9 +1284,10 @@ static UINT TABLE_get_column_info( struct tagMSIVIEW *view,
         return ERROR_SUCCESS;
     }
     
    -static UINT TABLE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT TABLE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
    +                MSIRECORD *rec)
     {
    -    FIXME("%p %d %ld\n", view, eModifyMode, hrec );
    +    FIXME("%p %d %p\n", view, eModifyMode, rec );
         return ERROR_CALL_NOT_IMPLEMENTED;
     }
     
    diff --git a/reactos/lib/msi/update.c b/reactos/lib/msi/update.c
    index 99e5f6b6667..39c19d8d154 100644
    --- a/reactos/lib/msi/update.c
    +++ b/reactos/lib/msi/update.c
    @@ -151,11 +151,12 @@ static UINT UPDATE_get_column_info( struct tagMSIVIEW *view,
         return wv->ops->get_column_info( wv, n, name, type );
     }
     
    -static UINT UPDATE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT UPDATE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
    +                MSIRECORD *rec )
     {
         MSIUPDATEVIEW *uv = (MSIUPDATEVIEW*)view;
     
    -    TRACE("%p %d %ld\n", uv, eModifyMode, hrec );
    +    TRACE("%p %d %p\n", uv, eModifyMode, rec );
     
         return ERROR_FUNCTION_FAILED;
     }
    diff --git a/reactos/lib/msi/where.c b/reactos/lib/msi/where.c
    index 9ae20480cb9..2754f996b5b 100644
    --- a/reactos/lib/msi/where.c
    +++ b/reactos/lib/msi/where.c
    @@ -269,8 +269,7 @@ static UINT WHERE_close( struct tagMSIVIEW *view )
         if( !wv->table )
              return ERROR_FUNCTION_FAILED;
     
    -    if( wv->reorder )
    -        HeapFree( GetProcessHeap(), 0, wv->reorder );
    +    HeapFree( GetProcessHeap(), 0, wv->reorder );
         wv->reorder = NULL;
     
         return wv->table->ops->close( wv->table );
    @@ -308,16 +307,17 @@ static UINT WHERE_get_column_info( struct tagMSIVIEW *view,
         return wv->table->ops->get_column_info( wv->table, n, name, type );
     }
     
    -static UINT WHERE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIHANDLE hrec)
    +static UINT WHERE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
    +                MSIRECORD *rec )
     {
         MSIWHEREVIEW *wv = (MSIWHEREVIEW*)view;
     
    -    TRACE("%p %d %ld\n", wv, eModifyMode, hrec );
    +    TRACE("%p %d %p\n", wv, eModifyMode, rec );
     
         if( !wv->table )
              return ERROR_FUNCTION_FAILED;
     
    -    return wv->table->ops->modify( wv->table, eModifyMode, hrec );
    +    return wv->table->ops->modify( wv->table, eModifyMode, rec );
     }
     
     static UINT WHERE_delete( struct tagMSIVIEW *view )
    @@ -329,8 +329,7 @@ static UINT WHERE_delete( struct tagMSIVIEW *view )
         if( wv->table )
             wv->table->ops->delete( wv->table );
     
    -    if( wv->reorder )
    -        HeapFree( GetProcessHeap(), 0, wv->reorder );
    +    HeapFree( GetProcessHeap(), 0, wv->reorder );
         wv->reorder = NULL;
         wv->row_count = 0;
     
    diff --git a/reactos/lib/msimg32/msimg32.spec b/reactos/lib/msimg32/msimg32.spec
    index a5e3be36466..773084602a0 100644
    --- a/reactos/lib/msimg32/msimg32.spec
    +++ b/reactos/lib/msimg32/msimg32.spec
    @@ -1,5 +1,5 @@
     @ stdcall AlphaBlend(long long long long long long long long long long long) gdi32.GdiAlphaBlend
    -@ stub DllInitialize
    +@ stdcall DllInitialize(long long ptr) DllMain
     @ stdcall GradientFill(long ptr long ptr long long) gdi32.GdiGradientFill
     @ stdcall TransparentBlt(long long long long long long long long long long long) gdi32.GdiTransparentBlt
     @ stdcall vSetDdrawflag()
    diff --git a/reactos/lib/msimg32/msimg32_main.c b/reactos/lib/msimg32/msimg32_main.c
    index 43e71036240..4586a3046d9 100644
    --- a/reactos/lib/msimg32/msimg32_main.c
    +++ b/reactos/lib/msimg32/msimg32_main.c
    @@ -26,6 +26,18 @@
     
     WINE_DEFAULT_DEBUG_CHANNEL(msimg32);
     
    +/***********************************************************************
    + *           DllInitialize (MSIMG32.@)
    + *
    + * MSIMG32 initialisation routine.
    + */
    +BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
    +{
    +    if (reason == DLL_PROCESS_ATTACH) DisableThreadLibraryCalls( inst );
    +    return TRUE;
    +}
    +
    +
     /******************************************************************************
      *           vSetDdrawflag   (MSIMG32.@)
      */
    diff --git a/reactos/lib/msvcrt/Makefile b/reactos/lib/msvcrt/Makefile
    index 86fed1639d3..89bc127525e 100644
    --- a/reactos/lib/msvcrt/Makefile
    +++ b/reactos/lib/msvcrt/Makefile
    @@ -21,7 +21,7 @@ TARGET_SDKLIBS = crt.a string.a kernel32.a ntdll.a wine.a
     
     TARGET_GCCLIBS = gcc
     
    -TARGET_CFLAGS = -D__USE_W32API -D_MSVCRT_LIB_ -Wall -Werror
    +TARGET_CFLAGS = -D__USE_W32API -D_MSVCRT_LIB_ -Wall -Werror -I../crt/include
     
     # require os code to explicitly request A/W version of structs/functions
     TARGET_CFLAGS += \
    diff --git a/reactos/lib/msvcrt/dllmain.c b/reactos/lib/msvcrt/dllmain.c
    index 23134c91d29..349e7d515fb 100644
    --- a/reactos/lib/msvcrt/dllmain.c
    +++ b/reactos/lib/msvcrt/dllmain.c
    @@ -21,12 +21,13 @@
      */
     
     #include "precomp.h"
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
    +#include 
     
     #define NDEBUG
    -#include 
    +#include 
     
     
     /* EXTERNAL PROTOTYPES ********************************************************/
    @@ -67,7 +68,8 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved)
         {
         case DLL_PROCESS_ATTACH://1
             /* initialize version info */
    -        DPRINT("Attach %d\n", nAttachCount);
    +        //DPRINT1("Process Attach %d\n", nAttachCount);
    +        //DPRINT1("Process Attach\n");
             _osver = GetVersion();
             _winmajor = (_osver >> 8) & 0xFF;
             _winminor = _osver & 0xFF;
    @@ -111,7 +113,8 @@ DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved)
             break;
     
         case DLL_PROCESS_DETACH://0
    -        DPRINT("Detach %d\n", nAttachCount);
    +        //DPRINT1("Detach %d\n", nAttachCount);
    +        //DPRINT("Detach\n");
             /* FIXME: more cleanup... */
             _fcloseall();
     
    diff --git a/reactos/lib/msvcrt/msvcrt.def b/reactos/lib/msvcrt/msvcrt.def
    index c640040688b..19c8009aaeb 100644
    --- a/reactos/lib/msvcrt/msvcrt.def
    +++ b/reactos/lib/msvcrt/msvcrt.def
    @@ -92,24 +92,24 @@ _Gettnames
     _HUGE DATA
     _Strftime
     _XcptFilter
    -;__CxxCallUnwindDtor
    +__CxxCallUnwindDtor=stub
     __CxxDetectRethrow
    -;__CxxExceptionFilter
    +__CxxExceptionFilter=stub
     __CxxFrameHandler
    -;__CxxLongjmpUnwind
    +__CxxLongjmpUnwind=stub
     __CxxQueryExceptionSize
    -;__CxxRegisterExceptionObject
    -;__CxxUnregisterExceptionObject
    -;__DestructExceptionObject
    +__CxxRegisterExceptionObject=stub
    +__CxxUnregisterExceptionObject=stub
    +__DestructExceptionObject=stub
     __RTCastToVoid=MSVCRT___RTCastToVoid
     __RTDynamicCast=MSVCRT___RTDynamicCast
     __RTtypeid=MSVCRT___RTtypeid
    -;__STRINGTOLD
    +__STRINGTOLD=stub
     __argc DATA
     __argv DATA
     __badioinfo DATA
    -;__crtCompareStringA ;=NTDLL.RtlCompareString
    -;__crtGetLocaleInfoW
    +__crtCompareStringA
    +__crtGetLocaleInfoW
     __crtLCMapStringA
     __dllonexit
     __doserrno
    @@ -122,37 +122,37 @@ __iscsymf=NTDLL.__iscsymf
     __lc_codepage
     __lc_collate_cp
     __lc_handle
    -;__lconv_init
    +__lconv_init
     __mb_cur_max DATA
     __p___argc
     __p___argv
    -;__p___wargv
    +__p___wargv
     __p___initenv
     __p___mb_cur_max
     __p___winitenv
     __p__acmdln
    -;__p__amblksiz
    +__p__amblksiz
     __p__commode
    -;__p__daylight
    -;__p__dstbias
    +__p__daylight
    +__p__dstbias
     __p__environ
    -;__p__fileinfo
    +__p__fileinfo=stub
     __p__fmode
     __p__iob
    -;__p__mbcasemap
    -;__p__mbctype
    +__p__mbcasemap=stub
    +__p__mbctype=stub
     __p__osver
     __p__pctype
     __p__pgmptr
     __p__pwctype
    -;__p__timezone
    -;__p__tzname
    -;__p__wcmdln
    +__p__timezone
    +__p__tzname=stub
    +__p__wcmdln=stub
     __p__wenviron
     __p__winmajor
     __p__winminor
     __p__winver
    -;__p__wpgmptr
    +__p__wpgmptr=stub
     __pioinfo
     __pxcptinfoptrs
     __set_app_type
    @@ -161,65 +161,65 @@ __setusermatherr
     __threadhandle
     __threadid
     __toascii=NTDLL.__toascii
    -;__unDName
    -;__unDNameEx
    +__unDName=stub
    +__unDNameEx=stub
     __unguarded_readlc_active DATA
     __wargv
     __wgetmainargs
     __winitenv
    -;___lc_codepage_func
    -;___lc_handle_func
    -;___mb_cur_max_func
    -;___setlc_active_func
    -;___unguarded_readlc_active_add_func
    -;__crtCompareStringW
    -;__crtGetStringTypeW
    -;__crtLCMapStringW
    -;__iob_func
    -;__pctype_func
    -;__uncaught_exception
    -;__wcserror
    +___lc_codepage_func=stub
    +___lc_handle_func=stub
    +___mb_cur_max_func=stub
    +___setlc_active_func=stub
    +___unguarded_readlc_active_add_func=stub
    +__crtCompareStringW=stub
    +__crtGetStringTypeW=stub
    +__crtLCMapStringW=stub
    +__iob_func=stub
    +__pctype_func=stub
    +__uncaught_exception=stub
    +__wcserror=stub
     _abnormal_termination
     _access
     _acmdln DATA
    -;_adj_fdiv_m16i
    +_adj_fdiv_m16i=stub
     _adj_fdiv_m32 = _adj_fdiv_m32@4
     _adj_fdiv_m32i = _adj_fdiv_m32i@4
     _adj_fdiv_m64 = _adj_fdiv_m64@8
     _adj_fdiv_r
    -;_adj_fdivr_m16i
    +_adj_fdivr_m16i=stub
     _adj_fdivr_m32 = _adj_fdivr_m32@4
     _adj_fdivr_m32i = _adj_fdivr_m32i@4
     _adj_fdivr_m64 = _adj_fdivr_m64@8
     _adj_fpatan
    -;_adj_fprem
    -;_adj_fprem1
    -;_adj_fptan
    +_adj_fprem=stub
    +_adj_fprem1=stub
    +_adj_fptan=stub
     _adjust_fdiv DATA
     _aexit_rtn
    -;_aligned_free
    -;_aligned_malloc
    -;_aligned_offset_malloc
    -;_aligned_offset_realloc
    -;_aligned_realloc
    +_aligned_free=stub
    +_aligned_malloc=stub
    +_aligned_offset_malloc=stub
    +_aligned_offset_realloc=stub
    +_aligned_realloc=stub
     _amsg_exit
     _assert
    -;_atodbl
    +_atodbl=stub
     _atoi64=NTDLL._atoi64
    -;_atoldbl
    +_atoldbl=stub
     _beep
     _beginthread
     _beginthreadex
     _c_exit
     _cabs
    -;_callnewh
    +_callnewh=stub
     _cexit
     _cgets
    -;_cgetws
    +_cgetws=stub
     _chdir
     _chdrive
     _chgsign
    -;_chkesp
    +_chkesp=stub
     _chmod
     _chsize
     _clearfp
    @@ -231,22 +231,22 @@ _controlfp
     _copysign
     _cprintf
     _cputs
    -;_cputws
    +_cputws=stub
     _creat
     _cscanf
    -;_ctime64
    +_ctime64=stub
     _ctype DATA
     _cwait
    -;_cwprintf
    -;_cwscanf
    +_cwprintf=stub
    +_cwscanf=stub
     _daylight DATA
    -;_dstbias
    +_dstbias=stub
     _dup
     _dup2
     _ecvt
     _endthread
     _endthreadex
    -;_environ
    +_environ=stub
     _eof
     _errno
     _except_handler2
    @@ -267,21 +267,21 @@ _fdopen
     _fgetchar
     _fgetwchar
     _filbuf
    -;_fileinfo DATA
    +_fileinfo=stub DATA
     _filelength
     _filelengthi64
     _fileno
     _findclose
     _findfirst
    -;_findfirst64
    +_findfirst64=stub
     _findfirsti64
     _findnext
    -;_findnext64
    +_findnext64=stub
     _findnexti64
     _finite
     _flsbuf
     _flushall
    -_fmode=__fmode DATA
    +_fmode DATA
     _fpclass
     _fpieee_flt
     _fpreset
    @@ -289,17 +289,17 @@ _fputchar
     _fputwchar
     _fsopen
     _fstat
    -;_fstat64
    +_fstat64=stub
     _fstati64
     _ftime
    -;_ftime64
    +_ftime64=stub
     _ftol=NTDLL._ftol
     _fullpath
     _futime
    -;_futime64
    +_futime64=stub
     _gcvt
     _get_osfhandle
    -;_get_sbh_threshold
    +_get_sbh_threshold=stub
     _getch
     _getche
     _getcwd
    @@ -308,29 +308,30 @@ _getdiskfree
     _getdllprocaddr
     _getdrive
     _getdrives
    -;_getmaxstdio
    -;_getmbcp
    +_get_heap_handle=stub
    +_getmaxstdio=stub
    +_getmbcp=stub
     _getpid
     _getsystime
     _getw
    -;_getwch
    -;_getwche
    -;_getws
    -;_gmtime64
    +_getwch=stub
    +_getwche=stub
    +_getws=stub
    +_gmtime64=stub
     _global_unwind2
     _heapadd
     _heapchk
     _heapmin
     _heapset
    -;_heapused
    +_heapused=stub
     _heapwalk
     _hypot
     _i64toa=NTDLL._i64toa
     _i64tow=NTDLL._i64tow
     _initterm
    -;_inp
    -;_inpd
    -;_inpw
    +_inp=stub
    +_inpd=stub
    +_inpw=stub
     _iob
     _isatty
     _isctype
    @@ -339,7 +340,7 @@ _ismbbalpha
     _ismbbgraph
     _ismbbkalnum
     _ismbbkana
    -;_ismbbkprint
    +_ismbbkprint=stub
     _ismbbkpunct
     _ismbblead
     _ismbbprint
    @@ -348,7 +349,7 @@ _ismbbtrail
     _ismbcalnum
     _ismbcalpha
     _ismbcdigit
    -;_ismbcgraph
    +_ismbcgraph=stub
     _ismbchira
     _ismbckata
     _ismbcl0
    @@ -357,7 +358,7 @@ _ismbcl2
     _ismbclegal
     _ismbclower
     _ismbcprint
    -;_ismbcpunct
    +_ismbcpunct=stub
     _ismbcspace
     _ismbcsymbol
     _ismbcupper
    @@ -370,13 +371,14 @@ _j0
     _j1
     _jn
     _kbhit
    +_localtime64=stub
     _lfind
     _loaddll
     _local_unwind2
     _lock
     _locking
     _logb
    -;_longjmpex
    +_longjmpex=stub
     _lrotl
     _lrotr
     _lsearch
    @@ -387,7 +389,7 @@ _ltow
     _makepath
     _mbbtombc
     _mbbtype
    -;_mbcasemap
    +_mbcasemap=stub
     _mbccpy
     _mbcjistojms
     _mbcjmstojis
    @@ -444,17 +446,17 @@ _memccpy
     _memicmp=NTDLL._memicmp
     _mkdir
     _mktemp
    -;_mktime64
    +_mktime64=stub
     _msize
     _nextafter
     _onexit
     _open
     _open_osfhandle
     _osver DATA
    -;_osplatform
    -;_outp
    -;_outpd
    -;_outpw
    +_osplatform=stub
    +_outp=stub
    +_outpd=stub
    +_outpw=stub
     _pclose
     _pctype DATA
     _pgmptr DATA
    @@ -464,38 +466,38 @@ _purecall
     _putch
     _putenv
     _putw
    -;_putwch
    +_putwch=stub
     _putws
     _pwctype DATA
     _read
    -;_resetstkoflw
    +_resetstkoflw=stub
     _rmdir
     _rmtmp
     _rotl
     _rotr
    -;_safe_fdiv
    -;_safe_fdivr
    -;_safe_fprem
    -;_safe_fprem1
    +_safe_fdiv=stub
    +_safe_fdivr=stub
    +_safe_fprem=stub
    +_safe_fprem1=stub
     _scalb
    -;_scprintf
    -;_scwprintf
    +_scprintf=stub
    +_scwprintf=stub
     _searchenv
     _seh_longjmp_unwind=_seh_longjmp_unwind@4
    -;_set_error_mode
    -;_set_SSE2_enable
    -;_set_sbh_threshold
    +_set_error_mode=stub
    +_set_SSE2_enable=stub
    +_set_sbh_threshold=stub
     _seterrormode
     _setjmp
     _setjmp3
    -;_setmaxstdio
    +_setmaxstdio=stub
     _setmbcp
     _setmode
     _setsystime
     _sleep
     _snprintf=crt__snprintf
    -;_snscanf
    -;_snwscanf
    +_snscanf=stub
    +_snwscanf=stub
     _snwprintf=crt__snwprintf
     _sopen
     _spawnl
    @@ -508,7 +510,7 @@ _spawnvp
     _spawnvpe
     _splitpath=NTDLL._splitpath
     _stat
    -;_stat64
    +_stat64=stub
     _stati64
     _statusfp
     _strcmpi
    @@ -525,8 +527,8 @@ _strnset
     _strrev
     _strset
     _strtime
    -;_strtoi64
    -;_strtoui64
    +_strtoi64=stub
    +_strtoui64=stub
     _strupr
     _swab
     _sys_errlist DATA
    @@ -534,7 +536,7 @@ _sys_nerr DATA
     _tell
     _telli64
     _tempnam
    -;_time64
    +_time64=stub
     _timezone DATA
     _tolower=NTDLL._tolower
     _toupper=NTDLL._toupper
    @@ -546,14 +548,13 @@ _ultoa=NTDLL._ultoa
     _ultow=NTDLL._ultow
     _umask
     _ungetch
    -;_ungetwch
     _unlink
     _unloaddll
     _unlock
     _utime
    -;_utime64
    -;_vscprintf
    -;_vscwprintf
    +_utime64=stub
    +_vscprintf=stub
    +_vscwprintf=stub
     _vsnprintf=crt__vsnprintf
     _vsnwprintf=crt__vsnwprintf
     _waccess
    @@ -563,7 +564,7 @@ _wchmod
     _wcmdln
     _wcreat
     _wcsdup
    -;_wcserror
    +_wcserror=stub
     _wcsicmp
     _wcsicoll
     _wcslwr
    @@ -573,26 +574,26 @@ _wcsnicoll
     _wcsnset
     _wcsrev
     _wcsset
    -;_wcstoi64
    -;_wcstoui64
    -;_wctime64
    +_wcstoi64=stub
    +_wcstoui64=stub
    +_wctime64=stub
     _wcsupr
     _wctime
    -;_wenviron
    -;_wexecl
    -;_wexecle
    -;_wexeclp
    -;_wexeclpe
    -;_wexecv
    -;_wexecve
    -;_wexecvp
    -;_wexecvpe
    +_wenviron=stub
    +_wexecl
    +_wexecle
    +_wexeclp
    +_wexeclpe
    +_wexecv
    +_wexecve
    +_wexecvp
    +_wexecvpe
     _wfdopen
     _wfindfirst
    -;_wfindfirst64
    +_wfindfirst64=stub
     _wfindfirsti64
     _wfindnext
    -;_wfindnext64
    +_wfindnext64=stub
     _wfindnexti64
     _wfopen
     _wfreopen
    @@ -609,7 +610,7 @@ _wmkdir
     _wmktemp
     _wopen
     _wperror
    -;_wpgmptr DATA
    +_wpgmptr=stub DATA
     _wpopen
     _wputenv
     _wremove
    @@ -617,32 +618,32 @@ _wrename
     _write
     _wrmdir
     _wsearchenv
    -;_wsetlocale
    +_wsetlocale=stub
     _wsopen
    -;_wspawnl
    -;_wspawnle
    -;_wspawnlp
    -;_wspawnlpe
    -;_wspawnv
    -;_wspawnve
    -;_wspawnvp
    -;_wspawnvpe
    +_wspawnl
    +_wspawnle
    +_wspawnlp
    +_wspawnlpe
    +_wspawnv
    +_wspawnve
    +_wspawnvp
    +_wspawnvpe
     _wsplitpath
     _wstat
    -;_wstat64
    +_wstat64=stub
     _wstati64
     _wstrdate
     _wstrtime
    -;_wsystem
    +_wsystem=stub
     _wtempnam
     _wtmpnam
    -;_wtof
    +_wtof=stub
     _wtoi=NTDLL._wtoi
     _wtoi64=NTDLL._wtoi64
     _wtol
     _wunlink
     _wutime
    -;_wutime64
    +_wutime64=stub
     _y0
     _y1
     _yn
    diff --git a/reactos/lib/msvcrt/msvcrt.xml b/reactos/lib/msvcrt/msvcrt.xml
    index 4e23941c56d..feafc28fbfe 100644
    --- a/reactos/lib/msvcrt/msvcrt.xml
    +++ b/reactos/lib/msvcrt/msvcrt.xml
    @@ -4,6 +4,7 @@
     	-lgcc
     	
     	.
    +	include
     	
     	
     	0x600
    @@ -12,11 +13,11 @@
     	
     	
     	
    +	crt
     	wine
     	string
     	kernel32
     	ntdll
    -	crt
     	dllmain.c
     	msvcrt.rc
     
    diff --git a/reactos/lib/ntdll/dbg/print.c b/reactos/lib/ntdll/dbg/print.c
    index 60a8d5cc202..7e4e211aa36 100644
    --- a/reactos/lib/ntdll/dbg/print.c
    +++ b/reactos/lib/ntdll/dbg/print.c
    @@ -26,6 +26,35 @@ __asm__ ("\n\t.global _DbgService\n\t"
              "int $0x2D\n\t"
              "ret\n\t");
     
    +/*
    + * @unimplemented
    + */
    +ULONG
    +DbgPrintEx(
    +    IN ULONG ComponentId,
    +    IN ULONG Level,
    +    IN PCH Format,
    +    ...
    +    )
    +{
    +   ANSI_STRING DebugString;
    +   CHAR Buffer[4096];
    +   va_list ap;
    +
    +   /* init ansi string */
    +   DebugString.Buffer = Buffer;
    +   DebugString.MaximumLength = sizeof(Buffer);
    +
    +   va_start (ap, Format);
    +   DebugString.Length = _vsnprintf (Buffer, sizeof(Buffer), Format, ap);
    +   va_end (ap);
    +
    +   DbgService (1, &DebugString, NULL);
    +
    +   return (ULONG)DebugString.Length;
    +}
    +
    +
     /*
      * @implemented
      */
    @@ -44,9 +73,8 @@ DbgPrint(PCH Format, ...)
        DebugString.Length = _vsnprintf (Buffer, sizeof(Buffer), Format, ap);
        va_end (ap);
     
    -   DbgService (1, &DebugString, NULL);
     
    -   return (ULONG)DebugString.Length;
    +   return DbgPrintEx (0, 0, DebugString.Buffer);
     }
     
     
    diff --git a/reactos/lib/ntdll/def/ntdll.def b/reactos/lib/ntdll/def/ntdll.def
    index e1d6af97011..f9101bae979 100644
    --- a/reactos/lib/ntdll/def/ntdll.def
    +++ b/reactos/lib/ntdll/def/ntdll.def
    @@ -23,6 +23,7 @@ CsrProbeForWrite@12
     CsrSetPriorityClass@8
     DbgBreakPoint@0
     DbgPrint
    +DbgPrintEx
     DbgPrompt@12
     DbgSsHandleKmApiMsg@8
     DbgSsInitialize@16
    @@ -365,12 +366,13 @@ RtlCutoverTimeToSystemTime@16
     RtlDeNormalizeProcessParams@4
     RtlDecompressBuffer@24
     RtlDecompressFragment@32
    -;RtlDelete
    +RtlDelete@4
     RtlDeleteAce@8
     RtlDeleteAtomFromAtomTable@8
     RtlDeleteCriticalSection@4
    -;RtlDeleteElementGenericTable
    -;RtlDeleteNoSplay
    +RtlDeleteElementGenericTable@8
    +RtlDeleteElementGenericTableAvl@8
    +RtlDeleteNoSplay@8
     RtlDeleteOwnersRanges@8
     RtlDeleteRange@24
     RtlDeleteRegistryValue@12
    @@ -399,8 +401,11 @@ RtlEnlargedUnsignedDivide@16
     RtlEnlargedUnsignedMultiply@8
     RtlEnterCriticalSection@4
     RtlEnumProcessHeaps@8
    -;RtlEnumerateGenericTable
    -;RtlEnumerateGenericTableWithoutSplaying
    +RtlEnumerateGenericTable@8
    +RtlEnumerateGenericTableAvl@8
    +RtlEnumerateGenericTableLikeADirectory@28
    +RtlEnumerateGenericTableWithoutSplaying@8
    +RtlEnumerateGenericTableWithoutSplayingAvl@8
     RtlEqualComputerName@8
     RtlEqualDomainName@8
     RtlEqualLuid@8
    @@ -449,7 +454,8 @@ RtlGetCompressionWorkSpaceSize@12
     RtlGetControlSecurityDescriptor@12
     RtlGetCurrentDirectory_U@8
     RtlGetDaclSecurityDescriptor@16
    -;RtlGetElementGenericTable
    +RtlGetElementGenericTable@8
    +RtlGetElementGenericTableAvl@8
     RtlGetFirstRange@12
     RtlGetFullPathName_U@16
     RtlGetGroupSecurityDescriptor@12
    @@ -483,13 +489,17 @@ RtlInitializeBitMap@12
     RtlInitializeContext@20
     RtlInitializeCriticalSection@4
     RtlInitializeCriticalSectionAndSpinCount@8
    -;RtlInitializeGenericTable
    +RtlInitializeGenericTable@20
    +RtlInitializeGenericTableAvl@20
     RtlInitializeHandleTable@12
     RtlInitializeRangeList@4
     RtlInitializeResource@4
     ;RtlInitializeRXact
     RtlInitializeSid@12
    -;RtlInsertElementGenericTable
    +RtlInsertElementGenericTable@16
    +RtlInsertElementGenericTableAvl@16
    +RtlInsertElementGenericTableFull@24
    +RtlInsertElementGenericTableFullAvl@24
     RtlInt64ToUnicodeString@16
     RtlIntegerToChar@16
     RtlIntegerToUnicodeString@12
    @@ -512,6 +522,7 @@ RtlIpv6StringToAddressExW@16
     RtlIpv6StringToAddressW@16
     RtlIsDosDeviceName_U@4
     RtlIsGenericTableEmpty@4
    +RtlIsGenericTableEmptyAvl@4
     RtlIsNameLegalDOS8Dot3@12
     RtlIsRangeAvailable@40
     RtlIsTextUnicode@12
    @@ -532,7 +543,10 @@ RtlLengthSid@4
     RtlLocalTimeToSystemTime@8
     RtlLockHeap@4
     RtlLookupAtomInAtomTable@12
    -;RtlLookupElementGenericTable
    +RtlLookupElementGenericTable@8
    +RtlLookupElementGenericTableAvl@8
    +RtlLookupElementGenericTableFull@16
    +RtlLookupElementGenericTableFullAvl@16
     RtlMakeSelfRelativeSD@12
     RtlMapGenericMask@8
     RtlMergeRangeLists@16
    @@ -545,7 +559,8 @@ RtlMultiByteToUnicodeSize@12
     RtlNormalizeProcessParams@4
     RtlNtPathNameToDosPathName@16
     RtlNtStatusToDosError@4
    -;RtlNumberGenericTableElements
    +RtlNumberGenericTableElements@4
    +RtlNumberGenericTableElementsAvl@4
     RtlNumberOfClearBits@4
     RtlNumberOfSetBits@4
     RtlOemStringToUnicodeSize@4
    @@ -573,8 +588,8 @@ RtlRaiseStatus@4
     RtlRandom@4
     RtlRandomEx=RtlRandom@4
     RtlReAllocateHeap@16
    -;RtlRealPredecessor
    -;RtlRealSuccessor
    +RtlRealPredecessor@4
    +RtlRealSuccessor@4
     RtlReleasePebLock@0
     RtlReleaseResource@4
     ;RtlRemoteCall
    @@ -586,7 +601,7 @@ RtlSecondsSince1970ToTime@8
     RtlSecondsSince1980ToTime@8
     RtlSelfRelativeToAbsoluteSD@44
     RtlSetAllBits@4
    -;RtlSetAttributesSecurityDescriptor
    +RtlSetAttributesSecurityDescriptor@12
     RtlSetBits@12
     RtlSetControlSecurityDescriptor@12
     RtlSetCriticalSectionSpinCount@8
    @@ -607,7 +622,7 @@ RtlSetTimeZoneInformation@4
     ;RtlSetUserFlagsHeap
     ;RtlSetUserValueHeap
     RtlSizeHeap@12
    -;RtlSplay
    +RtlSplay@4
     ;RtlStartRXact
     RtlStringFromGUID@8
     RtlSubAuthorityCountSid@4
    diff --git a/reactos/lib/ntdll/ldr/startup.c b/reactos/lib/ntdll/ldr/startup.c
    index f16e6a7d786..e775fab0ab6 100644
    --- a/reactos/lib/ntdll/ldr/startup.c
    +++ b/reactos/lib/ntdll/ldr/startup.c
    @@ -207,10 +207,9 @@ LoadCompatibilitySettings(PPEB Peb)
     		Peb->OSPlatformId = (ULONG)PlatformId;
     
     		/* optional service pack version numbers */
    -		if(ReadCompatibilitySetting(SubKeyHandle, L"SPMajorVersion", ValueInfo, &SPMajorVersion))
    -			Peb->SPMajorVersion = (UCHAR)SPMajorVersion;
    -		if(ReadCompatibilitySetting(SubKeyHandle, L"SPMinorVersion", ValueInfo, &SPMinorVersion))
    -			Peb->SPMinorVersion = (UCHAR)SPMinorVersion;
    +		if(ReadCompatibilitySetting(SubKeyHandle, L"SPMajorVersion", ValueInfo, &SPMajorVersion) &&
    +		   ReadCompatibilitySetting(SubKeyHandle, L"SPMinorVersion", ValueInfo, &SPMinorVersion))
    +			Peb->OSCSDVersion = ((SPMajorVersion & 0xFF) << 8) | (SPMinorVersion & 0xFF);
     
     finish:
     		/* we're finished */
    diff --git a/reactos/lib/ntdll/makefile b/reactos/lib/ntdll/makefile
    index aeba6521db0..5c294b748da 100644
    --- a/reactos/lib/ntdll/makefile
    +++ b/reactos/lib/ntdll/makefile
    @@ -13,6 +13,10 @@ TARGET_CFLAGS = -g -D__NTDLL__ -Werror -Wall
     # require os code to explicitly request A/W version of structs/functions
     TARGET_CFLAGS += -D_DISABLE_TIDENTS
     
    +ifneq ($(DBG), 0)
    +TARGET_CFLAGS += -DDBG
    +endif
    +
     TARGET_ASFLAGS = -I $(PATH_TO_TOP)/include
     
     TARGET_LFLAGS = -Wl,--file-alignment,0x1000 \
    diff --git a/reactos/lib/ntdll/rtl/critical.c b/reactos/lib/ntdll/rtl/critical.c
    index 6da74fc197f..16a96253b4a 100644
    --- a/reactos/lib/ntdll/rtl/critical.c
    +++ b/reactos/lib/ntdll/rtl/critical.c
    @@ -144,16 +144,27 @@ RtlEnterCriticalSection(
              */
             if (Thread == CriticalSection->OwningThread) {
                 
    -            /* You own it, so you'll get it when you're done with it! */
    +            /* You own it, so you'll get it when you're done with it! No need to
    +               use the interlocked functions as only the thread who already owns
    +               the lock can modify this data. */
                 CriticalSection->RecursionCount++;
                 return STATUS_SUCCESS;
             }
    +
    +        /* NOTE - CriticalSection->OwningThread can be NULL here because changing
    +                  this information is not serialized. This happens when thread a
    +                  acquires the lock (LockCount == 0) and thread b tries to
    +                  acquire it as well (LockCount == 1) but thread a hasn't had a
    +                  chance to set the OwningThread! So it's not an error when
    +                  OwningThread is NULL here! */
             
             /* We don't own it, so we must wait for it */
             RtlpWaitForCriticalSection(CriticalSection);
         }
         
    -    /* Lock successful */
    +    /* Lock successful. Changing this information has not to be serialized because
    +       only one thread at a time can actually change it (the one who acquired
    +       the lock)! */
         CriticalSection->OwningThread = Thread;
         CriticalSection->RecursionCount = 1;
         return STATUS_SUCCESS;
    @@ -293,19 +304,34 @@ NTSTATUS
     STDCALL
     RtlLeaveCriticalSection(
         PRTL_CRITICAL_SECTION CriticalSection)
    -{     
    -    /* Decrease the Recursion Count */    
    +{   
    +#ifndef NDEBUG
    +    HANDLE Thread = (HANDLE)NtCurrentTeb()->Cid.UniqueThread;
    +    
    +    /* In win this case isn't checked. However it's a valid check so it should only
    +       be performed in debug builds! */
    +    if (Thread != CriticalSection->OwningThread)
    +    {
    +       DPRINT1("Releasing critical section not owned!\n");
    +       return STATUS_INVALID_PARAMETER;
    +    }
    +#endif
    +   
    +    /* Decrease the Recursion Count. No need to do this atomically because only
    +       the thread who holds the lock can call this function (unless the program
    +       is totally screwed... */
         if (--CriticalSection->RecursionCount) {
         
    -        /* Someone still owns us, but we are free */
    +        /* Someone still owns us, but we are free. This needs to be done atomically. */
             InterlockedDecrement(&CriticalSection->LockCount);
             
         } else {
             
    -         /* Nobody owns us anymore */
    +         /* Nobody owns us anymore. No need to do this atomically. See comment
    +            above. */
             CriticalSection->OwningThread = 0;
             
    -        /* Was someone wanting us? */
    +        /* Was someone wanting us? This needs to be done atomically. */
             if (InterlockedDecrement(&CriticalSection->LockCount) >= 0) {
             
                 /* Let him have us */
    @@ -334,29 +360,29 @@ RtlLeaveCriticalSection(
      *     None
      *
      *--*/
    -BOOLEAN 
    +BOOLEAN
     STDCALL
     RtlTryEnterCriticalSection(
         PRTL_CRITICAL_SECTION CriticalSection)
    -{   
    +{
         /* Try to take control */
         if (InterlockedCompareExchange(&CriticalSection->LockCount,
                                        0,
                                        -1) == -1) {
     
    -        /* It's ours */                                
    +        /* It's ours */
             CriticalSection->OwningThread =  NtCurrentTeb()->Cid.UniqueThread;
             CriticalSection->RecursionCount = 1;
             return TRUE;
    -   
    +
        } else if (CriticalSection->OwningThread == NtCurrentTeb()->Cid.UniqueThread) {
    -       
    +
             /* It's already ours */
             InterlockedIncrement(&CriticalSection->LockCount);
             CriticalSection->RecursionCount++;
             return TRUE;
         }
    -    
    +
         /* It's not ours */
         return FALSE;
     }
    diff --git a/reactos/lib/ntdll/rtl/libsupp.c b/reactos/lib/ntdll/rtl/libsupp.c
    index c8e2182514f..1f6e70a5964 100644
    --- a/reactos/lib/ntdll/rtl/libsupp.c
    +++ b/reactos/lib/ntdll/rtl/libsupp.c
    @@ -55,3 +55,12 @@ ExFreePool(IN PVOID Mem)
           0,
           Mem);
     }
    +
    +
    +#ifdef DBG
    +VOID FASTCALL
    +CHECK_PAGED_CODE_RTL(char *file, int line)
    +{
    +  /* meaningless in user mode */
    +}
    +#endif
    diff --git a/reactos/lib/ntdll/rtl/process.c b/reactos/lib/ntdll/rtl/process.c
    index 36f2071424d..760696fc352 100644
    --- a/reactos/lib/ntdll/rtl/process.c
    +++ b/reactos/lib/ntdll/rtl/process.c
    @@ -324,4 +324,47 @@ RtlCreateUserProcess(PUNICODE_STRING ImageFileName,
        return(STATUS_SUCCESS);
     }
     
    +
    +/*
    +* @implemented
    +*/
    +NTSTATUS STDCALL
    +RtlGetVersion(RTL_OSVERSIONINFOW *Info)
    +{
    +   if (Info->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOW) ||
    +       Info->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOEXW))
    +   {
    +      PPEB Peb = NtCurrentPeb();
    +      
    +      Info->dwMajorVersion = Peb->OSMajorVersion;
    +      Info->dwMinorVersion = Peb->OSMinorVersion;
    +      Info->dwBuildNumber = Peb->OSBuildNumber;
    +      Info->dwPlatformId = Peb->OSPlatformId;
    +      if(((Peb->OSCSDVersion >> 8) & 0xFF) != 0)
    +      {
    +        int i = _snwprintf(Info->szCSDVersion,
    +                           (sizeof(Info->szCSDVersion) / sizeof(Info->szCSDVersion[0])) - 1,
    +                           L"Service Pack %d",
    +                           ((Peb->OSCSDVersion >> 8) & 0xFF));
    +        Info->szCSDVersion[i] = L'\0';
    +      }
    +      else
    +      {
    +        RtlZeroMemory(Info->szCSDVersion, sizeof(Info->szCSDVersion));
    +      }
    +      if (Info->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOEXW))
    +      {
    +         RTL_OSVERSIONINFOEXW *InfoEx = (RTL_OSVERSIONINFOEXW *)Info;
    +         InfoEx->wServicePackMajor = (Peb->OSCSDVersion >> 8) & 0xFF;
    +         InfoEx->wServicePackMinor = Peb->OSCSDVersion & 0xFF;
    +         InfoEx->wSuiteMask = SharedUserData->SuiteMask;
    +         InfoEx->wProductType = SharedUserData->NtProductType;
    +      }
    +
    +      return STATUS_SUCCESS;
    +   }
    +
    +   return STATUS_INVALID_PARAMETER;
    +}
    +
     /* EOF */
    diff --git a/reactos/lib/ntdll/stdio/scanf.h b/reactos/lib/ntdll/stdio/scanf.h
    new file mode 100644
    index 00000000000..a8dcde70740
    --- /dev/null
    +++ b/reactos/lib/ntdll/stdio/scanf.h
    @@ -0,0 +1,537 @@
    +/*
    + * general implementation of scanf used by scanf, sscanf, fscanf,
    + * _cscanf, wscanf, swscanf and fwscanf
    + *
    + * Copyright 1996,1998 Marcus Meissner
    + * Copyright 1996 Jukka Iivonen
    + * Copyright 1997,2000, 2003 Uwe Bonnes
    + * Copyright 2000 Jon Griffiths
    + * Copyright 2002 Daniel Gudbjartsson
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifdef WIDE_SCANF
    +#define _CHAR_ wchar_t
    +#define _EOF_ WEOF
    +#define _EOF_RET WEOF
    +#define _ISSPACE_(c) iswspace(c)
    +#define _ISDIGIT_(c) iswdigit(c)
    +#define _WIDE2SUPPORTED_(c) c /* No conversion needed (wide to wide) */
    +#define _CHAR2SUPPORTED_(c) c /* FIXME: convert char to wide char */
    +#define _CHAR2DIGIT_(c, base) wchar2digit((c), (base))
    +#define _BITMAPSIZE_ 256*256
    +#else /* WIDE_SCANF */
    +#define _CHAR_ char
    +#define _EOF_ EOF
    +#define _EOF_RET EOF
    +#define _ISSPACE_(c) isspace(c)
    +#define _ISDIGIT_(c) isdigit(c)
    +#define _WIDE2SUPPORTED_(c) c /* FIXME: convert wide char to char */
    +#define _CHAR2SUPPORTED_(c) c /* No conversion needed (char to char) */
    +#define _CHAR2DIGIT_(c, base) char2digit((c), (base))
    +#define _BITMAPSIZE_ 256
    +#endif /* WIDE_SCANF */
    +
    +#ifdef CONSOLE
    +#define _GETC_(file) (consumed++, _getch())
    +#define _UNGETC_(nch, file) do { _ungetch(nch); consumed--; } while(0)
    +#define _FUNCTION_ int vcscanf(const char *format, va_list ap)
    +#else
    +#ifdef STRING
    +#undef _EOF_
    +#define _EOF_ 0
    +#define _GETC_(file) (consumed++, *file++)
    +#define _UNGETC_(nch, file) do { file--; consumed--; } while(0)
    +#ifdef WIDE_SCANF
    +#define _FUNCTION_ int vswscanf(const wchar_t *file, const wchar_t *format, va_list ap)
    +#else /* WIDE_SCANF */
    +#define _FUNCTION_ int vsscanf(const char *file, const char *format, va_list ap)
    +#endif /* WIDE_SCANF */
    +#else /* STRING */
    +#ifdef WIDE_SCANF
    +#define _GETC_(file) (consumed++, fgetwc(file))
    +#define _UNGETC_(nch, file) do { ungetwc(nch, file); consumed--; } while(0)
    +#define _FUNCTION_ int vfwscanf(FILE* file, const wchar_t *format, va_list ap)
    +#else /* WIDE_SCANF */
    +#define _GETC_(file) (consumed++, fgetc(file))
    +#define _UNGETC_(nch, file) do { ungetc(nch, file); consumed--; } while(0)
    +#define _FUNCTION_ int vfscanf(FILE* file, const char *format, va_list ap)
    +#endif /* WIDE_SCANF */
    +#endif /* STRING */
    +#endif /* CONSOLE */
    +
    +/*********************************************************************
    + * Implemented based on
    + * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt_format_specification_fields_.2d_.scanf_and_wscanf_functions.asp
    + * Extended by C. Scott Ananian  to handle
    + * more types of format spec.
    + */
    +_FUNCTION_ {
    +    int rd = 0, consumed = 0;
    +    int nch;
    +    if (!*format) return 0;
    +#ifndef WIDE_SCANF
    +#ifdef CONSOLE
    +    TRACE("(%s): \n", debugstr_a(format));
    +#else /* CONSOLE */
    +#ifdef STRING
    +    TRACE("%s (%s)\n", file, debugstr_a(format));
    +#else /* STRING */
    +    TRACE("%p (%s)\n", file, debugstr_a(format));
    +#endif /* STRING */
    +#endif /* CONSOLE */
    +#endif /* WIDE_SCANF */
    +    nch = _GETC_(file);
    +    if (nch == _EOF_) return _EOF_RET;
    +
    +    while (*format) {
    +	/* a whitespace character in the format string causes scanf to read,
    +	 * but not store, all consecutive white-space characters in the input
    +	 * up to the next non-white-space character.  One white space character
    +	 * in the input matches any number (including zero) and combination of
    +	 * white-space characters in the input. */
    +	if (_ISSPACE_(*format)) {
    +            /* skip whitespace */
    +            while ((nch!=_EOF_) && _ISSPACE_(nch))
    +                nch = _GETC_(file);
    +        }
    +	/* a format specification causes scanf to read and convert characters
    +	 * in the input into values of a specified type.  The value is assigned
    +	 * to an argument in the argument list.  Format specifications have
    +	 * the form %[*][width][{h | l | I64 | L}]type */
    +        else if (*format == '%') {
    +            int st = 0; int suppress = 0; int width = 0;
    +	    int base, number_signed;
    +	    int h_prefix = 0;
    +	    int l_prefix = 0;
    +	    int L_prefix = 0;
    +	    int w_prefix = 0;
    +	    int prefix_finished = 0;
    +	    int I64_prefix = 0;
    +            format++;
    +	    /* look for leading asterisk, which means 'suppress assignment of
    +	     * this field'. */
    +	    if (*format=='*') {
    +		format++;
    +		suppress=1;
    +	    }
    +	    /* look for width specification */
    +	    while (_ISDIGIT_(*format)) {
    +		width*=10;
    +		width+=*format++ - '0';
    +	    }
    +	    if (width==0) width=-1; /* no width spec seen */
    +	    /* read prefix (if any) */
    +	    while (!prefix_finished) {
    +		switch(*format) {
    +		case 'h': h_prefix = 1; break;
    +		case 'l': l_prefix = 1; break;
    +		case 'w': w_prefix = 1; break;
    +		case 'L': L_prefix = 1; break;
    +		case 'I':
    +		    if (*(format + 1) == '6' &&
    +			*(format + 2) == '4') {
    +			I64_prefix = 1;
    +			format += 2;
    +		    }
    +		    break;
    +		default:
    +		    prefix_finished = 1;
    +		}
    +		if (!prefix_finished) format++;
    +	    }
    +	    /* read type */
    +            switch(*format) {
    +	    case 'x':
    +	    case 'X': /* hexadecimal integer. */
    +		base = 16; number_signed = 0;
    +		goto number;
    +	    case 'o': /* octal integer */
    +		base = 8; number_signed = 0;
    +		goto number;
    +	    case 'u': /* unsigned decimal integer */
    +		base = 10; number_signed = 0;
    +		goto number;
    +	    case 'd': /* signed decimal integer */
    +		base = 10; number_signed = 1;
    +		goto number;
    +	    case 'i': /* generic integer */
    +		base = 10; number_signed = 1;
    +	    number: {
    +		    /* read an integer */
    +		    ULONGLONG cur = 0;
    +		    int negative = 0;
    +		    int seendigit=0;
    +                    /* skip initial whitespace */
    +                    while ((nch!=_EOF_) && _ISSPACE_(nch))
    +                        nch = _GETC_(file);
    +                    /* get sign */
    +                    if (number_signed && (nch == '-' ||
    +					  nch == '+')) {
    +			negative = (nch=='-');
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +                    }
    +		    /* look for leading indication of base */
    +		    if (width!=0 && nch == '0') {
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +			seendigit=1;
    +			if (width!=0 && (nch=='x' || nch=='X')) {
    +			    if (base==0)
    +				base=16;
    +			    if (base==16) {
    +				nch = _GETC_(file);
    +				if (width>0) width--;
    +				seendigit=0;
    +			    }
    +			} else if (base==0)
    +			    base = 8;
    +		    }
    +		    /* throw away leading zeros */
    +		    while (width!=0 && nch=='0') {
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +			seendigit=1;
    +		    }
    +		    if (width!=0 && _CHAR2DIGIT_(nch, base)!=-1) {
    +			cur = _CHAR2DIGIT_(nch, base);
    +			nch = _GETC_(file);
    +			if (width>0) width--;
    +			seendigit=1;
    +		    }
    +                    /* read until no more digits */
    +                    while (width!=0 && (nch!=_EOF_) && _CHAR2DIGIT_(nch, base)!=-1) {
    +                        cur = cur*base + _CHAR2DIGIT_(nch, base);
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +			seendigit=1;
    +                    }
    +		    /* okay, done! */
    +		    if (!seendigit) break; /* not a valid number */
    +                    st = 1;
    +                    if (!suppress) {
    +#define _SET_NUMBER_(type) *va_arg(ap, type*) = negative ? -cur : cur
    +			if (number_signed) {
    +			    if (I64_prefix) _SET_NUMBER_(LONGLONG);
    +			    else if (l_prefix) _SET_NUMBER_(long int);
    +			    else if (h_prefix) _SET_NUMBER_(short int);
    +			    else _SET_NUMBER_(int);
    +			} else {
    +			    if (negative) {
    +				WARN("Dropping sign in reading a negative number into an unsigned value");
    +				negative = 0;
    +			    }
    +			    if (I64_prefix) _SET_NUMBER_(ULONGLONG);
    +			    else if (l_prefix) _SET_NUMBER_(unsigned long int);
    +			    else if (h_prefix)
    +				_SET_NUMBER_(unsigned short int);
    +			    else _SET_NUMBER_(unsigned int);
    +			}
    +		    }
    +                }
    +                break;
    +	    case 'e':
    +	    case 'E':
    +	    case 'f':
    +	    case 'g':
    +            case 'G': { /* read a float */
    +                    long double cur = 0;
    +		    int negative = 0;
    +                    /* skip initial whitespace */
    +                    while ((nch!=_EOF_) && _ISSPACE_(nch))
    +                        nch = _GETC_(file);
    +		    /* get sign. */
    +                    if (nch == '-' || nch == '+') {
    +			negative = (nch=='-');
    +			if (width>0) width--;
    +			if (width==0) break;
    +                        nch = _GETC_(file);
    +                    }
    +		    /* get first digit. */
    +		    if ('.' != nch) {
    +		      if (!_ISDIGIT_(nch)) break;
    +		      cur = (nch - '0');
    +		      nch = _GETC_(file);
    +		      if (width>0) width--;
    +		      /* read until no more digits */
    +		      while (width!=0 && (nch!=_EOF_) && _ISDIGIT_(nch)) {
    +                        cur = cur*10 + (nch - '0');
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +		      }
    +		    } else {
    +		      cur = 0; /* MaxPayneDemo Fix: .8 -> 0.8 */
    +		    }
    +		    /* handle decimals */
    +                    if (width!=0 && nch == '.') {
    +                        float dec = 1;
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +                        while (width!=0 && (nch!=_EOF_) && _ISDIGIT_(nch)) {
    +                            dec /= 10;
    +                            cur += dec * (nch - '0');
    +                            nch = _GETC_(file);
    +			    if (width>0) width--;
    +                        }
    +                    }
    +		    /* handle exponent */
    +		    if (width!=0 && (nch == 'e' || nch == 'E')) {
    +			int exponent = 0, negexp = 0;
    +			float expcnt;
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +			/* possible sign on the exponent */
    +			if (width!=0 && (nch=='+' || nch=='-')) {
    +			    negexp = (nch=='-');
    +                            nch = _GETC_(file);
    +			    if (width>0) width--;
    +			}
    +			/* exponent digits */
    +			while (width!=0 && (nch!=_EOF_) && _ISDIGIT_(nch)) {
    +			    exponent *= 10;
    +			    exponent += (nch - '0');
    +                            nch = _GETC_(file);
    +			    if (width>0) width--;
    +                        }
    +			/* update 'cur' with this exponent. */
    +			expcnt =  negexp ? .1 : 10;
    +			while (exponent!=0) {
    +			    if (exponent&1)
    +				cur*=expcnt;
    +			    exponent/=2;
    +			    expcnt=expcnt*expcnt;
    +			}
    +		    }
    +                    st = 1;
    +                    if (!suppress) {
    +			if (L_prefix) _SET_NUMBER_(long double);
    +			else if (l_prefix) _SET_NUMBER_(double);
    +			else _SET_NUMBER_(float);
    +		    }
    +                }
    +                break;
    +		/* According to
    +		 * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_scanf_type_field_characters.asp
    +		 * 's' reads a character string in a call to fscanf
    +		 * and 'S' a wide character string and vice versa in a
    +		 * call to fwscanf. The 'h', 'w' and 'l' prefixes override
    +		 * this behaviour. 'h' forces reading char * but 'l' and 'w'
    +		 * force reading WCHAR. */
    +	    case 's':
    +		    if (w_prefix || l_prefix) goto widecharstring;
    +		    else if (h_prefix) goto charstring;
    +#ifdef WIDE_SCANF
    +		    else goto widecharstring;
    +#else /* WIDE_SCANF */
    +		    else goto charstring;
    +#endif /* WIDE_SCANF */
    +	    case 'S':
    +		    if (w_prefix || l_prefix) goto widecharstring;
    +		    else if (h_prefix) goto charstring;
    +#ifdef WIDE_SCANF
    +		    else goto charstring;
    +#else /* WIDE_SCANF */
    +		    else goto widecharstring;
    +#endif /* WIDE_SCANF */
    +	    charstring: { /* read a word into a char */
    +		    char*str = suppress ? NULL : va_arg(ap, char*);
    +                    char*sptr = str;
    +                    /* skip initial whitespace */
    +                    while ((nch!=_EOF_) && _ISSPACE_(nch))
    +                        nch = _GETC_(file);
    +                    /* read until whitespace */
    +                    while (width!=0 && (nch!=_EOF_) && !_ISSPACE_(nch)) {
    +                        if (!suppress) *sptr++ = _CHAR2SUPPORTED_(nch);
    +			st++;
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +                    }
    +                    /* terminate */
    +                    if (!suppress) *sptr = 0;
    +                }
    +                break;
    +	    widecharstring: { /* read a word into a wchar_t* */
    +		    wchar_t*str =
    +			suppress ? NULL : va_arg(ap, wchar_t*);
    +                    wchar_t*sptr = str;
    +                    /* skip initial whitespace */
    +                    while ((nch!=_EOF_) && _ISSPACE_(nch))
    +                        nch = _GETC_(file);
    +                    /* read until whitespace */
    +                    while (width!=0 && (nch!=_EOF_) && !_ISSPACE_(nch)) {
    +                        if (!suppress) *sptr++ = _WIDE2SUPPORTED_(nch);
    +			st++;
    +                        nch = _GETC_(file);
    +			if (width>0) width--;
    +                    }
    +                    /* terminate */
    +                    if (!suppress) *sptr = 0;
    +                }
    +                break;
    +            /* 'c' and 'C work analogously to 's' and 'S' as described
    +	     * above */
    +	    case 'c':
    +		    if (w_prefix || l_prefix) goto widecharacter;
    +		    else if (h_prefix) goto character;
    +#ifdef WIDE_SCANF
    +		    else goto widecharacter;
    +#else /* WIDE_SCANF */
    +		    else goto character;
    +#endif /* WIDE_SCANF */
    +	    case 'C':
    +		    if (w_prefix || l_prefix) goto widecharacter;
    +		    else if (h_prefix) goto character;
    +#ifdef WIDE_SCANF
    +		    else goto character;
    +#else /* WIDE_SCANF */
    +		    else goto widecharacter;
    +#endif /* WIDE_SCANF */
    +	  character: { /* read single character into char */
    +                    if (nch!=_EOF_) {
    +                        if (!suppress) {
    +                            char*c = va_arg(ap, char*);
    +                            *c = _CHAR2SUPPORTED_(nch);
    +                        }
    +                        st = 1;
    +                        nch = _GETC_(file);
    +                    }
    +                }
    +		break;
    +	  widecharacter: { /* read single character into a wchar_t */
    +                    if (nch!=_EOF_) {
    +                        if (!suppress) {
    +                            wchar_t*c = va_arg(ap, wchar_t*);
    +                            *c = _WIDE2SUPPORTED_(nch);
    +                        }
    +                        nch = _GETC_(file);
    +                        st = 1;
    +                    }
    +	        }
    +		break;
    +	    case 'n': {
    + 		    if (!suppress) {
    +			int*n = va_arg(ap, int*);
    +			*n = consumed - (nch!=_EOF_);
    +		    }
    +	        }
    +		break;
    +	    case '[': {
    +                    _CHAR_ *str = suppress ? NULL : va_arg(ap, _CHAR_*);
    +                    _CHAR_ *sptr = str;
    +		    RTL_BITMAP bitMask;
    +                    ULONG *Mask;
    +		    int invert = 0; /* Set if we are NOT to find the chars */
    +
    +		    /* Init our bitmap */
    +          Mask = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, _BITMAPSIZE_/8);
    +		    RtlInitializeBitMap(&bitMask, Mask, _BITMAPSIZE_);
    +
    +		    /* Read the format */
    +		    format++;
    +		    if(*format == '^') {
    +			invert = 1;
    +			format++;
    +		    }
    +		    if(*format == ']') {
    +			RtlSetBits(&bitMask, ']', 1);
    +			format++;
    +		    }
    +                    while(*format && (*format != ']')) {
    +			/* According to:
    +			 * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt_scanf_width_specification.asp
    +			 * "Note that %[a-z] and %[z-a] are interpreted as equivalent to %[abcde...z]." */
    +			if((*format == '-') && (*(format + 1) != ']')) {
    +			    if ((*(format - 1)) < *(format + 1))
    +				RtlSetBits(&bitMask, *(format - 1) +1 , *(format + 1) - *(format - 1));
    +			    else
    +				RtlSetBits(&bitMask, *(format + 1)    , *(format - 1) - *(format + 1));			      
    +			    format++;
    +			} else
    +			    RtlSetBits(&bitMask, *format, 1);
    +			format++;
    +		    }
    +                    /* read until char is not suitable */
    +                    while ((width != 0) && (nch != _EOF_)) {
    +			if(!invert) {
    +			    if(RtlAreBitsSet(&bitMask, nch, 1)) {
    +				if (!suppress) *sptr++ = _CHAR2SUPPORTED_(nch);
    +			    } else
    +				break;
    +			} else {
    +			    if(RtlAreBitsClear(&bitMask, nch, 1)) {
    +				if (!suppress) *sptr++ = _CHAR2SUPPORTED_(nch);
    +			    } else
    +				break;
    +			}
    +                        st++;
    +                        nch = _GETC_(file);
    +                        if (width>0) width--;
    +                    }
    +                    /* terminate */
    +                    if (!suppress) *sptr = 0;
    +		    RtlFreeHeap(RtlGetProcessHeap(), 0, Mask);
    +                }
    +                break;
    +            default:
    +		/* From spec: "if a percent sign is followed by a character
    +		 * that has no meaning as a format-control character, that
    +		 * character and the following characters are treated as
    +		 * an ordinary sequence of characters, that is, a sequence
    +		 * of characters that must match the input.  For example,
    +		 * to specify that a percent-sign character is to be input,
    +		 * use %%." */
    +                while ((nch!=_EOF_) && _ISSPACE_(nch))
    +                    nch = _GETC_(file);
    +                if (nch==*format) {
    +                    suppress = 1; /* whoops no field to be read */
    +                    st = 1; /* but we got what we expected */
    +                    nch = _GETC_(file);
    +                }
    +                break;
    +            }
    +            if (st && !suppress) rd++;
    +            else if (!st) break;
    +        }
    +	/* a non-white-space character causes scanf to read, but not store,
    +	 * a matching non-white-space character. */
    +        else {
    +            /* check for character match */
    +            if (nch == *format) {
    +		nch = _GETC_(file);
    +            } else break;
    +        }
    +        format++;
    +    }
    +    if (nch!=_EOF_) {
    +	_UNGETC_(nch, file);
    +    }
    +    TRACE("returning %d\n", rd);
    +    return rd;
    +}
    +
    +#undef _CHAR_
    +#undef _EOF_
    +#undef _EOF_RET
    +#undef _ISSPACE_
    +#undef _ISDIGIT_
    +#undef _CHAR2SUPPORTED_
    +#undef _WIDE2SUPPORTED_
    +#undef _CHAR2DIGIT_
    +#undef _GETC_
    +#undef _UNGETC_
    +#undef _FUNCTION_
    +#undef _BITMAPSIZE_
    diff --git a/reactos/lib/ntdll/stdio/sscanf.c b/reactos/lib/ntdll/stdio/sscanf.c
    index a28d82fa845..88b7b2affa5 100644
    --- a/reactos/lib/ntdll/stdio/sscanf.c
    +++ b/reactos/lib/ntdll/stdio/sscanf.c
    @@ -1,10 +1,43 @@
     /**/
     
    -#include 
    +#include 
    +#include 
    +#include 
     
    -int sscanf(const char* szReadFrom, const char* szFormat, ...)
    +#define NDEBUG
    +#include 
    +
    +
    +/* helper function for *scanf.  Returns the value of character c in the
    + * given base, or -1 if the given character is not a digit of the base.
    + */
    +static int char2digit(char c, int base) {
    +    if ((c>='0') && (c<='9') && (c<='0'+base-1)) return (c-'0');
    +    if (base<=10) return -1;
    +    if ((c>='A') && (c<='Z') && (c<='A'+base-11)) return (c-'A'+10);
    +    if ((c>='a') && (c<='z') && (c<='a'+base-11)) return (c-'a'+10);
    +    return -1;
    +}
    +
    +#define debugstr_a(a) (a)
    +#define TRACE DPRINT
    +#define WARN DPRINT1
    +
    +/* vsscanf */
    +#undef WIDE_SCANF
    +#undef CONSOLE
    +#define STRING 1
    +#include "scanf.h"
    +
    +int sscanf(const char *str, const char *format, ...)
     {
    -  return 0;
    +    va_list valist;
    +    int res;
    +
    +    va_start(valist, format);
    +    res = vsscanf(str, format, valist);
    +    va_end(valist);
    +    return res;
     }
     
     /*EOF */
    diff --git a/reactos/lib/ntdll/stdlib/bsearch.c b/reactos/lib/ntdll/stdlib/bsearch.c
    index 7efbdbd9897..e1e4f11e586 100644
    --- a/reactos/lib/ntdll/stdlib/bsearch.c
    +++ b/reactos/lib/ntdll/stdlib/bsearch.c
    @@ -1,5 +1,5 @@
     /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */
    -#include 
    +#include 
     
     /*
      * @implemented
    diff --git a/reactos/lib/ntdll/stdlib/lfind.c b/reactos/lib/ntdll/stdlib/lfind.c
    index 2000fecaffa..2e6e43b0f1e 100644
    --- a/reactos/lib/ntdll/stdlib/lfind.c
    +++ b/reactos/lib/ntdll/stdlib/lfind.c
    @@ -1,5 +1,5 @@
    -#include 
    -#include 
    +#include 
    +#include 
     
     
     /*
    diff --git a/reactos/lib/ole32/compobj.c b/reactos/lib/ole32/compobj.c
    index 1ed832a8a12..a3da9bf4a38 100644
    --- a/reactos/lib/ole32/compobj.c
    +++ b/reactos/lib/ole32/compobj.c
    @@ -28,37 +28,19 @@
      *
      * TODO list:           (items bunched together depend on each other)
      *
    - *   - Switch wine_marshal_id to use IPIDs not IIDs
    - *   - Once that's done, replace wine_marshal_id with STDOBJREF
    - *
    - *   - Rewrite the CoLockObjectExternal code, it does totally the wrong
    - *     thing currently (should be controlling the stub manager)
    - *
    - *   - Make the MTA dynamically allocated and refcounted
    - *   - Free the ReservedForOle data in DllMain(THREAD_DETACH)
    - *
      *   - Implement the service control manager (in rpcss) to keep track
      *     of registered class objects: ISCM::ServerRegisterClsid et al
      *   - Implement the OXID resolver so we don't need magic pipe names for
      *     clients and servers to meet up
      *   - Flip our marshalling on top of the RPC runtime transport API,
      *     so we no longer use named pipes to communicate
    - *   - Rework threading so re-entrant calls don't need to be sent on
    - *     the incoming pipe
      *   - Implement RPC thread affinity (should fix InstallShield painting
      *     problems)
      *
    - *   - Implement IRemUnknown and marshalling for it, then use that for
    - *     reffing/unreffing the stub manager from a proxy instead of our
    - *     current hack of simply reffing the stub manager once when it's
    - *     registered.
    - *   - Implement table marshalling, then use it to let us do the final
    - *     rework of the threading
    - *
    - *   - Make our custom marshalling use NDR to be wire compatible with
    + *   - Make all ole interface marshaling use NDR to be wire compatible with
      *     native DCOM
    - *     
    - *        
    + *   - Use & interpret ORPCTHIS & ORPCTHAT.
    + *
      */
     
     #include "config.h"
    @@ -102,12 +84,11 @@ typedef LPCSTR LPCOLESTR16;
     
     static HRESULT COM_GetRegisteredClassObject(REFCLSID rclsid, DWORD dwClsContext, LPUNKNOWN*  ppUnk);
     static void COM_RevokeAllClasses(void);
    -static void COM_ExternalLockFreeList(void);
     
     const CLSID CLSID_StdGlobalInterfaceTable = { 0x00000323, 0, 0, {0xc0, 0, 0, 0, 0, 0, 0, 0x46} };
     
    -APARTMENT MTA;
    -static struct list apts = LIST_INIT( apts );
    +APARTMENT *MTA; /* protected by csApartment */
    +static struct list apts = LIST_INIT( apts ); /* protected by csApartment */
     
     static CRITICAL_SECTION csApartment;
     static CRITICAL_SECTION_DEBUG critsect_debug =
    @@ -213,89 +194,108 @@ void COMPOBJ_UninitProcess( void )
         UnregisterClassA(aptWinClass, OLE32_hInstance);
     }
     
    +void COM_TlsDestroy()
    +{
    +    struct oletls *info = NtCurrentTeb()->ReservedForOle;
    +    if (info)
    +    {
    +        if (info->apt) COM_ApartmentRelease(info->apt);
    +        if (info->errorinfo) IErrorInfo_Release(info->errorinfo);
    +        if (info->state) IUnknown_Release(info->state);
    +        HeapFree(GetProcessHeap(), 0, info);
    +        NtCurrentTeb()->ReservedForOle = NULL;
    +    }
    +}
    +
     /******************************************************************************
      * Manage apartments.
      */
     
    -
    -/* The multi-threaded apartment (MTA) contains zero or more threads interacting
    -   with free threaded (ie thread safe) COM objects. There is only ever one MTA
    -   in a process - you can enter it by calling CoInitializeEx(COINIT_MULTITHREADED)
    - */
    -static void COM_InitMTA(void)
    +/* allocates memory and fills in the necessary fields for a new apartment
    + * object */
    +static APARTMENT *apartment_construct(DWORD model)
     {
    -    /* OXIDs are object exporter IDs. Each apartment has an OXID, which is unique
    -       within a network. That is, two different MTAs on different machines will have
    -       different OXIDs.
    +    APARTMENT *apt;
     
    -       This method of generating an OXID is therefore wrong as it doesn't work across
    -       a network, but for local RPC only it's OK. We can distinguish between MTAs and
    -       STAs because STAs use the thread ID as well, and no thread can have an ID of zero.
    +    TRACE("creating new apartment, model=%ld\n", model);
     
    -       The algorithm Microsoft use is currently unknown.
    -     */
    -    MTA.oxid = ((OXID)GetCurrentProcessId() << 32);
    -    InitializeCriticalSection(&MTA.cs);
    +    apt = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*apt));
    +    apt->tid = GetCurrentThreadId();
    +    DuplicateHandle(GetCurrentProcess(), GetCurrentThread(),
    +                    GetCurrentProcess(), &apt->thread,
    +                    THREAD_ALL_ACCESS, FALSE, 0);
    +
    +    list_init(&apt->proxies);
    +    list_init(&apt->stubmgrs);
    +    apt->ipidc = 0;
    +    apt->refs = 1;
    +    apt->remunk_exported = FALSE;
    +    apt->oidc = 1;
    +    InitializeCriticalSection(&apt->cs);
    +
    +    apt->model = model;
    +
    +    if (model & COINIT_APARTMENTTHREADED)
    +    {
    +        /* FIXME: should be randomly generated by in an RPC call to rpcss */
    +        apt->oxid = ((OXID)GetCurrentProcessId() << 32) | GetCurrentThreadId();
    +        apt->win = CreateWindowA(aptWinClass, NULL, 0,
    +                                 0, 0, 0, 0,
    +                                 0, 0, OLE32_hInstance, NULL);
    +    }
    +    else
    +    {
    +        /* FIXME: should be randomly generated by in an RPC call to rpcss */
    +        apt->oxid = ((OXID)GetCurrentProcessId() << 32) | 0xcafe;
    +    }
    +
    +    apt->shutdown_event = CreateEventW(NULL, TRUE, FALSE, NULL);
    +    
    +    TRACE("Created apartment on OXID %s\n", wine_dbgstr_longlong(apt->oxid));
    +
    +    /* the locking here is not currently needed for the MTA case, but it
    +     * doesn't hurt and makes the code simpler */
    +    EnterCriticalSection(&csApartment);
    +    list_add_head(&apts, &apt->entry);
    +    LeaveCriticalSection(&csApartment);
    +
    +    return apt;
     }
     
    -static void COM_UninitMTA(void)
    -{
    -    DeleteCriticalSection(&MTA.cs);
    -    MTA.oxid = 0;
    -}
    -
    -
    -/* creates an apartment structure which stores OLE thread-local
    - * information. Call with COINIT_UNINITIALIZED to create an apartment
    - * that will be initialized with a model later. Note: do not call
    - * with COINIT_UNINITIALIZED if the apartment has already been initialized
    - * with a different COINIT value */
    -APARTMENT* COM_CreateApartment(DWORD model)
    +/* gets and existing apartment if one exists or otherwise creates an apartment
    + * structure which stores OLE apartment-local information and stores a pointer
    + * to it in the thread-local storage */
    +static APARTMENT *get_or_create_apartment(DWORD model)
     {
         APARTMENT *apt = COM_CurrentApt();
     
         if (!apt)
         {
    -        if (!(model & COINIT_APARTMENTTHREADED)) /* See note 1 above */
    -        {
    -            TRACE("thread 0x%lx is entering the multithreaded apartment\n", GetCurrentThreadId());
    -            COM_CurrentInfo()->apt = &MTA;
    -            return COM_CurrentInfo()->apt;
    -        }
    -
    -        TRACE("creating new apartment, model=%ld\n", model);
    -
    -        apt = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(APARTMENT));
    -        apt->tid = GetCurrentThreadId();
    -        DuplicateHandle(GetCurrentProcess(), GetCurrentThread(),
    -                        GetCurrentProcess(), &apt->thread,
    -                        THREAD_ALL_ACCESS, FALSE, 0);
    -
    -        list_init(&apt->proxies);
    -        list_init(&apt->stubmgrs);
    -        apt->oidc = 1;
    -        apt->refs = 1;
    -        InitializeCriticalSection(&apt->cs);
    -
    -        apt->model = model;
    -
    -        /* we don't ref the apartment as CoInitializeEx will do it for us */
    -
             if (model & COINIT_APARTMENTTHREADED)
             {
    -            /* FIXME: how does windoze create OXIDs? */
    -            apt->oxid = MTA.oxid | GetCurrentThreadId();
    -            TRACE("Created apartment on OXID %s\n", wine_dbgstr_longlong(apt->oxid));
    -            apt->win = CreateWindowA(aptWinClass, NULL, 0,
    -                                     0, 0, 0, 0,
    -                                     0, 0, OLE32_hInstance, NULL);
    +            apt = apartment_construct(model);
    +            COM_CurrentInfo()->apt = apt;
             }
    +        else
    +        {
    +            EnterCriticalSection(&csApartment);
     
    -        EnterCriticalSection(&csApartment);
    -        list_add_head(&apts, &apt->entry);
    -        LeaveCriticalSection(&csApartment);
    +            /* The multi-threaded apartment (MTA) contains zero or more threads interacting
    +             * with free threaded (ie thread safe) COM objects. There is only ever one MTA
    +             * in a process */
    +            if (MTA)
    +            {
    +                TRACE("entering the multithreaded apartment %s\n", wine_dbgstr_longlong(MTA->oxid));
    +                COM_ApartmentAddRef(MTA);
    +            }
    +            else
    +                MTA = apartment_construct(model);
     
    -        COM_CurrentInfo()->apt = apt;
    +            apt = MTA;
    +            COM_CurrentInfo()->apt = apt;
    +
    +            LeaveCriticalSection(&csApartment);
    +        }
         }
     
         return apt;
    @@ -303,39 +303,61 @@ APARTMENT* COM_CreateApartment(DWORD model)
     
     DWORD COM_ApartmentAddRef(struct apartment *apt)
     {
    -    return InterlockedIncrement(&apt->refs);
    +    DWORD refs = InterlockedIncrement(&apt->refs);
    +    TRACE("%s: before = %ld\n", wine_dbgstr_longlong(apt->oxid), refs - 1);
    +    return refs;
     }
     
     DWORD COM_ApartmentRelease(struct apartment *apt)
     {
         DWORD ret;
     
    +    EnterCriticalSection(&csApartment);
    +
         ret = InterlockedDecrement(&apt->refs);
    +    TRACE("%s: after = %ld\n", wine_dbgstr_longlong(apt->oxid), ret);
    +    /* destruction stuff that needs to happen under csApartment CS */
         if (ret == 0)
         {
    -        TRACE("destroying apartment %p, oxid %s\n", apt, wine_dbgstr_longlong(apt->oxid));
    -
    -        EnterCriticalSection(&csApartment);
    +        if (apt == MTA) MTA = NULL;
             list_remove(&apt->entry);
    -        LeaveCriticalSection(&csApartment);
    +    }
    +
    +    LeaveCriticalSection(&csApartment);
    +
    +    if (ret == 0)
    +    {
    +        struct list *cursor, *cursor2;
    +
    +        TRACE("destroying apartment %p, oxid %s\n", apt, wine_dbgstr_longlong(apt->oxid));
     
             MARSHAL_Disconnect_Proxies(apt);
     
             if (apt->win) DestroyWindow(apt->win);
     
    -        if (!list_empty(&apt->stubmgrs))
    +        LIST_FOR_EACH_SAFE(cursor, cursor2, &apt->stubmgrs)
             {
    -            FIXME("Destroy outstanding stubs\n");
    +            struct stub_manager *stubmgr = LIST_ENTRY(cursor, struct stub_manager, entry);
    +            /* release the implicit reference given by the fact that the
    +             * stub has external references (it must do since it is in the
    +             * stub manager list in the apartment and all non-apartment users
    +             * must have a ref on the apartment and so it cannot be destroyed).
    +             */
    +            stub_manager_int_release(stubmgr);
             }
     
    +        /* if this assert fires, then another thread took a reference to a
    +         * stub manager without taking a reference to the containing
    +         * apartment, which it must do. */
    +        assert(list_empty(&apt->stubmgrs));
    +
             if (apt->filter) IUnknown_Release(apt->filter);
     
    -
             DeleteCriticalSection(&apt->cs);
    +        SetEvent(apt->shutdown_event);
    +        CloseHandle(apt->shutdown_event);
             CloseHandle(apt->thread);
             HeapFree(GetProcessHeap(), 0, apt);
    -
    -        apt = NULL;
         }
     
         return ret;
    @@ -369,6 +391,30 @@ APARTMENT *COM_ApartmentFromOXID(OXID oxid, BOOL ref)
         return result;
     }
     
    +/* gets the apartment which has a given creator thread ID. The caller must
    + * release the reference from the apartment as soon as the apartment pointer
    + * is no longer required. */
    +APARTMENT *COM_ApartmentFromTID(DWORD tid)
    +{
    +    APARTMENT *result = NULL;
    +    struct list *cursor;
    +
    +    EnterCriticalSection(&csApartment);
    +    LIST_FOR_EACH( cursor, &apts )
    +    {
    +        struct apartment *apt = LIST_ENTRY( cursor, struct apartment, entry );
    +        if (apt->tid == tid)
    +        {
    +            result = apt;
    +            COM_ApartmentAddRef(result);
    +            break;
    +        }
    +    }
    +    LeaveCriticalSection(&csApartment);
    +
    +    return result;
    +}
    +
     HWND COM_GetApartmentWin(OXID oxid, BOOL ref)
     {
         APARTMENT *apt;
    @@ -461,8 +507,12 @@ static void COMPOBJ_DllList_FreeUnused(int Timeout)
     }
     
     /******************************************************************************
    - *           CoBuildVersion [COMPOBJ.1]
      *           CoBuildVersion [OLE32.@]
    + *           CoBuildVersion [COMPOBJ.1]
    + *
    + * Gets the build version of the DLL.
    + *
    + * PARAMS
      *
      * RETURNS
      *	Current build version, hiword is majornumber, loword is minornumber
    @@ -479,13 +529,17 @@ DWORD WINAPI CoBuildVersion(void)
      * Initializes the COM libraries by calling CoInitializeEx with
      * COINIT_APARTMENTTHREADED, ie it enters a STA thread.
      *
    + * PARAMS
    + *  lpReserved [I] Pointer to IMalloc interface (obsolete, should be NULL).
    + *
    + * RETURNS
    + *  Success: S_OK if not already initialized, S_FALSE otherwise.
    + *  Failure: HRESULT code.
    + *
      * SEE ALSO
      *   CoInitializeEx
      */
    -HRESULT WINAPI CoInitialize(
    -	LPVOID lpReserved	/* [in] pointer to win32 malloc interface
    -                                   (obsolete, should be NULL) */
    -)
    +HRESULT WINAPI CoInitialize(LPVOID lpReserved)
     {
       /*
        * Just delegate to the newer method.
    @@ -496,13 +550,11 @@ HRESULT WINAPI CoInitialize(
     /******************************************************************************
      *		CoInitializeEx	[OLE32.@]
      *
    - * Initializes the COM libraries. The behavior used to set the win32
    - * IMalloc used for memory management is obsolete. If
    - * COINIT_APARTMENTTHREADED is specified this thread enters a new STA
    - * (single threaded apartment), otherwise COINIT_MULTITHREADED should
    - * be specified which indicates that the thread will enter the MTA.
    + * Initializes the COM libraries.
      *
    - * Currently STA threading is only partly implemented.
    + * PARAMS
    + *  lpReserved [I] Pointer to IMalloc interface (obsolete, should be NULL).
    + *  dwCoInit   [I] One or more flags from the COINIT enumeration. See notes.
      *
      * RETURNS
      *  S_OK               if successful,
    @@ -510,13 +562,22 @@ HRESULT WINAPI CoInitialize(
      *  RPC_E_CHANGED_MODE if a previous call to CoInitializeEx specified another
      *                     threading model.
      *
    + * NOTES
    + *
    + * The behavior used to set the IMalloc used for memory management is
    + * obsolete.
    + * The dwCoInit parameter must specify of of the following apartment
    + * threading models:
    + *| COINIT_APARTMENTTHREADED - A single-threaded apartment (STA).
    + *| COINIT_MULTITHREADED - A multi-threaded apartment (MTA).
    + * The parameter may also specify zero or more of the following flags:
    + *| COINIT_DISABLE_OLE1DDE - Don't use DDE for OLE1 support.
    + *| COINIT_SPEED_OVER_MEMORY - Trade memory for speed.
    + *
      * SEE ALSO
      *   CoUninitialize
      */
    -HRESULT WINAPI CoInitializeEx(
    -	LPVOID lpReserved,	/* [in] pointer to win32 malloc interface (obsolete, should be NULL) */
    -	DWORD dwCoInit		/* [in] A value from COINIT specifies the threading model */
    -)
    +HRESULT WINAPI CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
     {
       HRESULT hr = S_OK;
       APARTMENT *apt;
    @@ -541,15 +602,13 @@ HRESULT WINAPI CoInitializeEx(
          */
         TRACE("() - Initializing the COM libraries\n");
     
    -    COM_InitMTA();
    -
         /* we may need to defer this until after apartment initialisation */
         RunningObjectTableImpl_Initialize();
       }
     
       if (!(apt = COM_CurrentInfo()->apt))
       {
    -    apt = COM_CreateApartment(dwCoInit);
    +    apt = get_or_create_apartment(dwCoInit);
         if (!apt) return E_OUTOFMEMORY;
       }
       else if (dwCoInit != apt->model)
    @@ -557,9 +616,10 @@ HRESULT WINAPI CoInitializeEx(
         /* Changing the threading model after it's been set is illegal. If this warning is triggered by Wine
            code then we are probably using the wrong threading model to implement that API. */
         ERR("Attempt to change threading model of this apartment from 0x%lx to 0x%lx\n", apt->model, dwCoInit);
    -    COM_ApartmentRelease(apt);
         return RPC_E_CHANGED_MODE;
       }
    +  else
    +    hr = S_FALSE;
     
       COM_CurrentInfo()->inits++;
     
    @@ -594,15 +654,15 @@ void COM_FlushMessageQueue(void)
     /***********************************************************************
      *           CoUninitialize   [OLE32.@]
      *
    - * This method will decrement the refcount on the COM libraries,
    - * potentially unloading them. The current thread leaves the apartment
    - * it's currently in. If not in an apartment, the routine does
    - * nothing.
    + * This method will decrement the refcount on the current apartment, freeing
    + * the resources associated with it if it is the last thread in the apartment.
    + * If the last apartment is freed, the function will additionally release
    + * any COM resources associated with the process.
      *
    - * If COM is to be shut down, any outstanding proxies are
    - * disconnected, all registered class objects are unregistered and the
    - * message queue for the thread is flushed (if native does
    - * this or not is unknown).
    + * PARAMS
    + *
    + * RETURNS
    + *  Nothing.
      *
      * SEE ALSO
      *   CoInitializeEx
    @@ -648,13 +708,8 @@ void WINAPI CoUninitialize(void)
         /* This will free the loaded COM Dlls  */
         CoFreeAllLibraries();
     
    -    /* This will free list of external references to COM objects */
    -    COM_ExternalLockFreeList();
    -
         /* This ensures we deal with any pending RPCs */
         COM_FlushMessageQueue();
    -
    -    COM_UninitMTA();
       }
       else if (lCOMRefCnt<1) {
         ERR( "CoUninitialize() - not CoInitialized.\n" );
    @@ -663,8 +718,8 @@ void WINAPI CoUninitialize(void)
     }
     
     /******************************************************************************
    - *		CoDisconnectObject	[COMPOBJ.15]
      *		CoDisconnectObject	[OLE32.@]
    + *		CoDisconnectObject	[COMPOBJ.15]
      *
      * Disconnects all connections to this object from remote processes. Dispatches
      * pending RPCs while blocking new RPCs from occurring, and then calls
    @@ -672,25 +727,65 @@ void WINAPI CoUninitialize(void)
      *
      * Typically called when the object server is forced to shut down, for instance by
      * the user.
    + *
    + * PARAMS
    + *  lpUnk    [I] The object whose stub should be disconnected.
    + *  reserved [I] Reserved. Should be set to 0.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
    + * SEE ALSO
    + *  CoMarshalInterface, CoReleaseMarshalData, CoLockObjectExternal
      */
     HRESULT WINAPI CoDisconnectObject( LPUNKNOWN lpUnk, DWORD reserved )
     {
    -    FIXME("(%p, %lx): stub - probably harmless\n",lpUnk,reserved);
    +    HRESULT hr;
    +    IMarshal *marshal;
    +    APARTMENT *apt;
    +
    +    TRACE("(%p, 0x%08lx)\n", lpUnk, reserved);
    +
    +    hr = IUnknown_QueryInterface(lpUnk, &IID_IMarshal, (void **)&marshal);
    +    if (hr == S_OK)
    +    {
    +        hr = IMarshal_DisconnectObject(marshal, reserved);
    +        IMarshal_Release(marshal);
    +        return hr;
    +    }
    +
    +    apt = COM_CurrentApt();
    +    if (!apt)
    +        return CO_E_NOTINITIALIZED;
    +
    +    apartment_disconnect_object(apt, lpUnk);
    +
    +    /* Note: native is pretty broken here because it just silently
    +     * fails, without returning an appropriate error code if the object was
    +     * not found, making apps think that the object was disconnected, when
    +     * it actually wasn't */
    +
         return S_OK;
     }
     
     /******************************************************************************
    - *		CoCreateGuid[OLE32.@]
    + *		CoCreateGuid [OLE32.@]
      *
      * Simply forwards to UuidCreate in RPCRT4.
      *
    + * PARAMS
    + *  pguid [O] Points to the GUID to initialize.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
      * SEE ALSO
      *   UuidCreate
    - *
      */
    -HRESULT WINAPI CoCreateGuid(
    -	GUID *pguid /* [out] points to the GUID to initialize */
    -) {
    +HRESULT WINAPI CoCreateGuid(GUID *pguid)
    +{
         return UuidCreate(pguid);
     }
     
    @@ -701,17 +796,24 @@ HRESULT WINAPI CoCreateGuid(
      * Converts a unique identifier from its string representation into
      * the GUID struct.
      *
    - * In Windows, if idstr is not a valid CLSID string then it gets
    - * treated as a ProgID. Wine currently doesn't do this. If idstr is
    - * NULL it's treated as an all-zero GUID.
    + * PARAMS
    + *  idstr [I] The string representation of the GUID.
    + *  id    [O] GUID converted from the string.
      *
      * RETURNS
      *   S_OK on success
      *   CO_E_CLASSSTRING if idstr is not a valid CLSID
    + *
    + * BUGS
    + *
    + * In Windows, if idstr is not a valid CLSID string then it gets
    + * treated as a ProgID. Wine currently doesn't do this. If idstr is
    + * NULL it's treated as an all-zero GUID.
    + *
    + * SEE ALSO
    + *  StringFromCLSID
      */
    -HRESULT WINAPI __CLSIDFromStringA(
    -	LPCSTR idstr,	        /* [in] string representation of guid */
    -	CLSID *id)		/* [out] GUID converted from string */
    +HRESULT WINAPI __CLSIDFromStringA(LPCSTR idstr, CLSID *id)
     {
       const BYTE *s = (const BYTE *) idstr;
       int	i;
    @@ -771,9 +873,7 @@ HRESULT WINAPI __CLSIDFromStringA(
     
     /*****************************************************************************/
     
    -HRESULT WINAPI CLSIDFromString(
    -	LPOLESTR idstr,		/* [in] string representation of GUID */
    -	CLSID *id )		/* [out] GUID represented by above string */
    +HRESULT WINAPI CLSIDFromString(LPOLESTR idstr, CLSID *id )
     {
         char xid[40];
         HRESULT ret;
    @@ -831,14 +931,19 @@ HRESULT WINE_StringFromCLSID(
      * Converts a GUID into the respective string representation.
      * The target string is allocated using the OLE IMalloc.
      *
    + * PARAMS
    + *  id    [I] the GUID to be converted.
    + *  idstr [O] A pointer to a to-be-allocated pointer pointing to the resulting string.
    + *
      * RETURNS
      *   S_OK
      *   E_FAIL
    + *
    + * SEE ALSO
    + *  StringFromGUID2, CLSIDFromString
      */
    -HRESULT WINAPI StringFromCLSID(
    -        REFCLSID id,    /* [in] the GUID to be converted */
    -	LPOLESTR *idstr	/* [out] a pointer to a to-be-allocated pointer pointing to the resulting string */
    -) {
    +HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
    +{
     	char            buf[80];
     	HRESULT       ret;
     	LPMALLOC	mllc;
    @@ -856,19 +961,22 @@ HRESULT WINAPI StringFromCLSID(
     }
     
     /******************************************************************************
    - *		StringFromGUID2	[COMPOBJ.76]
      *		StringFromGUID2	[OLE32.@]
    + *		StringFromGUID2	[COMPOBJ.76]
      *
      * Modified version of StringFromCLSID that allows you to specify max
      * buffer size.
      *
    + * PARAMS
    + *  id   [I] GUID to convert to string.
    + *  str  [O] Buffer where the result will be stored.
    + *  cmax [I] Size of the buffer in characters.
    + *
      * RETURNS
    - *	The length of the resulting string, 0 if there was any problem.
    + *	Success: The length of the resulting string in characters.
    + *  Failure: 0.
      */
    -INT WINAPI StringFromGUID2(
    -    REFGUID id,    /* [in]  GUID to convert to string */
    -    LPOLESTR str,  /* [out] Unicode buffer to hold result */
    -    INT cmax)
    +INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
     {
       char		xguid[80];
     
    @@ -880,18 +988,18 @@ INT WINAPI StringFromGUID2(
     /******************************************************************************
      *               ProgIDFromCLSID [OLE32.@]
      *
    - * Converts a class id into the respective Program ID. (By using a
    - * registry lookup)
    + * Converts a class id into the respective program ID.
    + *
    + * PARAMS
    + *  clsid        [I] Class ID, as found in registry.
    + *  lplpszProgID [O] Associated ProgID.
      *
      * RETURNS
      *   S_OK
      *   E_OUTOFMEMORY
      *   REGDB_E_CLASSNOTREG if the given clsid has no associated ProgID
      */
    -HRESULT WINAPI ProgIDFromCLSID(
    -  REFCLSID clsid, /* [in] class id as found in registry */
    -  LPOLESTR *lplpszProgID/* [out] associated Prog ID */
    -)
    +HRESULT WINAPI ProgIDFromCLSID(REFCLSID clsid, LPOLESTR *lplpszProgID)
     {
       char     strCLSID[50], *buf, *buf2;
       DWORD    buf2len;
    @@ -959,18 +1067,20 @@ HRESULT WINAPI CLSIDFromProgID16(
     }
     
     /******************************************************************************
    + *		CLSIDFromProgID	[OLE32.@]
      *		CLSIDFromProgID	[COMPOBJ.61]
      *
    - * Converts a program id into the respective GUID. (By using a
    - * registry lookup)
    + * Converts a program id into the respective GUID.
    + *
    + * PARAMS
    + *  progid [I] Unicode program ID, as found in registry.
    + *  riid   [O] Associated CLSID.
      *
      * RETURNS
    - *	S_OK
    - *      CO_E_CLASSSTRING if the given ProgID cannot be found
    + *	Success: S_OK
    + *  Failure: CO_E_CLASSSTRING - the given ProgID cannot be found.
      */
    -HRESULT WINAPI CLSIDFromProgID(
    -	LPCOLESTR progid,	/* [in] Unicode program id as found in registry */
    -	LPCLSID riid )		/* [out] associated CLSID */
    +HRESULT WINAPI CLSIDFromProgID(LPCOLESTR progid, LPCLSID riid)
     {
         static const WCHAR clsidW[] = { '\\','C','L','S','I','D',0 };
         char buf2[80];
    @@ -1001,8 +1111,19 @@ HRESULT WINAPI CLSIDFromProgID(
     /*****************************************************************************
      *             CoGetPSClsid [OLE32.@]
      *
    - * This function returns the CLSID of the proxy/stub factory that
    - * implements IPSFactoryBuffer for the specified interface.
    + * Retrieves the CLSID of the proxy/stub factory that implements
    + * IPSFactoryBuffer for the specified interface.
    + *
    + * PARAMS
    + *  riid   [I] Interface whose proxy/stub CLSID is to be returned.
    + *  pclsid [O] Where to store returned proxy/stub CLSID.
    + * 
    + * RETURNS
    + *   S_OK
    + *   E_OUTOFMEMORY
    + *   REGDB_E_IIDNOTREG if no PSFactoryBuffer is associated with the IID, or it could not be parsed
    + *
    + * NOTES
      *
      * The standard marshaller activates the object with the CLSID
      * returned and uses the CreateProxy and CreateStub methods on its
    @@ -1014,17 +1135,15 @@ HRESULT WINAPI CLSIDFromProgID(
      * in the registry and any interface id registered by
      * CoRegisterPSClsid within the current process.
      *
    - * FIXME: We only search the registry, not ids registered with
    - * CoRegisterPSClsid.
    + * BUGS
      *
    - * RETURNS
    - *   S_OK
    - *   E_OUTOFMEMORY
    - *   E_INVALIDARG if no PSFactoryBuffer is associated with the IID, or it could not be parsed
    + * We only search the registry, not ids registered with
    + * CoRegisterPSClsid.
    + * Also, native returns S_OK for interfaces with an key in HKCR\Interface, but
    + * without a ProxyStubClsid32 key and leaves garbage in pclsid. This should be
    + * considered a bug in native unless an application depends on this (unlikely).
      */
    -HRESULT WINAPI CoGetPSClsid(
    -          REFIID riid,     /* [in]  Interface whose proxy/stub CLSID is to be returned */
    -          CLSID *pclsid )  /* [out] Where to store returned proxy/stub CLSID */
    +HRESULT WINAPI CoGetPSClsid(REFIID riid, CLSID *pclsid)
     {
         char *buf, buf2[40];
         DWORD buf2len;
    @@ -1038,9 +1157,7 @@ HRESULT WINAPI CoGetPSClsid(
            (length of iid string plus constant length of static text */
         buf = HeapAlloc(GetProcessHeap(), 0, strlen(buf2)+27);
         if (buf == NULL)
    -    {
    -       return (E_OUTOFMEMORY);
    -    }
    +        return E_OUTOFMEMORY;
     
         /* Construct the registry key we want */
         sprintf(buf,"Interface\\%s\\ProxyStubClsid32", buf2);
    @@ -1048,9 +1165,9 @@ HRESULT WINAPI CoGetPSClsid(
         /* Open the key.. */
         if (RegOpenKeyA(HKEY_CLASSES_ROOT, buf, &xhkey))
         {
    -       WARN("No PSFactoryBuffer object is registered for this IID\n");
    -       HeapFree(GetProcessHeap(),0,buf);
    -       return (E_INVALIDARG);
    +        WARN("No PSFactoryBuffer object is registered for IID %s\n", debugstr_guid(riid));
    +        HeapFree(GetProcessHeap(),0,buf);
    +        return REGDB_E_IIDNOTREG;
         }
         HeapFree(GetProcessHeap(),0,buf);
     
    @@ -1060,19 +1177,18 @@ HRESULT WINAPI CoGetPSClsid(
         buf2len = sizeof(buf2);
         if ( (RegQueryValueA(xhkey,NULL,buf2,&buf2len)) )
         {
    -       RegCloseKey(xhkey);
    -       return E_INVALIDARG;
    +        RegCloseKey(xhkey);
    +        return REGDB_E_IIDNOTREG;
         }
         RegCloseKey(xhkey);
     
         /* We have the CLSid we want back from the registry as a string, so
            lets convert it into a CLSID structure */
    -    if ( (__CLSIDFromStringA(buf2,pclsid)) != NOERROR) {
    -       return E_INVALIDARG;
    -    }
    +    if ( (__CLSIDFromStringA(buf2,pclsid)) != NOERROR)
    +        return REGDB_E_IIDNOTREG;
     
         TRACE ("() Returning CLSID=%s\n", debugstr_guid(pclsid));
    -    return (S_OK);
    +    return S_OK;
     }
     
     
    @@ -1080,7 +1196,15 @@ HRESULT WINAPI CoGetPSClsid(
     /***********************************************************************
      *		WriteClassStm (OLE32.@)
      *
    - * This function write a CLSID on stream
    + * Writes a CLSID to a stream.
    + *
    + * PARAMS
    + *  pStm   [I] Stream to write to.
    + *  rclsid [I] CLSID to write.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
      */
     HRESULT WINAPI WriteClassStm(IStream *pStm,REFCLSID rclsid)
     {
    @@ -1095,7 +1219,15 @@ HRESULT WINAPI WriteClassStm(IStream *pStm,REFCLSID rclsid)
     /***********************************************************************
      *		ReadClassStm (OLE32.@)
      *
    - * This function read a CLSID from a stream
    + * Reads a CLSID from a stream.
    + *
    + * PARAMS
    + *  pStm   [I] Stream to read from.
    + *  rclsid [O] CLSID to read.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
      */
     HRESULT WINAPI ReadClassStm(IStream *pStm,CLSID *pclsid)
     {
    @@ -1196,6 +1328,13 @@ end:
      * files use this method instead of exporting DllGetClassObject to allow
      * other code to connect to their objects.
      *
    + * PARAMS
    + *  rclsid       [I] CLSID of the object to register.
    + *  pUnk         [I] IUnknown of the object.
    + *  dwClsContext [I] CLSCTX flags indicating the context in which to run the executable.
    + *  flags        [I] REGCLS flags indicating how connections are made.
    + *  lpdwRegister [I] A unique cookie that can be passed to CoRevokeClassObject.
    + *
      * RETURNS
      *   S_OK on success,
      *   E_INVALIDARG if lpdwRegister or pUnk are NULL,
    @@ -1209,11 +1348,11 @@ end:
      *  can't do that with our current implementation.
      */
     HRESULT WINAPI CoRegisterClassObject(
    -        REFCLSID rclsid,       /* [in] CLSID of the object to register */
    -	LPUNKNOWN pUnk,        /* [in] IUnknown of the object */
    -	DWORD dwClsContext,    /* [in] CLSCTX flags indicating the context in which to run the executable */
    -	DWORD flags,           /* [in] REGCLS flags indicating how connections are made */
    -	LPDWORD lpdwRegister)  /* [out] A unique cookie that can be passed to CoRevokeClassObject */
    +    REFCLSID rclsid,
    +    LPUNKNOWN pUnk,
    +    DWORD dwClsContext,
    +    DWORD flags,
    +    LPDWORD lpdwRegister)
     {
       RegisteredClass* newClass;
       LPUNKNOWN        foundObject;
    @@ -1303,9 +1442,17 @@ HRESULT WINAPI CoRegisterClassObject(
     /***********************************************************************
      *           CoRevokeClassObject [OLE32.@]
      *
    - * This method will remove a class object from the class registry
    + * Removes a class object from the class registry.
      *
    - * See the Windows documentation for more details.
    + * PARAMS
    + *  dwRegister [I] Cookie returned from CoRegisterClassObject().
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
    + * SEE ALSO
    + *  CoRegisterClassObject
      */
     HRESULT WINAPI CoRevokeClassObject(
             DWORD dwRegister)
    @@ -1497,7 +1644,11 @@ HRESULT WINAPI CoGetClassObject(
     /***********************************************************************
      *        CoResumeClassObjects (OLE32.@)
      *
    - * Resumes classobjects registered with REGCLS suspended
    + * Resumes all class objects registered with REGCLS_SUSPENDED.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
      */
     HRESULT WINAPI CoResumeClassObjects(void)
     {
    @@ -1741,6 +1892,19 @@ HRESULT WINAPI CoCreateInstanceEx(
     
     /***********************************************************************
      *           CoLoadLibrary (OLE32.@)
    + *
    + * Loads a library.
    + *
    + * PARAMS
    + *  lpszLibName [I] Path to library.
    + *  bAutoFree   [I] Whether the library should automatically be freed.
    + *
    + * RETURNS
    + *  Success: Handle to loaded library.
    + *  Failure: NULL.
    + *
    + * SEE ALSO
    + *  CoFreeLibrary, CoFreeAllLibraries, CoFreeUnusedLibraries
      */
     HINSTANCE WINAPI CoLoadLibrary(LPOLESTR lpszLibName, BOOL bAutoFree)
     {
    @@ -1752,7 +1916,16 @@ HINSTANCE WINAPI CoLoadLibrary(LPOLESTR lpszLibName, BOOL bAutoFree)
     /***********************************************************************
      *           CoFreeLibrary [OLE32.@]
      *
    - * NOTES: don't believe the documentation
    + * Unloads a library from memory.
    + *
    + * PARAMS
    + *  hLibrary [I] Handle to library to unload.
    + *
    + * RETURNS
    + *  Nothing
    + *
    + * SEE ALSO
    + *  CoLoadLibrary, CoFreeAllLibraries, CoFreeUnusedLibraries
      */
     void WINAPI CoFreeLibrary(HINSTANCE hLibrary)
     {
    @@ -1763,7 +1936,13 @@ void WINAPI CoFreeLibrary(HINSTANCE hLibrary)
     /***********************************************************************
      *           CoFreeAllLibraries [OLE32.@]
      *
    - * NOTES: don't believe the documentation
    + * Function for backwards compatibility only. Does nothing.
    + *
    + * RETURNS
    + *  Nothing.
    + *
    + * SEE ALSO
    + *  CoLoadLibrary, CoFreeLibrary, CoFreeUnusedLibraries
      */
     void WINAPI CoFreeAllLibraries(void)
     {
    @@ -1772,33 +1951,43 @@ void WINAPI CoFreeAllLibraries(void)
     
     
     /***********************************************************************
    - *           CoFreeUnusedLibraries [COMPOBJ.17]
      *           CoFreeUnusedLibraries [OLE32.@]
    + *           CoFreeUnusedLibraries [COMPOBJ.17]
      *
    - * FIXME: Calls to CoFreeUnusedLibraries from any thread always route
    - * through the main apartment's thread to call DllCanUnloadNow
    + * Frees any unused libraries. Unused are identified as those that return
    + * S_OK from their DllCanUnloadNow function.
    + *
    + * RETURNS
    + *  Nothing.
    + *
    + * SEE ALSO
    + *  CoLoadLibrary, CoFreeAllLibraries, CoFreeLibrary
      */
     void WINAPI CoFreeUnusedLibraries(void)
     {
    +    /* FIXME: Calls to CoFreeUnusedLibraries from any thread always route
    +     * through the main apartment's thread to call DllCanUnloadNow */
         COMPOBJ_DllList_FreeUnused(0);
     }
     
     /***********************************************************************
    - *           CoFileTimeNow [COMPOBJ.82]
      *           CoFileTimeNow [OLE32.@]
    + *           CoFileTimeNow [COMPOBJ.82]
    + *
    + * Retrieves the current time in FILETIME format.
    + *
    + * PARAMS
    + *  lpFileTime [O] The current time.
      *
      * RETURNS
    - *	the current system time in lpFileTime
    + *	S_OK.
      */
    -HRESULT WINAPI CoFileTimeNow( FILETIME *lpFileTime ) /* [out] the current time */
    +HRESULT WINAPI CoFileTimeNow( FILETIME *lpFileTime )
     {
         GetSystemTimeAsFileTime( lpFileTime );
         return S_OK;
     }
     
    -/***********************************************************************
    - *           CoLoadLibrary (OLE32.@)
    - */
     static void COM_RevokeAllClasses()
     {
       EnterCriticalSection( &csRegisteredClassList );
    @@ -1811,241 +2000,73 @@ static void COM_RevokeAllClasses()
       LeaveCriticalSection( &csRegisteredClassList );
     }
     
    -/****************************************************************************
    - *  COM External Lock methods implementation
    - *
    - *  This api provides a linked list to managed external references to
    - *  COM objects.
    - *
    - *  The public interface consists of three calls:
    - *      COM_ExternalLockAddRef
    - *      COM_ExternalLockRelease
    - *      COM_ExternalLockFreeList
    - */
    -
    -#define EL_END_OF_LIST 0
    -#define EL_NOT_FOUND   0
    -
    -/*
    - * Declaration of the static structure that manage the
    - * external lock to COM  objects.
    - */
    -typedef struct COM_ExternalLock     COM_ExternalLock;
    -typedef struct COM_ExternalLockList COM_ExternalLockList;
    -
    -struct COM_ExternalLock
    -{
    -  IUnknown         *pUnk;     /* IUnknown referenced */
    -  ULONG            uRefCount; /* external lock counter to IUnknown object*/
    -  COM_ExternalLock *next;     /* Pointer to next element in list */
    -};
    -
    -struct COM_ExternalLockList
    -{
    -  COM_ExternalLock *head;     /* head of list */
    -};
    -
    -/*
    - * Declaration and initialization of the static structure that manages
    - * the external lock to COM objects.
    - */
    -static COM_ExternalLockList elList = { EL_END_OF_LIST };
    -
    -/*
    - * Private methods used to managed the linked list
    - */
    -
    -
    -static COM_ExternalLock* COM_ExternalLockLocate(
    -  COM_ExternalLock *element,
    -  IUnknown         *pUnk);
    -
    -/****************************************************************************
    - * Internal - Insert a new IUnknown* to the linked list
    - */
    -static BOOL COM_ExternalLockInsert(
    -  IUnknown *pUnk)
    -{
    -  COM_ExternalLock *newLock      = NULL;
    -  COM_ExternalLock *previousHead = NULL;
    -
    -  /*
    -   * Allocate space for the new storage object
    -   */
    -  newLock = HeapAlloc(GetProcessHeap(), 0, sizeof(COM_ExternalLock));
    -
    -  if (newLock!=NULL) {
    -    if ( elList.head == EL_END_OF_LIST ) {
    -      elList.head = newLock;    /* The list is empty */
    -    } else {
    -      /* insert does it at the head */
    -      previousHead  = elList.head;
    -      elList.head = newLock;
    -    }
    -
    -    /* Set new list item data member */
    -    newLock->pUnk      = pUnk;
    -    newLock->uRefCount = 1;
    -    newLock->next      = previousHead;
    -
    -    return TRUE;
    -  }
    -  return FALSE;
    -}
    -
    -/****************************************************************************
    - * Internal - Method that removes an item from the linked list.
    - */
    -static void COM_ExternalLockDelete(
    -  COM_ExternalLock *itemList)
    -{
    -  COM_ExternalLock *current = elList.head;
    -
    -  if ( current == itemList ) {
    -    /* this section handles the deletion of the first node */
    -    elList.head = itemList->next;
    -    HeapFree( GetProcessHeap(), 0, itemList);
    -  } else {
    -    do {
    -      if ( current->next == itemList ){   /* We found the item to free  */
    -        current->next = itemList->next;  /* readjust the list pointers */
    -        HeapFree( GetProcessHeap(), 0, itemList);
    -        break;
    -      }
    -
    -      /* Skip to the next item */
    -      current = current->next;
    -
    -    } while ( current != EL_END_OF_LIST );
    -  }
    -}
    -
    -/****************************************************************************
    - * Internal - Recursivity agent for IUnknownExternalLockList_Find
    - *
    - * NOTES: how long can the list be ?? (recursive!!!)
    - */
    -static COM_ExternalLock* COM_ExternalLockLocate( COM_ExternalLock *element, IUnknown *pUnk)
    -{
    -  if ( element == EL_END_OF_LIST )
    -    return EL_NOT_FOUND;
    -  else if ( element->pUnk == pUnk )    /* We found it */
    -    return element;
    -  else                                 /* Not the right guy, keep on looking */
    -    return COM_ExternalLockLocate( element->next, pUnk);
    -}
    -
    -/****************************************************************************
    - * Public - Method that increments the count for a IUnknown* in the linked
    - * list.  The item is inserted if not already in the list.
    - */
    -static void COM_ExternalLockAddRef(IUnknown *pUnk)
    -{
    -  COM_ExternalLock *externalLock = COM_ExternalLockLocate(elList.head, pUnk);
    -
    -  /*
    -   * Add an external lock to the object. If it was already externally
    -   * locked, just increase the reference count. If it was not.
    -   * add the item to the list.
    -   */
    -  if ( externalLock == EL_NOT_FOUND )
    -    COM_ExternalLockInsert(pUnk);
    -  else
    -    externalLock->uRefCount++;
    -
    -  /*
    -   * Add an internal lock to the object
    -   */
    -  IUnknown_AddRef(pUnk);
    -}
    -
    -/****************************************************************************
    - * Public - Method that decrements the count for a IUnknown* in the linked
    - * list.  The item is removed from the list if its count end up at zero or if
    - * bRelAll is TRUE.
    - */
    -static void COM_ExternalLockRelease(
    -  IUnknown *pUnk,
    -  BOOL   bRelAll)
    -{
    -  COM_ExternalLock *externalLock = COM_ExternalLockLocate(elList.head, pUnk);
    -
    -  if ( externalLock != EL_NOT_FOUND ) {
    -    do {
    -      externalLock->uRefCount--;  /* release external locks      */
    -      IUnknown_Release(pUnk);     /* release local locks as well */
    -
    -      if ( bRelAll == FALSE ) break;  /* perform single release */
    -
    -    } while ( externalLock->uRefCount > 0 );
    -
    -    if ( externalLock->uRefCount == 0 )  /* get rid of the list entry */
    -      COM_ExternalLockDelete(externalLock);
    -  }
    -}
    -/****************************************************************************
    - * Public - Method that frees the content of the list.
    - */
    -static void COM_ExternalLockFreeList()
    -{
    -  COM_ExternalLock *head;
    -
    -  head = elList.head;                 /* grab it by the head             */
    -  while ( head != EL_END_OF_LIST ) {
    -    COM_ExternalLockDelete(head);     /* get rid of the head stuff       */
    -    head = elList.head;               /* get the new head...             */
    -  }
    -}
    -
    -/****************************************************************************
    - * Public - Method that dump the content of the list.
    - */
    -void COM_ExternalLockDump()
    -{
    -  COM_ExternalLock *current = elList.head;
    -
    -  DPRINTF("\nExternal lock list contains:\n");
    -
    -  while ( current != EL_END_OF_LIST ) {
    -    DPRINTF( "\t%p with %lu references count.\n", current->pUnk, current->uRefCount);
    -
    -    /* Skip to the next item */
    -    current = current->next;
    -  }
    -}
    -
     /******************************************************************************
      *		CoLockObjectExternal	[OLE32.@]
    + *
    + * Increments or decrements the external reference count of a stub object.
    + *
    + * PARAMS
    + *  pUnk                [I] Stub object.
    + *  fLock               [I] If TRUE then increments the external ref-count,
    + *                          otherwise decrements.
    + *  fLastUnlockReleases [I] If TRUE then the last unlock has the effect of
    + *                          calling CoDisconnectObject.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
      */
     HRESULT WINAPI CoLockObjectExternal(
    -    LPUNKNOWN pUnk,		/* [in] object to be locked */
    -    BOOL fLock,		/* [in] do lock */
    -    BOOL fLastUnlockReleases) /* [in] unlock all */
    +    LPUNKNOWN pUnk,
    +    BOOL fLock,
    +    BOOL fLastUnlockReleases)
     {
    +    struct stub_manager *stubmgr;
    +    struct apartment *apt;
    +
         TRACE("pUnk=%p, fLock=%s, fLastUnlockReleases=%s\n",
               pUnk, fLock ? "TRUE" : "FALSE", fLastUnlockReleases ? "TRUE" : "FALSE");
     
    -	if (fLock) {
    -            /*
    -             * Increment the external lock coutner, COM_ExternalLockAddRef also
    -             * increment the object's internal lock counter.
    -             */
    -	    COM_ExternalLockAddRef( pUnk);
    -        } else {
    -            /*
    -             * Decrement the external lock coutner, COM_ExternalLockRelease also
    -             * decrement the object's internal lock counter.
    -             */
    -            COM_ExternalLockRelease( pUnk, fLastUnlockReleases);
    -        }
    +    apt = COM_CurrentApt();
    +    if (!apt) return CO_E_NOTINITIALIZED;
    +
    +    stubmgr = get_stub_manager_from_object(apt, pUnk);
    +    
    +    if (stubmgr)
    +    {
    +        if (fLock)
    +            stub_manager_ext_addref(stubmgr, 1);
    +        else
    +            stub_manager_ext_release(stubmgr, 1);
    +        
    +        stub_manager_int_release(stubmgr);
     
             return S_OK;
    +    }
    +    else
    +    {
    +        WARN("stub object not found %p\n", pUnk);
    +        /* Note: native is pretty broken here because it just silently
    +         * fails, without returning an appropriate error code, making apps
    +         * think that the object was disconnected, when it actually wasn't */
    +        return S_OK;
    +    }
     }
     
     /***********************************************************************
      *           CoInitializeWOW (OLE32.@)
    + *
    + * WOW equivalent of CoInitialize?
    + *
    + * PARAMS
    + *  x [I] Unknown.
    + *  y [I] Unknown.
    + *
    + * RETURNS
    + *  Unknown.
      */
    -HRESULT WINAPI CoInitializeWOW(DWORD x,DWORD y) {
    +HRESULT WINAPI CoInitializeWOW(DWORD x,DWORD y)
    +{
         FIXME("(0x%08lx,0x%08lx),stub!\n",x,y);
         return 0;
     }
    @@ -2053,40 +2074,69 @@ HRESULT WINAPI CoInitializeWOW(DWORD x,DWORD y) {
     /***********************************************************************
      *           CoGetState [OLE32.@]
      *
    - * NOTES: might be incomplete
    + * Retrieves the thread state object previously stored by CoSetState().
    + *
    + * PARAMS
    + *  ppv [I] Address where pointer to object will be stored.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: E_OUTOFMEMORY.
    + *
    + * NOTES
    + *  Crashes on all invalid ppv addresses, including NULL.
    + *  If the function returns a non-NULL object then the caller must release its
    + *  reference on the object when the object is no longer required.
    + *
    + * SEE ALSO
    + *  CoSetState().
      */
     HRESULT WINAPI CoGetState(IUnknown ** ppv)
     {
    -    HRESULT    hr  = E_FAIL;
    +    struct oletls *info = COM_CurrentInfo();
    +    if (!info) return E_OUTOFMEMORY;
     
         *ppv = NULL;
     
    -    if (COM_CurrentInfo()->state)
    +    if (info->state)
         {
    -        IUnknown_AddRef(COM_CurrentInfo()->state);
    -        *ppv = COM_CurrentInfo()->state;
    -        TRACE("apt->state=%p\n", COM_CurrentInfo()->state);
    -        hr = S_OK;
    +        IUnknown_AddRef(info->state);
    +        *ppv = info->state;
    +        TRACE("apt->state=%p\n", info->state);
         }
     
    -    return hr;
    +    return S_OK;
     }
     
     /***********************************************************************
      *           CoSetState [OLE32.@]
      *
    + * Sets the thread state object.
    + *
    + * PARAMS
    + *  pv [I] Pointer to state object to be stored.
    + *
    + * NOTES
    + *  The system keeps a reference on the object while the object stored.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: E_OUTOFMEMORY.
      */
     HRESULT WINAPI CoSetState(IUnknown * pv)
     {
    +    struct oletls *info = COM_CurrentInfo();
    +    if (!info) return E_OUTOFMEMORY;
    +
         if (pv) IUnknown_AddRef(pv);
     
    -    if (COM_CurrentInfo()->state)
    +    if (info->state)
         {
    -        TRACE("-- release %p now\n", COM_CurrentInfo()->state);
    -        IUnknown_Release(COM_CurrentInfo()->state);
    +        TRACE("-- release %p now\n", info->state);
    +        IUnknown_Release(info->state);
         }
     
    -    COM_CurrentInfo()->state = pv;
    +    info->state = pv;
     
         return S_OK;
     }
    @@ -2124,47 +2174,21 @@ done:
         return res;
     }
     
    -/******************************************************************************
    - *              OleSetAutoConvert        [OLE32.@]
    - */
    -HRESULT WINAPI OleSetAutoConvert(REFCLSID clsidOld, REFCLSID clsidNew)
    -{
    -    HKEY hkey = 0;
    -    char buf[200], szClsidNew[200];
    -    HRESULT res = S_OK;
    -
    -    TRACE("(%s,%s)\n", debugstr_guid(clsidOld), debugstr_guid(clsidNew));
    -    sprintf(buf,"CLSID\\");WINE_StringFromCLSID(clsidOld,&buf[6]);
    -    WINE_StringFromCLSID(clsidNew, szClsidNew);
    -    if (RegOpenKeyA(HKEY_CLASSES_ROOT,buf,&hkey))
    -    {
    -        res = REGDB_E_CLASSNOTREG;
    -	goto done;
    -    }
    -    if (RegSetValueA(hkey, "AutoConvertTo", REG_SZ, szClsidNew, strlen(szClsidNew)+1))
    -    {
    -        res = REGDB_E_WRITEREGDB;
    -	goto done;
    -    }
    -
    -done:
    -    if (hkey) RegCloseKey(hkey);
    -    return res;
    -}
    -
    -/******************************************************************************
    - *              OleDoAutoConvert        [OLE32.@]
    - */
    -HRESULT WINAPI OleDoAutoConvert(IStorage *pStg, LPCLSID pClsidNew)
    -{
    -    FIXME("(%p,%p) : stub\n",pStg,pClsidNew);
    -    return E_NOTIMPL;
    -}
    -
     /******************************************************************************
      *              CoTreatAsClass        [OLE32.@]
      *
    - * Sets TreatAs value of a class
    + * Sets the TreatAs value of a class.
    + *
    + * PARAMS
    + *  clsidOld [I] Class to set TreatAs value on.
    + *  clsidNew [I] The class the clsidOld should be treated as.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
    + * SEE ALSO
    + *  CoGetTreatAsClass
      */
     HRESULT WINAPI CoTreatAsClass(REFCLSID clsidOld, REFCLSID clsidNew)
     {
    @@ -2214,7 +2238,18 @@ done:
     /******************************************************************************
      *              CoGetTreatAsClass        [OLE32.@]
      *
    - * Reads the TreatAs value from a class.
    + * Gets the TreatAs value of a class.
    + *
    + * PARAMS
    + *  clsidOld [I] Class to get the TreatAs value of.
    + *  clsidNew [I] The class the clsidOld should be treated as.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
    + * SEE ALSO
    + *  CoSetTreatAsClass
      */
     HRESULT WINAPI CoGetTreatAsClass(REFCLSID clsidOld, LPCLSID clsidNew)
     {
    @@ -2246,19 +2281,80 @@ done:
     
     }
     
    +/******************************************************************************
    + *		CoGetCurrentProcess	[OLE32.@]
    + *		CoGetCurrentProcess	[COMPOBJ.34]
    + *
    + * Gets the current process ID.
    + *
    + * RETURNS
    + *  The current process ID.
    + *
    + * NOTES
    + *   Is DWORD really the correct return type for this function?
    + */
    +DWORD WINAPI CoGetCurrentProcess(void)
    +{
    +	return GetCurrentProcessId();
    +}
    +
    +/******************************************************************************
    + *		CoRegisterMessageFilter	[OLE32.@]
    + *
    + * Registers a message filter.
    + *
    + * PARAMS
    + *  lpMessageFilter [I] Pointer to interface.
    + *  lplpMessageFilter [O] Indirect pointer to prior instance if non-NULL.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + */
    +HRESULT WINAPI CoRegisterMessageFilter(
    +    LPMESSAGEFILTER lpMessageFilter,
    +    LPMESSAGEFILTER *lplpMessageFilter)
    +{
    +    FIXME("stub\n");
    +    if (lplpMessageFilter) {
    +        *lplpMessageFilter = NULL;
    +    }
    +    return S_OK;
    +}
    +
    +/***********************************************************************
    + *           CoIsOle1Class [OLE32.@]
    + *
    + * Determines whether the specified class an OLE v1 class.
    + *
    + * PARAMS
    + *  clsid [I] Class to test.
    + *
    + * RETURNS
    + *  TRUE if the class is an OLE v1 class, or FALSE otherwise.
    + */
    +BOOL WINAPI CoIsOle1Class(REFCLSID clsid)
    +{
    +  FIXME("%s\n", debugstr_guid(clsid));
    +  return FALSE;
    +}
    +
     /***********************************************************************
      *           IsEqualGUID [OLE32.@]
      *
      * Compares two Unique Identifiers.
      *
    + * PARAMS
    + *  rguid1 [I] The first GUID to compare.
    + *  rguid2 [I] The other GUID to compare.
    + *
      * RETURNS
      *	TRUE if equal
      */
     #undef IsEqualGUID
     BOOL WINAPI IsEqualGUID(
    -     REFGUID rguid1, /* [in] unique id 1 */
    -     REFGUID rguid2  /* [in] unique id 2 */
    -     )
    +     REFGUID rguid1,
    +     REFGUID rguid2)
     {
         return !memcmp(rguid1,rguid2,sizeof(GUID));
     }
    @@ -2280,6 +2376,13 @@ HRESULT WINAPI CoInitializeSecurity(PSECURITY_DESCRIPTOR pSecDesc, LONG cAuthSvc
     
     /***********************************************************************
      *           CoSuspendClassObjects [OLE32.@]
    + *
    + * Suspends all registered class objects to prevent further requests coming in
    + * for those objects.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
      */
     HRESULT WINAPI CoSuspendClassObjects(void)
     {
    @@ -2289,6 +2392,12 @@ HRESULT WINAPI CoSuspendClassObjects(void)
     
     /***********************************************************************
      *           CoAddRefServerProcess [OLE32.@]
    + *
    + * Helper function for incrementing the reference count of a local-server
    + * process.
    + *
    + * RETURNS
    + *  New reference count.
      */
     ULONG WINAPI CoAddRefServerProcess(void)
     {
    @@ -2298,9 +2407,139 @@ ULONG WINAPI CoAddRefServerProcess(void)
     
     /***********************************************************************
      *           CoReleaseServerProcess [OLE32.@]
    + *
    + * Helper function for decrementing the reference count of a local-server
    + * process.
    + *
    + * RETURNS
    + *  New reference count.
      */
     ULONG WINAPI CoReleaseServerProcess(void)
     {
         FIXME("\n");
         return 1;
     }
    +
    +/***********************************************************************
    + *           CoQueryProxyBlanket [OLE32.@]
    + *
    + * Retrieves the security settings being used by a proxy.
    + *
    + * PARAMS
    + *  pProxy        [I] Pointer to the proxy object.
    + *  pAuthnSvc     [O] The type of authentication service.
    + *  pAuthzSvc     [O] The type of authorization service.
    + *  ppServerPrincName [O] Optional. The server prinicple name.
    + *  pAuthnLevel   [O] The authentication level.
    + *  pImpLevel     [O] The impersonation level.
    + *  ppAuthInfo    [O] Information specific to the authorization/authentication service.
    + *  pCapabilities [O] Flags affecting the security behaviour.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
    + * SEE ALSO
    + *  CoCopyProxy, CoSetProxyBlanket.
    + */
    +HRESULT WINAPI CoQueryProxyBlanket(IUnknown *pProxy, DWORD *pAuthnSvc,
    +    DWORD *pAuthzSvc, OLECHAR **ppServerPrincName, DWORD *pAuthnLevel,
    +    DWORD *pImpLevel, void **ppAuthInfo, DWORD *pCapabilities)
    +{
    +    IClientSecurity *pCliSec;
    +    HRESULT hr;
    +
    +    TRACE("%p\n", pProxy);
    +
    +    hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
    +    if (SUCCEEDED(hr))
    +    {
    +        hr = IClientSecurity_QueryBlanket(pCliSec, pProxy, pAuthnSvc,
    +                                          pAuthzSvc, ppServerPrincName,
    +                                          pAuthnLevel, pImpLevel, ppAuthInfo,
    +                                          pCapabilities);
    +        IClientSecurity_Release(pCliSec);
    +    }
    +
    +    if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr);
    +    return hr;
    +}
    +
    +/***********************************************************************
    + *           CoSetProxyBlanket [OLE32.@]
    + *
    + * Sets the security settings for a proxy.
    + *
    + * PARAMS
    + *  pProxy       [I] Pointer to the proxy object.
    + *  AuthnSvc     [I] The type of authentication service.
    + *  AuthzSvc     [I] The type of authorization service.
    + *  pServerPrincName [I] The server prinicple name.
    + *  AuthnLevel   [I] The authentication level.
    + *  ImpLevel     [I] The impersonation level.
    + *  pAuthInfo    [I] Information specific to the authorization/authentication service.
    + *  Capabilities [I] Flags affecting the security behaviour.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
    + * SEE ALSO
    + *  CoQueryProxyBlanket, CoCopyProxy.
    + */
    +HRESULT WINAPI CoSetProxyBlanket(IUnknown *pProxy, DWORD AuthnSvc,
    +    DWORD AuthzSvc, OLECHAR *pServerPrincName, DWORD AuthnLevel,
    +    DWORD ImpLevel, void *pAuthInfo, DWORD Capabilities)
    +{
    +    IClientSecurity *pCliSec;
    +    HRESULT hr;
    +
    +    TRACE("%p\n", pProxy);
    +
    +    hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
    +    if (SUCCEEDED(hr))
    +    {
    +        hr = IClientSecurity_SetBlanket(pCliSec, pProxy, AuthnSvc,
    +                                        AuthzSvc, pServerPrincName,
    +                                        AuthnLevel, ImpLevel, pAuthInfo,
    +                                        Capabilities);
    +        IClientSecurity_Release(pCliSec);
    +    }
    +
    +    if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr);
    +    return hr;
    +}
    +
    +/***********************************************************************
    + *           CoCopyProxy [OLE32.@]
    + *
    + * Copies a proxy.
    + *
    + * PARAMS
    + *  pProxy [I] Pointer to the proxy object.
    + *  ppCopy [O] Copy of the proxy.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
    + * SEE ALSO
    + *  CoQueryProxyBlanket, CoSetProxyBlanket.
    + */
    +HRESULT WINAPI CoCopyProxy(IUnknown *pProxy, IUnknown **ppCopy)
    +{
    +    IClientSecurity *pCliSec;
    +    HRESULT hr;
    +
    +    TRACE("%p\n", pProxy);
    +
    +    hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
    +    if (SUCCEEDED(hr))
    +    {
    +        hr = IClientSecurity_CopyProxy(pCliSec, pProxy, ppCopy);
    +        IClientSecurity_Release(pCliSec);
    +    }
    +
    +    if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr);
    +    return hr;
    +}
    diff --git a/reactos/lib/ole32/compobj_private.h b/reactos/lib/ole32/compobj_private.h
    index e950eeaca33..056f1491d5f 100644
    --- a/reactos/lib/ole32/compobj_private.h
    +++ b/reactos/lib/ole32/compobj_private.h
    @@ -5,7 +5,7 @@
      * Copyright 1999 Sylvain St-Germain
      * Copyright 2002 Marcus Meissner
      * Copyright 2003 Ove Kåven, TransGaming Technologies
    - * Copyright 2004 Mike Hearn, CodeWeavers Inc
    + * Copyright 2004 Mike Hearn, Rob Shearman, CodeWeavers Inc
      *
      * This library is free software; you can redistribute it and/or
      * modify it under the terms of the GNU Lesser General Public
    @@ -39,54 +39,78 @@
     #include "winternl.h"
     
     struct apartment;
    +typedef struct apartment APARTMENT;
    +
    +/* Thread-safety Annotation Legend:
    + *
    + * RO   - The value is read only. It never changes after creation, so no
    + *        locking is required.
    + * LOCK - The value is written to only using Interlocked* functions.
    + * CS   - The value is read or written to with a critical section held.
    + *        The identifier following "CS" is the specific critical section that
    + *        must be used.
    + */
    +
    +typedef enum ifstub_state
    +{
    +    IFSTUB_STATE_NORMAL_MARSHALED,
    +    IFSTUB_STATE_NORMAL_UNMARSHALED,
    +    IFSTUB_STATE_TABLE_MARSHALED
    +} IFSTUB_STATE;
    +
    +/* an interface stub */
    +struct ifstub   
    +{
    +    struct list       entry;      /* entry in stub_manager->ifstubs list (CS stub_manager->lock) */
    +    IRpcStubBuffer   *stubbuffer; /* RO */
    +    IID               iid;        /* RO */
    +    IPID              ipid;       /* RO */
    +    IUnknown         *iface;      /* RO */
    +    IFSTUB_STATE      state;      /* CS stub_manager->lock */
    +};
     
     
    -/* exported interface */
    -typedef struct tagXIF {
    -  struct tagXIF *next;
    -  LPVOID iface;            /* interface pointer */
    -  IID iid;                 /* interface ID */
    -  IPID ipid;               /* exported interface ID */
    -  LPRPCSTUBBUFFER stub;    /* interface stub */
    -  DWORD refs;              /* external reference count */
    -  HRESULT hres;            /* result of stub creation attempt */
    -} XIF;
    +/* stub managers hold refs on the object and each interface stub */
    +struct stub_manager
    +{
    +    struct list       entry;      /* entry in apartment stubmgr list (CS apt->cs) */
    +    struct list       ifstubs;    /* list of active ifstubs for the object (CS lock) */
    +    CRITICAL_SECTION  lock;
    +    APARTMENT        *apt;        /* owning apt (RO) */
     
    -/* exported object */
    -typedef struct tagXOBJECT {
    -  IRpcStubBufferVtbl *lpVtbl;
    -  struct apartment *parent;
    -  struct tagXOBJECT *next;
    -  LPUNKNOWN obj;           /* object identity (IUnknown) */
    -  OID oid;                 /* object ID */
    -  DWORD ifc;               /* interface ID counter */
    -  XIF *ifaces;             /* exported interfaces */
    -  DWORD refs;              /* external reference count */
    -} XOBJECT;
    +    ULONG             extrefs;    /* number of 'external' references (LOCK) */
    +    ULONG             refs;       /* internal reference count (CS apt->cs) */
    +    OID               oid;        /* apartment-scoped unique identifier (RO) */
    +    IUnknown         *object;     /* the object we are managing the stub for (RO) */
    +    ULONG             next_ipid;  /* currently unused (LOCK) */
    +};
     
     /* imported interface proxy */
     struct ifproxy
     {
    -  struct list entry;
    -  LPVOID iface;            /* interface pointer */
    -  IID iid;                 /* interface ID */
    -  IPID ipid;               /* imported interface ID */
    -  LPRPCPROXYBUFFER proxy;  /* interface proxy */
    -  DWORD refs;              /* imported (public) references */
    +  struct list entry;       /* entry in proxy_manager list (CS parent->cs) */
    +  struct proxy_manager *parent; /* owning proxy_manager (RO) */
    +  LPVOID iface;            /* interface pointer (RO) */
    +  IID iid;                 /* interface ID (RO) */
    +  IPID ipid;               /* imported interface ID (RO) */
    +  LPRPCPROXYBUFFER proxy;  /* interface proxy (RO) */
    +  DWORD refs;              /* imported (public) references (CS parent->cs) */
     };
     
     /* imported object / proxy manager */
     struct proxy_manager
     {
    -  const IInternalUnknownVtbl *lpVtbl;
    -  struct apartment *parent;
    -  struct list entry;
    -  LPRPCCHANNELBUFFER chan; /* channel to object */
    -  OXID oxid;               /* object exported ID */
    -  OID oid;                 /* object ID */
    -  struct list interfaces;  /* imported interfaces */
    -  DWORD refs;              /* proxy reference count */
    -  CRITICAL_SECTION cs;     /* thread safety for this object and children */
    +  const IMultiQIVtbl *lpVtbl;
    +  struct apartment *parent; /* owning apartment (RO) */
    +  struct list entry;        /* entry in apartment (CS parent->cs) */
    +  LPRPCCHANNELBUFFER chan;  /* channel to object (CS cs) */
    +  OXID oxid;                /* object exported ID (RO) */
    +  OID oid;                  /* object ID (RO) */
    +  struct list interfaces;   /* imported interfaces (CS cs) */
    +  DWORD refs;               /* proxy reference count (LOCK) */
    +  CRITICAL_SECTION cs;      /* thread safety for this object and children */
    +  ULONG sorflags;           /* STDOBJREF flags (RO) */
    +  IRemUnknown *remunk;      /* proxy to IRemUnknown used for lifecycle management (CS cs) */
     };
     
     /* this needs to become a COM object that implements IRemUnknown */
    @@ -94,28 +118,42 @@ struct apartment
     {
       struct list entry;       
     
    -  DWORD refs;              /* refcount of the apartment */
    -  DWORD model;             /* threading model */
    -  DWORD tid;               /* thread id */
    -  HANDLE thread;           /* thread handle */
    -  OXID oxid;               /* object exporter ID */
    -  OID oidc;                /* object ID counter, starts at 1, zero is invalid OID */
    -  HWND win;                /* message window */
    +  DWORD refs;              /* refcount of the apartment (LOCK) */
    +  DWORD model;             /* threading model (RO) */
    +  DWORD tid;               /* thread id (RO) */
    +  HANDLE thread;           /* thread handle (RO) */
    +  OXID oxid;               /* object exporter ID (RO) */
    +  DWORD ipidc;             /* interface pointer ID counter, starts at 1 (LOCK) */
    +  HWND win;                /* message window (RO) */
       CRITICAL_SECTION cs;     /* thread safety */
    -  LPMESSAGEFILTER filter;  /* message filter */
    -  XOBJECT *objs;           /* exported objects */
    -  struct list proxies;     /* imported objects */
    +  LPMESSAGEFILTER filter;  /* message filter (CS cs) */
    +  struct list proxies;     /* imported objects (CS cs) */
    +  struct list stubmgrs;    /* stub managers for exported objects (CS cs) */
    +  BOOL remunk_exported;    /* has the IRemUnknown interface for this apartment been created yet? (CS cs) */
    +
    +  /* FIXME: These should all be removed long term as they leak information that should be encapsulated */
    +  OID oidc;                /* object ID counter, starts at 1, zero is invalid OID (CS cs) */
       DWORD listenertid;       /* id of apartment_listener_thread */
    -  struct list stubmgrs;    /* stub managers for exported objects */
    +  HANDLE shutdown_event;   /* event used to tell the client_dispatch_thread to shut down */
     };
     
    -typedef struct apartment APARTMENT;
    +/* this is what is stored in TEB->ReservedForOle */
    +struct oletls
    +{
    +    struct apartment *apt;
    +    IErrorInfo       *errorinfo;   /* see errorinfo.c */
    +    IUnknown         *state;       /* see CoSetState */
    +    DWORD            inits;        /* number of times CoInitializeEx called */
    +};
     
     extern void* StdGlobalInterfaceTable_Construct(void);
     extern void  StdGlobalInterfaceTable_Destroy(void* self);
     extern HRESULT StdGlobalInterfaceTable_GetFactory(LPVOID *ppv);
     
    +/* FIXME: these shouldn't be needed, except for 16-bit functions */
     extern HRESULT WINE_StringFromCLSID(const CLSID *id,LPSTR idstr);
    +HRESULT WINAPI __CLSIDFromStringA(LPCSTR idstr, CLSID *id);
    +
     extern HRESULT create_marshalled_proxy(REFCLSID rclsid, REFIID iid, LPVOID *ppv);
     
     extern void* StdGlobalInterfaceTableInstance;
    @@ -139,52 +177,21 @@ MARSHAL_Compare_Mids(wine_marshal_id *mid1,wine_marshal_id *mid2) {
     HRESULT MARSHAL_Disconnect_Proxies(APARTMENT *apt);
     HRESULT MARSHAL_GetStandardMarshalCF(LPVOID *ppv);
     
    -/* Thread-safety Annotation Legend:
    - *
    - * RO   - The value is read only. It never changes after creation, so no
    - *        locking is required.
    - * LOCK - The value is written to only using Interlocked* functions.
    - * CS   - The value is read or written to with a critical section held.
    - *        The identifier following "CS" is the specific critical section that
    - *        must be used.
    - */
    -
    -/* an interface stub */
    -struct ifstub   
    -{
    -    struct list       entry;      /* entry in stub_manager->ifstubs list (CS stub_manager->lock) */
    -    IRpcStubBuffer   *stubbuffer; /* RO */
    -    IID               iid;        /* RO */
    -    IPID              ipid;       /* RO */
    -    IUnknown         *iface;      /* RO */
    -    BOOL              table;      /* CS stub_manager->lock */
    -};
    -
    -
    -/* stub managers hold refs on the object and each interface stub */
    -struct stub_manager
    -{
    -    struct list       entry;      /* entry in apartment stubmgr list (CS apt->cs) */
    -    struct list       ifstubs;    /* list of active ifstubs for the object (CS lock) */
    -    CRITICAL_SECTION  lock;
    -    APARTMENT        *apt;        /* owning apt (RO) */
    -
    -    ULONG             extrefs;    /* number of 'external' references (LOCK) */
    -    ULONG             refs;       /* internal reference count (CS apt->cs) */
    -    OID               oid;        /* apartment-scoped unique identifier (RO) */
    -    IUnknown         *object;     /* the object we are managing the stub for (RO) */
    -    ULONG             next_ipid;  /* currently unused (LOCK) */
    -};
    -
     ULONG stub_manager_int_addref(struct stub_manager *This);
     ULONG stub_manager_int_release(struct stub_manager *This);
     struct stub_manager *new_stub_manager(APARTMENT *apt, IUnknown *object);
     ULONG stub_manager_ext_addref(struct stub_manager *m, ULONG refs);
     ULONG stub_manager_ext_release(struct stub_manager *m, ULONG refs);
    -IRpcStubBuffer *stub_manager_ipid_to_stubbuffer(struct stub_manager *m, const IPID *iid);
     struct ifstub *stub_manager_new_ifstub(struct stub_manager *m, IRpcStubBuffer *sb, IUnknown *iptr, REFIID iid, BOOL tablemarshal);
    -struct stub_manager *get_stub_manager(OXID oxid, OID oid);
    -struct stub_manager *get_stub_manager_from_object(OXID oxid, void *object);
    +struct stub_manager *get_stub_manager(APARTMENT *apt, OID oid);
    +struct stub_manager *get_stub_manager_from_object(APARTMENT *apt, void *object);
    +void apartment_disconnect_object(APARTMENT *apt, void *object);
    +BOOL stub_manager_notify_unmarshal(struct stub_manager *m, const IPID *ipid);
    +BOOL stub_manager_is_table_marshaled(struct stub_manager *m, const IPID *ipid);
    +HRESULT register_ifstub(APARTMENT *apt, STDOBJREF *stdobjref, REFIID riid, IUnknown *obj, MSHLFLAGS mshlflags);
    +HRESULT ipid_to_stub_manager(const IPID *ipid, APARTMENT **stub_apt, struct stub_manager **stubmgr_ret);
    +IRpcStubBuffer *ipid_to_stubbuffer(const IPID *ipid);
    +HRESULT start_apartment_remote_unknown(void);
     
     IRpcStubBuffer *mid_to_stubbuffer(wine_marshal_id *mid);
     
    @@ -202,23 +209,12 @@ HRESULT WINAPI RunningObjectTableImpl_UnInitialize(void);
     /* This function decomposes a String path to a String Table containing all the elements ("\" or "subDirectory" or "Directory" or "FileName") of the path */
     int WINAPI FileMonikerImpl_DecomposePath(LPCOLESTR str, LPOLESTR** stringTable);
     
    -HRESULT WINAPI __CLSIDFromStringA(LPCSTR idstr, CLSID *id);
    -
     /* compobj.c */
    -APARTMENT *COM_CreateApartment(DWORD model);
     APARTMENT *COM_ApartmentFromOXID(OXID oxid, BOOL ref);
    +APARTMENT *COM_ApartmentFromTID(DWORD tid);
     DWORD COM_ApartmentAddRef(struct apartment *apt);
     DWORD COM_ApartmentRelease(struct apartment *apt);
     
    -/* this is what is stored in TEB->ReservedForOle */
    -struct oletls
    -{
    -    struct apartment *apt;
    -    IErrorInfo       *errorinfo;   /* see errorinfo.c */
    -    IUnknown         *state;       /* see CoSetState */
    -    DWORD            inits;        /* number of times CoInitializeEx called */
    -};
    -
     /*
      * Per-thread values are stored in the TEB on offset 0xF80,
      * see http://www.microsoft.com/msj/1099/bugslayer/bugslayer1099.htm
    @@ -227,9 +223,9 @@ struct oletls
     /* will create if necessary */
     static inline struct oletls *COM_CurrentInfo(void)
     {
    -    if (!NtCurrentTeb()->ReservedForOle)     
    +    if (!NtCurrentTeb()->ReservedForOle)
             NtCurrentTeb()->ReservedForOle = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(struct oletls));
    -    
    +
         return NtCurrentTeb()->ReservedForOle;
     }
     
    diff --git a/reactos/lib/ole32/ifs.c b/reactos/lib/ole32/ifs.c
    index 325f08444d1..da82e118c01 100644
    --- a/reactos/lib/ole32/ifs.c
    +++ b/reactos/lib/ole32/ifs.c
    @@ -527,8 +527,15 @@ static IMallocSpyVtbl VT_IMallocSpy =
     /******************************************************************************
      *		CoGetMalloc	[OLE32.@]
      *
    + * Retrieves the current IMalloc interface for the process.
    + *
    + * PARAMS
    + *  dwMemContext [I]
    + *  lpMalloc     [O] Address where memory allocator object will be stored.
    + *
      * RETURNS
    - *	The win32 IMalloc
    + *	Success: S_OK.
    + *  Failure: HRESULT code.
      */
     HRESULT WINAPI CoGetMalloc(DWORD dwMemContext, LPMALLOC *lpMalloc)
     {
    @@ -538,15 +545,31 @@ HRESULT WINAPI CoGetMalloc(DWORD dwMemContext, LPMALLOC *lpMalloc)
     
     /***********************************************************************
      *           CoTaskMemAlloc     [OLE32.@]
    + *
    + * Allocates memory using the current process memory allocator.
    + *
    + * PARAMS
    + *  size [I] Size of the memory block to allocate.
    + *
      * RETURNS
    - * 	pointer to newly allocated block
    + * 	Success: Pointer to newly allocated memory block.
    + *  Failure: NULL.
      */
     LPVOID WINAPI CoTaskMemAlloc(ULONG size)
     {
             return IMalloc_Alloc((LPMALLOC)&Malloc32,size);
     }
    +
     /***********************************************************************
      *           CoTaskMemFree      [OLE32.@]
    + *
    + * Frees memory allocated from the current process memory allocator.
    + *
    + * PARAMS
    + *  ptr [I] Memory block to free.
    + *
    + * RETURNS
    + *  Nothing.
      */
     VOID WINAPI CoTaskMemFree(LPVOID ptr)
     {
    @@ -555,8 +578,16 @@ VOID WINAPI CoTaskMemFree(LPVOID ptr)
     
     /***********************************************************************
      *           CoTaskMemRealloc   [OLE32.@]
    + *
    + * Allocates memory using the current process memory allocator.
    + *
    + * PARAMS
    + *  pvOld [I] Pointer to old memory block.
    + *  size  [I] Size of the new memory block.
    + *
      * RETURNS
    - * 	pointer to newly allocated block
    + * 	Success: Pointer to newly allocated memory block.
    + *  Failure: NULL.
      */
     LPVOID WINAPI CoTaskMemRealloc(LPVOID pvOld, ULONG size)
     {
    @@ -566,6 +597,16 @@ LPVOID WINAPI CoTaskMemRealloc(LPVOID pvOld, ULONG size)
     /***********************************************************************
      *           CoRegisterMallocSpy        [OLE32.@]
      *
    + * Registers an object that receives notifications on memory allocations and
    + * frees.
    + *
    + * PARAMS
    + *  pMallocSpy [I] New spy object.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
      * NOTES
      *  if a mallocspy is already registered, we can't do it again since
      *  only the spy knows, how to free a memory block
    @@ -597,6 +638,16 @@ HRESULT WINAPI CoRegisterMallocSpy(LPMALLOCSPY pMallocSpy)
     /***********************************************************************
      *           CoRevokeMallocSpy  [OLE32.@]
      *
    + * Revokes a previousl registered object that receives notifications on memory
    + * allocations and frees.
    + *
    + * PARAMS
    + *  pMallocSpy [I] New spy object.
    + *
    + * RETURNS
    + *  Success: S_OK.
    + *  Failure: HRESULT code.
    + *
      * NOTES
      *  we can't revoke a malloc spy as long as memory blocks allocated with
      *  the spy are active since only the spy knows how to free them
    @@ -629,12 +680,16 @@ HRESULT WINAPI CoRevokeMallocSpy(void)
     /******************************************************************************
      *		IsValidInterface	[OLE32.@]
      *
    + * Determines whether a pointer is a valid interface.
    + *
    + * PARAMS
    + *  punk [I] Interface to be tested.
    + *
      * RETURNS
    - *  True, if the passed pointer is a valid interface
    + *  TRUE, if the passed pointer is a valid interface, or FALSE otherwise.
      */
    -BOOL WINAPI IsValidInterface(
    -	LPUNKNOWN punk	/* [in] interface to be tested */
    -) {
    +BOOL WINAPI IsValidInterface(LPUNKNOWN punk)
    +{
     	return !(
     		IsBadReadPtr(punk,4)					||
     		IsBadReadPtr(punk->lpVtbl,4)				||
    diff --git a/reactos/lib/ole32/marshal.c b/reactos/lib/ole32/marshal.c
    index 2962d538255..2ae897ae9bf 100644
    --- a/reactos/lib/ole32/marshal.c
    +++ b/reactos/lib/ole32/marshal.c
    @@ -49,6 +49,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole);
     
     extern const CLSID CLSID_DfMarshal;
     
    +/* number of refs given out for normal marshaling */
    +#define NORMALEXTREFS 1 /* FIXME: this should be 5, but we have to wait for IRemUnknown support first */
    +
    +/* private flag indicating that the caller does not want to notify the stub
    + * when the proxy disconnects or is destroyed */
    +#define SORFP_NOLIFETIMEMGMT SORF_OXRES1
    +
    +static HRESULT unmarshal_object(const STDOBJREF *stdobjref, APARTMENT *apt, REFIID riid, void **object);
    +
     /* Marshalling just passes a unique identifier to the remote client,
      * that makes it possible to find the passed interface again.
      *
    @@ -76,66 +85,75 @@ get_facbuf_for_iid(REFIID riid,IPSFactoryBuffer **facbuf) {
         return CoGetClassObject(&pxclsid,CLSCTX_INPROC_SERVER,NULL,&IID_IPSFactoryBuffer,(LPVOID*)facbuf);
     }
     
    -typedef struct _wine_marshal_data {
    -    DWORD	dwDestContext;
    -    DWORD	mshlflags;
    -} wine_marshal_data;
    -
    -IRpcStubBuffer *mid_to_stubbuffer(wine_marshal_id *mid)
    +/* creates a new stub manager */
    +HRESULT register_ifstub(APARTMENT *apt, STDOBJREF *stdobjref, REFIID riid, IUnknown *obj, MSHLFLAGS mshlflags)
     {
    -    IRpcStubBuffer *ret;
    -    struct stub_manager *m;
    -
    -    if (!(m = get_stub_manager(mid->oxid, mid->oid)))
    -    {
    -        WARN("unknown OID %s\n", wine_dbgstr_longlong(mid->oid));
    -        return NULL;
    -    }
    -
    -    ret = stub_manager_ipid_to_stubbuffer(m, &mid->ipid);
    -
    -    stub_manager_int_release(m);
    -    return ret;
    -}
    -
    -/* creates a new stub manager and sets mid->oid when mid->oid == 0 */
    -static HRESULT register_ifstub(wine_marshal_id *mid, REFIID riid, IUnknown *obj, IRpcStubBuffer *stub, BOOL tablemarshal)
    -{
    -    struct stub_manager *manager = NULL;
    +    struct stub_manager *manager;
         struct ifstub       *ifstub;
    +    BOOL                 tablemarshal;
    +    IRpcStubBuffer      *stub;
    +    IPSFactoryBuffer    *psfb;
    +    HRESULT              hr;
     
    -    /* mid->oid of zero means create a new stub manager */
    -    
    -    if (mid->oid && (manager = get_stub_manager(mid->oxid, mid->oid)))
    +    hr = get_facbuf_for_iid(riid, &psfb);
    +    if (hr != S_OK)
         {
    -        TRACE("registering new ifstub on pre-existing manager\n");
    +        ERR("couldn't get IPSFactory buffer for interface %s\n", debugstr_guid(riid));
    +        return hr;
         }
    +
    +    hr = IPSFactoryBuffer_CreateStub(psfb, riid, obj, &stub);
    +    IPSFactoryBuffer_Release(psfb);
    +    if (hr != S_OK)
    +    {
    +        ERR("Failed to create an IRpcStubBuffer from IPSFactory for %s\n", debugstr_guid(riid));
    +        return hr;
    +    }
    +
    +    if (mshlflags & MSHLFLAGS_NOPING)
    +        stdobjref->flags = SORF_NOPING;
    +    else
    +        stdobjref->flags = SORF_NULL;
    +
    +    stdobjref->oxid = apt->oxid;
    +
    +    if ((manager = get_stub_manager_from_object(apt, obj)))
    +        TRACE("registering new ifstub on pre-existing manager\n");
         else
         {
    -        struct apartment *apt;
    -        
             TRACE("constructing new stub manager\n");
     
    -        apt = COM_ApartmentFromOXID(mid->oxid, TRUE);
             manager = new_stub_manager(apt, obj);
    -        COM_ApartmentRelease(apt);
    -        if (!manager) return E_OUTOFMEMORY;
    -
    -        mid->oid = manager->oid;
    +        if (!manager)
    +            return E_OUTOFMEMORY;
         }
    +    stdobjref->oid = manager->oid;
    +
    +    tablemarshal = ((mshlflags & MSHLFLAGS_TABLESTRONG) || (mshlflags & MSHLFLAGS_TABLEWEAK));
     
         ifstub = stub_manager_new_ifstub(manager, stub, obj, riid, tablemarshal);
         if (!ifstub)
         {
    +        IRpcStubBuffer_Release(stub);
             stub_manager_int_release(manager);
             /* FIXME: should we do another release to completely destroy the
              * stub manager? */
             return E_OUTOFMEMORY;
         }
     
    -    if (!tablemarshal) stub_manager_ext_addref(manager, 1);
    +    if (!tablemarshal)
    +    {
    +        stdobjref->cPublicRefs = NORMALEXTREFS;
    +        stub_manager_ext_addref(manager, stdobjref->cPublicRefs);
    +    }
    +    else
    +    {
    +        stdobjref->cPublicRefs = 0;
    +        if (mshlflags & MSHLFLAGS_TABLESTRONG)
    +            stub_manager_ext_addref(manager, 1);
    +    }
     
    -    mid->ipid = ifstub->ipid;
    +    stdobjref->ipid = ifstub->ipid;
     
         stub_manager_int_release(manager);
         return S_OK;
    @@ -145,47 +163,33 @@ static HRESULT register_ifstub(wine_marshal_id *mid, REFIID riid, IUnknown *obj,
     
     /* Client-side identity of the server object */
     
    +static HRESULT proxy_manager_get_remunknown(struct proxy_manager * This, IRemUnknown **remunk);
     static void proxy_manager_destroy(struct proxy_manager * This);
     static HRESULT proxy_manager_find_ifproxy(struct proxy_manager * This, REFIID riid, struct ifproxy ** ifproxy_found);
    +static HRESULT proxy_manager_query_local_interface(struct proxy_manager * This, REFIID riid, void ** ppv);
     
    -static HRESULT WINAPI ClientIdentity_QueryInterface(IInternalUnknown * iface, REFIID riid, void ** ppv)
    +static HRESULT WINAPI ClientIdentity_QueryInterface(IMultiQI * iface, REFIID riid, void ** ppv)
     {
    -    struct proxy_manager * This = (struct proxy_manager *)iface;
         HRESULT hr;
    -    struct ifproxy * ifproxy;
    +    MULTI_QI mqi;
     
         TRACE("%s\n", debugstr_guid(riid));
     
    -    if (IsEqualIID(riid, &IID_IUnknown) ||
    -        IsEqualIID(riid, &IID_IInternalUnknown))
    -    {
    -        *ppv = (void *)iface;
    -        IInternalUnknown_AddRef(iface);
    -        return S_OK;
    -    }
    +    mqi.pIID = riid;
    +    hr = IMultiQI_QueryMultipleInterfaces(iface, 1, &mqi);
    +    *ppv = (void *)mqi.pItf;
     
    -    hr = proxy_manager_find_ifproxy(This, riid, &ifproxy);
    -    if (hr == S_OK)
    -    {
    -        *ppv = ifproxy->iface;
    -        IUnknown_AddRef((IUnknown *)*ppv);
    -        return S_OK;
    -    }
    -
    -    FIXME("interface not found %s\n", debugstr_guid(riid));
    -
    -    /* FIXME: call IRemUnknown::RemQueryInterface */
    -    return E_NOINTERFACE;
    +    return hr;
     }
     
    -static ULONG WINAPI ClientIdentity_AddRef(IInternalUnknown * iface)
    +static ULONG WINAPI ClientIdentity_AddRef(IMultiQI * iface)
     {
         struct proxy_manager * This = (struct proxy_manager *)iface;
         TRACE("%p - before %ld\n", iface, This->refs);
         return InterlockedIncrement(&This->refs);
     }
     
    -static ULONG WINAPI ClientIdentity_Release(IInternalUnknown * iface)
    +static ULONG WINAPI ClientIdentity_Release(IMultiQI * iface)
     {
         struct proxy_manager * This = (struct proxy_manager *)iface;
         ULONG refs = InterlockedDecrement(&This->refs);
    @@ -195,50 +199,205 @@ static ULONG WINAPI ClientIdentity_Release(IInternalUnknown * iface)
         return refs;
     }
     
    -static HRESULT WINAPI ClientIdentity_QueryInternalInterface(IInternalUnknown * iface, REFIID riid, void ** ppv)
    +static HRESULT WINAPI ClientIdentity_QueryMultipleInterfaces(IMultiQI *iface, ULONG cMQIs, MULTI_QI *pMQIs)
     {
    -    FIXME("(%s, %p): stub!\n", debugstr_guid(riid), ppv);
    -    return E_NOINTERFACE;
    +    struct proxy_manager * This = (struct proxy_manager *)iface;
    +    REMQIRESULT *qiresults = NULL;
    +    ULONG nonlocal_mqis = 0;
    +    ULONG i;
    +    ULONG successful_mqis = 0;
    +    IID *iids = HeapAlloc(GetProcessHeap(), 0, cMQIs * sizeof(*iids));
    +    /* mapping of RemQueryInterface index to QueryMultipleInterfaces index */
    +    ULONG *mapping = HeapAlloc(GetProcessHeap(), 0, cMQIs * sizeof(*mapping));
    +
    +    TRACE("cMQIs: %ld\n", cMQIs);
    +
    +    /* try to get a local interface - this includes already active proxy
    +     * interfaces and also interfaces exposed by the proxy manager */
    +    for (i = 0; i < cMQIs; i++)
    +    {
    +        TRACE("iid[%ld] = %s\n", i, debugstr_guid(pMQIs[i].pIID));
    +        pMQIs[i].hr = proxy_manager_query_local_interface(This, pMQIs[i].pIID, (void **)&pMQIs[i].pItf);
    +        if (pMQIs[i].hr == S_OK)
    +            successful_mqis++;
    +        else
    +        {
    +            iids[nonlocal_mqis] = *pMQIs[i].pIID;
    +            mapping[nonlocal_mqis] = i;
    +            nonlocal_mqis++;
    +        }
    +    }
    +
    +    TRACE("%ld interfaces not found locally\n", nonlocal_mqis);
    +
    +    /* if we have more than one interface not found locally then we must try
    +     * to query the remote object for it */
    +    if (nonlocal_mqis != 0)
    +    {
    +        IRemUnknown *remunk;
    +        HRESULT hr;
    +        IPID *ipid;
    +
    +        /* get the ipid of the first entry */
    +        /* FIXME: should we implement ClientIdentity on the ifproxies instead
    +         * of the proxy_manager so we use the correct ipid here? */
    +        ipid = &LIST_ENTRY(list_head(&This->interfaces), struct ifproxy, entry)->ipid;
    +
    +        /* get IRemUnknown proxy so we can communicate with the remote object */
    +        hr = proxy_manager_get_remunknown(This, &remunk);
    +
    +        if (hr == S_OK)
    +        {
    +            hr = IRemUnknown_RemQueryInterface(remunk, ipid, NORMALEXTREFS,
    +                                               nonlocal_mqis, iids, &qiresults);
    +            if (FAILED(hr))
    +                ERR("IRemUnknown_RemQueryInterface failed with error 0x%08lx\n", hr);
    +        }
    +
    +        /* IRemUnknown_RemQueryInterface can return S_FALSE if only some of
    +         * the interfaces were returned */
    +        if (SUCCEEDED(hr))
    +        {
    +            /* try to unmarshal each object returned to us */
    +            for (i = 0; i < nonlocal_mqis; i++)
    +            {
    +                ULONG index = mapping[i];
    +                HRESULT hrobj = qiresults[i].hResult;
    +                if (hrobj == S_OK)
    +                    hrobj = unmarshal_object(&qiresults[i].std, This->parent,
    +                                             pMQIs[index].pIID,
    +                                             (void **)&pMQIs[index].pItf);
    +
    +                if (hrobj == S_OK)
    +                    successful_mqis++;
    +                else
    +                    ERR("Failed to get pointer to interface %s\n", debugstr_guid(pMQIs[index].pIID));
    +                pMQIs[index].hr = hrobj;
    +            }
    +        }
    +
    +        /* free the memory allocated by the proxy */
    +        CoTaskMemFree(qiresults);
    +    }
    +
    +    TRACE("%ld/%ld successfully queried\n", successful_mqis, cMQIs);
    +
    +    HeapFree(GetProcessHeap(), 0, iids);
    +    HeapFree(GetProcessHeap(), 0, mapping);
    +
    +    if (successful_mqis == cMQIs)
    +        return S_OK; /* we got all requested interfaces */
    +    else if (successful_mqis == 0)
    +        return E_NOINTERFACE; /* we didn't get any interfaces */
    +    else
    +        return S_FALSE; /* we got some interfaces */
     }
     
    -static const IInternalUnknownVtbl ClientIdentity_Vtbl =
    +static const IMultiQIVtbl ClientIdentity_Vtbl =
     {
         ClientIdentity_QueryInterface,
         ClientIdentity_AddRef,
         ClientIdentity_Release,
    -    ClientIdentity_QueryInternalInterface
    +    ClientIdentity_QueryMultipleInterfaces
     };
     
     static HRESULT ifproxy_get_public_ref(struct ifproxy * This)
     {
    -    /* FIXME: call IRemUnknown::RemAddRef if necessary */
    -    return S_OK;
    +    HRESULT hr = S_OK;
    +    /* FIXME: as this call could possibly be going over the network, we
    +     * are going to spend a long time in this CS. We might want to replace
    +     * this with a mutex */
    +    EnterCriticalSection(&This->parent->cs);
    +    if (This->refs == 0)
    +    {
    +        IRemUnknown *remunk = NULL;
    +
    +        TRACE("getting public ref for ifproxy %p\n", This);
    +
    +        hr = proxy_manager_get_remunknown(This->parent, &remunk);
    +        if (hr == S_OK)
    +        {
    +            HRESULT hrref;
    +            REMINTERFACEREF rif;
    +            rif.ipid = This->ipid;
    +            rif.cPublicRefs = NORMALEXTREFS;
    +            rif.cPrivateRefs = 0;
    +            hr = IRemUnknown_RemAddRef(remunk, 1, &rif, &hrref);
    +            if (hr == S_OK && hrref == S_OK)
    +                This->refs += NORMALEXTREFS;
    +            else
    +                ERR("IRemUnknown_RemAddRef returned with 0x%08lx, hrref = 0x%08lx\n", hr, hrref);
    +        }
    +    }
    +    LeaveCriticalSection(&This->parent->cs);
    +
    +    return hr;
     }
     
     static HRESULT ifproxy_release_public_refs(struct ifproxy * This)
     {
    -    /* FIXME: call IRemUnknown::RemRelease */
    -    return S_OK;
    +    HRESULT hr = S_OK;
    +
    +    /* FIXME: as this call could possibly be going over the network, we
    +     * are going to spend a long time in this CS. We might want to replace
    +     * this with a mutex */
    +    EnterCriticalSection(&This->parent->cs);
    +    if (This->refs > 0)
    +    {
    +        IRemUnknown *remunk = NULL;
    +
    +        TRACE("releasing %ld refs\n", This->refs);
    +
    +        hr = proxy_manager_get_remunknown(This->parent, &remunk);
    +        if (hr == S_OK)
    +        {
    +            REMINTERFACEREF rif;
    +            rif.ipid = This->ipid;
    +            rif.cPublicRefs = This->refs;
    +            rif.cPrivateRefs = 0;
    +            hr = IRemUnknown_RemRelease(remunk, 1, &rif);
    +            if (hr == S_OK)
    +                This->refs = 0;
    +            else if (hr == RPC_E_DISCONNECTED)
    +                WARN("couldn't release references because object was "
    +                     "disconnected: oxid = %s, oid = %s\n",
    +                     wine_dbgstr_longlong(This->parent->oxid),
    +                     wine_dbgstr_longlong(This->parent->oid));
    +            else
    +                ERR("IRemUnknown_RemRelease failed with error 0x%08lx\n", hr);
    +        }
    +    }
    +    LeaveCriticalSection(&This->parent->cs);
    +
    +    return hr;
     }
     
     static void ifproxy_disconnect(struct ifproxy * This)
     {
    -    IRpcProxyBuffer_Disconnect(This->proxy);
    +    ifproxy_release_public_refs(This);
    +    if (This->proxy) IRpcProxyBuffer_Disconnect(This->proxy);
     }
     
     static void ifproxy_destroy(struct ifproxy * This)
     {
    +    TRACE("%p\n", This);
    +
         /* release public references to this object so that the stub can know
          * when to destroy itself */
         ifproxy_release_public_refs(This);
     
         list_remove(&This->entry);
     
    -    if (This->proxy) IRpcProxyBuffer_Release(This->proxy);
    +    /* note: we don't call Release for This->proxy because its lifetime is
    +     * controlled by the return value from ClientIdentity_Release, which this
    +     * function is always called from */
    +
         HeapFree(GetProcessHeap(), 0, This);
     }
     
    -static HRESULT proxy_manager_construct(APARTMENT * apt, OXID oxid, OID oid, IRpcChannelBuffer * channel, struct proxy_manager ** proxy_manager)
    +static HRESULT proxy_manager_construct(
    +    APARTMENT * apt, ULONG sorflags, OXID oxid, OID oid,
    +    IRpcChannelBuffer * channel, struct proxy_manager ** proxy_manager)
     {
         struct proxy_manager * This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
         if (!This) return E_OUTOFMEMORY;
    @@ -257,19 +416,65 @@ static HRESULT proxy_manager_construct(APARTMENT * apt, OXID oxid, OID oid, IRpc
         This->oxid = oxid;
         This->oid = oid;
     
    -    This->refs = 0; /* will be incremented on creation of first proxy */
    +    This->refs = 1;
     
    +    /* the DCOM draft specification states that the SORF_NOPING flag is
    +     * proxy manager specific, not ifproxy specific, so this implies that we
    +     * should store the STDOBJREF flags in the proxy manager. */
    +    This->sorflags = sorflags;
    +
    +    assert(channel);
         This->chan = channel; /* FIXME: we should take the binding strings and construct the channel in this function */
     
    +    /* we create the IRemUnknown proxy on demand */
    +    This->remunk = NULL;
    +
         EnterCriticalSection(&apt->cs);
    -    list_add_head(&apt->proxies, &This->entry);
    +    /* FIXME: we are dependent on the ordering in here to make sure a proxy's
    +     * IRemUnknown proxy doesn't get destroyed before the regual proxy does
    +     * because we need the IRemUnknown proxy during the destruction of the
    +     * regular proxy. Ideally, we should maintain a separate list for the
    +     * IRemUnknown proxies that need late destruction */
    +    list_add_tail(&apt->proxies, &This->entry);
         LeaveCriticalSection(&apt->cs);
     
    +    TRACE("%p created for OXID %s, OID %s\n", This,
    +        wine_dbgstr_longlong(oxid), wine_dbgstr_longlong(oid));
    +
         *proxy_manager = This;
         return S_OK;
     }
     
    -static HRESULT proxy_manager_create_ifproxy(struct proxy_manager * This, IPID ipid, REFIID riid, ULONG cPublicRefs, struct ifproxy ** iif_out)
    +static HRESULT proxy_manager_query_local_interface(struct proxy_manager * This, REFIID riid, void ** ppv)
    +{
    +    HRESULT hr;
    +    struct ifproxy * ifproxy;
    +
    +    TRACE("%s\n", debugstr_guid(riid));
    +
    +    if (IsEqualIID(riid, &IID_IUnknown) ||
    +        IsEqualIID(riid, &IID_IMultiQI))
    +    {
    +        *ppv = (void *)&This->lpVtbl;
    +        IMultiQI_AddRef((IMultiQI *)&This->lpVtbl);
    +        return S_OK;
    +    }
    +
    +    hr = proxy_manager_find_ifproxy(This, riid, &ifproxy);
    +    if (hr == S_OK)
    +    {
    +        *ppv = ifproxy->iface;
    +        IUnknown_AddRef((IUnknown *)*ppv);
    +        return S_OK;
    +    }
    +
    +    *ppv = NULL;
    +    return E_NOINTERFACE;
    +}
    +
    +static HRESULT proxy_manager_create_ifproxy(
    +    struct proxy_manager * This, IPID ipid, REFIID riid, ULONG cPublicRefs,
    +    struct ifproxy ** iif_out)
     {
         HRESULT hr;
         IPSFactoryBuffer * psfb;
    @@ -278,25 +483,42 @@ static HRESULT proxy_manager_create_ifproxy(struct proxy_manager * This, IPID ip
     
         list_init(&ifproxy->entry);
     
    +    ifproxy->parent = This;
         ifproxy->ipid = ipid;
         ifproxy->iid = *riid;
         ifproxy->refs = cPublicRefs;
         ifproxy->proxy = NULL;
     
    -    hr = get_facbuf_for_iid(riid, &psfb);
    -    if (hr == S_OK)
    +    /* the IUnknown interface is special because it does not have a
    +     * proxy associated with the ifproxy as we handle IUnknown ourselves */
    +    if (IsEqualIID(riid, &IID_IUnknown))
         {
    -        /* important note: the outer unknown is set to the proxy manager.
    -         * This ensures the COM identity rules are not violated, by having a
    -         * one-to-one mapping of objects on the proxy side to objects on the
    -         * stub side, no matter which interface you view the object through */
    -        hr = IPSFactoryBuffer_CreateProxy(psfb, (IUnknown *)&This->lpVtbl, riid,
    -                                          &ifproxy->proxy, &ifproxy->iface);
    -        IPSFactoryBuffer_Release(psfb);
    +        ifproxy->iface = (void *)&This->lpVtbl;
    +        hr = S_OK;
         }
    +    else
    +    {
    +        hr = get_facbuf_for_iid(riid, &psfb);
    +        if (hr == S_OK)
    +        {
    +            /* important note: the outer unknown is set to the proxy manager.
    +             * This ensures the COM identity rules are not violated, by having a
    +             * one-to-one mapping of objects on the proxy side to objects on the
    +             * stub side, no matter which interface you view the object through */
    +            hr = IPSFactoryBuffer_CreateProxy(psfb, (IUnknown *)&This->lpVtbl, riid,
    +                                              &ifproxy->proxy, &ifproxy->iface);
    +            IPSFactoryBuffer_Release(psfb);
    +            if (hr != S_OK)
    +                ERR("Could not create proxy for interface %s, error 0x%08lx\n",
    +                    debugstr_guid(riid), hr);
    +        }
    +        else
    +            ERR("Could not get IPSFactoryBuffer for interface %s, error 0x%08lx\n",
    +                debugstr_guid(riid), hr);
     
    -    if (hr == S_OK)
    -        hr = IRpcProxyBuffer_Connect(ifproxy->proxy, This->chan);
    +        if (hr == S_OK)
    +            hr = IRpcProxyBuffer_Connect(ifproxy->proxy, This->chan);
    +    }
     
         /* get at least one external reference to the object to keep it alive */
         if (hr == S_OK)
    @@ -309,6 +531,8 @@ static HRESULT proxy_manager_create_ifproxy(struct proxy_manager * This, IPID ip
             LeaveCriticalSection(&This->cs);
     
             *iif_out = ifproxy;
    +        TRACE("ifproxy %p created for IPID %s, interface %s with %lu public refs\n",
    +              ifproxy, debugstr_guid(&ipid), debugstr_guid(riid), cPublicRefs);
         }
         else
             ifproxy_destroy(ifproxy);
    @@ -341,6 +565,9 @@ static void proxy_manager_disconnect(struct proxy_manager * This)
     {
         struct list * cursor;
     
    +    TRACE("oxid = %s, oid = %s\n", wine_dbgstr_longlong(This->oxid),
    +        wine_dbgstr_longlong(This->oid));
    +
         EnterCriticalSection(&This->cs);
     
         LIST_FOR_EACH(cursor, &This->interfaces)
    @@ -352,13 +579,73 @@ static void proxy_manager_disconnect(struct proxy_manager * This)
         /* apartment is being destroyed so don't keep a pointer around to it */
         This->parent = NULL;
     
    +    /* FIXME: will this still be necessary if/when we use a real RPC
    +     * channel? */
    +    IRpcChannelBuffer_Release(This->chan);
    +    This->chan = NULL;
    +
         LeaveCriticalSection(&This->cs);
     }
     
    +static HRESULT proxy_manager_get_remunknown(struct proxy_manager * This, IRemUnknown **remunk)
    +{
    +    HRESULT hr = S_OK;
    +
    +    /* we don't want to try and unmarshal or use IRemUnknown if we don't want
    +     * lifetime management */
    +    if (This->sorflags & SORFP_NOLIFETIMEMGMT)
    +        return S_FALSE;
    +
    +    EnterCriticalSection(&This->cs);
    +    if (This->remunk)
    +        /* already created - return existing object */
    +        *remunk = This->remunk;
    +    else if (!This->parent)
    +        /* disconnected - we can't create IRemUnknown */
    +        hr = S_FALSE;
    +    else
    +    {
    +        STDOBJREF stdobjref;
    +        /* Don't want IRemUnknown lifetime management as this is IRemUnknown!
    +         * We also don't care about whether or not the stub is still alive */
    +        stdobjref.flags = SORFP_NOLIFETIMEMGMT | SORF_NOPING;
    +        stdobjref.cPublicRefs = 1;
    +        /* oxid of destination object */
    +        stdobjref.oxid = This->oxid;
    +        /* FIXME: what should be used for the oid? The DCOM draft doesn't say */
    +        stdobjref.oid = (OID)-1;
    +        /* FIXME: this is a hack around not having an OXID resolver yet -
    +         * the OXID resolver should give us the IPID of the IRemUnknown
    +         * interface */
    +        stdobjref.ipid.Data1 = 0xffffffff;
    +        stdobjref.ipid.Data2 = 0xffff;
    +        stdobjref.ipid.Data3 = 0xffff;
    +        assert(sizeof(stdobjref.ipid.Data4) == sizeof(stdobjref.oxid));
    +        memcpy(&stdobjref.ipid.Data4, &stdobjref.oxid, sizeof(OXID));
    +        
    +        /* do the unmarshal */
    +        hr = unmarshal_object(&stdobjref, This->parent, &IID_IRemUnknown, (void**)&This->remunk);
    +        if (hr == S_OK)
    +            *remunk = This->remunk;
    +    }
    +    LeaveCriticalSection(&This->cs);
    +
    +    TRACE("got IRemUnknown* pointer %p, hr = 0x%08lx\n", *remunk, hr);
    +
    +    return hr;
    +}
    +
    +/* destroys a proxy manager, freeing the memory it used.
    + * Note: this function should not be called from a list iteration in the
    + * apartment, due to the fact that it removes itself from the apartment and
    + * it could add a proxy to IRemUnknown into the apartment. */
     static void proxy_manager_destroy(struct proxy_manager * This)
     {
         struct list * cursor;
     
    +    TRACE("oxid = %s, oid = %s\n", wine_dbgstr_longlong(This->oxid),
    +        wine_dbgstr_longlong(This->oid));
    +
         if (This->parent)
         {
             EnterCriticalSection(&This->parent->cs);
    @@ -377,19 +664,23 @@ static void proxy_manager_destroy(struct proxy_manager * This)
         }
     
         /* destroy all of the interface proxies */
    -    while (!(cursor = list_head(&This->interfaces)))
    +    while ((cursor = list_head(&This->interfaces)))
         {
             struct ifproxy * ifproxy = LIST_ENTRY(cursor, struct ifproxy, entry);
             ifproxy_destroy(ifproxy);
         }
     
    -    IRpcChannelBuffer_Release(This->chan);
    +    if (This->remunk) IRemUnknown_Release(This->remunk);
    +    if (This->chan) IRpcChannelBuffer_Release(This->chan);
     
         DeleteCriticalSection(&This->cs);
     
         HeapFree(GetProcessHeap(), 0, This);
     }
     
    +/* finds the proxy manager corresponding to a given OXID and OID that has
    + * been unmarshaled in the specified apartment. The caller must release the
    + * reference to the proxy_manager when the object is no longer used. */
     static BOOL find_proxy_manager(APARTMENT * apt, OXID oxid, OID oid, struct proxy_manager ** proxy_found)
     {
         BOOL found = FALSE;
    @@ -402,6 +693,7 @@ static BOOL find_proxy_manager(APARTMENT * apt, OXID oxid, OID oid, struct proxy
             if ((oxid == proxy->oxid) && (oid == proxy->oid))
             {
                 *proxy_found = proxy;
    +            ClientIdentity_AddRef((IMultiQI *)&proxy->lpVtbl);
                 found = TRUE;
                 break;
             }
    @@ -475,10 +767,10 @@ StdMarshalImpl_GetUnmarshalClass(
     static HRESULT WINAPI
     StdMarshalImpl_GetMarshalSizeMax(
       LPMARSHAL iface, REFIID riid, void* pv, DWORD dwDestContext,
    -  void* pvDestContext, DWORD mshlflags, DWORD* pSize
    -) {
    -  *pSize = sizeof(wine_marshal_id)+sizeof(wine_marshal_data);
    -  return S_OK;
    +  void* pvDestContext, DWORD mshlflags, DWORD* pSize)
    +{
    +    *pSize = sizeof(STDOBJREF);
    +    return S_OK;
     }
     
     static HRESULT WINAPI
    @@ -486,49 +778,32 @@ StdMarshalImpl_MarshalInterface(
       LPMARSHAL iface, IStream *pStm,REFIID riid, void* pv, DWORD dwDestContext,
       void* pvDestContext, DWORD mshlflags
     ) {
    -  wine_marshal_id       mid;
    -  wine_marshal_data     md;
    +  STDOBJREF             stdobjref;
       IUnknown             *pUnk;  
       ULONG                 res;
       HRESULT               hres;
    -  IRpcStubBuffer       *stubbuffer;
    -  IPSFactoryBuffer     *psfacbuf;
    -  BOOL                  tablemarshal;
    -  struct stub_manager  *manager;
    +  APARTMENT            *apt = COM_CurrentApt();
         
       TRACE("(...,%s,...)\n",debugstr_guid(riid));
     
    +  if (!apt)
    +  {
    +      ERR("Apartment not initialized\n");
    +      return CO_E_NOTINITIALIZED;
    +  }
    +
       start_apartment_listener_thread(); /* just to be sure we have one running. */
    +  start_apartment_remote_unknown();
     
    -  hres = get_facbuf_for_iid(riid,&psfacbuf);
    -  if (hres) return hres;
    -
    -  hres = IPSFactoryBuffer_CreateStub(psfacbuf,riid,pv,&stubbuffer);
    -  IPSFactoryBuffer_Release(psfacbuf);
    -  if (hres) {
    -    FIXME("Failed to create an RpcStubBuffer from PSFactory for %s\n",debugstr_guid(riid));
    -    return hres;
    -  }
    -
    -  tablemarshal = ((mshlflags & MSHLFLAGS_TABLESTRONG) || (mshlflags & MSHLFLAGS_TABLEWEAK));
    -  if (tablemarshal) FIXME("table marshalling unimplemented\n");
    -
    -  /* now fill out the MID */
    -  mid.oxid = COM_CurrentApt()->oxid;
    - 
    -  IUnknown_QueryInterface((LPUNKNOWN)pv, riid, (LPVOID*)&pUnk);
    - 
    -  if ((manager = get_stub_manager_from_object(mid.oxid, pUnk)))
    +  hres = IUnknown_QueryInterface((LPUNKNOWN)pv, riid, (LPVOID*)&pUnk);
    +  if (hres != S_OK)
       {
    -      mid.oid = manager->oid;
    -      stub_manager_int_release(manager);
    +      ERR("object doesn't expose interface %s, failing with error 0x%08lx\n",
    +        debugstr_guid(riid), hres);
    +      return E_NOINTERFACE;
       }
    -  else
    -  {
    -      mid.oid = 0;              /* will be set by register_ifstub */
    -  }
    - 
    -  hres = register_ifstub(&mid, riid, pUnk, stubbuffer, tablemarshal);
    +
    +  hres = register_ifstub(apt, &stdobjref, riid, pUnk, mshlflags);
       
       IUnknown_Release(pUnk);
       
    @@ -538,101 +813,181 @@ StdMarshalImpl_MarshalInterface(
         return hres;
       }
     
    -  hres = IStream_Write(pStm,&mid,sizeof(mid),&res);
    +  hres = IStream_Write(pStm, &stdobjref, sizeof(stdobjref), &res);
       if (hres) return hres;
     
    -  /* and then the marshal data */
    -  md.dwDestContext      = dwDestContext;
    -  md.mshlflags          = mshlflags;
    -  hres = IStream_Write(pStm,&md,sizeof(md),&res);
    -  if (hres) return hres;
    -   
       return S_OK;
     }
     
    +/* helper for StdMarshalImpl_UnmarshalInterface - does the unmarshaling with
    + * no questions asked about the rules surrounding same-apartment unmarshals
    + * and table marshaling */
    +static HRESULT unmarshal_object(const STDOBJREF *stdobjref, APARTMENT *apt, REFIID riid, void **object)
    +{
    +    struct proxy_manager *proxy_manager = NULL;
    +    HRESULT hr = S_OK;
    +
    +    assert(apt);
    +
    +    TRACE("stdobjref:\n\tflags = %04lx\n\tcPublicRefs = %ld\n\toxid = %s\n\toid = %s\n\tipid = %s\n",
    +        stdobjref->flags, stdobjref->cPublicRefs,
    +        wine_dbgstr_longlong(stdobjref->oxid),
    +        wine_dbgstr_longlong(stdobjref->oid),
    +        debugstr_guid(&stdobjref->ipid));
    +
    +    /* create an a new proxy manager if one doesn't already exist for the
    +     * object */
    +    if (!find_proxy_manager(apt, stdobjref->oxid, stdobjref->oid, &proxy_manager))
    +    {
    +        IRpcChannelBuffer *chanbuf;
    +        wine_marshal_id mid;
    +
    +        mid.oxid = stdobjref->oxid;
    +        mid.oid = stdobjref->oid;
    +        mid.ipid = stdobjref->ipid;
    +
    +        hr = PIPE_GetNewPipeBuf(&mid,&chanbuf);
    +        if (hr == S_OK)
    +            hr = proxy_manager_construct(apt, stdobjref->flags,
    +                                         stdobjref->oxid, stdobjref->oid,
    +                                         chanbuf, &proxy_manager);
    +    }
    +    else
    +        TRACE("proxy manager already created, using\n");
    +
    +    if (hr == S_OK)
    +    {
    +        struct ifproxy * ifproxy;
    +        hr = proxy_manager_find_ifproxy(proxy_manager, riid, &ifproxy);
    +        if (hr == E_NOINTERFACE)
    +            hr = proxy_manager_create_ifproxy(proxy_manager, stdobjref->ipid,
    +                                              riid, stdobjref->cPublicRefs,
    +                                              &ifproxy);
    +
    +        if (hr == S_OK)
    +        {
    +            /* FIXME: push this AddRef inside proxy_manager_find_ifproxy/create_ifproxy? */
    +            ClientIdentity_AddRef((IMultiQI*)&proxy_manager->lpVtbl);
    +            *object = ifproxy->iface;
    +        }
    +    }
    +
    +    /* release our reference to the proxy manager - the client/apartment
    +     * will hold on to the remaining reference for us */
    +    if (proxy_manager) ClientIdentity_Release((IMultiQI*)&proxy_manager->lpVtbl);
    +
    +    return hr;
    +}
    +
     static HRESULT WINAPI
     StdMarshalImpl_UnmarshalInterface(LPMARSHAL iface, IStream *pStm, REFIID riid, void **ppv)
     {
       struct stub_manager  *stubmgr;
    -  wine_marshal_id       mid;
    -  wine_marshal_data     md;
    +  STDOBJREF stdobjref;
       ULONG			res;
       HRESULT		hres;
    -  IRpcChannelBuffer	*chanbuf;
    -  struct proxy_manager *proxy_manager;
       APARTMENT *apt = COM_CurrentApt();
    +  APARTMENT *stub_apt;
     
       TRACE("(...,%s,....)\n",debugstr_guid(riid));
     
    -  if (!apt) return CO_E_NOTINITIALIZED;
    +  /* we need an apartment to unmarshal into */
    +  if (!apt)
    +  {
    +      ERR("Apartment not initialized\n");
    +      return CO_E_NOTINITIALIZED;
    +  }
     
    -  hres = IStream_Read(pStm,&mid,sizeof(mid),&res);
    -  if (hres) return hres;
    -  hres = IStream_Read(pStm,&md,sizeof(md),&res);
    +  /* read STDOBJREF from wire */
    +  hres = IStream_Read(pStm, &stdobjref, sizeof(stdobjref), &res);
       if (hres) return hres;
       
       /* check if we're marshalling back to ourselves */
    -  /* FIXME: commented out until we can get the tests passing with it uncommented. */
    -  if (/*(apt->oxid == mid.oxid) &&*/ (stubmgr = get_stub_manager(mid.oxid, mid.oid)))
    +  if ((apt->oxid == stdobjref.oxid) && (stubmgr = get_stub_manager(apt, stdobjref.oid)))
       {
    -      TRACE("Unmarshalling object marshalled in same apartment for iid %s, returning original object %p\n", debugstr_guid(riid), stubmgr->object);
    +      TRACE("Unmarshalling object marshalled in same apartment for iid %s, "
    +            "returning original object %p\n", debugstr_guid(riid), stubmgr->object);
         
           hres = IUnknown_QueryInterface(stubmgr->object, riid, ppv);
    -      if ((md.mshlflags & MSHLFLAGS_TABLESTRONG) || (md.mshlflags & MSHLFLAGS_TABLEWEAK))
    -          FIXME("table marshalling unimplemented\n");
           
           /* unref the ifstub. FIXME: only do this on success? */
    -      stub_manager_ext_release(stubmgr, 1);
    +      if (!stub_manager_is_table_marshaled(stubmgr, &stdobjref.ipid))
    +          stub_manager_ext_release(stubmgr, 1);
     
           stub_manager_int_release(stubmgr);
           return hres;
       }
     
    -  if (!find_proxy_manager(apt, mid.oxid, mid.oid, &proxy_manager))
    +  /* notify stub manager about unmarshal if process-local object.
    +   * note: if the oxid is not found then we and native will quite happily
    +   * ignore table marshaling and normal marshaling rules regarding number of
    +   * unmarshals, etc, but if you abuse these rules then your proxy could end
    +   * up returning RPC_E_DISCONNECTED. */
    +  if ((stub_apt = COM_ApartmentFromOXID(stdobjref.oxid, TRUE)))
       {
    -    hres = PIPE_GetNewPipeBuf(&mid,&chanbuf);
    -    if (hres == S_OK)
    -      hres = proxy_manager_construct(apt, mid.oxid, mid.oid, chanbuf, &proxy_manager);
    +      if ((stubmgr = get_stub_manager(stub_apt, stdobjref.oid)))
    +      {
    +          if (!stub_manager_notify_unmarshal(stubmgr, &stdobjref.ipid))
    +              hres = CO_E_OBJNOTCONNECTED;
    +
    +          stub_manager_int_release(stubmgr);
    +      }
    +      else
    +      {
    +          WARN("Couldn't find object for OXID %s, OID %s, assuming disconnected\n",
    +              wine_dbgstr_longlong(stdobjref.oxid),
    +              wine_dbgstr_longlong(stdobjref.oid));
    +          hres = CO_E_OBJNOTCONNECTED;
    +      }
    +
    +      COM_ApartmentRelease(stub_apt);
       }
    +  else
    +      TRACE("Treating unmarshal from OXID %s as inter-process\n",
    +            wine_dbgstr_longlong(stdobjref.oxid));
     
       if (hres == S_OK)
    -  {
    -    struct ifproxy * ifproxy;
    -    hres = proxy_manager_find_ifproxy(proxy_manager, riid, &ifproxy);
    -    if (hres == S_OK)
    -      IUnknown_AddRef((IUnknown *)ifproxy->iface);
    -    else if (hres == E_NOINTERFACE)
    -      hres = proxy_manager_create_ifproxy(proxy_manager, mid.ipid, riid, 1, &ifproxy);
    +      hres = unmarshal_object(&stdobjref, apt, riid, ppv);
     
    -    if (hres == S_OK)
    -      *ppv = ifproxy->iface; /* AddRef'd above */
    -  }
    +  if (hres) WARN("Failed with error 0x%08lx\n", hres);
    +  else TRACE("Successfully created proxy %p\n", *ppv);
     
       return hres;
     }
     
     static HRESULT WINAPI
     StdMarshalImpl_ReleaseMarshalData(LPMARSHAL iface, IStream *pStm) {
    -    wine_marshal_id      mid;
    +    STDOBJREF            stdobjref;
         ULONG                res;
         HRESULT              hres;
         struct stub_manager *stubmgr;
    +    APARTMENT           *apt;
     
         TRACE("iface=%p, pStm=%p\n", iface, pStm);
         
    -    hres = IStream_Read(pStm,&mid,sizeof(mid),&res);
    +    hres = IStream_Read(pStm, &stdobjref, sizeof(stdobjref), &res);
         if (hres) return hres;
     
    -    if (!(stubmgr = get_stub_manager(mid.oxid, mid.oid)))
    +    if (!(apt = COM_ApartmentFromOXID(stdobjref.oxid, TRUE)))
         {
    -        ERR("could not map MID to stub manager, oxid=%s, oid=%s\n",
    -            wine_dbgstr_longlong(mid.oxid), wine_dbgstr_longlong(mid.oid));
    +        WARN("Could not map OXID %s to apartment object\n",
    +            wine_dbgstr_longlong(stdobjref.oxid));
             return RPC_E_INVALID_OBJREF;
         }
    -    
    +
    +    if (!(stubmgr = get_stub_manager(apt, stdobjref.oid)))
    +    {
    +        ERR("could not map MID to stub manager, oxid=%s, oid=%s\n",
    +            wine_dbgstr_longlong(stdobjref.oxid), wine_dbgstr_longlong(stdobjref.oid));
    +        return RPC_E_INVALID_OBJREF;
    +    }
    +
    +    /* FIXME: don't release if table-weak and already unmarshaled an object */
    +    /* FIXME: this should also depend on stdobjref.cPublicRefs */
         stub_manager_ext_release(stubmgr, 1);
     
         stub_manager_int_release(stubmgr);
    +    COM_ApartmentRelease(apt);
     
         return S_OK;
     }
    @@ -744,7 +1099,7 @@ static HRESULT get_marshaler(REFIID riid, IUnknown *pUnk, DWORD dwDestContext,
      * The function leaves the stream pointer at the start of the data written
      * to the stream by the IMarshal* object.
      */
    -static HRESULT get_unmarshaler_from_stream(IStream *stream, IMarshal **marshal)
    +static HRESULT get_unmarshaler_from_stream(IStream *stream, IMarshal **marshal, IID *iid)
     {
         HRESULT hr;
         ULONG res;
    @@ -765,6 +1120,8 @@ static HRESULT get_unmarshaler_from_stream(IStream *stream, IMarshal **marshal)
             return RPC_E_INVALID_OBJREF;
         }
     
    +    if (iid) *iid = objref.iid;
    +
         /* FIXME: handler marshaling */
         if (objref.flags & OBJREF_STANDARD)
         {
    @@ -978,6 +1335,7 @@ HRESULT WINAPI CoMarshalInterface(IStream *pStream, REFIID riid, IUnknown *pUnk,
                 hr = E_UNEXPECTED;
                 goto cleanup;
             }
    +        objref.u_objref.u_custom.clsid = marshaler_clsid;
             objref.u_objref.u_custom.cbExtension = 0;
             objref.u_objref.u_custom.size = GlobalSize(hGlobal);
             /* write constant sized OR_CUSTOM data into stream */
    @@ -1010,6 +1368,9 @@ cleanup:
         if (pMarshalStream && (objref.flags & OBJREF_CUSTOM))
             IStream_Release(pMarshalStream);
         IMarshal_Release(pMarshal);
    +
    +    TRACE("completed with hr 0x%08lx\n", hr);
    +    
         return hr;
     }
     
    @@ -1035,21 +1396,39 @@ cleanup:
      */
     HRESULT WINAPI CoUnmarshalInterface(IStream *pStream, REFIID riid, LPVOID *ppv)
     {
    -    HRESULT	hr;
    +    HRESULT hr;
         LPMARSHAL pMarshal;
    +    IID iid;
    +    IUnknown *object;
     
         TRACE("(%p, %s, %p)\n", pStream, debugstr_guid(riid), ppv);
     
    -    hr = get_unmarshaler_from_stream(pStream, &pMarshal);
    +    hr = get_unmarshaler_from_stream(pStream, &pMarshal, &iid);
         if (hr != S_OK)
             return hr;
     
         /* call the helper object to do the actual unmarshaling */
    -    hr = IMarshal_UnmarshalInterface(pMarshal, pStream, riid, ppv);
    +    hr = IMarshal_UnmarshalInterface(pMarshal, pStream, &iid, (LPVOID*)&object);
         if (hr)
             ERR("IMarshal::UnmarshalInterface failed, 0x%08lx\n", hr);
     
    +    /* IID_NULL means use the interface ID of the marshaled object */
    +    if (!IsEqualIID(riid, &IID_NULL))
    +        iid = *riid;
    +
    +    if (hr == S_OK)
    +    {
    +        hr = IUnknown_QueryInterface(object, &iid, ppv);
    +        if (hr)
    +            ERR("Couldn't query for interface %s, hr = 0x%08lx\n",
    +                debugstr_guid(riid), hr);
    +        IUnknown_Release(object);
    +    }
    +
         IMarshal_Release(pMarshal);
    +
    +    TRACE("completed with hr 0x%lx\n", hr);
    +    
         return hr;
     }
     
    @@ -1083,7 +1462,7 @@ HRESULT WINAPI CoReleaseMarshalData(IStream *pStream)
     
         TRACE("(%p)\n", pStream);
     
    -    hr = get_unmarshaler_from_stream(pStream, &pMarshal);
    +    hr = get_unmarshaler_from_stream(pStream, &pMarshal, NULL);
         if (hr != S_OK)
             return hr;
     
    diff --git a/reactos/lib/ole32/ole2.c b/reactos/lib/ole32/ole2.c
    index 2a428123d62..cfa0b5aa8a5 100644
    --- a/reactos/lib/ole32/ole2.c
    +++ b/reactos/lib/ole32/ole2.c
    @@ -48,6 +48,7 @@
     #include "wine/wingdi16.h"
     #include "wine/winuser16.h"
     #include "ole32_main.h"
    +#include "compobj_private.h"
     
     #include "wine/debug.h"
     
    @@ -243,18 +244,6 @@ HRESULT WINAPI OleInitialize(LPVOID reserved)
       return hr;
     }
     
    -/******************************************************************************
    - *		CoGetCurrentProcess	[COMPOBJ.34]
    - *		CoGetCurrentProcess	[OLE32.@]
    - *
    - * NOTES
    - *   Is DWORD really the correct return type for this function?
    - */
    -DWORD WINAPI CoGetCurrentProcess(void)
    -{
    -	return GetCurrentProcessId();
    -}
    -
     /******************************************************************************
      *		OleUninitialize	[OLE2.3]
      *		OleUninitialize	[OLE32.@]
    @@ -300,20 +289,6 @@ void WINAPI OleUninitialize(void)
       CoUninitialize();
     }
     
    -/******************************************************************************
    - *		CoRegisterMessageFilter	[OLE32.@]
    - */
    -HRESULT WINAPI CoRegisterMessageFilter(
    -    LPMESSAGEFILTER lpMessageFilter,	/* [in] Pointer to interface */
    -    LPMESSAGEFILTER *lplpMessageFilter	/* [out] Indirect pointer to prior instance if non-NULL */
    -) {
    -    FIXME("stub\n");
    -    if (lplpMessageFilter) {
    -	*lplpMessageFilter = NULL;
    -    }
    -    return S_OK;
    -}
    -
     /******************************************************************************
      *		OleInitializeWOW	[OLE32.@]
      */
    @@ -2313,6 +2288,44 @@ HRESULT WINAPI OleCreate(
         return hres;
     }
     
    +/******************************************************************************
    + *              OleSetAutoConvert        [OLE32.@]
    + */
    +/* FIXME: convert to Unicode */
    +HRESULT WINAPI OleSetAutoConvert(REFCLSID clsidOld, REFCLSID clsidNew)
    +{
    +    HKEY hkey = 0;
    +    char buf[200], szClsidNew[200];
    +    HRESULT res = S_OK;
    +
    +    TRACE("(%s,%s)\n", debugstr_guid(clsidOld), debugstr_guid(clsidNew));
    +    sprintf(buf,"CLSID\\");WINE_StringFromCLSID(clsidOld,&buf[6]);
    +    WINE_StringFromCLSID(clsidNew, szClsidNew);
    +    if (RegOpenKeyA(HKEY_CLASSES_ROOT,buf,&hkey))
    +    {
    +        res = REGDB_E_CLASSNOTREG;
    +	goto done;
    +    }
    +    if (RegSetValueA(hkey, "AutoConvertTo", REG_SZ, szClsidNew, strlen(szClsidNew)+1))
    +    {
    +        res = REGDB_E_WRITEREGDB;
    +	goto done;
    +    }
    +
    +done:
    +    if (hkey) RegCloseKey(hkey);
    +    return res;
    +}
    +
    +/******************************************************************************
    + *              OleDoAutoConvert        [OLE32.@]
    + */
    +HRESULT WINAPI OleDoAutoConvert(IStorage *pStg, LPCLSID pClsidNew)
    +{
    +    FIXME("(%p,%p) : stub\n",pStg,pClsidNew);
    +    return E_NOTIMPL;
    +}
    +
     /***********************************************************************
      *           OLE_FreeClipDataArray   [internal]
      *
    diff --git a/reactos/lib/ole32/ole2stubs.c b/reactos/lib/ole32/ole2stubs.c
    index 2bcaabf689d..bb827871917 100644
    --- a/reactos/lib/ole32/ole2stubs.c
    +++ b/reactos/lib/ole32/ole2stubs.c
    @@ -138,15 +138,6 @@ HRESULT     WINAPI OleRegEnumFormatEtc (
         return E_NOTIMPL;
     }
     
    -/***********************************************************************
    - *           CoIsOle1Class                              [OLE32.@]
    - */
    -BOOL WINAPI CoIsOle1Class(REFCLSID clsid)
    -{
    -  FIXME("%s\n", debugstr_guid(clsid));
    -  return FALSE;
    -}
    -
     /***********************************************************************
      *           DllGetClassObject                          [OLE2.4]
      */
    diff --git a/reactos/lib/ole32/ole32.spec b/reactos/lib/ole32/ole32.spec
    index ddc4827123c..3a8d3333260 100644
    --- a/reactos/lib/ole32/ole32.spec
    +++ b/reactos/lib/ole32/ole32.spec
    @@ -7,7 +7,7 @@
     @ stdcall CLSIDFromString(wstr ptr)
     @ stdcall CoAddRefServerProcess()
     @ stdcall CoBuildVersion()
    -@ stub CoCopyProxy                #@ stdcall (ptr ptr) return 0,ERR_NOTIMPLEMENTED
    +@ stdcall CoCopyProxy(ptr ptr)
     @ stdcall CoCreateFreeThreadedMarshaler(ptr ptr)
     @ stdcall CoCreateGuid(ptr)
     @ stdcall CoCreateInstance(ptr ptr long ptr ptr)
    @@ -49,7 +49,7 @@
     @ stdcall CoMarshalInterface(ptr ptr ptr long ptr long)
     @ stub CoQueryAuthenticationServices
     @ stub CoQueryClientBlanket
    -@ stub CoQueryProxyBlanket
    +@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr)
     @ stub CoQueryReleaseObject
     @ stub CoRegisterChannelHook
     @ stdcall CoRegisterClassObject(ptr ptr long long ptr)
    @@ -63,7 +63,7 @@
     @ stub CoRevertToSelf             #@ stdcall () return 0,ERR_NOTIMPLEMENTED
     @ stdcall CoRevokeClassObject(long)
     @ stdcall CoRevokeMallocSpy()
    -@ stub CoSetProxyBlanket          #@ stdcall (ptr long long wstr long long ptr long) return 0,ERR_NOTIMPLEMENTED
    +@ stdcall CoSetProxyBlanket(ptr long long wstr long long ptr long)
     @ stdcall CoSetState(ptr)
     @ stub CoSwitchCallContext
     @ stdcall CoSuspendClassObjects()
    @@ -92,8 +92,8 @@
     @ stdcall DllDebugObjectRPCHook(long ptr)
     @ stdcall -private DllGetClassObject (ptr ptr ptr) OLE32_DllGetClassObject
     @ stub DllGetClassObjectWOW
    -@ stdcall -private DllRegisterServer() OLE32_DllRegisterServer
    -@ stdcall -private DllUnregisterServer() OLE32_DllUnregisterServer
    +@ stdcall -private DllRegisterServer()
    +@ stdcall -private DllUnregisterServer()
     @ stdcall DoDragDrop(ptr ptr long ptr)
     @ stub EnableHookObject
     @ stdcall FreePropVariantArray(long ptr)
    diff --git a/reactos/lib/ole32/ole32_main.c b/reactos/lib/ole32/ole32_main.c
    index 1dfa6e7647f..a258d19a2b8 100644
    --- a/reactos/lib/ole32/ole32_main.c
    +++ b/reactos/lib/ole32/ole32_main.c
    @@ -121,7 +121,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
     
         switch(fdwReason) {
         case DLL_PROCESS_ATTACH:
    -        DisableThreadLibraryCalls(hinstDLL);
             OLE32_hInstance = hinstDLL;
             COMPOBJ_InitProcess();
     	if (TRACE_ON(ole)) CoRegisterMallocSpy((LPVOID)-1);
    @@ -132,6 +131,10 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
             COMPOBJ_UninitProcess();
             OLE32_hInstance = 0;
     	break;
    +
    +    case DLL_THREAD_DETACH:
    +        COM_TlsDestroy();
    +        break;
         }
         return TRUE;
     }
    diff --git a/reactos/lib/ole32/ole32_main.h b/reactos/lib/ole32/ole32_main.h
    index a3f5644ccdf..7ea3386052c 100644
    --- a/reactos/lib/ole32/ole32_main.h
    +++ b/reactos/lib/ole32/ole32_main.h
    @@ -29,5 +29,6 @@ extern HINSTANCE OLE32_hInstance;
     
     void COMPOBJ_InitProcess( void );
     void COMPOBJ_UninitProcess( void );
    +void COM_TlsDestroy( void );
     
     #endif /* __WINE_OLE32_MAIN_H */
    diff --git a/reactos/lib/ole32/oleproxy.c b/reactos/lib/ole32/oleproxy.c
    index 5532988d533..951d1660dee 100644
    --- a/reactos/lib/ole32/oleproxy.c
    +++ b/reactos/lib/ole32/oleproxy.c
    @@ -2,6 +2,7 @@
      *	OLE32 proxy/stub handler
      *
      *  Copyright 2002  Marcus Meissner
    + *  Copyright 2001  Ove Kåven, TransGaming Technologies
      *
      * This library is free software; you can redistribute it and/or
      * modify it under the terms of the GNU Lesser General Public
    @@ -176,6 +177,7 @@ CFStub_Invoke(
     	    return hres;
     	}
     	hres = CoMarshalInterface(pStm,&iid,ppv,0,NULL,0);
    +	IUnknown_Release((IUnknown*)ppv);
     	if (hres) {
     	    FIXME("CoMarshalInterface failed, %lx!\n",hres);
     	    msg->cbBuffer = 0;
    @@ -266,8 +268,8 @@ CFStub_Construct(LPRPCSTUBBUFFER *ppv) {
      * the refcount.
      */
     typedef struct _CFProxy {
    -    IClassFactoryVtbl		*lpvtbl_cf;
    -    IRpcProxyBufferVtbl	*lpvtbl_proxy;
    +    const IClassFactoryVtbl		*lpvtbl_cf;
    +    const IRpcProxyBufferVtbl	*lpvtbl_proxy;
         DWORD				ref;
     
         IRpcChannelBuffer			*chanbuf;
    @@ -318,7 +320,7 @@ static void WINAPI IRpcProxyBufferImpl_Disconnect(LPRPCPROXYBUFFER iface) {
     
     static HRESULT WINAPI
     CFProxy_QueryInterface(LPCLASSFACTORY iface,REFIID riid, LPVOID *ppv) {
    -    ICOM_THIS_MULTI(CFProxy,lpvtbl_proxy,iface);
    +    ICOM_THIS_MULTI(CFProxy,lpvtbl_cf,iface);
         if (This->outer_unknown) return IUnknown_QueryInterface(This->outer_unknown, riid, ppv);
         *ppv = NULL;
         if (IsEqualIID(&IID_IClassFactory,riid) || IsEqualIID(&IID_IUnknown,riid)) {
    @@ -444,13 +446,459 @@ CFProxy_Construct(IUnknown *pUnkOuter, LPVOID *ppv,LPVOID *ppProxy) {
     
         cf->lpvtbl_cf	= &cfproxyvt;
         cf->lpvtbl_proxy	= &pspbvtbl;
    -    /* 1 reference for the proxy... */
    +    /* only one reference for the proxy buffer */
         cf->ref		= 1;
         cf->outer_unknown = pUnkOuter;
         *ppv		= &(cf->lpvtbl_cf);
         *ppProxy		= &(cf->lpvtbl_proxy);
    -    /* ...and 1 for the object */
    -    IUnknown_AddRef((IUnknown *)*ppv);
    +    return S_OK;
    +}
    +
    +
    +/********************* IRemUnknown Proxy/Stub ********************************/
    +
    +typedef struct
    +{
    +    const IRpcStubBufferVtbl *lpVtbl;
    +    ULONG refs;
    +    IRemUnknown *iface;
    +} RemUnkStub;
    +
    +static HRESULT WINAPI RemUnkStub_QueryInterface(LPRPCSTUBBUFFER iface,
    +					     REFIID riid,
    +					     LPVOID *obj)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  TRACE("(%p)->QueryInterface(%s,%p)\n",This,debugstr_guid(riid),obj);
    +  if (IsEqualGUID(&IID_IUnknown,riid) ||
    +      IsEqualGUID(&IID_IRpcStubBuffer,riid)) {
    +    *obj = This;
    +    return S_OK;
    +  }
    +  return E_NOINTERFACE;
    +}
    +
    +static ULONG WINAPI RemUnkStub_AddRef(LPRPCSTUBBUFFER iface)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  TRACE("(%p)->AddRef()\n",This);
    +  return InterlockedIncrement(&This->refs);
    +}
    +
    +static ULONG WINAPI RemUnkStub_Release(LPRPCSTUBBUFFER iface)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  ULONG refs;
    +  TRACE("(%p)->Release()\n",This);
    +  refs = InterlockedDecrement(&This->refs);
    +  if (!refs)
    +    HeapFree(GetProcessHeap(), 0, This);
    +  return refs;
    +}
    +
    +static HRESULT WINAPI RemUnkStub_Connect(LPRPCSTUBBUFFER iface,
    +				      LPUNKNOWN lpUnkServer)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  TRACE("(%p)->Connect(%p)\n",This,lpUnkServer);
    +  This->iface = (IRemUnknown*)lpUnkServer;
    +  IRemUnknown_AddRef(This->iface);
    +  return S_OK;
    +}
    +
    +static void WINAPI RemUnkStub_Disconnect(LPRPCSTUBBUFFER iface)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  TRACE("(%p)->Disconnect()\n",This);
    +  IUnknown_Release(This->iface);
    +  This->iface = NULL;
    +}
    +
    +static HRESULT WINAPI RemUnkStub_Invoke(LPRPCSTUBBUFFER iface,
    +				     PRPCOLEMESSAGE pMsg,
    +				     LPRPCCHANNELBUFFER pChannel)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  ULONG iMethod = pMsg->iMethod;
    +  LPBYTE buf = pMsg->Buffer;
    +  HRESULT hr = RPC_E_INVALIDMETHOD;
    +
    +  TRACE("(%p)->Invoke(%p,%p) method %ld\n", This, pMsg, pChannel, iMethod);
    +  switch (iMethod)
    +  {
    +  case 3: /* RemQueryInterface */
    +  {
    +    IPID ipid;
    +    ULONG cRefs;
    +    USHORT cIids;
    +    IID *iids;
    +    REMQIRESULT *pQIResults = NULL;
    +
    +    /* in */
    +    memcpy(&ipid, buf, sizeof(ipid));
    +    buf += sizeof(ipid);
    +    memcpy(&cRefs, buf, sizeof(cRefs));
    +    buf += sizeof(cRefs);
    +    memcpy(&cIids, buf, sizeof(cIids));
    +    buf += sizeof(cIids);
    +    iids = (IID *)buf;
    +
    +    hr = IRemUnknown_RemQueryInterface(This->iface, &ipid, cRefs, cIids, iids, &pQIResults);
    +
    +    /* out */
    +    pMsg->cbBuffer = cIids * sizeof(REMQIRESULT);
    +    if (pMsg->Buffer)
    +        pMsg->Buffer = HeapReAlloc(GetProcessHeap(), 0, pMsg->Buffer, pMsg->cbBuffer);
    +	else
    +        pMsg->Buffer = HeapAlloc(GetProcessHeap(), 0, pMsg->cbBuffer);
    +    buf = pMsg->Buffer;
    +    /* FIXME: pQIResults is a unique pointer so pQIResults can be NULL! */
    +    memcpy(buf, pQIResults, cIids * sizeof(REMQIRESULT));
    +
    +    break;
    +  }
    +  case 4: /* RemAddRef */
    +  {
    +    USHORT cIids;
    +    REMINTERFACEREF *ir;
    +    HRESULT *pResults;
    +
    +    /* in */
    +    memcpy(&cIids, buf, sizeof(USHORT));
    +    buf += sizeof(USHORT);
    +    ir = (REMINTERFACEREF*)buf;
    +    pResults = CoTaskMemAlloc(cIids * sizeof(HRESULT));
    +    if (!pResults) return E_OUTOFMEMORY;
    +
    +    hr = IRemUnknown_RemAddRef(This->iface, cIids, ir, pResults);
    +
    +    /* out */
    +    pMsg->cbBuffer = cIids * sizeof(HRESULT);
    +    if (pMsg->Buffer)
    +        pMsg->Buffer = HeapReAlloc(GetProcessHeap(), 0, pMsg->Buffer, pMsg->cbBuffer);
    +	else
    +        pMsg->Buffer = HeapAlloc(GetProcessHeap(), 0, pMsg->cbBuffer);
    +    buf = pMsg->Buffer;
    +    memcpy(buf, pResults, cIids * sizeof(HRESULT));
    +
    +    CoTaskMemFree(pResults);
    +
    +    break;
    +  }
    +  case 5: /* RemRelease */
    +  {
    +    USHORT cIids;
    +    REMINTERFACEREF *ir;
    +
    +    /* in */
    +    memcpy(&cIids, buf, sizeof(USHORT));
    +    buf += sizeof(USHORT);
    +    ir = (REMINTERFACEREF*)buf;
    +
    +    hr = IRemUnknown_RemRelease(This->iface, cIids, ir);
    +
    +    /* out */
    +    pMsg->cbBuffer = 0;
    +    break;
    +  }
    +  }
    +  return hr;
    +}
    +
    +static LPRPCSTUBBUFFER WINAPI RemUnkStub_IsIIDSupported(LPRPCSTUBBUFFER iface,
    +						     REFIID riid)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  TRACE("(%p)->IsIIDSupported(%s)\n", This, debugstr_guid(riid));
    +  return IsEqualGUID(&IID_IRemUnknown, riid) ? iface : NULL;
    +}
    +
    +static ULONG WINAPI RemUnkStub_CountRefs(LPRPCSTUBBUFFER iface)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  FIXME("(%p)->CountRefs()\n", This);
    +  return 1;
    +}
    +
    +static HRESULT WINAPI RemUnkStub_DebugServerQueryInterface(LPRPCSTUBBUFFER iface,
    +							LPVOID *ppv)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  FIXME("(%p)->DebugServerQueryInterface(%p)\n",This,ppv);
    +  return E_NOINTERFACE;
    +}
    +
    +static void WINAPI RemUnkStub_DebugServerRelease(LPRPCSTUBBUFFER iface,
    +					      LPVOID pv)
    +{
    +  RemUnkStub *This = (RemUnkStub *)iface;
    +  FIXME("(%p)->DebugServerRelease(%p)\n", This, pv);
    +}
    +
    +static const IRpcStubBufferVtbl RemUnkStub_VTable =
    +{
    +  RemUnkStub_QueryInterface,
    +  RemUnkStub_AddRef,
    +  RemUnkStub_Release,
    +  RemUnkStub_Connect,
    +  RemUnkStub_Disconnect,
    +  RemUnkStub_Invoke,
    +  RemUnkStub_IsIIDSupported,
    +  RemUnkStub_CountRefs,
    +  RemUnkStub_DebugServerQueryInterface,
    +  RemUnkStub_DebugServerRelease
    +};
    +
    +static HRESULT RemUnkStub_Construct(IRpcStubBuffer **ppStub)
    +{
    +    RemUnkStub *This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
    +    if (!This) return E_OUTOFMEMORY;
    +    This->lpVtbl = &RemUnkStub_VTable;
    +    This->refs = 0;
    +    This->iface = NULL;
    +    *ppStub = (IRpcStubBuffer*)This;
    +    return S_OK;
    +}
    +
    +
    +typedef struct _RemUnkProxy {
    +    const IRemUnknownVtbl		*lpvtbl_remunk;
    +    const IRpcProxyBufferVtbl	*lpvtbl_proxy;
    +    DWORD				refs;
    +
    +    IRpcChannelBuffer			*chan;
    +    IUnknown *outer_unknown;
    +} RemUnkProxy;
    +
    +static HRESULT WINAPI RemUnkProxy_QueryInterface(LPREMUNKNOWN iface, REFIID riid, void **ppv)
    +{
    +    RemUnkProxy *This = (RemUnkProxy *)iface;
    +    if (This->outer_unknown)
    +        return IUnknown_QueryInterface(This->outer_unknown, riid, ppv);
    +    if (IsEqualIID(riid, &IID_IUnknown) ||
    +        IsEqualIID(riid, &IID_IRemUnknown))
    +    {
    +        IRemUnknown_AddRef(iface);
    +        *ppv = (LPVOID)iface;
    +        return S_OK;
    +    }
    +    return E_NOINTERFACE;
    +}
    +
    +static ULONG WINAPI RemUnkProxy_AddRef(LPREMUNKNOWN iface)
    +{
    +  RemUnkProxy *This = (RemUnkProxy *)iface;
    +
    +  TRACE("(%p)->AddRef()\n",This);
    +  return InterlockedIncrement(&This->refs);
    +}
    +
    +static ULONG WINAPI RemUnkProxy_Release(LPREMUNKNOWN iface)
    +{
    +  RemUnkProxy *This = (RemUnkProxy *)iface;
    +  ULONG refs;
    +
    +  TRACE("(%p)->Release()\n",This);
    +  if (This->outer_unknown)
    +      refs = IUnknown_Release(This->outer_unknown);
    +  else    
    +      refs = InterlockedDecrement(&This->refs);
    +
    +  if (!refs) {
    +      if (This->chan) IRpcChannelBuffer_Release(This->chan);
    +      HeapFree(GetProcessHeap(),0,This);
    +  }
    +  return refs;
    +}
    +
    +static HRESULT WINAPI RemUnkProxy_RemQueryInterface(LPREMUNKNOWN iface,
    +						 REFIPID ripid,
    +						 ULONG cRefs,
    +						 USHORT cIids,
    +						 IID* iids,
    +						 REMQIRESULT** ppQIResults)
    +{
    +  RemUnkProxy *This = (RemUnkProxy *)iface;
    +  RPCOLEMESSAGE msg;
    +  HRESULT hr = S_OK;
    +  ULONG status;
    +
    +  TRACE("(%p)->(%s,%ld,%d,%p,%p)\n",This,
    +	debugstr_guid(ripid),cRefs,cIids,iids,ppQIResults);
    +
    +  *ppQIResults = NULL;
    +  memset(&msg, 0, sizeof(msg));
    +  msg.iMethod = 3;
    +  msg.cbBuffer = sizeof(IPID) + sizeof(ULONG) +
    +    sizeof(USHORT) + cIids*sizeof(IID);
    +  hr = IRpcChannelBuffer_GetBuffer(This->chan, &msg, &IID_IRemUnknown);
    +  if (SUCCEEDED(hr)) {
    +    LPBYTE buf = msg.Buffer;
    +    memcpy(buf, ripid, sizeof(IPID));
    +    buf += sizeof(IPID);
    +    memcpy(buf, &cRefs, sizeof(ULONG));
    +    buf += sizeof(ULONG);
    +    memcpy(buf, &cIids, sizeof(USHORT));
    +    buf += sizeof(USHORT);
    +    memcpy(buf, iids, cIids*sizeof(IID));
    +
    +    hr = IRpcChannelBuffer_SendReceive(This->chan, &msg, &status);
    +
    +    if (SUCCEEDED(hr)) {
    +      buf = msg.Buffer;
    +      *ppQIResults = CoTaskMemAlloc(cIids*sizeof(REMQIRESULT));
    +      memcpy(*ppQIResults, buf, cIids*sizeof(REMQIRESULT));
    +    }
    +
    +    IRpcChannelBuffer_FreeBuffer(This->chan, &msg);
    +  }
    +
    +  return hr;
    +}
    +
    +static HRESULT WINAPI RemUnkProxy_RemAddRef(LPREMUNKNOWN iface,
    +					 USHORT cInterfaceRefs,
    +					 REMINTERFACEREF* InterfaceRefs,
    +					 HRESULT* pResults)
    +{
    +  RemUnkProxy *This = (RemUnkProxy *)iface;
    +  RPCOLEMESSAGE msg;
    +  HRESULT hr = S_OK;
    +  ULONG status;
    +
    +  TRACE("(%p)->(%d,%p,%p)\n",This,
    +	cInterfaceRefs,InterfaceRefs,pResults);
    +
    +  memset(&msg, 0, sizeof(msg));
    +  msg.iMethod = 4;
    +  msg.cbBuffer = sizeof(USHORT) + cInterfaceRefs*sizeof(REMINTERFACEREF);
    +  hr = IRpcChannelBuffer_GetBuffer(This->chan, &msg, &IID_IRemUnknown);
    +  if (SUCCEEDED(hr)) {
    +    LPBYTE buf = msg.Buffer;
    +    memcpy(buf, &cInterfaceRefs, sizeof(USHORT));
    +    buf += sizeof(USHORT);
    +    memcpy(buf, InterfaceRefs, cInterfaceRefs*sizeof(REMINTERFACEREF));
    +
    +    hr = IRpcChannelBuffer_SendReceive(This->chan, &msg, &status);
    +
    +    if (SUCCEEDED(hr)) {
    +      buf = msg.Buffer;
    +      memcpy(pResults, buf, cInterfaceRefs*sizeof(HRESULT));
    +    }
    +
    +    IRpcChannelBuffer_FreeBuffer(This->chan, &msg);
    +  }
    +
    +  return hr;
    +}
    +
    +static HRESULT WINAPI RemUnkProxy_RemRelease(LPREMUNKNOWN iface,
    +					  USHORT cInterfaceRefs,
    +					  REMINTERFACEREF* InterfaceRefs)
    +{
    +  RemUnkProxy *This = (RemUnkProxy *)iface;
    +  RPCOLEMESSAGE msg;
    +  HRESULT hr = S_OK;
    +  ULONG status;
    +
    +  TRACE("(%p)->(%d,%p)\n",This,
    +	cInterfaceRefs,InterfaceRefs);
    +
    +  memset(&msg, 0, sizeof(msg));
    +  msg.iMethod = 5;
    +  msg.cbBuffer = sizeof(USHORT) + cInterfaceRefs*sizeof(REMINTERFACEREF);
    +  hr = IRpcChannelBuffer_GetBuffer(This->chan, &msg, &IID_IRemUnknown);
    +  if (SUCCEEDED(hr)) {
    +    LPBYTE buf = msg.Buffer;
    +    memcpy(buf, &cInterfaceRefs, sizeof(USHORT));
    +    buf += sizeof(USHORT);
    +    memcpy(buf, InterfaceRefs, cInterfaceRefs*sizeof(REMINTERFACEREF));
    +
    +    hr = IRpcChannelBuffer_SendReceive(This->chan, &msg, &status);
    +
    +    IRpcChannelBuffer_FreeBuffer(This->chan, &msg);
    +  }
    +
    +  return hr;
    +}
    +
    +static const IRemUnknownVtbl RemUnkProxy_VTable =
    +{
    +  RemUnkProxy_QueryInterface,
    +  RemUnkProxy_AddRef,
    +  RemUnkProxy_Release,
    +  RemUnkProxy_RemQueryInterface,
    +  RemUnkProxy_RemAddRef,
    +  RemUnkProxy_RemRelease
    +};
    +
    +
    +static HRESULT WINAPI RURpcProxyBufferImpl_QueryInterface(LPRPCPROXYBUFFER iface,REFIID riid,LPVOID *ppv) {
    +    *ppv = NULL;
    +    if (IsEqualIID(riid,&IID_IRpcProxyBuffer)||IsEqualIID(riid,&IID_IUnknown)) {
    +	IRpcProxyBuffer_AddRef(iface);
    +	*ppv = (LPVOID)iface;
    +	return S_OK;
    +    }
    +    FIXME("(%s), no interface.\n",debugstr_guid(riid));
    +    return E_NOINTERFACE;
    +}
    +
    +static ULONG WINAPI RURpcProxyBufferImpl_AddRef(LPRPCPROXYBUFFER iface) {
    +    ICOM_THIS_MULTI(RemUnkProxy,lpvtbl_proxy,iface);
    +    return InterlockedIncrement(&This->refs);
    +}
    +
    +static ULONG WINAPI RURpcProxyBufferImpl_Release(LPRPCPROXYBUFFER iface) {
    +    ICOM_THIS_MULTI(RemUnkProxy,lpvtbl_proxy,iface);
    +    ULONG ref = InterlockedDecrement(&This->refs);
    +
    +    if (!ref) {
    +	IRpcChannelBuffer_Release(This->chan);This->chan = NULL;
    +	HeapFree(GetProcessHeap(),0,This);
    +    }
    +    return ref;
    +}
    +
    +static HRESULT WINAPI RURpcProxyBufferImpl_Connect(LPRPCPROXYBUFFER iface,IRpcChannelBuffer* pRpcChannelBuffer) {
    +    ICOM_THIS_MULTI(RemUnkProxy,lpvtbl_proxy,iface);
    +
    +    This->chan = pRpcChannelBuffer;
    +    IRpcChannelBuffer_AddRef(This->chan);
    +    return S_OK;
    +}
    +static void WINAPI RURpcProxyBufferImpl_Disconnect(LPRPCPROXYBUFFER iface) {
    +    ICOM_THIS_MULTI(RemUnkProxy,lpvtbl_proxy,iface);
    +    if (This->chan) {
    +	IRpcChannelBuffer_Release(This->chan);
    +	This->chan = NULL;
    +    }
    +}
    +
    +
    +static const IRpcProxyBufferVtbl RURpcProxyBuffer_VTable = {
    +    RURpcProxyBufferImpl_QueryInterface,
    +    RURpcProxyBufferImpl_AddRef,
    +    RURpcProxyBufferImpl_Release,
    +    RURpcProxyBufferImpl_Connect,
    +    RURpcProxyBufferImpl_Disconnect
    +};
    +
    +static HRESULT
    +RemUnkProxy_Construct(IUnknown *pUnkOuter, LPVOID *ppv,LPVOID *ppProxy) {
    +    RemUnkProxy *This;
    +
    +    This = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(*This));
    +    if (!This)
    +	return E_OUTOFMEMORY;
    +
    +    This->lpvtbl_remunk	= &RemUnkProxy_VTable;
    +    This->lpvtbl_proxy	= &RURpcProxyBuffer_VTable;
    +    /* only one reference for the proxy buffer */
    +    This->refs		= 1;
    +    This->outer_unknown = pUnkOuter;
    +    *ppv		= &(This->lpvtbl_remunk);
    +    *ppProxy		= &(This->lpvtbl_proxy);
         return S_OK;
     }
     
    @@ -475,10 +923,10 @@ PSFacBuf_CreateProxy(
         LPPSFACTORYBUFFER iface, IUnknown* pUnkOuter, REFIID riid,
         IRpcProxyBuffer **ppProxy, LPVOID *ppv
     ) {
    -    if (IsEqualIID(&IID_IClassFactory,riid) ||
    -	IsEqualIID(&IID_IUnknown,riid)
    -    )
    +    if (IsEqualIID(&IID_IClassFactory,riid))
     	return CFProxy_Construct(pUnkOuter, ppv,(LPVOID*)ppProxy);
    +    else if (IsEqualIID(&IID_IRemUnknown,riid))
    +	return RemUnkProxy_Construct(pUnkOuter, ppv,(LPVOID*)ppProxy);
         FIXME("proxying not implemented for (%s) yet!\n",debugstr_guid(riid));
         return E_FAIL;
     }
    @@ -492,13 +940,17 @@ PSFacBuf_CreateStub(
     
         TRACE("(%s,%p,%p)\n",debugstr_guid(riid),pUnkServer,ppStub);
     
    -    if (IsEqualIID(&IID_IClassFactory,riid) ||
    -        IsEqualIID(&IID_IUnknown,riid)
    -    ) {
    +    if (IsEqualIID(&IID_IClassFactory, riid) ||
    +        IsEqualIID(&IID_IUnknown, riid) /* FIXME: fixup stub manager and remove this*/) {
     	hres = CFStub_Construct(ppStub);
     	if (!hres)
     	    IRpcStubBuffer_Connect((*ppStub),pUnkServer);
     	return hres;
    +    } else if (IsEqualIID(&IID_IRemUnknown,riid)) {
    +	hres = RemUnkStub_Construct(ppStub);
    +	if (!hres)
    +	    IRpcStubBuffer_Connect((*ppStub),pUnkServer);
    +	return hres;
         }
         FIXME("stubbing not implemented for (%s) yet!\n",debugstr_guid(riid));
         return E_FAIL;
    diff --git a/reactos/lib/ole32/regsvr.c b/reactos/lib/ole32/regsvr.c
    index 5f6a699b3ec..c4083c9824d 100644
    --- a/reactos/lib/ole32/regsvr.c
    +++ b/reactos/lib/ole32/regsvr.c
    @@ -28,7 +28,9 @@
     #include "winuser.h"
     #include "winreg.h"
     #include "winerror.h"
    +#include "objbase.h"
     
    +#include "compobj_private.h"
     #include "ole2.h"
     #include "olectl.h"
     
    @@ -448,396 +450,27 @@ static struct regsvr_coclass const coclass_list[] = {
      *		interface list
      */
     
    -/* FIXME: perhaps the interfaces that are proxied by another dll
    - * should be registered in that dll?  Or maybe the choice of proxy is
    - * arbitrary at this point? */
    -
    -static GUID const CLSID_PSFactoryBuffer_ole2disp = {
    -    0x00020420, 0x0000, 0x0000, {0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} };
    -
    -static GUID const CLSID_PSFactoryBuffer_oleaut32 = {
    -    0xB196B286, 0xBAB4, 0x101A, {0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07} };
    -
    -/* FIXME: these interfaces should be defined in ocidl.idl */
    -
    -static IID const IID_IFontEventsDisp = {
    -    0x4EF6100A, 0xAF88, 0x11D0, {0x98,0x46,0x00,0xC0,0x4F,0xC2,0x99,0x93} };
    -
    -static IID const IID_IProvideMultipleClassInfo = {
    -    0xA7ABA9C1, 0x8983, 0x11CF, {0x8F,0x20,0x00,0x80,0x5F,0x2C,0xD0,0x64} };
    +#define INTERFACE_ENTRY(interface, base, clsid32, clsid16) { &IID_##interface, #interface, base, sizeof(interface##Vtbl)/sizeof(void*), clsid16, clsid32 }
    +#define STD_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, &CLSID_PSFactoryBuffer, NULL)
     
     static struct regsvr_interface const interface_list[] = {
    -    {   &IID_IUnknown,
    -	"IUnknown",
    -	NULL,
    -	3,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IClassFactory,
    -	"IClassFactory",
    -	NULL,
    -	5,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IStorage,
    -	"IStorage",
    -	NULL,
    -	18,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IStream,
    -	"IStream",
    -	NULL,
    -	14,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IPersistStorage,
    -	"IPersistStorage",
    -	&IID_IPersist,
    -	10,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IDataObject,
    -	"IDataObject",
    -	NULL,
    -	12,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IAdviseSink,
    -	"IAdviseSink",
    -	NULL,
    -	8,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IOleObject,
    -	"IOleObject",
    -	NULL,
    -	24,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IOleClientSite,
    -	"IOleClientSite",
    -	NULL,
    -	9,
    -	NULL,
    -	&CLSID_PSFactoryBuffer
    -    },
    -    {   &IID_IDispatch,
    -	"IDispatch",
    -	NULL,
    -	7,
    -	&CLSID_PSFactoryBuffer_ole2disp,
    -	&CLSID_PSFactoryBuffer_ole2disp
    -    },
    -    {   &IID_ITypeLib2,
    -	"ITypeLib2",
    -	NULL,
    -	16,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_ole2disp
    -    },
    -    {   &IID_ITypeInfo2,
    -	"ITypeInfo2",
    -	NULL,
    -	32,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_ole2disp
    -    },
    -    {   &IID_IPropertyPage2,
    -	"IPropertyPage2",
    -	NULL,
    -	15,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IErrorInfo,
    -	"IErrorInfo",
    -	NULL,
    -	8,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_ICreateErrorInfo,
    -	"ICreateErrorInfo",
    -	NULL,
    -	8,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPersistPropertyBag2,
    -	"IPersistPropertyBag2",
    -	NULL,
    -	8,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPropertyBag2,
    -	"IPropertyBag2",
    -	NULL,
    -	8,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IErrorLog,
    -	"IErrorLog",
    -	NULL,
    -	4,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPerPropertyBrowsing,
    -	"IPerPropertyBrowsing",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPersistPropertyBag,
    -	"IPersistPropertyBag",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IAdviseSinkEx,
    -	"IAdviseSinkEx",
    -	NULL,
    -	9,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IFontEventsDisp,
    -	"IFontEventsDisp",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPropertyBag,
    -	"IPropertyBag",
    -	NULL,
    -	5,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPointerInactive,
    -	"IPointerInactive",
    -	NULL,
    -	6,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_ISimpleFrameSite,
    -	"ISimpleFrameSite",
    -	NULL,
    -	5,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPicture,
    -	"IPicture",
    -	NULL,
    -	17,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPictureDisp,
    -	"IPictureDisp",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPersistStreamInit,
    -	"IPersistStreamInit",
    -	NULL,
    -	9,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IOleUndoUnit,
    -	"IOleUndoUnit",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPropertyNotifySink,
    -	"IPropertyNotifySink",
    -	NULL,
    -	5,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IOleInPlaceSiteEx,
    -	"IOleInPlaceSiteEx",
    -	NULL,
    -	18,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IOleParentUndoUnit,
    -	"IOleParentUndoUnit",
    -	NULL,
    -	12,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IProvideClassInfo2,
    -	"IProvideClassInfo2",
    -	NULL,
    -	5,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IProvideMultipleClassInfo,
    -	"IProvideMultipleClassInfo",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IProvideClassInfo,
    -	"IProvideClassInfo",
    -	NULL,
    -	4,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IConnectionPointContainer,
    -	"IConnectionPointContainer",
    -	NULL,
    -	5,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IEnumConnectionPoints,
    -	"IEnumConnectionPoints",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IConnectionPoint,
    -	"IConnectionPoint",
    -	NULL,
    -	8,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IEnumConnections,
    -	"IEnumConnections",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IOleControl,
    -	"IOleControl",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IOleControlSite,
    -	"IOleControlSite",
    -	NULL,
    -	10,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_ISpecifyPropertyPages,
    -	"ISpecifyPropertyPages",
    -	NULL,
    -	4,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPropertyPageSite,
    -	"IPropertyPageSite",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPropertyPage,
    -	"IPropertyPage",
    -	NULL,
    -	14,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IClassFactory2,
    -	"IClassFactory2",
    -	NULL,
    -	8,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IEnumOleUndoUnits,
    -	"IEnumOleUndoUnits",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IPersistMemory,
    -	"IPersistMemory",
    -	NULL,
    -	9,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IFont,
    -	"IFont",
    -	NULL,
    -	27,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IFontDisp,
    -	"IFontDisp",
    -	NULL,
    -	7,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IQuickActivate,
    -	"IQuickActivate",
    -	NULL,
    -	6,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IOleUndoManager,
    -	"IOleUndoManager",
    -	NULL,
    -	15,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    -    {   &IID_IObjectWithSite,
    -	"IObjectWithSite",
    -	NULL,
    -	5,
    -	NULL,
    -	&CLSID_PSFactoryBuffer_oleaut32
    -    },
    +    STD_INTERFACE_ENTRY(IUnknown),
    +    STD_INTERFACE_ENTRY(IClassFactory),
    +    STD_INTERFACE_ENTRY(IStorage),
    +    STD_INTERFACE_ENTRY(IStream ),
    +    STD_INTERFACE_ENTRY(IPersistStorage),
    +    STD_INTERFACE_ENTRY(IDataObject),
    +    STD_INTERFACE_ENTRY(IAdviseSink),
    +    STD_INTERFACE_ENTRY(IOleObject),
    +    STD_INTERFACE_ENTRY(IOleClientSite),
    +    STD_INTERFACE_ENTRY(IRemUnknown),
         { NULL }			/* list terminator */
     };
     
     /***********************************************************************
      *		DllRegisterServer (OLE32.@)
      */
    -HRESULT WINAPI OLE32_DllRegisterServer()
    +HRESULT WINAPI DllRegisterServer()
     {
         HRESULT hr;
     
    @@ -852,7 +485,7 @@ HRESULT WINAPI OLE32_DllRegisterServer()
     /***********************************************************************
      *		DllUnregisterServer (OLE32.@)
      */
    -HRESULT WINAPI OLE32_DllUnregisterServer()
    +HRESULT WINAPI DllUnregisterServer()
     {
         HRESULT hr;
     
    diff --git a/reactos/lib/ole32/rpc.c b/reactos/lib/ole32/rpc.c
    index 158016fab20..e7262045a32 100644
    --- a/reactos/lib/ole32/rpc.c
    +++ b/reactos/lib/ole32/rpc.c
    @@ -1,7 +1,8 @@
     /*
      *	(Local) RPC Stuff
      *
    - *  Copyright 2002  Marcus Meissner
    + * Copyright 2002  Marcus Meissner
    + * Copyright 2005  Mike Hearn, Rob Shearman for CodeWeavers
      *
      * This library is free software; you can redistribute it and/or
      * modify it under the terms of the GNU Lesser General Public
    @@ -52,26 +53,22 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole);
     #define OLESTUBMGR PIPEPREF"WINE_OLE_StubMgr"
     
     #define REQTYPE_REQUEST		0
    -typedef struct _wine_rpc_request_header {
    +#define REQTYPE_RESPONSE	1
    +
    +struct request_header
    +{
         DWORD		reqid;
    -    wine_marshal_id	mid;
    +    IPID		ipid;
         DWORD		iMethod;
         DWORD		cbBuffer;
    -} wine_rpc_request_header;
    +};
     
    -#define REQTYPE_RESPONSE	1
    -typedef struct _wine_rpc_response_header {
    +struct response_header
    +{
         DWORD		reqid;
         DWORD		cbBuffer;
         DWORD		retval;
    -} wine_rpc_response_header;
    -
    -/* used when shutting down a pipe, e.g. at the end of a process */
    -#define REQTYPE_DISCONNECT	2
    -typedef struct _wine_rpc_disconnect_header {
    -  DWORD reqid;
    -  wine_marshal_id mid; /* mid of stub to delete */
    -} wine_rpc_disconnect_header;
    +};
     
     
     #define REQSTATE_START			0
    @@ -83,22 +80,25 @@ typedef struct _wine_rpc_disconnect_header {
     #define REQSTATE_RESP_GOT		6
     #define REQSTATE_DONE			6
     
    -typedef struct _wine_rpc_request {
    +struct rpc
    +{
         int				state;
         HANDLE			hPipe;	/* temp copy of handle */
    -    wine_rpc_request_header	reqh;
    -    wine_rpc_response_header	resph;
    +    struct request_header	reqh;
    +    struct response_header	resph;
         LPBYTE			Buffer;
    -} wine_rpc_request;
    +};
     
    -static wine_rpc_request **reqs = NULL;
    +/* fixme: this should have a lock */
    +static struct rpc **reqs = NULL;
     static int nrofreqs = 0;
     
     /* This pipe is _thread_ based, each thread which talks to a remote
    - * apartment (mid) has its own pipe. The same structure is used both
    + * apartment (oxid) has its own pipe. The same structure is used both
      * for outgoing and incoming RPCs.
      */
    -typedef struct _wine_pipe {
    +struct pipe
    +{
         wine_marshal_id	mid;	/* target mid */
         DWORD		tid;	/* thread which owns this pipe */
         HANDLE		hPipe;
    @@ -108,60 +108,43 @@ typedef struct _wine_pipe {
         CRITICAL_SECTION	crit;
     
         APARTMENT          *apt;    /* apartment of the marshalling thread for the stub dispatch case */
    -} wine_pipe;
    -
    -#define MAX_WINE_PIPES 256
    -
    -static wine_pipe pipes[MAX_WINE_PIPES];
    -static int nrofpipes = 0;
    +};
     
     typedef struct _PipeBuf {
    -    IRpcChannelBufferVtbl	*lpVtbl;
    -    DWORD				ref;
    +    IRpcChannelBufferVtbl *lpVtbl;
    +    DWORD                  ref;
     
    -    wine_marshal_id			mid;
    +    wine_marshal_id        mid;
    +    HANDLE                 pipe;
     } PipeBuf;
     
    -static HRESULT WINAPI
    -read_pipe(HANDLE hf, LPVOID ptr, DWORD size) {
    +
    +
    +/* some helper functions */
    +
    +static HRESULT WINAPI read_pipe(HANDLE hf, LPVOID ptr, DWORD size)
    +{
         DWORD res;
    -    if (!ReadFile(hf,ptr,size,&res,NULL)) {
    -	FIXME("Failed to read from %p, le is %ld\n",hf,GetLastError());
    -	return E_FAIL;
    +    
    +    if (!ReadFile(hf,ptr,size,&res,NULL))
    +    {
    +        ERR("Failed to read from %p, le is %ld\n",hf,GetLastError());
    +        return E_FAIL;
         }
    -    if (res!=size) {
    -	FIXME("Read only %ld of %ld bytes from %p.\n",res,size,hf);
    -	return E_FAIL;
    +    
    +    if (res != size)
    +    {
    +        if (!res)
    +        {
    +           WARN("%p disconnected\n", hf);
    +           return RPC_E_DISCONNECTED;
    +        }
    +        ERR("Read only %ld of %ld bytes from %p.\n",res,size,hf);
    +        return E_FAIL;
         }
         return S_OK;
     }
     
    -static void
    -drs(LPCSTR where) {
    -#if 0
    -    static int nrofreaders = 0;
    -
    -    int i, states[10];
    -
    -    memset(states,0,sizeof(states));
    -    for (i=nrofreqs;i--;)
    -	states[reqs[i]->state]++;
    -    FIXME("%lx/%s/%d: rq %d, w %d, rg %d, rsq %d, rsg %d, d %d\n",
    -	    GetCurrentProcessId(),
    -	    where,
    -	    nrofreaders,
    -	    states[REQSTATE_REQ_QUEUED],
    -	    states[REQSTATE_REQ_WAITING_FOR_REPLY],
    -	    states[REQSTATE_REQ_GOT],
    -	    states[REQSTATE_RESP_QUEUED],
    -	    states[REQSTATE_RESP_GOT],
    -	    states[REQSTATE_DONE]
    -    );
    -#endif
    -
    -    return ;
    -}
    -
     static HRESULT WINAPI
     write_pipe(HANDLE hf, LPVOID ptr, DWORD size) {
         DWORD res;
    @@ -176,106 +159,77 @@ write_pipe(HANDLE hf, LPVOID ptr, DWORD size) {
         return S_OK;
     }
     
    -static DWORD WINAPI stub_dispatch_thread(LPVOID);
    -
    -static HRESULT
    -PIPE_RegisterPipe(wine_marshal_id *mid, HANDLE hPipe, BOOL startreader) {
    -  int	i;
    -  char	pipefn[100];
    -
    -  for (i=0;ioxid)
    -      return S_OK;
    -  if (nrofpipes + 1 >= MAX_WINE_PIPES)
    -  {
    -    FIXME("Out of pipes, please increase MAX_WINE_PIPES\n");
    -    return E_OUTOFMEMORY;
    -  }
    -  sprintf(pipefn,OLESTUBMGR"_%08lx%08lx",(DWORD)(mid->oxid >> 32),(DWORD)mid->oxid);
    -  memcpy(&(pipes[nrofpipes].mid),mid,sizeof(*mid));
    -  pipes[nrofpipes].hPipe	= hPipe;
    -  pipes[nrofpipes].apt          = COM_CurrentApt();
    -  assert( pipes[nrofpipes].apt );
    -  InitializeCriticalSection(&(pipes[nrofpipes].crit));
    -  nrofpipes++;
    -  if (startreader) {
    -      pipes[nrofpipes-1].hThread = CreateThread(NULL,0,stub_dispatch_thread,(LPVOID)(pipes+(nrofpipes-1)),0,&(pipes[nrofpipes-1].tid));
    -  } else {
    -      pipes[nrofpipes-1].tid	 = GetCurrentThreadId();
    -  }
    -  return S_OK;
    +static HANDLE dupe_handle(HANDLE h)
    +{
    +    HANDLE h2;
    +    
    +    if (!DuplicateHandle(GetCurrentProcess(), h, GetCurrentProcess(),
    +                         &h2, 0, FALSE, DUPLICATE_SAME_ACCESS))
    +    {
    +        ERR("could not duplicate handle: %ld\n", GetLastError());
    +        return INVALID_HANDLE_VALUE;
    +    }
    +    
    +    return h2;
     }
     
    -static HANDLE
    -PIPE_FindByMID(wine_marshal_id *mid) {
    -  int i;
    -  for (i=0;ioxid) &&
    -	(GetCurrentThreadId()==pipes[i].tid)
    -    )
    -      return pipes[i].hPipe;
    -  return INVALID_HANDLE_VALUE;
    -}
     
    -static wine_pipe*
    -PIPE_GetFromMID(wine_marshal_id *mid) {
    -  int i;
    -  for (i=0;ioxid) &&
    -	(GetCurrentThreadId()==pipes[i].tid)
    -    )
    -      return pipes+i;
    -  }
    -  return NULL;
    -}
     
    -static HRESULT
    -RPC_GetRequest(wine_rpc_request **req) {
    -    static int reqid = 0xdeadbeef;
    +
    +static DWORD WINAPI client_dispatch_thread(LPVOID);
    +
    +/* FIXME: this all needs to be made thread safe */
    +static HRESULT RPC_GetRequest(struct rpc **req)
    +{
    +    static int reqid = 0;
         int i;
     
    -    for (i=0;istate == REQSTATE_DONE) {
    -	    reqs[i]->reqh.reqid = reqid++;
    -	    reqs[i]->resph.reqid = reqs[i]->reqh.reqid;
    -	    reqs[i]->hPipe = INVALID_HANDLE_VALUE;
    -	    *req = reqs[i];
    -	    reqs[i]->state = REQSTATE_START;
    -	    return S_OK;
    -	}
    +    /* try to reuse */
    +    for (i = 0; i < nrofreqs; i++)
    +    {
    +        if (reqs[i]->state == REQSTATE_DONE)
    +        {
    +            TRACE("reusing reqs[%d]\n", i);
    +            
    +            reqs[i]->reqh.reqid  = reqid++;
    +            reqs[i]->resph.reqid = reqs[i]->reqh.reqid;
    +            reqs[i]->hPipe = INVALID_HANDLE_VALUE;
    +            reqs[i]->state = REQSTATE_START;
    +            *req = reqs[i];
    +            return S_OK;
    +        }
         }
    -    /* create new */
    +    
    +    TRACE("creating new struct rpc (request)\n");
    +    
         if (reqs)
    -	reqs = (wine_rpc_request**)HeapReAlloc(
    +	reqs = (struct rpc**)HeapReAlloc(
     			GetProcessHeap(),
     			HEAP_ZERO_MEMORY,
     			reqs,
    -			sizeof(wine_rpc_request*)*(nrofreqs+1)
    +			sizeof(struct rpc*)*(nrofreqs+1)
     		);
         else
    -	reqs = (wine_rpc_request**)HeapAlloc(
    +	reqs = (struct rpc**)HeapAlloc(
     			GetProcessHeap(),
     			HEAP_ZERO_MEMORY,
    -			sizeof(wine_rpc_request*)
    +			sizeof(struct rpc*)
     		);
    -    if (!reqs)
    -	return E_OUTOFMEMORY;
    -    reqs[nrofreqs] = (wine_rpc_request*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(wine_rpc_request));
    +    
    +    if (!reqs) return E_OUTOFMEMORY;
    +    
    +    reqs[nrofreqs] = (struct rpc*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(struct rpc));
         reqs[nrofreqs]->reqh.reqid = reqid++;
         reqs[nrofreqs]->resph.reqid = reqs[nrofreqs]->reqh.reqid;
         reqs[nrofreqs]->hPipe = INVALID_HANDLE_VALUE;
    -    *req = reqs[nrofreqs];
         reqs[nrofreqs]->state = REQSTATE_START;
    +    *req = reqs[nrofreqs];
    +    
         nrofreqs++;
    +    
         return S_OK;
     }
     
    -static void
    -RPC_FreeRequest(wine_rpc_request *req) {
    -    req->state = REQSTATE_DONE; /* Just reuse slot. */
    -    return;
    -}
    -
     static HRESULT WINAPI
     PipeBuf_QueryInterface(
         LPRPCCHANNELBUFFER iface,REFIID riid,LPVOID *ppv
    @@ -299,33 +253,19 @@ static ULONG WINAPI
     PipeBuf_Release(LPRPCCHANNELBUFFER iface) {
         PipeBuf *This = (PipeBuf *)iface;
         ULONG ref;
    -    wine_rpc_disconnect_header header;
    -    HANDLE pipe;
    -    DWORD reqtype = REQTYPE_DISCONNECT;
     
         ref = InterlockedDecrement(&This->ref);
         if (ref)
     	return ref;
     
    -    memcpy(&header.mid, &This->mid, sizeof(wine_marshal_id));
    -
    -    pipe = PIPE_FindByMID(&This->mid);
    -
    -    write_pipe(pipe, &reqtype, sizeof(reqtype));
    -    write_pipe(pipe, &header, sizeof(wine_rpc_disconnect_header));
    -
    -    TRACE("written disconnect packet\n");
    -
    +    CloseHandle(This->pipe);
         HeapFree(GetProcessHeap(),0,This);
         return 0;
     }
     
     static HRESULT WINAPI
    -PipeBuf_GetBuffer(
    -    LPRPCCHANNELBUFFER iface,RPCOLEMESSAGE* msg,REFIID riid
    -) {
    -    /*PipeBuf *This = (PipeBuf *)iface;*/
    -
    +PipeBuf_GetBuffer(LPRPCCHANNELBUFFER iface,RPCOLEMESSAGE* msg,REFIID riid)
    +{
         TRACE("(%p,%s)\n",msg,debugstr_guid(riid));
         /* probably reuses IID in real. */
         if (msg->cbBuffer && (msg->Buffer == NULL))
    @@ -334,17 +274,15 @@ PipeBuf_GetBuffer(
     }
     
     static HRESULT
    -COM_InvokeAndRpcSend(wine_rpc_request *req) {
    +COM_InvokeAndRpcSend(struct rpc *req) {
         IRpcStubBuffer     *stub;
         RPCOLEMESSAGE	msg;
         HRESULT		hres;
         DWORD		reqtype;
     
    -    if (!(stub = mid_to_stubbuffer(&(req->reqh.mid))))
    -    {
    -	ERR("Stub not found?\n");
    -	return E_FAIL;
    -    }
    +    if (!(stub = ipid_to_stubbuffer(&(req->reqh.ipid))))
    +        /* ipid_to_stubbuffer will already have logged the error */
    +        return RPC_E_DISCONNECTED;
     
         IUnknown_AddRef(stub);
         msg.Buffer		= req->Buffer;
    @@ -364,25 +302,19 @@ COM_InvokeAndRpcSend(wine_rpc_request *req) {
         hres = write_pipe(req->hPipe,req->Buffer,req->resph.cbBuffer);
         if (hres) return hres;
         req->state = REQSTATE_DONE;
    -    drs("invoke");
         return S_OK;
     }
     
    -static HRESULT COM_RpcReceive(wine_pipe *xpipe);
    +static HRESULT process_incoming_rpc(HANDLE pipe);
     
    -static HRESULT
    -RPC_QueueRequestAndWait(wine_rpc_request *req) {
    -    int			i;
    -    wine_rpc_request	*xreq;
    -    HRESULT		hres;
    -    DWORD		reqtype;
    -    wine_pipe		*xpipe = PIPE_GetFromMID(&(req->reqh.mid));
    +static HRESULT RPC_QueueRequestAndWait(struct rpc *req, HANDLE pipe)
    +{
    +    int                 i;
    +    struct rpc         *xreq;
    +    HRESULT             hres;
    +    DWORD               reqtype;
     
    -    if (!xpipe) {
    -	FIXME("no pipe found.\n");
    -	return E_POINTER;
    -    }
    -    req->hPipe = xpipe->hPipe;
    +    req->hPipe = pipe;
         req->state = REQSTATE_REQ_WAITING_FOR_REPLY;
         reqtype = REQTYPE_REQUEST;
         hres = write_pipe(req->hPipe,&reqtype,sizeof(reqtype));
    @@ -395,7 +327,7 @@ RPC_QueueRequestAndWait(wine_rpc_request *req) {
         /* This loop is about allowing re-entrancy. While waiting for the
          * response to one RPC we may receive a request starting another. */
         while (!hres) {
    -	hres = COM_RpcReceive(xpipe);
    +	hres = process_incoming_rpc(pipe);
     	if (hres) break;
     
     	for (i=0;imid.oxid == COM_CurrentApt()->oxid) {
     	ERR("Need to call directly!\n");
    @@ -432,37 +361,44 @@ PipeBuf_SendReceive(
         if (hres) return hres;
         req->reqh.iMethod	= msg->iMethod;
         req->reqh.cbBuffer	= msg->cbBuffer;
    -    memcpy(&(req->reqh.mid),&(This->mid),sizeof(This->mid));
    +    req->reqh.ipid = This->mid.ipid;
         req->Buffer = msg->Buffer;
    -    hres = RPC_QueueRequestAndWait(req);
    -    if (hres) {
    -	RPC_FreeRequest(req);
    +    TRACE(" ->    rpc   ->\n");
    +    hres = RPC_QueueRequestAndWait(req, This->pipe);
    +    TRACE(" <- response <-\n");
    +    if (hres)
    +    {
    +        req->state = REQSTATE_DONE;
     	return hres;
         }
    -    msg->cbBuffer	= req->resph.cbBuffer;
    -    msg->Buffer		= req->Buffer;
    -    *status 		= req->resph.retval;
    -    RPC_FreeRequest(req);
    +    
    +    msg->cbBuffer = req->resph.cbBuffer;
    +    msg->Buffer	  = req->Buffer;
    +    *status       = req->resph.retval;
    +    req->state    = REQSTATE_DONE;
    +    
         return S_OK;
     }
     
     
     static HRESULT WINAPI
    -PipeBuf_FreeBuffer(LPRPCCHANNELBUFFER iface,RPCOLEMESSAGE* msg) {
    -    FIXME("(%p), stub!\n",msg);
    -    return E_FAIL;
    +PipeBuf_FreeBuffer(LPRPCCHANNELBUFFER iface,RPCOLEMESSAGE* msg)
    +{
    +    TRACE("(%p)\n",msg);
    +    HeapFree(GetProcessHeap(), 0, msg->Buffer);
    +    return S_OK;
     }
     
     static HRESULT WINAPI
    -PipeBuf_GetDestCtx(
    -    LPRPCCHANNELBUFFER iface,DWORD* pdwDestContext,void** ppvDestContext
    -) {
    +PipeBuf_GetDestCtx(LPRPCCHANNELBUFFER iface,DWORD* pdwDestContext,void** ppvDestContext)
    +{
         FIXME("(%p,%p), stub!\n",pdwDestContext,ppvDestContext);
         return E_FAIL;
     }
     
     static HRESULT WINAPI
    -PipeBuf_IsConnected(LPRPCCHANNELBUFFER iface) {
    +PipeBuf_IsConnected(LPRPCCHANNELBUFFER iface)
    +{
         FIXME("(), stub!\n");
         return S_OK;
     }
    @@ -478,96 +414,108 @@ static IRpcChannelBufferVtbl pipebufvt = {
         PipeBuf_IsConnected
     };
     
    -HRESULT
    -PIPE_GetNewPipeBuf(wine_marshal_id *mid, IRpcChannelBuffer **pipebuf) {
    -  wine_marshal_id	ourid;
    -  DWORD			res;
    -  HANDLE		hPipe;
    -  HRESULT		hres;
    -  PipeBuf		*pbuf;
    +/* returns a pipebuf for proxies */
    +HRESULT PIPE_GetNewPipeBuf(wine_marshal_id *mid, IRpcChannelBuffer **pipebuf)
    +{
    +    wine_marshal_id  ourid;
    +    HANDLE           handle;
    +    PipeBuf         *pbuf;
    +    char             pipefn[200];
     
    -  hPipe = PIPE_FindByMID(mid);
    -  if (hPipe == INVALID_HANDLE_VALUE) {
    -      char			pipefn[200];
    -      sprintf(pipefn,OLESTUBMGR"_%08lx%08lx",(DWORD)(mid->oxid >> 32),(DWORD)mid->oxid);
    -      hPipe = CreateFileA(
    -	      pipefn,
    -	      GENERIC_READ|GENERIC_WRITE,
    -	      0,
    -	      NULL,
    -	      OPEN_EXISTING,
    -	      0,
    -	      0
    -      );
    -      if (hPipe == INVALID_HANDLE_VALUE) {
    -	  FIXME("Could not open named pipe %s, le is %lx\n",pipefn,GetLastError());
    -	  return E_FAIL;
    -      }
    -      hres = PIPE_RegisterPipe(mid, hPipe, FALSE);
    -      if (hres) return hres;
    -      memset(&ourid,0,sizeof(ourid));
    -      ourid.oxid = COM_CurrentApt()->oxid;
    -      if (!WriteFile(hPipe,&ourid,sizeof(ourid),&res,NULL)||(res!=sizeof(ourid))) {
    -	  ERR("Failed writing startup mid!\n");
    -	  return E_FAIL;
    -      }
    -  }
    -  pbuf = (PipeBuf*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(PipeBuf));
    -  pbuf->lpVtbl	= &pipebufvt;
    -  pbuf->ref 	= 1;
    -  memcpy(&(pbuf->mid),mid,sizeof(*mid));
    -  *pipebuf = (IRpcChannelBuffer*)pbuf;
    -  return S_OK;
    +    /* connect to the apartment listener thread */
    +    sprintf(pipefn,OLESTUBMGR"_%08lx%08lx",(DWORD)(mid->oxid >> 32),(DWORD)mid->oxid);
    +
    +    TRACE("proxy pipe: connecting to apartment listener thread: %s\n", pipefn);
    +
    +    while (TRUE)
    +    {
    +        BOOL ret = WaitNamedPipeA(pipefn, NMPWAIT_USE_DEFAULT_WAIT);
    +        if (!ret)
    +        {
    +            ERR("Could not open named pipe %s, error %ld\n", pipefn, GetLastError());
    +            return RPC_E_SERVER_DIED;
    +        }
    +
    +        handle = CreateFileA(pipefn, GENERIC_READ | GENERIC_WRITE,
    +                             0, NULL, OPEN_EXISTING, 0, 0);
    +
    +        if (handle == INVALID_HANDLE_VALUE)
    +        {
    +            if (GetLastError() == ERROR_PIPE_BUSY) continue;
    +            
    +            ERR("Could not open named pipe %s, error %ld\n", pipefn, GetLastError());
    +            return RPC_E_SERVER_DIED;
    +        }
    +
    +        break;
    +    }
    +    
    +    memset(&ourid,0,sizeof(ourid));
    +    ourid.oxid = COM_CurrentApt()->oxid;
    +    
    +    TRACE("constructing new pipebuf for proxy\n");
    +    
    +    pbuf = (PipeBuf*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(PipeBuf));
    +    pbuf->lpVtbl = &pipebufvt;
    +    pbuf->ref 	 = 1;
    +    memcpy(&(pbuf->mid),mid,sizeof(*mid));
    +    pbuf->pipe  = dupe_handle(handle);
    +    
    +    *pipebuf = (IRpcChannelBuffer*)pbuf;
    +    
    +    return S_OK;
     }
     
     static HRESULT
    -create_server(REFCLSID rclsid) {
    -  static const WCHAR embedding[] = { ' ', '-','E','m','b','e','d','d','i','n','g',0 };
    -  HKEY		key;
    -  char 		buf[200];
    -  HRESULT	hres = E_UNEXPECTED;
    -  char		xclsid[80];
    -  WCHAR        exe[MAX_PATH+1];
    -  DWORD        exelen = sizeof(exe);
    -  WCHAR         command[MAX_PATH+sizeof(embedding)/sizeof(WCHAR)];
    -  STARTUPINFOW	sinfo;
    -  PROCESS_INFORMATION	pinfo;
    +create_server(REFCLSID rclsid)
    +{
    +    static const WCHAR  embedding[] = { ' ', '-','E','m','b','e','d','d','i','n','g',0 };
    +    HKEY                key;
    +    char                buf[200];
    +    HRESULT             hres = E_UNEXPECTED;
    +    char                xclsid[80];
    +    WCHAR               exe[MAX_PATH+1];
    +    DWORD               exelen = sizeof(exe);
    +    WCHAR               command[MAX_PATH+sizeof(embedding)/sizeof(WCHAR)];
    +    STARTUPINFOW        sinfo;
    +    PROCESS_INFORMATION pinfo;
     
    -  WINE_StringFromCLSID((LPCLSID)rclsid,xclsid);
    +    WINE_StringFromCLSID((LPCLSID)rclsid,xclsid);
     
    -  sprintf(buf,"CLSID\\%s\\LocalServer32",xclsid);
    -  hres = RegOpenKeyExA(HKEY_CLASSES_ROOT, buf, 0, KEY_READ, &key);
    +    sprintf(buf,"CLSID\\%s\\LocalServer32",xclsid);
    +    hres = RegOpenKeyExA(HKEY_CLASSES_ROOT, buf, 0, KEY_READ, &key);
     
    -  if (hres != ERROR_SUCCESS) {
    -      WARN("CLSID %s not registered as LocalServer32\n", xclsid);
    -      return REGDB_E_READREGDB; /* Probably */
    -  }
    +    if (hres != ERROR_SUCCESS) {
    +        WARN("CLSID %s not registered as LocalServer32\n", xclsid);
    +        return REGDB_E_READREGDB; /* Probably */
    +    }
     
    -  memset(exe,0,sizeof(exe));
    -  hres= RegQueryValueExW(key, NULL, NULL, NULL, (LPBYTE)exe, &exelen);
    -  RegCloseKey(key);
    -  if (hres) {
    -      WARN("No default value for LocalServer32 key\n");
    -      return REGDB_E_CLASSNOTREG; /* FIXME: check retval */
    -  }
    +    memset(exe,0,sizeof(exe));
    +    hres= RegQueryValueExW(key, NULL, NULL, NULL, (LPBYTE)exe, &exelen);
    +    RegCloseKey(key);
    +    if (hres) {
    +        WARN("No default value for LocalServer32 key\n");
    +        return REGDB_E_CLASSNOTREG; /* FIXME: check retval */
    +    }
     
    -  memset(&sinfo,0,sizeof(sinfo));
    -  sinfo.cb = sizeof(sinfo);
    +    memset(&sinfo,0,sizeof(sinfo));
    +    sinfo.cb = sizeof(sinfo);
     
    -  /* EXE servers are started with the -Embedding switch. MSDN also claims /Embedding is used,
    -     9x does -Embedding, perhaps an 9x/NT difference?  */
    +    /* EXE servers are started with the -Embedding switch. MSDN also claims /Embedding is used,
    +     * 9x does -Embedding, perhaps an 9x/NT difference?
    +     */
     
    -  strcpyW(command, exe);
    -  strcatW(command, embedding);
    +    strcpyW(command, exe);
    +    strcatW(command, embedding);
     
    -  TRACE("activating local server '%s' for %s\n", debugstr_w(command), xclsid);
    +    TRACE("activating local server '%s' for %s\n", debugstr_w(command), xclsid);
     
    -  if (!CreateProcessW(exe, command, NULL, NULL, FALSE, 0, NULL, NULL, &sinfo, &pinfo)) {
    -      WARN("failed to run local server %s\n", debugstr_w(exe));
    -      return E_FAIL;
    -  }
    +    if (!CreateProcessW(exe, command, NULL, NULL, FALSE, 0, NULL, NULL, &sinfo, &pinfo)) {
    +        WARN("failed to run local server %s\n", debugstr_w(exe));
    +        return E_FAIL;
    +    }
     
    -  return S_OK;
    +    return S_OK;
     }
     
     /*
    @@ -577,7 +525,7 @@ static DWORD
     start_local_service(LPCWSTR name, DWORD num, LPWSTR *params)
     {
         SC_HANDLE handle, hsvc;
    -    DWORD r = ERROR_FUNCTION_FAILED;
    +    DWORD     r = ERROR_FUNCTION_FAILED;
     
         TRACE("Starting service %s %ld params\n", debugstr_w(name), num);
     
    @@ -591,7 +539,7 @@ start_local_service(LPCWSTR name, DWORD num, LPWSTR *params)
                 r = ERROR_SUCCESS;
             else
                 r = GetLastError();
    -        if (r==ERROR_SERVICE_ALREADY_RUNNING)
    +        if (r == ERROR_SERVICE_ALREADY_RUNNING)
                 r = ERROR_SUCCESS;
             CloseServiceHandle(hsvc);
         }
    @@ -619,10 +567,8 @@ create_local_service(REFCLSID rclsid)
         static const WCHAR szClsId[] = { 'C','L','S','I','D','\\',0 };
         static const WCHAR szAppId[] = { 'A','p','p','I','d',0 };
         static const WCHAR szAppIdKey[] = { 'A','p','p','I','d','\\',0 };
    -    static const WCHAR szLocalService[] = { 
    -                 'L','o','c','a','l','S','e','r','v','i','c','e',0 };
    -    static const WCHAR szServiceParams[] = {
    -                 'S','e','r','v','i','c','e','P','a','r','a','m','s',0};
    +    static const WCHAR szLocalService[] = { 'L','o','c','a','l','S','e','r','v','i','c','e',0 };
    +    static const WCHAR szServiceParams[] = {'S','e','r','v','i','c','e','P','a','r','a','m','s',0};
         HKEY hkey;
         LONG r;
         DWORD type, sz;
    @@ -680,145 +626,124 @@ create_local_service(REFCLSID rclsid)
     }
     
     /* http://msdn.microsoft.com/library/en-us/dnmsj99/html/com0199.asp, Figure 4 */
    -HRESULT create_marshalled_proxy(REFCLSID rclsid, REFIID iid, LPVOID *ppv) {
    -  HRESULT	hres;
    -  HANDLE	hPipe;
    -  char		pipefn[200];
    -  DWORD		res,bufferlen;
    -  char		marshalbuffer[200];
    -  IStream	*pStm;
    -  LARGE_INTEGER	seekto;
    -  ULARGE_INTEGER newpos;
    -  int		tries = 0;
    -#define MAXTRIES 10000
    +HRESULT create_marshalled_proxy(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
    +{
    +    HRESULT        hres;
    +    HANDLE         hPipe;
    +    char           pipefn[200];
    +    DWORD          res, bufferlen;
    +    char           marshalbuffer[200];
    +    IStream       *pStm;
    +    LARGE_INTEGER  seekto;
    +    ULARGE_INTEGER newpos;
    +    int            tries = 0;
    +    
    +    static const int MAXTRIES = 10000;
     
    -  TRACE("rclsid=%s, iid=%s\n", debugstr_guid(rclsid), debugstr_guid(iid));
    +    TRACE("rclsid=%s, iid=%s\n", debugstr_guid(rclsid), debugstr_guid(iid));
     
    -  strcpy(pipefn,PIPEPREF);
    -  WINE_StringFromCLSID(rclsid,pipefn+strlen(PIPEPREF));
    +    strcpy(pipefn,PIPEPREF);
    +    WINE_StringFromCLSID(rclsid,pipefn+strlen(PIPEPREF));
     
    -  while (tries++=MAXTRIES)
    -      return E_NOINTERFACE;
    -  hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
    -  if (hres) return hres;
    -  hres = IStream_Write(pStm,marshalbuffer,bufferlen,&res);
    -  if (hres) goto out;
    -  seekto.u.LowPart = 0;seekto.u.HighPart = 0;
    -  hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos);
    -  TRACE("unmarshalling classfactory\n");
    -  hres = CoUnmarshalInterface(pStm,&IID_IClassFactory,ppv);
    -out:
    -  IStream_Release(pStm);
    -  return hres;
    -}
    -
    -
    -static void WINAPI
    -PIPE_StartRequestThread(HANDLE xhPipe) {
    -    wine_marshal_id	remoteid;
    -    HRESULT		hres;
    -
    -    hres = read_pipe(xhPipe,&remoteid,sizeof(remoteid));
    -    if (hres) {
    -	ERR("Failed to read remote mid!\n");
    -	return;
    +        WaitNamedPipeA( pipefn, NMPWAIT_WAIT_FOREVER );
    +        hPipe = CreateFileA(pipefn, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0);
    +        if (hPipe == INVALID_HANDLE_VALUE) {
    +            if (tries == 1) {
    +                if ( (hres = create_server(rclsid)) &&
    +                     (hres = create_local_service(rclsid)) )
    +                    return hres;
    +                Sleep(1000);
    +            } else {
    +                WARN("Connecting to %s, no response yet, retrying: le is %lx\n",pipefn,GetLastError());
    +                Sleep(1000);
    +            }
    +            continue;
    +        }
    +        bufferlen = 0;
    +        if (!ReadFile(hPipe,marshalbuffer,sizeof(marshalbuffer),&bufferlen,NULL)) {
    +            FIXME("Failed to read marshal id from classfactory of %s.\n",debugstr_guid(rclsid));
    +            Sleep(1000);
    +            continue;
    +        }
    +        TRACE("read marshal id from pipe\n");
    +        CloseHandle(hPipe);
    +        break;
         }
    -    PIPE_RegisterPipe(&remoteid,xhPipe, TRUE);
    +    
    +    if (tries >= MAXTRIES)
    +        return E_NOINTERFACE;
    +    
    +    hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
    +    if (hres) return hres;
    +    hres = IStream_Write(pStm,marshalbuffer,bufferlen,&res);
    +    if (hres) goto out;
    +    seekto.u.LowPart = 0;seekto.u.HighPart = 0;
    +    hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos);
    +    
    +    TRACE("unmarshalling classfactory\n");
    +    hres = CoUnmarshalInterface(pStm,&IID_IClassFactory,ppv);
    +out:
    +    IStream_Release(pStm);
    +    return hres;
     }
     
    -static HRESULT
    -COM_RpcReceive(wine_pipe *xpipe) {
    -    DWORD	reqtype;
    -    HRESULT	hres = S_OK;
    -    HANDLE	xhPipe = xpipe->hPipe;
     
    -    /*FIXME("%lx %d reading reqtype\n",GetCurrentProcessId(),xhPipe);*/
    -    hres = read_pipe(xhPipe,&reqtype,sizeof(reqtype));
    -    if (hres) goto end;
    -    EnterCriticalSection(&(xpipe->crit));
    -    /*FIXME("%lx got reqtype %ld\n",GetCurrentProcessId(),reqtype);*/
    +/* this reads an RPC from the given pipe and places it in the global reqs array  */
    +static HRESULT process_incoming_rpc(HANDLE pipe)
    +{
    +    DWORD       reqtype;
    +    HRESULT     hres = S_OK;
     
    -    if (reqtype == REQTYPE_DISCONNECT) { /* only received by servers */
    -        wine_rpc_disconnect_header header;
    -        struct stub_manager *stubmgr;
    +    hres = read_pipe(pipe,&reqtype,sizeof(reqtype));
    +    if (hres) return hres;
     
    -        hres = read_pipe(xhPipe, &header, sizeof(header));
    -        if (hres) {
    -            ERR("could not read disconnect header\n");
    -            goto end;
    -        }
    +    /* only received by servers */
    +    if (reqtype == REQTYPE_REQUEST)
    +    {
    +	struct rpc *xreq;
     
    -        TRACE("read disconnect header\n");
    -
    -        if (!(stubmgr = get_stub_manager(header.mid.oxid, header.mid.oid)))
    -        {
    -            ERR("could not locate stub to disconnect, mid.oid=%s\n", wine_dbgstr_longlong(header.mid.oid));
    -            goto end;
    -        }
    -
    -        stub_manager_ext_release(stubmgr, 1);
    -
    -        stub_manager_int_release(stubmgr);
    -
    -        goto end;
    -    } else if (reqtype == REQTYPE_REQUEST) {
    -	wine_rpc_request	*xreq;
     	RPC_GetRequest(&xreq);
    -	xreq->hPipe = xhPipe;
    -	hres = read_pipe(xhPipe,&(xreq->reqh),sizeof(xreq->reqh));
    -	if (hres) goto end;
    +        
    +	xreq->hPipe = pipe;
    +	hres = read_pipe(pipe,&(xreq->reqh),sizeof(xreq->reqh));
    +	if (hres)
    +        {
    +            xreq->state = REQSTATE_DONE;
    +            return hres;
    +        }
    +        
     	xreq->resph.reqid = xreq->reqh.reqid;
     	xreq->Buffer = HeapAlloc(GetProcessHeap(),0, xreq->reqh.cbBuffer);
    -	hres = read_pipe(xhPipe,xreq->Buffer,xreq->reqh.cbBuffer);
    +	hres = read_pipe(pipe,xreq->Buffer,xreq->reqh.cbBuffer);
     	if (hres) goto end;
    +
    +        TRACE("received RPC for IPID %s\n", debugstr_guid(&xreq->reqh.ipid));
    +        
     	xreq->state = REQSTATE_REQ_GOT;
     	goto end;
    -    } else if (reqtype == REQTYPE_RESPONSE) {
    -	wine_rpc_response_header	resph;
    +    }
    +    else if (reqtype == REQTYPE_RESPONSE)
    +    {
    +	struct response_header	resph;
     	int i;
     
    -	hres = read_pipe(xhPipe,&resph,sizeof(resph));
    +	hres = read_pipe(pipe,&resph,sizeof(resph));
     	if (hres) goto end;
    -	for (i=nrofreqs;i--;) {
    -	    wine_rpc_request *xreq = reqs[i];
    +
    +        TRACE("read RPC response\n");
    +        
    +	for (i = nrofreqs; i--;)
    +        {
    +	    struct rpc *xreq = reqs[i];
    +            
     	    if (xreq->state != REQSTATE_REQ_WAITING_FOR_REPLY)
     		continue;
    -	    if (xreq->reqh.reqid == resph.reqid) {
    +            
    +	    if (xreq->reqh.reqid == resph.reqid)
    +            {
     		memcpy(&(xreq->resph),&resph,sizeof(resph));
     
     		if (xreq->Buffer)
    @@ -826,54 +751,86 @@ COM_RpcReceive(wine_pipe *xpipe) {
     		else
     		    xreq->Buffer = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,xreq->resph.cbBuffer);
     
    -		hres = read_pipe(xhPipe,xreq->Buffer,xreq->resph.cbBuffer);
    +		hres = read_pipe(pipe,xreq->Buffer,xreq->resph.cbBuffer);
     		if (hres) goto end;
    +
    +                TRACE("received response for reqid 0x%lx\n", xreq->reqh.reqid);
    +                
     		xreq->state = REQSTATE_RESP_GOT;
    -		/*PulseEvent(hRpcChanged);*/
     		goto end;
     	    }
     	}
    -	ERR("Did not find request for id %lx\n",resph.reqid);
    -	hres = S_OK;
    +        
    +	ERR("protocol error: did not find request for id %lx\n",resph.reqid);
    +	hres = E_FAIL;
     	goto end;
         }
    -    ERR("Unknown reqtype %ld\n",reqtype);
    +    
    +    ERR("protocol error: unknown reqtype %ld\n",reqtype);
         hres = E_FAIL;
     end:
    -    LeaveCriticalSection(&(xpipe->crit));
         return hres;
     }
     
    -/* This thread listens on the given pipe for requests to a particular stub manager */
    -static DWORD WINAPI stub_dispatch_thread(LPVOID param)
    +struct stub_dispatch_params
     {
    -    wine_pipe		*xpipe = (wine_pipe*)param;
    -    HANDLE		xhPipe = xpipe->hPipe;
    -    HRESULT		hres = S_OK;
    +    struct apartment *apt;
    +    HANDLE            pipe;
    +};
     
    -    TRACE("starting for apartment OXID %08lx%08lx\n", (DWORD)(xpipe->mid.oxid >> 32), (DWORD)(xpipe->mid.oxid));
    -
    -    /* join marshalling apartment. fixme: this stuff is all very wrong, threading needs to work like native */
    -    NtCurrentTeb()->ReservedForOle = xpipe->apt;
    +/* This thread listens on the given pipe for requests to any stub manager */
    +static DWORD WINAPI client_dispatch_thread(LPVOID param)
    +{
    +    HANDLE              pipe = ((struct stub_dispatch_params *)param)->pipe;
    +    struct apartment   *apt  = ((struct stub_dispatch_params *)param)->apt;
    +    HRESULT             hres = S_OK;
    +    HANDLE              shutdown_event = dupe_handle(apt->shutdown_event);
         
    -    while (!hres) {
    -	int i;
    -        
    -	hres = COM_RpcReceive(xpipe);
    -	if (hres) break;
    +    HeapFree(GetProcessHeap(), 0, param);
    +    
    +    /* join marshalling apartment. fixme: this stuff is all very wrong, threading needs to work like native */
    +    COM_CurrentInfo()->apt = apt;
     
    -	for (i=nrofreqs;i--;) {
    -	    wine_rpc_request *xreq = reqs[i];
    -	    if ((xreq->state == REQSTATE_REQ_GOT) && (xreq->hPipe == xhPipe)) {
    -		hres = COM_InvokeAndRpcSend(xreq);
    -		if (!hres) break;
    -	    }
    -	}
    +    while (TRUE)
    +    {
    +        int i;
    +
    +        TRACE("waiting for RPC on OXID: %08lx%08lx\n", (DWORD)(apt->oxid >> 32), (DWORD)(apt->oxid));
    +        
    +        /* read a new request into the global array, block if no requests have been sent */
    +        hres = process_incoming_rpc(pipe);
    +        if (hres) break;
    +
    +        /* do you expect me to talk? */
    +        if (WaitForSingleObject(shutdown_event, 0) == WAIT_OBJECT_0)
    +        {
    +            /* no mr bond, i expect you to die! bwahaha */
    +            CloseHandle(shutdown_event);
    +            break;
    +        }
    +        
    +        TRACE("received RPC on OXID: %08lx%08lx\n", (DWORD)(apt->oxid >> 32), (DWORD)(apt->oxid));        
    +
    +        /* now scan the array looking for the RPC just loaded */
    +        for (i=nrofreqs;i--;)
    +        {
    +            struct rpc *req = reqs[i];
    +            
    +            if ((req->state == REQSTATE_REQ_GOT) && (req->hPipe == pipe))
    +            {
    +                hres = COM_InvokeAndRpcSend(req);
    +                if (!hres) break;
    +            }
    +        }
         }
     
    -    /* fixme: this thread never quits naturally */
    -    WARN("exiting with hres %lx\n",hres);
    -    CloseHandle(xhPipe);
    +    TRACE("exiting with hres %lx\n",hres);
    +
    +    /* leave marshalling apartment. fixme: this stuff is all very wrong, threading needs to work like native */
    +    COM_CurrentInfo()->apt = NULL;
    +
    +    DisconnectNamedPipe(pipe);
    +    CloseHandle(pipe);
         return 0;
     }
     
    @@ -892,29 +849,40 @@ struct apartment_listener_params
      */
     static DWORD WINAPI apartment_listener_thread(LPVOID p)
     {
    -    char		pipefn[200];
    -    HANDLE		listenPipe;
    +    char pipefn[200];
    +    HANDLE listenPipe, thread_handle;
    +    OVERLAPPED overlapped;
    +    HANDLE wait[2];
    +    
         struct apartment_listener_params * params = (struct apartment_listener_params *)p;
    -    APARTMENT *apt = params->apt;
    +    struct apartment *apt = params->apt;
         HANDLE event = params->event;
    +    HANDLE apt_shutdown_event = dupe_handle(apt->shutdown_event);
    +    OXID   this_oxid = apt->oxid; /* copy here so we can print it when we shut down */
     
         HeapFree(GetProcessHeap(), 0, params);
     
    +    overlapped.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
    +    
         /* we must join the marshalling threads apartment. we already have a ref here */
    -    NtCurrentTeb()->ReservedForOle = apt;
    +    COM_CurrentInfo()->apt = apt;
     
         sprintf(pipefn,OLESTUBMGR"_%08lx%08lx", (DWORD)(apt->oxid >> 32), (DWORD)(apt->oxid));
         TRACE("Apartment listener thread starting on (%s)\n",pipefn);
     
    -    while (1) {
    +    while (TRUE)
    +    {
    +        struct stub_dispatch_params *params;
    +        DWORD res;
    +
     	listenPipe = CreateNamedPipeA(
     	    pipefn,
    -	    PIPE_ACCESS_DUPLEX,
    +	    PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,
     	    PIPE_TYPE_BYTE|PIPE_WAIT,
     	    PIPE_UNLIMITED_INSTANCES,
     	    4096,
     	    4096,
    -	    NMPWAIT_USE_DEFAULT_WAIT,
    +	    500 /* 0.5 seconds */,
     	    NULL
     	);
     
    @@ -927,19 +895,56 @@ static DWORD WINAPI apartment_listener_thread(LPVOID p)
     
     	if (listenPipe == INVALID_HANDLE_VALUE) {
     	    FIXME("pipe creation failed for %s, error %ld\n",pipefn,GetLastError());
    -	    return 1; /* permanent failure, so quit stubmgr thread */
    +	    break; /* permanent failure, so quit stubmgr thread */
     	}
     
    +        TRACE("waiting for a client ...\n");
    +        
     	/* an already connected pipe is not an error */
    -	if (!ConnectNamedPipe(listenPipe,NULL) &&
    -	    (GetLastError() != ERROR_PIPE_CONNECTED)) {
    -	    ERR("Failure during ConnectNamedPipe %ld!\n",GetLastError());
    -	    CloseHandle(listenPipe);
    -	    continue;
    +	if (!ConnectNamedPipe(listenPipe, &overlapped))
    +        {
    +            DWORD le = GetLastError();
    +            
    +            if ((le != ERROR_IO_PENDING) && (le != ERROR_PIPE_CONNECTED))
    +            {
    +                ERR("Failure during ConnectNamedPipe %ld!\n",GetLastError());
    +                CloseHandle(listenPipe);
    +                continue;
    +            }
     	}
     
    -	PIPE_StartRequestThread(listenPipe);
    +        /* wait for action */
    +        wait[0] = apt_shutdown_event;
    +        wait[1] = overlapped.hEvent;
    +        res = WaitForMultipleObjectsEx(2, wait, FALSE, INFINITE, FALSE);
    +        if (res == WAIT_OBJECT_0) break;
    +
    +        ResetEvent(overlapped.hEvent);
    +        
    +        /* start the stub dispatch thread for this connection */
    +        TRACE("starting stub dispatch thread for OXID %08lx%08lx\n", (DWORD)(apt->oxid >> 32), (DWORD)(apt->oxid));
    +        params = HeapAlloc(GetProcessHeap(), 0, sizeof(struct stub_dispatch_params));
    +        if (!params)
    +        {
    +            ERR("out of memory, dropping this client\n");
    +            CloseHandle(listenPipe);
    +            continue;
    +        }
    +        params->apt = apt;
    +        params->pipe = listenPipe;
    +        thread_handle = CreateThread(NULL, 0, &client_dispatch_thread, params, 0, NULL);
    +        CloseHandle(thread_handle);
         }
    +
    +    TRACE("shutting down: %s\n", wine_dbgstr_longlong(this_oxid));
    +
    +    /* we must leave the marshalling threads apartment. we don't have a ref here */
    +    COM_CurrentInfo()->apt = NULL;
    +
    +    DisconnectNamedPipe(listenPipe);
    +    CloseHandle(listenPipe);
    +    CloseHandle(overlapped.hEvent);
    +    CloseHandle(apt_shutdown_event);
         return 0;
     }
     
    @@ -1004,12 +1009,15 @@ static DWORD WINAPI local_server_thread(LPVOID param)
         HeapFree(GetProcessHeap(), 0, lsp);
     
         hPipe = CreateNamedPipeA( pipefn, PIPE_ACCESS_DUPLEX,
    -               PIPE_TYPE_BYTE|PIPE_WAIT, PIPE_UNLIMITED_INSTANCES,
    -               4096, 4096, NMPWAIT_USE_DEFAULT_WAIT, NULL );
    -    if (hPipe == INVALID_HANDLE_VALUE) {
    +                              PIPE_TYPE_BYTE|PIPE_WAIT, PIPE_UNLIMITED_INSTANCES,
    +                              4096, 4096, 500 /* 0.5 second timeout */, NULL );
    +    
    +    if (hPipe == INVALID_HANDLE_VALUE)
    +    {
             FIXME("pipe creation failed for %s, le is %ld\n",pipefn,GetLastError());
             return 1;
         }
    +    
         while (1) {
             if (!ConnectNamedPipe(hPipe,NULL)) {
                 ERR("Failure during ConnectNamedPipe %ld, ABORT!\n",GetLastError());
    @@ -1037,8 +1045,6 @@ static DWORD WINAPI local_server_thread(LPVOID param)
                 return hres;
             }
             
    -        IStream_Release(pStm);
    -
             WriteFile(hPipe,buffer,buflen,&res,NULL);
             FlushFileBuffers(hPipe);
             DisconnectNamedPipe(hPipe);
    @@ -1046,6 +1052,7 @@ static DWORD WINAPI local_server_thread(LPVOID param)
             TRACE("done marshalling IClassFactory\n");
         }
         CloseHandle(hPipe);
    +    IStream_Release(pStm);
         return 0;
     }
     
    diff --git a/reactos/lib/ole32/stubmanager.c b/reactos/lib/ole32/stubmanager.c
    index 54a42904788..24c77517b15 100644
    --- a/reactos/lib/ole32/stubmanager.c
    +++ b/reactos/lib/ole32/stubmanager.c
    @@ -94,6 +94,7 @@ static void stub_manager_delete(struct stub_manager *m)
     
         list_remove(&m->entry);
     
    +    /* release every ifstub */
         while ((cursor = list_head(&m->ifstubs)))
         {
             struct ifstub *ifstub = LIST_ENTRY(cursor, struct ifstub, entry);
    @@ -107,19 +108,13 @@ static void stub_manager_delete(struct stub_manager *m)
         HeapFree(GetProcessHeap(), 0, m);
     }
     
    -/* gets the stub manager associated with an object - caller must call
    - * release on the stub manager when it is no longer needed */
    -struct stub_manager *get_stub_manager_from_object(OXID oxid, void *object)
    +/* gets the stub manager associated with an object - caller must have
    + * a reference to the apartment while a reference to the stub manager is held.
    + * it must also call release on the stub manager when it is no longer needed */
    +struct stub_manager *get_stub_manager_from_object(APARTMENT *apt, void *object)
     {
         struct stub_manager *result = NULL;
         struct list         *cursor;
    -    APARTMENT           *apt;
    -
    -    if (!(apt = COM_ApartmentFromOXID(oxid, TRUE)))
    -    {
    -        WARN("Could not map OXID %s to apartment object\n", wine_dbgstr_longlong(oxid));
    -        return NULL;
    -    }
     
         EnterCriticalSection(&apt->cs);
         LIST_FOR_EACH( cursor, &apt->stubmgrs )
    @@ -135,13 +130,69 @@ struct stub_manager *get_stub_manager_from_object(OXID oxid, void *object)
         }
         LeaveCriticalSection(&apt->cs);
     
    -    COM_ApartmentRelease(apt);
    -    
    -    TRACE("found %p from object %p\n", result, object);
    +    if (result)
    +        TRACE("found %p for object %p\n", result, object);
    +    else
    +        TRACE("not found for object %p\n", object);
     
         return result;    
     }
     
    +/* removes the apartment reference to an object, destroying it when no other
    + * threads have a reference to it */
    +void apartment_disconnect_object(APARTMENT *apt, void *object)
    +{
    +    int found = FALSE;
    +    struct stub_manager *stubmgr;
    +
    +    EnterCriticalSection(&apt->cs);
    +    LIST_FOR_EACH_ENTRY( stubmgr, &apt->stubmgrs, struct stub_manager, entry )
    +    {
    +        if (stubmgr->object == object)
    +        {
    +            found = TRUE;
    +            stub_manager_int_release(stubmgr);
    +            break;
    +        }
    +    }
    +    LeaveCriticalSection(&apt->cs);
    +
    +    if (found)
    +        TRACE("disconnect object %p\n", object);
    +    else
    +        WARN("couldn't find object %p\n", object);
    +}
    +
    +/* gets the stub manager associated with an object id - caller must have
    + * a reference to the apartment while a reference to the stub manager is held.
    + * it must also call release on the stub manager when it is no longer needed */
    +struct stub_manager *get_stub_manager(APARTMENT *apt, OID oid)
    +{
    +    struct stub_manager *result = NULL;
    +    struct list         *cursor;
    +
    +    EnterCriticalSection(&apt->cs);
    +    LIST_FOR_EACH( cursor, &apt->stubmgrs )
    +    {
    +        struct stub_manager *m = LIST_ENTRY( cursor, struct stub_manager, entry );
    +
    +        if (m->oid == oid)
    +        {
    +            result = m;
    +            stub_manager_int_addref(result);
    +            break;
    +        }
    +    }
    +    LeaveCriticalSection(&apt->cs);
    +
    +    if (result)
    +        TRACE("found %p for oid %s\n", result, wine_dbgstr_longlong(oid));
    +    else
    +        TRACE("not found for oid %s\n", wine_dbgstr_longlong(oid));
    +
    +    return result;
    +}
    +
     /* increments the internal refcount */
     ULONG stub_manager_int_addref(struct stub_manager *This)
     {
    @@ -174,41 +225,6 @@ ULONG stub_manager_int_release(struct stub_manager *This)
         return refs;
     }
     
    -/* gets the stub manager associated with an object id - caller must call
    - * release on the stub manager when it is no longer needed */
    -struct stub_manager *get_stub_manager(OXID oxid, OID oid)
    -{
    -    struct stub_manager *result = NULL;
    -    struct list         *cursor;
    -    APARTMENT           *apt;
    -
    -    if (!(apt = COM_ApartmentFromOXID(oxid, TRUE)))
    -    {
    -        WARN("Could not map OXID %s to apartment object\n", wine_dbgstr_longlong(oxid));
    -        return NULL;
    -    }
    -    
    -    EnterCriticalSection(&apt->cs);
    -    LIST_FOR_EACH( cursor, &apt->stubmgrs )
    -    {
    -        struct stub_manager *m = LIST_ENTRY( cursor, struct stub_manager, entry );
    -
    -        if (m->oid == oid)
    -        {
    -            result = m;
    -            stub_manager_int_addref(result);
    -            break;
    -        }
    -    }
    -    LeaveCriticalSection(&apt->cs);
    -
    -    COM_ApartmentRelease(apt);
    -
    -    TRACE("found %p from oid %s\n", result, wine_dbgstr_longlong(oid));
    -
    -    return result;
    -}
    -
     /* add some external references (ie from a client that unmarshaled an ifptr) */
     ULONG stub_manager_ext_addref(struct stub_manager *m, ULONG refs)
     {
    @@ -253,11 +269,101 @@ static struct ifstub *stub_manager_ipid_to_ifstub(struct stub_manager *m, const
         return result;
     }
     
    -IRpcStubBuffer *stub_manager_ipid_to_stubbuffer(struct stub_manager *m, const IPID *ipid)
    +/* gets the stub manager associated with an ipid - caller must have
    + * a reference to the apartment while a reference to the stub manager is held.
    + * it must also call release on the stub manager when it is no longer needed */
    +static struct stub_manager *get_stub_manager_from_ipid(APARTMENT *apt, const IPID *ipid)
     {
    -    struct ifstub *ifstub = stub_manager_ipid_to_ifstub(m, ipid);
    -    
    -    return ifstub ? ifstub->stubbuffer : NULL;
    +    struct stub_manager *result = NULL;
    +    struct list         *cursor;
    +
    +    EnterCriticalSection(&apt->cs);
    +    LIST_FOR_EACH( cursor, &apt->stubmgrs )
    +    {
    +        struct stub_manager *m = LIST_ENTRY( cursor, struct stub_manager, entry );
    +
    +        if (stub_manager_ipid_to_ifstub(m, ipid))
    +        {
    +            result = m;
    +            stub_manager_int_addref(result);
    +            break;
    +        }
    +    }
    +    LeaveCriticalSection(&apt->cs);
    +
    +    if (result)
    +        TRACE("found %p for ipid %s\n", result, debugstr_guid(ipid));
    +    else
    +        ERR("not found for ipid %s\n", debugstr_guid(ipid));
    +
    +    return result;
    +}
    +
    +HRESULT ipid_to_stub_manager(const IPID *ipid, APARTMENT **stub_apt, struct stub_manager **stubmgr_ret)
    +{
    +    /* FIXME: hack for IRemUnknown */
    +    if (ipid->Data2 == 0xffff)
    +        *stub_apt = COM_ApartmentFromOXID(*(OXID *)ipid->Data4, TRUE);
    +    else
    +        *stub_apt = COM_ApartmentFromTID(ipid->Data2);
    +    if (!*stub_apt)
    +    {
    +        ERR("Couldn't find apartment corresponding to TID 0x%04x\n", ipid->Data2);
    +        return RPC_E_INVALID_OBJECT;
    +    }
    +    *stubmgr_ret = get_stub_manager_from_ipid(*stub_apt, ipid);
    +    if (!*stubmgr_ret)
    +    {
    +        COM_ApartmentRelease(*stub_apt);
    +        *stub_apt = NULL;
    +        return RPC_E_INVALID_OBJECT;
    +    }
    +    return S_OK;
    +}
    +
    +IRpcStubBuffer *ipid_to_stubbuffer(const IPID *ipid)
    +{
    +    IRpcStubBuffer *ret = NULL;
    +    APARTMENT *apt;
    +    struct stub_manager *stubmgr;
    +    struct ifstub *ifstub;
    +    HRESULT hr;
    +
    +    hr = ipid_to_stub_manager(ipid, &apt, &stubmgr);
    +    if (hr != S_OK) return NULL;
    +
    +    ifstub = stub_manager_ipid_to_ifstub(stubmgr, ipid);
    +    if (ifstub)
    +        ret = ifstub->stubbuffer;
    +
    +    stub_manager_int_release(stubmgr);
    +
    +    COM_ApartmentRelease(apt);
    +
    +    return ret;
    +}
    +
    +/* generates an ipid in the following format (similar to native version):
    + * Data1 = apartment-local ipid counter
    + * Data2 = apartment creator thread ID
    + * Data3 = process ID
    + * Data4 = random value
    + */
    +static inline HRESULT generate_ipid(struct stub_manager *m, IPID *ipid)
    +{
    +    HRESULT hr;
    +    hr = UuidCreate(ipid);
    +    if (FAILED(hr))
    +    {
    +        ERR("couldn't create IPID for stub manager %p\n", m);
    +        UuidCreateNil(ipid);
    +        return hr;
    +    }
    +
    +    ipid->Data1 = InterlockedIncrement(&m->apt->ipidc);
    +    ipid->Data2 = (USHORT)m->apt->tid;
    +    ipid->Data3 = (USHORT)GetCurrentProcessId();
    +    return S_OK;
     }
     
     /* registers a new interface stub COM object with the stub manager and returns registration record */
    @@ -276,14 +382,33 @@ struct ifstub *stub_manager_new_ifstub(struct stub_manager *m, IRpcStubBuffer *s
     
         /* no need to ref this, same object as sb */
         stub->iface = iptr;
    -    stub->table = tablemarshal;
    +
    +    if (tablemarshal)
    +        stub->state = IFSTUB_STATE_TABLE_MARSHALED;
    +    else
    +        stub->state = IFSTUB_STATE_NORMAL_MARSHALED;
    +
         stub->iid = *iid;
    -    stub->ipid = *iid; /* FIXME: should be globally unique */
    +
    +    /* FIXME: hack for IRemUnknown because we don't notify SCM of our IPID
    +     * yet, so we need to use a well-known one */
    +    if (IsEqualIID(iid, &IID_IRemUnknown))
    +    {
    +        stub->ipid.Data1 = 0xffffffff;
    +        stub->ipid.Data2 = 0xffff;
    +        stub->ipid.Data3 = 0xffff;
    +        assert(sizeof(stub->ipid.Data4) == sizeof(m->apt->oxid));
    +        memcpy(&stub->ipid.Data4, &m->apt->oxid, sizeof(OXID));
    +    }
    +    else
    +        generate_ipid(m, &stub->ipid);
     
         EnterCriticalSection(&m->lock);
         list_add_head(&m->ifstubs, &stub->entry);
         LeaveCriticalSection(&m->lock);
     
    +    TRACE("ifstub %p created with ipid %s\n", stub, debugstr_guid(&stub->ipid));
    +
         return stub;
     }
     
    @@ -298,3 +423,278 @@ static void stub_manager_delete_ifstub(struct stub_manager *m, struct ifstub *if
     
         HeapFree(GetProcessHeap(), 0, ifstub);
     }
    +
    +/* returns TRUE if it is possible to unmarshal, FALSE otherwise. */
    +BOOL stub_manager_notify_unmarshal(struct stub_manager *m, const IPID *ipid)
    +{
    +    struct ifstub *ifstub;
    +    BOOL ret;
    +
    +    ifstub = stub_manager_ipid_to_ifstub(m, ipid);
    +    if (!ifstub)
    +    {
    +        WARN("Can't find ifstub for OID %s, IPID %s\n",
    +            wine_dbgstr_longlong(m->oid), wine_dbgstr_guid(ipid));
    +        return FALSE;
    +    }
    +
    +    EnterCriticalSection(&m->lock);
    +
    +    switch (ifstub->state)
    +    {
    +    case IFSTUB_STATE_TABLE_MARSHALED:
    +        ret = TRUE;
    +        break;
    +    case IFSTUB_STATE_NORMAL_MARSHALED:
    +        ifstub->state = IFSTUB_STATE_NORMAL_UNMARSHALED;
    +        ret = TRUE;
    +        break;
    +    default:
    +        WARN("object OID %s, IPID %s already unmarshaled\n",
    +            wine_dbgstr_longlong(m->oid), wine_dbgstr_guid(ipid));
    +        ret = FALSE;
    +        break;
    +    }
    +
    +    LeaveCriticalSection(&m->lock);
    +
    +    return ret;
    +}
    +
    +/* is an ifstub table marshaled? */
    +BOOL stub_manager_is_table_marshaled(struct stub_manager *m, const IPID *ipid)
    +{
    +    struct ifstub *ifstub;
    +    BOOL ret;
    +
    +    ifstub = stub_manager_ipid_to_ifstub(m, ipid);
    +    if (!ifstub)
    +    {
    +        WARN("Can't find ifstub for OID %s, IPID %s\n",
    +            wine_dbgstr_longlong(m->oid), wine_dbgstr_guid(ipid));
    +        return FALSE;
    +    }
    +
    +    EnterCriticalSection(&m->lock);
    +    ret = (ifstub->state == IFSTUB_STATE_TABLE_MARSHALED);
    +    LeaveCriticalSection(&m->lock);
    +
    +    return ret;
    +}
    +
    +
    +/*****************************************************************************
    + *
    + * IRemUnknown implementation
    + *
    + *
    + * Note: this object is not related to the lifetime of a stub_manager, but it
    + * interacts with stub managers.
    + */
    +
    +const IID IID_IRemUnknown = { 0x00000131, 0, 0, {0xc0, 0, 0, 0, 0, 0, 0, 0x46} };
    +
    +typedef struct rem_unknown
    +{
    +    const IRemUnknownVtbl *lpVtbl;
    +    ULONG refs;
    +} RemUnknown;
    +
    +static const IRemUnknownVtbl RemUnknown_Vtbl;
    +
    +
    +/* construct an IRemUnknown object with one outstanding reference */
    +static HRESULT RemUnknown_Construct(IRemUnknown **ppRemUnknown)
    +{
    +    RemUnknown *This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
    +
    +    if (!This) return E_OUTOFMEMORY;
    +
    +    This->lpVtbl = &RemUnknown_Vtbl;
    +    This->refs = 1;
    +
    +    *ppRemUnknown = (IRemUnknown *)This;
    +    return S_OK;
    +}
    +
    +static HRESULT WINAPI RemUnknown_QueryInterface(IRemUnknown *iface, REFIID riid, void **ppv)
    +{
    +    TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv);
    +
    +    if (IsEqualIID(riid, &IID_IUnknown) ||
    +        IsEqualIID(riid, &IID_IRemUnknown))
    +    {
    +        *ppv = (LPVOID)iface;
    +        IRemUnknown_AddRef(iface);
    +        return S_OK;
    +    }
    +
    +    FIXME("No interface for iid %s\n", debugstr_guid(riid));
    +
    +    *ppv = NULL;
    +    return E_NOINTERFACE;
    +}
    +
    +static ULONG WINAPI RemUnknown_AddRef(IRemUnknown *iface)
    +{
    +    ULONG refs;
    +    RemUnknown *This = (RemUnknown *)iface;
    +
    +    refs = InterlockedIncrement(&This->refs);
    +
    +    TRACE("%p before: %ld\n", iface, refs-1);
    +    return refs;
    +}
    +
    +static ULONG WINAPI RemUnknown_Release(IRemUnknown *iface)
    +{
    +    ULONG refs;
    +    RemUnknown *This = (RemUnknown *)iface;
    +
    +    refs = InterlockedDecrement(&This->refs);
    +    if (!refs)
    +        HeapFree(GetProcessHeap(), 0, This);
    +
    +    TRACE("%p after: %ld\n", iface, refs);
    +    return refs;
    +}
    +
    +static HRESULT WINAPI RemUnknown_RemQueryInterface(IRemUnknown *iface,
    +    REFIPID ripid, ULONG cRefs, USHORT cIids, IID *iids /* [size_is(cIids)] */,
    +    REMQIRESULT **ppQIResults /* [size_is(,cIids)] */)
    +{
    +    HRESULT hr;
    +    USHORT i;
    +    USHORT successful_qis = 0;
    +    APARTMENT *apt;
    +    struct stub_manager *stubmgr;
    +
    +    TRACE("(%p)->(%s, %ld, %d, %p, %p)\n", iface, debugstr_guid(ripid), cRefs, cIids, iids, ppQIResults);
    +
    +    hr = ipid_to_stub_manager(ripid, &apt, &stubmgr);
    +    if (hr != S_OK) return hr;
    +
    +    *ppQIResults = CoTaskMemAlloc(sizeof(REMQIRESULT) * cIids);
    +
    +    for (i = 0; i < cIids; i++)
    +    {
    +        HRESULT hrobj = register_ifstub(apt, &(*ppQIResults)[i].std, &iids[i],
    +                                        stubmgr->object, MSHLFLAGS_NORMAL);
    +        if (hrobj == S_OK)
    +            successful_qis++;
    +        (*ppQIResults)[i].hResult = hrobj;
    +    }
    +
    +    stub_manager_int_release(stubmgr);
    +    COM_ApartmentRelease(apt);
    +
    +    if (successful_qis == cIids)
    +        return S_OK; /* we got all requested interfaces */
    +    else if (successful_qis == 0)
    +        return E_NOINTERFACE; /* we didn't get any interfaces */
    +    else
    +        return S_FALSE; /* we got some interfaces */
    +}
    +
    +static HRESULT WINAPI RemUnknown_RemAddRef(IRemUnknown *iface,
    +    USHORT cInterfaceRefs,
    +    REMINTERFACEREF* InterfaceRefs /* [size_is(cInterfaceRefs)] */,
    +    HRESULT *pResults /* [size_is(cInterfaceRefs)] */)
    +{
    +    HRESULT hr = S_OK;
    +    USHORT i;
    +
    +    TRACE("(%p)->(%d, %p, %p)\n", iface, cInterfaceRefs, InterfaceRefs, pResults);
    +
    +    for (i = 0; i < cInterfaceRefs; i++)
    +    {
    +        APARTMENT *apt;
    +        struct stub_manager *stubmgr;
    +
    +        pResults[i] = ipid_to_stub_manager(&InterfaceRefs[i].ipid, &apt, &stubmgr);
    +        if (pResults[i] != S_OK)
    +        {
    +            hr = S_FALSE;
    +            continue;
    +        }
    +
    +        stub_manager_ext_addref(stubmgr, InterfaceRefs[i].cPublicRefs);
    +        if (InterfaceRefs[i].cPrivateRefs)
    +            FIXME("Adding %ld refs securely not implemented\n", InterfaceRefs[i].cPrivateRefs);
    +
    +        stub_manager_int_release(stubmgr);
    +        COM_ApartmentRelease(apt);
    +    }
    +
    +    return hr;
    +}
    +
    +static HRESULT WINAPI RemUnknown_RemRelease(IRemUnknown *iface,
    +    USHORT cInterfaceRefs,
    +    REMINTERFACEREF* InterfaceRefs /* [size_is(cInterfaceRefs)] */)
    +{
    +    HRESULT hr = S_OK;
    +    USHORT i;
    +
    +    TRACE("(%p)->(%d, %p)\n", iface, cInterfaceRefs, InterfaceRefs);
    +
    +    for (i = 0; i < cInterfaceRefs; i++)
    +    {
    +        APARTMENT *apt;
    +        struct stub_manager *stubmgr;
    +
    +        hr = ipid_to_stub_manager(&InterfaceRefs[i].ipid, &apt, &stubmgr);
    +        if (hr != S_OK)
    +        {
    +            hr = E_INVALIDARG;
    +            /* FIXME: we should undo any changes already made in this function */
    +            break;
    +        }
    +
    +        stub_manager_ext_release(stubmgr, InterfaceRefs[i].cPublicRefs);
    +        if (InterfaceRefs[i].cPrivateRefs)
    +            FIXME("Releasing %ld refs securely not implemented\n", InterfaceRefs[i].cPrivateRefs);
    +
    +        stub_manager_int_release(stubmgr);
    +        COM_ApartmentRelease(apt);
    +    }
    +
    +    return hr;
    +}
    +
    +static const IRemUnknownVtbl RemUnknown_Vtbl =
    +{
    +    RemUnknown_QueryInterface,
    +    RemUnknown_AddRef,
    +    RemUnknown_Release,
    +    RemUnknown_RemQueryInterface,
    +    RemUnknown_RemAddRef,
    +    RemUnknown_RemRelease
    +};
    +
    +/* starts the IRemUnknown listener for the current apartment */
    +HRESULT start_apartment_remote_unknown()
    +{
    +    IRemUnknown *pRemUnknown;
    +    HRESULT hr = S_OK;
    +    APARTMENT *apt = COM_CurrentApt();
    +
    +    EnterCriticalSection(&apt->cs);
    +    if (!apt->remunk_exported)
    +    {
    +        /* create the IRemUnknown object */
    +        hr = RemUnknown_Construct(&pRemUnknown);
    +        if (hr == S_OK)
    +        {
    +            STDOBJREF stdobjref; /* dummy - not used */
    +            /* register it with the stub manager */
    +            hr = register_ifstub(COM_CurrentApt(), &stdobjref, &IID_IRemUnknown, (IUnknown *)pRemUnknown, MSHLFLAGS_NORMAL);
    +            /* release our reference to the object as the stub manager will manage the life cycle for us */
    +            IRemUnknown_Release(pRemUnknown);
    +            if (hr == S_OK)
    +                apt->remunk_exported = TRUE;
    +        }
    +    }
    +    LeaveCriticalSection(&apt->cs);
    +    return hr;
    +}
    diff --git a/reactos/lib/oleaut32/Makefile.ros-template b/reactos/lib/oleaut32/Makefile.ros-template
    index 2e4659a9191..c885233629c 100644
    --- a/reactos/lib/oleaut32/Makefile.ros-template
    +++ b/reactos/lib/oleaut32/Makefile.ros-template
    @@ -6,7 +6,7 @@ TARGET_OBJECTS = @C_SRCS@
     
     TARGET_CFLAGS = @EXTRADEFS@ -D__REACTOS__
     
    -TARGET_SDKLIBS = @IMPORTS@ winmm.a wine.a wine_uuid.a wine_unicode.a ntdll.a
    +TARGET_SDKLIBS = @IMPORTS@ winmm.a wine.a wine_uuid.a ntdll.a
     
     TARGET_BASE = $(TARGET_BASE_LIB_OLEAUT32)
     
    diff --git a/reactos/lib/oleaut32/connpt.c b/reactos/lib/oleaut32/connpt.c
    index c820abf913c..1993619aaf3 100644
    --- a/reactos/lib/oleaut32/connpt.c
    +++ b/reactos/lib/oleaut32/connpt.c
    @@ -196,8 +196,11 @@ static HRESULT WINAPI ConnectionPointImpl_QueryInterface(
     static ULONG WINAPI ConnectionPointImpl_AddRef(IConnectionPoint* iface)
     {
       ConnectionPointImpl *This = (ConnectionPointImpl *)iface;
    -  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    -  return InterlockedIncrement(&This->ref);
    +  ULONG refCount = InterlockedIncrement(&This->ref);
    +
    +  TRACE("(%p)->(ref before=%ld)\n", This, refCount - 1);
    +
    +  return refCount;
     }
     
     /************************************************************************
    @@ -209,20 +212,16 @@ static ULONG WINAPI ConnectionPointImpl_Release(
           IConnectionPoint* iface)
     {
       ConnectionPointImpl *This = (ConnectionPointImpl *)iface;
    -  ULONG ref;
    -  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    +  ULONG refCount = InterlockedDecrement(&This->ref);
     
    -  /*
    -   * Decrease the reference count on this object.
    -   */
    -  ref = InterlockedDecrement(&This->ref);
    +  TRACE("(%p)->(ref before=%ld)\n", This, refCount + 1);
     
       /*
        * If the reference count goes down to 0, perform suicide.
        */
    -  if (ref == 0) ConnectionPointImpl_Destroy(This);
    +  if (!refCount) ConnectionPointImpl_Destroy(This);
     
    -  return ref;
    +  return refCount;
     }
     
     /************************************************************************
    @@ -470,11 +469,12 @@ static HRESULT WINAPI EnumConnectionsImpl_QueryInterface(
     static ULONG WINAPI EnumConnectionsImpl_AddRef(IEnumConnections* iface)
     {
       EnumConnectionsImpl *This = (EnumConnectionsImpl *)iface;
    -  ULONG ref;
    -  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    -  ref = InterlockedIncrement(&This->ref);
    +  ULONG refCount = InterlockedIncrement(&This->ref);
    +
    +  TRACE("(%p)->(ref before=%ld)\n", This, refCount - 1);
    +
       IUnknown_AddRef(This->pUnk);
    -  return ref;
    +  return refCount;
     }
     
     /************************************************************************
    @@ -485,22 +485,18 @@ static ULONG WINAPI EnumConnectionsImpl_AddRef(IEnumConnections* iface)
     static ULONG WINAPI EnumConnectionsImpl_Release(IEnumConnections* iface)
     {
       EnumConnectionsImpl *This = (EnumConnectionsImpl *)iface;
    -  ULONG ref;
    -  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    +  ULONG refCount = InterlockedDecrement(&This->ref);
    +
    +  TRACE("(%p)->(ref before=%ld)\n", This, refCount + 1);
     
       IUnknown_Release(This->pUnk);
     
    -  /*
    -   * Decrease the reference count on this object.
    -   */
    -  ref = InterlockedDecrement(&This->ref);
    -
       /*
        * If the reference count goes down to 0, perform suicide.
        */
    -  if (ref == 0) EnumConnectionsImpl_Destroy(This);
    +  if (!refCount) EnumConnectionsImpl_Destroy(This);
     
    -  return ref;
    +  return refCount;
     }
     
     /************************************************************************
    diff --git a/reactos/lib/oleaut32/dispatch.c b/reactos/lib/oleaut32/dispatch.c
    index b3bc302c5df..66bed47500e 100644
    --- a/reactos/lib/oleaut32/dispatch.c
    +++ b/reactos/lib/oleaut32/dispatch.c
    @@ -256,9 +256,11 @@ static HRESULT WINAPI StdDispatch_QueryInterface(
     static ULONG WINAPI StdDispatch_AddRef(LPDISPATCH iface)
     {
         StdDispatch *This = (StdDispatch *)iface;
    -    TRACE("()\n");
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    return InterlockedIncrement(&This->ref);
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
    +
    +    return refCount;
     }
     
     /******************************************************************************
    @@ -269,18 +271,17 @@ static ULONG WINAPI StdDispatch_AddRef(LPDISPATCH iface)
     static ULONG WINAPI StdDispatch_Release(LPDISPATCH iface)
     {
         StdDispatch *This = (StdDispatch *)iface;
    -    ULONG ref;
    -    TRACE("(%p)->()\n", This);
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    ref = InterlockedDecrement(&This->ref);
    +    TRACE("(%p)->(ref before=%lu)\n", This, refCount + 1);
     
    -    if (ref == 0)
    +    if (!refCount)
         {
             ITypeInfo_Release(This->pTypeInfo);
             CoTaskMemFree(This);
         }
     
    -    return ref;
    +    return refCount;
     }
     
     /******************************************************************************
    diff --git a/reactos/lib/oleaut32/oleaut.c b/reactos/lib/oleaut32/oleaut.c
    index 374eddf35e5..14268147008 100644
    --- a/reactos/lib/oleaut32/oleaut.c
    +++ b/reactos/lib/oleaut32/oleaut.c
    @@ -563,10 +563,11 @@ ULONG WINAPI OaBuildVersion()
         case 0x80000a04:  /* WIN98 */
         case 0x00000004:  /* NT40 */
         case 0x00000005:  /* W2K */
    +    case 0x00000105:  /* WinXP */
     		return MAKELONG(0xffff, 40);
         default:
    -		ERR("Version value not known yet. Please investigate it !\n");
    -		return 0x0;
    +		FIXME("Version value not known yet. Please investigate it !\n");
    +		return MAKELONG(0xffff, 40);  /* for now return the same value as for w2k */
         }
     }
     
    diff --git a/reactos/lib/oleaut32/oleaut32.xml b/reactos/lib/oleaut32/oleaut32.xml
    index 32720af1a25..a3cfd44cf41 100644
    --- a/reactos/lib/oleaut32/oleaut32.xml
    +++ b/reactos/lib/oleaut32/oleaut32.xml
    @@ -14,7 +14,6 @@
     	
     	
     	wine
    -	wine_unicode
     	uuid
     	ntdll
     	kernel32
    diff --git a/reactos/lib/oleaut32/olefont.c b/reactos/lib/oleaut32/olefont.c
    index 27d1fc5b010..09e8e2bdd42 100644
    --- a/reactos/lib/oleaut32/olefont.c
    +++ b/reactos/lib/oleaut32/olefont.c
    @@ -1214,7 +1214,7 @@ static HRESULT WINAPI OLEFontImpl_GetTypeInfo(
         return E_FAIL;
       hres = LoadTypeLib(stdole32tlb, &tl);
       if (FAILED(hres)) {
    -    FIXME("Could not load the stdole32.tlb?\n");
    +    ERR("Could not load the stdole32.tlb?\n");
         return hres;
       }
       hres = ITypeLib_GetTypeInfoOfGuid(tl, &IID_IDispatch, ppTInfo);
    diff --git a/reactos/lib/oleaut32/olepicture.c b/reactos/lib/oleaut32/olepicture.c
    index a7bbed07185..45736779be8 100644
    --- a/reactos/lib/oleaut32/olepicture.c
    +++ b/reactos/lib/oleaut32/olepicture.c
    @@ -409,8 +409,11 @@ static ULONG WINAPI OLEPictureImpl_AddRef(
       IPicture* iface)
     {
       OLEPictureImpl *This = (OLEPictureImpl *)iface;
    -  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    -  return InterlockedIncrement(&This->ref);
    +  ULONG refCount = InterlockedIncrement(&This->ref);
    +
    +  TRACE("(%p)->(ref before=%ld)\n", This, refCount - 1);
    +
    +  return refCount;
     }
     
     /************************************************************************
    @@ -422,20 +425,16 @@ static ULONG WINAPI OLEPictureImpl_Release(
           IPicture* iface)
     {
       OLEPictureImpl *This = (OLEPictureImpl *)iface;
    -  ULONG ret;
    -  TRACE("(%p)->(ref=%ld)\n", This, This->ref);
    +  ULONG refCount = InterlockedDecrement(&This->ref);
     
    -  /*
    -   * Decrease the reference count on this object.
    -   */
    -  ret = InterlockedDecrement(&This->ref);
    +  TRACE("(%p)->(ref before=%ld)\n", This, refCount + 1);
     
       /*
        * If the reference count goes down to 0, perform suicide.
        */
    -  if (ret==0) OLEPictureImpl_Destroy(This);
    +  if (!refCount) OLEPictureImpl_Destroy(This);
     
    -  return ret;
    +  return refCount;
     }
     
     
    diff --git a/reactos/lib/oleaut32/regsvr.c b/reactos/lib/oleaut32/regsvr.c
    index 6272f240d69..2c1e851b200 100644
    --- a/reactos/lib/oleaut32/regsvr.c
    +++ b/reactos/lib/oleaut32/regsvr.c
    @@ -545,7 +545,358 @@ static struct regsvr_coclass const coclass_list[] = {
      *		interface list
      */
     
    +/* FIXME: these interfaces should be defined in ocidl.idl */
    +
    +static IID const IID_IFontEventsDisp = {
    +    0x4EF6100A, 0xAF88, 0x11D0, {0x98,0x46,0x00,0xC0,0x4F,0xC2,0x99,0x93} };
    +
    +static IID const IID_IProvideMultipleClassInfo = {
    +    0xA7ABA9C1, 0x8983, 0x11CF, {0x8F,0x20,0x00,0x80,0x5F,0x2C,0xD0,0x64} };
    +
     static struct regsvr_interface const interface_list[] = {
    +    {   &IID_IDispatch,
    +	"IDispatch",
    +	NULL,
    +	7,
    +	&CLSID_PSDispatch,
    +	&CLSID_PSDispatch
    +    },
    +    {   &IID_ITypeInfo,
    +	"ITypeInfo",
    +	NULL,
    +	22,
    +	NULL,
    +	&CLSID_PSTypeInfo
    +    },
    +    {   &IID_ITypeLib,
    +	"ITypeLib",
    +	NULL,
    +	13,
    +	NULL,
    +	&CLSID_PSTypeLib
    +    },
    +    {   &IID_ITypeComp,
    +	"ITypeComp",
    +	NULL,
    +	5,
    +	NULL,
    +	&CLSID_PSTypeComp
    +    },
    +    {   &IID_IEnumVARIANT,
    +	"IEnumVARIANT",
    +	NULL,
    +	15,
    +	NULL,
    +	&CLSID_PSEnumVariant
    +    },
    +    {   &IID_ICreateTypeInfo,
    +	"ICreateTypeInfo",
    +	NULL,
    +	26,
    +	NULL,
    +	NULL
    +    },
    +    {   &IID_ICreateTypeLib,
    +	"ICreateTypeLib",
    +	NULL,
    +	13,
    +	NULL,
    +	NULL
    +    },
    +    {   &IID_ITypeInfo2,
    +	"ITypeInfo2",
    +	NULL,
    +	32,
    +	NULL,
    +	&CLSID_PSDispatch
    +    },
    +    {   &IID_ITypeLib2,
    +	"ITypeLib2",
    +	NULL,
    +	16,
    +	NULL,
    +	&CLSID_PSDispatch
    +    },
    +    {   &IID_IPropertyPage2,
    +	"IPropertyPage2",
    +	NULL,
    +	15,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IErrorInfo,
    +	"IErrorInfo",
    +	NULL,
    +	8,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_ICreateErrorInfo,
    +	"ICreateErrorInfo",
    +	NULL,
    +	8,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPersistPropertyBag2,
    +	"IPersistPropertyBag2",
    +	NULL,
    +	8,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPropertyBag2,
    +	"IPropertyBag2",
    +	NULL,
    +	8,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IErrorLog,
    +	"IErrorLog",
    +	NULL,
    +	4,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPerPropertyBrowsing,
    +	"IPerPropertyBrowsing",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPersistPropertyBag,
    +	"IPersistPropertyBag",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IAdviseSinkEx,
    +	"IAdviseSinkEx",
    +	NULL,
    +	9,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IFontEventsDisp,
    +	"IFontEventsDisp",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPropertyBag,
    +	"IPropertyBag",
    +	NULL,
    +	5,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPointerInactive,
    +	"IPointerInactive",
    +	NULL,
    +	6,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_ISimpleFrameSite,
    +	"ISimpleFrameSite",
    +	NULL,
    +	5,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPicture,
    +	"IPicture",
    +	NULL,
    +	17,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPictureDisp,
    +	"IPictureDisp",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPersistStreamInit,
    +	"IPersistStreamInit",
    +	NULL,
    +	9,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IOleUndoUnit,
    +	"IOleUndoUnit",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPropertyNotifySink,
    +	"IPropertyNotifySink",
    +	NULL,
    +	5,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IOleInPlaceSiteEx,
    +	"IOleInPlaceSiteEx",
    +	NULL,
    +	18,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IOleParentUndoUnit,
    +	"IOleParentUndoUnit",
    +	NULL,
    +	12,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IProvideClassInfo2,
    +	"IProvideClassInfo2",
    +	NULL,
    +	5,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IProvideMultipleClassInfo,
    +	"IProvideMultipleClassInfo",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IProvideClassInfo,
    +	"IProvideClassInfo",
    +	NULL,
    +	4,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IConnectionPointContainer,
    +	"IConnectionPointContainer",
    +	NULL,
    +	5,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IEnumConnectionPoints,
    +	"IEnumConnectionPoints",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IConnectionPoint,
    +	"IConnectionPoint",
    +	NULL,
    +	8,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IEnumConnections,
    +	"IEnumConnections",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IOleControl,
    +	"IOleControl",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IOleControlSite,
    +	"IOleControlSite",
    +	NULL,
    +	10,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_ISpecifyPropertyPages,
    +	"ISpecifyPropertyPages",
    +	NULL,
    +	4,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPropertyPageSite,
    +	"IPropertyPageSite",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPropertyPage,
    +	"IPropertyPage",
    +	NULL,
    +	14,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IClassFactory2,
    +	"IClassFactory2",
    +	NULL,
    +	8,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IEnumOleUndoUnits,
    +	"IEnumOleUndoUnits",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IPersistMemory,
    +	"IPersistMemory",
    +	NULL,
    +	9,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IFont,
    +	"IFont",
    +	NULL,
    +	27,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IFontDisp,
    +	"IFontDisp",
    +	NULL,
    +	7,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IQuickActivate,
    +	"IQuickActivate",
    +	NULL,
    +	6,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IOleUndoManager,
    +	"IOleUndoManager",
    +	NULL,
    +	15,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
    +    {   &IID_IObjectWithSite,
    +	"IObjectWithSite",
    +	NULL,
    +	5,
    +	NULL,
    +	&CLSID_PSFactoryBuffer
    +    },
         { NULL }			/* list terminator */
     };
     
    diff --git a/reactos/lib/oleaut32/safearray.c b/reactos/lib/oleaut32/safearray.c
    index b79f56ab76b..d183a5cc614 100644
    --- a/reactos/lib/oleaut32/safearray.c
    +++ b/reactos/lib/oleaut32/safearray.c
    @@ -1337,7 +1337,7 @@ HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
       TRACE("(%p)\n", psa);
     
       if(!psa)
    -    return E_INVALIDARG;
    +    return S_OK;
     
       if(psa->cLocks > 0)
         return DISP_E_ARRAYISLOCKED;
    diff --git a/reactos/lib/oleaut32/tmarshal.c b/reactos/lib/oleaut32/tmarshal.c
    index 0957d74ae4e..efc1f1021d2 100644
    --- a/reactos/lib/oleaut32/tmarshal.c
    +++ b/reactos/lib/oleaut32/tmarshal.c
    @@ -116,34 +116,50 @@ _unmarshal_interface(marshal_state *buf, REFIID riid, LPUNKNOWN *pUnk) {
         DWORD		xsize;
     
         TRACE("...%s...\n",debugstr_guid(riid));
    +    
         *pUnk = NULL;
         hres = xbuf_get(buf,(LPBYTE)&xsize,sizeof(xsize));
    -    if (hres) return hres;
    +    if (hres) {
    +        ERR("xbuf_get failed\n");
    +        return hres;
    +    }
    +    
         if (xsize == 0) return S_OK;
    +    
         hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
         if (hres) {
    -	FIXME("Stream create failed %lx\n",hres);
    +	ERR("Stream create failed %lx\n",hres);
     	return hres;
         }
    +    
         hres = IStream_Write(pStm,buf->base+buf->curoff,xsize,&res);
    -    if (hres) { FIXME("stream write %lx\n",hres); return hres; }
    +    if (hres) {
    +        ERR("stream write %lx\n",hres);
    +        return hres;
    +    }
    +    
         memset(&seekto,0,sizeof(seekto));
         hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos);
    -    if (hres) { FIXME("Failed Seek %lx\n",hres); return hres;}
    +    if (hres) {
    +        ERR("Failed Seek %lx\n",hres);
    +        return hres;
    +    }
    +    
         hres = CoUnmarshalInterface(pStm,riid,(LPVOID*)pUnk);
         if (hres) {
    -	FIXME("Marshalling interface %s failed with %lx\n",debugstr_guid(riid),hres);
    +	ERR("Unmarshalling interface %s failed with %lx\n",debugstr_guid(riid),hres);
     	return hres;
         }
    +    
         IStream_Release(pStm);
         return xbuf_skip(buf,xsize);
     }
     
     static HRESULT
     _marshal_interface(marshal_state *buf, REFIID riid, LPUNKNOWN pUnk) {
    -    LPUNKNOWN		newiface;
    -    LPBYTE		tempbuf;
    -    IStream		*pStm;
    +    LPUNKNOWN		newiface = NULL;
    +    LPBYTE		tempbuf = NULL;
    +    IStream		*pStm = NULL;
         STATSTG		ststg;
         ULARGE_INTEGER	newpos;
         LARGE_INTEGER	seekto;
    @@ -151,45 +167,67 @@ _marshal_interface(marshal_state *buf, REFIID riid, LPUNKNOWN pUnk) {
         DWORD		xsize;
         HRESULT		hres;
     
    -    hres = S_OK;
    -    if (!pUnk)
    +    hres = E_FAIL;
    +    if (!pUnk) {
    +        ERR("pUnk is NULL?\n");
     	goto fail;
    +    }
     
         TRACE("...%s...\n",debugstr_guid(riid));
    -    hres=IUnknown_QueryInterface(pUnk,riid,(LPVOID*)&newiface);
    +    hres = IUnknown_QueryInterface(pUnk,riid,(LPVOID*)&newiface);
         if (hres) {
    -	TRACE("%p does not support iface %s\n",pUnk,debugstr_guid(riid));
    +	WARN("%p does not support iface %s\n",pUnk,debugstr_guid(riid));
     	goto fail;
         }
    +    
         hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
         if (hres) {
    -	FIXME("Stream create failed %lx\n",hres);
    +	ERR("Stream create failed %lx\n",hres);
     	goto fail;
         }
    +    
         hres = CoMarshalInterface(pStm,riid,newiface,0,NULL,0);
    -    IUnknown_Release(newiface);
         if (hres) {
    -	FIXME("Marshalling interface %s failed with %lx\n",
    -		debugstr_guid(riid),hres
    -	);
    +	ERR("Marshalling interface %s failed with %lx\n", debugstr_guid(riid), hres);
     	goto fail;
         }
    +    
         hres = IStream_Stat(pStm,&ststg,0);
    +    if (hres) {
    +        ERR("Stream stat failed\n");
    +        goto fail;
    +    }
    +    
         tempbuf = HeapAlloc(GetProcessHeap(), 0, ststg.cbSize.u.LowPart);
         memset(&seekto,0,sizeof(seekto));
         hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos);
    -    if (hres) { FIXME("Failed Seek %lx\n",hres); goto fail;}
    +    if (hres) {
    +        ERR("Failed Seek %lx\n",hres);
    +        goto fail;
    +    }
    +    
         hres = IStream_Read(pStm,tempbuf,ststg.cbSize.u.LowPart,&res);
    -    if (hres) { FIXME("Failed Read %lx\n",hres); goto fail;}
    -    IStream_Release(pStm);
    +    if (hres) {
    +        ERR("Failed Read %lx\n",hres);
    +        goto fail;
    +    }
    +    
         xsize = ststg.cbSize.u.LowPart;
         xbuf_add(buf,(LPBYTE)&xsize,sizeof(xsize));
         hres = xbuf_add(buf,tempbuf,ststg.cbSize.u.LowPart);
    +    
         HeapFree(GetProcessHeap(),0,tempbuf);
    +    IUnknown_Release(newiface);
    +    IStream_Release(pStm);
    +    
         return hres;
    +    
     fail:
         xsize = 0;
         xbuf_add(buf,(LPBYTE)&xsize,sizeof(xsize));
    +    if (pStm) IUnknown_Release(pStm);
    +    if (newiface) IUnknown_Release(newiface);
    +    HeapFree(GetProcessHeap(), 0, tempbuf);
         return hres;
     }
     
    @@ -225,20 +263,20 @@ _get_typeinfo_for_iid(REFIID riid, ITypeInfo**ti) {
         );
     
         if (RegOpenKeyA(HKEY_CLASSES_ROOT,interfacekey,&ikey)) {
    -	FIXME("No %s key found.\n",interfacekey);
    +	ERR("No %s key found.\n",interfacekey);
            	return E_FAIL;
         }
         type = (1<ref);
     
    -    TRACE("()\n");
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
     
    -    return InterlockedIncrement(&This->ref);
    +    return refCount;
     }
     
     static ULONG WINAPI
     TMProxyImpl_Release(LPRPCPROXYBUFFER iface)
     {
    -    ULONG refs;
         ICOM_THIS_MULTI(TMProxyImpl,lpvtbl2,iface);
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE("()\n");
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount + 1);
     
    -    refs = InterlockedDecrement(&This->ref);
    -    if (!refs)
    +    if (!refCount)
         {
             DeleteCriticalSection(&This->crit);
             if (This->chanbuf) IRpcChannelBuffer_Release(This->chanbuf);
             VirtualFree(This->asmstubs, 0, MEM_RELEASE);
             CoTaskMemFree(This);
         }
    -    return refs;
    +    return refCount;
     }
     
     static HRESULT WINAPI
    @@ -551,7 +589,7 @@ serialize_param(
     
     	hres = ITypeInfo_GetRefTypeInfo(tinfo,tdesc->u.hreftype,&tinfo2);
     	if (hres) {
    -	    FIXME("Could not get typeinfo of hreftype %lx for VT_USERDEFINED.\n",tdesc->u.hreftype);
    +	    ERR("Could not get typeinfo of hreftype %lx for VT_USERDEFINED.\n",tdesc->u.hreftype);
     	    return hres;
     	}
     	ITypeInfo_GetTypeAttr(tinfo2,&tattr);
    @@ -571,7 +609,7 @@ serialize_param(
     
     		hres = ITypeInfo2_GetVarDesc(tinfo2, i, &vdesc);
     		if (hres) {
    -		    FIXME("Could not get vardesc of %d\n",i);
    +		    ERR("Could not get vardesc of %d\n",i);
     		    return hres;
     		}
     		/* Need them for hack below */
    @@ -816,7 +854,7 @@ deserialize_param(
     	case VT_UI1:
     	    if (readit) {
     		hres = xbuf_get(buf,(LPBYTE)arg,sizeof(DWORD));
    -		if (hres) FIXME("Failed to read integer 4 byte\n");
    +		if (hres) ERR("Failed to read integer 4 byte\n");
     	    }
     	    if (debugout) TRACE_(olerelay)("%lx",*arg);
     	    return hres;
    @@ -827,7 +865,7 @@ deserialize_param(
     	    if (readit) {
     		hres = xbuf_get(buf,(LPBYTE)&len,sizeof(DWORD));
     		if (hres) {
    -		    FIXME("failed to read bstr klen\n");
    +		    ERR("failed to read bstr klen\n");
     		    return hres;
     		}
     		if (len == -1) {
    @@ -837,7 +875,7 @@ deserialize_param(
     		    str  = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,len+sizeof(WCHAR));
     		    hres = xbuf_get(buf,(LPBYTE)str,len);
     		    if (hres) {
    -			FIXME("Failed to read BSTR.\n");
    +			ERR("Failed to read BSTR.\n");
     			return hres;
     		    }
     		    *arg = (DWORD)SysAllocStringLen(str,len);
    @@ -858,7 +896,7 @@ deserialize_param(
     	    if (readit) {
     		hres = xbuf_get(buf,(LPBYTE)&cookie,sizeof(cookie));
     		if (hres) {
    -		    FIXME("Failed to load pointer cookie.\n");
    +		    ERR("Failed to load pointer cookie.\n");
     		    return hres;
     		}
     		if (cookie != 0x42424242) {
    @@ -903,12 +941,12 @@ deserialize_param(
     
     	    hres = ITypeInfo_GetRefTypeInfo(tinfo,tdesc->u.hreftype,&tinfo2);
     	    if (hres) {
    -		FIXME("Could not get typeinfo of hreftype %lx for VT_USERDEFINED.\n",tdesc->u.hreftype);
    +		ERR("Could not get typeinfo of hreftype %lx for VT_USERDEFINED.\n",tdesc->u.hreftype);
     		return hres;
     	    }
     	    hres = ITypeInfo_GetTypeAttr(tinfo2,&tattr);
     	    if (hres) {
    -		FIXME("Could not get typeattr in VT_USERDEFINED.\n");
    +		ERR("Could not get typeattr in VT_USERDEFINED.\n");
     	    } else {
     		if (alloc)
     		    *arg = (DWORD)HeapAlloc(GetProcessHeap(),0,tattr->cbSizeInstance);
    @@ -927,7 +965,7 @@ deserialize_param(
     
     			hres = ITypeInfo2_GetVarDesc(tinfo2, i, &vdesc);
     			if (hres) {
    -			    FIXME("Could not get vardesc of %d\n",i);
    +			    ERR("Could not get vardesc of %d\n",i);
     			    return hres;
     			}
     			hres = deserialize_param(
    @@ -953,7 +991,7 @@ deserialize_param(
     		}
     	    }
     	    if (hres)
    -		FIXME("failed to stuballoc in TKIND_RECORD.\n");
    +		ERR("failed to stuballoc in TKIND_RECORD.\n");
     	    ITypeInfo_Release(tinfo2);
     	    return hres;
     	}
    @@ -1126,26 +1164,26 @@ _get_funcdesc(
     
     	    hres = ITypeInfo_GetTypeAttr(tinfo, &attr);
     	    if (hres) {
    -		FIXME("GetTypeAttr failed with %lx\n",hres);
    +		ERR("GetTypeAttr failed with %lx\n",hres);
     		return hres;
     	    }
     	    /* Not found, so look in inherited ifaces. */
     	    for (j=0;jcImplTypes;j++) {
     		hres = ITypeInfo_GetRefTypeOfImplType(tinfo, j, &href);
     		if (hres) {
    -		    FIXME("Did not find a reftype for interface offset %d?\n",j);
    +		    ERR("Did not find a reftype for interface offset %d?\n",j);
     		    break;
     		}
     		hres = ITypeInfo_GetRefTypeInfo(tinfo, href, &tinfo2);
     		if (hres) {
    -		    FIXME("Did not find a typeinfo for reftype %ld?\n",href);
    +		    ERR("Did not find a typeinfo for reftype %ld?\n",href);
     		    continue;
     		}
     		hres = _get_funcdesc(tinfo2,iMethod,fdesc,iname,fname);
     		ITypeInfo_Release(tinfo2);
     		if (!hres) return S_OK;
     	    }
    -	    return E_FAIL;
    +	    return hres;
     	}
     	if (((*fdesc)->oVft/4) == iMethod) {
     	    if (fname)
    @@ -1273,7 +1311,7 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
     		);
     
     	    if (hres) {
    -		FIXME("Failed to serialize param, hres %lx\n",hres);
    +		ERR("Failed to serialize param, hres %lx\n",hres);
     		break;
     	    }
     	    xargs+=_argsize(elem->tdesc.vt);
    @@ -1285,7 +1323,7 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
         msg.iMethod  = method;
         hres = IRpcChannelBuffer_GetBuffer(tpinfo->chanbuf,&msg,&(tpinfo->iid));
         if (hres) {
    -	FIXME("RpcChannelBuffer GetBuffer failed, %lx\n",hres);
    +	ERR("RpcChannelBuffer GetBuffer failed, %lx\n",hres);
             LeaveCriticalSection(&tpinfo->crit);
     	return hres;
         }
    @@ -1293,7 +1331,7 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
         if (relaydeb) TRACE_(olerelay)("\n");
         hres = IRpcChannelBuffer_SendReceive(tpinfo->chanbuf,&msg,&status);
         if (hres) {
    -	FIXME("RpcChannelBuffer SendReceive failed, %lx\n",hres);
    +	ERR("RpcChannelBuffer SendReceive failed, %lx\n",hres);
             LeaveCriticalSection(&tpinfo->crit);
     	return hres;
         }
    @@ -1343,7 +1381,7 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
     			&buf
     		    );
     		    if (hres) {
    -			FIXME("Failed to deserialize DISPPARAM*, hres %lx\n",hres);
    +			ERR("Failed to deserialize DISPPARAM*, hres %lx\n",hres);
     			break;
     		    }
     		    isdeserialized = TRUE;
    @@ -1373,7 +1411,8 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */)
     		    &buf
     		);
     	    if (hres) {
    -		FIXME("Failed to unmarshall param, hres %lx\n",hres);
    +		ERR("Failed to unmarshall param, hres %lx\n",hres);
    +		status = hres;
     		break;
     	    }
     	    xargs += _argsize(elem->tdesc.vt);
    @@ -1401,7 +1440,7 @@ PSFacBuf_CreateProxy(
         TRACE("(...%s...)\n",debugstr_guid(riid));
         hres = _get_typeinfo_for_iid(riid,&tinfo);
         if (hres) {
    -	FIXME("No typeinfo for %s?\n",debugstr_guid(riid));
    +	ERR("No typeinfo for %s?\n",debugstr_guid(riid));
     	return hres;
         }
         nroffuncs = _nroffuncs(tinfo);
    @@ -1434,7 +1473,7 @@ PSFacBuf_CreateProxy(
     		int j;
     		hres = _get_funcdesc(tinfo,i,&fdesc,NULL,NULL);
     		if (hres) {
    -		    FIXME("GetFuncDesc %lx should not fail here.\n",hres);
    +		    ERR("GetFuncDesc %lx should not fail here.\n",hres);
     		    return hres;
     		}
     		/* some args take more than 4 byte on the stack */
    @@ -1505,27 +1544,27 @@ static ULONG WINAPI
     TMStubImpl_AddRef(LPRPCSTUBBUFFER iface)
     {
         TMStubImpl *This = (TMStubImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
             
    -    TRACE("(%p) before %lu\n", This, This->ref);
    +    TRACE("(%p)->(ref before=%lu)\n", This, refCount - 1);
     
    -    return InterlockedIncrement(&This->ref);
    +    return refCount;
     }
     
     static ULONG WINAPI
     TMStubImpl_Release(LPRPCSTUBBUFFER iface)
     {
    -    ULONG refs;
         TMStubImpl *This = (TMStubImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE("(%p) after %lu\n", This, This->ref-1);
    +    TRACE("(%p)->(ref before=%lu)\n", This, refCount + 1);
     
    -    refs = InterlockedDecrement(&This->ref);
    -    if (!refs)
    +    if (!refCount)
         {
             IRpcStubBuffer_Disconnect(iface);
             CoTaskMemFree(This);
         }
    -    return refs;
    +    return refCount;
     }
     
     static HRESULT WINAPI
    @@ -1585,7 +1624,7 @@ TMStubImpl_Invoke(
         }
         hres = _get_funcdesc(This->tinfo,xmsg->iMethod,&fdesc,NULL,NULL);
         if (hres) {
    -	FIXME("GetFuncDesc on method %ld failed with %lx\n",xmsg->iMethod,hres);
    +	ERR("GetFuncDesc on method %ld failed with %lx\n",xmsg->iMethod,hres);
     	return hres;
         }
         /* Need them for hack below */
    @@ -1626,7 +1665,7 @@ TMStubImpl_Invoke(
     		    &buf
     		);
     		if (hres) {
    -		    FIXME("Failed to deserialize DISPPARAM*, hres %lx\n",hres);
    +		    ERR("Failed to deserialize DISPPARAM*, hres %lx\n",hres);
     		    break;
     		}
     		isdeserialized = TRUE;
    @@ -1657,7 +1696,7 @@ TMStubImpl_Invoke(
     	    );
     	xargs += _argsize(elem->tdesc.vt);
     	if (hres) {
    -	    FIXME("Failed to deserialize param %s, hres %lx\n",relaystr(names[i+1]),hres);
    +	    ERR("Failed to deserialize param %s, hres %lx\n",relaystr(names[i+1]),hres);
     	    break;
     	}
         }
    @@ -1724,7 +1763,7 @@ TMStubImpl_Invoke(
     	    );
     	xargs += _argsize(elem->tdesc.vt);
     	if (hres) {
    -	    FIXME("Failed to stuballoc param, hres %lx\n",hres);
    +	    ERR("Failed to stuballoc param, hres %lx\n",hres);
     	    break;
     	}
         }
    @@ -1783,7 +1822,7 @@ PSFacBuf_CreateStub(
         TRACE("(%s,%p,%p)\n",debugstr_guid(riid),pUnkServer,ppStub);
         hres = _get_typeinfo_for_iid(riid,&tinfo);
         if (hres) {
    -	FIXME("No typeinfo for %s?\n",debugstr_guid(riid));
    +	ERR("No typeinfo for %s?\n",debugstr_guid(riid));
     	return hres;
         }
         stub = CoTaskMemAlloc(sizeof(TMStubImpl));
    @@ -1797,7 +1836,7 @@ PSFacBuf_CreateStub(
         *ppStub 		= (LPRPCSTUBBUFFER)stub;
         TRACE("IRpcStubBuffer: %p\n", stub);
         if (hres)
    -	FIXME("Connect to pUnkServer failed?\n");
    +	ERR("Connect to pUnkServer failed?\n");
         return hres;
     }
     
    diff --git a/reactos/lib/oleaut32/typelib.c b/reactos/lib/oleaut32/typelib.c
    index 1d09c2a1141..ca56e7f416e 100644
    --- a/reactos/lib/oleaut32/typelib.c
    +++ b/reactos/lib/oleaut32/typelib.c
    @@ -291,7 +291,7 @@ HRESULT WINAPI LoadTypeLib(
         const OLECHAR *szFile,/* [in] Name of file to load from */
         ITypeLib * *pptLib)   /* [out] Pointer to pointer to loaded type library */
     {
    -    TRACE("\n");
    +    TRACE("(%s,%p)\n",debugstr_w(szFile), pptLib);
         return LoadTypeLibEx(szFile, REGKIND_DEFAULT, pptLib);
     }
     
    @@ -332,26 +332,7 @@ HRESULT WINAPI LoadTypeLibEx(
     	    if (GetFileAttributesW(szFileCopy) & FILE_ATTRIBUTE_DIRECTORY)
     		return TYPE_E_CANTLOADLIBRARY;
     	} else {
    -	    WCHAR tstpath[260];
    -	    static const WCHAR stdole32tlb[] = { 's','t','d','o','l','e','3','2','.','t','l','b',0 };
    -	    int i;
    -
    -	    lstrcpyW(tstpath,szFile);
    -	    CharLowerW(tstpath);
    -	    for (i=0;i> 8 == 0)
    +#define FITS_AS_I2(x) ((x) >> 16 == 0)
    +#define FITS_AS_I4(x) ((x) >> 32 == 0)
    +
     /**********************************************************************
      *              VarNumFromParseNum [OLEAUT32.47]
      *
    @@ -1977,52 +1982,43 @@ HRESULT WINAPI VarNumFromParseNum(NUMPARSE *pNumprs, BYTE *rgbDig,
         l64=-ul64;
     
         /* Try signed and unsigned types in size order */
    -    if (dwVtBits & VTBIT_I1 && ((ul64 <= I1_MAX)||(l64 >= I1_MIN)))
    +    if (dwVtBits & VTBIT_I1 && FITS_AS_I1(ul64))
         {
           V_VT(pVarDst) = VT_I1;
    -      if (ul64 <= I1_MAX)
    -          V_I1(pVarDst) = ul64;
    -      else
    -          V_I1(pVarDst) = l64;
    +      V_I1(pVarDst) = ul64;
           return S_OK;
         }
    -    else if (dwVtBits & VTBIT_UI1 && ul64 <= UI1_MAX)
    +    else if (dwVtBits & VTBIT_UI1 && FITS_AS_I1(ul64))
         {
           V_VT(pVarDst) = VT_UI1;
           V_UI1(pVarDst) = ul64;
           return S_OK;
         }
    -    else if (dwVtBits & VTBIT_I2 && ((ul64 <= I2_MAX)||(l64 >= I2_MIN)))
    +    else if (dwVtBits & VTBIT_I2 && FITS_AS_I2(ul64))
         {
           V_VT(pVarDst) = VT_I2;
    -      if (ul64 <= I2_MAX)
    -          V_I2(pVarDst) = ul64;
    -      else
    -          V_I2(pVarDst) = l64;
    +      V_I2(pVarDst) = ul64;
           return S_OK;
         }
    -    else if (dwVtBits & VTBIT_UI2 && ul64 <= UI2_MAX)
    +    else if (dwVtBits & VTBIT_UI2 && FITS_AS_I2(ul64))
         {
           V_VT(pVarDst) = VT_UI2;
           V_UI2(pVarDst) = ul64;
           return S_OK;
         }
    -    else if (dwVtBits & VTBIT_I4 && ((ul64 <= I4_MAX)||(l64 >= I4_MIN)))
    +    else if (dwVtBits & VTBIT_I4 && FITS_AS_I4(ul64))
         {
           V_VT(pVarDst) = VT_I4;
    -      if (ul64 <= I4_MAX)
    -          V_I4(pVarDst) = ul64;
    -      else
    -          V_I4(pVarDst) = l64;
    +      V_I4(pVarDst) = ul64;
           return S_OK;
         }
    -    else if (dwVtBits & VTBIT_UI4 && ul64 <= UI4_MAX)
    +    else if (dwVtBits & VTBIT_UI4 && FITS_AS_I4(ul64))
         {
           V_VT(pVarDst) = VT_UI4;
           V_UI4(pVarDst) = ul64;
           return S_OK;
         }
    -    else if (dwVtBits & VTBIT_I8 && ((ul64 <= I4_MAX)||(l64>=I4_MIN)))
    +    else if (dwVtBits & VTBIT_I8 && ((ul64 <= I8_MAX)||(l64>=I8_MIN)))
         {
           V_VT(pVarDst) = VT_I8;
           V_I8(pVarDst) = ul64;
    @@ -2471,6 +2467,7 @@ HRESULT WINAPI VarCat(LPVARIANT left, LPVARIANT right, LPVARIANT out)
     	HRESULT hres;
     
             V_VT(out) = VT_BSTR;
    +        VariantInit(&bstrvar);
             hres = VariantChangeTypeEx(&bstrvar,right,0,0,VT_BSTR);
     	if (hres) {
     	    FIXME("Failed to convert right side from vt %d to VT_BSTR?\n",V_VT(right));
    @@ -2484,6 +2481,7 @@ HRESULT WINAPI VarCat(LPVARIANT left, LPVARIANT right, LPVARIANT out)
     	HRESULT hres;
     
             V_VT(out) = VT_BSTR;
    +        VariantInit(&bstrvar);
             hres = VariantChangeTypeEx(&bstrvar,left,0,0,VT_BSTR);
     	if (hres) {
     	    FIXME("Failed to convert right side from vt %d to VT_BSTR?\n",V_VT(right));
    diff --git a/reactos/lib/oledlg/oledlg_Fr.rc b/reactos/lib/oledlg/oledlg_Fr.rc
    new file mode 100644
    index 00000000000..b8e1ce49ea6
    --- /dev/null
    +++ b/reactos/lib/oledlg/oledlg_Fr.rc
    @@ -0,0 +1,59 @@
    +/*
    + * oledlg dll resources
    + * French language support
    + *
    + * Copyright (C) 2005 Jonathan Ernst
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +
    +LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT
    +
    +UIINSERTOBJECT DIALOG DISCARDABLE  0, 0, 294, 151
    +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
    +CAPTION "Insérer Objet"
    +FONT 8, "MS Shell Dlg"
    +BEGIN
    +    LISTBOX         IDC_OBJTYPELIST,82,19,131,66,LBS_SORT |
    +                    LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL |
    +                    WS_TABSTOP
    +    LTEXT           "Type d'objet:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE
    +    DEFPUSHBUTTON   "OK",IDOK,221,7,66,14
    +    PUSHBUTTON      "Annuler",IDCANCEL,221,24,66,14
    +    GROUPBOX        "Résultat",IDC_RESULT,7,103,208,41
    +    CONTROL         "Créer Nouveau",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | 
    +                    WS_GROUP,7,20,62,10
    +    CONTROL         "Créer Contrôle",IDC_CREATECONTROL,"Button",
    +                    BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10
    +    CONTROL         "Créer Depuis Fichier",IDC_CREATEFROMFILE,"Button",
    +                    BS_AUTORADIOBUTTON,7,37,67,10
    +    LTEXT           "",IDC_RESULTDESC,49,112,159,23
    +    PUSHBUTTON      "&Ajoute Contrôle...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE
    +    CONTROL         "Afficher Comme Icône",IDC_ASICON,"Button",BS_AUTOCHECKBOX | 
    +                    WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10
    +    PUSHBUTTON      "Parcourir...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE
    +    LTEXT           "Fichier:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE
    +    EDITTEXT        IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
    +END
    +
    +STRINGTABLE DISCARDABLE
    +{
    +  IDS_RESULTOBJDESC	"Insérer un nouvel object %s dans votre document"
    +  IDS_RESULTFILEOBJDESC	"Insère le contenu du fichier comme un objet dans votre document afin que vous puissiez l'activer en utilisant le programme avec lequel vous l'avez créé."
    +  IDS_BROWSE            "Parcourir"
    +  IDS_NOTOLEMOD         "Le fichier ne semble pas être un module OLE valide. Impossible d'enregistrer le contrôle OLE."
    +  IDS_NOTOLEMODCAPTION  "Ajouter Contrôle"
    +}
    diff --git a/reactos/lib/oledlg/rsrc.rc b/reactos/lib/oledlg/rsrc.rc
    index 4617259f923..09a88aa1f2b 100644
    --- a/reactos/lib/oledlg/rsrc.rc
    +++ b/reactos/lib/oledlg/rsrc.rc
    @@ -35,6 +35,7 @@
     #include "oledlg_De.rc"
     #include "oledlg_En.rc"
     #include "oledlg_Es.rc"
    +#include "oledlg_Fr.rc"
     #include "oledlg_It.rc"
     #include "oledlg_Ja.rc"
     #include "oledlg_Nl.rc"
    diff --git a/reactos/lib/riched20/Makefile.ros-template b/reactos/lib/riched20/Makefile.ros-template
    index 2e215df5ad4..f9a8b916bdf 100644
    --- a/reactos/lib/riched20/Makefile.ros-template
    +++ b/reactos/lib/riched20/Makefile.ros-template
    @@ -6,7 +6,7 @@ TARGET_OBJECTS = @C_SRCS@
     
     TARGET_CFLAGS = @EXTRADEFS@ -D__REACTOS__ -D__WINESRC__
     
    -TARGET_SDKLIBS = @IMPORTS@ wine.a ntdll.a wine_unicode.a
    +TARGET_SDKLIBS = @IMPORTS@ wine.a ntdll.a
     
     TARGET_BASE = $(TARGET_BASE_LIB_SETUPAPI)
     
    diff --git a/reactos/lib/rpcrt4/rpc_message.c b/reactos/lib/rpcrt4/rpc_message.c
    index 119af8cfab3..d10e56c9ab4 100644
    --- a/reactos/lib/rpcrt4/rpc_message.c
    +++ b/reactos/lib/rpcrt4/rpc_message.c
    @@ -265,10 +265,15 @@ RPC_STATUS RPCRT4_Send(RpcConnection *Connection, RpcPktHdr *Header,
         }
     
         /* transmit packet header */
    -    if (!WriteFile(Connection->conn, Header, hdr_size, &count, NULL)) {
    +    ResetEvent(Connection->ovl.hEvent);
    +    if (!WriteFile(Connection->conn, Header, hdr_size, &count, &Connection->ovl)) {
           WARN("WriteFile failed with error %ld\n", GetLastError());
           return GetLastError();
         }
    +    if (!GetOverlappedResult(Connection->conn, &Connection->ovl, &count, TRUE)) {
    +      WARN("GetOverlappedResult failed with error %ld\n", GetLastError());
    +      return GetLastError();
    +    }
     
         /* fragment consisted of header only and is the last one */
         if (hdr_size == Header->common.frag_len &&
    @@ -277,10 +282,15 @@ RPC_STATUS RPCRT4_Send(RpcConnection *Connection, RpcPktHdr *Header,
         }
     
         /* send the fragment data */
    -    if (!WriteFile(Connection->conn, buffer_pos, Header->common.frag_len - hdr_size, &count, NULL)) {
    +    ResetEvent(Connection->ovl.hEvent);
    +    if (!WriteFile(Connection->conn, buffer_pos, Header->common.frag_len - hdr_size, &count, &Connection->ovl)) {
           WARN("WriteFile failed with error %ld\n", GetLastError());
           return GetLastError();
         }
    +    if (!GetOverlappedResult(Connection->conn, &Connection->ovl, &count, TRUE)) {
    +      WARN("GetOverlappedResult failed with error %ld\n", GetLastError());
    +      return GetLastError();
    +    }
     
         Header->common.flags &= ~RPC_FLG_FIRST;
       }
    @@ -309,9 +319,15 @@ RPC_STATUS RPCRT4_Receive(RpcConnection *Connection, RpcPktHdr **Header,
       TRACE("(%p, %p, %p)\n", Connection, Header, pMsg);
     
       /* read packet common header */
    -  if (!ReadFile(Connection->conn, &common_hdr, sizeof(common_hdr), &dwRead, NULL)) {
    +  ResetEvent(Connection->ovl.hEvent);
    +  if (!ReadFile(Connection->conn, &common_hdr, sizeof(common_hdr), &dwRead, &Connection->ovl)) {
    +    WARN("ReadFile failed with error %ld\n", GetLastError());
    +    status = RPC_S_PROTOCOL_ERROR;
    +    goto fail;
    +  }
    +  if (!GetOverlappedResult(Connection->conn, &Connection->ovl, &dwRead, TRUE)) {
         if (GetLastError() != ERROR_MORE_DATA) {
    -      WARN("ReadFile failed with error %ld\n", GetLastError());
    +      WARN("GetOverlappedResult failed with error %ld\n", GetLastError());
           status = RPC_S_PROTOCOL_ERROR;
           goto fail;
         }
    @@ -339,10 +355,16 @@ RPC_STATUS RPCRT4_Receive(RpcConnection *Connection, RpcPktHdr **Header,
       memcpy(*Header, &common_hdr, sizeof(common_hdr));
     
       /* read the rest of packet header */
    +  ResetEvent(Connection->ovl.hEvent);
       if (!ReadFile(Connection->conn, &(*Header)->common + 1,
    -                hdr_length - sizeof(common_hdr), &dwRead, NULL)) {
    +                hdr_length - sizeof(common_hdr), &dwRead, &Connection->ovl)) {
    +    WARN("ReadFile failed with error %ld\n", GetLastError());
    +    status = RPC_S_PROTOCOL_ERROR;
    +    goto fail;
    +  }
    +  if (!GetOverlappedResult(Connection->conn, &Connection->ovl, &dwRead, TRUE)) {
         if (GetLastError() != ERROR_MORE_DATA) {
    -      WARN("ReadFile failed with error %ld\n", GetLastError());
    +      WARN("GetOverlappedResult failed with error %ld\n", GetLastError());
           status = RPC_S_PROTOCOL_ERROR;
           goto fail;
         }
    @@ -352,6 +374,7 @@ RPC_STATUS RPCRT4_Receive(RpcConnection *Connection, RpcPktHdr **Header,
         goto fail;
       }
     
    +
       /* read packet body */
       switch (common_hdr.ptype) {
       case PKT_RESPONSE:
    @@ -379,13 +402,20 @@ RPC_STATUS RPCRT4_Receive(RpcConnection *Connection, RpcPktHdr **Header,
           goto fail;
         }
     
    -    if (data_length == 0) dwRead = 0; else
    -    if (!ReadFile(Connection->conn, buffer_ptr, data_length, &dwRead, NULL)) {
    -      if (GetLastError() != ERROR_MORE_DATA) {
    +    if (data_length == 0) dwRead = 0; else {
    +      ResetEvent(Connection->ovl.hEvent);
    +      if (!ReadFile(Connection->conn, buffer_ptr, data_length, &dwRead, &Connection->ovl)) {
             WARN("ReadFile failed with error %ld\n", GetLastError());
             status = RPC_S_PROTOCOL_ERROR;
             goto fail;
           }
    +      if (!GetOverlappedResult(Connection->conn, &Connection->ovl, &dwRead, TRUE)) {
    +        if (GetLastError() != ERROR_MORE_DATA) {
    +          WARN("GetOverlappedResult failed with error %ld\n", GetLastError());
    +          status = RPC_S_PROTOCOL_ERROR;
    +          goto fail;
    +        }
    +      }
         }
         if (dwRead != data_length) {
           status = RPC_S_PROTOCOL_ERROR;
    @@ -403,10 +433,16 @@ RPC_STATUS RPCRT4_Receive(RpcConnection *Connection, RpcPktHdr **Header,
           TRACE("next header\n");
     
           /* read the header of next packet */
    -      if (!ReadFile(Connection->conn, *Header, hdr_length, &dwRead, NULL)) {
    +      ResetEvent(Connection->ovl.hEvent);
    +      if (!ReadFile(Connection->conn, *Header, hdr_length, &dwRead, &Connection->ovl)) {
    +        WARN("ReadFile failed with error %ld\n", GetLastError());
    +        status = GetLastError();
    +        goto fail;
    +      }
    +      if (!GetOverlappedResult(Connection->conn, &Connection->ovl, &dwRead, TRUE)) {
             if (GetLastError() != ERROR_MORE_DATA) {
    -          WARN("ReadFile failed with error %ld\n", GetLastError());
    -          status = GetLastError();
    +          WARN("GetOverlappedResult failed with error %ld\n", GetLastError());
    +          status = RPC_S_PROTOCOL_ERROR;
               goto fail;
             }
           }
    diff --git a/reactos/lib/rtl/acl.c b/reactos/lib/rtl/acl.c
    index 33bbc87f693..75b0e631a0a 100644
    --- a/reactos/lib/rtl/acl.c
    +++ b/reactos/lib/rtl/acl.c
    @@ -12,7 +12,7 @@
     /* INCLUDES *****************************************************************/
     
     #include 
    -#include 
    +#include 
     
     #define NDEBUG
     #include 
    @@ -26,6 +26,8 @@ RtlFirstFreeAce(PACL Acl,
        PACE Current;
        PVOID AclEnd;
        ULONG i;
    +   
    +   PAGED_CODE_RTL();
     
        Current = (PACE)(Acl + 1);
        *Ace = NULL;
    @@ -70,6 +72,8 @@ RtlGetAce(PACL Acl,
               PACE *Ace)
     {
        ULONG i;
    +   
    +   PAGED_CODE_RTL();
     
        *Ace = (PACE)(Acl + 1);
     
    @@ -111,6 +115,8 @@ RtlpAddKnownAce (PACL Acl,
                      ULONG Type)
     {
        PACE Ace;
    +   
    +   PAGED_CODE_RTL();
     
        if (!RtlValidSid(Sid))
        {
    @@ -158,6 +164,8 @@ RtlAddAccessAllowedAce (IN OUT PACL Acl,
                             IN ACCESS_MASK AccessMask,
                             IN PSID Sid)
     {
    +   PAGED_CODE_RTL();
    +   
        return RtlpAddKnownAce (Acl,
                                Revision,
                                0,
    @@ -177,6 +185,8 @@ RtlAddAccessAllowedAceEx (IN OUT PACL Acl,
                               IN ACCESS_MASK AccessMask,
                               IN PSID Sid)
     {
    +   PAGED_CODE_RTL();
    +   
        return RtlpAddKnownAce (Acl,
                                Revision,
                                Flags,
    @@ -195,6 +205,8 @@ RtlAddAccessDeniedAce (PACL Acl,
                            ACCESS_MASK AccessMask,
                            PSID Sid)
     {
    +   PAGED_CODE_RTL();
    +   
        return RtlpAddKnownAce (Acl,
                                Revision,
                                0,
    @@ -214,6 +226,8 @@ RtlAddAccessDeniedAceEx (IN OUT PACL Acl,
                              IN ACCESS_MASK AccessMask,
                              IN PSID Sid)
     {
    +   PAGED_CODE_RTL();
    +   
        return RtlpAddKnownAce (Acl,
                                Revision,
                                Flags,
    @@ -259,6 +273,8 @@ RtlAddAce(PACL Acl,
        ULONG i;
        PACE Current;
        ULONG j;
    +   
    +   PAGED_CODE_RTL();
     
        if (Acl->AclRevision < MIN_ACL_REVISION ||
            Acl->AclRevision > MAX_ACL_REVISION)
    @@ -339,6 +355,8 @@ RtlAddAuditAccessAce(PACL Acl,
     {
        PACE Ace;
        ULONG Flags = 0;
    +   
    +   PAGED_CODE_RTL();
     
        if (Success != FALSE)
        {
    @@ -408,6 +426,8 @@ RtlAddAuditAccessAceEx(PACL Acl,
                            BOOLEAN Failure)
     {
       PACE Ace;
    +  
    +  PAGED_CODE_RTL();
     
       if (Success != FALSE)
       {
    @@ -494,6 +514,8 @@ RtlDeleteAce(PACL Acl,
     {
        PACE Ace;
        PACE Current;
    +   
    +   PAGED_CODE_RTL();
     
        if (Acl->AclRevision < MIN_ACL_REVISION ||
            Acl->AclRevision > MAX_ACL_REVISION)
    @@ -535,6 +557,8 @@ RtlCreateAcl(PACL Acl,
                  ULONG AclSize,
                  ULONG AclRevision)
     {
    +   PAGED_CODE_RTL();
    +   
        if (AclSize < 8)
        {
           return(STATUS_BUFFER_TOO_SMALL);
    @@ -572,6 +596,8 @@ RtlQueryInformationAcl(PACL Acl,
                            ACL_INFORMATION_CLASS InformationClass)
     {
        PACE Ace;
    +   
    +   PAGED_CODE_RTL();
     
        if (Acl->AclRevision < MIN_ACL_REVISION ||
            Acl->AclRevision > MAX_ACL_REVISION)
    @@ -638,6 +664,8 @@ RtlSetInformationAcl(PACL Acl,
                          ULONG InformationLength,
                          ACL_INFORMATION_CLASS InformationClass)
     {
    +   PAGED_CODE_RTL();
    +   
        if (Acl->AclRevision < MIN_ACL_REVISION ||
            Acl->AclRevision > MAX_ACL_REVISION)
        {
    @@ -680,6 +708,8 @@ RtlValidAcl (PACL Acl)
     {
        PACE Ace;
        USHORT Size;
    +   
    +   PAGED_CODE_RTL();
     
        Size = ROUND_UP(Acl->AclSize, 4);
     
    diff --git a/reactos/lib/rtl/generictable.c b/reactos/lib/rtl/generictable.c
    index 3ac6d804202..c38c416d077 100644
    --- a/reactos/lib/rtl/generictable.c
    +++ b/reactos/lib/rtl/generictable.c
    @@ -28,6 +28,7 @@
     
     #define NDEBUG
     #include 
    +
     /* FUNCTIONS *****************************************************************/
     
     /*
    @@ -177,22 +178,28 @@ RtlInitializeGenericTable (
     	UNIMPLEMENTED;
     }
     
    +
     /*
    -* @unimplemented
    -*/
    -VOID
    -STDCALL
    -RtlInitializeGenericTableAvl (
    -	PRTL_AVL_TABLE Table,
    -	PRTL_AVL_COMPARE_ROUTINE CompareRoutine,
    -	PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine,
    -	PRTL_AVL_FREE_ROUTINE FreeRoutine,
    -	PVOID TableContext
    -	)
    + * @implemented
    + */
    +VOID STDCALL
    +RtlInitializeGenericTableAvl(IN OUT PRTL_AVL_TABLE Table,
    +                             IN PRTL_AVL_COMPARE_ROUTINE CompareRoutine,
    +                             IN PRTL_AVL_ALLOCATE_ROUTINE AllocateRoutine,
    +                             IN PRTL_AVL_FREE_ROUTINE FreeRoutine,
    +                             IN PVOID TableContext)
     {
    -	UNIMPLEMENTED;
    +  RtlZeroMemory(Table,
    +                sizeof(RTL_AVL_TABLE));
    +  Table->BalancedRoot.Parent = &Table->BalancedRoot;
    +
    +  Table->CompareRoutine = CompareRoutine;
    +  Table->AllocateRoutine = AllocateRoutine;
    +  Table->FreeRoutine = FreeRoutine;
    +  Table->TableContext = TableContext;
     }
     
    +
     /*
     * @unimplemented
     */
    @@ -351,29 +358,22 @@ RtlLookupElementGenericTableFullAvl (
     
     
     /*
    -* @unimplemented
    -*/
    -ULONG
    -STDCALL
    -RtlNumberGenericTableElements(
    -	PRTL_GENERIC_TABLE Table
    -	)
    + * @implemented
    + */
    +ULONG STDCALL
    +RtlNumberGenericTableElements(IN PRTL_GENERIC_TABLE Table)
     {
    -	UNIMPLEMENTED;
    -	return 0;
    +  return Table->NumberGenericTableElements;
     }
     
    +
     /*
    -* @unimplemented
    -*/
    -ULONG
    -STDCALL
    -RtlNumberGenericTableElementsAvl (
    -	PRTL_AVL_TABLE Table
    -	)
    + * @implemented
    + */
    +ULONG STDCALL
    +RtlNumberGenericTableElementsAvl(IN PRTL_AVL_TABLE Table)
     {
    -	UNIMPLEMENTED;
    -	return 0;
    +  return Table->NumberGenericTableElements;
     }
     
     /* EOF */
    diff --git a/reactos/lib/rtl/luid.c b/reactos/lib/rtl/luid.c
    index dbd0550bc41..77b75db9a02 100644
    --- a/reactos/lib/rtl/luid.c
    +++ b/reactos/lib/rtl/luid.c
    @@ -12,6 +12,7 @@
     /* INCLUDES *****************************************************************/
     
     #include 
    +#include 
     
     #define NDEBUG
     #include 
    @@ -22,6 +23,8 @@ VOID STDCALL
     RtlCopyLuid(PLUID LuidDest,
                 PLUID LuidSrc)
     {
    +   PAGED_CODE_RTL();
    +   
        LuidDest->LowPart = LuidSrc->LowPart;
        LuidDest->HighPart = LuidSrc->HighPart;
     }
    @@ -36,6 +39,8 @@ RtlCopyLuidAndAttributesArray(ULONG Count,
                                   PLUID_AND_ATTRIBUTES Dest)
     {
        ULONG i;
    +   
    +   PAGED_CODE_RTL();
     
        for (i = 0; i < Count; i++)
        {
    @@ -53,6 +58,8 @@ BOOLEAN STDCALL
     RtlEqualLuid(PLUID Luid1,
                  PLUID Luid2)
     {
    +   PAGED_CODE_RTL();
    +   
        return (Luid1->LowPart == Luid2->LowPart &&
                Luid1->HighPart == Luid2->HighPart);
     }
    diff --git a/reactos/lib/rtl/makefile b/reactos/lib/rtl/makefile
    index 18e0fb88dc3..013dfb8dea1 100644
    --- a/reactos/lib/rtl/makefile
    +++ b/reactos/lib/rtl/makefile
    @@ -12,6 +12,10 @@ TARGET_CFLAGS = -Wall -Werror -ffreestanding
     # require os code to explicitly request A/W version of structs/functions
     TARGET_CFLAGS += -D_DISABLE_TIDENTS
     
    +ifneq ($(DBG), 0)
    +TARGET_CFLAGS += -DDBG
    +endif
    +
     TARGET_OBJECTS = \
     	acl.o \
     	bit.o \
    diff --git a/reactos/lib/rtl/random.c b/reactos/lib/rtl/random.c
    index 9d0c6a61c7f..f1aba625911 100644
    --- a/reactos/lib/rtl/random.c
    +++ b/reactos/lib/rtl/random.c
    @@ -27,6 +27,7 @@
     /* INCLUDES *****************************************************************/
     
     #include 
    +#include 
     
     #define NDEBUG
     #include 
    @@ -88,6 +89,8 @@ RtlRandom (IN OUT PULONG Seed)
        ULONG Rand;
        int Pos;
        ULONG Result;
    +   
    +   PAGED_CODE_RTL();
     
        Rand = (*Seed * 0x7fffffed + 0x7fffffc3) % 0x7fffffff;
        *Seed = (Rand * 0x7fffffed + 0x7fffffc3) % 0x7fffffff;
    diff --git a/reactos/lib/rtl/registry.c b/reactos/lib/rtl/registry.c
    index 725c3074829..b53ed074825 100644
    --- a/reactos/lib/rtl/registry.c
    +++ b/reactos/lib/rtl/registry.c
    @@ -165,6 +165,8 @@ RtlCheckRegistryKey(IN ULONG RelativeTo,
     {
       HANDLE KeyHandle;
       NTSTATUS Status;
    +  
    +  PAGED_CODE_RTL();
     
       Status = RtlpGetRegistryHandle(RelativeTo,
     				 Path,
    @@ -188,6 +190,8 @@ RtlCreateRegistryKey(IN ULONG RelativeTo,
     {
       HANDLE KeyHandle;
       NTSTATUS Status;
    +  
    +  PAGED_CODE_RTL();
     
       Status = RtlpGetRegistryHandle(RelativeTo,
     				 Path,
    @@ -213,6 +217,8 @@ RtlDeleteRegistryValue(IN ULONG RelativeTo,
       HANDLE KeyHandle;
       NTSTATUS Status;
       UNICODE_STRING Name;
    +  
    +  PAGED_CODE_RTL();
     
       Status = RtlpGetRegistryHandle(RelativeTo,
     				 (PWSTR)Path,
    @@ -245,6 +251,8 @@ RtlFormatCurrentUserKeyPath (OUT PUNICODE_STRING KeyPath)
       ULONG Length;
       UNICODE_STRING SidString;
       NTSTATUS Status;
    +  
    +  PAGED_CODE_RTL();
     
       DPRINT ("RtlFormatCurrentUserKeyPath() called\n");
     
    @@ -299,7 +307,7 @@ RtlFormatCurrentUserKeyPath (OUT PUNICODE_STRING KeyPath)
     
       KeyPath->Length = 0;
       KeyPath->MaximumLength = Length;
    -  KeyPath->Buffer = ExAllocatePool (NonPagedPool,
    +  KeyPath->Buffer = ExAllocatePool (PagedPool,
     				    KeyPath->MaximumLength);
       if (KeyPath->Buffer == NULL)
         {
    @@ -328,6 +336,8 @@ RtlOpenCurrentUser(IN ACCESS_MASK DesiredAccess,
       OBJECT_ATTRIBUTES ObjectAttributes;
       UNICODE_STRING KeyPath;
       NTSTATUS Status;
    +  
    +  PAGED_CODE_RTL();
     
       Status = RtlFormatCurrentUserKeyPath(&KeyPath);
       if (NT_SUCCESS(Status))
    @@ -390,6 +400,8 @@ RtlQueryRegistryValues(IN ULONG RelativeTo,
       PWSTR ValueName;
       UNICODE_STRING EnvValue;
       UNICODE_STRING EnvExpandedValue;
    +  
    +  PAGED_CODE_RTL();
     
       DPRINT("RtlQueryRegistryValues() called\n");
     
    @@ -878,6 +890,8 @@ RtlWriteRegistryValue(IN ULONG RelativeTo,
       HANDLE KeyHandle;
       NTSTATUS Status;
       UNICODE_STRING Name;
    +  
    +  PAGED_CODE_RTL();
     
       Status = RtlpGetRegistryHandle(RelativeTo,
     				 (PWSTR)Path,
    diff --git a/reactos/lib/rtl/sd.c b/reactos/lib/rtl/sd.c
    index a27f2e5e458..3ec3abbb62e 100644
    --- a/reactos/lib/rtl/sd.c
    +++ b/reactos/lib/rtl/sd.c
    @@ -107,12 +107,14 @@ RtlpQuerySecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
     }
     
     /*
    -* @implemented
    -*/
    + * @implemented
    + */
     NTSTATUS STDCALL
     RtlCreateSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                 ULONG Revision)
     {
    +   PAGED_CODE_RTL();
    +
        if (Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -134,6 +136,8 @@ NTSTATUS STDCALL
     RtlCreateSecurityDescriptorRelative (PSECURITY_DESCRIPTOR_RELATIVE SecurityDescriptor,
     			             ULONG Revision)
     {
    +   PAGED_CODE_RTL();
    +   
        if (Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -161,6 +165,8 @@ RtlLengthSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor)
        PACL Sacl, Dacl;
        ULONG Length = sizeof(SECURITY_DESCRIPTOR);
        
    +   PAGED_CODE_RTL();
    +   
        RtlpQuerySecurityDescriptorPointers(SecurityDescriptor,
                                            &Owner,
                                            &Group,
    @@ -200,6 +206,8 @@ RtlGetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                  PACL* Dacl,
                                  PBOOLEAN DaclDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -233,6 +241,8 @@ RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                  PACL Dacl,
                                  BOOLEAN DaclDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -270,6 +280,8 @@ RtlValidSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor)
     {
        PSID Owner, Group;
        PACL Sacl, Dacl;
    +   
    +   PAGED_CODE_RTL();
     
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
    @@ -302,6 +314,8 @@ RtlSetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                   PSID Owner,
                                   BOOLEAN OwnerDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -332,6 +346,8 @@ RtlGetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                   PSID* Owner,
                                   PBOOLEAN OwnerDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -357,6 +373,8 @@ RtlSetGroupSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                   PSID Group,
                                   BOOLEAN GroupDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -386,6 +404,8 @@ RtlGetGroupSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                   PSID* Group,
                                   PBOOLEAN GroupDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -421,6 +441,8 @@ RtlMakeSelfRelativeSD(PSECURITY_DESCRIPTOR AbsSD,
        ULONG DaclLength;
        ULONG TotalLength;
        ULONG_PTR Current;
    +   
    +   PAGED_CODE_RTL();
     
        RtlpQuerySecurityDescriptor(AbsSD,
                                    &Owner,
    @@ -494,6 +516,8 @@ RtlAbsoluteToSelfRelativeSD(PSECURITY_DESCRIPTOR AbsSD,
                                 PSECURITY_DESCRIPTOR_RELATIVE RelSD,
                                 PULONG BufferLength)
     {
    +   PAGED_CODE_RTL();
    +   
        if (AbsSD->Control & SE_SELF_RELATIVE)
        {
           return STATUS_BAD_DESCRIPTOR_FORMAT;
    @@ -511,6 +535,8 @@ RtlGetControlSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                     PSECURITY_DESCRIPTOR_CONTROL Control,
                                     PULONG Revision)
     {
    +   PAGED_CODE_RTL();
    +   
        *Revision = SecurityDescriptor->Revision;
     
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
    @@ -532,6 +558,8 @@ RtlSetControlSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
                                     IN SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
                                     IN SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet)
     {
    +  PAGED_CODE_RTL();
    +  
       if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
       {
         return STATUS_UNKNOWN_REVISION;
    @@ -556,6 +584,8 @@ RtlGetSaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                  PACL *Sacl,
                                  PBOOLEAN SaclDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -589,6 +619,8 @@ RtlSetSaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                  PACL Sacl,
                                  BOOLEAN SaclDefaulted)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
           return STATUS_UNKNOWN_REVISION;
    @@ -642,6 +674,8 @@ RtlSelfRelativeToAbsoluteSD(PSECURITY_DESCRIPTOR_RELATIVE RelSD,
        PSID pGroup;
        PACL pDacl;
        PACL pSacl;
    +   
    +   PAGED_CODE_RTL();
     
        if (RelSD->Revision != SECURITY_DESCRIPTOR_REVISION1)
        {
    @@ -713,6 +747,8 @@ RtlValidRelativeSecurityDescriptor(IN PSECURITY_DESCRIPTOR_RELATIVE SecurityDesc
                                        IN ULONG SecurityDescriptorLength,
                                        IN SECURITY_INFORMATION RequiredInformation)
     {
    +   PAGED_CODE_RTL();
    +   
        if (SecurityDescriptorLength < sizeof(SECURITY_DESCRIPTOR_RELATIVE) ||
            SecurityDescriptorInput->Revision != SECURITY_DESCRIPTOR_REVISION1 ||
            !(SecurityDescriptorInput->Control & SE_SELF_RELATIVE))
    @@ -783,6 +819,8 @@ BOOLEAN STDCALL
     RtlGetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                       PUCHAR RMControl)
     {
    +  PAGED_CODE_RTL();
    +  
       if (!(SecurityDescriptor->Control & SE_RM_CONTROL_VALID))
       {
         *RMControl = 0;
    @@ -802,6 +840,8 @@ VOID STDCALL
     RtlSetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR SecurityDescriptor,
                                       PUCHAR RMControl)
     {
    +  PAGED_CODE_RTL();
    +  
       if (RMControl == NULL)
       {
         SecurityDescriptor->Control &= ~SE_RM_CONTROL_VALID;
    @@ -814,4 +854,30 @@ RtlSetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR SecurityDescriptor,
       }
     }
     
    +
    +/*
    + * @implemented
    + */
    +NTSTATUS STDCALL
    +RtlSetAttributesSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
    +                                   IN SECURITY_DESCRIPTOR_CONTROL Control,
    +                                   OUT PULONG Revision)
    +{
    +  PAGED_CODE_RTL();
    +  
    +  *Revision = SecurityDescriptor->Revision;
    +
    +  if (SecurityDescriptor->Revision != SECURITY_DESCRIPTOR_REVISION1)
    +    return STATUS_UNKNOWN_REVISION;
    +
    +  Control &=
    +    ~(SE_OWNER_DEFAULTED | SE_GROUP_DEFAULTED | SE_DACL_PRESENT |
    +      SE_DACL_DEFAULTED | SE_SACL_PRESENT | SE_SACL_DEFAULTED |
    +      SE_RM_CONTROL_VALID | SE_SELF_RELATIVE);
    +
    +  return RtlSetControlSecurityDescriptor(SecurityDescriptor,
    +                                         Control,
    +                                         Control);
    +}
    +
     /* EOF */
    diff --git a/reactos/lib/rtl/security.c b/reactos/lib/rtl/security.c
    index 0687e31790a..c0183c2b1d1 100644
    --- a/reactos/lib/rtl/security.c
    +++ b/reactos/lib/rtl/security.c
    @@ -28,7 +28,9 @@ RtlImpersonateSelf(IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel)
        HANDLE ImpersonationToken;
        NTSTATUS Status;
        OBJECT_ATTRIBUTES ObjAttr;
    -   SECURITY_QUALITY_OF_SERVICE Sqos;   
    +   SECURITY_QUALITY_OF_SERVICE Sqos;
    +
    +   PAGED_CODE_RTL();
        
        Status = NtOpenProcessToken(NtCurrentProcess(),
                                    TOKEN_DUPLICATE,
    @@ -97,6 +99,8 @@ RtlAdjustPrivilege(IN ULONG Privilege,
        ULONG ReturnLength;
        HANDLE TokenHandle;
        NTSTATUS Status;
    +   
    +   PAGED_CODE_RTL();
     
        DPRINT ("RtlAdjustPrivilege() called\n");
     
    diff --git a/reactos/lib/rtl/sid.c b/reactos/lib/rtl/sid.c
    index 18e99ed6033..4c87664a8c2 100644
    --- a/reactos/lib/rtl/sid.c
    +++ b/reactos/lib/rtl/sid.c
    @@ -13,6 +13,7 @@
     
     #define __NTDRIVER__
     #include 
    +#include 
     #include 
     
     
    @@ -26,6 +27,8 @@ RtlValidSid(IN PSID Sid_)
     {
       PISID Sid =  Sid_;
       
    +  PAGED_CODE_RTL();
    +  
       if ((Sid->Revision != SID_REVISION) ||
           (Sid->SubAuthorityCount > SID_MAX_SUB_AUTHORITIES))
         {
    @@ -42,6 +45,8 @@ RtlValidSid(IN PSID Sid_)
     ULONG STDCALL
     RtlLengthRequiredSid(IN UCHAR SubAuthorityCount)
     {
    +  PAGED_CODE_RTL();
    +  
       return (sizeof(SID) + (SubAuthorityCount - 1) * sizeof(ULONG));
     }
     
    @@ -56,6 +61,8 @@ RtlInitializeSid(IN PSID Sid_,
     {
       PISID Sid =  Sid_;
       
    +  PAGED_CODE_RTL();
    +  
       Sid->Revision = SID_REVISION;
       Sid->SubAuthorityCount = SubAuthorityCount;
       memcpy(&Sid->IdentifierAuthority,
    @@ -75,6 +82,8 @@ RtlSubAuthoritySid(IN PSID Sid_,
     {
       PISID Sid =  Sid_;
       
    +  PAGED_CODE_RTL();
    +  
       return &Sid->SubAuthority[SubAuthority];
     }
     
    @@ -87,6 +96,8 @@ RtlSubAuthorityCountSid(IN PSID Sid_)
     {
       PISID Sid =  Sid_;
       
    +  PAGED_CODE_RTL();
    +  
       return &Sid->SubAuthorityCount;
     }
     
    @@ -100,6 +111,8 @@ RtlEqualSid(IN PSID Sid1_,
     {
       PISID Sid1 =  Sid1_;
       PISID Sid2 =  Sid2_;
    +  
    +  PAGED_CODE_RTL();
         
       if (Sid1->Revision != Sid2->Revision)
        {
    @@ -125,6 +138,8 @@ RtlLengthSid(IN PSID Sid_)
     {
       PISID Sid =  Sid_;
       
    +  PAGED_CODE_RTL();
    +  
       return (sizeof(SID) + (Sid->SubAuthorityCount-1) * sizeof(ULONG));
     }
     
    @@ -137,6 +152,8 @@ RtlCopySid(ULONG BufferLength,
                PSID Dest,
                PSID Src)
     {
    +  PAGED_CODE_RTL();
    +  
       if (BufferLength < RtlLengthSid(Src))
         {
           return STATUS_UNSUCCESSFUL;
    @@ -165,6 +182,8 @@ RtlCopySidAndAttributesArray(ULONG Count,
        ULONG SidLength;
        ULONG Length;
        ULONG i;
    +   
    +   PAGED_CODE_RTL();
     
        Length = SidAreaSize;
     
    @@ -197,6 +216,8 @@ RtlIdentifierAuthoritySid(IN PSID Sid_)
     {
       PISID Sid =  Sid_;
       
    +  PAGED_CODE_RTL();
    +  
       return &Sid->IdentifierAuthority;
     }
     
    @@ -218,6 +239,8 @@ RtlAllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
     			    PSID *Sid)
     {
       PISID pSid;
    +  
    +  PAGED_CODE_RTL();
     
       if (SubAuthorityCount > 8)
         return STATUS_INVALID_SID;
    @@ -273,6 +296,8 @@ RtlAllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
     PVOID STDCALL
     RtlFreeSid(IN PSID Sid)
     {
    +   PAGED_CODE_RTL();
    +   
        ExFreePool(Sid);
        return NULL;
     }
    @@ -287,6 +312,8 @@ RtlEqualPrefixSid(IN PSID Sid1_,
     {
       PISID Sid1 =  Sid1_;
       PISID Sid2 =  Sid2_;
    +  
    +  PAGED_CODE_RTL();
         
        return(Sid1->SubAuthorityCount == Sid2->SubAuthorityCount &&
               !RtlCompareMemory(Sid1, Sid2,
    @@ -307,6 +334,8 @@ RtlConvertSidToUnicodeString(PUNICODE_STRING String,
        ULONG Length;
        ULONG i;
        PISID Sid =  Sid_;
    +   
    +   PAGED_CODE_RTL();
     
        if (RtlValidSid (Sid) == FALSE)
           return STATUS_INVALID_SID;
    diff --git a/reactos/lib/rtl/timezone.c b/reactos/lib/rtl/timezone.c
    index 7acf56c1031..fc7fe0c3a2f 100644
    --- a/reactos/lib/rtl/timezone.c
    +++ b/reactos/lib/rtl/timezone.c
    @@ -14,6 +14,7 @@
     #include 
     #include 
     #include 
    +#include 
     
     #define NDEBUG
     #include 
    @@ -33,6 +34,8 @@ RtlQueryTimeZoneInformation(PTIME_ZONE_INFORMATION TimeZoneInformation)
        NTSTATUS Status;
     
        DPRINT("RtlQueryTimeZoneInformation()\n");
    +   
    +   PAGED_CODE_RTL();
     
        RtlZeroMemory(QueryTable,
                      sizeof(QueryTable));
    @@ -93,6 +96,8 @@ RtlSetTimeZoneInformation(PTIME_ZONE_INFORMATION TimeZoneInformation)
        NTSTATUS Status;
     
        DPRINT("RtlSetTimeZoneInformation()\n");
    +   
    +   PAGED_CODE_RTL();
     
        Status = RtlWriteRegistryValue(RTL_REGISTRY_CONTROL,
                                       L"TimeZoneInformation",
    diff --git a/reactos/lib/rtl/version.c b/reactos/lib/rtl/version.c
    index 6a13c5e5241..5d954b45de2 100644
    --- a/reactos/lib/rtl/version.c
    +++ b/reactos/lib/rtl/version.c
    @@ -39,37 +39,6 @@
     
     /* FUNCTIONS ****************************************************************/
     
    -/*
    -* @implemented
    -*/
    -NTSTATUS STDCALL
    -RtlGetVersion(RTL_OSVERSIONINFOW *Info)
    -{
    -   WCHAR CSDString[] = L"Service Pack 6";
    -
    -   if (Info->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOW) ||
    -         Info->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOEXW))
    -   {
    -      Info->dwMajorVersion = 4;
    -      Info->dwMinorVersion = 0;
    -      Info->dwBuildNumber = 1381;
    -      Info->dwPlatformId = VER_PLATFORM_WIN32_NT;
    -      RtlCopyMemory(Info->szCSDVersion, CSDString, sizeof(CSDString));
    -      if (Info->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOEXW))
    -      {
    -         RTL_OSVERSIONINFOEXW *InfoEx = (RTL_OSVERSIONINFOEXW *)Info;
    -         InfoEx->wServicePackMajor = 6;
    -         InfoEx->wServicePackMinor = 0;
    -         InfoEx->wSuiteMask = 0;
    -         InfoEx->wProductType = VER_NT_WORKSTATION;
    -      }
    -
    -      return STATUS_SUCCESS;
    -   }
    -
    -   return STATUS_INVALID_PARAMETER;
    -}
    -
     /*
     * @unimplemented
     */
    @@ -114,39 +83,37 @@ RtlVerifyVersionInfo(
     /*
      * @implemented
      */
    -ULONGLONG NTAPI VerSetConditionMask
    -(
    - IN ULONGLONG dwlConditionMask,
    - IN DWORD dwTypeBitMask,
    - IN BYTE dwConditionMask
    -)
    +ULONGLONG NTAPI
    +VerSetConditionMask(IN ULONGLONG dwlConditionMask,
    +                    IN DWORD dwTypeBitMask,
    +                    IN BYTE dwConditionMask)
     {
    - if(dwTypeBitMask == 0)
    +  if(dwTypeBitMask == 0)
    +    return dwlConditionMask;
    +
    +  dwConditionMask &= VER_CONDITION_MASK;
    +
    +  if(dwConditionMask == 0)
    +    return dwlConditionMask;
    +
    +  if(dwTypeBitMask & VER_PRODUCT_TYPE)
    +    dwlConditionMask |= dwConditionMask << 7 * VER_NUM_BITS_PER_CONDITION_MASK;
    +  else if(dwTypeBitMask & VER_SUITENAME)
    +    dwlConditionMask |= dwConditionMask << 6 * VER_NUM_BITS_PER_CONDITION_MASK;
    +  else if(dwTypeBitMask & VER_SERVICEPACKMAJOR)
    +    dwlConditionMask |= dwConditionMask << 5 * VER_NUM_BITS_PER_CONDITION_MASK;
    +  else if(dwTypeBitMask & VER_SERVICEPACKMINOR)
    +    dwlConditionMask |= dwConditionMask << 4 * VER_NUM_BITS_PER_CONDITION_MASK;
    +  else if(dwTypeBitMask & VER_PLATFORMID)
    +    dwlConditionMask |= dwConditionMask << 3 * VER_NUM_BITS_PER_CONDITION_MASK;
    +  else if(dwTypeBitMask & VER_BUILDNUMBER)
    +    dwlConditionMask |= dwConditionMask << 2 * VER_NUM_BITS_PER_CONDITION_MASK;
    +  else if(dwTypeBitMask & VER_MAJORVERSION)
    +    dwlConditionMask |= dwConditionMask << 1 * VER_NUM_BITS_PER_CONDITION_MASK;
    +  else if(dwTypeBitMask & VER_MINORVERSION)
    +    dwlConditionMask |= dwConditionMask << 0 * VER_NUM_BITS_PER_CONDITION_MASK;
    +
       return dwlConditionMask;
    -
    - dwConditionMask &= VER_CONDITION_MASK;
    -
    - if(dwConditionMask == 0)
    -  return dwlConditionMask;
    -
    - if(dwTypeBitMask & VER_PRODUCT_TYPE)
    -  dwlConditionMask |= dwConditionMask << 7 * VER_NUM_BITS_PER_CONDITION_MASK;
    - else if(dwTypeBitMask & VER_SUITENAME)
    -  dwlConditionMask |= dwConditionMask << 6 * VER_NUM_BITS_PER_CONDITION_MASK;
    - else if(dwTypeBitMask & VER_SERVICEPACKMAJOR)
    -  dwlConditionMask |= dwConditionMask << 5 * VER_NUM_BITS_PER_CONDITION_MASK;
    - else if(dwTypeBitMask & VER_SERVICEPACKMINOR)
    -  dwlConditionMask |= dwConditionMask << 4 * VER_NUM_BITS_PER_CONDITION_MASK;
    - else if(dwTypeBitMask & VER_PLATFORMID)
    -  dwlConditionMask |= dwConditionMask << 3 * VER_NUM_BITS_PER_CONDITION_MASK;
    - else if(dwTypeBitMask & VER_BUILDNUMBER)
    -  dwlConditionMask |= dwConditionMask << 2 * VER_NUM_BITS_PER_CONDITION_MASK;
    - else if(dwTypeBitMask & VER_MAJORVERSION)
    -  dwlConditionMask |= dwConditionMask << 1 * VER_NUM_BITS_PER_CONDITION_MASK;
    - else if(dwTypeBitMask & VER_MINORVERSION)
    -  dwlConditionMask |= dwConditionMask << 0 * VER_NUM_BITS_PER_CONDITION_MASK;
    -
    - return dwlConditionMask;
     }
     
     /* EOF */
    diff --git a/reactos/lib/setupapi/Makefile.in b/reactos/lib/setupapi/Makefile.in
    index b3444fbe957..e502e2983ff 100644
    --- a/reactos/lib/setupapi/Makefile.in
    +++ b/reactos/lib/setupapi/Makefile.in
    @@ -9,6 +9,7 @@ DELAYIMPORTS = shell32
     EXTRALIBS = $(LIBUNICODE)
     
     C_SRCS = \
    +	cfgmgr.c \
     	devinst.c \
     	dirid.c \
     	diskspace.c \
    diff --git a/reactos/lib/setupapi/Makefile.ros-template b/reactos/lib/setupapi/Makefile.ros-template
    index 47cbad73413..2e72b185706 100644
    --- a/reactos/lib/setupapi/Makefile.ros-template
    +++ b/reactos/lib/setupapi/Makefile.ros-template
    @@ -1,21 +1,21 @@
    -# $Id: Makefile.ros-template 12852 2005-01-06 13:58:04Z mf $
    -
    -TARGET_NAME = setupapi
    -
    -TARGET_OBJECTS = @C_SRCS@
    -
    -TARGET_CFLAGS = @EXTRADEFS@ -D__REACTOS__ -D__WINESRC__
    -
    -TARGET_SDKLIBS = @IMPORTS@ wine.a ntdll.a wine_unicode.a
    -
    -TARGET_BASE = $(TARGET_BASE_LIB_SETUPAPI)
    -
    -TARGET_RC_SRCS = @RC_SRCS@
    -TARGET_RC_BINSRC = @RC_BINSRC@
    -TARGET_RC_BINARIES = @RC_BINARIES@
    -
    -default: all
    -
    -DEP_OBJECTS = $(TARGET_OBJECTS)
    -
    -include $(TOOLS_PATH)/depend.mk
    +# $Id: Makefile.ros-template 12852 2005-01-06 13:58:04Z mf $
    +
    +TARGET_NAME = setupapi
    +
    +TARGET_OBJECTS = @C_SRCS@
    +
    +TARGET_CFLAGS = @EXTRADEFS@ -D__REACTOS__ -D__WINESRC__
    +
    +TARGET_SDKLIBS = @IMPORTS@ wine.a ntdll.a
    +
    +TARGET_BASE = $(TARGET_BASE_LIB_SETUPAPI)
    +
    +TARGET_RC_SRCS = @RC_SRCS@
    +TARGET_RC_BINSRC = @RC_BINSRC@
    +TARGET_RC_BINARIES = @RC_BINARIES@
    +
    +default: all
    +
    +DEP_OBJECTS = $(TARGET_OBJECTS)
    +
    +include $(TOOLS_PATH)/depend.mk
    diff --git a/reactos/lib/setupapi/cfgmgr.c b/reactos/lib/setupapi/cfgmgr.c
    new file mode 100644
    index 00000000000..91021b5d736
    --- /dev/null
    +++ b/reactos/lib/setupapi/cfgmgr.c
    @@ -0,0 +1,183 @@
    +/*
    + * Configuration manager functions
    + *
    + * Copyright 2000 James Hatheway
    + * Copyright 2005 Eric Kohl
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#include "windef.h"
    +#include "winbase.h"
    +#include "wingdi.h"
    +#include "winuser.h"
    +#include "winnls.h"
    +#include "winreg.h"
    +#include "setupapi.h"
    +#include "cfgmgr32.h"
    +
    +#include "wine/debug.h"
    +
    +WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
    +
    +
    +/***********************************************************************
    + * CM_Connect_MachineA [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Connect_MachineA(PCSTR UNCServerName, PHMACHINE phMachine)
    +{
    +    PWSTR pServerNameW;
    +    CONFIGRET ret;
    +
    +    TRACE("%s %p\n", UNCServerName, phMachine);
    +
    +    if (UNCServerName == NULL || *UNCServerName == 0)
    +    {
    +        return CM_Connect_MachineW(NULL, phMachine);
    +    }
    +
    +    if (CaptureAndConvertAnsiArg(UNCServerName, &pServerNameW))
    +    {
    +        return CR_INVALID_DATA;
    +    }
    +
    +    ret = CM_Connect_MachineW(pServerNameW, phMachine);
    +
    +    MyFree(pServerNameW);
    +
    +    return ret;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Connect_MachineW [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Connect_MachineW(PCWSTR UNCServerName, PHMACHINE phMachine)
    +{
    +    FIXME("%s %p\n", debugstr_w(UNCServerName), phMachine);
    +    return CR_ACCESS_DENIED;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Disconnect_Machine [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Disconnect_Machine(HMACHINE hMachine)
    +{
    +    FIXME("%lx\n", hMachine);
    +    return CR_SUCCESS;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_ListA [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_ListA(
    +    PCSTR pszFilter, PCHAR Buffer, ULONG BufferLen, ULONG ulFlags )
    +{
    +    FIXME("%p %p %ld %ld\n", pszFilter, Buffer, BufferLen, ulFlags);
    +    memset(Buffer,0,2);
    +    return CR_SUCCESS;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_ListW [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_ListW(
    +    PCWSTR pszFilter, PWCHAR Buffer, ULONG BufferLen, ULONG ulFlags )
    +{
    +    TRACE("%p %p %ld %ld\n", pszFilter, Buffer, BufferLen, ulFlags);
    +    return CM_Get_Device_ID_List_ExW(pszFilter, Buffer, BufferLen,
    +                                     ulFlags, NULL);
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_List_ExA [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_List_ExA(
    +    PCSTR pszFilter, PCHAR Buffer, ULONG BufferLen, ULONG ulFlags,
    +    HMACHINE hMachine )
    +{
    +    FIXME("%p %p %ld %ld %lx\n",
    +          pszFilter, Buffer, BufferLen, ulFlags, hMachine);
    +    memset(Buffer,0,2);
    +    return CR_SUCCESS;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_List_ExW [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_List_ExW(
    +    PCWSTR pszFilter, PWCHAR Buffer, ULONG BufferLen, ULONG ulFlags,
    +    HMACHINE hMachine )
    +{
    +    FIXME("%p %p %ld %ld %lx\n",
    +          pszFilter, Buffer, BufferLen, ulFlags, hMachine);
    +    memset(Buffer,0,2);
    +    return CR_SUCCESS;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_List_SizeA [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_List_SizeA(
    +    PULONG pulLen, PCSTR pszFilter, ULONG ulFlags)
    +{
    +    FIXME("%p %s %ld\n", pulLen, pszFilter, ulFlags);
    +    *pulLen = 2;
    +    return CR_SUCCESS;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_List_SizeW [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_List_SizeW(
    +    PULONG pulLen, PCWSTR pszFilter, ULONG ulFlags)
    +{
    +    FIXME("%p %s %ld\n", pulLen, debugstr_w(pszFilter), ulFlags);
    +    *pulLen = 2;
    +    return CR_SUCCESS;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_List_Size_ExA [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExA(
    +    PULONG pulLen, PCSTR pszFilter, ULONG ulFlags, HMACHINE hMachine)
    +{
    +    FIXME("%p %s %ld %lx\n", pulLen, pszFilter, ulFlags, hMachine);
    +    *pulLen = 2;
    +    return CR_SUCCESS;
    +}
    +
    +
    +/***********************************************************************
    + * CM_Get_Device_ID_List_Size_ExW [SETUPAPI.@]
    + */
    +CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW(
    +    PULONG pulLen, PCWSTR pszFilter, ULONG ulFlags, HMACHINE hMachine)
    +{
    +    FIXME("%p %s %ld %lx\n", pulLen, debugstr_w(pszFilter), ulFlags, hMachine);
    +    *pulLen = 2;
    +    return CR_SUCCESS;
    +}
    diff --git a/reactos/lib/setupapi/misc.c b/reactos/lib/setupapi/misc.c
    index 218da19fd35..89601f0a5d1 100644
    --- a/reactos/lib/setupapi/misc.c
    +++ b/reactos/lib/setupapi/misc.c
    @@ -463,6 +463,19 @@ BOOL WINAPI EnablePrivilege(LPCWSTR lpPrivilegeName, BOOL bEnable)
     }
     
     
    +/**************************************************************************
    + * DelayedMove [SETUPAPI.@]
    + *
    + * Moves a file upon the next reboot.
    + *
    + * PARAMS
    + *     lpExistingFileName  [I] Current file name
    + *     lpNewFileName       [I] New file name
    + *
    + * RETURNS
    + *     Success: TRUE
    + *     Failure: FALSE
    + */
     BOOL WINAPI DelayedMove(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName)
     {
         if (OsVersionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT)
    @@ -476,6 +489,19 @@ BOOL WINAPI DelayedMove(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName)
     }
     
     
    +/**************************************************************************
    + * FileExists [SETUPAPI.@]
    + *
    + * Checks whether a file exists.
    + *
    + * PARAMS
    + *     lpFileName     [I] Name of the file to check
    + *     lpNewFileName  [O] Optional information about the existing file
    + *
    + * RETURNS
    + *     Success: TRUE
    + *     Failure: FALSE
    + */
     BOOL WINAPI FileExists(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFileFindData)
     {
         WIN32_FIND_DATAW FindData;
    @@ -499,5 +525,61 @@ BOOL WINAPI FileExists(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFileFindData)
         if (lpFileFindData)
             memcpy(lpFileFindData, &FindData, sizeof(WIN32_FIND_DATAW));
     
    +    SetErrorMode(uErrorMode);
    +
         return TRUE;
     }
    +
    +
    +/**************************************************************************
    + * CaptureStringArg [SETUPAPI.@]
    + *
    + * Captures a UNICODE string.
    + *
    + * PARAMS
    + *     lpSrc  [I] UNICODE string to be captured
    + *     lpDst  [O] Pointer to the captured UNICODE string
    + *
    + * RETURNS
    + *     Success: ERROR_SUCCESS
    + *     Failure: ERROR_INVALID_PARAMETER
    + *
    + * NOTE
    + *     Call MyFree to release the captured UNICODE string.
    + */
    +DWORD WINAPI CaptureStringArg(LPCWSTR pSrc, LPWSTR *pDst)
    +{
    +  if (pDst == NULL)
    +    return ERROR_INVALID_PARAMETER;
    +
    +  *pDst = DuplicateString(pSrc);
    +
    +  return ERROR_SUCCESS;
    +}
    +
    +
    +/**************************************************************************
    + * CaptureAndConvertAnsiArg [SETUPAPI.@]
    + *
    + * Captures an ANSI string and converts it to a UNICODE string.
    + *
    + * PARAMS
    + *     lpSrc  [I] ANSI string to be captured
    + *     lpDst  [O] Pointer to the captured UNICODE string
    + *
    + * RETURNS
    + *     Success: ERROR_SUCCESS
    + *     Failure: ERROR_INVALID_PARAMETER
    + *
    + * NOTE
    + *     Call MyFree to release the captured UNICODE string.
    + */
    +DWORD WINAPI CaptureAndConvertAnsiArg(LPCSTR pSrc, LPWSTR *pDst)
    +{
    +  if (pDst == NULL)
    +    return ERROR_INVALID_PARAMETER;
    +
    +  *pDst = MultiByteToUnicode(pSrc, CP_ACP);
    +
    +  return ERROR_SUCCESS;
    +}
    diff --git a/reactos/lib/setupapi/setupapi.spec b/reactos/lib/setupapi/setupapi.spec
    index 10ed72a4980..262f4573ddd 100644
    --- a/reactos/lib/setupapi/setupapi.spec
    +++ b/reactos/lib/setupapi/setupapi.spec
    @@ -18,7 +18,7 @@
     @ stub CM_Add_Range
     @ stub CM_Add_Res_Des
     @ stub CM_Add_Res_Des_Ex
    -@ stub CM_Connect_MachineA
    +@ stdcall CM_Connect_MachineA(str ptr)
     @ stdcall CM_Connect_MachineW(wstr ptr)
     @ stub CM_Create_DevNodeA
     @ stub CM_Create_DevNodeW
    @@ -75,14 +75,14 @@
     @ stub CM_Get_Device_IDW
     @ stub CM_Get_Device_ID_ExA
     @ stub CM_Get_Device_ID_ExW
    -@ stdcall CM_Get_Device_ID_ListA(ptr ptr long long)
    -@ stub CM_Get_Device_ID_ListW
    -@ stub CM_Get_Device_ID_List_ExA
    -@ stub CM_Get_Device_ID_List_ExW
    -@ stub CM_Get_Device_ID_List_SizeA
    -@ stub CM_Get_Device_ID_List_SizeW
    -@ stub CM_Get_Device_ID_List_Size_ExA
    -@ stub CM_Get_Device_ID_List_Size_ExW
    +@ stdcall CM_Get_Device_ID_ListA(str str long long)
    +@ stdcall CM_Get_Device_ID_ListW(wstr wstr long long)
    +@ stdcall CM_Get_Device_ID_List_ExA(str str long long long)
    +@ stdcall CM_Get_Device_ID_List_ExW(wstr wstr long long long)
    +@ stdcall CM_Get_Device_ID_List_SizeA(ptr str long)
    +@ stdcall CM_Get_Device_ID_List_SizeW(ptr wstr long)
    +@ stdcall CM_Get_Device_ID_List_Size_ExA(ptr str long long)
    +@ stdcall CM_Get_Device_ID_List_Size_ExW(ptr wstr long long)
     @ stub CM_Get_Device_ID_Size
     @ stub CM_Get_Device_ID_Size_Ex
     @ stub CM_Get_Device_Interface_AliasA
    @@ -190,8 +190,8 @@
     @ stub CM_Unregister_Device_InterfaceW
     @ stub CM_Unregister_Device_Interface_ExA
     @ stub CM_Unregister_Device_Interface_ExW
    -@ stub CaptureAndConvertAnsiArg
    -@ stub CaptureStringArg
    +@ stdcall CaptureAndConvertAnsiArg(str ptr)
    +@ stdcall CaptureStringArg(wstr ptr)
     @ stub CenterWindowRelativeToParent
     @ stub ConcatenatePaths
     @ stdcall DelayedMove(wstr wstr)
    diff --git a/reactos/lib/setupapi/setupapi.xml b/reactos/lib/setupapi/setupapi.xml
    index 697ccb34c4a..b96e022458a 100644
    --- a/reactos/lib/setupapi/setupapi.xml
    +++ b/reactos/lib/setupapi/setupapi.xml
    @@ -13,13 +13,13 @@
     	
     	
     	wine
    -	wine_unicode
     	ntdll
     	kernel32
     	advapi32
     	user32
     	rpcrt4
     	version
    +	cfgmgr.c
     	devinst.c
     	dirid.c
     	diskspace.c
    diff --git a/reactos/lib/setupapi/stubs.c b/reactos/lib/setupapi/stubs.c
    index f722a0cc20d..f0ab6e22518 100644
    --- a/reactos/lib/setupapi/stubs.c
    +++ b/reactos/lib/setupapi/stubs.c
    @@ -90,39 +90,6 @@ HDEVINFO WINAPI SetupDiGetClassDevsExW(const GUID *class, PCWSTR filter, HWND pa
       return FALSE;
     }
     
    -/***********************************************************************
    - *		CM_Connect_MachineW  (SETUPAPI.@)
    - */
    -DWORD WINAPI CM_Connect_MachineW(LPCWSTR name, void * machine)
    -{
    -#define  CR_SUCCESS       0x00000000
    -#define  CR_ACCESS_DENIED 0x00000033
    -  FIXME("\n");
    -  return  CR_ACCESS_DENIED;
    -}
    -
    -/***********************************************************************
    - *		CM_Disconnect_Machine  (SETUPAPI.@)
    - */
    -DWORD WINAPI CM_Disconnect_Machine(DWORD handle)
    -{
    -  FIXME("\n");
    -  return  CR_SUCCESS;
    -
    -}
    -
    -/***********************************************************************
    - *             CM_Get_Device_ID_ListA  (SETUPAPI.@)
    - */
    -
    -DWORD WINAPI CM_Get_Device_ID_ListA(
    -    PCSTR pszFilter, PCHAR Buffer, ULONG BufferLen, ULONG ulFlags )
    -{
    -    FIXME("%p %p %ld %ld\n", pszFilter, Buffer, BufferLen, ulFlags );
    -    memset(Buffer,0,2);
    -    return CR_SUCCESS;
    -}
    -
     
     /***********************************************************************
      *		SetupCopyOEMInfA  (SETUPAPI.@)
    diff --git a/reactos/lib/shdocvw/classinfo.c b/reactos/lib/shdocvw/classinfo.c
    index e93218ae5cc..11f888e867c 100644
    --- a/reactos/lib/shdocvw/classinfo.c
    +++ b/reactos/lib/shdocvw/classinfo.c
    @@ -38,27 +38,25 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
     static HRESULT WINAPI WBPCI_QueryInterface(LPPROVIDECLASSINFO iface,
                                                REFIID riid, LPVOID *ppobj)
     {
    -    IProvideClassInfoImpl *This = (IProvideClassInfoImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
    +
    +    if (ppobj == NULL) return E_POINTER;
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBPCI_AddRef(LPPROVIDECLASSINFO iface)
     {
    -    IProvideClassInfoImpl *This = (IProvideClassInfoImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBPCI_Release(LPPROVIDECLASSINFO iface)
     {
    -    IProvideClassInfoImpl *This = (IProvideClassInfoImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     /* Return an ITypeInfo interface to retrieve type library info about
    @@ -82,7 +80,7 @@ static IProvideClassInfoVtbl WBPCI_Vtbl =
         WBPCI_GetClassInfo
     };
     
    -IProvideClassInfoImpl SHDOCVW_ProvideClassInfo = { &WBPCI_Vtbl, 1 };
    +IProvideClassInfoImpl SHDOCVW_ProvideClassInfo = { &WBPCI_Vtbl};
     
     
     /**********************************************************************
    @@ -93,27 +91,25 @@ IProvideClassInfoImpl SHDOCVW_ProvideClassInfo = { &WBPCI_Vtbl, 1 };
     static HRESULT WINAPI WBPCI2_QueryInterface(LPPROVIDECLASSINFO2 iface,
                                                 REFIID riid, LPVOID *ppobj)
     {
    -    IProvideClassInfo2Impl *This = (IProvideClassInfo2Impl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBPCI2_AddRef(LPPROVIDECLASSINFO2 iface)
     {
    -    IProvideClassInfo2Impl *This = (IProvideClassInfo2Impl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBPCI2_Release(LPPROVIDECLASSINFO2 iface)
     {
    -    IProvideClassInfo2Impl *This = (IProvideClassInfo2Impl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     /* Return an ITypeInfo interface to retrieve type library info about
    @@ -167,4 +163,4 @@ static IProvideClassInfo2Vtbl WBPCI2_Vtbl =
         WBPCI2_GetGUID
     };
     
    -IProvideClassInfo2Impl SHDOCVW_ProvideClassInfo2 = { &WBPCI2_Vtbl, 1 };
    +IProvideClassInfo2Impl SHDOCVW_ProvideClassInfo2 = { &WBPCI2_Vtbl};
    diff --git a/reactos/lib/shdocvw/events.c b/reactos/lib/shdocvw/events.c
    index 1a1b59d6722..df611246e18 100644
    --- a/reactos/lib/shdocvw/events.c
    +++ b/reactos/lib/shdocvw/events.c
    @@ -38,27 +38,25 @@ static const GUID IID_INotifyDBEvents =
     static HRESULT WINAPI WBCPC_QueryInterface(LPCONNECTIONPOINTCONTAINER iface,
                                                REFIID riid, LPVOID *ppobj)
     {
    -    IConnectionPointContainerImpl *This = (IConnectionPointContainerImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBCPC_AddRef(LPCONNECTIONPOINTCONTAINER iface)
     {
    -    IConnectionPointContainerImpl *This = (IConnectionPointContainerImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBCPC_Release(LPCONNECTIONPOINTCONTAINER iface)
     {
    -    IConnectionPointContainerImpl *This = (IConnectionPointContainerImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     /* Get a list of connection points inside this container. */
    @@ -112,7 +110,7 @@ static IConnectionPointContainerVtbl WBCPC_Vtbl =
         WBCPC_FindConnectionPoint
     };
     
    -IConnectionPointContainerImpl SHDOCVW_ConnectionPointContainer = { &WBCPC_Vtbl, 1 };
    +IConnectionPointContainerImpl SHDOCVW_ConnectionPointContainer = {&WBCPC_Vtbl};
     
     
     /**********************************************************************
    @@ -122,27 +120,25 @@ IConnectionPointContainerImpl SHDOCVW_ConnectionPointContainer = { &WBCPC_Vtbl,
     static HRESULT WINAPI WBCP_QueryInterface(LPCONNECTIONPOINT iface,
                                               REFIID riid, LPVOID *ppobj)
     {
    -    IConnectionPointImpl *This = (IConnectionPointImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBCP_AddRef(LPCONNECTIONPOINT iface)
     {
    -    IConnectionPointImpl *This = (IConnectionPointImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBCP_Release(LPCONNECTIONPOINT iface)
     {
    -    IConnectionPointImpl *This = (IConnectionPointImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     static HRESULT WINAPI WBCP_GetConnectionInterface(LPCONNECTIONPOINT iface, IID* pIId)
    @@ -209,4 +205,4 @@ static IConnectionPointVtbl WBCP_Vtbl =
         WBCP_EnumConnections
     };
     
    -IConnectionPointImpl SHDOCVW_ConnectionPoint = { &WBCP_Vtbl, 1 };
    +IConnectionPointImpl SHDOCVW_ConnectionPoint = {&WBCP_Vtbl};
    diff --git a/reactos/lib/shdocvw/factory.c b/reactos/lib/shdocvw/factory.c
    index c1f0be60ef8..df00714d93a 100644
    --- a/reactos/lib/shdocvw/factory.c
    +++ b/reactos/lib/shdocvw/factory.c
    @@ -36,16 +36,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
     static HRESULT WINAPI WBCF_QueryInterface(LPCLASSFACTORY iface,
                                               REFIID riid, LPVOID *ppobj)
     {
    -    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -
    -    TRACE ("\n");
    -
    -    /*
    -     * Perform a sanity check on the parameters.
    -     */
    -    if ((This == NULL) || (ppobj == NULL) )
    -        return E_INVALIDARG;
    -
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
    +    
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
    @@ -54,10 +48,9 @@ static HRESULT WINAPI WBCF_QueryInterface(LPCLASSFACTORY iface,
      */
     static ULONG WINAPI WBCF_AddRef(LPCLASSFACTORY iface)
     {
    -    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     /************************************************************************
    @@ -65,11 +58,9 @@ static ULONG WINAPI WBCF_AddRef(LPCLASSFACTORY iface)
      */
     static ULONG WINAPI WBCF_Release(LPCLASSFACTORY iface)
     {
    -    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     /************************************************************************
    @@ -104,8 +95,13 @@ static HRESULT WINAPI WBCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter
      */
     static HRESULT WINAPI WBCF_LockServer(LPCLASSFACTORY iface, BOOL dolock)
     {
    -    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -    FIXME("(%p)->(%d),stub!\n", This, dolock);
    +    TRACE("(%d)\n", dolock);
    +
    +    if (dolock)
    +	    SHDOCVW_LockModule();
    +    else
    +	    SHDOCVW_UnlockModule();
    +    
         return S_OK;
     }
     
    @@ -118,4 +114,4 @@ static IClassFactoryVtbl WBCF_Vtbl =
         WBCF_LockServer
     };
     
    -IClassFactoryImpl SHDOCVW_ClassFactory = { &WBCF_Vtbl, 1 };
    +IClassFactoryImpl SHDOCVW_ClassFactory = {&WBCF_Vtbl};
    diff --git a/reactos/lib/shdocvw/misc.c b/reactos/lib/shdocvw/misc.c
    index a2f7af6d013..928f2a34def 100644
    --- a/reactos/lib/shdocvw/misc.c
    +++ b/reactos/lib/shdocvw/misc.c
    @@ -32,27 +32,25 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
     static HRESULT WINAPI WBQA_QueryInterface(LPQUICKACTIVATE iface,
                                               REFIID riid, LPVOID *ppobj)
     {
    -    IQuickActivateImpl *This = (IQuickActivateImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBQA_AddRef(LPQUICKACTIVATE iface)
     {
    -    IQuickActivateImpl *This = (IQuickActivateImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBQA_Release(LPQUICKACTIVATE iface)
     {
    -    IQuickActivateImpl *This = (IQuickActivateImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     /* Alternative interface for quicker, easier activation of a control. */
    @@ -90,4 +88,12 @@ static IQuickActivateVtbl WBQA_Vtbl =
         WBQA_GetContentExtent
     };
     
    -IQuickActivateImpl SHDOCVW_QuickActivate = { &WBQA_Vtbl, 1 };
    +IQuickActivateImpl SHDOCVW_QuickActivate = {&WBQA_Vtbl};
    +
    +/**********************************************************************
    + * OpenURL  (SHDOCVW.@)
    + */
    +void WINAPI OpenURL(HWND hWnd, HINSTANCE hInst, LPCSTR lpcstrUrl, int nShowCmd)
    +{
    +    FIXME("%p %p %s %d\n", hWnd, hInst, debugstr_a(lpcstrUrl), nShowCmd);
    +}
    diff --git a/reactos/lib/shdocvw/oleobject.c b/reactos/lib/shdocvw/oleobject.c
    index c6b3d6cd197..6652b875da6 100644
    --- a/reactos/lib/shdocvw/oleobject.c
    +++ b/reactos/lib/shdocvw/oleobject.c
    @@ -143,10 +143,9 @@ static HRESULT WINAPI WBOOBJ_QueryInterface(LPOLEOBJECT iface,
      */
     static ULONG WINAPI WBOOBJ_AddRef(LPOLEOBJECT iface)
     {
    -    IOleObjectImpl *This = (IOleObjectImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     /************************************************************************
    @@ -154,11 +153,9 @@ static ULONG WINAPI WBOOBJ_AddRef(LPOLEOBJECT iface)
      */
     static ULONG WINAPI WBOOBJ_Release(LPOLEOBJECT iface)
     {
    -    IOleObjectImpl *This = (IOleObjectImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     /************************************************************************
    @@ -438,7 +435,7 @@ static IOleObjectVtbl WBOOBJ_Vtbl =
         WBOOBJ_SetColorScheme
     };
     
    -IOleObjectImpl SHDOCVW_OleObject = { &WBOOBJ_Vtbl, 1 };
    +IOleObjectImpl SHDOCVW_OleObject = {&WBOOBJ_Vtbl};
     
     
     /**********************************************************************
    @@ -448,27 +445,25 @@ IOleObjectImpl SHDOCVW_OleObject = { &WBOOBJ_Vtbl, 1 };
     static HRESULT WINAPI WBOIPO_QueryInterface(LPOLEINPLACEOBJECT iface,
                                                 REFIID riid, LPVOID *ppobj)
     {
    -    IOleInPlaceObjectImpl *This = (IOleInPlaceObjectImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBOIPO_AddRef(LPOLEINPLACEOBJECT iface)
     {
    -    IOleInPlaceObjectImpl *This = (IOleInPlaceObjectImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBOIPO_Release(LPOLEINPLACEOBJECT iface)
     {
    -    IOleInPlaceObjectImpl *This = (IOleInPlaceObjectImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     static HRESULT WINAPI WBOIPO_GetWindow(LPOLEINPLACEOBJECT iface, HWND* phwnd)
    @@ -540,7 +535,7 @@ static IOleInPlaceObjectVtbl WBOIPO_Vtbl =
         WBOIPO_ReactivateAndUndo
     };
     
    -IOleInPlaceObjectImpl SHDOCVW_OleInPlaceObject = { &WBOIPO_Vtbl, 1 };
    +IOleInPlaceObjectImpl SHDOCVW_OleInPlaceObject = {&WBOIPO_Vtbl};
     
     
     /**********************************************************************
    @@ -550,27 +545,25 @@ IOleInPlaceObjectImpl SHDOCVW_OleInPlaceObject = { &WBOIPO_Vtbl, 1 };
     static HRESULT WINAPI WBOC_QueryInterface(LPOLECONTROL iface,
                                               REFIID riid, LPVOID *ppobj)
     {
    -    IOleControlImpl *This = (IOleControlImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBOC_AddRef(LPOLECONTROL iface)
     {
    -    IOleControlImpl *This = (IOleControlImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBOC_Release(LPOLECONTROL iface)
     {
    -    IOleControlImpl *This = (IOleControlImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     static HRESULT WINAPI WBOC_GetControlInfo(LPOLECONTROL iface, LPCONTROLINFO pCI)
    @@ -612,4 +605,4 @@ static IOleControlVtbl WBOC_Vtbl =
         WBOC_FreezeEvents
     };
     
    -IOleControlImpl SHDOCVW_OleControl = { &WBOC_Vtbl, 1 };
    +IOleControlImpl SHDOCVW_OleControl = {&WBOC_Vtbl};
    diff --git a/reactos/lib/shdocvw/persist.c b/reactos/lib/shdocvw/persist.c
    index f7868cbe792..53533e5617f 100644
    --- a/reactos/lib/shdocvw/persist.c
    +++ b/reactos/lib/shdocvw/persist.c
    @@ -30,27 +30,25 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
     static HRESULT WINAPI WBPS_QueryInterface(LPPERSISTSTORAGE iface,
                                               REFIID riid, LPVOID *ppobj)
     {
    -    IPersistStorageImpl *This = (IPersistStorageImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBPS_AddRef(LPPERSISTSTORAGE iface)
     {
    -    IPersistStorageImpl *This = (IPersistStorageImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBPS_Release(LPPERSISTSTORAGE iface)
     {
    -    IPersistStorageImpl *This = (IPersistStorageImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     static HRESULT WINAPI WBPS_GetClassID(LPPERSISTSTORAGE iface, CLSID *pClassID)
    @@ -107,7 +105,7 @@ static IPersistStorageVtbl WBPS_Vtbl =
         WBPS_SaveCompleted
     };
     
    -IPersistStorageImpl SHDOCVW_PersistStorage = { &WBPS_Vtbl, 1 };
    +IPersistStorageImpl SHDOCVW_PersistStorage = {&WBPS_Vtbl};
     
     
     /**********************************************************************
    @@ -117,27 +115,25 @@ IPersistStorageImpl SHDOCVW_PersistStorage = { &WBPS_Vtbl, 1 };
     static HRESULT WINAPI WBPSI_QueryInterface(LPPERSISTSTREAMINIT iface,
                                                REFIID riid, LPVOID *ppobj)
     {
    -    IPersistStreamInitImpl *This = (IPersistStreamInitImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WBPSI_AddRef(LPPERSISTSTREAMINIT iface)
     {
    -    IPersistStreamInitImpl *This = (IPersistStreamInitImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WBPSI_Release(LPPERSISTSTREAMINIT iface)
     {
    -    IPersistStreamInitImpl *This = (IPersistStreamInitImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     static HRESULT WINAPI WBPSI_GetClassID(LPPERSISTSTREAMINIT iface, CLSID *pClassID)
    @@ -195,4 +191,4 @@ static IPersistStreamInitVtbl WBPSI_Vtbl =
         WBPSI_InitNew
     };
     
    -IPersistStreamInitImpl SHDOCVW_PersistStreamInit = { &WBPSI_Vtbl, 1 };
    +IPersistStreamInitImpl SHDOCVW_PersistStreamInit = {&WBPSI_Vtbl};
    diff --git a/reactos/lib/shdocvw/shdocvw.h b/reactos/lib/shdocvw/shdocvw.h
    index 14b4dfe1921..44ea589bdea 100644
    --- a/reactos/lib/shdocvw/shdocvw.h
    +++ b/reactos/lib/shdocvw/shdocvw.h
    @@ -190,4 +190,11 @@ typedef struct
     
     extern IConnectionPointImpl SHDOCVW_ConnectionPoint;
     
    +/**********************************************************************
    + * Dll lifetime tracking declaration for shdocvw.dll
    + */
    +extern LONG SHDOCVW_refCount;
    +static inline void SHDOCVW_LockModule() { InterlockedIncrement( &SHDOCVW_refCount ); }
    +static inline void SHDOCVW_UnlockModule() { InterlockedDecrement( &SHDOCVW_refCount ); }
    +
     #endif /* __WINE_SHDOCVW_H */
    diff --git a/reactos/lib/shdocvw/shdocvw.spec b/reactos/lib/shdocvw/shdocvw.spec
    index b1d54cb4d36..c48373d5f02 100644
    --- a/reactos/lib/shdocvw/shdocvw.spec
    +++ b/reactos/lib/shdocvw/shdocvw.spec
    @@ -121,7 +121,7 @@
     @ stub ImportPrivacySettings
     @ stub InstallReg_RunDLL
     @ stub IEWriteErrorLog
    -@ stub OpenURL
    +@ stdcall OpenURL(long long str long)
     @ stub SHGetIDispatchForFolder
     @ stdcall SetQueryNetSessionCount(long)
     @ stub SoftwareUpdateMessageBox
    diff --git a/reactos/lib/shdocvw/shdocvw_main.c b/reactos/lib/shdocvw/shdocvw_main.c
    index 72a9b173cea..b5e16701615 100644
    --- a/reactos/lib/shdocvw/shdocvw_main.c
    +++ b/reactos/lib/shdocvw/shdocvw_main.c
    @@ -47,6 +47,8 @@
     
     WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
     
    +LONG SHDOCVW_refCount = 0;
    +
     static const WCHAR szMozDlPath[] = {
         'S','o','f','t','w','a','r','e','\\','W','i','n','e','\\',
         's','h','d','o','c','v','w',0
    @@ -55,6 +57,7 @@ static const WCHAR szMozDlPath[] = {
     DEFINE_GUID( CLSID_MozillaBrowser, 0x1339B54C,0x3453,0x11D2,0x93,0xB9,0x00,0x00,0x00,0x00,0x00,0x00);
     
     typedef HRESULT (WINAPI *fnGetClassObject)(REFCLSID rclsid, REFIID iid, LPVOID *ppv);
    +typedef HRESULT (WINAPI *fnCanUnloadNow)(void);
     
     HINSTANCE shdocvw_hinstance = 0;
     static HMODULE SHDOCVW_hshell32 = 0;
    @@ -127,7 +130,20 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
      */
     HRESULT WINAPI SHDOCVW_DllCanUnloadNow(void)
     {
    -    FIXME("(void): stub\n");
    +    HRESULT moz_can_unload = S_FALSE;
    +    fnCanUnloadNow pCanUnloadNow;
    +
    +    if (hMozCtl)
    +    {
    +        pCanUnloadNow = (fnCanUnloadNow)
    +            GetProcAddress(hMozCtl, "DllCanUnloadNow");
    +        moz_can_unload = pCanUnloadNow();
    +    }
    +    else
    +        moz_can_unload = S_OK;
    +
    +    if (moz_can_unload == S_OK && SHDOCVW_refCount == 0)
    +        return S_OK;
     
         return S_FALSE;
     }
    @@ -145,6 +161,8 @@ typedef struct _IBindStatusCallbackImpl {
     static HRESULT WINAPI
     dlQueryInterface( IBindStatusCallback* This, REFIID riid, void** ppvObject )
     {
    +    if (ppvObject == NULL) return E_POINTER;
    +    
         if( IsEqualIID(riid, &IID_IUnknown) ||
             IsEqualIID(riid, &IID_IBindStatusCallback))
         {
    @@ -158,6 +176,9 @@ dlQueryInterface( IBindStatusCallback* This, REFIID riid, void** ppvObject )
     static ULONG WINAPI dlAddRef( IBindStatusCallback* iface )
     {
         IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
    +
    +    SHDOCVW_LockModule();
    +    
         return InterlockedIncrement( &This->ref );
     }
     
    @@ -165,11 +186,15 @@ static ULONG WINAPI dlRelease( IBindStatusCallback* iface )
     {
         IBindStatusCallbackImpl *This = (IBindStatusCallbackImpl *) iface;
         DWORD ref = InterlockedDecrement( &This->ref );
    +    
         if( !ref )
         {
             DestroyWindow( This->hDialog );
             HeapFree( GetProcessHeap(), 0, This );
         }
    +
    +    SHDOCVW_UnlockModule();
    +    
         return ref;
     }
     
    diff --git a/reactos/lib/shdocvw/webbrowser.c b/reactos/lib/shdocvw/webbrowser.c
    index 7c40dcd69a9..21bd351b649 100644
    --- a/reactos/lib/shdocvw/webbrowser.c
    +++ b/reactos/lib/shdocvw/webbrowser.c
    @@ -29,27 +29,25 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
     
     static HRESULT WINAPI WB_QueryInterface(IWebBrowser *iface, REFIID riid, LPVOID *ppobj)
     {
    -    IWebBrowserImpl *This = (IWebBrowserImpl *)iface;
    +    FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
     
    -    FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
    +    if (ppobj == NULL) return E_POINTER;
    +    
         return E_NOINTERFACE;
     }
     
     static ULONG WINAPI WB_AddRef(IWebBrowser *iface)
     {
    -    IWebBrowserImpl *This = (IWebBrowserImpl *)iface;
    +    SHDOCVW_LockModule();
     
    -    TRACE("\n");
    -    return ++(This->ref);
    +    return 2; /* non-heap based object */
     }
     
     static ULONG WINAPI WB_Release(IWebBrowser *iface)
     {
    -    IWebBrowserImpl *This = (IWebBrowserImpl *)iface;
    +    SHDOCVW_UnlockModule();
     
    -    /* static class, won't be freed */
    -    TRACE("\n");
    -    return --(This->ref);
    +    return 1; /* non-heap based object */
     }
     
     /* IDispatch methods */
    @@ -277,4 +275,4 @@ static IWebBrowserVtbl WB_Vtbl =
         WB_get_Busy
     };
     
    -IWebBrowserImpl SHDOCVW_WebBrowser = { &WB_Vtbl, 1 };
    +IWebBrowserImpl SHDOCVW_WebBrowser = {&WB_Vtbl};
    diff --git a/reactos/lib/shell32/autocomplete.c b/reactos/lib/shell32/autocomplete.c
    index 93e2b1f0718..f4f9b42548e 100644
    --- a/reactos/lib/shell32/autocomplete.c
    +++ b/reactos/lib/shell32/autocomplete.c
    @@ -170,9 +170,11 @@ static ULONG WINAPI IAutoComplete_fnAddRef(
     	IAutoComplete * iface)
     {
         IAutoCompleteImpl *This = (IAutoCompleteImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
         
    -    TRACE("(%p)->(%lu)\n",This,This->ref);
    -    return ++(This->ref);
    +    TRACE("(%p)->(%lu)\n", This, refCount - 1);
    +
    +    return refCount;
     }
     
     /******************************************************************************
    @@ -182,10 +184,11 @@ static ULONG WINAPI IAutoComplete_fnRelease(
     	IAutoComplete * iface)
     {
         IAutoCompleteImpl *This = (IAutoCompleteImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
         
    -    TRACE("(%p)->(%lu)\n",This,This->ref);
    +    TRACE("(%p)->(%lu)\n", This, refCount + 1);
     
    -    if (!--(This->ref)) {
    +    if (!refCount) {
     	TRACE(" destroying IAutoComplete(%p)\n",This);
             HeapFree(GetProcessHeap(), 0, This->quickComplete);
             HeapFree(GetProcessHeap(), 0, This->txtbackup);
    @@ -194,9 +197,8 @@ static ULONG WINAPI IAutoComplete_fnRelease(
     	if (This->enumstr)
     	    IEnumString_Release(This->enumstr);
     	HeapFree(GetProcessHeap(), 0, This);
    -	return 0;
         }
    -    return This->ref;
    +    return refCount;
     }
     
     /******************************************************************************
    diff --git a/reactos/lib/shell32/cpanelfolder.c b/reactos/lib/shell32/cpanelfolder.c
    index f20940390cb..6a918017ef2 100644
    --- a/reactos/lib/shell32/cpanelfolder.c
    +++ b/reactos/lib/shell32/cpanelfolder.c
    @@ -181,26 +181,27 @@ static HRESULT WINAPI ISF_ControlPanel_fnQueryInterface(IShellFolder2 * iface, R
     static ULONG WINAPI ISF_ControlPanel_fnAddRef(IShellFolder2 * iface)
     {
         ICPanelImpl *This = (ICPanelImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -    return ++(This->ref);
    +    return refCount;
     }
     
     static ULONG WINAPI ISF_ControlPanel_fnRelease(IShellFolder2 * iface)
     {
         ICPanelImpl *This = (ICPanelImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -    if (!--(This->ref)) {
    +    if (!refCount) {
             TRACE("-- destroying IShellFolder(%p)\n", This);
             if (This->pidlRoot)
                 SHFree(This->pidlRoot);
             LocalFree((HLOCAL) This);
    -        return 0;
         }
    -    return This->ref;
    +    return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shell32/dataobject.c b/reactos/lib/shell32/dataobject.c
    index 96adeb04a40..b311e30424f 100644
    --- a/reactos/lib/shell32/dataobject.c
    +++ b/reactos/lib/shell32/dataobject.c
    @@ -124,16 +124,21 @@ static HRESULT WINAPI IEnumFORMATETC_fnQueryInterface(LPENUMFORMATETC iface, REF
     static ULONG WINAPI IEnumFORMATETC_fnAddRef(LPENUMFORMATETC iface)
     {
     	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
    -	TRACE("(%p)->(count=%lu)\n",This, This->ref);
    -	return ++(This->ref);
    +	ULONG refCount = InterlockedIncrement(&This->ref);
    +
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
    +
    +	return refCount;
     }
     
     static ULONG WINAPI IEnumFORMATETC_fnRelease(LPENUMFORMATETC iface)
     {
     	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
    -	TRACE("(%p)->()\n",This);
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	if (!--(This->ref))
    +	TRACE("(%p)->(%lu)\n", This, refCount + 1);
    +
    +	if (!refCount)
     	{
     	  TRACE(" destroying IEnumFORMATETC(%p)\n",This);
     	  if (This->pFmt)
    @@ -143,7 +148,7 @@ static ULONG WINAPI IEnumFORMATETC_fnRelease(LPENUMFORMATETC iface)
     	  HeapFree(GetProcessHeap(),0,This);
     	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     static HRESULT WINAPI IEnumFORMATETC_fnNext(LPENUMFORMATETC iface, ULONG celt, FORMATETC *rgelt, ULONG *pceltFethed)
    @@ -291,8 +296,11 @@ static HRESULT WINAPI IDataObject_fnQueryInterface(LPDATAOBJECT iface, REFIID ri
     static ULONG WINAPI IDataObject_fnAddRef(LPDATAOBJECT iface)
     {
     	IDataObjectImpl *This = (IDataObjectImpl *)iface;
    -	TRACE("(%p)->(count=%lu)\n",This, This->ref);
    -	return ++(This->ref);
    +	ULONG refCount = InterlockedIncrement(&This->ref);
    +
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
    +
    +	return refCount;
     }
     
     /**************************************************************************
    @@ -301,17 +309,18 @@ static ULONG WINAPI IDataObject_fnAddRef(LPDATAOBJECT iface)
     static ULONG WINAPI IDataObject_fnRelease(LPDATAOBJECT iface)
     {
     	IDataObjectImpl *This = (IDataObjectImpl *)iface;
    -	TRACE("(%p)->()\n",This);
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	if (!--(This->ref))
    +	TRACE("(%p)->(%lu)\n", This, refCount + 1);
    +
    +	if (!refCount)
     	{
     	  TRACE(" destroying IDataObject(%p)\n",This);
     	  _ILFreeaPidl(This->apidl, This->cidl);
     	  ILFree(This->pidl),
     	  HeapFree(GetProcessHeap(),0,This);
    -	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shell32/dragdrophelper.c b/reactos/lib/shell32/dragdrophelper.c
    index f8005708433..53a879f186b 100644
    --- a/reactos/lib/shell32/dragdrophelper.c
    +++ b/reactos/lib/shell32/dragdrophelper.c
    @@ -113,24 +113,26 @@ static HRESULT WINAPI IDropTargetHelper_fnQueryInterface (IDropTargetHelper * if
     static ULONG WINAPI IDropTargetHelper_fnAddRef (IDropTargetHelper * iface)
     {
         IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -    return ++(This->ref);
    +    return refCount;
     }
     
     static ULONG WINAPI IDropTargetHelper_fnRelease (IDropTargetHelper * iface)
     {
         IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -    if (!--(This->ref)) {
    +    if (!refCount) {
             TRACE("-- destroying (%p)\n", This);
             LocalFree ((HLOCAL) This);
             return 0;
         }
    -    return This->ref;
    +    return refCount;
     }
     
     static HRESULT WINAPI IDropTargetHelper_fnDragEnter (
    diff --git a/reactos/lib/shell32/enumidlist.c b/reactos/lib/shell32/enumidlist.c
    index 31abedbcad7..1d78e29cbe3 100644
    --- a/reactos/lib/shell32/enumidlist.c
    +++ b/reactos/lib/shell32/enumidlist.c
    @@ -240,8 +240,11 @@ static ULONG WINAPI IEnumIDList_fnAddRef(
     	IEnumIDList * iface)
     {
     	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
    -	TRACE("(%p)->(%lu)\n",This,This->ref);
    -	return ++(This->ref);
    +	ULONG refCount = InterlockedIncrement(&This->ref);
    +
    +	TRACE("(%p)->(%lu)\n", This, refCount - 1);
    +
    +	return refCount;
     }
     /******************************************************************************
      * IEnumIDList_fnRelease
    @@ -250,16 +253,16 @@ static ULONG WINAPI IEnumIDList_fnRelease(
     	IEnumIDList * iface)
     {
     	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	TRACE("(%p)->(%lu)\n",This,This->ref);
    +	TRACE("(%p)->(%lu)\n", This, refCount + 1);
     
    -	if (!--(This->ref)) {
    +	if (!refCount) {
     	  TRACE(" destroying IEnumIDList(%p)\n",This);
     	  DeleteList((IEnumIDList*)This);
     	  HeapFree(GetProcessHeap(),0,This);
    -	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shell32/folders.c b/reactos/lib/shell32/folders.c
    index 7aa2e7485d5..12b6fe4d52a 100644
    --- a/reactos/lib/shell32/folders.c
    +++ b/reactos/lib/shell32/folders.c
    @@ -130,10 +130,11 @@ static HRESULT WINAPI IExtractIconW_fnQueryInterface(IExtractIconW *iface, REFII
     static ULONG WINAPI IExtractIconW_fnAddRef(IExtractIconW * iface)
     {
     	IExtractIconWImpl *This = (IExtractIconWImpl *)iface;
    +	ULONG refCount = InterlockedIncrement(&This->ref);
     
    -	TRACE("(%p)->(count=%lu)\n",This, This->ref );
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -	return ++(This->ref);
    +	return refCount;
     }
     /**************************************************************************
     *  IExtractIconW_Release
    @@ -141,17 +142,18 @@ static ULONG WINAPI IExtractIconW_fnAddRef(IExtractIconW * iface)
     static ULONG WINAPI IExtractIconW_fnRelease(IExtractIconW * iface)
     {
     	IExtractIconWImpl *This = (IExtractIconWImpl *)iface;
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	TRACE("(%p)->()\n",This);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -	if (!--(This->ref))
    +	if (!refCount)
     	{
     	  TRACE(" destroying IExtractIcon(%p)\n",This);
     	  SHFree(This->pidl);
     	  HeapFree(GetProcessHeap(),0,This);
     	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     static HRESULT getIconLocationForFolder(IExtractIconW *iface, UINT uFlags,
    diff --git a/reactos/lib/shell32/memorystream.c b/reactos/lib/shell32/memorystream.c
    index ff7ea0b00c8..e6460a6d6c1 100644
    --- a/reactos/lib/shell32/memorystream.c
    +++ b/reactos/lib/shell32/memorystream.c
    @@ -127,10 +127,11 @@ static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVO
     static ULONG WINAPI IStream_fnAddRef(IStream *iface)
     {
     	ISHFileStream *This = (ISHFileStream *)iface;
    +	ULONG refCount = InterlockedIncrement(&This->ref);
     
    -	TRACE("(%p)->(count=%lu)\n",This, This->ref);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -	return ++(This->ref);
    +	return refCount;
     }
     
     /**************************************************************************
    @@ -139,16 +140,17 @@ static ULONG WINAPI IStream_fnAddRef(IStream *iface)
     static ULONG WINAPI IStream_fnRelease(IStream *iface)
     {
     	ISHFileStream *This = (ISHFileStream *)iface;
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	TRACE("(%p)->()\n",This);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -	if (!--(This->ref))
    +	if (!refCount)
     	{
     		TRACE(" destroying SHFileStream (%p)\n",This);
     		CloseHandle(This->handle);
     		HeapFree(GetProcessHeap(),0,This);
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     static HRESULT WINAPI IStream_fnRead (IStream * iface, void* pv, ULONG cb, ULONG* pcbRead)
    diff --git a/reactos/lib/shell32/pidl.c b/reactos/lib/shell32/pidl.c
    index f77343c7453..d0f4206c5b7 100644
    --- a/reactos/lib/shell32/pidl.c
    +++ b/reactos/lib/shell32/pidl.c
    @@ -977,7 +977,7 @@ LPITEMIDLIST WINAPI ILCreateFromPathAW (LPCVOID path)
      *  IShellFolder uses that FileSystem Bind Data object of the BindContext
      *  to pass data about the current path element to the next object. This
      *  is used to avoid having to verify the current path element on disk, so
    - *  that creating an ItemIDList from a non-existent path still can work.
    + *  that creating an ItemIDList from a nonexistent path still can work.
      */
     static HRESULT WINAPI _ILParsePathW(LPCWSTR path, LPWIN32_FIND_DATAW lpFindFile,
                                  BOOL bBindCtx, LPITEMIDLIST *ppidl, LPDWORD prgfInOut)
    @@ -1024,7 +1024,7 @@ static HRESULT WINAPI _ILParsePathW(LPCWSTR path, LPWIN32_FIND_DATAW lpFindFile,
      * SHSimpleIDListFromPath    [SHELL32.162]
      *
      * Creates a simple ItemIDList from a path and returns it. This function
    - * does not fail on non-existent paths.
    + * does not fail on nonexistent paths.
      *
      * PARAMS
      *  path         [I]   path to parse and convert into an ItemIDList
    diff --git a/reactos/lib/shell32/shell32_De.rc b/reactos/lib/shell32/shell32_De.rc
    index 0084189fc08..15288eb3c19 100644
    --- a/reactos/lib/shell32/shell32_De.rc
    +++ b/reactos/lib/shell32/shell32_De.rc
    @@ -188,3 +188,35 @@ STRINGTABLE DISCARDABLE
            IDS_SHUTDOWN_TITLE      "Anhalten"
            IDS_SHUTDOWN_PROMPT     "Möchten Sie die aktuelle ReactOS Sitzung beenden ?"
     }
    +
    +/* shell folder path default values */
    +STRINGTABLE DISCARDABLE
    +{
    +	IDS_PROGRAMS		"Startmenü\\Programme"
    +	IDS_PERSONAL		"Eigene Dateien"
    +	IDS_FAVORITES		"Favoriten"
    +	IDS_STARTUP		"Startmenü\\Programme\\Autostart"
    +	IDS_RECENT		"Recent"
    +	IDS_SENDTO		"SendTo"
    +	IDS_STARTMENU		"Startmenü"
    +	IDS_MYMUSIC		"Eigene Dateien\\Meine Musik"
    +	IDS_MYVIDEO		"Eigene Dateien\\Meine Videos"
    +	IDS_DESKTOPDIRECTORY	"Desktop"
    +	IDS_NETHOOD		"Netzwerkumgebung"
    +	IDS_TEMPLATES		"Vorlagen"
    +	IDS_APPDATA		"Anwendungsdaten"
    +	IDS_PRINTHOOD		"Druckumgebung"
    +	IDS_LOCAL_APPDATA	"Lokale Einstellungen\\Anwendungsdaten"
    +	IDS_INTERNET_CACHE	"Temporary Internet Files"
    +	IDS_COOKIES		"Cookies"
    +	IDS_HISTORY		"Verlauf"
    +	IDS_PROGRAM_FILES	"Programme"
    +	IDS_MYPICTURES		"Eigene Dateien\\Eigene Bilder"
    +	IDS_PROGRAM_FILES_COMMON "Programme\\Gemeinsame Dateien"
    +	IDS_COMMON_DOCUMENTS	"Dokumente"
    +	IDS_ADMINTOOLS		"Startmenü\\Programme\\Verwaltung"
    +	IDS_COMMON_MUSIC	"Dokumente\\Eigene Musik"
    +	IDS_COMMON_PICTURES	"Dokumente\\Eigene Bilder"
    +	IDS_COMMON_VIDEO	"Dokumente\\Eigene Videos"
    +	IDS_CDBURN_AREA		"Lokale Einstellungen\\Anwendungsdaten\\Microsoft\\CD Burning"
    +}
    diff --git a/reactos/lib/shell32/shelllink.c b/reactos/lib/shell32/shelllink.c
    index e0272646ecb..b7b379f81c5 100644
    --- a/reactos/lib/shell32/shelllink.c
    +++ b/reactos/lib/shell32/shelllink.c
    @@ -974,10 +974,11 @@ static HRESULT WINAPI IShellLinkA_fnQueryInterface( IShellLinkA * iface, REFIID
     static ULONG WINAPI IShellLinkA_fnAddRef(IShellLinkA * iface)
     {
     	IShellLinkImpl *This = (IShellLinkImpl *)iface;
    +	ULONG refCount = InterlockedIncrement(&This->ref);
     
    -	TRACE("(%p)->(count=%lu)\n",This,This->ref);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -	return ++(This->ref);
    +	return refCount;
     }
     /******************************************************************************
      *	IShellLinkA_Release
    @@ -985,11 +986,12 @@ static ULONG WINAPI IShellLinkA_fnAddRef(IShellLinkA * iface)
     static ULONG WINAPI IShellLinkA_fnRelease(IShellLinkA * iface)
     {
         IShellLinkImpl *This = (IShellLinkImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE("(%p)->(count=%lu)\n",This,This->ref);
    +    TRACE("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -    if (--(This->ref))
    -        return This->ref;
    +    if (refCount)
    +        return refCount;
     
         TRACE("-- destroying IShellLink(%p)\n",This);
     
    diff --git a/reactos/lib/shell32/shellole.c b/reactos/lib/shell32/shellole.c
    index 0167b16dc2f..ea74a9fa088 100644
    --- a/reactos/lib/shell32/shellole.c
    +++ b/reactos/lib/shell32/shellole.c
    @@ -556,9 +556,11 @@ static HRESULT WINAPI IDefClF_fnQueryInterface(
     static ULONG WINAPI IDefClF_fnAddRef(LPCLASSFACTORY iface)
     {
     	IDefClFImpl *This = (IDefClFImpl *)iface;
    -	TRACE("(%p)->(count=%lu)\n",This,This->ref);
    +	ULONG refCount = InterlockedIncrement(&This->ref);
     
    -	return InterlockedIncrement(&This->ref);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
    +
    +	return refCount;
     }
     /******************************************************************************
      * IDefClF_fnRelease
    @@ -566,9 +568,11 @@ static ULONG WINAPI IDefClF_fnAddRef(LPCLASSFACTORY iface)
     static ULONG WINAPI IDefClF_fnRelease(LPCLASSFACTORY iface)
     {
     	IDefClFImpl *This = (IDefClFImpl *)iface;
    -	TRACE("(%p)->(count=%lu)\n",This,This->ref);
    +	ULONG refCount = InterlockedDecrement(&This->ref);
    +	
    +	TRACE("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -	if (!InterlockedDecrement(&This->ref))
    +	if (!refCount)
     	{
     	  if (This->pcRefDll) InterlockedDecrement(This->pcRefDll);
     
    @@ -576,7 +580,7 @@ static ULONG WINAPI IDefClF_fnRelease(LPCLASSFACTORY iface)
     	  HeapFree(GetProcessHeap(),0,This);
     	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     /******************************************************************************
      * IDefClF_fnCreateInstance
    diff --git a/reactos/lib/shell32/shellord.c b/reactos/lib/shell32/shellord.c
    index ad6261e510f..403afe2e855 100644
    --- a/reactos/lib/shell32/shellord.c
    +++ b/reactos/lib/shell32/shellord.c
    @@ -673,7 +673,7 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
         if (ret == ERROR_SUCCESS) {
     	if (!( (type == REG_DWORD) ||
     	       ((type == REG_BINARY) && (datalen == 4)) )) {
    -	    ERR("Error policy data for \"NoRecentDocsHistory\" not formated correctly, type=%ld, len=%ld\n",
    +	    ERR("Error policy data for \"NoRecentDocsHistory\" not formatted correctly, type=%ld, len=%ld\n",
     		type, datalen);
     	    return;
     	}
    diff --git a/reactos/lib/shell32/shellpath.c b/reactos/lib/shell32/shellpath.c
    index f77a9bf10fe..718bfc216e6 100644
    --- a/reactos/lib/shell32/shellpath.c
    +++ b/reactos/lib/shell32/shellpath.c
    @@ -1995,7 +1995,7 @@ HRESULT WINAPI SHGetFolderLocation(
                 else if (hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND))
                 {
                     /* unlike SHGetFolderPath, SHGetFolderLocation in shell32
    -                 * version 6.0 returns E_FAIL for non-existing paths
    +                 * version 6.0 returns E_FAIL for nonexistent paths
                      */
                     hr = E_FAIL;
                 }
    diff --git a/reactos/lib/shell32/shfldr_desktop.c b/reactos/lib/shell32/shfldr_desktop.c
    index 66b4e8c5d16..e14dd087735 100644
    --- a/reactos/lib/shell32/shfldr_desktop.c
    +++ b/reactos/lib/shell32/shfldr_desktop.c
    @@ -157,19 +157,21 @@ static HRESULT WINAPI ISF_Desktop_fnQueryInterface (IShellFolder2 * iface, REFII
     static ULONG WINAPI ISF_Desktop_fnAddRef (IShellFolder2 * iface)
     {
         IGenericSFImpl *This = (IGenericSFImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -    return ++(This->ref);
    +    return refCount;
     }
     
     static ULONG WINAPI ISF_Desktop_fnRelease (IShellFolder2 * iface)
     {
         IGenericSFImpl *This = (IGenericSFImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -    if (!--(This->ref)) {
    +    if (!refCount) {
     	TRACE ("-- destroying IShellFolder(%p)\n", This);
     	if (This->pidlRoot)
     	    SHFree (This->pidlRoot);
    @@ -178,7 +180,7 @@ static ULONG WINAPI ISF_Desktop_fnRelease (IShellFolder2 * iface)
     	LocalFree ((HLOCAL) This);
             return 0;
         }
    -    return This->ref;
    +    return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shell32/shfldr_fs.c b/reactos/lib/shell32/shfldr_fs.c
    index 858628540a4..e8fdca78b38 100644
    --- a/reactos/lib/shell32/shfldr_fs.c
    +++ b/reactos/lib/shell32/shfldr_fs.c
    @@ -173,19 +173,21 @@ static HRESULT WINAPI IUnknown_fnQueryInterface (IUnknown * iface, REFIID riid,
     static ULONG WINAPI IUnknown_fnAddRef (IUnknown * iface)
     {
         IGenericSFImpl *This = (IGenericSFImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -    return ++(This->ref);
    +    return refCount;
     }
     
     static ULONG WINAPI IUnknown_fnRelease (IUnknown * iface)
     {
         IGenericSFImpl *This = (IGenericSFImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -    if (!--(This->ref)) {
    +    if (!refCount) {
     	TRACE ("-- destroying IShellFolder(%p)\n", This);
     
     	if (This->pidlRoot)
    @@ -193,9 +195,8 @@ static ULONG WINAPI IUnknown_fnRelease (IUnknown * iface)
     	if (This->sPathTarget)
     	    SHFree (This->sPathTarget);
     	LocalFree ((HLOCAL) This);
    -	return 0;
         }
    -    return This->ref;
    +    return refCount;
     }
     
     static IUnknownVtbl unkvt =
    diff --git a/reactos/lib/shell32/shfldr_mycomp.c b/reactos/lib/shell32/shfldr_mycomp.c
    index 5de8574efcd..cacfcfbd68c 100644
    --- a/reactos/lib/shell32/shfldr_mycomp.c
    +++ b/reactos/lib/shell32/shfldr_mycomp.c
    @@ -160,26 +160,27 @@ static HRESULT WINAPI ISF_MyComputer_fnQueryInterface (IShellFolder2 * iface, RE
     static ULONG WINAPI ISF_MyComputer_fnAddRef (IShellFolder2 * iface)
     {
         IGenericSFImpl *This = (IGenericSFImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -    return ++(This->ref);
    +    return refCount;
     }
     
     static ULONG WINAPI ISF_MyComputer_fnRelease (IShellFolder2 * iface)
     {
         IGenericSFImpl *This = (IGenericSFImpl *)iface;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE ("(%p)->(count=%lu)\n", This, This->ref);
    +    TRACE ("(%p)->(count=%lu)\n", This, refCount + 1);
     
    -    if (!--(This->ref)) {
    +    if (!refCount) {
             TRACE ("-- destroying IShellFolder(%p)\n", This);
             if (This->pidlRoot)
                 SHFree (This->pidlRoot);
             LocalFree ((HLOCAL) This);
    -        return 0;
         }
    -    return This->ref;
    +    return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shell32/shlfileop.c b/reactos/lib/shell32/shlfileop.c
    index f229819b73b..811a5a9b854 100644
    --- a/reactos/lib/shell32/shlfileop.c
    +++ b/reactos/lib/shell32/shlfileop.c
    @@ -861,6 +861,90 @@ static const char * debug_shfileops_action( DWORD op )
     #define ERROR_SHELL_INTERNAL_FILE_NOT_FOUND 1026
     #define HIGH_ADR (LPWSTR)0xffffffff
     
    +static int file_operation_delete( WIN32_FIND_DATAW *wfd,SHFILEOPSTRUCTW nFileOp, LPWSTR pFromFile,LPWSTR pTempFrom,HANDLE *hFind)
    +
    +{
    +    LPWSTR lpFileName;
    +    BOOL    b_Mask = (NULL != StrPBrkW(&pFromFile[1], wWildcardChars));
    +    int retCode = 0;
    +    do
    +    {
    +        lpFileName = wfd->cAlternateFileName;
    +        if (!lpFileName[0])
    +            lpFileName = wfd->cFileName;
    +        if (IsDotDir(lpFileName) ||
    +                ((b_Mask) && IsAttribDir(wfd->dwFileAttributes) && (nFileOp.fFlags & FOF_FILESONLY)))
    +            continue;
    +        SHFileStrCpyCatW(&pFromFile[1], lpFileName, NULL);
    +        /* TODO: Check the SHELL_DeleteFileOrDirectoryW() function in shell32.dll */
    +        if (IsAttribFile(wfd->dwFileAttributes))
    +        {
    +            if(SHNotifyDeleteFileW(pTempFrom) != ERROR_SUCCESS)
    +            {
    +                nFileOp.fAnyOperationsAborted = TRUE;
    +                retCode = 0x78; /* value unknown */
    +            }
    +        }
    +        else if(!SHELL_DeleteDirectoryW(pTempFrom, (!(nFileOp.fFlags & FOF_NOCONFIRMATION))))
    +        {
    +            nFileOp.fAnyOperationsAborted = TRUE;
    +            retCode = 0x79; /* value unknown */
    +        }
    +    }
    +    while (!nFileOp.fAnyOperationsAborted && FindNextFileW(*hFind,wfd));
    +    FindClose(*hFind);
    +    *hFind = INVALID_HANDLE_VALUE;
    +    return retCode;
    +}
    +
    +/*
    + * Summary of flags:
    + *
    + * implemented flags:
    + * FOF_MULTIDESTFILES, FOF_NOCONFIRMATION, FOF_FILESONLY
    + *
    + * unimplememented and ignored flags:
    + * FOF_CONFIRMMOUSE, FOF_SILENT, FOF_NOCONFIRMMKDIR,
    + *       FOF_SIMPLEPROGRESS, FOF_NOCOPYSECURITYATTRIBS
    + *
    + * partially implemented, breaks if file exists:
    + * FOF_RENAMEONCOLLISION
    + *
    + * unimplemented and break if any other flag set:
    + * FOF_ALLOWUNDO, FOF_WANTMAPPINGHANDLE
    + */
    +
    +static int file_operation_checkFlags(SHFILEOPSTRUCTW nFileOp)
    +{
    +    FILEOP_FLAGS OFl = ((FILEOP_FLAGS)nFileOp.fFlags & 0xfff);
    +    long FuncSwitch = (nFileOp.wFunc & FO_MASK);
    +    long level= nFileOp.wFunc >> 4;
    +
    +    TRACE("%s level=%ld nFileOp.fFlags=0x%x\n", 
    +            debug_shfileops_action(FuncSwitch), level, nFileOp.fFlags);
    +    /*    OFl &= (-1 - (FOF_MULTIDESTFILES | FOF_FILESONLY)); */
    +    /*    OFl ^= (FOF_SILENT | FOF_NOCONFIRMATION | FOF_SIMPLEPROGRESS | FOF_NOCONFIRMMKDIR); */
    +    OFl &= (~(FOF_MULTIDESTFILES | FOF_NOCONFIRMATION | FOF_FILESONLY));  /* implemented */
    +    OFl ^= (FOF_SILENT | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_NOCOPYSECURITYATTRIBS); /* ignored, if one */
    +    OFl &= (~FOF_SIMPLEPROGRESS); /* ignored, only with FOF_SILENT */
    +    if (OFl)
    +    {
    +        if (OFl & (~(FOF_CONFIRMMOUSE | FOF_SILENT | FOF_RENAMEONCOLLISION |
    +                        FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_NOCOPYSECURITYATTRIBS)))
    +        {
    +            TRACE("%s level=%ld lpFileOp->fFlags=0x%x not implemented, Aborted=TRUE, stub\n",
    +                    debug_shfileops_action(FuncSwitch), level, OFl);
    +            return 0x403; /* 1027, we need an extension to shlfileop */
    +        }
    +        else
    +        {
    +            TRACE("%s level=%ld lpFileOp->fFlags=0x%x not fully implemented, stub\n", 
    +                    debug_shfileops_action(FuncSwitch), level, OFl);
    +        } 
    +    } 
    +    return 0;
    +}
    +
     /*************************************************************************
      * SHFileOperationW          [SHELL32.@]
      *
    @@ -884,8 +968,6 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
     	int retCode = 0;
     	DWORD ToAttr;
     	DWORD ToPathAttr;
    -	DWORD FromPathAttr;
    -	FILEOP_FLAGS OFl = ((FILEOP_FLAGS)lpFileOp->fFlags & 0xfff);
     
     	BOOL b_Multi = (nFileOp.fFlags & FOF_MULTIDESTFILES);
     
    @@ -904,6 +986,8 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
     	long FuncSwitch = (nFileOp.wFunc & FO_MASK);
     	long level= nFileOp.wFunc>>4;
     
    +        int ret;
    +
     	/*  default no error */
     	nFileOp.fAnyOperationsAborted = FALSE;
     
    @@ -932,47 +1016,12 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
              * create dir              0 0 0 0 0 0 1 0
              */
     
    -        /*
    -         * Summary of flags:
    -         *
    -         * implemented flags:
    -         * FOF_MULTIDESTFILES, FOF_NOCONFIRMATION, FOF_FILESONLY
    -         *
    -         * unimplememented and ignored flags:
    -         * FOF_CONFIRMMOUSE, FOF_SILENT, FOF_NOCONFIRMMKDIR,
    -         *       FOF_SIMPLEPROGRESS, FOF_NOCOPYSECURITYATTRIBS
    -         *
    -         * partially implemented, breaks if file exists:
    -         * FOF_RENAMEONCOLLISION
    -         *
    -         * unimplemented and break if any other flag set:
    -         * FOF_ALLOWUNDO, FOF_WANTMAPPINGHANDLE
    -         */
    -
    -        TRACE("%s level=%ld nFileOp.fFlags=0x%x\n", 
    -                debug_shfileops_action(FuncSwitch), level, lpFileOp->fFlags);
    -
    -        /*    OFl &= (-1 - (FOF_MULTIDESTFILES | FOF_FILESONLY)); */
    -        /*    OFl ^= (FOF_SILENT | FOF_NOCONFIRMATION | FOF_SIMPLEPROGRESS | FOF_NOCONFIRMMKDIR); */
    -        OFl &= (~(FOF_MULTIDESTFILES | FOF_NOCONFIRMATION | FOF_FILESONLY));  /* implemented */
    -        OFl ^= (FOF_SILENT | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_NOCOPYSECURITYATTRIBS); /* ignored, if one */
    -        OFl &= (~FOF_SIMPLEPROGRESS);                      /* ignored, only with FOF_SILENT */
    -        if (OFl)
    +        ret = file_operation_checkFlags(nFileOp);
    +        if (ret != 0)
             {
    -	    if (OFl & (~(FOF_CONFIRMMOUSE | FOF_SILENT | FOF_RENAMEONCOLLISION |
    -	                 FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_NOCOPYSECURITYATTRIBS)))
    -	    {
    -                TRACE("%s level=%ld lpFileOp->fFlags=0x%x not implemented, Aborted=TRUE, stub\n",
    -                      debug_shfileops_action(FuncSwitch), level, OFl);
    -                retCode = 0x403; /* 1027, we need an extension to shlfileop */
    -                goto shfileop_end;
    -	    }
    -	    else
    -	    {
    -                TRACE("%s level=%ld lpFileOp->fFlags=0x%x not fully implemented, stub\n", 
    -                      debug_shfileops_action(FuncSwitch), level, OFl);
    -	    } 
    -        } 
    +            retCode = ret;
    +            goto shfileop_end;
    +        }
     
             if ((pNextFrom) && (!(b_MultiTo) || (pNextTo)))
             {
    @@ -1055,12 +1104,13 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
                         goto shfileop_end;
                     }
     	    }
    -
    +             
     	    hFind = FindFirstFileW(pFrom, &wfd);
     	    if (INVALID_HANDLE_VALUE == hFind)
     	    {
                     if ((FO_DELETE == FuncSwitch) && (b_Mask))
                     {
    +                    DWORD FromPathAttr;
                         pFromFile[0] = '\0';
                         FromPathAttr = GetFileAttributesW(pTempFrom);
                         pFromFile[0] = '\\';
    @@ -1080,37 +1130,13 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
                 /* ??? b_Mask = (!SHFileStrICmpA(&pFromFile[1], &wfd.cFileName[0], HIGH_ADR, HIGH_ADR)); */
     	    if (!pTo) /* FO_DELETE */
     	    {
    -                do
    +                ret = file_operation_delete(&wfd,nFileOp,pFromFile,pTempFrom,&hFind);
    +                /* if ret is not 0, nFileOp.fAnyOperationsAborted is TRUE */
    +                if (ret != 0)
                     {
    -                    lpFileName = wfd.cAlternateFileName;
    -                    if (!lpFileName[0])
    -                        lpFileName = wfd.cFileName;
    -                    if (IsDotDir(lpFileName) ||
    -                        ((b_Mask) && IsAttribDir(wfd.dwFileAttributes) && (nFileOp.fFlags & FOF_FILESONLY)))
    -                        continue;
    -                    SHFileStrCpyCatW(&pFromFile[1], lpFileName, NULL);
    -                    /* TODO: Check the SHELL_DeleteFileOrDirectoryW() function in shell32.dll */
    -                    if (IsAttribFile(wfd.dwFileAttributes))
    -                    {
    -                        if(SHNotifyDeleteFileW(pTempFrom) != ERROR_SUCCESS)
    -                        {
    -                            nFileOp.fAnyOperationsAborted = TRUE;
    -                            retCode = 0x78; /* value unknown */
    -                        }
    -                    }
    -                    else
    -                    {
    -                        if(!SHELL_DeleteDirectoryW(pTempFrom, (!(nFileOp.fFlags & FOF_NOCONFIRMATION))))
    -                        {
    -                            nFileOp.fAnyOperationsAborted = TRUE;
    -                            retCode = 0x79; /* value unknown */
    -                        }
    -                    }
    -                } while (!nFileOp.fAnyOperationsAborted && FindNextFileW(hFind, &wfd));
    -                FindClose(hFind);
    -                hFind = INVALID_HANDLE_VALUE;
    -                if (nFileOp.fAnyOperationsAborted)
    -                    goto shfileop_end;
    +                  retCode = ret;
    +                  goto shfileop_end;
    +                }
                     continue;
     	    } /* FO_DELETE ends, pTo must be always valid from here */
     
    diff --git a/reactos/lib/shell32/shlfsbind.c b/reactos/lib/shell32/shlfsbind.c
    index 14e1f3a811d..b558aeab3e1 100644
    --- a/reactos/lib/shell32/shlfsbind.c
    +++ b/reactos/lib/shell32/shlfsbind.c
    @@ -179,22 +179,26 @@ static HRESULT WINAPI IFileSystemBindData_fnQueryInterface(IFileSystemBindData *
     static ULONG WINAPI IFileSystemBindData_fnAddRef(IFileSystemBindData *iface)
     {
     	IFileSystemBindDataImpl *This = (IFileSystemBindDataImpl *)iface;
    -	TRACE("(%p)\n", This);
    -	return InterlockedIncrement(&This->ref);
    +	ULONG refCount = InterlockedIncrement(&This->ref);
    +
    +	TRACE("(%p)->(count=%li)\n", This, refCount - 1);
    +
    +	return refCount;
     }
     
     static ULONG WINAPI IFileSystemBindData_fnRelease(IFileSystemBindData *iface)
     {
     	IFileSystemBindDataImpl *This = (IFileSystemBindDataImpl *)iface;
    -	TRACE("(%p)\n", This);
    +	ULONG refCount = InterlockedDecrement(&This->ref);
    +	
    +	TRACE("(%p)->(count=%li)\n", This, refCount + 1);
     
    -	if (!InterlockedDecrement(&This->ref))
    +	if (!refCount)
     	{
     	  TRACE(" destroying ISFBindPidl(%p)\n",This);
     	  HeapFree(GetProcessHeap(), 0, This);
    -	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     static HRESULT WINAPI IFileSystemBindData_fnGetFindData(IFileSystemBindData *iface, WIN32_FIND_DATAW *pfd)
    diff --git a/reactos/lib/shell32/shlview.c b/reactos/lib/shell32/shlview.c
    index aa01c94a881..6dc5e5f92ca 100644
    --- a/reactos/lib/shell32/shlview.c
    +++ b/reactos/lib/shell32/shlview.c
    @@ -97,6 +97,9 @@ typedef struct
             LISTVIEW_SORT_INFO ListViewSortInfo;
     	ULONG			hNotify;	/* change notification handle */
     	HANDLE		hAccel;
    +	DWORD		dwAspects;
    +	DWORD		dwAdvf;
    +	IAdviseSink    *pAdvSink;
     } IShellViewImpl;
     
     static struct IShellViewVtbl svvt;
    @@ -1639,10 +1642,11 @@ static HRESULT WINAPI IShellView_fnQueryInterface(IShellView * iface,REFIID riid
     static ULONG WINAPI IShellView_fnAddRef(IShellView * iface)
     {
     	IShellViewImpl *This = (IShellViewImpl *)iface;
    +	ULONG refCount = InterlockedIncrement(&This->ref);
     
    -	TRACE("(%p)->(count=%lu)\n",This,This->ref);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -	return ++(This->ref);
    +	return refCount;
     }
     /**********************************************************
     *  IShellView_Release
    @@ -1650,10 +1654,11 @@ static ULONG WINAPI IShellView_fnAddRef(IShellView * iface)
     static ULONG WINAPI IShellView_fnRelease(IShellView * iface)
     {
     	IShellViewImpl *This = (IShellViewImpl *)iface;
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	TRACE("(%p)->()\n",This);
    +	TRACE("(%p)->(count=%li)\n", This, refCount + 1);
     
    -	if (!--(This->ref))
    +	if (!refCount)
     	{
     	  TRACE(" destroying IShellView(%p)\n",This);
     
    @@ -1665,13 +1670,15 @@ static ULONG WINAPI IShellView_fnRelease(IShellView * iface)
     	  if(This->pSF2Parent)
     	    IShellFolder2_Release(This->pSF2Parent);
     
    -	  if (This->apidl)
    +	  if(This->apidl)
     	    SHFree(This->apidl);
     
    +	  if(This->pAdvSink)
    +	    IAdviseSink_Release(This->pAdvSink);
    +
     	  HeapFree(GetProcessHeap(),0,This);
    -	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     /**********************************************************
    @@ -2374,10 +2381,17 @@ static HRESULT WINAPI ISVViewObject_SetAdvise(
     
     	_ICOM_THIS_From_IViewObject(IShellViewImpl, iface);
     
    -	FIXME("Stub: This=%p\n",This);
    +	FIXME("partial stub: %p %08lx %08lx %p\n",
    +              This, aspects, advf, pAdvSink);
     
    -	return E_NOTIMPL;
    +	/* FIXME: we set the AdviseSink, but never use it to send any advice */
    +	This->pAdvSink = pAdvSink;
    +	This->dwAspects = aspects;
    +	This->dwAdvf = advf;
    +
    +	return S_OK;
     }
    +
     static HRESULT WINAPI ISVViewObject_GetAdvise(
     	IViewObject 	*iface,
     	DWORD* pAspects,
    @@ -2387,9 +2401,20 @@ static HRESULT WINAPI ISVViewObject_GetAdvise(
     
     	_ICOM_THIS_From_IViewObject(IShellViewImpl, iface);
     
    -	FIXME("Stub: This=%p\n",This);
    +	TRACE("This=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n",
    +              This, pAspects, pAdvf, ppAdvSink);
     
    -	return E_NOTIMPL;
    +	if( ppAdvSink )
    +	{
    +		IAdviseSink_AddRef( This->pAdvSink );
    +		*ppAdvSink = This->pAdvSink;
    +	}
    +	if( pAspects )
    +		*pAspects = This->dwAspects;
    +	if( pAdvf )
    +		*pAdvf = This->dwAdvf;
    +
    +	return S_OK;
     }
     
     
    diff --git a/reactos/lib/shell32/shv_bg_cmenu.c b/reactos/lib/shell32/shv_bg_cmenu.c
    index 9dd5dc6cb90..b879d180fa2 100644
    --- a/reactos/lib/shell32/shv_bg_cmenu.c
    +++ b/reactos/lib/shell32/shv_bg_cmenu.c
    @@ -106,10 +106,11 @@ static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu2 *iface, REFIID riid
     static ULONG WINAPI ISVBgCm_fnAddRef(IContextMenu2 *iface)
     {
     	BgCmImpl *This = (BgCmImpl *)iface;
    +	ULONG refCount = InterlockedIncrement(&This->ref);
     
    -	TRACE("(%p)->(count=%lu)\n",This, This->ref);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -	return ++(This->ref);
    +	return refCount;
     }
     
     /**************************************************************************
    @@ -118,10 +119,11 @@ static ULONG WINAPI ISVBgCm_fnAddRef(IContextMenu2 *iface)
     static ULONG WINAPI ISVBgCm_fnRelease(IContextMenu2 *iface)
     {
     	BgCmImpl *This = (BgCmImpl *)iface;
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	TRACE("(%p)->()\n",This);
    +	TRACE("(%p)->(count=%li)\n", This, refCount + 1);
     
    -	if (!--(This->ref))
    +	if (!refCount)
     	{
     	  TRACE(" destroying IContextMenu(%p)\n",This);
     
    @@ -129,10 +131,8 @@ static ULONG WINAPI ISVBgCm_fnRelease(IContextMenu2 *iface)
     	    IShellFolder_Release(This->pSFParent);
     
     	  HeapFree(GetProcessHeap(),0,This);
    -	  return 0;
     	}
    -
    -	return This->ref;
    +	return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shell32/shv_item_cmenu.c b/reactos/lib/shell32/shv_item_cmenu.c
    index 96584068191..9aedddd735b 100644
    --- a/reactos/lib/shell32/shv_item_cmenu.c
    +++ b/reactos/lib/shell32/shv_item_cmenu.c
    @@ -142,10 +142,11 @@ static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu2 *iface, REFIID ri
     static ULONG WINAPI ISvItemCm_fnAddRef(IContextMenu2 *iface)
     {
     	ItemCmImpl *This = (ItemCmImpl *)iface;
    +	ULONG refCount = InterlockedIncrement(&This->ref);
     
    -	TRACE("(%p)->(count=%lu)\n",This, This->ref);
    +	TRACE("(%p)->(count=%lu)\n", This, refCount - 1);
     
    -	return ++(This->ref);
    +	return refCount;
     }
     
     /**************************************************************************
    @@ -154,10 +155,11 @@ static ULONG WINAPI ISvItemCm_fnAddRef(IContextMenu2 *iface)
     static ULONG WINAPI ISvItemCm_fnRelease(IContextMenu2 *iface)
     {
     	ItemCmImpl *This = (ItemCmImpl *)iface;
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	TRACE("(%p)->()\n",This);
    +	TRACE("(%p)->(count=%li)\n", This, refCount + 1);
     
    -	if (!--(This->ref))
    +	if (!refCount)
     	{
     	  TRACE(" destroying IContextMenu(%p)\n",This);
     
    @@ -171,9 +173,8 @@ static ULONG WINAPI ISvItemCm_fnRelease(IContextMenu2 *iface)
     	  _ILFreeaPidl(This->apidl, This->cidl);
     
     	  HeapFree(GetProcessHeap(),0,This);
    -	  return 0;
     	}
    -	return This->ref;
    +	return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shlwapi/Makefile.ros-template b/reactos/lib/shlwapi/Makefile.ros-template
    index cba8f74177e..0a4ab774bf4 100644
    --- a/reactos/lib/shlwapi/Makefile.ros-template
    +++ b/reactos/lib/shlwapi/Makefile.ros-template
    @@ -1,22 +1,22 @@
    -# $Id: Makefile.ros-template 11910 2004-12-03 23:37:44Z blight $
    -
    -TARGET_NAME = shlwapi
    -
    -TARGET_OBJECTS = @C_SRCS@
    -
    -TARGET_CFLAGS = -DWINSHLWAPI= -D__REACTOS__ @EXTRADEFS@
    -
    -# FIXME: we don't do delayed imports yet so oleaut32.a is listed explicitly
    -# NOTE: msvcrt.a must be listed before ntdll.a, because sprintf that is
    -#       exported from ntdll doesn't support printing of float types (%f)
    -TARGET_SDKLIBS = msvcrt.a @IMPORTS@ oleaut32.a wine.a wine_uuid.a wine_unicode.a msvcrt.a ntdll.a
    -
    -TARGET_NORC = yes
    -
    -TARGET_BASE = $(TARGET_BASE_LIB_SHLWAPI)
    -
    -default: all
    -
    -DEP_OBJECTS = $(TARGET_OBJECTS)
    -
    -include $(TOOLS_PATH)/depend.mk
    +# $Id: Makefile.ros-template 11910 2004-12-03 23:37:44Z blight $
    +
    +TARGET_NAME = shlwapi
    +
    +TARGET_OBJECTS = @C_SRCS@
    +
    +TARGET_CFLAGS = -DWINSHLWAPI= -D__REACTOS__ @EXTRADEFS@
    +
    +# FIXME: we don't do delayed imports yet so oleaut32.a is listed explicitly
    +# NOTE: msvcrt.a must be listed before ntdll.a, because sprintf that is
    +#       exported from ntdll doesn't support printing of float types (%f)
    +TARGET_SDKLIBS = msvcrt.a @IMPORTS@ oleaut32.a wine.a wine_uuid.a msvcrt.a ntdll.a
    +
    +TARGET_NORC = yes
    +
    +TARGET_BASE = $(TARGET_BASE_LIB_SHLWAPI)
    +
    +default: all
    +
    +DEP_OBJECTS = $(TARGET_OBJECTS)
    +
    +include $(TOOLS_PATH)/depend.mk
    diff --git a/reactos/lib/shlwapi/assoc.c b/reactos/lib/shlwapi/assoc.c
    index 2bd8b195808..340ac2071b5 100644
    --- a/reactos/lib/shlwapi/assoc.c
    +++ b/reactos/lib/shlwapi/assoc.c
    @@ -467,10 +467,11 @@ static HRESULT WINAPI IQueryAssociations_fnQueryInterface(
     static ULONG WINAPI IQueryAssociations_fnAddRef(IQueryAssociations *iface)
     {
       IQueryAssociationsImpl *This = (IQueryAssociationsImpl *)iface;
    +  ULONG refCount = InterlockedIncrement(&This->ref);
    +  
    +  TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
     
    -  TRACE("(%p)->(ref before=%lu)\n",This, This->ref);
    -
    -  return InterlockedIncrement(&This->ref);
    +  return refCount;
     }
     
     /**************************************************************************
    @@ -481,16 +482,17 @@ static ULONG WINAPI IQueryAssociations_fnAddRef(IQueryAssociations *iface)
     static ULONG WINAPI IQueryAssociations_fnRelease(IQueryAssociations *iface)
     {
       IQueryAssociationsImpl *This = (IQueryAssociationsImpl *)iface;
    -  ULONG ulRet;
    +  ULONG refCount = InterlockedDecrement(&This->ref);
     
    -  TRACE("(%p)->(ref before=%lu)\n",This, This->ref);
    +  TRACE("(%p)->(ref before=%lu)\n",This, refCount + 1);
     
    -  if (!(ulRet = InterlockedDecrement(&This->ref)))
    +  if (!refCount)
       {
         TRACE("Destroying IQueryAssociations (%p)\n", This);
         HeapFree(GetProcessHeap(), 0, This);
       }
    -  return ulRet;
    +  
    +  return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shlwapi/istream.c b/reactos/lib/shlwapi/istream.c
    index de061ae0b72..50581c02d62 100644
    --- a/reactos/lib/shlwapi/istream.c
    +++ b/reactos/lib/shlwapi/istream.c
    @@ -78,9 +78,11 @@ static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVO
     static ULONG WINAPI IStream_fnAddRef(IStream *iface)
     {
       ISHFileStream *This = (ISHFileStream *)iface;
    +  ULONG refCount = InterlockedIncrement(&This->ref);
    +  
    +  TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
     
    -  TRACE("(%p)\n", This);
    -  return InterlockedIncrement(&This->ref);
    +  return refCount;
     }
     
     /**************************************************************************
    @@ -89,18 +91,19 @@ static ULONG WINAPI IStream_fnAddRef(IStream *iface)
     static ULONG WINAPI IStream_fnRelease(IStream *iface)
     {
       ISHFileStream *This = (ISHFileStream *)iface;
    -  ULONG ulRet;
    +  ULONG refCount = InterlockedDecrement(&This->ref); 
     
    -  TRACE("(%p)\n", This);
    -
    -  if (!(ulRet = InterlockedDecrement(&This->ref)))
    +  TRACE("(%p)->(ref before=%lu)\n",This, refCount + 1);
    +  
    +  if (!refCount)
       {
         IStream_fnCommit(iface, 0); /* If ever buffered, this will be needed */
         LocalFree((HLOCAL)This->lpszPath);
         CloseHandle(This->hFile);
         HeapFree(GetProcessHeap(), 0, This);
       }
    -  return ulRet;
    +  
    +  return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shlwapi/ordinal.c b/reactos/lib/shlwapi/ordinal.c
    index 86dedb543db..616d1ba9d3f 100644
    --- a/reactos/lib/shlwapi/ordinal.c
    +++ b/reactos/lib/shlwapi/ordinal.c
    @@ -680,74 +680,6 @@ INT WINAPI SHStringFromGUIDW(REFGUID guid, LPWSTR lpszDest, INT cchMax)
       return iLen;
     }
     
    -/*************************************************************************
    - *      @	[SHLWAPI.25]
    - *
    - * Determine if a Unicode character is alphabetic.
    - *
    - * PARAMS
    - *  wc [I] Character to check.
    - *
    - * RETURNS
    - *  TRUE, if wc is alphabetic,
    - *  FALSE otherwise.
    - */
    -BOOL WINAPI IsCharAlphaWrapW(WCHAR wc)
    -{
    -    return (get_char_typeW(wc) & C1_ALPHA) != 0;
    -}
    -
    -/*************************************************************************
    - *      @	[SHLWAPI.26]
    - *
    - * Determine if a Unicode character is upper-case.
    - *
    - * PARAMS
    - *  wc [I] Character to check.
    - *
    - * RETURNS
    - *  TRUE, if wc is upper-case,
    - *  FALSE otherwise.
    - */
    -BOOL WINAPI IsCharUpperWrapW(WCHAR wc)
    -{
    -    return (get_char_typeW(wc) & C1_UPPER) != 0;
    -}
    -
    -/*************************************************************************
    - *      @	[SHLWAPI.27]
    - *
    - * Determine if a Unicode character is lower-case.
    - *
    - * PARAMS
    - *  wc [I] Character to check.
    - *
    - * RETURNS
    - *  TRUE, if wc is lower-case,
    - *  FALSE otherwise.
    - */
    -BOOL WINAPI IsCharLowerWrapW(WCHAR wc)
    -{
    -    return (get_char_typeW(wc) & C1_LOWER) != 0;
    -}
    -
    -/*************************************************************************
    - *      @	[SHLWAPI.28]
    - *
    - * Determine if a Unicode character is alphabetic or a digit.
    - *
    - * PARAMS
    - *  wc [I] Character to check.
    - *
    - * RETURNS
    - *  TRUE, if wc is alphabetic or a digit,
    - *  FALSE otherwise.
    - */
    -BOOL WINAPI IsCharAlphaNumericWrapW(WCHAR wc)
    -{
    -    return (get_char_typeW(wc) & (C1_ALPHA|C1_DIGIT)) != 0;
    -}
    -
     /*************************************************************************
      *      @	[SHLWAPI.29]
      *
    @@ -762,7 +694,9 @@ BOOL WINAPI IsCharAlphaNumericWrapW(WCHAR wc)
      */
     BOOL WINAPI IsCharSpaceW(WCHAR wc)
     {
    -    return (get_char_typeW(wc) & C1_SPACE) != 0;
    +    WORD CharType;
    +
    +    return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_SPACE);
     }
     
     /*************************************************************************
    @@ -780,7 +714,9 @@ BOOL WINAPI IsCharSpaceW(WCHAR wc)
      */
     BOOL WINAPI IsCharBlankW(WCHAR wc)
     {
    -    return (get_char_typeW(wc) & C1_BLANK) != 0;
    +    WORD CharType;
    +
    +    return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_BLANK);
     }
     
     /*************************************************************************
    @@ -797,7 +733,9 @@ BOOL WINAPI IsCharBlankW(WCHAR wc)
      */
     BOOL WINAPI IsCharPunctW(WCHAR wc)
     {
    -    return (get_char_typeW(wc) & C1_PUNCT) != 0;
    +    WORD CharType;
    +
    +    return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_PUNCT);
     }
     
     /*************************************************************************
    @@ -814,7 +752,9 @@ BOOL WINAPI IsCharPunctW(WCHAR wc)
      */
     BOOL WINAPI IsCharCntrlW(WCHAR wc)
     {
    -    return (get_char_typeW(wc) & C1_CNTRL) != 0;
    +    WORD CharType;
    +
    +    return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_CNTRL);
     }
     
     /*************************************************************************
    @@ -831,7 +771,9 @@ BOOL WINAPI IsCharCntrlW(WCHAR wc)
      */
     BOOL WINAPI IsCharDigitW(WCHAR wc)
     {
    -    return (get_char_typeW(wc) & C1_DIGIT) != 0;
    +    WORD CharType;
    +
    +    return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_DIGIT);
     }
     
     /*************************************************************************
    @@ -848,7 +790,9 @@ BOOL WINAPI IsCharDigitW(WCHAR wc)
      */
     BOOL WINAPI IsCharXDigitW(WCHAR wc)
     {
    -    return (get_char_typeW(wc) & C1_XDIGIT) != 0;
    +    WORD CharType;
    +
    +    return GetStringTypeW(CT_CTYPE1, &wc, 1, &CharType) && (CharType & C1_XDIGIT);
     }
     
     /*************************************************************************
    diff --git a/reactos/lib/shlwapi/path.c b/reactos/lib/shlwapi/path.c
    index fd78b765ba1..1c070f1e6cd 100644
    --- a/reactos/lib/shlwapi/path.c
    +++ b/reactos/lib/shlwapi/path.c
    @@ -3910,6 +3910,38 @@ VOID WINAPI PathUndecorateW(LPWSTR lpszPath)
       }
     }
     
    +/*************************************************************************
    + * PathUnExpandEnvStringsA [SHLWAPI.@]
    + *
    + * Substitute folder names in a path with their corresponding environment
    + * strings.
    + *
    + * PARAMS
    + *  pszPath  [I] Buffer containing the path to unexpand.
    + *  pszBuf   [O] Buffer to receive the unexpanded path.
    + *  cchBuf   [I] Size of pszBuf in characters.
    + *
    + * RETURNS
    + *  Success: TRUE
    + *  Failure: FALSE
    + */
    +BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR pszPath, LPSTR pszBuf, UINT cchBuf)
    +{
    +    FIXME("(%s,%s,0x%08x)\n", debugstr_a(pszPath), debugstr_a(pszBuf), cchBuf);
    +    return FALSE;
    +}
    +
    +/*************************************************************************
    + * PathUnExpandEnvStringsW [SHLWAPI.@]
    + *
    + * Unicode version of PathUnExpandEnvStringsA.
    + */
    +BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR pszPath, LPWSTR pszBuf, UINT cchBuf)
    +{
    +    FIXME("(%s,%s,0x%08x)\n", debugstr_w(pszPath), debugstr_w(pszBuf), cchBuf);
    +    return FALSE;
    +}
    +
     /*************************************************************************
      * @     [SHLWAPI.440]
      *
    @@ -3990,100 +4022,110 @@ HRESULT WINAPI SHGetWebFolderFilePathW(LPCWSTR lpszFile, LPWSTR lpszPath, DWORD
       return E_FAIL;
     }
     
    -#define PATH_CHAR_CLASS_LETTER      0x0001
    -#define PATH_CHAR_CLASS_ASTERIX     0x0002
    -#define PATH_CHAR_CLASS_DOT         0x0004
    -#define PATH_CHAR_CLASS_BACKSLASH   0x0008
    -#define PATH_CHAR_CLASS_COLON       0x0010
    -#define PATH_CHAR_CLASS_SEMICOLON   0x0020
    -#define PATH_CHAR_CLASS_COMMA       0x0040
    -#define PATH_CHAR_CLASS_SPACE       0x0080
    -#define PATH_CHAR_CLASS_OTHER_VALID 0x0100
    -#define PATH_CHAR_CLASS_DOUBLEQUOTE 0x0200
    +#define PATH_CHAR_CLASS_LETTER      0x00000001
    +#define PATH_CHAR_CLASS_ASTERIX     0x00000002
    +#define PATH_CHAR_CLASS_DOT         0x00000004
    +#define PATH_CHAR_CLASS_BACKSLASH   0x00000008
    +#define PATH_CHAR_CLASS_COLON       0x00000010
    +#define PATH_CHAR_CLASS_SEMICOLON   0x00000020
    +#define PATH_CHAR_CLASS_COMMA       0x00000040
    +#define PATH_CHAR_CLASS_SPACE       0x00000080
    +#define PATH_CHAR_CLASS_OTHER_VALID 0x00000100
    +#define PATH_CHAR_CLASS_DOUBLEQUOTE 0x00000200
     
    -/*************************************************************************
    - * PathIsValidCharAW     [internal]
    - *
    - * Check if a char is of a certain class
    - */
    -static BOOL WINAPI PathIsValidCharAW(unsigned Ch, DWORD Class)
    +#define PATH_CHAR_CLASS_INVALID     0x00000000
    +#define PATH_CHAR_CLASS_ANY         0xffffffff
    +
    +static const DWORD SHELL_charclass[] =
     {
    -  static struct
    -  {
    -    char Ch;
    -    DWORD Class;
    -  } CharClass[] =
    -  {
    -    { ' ', PATH_CHAR_CLASS_SPACE },
    -    { '!', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '"', PATH_CHAR_CLASS_DOUBLEQUOTE },
    -    { '#', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '$', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '%', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '&', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '\'', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '(', PATH_CHAR_CLASS_OTHER_VALID },
    -    { ')', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '*', PATH_CHAR_CLASS_ASTERIX },
    -    { '+', PATH_CHAR_CLASS_OTHER_VALID },
    -    { ',', PATH_CHAR_CLASS_COMMA },
    -    { '-', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '.', PATH_CHAR_CLASS_DOT },
    -    { ':', PATH_CHAR_CLASS_COLON },
    -    { ';', PATH_CHAR_CLASS_SEMICOLON },
    -    { '=', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '?', PATH_CHAR_CLASS_LETTER },
    -    { '@', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '[', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '\\', PATH_CHAR_CLASS_BACKSLASH },
    -    { ']', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '^', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '_', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '`', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '{', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '}', PATH_CHAR_CLASS_OTHER_VALID },
    -    { '~', PATH_CHAR_CLASS_OTHER_VALID },
    -    { 0x7f, PATH_CHAR_CLASS_OTHER_VALID }
    -  };
    -  unsigned Index;
    -
    -  if (('A' <= Ch && Ch <= 'Z') || ('a' <= Ch && Ch <= 'z'))
    -  {
    -    return (Class & PATH_CHAR_CLASS_LETTER);
    -  }
    -
    -  if (('0' <= Ch && Ch <= '9') || 0x80 <= Ch)
    -  {
    -    return (Class & PATH_CHAR_CLASS_OTHER_VALID);
    -  }
    -
    -  for (Index = 0; Index < sizeof(CharClass) / sizeof(CharClass[0]); Index++)
    -  {
    -    if (Ch == CharClass[Index].Ch)
    -    {
    -      return (Class & CharClass[Index].Class);
    -    }
    -  }
    -
    -  return FALSE;
    -}
    +    /* 0x00 */  PATH_CHAR_CLASS_INVALID,      /* 0x01 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x02 */  PATH_CHAR_CLASS_INVALID,      /* 0x03 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x04 */  PATH_CHAR_CLASS_INVALID,      /* 0x05 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x06 */  PATH_CHAR_CLASS_INVALID,      /* 0x07 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x08 */  PATH_CHAR_CLASS_INVALID,      /* 0x09 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x0a */  PATH_CHAR_CLASS_INVALID,      /* 0x0b */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x0c */  PATH_CHAR_CLASS_INVALID,      /* 0x0d */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x0e */  PATH_CHAR_CLASS_INVALID,      /* 0x0f */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x10 */  PATH_CHAR_CLASS_INVALID,      /* 0x11 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x12 */  PATH_CHAR_CLASS_INVALID,      /* 0x13 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x14 */  PATH_CHAR_CLASS_INVALID,      /* 0x15 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x16 */  PATH_CHAR_CLASS_INVALID,      /* 0x17 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x18 */  PATH_CHAR_CLASS_INVALID,      /* 0x19 */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x1a */  PATH_CHAR_CLASS_INVALID,      /* 0x1b */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x1c */  PATH_CHAR_CLASS_INVALID,      /* 0x1d */  PATH_CHAR_CLASS_INVALID,
    +    /* 0x1e */  PATH_CHAR_CLASS_INVALID,      /* 0x1f */  PATH_CHAR_CLASS_INVALID,
    +    /* ' '  */  PATH_CHAR_CLASS_SPACE,        /* '!'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '"'  */  PATH_CHAR_CLASS_DOUBLEQUOTE,  /* '#'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '$'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '%'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '&'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '\'' */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '('  */  PATH_CHAR_CLASS_OTHER_VALID,  /* ')'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '*'  */  PATH_CHAR_CLASS_ASTERIX,      /* '+'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* ','  */  PATH_CHAR_CLASS_COMMA,        /* '-'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '.'  */  PATH_CHAR_CLASS_DOT,          /* '/'  */  PATH_CHAR_CLASS_INVALID,
    +    /* '0'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '1'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '2'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '3'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '4'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '5'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '6'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '7'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '8'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '9'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* ':'  */  PATH_CHAR_CLASS_COLON,        /* ';'  */  PATH_CHAR_CLASS_SEMICOLON,
    +    /* '<'  */  PATH_CHAR_CLASS_INVALID,      /* '='  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '>'  */  PATH_CHAR_CLASS_INVALID,      /* '?'  */  PATH_CHAR_CLASS_LETTER,
    +    /* '@'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* 'A'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'B'  */  PATH_CHAR_CLASS_ANY,          /* 'C'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'D'  */  PATH_CHAR_CLASS_ANY,          /* 'E'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'F'  */  PATH_CHAR_CLASS_ANY,          /* 'G'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'H'  */  PATH_CHAR_CLASS_ANY,          /* 'I'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'J'  */  PATH_CHAR_CLASS_ANY,          /* 'K'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'L'  */  PATH_CHAR_CLASS_ANY,          /* 'M'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'N'  */  PATH_CHAR_CLASS_ANY,          /* 'O'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'P'  */  PATH_CHAR_CLASS_ANY,          /* 'Q'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'R'  */  PATH_CHAR_CLASS_ANY,          /* 'S'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'T'  */  PATH_CHAR_CLASS_ANY,          /* 'U'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'V'  */  PATH_CHAR_CLASS_ANY,          /* 'W'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'X'  */  PATH_CHAR_CLASS_ANY,          /* 'Y'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'Z'  */  PATH_CHAR_CLASS_ANY,          /* '['  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '\\' */  PATH_CHAR_CLASS_BACKSLASH,    /* ']'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '^'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* '_'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '`'  */  PATH_CHAR_CLASS_OTHER_VALID,  /* 'a'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'b'  */  PATH_CHAR_CLASS_ANY,          /* 'c'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'd'  */  PATH_CHAR_CLASS_ANY,          /* 'e'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'f'  */  PATH_CHAR_CLASS_ANY,          /* 'g'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'h'  */  PATH_CHAR_CLASS_ANY,          /* 'i'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'j'  */  PATH_CHAR_CLASS_ANY,          /* 'k'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'l'  */  PATH_CHAR_CLASS_ANY,          /* 'm'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'n'  */  PATH_CHAR_CLASS_ANY,          /* 'o'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'p'  */  PATH_CHAR_CLASS_ANY,          /* 'q'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'r'  */  PATH_CHAR_CLASS_ANY,          /* 's'  */  PATH_CHAR_CLASS_ANY,
    +    /* 't'  */  PATH_CHAR_CLASS_ANY,          /* 'u'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'v'  */  PATH_CHAR_CLASS_ANY,          /* 'w'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'x'  */  PATH_CHAR_CLASS_ANY,          /* 'y'  */  PATH_CHAR_CLASS_ANY,
    +    /* 'z'  */  PATH_CHAR_CLASS_ANY,          /* '{'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '|'  */  PATH_CHAR_CLASS_INVALID,      /* '}'  */  PATH_CHAR_CLASS_OTHER_VALID,
    +    /* '~'  */  PATH_CHAR_CLASS_OTHER_VALID
    +};
     
     /*************************************************************************
      * @     [SHLWAPI.455]
      *
    - * Check if an Ascii char is of a certain class
    + * Check if an ASCII char is of a certain class
      */
    -BOOL WINAPI PathIsValidCharA(char Ch, DWORD Class)
    +BOOL WINAPI PathIsValidCharA( char c, DWORD class )
     {
    -  return PathIsValidCharAW((unsigned) Ch, Class);
    +    if ((unsigned)c > 0x7e)
    +        return class & PATH_CHAR_CLASS_OTHER_VALID;
    +
    +    return class & SHELL_charclass[(unsigned)c];
     }
     
     /*************************************************************************
      * @     [SHLWAPI.456]
      *
    - * Check if an Unicode char is of a certain class
    + * Check if a Unicode char is of a certain class
      */
    -BOOL WINAPI PathIsValidCharW(WCHAR Ch, DWORD Class)
    +BOOL WINAPI PathIsValidCharW( WCHAR c, DWORD class )
     {
    -  return PathIsValidCharAW((unsigned) Ch, Class);
    +    if (c > 0x7e)
    +        return class & PATH_CHAR_CLASS_OTHER_VALID;
    +
    +    return class & SHELL_charclass[c];
     }
    diff --git a/reactos/lib/shlwapi/reg.c b/reactos/lib/shlwapi/reg.c
    index a7a8486cfba..15a1f17c86c 100644
    --- a/reactos/lib/shlwapi/reg.c
    +++ b/reactos/lib/shlwapi/reg.c
    @@ -206,6 +206,150 @@ LONG WINAPI SHRegCloseUSKey(
         return ret;
     }
     
    +/*************************************************************************
    + * SHRegCreateUSKeyA  [SHLWAPI.@]
    + *
    + * Create or open a user-specific registry key.
    + * 
    + * PARAMS
    + *  pszPath        [I] Key name to create or open.
    + *  samDesired     [I] Wanted security access.
    + *  hRelativeUSKey [I] Base path if pszPath is relative. NULL otherwise.
    + *  phNewUSKey     [O] Receives a handle to the new or openened key.
    + *  dwFlags        [I] Base key under which the key should be opened.
    + *
    + * RETURNS
    + *  Success: ERROR_SUCCESS
    + *  Failure: Nonzero error code from winerror.h
    + */
    +LONG WINAPI SHRegCreateUSKeyA(LPCSTR pszPath, REGSAM samDesired, HUSKEY hRelativeUSKey,
    +                              PHUSKEY phNewUSKey, DWORD dwFlags)
    +{
    +    FIXME("(%s, 0x%08lx, %p, %p, 0x%08lx) stub\n", debugstr_a(pszPath), samDesired,
    +          hRelativeUSKey, phNewUSKey, dwFlags);
    +    return ERROR_SUCCESS;
    +}
    +
    +/*************************************************************************
    + * SHRegCreateUSKeyW  [SHLWAPI.@]
    + *
    + * See SHRegCreateUSKeyA.
    + */
    +LONG WINAPI SHRegCreateUSKeyW(LPCWSTR pszPath, REGSAM samDesired, HUSKEY hRelativeUSKey,
    +                              PHUSKEY phNewUSKey, DWORD dwFlags)
    +{
    +    FIXME("(%s, 0x%08lx, %p, %p, 0x%08lx) stub\n", debugstr_w(pszPath), samDesired,
    +          hRelativeUSKey, phNewUSKey, dwFlags);
    +    return ERROR_SUCCESS;
    +}
    +
    +/*************************************************************************
    + * SHRegDeleteEmptyUSKeyA  [SHLWAPI.@]
    + *
    + * Delete an empty user-specific registry key.
    + *
    + * PARAMS
    + *  hUSKey      [I] Handle to an open registry key.
    + *  pszValue    [I] Empty key name.
    + *  delRegFlags [I] Flag that specifies the base from which to delete 
    + *                  the key.
    + *
    + * RETURNS
    + *  Success: ERROR_SUCCESS
    + *  Failure: Nonzero error code from winerror.h
    + */
    +LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY hUSKey, LPCSTR pszValue, SHREGDEL_FLAGS delRegFlags)
    +{
    +    FIXME("(%p, %s, 0x%08x) stub\n", hUSKey, debugstr_a(pszValue), delRegFlags);
    +    return ERROR_SUCCESS;
    +}
    +
    +/*************************************************************************
    + * SHRegDeleteEmptyUSKeyW  [SHLWAPI.@]
    + *
    + * See SHRegDeleteEmptyUSKeyA.
    + */
    +LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY hUSKey, LPCWSTR pszValue, SHREGDEL_FLAGS delRegFlags)
    +{
    +    FIXME("(%p, %s, 0x%08x) stub\n", hUSKey, debugstr_w(pszValue), delRegFlags);
    +    return ERROR_SUCCESS;
    +}
    +
    +/*************************************************************************
    + * SHRegDeleteUSValueA  [SHLWAPI.@]
    + *
    + * Delete a user-specific registry value.
    + *
    + * PARAMS
    + *  hUSKey      [I] Handle to an open registry key.
    + *  pszValue    [I] Specifies the value to delete.
    + *  delRegFlags [I] Flag that specifies the base of the key from which to
    + *                  delete the value.
    + *
    + * RETURNS
    + *  Success: ERROR_SUCCESS
    + *  Failure: Nonzero error code from winerror.h
    + */
    +LONG WINAPI SHRegDeleteUSValueA(HUSKEY hUSKey, LPCSTR pszValue, SHREGDEL_FLAGS delRegFlags)
    +{
    +    FIXME("(%p, %s, 0x%08x) stub\n", hUSKey, debugstr_a(pszValue), delRegFlags);
    +    return ERROR_SUCCESS;
    +}
    +
    +/*************************************************************************
    + * SHRegDeleteUSValueW  [SHLWAPI.@]
    + *
    + * See SHRegDeleteUSValueA.
    + */
    +LONG WINAPI SHRegDeleteUSValueW(HUSKEY hUSKey, LPCWSTR pszValue, SHREGDEL_FLAGS delRegFlags)
    +{
    +    FIXME("(%p, %s, 0x%08x) stub\n", hUSKey, debugstr_w(pszValue), delRegFlags);
    +    return ERROR_SUCCESS;
    +}
    +
    +/*************************************************************************
    + * SHRegEnumUSValueA  [SHLWAPI.@]
    + *
    + * Enumerate values of a specified registry key.
    + *
    + * PARAMS
    + *  hUSKey           [I]   Handle to an open registry key.
    + *  dwIndex          [I]   Index of the value to be retrieved.
    + *  pszValueName     [O]   Buffer to receive the value name.
    + *  pcchValueNameLen [I]   Size of pszValueName in characters.
    + *  pdwType          [O]   Receives data type of the value.
    + *  pvData           [O]   Receives value data. May be NULL.
    + *  pcbData          [I/O] Size of pvData in bytes.
    + *  enumRegFlags     [I]   Flag that specifies the base key under which to
    + *                         enumerate values.
    + *
    + * RETURNS
    + *  Success: ERROR_SUCCESS
    + *  Failure: Nonzero error code from winerror.h
    + */
    +LONG WINAPI SHRegEnumUSValueA(HUSKEY hUSKey, DWORD dwIndex, LPSTR pszValueName,
    +                              LPDWORD pcchValueNameLen, LPDWORD pdwType, LPVOID pvData,
    +                              LPDWORD pcbData, SHREGENUM_FLAGS enumRegFlags)
    +{
    +    FIXME("(%p, 0x%08lx, %s, %p, %p, %p, %p, 0x%08x) stub\n", hUSKey, dwIndex,
    +          debugstr_a(pszValueName), pcchValueNameLen, pdwType, pvData, pcbData, enumRegFlags);
    +    return ERROR_INVALID_FUNCTION;
    +}
    +
    +/*************************************************************************
    + * SHRegEnumUSValueW  [SHLWAPI.@]
    + *
    + * See SHRegEnumUSValueA.
    + */
    +LONG WINAPI SHRegEnumUSValueW(HUSKEY hUSKey, DWORD dwIndex, LPWSTR pszValueName,
    +                              LPDWORD pcchValueNameLen, LPDWORD pdwType, LPVOID pvData,
    +                              LPDWORD pcbData, SHREGENUM_FLAGS enumRegFlags)
    +{
    +    FIXME("(%p, 0x%08lx, %s, %p, %p, %p, %p, 0x%08x) stub\n", hUSKey, dwIndex,
    +          debugstr_w(pszValueName), pcchValueNameLen, pdwType, pvData, pcbData, enumRegFlags);
    +    return ERROR_INVALID_FUNCTION;
    +}
    +
     /*************************************************************************
      *      SHRegQueryUSValueA	[SHLWAPI.@]
      *
    @@ -2038,9 +2182,9 @@ HKEY WINAPI SHRegDuplicateHKey(HKEY hKey)
      * Copy a key and its values/sub keys to another location.
      *
      * PARAMS
    - *  hKeyDst    [I] Destination key
    - *  lpszSubKey [I] Sub key under hKeyDst, or NULL to use hKeyDst directly
      *  hKeySrc    [I] Source key to copy from
    + *  lpszSubKey [I] Sub key under hKeyDst, or NULL to use hKeyDst directly
    + *  hKeyDst    [I] Destination key
      *  dwReserved [I] Reserved, must be 0
      *
      * RETURNS
    @@ -2052,16 +2196,16 @@ HKEY WINAPI SHRegDuplicateHKey(HKEY hKey)
      *  (It will loop until out of stack, or the registry is full). This
      *  bug is present in Win32 also.
      */
    -DWORD WINAPI SHCopyKeyA(HKEY hKeyDst, LPCSTR lpszSubKey, HKEY hKeySrc, DWORD dwReserved)
    +DWORD WINAPI SHCopyKeyA(HKEY hKeySrc, LPCSTR lpszSubKey, HKEY hKeyDst, DWORD dwReserved)
     {
       WCHAR szSubKeyW[MAX_PATH];
     
    -  TRACE("(hkey=%p,%s,%p08x,%ld)\n", hKeyDst, debugstr_a(lpszSubKey), hKeySrc, dwReserved);
    +  TRACE("(hkey=%p,%s,%p08x,%ld)\n", hKeySrc, debugstr_a(lpszSubKey), hKeyDst, dwReserved);
     
       if (lpszSubKey)
         MultiByteToWideChar(0, 0, lpszSubKey, -1, szSubKeyW, MAX_PATH);
     
    -  return SHCopyKeyW(hKeyDst, lpszSubKey ? szSubKeyW : NULL, hKeySrc, dwReserved);
    +  return SHCopyKeyW(hKeySrc, lpszSubKey ? szSubKeyW : NULL, hKeyDst, dwReserved);
     }
     
     /*************************************************************************
    @@ -2069,7 +2213,7 @@ DWORD WINAPI SHCopyKeyA(HKEY hKeyDst, LPCSTR lpszSubKey, HKEY hKeySrc, DWORD dwR
      *
      * See SHCopyKeyA.
      */
    -DWORD WINAPI SHCopyKeyW(HKEY hKeyDst, LPCWSTR lpszSubKey, HKEY hKeySrc, DWORD dwReserved)
    +DWORD WINAPI SHCopyKeyW(HKEY hKeySrc, LPCWSTR lpszSubKey, HKEY hKeyDst, DWORD dwReserved)
     {
       DWORD dwKeyCount = 0, dwValueCount = 0, dwMaxKeyLen = 0;
       DWORD  dwMaxValueLen = 0, dwMaxDataLen = 0, i;
    @@ -2078,7 +2222,7 @@ DWORD WINAPI SHCopyKeyW(HKEY hKeyDst, LPCWSTR lpszSubKey, HKEY hKeySrc, DWORD dw
       WCHAR szName[MAX_PATH], *lpszName = szName;
       DWORD dwRet = S_OK;
     
    -  TRACE("hkey=%p,%s,%p08x,%ld)\n", hKeyDst, debugstr_w(lpszSubKey), hKeySrc, dwReserved);
    +  TRACE("hkey=%p,%s,%p08x,%ld)\n", hKeySrc, debugstr_w(lpszSubKey), hKeyDst, dwReserved);
     
       if(!hKeyDst || !hKeySrc)
         dwRet = ERROR_INVALID_PARAMETER;
    @@ -2134,7 +2278,7 @@ DWORD WINAPI SHCopyKeyW(HKEY hKeyDst, LPCWSTR lpszSubKey, HKEY hKeySrc, DWORD dw
             if(!dwRet)
             {
               /* Recursively copy keys and values from the sub key */
    -          dwRet = SHCopyKeyW(hSubKeyDst, NULL, hSubKeySrc, 0);
    +          dwRet = SHCopyKeyW(hSubKeySrc, NULL, hSubKeyDst, 0);
               RegCloseKey(hSubKeyDst);
             }
           }
    diff --git a/reactos/lib/shlwapi/regstream.c b/reactos/lib/shlwapi/regstream.c
    index 14c48d21c05..172e1bbd842 100644
    --- a/reactos/lib/shlwapi/regstream.c
    +++ b/reactos/lib/shlwapi/regstream.c
    @@ -75,10 +75,11 @@ static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVO
     static ULONG WINAPI IStream_fnAddRef(IStream *iface)
     {
     	ISHRegStream *This = (ISHRegStream *)iface;
    +	ULONG refCount = InterlockedIncrement(&This->ref);
    +	
    +	TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
     
    -	TRACE("(%p)->(count=%lu)\n",This, This->ref);
    -
    -	return InterlockedIncrement(&This->ref);
    +	return refCount;
     }
     
     /**************************************************************************
    @@ -87,10 +88,11 @@ static ULONG WINAPI IStream_fnAddRef(IStream *iface)
     static ULONG WINAPI IStream_fnRelease(IStream *iface)
     {
     	ISHRegStream *This = (ISHRegStream *)iface;
    +	ULONG refCount = InterlockedDecrement(&This->ref);
     
    -	TRACE("(%p)->()\n",This);
    +	TRACE("(%p)->(ref before=%lu)\n",This, refCount + 1);
     
    -	if (!InterlockedDecrement(&This->ref))
    +	if (!refCount)
     	{
     	  TRACE(" destroying SHReg IStream (%p)\n",This);
     
    @@ -102,7 +104,8 @@ static ULONG WINAPI IStream_fnRelease(IStream *iface)
     	  HeapFree(GetProcessHeap(),0,This);
     	  return 0;
     	}
    -	return This->ref;
    +
    +	return refCount;
     }
     
     /**************************************************************************
    diff --git a/reactos/lib/shlwapi/shlwapi.spec b/reactos/lib/shlwapi/shlwapi.spec
    index 654011a8163..63e501b3a65 100644
    --- a/reactos/lib/shlwapi/shlwapi.spec
    +++ b/reactos/lib/shlwapi/shlwapi.spec
    @@ -1,839 +1,839 @@
    -1   stdcall -noname ParseURLA(str ptr)
    -2   stdcall -noname ParseURLW(wstr ptr)
    -3   stdcall -noname PathFileExistsDefExtA(str long)
    -4   stdcall -noname PathFileExistsDefExtW(wstr long)
    -5   stdcall -noname PathFindOnPathExA(str ptr long)
    -6   stdcall -noname PathFindOnPathExW(wstr ptr long)
    -7   stdcall -noname SHAllocShared(ptr long long)
    -8   stdcall -noname SHLockShared(long long)
    -9   stdcall -noname SHUnlockShared(ptr)
    -10  stdcall -noname SHFreeShared(long long)
    -11  stdcall -noname SHMapHandle(long long long long long)
    -12  stdcall -noname SHCreateMemStream(ptr long)
    -13  stdcall -noname RegisterDefaultAcceptHeaders(ptr ptr)
    -14  stdcall -noname GetAcceptLanguagesA(ptr ptr)
    -15  stdcall -noname GetAcceptLanguagesW(ptr ptr)
    -16  stdcall SHCreateThread(ptr ptr long ptr)
    -17  stdcall -noname SHWriteDataBlockList(ptr ptr)
    -18  stdcall -noname SHReadDataBlockList(ptr ptr)
    -19  stdcall -noname SHFreeDataBlockList(ptr)
    -20  stdcall -noname SHAddDataBlock(ptr ptr)
    -21  stdcall -noname SHRemoveDataBlock(ptr long)
    -22  stdcall -noname SHFindDataBlock(ptr long)
    -23  stdcall -noname SHStringFromGUIDA(ptr ptr long)
    -24  stdcall -noname SHStringFromGUIDW(ptr ptr long)
    -25  stdcall -noname IsCharAlphaWrapW(long)
    -26  stdcall -noname IsCharUpperWrapW(long)
    -27  stdcall -noname IsCharLowerWrapW(long)
    -28  stdcall -noname IsCharAlphaNumericWrapW(long)
    -29  stdcall -noname IsCharSpaceW(long)
    -30  stdcall -noname IsCharBlankW(long)
    -31  stdcall -noname IsCharPunctW(long)
    -32  stdcall -noname IsCharCntrlW(ptr)
    -33  stdcall -noname IsCharDigitW(long)
    -34  stdcall -noname IsCharXDigitW(long)
    -35  stdcall -noname GetStringType3ExW(ptr long ptr)
    -36  stdcall -noname AppendMenuWrapW(long long long wstr)
    -37  stdcall @(ptr long long long long) user32.CallWindowProcW
    -38  stdcall @(wstr) user32.CharLowerW
    -39  stdcall @(wstr long) user32.CharLowerBuffW
    -40  stdcall @(wstr) user32.CharNextW
    -41  stdcall @(wstr wstr) user32.CharPrevW
    -42  stdcall @(wstr) user32.CharToOemW
    -43  stdcall @(wstr) user32.CharUpperW
    -44  stdcall @(wstr long) user32.CharUpperBuffW
    -45  stdcall @(long long wstr long wstr long) kernel32.CompareStringW
    -46  stdcall @(long ptr long) user32.CopyAcceleratorTableW
    -47  stdcall @(ptr long) user32.CreateAcceleratorTableW
    -48  stdcall @(wstr wstr wstr ptr) gdi32.CreateDCW
    -49  stdcall @(long ptr long ptr long) user32.CreateDialogParamA
    -50  stdcall @(wstr ptr) kernel32.CreateDirectoryW
    -51  stdcall @(ptr long long wstr) kernel32.CreateEventW
    -52  stdcall @(wstr long long ptr long long long) kernel32.CreateFileW
    -53  stdcall @(ptr) gdi32.CreateFontIndirectW
    -54  stdcall @(wstr wstr wstr ptr) gdi32.CreateICW
    -55  stdcall @(long wstr wstr long long long long long long long long ptr) user32.CreateWindowExW
    -56  stdcall @(long long long long) user32.DefWindowProcW
    -57  stdcall @(wstr) kernel32.DeleteFileW
    -58  stdcall @(long ptr long ptr long) user32.DialogBoxIndirectParamW
    -59  stdcall @(long wstr long ptr long) user32.DialogBoxParamW
    -60  stdcall @(ptr) user32.DispatchMessageW
    -61  stdcall @(long wstr long ptr long) user32.DrawTextW
    -62  stdcall @(long wstr ptr long) gdi32.EnumFontFamiliesW
    -63  stdcall @(long ptr ptr long long) gdi32.EnumFontFamiliesExW
    -64  stdcall @(long wstr ptr long) kernel32.EnumResourceNamesW
    -65  stdcall @(wstr ptr) kernel32.FindFirstFileW
    -66  stdcall @(long wstr wstr) kernel32.FindResourceW
    -67  stdcall @(wstr wstr) user32.FindWindowW
    -68  stdcall @(long ptr long long ptr long ptr) kernel32.FormatMessageW
    -69  stdcall @(long wstr ptr) user32.GetClassInfoW
    -70  stdcall @(long long) user32.GetClassLongW
    -71  stdcall @(long ptr long) user32.GetClassNameW
    -72  stdcall @(long ptr long) user32.GetClipboardFormatNameW
    -73  stdcall @(long ptr) kernel32.GetCurrentDirectoryW
    -74  stdcall -noname GetDlgItemTextWrapW(long long wstr long)
    -75  stdcall @(wstr) kernel32.GetFileAttributesW
    -76  stdcall @(wstr long ptr ptr) kernel32.GetFullPathNameW
    -77  stdcall @(long long ptr long) kernel32.GetLocaleInfoW
    -78  stdcall @(long long ptr long long) user32.GetMenuStringW
    -79  stdcall @(ptr long long long) user32.GetMessageW
    -80  stdcall @(long ptr long) kernel32.GetModuleFileNameW
    -81  stdcall @(ptr long) kernel32.GetSystemDirectoryW
    -82  stdcall @(wstr wstr wstr long ptr ptr) kernel32.SearchPathW
    -83  stdcall @(wstr) kernel32.GetModuleHandleW
    -84  stdcall @(long long ptr) gdi32.GetObjectW
    -85  stdcall @(wstr wstr long wstr) kernel32.GetPrivateProfileIntW
    -86  stdcall @(wstr wstr wstr ptr long) kernel32.GetProfileStringW
    -87  stdcall @(long wstr) user32.GetPropW
    -88  stdcall @(long long wstr long ptr) kernel32.GetStringTypeExW
    -89  stdcall @(wstr wstr long ptr) kernel32.GetTempFileNameW
    -90  stdcall @(long ptr) kernel32.GetTempPathW
    -91  stdcall @(long wstr long ptr) gdi32.GetTextExtentPoint32W
    -92  stdcall @(long long ptr) gdi32.GetTextFaceW
    -93  stdcall @(long ptr) gdi32.GetTextMetricsW
    -94  stdcall @(long long) user32.GetWindowLongW
    -95  stdcall @(long ptr long) user32.GetWindowTextW
    -96  stdcall @(long) user32.GetWindowTextLengthW
    -97  stdcall @(ptr long) kernel32.GetWindowsDirectoryW
    -98  stdcall @(long long long long ptr) user32.InsertMenuW
    -99  stdcall @(long ptr) user32.IsDialogMessageW
    -100 stdcall @(long wstr) user32.LoadAcceleratorsW
    -101 stdcall @(long wstr) user32.LoadBitmapW
    -102 stdcall @(long wstr) user32.LoadCursorW
    -103 stdcall @(long wstr) user32.LoadIconW
    -104 stdcall @(long wstr long long long long) user32.LoadImageW
    -105 stdcall @(wstr long long) kernel32.LoadLibraryExW
    -106 stdcall @(long wstr) user32.LoadMenuW
    -107 stdcall @(long long ptr long) user32.LoadStringW
    -108 stdcall @(ptr) user32.MessageBoxIndirectW
    -109 stdcall @(long long long long ptr) user32.ModifyMenuW
    -110 stdcall @(long long long long) gdi32.GetCharWidth32W
    -111 stdcall @(long wstr long long ptr long) gdi32.GetCharacterPlacementW
    -112 stdcall @(wstr wstr long) kernel32.CopyFileW
    -113 stdcall @(wstr wstr) kernel32.MoveFileW
    -114 stdcall @(ptr ptr) user32.OemToCharW
    -115 stdcall @(wstr) kernel32.OutputDebugStringW
    -116 stdcall @(ptr long long long long) user32.PeekMessageW
    -117 stdcall @(long long long long) user32.PostMessageW
    -118 stdcall @(long long long long) user32.PostThreadMessageW
    -119 stdcall @(long wstr ptr) advapi32.RegCreateKeyW
    -120 stdcall @(long wstr long ptr long long ptr ptr ptr) advapi32.RegCreateKeyExW
    -121 stdcall @(long wstr) advapi32.RegDeleteKeyW
    -122 stdcall @(long long ptr long) advapi32.RegEnumKeyW
    -123 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumKeyExW
    -124 stdcall @(long wstr ptr) advapi32.RegOpenKeyW
    -125 stdcall @(long wstr long long ptr) advapi32.RegOpenKeyExW
    -126 stdcall @(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) advapi32.RegQueryInfoKeyW
    -127 stdcall @(long wstr ptr ptr) advapi32.RegQueryValueW
    -128 stdcall @(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW
    -129 stdcall @(long wstr long ptr long) advapi32.RegSetValueW
    -130 stdcall @(long wstr long long ptr long) advapi32.RegSetValueExW
    -131 stdcall @(ptr) user32.RegisterClassW
    -132 stdcall @(wstr) user32.RegisterClipboardFormatW
    -133 stdcall @(wstr) user32.RegisterWindowMessageW
    -134 stdcall @(long wstr) user32.RemovePropW
    -135 stdcall @(long long long long long) user32.SendDlgItemMessageW
    -136 stdcall @(long long long long) user32.SendMessageW
    -137 stdcall @(wstr) kernel32.SetCurrentDirectoryW
    -138 stdcall -noname SetDlgItemTextWrapW(long long wstr)
    -139 stdcall @(long long long ptr) user32.SetMenuItemInfoW
    -140 stdcall @(long wstr long) user32.SetPropW
    -141 stdcall @(long long long) user32.SetWindowLongW
    -142 stdcall @(long long long long) user32.SetWindowsHookExW
    -143 stdcall @(long wstr) user32.SetWindowTextW
    -144 stdcall @(long ptr) gdi32.StartDocW
    -145 stdcall @(long long ptr long) user32.SystemParametersInfoW
    -146 stdcall @(long long ptr) user32.TranslateAcceleratorW
    -147 stdcall @(wstr long) user32.UnregisterClassW
    -148 stdcall @(long) user32.VkKeyScanW
    -149 stdcall @(long wstr long long) user32.WinHelpW
    -150 stdcall @(ptr wstr ptr) user32.wvsprintfW
    -151 stdcall -noname StrCmpNCA(str ptr long)
    -152 stdcall -noname StrCmpNCW(wstr wstr long)
    -153 stdcall -noname StrCmpNICA(long long long)
    -154 stdcall -noname StrCmpNICW(wstr wstr long)
    -155 stdcall -noname StrCmpCA(str str)
    -156 stdcall -noname StrCmpCW(wstr wstr)
    -157 stdcall -noname StrCmpICA(str str)
    -158 stdcall -noname StrCmpICW(wstr wstr)
    -159 stdcall @(long long wstr long wstr long) kernel32.CompareStringW
    -160 stdcall -noname SHAboutInfoA(ptr long)
    -161 stdcall -noname SHAboutInfoW(ptr long)
    -162 stdcall -noname SHTruncateString(str long)
    -163 stdcall -noname IUnknown_QueryStatus(ptr ptr long ptr ptr)
    -164 stdcall -noname IUnknown_Exec(ptr ptr long long ptr ptr)
    -165 stdcall -noname SHSetWindowBits(long long long long)
    -166 stdcall -noname SHIsEmptyStream(ptr)
    -167 stdcall -noname SHSetParentHwnd(long ptr)
    -168 stdcall -noname ConnectToConnectionPoint(ptr ptr long ptr ptr ptr)
    -169 stdcall -noname IUnknown_AtomicRelease(long)
    -170 stdcall -noname PathSkipLeadingSlashesA(str)
    -171 stdcall -noname SHIsSameObject(ptr ptr)
    -172 stdcall -noname IUnknown_GetWindow(ptr ptr)
    -173 stdcall -noname IUnknown_SetOwner(ptr ptr)
    -174 stdcall -noname IUnknown_SetSite(ptr ptr)
    -175 stdcall -noname IUnknown_GetClassID(ptr ptr)
    -176 stdcall -noname IUnknown_QueryService(ptr ptr ptr ptr)
    -177 stdcall -noname SHLoadMenuPopup(ptr wstr)
    -178 stdcall -noname SHPropagateMessage(ptr long long long long)
    -179 stdcall -noname SHMenuIndexFromID(long long)
    -180 stdcall -noname SHRemoveAllSubMenus(long)
    -181 stdcall -noname SHEnableMenuItem(long long long)
    -182 stdcall -noname SHCheckMenuItem(long long long)
    -183 stdcall -noname SHRegisterClassA(ptr)
    -184 stdcall @(ptr ptr long) SHLWAPI_184
    -185 stdcall -noname SHMessageBoxCheckA(ptr str str long long str)
    -186 stdcall -noname SHSimulateDrop(ptr ptr long ptr ptr)
    -187 stdcall -noname SHLoadFromPropertyBag(ptr ptr)
    -188 stub -noname IUnknown_TranslateAcceleratorOCS
    -189 stdcall -noname IUnknown_OnFocusOCS(ptr ptr)
    -190 stub -noname IUnknown_HandleIRestrict
    -191 stdcall -noname SHMessageBoxCheckW(ptr wstr wstr long long wstr)
    -192 stdcall -noname SHGetMenuFromID(ptr long)
    -193 stdcall -noname SHGetCurColorRes()
    -194 stdcall -noname SHWaitForSendMessageThread(ptr long)
    -195 stub -noname SHIsExpandableFolder
    -196 stub -noname DnsRecordSetCompare
    -197 stdcall -noname SHFillRectClr(long ptr long)
    -198 stdcall -noname SHSearchMapInt(ptr ptr long long)
    -199 stdcall -noname IUnknown_Set(ptr ptr)
    -200 stub -noname MayQSForward
    -201 stdcall -noname MayExecForward(ptr long ptr long long ptr ptr)
    -202 stdcall -noname IsQSForward(ptr long ptr)
    -203 stdcall -noname SHStripMneumonicA(str)
    -204 stdcall -noname SHIsChildOrSelf(long long)
    -205 stdcall -noname SHGetValueGoodBootA(long str str ptr ptr ptr)
    -206 stdcall -noname SHGetValueGoodBootW(long wstr wstr ptr ptr ptr)
    -207 stub -noname IContextMenu_Invoke
    -208 stdcall -noname FDSA_Initialize(long long ptr ptr long)
    -209 stdcall -noname FDSA_Destroy(ptr)
    -210 stdcall -noname FDSA_InsertItem(ptr long ptr)
    -211 stdcall -noname FDSA_DeleteItem(ptr long)
    -212 stdcall @(ptr ptr long) SHLWAPI_212
    -213 stdcall -noname IStream_Reset(ptr)
    -214 stdcall -noname IStream_Size(ptr ptr)
    -215 stdcall -noname SHAnsiToUnicode(str ptr long)
    -216 stdcall -noname SHAnsiToUnicodeCP(long str ptr long)
    -217 stdcall -noname SHUnicodeToAnsi(wstr ptr ptr)
    -218 stdcall -noname SHUnicodeToAnsiCP(long wstr ptr ptr)
    -219 stdcall -noname QISearch(long long long long)
    -220 stub -noname SHSetDefaultDialogFont
    -221 stdcall -noname SHRemoveDefaultDialogFont(ptr)
    -222 stdcall -noname _SHGlobalCounterCreate(long)
    -223 stdcall -noname _SHGlobalCounterGetValue(long)
    -224 stdcall -noname _SHGlobalCounterIncrement(long)
    -225 stdcall -noname SHStripMneumonicW(wstr)
    -226 stub -noname ZoneCheckPathA
    -227 stub -noname ZoneCheckPathW
    -228 stub -noname ZoneCheckUrlA
    -229 stub -noname ZoneCheckUrlW
    -230 stub -noname ZoneCheckUrlExA
    -231 stub -noname ZoneCheckUrlExW
    -232 stub -noname ZoneCheckUrlExCacheA
    -233 stub -noname ZoneCheckUrlExCacheW
    -234 stub -noname ZoneCheckHost
    -235 stub -noname ZoneCheckHostEx
    -236 stdcall -noname SHPinDllOfCLSID(ptr)
    -237 stdcall -noname SHRegisterClassW(ptr)
    -238 stdcall -noname SHUnregisterClassesA(ptr ptr long)
    -239 stdcall -noname SHUnregisterClassesW(ptr ptr long)
    -240 stdcall -noname SHDefWindowProc(long long long long)
    -241 stdcall -noname StopWatchMode()
    -242 stdcall -noname StopWatchFlush()
    -243 stdcall -noname StopWatchA(long str long long long)
    -244 stdcall -noname StopWatchW(long wstr long long long)
    -245 stdcall -noname StopWatch_TimerHandler(ptr ptr long ptr)
    -246 stub -noname StopWatch_CheckMsg
    -247 stdcall -noname StopWatch_MarkFrameStart(str)
    -248 stub -noname StopWatch_MarkSameFrameStart
    -249 stdcall -noname StopWatch_MarkJavaStop(wstr ptr long)
    -250 stdcall -noname GetPerfTime()
    -251 stub -noname StopWatch_DispatchTime
    -252 stdcall -noname StopWatch_SetMsgLastLocation(long)
    -253 stub -noname StopWatchExA
    -254 stub -noname StopWatchExW
    -255 stub -noname EventTraceHandler
    -256 stub -noname IUnknown_GetSite
    -257 stdcall -noname SHCreateWorkerWindowA(long ptr long long ptr long)
    -258 stub -noname SHRegisterWaitForSingleObject
    -259 stub -noname SHUnregisterWait
    -260 stdcall -noname SHQueueUserWorkItem(long long long long long long long)
    -261 stub -noname SHCreateTimerQueue
    -262 stub -noname SHDeleteTimerQueue
    -263 stub -noname SHSetTimerQueueTimer
    -264 stub -noname SHChangeTimerQueueTimer
    -265 stub -noname SHCancelTimerQueueTimer
    -266 stdcall -noname SHRestrictionLookup(long wstr ptr ptr)
    -267 stdcall -noname SHWeakQueryInterface(long long long long)
    -268 stdcall -noname SHWeakReleaseInterface(long long)
    -269 stdcall -noname GUIDFromStringA(str ptr)
    -270 stdcall -noname GUIDFromStringW(wstr ptr)
    -271 stdcall -noname SHGetRestriction(wstr wstr wstr)
    -272 stub -noname SHSetThreadPoolLimits
    -273 stub -noname SHTerminateThreadPool
    -274 stub -noname RegisterGlobalHotkeyW
    -275 stub -noname RegisterGlobalHotkeyA
    -276 stdcall -noname WhichPlatform()
    -277 stub -noname SHDialogBox
    -278 stdcall -noname SHCreateWorkerWindowW(long long long long long long)
    -279 stdcall -noname SHInvokeDefaultCommand(ptr ptr ptr)
    -280 stdcall -noname SHRegGetIntW(ptr wstr long)
    -281 stdcall -noname SHPackDispParamsV(ptr ptr ptr ptr)
    -282 stdcall -noname SHPackDispParams(ptr ptr ptr ptr)
    -283 stub -noname IConnectionPoint_InvokeWithCancel
    -284 stdcall -noname IConnectionPoint_SimpleInvoke(ptr ptr ptr)
    -285 stdcall -noname IConnectionPoint_OnChanged(ptr long)
    -286 stub -noname IUnknown_CPContainerInvokeParam
    -287 stdcall -noname IUnknown_CPContainerOnChanged(ptr long)
    -288 stub -noname IUnknown_CPContainerInvokeIndirect
    -289 stdcall -noname PlaySoundWrapW(wstr long long)
    -290 stub -noname SHMirrorIcon
    -291 stdcall -noname SHMessageBoxCheckExA(ptr ptr ptr ptr ptr long str)
    -292 stdcall -noname SHMessageBoxCheckExW(ptr ptr ptr ptr ptr long wstr)
    -293 stub -noname SHCancelUserWorkItems
    -294 stdcall -noname SHGetIniStringW(long long long long long)
    -295 stdcall -noname SHSetIniStringW(wstr ptr wstr wstr)
    -296 stub -noname CreateURLFileContentsW
    -297 stub -noname CreateURLFileContentsA
    -298 stdcall @(wstr wstr wstr wstr) kernel32.WritePrivateProfileStringW
    -299 stdcall -noname ExtTextOutWrapW(long long long long ptr wstr long ptr)
    -300 stdcall @(long long long long long long long long long long long long long wstr) gdi32.CreateFontW
    -301 stdcall @(long wstr long ptr long ptr) user32.DrawTextExW
    -302 stdcall @(long long long ptr) user32.GetMenuItemInfoW
    -303 stdcall @(long long long ptr) user32.InsertMenuItemW
    -304 stdcall @(wstr) gdi32.CreateMetaFileW
    -305 stdcall @(ptr long wstr) kernel32.CreateMutexW
    -306 stdcall @(wstr ptr long) kernel32.ExpandEnvironmentStringsW
    -307 stdcall @(ptr long long wstr) kernel32.CreateSemaphoreW
    -308 stdcall @(ptr long) kernel32.IsBadStringPtrW
    -309 stdcall @(wstr) kernel32.LoadLibraryW
    -310 stdcall @(long long ptr wstr ptr long) kernel32.GetTimeFormatW
    -311 stdcall @(long long ptr wstr ptr long) kernel32.GetDateFormatW
    -312 stdcall @(wstr wstr wstr ptr long wstr) kernel32.GetPrivateProfileStringW
    -313 stdcall -noname SHGetFileInfoWrapW(ptr long ptr long long)
    -314 stdcall @(ptr) user32.RegisterClassExW
    -315 stdcall @(long wstr ptr) user32.GetClassInfoExW
    -316 stub -noname IShellFolder_GetDisplayNameOf
    -317 stub -noname IShellFolder_ParseDisplayName
    -318 stdcall -noname DragQueryFileWrapW(long long wstr long)
    -319 stdcall @(long long wstr wstr) user32.FindWindowExW
    -320 stdcall -noname RegisterMIMETypeForExtensionA(str str)
    -321 stdcall -noname RegisterMIMETypeForExtensionW(wstr wstr)
    -322 stdcall -noname UnregisterMIMETypeForExtensionA(str)
    -323 stdcall -noname UnregisterMIMETypeForExtensionW(wstr)
    -324 stdcall -noname RegisterExtensionForMIMETypeA(str str)
    -325 stdcall -noname RegisterExtensionForMIMETypeW(wstr wstr)
    -326 stdcall -noname UnregisterExtensionForMIMETypeA(str)
    -327 stdcall -noname UnregisterExtensionForMIMETypeW(wstr)
    -328 stdcall -noname GetMIMETypeSubKeyA(str ptr long)
    -329 stdcall -noname GetMIMETypeSubKeyW(wstr ptr long)
    -330 stdcall -noname MIME_GetExtensionA(str ptr long)
    -331 stdcall -noname MIME_GetExtensionW(wstr ptr long)
    -332 stdcall @(ptr long) user32.CallMsgFilterW
    -333 stdcall -noname SHBrowseForFolderWrapW(ptr)
    -334 stdcall -noname SHGetPathFromIDListWrapW(ptr ptr)
    -335 stdcall -noname ShellExecuteExWrapW(ptr)
    -336 stdcall -noname SHFileOperationWrapW(ptr)
    -337 stdcall -noname ExtractIconExWrapW(wstr long ptr ptr long)
    -338 stdcall @(wstr long) kernel32.SetFileAttributesW
    -339 stdcall @(long long wstr ptr ptr long) kernel32.GetNumberFormatW
    -340 stdcall @(long wstr wstr long) user32.MessageBoxW
    -341 stdcall @(long ptr) kernel32.FindNextFileW
    -342 stdcall -noname SHInterlockedCompareExchange(ptr long long)
    -343 stdcall -noname SHRegGetCLSIDKeyA(ptr str long long ptr)
    -344 stdcall -noname SHRegGetCLSIDKeyW(ptr wstr long long ptr)
    -345 stdcall -noname SHAnsiToAnsi(str ptr long)
    -346 stdcall -noname SHUnicodeToUnicode(wstr ptr long)
    -347 stdcall @(long wstr) advapi32.RegDeleteValueW
    -348 stub -noname SHGetFileDescriptionW
    -349 stub -noname SHGetFileDescriptionA
    -350 stdcall -noname GetFileVersionInfoSizeWrapW(wstr ptr)
    -351 stdcall -noname GetFileVersionInfoWrapW(wstr ptr long ptr)
    -352 stdcall -noname VerQueryValueWrapW(ptr wstr ptr ptr)
    -353 stub -noname SHFormatDateTimeA
    -354 stub -noname SHFormatDateTimeW
    -355 stdcall -noname IUnknown_EnableModeless(ptr long)
    -356 stdcall -noname _CreateAllAccessSecurityAttributes(ptr ptr)
    -357 stdcall -noname SHGetNewLinkInfoWrapW(wstr wstr wstr long long)
    -358 stdcall -noname SHDefExtractIconWrapW(wstr long long ptr ptr long)
    -359 stdcall @(long long wstr) kernel32.OpenEventW
    -360 stdcall @(wstr) kernel32.RemoveDirectoryW
    -361 stdcall @(wstr ptr long) kernel32.GetShortPathNameW
    -362 stdcall @(ptr ptr) advapi32.GetUserNameW
    -363 stdcall -noname SHInvokeCommand(ptr ptr ptr long)
    -364 stdcall -noname DoesStringRoundTripA(str ptr long)
    -365 stdcall -noname DoesStringRoundTripW(wstr ptr long)
    -366 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumValueW
    -367 stdcall @(wstr wstr ptr long wstr) kernel32.WritePrivateProfileStructW
    -368 stdcall @(wstr wstr ptr long wstr) kernel32.GetPrivateProfileStructW
    -369 stdcall @(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
    -370 stdcall -noname ExtractIconWrapW(long wstr long)
    -371 stdcall DdeInitializeWrapW(ptr ptr long long) user32.DdeInitializeW
    -372 stdcall DdeCreateStringHandleWrapW(long ptr long) user32.DdeCreateStringHandleW
    -373 stdcall DdeQueryStringWrapW(long ptr wstr long long) user32.DdeQueryStringW
    -374 stub -noname SHCheckDiskForMediaA
    -375 stub -noname SHCheckDiskForMediaW
    -376 stdcall -noname MLGetUILanguage()  # kernel32.GetUserDefaultUILanguage
    -377 stdcall MLLoadLibraryA(str long long)
    -378 stdcall MLLoadLibraryW(wstr long long)
    -379 stub -noname Shell_GetCachedImageIndexWrapW
    -380 stub -noname Shell_GetCachedImageIndexWrapA
    -381 stub -noname AssocCopyVerbs
    -382 stub -noname ZoneComputePaneSize
    -383 stub -noname ZoneConfigureW
    -384 stub -noname SHRestrictedMessageBox
    -385 stub -noname SHLoadRawAccelerators
    -386 stub -noname SHQueryRawAccelerator
    -387 stub -noname SHQueryRawAcceleratorMsg
    -388 stub -noname ShellMessageBoxWrapW
    -389 stdcall -noname GetSaveFileNameWrapW(ptr)
    -390 stdcall -noname WNetRestoreConnectionWrapW(long wstr)
    -391 stdcall -noname WNetGetLastErrorWrapW(ptr ptr long ptr long)
    -392 stdcall EndDialogWrap(ptr ptr) user32.EndDialog
    -393 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamW
    -394 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamA
    -395 stub -noname MLWinHelpA
    -396 stub -noname MLHtmlHelpA
    -397 stub -noname MLWinHelpW
    -398 stub -noname MLHtmlHelpW
    -399 stdcall -noname StrCpyNXA(str str long)
    -400 stdcall -noname StrCpyNXW(wstr wstr long)
    -401 stdcall -noname PageSetupDlgWrapW(ptr)
    -402 stdcall -noname PrintDlgWrapW(ptr)
    -403 stdcall -noname GetOpenFileNameWrapW(ptr)
    -404 stub -noname IShellFolder_EnumObjects
    -405 stdcall -noname MLBuildResURLA(str ptr long str ptr long)
    -406 stdcall -noname MLBuildResURLW(wstr ptr long wstr ptr long)
    -407 stub -noname AssocMakeProgid
    -408 stub -noname AssocMakeShell
    -409 stub -noname AssocMakeApplicationByKeyW
    -410 stub -noname AssocMakeApplicationByKeyA
    -411 stub -noname AssocMakeFileExtsToApplicationW
    -412 stub -noname AssocMakeFileExtsToApplicationA
    -413 stdcall -noname SHGetMachineInfo(long)
    -414 stub -noname SHHtmlHelpOnDemandW
    -415 stub -noname SHHtmlHelpOnDemandA
    -416 stub -noname SHWinHelpOnDemandW
    -417 stub -noname SHWinHelpOnDemandA
    -418 stdcall -noname MLFreeLibrary(long)
    -419 stdcall -noname SHFlushSFCacheWrap()
    -420 stub @ # CMemStream::Commit
    -421 stub -noname SHLoadPersistedDataObject
    -422 stdcall -noname _SHGlobalCounterCreateNamedA(str long)
    -423 stdcall -noname _SHGlobalCounterCreateNamedW(wstr long)
    -424 stdcall -noname _SHGlobalCounterDecrement(long)
    -425 stub -noname DeleteMenuWrap
    -426 stub -noname DestroyMenuWrap
    -427 stub -noname TrackPopupMenuWrap
    -428 stdcall @(long long long long long ptr) user32.TrackPopupMenuEx
    -429 stdcall -noname MLIsMLHInstance(long)
    -430 stdcall -noname MLSetMLHInstance(long long)
    -431 stdcall -noname MLClearMLHInstance(long)
    -432 stub -noname SHSendMessageBroadcastA
    -433 stub -noname SHSendMessageBroadcastW
    -434 stdcall @(long long long long long long ptr) user32.SendMessageTimeoutW
    -435 stub -noname CLSIDFromProgIDWrap
    -436 stdcall -noname CLSIDFromStringWrap(wstr ptr)
    -437 stdcall -noname IsOS(long)
    -438 stub -noname SHLoadRegUIStringA
    -439 stub -noname SHLoadRegUIStringW
    -440 stdcall -noname SHGetWebFolderFilePathA(str ptr long)
    -441 stdcall -noname SHGetWebFolderFilePathW(wstr ptr long)
    -442 stdcall @(wstr ptr long) kernel32.GetEnvironmentVariableW
    -443 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryA
    -444 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryW
    -445 stdcall -noname PathFileExistsAndAttributesA(str ptr)
    -446 stdcall -noname PathFileExistsAndAttributesW(wstr ptr)
    -447 stub -noname FixSlashesAndColonA
    -448 stdcall -noname FixSlashesAndColonW(wstr)
    -449 stub -noname NextPathA
    -450 stub -noname NextPathW
    -451 stub -noname CharUpperNoDBCSA
    -452 stub -noname CharUpperNoDBCSW
    -453 stub -noname CharLowerNoDBCSA
    -454 stub -noname CharLowerNoDBCSW
    -455 stdcall -noname PathIsValidCharA(long long)
    -456 stdcall -noname PathIsValidCharW(long long)
    -457 stub -noname GetLongPathNameWrapW
    -458 stub -noname GetLongPathNameWrapA
    -459 stdcall SHExpandEnvironmentStringsA(str ptr long) kernel32.ExpandEnvironmentStringsA
    -460 stdcall SHExpandEnvironmentStringsW(wstr ptr long) kernel32.ExpandEnvironmentStringsW
    -461 stdcall -noname SHGetAppCompatFlags(long)
    -462 stub -noname UrlFixupW
    -463 stub -noname SHExpandEnvironmentStringsForUserA
    -464 stub -noname SHExpandEnvironmentStringsForUserW
    -465 stub -noname PathUnExpandEnvStringsForUserA
    -466 stub -noname PathUnExpandEnvStringsForUserW
    -467 stub -noname SHRunIndirectRegClientCommand
    -468 stub -noname RunIndirectRegCommand
    -469 stub -noname RunRegCommand
    -470 stub -noname IUnknown_ProfferServiceOld
    -471 stub -noname SHCreatePropertyBagOnRegKey
    -472 stub -noname SHCreatePropertyBagOnProfileSelections
    -473 stub -noname SHGetIniStringUTF7W
    -474 stub -noname SHSetIniStringUTF7W
    -475 stub -noname GetShellSecurityDescriptor
    -476 stub -noname SHGetObjectCompatFlags
    -477 stub -noname SHCreatePropertyBagOnMemory
    -478 stub -noname IUnknown_TranslateAcceleratorIO
    -479 stub -noname IUnknown_UIActivateIO
    -480 stub -noname UrlCrackW
    -481 stub -noname IUnknown_HasFocusIO
    -482 stub -noname SHMessageBoxHelpA
    -483 stub -noname SHMessageBoxHelpW
    -484 stub -noname IUnknown_QueryServiceExec
    -485 stub -noname MapWin32ErrorToSTG
    -486 stub -noname ModeToCreateFileFlags
    -
    -488 stub -noname SHConvertGraphicsFile
    -489 stub -noname GlobalAddAtomWrapW
    -490 stub -noname GlobalFindAtomWrapW
    -491 stdcall -noname SHGetShellKey(long long long)
    -492 stub -noname PrettifyFileDescriptionW
    -493 stub -noname SHPropertyBag_ReadType
    -494 stub -noname SHPropertyBag_ReadStr
    -495 stub -noname SHPropertyBag_WriteStr
    -496 stub -noname SHPropertyBag_ReadInt
    -497 stub -noname SHPropertyBag_WriteInt
    -498 stub -noname SHPropertyBag_ReadBOOLOld
    -499 stub -noname SHPropertyBag_WriteBOOL
    -
    -505 stub -noname SHPropertyBag_ReadGUID
    -506 stub -noname SHPropertyBag_WriteGUID
    -507 stub -noname SHPropertyBag_ReadDWORD
    -508 stub -noname SHPropertyBag_WriteDWORD
    -509 stdcall -noname IUnknown_OnFocusChangeIS(ptr ptr long)
    -510 stub -noname SHLockSharedEx
    -511 stub -noname PathFileExistsDefExtAndAttributesW
    -512 stub -noname IStream_ReadPidl
    -513 stub -noname IStream_WritePidl
    -514 stub -noname IUnknown_ProfferService
    -
    -516 stdcall -noname SKGetValueW(long wstr wstr long long long)
    -517 stub -noname SKSetValueW
    -518 stub -noname SKDeleteValueW
    -519 stub -noname SKAllocValueW
    -520 stub -noname SHPropertyBag_ReadBSTR
    -521 stub -noname SHPropertyBag_ReadPOINTL
    -522 stub -noname SHPropertyBag_WritePOINTL
    -523 stub -noname SHPropertyBag_ReadRECTL
    -524 stub -noname SHPropertyBag_WriteRECTL
    -525 stub -noname SHPropertyBag_ReadPOINTS
    -526 stub -noname SHPropertyBag_WritePOINTS
    -527 stub -noname SHPropertyBag_ReadSHORT
    -528 stub -noname SHPropertyBag_WriteSHORT
    -529 stub -noname SHPropertyBag_ReadInt
    -530 stub -noname SHPropertyBag_WriteInt
    -531 stub -noname SHPropertyBag_ReadStream
    -532 stub -noname SHPropertyBag_WriteStream
    -533 stub -noname SHGetPerScreenResName
    -534 stub -noname SHPropertyBag_ReadBOOL
    -535 stub -noname SHPropertyBag_Delete
    -536 stub -noname IUnknown_QueryServicePropertyBag
    -537 stub -noname SHBoolSystemParametersInfo
    -538 stub -noname IUnknown_QueryServicePropertyBag
    -539 stub -noname IUnknown_ShowBrowserBar
    -540 stub -noname SHInvokeCommandOnContextMenu
    -541 stub -noname SHInvokeCommandsOnContextMen
    -542 stdcall -noname GetUIVersion()
    -543 stub -noname CreateColorSpaceWrapW
    -544 stub -noname QuerySourceCreateFromKey
    -545 stub -noname SHForwardContextMenuMsg
    -546 stub -noname IUnknown_DoContextMenuPopup
    -
    -548 stub -noname SHAreIconsEqual
    -549 stdcall -noname SHCoCreateInstanceAC(ptr ptr long ptr ptr)
    -550 stub -noname GetTemplateInfoFroHandle
    -551 stub -noname IShellFolder_CompareIDs
    -
    -@ stdcall AssocCreate(long long long long ptr ptr)
    -@ stdcall AssocQueryKeyA(long long str ptr ptr)
    -@ stdcall AssocQueryKeyW(long long wstr ptr ptr)
    -@ stdcall AssocQueryStringA(long long ptr ptr str ptr)
    -@ stdcall AssocQueryStringByKeyA(long long ptr ptr str ptr)
    -@ stdcall AssocQueryStringByKeyW(long long ptr ptr wstr ptr)
    -@ stdcall AssocQueryStringW(long long ptr ptr wstr ptr)
    -@ stdcall ChrCmpIA(long long)
    -@ stdcall ChrCmpIW(long long)
    -@ stdcall ColorAdjustLuma(long long long)
    -@ stdcall ColorHLSToRGB(long long long)
    -@ stdcall ColorRGBToHLS(long ptr ptr ptr)
    -@ stdcall DllGetVersion (ptr) SHLWAPI_DllGetVersion
    -@ stdcall GetMenuPosFromID(ptr long)
    -@ stdcall HashData (ptr long ptr long)
    -@ stdcall IntlStrEqWorkerA(long str str long) StrIsIntlEqualA
    -@ stdcall IntlStrEqWorkerW(long wstr wstr long) StrIsIntlEqualW
    -@ stdcall PathAddBackslashA (str)
    -@ stdcall PathAddBackslashW (wstr)
    -@ stdcall PathAddExtensionA (str str)
    -@ stdcall PathAddExtensionW (wstr wstr)
    -@ stdcall PathAppendA (str str)
    -@ stdcall PathAppendW (wstr wstr)
    -@ stdcall PathBuildRootA (ptr long)
    -@ stdcall PathBuildRootW (ptr long)
    -@ stdcall PathCanonicalizeA (ptr str)
    -@ stdcall PathCanonicalizeW (ptr wstr)
    -@ stdcall PathCombineA (ptr ptr ptr)
    -@ stdcall PathCombineW (ptr ptr ptr)
    -@ stdcall PathCommonPrefixA(str str ptr)
    -@ stdcall PathCommonPrefixW(wstr wstr ptr)
    -@ stdcall PathCompactPathA(long str long)
    -@ stdcall PathCompactPathExA(ptr str long long)
    -@ stdcall PathCompactPathExW(ptr wstr long long)
    -@ stdcall PathCompactPathW(long wstr long)
    -@ stdcall PathCreateFromUrlA(str ptr ptr long)
    -@ stdcall PathCreateFromUrlW(wstr ptr ptr long)
    -@ stdcall PathFileExistsA (str)
    -@ stdcall PathFileExistsW (wstr)
    -@ stdcall PathFindExtensionA (str)
    -@ stdcall PathFindExtensionW (wstr)
    -@ stdcall PathFindFileNameA (str)
    -@ stdcall PathFindFileNameW (wstr)
    -@ stdcall PathFindNextComponentA (str)
    -@ stdcall PathFindNextComponentW (wstr)
    -@ stdcall PathFindOnPathA (str ptr)
    -@ stdcall PathFindOnPathW (wstr ptr)
    -@ stdcall PathGetArgsA (str)
    -@ stdcall PathGetArgsW (wstr)
    -@ stdcall PathGetCharTypeA(long)
    -@ stdcall PathGetCharTypeW(long)
    -@ stdcall PathGetDriveNumberA (str)
    -@ stdcall PathGetDriveNumberW (wstr)
    -@ stdcall PathIsContentTypeA(str str)
    -@ stdcall PathIsContentTypeW(wstr wstr)
    -@ stdcall PathIsDirectoryA(str)
    -@ stdcall PathIsDirectoryW(wstr)
    -@ stdcall PathIsFileSpecA(str)
    -@ stdcall PathIsFileSpecW(wstr)
    -@ stdcall PathIsPrefixA(str str)
    -@ stdcall PathIsPrefixW(wstr wstr)
    -@ stdcall PathIsRelativeA (str)
    -@ stdcall PathIsRelativeW (wstr)
    -@ stdcall PathIsRootA(str)
    -@ stdcall PathIsRootW(wstr)
    -@ stdcall PathIsSameRootA(str str)
    -@ stdcall PathIsSameRootW(wstr wstr)
    -@ stdcall PathIsSystemFolderA(str long)
    -@ stdcall PathIsSystemFolderW(wstr long)
    -@ stdcall PathIsUNCA (str)
    -@ stdcall PathIsUNCServerA(str)
    -@ stdcall PathIsUNCServerShareA(str)
    -@ stdcall PathIsUNCServerShareW(wstr)
    -@ stdcall PathIsUNCServerW(wstr)
    -@ stdcall PathIsUNCW(wstr)
    -@ stdcall PathIsURLA(str)
    -@ stdcall PathIsURLW(wstr)
    -@ stdcall PathMakePrettyA(str)
    -@ stdcall PathMakePrettyW(wstr)
    -@ stdcall PathMakeSystemFolderA(str)
    -@ stdcall PathMakeSystemFolderW(wstr)
    -@ stdcall PathMatchSpecA  (str str)
    -@ stdcall PathMatchSpecW  (wstr wstr)
    -@ stdcall PathParseIconLocationA (str)
    -@ stdcall PathParseIconLocationW (wstr)
    -@ stdcall PathQuoteSpacesA (str)
    -@ stdcall PathQuoteSpacesW (wstr)
    -@ stdcall PathRelativePathToA(ptr str long str long)
    -@ stdcall PathRelativePathToW(ptr str long str long)
    -@ stdcall PathRemoveArgsA(str)
    -@ stdcall PathRemoveArgsW(wstr)
    -@ stdcall PathRemoveBackslashA (str)
    -@ stdcall PathRemoveBackslashW (wstr)
    -@ stdcall PathRemoveBlanksA(str)
    -@ stdcall PathRemoveBlanksW(wstr)
    -@ stdcall PathRemoveExtensionA(str)
    -@ stdcall PathRemoveExtensionW(wstr)
    -@ stdcall PathRemoveFileSpecA (str)
    -@ stdcall PathRemoveFileSpecW (wstr)
    -@ stdcall PathRenameExtensionA(str str)
    -@ stdcall PathRenameExtensionW(wstr wstr)
    -@ stdcall PathSearchAndQualifyA(str ptr long)
    -@ stdcall PathSearchAndQualifyW(wstr ptr long)
    -@ stdcall PathSetDlgItemPathA (long long ptr)
    -@ stdcall PathSetDlgItemPathW (long long ptr)
    -@ stdcall PathSkipRootA(str)
    -@ stdcall PathSkipRootW(wstr)
    -@ stdcall PathStripPathA(str)
    -@ stdcall PathStripPathW(wstr)
    -@ stdcall PathStripToRootA(str)
    -@ stdcall PathStripToRootW(wstr)
    -@ stdcall PathUnmakeSystemFolderA(str)
    -@ stdcall PathUnmakeSystemFolderW(wstr)
    -@ stdcall PathUnquoteSpacesA (str)
    -@ stdcall PathUnquoteSpacesW (wstr)
    -@ stdcall SHCreateShellPalette(long)
    -@ stdcall SHDeleteEmptyKeyA(long ptr)
    -@ stdcall SHDeleteEmptyKeyW(long ptr)
    -@ stdcall SHDeleteKeyA(long str)
    -@ stdcall SHDeleteKeyW(long wstr)
    -@ stdcall SHDeleteOrphanKeyA(long str)
    -@ stdcall SHDeleteOrphanKeyW(long wstr)
    -@ stdcall SHDeleteValueA(long  str  str)
    -@ stdcall SHDeleteValueW(long wstr wstr)
    -@ stdcall SHEnumKeyExA(long long str ptr)
    -@ stdcall SHEnumKeyExW(long long wstr ptr)
    -@ stdcall SHEnumValueA(long long str ptr ptr ptr ptr)
    -@ stdcall SHEnumValueW(long long wstr ptr ptr ptr ptr)
    -@ stdcall SHGetInverseCMAP ( ptr long )
    -@ stdcall SHGetValueA ( long str str ptr ptr ptr )
    -@ stdcall SHGetValueW ( long wstr wstr ptr ptr ptr )
    -@ stdcall SHIsLowMemoryMachine(long)
    -@ stdcall SHOpenRegStreamA(long str str long)
    -@ stdcall SHOpenRegStreamW(long wstr str long)
    -@ stdcall SHOpenRegStream2A(long str str long)
    -@ stdcall SHOpenRegStream2W(long wstr str long)
    -@ stdcall SHQueryInfoKeyA(long ptr ptr ptr ptr)
    -@ stdcall SHQueryInfoKeyW(long ptr ptr ptr ptr)
    -@ stdcall SHQueryValueExA(long str ptr ptr ptr ptr)
    -@ stdcall SHQueryValueExW(long wstr ptr ptr ptr ptr)
    -@ stdcall SHRegCloseUSKey(ptr)
    -@ stub    SHRegCreateUSKeyA
    -@ stub    SHRegCreateUSKeyW
    -@ stub    SHRegDeleteEmptyUSKeyA
    -@ stub    SHRegDeleteEmptyUSKeyW
    -@ stub    SHRegDeleteUSValueA
    -@ stub    SHRegDeleteUSValueW
    -@ stdcall SHRegEnumUSKeyA(long long str ptr long)
    -@ stdcall SHRegEnumUSKeyW(long long wstr ptr long)
    -@ stub    SHRegEnumUSValueA
    -@ stub    SHRegEnumUSValueW
    -@ stdcall SHRegGetBoolUSValueA(str str long long)
    -@ stdcall SHRegGetBoolUSValueW(wstr wstr long long)
    -@ stdcall SHRegGetUSValueA ( str str ptr ptr ptr long ptr long )
    -@ stdcall SHRegGetUSValueW ( wstr wstr ptr ptr ptr long ptr long )
    -@ stdcall SHRegOpenUSKeyA ( str long long long long )
    -@ stdcall SHRegOpenUSKeyW ( wstr long long long long )
    -@ stdcall SHRegQueryInfoUSKeyA ( long ptr ptr ptr ptr long )
    -@ stdcall SHRegQueryInfoUSKeyW ( long ptr ptr ptr ptr long )
    -@ stdcall SHRegQueryUSValueA ( long str ptr ptr ptr long ptr long )
    -@ stdcall SHRegQueryUSValueW ( long wstr ptr ptr ptr long ptr long )
    -@ stdcall SHRegSetUSValueA ( str str long ptr long long)
    -@ stdcall SHRegSetUSValueW ( wstr wstr long ptr long long)
    -@ stdcall SHRegWriteUSValueA (long str long ptr long long)
    -@ stdcall SHRegWriteUSValueW (long str long ptr long long)
    -@ stdcall SHSetValueA (long  str  str long ptr long)
    -@ stdcall SHSetValueW (long wstr wstr long ptr long)
    -@ stdcall StrCSpnA (str str)
    -@ stdcall StrCSpnIA (str str)
    -@ stdcall StrCSpnIW (wstr wstr)
    -@ stdcall StrCSpnW (wstr wstr)
    -@ stdcall StrCatBuffA (str str long)
    -@ stdcall StrCatBuffW (wstr wstr long)
    -@ stdcall StrCatW (ptr wstr)
    -@ stdcall StrChrA (str long)
    -@ stdcall StrChrIA (str long)
    -@ stdcall StrChrIW (wstr long)
    -@ stdcall StrChrW (wstr long)
    -@ stdcall StrCmpIW (wstr wstr)
    -@ stdcall StrCmpNA (str str long)
    -@ stdcall StrCmpNIA (str str long)
    -@ stdcall StrCmpNIW (wstr wstr long)
    -@ stdcall StrCmpNW (wstr wstr long)
    -@ stdcall StrCmpW (wstr wstr)
    -@ stdcall StrCpyNW (wstr wstr long)
    -@ stdcall StrCpyW (ptr wstr)
    -@ stdcall StrDupA (str)
    -@ stdcall StrDupW (wstr)
    -@ stdcall StrFormatByteSizeA(long ptr long)
    -@ stdcall StrFormatByteSizeW(long long ptr long)
    -@ stdcall StrFromTimeIntervalA(ptr long long long)
    -@ stdcall StrFromTimeIntervalW(ptr long long long)
    -@ stdcall StrIsIntlEqualA(long str str long)
    -@ stdcall StrIsIntlEqualW(long wstr wstr long)
    -@ stdcall StrNCatA(str str long)
    -@ stdcall StrNCatW(wstr wstr long)
    -@ stdcall StrPBrkA(str str)
    -@ stdcall StrPBrkW(wstr wstr)
    -@ stdcall StrRChrA (str str long)
    -@ stdcall StrRChrIA (str str long)
    -@ stdcall StrRChrIW (str str long)
    -@ stdcall StrRChrW (wstr wstr long)
    -@ stdcall StrRStrIA (str str str)
    -@ stdcall StrRStrIW (wstr wstr wstr)
    -@ stdcall StrSpnA (str str)
    -@ stdcall StrSpnW (wstr wstr)
    -@ stdcall StrStrA(str str)
    -@ stdcall StrStrIA(str str)
    -@ stdcall StrStrIW(wstr wstr)
    -@ stdcall StrStrW(wstr wstr)
    -@ stdcall StrToIntA(str)
    -@ stdcall StrToIntExA(str long ptr)
    -@ stdcall StrToIntExW(wstr long ptr)
    -@ stdcall StrToIntW(wstr)
    -@ stdcall StrTrimA(str str)
    -@ stdcall StrTrimW(wstr wstr)
    -@ stdcall UrlApplySchemeA(str ptr ptr long)
    -@ stdcall UrlApplySchemeW(wstr ptr ptr long)
    -@ stdcall UrlCanonicalizeA(str ptr ptr long)
    -@ stdcall UrlCanonicalizeW(wstr ptr ptr long)
    -@ stdcall UrlCombineA(str str str ptr long)
    -@ stdcall UrlCombineW(wstr wstr wstr ptr long)
    -@ stdcall UrlCompareA(str str long)
    -@ stdcall UrlCompareW(wstr wstr long)
    -@ stdcall UrlCreateFromPathA(str ptr ptr long)
    -@ stdcall UrlCreateFromPathW(wstr ptr ptr long)
    -@ stdcall UrlEscapeA(str ptr ptr long)
    -@ stdcall UrlEscapeW(wstr ptr ptr long)
    -@ stdcall UrlGetLocationA(str)
    -@ stdcall UrlGetLocationW(wstr)
    -@ stdcall UrlGetPartA(str ptr ptr long long)
    -@ stdcall UrlGetPartW(wstr ptr ptr long long)
    -@ stdcall UrlHashA(str ptr long)
    -@ stdcall UrlHashW(wstr ptr long)
    -@ stdcall UrlIsA(str long)
    -@ stdcall UrlIsNoHistoryA(str)
    -@ stdcall UrlIsNoHistoryW(wstr)
    -@ stdcall UrlIsOpaqueA(str)
    -@ stdcall UrlIsOpaqueW(wstr)
    -@ stdcall UrlIsW(wstr long)
    -@ stdcall UrlUnescapeA(str ptr ptr long)
    -@ stdcall UrlUnescapeW(wstr ptr ptr long)
    -@ varargs wnsprintfA(ptr long str)
    -@ varargs wnsprintfW(ptr long wstr)
    -@ stdcall wvnsprintfA(ptr long str ptr)
    -@ stdcall wvnsprintfW(ptr long wstr ptr)
    -
    -
    -# exported in later versions
    -@ stdcall AssocIsDangerous(long)
    -@ stdcall StrRetToBufA(ptr ptr ptr long)
    -@ stdcall StrRetToBufW(ptr ptr ptr long)
    -@ stdcall StrRetToBSTR(ptr ptr ptr)
    -@ stdcall StrRetToStrA(ptr ptr ptr)
    -@ stdcall StrRetToStrW(ptr ptr ptr)
    -@ stdcall SHRegGetPathA(long str str ptr long)
    -@ stdcall SHRegGetPathW(long wstr wstr ptr long)
    -@ stdcall PathIsDirectoryEmptyA(str)
    -@ stdcall PathIsDirectoryEmptyW(wstr)
    -@ stdcall PathIsNetworkPathA(str)
    -@ stdcall PathIsNetworkPathW(wstr)
    -@ stdcall PathIsLFNFileSpecA(str)
    -@ stdcall PathIsLFNFileSpecW(wstr)
    -@ stdcall PathFindSuffixArrayA(str ptr long)
    -@ stdcall PathFindSuffixArrayW(wstr ptr long)
    -@ stdcall _SHGetInstanceExplorer(ptr)
    -@ stdcall PathUndecorateA(str)
    -@ stdcall PathUndecorateW(wstr)
    -@ stub    PathUnExpandEnvStringsA
    -@ stub    PathUnExpandEnvStringsW
    -@ stdcall SHCopyKeyA(long str long long)
    -@ stdcall SHCopyKeyW(long wstr long long)
    -@ stdcall SHAutoComplete(ptr long)
    -@ stdcall SHCreateStreamOnFileA(str long ptr)
    -@ stdcall SHCreateStreamOnFileW(wstr long ptr)
    -@ stdcall SHCreateStreamOnFileEx(wstr long long long ptr ptr)
    -@ stdcall SHCreateStreamWrapper(ptr ptr long ptr)
    -@ stdcall SHGetThreadRef (ptr)
    -@ stdcall SHRegDuplicateHKey (long)
    -@ stdcall SHRegSetPathA(long str str str long)
    -@ stdcall SHRegSetPathW(long wstr wstr wstr long)
    -@ stdcall SHRegisterValidateTemplate(wstr long)
    -@ stdcall SHSetThreadRef (ptr)
    -@ stdcall SHReleaseThreadRef()
    -@ stdcall SHSkipJunction(ptr ptr)
    -@ stdcall SHStrDupA (str ptr)
    -@ stdcall SHStrDupW (wstr ptr)
    -@ stdcall StrFormatByteSize64A(long long ptr long)
    -@ stdcall StrFormatKBSizeA(long long str long)
    -@ stdcall StrFormatKBSizeW(long long wstr long)
    -@ stdcall StrCmpLogicalW(wstr wstr)
    +1   stdcall -noname ParseURLA(str ptr)
    +2   stdcall -noname ParseURLW(wstr ptr)
    +3   stdcall -noname PathFileExistsDefExtA(str long)
    +4   stdcall -noname PathFileExistsDefExtW(wstr long)
    +5   stdcall -noname PathFindOnPathExA(str ptr long)
    +6   stdcall -noname PathFindOnPathExW(wstr ptr long)
    +7   stdcall -noname SHAllocShared(ptr long long)
    +8   stdcall -noname SHLockShared(long long)
    +9   stdcall -noname SHUnlockShared(ptr)
    +10  stdcall -noname SHFreeShared(long long)
    +11  stdcall -noname SHMapHandle(long long long long long)
    +12  stdcall -noname SHCreateMemStream(ptr long)
    +13  stdcall -noname RegisterDefaultAcceptHeaders(ptr ptr)
    +14  stdcall -noname GetAcceptLanguagesA(ptr ptr)
    +15  stdcall -noname GetAcceptLanguagesW(ptr ptr)
    +16  stdcall SHCreateThread(ptr ptr long ptr)
    +17  stdcall -noname SHWriteDataBlockList(ptr ptr)
    +18  stdcall -noname SHReadDataBlockList(ptr ptr)
    +19  stdcall -noname SHFreeDataBlockList(ptr)
    +20  stdcall -noname SHAddDataBlock(ptr ptr)
    +21  stdcall -noname SHRemoveDataBlock(ptr long)
    +22  stdcall -noname SHFindDataBlock(ptr long)
    +23  stdcall -noname SHStringFromGUIDA(ptr ptr long)
    +24  stdcall -noname SHStringFromGUIDW(ptr ptr long)
    +25  stdcall -noname IsCharAlphaWrapW(long) user32.IsCharAlphaW
    +26  stdcall -noname IsCharUpperWrapW(long) user32.IsCharUpperW
    +27  stdcall -noname IsCharLowerWrapW(long) user32.IsCharLowerW
    +28  stdcall -noname IsCharAlphaNumericWrapW(long) user32.IsCharAlphaNumericW
    +29  stdcall -noname IsCharSpaceW(long)
    +30  stdcall -noname IsCharBlankW(long)
    +31  stdcall -noname IsCharPunctW(long)
    +32  stdcall -noname IsCharCntrlW(ptr)
    +33  stdcall -noname IsCharDigitW(long)
    +34  stdcall -noname IsCharXDigitW(long)
    +35  stdcall -noname GetStringType3ExW(ptr long ptr)
    +36  stdcall -noname AppendMenuWrapW(long long long wstr)
    +37  stdcall @(ptr long long long long) user32.CallWindowProcW
    +38  stdcall @(wstr) user32.CharLowerW
    +39  stdcall @(wstr long) user32.CharLowerBuffW
    +40  stdcall @(wstr) user32.CharNextW
    +41  stdcall @(wstr wstr) user32.CharPrevW
    +42  stdcall @(wstr) user32.CharToOemW
    +43  stdcall @(wstr) user32.CharUpperW
    +44  stdcall @(wstr long) user32.CharUpperBuffW
    +45  stdcall @(long long wstr long wstr long) kernel32.CompareStringW
    +46  stdcall @(long ptr long) user32.CopyAcceleratorTableW
    +47  stdcall @(ptr long) user32.CreateAcceleratorTableW
    +48  stdcall @(wstr wstr wstr ptr) gdi32.CreateDCW
    +49  stdcall @(long ptr long ptr long) user32.CreateDialogParamA
    +50  stdcall @(wstr ptr) kernel32.CreateDirectoryW
    +51  stdcall @(ptr long long wstr) kernel32.CreateEventW
    +52  stdcall @(wstr long long ptr long long long) kernel32.CreateFileW
    +53  stdcall @(ptr) gdi32.CreateFontIndirectW
    +54  stdcall @(wstr wstr wstr ptr) gdi32.CreateICW
    +55  stdcall @(long wstr wstr long long long long long long long long ptr) user32.CreateWindowExW
    +56  stdcall @(long long long long) user32.DefWindowProcW
    +57  stdcall @(wstr) kernel32.DeleteFileW
    +58  stdcall @(long ptr long ptr long) user32.DialogBoxIndirectParamW
    +59  stdcall @(long wstr long ptr long) user32.DialogBoxParamW
    +60  stdcall @(ptr) user32.DispatchMessageW
    +61  stdcall @(long wstr long ptr long) user32.DrawTextW
    +62  stdcall @(long wstr ptr long) gdi32.EnumFontFamiliesW
    +63  stdcall @(long ptr ptr long long) gdi32.EnumFontFamiliesExW
    +64  stdcall @(long wstr ptr long) kernel32.EnumResourceNamesW
    +65  stdcall @(wstr ptr) kernel32.FindFirstFileW
    +66  stdcall @(long wstr wstr) kernel32.FindResourceW
    +67  stdcall @(wstr wstr) user32.FindWindowW
    +68  stdcall @(long ptr long long ptr long ptr) kernel32.FormatMessageW
    +69  stdcall @(long wstr ptr) user32.GetClassInfoW
    +70  stdcall @(long long) user32.GetClassLongW
    +71  stdcall @(long ptr long) user32.GetClassNameW
    +72  stdcall @(long ptr long) user32.GetClipboardFormatNameW
    +73  stdcall @(long ptr) kernel32.GetCurrentDirectoryW
    +74  stdcall -noname GetDlgItemTextWrapW(long long wstr long)
    +75  stdcall @(wstr) kernel32.GetFileAttributesW
    +76  stdcall @(wstr long ptr ptr) kernel32.GetFullPathNameW
    +77  stdcall @(long long ptr long) kernel32.GetLocaleInfoW
    +78  stdcall @(long long ptr long long) user32.GetMenuStringW
    +79  stdcall @(ptr long long long) user32.GetMessageW
    +80  stdcall @(long ptr long) kernel32.GetModuleFileNameW
    +81  stdcall @(ptr long) kernel32.GetSystemDirectoryW
    +82  stdcall @(wstr wstr wstr long ptr ptr) kernel32.SearchPathW
    +83  stdcall @(wstr) kernel32.GetModuleHandleW
    +84  stdcall @(long long ptr) gdi32.GetObjectW
    +85  stdcall @(wstr wstr long wstr) kernel32.GetPrivateProfileIntW
    +86  stdcall @(wstr wstr wstr ptr long) kernel32.GetProfileStringW
    +87  stdcall @(long wstr) user32.GetPropW
    +88  stdcall @(long long wstr long ptr) kernel32.GetStringTypeExW
    +89  stdcall @(wstr wstr long ptr) kernel32.GetTempFileNameW
    +90  stdcall @(long ptr) kernel32.GetTempPathW
    +91  stdcall @(long wstr long ptr) gdi32.GetTextExtentPoint32W
    +92  stdcall @(long long ptr) gdi32.GetTextFaceW
    +93  stdcall @(long ptr) gdi32.GetTextMetricsW
    +94  stdcall @(long long) user32.GetWindowLongW
    +95  stdcall @(long ptr long) user32.GetWindowTextW
    +96  stdcall @(long) user32.GetWindowTextLengthW
    +97  stdcall @(ptr long) kernel32.GetWindowsDirectoryW
    +98  stdcall @(long long long long ptr) user32.InsertMenuW
    +99  stdcall @(long ptr) user32.IsDialogMessageW
    +100 stdcall @(long wstr) user32.LoadAcceleratorsW
    +101 stdcall @(long wstr) user32.LoadBitmapW
    +102 stdcall @(long wstr) user32.LoadCursorW
    +103 stdcall @(long wstr) user32.LoadIconW
    +104 stdcall @(long wstr long long long long) user32.LoadImageW
    +105 stdcall @(wstr long long) kernel32.LoadLibraryExW
    +106 stdcall @(long wstr) user32.LoadMenuW
    +107 stdcall @(long long ptr long) user32.LoadStringW
    +108 stdcall @(ptr) user32.MessageBoxIndirectW
    +109 stdcall @(long long long long ptr) user32.ModifyMenuW
    +110 stdcall @(long long long long) gdi32.GetCharWidth32W
    +111 stdcall @(long wstr long long ptr long) gdi32.GetCharacterPlacementW
    +112 stdcall @(wstr wstr long) kernel32.CopyFileW
    +113 stdcall @(wstr wstr) kernel32.MoveFileW
    +114 stdcall @(ptr ptr) user32.OemToCharW
    +115 stdcall @(wstr) kernel32.OutputDebugStringW
    +116 stdcall @(ptr long long long long) user32.PeekMessageW
    +117 stdcall @(long long long long) user32.PostMessageW
    +118 stdcall @(long long long long) user32.PostThreadMessageW
    +119 stdcall @(long wstr ptr) advapi32.RegCreateKeyW
    +120 stdcall @(long wstr long ptr long long ptr ptr ptr) advapi32.RegCreateKeyExW
    +121 stdcall @(long wstr) advapi32.RegDeleteKeyW
    +122 stdcall @(long long ptr long) advapi32.RegEnumKeyW
    +123 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumKeyExW
    +124 stdcall @(long wstr ptr) advapi32.RegOpenKeyW
    +125 stdcall @(long wstr long long ptr) advapi32.RegOpenKeyExW
    +126 stdcall @(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) advapi32.RegQueryInfoKeyW
    +127 stdcall @(long wstr ptr ptr) advapi32.RegQueryValueW
    +128 stdcall @(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW
    +129 stdcall @(long wstr long ptr long) advapi32.RegSetValueW
    +130 stdcall @(long wstr long long ptr long) advapi32.RegSetValueExW
    +131 stdcall @(ptr) user32.RegisterClassW
    +132 stdcall @(wstr) user32.RegisterClipboardFormatW
    +133 stdcall @(wstr) user32.RegisterWindowMessageW
    +134 stdcall @(long wstr) user32.RemovePropW
    +135 stdcall @(long long long long long) user32.SendDlgItemMessageW
    +136 stdcall @(long long long long) user32.SendMessageW
    +137 stdcall @(wstr) kernel32.SetCurrentDirectoryW
    +138 stdcall -noname SetDlgItemTextWrapW(long long wstr)
    +139 stdcall @(long long long ptr) user32.SetMenuItemInfoW
    +140 stdcall @(long wstr long) user32.SetPropW
    +141 stdcall @(long long long) user32.SetWindowLongW
    +142 stdcall @(long long long long) user32.SetWindowsHookExW
    +143 stdcall @(long wstr) user32.SetWindowTextW
    +144 stdcall @(long ptr) gdi32.StartDocW
    +145 stdcall @(long long ptr long) user32.SystemParametersInfoW
    +146 stdcall @(long long ptr) user32.TranslateAcceleratorW
    +147 stdcall @(wstr long) user32.UnregisterClassW
    +148 stdcall @(long) user32.VkKeyScanW
    +149 stdcall @(long wstr long long) user32.WinHelpW
    +150 stdcall @(ptr wstr ptr) user32.wvsprintfW
    +151 stdcall -noname StrCmpNCA(str ptr long)
    +152 stdcall -noname StrCmpNCW(wstr wstr long)
    +153 stdcall -noname StrCmpNICA(long long long)
    +154 stdcall -noname StrCmpNICW(wstr wstr long)
    +155 stdcall -noname StrCmpCA(str str)
    +156 stdcall -noname StrCmpCW(wstr wstr)
    +157 stdcall -noname StrCmpICA(str str)
    +158 stdcall -noname StrCmpICW(wstr wstr)
    +159 stdcall @(long long wstr long wstr long) kernel32.CompareStringW
    +160 stdcall -noname SHAboutInfoA(ptr long)
    +161 stdcall -noname SHAboutInfoW(ptr long)
    +162 stdcall -noname SHTruncateString(str long)
    +163 stdcall -noname IUnknown_QueryStatus(ptr ptr long ptr ptr)
    +164 stdcall -noname IUnknown_Exec(ptr ptr long long ptr ptr)
    +165 stdcall -noname SHSetWindowBits(long long long long)
    +166 stdcall -noname SHIsEmptyStream(ptr)
    +167 stdcall -noname SHSetParentHwnd(long ptr)
    +168 stdcall -noname ConnectToConnectionPoint(ptr ptr long ptr ptr ptr)
    +169 stdcall -noname IUnknown_AtomicRelease(long)
    +170 stdcall -noname PathSkipLeadingSlashesA(str)
    +171 stdcall -noname SHIsSameObject(ptr ptr)
    +172 stdcall -noname IUnknown_GetWindow(ptr ptr)
    +173 stdcall -noname IUnknown_SetOwner(ptr ptr)
    +174 stdcall -noname IUnknown_SetSite(ptr ptr)
    +175 stdcall -noname IUnknown_GetClassID(ptr ptr)
    +176 stdcall -noname IUnknown_QueryService(ptr ptr ptr ptr)
    +177 stdcall -noname SHLoadMenuPopup(ptr wstr)
    +178 stdcall -noname SHPropagateMessage(ptr long long long long)
    +179 stdcall -noname SHMenuIndexFromID(long long)
    +180 stdcall -noname SHRemoveAllSubMenus(long)
    +181 stdcall -noname SHEnableMenuItem(long long long)
    +182 stdcall -noname SHCheckMenuItem(long long long)
    +183 stdcall -noname SHRegisterClassA(ptr)
    +184 stdcall @(ptr ptr long) SHLWAPI_184
    +185 stdcall -noname SHMessageBoxCheckA(ptr str str long long str)
    +186 stdcall -noname SHSimulateDrop(ptr ptr long ptr ptr)
    +187 stdcall -noname SHLoadFromPropertyBag(ptr ptr)
    +188 stub -noname IUnknown_TranslateAcceleratorOCS
    +189 stdcall -noname IUnknown_OnFocusOCS(ptr ptr)
    +190 stub -noname IUnknown_HandleIRestrict
    +191 stdcall -noname SHMessageBoxCheckW(ptr wstr wstr long long wstr)
    +192 stdcall -noname SHGetMenuFromID(ptr long)
    +193 stdcall -noname SHGetCurColorRes()
    +194 stdcall -noname SHWaitForSendMessageThread(ptr long)
    +195 stub -noname SHIsExpandableFolder
    +196 stub -noname DnsRecordSetCompare
    +197 stdcall -noname SHFillRectClr(long ptr long)
    +198 stdcall -noname SHSearchMapInt(ptr ptr long long)
    +199 stdcall -noname IUnknown_Set(ptr ptr)
    +200 stub -noname MayQSForward
    +201 stdcall -noname MayExecForward(ptr long ptr long long ptr ptr)
    +202 stdcall -noname IsQSForward(ptr long ptr)
    +203 stdcall -noname SHStripMneumonicA(str)
    +204 stdcall -noname SHIsChildOrSelf(long long)
    +205 stdcall -noname SHGetValueGoodBootA(long str str ptr ptr ptr)
    +206 stdcall -noname SHGetValueGoodBootW(long wstr wstr ptr ptr ptr)
    +207 stub -noname IContextMenu_Invoke
    +208 stdcall -noname FDSA_Initialize(long long ptr ptr long)
    +209 stdcall -noname FDSA_Destroy(ptr)
    +210 stdcall -noname FDSA_InsertItem(ptr long ptr)
    +211 stdcall -noname FDSA_DeleteItem(ptr long)
    +212 stdcall @(ptr ptr long) SHLWAPI_212
    +213 stdcall -noname IStream_Reset(ptr)
    +214 stdcall -noname IStream_Size(ptr ptr)
    +215 stdcall -noname SHAnsiToUnicode(str ptr long)
    +216 stdcall -noname SHAnsiToUnicodeCP(long str ptr long)
    +217 stdcall -noname SHUnicodeToAnsi(wstr ptr ptr)
    +218 stdcall -noname SHUnicodeToAnsiCP(long wstr ptr ptr)
    +219 stdcall -noname QISearch(long long long long)
    +220 stub -noname SHSetDefaultDialogFont
    +221 stdcall -noname SHRemoveDefaultDialogFont(ptr)
    +222 stdcall -noname _SHGlobalCounterCreate(long)
    +223 stdcall -noname _SHGlobalCounterGetValue(long)
    +224 stdcall -noname _SHGlobalCounterIncrement(long)
    +225 stdcall -noname SHStripMneumonicW(wstr)
    +226 stub -noname ZoneCheckPathA
    +227 stub -noname ZoneCheckPathW
    +228 stub -noname ZoneCheckUrlA
    +229 stub -noname ZoneCheckUrlW
    +230 stub -noname ZoneCheckUrlExA
    +231 stub -noname ZoneCheckUrlExW
    +232 stub -noname ZoneCheckUrlExCacheA
    +233 stub -noname ZoneCheckUrlExCacheW
    +234 stub -noname ZoneCheckHost
    +235 stub -noname ZoneCheckHostEx
    +236 stdcall -noname SHPinDllOfCLSID(ptr)
    +237 stdcall -noname SHRegisterClassW(ptr)
    +238 stdcall -noname SHUnregisterClassesA(ptr ptr long)
    +239 stdcall -noname SHUnregisterClassesW(ptr ptr long)
    +240 stdcall -noname SHDefWindowProc(long long long long)
    +241 stdcall -noname StopWatchMode()
    +242 stdcall -noname StopWatchFlush()
    +243 stdcall -noname StopWatchA(long str long long long)
    +244 stdcall -noname StopWatchW(long wstr long long long)
    +245 stdcall -noname StopWatch_TimerHandler(ptr ptr long ptr)
    +246 stub -noname StopWatch_CheckMsg
    +247 stdcall -noname StopWatch_MarkFrameStart(str)
    +248 stub -noname StopWatch_MarkSameFrameStart
    +249 stdcall -noname StopWatch_MarkJavaStop(wstr ptr long)
    +250 stdcall -noname GetPerfTime()
    +251 stub -noname StopWatch_DispatchTime
    +252 stdcall -noname StopWatch_SetMsgLastLocation(long)
    +253 stub -noname StopWatchExA
    +254 stub -noname StopWatchExW
    +255 stub -noname EventTraceHandler
    +256 stub -noname IUnknown_GetSite
    +257 stdcall -noname SHCreateWorkerWindowA(long ptr long long ptr long)
    +258 stub -noname SHRegisterWaitForSingleObject
    +259 stub -noname SHUnregisterWait
    +260 stdcall -noname SHQueueUserWorkItem(long long long long long long long)
    +261 stub -noname SHCreateTimerQueue
    +262 stub -noname SHDeleteTimerQueue
    +263 stub -noname SHSetTimerQueueTimer
    +264 stub -noname SHChangeTimerQueueTimer
    +265 stub -noname SHCancelTimerQueueTimer
    +266 stdcall -noname SHRestrictionLookup(long wstr ptr ptr)
    +267 stdcall -noname SHWeakQueryInterface(long long long long)
    +268 stdcall -noname SHWeakReleaseInterface(long long)
    +269 stdcall -noname GUIDFromStringA(str ptr)
    +270 stdcall -noname GUIDFromStringW(wstr ptr)
    +271 stdcall -noname SHGetRestriction(wstr wstr wstr)
    +272 stub -noname SHSetThreadPoolLimits
    +273 stub -noname SHTerminateThreadPool
    +274 stub -noname RegisterGlobalHotkeyW
    +275 stub -noname RegisterGlobalHotkeyA
    +276 stdcall -noname WhichPlatform()
    +277 stub -noname SHDialogBox
    +278 stdcall -noname SHCreateWorkerWindowW(long long long long long long)
    +279 stdcall -noname SHInvokeDefaultCommand(ptr ptr ptr)
    +280 stdcall -noname SHRegGetIntW(ptr wstr long)
    +281 stdcall -noname SHPackDispParamsV(ptr ptr ptr ptr)
    +282 stdcall -noname SHPackDispParams(ptr ptr ptr ptr)
    +283 stub -noname IConnectionPoint_InvokeWithCancel
    +284 stdcall -noname IConnectionPoint_SimpleInvoke(ptr ptr ptr)
    +285 stdcall -noname IConnectionPoint_OnChanged(ptr long)
    +286 stub -noname IUnknown_CPContainerInvokeParam
    +287 stdcall -noname IUnknown_CPContainerOnChanged(ptr long)
    +288 stub -noname IUnknown_CPContainerInvokeIndirect
    +289 stdcall -noname PlaySoundWrapW(wstr long long)
    +290 stub -noname SHMirrorIcon
    +291 stdcall -noname SHMessageBoxCheckExA(ptr ptr ptr ptr ptr long str)
    +292 stdcall -noname SHMessageBoxCheckExW(ptr ptr ptr ptr ptr long wstr)
    +293 stub -noname SHCancelUserWorkItems
    +294 stdcall -noname SHGetIniStringW(long long long long long)
    +295 stdcall -noname SHSetIniStringW(wstr ptr wstr wstr)
    +296 stub -noname CreateURLFileContentsW
    +297 stub -noname CreateURLFileContentsA
    +298 stdcall @(wstr wstr wstr wstr) kernel32.WritePrivateProfileStringW
    +299 stdcall -noname ExtTextOutWrapW(long long long long ptr wstr long ptr)
    +300 stdcall @(long long long long long long long long long long long long long wstr) gdi32.CreateFontW
    +301 stdcall @(long wstr long ptr long ptr) user32.DrawTextExW
    +302 stdcall @(long long long ptr) user32.GetMenuItemInfoW
    +303 stdcall @(long long long ptr) user32.InsertMenuItemW
    +304 stdcall @(wstr) gdi32.CreateMetaFileW
    +305 stdcall @(ptr long wstr) kernel32.CreateMutexW
    +306 stdcall @(wstr ptr long) kernel32.ExpandEnvironmentStringsW
    +307 stdcall @(ptr long long wstr) kernel32.CreateSemaphoreW
    +308 stdcall @(ptr long) kernel32.IsBadStringPtrW
    +309 stdcall @(wstr) kernel32.LoadLibraryW
    +310 stdcall @(long long ptr wstr ptr long) kernel32.GetTimeFormatW
    +311 stdcall @(long long ptr wstr ptr long) kernel32.GetDateFormatW
    +312 stdcall @(wstr wstr wstr ptr long wstr) kernel32.GetPrivateProfileStringW
    +313 stdcall -noname SHGetFileInfoWrapW(ptr long ptr long long)
    +314 stdcall @(ptr) user32.RegisterClassExW
    +315 stdcall @(long wstr ptr) user32.GetClassInfoExW
    +316 stub -noname IShellFolder_GetDisplayNameOf
    +317 stub -noname IShellFolder_ParseDisplayName
    +318 stdcall -noname DragQueryFileWrapW(long long wstr long)
    +319 stdcall @(long long wstr wstr) user32.FindWindowExW
    +320 stdcall -noname RegisterMIMETypeForExtensionA(str str)
    +321 stdcall -noname RegisterMIMETypeForExtensionW(wstr wstr)
    +322 stdcall -noname UnregisterMIMETypeForExtensionA(str)
    +323 stdcall -noname UnregisterMIMETypeForExtensionW(wstr)
    +324 stdcall -noname RegisterExtensionForMIMETypeA(str str)
    +325 stdcall -noname RegisterExtensionForMIMETypeW(wstr wstr)
    +326 stdcall -noname UnregisterExtensionForMIMETypeA(str)
    +327 stdcall -noname UnregisterExtensionForMIMETypeW(wstr)
    +328 stdcall -noname GetMIMETypeSubKeyA(str ptr long)
    +329 stdcall -noname GetMIMETypeSubKeyW(wstr ptr long)
    +330 stdcall -noname MIME_GetExtensionA(str ptr long)
    +331 stdcall -noname MIME_GetExtensionW(wstr ptr long)
    +332 stdcall @(ptr long) user32.CallMsgFilterW
    +333 stdcall -noname SHBrowseForFolderWrapW(ptr)
    +334 stdcall -noname SHGetPathFromIDListWrapW(ptr ptr)
    +335 stdcall -noname ShellExecuteExWrapW(ptr)
    +336 stdcall -noname SHFileOperationWrapW(ptr)
    +337 stdcall -noname ExtractIconExWrapW(wstr long ptr ptr long)
    +338 stdcall @(wstr long) kernel32.SetFileAttributesW
    +339 stdcall @(long long wstr ptr ptr long) kernel32.GetNumberFormatW
    +340 stdcall @(long wstr wstr long) user32.MessageBoxW
    +341 stdcall @(long ptr) kernel32.FindNextFileW
    +342 stdcall -noname SHInterlockedCompareExchange(ptr long long)
    +343 stdcall -noname SHRegGetCLSIDKeyA(ptr str long long ptr)
    +344 stdcall -noname SHRegGetCLSIDKeyW(ptr wstr long long ptr)
    +345 stdcall -noname SHAnsiToAnsi(str ptr long)
    +346 stdcall -noname SHUnicodeToUnicode(wstr ptr long)
    +347 stdcall @(long wstr) advapi32.RegDeleteValueW
    +348 stub -noname SHGetFileDescriptionW
    +349 stub -noname SHGetFileDescriptionA
    +350 stdcall -noname GetFileVersionInfoSizeWrapW(wstr ptr)
    +351 stdcall -noname GetFileVersionInfoWrapW(wstr ptr long ptr)
    +352 stdcall -noname VerQueryValueWrapW(ptr wstr ptr ptr)
    +353 stub -noname SHFormatDateTimeA
    +354 stub -noname SHFormatDateTimeW
    +355 stdcall -noname IUnknown_EnableModeless(ptr long)
    +356 stdcall -noname _CreateAllAccessSecurityAttributes(ptr ptr)
    +357 stdcall -noname SHGetNewLinkInfoWrapW(wstr wstr wstr long long)
    +358 stdcall -noname SHDefExtractIconWrapW(wstr long long ptr ptr long)
    +359 stdcall @(long long wstr) kernel32.OpenEventW
    +360 stdcall @(wstr) kernel32.RemoveDirectoryW
    +361 stdcall @(wstr ptr long) kernel32.GetShortPathNameW
    +362 stdcall @(ptr ptr) advapi32.GetUserNameW
    +363 stdcall -noname SHInvokeCommand(ptr ptr ptr long)
    +364 stdcall -noname DoesStringRoundTripA(str ptr long)
    +365 stdcall -noname DoesStringRoundTripW(wstr ptr long)
    +366 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumValueW
    +367 stdcall @(wstr wstr ptr long wstr) kernel32.WritePrivateProfileStructW
    +368 stdcall @(wstr wstr ptr long wstr) kernel32.GetPrivateProfileStructW
    +369 stdcall @(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
    +370 stdcall -noname ExtractIconWrapW(long wstr long)
    +371 stdcall DdeInitializeWrapW(ptr ptr long long) user32.DdeInitializeW
    +372 stdcall DdeCreateStringHandleWrapW(long ptr long) user32.DdeCreateStringHandleW
    +373 stdcall DdeQueryStringWrapW(long ptr wstr long long) user32.DdeQueryStringW
    +374 stub -noname SHCheckDiskForMediaA
    +375 stub -noname SHCheckDiskForMediaW
    +376 stdcall -noname MLGetUILanguage()  # kernel32.GetUserDefaultUILanguage
    +377 stdcall MLLoadLibraryA(str long long)
    +378 stdcall MLLoadLibraryW(wstr long long)
    +379 stub -noname Shell_GetCachedImageIndexWrapW
    +380 stub -noname Shell_GetCachedImageIndexWrapA
    +381 stub -noname AssocCopyVerbs
    +382 stub -noname ZoneComputePaneSize
    +383 stub -noname ZoneConfigureW
    +384 stub -noname SHRestrictedMessageBox
    +385 stub -noname SHLoadRawAccelerators
    +386 stub -noname SHQueryRawAccelerator
    +387 stub -noname SHQueryRawAcceleratorMsg
    +388 stub -noname ShellMessageBoxWrapW
    +389 stdcall -noname GetSaveFileNameWrapW(ptr)
    +390 stdcall -noname WNetRestoreConnectionWrapW(long wstr)
    +391 stdcall -noname WNetGetLastErrorWrapW(ptr ptr long ptr long)
    +392 stdcall EndDialogWrap(ptr ptr) user32.EndDialog
    +393 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamW
    +394 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamA
    +395 stub -noname MLWinHelpA
    +396 stub -noname MLHtmlHelpA
    +397 stub -noname MLWinHelpW
    +398 stub -noname MLHtmlHelpW
    +399 stdcall -noname StrCpyNXA(str str long)
    +400 stdcall -noname StrCpyNXW(wstr wstr long)
    +401 stdcall -noname PageSetupDlgWrapW(ptr)
    +402 stdcall -noname PrintDlgWrapW(ptr)
    +403 stdcall -noname GetOpenFileNameWrapW(ptr)
    +404 stub -noname IShellFolder_EnumObjects
    +405 stdcall -noname MLBuildResURLA(str ptr long str ptr long)
    +406 stdcall -noname MLBuildResURLW(wstr ptr long wstr ptr long)
    +407 stub -noname AssocMakeProgid
    +408 stub -noname AssocMakeShell
    +409 stub -noname AssocMakeApplicationByKeyW
    +410 stub -noname AssocMakeApplicationByKeyA
    +411 stub -noname AssocMakeFileExtsToApplicationW
    +412 stub -noname AssocMakeFileExtsToApplicationA
    +413 stdcall -noname SHGetMachineInfo(long)
    +414 stub -noname SHHtmlHelpOnDemandW
    +415 stub -noname SHHtmlHelpOnDemandA
    +416 stub -noname SHWinHelpOnDemandW
    +417 stub -noname SHWinHelpOnDemandA
    +418 stdcall -noname MLFreeLibrary(long)
    +419 stdcall -noname SHFlushSFCacheWrap()
    +420 stub @ # CMemStream::Commit
    +421 stub -noname SHLoadPersistedDataObject
    +422 stdcall -noname _SHGlobalCounterCreateNamedA(str long)
    +423 stdcall -noname _SHGlobalCounterCreateNamedW(wstr long)
    +424 stdcall -noname _SHGlobalCounterDecrement(long)
    +425 stub -noname DeleteMenuWrap
    +426 stub -noname DestroyMenuWrap
    +427 stub -noname TrackPopupMenuWrap
    +428 stdcall @(long long long long long ptr) user32.TrackPopupMenuEx
    +429 stdcall -noname MLIsMLHInstance(long)
    +430 stdcall -noname MLSetMLHInstance(long long)
    +431 stdcall -noname MLClearMLHInstance(long)
    +432 stub -noname SHSendMessageBroadcastA
    +433 stub -noname SHSendMessageBroadcastW
    +434 stdcall @(long long long long long long ptr) user32.SendMessageTimeoutW
    +435 stub -noname CLSIDFromProgIDWrap
    +436 stdcall -noname CLSIDFromStringWrap(wstr ptr)
    +437 stdcall -noname IsOS(long)
    +438 stub -noname SHLoadRegUIStringA
    +439 stub -noname SHLoadRegUIStringW
    +440 stdcall -noname SHGetWebFolderFilePathA(str ptr long)
    +441 stdcall -noname SHGetWebFolderFilePathW(wstr ptr long)
    +442 stdcall @(wstr ptr long) kernel32.GetEnvironmentVariableW
    +443 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryA
    +444 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryW
    +445 stdcall -noname PathFileExistsAndAttributesA(str ptr)
    +446 stdcall -noname PathFileExistsAndAttributesW(wstr ptr)
    +447 stub -noname FixSlashesAndColonA
    +448 stdcall -noname FixSlashesAndColonW(wstr)
    +449 stub -noname NextPathA
    +450 stub -noname NextPathW
    +451 stub -noname CharUpperNoDBCSA
    +452 stub -noname CharUpperNoDBCSW
    +453 stub -noname CharLowerNoDBCSA
    +454 stub -noname CharLowerNoDBCSW
    +455 stdcall -noname PathIsValidCharA(long long)
    +456 stdcall -noname PathIsValidCharW(long long)
    +457 stub -noname GetLongPathNameWrapW
    +458 stub -noname GetLongPathNameWrapA
    +459 stdcall SHExpandEnvironmentStringsA(str ptr long) kernel32.ExpandEnvironmentStringsA
    +460 stdcall SHExpandEnvironmentStringsW(wstr ptr long) kernel32.ExpandEnvironmentStringsW
    +461 stdcall -noname SHGetAppCompatFlags(long)
    +462 stub -noname UrlFixupW
    +463 stub -noname SHExpandEnvironmentStringsForUserA
    +464 stub -noname SHExpandEnvironmentStringsForUserW
    +465 stub -noname PathUnExpandEnvStringsForUserA
    +466 stub -noname PathUnExpandEnvStringsForUserW
    +467 stub -noname SHRunIndirectRegClientCommand
    +468 stub -noname RunIndirectRegCommand
    +469 stub -noname RunRegCommand
    +470 stub -noname IUnknown_ProfferServiceOld
    +471 stub -noname SHCreatePropertyBagOnRegKey
    +472 stub -noname SHCreatePropertyBagOnProfileSelections
    +473 stub -noname SHGetIniStringUTF7W
    +474 stub -noname SHSetIniStringUTF7W
    +475 stub -noname GetShellSecurityDescriptor
    +476 stub -noname SHGetObjectCompatFlags
    +477 stub -noname SHCreatePropertyBagOnMemory
    +478 stub -noname IUnknown_TranslateAcceleratorIO
    +479 stub -noname IUnknown_UIActivateIO
    +480 stub -noname UrlCrackW
    +481 stub -noname IUnknown_HasFocusIO
    +482 stub -noname SHMessageBoxHelpA
    +483 stub -noname SHMessageBoxHelpW
    +484 stub -noname IUnknown_QueryServiceExec
    +485 stub -noname MapWin32ErrorToSTG
    +486 stub -noname ModeToCreateFileFlags
    +
    +488 stub -noname SHConvertGraphicsFile
    +489 stub -noname GlobalAddAtomWrapW
    +490 stub -noname GlobalFindAtomWrapW
    +491 stdcall -noname SHGetShellKey(long long long)
    +492 stub -noname PrettifyFileDescriptionW
    +493 stub -noname SHPropertyBag_ReadType
    +494 stub -noname SHPropertyBag_ReadStr
    +495 stub -noname SHPropertyBag_WriteStr
    +496 stub -noname SHPropertyBag_ReadInt
    +497 stub -noname SHPropertyBag_WriteInt
    +498 stub -noname SHPropertyBag_ReadBOOLOld
    +499 stub -noname SHPropertyBag_WriteBOOL
    +
    +505 stub -noname SHPropertyBag_ReadGUID
    +506 stub -noname SHPropertyBag_WriteGUID
    +507 stub -noname SHPropertyBag_ReadDWORD
    +508 stub -noname SHPropertyBag_WriteDWORD
    +509 stdcall -noname IUnknown_OnFocusChangeIS(ptr ptr long)
    +510 stub -noname SHLockSharedEx
    +511 stub -noname PathFileExistsDefExtAndAttributesW
    +512 stub -noname IStream_ReadPidl
    +513 stub -noname IStream_WritePidl
    +514 stub -noname IUnknown_ProfferService
    +
    +516 stdcall -noname SKGetValueW(long wstr wstr long long long)
    +517 stub -noname SKSetValueW
    +518 stub -noname SKDeleteValueW
    +519 stub -noname SKAllocValueW
    +520 stub -noname SHPropertyBag_ReadBSTR
    +521 stub -noname SHPropertyBag_ReadPOINTL
    +522 stub -noname SHPropertyBag_WritePOINTL
    +523 stub -noname SHPropertyBag_ReadRECTL
    +524 stub -noname SHPropertyBag_WriteRECTL
    +525 stub -noname SHPropertyBag_ReadPOINTS
    +526 stub -noname SHPropertyBag_WritePOINTS
    +527 stub -noname SHPropertyBag_ReadSHORT
    +528 stub -noname SHPropertyBag_WriteSHORT
    +529 stub -noname SHPropertyBag_ReadInt
    +530 stub -noname SHPropertyBag_WriteInt
    +531 stub -noname SHPropertyBag_ReadStream
    +532 stub -noname SHPropertyBag_WriteStream
    +533 stub -noname SHGetPerScreenResName
    +534 stub -noname SHPropertyBag_ReadBOOL
    +535 stub -noname SHPropertyBag_Delete
    +536 stub -noname IUnknown_QueryServicePropertyBag
    +537 stub -noname SHBoolSystemParametersInfo
    +538 stub -noname IUnknown_QueryServicePropertyBag
    +539 stub -noname IUnknown_ShowBrowserBar
    +540 stub -noname SHInvokeCommandOnContextMenu
    +541 stub -noname SHInvokeCommandsOnContextMen
    +542 stdcall -noname GetUIVersion()
    +543 stub -noname CreateColorSpaceWrapW
    +544 stub -noname QuerySourceCreateFromKey
    +545 stub -noname SHForwardContextMenuMsg
    +546 stub -noname IUnknown_DoContextMenuPopup
    +
    +548 stub -noname SHAreIconsEqual
    +549 stdcall -noname SHCoCreateInstanceAC(ptr ptr long ptr ptr)
    +550 stub -noname GetTemplateInfoFroHandle
    +551 stub -noname IShellFolder_CompareIDs
    +
    +@ stdcall AssocCreate(long long long long ptr ptr)
    +@ stdcall AssocQueryKeyA(long long str ptr ptr)
    +@ stdcall AssocQueryKeyW(long long wstr ptr ptr)
    +@ stdcall AssocQueryStringA(long long ptr ptr str ptr)
    +@ stdcall AssocQueryStringByKeyA(long long ptr ptr str ptr)
    +@ stdcall AssocQueryStringByKeyW(long long ptr ptr wstr ptr)
    +@ stdcall AssocQueryStringW(long long ptr ptr wstr ptr)
    +@ stdcall ChrCmpIA(long long)
    +@ stdcall ChrCmpIW(long long)
    +@ stdcall ColorAdjustLuma(long long long)
    +@ stdcall ColorHLSToRGB(long long long)
    +@ stdcall ColorRGBToHLS(long ptr ptr ptr)
    +@ stdcall DllGetVersion (ptr) SHLWAPI_DllGetVersion
    +@ stdcall GetMenuPosFromID(ptr long)
    +@ stdcall HashData (ptr long ptr long)
    +@ stdcall IntlStrEqWorkerA(long str str long) StrIsIntlEqualA
    +@ stdcall IntlStrEqWorkerW(long wstr wstr long) StrIsIntlEqualW
    +@ stdcall PathAddBackslashA (str)
    +@ stdcall PathAddBackslashW (wstr)
    +@ stdcall PathAddExtensionA (str str)
    +@ stdcall PathAddExtensionW (wstr wstr)
    +@ stdcall PathAppendA (str str)
    +@ stdcall PathAppendW (wstr wstr)
    +@ stdcall PathBuildRootA (ptr long)
    +@ stdcall PathBuildRootW (ptr long)
    +@ stdcall PathCanonicalizeA (ptr str)
    +@ stdcall PathCanonicalizeW (ptr wstr)
    +@ stdcall PathCombineA (ptr ptr ptr)
    +@ stdcall PathCombineW (ptr ptr ptr)
    +@ stdcall PathCommonPrefixA(str str ptr)
    +@ stdcall PathCommonPrefixW(wstr wstr ptr)
    +@ stdcall PathCompactPathA(long str long)
    +@ stdcall PathCompactPathExA(ptr str long long)
    +@ stdcall PathCompactPathExW(ptr wstr long long)
    +@ stdcall PathCompactPathW(long wstr long)
    +@ stdcall PathCreateFromUrlA(str ptr ptr long)
    +@ stdcall PathCreateFromUrlW(wstr ptr ptr long)
    +@ stdcall PathFileExistsA (str)
    +@ stdcall PathFileExistsW (wstr)
    +@ stdcall PathFindExtensionA (str)
    +@ stdcall PathFindExtensionW (wstr)
    +@ stdcall PathFindFileNameA (str)
    +@ stdcall PathFindFileNameW (wstr)
    +@ stdcall PathFindNextComponentA (str)
    +@ stdcall PathFindNextComponentW (wstr)
    +@ stdcall PathFindOnPathA (str ptr)
    +@ stdcall PathFindOnPathW (wstr ptr)
    +@ stdcall PathGetArgsA (str)
    +@ stdcall PathGetArgsW (wstr)
    +@ stdcall PathGetCharTypeA(long)
    +@ stdcall PathGetCharTypeW(long)
    +@ stdcall PathGetDriveNumberA (str)
    +@ stdcall PathGetDriveNumberW (wstr)
    +@ stdcall PathIsContentTypeA(str str)
    +@ stdcall PathIsContentTypeW(wstr wstr)
    +@ stdcall PathIsDirectoryA(str)
    +@ stdcall PathIsDirectoryW(wstr)
    +@ stdcall PathIsFileSpecA(str)
    +@ stdcall PathIsFileSpecW(wstr)
    +@ stdcall PathIsPrefixA(str str)
    +@ stdcall PathIsPrefixW(wstr wstr)
    +@ stdcall PathIsRelativeA (str)
    +@ stdcall PathIsRelativeW (wstr)
    +@ stdcall PathIsRootA(str)
    +@ stdcall PathIsRootW(wstr)
    +@ stdcall PathIsSameRootA(str str)
    +@ stdcall PathIsSameRootW(wstr wstr)
    +@ stdcall PathIsSystemFolderA(str long)
    +@ stdcall PathIsSystemFolderW(wstr long)
    +@ stdcall PathIsUNCA (str)
    +@ stdcall PathIsUNCServerA(str)
    +@ stdcall PathIsUNCServerShareA(str)
    +@ stdcall PathIsUNCServerShareW(wstr)
    +@ stdcall PathIsUNCServerW(wstr)
    +@ stdcall PathIsUNCW(wstr)
    +@ stdcall PathIsURLA(str)
    +@ stdcall PathIsURLW(wstr)
    +@ stdcall PathMakePrettyA(str)
    +@ stdcall PathMakePrettyW(wstr)
    +@ stdcall PathMakeSystemFolderA(str)
    +@ stdcall PathMakeSystemFolderW(wstr)
    +@ stdcall PathMatchSpecA  (str str)
    +@ stdcall PathMatchSpecW  (wstr wstr)
    +@ stdcall PathParseIconLocationA (str)
    +@ stdcall PathParseIconLocationW (wstr)
    +@ stdcall PathQuoteSpacesA (str)
    +@ stdcall PathQuoteSpacesW (wstr)
    +@ stdcall PathRelativePathToA(ptr str long str long)
    +@ stdcall PathRelativePathToW(ptr str long str long)
    +@ stdcall PathRemoveArgsA(str)
    +@ stdcall PathRemoveArgsW(wstr)
    +@ stdcall PathRemoveBackslashA (str)
    +@ stdcall PathRemoveBackslashW (wstr)
    +@ stdcall PathRemoveBlanksA(str)
    +@ stdcall PathRemoveBlanksW(wstr)
    +@ stdcall PathRemoveExtensionA(str)
    +@ stdcall PathRemoveExtensionW(wstr)
    +@ stdcall PathRemoveFileSpecA (str)
    +@ stdcall PathRemoveFileSpecW (wstr)
    +@ stdcall PathRenameExtensionA(str str)
    +@ stdcall PathRenameExtensionW(wstr wstr)
    +@ stdcall PathSearchAndQualifyA(str ptr long)
    +@ stdcall PathSearchAndQualifyW(wstr ptr long)
    +@ stdcall PathSetDlgItemPathA (long long ptr)
    +@ stdcall PathSetDlgItemPathW (long long ptr)
    +@ stdcall PathSkipRootA(str)
    +@ stdcall PathSkipRootW(wstr)
    +@ stdcall PathStripPathA(str)
    +@ stdcall PathStripPathW(wstr)
    +@ stdcall PathStripToRootA(str)
    +@ stdcall PathStripToRootW(wstr)
    +@ stdcall PathUnmakeSystemFolderA(str)
    +@ stdcall PathUnmakeSystemFolderW(wstr)
    +@ stdcall PathUnquoteSpacesA (str)
    +@ stdcall PathUnquoteSpacesW (wstr)
    +@ stdcall SHCreateShellPalette(long)
    +@ stdcall SHDeleteEmptyKeyA(long ptr)
    +@ stdcall SHDeleteEmptyKeyW(long ptr)
    +@ stdcall SHDeleteKeyA(long str)
    +@ stdcall SHDeleteKeyW(long wstr)
    +@ stdcall SHDeleteOrphanKeyA(long str)
    +@ stdcall SHDeleteOrphanKeyW(long wstr)
    +@ stdcall SHDeleteValueA(long  str  str)
    +@ stdcall SHDeleteValueW(long wstr wstr)
    +@ stdcall SHEnumKeyExA(long long str ptr)
    +@ stdcall SHEnumKeyExW(long long wstr ptr)
    +@ stdcall SHEnumValueA(long long str ptr ptr ptr ptr)
    +@ stdcall SHEnumValueW(long long wstr ptr ptr ptr ptr)
    +@ stdcall SHGetInverseCMAP ( ptr long )
    +@ stdcall SHGetValueA ( long str str ptr ptr ptr )
    +@ stdcall SHGetValueW ( long wstr wstr ptr ptr ptr )
    +@ stdcall SHIsLowMemoryMachine(long)
    +@ stdcall SHOpenRegStreamA(long str str long)
    +@ stdcall SHOpenRegStreamW(long wstr str long)
    +@ stdcall SHOpenRegStream2A(long str str long)
    +@ stdcall SHOpenRegStream2W(long wstr str long)
    +@ stdcall SHQueryInfoKeyA(long ptr ptr ptr ptr)
    +@ stdcall SHQueryInfoKeyW(long ptr ptr ptr ptr)
    +@ stdcall SHQueryValueExA(long str ptr ptr ptr ptr)
    +@ stdcall SHQueryValueExW(long wstr ptr ptr ptr ptr)
    +@ stdcall SHRegCloseUSKey(ptr)
    +@ stdcall SHRegCreateUSKeyA(str long long ptr long)
    +@ stdcall SHRegCreateUSKeyW(wstr long long ptr long)
    +@ stdcall SHRegDeleteEmptyUSKeyA(long str long)
    +@ stdcall SHRegDeleteEmptyUSKeyW(long wstr long)
    +@ stdcall SHRegDeleteUSValueA(long str long)
    +@ stdcall SHRegDeleteUSValueW(long wstr long)
    +@ stdcall SHRegEnumUSKeyA(long long str ptr long)
    +@ stdcall SHRegEnumUSKeyW(long long wstr ptr long)
    +@ stdcall SHRegEnumUSValueA(long long ptr ptr ptr ptr ptr long)
    +@ stdcall SHRegEnumUSValueW(long long ptr ptr ptr ptr ptr long)
    +@ stdcall SHRegGetBoolUSValueA(str str long long)
    +@ stdcall SHRegGetBoolUSValueW(wstr wstr long long)
    +@ stdcall SHRegGetUSValueA ( str str ptr ptr ptr long ptr long )
    +@ stdcall SHRegGetUSValueW ( wstr wstr ptr ptr ptr long ptr long )
    +@ stdcall SHRegOpenUSKeyA ( str long long long long )
    +@ stdcall SHRegOpenUSKeyW ( wstr long long long long )
    +@ stdcall SHRegQueryInfoUSKeyA ( long ptr ptr ptr ptr long )
    +@ stdcall SHRegQueryInfoUSKeyW ( long ptr ptr ptr ptr long )
    +@ stdcall SHRegQueryUSValueA ( long str ptr ptr ptr long ptr long )
    +@ stdcall SHRegQueryUSValueW ( long wstr ptr ptr ptr long ptr long )
    +@ stdcall SHRegSetUSValueA ( str str long ptr long long)
    +@ stdcall SHRegSetUSValueW ( wstr wstr long ptr long long)
    +@ stdcall SHRegWriteUSValueA (long str long ptr long long)
    +@ stdcall SHRegWriteUSValueW (long str long ptr long long)
    +@ stdcall SHSetValueA (long  str  str long ptr long)
    +@ stdcall SHSetValueW (long wstr wstr long ptr long)
    +@ stdcall StrCSpnA (str str)
    +@ stdcall StrCSpnIA (str str)
    +@ stdcall StrCSpnIW (wstr wstr)
    +@ stdcall StrCSpnW (wstr wstr)
    +@ stdcall StrCatBuffA (str str long)
    +@ stdcall StrCatBuffW (wstr wstr long)
    +@ stdcall StrCatW (ptr wstr)
    +@ stdcall StrChrA (str long)
    +@ stdcall StrChrIA (str long)
    +@ stdcall StrChrIW (wstr long)
    +@ stdcall StrChrW (wstr long)
    +@ stdcall StrCmpIW (wstr wstr)
    +@ stdcall StrCmpNA (str str long)
    +@ stdcall StrCmpNIA (str str long)
    +@ stdcall StrCmpNIW (wstr wstr long)
    +@ stdcall StrCmpNW (wstr wstr long)
    +@ stdcall StrCmpW (wstr wstr)
    +@ stdcall StrCpyNW (wstr wstr long)
    +@ stdcall StrCpyW (ptr wstr)
    +@ stdcall StrDupA (str)
    +@ stdcall StrDupW (wstr)
    +@ stdcall StrFormatByteSizeA(long ptr long)
    +@ stdcall StrFormatByteSizeW(long long ptr long)
    +@ stdcall StrFromTimeIntervalA(ptr long long long)
    +@ stdcall StrFromTimeIntervalW(ptr long long long)
    +@ stdcall StrIsIntlEqualA(long str str long)
    +@ stdcall StrIsIntlEqualW(long wstr wstr long)
    +@ stdcall StrNCatA(str str long)
    +@ stdcall StrNCatW(wstr wstr long)
    +@ stdcall StrPBrkA(str str)
    +@ stdcall StrPBrkW(wstr wstr)
    +@ stdcall StrRChrA (str str long)
    +@ stdcall StrRChrIA (str str long)
    +@ stdcall StrRChrIW (str str long)
    +@ stdcall StrRChrW (wstr wstr long)
    +@ stdcall StrRStrIA (str str str)
    +@ stdcall StrRStrIW (wstr wstr wstr)
    +@ stdcall StrSpnA (str str)
    +@ stdcall StrSpnW (wstr wstr)
    +@ stdcall StrStrA(str str)
    +@ stdcall StrStrIA(str str)
    +@ stdcall StrStrIW(wstr wstr)
    +@ stdcall StrStrW(wstr wstr)
    +@ stdcall StrToIntA(str)
    +@ stdcall StrToIntExA(str long ptr)
    +@ stdcall StrToIntExW(wstr long ptr)
    +@ stdcall StrToIntW(wstr)
    +@ stdcall StrTrimA(str str)
    +@ stdcall StrTrimW(wstr wstr)
    +@ stdcall UrlApplySchemeA(str ptr ptr long)
    +@ stdcall UrlApplySchemeW(wstr ptr ptr long)
    +@ stdcall UrlCanonicalizeA(str ptr ptr long)
    +@ stdcall UrlCanonicalizeW(wstr ptr ptr long)
    +@ stdcall UrlCombineA(str str str ptr long)
    +@ stdcall UrlCombineW(wstr wstr wstr ptr long)
    +@ stdcall UrlCompareA(str str long)
    +@ stdcall UrlCompareW(wstr wstr long)
    +@ stdcall UrlCreateFromPathA(str ptr ptr long)
    +@ stdcall UrlCreateFromPathW(wstr ptr ptr long)
    +@ stdcall UrlEscapeA(str ptr ptr long)
    +@ stdcall UrlEscapeW(wstr ptr ptr long)
    +@ stdcall UrlGetLocationA(str)
    +@ stdcall UrlGetLocationW(wstr)
    +@ stdcall UrlGetPartA(str ptr ptr long long)
    +@ stdcall UrlGetPartW(wstr ptr ptr long long)
    +@ stdcall UrlHashA(str ptr long)
    +@ stdcall UrlHashW(wstr ptr long)
    +@ stdcall UrlIsA(str long)
    +@ stdcall UrlIsNoHistoryA(str)
    +@ stdcall UrlIsNoHistoryW(wstr)
    +@ stdcall UrlIsOpaqueA(str)
    +@ stdcall UrlIsOpaqueW(wstr)
    +@ stdcall UrlIsW(wstr long)
    +@ stdcall UrlUnescapeA(str ptr ptr long)
    +@ stdcall UrlUnescapeW(wstr ptr ptr long)
    +@ varargs wnsprintfA(ptr long str)
    +@ varargs wnsprintfW(ptr long wstr)
    +@ stdcall wvnsprintfA(ptr long str ptr)
    +@ stdcall wvnsprintfW(ptr long wstr ptr)
    +
    +
    +# exported in later versions
    +@ stdcall AssocIsDangerous(long)
    +@ stdcall StrRetToBufA(ptr ptr ptr long)
    +@ stdcall StrRetToBufW(ptr ptr ptr long)
    +@ stdcall StrRetToBSTR(ptr ptr ptr)
    +@ stdcall StrRetToStrA(ptr ptr ptr)
    +@ stdcall StrRetToStrW(ptr ptr ptr)
    +@ stdcall SHRegGetPathA(long str str ptr long)
    +@ stdcall SHRegGetPathW(long wstr wstr ptr long)
    +@ stdcall PathIsDirectoryEmptyA(str)
    +@ stdcall PathIsDirectoryEmptyW(wstr)
    +@ stdcall PathIsNetworkPathA(str)
    +@ stdcall PathIsNetworkPathW(wstr)
    +@ stdcall PathIsLFNFileSpecA(str)
    +@ stdcall PathIsLFNFileSpecW(wstr)
    +@ stdcall PathFindSuffixArrayA(str ptr long)
    +@ stdcall PathFindSuffixArrayW(wstr ptr long)
    +@ stdcall _SHGetInstanceExplorer(ptr)
    +@ stdcall PathUndecorateA(str)
    +@ stdcall PathUndecorateW(wstr)
    +@ stdcall PathUnExpandEnvStringsA(str ptr long)
    +@ stdcall PathUnExpandEnvStringsW(wstr ptr long)
    +@ stdcall SHCopyKeyA(long str long long)
    +@ stdcall SHCopyKeyW(long wstr long long)
    +@ stdcall SHAutoComplete(ptr long)
    +@ stdcall SHCreateStreamOnFileA(str long ptr)
    +@ stdcall SHCreateStreamOnFileW(wstr long ptr)
    +@ stdcall SHCreateStreamOnFileEx(wstr long long long ptr ptr)
    +@ stdcall SHCreateStreamWrapper(ptr ptr long ptr)
    +@ stdcall SHGetThreadRef (ptr)
    +@ stdcall SHRegDuplicateHKey (long)
    +@ stdcall SHRegSetPathA(long str str str long)
    +@ stdcall SHRegSetPathW(long wstr wstr wstr long)
    +@ stdcall SHRegisterValidateTemplate(wstr long)
    +@ stdcall SHSetThreadRef (ptr)
    +@ stdcall SHReleaseThreadRef()
    +@ stdcall SHSkipJunction(ptr ptr)
    +@ stdcall SHStrDupA (str ptr)
    +@ stdcall SHStrDupW (wstr ptr)
    +@ stdcall StrFormatByteSize64A(long long ptr long)
    +@ stdcall StrFormatKBSizeA(long long str long)
    +@ stdcall StrFormatKBSizeW(long long wstr long)
    +@ stdcall StrCmpLogicalW(wstr wstr)
    diff --git a/reactos/lib/shlwapi/shlwapi.xml b/reactos/lib/shlwapi/shlwapi.xml
    index 357e683c00d..ca01a3a3d7c 100644
    --- a/reactos/lib/shlwapi/shlwapi.xml
    +++ b/reactos/lib/shlwapi/shlwapi.xml
    @@ -15,7 +15,6 @@
     	-nostdlib
     	-lgcc
     	wine
    -	wine_unicode
     	uuid
     	msvcrt
     	ntdll
    diff --git a/reactos/lib/smdll/compses.c b/reactos/lib/smdll/compses.c
    index cc29d4e3507..eaaccbc6e06 100644
    --- a/reactos/lib/smdll/compses.c
    +++ b/reactos/lib/smdll/compses.c
    @@ -10,12 +10,37 @@
     #include 
     #include 
     
    +#define NDEBUG
    +#include 
    +
    +/**********************************************************************
    + * NAME							EXPORTED
    + *	SmCompleteSession/3
    + *
    + * DESCRIPTION
    + * 	This function is called by an environment subsystem server to
    + * 	tell the SM it finished initialization phase and is ready to
    + * 	manage processes it registered for (SmConnectApiPort).
    + *
    + * ARGUMENTS
    + * 	hSmApiPort: port handle returned by SmConnectApiPort;
    + * 	hSbApiPort: call back API port of the subsystem (handle);
    + * 	hApiPort  : API port of the subsystem (handle).
    + *
    + * RETURN VALUE
    + * 	Success status as handed by the SM reply; otherwise a failure
    + * 	status code.
    + */
     NTSTATUS STDCALL
    -SmCompleteSession (HANDLE hSmApiPort, HANDLE hSbApiPort, HANDLE hApiPort)
    +SmCompleteSession (IN HANDLE hSmApiPort,
    +		   IN HANDLE hSbApiPort,
    +		   IN HANDLE hApiPort)
     {
       NTSTATUS         Status;
       SM_PORT_MESSAGE  SmReqMsg;
         
    +  DPRINT("SMDLL: %s called\n", __FUNCTION__);
    +
       /* Marshal Ses in the LPC message */
       SmReqMsg.CompSes.hApiPort   = hApiPort;
       SmReqMsg.CompSes.hSbApiPort = hSbApiPort;
    @@ -32,7 +57,7 @@ SmCompleteSession (HANDLE hSmApiPort, HANDLE hSbApiPort, HANDLE hApiPort)
       {
         return SmReqMsg.Status;
       }
    -  DbgPrint ("%s failed (Status=0x%08lx)\n", __FUNCTION__, Status);
    +  DPRINT("SMDLL: %s failed (Status=0x%08lx)\n", __FUNCTION__, Status);
       return Status;
     }
     
    diff --git a/reactos/lib/smdll/connect.c b/reactos/lib/smdll/connect.c
    index 24fbca2d138..17ba96c562e 100644
    --- a/reactos/lib/smdll/connect.c
    +++ b/reactos/lib/smdll/connect.c
    @@ -11,6 +11,9 @@
     #include 
     #include 
     
    +#define NDEBUG
    +#include 
    +
     /**********************************************************************
      * NAME							EXPORTED
      *	SmConnectApiPort/4
    @@ -44,16 +47,25 @@ SmConnectApiPort (IN      PUNICODE_STRING  pSbApiPortName  OPTIONAL,
       SM_CONNECT_DATA             ConnectData = {0,{0}};
       ULONG                       ConnectDataLength = 0;
     
    +  DPRINT("SMDLL: %s called\n", __FUNCTION__);
    +
    +  if (pSbApiPortName->Length > (sizeof pSbApiPortName->Buffer[0] * SM_SB_NAME_MAX_LENGTH))
    +  {
    +	  return STATUS_INVALID_PARAMETER_1;
    +  }
       if (pSbApiPortName)
       {
         if (NULL == hSbApiPort || IMAGE_SUBSYSTEM_UNKNOWN == dwSubsystem)
         {
           return STATUS_INVALID_PARAMETER_MIX;
         }
    +    RtlZeroMemory (& ConnectData, sizeof ConnectData);
         ConnectData.Subsystem = dwSubsystem;
    -    memmove (& ConnectData.SbName, pSbApiPortName->Buffer, pSbApiPortName->Length);
    +    RtlCopyMemory (& ConnectData.SbName,
    +		   pSbApiPortName->Buffer,
    +		   pSbApiPortName->Length);
       }
    -  ConnectDataLength = sizeof (ConnectData);
    +  ConnectDataLength = sizeof ConnectData;
     
       SecurityQos.Length              = sizeof (SecurityQos);
       SecurityQos.ImpersonationLevel  = SecurityIdentification;
    @@ -76,7 +88,7 @@ SmConnectApiPort (IN      PUNICODE_STRING  pSbApiPortName  OPTIONAL,
       {
         return STATUS_SUCCESS;
       }
    -  DbgPrint ("%s failed (Status=0x%08lx)\n", __FUNCTION__, Status);
    +  DPRINT("SMDLL: %s failed (Status=0x%08lx)\n", __FUNCTION__, Status);
       return Status;
     }
     
    diff --git a/reactos/lib/smdll/execpgm.c b/reactos/lib/smdll/execpgm.c
    index c0d67e52bb4..477096820e0 100644
    --- a/reactos/lib/smdll/execpgm.c
    +++ b/reactos/lib/smdll/execpgm.c
    @@ -11,13 +11,38 @@
     #include 
     #include 
     
    +#define NDEBUG
    +#include 
    +
    +/**********************************************************************
    + * NAME							EXPORTED
    + *	SmExecuteProgram/2
    + *
    + * DESCRIPTION
    + *	This function is used to make the SM start an environment
    + *	subsystem server process.
    + *
    + * ARGUMENTS
    + * 	hSmApiPort: port handle returned by SmConnectApiPort;
    + * 	Pgm       : name of the subsystem (to be used by the SM to
    + * 	            lookup the image name from the registry).
    + * 	            Valid names are: DEBUG, WINDOWS, POSIX, OS2,
    + * 	            and VMS.
    + *	
    + * RETURN VALUE
    + * 	Success status as handed by the SM reply; otherwise a failure
    + * 	status code.
    + */
     NTSTATUS STDCALL
    -SmExecuteProgram (HANDLE hSmApiPort, PUNICODE_STRING Pgm)
    +SmExecuteProgram (IN HANDLE          hSmApiPort,
    +		  IN PUNICODE_STRING Pgm)
     {
       NTSTATUS         Status;
       SM_PORT_MESSAGE  SmReqMsg;
     
     
    +  DPRINT("SMDLL: %s called\n", __FUNCTION__);
    +
       /* Check Pgm's length */
       if (Pgm->Length > (sizeof (Pgm->Buffer[0]) * SM_EXEXPGM_MAX_LENGTH))
       {
    @@ -26,7 +51,9 @@ SmExecuteProgram (HANDLE hSmApiPort, PUNICODE_STRING Pgm)
       /* Marshal Pgm in the LPC message */
       RtlZeroMemory (& SmReqMsg, sizeof SmReqMsg);
       SmReqMsg.ExecPgm.NameLength = Pgm->Length;
    -  RtlCopyMemory (SmReqMsg.ExecPgm.Name, Pgm->Buffer, Pgm->Length);
    +  RtlCopyMemory (SmReqMsg.ExecPgm.Name,
    +		 Pgm->Buffer,
    +		 Pgm->Length);
     		
       /* SM API to invoke */
       SmReqMsg.ApiIndex = SM_API_EXECUTE_PROGRAMME;
    @@ -42,7 +69,7 @@ SmExecuteProgram (HANDLE hSmApiPort, PUNICODE_STRING Pgm)
       {
         return SmReqMsg.Status;
       }
    -  DbgPrint ("%s failed (Status=0x%08lx)\n", __FUNCTION__, Status);
    +  DPRINT("SMDLL: %s failed (Status=0x%08lx)\n", __FUNCTION__, Status);
       return Status;
     }
     
    diff --git a/reactos/lib/smdll/readme.txt b/reactos/lib/smdll/readme.txt
    index af75bd866d4..6cfcfccd193 100644
    --- a/reactos/lib/smdll/readme.txt
    +++ b/reactos/lib/smdll/readme.txt
    @@ -15,4 +15,29 @@ c) terminal emulators for optional subsystems, like posixw32 and os2w32,
     
     d) system and development utilites to debug/query the SM.
     
    -2004-02-15 ea
    \ No newline at end of file
    +2004-02-15 ea
    +
    +
    +How a subsystem uses these APIs
    +===============================
    +
    +Thread #0							Thread #1
    +- create your own directory (\EXAMPLE)
    +- create an event E0
    +- create your call back API port (\EXAMPLE\SbApiPort)
    +  and serving thread T1
    +								- wait connection requests on call
    +								  back port (\EXAMPLE\SbApiPort)
    +- SmConnectApiPort(
    +	\EXAMPLE\SbApiPort,
    +	hSbApiPort,
    +	SUBSYSTEM_ID,
    +	& hSmApiPort)
    +- wait for E0
    +								- as SM calls back, signal event E0
    +- create your API port (\EXAMPLE\ApiPort) and
    +  initialize the subsystem
    +- call SmCompleteSession (hSmApiPort,
    +			  hSbApiPort,
    +			  hApiPort)
    +- manage processes etc.
    \ No newline at end of file
    diff --git a/reactos/lib/unicode/Makefile.ros-template b/reactos/lib/unicode/Makefile.ros-template
    deleted file mode 100644
    index f56fcd2c3d6..00000000000
    --- a/reactos/lib/unicode/Makefile.ros-template
    +++ /dev/null
    @@ -1,36 +0,0 @@
    -# $Id: Makefile.ros-template 11910 2004-12-03 23:37:44Z blight $
    -
    -TARGET_NAME = wine_unicode
    -
    -CODEPAGES = @CODEPAGES@
    -
    -TARGET_OBJECTS = casemap.o \
    -	collation.o \
    -	compose.o \
    -	cptable.o \
    -	fold.o \
    -	mbtowc.o \
    -	sortkey.o \
    -	string.o \
    -	utf8.o \
    -	wctomb.o \
    -	wctype.o \
    -	$(CODEPAGES:%=c_%.o)
    -
    -TARGET_CFLAGS = @EXTRADEFS@ -DWCHAR=wchar_t
    -
    -TARGET_SDKLIBS = @IMPORTS@
    -
    -TARGET_NORC = yes
    -
    -TARGET_BASE = $(TARGET_BASE_LIB_UNICODE)
    -
    -TARGET_DEFNAME = wine_unicode
    -
    -TARGET_STUBS = no
    -
    -default: all
    -
    -DEP_OBJECTS = $(TARGET_OBJECTS)
    -
    -include $(TOOLS_PATH)/depend.mk
    diff --git a/reactos/lib/unicode/makefile b/reactos/lib/unicode/makefile
    deleted file mode 100644
    index 263de228b36..00000000000
    --- a/reactos/lib/unicode/makefile
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -# $Id: makefile 7409 2004-01-02 19:49:47Z gvg $
    -
    -PATH_TO_TOP = ../..
    -
    -TARGET_TYPE = winedll
    -
    -include $(PATH_TO_TOP)/rules.mak
    -
    -include $(TOOLS_PATH)/helper.mk
    diff --git a/reactos/lib/unicode/unicode.xml b/reactos/lib/unicode/unicode.xml
    deleted file mode 100644
    index b9e78bef59a..00000000000
    --- a/reactos/lib/unicode/unicode.xml
    +++ /dev/null
    @@ -1,87 +0,0 @@
    -
    -	
    -	.
    -	include/wine
    -	
    -	
    -	
    -	
    -	0x600
    -	0x501
    -	0x501
    -	
    -	
    -	""
    -	wchar_t
    -	c_037.c
    -	c_424.c
    -	c_437.c
    -	c_500.c
    -	c_737.c
    -	c_775.c
    -	c_850.c
    -	c_852.c
    -	c_855.c
    -	c_856.c
    -	c_857.c
    -	c_860.c
    -	c_861.c
    -	c_862.c
    -	c_863.c
    -	c_864.c
    -	c_865.c
    -	c_866.c
    -	c_869.c
    -	c_874.c
    -	c_875.c
    -	c_878.c
    -	c_932.c
    -	c_936.c
    -	c_949.c
    -	c_950.c
    -	c_1006.c
    -	c_1026.c
    -	c_1250.c
    -	c_1251.c
    -	c_1252.c
    -	c_1253.c
    -	c_1254.c
    -	c_1255.c
    -	c_1256.c
    -	c_1257.c
    -	c_1258.c
    -	c_10000.c
    -	c_10006.c
    -	c_10007.c
    -	c_10029.c
    -	c_10079.c
    -	c_10081.c
    -	c_20866.c
    -	c_20932.c
    -	c_28591.c
    -	c_28592.c
    -	c_28593.c
    -	c_28594.c
    -	c_28595.c
    -	c_28596.c
    -	c_28597.c
    -	c_28598.c
    -	c_28599.c
    -	c_28600.c
    -	c_28603.c
    -	c_28604.c
    -	c_28605.c
    -	c_28606.c
    -	casemap.c
    -	collation.c
    -	compose.c
    -	cptable.c
    -	fold.c
    -	mbtowc.c
    -	sortkey.c
    -	string.c
    -	utf8.c
    -	wctomb.c
    -	wctype.c
    -	wine_unicode.rc
    -
    diff --git a/reactos/lib/unicode/wine_unicode.rc b/reactos/lib/unicode/wine_unicode.rc
    deleted file mode 100644
    index 890f9472c45..00000000000
    --- a/reactos/lib/unicode/wine_unicode.rc
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -#include 
    -#include "resource.h"
    -
    -#define REACTOS_VERSION_DLL
    -#define REACTOS_STR_FILE_DESCRIPTION	"ReactOS WINE Unicode Support Library\0"
    -#define REACTOS_STR_INTERNAL_NAME	"wine_unicode\0"
    -#define REACTOS_STR_ORIGINAL_FILENAME	"wine_unicode.dll\0"
    -#include 
    diff --git a/reactos/lib/urlmon/sec_mgr.c b/reactos/lib/urlmon/sec_mgr.c
    index 10fc1a88d34..99162c40002 100644
    --- a/reactos/lib/urlmon/sec_mgr.c
    +++ b/reactos/lib/urlmon/sec_mgr.c
    @@ -78,25 +78,30 @@ static HRESULT WINAPI SecManagerImpl_QueryInterface(IInternetSecurityManager* if
     static ULONG WINAPI SecManagerImpl_AddRef(IInternetSecurityManager* iface)
     {
         SecManagerImpl *This = (SecManagerImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE("(%p)\n",This);
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
     
    -    return InterlockedIncrement(&This->ref);
    +    URLMON_LockModule();
    +
    +    return refCount;
     }
     
     static ULONG WINAPI SecManagerImpl_Release(IInternetSecurityManager* iface)
     {
         SecManagerImpl *This = (SecManagerImpl *)iface;
    -    ULONG ref;
    -    TRACE("(%p)\n",This);
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    ref = InterlockedDecrement(&This->ref);
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount + 1);
     
         /* destroy the object if there's no more reference on it */
    -    if (ref==0){
    +    if (!refCount){
             HeapFree(GetProcessHeap(),0,This);
         }
    -    return ref;
    +
    +    URLMON_UnlockModule();
    +
    +    return refCount;
     }
     
     static HRESULT WINAPI SecManagerImpl_SetSecuritySite(IInternetSecurityManager *iface,
    @@ -238,10 +243,13 @@ static HRESULT WINAPI ZoneMgrImpl_QueryInterface(IInternetZoneManager* iface, RE
     static ULONG WINAPI ZoneMgrImpl_AddRef(IInternetZoneManager* iface)
     {
         ZoneMgrImpl* This = (ZoneMgrImpl*)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE("(%p) was %lu\n", This, This->ref);
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
     
    -    return InterlockedIncrement(&This->ref);
    +    URLMON_LockModule();
    +
    +    return refCount;
     }
     
     /********************************************************************
    @@ -250,15 +258,16 @@ static ULONG WINAPI ZoneMgrImpl_AddRef(IInternetZoneManager* iface)
     static ULONG WINAPI ZoneMgrImpl_Release(IInternetZoneManager* iface)
     {
         ZoneMgrImpl* This = (ZoneMgrImpl*)iface;
    -    ULONG ref;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE("(%p) was %lu\n", This, This->ref);
    -    ref = InterlockedDecrement(&This->ref);
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount + 1);
     
    -    if(!ref)
    +    if(!refCount)
             HeapFree(GetProcessHeap(), 0, This);
     
    -    return ref;
    +    URLMON_UnlockModule();
    +    
    +    return refCount;
     }
     
     /********************************************************************
    diff --git a/reactos/lib/urlmon/umon.c b/reactos/lib/urlmon/umon.c
    index adac1efccdd..7436ed21c25 100644
    --- a/reactos/lib/urlmon/umon.c
    +++ b/reactos/lib/urlmon/umon.c
    @@ -103,10 +103,13 @@ static HRESULT WINAPI URLMonikerImpl_QueryInterface(IMoniker* iface,REFIID riid,
     static ULONG WINAPI URLMonikerImpl_AddRef(IMoniker* iface)
     {
         URLMonikerImpl *This = (URLMonikerImpl *)iface;
    +    ULONG refCount = InterlockedIncrement(&This->ref);
     
    -    TRACE("(%p)\n",This);
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount - 1);
     
    -    return InterlockedIncrement(&This->ref);
    +    URLMON_LockModule();
    +
    +    return refCount;
     }
     
     /******************************************************************************
    @@ -115,19 +118,19 @@ static ULONG WINAPI URLMonikerImpl_AddRef(IMoniker* iface)
     static ULONG WINAPI URLMonikerImpl_Release(IMoniker* iface)
     {
         URLMonikerImpl *This = (URLMonikerImpl *)iface;
    -    ULONG ref;
    +    ULONG refCount = InterlockedDecrement(&This->ref);
     
    -    TRACE("(%p)\n",This);
    -
    -    ref = InterlockedDecrement(&This->ref);
    +    TRACE("(%p)->(ref before=%lu)\n",This, refCount + 1);
     
         /* destroy the object if there's no more reference on it */
    -    if (ref == 0) {
    +    if (!refCount) {
             HeapFree(GetProcessHeap(),0,This->URLName);
             HeapFree(GetProcessHeap(),0,This);
         }
     
    -    return ref;
    +    URLMON_UnlockModule();
    +
    +    return refCount;
     }
     
     /******************************************************************************
    diff --git a/reactos/lib/urlmon/urlmon_main.c b/reactos/lib/urlmon/urlmon_main.c
    index 839882fbb1e..93439f48196 100644
    --- a/reactos/lib/urlmon/urlmon_main.c
    +++ b/reactos/lib/urlmon/urlmon_main.c
    @@ -37,6 +37,8 @@
     
     WINE_DEFAULT_DEBUG_CHANNEL(urlmon);
     
    +LONG URLMON_refCount = 0;
    +
     HINSTANCE URLMON_hInstance = 0;
     
     /***********************************************************************
    @@ -76,9 +78,7 @@ HRESULT WINAPI URLMON_DllInstall(BOOL bInstall, LPCWSTR cmdline)
      */
     HRESULT WINAPI URLMON_DllCanUnloadNow(void)
     {
    -    FIXME("(void): stub\n");
    -
    -    return S_FALSE;
    +    return URLMON_refCount != 0 ? S_FALSE : S_OK;
     }
     
     
    @@ -125,6 +125,8 @@ CF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj)
     static ULONG WINAPI CF_AddRef(LPCLASSFACTORY iface)
     {
         IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    +    URLMON_LockModule();
    +    
         return InterlockedIncrement(&This->ref);
     }
     
    @@ -137,6 +139,8 @@ static ULONG WINAPI CF_Release(LPCLASSFACTORY iface)
         if (ref == 0)
     	HeapFree(GetProcessHeap(), 0, This);
     
    +    URLMON_UnlockModule();
    +
         return ref;
     }
     
    @@ -160,8 +164,13 @@ static HRESULT WINAPI CF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter,
     
     static HRESULT WINAPI CF_LockServer(LPCLASSFACTORY iface,BOOL dolock)
     {
    -    IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
    -    FIXME("(%p)->(%d),stub!\n",This,dolock);
    +    TRACE("(%d)\n", dolock);
    +
    +    if (dolock)
    +	   URLMON_LockModule();
    +    else
    +	   URLMON_UnlockModule();
    +
         return S_OK;
     }
     
    diff --git a/reactos/lib/urlmon/urlmon_main.h b/reactos/lib/urlmon/urlmon_main.h
    index 7bd3b06b54d..4f9dc6e3a81 100644
    --- a/reactos/lib/urlmon/urlmon_main.h
    +++ b/reactos/lib/urlmon/urlmon_main.h
    @@ -28,6 +28,13 @@ extern HINSTANCE URLMON_hInstance;
     extern HRESULT SecManagerImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj);
     extern HRESULT ZoneMgrImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj);
     
    +/**********************************************************************
    + * Dll lifetime tracking declaration for urlmon.dll
    + */
    +extern LONG URLMON_refCount;
    +static inline void URLMON_LockModule() { InterlockedIncrement( &URLMON_refCount ); }
    +static inline void URLMON_UnlockModule() { InterlockedDecrement( &URLMON_refCount ); }
    +
     #define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
     
     #endif /* __WINE_URLMON_MAIN_H */
    diff --git a/reactos/lib/user32/misc/display.c b/reactos/lib/user32/misc/display.c
    index 1c2d64ff159..dc069ea5933 100644
    --- a/reactos/lib/user32/misc/display.c
    +++ b/reactos/lib/user32/misc/display.c
    @@ -200,6 +200,15 @@ EnumDisplaySettingsExA(
     {
       BOOL rc;
       UNICODE_STRING DeviceName;
    +  LPDEVMODEW lpDevModeW;
    +
    +  lpDevModeW = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
    +                         sizeof(DEVMODEW) + lpDevMode->dmDriverExtra);
    +  if ( lpDevModeW == NULL )
    +    {
    +      SetLastError ( ERROR_OUTOFMEMORY );
    +      return FALSE;
    +    }
     
       if ( !RtlCreateUnicodeStringFromAsciiz ( &DeviceName, (PCSZ)lpszDeviceName ) )
         {
    @@ -207,15 +216,16 @@ EnumDisplaySettingsExA(
           return FALSE;
         }
     
    -  /*
    -   * NOTE: We don't need to convert between DEVMODEW and DEVMODEA because
    -   * only dmBitsPerPel, dmPelsWidth, dmPelsHeight, dmDisplayFlags and
    -   * dmDisplayFrequency fields are set.
    -   */
    -  rc = NtUserEnumDisplaySettings ( &DeviceName, iModeNum, (LPDEVMODEW)lpDevMode,
    +  lpDevModeW->dmSize = sizeof(DEVMODEW);
    +  lpDevModeW->dmDriverExtra = 0;
    +
    +  rc = NtUserEnumDisplaySettings ( &DeviceName, iModeNum, lpDevModeW,
                                        dwFlags );
     
    +  RosRtlDevModeW2A ( lpDevMode, lpDevModeW );
    +
       RtlFreeUnicodeString ( &DeviceName );
    +  HeapFree ( GetProcessHeap(), 0, lpDevModeW );
     
       return rc;
     }
    diff --git a/reactos/lib/user32/resources/oic_reactos.ico b/reactos/lib/user32/resources/oic_reactos.ico
    index 492e388a939..9de75081b22 100644
    Binary files a/reactos/lib/user32/resources/oic_reactos.ico and b/reactos/lib/user32/resources/oic_reactos.ico differ
    diff --git a/reactos/lib/user32/windows/defwnd.c b/reactos/lib/user32/windows/defwnd.c
    index 00cec8d6701..6d7ed4b39dd 100644
    --- a/reactos/lib/user32/windows/defwnd.c
    +++ b/reactos/lib/user32/windows/defwnd.c
    @@ -418,7 +418,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
     {
       HRGN DesktopRgn;
       MSG msg;
    -  RECT sizingRect, mouseRect, origRect, clipRect;
    +  RECT sizingRect, mouseRect, origRect, clipRect, unmodRect;
       HDC hdc;
       LONG hittest = (LONG)(wParam & 0x0f);
       HCURSOR hDragCursor = 0, hOldCursor = 0;
    @@ -487,6 +487,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
       
       WinPosGetMinMaxInfo(hwnd, NULL, NULL, &minTrack, &maxTrack);
       GetWindowRect(hwnd, &sizingRect);
    +  unmodRect = sizingRect;
       if (Style & WS_CHILD)
         {
           MapWindowPoints( 0, hWndParent, (LPPOINT)&sizingRect, 2 );
    @@ -623,7 +624,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
     	  if (msg.message == WM_KEYDOWN) SetCursorPos( pt.x, pt.y );
     	  else
     	    {
    -	      RECT newRect = sizingRect;
    +	      RECT newRect = unmodRect;
     	      WPARAM wpSizingHit = 0;
     	      
     	      if (hittest == HTCAPTION) OffsetRect( &newRect, dx, dy );
    @@ -637,6 +638,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
     	      /* determine the hit location */
     	      if (hittest >= HTLEFT && hittest <= HTBOTTOMRIGHT)
     		wpSizingHit = WMSZ_LEFT + (hittest - HTLEFT);
    +	      unmodRect	= newRect;
     	      SendMessageA( hwnd, WM_SIZING, wpSizingHit, (LPARAM)&newRect );
     	      
     	      if (!iconic)
    diff --git a/reactos/lib/winmm/Makefile.in b/reactos/lib/winmm/Makefile.in
    index de41d268018..238e4e8b4a4 100644
    --- a/reactos/lib/winmm/Makefile.in
    +++ b/reactos/lib/winmm/Makefile.in
    @@ -5,6 +5,7 @@ SRCDIR    = @srcdir@
     VPATH     = @srcdir@
     MODULE    = winmm.dll
     IMPORTS   = user32 advapi32 kernel32 ntdll
    +EXTRALIBS = $(LIBUNICODE)
     
     C_SRCS = \
     	driver.c \
    diff --git a/reactos/lib/winmm/driver.c b/reactos/lib/winmm/driver.c
    index dfc0f0791ce..f03902712eb 100644
    --- a/reactos/lib/winmm/driver.c
    +++ b/reactos/lib/winmm/driver.c
    @@ -1,5 +1,3 @@
    -/* -*- tab-width: 8; c-basic-offset: 4 -*- */
    -
     /*
      * WINE Drivers functions
      *
    @@ -33,15 +31,16 @@
     #include "mmddk.h"
     #include "winemm.h"
     #include "wine/debug.h"
    +#include "wine/unicode.h"
     
     WINE_DEFAULT_DEBUG_CHANNEL(driver);
     
    -#define HKLM_BASE "Software\\Microsoft\\Windows NT\\CurrentVersion"
    -
     static LPWINE_DRIVER   lpDrvItemList  /* = NULL */;
    +static const WCHAR HKLM_BASE[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
    +                                  'W','i','n','d','o','w','s',' ','N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n',0};
     
     WINE_MMTHREAD*  (*pFnGetMMThread16)(UINT16 h) /* = NULL */;
    -LPWINE_DRIVER   (*pFnOpenDriver16)(LPCSTR,LPCSTR,LPARAM) /* = NULL */;
    +LPWINE_DRIVER   (*pFnOpenDriver16)(LPCWSTR,LPCWSTR,LPARAM) /* = NULL */;
     LRESULT         (*pFnCloseDriver16)(UINT16,LPARAM,LPARAM) /* = NULL */;
     LRESULT         (*pFnSendMessage16)(UINT16,UINT,LPARAM,LPARAM) /* = NULL */;
     
    @@ -207,16 +206,19 @@ static	BOOL	DRIVER_AddToList(LPWINE_DRIVER lpNewDrv, LPARAM lParam1, LPARAM lPar
      *				DRIVER_GetLibName		[internal]
      *
      */
    -BOOL	DRIVER_GetLibName(LPCSTR keyName, LPCSTR sectName, LPSTR buf, int sz)
    +BOOL	DRIVER_GetLibName(LPCWSTR keyName, LPCWSTR sectName, LPWSTR buf, int sz)
     {
         HKEY	hKey, hSecKey;
         DWORD	bufLen, lRet;
    +    static const WCHAR wszSystemIni[] = {'S','Y','S','T','E','M','.','I','N','I',0};
    +    WCHAR       wsznull = '\0';
     
    -    lRet = RegOpenKeyExA(HKEY_LOCAL_MACHINE, HKLM_BASE, 0, KEY_QUERY_VALUE, &hKey);
    +    lRet = RegOpenKeyExW(HKEY_LOCAL_MACHINE, HKLM_BASE, 0, KEY_QUERY_VALUE, &hKey);
         if (lRet == ERROR_SUCCESS) {
    -	lRet = RegOpenKeyExA(hKey, sectName, 0, KEY_QUERY_VALUE, &hSecKey);
    +	lRet = RegOpenKeyExW(hKey, sectName, 0, KEY_QUERY_VALUE, &hSecKey);
     	if (lRet == ERROR_SUCCESS) {
    -	    lRet = RegQueryValueExA(hSecKey, keyName, 0, 0, buf, &bufLen);
    +            bufLen = sz;
    +	    lRet = RegQueryValueExW(hSecKey, keyName, 0, 0, (void*)buf, &bufLen);
     	    RegCloseKey( hSecKey );
     	}
             RegCloseKey( hKey );
    @@ -224,7 +226,7 @@ BOOL	DRIVER_GetLibName(LPCSTR keyName, LPCSTR sectName, LPSTR buf, int sz)
         if (lRet == ERROR_SUCCESS) return TRUE;
         /* default to system.ini if we can't find it in the registry,
          * to support native installations where system.ini is still used */
    -    return GetPrivateProfileStringA(sectName, keyName, "", buf, sz, "SYSTEM.INI");
    +    return GetPrivateProfileStringW(sectName, keyName, &wsznull, buf, sz, wszSystemIni);
     }
     
     /**************************************************************************
    @@ -232,16 +234,16 @@ BOOL	DRIVER_GetLibName(LPCSTR keyName, LPCSTR sectName, LPSTR buf, int sz)
      *
      * Tries to load a 32 bit driver whose DLL's (module) name is fn
      */
    -LPWINE_DRIVER	DRIVER_TryOpenDriver32(LPCSTR fn, LPARAM lParam2)
    +LPWINE_DRIVER	DRIVER_TryOpenDriver32(LPCWSTR fn, LPARAM lParam2)
     {
         LPWINE_DRIVER 	lpDrv = NULL;
         HMODULE		hModule = 0;
    -    LPSTR		ptr;
    +    LPWSTR		ptr;
         LPCSTR		cause = 0;
     
    -    TRACE("(%s, %08lX);\n", debugstr_a(fn), lParam2);
    +    TRACE("(%s, %08lX);\n", debugstr_w(fn), lParam2);
     
    -    if ((ptr = strchr(fn, ' ')) != NULL) {
    +    if ((ptr = strchrW(fn, ' ')) != NULL) {
     	*ptr++ = '\0';
     	while (*ptr == ' ') ptr++;
     	if (*ptr == '\0') ptr = NULL;
    @@ -250,7 +252,7 @@ LPWINE_DRIVER	DRIVER_TryOpenDriver32(LPCSTR fn, LPARAM lParam2)
         lpDrv = HeapAlloc(GetProcessHeap(), 0, sizeof(WINE_DRIVER));
         if (lpDrv == NULL) {cause = "OOM"; goto exit;}
     
    -    if ((hModule = LoadLibraryA(fn)) == 0) {cause = "Not a 32 bit lib"; goto exit;}
    +    if ((hModule = LoadLibraryW(fn)) == 0) {cause = "Not a 32 bit lib"; goto exit;}
     
         lpDrv->d.d32.lpDrvProc = (DRIVERPROC)GetProcAddress(hModule, "DriverProc");
         if (lpDrv->d.d32.lpDrvProc == NULL) {cause = "no DriverProc"; goto exit;}
    @@ -290,7 +292,7 @@ LPWINE_DRIVER	DRIVER_TryOpenDriver32(LPCSTR fn, LPARAM lParam2)
      exit:
         FreeLibrary(hModule);
         HeapFree(GetProcessHeap(), 0, lpDrv);
    -    TRACE("Unable to load 32 bit module %s: %s\n", debugstr_a(fn), cause);
    +    TRACE("Unable to load 32 bit module %s: %s\n", debugstr_w(fn), cause);
         return NULL;
     }
     
    @@ -301,23 +303,59 @@ LPWINE_DRIVER	DRIVER_TryOpenDriver32(LPCSTR fn, LPARAM lParam2)
      * (0,1,DRV_ENABLE,0       ,0)
      * (0,1,DRV_OPEN  ,buf[256],0)
      */
    -HDRVR WINAPI OpenDriverA(LPCSTR lpDriverName, LPCSTR lpSectionName, LPARAM lParam2)
    +HDRVR WINAPI OpenDriverA(LPCSTR lpDriverName, LPCSTR lpSectionName, LPARAM lParam)
    +{
    +    INT                 len;
    +    LPWSTR 		dn = NULL;
    +    LPWSTR 		sn = NULL;
    +    HDRVR		ret;
    +
    +    if (lpDriverName)
    +    {
    +        len = MultiByteToWideChar( CP_ACP, 0, lpDriverName, -1, NULL, 0 );
    +        dn = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
    +        if (!dn) return 0;
    +        MultiByteToWideChar( CP_ACP, 0, lpDriverName, -1, dn, len );
    +    }
    +
    +    if (lpSectionName)
    +    {
    +        len = MultiByteToWideChar( CP_ACP, 0, lpSectionName, -1, NULL, 0 );
    +        sn = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
    +        if (!sn) return 0;
    +        MultiByteToWideChar( CP_ACP, 0, lpSectionName, -1, sn, len );
    +    }
    +
    +    ret = OpenDriver(dn, sn, lParam);
    +
    +    if (dn) HeapFree(GetProcessHeap(), 0, dn);
    +    if (sn) HeapFree(GetProcessHeap(), 0, sn);
    +    return ret;
    +}
    +
    +/**************************************************************************
    + *				OpenDriver 		        [WINMM.@]
    + *				DrvOpen				[WINMM.@]
    + */
    +HDRVR WINAPI OpenDriver(LPCWSTR lpDriverName, LPCWSTR lpSectionName, LPARAM lParam)
     {
         LPWINE_DRIVER	lpDrv = NULL;
    -    char 		libName[128];
    -    LPCSTR		lsn = lpSectionName;
    +    WCHAR 		libName[128];
    +    LPCWSTR		lsn = lpSectionName;
     
    -    TRACE("(%s, %s, 0x%08lx);\n", debugstr_a(lpDriverName), debugstr_a(lpSectionName), lParam2);
    +    TRACE("(%s, %s, 0x%08lx);\n", 
    +          debugstr_w(lpDriverName), debugstr_w(lpSectionName), lParam);
     
         if (lsn == NULL) {
    -	lstrcpynA(libName, lpDriverName, sizeof(libName));
    +        static const WCHAR wszDrivers32[] = {'D','r','i','v','e','r','s','3','2',0};
    +	lstrcpynW(libName, lpDriverName, sizeof(libName) / sizeof(WCHAR));
     
    -	if ((lpDrv = DRIVER_TryOpenDriver32(libName, lParam2)))
    +	if ((lpDrv = DRIVER_TryOpenDriver32(libName, lParam)))
     	    goto the_end;
    -	lsn = "Drivers32";
    +	lsn = wszDrivers32;
         }
         if (DRIVER_GetLibName(lpDriverName, lsn, libName, sizeof(libName)) &&
    -	(lpDrv = DRIVER_TryOpenDriver32(libName, lParam2)))
    +	(lpDrv = DRIVER_TryOpenDriver32(libName, lParam)))
     	goto the_end;
     
         /* now we will try a 16 bit driver (and add all the glue to make it work... which
    @@ -326,12 +364,13 @@ HDRVR WINAPI OpenDriverA(LPCSTR lpDriverName, LPCSTR lpSectionName, LPARAM lPara
          */
         WINMM_CheckForMMSystem();
         if (pFnOpenDriver16 &&
    -        (lpDrv = pFnOpenDriver16(lpDriverName, lpSectionName, lParam2)))
    +        (lpDrv = pFnOpenDriver16(lpDriverName, lpSectionName, lParam)))
         {
    -        if (DRIVER_AddToList(lpDrv, 0, lParam2)) goto the_end;
    +        if (DRIVER_AddToList(lpDrv, 0, lParam)) goto the_end;
             HeapFree(GetProcessHeap(), 0, lpDrv);
         }
    -    TRACE("Failed to open driver %s from system.ini file, section %s\n", debugstr_a(lpDriverName), debugstr_a(lpSectionName));
    +    TRACE("Failed to open driver %s from system.ini file, section %s\n", 
    +          debugstr_w(lpDriverName), debugstr_w(lpSectionName));
         return 0;
     
      the_end:
    @@ -339,40 +378,6 @@ HDRVR WINAPI OpenDriverA(LPCSTR lpDriverName, LPCSTR lpSectionName, LPARAM lPara
         return (HDRVR)lpDrv;
     }
     
    -/**************************************************************************
    - *				OpenDriver 		        [WINMM.@]
    - *				DrvOpen				[WINMM.@]
    - */
    -HDRVR WINAPI OpenDriverW(LPCWSTR lpDriverName, LPCWSTR lpSectionName, LPARAM lParam)
    -{
    -    INT                 len;
    -    LPSTR 		dn = NULL;
    -    LPSTR 		sn = NULL;
    -    HDRVR		ret;
    -
    -    if (lpDriverName)
    -    {
    -        len = WideCharToMultiByte( CP_ACP, 0, lpDriverName, -1, NULL, 0, NULL, NULL );
    -        dn = HeapAlloc( GetProcessHeap(), 0, len );
    -        if (!dn) return 0;
    -        WideCharToMultiByte( CP_ACP, 0, lpDriverName, -1, dn, len, NULL, NULL );
    -    }
    -
    -    if (lpSectionName)
    -    {
    -        len = WideCharToMultiByte( CP_ACP, 0, lpSectionName, -1, NULL, 0, NULL, NULL );
    -        sn = HeapAlloc( GetProcessHeap(), 0, len );
    -        if (!sn) return 0;
    -        WideCharToMultiByte( CP_ACP, 0, lpSectionName, -1, sn, len, NULL, NULL );
    -    }
    -
    -    ret = OpenDriverA(dn, sn, lParam);
    -
    -    HeapFree(GetProcessHeap(), 0, dn);
    -    HeapFree(GetProcessHeap(), 0, sn);
    -    return ret;
    -}
    -
     /**************************************************************************
      *			CloseDriver				[WINMM.@]
      *			DrvClose				[WINMM.@]
    diff --git a/reactos/lib/winmm/mci.c b/reactos/lib/winmm/mci.c
    index ddf0a59770a..0ebeaa6b9e8 100644
    --- a/reactos/lib/winmm/mci.c
    +++ b/reactos/lib/winmm/mci.c
    @@ -31,6 +31,15 @@
      * - use a default registry setting to replace the [mci] section in
      *   configuration file (layout of info in registry should be compatible
      *   with all Windows' version - which use different layouts of course)
    + * - implement automatic open
    + *      + only works on string interface, on regular devices (don't work on all
    + *        nor custom devices)
    + * - command table handling isn't thread safe
    + */
    +
    +/* to be cross checked:
    + * - heapalloc for *sizeof(WCHAR) when needed
    + * - size of string in WCHAR or bytes? (#chars for MCI_INFO, #bytes for MCI_SYSINFO)
      */
     
     #include "config.h"
    @@ -49,34 +58,41 @@
     #include "winuser.h"
     #include "winnls.h"
     #include "winreg.h"
    +#include "wownt32.h"
     
     #include "digitalv.h"
     #include "winemm.h"
     
     #include "wine/debug.h"
    +#include "wine/unicode.h"
     
     WINE_DEFAULT_DEBUG_CHANNEL(mci);
     
    -WINMM_MapType  (*pFnMciMapMsg16To32A)  (WORD,WORD,DWORD*) /* = NULL */;
    -WINMM_MapType  (*pFnMciUnMapMsg16To32A)(WORD,WORD,DWORD) /* = NULL */;
    -WINMM_MapType  (*pFnMciMapMsg32ATo16)  (WORD,WORD,DWORD,DWORD*) /* = NULL */;
    -WINMM_MapType  (*pFnMciUnMapMsg32ATo16)(WORD,WORD,DWORD,DWORD) /* = NULL */;
    +WINMM_MapType  (*pFnMciMapMsg16To32W)  (WORD,WORD,DWORD*) /* = NULL */;
    +WINMM_MapType  (*pFnMciUnMapMsg16To32W)(WORD,WORD,DWORD) /* = NULL */;
    +WINMM_MapType  (*pFnMciMapMsg32WTo16)  (WORD,WORD,DWORD,DWORD*) /* = NULL */;
    +WINMM_MapType  (*pFnMciUnMapMsg32WTo16)(WORD,WORD,DWORD,DWORD) /* = NULL */;
     
     /* First MCI valid device ID (0 means error) */
     #define MCI_MAGIC 0x0001
     
     /* MCI settings */
    -#define HKLM_MCI "Software\\Microsoft\\Windows NT\\CurrentVersion\\MCI"
    +static const WCHAR wszHklmMci  [] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s',' ','N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','M','C','I',0};
    +static const WCHAR wszNull     [] = {0};
    +static const WCHAR wszAll      [] = {'A','L','L',0};
    +static const WCHAR wszMci      [] = {'M','C','I',0};
    +static const WCHAR wszOpen     [] = {'o','p','e','n',0};
    +static const WCHAR wszSystemIni[] = {'s','y','s','t','e','m','.','i','n','i',0};
     
     /* dup a string and uppercase it */
    -inline static LPSTR str_dup_upper( LPCSTR str )
    +inline static LPWSTR str_dup_upper( LPCWSTR str )
     {
    -    INT len = strlen(str) + 1;
    -    LPSTR p = HeapAlloc( GetProcessHeap(), 0, len );
    +    INT len = (strlenW(str) + 1) * sizeof(WCHAR);
    +    LPWSTR p = HeapAlloc( GetProcessHeap(), 0, len );
         if (p)
         {
             memcpy( p, str, len );
    -        CharUpperA( p );
    +        CharUpperW( p );
         }
         return p;
     }
    @@ -100,7 +116,7 @@ LPWINE_MCIDRIVER	MCI_GetDriver(UINT16 wDevID)
     /**************************************************************************
      * 				MCI_GetDriverFromString		[internal]
      */
    -UINT	MCI_GetDriverFromString(LPCSTR lpstrName)
    +UINT	MCI_GetDriverFromString(LPCWSTR lpstrName)
     {
         LPWINE_MCIDRIVER	wmd;
         UINT		ret = 0;
    @@ -108,20 +124,20 @@ UINT	MCI_GetDriverFromString(LPCSTR lpstrName)
         if (!lpstrName)
     	return 0;
     
    -    if (!lstrcmpiA(lpstrName, "ALL"))
    +    if (!strcmpiW(lpstrName, wszAll))
     	return MCI_ALL_DEVICE_ID;
     
         EnterCriticalSection(&WINMM_IData->cs);
         for (wmd = WINMM_IData->lpMciDrvs; wmd; wmd = wmd->lpNext) {
    -	if (wmd->lpstrElementName && strcmp(wmd->lpstrElementName, lpstrName) == 0) {
    +	if (wmd->lpstrElementName && strcmpW(wmd->lpstrElementName, lpstrName) == 0) {
     	    ret = wmd->wDeviceID;
     	    break;
     	}
    -	if (wmd->lpstrDeviceType && strcasecmp(wmd->lpstrDeviceType, lpstrName) == 0) {
    +	if (wmd->lpstrDeviceType && strcmpiW(wmd->lpstrDeviceType, lpstrName) == 0) {
     	    ret = wmd->wDeviceID;
     	    break;
     	}
    -	if (wmd->lpstrAlias && strcasecmp(wmd->lpstrAlias, lpstrName) == 0) {
    +	if (wmd->lpstrAlias && strcmpiW(wmd->lpstrAlias, lpstrName) == 0) {
     	    ret = wmd->wDeviceID;
     	    break;
     	}
    @@ -134,13 +150,26 @@ UINT	MCI_GetDriverFromString(LPCSTR lpstrName)
     /**************************************************************************
      * 			MCI_MessageToString			[internal]
      */
    -const char* MCI_MessageToString(UINT16 wMsg)
    +const char* MCI_MessageToString(UINT wMsg)
     {
         static char buffer[100];
     
     #define CASE(s) case (s): return #s
     
         switch (wMsg) {
    +        CASE(DRV_LOAD);
    +        CASE(DRV_ENABLE);
    +        CASE(DRV_OPEN);
    +        CASE(DRV_CLOSE);
    +        CASE(DRV_DISABLE);
    +        CASE(DRV_FREE);
    +        CASE(DRV_CONFIGURE);
    +        CASE(DRV_QUERYCONFIGURE);
    +        CASE(DRV_INSTALL);
    +        CASE(DRV_REMOVE);
    +        CASE(DRV_EXITSESSION);
    +        CASE(DRV_EXITAPPLICATION);
    +        CASE(DRV_POWER);
     	CASE(MCI_BREAK);
     	CASE(MCI_CLOSE);
     	CASE(MCI_CLOSE_DRIVER);
    @@ -193,23 +222,350 @@ const char* MCI_MessageToString(UINT16 wMsg)
         }
     }
     
    +LPWSTR MCI_strdupAtoW( LPCSTR str )
    +{
    +    LPWSTR ret;
    +    INT len;
    +
    +    if (!str) return NULL;
    +    len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
    +    ret = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
    +    if (ret) MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len );
    +    return ret;
    +}
    +
    +LPSTR MCI_strdupWtoA( LPCWSTR str )
    +{
    +    LPSTR ret;
    +    INT len;
    +
    +    if (!str) return NULL;
    +    len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );
    +    ret = HeapAlloc( GetProcessHeap(), 0, len );
    +    if (ret) WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
    +    return ret;
    +}
    +
    +static int MCI_MapMsgAtoW(UINT msg, DWORD_PTR dwParam1, DWORD_PTR *dwParam2)
    +{
    +    if (msg < DRV_RESERVED) return 0;
    +
    +    switch (msg)
    +    {
    +    case MCI_CLOSE:
    +    case MCI_CONFIGURE:
    +    case MCI_PLAY:
    +    case MCI_SEEK:
    +    case MCI_STOP:
    +    case MCI_PAUSE:
    +    case MCI_GETDEVCAPS:
    +    case MCI_SPIN:
    +    case MCI_SET:
    +    case MCI_STEP:
    +    case MCI_RECORD:
    +    case MCI_BREAK:
    +    case MCI_SOUND:
    +    case MCI_STATUS:
    +    case MCI_CUE:
    +    case MCI_REALIZE:
    +    case MCI_PUT:
    +    case MCI_WHERE:
    +    case MCI_FREEZE:
    +    case MCI_UNFREEZE:
    +    case MCI_CUT:
    +    case MCI_COPY:
    +    case MCI_PASTE:
    +    case MCI_UPDATE:
    +    case MCI_RESUME:
    +    case MCI_DELETE:
    +        return 0;
    +
    +    case MCI_OPEN:
    +        {
    +            MCI_OPEN_PARMSA *mci_openA = (MCI_OPEN_PARMSA*)*dwParam2;
    +            MCI_OPEN_PARMSW *mci_openW;
    +            DWORD_PTR *ptr;
    +
    +            ptr = HeapAlloc(GetProcessHeap(), 0, sizeof(DWORD_PTR) + sizeof(*mci_openW) + 2 * sizeof(DWORD));
    +            if (!ptr) return -1;
    +
    +            *ptr++ = *dwParam2; /* save the previous pointer */
    +            *dwParam2 = (DWORD_PTR)ptr;
    +            mci_openW = (MCI_OPEN_PARMSW *)ptr;
    +
    +            if (dwParam1 & MCI_NOTIFY)
    +                mci_openW->dwCallback = mci_openA->dwCallback;
    +
    +            if (dwParam1 & MCI_OPEN_TYPE)
    +            {
    +                if (dwParam1 & MCI_OPEN_TYPE_ID)
    +                    mci_openW->lpstrDeviceType = (LPWSTR)mci_openA->lpstrDeviceType;
    +                else
    +                    mci_openW->lpstrDeviceType = MCI_strdupAtoW(mci_openA->lpstrDeviceType);
    +            }
    +            if (dwParam1 & MCI_OPEN_ELEMENT)
    +            {
    +                if (dwParam1 & MCI_OPEN_ELEMENT_ID)
    +                    mci_openW->lpstrElementName = (LPWSTR)mci_openA->lpstrElementName;
    +                else
    +                    mci_openW->lpstrElementName = MCI_strdupAtoW(mci_openA->lpstrElementName);
    +            }
    +            if (dwParam1 & MCI_OPEN_ALIAS)
    +                mci_openW->lpstrAlias = MCI_strdupAtoW(mci_openA->lpstrAlias);
    +            /* FIXME: this is only needed for specific types of MCI devices, and
    +             * may cause a segfault if the two DWORD:s don't exist at the end of 
    +             * mci_openA
    +             */
    +            memcpy(mci_openW + 1, mci_openA + 1, 2 * sizeof(DWORD));
    +        }
    +        return 1;
    +
    +    case MCI_WINDOW:
    +        if (dwParam1 & MCI_ANIM_WINDOW_TEXT)
    +        {
    +            MCI_ANIM_WINDOW_PARMSA *mci_windowA = (MCI_ANIM_WINDOW_PARMSA *)*dwParam2;
    +            MCI_ANIM_WINDOW_PARMSW *mci_windowW;
    +
    +            mci_windowW = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_windowW));
    +            if (!mci_windowW) return -1;
    +
    +            *dwParam2 = (DWORD_PTR)mci_windowW;
    +
    +            mci_windowW->lpstrText = MCI_strdupAtoW(mci_windowA->lpstrText);
    +
    +            if (dwParam1 & MCI_NOTIFY)
    +                mci_windowW->dwCallback = mci_windowA->dwCallback;
    +            if (dwParam1 & MCI_ANIM_WINDOW_HWND)
    +                mci_windowW->hWnd = mci_windowA->hWnd;
    +            if (dwParam1 & MCI_ANIM_WINDOW_STATE)
    +                mci_windowW->nCmdShow = mci_windowA->nCmdShow;
    +
    +            return 1;
    +        }
    +        return 0;
    +
    +    case MCI_SYSINFO:
    +        {
    +            MCI_SYSINFO_PARMSA *mci_sysinfoA = (MCI_SYSINFO_PARMSA *)*dwParam2;
    +            MCI_SYSINFO_PARMSW *mci_sysinfoW;
    +            DWORD_PTR *ptr;
    +
    +            ptr = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_sysinfoW) + sizeof(DWORD_PTR));
    +            if (!ptr) return -1;
    +
    +            *ptr++ = *dwParam2; /* save the previous pointer */
    +            *dwParam2 = (DWORD_PTR)ptr;
    +            mci_sysinfoW = (MCI_SYSINFO_PARMSW *)ptr;
    +
    +            if (dwParam1 & MCI_NOTIFY)
    +                mci_sysinfoW->dwCallback = mci_sysinfoA->dwCallback;
    +
    +            mci_sysinfoW->dwRetSize = mci_sysinfoA->dwRetSize;
    +            mci_sysinfoW->lpstrReturn = HeapAlloc(GetProcessHeap(), 0, mci_sysinfoW->dwRetSize);
    +            mci_sysinfoW->dwNumber = mci_sysinfoA->dwNumber;
    +            mci_sysinfoW->wDeviceType = mci_sysinfoA->wDeviceType;
    +            return 1;
    +        }
    +    case MCI_INFO:
    +        {
    +            MCI_INFO_PARMSA *mci_infoA = (MCI_INFO_PARMSA *)*dwParam2;
    +            MCI_INFO_PARMSW *mci_infoW;
    +            DWORD_PTR *ptr;
    +
    +            ptr = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_infoW) + sizeof(DWORD_PTR));
    +            if (!ptr) return -1;
    +
    +            *ptr++ = *dwParam2; /* save the previous pointer */
    +            *dwParam2 = (DWORD_PTR)ptr;
    +            mci_infoW = (MCI_INFO_PARMSW *)ptr;
    +
    +            if (dwParam1 & MCI_NOTIFY)
    +                mci_infoW->dwCallback = mci_infoA->dwCallback;
    +
    +            mci_infoW->dwRetSize = mci_infoA->dwRetSize * sizeof(WCHAR); /* it's not the same as SYSINFO !!! */
    +            mci_infoW->lpstrReturn = HeapAlloc(GetProcessHeap(), 0, mci_infoW->dwRetSize);
    +            return 1;
    +        }
    +    case MCI_SAVE:
    +        {
    +            MCI_SAVE_PARMSA *mci_saveA = (MCI_SAVE_PARMSA *)*dwParam2;
    +            MCI_SAVE_PARMSW *mci_saveW;
    +
    +            mci_saveW = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_saveW));
    +            if (!mci_saveW) return -1;
    +
    +            *dwParam2 = (DWORD_PTR)mci_saveW;
    +            if (dwParam1 & MCI_NOTIFY)
    +                mci_saveW->dwCallback = mci_saveA->dwCallback;
    +            mci_saveW->lpfilename = MCI_strdupAtoW(mci_saveA->lpfilename);
    +            return 1;
    +        }
    +    case MCI_LOAD:
    +        {
    +            MCI_LOAD_PARMSA *mci_loadA = (MCI_LOAD_PARMSA *)*dwParam2;
    +            MCI_LOAD_PARMSW *mci_loadW;
    +
    +            mci_loadW = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_loadW));
    +            if (!mci_loadW) return -1;
    +
    +            *dwParam2 = (DWORD_PTR)mci_loadW;
    +            if (dwParam1 & MCI_NOTIFY)
    +                mci_loadW->dwCallback = mci_loadA->dwCallback;
    +            mci_loadW->lpfilename = MCI_strdupAtoW(mci_loadA->lpfilename);
    +            return 1;
    +        }
    +
    +    case MCI_ESCAPE:
    +        {
    +            MCI_VD_ESCAPE_PARMSA *mci_vd_escapeA = (MCI_VD_ESCAPE_PARMSA *)*dwParam2;
    +            MCI_VD_ESCAPE_PARMSW *mci_vd_escapeW;
    +
    +            mci_vd_escapeW = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_vd_escapeW));
    +            if (!mci_vd_escapeW) return -1;
    +
    +            *dwParam2 = (DWORD_PTR)mci_vd_escapeW;
    +            if (dwParam1 & MCI_NOTIFY)
    +                mci_vd_escapeW->dwCallback = mci_vd_escapeA->dwCallback;
    +            mci_vd_escapeW->lpstrCommand = MCI_strdupAtoW(mci_vd_escapeA->lpstrCommand);
    +            return 1;
    +        }
    +    default:
    +        FIXME("Message %s needs translation\n", MCI_MessageToString(msg));
    +        return -1;
    +    }
    +}
    +
    +static DWORD MCI_UnmapMsgAtoW(UINT msg, DWORD_PTR dwParam1, DWORD_PTR dwParam2,
    +                              DWORD result)
    +{
    +    switch (msg)
    +    {
    +    case MCI_OPEN:
    +        {
    +            DWORD_PTR *ptr = (DWORD_PTR *)dwParam2 - 1;
    +            MCI_OPEN_PARMSA *mci_openA = (MCI_OPEN_PARMSA *)*ptr;
    +            MCI_OPEN_PARMSW *mci_openW = (MCI_OPEN_PARMSW *)(ptr + 1);
    +
    +            mci_openA->wDeviceID = mci_openW->wDeviceID;
    +
    +            if (dwParam1 & MCI_OPEN_TYPE)
    +            {
    +                if (!(dwParam1 & MCI_OPEN_TYPE_ID))
    +                    HeapFree(GetProcessHeap(), 0, mci_openW->lpstrDeviceType);
    +            }
    +            if (dwParam1 & MCI_OPEN_ELEMENT)
    +            {
    +                if (!(dwParam1 & MCI_OPEN_ELEMENT_ID))
    +                    HeapFree(GetProcessHeap(), 0, mci_openW->lpstrElementName);
    +            }
    +            if (dwParam1 & MCI_OPEN_ALIAS)
    +                HeapFree(GetProcessHeap(), 0, mci_openW->lpstrAlias);
    +            HeapFree(GetProcessHeap(), 0, ptr);
    +        }
    +        break;
    +    case MCI_WINDOW:
    +        if (dwParam1 & MCI_ANIM_WINDOW_TEXT)
    +        {
    +            MCI_ANIM_WINDOW_PARMSW *mci_windowW = (MCI_ANIM_WINDOW_PARMSW *)dwParam2;
    +
    +            HeapFree(GetProcessHeap(), 0, (void*)mci_windowW->lpstrText);
    +            HeapFree(GetProcessHeap(), 0, mci_windowW);
    +        }
    +        break;
    +
    +    case MCI_SYSINFO:
    +        {
    +            DWORD_PTR *ptr = (DWORD_PTR *)dwParam2 - 1;
    +            MCI_SYSINFO_PARMSA *mci_sysinfoA = (MCI_SYSINFO_PARMSA *)*ptr;
    +            MCI_SYSINFO_PARMSW *mci_sysinfoW = (MCI_SYSINFO_PARMSW *)(ptr + 1);
    +
    +            if (!result)
    +            {
    +                mci_sysinfoA->dwNumber = mci_sysinfoW->dwNumber;
    +                mci_sysinfoA->wDeviceType = mci_sysinfoW->wDeviceType;
    +                if (dwParam1 & MCI_SYSINFO_QUANTITY)
    +                    *(DWORD*)mci_sysinfoA->lpstrReturn = *(DWORD*)mci_sysinfoW->lpstrReturn;
    +                else
    +                    WideCharToMultiByte(CP_ACP, 0,
    +                                        mci_sysinfoW->lpstrReturn, mci_sysinfoW->dwRetSize,
    +                                        mci_sysinfoA->lpstrReturn, mci_sysinfoA->dwRetSize,
    +                                        NULL, NULL);
    +            }
    +
    +            HeapFree(GetProcessHeap(), 0, mci_sysinfoW->lpstrReturn);
    +            HeapFree(GetProcessHeap(), 0, ptr);
    +        }
    +        break;
    +    case MCI_INFO:
    +        {
    +            DWORD_PTR *ptr = (DWORD_PTR *)dwParam2 - 1;
    +            MCI_INFO_PARMSA *mci_infoA = (MCI_INFO_PARMSA *)*ptr;
    +            MCI_INFO_PARMSW *mci_infoW = (MCI_INFO_PARMSW *)(ptr + 1);
    +
    +            if (!result)
    +            {
    +                WideCharToMultiByte(CP_ACP, 0,
    +                                    mci_infoW->lpstrReturn, mci_infoW->dwRetSize / sizeof(WCHAR),
    +                                    mci_infoA->lpstrReturn, mci_infoA->dwRetSize,
    +                                    NULL, NULL);
    +            }
    +
    +            HeapFree(GetProcessHeap(), 0, mci_infoW->lpstrReturn);
    +            HeapFree(GetProcessHeap(), 0, ptr);
    +        }
    +        break;
    +    case MCI_SAVE:
    +        {
    +            MCI_SAVE_PARMSW *mci_saveW = (MCI_SAVE_PARMSW *)dwParam2;
    +
    +            HeapFree(GetProcessHeap(), 0, (void*)mci_saveW->lpfilename);
    +            HeapFree(GetProcessHeap(), 0, mci_saveW);
    +        }
    +        break;
    +    case MCI_LOAD:
    +        {
    +            MCI_LOAD_PARMSW *mci_loadW = (MCI_LOAD_PARMSW *)dwParam2;
    +
    +            HeapFree(GetProcessHeap(), 0, (void*)mci_loadW->lpfilename);
    +            HeapFree(GetProcessHeap(), 0, mci_loadW);
    +        }
    +        break;
    +    case MCI_ESCAPE:
    +        {
    +            MCI_VD_ESCAPE_PARMSW *mci_vd_escapeW = (MCI_VD_ESCAPE_PARMSW *)dwParam2;
    +
    +            HeapFree(GetProcessHeap(), 0, (void*)mci_vd_escapeW->lpstrCommand);
    +            HeapFree(GetProcessHeap(), 0, mci_vd_escapeW);
    +        }
    +        break;
    +
    +    default:
    +        FIXME("Message %s needs unmapping\n", MCI_MessageToString(msg));
    +        break;
    +    }
    +
    +    return result;
    +}
    +
     /**************************************************************************
      * 				MCI_GetDevTypeFromFileName	[internal]
      */
    -static	DWORD	MCI_GetDevTypeFromFileName(LPCSTR fileName, LPSTR buf, UINT len)
    +static	DWORD	MCI_GetDevTypeFromFileName(LPCWSTR fileName, LPCWSTR buf, UINT len)
     {
    -    LPSTR	tmp;
    +    LPCWSTR	tmp;
         HKEY	hKey;
    -
    -    if ((tmp = strrchr(fileName, '.'))) {
    -	if (RegOpenKeyExA( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\MCI Extensions",
    +    static const WCHAR keyW[] = {'S','O','F','T','W','A','R','E','\\','M','i','c','r','o','s','o','f','t','\\',
    +                                 'W','i','n','d','o','w','s',' ','N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
    +                                 'M','C','I',' ','E','x','t','e','n','s','i','o','n','s',0};
    +    if ((tmp = strrchrW(fileName, '.'))) {
    +	if (RegOpenKeyExW( HKEY_LOCAL_MACHINE, keyW,
     			   0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS) {
     	    DWORD dwLen = len;
    -	    LONG lRet = RegQueryValueExA( hKey, tmp + 1, 0, 0, buf, &dwLen ); 
    +	    LONG lRet = RegQueryValueExW( hKey, tmp + 1, 0, 0, (void*)buf, &dwLen ); 
     	    RegCloseKey( hKey );
     	    if (lRet == ERROR_SUCCESS) return 0;
             }
    -	TRACE("No ...\\MCI Extensions entry for '%s' found.\n", tmp);
    +	TRACE("No ...\\MCI Extensions entry for %s found.\n", debugstr_w(tmp));
         }
         return MCIERR_EXTENSION_NOT_FOUND;
     }
    @@ -219,9 +575,9 @@ static	DWORD	MCI_GetDevTypeFromFileName(LPCSTR fileName, LPSTR buf, UINT len)
     
     typedef struct tagWINE_MCICMDTABLE {
         UINT		uDevType;
    -    LPCSTR		lpTable;
    +    const BYTE*		lpTable;
         UINT		nVerbs;		/* number of verbs in command table */
    -    LPCSTR*		aVerbs;		/* array of verbs to speed up the verb look up process */
    +    LPCWSTR*		aVerbs;		/* array of verbs to speed up the verb look up process */
     } WINE_MCICMDTABLE, *LPWINE_MCICMDTABLE;
     
     static WINE_MCICMDTABLE S_MciCmdTable[MAX_MCICMDTABLE];
    @@ -231,7 +587,8 @@ static WINE_MCICMDTABLE S_MciCmdTable[MAX_MCICMDTABLE];
      */
     static	BOOL		MCI_IsCommandTableValid(UINT uTbl)
     {
    -    LPCSTR	lmem, str;
    +    const BYTE* lmem;
    +    LPCWSTR     str;
         DWORD	flg;
         WORD	eid;
         int		idx = 0;
    @@ -245,28 +602,26 @@ static	BOOL		MCI_IsCommandTableValid(UINT uTbl)
     
         lmem = S_MciCmdTable[uTbl].lpTable;
         do {
    -	do {
    -	    str = lmem;
    -	    lmem += strlen(lmem) + 1;
    -	    flg = *(const DWORD*)lmem;
    -	    eid = *(const WORD*)(lmem + sizeof(DWORD));
    -	    lmem += sizeof(DWORD) + sizeof(WORD);
    -	    idx ++;
    -	    /* EPP 	    TRACE("cmd='%s' %08lx %04x\n", str, flg, eid); */
    -	    switch (eid) {
    -	    case MCI_COMMAND_HEAD:	if (!*str || !flg) return FALSE; idx = 0;			break;	/* check unicity of str in table */
    -	    case MCI_STRING:            if (inCst) return FALSE;					break;
    -	    case MCI_INTEGER:           if (!*str) return FALSE;					break;
    -	    case MCI_END_COMMAND:       if (*str || flg || idx == 0) return FALSE; idx = 0;		break;
    -	    case MCI_RETURN:		if (*str || idx != 1) return FALSE;				break;
    -	    case MCI_FLAG:		if (!*str) return FALSE;					break;
    -	    case MCI_END_COMMAND_LIST:	if (*str || flg) return FALSE;	idx = 0;			break;
    -	    case MCI_RECT:		if (!*str || inCst) return FALSE;				break;
    -	    case MCI_CONSTANT:          if (inCst) return FALSE; inCst = TRUE;				break;
    -	    case MCI_END_CONSTANT:	if (*str || flg || !inCst) return FALSE; inCst = FALSE;		break;
    -	    default:			return FALSE;
    -	    }
    -	} while (eid != MCI_END_COMMAND_LIST);
    +        str = (LPCWSTR)lmem;
    +        lmem += (strlenW(str) + 1) * sizeof(WCHAR);
    +        flg = *(const DWORD*)lmem;
    +        eid = *(const WORD*)(lmem + sizeof(DWORD));
    +        lmem += sizeof(DWORD) + sizeof(WORD);
    +        idx ++;
    +        /* TRACE("cmd=%s %08lx %04x\n", debugstr_w(str), flg, eid); */
    +        switch (eid) {
    +        case MCI_COMMAND_HEAD:          if (!*str || !flg) return FALSE; idx = 0;		break;	/* check unicity of str in table */
    +        case MCI_STRING:                if (inCst) return FALSE;				break;
    +        case MCI_INTEGER:               if (!*str) return FALSE;				break;
    +        case MCI_END_COMMAND:           if (*str || flg || idx == 0) return FALSE; idx = 0;	break;
    +        case MCI_RETURN:		if (*str || idx != 1) return FALSE;			break;
    +        case MCI_FLAG:		        if (!*str) return FALSE;				break;
    +        case MCI_END_COMMAND_LIST:	if (*str || flg) return FALSE;	idx = 0;		break;
    +        case MCI_RECT:		        if (!*str || inCst) return FALSE;			break;
    +        case MCI_CONSTANT:              if (inCst) return FALSE; inCst = TRUE;			break;
    +        case MCI_END_CONSTANT:	        if (*str || flg || !inCst) return FALSE; inCst = FALSE; break;
    +        default:			return FALSE;
    +        }
         } while (eid != MCI_END_COMMAND_LIST);
         return TRUE;
     }
    @@ -276,8 +631,8 @@ static	BOOL		MCI_IsCommandTableValid(UINT uTbl)
      */
     static	BOOL		MCI_DumpCommandTable(UINT uTbl)
     {
    -    LPCSTR	lmem;
    -    LPCSTR	str;
    +    const BYTE*	lmem;
    +    LPCWSTR	str;
         DWORD	flg;
         WORD	eid;
     
    @@ -289,14 +644,14 @@ static	BOOL		MCI_DumpCommandTable(UINT uTbl)
         lmem = S_MciCmdTable[uTbl].lpTable;
         do {
     	do {
    -	    str = lmem;
    -	    lmem += strlen(lmem) + 1;
    +	    str = (LPCWSTR)lmem;
    +	    lmem += (strlenW(str) + 1) * sizeof(WCHAR);
     	    flg = *(const DWORD*)lmem;
     	    eid = *(const WORD*)(lmem + sizeof(DWORD));
    -	    TRACE("cmd='%s' %08lx %04x\n", str, flg, eid);
    +            /* TRACE("cmd=%s %08lx %04x\n", debugstr_w(str), flg, eid); */
     	    lmem += sizeof(DWORD) + sizeof(WORD);
     	} while (eid != MCI_END_COMMAND && eid != MCI_END_COMMAND_LIST);
    -	TRACE(" => end of command%s\n", (eid == MCI_END_COMMAND_LIST) ? " list" : "");
    +        /* EPP TRACE(" => end of command%s\n", (eid == MCI_END_COMMAND_LIST) ? " list" : ""); */
         } while (eid != MCI_END_COMMAND_LIST);
         return TRUE;
     }
    @@ -308,8 +663,8 @@ static	BOOL		MCI_DumpCommandTable(UINT uTbl)
     static	UINT		MCI_GetCommandTable(UINT uDevType)
     {
         UINT	uTbl;
    -    char	buf[32];
    -    LPCSTR	str = NULL;
    +    WCHAR	buf[32];
    +    LPCWSTR	str = NULL;
     
         /* first look up existing for existing devType */
         for (uTbl = 0; uTbl < MAX_MCICMDTABLE; uTbl++) {
    @@ -319,15 +674,16 @@ static	UINT		MCI_GetCommandTable(UINT uDevType)
     
         /* well try to load id */
         if (uDevType >= MCI_DEVTYPE_FIRST && uDevType <= MCI_DEVTYPE_LAST) {
    -	if (LoadStringA(WINMM_IData->hWinMM32Instance, uDevType, buf, sizeof(buf))) {
    +	if (LoadStringW(WINMM_IData->hWinMM32Instance, uDevType, buf, sizeof(buf) / sizeof(WCHAR))) {
     	    str = buf;
     	}
         } else if (uDevType == 0) {
    -	str = "CORE";
    +        static const WCHAR wszCore[] = {'C','O','R','E',0};
    +	str = wszCore;
         }
         uTbl = MCI_NO_COMMAND_TABLE;
         if (str) {
    -	HRSRC 	hRsrc = FindResourceA(WINMM_IData->hWinMM32Instance, str, (LPCSTR)RT_RCDATA);
    +	HRSRC 	hRsrc = FindResourceW(WINMM_IData->hWinMM32Instance, str, (LPCWSTR)RT_RCDATA);
     	HANDLE	hMem = 0;
     
     	if (hRsrc) hMem = LoadResource(WINMM_IData->hWinMM32Instance, hRsrc);
    @@ -335,7 +691,7 @@ static	UINT		MCI_GetCommandTable(UINT uDevType)
     	    uTbl = MCI_SetCommandTable(LockResource(hMem), uDevType);
     	} else {
     	    WARN("No command table found in resource %p[%s]\n",
    -		 WINMM_IData->hWinMM32Instance, str);
    +		 WINMM_IData->hWinMM32Instance, debugstr_w(str));
     	}
         }
         TRACE("=> %d\n", uTbl);
    @@ -359,10 +715,11 @@ UINT MCI_SetCommandTable(void *table, UINT uDevType)
     	bInitDone = TRUE;
     	MCI_GetCommandTable(0);
         }
    -
    +    TRACE("(%p, %u)\n", table, uDevType);
         for (uTbl = 0; uTbl < MAX_MCICMDTABLE; uTbl++) {
     	if (!S_MciCmdTable[uTbl].lpTable) {
    -	    LPCSTR 	lmem, str;
    +	    const BYTE* lmem;
    +	    LPCWSTR 	str;
     	    WORD	eid;
     	    WORD	count;
     
    @@ -378,21 +735,22 @@ UINT MCI_SetCommandTable(void *table, UINT uDevType)
     	    lmem = S_MciCmdTable[uTbl].lpTable;
     	    count = 0;
     	    do {
    -		lmem += strlen(lmem) + 1;
    +		str = (LPCWSTR)lmem;
    +		lmem += (strlenW(str) + 1) * sizeof(WCHAR);
     		eid = *(const WORD*)(lmem + sizeof(DWORD));
     		lmem += sizeof(DWORD) + sizeof(WORD);
     		if (eid == MCI_COMMAND_HEAD)
     		    count++;
     	    } while (eid != MCI_END_COMMAND_LIST);
     
    -	    S_MciCmdTable[uTbl].aVerbs = HeapAlloc(GetProcessHeap(), 0, count * sizeof(LPCSTR));
    +	    S_MciCmdTable[uTbl].aVerbs = HeapAlloc(GetProcessHeap(), 0, count * sizeof(LPCWSTR));
     	    S_MciCmdTable[uTbl].nVerbs = count;
     
     	    lmem = S_MciCmdTable[uTbl].lpTable;
     	    count = 0;
     	    do {
    -		str = lmem;
    -		lmem += strlen(lmem) + 1;
    +		str = (LPCWSTR)lmem;
    +		lmem += (strlenW(str) + 1) * sizeof(WCHAR);
     		eid = *(const WORD*)(lmem + sizeof(DWORD));
     		lmem += sizeof(DWORD) + sizeof(WORD);
     		if (eid == MCI_COMMAND_HEAD)
    @@ -409,11 +767,12 @@ UINT MCI_SetCommandTable(void *table, UINT uDevType)
     /**************************************************************************
      * 				MCI_DeleteCommandTable		[internal]
      */
    -static	BOOL	MCI_DeleteCommandTable(UINT uTbl)
    +BOOL	MCI_DeleteCommandTable(UINT uTbl, BOOL delete)
     {
         if (uTbl >= MAX_MCICMDTABLE || !S_MciCmdTable[uTbl].lpTable)
     	return FALSE;
     
    +    if (delete) HeapFree(GetProcessHeap(), 0, (void*)S_MciCmdTable[uTbl].lpTable);
         S_MciCmdTable[uTbl].lpTable = NULL;
         HeapFree(GetProcessHeap(), 0, S_MciCmdTable[uTbl].aVerbs);
         S_MciCmdTable[uTbl].aVerbs = 0;
    @@ -455,33 +814,33 @@ static	BOOL	MCI_UnLoadMciDriver(LPWINE_MCIDRIVER wmd)
     /**************************************************************************
      * 				MCI_OpenMciDriver		[internal]
      */
    -static	BOOL	MCI_OpenMciDriver(LPWINE_MCIDRIVER wmd, LPCSTR drvTyp, LPARAM lp)
    +static	BOOL	MCI_OpenMciDriver(LPWINE_MCIDRIVER wmd, LPCWSTR drvTyp, LPARAM lp)
     {
    -    char	libName[128];
    +    WCHAR	libName[128];
     
    -    if (!DRIVER_GetLibName(drvTyp, "mci", libName, sizeof(libName)))
    +    if (!DRIVER_GetLibName(drvTyp, wszMci, libName, sizeof(libName)))
     	return FALSE;
     
         wmd->bIs32 = 0xFFFF;
         /* First load driver */
         if ((wmd->hDriver = (HDRVR)DRIVER_TryOpenDriver32(libName, lp))) {
     	wmd->bIs32 = TRUE;
    -    } else if (WINMM_CheckForMMSystem() && pFnMciMapMsg32ATo16) {
    +    } else if (WINMM_CheckForMMSystem() && pFnMciMapMsg32WTo16) {
     	WINMM_MapType 	res;
     
    -	switch (res = pFnMciMapMsg32ATo16(0, DRV_OPEN, 0, &lp)) {
    +	switch (res = pFnMciMapMsg32WTo16(0, DRV_OPEN, 0, &lp)) {
     	case WINMM_MAP_MSGERROR:
     	    TRACE("Not handled yet (DRV_OPEN)\n");
     	    break;
     	case WINMM_MAP_NOMEM:
    -	    TRACE("Problem mapping msg=DRV_OPEN from 32a to 16\n");
    +	    TRACE("Problem mapping msg=DRV_OPEN from 32W to 16\n");
     	    break;
     	case WINMM_MAP_OK:
     	case WINMM_MAP_OKMEM:
    -	    if ((wmd->hDriver = OpenDriverA(drvTyp, "mci", lp)))
    +	    if ((wmd->hDriver = OpenDriver(drvTyp, wszMci, lp)))
     		wmd->bIs32 = FALSE;
     	    if (res == WINMM_MAP_OKMEM)
    -		pFnMciUnMapMsg32ATo16(0, DRV_OPEN, 0, lp);
    +		pFnMciUnMapMsg32WTo16(0, DRV_OPEN, 0, lp);
     	    break;
     	}
         }
    @@ -491,11 +850,11 @@ static	BOOL	MCI_OpenMciDriver(LPWINE_MCIDRIVER wmd, LPCSTR drvTyp, LPARAM lp)
     /**************************************************************************
      * 				MCI_LoadMciDriver		[internal]
      */
    -static	DWORD	MCI_LoadMciDriver(LPCSTR _strDevTyp, LPWINE_MCIDRIVER* lpwmd)
    +static	DWORD	MCI_LoadMciDriver(LPCWSTR _strDevTyp, LPWINE_MCIDRIVER* lpwmd)
     {
    -    LPSTR			strDevTyp = str_dup_upper(_strDevTyp);
    +    LPWSTR			strDevTyp = str_dup_upper(_strDevTyp);
         LPWINE_MCIDRIVER		wmd = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wmd));
    -    MCI_OPEN_DRIVER_PARMSA	modp;
    +    MCI_OPEN_DRIVER_PARMSW	modp;
         DWORD			dwRet = 0;
     
         if (!wmd || !strDevTyp) {
    @@ -530,13 +889,13 @@ static	DWORD	MCI_LoadMciDriver(LPCSTR _strDevTyp, LPWINE_MCIDRIVER* lpwmd)
     	/* silence warning if all is used... some bogus program use commands like
     	 * 'open all'...
     	 */
    -	if (strcasecmp(strDevTyp, "all") == 0) {
    +	if (strcmpiW(strDevTyp, wszAll) == 0) {
     	    dwRet = MCIERR_CANNOT_USE_ALL;
     	} else {
     	    FIXME("Couldn't load driver for type %s.\n"
     		  "If you don't have a windows installation accessible from Wine,\n"
     		  "you perhaps forgot to create a [mci] section in system.ini\n",
    -		  strDevTyp);
    +		  debugstr_w(strDevTyp));
     	    dwRet = MCIERR_DEVICE_NOT_INSTALLED;
     	}
     	goto errCleanUp;
    @@ -551,7 +910,7 @@ static	DWORD	MCI_LoadMciDriver(LPCSTR _strDevTyp, LPWINE_MCIDRIVER* lpwmd)
         wmd->uTypeCmdTable = MCI_COMMAND_TABLE_NOT_LOADED;
     
         TRACE("Loaded driver %p (%s), type is %d, cmdTable=%08x\n",
    -	  wmd->hDriver, strDevTyp, modp.wType, modp.wCustomCommandTable);
    +	  wmd->hDriver, debugstr_w(strDevTyp), modp.wType, modp.wCustomCommandTable);
     
         wmd->lpstrDeviceType = strDevTyp;
         wmd->wType = modp.wType;
    @@ -570,18 +929,18 @@ errCleanUp:
     /**************************************************************************
      * 			MCI_FinishOpen				[internal]
      */
    -static	DWORD	MCI_FinishOpen(LPWINE_MCIDRIVER wmd, LPMCI_OPEN_PARMSA lpParms,
    +static	DWORD	MCI_FinishOpen(LPWINE_MCIDRIVER wmd, LPMCI_OPEN_PARMSW lpParms,
     			       DWORD dwParam)
     {
         if (dwParam & MCI_OPEN_ELEMENT)
         {
    -        wmd->lpstrElementName = HeapAlloc(GetProcessHeap(),0,strlen(lpParms->lpstrElementName)+1);
    -        strcpy( wmd->lpstrElementName, lpParms->lpstrElementName );
    +        wmd->lpstrElementName = HeapAlloc(GetProcessHeap(),0,(strlenW(lpParms->lpstrElementName)+1) * sizeof(WCHAR));
    +        strcpyW( wmd->lpstrElementName, lpParms->lpstrElementName );
         }
         if (dwParam & MCI_OPEN_ALIAS)
         {
    -        wmd->lpstrAlias = HeapAlloc(GetProcessHeap(), 0, strlen(lpParms->lpstrAlias)+1);
    -        strcpy( wmd->lpstrAlias, lpParms->lpstrAlias);
    +        wmd->lpstrAlias = HeapAlloc(GetProcessHeap(), 0, (strlenW(lpParms->lpstrAlias)+1) * sizeof(WCHAR));
    +        strcpyW( wmd->lpstrAlias, lpParms->lpstrAlias);
         }
         lpParms->wDeviceID = wmd->wDeviceID;
     
    @@ -592,7 +951,7 @@ static	DWORD	MCI_FinishOpen(LPWINE_MCIDRIVER wmd, LPMCI_OPEN_PARMSA lpParms,
     /**************************************************************************
      * 				MCI_FindCommand		[internal]
      */
    -static	LPCSTR		MCI_FindCommand(UINT uTbl, LPCSTR verb)
    +static	LPCWSTR		MCI_FindCommand(UINT uTbl, LPCWSTR verb)
     {
         UINT	idx;
     
    @@ -604,7 +963,7 @@ static	LPCSTR		MCI_FindCommand(UINT uTbl, LPCSTR verb)
          * array look up
          */
         for (idx = 0; idx < S_MciCmdTable[uTbl].nVerbs; idx++) {
    -	if (strcasecmp(S_MciCmdTable[uTbl].aVerbs[idx], verb) == 0)
    +	if (strcmpiW(S_MciCmdTable[uTbl].aVerbs[idx], verb) == 0)
     	    return S_MciCmdTable[uTbl].aVerbs[idx];
         }
     
    @@ -614,9 +973,9 @@ static	LPCSTR		MCI_FindCommand(UINT uTbl, LPCSTR verb)
     /**************************************************************************
      * 				MCI_GetReturnType		[internal]
      */
    -static	DWORD		MCI_GetReturnType(LPCSTR lpCmd)
    +static	DWORD		MCI_GetReturnType(LPCWSTR lpCmd)
     {
    -    lpCmd += strlen(lpCmd) + 1 + sizeof(DWORD) + sizeof(WORD);
    +    lpCmd += strlenW(lpCmd) + 1 + sizeof(DWORD) + sizeof(WORD);
         if (*lpCmd == '\0' && *(const WORD*)(lpCmd + 1 + sizeof(DWORD)) == MCI_RETURN) {
     	return *(const DWORD*)(lpCmd + 1);
         }
    @@ -626,20 +985,20 @@ static	DWORD		MCI_GetReturnType(LPCSTR lpCmd)
     /**************************************************************************
      * 				MCI_GetMessage			[internal]
      */
    -static	WORD		MCI_GetMessage(LPCSTR lpCmd)
    +static	WORD		MCI_GetMessage(LPCWSTR lpCmd)
     {
    -    return (WORD)*(const DWORD*)(lpCmd + strlen(lpCmd) + 1);
    +    return (WORD)*(const DWORD*)(lpCmd + strlenW(lpCmd) + 1);
     }
     
     /**************************************************************************
      * 				MCI_GetDWord			[internal]
      */
    -static	BOOL		MCI_GetDWord(LPDWORD data, LPSTR* ptr)
    +static	BOOL		MCI_GetDWord(LPDWORD data, LPWSTR* ptr)
     {
         DWORD	val;
    -    LPSTR	ret;
    +    LPWSTR	ret;
     
    -    val = strtoul(*ptr, &ret, 0);
    +    val = strtoulW(*ptr, &ret, 0);
     
         switch (*ret) {
         case '\0':	break;
    @@ -655,13 +1014,13 @@ static	BOOL		MCI_GetDWord(LPDWORD data, LPSTR* ptr)
     /**************************************************************************
      * 				MCI_GetString		[internal]
      */
    -static	DWORD	MCI_GetString(LPSTR* str, LPSTR* args)
    +static	DWORD	MCI_GetString(LPWSTR* str, LPWSTR* args)
     {
    -    LPSTR	ptr = *args;
    +    LPWSTR      ptr = *args;
     
         /* see if we have a quoted string */
         if (*ptr == '"') {
    -	ptr = strchr(*str = ptr + 1, '"');
    +	ptr = strchrW(*str = ptr + 1, '"');
     	if (!ptr) return MCIERR_NO_CLOSING_QUOTE;
     	/* FIXME: shall we escape \" from string ?? */
     	if (ptr[-1] == '\\') TRACE("Ooops: un-escaped \"\n");
    @@ -669,12 +1028,12 @@ static	DWORD	MCI_GetString(LPSTR* str, LPSTR* args)
     	if (*ptr != ' ' && *ptr != '\0') return MCIERR_EXTRA_CHARACTERS;
     	*ptr++ = '\0';
         } else {
    -	ptr = strchr(ptr, ' ');
    +	ptr = strchrW(ptr, ' ');
     
     	if (ptr) {
     	    *ptr++ = '\0';
     	} else {
    -	    ptr = *args + strlen(*args);
    +	    ptr = *args + strlenW(*args);
     	}
     	*str = *args;
         }
    @@ -688,32 +1047,33 @@ static	DWORD	MCI_GetString(LPSTR* str, LPSTR* args)
     /**************************************************************************
      * 				MCI_ParseOptArgs		[internal]
      */
    -static	DWORD	MCI_ParseOptArgs(LPDWORD data, int _offset, LPCSTR lpCmd,
    -				 LPSTR args, LPDWORD dwFlags)
    +static	DWORD	MCI_ParseOptArgs(LPDWORD data, int _offset, LPCWSTR lpCmd,
    +				 LPWSTR args, LPDWORD dwFlags)
     {
         int		len, offset;
    -    LPCSTR	lmem, str;
    +    const char* lmem;
    +    LPCWSTR     str;
         DWORD	dwRet, flg, cflg = 0;
         WORD	eid;
         BOOL	inCst, found;
     
         /* loop on arguments */
         while (*args) {
    -	lmem = lpCmd;
    +	lmem = (const char*)lpCmd;
     	found = inCst = FALSE;
     	offset = _offset;
     
     	/* skip any leading white space(s) */
     	while (*args == ' ') args++;
    -	TRACE("args='%s' offset=%d\n", args, offset);
    +	TRACE("args=%s offset=%d\n", debugstr_w(args), offset);
     
     	do { /* loop on options for command table for the requested verb */
    -	    str = lmem;
    -	    lmem += (len = strlen(lmem)) + 1;
    +	    str = (LPCWSTR)lmem;
    +	    lmem += ((len = strlenW(str)) + 1) * sizeof(WCHAR);
     	    flg = *(const DWORD*)lmem;
     	    eid = *(const WORD*)(lmem + sizeof(DWORD));
     	    lmem += sizeof(DWORD) + sizeof(WORD);
    -/* EPP 	    TRACE("\tcmd='%s' inCst=%c eid=%04x\n", str, inCst ? 'Y' : 'N', eid); */
    +            /* TRACE("\tcmd=%s inCst=%c eid=%04x\n", debugstr_w(str), inCst ? 'Y' : 'N', eid); */
     
     	    switch (eid) {
     	    case MCI_CONSTANT:
    @@ -727,7 +1087,7 @@ static	DWORD	MCI_ParseOptArgs(LPDWORD data, int _offset, LPCSTR lpCmd,
     		break;
     	    }
     
    -	    if (strncasecmp(args, str, len) == 0 &&
    +	    if (strncmpiW(args, str, len) == 0 &&
     		(args[len] == 0 || args[len] == ' ')) {
     		/* store good values into data[] */
     		args += len;
    @@ -764,13 +1124,13 @@ static	DWORD	MCI_ParseOptArgs(LPDWORD data, int _offset, LPCSTR lpCmd,
     			!MCI_GetDWord(&(data[offset+1]), &args) ||
     			!MCI_GetDWord(&(data[offset+2]), &args) ||
     			!MCI_GetDWord(&(data[offset+3]), &args)) {
    -			ERR("Bad rect '%s'\n", args);
    +			ERR("Bad rect %s\n", debugstr_w(args));
     			return MCIERR_BAD_INTEGER;
     		    }
     		    break;
     		case MCI_STRING:
     		    *dwFlags |= flg;
    -		    if ((dwRet = MCI_GetString((LPSTR*)&data[offset], &args)))
    +		    if ((dwRet = MCI_GetString((LPWSTR*)&data[offset], &args)))
     			return dwRet;
     		    break;
     		default:	ERR("oops\n");
    @@ -795,7 +1155,7 @@ static	DWORD	MCI_ParseOptArgs(LPDWORD data, int _offset, LPCSTR lpCmd,
     	    }
     	} while (eid != MCI_END_COMMAND);
     	if (!found) {
    -	    WARN("Optarg '%s' not found\n", args);
    +	    WARN("Optarg %s not found\n", debugstr_w(args));
     	    return MCIERR_UNRECOGNIZED_COMMAND;
     	}
     	if (offset == MCI_DATA_SIZE) {
    @@ -810,8 +1170,13 @@ static	DWORD	MCI_ParseOptArgs(LPDWORD data, int _offset, LPCSTR lpCmd,
      * 				MCI_HandleReturnValues	[internal]
      */
     static	DWORD	MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD retType, 
    -                                       LPDWORD data, LPSTR lpstrRet, UINT uRetLen)
    +                                       LPDWORD data, LPWSTR lpstrRet, UINT uRetLen)
     {
    +    static const WCHAR wszLd  [] = {'%','l','d',0};
    +    static const WCHAR wszLd4 [] = {'%','l','d',' ','%','l','d',' ','%','l','d',' ','%','l','d',0};
    +    static const WCHAR wszCol3[] = {'%','d',':','%','d',':','%','d',0};
    +    static const WCHAR wszCol4[] = {'%','d',':','%','d',':','%','d',':','%','d',0};
    +
         if (lpstrRet) {
     	switch (retType) {
     	case 0: /* nothing to return */
    @@ -820,30 +1185,30 @@ static	DWORD	MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
     	    switch (dwRet & 0xFFFF0000ul) {
     	    case 0:
     	    case MCI_INTEGER_RETURNED:
    -		snprintf(lpstrRet, uRetLen, "%ld", data[1]);
    +		snprintfW(lpstrRet, uRetLen, wszLd, data[1]);
     		break;
     	    case MCI_RESOURCE_RETURNED:
     		/* return string which ID is HIWORD(data[1]),
     		 * string is loaded from mmsystem.dll */
    -		LoadStringA(WINMM_IData->hWinMM32Instance, HIWORD(data[1]),
    +		LoadStringW(WINMM_IData->hWinMM32Instance, HIWORD(data[1]),
     			    lpstrRet, uRetLen);
     		break;
     	    case MCI_RESOURCE_RETURNED|MCI_RESOURCE_DRIVER:
     		/* return string which ID is HIWORD(data[1]),
     		 * string is loaded from driver */
     		/* FIXME: this is wrong for a 16 bit handle */
    -		LoadStringA(GetDriverModuleHandle(wmd->hDriver),
    +		LoadStringW(GetDriverModuleHandle(wmd->hDriver),
     			    HIWORD(data[1]), lpstrRet, uRetLen);
     		break;
     	    case MCI_COLONIZED3_RETURN:
    -		snprintf(lpstrRet, uRetLen, "%d:%d:%d",
    -			 LOBYTE(LOWORD(data[1])), HIBYTE(LOWORD(data[1])),
    -			 LOBYTE(HIWORD(data[1])));
    +		snprintfW(lpstrRet, uRetLen, wszCol3,
    +			  LOBYTE(LOWORD(data[1])), HIBYTE(LOWORD(data[1])),
    +			  LOBYTE(HIWORD(data[1])));
     		break;
     	    case MCI_COLONIZED4_RETURN:
    -		snprintf(lpstrRet, uRetLen, "%d:%d:%d:%d",
    -			 LOBYTE(LOWORD(data[1])), HIBYTE(LOWORD(data[1])),
    -			 LOBYTE(HIWORD(data[1])), HIBYTE(HIWORD(data[1])));
    +		snprintfW(lpstrRet, uRetLen, wszCol4,
    +			  LOBYTE(LOWORD(data[1])), HIBYTE(LOWORD(data[1])),
    +			  LOBYTE(HIWORD(data[1])), HIBYTE(HIWORD(data[1])));
     		break;
     	    default:	ERR("Ooops (%04X)\n", HIWORD(dwRet));
     	    }
    @@ -855,7 +1220,7 @@ static	DWORD	MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
     		break;
     	    case MCI_INTEGER_RETURNED:
     		data[1] = *(LPDWORD)lpstrRet;
    -		snprintf(lpstrRet, uRetLen, "%ld", data[1]);
    +		snprintfW(lpstrRet, uRetLen, wszLd, data[1]);
     		break;
     	    default:
     		WARN("Oooch. MCI_STRING and HIWORD(dwRet)=%04x\n", HIWORD(dwRet));
    @@ -865,8 +1230,8 @@ static	DWORD	MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
     	case MCI_RECT:
     	    if (dwRet & 0xFFFF0000ul)
     		WARN("Oooch. MCI_STRING and HIWORD(dwRet)=%04x\n", HIWORD(dwRet));
    -	    snprintf(lpstrRet, uRetLen, "%ld %ld %ld %ld",
    -		       data[1], data[2], data[3], data[4]);
    +	    snprintfW(lpstrRet, uRetLen, wszLd4,
    +                      data[1], data[2], data[3], data[4]);
     	    break;
     	default:		ERR("oops\n");
     	}
    @@ -875,32 +1240,35 @@ static	DWORD	MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
     }
     
     /**************************************************************************
    - * 				mciSendStringA		[WINMM.@]
    + * 				mciSendStringW		[WINMM.@]
      */
    -DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
    +DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
     			    UINT uRetLen, HWND hwndCallback)
     {
    -    LPSTR		verb, dev, args;
    +    LPWSTR		verb, dev, args;
         LPWINE_MCIDRIVER	wmd = 0;
         DWORD		dwFlags = 0, dwRet = 0;
         int			offset = 0;
         DWORD		data[MCI_DATA_SIZE];
         DWORD		retType;
    -    LPCSTR		lpCmd = 0;
    -    LPSTR		devAlias = NULL;
    +    LPCWSTR		lpCmd = 0;
    +    LPWSTR		devAlias = NULL;
         BOOL		bAutoOpen = FALSE;
    +    static const WCHAR  wszNew[] = {'n','e','w',0};
    +    static const WCHAR  wszSAliasS[] = {' ','a','l','i','a','s',' ',0};
     
    -    TRACE("('%s', %p, %d, %p)\n", lpstrCommand, lpstrRet, uRetLen, hwndCallback);
    +    TRACE("(%s, %p, %d, %p)\n", 
    +          debugstr_w(lpstrCommand), lpstrRet, uRetLen, hwndCallback);
     
         /* format is    */
    -    if (!(verb = HeapAlloc(GetProcessHeap(), 0, strlen(lpstrCommand)+1)))
    +    if (!(verb = HeapAlloc(GetProcessHeap(), 0, (strlenW(lpstrCommand)+1) * sizeof(WCHAR))))
     	return MCIERR_OUT_OF_MEMORY;
    -    strcpy( verb, lpstrCommand );
    -    CharLowerA(verb);
    +    strcpyW( verb, lpstrCommand );
    +    CharLowerW(verb);
     
         memset(data, 0, sizeof(data));
     
    -    if (!(args = strchr(verb, ' '))) {
    +    if (!(args = strchrW(verb, ' '))) {
     	dwRet = MCIERR_MISSING_DEVICE_NAME;
     	goto errCleanUp;
         }
    @@ -910,17 +1278,17 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
         }
     
         /* case dev == 'new' has to be handled */
    -    if (!strcmp(dev, "new")) {
    +    if (!strcmpW(dev, wszNew)) {
     	FIXME("'new': NIY as device name\n");
     	dwRet = MCIERR_MISSING_DEVICE_NAME;
     	goto errCleanUp;
         }
     
         /* otherwise, try to grab devType from open */
    -    if (!strcmp(verb, "open")) {
    -	LPSTR	devType, tmp;
    +    if (!strcmpW(verb, wszOpen)) {
    +	LPWSTR	devType, tmp;
     
    -	if ((devType = strchr(dev, '!')) != NULL) {
    +	if ((devType = strchrW(dev, '!')) != NULL) {
     	    *devType++ = '\0';
     	    tmp = devType; devType = dev; dev = tmp;
     
    @@ -929,23 +1297,24 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
     	    devType = str_dup_upper(devType);
     	    dwFlags |= MCI_OPEN_ELEMENT;
     	    data[3] = (DWORD)dev;
    -	} else if (strchr(dev, '.') == NULL) {
    -	    tmp = strchr(dev,' ');
    +	} else if (strchrW(dev, '.') == NULL) {
    +	    tmp = strchrW(dev,' ');
     	    if (tmp) *tmp = '\0';
     	    data[2] = (DWORD)dev;
     	    devType = str_dup_upper(dev);
     	    if (tmp) *tmp = ' ';
     	    dwFlags |= MCI_OPEN_TYPE;
     	} else {
    -	    if ((devType = strstr(args, "type ")) != NULL) {
    +            static const WCHAR wszTypeS[] = {'t','y','p','e',' ',0};
    +	    if ((devType = strstrW(args, wszTypeS)) != NULL) {
     		devType += 5;
    -		tmp = strchr(devType, ' ');
    +		tmp = strchrW(devType, ' ');
     		if (tmp) *tmp = '\0';
     		devType = str_dup_upper(devType);
     		if (tmp) *tmp = ' ';
     		/* dwFlags and data[2] will be correctly set in ParseOpt loop */
     	    } else {
    -		char	buf[32];
    +		WCHAR	buf[32];
     		if ((dwRet = MCI_GetDevTypeFromFileName(dev, buf, sizeof(buf))))
     		    goto errCleanUp;
     
    @@ -954,13 +1323,13 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
     	    dwFlags |= MCI_OPEN_ELEMENT;
     	    data[3] = (DWORD)dev;
     	}
    -	if ((devAlias = strstr(args," alias "))) {
    -            char *tmp2;
    +	if ((devAlias = strstrW(args, wszSAliasS))) {
    +            WCHAR*      tmp2;
     	    devAlias += 7;
    -	    if (!(tmp = strchr(devAlias,' '))) tmp = devAlias + strlen(devAlias);
    +	    if (!(tmp = strchrW(devAlias,' '))) tmp = devAlias + strlenW(devAlias);
     	    if (tmp) *tmp = '\0';
    -            tmp2 = HeapAlloc(GetProcessHeap(), 0, tmp - devAlias + 1 );
    -            memcpy( tmp2, devAlias, tmp - devAlias );
    +            tmp2 = HeapAlloc(GetProcessHeap(), 0, (tmp - devAlias + 1) * sizeof(WCHAR) );
    +            memcpy( tmp2, devAlias, (tmp - devAlias) * sizeof(WCHAR) );
                 tmp2[tmp - devAlias] = 0;
                 data[4] = (DWORD)tmp2;
     	    /* should be done in regular options parsing */
    @@ -975,15 +1344,16 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
     	    MCI_UnLoadMciDriver(wmd);
     	    goto errCleanUp;
     	}
    -    } else if (!(wmd = MCI_GetDriver(mciGetDeviceIDA(dev)))) {
    +    } else if (!(wmd = MCI_GetDriver(mciGetDeviceIDW(dev)))) {
     	/* auto open */
    -	char	buf[128];
    -	sprintf(buf, "open %s wait", dev);
    +        static WCHAR wszOpenWait[] = {'o','p','e','n',' ','%','s',' ','w','a','i','t',0};
    +	WCHAR   buf[128];
    +	sprintfW(buf, wszOpenWait, dev);
     
    -	if ((dwRet = mciSendStringA(buf, NULL, 0, 0)) != 0)
    +	if ((dwRet = mciSendStringW(buf, NULL, 0, 0)) != 0)
     	    goto errCleanUp;
     
    -	wmd = MCI_GetDriver(mciGetDeviceIDA(dev));
    +	wmd = MCI_GetDriver(mciGetDeviceIDW(dev));
     	if (!wmd) {
     	    /* FIXME: memory leak, MCI driver is not closed */
     	    dwRet = MCIERR_INVALID_DEVICE_ID;
    @@ -1007,7 +1377,7 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
         if (!lpCmd) lpCmd = MCI_FindCommand(MCI_GetCommandTable(0), verb);
     
         if (!lpCmd) {
    -	TRACE("Command '%s' not found!\n", verb);
    +	TRACE("Command %s not found!\n", debugstr_w(verb));
     	dwRet = MCIERR_UNRECOGNIZED_COMMAND;
     	goto errCleanUp;
         }
    @@ -1027,7 +1397,8 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
         default:	ERR("oops\n");
         }
     
    -    TRACE("verb='%s' on dev='%s'; offset=%d\n", verb, dev, offset);
    +    TRACE("verb=%s on dev=%s; offset=%d\n", 
    +          debugstr_w(verb), debugstr_w(dev), offset);
     
         if ((dwRet = MCI_ParseOptArgs(data, offset, lpCmd, args, &dwFlags)))
     	goto errCleanUp;
    @@ -1043,20 +1414,20 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
     
         TRACE("[%d, %s, %08lx, %08lx/%s %08lx/%s %08lx/%s %08lx/%s %08lx/%s %08lx/%s]\n",
     	  wmd->wDeviceID, MCI_MessageToString(MCI_GetMessage(lpCmd)), dwFlags,
    -	  data[0], debugstr_a((char *)data[0]), data[1], debugstr_a((char *)data[1]),
    -	  data[2], debugstr_a((char *)data[2]), data[3], debugstr_a((char *)data[3]),
    -	  data[4], debugstr_a((char *)data[4]), data[5], debugstr_a((char *)data[5]));
    +	  data[0], debugstr_w((WCHAR *)data[0]), data[1], debugstr_w((WCHAR *)data[1]),
    +	  data[2], debugstr_w((WCHAR *)data[2]), data[3], debugstr_w((WCHAR *)data[3]),
    +	  data[4], debugstr_w((WCHAR *)data[4]), data[5], debugstr_w((WCHAR *)data[5]));
     
    -    if (strcmp(verb, "open") == 0) {
    -	if ((dwRet = MCI_FinishOpen(wmd, (LPMCI_OPEN_PARMSA)data, dwFlags)))
    +    if (strcmpW(verb, wszOpen) == 0) {
    +	if ((dwRet = MCI_FinishOpen(wmd, (LPMCI_OPEN_PARMSW)data, dwFlags)))
     	    MCI_UnLoadMciDriver(wmd);
     	/* FIXME: notification is not properly shared across two opens */
         } else {
     	dwRet = MCI_SendCommand(wmd->wDeviceID, MCI_GetMessage(lpCmd), dwFlags, (DWORD)data, TRUE);
         }
    -    TRACE("=> 1/ %lx (%s)\n", dwRet, lpstrRet);
    +    TRACE("=> 1/ %lx (%s)\n", dwRet, debugstr_w(lpstrRet));
         dwRet = MCI_HandleReturnValues(dwRet, wmd, retType, data, lpstrRet, uRetLen);
    -    TRACE("=> 2/ %lx (%s)\n", dwRet, lpstrRet);
    +    TRACE("=> 2/ %lx (%s)\n", dwRet, debugstr_w(lpstrRet));
     
     errCleanUp:
         HeapFree(GetProcessHeap(), 0, verb);
    @@ -1065,30 +1436,30 @@ errCleanUp:
     }
     
     /**************************************************************************
    - * 				mciSendStringW			[WINMM.@]
    + * 				mciSendStringA			[WINMM.@]
      */
    -DWORD WINAPI mciSendStringW(LPCWSTR lpwstrCommand, LPWSTR lpwstrRet,
    +DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
     			    UINT uRetLen, HWND hwndCallback)
     {
    -    LPSTR 	lpstrCommand;
    -    LPSTR       lpstrRet = NULL;
    +    LPWSTR 	lpwstrCommand;
    +    LPWSTR      lpwstrRet = NULL;
         UINT	ret;
         INT len;
     
         /* FIXME: is there something to do with lpstrReturnString ? */
    -    len = WideCharToMultiByte( CP_ACP, 0, lpwstrCommand, -1, NULL, 0, NULL, NULL );
    -    lpstrCommand = HeapAlloc( GetProcessHeap(), 0, len );
    -    WideCharToMultiByte( CP_ACP, 0, lpwstrCommand, -1, lpstrCommand, len, NULL, NULL );
    -    if (lpwstrRet)
    +    len = MultiByteToWideChar( CP_ACP, 0, lpstrCommand, -1, NULL, 0 );
    +    lpwstrCommand = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
    +    MultiByteToWideChar( CP_ACP, 0, lpstrCommand, -1, lpwstrCommand, len );
    +    if (lpstrRet)
         {
    -        lpstrRet = HeapAlloc(GetProcessHeap(), 0, uRetLen * sizeof(WCHAR));
    -        if (!lpstrRet) return MMSYSERR_NOMEM;
    +        lpwstrRet = HeapAlloc(GetProcessHeap(), 0, uRetLen * sizeof(WCHAR));
    +        if (!lpwstrRet) return MCIERR_OUT_OF_MEMORY;
         }
    -    ret = mciSendStringA(lpstrCommand, lpstrRet, uRetLen, hwndCallback);
    +    ret = mciSendStringW(lpwstrCommand, lpwstrRet, uRetLen, hwndCallback);
         if (lpwstrRet)
    -        MultiByteToWideChar( CP_ACP, 0, lpstrRet, -1, lpwstrRet, uRetLen );
    -    HeapFree(GetProcessHeap(), 0, lpstrCommand);
    -    HeapFree(GetProcessHeap(), 0, lpstrRet);
    +        WideCharToMultiByte( CP_ACP, 0, lpwstrRet, -1, lpstrRet, uRetLen, NULL, NULL );
    +    HeapFree(GetProcessHeap(), 0, lpwstrCommand);
    +    HeapFree(GetProcessHeap(), 0, lpwstrRet);
         return ret;
     }
     
    @@ -1096,7 +1467,7 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpwstrCommand, LPWSTR lpwstrRet,
      * 				mciExecute			[WINMM.@]
      * 				mciExecute			[MMSYSTEM.712]
      */
    -DWORD WINAPI mciExecute(LPCSTR lpstrCommand)
    +BOOL WINAPI mciExecute(LPCSTR lpstrCommand)
     {
         char	strRet[256];
         DWORD	ret;
    @@ -1111,7 +1482,7 @@ DWORD WINAPI mciExecute(LPCSTR lpstrCommand)
     	MessageBoxA(0, strRet, "Error in mciExecute()", MB_OK);
         }
         /* FIXME: what shall I return ? */
    -    return 0;
    +    return TRUE;
     }
     
     /**************************************************************************
    @@ -1134,7 +1505,7 @@ UINT WINAPI mciLoadCommandResource(HINSTANCE hInst, LPCWSTR resNameW, UINT type)
         if (!type) {
     #if 0
             /* FIXME: we should put this back into order, but I never found a program
    -         * actually using this feature, so we not need it
    +         * actually using this feature, so we may not need it
              */
     	char		buf[128];
     	OFSTRUCT       	ofs;
    @@ -1163,7 +1534,7 @@ BOOL WINAPI mciFreeCommandResource(UINT uTable)
     {
         TRACE("(%08x)!\n", uTable);
     
    -    return MCI_DeleteCommandTable(uTable);
    +    return MCI_DeleteCommandTable(uTable, FALSE);
     }
     
     /**************************************************************************
    @@ -1177,10 +1548,10 @@ DWORD MCI_SendCommandFrom32(MCIDEVICEID wDevID, UINT16 wMsg, DWORD_PTR dwParam1,
         if (wmd) {
     	if (wmd->bIs32) {
     	    dwRet = SendDriverMessage(wmd->hDriver, wMsg, dwParam1, dwParam2);
    -	} else if (pFnMciMapMsg32ATo16) {
    +	} else if (pFnMciMapMsg32WTo16) {
     	    WINMM_MapType	res;
     
    -	    switch (res = pFnMciMapMsg32ATo16(wmd->wType, wMsg, dwParam1, &dwParam2)) {
    +	    switch (res = pFnMciMapMsg32WTo16(wmd->wType, wMsg, dwParam1, &dwParam2)) {
     	    case WINMM_MAP_MSGERROR:
     		TRACE("Not handled yet (%s)\n", MCI_MessageToString(wMsg));
     		dwRet = MCIERR_DRIVER_INTERNAL;
    @@ -1193,7 +1564,7 @@ DWORD MCI_SendCommandFrom32(MCIDEVICEID wDevID, UINT16 wMsg, DWORD_PTR dwParam1,
     	    case WINMM_MAP_OKMEM:
     		dwRet = SendDriverMessage(wmd->hDriver, wMsg, dwParam1, dwParam2);
     		if (res == WINMM_MAP_OKMEM)
    -		    pFnMciUnMapMsg32ATo16(wmd->wType, wMsg, dwParam1, dwParam2);
    +		    pFnMciUnMapMsg32WTo16(wmd->wType, wMsg, dwParam1, dwParam2);
     		break;
     	    }
     	}
    @@ -1212,10 +1583,10 @@ DWORD MCI_SendCommandFrom16(MCIDEVICEID wDevID, UINT16 wMsg, DWORD_PTR dwParam1,
         if (wmd) {
     	dwRet = MCIERR_INVALID_DEVICE_ID;
     
    -	if (wmd->bIs32 && pFnMciMapMsg16To32A) {
    +	if (wmd->bIs32 && pFnMciMapMsg16To32W) {
     	    WINMM_MapType		res;
     
    -	    switch (res = pFnMciMapMsg16To32A(wmd->wType, wMsg, &dwParam2)) {
    +	    switch (res = pFnMciMapMsg16To32W(wmd->wType, wMsg, &dwParam2)) {
     	    case WINMM_MAP_MSGERROR:
     		TRACE("Not handled yet (%s)\n", MCI_MessageToString(wMsg));
     		dwRet = MCIERR_DRIVER_INTERNAL;
    @@ -1228,7 +1599,7 @@ DWORD MCI_SendCommandFrom16(MCIDEVICEID wDevID, UINT16 wMsg, DWORD_PTR dwParam1,
     	    case WINMM_MAP_OKMEM:
     		dwRet = SendDriverMessage(wmd->hDriver, wMsg, dwParam1, dwParam2);
     		if (res == WINMM_MAP_OKMEM)
    -		    pFnMciUnMapMsg16To32A(wmd->wType, wMsg, dwParam2);
    +		    pFnMciUnMapMsg16To32W(wmd->wType, wMsg, dwParam2);
     		break;
     	    }
     	} else {
    @@ -1241,9 +1612,9 @@ DWORD MCI_SendCommandFrom16(MCIDEVICEID wDevID, UINT16 wMsg, DWORD_PTR dwParam1,
     /**************************************************************************
      * 			MCI_Open				[internal]
      */
    -static	DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSA lpParms)
    +static	DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSW lpParms)
     {
    -    char			strDevTyp[128];
    +    WCHAR			strDevTyp[128];
         DWORD 			dwRet;
         LPWINE_MCIDRIVER		wmd = NULL;
     
    @@ -1267,18 +1638,19 @@ static	DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSA lpParms)
     
     	    if (uDevType < MCI_DEVTYPE_FIRST ||
     		uDevType > MCI_DEVTYPE_LAST ||
    -		!LoadStringA(WINMM_IData->hWinMM32Instance, uDevType, strDevTyp, sizeof(strDevTyp))) {
    +		!LoadStringW(WINMM_IData->hWinMM32Instance, uDevType, 
    +                             strDevTyp, sizeof(strDevTyp) / sizeof(WCHAR))) {
     		dwRet = MCIERR_BAD_INTEGER;
     		goto errCleanUp;
     	    }
     	} else {
    -	    LPSTR	ptr;
    +	    LPWSTR	ptr;
     	    if (lpParms->lpstrDeviceType == NULL) {
     		dwRet = MCIERR_NULL_PARAMETER_BLOCK;
     		goto errCleanUp;
     	    }
    -	    strcpy(strDevTyp, lpParms->lpstrDeviceType);
    -	    ptr = strchr(strDevTyp, '!');
    +	    strcpyW(strDevTyp, lpParms->lpstrDeviceType);
    +	    ptr = strchrW(strDevTyp, '!');
     	    if (ptr) {
     		/* this behavior is not documented in windows. However, since, in
     		 * some occasions, MCI_OPEN handling is translated by WinMM into
    @@ -1286,7 +1658,8 @@ static	DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSA lpParms)
     		 */
     		if (dwParam & MCI_OPEN_ELEMENT) {
     		    ERR("Both MCI_OPEN_ELEMENT(%s) and %s are used\n",
    -			lpParms->lpstrElementName, strDevTyp);
    +			debugstr_w(lpParms->lpstrElementName), 
    +                        debugstr_w(strDevTyp));
     		    dwRet = MCIERR_UNRECOGNIZED_KEYWORD;
     		    goto errCleanUp;
     		}
    @@ -1297,11 +1670,11 @@ static	DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSA lpParms)
     	    }
     
     	}
    -	TRACE("devType='%s' !\n", strDevTyp);
    +	TRACE("devType=%s !\n", debugstr_w(strDevTyp));
         }
     
         if (dwParam & MCI_OPEN_ELEMENT) {
    -	TRACE("lpstrElementName='%s'\n", lpParms->lpstrElementName);
    +	TRACE("lpstrElementName=%s\n", debugstr_w(lpParms->lpstrElementName));
     
     	if (dwParam & MCI_OPEN_ELEMENT_ID) {
     	    FIXME("Unsupported yet flag MCI_OPEN_ELEMENT_ID\n");
    @@ -1318,12 +1691,13 @@ static	DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSA lpParms)
     	if (!strDevTyp[0] &&
     	    MCI_GetDevTypeFromFileName(lpParms->lpstrElementName,
     				       strDevTyp, sizeof(strDevTyp))) {
    -	    if (GetDriveTypeA(lpParms->lpstrElementName) != DRIVE_CDROM) {
    +            static const WCHAR wszCdAudio[] = {'C','D','A','U','D','I','O',0};
    +	    if (GetDriveTypeW(lpParms->lpstrElementName) != DRIVE_CDROM) {
     		dwRet = MCIERR_EXTENSION_NOT_FOUND;
     		goto errCleanUp;
     	    }
     	    /* FIXME: this will not work if several CDROM drives are installed on the machine */
    -	    strcpy(strDevTyp, "CDAUDIO");
    +	    strcpyW(strDevTyp, wszCdAudio);
     	}
         }
     
    @@ -1334,7 +1708,7 @@ static	DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSA lpParms)
         }
     
         if (dwParam & MCI_OPEN_ALIAS) {
    -	TRACE("Alias='%s' !\n", lpParms->lpstrAlias);
    +	TRACE("Alias=%s !\n", debugstr_w(lpParms->lpstrAlias));
     	if (!lpParms->lpstrAlias) {
     	    dwRet = MCIERR_NULL_PARAMETER_BLOCK;
     	    goto errCleanUp;
    @@ -1411,16 +1785,17 @@ static	DWORD MCI_Close(UINT16 wDevID, DWORD dwParam, LPMCI_GENERIC_PARMS lpParms
     /**************************************************************************
      * 			MCI_WriteString				[internal]
      */
    -DWORD	MCI_WriteString(LPSTR lpDstStr, DWORD dstSize, LPCSTR lpSrcStr)
    +DWORD	MCI_WriteString(LPWSTR lpDstStr, DWORD dstSize, LPCWSTR lpSrcStr)
     {
         DWORD	ret = 0;
     
         if (lpSrcStr) {
    -	if (dstSize <= strlen(lpSrcStr)) {
    -	    lstrcpynA(lpDstStr, lpSrcStr, dstSize - 1);
    +        dstSize /= sizeof(WCHAR);
    +	if (dstSize <= strlenW(lpSrcStr)) {
    +	    lstrcpynW(lpDstStr, lpSrcStr, dstSize - 1);
     	    ret = MCIERR_PARAM_OVERFLOW;
     	} else {
    -	    strcpy(lpDstStr, lpSrcStr);
    +	    strcpyW(lpDstStr, lpSrcStr);
     	}
         } else {
     	*lpDstStr = 0;
    @@ -1431,10 +1806,10 @@ DWORD	MCI_WriteString(LPSTR lpDstStr, DWORD dstSize, LPCSTR lpSrcStr)
     /**************************************************************************
      * 			MCI_Sysinfo				[internal]
      */
    -static	DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParms)
    +static	DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParms)
     {
         DWORD		ret = MCIERR_INVALID_DEVICE_ID, cnt = 0;
    -    CHAR		buf[2048], *s = buf, *p;
    +    WCHAR		buf[2048], *s = buf, *p;
         LPWINE_MCIDRIVER	wmd;
         HKEY		hKey;
     
    @@ -1455,13 +1830,13 @@ static	DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParm
     		LeaveCriticalSection(&WINMM_IData->cs);
     	    } else {
     		TRACE("MCI_SYSINFO_QUANTITY: # of installed MCI drivers\n");
    -		if (RegOpenKeyExA( HKEY_LOCAL_MACHINE, HKLM_MCI,
    +		if (RegOpenKeyExW( HKEY_LOCAL_MACHINE, wszHklmMci,
     			  	   0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS) {
    -		    RegQueryInfoKeyA( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
    +		    RegQueryInfoKeyW( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
     		    RegCloseKey( hKey );
     		}
    -		if (GetPrivateProfileStringA("mci", 0, "", buf, sizeof(buf), "system.ini"))
    -		    for(s = buf; *s; s += strlen(s) + 1) cnt++;
    +		if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf), wszSystemIni))
    +		    for (s = buf; *s; s += strlenW(s) + 1) cnt++;
     	    }
     	} else {
     	    if (dwFlags & MCI_SYSINFO_OPEN) {
    @@ -1490,7 +1865,7 @@ static	DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParm
     	    *lpParms->lpstrReturn = 0;
     	    ret = MCIERR_INVALID_DEVICE_ID;
     	}
    -	TRACE("(%ld) => '%s'\n", lpParms->dwNumber, lpParms->lpstrReturn);
    +	TRACE("(%ld) => %s\n", lpParms->dwNumber, debugstr_w(lpParms->lpstrReturn));
     	break;
         case MCI_SYSINFO_NAME:
     	TRACE("MCI_SYSINFO_NAME\n");
    @@ -1498,22 +1873,23 @@ static	DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParm
     	    FIXME("Don't handle MCI_SYSINFO_NAME|MCI_SYSINFO_OPEN (yet)\n");
     	    ret = MCIERR_UNRECOGNIZED_COMMAND;
     	} else {
    -	    DWORD lRet;
    -	    s = 0;
    -	    lRet = RegOpenKeyExA( HKEY_LOCAL_MACHINE, HKLM_MCI, 0, KEY_QUERY_VALUE, &hKey );
    -	    if (lRet == ERROR_SUCCESS) {
    -		lRet = RegQueryInfoKeyA( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
    -		if (lRet == ERROR_SUCCESS && lpParms->dwNumber <= cnt) {
    +	    s = NULL;
    +	    if (RegOpenKeyExW( HKEY_LOCAL_MACHINE, wszHklmMci, 0, 
    +                               KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS) {
    +		if (RegQueryInfoKeyW( hKey, 0, 0, 0, &cnt, 
    +                                      0, 0, 0, 0, 0, 0, 0) == ERROR_SUCCESS && 
    +                    lpParms->dwNumber <= cnt) {
         		    DWORD bufLen = sizeof(buf);
    -		    lRet = RegEnumKeyExA(hKey, lpParms->dwNumber - 1, buf, &bufLen, 0, 0, 0, 0);
    -		    if (lRet == ERROR_SUCCESS) s = buf;
    +		    if (RegEnumKeyExW(hKey, lpParms->dwNumber - 1, 
    +                                      buf, &bufLen, 0, 0, 0, 0) == ERROR_SUCCESS)
    +                        s = buf;
     		}
     	        RegCloseKey( hKey );
     	    }
     	    if (!s) {
    -		if (GetPrivateProfileStringA("mci", 0, "", buf, sizeof(buf), "system.ini")) {
    -		    for(p = buf; *p; p += strlen(p) + 1, cnt++) {
    -                        TRACE("%ld: %s\n", cnt, p);
    +		if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf), wszSystemIni)) {
    +		    for (p = buf; *p; p += strlenW(p) + 1, cnt++) {
    +                        TRACE("%ld: %s\n", cnt, debugstr_w(p));
     			if (cnt == lpParms->dwNumber - 1) {
     			    s = p;
     			    break;
    @@ -1521,9 +1897,9 @@ static	DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSA lpParm
     		    }
     		}
     	    }
    -	    ret = s ? MCI_WriteString(lpParms->lpstrReturn, lpParms->dwRetSize, s) : MCIERR_OUTOFRANGE;
    +	    ret = s ? MCI_WriteString(lpParms->lpstrReturn, lpParms->dwRetSize / sizeof(WCHAR), s) : MCIERR_OUTOFRANGE;
     	}
    -	TRACE("(%ld) => '%s'\n", lpParms->dwNumber, lpParms->lpstrReturn);
    +	TRACE("(%ld) => %s\n", lpParms->dwNumber, debugstr_w(lpParms->lpstrReturn));
     	break;
         default:
     	TRACE("Unsupported flag value=%08lx\n", dwFlags);
    @@ -1551,14 +1927,14 @@ static	DWORD MCI_Break(UINT wDevID, DWORD dwFlags, LPMCI_BREAK_PARMS lpParms)
     /**************************************************************************
      * 			MCI_Sound				[internal]
      */
    -static	DWORD MCI_Sound(UINT wDevID, DWORD dwFlags, LPMCI_SOUND_PARMS lpParms)
    +static	DWORD MCI_Sound(UINT wDevID, DWORD dwFlags, LPMCI_SOUND_PARMSW lpParms)
     {
         DWORD	dwRet = 0;
     
         if (lpParms == NULL)	return MCIERR_NULL_PARAMETER_BLOCK;
     
         if (dwFlags & MCI_SOUND_NAME)
    -        dwRet = sndPlaySoundA(lpParms->lpstrSoundName, SND_SYNC) ? MMSYSERR_NOERROR : MMSYSERR_ERROR;
    +        dwRet = sndPlaySoundW(lpParms->lpstrSoundName, SND_SYNC) ? MMSYSERR_NOERROR : MMSYSERR_ERROR;
         else
             dwRet = MMSYSERR_ERROR; /* what should be done ??? */
         if (dwFlags & MCI_NOTIFY)
    @@ -1579,13 +1955,13 @@ DWORD	MCI_SendCommand(UINT wDevID, UINT16 wMsg, DWORD dwParam1,
         switch (wMsg) {
         case MCI_OPEN:
     	if (bFrom32) {
    -	    dwRet = MCI_Open(dwParam1, (LPMCI_OPEN_PARMSA)dwParam2);
    -	} else if (pFnMciMapMsg16To32A) {
    -	    switch (pFnMciMapMsg16To32A(0, wMsg, &dwParam2)) {
    +	    dwRet = MCI_Open(dwParam1, (LPMCI_OPEN_PARMSW)dwParam2);
    +	} else if (pFnMciMapMsg16To32W) {
    +	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
     	    case WINMM_MAP_OK:
     	    case WINMM_MAP_OKMEM:
    -		dwRet = MCI_Open(dwParam1, (LPMCI_OPEN_PARMSA)dwParam2);
    -		pFnMciUnMapMsg16To32A(0, wMsg, dwParam2);
    +		dwRet = MCI_Open(dwParam1, (LPMCI_OPEN_PARMSW)dwParam2);
    +		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
     		break;
     	    default: break; /* so that gcc does not bark */
     	    }
    @@ -1594,12 +1970,12 @@ DWORD	MCI_SendCommand(UINT wDevID, UINT16 wMsg, DWORD dwParam1,
         case MCI_CLOSE:
     	if (bFrom32) {
     	    dwRet = MCI_Close(wDevID, dwParam1, (LPMCI_GENERIC_PARMS)dwParam2);
    -	} else if (pFnMciMapMsg16To32A) {
    -	    switch (pFnMciMapMsg16To32A(0, wMsg, &dwParam2)) {
    +	} else if (pFnMciMapMsg16To32W) {
    +	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
     	    case WINMM_MAP_OK:
     	    case WINMM_MAP_OKMEM:
     		dwRet = MCI_Close(wDevID, dwParam1, (LPMCI_GENERIC_PARMS)dwParam2);
    -		pFnMciUnMapMsg16To32A(0, wMsg, dwParam2);
    +		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
     		break;
     	    default: break; /* so that gcc does not bark */
     	    }
    @@ -1607,13 +1983,13 @@ DWORD	MCI_SendCommand(UINT wDevID, UINT16 wMsg, DWORD dwParam1,
     	break;
         case MCI_SYSINFO:
     	if (bFrom32) {
    -	    dwRet = MCI_SysInfo(wDevID, dwParam1, (LPMCI_SYSINFO_PARMSA)dwParam2);
    -	} else if (pFnMciMapMsg16To32A) {
    -	    switch (pFnMciMapMsg16To32A(0, wMsg, &dwParam2)) {
    +	    dwRet = MCI_SysInfo(wDevID, dwParam1, (LPMCI_SYSINFO_PARMSW)dwParam2);
    +	} else if (pFnMciMapMsg16To32W) {
    +	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
     	    case WINMM_MAP_OK:
     	    case WINMM_MAP_OKMEM:
    -		dwRet = MCI_SysInfo(wDevID, dwParam1, (LPMCI_SYSINFO_PARMSA)dwParam2);
    -		pFnMciUnMapMsg16To32A(0, wMsg, dwParam2);
    +		dwRet = MCI_SysInfo(wDevID, dwParam1, (LPMCI_SYSINFO_PARMSW)dwParam2);
    +		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
     		break;
     	    default: break; /* so that gcc does not bark */
     	    }
    @@ -1622,12 +1998,12 @@ DWORD	MCI_SendCommand(UINT wDevID, UINT16 wMsg, DWORD dwParam1,
         case MCI_BREAK:
     	if (bFrom32) {
     	    dwRet = MCI_Break(wDevID, dwParam1, (LPMCI_BREAK_PARMS)dwParam2);
    -	} else if (pFnMciMapMsg16To32A) {
    -	    switch (pFnMciMapMsg16To32A(0, wMsg, &dwParam2)) {
    +	} else if (pFnMciMapMsg16To32W) {
    +	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
     	    case WINMM_MAP_OK:
     	    case WINMM_MAP_OKMEM:
     		dwRet = MCI_Break(wDevID, dwParam1, (LPMCI_BREAK_PARMS)dwParam2);
    -		pFnMciUnMapMsg16To32A(0, wMsg, dwParam2);
    +		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
     		break;
     	    default: break; /* so that gcc does not bark */
     	    }
    @@ -1635,13 +2011,13 @@ DWORD	MCI_SendCommand(UINT wDevID, UINT16 wMsg, DWORD dwParam1,
     	break;
         case MCI_SOUND:
     	if (bFrom32) {
    -	    dwRet = MCI_Sound(wDevID, dwParam1, (LPMCI_SOUND_PARMS)dwParam2);
    -	} else if (pFnMciMapMsg16To32A) {
    -	    switch (pFnMciMapMsg16To32A(0, wMsg, &dwParam2)) {
    +	    dwRet = MCI_Sound(wDevID, dwParam1, (LPMCI_SOUND_PARMSW)dwParam2);
    +	} else if (pFnMciMapMsg16To32W) {
    +	    switch (pFnMciMapMsg16To32W(0, wMsg, &dwParam2)) {
     	    case WINMM_MAP_OK:
     	    case WINMM_MAP_OKMEM:
    -		dwRet = MCI_Sound(wDevID, dwParam1, (LPMCI_SOUND_PARMS)dwParam2);
    -		pFnMciUnMapMsg16To32A(0, wMsg, dwParam2);
    +		dwRet = MCI_Sound(wDevID, dwParam1, (LPMCI_SOUND_PARMSW)dwParam2);
    +		pFnMciUnMapMsg16To32W(0, wMsg, dwParam2);
     		break;
     	    default: break; /* so that gcc does not bark */
     	    }
    @@ -1739,3 +2115,296 @@ LRESULT		MCI_CleanUp(LRESULT dwRet, UINT wMsg, DWORD dwParam2)
         }
         return LOWORD(dwRet);
     }
    +
    +/**************************************************************************
    + * 				mciGetErrorStringW		[WINMM.@]
    + */
    +BOOL WINAPI mciGetErrorStringW(MCIERROR wError, LPWSTR lpstrBuffer, UINT uLength)
    +{
    +    BOOL		ret = FALSE;
    +
    +    if (lpstrBuffer != NULL && uLength > 0 &&
    +	wError >= MCIERR_BASE && wError <= MCIERR_CUSTOM_DRIVER_BASE) {
    +
    +	if (LoadStringW(WINMM_IData->hWinMM32Instance,
    +			wError, lpstrBuffer, uLength) > 0) {
    +	    ret = TRUE;
    +	}
    +    }
    +    return ret;
    +}
    +
    +/**************************************************************************
    + * 				mciGetErrorStringA		[WINMM.@]
    + */
    +BOOL WINAPI mciGetErrorStringA(MCIERROR dwError, LPSTR lpstrBuffer, UINT uLength)
    +{
    +    BOOL		ret = FALSE;
    +
    +    if (lpstrBuffer != NULL && uLength > 0 &&
    +	dwError >= MCIERR_BASE && dwError <= MCIERR_CUSTOM_DRIVER_BASE) {
    +
    +	if (LoadStringA(WINMM_IData->hWinMM32Instance,
    +			dwError, lpstrBuffer, uLength) > 0) {
    +	    ret = TRUE;
    +	}
    +    }
    +    return ret;
    +}
    +
    +/**************************************************************************
    + *			mciDriverNotify				[WINMM.@]
    + */
    +BOOL WINAPI mciDriverNotify(HWND hWndCallBack, MCIDEVICEID wDevID, UINT wStatus)
    +{
    +    TRACE("(%p, %04x, %04X)\n", hWndCallBack, wDevID, wStatus);
    +
    +    return PostMessageW(hWndCallBack, MM_MCINOTIFY, wStatus, wDevID);
    +}
    +
    +/**************************************************************************
    + * 			mciGetDriverData			[WINMM.@]
    + */
    +DWORD WINAPI mciGetDriverData(MCIDEVICEID uDeviceID)
    +{
    +    LPWINE_MCIDRIVER	wmd;
    +
    +    TRACE("(%04x)\n", uDeviceID);
    +
    +    wmd = MCI_GetDriver(uDeviceID);
    +
    +    if (!wmd) {
    +	WARN("Bad uDeviceID\n");
    +	return 0L;
    +    }
    +
    +    return wmd->dwPrivate;
    +}
    +
    +/**************************************************************************
    + * 			mciSetDriverData			[WINMM.@]
    + */
    +BOOL WINAPI mciSetDriverData(MCIDEVICEID uDeviceID, DWORD data)
    +{
    +    LPWINE_MCIDRIVER	wmd;
    +
    +    TRACE("(%04x, %08lx)\n", uDeviceID, data);
    +
    +    wmd = MCI_GetDriver(uDeviceID);
    +
    +    if (!wmd) {
    +	WARN("Bad uDeviceID\n");
    +	return FALSE;
    +    }
    +
    +    wmd->dwPrivate = data;
    +    return TRUE;
    +}
    +
    +/**************************************************************************
    + * 				mciSendCommandW			[WINMM.@]
    + *
    + */
    +DWORD WINAPI mciSendCommandW(MCIDEVICEID wDevID, UINT wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
    +{
    +    DWORD	dwRet;
    +
    +    TRACE("(%08x, %s, %08lx, %08lx)\n",
    +	  wDevID, MCI_MessageToString(wMsg), dwParam1, dwParam2);
    +
    +    dwRet = MCI_SendCommand(wDevID, wMsg, dwParam1, dwParam2, TRUE);
    +    dwRet = MCI_CleanUp(dwRet, wMsg, dwParam2);
    +    TRACE("=> %08lx\n", dwRet);
    +    return dwRet;
    +}
    +
    +/**************************************************************************
    + * 				mciSendCommandA			[WINMM.@]
    + */
    +DWORD WINAPI mciSendCommandA(MCIDEVICEID wDevID, UINT wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
    +{
    +    DWORD ret;
    +    int mapped;
    +
    +    TRACE("(%08x, %s, %08lx, %08lx)\n",
    +	  wDevID, MCI_MessageToString(wMsg), dwParam1, dwParam2);
    +
    +    mapped = MCI_MapMsgAtoW(wMsg, dwParam1, &dwParam2);
    +    if (mapped == -1)
    +    {
    +        FIXME("message %04x mapping failed\n", wMsg);
    +        return MMSYSERR_NOMEM;
    +    }
    +    ret = mciSendCommandW(wDevID, wMsg, dwParam1, dwParam2);
    +    if (mapped)
    +        MCI_UnmapMsgAtoW(wMsg, dwParam1, dwParam2, ret);
    +    return ret;
    +}
    +
    +/**************************************************************************
    + * 				mciGetDeviceIDA    		[WINMM.@]
    + */
    +UINT WINAPI mciGetDeviceIDA(LPCSTR lpstrName)
    +{
    +    LPWSTR w = MCI_strdupAtoW(lpstrName);
    +    UINT ret = MCIERR_OUT_OF_MEMORY;
    +
    +    if (w)
    +    {
    +        ret = mciGetDeviceIDW(w);
    +        HeapFree(GetProcessHeap(), 0, w);
    +    }
    +    return ret;
    +}
    +
    +/**************************************************************************
    + * 				mciGetDeviceIDW		       	[WINMM.@]
    + */
    +UINT WINAPI mciGetDeviceIDW(LPCWSTR lpwstrName)
    +{
    +    return MCI_GetDriverFromString(lpwstrName); 
    +}
    +
    +/******************************************************************
    + *		MyUserYield
    + *
    + * Internal wrapper to call USER.UserYield16 (in fact through a Wine only export from USER32).
    + */
    +static void MyUserYield(void)
    +{
    +    HMODULE mod = GetModuleHandleA( "user32.dll" );
    +    if (mod)
    +    {
    +        FARPROC proc = GetProcAddress( mod, "UserYield16" );
    +        if (proc) proc();
    +    }
    +}
    +
    +/**************************************************************************
    + * 				MCI_DefYieldProc	       	[internal]
    + */
    +UINT WINAPI MCI_DefYieldProc(MCIDEVICEID wDevID, DWORD data)
    +{
    +    INT16	ret;
    +
    +    TRACE("(0x%04x, 0x%08lx)\n", wDevID, data);
    +
    +    if ((HIWORD(data) != 0 && HWND_16(GetActiveWindow()) != HIWORD(data)) ||
    +	(GetAsyncKeyState(LOWORD(data)) & 1) == 0) {
    +	MyUserYield();
    +	ret = 0;
    +    } else {
    +	MSG		msg;
    +
    +	msg.hwnd = HWND_32(HIWORD(data));
    +	while (!PeekMessageW(&msg, msg.hwnd, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE));
    +	ret = -1;
    +    }
    +    return ret;
    +}
    +
    +/**************************************************************************
    + * 				mciSetYieldProc			[WINMM.@]
    + */
    +BOOL WINAPI mciSetYieldProc(MCIDEVICEID uDeviceID, YIELDPROC fpYieldProc, DWORD dwYieldData)
    +{
    +    LPWINE_MCIDRIVER	wmd;
    +
    +    TRACE("(%u, %p, %08lx)\n", uDeviceID, fpYieldProc, dwYieldData);
    +
    +    if (!(wmd = MCI_GetDriver(uDeviceID))) {
    +	WARN("Bad uDeviceID\n");
    +	return FALSE;
    +    }
    +
    +    wmd->lpfnYieldProc = fpYieldProc;
    +    wmd->dwYieldData   = dwYieldData;
    +    wmd->bIs32         = TRUE;
    +
    +    return TRUE;
    +}
    +
    +/**************************************************************************
    + * 				mciGetDeviceIDFromElementIDA	[WINMM.@]
    + */
    +UINT WINAPI mciGetDeviceIDFromElementIDA(DWORD dwElementID, LPCSTR lpstrType)
    +{
    +    LPWSTR w = MCI_strdupAtoW(lpstrType);
    +    UINT ret = 0;
    +
    +    if (w)
    +    {
    +        ret = mciGetDeviceIDFromElementIDW(dwElementID, w);
    +        HeapFree(GetProcessHeap(), 0, w);
    +    }
    +    return ret;
    +}
    +
    +/**************************************************************************
    + * 				mciGetDeviceIDFromElementIDW	[WINMM.@]
    + */
    +UINT WINAPI mciGetDeviceIDFromElementIDW(DWORD dwElementID, LPCWSTR lpstrType)
    +{
    +    /* FIXME: that's rather strange, there is no
    +     * mciGetDeviceIDFromElementID32A in winmm.spec
    +     */
    +    FIXME("(%lu, %s) stub\n", dwElementID, debugstr_w(lpstrType));
    +    return 0;
    +}
    +
    +/**************************************************************************
    + * 				mciGetYieldProc			[WINMM.@]
    + */
    +YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID uDeviceID, DWORD* lpdwYieldData)
    +{
    +    LPWINE_MCIDRIVER	wmd;
    +
    +    TRACE("(%u, %p)\n", uDeviceID, lpdwYieldData);
    +
    +    if (!(wmd = MCI_GetDriver(uDeviceID))) {
    +	WARN("Bad uDeviceID\n");
    +	return NULL;
    +    }
    +    if (!wmd->lpfnYieldProc) {
    +	WARN("No proc set\n");
    +	return NULL;
    +    }
    +    if (!wmd->bIs32) {
    +	WARN("Proc is 32 bit\n");
    +	return NULL;
    +    }
    +    return wmd->lpfnYieldProc;
    +}
    +
    +/**************************************************************************
    + * 				mciGetCreatorTask		[WINMM.@]
    + */
    +HTASK WINAPI mciGetCreatorTask(MCIDEVICEID uDeviceID)
    +{
    +    LPWINE_MCIDRIVER	wmd;
    +    HTASK ret = 0;
    +
    +    if ((wmd = MCI_GetDriver(uDeviceID))) ret = (HTASK)wmd->CreatorThread;
    +
    +    TRACE("(%u) => %p\n", uDeviceID, ret);
    +    return ret;
    +}
    +
    +/**************************************************************************
    + * 			mciDriverYield				[WINMM.@]
    + */
    +UINT WINAPI mciDriverYield(MCIDEVICEID uDeviceID)
    +{
    +    LPWINE_MCIDRIVER	wmd;
    +    UINT		ret = 0;
    +
    +    TRACE("(%04x)\n", uDeviceID);
    +
    +    if (!(wmd = MCI_GetDriver(uDeviceID)) || !wmd->lpfnYieldProc || !wmd->bIs32) {
    +	MyUserYield();
    +    } else {
    +	ret = wmd->lpfnYieldProc(uDeviceID, wmd->dwYieldData);
    +    }
    +
    +    return ret;
    +}
    diff --git a/reactos/lib/winmm/message16.c b/reactos/lib/winmm/message16.c
    index 03a8fb6335f..edeb65e77c9 100644
    --- a/reactos/lib/winmm/message16.c
    +++ b/reactos/lib/winmm/message16.c
    @@ -1,5 +1,3 @@
    -/* -*- tab-width: 8; c-basic-offset: 4 -*- */
    -
     /*
      * MMSYSTEM MCI and low level mapping functions
      *
    @@ -70,33 +68,33 @@ static  void	MMDRV_Callback(LPWINE_MLD mld, HDRVR hDev, UINT uMsg, DWORD dwParam
      * ================================= */
     
     /**************************************************************************
    - * 				MMDRV_Aux_Map16To32A		[internal]
    + * 				MMDRV_Aux_Map16To32W		[internal]
      */
    -static  WINMM_MapType	MMDRV_Aux_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_Aux_Map16To32W  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_Aux_UnMap16To32A		[internal]
    + * 				MMDRV_Aux_UnMap16To32W		[internal]
      */
    -static  WINMM_MapType	MMDRV_Aux_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_Aux_UnMap16To32W(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_Aux_Map32ATo16		[internal]
    + * 				MMDRV_Aux_Map32WTo16		[internal]
      */
    -static  WINMM_MapType	MMDRV_Aux_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_Aux_Map32WTo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_Aux_UnMap32ATo16		[internal]
    + * 				MMDRV_Aux_UnMap32WTo16		[internal]
      */
    -static  WINMM_MapType	MMDRV_Aux_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_Aux_UnMap32WTo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
     #if 0
      case AUXDM_GETDEVCAPS:
    @@ -126,17 +124,17 @@ static  void	CALLBACK MMDRV_Aux_Callback(HDRVR hDev, UINT uMsg, DWORD dwInstance
      * ================================= */
     
     /**************************************************************************
    - * 				xMMDRV_Mixer_Map16To32A		[internal]
    + * 				xMMDRV_Mixer_Map16To32W		[internal]
      */
    -static  WINMM_MapType	MMDRV_Mixer_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_Mixer_Map16To32W  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_Mixer_UnMap16To32A	[internal]
    + * 				MMDRV_Mixer_UnMap16To32W	[internal]
      */
    -static  WINMM_MapType	MMDRV_Mixer_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_Mixer_UnMap16To32W(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
     #if 0
         MIXERCAPSA	micA;
    @@ -156,17 +154,17 @@ static  WINMM_MapType	MMDRV_Mixer_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDW
     }
     
     /**************************************************************************
    - * 				MMDRV_Mixer_Map32ATo16		[internal]
    + * 				MMDRV_Mixer_Map32WTo16		[internal]
      */
    -static  WINMM_MapType	MMDRV_Mixer_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_Mixer_Map32WTo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_Mixer_UnMap32ATo16	[internal]
    + * 				MMDRV_Mixer_UnMap32WTo16	[internal]
      */
    -static  WINMM_MapType	MMDRV_Mixer_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_Mixer_UnMap32WTo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         return WINMM_MAP_MSGERROR;
     }
    @@ -187,33 +185,33 @@ static  void	CALLBACK MMDRV_Mixer_Callback(HDRVR hDev, UINT uMsg, DWORD dwInstan
      * ================================= */
     
     /**************************************************************************
    - * 				MMDRV_MidiIn_Map16To32A		[internal]
    + * 				MMDRV_MidiIn_Map16To32W		[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiIn_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_MidiIn_Map16To32W  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_MidiIn_UnMap16To32A	[internal]
    + * 				MMDRV_MidiIn_UnMap16To32W	[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiIn_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_MidiIn_UnMap16To32W(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_MidiIn_Map32ATo16		[internal]
    + * 				MMDRV_MidiIn_Map32WTo16		[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiIn_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_MidiIn_Map32WTo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         return WINMM_MAP_MSGERROR;
     }
     
     /**************************************************************************
    - * 				MMDRV_MidiIn_UnMap32ATo16	[internal]
    + * 				MMDRV_MidiIn_UnMap32WTo16	[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiIn_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_MidiIn_UnMap32WTo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         return WINMM_MAP_MSGERROR;
     }
    @@ -275,9 +273,9 @@ static  void	CALLBACK MMDRV_MidiIn_Callback(HDRVR hDev, UINT uMsg, DWORD dwInsta
      * ================================= */
     
     /**************************************************************************
    - * 				MMDRV_MidiOut_Map16To32A	[internal]
    + * 				MMDRV_MidiOut_Map16To32W	[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiOut_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_MidiOut_Map16To32W  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -368,9 +366,9 @@ static  WINMM_MapType	MMDRV_MidiOut_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LP
     }
     
     /**************************************************************************
    - * 				MMDRV_MidiOut_UnMap16To32A	[internal]
    + * 				MMDRV_MidiOut_UnMap16To32W	[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiOut_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_MidiOut_UnMap16To32W(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -440,9 +438,9 @@ static  WINMM_MapType	MMDRV_MidiOut_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LP
     }
     
     /**************************************************************************
    - * 				MMDRV_MidiOut_Map32ATo16	[internal]
    + * 				MMDRV_MidiOut_Map32WTo16	[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiOut_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_MidiOut_Map32WTo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -580,9 +578,9 @@ static  WINMM_MapType	MMDRV_MidiOut_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LP
     }
     
     /**************************************************************************
    - * 				MMDRV_MidiOut_UnMap32ATo16	[internal]
    + * 				MMDRV_MidiOut_UnMap32WTo16	[internal]
      */
    -static  WINMM_MapType	MMDRV_MidiOut_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_MidiOut_UnMap32WTo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -706,9 +704,9 @@ static  void	CALLBACK MMDRV_MidiOut_Callback(HDRVR hDev, UINT uMsg, DWORD dwInst
      * ================================= */
     
     /**************************************************************************
    - * 				MMDRV_WaveIn_Map16To32A		[internal]
    + * 				MMDRV_WaveIn_Map16To32W		[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveIn_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_WaveIn_Map16To32W  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -815,9 +813,9 @@ static  WINMM_MapType	MMDRV_WaveIn_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LPD
     }
     
     /**************************************************************************
    - * 				MMDRV_WaveIn_UnMap16To32A	[internal]
    + * 				MMDRV_WaveIn_UnMap16To32W	[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveIn_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_WaveIn_UnMap16To32W(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -888,9 +886,9 @@ static  WINMM_MapType	MMDRV_WaveIn_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPD
     }
     
     /**************************************************************************
    - * 				MMDRV_WaveIn_Map32ATo16		[internal]
    + * 				MMDRV_WaveIn_Map32WTo16		[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveIn_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_WaveIn_Map32WTo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -1058,9 +1056,9 @@ static  WINMM_MapType	MMDRV_WaveIn_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LPD
     }
     
     /**************************************************************************
    - * 				MMDRV_WaveIn_UnMap32ATo16	[internal]
    + * 				MMDRV_WaveIn_UnMap32WTo16	[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveIn_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_WaveIn_UnMap32WTo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -1197,9 +1195,9 @@ static  void	CALLBACK MMDRV_WaveIn_Callback(HDRVR hDev, UINT uMsg, DWORD dwInsta
      * ================================= */
     
     /**************************************************************************
    - * 				MMDRV_WaveOut_Map16To32A	[internal]
    + * 				MMDRV_WaveOut_Map16To32W	[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveOut_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_WaveOut_Map16To32W  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -1315,9 +1313,9 @@ static  WINMM_MapType	MMDRV_WaveOut_Map16To32A  (UINT wMsg, LPDWORD lpdwUser, LP
     }
     
     /**************************************************************************
    - * 				MMDRV_WaveOut_UnMap16To32A	[internal]
    + * 				MMDRV_WaveOut_UnMap16To32W	[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveOut_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_WaveOut_UnMap16To32W(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         WINMM_MapType	ret = WINMM_MAP_MSGERROR;
     
    @@ -1399,9 +1397,9 @@ static  WINMM_MapType	MMDRV_WaveOut_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LP
     }
     
     /**************************************************************************
    - * 				MMDRV_WaveOut_Map32ATo16	[internal]
    + * 				MMDRV_WaveOut_Map32WTo16	[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveOut_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
    +static  WINMM_MapType	MMDRV_WaveOut_Map32WTo16  (UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2)
     {
         WINMM_MapType	ret;
     
    @@ -1588,9 +1586,9 @@ static  WINMM_MapType	MMDRV_WaveOut_Map32ATo16  (UINT wMsg, LPDWORD lpdwUser, LP
     }
     
     /**************************************************************************
    - * 				MMDRV_WaveOut_UnMap32ATo16	[internal]
    + * 				MMDRV_WaveOut_UnMap32WTo16	[internal]
      */
    -static  WINMM_MapType	MMDRV_WaveOut_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
    +static  WINMM_MapType	MMDRV_WaveOut_UnMap32WTo16(UINT wMsg, LPDWORD lpdwUser, LPDWORD lpParam1, LPDWORD lpParam2, MMRESULT fn_ret)
     {
         WINMM_MapType	ret;
     
    @@ -1855,270 +1853,13 @@ unsigned   MMDRV_LoadMMDrvFunc16(LPCSTR drvName, LPWINE_DRIVER d,
      *              M C I
      * ================================= */
     
    -/**************************************************************************
    - * 			MCI_MapMsg16To32A			[internal]
    +#if 0
    +/* FIXME: this code is kept for not yet implemented optimisation for an application
    + * using the 32A MCI interface and calling a 16 bit driver.
    + * For now, we're doing two conversions:
    + * - 32A => 32W (in 32 bit MCI code)
    + * - 32W => 16  in this file
      */
    -static WINMM_MapType	MCI_MapMsg16To32A(WORD uDevType, WORD wMsg, DWORD* lParam)
    -{
    -    if (*lParam == 0)
    -	return WINMM_MAP_OK;
    -    /* FIXME: to add also (with seg/linear modifications to do):
    -     * MCI_LIST, MCI_LOAD, MCI_QUALITY, MCI_RESERVE, MCI_RESTORE, MCI_SAVE
    -     * MCI_SETAUDIO, MCI_SETTUNER, MCI_SETVIDEO
    -     */
    -    switch (wMsg) {
    -	/* case MCI_CAPTURE */
    -    case MCI_CLOSE:
    -    case MCI_CLOSE_DRIVER:
    -    case MCI_CONFIGURE:
    -    case MCI_COPY:
    -    case MCI_CUE:
    -    case MCI_CUT:
    -    case MCI_DELETE:
    -    case MCI_FREEZE:
    -    case MCI_GETDEVCAPS:
    -	/* case MCI_INDEX: */
    -	/* case MCI_MARK: */
    -	/* case MCI_MONITOR: */
    -    case MCI_PASTE:
    -    case MCI_PAUSE:
    -    case MCI_PLAY:
    -    case MCI_PUT:
    -    case MCI_REALIZE:
    -    case MCI_RECORD:
    -    case MCI_RESUME:
    -    case MCI_SEEK:
    -    case MCI_SET:
    -	/* case MCI_SETTIMECODE:*/
    -	/* case MCI_SIGNAL:*/
    -    case MCI_SPIN:
    -    case MCI_STATUS:		/* FIXME: is wrong for digital video */
    -    case MCI_STEP:
    -    case MCI_STOP:
    -	/* case MCI_UNDO: */
    -    case MCI_UNFREEZE:
    -    case MCI_UPDATE:
    -    case MCI_WHERE:
    -	*lParam = (DWORD)MapSL(*lParam);
    -	return WINMM_MAP_OK;
    -    case MCI_WINDOW:
    -	/* in fact, I would also need the dwFlags... to see
    -	 * which members of lParam are effectively used
    -	 */
    -	*lParam = (DWORD)MapSL(*lParam);
    -	FIXME("Current mapping may be wrong\n");
    -	break;
    -    case MCI_BREAK:
    -	{
    -            LPMCI_BREAK_PARMS		mbp32 = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_BREAK_PARMS));
    -	    LPMCI_BREAK_PARMS16		mbp16 = MapSL(*lParam);
    -
    -	    if (mbp32) {
    -		mbp32->dwCallback = mbp16->dwCallback;
    -		mbp32->nVirtKey = mbp16->nVirtKey;
    -		mbp32->hwndBreak = HWND_32(mbp16->hwndBreak);
    -	    } else {
    -		return WINMM_MAP_NOMEM;
    -	    }
    -	    *lParam = (DWORD)mbp32;
    -	}
    -	return WINMM_MAP_OKMEM;
    -    case MCI_ESCAPE:
    -	{
    -            LPMCI_VD_ESCAPE_PARMSA	mvep32a = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_VD_ESCAPE_PARMSA));
    -	    LPMCI_VD_ESCAPE_PARMS16	mvep16  = MapSL(*lParam);
    -
    -	    if (mvep32a) {
    -		mvep32a->dwCallback       = mvep16->dwCallback;
    -		mvep32a->lpstrCommand     = MapSL(mvep16->lpstrCommand);
    -	    } else {
    -		return WINMM_MAP_NOMEM;
    -	    }
    -	    *lParam = (DWORD)mvep32a;
    -	}
    -	return WINMM_MAP_OKMEM;
    -    case MCI_INFO:
    -	{
    -            LPMCI_INFO_PARMSA	mip32a = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_INFO_PARMSA));
    -	    LPMCI_INFO_PARMS16	mip16  = MapSL(*lParam);
    -
    -	    /* FIXME this is wrong if device is of type
    -	     * MCI_DEVTYPE_DIGITAL_VIDEO, some members are not mapped
    -	     */
    -	    if (mip32a) {
    -		mip32a->dwCallback  = mip16->dwCallback;
    -		mip32a->lpstrReturn = MapSL(mip16->lpstrReturn);
    -		mip32a->dwRetSize   = mip16->dwRetSize;
    -	    } else {
    -		return WINMM_MAP_NOMEM;
    -	    }
    -	    *lParam = (DWORD)mip32a;
    -	}
    -	return WINMM_MAP_OKMEM;
    -    case MCI_OPEN:
    -    case MCI_OPEN_DRIVER:
    -	{
    -            LPMCI_OPEN_PARMSA	mop32a = HeapAlloc(GetProcessHeap(), 0, sizeof(LPMCI_OPEN_PARMS16) + sizeof(MCI_OPEN_PARMSA) + 2 * sizeof(DWORD));
    -	    LPMCI_OPEN_PARMS16	mop16  = MapSL(*lParam);
    -
    -	    if (mop32a) {
    -		*(LPMCI_OPEN_PARMS16*)(mop32a) = mop16;
    -		mop32a = (LPMCI_OPEN_PARMSA)((char*)mop32a + sizeof(LPMCI_OPEN_PARMS16));
    -		mop32a->dwCallback       = mop16->dwCallback;
    -		mop32a->wDeviceID        = mop16->wDeviceID;
    -		mop32a->lpstrDeviceType  = MapSL(mop16->lpstrDeviceType);
    -		mop32a->lpstrElementName = MapSL(mop16->lpstrElementName);
    -		mop32a->lpstrAlias       = MapSL(mop16->lpstrAlias);
    -		/* copy extended information if any...
    -		 * FIXME: this may seg fault if initial structure does not contain them and
    -		 * the reads after msip16 fail under LDT limits...
    -		 * NOTE: this should be split in two. First pass, while calling MCI_OPEN, and
    -		 * should not take care of extended parameters, and should be used by MCI_Open
    -		 * to fetch uDevType. When, this is known, the mapping for sending the
    -		 * MCI_OPEN_DRIVER shall be done depending on uDevType.
    -		 */
    -		memcpy(mop32a + 1, mop16 + 1, 2 * sizeof(DWORD));
    -	    } else {
    -		return WINMM_MAP_NOMEM;
    -	    }
    -	    *lParam = (DWORD)mop32a;
    -	}
    -	return WINMM_MAP_OKMEM;
    -    case MCI_SYSINFO:
    -	{
    -            LPMCI_SYSINFO_PARMSA	msip32a = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_SYSINFO_PARMSA));
    -	    LPMCI_SYSINFO_PARMS16	msip16  = MapSL(*lParam);
    -
    -	    if (msip32a) {
    -		msip32a->dwCallback       = msip16->dwCallback;
    -		msip32a->lpstrReturn      = MapSL(msip16->lpstrReturn);
    -		msip32a->dwRetSize        = msip16->dwRetSize;
    -		msip32a->dwNumber         = msip16->dwNumber;
    -		msip32a->wDeviceType      = msip16->wDeviceType;
    -	    } else {
    -		return WINMM_MAP_NOMEM;
    -	    }
    -	    *lParam = (DWORD)msip32a;
    -	}
    -	return WINMM_MAP_OKMEM;
    -    case MCI_SOUND:
    -	{
    -            LPMCI_SOUND_PARMS		mbp32 = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_SOUND_PARMS));
    -	    LPMCI_SOUND_PARMS16		mbp16 = MapSL(*lParam);
    -
    -	    if (mbp32) {
    -		mbp32->dwCallback = mbp16->dwCallback;
    -		mbp32->lpstrSoundName = MapSL(mbp16->lpstrSoundName);
    -	    } else {
    -		return WINMM_MAP_NOMEM;
    -	    }
    -	    *lParam = (DWORD)mbp32;
    -	}
    -	return WINMM_MAP_OKMEM;
    -    case DRV_LOAD:
    -    case DRV_ENABLE:
    -    case DRV_OPEN:
    -    case DRV_CLOSE:
    -    case DRV_DISABLE:
    -    case DRV_FREE:
    -    case DRV_CONFIGURE:
    -    case DRV_QUERYCONFIGURE:
    -    case DRV_INSTALL:
    -    case DRV_REMOVE:
    -    case DRV_EXITSESSION:
    -    case DRV_EXITAPPLICATION:
    -    case DRV_POWER:
    -	FIXME("This is a hack\n");
    -	return WINMM_MAP_OK;
    -
    -    default:
    -	WARN("Don't know how to map msg=%s\n", MCI_MessageToString(wMsg));
    -    }
    -    return WINMM_MAP_MSGERROR;
    -}
    -
    -/**************************************************************************
    - * 			MCI_UnMapMsg16To32A			[internal]
    - */
    -static  WINMM_MapType	MCI_UnMapMsg16To32A(WORD uDevType, WORD wMsg, DWORD lParam)
    -{
    -    switch (wMsg) {
    -	/* case MCI_CAPTURE */
    -    case MCI_CLOSE:
    -    case MCI_CLOSE_DRIVER:
    -    case MCI_CONFIGURE:
    -    case MCI_COPY:
    -    case MCI_CUE:
    -    case MCI_CUT:
    -    case MCI_DELETE:
    -    case MCI_FREEZE:
    -    case MCI_GETDEVCAPS:
    -	/* case MCI_INDEX: */
    -	/* case MCI_MARK: */
    -	/* case MCI_MONITOR: */
    -    case MCI_PASTE:
    -    case MCI_PAUSE:
    -    case MCI_PLAY:
    -    case MCI_PUT:
    -    case MCI_REALIZE:
    -    case MCI_RECORD:
    -    case MCI_RESUME:
    -    case MCI_SEEK:
    -    case MCI_SET:
    -	/* case MCI_SETTIMECODE:*/
    -	/* case MCI_SIGNAL:*/
    -    case MCI_SPIN:
    -    case MCI_STATUS:
    -    case MCI_STEP:
    -    case MCI_STOP:
    -	/* case MCI_UNDO: */
    -    case MCI_UNFREEZE:
    -    case MCI_UPDATE:
    -    case MCI_WHERE:
    -	return WINMM_MAP_OK;
    -
    -    case MCI_WINDOW:
    -	/* FIXME ?? see Map function */
    -	return WINMM_MAP_OK;
    -
    -    case MCI_BREAK:
    -    case MCI_ESCAPE:
    -    case MCI_INFO:
    -    case MCI_SYSINFO:
    -    case MCI_SOUND:
    -	HeapFree(GetProcessHeap(), 0, (LPVOID)lParam);
    -	return WINMM_MAP_OK;
    -    case MCI_OPEN:
    -    case MCI_OPEN_DRIVER:
    -	if (lParam) {
    -            LPMCI_OPEN_PARMSA	mop32a = (LPMCI_OPEN_PARMSA)lParam;
    -	    LPMCI_OPEN_PARMS16	mop16  = *(LPMCI_OPEN_PARMS16*)((char*)mop32a - sizeof(LPMCI_OPEN_PARMS16));
    -
    -	    mop16->wDeviceID = mop32a->wDeviceID;
    -	    if (!HeapFree(GetProcessHeap(), 0, (LPVOID)(lParam - sizeof(LPMCI_OPEN_PARMS16))))
    -		FIXME("bad free line=%d\n", __LINE__);
    -	}
    -	return WINMM_MAP_OK;
    -    case DRV_LOAD:
    -    case DRV_ENABLE:
    -    case DRV_OPEN:
    -    case DRV_CLOSE:
    -    case DRV_DISABLE:
    -    case DRV_FREE:
    -    case DRV_CONFIGURE:
    -    case DRV_QUERYCONFIGURE:
    -    case DRV_INSTALL:
    -    case DRV_REMOVE:
    -    case DRV_EXITSESSION:
    -    case DRV_EXITAPPLICATION:
    -    case DRV_POWER:
    -	FIXME("This is a hack\n");
    -	return WINMM_MAP_OK;
    -    default:
    -	FIXME("Map/Unmap internal error on msg=%s\n", MCI_MessageToString(wMsg));
    -    }
    -    return WINMM_MAP_MSGERROR;
    -}
     
     /*
      * 0000 stop
    @@ -2132,7 +1873,7 @@ static  WINMM_MapType	MCI_UnMapMsg16To32A(WORD uDevType, WORD wMsg, DWORD lParam
      */
     
     /**************************************************************************
    - * 			MCI_MsgMapper32To16_Create		[internal]
    + * 			MCI_MsgMapper32ATo16_Create		[internal]
      *
      * Helper for MCI_MapMsg32ATo16.
      * Maps the 32 bit pointer (*ptr), of size bytes, to an allocated 16 bit
    @@ -2141,7 +1882,7 @@ static  WINMM_MapType	MCI_UnMapMsg16To32A(WORD uDevType, WORD wMsg, DWORD lParam
      * above)
      * if keep is TRUE, keeps track of in 32 bit ptr in allocated 16 bit area.
      */
    -static	WINMM_MapType	MCI_MsgMapper32To16_Create(void** ptr, int size16, DWORD map, BOOLEAN keep)
    +static	WINMM_MapType	MCI_MsgMapper32ATo16_Create(void** ptr, int size16, DWORD map, BOOLEAN keep)
     {
         void*	lp = HeapAlloc( GetProcessHeap(), 0, (keep ? sizeof(void**) : 0) + size16 );
         LPBYTE	p16, p32;
    @@ -2212,11 +1953,11 @@ static	WINMM_MapType	MCI_MsgMapper32To16_Create(void** ptr, int size16, DWORD ma
     }
     
     /**************************************************************************
    - * 			MCI_MsgMapper32To16_Destroy		[internal]
    + * 			MCI_MsgMapper32ATo16_Destroy		[internal]
      *
      * Helper for MCI_UnMapMsg32ATo16.
      */
    -static	WINMM_MapType	MCI_MsgMapper32To16_Destroy(void* ptr, int size16, DWORD map, BOOLEAN kept)
    +static	WINMM_MapType	MCI_MsgMapper32ATo16_Destroy(void* ptr, int size16, DWORD map, BOOLEAN kept)
     {
         if (ptr) {
     	void*		msg16 = MapSL((SEGPTR)ptr);
    @@ -2558,7 +2299,7 @@ static  WINMM_MapType	MCI_MapMsg32ATo16(WORD uDevType, WORD wMsg, DWORD dwFlags,
                 LPMCI_OPEN_DRIVER_PARMSA  modp32a = (LPMCI_OPEN_DRIVER_PARMSA)(*lParam);
                 LPMCI_OPEN_DRIVER_PARMS16 modp16;
                 char *ptr = HeapAlloc( GetProcessHeap(), 0,
    -                                  sizeof(LPMCI_OPEN_DRIVER_PARMSA) + sizeof(MCI_OPEN_DRIVER_PARMS16));
    +                                   sizeof(LPMCI_OPEN_DRIVER_PARMSA) + sizeof(MCI_OPEN_DRIVER_PARMS16));
     
     	    if (ptr) {
     		*(LPMCI_OPEN_DRIVER_PARMSA*)(ptr) = modp32a;
    @@ -2587,10 +2328,10 @@ static  WINMM_MapType	MCI_MapMsg32ATo16(WORD uDevType, WORD wMsg, DWORD dwFlags,
     	return WINMM_MAP_OK;
     
         default:
    -	WARN("Don't know how to map msg=%s\n", MCI_MessageToString(wMsg));
    +	FIXME("Don't know how to map msg=%s\n", MCI_MessageToString(wMsg));
     	return WINMM_MAP_MSGERROR;
         }
    -    return MCI_MsgMapper32To16_Create((void**)lParam, size, map, keep);
    +    return MCI_MsgMapper32ATo16_Create((void**)lParam, size, map, keep);
     }
     
     /**************************************************************************
    @@ -2774,14 +2515,1000 @@ static  WINMM_MapType	MCI_UnMapMsg32ATo16(WORD uDevType, WORD wMsg, DWORD dwFlag
     	FIXME("Map/Unmap internal error on msg=%s\n", MCI_MessageToString(wMsg));
     	return WINMM_MAP_MSGERROR;
         }
    -    return MCI_MsgMapper32To16_Destroy((void*)lParam, size, map, kept);
    +    return MCI_MsgMapper32ATo16_Destroy((void*)lParam, size, map, kept);
    +}
    +#endif
    +
    +/**************************************************************************
    + * 			MCI_MapMsg16To32W			[internal]
    + */
    +static WINMM_MapType	MCI_MapMsg16To32W(WORD uDevType, WORD wMsg, DWORD* lParam)
    +{
    +    if (*lParam == 0)
    +	return WINMM_MAP_OK;
    +    /* FIXME: to add also (with seg/linear modifications to do):
    +     * MCI_LIST, MCI_LOAD, MCI_QUALITY, MCI_RESERVE, MCI_RESTORE, MCI_SAVE
    +     * MCI_SETAUDIO, MCI_SETTUNER, MCI_SETVIDEO
    +     */
    +    switch (wMsg) {
    +	/* case MCI_CAPTURE */
    +    case MCI_CLOSE:
    +    case MCI_CLOSE_DRIVER:
    +    case MCI_CONFIGURE:
    +    case MCI_COPY:
    +    case MCI_CUE:
    +    case MCI_CUT:
    +    case MCI_DELETE:
    +    case MCI_FREEZE:
    +    case MCI_GETDEVCAPS:
    +	/* case MCI_INDEX: */
    +	/* case MCI_MARK: */
    +	/* case MCI_MONITOR: */
    +    case MCI_PASTE:
    +    case MCI_PAUSE:
    +    case MCI_PLAY:
    +    case MCI_PUT:
    +    case MCI_REALIZE:
    +    case MCI_RECORD:
    +    case MCI_RESUME:
    +    case MCI_SEEK:
    +    case MCI_SET:
    +	/* case MCI_SETTIMECODE:*/
    +	/* case MCI_SIGNAL:*/
    +    case MCI_SPIN:
    +    case MCI_STATUS:		/* FIXME: is wrong for digital video */
    +    case MCI_STEP:
    +    case MCI_STOP:
    +	/* case MCI_UNDO: */
    +    case MCI_UNFREEZE:
    +    case MCI_UPDATE:
    +    case MCI_WHERE:
    +	*lParam = (DWORD)MapSL(*lParam);
    +	return WINMM_MAP_OK;
    +    case MCI_WINDOW:
    +	/* in fact, I would also need the dwFlags... to see
    +	 * which members of lParam are effectively used
    +	 */
    +	*lParam = (DWORD)MapSL(*lParam);
    +	FIXME("Current mapping may be wrong\n");
    +	break;
    +    case MCI_BREAK:
    +	{
    +            LPMCI_BREAK_PARMS		mbp32 = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_BREAK_PARMS));
    +	    LPMCI_BREAK_PARMS16		mbp16 = MapSL(*lParam);
    +
    +	    if (mbp32) {
    +		mbp32->dwCallback = mbp16->dwCallback;
    +		mbp32->nVirtKey = mbp16->nVirtKey;
    +		mbp32->hwndBreak = HWND_32(mbp16->hwndBreak);
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (DWORD)mbp32;
    +	}
    +	return WINMM_MAP_OKMEM;
    +    case MCI_ESCAPE:
    +	{
    +            LPMCI_VD_ESCAPE_PARMSW	mvep32w = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_VD_ESCAPE_PARMSW));
    +	    LPMCI_VD_ESCAPE_PARMS16	mvep16  = MapSL(*lParam);
    +
    +	    if (mvep32w) {
    +		mvep32w->dwCallback       = mvep16->dwCallback;
    +		mvep32w->lpstrCommand     = MCI_strdupAtoW(MapSL(mvep16->lpstrCommand));
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (DWORD)mvep32w;
    +	}
    +	return WINMM_MAP_OKMEM;
    +    case MCI_INFO:
    +	{
    +            LPMCI_INFO_PARMSW	mip32w = HeapAlloc(GetProcessHeap(), 0, sizeof(LPMCI_OPEN_PARMS16) + sizeof(MCI_INFO_PARMSW));
    +	    LPMCI_INFO_PARMS16	mip16  = MapSL(*lParam);
    +
    +	    /* FIXME this is wrong if device is of type
    +	     * MCI_DEVTYPE_DIGITAL_VIDEO, some members are not mapped
    +	     */
    +	    if (mip32w) {
    +		*(LPMCI_INFO_PARMS16*)(mip32w) = mip16;
    +		mip32w = (LPMCI_INFO_PARMSW)((char*)mip32w + sizeof(LPMCI_INFO_PARMS16));
    +		mip32w->dwCallback  = mip16->dwCallback;
    +		mip32w->lpstrReturn = HeapAlloc(GetProcessHeap(), 0, mip16->dwRetSize * sizeof(WCHAR));
    +		mip32w->dwRetSize   = mip16->dwRetSize * sizeof(WCHAR);
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (DWORD)mip32w;
    +	}
    +	return WINMM_MAP_OKMEM;
    +    case MCI_OPEN:
    +    case MCI_OPEN_DRIVER:
    +	{
    +            LPMCI_OPEN_PARMSW	mop32w = HeapAlloc(GetProcessHeap(), 0, sizeof(LPMCI_OPEN_PARMS16) + sizeof(MCI_OPEN_PARMSW) + 2 * sizeof(DWORD));
    +	    LPMCI_OPEN_PARMS16	mop16  = MapSL(*lParam);
    +
    +	    if (mop32w) {
    +		*(LPMCI_OPEN_PARMS16*)(mop32w) = mop16;
    +		mop32w = (LPMCI_OPEN_PARMSW)((char*)mop32w + sizeof(LPMCI_OPEN_PARMS16));
    +		mop32w->dwCallback       = mop16->dwCallback;
    +		mop32w->wDeviceID        = mop16->wDeviceID;
    +		mop32w->lpstrDeviceType  = MCI_strdupAtoW(MapSL(mop16->lpstrDeviceType));
    +                mop32w->lpstrElementName = MCI_strdupAtoW(MapSL(mop16->lpstrElementName));
    +                mop32w->lpstrAlias       = MCI_strdupAtoW(MapSL(mop16->lpstrAlias));
    +		/* copy extended information if any...
    +		 * FIXME: this may seg fault if initial structure does not contain them and
    +		 * the reads after msip16 fail under LDT limits...
    +		 * NOTE: this should be split in two. First pass, while calling MCI_OPEN, and
    +		 * should not take care of extended parameters, and should be used by MCI_Open
    +		 * to fetch uDevType. When, this is known, the mapping for sending the
    +		 * MCI_OPEN_DRIVER shall be done depending on uDevType.
    +		 */
    +		memcpy(mop32w + 1, mop16 + 1, 2 * sizeof(DWORD));
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (DWORD)mop32w;
    +	}
    +	return WINMM_MAP_OKMEM;
    +    case MCI_SYSINFO:
    +	{
    +            LPMCI_SYSINFO_PARMSW	msip32w = HeapAlloc(GetProcessHeap(), 0, sizeof(LPMCI_OPEN_PARMS16) + sizeof(MCI_SYSINFO_PARMSW));
    +	    LPMCI_SYSINFO_PARMS16	msip16  = MapSL(*lParam);
    +
    +	    if (msip32w) {
    +		*(LPMCI_SYSINFO_PARMS16*)(msip32w) = msip16;
    +		msip32w = (LPMCI_SYSINFO_PARMSW)((char*)msip32w + sizeof(LPMCI_OPEN_PARMS16));
    +		msip32w->dwCallback       = msip16->dwCallback;
    +		msip32w->lpstrReturn      = HeapAlloc(GetProcessHeap(), 0, msip16->dwRetSize * sizeof(WCHAR));
    +		msip32w->dwRetSize        = msip16->dwRetSize;
    +		msip32w->dwNumber         = msip16->dwNumber;
    +		msip32w->wDeviceType      = msip16->wDeviceType;
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (DWORD)msip32w;
    +	}
    +	return WINMM_MAP_OKMEM;
    +    case MCI_SOUND:
    +	{
    +            LPMCI_SOUND_PARMSW		mbp32 = HeapAlloc(GetProcessHeap(), 0, sizeof(MCI_SOUND_PARMSW));
    +	    LPMCI_SOUND_PARMS16		mbp16 = MapSL(*lParam);
    +
    +	    if (mbp32) {
    +		mbp32->dwCallback = mbp16->dwCallback;
    +		mbp32->lpstrSoundName = MCI_strdupAtoW(MapSL(mbp16->lpstrSoundName));
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (DWORD)mbp32;
    +	}
    +	return WINMM_MAP_OKMEM;
    +    case DRV_LOAD:
    +    case DRV_ENABLE:
    +    case DRV_OPEN:
    +    case DRV_CLOSE:
    +    case DRV_DISABLE:
    +    case DRV_FREE:
    +    case DRV_CONFIGURE:
    +    case DRV_QUERYCONFIGURE:
    +    case DRV_INSTALL:
    +    case DRV_REMOVE:
    +    case DRV_EXITSESSION:
    +    case DRV_EXITAPPLICATION:
    +    case DRV_POWER:
    +	FIXME("This is a hack\n");
    +	return WINMM_MAP_OK;
    +    default:
    +	FIXME("Don't know how to map msg=%s\n", MCI_MessageToString(wMsg));
    +    }
    +    return WINMM_MAP_MSGERROR;
    +}
    +
    +/**************************************************************************
    + * 			MCI_UnMapMsg16To32W			[internal]
    + */
    +static  WINMM_MapType	MCI_UnMapMsg16To32W(WORD uDevType, WORD wMsg, DWORD lParam)
    +{
    +    switch (wMsg) {
    +	/* case MCI_CAPTURE */
    +    case MCI_CLOSE:
    +    case MCI_CLOSE_DRIVER:
    +    case MCI_CONFIGURE:
    +    case MCI_COPY:
    +    case MCI_CUE:
    +    case MCI_CUT:
    +    case MCI_DELETE:
    +    case MCI_FREEZE:
    +    case MCI_GETDEVCAPS:
    +	/* case MCI_INDEX: */
    +	/* case MCI_MARK: */
    +	/* case MCI_MONITOR: */
    +    case MCI_PASTE:
    +    case MCI_PAUSE:
    +    case MCI_PLAY:
    +    case MCI_PUT:
    +    case MCI_REALIZE:
    +    case MCI_RECORD:
    +    case MCI_RESUME:
    +    case MCI_SEEK:
    +    case MCI_SET:
    +	/* case MCI_SETTIMECODE:*/
    +	/* case MCI_SIGNAL:*/
    +    case MCI_SPIN:
    +    case MCI_STATUS:
    +    case MCI_STEP:
    +    case MCI_STOP:
    +	/* case MCI_UNDO: */
    +    case MCI_UNFREEZE:
    +    case MCI_UPDATE:
    +    case MCI_WHERE:
    +	return WINMM_MAP_OK;
    +
    +    case MCI_WINDOW:
    +	/* FIXME ?? see Map function */
    +	return WINMM_MAP_OK;
    +
    +    case MCI_BREAK:
    +	HeapFree(GetProcessHeap(), 0, (LPVOID)lParam);
    +	return WINMM_MAP_OK;
    +    case MCI_ESCAPE:
    +        if (lParam) {
    +            LPMCI_VD_ESCAPE_PARMSW	mvep32W = (LPMCI_VD_ESCAPE_PARMSW)lParam;
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)mvep32W->lpstrCommand);
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)lParam);
    +        }
    +	return WINMM_MAP_OK;
    +    case MCI_INFO:
    +        if (lParam) {
    +            LPMCI_INFO_PARMSW	        mip32w = (LPMCI_INFO_PARMSW)lParam;
    +	    LPMCI_INFO_PARMS16          mip16  = *(LPMCI_INFO_PARMS16*)((char*)mip32w - sizeof(LPMCI_INFO_PARMS16));
    +
    +            WideCharToMultiByte(CP_ACP, 0,
    +                                mip32w->lpstrReturn, mip32w->dwRetSize / sizeof(WCHAR),
    +                                MapSL(mip16->lpstrReturn), mip16->dwRetSize,
    +                                NULL, NULL);
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)mip32w->lpstrReturn);
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)lParam);
    +        }
    +	return WINMM_MAP_OK;
    +    case MCI_SYSINFO:
    +        if (lParam) {
    +            LPMCI_SYSINFO_PARMSW	   msip32w = (LPMCI_SYSINFO_PARMSW)lParam;
    +	    LPMCI_SYSINFO_PARMS16          msip16  = *(LPMCI_SYSINFO_PARMS16*)((char*)msip32w - sizeof(LPMCI_SYSINFO_PARMS16));
    +
    +            WideCharToMultiByte(CP_ACP, 0,
    +                                msip32w->lpstrReturn, msip32w->dwRetSize,
    +                                MapSL(msip16->lpstrReturn), msip16->dwRetSize,
    +                                NULL, NULL);
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)msip32w->lpstrReturn);
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)lParam);
    +        }
    +	return WINMM_MAP_OK;
    +    case MCI_SOUND:
    +        if (lParam) {
    +            LPMCI_SOUND_PARMSW          msp32W = (LPMCI_SOUND_PARMSW)lParam;
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)msp32W->lpstrSoundName);
    +            HeapFree(GetProcessHeap(), 0, (LPVOID)lParam);
    +        }
    +	return WINMM_MAP_OK;
    +    case MCI_OPEN:
    +    case MCI_OPEN_DRIVER:
    +	if (lParam) {
    +            LPMCI_OPEN_PARMSW	mop32w = (LPMCI_OPEN_PARMSW)lParam;
    +	    LPMCI_OPEN_PARMS16	mop16  = *(LPMCI_OPEN_PARMS16*)((char*)mop32w - sizeof(LPMCI_OPEN_PARMS16));
    +
    +	    mop16->wDeviceID = mop32w->wDeviceID;
    +            HeapFree(GetProcessHeap(), 0, mop32w->lpstrDeviceType);
    +            HeapFree(GetProcessHeap(), 0, mop32w->lpstrElementName);
    +            HeapFree(GetProcessHeap(), 0, mop32w->lpstrAlias);
    +	    if (!HeapFree(GetProcessHeap(), 0, (LPVOID)(lParam - sizeof(LPMCI_OPEN_PARMS16))))
    +		FIXME("bad free line=%d\n", __LINE__);
    +	}
    +	return WINMM_MAP_OK;
    +    case DRV_LOAD:
    +    case DRV_ENABLE:
    +    case DRV_OPEN:
    +    case DRV_CLOSE:
    +    case DRV_DISABLE:
    +    case DRV_FREE:
    +    case DRV_CONFIGURE:
    +    case DRV_QUERYCONFIGURE:
    +    case DRV_INSTALL:
    +    case DRV_REMOVE:
    +    case DRV_EXITSESSION:
    +    case DRV_EXITAPPLICATION:
    +    case DRV_POWER:
    +	FIXME("This is a hack\n");
    +	return WINMM_MAP_OK;
    +    default:
    +	FIXME("Map/Unmap internal error on msg=%s\n", MCI_MessageToString(wMsg));
    +    }
    +    return WINMM_MAP_MSGERROR;
    +}
    +
    +/*
    + * 0000 stop
    + * 0001 squeeze   signed 4 bytes to 2 bytes     *( LPINT16)D = ( INT16)*( LPINT16)S; D += 2;     S += 4
    + * 0010 squeeze unsigned 4 bytes to 2 bytes     *(LPUINT16)D = (UINT16)*(LPUINT16)S; D += 2;     S += 4
    + * 0100
    + * 0101
    + * 0110 zero 4 bytes                            *(DWORD)D = 0                        D += 4;     S += 4
    + * 0111 copy string                             *(LPSTR*)D = seg dup(*(LPSTR*)S)     D += 4;     S += 4
    + * 1xxx copy xxx + 1 bytes                      memcpy(D, S, xxx + 1);               D += xxx+1; S += xxx+1
    + */
    +
    +/**************************************************************************
    + * 			MCI_MsgMapper32WTo16_Create		[internal]
    + *
    + * Helper for MCI_MapMsg32WTo16.
    + * Maps the 32 bit pointer (*ptr), of size bytes, to an allocated 16 bit
    + * segmented pointer.
    + * map contains a list of action to be performed for the mapping (see list
    + * above)
    + * if keep is TRUE, keeps track of in 32 bit ptr in allocated 16 bit area.
    + */
    +static	WINMM_MapType	MCI_MsgMapper32WTo16_Create(void** ptr, int size16, DWORD map, BOOLEAN keep)
    +{
    +    void*	lp = HeapAlloc( GetProcessHeap(), 0, (keep ? sizeof(void**) : 0) + size16 );
    +    LPBYTE	p16, p32;
    +
    +    if (!lp) {
    +	return WINMM_MAP_NOMEM;
    +    }
    +    p32 = (LPBYTE)(*ptr);
    +    if (keep) {
    +	*(void**)lp = *ptr;
    +	p16 = (LPBYTE)lp + sizeof(void**);
    +	*ptr = (char*)MapLS(lp) + sizeof(void**);
    +    } else {
    +	p16 = lp;
    +	*ptr = (void*)MapLS(lp);
    +    }
    +
    +    if (map == 0) {
    +	memcpy(p16, p32, size16);
    +    } else {
    +	unsigned	nibble;
    +	unsigned	sz;
    +
    +	while (map & 0xF) {
    +	    nibble = map & 0xF;
    +	    if (nibble & 0x8) {
    +		sz = (nibble & 7) + 1;
    +		memcpy(p16, p32, sz);
    +		p16 += sz;
    +		p32 += sz;
    +		size16 -= sz;	/* DEBUG only */
    +	    } else {
    +		switch (nibble) {
    +		case 0x1:
    +                    *(LPINT16)p16 = *(LPINT)p32;
    +                    p16 += sizeof(INT16);
    +                    p32 += sizeof(INT);
    +                    size16 -= sizeof(INT16);
    +                    break;
    +		case 0x2:
    +                    *(LPUINT16)p16 = *(LPUINT)p32;
    +                    p16 += sizeof(UINT16);
    +                    p32 += sizeof(UINT);
    +                    size16 -= sizeof(UINT16);
    +                    break;
    +		case 0x6:
    +                    *(LPDWORD)p16 = 0;
    +                    p16 += sizeof(DWORD);
    +                    p32 += sizeof(DWORD);
    +                    size16 -= sizeof(DWORD);
    +                    break;
    +		case 0x7:
    +                    *(SEGPTR *)p16 = MapLS( MCI_strdupWtoA( *(LPCWSTR *)p32 ) );
    +                    p16 += sizeof(SEGPTR);
    +                    p32 += sizeof(LPSTR);
    +                    size16 -= sizeof(SEGPTR);
    +                    break;
    +		default:
    +                    FIXME("Unknown nibble for mapping (%x)\n", nibble);
    +		}
    +	    }
    +	    map >>= 4;
    +	}
    +	if (size16 != 0) /* DEBUG only */
    +	    FIXME("Mismatch between 16 bit struct size and map nibbles serie\n");
    +    }
    +    return WINMM_MAP_OKMEM;
    +}
    +
    +/**************************************************************************
    + * 			MCI_MsgMapper32WTo16_Destroy		[internal]
    + *
    + * Helper for MCI_UnMapMsg32WTo16.
    + */
    +static	WINMM_MapType	MCI_MsgMapper32WTo16_Destroy(void* ptr, int size16, DWORD map, BOOLEAN kept)
    +{
    +    if (ptr) {
    +	void*		msg16 = MapSL((SEGPTR)ptr);
    +	void*		alloc;
    +	LPBYTE		p32, p16;
    +	unsigned	nibble;
    +
    +        UnMapLS( (SEGPTR)ptr );
    +	if (kept) {
    +	    alloc = (char*)msg16 - sizeof(void**);
    +	    p32 = *(void**)alloc;
    +	    p16 = msg16;
    +
    +	    if (map == 0) {
    +		memcpy(p32, p16, size16);
    +	    } else {
    +		while (map & 0xF) {
    +		    nibble = map & 0xF;
    +		    if (nibble & 0x8) {
    +			memcpy(p32, p16, (nibble & 7) + 1);
    +			p16 += (nibble & 7) + 1;
    +			p32 += (nibble & 7) + 1;
    +			size16 -= (nibble & 7) + 1;
    +		    } else {
    +			switch (nibble) {
    +			case 0x1:
    +                            *(LPINT)p32 = *(LPINT16)p16;
    +                            p16 += sizeof(INT16);
    +                            p32 += sizeof(INT);
    +                            size16 -= sizeof(INT16);
    +                            break;
    +			case 0x2:
    +                            *(LPUINT)p32 = *(LPUINT16)p16;
    +                            p16 += sizeof(UINT16);
    +                            p32 += sizeof(UINT);
    +                            size16 -= sizeof(UINT16);
    +                            break;
    +			case 0x6:
    +                            p16 += sizeof(UINT);
    +                            p32 += sizeof(UINT);
    +                            size16 -= sizeof(UINT);
    +                            break;
    +			case 0x7:
    +                            HeapFree(GetProcessHeap(), 0, MapSL(*(SEGPTR *)p16));
    +                            UnMapLS( *(SEGPTR *)p16 );
    +                            p16 += sizeof(SEGPTR);
    +                            p32 += sizeof(char*);
    +                            size16 -= sizeof(SEGPTR);
    +                            break;
    +			default:
    +                            FIXME("Unknown nibble for mapping (%x)\n", nibble);
    +			}
    +		    }
    +		    map >>= 4;
    +		}
    +		if (size16 != 0) /* DEBUG only */
    +		    FIXME("Mismatch between 16 bit struct size and map nibbles serie\n");
    +	    }
    +	} else {
    +	    alloc = msg16;
    +	}
    +
    +        HeapFree( GetProcessHeap(), 0, alloc );
    +    }
    +    return WINMM_MAP_OK;
    +}
    +
    +/**************************************************************************
    + * 			MCI_MapMsg32WTo16			[internal]
    + *
    + * Map a 32W bit MCI message to a 16 bit MCI message.
    + */
    +static  WINMM_MapType	MCI_MapMsg32WTo16(WORD uDevType, WORD wMsg, DWORD dwFlags, DWORD* lParam)
    +{
    +    int		size;
    +    BOOLEAN     keep = FALSE;
    +    DWORD	map = 0;
    +
    +    if (*lParam == 0)
    +	return WINMM_MAP_OK;
    +
    +    /* FIXME: to add also (with seg/linear modifications to do):
    +     * MCI_LIST, MCI_LOAD, MCI_QUALITY, MCI_RESERVE, MCI_RESTORE, MCI_SAVE
    +     * MCI_SETAUDIO, MCI_SETTUNER, MCI_SETVIDEO
    +     */
    +    switch (wMsg) {
    +    case MCI_BREAK:
    +	size = sizeof(MCI_BREAK_PARMS);
    +	break;
    +	/* case MCI_CAPTURE */
    +    case MCI_CLOSE:
    +    case MCI_CLOSE_DRIVER:
    +    case MCI_CONFIGURE:
    +	size = sizeof(MCI_GENERIC_PARMS);
    +	break;
    +	/* case MCI_COPY: */
    +    case MCI_CUE:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_CUE_PARMS);	break;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_CUE_PARMS);	break;*/	FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +	/* case MCI_CUT:*/
    +    case MCI_DELETE:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_DELETE_PARMS16);	map = 0x0F1111FB;	break;
    +	case MCI_DEVTYPE_WAVEFORM_AUDIO:size = sizeof(MCI_WAVE_DELETE_PARMS);	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +	/* case MCI_ESCAPE: */
    +    case MCI_FREEZE:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_FREEZE_PARMS);	map = 0x0001111B; 	break;
    +	case MCI_DEVTYPE_OVERLAY:	size = sizeof(MCI_OVLY_RECT_PARMS);	map = 0x0001111B;	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +    case MCI_GETDEVCAPS:
    +	keep = TRUE;
    +	size = sizeof(MCI_GETDEVCAPS_PARMS);
    +	break;
    +	/* case MCI_INDEX: */
    +    case MCI_INFO:
    +	{
    +            LPMCI_INFO_PARMSW	mip32w = (LPMCI_INFO_PARMSW)(*lParam);
    +            char*               ptr;
    +	    LPMCI_INFO_PARMS16	mip16;
    +
    +	    switch (uDevType) {
    +	    case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_INFO_PARMS16);	break;
    +	    default:				size = sizeof(MCI_INFO_PARMS16);	break;
    +	    }
    +            ptr = HeapAlloc( GetProcessHeap(), 0, sizeof(LPMCI_INFO_PARMSW) + size);
    +            if (ptr)
    +            {
    +		*(LPMCI_INFO_PARMSW*)ptr = mip32w;
    +		mip16 = (LPMCI_INFO_PARMS16)(ptr + sizeof(LPMCI_INFO_PARMSW));
    +		mip16->dwCallback  = mip32w->dwCallback;
    +		mip16->lpstrReturn = MapLS( HeapAlloc(GetProcessHeap(), 0, mip32w->dwRetSize / sizeof(WCHAR)) );
    +		mip16->dwRetSize   = mip32w->dwRetSize / sizeof(WCHAR);
    +		if (uDevType == MCI_DEVTYPE_DIGITAL_VIDEO) {
    +		    ((LPMCI_DGV_INFO_PARMS16)mip16)->dwItem = ((LPMCI_DGV_INFO_PARMSW)mip32w)->dwItem;
    +		}
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +            *lParam = (LPARAM)MapLS(ptr) + sizeof(LPMCI_INFO_PARMSW);
    +	}
    +	return WINMM_MAP_OKMEM;
    +	/* case MCI_MARK: */
    +	/* case MCI_MONITOR: */
    +    case MCI_OPEN:
    +    case MCI_OPEN_DRIVER:
    +	{
    +            LPMCI_OPEN_PARMSW	mop32w = (LPMCI_OPEN_PARMSW)(*lParam);
    +            char* ptr = HeapAlloc( GetProcessHeap(), 0,
    +                                   sizeof(LPMCI_OPEN_PARMSW) + sizeof(MCI_OPEN_PARMS16) + 2 * sizeof(DWORD));
    +	    LPMCI_OPEN_PARMS16	mop16;
    +
    +
    +	    if (ptr) {
    +		*(LPMCI_OPEN_PARMSW*)(ptr) = mop32w;
    +		mop16 = (LPMCI_OPEN_PARMS16)(ptr + sizeof(LPMCI_OPEN_PARMSW));
    +		mop16->dwCallback       = mop32w->dwCallback;
    +		mop16->wDeviceID        = mop32w->wDeviceID;
    +		if (dwFlags & MCI_OPEN_TYPE) {
    +		    if (dwFlags & MCI_OPEN_TYPE_ID) {
    +			/* dword "transparent" value */
    +			mop16->lpstrDeviceType = (SEGPTR)mop32w->lpstrDeviceType;
    +		    } else {
    +			/* string */
    +			mop16->lpstrDeviceType = MapLS( MCI_strdupWtoA(mop32w->lpstrDeviceType) );
    +		    }
    +		} else {
    +		    /* nuthin' */
    +		    mop16->lpstrDeviceType = 0;
    +		}
    +		if (dwFlags & MCI_OPEN_ELEMENT) {
    +		    if (dwFlags & MCI_OPEN_ELEMENT_ID) {
    +			mop16->lpstrElementName = (SEGPTR)mop32w->lpstrElementName;
    +		    } else {
    +			mop16->lpstrElementName = MapLS( MCI_strdupWtoA(mop32w->lpstrElementName) );
    +		    }
    +		} else {
    +		    mop16->lpstrElementName = 0;
    +		}
    +		if (dwFlags & MCI_OPEN_ALIAS) {
    +		    mop16->lpstrAlias = MapLS( MCI_strdupWtoA(mop32w->lpstrAlias) );
    +		} else {
    +		    mop16->lpstrAlias = 0;
    +		}
    +		/* copy extended information if any...
    +		 * FIXME: this may seg fault if initial structure does not contain them and
    +		 * the reads after msip16 fail under LDT limits...
    +		 * NOTE: this should be split in two. First pass, while calling MCI_OPEN, and
    +		 * should not take care of extended parameters, and should be used by MCI_Open
    +		 * to fetch uDevType. When, this is known, the mapping for sending the
    +		 * MCI_OPEN_DRIVER shall be done depending on uDevType.
    +		 */
    +		memcpy(mop16 + 1, mop32w + 1, 2 * sizeof(DWORD));
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (LPARAM)MapLS(ptr) + sizeof(LPMCI_OPEN_PARMSW);
    +	}
    +	return WINMM_MAP_OKMEM;
    +	/* case MCI_PASTE:*/
    +    case MCI_PAUSE:
    +	size = sizeof(MCI_GENERIC_PARMS);
    +	break;
    +    case MCI_PLAY:
    +	size = sizeof(MCI_PLAY_PARMS);
    +	break;
    +    case MCI_PUT:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_RECT_PARMS16);	map = 0x0001111B;	break;
    +	case MCI_DEVTYPE_OVERLAY:	size = sizeof(MCI_OVLY_RECT_PARMS);	map = 0x0001111B;	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +    case MCI_REALIZE:
    +	size = sizeof(MCI_GENERIC_PARMS);
    +	break;
    +    case MCI_RECORD:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_RECORD_PARMS16);	map = 0x0F1111FB;	break;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_RECORD_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	default:			size = sizeof(MCI_RECORD_PARMS);	break;
    +	}
    +	break;
    +    case MCI_RESUME:
    +	size = sizeof(MCI_GENERIC_PARMS);
    +	break;
    +    case MCI_SEEK:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_SEEK_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	default:			size = sizeof(MCI_SEEK_PARMS);		break;
    +	}
    +	break;
    +    case MCI_SET:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_SET_PARMS);	break;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_SET_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	case MCI_DEVTYPE_SEQUENCER:	size = sizeof(MCI_SEQ_SET_PARMS);	break;
    +        /* FIXME: normally the 16 and 32 bit structures are byte by byte aligned,
    +	 * so not doing anything should work...
    +	 */
    +	case MCI_DEVTYPE_WAVEFORM_AUDIO:size = sizeof(MCI_WAVE_SET_PARMS);	break;
    +	default:			size = sizeof(MCI_SET_PARMS);		break;
    +	}
    +	break;
    +    case MCI_SETAUDIO:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_SETAUDIO_PARMS16);map = 0x0000077FF;	break;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_SETAUDIO_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +	/* case MCI_SETTIMECODE:*/
    +	/* case MCI_SIGNAL:*/
    +        /* case MCI_SOUND:*/
    +    case MCI_SPIN:
    +	size = sizeof(MCI_SET_PARMS);
    +	break;
    +    case MCI_STATUS:
    +	keep = TRUE;
    +	switch (uDevType) {
    +	/* FIXME:
    +	 * don't know if buffer for value is the one passed through lpstrDevice
    +	 * or is provided by MCI driver.
    +	 * Assuming solution 2: provided by MCI driver, so zeroing on entry
    +	 */
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_STATUS_PARMS16);	map = 0x0B6FF;		break;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_STATUS_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	default:			size = sizeof(MCI_STATUS_PARMS);	break;
    +	}
    +	break;
    +    case MCI_STEP:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_STEP_PARMS);	break;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_STEP_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	case MCI_DEVTYPE_VIDEODISC:	size = sizeof(MCI_VD_STEP_PARMS);	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +    case MCI_STOP:
    +	size = sizeof(MCI_SET_PARMS);
    +	break;
    +    case MCI_SYSINFO:
    +	{
    +            LPMCI_SYSINFO_PARMSW  msip32w = (LPMCI_SYSINFO_PARMSW)(*lParam);
    +            LPMCI_SYSINFO_PARMS16 msip16;
    +            char* ptr = HeapAlloc( GetProcessHeap(), 0,
    +                                   sizeof(LPMCI_SYSINFO_PARMSW) + sizeof(MCI_SYSINFO_PARMS16) );
    +
    +	    if (ptr) {
    +		*(LPMCI_SYSINFO_PARMSW*)(ptr) = msip32w;
    +		msip16 = (LPMCI_SYSINFO_PARMS16)(ptr + sizeof(LPMCI_SYSINFO_PARMSW));
    +
    +		msip16->dwCallback       = msip32w->dwCallback;
    +		msip16->lpstrReturn      = MapLS( HeapAlloc(GetProcessHeap(), 0, msip32w->dwRetSize) );
    +		msip16->dwRetSize        = msip32w->dwRetSize;
    +		msip16->dwNumber         = msip32w->dwNumber;
    +		msip16->wDeviceType      = msip32w->wDeviceType;
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (LPARAM)MapLS(ptr) + sizeof(LPMCI_SYSINFO_PARMSW);
    +	}
    +	return WINMM_MAP_OKMEM;
    +	/* case MCI_UNDO: */
    +    case MCI_UNFREEZE:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_RECT_PARMS16);	map = 0x0001111B;	break;
    +	case MCI_DEVTYPE_OVERLAY:	size = sizeof(MCI_OVLY_RECT_PARMS16);	map = 0x0001111B;	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +    case MCI_UPDATE:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_UPDATE_PARMS16);	map = 0x000B1111B;	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +    case MCI_WHERE:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_RECT_PARMS16);	map = 0x0001111B;	keep = TRUE;	break;
    +	case MCI_DEVTYPE_OVERLAY:	size = sizeof(MCI_OVLY_RECT_PARMS16);	map = 0x0001111B;	keep = TRUE;	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +    case MCI_WINDOW:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_WINDOW_PARMS16);	if (dwFlags & MCI_DGV_WINDOW_TEXT)  map = 0x7FB;	break;
    +	case MCI_DEVTYPE_OVERLAY:	size = sizeof(MCI_OVLY_WINDOW_PARMS16);	if (dwFlags & MCI_OVLY_WINDOW_TEXT) map = 0x7FB;	break;
    +	default:			size = sizeof(MCI_GENERIC_PARMS);	break;
    +	}
    +	break;
    +    case DRV_OPEN:
    +	{
    +            LPMCI_OPEN_DRIVER_PARMSW  modp32w = (LPMCI_OPEN_DRIVER_PARMSW)(*lParam);
    +            LPMCI_OPEN_DRIVER_PARMS16 modp16;
    +            char *ptr = HeapAlloc( GetProcessHeap(), 0,
    +                                   sizeof(LPMCI_OPEN_DRIVER_PARMSW) + sizeof(MCI_OPEN_DRIVER_PARMS16));
    +
    +	    if (ptr) {
    +		*(LPMCI_OPEN_DRIVER_PARMSW*)(ptr) = modp32w;
    +		modp16 = (LPMCI_OPEN_DRIVER_PARMS16)(ptr + sizeof(LPMCI_OPEN_DRIVER_PARMSW));
    +		modp16->wDeviceID = modp32w->wDeviceID;
    +		modp16->lpstrParams = MapLS( MCI_strdupWtoA(modp32w->lpstrParams) );
    +		/* other fields are gonna be filled by the driver, don't copy them */
    + 	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	    *lParam = (LPARAM)MapLS(ptr) + sizeof(LPMCI_OPEN_DRIVER_PARMSW);
    +	}
    +	return WINMM_MAP_OKMEM;
    +    case DRV_LOAD:
    +    case DRV_ENABLE:
    +    case DRV_CLOSE:
    +    case DRV_DISABLE:
    +    case DRV_FREE:
    +    case DRV_CONFIGURE:
    +    case DRV_QUERYCONFIGURE:
    +    case DRV_INSTALL:
    +    case DRV_REMOVE:
    +    case DRV_EXITSESSION:
    +    case DRV_EXITAPPLICATION:
    +    case DRV_POWER:
    +	return WINMM_MAP_OK;
    +
    +    default:
    +	FIXME("Don't know how to map msg=%s\n", MCI_MessageToString(wMsg));
    +	return WINMM_MAP_MSGERROR;
    +    }
    +    return MCI_MsgMapper32WTo16_Create((void**)lParam, size, map, keep);
    +}
    +
    +/**************************************************************************
    + * 			MCI_UnMapMsg32WTo16			[internal]
    + */
    +static  WINMM_MapType	MCI_UnMapMsg32WTo16(WORD uDevType, WORD wMsg, DWORD dwFlags, DWORD lParam)
    +{
    +    int		size = 0;
    +    BOOLEAN     kept = FALSE;	/* there is no need to compute size when kept is FALSE */
    +    DWORD 	map = 0;
    +
    +    switch (wMsg) {
    +    case MCI_BREAK:
    +        break;
    +	/* case MCI_CAPTURE */
    +    case MCI_CLOSE:
    +    case MCI_CLOSE_DRIVER:
    +    case MCI_CONFIGURE:
    +	break;
    +	/* case MCI_COPY: */
    +    case MCI_CUE:
    +	break;
    +	/* case MCI_CUT: */
    +    case MCI_DELETE:
    +	break;
    +	/* case MCI_ESCAPE: */
    +    case MCI_FREEZE:
    +	break;
    +    case MCI_GETDEVCAPS:
    +	kept = TRUE;
    +	size = sizeof(MCI_GETDEVCAPS_PARMS);
    +	break;
    +	/* case MCI_INDEX: */
    +    case MCI_INFO:
    +	if (lParam) {
    +            LPMCI_INFO_PARMS16  mip16  = (LPMCI_INFO_PARMS16)MapSL(lParam);
    +	    LPMCI_INFO_PARMSW   mip32w = *(LPMCI_INFO_PARMSW*)((char*)mip16 - sizeof(LPMCI_INFO_PARMSW));
    +
    +            MultiByteToWideChar(CP_ACP, 0, MapSL(mip16->lpstrReturn), mip16->dwRetSize, 
    +                                mip32w->lpstrReturn, mip32w->dwRetSize / sizeof(WCHAR));
    +            UnMapLS( lParam );
    +            UnMapLS( mip16->lpstrReturn );
    +            HeapFree( GetProcessHeap(), 0, (void*)MapSL(mip16->lpstrReturn) );
    +            HeapFree( GetProcessHeap(), 0, (char*)mip16 - sizeof(LPMCI_OPEN_PARMSW) );
    +	}
    +	return WINMM_MAP_OK;
    +	/* case MCI_MARK: */
    +	/* case MCI_MONITOR: */
    +    case MCI_OPEN:
    +    case MCI_OPEN_DRIVER:
    +	if (lParam) {
    +            LPMCI_OPEN_PARMS16	mop16  = (LPMCI_OPEN_PARMS16)MapSL(lParam);
    +	    LPMCI_OPEN_PARMSW	mop32w = *(LPMCI_OPEN_PARMSW*)((char*)mop16 - sizeof(LPMCI_OPEN_PARMSW));
    +            UnMapLS( lParam );
    +	    mop32w->wDeviceID = mop16->wDeviceID;
    +            if ((dwFlags & MCI_OPEN_TYPE) && !(dwFlags & MCI_OPEN_TYPE_ID))
    +            {
    +                HeapFree(GetProcessHeap(), 0, MapSL(mop16->lpstrDeviceType));
    +                UnMapLS( mop16->lpstrDeviceType );
    +            }
    +            if ((dwFlags & MCI_OPEN_ELEMENT) && !(dwFlags & MCI_OPEN_ELEMENT_ID))
    +            {
    +                HeapFree(GetProcessHeap(), 0, MapSL(mop16->lpstrElementName));
    +                UnMapLS( mop16->lpstrElementName );
    +            }
    +            if (dwFlags & MCI_OPEN_ALIAS)
    +            {
    +                HeapFree(GetProcessHeap(), 0, MapSL(mop16->lpstrAlias));
    +                UnMapLS( mop16->lpstrAlias );
    +            }
    +            HeapFree( GetProcessHeap(), 0, (char*)mop16 - sizeof(LPMCI_OPEN_PARMSW) );
    +	}
    +	return WINMM_MAP_OK;
    +	/* case MCI_PASTE:*/
    +    case MCI_PAUSE:
    +	break;
    +    case MCI_PLAY:
    +	break;
    +    case MCI_PUT:
    +	break;
    +    case MCI_REALIZE:
    +	break;
    +    case MCI_RECORD:
    +	break;
    +    case MCI_RESUME:
    +	break;
    +    case MCI_SEEK:
    +	break;
    +    case MCI_SET:
    +	break;
    +    case MCI_SETAUDIO:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	map = 0x0000077FF;	break;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_SETAUDIO_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	}
    +	break;
    +	/* case MCI_SETTIMECODE:*/
    +	/* case MCI_SIGNAL:*/
    +        /* case MCI_SOUND:*/
    +    case MCI_SPIN:
    +	break;
    +    case MCI_STATUS:
    +	kept = TRUE;
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:
    +	if (lParam) {
    +            LPMCI_DGV_STATUS_PARMS16	mdsp16  = (LPMCI_DGV_STATUS_PARMS16)MapSL(lParam);
    +	    LPMCI_DGV_STATUS_PARMSA	mdsp32a = *(LPMCI_DGV_STATUS_PARMSA*)((char*)mdsp16 - sizeof(LPMCI_DGV_STATUS_PARMSA));
    +
    +            UnMapLS( lParam );
    +	    if (mdsp16) {
    +		mdsp32a->dwReturn = mdsp16->dwReturn;
    +		if (dwFlags & MCI_DGV_STATUS_DISKSPACE) {
    +		    TRACE("MCI_STATUS (DGV) lpstrDrive=%08lx\n", mdsp16->lpstrDrive);
    +		    TRACE("MCI_STATUS (DGV) lpstrDrive=%s\n", (LPSTR)MapSL(mdsp16->lpstrDrive));
    +                    UnMapLS( mdsp16->lpstrDrive );
    +		}
    +                HeapFree( GetProcessHeap(), 0, (char*)mdsp16 - sizeof(LPMCI_DGV_STATUS_PARMSA) );
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	}
    +	return WINMM_MAP_OKMEM;
    +	case MCI_DEVTYPE_VCR:		/*size = sizeof(MCI_VCR_STATUS_PARMS);	break;*/FIXME("NIY vcr\n");	return WINMM_MAP_NOMEM;
    +	default:			size = sizeof(MCI_STATUS_PARMS);	break;
    +	}
    +	break;
    +    case MCI_STEP:
    +	break;
    +    case MCI_STOP:
    +	break;
    +    case MCI_SYSINFO:
    +	if (lParam) {
    +            LPMCI_SYSINFO_PARMS16	msip16  = (LPMCI_SYSINFO_PARMS16)MapSL(lParam);
    +	    LPMCI_SYSINFO_PARMSW	msip32w = *(LPMCI_SYSINFO_PARMSW*)((char*)msip16 - sizeof(LPMCI_SYSINFO_PARMSW));
    +
    +            UnMapLS( lParam );
    +	    if (msip16) {
    +                MultiByteToWideChar(CP_ACP, 0, MapSL(msip16->lpstrReturn), msip16->dwRetSize, 
    +                                    msip32w->lpstrReturn, msip32w->dwRetSize);
    +                UnMapLS( msip16->lpstrReturn );
    +                HeapFree( GetProcessHeap(), 0, MapSL(msip16->lpstrReturn) );
    +                HeapFree( GetProcessHeap(), 0, (char*)msip16 - sizeof(LPMCI_SYSINFO_PARMSW) );
    +	    } else {
    +		return WINMM_MAP_NOMEM;
    +	    }
    +	}
    +	return WINMM_MAP_OKMEM;
    +	/* case MCI_UNDO: */
    +    case MCI_UNFREEZE:
    +	break;
    +    case MCI_UPDATE:
    +	break;
    +    case MCI_WHERE:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_RECT_PARMS16);	map = 0x0001111B;	kept = TRUE;	break;
    +	case MCI_DEVTYPE_OVERLAY:	size = sizeof(MCI_OVLY_RECT_PARMS16);	map = 0x0001111B;	kept = TRUE;	break;
    +	default:			break;
    +	}
    +	break;
    +    case MCI_WINDOW:
    +	switch (uDevType) {
    +	case MCI_DEVTYPE_DIGITAL_VIDEO:	size = sizeof(MCI_DGV_WINDOW_PARMS16);	if (dwFlags & MCI_DGV_WINDOW_TEXT)  map = 0x7666;	break;
    +	case MCI_DEVTYPE_OVERLAY:	size = sizeof(MCI_OVLY_WINDOW_PARMS16);	if (dwFlags & MCI_OVLY_WINDOW_TEXT) map = 0x7666;	break;
    +	default:			break;
    +	}
    +	/* FIXME: see map function */
    +	break;
    +    case DRV_OPEN:
    +	if (lParam) {
    +            LPMCI_OPEN_DRIVER_PARMS16	modp16  = (LPMCI_OPEN_DRIVER_PARMS16)MapSL(lParam);
    +	    LPMCI_OPEN_DRIVER_PARMSW	modp32w = *(LPMCI_OPEN_DRIVER_PARMSW*)((char*)modp16 - sizeof(LPMCI_OPEN_DRIVER_PARMSW));
    +
    +            UnMapLS( lParam );
    +	    modp32w->wCustomCommandTable = modp16->wCustomCommandTable;
    +	    modp32w->wType = modp16->wType;
    +            HeapFree(GetProcessHeap(), 0, MapSL(modp16->lpstrParams));
    +            UnMapLS( modp16->lpstrParams );
    +            HeapFree( GetProcessHeap(), 0, (char *)modp16 - sizeof(LPMCI_OPEN_DRIVER_PARMSW) );
    +	}
    +	return WINMM_MAP_OK;
    +    case DRV_LOAD:
    +    case DRV_ENABLE:
    +    case DRV_CLOSE:
    +    case DRV_DISABLE:
    +    case DRV_FREE:
    +    case DRV_CONFIGURE:
    +    case DRV_QUERYCONFIGURE:
    +    case DRV_INSTALL:
    +    case DRV_REMOVE:
    +    case DRV_EXITSESSION:
    +    case DRV_EXITAPPLICATION:
    +    case DRV_POWER:
    +	FIXME("This is a hack\n");
    +	return WINMM_MAP_OK;
    +
    +    default:
    +	FIXME("Map/Unmap internal error on msg=%s\n", MCI_MessageToString(wMsg));
    +	return WINMM_MAP_MSGERROR;
    +    }
    +    return MCI_MsgMapper32WTo16_Destroy((void*)lParam, size, map, kept);
     }
     
     void    MMDRV_Init16(void)
     {
     #define A(_x,_y) MMDRV_InstallMap(_x, \
    -MMDRV_##_y##_Map16To32A, MMDRV_##_y##_UnMap16To32A, \
    -MMDRV_##_y##_Map32ATo16, MMDRV_##_y##_UnMap32ATo16, \
    +MMDRV_##_y##_Map16To32W, MMDRV_##_y##_UnMap16To32W, \
    +MMDRV_##_y##_Map32WTo16, MMDRV_##_y##_UnMap32WTo16, \
     MMDRV_##_y##_Callback)
         A(MMDRV_AUX,        Aux);
         A(MMDRV_MIXER,      Mixer);
    @@ -2794,8 +3521,8 @@ MMDRV_##_y##_Callback)
         pFnCallMMDrvFunc16 = MMDRV_CallMMDrvFunc16;
         pFnLoadMMDrvFunc16 = MMDRV_LoadMMDrvFunc16;
     
    -    pFnMciMapMsg16To32A   = MCI_MapMsg16To32A;
    -    pFnMciUnMapMsg16To32A = MCI_UnMapMsg16To32A;
    -    pFnMciMapMsg32ATo16   = MCI_MapMsg32ATo16;
    -    pFnMciUnMapMsg32ATo16 = MCI_UnMapMsg32ATo16;
    +    pFnMciMapMsg16To32W   = MCI_MapMsg16To32W;
    +    pFnMciUnMapMsg16To32W = MCI_UnMapMsg16To32W;
    +    pFnMciMapMsg32WTo16   = MCI_MapMsg32WTo16;
    +    pFnMciUnMapMsg32WTo16 = MCI_UnMapMsg32WTo16;
     }
    diff --git a/reactos/lib/winmm/mmio.c b/reactos/lib/winmm/mmio.c
    index 4b1ed8573fb..9a05f1fc4cd 100644
    --- a/reactos/lib/winmm/mmio.c
    +++ b/reactos/lib/winmm/mmio.c
    @@ -1,4 +1,3 @@
    -/* -*- tab-width: 8; c-basic-offset: 4 -*- */
     /*
      * MMIO functions
      *
    @@ -221,8 +220,6 @@ static LRESULT CALLBACK mmioMemIOProc(LPMMIOINFO lpmmioinfo, UINT uMessage,
     	FIXME("unexpected message %u\n", uMessage);
     	return 0;
         }
    -
    -    return 0;
     }
     
     /* This array will be the entire list for most apps 
    @@ -1351,7 +1348,7 @@ MMRESULT WINAPI mmioRenameA(LPCSTR szFileName, LPCSTR szNewFileName,
         /* FIXME: should we actually pass lpmmioinfo down the drain ???
          * or make a copy of it because it's const ???
          */
    -    return send_message(ioProc, (LPMMIOINFO)lpmmioinfo, MMIOM_RENAME,
    +    return send_message(ioProc, (MMIOINFO*)lpmmioinfo, MMIOM_RENAME,
                             (LPARAM)szFileName, (LPARAM)szNewFileName, MMIO_PROC_32A);
     }
     
    diff --git a/reactos/lib/winmm/mmsystem.c b/reactos/lib/winmm/mmsystem.c
    index 1221878ffa9..1e4e41de1d8 100644
    --- a/reactos/lib/winmm/mmsystem.c
    +++ b/reactos/lib/winmm/mmsystem.c
    @@ -48,7 +48,7 @@
     WINE_DEFAULT_DEBUG_CHANNEL(mmsys);
     
     static WINE_MMTHREAD*   WINMM_GetmmThread(HANDLE16);
    -static LPWINE_DRIVER    DRIVER_OpenDriver16(LPCSTR, LPCSTR, LPARAM);
    +static LPWINE_DRIVER    DRIVER_OpenDriver16(LPCWSTR, LPCWSTR, LPARAM);
     static LRESULT          DRIVER_CloseDriver16(HDRVR16, LPARAM, LPARAM);
     static LRESULT          DRIVER_SendMessage16(HDRVR16, UINT, LPARAM, LPARAM);
     static LRESULT          MMIO_Callback16(SEGPTR, LPMMIOINFO, UINT, LPARAM, LPARAM);
    @@ -597,7 +597,7 @@ UINT16 WINAPI mciGetDeviceID16(LPCSTR lpstrName)
     {
         TRACE("(\"%s\")\n", lpstrName);
     
    -    return MCI_GetDriverFromString(lpstrName);
    +    return mciGetDeviceIDA(lpstrName);
     }
     
     /**************************************************************************
    @@ -731,6 +731,7 @@ UINT16 WINAPI midiOutGetDevCaps16(UINT16 uDeviceID, LPMIDIOUTCAPS16 lpCaps,
     
     /**************************************************************************
      * 				midiOutGetErrorText 	[MMSYSTEM.203]
    + * 				midiInGetErrorText 	[MMSYSTEM.203]
      */
     UINT16 WINAPI midiOutGetErrorText16(UINT16 uError, LPSTR lpText, UINT16 uSize)
     {
    @@ -948,14 +949,6 @@ UINT16 WINAPI midiInGetDevCaps16(UINT16 uDeviceID, LPMIDIINCAPS16 lpCaps,
         return ret;
     }
     
    -/**************************************************************************
    - * 				midiInGetErrorText 		[MMSYSTEM.303]
    - */
    -UINT16 WINAPI midiInGetErrorText16(UINT16 uError, LPSTR lpText, UINT16 uSize)
    -{
    -    return midiInGetErrorTextA(uError, lpText, uSize);
    -}
    -
     /**************************************************************************
      * 				midiInOpen		[MMSYSTEM.304]
      */
    @@ -1238,6 +1231,7 @@ UINT16 WINAPI waveOutGetDevCaps16(UINT16 uDeviceID,
     
     /**************************************************************************
      * 				waveOutGetErrorText 	[MMSYSTEM.403]
    + * 				waveInGetErrorText 	[MMSYSTEM.403]
      */
     UINT16 WINAPI waveOutGetErrorText16(UINT16 uError, LPSTR lpText, UINT16 uSize)
     {
    @@ -1535,14 +1529,6 @@ UINT16 WINAPI waveInGetDevCaps16(UINT16 uDeviceID, LPWAVEINCAPS16 lpCaps,
         return ret;
     }
     
    -/**************************************************************************
    - * 				waveInGetErrorText 	[MMSYSTEM.503]
    - */
    -UINT16 WINAPI waveInGetErrorText16(UINT16 uError, LPSTR lpText, UINT16 uSize)
    -{
    -    return waveInGetErrorTextA(uError, lpText, uSize);
    -}
    -
     /**************************************************************************
      * 				waveInOpen			[MMSYSTEM.504]
      */
    @@ -2371,30 +2357,52 @@ static WINMM_MapType DRIVER_UnMapMsg32To16(WORD wMsg, DWORD lParam1, DWORD lPara
      *
      * Tries to load a 16 bit driver whose DLL's (module) name is lpFileName.
      */
    -static	LPWINE_DRIVER	DRIVER_OpenDriver16(LPCSTR fn, LPCSTR sn, LPARAM lParam2)
    +static	LPWINE_DRIVER	DRIVER_OpenDriver16(LPCWSTR fn, LPCWSTR sn, LPARAM lParam2)
     {
         LPWINE_DRIVER 	lpDrv = NULL;
    -    LPCSTR		cause = 0;
    +    LPCSTR		cause = NULL;
    +    LPSTR               fnA = NULL, snA = NULL;
    +    unsigned            len;
     
    -    TRACE("(%s, %08lX);\n", debugstr_a(sn), lParam2);
    +    TRACE("(%s, %s, %08lX);\n", debugstr_w(fn), debugstr_w(sn), lParam2);
     
         lpDrv = HeapAlloc(GetProcessHeap(), 0, sizeof(WINE_DRIVER));
         if (lpDrv == NULL) {cause = "OOM"; goto exit;}
     
    +    if (fn)
    +    {
    +        len = WideCharToMultiByte( CP_ACP, 0, fn, -1, NULL, 0, NULL, NULL );
    +        fnA = HeapAlloc(GetProcessHeap(), 0, len);
    +        if (fnA == NULL) {cause = "OOM"; goto exit;}
    +        WideCharToMultiByte( CP_ACP, 0, fn, -1, fnA, len, NULL, NULL );
    +    }
    +
    +    if (sn)
    +    {
    +        len = WideCharToMultiByte( CP_ACP, 0, sn, -1, NULL, 0, NULL, NULL );
    +        snA = HeapAlloc(GetProcessHeap(), 0, len);
    +        if (snA == NULL) {cause = "OOM"; goto exit;}
    +        WideCharToMultiByte( CP_ACP, 0, sn, -1, snA, len, NULL, NULL );
    +    }
    +
         /* FIXME: shall we do some black magic here on sn ?
          *	drivers32 => drivers
          *	mci32 => mci
          * ...
          */
    -    lpDrv->d.d16.hDriver16 = OpenDriver16(fn, sn, lParam2);
    +    lpDrv->d.d16.hDriver16 = OpenDriver16(fnA, snA, lParam2);
         if (lpDrv->d.d16.hDriver16 == 0) {cause = "Not a 16 bit driver"; goto exit;}
         lpDrv->dwFlags = WINE_GDF_16BIT;
     
         TRACE("=> %p\n", lpDrv);
         return lpDrv;
    - exit:
    +
    +exit:
         HeapFree(GetProcessHeap(), 0, lpDrv);
    -    TRACE("Unable to load 16 bit module %s: %s\n", debugstr_a(fn), cause);
    +    HeapFree(GetProcessHeap(), 0, fnA);
    +    HeapFree(GetProcessHeap(), 0, snA);
    +    TRACE("Unable to load 16 bit module %s[%s]: %s\n", 
    +          debugstr_w(fn), debugstr_w(sn), cause);
         return NULL;
     }
     
    @@ -2612,15 +2620,45 @@ DWORD WINAPI mciSendString16(LPCSTR lpstrCommand, LPSTR lpstrRet,
      */
     UINT16 WINAPI mciLoadCommandResource16(HINSTANCE16 hInst, LPCSTR resname, UINT16 type)
     {
    -    HRSRC16 res;
    -    HGLOBAL16 handle;
    -    void *ptr;
    +    HRSRC16     res;
    +    HGLOBAL16   handle;
    +    const BYTE* ptr16;
    +    BYTE*       ptr32;
    +    unsigned    pos = 0, size = 1024, len;
    +    const char* str;
    +    DWORD	flg;
    +    WORD	eid;
    +    UINT16      ret = MCIERR_OUT_OF_MEMORY;
     
         if (!(res = FindResource16( hInst, resname, (LPSTR)RT_RCDATA))) return MCI_NO_COMMAND_TABLE;
         if (!(handle = LoadResource16( hInst, res ))) return MCI_NO_COMMAND_TABLE;
    -    ptr = LockResource16(handle);
    -    return MCI_SetCommandTable(ptr, type);
    -    /* FIXME: FreeResource */
    +    ptr16 = LockResource16(handle);
    +    /* converting the 16 bit resource table into a 32W one */
    +    if ((ptr32 = HeapAlloc(GetProcessHeap(), 0, size)))
    +    {
    +        do {
    +            str = (LPCSTR)ptr16;
    +            ptr16 += strlen(str) + 1;
    +            flg = *(const DWORD*)ptr16;
    +            eid = *(const WORD*)(ptr16 + sizeof(DWORD));
    +            ptr16 += sizeof(DWORD) + sizeof(WORD);
    +            len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0) * sizeof(WCHAR);
    +            if (pos + len + sizeof(DWORD) + sizeof(WORD) > size)
    +            {
    +                while (pos + len * sizeof(WCHAR) + sizeof(DWORD) + sizeof(WORD) > size) size += 1024;
    +                ptr32 = HeapReAlloc(GetProcessHeap(), 0, ptr32, size);
    +                if (!ptr32) goto the_end;
    +            }
    +            MultiByteToWideChar(CP_ACP, 0, str, -1, (LPWSTR)(ptr32 + pos), len / sizeof(WCHAR));
    +            *(DWORD*)(ptr32 + pos + len) = flg;
    +            *(WORD*)(ptr32 + pos + len + sizeof(DWORD)) = eid;
    +            pos += len + sizeof(DWORD) + sizeof(WORD);
    +        } while (eid != MCI_END_COMMAND_LIST);
    +    }
    +the_end:
    +    FreeResource16( handle );
    +    if (ptr32) ret = MCI_SetCommandTable(ptr32, type);
    +    return ret;
     }
     
     /**************************************************************************
    @@ -2630,7 +2668,7 @@ BOOL16 WINAPI mciFreeCommandResource16(UINT16 uTable)
     {
         TRACE("(%04x)!\n", uTable);
     
    -    return mciFreeCommandResource(uTable);
    +    return MCI_DeleteCommandTable(uTable, TRUE);
     }
     
     /* ###################################################
    diff --git a/reactos/lib/winmm/mmsystem.spec b/reactos/lib/winmm/mmsystem.spec
    index 768e52ff66e..151e63f26f4 100644
    --- a/reactos/lib/winmm/mmsystem.spec
    +++ b/reactos/lib/winmm/mmsystem.spec
    @@ -45,7 +45,7 @@
     257    pascal  midiStreamStop(word) midiStreamStop16
     301    pascal  midiInGetNumDevs() midiInGetNumDevs16
     302    pascal  midiInGetDevCaps(word ptr word) midiInGetDevCaps16
    -303    pascal  midiInGetErrorText(word ptr word) midiInGetErrorText16
    +303    pascal  midiInGetErrorText(word ptr word) midiOutGetErrorText16
     304    pascal  midiInOpen(ptr word long long long) midiInOpen16
     305    pascal  midiInClose(word) midiInClose16
     306    pascal  midiInPrepareHeader(word segptr word) midiInPrepareHeader16
    @@ -84,7 +84,7 @@
     421    pascal  waveOutMessage(word word long long) waveOutMessage16
     501    pascal  waveInGetNumDevs() waveInGetNumDevs16
     502    pascal  waveInGetDevCaps(word ptr word) waveInGetDevCaps16
    -503    pascal  waveInGetErrorText(word ptr word) waveInGetErrorText16
    +503    pascal  waveInGetErrorText(word ptr word) waveOutGetErrorText16
     504    pascal  waveInOpen(ptr word ptr long long long) waveInOpen16
     505    pascal  waveInClose(word) waveInClose16
     506    pascal  waveInPrepareHeader(word segptr word) waveInPrepareHeader16
    diff --git a/reactos/lib/winmm/winemm.h b/reactos/lib/winmm/winemm.h
    index e5661712c9e..b26a5c1a012 100644
    --- a/reactos/lib/winmm/winemm.h
    +++ b/reactos/lib/winmm/winemm.h
    @@ -87,7 +87,7 @@ typedef struct tagWINE_MM_DRIVER_PART {
     typedef struct tagWINE_MM_DRIVER {
         HDRVR			hDriver;
         LPSTR			drvname;	/* name of the driver */
    -    BOOL			bIs32 : 1,	/* TRUE if 32 bit driver, FALSE for 16 */
    +    unsigned			bIs32 : 1,	/* TRUE if 32 bit driver, FALSE for 16 */
     	                        bIsMapper : 1;	/* TRUE if mapper */
         WINE_MM_DRIVER_PART		parts[MMDRV_MAX];/* Information for all known types */
     } WINE_MM_DRIVER, *LPWINE_MM_DRIVER;
    @@ -139,9 +139,9 @@ typedef struct {
     typedef struct tagWINE_MCIDRIVER {
             UINT			wDeviceID;
             UINT			wType;
    -	LPSTR			lpstrElementName;
    -        LPSTR			lpstrDeviceType;
    -        LPSTR			lpstrAlias;
    +	LPWSTR			lpstrElementName;
    +        LPWSTR			lpstrDeviceType;
    +        LPWSTR			lpstrAlias;
             HDRVR			hDriver;
     	DWORD			dwPrivate;
             YIELDPROC		lpfnYieldProc;
    @@ -181,14 +181,14 @@ typedef struct tagWINE_MMIO {
         MMIOINFO			info;
         struct tagWINE_MMIO*	lpNext;
         struct IOProcList*		ioProc;
    -    BOOL			bTmpIOProc : 1,
    +    unsigned			bTmpIOProc : 1,
                                     bBufferLoaded : 1;
         DWORD                       segBuffer16;
         DWORD                       dwFileSize;
     } WINE_MMIO, *LPWINE_MMIO;
     
     typedef struct tagWINE_PLAYSOUND {
    -    BOOL                        bLoop : 1,
    +    unsigned                    bLoop : 1,
                                     bAlloc : 1;
         LPCWSTR		        pszSound;
         HMODULE		        hMod;
    @@ -224,8 +224,8 @@ typedef	WINMM_MapType	        (*MMDRV_UNMAPFUNC)(UINT wMsg, LPDWORD lpdwUser, LP
     
     HDRVR WINAPI	OpenDriverA(LPCSTR lpDriverName, LPCSTR lpSectionName, LPARAM lParam2);
     LPWINE_DRIVER	DRIVER_FindFromHDrvr(HDRVR hDrvr);
    -BOOL		DRIVER_GetLibName(LPCSTR keyName, LPCSTR sectName, LPSTR buf, int sz);
    -LPWINE_DRIVER	DRIVER_TryOpenDriver32(LPCSTR fn, LPARAM lParam2);
    +BOOL		DRIVER_GetLibName(LPCWSTR keyName, LPCWSTR sectName, LPWSTR buf, int sz);
    +LPWINE_DRIVER	DRIVER_TryOpenDriver32(LPCWSTR fn, LPARAM lParam2);
     void            DRIVER_UnloadAll(void);
     
     BOOL		MMDRV_Init(void);
    @@ -245,15 +245,18 @@ void            MMDRV_InstallMap(unsigned int, MMDRV_MAPFUNC, MMDRV_UNMAPFUNC,
                                      MMDRV_MAPFUNC, MMDRV_UNMAPFUNC, LPDRVCALLBACK);
     
     WINE_MCIDRIVER* MCI_GetDriver(UINT16 uDevID);
    -UINT		MCI_GetDriverFromString(LPCSTR str);
    -DWORD		MCI_WriteString(LPSTR lpDstStr, DWORD dstSize, LPCSTR lpSrcStr);
    -const char* 	MCI_MessageToString(UINT16 wMsg);
    +UINT		MCI_GetDriverFromString(LPCWSTR str);
    +DWORD		MCI_WriteString(LPWSTR lpDstStr, DWORD dstSize, LPCWSTR lpSrcStr);
    +const char* 	MCI_MessageToString(UINT wMsg);
     UINT	WINAPI	MCI_DefYieldProc(MCIDEVICEID wDevID, DWORD data);
     LRESULT		MCI_CleanUp(LRESULT dwRet, UINT wMsg, DWORD dwParam2);
     DWORD		MCI_SendCommand(UINT wDevID, UINT16 wMsg, DWORD dwParam1, DWORD dwParam2, BOOL bFrom32);
     DWORD		MCI_SendCommandFrom32(UINT wDevID, UINT16 wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2);
     DWORD		MCI_SendCommandFrom16(UINT wDevID, UINT16 wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2);
     UINT		MCI_SetCommandTable(void *table, UINT uDevType);
    +BOOL	        MCI_DeleteCommandTable(UINT uTbl, BOOL delete);
    +LPWSTR          MCI_strdupAtoW(LPCSTR str);
    +LPSTR           MCI_strdupWtoA(LPCWSTR str);
     
     BOOL            WINMM_CheckForMMSystem(void);
     const char*     WINMM_ErrorToString(MMRESULT error);
    @@ -291,13 +294,13 @@ extern LPWINE_MM_IDATA  WINMM_IData;
      * NULL otherwise
      */
     extern  WINE_MMTHREAD*  (*pFnGetMMThread16)(UINT16);
    -extern  LPWINE_DRIVER   (*pFnOpenDriver16)(LPCSTR,LPCSTR,LPARAM);
    +extern  LPWINE_DRIVER   (*pFnOpenDriver16)(LPCWSTR,LPCWSTR,LPARAM);
     extern  LRESULT         (*pFnCloseDriver16)(UINT16,LPARAM,LPARAM);
     extern  LRESULT         (*pFnSendMessage16)(UINT16,UINT,LPARAM,LPARAM);
    -extern  WINMM_MapType   (*pFnMciMapMsg16To32A)(WORD,WORD,DWORD*);
    -extern  WINMM_MapType   (*pFnMciUnMapMsg16To32A)(WORD,WORD,DWORD);
    -extern  WINMM_MapType   (*pFnMciMapMsg32ATo16)(WORD,WORD,DWORD,DWORD*);
    -extern  WINMM_MapType   (*pFnMciUnMapMsg32ATo16)(WORD,WORD,DWORD,DWORD);
    +extern  WINMM_MapType   (*pFnMciMapMsg16To32W)(WORD,WORD,DWORD*);
    +extern  WINMM_MapType   (*pFnMciUnMapMsg16To32W)(WORD,WORD,DWORD);
    +extern  WINMM_MapType   (*pFnMciMapMsg32WTo16)(WORD,WORD,DWORD,DWORD*);
    +extern  WINMM_MapType   (*pFnMciUnMapMsg32WTo16)(WORD,WORD,DWORD,DWORD);
     extern  LRESULT         (*pFnCallMMDrvFunc16)(DWORD /* in fact FARPROC16 */,WORD,WORD,LONG,LONG,LONG);
     extern  unsigned        (*pFnLoadMMDrvFunc16)(LPCSTR,LPWINE_DRIVER, LPWINE_MM_DRIVER);
     extern  LRESULT         (*pFnMmioCallback16)(DWORD,LPMMIOINFO,UINT,LPARAM,LPARAM);
    diff --git a/reactos/lib/winmm/winmm.c b/reactos/lib/winmm/winmm.c
    index f589c505146..76e4ef74dc6 100644
    --- a/reactos/lib/winmm/winmm.c
    +++ b/reactos/lib/winmm/winmm.c
    @@ -53,27 +53,11 @@
     #include "winreg.h"
     #include "winternl.h"
     #include "winemm.h"
    -#include "wownt32.h"
     
     #include "wine/debug.h"
     
     WINE_DEFAULT_DEBUG_CHANNEL(winmm);
     
    -/******************************************************************
    - *		MyUserYield
    - *
    - * Internal wrapper to call USER.UserYield16 (in fact through a Wine only export from USER32).
    - */
    -static void MyUserYield(void)
    -{
    -    HMODULE mod = GetModuleHandleA( "user32.dll" );
    -    if (mod)
    -    {
    -        FARPROC proc = GetProcAddress( mod, "UserYield16" );
    -        if (proc) proc();
    -    }
    -}
    -
     void    (WINAPI *pFnReleaseThunkLock)(DWORD*);
     void    (WINAPI *pFnRestoreThunkLock)(DWORD);
     
    @@ -779,469 +763,6 @@ UINT WINAPI auxOutMessage(UINT uDeviceID, UINT uMessage, DWORD_PTR dw1, DWORD_PT
         return MMDRV_Message(wmld, uMessage, dw1, dw2, TRUE);
     }
     
    -/**************************************************************************
    - * 				mciGetErrorStringW		[WINMM.@]
    - */
    -BOOL WINAPI mciGetErrorStringW(MCIERROR wError, LPWSTR lpstrBuffer, UINT uLength)
    -{
    -    char       bufstr[MAXERRORLENGTH];
    -    BOOL       ret = mciGetErrorStringA(wError, bufstr, MAXERRORLENGTH);
    -
    -    MultiByteToWideChar( CP_ACP, 0, bufstr, -1, lpstrBuffer, uLength );
    -    return ret;
    -}
    -
    -/**************************************************************************
    - * 				mciGetErrorStringA		[WINMM.@]
    - */
    -BOOL WINAPI mciGetErrorStringA(MCIERROR dwError, LPSTR lpstrBuffer, UINT uLength)
    -{
    -    BOOL		ret = FALSE;
    -
    -    if (lpstrBuffer != NULL && uLength > 0 &&
    -	dwError >= MCIERR_BASE && dwError <= MCIERR_CUSTOM_DRIVER_BASE) {
    -
    -	if (LoadStringA(WINMM_IData->hWinMM32Instance,
    -			dwError, lpstrBuffer, uLength) > 0) {
    -	    ret = TRUE;
    -	}
    -    }
    -    return ret;
    -}
    -
    -/**************************************************************************
    - *			mciDriverNotify				[WINMM.@]
    - */
    -BOOL WINAPI mciDriverNotify(HWND hWndCallBack, MCIDEVICEID wDevID, UINT wStatus)
    -{
    -    TRACE("(%p, %04x, %04X)\n", hWndCallBack, wDevID, wStatus);
    -
    -    return PostMessageW(hWndCallBack, MM_MCINOTIFY, wStatus, wDevID);
    -}
    -
    -/**************************************************************************
    - * 			mciGetDriverData			[WINMM.@]
    - */
    -DWORD WINAPI mciGetDriverData(MCIDEVICEID uDeviceID)
    -{
    -    LPWINE_MCIDRIVER	wmd;
    -
    -    TRACE("(%04x)\n", uDeviceID);
    -
    -    wmd = MCI_GetDriver(uDeviceID);
    -
    -    if (!wmd) {
    -	WARN("Bad uDeviceID\n");
    -	return 0L;
    -    }
    -
    -    return wmd->dwPrivate;
    -}
    -
    -/**************************************************************************
    - * 			mciSetDriverData			[WINMM.@]
    - */
    -BOOL WINAPI mciSetDriverData(MCIDEVICEID uDeviceID, DWORD data)
    -{
    -    LPWINE_MCIDRIVER	wmd;
    -
    -    TRACE("(%04x, %08lx)\n", uDeviceID, data);
    -
    -    wmd = MCI_GetDriver(uDeviceID);
    -
    -    if (!wmd) {
    -	WARN("Bad uDeviceID\n");
    -	return FALSE;
    -    }
    -
    -    wmd->dwPrivate = data;
    -    return TRUE;
    -}
    -
    -/**************************************************************************
    - * 				mciSendCommandA			[WINMM.@]
    - */
    -DWORD WINAPI mciSendCommandA(MCIDEVICEID wDevID, UINT wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
    -{
    -    DWORD	dwRet;
    -
    -    TRACE("(%08x, %s, %08lx, %08lx)\n",
    -	  wDevID, MCI_MessageToString(wMsg), dwParam1, dwParam2);
    -
    -    dwRet = MCI_SendCommand(wDevID, wMsg, dwParam1, dwParam2, TRUE);
    -    dwRet = MCI_CleanUp(dwRet, wMsg, dwParam2);
    -    TRACE("=> %08lx\n", dwRet);
    -    return dwRet;
    -}
    -
    -inline static LPSTR strdupWtoA( LPCWSTR str )
    -{
    -    LPSTR ret;
    -    INT len;
    -
    -    if (!str) return NULL;
    -    len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );
    -    ret = HeapAlloc( GetProcessHeap(), 0, len );
    -    if(ret) WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
    -    return ret;
    -}
    -
    -static int MCI_MapMsgWtoA(UINT msg, DWORD_PTR dwParam1, DWORD_PTR *dwParam2)
    -{
    -    switch(msg)
    -    {
    -    case MCI_CLOSE:
    -    case MCI_PLAY:
    -    case MCI_SEEK:
    -    case MCI_STOP:
    -    case MCI_PAUSE:
    -    case MCI_GETDEVCAPS:
    -    case MCI_SPIN:
    -    case MCI_SET:
    -    case MCI_STEP:
    -    case MCI_RECORD:
    -    case MCI_BREAK:
    -    case MCI_SOUND:
    -    case MCI_STATUS:
    -    case MCI_CUE:
    -    case MCI_REALIZE:
    -    case MCI_PUT:
    -    case MCI_WHERE:
    -    case MCI_FREEZE:
    -    case MCI_UNFREEZE:
    -    case MCI_CUT:
    -    case MCI_COPY:
    -    case MCI_PASTE:
    -    case MCI_UPDATE:
    -    case MCI_RESUME:
    -    case MCI_DELETE:
    -        return 0;
    -
    -    case MCI_OPEN:
    -        {
    -            MCI_OPEN_PARMSW *mci_openW = (MCI_OPEN_PARMSW *)*dwParam2;
    -            MCI_OPEN_PARMSA *mci_openA;
    -            DWORD_PTR *ptr;
    -
    -            ptr = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_openA) + sizeof(DWORD_PTR));
    -            if (!ptr) return -1;
    -
    -            *ptr++ = *dwParam2; /* save the previous pointer */
    -            *dwParam2 = (DWORD_PTR)ptr;
    -            mci_openA = (MCI_OPEN_PARMSA *)ptr;
    -
    -            if (dwParam1 & MCI_NOTIFY)
    -                mci_openA->dwCallback = mci_openW->dwCallback;
    -
    -            if (dwParam1 & MCI_OPEN_TYPE)
    -            {
    -                if (dwParam1 & MCI_OPEN_TYPE_ID)
    -                    mci_openA->lpstrDeviceType = (LPSTR)mci_openW->lpstrDeviceType;
    -                else
    -                    mci_openA->lpstrDeviceType = strdupWtoA(mci_openW->lpstrDeviceType);
    -            }
    -            if (dwParam1 & MCI_OPEN_ELEMENT)
    -            {
    -                if (dwParam1 & MCI_OPEN_ELEMENT_ID)
    -                    mci_openA->lpstrElementName = (LPSTR)mci_openW->lpstrElementName;
    -                else
    -                    mci_openA->lpstrElementName = strdupWtoA(mci_openW->lpstrElementName);
    -            }
    -            if (dwParam1 & MCI_OPEN_ALIAS)
    -                mci_openA->lpstrAlias = strdupWtoA(mci_openW->lpstrAlias);
    -        }
    -        return 1;
    -
    -    case MCI_WINDOW:
    -        if (dwParam1 & MCI_ANIM_WINDOW_TEXT)
    -        {
    -            MCI_ANIM_WINDOW_PARMSW *mci_windowW = (MCI_ANIM_WINDOW_PARMSW *)*dwParam2;
    -            MCI_ANIM_WINDOW_PARMSA *mci_windowA;
    -
    -            mci_windowA = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_windowA));
    -            if (!mci_windowA) return -1;
    -
    -            *dwParam2 = (DWORD_PTR)mci_windowA;
    -
    -            mci_windowA->lpstrText = strdupWtoA(mci_windowW->lpstrText);
    -
    -            if (dwParam1 & MCI_NOTIFY)
    -                mci_windowA->dwCallback = mci_windowW->dwCallback;
    -            if (dwParam1 & MCI_ANIM_WINDOW_HWND)
    -                mci_windowA->hWnd = mci_windowW->hWnd;
    -            if (dwParam1 & MCI_ANIM_WINDOW_STATE)
    -                mci_windowA->nCmdShow = mci_windowW->nCmdShow;
    -
    -            return 1;
    -        }
    -        return 0;
    -
    -    case MCI_SYSINFO:
    -        {
    -            MCI_SYSINFO_PARMSW *mci_sysinfoW = (MCI_SYSINFO_PARMSW *)*dwParam2;
    -            MCI_SYSINFO_PARMSA *mci_sysinfoA;
    -            DWORD_PTR *ptr;
    -
    -            ptr = HeapAlloc(GetProcessHeap(), 0, sizeof(*mci_sysinfoA) + sizeof(DWORD_PTR));
    -            if (!ptr) return -1;
    -
    -            *ptr++ = *dwParam2; /* save the previous pointer */
    -            *dwParam2 = (DWORD_PTR)ptr;
    -            mci_sysinfoA = (MCI_SYSINFO_PARMSA *)ptr;
    -
    -            if (dwParam1 & MCI_NOTIFY)
    -                mci_sysinfoA->dwCallback = mci_sysinfoW->dwCallback;
    -
    -            mci_sysinfoA->dwRetSize = mci_sysinfoW->dwRetSize; /* FIXME */
    -            mci_sysinfoA->lpstrReturn = HeapAlloc(GetProcessHeap(), 0, mci_sysinfoA->dwRetSize);
    -
    -            return 1;
    -        }
    -
    -    case MCI_INFO:
    -    case MCI_SAVE:
    -    case MCI_LOAD:
    -    case MCI_ESCAPE:
    -    default:
    -        FIXME("Message 0x%04x needs translation\n", msg);
    -        return -1;
    -    }
    -}
    -
    -static DWORD MCI_UnmapMsgWtoA(UINT msg, DWORD_PTR dwParam1, DWORD_PTR dwParam2,
    -                              DWORD result)
    -{
    -    switch(msg)
    -    {
    -    case MCI_OPEN:
    -        {
    -            DWORD_PTR *ptr = (DWORD_PTR *)dwParam2 - 1;
    -            MCI_OPEN_PARMSW *mci_openW = (MCI_OPEN_PARMSW *)*ptr;
    -            MCI_OPEN_PARMSA *mci_openA = (MCI_OPEN_PARMSA *)(ptr + 1);
    -
    -            mci_openW->wDeviceID = mci_openA->wDeviceID;
    -
    -            if (dwParam1 & MCI_OPEN_TYPE)
    -            {
    -                if (!(dwParam1 & MCI_OPEN_TYPE_ID))
    -                    HeapFree(GetProcessHeap(), 0, mci_openA->lpstrDeviceType);
    -            }
    -            if (dwParam1 & MCI_OPEN_ELEMENT)
    -            {
    -                if (!(dwParam1 & MCI_OPEN_ELEMENT_ID))
    -                    HeapFree(GetProcessHeap(), 0, mci_openA->lpstrElementName);
    -            }
    -            if (dwParam1 & MCI_OPEN_ALIAS)
    -                HeapFree(GetProcessHeap(), 0, mci_openA->lpstrAlias);
    -            HeapFree(GetProcessHeap(), 0, ptr);
    -        }
    -        break;
    -
    -    case MCI_WINDOW:
    -        if (dwParam1 & MCI_ANIM_WINDOW_TEXT)
    -        {
    -            MCI_ANIM_WINDOW_PARMSA *mci_windowA = (MCI_ANIM_WINDOW_PARMSA *)dwParam2;
    -
    -            HeapFree(GetProcessHeap(), 0, (void *)mci_windowA->lpstrText);
    -            HeapFree(GetProcessHeap(), 0, mci_windowA);
    -        }
    -        break;
    -
    -    case MCI_SYSINFO:
    -        {
    -            DWORD_PTR *ptr = (DWORD_PTR *)dwParam2 - 1;
    -            MCI_SYSINFO_PARMSW *mci_sysinfoW = (MCI_SYSINFO_PARMSW *)*ptr;
    -            MCI_SYSINFO_PARMSA *mci_sysinfoA = (MCI_SYSINFO_PARMSA *)(ptr + 1);
    -
    -            if (!result)
    -            {
    -                mci_sysinfoW->dwNumber = mci_sysinfoA->dwNumber;
    -                mci_sysinfoW->wDeviceType = mci_sysinfoA->wDeviceType;
    -                MultiByteToWideChar(CP_ACP, 0,
    -                                    mci_sysinfoA->lpstrReturn, mci_sysinfoA->dwRetSize,
    -                                    mci_sysinfoW->lpstrReturn, mci_sysinfoW->dwRetSize);
    -            }
    -
    -            HeapFree(GetProcessHeap(), 0, mci_sysinfoA->lpstrReturn);
    -            HeapFree(GetProcessHeap(), 0, ptr);
    -        }
    -        break;
    -
    -    default:
    -        FIXME("Message 0x%04x needs unmapping\n", msg);
    -        break;
    -    }
    -
    -    return result;
    -}
    -
    -
    -/**************************************************************************
    - * 				mciSendCommandW			[WINMM.@]
    - *
    - * FIXME: we should do the things other way around, but since our
    - * MM subsystem is not unicode aware...
    - */
    -DWORD WINAPI mciSendCommandW(MCIDEVICEID wDevID, UINT wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
    -{
    -    DWORD ret;
    -    int mapped;
    -
    -    TRACE("(%08x, %s, %08lx, %08lx)\n",
    -	  wDevID, MCI_MessageToString(wMsg), dwParam1, dwParam2);
    -
    -    mapped = MCI_MapMsgWtoA(wMsg, dwParam1, &dwParam2);
    -    if (mapped == -1)
    -    {
    -        FIXME("message %04x mapping failed\n", wMsg);
    -        return MMSYSERR_NOMEM;
    -    }
    -    ret = mciSendCommandA(wDevID, wMsg, dwParam1, dwParam2);
    -    if (mapped)
    -        MCI_UnmapMsgWtoA(wMsg, dwParam1, dwParam2, ret);
    -    return ret;
    -}
    -
    -/**************************************************************************
    - * 				mciGetDeviceIDA    		[WINMM.@]
    - */
    -UINT WINAPI mciGetDeviceIDA(LPCSTR lpstrName)
    -{
    -    return MCI_GetDriverFromString(lpstrName);
    -}
    -
    -/**************************************************************************
    - * 				mciGetDeviceIDW		       	[WINMM.@]
    - */
    -UINT WINAPI mciGetDeviceIDW(LPCWSTR lpwstrName)
    -{
    -    LPSTR 	lpstrName = NULL;
    -    UINT	ret;
    -    INT         len;
    -
    -    if (lpwstrName) {
    -        len = WideCharToMultiByte( CP_ACP, 0, lpwstrName, -1, NULL, 0, NULL, NULL );
    -        lpstrName = HeapAlloc( GetProcessHeap(), 0, len );
    -        if (lpstrName) WideCharToMultiByte( CP_ACP, 0, lpwstrName, -1, lpstrName, len, NULL, NULL );
    -    }
    -    ret = MCI_GetDriverFromString(lpstrName);
    -    HeapFree(GetProcessHeap(), 0, lpstrName);
    -    return ret;
    -}
    -
    -/**************************************************************************
    - * 				MCI_DefYieldProc	       	[internal]
    - */
    -UINT WINAPI MCI_DefYieldProc(MCIDEVICEID wDevID, DWORD data)
    -{
    -    INT16	ret;
    -
    -    TRACE("(0x%04x, 0x%08lx)\n", wDevID, data);
    -
    -    if ((HIWORD(data) != 0 && HWND_16(GetActiveWindow()) != HIWORD(data)) ||
    -	(GetAsyncKeyState(LOWORD(data)) & 1) == 0) {
    -	MyUserYield();
    -	ret = 0;
    -    } else {
    -	MSG		msg;
    -
    -	msg.hwnd = HWND_32(HIWORD(data));
    -	while (!PeekMessageA(&msg, msg.hwnd, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE));
    -	ret = -1;
    -    }
    -    return ret;
    -}
    -
    -/**************************************************************************
    - * 				mciSetYieldProc			[WINMM.@]
    - */
    -BOOL WINAPI mciSetYieldProc(MCIDEVICEID uDeviceID, YIELDPROC fpYieldProc, DWORD dwYieldData)
    -{
    -    LPWINE_MCIDRIVER	wmd;
    -
    -    TRACE("(%u, %p, %08lx)\n", uDeviceID, fpYieldProc, dwYieldData);
    -
    -    if (!(wmd = MCI_GetDriver(uDeviceID))) {
    -	WARN("Bad uDeviceID\n");
    -	return FALSE;
    -    }
    -
    -    wmd->lpfnYieldProc = fpYieldProc;
    -    wmd->dwYieldData   = dwYieldData;
    -    wmd->bIs32         = TRUE;
    -
    -    return TRUE;
    -}
    -
    -/**************************************************************************
    - * 				mciGetDeviceIDFromElementIDW	[WINMM.@]
    - */
    -UINT WINAPI mciGetDeviceIDFromElementIDW(DWORD dwElementID, LPCWSTR lpstrType)
    -{
    -    /* FIXME: that's rather strange, there is no
    -     * mciGetDeviceIDFromElementID32A in winmm.spec
    -     */
    -    FIXME("(%lu, %p) stub\n", dwElementID, lpstrType);
    -    return 0;
    -}
    -
    -/**************************************************************************
    - * 				mciGetYieldProc			[WINMM.@]
    - */
    -YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID uDeviceID, DWORD* lpdwYieldData)
    -{
    -    LPWINE_MCIDRIVER	wmd;
    -
    -    TRACE("(%u, %p)\n", uDeviceID, lpdwYieldData);
    -
    -    if (!(wmd = MCI_GetDriver(uDeviceID))) {
    -	WARN("Bad uDeviceID\n");
    -	return NULL;
    -    }
    -    if (!wmd->lpfnYieldProc) {
    -	WARN("No proc set\n");
    -	return NULL;
    -    }
    -    if (!wmd->bIs32) {
    -	WARN("Proc is 32 bit\n");
    -	return NULL;
    -    }
    -    return wmd->lpfnYieldProc;
    -}
    -
    -/**************************************************************************
    - * 				mciGetCreatorTask		[WINMM.@]
    - */
    -HTASK WINAPI mciGetCreatorTask(MCIDEVICEID uDeviceID)
    -{
    -    LPWINE_MCIDRIVER	wmd;
    -    HTASK ret = 0;
    -
    -    if ((wmd = MCI_GetDriver(uDeviceID))) ret = (HTASK)wmd->CreatorThread;
    -
    -    TRACE("(%u) => %p\n", uDeviceID, ret);
    -    return ret;
    -}
    -
    -/**************************************************************************
    - * 			mciDriverYield				[WINMM.@]
    - */
    -UINT WINAPI mciDriverYield(MCIDEVICEID uDeviceID)
    -{
    -    LPWINE_MCIDRIVER	wmd;
    -    UINT		ret = 0;
    -
    -    TRACE("(%04x)\n", uDeviceID);
    -
    -    if (!(wmd = MCI_GetDriver(uDeviceID)) || !wmd->lpfnYieldProc || !wmd->bIs32) {
    -	MyUserYield();
    -    } else {
    -	ret = wmd->lpfnYieldProc(uDeviceID, wmd->dwYieldData);
    -    }
    -
    -    return ret;
    -}
    -
     /**************************************************************************
      * 				midiOutGetNumDevs	[WINMM.@]
      */
    @@ -1299,49 +820,50 @@ UINT WINAPI midiOutGetDevCapsA(UINT_PTR uDeviceID, LPMIDIOUTCAPSA lpCaps,
     }
     
     /**************************************************************************
    - * 				MIDI_GetErrorText       	[internal]
    + * 				midiOutGetErrorTextA 	[WINMM.@]
    + * 				midiInGetErrorTextA 	[WINMM.@]
      */
    -static	UINT16	MIDI_GetErrorText(UINT16 uError, LPSTR lpText, UINT16 uSize)
    +UINT WINAPI midiOutGetErrorTextA(UINT uError, LPSTR lpText, UINT uSize)
     {
    -    UINT16		ret = MMSYSERR_BADERRNUM;
    +    UINT	ret;
     
    -    if (lpText == NULL) {
    -	ret = MMSYSERR_INVALPARAM;
    -    } else if (uSize == 0) {
    -	ret = MMSYSERR_NOERROR;
    -    } else if (
    -	       /* test has been removed 'coz MMSYSERR_BASE is 0, and gcc did emit
    -		* a warning for the test was always true */
    -	       (/*uError >= MMSYSERR_BASE && */ uError <= MMSYSERR_LASTERROR) ||
    -	       (uError >= MIDIERR_BASE  && uError <= MIDIERR_LASTERROR)) {
    -
    -	if (LoadStringA(WINMM_IData->hWinMM32Instance,
    -			uError, lpText, uSize) > 0) {
    -	    ret = MMSYSERR_NOERROR;
    -	}
    +    if (lpText == NULL) ret = MMSYSERR_INVALPARAM;
    +    else if (uSize == 0) ret = MMSYSERR_NOERROR;
    +    else
    +    {
    +        LPWSTR	xstr = HeapAlloc(GetProcessHeap(), 0, uSize * sizeof(WCHAR));
    +        if (!xstr) ret = MMSYSERR_NOMEM;
    +        else
    +        {
    +            ret = midiOutGetErrorTextW(uError, xstr, uSize);
    +            if (ret == MMSYSERR_NOERROR)
    +                WideCharToMultiByte(CP_ACP, 0, xstr, -1, lpText, uSize, NULL, NULL);
    +            HeapFree(GetProcessHeap(), 0, xstr);
    +        }
         }
         return ret;
     }
     
    -/**************************************************************************
    - * 				midiOutGetErrorTextA 	[WINMM.@]
    - */
    -UINT WINAPI midiOutGetErrorTextA(UINT uError, LPSTR lpText, UINT uSize)
    -{
    -    return MIDI_GetErrorText(uError, lpText, uSize);
    -}
    -
     /**************************************************************************
      * 				midiOutGetErrorTextW 	[WINMM.@]
    + * 				midiInGetErrorTextW 	[WINMM.@]
      */
     UINT WINAPI midiOutGetErrorTextW(UINT uError, LPWSTR lpText, UINT uSize)
     {
    -    LPSTR	xstr = HeapAlloc(GetProcessHeap(), 0, uSize);
    -    UINT	ret;
    +    UINT        ret = MMSYSERR_BADERRNUM;
     
    -    ret = MIDI_GetErrorText(uError, xstr, uSize);
    -    MultiByteToWideChar( CP_ACP, 0, xstr, -1, lpText, uSize );
    -    HeapFree(GetProcessHeap(), 0, xstr);
    +    if (lpText == NULL) ret = MMSYSERR_INVALPARAM;
    +    else if (uSize == 0) ret = MMSYSERR_NOERROR;
    +    else if (
    +	       /* test has been removed 'coz MMSYSERR_BASE is 0, and gcc did emit
    +		* a warning for the test was always true */
    +	       (/*uError >= MMSYSERR_BASE && */ uError <= MMSYSERR_LASTERROR) ||
    +	       (uError >= MIDIERR_BASE  && uError <= MIDIERR_LASTERROR)) {
    +	if (LoadStringW(WINMM_IData->hWinMM32Instance,
    +			uError, lpText, uSize) > 0) {
    +	    ret = MMSYSERR_NOERROR;
    +	}
    +    }
         return ret;
     }
     
    @@ -1674,27 +1196,6 @@ UINT WINAPI midiInGetDevCapsA(UINT_PTR uDeviceID, LPMIDIINCAPSA lpCaps, UINT uSi
         return ret;
     }
     
    -/**************************************************************************
    - * 				midiInGetErrorTextW 		[WINMM.@]
    - */
    -UINT WINAPI midiInGetErrorTextW(UINT uError, LPWSTR lpText, UINT uSize)
    -{
    -    LPSTR	xstr = HeapAlloc(GetProcessHeap(), 0, uSize);
    -    UINT	ret = MIDI_GetErrorText(uError, xstr, uSize);
    -
    -    MultiByteToWideChar( CP_ACP, 0, xstr, -1, lpText, uSize );
    -    HeapFree(GetProcessHeap(), 0, xstr);
    -    return ret;
    -}
    -
    -/**************************************************************************
    - * 				midiInGetErrorTextA 		[WINMM.@]
    - */
    -UINT WINAPI midiInGetErrorTextA(UINT uError, LPSTR lpText, UINT uSize)
    -{
    -    return MIDI_GetErrorText(uError, lpText, uSize);
    -}
    -
     UINT MIDI_InOpen(HMIDIIN* lphMidiIn, UINT uDeviceID, DWORD_PTR dwCallback,
                      DWORD_PTR dwInstance, DWORD dwFlags, BOOL bFrom32)
     {
    @@ -2629,48 +2130,50 @@ UINT WINAPI waveOutGetDevCapsW(UINT_PTR uDeviceID, LPWAVEOUTCAPSW lpCaps,
     }
     
     /**************************************************************************
    - * 				WAVE_GetErrorText       	[internal]
    + * 				waveOutGetErrorTextA 	[WINMM.@]
    + * 				waveInGetErrorTextA 	[WINMM.@]
      */
    -static	UINT16	WAVE_GetErrorText(UINT16 uError, LPSTR lpText, UINT16 uSize)
    +UINT WINAPI waveOutGetErrorTextA(UINT uError, LPSTR lpText, UINT uSize)
     {
    -    UINT16		ret = MMSYSERR_BADERRNUM;
    +    UINT	ret;
     
    -    if (lpText == NULL) {
    -	ret = MMSYSERR_INVALPARAM;
    -    } else if (uSize == 0) {
    -	ret = MMSYSERR_NOERROR;
    -    } else if (
    -	       /* test has been removed 'coz MMSYSERR_BASE is 0, and gcc did emit
    -		* a warning for the test was always true */
    -	       (/*uError >= MMSYSERR_BASE && */uError <= MMSYSERR_LASTERROR) ||
    -	       (uError >= WAVERR_BASE  && uError <= WAVERR_LASTERROR)) {
    -
    -	if (LoadStringA(WINMM_IData->hWinMM32Instance,
    -			uError, lpText, uSize) > 0) {
    -	    ret = MMSYSERR_NOERROR;
    -	}
    +    if (lpText == NULL) ret = MMSYSERR_INVALPARAM;
    +    else if (uSize == 0) ret = MMSYSERR_NOERROR;
    +    else
    +    {
    +        LPWSTR	xstr = HeapAlloc(GetProcessHeap(), 0, uSize * sizeof(WCHAR));
    +        if (!xstr) ret = MMSYSERR_NOMEM;
    +        else
    +        {
    +            ret = waveOutGetErrorTextW(uError, xstr, uSize);
    +            if (ret == MMSYSERR_NOERROR)
    +                WideCharToMultiByte(CP_ACP, 0, xstr, -1, lpText, uSize, NULL, NULL);
    +            HeapFree(GetProcessHeap(), 0, xstr);
    +        }
         }
         return ret;
     }
     
    -/**************************************************************************
    - * 				waveOutGetErrorTextA 	[WINMM.@]
    - */
    -UINT WINAPI waveOutGetErrorTextA(UINT uError, LPSTR lpText, UINT uSize)
    -{
    -    return WAVE_GetErrorText(uError, lpText, uSize);
    -}
    -
     /**************************************************************************
      * 				waveOutGetErrorTextW 	[WINMM.@]
    + * 				waveInGetErrorTextW 	[WINMM.@]
      */
     UINT WINAPI waveOutGetErrorTextW(UINT uError, LPWSTR lpText, UINT uSize)
     {
    -    LPSTR	xstr = HeapAlloc(GetProcessHeap(), 0, uSize);
    -    UINT	ret = WAVE_GetErrorText(uError, xstr, uSize);
    +    UINT        ret = MMSYSERR_BADERRNUM;
     
    -    MultiByteToWideChar( CP_ACP, 0, xstr, -1, lpText, uSize );
    -    HeapFree(GetProcessHeap(), 0, xstr);
    +    if (lpText == NULL) ret = MMSYSERR_INVALPARAM;
    +    else if (uSize == 0) ret = MMSYSERR_NOERROR;
    +    else if (
    +	       /* test has been removed 'coz MMSYSERR_BASE is 0, and gcc did emit
    +		* a warning for the test was always true */
    +	       (/*uError >= MMSYSERR_BASE && */ uError <= MMSYSERR_LASTERROR) ||
    +	       (uError >= WAVERR_BASE  && uError <= WAVERR_LASTERROR)) {
    +	if (LoadStringW(WINMM_IData->hWinMM32Instance,
    +			uError, lpText, uSize) > 0) {
    +	    ret = MMSYSERR_NOERROR;
    +	}
    +    }
         return ret;
     }
     
    @@ -3040,27 +2543,6 @@ UINT WINAPI waveInGetDevCapsA(UINT_PTR uDeviceID, LPWAVEINCAPSA lpCaps, UINT uSi
         return ret;
     }
     
    -/**************************************************************************
    - * 				waveInGetErrorTextA 	[WINMM.@]
    - */
    -UINT WINAPI waveInGetErrorTextA(UINT uError, LPSTR lpText, UINT uSize)
    -{
    -    return WAVE_GetErrorText(uError, lpText, uSize);
    -}
    -
    -/**************************************************************************
    - * 				waveInGetErrorTextW 	[WINMM.@]
    - */
    -UINT WINAPI waveInGetErrorTextW(UINT uError, LPWSTR lpText, UINT uSize)
    -{
    -    LPSTR txt = HeapAlloc(GetProcessHeap(), 0, uSize);
    -    UINT	ret = WAVE_GetErrorText(uError, txt, uSize);
    -
    -    MultiByteToWideChar( CP_ACP, 0, txt, -1, lpText, uSize );
    -    HeapFree(GetProcessHeap(), 0, txt);
    -    return ret;
    -}
    -
     /**************************************************************************
      * 				waveInOpen			[WINMM.@]
      */
    diff --git a/reactos/lib/winmm/winmm.spec b/reactos/lib/winmm/winmm.spec
    index ffaad29dd40..c9e4577a37f 100644
    --- a/reactos/lib/winmm/winmm.spec
    +++ b/reactos/lib/winmm/winmm.spec
    @@ -10,12 +10,12 @@
     @ stdcall DrvClose(long long long) CloseDriver
     @ stdcall DrvDefDriverProc(long long long long long) DefDriverProc
     @ stdcall DrvGetModuleHandle(long) GetDriverModuleHandle
    -@ stdcall DrvOpen(wstr wstr long) OpenDriverW
    +@ stdcall DrvOpen(wstr wstr long) OpenDriver
     @ stdcall DrvOpenA(str str long) OpenDriverA
     @ stdcall DrvSendMessage(long long long long) SendDriverMessage
     @ stdcall GetDriverFlags(long)
     @ stdcall GetDriverModuleHandle(long)
    -@ stdcall OpenDriver(wstr wstr long) OpenDriverW
    +@ stdcall OpenDriver(wstr wstr long)
     @ stdcall OpenDriverA(str str long)
     @ stdcall PlaySound(ptr long long) PlaySoundA
     @ stdcall PlaySoundW(ptr long long)
    @@ -42,8 +42,9 @@
     @ stdcall mciFreeCommandResource(long)
     @ stdcall mciGetCreatorTask(long)
     @ stdcall mciGetDeviceIDA(str)
    -@ stdcall mciGetDeviceIDFromElementIDW(long str)
    -@ stdcall mciGetDeviceIDW(str)
    +@ stdcall mciGetDeviceIDW(wstr)
    +@ stdcall mciGetDeviceIDFromElementIDA(long str)
    +@ stdcall mciGetDeviceIDFromElementIDW(long wstr)
     @ stdcall mciGetDriverData(long)
     @ stdcall mciGetErrorStringA(long ptr long)
     @ stdcall mciGetErrorStringW(long ptr long)
    @@ -61,8 +62,8 @@
     @ stdcall midiInClose(long)
     @ stdcall midiInGetDevCapsA(long ptr long)
     @ stdcall midiInGetDevCapsW(long ptr long)
    -@ stdcall midiInGetErrorTextA(long ptr long)
    -@ stdcall midiInGetErrorTextW(long ptr long)
    +@ stdcall midiInGetErrorTextA(long ptr long) midiOutGetErrorTextA
    +@ stdcall midiInGetErrorTextW(long ptr long) midiOutGetErrorTextW
     @ stdcall midiInGetID(long ptr)
     @ stdcall midiInGetNumDevs()
     @ stdcall midiInMessage(long long long long)
    @@ -153,8 +154,8 @@
     @ stdcall waveInClose(long)
     @ stdcall waveInGetDevCapsA(long ptr long)
     @ stdcall waveInGetDevCapsW(long ptr long)
    -@ stdcall waveInGetErrorTextA(long ptr long)
    -@ stdcall waveInGetErrorTextW(long ptr long)
    +@ stdcall waveInGetErrorTextA(long ptr long) waveOutGetErrorTextA
    +@ stdcall waveInGetErrorTextW(long ptr long) waveOutGetErrorTextW
     @ stdcall waveInGetID(long ptr)
     @ stdcall waveInGetNumDevs()
     @ stdcall waveInGetPosition(long ptr long)
    @@ -188,3 +189,23 @@
     @ stdcall waveOutSetVolume(long long)
     @ stdcall waveOutUnprepareHeader(long ptr long)
     @ stdcall waveOutWrite(long ptr long)
    +# MigrateAllDrivers
    +# MigrateSoundEvents
    +# NotifyCallbackData
    +# WOW32DriverCallback
    +# WOW32ResolveMultiMediaHandle
    +# WOWAppExit
    +# WinmmLogoff
    +# WinmmLogon
    +# mid32Message
    +# mmDrvInstall
    +# aux32Message
    +# joy32Message
    +# mci32Message
    +# mod32Message
    +# mxd32Message
    +# tid32Message
    +# wid32Message
    +# winmmDbgOut
    +# winmmSetDebugLevel
    +# wod32Message
    diff --git a/reactos/lib/winmm/winmm_De.rc b/reactos/lib/winmm/winmm_De.rc
    index 24aa8224ae8..0474a427ff5 100644
    --- a/reactos/lib/winmm/winmm_De.rc
    +++ b/reactos/lib/winmm/winmm_De.rc
    @@ -71,8 +71,8 @@ MCIERR_DRIVER, 		"Es gibt ein Problem mit dem Ger
     MCIERR_CANNOT_USE_ALL, 	"Der Gerätename 'all' ist nicht in diesem Befehl erlaubt."
     MCIERR_MULTIPLE, 		"Es traten Fehler in mehr als einem Gerät auf. Geben Sie jeden Befehl für jedes Gerät einzeln an, um zu bestimmen, welches Gerät die Fehler verursachte."
     MCIERR_EXTENSION_NOT_FOUND, 	"Kann keinen Gerätetyp aus der angegebenen Dateinamenerweiterung ermitteln."
    -MCIERR_OUTOFRANGE, 		"Der angegebene Paramter liegt außerhalb des zulässigen Bereichs für diesen Befehl."
    -MCIERR_FLAGS_NOT_COMPATIBLE, 	"Die Paramter können nicht zusammen verwendet werden."
    +MCIERR_OUTOFRANGE, 		"Der angegebene Parameter liegt außerhalb des zulässigen Bereichs für diesen Befehl."
    +MCIERR_FLAGS_NOT_COMPATIBLE, 	"Die Parameter können nicht zusammen verwendet werden."
     MCIERR_FILE_NOT_SAVED, 	"Die Datei kann nicht gespeichert werden. Stellen Sie sicher, dass genügend Platz auf dem Datenträger verfügbar ist oder Ihre Netzwerkverbindung noch besteht."
     MCIERR_DEVICE_TYPE_REQUIRED, 	"Das angegebene Gerät wurde nicht gefunden. Stellen Sie sicher, dass es installiert ist oder der Gerätename richtig geschrieben ist."
     MCIERR_DEVICE_LOCKED, 		"Das angegebene Gerät wird geschlossen. Warten Sie einige Sekunden, und versuchen Sie es erneut."
    diff --git a/reactos/lib/winmm/winmm_res.rc b/reactos/lib/winmm/winmm_res.rc
    index bd0b37dea30..9b09d28c66c 100644
    --- a/reactos/lib/winmm/winmm_res.rc
    +++ b/reactos/lib/winmm/winmm_res.rc
    @@ -47,773 +47,773 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
     
     CORE RCDATA
     BEGIN
    -"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"type\0", 0x00002000L, MCI_STRING,
    -"element\0", 0x00000200L, MCI_STRING,
    -"alias\0", 0x00000400L, MCI_STRING,
    -"shareable\0", 0x00000100L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"close\0", 0x00000804L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"play\0", 0x00000806L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"from\0", 0x00000004L, MCI_INTEGER,
    -"to\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"record\0", 0x0000080fL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"from\0", 0x00000004L, MCI_INTEGER,
    -"to\0", 0x00000008L, MCI_INTEGER,
    -"insert\0", 0x00000100L, MCI_FLAG,
    -"overwrite\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"seek\0", 0x00000807L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"to start\0", 0x00000100L, MCI_FLAG,
    -"to end\0", 0x00000200L, MCI_FLAG,
    -"to\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"stop\0", 0x00000808L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"pause\0", 0x00000809L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"position\0", 0x00000002L, MCI_INTEGER,
    -"length\0", 0x00000001L, MCI_INTEGER,
    -"number of tracks\0", 0x00000003L, MCI_INTEGER,
    -"ready\0", 0x00000007L, MCI_INTEGER,
    -"mode\0", 0x00000004L, MCI_INTEGER,
    -"time format\0", 0x00000006L, MCI_INTEGER,
    -"current track\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"track\0", 0x00000010L, MCI_INTEGER,
    -"start\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"can record\0", 0x00000001L, MCI_INTEGER,
    -"has audio\0", 0x00000002L, MCI_INTEGER,
    -"has video\0", 0x00000003L, MCI_INTEGER,
    -"uses files\0", 0x00000005L, MCI_INTEGER,
    -"compound device\0", 0x00000006L, MCI_INTEGER,
    -"device type\0", 0x00000004L, MCI_INTEGER,
    -"can eject\0", 0x00000007L, MCI_INTEGER,
    -"can play\0", 0x00000008L, MCI_INTEGER,
    -"can save\0", 0x00000009L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"product\0", 0x00000100L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"time format\0", 0x00000400L, MCI_CONSTANT,
    -"milliseconds\0", 0x00000000L, MCI_INTEGER,
    -"ms\0", 0x00000000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"door open\0", 0x00000100L, MCI_FLAG,
    -"door closed\0", 0x00000200L, MCI_FLAG,
    -"audio\0", 0x00000800L, MCI_CONSTANT,
    -"all\0", 0x00000000L, MCI_INTEGER,
    -"left\0", 0x00000001L, MCI_INTEGER,
    -"right\0", 0x00000002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"video\0", 0x00001000L, MCI_FLAG,
    -"on\0", 0x00002000L, MCI_FLAG,
    -"off\0", 0x00004000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"sysinfo\0", 0x00000810L, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"quantity\0", 0x00000100L, MCI_FLAG,
    -"open\0", 0x00000200L, MCI_FLAG,
    -"installname\0", 0x00000800L, MCI_FLAG,
    -"name\0", 0x00000400L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"break\0", 0x00000811L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"on\0", 0x00000100L, MCI_INTEGER,
    -"off\0", 0x00000400L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"sound\0", 0x00000812L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"save\0", 0x00000813L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_STRING,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"load\0", 0x00000850L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_STRING,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"resume\0", 0x00000855L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"\0", 0x00000000L, MCI_END_COMMAND_LIST
    +L"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"type\0", 0x00002000L, MCI_STRING,
    +L"element\0", 0x00000200L, MCI_STRING,
    +L"alias\0", 0x00000400L, MCI_STRING,
    +L"shareable\0", 0x00000100L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"close\0", 0x00000804L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"play\0", 0x00000806L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"from\0", 0x00000004L, MCI_INTEGER,
    +L"to\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"record\0", 0x0000080fL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"from\0", 0x00000004L, MCI_INTEGER,
    +L"to\0", 0x00000008L, MCI_INTEGER,
    +L"insert\0", 0x00000100L, MCI_FLAG,
    +L"overwrite\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"seek\0", 0x00000807L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"to start\0", 0x00000100L, MCI_FLAG,
    +L"to end\0", 0x00000200L, MCI_FLAG,
    +L"to\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"stop\0", 0x00000808L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"pause\0", 0x00000809L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"position\0", 0x00000002L, MCI_INTEGER,
    +L"length\0", 0x00000001L, MCI_INTEGER,
    +L"number of tracks\0", 0x00000003L, MCI_INTEGER,
    +L"ready\0", 0x00000007L, MCI_INTEGER,
    +L"mode\0", 0x00000004L, MCI_INTEGER,
    +L"time format\0", 0x00000006L, MCI_INTEGER,
    +L"current track\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"track\0", 0x00000010L, MCI_INTEGER,
    +L"start\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"can record\0", 0x00000001L, MCI_INTEGER,
    +L"has audio\0", 0x00000002L, MCI_INTEGER,
    +L"has video\0", 0x00000003L, MCI_INTEGER,
    +L"uses files\0", 0x00000005L, MCI_INTEGER,
    +L"compound device\0", 0x00000006L, MCI_INTEGER,
    +L"device type\0", 0x00000004L, MCI_INTEGER,
    +L"can eject\0", 0x00000007L, MCI_INTEGER,
    +L"can play\0", 0x00000008L, MCI_INTEGER,
    +L"can save\0", 0x00000009L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"product\0", 0x00000100L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"time format\0", 0x00000400L, MCI_CONSTANT,
    +L"milliseconds\0", 0x00000000L, MCI_INTEGER,
    +L"ms\0", 0x00000000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"door open\0", 0x00000100L, MCI_FLAG,
    +L"door closed\0", 0x00000200L, MCI_FLAG,
    +L"audio\0", 0x00000800L, MCI_CONSTANT,
    +L"all\0", 0x00000000L, MCI_INTEGER,
    +L"left\0", 0x00000001L, MCI_INTEGER,
    +L"right\0", 0x00000002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"video\0", 0x00001000L, MCI_FLAG,
    +L"on\0", 0x00002000L, MCI_FLAG,
    +L"off\0", 0x00004000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"sysinfo\0", 0x00000810L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"quantity\0", 0x00000100L, MCI_FLAG,
    +L"open\0", 0x00000200L, MCI_FLAG,
    +L"installname\0", 0x00000800L, MCI_FLAG,
    +L"name\0", 0x00000400L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"break\0", 0x00000811L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"on\0", 0x00000100L, MCI_INTEGER,
    +L"off\0", 0x00000400L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"sound\0", 0x00000812L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"save\0", 0x00000813L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_STRING,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"load\0", 0x00000850L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_STRING,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"resume\0", 0x00000855L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"\0", 0x00000000L, MCI_END_COMMAND_LIST
     END
     
     VIDEODISC RCDATA
     BEGIN
    -"play\0", 0x00000806L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"from\0", 0x00000004L, MCI_INTEGER,
    -"to\0", 0x00000008L, MCI_INTEGER,
    -"fast\0", 0x00020000L, MCI_FLAG,
    -"slow\0", 0x00100000L, MCI_FLAG,
    -"speed\0", 0x00040000L, MCI_INTEGER,
    -"reverse\0", 0x00010000L, MCI_FLAG,
    -"scan\0", 0x00080000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"seek\0", 0x00000807L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"reverse\0", 0x00010000L, MCI_FLAG,
    -"to start\0", 0x00000100L, MCI_FLAG,
    -"to end\0", 0x00000200L, MCI_FLAG,
    -"to\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"spin\0", 0x0000080cL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"up\0", 0x00010000L, MCI_FLAG,
    -"down\0", 0x00020000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"step\0", 0x0000080eL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"reverse\0", 0x00020000L, MCI_FLAG,
    -"by\0", 0x00010000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"time format\0", 0x00000400L, MCI_CONSTANT,
    -"milliseconds\0", 0x00000000L, MCI_INTEGER,
    -"ms\0", 0x00000000L, MCI_INTEGER,
    -"frames\0", 0x00000003L, MCI_INTEGER,
    -"hms\0", 0x00000001L, MCI_INTEGER,
    -"track\0", 0x00004001L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"door open\0", 0x00000100L, MCI_FLAG,
    -"door closed\0", 0x00000200L, MCI_FLAG,
    -"audio\0", 0x00000800L, MCI_CONSTANT,
    -"all\0", 0x00000000L, MCI_INTEGER,
    -"left\0", 0x00000001L, MCI_INTEGER,
    -"right\0", 0x00000002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"video\0", 0x00001000L, MCI_FLAG,
    -"on\0", 0x00002000L, MCI_FLAG,
    -"off\0", 0x00004000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"position\0", 0x00000002L, MCI_INTEGER,
    -"length\0", 0x00000001L, MCI_INTEGER,
    -"number of tracks\0", 0x00000003L, MCI_INTEGER,
    -"mode\0", 0x00000004L, MCI_INTEGER,
    -"media present\0", 0x00000005L, MCI_INTEGER,
    -"speed\0", 0x00004002L, MCI_INTEGER,
    -"forward\0", 0x00004003L, MCI_INTEGER,
    -"media type\0", 0x00004004L, MCI_INTEGER,
    -"ready\0", 0x00000007L, MCI_INTEGER,
    -"side\0", 0x00004005L, MCI_INTEGER,
    -"disc size\0", 0x00004006L, MCI_INTEGER,
    -"time format\0", 0x00000006L, MCI_INTEGER,
    -"current track\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"track\0", 0x00000010L, MCI_INTEGER,
    -"start\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"clv\0", 0x00010000L, MCI_FLAG,
    -"cav\0", 0x00020000L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"can record\0", 0x00000001L, MCI_INTEGER,
    -"has audio\0", 0x00000002L, MCI_INTEGER,
    -"has video\0", 0x00000003L, MCI_INTEGER,
    -"device type\0", 0x00000004L, MCI_INTEGER,
    -"uses files\0", 0x00000005L, MCI_INTEGER,
    -"compound device\0", 0x00000006L, MCI_INTEGER,
    -"can eject\0", 0x00000007L, MCI_INTEGER,
    -"can reverse\0", 0x00004002L, MCI_INTEGER,
    -"can play\0", 0x00000008L, MCI_INTEGER,
    -"can save\0", 0x00000009L, MCI_INTEGER,
    -"fast play rate\0", 0x00004003L, MCI_INTEGER,
    -"slow play rate\0", 0x00004004L, MCI_INTEGER,
    -"normal play rate\0", 0x00004005L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"escape\0", 0x00000805L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_STRING,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"product\0", 0x00000100L, MCI_FLAG,
    -"identity\0", 0x00000800L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"\0", 0x00000000L, MCI_END_COMMAND_LIST
    +L"play\0", 0x00000806L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"from\0", 0x00000004L, MCI_INTEGER,
    +L"to\0", 0x00000008L, MCI_INTEGER,
    +L"fast\0", 0x00020000L, MCI_FLAG,
    +L"slow\0", 0x00100000L, MCI_FLAG,
    +L"speed\0", 0x00040000L, MCI_INTEGER,
    +L"reverse\0", 0x00010000L, MCI_FLAG,
    +L"scan\0", 0x00080000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"seek\0", 0x00000807L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"reverse\0", 0x00010000L, MCI_FLAG,
    +L"to start\0", 0x00000100L, MCI_FLAG,
    +L"to end\0", 0x00000200L, MCI_FLAG,
    +L"to\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"spin\0", 0x0000080cL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"up\0", 0x00010000L, MCI_FLAG,
    +L"down\0", 0x00020000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"step\0", 0x0000080eL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"reverse\0", 0x00020000L, MCI_FLAG,
    +L"by\0", 0x00010000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"time format\0", 0x00000400L, MCI_CONSTANT,
    +L"milliseconds\0", 0x00000000L, MCI_INTEGER,
    +L"ms\0", 0x00000000L, MCI_INTEGER,
    +L"frames\0", 0x00000003L, MCI_INTEGER,
    +L"hms\0", 0x00000001L, MCI_INTEGER,
    +L"track\0", 0x00004001L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"door open\0", 0x00000100L, MCI_FLAG,
    +L"door closed\0", 0x00000200L, MCI_FLAG,
    +L"audio\0", 0x00000800L, MCI_CONSTANT,
    +L"all\0", 0x00000000L, MCI_INTEGER,
    +L"left\0", 0x00000001L, MCI_INTEGER,
    +L"right\0", 0x00000002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"video\0", 0x00001000L, MCI_FLAG,
    +L"on\0", 0x00002000L, MCI_FLAG,
    +L"off\0", 0x00004000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"position\0", 0x00000002L, MCI_INTEGER,
    +L"length\0", 0x00000001L, MCI_INTEGER,
    +L"number of tracks\0", 0x00000003L, MCI_INTEGER,
    +L"mode\0", 0x00000004L, MCI_INTEGER,
    +L"media present\0", 0x00000005L, MCI_INTEGER,
    +L"speed\0", 0x00004002L, MCI_INTEGER,
    +L"forward\0", 0x00004003L, MCI_INTEGER,
    +L"media type\0", 0x00004004L, MCI_INTEGER,
    +L"ready\0", 0x00000007L, MCI_INTEGER,
    +L"side\0", 0x00004005L, MCI_INTEGER,
    +L"disc size\0", 0x00004006L, MCI_INTEGER,
    +L"time format\0", 0x00000006L, MCI_INTEGER,
    +L"current track\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"track\0", 0x00000010L, MCI_INTEGER,
    +L"start\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"clv\0", 0x00010000L, MCI_FLAG,
    +L"cav\0", 0x00020000L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"can record\0", 0x00000001L, MCI_INTEGER,
    +L"has audio\0", 0x00000002L, MCI_INTEGER,
    +L"has video\0", 0x00000003L, MCI_INTEGER,
    +L"device type\0", 0x00000004L, MCI_INTEGER,
    +L"uses files\0", 0x00000005L, MCI_INTEGER,
    +L"compound device\0", 0x00000006L, MCI_INTEGER,
    +L"can eject\0", 0x00000007L, MCI_INTEGER,
    +L"can reverse\0", 0x00004002L, MCI_INTEGER,
    +L"can play\0", 0x00000008L, MCI_INTEGER,
    +L"can save\0", 0x00000009L, MCI_INTEGER,
    +L"fast play rate\0", 0x00004003L, MCI_INTEGER,
    +L"slow play rate\0", 0x00004004L, MCI_INTEGER,
    +L"normal play rate\0", 0x00004005L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"escape\0", 0x00000805L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_STRING,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"product\0", 0x00000100L, MCI_FLAG,
    +L"identity\0", 0x00000800L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"\0", 0x00000000L, MCI_END_COMMAND_LIST
     END
     
     WAVEAUDIO RCDATA
     BEGIN
    -"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"type\0", 0x00002000L, MCI_STRING,
    -"element\0", 0x00000200L, MCI_STRING,
    -"alias\0", 0x00000400L, MCI_STRING,
    -"shareable\0", 0x00000100L, MCI_FLAG,
    -"buffer\0", 0x00010000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"position\0", 0x00000002L, MCI_INTEGER,
    -"length\0", 0x00000001L, MCI_INTEGER,
    -"number of tracks\0", 0x00000003L, MCI_INTEGER,
    -"media present\0", 0x00000005L, MCI_INTEGER,
    -"mode\0", 0x00000004L, MCI_INTEGER,
    -"format tag\0", 0x00004001L, MCI_INTEGER,
    -"channels\0", 0x00004002L, MCI_INTEGER,
    -"samplespersec\0", 0x00004003L, MCI_INTEGER,
    -"bytespersec\0", 0x00004004L, MCI_INTEGER,
    -"alignment\0", 0x00004005L, MCI_INTEGER,
    -"bitspersample\0", 0x00004006L, MCI_INTEGER,
    -"input\0", 0x00400000L, MCI_INTEGER,
    -"output\0", 0x00800000L, MCI_INTEGER,
    -"level\0", 0x00004007L, MCI_INTEGER,
    -"ready\0", 0x00000007L, MCI_INTEGER,
    -"time format\0", 0x00000006L, MCI_INTEGER,
    -"current track\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"track\0", 0x00000010L, MCI_INTEGER,
    -"start\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"any input\0", 0x04000000L, MCI_FLAG,
    -"any output\0", 0x08000000L, MCI_FLAG,
    -"time format\0", 0x00000400L, MCI_CONSTANT,
    -"milliseconds\0", 0x00000000L, MCI_INTEGER,
    -"ms\0", 0x00000000L, MCI_INTEGER,
    -"bytes\0", 0x00000008L, MCI_INTEGER,
    -"samples\0", 0x00000009L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"audio\0", 0x00000800L, MCI_CONSTANT,
    -"all\0", 0x00000000L, MCI_INTEGER,
    -"left\0", 0x00000001L, MCI_INTEGER,
    -"right\0", 0x00000002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"video\0", 0x00001000L, MCI_FLAG,
    -"on\0", 0x00002000L, MCI_FLAG,
    -"off\0", 0x00004000L, MCI_FLAG,
    -"door open\0", 0x00000100L, MCI_FLAG,
    -"door closed\0", 0x00000200L, MCI_FLAG,
    -"input\0", 0x00400000L, MCI_INTEGER,
    -"output\0", 0x00800000L, MCI_INTEGER,
    -"format tag\0", 0x00010000L, MCI_CONSTANT,
    -"pcm\0", 0x00000001L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"channels\0", 0x00020000L, MCI_INTEGER,
    -"samplespersec\0", 0x00040000L, MCI_INTEGER,
    -"bytespersec\0", 0x00080000L, MCI_INTEGER,
    -"alignment\0", 0x00100000L, MCI_INTEGER,
    -"bitspersample\0", 0x00200000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"can record\0", 0x00000001L, MCI_INTEGER,
    -"has audio\0", 0x00000002L, MCI_INTEGER,
    -"has video\0", 0x00000003L, MCI_INTEGER,
    -"device type\0", 0x00000004L, MCI_INTEGER,
    -"uses files\0", 0x00000005L, MCI_INTEGER,
    -"compound device\0", 0x00000006L, MCI_INTEGER,
    -"can eject\0", 0x00000007L, MCI_INTEGER,
    -"can play\0", 0x00000008L, MCI_INTEGER,
    -"can save\0", 0x00000009L, MCI_INTEGER,
    -"inputs\0", 0x00004001L, MCI_INTEGER,
    -"outputs\0", 0x00004002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"product\0", 0x00000100L, MCI_FLAG,
    -"input\0", 0x00400000L, MCI_FLAG,
    -"output\0", 0x00800000L, MCI_FLAG,
    -"file\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"cue\0", 0x00000830L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"input\0", 0x00400000L, MCI_FLAG,
    -"output\0", 0x00800000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"delete\0", 0x00000856L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"from\0", 0x00000004L, MCI_INTEGER,
    -"to\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"\0", 0x00000000L, MCI_END_COMMAND_LIST
    +L"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"type\0", 0x00002000L, MCI_STRING,
    +L"element\0", 0x00000200L, MCI_STRING,
    +L"alias\0", 0x00000400L, MCI_STRING,
    +L"shareable\0", 0x00000100L, MCI_FLAG,
    +L"buffer\0", 0x00010000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"position\0", 0x00000002L, MCI_INTEGER,
    +L"length\0", 0x00000001L, MCI_INTEGER,
    +L"number of tracks\0", 0x00000003L, MCI_INTEGER,
    +L"media present\0", 0x00000005L, MCI_INTEGER,
    +L"mode\0", 0x00000004L, MCI_INTEGER,
    +L"format tag\0", 0x00004001L, MCI_INTEGER,
    +L"channels\0", 0x00004002L, MCI_INTEGER,
    +L"samplespersec\0", 0x00004003L, MCI_INTEGER,
    +L"bytespersec\0", 0x00004004L, MCI_INTEGER,
    +L"alignment\0", 0x00004005L, MCI_INTEGER,
    +L"bitspersample\0", 0x00004006L, MCI_INTEGER,
    +L"input\0", 0x00400000L, MCI_INTEGER,
    +L"output\0", 0x00800000L, MCI_INTEGER,
    +L"level\0", 0x00004007L, MCI_INTEGER,
    +L"ready\0", 0x00000007L, MCI_INTEGER,
    +L"time format\0", 0x00000006L, MCI_INTEGER,
    +L"current track\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"track\0", 0x00000010L, MCI_INTEGER,
    +L"start\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"any input\0", 0x04000000L, MCI_FLAG,
    +L"any output\0", 0x08000000L, MCI_FLAG,
    +L"time format\0", 0x00000400L, MCI_CONSTANT,
    +L"milliseconds\0", 0x00000000L, MCI_INTEGER,
    +L"ms\0", 0x00000000L, MCI_INTEGER,
    +L"bytes\0", 0x00000008L, MCI_INTEGER,
    +L"samples\0", 0x00000009L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"audio\0", 0x00000800L, MCI_CONSTANT,
    +L"all\0", 0x00000000L, MCI_INTEGER,
    +L"left\0", 0x00000001L, MCI_INTEGER,
    +L"right\0", 0x00000002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"video\0", 0x00001000L, MCI_FLAG,
    +L"on\0", 0x00002000L, MCI_FLAG,
    +L"off\0", 0x00004000L, MCI_FLAG,
    +L"door open\0", 0x00000100L, MCI_FLAG,
    +L"door closed\0", 0x00000200L, MCI_FLAG,
    +L"input\0", 0x00400000L, MCI_INTEGER,
    +L"output\0", 0x00800000L, MCI_INTEGER,
    +L"format tag\0", 0x00010000L, MCI_CONSTANT,
    +L"pcm\0", 0x00000001L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"channels\0", 0x00020000L, MCI_INTEGER,
    +L"samplespersec\0", 0x00040000L, MCI_INTEGER,
    +L"bytespersec\0", 0x00080000L, MCI_INTEGER,
    +L"alignment\0", 0x00100000L, MCI_INTEGER,
    +L"bitspersample\0", 0x00200000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"can record\0", 0x00000001L, MCI_INTEGER,
    +L"has audio\0", 0x00000002L, MCI_INTEGER,
    +L"has video\0", 0x00000003L, MCI_INTEGER,
    +L"device type\0", 0x00000004L, MCI_INTEGER,
    +L"uses files\0", 0x00000005L, MCI_INTEGER,
    +L"compound device\0", 0x00000006L, MCI_INTEGER,
    +L"can eject\0", 0x00000007L, MCI_INTEGER,
    +L"can play\0", 0x00000008L, MCI_INTEGER,
    +L"can save\0", 0x00000009L, MCI_INTEGER,
    +L"inputs\0", 0x00004001L, MCI_INTEGER,
    +L"outputs\0", 0x00004002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"product\0", 0x00000100L, MCI_FLAG,
    +L"input\0", 0x00400000L, MCI_FLAG,
    +L"output\0", 0x00800000L, MCI_FLAG,
    +L"file\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"cue\0", 0x00000830L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"input\0", 0x00400000L, MCI_FLAG,
    +L"output\0", 0x00800000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"delete\0", 0x00000856L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"from\0", 0x00000004L, MCI_INTEGER,
    +L"to\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"\0", 0x00000000L, MCI_END_COMMAND_LIST
     END
     
     CDAUDIO RCDATA
     BEGIN
    -"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"position\0", 0x00000002L, MCI_INTEGER,
    -"length\0", 0x00000001L, MCI_INTEGER,
    -"number of tracks\0", 0x00000003L, MCI_INTEGER,
    -"ready\0", 0x00000007L, MCI_INTEGER,
    -"mode\0", 0x00000004L, MCI_INTEGER,
    -"media present\0", 0x00000005L, MCI_INTEGER,
    -"time format\0", 0x00000006L, MCI_INTEGER,
    -"current track\0", 0x00000008L, MCI_INTEGER,
    -"type\0", 0x00004001L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"track\0", 0x00000010L, MCI_INTEGER,
    -"start\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"time format\0", 0x00000400L, MCI_CONSTANT,
    -"msf\0", 0x00000002L, MCI_INTEGER,
    -"tmsf\0", 0x0000000aL, MCI_INTEGER,
    -"milliseconds\0", 0x00000000L, MCI_INTEGER,
    -"ms\0", 0x00000000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"audio\0", 0x00000800L, MCI_CONSTANT,
    -"all\0", 0x00000000L, MCI_INTEGER,
    -"left\0", 0x00000001L, MCI_INTEGER,
    -"right\0", 0x00000002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"video\0", 0x00001000L, MCI_FLAG,
    -"on\0", 0x00002000L, MCI_FLAG,
    -"off\0", 0x00004000L, MCI_FLAG,
    -"door open\0", 0x00000100L, MCI_FLAG,
    -"door closed\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"product\0", 0x00000100L, MCI_FLAG,
    -"upc\0", 0x00000400L, MCI_FLAG,
    -"identity\0", 0x00000800L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"\0", 0x00000000L, MCI_END_COMMAND_LIST
    +L"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"position\0", 0x00000002L, MCI_INTEGER,
    +L"length\0", 0x00000001L, MCI_INTEGER,
    +L"number of tracks\0", 0x00000003L, MCI_INTEGER,
    +L"ready\0", 0x00000007L, MCI_INTEGER,
    +L"mode\0", 0x00000004L, MCI_INTEGER,
    +L"media present\0", 0x00000005L, MCI_INTEGER,
    +L"time format\0", 0x00000006L, MCI_INTEGER,
    +L"current track\0", 0x00000008L, MCI_INTEGER,
    +L"type\0", 0x00004001L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"track\0", 0x00000010L, MCI_INTEGER,
    +L"start\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"time format\0", 0x00000400L, MCI_CONSTANT,
    +L"msf\0", 0x00000002L, MCI_INTEGER,
    +L"tmsf\0", 0x0000000aL, MCI_INTEGER,
    +L"milliseconds\0", 0x00000000L, MCI_INTEGER,
    +L"ms\0", 0x00000000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"audio\0", 0x00000800L, MCI_CONSTANT,
    +L"all\0", 0x00000000L, MCI_INTEGER,
    +L"left\0", 0x00000001L, MCI_INTEGER,
    +L"right\0", 0x00000002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"video\0", 0x00001000L, MCI_FLAG,
    +L"on\0", 0x00002000L, MCI_FLAG,
    +L"off\0", 0x00004000L, MCI_FLAG,
    +L"door open\0", 0x00000100L, MCI_FLAG,
    +L"door closed\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"product\0", 0x00000100L, MCI_FLAG,
    +L"upc\0", 0x00000400L, MCI_FLAG,
    +L"identity\0", 0x00000800L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"\0", 0x00000000L, MCI_END_COMMAND_LIST
     END
     
     SEQUENCER RCDATA
     BEGIN
    -"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"position\0", 0x00000002L, MCI_INTEGER,
    -"mode\0", 0x00000004L, MCI_INTEGER,
    -"length\0", 0x00000001L, MCI_INTEGER,
    -"number of tracks\0", 0x00000003L, MCI_INTEGER,
    -"media present\0", 0x00000005L, MCI_INTEGER,
    -"ready\0", 0x00000007L, MCI_INTEGER,
    -"tempo\0", 0x00004002L, MCI_INTEGER,
    -"port\0", 0x00004003L, MCI_INTEGER,
    -"slave\0", 0x00004007L, MCI_INTEGER,
    -"master\0", 0x00004008L, MCI_INTEGER,
    -"offset\0", 0x00004009L, MCI_INTEGER,
    -"division type\0", 0x0000400aL, MCI_INTEGER,
    -"time format\0", 0x00000006L, MCI_INTEGER,
    -"current track\0", 0x00000008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"track\0", 0x00000010L, MCI_INTEGER,
    -"start\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"time format\0", 0x00000400L, MCI_CONSTANT,
    -"milliseconds\0", 0x00000000L, MCI_INTEGER,
    -"ms\0", 0x00000000L, MCI_INTEGER,
    -"smpte 30 drop\0", 0x00000007L, MCI_INTEGER,
    -"smpte 30\0", 0x00000006L, MCI_INTEGER,
    -"smpte 25\0", 0x00000005L, MCI_INTEGER,
    -"smpte 24\0", 0x00000004L, MCI_INTEGER,
    -"song pointer\0", 0x00004001L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"audio\0", 0x00000800L, MCI_CONSTANT,
    -"all\0", 0x00000000L, MCI_INTEGER,
    -"left\0", 0x00000001L, MCI_INTEGER,
    -"right\0", 0x00000002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"video\0", 0x00001000L, MCI_FLAG,
    -"on\0", 0x00002000L, MCI_FLAG,
    -"off\0", 0x00004000L, MCI_FLAG,
    -"tempo\0", 0x00010000L, MCI_INTEGER,
    -"port\0", 0x00020000L, MCI_CONSTANT,
    -"none\0", 0x0000fffdL, MCI_INTEGER,
    -"mapper\0", 0x0000ffffL, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"slave\0", 0x00040000L, MCI_CONSTANT,
    -"smpte\0", 0x00004004L, MCI_INTEGER,
    -"midi\0", 0x00004003L, MCI_INTEGER,
    -"none\0", 0x0000fffdL, MCI_INTEGER,
    -"file\0", 0x00004002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"master\0", 0x00080000L, MCI_CONSTANT,
    -"smpte\0", 0x00004004L, MCI_INTEGER,
    -"midi\0", 0x00004003L, MCI_INTEGER,
    -"none\0", 0x0000fffdL, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"offset\0", 0x01000000L, MCI_INTEGER,
    -"door open\0", 0x00000100L, MCI_FLAG,
    -"door closed\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"product\0", 0x00000100L, MCI_FLAG,
    -"file\0", 0x00000200L, MCI_FLAG,
    -"name\0", 0x00001000L, MCI_FLAG,
    -"copyright\0", 0x00002000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"\0", 0x00000000L, MCI_END_COMMAND_LIST
    +L"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"position\0", 0x00000002L, MCI_INTEGER,
    +L"mode\0", 0x00000004L, MCI_INTEGER,
    +L"length\0", 0x00000001L, MCI_INTEGER,
    +L"number of tracks\0", 0x00000003L, MCI_INTEGER,
    +L"media present\0", 0x00000005L, MCI_INTEGER,
    +L"ready\0", 0x00000007L, MCI_INTEGER,
    +L"tempo\0", 0x00004002L, MCI_INTEGER,
    +L"port\0", 0x00004003L, MCI_INTEGER,
    +L"slave\0", 0x00004007L, MCI_INTEGER,
    +L"master\0", 0x00004008L, MCI_INTEGER,
    +L"offset\0", 0x00004009L, MCI_INTEGER,
    +L"division type\0", 0x0000400aL, MCI_INTEGER,
    +L"time format\0", 0x00000006L, MCI_INTEGER,
    +L"current track\0", 0x00000008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"track\0", 0x00000010L, MCI_INTEGER,
    +L"start\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"time format\0", 0x00000400L, MCI_CONSTANT,
    +L"milliseconds\0", 0x00000000L, MCI_INTEGER,
    +L"ms\0", 0x00000000L, MCI_INTEGER,
    +L"smpte 30 drop\0", 0x00000007L, MCI_INTEGER,
    +L"smpte 30\0", 0x00000006L, MCI_INTEGER,
    +L"smpte 25\0", 0x00000005L, MCI_INTEGER,
    +L"smpte 24\0", 0x00000004L, MCI_INTEGER,
    +L"song pointer\0", 0x00004001L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"audio\0", 0x00000800L, MCI_CONSTANT,
    +L"all\0", 0x00000000L, MCI_INTEGER,
    +L"left\0", 0x00000001L, MCI_INTEGER,
    +L"right\0", 0x00000002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"video\0", 0x00001000L, MCI_FLAG,
    +L"on\0", 0x00002000L, MCI_FLAG,
    +L"off\0", 0x00004000L, MCI_FLAG,
    +L"tempo\0", 0x00010000L, MCI_INTEGER,
    +L"port\0", 0x00020000L, MCI_CONSTANT,
    +L"none\0", 0x0000fffdL, MCI_INTEGER,
    +L"mapper\0", 0x0000ffffL, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"slave\0", 0x00040000L, MCI_CONSTANT,
    +L"smpte\0", 0x00004004L, MCI_INTEGER,
    +L"midi\0", 0x00004003L, MCI_INTEGER,
    +L"none\0", 0x0000fffdL, MCI_INTEGER,
    +L"file\0", 0x00004002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"master\0", 0x00080000L, MCI_CONSTANT,
    +L"smpte\0", 0x00004004L, MCI_INTEGER,
    +L"midi\0", 0x00004003L, MCI_INTEGER,
    +L"none\0", 0x0000fffdL, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"offset\0", 0x01000000L, MCI_INTEGER,
    +L"door open\0", 0x00000100L, MCI_FLAG,
    +L"door closed\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"product\0", 0x00000100L, MCI_FLAG,
    +L"file\0", 0x00000200L, MCI_FLAG,
    +L"name\0", 0x00001000L, MCI_FLAG,
    +L"copyright\0", 0x00002000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"\0", 0x00000000L, MCI_END_COMMAND_LIST
     END
     
     ANIMATION RCDATA
     BEGIN
    -"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"type\0", 0x00002000L, MCI_STRING,
    -"element\0", 0x00000200L, MCI_STRING,
    -"alias\0", 0x00000400L, MCI_STRING,
    -"shareable\0", 0x00000100L, MCI_FLAG,
    -"style\0", 0x00010000L, MCI_CONSTANT,
    -"overlapped\0", 0x00cf0000L, MCI_INTEGER,
    -"popup\0", 0x80880000L, MCI_INTEGER,
    -"child\0", 0x40000000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"parent\0", 0x00020000L, MCI_INTEGER,
    -"nostatic\0", 0x00040000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"play\0", 0x00000806L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"from\0", 0x00000004L, MCI_INTEGER,
    -"to\0", 0x00000008L, MCI_INTEGER,
    -"fast\0", 0x00040000L, MCI_FLAG,
    -"slow\0", 0x00080000L, MCI_FLAG,
    -"scan\0", 0x00100000L, MCI_FLAG,
    -"reverse\0", 0x00020000L, MCI_FLAG,
    -"speed\0", 0x00010000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"step\0", 0x0000080eL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"reverse\0", 0x00010000L, MCI_FLAG,
    -"by\0", 0x00020000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"time format\0", 0x00000400L, MCI_CONSTANT,
    -"milliseconds\0", 0x00000000L, MCI_INTEGER,
    -"ms\0", 0x00000000L, MCI_INTEGER,
    -"frames\0", 0x00000003L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"audio\0", 0x00000800L, MCI_CONSTANT,
    -"all\0", 0x00000000L, MCI_INTEGER,
    -"left\0", 0x00000001L, MCI_INTEGER,
    -"right\0", 0x00000002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"video\0", 0x00001000L, MCI_FLAG,
    -"on\0", 0x00002000L, MCI_FLAG,
    -"off\0", 0x00004000L, MCI_FLAG,
    -"door open\0", 0x00000100L, MCI_FLAG,
    -"door closed\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"position\0", 0x00000002L, MCI_INTEGER,
    -"length\0", 0x00000001L, MCI_INTEGER,
    -"number of tracks\0", 0x00000003L, MCI_INTEGER,
    -"mode\0", 0x00000004L, MCI_INTEGER,
    -"ready\0", 0x00000007L, MCI_INTEGER,
    -"speed\0", 0x00004001L, MCI_INTEGER,
    -"forward\0", 0x00004002L, MCI_INTEGER,
    -"window handle\0", 0x00004003L, MCI_INTEGER,
    -"palette handle\0", 0x00004004L, MCI_INTEGER,
    -"media present\0", 0x00000005L, MCI_INTEGER,
    -"time format\0", 0x00000006L, MCI_INTEGER,
    -"current track\0", 0x00000008L, MCI_INTEGER,
    -"stretch\0", 0x00004005L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"track\0", 0x00000010L, MCI_INTEGER,
    -"start\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"product\0", 0x00000100L, MCI_FLAG,
    -"file\0", 0x00000200L, MCI_FLAG,
    -"window text\0", 0x00010000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"can record\0", 0x00000001L, MCI_INTEGER,
    -"has audio\0", 0x00000002L, MCI_INTEGER,
    -"has video\0", 0x00000003L, MCI_INTEGER,
    -"device type\0", 0x00000004L, MCI_INTEGER,
    -"uses files\0", 0x00000005L, MCI_INTEGER,
    -"compound device\0", 0x00000006L, MCI_INTEGER,
    -"can eject\0", 0x00000007L, MCI_INTEGER,
    -"can play\0", 0x00000008L, MCI_INTEGER,
    -"can save\0", 0x00000009L, MCI_INTEGER,
    -"can reverse\0", 0x00004001L, MCI_INTEGER,
    -"fast play rate\0", 0x00004002L, MCI_INTEGER,
    -"slow play rate\0", 0x00004003L, MCI_INTEGER,
    -"normal play rate\0", 0x00004004L, MCI_INTEGER,
    -"uses palettes\0", 0x00004006L, MCI_INTEGER,
    -"can stretch\0", 0x00004007L, MCI_INTEGER,
    -"windows\0", 0x00004008L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"realize\0", 0x00000840L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"normal\0", 0x00010000L, MCI_FLAG,
    -"background\0", 0x00020000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"window\0", 0x00000841L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"handle\0", 0x00010000L, MCI_CONSTANT,
    -"default\0", 0x00000000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"state\0", 0x00040000L, MCI_CONSTANT,
    -"hide\0", 0x00000000L, MCI_INTEGER,
    -"minimize\0", 0x00000006L, MCI_INTEGER,
    -"show\0", 0x00000005L, MCI_INTEGER,
    -"maximized\0", 0x00000003L, MCI_INTEGER,
    -"minimized\0", 0x00000002L, MCI_INTEGER,
    -"iconic\0", 0x00000007L, MCI_INTEGER,
    -"no action\0", 0x00000008L, MCI_INTEGER,
    -"no activate\0", 0x00000004L, MCI_INTEGER,
    -"normal\0", 0x00000001L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"text\0", 0x00080000L, MCI_STRING,
    -"stretch\0", 0x00100000L, MCI_FLAG,
    -"fixed\0", 0x00200000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"put\0", 0x00000842L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"at\0", 0x00010000L, MCI_RECT,
    -"source\0", 0x00020000L, MCI_FLAG,
    -"destination\0", 0x00040000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"where\0", 0x00000843L, MCI_COMMAND_HEAD,
    -"\0", 0x00000007L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"source\0", 0x00020000L, MCI_FLAG,
    -"destination\0", 0x00040000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"update\0", 0x00000854L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"at\0", 0x00010000L, MCI_RECT,
    -"hdc\0", 0x00020000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"\0", 0x00000000L, MCI_END_COMMAND_LIST
    +L"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"type\0", 0x00002000L, MCI_STRING,
    +L"element\0", 0x00000200L, MCI_STRING,
    +L"alias\0", 0x00000400L, MCI_STRING,
    +L"shareable\0", 0x00000100L, MCI_FLAG,
    +L"style\0", 0x00010000L, MCI_CONSTANT,
    +L"overlapped\0", 0x00cf0000L, MCI_INTEGER,
    +L"popup\0", 0x80880000L, MCI_INTEGER,
    +L"child\0", 0x40000000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"parent\0", 0x00020000L, MCI_INTEGER,
    +L"nostatic\0", 0x00040000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"play\0", 0x00000806L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"from\0", 0x00000004L, MCI_INTEGER,
    +L"to\0", 0x00000008L, MCI_INTEGER,
    +L"fast\0", 0x00040000L, MCI_FLAG,
    +L"slow\0", 0x00080000L, MCI_FLAG,
    +L"scan\0", 0x00100000L, MCI_FLAG,
    +L"reverse\0", 0x00020000L, MCI_FLAG,
    +L"speed\0", 0x00010000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"step\0", 0x0000080eL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"reverse\0", 0x00010000L, MCI_FLAG,
    +L"by\0", 0x00020000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"set\0", 0x0000080dL, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"time format\0", 0x00000400L, MCI_CONSTANT,
    +L"milliseconds\0", 0x00000000L, MCI_INTEGER,
    +L"ms\0", 0x00000000L, MCI_INTEGER,
    +L"frames\0", 0x00000003L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"audio\0", 0x00000800L, MCI_CONSTANT,
    +L"all\0", 0x00000000L, MCI_INTEGER,
    +L"left\0", 0x00000001L, MCI_INTEGER,
    +L"right\0", 0x00000002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"video\0", 0x00001000L, MCI_FLAG,
    +L"on\0", 0x00002000L, MCI_FLAG,
    +L"off\0", 0x00004000L, MCI_FLAG,
    +L"door open\0", 0x00000100L, MCI_FLAG,
    +L"door closed\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"position\0", 0x00000002L, MCI_INTEGER,
    +L"length\0", 0x00000001L, MCI_INTEGER,
    +L"number of tracks\0", 0x00000003L, MCI_INTEGER,
    +L"mode\0", 0x00000004L, MCI_INTEGER,
    +L"ready\0", 0x00000007L, MCI_INTEGER,
    +L"speed\0", 0x00004001L, MCI_INTEGER,
    +L"forward\0", 0x00004002L, MCI_INTEGER,
    +L"window handle\0", 0x00004003L, MCI_INTEGER,
    +L"palette handle\0", 0x00004004L, MCI_INTEGER,
    +L"media present\0", 0x00000005L, MCI_INTEGER,
    +L"time format\0", 0x00000006L, MCI_INTEGER,
    +L"current track\0", 0x00000008L, MCI_INTEGER,
    +L"stretch\0", 0x00004005L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"track\0", 0x00000010L, MCI_INTEGER,
    +L"start\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"product\0", 0x00000100L, MCI_FLAG,
    +L"file\0", 0x00000200L, MCI_FLAG,
    +L"window text\0", 0x00010000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"can record\0", 0x00000001L, MCI_INTEGER,
    +L"has audio\0", 0x00000002L, MCI_INTEGER,
    +L"has video\0", 0x00000003L, MCI_INTEGER,
    +L"device type\0", 0x00000004L, MCI_INTEGER,
    +L"uses files\0", 0x00000005L, MCI_INTEGER,
    +L"compound device\0", 0x00000006L, MCI_INTEGER,
    +L"can eject\0", 0x00000007L, MCI_INTEGER,
    +L"can play\0", 0x00000008L, MCI_INTEGER,
    +L"can save\0", 0x00000009L, MCI_INTEGER,
    +L"can reverse\0", 0x00004001L, MCI_INTEGER,
    +L"fast play rate\0", 0x00004002L, MCI_INTEGER,
    +L"slow play rate\0", 0x00004003L, MCI_INTEGER,
    +L"normal play rate\0", 0x00004004L, MCI_INTEGER,
    +L"uses palettes\0", 0x00004006L, MCI_INTEGER,
    +L"can stretch\0", 0x00004007L, MCI_INTEGER,
    +L"windows\0", 0x00004008L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"realize\0", 0x00000840L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"normal\0", 0x00010000L, MCI_FLAG,
    +L"background\0", 0x00020000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"window\0", 0x00000841L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"handle\0", 0x00010000L, MCI_CONSTANT,
    +L"default\0", 0x00000000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"state\0", 0x00040000L, MCI_CONSTANT,
    +L"hide\0", 0x00000000L, MCI_INTEGER,
    +L"minimize\0", 0x00000006L, MCI_INTEGER,
    +L"show\0", 0x00000005L, MCI_INTEGER,
    +L"maximized\0", 0x00000003L, MCI_INTEGER,
    +L"minimized\0", 0x00000002L, MCI_INTEGER,
    +L"iconic\0", 0x00000007L, MCI_INTEGER,
    +L"no action\0", 0x00000008L, MCI_INTEGER,
    +L"no activate\0", 0x00000004L, MCI_INTEGER,
    +L"normal\0", 0x00000001L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"text\0", 0x00080000L, MCI_STRING,
    +L"stretch\0", 0x00100000L, MCI_FLAG,
    +L"fixed\0", 0x00200000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"put\0", 0x00000842L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"at\0", 0x00010000L, MCI_RECT,
    +L"source\0", 0x00020000L, MCI_FLAG,
    +L"destination\0", 0x00040000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"where\0", 0x00000843L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000007L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"source\0", 0x00020000L, MCI_FLAG,
    +L"destination\0", 0x00040000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"update\0", 0x00000854L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"at\0", 0x00010000L, MCI_RECT,
    +L"hdc\0", 0x00020000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"\0", 0x00000000L, MCI_END_COMMAND_LIST
     END
     
     OVERLAY RCDATA
     BEGIN
    -"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"type\0", 0x00002000L, MCI_STRING,
    -"element\0", 0x00000200L, MCI_STRING,
    -"alias\0", 0x00000400L, MCI_STRING,
    -"shareable\0", 0x00000100L, MCI_FLAG,
    -"style\0", 0x00010000L, MCI_CONSTANT,
    -"overlapped\0", 0x00cf0000L, MCI_INTEGER,
    -"popup\0", 0x80880000L, MCI_INTEGER,
    -"child\0", 0x40000000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"parent\0", 0x00020000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"position\0", 0x00000002L, MCI_INTEGER,
    -"length\0", 0x00000001L, MCI_INTEGER,
    -"number of tracks\0", 0x00000003L, MCI_INTEGER,
    -"mode\0", 0x00000004L, MCI_INTEGER,
    -"ready\0", 0x00000007L, MCI_INTEGER,
    -"window handle\0", 0x00004001L, MCI_INTEGER,
    -"media present\0", 0x00000005L, MCI_INTEGER,
    -"stretch\0", 0x00004002L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"track\0", 0x00000010L, MCI_INTEGER,
    -"start\0", 0x00000200L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    -"\0", 0x00000001L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"product\0", 0x00000100L, MCI_FLAG,
    -"file\0", 0x00000200L, MCI_FLAG,
    -"window text\0", 0x00010000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    -"\0", 0x00000002L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_CONSTANT,
    -"can record\0", 0x00000001L, MCI_INTEGER,
    -"has audio\0", 0x00000002L, MCI_INTEGER,
    -"has video\0", 0x00000003L, MCI_INTEGER,
    -"device type\0", 0x00000004L, MCI_INTEGER,
    -"uses files\0", 0x00000005L, MCI_INTEGER,
    -"compound device\0", 0x00000006L, MCI_INTEGER,
    -"can eject\0", 0x00000007L, MCI_INTEGER,
    -"can play\0", 0x00000008L, MCI_INTEGER,
    -"can save\0", 0x00000009L, MCI_INTEGER,
    -"can stretch\0", 0x00004001L, MCI_INTEGER,
    -"can freeze\0", 0x00004002L, MCI_INTEGER,
    -"windows\0", 0x00004003L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"window\0", 0x00000841L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"handle\0", 0x00010000L, MCI_CONSTANT,
    -"default\0", 0x00000000L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"state\0", 0x00040000L, MCI_CONSTANT,
    -"hide\0", 0x00000000L, MCI_INTEGER,
    -"minimize\0", 0x00000006L, MCI_INTEGER,
    -"show\0", 0x00000005L, MCI_INTEGER,
    -"maximized\0", 0x00000003L, MCI_INTEGER,
    -"minimized\0", 0x00000002L, MCI_INTEGER,
    -"iconic\0", 0x00000007L, MCI_INTEGER,
    -"no action\0", 0x00000008L, MCI_INTEGER,
    -"no activate\0", 0x00000004L, MCI_INTEGER,
    -"normal\0", 0x00000001L, MCI_INTEGER,
    -"\0", 0x00000000L, MCI_END_CONSTANT,
    -"text\0", 0x00080000L, MCI_STRING,
    -"stretch\0", 0x00100000L, MCI_FLAG,
    -"fixed\0", 0x00200000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"put\0", 0x00000842L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"at\0", 0x00010000L, MCI_RECT,
    -"source\0", 0x00020000L, MCI_FLAG,
    -"destination\0", 0x00040000L, MCI_FLAG,
    -"frame\0", 0x00080000L, MCI_FLAG,
    -"video\0", 0x00100000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"where\0", 0x00000843L, MCI_COMMAND_HEAD,
    -"\0", 0x00000007L, MCI_RETURN,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"source\0", 0x00020000L, MCI_FLAG,
    -"destination\0", 0x00040000L, MCI_FLAG,
    -"frame\0", 0x00080000L, MCI_FLAG,
    -"video\0", 0x00100000L, MCI_FLAG,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"save\0", 0x00000813L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_STRING,
    -"at\0", 0x00010000L, MCI_RECT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"load\0", 0x00000850L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"\0", 0x00000100L, MCI_STRING,
    -"at\0", 0x00010000L, MCI_RECT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"freeze\0", 0x00000844L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"at\0", 0x00010000L, MCI_RECT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"unfreeze\0", 0x00000845L, MCI_COMMAND_HEAD,
    -"notify\0", 0x00000001L, MCI_FLAG,
    -"wait\0", 0x00000002L, MCI_FLAG,
    -"at\0", 0x00010000L, MCI_RECT,
    -"\0", 0x00000000L, MCI_END_COMMAND,
    -"\0", 0x00000000L, MCI_END_COMMAND_LIST
    +L"open\0", 0x00000803L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"type\0", 0x00002000L, MCI_STRING,
    +L"element\0", 0x00000200L, MCI_STRING,
    +L"alias\0", 0x00000400L, MCI_STRING,
    +L"shareable\0", 0x00000100L, MCI_FLAG,
    +L"style\0", 0x00010000L, MCI_CONSTANT,
    +L"overlapped\0", 0x00cf0000L, MCI_INTEGER,
    +L"popup\0", 0x80880000L, MCI_INTEGER,
    +L"child\0", 0x40000000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"parent\0", 0x00020000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"status\0", 0x00000814L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"position\0", 0x00000002L, MCI_INTEGER,
    +L"length\0", 0x00000001L, MCI_INTEGER,
    +L"number of tracks\0", 0x00000003L, MCI_INTEGER,
    +L"mode\0", 0x00000004L, MCI_INTEGER,
    +L"ready\0", 0x00000007L, MCI_INTEGER,
    +L"window handle\0", 0x00004001L, MCI_INTEGER,
    +L"media present\0", 0x00000005L, MCI_INTEGER,
    +L"stretch\0", 0x00004002L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"track\0", 0x00000010L, MCI_INTEGER,
    +L"start\0", 0x00000200L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"info\0", 0x0000080aL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000001L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"product\0", 0x00000100L, MCI_FLAG,
    +L"file\0", 0x00000200L, MCI_FLAG,
    +L"window text\0", 0x00010000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"capability\0", 0x0000080bL, MCI_COMMAND_HEAD,
    +L"\0", 0x00000002L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_CONSTANT,
    +L"can record\0", 0x00000001L, MCI_INTEGER,
    +L"has audio\0", 0x00000002L, MCI_INTEGER,
    +L"has video\0", 0x00000003L, MCI_INTEGER,
    +L"device type\0", 0x00000004L, MCI_INTEGER,
    +L"uses files\0", 0x00000005L, MCI_INTEGER,
    +L"compound device\0", 0x00000006L, MCI_INTEGER,
    +L"can eject\0", 0x00000007L, MCI_INTEGER,
    +L"can play\0", 0x00000008L, MCI_INTEGER,
    +L"can save\0", 0x00000009L, MCI_INTEGER,
    +L"can stretch\0", 0x00004001L, MCI_INTEGER,
    +L"can freeze\0", 0x00004002L, MCI_INTEGER,
    +L"windows\0", 0x00004003L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"window\0", 0x00000841L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"handle\0", 0x00010000L, MCI_CONSTANT,
    +L"default\0", 0x00000000L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"state\0", 0x00040000L, MCI_CONSTANT,
    +L"hide\0", 0x00000000L, MCI_INTEGER,
    +L"minimize\0", 0x00000006L, MCI_INTEGER,
    +L"show\0", 0x00000005L, MCI_INTEGER,
    +L"maximized\0", 0x00000003L, MCI_INTEGER,
    +L"minimized\0", 0x00000002L, MCI_INTEGER,
    +L"iconic\0", 0x00000007L, MCI_INTEGER,
    +L"no action\0", 0x00000008L, MCI_INTEGER,
    +L"no activate\0", 0x00000004L, MCI_INTEGER,
    +L"normal\0", 0x00000001L, MCI_INTEGER,
    +L"\0", 0x00000000L, MCI_END_CONSTANT,
    +L"text\0", 0x00080000L, MCI_STRING,
    +L"stretch\0", 0x00100000L, MCI_FLAG,
    +L"fixed\0", 0x00200000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"put\0", 0x00000842L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"at\0", 0x00010000L, MCI_RECT,
    +L"source\0", 0x00020000L, MCI_FLAG,
    +L"destination\0", 0x00040000L, MCI_FLAG,
    +L"frame\0", 0x00080000L, MCI_FLAG,
    +L"video\0", 0x00100000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"where\0", 0x00000843L, MCI_COMMAND_HEAD,
    +L"\0", 0x00000007L, MCI_RETURN,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"source\0", 0x00020000L, MCI_FLAG,
    +L"destination\0", 0x00040000L, MCI_FLAG,
    +L"frame\0", 0x00080000L, MCI_FLAG,
    +L"video\0", 0x00100000L, MCI_FLAG,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"save\0", 0x00000813L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_STRING,
    +L"at\0", 0x00010000L, MCI_RECT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"load\0", 0x00000850L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"\0", 0x00000100L, MCI_STRING,
    +L"at\0", 0x00010000L, MCI_RECT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"freeze\0", 0x00000844L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"at\0", 0x00010000L, MCI_RECT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"unfreeze\0", 0x00000845L, MCI_COMMAND_HEAD,
    +L"notify\0", 0x00000001L, MCI_FLAG,
    +L"wait\0", 0x00000002L, MCI_FLAG,
    +L"at\0", 0x00010000L, MCI_RECT,
    +L"\0", 0x00000000L, MCI_END_COMMAND,
    +L"\0", 0x00000000L, MCI_END_COMMAND_LIST
     END
     
     STRINGTABLE
    diff --git a/reactos/lib/winspool/Makefile b/reactos/lib/winspool/Makefile
    index 2b72c9d06cd..feca988d18e 100644
    --- a/reactos/lib/winspool/Makefile
    +++ b/reactos/lib/winspool/Makefile
    @@ -27,7 +27,7 @@ TARGET_CFLAGS += -D_DISABLE_TIDENTS
     
     TARGET_LFLAGS = -nostartfiles -nostdlib
     
    -TARGET_SDKLIBS = wine.a wine_unicode.a ntdll.a kernel32.a
    +TARGET_SDKLIBS = wine.a ntdll.a kernel32.a
     
     TARGET_OBJECTS = info.o stubs.o
     
    diff --git a/reactos/media/wallpapers/wallpapers.txt b/reactos/media/wallpapers/wallpapers.txt
    new file mode 100644
    index 00000000000..4f1f6b3cdb5
    --- /dev/null
    +++ b/reactos/media/wallpapers/wallpapers.txt
    @@ -0,0 +1,65 @@
    +ReactOS Wallpapers suggestion:
    +
    +
    +
    +ReactOS Wallpapers for Version 0.2.6:
    +
    +* ReactOS Wallpaper (original with new text; GNU GPL)
    +  http://reactosde.re.funpic.de/mediadetail.php?sec=Graphic%20arts&cat=wallp&mdnr=92
    +
    +* ReactOS Computer Wallpaper #1 (GNU GPL)
    +  http://reactosde.re.funpic.de/mediadetail.php?sec=Graphic%20arts&cat=wallp&mdnr=98
    +
    +* hill and water (BSD-license)
    +  http://reactosde.re.funpic.de/mediadetail.php?sec=Graphic%20arts&cat=wallp&mdnr=88
    +
    +* ReactOS wallpaper - 3d with holes (GNU LGPL)
    +  http://reactosde.re.funpic.de/mediadetail.php?sec=Graphic%20arts&cat=wallp&mdnr=65
    +
    +* ReactOS Wallpapers (Earth)
    +  http://reactosde.re.funpic.de/mediadetail.php?sec=Graphic%20arts&cat=wallp&mdnr=36
    +
    +
    +
    +GPL Wallpapers from kde-look.org:
    +
    +* Nature #1 (Fruit)
    +  http://www.kde-look.org/content/files/16183-green.jpg
    +
    +* Nature #2 (Wood)
    +  http://www.kde-look.org/content/files/10274-p1010076.jpg
    +
    +* Nature #3 (Sea)
    +  http://arg0.net/users/vgough/images/2007-taupo.png
    +
    +* Nature #4 (Bees #1)
    +  http://kdelook.org/content/files/16382-img_0511c1_xga.jpg
    +
    +* Nature #5 (Bees #2)
    +  http://www.kde-look.org/content/files/16498-Beon.jpg
    +
    +* Nature #6 (Bees #3)
    +  http://www.kde-look.org/content/files/6524-Bee%20in%20Flower.jpg
    +
    +* Nature #7 (Summer)
    +  http://www.kde-look.org/content/files/20979-altabadia_summer_1200.jpg
    +
    +
    +
    +Some useful links:
    +
    +* GNOME-LOOK.ORG
    +  http://www.gnome-look.org
    +
    +* KDE-LOOK.ORG
    +  http://www.kde-look.org/
    +
    +* Frik85's ReactOS Fanpage 
    +  http://frik85.reactos.at
    +  (-> http://reactosde.re.funpic.de/mediagroup.php?sec=Graphic%20arts)
    +
    +
    +
    +History: 
    +
    +2005-02-25 Klemens Friedl
    diff --git a/reactos/ntoskrnl/Makefile b/reactos/ntoskrnl/Makefile
    index 63d323aacf8..9dc41bf8ef9 100644
    --- a/reactos/ntoskrnl/Makefile
    +++ b/reactos/ntoskrnl/Makefile
    @@ -54,6 +54,10 @@ else
     TARGET_BASE = 0x80000000
     endif
     
    +ifneq ($(DBG), 0)
    +TARGET_CFLAGS += -DDBG
    +endif
    +
     # enable thread event pair features (NT4 only!)
     # TARGET_CFLAGS += -D_ENABLE_THRDEVTPAIR
     
    @@ -96,6 +100,7 @@ OBJECTS_KE = \
     	ke/apc.o \
     	ke/bug.o \
     	ke/catch.o \
    +	ke/clock.o \
     	ke/critical.o \
     	ke/dpc.o \
     	ke/device.o \
    diff --git a/reactos/ntoskrnl/cc/cacheman.c b/reactos/ntoskrnl/cc/cacheman.c
    index 8dff78a607d..945d0e03921 100644
    --- a/reactos/ntoskrnl/cc/cacheman.c
    +++ b/reactos/ntoskrnl/cc/cacheman.c
    @@ -49,6 +49,8 @@ CcRemapBcb (
         )
     {
     	UNIMPLEMENTED;
    +
    +    return 0;
     }
     
     /*
    diff --git a/reactos/ntoskrnl/cm/cm.h b/reactos/ntoskrnl/cm/cm.h
    index 0cf9ccaa714..f3579cd777b 100644
    --- a/reactos/ntoskrnl/cm/cm.h
    +++ b/reactos/ntoskrnl/cm/cm.h
    @@ -372,13 +372,72 @@ extern LIST_ENTRY CmiHiveListHead;
     
     extern ERESOURCE CmiRegistryLock;
     
    +typedef enum _REG_NOTIFY_CLASS
    +{
    +  RegNtDeleteKey,
    +  RegNtPreDeleteKey = RegNtDeleteKey,
    +  RegNtSetValueKey,
    +  RegNtPreSetValueKey = RegNtSetValueKey,
    +  RegNtDeleteValueKey,
    +  RegNtPreDeleteValueKey = RegNtDeleteValueKey,
    +  RegNtSetInformationKey,
    +  RegNtPreSetInformationKey = RegNtSetInformationKey,
    +  RegNtRenameKey,
    +  RegNtPreRenameKey = RegNtRenameKey,
    +  RegNtEnumerateKey,
    +  RegNtPreEnumerateKey = RegNtEnumerateKey,
    +  RegNtEnumerateValueKey,
    +  RegNtPreEnumerateValueKey = RegNtEnumerateValueKey,
    +  RegNtQueryKey,
    +  RegNtPreQueryKey = RegNtQueryKey,
    +  RegNtQueryValueKey,
    +  RegNtPreQueryValueKey = RegNtQueryValueKey,
    +  RegNtQueryMultipleValueKey,
    +  RegNtPreQueryMultipleValueKey = RegNtQueryMultipleValueKey,
    +  RegNtPreCreateKey,
    +  RegNtPostCreateKey,
    +  RegNtPreOpenKey,
    +  RegNtPostOpenKey,
    +  RegNtKeyHandleClose,
    +  RegNtPreKeyHandleClose = RegNtKeyHandleClose,
    +  RegNtPostDeleteKey,
    +  RegNtPostSetValueKey,
    +  RegNtPostDeleteValueKey,
    +  RegNtPostSetInformationKey,
    +  RegNtPostRenameKey,
    +  RegNtPostEnumerateKey,
    +  RegNtPostEnumerateValueKey,
    +  RegNtPostQueryKey,
    +  RegNtPostQueryValueKey,
    +  RegNtPostQueryMultipleValueKey,
    +  RegNtPostKeyHandleClose,
    +  RegNtPreCreateKeyEx,
    +  RegNtPostCreateKeyEx,
    +  RegNtPreOpenKeyEx,
    +  RegNtPostOpenKeyEx
    +} REG_NOTIFY_CLASS, *PREG_NOTIFY_CLASS;
    +
     /* Registry Callback Function */
     typedef NTSTATUS (*PEX_CALLBACK_FUNCTION ) (
         IN PVOID CallbackContext,
    -    IN PVOID Argument1,
    +    IN REG_NOTIFY_CLASS Argument1,
         IN PVOID Argument2
         );
     
    +typedef struct _REGISTRY_CALLBACK
    +{
    +    LIST_ENTRY ListEntry;
    +    EX_RUNDOWN_REF RundownRef;
    +    PEX_CALLBACK_FUNCTION Function;
    +    PVOID Context;
    +    LARGE_INTEGER Cookie;
    +    BOOLEAN PendingDelete;
    +} REGISTRY_CALLBACK, *PREGISTRY_CALLBACK;
    +
    +NTSTATUS
    +CmiCallRegisteredCallbacks(IN REG_NOTIFY_CLASS Argument1,
    +                           IN PVOID Argument2);
    +
     VOID
     CmiVerifyBinHeader(PHBIN BinHeader);
     VOID
    diff --git a/reactos/ntoskrnl/cm/ntfunc.c b/reactos/ntoskrnl/cm/ntfunc.c
    index 141c0728e7b..b44a7f0f9cc 100644
    --- a/reactos/ntoskrnl/cm/ntfunc.c
    +++ b/reactos/ntoskrnl/cm/ntfunc.c
    @@ -24,30 +24,154 @@ extern PREGISTRY_HIVE  CmiVolatileHive;
     
     static BOOLEAN CmiRegistryInitialized = FALSE;
     
    +LIST_ENTRY CmiCallbackHead;
    +FAST_MUTEX CmiCallbackLock;
     
     /* FUNCTIONS ****************************************************************/
     
     /*
    - * @unimplemented
    + * @implemented
      */
     NTSTATUS STDCALL
     CmRegisterCallback(IN PEX_CALLBACK_FUNCTION Function,
                        IN PVOID Context,
                        IN OUT PLARGE_INTEGER Cookie)
     {
    -  UNIMPLEMENTED;
    -  return STATUS_NOT_IMPLEMENTED;
    +  PREGISTRY_CALLBACK Callback;
    +  
    +  PAGED_CODE();
    +  
    +  ASSERT(Function && Cookie);
    +  
    +  Callback = ExAllocatePoolWithTag(PagedPool,
    +                                   sizeof(REGISTRY_CALLBACK),
    +                                   TAG('C', 'M', 'c', 'b'));
    +  if(Callback != NULL)
    +  {
    +    /* initialize the callback */
    +    ExInitializeRundownProtection(&Callback->RundownRef);
    +    Callback->Function = Function;
    +    Callback->Context = Context;
    +    Callback->PendingDelete = FALSE;
    +    
    +    /* add it to the callback list and receive a cookie for the callback */
    +    ExAcquireFastMutex(&CmiCallbackLock);
    +    /* FIXME - to receive a unique cookie we'll just return the pointer to the
    +       callback object */
    +    Callback->Cookie.QuadPart = (ULONG_PTR)Callback;
    +    InsertTailList(&CmiCallbackHead, &Callback->ListEntry);
    +
    +    ExReleaseFastMutex(&CmiCallbackLock);
    +    
    +    *Cookie = Callback->Cookie;
    +    return STATUS_SUCCESS;
    +  }
    +
    +  return STATUS_INSUFFICIENT_RESOURCES;
     }
     
     
     /*
    - * @unimplemented
    + * @implemented
      */
     NTSTATUS STDCALL
     CmUnRegisterCallback(IN LARGE_INTEGER Cookie)
     {
    -  UNIMPLEMENTED;
    -  return STATUS_NOT_IMPLEMENTED;
    +  PLIST_ENTRY CurrentEntry;
    +  
    +  PAGED_CODE();
    +
    +  ExAcquireFastMutex(&CmiCallbackLock);
    +
    +  for(CurrentEntry = CmiCallbackHead.Flink;
    +      CurrentEntry != &CmiCallbackHead;
    +      CurrentEntry = CurrentEntry->Flink)
    +  {
    +    PREGISTRY_CALLBACK CurrentCallback;
    +
    +    CurrentCallback = CONTAINING_RECORD(CurrentEntry, REGISTRY_CALLBACK, ListEntry);
    +    if(CurrentCallback->Cookie.QuadPart == Cookie.QuadPart)
    +    {
    +      if(!CurrentCallback->PendingDelete)
    +      {
    +        /* found the callback, don't unlink it from the list yet so we don't screw
    +           the calling loop */
    +        CurrentCallback->PendingDelete = TRUE;
    +        ExReleaseFastMutex(&CmiCallbackLock);
    +
    +        /* if the callback is currently executing, wait until it finished */
    +        ExWaitForRundownProtectionRelease(&CurrentCallback->RundownRef);
    +
    +        /* time to unlink it. It's now safe because every attempt to acquire a
    +           runtime protection on this callback will fail */
    +        ExAcquireFastMutex(&CmiCallbackLock);
    +        RemoveEntryList(&CurrentCallback->ListEntry);
    +        ExReleaseFastMutex(&CmiCallbackLock);
    +
    +        /* free the callback */
    +        ExFreePool(CurrentCallback);
    +        return STATUS_SUCCESS;
    +      }
    +      else
    +      {
    +        /* pending delete, pretend like it already is deleted */
    +        ExReleaseFastMutex(&CmiCallbackLock);
    +        return STATUS_UNSUCCESSFUL;
    +      }
    +    }
    +  }
    +  
    +  ExReleaseFastMutex(&CmiCallbackLock);
    +
    +  return STATUS_UNSUCCESSFUL;
    +}
    +
    +
    +NTSTATUS
    +CmiCallRegisteredCallbacks(IN REG_NOTIFY_CLASS Argument1,
    +                           IN PVOID Argument2)
    +{
    +  PLIST_ENTRY CurrentEntry;
    +  
    +  PAGED_CODE();
    +  
    +  ExAcquireFastMutex(&CmiCallbackLock);
    +
    +  for(CurrentEntry = CmiCallbackHead.Flink;
    +      CurrentEntry != &CmiCallbackHead;
    +      CurrentEntry = CurrentEntry->Flink)
    +  {
    +    PREGISTRY_CALLBACK CurrentCallback;
    +
    +    CurrentCallback = CONTAINING_RECORD(CurrentEntry, REGISTRY_CALLBACK, ListEntry);
    +    if(!CurrentCallback->PendingDelete &&
    +       ExAcquireRundownProtectionEx(&CurrentCallback->RundownRef, 1))
    +    {
    +      NTSTATUS Status;
    +      
    +      /* don't hold locks during the callbacks! */
    +      ExReleaseFastMutex(&CmiCallbackLock);
    +      
    +      Status = CurrentCallback->Function(CurrentCallback->Context,
    +                                         Argument1,
    +                                         Argument2);
    +      if(!NT_SUCCESS(Status))
    +      {
    +        /* one callback returned failure, don't call any more callbacks */
    +        return Status;
    +      }
    +
    +      ExAcquireFastMutex(&CmiCallbackLock);
    +      /* don't release the rundown protection before holding the callback lock
    +         so the pointer to the next callback isn't cleared in case this callback
    +         get's deleted */
    +      ExReleaseRundownProtectionEx(&CurrentCallback->RundownRef, 1);
    +    }
    +  }
    +  
    +  ExReleaseFastMutex(&CmiCallbackLock);
    +  
    +  return STATUS_SUCCESS;
     }
     
     
    @@ -66,6 +190,8 @@ NtCreateKey(OUT PHANDLE KeyHandle,
       PVOID Object;
       PWSTR Start;
       unsigned i;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtCreateKey (Name %wZ  KeyHandle %x  Root %x)\n",
     	 ObjectAttributes->ObjectName,
    @@ -247,6 +373,8 @@ NtDeleteKey(IN HANDLE KeyHandle)
       KPROCESSOR_MODE PreviousMode;
       PKEY_OBJECT KeyObject;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT1("NtDeleteKey(KeyHandle %x) called\n", KeyHandle);
       
    @@ -327,6 +455,8 @@ NtEnumerateKey(IN HANDLE KeyHandle,
       PDATA_CELL ClassCell;
       ULONG NameSize, ClassSize;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT("KH %x  I %d  KIC %x KI %x  L %d  RL %x\n",
     	 KeyHandle,
    @@ -674,6 +804,8 @@ NtEnumerateValueKey(IN HANDLE KeyHandle,
       PKEY_VALUE_BASIC_INFORMATION  ValueBasicInformation;
       PKEY_VALUE_PARTIAL_INFORMATION  ValuePartialInformation;
       PKEY_VALUE_FULL_INFORMATION  ValueFullInformation;
    +  
    +  PAGED_CODE();
     
       DPRINT("KH %x  I %d  KVIC %x  KVI %x  L %d  RL %x\n",
     	 KeyHandle,
    @@ -910,6 +1042,8 @@ NtFlushKey(IN HANDLE KeyHandle)
       PKEY_OBJECT  KeyObject;
       PREGISTRY_HIVE  RegistryHive;
       KPROCESSOR_MODE  PreviousMode;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtFlushKey (KeyHandle %lx) called\n", KeyHandle);
       
    @@ -964,6 +1098,8 @@ NtOpenKey(OUT PHANDLE KeyHandle,
       PVOID Object;
       HANDLE hKey;
       NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtOpenKey(KH %x  DA %x  OA %x  OA->ON '%wZ'\n",
     	 KeyHandle,
    @@ -1065,6 +1201,8 @@ NtQueryKey(IN HANDLE KeyHandle,
       PKEY_CELL KeyCell;
       ULONG NameSize, ClassSize;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtQueryKey(KH %x  KIC %x  KI %x  L %d  RL %x)\n",
     	 KeyHandle,
    @@ -1266,6 +1404,8 @@ NtQueryValueKey(IN HANDLE KeyHandle,
       PKEY_VALUE_BASIC_INFORMATION  ValueBasicInformation;
       PKEY_VALUE_PARTIAL_INFORMATION  ValuePartialInformation;
       PKEY_VALUE_FULL_INFORMATION  ValueFullInformation;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtQueryValueKey(KeyHandle %x  ValueName %S  Length %x)\n",
         KeyHandle, ValueName->Buffer, Length);
    @@ -1506,6 +1646,8 @@ NtSetValueKey(IN HANDLE KeyHandle,
       PDATA_CELL NewDataCell;
       PHBIN pBin;
       ULONG DesiredAccess;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtSetValueKey(KeyHandle %x  ValueName '%wZ'  Type %d)\n",
     	 KeyHandle, ValueName, Type);
    @@ -1661,6 +1803,8 @@ NtDeleteValueKey (IN HANDLE KeyHandle,
     {
       PKEY_OBJECT KeyObject;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       /* Verify that the handle is valid and is a registry key */
       Status = ObReferenceObjectByHandle(KeyHandle,
    @@ -1732,6 +1876,8 @@ NtLoadKey2 (IN POBJECT_ATTRIBUTES KeyObjectAttributes,
       ULONG BufferSize;
       ULONG Length;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT ("NtLoadKey2() called\n");
     
    @@ -1870,6 +2016,8 @@ NtQueryMultipleValueKey (IN HANDLE KeyHandle,
       NTSTATUS Status;
       PUCHAR DataPtr;
       ULONG i;
    +  
    +  PAGED_CODE();
     
       /* Verify that the handle is valid and is a registry key */
       Status = ObReferenceObjectByHandle(KeyHandle,
    @@ -1998,6 +2146,8 @@ NtSaveKey (IN HANDLE KeyHandle,
       PREGISTRY_HIVE TempHive;
       PKEY_OBJECT KeyObject;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT ("NtSaveKey() called\n");
     
    @@ -2100,6 +2250,8 @@ NtSetInformationKey (IN HANDLE KeyHandle,
     {
       PKEY_OBJECT KeyObject;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       if (KeyInformationClass != KeyWriteTimeInformation)
         return STATUS_INVALID_INFO_CLASS;
    @@ -2156,6 +2308,8 @@ NtUnloadKey (IN POBJECT_ATTRIBUTES KeyObjectAttributes)
     {
       PREGISTRY_HIVE RegistryHive;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT ("NtUnloadKey() called\n");
     
    @@ -2202,6 +2356,8 @@ NTSTATUS STDCALL
     NtInitializeRegistry (IN BOOLEAN SetUpBoot)
     {
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       if (CmiRegistryInitialized == TRUE)
         return STATUS_ACCESS_DENIED;
    diff --git a/reactos/ntoskrnl/cm/registry.c b/reactos/ntoskrnl/cm/registry.c
    index 87dad05bc73..304192c8e7d 100644
    --- a/reactos/ntoskrnl/cm/registry.c
    +++ b/reactos/ntoskrnl/cm/registry.c
    @@ -49,6 +49,9 @@ CmiHiveSyncDpcRoutine(PKDPC Dpc,
     		      PVOID SystemArgument1,
     		      PVOID SystemArgument2);
     
    +extern LIST_ENTRY CmiCallbackHead;
    +extern FAST_MUTEX CmiCallbackLock;
    +
     /* FUNCTIONS ****************************************************************/
     
     VOID
    @@ -286,6 +289,9 @@ CmInitializeRegistry(VOID)
       /*  Build volatile registry store  */
       Status = CmiCreateVolatileHive (&CmiVolatileHive);
       ASSERT(NT_SUCCESS(Status));
    +  
    +  InitializeListHead(&CmiCallbackHead);
    +  ExInitializeFastMutex(&CmiCallbackLock);
     
       /* Create '\Registry' key. */
       RtlInitUnicodeString(&KeyName, REG_ROOT_KEY_NAME);
    diff --git a/reactos/ntoskrnl/dbg/kdb.c b/reactos/ntoskrnl/dbg/kdb.c
    index 98954ed9058..fa97e8879e9 100644
    --- a/reactos/ntoskrnl/dbg/kdb.c
    +++ b/reactos/ntoskrnl/dbg/kdb.c
    @@ -862,20 +862,20 @@ DbgThreadListCommand(ULONG Argc, PCH Argv[], PKTRAP_FRAME Tf)
     ULONG
     DbgProcessListCommand(ULONG Argc, PCH Argv[], PKTRAP_FRAME Tf)
     {
    -  extern LIST_ENTRY PsProcessListHead;
    +  extern LIST_ENTRY PsActiveProcessHead;
       PLIST_ENTRY current_entry;
       PEPROCESS current;
       ULONG i = 1;
     
    -  if (PsProcessListHead.Flink == NULL)
    +  if (PsActiveProcessHead.Flink == NULL)
         {
           DbgPrint("No processes.\n");
           return(1);
         }
     
       DbgPrint("Process list: ");
    -  current_entry = PsProcessListHead.Flink;
    -  while (current_entry != &PsProcessListHead)
    +  current_entry = PsActiveProcessHead.Flink;
    +  while (current_entry != &PsActiveProcessHead)
         {
           current = CONTAINING_RECORD(current_entry, EPROCESS, ProcessListEntry);
           DbgPrint("%d %.8s", current->UniqueProcessId, 
    diff --git a/reactos/ntoskrnl/ex/callback.c b/reactos/ntoskrnl/ex/callback.c
    index d6cf2cbe629..918d766ffb7 100644
    --- a/reactos/ntoskrnl/ex/callback.c
    +++ b/reactos/ntoskrnl/ex/callback.c
    @@ -49,7 +49,7 @@ ExpInitializeCallbacks(VOID)
        ExCallbackObjectType = ExAllocatePoolWithTag(NonPagedPool, sizeof(OBJECT_TYPE), CALLBACK_TAG);
     
        /* Initialize name */
    -   RtlRosInitUnicodeStringFromLiteral(&ExCallbackObjectType->TypeName,L"Callback");
    +   RtlInitUnicodeString(&ExCallbackObjectType->TypeName, L"Callback");
     
        /* Create the Object Type */
        ExCallbackObjectType->Tag = CALLBACK_TAG;
    @@ -171,6 +171,8 @@ ExCreateCallback(
        PINT_CALLBACK_OBJECT Callback;
        NTSTATUS    Status;
        HANDLE     Handle;
    +   
    +   PAGED_CODE();
     
        /* Open a handle to the callback if it exists */
        if (ObjectAttributes->ObjectName)
    @@ -346,6 +348,8 @@ ExRegisterCallback(
        PINT_CALLBACK_OBJECT CallbackObject = (PINT_CALLBACK_OBJECT)OpaqueCallbackObject;
        PCALLBACK_REGISTRATION  CallbackRegistration = NULL;
        KIRQL     OldIrql;
    +   
    +   PAGED_CODE();
     
        /* Create reference to Callback Object */
        ObReferenceObject (CallbackObject);
    @@ -411,6 +415,8 @@ ExUnregisterCallback(
        PCALLBACK_REGISTRATION  CallbackRegistration;
        PINT_CALLBACK_OBJECT    CallbackObject;
        KIRQL                   OldIrql;
    +   
    +   PAGED_CODE();
     
        /* Convert Handle to valid Structure Pointer */
        CallbackRegistration = (PCALLBACK_REGISTRATION) CallbackRegistrationHandle;
    diff --git a/reactos/ntoskrnl/ex/event.c b/reactos/ntoskrnl/ex/event.c
    index 352d1af5238..4db20f50ba5 100644
    --- a/reactos/ntoskrnl/ex/event.c
    +++ b/reactos/ntoskrnl/ex/event.c
    @@ -88,6 +88,8 @@ NtClearEvent(IN HANDLE EventHandle)
        PKEVENT Event;
        NTSTATUS Status;
        
    +   PAGED_CODE();
    +   
        Status = ObReferenceObjectByHandle(EventHandle,
     				      EVENT_MODIFY_STATE,
     				      ExEventObjectType,
    @@ -118,6 +120,8 @@ NtCreateEvent(OUT PHANDLE EventHandle,
        PKEVENT Event;
        HANDLE hEvent;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
      
        PreviousMode = ExGetPreviousMode();
      
    @@ -195,6 +199,8 @@ NtOpenEvent(OUT PHANDLE EventHandle,
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
        
    +   PAGED_CODE();
    +   
        DPRINT("NtOpenEvent(0x%x, 0x%x, 0x%x)\n", EventHandle, DesiredAccess, ObjectAttributes);
     
        PreviousMode = ExGetPreviousMode();
    @@ -254,6 +260,8 @@ NtPulseEvent(IN HANDLE EventHandle,
        PKEVENT Event;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtPulseEvent(EventHandle 0%x PreviousState 0%x)\n",
     	  EventHandle, PreviousState);
    @@ -322,6 +330,8 @@ NtQueryEvent(IN HANDLE EventHandle,
        PKEVENT Event;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        PreviousMode = ExGetPreviousMode();
        
    @@ -395,6 +405,8 @@ NtResetEvent(IN HANDLE EventHandle,
        PKEVENT Event;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtResetEvent(EventHandle 0%x PreviousState 0%x)\n",
     	  EventHandle, PreviousState);
    @@ -460,6 +472,8 @@ NtSetEvent(IN HANDLE EventHandle,
        PKEVENT Event;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtSetEvent(EventHandle 0%x PreviousState 0%x)\n",
     	  EventHandle, PreviousState);
    diff --git a/reactos/ntoskrnl/ex/evtpair.c b/reactos/ntoskrnl/ex/evtpair.c
    index 4e3794194c6..15b05e6bbc3 100644
    --- a/reactos/ntoskrnl/ex/evtpair.c
    +++ b/reactos/ntoskrnl/ex/evtpair.c
    @@ -95,6 +95,8 @@ NtCreateEventPair(OUT PHANDLE EventPairHandle,
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
        
    +   PAGED_CODE();
    +   
        PreviousMode = ExGetPreviousMode();
     
        if(PreviousMode == UserMode)
    @@ -168,6 +170,8 @@ NtOpenEventPair(OUT PHANDLE EventPairHandle,
        HANDLE hEventPair;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        PreviousMode = ExGetPreviousMode();
     
    @@ -221,6 +225,8 @@ NtSetHighEventPair(IN HANDLE EventPairHandle)
        PKEVENT_PAIR EventPair;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtSetHighEventPair(EventPairHandle %x)\n",
     	  EventPairHandle);
    @@ -252,6 +258,8 @@ NtSetHighWaitLowEventPair(IN HANDLE EventPairHandle)
        PKEVENT_PAIR EventPair;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtSetHighWaitLowEventPair(EventPairHandle %x)\n",
     	  EventPairHandle);
    @@ -289,6 +297,8 @@ NtSetLowEventPair(IN HANDLE EventPairHandle)
        PKEVENT_PAIR EventPair;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtSetLowEventPair(EventPairHandle %x)\n",
     	  EventPairHandle);
    @@ -320,6 +330,8 @@ NtSetLowWaitHighEventPair(IN HANDLE EventPairHandle)
        PKEVENT_PAIR EventPair;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtSetLowWaitHighEventPair(EventPairHandle %x)\n",
     	  EventPairHandle);
    @@ -357,6 +369,8 @@ NtWaitLowEventPair(IN HANDLE EventPairHandle)
        PKEVENT_PAIR EventPair;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtWaitLowEventPair(EventPairHandle %x)\n",
     	  EventPairHandle);
    @@ -390,6 +404,8 @@ NtWaitHighEventPair(IN HANDLE EventPairHandle)
        PKEVENT_PAIR EventPair;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtWaitHighEventPair(EventPairHandle %x)\n",
     	  EventPairHandle);
    @@ -436,6 +452,8 @@ NtSetLowWaitHighThread(
     	NTSTATUS Status;
     	KIRQL Irql;
     	
    +	PAGED_CODE();
    +	
     	PreviousMode = ExGetPreviousMode();
     
     	if(!Thread->EventPair)
    @@ -489,6 +507,8 @@ NtSetHighWaitLowThread(
     	PKEVENT_PAIR EventPair;
     	NTSTATUS Status;
     	KIRQL Irql;
    +	
    +	PAGED_CODE();
     
     	Thread = PsGetCurrentThread();
     
    diff --git a/reactos/ntoskrnl/ex/list.c b/reactos/ntoskrnl/ex/list.c
    index 25fbbea0eae..ddb57fc3692 100644
    --- a/reactos/ntoskrnl/ex/list.c
    +++ b/reactos/ntoskrnl/ex/list.c
    @@ -16,8 +16,6 @@
     #define NDEBUG
     #include 
     
    -static KSPIN_LOCK ExpGlobalListLock = { 0, };
    -
     /* FUNCTIONS *************************************************************/
     
     /*
    @@ -446,8 +444,26 @@ PSLIST_ENTRY
     FASTCALL
     InterlockedPopEntrySList(IN PSLIST_HEADER ListHead)
     {
    -  return (PSLIST_ENTRY) ExInterlockedPopEntrySList(ListHead,
    -    &ExpGlobalListLock);
    +  SLIST_HEADER newslh, oldslh;
    +  PSLIST_ENTRY le;
    +  
    +  do
    +  {
    +    oldslh = *ListHead;
    +    le = oldslh.Next.Next;
    +    if(le == NULL)
    +    {
    +      /* nothing to do */
    +      return NULL;
    +    }
    +    newslh.Sequence = oldslh.Sequence + 1;
    +    newslh.Depth = oldslh.Depth - 1;
    +    newslh.Next.Next = MmSafeReadPtr(&le->Next);
    +  } while(ExfInterlockedCompareExchange64(&ListHead->Alignment,
    +                                          &newslh.Alignment,
    +                                          &oldslh.Alignment) != oldslh.Alignment);
    +
    +  return le;
     }
     
     
    @@ -457,11 +473,23 @@ InterlockedPopEntrySList(IN PSLIST_HEADER ListHead)
     PSLIST_ENTRY
     FASTCALL
     InterlockedPushEntrySList(IN PSLIST_HEADER ListHead,
    -  IN PSLIST_ENTRY ListEntry)
    +                          IN PSLIST_ENTRY ListEntry)
     {
    -  return (PSLIST_ENTRY) ExInterlockedPushEntrySList(ListHead,
    -    ListEntry,
    -    &ExpGlobalListLock);
    +  SLIST_HEADER newslh, oldslh;
    +  
    +  newslh.Next.Next = ListEntry;
    +  
    +  do
    +  {
    +    oldslh = *ListHead;
    +    newslh.Depth = oldslh.Depth + 1;
    +    newslh.Sequence = oldslh.Sequence + 1;
    +    ListEntry->Next = oldslh.Next.Next;
    +  } while(ExfInterlockedCompareExchange64(&ListHead->Alignment,
    +                                          &newslh.Alignment,
    +                                          &oldslh.Alignment) != oldslh.Alignment);
    +
    +  return oldslh.Next.Next;
     }
     
     /* EOF */
    diff --git a/reactos/ntoskrnl/ex/mutant.c b/reactos/ntoskrnl/ex/mutant.c
    index 0852e0075ab..f6a2d4b36c7 100644
    --- a/reactos/ntoskrnl/ex/mutant.c
    +++ b/reactos/ntoskrnl/ex/mutant.c
    @@ -104,27 +104,29 @@ NtCreateMutant(OUT PHANDLE MutantHandle,
       PKMUTEX Mutant;
       NTSTATUS Status = STATUS_SUCCESS;
       
    -   PreviousMode = ExGetPreviousMode();
    +  PAGED_CODE();
    +  
    +  PreviousMode = ExGetPreviousMode();
     
    -   if(PreviousMode == UserMode)
    -   {
    -     _SEH_TRY
    -     {
    -       ProbeForWrite(MutantHandle,
    -                     sizeof(HANDLE),
    -                     sizeof(ULONG));
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    +  if(PreviousMode == UserMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(MutantHandle,
    +                    sizeof(HANDLE),
    +                    sizeof(ULONG));
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
          
    -     if(!NT_SUCCESS(Status))
    -     {
    -       return Status;
    -     }
    -   }
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
     
       Status = ObCreateObject(PreviousMode,
     			  ExMutantObjectType,
    @@ -177,6 +179,8 @@ NtOpenMutant(OUT PHANDLE MutantHandle,
       HANDLE hMutant;
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtOpenMutant(0x%x, 0x%x, 0x%x)\n", MutantHandle, DesiredAccess, ObjectAttributes);
     
    @@ -240,6 +244,8 @@ NtQueryMutant(IN HANDLE MutantHandle,
        PKMUTANT Mutant;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        PreviousMode = ExGetPreviousMode();
     
    @@ -311,6 +317,8 @@ NtReleaseMutant(IN HANDLE MutantHandle,
        PKMUTANT Mutant;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtReleaseMutant(MutantHandle 0%x PreviousCount 0%x)\n",
     	  MutantHandle, PreviousCount);
    diff --git a/reactos/ntoskrnl/ex/power.c b/reactos/ntoskrnl/ex/power.c
    index 0f8ca653781..d68f98e11de 100644
    --- a/reactos/ntoskrnl/ex/power.c
    +++ b/reactos/ntoskrnl/ex/power.c
    @@ -167,7 +167,10 @@ NtShutdownSystem(IN SHUTDOWN_ACTION Action)
            "Until then, there must be no regrets, no fears, no anxieties.\n"
            "Just go forward in all your beliefs, and prove to me that I am not mistaken in mine.\n",
            "Lowest possible energy state reached! Switch off now to achive a Bose-Einstein condensate.\n",
    -       "Hasta la vista, BABY!\n"
    +       "Hasta la vista, BABY!\n",
    +       "They live, we sleep!\n",
    +       "I have come here to chew bubble gum and kick ass.\n"
    +       "And I'm all out of bubble gum!\n"
         };
        LARGE_INTEGER Now;
     
    diff --git a/reactos/ntoskrnl/ex/profile.c b/reactos/ntoskrnl/ex/profile.c
    index 645dfcb8ccd..863add88d9e 100644
    --- a/reactos/ntoskrnl/ex/profile.c
    +++ b/reactos/ntoskrnl/ex/profile.c
    @@ -109,6 +109,8 @@ NtCreateProfile(OUT PHANDLE ProfileHandle,
       OBJECT_ATTRIBUTES ObjectAttributes;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       if(BufferSize == 0)
    @@ -271,6 +273,8 @@ NtQueryIntervalProfile(IN  KPROFILE_SOURCE ProfileSource,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       if(PreviousMode != KernelMode)
    @@ -329,6 +333,8 @@ NtStartProfile(IN HANDLE ProfileHandle)
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
     
       Status = ObReferenceObjectByHandle(ProfileHandle,
    @@ -353,6 +359,8 @@ NtStopProfile(IN HANDLE ProfileHandle)
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
     
       Status = ObReferenceObjectByHandle(ProfileHandle,
    diff --git a/reactos/ntoskrnl/ex/rundown.c b/reactos/ntoskrnl/ex/rundown.c
    index 1ccf65d952d..baf8a38248b 100644
    --- a/reactos/ntoskrnl/ex/rundown.c
    +++ b/reactos/ntoskrnl/ex/rundown.c
    @@ -41,6 +41,8 @@ ExAcquireRundownProtectionEx (
     {
         ULONG_PTR PrevCount, Current;
         
    +    PAGED_CODE();
    +    
         Count <<= EX_RUNDOWN_COUNT_SHIFT;
         
         /* Loop until successfully incremented the counter */
    @@ -74,6 +76,8 @@ ExInitializeRundownProtection (
         IN PEX_RUNDOWN_REF RunRef
         )
     {
    +    PAGED_CODE();
    +    
         /* Set the count to zero */
         RunRef->Count = 0;
     }
    @@ -87,6 +91,8 @@ ExReInitializeRundownProtection (
         IN PEX_RUNDOWN_REF RunRef
         )
     {
    +    PAGED_CODE();
    +    
         /* Reset the count */
     #ifdef _WIN64
         InterlockedExchangeAdd64((LONGLONG*)&RunRef->Count, 0LL);
    @@ -106,6 +112,8 @@ ExReleaseRundownProtectionEx (
         IN ULONG Count
         )
     {
    +    PAGED_CODE();
    +
         Count <<= EX_RUNDOWN_COUNT_SHIFT;
         
         for (;;)
    @@ -116,25 +124,33 @@ ExReleaseRundownProtectionEx (
             if (Current & EX_RUNDOWN_ACTIVE)
             {
                 /* Get Pointer */
    -            PRUNDOWN_DESCRIPTOR RundownDescriptor = (PRUNDOWN_DESCRIPTOR)((ULONG_PTR)RunRef->Ptr & ~EX_RUNDOWN_ACTIVE);
    +            PRUNDOWN_DESCRIPTOR RundownDescriptor = (PRUNDOWN_DESCRIPTOR)(Current & ~EX_RUNDOWN_ACTIVE);
    +            
    +            if (RundownDescriptor == NULL)
    +            {
    +                /* the rundown was completed and there's no one to notify */
    +                break;
    +            }
    +            
    +            Current = RundownDescriptor->References;
     
    -            /* Decrease Reference Count by RundownDescriptor->References */
    +            /* Decrease RundownDescriptor->References by Count references */
                 for (;;)
                 {
                     ULONG_PTR PrevCount, NewCount;
     
    -                if ((Current >> EX_RUNDOWN_COUNT_SHIFT) == RundownDescriptor->References)
    +                if ((Count >> EX_RUNDOWN_COUNT_SHIFT) == Current)
                     {
                         NewCount = 0;
                     }
                     else
                     {
    -                    NewCount = (((Current >> EX_RUNDOWN_COUNT_SHIFT) - RundownDescriptor->References) << EX_RUNDOWN_COUNT_SHIFT) | EX_RUNDOWN_ACTIVE;
    +                    NewCount = ((RundownDescriptor->References - (Count >> EX_RUNDOWN_COUNT_SHIFT)) << EX_RUNDOWN_COUNT_SHIFT) | EX_RUNDOWN_ACTIVE;
                     }
     #ifdef _WIN64
    -                PrevCount = (ULONG_PTR)InterlockedCompareExchange64((LONGLONG*)&RunRef->Count, (LONGLONG)NewCount, (LONGLONG)Current);
    +                PrevCount = (ULONG_PTR)InterlockedCompareExchange64((LONGLONG*)&RundownDescriptor->References, (LONGLONG)NewCount, (LONGLONG)Current);
     #else
    -                PrevCount = (ULONG_PTR)InterlockedCompareExchange((LONG*)&RunRef->Count, (LONG)NewCount, (LONG)Current);
    +                PrevCount = (ULONG_PTR)InterlockedCompareExchange((LONG*)&RundownDescriptor->References, (LONG)NewCount, (LONG)Current);
     #endif
                     if (PrevCount == Current)
                     {
    @@ -192,7 +208,9 @@ ExRundownCompleted (
         IN PEX_RUNDOWN_REF RunRef
         )
     {
    -    /* mark the  */
    +    PAGED_CODE();
    +    
    +    /* mark the counter as active */
     #ifdef _WIN64
         InterlockedExchange64((LONGLONG*)&RunRef->Count, (LONGLONG)EX_RUNDOWN_ACTIVE);
     #else
    @@ -212,40 +230,47 @@ ExWaitForRundownProtectionRelease (
         ULONG_PTR PrevCount, NewPtr, PrevPtr;
         RUNDOWN_DESCRIPTOR RundownDescriptor;
         
    -#ifdef _WIN64
    -    PrevCount = (ULONG_PTR)InterlockedCompareExchange64((LONGLONG*)&RunRef->Ptr, (LONGLONG)EX_RUNDOWN_ACTIVE, 0LL);
    -#else
    -    PrevCount = (ULONG_PTR)InterlockedCompareExchange((LONG*)&RunRef->Ptr, EX_RUNDOWN_ACTIVE, 0);
    -#endif
    -
    -    if (PrevCount == 0 ||
    -        PrevCount & EX_RUNDOWN_ACTIVE)
    +    PAGED_CODE();
    +    
    +    PrevCount = RunRef->Count;
    +    
    +    if (PrevCount != 0 && !(PrevCount & EX_RUNDOWN_ACTIVE))
         {
    -        return;
    +        /* save the reference counter */
    +        RundownDescriptor.References = PrevCount >> EX_RUNDOWN_COUNT_SHIFT;
    +
    +        /* Pending references... wait on them to be closed with an event */
    +        KeInitializeEvent(&RundownDescriptor.RundownEvent, NotificationEvent, FALSE);
    +        
    +        ASSERT(!((ULONG_PTR)&RundownDescriptor & EX_RUNDOWN_ACTIVE));
    +        
    +        NewPtr = (ULONG_PTR)&RundownDescriptor | EX_RUNDOWN_ACTIVE;
    +        
    +        for (;;)
    +        {
    +#ifdef _WIN64
    +            PrevPtr = (ULONG_PTR)InterlockedCompareExchange64((LONGLONG*)&RunRef->Ptr, (LONGLONG)NewPtr, (LONGLONG)PrevCount);
    +#else
    +            PrevPtr = (ULONG_PTR)InterlockedCompareExchange((LONG*)&RunRef->Ptr, (LONG)NewPtr, (LONG)PrevCount);
    +#endif
    +            if (PrevPtr == PrevCount)
    +            {
    +                /* Wait for whoever needs to release to notify us */
    +                KeWaitForSingleObject(&RundownDescriptor.RundownEvent, Executive, KernelMode, FALSE, NULL);
    +                break;
    +            }
    +            else if (PrevPtr == 0 || (PrevPtr & EX_RUNDOWN_ACTIVE))
    +            {
    +                /* some one else was faster, let's just bail */
    +                break;
    +            }
    +            
    +            PrevCount = PrevPtr;
    +            
    +            /* save the changed reference counter and try again */
    +            RundownDescriptor.References = PrevCount >> EX_RUNDOWN_COUNT_SHIFT;
    +        }
         }
    -    
    -    /* save the reference counter */
    -    RundownDescriptor.References = PrevCount >> EX_RUNDOWN_COUNT_SHIFT;
    -    
    -    /* Pending references... wait on them to be closed with an event */
    -    KeInitializeEvent(&RundownDescriptor.RundownEvent, NotificationEvent, FALSE);
    -    
    -    NewPtr = (ULONG_PTR)&RundownDescriptor | EX_RUNDOWN_ACTIVE;
    -    PrevCount = EX_RUNDOWN_ACTIVE;
    -    
    -    do
    -    {
    -#ifdef _WIN64
    -        PrevPtr = (ULONG_PTR)InterlockedCompareExchange64((LONGLONG*)&RunRef->Ptr, (LONGLONG)NewPtr, (LONGLONG)PrevCount);
    -#else
    -        PrevPtr = (ULONG_PTR)InterlockedCompareExchange((LONG*)&RunRef->Ptr, (LONG)NewPtr, (LONG)PrevCount);
    -#endif
    -
    -        PrevCount = PrevPtr;
    -    } while (PrevPtr != PrevCount);
    -    
    -    /* Wait for whoever needs to release to notify us */
    -    KeWaitForSingleObject(&RundownDescriptor.RundownEvent, Executive, KernelMode, FALSE, NULL);
     }
     
     /* EOF */
    diff --git a/reactos/ntoskrnl/ex/sem.c b/reactos/ntoskrnl/ex/sem.c
    index 64c8f7d23d5..274ce8aed1d 100644
    --- a/reactos/ntoskrnl/ex/sem.c
    +++ b/reactos/ntoskrnl/ex/sem.c
    @@ -91,6 +91,8 @@ NtCreateSemaphore(OUT PHANDLE SemaphoreHandle,
        HANDLE hSemaphore;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        PreviousMode = ExGetPreviousMode();
     
    @@ -167,6 +169,8 @@ NtOpenSemaphore(OUT PHANDLE SemaphoreHandle,
        HANDLE hSemaphore;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        PreviousMode = ExGetPreviousMode();
     
    @@ -227,6 +231,8 @@ NtQuerySemaphore(IN HANDLE SemaphoreHandle,
        PKSEMAPHORE Semaphore;
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
     
        PreviousMode = ExGetPreviousMode();
     
    @@ -299,6 +305,8 @@ NtReleaseSemaphore(IN HANDLE SemaphoreHandle,
        PKSEMAPHORE Semaphore;
        NTSTATUS Status = STATUS_SUCCESS;
        
    +   PAGED_CODE();
    +   
        PreviousMode = ExGetPreviousMode();
        
        if(PreviousCount != NULL && PreviousMode == UserMode)
    diff --git a/reactos/ntoskrnl/ex/sysinfo.c b/reactos/ntoskrnl/ex/sysinfo.c
    index de9efb57168..bf4c528484f 100644
    --- a/reactos/ntoskrnl/ex/sysinfo.c
    +++ b/reactos/ntoskrnl/ex/sysinfo.c
    @@ -101,6 +101,8 @@ NtQuerySystemEnvironmentValue (IN	PUNICODE_STRING	VariableName,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       if(PreviousMode != KernelMode)
    @@ -245,6 +247,8 @@ NtSetSystemEnvironmentValue (IN	PUNICODE_STRING	VariableName,
       ANSI_STRING AName, AValue;
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       PreviousMode = ExGetPreviousMode();
       
    @@ -807,13 +811,106 @@ QSI_DEF(SystemNonPagedPoolInformation)
     	return (STATUS_NOT_IMPLEMENTED);
     }
     
    +
    +VOID
    +ObpGetNextHandleByProcessCount(PSYSTEM_HANDLE_TABLE_ENTRY_INFO pshi,
    +                               PEPROCESS Process,
    +                               int Count);
    +
     /* Class 16 - Handle Information */
     QSI_DEF(SystemHandleInformation)
     {
    -	/* FIXME */
    -	DPRINT1("NtQuerySystemInformation - SystemHandleInformation not implemented\n");
    -	return (STATUS_NOT_IMPLEMENTED);
    +        PSYSTEM_HANDLE_INFORMATION Shi = 
    +        	(PSYSTEM_HANDLE_INFORMATION) Buffer;
    +
    +        DPRINT("NtQuerySystemInformation - SystemHandleInformation\n");
    +
    +	if (Size < sizeof (SYSTEM_HANDLE_INFORMATION))
    +        {
    +		* ReqSize = sizeof (SYSTEM_HANDLE_INFORMATION);
    +		return (STATUS_INFO_LENGTH_MISMATCH);
    +	}
    +
    +	DPRINT("SystemHandleInformation 1\n");
    +
    +	PEPROCESS pr, syspr;
    +	int curSize, i = 0;
    +	ULONG hCount = 0;
    +		
    +        /* First Calc Size from Count. */
    +        syspr = PsGetNextProcess(NULL);
    +	pr = syspr;
    +
    +        do
    +	  {
    +            hCount = hCount + ObpGetHandleCountByHandleTable(&pr->HandleTable);
    +            pr = PsGetNextProcess(pr);
    +
    +	    if ((pr == syspr) || (pr == NULL))
    +		break;
    +        } while ((pr != syspr) && (pr != NULL));
    +
    +	DPRINT("SystemHandleInformation 2\n");
    +
    +	if (pr != NULL)
    +	  {
    +	    ObDereferenceObject(pr);
    +	  }
    +
    +        curSize = sizeof(SYSTEM_HANDLE_INFORMATION)+
    +                  (  (sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO) * hCount) - 
    +                     (sizeof(SYSTEM_HANDLE_TABLE_ENTRY_INFO) ));
    +
    +        Shi->NumberOfHandles = hCount;
    +
    +        if (curSize > Size)
    +          {
    +            *ReqSize = curSize;
    +             return (STATUS_INFO_LENGTH_MISMATCH);
    +          }
    +
    +	DPRINT("SystemHandleInformation 3\n");
    +
    +        /* Now get Handles from all processs. */
    +        syspr = PsGetNextProcess(NULL);
    +	pr = syspr;
    +
    +	 do
    +	  {
    +            int Count = 0, HandleCount = 0;
    +
    +            HandleCount = ObpGetHandleCountByHandleTable(&pr->HandleTable);
    +
    +            for (Count = 0; HandleCount > 0 ; HandleCount--)
    +               {
    +                 ObpGetNextHandleByProcessCount( &Shi->Handles[i], pr, Count);
    +                 Count++;
    +                 i++;
    +               }
    +
    +	    pr = PsGetNextProcess(pr);
    +
    +	    if ((pr == syspr) || (pr == NULL))
    +		break;
    +	   } while ((pr != syspr) && (pr != NULL));
    +
    +
    +	if (pr != NULL)
    +	  {
    +	    ObDereferenceObject(pr);
    +	  }
    +
    +	DPRINT("SystemHandleInformation 4\n");
    +	return (STATUS_SUCCESS);
    +
     }
    +/*
    +SSI_DEF(SystemHandleInformation)
    +{
    +	
    +	return (STATUS_SUCCESS);
    +}
    +*/
     
     /* Class 17 -  Information */
     QSI_DEF(SystemObjectInformation)
    @@ -1371,6 +1468,8 @@ NtQuerySystemInformation (IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
       PVOID SystemInformation;
       NTSTATUS Status;
       NTSTATUS FStatus;
    +  
    +  PAGED_CODE();
     
     /*	DPRINT("NtQuerySystemInformation Start. Class:%d\n",
     					SystemInformationClass );
    @@ -1448,6 +1547,8 @@ NtSetSystemInformation (
     	IN	ULONG				SystemInformationLength
     	)
     {
    +        PAGED_CODE();
    +        
     	/*
     	 * If called from user mode, check 
     	 * possible unsafe arguments.
    @@ -1496,6 +1597,8 @@ NtFlushInstructionCache (
     	IN	UINT	NumberOfBytesToFlush
     	)
     {
    +        PAGED_CODE();
    +        
     	__asm__("wbinvd\n");
     	return STATUS_SUCCESS;
     }
    diff --git a/reactos/ntoskrnl/ex/time.c b/reactos/ntoskrnl/ex/time.c
    index 9e5965893a4..b8ca5046dcb 100644
    --- a/reactos/ntoskrnl/ex/time.c
    +++ b/reactos/ntoskrnl/ex/time.c
    @@ -151,6 +151,8 @@ NtSetSystemTime(IN PLARGE_INTEGER SystemTime,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       if(PreviousMode != KernelMode)
    @@ -233,6 +235,8 @@ NtQuerySystemTime(OUT PLARGE_INTEGER SystemTime)
     {
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
     
       PreviousMode = ExGetPreviousMode();
     
    @@ -290,6 +294,8 @@ ExSetTimerResolution (
         )
     {
     	UNIMPLEMENTED;
    +
    +    return 0;
     }
     
     
    diff --git a/reactos/ntoskrnl/ex/timer.c b/reactos/ntoskrnl/ex/timer.c
    index 3deeff2518c..fa0a2540d3d 100644
    --- a/reactos/ntoskrnl/ex/timer.c
    +++ b/reactos/ntoskrnl/ex/timer.c
    @@ -5,7 +5,8 @@
      * FILE:            ntoskrnl/ex/timer.c
      * PURPOSE:         User-mode timers
      * 
    - * PROGRAMMERS:     David Welch (welch@mcmail.com)
    + * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net) - Reimplemented
    + *                  David Welch (welch@mcmail.com)
      */
     
     /* INCLUDES *****************************************************************/
    @@ -13,528 +14,691 @@
     #include 
     #include 
     
    -
     /* TYPES ********************************************************************/
     
    -typedef struct _NTTIMER
    -{
    -   KTIMER Timer;
    -   KDPC Dpc;
    -   KAPC Apc;
    -   BOOLEAN Running;
    -} NTTIMER, *PNTTIMER;
    -
    +/* Executive Timer Object */
    +typedef struct _ETIMER {
    +    KTIMER KeTimer;
    +    KAPC TimerApc;
    +    KDPC TimerDpc;
    +    LIST_ENTRY ActiveTimerListEntry;
    +    KSPIN_LOCK Lock;
    +    LONG Period;
    +    BOOLEAN ApcAssociated;
    +    BOOLEAN WakeTimer;
    +    LIST_ENTRY WakeTimerListEntry;
    +} ETIMER, *PETIMER;
     
     /* GLOBALS ******************************************************************/
     
    +/* Timer Object Type */
     POBJECT_TYPE ExTimerType = NULL;
     
    -static GENERIC_MAPPING ExpTimerMapping = {
    -	STANDARD_RIGHTS_READ | TIMER_QUERY_STATE,
    -	STANDARD_RIGHTS_WRITE | TIMER_MODIFY_STATE,
    -	STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE,
    -	TIMER_ALL_ACCESS};
    +KSPIN_LOCK ExpWakeListLock;
    +LIST_ENTRY ExpWakeList;
     
    -static const INFORMATION_CLASS_INFO ExTimerInfoClass[] =
    -{
    -  ICI_SQ_SAME( sizeof(TIMER_BASIC_INFORMATION), sizeof(ULONG), ICIF_QUERY ), /* TimerBasicInformation */
    +/* Timer Mapping */
    +static GENERIC_MAPPING ExpTimerMapping = {
    +    STANDARD_RIGHTS_READ    | TIMER_QUERY_STATE,
    +    STANDARD_RIGHTS_WRITE   | TIMER_MODIFY_STATE,
    +    STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE,
    +    TIMER_ALL_ACCESS
    +};
    +
    +/* Timer Information Classes */
    +static const INFORMATION_CLASS_INFO ExTimerInfoClass[] = {
    +    
    +    /* TimerBasicInformation */
    +    ICI_SQ_SAME( sizeof(TIMER_BASIC_INFORMATION), sizeof(ULONG), ICIF_QUERY ),
     };
     
     /* FUNCTIONS *****************************************************************/
     
    -NTSTATUS STDCALL
    -ExpCreateTimer(PVOID ObjectBody,
    -	       PVOID Parent,
    -	       PWSTR RemainingPath,
    -	       POBJECT_ATTRIBUTES ObjectAttributes)
    -{
    -  DPRINT("ExpCreateTimer(ObjectBody %x, Parent %x, RemainingPath %S)\n",
    -	 ObjectBody, Parent, RemainingPath);
    -
    -  if (RemainingPath != NULL && wcschr(RemainingPath+1, '\\') != NULL)
    -    {
    -      return(STATUS_UNSUCCESSFUL);
    -    }
    -
    -  return(STATUS_SUCCESS);
    -}
    -
    -
    -VOID STDCALL
    +VOID
    +STDCALL
     ExpDeleteTimer(PVOID ObjectBody)
     {
    -   KIRQL OldIrql;
    -   PNTTIMER Timer = ObjectBody;
    +    KIRQL OldIrql;
    +    PETIMER Timer = ObjectBody;
     
    -   DPRINT("ExpDeleteTimer()\n");
    +    DPRINT("ExpDeleteTimer(Timer: %x)\n", Timer);
     
    -   OldIrql = KeRaiseIrqlToDpcLevel();
    +    /* Lock the Wake List */
    +    KeAcquireSpinLock(&ExpWakeListLock, &OldIrql);
    +    
    +    /* Check if it has a Wait List */
    +    if (!IsListEmpty(&Timer->WakeTimerListEntry)) {
    +    
    +        /* Remove it from the Wait List */
    +        DPRINT("Removing wake list\n");
    +        RemoveEntryList(&Timer->WakeTimerListEntry);
    +    }
    +    
    +    /* Release the Wake List */
    +    KeReleaseSpinLock(&ExpWakeListLock, OldIrql);
     
    -   KeCancelTimer(&Timer->Timer);
    -   KeRemoveQueueDpc(&Timer->Dpc);
    -   KeRemoveQueueApc(&Timer->Apc);
    -   Timer->Running = FALSE;
    -
    -   KeLowerIrql(OldIrql);
    +    /* Tell the Kernel to cancel the Timer */
    +    DPRINT("Cancelling Timer\n");
    +    KeCancelTimer(&Timer->KeTimer);
     }
     
    -
    -VOID STDCALL
    +VOID 
    +STDCALL
     ExpTimerDpcRoutine(PKDPC Dpc,
    -		   PVOID DeferredContext,
    -		   PVOID SystemArgument1,
    -		   PVOID SystemArgument2)
    +                   PVOID DeferredContext,
    +                   PVOID SystemArgument1,
    +                   PVOID SystemArgument2)
     {
    -   PNTTIMER Timer;
    +    PETIMER Timer;
    +    KIRQL OldIrql;
     
    -   DPRINT("ExpTimerDpcRoutine()\n");
    +    DPRINT("ExpTimerDpcRoutine(Dpc: %x)\n", Dpc);
     
    -   Timer = (PNTTIMER)DeferredContext;
    +    /* Get the Timer Object */
    +    Timer = (PETIMER)DeferredContext;
     
    -   if ( Timer->Running )
    -     {
    -       KeInsertQueueApc(&Timer->Apc,
    -			SystemArgument1,
    -			SystemArgument2,
    -			IO_NO_INCREMENT);
    -     }
    +    /* Lock the Timer */
    +    KeAcquireSpinLock(&Timer->Lock, &OldIrql);
    +    
    +    /* Queue the APC */
    +    if(Timer->ApcAssociated) {
    +        
    +        DPRINT("Queuing APC\n");
    +        KeInsertQueueApc(&Timer->TimerApc,
    +                         SystemArgument1,
    +                         SystemArgument2,
    +                         IO_NO_INCREMENT);
    +    }
    +    
    +    /* Release the Timer */
    +    KeReleaseSpinLock(&Timer->Lock, OldIrql);
     }
     
     
    -VOID STDCALL
    +VOID
    +STDCALL
     ExpTimerApcKernelRoutine(PKAPC Apc,
    -			 PKNORMAL_ROUTINE* NormalRoutine,
    -			 PVOID* NormalContext,
    -			 PVOID* SystemArgument1,
    -			 PVOID* SystemArguemnt2)
    +                         PKNORMAL_ROUTINE* NormalRoutine,
    +                         PVOID* NormalContext,
    +                         PVOID* SystemArgument1,
    +                         PVOID* SystemArguemnt2)
     {
    -   DPRINT("ExpTimerApcKernelRoutine()\n");
    -
    +    PETIMER Timer;
    +    PETHREAD CurrentThread = PsGetCurrentThread();
    +    KIRQL OldIrql;
    +    
    +    /* We need to find out which Timer we are */
    +    Timer = CONTAINING_RECORD(Apc, ETIMER, TimerApc);
    +    DPRINT("ExpTimerApcKernelRoutine(Apc: %x. Timer: %x)\n", Apc, Timer);
    +    
    +    /* Lock the Timer */
    +    KeAcquireSpinLock(&Timer->Lock, &OldIrql);
    +    
    +    /* Lock the Thread's Active Timer List*/
    +    KeAcquireSpinLockAtDpcLevel(&CurrentThread->ActiveTimerListLock);
    +    
    +    /* 
    +     * Make sure that the Timer is still valid, and that it belongs to this thread 
    +     * Remove it if it's not periodic
    +     */
    +    if ((Timer->ApcAssociated) && 
    +        (&CurrentThread->Tcb == Timer->TimerApc.Thread) && 
    +        (!Timer->Period)) {
    +    
    +        /* Remove it from the Active Timers List */
    +        DPRINT("Removing Timer\n");
    +        RemoveEntryList(&Timer->ActiveTimerListEntry);
    +        
    +        /* Disable it */
    +        Timer->ApcAssociated = FALSE;
    +        
    +        /* Release spinlocks */
    +        KeReleaseSpinLockFromDpcLevel(&CurrentThread->ActiveTimerListLock);
    +        KeReleaseSpinLock(&Timer->Lock, OldIrql);
    +    
    +        /* Dereference the Timer Object */
    +        ObDereferenceObject(Timer);
    +        return;
    +    }
    +    
    +    /* Release spinlocks */
    +    KeReleaseSpinLockFromDpcLevel(&CurrentThread->ActiveTimerListLock);
    +    KeReleaseSpinLock(&Timer->Lock, OldIrql);
     }
     
    -
    -VOID INIT_FUNCTION
    +VOID
    +INIT_FUNCTION
     ExpInitializeTimerImplementation(VOID)
     {
    -   ASSERT(!ExTimerType)
    -   ExTimerType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));
    +    DPRINT("ExpInitializeTimerImplementation()\n");
    +            
    +    /* Allocate Memory for the Timer */
    +    ExTimerType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));
     
    -   RtlpCreateUnicodeString(&ExTimerType->TypeName, L"Timer", NonPagedPool);
    -
    -   ExTimerType->Tag = TAG('T', 'I', 'M', 'T');
    -   ExTimerType->PeakObjects = 0;
    -   ExTimerType->PeakHandles = 0;
    -   ExTimerType->TotalObjects = 0;
    -   ExTimerType->TotalHandles = 0;
    -   ExTimerType->PagedPoolCharge = 0;
    -   ExTimerType->NonpagedPoolCharge = sizeof(NTTIMER);
    -   ExTimerType->Mapping = &ExpTimerMapping;
    -   ExTimerType->Dump = NULL;
    -   ExTimerType->Open = NULL;
    -   ExTimerType->Close = NULL;
    -   ExTimerType->Delete = ExpDeleteTimer;
    -   ExTimerType->Parse = NULL;
    -   ExTimerType->Security = NULL;
    -   ExTimerType->QueryName = NULL;
    -   ExTimerType->OkayToClose = NULL;
    -   ExTimerType->Create = ExpCreateTimer;
    -   ExTimerType->DuplicationNotify = NULL;
    -
    -   ObpCreateTypeObject(ExTimerType);
    +    /* Create the Executive Timer Object */
    +    RtlpCreateUnicodeString(&ExTimerType->TypeName, L"Timer", NonPagedPool);
    +    ExTimerType->Tag = TAG('T', 'I', 'M', 'T');
    +    ExTimerType->PeakObjects = 0;
    +    ExTimerType->PeakHandles = 0;
    +    ExTimerType->TotalObjects = 0;
    +    ExTimerType->TotalHandles = 0;
    +    ExTimerType->PagedPoolCharge = 0;
    +    ExTimerType->NonpagedPoolCharge = sizeof(ETIMER);
    +    ExTimerType->Mapping = &ExpTimerMapping;
    +    ExTimerType->Dump = NULL;
    +    ExTimerType->Open = NULL;
    +    ExTimerType->Close = NULL;
    +    ExTimerType->Delete = ExpDeleteTimer;
    +    ExTimerType->Parse = NULL;
    +    ExTimerType->Security = NULL;
    +    ExTimerType->QueryName = NULL;
    +    ExTimerType->OkayToClose = NULL;
    +    ExTimerType->Create = NULL;
    +    ExTimerType->DuplicationNotify = NULL;
    +    ObpCreateTypeObject(ExTimerType);
    +    
    +    /* Initialize the Wait List and Lock */
    +    KeInitializeSpinLock(&ExpWakeListLock);
    +    InitializeListHead(&ExpWakeList);
     }
     
     
    -NTSTATUS STDCALL
    +NTSTATUS 
    +STDCALL
     NtCancelTimer(IN HANDLE TimerHandle,
    -	      OUT PBOOLEAN CurrentState OPTIONAL)
    +              OUT PBOOLEAN CurrentState OPTIONAL)
     {
    -   PNTTIMER Timer;
    -   KPROCESSOR_MODE PreviousMode;
    -   NTSTATUS Status = STATUS_SUCCESS;
    +    PETIMER Timer;
    +    KPROCESSOR_MODE PreviousMode;
    +    BOOLEAN State;
    +    KIRQL OldIrql;
    +    PETHREAD TimerThread;
    +    BOOLEAN KillTimer = FALSE;
    +    NTSTATUS Status = STATUS_SUCCESS;
    +    
    +    PAGED_CODE();
    +    
    +    PreviousMode = ExGetPreviousMode();
        
    -   PreviousMode = ExGetPreviousMode();
    +    DPRINT("NtCancelTimer(0x%x, 0x%x)\n", TimerHandle, CurrentState);
        
    -   DPRINT("NtCancelTimer(0x%x, 0x%x)\n", TimerHandle, CurrentState);
    -   
    -   if(CurrentState != NULL && PreviousMode != KernelMode)
    -   {
    -     _SEH_TRY
    -     {
    -       ProbeForWrite(CurrentState,
    -                     sizeof(BOOLEAN),
    -                     sizeof(BOOLEAN));
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    +    /* Check Parameter Validity */
    +    if(CurrentState != NULL && PreviousMode != KernelMode) {
    +        _SEH_TRY {
    +            ProbeForWrite(CurrentState,
    +                          sizeof(BOOLEAN),
    +                          sizeof(BOOLEAN));
    +        } _SEH_HANDLE {
    +            Status = _SEH_GetExceptionCode();
    +        } _SEH_END;
          
    -     if(!NT_SUCCESS(Status))
    -     {
    -       return Status;
    -     }
    -   }
    +        if(!NT_SUCCESS(Status)) {
    +            return Status;
    +        }
    +    }
     
    -   Status = ObReferenceObjectByHandle(TimerHandle,
    -				      TIMER_ALL_ACCESS,
    -				      ExTimerType,
    -				      PreviousMode,
    -				      (PVOID*)&Timer,
    -				      NULL);
    -   if(NT_SUCCESS(Status))
    -   {
    -     BOOLEAN State;
    -     KIRQL OldIrql = KeRaiseIrqlToDpcLevel();
    +    /* Get the Timer Object */
    +    Status = ObReferenceObjectByHandle(TimerHandle,
    +                                       TIMER_ALL_ACCESS,
    +                                       ExTimerType,
    +                                       PreviousMode,
    +                                       (PVOID*)&Timer,
    +                                       NULL);
    +    
    +    /* Check for success */
    +    if(NT_SUCCESS(Status)) {
    +       
    +        DPRINT("Timer Referencced: %x\n", Timer);
    +        
    +        /* Lock the Timer */
    +        KeAcquireSpinLock(&Timer->Lock, &OldIrql);
    +        
    +        /* Check if it's enabled */
    +        if (Timer->ApcAssociated) {
    +        
    +            /* 
    +             * First, remove it from the Thread's Active List 
    +             * Get the Thread.
    +             */
    +            TimerThread = CONTAINING_RECORD(Timer->TimerApc.Thread, ETHREAD, Tcb);
    +            DPRINT("Removing from Thread: %x\n", TimerThread);
    +            
    +            /* Lock its active list */
    +            KeAcquireSpinLockAtDpcLevel(&TimerThread->ActiveTimerListLock);
    +            
    +            /* Remove it */
    +            RemoveEntryList(&TimerThread->ActiveTimerListHead);
    +            
    +            /* Unlock the list */
    +            KeReleaseSpinLockFromDpcLevel(&TimerThread->ActiveTimerListLock);
    +            
    +            /* Cancel the Timer */
    +            KeCancelTimer(&Timer->KeTimer);
    +            KeRemoveQueueDpc(&Timer->TimerDpc);
    +            KeRemoveQueueApc(&Timer->TimerApc);
    +            Timer->ApcAssociated = FALSE;
    +            KillTimer = TRUE;
    +            
    +        } else {
    +            
    +            /* If timer was disabled, we still need to cancel it */
    +            DPRINT("APC was not Associated. Cancelling Timer\n");
    +            KeCancelTimer(&Timer->KeTimer);
    +        }
    +        
    +        /* Read the old State */
    +        State = KeReadStateTimer(&Timer->KeTimer);
    +        
    +        /* Dereference the Object */
    +        ObDereferenceObject(Timer);
    +        
    +        /* Unlock the Timer */
    +        KeReleaseSpinLock(&Timer->Lock, OldIrql);
    +                
    +        /* Dereference if it was previously enabled */
    +        if (KillTimer) ObDereferenceObject(Timer);
    +        DPRINT1("Timer disabled\n");
     
    -     State = KeCancelTimer(&Timer->Timer);
    -     KeRemoveQueueDpc(&Timer->Dpc);
    -     KeRemoveQueueApc(&Timer->Apc);
    -     Timer->Running = FALSE;
    +        /* Make sure it's safe to write to the handle */
    +        if(CurrentState != NULL) {
    +            _SEH_TRY {
    +                *CurrentState = State;
    +            } _SEH_HANDLE {
    +                Status = _SEH_GetExceptionCode();
    +            } _SEH_END;
    +        }
    +    }
     
    -     KeLowerIrql(OldIrql);
    -     ObDereferenceObject(Timer);
    -
    -     if(CurrentState != NULL)
    -     {
    -       _SEH_TRY
    -       {
    -         *CurrentState = State;
    -       }
    -       _SEH_HANDLE
    -       {
    -         Status = _SEH_GetExceptionCode();
    -       }
    -       _SEH_END;
    -     }
    -   }
    -
    -   return Status;
    +    /* Return to Caller */
    +    return Status;
     }
     
     
    -NTSTATUS STDCALL
    +NTSTATUS 
    +STDCALL
     NtCreateTimer(OUT PHANDLE TimerHandle,
    -	      IN ACCESS_MASK DesiredAccess,
    -	      IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
    -	      IN TIMER_TYPE TimerType)
    +              IN ACCESS_MASK DesiredAccess,
    +              IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
    +              IN TIMER_TYPE TimerType)
     {
    -   PNTTIMER Timer;
    -   HANDLE hTimer;
    -   KPROCESSOR_MODE PreviousMode;
    -   NTSTATUS Status = STATUS_SUCCESS;
    +    PETIMER Timer;
    +    HANDLE hTimer;
    +    KPROCESSOR_MODE PreviousMode;
    +    NTSTATUS Status = STATUS_SUCCESS;
    +    
    +    PAGED_CODE();
    +    
    +    PreviousMode = ExGetPreviousMode();
        
    -   DPRINT("NtCreateTimer()\n");
    -   
    -   PreviousMode = ExGetPreviousMode();
    -   
    -   if(PreviousMode != KernelMode)
    -   {
    -     _SEH_TRY
    -     {
    -       ProbeForWrite(TimerHandle,
    -                     sizeof(HANDLE),
    -                     sizeof(ULONG));
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    +    DPRINT("NtCreateTimer(Handle: %x, Type: %d)\n", TimerHandle, TimerType);
     
    -     if(!NT_SUCCESS(Status))
    -     {
    -       return Status;
    -     }
    -   }
    -
    -   Status = ObCreateObject(PreviousMode,
    -			   ExTimerType,
    -			   ObjectAttributes,
    -			   PreviousMode,
    -			   NULL,
    -			   sizeof(NTTIMER),
    -			   0,
    -			   0,
    -			   (PVOID*)&Timer);
    -   if(NT_SUCCESS(Status))
    -   {
    -     KeInitializeTimerEx(&Timer->Timer,
    -		         TimerType);
    -
    -     KeInitializeDpc(&Timer->Dpc,
    -		     &ExpTimerDpcRoutine,
    -		     Timer);
    -
    -     Timer->Running = FALSE;
    -
    -     Status = ObInsertObject ((PVOID)Timer,
    -			      NULL,
    -			      DesiredAccess,
    -			      0,
    -			      NULL,
    -			      &hTimer);
    -     ObDereferenceObject(Timer);
    +    /* Check Parameter Validity */
    +    if (PreviousMode != KernelMode) {
    +        _SEH_TRY {
    +            ProbeForWrite(TimerHandle,
    +                          sizeof(HANDLE),
    +                          sizeof(ULONG));
    +        } _SEH_HANDLE {
    +            Status = _SEH_GetExceptionCode();
    +        } _SEH_END;
          
    -     if(NT_SUCCESS(Status))
    -     {
    -       _SEH_TRY
    -       {
    -         *TimerHandle = hTimer;
    -       }
    -       _SEH_HANDLE
    -       {
    -         Status = _SEH_GetExceptionCode();
    -       }
    -       _SEH_END;
    -     }
    -   }
    -
    -   return Status;
    -}
    -
    -
    -NTSTATUS STDCALL
    -NtOpenTimer(OUT PHANDLE TimerHandle,
    -	    IN ACCESS_MASK DesiredAccess,
    -	    IN POBJECT_ATTRIBUTES ObjectAttributes)
    -{
    -   HANDLE hTimer;
    -   KPROCESSOR_MODE PreviousMode;
    -   NTSTATUS Status = STATUS_SUCCESS;
    -
    -   DPRINT("NtOpenTimer()\n");
    -
    -   PreviousMode = ExGetPreviousMode();
    -
    -   if(PreviousMode != KernelMode)
    -   {
    -     _SEH_TRY
    -     {
    -       ProbeForWrite(TimerHandle,
    -                     sizeof(HANDLE),
    -                     sizeof(ULONG));
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    -
    -     if(!NT_SUCCESS(Status))
    -     {
    -       return Status;
    -     }
    -   }
    -
    -   Status = ObOpenObjectByName(ObjectAttributes,
    -			       ExTimerType,
    -			       NULL,
    -			       PreviousMode,
    -			       DesiredAccess,
    -			       NULL,
    -			       &hTimer);
    -   if(NT_SUCCESS(Status))
    -   {
    -     _SEH_TRY
    -     {
    -       *TimerHandle = hTimer;
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    -   }
    +        if(!NT_SUCCESS(Status)) {
    +            return Status;
    +        }
    +    }
    +    
    +    /* Create the Object */   
    +    Status = ObCreateObject(PreviousMode,
    +                           ExTimerType,
    +                           ObjectAttributes,
    +                           PreviousMode,
    +                           NULL,
    +                           sizeof(ETIMER),
    +                           0,
    +                           0,
    +                           (PVOID*)&Timer);
        
    -   return Status;
    +    /* Check for Success */
    +    if(NT_SUCCESS(Status)) {
    +        
    +        /* Initialize the Kernel Timer */
    +        DPRINT("Initializing Timer: %x\n", Timer);
    +        KeInitializeTimerEx(&Timer->KeTimer, TimerType);
    +
    +        /* Initialize the Timer Lock */
    +        KeInitializeSpinLock(&Timer->Lock);
    +        
    +        /* Initialize the DPC */
    +        KeInitializeDpc(&Timer->TimerDpc, ExpTimerDpcRoutine, Timer);
    +
    +        /* Set Initial State */
    +        Timer->ApcAssociated = FALSE;
    +        InitializeListHead(&Timer->WakeTimerListEntry);
    +        Timer->WakeTimer = FALSE;
    +        
    +        /* Insert the Timer */
    +        Status = ObInsertObject((PVOID)Timer,
    +                                NULL,
    +                                DesiredAccess,
    +                                0,
    +                                NULL,
    +                                &hTimer);
    +        DPRINT("Timer Inserted\n");
    +
    +  
    +        /* Make sure it's safe to write to the handle */
    +        _SEH_TRY {
    +            *TimerHandle = hTimer;
    +        } _SEH_HANDLE {
    +            Status = _SEH_GetExceptionCode();
    +        } _SEH_END;
    +    }
    +
    +    /* Return to Caller */
    +    return Status;
     }
     
     
    -NTSTATUS STDCALL
    +NTSTATUS 
    +STDCALL
    +NtOpenTimer(OUT PHANDLE TimerHandle,
    +            IN ACCESS_MASK DesiredAccess,
    +            IN POBJECT_ATTRIBUTES ObjectAttributes)
    +{
    +    HANDLE hTimer;
    +    KPROCESSOR_MODE PreviousMode;
    +    NTSTATUS Status = STATUS_SUCCESS;
    +    
    +    PAGED_CODE();
    +    
    +    PreviousMode = ExGetPreviousMode();
    +
    +    DPRINT("NtOpenTimer(TimerHandle: %x)\n", TimerHandle);
    +
    +    /* Check Parameter Validity */
    +    if (PreviousMode != KernelMode) {
    +        _SEH_TRY {
    +            ProbeForWrite(TimerHandle,
    +                          sizeof(HANDLE),
    +                          sizeof(ULONG));
    +        } _SEH_HANDLE {
    +            Status = _SEH_GetExceptionCode();
    +        } _SEH_END;
    +     
    +        if(!NT_SUCCESS(Status)) {
    +            return Status;
    +        }
    +    }
    +
    +    /* Open the Timer */
    +    Status = ObOpenObjectByName(ObjectAttributes,
    +                                ExTimerType,
    +                                NULL,
    +                                PreviousMode,
    +                                DesiredAccess,
    +                                NULL,
    +                                &hTimer);
    +    
    +    /* Check for success */
    +    if(NT_SUCCESS(Status)) {
    +        
    +        /* Make sure it's safe to write to the handle */
    +        _SEH_TRY {
    +            *TimerHandle = hTimer;
    +        } _SEH_HANDLE {
    +            Status = _SEH_GetExceptionCode();
    +        } _SEH_END;
    +    }
    +
    +    /* Return to Caller */
    +    return Status;
    +}
    +
    +
    +NTSTATUS 
    +STDCALL
     NtQueryTimer(IN HANDLE TimerHandle,
    -	     IN TIMER_INFORMATION_CLASS TimerInformationClass,
    -	     OUT PVOID TimerInformation,
    -	     IN ULONG TimerInformationLength,
    -	     OUT PULONG ReturnLength  OPTIONAL)
    +             IN TIMER_INFORMATION_CLASS TimerInformationClass,
    +             OUT PVOID TimerInformation,
    +             IN ULONG TimerInformationLength,
    +             OUT PULONG ReturnLength  OPTIONAL)
     {
    -   PNTTIMER Timer;
    -   KPROCESSOR_MODE PreviousMode;
    -   NTSTATUS Status = STATUS_SUCCESS;
    +    PETIMER Timer;
    +    KPROCESSOR_MODE PreviousMode;
    +    NTSTATUS Status = STATUS_SUCCESS;
    +    PTIMER_BASIC_INFORMATION BasicInfo = (PTIMER_BASIC_INFORMATION)TimerInformation;
    +    
    +    PAGED_CODE();
    +    
    +    PreviousMode = ExGetPreviousMode();
     
    -   PreviousMode = ExGetPreviousMode();
    +    DPRINT("NtQueryTimer(TimerHandle: %x, Class: %d)\n", TimerHandle, TimerInformationClass);
    +    
    +    /* Check Validity */
    +    DefaultQueryInfoBufferCheck(TimerInformationClass,
    +                                ExTimerInfoClass,
    +                                TimerInformation,
    +                                TimerInformationLength,
    +                                ReturnLength,
    +                                PreviousMode,
    +                                &Status);
    +    if(!NT_SUCCESS(Status)) {
    +        
    +        DPRINT1("NtQueryTimer() failed, Status: 0x%x\n", Status);
    +        return Status;
    +    }
     
    -   DefaultQueryInfoBufferCheck(TimerInformationClass,
    -                               ExTimerInfoClass,
    -                               TimerInformation,
    -                               TimerInformationLength,
    -                               ReturnLength,
    -                               PreviousMode,
    -                               &Status);
    -   if(!NT_SUCCESS(Status))
    -   {
    -     DPRINT1("NtQueryTimer() failed, Status: 0x%x\n", Status);
    -     return Status;
    -   }
    +    /* Get the Timer Object */
    +    Status = ObReferenceObjectByHandle(TimerHandle,
    +                                       TIMER_QUERY_STATE,
    +                                       ExTimerType,
    +                                       PreviousMode,    
    +                                       (PVOID*)&Timer,
    +                                       NULL);
    +    
    +    /* Check for Success */
    +    if(NT_SUCCESS(Status)) {
    +        
    +        switch(TimerInformationClass) {
    +           case TimerBasicInformation: {
    +              /* Return the Basic Information */
    +               _SEH_TRY {
     
    -   Status = ObReferenceObjectByHandle(TimerHandle,
    -				      TIMER_QUERY_STATE,
    -				      ExTimerType,
    -				      PreviousMode,
    -				      (PVOID*)&Timer,
    -				      NULL);
    -   if(NT_SUCCESS(Status))
    -   {
    -     switch(TimerInformationClass)
    -     {
    -       case TimerBasicInformation:
    -       {
    -         PTIMER_BASIC_INFORMATION BasicInfo = (PTIMER_BASIC_INFORMATION)TimerInformation;
    +                  /* FIXME: Interrupt correction based on Interrupt Time */
    +                  DPRINT("Returning Information for Timer: %x. Time Remaining: %d\n", Timer, Timer->KeTimer.DueTime.QuadPart);
    +                  BasicInfo->TimeRemaining.QuadPart = Timer->KeTimer.DueTime.QuadPart;
    +                  BasicInfo->SignalState = KeReadStateTimer(&Timer->KeTimer);
     
    -         _SEH_TRY
    -         {
    -           /* FIXME - interrupt correction */
    -           BasicInfo->TimeRemaining.QuadPart = Timer->Timer.DueTime.QuadPart;
    -           BasicInfo->SignalState = (BOOLEAN)Timer->Timer.Header.SignalState;
    +                  if(ReturnLength != NULL) {
    +                      *ReturnLength = sizeof(TIMER_BASIC_INFORMATION);
    +                  }
     
    -           if(ReturnLength != NULL)
    -           {
    -             *ReturnLength = sizeof(TIMER_BASIC_INFORMATION);
    +              } _SEH_HANDLE {
    +                  Status = _SEH_GetExceptionCode();
    +              } _SEH_END;
                }
    -         }
    -         _SEH_HANDLE
    -         {
    -           Status = _SEH_GetExceptionCode();
    -         }
    -         _SEH_END;
    -         break;
    -       }
    -
    -       default:
    -         Status = STATUS_NOT_IMPLEMENTED;
    -         break;
    -     }
    -
    -     ObDereferenceObject(Timer);
    -   }
    -
    -   return Status;
    +        }
    +        
    +        ObDereferenceObject(Timer);
    +    }
    +   
    +    /* Return Status */
    +    return Status;
     }
     
    -
    -NTSTATUS STDCALL
    +NTSTATUS 
    +STDCALL
     NtSetTimer(IN HANDLE TimerHandle,
    -	   IN PLARGE_INTEGER DueTime,
    -	   IN PTIMER_APC_ROUTINE TimerApcRoutine  OPTIONAL,
    -	   IN PVOID TimerContext  OPTIONAL,
    -	   IN BOOLEAN ResumeTimer,
    -	   IN LONG Period  OPTIONAL,
    -	   OUT PBOOLEAN PreviousState  OPTIONAL)
    +           IN PLARGE_INTEGER DueTime,
    +           IN PTIMER_APC_ROUTINE TimerApcRoutine OPTIONAL,
    +           IN PVOID TimerContext OPTIONAL,
    +           IN BOOLEAN WakeTimer,
    +           IN LONG Period OPTIONAL,
    +           OUT PBOOLEAN PreviousState OPTIONAL)
     {
    -   PNTTIMER Timer;
    -   BOOLEAN Result;
    -   BOOLEAN State;
    -   LARGE_INTEGER TimerDueTime;
    -   KPROCESSOR_MODE PreviousMode;
    -   NTSTATUS Status = STATUS_SUCCESS;
    +    PETIMER Timer;
    +    KIRQL OldIrql;
    +    BOOLEAN State;
    +    KPROCESSOR_MODE PreviousMode;
    +    PETHREAD CurrentThread;
    +    LARGE_INTEGER TimerDueTime;
    +    PETHREAD TimerThread;
    +    BOOLEAN KillTimer = FALSE;
    +    NTSTATUS Status = STATUS_SUCCESS;
    +    
    +    PAGED_CODE();
    +    
    +    PreviousMode = ExGetPreviousMode();
    +    CurrentThread = PsGetCurrentThread();
     
    -   DPRINT("NtSetTimer()\n");
    +    DPRINT("NtSetTimer(TimerHandle: %x, DueTime: %d, Apc: %x, Period: %d)\n", TimerHandle, DueTime->QuadPart, TimerApcRoutine, Period);
     
    -   PreviousMode = ExGetPreviousMode();
    +    /* Check Parameter Validity */
    +    if (PreviousMode != KernelMode) {
    +        _SEH_TRY {
    +            ProbeForRead(DueTime,
    +                         sizeof(LARGE_INTEGER),
    +                         sizeof(ULONG));
    +            TimerDueTime = *DueTime;
    +            
    +            if(PreviousState != NULL) {
    +                ProbeForWrite(PreviousState,
    +                              sizeof(BOOLEAN),
    +                              sizeof(BOOLEAN));
    +            }
    +            
    +        } _SEH_HANDLE {
    +            Status = _SEH_GetExceptionCode();
    +        } _SEH_END;
    +     
    +        if(!NT_SUCCESS(Status)) {
    +            return Status;
    +        }
    +    }
    +    
    +    /* Get the Timer Object */   
    +    Status = ObReferenceObjectByHandle(TimerHandle,
    +                                       TIMER_ALL_ACCESS,
    +                                       ExTimerType,
    +                                       PreviousMode,
    +                                       (PVOID*)&Timer,
    +                                       NULL);
    +    
    +    /* Check status */
    +    if (NT_SUCCESS(Status)) {
    +    
    +        /* Lock the Timer */
    +        DPRINT("Timer Referencced: %x\n", Timer);
    +        KeAcquireSpinLock(&Timer->Lock, &OldIrql);
    +        
    +        /* Cancel Running Timer */
    +        if (Timer->ApcAssociated) {
    +        
    +            /* 
    +             * First, remove it from the Thread's Active List 
    +             * Get the Thread.
    +             */
    +            TimerThread = CONTAINING_RECORD(Timer->TimerApc.Thread, ETHREAD, Tcb);
    +            DPRINT("Thread already running. Removing from Thread: %x\n", TimerThread);
    +            
    +            /* Lock its active list */
    +            KeAcquireSpinLockAtDpcLevel(&TimerThread->ActiveTimerListLock);
    +            
    +            /* Remove it */
    +            RemoveEntryList(&TimerThread->ActiveTimerListHead);
    +            
    +            /* Unlock the list */
    +            KeReleaseSpinLockFromDpcLevel(&TimerThread->ActiveTimerListLock);
    +            
    +            /* Cancel the Timer */
    +            KeCancelTimer(&Timer->KeTimer);
    +            KeRemoveQueueDpc(&Timer->TimerDpc);
    +            KeRemoveQueueApc(&Timer->TimerApc);
    +            Timer->ApcAssociated = FALSE;
    +            KillTimer = TRUE;
    +            
    +        } else {
    +            
    +            /* If timer was disabled, we still need to cancel it */
    +            DPRINT("No APCs. Simply cancelling\n");
    +            KeCancelTimer(&Timer->KeTimer);
    +        }
    +    
    +        /* Read the State */
    +        State = KeReadStateTimer(&Timer->KeTimer);
     
    -   if(PreviousMode != KernelMode)
    -   {
    -     _SEH_TRY
    -     {
    -       ProbeForRead(DueTime,
    -                    sizeof(LARGE_INTEGER),
    -                    sizeof(ULONG));
    -       TimerDueTime = *DueTime;
    +        /* Handle Wake Timers */
    +        DPRINT("Doing Wake Semantics\n");
    +        KeAcquireSpinLockAtDpcLevel(&ExpWakeListLock);
    +        if (WakeTimer) {
    +        
    +            /* Insert it into the list */
    +            InsertTailList(&ExpWakeList, &Timer->WakeTimerListEntry);
    +        
    +        } else {
    +            
    +            /* Remove it from the list */
    +            RemoveEntryList(&Timer->WakeTimerListEntry);
    +            Timer->WakeTimerListEntry.Flink = NULL;
    +        }
    +        KeReleaseSpinLockFromDpcLevel(&ExpWakeListLock);
    +        
    +        /* Set up the APC Routine if specified */
    +        if (TimerApcRoutine) {
    +            
    +            /* Initialize the APC */
    +            DPRINT("Initializing APC: %x\n", Timer->TimerApc);
    +            KeInitializeApc(&Timer->TimerApc,
    +                            &CurrentThread->Tcb,
    +                            CurrentApcEnvironment,
    +                            &ExpTimerApcKernelRoutine,
    +                            (PKRUNDOWN_ROUTINE)NULL,
    +                            (PKNORMAL_ROUTINE)TimerApcRoutine,
    +                            PreviousMode,
    +                            TimerContext);
    +            
    +            /* Lock the Thread's Active List and Insert */
    +            KeAcquireSpinLockAtDpcLevel(&CurrentThread->ActiveTimerListLock);
    +            InsertTailList(&CurrentThread->ActiveTimerListHead,
    +                           &Timer->ActiveTimerListEntry);
    +            KeReleaseSpinLockFromDpcLevel(&CurrentThread->ActiveTimerListLock);
    +         
    +         }
     
    -       if(PreviousState != NULL)
    -       {
    -         ProbeForWrite(PreviousState,
    -                       sizeof(BOOLEAN),
    -                       sizeof(BOOLEAN));
    -       }
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    +        /* Enable and Set the Timer */
    +        DPRINT("Setting Kernel Timer\n");
    +        KeSetTimerEx(&Timer->KeTimer,
    +                     TimerDueTime,
    +                     Period,
    +                     TimerApcRoutine ? &Timer->TimerDpc : 0);
    +        Timer->ApcAssociated = TimerApcRoutine ? TRUE : FALSE;
    +    
    +        /* Unlock the Timer */
    +        KeReleaseSpinLock(&Timer->Lock, OldIrql);
     
    -     if(!NT_SUCCESS(Status))
    -     {
    -       return Status;
    -     }
    -   }
    +        /* Dereference the Object */
    +        ObDereferenceObject(Timer);
    +        
    +        /* Unlock the Timer */
    +        KeReleaseSpinLock(&Timer->Lock, OldIrql);
    +                
    +        /* Dereference if it was previously enabled */
    +        if (!TimerApcRoutine) ObDereferenceObject(Timer);
    +        if (KillTimer) ObDereferenceObject(Timer);
    +        DPRINT("Finished Setting the Timer\n");
     
    -   Status = ObReferenceObjectByHandle(TimerHandle,
    -				      TIMER_ALL_ACCESS,
    -				      ExTimerType,
    -				      PreviousMode,
    -				      (PVOID*)&Timer,
    -				      NULL);
    -   if (!NT_SUCCESS(Status))
    -     {
    -       return Status;
    -     }
    +        /* Make sure it's safe to write to the handle */
    +        if(PreviousState != NULL) {
    +            _SEH_TRY {
    +                *PreviousState = State;
    +            } _SEH_HANDLE {
    +                Status = _SEH_GetExceptionCode();
    +            } _SEH_END;
    +        }
    +    }
     
    -   State = KeReadStateTimer(&Timer->Timer);
    -
    -   if (Timer->Running == TRUE)
    -     {
    -	/* cancel running timer */
    -	const KIRQL OldIrql = KeRaiseIrqlToDpcLevel();
    -	KeCancelTimer(&Timer->Timer);
    -	KeRemoveQueueDpc(&Timer->Dpc);
    -	KeRemoveQueueApc(&Timer->Apc);
    -	Timer->Running = FALSE;
    -	KeLowerIrql(OldIrql);
    -     }
    -
    -   if (TimerApcRoutine)
    -     {
    -       KeInitializeApc(&Timer->Apc,
    -		       KeGetCurrentThread(),
    -		       OriginalApcEnvironment,
    -		       &ExpTimerApcKernelRoutine,
    -		       (PKRUNDOWN_ROUTINE)NULL,
    -		       (PKNORMAL_ROUTINE)TimerApcRoutine,
    -		       PreviousMode,
    -		       TimerContext);
    -     }
    -
    -   Result = KeSetTimerEx(&Timer->Timer,
    -			 TimerDueTime,
    -			 Period,
    -			 TimerApcRoutine ? &Timer->Dpc : 0 );
    -   if (Result)
    -     {
    -	ObDereferenceObject(Timer);
    -	DPRINT1( "KeSetTimer says the timer was already running, this shouldn't be\n" );
    -	return STATUS_UNSUCCESSFUL;
    -     }
    -
    -   Timer->Running = TRUE;
    -
    -   ObDereferenceObject(Timer);
    -
    -   if (PreviousState != NULL)
    -   {
    -     _SEH_TRY
    -     {
    -       *PreviousState = State;
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    -   }
    -
    -   return Status;
    +    /* Return to Caller */
    +    return Status;
     }
     
     /* EOF */
    diff --git a/reactos/ntoskrnl/ex/uuid.c b/reactos/ntoskrnl/ex/uuid.c
    index 8cdac4f657f..1db7a2a123b 100644
    --- a/reactos/ntoskrnl/ex/uuid.c
    +++ b/reactos/ntoskrnl/ex/uuid.c
    @@ -223,6 +223,8 @@ NtAllocateUuids(OUT PULARGE_INTEGER Time,
       ULARGE_INTEGER IntTime;
       ULONG IntRange;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       ExAcquireFastMutex(&UuidMutex);
     
    @@ -278,6 +280,8 @@ NtAllocateUuids(OUT PULARGE_INTEGER Time,
     NTSTATUS STDCALL
     NtSetUuidSeed(IN PUCHAR Seed)
     {
    +  PAGED_CODE();
    +  
       RtlCopyMemory(UuidSeed,
                     Seed,
                     SEED_BUFFER_SIZE);
    diff --git a/reactos/ntoskrnl/ex/win32k.c b/reactos/ntoskrnl/ex/win32k.c
    index 4cdc21622d8..7fc3ed9a645 100644
    --- a/reactos/ntoskrnl/ex/win32k.c
    +++ b/reactos/ntoskrnl/ex/win32k.c
    @@ -295,7 +295,7 @@ ExpWin32kInit(VOID)
       ExWindowStationObjectType->OkayToClose = NULL;
       ExWindowStationObjectType->Create = ExpWinStaObjectCreate;
       ExWindowStationObjectType->DuplicationNotify = NULL;
    -  RtlRosInitUnicodeStringFromLiteral(&ExWindowStationObjectType->TypeName, L"WindowStation");
    +  RtlInitUnicodeString(&ExWindowStationObjectType->TypeName, L"WindowStation");
     
       ObpCreateTypeObject(ExWindowStationObjectType);
     
    @@ -325,7 +325,7 @@ ExpWin32kInit(VOID)
       ExDesktopObjectType->OkayToClose = NULL;
       ExDesktopObjectType->Create = ExpDesktopObjectCreate;
       ExDesktopObjectType->DuplicationNotify = NULL;
    -  RtlRosInitUnicodeStringFromLiteral(&ExDesktopObjectType->TypeName, L"Desktop");
    +  RtlInitUnicodeString(&ExDesktopObjectType->TypeName, L"Desktop");
     
       ObpCreateTypeObject(ExDesktopObjectType);
     }
    diff --git a/reactos/ntoskrnl/fs/notify.c b/reactos/ntoskrnl/fs/notify.c
    index 401dce9252d..837ed5a6c24 100644
    --- a/reactos/ntoskrnl/fs/notify.c
    +++ b/reactos/ntoskrnl/fs/notify.c
    @@ -5,13 +5,140 @@
      * FILE:            ntoskrnl/fs/notify.c
      * PURPOSE:         No purpose listed.
      *
    - * PROGRAMMERS:     No programmer listed.
    + * PROGRAMMERS:     Gunnar Dalsnes
      */
     
     #include 
    -#define NDEBUG
    +
    +//#define NDEBUG
     #include 
     
    +
    +PAGED_LOOKASIDE_LIST    NotifyEntryLookaside;
    +
    +#define FSRTL_NOTIFY_TAG TAG('N','O','T','I')
    +
    +typedef struct _NOTIFY_ENTRY
    +{
    +   LIST_ENTRY ListEntry;
    +   PSTRING FullDirectoryName;
    +   BOOLEAN WatchTree;
    +   BOOLEAN IgnoreBuffer;
    +   BOOLEAN PendingChanges;
    +   ULONG CompletionFilter;
    +   LIST_ENTRY IrpQueue;
    +   PVOID Fcb;
    +   PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback;
    +   PSECURITY_SUBJECT_CONTEXT SubjectContext;
    +   PVOID FsContext;
    +   BOOLEAN Unicode;
    +   BOOLEAN BufferExhausted;
    +   PVOID Buffer; /* Buffer == NULL equals IgnoreBuffer == TRUE */
    +   ULONG BufferSize;   
    +   ULONG NextEntryOffset;   
    +   PFILE_NOTIFY_INFORMATION PrevEntry;
    +} NOTIFY_ENTRY, *PNOTIFY_ENTRY;
    +
    +
    +/**********************************************************************
    + * NAME                    PRIVATE
    + * FsRtlpInitNotifyImplementation
    + *
    + */
    +VOID
    +STDCALL INIT_FUNCTION
    +FsRtlpInitNotifyImplementation(VOID)
    +{
    +   ExInitializePagedLookasideList( &NotifyEntryLookaside,
    +                                    NULL,
    +                                    NULL,
    +                                    0,
    +                                    sizeof(NOTIFY_ENTRY),
    +                                    FSRTL_NOTIFY_TAG,
    +                                    0
    +                                    );
    +
    +   
    +}
    +
    +
    +
    +static
    +inline
    +BOOLEAN
    +FsRtlpIsUnicodePath(
    +   PSTRING Path
    +   )
    +{
    +   ASSERT(Path->Length);
    +   
    +   if (Path->Length == 1) return FALSE; 
    +    
    +   if (*(WCHAR*)Path->Buffer == '\\') return TRUE;
    +   
    +   return FALSE;
    +}
    +
    +
    +/**********************************************************************
    + * NAME                    PRIVATE
    + * FsRtlpNotifyCancelRoutine
    + *
    + */
    +static
    +VOID
    +STDCALL 
    +FsRtlpNotifyCancelRoutine(
    +   IN PDEVICE_OBJECT DeviceObject, 
    +   IN PIRP Irp
    +   )
    +{
    +   PFAST_MUTEX Lock;
    +
    +   //don't need this since we have our own sync. protecting irp cancellation
    +   IoReleaseCancelSpinLock(Irp->CancelIrql); 
    +
    +   Lock = (PFAST_MUTEX)Irp->Tail.Overlay.DriverContext[3];
    +
    +   ExAcquireFastMutex(Lock );
    +   
    +   RemoveEntryList(&Irp->Tail.Overlay.ListEntry);
    +   
    +   ExReleaseFastMutex(Lock);
    +
    +   Irp->IoStatus.Status = STATUS_CANCELLED;
    +   Irp->IoStatus.Information = 0;
    +
    +   IoCompleteRequest(Irp, IO_NO_INCREMENT);
    +   
    +}
    +
    +
    +
    +static
    +PNOTIFY_ENTRY
    +FASTCALL
    +FsRtlpFindNotifyEntry(
    +   PLIST_ENTRY NotifyList,
    +   PVOID FsContext
    +   )
    +{
    +   PLIST_ENTRY EnumEntry;
    +   PNOTIFY_ENTRY NotifyEntry;
    +   
    +   LIST_FOR_EACH(EnumEntry, NotifyList)
    +   {
    +      NotifyEntry = CONTAINING_RECORD(EnumEntry, NOTIFY_ENTRY, ListEntry);
    +      
    +      if (NotifyEntry->FsContext == FsContext)
    +      {
    +         return NotifyEntry;
    +      }
    +   }
    +
    +   return NULL;   
    +}
    +
     /**********************************************************************
      * NAME							EXPORTED
      *	FsRtlNotifyChangeDirectory@28
    @@ -57,7 +184,8 @@ FsRtlNotifyChangeDirectory (
      *	FsRtlNotifyCleanup@12
      *
      * DESCRIPTION
    - *	
    + *	 Called by FSD when all handles to FileObject (identified by FsContext) are closed
    + *
      * ARGUMENTS
      *
      * RETURN VALUE
    @@ -72,6 +200,61 @@ FsRtlNotifyCleanup (
     	IN	PVOID		FsContext
     	)
     {
    +   PNOTIFY_ENTRY NotifyEntry;
    +   LIST_ENTRY CompletedListHead;
    +   PLIST_ENTRY TmpEntry;
    +   PIRP Irp;
    +   
    +   InitializeListHead(&CompletedListHead);
    +   
    +   ExAcquireFastMutex((PFAST_MUTEX)NotifySync);   
    +   
    +   NotifyEntry = FsRtlpFindNotifyEntry(NotifyList, FsContext);
    +   
    +   if (NotifyEntry)
    +   {
    +      /* free buffered changes */
    +      if (NotifyEntry->Buffer)
    +      {
    +         ExFreePool(NotifyEntry->Buffer);
    +      }
    +
    +      /* cancel(?) pending irps */
    +      while (!IsListEmpty(&NotifyEntry->IrpQueue))
    +      {
    +         TmpEntry = RemoveHeadList(&NotifyEntry->IrpQueue);
    +         Irp = CONTAINING_RECORD(TmpEntry , IRP, Tail.Overlay.ListEntry);
    +
    +         /* irp cancelation bolilerplate */
    +         if (!IoSetCancelRoutine(Irp, NULL))
    +         {  
    +            //The cancel routine will be called. When we release the lock it will complete the irp.
    +            InitializeListHead(&Irp->Tail.Overlay.ListEntry);
    +            continue;
    +         }
    +
    +         Irp->IoStatus.Status = STATUS_NOTIFY_CLEANUP; /* FIXME: correct status? */
    +         Irp->IoStatus.Information = 0;
    +
    +         /* avoid holding lock while completing irp */
    +         InsertTailList(&CompletedListHead, &Irp->Tail.Overlay.ListEntry);
    +      }
    +         
    +      /* Unlink and free the NotifyStruct */
    +      RemoveEntryList(&NotifyEntry->ListEntry);
    +      ExFreeToPagedLookasideList(&NotifyEntryLookaside, NotifyEntry);
    +   }
    +   
    +   ExReleaseFastMutex((PFAST_MUTEX)NotifySync);
    +   
    +   /* complete defered irps */
    +   while (!IsListEmpty(&CompletedListHead)) 
    +   {
    +      TmpEntry = RemoveHeadList(&CompletedListHead);
    +      Irp = CONTAINING_RECORD(TmpEntry , IRP, Tail.Overlay.ListEntry);
    +      IoCompleteRequest(Irp, IO_NO_INCREMENT);     
    +   }
    +   
     }
     
     
    @@ -119,6 +302,77 @@ FsRtlNotifyFilterReportChange (
     }
     
     
    +
    +static
    +VOID
    +FASTCALL
    +FsRtlpWatchedDirectoryWasDeleted(
    +   IN PNOTIFY_SYNC         NotifySync,
    +   IN PLIST_ENTRY       NotifyList,
    +   IN PVOID          Fcb
    +   )
    +{
    +   LIST_ENTRY CompletedListHead;
    +   PLIST_ENTRY EnumEntry, TmpEntry;
    +   PNOTIFY_ENTRY NotifyEntry;
    +   PIRP Irp;
    +   
    +   InitializeListHead(&CompletedListHead);
    +   
    +   ExAcquireFastMutex((PFAST_MUTEX)NotifySync);
    +
    +   LIST_FOR_EACH_SAFE(EnumEntry, NotifyList, NotifyEntry, NOTIFY_ENTRY, ListEntry )
    +   {
    +      if (NotifyEntry->Fcb == Fcb)
    +      {
    +         RemoveEntryList(&NotifyEntry->ListEntry);         
    +         
    +         /* free buffered changes */
    +         if (NotifyEntry->Buffer)
    +         {
    +            ExFreePool(NotifyEntry->Buffer);
    +         }
    +         
    +         /* cleanup pending irps */
    +         while (!IsListEmpty(&NotifyEntry->IrpQueue))
    +         {
    +            TmpEntry = RemoveHeadList(&NotifyEntry->IrpQueue);
    +            Irp = CONTAINING_RECORD(TmpEntry , IRP, Tail.Overlay.ListEntry);
    +
    +            /* irp cancelation bolilerplate */
    +            if (!IoSetCancelRoutine(Irp, NULL))
    +            {  
    +               //The cancel routine will be called. When we release the lock it will complete the irp.
    +               InitializeListHead(&Irp->Tail.Overlay.ListEntry);
    +               continue;
    +            }
    +            
    +            Irp->IoStatus.Status = STATUS_DELETE_PENDING;
    +            Irp->IoStatus.Information = 0;
    +         
    +            /* avoid holding lock while completing irp */
    +            InsertTailList(&CompletedListHead, &Irp->Tail.Overlay.ListEntry);
    +         }
    +      }
    +   }
    +   
    +   ExReleaseFastMutex((PFAST_MUTEX)NotifySync);   
    +   
    +   /* complete defered irps */
    +   while (!IsListEmpty(&CompletedListHead)) 
    +   {
    +      TmpEntry = RemoveHeadList(&CompletedListHead);
    +      Irp = CONTAINING_RECORD(TmpEntry , IRP, Tail.Overlay.ListEntry);
    +      IoCompleteRequest(Irp, IO_NO_INCREMENT);     
    +   }
    +   
    +}
    +
    +
    +
    +
    +
    +
     /**********************************************************************
      * NAME							EXPORTED
      *	FsRtlNotifyFullChangeDirectory@40
    @@ -137,20 +391,230 @@ FsRtlNotifyFullChangeDirectory (
     	IN	PNOTIFY_SYNC			NotifySync,
     	IN	PLIST_ENTRY			NotifyList,
     	IN	PVOID				FsContext,
    -	IN	PSTRING				FullDirectoryName,
    -	IN	BOOLEAN				WatchTree,
    -	IN	BOOLEAN				IgnoreBuffer,
    -	IN	ULONG				CompletionFilter,
    -	IN	PIRP				NotifyIrp,
    -	IN	PCHECK_FOR_TRAVERSE_ACCESS	TraverseCallback	OPTIONAL,
    +   IN PSTRING           FullDirectoryName,
    +   IN BOOLEAN           WatchTree,
    +   IN BOOLEAN           IgnoreBuffer,
    +   IN ULONG          CompletionFilter,
    +   IN PIRP           NotifyIrp,
    +   IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback  OPTIONAL,
     	IN	PSECURITY_SUBJECT_CONTEXT	SubjectContext		OPTIONAL
     	)
     {
    -#if defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1300)
    -	DbgPrint("%s()\n", __FUNCTION__);
    -#else
    -	DbgPrint("FsRtlNotifyFullChangeDirectory()\n");
    -#endif
    +   PIO_STACK_LOCATION IrpStack;   
    +   PNOTIFY_ENTRY NotifyEntry;
    +   ULONG IrpBuffLen;
    +   
    +   if (!NotifyIrp)
    +   {
    +      /* all other params are ignored if NotifyIrp == NULL */
    +      FsRtlpWatchedDirectoryWasDeleted(NotifySync, NotifyList, FsContext);
    +      return;
    +   }
    +   
    +   DPRINT("FullDirectoryName: %wZ\n", FullDirectoryName);
    +   
    +   ExAcquireFastMutex((PFAST_MUTEX)NotifySync);
    +   
    +   IrpStack = IoGetCurrentIrpStackLocation(NotifyIrp);
    +   if (IrpStack->FileObject->Flags & FO_CLEANUP_COMPLETE)
    +   {
    +      ExReleaseFastMutex((PFAST_MUTEX)NotifySync);
    +      
    +      NotifyIrp->IoStatus.Information = 0;
    +      NotifyIrp->IoStatus.Status = STATUS_NOTIFY_CLEANUP;
    +      IoCompleteRequest(NotifyIrp, IO_NO_INCREMENT);
    +      return;       
    +   }
    +   
    +   IrpBuffLen = IrpStack->Parameters.NotifyDirectory.Length;
    +   
    +   NotifyEntry = FsRtlpFindNotifyEntry(NotifyList, FsContext);
    +
    +   if (!NotifyEntry)
    +   {
    +      /* No NotifyStruct for this FileObject existed */
    +      
    +      /* The first request for this FileObject set the standards.
    +       * For subsequent requests, these params will be ignored.
    +       * Ref: Windows NT File System Internals page 516
    +       */
    +      
    +      NotifyEntry = ExAllocateFromPagedLookasideList(&NotifyEntryLookaside);
    +      
    +      RtlZeroMemory(NotifyEntry, sizeof(NOTIFY_ENTRY));
    +      
    +      NotifyEntry->FsContext = FsContext;
    +      NotifyEntry->FullDirectoryName = FullDirectoryName;
    +      NotifyEntry->WatchTree = WatchTree;
    +      NotifyEntry->CompletionFilter = CompletionFilter;
    +      NotifyEntry->TraverseCallback = TraverseCallback;
    +      NotifyEntry->SubjectContext = SubjectContext;
    +      NotifyEntry->Fcb = IrpStack->FileObject->FsContext;
    +      NotifyEntry->Unicode = FsRtlpIsUnicodePath(FullDirectoryName);
    +
    +      /* Init. buffer */
    +      if (IrpBuffLen && !IgnoreBuffer)
    +      {
    +         _SEH_TRY
    +         {
    +            NotifyEntry->Buffer = ExAllocatePoolWithQuotaTag(
    +               PagedPool,
    +               IrpBuffLen,
    +               FSRTL_NOTIFY_TAG
    +               );
    +               
    +            NotifyEntry->PrevEntry = NotifyEntry->Buffer;   
    +            NotifyEntry->BufferSize = IrpBuffLen;
    +         }
    +         _SEH_HANDLE
    +         {
    +            /* ExAllocatePoolWithQuotaTag raised exception */
    +         }
    +         _SEH_END;
    +      }
    +
    +      InitializeListHead(&NotifyEntry->IrpQueue);
    +      
    +      InsertTailList(NotifyList, &NotifyEntry->ListEntry);
    +   }
    +   
    + 
    + 
    +   if (!NotifyEntry->PendingChanges)
    +   {
    +      /* No changes are pending. Queue the irp */
    +
    +      /* Irp cancelation boilerplate */
    +      IoSetCancelRoutine(NotifyIrp, FsRtlpNotifyCancelRoutine);
    +      if (NotifyIrp->Cancel && IoSetCancelRoutine(NotifyIrp, NULL))
    +      {              
    +         //irp was canceled
    +         ExReleaseFastMutex((PFAST_MUTEX)NotifySync);
    +
    +         NotifyIrp->IoStatus.Status = STATUS_CANCELLED;
    +         NotifyIrp->IoStatus.Information = 0;
    +
    +         IoCompleteRequest(NotifyIrp, IO_NO_INCREMENT);
    +         return;
    +      }
    +
    +      IoMarkIrpPending(NotifyIrp);
    +
    +      //FIXME: any point in setting irp status/information before queueing?
    +      
    +      /* save NotifySych for use in the cancel routine */
    +      NotifyIrp->Tail.Overlay.DriverContext[3] = NotifySync;
    +      InsertTailList(&NotifyEntry->IrpQueue, &NotifyIrp->Tail.Overlay.ListEntry);
    +
    +      ExReleaseFastMutex((PFAST_MUTEX)NotifySync);
    +      return;
    +   }
    +
    +   
    +   /* Pending changes exist */
    +   
    +   if (NotifyEntry->Buffer == NULL || 
    +       NotifyEntry->BufferExhausted ||
    +       IrpBuffLen < NotifyEntry->NextEntryOffset)
    +   {
    +      /*
    +      Can't return detailed changes to user cause:
    +      -No buffer exist, OR
    +      -Buffer were overflowed, OR
    +      -Current irp buff was not large enough
    +      */
    +     
    +      NotifyIrp->IoStatus.Information = 0;
    +      NotifyIrp->IoStatus.Status = STATUS_NOTIFY_ENUM_DIR;
    +
    +   }
    +   else
    +   {
    +      /* terminate last entry */
    +      NotifyEntry->PrevEntry->NextEntryOffset = 0;
    +      
    +      //FIXME: copy data correctly to user
    +      memcpy(NotifyIrp->UserBuffer, NotifyEntry->Buffer, NotifyEntry->NextEntryOffset);
    +
    +      NotifyIrp->IoStatus.Information = NotifyEntry->NextEntryOffset;
    +      NotifyIrp->IoStatus.Status = STATUS_SUCCESS;
    +   }
    +   
    +   /* reset buffer */
    +   NotifyEntry->PrevEntry = NotifyEntry->Buffer; 
    +   NotifyEntry->NextEntryOffset = 0;
    +   NotifyEntry->BufferExhausted = FALSE;
    +   
    +   NotifyEntry->PendingChanges = FALSE;
    +
    +   ExReleaseFastMutex((PFAST_MUTEX)NotifySync);
    +   
    +   IoCompleteRequest(NotifyIrp, IO_NO_INCREMENT);
    +}
    +
    +
    +
    +static
    +PIRP
    +FASTCALL
    +FsRtlpGetNextIrp(PNOTIFY_ENTRY NotifyEntry)
    +{
    +   PIRP Irp;
    +   PLIST_ENTRY TmpEntry;   
    +   
    +   /* Loop to get a non-canceled irp */
    +   while (!IsListEmpty(&NotifyEntry->IrpQueue))
    +   {
    +      /* If we have queued irp(s) we can't possibly have pending changes too */
    +      ASSERT(!NotifyEntry->PendingChanges);
    +         
    +      TmpEntry = RemoveHeadList(&NotifyEntry->IrpQueue);
    +      Irp = CONTAINING_RECORD(TmpEntry , IRP, Tail.Overlay.ListEntry);
    +
    +      /* irp cancelation bolilerplate */
    +      if (!IoSetCancelRoutine(Irp, NULL))
    +      {  
    +         //The cancel routine will be called. When we release the lock it will complete the irp.
    +         InitializeListHead(&Irp->Tail.Overlay.ListEntry);
    +         continue;
    +      }
    +
    +      /* Finally we got a non-canceled irp */
    +      return Irp;            
    +   }
    +   
    +   return NULL;
    +}
    +   
    +   
    +static
    +inline
    +VOID
    +FsRtlpCopyName(
    +   PFILE_NOTIFY_INFORMATION CurrentEntry,
    +   BOOLEAN Unicode,
    +   PSTRING RelativeName,
    +   PSTRING StreamName
    +   )
    +{
    +   /* Buffer size is allready probed, so just copy the data */
    +
    +   if (Unicode)
    +   {
    +      memcpy(CurrentEntry->Name, RelativeName->Buffer, RelativeName->Length);
    +      if (StreamName)
    +      {
    +         CurrentEntry->Name[RelativeName->Length/sizeof(WCHAR)] = ':';
    +         memcpy(&CurrentEntry ->Name[(RelativeName->Length/sizeof(WCHAR))+1], 
    +            StreamName->Buffer,
    +            StreamName->Length);
    +      }
    +   }
    +   else
    +   {
    +      //FIXME: convert to unicode etc.
    +      DPRINT1("FIXME: ansi strings in notify impl. not supported yet\n");
    +   }
     }
     
     
    @@ -171,15 +635,202 @@ STDCALL
     FsRtlNotifyFullReportChange (
     	IN	PNOTIFY_SYNC	NotifySync,
     	IN	PLIST_ENTRY	NotifyList,
    -	IN	PSTRING		FullTargetName,
    -	IN	USHORT		TargetNameOffset,
    +	IN	PSTRING		FullTargetName, /* can include short names! */
    +	IN	USHORT		TargetNameOffset, /* in bytes */
     	IN	PSTRING		StreamName		OPTIONAL,
    -	IN	PSTRING		NormalizedParentName	OPTIONAL,
    +   IN PSTRING     NormalizedParentName OPTIONAL, /* same as FullTargetName, but with long names */
     	IN	ULONG		FilterMatch,
     	IN	ULONG		Action,
     	IN	PVOID		TargetContext
     	)
     {
    +   USHORT FullDirLen;
    +   STRING RelativeName;
    +   PLIST_ENTRY EnumEntry;
    +   PNOTIFY_ENTRY NotifyEntry;
    +   PIRP Irp;
    +   LIST_ENTRY CompletedListHead;
    +   USHORT NameLenU;
    +   ULONG RecordLen;
    +   PFILE_NOTIFY_INFORMATION CurrentEntry;
    +   
    +   InitializeListHead(&CompletedListHead);
    +
    +   DPRINT("FullTargetName: %wZ\n", FullTargetName);
    +
    +   /*
    +   I think FullTargetName can include/be a short file name! What the heck do i do with this?
    +   Dont think this apply to FsRtlNotifyFullChangeDirectory's FullDirectoryName.
    +   */
    +   
    +
    +   
    +
    +   ExAcquireFastMutex((PFAST_MUTEX)NotifySync);   
    +
    +   LIST_FOR_EACH_SAFE(EnumEntry, NotifyList, NotifyEntry, NOTIFY_ENTRY, ListEntry )
    +   {
    +      ASSERT(NotifyEntry->Unicode == FsRtlpIsUnicodePath(FullTargetName));
    +         
    +      /* rule out some easy cases */
    +      /* FIXME: short vs. long names??? */
    +      if (!(FilterMatch & NotifyEntry->CompletionFilter)) continue;
    +      
    +      FullDirLen = TargetNameOffset - (NotifyEntry->Unicode?sizeof(WCHAR):sizeof(char));
    +      
    +      
    +      if (FullDirLen < NotifyEntry->FullDirectoryName->Length) continue;
    +      
    +      if (!NotifyEntry->WatchTree && FullDirLen != NotifyEntry->FullDirectoryName->Length) continue;
    +
    +      DPRINT("NotifyEntry->FullDirectoryName: %wZ\n", NotifyEntry->FullDirectoryName);
    +      
    +      if (memcmp(NotifyEntry->FullDirectoryName->Buffer, 
    +            FullTargetName->Buffer, 
    +            NotifyEntry->FullDirectoryName->Length) != 0) continue;
    +      
    +
    +      if (NotifyEntry->WatchTree && 
    +          NotifyEntry->TraverseCallback &&
    +          FullDirLen != NotifyEntry->FullDirectoryName->Length)
    +      {
    +         /* change happend in a subdir. ask caller if we are allowed in here */
    +         NTSTATUS Status = NotifyEntry->TraverseCallback(NotifyEntry->FsContext,
    +                                                         TargetContext,
    +                                                         NotifyEntry->SubjectContext);
    +         
    +         if (!NT_SUCCESS(Status)) continue;
    +         
    +         /*
    +         FIXME: notify-dir impl. should release and free the SubjectContext
    +         */
    +      }
    +
    +      DPRINT("Found match\n");
    +      
    +      /* Found a valid change */
    +
    +      RelativeName.Buffer = FullTargetName->Buffer + TargetNameOffset;
    +      RelativeName.MaximumLength = 
    +         RelativeName.Length = 
    +         FullTargetName->Length - TargetNameOffset;
    +      
    +      DPRINT("RelativeName: %wZ\n",&RelativeName);
    +      
    +      /* calculate unicode bytes of relative-name + stream-name */
    +      if (NotifyEntry->Unicode)
    +      {
    +         NameLenU = RelativeName.Length + (StreamName ? (StreamName->Length + sizeof(WCHAR)) : 0);
    +      }
    +      else
    +      {
    +         NameLenU = RelativeName.Length * sizeof(WCHAR) + 
    +            (StreamName ? ((StreamName->Length * sizeof(WCHAR)) + sizeof(WCHAR)) : 0);
    +      }
    +      
    +      RecordLen = FIELD_OFFSET(FILE_NOTIFY_INFORMATION, Name) + NameLenU;
    +      
    +      if ((Irp = FsRtlpGetNextIrp(NotifyEntry)))
    +      {
    +         PIO_STACK_LOCATION IrpStack;
    +         ULONG IrpBuffLen;
    +         
    +         IrpStack = IoGetCurrentIrpStackLocation(Irp);
    +         IrpBuffLen = IrpStack->Parameters.NotifyDirectory.Length;
    +         
    +         DPRINT("Got pending irp\n");
    +         
    +         ASSERT(!NotifyEntry->PendingChanges);
    +         
    +         if (NotifyEntry->Buffer == NULL || /* aka. IgnoreBuffer */ 
    +             RecordLen > IrpBuffLen)
    +         {
    +            /* ignore buffer / buffer not large enough */
    +            Irp->IoStatus.Status = STATUS_NOTIFY_ENUM_DIR;
    +            Irp->IoStatus.Information = 0;
    +         }
    +         else
    +         {
    +            //FIXME: copy data to user correctly
    +            CurrentEntry = (PFILE_NOTIFY_INFORMATION)Irp->UserBuffer;
    +            
    +            CurrentEntry->Action = Action; 
    +            CurrentEntry->NameLength = NameLenU;
    +            CurrentEntry->NextEntryOffset = 0;
    +
    +            FsRtlpCopyName(
    +                  CurrentEntry,
    +                  NotifyEntry->Unicode,
    +                  &RelativeName,
    +                  StreamName
    +                  );
    +
    +            Irp->IoStatus.Status = STATUS_SUCCESS;
    +            Irp->IoStatus.Information = RecordLen;
    +         }
    +         
    +         /* avoid holding lock while completing irp */
    +         InsertTailList(&CompletedListHead, &Irp->Tail.Overlay.ListEntry);
    +      }
    +      else
    +      {
    +         DPRINT("No irp\n");
    +         
    +         NotifyEntry->PendingChanges = TRUE;
    +
    +         if (NotifyEntry->Buffer == NULL || NotifyEntry->BufferExhausted) continue;
    +         
    +         if (RecordLen > NotifyEntry->BufferSize - NotifyEntry->NextEntryOffset)
    +         {
    +            /* overflow. drop these changes and stop buffering any other changes too */
    +            NotifyEntry->BufferExhausted = TRUE;
    +            continue;
    +         }
    +
    +         /* The buffer has enough room for the changes.
    +          * Copy data to buffer.
    +          */
    +         
    +         CurrentEntry = (PFILE_NOTIFY_INFORMATION)NotifyEntry->Buffer;
    +            
    +         CurrentEntry->Action = Action; 
    +         CurrentEntry->NameLength = NameLenU;
    +         CurrentEntry->NextEntryOffset = 0;
    +
    +         FsRtlpCopyName(CurrentEntry,
    +                      NotifyEntry->Unicode,
    +                      &RelativeName,
    +                      StreamName
    +                      );
    +         
    +         /* adjust buffer */
    +         NotifyEntry->PrevEntry->NextEntryOffset = (char*)CurrentEntry - (char*)NotifyEntry->PrevEntry;
    +         NotifyEntry->PrevEntry = CurrentEntry;
    +         NotifyEntry->NextEntryOffset += RecordLen;
    + 
    +
    +//         {
    +//            UNICODE_STRING TmpStr;
    +//            TmpStr.Buffer = BufferedChange->RelativeName;
    +//            TmpStr.MaximumLength = TmpStr.Length = BufferedChange->NameLen;
    +//            DPRINT("BufferedChange->RelativeName: %wZ\n", &TmpStr);
    +//         }
    +         
    +
    +      }
    +   }
    +
    +   ExReleaseFastMutex((PFAST_MUTEX)NotifySync);
    +   
    +   /* complete defered irps */
    +   while (!IsListEmpty(&CompletedListHead)) 
    +   {
    +      EnumEntry = RemoveHeadList(&CompletedListHead);
    +      Irp = CONTAINING_RECORD(EnumEntry, IRP, Tail.Overlay.ListEntry);
    +      
    +      IoCompleteRequest(Irp, IO_NO_INCREMENT);     
    +   }
    +   
     }
     
     
    @@ -198,25 +849,11 @@ FsRtlNotifyFullReportChange (
     VOID
     STDCALL
     FsRtlNotifyInitializeSync (
    -    IN  PNOTIFY_SYNC NotifySync
    +    IN  PNOTIFY_SYNC *NotifySync
     	)
     {
    -#if 0
    -    *NotifySync = NULL;
    -    *NotifySync = ExAllocatePoolWithTag (
    -			0x10,			// PoolType???
    -			sizeof (NOTIFY_SYNC),	// NumberOfBytes = 0x28
    -			FSRTL_TAG
    -			);
    -
    -    *NotifySync->Unknown0 = 1;
    -    *NotifySync->Unknown2 = 0;
    -    *NotifySync->Unknown3 = 1;
    -    *NotifySync->Unknown4 = 4;
    -    *NotifySync->Unknown5 = 0;
    -    *NotifySync->Unknown9 = 0;
    -    *NotifySync->Unknown10 = 0;
    -#endif
    +   *NotifySync = ExAllocatePoolWithTag(NonPagedPool, sizeof(FAST_MUTEX), FSRTL_NOTIFY_TAG );
    +   ExInitializeFastMutex((PFAST_MUTEX)*NotifySync);
     }
     
     
    @@ -246,11 +883,11 @@ FsRtlNotifyReportChange (
     		NotifySync,
     		NotifyList,
     		FullTargetName,
    -		(FullTargetName->Length - *FileNamePartLength), /*?*/
    +		(FullTargetName->Length - *FileNamePartLength),
     		NULL,
     		NULL,
     		FilterMatch,
    -		0, /* Action ? */
    +		0,
     		NULL
     		);
     }
    @@ -276,16 +913,10 @@ FsRtlNotifyReportChange (
     VOID
     STDCALL
     FsRtlNotifyUninitializeSync (
    -    IN OUT PNOTIFY_SYNC NotifySync
    +    IN PNOTIFY_SYNC NotifySync
     	)
     {
    -#if 0
    -    if (NULL != *NotifySync) 
    -	{
    -        ExFreePool (*NotifySync);
    -        *NotifySync = NULL;
    -	}
    -#endif
    +   ExFreePool (NotifySync);
     }
     
     /**********************************************************************
    diff --git a/reactos/ntoskrnl/include/internal/ex.h b/reactos/ntoskrnl/include/internal/ex.h
    index 44e5a5aeeac..3596bfe2420 100644
    --- a/reactos/ntoskrnl/include/internal/ex.h
    +++ b/reactos/ntoskrnl/include/internal/ex.h
    @@ -17,6 +17,8 @@ typedef enum
     
     typedef struct _WINSTATION_OBJECT
     {
    +  PVOID SharedHeap; /* points to kmode memory! */
    +
       CSHORT Type;
       CSHORT Size;
       KSPIN_LOCK Lock;
    @@ -44,6 +46,8 @@ typedef struct _WINSTATION_OBJECT
     
     typedef struct _DESKTOP_OBJECT
     {
    +  PVOID DesktopHeap; /* points to kmode memory! */
    +
       CSHORT Type;
       CSHORT Size;
       LIST_ENTRY ListEntry;
    @@ -120,6 +124,9 @@ ExfpInterlockedExchange64(LONGLONG volatile * Destination,
     NTSTATUS
     ExpSetTimeZoneInformation(PTIME_ZONE_INFORMATION TimeZoneInformation);
     
    +NTSTATUS
    +ExpAllocateLocallyUniqueId(OUT LUID *LocallyUniqueId);
    +
     #define InterlockedDecrementUL(Addend) \
        (ULONG)InterlockedDecrement((PLONG)(Addend))
     
    diff --git a/reactos/ntoskrnl/include/internal/ifs.h b/reactos/ntoskrnl/include/internal/ifs.h
    index 812d37f86ab..18543b41226 100644
    --- a/reactos/ntoskrnl/include/internal/ifs.h
    +++ b/reactos/ntoskrnl/include/internal/ifs.h
    @@ -8,6 +8,11 @@
     /* Look for "FSrt" in mem view */
     #define IFS_POOL_TAG 0x74725346
     
    +VOID
    +STDCALL INIT_FUNCTION
    +FsRtlpInitNotifyImplementation(VOID);
    +
    +
     VOID STDCALL
     FsRtlpInitFileLockingImplementation(VOID);
     
    diff --git a/reactos/ntoskrnl/include/internal/io.h b/reactos/ntoskrnl/include/internal/io.h
    index 823c153c197..b23f6121742 100644
    --- a/reactos/ntoskrnl/include/internal/io.h
    +++ b/reactos/ntoskrnl/include/internal/io.h
    @@ -426,6 +426,11 @@ IopBootLog(PUNICODE_STRING DriverName, BOOLEAN Success);
     VOID
     IopSaveBootLogToFile(VOID);
     
    +/* cancel.c */
    +
    +VOID STDCALL
    +IoCancelThreadIo(PETHREAD Thread);
    +
     /* errlog.c */
     
     NTSTATUS
    diff --git a/reactos/ntoskrnl/include/internal/ke.h b/reactos/ntoskrnl/include/internal/ke.h
    index 14ba678b188..e9e78f6d9ef 100644
    --- a/reactos/ntoskrnl/include/internal/ke.h
    +++ b/reactos/ntoskrnl/include/internal/ke.h
    @@ -142,6 +142,8 @@ VOID STDCALL KiDeleteProfile(PVOID ObjectBody);
     VOID STDCALL KeUpdateSystemTime(PKTRAP_FRAME TrapFrame, KIRQL Irql);
     VOID STDCALL KeUpdateRunTime(PKTRAP_FRAME TrapFrame, KIRQL Irql);
     
    +VOID STDCALL KiExpireTimers(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2);
    +
     KIRQL KeAcquireDispatcherDatabaseLock(VOID);
     VOID KeAcquireDispatcherDatabaseLockAtDpcLevel(VOID);
     VOID KeReleaseDispatcherDatabaseLock(KIRQL Irql);
    @@ -193,7 +195,7 @@ VOID KeInitTimer(VOID);
     VOID KeInitDpc(struct _KPCR* Pcr);
     VOID KeInitDispatcher(VOID);
     VOID KeInitializeDispatcher(VOID);
    -VOID KeInitializeTimerImpl(VOID);
    +VOID KiInitializeSystemClock(VOID);
     VOID KeInitializeBugCheck(VOID);
     VOID Phase1Initialization(PVOID Context);
     
    diff --git a/reactos/ntoskrnl/include/internal/mm.h b/reactos/ntoskrnl/include/internal/mm.h
    index cf40567a127..31b0cac99dd 100644
    --- a/reactos/ntoskrnl/include/internal/mm.h
    +++ b/reactos/ntoskrnl/include/internal/mm.h
    @@ -563,6 +563,8 @@ NTSTATUS MmSafeCopyFromUser(PVOID Dest, const VOID *Src, ULONG Count);
     
     NTSTATUS MmSafeCopyToUser(PVOID Dest, const VOID *Src, ULONG Count);
     
    +PVOID FASTCALL MmSafeReadPtr(PVOID Source);
    +
     /* pageop.c ******************************************************************/
     
     VOID
    diff --git a/reactos/ntoskrnl/include/internal/powerpc/ke.h b/reactos/ntoskrnl/include/internal/powerpc/ke.h
    new file mode 100644
    index 00000000000..3bf20cd3474
    --- /dev/null
    +++ b/reactos/ntoskrnl/include/internal/powerpc/ke.h
    @@ -0,0 +1,140 @@
    +/*
    + *  ReactOS kernel
    + *  Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
    + *
    + *  This program is free software; you can redistribute it and/or modify
    + *  it under the terms of the GNU General Public License as published by
    + *  the Free Software Foundation; either version 2 of the License, or
    + *  (at your option) any later version.
    + *
    + *  This program is distributed in the hope that it will be useful,
    + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    + *  GNU General Public License for more details.
    + *
    + *  You should have received a copy of the GNU General Public License
    + *  along with this program; if not, write to the Free Software
    + *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    + */
    +#ifndef __NTOSKRNL_INCLUDE_INTERNAL_POWERPC_KE_H
    +#define __NTOSKRNL_INCLUDE_INTERNAL_POWERPC_KE_H
    +
    +#if __GNUC__ >=3
    +#pragma GCC system_header
    +#endif
    +
    +/* Possible values for KTHREAD's NpxState */
    +#define NPX_STATE_INVALID   0x01
    +#define NPX_STATE_VALID     0x02
    +#define NPX_STATE_DIRTY     0x04
    +
    +#ifndef __ASM__
    +
    +typedef struct _KTRAP_FRAME
    +{
    +} KTRAP_FRAME, *PKTRAP_FRAME;
    +
    +typedef struct _KIRQ_TRAPFRAME
    +{
    +} KIRQ_TRAPFRAME, *PKIRQ_TRAPFRAME;
    +
    +extern ULONG KePPCCacheAlignment;
    +
    +struct _KPCR;
    +VOID
    +KiInitializeGdt(struct _KPCR* Pcr);
    +VOID
    +KiPPCApplicationProcessorInitializeTSS(VOID);
    +VOID
    +KiPPCBootInitializeTSS(VOID);
    +VOID
    +KiGdtPrepareForApplicationProcessorInit(ULONG Id);
    +VOID
    +KiPPCInitializeLdt(VOID);
    +VOID
    +KiPPCSetProcessorFeatures(VOID);
    +ULONG KeAllocateGdtSelector(ULONG Desc[2]);
    +VOID KeFreeGdtSelector(ULONG Entry);
    +VOID
    +NtEarlyInitVdm(VOID);
    +
    +#ifdef CONFIG_SMP
    +#define LOCK "isync ; "
    +#else
    +#define LOCK ""
    +#endif
    +
    +
    +static inline LONG KePPCTestAndClearBit(ULONG BitPos, volatile PULONG Addr)
    +{
    +    ULONG OldValue, NewValue;
    +
    +    __asm__ __volatile__ ("lwarx %0,0,%1" 
    +                          : "=r" (OldValue), "=r" (*Addr)
    +                          : 
    +                          : "memory");
    +
    +    NewValue = OldValue & ~(1<
     
    +#ifdef DBG
    +#ifndef PAGED_CODE
    +#define PAGED_CODE()                                                           \
    +  do {                                                                         \
    +    if(KeGetCurrentIrql() > APC_LEVEL) {                                       \
    +      DbgPrint("%s:%i: Pagable code called at IRQL > APC_LEVEL (%d)\n",        \
    +               __FILE__, __LINE__, KeGetCurrentIrql());                        \
    +      KEBUGCHECK(0);                                                           \
    +    }                                                                          \
    +  } while(0)
    +#endif
    +#define PAGED_CODE_RTL PAGED_CODE
    +#else
    +#ifndef PAGED_CODE
    +#define PAGED_CODE()
    +#endif
    +#define PAGED_CODE_RTL()
    +#endif
    +
     #endif /* INCLUDE_NTOSKRNL_H */
    diff --git a/reactos/ntoskrnl/io/cancel.c b/reactos/ntoskrnl/io/cancel.c
    index f5c4312eeb9..1ce6919fb34 100644
    --- a/reactos/ntoskrnl/io/cancel.c
    +++ b/reactos/ntoskrnl/io/cancel.c
    @@ -20,12 +20,181 @@ static KSPIN_LOCK CancelSpinLock;
     
     /* FUNCTIONS *****************************************************************/
     
    +/**
    + * @name NtCancelIoFile
    + *
    + * Cancel all pending I/O operations in the current thread for specified 
    + * file object.
    + *
    + * @param FileHandle
    + *        Handle to file object to cancel requests for. No specific
    + *        access rights are needed.
    + * @param IoStatusBlock
    + *        Pointer to status block which is filled with final completition
    + *        status on successful return.
    + *
    + * @return Status.
    + *
    + * @implemented
    + */
    +
     NTSTATUS STDCALL
    -NtCancelIoFile (IN	HANDLE			FileHandle,
    -		OUT	PIO_STATUS_BLOCK	IoStatusBlock)
    +NtCancelIoFile(
    +   IN HANDLE FileHandle,
    +   OUT PIO_STATUS_BLOCK IoStatusBlock)
     {
    -  UNIMPLEMENTED;
    -  return(STATUS_NOT_IMPLEMENTED);
    +   NTSTATUS Status;
    +   PFILE_OBJECT FileObject;
    +   PETHREAD Thread;
    +   PLIST_ENTRY IrpEntry;
    +   PIRP Irp;
    +   KIRQL OldIrql;
    +   BOOLEAN OurIrpsInList = FALSE;
    +   LARGE_INTEGER Interval;
    +
    +   if ((ULONG_PTR)IoStatusBlock >= MmUserProbeAddress &&
    +       KeGetPreviousMode() == UserMode)
    +      return STATUS_ACCESS_VIOLATION;
    +
    +   Status = ObReferenceObjectByHandle(FileHandle, 0, IoFileObjectType,
    +                                      KeGetPreviousMode(), (PVOID*)&FileObject,
    +                                      NULL);
    +   if (!NT_SUCCESS(Status))
    +      return Status;
    +
    +   /* IRP cancellations are synchronized at APC_LEVEL. */
    +   OldIrql = KfRaiseIrql(APC_LEVEL);
    +
    +   /*
    +    * Walk the list of active IRPs and cancel the ones that belong to
    +    * our file object.
    +    */
    +
    +   Thread = PsGetCurrentThread();
    +   for (IrpEntry = Thread->IrpList.Flink;
    +        IrpEntry != &Thread->IrpList;
    +        IrpEntry = IrpEntry->Flink)
    +   {
    +      Irp = CONTAINING_RECORD(IrpEntry, IRP, ThreadListEntry);
    +      if (Irp->Tail.Overlay.OriginalFileObject == FileObject)
    +      {
    +         IoCancelIrp(Irp);
    +         /* Don't break here, we want to cancel all IRPs for the file object. */
    +         OurIrpsInList = TRUE;
    +      }
    +   }   
    +
    +   KfLowerIrql(OldIrql);
    +
    +   while (OurIrpsInList)
    +   {
    +      OurIrpsInList = FALSE;
    +
    +      /* Wait a short while and then look if all our IRPs were completed. */
    +      Interval.QuadPart = -1000000; /* 100 milliseconds */
    +      KeDelayExecutionThread(KernelMode, FALSE, &Interval);
    +
    +      OldIrql = KfRaiseIrql(APC_LEVEL);
    +
    +      /*
    +       * Look in the list if all IRPs for the specified file object
    +       * are completed (or cancelled). If someone sends a new IRP
    +       * for our file object while we're here we can happily loop
    +       * forever.
    +       */
    +
    +      for (IrpEntry = Thread->IrpList.Flink;
    +           IrpEntry != &Thread->IrpList;
    +           IrpEntry = IrpEntry->Flink)
    +      {
    +         Irp = CONTAINING_RECORD(IrpEntry, IRP, ThreadListEntry);
    +         if (Irp->Tail.Overlay.OriginalFileObject == FileObject)
    +         {
    +            OurIrpsInList = TRUE;
    +            break;
    +         }
    +      }
    +
    +      KfLowerIrql(OldIrql);
    +   }
    +
    +   _SEH_TRY
    +   {
    +      IoStatusBlock->Status = STATUS_SUCCESS;
    +      IoStatusBlock->Information = 0;
    +      Status = STATUS_SUCCESS;
    +   }
    +   _SEH_HANDLE
    +   {
    +      Status = STATUS_UNSUCCESSFUL;
    +   }
    +   _SEH_END;
    +
    +   ObDereferenceObject(FileObject);
    +
    +   return Status;
    +}
    +
    +/**
    + * @name IoCancelThreadIo
    + *
    + * Cancel all pending I/O request associated with specified thread.
    + *
    + * @param Thread
    + *        Thread to cancel requests for.
    + */
    +
    +VOID STDCALL
    +IoCancelThreadIo(PETHREAD Thread)
    +{
    +   PLIST_ENTRY IrpEntry;
    +   PIRP Irp;
    +   KIRQL OldIrql;
    +   ULONG Retries = 3000;
    +   LARGE_INTEGER Interval;
    +
    +   OldIrql = KfRaiseIrql(APC_LEVEL);
    +
    +   /*
    +    * Start by cancelling all the IRPs in the current thread queue.
    +    */
    +
    +   for (IrpEntry = Thread->IrpList.Flink;
    +        IrpEntry != &Thread->IrpList;
    +        IrpEntry = IrpEntry->Flink)
    +   {
    +      Irp = CONTAINING_RECORD(IrpEntry, IRP, ThreadListEntry);
    +      IoCancelIrp(Irp);
    +   }
    +
    +   /*
    +    * Wait till all the IRPs are completed or cancelled.
    +    */
    +
    +   while (!IsListEmpty(&Thread->IrpList))
    +   {
    +      KfLowerIrql(OldIrql);
    +
    +      /* Wait a short while and then look if all our IRPs were completed. */
    +      Interval.QuadPart = -1000000; /* 100 milliseconds */
    +      KeDelayExecutionThread(KernelMode, FALSE, &Interval);
    +
    +      /*
    +       * Don't stay here forever if some broken driver doesn't complete
    +       * the IRP.
    +       */
    +
    +      if (Retries-- == 0)
    +      {
    +         /* FIXME: Handle this gracefully. */
    +         DPRINT1("Thread with dead IRPs!");
    +         ASSERT(FALSE);
    +      }
    +      
    +      OldIrql = KfRaiseIrql(APC_LEVEL);
    +   }
    +
    +   KfLowerIrql(OldIrql);
     }
     
     /*
    diff --git a/reactos/ntoskrnl/io/create.c b/reactos/ntoskrnl/io/create.c
    index 2595918670f..b507fc51f93 100644
    --- a/reactos/ntoskrnl/io/create.c
    +++ b/reactos/ntoskrnl/io/create.c
    @@ -245,6 +245,7 @@ IoCreateStreamFileObject(PFILE_OBJECT FileObject,
     
       // shouldn't we initialize the lock event, and several other things here too?
       KeInitializeEvent(&CreatedFileObject->Event, NotificationEvent, FALSE);
    +  KeInitializeEvent(&CreatedFileObject->Lock, SynchronizationEvent, TRUE);
     
       return CreatedFileObject;
     }
    diff --git a/reactos/ntoskrnl/io/driver.c b/reactos/ntoskrnl/io/driver.c
    index c43ead25976..7cab4e63911 100644
    --- a/reactos/ntoskrnl/io/driver.c
    +++ b/reactos/ntoskrnl/io/driver.c
    @@ -110,7 +110,7 @@ IopInitDriverImplementation(VOID)
        IoDriverObjectType->OkayToClose = NULL;
        IoDriverObjectType->Create = IopCreateDriver;
        IoDriverObjectType->DuplicationNotify = NULL;
    -   RtlRosInitUnicodeStringFromLiteral(&IoDriverObjectType->TypeName, L"Driver");
    +   RtlInitUnicodeString(&IoDriverObjectType->TypeName, L"Driver");
     
        ObpCreateTypeObject(IoDriverObjectType);
     
    diff --git a/reactos/ntoskrnl/io/iomgr.c b/reactos/ntoskrnl/io/iomgr.c
    index b8a2dcf1ebb..eff2a12bcc0 100644
    --- a/reactos/ntoskrnl/io/iomgr.c
    +++ b/reactos/ntoskrnl/io/iomgr.c
    @@ -105,15 +105,24 @@ IopDeleteFile(PVOID ObjectBody)
     			        UserMode);
     #endif   
          KeResetEvent( &FileObject->Event );
    -     Irp = IoBuildSynchronousFsdRequest(IRP_MJ_CLOSE,
    -				        FileObject->DeviceObject,
    -				        NULL,
    -				        0,
    -				        NULL,
    -				        &FileObject->Event,
    -				        NULL);
    +
    +     Irp = IoAllocateIrp(FileObject->DeviceObject->StackSize, TRUE);
    +     if (Irp == NULL)
    +     {
    +        /*
    +         * FIXME: This case should eventually be handled. We should wait
    +         * until enough memory is available to allocate the IRP.
    +         */
    +        ASSERT(FALSE);
    +     }
    +   
    +     Irp->UserEvent = &FileObject->Event;
    +     Irp->Tail.Overlay.Thread = PsGetCurrentThread();
          Irp->Flags |= IRP_CLOSE_OPERATION;
    +   
          StackPtr = IoGetNextIrpStackLocation(Irp);
    +     StackPtr->MajorFunction = IRP_MJ_CLOSE;
    +     StackPtr->DeviceObject = FileObject->DeviceObject;
          StackPtr->FileObject = FileObject;
        
          Status = IoCallDriver(FileObject->DeviceObject, Irp);
    @@ -410,7 +419,7 @@ IoInit (VOID)
       IoDeviceObjectType->Create = IopCreateDevice;
       IoDeviceObjectType->DuplicationNotify = NULL;
       
    -  RtlRosInitUnicodeStringFromLiteral(&IoDeviceObjectType->TypeName, L"Device");
    +  RtlInitUnicodeString(&IoDeviceObjectType->TypeName, L"Device");
     
       ObpCreateTypeObject(IoDeviceObjectType);
     
    @@ -439,7 +448,7 @@ IoInit (VOID)
       IoFileObjectType->Create = IopCreateFile;
       IoFileObjectType->DuplicationNotify = NULL;
       
    -  RtlRosInitUnicodeStringFromLiteral(&IoFileObjectType->TypeName, L"File");
    +  RtlInitUnicodeString(&IoFileObjectType->TypeName, L"File");
     
       ObpCreateTypeObject(IoFileObjectType);
       
    @@ -453,7 +462,7 @@ IoInit (VOID)
       IoAdapterObjectType->PeakObjects = 0;
       IoAdapterObjectType->PeakHandles = 0;
       IoDeviceObjectType->Mapping = &IopFileMapping;
    -  RtlRosInitUnicodeStringFromLiteral(&IoAdapterObjectType->TypeName, L"Adapter");
    +  RtlInitUnicodeString(&IoAdapterObjectType->TypeName, L"Adapter");
       ObpCreateTypeObject(IoAdapterObjectType);
     
       /*
    diff --git a/reactos/ntoskrnl/io/irp.c b/reactos/ntoskrnl/io/irp.c
    index d898dc4f1c8..ed98e86d973 100644
    --- a/reactos/ntoskrnl/io/irp.c
    +++ b/reactos/ntoskrnl/io/irp.c
    @@ -268,7 +268,6 @@ IoAllocateIrp(CCHAR StackSize,
           return(NULL);
         }
     
    -  RtlZeroMemory(Irp, IoSizeOfIrp(StackSize));
       IoInitializeIrp(Irp,
     		  IoSizeOfIrp(StackSize),
     		  StackSize);
    @@ -364,6 +363,9 @@ IofCompleteRequest(PIRP Irp,
           ULONG MasterIrpCount;
           PIRP MasterIrp = Irp->AssociatedIrp.MasterIrp;
     
    +      /* This should never happen! */
    +      ASSERT(IsListEmpty(&Irp->ThreadListEntry));
    +
           MasterIrpCount = InterlockedDecrement(&MasterIrp->AssociatedIrp.IrpCount);
           while ((Mdl = Irp->MdlAddress))
           {
    @@ -386,6 +388,9 @@ IofCompleteRequest(PIRP Irp,
        /* Windows NT File System Internals, page 165 */
        if (Irp->Flags & (IRP_PAGING_IO|IRP_CLOSE_OPERATION))
        {
    +      /* This should never happen! */
    +      ASSERT(IsListEmpty(&Irp->ThreadListEntry));
    +
           /* 
            * If MDL_IO_PAGE_READ is set, then the caller is responsible 
            * for deallocating of the mdl. 
    @@ -582,19 +587,19 @@ IoGetTopLevelIrp(VOID)
     VOID STDCALL
     IoQueueThreadIrp(IN PIRP Irp)
     {
    -/* undefine this when (if ever) implementing irp cancellation */
    -#if 0
    -  KIRQL oldIrql;
    +   KIRQL OldIrql;
       
    -  oldIrql = KfRaiseIrql(APC_LEVEL);
    +   OldIrql = KfRaiseIrql(APC_LEVEL);
       
    -  /* Synchronous irp's are queued to requestor thread. If they are not completed
    -  when the thread exits, they are canceled (cleaned up).
    -  -Gunnar */
    -  InsertTailList(&PsGetCurrentThread()->IrpList, &Irp->ThreadListEntry);
    +   /*
    +    * Synchronous irp's are queued to requestor thread. If they are not
    +    * completed when the thread exits, they are canceled (cleaned up).
    +    * - Gunnar
    +    */
    +
    +   InsertTailList(&Irp->Tail.Overlay.Thread->IrpList, &Irp->ThreadListEntry);
         
    -  KfLowerIrql(oldIrql);    
    -#endif
    +   KfLowerIrql(OldIrql);
     }
     
     
    diff --git a/reactos/ntoskrnl/io/remlock.c b/reactos/ntoskrnl/io/remlock.c
    index e68cbe8061e..78eaec3b97d 100644
    --- a/reactos/ntoskrnl/io/remlock.c
    +++ b/reactos/ntoskrnl/io/remlock.c
    @@ -10,6 +10,7 @@
     
     /* INCLUDES ******************************************************************/
     
    +#define NDEBUG
     #include 
     #include 
     
    @@ -27,7 +28,7 @@ IoInitializeRemoveLockEx(
       IN ULONG HighWatermark,
       IN ULONG RemlockSize)
     {
    -  DPRINT("IoInitializeRemoveLockEx called");
    +  DPRINT("IoInitializeRemoveLockEx called\n");
       RtlZeroMemory(RemoveLock, RemlockSize);
       RemoveLock->Common.IoCount = 1;
       KeInitializeEvent(&RemoveLock->Common.RemoveEvent, NotificationEvent, FALSE);
    @@ -45,7 +46,7 @@ IoAcquireRemoveLockEx(
       IN ULONG Line,
       IN ULONG RemlockSize)
     {
    -  DPRINT("IoAcquireRemoveLockEx called");
    +  DPRINT("IoAcquireRemoveLockEx called\n");
       InterlockedIncrement(&RemoveLock->Common.IoCount);
       if (RemoveLock->Common.Removed)
       {
    @@ -70,7 +71,7 @@ IoReleaseRemoveLockEx(
     {
       LONG IoCount;
     
    -  DPRINT("IoReleaseRemoveLockEx called");
    +  DPRINT("IoReleaseRemoveLockEx called\n");
       IoCount = InterlockedDecrement(&RemoveLock->Common.IoCount);
       if (IoCount == 0)
       {
    @@ -88,7 +89,7 @@ IoReleaseRemoveLockAndWaitEx(
       IN PVOID Tag,
       IN ULONG RemlockSize)
     {
    -  DPRINT("IoReleaseRemoveLockAndWaitEx called");
    +  DPRINT("IoReleaseRemoveLockAndWaitEx called\n");
       RemoveLock->Common.Removed = TRUE;
       InterlockedDecrement(&RemoveLock->Common.IoCount);
       IoReleaseRemoveLockEx(RemoveLock, Tag, RemlockSize);
    diff --git a/reactos/ntoskrnl/io/share.c b/reactos/ntoskrnl/io/share.c
    index 735ae576d69..cac060f1c21 100644
    --- a/reactos/ntoskrnl/io/share.c
    +++ b/reactos/ntoskrnl/io/share.c
    @@ -327,8 +327,73 @@ IoSetInformation(IN PFILE_OBJECT FileObject,
     		 IN ULONG Length,
     		 OUT PVOID FileInformation)
     {
    -  UNIMPLEMENTED;
    -  return(STATUS_NOT_IMPLEMENTED);
    +   IO_STATUS_BLOCK IoStatusBlock;
    +   PIRP Irp;
    +   PDEVICE_OBJECT DeviceObject;
    +   PIO_STACK_LOCATION StackPtr;
    +   NTSTATUS Status;
    +
    +   ASSERT(FileInformation != NULL);
    +
    +   if (FileInformationClass == FileCompletionInformation)
    +   {
    +      return STATUS_NOT_IMPLEMENTED;
    +   }
    +
    +
    +
    +   Status = ObReferenceObjectByPointer(FileObject,
    +				       FILE_WRITE_ATTRIBUTES,
    +				       IoFileObjectType,
    +				       KernelMode);
    +   if (!NT_SUCCESS(Status))
    +   {
    +      return(Status);
    +   }
    +
    +   DPRINT("FileObject %x\n", FileObject);
    +   
    +   DeviceObject = FileObject->DeviceObject;
    +
    +   Irp = IoAllocateIrp(DeviceObject->StackSize,
    +		       TRUE);
    +   if (Irp == NULL)
    +   {
    +      ObDereferenceObject(FileObject);
    +      return STATUS_INSUFFICIENT_RESOURCES;
    +   }
    +
    +   /* Trigger FileObject/Event dereferencing */
    +   Irp->Tail.Overlay.OriginalFileObject = FileObject;
    +   Irp->RequestorMode = KernelMode;
    +   Irp->AssociatedIrp.SystemBuffer = FileInformation;
    +   Irp->UserIosb = &IoStatusBlock;
    +   Irp->UserEvent = &FileObject->Event;
    +   Irp->Tail.Overlay.Thread = PsGetCurrentThread();
    +   KeResetEvent( &FileObject->Event );
    +
    +   StackPtr = IoGetNextIrpStackLocation(Irp);
    +   StackPtr->MajorFunction = IRP_MJ_SET_INFORMATION;
    +   StackPtr->MinorFunction = 0;
    +   StackPtr->Flags = 0;
    +   StackPtr->Control = 0;
    +   StackPtr->DeviceObject = DeviceObject;
    +   StackPtr->FileObject = FileObject;
    +   StackPtr->Parameters.SetFile.FileInformationClass = FileInformationClass;
    +   StackPtr->Parameters.SetFile.Length = Length;
    +
    +   Status = IoCallDriver(FileObject->DeviceObject, Irp);
    +   if (Status==STATUS_PENDING)
    +   {
    +      KeWaitForSingleObject(&FileObject->Event,
    +			    Executive,
    +			    KernelMode,
    +			    FileObject->Flags & FO_ALERTABLE_IO,
    +			    NULL);
    +      Status = IoStatusBlock.Status;
    +   }
    +   
    +   return Status;
     }
     
     
    diff --git a/reactos/ntoskrnl/kd/gdbstub.c b/reactos/ntoskrnl/kd/gdbstub.c
    index 2d8c63ed56a..9085cc7c4b1 100644
    --- a/reactos/ntoskrnl/kd/gdbstub.c
    +++ b/reactos/ntoskrnl/kd/gdbstub.c
    @@ -106,7 +106,7 @@ static PETHREAD GspRunThread; /* NULL means run all threads */
     static PETHREAD GspDbgThread;
     static PETHREAD GspEnumThread;
     
    -extern LIST_ENTRY PsProcessListHead;
    +extern LIST_ENTRY PsActiveProcessHead;
     
     /* Number of Registers.  */
     #define NUMREGS	16
    @@ -602,12 +602,14 @@ GspFindThread(PCHAR Data,
         }
         else
         {
    -      ULONG ThreadId;
    +      ULONG uThreadId;
    +      HANDLE ThreadId;
           PCHAR ptr = &Data[0];
     
    -      GspHex2Long (&ptr, (PLONG) &ThreadId);
    +      GspHex2Long (&ptr, (PULONG) &uThreadId);
    +      ThreadId = (HANDLE)uThreadId;
     
    -      if (!NT_SUCCESS (PsLookupThreadByThreadId ((PVOID) ThreadId, &ThreadInfo)))
    +      if (!NT_SUCCESS (PsLookupThreadByThreadId (ThreadId, &ThreadInfo)))
     			  {
               *Thread = NULL;
               return FALSE;
    @@ -695,8 +697,8 @@ GspQuery(PCHAR Request)
     
         /* Get first thread id */
         GspEnumThread = NULL;
    -    AProcess = PsProcessListHead.Flink;
    -    while(AProcess != &PsProcessListHead)
    +    AProcess = PsActiveProcessHead.Flink;
    +    while(AProcess != &PsActiveProcessHead)
         {
           Process = CONTAINING_RECORD(AProcess, EPROCESS, ProcessListEntry);
           AThread = Process->ThreadListHead.Flink;
    @@ -741,7 +743,7 @@ GspQuery(PCHAR Request)
           {
             PETHREAD Thread = NULL;
             AProcess = Process->ProcessListEntry.Flink;
    -        while(AProcess != &PsProcessListHead)
    +        while(AProcess != &PsActiveProcessHead)
             {
               Process = CONTAINING_RECORD(AProcess, EPROCESS, ProcessListEntry);
               AThread = Process->ThreadListHead.Flink;
    diff --git a/reactos/ntoskrnl/ke/alert.c b/reactos/ntoskrnl/ke/alert.c
    index 6dcc12cec1e..99084a862e4 100644
    --- a/reactos/ntoskrnl/ke/alert.c
    +++ b/reactos/ntoskrnl/ke/alert.c
    @@ -37,14 +37,11 @@ KeTestAlertThread(IN KPROCESSOR_MODE AlertMode)
        OldIrql = KeAcquireDispatcherDatabaseLock();
        KiAcquireSpinLock(&Thread->ApcQueueLock);
        
    -   /* NOTE: Albert Almeida claims Alerted[1] is never used. Two kind of 
    -    * alerts _do_ seem useless. -Gunnar
    -    */
    -   OldState = Thread->Alerted[0];
    +   OldState = Thread->Alerted[AlertMode];
        
        /* If the Thread is Alerted, Clear it */
        if (OldState) {
    -      Thread->Alerted[0] = FALSE;  
    +      Thread->Alerted[AlertMode] = FALSE;
        } else if ((AlertMode == UserMode) && (!IsListEmpty(&Thread->ApcState.ApcListHead[UserMode]))) {
           /* If the mode is User and the Queue isn't empty, set Pending */
           Thread->ApcState.UserApcPending = TRUE;
    @@ -65,20 +62,19 @@ KeAlertThread(PKTHREAD Thread, KPROCESSOR_MODE AlertMode)
        oldIrql = KeAcquireDispatcherDatabaseLock();
           
     
    -   /* Return if thread is already alerted.
    -    * NOTE: Albert Almeida claims Alerted[1] is never used. Two kind of 
    -    * alerts _do_ seem useless. -Gunnar
    -    */
    -   if (Thread->Alerted[0] == FALSE)
    +   /* Return if thread is already alerted. */
    +   if (Thread->Alerted[AlertMode] == FALSE)
        {
    -      Thread->Alerted[0] = TRUE;
    -
           if (Thread->State == THREAD_STATE_BLOCKED &&
    -          Thread->WaitMode == AlertMode &&
    +          (AlertMode == KernelMode || Thread->WaitMode == AlertMode) &&
               Thread->Alertable)
           {
              KiAbortWaitThread(Thread, STATUS_ALERTED);
           }
    +      else
    +      {
    +         Thread->Alerted[AlertMode] = TRUE;
    +      }
        }
        
        KeReleaseDispatcherDatabaseLock(oldIrql);
    @@ -107,13 +103,16 @@ NtAlertResumeThread(IN  HANDLE ThreadHandle,
     NTSTATUS STDCALL
     NtAlertThread (IN HANDLE ThreadHandle)
     {
    +   KPROCESSOR_MODE PreviousMode;
        PETHREAD Thread;
        NTSTATUS Status;
    +   
    +   PreviousMode = ExGetPreviousMode();
     
        Status = ObReferenceObjectByHandle(ThreadHandle,
                       THREAD_SUSPEND_RESUME,
                       PsThreadType,
    -                  ExGetPreviousMode(),
    +                  PreviousMode,
                       (PVOID*)&Thread,
                       NULL);
        if (!NT_SUCCESS(Status))
    @@ -121,11 +120,12 @@ NtAlertThread (IN HANDLE ThreadHandle)
        return(Status);
          }
     
    -   /* FIXME: should we always use UserMode here, even if the ntoskrnl exported
    -    * ZwAlertThread was called?
    -    * -Gunnar
    -    */ 
    -   KeAlertThread((PKTHREAD)Thread, UserMode);
    +   /* do an alert depending on the processor mode. If some kmode code wants to
    +      enforce a umode alert it should call KeAlertThread() directly. If kmode
    +      code wants to do a kmode alert it's sufficient to call it with Zw or just
    +      use KeAlertThread() directly */
    +
    +   KeAlertThread(&Thread->Tcb, PreviousMode);
        
        ObDereferenceObject(Thread);
        return(STATUS_SUCCESS);
    @@ -139,11 +139,12 @@ NTSTATUS
     STDCALL
     NtTestAlert(VOID)
     {
    +   KPROCESSOR_MODE PreviousMode;
    +   
    +   PreviousMode = ExGetPreviousMode();
    +   
        /* Check and Alert Thread if needed */
    -   if (KeTestAlertThread(KeGetPreviousMode())) {
    -      return STATUS_ALERTED;
    -   } else {
    -      return STATUS_SUCCESS;
    -   }
    +   
    +   return KeTestAlertThread(PreviousMode) ? STATUS_ALERTED : STATUS_SUCCESS;
     }
     
    diff --git a/reactos/ntoskrnl/ke/apc.c b/reactos/ntoskrnl/ke/apc.c
    index ca7b3d45f63..5b47908713f 100644
    --- a/reactos/ntoskrnl/ke/apc.c
    +++ b/reactos/ntoskrnl/ke/apc.c
    @@ -517,13 +517,16 @@ NtQueueApcThread(HANDLE			ThreadHandle,
     
     	PKAPC Apc;
     	PETHREAD Thread;
    +	KPROCESSOR_MODE PreviousMode;
     	NTSTATUS Status;
    +	
    +	PreviousMode = ExGetPreviousMode();
     
     	/* Get ETHREAD from Handle */
     	Status = ObReferenceObjectByHandle(ThreadHandle,
     					   THREAD_SET_CONTEXT,
     					   PsThreadType,
    -					   KeGetPreviousMode(),
    +					   PreviousMode,
     					   (PVOID)&Thread,
     					   NULL);
     	
    @@ -545,7 +548,7 @@ NtQueueApcThread(HANDLE			ThreadHandle,
     		return(STATUS_NO_MEMORY);
     	}
        
    -	/* Initialize and Queue */
    +	/* Initialize and Queue a user mode apc (always!) */
     	KeInitializeApc(Apc,
     			&Thread->Tcb,
     			OriginalApcEnvironment,
    diff --git a/reactos/ntoskrnl/ke/clock.c b/reactos/ntoskrnl/ke/clock.c
    new file mode 100644
    index 00000000000..e9424cbed4f
    --- /dev/null
    +++ b/reactos/ntoskrnl/ke/clock.c
    @@ -0,0 +1,410 @@
    +/*
    + * COPYRIGHT:       See COPYING in the top level directory
    + * PROJECT:         ReactOS kernel
    + * FILE:            ntoskrnl/ke/clock.c
    + * PURPOSE:         Handle System Clock
    + * 
    + * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net) - Created
    + *                  David Welch & Phillip Susi - Implementation (?)
    + */
    + 
    + /* NOTES ******************************************************************/
    +/*
    + * System time units are 100-nanosecond intervals
    + */
    +
    +/* INCLUDES ***************************************************************/
    +
    +#include 
    +
    +#define NDEBUG
    +#include 
    +
    +/* GLOBALS ****************************************************************/
    +
    +/*
    + * Current time
    + */
    +#if defined(__GNUC__)
    +LARGE_INTEGER SystemBootTime = (LARGE_INTEGER)0LL;
    +#else
    +LARGE_INTEGER SystemBootTime = { 0 };
    +#endif
    +
    +CHAR KiTimerSystemAuditing = 0;
    +static KDPC KiExpireTimerDpc;
    +static BOOLEAN KiClockSetupComplete = FALSE;
    +
    +/*
    + * Number of timer interrupts since initialisation
    + */
    +volatile ULONGLONG KeTickCount = 0;
    +volatile ULONG KiRawTicks = 0;
    +
    +extern LIST_ENTRY KiTimerListHead;
    +
    +/*
    + * The increment in the system clock every timer tick (in system time units)
    + * 
    + * = (1/18.2)*10^9 
    + * 
    + * RJJ was 54945055
    + */
    +#define CLOCK_INCREMENT (100000)
    +
    +#ifdef  __GNUC__
    +ULONG EXPORTED KeMaximumIncrement = 100000;
    +ULONG EXPORTED KeMinimumIncrement = 100000;
    +#else
    +/* Microsoft-style declarations */
    +EXPORTED ULONG KeMaximumIncrement = 100000;
    +EXPORTED ULONG KeMinimumIncrement = 100000;
    +#endif
    +
    +#define MICROSECONDS_PER_TICK (10000)
    +#define TICKS_TO_CALIBRATE (1)
    +#define CALIBRATE_PERIOD (MICROSECONDS_PER_TICK * TICKS_TO_CALIBRATE)
    +
    +/* FUNCTIONS **************************************************************/
    +
    +/*
    + * FUNCTION: Initializes timer irq handling
    + * NOTE: This is only called once from main()
    + */
    +VOID
    +INIT_FUNCTION
    +KiInitializeSystemClock(VOID)
    +{
    +    TIME_FIELDS TimeFields;
    +
    +    DPRINT1("KiInitializeSystemClock()\n");
    +    InitializeListHead(&KiTimerListHead);
    +    KeInitializeDpc(&KiExpireTimerDpc, (PKDEFERRED_ROUTINE)KiExpireTimers, 0);
    +   
    +    /* Calculate the starting time for the system clock */
    +    HalQueryRealTimeClock(&TimeFields);
    +    RtlTimeFieldsToTime(&TimeFields, &SystemBootTime);
    +
    +    /* Set up the Used Shared Data */
    +    SharedUserData->TickCountLowDeprecated = 0;
    +    SharedUserData->TickCountMultiplier = 167783691; // 2^24 * 1193182 / 119310
    +    SharedUserData->InterruptTime.High2Time = 0;
    +    SharedUserData->InterruptTime.LowPart = 0;
    +    SharedUserData->InterruptTime.High1Time = 0;
    +    SharedUserData->SystemTime.High2Time = SystemBootTime.u.HighPart;
    +    SharedUserData->SystemTime.LowPart = SystemBootTime.u.LowPart;
    +    SharedUserData->SystemTime.High1Time = SystemBootTime.u.HighPart;
    +
    +    KiClockSetupComplete = TRUE;
    +    DPRINT1("Finished KiInitializeSystemClock()\n");
    +}
    +
    +VOID
    +KiSetSystemTime(PLARGE_INTEGER NewSystemTime)
    +{
    +  LARGE_INTEGER OldSystemTime;
    +  LARGE_INTEGER DeltaTime;
    +  KIRQL OldIrql;
    +
    +  ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
    +
    +  OldIrql = KeAcquireDispatcherDatabaseLock();
    +
    +  do
    +    {
    +      OldSystemTime.u.HighPart = SharedUserData->SystemTime.High1Time;
    +      OldSystemTime.u.LowPart = SharedUserData->SystemTime.LowPart;
    +    }
    +  while (OldSystemTime.u.HighPart != SharedUserData->SystemTime.High2Time);
    +
    +  /* Set the new system time */
    +  SharedUserData->SystemTime.LowPart = NewSystemTime->u.LowPart;
    +  SharedUserData->SystemTime.High1Time = NewSystemTime->u.HighPart;
    +  SharedUserData->SystemTime.High2Time = NewSystemTime->u.HighPart;
    +
    +  /* Calculate the difference between the new and the old time */
    +  DeltaTime.QuadPart = NewSystemTime->QuadPart - OldSystemTime.QuadPart;
    +
    +  /* Update system boot time */
    +  SystemBootTime.QuadPart += DeltaTime.QuadPart;
    +
    +  /* Update absolute timers */
    +  DPRINT1("FIXME: TIMER UPDATE NOT DONE!!!\n");
    +
    +  KeReleaseDispatcherDatabaseLock(OldIrql);
    +
    +  /*
    +   * NOTE: Expired timers will be processed at the next clock tick!
    +   */
    +}
    +
    +/*
    + * @implemented
    + */
    +ULONG
    +STDCALL
    +KeQueryTimeIncrement(VOID)
    +/*
    + * FUNCTION: Gets the increment (in 100-nanosecond units) that is added to 
    + * the system clock every time the clock interrupts
    + * RETURNS: The increment
    + */
    +{
    +    return KeMaximumIncrement;
    +}
    +
    +/*
    + * @implemented
    + */
    +VOID 
    +STDCALL
    +KeQueryTickCount(PLARGE_INTEGER TickCount)
    +/*
    + * FUNCTION: Returns the number of ticks since the system was booted
    + * ARGUMENTS:
    + *         TickCount (OUT) = Points to storage for the number of ticks
    + */
    +{
    +    TickCount->QuadPart = KeTickCount;
    +}
    +
    +/*
    + * FUNCTION: Gets the current system time
    + * ARGUMENTS:
    + *          CurrentTime (OUT) = The routine stores the current time here
    + * NOTE: The time is the number of 100-nanosecond intervals since the
    + * 1st of January, 1601.
    + *
    + * @implemented
    + */
    +VOID
    +STDCALL
    +KeQuerySystemTime(PLARGE_INTEGER CurrentTime)
    +{
    +    do {
    +        CurrentTime->u.HighPart = SharedUserData->SystemTime.High1Time;
    +        CurrentTime->u.LowPart = SharedUserData->SystemTime.LowPart;
    +    } while (CurrentTime->u.HighPart != SharedUserData->SystemTime.High2Time);
    +}
    +
    +ULONGLONG 
    +STDCALL
    +KeQueryInterruptTime(VOID)
    +{
    +    LARGE_INTEGER CurrentTime;
    +
    +    do {
    +        CurrentTime.u.HighPart = SharedUserData->InterruptTime.High1Time;
    +        CurrentTime.u.LowPart = SharedUserData->InterruptTime.LowPart;
    +    } while (CurrentTime.u.HighPart != SharedUserData->InterruptTime.High2Time);
    +
    +    return CurrentTime.QuadPart;
    +}
    +
    +/*
    + * @implemented
    + */
    +VOID
    +STDCALL
    +KeSetTimeIncrement(
    +    IN ULONG MaxIncrement,
    +    IN ULONG MinIncrement)
    +{
    +    /* Set some Internal Variables */
    +    /* FIXME: We use a harcoded CLOCK_INCREMENT. That *must* be changed */
    +    KeMaximumIncrement = MaxIncrement;
    +    KeMinimumIncrement = MinIncrement;
    +}
    +
    +/*
    + * @unimplemented
    + */
    +VOID
    +FASTCALL
    +KeSetTimeUpdateNotifyRoutine(
    +    IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine
    +    )
    +{
    +    UNIMPLEMENTED;
    +}
    +
    +/*
    + * NOTE: On Windows this function takes exactly one parameter and EBP is
    + *       guaranteed to point to KTRAP_FRAME. The function is used only
    + *       by HAL, so there's no point in keeping that prototype.
    + *
    + * @implemented
    + */
    +VOID
    +STDCALL
    +KeUpdateRunTime(
    +    IN PKTRAP_FRAME  TrapFrame,
    +    IN KIRQL  Irql
    +    )
    +{
    +   PKPCR Pcr;
    +   PKTHREAD CurrentThread;
    +   PKPROCESS CurrentProcess;
    +#if 0
    +   ULONG DpcLastCount;
    +#endif
    +
    +   Pcr = KeGetCurrentKPCR();
    +
    +   /* Make sure we don't go further if we're in early boot phase. */
    +   if (Pcr == NULL || Pcr->PrcbData.CurrentThread == NULL)
    +      return;
    +
    +   DPRINT("KernelTime  %u, UserTime %u \n", Pcr->PrcbData.KernelTime, Pcr->PrcbData.UserTime);
    +
    +   CurrentThread = Pcr->PrcbData.CurrentThread;
    +   CurrentProcess = CurrentThread->ApcState.Process;
    +
    +   /* 
    +    * Cs bit 0 is always set for user mode if we are in protected mode.
    +    * V86 mode is counted as user time.
    +    */
    +   if (TrapFrame->Cs & 0x1 ||
    +       TrapFrame->Eflags & X86_EFLAGS_VM)
    +   {
    +      InterlockedIncrementUL(&CurrentThread->UserTime);
    +      InterlockedIncrementUL(&CurrentProcess->UserTime);
    +      Pcr->PrcbData.UserTime++;
    +   }
    +   else
    +   {
    +      if (Irql > DISPATCH_LEVEL)
    +      {
    +         Pcr->PrcbData.InterruptTime++;
    +      }
    +      else if (Irql == DISPATCH_LEVEL)
    +      {
    +         Pcr->PrcbData.DpcTime++;
    +      }
    +      else
    +      {
    +         InterlockedIncrementUL(&CurrentThread->KernelTime);
    +         InterlockedIncrementUL(&CurrentProcess->KernelTime);
    +	 Pcr->PrcbData.KernelTime++;
    +      }
    +   }
    +
    +#if 0
    +   DpcLastCount = Pcr->PrcbData.DpcLastCount;
    +   Pcr->PrcbData.DpcLastCount = Pcr->PrcbData.DpcCount;
    +   Pcr->PrcbData.DpcRequestRate = ((Pcr->PrcbData.DpcCount - DpcLastCount) +
    +                                   Pcr->PrcbData.DpcRequestRate) / 2;
    +#endif
    +
    +   if (Pcr->PrcbData.DpcData[0].DpcQueueDepth > 0 &&
    +       Pcr->PrcbData.DpcRoutineActive == FALSE &&
    +       Pcr->PrcbData.DpcInterruptRequested == FALSE)
    +   {
    +      HalRequestSoftwareInterrupt(DISPATCH_LEVEL);
    +   }
    +
    +   /* FIXME: Do DPC rate adjustments */
    +
    +   /*
    +    * If we're at end of quantum request software interrupt. The rest
    +    * is handled in KiDispatchInterrupt.
    +    */
    +   if ((CurrentThread->Quantum -= 3) <= 0)
    +   {
    +     Pcr->PrcbData.QuantumEnd = TRUE;
    +     HalRequestSoftwareInterrupt(DISPATCH_LEVEL);
    +   }
    +}
    +
    +
    +/*
    + * NOTE: On Windows this function takes exactly zero parameters and EBP is
    + *       guaranteed to point to KTRAP_FRAME. Also [esp+0] contains an IRQL.
    + *       The function is used only by HAL, so there's no point in keeping
    + *       that prototype.
    + *
    + * @implemented
    + */
    +VOID 
    +STDCALL
    +KeUpdateSystemTime(
    +    IN PKTRAP_FRAME  TrapFrame,
    +    IN KIRQL  Irql
    +    )
    +/*
    + * FUNCTION: Handles a timer interrupt
    + */
    +{
    +   LARGE_INTEGER Time;
    +
    +   ASSERT(KeGetCurrentIrql() == PROFILE_LEVEL);
    +
    +   KiRawTicks++;
    +   
    +   if (KiClockSetupComplete == FALSE) return;
    +
    +   /*
    +    * Increment the number of timers ticks 
    +    */
    +   KeTickCount++;
    +   SharedUserData->TickCountLowDeprecated++;
    +
    +   Time.u.LowPart = SharedUserData->InterruptTime.LowPart;
    +   Time.u.HighPart = SharedUserData->InterruptTime.High1Time;
    +   Time.QuadPart += CLOCK_INCREMENT;
    +   SharedUserData->InterruptTime.High2Time = Time.u.HighPart;
    +   SharedUserData->InterruptTime.LowPart = Time.u.LowPart;
    +   SharedUserData->InterruptTime.High1Time = Time.u.HighPart;
    +
    +   Time.u.LowPart = SharedUserData->SystemTime.LowPart;
    +   Time.u.HighPart = SharedUserData->SystemTime.High1Time;
    +   Time.QuadPart += CLOCK_INCREMENT;
    +   SharedUserData->SystemTime.High2Time = Time.u.HighPart;
    +   SharedUserData->SystemTime.LowPart = Time.u.LowPart;
    +   SharedUserData->SystemTime.High1Time = Time.u.HighPart;
    +
    +   /* FIXME: Here we should check for remote debugger break-ins */
    +
    +   /* Update process and thread times */
    +   KeUpdateRunTime(TrapFrame, Irql);
    +
    +   /*
    +    * Queue a DPC that will expire timers
    +    */
    +   KeInsertQueueDpc(&KiExpireTimerDpc, (PVOID)TrapFrame->Eip, 0);
    +}
    +
    +/*
    + * @implemented
    + */
    +ULONG
    +STDCALL
    +NtGetTickCount(VOID)
    +{
    +    LARGE_INTEGER TickCount;
    +    
    +    KeQueryTickCount(&TickCount);
    +    return TickCount.u.LowPart;
    +}
    +
    +NTSTATUS 
    +STDCALL
    +NtQueryTimerResolution(OUT PULONG MinimumResolution,
    +                       OUT PULONG MaximumResolution,
    +                       OUT PULONG ActualResolution)
    +{
    +    UNIMPLEMENTED;
    +    return STATUS_NOT_IMPLEMENTED;
    +}
    +
    +NTSTATUS 
    +STDCALL
    +NtSetTimerResolution(IN ULONG DesiredResolution,
    +                     IN BOOLEAN SetResolution,
    +                     OUT PULONG CurrentResolution)
    +{
    +    UNIMPLEMENTED;
    +    return STATUS_NOT_IMPLEMENTED;
    +}
    +
    +/* EOF */
    diff --git a/reactos/ntoskrnl/ke/error.c b/reactos/ntoskrnl/ke/error.c
    index da0033e221a..d6172aa1687 100644
    --- a/reactos/ntoskrnl/ke/error.c
    +++ b/reactos/ntoskrnl/ke/error.c
    @@ -15,6 +15,10 @@
     
     /* FUNCTIONS ***************************************************************/
     
    +BOOLEAN ExReadyForErrors = FALSE;
    +PEPORT ExpDefaultErrorPort = NULL;
    +PEPROCESS ExpDefaultErrorPortProcess = NULL;
    +
     /*
      * @unimplemented
      */
    @@ -40,22 +44,55 @@ KiUnexpectedInterrupt(
     }
     
     NTSTATUS STDCALL 
    -NtRaiseHardError(IN NTSTATUS Status,
    -		 ULONG Unknown2,
    -		 ULONG Unknown3,
    -		 ULONG Unknown4,
    -		 ULONG Unknown5,
    -		 ULONG Unknown6)
    +NtRaiseHardError(IN NTSTATUS ErrorStatus,
    +                 IN ULONG NumberOfParameters,
    +                 IN PUNICODE_STRING UnicodeStringParameterMask  OPTIONAL,
    +                 IN PVOID *Parameters,
    +                 IN HARDERROR_RESPONSE_OPTION ResponseOption,
    +                 OUT PHARDERROR_RESPONSE Response)
     {
    -  DPRINT1("Hard error %x\n", Status);
    +  DPRINT1("Hard error %x\n", ErrorStatus);
       return(STATUS_SUCCESS);
     }
     
     NTSTATUS STDCALL 
     NtSetDefaultHardErrorPort(IN HANDLE PortHandle)
     {
    -   UNIMPLEMENTED;
    -   return(STATUS_NOT_IMPLEMENTED);
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status;
    +  
    +  PreviousMode = ExGetPreviousMode();
    +  
    +  if(!SeSinglePrivilegeCheck(SeTcbPrivilege,
    +                             PreviousMode))
    +  {
    +    DPRINT1("NtSetDefaultHardErrorPort: Caller requires the SeTcbPrivilege privilege!\n");
    +    return STATUS_PRIVILEGE_NOT_HELD;
    +  }
    +  
    +  /* serialization shouldn't be required here as it usually is just called once
    +     during startup */
    +  
    +  if(!ExReadyForErrors)
    +  {
    +    Status = ObReferenceObjectByHandle(PortHandle,
    +                                       0,
    +                                       LpcPortObjectType,
    +                                       PreviousMode,
    +                                       (PVOID*)&ExpDefaultErrorPort,
    +                                       NULL);
    +    if(NT_SUCCESS(Status))
    +    {
    +      ExpDefaultErrorPortProcess = PsGetCurrentProcess();
    +      ExReadyForErrors = TRUE;
    +    }
    +  }
    +  else
    +  {
    +    Status = STATUS_UNSUCCESSFUL;
    +  }
    +  
    +  return Status;
     }
     
     /* EOF */
    diff --git a/reactos/ntoskrnl/ke/i386/kernel.c b/reactos/ntoskrnl/ke/i386/kernel.c
    index a1ffb830baf..37852a5f0e7 100644
    --- a/reactos/ntoskrnl/ke/i386/kernel.c
    +++ b/reactos/ntoskrnl/ke/i386/kernel.c
    @@ -341,7 +341,7 @@ KeInit2(VOID)
     
        KeInitializeBugCheck();
        KeInitializeDispatcher();
    -   KeInitializeTimerImpl();
    +   KiInitializeSystemClock();
     
        if (Pcr->PrcbData.FeatureBits & X86_FEATURE_PAE)
        {
    diff --git a/reactos/ntoskrnl/ke/i386/main.S b/reactos/ntoskrnl/ke/i386/main.S
    index ab0374f7af9..d2641e0f428 100644
    --- a/reactos/ntoskrnl/ke/i386/main.S
    +++ b/reactos/ntoskrnl/ke/i386/main.S
    @@ -6,6 +6,8 @@
     #include 
     #include 
     
    +#define AP_MAGIC (0x12481020)
    +
     .globl _NtProcessStartup
     
     _NtProcessStartup:
    @@ -17,7 +19,25 @@ _NtProcessStartup:
         /* Load the PCR selector */
         movl $PCR_SELECTOR, %eax
         movl %eax, %fs
    -
    +    
    +    cmpl $AP_MAGIC, %ecx
    +    jne  .m1
    +     
    +    pushl $0
    +    popfl
    +	
    +    /*
    +     *  Reserve space for the floating point save area.
    +     */
    +    subl  $SIZEOF_FX_SAVE_AREA, %esp
    +
    +    /*
    +     * Call the application processor initialization code
    +     */
    +    pushl $0
    +    call  _KiSystemStartup
    +    
    +.m1:     
         /* Load the initial kernel stack */
         lea _kernel_stack, %eax
         add $0x1000, %eax
    diff --git a/reactos/ntoskrnl/ke/kthread.c b/reactos/ntoskrnl/ke/kthread.c
    index 5a1eaa2b8ab..40b352fb11a 100644
    --- a/reactos/ntoskrnl/ke/kthread.c
    +++ b/reactos/ntoskrnl/ke/kthread.c
    @@ -72,6 +72,23 @@ KeQueryPriorityThread (
     	return Thread->Priority;
     }
     
    +/*
    + * @implemented
    + */
    +ULONG
    +STDCALL
    +KeQueryRuntimeThread(
    +	IN PKTHREAD Thread,
    +	OUT PULONG UserTime
    +	)
    +{
    +	/* Return the User Time */
    +	*UserTime = Thread->UserTime;
    +	
    +	/* Return the Kernel Time */
    +	return Thread->KernelTime;
    +}
    +
     NTSTATUS 
     KeReleaseThread(PKTHREAD Thread)
     /*
    @@ -405,3 +422,45 @@ KeTerminateThread(IN KPRIORITY Increment)
     	/* Call our own internal routine */
     	PsTerminateCurrentThread(0);
     }
    +
    +
    +NTSTATUS 
    +STDCALL
    +NtDelayExecution(IN BOOLEAN Alertable,
    +                 IN PLARGE_INTEGER DelayInterval)
    +{
    +   KPROCESSOR_MODE PreviousMode;
    +   LARGE_INTEGER SafeInterval;
    +   
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   if(PreviousMode != KernelMode)
    +   {
    +     NTSTATUS Status = STATUS_SUCCESS;
    +     
    +     _SEH_TRY
    +     {
    +       ProbeForRead(DelayInterval,
    +                    sizeof(LARGE_INTEGER),
    +                    sizeof(ULONG));
    +       /* make a copy on the kernel stack and let DelayInterval point to it so
    +          we don't need to wrap KeDelayExecutionThread in SEH! */
    +       SafeInterval = *DelayInterval;
    +       DelayInterval = &SafeInterval;
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
    +
    +   return KeDelayExecutionThread(PreviousMode,
    +                                 Alertable,
    +                                 DelayInterval);
    +}
    diff --git a/reactos/ntoskrnl/ke/main.c b/reactos/ntoskrnl/ke/main.c
    index c0ccca43c76..eef694b0bc7 100644
    --- a/reactos/ntoskrnl/ke/main.c
    +++ b/reactos/ntoskrnl/ke/main.c
    @@ -31,6 +31,10 @@
     
     /* GLOBALS *******************************************************************/
     
    +#define BUILD_OSCSDVERSION(major, minor) (((major & 0xFF) << 8) | (minor & 0xFF))
    +ULONG NtMajorVersion = 4;
    +ULONG NtMinorVersion = 0;
    +ULONG NtOSCSDVersion = BUILD_OSCSDVERSION(6, 0);
     #ifdef  __GNUC__
     ULONG EXPORTED NtBuildNumber = KERNEL_VERSION_BUILD;
     ULONG EXPORTED NtGlobalFlag = 0;
    diff --git a/reactos/ntoskrnl/ke/process.c b/reactos/ntoskrnl/ke/process.c
    index 56d2bf00bc9..15486ecbd3a 100644
    --- a/reactos/ntoskrnl/ke/process.c
    +++ b/reactos/ntoskrnl/ke/process.c
    @@ -216,7 +216,7 @@ KeUnstackDetachProcess (
     {
     	KIRQL OldIrql;
     	PKTHREAD Thread;
    -	   
    +
     	/* If the special "We tried to attach to the process already being attached to" flag is there, don't do anything */
     	if (ApcState->Process == (PKPROCESS)1) return;
     	
    @@ -231,29 +231,27 @@ KeUnstackDetachProcess (
     	
     	/* Restore the Old APC State if a Process was present */
     	if (ApcState->Process) {
    -		RtlMoveMemory(ApcState, &Thread->ApcState, sizeof(KAPC_STATE));
    +		KiMoveApcState(ApcState, &Thread->ApcState);
     	} else {
     		/* The ApcState parameter is useless, so use the saved data and reset it */
    -		RtlMoveMemory(&Thread->SavedApcState, &Thread->ApcState, sizeof(KAPC_STATE));
    +		KiMoveApcState(&Thread->SavedApcState, &Thread->ApcState);
     		Thread->SavedApcState.Process = NULL;
     		Thread->ApcStateIndex = OriginalApcEnvironment;
     		Thread->ApcStatePointer[OriginalApcEnvironment] = &Thread->ApcState;
     		Thread->ApcStatePointer[AttachedApcEnvironment] = &Thread->SavedApcState;
     	}
     
    -	/* Restore the APC State */
    -	KiMoveApcState(&Thread->SavedApcState, &Thread->ApcState);
    -	
     	/* Swap Processes */
     	KiSwapProcess(Thread->ApcState.Process, Thread->ApcState.Process);
    -	
    +
     	/* Return to old IRQL*/
     	KeReleaseDispatcherDatabaseLock(OldIrql);
     }
     
    -// This function should be used by win32k.sys to add its own user32/gdi32 services
    -// TableIndex is 0 based
    -// ServiceCountTable its not used at the moment
    +/* This function should be used by win32k.sys to add its own user32/gdi32 services
    + * TableIndex is 0 based
    + * ServiceCountTable its not used at the moment
    + */
     /*
      * @implemented
      */
    diff --git a/reactos/ntoskrnl/ke/profile.c b/reactos/ntoskrnl/ke/profile.c
    index 08b9bb9d968..454e15c3afc 100644
    --- a/reactos/ntoskrnl/ke/profile.c
    +++ b/reactos/ntoskrnl/ke/profile.c
    @@ -284,3 +284,59 @@ KeSetProfileIrql(
     {
     	UNIMPLEMENTED;
     }
    +
    +NTSTATUS STDCALL
    +NtQueryPerformanceCounter(OUT PLARGE_INTEGER PerformanceCounter,
    +			  OUT PLARGE_INTEGER PerformanceFrequency  OPTIONAL)
    +{
    +  LARGE_INTEGER PerfCounter;
    +  LARGE_INTEGER PerfFrequency;
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PreviousMode = ExGetPreviousMode();
    +  
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(PerformanceCounter,
    +                    sizeof(LARGE_INTEGER),
    +                    sizeof(ULONG));
    +      if(PerformanceFrequency != NULL)
    +      {
    +        ProbeForWrite(PerformanceFrequency,
    +                      sizeof(LARGE_INTEGER),
    +                      sizeof(ULONG));
    +      }
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +    
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
    +
    +  PerfCounter = KeQueryPerformanceCounter(&PerfFrequency);
    +  
    +  _SEH_TRY
    +  {
    +    *PerformanceCounter = PerfCounter;
    +    if(PerformanceFrequency != NULL)
    +    {
    +      *PerformanceFrequency = PerfFrequency;
    +    }
    +  }
    +  _SEH_HANDLE
    +  {
    +    Status = _SEH_GetExceptionCode();
    +  }
    +  _SEH_END;
    +
    +  return Status;
    +}
    diff --git a/reactos/ntoskrnl/ke/timer.c b/reactos/ntoskrnl/ke/timer.c
    index 46ec4198975..c46db9ddcff 100644
    --- a/reactos/ntoskrnl/ke/timer.c
    +++ b/reactos/ntoskrnl/ke/timer.c
    @@ -1,17 +1,11 @@
    -/* $Id$
    - *
    +/*
      * COPYRIGHT:       See COPYING in the top level directory
      * PROJECT:         ReactOS kernel
      * FILE:            ntoskrnl/ke/timer.c
    - * PURPOSE:         Handle timers
    + * PURPOSE:         Handle Kernel Timers (Kernel-part of Executive Timers)
      * 
    - * PROGRAMMERS:     David Welch (welch@mcmail.com)
    - *                  Phillip Susi
    - */
    -
    -/* NOTES ******************************************************************/
    -/*
    - * System time units are 100-nanosecond intervals
    + * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net) - Reimplemented some parts, fixed many bugs.
    + *                  David Welch (welch@mcmail.com) &  Phillip Susi - Original Implementation.
      */
     
     /* INCLUDES ***************************************************************/
    @@ -21,451 +15,79 @@
     #define NDEBUG
     #include 
     
    -
     /* GLOBALS ****************************************************************/
     
    -/*
    - * Current time
    - */
    -#if defined(__GNUC__)
    -LARGE_INTEGER SystemBootTime = (LARGE_INTEGER)0LL;
    -#else
    -LARGE_INTEGER SystemBootTime = { 0 };
    -#endif
    +LIST_ENTRY KiTimerListHead;
     
    -CHAR KiTimerSystemAuditing = 0;
    -
    -/*
    - * Number of timer interrupts since initialisation
    - */
    -volatile ULONGLONG KeTickCount = 0;
    -volatile ULONG KiRawTicks = 0;
    -
    -/*
    - * The increment in the system clock every timer tick (in system time units)
    - * 
    - * = (1/18.2)*10^9 
    - * 
    - * RJJ was 54945055
    - */
    -#define CLOCK_INCREMENT (100000)
    -
    -#ifdef  __GNUC__
    -ULONG EXPORTED KeMaximumIncrement = 100000;
    -ULONG EXPORTED KeMinimumIncrement = 100000;
    -#else
    -/* Microsoft-style declarations */
    -EXPORTED ULONG KeMaximumIncrement = 100000;
    -EXPORTED ULONG KeMinimumIncrement = 100000;
    -#endif
    -
    -
    -
    -/*
    - * PURPOSE: List of timers
    - */
    -static LIST_ENTRY AbsoluteTimerListHead;
    -static LIST_ENTRY RelativeTimerListHead;
    -static KSPIN_LOCK TimerListLock;
    -static KDPC ExpireTimerDpc;
    -
    -/* must raise IRQL to PROFILE_LEVEL and grab spin lock there, to sync with ISR */
    -
    -#define MICROSECONDS_PER_TICK (10000)
    -#define TICKS_TO_CALIBRATE (1)
    -#define CALIBRATE_PERIOD (MICROSECONDS_PER_TICK * TICKS_TO_CALIBRATE)
     #define SYSTEM_TIME_UNITS_PER_MSEC (10000)
     
    -static BOOLEAN TimerInitDone = FALSE;
    -
     /* FUNCTIONS **************************************************************/
     
    -
    -NTSTATUS STDCALL
    -NtQueryTimerResolution(OUT PULONG MinimumResolution,
    -		       OUT PULONG MaximumResolution,
    -		       OUT PULONG ActualResolution)
    -{
    -  UNIMPLEMENTED;
    -  return STATUS_NOT_IMPLEMENTED;
    -}
    -
    -
    -NTSTATUS STDCALL
    -NtSetTimerResolution(IN ULONG DesiredResolution,
    -		     IN BOOLEAN SetResolution,
    -		     OUT PULONG CurrentResolution)
    -{
    -  UNIMPLEMENTED;
    -  return STATUS_NOT_IMPLEMENTED;
    -}
    -
    -
    -NTSTATUS STDCALL
    -NtQueryPerformanceCounter(OUT PLARGE_INTEGER PerformanceCounter,
    -			  OUT PLARGE_INTEGER PerformanceFrequency  OPTIONAL)
    -{
    -  LARGE_INTEGER PerfCounter;
    -  LARGE_INTEGER PerfFrequency;
    -  KPROCESSOR_MODE PreviousMode;
    -  NTSTATUS Status = STATUS_SUCCESS;
    -  
    -  PreviousMode = ExGetPreviousMode();
    -  
    -  if(PreviousMode != KernelMode)
    -  {
    -    _SEH_TRY
    -    {
    -      ProbeForWrite(PerformanceCounter,
    -                    sizeof(LARGE_INTEGER),
    -                    sizeof(ULONG));
    -      if(PerformanceFrequency != NULL)
    -      {
    -        ProbeForWrite(PerformanceFrequency,
    -                      sizeof(LARGE_INTEGER),
    -                      sizeof(ULONG));
    -      }
    -    }
    -    _SEH_HANDLE
    -    {
    -      Status = _SEH_GetExceptionCode();
    -    }
    -    _SEH_END;
    -    
    -    if(!NT_SUCCESS(Status))
    -    {
    -      return Status;
    -    }
    -  }
    -
    -  PerfCounter = KeQueryPerformanceCounter(&PerfFrequency);
    -  
    -  _SEH_TRY
    -  {
    -    *PerformanceCounter = PerfCounter;
    -    if(PerformanceFrequency != NULL)
    -    {
    -      *PerformanceFrequency = PerfFrequency;
    -    }
    -  }
    -  _SEH_HANDLE
    -  {
    -    Status = _SEH_GetExceptionCode();
    -  }
    -  _SEH_END;
    -
    -  return Status;
    -}
    -
    -
    -NTSTATUS STDCALL
    -NtDelayExecution(IN BOOLEAN Alertable,
    -		 IN PLARGE_INTEGER DelayInterval)
    -{
    -   KPROCESSOR_MODE PreviousMode;
    -   LARGE_INTEGER SafeInterval;
    -   
    -   PreviousMode = ExGetPreviousMode();
    -   
    -   if(PreviousMode != KernelMode)
    -   {
    -     NTSTATUS Status = STATUS_SUCCESS;
    -     
    -     _SEH_TRY
    -     {
    -       ProbeForRead(DelayInterval,
    -                    sizeof(LARGE_INTEGER),
    -                    sizeof(ULONG));
    -       /* make a copy on the kernel stack and let DelayInterval point to it so
    -          we don't need to wrap KeDelayExecutionThread in SEH! */
    -       SafeInterval = *DelayInterval;
    -       DelayInterval = &SafeInterval;
    -     }
    -     _SEH_HANDLE
    -     {
    -       Status = _SEH_GetExceptionCode();
    -     }
    -     _SEH_END;
    -     
    -     if(!NT_SUCCESS(Status))
    -     {
    -       return Status;
    -     }
    -   }
    -
    -   return KeDelayExecutionThread(PreviousMode,
    -                                 Alertable,
    -                                 DelayInterval);
    -}
    -
    +BOOLEAN STDCALL KiInsertTimer(PKTIMER Timer, LARGE_INTEGER DueTime);
    +VOID STDCALL KiHandleExpiredTimer(PKTIMER Timer);
     
     /*
      * @implemented
    - */
    -NTSTATUS STDCALL
    -KeDelayExecutionThread (KPROCESSOR_MODE	WaitMode,
    -			BOOLEAN		Alertable,
    -			PLARGE_INTEGER	Interval)
    -/*
    - * FUNCTION: Puts the current thread into an alertable or nonalertable 
    - * wait state for a given internal
    - * ARGUMENTS:
    - *          WaitMode = Processor mode in which the caller is waiting
    - *          Altertable = Specifies if the wait is alertable
    - *          Interval = Specifies the interval to wait
    - * RETURNS: Status
    - */
    -{
    -   PKTHREAD Thread = KeGetCurrentThread();
    -
    -   KeSetTimer(&Thread->Timer, *Interval, NULL);
    -   return (KeWaitForSingleObject(&Thread->Timer,
    -				 (WaitMode == KernelMode) ? Executive : UserRequest, /* TMN: Was unconditionally Executive */
    -				 WaitMode, /* TMN: Was UserMode */
    -				 Alertable,
    -				 NULL));
    -}
    -
    -
    -/*
    - * @implemented
    - */
    -ULONG STDCALL
    -KeQueryTimeIncrement(VOID)
    -/*
    - * FUNCTION: Gets the increment (in 100-nanosecond units) that is added to 
    - * the system clock every time the clock interrupts
    - * RETURNS: The increment
    - */
    -{
    -  return(CLOCK_INCREMENT);
    -}
    -
    -
    -/*
    - * FUNCTION: Gets the current system time
    - * ARGUMENTS:
    - *          CurrentTime (OUT) = The routine stores the current time here
    - * NOTE: The time is the number of 100-nanosecond intervals since the
    - * 1st of January, 1601.
      *
    - * @implemented
    - */
    -VOID STDCALL
    -KeQuerySystemTime(PLARGE_INTEGER CurrentTime)
    -{
    -  do
    -    {
    -      CurrentTime->u.HighPart = SharedUserData->SystemTime.High1Time;
    -      CurrentTime->u.LowPart = SharedUserData->SystemTime.LowPart;
    -    }
    -  while (CurrentTime->u.HighPart != SharedUserData->SystemTime.High2Time);
    -}
    -
    -ULONGLONG STDCALL
    -KeQueryInterruptTime(VOID)
    -{
    -  LARGE_INTEGER CurrentTime;
    -
    -  do
    -    {
    -      CurrentTime.u.HighPart = SharedUserData->InterruptTime.High1Time;
    -      CurrentTime.u.LowPart = SharedUserData->InterruptTime.LowPart;
    -    }
    -  while (CurrentTime.u.HighPart != SharedUserData->InterruptTime.High2Time);
    -
    -  return CurrentTime.QuadPart;
    -}
    -
    -/*
    - * @implemented
    - */
    -ULONG
    -STDCALL
    -NtGetTickCount(VOID)
    -{
    -  LARGE_INTEGER TickCount;
    -  KeQueryTickCount(&TickCount);
    -  return TickCount.u.LowPart;
    -}
    -
    -/*
    - * @implemented
    - */
    -BOOLEAN STDCALL
    -KeSetTimer (PKTIMER		Timer,
    -	    LARGE_INTEGER	DueTime,
    -	    PKDPC		Dpc)
    -/*
    - * FUNCTION: Sets the absolute or relative interval at which a timer object
    - * is to be set to the signaled state and optionally supplies a 
    - * CustomTimerDpc to be executed when the timer expires.
    - * ARGUMENTS:
    - *          Timer = Points to a previously initialized timer object
    - *          DueTimer = If positive then absolute time to expire at
    - *                     If negative then the relative time to expire at
    - *          Dpc = If non-NULL then a dpc to be called when the timer expires
    - * RETURNS: True if the timer was already in the system timer queue
    - *          False otherwise
    - */
    -{
    -   return(KeSetTimerEx(Timer, DueTime, 0, Dpc));
    -}
    -
    -/*
    - * @implemented
    - */
    -BOOLEAN STDCALL
    -KeSetTimerEx (PKTIMER		Timer,
    -	      LARGE_INTEGER	DueTime,
    -	      LONG		Period,
    -	      PKDPC		Dpc)
    -/*
    - * FUNCTION: Sets the absolute or relative interval at which a timer object
    - * is to be set to the signaled state and optionally supplies a 
    - * CustomTimerDpc to be executed when the timer expires.
    - * ARGUMENTS:
    - *          Timer = Points to a previously initialized timer object
    - *          DueTimer = If positive then absolute time to expire at
    - *                     If negative then the relative time to expire at
    - *          Dpc = If non-NULL then a dpc to be called when the timer expires
    - * RETURNS: True if the timer was already in the system timer queue
    - *          False otherwise
    - */
    -{
    -   KIRQL oldlvl;
    -   LARGE_INTEGER Time;
    -   BOOLEAN AlreadyInList;
    -
    -   DPRINT("KeSetTimerEx(Timer %x), DueTime: \n",Timer);
    -
    -   ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
    -
    -   KeAcquireSpinLock(&TimerListLock, &oldlvl);
    -
    -   Timer->Dpc = Dpc;
    -   if (DueTime.QuadPart < 0)
    -     {
    -        Timer->Header.Absolute = 0;
    -	Timer->DueTime.QuadPart = KeQueryInterruptTime() - DueTime.QuadPart;
    -     }
    -   else
    -     {
    -        KeQuerySystemTime(&Time);
    -        Timer->Header.Absolute = 1;
    -	if (DueTime.QuadPart >= Time.QuadPart)
    -	  {
    -            Timer->DueTime.QuadPart = DueTime.QuadPart;
    -	  }
    -	else
    -	  {
    -	    Timer->DueTime.QuadPart = Time.QuadPart;
    -	  }
    -     }
    -   Timer->Period = Period;
    -   Timer->Header.SignalState = FALSE;
    -   AlreadyInList = (Timer->TimerListEntry.Flink == NULL) ? FALSE : TRUE;
    -   ASSERT((Timer->TimerListEntry.Flink == NULL && Timer->TimerListEntry.Blink == NULL) ||
    -          (Timer->TimerListEntry.Flink != NULL && Timer->TimerListEntry.Blink != NULL));
    -   if (AlreadyInList)
    -     {
    -       RemoveEntryList(&Timer->TimerListEntry);
    -     }
    -   if (Timer->Header.Absolute)
    -     {
    -       InsertAscendingList(&AbsoluteTimerListHead, 
    -                           KTIMER,
    -                           TimerListEntry, 
    -                           Timer,
    -                           DueTime.QuadPart);
    -
    -     }
    -   else
    -     {
    -       InsertAscendingList(&RelativeTimerListHead, 
    -                          KTIMER,
    -                          TimerListEntry, 
    -                          Timer, 
    -                          DueTime.QuadPart);
    -
    -     }
    -
    -   KeReleaseSpinLock(&TimerListLock, oldlvl);
    -
    -   return AlreadyInList;
    -}
    -
    -/*
    - * @implemented
    - */
    -BOOLEAN STDCALL
    -KeCancelTimer (PKTIMER	Timer)
    -/*
      * FUNCTION: Removes a timer from the system timer list
      * ARGUMENTS:
      *       Timer = timer to cancel
      * RETURNS: True if the timer was running
      *          False otherwise
      */
    +BOOLEAN 
    +STDCALL
    +KeCancelTimer(PKTIMER Timer)
     {
    -   KIRQL oldlvl;
    +    KIRQL OldIrql;
    +    BOOLEAN Inserted = FALSE;
        
    -   DPRINT("KeCancelTimer(Timer %x)\n",Timer);
    +    DPRINT("KeCancelTimer(Timer %x)\n",Timer);
     
    -   KeAcquireSpinLock(&TimerListLock, &oldlvl);
    +    /* Lock the Database and Raise IRQL */
    +    OldIrql = KeAcquireDispatcherDatabaseLock();
     
    -   if (Timer->TimerListEntry.Flink == NULL)
    -     {
    -	KeReleaseSpinLock(&TimerListLock, oldlvl);
    -	return(FALSE);
    -     }
    -   if (Timer->Header.Absolute)
    -     {
    -       ASSERT(&Timer->TimerListEntry != &AbsoluteTimerListHead);
    -     }
    -   else
    -     {
    -       ASSERT(&Timer->TimerListEntry != &RelativeTimerListHead);
    -     }
    -   ASSERT(Timer->TimerListEntry.Flink != &Timer->TimerListEntry);
    -   RemoveEntryList(&Timer->TimerListEntry);
    -   Timer->TimerListEntry.Flink = Timer->TimerListEntry.Blink = NULL;
    -   KeReleaseSpinLock(&TimerListLock, oldlvl);
    +    /* Check if it's inserted, and remove it if it is */
    +    if ((Inserted = Timer->Header.Inserted)) {
    +        
    +        /* Remove from list */
    +        DPRINT("Timer was inserted, removing\n");
    +        RemoveEntryList(&Timer->TimerListEntry);
    +        Timer->Header.Inserted = FALSE;
    +        
    +    } else {
    +    
    +        DPRINT("Timer was not inserted\n");
    +    }
     
    -   return(TRUE);
    +    /* Release Dispatcher Lock */
    +    KeReleaseDispatcherDatabaseLock(OldIrql);
    +
    +    /* Return the old state */
    +    DPRINT("Old State: %d\n", Inserted);
    +    return(Inserted);
     }
     
     /*
      * @implemented
    - */
    -BOOLEAN STDCALL
    -KeReadStateTimer (PKTIMER	Timer)
    -{
    -   return (BOOLEAN)(Timer->Header.SignalState);
    -}
    -
    -/*
    - * @implemented
    - */
    -VOID STDCALL
    -KeInitializeTimer (PKTIMER	Timer)
    -/*
    + *
      * FUNCTION: Initalizes a kernel timer object
      * ARGUMENTS:
      *          Timer = caller supplied storage for the timer
      * NOTE: This function initializes a notification timer
      */
    +VOID 
    +STDCALL
    +KeInitializeTimer (PKTIMER Timer)
    +
     {
    -   KeInitializeTimerEx(Timer, NotificationTimer);
    +    /* Call the New Function */
    +    KeInitializeTimerEx(Timer, NotificationTimer);
     }
     
     /*
      * @implemented
    - */
    -VOID STDCALL
    -KeInitializeTimerEx (PKTIMER		Timer,
    -		     TIMER_TYPE	Type)
    -/*
    + *
      * FUNCTION: Initializes a kernel timer object
      * ARGUMENTS:
      *          Timer = caller supplied storage for the timer
    @@ -475,443 +97,290 @@ KeInitializeTimerEx (PKTIMER		Timer,
      * syncrhonization timer expires its state is set to signalled until a
      * single waiting thread is released and then the timer is reset.
      */
    -{
    -   ULONG IType;
    -
    -   if (Type == NotificationTimer)
    -     {
    -	IType = InternalNotificationTimer;
    -     }
    -   else if (Type == SynchronizationTimer)
    -     {
    -	IType = InternalSynchronizationTimer;
    -     }
    -   else
    -     {
    -	ASSERT(FALSE);
    -	return;
    -     }
    -
    -   KeInitializeDispatcherHeader(&Timer->Header,
    -				IType,
    -				sizeof(KTIMER) / sizeof(ULONG),
    -				FALSE);
    -   Timer->TimerListEntry.Flink = Timer->TimerListEntry.Blink = NULL;
    -}
    -
    -/*
    - * @implemented
    - */
    -VOID STDCALL
    -KeQueryTickCount(PLARGE_INTEGER TickCount)
    -/*
    - * FUNCTION: Returns the number of ticks since the system was booted
    - * ARGUMENTS:
    - *         TickCount (OUT) = Points to storage for the number of ticks
    - */
    -{
    -  TickCount->QuadPart = KeTickCount;
    -}
    -
    -/*
    - * @implemented
    - */
    -ULONG
    +VOID 
     STDCALL
    -KeQueryRuntimeThread(
    -	IN PKTHREAD Thread,
    -	OUT PULONG UserTime
    -	)
    +KeInitializeTimerEx (PKTIMER Timer,
    +                     TIMER_TYPE Type)
     {
    -	/* Return the User Time */
    -	*UserTime = Thread->UserTime;
    -	
    -	/* Return the Kernel Time */
    -	return Thread->KernelTime;
    +
    +    DPRINT("KeInitializeTimerEx(%x, %d)\n", Timer, Type);
    +    
    +    /* Initialize the Dispatch Header */
    +    KeInitializeDispatcherHeader(&Timer->Header,
    +                                 InternalNotificationTimer + Type,
    +                                 sizeof(KTIMER) / sizeof(ULONG),
    +                                 FALSE);
    +   
    +    /* Initalize the List Head and other data */
    +    InitializeListHead(&Timer->Header.WaitListHead);
    +    Timer->DueTime.QuadPart = 0;
    +    Timer->Period = 0;
     }
     
    +
     /*
      * @implemented
      */
    +BOOLEAN 
    +STDCALL
    +KeReadStateTimer (PKTIMER Timer)
    +{
    +    /* Return the Signal State */
    +    return (BOOLEAN)Timer->Header.SignalState;
    +}
    +
    +/*
    + * @implemented
    + *
    + * FUNCTION: Sets the absolute or relative interval at which a timer object
    + * is to be set to the signaled state and optionally supplies a 
    + * CustomTimerDpc to be executed when the timer expires.
    + * ARGUMENTS:
    + *          Timer = Points to a previously initialized timer object
    + *          DueTimer = If positive then absolute time to expire at
    + *                     If negative then the relative time to expire at
    + *          Dpc = If non-NULL then a dpc to be called when the timer expires
    + * RETURNS: True if the timer was already in the system timer queue
    + *          False otherwise
    + */
    +BOOLEAN 
    +STDCALL
    +KeSetTimer (PKTIMER Timer,
    +            LARGE_INTEGER DueTime,
    +            PKDPC Dpc)
    +{
    +    /* Call the newer function and supply a period of 0 */
    +    return KeSetTimerEx(Timer, DueTime, 0, Dpc);
    +}
    +
    +/*
    + * @implemented
    + *
    + * FUNCTION: Sets the absolute or relative interval at which a timer object
    + * is to be set to the signaled state and optionally supplies a 
    + * CustomTimerDpc to be executed when the timer expires.
    + * ARGUMENTS:
    + *          Timer = Points to a previously initialized timer object
    + *          DueTimer = If positive then absolute time to expire at
    + *                     If negative then the relative time to expire at
    + *          Dpc = If non-NULL then a dpc to be called when the timer expires
    + * RETURNS: True if the timer was already in the system timer queue
    + *          False otherwise
    + */
    +BOOLEAN 
    +STDCALL
    +KeSetTimerEx (PKTIMER Timer,
    +              LARGE_INTEGER DueTime,
    +              LONG Period,
    +              PKDPC Dpc)
    +{
    +    KIRQL OldIrql;
    +    BOOLEAN Inserted;
    +
    +    DPRINT("KeSetTimerEx(Timer %x, DueTime %I64d, Period %d, Dpc %x)\n", Timer, DueTime.QuadPart, Period, Dpc);
    +    ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
    +
    +    /* Lock the Database and Raise IRQL */
    +    OldIrql = KeAcquireDispatcherDatabaseLock();
    +
    +    /* Check if it's inserted, and remove it if it is */
    +    if ((Inserted = Timer->Header.Inserted)) {
    +        
    +        /* Remove from list */
    +        DPRINT("Timer was already inserted\n");
    +        RemoveEntryList(&Timer->TimerListEntry);
    +        Timer->Header.Inserted = FALSE;        
    +    }
    +    
    +    /* Set Default Timer Data */ 
    +    Timer->Dpc = Dpc;
    +    Timer->Period = Period;
    +    Timer->Header.SignalState = FALSE;
    +    Timer->Header.Absolute = FALSE;
    +    
    +    /* Insert it */
    +    if (!KiInsertTimer(Timer, DueTime)) {
    +
    +       KiHandleExpiredTimer(Timer);
    +    };
    +
    +    /* Release Dispatcher Lock */
    +    KeReleaseDispatcherDatabaseLock(OldIrql);
    +
    +    /* Return old state */
    +    DPRINT("Old State: %d\n", Inserted);
    +    return Inserted;
    +}
    +
     VOID
     STDCALL
    -KeSetTimeIncrement(
    -    IN ULONG MaxIncrement,
    -    IN ULONG MinIncrement
    -)
    +KiExpireTimers(PKDPC Dpc,
    +               PVOID DeferredContext,
    +               PVOID SystemArgument1,
    +               PVOID SystemArgument2)
     {
    -	/* Set some Internal Variables */
    -	/* FIXME: We use a harcoded CLOCK_INCREMENT. That *must* be changed */
    -	KeMaximumIncrement = MaxIncrement;
    -	KeMinimumIncrement = MinIncrement;
    +    ULONG Eip = (ULONG)SystemArgument1;
    +    PKTIMER Timer;
    +    ULONGLONG InterruptTime;
    +    LIST_ENTRY ExpiredTimerList;
    +    PLIST_ENTRY CurrentEntry = NULL;
    +    KIRQL OldIrql;
    +
    +    DPRINT("KiExpireTimers(Dpc: %x)\n", Dpc);
    +    
    +    /* Initialize the Expired Timer List */
    +    InitializeListHead(&ExpiredTimerList);
    +
    +    /* Lock the Database and Raise IRQL */
    +    OldIrql = KeAcquireDispatcherDatabaseLock();
    +    
    +    /* Query Interrupt Times */ 
    +    InterruptTime = KeQueryInterruptTime();
    +
    +    /* Loop through the Timer List and remove Expired Timers. Insert them into the Expired Listhead */
    +    CurrentEntry = KiTimerListHead.Flink;
    +    while (CurrentEntry != &KiTimerListHead) {
    +    
    +        /* Get the Current Timer */
    +        Timer = CONTAINING_RECORD(CurrentEntry, KTIMER, TimerListEntry);
    +        DPRINT("Looping for Timer: %x. Duetime: %I64d. InterruptTime %I64d \n", Timer, Timer->DueTime.QuadPart, InterruptTime);
    +        
    +        /* Check if we have to Expire it */
    +        if (InterruptTime < Timer->DueTime.QuadPart) break;
    +        
    +        CurrentEntry = CurrentEntry->Flink;
    +       
    +        /* Remove it from the Timer List, add it to the Expired List */
    +        RemoveEntryList(&Timer->TimerListEntry);
    +        InsertTailList(&ExpiredTimerList, &Timer->TimerListEntry);
    +    }
    +    
    +    /* Expire the Timers */
    +    while ((CurrentEntry = RemoveHeadList(&ExpiredTimerList)) != &ExpiredTimerList) {
    +        
    +        /* Get the Timer */
    +        Timer = CONTAINING_RECORD(CurrentEntry, KTIMER, TimerListEntry);
    +        DPRINT("Expiring Timer: %x\n", Timer);
    +        
    +        /* Expire it */
    +        KiHandleExpiredTimer(Timer);
    +    }
    +
    +    DPRINT("Timers expired\n");
    +    /* Add a Profile Event */
    +    KiAddProfileEvent(ProfileTime, Eip);
    +
    +    /* Release Dispatcher Lock */
    +    KeReleaseDispatcherDatabaseLock(OldIrql);
     }
     
     /*
      * We enter this function at IRQL DISPATCH_LEVEL, and with the
    - * TimerListLock held.
    - */
    -STATIC VOID 
    -HandleExpiredTimer(PKTIMER Timer)
    -{
    -   DPRINT("HandleExpiredTime(Timer %x)\n", Timer);
    -   if (Timer->Dpc != NULL)
    -     {
    -	DPRINT("Timer->Dpc %x Timer->Dpc->DeferredRoutine %x\n",
    -	       Timer->Dpc, Timer->Dpc->DeferredRoutine);
    -	KeInsertQueueDpc(Timer->Dpc,
    -			 NULL,
    -			 NULL);
    -	DPRINT("Finished dpc routine\n");
    -     }
    -
    -   ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);
    -
    -   KeAcquireDispatcherDatabaseLockAtDpcLevel();
    -   Timer->Header.SignalState = TRUE;
    -   KiDispatcherObjectWake(&Timer->Header, 0);
    -   KeReleaseDispatcherDatabaseLockFromDpcLevel();
    -
    -   if (Timer->Period != 0)
    -     {
    -       Timer->DueTime.QuadPart += 
    -	 Timer->Period * SYSTEM_TIME_UNITS_PER_MSEC;
    -       if (Timer->Header.Absolute)
    -         {
    -           InsertAscendingList(&AbsoluteTimerListHead, 
    -                               KTIMER,
    -                               TimerListEntry,
    -                               Timer, 
    -	                             DueTime.QuadPart);
    -         }
    -       else
    -         {
    -           InsertAscendingList(&RelativeTimerListHead, 
    -                               KTIMER,
    -                               TimerListEntry, 
    -                               Timer,
    -	                             DueTime.QuadPart);
    -         }
    -     }
    -}
    -
    -VOID STDCALL
    -KeExpireTimers(PKDPC Dpc,
    -	       PVOID Context1,
    -	       PVOID Arg1,
    -	       PVOID Arg2)
    -{
    -   PLIST_ENTRY current_entry = NULL;
    -   PKTIMER current = NULL;
    -   ULONG Eip = (ULONG)Arg1;
    -   LARGE_INTEGER InterruptTime;
    -   LARGE_INTEGER SystemTime;
    -   LIST_ENTRY TimerList;
    -
    -   DPRINT("KeExpireTimers()\n");
    -
    -   ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);
    -
    -   InitializeListHead(&TimerList);
    -
    -   KeAcquireSpinLockAtDpcLevel(&TimerListLock);
    -
    -   InterruptTime.QuadPart = KeQueryInterruptTime();
    -   KeQuerySystemTime(&SystemTime);
    -
    -   current_entry = RelativeTimerListHead.Flink;
    -   ASSERT(current_entry);
    -   while (current_entry != &RelativeTimerListHead)
    -     {
    -       current = CONTAINING_RECORD(current_entry, KTIMER, TimerListEntry);
    -       ASSERT(current);
    -       ASSERT(current_entry != &RelativeTimerListHead);
    -       ASSERT(current_entry->Flink != current_entry);
    -       if ((ULONGLONG)InterruptTime.QuadPart < current->DueTime.QuadPart)
    -         {
    -	   break;
    -	 }
    -       current_entry = current_entry->Flink;
    -       RemoveEntryList(¤t->TimerListEntry);
    -       InsertTailList(&TimerList, ¤t->TimerListEntry);
    -     }
    -
    -   current_entry = AbsoluteTimerListHead.Flink;
    -   ASSERT(current_entry);
    -   while (current_entry != &AbsoluteTimerListHead)
    -     {
    -       current = CONTAINING_RECORD(current_entry, KTIMER, TimerListEntry);
    -       ASSERT(current);
    -       ASSERT(current_entry != &AbsoluteTimerListHead);
    -       ASSERT(current_entry->Flink != current_entry);
    -       if ((ULONGLONG)SystemTime.QuadPart < current->DueTime.QuadPart)
    -         {
    -	   break;
    -	 }
    -       current_entry = current_entry->Flink;
    -       RemoveEntryList(¤t->TimerListEntry);
    -       InsertTailList(&TimerList, ¤t->TimerListEntry);
    -     }
    -
    -   while (!IsListEmpty(&TimerList))
    -     {
    -       current_entry = RemoveHeadList(&TimerList);
    -       current = CONTAINING_RECORD(current_entry, KTIMER, TimerListEntry);
    -       current->TimerListEntry.Flink = current->TimerListEntry.Blink = NULL;
    -       HandleExpiredTimer(current);
    -     }
    -
    -   KiAddProfileEvent(ProfileTime, Eip);
    -
    -   KeReleaseSpinLockFromDpcLevel(&TimerListLock);
    -}
    -
    -
    -VOID INIT_FUNCTION
    -KeInitializeTimerImpl(VOID)
    -/*
    - * FUNCTION: Initializes timer irq handling
    - * NOTE: This is only called once from main()
    - */
    -{
    -   TIME_FIELDS TimeFields;
    -
    -   DPRINT("KeInitializeTimerImpl()\n");
    -   InitializeListHead(&AbsoluteTimerListHead);
    -   InitializeListHead(&RelativeTimerListHead);
    -   KeInitializeSpinLock(&TimerListLock);
    -   KeInitializeDpc(&ExpireTimerDpc, KeExpireTimers, 0);
    -   /*
    -    * Calculate the starting time for the system clock
    -    */
    -   HalQueryRealTimeClock(&TimeFields);
    -   RtlTimeFieldsToTime(&TimeFields, &SystemBootTime);
    -
    -   SharedUserData->TickCountLowDeprecated = 0;
    -   SharedUserData->TickCountMultiplier = 167783691; // 2^24 * 1193182 / 119310
    -   SharedUserData->InterruptTime.High2Time = 0;
    -   SharedUserData->InterruptTime.LowPart = 0;
    -   SharedUserData->InterruptTime.High1Time = 0;
    -   SharedUserData->SystemTime.High2Time = SystemBootTime.u.HighPart;
    -   SharedUserData->SystemTime.LowPart = SystemBootTime.u.LowPart;
    -   SharedUserData->SystemTime.High1Time = SystemBootTime.u.HighPart;
    -
    -   TimerInitDone = TRUE;
    -   DPRINT("Finished KeInitializeTimerImpl()\n");
    -}
    -
    -/*
    - * @unimplemented
    - */
    -VOID
    -FASTCALL
    -KeSetTimeUpdateNotifyRoutine(
    -    IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine
    -    )
    -{
    -	UNIMPLEMENTED;
    -}
    -
    -
    -/*
    - * NOTE: On Windows this function takes exactly one parameter and EBP is
    - *       guaranteed to point to KTRAP_FRAME. The function is used only
    - *       by HAL, so there's no point in keeping that prototype.
    - *
    - * @implemented
    - */
    -VOID
    -STDCALL
    -KeUpdateRunTime(
    -    IN PKTRAP_FRAME  TrapFrame,
    -    IN KIRQL  Irql
    -    )
    -{
    -   PKPCR Pcr;
    -   PKTHREAD CurrentThread;
    -   PKPROCESS CurrentProcess;
    -#if 0
    -   ULONG DpcLastCount;
    -#endif
    -
    -   Pcr = KeGetCurrentKPCR();
    -
    -   /* Make sure we don't go further if we're in early boot phase. */
    -   if (Pcr == NULL || Pcr->PrcbData.CurrentThread == NULL)
    -      return;
    -
    -   DPRINT("KernelTime  %u, UserTime %u \n", Pcr->PrcbData.KernelTime, Pcr->PrcbData.UserTime);
    -
    -   CurrentThread = Pcr->PrcbData.CurrentThread;
    -   CurrentProcess = CurrentThread->ApcState.Process;
    -
    -   /* 
    -    * Cs bit 0 is always set for user mode if we are in protected mode.
    -    * V86 mode is counted as user time.
    -    */
    -   if (TrapFrame->Cs & 0x1 ||
    -       TrapFrame->Eflags & X86_EFLAGS_VM)
    -   {
    -      InterlockedIncrementUL(&CurrentThread->UserTime);
    -      InterlockedIncrementUL(&CurrentProcess->UserTime);
    -      Pcr->PrcbData.UserTime++;
    -   }
    -   else
    -   {
    -      if (Irql > DISPATCH_LEVEL)
    -      {
    -         Pcr->PrcbData.InterruptTime++;
    -      }
    -      else if (Irql == DISPATCH_LEVEL)
    -      {
    -         Pcr->PrcbData.DpcTime++;
    -      }
    -      else
    -      {
    -         InterlockedIncrementUL(&CurrentThread->KernelTime);
    -         InterlockedIncrementUL(&CurrentProcess->KernelTime);
    -	 Pcr->PrcbData.KernelTime++;
    -      }
    -   }
    -
    -#if 0
    -   DpcLastCount = Pcr->PrcbData.DpcLastCount;
    -   Pcr->PrcbData.DpcLastCount = Pcr->PrcbData.DpcCount;
    -   Pcr->PrcbData.DpcRequestRate = ((Pcr->PrcbData.DpcCount - DpcLastCount) +
    -                                   Pcr->PrcbData.DpcRequestRate) / 2;
    -#endif
    -
    -   if (Pcr->PrcbData.DpcData[0].DpcQueueDepth > 0 &&
    -       Pcr->PrcbData.DpcRoutineActive == FALSE &&
    -       Pcr->PrcbData.DpcInterruptRequested == FALSE)
    -   {
    -      HalRequestSoftwareInterrupt(DISPATCH_LEVEL);
    -   }
    -
    -   /* FIXME: Do DPC rate adjustments */
    -
    -   /*
    -    * If we're at end of quantum request software interrupt. The rest
    -    * is handled in KiDispatchInterrupt.
    -    */
    -   if ((CurrentThread->Quantum -= 3) <= 0)
    -   {
    -     Pcr->PrcbData.QuantumEnd = TRUE;
    -     HalRequestSoftwareInterrupt(DISPATCH_LEVEL);
    -   }
    -}
    -
    -
    -/*
    - * NOTE: On Windows this function takes exactly zero parameters and EBP is
    - *       guaranteed to point to KTRAP_FRAME. Also [esp+0] contains an IRQL.
    - *       The function is used only by HAL, so there's no point in keeping
    - *       that prototype.
    - *
    - * @implemented
    + * Dispatcher Lock held!
      */
     VOID 
     STDCALL
    -KeUpdateSystemTime(
    -    IN PKTRAP_FRAME  TrapFrame,
    -    IN KIRQL  Irql
    -    )
    +KiHandleExpiredTimer(PKTIMER Timer)
    +{
    +
    +    LARGE_INTEGER DueTime;
    +    DPRINT("HandleExpiredTime(Timer %x)\n", Timer);
    +    
    +    if(Timer->Header.Inserted) {
    +
    +       /* First of all, remove the Timer */
    +       Timer->Header.Inserted = FALSE;
    +       RemoveEntryList(&Timer->TimerListEntry);
    +    }
    +    
    +    /* Set it as Signaled */
    +    DPRINT("Setting Timer as Signaled\n");
    +    Timer->Header.SignalState = TRUE;
    +    KiDispatcherObjectWake(&Timer->Header, 0);   
    +
    +    /* If the Timer is periodic, reinsert the timer with the new due time */
    +    if (Timer->Period) {
    +        
    +        /* Reinsert the Timer */
    +        DueTime.QuadPart = Timer->Period * -SYSTEM_TIME_UNITS_PER_MSEC;
    +        if (!KiInsertTimer(Timer, DueTime)) {
    +
    +           /* FIXME: I will think about how to handle this and fix it ASAP -- Alex */
    +           DPRINT1("CRITICAL UNHANDLED CASE: TIMER ALREADY EXPIRED!!!\n");
    +        };
    +    }
    +    
    +    /* Check if the Timer has a DPC */
    +    if (Timer->Dpc) {
    +
    +        DPRINT("Timer->Dpc %x Timer->Dpc->DeferredRoutine %x\n", Timer->Dpc, Timer->Dpc->DeferredRoutine);
    +        
    +        /* Insert the DPC */
    +        KeInsertQueueDpc(Timer->Dpc,
    +                         NULL,
    +                         NULL);
    +        
    +        DPRINT("Finished dpc routine\n");
    +    }
    +}
    +
     /*
    - * FUNCTION: Handles a timer interrupt
    + * Note: This function is called with the Dispatcher Lock held.
      */
    +BOOLEAN
    +STDCALL
    +KiInsertTimer(PKTIMER Timer,
    +              LARGE_INTEGER DueTime)
     {
    -   LARGE_INTEGER Time;
    -
    -   ASSERT(KeGetCurrentIrql() == PROFILE_LEVEL);
    -
    -   KiRawTicks++;
    -   
    -   if (TimerInitDone == FALSE)
    -     {
    -	return;
    -     }
    -   /*
    -    * Increment the number of timers ticks 
    -    */
    -   KeTickCount++;
    -   SharedUserData->TickCountLowDeprecated++;
    -
    -   Time.u.LowPart = SharedUserData->InterruptTime.LowPart;
    -   Time.u.HighPart = SharedUserData->InterruptTime.High1Time;
    -   Time.QuadPart += CLOCK_INCREMENT;
    -   SharedUserData->InterruptTime.High2Time = Time.u.HighPart;
    -   SharedUserData->InterruptTime.LowPart = Time.u.LowPart;
    -   SharedUserData->InterruptTime.High1Time = Time.u.HighPart;
    -
    -   Time.u.LowPart = SharedUserData->SystemTime.LowPart;
    -   Time.u.HighPart = SharedUserData->SystemTime.High1Time;
    -   Time.QuadPart += CLOCK_INCREMENT;
    -   SharedUserData->SystemTime.High2Time = Time.u.HighPart;
    -   SharedUserData->SystemTime.LowPart = Time.u.LowPart;
    -   SharedUserData->SystemTime.High1Time = Time.u.HighPart;
    -
    -   /* FIXME: Here we should check for remote debugger break-ins */
    -
    -   /* Update process and thread times */
    -   KeUpdateRunTime(TrapFrame, Irql);
    -
    -   /*
    -    * Queue a DPC that will expire timers
    -    */
    -   KeInsertQueueDpc(&ExpireTimerDpc, (PVOID)TrapFrame->Eip, 0);
    -}
    -
    -
    -VOID
    -KiSetSystemTime(PLARGE_INTEGER NewSystemTime)
    -{
    -  LARGE_INTEGER OldSystemTime;
    -  LARGE_INTEGER DeltaTime;
    -  KIRQL OldIrql;
    -  PLIST_ENTRY current_entry = NULL;
    -  PKTIMER current = NULL;
    -
    -  ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
    -
    -  OldIrql = KeAcquireDispatcherDatabaseLock();
    -
    -  do
    -    {
    -      OldSystemTime.u.HighPart = SharedUserData->SystemTime.High1Time;
    -      OldSystemTime.u.LowPart = SharedUserData->SystemTime.LowPart;
    +    LARGE_INTEGER SystemTime;
    +    LARGE_INTEGER DifferenceTime;
    +    ULONGLONG InterruptTime;
    +    
    +    DPRINT("KiInsertTimer(Timer %x DueTime %I64d)\n", Timer, DueTime.QuadPart);
    +    
    +    /* Set it as Inserted */
    +    Timer->Header.Inserted = TRUE;
    +    
    +    /* Convert to relative time if needed */
    +    if (DueTime.u.HighPart >= 0) {
    +        
    +        /* Get System Time */
    +        KeQuerySystemTime(&SystemTime);
    +        
    +        /* Do the conversion */
    +        DifferenceTime.QuadPart = SystemTime.QuadPart - DueTime.QuadPart;
    +        DPRINT("Time Difference is: %I64d\n", DifferenceTime.QuadPart);
    +        
    +        /* Make sure it hasn't already expired */
    +        if (DifferenceTime.u.HighPart >= 0) {
    +        
    +            /* Cancel everything */
    +            DPRINT("Timer already expired: %d\n", DifferenceTime.u.HighPart);
    +            Timer->Header.SignalState = TRUE;
    +            Timer->Header.Inserted = FALSE;
    +            return FALSE;
    +        }
    +        
    +        /* Set the time as Absolute */
    +        Timer->Header.Absolute = TRUE;
    +        DueTime = DifferenceTime;
         }
    -  while (OldSystemTime.u.HighPart != SharedUserData->SystemTime.High2Time);
    -
    -  /* Set the new system time */
    -  SharedUserData->SystemTime.LowPart = NewSystemTime->u.LowPart;
    -  SharedUserData->SystemTime.High1Time = NewSystemTime->u.HighPart;
    -  SharedUserData->SystemTime.High2Time = NewSystemTime->u.HighPart;
    -
    -  /* Calculate the difference between the new and the old time */
    -  DeltaTime.QuadPart = NewSystemTime->QuadPart - OldSystemTime.QuadPart;
    -
    -  /* Update system boot time */
    -  SystemBootTime.QuadPart += DeltaTime.QuadPart;
    -
    -  /* Update all relative timers */
    -  current_entry = RelativeTimerListHead.Flink;
    -  ASSERT(current_entry);
    -  while (current_entry != &RelativeTimerListHead)
    -    {
    -      current = CONTAINING_RECORD(current_entry, KTIMER, TimerListEntry);
    -      ASSERT(current);
    -      ASSERT(current_entry != &RelativeTimerListHead);
    -      ASSERT(current_entry->Flink != current_entry);
    -
    -      current->DueTime.QuadPart += DeltaTime.QuadPart;
    -
    -      current_entry = current_entry->Flink;
    -    }
    -
    -  KeReleaseDispatcherDatabaseLock(OldIrql);
    -
    -  /*
    -   * NOTE: Expired timers will be processed at the next clock tick!
    -   */
    +    
    +    /* Get the Interrupt Time */
    +    InterruptTime = KeQueryInterruptTime();
    +    
    +    /* Set the Final Due Time */
    +    Timer->DueTime.QuadPart = InterruptTime - DueTime.QuadPart;
    +    DPRINT("Final Due Time is: %I64d\n", Timer->DueTime.QuadPart);
    +    
    +    /* Now insert it into the Timer List */    
    +    DPRINT("Inserting Timer into list\n");
    +    InsertAscendingList(&KiTimerListHead, 
    +                        KTIMER,
    +                        TimerListEntry, 
    +                        Timer,
    +                        DueTime.QuadPart);
    +    
    +    return TRUE;
     }
    -
     /* EOF */
    diff --git a/reactos/ntoskrnl/ke/wait.c b/reactos/ntoskrnl/ke/wait.c
    index 3cff12ee706..a6575e9bb88 100644
    --- a/reactos/ntoskrnl/ke/wait.c
    +++ b/reactos/ntoskrnl/ke/wait.c
    @@ -397,6 +397,32 @@ BOOLEAN KiDispatcherObjectWake(DISPATCHER_HEADER* hdr, KPRIORITY increment)
        return(FALSE);
     }
     
    +/*
    + * @implemented
    + */
    +NTSTATUS STDCALL
    +KeDelayExecutionThread (KPROCESSOR_MODE	WaitMode,
    +			BOOLEAN		Alertable,
    +			PLARGE_INTEGER	Interval)
    +/*
    + * FUNCTION: Puts the current thread into an alertable or nonalertable 
    + * wait state for a given internal
    + * ARGUMENTS:
    + *          WaitMode = Processor mode in which the caller is waiting
    + *          Altertable = Specifies if the wait is alertable
    + *          Interval = Specifies the interval to wait
    + * RETURNS: Status
    + */
    +{
    +   PKTHREAD Thread = KeGetCurrentThread();
    +
    +   KeSetTimer(&Thread->Timer, *Interval, NULL);
    +   return (KeWaitForSingleObject(&Thread->Timer,
    +				 (WaitMode == KernelMode) ? Executive : UserRequest, /* TMN: Was unconditionally Executive */
    +				 WaitMode, /* TMN: Was UserMode */
    +				 Alertable,
    +				 NULL));
    +}
     
     /*
      * @implemented
    @@ -585,13 +611,13 @@ KeWaitForMultipleObjects(ULONG Count,
                 {
                    Abandoned = KiSideEffectsBeforeWake(hdr, CurrentThread) ? TRUE : Abandoned;
     
    +               KeReleaseDispatcherDatabaseLock(OldIrql);               
    +               
                    if (Timeout != NULL && Timeout->QuadPart != 0)
                    {
                       KeCancelTimer(&CurrentThread->Timer);
                    }
     
    -               KeReleaseDispatcherDatabaseLock(OldIrql);
    -
                    DPRINT("One object is (already) signaled!\n");
                    if (Abandoned == TRUE)
                    {
    @@ -612,12 +638,13 @@ KeWaitForMultipleObjects(ULONG Count,
                 Abandoned = KiSideEffectsBeforeWake(hdr, CurrentThread) ? TRUE : Abandoned;
              }
     
    +         KeReleaseDispatcherDatabaseLock(OldIrql);
    +         
              if (Timeout != NULL && Timeout->QuadPart != 0)
              {
                 KeCancelTimer(&CurrentThread->Timer);
              }
     
    -         KeReleaseDispatcherDatabaseLock(OldIrql);
              DPRINT("All objects are (already) signaled!\n");
     
              if (Abandoned == TRUE)
    @@ -641,8 +668,8 @@ KeWaitForMultipleObjects(ULONG Count,
           if (Timeout != NULL && KiIsObjectSignalled(&CurrentThread->Timer.Header, CurrentThread))
           {
              KiSideEffectsBeforeWake(&CurrentThread->Timer.Header, CurrentThread);
    -         KeCancelTimer(&CurrentThread->Timer);
              KeReleaseDispatcherDatabaseLock(OldIrql);
    +         KeCancelTimer(&CurrentThread->Timer);
              return (STATUS_TIMEOUT);
           }
     
    @@ -758,45 +785,71 @@ VOID KeInitializeDispatcher(VOID)
     }
     
     NTSTATUS STDCALL
    -NtWaitForMultipleObjects(IN ULONG Count,
    -			 IN HANDLE Object [],
    +NtWaitForMultipleObjects(IN ULONG ObjectCount,
    +			 IN PHANDLE ObjectsArray,
     			 IN WAIT_TYPE WaitType,
     			 IN BOOLEAN Alertable,
    -			 IN PLARGE_INTEGER UnsafeTime)
    +			 IN PLARGE_INTEGER TimeOut  OPTIONAL)
     {
        KWAIT_BLOCK WaitBlockArray[MAXIMUM_WAIT_OBJECTS];
    +   HANDLE SafeObjectsArray[MAXIMUM_WAIT_OBJECTS];
        PVOID ObjectPtrArray[MAXIMUM_WAIT_OBJECTS];
    -   NTSTATUS Status;
        ULONG i, j;
    -   KPROCESSOR_MODE WaitMode;
    -   LARGE_INTEGER Time;
    +   KPROCESSOR_MODE PreviousMode;
    +   LARGE_INTEGER SafeTimeOut;
    +   NTSTATUS Status = STATUS_SUCCESS;
     
    -   DPRINT("NtWaitForMultipleObjects(Count %lu Object[] %x, Alertable %d, "
    -	  "Time %x)\n", Count,Object,Alertable,Time);
    +   DPRINT("NtWaitForMultipleObjects(ObjectCount %lu ObjectsArray[] %x, Alertable %d, "
    +	  "TimeOut %x)\n", ObjectCount,ObjectsArray,Alertable,TimeOut);
     
    -   if (Count > MAXIMUM_WAIT_OBJECTS)
    +   PreviousMode = ExGetPreviousMode();
    +
    +   if (ObjectCount > MAXIMUM_WAIT_OBJECTS)
          return STATUS_UNSUCCESSFUL;
    -   if (0 == Count)
    +   if (0 == ObjectCount)
          return STATUS_INVALID_PARAMETER;
     
    -   if (UnsafeTime)
    +   if(PreviousMode != KernelMode)
    +   {
    +     _SEH_TRY
          {
    -       Status = MmCopyFromCaller(&Time, UnsafeTime, sizeof(LARGE_INTEGER));
    -       if (!NT_SUCCESS(Status))
    -         {
    -           return(Status);
    -         }
    +       ProbeForRead(ObjectsArray,
    +                    ObjectCount * sizeof(ObjectsArray[0]),
    +                    sizeof(ULONG));
    +       /* make a copy so we don't have to guard with SEH later and keep track of
    +          what objects we referenced in case dereferencing pointers suddenly fails */
    +       RtlCopyMemory(SafeObjectsArray, ObjectsArray, ObjectCount * sizeof(ObjectsArray[0]));
    +       ObjectsArray = SafeObjectsArray;
    +       
    +       if(TimeOut != NULL)
    +       {
    +         ProbeForRead(TimeOut,
    +                      sizeof(LARGE_INTEGER),
    +                      sizeof(ULONG));
    +         /* make a local copy of the timeout on the stack */
    +         SafeTimeOut = *TimeOut;
    +         TimeOut = &SafeTimeOut;
    +       }
          }
    -
    -   WaitMode = ExGetPreviousMode();
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
     
        /* reference all objects */
    -   for (i = 0; i < Count; i++)
    +   for (i = 0; i < ObjectCount; i++)
          {
    -        Status = ObReferenceObjectByHandle(Object[i],
    +        Status = ObReferenceObjectByHandle(ObjectsArray[i],
                                                SYNCHRONIZE,
                                                NULL,
    -                                           WaitMode,
    +                                           PreviousMode,
                                                &ObjectPtrArray[i],
                                                NULL);
             if (!NT_SUCCESS(Status) || !KiIsObjectWaitable(ObjectPtrArray[i]))
    @@ -818,17 +871,17 @@ NtWaitForMultipleObjects(IN ULONG Count,
               }
          }
     
    -   Status = KeWaitForMultipleObjects(Count,
    +   Status = KeWaitForMultipleObjects(ObjectCount,
                                          ObjectPtrArray,
                                          WaitType,
                                          UserRequest,
    -                                     WaitMode,
    +                                     PreviousMode,
                                          Alertable,
    -				     UnsafeTime ? &Time : NULL,
    +				     TimeOut,
                                          WaitBlockArray);
     
        /* dereference all objects */
    -   for (i = 0; i < Count; i++)
    +   for (i = 0; i < ObjectCount; i++)
          {
             ObDereferenceObject(ObjectPtrArray[i]);
          }
    @@ -841,33 +894,47 @@ NtWaitForMultipleObjects(IN ULONG Count,
      * @implemented
      */
     NTSTATUS STDCALL
    -NtWaitForSingleObject(IN HANDLE Object,
    +NtWaitForSingleObject(IN HANDLE ObjectHandle,
     		      IN BOOLEAN Alertable,
    -		      IN PLARGE_INTEGER UnsafeTime)
    +		      IN PLARGE_INTEGER TimeOut  OPTIONAL)
     {
        PVOID ObjectPtr;
    -   NTSTATUS Status;
    -   KPROCESSOR_MODE WaitMode;
    -   LARGE_INTEGER Time;
    +   KPROCESSOR_MODE PreviousMode;
    +   LARGE_INTEGER SafeTimeOut;
    +   NTSTATUS Status = STATUS_SUCCESS;
     
    -   DPRINT("NtWaitForSingleObject(Object %x, Alertable %d, Time %x)\n",
    -	  Object,Alertable,Time);
    +   DPRINT("NtWaitForSingleObject(ObjectHandle %x, Alertable %d, TimeOut %x)\n",
    +	  ObjectHandle,Alertable,TimeOut);
     
    -   if (UnsafeTime)
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   if(TimeOut != NULL && PreviousMode != KernelMode)
    +   {
    +     _SEH_TRY
          {
    -       Status = MmCopyFromCaller(&Time, UnsafeTime, sizeof(LARGE_INTEGER));
    -       if (!NT_SUCCESS(Status))
    -         {
    -           return(Status);
    -         }
    +       ProbeForRead(TimeOut,
    +                    sizeof(LARGE_INTEGER),
    +                    sizeof(ULONG));
    +       /* make a copy on the stack */
    +       SafeTimeOut = *TimeOut;
    +       TimeOut = &SafeTimeOut;
          }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
     
    -   WaitMode = ExGetPreviousMode();
    -
    -   Status = ObReferenceObjectByHandle(Object,
    +   Status = ObReferenceObjectByHandle(ObjectHandle,
     				      SYNCHRONIZE,
     				      NULL,
    -				      WaitMode,
    +				      PreviousMode,
     				      &ObjectPtr,
     				      NULL);
        if (!NT_SUCCESS(Status))
    @@ -884,9 +951,9 @@ NtWaitForSingleObject(IN HANDLE Object,
          {
            Status = KeWaitForSingleObject(ObjectPtr,
     				      UserRequest,
    -				      WaitMode,
    +				      PreviousMode,
     				      Alertable,
    -				      UnsafeTime ? &Time : NULL);
    +				      TimeOut);
          }
     
        ObDereferenceObject(ObjectPtr);
    @@ -896,22 +963,47 @@ NtWaitForSingleObject(IN HANDLE Object,
     
     
     NTSTATUS STDCALL
    -NtSignalAndWaitForSingleObject(IN HANDLE SignalObject,
    -			       IN HANDLE WaitObject,
    +NtSignalAndWaitForSingleObject(IN HANDLE ObjectHandleToSignal,
    +			       IN HANDLE WaitableObjectHandle,
     			       IN BOOLEAN Alertable,
    -			       IN PLARGE_INTEGER Time)
    +			       IN PLARGE_INTEGER TimeOut  OPTIONAL)
     {
    -   KPROCESSOR_MODE WaitMode;
    +   KPROCESSOR_MODE PreviousMode;
        DISPATCHER_HEADER* hdr;
        PVOID SignalObj;
        PVOID WaitObj;
    -   NTSTATUS Status;
    +   LARGE_INTEGER SafeTimeOut;
    +   NTSTATUS Status = STATUS_SUCCESS;
     
    -   WaitMode = ExGetPreviousMode();
    -   Status = ObReferenceObjectByHandle(SignalObject,
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   if(TimeOut != NULL && PreviousMode != KernelMode)
    +   {
    +     _SEH_TRY
    +     {
    +       ProbeForRead(TimeOut,
    +                    sizeof(LARGE_INTEGER),
    +                    sizeof(ULONG));
    +       /* make a copy on the stack */
    +       SafeTimeOut = *TimeOut;
    +       TimeOut = &SafeTimeOut;
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
    +   
    +   Status = ObReferenceObjectByHandle(ObjectHandleToSignal,
     				      0,
     				      NULL,
    -				      WaitMode,
    +				      PreviousMode,
     				      &SignalObj,
     				      NULL);
        if (!NT_SUCCESS(Status))
    @@ -919,10 +1011,10 @@ NtSignalAndWaitForSingleObject(IN HANDLE SignalObject,
     	return Status;
          }
     
    -   Status = ObReferenceObjectByHandle(WaitObject,
    +   Status = ObReferenceObjectByHandle(WaitableObjectHandle,
     				      SYNCHRONIZE,
     				      NULL,
    -				      WaitMode,
    +				      PreviousMode,
     				      &WaitObj,
     				      NULL);
        if (!NT_SUCCESS(Status))
    @@ -961,9 +1053,9 @@ NtSignalAndWaitForSingleObject(IN HANDLE SignalObject,
     
        Status = KeWaitForSingleObject(WaitObj,
     				  UserRequest,
    -				  WaitMode,
    +				  PreviousMode,
     				  Alertable,
    -				  Time);
    +				  TimeOut);
     
        ObDereferenceObject(SignalObj);
        ObDereferenceObject(WaitObj);
    diff --git a/reactos/ntoskrnl/lpc/port.c b/reactos/ntoskrnl/lpc/port.c
    index 6735cc195d8..f7710930f40 100644
    --- a/reactos/ntoskrnl/lpc/port.c
    +++ b/reactos/ntoskrnl/lpc/port.c
    @@ -33,11 +33,11 @@ static GENERIC_MAPPING ExpPortMapping = {
     NTSTATUS INIT_FUNCTION
     LpcpInitSystem (VOID)
     {
    -    /* Allocate Memory for the LPC Object */
    -    LpcPortObjectType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));
    -    RtlZeroMemory (LpcPortObjectType, sizeof (OBJECT_TYPE));
    +   /* Allocate Memory for the LPC Object */
    +   LpcPortObjectType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));
    +   RtlZeroMemory (LpcPortObjectType, sizeof (OBJECT_TYPE));
        
    -    RtlRosInitUnicodeStringFromLiteral(&LpcPortObjectType->TypeName,L"Port");
    +   RtlInitUnicodeString(&LpcPortObjectType->TypeName,L"Port");
        
        LpcPortObjectType->Tag = TAG('L', 'P', 'R', 'T');
        LpcPortObjectType->PeakObjects = 0;
    diff --git a/reactos/ntoskrnl/mm/i386/memsafe.s b/reactos/ntoskrnl/mm/i386/memsafe.s
    index 248327b1e26..6c827cf1b13 100644
    --- a/reactos/ntoskrnl/mm/i386/memsafe.s
    +++ b/reactos/ntoskrnl/mm/i386/memsafe.s
    @@ -4,6 +4,9 @@
     .globl _MmSafeCopyToUser
     .globl _MmSafeCopyToUserUnsafeStart
     .globl _MmSafeCopyToUserRestart
    +.globl @MmSafeReadPtr@4
    +.globl _MmSafeReadPtrStart
    +.globl _MmSafeReadPtrEnd
     
     	/*
     	 * NTSTATUS MmSafeCopyFromUser(PVOID Dest, PVOID Src, 
    @@ -83,3 +86,16 @@ _MmSafeCopyToUserRestart:
     	popl    %ebp
     	ret
     
    +/*****************************************************************************/
    +
    +	/*
    +	 * PVOID FASTCALL MmSafeReadPtr(PVOID Source)
    +	 */
    +@MmSafeReadPtr@4:
    +_MmSafeReadPtrStart:
    +	/*
    +	 * If we incur a pagefault, eax will be set NULL
    +	 */
    +	movl	(%ecx),%eax
    +_MmSafeReadPtrEnd:
    +	ret
    diff --git a/reactos/ntoskrnl/mm/i386/pfault.c b/reactos/ntoskrnl/mm/i386/pfault.c
    index 11c37958328..c948c9e5cce 100644
    --- a/reactos/ntoskrnl/mm/i386/pfault.c
    +++ b/reactos/ntoskrnl/mm/i386/pfault.c
    @@ -20,6 +20,8 @@ extern VOID MmSafeCopyFromUserUnsafeStart(VOID);
     extern VOID MmSafeCopyFromUserRestart(VOID);
     extern VOID MmSafeCopyToUserUnsafeStart(VOID);
     extern VOID MmSafeCopyToUserRestart(VOID);
    +extern VOID MmSafeReadPtrStart(VOID);
    +extern VOID MmSafeReadPtrEnd(VOID);
     
     extern ULONG MmGlobalKernelPageDirectory[1024];
     
    @@ -75,20 +77,29 @@ NTSTATUS MmPageFault(ULONG Cs,
           KeLowerIrql(oldIrql);
        }
        if (!NT_SUCCESS(Status) && (Mode == KernelMode) &&
    -         ((*Eip) >= (ULONG)MmSafeCopyFromUserUnsafeStart) &&
    -         ((*Eip) <= (ULONG)MmSafeCopyFromUserRestart))
    +         ((*Eip) >= (ULONG_PTR)MmSafeCopyFromUserUnsafeStart) &&
    +         ((*Eip) <= (ULONG_PTR)MmSafeCopyFromUserRestart))
        {
    -      (*Eip) = (ULONG)MmSafeCopyFromUserRestart;
    +      (*Eip) = (ULONG_PTR)MmSafeCopyFromUserRestart;
           (*Eax) = STATUS_ACCESS_VIOLATION;
           return(STATUS_SUCCESS);
        }
        if (!NT_SUCCESS(Status) && (Mode == KernelMode) &&
    -         ((*Eip) >= (ULONG)MmSafeCopyToUserUnsafeStart) &&
    -         ((*Eip) <= (ULONG)MmSafeCopyToUserRestart))
    +         ((*Eip) >= (ULONG_PTR)MmSafeCopyToUserUnsafeStart) &&
    +         ((*Eip) <= (ULONG_PTR)MmSafeCopyToUserRestart))
        {
    -      (*Eip) = (ULONG)MmSafeCopyToUserRestart;
    +      (*Eip) = (ULONG_PTR)MmSafeCopyToUserRestart;
           (*Eax) = STATUS_ACCESS_VIOLATION;
           return(STATUS_SUCCESS);
        }
    +   if (!NT_SUCCESS(Status) && (Mode == KernelMode) &&
    +         ((*Eip) >= (ULONG_PTR)MmSafeReadPtrStart) &&
    +         ((*Eip) <= (ULONG_PTR)MmSafeReadPtrEnd))
    +   {
    +      (*Eip) = (ULONG_PTR)MmSafeReadPtrEnd;
    +      (*Eax) = 0;
    +      return(STATUS_SUCCESS);
    +   }
    +
        return(Status);
     }
    diff --git a/reactos/ntoskrnl/mm/pagefile.c b/reactos/ntoskrnl/mm/pagefile.c
    index c700d2c5251..e5727fe0b9b 100644
    --- a/reactos/ntoskrnl/mm/pagefile.c
    +++ b/reactos/ntoskrnl/mm/pagefile.c
    @@ -775,6 +775,7 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
        }
     
        PreviousMode = ExGetPreviousMode();
    +   
        Status = RtlCaptureUnicodeString(&CapturedFileName,
                                         PreviousMode,
                                         PagedPool,
    @@ -805,6 +806,9 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
         
           if (!NT_SUCCESS(Status))
           {
    +         RtlReleaseCapturedUnicodeString(&CapturedFileName,
    +                                         PreviousMode,
    +                                         FALSE);
              return Status;
           }
        }
    @@ -834,6 +838,7 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
                              CreateFileTypeNone,
                              NULL,
                              SL_OPEN_PAGING_FILE | IO_NO_PARAMETER_CHECKING);
    +
        RtlReleaseCapturedUnicodeString(&CapturedFileName,
                                        PreviousMode,
                                        FALSE);
    diff --git a/reactos/ntoskrnl/mm/section.c b/reactos/ntoskrnl/mm/section.c
    index ada2a84042c..3587bff37a4 100644
    --- a/reactos/ntoskrnl/mm/section.c
    +++ b/reactos/ntoskrnl/mm/section.c
    @@ -50,6 +50,12 @@ static GENERIC_MAPPING MmpSectionMapping = {
     #define SWAPENTRY_FROM_SSE(E)    ((E) >> 1)
     #define MAKE_SWAP_SSE(S)         (((S) << 1) | 0x1)
     
    +static const INFORMATION_CLASS_INFO ExSectionInfoClass[] =
    +{
    +  ICI_SQ_SAME( sizeof(SECTION_BASIC_INFORMATION), sizeof(ULONG), ICIF_QUERY ), /* SectionBasicInformation */
    +  ICI_SQ_SAME( sizeof(SECTION_IMAGE_INFORMATION), sizeof(ULONG), ICIF_QUERY ), /* SectionImageInformation */
    +};
    +
     /* FUNCTIONS *****************************************************************/
     
     /* Note: Mmsp prefix denotes "Memory Manager Section Private". */
    @@ -2121,7 +2127,7 @@ MmInitSectionImplementation(VOID)
     {
        MmSectionObjectType = ExAllocatePool(NonPagedPool,sizeof(OBJECT_TYPE));
     
    -   RtlRosInitUnicodeStringFromLiteral(&MmSectionObjectType->TypeName, L"Section");
    +   RtlInitUnicodeString(&MmSectionObjectType->TypeName, L"Section");
     
        MmSectionObjectType->Tag = TAG('S', 'E', 'C', 'T');
        MmSectionObjectType->TotalObjects = 0;
    @@ -3309,9 +3315,36 @@ NtCreateSection (OUT PHANDLE SectionHandle,
                      IN ULONG AllocationAttributes,
                      IN HANDLE FileHandle OPTIONAL)
     {
    +   LARGE_INTEGER SafeMaximumSize;
        PSECTION_OBJECT SectionObject;
    -   NTSTATUS Status;
    +   KPROCESSOR_MODE PreviousMode;
    +   NTSTATUS Status = STATUS_SUCCESS;
     
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   if(MaximumSize != NULL && PreviousMode != KernelMode)
    +   {
    +     _SEH_TRY
    +     {
    +       ProbeForRead(MaximumSize,
    +                    sizeof(LARGE_INTEGER),
    +                    sizeof(ULONG));
    +       /* make a copy on the stack */
    +       SafeMaximumSize = *MaximumSize;
    +       MaximumSize = &SafeMaximumSize;
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
    +   
        /*
         * Check the protection
         */
    @@ -3367,17 +3400,52 @@ NtOpenSection(PHANDLE   SectionHandle,
                   ACCESS_MASK  DesiredAccess,
                   POBJECT_ATTRIBUTES ObjectAttributes)
     {
    -   NTSTATUS Status;
    -
    -   *SectionHandle = 0;
    +   HANDLE hSection;
    +   KPROCESSOR_MODE PreviousMode;
    +   NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   if(PreviousMode != KernelMode)
    +   {
    +     _SEH_TRY
    +     {
    +       ProbeForWrite(SectionHandle,
    +                     sizeof(HANDLE),
    +                     sizeof(ULONG));
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
     
        Status = ObOpenObjectByName(ObjectAttributes,
                                    MmSectionObjectType,
                                    NULL,
    -                               UserMode,
    +                               PreviousMode,
                                    DesiredAccess,
                                    NULL,
    -                               SectionHandle);
    +                               &hSection);
    +
    +   if(NT_SUCCESS(Status))
    +   {
    +     _SEH_TRY
    +     {
    +       *SectionHandle = hSection;
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +   }
     
        return(Status);
     }
    @@ -3487,26 +3555,77 @@ MmMapViewOfSegment(PEPROCESS Process,
      * @implemented
      */
     NTSTATUS STDCALL
    -NtMapViewOfSection(HANDLE SectionHandle,
    -                   HANDLE ProcessHandle,
    -                   PVOID* BaseAddress,
    -                   ULONG ZeroBits,
    -                   ULONG CommitSize,
    -                   PLARGE_INTEGER SectionOffset,
    -                   PULONG ViewSize,
    -                   SECTION_INHERIT InheritDisposition,
    -                   ULONG AllocationType,
    -                   ULONG Protect)
    +NtMapViewOfSection(IN HANDLE SectionHandle,
    +                   IN HANDLE ProcessHandle,
    +                   IN OUT PVOID* BaseAddress  OPTIONAL,
    +                   IN ULONG ZeroBits  OPTIONAL,
    +                   IN ULONG CommitSize,
    +                   IN OUT PLARGE_INTEGER SectionOffset  OPTIONAL,
    +                   IN OUT PULONG ViewSize,
    +                   IN SECTION_INHERIT InheritDisposition,
    +                   IN ULONG AllocationType  OPTIONAL,
    +                   IN ULONG Protect)
     {
    +   PVOID SafeBaseAddress;
    +   LARGE_INTEGER SafeSectionOffset;
    +   ULONG SafeViewSize;
        PSECTION_OBJECT Section;
        PEPROCESS Process;
    -   NTSTATUS Status;
    +   KPROCESSOR_MODE PreviousMode;
        PMADDRESS_SPACE AddressSpace;
    +   NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   if(PreviousMode != KernelMode)
    +   {
    +     SafeBaseAddress = NULL;
    +     SafeSectionOffset.QuadPart = 0;
    +     SafeViewSize = 0;
    +     
    +     _SEH_TRY
    +     {
    +       if(BaseAddress != NULL)
    +       {
    +         ProbeForWrite(BaseAddress,
    +                       sizeof(PVOID),
    +                       sizeof(ULONG));
    +         SafeBaseAddress = *BaseAddress;
    +       }
    +       if(SectionOffset != NULL)
    +       {
    +         ProbeForWrite(SectionOffset,
    +                       sizeof(LARGE_INTEGER),
    +                       sizeof(ULONG));
    +         SafeSectionOffset = *SectionOffset;
    +       }
    +       ProbeForWrite(ViewSize,
    +                     sizeof(ULONG),
    +                     sizeof(ULONG));
    +       SafeViewSize = *ViewSize;
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
    +   else
    +   {
    +     SafeBaseAddress = (BaseAddress != NULL ? *BaseAddress : NULL);
    +     SafeSectionOffset.QuadPart = (SectionOffset != NULL ? SectionOffset->QuadPart : 0);
    +     SafeViewSize = (ViewSize != NULL ? *ViewSize : 0);
    +   }
     
        Status = ObReferenceObjectByHandle(ProcessHandle,
                                           PROCESS_VM_OPERATION,
                                           PsProcessType,
    -                                      UserMode,
    +                                      PreviousMode,
                                           (PVOID*)(PVOID)&Process,
                                           NULL);
        if (!NT_SUCCESS(Status))
    @@ -3519,7 +3638,7 @@ NtMapViewOfSection(HANDLE SectionHandle,
        Status = ObReferenceObjectByHandle(SectionHandle,
                                           SECTION_MAP_READ,
                                           MmSectionObjectType,
    -                                      UserMode,
    +                                      PreviousMode,
                                           (PVOID*)(PVOID)&Section,
                                           NULL);
        if (!(NT_SUCCESS(Status)))
    @@ -3531,17 +3650,42 @@ NtMapViewOfSection(HANDLE SectionHandle,
     
        Status = MmMapViewOfSection(Section,
                                    Process,
    -                               BaseAddress,
    +                               (BaseAddress != NULL ? &SafeBaseAddress : NULL),
                                    ZeroBits,
                                    CommitSize,
    -                               SectionOffset,
    -                               ViewSize,
    +                               (SectionOffset != NULL ? &SafeSectionOffset : NULL),
    +                               (ViewSize != NULL ? &SafeViewSize : NULL),
                                    InheritDisposition,
                                    AllocationType,
                                    Protect);
     
        ObDereferenceObject(Section);
        ObDereferenceObject(Process);
    +   
    +   if(NT_SUCCESS(Status))
    +   {
    +     /* copy parameters back to the caller */
    +     _SEH_TRY
    +     {
    +       if(BaseAddress != NULL)
    +       {
    +         *BaseAddress = SafeBaseAddress;
    +       }
    +       if(SectionOffset != NULL)
    +       {
    +         *SectionOffset = SafeSectionOffset;
    +       }
    +       if(ViewSize != NULL)
    +       {
    +         *ViewSize = SafeViewSize;
    +       }
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +   }
     
        return(Status);
     }
    @@ -3809,16 +3953,19 @@ NtUnmapViewOfSection (HANDLE ProcessHandle,
                           PVOID BaseAddress)
     {
        PEPROCESS Process;
    +   KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status;
     
        DPRINT("NtUnmapViewOfSection(ProcessHandle %x, BaseAddress %x)\n",
               ProcessHandle, BaseAddress);
     
    +   PreviousMode = ExGetPreviousMode();
    +
        DPRINT("Referencing process\n");
        Status = ObReferenceObjectByHandle(ProcessHandle,
                                           PROCESS_VM_OPERATION,
                                           PsProcessType,
    -                                      UserMode,
    +                                      PreviousMode,
                                           (PVOID*)(PVOID)&Process,
                                           NULL);
        if (!NT_SUCCESS(Status))
    @@ -3857,98 +4004,120 @@ NtUnmapViewOfSection (HANDLE ProcessHandle,
      *
      * @return Status.
      *
    - * @todo Guard by SEH.
      * @implemented
      */
     NTSTATUS STDCALL
     NtQuerySection(IN HANDLE SectionHandle,
    -               IN CINT SectionInformationClass,
    +               IN SECTION_INFORMATION_CLASS SectionInformationClass,
                    OUT PVOID SectionInformation,
    -               IN ULONG Length,
    -               OUT PULONG ResultLength)
    +               IN ULONG SectionInformationLength,
    +               OUT PULONG ResultLength  OPTIONAL)
     {
        PSECTION_OBJECT Section;
    -   NTSTATUS Status;
    +   KPROCESSOR_MODE PreviousMode;
    +   NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   DefaultQueryInfoBufferCheck(SectionInformationClass,
    +                               ExSectionInfoClass,
    +                               SectionInformation,
    +                               SectionInformationLength,
    +                               ResultLength,
    +                               PreviousMode,
    +                               &Status);
    +
    +   if(!NT_SUCCESS(Status))
    +   {
    +     DPRINT1("NtQuerySection() failed, Status: 0x%x\n", Status);
    +     return Status;
    +   }
     
        Status = ObReferenceObjectByHandle(SectionHandle,
                                           SECTION_QUERY,
                                           MmSectionObjectType,
    -                                      UserMode,
    +                                      PreviousMode,
                                           (PVOID*)(PVOID)&Section,
                                           NULL);
    -   if (!(NT_SUCCESS(Status)))
    +   if (NT_SUCCESS(Status))
        {
    -      return(Status);
    -   }
    -
    -   switch (SectionInformationClass)
    -   {
    -      case SectionBasicInformation:
    +      switch (SectionInformationClass)
    +      {
    +         case SectionBasicInformation:
              {
    -            PSECTION_BASIC_INFORMATION Sbi;
    +            PSECTION_BASIC_INFORMATION Sbi = (PSECTION_BASIC_INFORMATION)SectionInformation;
     
    -            if (Length != sizeof(SECTION_BASIC_INFORMATION))
    +            _SEH_TRY
                 {
    -               ObDereferenceObject(Section);
    -               return(STATUS_INFO_LENGTH_MISMATCH);
    +               Sbi->Attributes = Section->AllocationAttributes;
    +               if (Section->AllocationAttributes & SEC_IMAGE)
    +               {
    +                  Sbi->BaseAddress = 0;
    +                  Sbi->Size.QuadPart = 0;
    +               }
    +               else
    +               {
    +                  Sbi->BaseAddress = (PVOID)Section->Segment->VirtualAddress;
    +                  Sbi->Size.QuadPart = Section->Segment->Length;
    +               }
    +
    +               if (ResultLength != NULL)
    +               {
    +                  *ResultLength = sizeof(SECTION_BASIC_INFORMATION);
    +               }
    +               Status = STATUS_SUCCESS;
                 }
    -
    -            Sbi = (PSECTION_BASIC_INFORMATION)SectionInformation;
    -
    -            Sbi->Attributes = Section->AllocationAttributes;
    -            if (Section->AllocationAttributes & SEC_IMAGE)
    +            _SEH_HANDLE
                 {
    -               Sbi->BaseAddress = 0;
    -               Sbi->Size.QuadPart = 0;
    +               Status = _SEH_GetExceptionCode();
                 }
    -            else
    -            {
    -               Sbi->BaseAddress = (PVOID)Section->Segment->VirtualAddress;
    -               Sbi->Size.QuadPart = Section->Segment->Length;
    -            }
    -
    -            *ResultLength = sizeof(SECTION_BASIC_INFORMATION);
    -            Status = STATUS_SUCCESS;
    +            _SEH_END;
    +            
                 break;
              }
     
    -      case SectionImageInformation:
    +         case SectionImageInformation:
              {
    -            PSECTION_IMAGE_INFORMATION Sii;
    +            PSECTION_IMAGE_INFORMATION Sii = (PSECTION_IMAGE_INFORMATION)SectionInformation;
     
    -            if (Length != sizeof(SECTION_IMAGE_INFORMATION))
    +            _SEH_TRY
                 {
    -               ObDereferenceObject(Section);
    -               return(STATUS_INFO_LENGTH_MISMATCH);
    -            }
    +               memset(Sii, 0, sizeof(SECTION_IMAGE_INFORMATION));
    +               if (Section->AllocationAttributes & SEC_IMAGE)
    +               {
    +                  PMM_IMAGE_SECTION_OBJECT ImageSectionObject;
    +                  ImageSectionObject = Section->ImageSection;
     
    -            Sii = (PSECTION_IMAGE_INFORMATION)SectionInformation;
    -            memset(Sii, 0, sizeof(SECTION_IMAGE_INFORMATION));
    -            if (Section->AllocationAttributes & SEC_IMAGE)
    +                  Sii->EntryPoint = ImageSectionObject->EntryPoint;
    +                  Sii->StackReserve = ImageSectionObject->StackReserve;
    +                  Sii->StackCommit = ImageSectionObject->StackCommit;
    +                  Sii->Subsystem = ImageSectionObject->Subsystem;
    +                  Sii->MinorSubsystemVersion = ImageSectionObject->MinorSubsystemVersion;
    +                  Sii->MajorSubsystemVersion = ImageSectionObject->MajorSubsystemVersion;
    +                  Sii->Characteristics = ImageSectionObject->ImageCharacteristics;
    +                  Sii->ImageNumber = ImageSectionObject->Machine;
    +                  Sii->Executable = ImageSectionObject->Executable;
    +               }
    +               
    +               if (ResultLength != NULL)
    +               {
    +                  *ResultLength = sizeof(SECTION_IMAGE_INFORMATION);
    +               }
    +               Status = STATUS_SUCCESS;
    +            }
    +            _SEH_HANDLE
                 {
    -               PMM_IMAGE_SECTION_OBJECT ImageSectionObject;
    -               ImageSectionObject = Section->ImageSection;
    -
    -               Sii->EntryPoint = ImageSectionObject->EntryPoint;
    -               Sii->StackReserve = ImageSectionObject->StackReserve;
    -               Sii->StackCommit = ImageSectionObject->StackCommit;
    -               Sii->Subsystem = ImageSectionObject->Subsystem;
    -               Sii->MinorSubsystemVersion = ImageSectionObject->MinorSubsystemVersion;
    -               Sii->MajorSubsystemVersion = ImageSectionObject->MajorSubsystemVersion;
    -               Sii->Characteristics = ImageSectionObject->ImageCharacteristics;
    -               Sii->ImageNumber = ImageSectionObject->Machine;
    -               Sii->Executable = ImageSectionObject->Executable;
    +               Status = _SEH_GetExceptionCode();
                 }
    -            *ResultLength = sizeof(SECTION_IMAGE_INFORMATION);
    -            Status = STATUS_SUCCESS;
    +            _SEH_END;
    +            
                 break;
              }
    +      }
     
    -      default:
    -         *ResultLength = 0;
    -         Status = STATUS_INVALID_INFO_CLASS;
    +      ObDereferenceObject(Section);
        }
    -   ObDereferenceObject(Section);
    +   
        return(Status);
     }
     
    @@ -3964,7 +4133,6 @@ NtQuerySection(IN HANDLE SectionHandle,
      *
      * @return Status.
      *
    - * @todo Guard by SEH.
      * @todo Move the actual code to internal function MmExtendSection.
      * @unimplemented
      */
    @@ -3972,13 +4140,40 @@ NTSTATUS STDCALL
     NtExtendSection(IN HANDLE SectionHandle,
                     IN PLARGE_INTEGER NewMaximumSize)
     {
    +   LARGE_INTEGER SafeNewMaximumSize;
        PSECTION_OBJECT Section;
    -   NTSTATUS Status;
    +   KPROCESSOR_MODE PreviousMode;
    +   NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PreviousMode = ExGetPreviousMode();
    +   
    +   if(PreviousMode != KernelMode)
    +   {
    +     _SEH_TRY
    +     {
    +       ProbeForRead(NewMaximumSize,
    +                    sizeof(LARGE_INTEGER),
    +                    sizeof(ULONG));
    +       /* make a copy on the stack */
    +       SafeNewMaximumSize = *NewMaximumSize;
    +       NewMaximumSize = &SafeNewMaximumSize;
    +     }
    +     _SEH_HANDLE
    +     {
    +       Status = _SEH_GetExceptionCode();
    +     }
    +     _SEH_END;
    +     
    +     if(!NT_SUCCESS(Status))
    +     {
    +       return Status;
    +     }
    +   }
     
        Status = ObReferenceObjectByHandle(SectionHandle,
                                           SECTION_EXTEND_SIZE,
                                           MmSectionObjectType,
    -                                      UserMode,
    +                                      PreviousMode,
                                           (PVOID*)&Section,
                                           NULL);
        if (!NT_SUCCESS(Status))
    diff --git a/reactos/ntoskrnl/ntoskrnl.xml b/reactos/ntoskrnl/ntoskrnl.xml
    index 4794940ec1e..9aa63b2697b 100644
    --- a/reactos/ntoskrnl/ntoskrnl.xml
    +++ b/reactos/ntoskrnl/ntoskrnl.xml
    @@ -48,6 +48,7 @@
     		apc.c
     		bug.c
     		catch.c
    +		clock.c
     		critical.c
     		device.c
     		dpc.c
    diff --git a/reactos/ntoskrnl/ob/dirobj.c b/reactos/ntoskrnl/ob/dirobj.c
    index fab1f3d4001..57bcc7ac748 100644
    --- a/reactos/ntoskrnl/ob/dirobj.c
    +++ b/reactos/ntoskrnl/ob/dirobj.c
    @@ -50,6 +50,8 @@ NtOpenDirectoryObject (OUT PHANDLE DirectoryHandle,
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
        
    +   PAGED_CODE();
    +   
        PreviousMode = ExGetPreviousMode();
        
        if(PreviousMode != KernelMode)
    @@ -169,6 +171,8 @@ NtQueryDirectoryObject (IN HANDLE DirectoryHandle,
       ULONG NextEntry = 0;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
     
       if(PreviousMode != KernelMode)
    @@ -427,6 +431,8 @@ NtCreateDirectoryObject (OUT PHANDLE DirectoryHandle,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       DPRINT("NtCreateDirectoryObject(DirectoryHandle %x, "
     	 "DesiredAccess %x, ObjectAttributes %x\n",
     	 DirectoryHandle, DesiredAccess, ObjectAttributes);
    diff --git a/reactos/ntoskrnl/ob/handle.c b/reactos/ntoskrnl/ob/handle.c
    index 7e2306a3ddd..dcc90efd882 100644
    --- a/reactos/ntoskrnl/ob/handle.c
    +++ b/reactos/ntoskrnl/ob/handle.c
    @@ -287,7 +287,7 @@ NtDuplicateObject (IN	HANDLE		SourceProcessHandle,
        HANDLE TargetHandle;
        NTSTATUS Status;
        
    -   ASSERT_IRQL(PASSIVE_LEVEL);
    +   PAGED_CODE();
        
        Status = ObReferenceObjectByHandle(SourceProcessHandle,
     				      PROCESS_DUP_HANDLE,
    @@ -552,6 +552,8 @@ ObDeleteHandle(PEPROCESS Process,
        PHANDLE_TABLE HandleTable;
        POBJECT_HEADER Header;
        HANDLE_BLOCK *Block;
    +   
    +   PAGED_CODE();
     
        DPRINT("ObDeleteHandle(Handle %x)\n",Handle);
     
    @@ -630,6 +632,8 @@ ObCreateHandle(PEPROCESS Process,
        HANDLE_BLOCK* new_blk = NULL;
        PHANDLE_TABLE HandleTable;
        KIRQL oldlvl;
    +   
    +   PAGED_CODE();
     
        DPRINT("ObCreateHandle(Process %x, obj %x)\n",Process,ObjectBody);
     
    @@ -723,6 +727,8 @@ ObQueryObjectAuditingByHandle(IN HANDLE Handle,
       PEPROCESS Process;
       KIRQL oldIrql;
       PHANDLE_ENTRY HandleEntry;
    +  
    +  PAGED_CODE();
     
       DPRINT("ObQueryObjectAuditingByHandle(Handle %x)\n", Handle);
     
    @@ -777,7 +783,7 @@ ObReferenceObjectByHandle(HANDLE Handle,
        ULONG Attributes;
        NTSTATUS Status;
        
    -   ASSERT_IRQL(PASSIVE_LEVEL);
    +   PAGED_CODE();
        
        DPRINT("ObReferenceObjectByHandle(Handle %x, DesiredAccess %x, "
     	   "ObjectType %x, AccessMode %d, Object %x)\n",Handle,DesiredAccess,
    @@ -930,7 +936,7 @@ NtClose(IN HANDLE Handle)
        POBJECT_HEADER	Header;
        NTSTATUS Status;
        
    -   ASSERT_IRQL(PASSIVE_LEVEL);
    +   PAGED_CODE();
        
        DPRINT("NtClose(Handle %x)\n",Handle);
        
    @@ -966,6 +972,8 @@ ObInsertObject(IN PVOID Object,
     {
       POBJECT_HEADER ObjectHeader;
       ACCESS_MASK Access;
    +  
    +  PAGED_CODE();
     
       Access = DesiredAccess;
       ObjectHeader = BODY_TO_HEADER(Object);
    @@ -1006,8 +1014,9 @@ ObpGetHandleCountByHandleTable(PHANDLE_TABLE HandleTable)
     	    {
     	      Header = BODY_TO_HEADER(ObjectBody);
     
    -	      /* Make sure this is real. */
    -	      if (Header->ObjectType != NULL)
    +	      /* Make sure this is real. Okay! For real!*/
    +	      if ((Header->ObjectType != NULL) &&
    +		      (Header->ObjectType->Close != NULL))
     		Count++;
     	    }
     	}
    @@ -1070,4 +1079,36 @@ ObFindHandleForObject(IN PEPROCESS Process,
       return STATUS_UNSUCCESSFUL;
     }
     
    +VOID
    +ObpGetNextHandleByProcessCount(PSYSTEM_HANDLE_TABLE_ENTRY_INFO pshi,
    +                               PEPROCESS Process,
    +                               int Count)
    +{
    +      ULONG P;
    +      KIRQL oldIrql;
    +
    +//      pshi->HandleValue;
    +
    +/* 
    +   This will never work with ROS! M$, I guess uses 0 -> 65535.
    +   Ros uses 0 -> 4294967295!
    + */
    +
    +      P = (ULONG) Process->UniqueProcessId;
    +      pshi->UniqueProcessId = (USHORT) P;
    +
    +      KeAcquireSpinLock( &Process->HandleTable.ListLock, &oldIrql );
    +
    +//      pshi->GrantedAccess;
    +//      pshi->Object;
    +//      pshi->ObjectTypeIndex;
    +//      pshi->HandleAttributes;
    +
    +      KeReleaseSpinLock( &Process->HandleTable.ListLock, oldIrql );
    +
    +      return;
    +}
    +
    +
    +
     /* EOF */
    diff --git a/reactos/ntoskrnl/ob/namespc.c b/reactos/ntoskrnl/ob/namespc.c
    index fc179d003ac..f67794ad08c 100644
    --- a/reactos/ntoskrnl/ob/namespc.c
    +++ b/reactos/ntoskrnl/ob/namespc.c
    @@ -55,6 +55,8 @@ ObReferenceObjectByName(PUNICODE_STRING ObjectPath,
        UNICODE_STRING RemainingPath;
        OBJECT_ATTRIBUTES ObjectAttributes;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        InitializeObjectAttributes(&ObjectAttributes,
     			      ObjectPath,
    @@ -126,6 +128,8 @@ ObOpenObjectByName(IN POBJECT_ATTRIBUTES ObjectAttributes,
        UNICODE_STRING RemainingPath;
        PVOID Object = NULL;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("ObOpenObjectByName(...)\n");
     
    @@ -391,7 +395,7 @@ ObInit(VOID)
       ObDirectoryType->Create = ObpCreateDirectory;
       ObDirectoryType->DuplicationNotify = NULL;
     
    -  RtlRosInitUnicodeStringFromLiteral(&ObDirectoryType->TypeName,
    +  RtlInitUnicodeString(&ObDirectoryType->TypeName,
     		       L"Directory");
     
       /* create 'type' object type*/
    @@ -416,7 +420,7 @@ ObInit(VOID)
       ObTypeObjectType->Create = NULL;
       ObTypeObjectType->DuplicationNotify = NULL;
     
    -  RtlRosInitUnicodeStringFromLiteral(&ObTypeObjectType->TypeName,
    +  RtlInitUnicodeString(&ObTypeObjectType->TypeName,
     		       L"ObjectType");
     
       /* Create security descriptor */
    diff --git a/reactos/ntoskrnl/ob/ntobj.c b/reactos/ntoskrnl/ob/ntobj.c
    index 91d9b86a872..048936ad52c 100644
    --- a/reactos/ntoskrnl/ob/ntobj.c
    +++ b/reactos/ntoskrnl/ob/ntobj.c
    @@ -37,6 +37,8 @@ NtSetInformationObject (IN HANDLE ObjectHandle,
     {
       PVOID Object;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       if (ObjectInformationClass != ObjectHandleInformation)
         return STATUS_INVALID_INFO_CLASS;
    @@ -88,6 +90,8 @@ NtQueryObject (IN HANDLE ObjectHandle,
       ULONG InfoLength;
       PVOID Object;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       Status = ObReferenceObjectByHandle (ObjectHandle,
     				      0,
    @@ -260,6 +264,8 @@ NtMakeTemporaryObject(IN HANDLE ObjectHandle)
     {
       PVOID ObjectBody;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       Status = ObReferenceObjectByHandle(ObjectHandle,
     				     0,
    @@ -299,6 +305,8 @@ NtMakePermanentObject(IN HANDLE ObjectHandle)
     {
       PVOID ObjectBody;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       Status = ObReferenceObjectByHandle(ObjectHandle,
     				     0,
    diff --git a/reactos/ntoskrnl/ob/object.c b/reactos/ntoskrnl/ob/object.c
    index b065b353377..f54fbf62674 100644
    --- a/reactos/ntoskrnl/ob/object.c
    +++ b/reactos/ntoskrnl/ob/object.c
    @@ -346,6 +346,8 @@ ObFindObject(POBJECT_ATTRIBUTES ObjectAttributes,
       UNICODE_STRING PathString;
       ULONG Attributes;
       PUNICODE_STRING ObjectName;
    +  
    +  PAGED_CODE();
     
       DPRINT("ObFindObject(ObjectAttributes %x, ReturnedObject %x, "
     	 "RemainingPath %x)\n",ObjectAttributes,ReturnedObject,RemainingPath);
    @@ -483,6 +485,8 @@ ObQueryNameString (IN PVOID Object,
       POBJECT_HEADER ObjectHeader;
       ULONG LocalReturnLength;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       *ReturnLength = 0;
     
    @@ -611,7 +615,7 @@ ObCreateObject (IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL,
       PSECURITY_DESCRIPTOR NewSecurityDescriptor = NULL;
       SECURITY_SUBJECT_CONTEXT SubjectContext;
     
    -  ASSERT_IRQL(APC_LEVEL);
    +  PAGED_CODE();
       
       if(ObjectAttributesAccessMode == UserMode && ObjectAttributes != NULL)
       {
    @@ -814,6 +818,8 @@ ObReferenceObjectByPointer(IN PVOID Object,
     			   IN KPROCESSOR_MODE AccessMode)
     {
        POBJECT_HEADER Header;
    +   
    +   /* NOTE: should be possible to reference an object above APC_LEVEL! */
     
        DPRINT("ObReferenceObjectByPointer(Object %x, ObjectType %x)\n",
     	  Object,ObjectType);
    @@ -876,6 +882,8 @@ ObOpenObjectByPointer(IN POBJECT Object,
     {
        NTSTATUS Status;
        
    +   PAGED_CODE();
    +   
        DPRINT("ObOpenObjectByPointer()\n");
        
        Status = ObReferenceObjectByPointer(Object,
    @@ -1117,6 +1125,8 @@ ULONG STDCALL
     ObGetObjectPointerCount(PVOID Object)
     {
       POBJECT_HEADER Header;
    +  
    +  PAGED_CODE();
     
       ASSERT(Object);
       Header = BODY_TO_HEADER(Object);
    @@ -1142,6 +1152,8 @@ ULONG
     ObGetObjectHandleCount(PVOID Object)
     {
       POBJECT_HEADER Header;
    +  
    +  PAGED_CODE();
     
       ASSERT(Object);
       Header = BODY_TO_HEADER(Object);
    diff --git a/reactos/ntoskrnl/ob/sdcache.c b/reactos/ntoskrnl/ob/sdcache.c
    index f06b3f9d1dc..9cfc5a4c843 100644
    --- a/reactos/ntoskrnl/ob/sdcache.c
    +++ b/reactos/ntoskrnl/ob/sdcache.c
    @@ -28,13 +28,11 @@ typedef struct _SD_CACHE_ENTRY
     
     /* GLOBALS ******************************************************************/
     
    -PLIST_ENTRY ObpSdCache;
    -KSPIN_LOCK ObpSdCacheSpinLock;
    -KIRQL ObpSdCacheIrql;
    -
    -
     #define SD_CACHE_ENTRIES 0x100
     
    +LIST_ENTRY ObpSdCache[SD_CACHE_ENTRIES];
    +FAST_MUTEX ObpSdCacheMutex;
    +
     /* FUNCTIONS ****************************************************************/
     
     NTSTATUS
    @@ -42,37 +40,36 @@ ObpInitSdCache(VOID)
     {
       ULONG i;
     
    -  ObpSdCache = ExAllocatePool(NonPagedPool,
    -			      SD_CACHE_ENTRIES * sizeof(LIST_ENTRY));
    -  if (ObpSdCache == NULL)
    -    {
    -      return STATUS_INSUFFICIENT_RESOURCES;
    -    }
    -
    -  for (i = 0; i < SD_CACHE_ENTRIES; i++)
    +  for (i = 0; i < (sizeof(ObpSdCache) / sizeof(ObpSdCache[0])); i++)
         {
           InitializeListHead(&ObpSdCache[i]);
         }
     
    -  KeInitializeSpinLock(&ObpSdCacheSpinLock);
    +  ExInitializeFastMutex(&ObpSdCacheMutex);
     
       return STATUS_SUCCESS;
     }
     
     
    -static VOID
    +static inline VOID
     ObpSdCacheLock(VOID)
     {
    -  KeAcquireSpinLock(&ObpSdCacheSpinLock,
    -		    &ObpSdCacheIrql);
    +  /* can't acquire a fast mutex in the early boot process... */
    +  if(KeGetCurrentThread() != NULL)
    +  {
    +    ExAcquireFastMutex(&ObpSdCacheMutex);
    +  }
     }
     
     
    -static VOID
    +static inline VOID
     ObpSdCacheUnlock(VOID)
     {
    -  KeReleaseSpinLock(&ObpSdCacheSpinLock,
    -		    ObpSdCacheIrql);
    +  /* can't acquire a fast mutex in the early boot process... */
    +  if(KeGetCurrentThread() != NULL)
    +  {
    +    ExReleaseFastMutex(&ObpSdCacheMutex);
    +  }
     }
     
     
    diff --git a/reactos/ntoskrnl/ob/security.c b/reactos/ntoskrnl/ob/security.c
    index 38de6a66fd4..0b72810f48f 100644
    --- a/reactos/ntoskrnl/ob/security.c
    +++ b/reactos/ntoskrnl/ob/security.c
    @@ -27,6 +27,8 @@ ObAssignSecurity(IN PACCESS_STATE AccessState,
     {
       PSECURITY_DESCRIPTOR NewDescriptor;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       /* Build the new security descriptor */
       Status = SeAssignSecurity(SecurityDescriptor,
    @@ -73,6 +75,8 @@ ObGetObjectSecurity(IN PVOID Object,
       POBJECT_HEADER Header;
       ULONG Length;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       Header = BODY_TO_HEADER(Object);
       if (Header->ObjectType == NULL)
    @@ -129,6 +133,8 @@ VOID STDCALL
     ObReleaseObjectSecurity(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
     			IN BOOLEAN MemoryAllocated)
     {
    +  PAGED_CODE();
    +  
       if (SecurityDescriptor == NULL)
         return;
     
    @@ -156,6 +162,8 @@ NtQuerySecurityObject(IN HANDLE Handle,
       POBJECT_HEADER Header;
       PVOID Object;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtQuerySecurityObject() called\n");
     
    @@ -226,6 +234,8 @@ NtSetSecurityObject(IN HANDLE Handle,
       ULONG Control = 0;
       ULONG_PTR Current;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtSetSecurityObject() called\n");
     
    diff --git a/reactos/ntoskrnl/ob/symlink.c b/reactos/ntoskrnl/ob/symlink.c
    index 67681c31f44..4f7462b6c00 100644
    --- a/reactos/ntoskrnl/ob/symlink.c
    +++ b/reactos/ntoskrnl/ob/symlink.c
    @@ -180,8 +180,8 @@ ObInitSymbolicLinkImplementation (VOID)
       ObSymbolicLinkType->Create = ObpCreateSymbolicLink;
       ObSymbolicLinkType->DuplicationNotify = NULL;
     
    -  RtlRosInitUnicodeStringFromLiteral(&ObSymbolicLinkType->TypeName,
    -				  L"SymbolicLink");
    +  RtlInitUnicodeString(&ObSymbolicLinkType->TypeName,
    +		       L"SymbolicLink");
     
       ObpCreateTypeObject(ObSymbolicLinkType);
     }
    @@ -206,61 +206,104 @@ NtCreateSymbolicLinkObject(OUT PHANDLE LinkHandle,
     			   IN POBJECT_ATTRIBUTES ObjectAttributes,
     			   IN PUNICODE_STRING LinkTarget)
     {
    +  HANDLE hLink;
       PSYMLINK_OBJECT SymbolicLink;
    -  NTSTATUS Status;
    +  UNICODE_STRING CapturedLinkTarget;
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status = STATUS_SUCCESS;
     
    -  ASSERT_IRQL(PASSIVE_LEVEL);
    +  PAGED_CODE();
    +  
    +  PreviousMode = ExGetPreviousMode();
    +
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(LinkHandle,
    +                    sizeof(HANDLE),
    +                    sizeof(ULONG));
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
    +  
    +  Status = RtlCaptureUnicodeString(&CapturedLinkTarget,
    +                                   PreviousMode,
    +                                   PagedPool,
    +                                   FALSE,
    +                                   LinkTarget);
    +  if(!NT_SUCCESS(Status))
    +  {
    +    DPRINT1("NtCreateSymbolicLinkObject: Capturing the target link failed!\n");
    +    return Status;
    +  }
     
       DPRINT("NtCreateSymbolicLinkObject(LinkHandle %p, DesiredAccess %ul, ObjectAttributes %p, LinkTarget %wZ)\n",
     	 LinkHandle,
     	 DesiredAccess,
     	 ObjectAttributes,
    -	 LinkTarget);
    +	 &CapturedLinkTarget);
     
       Status = ObCreateObject(ExGetPreviousMode(),
     			  ObSymbolicLinkType,
     			  ObjectAttributes,
    -			  ExGetPreviousMode(),
    +			  PreviousMode,
     			  NULL,
     			  sizeof(SYMLINK_OBJECT),
     			  0,
     			  0,
     			  (PVOID*)&SymbolicLink);
    -  if (!NT_SUCCESS(Status))
    +  if (NT_SUCCESS(Status))
    +  {
    +    SymbolicLink->TargetName.Length = 0;
    +    SymbolicLink->TargetName.MaximumLength =
    +      ((wcslen(LinkTarget->Buffer) + 1) * sizeof(WCHAR));
    +    SymbolicLink->TargetName.Buffer =
    +      ExAllocatePoolWithTag(NonPagedPool,
    +			    SymbolicLink->TargetName.MaximumLength,
    +			    TAG_SYMLINK_TARGET);
    +    RtlCopyUnicodeString(&SymbolicLink->TargetName,
    +		         &CapturedLinkTarget);
    +
    +    DPRINT("DeviceName %S\n", SymbolicLink->TargetName.Buffer);
    +
    +    ZwQuerySystemTime (&SymbolicLink->CreateTime);
    +
    +    Status = ObInsertObject ((PVOID)SymbolicLink,
    +			     NULL,
    +			     DesiredAccess,
    +			     0,
    +			     NULL,
    +			     &hLink);
    +    if (NT_SUCCESS(Status))
         {
    -      return(Status);
    +      _SEH_TRY
    +      {
    +        *LinkHandle = hLink;
    +      }
    +      _SEH_HANDLE
    +      {
    +        Status = _SEH_GetExceptionCode();
    +      }
    +      _SEH_END;
         }
    +    ObDereferenceObject(SymbolicLink);
    +  }
    +  
    +  RtlReleaseCapturedUnicodeString(&CapturedLinkTarget,
    +                                  PreviousMode,
    +                                  FALSE);
     
    -  Status = ObInsertObject ((PVOID)SymbolicLink,
    -			   NULL,
    -			   DesiredAccess,
    -			   0,
    -			   NULL,
    -			   LinkHandle);
    -  if (!NT_SUCCESS(Status))
    -    {
    -      ObDereferenceObject (SymbolicLink);
    -      return Status;
    -    }
    -
    -  SymbolicLink->TargetName.Length = 0;
    -  SymbolicLink->TargetName.MaximumLength = 
    -    ((wcslen(LinkTarget->Buffer) + 1) * sizeof(WCHAR));
    -  SymbolicLink->TargetName.Buffer = 
    -    ExAllocatePoolWithTag(NonPagedPool,
    -			  SymbolicLink->TargetName.MaximumLength,
    -			  TAG_SYMLINK_TARGET);
    -  RtlCopyUnicodeString(&SymbolicLink->TargetName,
    -		       LinkTarget);
    -
    -  DPRINT("DeviceName %S\n", SymbolicLink->TargetName.Buffer);
    -
    -  ZwQuerySystemTime (&SymbolicLink->CreateTime);
    -
    -  DPRINT("%s() = STATUS_SUCCESS\n",__FUNCTION__);
    -  ObDereferenceObject(SymbolicLink);
    -
    -  return(STATUS_SUCCESS);
    +  return Status;
     }
     
     
    @@ -282,16 +325,58 @@ NtOpenSymbolicLinkObject(OUT PHANDLE LinkHandle,
     			 IN ACCESS_MASK DesiredAccess,
     			 IN POBJECT_ATTRIBUTES ObjectAttributes)
     {
    +  HANDLE hLink;
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status = STATUS_SUCCESS;
    +
    +  PAGED_CODE();
    +  
    +  PreviousMode = ExGetPreviousMode();
    +  
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(LinkHandle,
    +                    sizeof(HANDLE),
    +                    sizeof(ULONG));
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +    
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
    +
       DPRINT("NtOpenSymbolicLinkObject (Name %wZ)\n",
     	 ObjectAttributes->ObjectName);
     
    -  return(ObOpenObjectByName(ObjectAttributes,
    -			    ObSymbolicLinkType,
    -			    NULL,
    -			    (KPROCESSOR_MODE)KeGetPreviousMode(),
    -			    DesiredAccess,
    -			    NULL,
    -			    LinkHandle));
    +  Status = ObOpenObjectByName(ObjectAttributes,
    +			      ObSymbolicLinkType,
    +			      NULL,
    +			      PreviousMode,
    +			      DesiredAccess,
    +			      NULL,
    +			      &hLink);
    +  if(NT_SUCCESS(Status))
    +  {
    +    _SEH_TRY
    +    {
    +      *LinkHandle = hLink;
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +  }
    +  
    +  return Status;
     }
     
     
    @@ -313,37 +398,92 @@ NtQuerySymbolicLinkObject(IN HANDLE LinkHandle,
     			  OUT PUNICODE_STRING LinkTarget,
     			  OUT PULONG ResultLength  OPTIONAL)
     {
    +  UNICODE_STRING SafeLinkTarget;
       PSYMLINK_OBJECT SymlinkObject;
    -  NTSTATUS Status;
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
    +  
    +  PreviousMode = ExGetPreviousMode();
    +  
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      /* probe the unicode string and buffers supplied */
    +      ProbeForWrite(LinkTarget,
    +                    sizeof(UNICODE_STRING),
    +                    sizeof(ULONG));
    +      SafeLinkTarget = *LinkTarget;
    +      ProbeForWrite(SafeLinkTarget.Buffer,
    +                    SafeLinkTarget.MaximumLength,
    +                    sizeof(WCHAR));
    +
    +      if(ResultLength != NULL)
    +      {
    +        ProbeForWrite(ResultLength,
    +                      sizeof(ULONG),
    +                      sizeof(ULONG));
    +      }
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +    
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
    +  else
    +  {
    +    SafeLinkTarget = *LinkTarget;
    +  }
     
       Status = ObReferenceObjectByHandle(LinkHandle,
     				     SYMBOLIC_LINK_QUERY,
     				     ObSymbolicLinkType,
    -				     (KPROCESSOR_MODE)KeGetPreviousMode(),
    +				     PreviousMode,
     				     (PVOID *)&SymlinkObject,
     				     NULL);
    -  if (!NT_SUCCESS(Status))
    +  if (NT_SUCCESS(Status))
    +  {
    +    ULONG LengthRequired = SymlinkObject->TargetName.Length + sizeof(WCHAR);
    +    
    +    _SEH_TRY
         {
    -      return Status;
    +      if(SafeLinkTarget.MaximumLength >= LengthRequired)
    +      {
    +        /* don't pass TargetLink to RtlCopyUnicodeString here because the caller
    +           might have modified the structure which could lead to a copy into
    +           kernel memory! */
    +        RtlCopyUnicodeString(&SafeLinkTarget,
    +                             &SymlinkObject->TargetName);
    +        SafeLinkTarget.Buffer[SafeLinkTarget.Length / sizeof(WCHAR)] = L'\0';
    +        /* copy back the new UNICODE_STRING structure */
    +        *LinkTarget = SafeLinkTarget;
    +      }
    +      else
    +      {
    +        Status = STATUS_BUFFER_TOO_SMALL;
    +      }
    +      
    +      if(ResultLength != NULL)
    +      {
    +        *ResultLength = LengthRequired;
    +      }
         }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
     
    -  if (ResultLength != NULL)
    -    {
    -      *ResultLength = (ULONG)SymlinkObject->TargetName.Length + sizeof(WCHAR);
    -    }
    -
    -  if (LinkTarget->MaximumLength >= SymlinkObject->TargetName.Length + sizeof(WCHAR))
    -    {
    -      RtlCopyUnicodeString(LinkTarget,
    -			   &SymlinkObject->TargetName);
    -      Status = STATUS_SUCCESS;
    -    }
    -  else
    -    {
    -      Status = STATUS_BUFFER_TOO_SMALL;
    -    }
    -
    -  ObDereferenceObject(SymlinkObject);
    +    ObDereferenceObject(SymlinkObject);
    +  }
     
       return Status;
     }
    diff --git a/reactos/ntoskrnl/po/power.c b/reactos/ntoskrnl/po/power.c
    index b50bd0912d5..b478b9cc3c8 100644
    --- a/reactos/ntoskrnl/po/power.c
    +++ b/reactos/ntoskrnl/po/power.c
    @@ -91,6 +91,8 @@ PoSetPowerState(
       IN POWER_STATE State)
     {
       POWER_STATE ps;
    +  
    +  ASSERT_IRQL(DISPATCH_LEVEL);
     
       ps.SystemState = PowerSystemWorking;  // Fully on
       ps.DeviceState = PowerDeviceD0;       // Fully on
    @@ -228,6 +230,8 @@ NtPowerInformation(
     	)
     {
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        DPRINT("NtPowerInformation(PowerInformationLevel 0x%x, InputBuffer 0x%x, "
               "InputBufferLength 0x%x, OutputBuffer 0x%x, OutputBufferLength 0x%x)\n",
    diff --git a/reactos/ntoskrnl/ps/create.c b/reactos/ntoskrnl/ps/create.c
    index d1256576320..8c85ab4e3ef 100644
    --- a/reactos/ntoskrnl/ps/create.c
    +++ b/reactos/ntoskrnl/ps/create.c
    @@ -184,6 +184,8 @@ NtImpersonateThread(IN HANDLE ThreadHandle,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       if(PreviousMode != KernelMode)
    @@ -499,6 +501,8 @@ PsCreateTeb(HANDLE ProcessHandle,
        ULONG TebSize;
        PVOID TebBase;
        TEB Teb;
    +   
    +   PAGED_CODE();
     
        TebSize = PAGE_SIZE;
     
    @@ -672,6 +676,8 @@ NtCreateThread(OUT PHANDLE ThreadHandle,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       if(ThreadContext == NULL)
       {
         return STATUS_INVALID_PARAMETER;
    @@ -852,6 +858,8 @@ PsCreateSystemThread(PHANDLE ThreadHandle,
        NTSTATUS Status;
        KIRQL oldIrql;
        
    +   PAGED_CODE();
    +   
        DPRINT("PsCreateSystemThread(ThreadHandle %x, ProcessHandle %x)\n",
     	    ThreadHandle,ProcessHandle);
        
    diff --git a/reactos/ntoskrnl/ps/debug.c b/reactos/ntoskrnl/ps/debug.c
    index 0a74fe8cbc8..a028cdb9a32 100644
    --- a/reactos/ntoskrnl/ps/debug.c
    +++ b/reactos/ntoskrnl/ps/debug.c
    @@ -192,6 +192,8 @@ NtGetContextThread(IN HANDLE ThreadHandle,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
     
       if(PreviousMode != KernelMode)
    @@ -316,6 +318,8 @@ NtSetContextThread(IN HANDLE ThreadHandle,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status = STATUS_SUCCESS;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       if(PreviousMode != KernelMode)
    diff --git a/reactos/ntoskrnl/ps/job.c b/reactos/ntoskrnl/ps/job.c
    index 8196f94a86a..4e764b32cb5 100644
    --- a/reactos/ntoskrnl/ps/job.c
    +++ b/reactos/ntoskrnl/ps/job.c
    @@ -5,7 +5,8 @@
      * FILE:            ntoskrnl/ps/job.c
      * PURPOSE:         Job Native Functions
      * 
    - * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net)
    + * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net) (stubs)
    + *                  Thomas Weidenmueller 
      */
     
     /* Note: Jobs are only supported on Win2K+ */
    @@ -74,7 +75,7 @@ PsInitJobManagment(VOID)
       PsJobType->Create = NULL;
       PsJobType->DuplicationNotify = NULL;
       
    -  RtlRosInitUnicodeStringFromLiteral(&PsJobType->TypeName, L"Job");
    +  RtlInitUnicodeString(&PsJobType->TypeName, L"Job");
       
       ObpCreateTypeObject(PsJobType);
       
    @@ -112,6 +113,8 @@ NtAssignProcessToJobObject(HANDLE JobHandle,
       KPROCESSOR_MODE PreviousMode;
       NTSTATUS Status;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       /* make sure we're having a handle with enough rights, especially the to
    @@ -199,6 +202,8 @@ NtCreateJobObject(PHANDLE JobHandle,
       KPROCESSOR_MODE PreviousMode;
       PEPROCESS CurrentProcess;
       NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
     
       PreviousMode = ExGetPreviousMode();
       CurrentProcess = PsGetCurrentProcess();
    @@ -304,6 +309,8 @@ NtIsProcessInJob(IN HANDLE ProcessHandle,
       
       PreviousMode = ExGetPreviousMode();
       
    +  PAGED_CODE();
    +  
       Status = ObReferenceObjectByHandle(ProcessHandle,
                                          PROCESS_QUERY_INFORMATION,
                                          PsProcessType,
    @@ -366,6 +373,8 @@ NtOpenJobObject(PHANDLE JobHandle,
       KPROCESSOR_MODE PreviousMode;
       HANDLE hJob;
       NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
     
       PreviousMode = ExGetPreviousMode();
     
    @@ -461,6 +470,8 @@ NtTerminateJobObject(HANDLE JobHandle,
       PEJOB Job;
       NTSTATUS Status;
       
    +  PAGED_CODE();
    +  
       PreviousMode = ExGetPreviousMode();
       
       Status = ObReferenceObjectByHandle(JobHandle,
    diff --git a/reactos/ntoskrnl/ps/kill.c b/reactos/ntoskrnl/ps/kill.c
    index 273f12d5808..acd9271c3e5 100644
    --- a/reactos/ntoskrnl/ps/kill.c
    +++ b/reactos/ntoskrnl/ps/kill.c
    @@ -23,6 +23,9 @@ NTSTATUS STDCALL NtCallTerminatePorts(PETHREAD Thread);
     
     LIST_ENTRY ThreadsToReapHead;
     
    +#define TERMINATE_PROC	0x1
    +#define TERMINATE_APC	0x2
    +
     /* FUNCTIONS *****************************************************************/
     
     VOID
    @@ -110,9 +113,21 @@ PsTerminateCurrentThread(NTSTATUS ExitStatus)
        SIZE_T Length = PAGE_SIZE;
        PVOID TebBlock;
     
    -   KeLowerIrql(PASSIVE_LEVEL);
    +   DPRINT("PsTerminateCurrentThread(ExitStatus %x)\n", ExitStatus);
     
        CurrentThread = PsGetCurrentThread();
    +
    +   oldIrql = KeAcquireDispatcherDatabaseLock();
    +   if (CurrentThread->HasTerminated & TERMINATE_PROC)
    +   {
    +      KeReleaseDispatcherDatabaseLock(oldIrql);
    +      return;
    +   }
    +   CurrentThread->HasTerminated |= TERMINATE_PROC;
    +   KeReleaseDispatcherDatabaseLock(oldIrql);
    +
    +   KeLowerIrql(PASSIVE_LEVEL);
    +
        CurrentProcess = CurrentThread->ThreadsProcess;
     
        /* Can't terminate a thread if it attached another process */
    @@ -130,7 +145,6 @@ PsTerminateCurrentThread(NTSTATUS ExitStatus)
     
        DPRINT("terminating %x\n",CurrentThread);
     
    -   CurrentThread->HasTerminated = TRUE;
        CurrentThread->ExitStatus = ExitStatus;
        KeQuerySystemTime((PLARGE_INTEGER)&CurrentThread->ExitTime);
     
    @@ -144,6 +158,9 @@ PsTerminateCurrentThread(NTSTATUS ExitStatus)
      
        PsLockProcess(CurrentProcess, FALSE);
     
    +   /* Cancel I/O for the thread. */
    +   IoCancelThreadIo(CurrentThread);
    +
        /* Remove the thread from the thread list of its process */
        RemoveEntryList(&CurrentThread->ThreadListEntry);
        Last = IsListEmpty(&CurrentProcess->ThreadListHead);
    @@ -238,13 +255,7 @@ PiTerminateThreadNormalRoutine(PVOID NormalContext,
     			     PVOID SystemArgument1,
     			     PVOID SystemArgument2)
     {
    -  PETHREAD EThread = PsGetCurrentThread();
    -  if (EThread->HasTerminated)
    -  {
    -     /* Someone else has already called PsTerminateCurrentThread */
    -     return;
    -  }
    -  PsTerminateCurrentThread(PsGetCurrentThread()->ExitStatus);
    +  PsTerminateCurrentThread((NTSTATUS)SystemArgument1);
     }
     
     VOID
    @@ -262,14 +273,13 @@ PsTerminateOtherThread(PETHREAD Thread,
     	 Thread, ExitStatus);
     
       OldIrql = KeAcquireDispatcherDatabaseLock();
    -  if (Thread->HasTerminated)
    +  if (Thread->HasTerminated & TERMINATE_APC)
       {
          KeReleaseDispatcherDatabaseLock (OldIrql);
          return;
       }
    -  Thread->HasTerminated = TRUE;
    +  Thread->HasTerminated |= TERMINATE_APC;
       KeReleaseDispatcherDatabaseLock (OldIrql);
    -  Thread->ExitStatus = ExitStatus;
       Apc = ExAllocatePoolWithTag(NonPagedPool, sizeof(KAPC), TAG_TERMINATE_APC);
       KeInitializeApc(Apc,
     		  &Thread->Tcb,
    @@ -280,7 +290,7 @@ PsTerminateOtherThread(PETHREAD Thread,
     		  KernelMode,
     		  NULL);
       KeInsertQueueApc(Apc,
    -		   NULL,
    +		   (PVOID)ExitStatus,
     		   NULL,
     		   IO_NO_INCREMENT);
     
    @@ -337,6 +347,8 @@ NtTerminateProcess(IN	HANDLE		ProcessHandle  OPTIONAL,
        NTSTATUS Status;
        PEPROCESS Process;
        
    +   PAGED_CODE();
    +   
        DPRINT("NtTerminateProcess(ProcessHandle %x, ExitStatus %x)\n",
     	   ProcessHandle, ExitStatus);
        
    @@ -373,6 +385,8 @@ NtTerminateThread(IN	HANDLE		ThreadHandle,
        PETHREAD Thread;
        NTSTATUS Status;
        
    +   PAGED_CODE();
    +   
        Status = ObReferenceObjectByHandle(ThreadHandle,
     				      THREAD_TERMINATE,
     				      PsThreadType,
    @@ -425,6 +439,8 @@ NtCallTerminatePorts(PETHREAD Thread)
        PLIST_ENTRY current_entry;
        PEPORT_TERMINATION_REQUEST current;
        
    +   PAGED_CODE();
    +   
        KeAcquireSpinLock(&Thread->ActiveTimerListLock, &oldIrql);
        while ((current_entry = RemoveHeadList(&Thread->TerminationPortList)) !=
     	  &Thread->TerminationPortList);
    @@ -451,6 +467,8 @@ NtRegisterThreadTerminatePort(HANDLE PortHandle)
        KIRQL oldIrql;
        PETHREAD Thread;
        
    +   PAGED_CODE();
    +   
        Status = ObReferenceObjectByHandle(PortHandle,
     				      PORT_ALL_ACCESS,
     				      LpcPortObjectType,
    diff --git a/reactos/ntoskrnl/ps/locale.c b/reactos/ntoskrnl/ps/locale.c
    index 545cde0f667..45b2f8d8ec9 100644
    --- a/reactos/ntoskrnl/ps/locale.c
    +++ b/reactos/ntoskrnl/ps/locale.c
    @@ -207,6 +207,8 @@ NTSTATUS STDCALL
     NtQueryDefaultLocale(IN BOOLEAN UserProfile,
     		     OUT PLCID DefaultLocaleId)
     {
    +  PAGED_CODE();
    +
       if (DefaultLocaleId == NULL)
         return STATUS_UNSUCCESSFUL;
     
    @@ -252,6 +254,8 @@ NtSetDefaultLocale(IN BOOLEAN UserProfile,
        WCHAR ValueBuffer[20];
        HANDLE UserKey = NULL;
        NTSTATUS Status;
    +   
    +   PAGED_CODE();
     
        if (UserProfile)
          {
    @@ -358,6 +362,8 @@ NtQueryDefaultUILanguage(OUT PLANGID LanguageId)
       HANDLE UserKey;
       HANDLE KeyHandle;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       Status = RtlOpenCurrentUser(KEY_READ,
     			      &UserKey);
    @@ -431,6 +437,8 @@ NtQueryDefaultUILanguage(OUT PLANGID LanguageId)
     NTSTATUS STDCALL
     NtQueryInstallUILanguage(OUT PLANGID LanguageId)
     {
    +  PAGED_CODE();
    +  
       *LanguageId = PsInstallUILanguageId;
     
       return STATUS_SUCCESS;
    @@ -451,6 +459,8 @@ NtSetDefaultUILanguage(IN LANGID LanguageId)
       HANDLE UserHandle;
       HANDLE KeyHandle;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       Status = RtlOpenCurrentUser(KEY_WRITE,
     			      &UserHandle);
    diff --git a/reactos/ntoskrnl/ps/process.c b/reactos/ntoskrnl/ps/process.c
    index 00c5dec9c6c..ac2f018c615 100644
    --- a/reactos/ntoskrnl/ps/process.c
    +++ b/reactos/ntoskrnl/ps/process.c
    @@ -20,8 +20,8 @@ PEPROCESS EXPORTED PsInitialSystemProcess = NULL;
     
     POBJECT_TYPE EXPORTED PsProcessType = NULL;
     
    -LIST_ENTRY PsProcessListHead;
    -static KSPIN_LOCK PsProcessListLock;
    +LIST_ENTRY PsActiveProcessHead;
    +FAST_MUTEX PspActiveProcessMutex;
     static LARGE_INTEGER ShortPsLockDelay, PsLockTimeout;
     
     static GENERIC_MAPPING PiProcessMapping = {STANDARD_RIGHTS_READ | PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
    @@ -51,7 +51,7 @@ static const INFORMATION_CLASS_INFO PsProcessInfoClass[] =
       ICI_SQ_SAME( sizeof(PROCESS_WS_WATCH_INFORMATION),  sizeof(ULONG), ICIF_QUERY | ICIF_SET ),          /* ProcessWorkingSetWatch */
       ICI_SQ_SAME( 0 /* FIXME */,                         sizeof(ULONG), ICIF_SET ),                       /* ProcessUserModeIOPL */
       ICI_SQ_SAME( sizeof(BOOLEAN),                       sizeof(ULONG), ICIF_SET ),                       /* ProcessEnableAlignmentFaultFixup */
    -  ICI_SQ_SAME( sizeof(PROCESS_PRIORITY_CLASS),        sizeof(USHORT), ICIF_SET ),                       /* ProcessPriorityClass */
    +  ICI_SQ_SAME( sizeof(PROCESS_PRIORITY_CLASS),        sizeof(USHORT), ICIF_QUERY | ICIF_SET ),         /* ProcessPriorityClass */
       ICI_SQ_SAME( sizeof(ULONG),                         sizeof(ULONG), ICIF_QUERY ),                     /* ProcessWx86Information */
       ICI_SQ_SAME( sizeof(ULONG),                         sizeof(ULONG), ICIF_QUERY ),                     /* ProcessHandleCount */
       ICI_SQ_SAME( sizeof(KAFFINITY),                     sizeof(ULONG), ICIF_SET ),                       /* ProcessAffinityMask */
    @@ -101,7 +101,6 @@ PsExitSpecialApc(PKAPC Apc,
     PEPROCESS
     PsGetNextProcess(PEPROCESS OldProcess)
     {
    -   KIRQL oldIrql;
        PEPROCESS NextProcess;
        NTSTATUS Status;
        
    @@ -119,13 +118,13 @@ PsGetNextProcess(PEPROCESS OldProcess)
            return PsInitialSystemProcess;
          }
        
    -   KeAcquireSpinLock(&PsProcessListLock, &oldIrql);
    +   ExAcquireFastMutex(&PspActiveProcessMutex);
        NextProcess = OldProcess;
        while (1)
          {
    -       if (NextProcess->ProcessListEntry.Blink == &PsProcessListHead)
    +       if (NextProcess->ProcessListEntry.Blink == &PsActiveProcessHead)
              {
    -	   NextProcess = CONTAINING_RECORD(PsProcessListHead.Blink,
    +	   NextProcess = CONTAINING_RECORD(PsActiveProcessHead.Blink,
     					   EPROCESS,
     					   ProcessListEntry);
              }
    @@ -154,7 +153,7 @@ PsGetNextProcess(PEPROCESS OldProcess)
     	 }
          }
     
    -   KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +   ExReleaseFastMutex(&PspActiveProcessMutex);
        ObDereferenceObject(OldProcess);
        
        return(NextProcess);
    @@ -193,6 +192,8 @@ NtOpenProcessTokenEx(
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
        
    +   PAGED_CODE();
    +   
        PreviousMode = ExGetPreviousMode();
        
        if(PreviousMode == UserMode)
    @@ -281,14 +282,13 @@ PsOpenTokenOfProcess(HANDLE ProcessHandle,
     VOID 
     PiKillMostProcesses(VOID)
     {
    -   KIRQL oldIrql;
        PLIST_ENTRY current_entry;
        PEPROCESS current;
        
    -   KeAcquireSpinLock(&PsProcessListLock, &oldIrql);
    +   ExAcquireFastMutex(&PspActiveProcessMutex);
        
    -   current_entry = PsProcessListHead.Flink;
    -   while (current_entry != &PsProcessListHead)
    +   current_entry = PsActiveProcessHead.Flink;
    +   while (current_entry != &PsActiveProcessHead)
          {
     	current = CONTAINING_RECORD(current_entry, EPROCESS, 
     				    ProcessListEntry);
    @@ -301,7 +301,7 @@ PiKillMostProcesses(VOID)
     	  }
          }
        
    -   KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +   ExReleaseFastMutex(&PspActiveProcessMutex);
     }
     
     
    @@ -309,7 +309,6 @@ VOID INIT_FUNCTION
     PsInitProcessManagment(VOID)
     {
        PKPROCESS KProcess;
    -   KIRQL oldIrql;
        NTSTATUS Status;
        
        ShortPsLockDelay.QuadPart = -100LL;
    @@ -339,12 +338,12 @@ PsInitProcessManagment(VOID)
        PsProcessType->Create = NULL;
        PsProcessType->DuplicationNotify = NULL;
        
    -   RtlRosInitUnicodeStringFromLiteral(&PsProcessType->TypeName, L"Process");
    +   RtlInitUnicodeString(&PsProcessType->TypeName, L"Process");
        
        ObpCreateTypeObject(PsProcessType);
     
    -   InitializeListHead(&PsProcessListHead);
    -   KeInitializeSpinLock(&PsProcessListLock);
    +   InitializeListHead(&PsActiveProcessHead);
    +   ExInitializeFastMutex(&PspActiveProcessMutex);
     
        RtlZeroMemory(PiProcessNotifyRoutine, sizeof(PiProcessNotifyRoutine));
        RtlZeroMemory(PiLoadImageNotifyRoutine, sizeof(PiLoadImageNotifyRoutine));
    @@ -412,11 +411,9 @@ PsInitProcessManagment(VOID)
        
        PsInitialSystemProcess->Win32WindowStation = (HANDLE)0;
        
    -   KeAcquireSpinLock(&PsProcessListLock, &oldIrql);
    -   InsertHeadList(&PsProcessListHead, 
    +   InsertHeadList(&PsActiveProcessHead,
     		  &PsInitialSystemProcess->ProcessListEntry);
        InitializeListHead(&PsInitialSystemProcess->ThreadListHead);
    -   KeReleaseSpinLock(&PsProcessListLock, oldIrql);
     
        SepCreateSystemProcessToken(PsInitialSystemProcess);
     }
    @@ -424,7 +421,6 @@ PsInitProcessManagment(VOID)
     VOID STDCALL
     PiDeleteProcessWorker(PVOID pContext)
     {
    -  KIRQL oldIrql;
       PDEL_CONTEXT Context;
       PEPROCESS CurrentProcess;
       PEPROCESS Process;
    @@ -440,9 +436,9 @@ PiDeleteProcessWorker(PVOID pContext)
           KeAttachProcess(&Process->Pcb);
         }
     
    -  KeAcquireSpinLock(&PsProcessListLock, &oldIrql);
    +  ExAcquireFastMutex(&PspActiveProcessMutex);
       RemoveEntryList(&Process->ProcessListEntry);
    -  KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +  ExReleaseFastMutex(&PspActiveProcessMutex);
     
       /* KDB hook */
       KDB_DELETEPROCESS_HOOK(Process);
    @@ -511,6 +507,8 @@ PsCreatePeb(HANDLE ProcessHandle,
       ULONG ViewSize;
       PVOID TableBase;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       /* Allocate the Process Environment Block (PEB) */
       Process->TebBlock = (PVOID) MM_ROUND_DOWN(PEB_BASE, MM_VIRTMEM_GRANULARITY);
    @@ -575,7 +573,7 @@ PsCreatePeb(HANDLE ProcessHandle,
       Peb->OSMinorVersion = 0;
       Peb->OSBuildNumber = 1381;
       Peb->OSPlatformId = 2; //VER_PLATFORM_WIN32_NT;
    -  Peb->SPMajorVersion = 6;
    +  Peb->OSCSDVersion = 6 << 8;
     
       Peb->AnsiCodePageData     = (char*)TableBase + NlsAnsiTableOffset;
       Peb->OemCodePageData      = (char*)TableBase + NlsOemTableOffset;
    @@ -657,7 +655,6 @@ PspCreateProcess(OUT PHANDLE ProcessHandle,
        PEPROCESS Process;
        PEPROCESS pParentProcess;
        PKPROCESS KProcess;
    -   KIRQL oldIrql;
        PVOID LdrStartupAddr;
        PVOID BaseAddress;
        PMEMORY_AREA MemoryArea;
    @@ -863,10 +860,10 @@ exitdereferenceobjects:
        
        Process->Win32WindowStation = (HANDLE)0;
     
    -   KeAcquireSpinLock(&PsProcessListLock, &oldIrql);
    -   InsertHeadList(&PsProcessListHead, &Process->ProcessListEntry);
    +   ExAcquireFastMutex(&PspActiveProcessMutex);
    +   InsertHeadList(&PsActiveProcessHead, &Process->ProcessListEntry);
        InitializeListHead(&Process->ThreadListHead);
    -   KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +   ExReleaseFastMutex(&PspActiveProcessMutex);
     
        ExInitializeFastMutex(&Process->TebLock);
        Process->Pcb.State = PROCESS_STATE_ACTIVE;
    @@ -1170,6 +1167,8 @@ NtCreateProcess(OUT PHANDLE ProcessHandle,
     {
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
    +   
    +   PAGED_CODE();
       
        PreviousMode = ExGetPreviousMode();
        
    @@ -1226,7 +1225,8 @@ NtOpenProcess(OUT PHANDLE	    ProcessHandle,
     	  "ObjectAttributes %x, ClientId %x { UniP %d, UniT %d })\n",
     	  ProcessHandle, DesiredAccess, ObjectAttributes, ClientId,
     	  ClientId->UniqueProcess, ClientId->UniqueThread);
    -	  
    +
    +   PAGED_CODE();
        
        /*
         * Not sure of the exact semantics 
    @@ -1261,14 +1261,13 @@ NtOpenProcess(OUT PHANDLE	    ProcessHandle,
          }
        else
          {
    -	KIRQL oldIrql;
     	PLIST_ENTRY current_entry;
     	PEPROCESS current;
     	NTSTATUS Status;
     	
    -	KeAcquireSpinLock(&PsProcessListLock, &oldIrql);
    -	current_entry = PsProcessListHead.Flink;
    -	while (current_entry != &PsProcessListHead)
    +	ExAcquireFastMutex(&PspActiveProcessMutex);
    +	current_entry = PsActiveProcessHead.Flink;
    +	while (current_entry != &PsActiveProcessHead)
     	  {
     	     current = CONTAINING_RECORD(current_entry, EPROCESS, 
     					 ProcessListEntry);
    @@ -1285,7 +1284,7 @@ NtOpenProcess(OUT PHANDLE	    ProcessHandle,
     					                  PsProcessType,
     					                  UserMode);
     		    }
    -		  KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +		  ExReleaseFastMutex(&PspActiveProcessMutex);
     		  if (NT_SUCCESS(Status))
     		    {
     		      Status = ObCreateHandle(PsGetCurrentProcess(),
    @@ -1301,7 +1300,7 @@ NtOpenProcess(OUT PHANDLE	    ProcessHandle,
     	       }
     	     current_entry = current_entry->Flink;
     	  }
    -	KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +	ExReleaseFastMutex(&PspActiveProcessMutex);
     	DPRINT("NtOpenProcess() = STATUS_UNSUCCESSFUL\n");
     	return(STATUS_UNSUCCESSFUL);
          }
    @@ -1323,6 +1322,8 @@ NtQueryInformationProcess(IN  HANDLE ProcessHandle,
        KPROCESSOR_MODE PreviousMode;
        NTSTATUS Status = STATUS_SUCCESS;
        
    +   PAGED_CODE();
    +   
        PreviousMode = ExGetPreviousMode();
        
        DefaultQueryInfoBufferCheck(ProcessInformationClass,
    @@ -1795,6 +1796,8 @@ NtSetInformationProcess(IN HANDLE ProcessHandle,
        ACCESS_MASK Access;
        NTSTATUS Status = STATUS_SUCCESS;
        
    +   PAGED_CODE();
    +   
        PreviousMode = ExGetPreviousMode();
     
        DefaultSetInfoBufferCheck(ProcessInformationClass,
    @@ -1846,86 +1849,79 @@ NtSetInformationProcess(IN HANDLE ProcessHandle,
     
           case ProcessDebugPort:
           {
    -        if(ProcessInformationLength != sizeof(HANDLE))
    +        HANDLE PortHandle = NULL;
    +
    +        /* make a safe copy of the buffer on the stack */
    +        _SEH_TRY
             {
    -          Status = STATUS_INFO_LENGTH_MISMATCH;
    +          PortHandle = *(PHANDLE)ProcessInformation;
    +          Status = (PortHandle != NULL ? STATUS_SUCCESS : STATUS_INVALID_PARAMETER);
             }
    -        else
    +        _SEH_HANDLE
             {
    -          HANDLE PortHandle = NULL;
    +          Status = _SEH_GetExceptionCode();
    +        }
    +        _SEH_END;
     
    -          /* make a safe copy of the buffer on the stack */
    -          _SEH_TRY
    -          {
    -            PortHandle = *(PHANDLE)ProcessInformation;
    -            Status = (PortHandle != NULL ? STATUS_SUCCESS : STATUS_INVALID_PARAMETER);
    -          }
    -          _SEH_HANDLE
    -          {
    -            Status = _SEH_GetExceptionCode();
    -          }
    -          _SEH_END;
    +        if(NT_SUCCESS(Status))
    +        {
    +          PEPORT DebugPort;
     
    +          /* in case we had success reading from the buffer, verify the provided
    +           * LPC port handle
    +           */
    +          Status = ObReferenceObjectByHandle(PortHandle,
    +                                             0,
    +                                             LpcPortObjectType,
    +                                             PreviousMode,
    +                                             (PVOID)&DebugPort,
    +                                             NULL);
               if(NT_SUCCESS(Status))
               {
    -            PEPORT DebugPort;
    +            /* lock the process to be thread-safe! */
     
    -            /* in case we had success reading from the buffer, verify the provided
    -             * LPC port handle
    -             */
    -            Status = ObReferenceObjectByHandle(PortHandle,
    -                                               0,
    -                                               LpcPortObjectType,
    -                                               PreviousMode,
    -                                               (PVOID)&DebugPort,
    -                                               NULL);
    +            Status = PsLockProcess(Process, FALSE);
                 if(NT_SUCCESS(Status))
                 {
    -              /* lock the process to be thread-safe! */
    -
    -              Status = PsLockProcess(Process, FALSE);
    -              if(NT_SUCCESS(Status))
    +              /*
    +               * according to "NT Native API" documentation, setting the debug
    +               * port is only permitted once!
    +               */
    +              if(Process->DebugPort == NULL)
                   {
    -                /*
    -                 * according to "NT Native API" documentation, setting the debug
    -                 * port is only permitted once!
    -                 */
    -                if(Process->DebugPort == NULL)
    +                /* keep the reference to the handle! */
    +                Process->DebugPort = DebugPort;
    +                
    +                if(Process->Peb)
                     {
    -                  /* keep the reference to the handle! */
    -                  Process->DebugPort = DebugPort;
    -                  
    -                  if(Process->Peb)
    -                  {
    -                    /* we're now debugging the process, so set the flag in the PEB
    -                       structure. However, to access it we need to attach to the
    -                       process so we're sure we're in the right context! */
    +                  /* we're now debugging the process, so set the flag in the PEB
    +                     structure. However, to access it we need to attach to the
    +                     process so we're sure we're in the right context! */
     
    -                    KeAttachProcess(&Process->Pcb);
    -                    _SEH_TRY
    -                    {
    -                      Process->Peb->BeingDebugged = TRUE;
    -                    }
    -                    _SEH_HANDLE
    -                    {
    -                      DPRINT1("Trying to set the Peb->BeingDebugged field of process 0x%x failed, exception: 0x%x\n", Process, _SEH_GetExceptionCode());
    -                    }
    -                    _SEH_END;
    -                    KeDetachProcess();
    +                  KeAttachProcess(&Process->Pcb);
    +                  _SEH_TRY
    +                  {
    +                    Process->Peb->BeingDebugged = TRUE;
                       }
    -                  Status = STATUS_SUCCESS;
    +                  _SEH_HANDLE
    +                  {
    +                    DPRINT1("Trying to set the Peb->BeingDebugged field of process 0x%x failed, exception: 0x%x\n", Process, _SEH_GetExceptionCode());
    +                  }
    +                  _SEH_END;
    +                  KeDetachProcess();
                     }
    -                else
    -                {
    -                  ObDereferenceObject(DebugPort);
    -                  Status = STATUS_PORT_ALREADY_SET;
    -                }
    -                PsUnlockProcess(Process);
    +                Status = STATUS_SUCCESS;
                   }
                   else
                   {
                     ObDereferenceObject(DebugPort);
    +                Status = STATUS_PORT_ALREADY_SET;
                   }
    +              PsUnlockProcess(Process);
    +            }
    +            else
    +            {
    +              ObDereferenceObject(DebugPort);
                 }
               }
             }
    @@ -1934,67 +1930,60 @@ NtSetInformationProcess(IN HANDLE ProcessHandle,
     
           case ProcessExceptionPort:
           {
    -        if(ProcessInformationLength != sizeof(HANDLE))
    -        {
    -          Status = STATUS_INFO_LENGTH_MISMATCH;
    -        }
    -        else
    -        {
    -          HANDLE PortHandle = NULL;
    +        HANDLE PortHandle = NULL;
     
    -          /* make a safe copy of the buffer on the stack */
    -          _SEH_TRY
    -          {
    -            PortHandle = *(PHANDLE)ProcessInformation;
    -            Status = STATUS_SUCCESS;
    -          }
    -          _SEH_HANDLE
    -          {
    -            Status = _SEH_GetExceptionCode();
    -          }
    -          _SEH_END;
    +        /* make a safe copy of the buffer on the stack */
    +        _SEH_TRY
    +        {
    +          PortHandle = *(PHANDLE)ProcessInformation;
    +          Status = STATUS_SUCCESS;
    +        }
    +        _SEH_HANDLE
    +        {
    +          Status = _SEH_GetExceptionCode();
    +        }
    +        _SEH_END;
    +        
    +        if(NT_SUCCESS(Status))
    +        {
    +          PEPORT ExceptionPort;
               
    +          /* in case we had success reading from the buffer, verify the provided
    +           * LPC port handle
    +           */
    +          Status = ObReferenceObjectByHandle(PortHandle,
    +                                             0,
    +                                             LpcPortObjectType,
    +                                             PreviousMode,
    +                                             (PVOID)&ExceptionPort,
    +                                             NULL);
               if(NT_SUCCESS(Status))
               {
    -            PEPORT ExceptionPort;
    +            /* lock the process to be thread-safe! */
                 
    -            /* in case we had success reading from the buffer, verify the provided
    -             * LPC port handle
    -             */
    -            Status = ObReferenceObjectByHandle(PortHandle,
    -                                               0,
    -                                               LpcPortObjectType,
    -                                               PreviousMode,
    -                                               (PVOID)&ExceptionPort,
    -                                               NULL);
    +            Status = PsLockProcess(Process, FALSE);
                 if(NT_SUCCESS(Status))
                 {
    -              /* lock the process to be thread-safe! */
    -              
    -              Status = PsLockProcess(Process, FALSE);
    -              if(NT_SUCCESS(Status))
    +              /*
    +               * according to "NT Native API" documentation, setting the exception
    +               * port is only permitted once!
    +               */
    +              if(Process->ExceptionPort == NULL)
                   {
    -                /*
    -                 * according to "NT Native API" documentation, setting the exception
    -                 * port is only permitted once!
    -                 */
    -                if(Process->ExceptionPort == NULL)
    -                {
    -                  /* keep the reference to the handle! */
    -                  Process->ExceptionPort = ExceptionPort;
    -                  Status = STATUS_SUCCESS;
    -                }
    -                else
    -                {
    -                  ObDereferenceObject(ExceptionPort);
    -                  Status = STATUS_PORT_ALREADY_SET;
    -                }
    -                PsUnlockProcess(Process);
    +                /* keep the reference to the handle! */
    +                Process->ExceptionPort = ExceptionPort;
    +                Status = STATUS_SUCCESS;
                   }
                   else
                   {
                     ObDereferenceObject(ExceptionPort);
    +                Status = STATUS_PORT_ALREADY_SET;
                   }
    +              PsUnlockProcess(Process);
    +            }
    +            else
    +            {
    +              ObDereferenceObject(ExceptionPort);
                 }
               }
             }
    @@ -2003,131 +1992,131 @@ NtSetInformationProcess(IN HANDLE ProcessHandle,
     
           case ProcessAccessToken:
           {
    -        if(ProcessInformationLength != sizeof(PROCESS_ACCESS_TOKEN))
    +        HANDLE TokenHandle = NULL;
    +
    +        /* make a safe copy of the buffer on the stack */
    +        _SEH_TRY
             {
    -          Status = STATUS_INFO_LENGTH_MISMATCH;
    +          TokenHandle = ((PPROCESS_ACCESS_TOKEN)ProcessInformation)->Token;
    +          Status = STATUS_SUCCESS;
             }
    -        else
    +        _SEH_HANDLE
             {
    -          HANDLE TokenHandle = NULL;
    +          Status = _SEH_GetExceptionCode();
    +        }
    +        _SEH_END;
     
    -          /* make a safe copy of the buffer on the stack */
    -          _SEH_TRY
    -          {
    -            TokenHandle = ((PPROCESS_ACCESS_TOKEN)ProcessInformation)->Token;
    -            Status = STATUS_SUCCESS;
    -          }
    -          _SEH_HANDLE
    -          {
    -            Status = _SEH_GetExceptionCode();
    -          }
    -          _SEH_END;
    -
    -          if(NT_SUCCESS(Status))
    -          {
    -            /* in case we had success reading from the buffer, perform the actual task */
    -            Status = PspAssignPrimaryToken(Process, TokenHandle);
    -          }
    +        if(NT_SUCCESS(Status))
    +        {
    +          /* in case we had success reading from the buffer, perform the actual task */
    +          Status = PspAssignPrimaryToken(Process, TokenHandle);
             }
     	break;
           }
     
           case ProcessDefaultHardErrorMode:
           {
    -        if(ProcessInformationLength != sizeof(UINT))
    +        _SEH_TRY
             {
    -          Status = STATUS_INFO_LENGTH_MISMATCH;
    +          InterlockedExchange((LONG*)&Process->DefaultHardErrorProcessing,
    +                              *(PLONG)ProcessInformation);
    +          Status = STATUS_SUCCESS;
             }
    -        else
    +        _SEH_HANDLE
             {
    -          _SEH_TRY
    -          {
    -            InterlockedExchange((LONG*)&Process->DefaultHardErrorProcessing,
    -                                *(PLONG)ProcessInformation);
    -            Status = STATUS_SUCCESS;
    -          }
    -          _SEH_HANDLE
    -          {
    -            Status = _SEH_GetExceptionCode();
    -          }
    -          _SEH_END;
    +          Status = _SEH_GetExceptionCode();
             }
    +        _SEH_END;
             break;
           }
           
           case ProcessSessionInformation:
           {
    -        if(ProcessInformationLength != sizeof(UINT))
    +        PROCESS_SESSION_INFORMATION SessionInfo;
    +        Status = STATUS_SUCCESS;
    +        
    +        _SEH_TRY
             {
    -          Status = STATUS_INFO_LENGTH_MISMATCH;
    +          /* copy the structure to the stack */
    +          SessionInfo = *(PPROCESS_SESSION_INFORMATION)ProcessInformation;
             }
    -        else
    +        _SEH_HANDLE
             {
    -          PROCESS_SESSION_INFORMATION SessionInfo;
    -          Status = STATUS_SUCCESS;
    +          Status = _SEH_GetExceptionCode();
    +        }
    +        _SEH_END;
    +        
    +        if(NT_SUCCESS(Status))
    +        {
    +          /* we successfully copied the structure to the stack, continue processing */
               
    -          _SEH_TRY
    +          /*
    +           * setting the session id requires the SeTcbPrivilege!
    +           */
    +          if(!SeSinglePrivilegeCheck(SeTcbPrivilege,
    +                                     PreviousMode))
               {
    -            /* copy the structure to the stack */
    -            SessionInfo = *(PPROCESS_SESSION_INFORMATION)ProcessInformation;
    +            DPRINT1("NtSetInformationProcess: Caller requires the SeTcbPrivilege privilege for setting ProcessSessionInformation!\n");
    +            /* can't set the session id, bail! */
    +            Status = STATUS_PRIVILEGE_NOT_HELD;
    +            break;
               }
    -          _SEH_HANDLE
    -          {
    -            Status = _SEH_GetExceptionCode();
    -          }
    -          _SEH_END;
               
    +          /* FIXME - update the session id for the process token */
    +
    +          Status = PsLockProcess(Process, FALSE);
               if(NT_SUCCESS(Status))
               {
    -            /* we successfully copied the structure to the stack, continue processing */
    -            
    -            /*
    -             * setting the session id requires the SeTcbPrivilege!
    -             */
    -            if(!SeSinglePrivilegeCheck(SeTcbPrivilege,
    -                                       PreviousMode))
    -            {
    -              DPRINT1("NtSetInformationProcess: Caller requires the SeTcbPrivilege privilege for setting ProcessSessionInformation!\n");
    -              /* can't set the session id, bail! */
    -              Status = STATUS_PRIVILEGE_NOT_HELD;
    -              break;
    -            }
    -            
    -            /* FIXME - update the session id for the process token */
    +            Process->SessionId = SessionInfo.SessionId;
     
    -            Status = PsLockProcess(Process, FALSE);
    -            if(NT_SUCCESS(Status))
    +            /* Update the session id in the PEB structure */
    +            if(Process->Peb != NULL)
                 {
    -              Process->SessionId = SessionInfo.SessionId;
    +              /* we need to attach to the process to make sure we're in the right
    +                 context to access the PEB structure */
    +              KeAttachProcess(&Process->Pcb);
     
    -              /* Update the session id in the PEB structure */
    -              if(Process->Peb != NULL)
    +              _SEH_TRY
                   {
    -                /* we need to attach to the process to make sure we're in the right
    -                   context to access the PEB structure */
    -                KeAttachProcess(&Process->Pcb);
    +                /* FIXME: Process->Peb->SessionId = SessionInfo.SessionId; */
     
    -                _SEH_TRY
    -                {
    -                  /* FIXME: Process->Peb->SessionId = SessionInfo.SessionId; */
    -
    -                  Status = STATUS_SUCCESS;
    -                }
    -                _SEH_HANDLE
    -                {
    -                  Status = _SEH_GetExceptionCode();
    -                }
    -                _SEH_END;
    -
    -                KeDetachProcess();
    +                Status = STATUS_SUCCESS;
                   }
    +              _SEH_HANDLE
    +              {
    +                Status = _SEH_GetExceptionCode();
    +              }
    +              _SEH_END;
     
    -              PsUnlockProcess(Process);
    +              KeDetachProcess();
                 }
    +
    +            PsUnlockProcess(Process);
               }
             }
             break;
           }
    +      
    +      case ProcessPriorityClass:
    +      {
    +        PROCESS_PRIORITY_CLASS ppc;
    +
    +        _SEH_TRY
    +        {
    +          ppc = *(PPROCESS_PRIORITY_CLASS)ProcessInformation;
    +        }
    +        _SEH_HANDLE
    +        {
    +          Status = _SEH_GetExceptionCode();
    +        }
    +        _SEH_END;
    +        
    +        if(NT_SUCCESS(Status))
    +        {
    +        }
    +        
    +        break;
    +      }
     	
           case ProcessLdtInformation:
           case ProcessLdtSize:
    @@ -2135,7 +2124,6 @@ NtSetInformationProcess(IN HANDLE ProcessHandle,
           case ProcessWorkingSetWatch:
           case ProcessUserModeIOPL:
           case ProcessEnableAlignmentFaultFixup:
    -      case ProcessPriorityClass:
           case ProcessAffinityMask:
     	Status = STATUS_NOT_IMPLEMENTED;
     	break;
    @@ -2178,7 +2166,6 @@ PiQuerySystemProcessInformation(PVOID Buffer,
        return STATUS_NOT_IMPLEMENTED;
     
     #if 0
    -	KIRQL		OldIrql;
     	PLIST_ENTRY	CurrentEntryP;
     	PEPROCESS	CurrentP;
     	PLIST_ENTRY	CurrentEntryT;
    @@ -2195,16 +2182,15 @@ PiQuerySystemProcessInformation(PVOID Buffer,
     	
     
        /* Lock the process list. */
    -   KeAcquireSpinLock(&PsProcessListLock,
    -		     &OldIrql);
    +   ExAcquireFastMutex(&PspActiveProcessMutex);
     
     	/*
     	 * Scan the process list. Since the
     	 * list is circular, the guard is false
     	 * after the last process.
     	 */
    -	for (	CurrentEntryP = PsProcessListHead.Flink;
    -		(CurrentEntryP != & PsProcessListHead);
    +	for (	CurrentEntryP = PsActiveProcessHead.Flink;
    +		(CurrentEntryP != & PsActiveProcessHead);
     		CurrentEntryP = CurrentEntryP->Flink
     		)
     	{
    @@ -2340,9 +2326,8 @@ PiQuerySystemProcessInformation(PVOID Buffer,
     	/*
     	 * Unlock the process list.
     	 */
    -	KeReleaseSpinLock (
    -		& PsProcessListLock,
    -		OldIrql
    +	ExReleaseFastMutex (
    +		& PspActiveProcessMutex
     		);
     	/*
     	 * Return the proper error status code,
    @@ -2576,14 +2561,13 @@ NTSTATUS STDCALL
     PsLookupProcessByProcessId(IN HANDLE ProcessId,
     			   OUT PEPROCESS *Process)
     {
    -  KIRQL oldIrql;
       PLIST_ENTRY current_entry;
       PEPROCESS current;
     
    -  KeAcquireSpinLock(&PsProcessListLock, &oldIrql);
    +  ExAcquireFastMutex(&PspActiveProcessMutex);
     
    -  current_entry = PsProcessListHead.Flink;
    -  while (current_entry != &PsProcessListHead)
    +  current_entry = PsActiveProcessHead.Flink;
    +  while (current_entry != &PsActiveProcessHead)
         {
           current = CONTAINING_RECORD(current_entry,
     				  EPROCESS,
    @@ -2592,13 +2576,13 @@ PsLookupProcessByProcessId(IN HANDLE ProcessId,
     	{
     	  *Process = current;
               ObReferenceObject(current);
    -	  KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +	  ExReleaseFastMutex(&PspActiveProcessMutex);
     	  return(STATUS_SUCCESS);
     	}
           current_entry = current_entry->Flink;
         }
     
    -  KeReleaseSpinLock(&PsProcessListLock, oldIrql);
    +  ExReleaseFastMutex(&PspActiveProcessMutex);
     
       return(STATUS_INVALID_PARAMETER);
     }
    @@ -2916,6 +2900,8 @@ PsLockProcess(PEPROCESS Process, BOOL Timeout)
       PLARGE_INTEGER Delay = (Timeout ? &PsLockTimeout : NULL);
       PKTHREAD CallingThread = KeGetCurrentThread();
       
    +  PAGED_CODE();
    +  
       KeEnterCriticalRegion();
       
       for(;;)
    @@ -2973,6 +2959,8 @@ PsLockProcess(PEPROCESS Process, BOOL Timeout)
     VOID
     PsUnlockProcess(PEPROCESS Process)
     {
    +  PAGED_CODE();
    +  
       ASSERT(Process->LockOwner == KeGetCurrentThread());
       
       if(InterlockedDecrementUL(&Process->LockCount) == 0)
    diff --git a/reactos/ntoskrnl/ps/suspend.c b/reactos/ntoskrnl/ps/suspend.c
    index eeacff4e21b..7e1d56ec5a5 100644
    --- a/reactos/ntoskrnl/ps/suspend.c
    +++ b/reactos/ntoskrnl/ps/suspend.c
    @@ -131,6 +131,8 @@ NtResumeThread(IN HANDLE ThreadHandle,
       PETHREAD Thread;
       NTSTATUS Status;
       ULONG Count;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtResumeThead(ThreadHandle %lx  SuspendCount %p)\n",
     	 ThreadHandle, SuspendCount);
    @@ -184,6 +186,8 @@ NtSuspendThread(IN HANDLE ThreadHandle,
       PETHREAD Thread;
       NTSTATUS Status;
       ULONG Count;
    +  
    +  PAGED_CODE();
     
       Status = ObReferenceObjectByHandle(ThreadHandle,
     				     THREAD_SUSPEND_RESUME,
    diff --git a/reactos/ntoskrnl/ps/thread.c b/reactos/ntoskrnl/ps/thread.c
    index 3acafcfd7e0..ee9ad920917 100644
    --- a/reactos/ntoskrnl/ps/thread.c
    +++ b/reactos/ntoskrnl/ps/thread.c
    @@ -27,7 +27,7 @@
     
     /* GLOBALS ******************************************************************/
     
    -extern LIST_ENTRY PsProcessListHead;
    +extern LIST_ENTRY PsActiveProcessHead;
     
     POBJECT_TYPE EXPORTED PsThreadType = NULL;
     
    @@ -287,8 +287,8 @@ VOID PsDumpThreads(BOOLEAN IncludeSystem)
        PETHREAD Thread;
        ULONG nThreads = 0;
        
    -   AProcess = PsProcessListHead.Flink;
    -   while(AProcess != &PsProcessListHead)
    +   AProcess = PsActiveProcessHead.Flink;
    +   while(AProcess != &PsActiveProcessHead)
        {
          Process = CONTAINING_RECORD(AProcess, EPROCESS, ProcessListEntry);
          /* FIXME - skip suspended, ... processes? */
    @@ -767,7 +767,7 @@ PsInitThreadManagment(VOID)
        PsThreadType->Create = NULL;
        PsThreadType->DuplicationNotify = NULL;
     
    -   RtlRosInitUnicodeStringFromLiteral(&PsThreadType->TypeName, L"Thread");
    +   RtlInitUnicodeString(&PsThreadType->TypeName, L"Thread");
     
        ObpCreateTypeObject(PsThreadType);
     
    @@ -992,6 +992,8 @@ NtOpenThread(OUT PHANDLE ThreadHandle,
     	     IN	PCLIENT_ID ClientId)
     {
        NTSTATUS Status = STATUS_INVALID_PARAMETER;
    +   
    +   PAGED_CODE();
     
        if((NULL != ThreadHandle)&&(NULL != ObjectAttributes))
        {
    @@ -1088,12 +1090,12 @@ PsLookupProcessThreadByCid(IN PCLIENT_ID Cid,
      * @implemented
      */
     NTSTATUS STDCALL
    -PsLookupThreadByThreadId(IN PVOID ThreadId,
    +PsLookupThreadByThreadId(IN HANDLE ThreadId,
     			 OUT PETHREAD *Thread)
     {
       PCID_OBJECT CidObject;
       
    -  CidObject = PsLockCidHandle((HANDLE)ThreadId, PsThreadType);
    +  CidObject = PsLockCidHandle(ThreadId, PsThreadType);
       if(CidObject != NULL)
       {
         *Thread = CidObject->Obj.Thread;
    diff --git a/reactos/ntoskrnl/ps/tinfo.c b/reactos/ntoskrnl/ps/tinfo.c
    index 70455fa2336..c9ca051d48f 100644
    --- a/reactos/ntoskrnl/ps/tinfo.c
    +++ b/reactos/ntoskrnl/ps/tinfo.c
    @@ -98,6 +98,8 @@ NtSetInformationThread (IN HANDLE ThreadHandle,
          HANDLE Handle;
          PVOID Address;
       }u;
    +  
    +  PAGED_CODE();
     
       if (ThreadInformationClass <= MaxThreadInfoClass &&
           !SetInformationData[ThreadInformationClass].Implemented)
    @@ -206,21 +208,23 @@ NtQueryInformationThread (IN	HANDLE		ThreadHandle,
           LARGE_INTEGER Count;
           BOOLEAN Last;
        }u;
    +   
    +   PAGED_CODE();
     
    -  if (ThreadInformationClass <= MaxThreadInfoClass &&
    -      !QueryInformationData[ThreadInformationClass].Implemented)
    -    {
    -      return STATUS_NOT_IMPLEMENTED;
    -    }
    -  if (ThreadInformationClass > MaxThreadInfoClass ||
    -      QueryInformationData[ThreadInformationClass].Size == 0)
    -    {
    -      return STATUS_INVALID_INFO_CLASS;
    -    }
    -  if (ThreadInformationLength != QueryInformationData[ThreadInformationClass].Size)
    -    {
    -      return STATUS_INFO_LENGTH_MISMATCH;
    -    }
    +   if (ThreadInformationClass <= MaxThreadInfoClass &&
    +       !QueryInformationData[ThreadInformationClass].Implemented)
    +     {
    +       return STATUS_NOT_IMPLEMENTED;
    +     }
    +   if (ThreadInformationClass > MaxThreadInfoClass ||
    +       QueryInformationData[ThreadInformationClass].Size == 0)
    +     {
    +       return STATUS_INVALID_INFO_CLASS;
    +     }
    +   if (ThreadInformationLength != QueryInformationData[ThreadInformationClass].Size)
    +     {
    +       return STATUS_INFO_LENGTH_MISMATCH;
    +     }
     
        Status = ObReferenceObjectByHandle(ThreadHandle,
     				      THREAD_QUERY_INFORMATION,
    diff --git a/reactos/ntoskrnl/ps/w32call.c b/reactos/ntoskrnl/ps/w32call.c
    index 48b11ac8259..455fd633b7c 100644
    --- a/reactos/ntoskrnl/ps/w32call.c
    +++ b/reactos/ntoskrnl/ps/w32call.c
    @@ -82,6 +82,8 @@ NtCallbackReturn (PVOID		Result,
       PKTRAP_FRAME SavedTrapFrame;
       PVOID SavedCallbackStack;
       PVOID SavedExceptionStack;
    +  
    +  PAGED_CODE();
     
       Thread = PsGetCurrentThread();
       if (Thread->Tcb.CallbackStack == NULL)
    @@ -259,6 +261,8 @@ NtW32Call (IN ULONG RoutineIndex,
       NTSTATUS CallbackStatus;
       NTW32CALL_SAVED_STATE SavedState;
       PNTW32CALL_CALLBACK_STACK AssignedStack;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtW32Call(RoutineIndex %d, Argument %X, ArgumentLength %d)\n",
     	  RoutineIndex, Argument, ArgumentLength);
    diff --git a/reactos/ntoskrnl/rtl/capture.c b/reactos/ntoskrnl/rtl/capture.c
    index c001291b15e..8eb7529d5b6 100644
    --- a/reactos/ntoskrnl/rtl/capture.c
    +++ b/reactos/ntoskrnl/rtl/capture.c
    @@ -125,46 +125,6 @@ RtlReleaseCapturedUnicodeString(IN PUNICODE_STRING CapturedString,
       }
     }
     
    -NTSTATUS
    -RtlCaptureAnsiString(PANSI_STRING Dest,
    -		     PANSI_STRING UnsafeSrc)
    -{
    -  PANSI_STRING Src; 
    -  NTSTATUS Status;
    -  
    -  /*
    -   * Copy the source string structure to kernel space.
    -   */
    -  Status = MmCopyFromCaller(&Src, UnsafeSrc, sizeof(ANSI_STRING));
    -  if (!NT_SUCCESS(Status))
    -    {
    -      return(Status);
    -    }
    -
    -  /*
    -   * Initialize the destination string.
    -   */
    -  Dest->Length = Src->Length;
    -  Dest->MaximumLength = Src->MaximumLength;
    -  Dest->Buffer = ExAllocatePool(NonPagedPool, Dest->MaximumLength);
    -  if (Dest->Buffer == NULL)
    -    {
    -      return(Status);
    -    }
    -
    -  /*
    -   * Copy the source string to kernel space.
    -   */
    -  Status = MmCopyFromCaller(Dest->Buffer, Src->Buffer, Dest->Length);
    -  if (!NT_SUCCESS(Status))
    -    {
    -      ExFreePool(Dest->Buffer);
    -      return(Status);
    -    }
    -
    -  return(STATUS_SUCCESS);
    -}
    -
     /*
      * @unimplemented
      */
    diff --git a/reactos/ntoskrnl/rtl/libsupp.c b/reactos/ntoskrnl/rtl/libsupp.c
    index 6e7b4352dac..bfc592a491b 100644
    --- a/reactos/ntoskrnl/rtl/libsupp.c
    +++ b/reactos/ntoskrnl/rtl/libsupp.c
    @@ -109,4 +109,17 @@ RtlInitializeCriticalSectionAndSpinCount(
         return STATUS_SUCCESS;
     }
     
    +
    +#ifdef DBG
    +VOID FASTCALL
    +CHECK_PAGED_CODE_RTL(char *file, int line)
    +{
    +  if(KeGetCurrentIrql() > APC_LEVEL)
    +  {
    +    DbgPrint("%s:%i: Pagable code called at IRQL > APC_LEVEL (%d)\n", file, line, KeGetCurrentIrql());
    +    KEBUGCHECK(0);
    +  }
    +}
    +#endif
    +
     /* EOF */
    diff --git a/reactos/ntoskrnl/rtl/misc.c b/reactos/ntoskrnl/rtl/misc.c
    index 7bb05ac2a95..62f43189142 100644
    --- a/reactos/ntoskrnl/rtl/misc.c
    +++ b/reactos/ntoskrnl/rtl/misc.c
    @@ -17,6 +17,37 @@
     /* GLOBALS *******************************************************************/
     
     extern ULONG NtGlobalFlag;
    +extern ULONG NtMajorVersion;
    +extern ULONG NtMinorVersion;
    +extern ULONG NtOSCSDVersion;
    +
    +/* header hell made me do this...sorry */
    +typedef struct _OSVERSIONINFOW {
    +  DWORD dwOSVersionInfoSize;
    +  DWORD dwMajorVersion;
    +  DWORD dwMinorVersion;
    +  DWORD dwBuildNumber;
    +  DWORD dwPlatformId;
    +  WCHAR szCSDVersion[ 128 ];
    +} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
    +
    +typedef struct _OSVERSIONINFOEXW {
    + DWORD dwOSVersionInfoSize;
    + DWORD dwMajorVersion;
    + DWORD dwMinorVersion;
    + DWORD dwBuildNumber;
    + DWORD dwPlatformId;
    + WCHAR szCSDVersion[ 128 ];
    + WORD wServicePackMajor;
    + WORD wServicePackMinor;
    + WORD wSuiteMask;
    + BYTE wProductType;
    + BYTE wReserved;
    +} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
    +
    +#ifndef VER_PLATFORM_WIN32_NT
    +#define VER_PLATFORM_WIN32_NT	(2)
    +#endif
     
     /* FUNCTIONS *****************************************************************/
     
    @@ -29,3 +60,45 @@ RtlGetNtGlobalFlags(VOID)
     {
     	return(NtGlobalFlag);
     }
    +
    +
    +/*
    +* @implemented
    +*/
    +NTSTATUS STDCALL
    +RtlGetVersion(IN OUT PRTL_OSVERSIONINFOW lpVersionInformation)
    +{
    +   if (lpVersionInformation->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOW) ||
    +       lpVersionInformation->dwOSVersionInfoSize == sizeof(RTL_OSVERSIONINFOEXW))
    +   {
    +      lpVersionInformation->dwMajorVersion = NtMajorVersion;
    +      lpVersionInformation->dwMinorVersion = NtMinorVersion;
    +      lpVersionInformation->dwBuildNumber = NtBuildNumber;
    +      lpVersionInformation->dwPlatformId = VER_PLATFORM_WIN32_NT;
    +      if(((NtOSCSDVersion >> 8) & 0xFF) != 0)
    +      {
    +        int i = _snwprintf(lpVersionInformation->szCSDVersion,
    +                           (sizeof(lpVersionInformation->szCSDVersion) / sizeof(lpVersionInformation->szCSDVersion[0])) - 1,
    +                           L"Service Pack %d",
    +                           ((NtOSCSDVersion >> 8) & 0xFF));
    +        lpVersionInformation->szCSDVersion[i] = L'\0';
    +      }
    +      else
    +      {
    +        RtlZeroMemory(lpVersionInformation->szCSDVersion, sizeof(lpVersionInformation->szCSDVersion));
    +      }
    +      if (lpVersionInformation->dwOSVersionInfoSize == sizeof(OSVERSIONINFOEXW))
    +      {
    +         RTL_OSVERSIONINFOEXW *InfoEx = (RTL_OSVERSIONINFOEXW *)lpVersionInformation;
    +         InfoEx->wServicePackMajor = (NtOSCSDVersion >> 8) & 0xFF;
    +         InfoEx->wServicePackMinor = NtOSCSDVersion & 0xFF;
    +         InfoEx->wSuiteMask = SharedUserData->SuiteMask;
    +         InfoEx->wProductType = SharedUserData->NtProductType;
    +      }
    +
    +      return STATUS_SUCCESS;
    +   }
    +
    +   return STATUS_INVALID_PARAMETER;
    +}
    +
    diff --git a/reactos/ntoskrnl/se/access.c b/reactos/ntoskrnl/se/access.c
    index 422ec1e301b..1e49fce5040 100644
    --- a/reactos/ntoskrnl/se/access.c
    +++ b/reactos/ntoskrnl/se/access.c
    @@ -5,7 +5,7 @@
      * FILE:            ntoskrnl/se/access.c
      * PURPOSE:         Access rights handling functions
      * 
    - * PROGRAMMERS:     Eric Kohl 
    + * PROGRAMMERS:     Eric Kohl 
      */
     
     /* INCLUDES *****************************************************************/
    @@ -26,6 +26,8 @@ RtlAreAllAccessesGranted (
     	ACCESS_MASK	DesiredAccess
     	)
     {
    +	PAGED_CODE_RTL();
    +
     	return ((GrantedAccess & DesiredAccess) == DesiredAccess);
     }
     
    @@ -40,6 +42,8 @@ RtlAreAnyAccessesGranted (
     	ACCESS_MASK	DesiredAccess
     	)
     {
    +	PAGED_CODE_RTL();
    +
     	return ((GrantedAccess & DesiredAccess) != 0);
     }
     
    @@ -54,6 +58,8 @@ RtlMapGenericMask (
     	PGENERIC_MAPPING	GenericMapping
     	)
     {
    +	PAGED_CODE_RTL();
    +
     	if (*AccessMask & GENERIC_READ)
     		*AccessMask |= GenericMapping->GenericRead;
     
    diff --git a/reactos/ntoskrnl/se/acl.c b/reactos/ntoskrnl/se/acl.c
    index bdb249ebe04..8f1bbd5b2e0 100644
    --- a/reactos/ntoskrnl/se/acl.c
    +++ b/reactos/ntoskrnl/se/acl.c
    @@ -225,6 +225,8 @@ SepCreateImpersonationTokenDacl(PTOKEN Token,
     {
       ULONG AclLength;
       PVOID TokenDacl;
    +  
    +  PAGED_CODE();
     
       AclLength = sizeof(ACL) +
     	      (sizeof(ACE) + RtlLengthSid(SeAliasAdminsSid)) +
    diff --git a/reactos/ntoskrnl/se/audit.c b/reactos/ntoskrnl/se/audit.c
    index d65b6958b40..710d635b850 100644
    --- a/reactos/ntoskrnl/se/audit.c
    +++ b/reactos/ntoskrnl/se/audit.c
    @@ -5,7 +5,7 @@
      * FILE:            ntoskrnl/se/audit.c
      * PURPOSE:         Audit functions
      * 
    - * PROGRAMMERS:     Eric Kohl (ekohl@rz-online.de)
    + * PROGRAMMERS:     Eric Kohl 
      */
     
     /* INCLUDES *****************************************************************/
    diff --git a/reactos/ntoskrnl/se/luid.c b/reactos/ntoskrnl/se/luid.c
    index 1ea9e71c3fc..1b5d653caff 100644
    --- a/reactos/ntoskrnl/se/luid.c
    +++ b/reactos/ntoskrnl/se/luid.c
    @@ -15,7 +15,6 @@
     
     /* GLOBALS *******************************************************************/
     
    -static KSPIN_LOCK LuidLock;
     static LARGE_INTEGER LuidIncrement;
     static LARGE_INTEGER LuidValue;
     
    @@ -26,34 +25,81 @@ SepInitLuid(VOID)
     {
       LUID DummyLuidValue = SYSTEM_LUID;
       
    -  KeInitializeSpinLock(&LuidLock);
       LuidValue.u.HighPart = DummyLuidValue.HighPart;
       LuidValue.u.LowPart = DummyLuidValue.LowPart;
       LuidIncrement.QuadPart = 1;
     }
     
     
    +NTSTATUS
    +ExpAllocateLocallyUniqueId(OUT LUID *LocallyUniqueId)
    +{
    +  LARGE_INTEGER NewLuid, PrevLuid;
    +  
    +  /* atomically increment the luid */
    +  do
    +  {
    +    PrevLuid = (volatile LARGE_INTEGER)LuidValue;
    +    NewLuid = RtlLargeIntegerAdd(PrevLuid,
    +                                 LuidIncrement);
    +  } while(ExfInterlockedCompareExchange64(&LuidValue.QuadPart,
    +                                          &NewLuid.QuadPart,
    +                                          &PrevLuid.QuadPart) != PrevLuid.QuadPart);
    +
    +  LocallyUniqueId->LowPart = NewLuid.u.LowPart;
    +  LocallyUniqueId->HighPart = NewLuid.u.HighPart;
    +  
    +  return STATUS_SUCCESS;
    +}
    +
    +
     /*
      * @implemented
      */
     NTSTATUS STDCALL
     NtAllocateLocallyUniqueId(OUT LUID *LocallyUniqueId)
     {
    -  LARGE_INTEGER ReturnedLuid;
    -  KIRQL Irql;
    +  LUID NewLuid;
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
    +  
    +  PreviousMode = ExGetPreviousMode();
    +  
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(LocallyUniqueId,
    +                    sizeof(LUID),
    +                    sizeof(ULONG));
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +    
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
     
    -  KeAcquireSpinLock(&LuidLock,
    -		    &Irql);
    -  ReturnedLuid = LuidValue;
    -  LuidValue = RtlLargeIntegerAdd(LuidValue,
    -				 LuidIncrement);
    -  KeReleaseSpinLock(&LuidLock,
    -		    Irql);
    +  Status = ExpAllocateLocallyUniqueId(&NewLuid);
     
    -  LocallyUniqueId->LowPart = ReturnedLuid.u.LowPart;
    -  LocallyUniqueId->HighPart = ReturnedLuid.u.HighPart;
    +  _SEH_TRY
    +  {
    +    *LocallyUniqueId = NewLuid;
    +  }
    +  _SEH_HANDLE
    +  {
    +    Status = _SEH_GetExceptionCode();
    +  }
    +  _SEH_END;
     
    -  return(STATUS_SUCCESS);
    +  return Status;
     }
     
     
    @@ -64,6 +110,8 @@ VOID STDCALL
     RtlCopyLuid(IN PLUID LuidDest,
     	    IN PLUID LuidSrc)
     {
    +  PAGED_CODE_RTL();
    +
       LuidDest->LowPart = LuidSrc->LowPart;
       LuidDest->HighPart = LuidSrc->HighPart;
     }
    @@ -76,6 +124,8 @@ BOOLEAN STDCALL
     RtlEqualLuid(IN PLUID Luid1,
     	     IN PLUID Luid2)
     {
    +  PAGED_CODE_RTL();
    +  
       return (Luid1->LowPart == Luid2->LowPart &&
     	  Luid1->HighPart == Luid2->HighPart);
     }
    diff --git a/reactos/ntoskrnl/se/priv.c b/reactos/ntoskrnl/se/priv.c
    index 5dceff3ab93..a3b813766d2 100644
    --- a/reactos/ntoskrnl/se/priv.c
    +++ b/reactos/ntoskrnl/se/priv.c
    @@ -108,6 +108,8 @@ SepPrivilegeCheck (PTOKEN Token,
       ULONG k;
     
       DPRINT ("SepPrivilegeCheck() called\n");
    +  
    +  PAGED_CODE();
     
       if (PreviousMode == KernelMode)
         {
    @@ -167,6 +169,8 @@ SeCaptureLuidAndAttributesArray (PLUID_AND_ATTRIBUTES Src,
     {
       PLUID_AND_ATTRIBUTES* NewMem;
       ULONG SrcLength;
    +  
    +  PAGED_CODE();
     
       if (PrivilegeCount == 0)
         {
    @@ -212,6 +216,8 @@ SeReleaseLuidAndAttributesArray (PLUID_AND_ATTRIBUTES Privilege,
     				 KPROCESSOR_MODE PreviousMode,
     				 ULONG a)
     {
    +  PAGED_CODE();
    +  
       ExFreePool (Privilege);
     }
     
    @@ -227,6 +233,8 @@ NtPrivilegeCheck (IN HANDLE ClientToken,
       ULONG PrivilegeControl;
       ULONG Length;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       Status = ObReferenceObjectByHandle (ClientToken,
     				      0,
    @@ -291,6 +299,8 @@ SePrivilegeCheck (PPRIVILEGE_SET Privileges,
     		  KPROCESSOR_MODE PreviousMode)
     {
       PACCESS_TOKEN Token = NULL;
    +  
    +  PAGED_CODE();
     
       if (SubjectContext->ClientToken == NULL)
         {
    @@ -323,6 +333,8 @@ SeSinglePrivilegeCheck (IN LUID PrivilegeValue,
       SECURITY_SUBJECT_CONTEXT SubjectContext;
       PRIVILEGE_SET Priv;
       BOOLEAN Result;
    +  
    +  PAGED_CODE();
     
       SeCaptureSubjectContext (&SubjectContext);
     
    diff --git a/reactos/ntoskrnl/se/semgr.c b/reactos/ntoskrnl/se/semgr.c
    index 1df75460793..017e480f705 100644
    --- a/reactos/ntoskrnl/se/semgr.c
    +++ b/reactos/ntoskrnl/se/semgr.c
    @@ -198,6 +198,8 @@ SeCaptureSubjectContext(OUT PSECURITY_SUBJECT_CONTEXT SubjectContext)
       PETHREAD Thread;
       BOOLEAN CopyOnOpen;
       BOOLEAN EffectiveOnly;
    +  
    +  PAGED_CODE();
     
       Thread = PsGetCurrentThread();
       if (Thread == NULL)
    @@ -226,6 +228,8 @@ SeCaptureSubjectContext(OUT PSECURITY_SUBJECT_CONTEXT SubjectContext)
     VOID STDCALL
     SeLockSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext)
     {
    +  PAGED_CODE();
    +  
       KeEnterCriticalRegion();
       ExAcquireResourceExclusiveLite(&SepSubjectContextLock, TRUE);
     }
    @@ -237,6 +241,8 @@ SeLockSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext)
     VOID STDCALL
     SeUnlockSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext)
     {
    +  PAGED_CODE();
    +  
       ExReleaseResourceLite(&SepSubjectContextLock);
       KeLeaveCriticalRegion();
     }
    @@ -248,6 +254,8 @@ SeUnlockSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext)
     VOID STDCALL
     SeReleaseSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext)
     {
    +  PAGED_CODE();
    +  
       if (SubjectContext->PrimaryToken != NULL)
         {
           ObDereferenceObject(SubjectContext->PrimaryToken);
    @@ -266,6 +274,8 @@ SeReleaseSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext)
     NTSTATUS STDCALL
     SeDeassignSecurity(PSECURITY_DESCRIPTOR *SecurityDescriptor)
     {
    +  PAGED_CODE();
    +  
       if (*SecurityDescriptor != NULL)
         {
           ExFreePool(*SecurityDescriptor);
    @@ -331,6 +341,8 @@ SeAssignSecurity(PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
       PSID Group = NULL;
       PACL Dacl = NULL;
       PACL Sacl = NULL;
    +  
    +  PAGED_CODE();
     
       /* Lock subject context */
       SeLockSubjectContext(SubjectContext);
    @@ -561,6 +573,8 @@ SepSidInToken(PACCESS_TOKEN _Token,
     {
       ULONG i;
       PTOKEN Token = (PTOKEN)_Token;
    +  
    +  PAGED_CODE();
     
       if (Token->UserAndGroupCount == 0)
       {
    @@ -624,6 +638,8 @@ SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
       PACE CurrentAce;
       PSID Sid;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       CurrentAccess = PreviouslyGrantedAccess;
     
    @@ -795,6 +811,8 @@ NtAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
       KPROCESSOR_MODE PreviousMode;
       PTOKEN Token;
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT("NtAccessCheck() called\n");
     
    diff --git a/reactos/ntoskrnl/se/token.c b/reactos/ntoskrnl/se/token.c
    index 048e8dfc332..28605d6ff23 100644
    --- a/reactos/ntoskrnl/se/token.c
    +++ b/reactos/ntoskrnl/se/token.c
    @@ -44,6 +44,8 @@ NTSTATUS SeExchangePrimaryToken(PEPROCESS Process,
        PTOKEN OldToken;
        PTOKEN NewToken = (PTOKEN)NewTokenP;
        
    +   PAGED_CODE();
    +   
        if (NewToken->TokenType != TokenPrimary)
          {
     	return(STATUS_UNSUCCESSFUL);
    @@ -70,6 +72,8 @@ RtlLengthSidAndAttributes(ULONG Count,
     {
       ULONG i;
       ULONG uLength;
    +  
    +  PAGED_CODE();
     
       uLength = Count * sizeof(SID_AND_ATTRIBUTES);
       for (i = 0; i < Count; i++)
    @@ -131,13 +135,11 @@ SepDuplicateToken(PTOKEN Token,
     		  KPROCESSOR_MODE PreviousMode,
     		  PTOKEN* NewAccessToken)
     {
    -  NTSTATUS Status;
       ULONG uLength;
       ULONG i;
    -  
       PVOID EndMem;
    -
       PTOKEN AccessToken;
    +  NTSTATUS Status;
     
       Status = ObCreateObject(PreviousMode,
     			  SepTokenObjectType,
    @@ -308,6 +310,8 @@ SeCopyClientToken(PACCESS_TOKEN Token,
     {
        NTSTATUS Status;
        OBJECT_ATTRIBUTES ObjectAttributes;
    +   
    +   PAGED_CODE();
          
        InitializeObjectAttributes(&ObjectAttributes,
     			      NULL,
    @@ -320,7 +324,7 @@ SeCopyClientToken(PACCESS_TOKEN Token,
     				TokenImpersonation,
     				Level,
     				PreviousMode,
    -			    (PTOKEN*)&NewToken);
    +			        (PTOKEN*)NewToken);
        
        return(Status);
     }
    @@ -342,6 +346,8 @@ SeCreateClientSecurity(IN struct _ETHREAD *Thread,
        ULONG g;
        PACCESS_TOKEN NewToken;
        
    +   PAGED_CODE();
    +   
        Token = PsReferenceEffectiveToken(Thread,
     				     &TokenType,
     				     &b,
    @@ -487,6 +493,8 @@ SeImpersonateClient(IN PSECURITY_CLIENT_CONTEXT ClientContext,
     {
       UCHAR b;
       
    +  PAGED_CODE();
    +  
       if (ClientContext->DirectlyAccessClientToken == FALSE)
         {
           b = ClientContext->SecurityQos.EffectiveOnly;
    @@ -571,6 +579,8 @@ NtQueryInformationToken(IN HANDLE TokenHandle,
       PTOKEN_GROUPS PtrTokenGroups;
       PTOKEN_DEFAULT_DACL PtrDefaultDacl;
       PTOKEN_STATISTICS PtrTokenStatistics;
    +  
    +  PAGED_CODE();
     
       Status = ObReferenceObjectByHandle(TokenHandle,
     				     (TokenInformationClass == TokenSource) ? TOKEN_QUERY_SOURCE : TOKEN_QUERY,
    @@ -908,6 +918,8 @@ NtSetInformationToken(IN HANDLE TokenHandle,
       TOKEN_OWNER TokenOwnerSet = { 0 };
       TOKEN_PRIMARY_GROUP TokenPrimaryGroupSet = { 0 };
       DWORD NeededAccess = 0;
    +  
    +  PAGED_CODE();
     
       switch (TokenInformationClass) 
         {
    @@ -1040,11 +1052,35 @@ NtDuplicateToken(IN HANDLE ExistingTokenHandle,
     		 OUT PHANDLE NewTokenHandle)
     {
       KPROCESSOR_MODE PreviousMode;
    +  HANDLE hToken;
       PTOKEN Token;
       PTOKEN NewToken;
    -  NTSTATUS Status;
    +  NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
     
       PreviousMode = KeGetPreviousMode();
    +  
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(NewTokenHandle,
    +                    sizeof(HANDLE),
    +                    sizeof(ULONG));
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
    +  
       Status = ObReferenceObjectByHandle(ExistingTokenHandle,
     				     TOKEN_DUPLICATE,
     				     SepTokenObjectType,
    @@ -1080,17 +1116,24 @@ NtDuplicateToken(IN HANDLE ExistingTokenHandle,
     			  DesiredAccess,
     			  0,
     			  NULL,
    -			  NewTokenHandle);
    +			  &hToken);
     
       ObDereferenceObject(NewToken);
     
    -  if (!NT_SUCCESS(Status))
    +  if (NT_SUCCESS(Status))
         {
    -      DPRINT1("Failed to create token handle (Status %lx)\n");
    -      return Status;
    +      _SEH_TRY
    +      {
    +        *NewTokenHandle = hToken;
    +      }
    +      _SEH_HANDLE
    +      {
    +        Status = _SEH_GetExceptionCode();
    +      }
    +      _SEH_END;
         }
     
    -  return STATUS_SUCCESS;
    +  return Status;
     }
     
     
    @@ -1124,6 +1167,8 @@ NtAdjustGroupsToken(IN HANDLE TokenHandle,
        ULONG b;
        ULONG c;
        
    +   PAGED_CODE();
    +   
        Status = ObReferenceObjectByHandle(TokenHandle,
     				      ?,
     				      SepTokenObjectType,
    @@ -1229,6 +1274,8 @@ NtAdjustPrivilegesToken (IN HANDLE TokenHandle,
        ULONG c;
     #endif
       NTSTATUS Status;
    +  
    +  PAGED_CODE();
     
       DPRINT ("NtAdjustPrivilegesToken() called\n");
     
    @@ -1388,21 +1435,21 @@ SepCreateSystemProcessToken(struct _EPROCESS* Process)
           return(Status);
         }
     
    -  Status = NtAllocateLocallyUniqueId(&AccessToken->TokenId);
    +  Status = ExpAllocateLocallyUniqueId(&AccessToken->TokenId);
       if (!NT_SUCCESS(Status))
         {
           ObDereferenceObject(AccessToken);
           return(Status);
         }
     
    -  Status = NtAllocateLocallyUniqueId(&AccessToken->ModifiedId);
    +  Status = ExpAllocateLocallyUniqueId(&AccessToken->ModifiedId);
       if (!NT_SUCCESS(Status))
         {
           ObDereferenceObject(AccessToken);
           return(Status);
         }
     
    -  Status = NtAllocateLocallyUniqueId(&AccessToken->AuthenticationId);
    +  Status = ExpAllocateLocallyUniqueId(&AccessToken->AuthenticationId);
       if (!NT_SUCCESS(Status))
         {
           ObDereferenceObject(AccessToken);
    @@ -1561,7 +1608,7 @@ SepCreateSystemProcessToken(struct _EPROCESS* Process)
     
     
     NTSTATUS STDCALL
    -NtCreateToken(OUT PHANDLE UnsafeTokenHandle,
    +NtCreateToken(OUT PHANDLE TokenHandle,
     	      IN ACCESS_MASK DesiredAccess,
     	      IN POBJECT_ATTRIBUTES ObjectAttributes,
     	      IN TOKEN_TYPE TokenType,
    @@ -1575,14 +1622,66 @@ NtCreateToken(OUT PHANDLE UnsafeTokenHandle,
     	      IN PTOKEN_DEFAULT_DACL TokenDefaultDacl,
     	      IN PTOKEN_SOURCE TokenSource)
     {
    -  HANDLE TokenHandle;
    +  HANDLE hToken;
       PTOKEN AccessToken;
    -  NTSTATUS Status;
       LUID TokenId;
       LUID ModifiedId;
       PVOID EndMem;
       ULONG uLength;
       ULONG i;
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
    +  
    +  PreviousMode = ExGetPreviousMode();
    +  
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(TokenHandle,
    +                    sizeof(HANDLE),
    +                    sizeof(ULONG));
    +      ProbeForRead(AuthenticationId,
    +                   sizeof(LUID),
    +                   sizeof(ULONG));
    +      ProbeForRead(ExpirationTime,
    +                   sizeof(LARGE_INTEGER),
    +                   sizeof(ULONG));
    +      ProbeForRead(TokenUser,
    +                   sizeof(TOKEN_USER),
    +                   sizeof(ULONG));
    +      ProbeForRead(TokenGroups,
    +                   sizeof(TOKEN_GROUPS),
    +                   sizeof(ULONG));
    +      ProbeForRead(TokenPrivileges,
    +                   sizeof(TOKEN_PRIVILEGES),
    +                   sizeof(ULONG));
    +      ProbeForRead(TokenOwner,
    +                   sizeof(TOKEN_OWNER),
    +                   sizeof(ULONG));
    +      ProbeForRead(TokenPrimaryGroup,
    +                   sizeof(TOKEN_PRIMARY_GROUP),
    +                   sizeof(ULONG));
    +      ProbeForRead(TokenDefaultDacl,
    +                   sizeof(TOKEN_DEFAULT_DACL),
    +                   sizeof(ULONG));
    +      ProbeForRead(TokenSource,
    +                   sizeof(TOKEN_SOURCE),
    +                   sizeof(ULONG));
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +    
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
     
       Status = ZwAllocateLocallyUniqueId(&TokenId);
       if (!NT_SUCCESS(Status))
    @@ -1592,10 +1691,10 @@ NtCreateToken(OUT PHANDLE UnsafeTokenHandle,
       if (!NT_SUCCESS(Status))
         return(Status);
     
    -  Status = ObCreateObject(ExGetPreviousMode(),
    +  Status = ObCreateObject(PreviousMode,
     			  SepTokenObjectType,
     			  ObjectAttributes,
    -			  ExGetPreviousMode(),
    +			  PreviousMode,
     			  NULL,
     			  sizeof(TOKEN),
     			  0,
    @@ -1607,19 +1706,6 @@ NtCreateToken(OUT PHANDLE UnsafeTokenHandle,
           return(Status);
         }
     
    -  Status = ObInsertObject ((PVOID)AccessToken,
    -			   NULL,
    -			   DesiredAccess,
    -			   0,
    -			   NULL,
    -			   &TokenHandle);
    -  if (!NT_SUCCESS(Status))
    -    {
    -      DPRINT1("ObInsertObject() failed (Status %lx)\n");
    -      ObDereferenceObject (AccessToken);
    -      return Status;
    -    }
    -
       RtlCopyLuid(&AccessToken->TokenSource.SourceIdentifier,
     	      &TokenSource->SourceIdentifier);
       memcpy(AccessToken->TokenSource.SourceName,
    @@ -1713,22 +1799,33 @@ NtCreateToken(OUT PHANDLE UnsafeTokenHandle,
     	     TokenDefaultDacl->DefaultDacl->AclSize);
         }
     
    +  Status = ObInsertObject ((PVOID)AccessToken,
    +			   NULL,
    +			   DesiredAccess,
    +			   0,
    +			   NULL,
    +			   &hToken);
    +  if (!NT_SUCCESS(Status))
    +    {
    +      DPRINT1("ObInsertObject() failed (Status %lx)\n", Status);
    +    }
    +
       ObDereferenceObject(AccessToken);
     
       if (NT_SUCCESS(Status))
         {
    -      Status = MmCopyToCaller(UnsafeTokenHandle,
    -			      &TokenHandle,
    -			      sizeof(HANDLE));
    +      _SEH_TRY
    +      {
    +        *TokenHandle = hToken;
    +      }
    +      _SEH_HANDLE
    +      {
    +        Status = _SEH_GetExceptionCode();
    +      }
    +      _SEH_END;
         }
     
    -  if (!NT_SUCCESS(Status))
    -    {
    -      ZwClose(TokenHandle);
    -      return(Status);
    -    }
    -
    -  return(STATUS_SUCCESS);
    +  return Status;
     }
     
     
    @@ -1739,6 +1836,8 @@ NTSTATUS STDCALL
     SeQueryAuthenticationIdToken(IN PACCESS_TOKEN Token,
     			     OUT PLUID LogonId)
     {
    +  PAGED_CODE();
    +  
       *LogonId = ((PTOKEN)Token)->AuthenticationId;
     
       return STATUS_SUCCESS;
    @@ -1752,6 +1851,8 @@ SECURITY_IMPERSONATION_LEVEL
     STDCALL
     SeTokenImpersonationLevel(IN PACCESS_TOKEN Token)
     {
    +  PAGED_CODE();
    +  
       return ((PTOKEN)Token)->ImpersonationLevel;
     }
     
    @@ -1762,6 +1863,8 @@ SeTokenImpersonationLevel(IN PACCESS_TOKEN Token)
     TOKEN_TYPE STDCALL
     SeTokenType(IN PACCESS_TOKEN Token)
     {
    +  PAGED_CODE();
    +  
       return ((PTOKEN)Token)->TokenType;
     }
     
    @@ -1818,6 +1921,7 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
                         OUT PHANDLE TokenHandle)
     {
       PETHREAD Thread;
    +  HANDLE hToken;
       PTOKEN Token, NewToken, PrimaryToken;
       BOOLEAN CopyOnOpen, EffectiveOnly;
       SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
    @@ -1825,7 +1929,32 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
       OBJECT_ATTRIBUTES ObjectAttributes;
       SECURITY_DESCRIPTOR SecurityDescriptor;
       PACL Dacl = NULL;
    -  NTSTATUS Status;
    +  KPROCESSOR_MODE PreviousMode;
    +  NTSTATUS Status = STATUS_SUCCESS;
    +  
    +  PAGED_CODE();
    +  
    +  PreviousMode = ExGetPreviousMode();
    +  
    +  if(PreviousMode != KernelMode)
    +  {
    +    _SEH_TRY
    +    {
    +      ProbeForWrite(TokenHandle,
    +                    sizeof(HANDLE),
    +                    sizeof(ULONG));
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +    
    +    if(!NT_SUCCESS(Status))
    +    {
    +      return Status;
    +    }
    +  }
     
       /*
        * At first open the thread token for information access and verify
    @@ -1833,7 +1962,7 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
        */
     
       Status = ObReferenceObjectByHandle(ThreadHandle, THREAD_QUERY_INFORMATION,
    -                                     PsThreadType, UserMode, (PVOID*)&Thread,
    +                                     PsThreadType, PreviousMode, (PVOID*)&Thread,
                                          NULL);
       if (!NT_SUCCESS(Status))
         {
    @@ -1868,7 +1997,7 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
       if (CopyOnOpen)
         {
           Status = ObReferenceObjectByHandle(ThreadHandle, THREAD_ALL_ACCESS,
    -                                         PsThreadType, UserMode,
    +                                         PsThreadType, PreviousMode,
                                              (PVOID*)&Thread, NULL);
           if (!NT_SUCCESS(Status))
             {
    @@ -1917,7 +2046,7 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
             }
     
           Status = ObInsertObject(NewToken, NULL, DesiredAccess, 0, NULL,
    -                              TokenHandle);
    +                              &hToken);
     
           ObfDereferenceObject(NewToken);
         }
    @@ -1925,7 +2054,7 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
         {
           Status = ObOpenObjectByPointer(Token, HandleAttributes,
                                          NULL, DesiredAccess, SepTokenObjectType,
    -                                     ExGetPreviousMode(), TokenHandle);
    +                                     PreviousMode, &hToken);
         }
     
       ObfDereferenceObject(Token);
    @@ -1935,6 +2064,19 @@ NtOpenThreadTokenEx(IN HANDLE ThreadHandle,
           PsRestoreImpersonation(PsGetCurrentThread(), &ImpersonationState);
         }
     
    +  if(NT_SUCCESS(Status))
    +  {
    +    _SEH_TRY
    +    {
    +      *TokenHandle = hToken;
    +    }
    +    _SEH_HANDLE
    +    {
    +      Status = _SEH_GetExceptionCode();
    +    }
    +    _SEH_END;
    +  }
    +
       return Status;
     }
     
    diff --git a/reactos/rules.mak b/reactos/rules.mak
    index b490f754506..df2eb8082c2 100644
    --- a/reactos/rules.mak
    +++ b/reactos/rules.mak
    @@ -162,6 +162,8 @@ export CDMAKE = $(Q)$(TOOLS_PATH)/cdmake/cdmake
     export BIN2RES = $(Q)$(TOOLS_PATH)/bin2res/bin2res
     export XSLTPROC = $(Q)xsltproc
     export MS2PS = $(Q)$(TOOLS_PATH)/ms2ps/ms2ps
    +export WRC = $(Q)$(TOOLS_PATH)/wrc/wrc
    +export WIDL = $(Q)$(TOOLS_PATH)/widl/widl
     
     export STD_CFLAGS = -I$(PATH_TO_TOP)/include -I$(W32API_PATH)/include -pipe -march=$(OARCH) -D_M_IX86
     export STD_CPPFLAGS = $(STD_CFLAGS)
    diff --git a/reactos/subsys/csrss/api/wapi.c b/reactos/subsys/csrss/api/wapi.c
    index bb37e9bc398..0852c0af2e4 100644
    --- a/reactos/subsys/csrss/api/wapi.c
    +++ b/reactos/subsys/csrss/api/wapi.c
    @@ -2,7 +2,7 @@
      * 
      * reactos/subsys/csrss/api/wapi.c
      *
    - * Initialize the CSRSS subsystem server process.
    + * CSRSS port message processing
      *
      * ReactOS Operating System
      *
    @@ -147,14 +147,14 @@ ClientConnectionThread(HANDLE ServerPort)
     
     /**********************************************************************
      * NAME
    - *	Thread_Api
    + *	ServerApiPortThread/1
      *
      * DESCRIPTION
      * 	Handle connection requests from clients to the port
      * 	"\Windows\ApiPort".
      */
     void STDCALL
    -ServerApiPortThead(PVOID PortHandle)
    +ServerApiPortThread (PVOID PortHandle)
     {
        NTSTATUS Status;
        LPC_MAX_MESSAGE Request;
    @@ -178,7 +178,7 @@ ServerApiPortThead(PVOID PortHandle)
     	Status = NtAcceptConnectPort(&ServerPort,
     				     PortHandle,
     				     NULL,
    -				     1,
    +				     TRUE,
     				     0,
     				     &LpcRead);
     	if (!NT_SUCCESS(Status))
    @@ -232,4 +232,51 @@ ServerApiPortThead(PVOID PortHandle)
        NtTerminateThread(NtCurrentThread(), Status);
     }
     
    +/**********************************************************************
    + * NAME
    + *	ServerSbApiPortThread/1
    + *
    + * DESCRIPTION
    + * 	Handle connection requests from SM to the port
    + * 	"\Windows\SbApiPort".
    + */
    +VOID STDCALL
    +ServerSbApiPortThread (PVOID PortHandle)
    +{
    +	HANDLE          hSbApiPortListen = (HANDLE) PortHandle;
    +	HANDLE          hConnectedPort = (HANDLE) 0;
    +	LPC_MAX_MESSAGE Request = {{0}};
    +	NTSTATUS        Status = STATUS_SUCCESS;
    +
    +	while (TRUE)
    +	{
    +		Status = NtListenPort (hSbApiPortListen, & Request.Header);
    +		if (!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("CSR: %s: NtListenPort(SB) failed\n", __FUNCTION__);
    +			break;
    +		}
    +		Status = NtAcceptConnectPort (& hConnectedPort,
    +						hSbApiPortListen,
    +	   					NULL,
    +	   					TRUE,
    +	   					NULL,
    +	   					NULL);
    +		if(!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("CSR: %s: NtAcceptConnectPort() failed\n", __FUNCTION__);
    +			break;
    +		}
    +		Status = NtCompleteConnectPort (hConnectedPort);
    +		if(!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("CSR: %s: NtCompleteConnectPort() failed\n", __FUNCTION__);
    +			break;
    +		}
    +		/* TODO: create thread for the connected port */
    +	}
    +	NtClose (hSbApiPortListen);
    +	NtTerminateThread (NtCurrentThread(), Status);
    +}
    +
     /* EOF */
    diff --git a/reactos/subsys/csrss/csrss.c b/reactos/subsys/csrss/csrss.c
    index 86400dcbfee..b2b885e6d12 100644
    --- a/reactos/subsys/csrss/csrss.c
    +++ b/reactos/subsys/csrss/csrss.c
    @@ -38,42 +38,75 @@
     
     #include "api.h"
     
    -/* Native process' entry point */
    +#define NDEBUG
    +#include 
     
    -VOID STDCALL NtProcessStartup(PPEB Peb)
    +#define CSRP_MAX_ARGUMENT_COUNT 512
    +
    +typedef struct _COMMAND_LINE_ARGUMENT
     {
    -   PRTL_USER_PROCESS_PARAMETERS ProcParams;
    -   PWSTR ArgBuffer;
    -   PWSTR *argv;
    -   ULONG argc = 0;
    -   int i = 0;
    -   int afterlastspace = 0;
    -   OBJECT_ATTRIBUTES ObjectAttributes;
    -   HANDLE CsrssInitEvent;
    -   UNICODE_STRING UnicodeString;
    -   NTSTATUS Status;
    +	ULONG		Count;
    +	UNICODE_STRING	Buffer;
    +	PWSTR		* Vector;
     
    -   ProcParams = RtlNormalizeProcessParams (Peb->ProcessParameters);
    +} COMMAND_LINE_ARGUMENT, *PCOMMAND_LINE_ARGUMENT;
     
    -   argv = (PWSTR *)RtlAllocateHeap (Peb->ProcessHeap,
    -                                    0, 512 * sizeof(PWSTR));
    -   ArgBuffer = (PWSTR)RtlAllocateHeap (Peb->ProcessHeap,
    -                                       0,
    -                                       ProcParams->CommandLine.Length + sizeof(WCHAR));
    -   memcpy (ArgBuffer,
    -           ProcParams->CommandLine.Buffer,
    -           ProcParams->CommandLine.Length + sizeof(WCHAR));
    +/**********************************************************************
    + * NAME							PRIVATE
    + * 	CsrpParseCommandLine/3
    + */
    +static NTSTATUS STDCALL
    +CsrpParseCommandLine (HANDLE                       ProcessHeap,
    +		      PRTL_USER_PROCESS_PARAMETERS RtlProcessParameters,
    +		      PCOMMAND_LINE_ARGUMENT       Argument)
    +{
    +   INT i = 0;
    +   INT afterlastspace = 0;
     
    -   while (ArgBuffer[i])
    +   
    +   DPRINT("CSR: %s called\n", __FUNCTION__);
    +
    +   RtlZeroMemory (Argument, sizeof (COMMAND_LINE_ARGUMENT));
    +
    +   Argument->Vector = (PWSTR *) RtlAllocateHeap (ProcessHeap,
    +						 0,
    +						 (CSRP_MAX_ARGUMENT_COUNT * sizeof Argument->Vector[0]));
    +   if(NULL == Argument->Vector)
    +   {
    +	   DPRINT("CSR: %s: no memory for Argument->Vector\n", __FUNCTION__);
    +	   return STATUS_NO_MEMORY;
    +   }
    +
    +   Argument->Buffer.Length =
    +   Argument->Buffer.MaximumLength =
    +   	RtlProcessParameters->CommandLine.Length
    +	+ sizeof Argument->Buffer.Buffer [0]; /* zero terminated */
    +   Argument->Buffer.Buffer =
    +	(PWSTR) RtlAllocateHeap (ProcessHeap,
    +				 0,
    +                                 Argument->Buffer.MaximumLength);
    +   if(NULL == Argument->Buffer.Buffer)
    +   {
    +	   DPRINT("CSR: %s: no memory for Argument->Buffer.Buffer\n", __FUNCTION__);
    +	   return STATUS_NO_MEMORY;
    +   }
    +
    +   RtlCopyMemory (Argument->Buffer.Buffer,
    +		  RtlProcessParameters->CommandLine.Buffer,
    +		  RtlProcessParameters->CommandLine.Length);
    +
    +   while (Argument->Buffer.Buffer [i])
          {
    -	if (ArgBuffer[i] == L' ')
    +	if (Argument->Buffer.Buffer[i] == L' ')
     	  {
    -	     argc++;
    -	     ArgBuffer[i] = L'\0';
    -	     argv[argc-1] = &(ArgBuffer[afterlastspace]);
    +	     Argument->Count ++;
    +	     Argument->Buffer.Buffer [i] = L'\0';
    +	     Argument->Vector [Argument->Count - 1] = & (Argument->Buffer.Buffer [afterlastspace]);
     	     i++;
    -	     while (ArgBuffer[i] == L' ')
    +	     while (Argument->Buffer.Buffer [i] == L' ')
    +	     {
     		i++;
    +	     }
     	     afterlastspace = i;
     	  }
     	else
    @@ -82,56 +115,123 @@ VOID STDCALL NtProcessStartup(PPEB Peb)
     	  }
          }
     
    -   if (ArgBuffer[afterlastspace] != L'\0')
    +   if (Argument->Buffer.Buffer [afterlastspace] != L'\0')
          {
    -	argc++;
    -	ArgBuffer[i] = L'\0';
    -	argv[argc-1] = &(ArgBuffer[afterlastspace]);
    +	Argument->Count ++;
    +	Argument->Buffer.Buffer [i] = L'\0';
    +	Argument->Vector [Argument->Count - 1] = & (Argument->Buffer.Buffer [afterlastspace]);
          }
    -   
    -   RtlRosInitUnicodeStringFromLiteral(&UnicodeString,
    +
    +  return STATUS_SUCCESS; 
    +}
    +
    +/**********************************************************************
    + * NAME							PRIVATE
    + * 	CsrpFreeCommandLine/2
    + */
    +		      
    +static VOID STDCALL
    +CsrpFreeCommandLine (HANDLE                 ProcessHeap,
    +		     PCOMMAND_LINE_ARGUMENT Argument)
    +{
    +	DPRINT("CSR: %s called\n", __FUNCTION__);
    +	
    +	RtlFreeHeap (ProcessHeap,
    +	             0,
    +		     Argument->Vector);
    +	RtlFreeHeap (ProcessHeap,
    +	             0,
    +	             Argument->Buffer.Buffer);
    +}
    +
    +
    +/**********************************************************************
    + * NAME							PRIVATE
    + * 	CsrpOpenSmInitDoneEvent/0
    + */
    +static NTSTATUS STDCALL
    +CsrpOpenSmInitDoneEvent (PHANDLE CsrssInitEvent)
    +{
    +   OBJECT_ATTRIBUTES ObjectAttributes;
    +   UNICODE_STRING    EventName;
    +
    +   DPRINT("CSR: %s called\n", __FUNCTION__);
    +
    +   RtlInitUnicodeString(& EventName,
     			L"\\CsrssInitDone");
    -   InitializeObjectAttributes(&ObjectAttributes,
    -			      &UnicodeString,
    -			      EVENT_ALL_ACCESS,
    -			      0,
    -			      NULL);
    -   Status = NtOpenEvent(&CsrssInitEvent,
    +   InitializeObjectAttributes (& ObjectAttributes,
    +				& EventName,
    +				EVENT_ALL_ACCESS,
    +				0,
    +				NULL);
    +   return NtOpenEvent (CsrssInitEvent,
     			EVENT_ALL_ACCESS,
    -			&ObjectAttributes);
    +			& ObjectAttributes);
    +}
    +
    +/* Native process' entry point */
    +
    +VOID STDCALL NtProcessStartup(PPEB Peb)
    +{
    +   PRTL_USER_PROCESS_PARAMETERS RtlProcessParameters = NULL;
    +   COMMAND_LINE_ARGUMENT        CmdLineArg = {0};
    +   HANDLE                       CsrssInitEvent = (HANDLE) 0;
    +   NTSTATUS                     Status = STATUS_SUCCESS;
    +
    +   DPRINT("CSR: %s\n", __FUNCTION__);
    +
    +   RtlProcessParameters = RtlNormalizeProcessParams (Peb->ProcessParameters);
    +
    +   /*==================================================================
    +    * Parse the command line.
    +    *================================================================*/
    +   Status = CsrpParseCommandLine (Peb->ProcessHeap,
    +				  RtlProcessParameters,
    +				  & CmdLineArg);
    +   if(STATUS_SUCCESS != Status)
    +   {
    +	   DbgPrint("CSR: CsrpParseCommandLine failed (Status=0x%08lx)\n",
    +		Status);
    +   }
    +   /*
    +    * Open the SM notification event to notify we are OK after
    +    * subsystem server initialization.
    +    */
    +   Status = CsrpOpenSmInitDoneEvent(& CsrssInitEvent);
        if (!NT_SUCCESS(Status))
          {
    -	DbgPrint("CSR: Failed to open csrss notification event\n");
    +	DbgPrint("CSR: CsrpOpenSmInitDoneEvent failed (Status=0x%08lx)\n",
    +			Status);
          }
    -   if (CsrServerInitialization (argc, argv) == TRUE)
    +   /*==================================================================
    +    *	Initialize the Win32 environment subsystem server.
    +    *================================================================*/
    +   if (CsrServerInitialization (CmdLineArg.Count, CmdLineArg.Vector) == TRUE)
          {
    +	/*=============================================================
    +	 * Tell SM we are up and safe. If we fail to notify SM, it will
    +	 * die and the kernel will bugcheck with
    +	 * SESSION5_INITIALIZATION_FAILED.
    +	 * TODO: this won't be necessary, because CSR will call SM
    +	 * API SM_SESSION_COMPLETE.
    +	 *===========================================================*/
    +	NtSetEvent (CsrssInitEvent, NULL);
     
    -	NtSetEvent(CsrssInitEvent,
    -		   NULL);
    -	
    -	RtlFreeHeap (Peb->ProcessHeap,
    -	             0, argv);
    -	RtlFreeHeap (Peb->ProcessHeap,
    -	             0,
    -	             ArgBuffer);
    -
    -	/* terminate the current thread only */
    -	NtTerminateThread( NtCurrentThread(), 0 );
    +	CsrpFreeCommandLine (Peb->ProcessHeap, & CmdLineArg);	
    +	/*
    +	 * Terminate the current thread only.
    +	 */
    +	NtTerminateThread (NtCurrentThread(), 0);
          }
        else
          {
    -	DisplayString( L"CSR: Subsystem initialization failed.\n" );
    -
    -	RtlFreeHeap (Peb->ProcessHeap,
    -	             0, argv);
    -	RtlFreeHeap (Peb->ProcessHeap,
    -	             0,
    -	             ArgBuffer);
    +	DisplayString (L"CSR: CsrServerInitialization failed.\n");
     
    +	CsrpFreeCommandLine (Peb->ProcessHeap, & CmdLineArg);	
     	/*
    -	 * Tell SM we failed.
    +	 * Tell the SM we failed.
     	 */
    -	NtTerminateProcess( NtCurrentProcess(), 0 );
    +	NtTerminateProcess (NtCurrentProcess(), 0);
          }
     }
     
    diff --git a/reactos/subsys/csrss/csrss.xml b/reactos/subsys/csrss/csrss.xml
    index b308c472d3d..a7cdac04d41 100644
    --- a/reactos/subsys/csrss/csrss.xml
    +++ b/reactos/subsys/csrss/csrss.xml
    @@ -6,6 +6,7 @@
     	0x0501
     	rosrtl
     	ntdll
    +	smdll
     	
     		handle.c
     		process.c
    diff --git a/reactos/subsys/csrss/include/api.h b/reactos/subsys/csrss/include/api.h
    index 46ccf091ff0..0f8610ef0a6 100644
    --- a/reactos/subsys/csrss/include/api.h
    +++ b/reactos/subsys/csrss/include/api.h
    @@ -96,7 +96,8 @@ NTSTATUS FASTCALL CsrApiRegisterDefinitions(PCSRSS_API_DEFINITION NewDefinitions
     VOID FASTCALL CsrApiCallHandler(PCSRSS_PROCESS_DATA ProcessData,
                                     PCSRSS_API_REQUEST Request,
                                     PCSRSS_API_REPLY Reply);
    -VOID STDCALL ServerApiPortThead(PVOID PortHandle);
    +VOID STDCALL ServerApiPortThread (PVOID PortHandle);
    +VOID STDCALL ServerSbApiPortThread (PVOID PortHandle);
     VOID Console_Api( DWORD Ignored );
     
     extern HANDLE CsrssApiHeap;
    diff --git a/reactos/subsys/csrss/init.c b/reactos/subsys/csrss/init.c
    index 146f28fb5bd..106ad692f46 100644
    --- a/reactos/subsys/csrss/init.c
    +++ b/reactos/subsys/csrss/init.c
    @@ -17,6 +17,7 @@
     #include 
     #include 
     #include 
    +#include 
     
     #include "api.h"
     #include "csrplugin.h"
    @@ -218,6 +219,37 @@ CSRSS_API_DEFINITION NativeDefinitions[] =
         { 0, 0, 0, NULL }
       };
     
    +/**********************************************************************
    + * NAME
    + * 	CsrpRegisterSubsystem/0
    + *
    + * DESCRIPTION
    + * 	Register CSRSS in the SM to manage IMAGE_SUBSYSTEM_WINDOWS_CUI 
    + * 	processes (environment subsystem server).
    + *
    + * RETURN VALUE
    + * 	STATUS_SUCCESS on success.
    + */
    +static NTSTATUS FASTCALL
    +CsrpRegisterSubsystem(PHANDLE hSmApiPort)
    +{
    +	NTSTATUS Status = STATUS_SUCCESS;
    +	UNICODE_STRING SbApiPortName;
    +
    +	RtlInitUnicodeString (& SbApiPortName, L"\\Windows\\SbApiPort");
    +	Status = SmConnectApiPort (& SbApiPortName,
    +				   (HANDLE)-1, //unused
    +				   IMAGE_SUBSYSTEM_WINDOWS_CUI,
    +				   hSmApiPort);
    +	if(!NT_SUCCESS(Status))
    +	{
    +		DPRINT("CSR: unable to connect to the SM (Status=0x%lx)\n", Status);
    +		return Status;
    +	}
    +	DisplayString(L"CSR: registered with SM\n");
    +	return Status;	
    +}
    +
     
     /**********************************************************************
      * NAME
    @@ -238,9 +270,20 @@ CsrServerInitialization (
     	)
     {
       NTSTATUS Status;
    +  HANDLE hSmApiPort = (HANDLE) 0;
       OBJECT_ATTRIBUTES ObAttributes;
       UNICODE_STRING PortName;
       HANDLE ApiPortHandle;
    +//  HANDLE hSbApiPort = (HANDLE) 0;
    +
    +DisplayString(L"CSR: CsrServerInitialization\n");
    +
    +  Status = CsrpRegisterSubsystem(& hSmApiPort);
    +  if (! NT_SUCCESS(Status))
    +    {
    +      DPRINT1("CSR: Unable to register subsystem (Status: %x)\n", Status);
    +      return FALSE;
    +    }
     
       Status = CsrParseCommandLine (ArgumentCount, ArgumentArray);
       if (! NT_SUCCESS(Status))
    @@ -269,7 +312,7 @@ CsrServerInitialization (
           return Status;
         }
     
    -  /* NEW NAMED PORT: \ApiPort */
    +  /* NEW NAMED PORT: \Windows\ApiPort */
       RtlRosInitUnicodeStringFromLiteral(&PortName, L"\\Windows\\ApiPort");
       InitializeObjectAttributes(&ObAttributes,
                                  &PortName,
    @@ -283,7 +326,7 @@ CsrServerInitialization (
                             0);
       if (! NT_SUCCESS(Status))
         {
    -      DPRINT1("CSR: Unable to create \\ApiPort (Status %x)\n", Status);
    +      DPRINT1("CSR: Unable to create \\Windows\\ApiPort (Status %x)\n", Status);
           return FALSE;
         }
       Status = RtlCreateUserThread(NtCurrentProcess(),
    @@ -292,7 +335,7 @@ CsrServerInitialization (
                                    0,
                                    NULL,
                                    NULL,
    -                               (PTHREAD_START_ROUTINE)ServerApiPortThead,
    +                               (PTHREAD_START_ROUTINE)ServerApiPortThread,
                                    ApiPortHandle,
                                    NULL,
                                    NULL);
    @@ -302,6 +345,9 @@ CsrServerInitialization (
           NtClose(ApiPortHandle);
           return FALSE;
         }
    +
    +  /* TODO: create \Windows\SbApiPort */
    +  
       Status = CsrClientConnectToServer();
       if (!NT_SUCCESS(Status))
         {
    @@ -315,7 +361,15 @@ CsrServerInitialization (
           return FALSE;
         }
     
    -  return CallInitComplete();
    +  if (CallInitComplete())
    +  {
    +#if 0
    +	  Status = SmCompleteSession (hSmApiPort,hSbApiPort,ApiPortHandle);
    +#endif
    +	  NtClose (hSmApiPort);
    +	  return TRUE;
    +  }
    +  return FALSE;
     }
     
     /* EOF */
    diff --git a/reactos/subsys/csrss/lpcstub.c b/reactos/subsys/csrss/lpcstub.c
    deleted file mode 100644
    index 1eaff74e8d9..00000000000
    --- a/reactos/subsys/csrss/lpcstub.c
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -/* $Id$
    - *
    - * lpcstub.c
    - *
    - * ReactOS Operating System
    - *
    - *
    - */
    -#include 
    -#include "api.h"
    -
    -
    -/* CUI & GUI Win32(tm) API port */
    -
    -LPC_RETURN_CODE
    -PortDispatcher_Api(
    -	PLPC_REQUEST_REPLY	pLpcRequestReply
    -	)
    -{
    -	switch (pLpcRequestReply->Function)
    -	{
    -		case CSRSS_API_PROCESS_CREATE:
    -			return CSRSS_CreateProcess(pLpcRequestReply);
    -		case CSRSS_API_PROCESS_TERMINATE:
    -			return CSRSS_TerminateProcess(pLpcRequestReply);
    -	}
    -	return LPC_ERROR_INVALID_FUNCTION;
    -}
    -
    -
    -/* The \SbApi dispatcher: what is this port for? */
    -
    -LPC_RETURN_CODE
    -PortDispatcher_SbApi(
    -	PLPC_REQUEST_REPLY	pLpcRequestReply
    -	)
    -{
    -	return LPC_ERROR_INVALID_FUNCTION;
    -}
    -
    -
    -/* EOF */
    diff --git a/reactos/subsys/csrss/makefile b/reactos/subsys/csrss/makefile
    index 225103f7a54..03040314e31 100644
    --- a/reactos/subsys/csrss/makefile
    +++ b/reactos/subsys/csrss/makefile
    @@ -9,7 +9,7 @@ TARGET_APPTYPE = native
     
     TARGET_NAME = csrss
     
    -TARGET_SDKLIBS = rosrtl.a ntdll.a 
    +TARGET_SDKLIBS = rosrtl.a ntdll.a smdll.a
     
     TARGET_INSTALLDIR = system32
     
    diff --git a/reactos/subsys/smss/client.c b/reactos/subsys/smss/client.c
    index b25535e5c85..18f81fe0264 100644
    --- a/reactos/subsys/smss/client.c
    +++ b/reactos/subsys/smss/client.c
    @@ -26,20 +26,13 @@
     #define NTOS_MODE_USER
     #include 
     #include "smss.h"
    +#include 
    +
    +#define NDEBUG
    +#include 
     
     /* Private ADT */
     
    -typedef struct _SM_CLIENT_DATA
    -{
    -	USHORT	SubsystemId;
    -	BOOL	Initialized;
    -	HANDLE	ServerProcess;
    -	HANDLE	ApiPort;
    -	HANDLE	SbApiPort;
    -	struct _SM_CLIENT_DATA * Next;
    -	
    -} SM_CLIENT_DATA, *PSM_CLIENT_DATA;
    -
     
     struct _SM_CLIENT_DIRECTORY
     {
    @@ -49,74 +42,146 @@ struct _SM_CLIENT_DIRECTORY
     
     } SmpClientDirectory;
     
    +#if 0
    +/**********************************************************************
    + *	SmpRegisterSmss/0
    + */
    +static NTSTATUS
    +SmpRegisterSmss(VOID)
    +{
    +	NTSTATUS Status = STATUS_SUCCESS;
    +	UNICODE_STRING SbApiPortName = {0,0,NULL};
    +	HANDLE hSmApiPort = (HANDLE) 0;
    +
    +	DPRINT("SM: %s called\n",__FUNCTION__);
    +	
    +	Status = SmConnectApiPort(& SbApiPortName,
    +				  (HANDLE) -1,
    +				  IMAGE_SUBSYSTEM_NATIVE,
    +				  & hSmApiPort);
    +	if(!NT_SUCCESS(Status))
    +	{
    +		DPRINT("SM: %s: SMDLL!SmConnectApiPort failed (Status=0x%08lx)\n",__FUNCTION__,Status);
    +		return Status;
    +	}
    +	Status = SmCompleteSession (hSmApiPort, (HANDLE)0, hSmApiPort);
    +	if(!NT_SUCCESS(Status))
    +	{
    +		DPRINT("SM: %s: SMDLL!SmCompleteSession failed (Status=0x%08lx)\n",__FUNCTION__,Status);
    +		return Status;
    +	}
    +	NtClose(hSmApiPort);
    +	return Status;
    +}
    +#endif
    +
     /**********************************************************************
      *	SmInitializeClientManagement/0
      */
     NTSTATUS
     SmInitializeClientManagement (VOID)
     {
    +	DPRINT("SM: %s called\n", __FUNCTION__);
     	RtlInitializeCriticalSection(& SmpClientDirectory.Lock);
     	SmpClientDirectory.Count = 0;
     	SmpClientDirectory.Client = NULL;
    +#if 0
    +	/* Register IMAGE_SUBSYSTE_NATIVE to be managed by SM */
    +	return SmpRegisterSmss();
    +#endif
     	return STATUS_SUCCESS;
    +
     }
     
     /**********************************************************************
      *	SmpLookupClient/1
    + *
    + * DESCRIPTION
    + * 	Lookup the subsystem server descriptor given its image ID.
    + *
    + * SIDE EFFECTS
    + * 	SmpClientDirectory.Lock is released only on success.
      */
    -PSM_CLIENT_DATA STDCALL
    +static PSM_CLIENT_DATA STDCALL
     SmpLookupClient (USHORT SubsystemId)
     {
     	PSM_CLIENT_DATA Client = NULL;
     
    +	DPRINT("SM: %s called\n", __FUNCTION__);
    +
    +	RtlEnterCriticalSection (& SmpClientDirectory.Lock);
     	if (SmpClientDirectory.Count > 0)
     	{
    -		RtlEnterCriticalSection (& SmpClientDirectory.Lock);
     		Client = SmpClientDirectory.Client;
    -		while (NULL != Client->Next)
    +		while (NULL != Client)
     		{
    -			if (SubsystemId == Client->SubsystemId) break;
    +			if (SubsystemId == Client->SubsystemId)
    +			{
    +				RtlLeaveCriticalSection (& SmpClientDirectory.Lock);
    +				return Client;
    +			}
     			Client = Client->Next;
     		}
    -		RtlLeaveCriticalSection (& SmpClientDirectory.Lock);
     	}
    +	/*
    +	 * Note that we do *not* release SmpClientDirectory.Lock here
    +	 * because SmpLookupClient is called to FAIL when SubsystemId
    +	 * is not registered yet.
    +	 */
     	return Client;
     }
     
     /**********************************************************************
    - *	SmpCreateClient/1
    + *	SmpCreateClient/2
      */
     NTSTATUS STDCALL
    -SmpCreateClient(SM_PORT_MESSAGE Request)
    +SmCreateClient(PSM_PORT_MESSAGE Request, PSM_CLIENT_DATA * ClientData)
     {
     	PSM_CLIENT_DATA pClient = NULL;
    +	PSM_CONNECT_DATA ConnectData = (PSM_CONNECT_DATA) ((PBYTE) Request) + sizeof (LPC_REQUEST);
    +	ULONG SbApiPortNameSize = SM_CONNECT_DATA_SIZE(*Request);
    +
    +	DPRINT("SM: %s called\n", __FUNCTION__);
     
     	/*
     	 * Check if a client for the ID already exist.
     	 */
    -	if (SmpLookupClient(0)) //FIXME
    +	if (SmpLookupClient(ConnectData->Subsystem))
     	{
    -		DbgPrint("SMSS: %s: attempt to register again subsystem %d.\n",__FUNCTION__,0);
    +		DPRINT("SMSS: %s: attempt to register again subsystem %d.\n",
    +			__FUNCTION__,
    +			ConnectData->Subsystem);
     		return STATUS_UNSUCCESSFUL;
     	}
    +	DPRINT("SM: %s: registering subsystem %d \n", __FUNCTION__, ConnectData->Subsystem);
     	/*
     	 * Allocate the storage for client data
     	 */
     	pClient = RtlAllocateHeap (SmpHeap,
     				   HEAP_ZERO_MEMORY,
     				   sizeof (SM_CLIENT_DATA));
    -	if (NULL == pClient) return STATUS_NO_MEMORY;
    +	if (NULL == pClient)
    +	{
    +		DPRINT("SM: %s: out of memory!\n",__FUNCTION__);
    +		return STATUS_NO_MEMORY;
    +	}
     	/*
     	 * Initialize the client data
     	 */
    -//	pClient->SubsystemId = Request->Subsystem;
    -	pClient->Initialized = FALSE;
    -	// TODO
    +	pClient->SubsystemId = ConnectData->Subsystem;
    +	/* SM auto-initializes; other subsystems are required to call
    +	 * SM_API_COMPLETE_SESSION via SMDLL. */
    +	pClient->Initialized = (IMAGE_SUBSYSTEM_NATIVE == pClient->SubsystemId);
    +	if (SbApiPortNameSize > 0)
    +	{
    +		RtlCopyMemory (pClient->SbApiPortName,
    +			       ConnectData->SbName,
    +			       SbApiPortNameSize);
    +	}
     	/*
     	 * Insert the new descriptor in the
     	 * client directory.
     	 */
    -	RtlEnterCriticalSection (& SmpClientDirectory.Lock);
     	if (NULL == SmpClientDirectory.Client)
     	{
     		SmpClientDirectory.Client = pClient;
    @@ -128,8 +193,17 @@ SmpCreateClient(SM_PORT_MESSAGE Request)
     			pCD = pCD->Next);
     		pCD->Next = pClient;
     	}
    +	pClient->Next = NULL;
     	++ SmpClientDirectory.Count;
    +	/*
    +	 * Note we unlock the client directory here, because
    +	 * it was locked by SmpLookupClient on failure.
    +	 */
     	RtlLeaveCriticalSection (& SmpClientDirectory.Lock);
    +	if (ClientData) 
    +	{
    +		*ClientData = pClient;
    +	}
     	return STATUS_SUCCESS;
     }
     
    @@ -137,8 +211,10 @@ SmpCreateClient(SM_PORT_MESSAGE Request)
      * 	SmpDestroyClient/1
      */
     NTSTATUS STDCALL
    -SmpDestroyClient (ULONG SubsystemId)
    +SmDestroyClient (ULONG SubsystemId)
     {
    +	DPRINT("SM: %s called\n", __FUNCTION__);
    +
     	RtlEnterCriticalSection (& SmpClientDirectory.Lock);
     	/* TODO */
     	RtlLeaveCriticalSection (& SmpClientDirectory.Lock);
    diff --git a/reactos/subsys/smss/debug.c b/reactos/subsys/smss/debug.c
    index e7848df3d62..abff1600955 100644
    --- a/reactos/subsys/smss/debug.c
    +++ b/reactos/subsys/smss/debug.c
    @@ -26,66 +26,147 @@
     #define NTOS_MODE_USER
     #include 
     #include 
    -#include 
     #include "smss.h"
     
    +#define NDEBUG
    +#include 
    +
    +
     /* GLOBALS ***********************************************************/
     
    -HANDLE DbgSsApiPort = INVALID_HANDLE_VALUE;
    -HANDLE DbgUiApiPort = INVALID_HANDLE_VALUE;
    +HANDLE DbgSsApiPort = (HANDLE) 0;
    +HANDLE DbgUiApiPort = (HANDLE) 0;
     
     /* FUNCTIONS *********************************************************/
     
    +static VOID STDCALL
    +DbgSsApiPortThread (PVOID dummy)
    +{
    +	NTSTATUS Status = STATUS_SUCCESS;
    +	LPC_MAX_MESSAGE	Request = {{0}};
    +    
    +	while (TRUE)
    +	{
    +		Status = NtListenPort (DbgSsApiPort, & Request.Header);
    +		if (!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("SM: %s: NtListenPort() failed! (Status==x%08lx)\n", __FUNCTION__, Status);
    +			break;
    +		}
    +		/* TODO */
    +	}
    +	NtTerminateThread(NtCurrentThread(),Status);
    +}
    +
    +static VOID STDCALL
    +DbgUiApiPortThread (PVOID dummy)
    +{
    +	NTSTATUS Status = STATUS_SUCCESS;
    +	LPC_MAX_MESSAGE	Request = {{0}};
    +    
    +	while (TRUE)
    +	{
    +		Status = NtListenPort (DbgUiApiPort, & Request.Header);
    +		if (!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("SM: %s: NtListenPort() failed! (Status==x%08lx)\n", __FUNCTION__, Status);
    +			break;
    +		}
    +		/* TODO */
    +	}
    +	NtTerminateThread(NtCurrentThread(),Status);
    +}
    +
    +static NTSTATUS STDCALL
    +SmpCreatePT (IN OUT PHANDLE hPort,
    +	     IN     LPWSTR  wcPortName,
    +	     IN     ULONG   ulMaxDataSize,
    +	     IN     ULONG   ulMaxMessageSize,
    +	     IN     ULONG   ulPoolCharge OPTIONAL,
    +	     IN     VOID    (STDCALL * procServingThread)(PVOID) OPTIONAL,
    +	     IN OUT PHANDLE phServingThread OPTIONAL)
    +{
    +	NTSTATUS          Status = STATUS_SUCCESS;
    +	UNICODE_STRING    PortName = {0};
    +	OBJECT_ATTRIBUTES ObjectAttributes;
    +	HANDLE            Thread = (HANDLE) 0;
    +	CLIENT_ID         Cid = {0, 0};
    +
    +	RtlInitUnicodeString (& PortName, wcPortName);
    +	InitializeObjectAttributes (& ObjectAttributes,
    +				    & PortName,
    +				    PORT_ALL_ACCESS,
    +				    NULL,
    +       				    NULL);
    +	Status = NtCreatePort (hPort,
    +			       & ObjectAttributes,
    +       			       ulMaxDataSize,
    +       			       ulMaxMessageSize,
    +       			       ulPoolCharge);
    +	if(STATUS_SUCCESS != Status)
    +	{
    +		return Status;
    +	}
    +	/* Create thread for DbgSsApiPort */
    +	RtlCreateUserThread(NtCurrentProcess(),
    +			    NULL,
    +      			    FALSE,
    +      			    0,
    +      			    NULL,
    +      			    NULL,
    +      			    (PTHREAD_START_ROUTINE) procServingThread,
    +      			    hPort,
    +      			    & Thread,
    +      			    & Cid);
    +	if((HANDLE) 0 == Thread)
    +	{
    +		NtClose(*hPort);
    +		Status = STATUS_UNSUCCESSFUL;
    +	}
    +	if(NULL != phServingThread)
    +	{
    +		*phServingThread = Thread;
    +	}
    +	return Status;
    +}
    +
     NTSTATUS
     SmInitializeDbgSs (VOID)
     {
    -  NTSTATUS Status;
    -  UNICODE_STRING UnicodeString;
    -  OBJECT_ATTRIBUTES ObjectAttributes;
    +	NTSTATUS  Status = STATUS_SUCCESS;
    +	HANDLE    hDbgSsApiPortThread = (HANDLE) 0;
     
    +	DPRINT("SM: %s called\n", __FUNCTION__);
     
    -  /* Create the \DbgSsApiPort object (LPC) */
    -  RtlRosInitUnicodeStringFromLiteral(&UnicodeString,
    -		       L"\\DbgSsApiPort");
    -  InitializeObjectAttributes(&ObjectAttributes,
    -			     &UnicodeString,
    -			     PORT_ALL_ACCESS,
    -			     NULL,
    +	/* Create the \DbgSsApiPort object (LPC) */
    +	Status = SmpCreatePT(& DbgSsApiPort,
    +			     SM_DBGSS_PORT_NAME,
    +			     0, /* MaxDataSize */
    +			     0, /* MaxMessageSize */
    +			     0, /* PoolCharge */
    +			     DbgSsApiPortThread,
    +			     & hDbgSsApiPortThread);
    +	if(!NT_SUCCESS(Status))
    +	{
    +		DPRINT("SM: %s: DBGSS port not created\n",__FUNCTION__);
    +		return Status;
    +	}
    +	/* Create the \DbgUiApiPort object (LPC) */
    +	Status = SmpCreatePT(& DbgUiApiPort,
    +			     SM_DBGUI_PORT_NAME,
    +			     0, /* MaxDataSize */
    +			     0, /* MaxMessageSize */
    +			     0, /* PoolCharge */
    +			     DbgUiApiPortThread,
     			     NULL);
    -
    -  Status = NtCreatePort(&DbgSsApiPort,
    -			&ObjectAttributes,
    -			0,
    -			0,
    -			0);
    -
    -  if (!NT_SUCCESS(Status))
    -    {
    -      return(Status);
    -    }
    -  DbgPrint("SMSS: %s: \\DbgSsApiPort created\n",__FUNCTION__);
    -
    -  /* Create the \DbgUiApiPort object (LPC) */
    -  RtlRosInitUnicodeStringFromLiteral(&UnicodeString,
    -		       L"\\DbgUiApiPort");
    -  InitializeObjectAttributes(&ObjectAttributes,
    -			     &UnicodeString,
    -			     PORT_ALL_ACCESS,
    -			     NULL,
    -			     NULL);
    -
    -  Status = NtCreatePort(&DbgUiApiPort,
    -			&ObjectAttributes,
    -			0,
    -			0,
    -			0);
    -  if (!NT_SUCCESS(Status))
    -    {
    -      return(Status);
    -    }
    -  DbgPrint("SMSS: %s: \\DbgUiApiPort created\n",__FUNCTION__);
    -
    -  return STATUS_SUCCESS;
    +	if(!NT_SUCCESS(Status))
    +	{
    +		DPRINT("SM: %s: DBGUI port not created\n",__FUNCTION__);
    +		NtClose (hDbgSsApiPortThread);
    +		NtClose (DbgSsApiPort);
    +	  	return Status;
    +	}
    +	return STATUS_SUCCESS;
     }
     
     /* EOF */
    diff --git a/reactos/subsys/smss/init.c b/reactos/subsys/smss/init.c
    index 0dcd79dac75..f3a1126c98e 100644
    --- a/reactos/subsys/smss/init.c
    +++ b/reactos/subsys/smss/init.c
    @@ -36,14 +36,14 @@
     static NTSTATUS
     SmpSignalInitEvent(VOID)
     {
    -  NTSTATUS Status;
    -  OBJECT_ATTRIBUTES ObjectAttributes;
    -  UNICODE_STRING UnicodeString;
    -  HANDLE ReactOSInitEvent;
    +  NTSTATUS          Status = STATUS_SUCCESS;
    +  OBJECT_ATTRIBUTES ObjectAttributes = {0};
    +  UNICODE_STRING    EventName ={0};
    +  HANDLE            ReactOSInitEvent = NULL;
     
    -  RtlRosInitUnicodeStringFromLiteral(&UnicodeString, L"\\ReactOSInitDone");
    +  RtlInitUnicodeString (& EventName, L"\\ReactOSInitDone");
       InitializeObjectAttributes(&ObjectAttributes,
    -    &UnicodeString,
    +    & EventName,
         EVENT_ALL_ACCESS,
         0,
         NULL);
    @@ -98,7 +98,7 @@ struct {
     };
     
     NTSTATUS
    -InitSessionManager(HANDLE Children[])
    +InitSessionManager(VOID)
     {
       int i;
       NTSTATUS Status;
    diff --git a/reactos/subsys/smss/initdosdev.c b/reactos/subsys/smss/initdosdev.c
    index 30e839f6720..f2698e94f57 100644
    --- a/reactos/subsys/smss/initdosdev.c
    +++ b/reactos/subsys/smss/initdosdev.c
    @@ -1,6 +1,6 @@
     /* $Id: init.c 13449 2005-02-06 21:55:07Z ea $
      *
    - * initdosdev.c - Define symbolic links to kernel devices (MS-DOS names)
    + * initdosdev.c - Define symbolic links to kernel devices (MS-DOS names).
      * 
      * ReactOS Operating System
      * 
    diff --git a/reactos/subsys/smss/initobdir.c b/reactos/subsys/smss/initobdir.c
    index 438638986de..0a1c6ad558e 100644
    --- a/reactos/subsys/smss/initobdir.c
    +++ b/reactos/subsys/smss/initobdir.c
    @@ -23,8 +23,6 @@
      *
      * --------------------------------------------------------------------
      */
    -
    -
     #include "smss.h"
     
     #define NDEBUG
    @@ -82,7 +80,7 @@ SmCreateObjectDirectories(VOID)
       QueryTable[0].QueryRoutine = SmpObjectDirectoryQueryRoutine;
     
       Status = RtlQueryRegistryValues(RTL_REGISTRY_CONTROL,
    -				  L"\\Session Manager",
    +				  SM_REGISTRY_ROOT_NAME,
     				  QueryTable,
     				  NULL,
     				  NULL);
    diff --git a/reactos/subsys/smss/initreg.c b/reactos/subsys/smss/initreg.c
    index 6bfbfacf7be..76ab72014c7 100644
    --- a/reactos/subsys/smss/initreg.c
    +++ b/reactos/subsys/smss/initreg.c
    @@ -1,6 +1,6 @@
     /* $Id: init.c 13449 2005-02-06 21:55:07Z ea $
      *
    - * initenv.c - Environment initialization
    + * initenv.c - Hive loading
      * 
      * ReactOS Operating System
      * 
    diff --git a/reactos/subsys/smss/initrun.c b/reactos/subsys/smss/initrun.c
    index 841c988b844..1c0ecdc01bc 100644
    --- a/reactos/subsys/smss/initrun.c
    +++ b/reactos/subsys/smss/initrun.c
    @@ -32,6 +32,9 @@
     HANDLE Children[2] = {0, 0}; /* csrss, winlogon */
     
     
    +/**********************************************************************
    + * SmpRunBootAppsQueryRoutine/6
    + */
     static NTSTATUS STDCALL
     SmpRunBootAppsQueryRoutine(PWSTR ValueName,
     			  ULONG ValueType,
    @@ -40,14 +43,10 @@ SmpRunBootAppsQueryRoutine(PWSTR ValueName,
     			  PVOID Context,
     			  PVOID EntryContext)
     {
    -  PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
    -  RTL_PROCESS_INFO ProcessInfo;
    -  UNICODE_STRING ImagePathString;
    -  UNICODE_STRING CommandLineString;
    -  WCHAR Description[256];
    -  WCHAR ImageName[256];
    -  WCHAR ImagePath[256];
    -  WCHAR CommandLine[256];
    +  WCHAR Description [MAX_PATH];
    +  WCHAR ImageName [MAX_PATH];
    +  WCHAR ImagePath [MAX_PATH];
    +  WCHAR CommandLine [MAX_PATH];
       PWSTR p1, p2;
       ULONG len;
       NTSTATUS Status;
    @@ -96,54 +95,23 @@ SmpRunBootAppsQueryRoutine(PWSTR ValueName,
       wcscat(ImagePath, ImageName);
       wcscat(ImagePath, L".exe");
     
    -  RtlInitUnicodeString(&ImagePathString,
    -		       ImagePath);
    -
    -  RtlInitUnicodeString(&CommandLineString,
    -		       CommandLine);
    -
    -  RtlCreateProcessParameters(&ProcessParameters,
    -			     &ImagePathString,
    -			     NULL,
    -			     NULL,
    -			     &CommandLineString,
    -			     NULL,
    -			     NULL,
    -			     NULL,
    -			     NULL,
    -			     NULL);
    -
    -  Status = RtlCreateUserProcess(&ImagePathString,
    -				OBJ_CASE_INSENSITIVE,
    -				ProcessParameters,
    +  /* Create NT process */
    +  Status = SmCreateUserProcess (ImagePath,
    +		  		CommandLine,
    +				TRUE, /* wait */
     				NULL,
    -				NULL,
    -				NULL,
    -				FALSE,
    -				NULL,
    -				NULL,
    -				&ProcessInfo);
    -  if (!NT_SUCCESS(Status))
    -    {
    -      DPRINT1("Running %s failed (Status %lx)\n", Description, Status);
    -      return(STATUS_SUCCESS);
    -    }
    -
    -  RtlDestroyProcessParameters(ProcessParameters);
    -
    -  /* Wait for process termination */
    -  NtWaitForSingleObject(ProcessInfo.ProcessHandle,
    -			FALSE,
    -			NULL);
    -
    -  NtClose(ProcessInfo.ThreadHandle);
    -  NtClose(ProcessInfo.ProcessHandle);
    +				TRUE, /* terminate */
    +				NULL);
     
       return(STATUS_SUCCESS);
     }
     
     
    -/*
    +/**********************************************************************
    + * SmRunBootApplications/0
    + * 
    + * DESCRIPTION
    + *
      * Run native applications listed in the registry.
      *
      *  Key:
    diff --git a/reactos/subsys/smss/initss.c b/reactos/subsys/smss/initss.c
    index 0f804563e24..e24035a8bfb 100644
    --- a/reactos/subsys/smss/initss.c
    +++ b/reactos/subsys/smss/initss.c
    @@ -26,11 +26,16 @@
     
     
     #include "smss.h"
    +
     #include 
     
     #define NDEBUG
     #include 
     
    +/* SM handle for its own \SmApiPort */
    +HANDLE hSmApiPort = (HANDLE) 0;
    +
    +
     /* TODO: this file should be totally rewritten
      *
      * a) look if a special option is set for smss.exe in
    @@ -39,9 +44,6 @@
      * b) make smss register with itself for IMAGE_SUBSYSTEM_NATIVE
      *    (programmatically)
      *
    - * c) make smss load win32k.sys as set in Kmode key
    - *    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
    - *
      * d) make smss initialize Debug (DBGSS) and Windows (CSRSS) as described
      *    in the registry key Required="Debug Windows"
      *    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
    @@ -49,33 +51,47 @@
      * e) make optional subsystems loadable (again: they must be described in the registry
      *    key Optional="Posix Os2" to be allowed to run)
      */
    +
    +/**********************************************************************
    + */
     NTSTATUS
     SmLoadSubsystems(VOID)
     {
    -  SYSTEM_LOAD_AND_CALL_IMAGE ImageInfo;
    -  NTSTATUS Status;
    +	SYSTEM_LOAD_AND_CALL_IMAGE ImageInfo;
    +	NTSTATUS                   Status = STATUS_SUCCESS;
    +	WCHAR                      Data [MAX_PATH + 1];
    +	ULONG                      DataLength = sizeof Data;
    +	ULONG                      DataType = 0;
     
    -  DPRINT("SM: loading subsystems\n");
     
    -  /* Load kernel mode subsystem (aka win32k.sys) */
    -  RtlRosInitUnicodeStringFromLiteral(&ImageInfo.ModuleName,
    -		       L"\\SystemRoot\\system32\\win32k.sys");
    +	DPRINT("SM: loading subsystems\n");
    + 
    +	/* Load Kmode subsystem (aka win32k.sys) */
    +	Status = SmLookupSubsystem (L"Kmode",
    +				    Data,
    +				    & DataLength,
    +				    & DataType,
    +				    TRUE);
    +	if((STATUS_SUCCESS == Status) && (DataLength > sizeof Data[0]))
    +	{
    +		WCHAR ImagePath [MAX_PATH + 1] = {0};
     
    -  Status = NtSetSystemInformation(SystemLoadAndCallImage,
    -				  &ImageInfo,
    -				  sizeof(SYSTEM_LOAD_AND_CALL_IMAGE));
    -
    -  DPRINT("SMSS: Loaded win32k.sys (Status %lx)\n", Status);
    -#if 0
    -  if (!NT_SUCCESS(Status))
    -    {
    -      return(Status);
    -    }
    -#endif
    -
    -  /* FIXME: load more subsystems (csrss!) */
    -
    -  return(Status);
    +		wcscpy (ImagePath, L"\\??\\");
    +		wcscat (ImagePath, Data);
    +		RtlZeroMemory (& ImageInfo, sizeof ImageInfo);
    +		RtlInitUnicodeString (& ImageInfo.ModuleName, ImagePath);
    +		Status = NtSetSystemInformation(SystemLoadAndCallImage,
    +					  & ImageInfo,
    +					  sizeof ImageInfo);
    +		if(!NT_SUCCESS(Status))
    +		{
    +			DPRINT("SM: loading Kmode failed (Status=0x%08lx)\n",
    +				Status);
    +			return Status;
    +		}
    +	}
    +	/* TODO: load Required subsystems (Debug Windows) */
    +	return Status;
     }
     
     NTSTATUS
    @@ -84,10 +100,9 @@ SmRunCsrss(VOID)
       NTSTATUS Status;
       UNICODE_STRING UnicodeString;
       OBJECT_ATTRIBUTES ObjectAttributes;
    -  PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
       RTL_PROCESS_INFO ProcessInfo;
       HANDLE CsrssInitEvent;
    -  WCHAR UnicodeBuffer[MAX_PATH];
    +  WCHAR ImagePath [MAX_PATH];
     
       DPRINT("SM: initializing csrss\n");
     
    @@ -114,36 +129,17 @@ SmRunCsrss(VOID)
        */
     
       /* initialize executable path */
    -  wcscpy(UnicodeBuffer, L"\\??\\");
    -  wcscat(UnicodeBuffer, SharedUserData->NtSystemRoot);
    -  wcscat(UnicodeBuffer, L"\\system32\\csrss.exe");
    -  RtlInitUnicodeString(&UnicodeString,
    -		       UnicodeBuffer);
    +  wcscpy(ImagePath, L"\\??\\");
    +  wcscat(ImagePath, SharedUserData->NtSystemRoot);
    +  wcscat(ImagePath, L"\\system32\\csrss.exe");
     
    -  RtlCreateProcessParameters(&ProcessParameters,
    -			     &UnicodeString,
    -			     NULL,
    -			     NULL,
    -			     NULL,
    -			     SmSystemEnvironment,
    -			     NULL,
    -			     NULL,
    -			     NULL,
    -			     NULL);
    -
    -  Status = RtlCreateUserProcess(&UnicodeString,
    -				OBJ_CASE_INSENSITIVE,
    -				ProcessParameters,
    +  Status = SmCreateUserProcess(ImagePath,
    +		  		L"",
    +				FALSE, /* wait */
     				NULL,
    -				NULL,
    -				NULL,
    -				FALSE,
    -				NULL,
    -				NULL,
    -				&ProcessInfo);
    -
    -  RtlDestroyProcessParameters (ProcessParameters);
    -
    +				FALSE, /* terminate */
    +				& ProcessInfo);
    +  
       if (!NT_SUCCESS(Status))
         {
           DPRINT("SM: %s: Loading csrss.exe failed!\n", __FUNCTION__);
    @@ -162,11 +158,9 @@ SmRunCsrss(VOID)
     NTSTATUS
     SmRunWinlogon(VOID)
     {
    -  NTSTATUS Status;
    -  UNICODE_STRING UnicodeString;
    -  PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
    +  NTSTATUS         Status = STATUS_SUCCESS;
       RTL_PROCESS_INFO ProcessInfo;
    -  WCHAR UnicodeBuffer[MAX_PATH];
    +  WCHAR            ImagePath [MAX_PATH];
     
       /*
        * Start the logon process (winlogon.exe)
    @@ -175,43 +169,23 @@ SmRunWinlogon(VOID)
       DPRINT("SM: starting winlogon\n");
     
       /* initialize executable path */
    -  wcscpy(UnicodeBuffer, L"\\??\\");
    -  wcscat(UnicodeBuffer, SharedUserData->NtSystemRoot);
    -  wcscat(UnicodeBuffer, L"\\system32\\winlogon.exe");
    -  RtlInitUnicodeString(&UnicodeString,
    -		       UnicodeBuffer);
    +  wcscpy(ImagePath, L"\\??\\");
    +  wcscat(ImagePath, SharedUserData->NtSystemRoot);
    +  wcscat(ImagePath, L"\\system32\\winlogon.exe");
     
    -  RtlCreateProcessParameters(&ProcessParameters,
    -			     &UnicodeString,
    -			     NULL,
    -			     NULL,
    -			     NULL,
    -			     SmSystemEnvironment,
    -			     NULL,
    -			     NULL,
    -			     NULL,
    -			     NULL);
    -
    -  Status = RtlCreateUserProcess(&UnicodeString,
    -				OBJ_CASE_INSENSITIVE,
    -				ProcessParameters,
    +  Status = SmCreateUserProcess(ImagePath,
    +		  		L"",
    +				FALSE, /* wait */
     				NULL,
    -				NULL,
    -				NULL,
    -				FALSE,
    -				NULL,
    -				NULL,
    -				&ProcessInfo);
    -
    -  RtlDestroyProcessParameters(ProcessParameters);
    -
    +				FALSE, /* terminate */
    +		  		& ProcessInfo);
       if (!NT_SUCCESS(Status))
         {
           DPRINT("SM: %s: Loading winlogon.exe failed!\n", __FUNCTION__);
    -      NtTerminateProcess(Children[CHILD_CSRSS],
    -			 0);
    +      NtTerminateProcess(Children[CHILD_CSRSS], 0);
           return(Status);
         }
    +
       Children[CHILD_WINLOGON] = ProcessInfo.ProcessHandle;
     
       return Status;
    diff --git a/reactos/subsys/smss/makefile b/reactos/subsys/smss/makefile
    index 12af5d6800f..823310ec167 100644
    --- a/reactos/subsys/smss/makefile
    +++ b/reactos/subsys/smss/makefile
    @@ -6,6 +6,8 @@ TARGET_TYPE = program
     
     TARGET_APPTYPE = native
     
    +TARGET_SDKLIBS = ntdll.a smdll.a
    +
     TARGET_NAME = smss
     
     TARGET_INSTALLDIR = system32
    @@ -19,8 +21,8 @@ TARGET_OBJECTS = $(TARGET_NAME).o \
     		 init.o initheap.o initenv.o initobdir.o initdosdev.o \
     		 initrun.o initmv.o initwkdll.o initpage.o initss.o \
     		 initreg.o \
    -		 smapi.o \
    -		 client.o debug.o
    +		 smapi.o smapicomp.o smapiexec.o \
    +		 client.o debug.o print.o
     
     include $(PATH_TO_TOP)/rules.mak
     
    diff --git a/reactos/subsys/system/lsass/init.c b/reactos/subsys/smss/print.c
    similarity index 55%
    rename from reactos/subsys/system/lsass/init.c
    rename to reactos/subsys/smss/print.c
    index 86f739c6682..fccc3ac37d6 100644
    --- a/reactos/subsys/system/lsass/init.c
    +++ b/reactos/subsys/smss/print.c
    @@ -1,43 +1,56 @@
    -/* $Id$
    - *
    - * init.c - Local Security Manager Initialization
    - * 
    - * ReactOS Operating System
    - * 
    - * --------------------------------------------------------------------
    - *
    - * This software is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU General Public License as
    - * published by the Free Software Foundation; either version 2 of the
    - * License, or (at your option) any later version.
    - *
    - * This software is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * General Public License for more details.
    - *
    - * You should have received a copy of the GNU General Public License
    - * along with this software; see the file COPYING.LIB. If not, write
    - * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
    - * MA 02139, USA.  
    - *
    - * --------------------------------------------------------------------
    - * 
    - * 	19990704 (Emanuele Aliberti)
    - * 		Compiled successfully with egcs 1.1.2
    - */
    -#include 
    -
    -BOOL
    -InitLsa(
    -	HANDLE	Children[]
    -	)
    -{
    -	/* FIXME: create the \SeLsaCommandPort LPC port */
    -	/* FIXME: create the \LsaAuthenticationPort LPC port */
    -	return TRUE;
    -}
    -
    -
    -/* EOF */
    -
    +/* $Id: print.c 12852 2005-01-06 13:58:04Z mf $
    + *
    + * print.c - Print on the blue screen
    + * 
    + * ReactOS Operating System
    + * 
    + * --------------------------------------------------------------------
    + *
    + * This software is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU General Public License as
    + * published by the Free Software Foundation; either version 2 of the
    + * License, or (at your option) any later version.
    + *
    + * This software is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * General Public License for more details.
    + *
    + * You should have received a copy of the GNU General Public License
    + * along with this software; see the file COPYING.LIB. If not, write
    + * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
    + * MA 02139, USA.  
    + *
    + * --------------------------------------------------------------------
    + */
    +#define NTOS_MODE_USER
    +#include 
    +
    +VOID STDCALL DisplayString(LPCWSTR lpwString)
    +{
    +   UNICODE_STRING us;
    +   
    +   RtlInitUnicodeString (&us, lpwString);
    +   ZwDisplayString (&us);
    +}
    +
    +VOID STDCALL PrintString (char* fmt, ...)
    +{
    +   char buffer[512];
    +   va_list ap;
    +   UNICODE_STRING UnicodeString;
    +   ANSI_STRING AnsiString;
    +   
    +   va_start(ap, fmt);
    +   vsprintf(buffer, fmt, ap);
    +   va_end(ap);
    +   
    +   RtlInitAnsiString (&AnsiString, buffer);
    +   RtlAnsiStringToUnicodeString (&UnicodeString,
    +				 &AnsiString,
    +				 TRUE);
    +   NtDisplayString(&UnicodeString);
    +   RtlFreeUnicodeString (&UnicodeString);
    +}
    +
    +/* EOF */
    diff --git a/reactos/subsys/smss/smapi.c b/reactos/subsys/smss/smapi.c
    index 1e132375c9a..78cac41ce83 100644
    --- a/reactos/subsys/smss/smapi.c
    +++ b/reactos/subsys/smss/smapi.c
    @@ -1,19 +1,16 @@
     /* $Id$
    + *
    + * smapi.c - \SmApiPort LPC port message management
      *
      * Reactos Session Manager
      *
    - *
      */
     
    -/*#include 
    -#include */
    -#define NTOS_MODE_USER
    -#include 
    -#include 
    -#include 
     #include "smss.h"
    +#include 
     
     #define NDEBUG
    +#include 
     
     /* GLOBAL VARIABLES *********************************************************/
     
    @@ -21,25 +18,9 @@ static HANDLE SmApiPort = INVALID_HANDLE_VALUE;
     
     /* SM API *******************************************************************/
     
    -#define SMAPI(n) \
    -NTSTATUS FASTCALL n (PSM_PORT_MESSAGE Request)
    -
     SMAPI(SmInvalid)
     {
    -	DbgPrint("SMSS: %s called\n",__FUNCTION__);
    -	Request->Status = STATUS_NOT_IMPLEMENTED;
    -	return STATUS_SUCCESS;
    -}
    -
    -SMAPI(SmCompSes)
    -{
    -	DbgPrint("SMSS: %s called\n",__FUNCTION__);
    -	Request->Status = STATUS_NOT_IMPLEMENTED;
    -	return STATUS_SUCCESS;
    -}
    -SMAPI(SmExecPgm)
    -{
    -	DbgPrint("SMSS: %s called\n",__FUNCTION__);
    +	DPRINT("SM: %s called\n",__FUNCTION__);
     	Request->Status = STATUS_NOT_IMPLEMENTED;
     	return STATUS_SUCCESS;
     }
    @@ -50,60 +31,53 @@ typedef NTSTATUS (FASTCALL * SM_PORT_API)(PSM_PORT_MESSAGE);
     SM_PORT_API SmApi [] =
     {
     	SmInvalid,	/* unused */
    -	SmCompSes,
    +	SmCompSes,	/* smapicomp.c */
     	SmInvalid,	/* obsolete */
     	SmInvalid,	/* unknown */
    -	SmExecPgm
    +	SmExecPgm	/* smapiexec.c */
     };
     
    -
    -/**********************************************************************
    - * NAME
    - *	SmpHandleConnectionRequest/2
    - *
    - * REMARKS
    - * 	Quoted in http://support.microsoft.com/kb/258060/EN-US/
    - */
    +#if !defined(__USE_NT_LPC__)
     NTSTATUS STDCALL
    -SmpHandleConnectionRequest (HANDLE Port, PSM_PORT_MESSAGE Request)
    -{
    -	DbgPrint("SMSS: %s called\n",__FUNCTION__);
    -	return STATUS_SUCCESS;
    -}
    +SmpHandleConnectionRequest (PSM_PORT_MESSAGE Request);
    +#endif
    +
     
     /**********************************************************************
      * NAME
    - * 	SmpApiThread/1
    + * 	SmpApiConnectedThread/1
      *
      * DESCRIPTION
      * 	Entry point for the listener thread of LPC port "\SmApiPort".
      */
     VOID STDCALL
    -SmpApiThread(HANDLE Port)
    +SmpApiConnectedThread(PVOID dummy)
     {
     	NTSTATUS	Status = STATUS_SUCCESS;
    -	ULONG		Unknown = 0;
    +	PVOID		Unknown = NULL;
     	PLPC_MESSAGE	Reply = NULL;
     	SM_PORT_MESSAGE	Request = {{0}};
     
    -	DbgPrint("SMSS: %s running.\n",__FUNCTION__);
    +	DPRINT("SM: %s running\n",__FUNCTION__);
     
     	while (TRUE)
     	{
    -		DbgPrint("SMSS: %s: waiting for message\n",__FUNCTION__);
    +		DPRINT("SM: %s: waiting for message\n",__FUNCTION__);
     
    -		Status = NtReplyWaitReceivePort(Port,
    -						& Unknown,
    +		Status = NtReplyWaitReceivePort(SmApiPort,
    +						(PULONG) & Unknown,
     						Reply,
     						(PLPC_MESSAGE) & Request);
     		if (NT_SUCCESS(Status))
     		{
    -			DbgPrint("SMSS: %s: message received\n",__FUNCTION__);
    +			DPRINT("SM: %s: message received (type=%d)\n",
    +				__FUNCTION__,
    +				PORT_MESSAGE_TYPE(Request));
     
     			switch (Request.Header.MessageType)
     			{
     			case LPC_CONNECTION_REQUEST:
    -				SmpHandleConnectionRequest (Port, &Request);
    +				SmpHandleConnectionRequest (&Request);
     				Reply = NULL;
     				break;
     			case LPC_DEBUG_EVENT:
    @@ -128,6 +102,158 @@ SmpApiThread(HANDLE Port)
     	}
     }
     
    +/**********************************************************************
    + * NAME
    + *	SmpHandleConnectionRequest/1
    + *
    + * ARGUMENTS
    + * 	Request: LPC connection request message
    + *
    + * REMARKS
    + * 	Quoted in http://support.microsoft.com/kb/258060/EN-US/
    + */
    +NTSTATUS STDCALL
    +SmpHandleConnectionRequest (PSM_PORT_MESSAGE Request)
    +{
    +#if defined(__USE_NT_LPC__)
    +	NTSTATUS         Status = STATUS_SUCCESS;
    +	PSM_CLIENT_DATA  ClientData = NULL;
    +	PVOID            Context = NULL;
    +	
    +	DPRINT("SM: %s called\n",__FUNCTION__);
    +
    +	/*
    +	 * SmCreateClient/2 is called here explicitly to *fail*.
    +	 * If it succeeds, there is something wrong in the
    +	 * connection request. An environment subsystem *never*
    +	 * registers twice. (Security issue: maybe we will
    +	 * write this event into the security log).
    +	 */
    +	Status = SmCreateClient (Request, & ClientData);
    +	if(STATUS_SUCCESS == Status)
    +	{
    +		/* OK: the client is an environment subsystem
    +		 * willing to manage a free image type.
    +		 * Accept it.
    +		 */
    +		Status = NtAcceptConnectPort (& ClientData->ApiPort,
    +					      Context,
    +					      (PLPC_MESSAGE) Request,
    +					      TRUE, //accept
    +					      NULL,
    +					      NULL);
    +		if(NT_SUCCESS(Status))
    +		{
    +			Status = NtCompleteConnectPort(ClientData->ApiPort);
    +		}
    +		return STATUS_SUCCESS;
    +	} else {
    +		/* Reject the subsystem */
    +		Status = NtAcceptConnectPort (& ClientData->ApiPort,
    +					      Context,
    +					      (PLPC_MESSAGE) Request,
    +					      FALSE, //reject
    +					      NULL,
    +					      NULL);
    +	}
    +#else /* ReactOS LPC */
    +	NTSTATUS         Status = STATUS_SUCCESS;
    +	PSM_CLIENT_DATA  ClientData = NULL;
    +	
    +	DPRINT("SM: %s called\n",__FUNCTION__);
    +
    +	Status = SmCreateClient (Request, & ClientData);
    +	if(STATUS_SUCCESS == Status)
    +	{
    +		Status = NtAcceptConnectPort (& ClientData->ApiPort,
    +					      SmApiPort,
    +					      NULL,
    +					      TRUE, //accept
    +					      NULL,
    +					      NULL);
    +		if (!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("SM: %s: NtAcceptConnectPort() failed (Status=0x%08lx)\n",
    +					__FUNCTION__, Status);
    +			return Status;
    +		} else {
    +			Status = NtCompleteConnectPort(ClientData->ApiPort);
    +			if (!NT_SUCCESS(Status))
    +			{
    +				DPRINT1("SM: %s: NtCompleteConnectPort() failed (Status=0x%08lx)\n",
    +					__FUNCTION__, Status);
    +				return Status;
    +			}
    +			Status = RtlCreateUserThread(NtCurrentProcess(),
    +					     NULL,
    +					     FALSE,
    +					     0,
    +					     NULL,
    +					     NULL,
    +					     (PTHREAD_START_ROUTINE) SmpApiConnectedThread,
    +					     ClientData->ApiPort,
    +					     & ClientData->ApiPortThread,
    +					     NULL);
    +			if (!NT_SUCCESS(Status))
    +			{
    +				DPRINT1("SM: %s: Unable to create server thread (Status=0x%08lx)\n",
    +					__FUNCTION__, Status);
    +				return Status;
    +			}
    +		}
    +		return STATUS_SUCCESS;
    +	} else {
    +		/* Reject the subsystem */
    +		Status = NtAcceptConnectPort (& ClientData->ApiPort,
    +					      SmApiPort,
    +					      NULL,
    +					      FALSE, //reject
    +					      NULL,
    +					      NULL);
    +	}
    +#endif /* defined __USE_NT_LPC__ */
    +	return Status;
    +}
    +
    +/**********************************************************************
    + * NAME
    + * 	SmpApiThread/1
    + *
    + * DECRIPTION
    + * 	Due to differences in LPC implementation between NT and ROS,
    + * 	we need a thread to listen for connection request that
    + * 	creates a new thread for each connected port. This is not
    + * 	necessary in NT LPC, because server side connected ports are
    + * 	never used to receive requests. 
    + */
    +VOID STDCALL
    +SmpApiThread (HANDLE ListeningPort)
    +{
    +	NTSTATUS	Status = STATUS_SUCCESS;
    +	LPC_MAX_MESSAGE	Request = {{0}};
    +    
    +	while (TRUE)
    +	{
    +		Status = NtListenPort (ListeningPort, & Request.Header);
    +		if (!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("SM: %s: NtListenPort() failed! (Status==x%08lx)\n", __FUNCTION__, Status);
    +			break;
    +		}
    +		Status = SmpHandleConnectionRequest ((PSM_PORT_MESSAGE) & Request);
    +		if(!NT_SUCCESS(Status))
    +		{
    +			DPRINT1("SM: %s: SmpHandleConnectionRequest failed (Status=0x%08lx)\n",
    +				__FUNCTION__, Status);
    +			break;
    +		}
    +	}
    +	/* Cleanup */
    +	NtClose(ListeningPort);
    +	/* DIE */
    +	NtTerminateThread(NtCurrentThread(), Status);
    +}
    +
     
     /* LPC PORT INITIALIZATION **************************************************/
     
    @@ -141,9 +267,9 @@ SmpApiThread(HANDLE Port)
     NTSTATUS
     SmCreateApiPort(VOID)
     {
    -  OBJECT_ATTRIBUTES ObjectAttributes;
    -  UNICODE_STRING UnicodeString;
    -  NTSTATUS Status;
    +  OBJECT_ATTRIBUTES  ObjectAttributes = {0};
    +  UNICODE_STRING     UnicodeString = {0};
    +  NTSTATUS           Status = STATUS_SUCCESS;
     
       RtlRosInitUnicodeStringFromLiteral(&UnicodeString,
     		       L"\\SmApiPort");
    @@ -162,19 +288,10 @@ SmCreateApiPort(VOID)
         {
           return(Status);
         }
    -
    -  /* Create two threads for "\SmApiPort" */
    -  RtlCreateUserThread(NtCurrentProcess(),
    -		      NULL,
    -		      FALSE,
    -		      0,
    -		      NULL,
    -		      NULL,
    -		      (PTHREAD_START_ROUTINE)SmpApiThread,
    -		      (PVOID)SmApiPort,
    -		      NULL,
    -		      NULL);
    -
    +  /*
    +   * Create one thread for the named LPC
    +   * port \SmApiPort
    +   */
       RtlCreateUserThread(NtCurrentProcess(),
     		      NULL,
     		      FALSE,
    diff --git a/reactos/subsys/smss/smapicomp.c b/reactos/subsys/smss/smapicomp.c
    new file mode 100644
    index 00000000000..a655ef7cf4f
    --- /dev/null
    +++ b/reactos/subsys/smss/smapicomp.c
    @@ -0,0 +1,27 @@
    +/* $Id: $
    + *
    + * smapicomp.c - SM_API_COMPLETE_SESSION
    + *
    + * Reactos Session Manager
    + *
    + */
    +
    +#include "smss.h"
    +#include 
    +
    +#define NDEBUG
    +#include 
    +
    +
    +/**********************************************************************
    + * SmCompSes/1							API
    + */
    +SMAPI(SmCompSes)
    +{
    +	DPRINT("SM: %s called\n",__FUNCTION__);
    +	Request->Status = STATUS_NOT_IMPLEMENTED;
    +	return STATUS_SUCCESS;
    +}
    +
    +
    +/* EOF */
    diff --git a/reactos/subsys/smss/smapiexec.c b/reactos/subsys/smss/smapiexec.c
    new file mode 100644
    index 00000000000..9d1f119fe1e
    --- /dev/null
    +++ b/reactos/subsys/smss/smapiexec.c
    @@ -0,0 +1,319 @@
    +/* $Id$
    + *
    + * smapiexec.c - SM_API_EXECUTE_PROGRAM
    + *
    + * Reactos Session Manager
    + *
    + * --------------------------------------------------------------------
    + *
    + * This software is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU General Public License as
    + * published by the Free Software Foundation; either version 2 of the
    + * License, or (at your option) any later version.
    + *
    + * This software is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * General Public License for more details.
    + *
    + * You should have received a copy of the GNU General Public License
    + * along with this software; see the file COPYING.LIB. If not, write
    + * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
    + * MA 02139, USA.  
    + *
    + * --------------------------------------------------------------------
    + */
    +#include "smss.h"
    +
    +#define NDEBUG
    +#include 
    +
    +/**********************************************************************
    + * SmCreateUserProcess/5
    + *
    + */
    +NTSTATUS STDCALL
    +SmCreateUserProcess (LPWSTR ImagePath,
    +		     LPWSTR CommandLine,
    +		     BOOLEAN WaitForIt,
    +		     PLARGE_INTEGER Timeout OPTIONAL,
    +		     BOOLEAN TerminateIt,
    +		     PRTL_PROCESS_INFO UserProcessInfo OPTIONAL
    +		     )
    +{
    +	UNICODE_STRING			ImagePathString = {0};
    +	UNICODE_STRING			CommandLineString = {0};
    +	PRTL_USER_PROCESS_PARAMETERS	ProcessParameters = NULL;
    +	RTL_PROCESS_INFO		ProcessInfo = {0};
    +	PRTL_PROCESS_INFO		pProcessInfo = & ProcessInfo;
    +	NTSTATUS			Status = STATUS_SUCCESS;
    +
    +
    +	DPRINT("SM: %s called\n",__FUNCTION__);
    +
    +	RtlInitUnicodeString (& ImagePathString, ImagePath);
    +	RtlInitUnicodeString (& CommandLineString, CommandLine);
    +
    +	RtlCreateProcessParameters(& ProcessParameters,
    +				   & ImagePathString,
    +				   NULL,
    +				   NULL,
    +				   & CommandLineString,
    +				   SmSystemEnvironment,
    +				   NULL,
    +				   NULL,
    +				   NULL,
    +				   NULL);
    +
    +	if(NULL != UserProcessInfo)
    +	{
    +		/* Use caller provided storage */
    +		pProcessInfo = UserProcessInfo;
    +	}
    +
    +	Status = RtlCreateUserProcess (& ImagePathString,
    +				       OBJ_CASE_INSENSITIVE,
    +				       ProcessParameters,
    +				       NULL,
    +				       NULL,
    +				       NULL,
    +				       FALSE,
    +				       NULL,
    +				       NULL,
    +				       pProcessInfo);
    +	if (!NT_SUCCESS(Status))
    +	{
    +		CHAR AnsiBuffer [MAX_PATH];
    +		INT i = 0;
    +		for(i=0;ImagePathString.Buffer[i];i++)
    +		{
    +			/* raw U -> A */
    +			AnsiBuffer [i] = (CHAR) (ImagePathString.Buffer[i] & 0xff);
    +		}
    +
    +		DPRINT1("SM: %s: Running \"%s\" failed (Status=0x%08lx)\n",
    +			AnsiBuffer, __FUNCTION__, Status);
    +		return Status;
    +	}
    +
    +	RtlDestroyProcessParameters (ProcessParameters);
    +
    +	/* Wait for process termination */
    +	if(WaitForIt)
    +	{
    +		NtWaitForSingleObject (pProcessInfo->ProcessHandle,
    +				       FALSE,
    +				       Timeout);
    +	}
    +
    +	/* Terminate process */
    +	if(TerminateIt)
    +	{
    +		NtClose(pProcessInfo->ThreadHandle);
    +		NtClose(pProcessInfo->ProcessHandle);
    +	}
    +	return STATUS_SUCCESS;
    +}
    +
    +/**********************************************************************
    + * NAME
    + *	SmLookupSubsystem/5
    + *
    + * DESCRIPTION
    + * 	Read from the registry key
    + * 	\Registry\SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems
    + * 	the value which name is Name.
    + *
    + * ARGUMENTS
    + * 	Name: name of the program to run, that is a value's name in
    + * 	      the SM registry key Subsystems;
    + * 	Data: what the registry gave back for Name;
    + * 	DataLength: how much Data the registry returns;
    + * 	DataType: what is Data?
    + * 	Expand: set it TRUE if you want this function to use the env
    + * 	      to possibly expand Data before giving it back.
    + */
    +NTSTATUS STDCALL
    +SmLookupSubsystem (IN     PWSTR   Name,
    +		   IN OUT PWSTR   Data,
    +		   IN OUT PULONG  DataLength,
    +		   IN OUT PULONG  DataType,
    +		   IN     BOOLEAN Expand)
    +{
    +	NTSTATUS           Status = STATUS_SUCCESS;
    +	UNICODE_STRING     usKeyName = {0};
    +	OBJECT_ATTRIBUTES  Oa = {0};
    +	HANDLE             hKey = (HANDLE) 0;
    +
    +	DPRINT("SM: %s called\n", __FUNCTION__);
    +	/*
    +	 * Prepare the key name to scan and
    +	 * related object attributes.
    +	 */
    +	RtlInitUnicodeString (& usKeyName,
    +		L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\SubSystems");
    +
    +	InitializeObjectAttributes (& Oa,
    +				    & usKeyName,
    +				    OBJ_CASE_INSENSITIVE,
    +				    NULL,
    +				    NULL);
    +	/*
    +	 * Open the key. This MUST NOT fail, if the
    +	 * request is for a legitimate subsystem.
    +	 */
    +	Status = NtOpenKey (& hKey,
    +			      MAXIMUM_ALLOWED,
    +			      & Oa);
    +	if(NT_SUCCESS(Status))
    +	{
    +		UNICODE_STRING usValueName = {0};
    +		WCHAR          KeyValueInformation [1024] = {L'\0'};
    +		ULONG          ResultLength = 0L;
    +		PKEY_VALUE_PARTIAL_INFORMATION
    +			       kvpi = (PKEY_VALUE_PARTIAL_INFORMATION) KeyValueInformation;
    +
    +		
    +		RtlInitUnicodeString (& usValueName, Name);
    +		Status = NtQueryValueKey (hKey,
    +					  & usValueName,
    +					  KeyValuePartialInformation,
    +					  KeyValueInformation,
    +					  sizeof KeyValueInformation,
    +					  & ResultLength);
    +		if(NT_SUCCESS(Status))
    +		{
    +			DPRINT("nkvpi.TitleIndex = %ld\n", kvpi->TitleIndex);
    +			DPRINT("kvpi.Type        = %ld\n", kvpi->Type);
    +			DPRINT("kvpi.DataLength  = %ld\n", kvpi->DataLength);
    +
    +			if((NULL != Data) && (NULL != DataLength) && (NULL != DataType))
    +			{
    +				*DataType = kvpi->Type;
    +				if((Expand) && (REG_EXPAND_SZ == *DataType))
    +				{
    +					UNICODE_STRING Source;
    +					WCHAR          DestinationBuffer [2048] = {0};
    +					UNICODE_STRING Destination;
    +					ULONG          Length = 0;
    +
    +					DPRINT("SM: %s: value will be expanded\n", __FUNCTION__);
    +
    +					Source.Length        = kvpi->DataLength;
    +					Source.MaximumLength = kvpi->DataLength;
    +					Source.Buffer        = (PWCHAR) & kvpi->Data;
    +
    +					Destination.Length        = 0;
    +					Destination.MaximumLength = sizeof DestinationBuffer;
    +					Destination.Buffer        = DestinationBuffer;
    +
    +					Status = RtlExpandEnvironmentStrings_U (SmSystemEnvironment,
    +										& Source,
    +										& Destination,
    +										& Length);
    +					if(NT_SUCCESS(Status))
    +					{
    +						*DataLength = min(*DataLength, Destination.Length);
    +						RtlCopyMemory (Data, Destination.Buffer, *DataLength);				
    +					}
    +							
    +				}else{
    +					DPRINT("SM: %s: value won't be expanded\n", __FUNCTION__);
    +					*DataLength = min(*DataLength, kvpi->DataLength);
    +					RtlCopyMemory (Data, & kvpi->Data, *DataLength);
    +				}
    +				*DataType = kvpi->Type;
    +			}else{
    +				DPRINT1("SM: %s: Data or DataLength or DataType is NULL!\n", __FUNCTION__);
    +				Status = STATUS_INVALID_PARAMETER;
    +			}
    +		}else{
    +			DPRINT1("%s: NtQueryValueKey failed (Status=0x%08lx)\n", __FUNCTION__, Status);
    +		}
    +		NtClose (hKey);
    +	}else{
    +		DPRINT1("%s: NtOpenKey failed (Status=0x%08lx)\n", __FUNCTION__, Status);
    +	}
    +	return Status;
    +}
    +
    +
    +/**********************************************************************
    + * SmExecPgm/1							API
    + */
    +SMAPI(SmExecPgm)
    +{
    +	PSM_PORT_MESSAGE_EXECPGM ExecPgm = NULL;
    +	WCHAR                    Name [SM_EXEXPGM_MAX_LENGTH + 1];
    +	NTSTATUS                 Status = STATUS_SUCCESS;
    +
    +	DPRINT("SM: %s called\n",__FUNCTION__);
    +
    +	if(NULL == Request)
    +	{
    +		DPRINT1("SM: %s: Request == NULL!\n", __FUNCTION__);
    +		return STATUS_INVALID_PARAMETER;
    +	}
    +	DPRINT("SM: %s called from CID(%lx|%lx)\n",
    +		__FUNCTION__, Request->Header.ClientId.UniqueProcess,
    +		Request->Header.ClientId.UniqueThread);
    +	ExecPgm = & Request->ExecPgm;
    +	/* Check if the name lenght is valid */
    +	if((ExecPgm->NameLength > 0) &&
    +	   (ExecPgm->NameLength <= SM_EXEXPGM_MAX_LENGTH) &&
    +	   TRUE /* TODO: check LPC payload size */)
    +	{
    +		
    +		RtlZeroMemory (Name, sizeof Name);
    +		RtlCopyMemory (Name,
    +			       ExecPgm->Name,
    +			       (sizeof ExecPgm->Name[0] * ExecPgm->NameLength));
    +		DPRINT("SM: %s: Name=[%wZ]\n", __FUNCTION__, Name);
    +		/*
    +		 * Check if program name is internal
    +		 * (Is this correct? Debug is in the registry too)
    +		 */
    +		if(0 == _wcsicmp(L"DEBUG", Name))
    +		{
    +			/*
    +			 * Initialize DBGSS.
    +			 * NOTE: probably in early prototypes it was an
    +			 * independent process; now it is embedded in the
    +			 * SM for performance or security.
    +			 */
    +			Request->Status = SmInitializeDbgSs();
    +		}
    +		else
    +		{
    +			WCHAR ImagePath [1024] = {0};
    +			ULONG ImagePathLength = sizeof ImagePath;
    +			ULONG ImagePathType = REG_EXPAND_SZ;
    +
    +			/* Lookup Name in the registry */
    +			Status = SmLookupSubsystem (Name,
    +						    ImagePath,
    +						    & ImagePathLength,
    +						    & ImagePathType,
    +						    TRUE); /* expand */
    +			if(NT_SUCCESS(Status))
    +			{
    +				/* Create native process */
    +				Request->Status = SmCreateUserProcess(ImagePath,
    +								      L"", /* FIXME */
    +								      FALSE, /* wait */
    +				      				      NULL,
    +			      					      FALSE, /* terminate */
    +			      					      NULL);
    +			}else{
    +				Request->Status = Status;
    +			}
    +		}
    +	}
    +	else
    +	{
    +		Request->Status = Status = STATUS_INVALID_PARAMETER;
    +	}
    +	return Status;
    +}
    +
    +/* EOF */
    diff --git a/reactos/subsys/smss/smss.c b/reactos/subsys/smss/smss.c
    index 80ee0e6daa6..d95e54a39c0 100644
    --- a/reactos/subsys/smss/smss.c
    +++ b/reactos/subsys/smss/smss.c
    @@ -25,18 +25,38 @@
      */
     #include "smss.h"
     #include 
    +#include 
     
     #define NDEBUG
     #include 
     
    +HANDLE SmSsProcessId = 0;
    +
     /* Native image's entry point */
     
     VOID STDCALL
     NtProcessStartup(PPEB Peb)
     {
       NTSTATUS Status;
    +  PROCESS_BASIC_INFORMATION PBI = {0};
    +  
    +  DisplayString(L"SMSS\n");
    +  PrintString("ReactOS Session Manager %s (Build %s)\n",
    +	     KERNEL_RELEASE_STR,
    +	     KERNEL_VERSION_BUILD_STR);
     
    -  Status = InitSessionManager(Children);
    +  /* Lookup yourself */
    +  Status = NtQueryInformationProcess (NtCurrentProcess(),
    +		    		      ProcessBasicInformation,
    +				      & PBI,
    +				      sizeof PBI,
    +      				      NULL);
    +  if(NT_SUCCESS(Status))
    +  {
    +	  SmSsProcessId = PBI.UniqueProcessId;
    +  }
    +  /* Initialize the system */
    +  Status = InitSessionManager();
       if (!NT_SUCCESS(Status))
         {
           int i;
    @@ -58,7 +78,7 @@ NtProcessStartup(PPEB Peb)
     				    NULL);	/* NULL for infinite */
       if (!NT_SUCCESS(Status))
         {
    -      DPRINT1("SM: NtWaitForMultipleObjects failed!\n");
    +      DPRINT1("SM: NtWaitForMultipleObjects failed! (Status=0x%08lx)\n", Status);
         }
       else
         {
    diff --git a/reactos/subsys/smss/smss.h b/reactos/subsys/smss/smss.h
    index 0a8a3d1dee5..2bd3480616e 100644
    --- a/reactos/subsys/smss/smss.h
    +++ b/reactos/subsys/smss/smss.h
    @@ -4,15 +4,19 @@
     #define NTOS_MODE_USER
     #include 
     #include 
    +#include 
     
     #define CHILD_CSRSS     0
     #define CHILD_WINLOGON  1
     
    +/* smss.c */
    +extern HANDLE SmSsProcessId;
    +
     /* init.c */
    -extern HANDLE SmpHeap;
    -NTSTATUS InitSessionManager(HANDLE Children[]);
    +NTSTATUS InitSessionManager(VOID);
     
     /* initheap.c */
    +extern HANDLE SmpHeap;
     NTSTATUS SmCreateHeap(VOID);
     
     /* initenv.c */
    @@ -49,19 +53,57 @@ NTSTATUS SmRunCsrss(VOID);
     NTSTATUS SmRunWinlogon(VOID);
     
     /* smapi.c */
    +#define SMAPI(n) \
    +NTSTATUS FASTCALL n (PSM_PORT_MESSAGE Request)
    +
    +/* smapiexec.c */
    +NTSTATUS STDCALL SmCreateUserProcess(LPWSTR ImagePath,
    +				     LPWSTR CommandLine,
    +				     BOOLEAN WaitForIt,
    +				     PLARGE_INTEGER Timeout OPTIONAL,
    +				     BOOLEAN TerminateIt,
    +				     PRTL_PROCESS_INFO ProcessInfo OPTIONAL);
    +NTSTATUS STDCALL
    +SmLookupSubsystem (IN     PWSTR   Name,
    +		   IN OUT PWSTR   Data,
    +		   IN OUT PULONG  DataLength,
    +		   IN OUT PULONG  DataType,
    +		   IN     BOOLEAN Expand);
    +NTSTATUS FASTCALL SmExecPgm(PSM_PORT_MESSAGE);
    +
    +/* smapicomp.c */
    +NTSTATUS FASTCALL SmCompSes(PSM_PORT_MESSAGE);
    +
     NTSTATUS SmCreateApiPort(VOID);
    -VOID STDCALL SmpApiThread(HANDLE Port);
    +VOID STDCALL SmpApiThread(PVOID);
     
     /* client.c */
    +typedef struct _SM_CLIENT_DATA
    +{
    +	USHORT	SubsystemId;
    +	BOOL	Initialized;
    +	HANDLE	ServerProcess;
    +	HANDLE	ApiPort;
    +	HANDLE	ApiPortThread;
    +	HANDLE	SbApiPort;
    +	WCHAR	SbApiPortName [SM_SB_NAME_MAX_LENGTH];
    +	struct _SM_CLIENT_DATA * Next;
    +	
    +} SM_CLIENT_DATA, *PSM_CLIENT_DATA;
     NTSTATUS SmInitializeClientManagement(VOID);
    -NTSTATUS STDCALL SmpCreateClient(SM_PORT_MESSAGE);
    -NTSTATUS STDCALL SmpDestroyClient(ULONG);
    +NTSTATUS SmpRegisterSmss(VOID);
    +NTSTATUS STDCALL SmCreateClient(PSM_PORT_MESSAGE,PSM_CLIENT_DATA*);
    +NTSTATUS STDCALL SmDestroyClient(ULONG);
     
     /* debug.c */
     extern HANDLE DbgSsApiPort;
     extern HANDLE DbgUiApiPort;
     NTSTATUS SmInitializeDbgSs(VOID);
     
    +/* print.c */
    +VOID STDCALL DisplayString(LPCWSTR lpwString);
    +VOID STDCALL PrintString (char* fmt, ...);
    +
     #endif /* _SMSS_H_INCLUDED_ */
     
     /* EOF */
    diff --git a/reactos/subsys/smss/smss.xml b/reactos/subsys/smss/smss.xml
    index c71a07130dc..930edeb9110 100644
    --- a/reactos/subsys/smss/smss.xml
    +++ b/reactos/subsys/smss/smss.xml
    @@ -2,8 +2,10 @@
     	.
     	
     	ntdll
    +	smdll
    +	-lgcc
     	client.c
    -	Debug.c
    +	debug.c
     	init.c
     	initdosdev.c
     	initenv.c
    @@ -15,7 +17,10 @@
     	initrun.c
     	initss.c
     	initwkdll.c
    +	print.c
     	smapi.c
    +	smapicomp.c
    +	smapiexec.c
     	smss.c
     	smss.rc
     
    diff --git a/reactos/subsys/system/calc/De.rc b/reactos/subsys/system/calc/De.rc
    new file mode 100644
    index 00000000000..aac23e3693b
    --- /dev/null
    +++ b/reactos/subsys/system/calc/De.rc
    @@ -0,0 +1,155 @@
    +/*
    + * WineCalc (DE.rc)
    + *
    + * Copyright 2005 Rouven Wessling
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "windows.h"
    +#include "resource.h"
    +#include "winecalc.h"
    +
    +LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
    +
    +STRINGTABLE DISCARDABLE
    +{
    +   IDS_APPNAME,            "Rechner"
    +
    +   IDS_COPYRIGHT1,         "Calculator 5.0. Lizensiert unter der LGPL 2"
    +   IDS_COPYRIGHT2          "Copyright 2003, James Briggs"
    +   IDS_COPYRIGHT3          "San Jose, California, USA"
    +   IDS_COPYRIGHT4          "james@ActionMessage.com"
    +   IDS_COPYRIGHT5          "http://www.ActionMessage.com/winecalc/"
    +
    +   IDS_BTN_BACKSPACE,      "Rücktaste"
    +   IDS_BTN_CLEAR_ENTRY,    "CE"
    +   IDS_BTN_CLEAR_ALL,      "C"
    +   IDS_BTN_MEM_CLEAR,      "MC"
    +   IDS_BTN_MEM_RECALL,     "MR"
    +   IDS_BTN_MEM_STORE,      "MS"
    +   IDS_BTN_MEM_PLUS,       "M+"
    +   IDS_BTN_MEM_STATUS_M,   "M"
    +   IDS_BTN_SQRT,           "sqrt"
    +   IDS_ERR_INVALID_INPUT,  "Ungültige Eingabe für funktion."
    +   IDS_ERR_DIVIDE_BY_ZERO, "Teilen durch 0 unmöglich."
    +   IDS_ERR_UNDEFINED,      "Das Ergebnis der funktion is undefiniert."
    +}
    +
    +MAIN_MENU MENU DISCARDABLE
    +{
    +   POPUP "&Bearbeiten" {
    +      MENUITEM "&Kopieren Ctrl+C",     IDM_COPY
    +      MENUITEM "&Einfügen Ctrl+V",    IDM_PASTE
    +   }
    +   POPUP "&Ansicht" {
    +      MENUITEM "&Standard",         IDM_MODE_STANDARD
    +      MENUITEM "&Wissenschaftlich",       IDM_MODE_SCIENTIFIC
    +      MENUITEM SEPARATOR
    +      MENUITEM "&Zifferngruppierung",   IDM_DIGIT_GROUPING
    +   }
    +   POPUP "&?" {
    +      MENUITEM "&Hilfethemen",      IDM_HELP_TOPICS
    +      MENUITEM SEPARATOR
    +      MENUITEM "&Info", IDM_ABOUT
    +   }
    +}
    +
    +SCIMS_MENU MENU DISCARDABLE
    +{
    +   POPUP "&Bearbeiten" {
    +      MENUITEM "&Kopiren Ctrl+C",     IDM_COPY
    +      MENUITEM "&Einfügen Ctrl+V",    IDM_PASTE
    +   }
    +   POPUP "&Anzeige" {
    +      MENUITEM "&Standard",         IDM_MODE_STANDARD
    +      MENUITEM "&Wissenschaftlich",       IDM_MODE_SCIENTIFIC
    +      MENUITEM SEPARATOR
    +	  MENUITEM "&Hex\tF5",          ID_CALC_NS_HEX
    +	  MENUITEM "De&zimal\tF6",      ID_CALC_NS_DEC
    +	  MENUITEM "O&ktal\tF7",        ID_CALC_NS_OCT
    +	  MENUITEM "&Binär\tF8",       ID_CALC_NS_BIN
    +      MENUITEM SEPARATOR
    +      MENUITEM "&Deg\tF2",      ID_CALC_MS_DEGREES
    +      MENUITEM "&Rad\tF3",      ID_CALC_MS_RADIANS
    +	  MENUITEM "&Grad\tF4",        ID_CALC_MS_GRADS
    +      MENUITEM SEPARATOR
    +      MENUITEM "Zifferngr&uppierung",   IDM_DIGIT_GROUPING
    +   }
    +   POPUP "&?" {
    +      MENUITEM "&Hilfethemen",      IDM_HELP_TOPICS
    +      MENUITEM SEPARATOR
    +      MENUITEM "&Info", IDM_ABOUT
    +   }
    +}
    +
    +SCIWS_MENU MENU DISCARDABLE
    +{
    +   POPUP "&Bearbeiten" {
    +      MENUITEM "&Kopieren Ctrl+C",     IDM_COPY
    +      MENUITEM "&Einfügen Ctrl+V",    IDM_PASTE
    +   }
    +   POPUP "&Anzeige" {
    +      MENUITEM "&Standard",         IDM_MODE_STANDARD
    +      MENUITEM "&Wissenschaftlich",       IDM_MODE_SCIENTIFIC
    +      MENUITEM SEPARATOR
    +	  MENUITEM "&Hex\tF5",          ID_CALC_NS_HEX
    +	  MENUITEM "De&zimal\tF6",      ID_CALC_NS_DEC
    +	  MENUITEM "O&ktal\tF7",        ID_CALC_NS_OCT
    +	  MENUITEM "&Binär\tF8",       ID_CALC_NS_BIN
    +      MENUITEM SEPARATOR
    +	  MENUITEM "&Qword\tF12",       ID_CALC_WS_QWORD
    +	  MENUITEM "Dw&ord\tF2",        ID_CALC_WS_DWORD
    +	  MENUITEM "Wo&rd\tF3",         ID_CALC_WS_WORD
    +	  MENUITEM "&Byte\tF4",         ID_CALC_WS_BYTE
    +      MENUITEM SEPARATOR
    +      MENUITEM "&Zifferngruppierung",   IDM_DIGIT_GROUPING
    +   }
    +   POPUP "&?" {
    +      MENUITEM "&Hilfethemen",      IDM_HELP_TOPICS
    +      MENUITEM SEPARATOR
    +      MENUITEM "&Info", IDM_ABOUT
    +   }
    +}
    +
    +MAIN_MENU ACCELERATORS
    +BEGIN
    +   VK_F1, IDV_HELP,     VIRTKEY
    +END
    +
    +DLG_ABOUT DIALOG 12,0,120,82
    +CAPTION "Info über GNU winecalc"
    +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
    +BEGIN
    +   DEFPUSHBUTTON "OK", IDOK,       42, 60, 30, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
    +END
    +
    +WHATS_THIS_MENU MENU DISCARDABLE
    +{
    +    POPUP "" {
    +      MENUITEM "Was ist das?",     IDM_WHATS_THIS
    +   }
    +}
    +
    +DLG_STATS DIALOG 12,0,125,78
    +CAPTION "Statistics Box"
    +FONT 9, "Tahoma"
    +STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
    +BEGIN
    +   DEFPUSHBUTTON "&RET",  ID_STATS_RET,   4, 52, 25, 13, WS_TABSTOP | WS_GROUP
    +   PUSHBUTTON    "&LOAD", ID_STATS_LOAD, 34, 52, 25, 13, WS_TABSTOP | WS_GROUP
    +   PUSHBUTTON    "&CD"    ID_STATS_CD,   64, 52, 25, 13, WS_TABSTOP | WS_GROUP
    +   PUSHBUTTON    "C&AD",  ID_STATS_CAD,  94, 52, 25, 13, WS_TABSTOP | WS_GROUP
    +END
    diff --git a/reactos/subsys/system/calc/calc.rc b/reactos/subsys/system/calc/calc.rc
    index 27069ea06d3..734bca2a16c 100644
    --- a/reactos/subsys/system/calc/calc.rc
    +++ b/reactos/subsys/system/calc/calc.rc
    @@ -4,3 +4,5 @@
     #include 
     
     #include "rsrc.rc"
    +#include "De.rc"
    +
    diff --git a/reactos/subsys/system/directory.xml b/reactos/subsys/system/directory.xml
    index 499454c9840..b54bc332368 100644
    --- a/reactos/subsys/system/directory.xml
    +++ b/reactos/subsys/system/directory.xml
    @@ -22,9 +22,6 @@
     
     	
     
    -
    -	
    -
     
     	
     
    diff --git a/reactos/subsys/system/explorer/Jamfile b/reactos/subsys/system/explorer/Jamfile
    index e0720405d48..7f4de0d38f0 100644
    --- a/reactos/subsys/system/explorer/Jamfile
    +++ b/reactos/subsys/system/explorer/Jamfile
    @@ -7,8 +7,7 @@
     import rc-mingw ;
     
     
    -# -I$(INCLUDE) wird von jam offenbar ignoriert, ist aber notwendig, wenn die Headerfiles des
    -# Plattform SDK anstatt der veralteten im MSDEV-Installationsverzeichnis verwendet werden sollen.
    +EXPAT_INC = [ modules.peek : EXPAT_INC ] ;
     
     exe explorer :
     	explorer.cpp
    @@ -44,8 +43,8 @@ exe explorer :
     	dialogs/settings.cpp
     	i386-stub-win32.c
      :	WIN32 _WIN32_IE=0x0600 _WIN32_WINNT=0x0501 WINVER=0x0500
    -	-I$(INCLUDE) -I.
    -#nur für GCC:	-fexceptions -Wall
    +	. $(EXPAT_INC)
    +# only for GCC:	-fexceptions -Wall
     	gdi32
     	ole32
     	comctl32
    diff --git a/reactos/subsys/system/explorer/Makefile b/reactos/subsys/system/explorer/Makefile
    index fc6aa4ab0fa..27f6852474c 100644
    --- a/reactos/subsys/system/explorer/Makefile
    +++ b/reactos/subsys/system/explorer/Makefile
    @@ -5,20 +5,31 @@
     #
     
     PATH_TO_TOP := ../../..
    +
     TARGET_TYPE := program
    +
     TARGET_APPTYPE := windows
    +
     TARGET_NAME := explorer
    +
     TARGET_INSTALLDIR := .
    +
     TARGET_CFLAGS := \
     	-D__USE_W32API -DWIN32 -D_ROS_ \
     	-D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 \
    -	-DUNICODE -fexceptions -Wall
    +	-DUNICODE -fexceptions -Wall \
    +	-I../../../include/expat
    +
     TARGET_CPPFLAGS := $(TARGET_CFLAGS)
    +
     TARGET_RCFLAGS := -D__USE_W32API -DWIN32 -D_ROS_ -D__WINDRES__
    +
     TARGET_SDKLIBS := \
     	gdi32.a comctl32.a ole32.a oleaut32.a shell32.a expat.a \
     	notifyhook.a ws2_32.a msimg32.a
    +
     TARGET_GCCLIBS := stdc++ uuid
    +
     TARGET_OBJECTS := \
     	explorer.o \
     	i386-stub-win32.o \
    @@ -50,13 +61,15 @@ TARGET_OBJECTS := \
     	utility/dragdropimpl.o \
     	utility/shellbrowserimpl.o \
     	utility/xmlstorage.o
    +
     TARGET_CPPAPP := yes
    +
     TARGET_PCH := precomp.h
    +
     SUBDIRS := notifyhook
    +
     DEP_OBJECTS := $(TARGET_OBJECTS)
     
     include $(PATH_TO_TOP)/rules.mak
    -
     include $(TOOLS_PATH)/helper.mk
    -
     include $(TOOLS_PATH)/depend.mk
    diff --git a/reactos/subsys/system/explorer/Makefile.MinGW b/reactos/subsys/system/explorer/Makefile.MinGW
    index d6356477d51..569efe10674 100644
    --- a/reactos/subsys/system/explorer/Makefile.MinGW
    +++ b/reactos/subsys/system/explorer/Makefile.MinGW
    @@ -9,7 +9,7 @@ CXX = g++
     LINK = g++
     
     # -D_NO_ALPHABLEND for builds without msimg32.dll dependency
    -CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I.
    +CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC)
     RCFLAGS	= -DWIN32 -D__WINDRES__
     LFLAGS	= -Wl,--subsystem,windows
     
    diff --git a/reactos/subsys/system/explorer/Makefile.PCH b/reactos/subsys/system/explorer/Makefile.PCH
    index 2d71f5e9feb..35c1a6dcfe2 100644
    --- a/reactos/subsys/system/explorer/Makefile.PCH
    +++ b/reactos/subsys/system/explorer/Makefile.PCH
    @@ -10,7 +10,7 @@ CC = gcc
     CXX = g++
     LINK = g++
     
    -CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I.
    +CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC)
     RCFLAGS	= -DWIN32 -D__WINDRES__
     LFLAGS	= -Wl,--subsystem,windows
     
    diff --git a/reactos/subsys/system/explorer/desktop/desktop.cpp b/reactos/subsys/system/explorer/desktop/desktop.cpp
    index 626c1689439..41b08b21786 100644
    --- a/reactos/subsys/system/explorer/desktop/desktop.cpp
    +++ b/reactos/subsys/system/explorer/desktop/desktop.cpp
    @@ -612,6 +612,7 @@ HRESULT DesktopShellView::DoDesktopContextMenu(int x, int y)
     			hr = pcm->QueryContextMenu(hmenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST-1, CMF_NORMAL|CMF_EXPLORE);
     
     			if (SUCCEEDED(hr)) {
    +				AppendMenu(hmenu, 0, FCIDM_SHVIEWLAST-3, ResString(IDS_PROPERTIES_EXPLORER));
     				AppendMenu(hmenu, MF_SEPARATOR, 0, NULL);
     				AppendMenu(hmenu, 0, FCIDM_SHVIEWLAST-1, ResString(IDS_ABOUT_EXPLORER));
     
    @@ -619,6 +620,24 @@ HRESULT DesktopShellView::DoDesktopContextMenu(int x, int y)
     
     				_cm_ifs.reset();
     
    +				if (idCmd == FCIDM_SHVIEWLAST-3) {
    +					ShellExecute (_hwnd, _T("open"), _T("c:\\reactos\\system32\\rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0"), NULL, NULL, SW_SHOWNORMAL);
    +
    +
    +					//explorer_about(_hwnd);
    +					//system("c:\\reactos\\system32\\cmd.exe");
    +					
    +					//ShellExecute (_hwnd, _T("open"), _T("%SystemRoot%\\system32\\cmd.exe"), NULL, NULL, SW_SHOWNORMAL);
    +					
    +					  //ShellExecute(NULL,"open","c:\\windows\\system32\\cmd.exe",NULL,NULL,SW_SHOWNORMAL);
    +					//WCHAR* pFile="%SystemRoot%\system32\cmd.exe";
    +					//int rcode;
    +					 //TCHAR pFile[256];
    +					 //strcopy("%SystemRoot%\\system32\\cmd.exe",pFile);
    +					 //ShellExecute(NULL, NULL, pFile, NULL, "C:\\", SW_SHOW);
    +					//HINSTANCE rcode=ShellExecute(NULL, "open", pFile, NULL, "C:\\", SW_SHOW);
    +					//ShellExecute(hwnd, __TEXT("open"), __TEXT("%SystemRoot%\system32\cmd.exe"), __TEXT("c:\"), SH_SHOW); 
    +				}
     				if (idCmd == FCIDM_SHVIEWLAST-1) {
     					explorer_about(_hwnd);
     				} else if (idCmd) {
    diff --git a/reactos/subsys/system/explorer/explorer.xml b/reactos/subsys/system/explorer/explorer.xml
    index 468625f38ae..7994c7d89fe 100644
    --- a/reactos/subsys/system/explorer/explorer.xml
    +++ b/reactos/subsys/system/explorer/explorer.xml
    @@ -1,6 +1,7 @@
     
     	-fexceptions
     	.
    +	include/expat
     	
     	
     	
    @@ -8,6 +9,7 @@
     	0x0600
     	0x0501
     	0x0500
    +	
     	uuid
     	kernel32
     	gdi32
    diff --git a/reactos/subsys/system/explorer/explorer_intres.h b/reactos/subsys/system/explorer/explorer_intres.h
    index 65019d11811..94f13f4737c 100644
    --- a/reactos/subsys/system/explorer/explorer_intres.h
    +++ b/reactos/subsys/system/explorer/explorer_intres.h
    @@ -46,6 +46,7 @@
     #define IDS_NOTIFY_AUTOHIDE             42
     #define IDS_SHOW_HIDDEN_ICONS           43
     #define IDS_HIDE_ICONS                  44
    +#define IDS_PROPERTIES_EXPLORER         45
     #define IDI_REACTOS                     100
     #define IDI_EXPLORER                    101
     #define IDI_STARTMENU                   102
    diff --git a/reactos/subsys/system/explorer/explorer_intres.rc b/reactos/subsys/system/explorer/explorer_intres.rc
    index ae63eb852c5..cd25356988f 100644
    --- a/reactos/subsys/system/explorer/explorer_intres.rc
    +++ b/reactos/subsys/system/explorer/explorer_intres.rc
    @@ -1103,6 +1103,7 @@ BEGIN
         IDS_ALL_USERS           "All Users\\"
         IDS_SEARCH              "Search"
         IDS_ABOUT_EXPLORER      "&About Explorer..."
    +    IDS_PROPERTIES_EXPLORER "&Properties"
         IDS_LAUNCH_MANY_PROGRAMS 
                                 "You have selected more than one program.\nAre you sure you want to launch all of them?"
         IDS_DESKTOPBAR_SETTINGS "Desktop Settings"
    diff --git a/reactos/subsys/system/explorer/res/reactos.ico b/reactos/subsys/system/explorer/res/reactos.ico
    index 492e388a939..9de75081b22 100644
    Binary files a/reactos/subsys/system/explorer/res/reactos.ico and b/reactos/subsys/system/explorer/res/reactos.ico differ
    diff --git a/reactos/subsys/system/explorer/res/startmenu.ico b/reactos/subsys/system/explorer/res/startmenu.ico
    index 57d75df66af..4dbf601bbae 100644
    Binary files a/reactos/subsys/system/explorer/res/startmenu.ico and b/reactos/subsys/system/explorer/res/startmenu.ico differ
    diff --git a/reactos/subsys/system/explorer/shell/webchild.h b/reactos/subsys/system/explorer/shell/webchild.h
    index 458adf544fe..315a4e7d041 100644
    --- a/reactos/subsys/system/explorer/shell/webchild.h
    +++ b/reactos/subsys/system/explorer/shell/webchild.h
    @@ -347,7 +347,7 @@ public:
     		*lprcClipRect = rect;
     
     		assert(lpFrameInfo->cb>=sizeof(OLEINPLACEFRAMEINFO));
    -		lpFrameInfo->fMDIApp = FALSE;
    +		lpFrameInfo->fMDIApp = FALSE;	//@@
     		lpFrameInfo->hwndFrame = 0;
     		lpFrameInfo->haccel = 0;
     		lpFrameInfo->cAccelEntries = 0;
    diff --git a/reactos/subsys/system/explorer/taskbar/favorites.cpp b/reactos/subsys/system/explorer/taskbar/favorites.cpp
    index dc9ad6d8fdb..117bece535a 100644
    --- a/reactos/subsys/system/explorer/taskbar/favorites.cpp
    +++ b/reactos/subsys/system/explorer/taskbar/favorites.cpp
    @@ -455,9 +455,11 @@ void Favorites::write(LPCTSTR path) const
     	super::write(pos);
     	pos.back();
     
    -	xbel.write(path, XMLNode::FORMAT_SMART, XMLHeader("1.0", "UTF-8", ""));
    +		" \"http://www.python.org/topics/xml/dtds/xbel-1.0.dtd\">";
    +
    +	xbel.write(path);
     }
     
      /// import Internet Explorer bookmarks from Favorites folder
    diff --git a/reactos/subsys/system/explorer/utility/xmlstorage.cpp b/reactos/subsys/system/explorer/utility/xmlstorage.cpp
    index 51019f3ebab..1da629a3bad 100644
    --- a/reactos/subsys/system/explorer/utility/xmlstorage.cpp
    +++ b/reactos/subsys/system/explorer/utility/xmlstorage.cpp
    @@ -426,11 +426,22 @@ std::string XMLReaderBase::get_error_string() const
     	  case XML_ERROR_UNBOUND_PREFIX:					return "XML_ERROR_UNBOUND_PREFIX";
      // EXPAT version >= 1.95.8
     #if XML_MAJOR_VERSION>1 || (XML_MAJOR_VERSION==1 && XML_MINOR_VERSION>95) || (XML_MAJOR_VERSION==1 && XML_MINOR_VERSION==95 && XML_MICRO_VERSION>7)
    +	  case XML_ERROR_UNDECLARING_PREFIX:				return "XML_ERROR_UNDECLARING_PREFIX";
    +	  case XML_ERROR_INCOMPLETE_PE:						return "XML_ERROR_INCOMPLETE_PE";
    +	  case XML_ERROR_XML_DECL:							return "XML_ERROR_XML_DECL";
    +	  case XML_ERROR_TEXT_DECL:							return "XML_ERROR_TEXT_DECL";
    +	  case XML_ERROR_PUBLICID:							return "XML_ERROR_PUBLICID";
     	  case XML_ERROR_SUSPENDED:							return "XML_ERROR_SUSPENDED";
     	  case XML_ERROR_NOT_SUSPENDED:						return "XML_ERROR_NOT_SUSPENDED";
     	  case XML_ERROR_ABORTED:							return "XML_ERROR_ABORTED";
     	  case XML_ERROR_FINISHED:							return "XML_ERROR_FINISHED";
     	  case XML_ERROR_SUSPEND_PE:						return "XML_ERROR_SUSPEND_PE";
    +//#endif
    +//#if XML_MAJOR_VERSION>=2
    +		/* Added in 2.0. */
    +	  case XML_ERROR_RESERVED_PREFIX_XML:				return "XML_ERROR_RESERVED_PREFIX_XML";
    +	  case XML_ERROR_RESERVED_PREFIX_XMLNS:				return "XML_ERROR_RESERVED_PREFIX_XMLNS";
    +	  case XML_ERROR_RESERVED_NAMESPACE_URI:			return "XML_ERROR_RESERVED_NAMESPACE_URI";
     #endif
     	}
     
    diff --git a/reactos/subsys/system/explorer/utility/xmlstorage.h b/reactos/subsys/system/explorer/utility/xmlstorage.h
    index 60b5fab1daf..d57cd0cd937 100644
    --- a/reactos/subsys/system/explorer/utility/xmlstorage.h
    +++ b/reactos/subsys/system/explorer/utility/xmlstorage.h
    @@ -612,6 +612,23 @@ struct XMLNode : public XS_String
     		return out;
     	}
     
    +protected:
    +	Children _children;
    +	AttributeMap _attributes;
    +
    +	std::string _leading;
    +	std::string _content;
    +	std::string _end_leading;
    +	std::string _trailing;
    +
    +	XMLNode* get_first_child() const
    +	{
    +		if (!_children.empty())
    +			return _children.front();
    +		else
    +			return NULL;
    +	}
    +
     	XMLNode* find(const XS_String& name, int n=0) const
     	{
     		for(Children::const_iterator it=_children.begin(); it!=_children.end(); ++it)
    @@ -670,23 +687,6 @@ struct XMLNode : public XS_String
     	 /// relative XPath create function
     	XMLNode* create_relative(const char* path);
     
    -protected:
    -	Children _children;
    -	AttributeMap _attributes;
    -
    -	std::string _leading;
    -	std::string _content;
    -	std::string _end_leading;
    -	std::string _trailing;
    -
    -	XMLNode* get_first_child() const
    -	{
    -		if (!_children.empty())
    -			return _children.front();
    -		else
    -			return NULL;
    -	}
    -
     	void write_worker(std::ostream& out, int indent) const;
     	void pretty_write_worker(std::ostream& out, int indent) const;
     	void smart_write_worker(std::ostream& out, int indent) const;
    @@ -1533,6 +1533,8 @@ struct XMLReaderBase
     		return out.str();
     	}
     
    +	std::string get_instructions() const {return _instructions;}
    +
     	XML_Error	get_error_code() {return XML_GetErrorCode(_parser);}
     	std::string get_error_string() const;
     
    @@ -1541,6 +1543,7 @@ protected:
     	XML_Parser	_parser;
     	std::string _xml_version;
     	std::string _encoding;
    +	std::string	_instructions;
     
     	std::string _content;
     	enum {TAG_NONE, TAG_START, TAG_END} _last_tag;
    @@ -1592,11 +1595,14 @@ struct XMLHeader
     
     		if (!_doctype.empty())
     			out << _doctype << '\n';
    +		if (!_additional.empty())
    +			out << _additional << '\n';
     	}
     
     	std::string _version;
     	std::string _encoding;
     	std::string _doctype;
    +	std::string _additional;
     };
     
     
    @@ -1640,6 +1646,8 @@ struct XMLDoc : public XMLNode
     	{
     		XML_Status status = reader.read();
     
    +		_header._additional = reader.get_instructions();
    +
     		if (status == XML_STATUS_ERROR) {
     			std::ostringstream out;
     
    @@ -1656,6 +1664,8 @@ struct XMLDoc : public XMLNode
     	{
     		XML_Status status = reader.read();
     
    +		_header._additional = reader.get_instructions();
    +
     		if (status == XML_STATUS_ERROR) {
     			std::ostringstream out;
     
    @@ -1669,9 +1679,9 @@ struct XMLDoc : public XMLNode
     	}
     
     	 /// write XML stream preserving previous white space and comments
    -	std::ostream& write(std::ostream& out, WRITE_MODE mode=FORMAT_SMART, const XMLHeader& header=XMLHeader()) const
    +	std::ostream& write(std::ostream& out, WRITE_MODE mode=FORMAT_SMART) const
     	{
    -		header.print(out);
    +		_header.print(out);
     
     		if (!_children.empty())
     			_children.front()->write(out);
    @@ -1685,11 +1695,11 @@ struct XMLDoc : public XMLNode
     		return write(out, FORMAT_PRETTY);
     	}
     
    -	void write(LPCTSTR path, WRITE_MODE mode=FORMAT_SMART, const XMLHeader& header=XMLHeader()) const
    +	void write(LPCTSTR path, WRITE_MODE mode=FORMAT_SMART) const
     	{
     		tofstream out(path);
     
    -		write(out, mode, header);
    +		write(out, mode);
     	}
     
     	void write_formating(LPCTSTR path) const
    @@ -1699,6 +1709,7 @@ struct XMLDoc : public XMLNode
     		write_formating(out);
     	}
     
    +	XMLHeader	_header;
     	XML_Error	_last_error;
     	std::string _last_error_msg;
     };
    diff --git a/reactos/subsys/system/ibrowser/Makefile b/reactos/subsys/system/ibrowser/Makefile
    index 0a5113de54d..1abc8a1356a 100644
    --- a/reactos/subsys/system/ibrowser/Makefile
    +++ b/reactos/subsys/system/ibrowser/Makefile
    @@ -17,7 +17,8 @@ TARGET_INSTALLDIR := system32
     TARGET_CFLAGS := \
     	-D__USE_W32API -DWIN32 -D_ROS_ \
     	-D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 \
    -	-DUNICODE -fexceptions -Wall
    +	-DUNICODE -fexceptions -Wall \
    +	-I../../../include/expat
     
     TARGET_CPPFLAGS := $(TARGET_CFLAGS)
     
    diff --git a/reactos/subsys/system/ibrowser/Makefile.MinGW b/reactos/subsys/system/ibrowser/Makefile.MinGW
    index b968c1c4938..1d23264e049 100644
    --- a/reactos/subsys/system/ibrowser/Makefile.MinGW
    +++ b/reactos/subsys/system/ibrowser/Makefile.MinGW
    @@ -8,7 +8,7 @@ CC = gcc
     CXX = g++
     LINK = g++
     
    -CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I.
    +CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC)
     RCFLAGS	= -DWIN32 -D__WINDRES__
     LFLAGS	= -Wl,--subsystem,windows
     
    diff --git a/reactos/subsys/system/ibrowser/Makefile.PCH b/reactos/subsys/system/ibrowser/Makefile.PCH
    index 71fc8575fa3..f21c6224840 100644
    --- a/reactos/subsys/system/ibrowser/Makefile.PCH
    +++ b/reactos/subsys/system/ibrowser/Makefile.PCH
    @@ -10,7 +10,7 @@ CC = gcc
     CXX = g++
     LINK = g++
     
    -CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I.
    +CFLAGS	= -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. -I$(EXPAT_INC)
     RCFLAGS	= -DWIN32 -D__WINDRES__
     LFLAGS	= -Wl,--subsystem,windows
     
    diff --git a/reactos/subsys/system/ibrowser/favorites.cpp b/reactos/subsys/system/ibrowser/favorites.cpp
    index 0da5cc365e2..3d673e62981 100644
    --- a/reactos/subsys/system/ibrowser/favorites.cpp
    +++ b/reactos/subsys/system/ibrowser/favorites.cpp
    @@ -457,9 +457,11 @@ void Favorites::write(LPCTSTR path) const
     	super::write(pos);
     	pos.back();
     
    -	xbel.write(path, XMLNode::FORMAT_SMART, XMLHeader("1.0", "UTF-8", ""));
    +		" \"http://www.python.org/topics/xml/dtds/xbel-1.0.dtd\">";
    +
    +	xbel.write(path);
     }
     
     
    diff --git a/reactos/subsys/system/ibrowser/ibrowser.cpp b/reactos/subsys/system/ibrowser/ibrowser.cpp
    index a70c3d57c98..70562aaf171 100644
    --- a/reactos/subsys/system/ibrowser/ibrowser.cpp
    +++ b/reactos/subsys/system/ibrowser/ibrowser.cpp
    @@ -417,7 +417,37 @@ void ibrowser_about(HWND hwndParent)
     {
     	Dialog::DoModal(IDD_ABOUT_IBROWSER, WINDOW_CREATOR(ExplorerAboutDlg), hwndParent);
     }
    +void ibrowser_open(HWND hwndParent)
    +{
    +    HMODULE            hShell32;
    +    RUNFILEDLG        RunFileDlg;
    +    OSVERSIONINFO    versionInfo;
    +    WCHAR            wTitle[40];
    +    WCHAR            wText[256];
    +    char            szTitle[40] = "Open";
    +    char            szText[256] = "Type the Internet Address of a document or folder and IBrowser will open it for you.";
     
    +    hShell32 = LoadLibrary(_T("SHELL32.DLL"));
    +    RunFileDlg = (RUNFILEDLG)(FARPROC)GetProcAddress(hShell32, (char*)((long)0x3D));
    +
    +    /* Show "Run..." dialog */
    +    if (RunFileDlg)
    +    {
    +        versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    +        GetVersionEx(&versionInfo);
    +
    +        if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
    +        {
    +            MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szTitle, -1, wTitle, 40);
    +            MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szText, -1, wText, 256);
    +            RunFileDlg(hwndParent, 0, NULL, (LPCSTR)wTitle, (LPCSTR)wText, RFF_CALCDIRECTORY);
    +        }
    +        else
    +            RunFileDlg(hwndParent, 0, NULL, szTitle, szText, RFF_CALCDIRECTORY);
    +    }
    +
    +    FreeLibrary(hShell32);
    +}
     
     static void InitInstance(HINSTANCE hInstance)
     {
    diff --git a/reactos/subsys/system/ibrowser/ibrowser.h b/reactos/subsys/system/ibrowser/ibrowser.h
    index 39265f27dbd..48aff170270 100644
    --- a/reactos/subsys/system/ibrowser/ibrowser.h
    +++ b/reactos/subsys/system/ibrowser/ibrowser.h
    @@ -214,3 +214,18 @@ extern ATOM g_hframeClass;
      // display explorer "About" dialog
     extern void ibrowser_about(HWND hwndParent);
     
    + // display explorer "open" dialog
    +extern void ibrowser_open(HWND hwndParent);
    +
    + // declare shell32's "Run..." dialog export function
    +typedef	void (WINAPI* RUNFILEDLG)(HWND hwndOwner, HICON hIcon, LPCSTR lpstrDirectory, LPCSTR lpstrTitle, LPCSTR lpstrDescription, UINT uFlags);
    +
    + //
    + // Flags for RunFileDlg
    + //
    +
    +#define	RFF_NOBROWSE		0x01	// Removes the browse button.
    +#define	RFF_NODEFAULT		0x02	// No default item selected.
    +#define	RFF_CALCDIRECTORY	0x04	// Calculates the working directory from the file name.
    +#define	RFF_NOLABEL			0x08	// Removes the edit box label.
    +#define	RFF_NOSEPARATEMEM	0x20	// Removes the Separate Memory Space check box (Windows NT only).
    diff --git a/reactos/subsys/system/ibrowser/ibrowser.xml b/reactos/subsys/system/ibrowser/ibrowser.xml
    index a381bf7bdfd..2305957cb5a 100644
    --- a/reactos/subsys/system/ibrowser/ibrowser.xml
    +++ b/reactos/subsys/system/ibrowser/ibrowser.xml
    @@ -1,6 +1,7 @@
     
     	-fexceptions
     	.
    +	include/expat
     	
     	
     	
    diff --git a/reactos/subsys/system/ibrowser/ibrowser_intres.h b/reactos/subsys/system/ibrowser/ibrowser_intres.h
    index ec6e1882c44..5561e456f3d 100644
    --- a/reactos/subsys/system/ibrowser/ibrowser_intres.h
    +++ b/reactos/subsys/system/ibrowser/ibrowser_intres.h
    @@ -35,6 +35,7 @@
     #define ID_GO_SEARCH                    40008
     #define ID_GO_UP                        40009
     #define ID_STOP                         40010
    +#define ID_FILE_OPEN                    0xE140
     #define ID_FILE_EXIT                    0xE141
     #define ID_HELP                         0xE146
     #define IDC_STATIC                      -1
    diff --git a/reactos/subsys/system/ibrowser/ibrowser_intres.rc b/reactos/subsys/system/ibrowser/ibrowser_intres.rc
    index a1857e6ade3..6ca68b90b4c 100644
    --- a/reactos/subsys/system/ibrowser/ibrowser_intres.rc
    +++ b/reactos/subsys/system/ibrowser/ibrowser_intres.rc
    @@ -252,6 +252,7 @@ IDM_SDIFRAME MENU PRELOAD DISCARDABLE
     BEGIN
         POPUP "&File"
         BEGIN
    +        MENUITEM "&Open",                       ID_FILE_OPEN
             MENUITEM "E&xit",                       ID_FILE_EXIT
         END
         POPUP "&View"
    diff --git a/reactos/subsys/system/ibrowser/mainframe.cpp b/reactos/subsys/system/ibrowser/mainframe.cpp
    index dc1af6b52f7..4062bec6f76 100644
    --- a/reactos/subsys/system/ibrowser/mainframe.cpp
    +++ b/reactos/subsys/system/ibrowser/mainframe.cpp
    @@ -262,6 +262,10 @@ int MainFrameBase::Command(int id, int code)
     	CONTEXT("MainFrameBase::Command()");
     
     	switch(id) {
    +	  case ID_FILE_OPEN:
    +		ibrowser_open(_hwnd);
    +		break;
    +
     	  case ID_FILE_EXIT:
     		SendMessage(_hwnd, WM_CLOSE, 0, 0);
     		break;
    diff --git a/reactos/subsys/system/ibrowser/utility/expat.h b/reactos/subsys/system/ibrowser/utility/expat.h
    deleted file mode 100644
    index b34f94ea8dd..00000000000
    --- a/reactos/subsys/system/ibrowser/utility/expat.h
    +++ /dev/null
    @@ -1,1081 +0,0 @@
    -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
    -   See the file COPYING for copying permission.
    -*/
    -
    -#ifndef XmlParse_INCLUDED
    -#define XmlParse_INCLUDED 1
    -
    -#ifdef __VMS
    -/*      0        1         2         3      0        1         2         3
    -        1234567890123456789012345678901     1234567890123456789012345678901 */
    -#define XML_SetProcessingInstructionHandler XML_SetProcessingInstrHandler
    -#define XML_SetUnparsedEntityDeclHandler    XML_SetUnparsedEntDeclHandler
    -#define XML_SetStartNamespaceDeclHandler    XML_SetStartNamespcDeclHandler
    -#define XML_SetExternalEntityRefHandlerArg  XML_SetExternalEntRefHandlerArg
    -#endif
    -
    -#include 
    -
    -#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)
    -#define XML_USE_MSC_EXTENSIONS 1
    -#endif
    -
    -/* Expat tries very hard to make the API boundary very specifically
    -   defined.  There are two macros defined to control this boundary;
    -   each of these can be defined before including this header to
    -   achieve some different behavior, but doing so it not recommended or
    -   tested frequently.
    -
    -   XMLCALL    - The calling convention to use for all calls across the
    -                "library boundary."  This will default to cdecl, and
    -                try really hard to tell the compiler that's what we
    -                want.
    -
    -   XMLIMPORT  - Whatever magic is needed to note that a function is
    -                to be imported from a dynamically loaded library
    -                (.dll, .so, or .sl, depending on your platform).
    -
    -   The XMLCALL macro was added in Expat 1.95.7.  The only one which is
    -   expected to be directly useful in client code is XMLCALL.
    -
    -   Note that on at least some Unix versions, the Expat library must be
    -   compiled with the cdecl calling convention as the default since
    -   system headers may assume the cdecl convention.
    -*/
    -#ifndef XMLCALL
    -#if defined(XML_USE_MSC_EXTENSIONS)
    -#define XMLCALL __cdecl
    -#elif defined(__GNUC__) && defined(__i386)
    -//MF#define XMLCALL __attribute__((cdecl))
    -#define XMLCALL//MF
    -#else
    -/* For any platform which uses this definition and supports more than
    -   one calling convention, we need to extend this definition to
    -   declare the convention used on that platform, if it's possible to
    -   do so.
    -
    -   If this is the case for your platform, please file a bug report
    -   with information on how to identify your platform via the C
    -   pre-processor and how to specify the same calling convention as the
    -   platform's malloc() implementation.
    -*/
    -#define XMLCALL
    -#endif
    -#endif  /* not defined XMLCALL */
    -
    -
    -#if !defined(XML_STATIC) && !defined(XMLIMPORT)
    -#ifndef XML_BUILDING_EXPAT
    -/* using Expat from an application */
    -
    -#ifdef XML_USE_MSC_EXTENSIONS
    -#define XMLIMPORT __declspec(dllimport)
    -#endif
    -
    -#endif
    -#endif  /* not defined XML_STATIC */
    -
    -/* If we didn't define it above, define it away: */
    -#ifndef XMLIMPORT
    -#define XMLIMPORT
    -#endif
    -
    -
    -#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -#ifdef XML_UNICODE_WCHAR_T
    -#define XML_UNICODE
    -#endif
    -
    -struct XML_ParserStruct;
    -typedef struct XML_ParserStruct *XML_Parser;
    -
    -#ifdef XML_UNICODE     /* Information is UTF-16 encoded. */
    -#ifdef XML_UNICODE_WCHAR_T
    -typedef wchar_t XML_Char;
    -typedef wchar_t XML_LChar;
    -#else
    -typedef unsigned short XML_Char;
    -typedef char XML_LChar;
    -#endif /* XML_UNICODE_WCHAR_T */
    -#else                  /* Information is UTF-8 encoded. */
    -typedef char XML_Char;
    -typedef char XML_LChar;
    -#endif /* XML_UNICODE */
    -
    -/* Should this be defined using stdbool.h when C99 is available? */
    -typedef unsigned char XML_Bool;
    -#define XML_TRUE   ((XML_Bool) 1)
    -#define XML_FALSE  ((XML_Bool) 0)
    -
    -/* The XML_Status enum gives the possible return values for several
    -   API functions.  The preprocessor #defines are included so this
    -   stanza can be added to code that still needs to support older
    -   versions of Expat 1.95.x:
    -
    -   #ifndef XML_STATUS_OK
    -   #define XML_STATUS_OK    1
    -   #define XML_STATUS_ERROR 0
    -   #endif
    -
    -   Otherwise, the #define hackery is quite ugly and would have been
    -   dropped.
    -*/
    -enum XML_Status {
    -  XML_STATUS_ERROR = 0,
    -#define XML_STATUS_ERROR XML_STATUS_ERROR
    -  XML_STATUS_OK = 1,
    -#define XML_STATUS_OK XML_STATUS_OK
    -  XML_STATUS_SUSPENDED = 2,
    -#define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED
    -};
    -
    -enum XML_Error {
    -  XML_ERROR_NONE,
    -  XML_ERROR_NO_MEMORY,
    -  XML_ERROR_SYNTAX,
    -  XML_ERROR_NO_ELEMENTS,
    -  XML_ERROR_INVALID_TOKEN,
    -  XML_ERROR_UNCLOSED_TOKEN,
    -  XML_ERROR_PARTIAL_CHAR,
    -  XML_ERROR_TAG_MISMATCH,
    -  XML_ERROR_DUPLICATE_ATTRIBUTE,
    -  XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
    -  XML_ERROR_PARAM_ENTITY_REF,
    -  XML_ERROR_UNDEFINED_ENTITY,
    -  XML_ERROR_RECURSIVE_ENTITY_REF,
    -  XML_ERROR_ASYNC_ENTITY,
    -  XML_ERROR_BAD_CHAR_REF,
    -  XML_ERROR_BINARY_ENTITY_REF,
    -  XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
    -  XML_ERROR_MISPLACED_XML_PI,
    -  XML_ERROR_UNKNOWN_ENCODING,
    -  XML_ERROR_INCORRECT_ENCODING,
    -  XML_ERROR_UNCLOSED_CDATA_SECTION,
    -  XML_ERROR_EXTERNAL_ENTITY_HANDLING,
    -  XML_ERROR_NOT_STANDALONE,
    -  XML_ERROR_UNEXPECTED_STATE,
    -  XML_ERROR_ENTITY_DECLARED_IN_PE,
    -  XML_ERROR_FEATURE_REQUIRES_XML_DTD,
    -  XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,
    -  XML_ERROR_UNBOUND_PREFIX,
    -  XML_ERROR_SUSPENDED,
    -  XML_ERROR_NOT_SUSPENDED,
    -  XML_ERROR_ABORTED,
    -  XML_ERROR_FINISHED,
    -  XML_ERROR_SUSPEND_PE
    -};
    -
    -enum XML_Content_Type {
    -  XML_CTYPE_EMPTY = 1,
    -  XML_CTYPE_ANY,
    -  XML_CTYPE_MIXED,
    -  XML_CTYPE_NAME,
    -  XML_CTYPE_CHOICE,
    -  XML_CTYPE_SEQ
    -};
    -
    -enum XML_Content_Quant {
    -  XML_CQUANT_NONE,
    -  XML_CQUANT_OPT,
    -  XML_CQUANT_REP,
    -  XML_CQUANT_PLUS
    -};
    -
    -/* If type == XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be
    -   XML_CQUANT_NONE, and the other fields will be zero or NULL.
    -   If type == XML_CTYPE_MIXED, then quant will be NONE or REP and
    -   numchildren will contain number of elements that may be mixed in
    -   and children point to an array of XML_Content cells that will be
    -   all of XML_CTYPE_NAME type with no quantification.
    -
    -   If type == XML_CTYPE_NAME, then the name points to the name, and
    -   the numchildren field will be zero and children will be NULL. The
    -   quant fields indicates any quantifiers placed on the name.
    -
    -   CHOICE and SEQ will have name NULL, the number of children in
    -   numchildren and children will point, recursively, to an array
    -   of XML_Content cells.
    -
    -   The EMPTY, ANY, and MIXED types will only occur at top level.
    -*/
    -
    -typedef struct XML_cp XML_Content;
    -
    -struct XML_cp {
    -  enum XML_Content_Type         type;
    -  enum XML_Content_Quant        quant;
    -  XML_Char *                    name;
    -  unsigned int                  numchildren;
    -  XML_Content *                 children;
    -};
    -
    -
    -/* This is called for an element declaration. See above for
    -   description of the model argument. It's the caller's responsibility
    -   to free model when finished with it.
    -*/
    -typedef void (XMLCALL *XML_ElementDeclHandler) (void *userData,
    -                                                const XML_Char *name,
    -                                                XML_Content *model);
    -
    -XMLPARSEAPI(void)
    -XML_SetElementDeclHandler(XML_Parser parser,
    -                          XML_ElementDeclHandler eldecl);
    -
    -/* The Attlist declaration handler is called for *each* attribute. So
    -   a single Attlist declaration with multiple attributes declared will
    -   generate multiple calls to this handler. The "default" parameter
    -   may be NULL in the case of the "#IMPLIED" or "#REQUIRED"
    -   keyword. The "isrequired" parameter will be true and the default
    -   value will be NULL in the case of "#REQUIRED". If "isrequired" is
    -   true and default is non-NULL, then this is a "#FIXED" default.
    -*/
    -typedef void (XMLCALL *XML_AttlistDeclHandler) (
    -                                    void            *userData,
    -                                    const XML_Char  *elname,
    -                                    const XML_Char  *attname,
    -                                    const XML_Char  *att_type,
    -                                    const XML_Char  *dflt,
    -                                    int              isrequired);
    -
    -XMLPARSEAPI(void)
    -XML_SetAttlistDeclHandler(XML_Parser parser,
    -                          XML_AttlistDeclHandler attdecl);
    -
    -/* The XML declaration handler is called for *both* XML declarations
    -   and text declarations. The way to distinguish is that the version
    -   parameter will be NULL for text declarations. The encoding
    -   parameter may be NULL for XML declarations. The standalone
    -   parameter will be -1, 0, or 1 indicating respectively that there
    -   was no standalone parameter in the declaration, that it was given
    -   as no, or that it was given as yes.
    -*/
    -typedef void (XMLCALL *XML_XmlDeclHandler) (void           *userData,
    -                                            const XML_Char *version,
    -                                            const XML_Char *encoding,
    -                                            int             standalone);
    -
    -XMLPARSEAPI(void)
    -XML_SetXmlDeclHandler(XML_Parser parser,
    -                      XML_XmlDeclHandler xmldecl);
    -
    -
    -typedef struct {
    -  void *(XMLCALL *malloc_fcn)(size_t size);
    -  void *(XMLCALL *realloc_fcn)(void *ptr, size_t size);
    -  void (XMLCALL *free_fcn)(void *ptr);
    -} XML_Memory_Handling_Suite;
    -
    -/* Constructs a new parser; encoding is the encoding specified by the
    -   external protocol or NULL if there is none specified.
    -*/
    -XMLPARSEAPI(XML_Parser)
    -XML_ParserCreate(const XML_Char *encoding);
    -
    -/* Constructs a new parser and namespace processor.  Element type
    -   names and attribute names that belong to a namespace will be
    -   expanded; unprefixed attribute names are never expanded; unprefixed
    -   element type names are expanded only if there is a default
    -   namespace. The expanded name is the concatenation of the namespace
    -   URI, the namespace separator character, and the local part of the
    -   name.  If the namespace separator is '\0' then the namespace URI
    -   and the local part will be concatenated without any separator.
    -   When a namespace is not declared, the name and prefix will be
    -   passed through without expansion.
    -*/
    -XMLPARSEAPI(XML_Parser)
    -XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);
    -
    -
    -/* Constructs a new parser using the memory management suite referred to
    -   by memsuite. If memsuite is NULL, then use the standard library memory
    -   suite. If namespaceSeparator is non-NULL it creates a parser with
    -   namespace processing as described above. The character pointed at
    -   will serve as the namespace separator.
    -
    -   All further memory operations used for the created parser will come from
    -   the given suite.
    -*/
    -XMLPARSEAPI(XML_Parser)
    -XML_ParserCreate_MM(const XML_Char *encoding,
    -                    const XML_Memory_Handling_Suite *memsuite,
    -                    const XML_Char *namespaceSeparator);
    -
    -/* Prepare a parser object to be re-used.  This is particularly
    -   valuable when memory allocation overhead is disproportionatly high,
    -   such as when a large number of small documnents need to be parsed.
    -   All handlers are cleared from the parser, except for the
    -   unknownEncodingHandler. The parser's external state is re-initialized
    -   except for the values of ns and ns_triplets.
    -
    -   Added in Expat 1.95.3.
    -*/
    -XMLPARSEAPI(XML_Bool)
    -XML_ParserReset(XML_Parser parser, const XML_Char *encoding);
    -
    -/* atts is array of name/value pairs, terminated by 0;
    -   names and values are 0 terminated.
    -*/
    -typedef void (XMLCALL *XML_StartElementHandler) (void *userData,
    -                                                 const XML_Char *name,
    -                                                 const XML_Char **atts);
    -
    -typedef void (XMLCALL *XML_EndElementHandler) (void *userData,
    -                                               const XML_Char *name);
    -
    -
    -/* s is not 0 terminated. */
    -typedef void (XMLCALL *XML_CharacterDataHandler) (void *userData,
    -                                                  const XML_Char *s,
    -                                                  int len);
    -
    -/* target and data are 0 terminated */
    -typedef void (XMLCALL *XML_ProcessingInstructionHandler) (
    -                                                void *userData,
    -                                                const XML_Char *target,
    -                                                const XML_Char *data);
    -
    -/* data is 0 terminated */
    -typedef void (XMLCALL *XML_CommentHandler) (void *userData,
    -                                            const XML_Char *data);
    -
    -typedef void (XMLCALL *XML_StartCdataSectionHandler) (void *userData);
    -typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData);
    -
    -/* This is called for any characters in the XML document for which
    -   there is no applicable handler.  This includes both characters that
    -   are part of markup which is of a kind that is not reported
    -   (comments, markup declarations), or characters that are part of a
    -   construct which could be reported but for which no handler has been
    -   supplied. The characters are passed exactly as they were in the XML
    -   document except that they will be encoded in UTF-8 or UTF-16.
    -   Line boundaries are not normalized. Note that a byte order mark
    -   character is not passed to the default handler. There are no
    -   guarantees about how characters are divided between calls to the
    -   default handler: for example, a comment might be split between
    -   multiple calls.
    -*/
    -typedef void (XMLCALL *XML_DefaultHandler) (void *userData,
    -                                            const XML_Char *s,
    -                                            int len);
    -
    -/* This is called for the start of the DOCTYPE declaration, before
    -   any DTD or internal subset is parsed.
    -*/
    -typedef void (XMLCALL *XML_StartDoctypeDeclHandler) (
    -                                            void *userData,
    -                                            const XML_Char *doctypeName,
    -                                            const XML_Char *sysid,
    -                                            const XML_Char *pubid,
    -                                            int has_internal_subset);
    -
    -/* This is called for the start of the DOCTYPE declaration when the
    -   closing > is encountered, but after processing any external
    -   subset.
    -*/
    -typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData);
    -
    -/* This is called for entity declarations. The is_parameter_entity
    -   argument will be non-zero if the entity is a parameter entity, zero
    -   otherwise.
    -
    -   For internal entities (), value will
    -   be non-NULL and systemId, publicID, and notationName will be NULL.
    -   The value string is NOT nul-terminated; the length is provided in
    -   the value_length argument. Since it is legal to have zero-length
    -   values, do not use this argument to test for internal entities.
    -
    -   For external entities, value will be NULL and systemId will be
    -   non-NULL. The publicId argument will be NULL unless a public
    -   identifier was provided. The notationName argument will have a
    -   non-NULL value only for unparsed entity declarations.
    -
    -   Note that is_parameter_entity can't be changed to XML_Bool, since
    -   that would break binary compatibility.
    -*/
    -typedef void (XMLCALL *XML_EntityDeclHandler) (
    -                              void *userData,
    -                              const XML_Char *entityName,
    -                              int is_parameter_entity,
    -                              const XML_Char *value,
    -                              int value_length,
    -                              const XML_Char *base,
    -                              const XML_Char *systemId,
    -                              const XML_Char *publicId,
    -                              const XML_Char *notationName);
    -
    -XMLPARSEAPI(void)
    -XML_SetEntityDeclHandler(XML_Parser parser,
    -                         XML_EntityDeclHandler handler);
    -
    -/* OBSOLETE -- OBSOLETE -- OBSOLETE
    -   This handler has been superceded by the EntityDeclHandler above.
    -   It is provided here for backward compatibility.
    -
    -   This is called for a declaration of an unparsed (NDATA) entity.
    -   The base argument is whatever was set by XML_SetBase. The
    -   entityName, systemId and notationName arguments will never be
    -   NULL. The other arguments may be.
    -*/
    -typedef void (XMLCALL *XML_UnparsedEntityDeclHandler) (
    -                                    void *userData,
    -                                    const XML_Char *entityName,
    -                                    const XML_Char *base,
    -                                    const XML_Char *systemId,
    -                                    const XML_Char *publicId,
    -                                    const XML_Char *notationName);
    -
    -/* This is called for a declaration of notation.  The base argument is
    -   whatever was set by XML_SetBase. The notationName will never be
    -   NULL.  The other arguments can be.
    -*/
    -typedef void (XMLCALL *XML_NotationDeclHandler) (
    -                                    void *userData,
    -                                    const XML_Char *notationName,
    -                                    const XML_Char *base,
    -                                    const XML_Char *systemId,
    -                                    const XML_Char *publicId);
    -
    -/* When namespace processing is enabled, these are called once for
    -   each namespace declaration. The call to the start and end element
    -   handlers occur between the calls to the start and end namespace
    -   declaration handlers. For an xmlns attribute, prefix will be
    -   NULL.  For an xmlns="" attribute, uri will be NULL.
    -*/
    -typedef void (XMLCALL *XML_StartNamespaceDeclHandler) (
    -                                    void *userData,
    -                                    const XML_Char *prefix,
    -                                    const XML_Char *uri);
    -
    -typedef void (XMLCALL *XML_EndNamespaceDeclHandler) (
    -                                    void *userData,
    -                                    const XML_Char *prefix);
    -
    -/* This is called if the document is not standalone, that is, it has an
    -   external subset or a reference to a parameter entity, but does not
    -   have standalone="yes". If this handler returns XML_STATUS_ERROR,
    -   then processing will not continue, and the parser will return a
    -   XML_ERROR_NOT_STANDALONE error.
    -   If parameter entity parsing is enabled, then in addition to the
    -   conditions above this handler will only be called if the referenced
    -   entity was actually read.
    -*/
    -typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData);
    -
    -/* This is called for a reference to an external parsed general
    -   entity.  The referenced entity is not automatically parsed.  The
    -   application can parse it immediately or later using
    -   XML_ExternalEntityParserCreate.
    -
    -   The parser argument is the parser parsing the entity containing the
    -   reference; it can be passed as the parser argument to
    -   XML_ExternalEntityParserCreate.  The systemId argument is the
    -   system identifier as specified in the entity declaration; it will
    -   not be NULL.
    -
    -   The base argument is the system identifier that should be used as
    -   the base for resolving systemId if systemId was relative; this is
    -   set by XML_SetBase; it may be NULL.
    -
    -   The publicId argument is the public identifier as specified in the
    -   entity declaration, or NULL if none was specified; the whitespace
    -   in the public identifier will have been normalized as required by
    -   the XML spec.
    -
    -   The context argument specifies the parsing context in the format
    -   expected by the context argument to XML_ExternalEntityParserCreate;
    -   context is valid only until the handler returns, so if the
    -   referenced entity is to be parsed later, it must be copied.
    -   context is NULL only when the entity is a parameter entity.
    -
    -   The handler should return XML_STATUS_ERROR if processing should not
    -   continue because of a fatal error in the handling of the external
    -   entity.  In this case the calling parser will return an
    -   XML_ERROR_EXTERNAL_ENTITY_HANDLING error.
    -
    -   Note that unlike other handlers the first argument is the parser,
    -   not userData.
    -*/
    -typedef int (XMLCALL *XML_ExternalEntityRefHandler) (
    -                                    XML_Parser parser,
    -                                    const XML_Char *context,
    -                                    const XML_Char *base,
    -                                    const XML_Char *systemId,
    -                                    const XML_Char *publicId);
    -
    -/* This is called in two situations:
    -   1) An entity reference is encountered for which no declaration
    -      has been read *and* this is not an error.
    -   2) An internal entity reference is read, but not expanded, because
    -      XML_SetDefaultHandler has been called.
    -   Note: skipped parameter entities in declarations and skipped general
    -         entities in attribute values cannot be reported, because
    -         the event would be out of sync with the reporting of the
    -         declarations or attribute values
    -*/
    -typedef void (XMLCALL *XML_SkippedEntityHandler) (
    -                                    void *userData,
    -                                    const XML_Char *entityName,
    -                                    int is_parameter_entity);
    -
    -/* This structure is filled in by the XML_UnknownEncodingHandler to
    -   provide information to the parser about encodings that are unknown
    -   to the parser.
    -
    -   The map[b] member gives information about byte sequences whose
    -   first byte is b.
    -
    -   If map[b] is c where c is >= 0, then b by itself encodes the
    -   Unicode scalar value c.
    -
    -   If map[b] is -1, then the byte sequence is malformed.
    -
    -   If map[b] is -n, where n >= 2, then b is the first byte of an
    -   n-byte sequence that encodes a single Unicode scalar value.
    -
    -   The data member will be passed as the first argument to the convert
    -   function.
    -
    -   The convert function is used to convert multibyte sequences; s will
    -   point to a n-byte sequence where map[(unsigned char)*s] == -n.  The
    -   convert function must return the Unicode scalar value represented
    -   by this byte sequence or -1 if the byte sequence is malformed.
    -
    -   The convert function may be NULL if the encoding is a single-byte
    -   encoding, that is if map[b] >= -1 for all bytes b.
    -
    -   When the parser is finished with the encoding, then if release is
    -   not NULL, it will call release passing it the data member; once
    -   release has been called, the convert function will not be called
    -   again.
    -
    -   Expat places certain restrictions on the encodings that are supported
    -   using this mechanism.
    -
    -   1. Every ASCII character that can appear in a well-formed XML document,
    -      other than the characters
    -
    -      $@\^`{}~
    -
    -      must be represented by a single byte, and that byte must be the
    -      same byte that represents that character in ASCII.
    -
    -   2. No character may require more than 4 bytes to encode.
    -
    -   3. All characters encoded must have Unicode scalar values <=
    -      0xFFFF, (i.e., characters that would be encoded by surrogates in
    -      UTF-16 are  not allowed).  Note that this restriction doesn't
    -      apply to the built-in support for UTF-8 and UTF-16.
    -
    -   4. No Unicode character may be encoded by more than one distinct
    -      sequence of bytes.
    -*/
    -typedef struct {
    -  int map[256];
    -  void *data;
    -  int (XMLCALL *convert)(void *data, const char *s);
    -  void (XMLCALL *release)(void *data);
    -} XML_Encoding;
    -
    -/* This is called for an encoding that is unknown to the parser.
    -
    -   The encodingHandlerData argument is that which was passed as the
    -   second argument to XML_SetUnknownEncodingHandler.
    -
    -   The name argument gives the name of the encoding as specified in
    -   the encoding declaration.
    -
    -   If the callback can provide information about the encoding, it must
    -   fill in the XML_Encoding structure, and return XML_STATUS_OK.
    -   Otherwise it must return XML_STATUS_ERROR.
    -
    -   If info does not describe a suitable encoding, then the parser will
    -   return an XML_UNKNOWN_ENCODING error.
    -*/
    -typedef int (XMLCALL *XML_UnknownEncodingHandler) (
    -                                    void *encodingHandlerData,
    -                                    const XML_Char *name,
    -                                    XML_Encoding *info);
    -
    -XMLPARSEAPI(void)
    -XML_SetElementHandler(XML_Parser parser,
    -                      XML_StartElementHandler start,
    -                      XML_EndElementHandler end);
    -
    -XMLPARSEAPI(void)
    -XML_SetStartElementHandler(XML_Parser parser,
    -                           XML_StartElementHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetEndElementHandler(XML_Parser parser,
    -                         XML_EndElementHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetCharacterDataHandler(XML_Parser parser,
    -                            XML_CharacterDataHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetProcessingInstructionHandler(XML_Parser parser,
    -                                    XML_ProcessingInstructionHandler handler);
    -XMLPARSEAPI(void)
    -XML_SetCommentHandler(XML_Parser parser,
    -                      XML_CommentHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetCdataSectionHandler(XML_Parser parser,
    -                           XML_StartCdataSectionHandler start,
    -                           XML_EndCdataSectionHandler end);
    -
    -XMLPARSEAPI(void)
    -XML_SetStartCdataSectionHandler(XML_Parser parser,
    -                                XML_StartCdataSectionHandler start);
    -
    -XMLPARSEAPI(void)
    -XML_SetEndCdataSectionHandler(XML_Parser parser,
    -                              XML_EndCdataSectionHandler end);
    -
    -/* This sets the default handler and also inhibits expansion of
    -   internal entities. These entity references will be passed to the
    -   default handler, or to the skipped entity handler, if one is set.
    -*/
    -XMLPARSEAPI(void)
    -XML_SetDefaultHandler(XML_Parser parser,
    -                      XML_DefaultHandler handler);
    -
    -/* This sets the default handler but does not inhibit expansion of
    -   internal entities.  The entity reference will not be passed to the
    -   default handler.
    -*/
    -XMLPARSEAPI(void)
    -XML_SetDefaultHandlerExpand(XML_Parser parser,
    -                            XML_DefaultHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetDoctypeDeclHandler(XML_Parser parser,
    -                          XML_StartDoctypeDeclHandler start,
    -                          XML_EndDoctypeDeclHandler end);
    -
    -XMLPARSEAPI(void)
    -XML_SetStartDoctypeDeclHandler(XML_Parser parser,
    -                               XML_StartDoctypeDeclHandler start);
    -
    -XMLPARSEAPI(void)
    -XML_SetEndDoctypeDeclHandler(XML_Parser parser,
    -                             XML_EndDoctypeDeclHandler end);
    -
    -XMLPARSEAPI(void)
    -XML_SetUnparsedEntityDeclHandler(XML_Parser parser,
    -                                 XML_UnparsedEntityDeclHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetNotationDeclHandler(XML_Parser parser,
    -                           XML_NotationDeclHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetNamespaceDeclHandler(XML_Parser parser,
    -                            XML_StartNamespaceDeclHandler start,
    -                            XML_EndNamespaceDeclHandler end);
    -
    -XMLPARSEAPI(void)
    -XML_SetStartNamespaceDeclHandler(XML_Parser parser,
    -                                 XML_StartNamespaceDeclHandler start);
    -
    -XMLPARSEAPI(void)
    -XML_SetEndNamespaceDeclHandler(XML_Parser parser,
    -                               XML_EndNamespaceDeclHandler end);
    -
    -XMLPARSEAPI(void)
    -XML_SetNotStandaloneHandler(XML_Parser parser,
    -                            XML_NotStandaloneHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetExternalEntityRefHandler(XML_Parser parser,
    -                                XML_ExternalEntityRefHandler handler);
    -
    -/* If a non-NULL value for arg is specified here, then it will be
    -   passed as the first argument to the external entity ref handler
    -   instead of the parser object.
    -*/
    -XMLPARSEAPI(void)
    -XML_SetExternalEntityRefHandlerArg(XML_Parser parser,
    -                                   void *arg);
    -
    -XMLPARSEAPI(void)
    -XML_SetSkippedEntityHandler(XML_Parser parser,
    -                            XML_SkippedEntityHandler handler);
    -
    -XMLPARSEAPI(void)
    -XML_SetUnknownEncodingHandler(XML_Parser parser,
    -                              XML_UnknownEncodingHandler handler,
    -                              void *encodingHandlerData);
    -
    -/* This can be called within a handler for a start element, end
    -   element, processing instruction or character data.  It causes the
    -   corresponding markup to be passed to the default handler.
    -*/
    -XMLPARSEAPI(void)
    -XML_DefaultCurrent(XML_Parser parser);
    -
    -/* If do_nst is non-zero, and namespace processing is in effect, and
    -   a name has a prefix (i.e. an explicit namespace qualifier) then
    -   that name is returned as a triplet in a single string separated by
    -   the separator character specified when the parser was created: URI
    -   + sep + local_name + sep + prefix.
    -
    -   If do_nst is zero, then namespace information is returned in the
    -   default manner (URI + sep + local_name) whether or not the name
    -   has a prefix.
    -
    -   Note: Calling XML_SetReturnNSTriplet after XML_Parse or
    -     XML_ParseBuffer has no effect.
    -*/
    -
    -XMLPARSEAPI(void)
    -XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);
    -
    -/* This value is passed as the userData argument to callbacks. */
    -XMLPARSEAPI(void)
    -XML_SetUserData(XML_Parser parser, void *userData);
    -
    -/* Returns the last value set by XML_SetUserData or NULL. */
    -#define XML_GetUserData(parser) (*(void **)(parser))
    -
    -/* This is equivalent to supplying an encoding argument to
    -   XML_ParserCreate. On success XML_SetEncoding returns non-zero,
    -   zero otherwise.
    -   Note: Calling XML_SetEncoding after XML_Parse or XML_ParseBuffer
    -     has no effect and returns XML_STATUS_ERROR.
    -*/
    -XMLPARSEAPI(enum XML_Status)
    -XML_SetEncoding(XML_Parser parser, const XML_Char *encoding);
    -
    -/* If this function is called, then the parser will be passed as the
    -   first argument to callbacks instead of userData.  The userData will
    -   still be accessible using XML_GetUserData.
    -*/
    -XMLPARSEAPI(void)
    -XML_UseParserAsHandlerArg(XML_Parser parser);
    -
    -/* If useDTD == XML_TRUE is passed to this function, then the parser
    -   will assume that there is an external subset, even if none is
    -   specified in the document. In such a case the parser will call the
    -   externalEntityRefHandler with a value of NULL for the systemId
    -   argument (the publicId and context arguments will be NULL as well).
    -   Note: If this function is called, then this must be done before
    -     the first call to XML_Parse or XML_ParseBuffer, since it will
    -     have no effect after that.  Returns
    -     XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING.
    -   Note: If the document does not have a DOCTYPE declaration at all,
    -     then startDoctypeDeclHandler and endDoctypeDeclHandler will not
    -     be called, despite an external subset being parsed.
    -   Note: If XML_DTD is not defined when Expat is compiled, returns
    -     XML_ERROR_FEATURE_REQUIRES_XML_DTD.
    -*/
    -XMLPARSEAPI(enum XML_Error)
    -XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
    -
    -
    -/* Sets the base to be used for resolving relative URIs in system
    -   identifiers in declarations.  Resolving relative identifiers is
    -   left to the application: this value will be passed through as the
    -   base argument to the XML_ExternalEntityRefHandler,
    -   XML_NotationDeclHandler and XML_UnparsedEntityDeclHandler. The base
    -   argument will be copied.  Returns XML_STATUS_ERROR if out of memory,
    -   XML_STATUS_OK otherwise.
    -*/
    -XMLPARSEAPI(enum XML_Status)
    -XML_SetBase(XML_Parser parser, const XML_Char *base);
    -
    -XMLPARSEAPI(const XML_Char *)
    -XML_GetBase(XML_Parser parser);
    -
    -/* Returns the number of the attribute/value pairs passed in last call
    -   to the XML_StartElementHandler that were specified in the start-tag
    -   rather than defaulted. Each attribute/value pair counts as 2; thus
    -   this correspondds to an index into the atts array passed to the
    -   XML_StartElementHandler.
    -*/
    -XMLPARSEAPI(int)
    -XML_GetSpecifiedAttributeCount(XML_Parser parser);
    -
    -/* Returns the index of the ID attribute passed in the last call to
    -   XML_StartElementHandler, or -1 if there is no ID attribute.  Each
    -   attribute/value pair counts as 2; thus this correspondds to an
    -   index into the atts array passed to the XML_StartElementHandler.
    -*/
    -XMLPARSEAPI(int)
    -XML_GetIdAttributeIndex(XML_Parser parser);
    -
    -/* Parses some input. Returns XML_STATUS_ERROR if a fatal error is
    -   detected.  The last call to XML_Parse must have isFinal true; len
    -   may be zero for this call (or any other).
    -
    -   Though the return values for these functions has always been
    -   described as a Boolean value, the implementation, at least for the
    -   1.95.x series, has always returned exactly one of the XML_Status
    -   values.
    -*/
    -XMLPARSEAPI(enum XML_Status)
    -XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);
    -
    -XMLPARSEAPI(void *)
    -XML_GetBuffer(XML_Parser parser, int len);
    -
    -XMLPARSEAPI(enum XML_Status)
    -XML_ParseBuffer(XML_Parser parser, int len, int isFinal);
    -
    -/* Stops parsing, causing XML_Parse() or XML_ParseBuffer() to return.
    -   Must be called from within a call-back handler, except when aborting
    -   (resumable = 0) an already suspended parser. Some call-backs may
    -   still follow because they would otherwise get lost. Examples:
    -   - endElementHandler() for empty elements when stopped in
    -     startElementHandler(), 
    -   - endNameSpaceDeclHandler() when stopped in endElementHandler(), 
    -   and possibly others.
    -
    -   Can be called from most handlers, including DTD related call-backs,
    -   except when parsing an external parameter entity and resumable != 0.
    -   Returns XML_STATUS_OK when successful, XML_STATUS_ERROR otherwise.
    -   Possible error codes: 
    -   - XML_ERROR_SUSPENDED: when suspending an already suspended parser.
    -   - XML_ERROR_FINISHED: when the parser has already finished.
    -   - XML_ERROR_SUSPEND_PE: when suspending while parsing an external PE.
    -
    -   When resumable != 0 (true) then parsing is suspended, that is, 
    -   XML_Parse() and XML_ParseBuffer() return XML_STATUS_SUSPENDED. 
    -   Otherwise, parsing is aborted, that is, XML_Parse() and XML_ParseBuffer()
    -   return XML_STATUS_ERROR with error code XML_ERROR_ABORTED.
    -
    -   *Note*:
    -   This will be applied to the current parser instance only, that is, if
    -   there is a parent parser then it will continue parsing when the
    -   externalEntityRefHandler() returns. It is up to the implementation of
    -   the externalEntityRefHandler() to call XML_StopParser() on the parent
    -   parser (recursively), if one wants to stop parsing altogether.
    -
    -   When suspended, parsing can be resumed by calling XML_ResumeParser(). 
    -*/
    -XMLPARSEAPI(enum XML_Status)
    -XML_StopParser(XML_Parser parser, XML_Bool resumable);
    -
    -/* Resumes parsing after it has been suspended with XML_StopParser().
    -   Must not be called from within a handler call-back. Returns same
    -   status codes as XML_Parse() or XML_ParseBuffer().
    -   Additional error code XML_ERROR_NOT_SUSPENDED possible.   
    -
    -   *Note*:
    -   This must be called on the most deeply nested child parser instance
    -   first, and on its parent parser only after the child parser has finished,
    -   to be applied recursively until the document entity's parser is restarted.
    -   That is, the parent parser will not resume by itself and it is up to the
    -   application to call XML_ResumeParser() on it at the appropriate moment.
    -*/
    -XMLPARSEAPI(enum XML_Status)
    -XML_ResumeParser(XML_Parser parser);
    -
    -enum XML_Parsing {
    -  XML_INITIALIZED,
    -  XML_PARSING,
    -  XML_FINISHED,
    -  XML_SUSPENDED
    -};
    -
    -typedef struct {
    -  enum XML_Parsing parsing;
    -  XML_Bool finalBuffer;
    -} XML_ParsingStatus;
    -
    -/* Returns status of parser with respect to being initialized, parsing,
    -   finished, or suspended and processing the final buffer.
    -   XXX XML_Parse() and XML_ParseBuffer() should return XML_ParsingStatus,
    -   XXX with XML_FINISHED_OK or XML_FINISHED_ERROR replacing XML_FINISHED
    -*/
    -XMLPARSEAPI(void)
    -XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status);
    -
    -/* Creates an XML_Parser object that can parse an external general
    -   entity; context is a '\0'-terminated string specifying the parse
    -   context; encoding is a '\0'-terminated string giving the name of
    -   the externally specified encoding, or NULL if there is no
    -   externally specified encoding.  The context string consists of a
    -   sequence of tokens separated by formfeeds (\f); a token consisting
    -   of a name specifies that the general entity of the name is open; a
    -   token of the form prefix=uri specifies the namespace for a
    -   particular prefix; a token of the form =uri specifies the default
    -   namespace.  This can be called at any point after the first call to
    -   an ExternalEntityRefHandler so longer as the parser has not yet
    -   been freed.  The new parser is completely independent and may
    -   safely be used in a separate thread.  The handlers and userData are
    -   initialized from the parser argument.  Returns NULL if out of memory.
    -   Otherwise returns a new XML_Parser object.
    -*/
    -XMLPARSEAPI(XML_Parser)
    -XML_ExternalEntityParserCreate(XML_Parser parser,
    -                               const XML_Char *context,
    -                               const XML_Char *encoding);
    -
    -enum XML_ParamEntityParsing {
    -  XML_PARAM_ENTITY_PARSING_NEVER,
    -  XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE,
    -  XML_PARAM_ENTITY_PARSING_ALWAYS
    -};
    -
    -/* Controls parsing of parameter entities (including the external DTD
    -   subset). If parsing of parameter entities is enabled, then
    -   references to external parameter entities (including the external
    -   DTD subset) will be passed to the handler set with
    -   XML_SetExternalEntityRefHandler.  The context passed will be 0.
    -
    -   Unlike external general entities, external parameter entities can
    -   only be parsed synchronously.  If the external parameter entity is
    -   to be parsed, it must be parsed during the call to the external
    -   entity ref handler: the complete sequence of
    -   XML_ExternalEntityParserCreate, XML_Parse/XML_ParseBuffer and
    -   XML_ParserFree calls must be made during this call.  After
    -   XML_ExternalEntityParserCreate has been called to create the parser
    -   for the external parameter entity (context must be 0 for this
    -   call), it is illegal to make any calls on the old parser until
    -   XML_ParserFree has been called on the newly created parser.
    -   If the library has been compiled without support for parameter
    -   entity parsing (ie without XML_DTD being defined), then
    -   XML_SetParamEntityParsing will return 0 if parsing of parameter
    -   entities is requested; otherwise it will return non-zero.
    -   Note: If XML_SetParamEntityParsing is called after XML_Parse or
    -      XML_ParseBuffer, then it has no effect and will always return 0.
    -*/
    -XMLPARSEAPI(int)
    -XML_SetParamEntityParsing(XML_Parser parser,
    -                          enum XML_ParamEntityParsing parsing);
    -
    -/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then
    -   XML_GetErrorCode returns information about the error.
    -*/
    -XMLPARSEAPI(enum XML_Error)
    -XML_GetErrorCode(XML_Parser parser);
    -
    -/* These functions return information about the current parse
    -   location.  They may be called from any callback called to report
    -   some parse event; in this case the location is the location of the
    -   first of the sequence of characters that generated the event.  When
    -   called from callbacks generated by declarations in the document
    -   prologue, the location identified isn't as neatly defined, but will
    -   be within the relevant markup.  When called outside of the callback
    -   functions, the position indicated will be just past the last parse
    -   event (regardless of whether there was an associated callback).
    -   
    -   They may also be called after returning from a call to XML_Parse
    -   or XML_ParseBuffer.  If the return value is XML_STATUS_ERROR then
    -   the location is the location of the character at which the error
    -   was detected; otherwise the location is the location of the last
    -   parse event, as described above.
    -*/
    -XMLPARSEAPI(int) XML_GetCurrentLineNumber(XML_Parser parser);
    -XMLPARSEAPI(int) XML_GetCurrentColumnNumber(XML_Parser parser);
    -XMLPARSEAPI(long) XML_GetCurrentByteIndex(XML_Parser parser);
    -
    -/* Return the number of bytes in the current event.
    -   Returns 0 if the event is in an internal entity.
    -*/
    -XMLPARSEAPI(int)
    -XML_GetCurrentByteCount(XML_Parser parser);
    -
    -/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets
    -   the integer pointed to by offset to the offset within this buffer
    -   of the current parse position, and sets the integer pointed to by size
    -   to the size of this buffer (the number of input bytes). Otherwise
    -   returns a NULL pointer. Also returns a NULL pointer if a parse isn't
    -   active.
    -
    -   NOTE: The character pointer returned should not be used outside
    -   the handler that makes the call.
    -*/
    -XMLPARSEAPI(const char *)
    -XML_GetInputContext(XML_Parser parser,
    -                    int *offset,
    -                    int *size);
    -
    -/* For backwards compatibility with previous versions. */
    -#define XML_GetErrorLineNumber   XML_GetCurrentLineNumber
    -#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber
    -#define XML_GetErrorByteIndex    XML_GetCurrentByteIndex
    -
    -/* Frees the content model passed to the element declaration handler */
    -XMLPARSEAPI(void)
    -XML_FreeContentModel(XML_Parser parser, XML_Content *model);
    -
    -/* Exposing the memory handling functions used in Expat */
    -XMLPARSEAPI(void *)
    -XML_MemMalloc(XML_Parser parser, size_t size);
    -
    -XMLPARSEAPI(void *)
    -XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
    -
    -XMLPARSEAPI(void)
    -XML_MemFree(XML_Parser parser, void *ptr);
    -
    -/* Frees memory used by the parser. */
    -XMLPARSEAPI(void)
    -XML_ParserFree(XML_Parser parser);
    -
    -/* Returns a string describing the error. */
    -XMLPARSEAPI(const XML_LChar *)
    -XML_ErrorString(enum XML_Error code);
    -
    -/* Return a string containing the version number of this expat */
    -XMLPARSEAPI(const XML_LChar *)
    -XML_ExpatVersion(void);
    -
    -typedef struct {
    -  int major;
    -  int minor;
    -  int micro;
    -} XML_Expat_Version;
    -
    -/* Return an XML_Expat_Version structure containing numeric version
    -   number information for this version of expat.
    -*/
    -XMLPARSEAPI(XML_Expat_Version)
    -XML_ExpatVersionInfo(void);
    -
    -/* Added in Expat 1.95.5. */
    -enum XML_FeatureEnum {
    -  XML_FEATURE_END = 0,
    -  XML_FEATURE_UNICODE,
    -  XML_FEATURE_UNICODE_WCHAR_T,
    -  XML_FEATURE_DTD,
    -  XML_FEATURE_CONTEXT_BYTES,
    -  XML_FEATURE_MIN_SIZE,
    -  XML_FEATURE_SIZEOF_XML_CHAR,
    -  XML_FEATURE_SIZEOF_XML_LCHAR
    -  /* Additional features must be added to the end of this enum. */
    -};
    -
    -typedef struct {
    -  enum XML_FeatureEnum  feature;
    -  const XML_LChar       *name;
    -  long int              value;
    -} XML_Feature;
    -
    -XMLPARSEAPI(const XML_Feature *)
    -XML_GetFeatureList(void);
    -
    -
    -/* Expat follows the GNU/Linux convention of odd number minor version for
    -   beta/development releases and even number minor version for stable
    -   releases. Micro is bumped with each release, and set to 0 with each
    -   change to major or minor version.
    -*/
    -#define XML_MAJOR_VERSION 1
    -#define XML_MINOR_VERSION 95
    -#define XML_MICRO_VERSION 8
    -
    -#ifdef __cplusplus
    -}
    -#endif
    -
    -#endif /* not XmlParse_INCLUDED */
    diff --git a/reactos/subsys/system/ibrowser/utility/xmlstorage.cpp b/reactos/subsys/system/ibrowser/utility/xmlstorage.cpp
    index 51019f3ebab..2d87601498f 100644
    --- a/reactos/subsys/system/ibrowser/utility/xmlstorage.cpp
    +++ b/reactos/subsys/system/ibrowser/utility/xmlstorage.cpp
    @@ -4,7 +4,7 @@
      //
      // xmlstorage.cpp
      //
    - // Copyright (c) 2004, Martin Fuchs 
    + // Copyright (c) 2004, 2005 Martin Fuchs 
      //
     
     
    @@ -426,11 +426,22 @@ std::string XMLReaderBase::get_error_string() const
     	  case XML_ERROR_UNBOUND_PREFIX:					return "XML_ERROR_UNBOUND_PREFIX";
      // EXPAT version >= 1.95.8
     #if XML_MAJOR_VERSION>1 || (XML_MAJOR_VERSION==1 && XML_MINOR_VERSION>95) || (XML_MAJOR_VERSION==1 && XML_MINOR_VERSION==95 && XML_MICRO_VERSION>7)
    +	  case XML_ERROR_UNDECLARING_PREFIX:				return "XML_ERROR_UNDECLARING_PREFIX";
    +	  case XML_ERROR_INCOMPLETE_PE:						return "XML_ERROR_INCOMPLETE_PE";
    +	  case XML_ERROR_XML_DECL:							return "XML_ERROR_XML_DECL";
    +	  case XML_ERROR_TEXT_DECL:							return "XML_ERROR_TEXT_DECL";
    +	  case XML_ERROR_PUBLICID:							return "XML_ERROR_PUBLICID";
     	  case XML_ERROR_SUSPENDED:							return "XML_ERROR_SUSPENDED";
     	  case XML_ERROR_NOT_SUSPENDED:						return "XML_ERROR_NOT_SUSPENDED";
     	  case XML_ERROR_ABORTED:							return "XML_ERROR_ABORTED";
     	  case XML_ERROR_FINISHED:							return "XML_ERROR_FINISHED";
     	  case XML_ERROR_SUSPEND_PE:						return "XML_ERROR_SUSPEND_PE";
    +//#endif
    +//#if XML_MAJOR_VERSION>=2
    +		/* Added in 2.0. */
    +	  case XML_ERROR_RESERVED_PREFIX_XML:				return "XML_ERROR_RESERVED_PREFIX_XML";
    +	  case XML_ERROR_RESERVED_PREFIX_XMLNS:				return "XML_ERROR_RESERVED_PREFIX_XMLNS";
    +	  case XML_ERROR_RESERVED_NAMESPACE_URI:			return "XML_ERROR_RESERVED_NAMESPACE_URI";
     #endif
     	}
     
    diff --git a/reactos/subsys/system/ibrowser/utility/xmlstorage.h b/reactos/subsys/system/ibrowser/utility/xmlstorage.h
    index 60b5fab1daf..8a0be9b2800 100644
    --- a/reactos/subsys/system/ibrowser/utility/xmlstorage.h
    +++ b/reactos/subsys/system/ibrowser/utility/xmlstorage.h
    @@ -4,7 +4,7 @@
      //
      // xmlstorage.h
      //
    - // Copyright (c) 2004, Martin Fuchs 
    + // Copyright (c) 2004, 2005 Martin Fuchs 
      //
     
     
    @@ -612,6 +612,23 @@ struct XMLNode : public XS_String
     		return out;
     	}
     
    +protected:
    +	Children _children;
    +	AttributeMap _attributes;
    +
    +	std::string _leading;
    +	std::string _content;
    +	std::string _end_leading;
    +	std::string _trailing;
    +
    +	XMLNode* get_first_child() const
    +	{
    +		if (!_children.empty())
    +			return _children.front();
    +		else
    +			return NULL;
    +	}
    +
     	XMLNode* find(const XS_String& name, int n=0) const
     	{
     		for(Children::const_iterator it=_children.begin(); it!=_children.end(); ++it)
    @@ -670,23 +687,6 @@ struct XMLNode : public XS_String
     	 /// relative XPath create function
     	XMLNode* create_relative(const char* path);
     
    -protected:
    -	Children _children;
    -	AttributeMap _attributes;
    -
    -	std::string _leading;
    -	std::string _content;
    -	std::string _end_leading;
    -	std::string _trailing;
    -
    -	XMLNode* get_first_child() const
    -	{
    -		if (!_children.empty())
    -			return _children.front();
    -		else
    -			return NULL;
    -	}
    -
     	void write_worker(std::ostream& out, int indent) const;
     	void pretty_write_worker(std::ostream& out, int indent) const;
     	void smart_write_worker(std::ostream& out, int indent) const;
    @@ -1533,6 +1533,8 @@ struct XMLReaderBase
     		return out.str();
     	}
     
    +	std::string get_instructions() const {return _instructions;}
    +
     	XML_Error	get_error_code() {return XML_GetErrorCode(_parser);}
     	std::string get_error_string() const;
     
    @@ -1541,6 +1543,7 @@ protected:
     	XML_Parser	_parser;
     	std::string _xml_version;
     	std::string _encoding;
    +	std::string	_instructions;
     
     	std::string _content;
     	enum {TAG_NONE, TAG_START, TAG_END} _last_tag;
    @@ -1592,11 +1595,14 @@ struct XMLHeader
     
     		if (!_doctype.empty())
     			out << _doctype << '\n';
    +		if (!_additional.empty())
    +			out << _additional << '\n';
     	}
     
     	std::string _version;
     	std::string _encoding;
     	std::string _doctype;
    +	std::string _additional;
     };
     
     
    @@ -1640,6 +1646,8 @@ struct XMLDoc : public XMLNode
     	{
     		XML_Status status = reader.read();
     
    +		_header._additional = reader.get_instructions();
    +
     		if (status == XML_STATUS_ERROR) {
     			std::ostringstream out;
     
    @@ -1656,6 +1664,8 @@ struct XMLDoc : public XMLNode
     	{
     		XML_Status status = reader.read();
     
    +		_header._additional = reader.get_instructions();
    +
     		if (status == XML_STATUS_ERROR) {
     			std::ostringstream out;
     
    @@ -1669,9 +1679,9 @@ struct XMLDoc : public XMLNode
     	}
     
     	 /// write XML stream preserving previous white space and comments
    -	std::ostream& write(std::ostream& out, WRITE_MODE mode=FORMAT_SMART, const XMLHeader& header=XMLHeader()) const
    +	std::ostream& write(std::ostream& out, WRITE_MODE mode=FORMAT_SMART) const
     	{
    -		header.print(out);
    +		_header.print(out);
     
     		if (!_children.empty())
     			_children.front()->write(out);
    @@ -1685,11 +1695,11 @@ struct XMLDoc : public XMLNode
     		return write(out, FORMAT_PRETTY);
     	}
     
    -	void write(LPCTSTR path, WRITE_MODE mode=FORMAT_SMART, const XMLHeader& header=XMLHeader()) const
    +	void write(LPCTSTR path, WRITE_MODE mode=FORMAT_SMART) const
     	{
     		tofstream out(path);
     
    -		write(out, mode, header);
    +		write(out, mode);
     	}
     
     	void write_formating(LPCTSTR path) const
    @@ -1699,6 +1709,7 @@ struct XMLDoc : public XMLNode
     		write_formating(out);
     	}
     
    +	XMLHeader	_header;
     	XML_Error	_last_error;
     	std::string _last_error_msg;
     };
    diff --git a/reactos/subsys/system/lsass/lsasrv.def b/reactos/subsys/system/lsass/lsasrv.def
    deleted file mode 100644
    index be8ee019c11..00000000000
    --- a/reactos/subsys/system/lsass/lsasrv.def
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -; $Id$
    -LIBRARY lsasrv
    -EXPORTS
    -LsaIAuditNotifyPackageLoad
    -LsaIAuditSamEvent
    -LsaIEnumerateSecrets
    -LsaIFree_LSAI_PRIVATE_DATA
    -LsaIFree_LSAI_SECRET_ENUM_BUFFER
    -LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER
    -LsaIFree_LSAPR_CR_CIPHER_VALUE
    -LsaIFree_LSAPR_POLICY_INFORMATION
    -LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
    -LsaIFree_LSAPR_PRIVILEGE_SET
    -LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST
    -LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR
    -LsaIFree_LSAPR_TRANSLATED_NAMES
    -LsaIFree_LSAPR_TRANSLATED_SIDS
    -LsaIFree_LSAPR_TRUSTED_DOMAIN_INFO
    -LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER
    -LsaIFree_LSAPR_TRUST_INFORMATION
    -LsaIFree_LSAPR_UNICODE_STRING
    -LsaIGetPrivateData
    -LsaIGetSerialNumberPolicy
    -LsaIGetSerialNumberPolicy2
    -LsaIHealthCheck
    -LsaIInitializeWellKnownSids
    -LsaIOpenPolicyTrusted
    -LsaIQueryInformationPolicyTrusted
    -LsaISetPrivateData
    -LsaISetSerialNumberPolicy
    -LsaISetTimesSecret
    -LsaISetupWasRun
    -LsapAuOpenSam
    -LsapInitLsa
    -LsarAddPrivilegesToAccount
    -LsarClose
    -LsarCreateAccount
    -LsarCreateSecret
    -LsarCreateTrustedDomain
    -LsarDelete
    -LsarEnumerateAccounts
    -LsarEnumeratePrivileges
    -LsarEnumeratePrivilegesAccount
    -LsarEnumerateTrustedDomains
    -LsarGetQuotasForAccount
    -LsarGetSystemAccessAccount
    -LsarLookupNames
    -LsarLookupPrivilegeDisplayName
    -LsarLookupPrivilegeName
    -LsarLookupPrivilegeValue
    -LsarLookupSids
    -LsarOpenAccount
    -LsarOpenPolicy
    -LsarOpenSecret
    -LsarOpenTrustedDomain
    -LsarQueryInfoTrustedDomain
    -LsarQueryInformationPolicy
    -LsarQuerySecret
    -LsarQuerySecurityObject
    -LsarRemovePrivilegesFromAccount
    -LsarSetInformationPolicy
    -LsarSetInformationTrustedDomain
    -LsarSetQuotasForAccount
    -LsarSetSecret
    -LsarSetSecurityObject
    -LsarSetSystemAccessAccount
    -ServiceInit
    -
    diff --git a/reactos/subsys/system/lsass/lsass.c b/reactos/subsys/system/lsass/lsass.c
    index f5191700874..8faac37c11a 100644
    --- a/reactos/subsys/system/lsass/lsass.c
    +++ b/reactos/subsys/system/lsass/lsass.c
    @@ -1,6 +1,6 @@
     /* $Id$
      *
    - * reactos/services/lsass/lsass.c
    + * reactos/subsys/system/lsass/lsass.c
      * 
      * ReactOS Operating System
      * 
    @@ -27,46 +27,38 @@
      * 		Compiled successfully with egcs 1.1.2
      */
     #include 
    -#include 
    +#include 
    +#include 
    +#include 
     
    -BOOL InitLsa(VOID); /* ./init.c */
    +#define NDEBUG
    +#include 
     
     
    -void
    -DisplayString( LPCWSTR lpwString )
    +int STDCALL
    +WinMain(HINSTANCE hInstance,
    +        HINSTANCE hPrevInstance,
    +        LPSTR lpCmdLine,
    +        int nShowCmd)
     {
    -	UNICODE_STRING us;
    +  NTSTATUS Status = STATUS_SUCCESS;
     
    -	us.Buffer = (LPWSTR) lpwString;
    -	us.Length = wcslen(lpwString) * sizeof (WCHAR);
    -	us.MaximumLength = us.Length + sizeof (WCHAR);
    -	NtDisplayString( & us );
    +  DPRINT("Local Security Authority Subsystem\n");
    +  DPRINT("  Initializing...\n");
    +
    +  Status = LsapInitLsa();
    +  if (!NT_SUCCESS(Status))
    +  {
    +    DPRINT1("LsapInitLsa() failed (Status 0x%08lX)\n", Status);
    +    goto ByeBye;
    +  }
    +
    +  /* FIXME: More initialization */
    +
    +ByeBye:
    +  NtTerminateThread(NtCurrentThread(), Status);
    +
    +  return 0;
     }
     
    -
    -/* Native image's entry point */
    -
    -VOID STDCALL
    -NtProcessStartup(PPEB Peb)
    -{
    -	DisplayString( L"Local Security Authority Subsystem:\n" );
    -	DisplayString( L"\tInitializing...\n" );
    -
    -	if (TRUE == InitLsa())
    -	{
    -		DisplayString( L"\tInitialization OK\n" );
    -		/* FIXME: do nothing loop */
    -		while (TRUE)
    -		{
    -			NtYieldExecution();
    -		}
    -	}
    -	else
    -	{
    -		DisplayString( L"\tInitialization failed!\n" );
    -	}
    -	NtTerminateProcess( NtCurrentProcess(), 0 );
    -}
    -
    -
     /* EOF */
    diff --git a/reactos/subsys/system/lsass/makefile b/reactos/subsys/system/lsass/makefile
    index 0d200a65122..040a42bc5f1 100644
    --- a/reactos/subsys/system/lsass/makefile
    +++ b/reactos/subsys/system/lsass/makefile
    @@ -4,13 +4,17 @@ PATH_TO_TOP = ../../..
     
     TARGET_TYPE = program
     
    -TARGET_APPTYPE = native
    +TARGET_APPTYPE = windows
     
     TARGET_NAME = lsass
     
     TARGET_INSTALLDIR = system32
     
    -TARGET_OBJECTS = $(TARGET_NAME).o init.o
    +TARGET_CFLAGS += -Wall -Werror -D__USE_W32API
    +
    +TARGET_OBJECTS = lsass.o
    +
    +TARGET_SDKLIBS = ntdll.a kernel32.a lsasrv.a
     
     include $(PATH_TO_TOP)/rules.mak
     
    diff --git a/reactos/subsys/system/reactos/De.rc b/reactos/subsys/system/reactos/De.rc
    index 1e835d3d6b3..8ad66ce6e32 100644
    --- a/reactos/subsys/system/reactos/De.rc
    +++ b/reactos/subsys/system/reactos/De.rc
    @@ -7,7 +7,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
     STRINGTABLE DISCARDABLE 
     BEGIN
         IDS_CAPTION  "ReactOS Setup"
    -    IDS_TEXT     "ReactOS kann nicht direct von dieser CD installiert werden!\n\n"\
    +    IDS_TEXT     "ReactOS kann nicht direkt von dieser CD installiert werden!\n\n"\
                      "Bitte starten Sie Ihren Computer mit dieser CD um ReactOS zu installieren."
     END
     
    diff --git a/reactos/subsys/system/regedt32/Makefile b/reactos/subsys/system/regedt32/Makefile
    deleted file mode 100644
    index 3d1256fa0f4..00000000000
    --- a/reactos/subsys/system/regedt32/Makefile
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -PATH_TO_TOP = ../../..
    -
    -TARGET_TYPE = program
    -
    -TARGET_APPTYPE = windows
    -
    -TARGET_NAME = regedt32
    -
    -TARGET_INSTALLDIR = system32
    -
    -TARGET_CFLAGS = -DGCC \
    -  -D__USE_W32API \
    -  -D__REACTOS__ \
    -  -D_WIN32_IE=0x600 \
    -  -D_WIN32_WINNT=0x501 \
    -  -DWINVER=0x501
    -
    -TARGET_RCFLAGS = -DGCC -D_WIN32_IE=0x0400 -D__USE_W32API
    -
    -TARGET_SDKLIBS = \
    -  kernel32.a \
    -  user32.a \
    -  gdi32.a \
    -  advapi32.a
    -
    -TARGET_GCCLIBS = comctl32 comdlg32
    -
    -TARGET_OBJECTS = \
    -  framewnd.o \
    -  childwnd.o \
    -  listview.o \
    -  treeview.o \
    -  settings.o \
    -  main.o
    -
    -include $(PATH_TO_TOP)/rules.mak
    -
    -include $(TOOLS_PATH)/helper.mk
    diff --git a/reactos/subsys/system/regedt32/StdAfx.cpp b/reactos/subsys/system/regedt32/StdAfx.cpp
    deleted file mode 100644
    index ece75b08dcd..00000000000
    --- a/reactos/subsys/system/regedt32/StdAfx.cpp
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -// stdafx.cpp : source file that includes just the standard includes
    -//  regedt32.pch will be the pre-compiled header
    -//  stdafx.obj will contain the pre-compiled type information
    -
    -#include "stdafx.h"
    -
    -// TODO: reference any additional headers you need in STDAFX.H
    -// and not in this file
    diff --git a/reactos/subsys/system/regedt32/StdAfx.h b/reactos/subsys/system/regedt32/StdAfx.h
    deleted file mode 100644
    index 1cad69ce499..00000000000
    --- a/reactos/subsys/system/regedt32/StdAfx.h
    +++ /dev/null
    @@ -1,32 +0,0 @@
    -// stdafx.h : include file for standard system include files,
    -//  or project specific include files that are used frequently, but
    -//      are changed infrequently
    -//
    -
    -#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
    -#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_
    -
    -#if _MSC_VER > 1000
    -#pragma once
    -#endif // _MSC_VER > 1000
    -
    -//#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    -
    -// Windows Header Files:
    -#include 
    -#include 
    -
    -// C RunTime Header Files
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -// Local Header Files
    -
    -// TODO: reference additional headers your program requires here
    -
    -//{{AFX_INSERT_LOCATION}}
    -// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
    -
    -#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
    diff --git a/reactos/subsys/system/regedt32/childwnd.c b/reactos/subsys/system/regedt32/childwnd.c
    deleted file mode 100644
    index d3bcaa01ad2..00000000000
    --- a/reactos/subsys/system/regedt32/childwnd.c
    +++ /dev/null
    @@ -1,285 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  childwnd.c
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifdef _MSC_VER
    -#include "stdafx.h"
    -#else
    -#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#endif
    -    
    -#include 
    -#define ASSERT assert
    -
    -#include "main.h"
    -#include "framewnd.h"
    -#include "childwnd.h"
    -#include "treeview.h"
    -#include "listview.h"
    -
    -#define	COLOR_SPLITBAR		LTGRAY_BRUSH
    -////////////////////////////////////////////////////////////////////////////////
    -// Global Variables:
    -//
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -// Local module support methods
    -//
    -
    -static void MakeFullRegPath(HWND hwndTV, HTREEITEM hItem, LPTSTR keyPath, int* pPathLen, int max)
    -{
    -    TVITEM item;
    -    item.mask = TVIF_PARAM;
    -    item.hItem = hItem;
    -    if (TreeView_GetItem(hwndTV, &item)) {
    -        if (item.hItem != TreeView_GetRoot(hwndTV)) {
    -            // recurse
    -            MakeFullRegPath(hwndTV, TreeView_GetParent(hwndTV, hItem), keyPath, pPathLen, max);
    -            keyPath[*pPathLen] = _T('\\');
    -            ++(*pPathLen);
    -        }
    -        item.mask = TVIF_TEXT;
    -        item.hItem = hItem;
    -        item.pszText = &keyPath[*pPathLen];
    -        item.cchTextMax = max - *pPathLen;
    -        if (TreeView_GetItem(hwndTV, &item)) {
    -            *pPathLen += _tcslen(item.pszText);
    -        }
    -    }
    -}
    -
    -static void draw_splitbar(HWND hWnd, int x)
    -{
    -	RECT rt;
    -	HDC hdc = GetDC(hWnd);
    -
    -	GetClientRect(hWnd, &rt);
    -	rt.left = x - SPLIT_WIDTH/2;
    -	rt.right = x + SPLIT_WIDTH/2+1;
    -	InvertRect(hdc, &rt);
    -	ReleaseDC(hWnd, hdc);
    -}
    -
    -static void ResizeWnd(ChildWnd* pChildWnd, int cx, int cy)
    -{
    -	HDWP hdwp = BeginDeferWindowPos(2);
    -	RECT rt = {0, 0, cx, cy};
    -
    -	cx = pChildWnd->nSplitPos + SPLIT_WIDTH/2;
    -	DeferWindowPos(hdwp, pChildWnd->hTreeWnd, 0, rt.left, rt.top, pChildWnd->nSplitPos-SPLIT_WIDTH/2-rt.left, rt.bottom-rt.top, SWP_NOZORDER|SWP_NOACTIVATE);
    -//	DeferWindowPos(hdwp, pChildWnd->hListWnd, 0, rt.left+cx+1, rt.top, rt.right-cx, rt.bottom-rt.top, SWP_NOZORDER|SWP_NOACTIVATE);
    -	DeferWindowPos(hdwp, pChildWnd->hListWnd, 0, rt.left+cx, rt.top, rt.right-cx, rt.bottom-rt.top, SWP_NOZORDER|SWP_NOACTIVATE);
    -	EndDeferWindowPos(hdwp);
    -}
    -
    -static void OnPaint(HWND hWnd, ChildWnd* pChildWnd)
    -{
    -    HBRUSH lastBrush;
    -	PAINTSTRUCT ps;
    -	RECT rt;
    -
    -	BeginPaint(hWnd, &ps);
    -	GetClientRect(hWnd, &rt);
    -    lastBrush = SelectObject(ps.hdc, (HBRUSH)GetStockObject(COLOR_SPLITBAR));
    -    Rectangle(ps.hdc, rt.left, rt.top-1, rt.right, rt.bottom+1);
    -    SelectObject(ps.hdc, lastBrush);
    -//    rt.top = rt.bottom - GetSystemMetrics(SM_CYHSCROLL);
    -//    FillRect(ps.hdc, &rt, GetStockObject(BLACK_BRUSH));
    -	EndPaint(hWnd, &ps);
    -}
    -
    -////////////////////////////////////////////////////////////////////////////////
    -//
    -//  FUNCTION: _CmdWndProc(HWND, unsigned, WORD, LONG)
    -//
    -//  PURPOSE:  Processes WM_COMMAND messages for the main frame window.
    -//
    -//
    -
    -static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    -{
    -	switch (LOWORD(wParam)) {
    -    // Parse the menu selections:
    -//    case ID_REGISTRY_EXIT:
    -//        DestroyWindow(hWnd);
    -//        break;
    -	default:
    -            return FALSE;
    -	}
    -	return TRUE;
    -}
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -//
    -//  FUNCTION: ChildWndProc(HWND, unsigned, WORD, LONG)
    -//
    -//  PURPOSE:  Processes messages for the child windows.
    -//
    -//  WM_COMMAND  - process the application menu
    -//  WM_PAINT    - Paint the main window
    -//  WM_DESTROY  - post a quit message and return
    -//
    -//
    -LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    -{
    -    static int last_split;
    -    ChildWnd* pChildWnd = (ChildWnd*)GetWindowLong(hWnd, GWL_USERDATA);
    -    ASSERT(pChildWnd);
    -
    -    switch (message) {
    -	case WM_CREATE:
    -        pChildWnd->nSplitPos = 250;
    -        pChildWnd->hTreeWnd = CreateTreeView(hWnd, pChildWnd->szKeyName, pChildWnd->hKey);
    -        pChildWnd->hListWnd = CreateListView(hWnd/*, &pChildWnd->root*/);
    -        break;
    -    case WM_COMMAND:
    -        if (!_CmdWndProc(hWnd, message, wParam, lParam)) {
    -            goto def;
    -        }
    -		break;
    -    case WM_PAINT:
    -        OnPaint(hWnd, pChildWnd);
    -        return 0;
    -	case WM_SETCURSOR:
    -		if (LOWORD(lParam) == HTCLIENT) {
    -			POINT pt;
    -			GetCursorPos(&pt);
    -			ScreenToClient(hWnd, &pt);
    -			if (pt.x>=pChildWnd->nSplitPos-SPLIT_WIDTH/2 && pt.xnSplitPos+SPLIT_WIDTH/2+1) {
    -				SetCursor(LoadCursor(0, IDC_SIZEWE));
    -				return TRUE;
    -			}
    -		}
    -		goto def;
    -
    -	case WM_LBUTTONDOWN: {
    -		RECT rt;
    -		int x = LOWORD(lParam);
    -		GetClientRect(hWnd, &rt);
    -		if (x>=pChildWnd->nSplitPos-SPLIT_WIDTH/2 && xnSplitPos+SPLIT_WIDTH/2+1) {
    -			last_split = pChildWnd->nSplitPos;
    -			draw_splitbar(hWnd, last_split);
    -			SetCapture(hWnd);
    -		}
    -		break;}
    -
    -	case WM_LBUTTONUP:
    -		if (GetCapture() == hWnd) {
    -			RECT rt;
    -			int x = LOWORD(lParam);
    -			draw_splitbar(hWnd, last_split);
    -			last_split = -1;
    -			GetClientRect(hWnd, &rt);
    -			pChildWnd->nSplitPos = x;
    -			ResizeWnd(pChildWnd, rt.right, rt.bottom);
    -			ReleaseCapture();
    -		}
    -		break;
    -
    -	case WM_CAPTURECHANGED:
    -		if (GetCapture()==hWnd && last_split>=0)
    -			draw_splitbar(hWnd, last_split);
    -		break;
    -	case WM_KEYDOWN:
    -		if (wParam == VK_ESCAPE)
    -			if (GetCapture() == hWnd) {
    -				RECT rt;
    -				draw_splitbar(hWnd, last_split);
    -				GetClientRect(hWnd, &rt);
    -                ResizeWnd(pChildWnd, rt.right, rt.bottom);
    -				last_split = -1;
    -				ReleaseCapture();
    -				SetCursor(LoadCursor(0, IDC_ARROW));
    -			}
    -		break;
    -
    -	case WM_MOUSEMOVE:
    -		if (GetCapture() == hWnd) {
    -			RECT rt;
    -			int x = LOWORD(lParam);
    -			HDC hdc = GetDC(hWnd);
    -			GetClientRect(hWnd, &rt);
    -			rt.left = last_split-SPLIT_WIDTH/2;
    -			rt.right = last_split+SPLIT_WIDTH/2+1;
    -			InvertRect(hdc, &rt);
    -			last_split = x;
    -			rt.left = x-SPLIT_WIDTH/2;
    -			rt.right = x+SPLIT_WIDTH/2+1;
    -			InvertRect(hdc, &rt);
    -			ReleaseDC(hWnd, hdc);
    -		}
    -		break;
    -
    -	case WM_SETFOCUS:
    -		SetFocus(pChildWnd->nFocusPanel? pChildWnd->hListWnd: pChildWnd->hTreeWnd);
    -		break;
    -
    -	case WM_NOTIFY:
    -        if ((int)wParam == TREE_WINDOW) {
    -            switch (((LPNMHDR)lParam)->code) { 
    -            case TVN_ITEMEXPANDING: 
    -                return !OnTreeExpanding(pChildWnd->hTreeWnd, (NMTREEVIEW*)lParam);
    -            case TVN_SELCHANGED:
    -                {
    -                    HKEY hKey;
    -                    TCHAR keyPath[1000];
    -                    int keyPathLen = 0;
    -                    keyPath[0] = _T('\0');
    -                    hKey = FindRegRoot(pChildWnd->hTreeWnd, ((NMTREEVIEW*)lParam)->itemNew.hItem, keyPath, &keyPathLen, sizeof(keyPath));
    -                    RefreshListView(pChildWnd->hListWnd, hKey, keyPath);
    -
    -                    keyPathLen = 0;
    -                    keyPath[0] = _T('\0');
    -                    MakeFullRegPath(pChildWnd->hTreeWnd, ((NMTREEVIEW*)lParam)->itemNew.hItem, keyPath, &keyPathLen, sizeof(keyPath));
    -                    SendMessage(hStatusBar, SB_SETTEXT, 0, (LPARAM)keyPath);
    -                }
    -                break;
    -            default:
    -                goto def;
    -            }
    -        } else
    -        if ((int)wParam == LIST_WINDOW) {
    -            if (!SendMessage(pChildWnd->hListWnd, message, wParam, lParam)) {
    -                goto def;
    -            }
    -        }
    -        break;
    -
    -	case WM_SIZE:
    -        if (wParam != SIZE_MINIMIZED && pChildWnd != NULL) {
    -	    	ResizeWnd(pChildWnd, LOWORD(lParam), HIWORD(lParam));
    -        }
    -        // fall through
    -    default: def:
    -        return DefMDIChildProc(hWnd, message, wParam, lParam);
    -   }
    -   return 0;
    -}
    diff --git a/reactos/subsys/system/regedt32/childwnd.h b/reactos/subsys/system/regedt32/childwnd.h
    deleted file mode 100644
    index 439c0c0ff12..00000000000
    --- a/reactos/subsys/system/regedt32/childwnd.h
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  childwnd.h
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifndef __CHILDWND_H__
    -#define __CHILDWND_H__
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -#if _MSC_VER > 1000
    -#pragma once
    -#endif // _MSC_VER > 1000
    -
    -
    -LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
    -    
    -
    -#ifdef __cplusplus
    -};
    -#endif
    -
    -#endif // __CHILDWND_H__
    diff --git a/reactos/subsys/system/regedt32/framewnd.c b/reactos/subsys/system/regedt32/framewnd.c
    deleted file mode 100644
    index e275a61ce75..00000000000
    --- a/reactos/subsys/system/regedt32/framewnd.c
    +++ /dev/null
    @@ -1,567 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  framewnd.c
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifdef _MSC_VER
    -#include "stdafx.h"
    -#else
    -//#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#endif
    -    
    -#include 
    -
    -#include "main.h"
    -#include "framewnd.h"
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -// Global and Local Variables:
    -//
    -
    -enum OPTION_FLAGS Options;
    -BOOL bInMenuLoop = FALSE;        // Tells us if we are in the menu loop
    -
    -static HHOOK hcbthook;
    -static ChildWnd* newchild = NULL;
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -// Local module support methods
    -//
    -
    -static void resize_frame_rect(HWND hWnd, PRECT prect)
    -{
    -	RECT rt;
    -/*
    -	if (IsWindowVisible(hToolBar)) {
    -		SendMessage(hToolBar, WM_SIZE, 0, 0);
    -		GetClientRect(hToolBar, &rt);
    -		prect->top = rt.bottom+3;
    -		prect->bottom -= rt.bottom+3;
    -	}
    - */
    -	if (IsWindowVisible(hStatusBar)) {
    -		SetupStatusBar(hWnd, TRUE);
    -		GetClientRect(hStatusBar, &rt);
    -		prect->bottom -= rt.bottom;
    -	}
    -	MoveWindow(hMDIClient, prect->left,prect->top,prect->right,prect->bottom, TRUE);
    -}
    -
    -static void resize_frame(HWND hWnd, int cx, int cy)
    -{
    -	RECT rect = {0, 0, cx, cy};
    -
    -	resize_frame_rect(hWnd, &rect);
    -}
    -
    -void resize_frame_client(HWND hWnd)
    -{
    -	RECT rect;
    -
    -	GetClientRect(hWnd, &rect);
    -	resize_frame_rect(hWnd, &rect);
    -}
    -
    -////////////////////////////////////////////////////////////////////////////////
    -
    -static LRESULT CALLBACK CBTProc(int code, WPARAM wParam, LPARAM lParam)
    -{
    -    if (code == HCBT_CREATEWND && newchild) {
    -        ChildWnd* pChildWnd = newchild;
    -        newchild = NULL;
    -        pChildWnd->hWnd = (HWND)wParam;
    -        SetWindowLong(pChildWnd->hWnd, GWL_USERDATA, (LPARAM)pChildWnd);
    -    }
    -    return CallNextHookEx(hcbthook, code, wParam, lParam);
    -}
    -
    -static ChildWnd* alloc_child_window(LPCTSTR szKeyName, HKEY hKey)
    -{
    -	ChildWnd* pChildWnd = (ChildWnd*)malloc(sizeof(ChildWnd));
    -
    -	memset(pChildWnd, 0, sizeof(ChildWnd));
    -	pChildWnd->pos.length = sizeof(WINDOWPLACEMENT);
    -	pChildWnd->pos.flags = 0;
    -	pChildWnd->pos.showCmd = SW_SHOWNORMAL;
    -	pChildWnd->pos.rcNormalPosition.left = CW_USEDEFAULT;
    -	pChildWnd->pos.rcNormalPosition.top = CW_USEDEFAULT;
    -	pChildWnd->pos.rcNormalPosition.right = CW_USEDEFAULT;
    -	pChildWnd->pos.rcNormalPosition.bottom = CW_USEDEFAULT;
    -	pChildWnd->nFocusPanel = 0;
    -	pChildWnd->nSplitPos = 300;
    -//	pChildWnd->visible_cols = COL_SIZE|COL_DATE|COL_TIME|COL_ATTRIBUTES;
    -//	pChildWnd->sortOrder = SORT_NAME;
    -//	pChildWnd->header_wdths_ok = FALSE;
    -	lstrcpy(pChildWnd->szKeyName, szKeyName); // MAX_PATH
    -	pChildWnd->hKey = hKey;
    -	return pChildWnd;
    -}
    -
    -static HWND CreateChildWindow(HWND hWnd, LPCTSTR szKeyName, HKEY hKey, int unused)
    -{
    -	ChildWnd* pChildWnd = alloc_child_window(szKeyName, hKey);
    -	if (pChildWnd != NULL) {
    -        MDICREATESTRUCT mcs = { szChildClass, szKeyName, hInst,
    -            CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    -            0/*style*/, (LPARAM)hKey/*lParam*/};
    -        hcbthook = SetWindowsHookEx(WH_CBT, CBTProc, 0, GetCurrentThreadId());
    -    	newchild = pChildWnd;
    -        pChildWnd->hWnd = (HWND)SendMessage(hMDIClient, WM_MDICREATE, 0, (LPARAM)&mcs);
    -        UnhookWindowsHookEx(hcbthook);
    -        if (pChildWnd->hWnd != NULL) {
    -            return pChildWnd->hWnd;
    -        } else {
    -            free(pChildWnd);
    -        	newchild = pChildWnd = NULL;
    -        }
    -	}
    -    return 0;
    -}
    -
    -void CreateClientChildren(HWND hWnd)
    -{
    -    CreateChildWindow(hWnd, _T("HKEY_CLASSES_ROOT"), HKEY_CLASSES_ROOT, 1);
    -    CreateChildWindow(hWnd, _T("HKEY_CURRENT_USER"), HKEY_CURRENT_USER, 1);
    -    CreateChildWindow(hWnd, _T("HKEY_LOCAL_MACHINE"), HKEY_LOCAL_MACHINE, 1);
    -    CreateChildWindow(hWnd, _T("HKEY_USERS"), HKEY_USERS, 1);
    -    CreateChildWindow(hWnd, _T("HKEY_CURRENT_CONFIG"), HKEY_CURRENT_CONFIG, 1);
    -    PostMessage(hMDIClient, WM_MDICASCADE, 0, 0);
    -}
    -
    -
    -static BOOL CALLBACK CloseEnumProc(HWND hWnd, LPARAM lParam)
    -{
    -    if (!GetWindow(hWnd, GW_OWNER)) {
    -        SendMessage(GetParent(hWnd), WM_MDIRESTORE, (WPARAM)hWnd, 0);
    -        if (SendMessage(hWnd, WM_QUERYENDSESSION, 0, 0)) {
    -            SendMessage(GetParent(hWnd), WM_MDIDESTROY, (WPARAM)hWnd, 0);
    -        }
    -    }
    -    return 1;
    -}
    -/*
    -UINT_PTR CALLBACK CFHookProc(
    -  HWND hdlg,      // handle to dialog box
    -  UINT uiMsg,     // message identifier
    -  WPARAM wParam,  // message parameter
    -  LPARAM lParam   // message parameter
    -);
    -
    -typedef UINT_PTR (CALLBACK *LPCFHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
    -
    -typedef struct { 
    -  DWORD        lStructSize; 
    -  HWND         hwndOwner; 
    -  HDC          hDC; 
    -  LPLOGFONT    lpLogFont; 
    -  INT          iPointSize; 
    -  DWORD        Flags; 
    -  COLORREF     rgbColors; 
    -  LPARAM       lCustData; 
    -  LPCFHOOKPROC lpfnHook; 
    -  LPCTSTR      lpTemplateName; 
    -  HINSTANCE    hInstance; 
    -  LPTSTR       lpszStyle; 
    -  WORD         nFontType; 
    -  WORD         ___MISSING_ALIGNMENT__; 
    -  INT          nSizeMin; 
    -  INT          nSizeMax; 
    -} CHOOSEFONT, *LPCHOOSEFONT; 
    - */
    -static void CmdOptionsFont(HWND hWnd)
    -{
    -//    LOGFONT LogFont;
    -    CHOOSEFONT cf = { sizeof(CHOOSEFONT), hWnd, NULL,
    -//        &LogFont,   // lpLogFont
    -        NULL,       // lpLogFont
    -        0,          // iPointSize
    -//        CF_INITTOLOGFONTSTRUCT, // Flags
    -        CF_SCREENFONTS,          // Flags
    -        0,          // rgbColors; 
    -        0L,         // lCustData; 
    -        NULL,       // lpfnHook; 
    -        NULL,       // lpTemplateName; 
    -        hInst,      // hInstance; 
    -        NULL,       // lpszStyle; 
    -        0,          // nFontType; 
    -        0,          // ___MISSING_ALIGNMENT__; 
    -        0,          // nSizeMin; 
    -        0           // nSizeMax
    -    };
    -
    -    if (ChooseFont(&cf)) {
    -
    -
    -    } else {
    -        TCHAR* errStr = NULL;
    -        DWORD error = CommDlgExtendedError();
    -        switch (error) {
    -        case CDERR_DIALOGFAILURE: errStr = _T("The dialog box could not be created. The common dialog box function's call to the DialogBox function failed. For example, this error occurs if the common dialog box call specifies an invalid window handle."); break;
    -        case CDERR_FINDRESFAILURE: errStr = _T("The common dialog box function failed to find a specified resource."); break;
    -        case CDERR_INITIALIZATION: errStr = _T("The common dialog box function failed during initialization. This error often occurs when sufficient memory is not available."); break;
    -        case CDERR_LOADRESFAILURE: errStr = _T("The common dialog box function failed to load a specified resource."); break;
    -        case CDERR_LOADSTRFAILURE: errStr = _T("The common dialog box function failed to load a specified string."); break;
    -        case CDERR_LOCKRESFAILURE: errStr = _T("The common dialog box function failed to lock a specified resource."); break;
    -        case CDERR_MEMALLOCFAILURE: errStr = _T("The common dialog box function was unable to allocate memory for internal structures."); break;
    -        case CDERR_MEMLOCKFAILURE: errStr = _T("The common dialog box function was unable to lock the memory associated with a handle."); break;
    -        case CDERR_NOHINSTANCE: errStr = _T("The ENABLETEMPLATE flag was set in the Flags member of the initialization structure for the corresponding common dialog box, but you failed to provide a corresponding instance handle."); break;
    -        case CDERR_NOHOOK: errStr = _T("The ENABLEHOOK flag was set in the Flags member of the initialization structure for the corresponding common dialog box, but you failed to provide a pointer to a corresponding hook procedure."); break;
    -        case CDERR_NOTEMPLATE: errStr = _T("The ENABLETEMPLATE flag was set in the Flags member of the initialization structure for the corresponding common dialog box, but you failed to provide a corresponding template."); break;
    -        case CDERR_REGISTERMSGFAIL: errStr = _T("The RegisterWindowMessage function returned an error code when it was called by the common dialog box function."); break;
    -        case CDERR_STRUCTSIZE: errStr = _T("The lStructSize member of the initialization structure for the corresponding common dialog box is invalid."); break;
    -        case CFERR_MAXLESSTHANMIN:
    -            break;
    -        case CFERR_NOFONTS:
    -            break;
    -        }
    -        if (errStr) {
    -            MessageBox(hWnd, errStr, szTitle, MB_ICONERROR | MB_OK);
    -        }
    -    }
    -}
    -
    -
    -static void CmdRegistryPrint(HWND hWnd, int cmd)
    -{
    -    PRINTDLG pd = { sizeof(PRINTDLG), hWnd,
    -        0, // hDevMode; 
    -        0, // hDevNames; 
    -        NULL, // hDC; 
    -        0L, // Flags; 
    -        0, // nFromPage; 
    -        0, // nToPage; 
    -        0, // nMinPage; 
    -        0, // nMaxPage; 
    -        0, // nCopies; 
    -        NULL, // hInstance; 
    -        0, // lCustData; 
    -        NULL, // lpfnPrintHook; 
    -        NULL, // lpfnSetupHook; 
    -        NULL, // lpPrintTemplateName; 
    -        NULL, // lpSetupTemplateName; 
    -        0, // hPrintTemplate; 
    -        0 // hSetupTemplate; 
    -    };
    -
    -    switch (cmd) {
    -    case ID_REGISTRY_PRINTSUBTREE:
    -        PrintDlg(&pd);
    -        break;
    -    case ID_REGISTRY_PRINTERSETUP:
    -        PrintDlg(&pd);
    -        break;
    -    }
    -    //PAGESETUPDLG psd;
    -    //PageSetupDlg(&psd);
    -}
    -/*
    -typedef struct tagOFN { 
    -  DWORD         lStructSize; 
    -  HWND          hwndOwner; 
    -  HINSTANCE     hInstance; 
    -  LPCTSTR       lpstrFilter; 
    -  LPTSTR        lpstrCustomFilter; 
    -  DWORD         nMaxCustFilter; 
    -  DWORD         nFilterIndex; 
    -  LPTSTR        lpstrFile; 
    -  DWORD         nMaxFile; 
    -  LPTSTR        lpstrFileTitle; 
    -  DWORD         nMaxFileTitle; 
    -  LPCTSTR       lpstrInitialDir; 
    -  LPCTSTR       lpstrTitle; 
    -  DWORD         Flags; 
    -  WORD          nFileOffset; 
    -  WORD          nFileExtension; 
    -  LPCTSTR       lpstrDefExt; 
    -  LPARAM        lCustData; 
    -  LPOFNHOOKPROC lpfnHook; 
    -  LPCTSTR       lpTemplateName; 
    -#if (_WIN32_WINNT >= 0x0500)
    -  void *        pvReserved;
    -  DWORD         dwReserved;
    -  DWORD         FlagsEx;
    -#endif // (_WIN32_WINNT >= 0x0500)
    -} OPENFILENAME, *LPOPENFILENAME; 
    - */
    -    //GetOpenFileName(...);
    -    //GetSaveFileName(...);
    -static void CmdRegistrySaveSubTreeAs(HWND hWnd)
    -{
    -    OPENFILENAME ofn;// = {    };
    -
    -    memset(&ofn, 0, sizeof(OPENFILENAME));
    -
    -    ofn.lStructSize = sizeof(OPENFILENAME); 
    -    ofn.hwndOwner = hWnd; 
    -    if (GetSaveFileName(&ofn)) {
    -    } else {
    -    }
    -}
    -
    -void SetupStatusBar(HWND hWnd, BOOL bResize)
    -{
    -    RECT  rc;
    -    int nParts;
    -    GetClientRect(hWnd, &rc);
    -    nParts = rc.right;
    -//    nParts = -1;
    -	if (bResize)
    -		SendMessage(hStatusBar, WM_SIZE, 0, 0);
    -	SendMessage(hStatusBar, SB_SETPARTS, 1, (LPARAM)&nParts);
    -}
    -
    -void UpdateStatusBar(void)
    -{
    -    TCHAR text[260];
    -	DWORD size;
    -
    -	size = sizeof(text)/sizeof(TCHAR);
    -	GetComputerName(text, &size);
    -    SendMessage(hStatusBar, SB_SETTEXT, 0, (LPARAM)text);
    -}
    -
    -static void toggle_child(HWND hWnd, UINT cmd, HWND hchild)
    -{
    -	BOOL vis = IsWindowVisible(hchild);
    -
    -	CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), cmd, vis?MF_BYCOMMAND:MF_BYCOMMAND|MF_CHECKED);
    -	ShowWindow(hchild, vis?SW_HIDE:SW_SHOW);
    -	resize_frame_client(hWnd);
    -}
    -
    -////////////////////////////////////////////////////////////////////////////////
    -//
    -//  FUNCTION: _CmdWndProc(HWND, unsigned, WORD, LONG)
    -//
    -//  PURPOSE:  Processes WM_COMMAND messages for the main frame window.
    -//
    -//
    -
    -static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    -{
    -    HWND hChildWnd;
    -    switch (LOWORD(wParam)) {
    -    case ID_WINDOW_CLOSEALL:
    -        EnumChildWindows(hMDIClient, &CloseEnumProc, 0);
    -        break;
    -    case ID_WINDOW_CLOSE:
    -        hChildWnd = (HWND) SendMessage(hMDIClient, WM_MDIGETACTIVE, 0, 0);
    -        if (!SendMessage(hChildWnd, WM_QUERYENDSESSION, 0, 0))
    -            SendMessage(hMDIClient, WM_MDIDESTROY, (WPARAM)hChildWnd, 0);
    -        break;
    -    case ID_REGISTRY_OPENLOCAL:
    -        CreateClientChildren(hWnd);
    -        break;
    -    case ID_REGISTRY_CLOSE:
    -        SendMessage(hWnd, WM_COMMAND, ID_WINDOW_CLOSEALL, 0);
    -//        SendMessage(hWnd, WM_CLOSE, 0, 0);
    -        break;
    -    case ID_REGISTRY_LOADHIVE:
    -    case ID_REGISTRY_UNLOADHIVE:
    -    case ID_REGISTRY_RESTORE:
    -    case ID_REGISTRY_SAVEKEY:
    -    case ID_REGISTRY_SELECTCOMPUTER:
    -        break;
    -    case ID_REGISTRY_PRINTSUBTREE:
    -    case ID_REGISTRY_PRINTERSETUP:
    -        CmdRegistryPrint(hWnd, LOWORD(wParam));
    -        break;
    -    case ID_REGISTRY_SAVESUBTREEAS:
    -        CmdRegistrySaveSubTreeAs(hWnd);
    -        break;
    -    case ID_REGISTRY_EXIT:
    -        DestroyWindow(hWnd);
    -        break;
    -    case ID_OPTIONS_FONT:
    -        CmdOptionsFont(hWnd);
    -        break;
    -
    -    case ID_VIEW_STATUSBAR:
    -		toggle_child(hWnd, LOWORD(wParam), hStatusBar);
    -        break;
    -
    -    case ID_VIEW_DISPLAYBINARYDATA:
    -        if (Options & OPTIONS_DISPLAY_BINARY_DATA) {
    -            Options &= ~OPTIONS_DISPLAY_BINARY_DATA;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), LOWORD(wParam), MF_BYCOMMAND);
    -        } else {
    -            Options |= OPTIONS_DISPLAY_BINARY_DATA;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        break;
    -////
    -    case ID_VIEW_TREEANDDATA:
    -        Options &= ~(OPTIONS_VIEW_TREE_ONLY|OPTIONS_VIEW_DATA_ONLY);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), ID_VIEW_TREEONLY, MF_BYCOMMAND);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), ID_VIEW_DATAONLY, MF_BYCOMMAND);
    -        break;
    -    case ID_VIEW_TREEONLY:
    -        Options &= ~OPTIONS_VIEW_DATA_ONLY;
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), ID_VIEW_TREEANDDATA, MF_BYCOMMAND);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), ID_VIEW_DATAONLY, MF_BYCOMMAND);
    -        break;
    -    case ID_VIEW_DATAONLY:
    -        Options &= ~OPTIONS_VIEW_TREE_ONLY;
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), ID_VIEW_TREEANDDATA, MF_BYCOMMAND);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), ID_VIEW_TREEONLY, MF_BYCOMMAND);
    -        break;
    -////
    -    case ID_OPTIONS_AUTOREFRESH:
    -        if (Options & OPTIONS_AUTO_REFRESH) {
    -            Options &= ~OPTIONS_AUTO_REFRESH;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND);
    -        } else {
    -            Options |= OPTIONS_AUTO_REFRESH;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        break;
    -    case ID_OPTIONS_READONLYMODE:
    -        if (Options & OPTIONS_READ_ONLY_MODE) {
    -            Options &= ~OPTIONS_READ_ONLY_MODE;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND);
    -        } else {
    -            Options |= OPTIONS_READ_ONLY_MODE;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        break;
    -    case ID_OPTIONS_CONFIRMONDELETE:
    -        if (Options & OPTIONS_CONFIRM_ON_DELETE) {
    -            Options &= ~OPTIONS_CONFIRM_ON_DELETE;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND);
    -        } else {
    -            Options |= OPTIONS_CONFIRM_ON_DELETE;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        break;
    -    case ID_OPTIONS_SAVESETTINGSONEXIT:
    -        if (Options & OPTIONS_SAVE_ON_EXIT) {
    -            Options &= ~OPTIONS_SAVE_ON_EXIT;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND);
    -        } else {
    -            Options |= OPTIONS_SAVE_ON_EXIT;
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), LOWORD(wParam), MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        break;
    -
    -    case ID_WINDOW_CASCADE:
    -        SendMessage(hMDIClient, WM_MDICASCADE, 0, 0);
    -        break;
    -    case ID_WINDOW_TILE_HORZ:
    -        SendMessage(hMDIClient, WM_MDITILE, MDITILE_HORIZONTAL, 0);
    -        break;
    -    case ID_WINDOW_TILE_VERT:
    -        SendMessage(hMDIClient, WM_MDITILE, MDITILE_VERTICAL, 0);
    -        break;
    -    case ID_WINDOW_ARRANGEICONS:
    -        SendMessage(hMDIClient, WM_MDIICONARRANGE, 0, 0);
    -        break;
    -    case ID_HELP_ABOUT:
    -//        ShowAboutBox(hWnd);
    -        {
    -        HICON hIcon = LoadIcon(hInst, (LPCTSTR)IDI_REGEDT32);
    -        ShellAbout(hWnd, szTitle, "FrameWndProc", hIcon);
    -        //if (hIcon) DestroyIcon(hIcon); // NOT REQUIRED
    -        }
    -        break;
    -    default:
    -        return FALSE;
    -	}
    -	return TRUE;
    -}
    -
    -////////////////////////////////////////////////////////////////////////////////
    -//
    -//  FUNCTION: FrameWndProc(HWND, unsigned, WORD, LONG)
    -//
    -//  PURPOSE:  Processes messages for the main frame window.
    -//
    -//  WM_COMMAND  - process the application menu
    -//  WM_DESTROY  - post a quit message and return
    -//
    -//
    -
    -LRESULT CALLBACK FrameWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    -{
    -    switch (message) {
    -    case WM_CREATE:
    -        {
    -        HMENU hMenuWindow = GetSubMenu(hMenuFrame, GetMenuItemCount(hMenuFrame)-2);
    -        CLIENTCREATESTRUCT ccs = { hMenuWindow, IDW_FIRST_CHILD };
    -        hMDIClient = CreateWindowEx(0, _T("MDICLIENT"), NULL,
    -                WS_EX_MDICHILD|WS_CHILD|WS_CLIPCHILDREN|WS_VISIBLE,
    -                0, 0, 0, 0,
    -                hWnd, (HMENU)0, hInst, &ccs);
    -        }
    -        if (Options & OPTIONS_AUTO_REFRESH) {
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), ID_OPTIONS_AUTOREFRESH, MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        if (Options & OPTIONS_READ_ONLY_MODE) {
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), ID_OPTIONS_READONLYMODE, MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        if (Options & OPTIONS_CONFIRM_ON_DELETE) {
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), ID_OPTIONS_CONFIRMONDELETE, MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        if (Options & OPTIONS_SAVE_ON_EXIT) {
    -            CheckMenuItem(GetSubMenu(hMenuFrame, ID_OPTIONS_MENU), ID_OPTIONS_SAVESETTINGSONEXIT, MF_BYCOMMAND | MF_CHECKED);
    -        }
    -        CreateClientChildren(hWnd);
    -	    break;
    -   	case WM_COMMAND:
    -        if (!_CmdWndProc(hWnd, message, wParam, lParam)) {
    -//            HWND hChildWnd = (HWND)SendMessage(hMDIClient, WM_MDIGETACTIVE, 0, 0);
    -//            if (IsWindow(hChildWnd))
    -//                if (SendMessage(hChildWnd, WM_DISPATCH_COMMAND, wParam, lParam))
    -//                    break;
    -   		    return DefFrameProc(hWnd, hMDIClient, message, wParam, lParam);
    -        }
    -	    break;
    -	case WM_SIZE:
    -        resize_frame_client(hWnd);
    -		break;
    -    case WM_DESTROY:
    -		WinHelp(hWnd, _T("regedt32"), HELP_QUIT, 0);
    -        PostQuitMessage(0);
    -        break;
    -    case WM_QUERYENDSESSION:
    -    case WM_CLOSE:
    -        SendMessage(hWnd, WM_COMMAND, ID_WINDOW_CLOSEALL, 0);
    -        if (GetWindow(hMDIClient, GW_CHILD) != NULL)
    -            return 0;
    -        // else fall thru...
    -    default:
    -        return DefFrameProc(hWnd, hMDIClient, message, wParam, lParam);
    -    }
    -    return 0;
    -}
    -
    -
    diff --git a/reactos/subsys/system/regedt32/framewnd.h b/reactos/subsys/system/regedt32/framewnd.h
    deleted file mode 100644
    index e04c67440f1..00000000000
    --- a/reactos/subsys/system/regedt32/framewnd.h
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  framewnd.h
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifndef __FRAMEWND_H__
    -#define __FRAMEWND_H__
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -#if _MSC_VER > 1000
    -#pragma once
    -#endif // _MSC_VER > 1000
    -
    -
    -LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
    -void CreateClientChildren(HWND hWnd);
    -    
    -void SetupStatusBar(HWND hWnd, BOOL bResize);
    -void UpdateStatusBar(void);
    -
    -
    -#ifdef __cplusplus
    -};
    -#endif
    -
    -#endif // __FRAMEWND_H__
    diff --git a/reactos/subsys/system/regedt32/listview.c b/reactos/subsys/system/regedt32/listview.c
    deleted file mode 100644
    index 47d64bff236..00000000000
    --- a/reactos/subsys/system/regedt32/listview.c
    +++ /dev/null
    @@ -1,363 +0,0 @@
    -/*
    - *  ReactOS regedit
    - *
    - *  listview.c
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifdef _MSC_VER
    -#include "stdafx.h"
    -#else
    -#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#endif
    -    
    -#include 
    -#include "main.h"
    -#include "listview.h"
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -// Global and Local Variables:
    -//
    -
    -static WNDPROC g_orgListWndProc;
    -
    -#define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1)
    -static int default_column_widths[MAX_LIST_COLUMNS] = { 200, 175, 400 };
    -static int column_alignment[MAX_LIST_COLUMNS] = { LVCFMT_LEFT, LVCFMT_LEFT, LVCFMT_LEFT };
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -// Local module support methods
    -//
    -
    -static void AddEntryToList(HWND hwndLV, LPTSTR Name, DWORD dwValType, void* ValBuf, DWORD dwCount)
    -{ 
    -    LVITEM item;
    -
    -    item.mask = LVIF_TEXT | LVIF_PARAM; 
    -    item.iItem = 0;//idx; 
    -    item.iSubItem = 0; 
    -    item.state = 0; 
    -    item.stateMask = 0; 
    -    item.pszText = Name; 
    -    item.cchTextMax = _tcslen(item.pszText); 
    -    item.iImage = 0; 
    -    item.lParam = (LPARAM)dwValType;
    -//    item.lParam = (LPARAM)ValBuf;
    -#if (_WIN32_IE >= 0x0300)
    -    item.iIndent = 0;
    -#endif
    -    ListView_InsertItem(hwndLV, &item);
    -}
    -
    -static void CreateListColumns(HWND hWndListView)
    -{
    -    TCHAR szText[50];
    -    int index;
    -    LV_COLUMN lvC;
    - 
    -    // Create columns.
    -    lvC.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
    -    lvC.pszText = szText;
    -
    -    // Load the column labels from the resource file.
    -    for (index = 0; index < MAX_LIST_COLUMNS; index++) {
    -        lvC.iSubItem = index;
    -        lvC.cx = default_column_widths[index];
    -        lvC.fmt = column_alignment[index];
    -        LoadString(hInst, IDS_LIST_COLUMN_FIRST + index, szText, sizeof(szText)/sizeof(TCHAR));
    -        if (ListView_InsertColumn(hWndListView, index, &lvC) == -1) {
    -            // TODO: handle failure condition...
    -            break;
    -        }
    -    }
    -}
    -
    -// OnGetDispInfo - processes the LVN_GETDISPINFO notification message. 
    - 
    -static void OnGetDispInfo(NMLVDISPINFO* plvdi)
    -{
    -    static TCHAR buffer[200];
    -
    -    plvdi->item.pszText = NULL;
    -    plvdi->item.cchTextMax = 0; 
    -
    -    switch (plvdi->item.iSubItem) {
    -    case 0:
    -        plvdi->item.pszText = _T("(Default)");
    -        break;
    -    case 1:
    -        switch (plvdi->item.lParam) {
    -        case REG_SZ:
    -            plvdi->item.pszText = _T("REG_SZ");
    -            break;
    -        case REG_EXPAND_SZ:
    -            plvdi->item.pszText = _T("REG_EXPAND_SZ");
    -            break;
    -        case REG_BINARY:
    -            plvdi->item.pszText = _T("REG_BINARY");
    -            break;
    -        case REG_DWORD:
    -            plvdi->item.pszText = _T("REG_DWORD");
    -            break;
    -//        case REG_DWORD_LITTLE_ENDIAN:
    -//            plvdi->item.pszText = _T("REG_DWORD_LITTLE_ENDIAN");
    -//            break;
    -        case REG_DWORD_BIG_ENDIAN:
    -            plvdi->item.pszText = _T("REG_DWORD_BIG_ENDIAN");
    -            break;
    -        case REG_MULTI_SZ:
    -            plvdi->item.pszText = _T("REG_MULTI_SZ");
    -            break;
    -        case REG_LINK:
    -            plvdi->item.pszText = _T("REG_LINK");
    -            break;
    -        case REG_RESOURCE_LIST:
    -            plvdi->item.pszText = _T("REG_RESOURCE_LIST");
    -            break;
    -        case REG_NONE:
    -            plvdi->item.pszText = _T("REG_NONE");
    -            break;
    -        default:
    -            wsprintf(buffer, _T("unknown(%d)"), plvdi->item.lParam);
    -            plvdi->item.pszText = buffer;
    -            break;
    -        }
    -        break;
    -    case 2:
    -        plvdi->item.pszText = _T("(value not set)");
    -        break;
    -    case 3:
    -        plvdi->item.pszText = _T("");
    -        break;
    -    }
    -} 
    -
    -static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
    -{
    -    TCHAR buf1[1000];
    -    TCHAR buf2[1000];
    -
    -    ListView_GetItemText((HWND)lParamSort, lParam1, 0, buf1, sizeof(buf1));
    -    ListView_GetItemText((HWND)lParamSort, lParam2, 0, buf2, sizeof(buf2));
    -    return _tcscmp(buf1, buf2);
    -}
    -
    -static void ListViewPopUpMenu(HWND hWnd, POINT pt)
    -{
    -}
    -
    -static BOOL _CmdWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    -{
    -	switch (LOWORD(wParam)) {
    -//    case ID_FILE_OPEN:
    -//        break;
    -	default:
    -        return FALSE;
    -	}
    -	return TRUE;
    -}
    -
    -static LRESULT CALLBACK ListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    -{
    -	switch (message) {
    -	case WM_COMMAND:
    -        if (!_CmdWndProc(hWnd, message, wParam, lParam)) {
    -            return CallWindowProc(g_orgListWndProc, hWnd, message, wParam, lParam);
    -        }
    -		break;
    -    case WM_NOTIFY:
    -        switch (((LPNMHDR)lParam)->code) { 
    -        case LVN_GETDISPINFO: 
    -            OnGetDispInfo((NMLVDISPINFO*)lParam); 
    -            break; 
    -        case NM_DBLCLK:
    -            {
    -            NMITEMACTIVATE* nmitem = (LPNMITEMACTIVATE)lParam;
    -            LVHITTESTINFO info;
    -
    -            if (nmitem->hdr.hwndFrom != hWnd) break; 
    -//            if (nmitem->hdr.idFrom != IDW_LISTVIEW) break; 
    -//            if (nmitem->hdr.code != ???) break; 
    -#ifdef _MSC_VER
    -            switch (nmitem->uKeyFlags) {
    -            case LVKF_ALT:     //  The ALT key is pressed.  
    -                // properties dialog box ?
    -                break;
    -            case LVKF_CONTROL: //  The CTRL key is pressed.
    -                // run dialog box for providing parameters...
    -                break;
    -            case LVKF_SHIFT:   //  The SHIFT key is pressed.   
    -                break;
    -            }
    -#endif
    -            info.pt.x = nmitem->ptAction.x;
    -            info.pt.y = nmitem->ptAction.y;
    -            if (ListView_HitTest(hWnd, &info) != -1) {
    -                LVITEM item;
    -                item.mask = LVIF_PARAM;
    -                item.iItem = info.iItem;
    -                if (ListView_GetItem(hWnd, &item)) {
    -                }
    -            }
    -            }
    -            break;
    -
    -        case NM_RCLICK:
    -            {
    -            int idx;
    -            LV_HITTESTINFO lvH;
    -            NM_LISTVIEW* pNm = (NM_LISTVIEW*)lParam;
    -            lvH.pt.x = pNm->ptAction.x;
    -            lvH.pt.y = pNm->ptAction.y;     
    -            idx = ListView_HitTest(hWnd, &lvH);
    -            if (idx != -1) {
    -                POINT pt;
    -                GetCursorPos(&pt);
    -                ListViewPopUpMenu(hWnd, pt);
    -                return idx;
    -            }
    -            }
    -            break;
    -
    -        default:
    -            return CallWindowProc(g_orgListWndProc, hWnd, message, wParam, lParam);
    -        }
    -		break;
    -	case WM_KEYDOWN:
    -		if (wParam == VK_TAB) {
    -			//TODO: SetFocus(Globals.hDriveBar)
    -			//SetFocus(child->nFocusPanel? child->left.hWnd: child->right.hWnd);
    -		}
    -        // fall thru...
    -    default:
    -        return CallWindowProc(g_orgListWndProc, hWnd, message, wParam, lParam);
    -        break;
    -	}
    -	return 0;
    -}
    -
    -
    -HWND CreateListView(HWND hwndParent)
    -{ 
    -    RECT rcClient;
    -    HWND hwndLV;
    - 
    -    // Get the dimensions of the parent window's client area, and create the list view control. 
    -    GetClientRect(hwndParent, &rcClient); 
    -    hwndLV = CreateWindowEx(0, WC_LISTVIEW, _T("List View"), 
    -        WS_VISIBLE | WS_CHILD | WS_EX_CLIENTEDGE | LVS_REPORT, 
    -        0, 0, rcClient.right, rcClient.bottom, 
    -        hwndParent, (HMENU)LIST_WINDOW, hInst, NULL); 
    -    ListView_SetExtendedListViewStyle(hwndLV,  LVS_EX_FULLROWSELECT);
    - 
    -    // Initialize the image list, and add items to the control. 
    -/*
    -    if (!InitListViewImageLists(hwndLV) || 
    -            !InitListViewItems(hwndLV, szName)) { 
    -        DestroyWindow(hwndLV); 
    -        return FALSE; 
    -    } 
    - */
    -    CreateListColumns(hwndLV);
    -	g_orgListWndProc = SubclassWindow(hwndLV, ListWndProc);
    -    return hwndLV;
    -} 
    -
    -BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPTSTR keyPath)
    -{ 
    -        if (hwndLV != NULL) {
    -            ListView_DeleteAllItems(hwndLV);
    -        }
    -
    -    if (hKey != NULL) {
    -        LONG errCode;
    -        HKEY hNewKey;
    -
    -
    -            DWORD max_sub_key_len;
    -            DWORD max_val_name_len;
    -            DWORD max_val_size;
    -            DWORD val_count;
    -            errCode = RegQueryInfoKey(hKey, NULL, NULL, NULL, NULL,
    -                        &max_sub_key_len, NULL, &val_count, &max_val_name_len, &max_val_size, NULL, NULL);
    -            if (errCode == ERROR_SUCCESS) {
    -                TCHAR* ValName = malloc(++max_val_name_len * sizeof(TCHAR));
    -                DWORD dwValNameLen = max_val_name_len;
    -                BYTE* ValBuf = malloc(++max_val_size);
    -                DWORD dwValSize = max_val_size;
    -                DWORD dwIndex = 0L;
    -                DWORD dwValType;
    -                while (RegEnumValue(hKey, dwIndex, ValName, &dwValNameLen, NULL, &dwValType, ValBuf, &dwValSize) == ERROR_SUCCESS) {
    -                    AddEntryToList(hwndLV, ValName, dwValType, ValBuf, dwIndex);
    -                    dwValNameLen = max_val_name_len;
    -                    dwValSize = max_val_size;
    -                    dwValType = 0L;
    -                    ++dwIndex;
    -                }
    -                free(ValBuf);
    -                free(ValName);
    -            }
    -
    -
    -        errCode = RegOpenKeyEx(hKey, keyPath, 0, KEY_READ, &hNewKey);
    -        if (errCode == ERROR_SUCCESS) {
    -            DWORD max_sub_key_len;
    -            DWORD max_val_name_len;
    -            DWORD max_val_size;
    -            DWORD val_count;
    -            ShowWindow(hwndLV, SW_HIDE);
    -            /* get size information and resize the buffers if necessary */
    -            errCode = RegQueryInfoKey(hNewKey, NULL, NULL, NULL, NULL,
    -                        &max_sub_key_len, NULL, &val_count, &max_val_name_len, &max_val_size, NULL, NULL);
    -            if (errCode == ERROR_SUCCESS) {
    -                TCHAR* ValName = malloc(++max_val_name_len * sizeof(TCHAR));
    -                DWORD dwValNameLen = max_val_name_len;
    -                BYTE* ValBuf = malloc(++max_val_size);
    -                DWORD dwValSize = max_val_size;
    -                DWORD dwIndex = 0L;
    -                DWORD dwValType;
    -                while (RegEnumValue(hNewKey, dwIndex, ValName, &dwValNameLen, NULL, &dwValType, ValBuf, &dwValSize) == ERROR_SUCCESS) {
    -                //while (RegEnumValue(hNewKey, dwIndex, ValName, &dwValNameLen, NULL, &dwValType, NULL, NULL) == ERROR_SUCCESS) {
    -                    AddEntryToList(hwndLV, ValName, dwValType, ValBuf, dwIndex);
    -                    dwValNameLen = max_val_name_len;
    -                    dwValSize = max_val_size;
    -                    dwValType = 0L;
    -                    ++dwIndex;
    -                }
    -                free(ValBuf);
    -                free(ValName);
    -            }
    -            //ListView_SortItemsEx(hwndLV, CompareFunc, hwndLV);
    -//            SendMessage(hwndLV, LVM_SORTITEMSEX, (WPARAM)CompareFunc, (LPARAM)hwndLV);
    -            ShowWindow(hwndLV, SW_SHOW);
    -            RegCloseKey(hNewKey);
    -        }
    -    }
    -    return TRUE;
    -} 
    -
    diff --git a/reactos/subsys/system/regedt32/listview.h b/reactos/subsys/system/regedt32/listview.h
    deleted file mode 100644
    index b17384afe9d..00000000000
    --- a/reactos/subsys/system/regedt32/listview.h
    +++ /dev/null
    @@ -1,43 +0,0 @@
    -/*
    - *  ReactOS regedit
    - *
    - *  listview.h
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifndef __LISTVIEW_H__
    -#define __LISTVIEW_H__
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -#if _MSC_VER > 1000
    -#pragma once
    -#endif // _MSC_VER > 1000
    -
    -
    -HWND CreateListView(HWND hwndParent);
    -BOOL RefreshListView(HWND hwndTV, HKEY hKey, LPTSTR keyPath);
    -
    -
    -#ifdef __cplusplus
    -};
    -#endif
    -
    -#endif // __LISTVIEW_H__
    diff --git a/reactos/subsys/system/regedt32/main.c b/reactos/subsys/system/regedt32/main.c
    deleted file mode 100644
    index 6d5730486a0..00000000000
    --- a/reactos/subsys/system/regedt32/main.c
    +++ /dev/null
    @@ -1,181 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  main.c
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifdef _MSC_VER
    -#include "stdafx.h"
    -#else
    -#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#endif
    -    
    -#include "main.h"
    -#include "framewnd.h"
    -#include "childwnd.h"
    -#include "settings.h"
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -// Global Variables:
    -//
    -
    -HINSTANCE hInst;
    -HACCEL    hAccel;
    -HWND      hFrameWnd;
    -HWND      hMDIClient;
    -HWND      hStatusBar;
    -HMENU     hMenuFrame;
    -
    -TCHAR szTitle[MAX_LOADSTRING];
    -TCHAR szFrameClass[MAX_LOADSTRING];
    -TCHAR szChildClass[MAX_LOADSTRING];
    -
    -
    -////////////////////////////////////////////////////////////////////////////////
    -//
    -//
    -//   FUNCTION: InitInstance(HANDLE, int)
    -//
    -//   PURPOSE: Saves instance handle and creates main window
    -//
    -//   COMMENTS:
    -//
    -//        In this function, we save the instance handle in a global variable and
    -//        create and display the main program window.
    -//
    -BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
    -{
    -    WNDCLASSEX wcFrame = {
    -        sizeof(WNDCLASSEX),
    -        CS_HREDRAW | CS_VREDRAW/*style*/,
    -        FrameWndProc,
    -        0/*cbClsExtra*/,
    -        0/*cbWndExtra*/,
    -        hInstance,
    -        LoadIcon(hInstance, MAKEINTRESOURCE(IDI_REGEDT32)),
    -        LoadCursor(0, IDC_ARROW),
    -        0/*hbrBackground*/,
    -        0/*lpszMenuName*/,
    -        szFrameClass,
    -        (HICON)LoadImage(hInstance, MAKEINTRESOURCE(IDI_REGEDT32), IMAGE_ICON,
    -            GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED)
    -    };
    -    ATOM hFrameWndClass = RegisterClassEx(&wcFrame); // register frame window class
    -
    -    WNDCLASSEX wcChild = {
    -        sizeof(WNDCLASSEX),
    -        CS_HREDRAW | CS_VREDRAW | CS_NOCLOSE/*style*/,
    -        ChildWndProc,
    -        0/*cbClsExtra*/,
    -        sizeof(HANDLE)/*cbWndExtra*/,
    -        hInstance,
    -        LoadIcon(hInstance, MAKEINTRESOURCE(IDI_REGEDT32)),
    -        LoadCursor(0, IDC_ARROW),
    -        0/*hbrBackground*/,
    -        0/*lpszMenuName*/,
    -        szChildClass,
    -        (HICON)LoadImage(hInstance, MAKEINTRESOURCE(IDI_REGEDT32), IMAGE_ICON,
    -            GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED)
    -
    -    };
    -    ATOM hChildWndClass = RegisterClassEx(&wcChild); // register child windows class
    -
    -    hMenuFrame = LoadMenu(hInstance, MAKEINTRESOURCE(IDR_REGEDT32_MENU));
    -//    hAccel = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_REGEDT32));
    -
    -    // Initialize the Windows Common Controls DLL
    -    InitCommonControls();
    -
    -    hFrameWnd = CreateWindowEx(0, (LPCTSTR)(int)hFrameWndClass, szTitle,
    -                    WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
    -                    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    -                    NULL, hMenuFrame, hInstance, NULL/*lpParam*/);
    -    if (!hFrameWnd) {
    -        return FALSE;
    -    }
    -
    -    // Create the status bar
    -    hStatusBar = CreateStatusWindow(WS_VISIBLE|WS_CHILD|WS_CLIPSIBLINGS|SBT_NOBORDERS, 
    -                                    _T(""), hFrameWnd, STATUS_WINDOW);
    -    if (hStatusBar) {
    -        // Create the status bar panes
    -        SetupStatusBar(hFrameWnd, FALSE);
    -        CheckMenuItem(GetSubMenu(hMenuFrame, ID_VIEW_MENU), ID_VIEW_STATUSBAR, MF_BYCOMMAND|MF_CHECKED);
    -    }
    -    ShowWindow(hFrameWnd, nCmdShow);
    -    UpdateWindow(hFrameWnd);
    -    return TRUE;
    -}
    -
    -////////////////////////////////////////////////////////////////////////////////
    -
    -void ExitInstance(void)
    -{
    -    DestroyMenu(hMenuFrame);
    -}
    -
    -int APIENTRY WinMain(HINSTANCE hInstance,
    -                     HINSTANCE hPrevInstance,
    -                     LPSTR     lpCmdLine,
    -                     int       nCmdShow)
    -{
    -    MSG msg;
    -//    HACCEL hAccel;
    -    HWND hMDIClient;
    -
    -    // Initialize global strings
    -    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    -    LoadString(hInstance, IDC_REGEDT32_FRAME, szFrameClass, MAX_LOADSTRING);
    -    LoadString(hInstance, IDC_REGEDT32, szChildClass, MAX_LOADSTRING);
    -    
    -    // Store instance handle in our global variable
    -    hInst = hInstance;
    -
    -    // Load our settings from the registry
    -    LoadSettings();
    -
    -    // Perform application initialization:
    -    if (!InitInstance(hInstance, nCmdShow)) {
    -        return FALSE;
    -    }
    -//    hAccel = LoadAccelerators(hInstance, (LPCTSTR)IDC_REGEDT32);
    -    hMDIClient = GetWindow(hFrameWnd, GW_CHILD);
    -
    -    // Main message loop:
    -    while (GetMessage(&msg, (HWND)NULL, 0, 0)) {
    -        if (!TranslateMDISysAccel(hMDIClient, &msg) &&
    -            !TranslateAccelerator(hFrameWnd, hAccel, &msg)) {
    -            TranslateMessage(&msg);
    -            DispatchMessage(&msg);
    -        }
    -    }
    -    // Save our settings to the registry
    -    SaveSettings();
    -    ExitInstance();
    -    return msg.wParam;
    -}
    diff --git a/reactos/subsys/system/regedt32/main.h b/reactos/subsys/system/regedt32/main.h
    deleted file mode 100644
    index 9d1dc4b4857..00000000000
    --- a/reactos/subsys/system/regedt32/main.h
    +++ /dev/null
    @@ -1,111 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  main.h
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifndef __MAIN_H__
    -#define __MAIN_H__
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -#if _MSC_VER > 1000
    -#pragma once
    -#endif // _MSC_VER > 1000
    -
    -#include "resource.h"
    -
    -
    -#define STATUS_WINDOW   2001
    -#define TREE_WINDOW     2002
    -#define LIST_WINDOW     2003
    -
    -#define MAX_LOADSTRING  100
    -#define	SPLIT_WIDTH		5
    -#define MAX_NAME_LEN    500
    -
    -
    -#define ID_WINDOW_CLOSE                 798
    -#define ID_WINDOW_CLOSEALL              799
    -
    -#define	IDW_FIRST_CHILD		0xC000	//0x200
    -
    -////////////////////////////////////////////////////////////////////////////////
    -
    -enum OPTION_FLAGS {
    -    OPTIONS_AUTO_REFRESH               = 0x01,
    -    OPTIONS_READ_ONLY_MODE             = 0x02,
    -    OPTIONS_CONFIRM_ON_DELETE          = 0x04,
    -    OPTIONS_SAVE_ON_EXIT          	   = 0x08,
    -    OPTIONS_DISPLAY_BINARY_DATA    	   = 0x10,
    -    OPTIONS_VIEW_TREE_ONLY       	   = 0x20,
    -    OPTIONS_VIEW_DATA_ONLY      	   = 0x40,
    -};
    -
    -typedef struct {
    -    HWND    hWnd;
    -    HWND    hTreeWnd;
    -    HWND    hListWnd;
    -    int     nFocusPanel;      // 0: left  1: right
    -	int		nSplitPos;
    -    WINDOWPLACEMENT pos;
    -	TCHAR	szKeyName[MAX_PATH];
    -    HKEY    hKey;
    -} ChildWnd;
    -
    -////////////////////////////////////////////////////////////////////////////////
    -// Global Variables:
    -//
    -extern HINSTANCE hInst;
    -extern HACCEL    hAccel;
    -extern HWND      hFrameWnd;
    -extern HMENU     hMenuFrame;
    -extern HWND      hMDIClient;
    -extern HWND      hStatusBar;
    -//extern HWND      hToolBar;
    -extern HFONT     hFont;
    -extern enum OPTION_FLAGS Options;
    -
    -extern TCHAR szTitle[];
    -extern TCHAR szFrameClass[];
    -extern TCHAR szChildClass[];
    -
    -#if __MINGW32_MAJOR_VERSION == 1
    -/*
    -typedef struct tagNMITEMACTIVATE{
    -    NMHDR   hdr;
    -    int     iItem;
    -    int     iSubItem;
    -    UINT    uNewState;
    -    UINT    uOldState;
    -    UINT    uChanged;
    -    POINT   ptAction;
    -    LPARAM  lParam;
    -    UINT    uKeyFlags;
    -} NMITEMACTIVATE, FAR *LPNMITEMACTIVATE;
    - */
    -#endif
    -
    -#ifdef __cplusplus
    -};
    -#endif
    -
    -#endif // __MAIN_H__
    diff --git a/reactos/subsys/system/regedt32/regedt32.rc b/reactos/subsys/system/regedt32/regedt32.rc
    deleted file mode 100644
    index e05a3e9c4cb..00000000000
    --- a/reactos/subsys/system/regedt32/regedt32.rc
    +++ /dev/null
    @@ -1,261 +0,0 @@
    -/* $Id$ */
    -
    -#include 
    -
    -#define REACTOS_STR_FILE_DESCRIPTION	"ReactOS Registry Editor 32 by Robert Dickenson\0"
    -#define REACTOS_STR_INTERNAL_NAME	"regedt32\0"
    -#define REACTOS_STR_ORIGINAL_FILENAME	"regedt32.exe\0"
    -#include 
    -
    -//Microsoft Developer Studio generated resource script.
    -//
    -
    -#define APSTUDIO_READONLY_SYMBOLS
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// Generated from the TEXTINCLUDE 2 resource.
    -//
    -#define APSTUDIO_HIDDEN_SYMBOLS
    -#include "windows.h"
    -#undef APSTUDIO_HIDDEN_SYMBOLS
    -#include "resource.h"
    -
    -/////////////////////////////////////////////////////////////////////////////
    -#undef APSTUDIO_READONLY_SYMBOLS
    -
    -/////////////////////////////////////////////////////////////////////////////
    -// English (U.S.) resources
    -
    -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
    -#ifdef _WIN32
    -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
    -#pragma code_page(1252)
    -#endif //_WIN32
    -
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// Icon
    -//
    -
    -// Icon with lowest ID value placed first to ensure application icon
    -// remains consistent on all systems.
    -IDI_REGEDT32            ICON    DISCARDABLE     "res/regedt32.ico"
    -IDI_SMALL               ICON    DISCARDABLE     "res/small.ico"
    -
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// Bitmap
    -//
    -
    -IDB_OPEN_FILE           BITMAP  DISCARDABLE     "res/folder3.bmp"
    -IDB_CLOSED_FILE         BITMAP  DISCARDABLE     "res/folder1.bmp"
    -IDB_ROOT                BITMAP  DISCARDABLE     "res/folder2.bmp"
    -
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// Menu
    -//
    -
    -IDR_REGEDT32_MENU MENU DISCARDABLE 
    -BEGIN
    -    POPUP "&Registry"
    -    BEGIN
    -        MENUITEM "&Open Local",                 ID_REGISTRY_OPENLOCAL
    -        MENUITEM "&Close",                      ID_REGISTRY_CLOSE
    -        MENUITEM SEPARATOR
    -        MENUITEM "&Load Hive",                  ID_REGISTRY_LOADHIVE, GRAYED
    -        MENUITEM "&Unload Hive",                ID_REGISTRY_UNLOADHIVE
    -        , GRAYED
    -        MENUITEM "R&estore...",                 ID_REGISTRY_RESTORE, GRAYED
    -        MENUITEM "Sa&ve Key...",                ID_REGISTRY_SAVEKEY, GRAYED
    -        MENUITEM SEPARATOR
    -        MENUITEM "&Select Computer...",         ID_REGISTRY_SELECTCOMPUTER, GRAYED
    -        MENUITEM SEPARATOR
    -        MENUITEM "&Print Subtree",              ID_REGISTRY_PRINTSUBTREE
    -        MENUITEM "P&rinter Setup...",           ID_REGISTRY_PRINTERSETUP
    -        MENUITEM "Save Subtree &As...",         ID_REGISTRY_SAVESUBTREEAS
    -        MENUITEM SEPARATOR
    -        MENUITEM "E&xit",                       ID_REGISTRY_EXIT
    -    END
    -    POPUP "&Edit"
    -    BEGIN
    -        MENUITEM "Add &Key...",                 ID_EDIT_ADDKEY, GRAYED
    -        MENUITEM "Add &Value...",               ID_EDIT_ADDVALUE, GRAYED
    -        MENUITEM "&Delete\tDel",                ID_EDIT_DELETE, GRAYED
    -        MENUITEM SEPARATOR
    -        MENUITEM "&Binary...",                  ID_EDIT_BINARY, GRAYED
    -        MENUITEM "&String...",                  ID_EDIT_STRING, GRAYED
    -        MENUITEM "D&WORD...",                   ID_EDIT_DWORD, GRAYED
    -        MENUITEM "&Multi String...",            ID_EDIT_MULTISTRING, GRAYED
    -    END
    -    POPUP "&Tree"
    -    BEGIN
    -        MENUITEM "E&xpand One Level\t+",        ID_TREE_EXPANDONELEVEL
    -        , GRAYED
    -        MENUITEM "Expand Branch\t*",            ID_TREE_EXPANDBRANCH, GRAYED
    -        MENUITEM "Expand &All\tCtrl+*",         ID_TREE_EXPANDALL, GRAYED
    -        MENUITEM "&Collapse Branch\t-",         ID_TREE_COLLAPSEBRANCH
    -        , GRAYED
    -    END
    -    POPUP "&View"
    -    BEGIN
    -        MENUITEM "Tree &and Data",              ID_VIEW_TREEANDDATA, CHECKED
    -        MENUITEM "&Tree only",                  ID_VIEW_TREEONLY
    -        MENUITEM "&Data only",                  ID_VIEW_DATAONLY
    -        MENUITEM SEPARATOR
    -        MENUITEM "Status &Bar",                 ID_VIEW_STATUSBAR
    -        MENUITEM "&Split",                      ID_VIEW_SPLIT, GRAYED
    -        MENUITEM SEPARATOR
    -        MENUITEM "Display &Binary Data",        ID_VIEW_DISPLAYBINARYDATA
    -        MENUITEM SEPARATOR
    -        MENUITEM "R&efresh All\tShift+F6",      ID_VIEW_REFRESHALL, GRAYED
    -        MENUITEM "&Refresh Active\tF6",         ID_VIEW_REFRESHACTIVE
    -        , GRAYED
    -        MENUITEM SEPARATOR
    -        MENUITEM "&Find Key...",                ID_VIEW_FINDKEY, GRAYED
    -    END
    -    POPUP "Security"
    -    BEGIN
    -        MENUITEM "&Permissions...",             ID_SECURITY_PERMISSIONS
    -        , GRAYED
    -    END
    -    POPUP "&Options"
    -    BEGIN
    -        MENUITEM "&Font...",                    ID_OPTIONS_FONT
    -        MENUITEM SEPARATOR
    -        MENUITEM "&Auto Refresh",               ID_OPTIONS_AUTOREFRESH
    -        MENUITEM "&Read Only Mode",             ID_OPTIONS_READONLYMODE
    -        MENUITEM "&Confirm on Delete",          ID_OPTIONS_CONFIRMONDELETE
    -        MENUITEM "&Save Settings on Exit",      ID_OPTIONS_SAVESETTINGSONEXIT
    -    END
    -    POPUP "&Window"
    -    BEGIN
    -        MENUITEM "&Cascade\tShift+F5",          ID_WINDOW_CASCADE
    -        MENUITEM "&Tile\tShift+F4",             ID_WINDOW_TILE
    -        MENUITEM "&Arrange Icons",              ID_WINDOW_ARRANGEICONS
    -    END
    -    POPUP "&Help"
    -    BEGIN
    -        MENUITEM "&Contents",                   ID_HELP_CONTENTS
    -        MENUITEM SEPARATOR
    -        MENUITEM "&About Registry Editor...",   ID_HELP_ABOUT
    -    END
    -END
    -
    -
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// Dialog
    -//
    -
    -IDD_ABOUTBOX DIALOG DISCARDABLE  22, 17, 230, 75
    -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
    -CAPTION "About"
    -FONT 8, "System"
    -BEGIN
    -    ICON            IDI_REGEDT32,IDI_REGEDT32,14,9,16,16
    -    LTEXT           "ReactOS regedt32 Version 1.0",IDC_STATIC,49,10,119,8,
    -                    SS_NOPREFIX
    -    LTEXT           "Copyright (C) 2002 ReactOS Team",IDC_STATIC,49,20,119,8
    -    DEFPUSHBUTTON   "OK",IDOK,195,6,30,11,WS_GROUP
    -END
    -
    -
    -#ifdef APSTUDIO_INVOKED
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// TEXTINCLUDE
    -//
    -
    -2 TEXTINCLUDE DISCARDABLE 
    -BEGIN
    -    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    -    "#include ""windows.h""\r\n"
    -    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    -    "#include ""resource.h""\r\n"
    -    "\0"
    -END
    -
    -3 TEXTINCLUDE DISCARDABLE 
    -BEGIN
    -    "\r\n"
    -    "\0"
    -END
    -
    -#endif    // APSTUDIO_INVOKED
    -
    -
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// String Table
    -//
    -
    -STRINGTABLE DISCARDABLE 
    -BEGIN
    -    IDS_LIST_COLUMN_NAME    "Name"
    -    IDS_LIST_COLUMN_TYPE    "Type"
    -    IDS_LIST_COLUMN_DATA    "Data"
    -END
    -
    -STRINGTABLE DISCARDABLE 
    -BEGIN
    -    IDS_APP_TITLE           "ReactOS Registry Editor"
    -    IDC_REGEDT32            "REGED32"
    -    IDC_REGEDT32_FRAME      "REGED32_FRAME"
    -    IDS_APP_REG_KEY         "\\Regedt32"
    -    IDS_APP_REG_PATH        RES_STR_ROSAPP_REGISTRY_ROOT
    -END
    -
    -#endif    // English (U.S.) resources
    -/////////////////////////////////////////////////////////////////////////////
    -
    -
    -/////////////////////////////////////////////////////////////////////////////
    -// English (Australia) resources
    -
    -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENA)
    -#ifdef _WIN32
    -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
    -#pragma code_page(1252)
    -#endif //_WIN32
    -
    -#ifdef APSTUDIO_INVOKED
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// TEXTINCLUDE
    -//
    -
    -1 TEXTINCLUDE DISCARDABLE 
    -BEGIN
    -    "resource.h\0"
    -END
    -
    -#endif    // APSTUDIO_INVOKED
    -
    -
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// String Table
    -//
    -
    -STRINGTABLE DISCARDABLE 
    -BEGIN
    -    ID_HELP_HELPTOPICS      "Opens Registry Editor Help."
    -    ID_HELP_ABOUT           "Displays program information, version number, and copyright."
    -END
    -
    -#endif    // English (Australia) resources
    -/////////////////////////////////////////////////////////////////////////////
    -
    -
    -
    -#ifndef APSTUDIO_INVOKED
    -/////////////////////////////////////////////////////////////////////////////
    -//
    -// Generated from the TEXTINCLUDE 3 resource.
    -//
    -
    -
    -/////////////////////////////////////////////////////////////////////////////
    -#endif    // not APSTUDIO_INVOKED
    -
    diff --git a/reactos/subsys/system/regedt32/regedt32.xml b/reactos/subsys/system/regedt32/regedt32.xml
    deleted file mode 100644
    index 3acc9891145..00000000000
    --- a/reactos/subsys/system/regedt32/regedt32.xml
    +++ /dev/null
    @@ -1,22 +0,0 @@
    -
    -	.
    -	
    -	
    -	
    -	0x600
    -	0x0501
    -	0x0501
    -	kernel32
    -	user32
    -	gdi32
    -	advapi32
    -	comctl32
    -	comdlg32
    -	framewnd.c
    -	childwnd.c
    -	listview.c
    -	treeview.c
    -	settings.c
    -	main.c
    -	regedt32.rc
    -
    diff --git a/reactos/subsys/system/regedt32/res/folder1.bmp b/reactos/subsys/system/regedt32/res/folder1.bmp
    deleted file mode 100644
    index dada286b64d..00000000000
    Binary files a/reactos/subsys/system/regedt32/res/folder1.bmp and /dev/null differ
    diff --git a/reactos/subsys/system/regedt32/res/folder2.bmp b/reactos/subsys/system/regedt32/res/folder2.bmp
    deleted file mode 100644
    index 35fedba962e..00000000000
    Binary files a/reactos/subsys/system/regedt32/res/folder2.bmp and /dev/null differ
    diff --git a/reactos/subsys/system/regedt32/res/folder3.bmp b/reactos/subsys/system/regedt32/res/folder3.bmp
    deleted file mode 100644
    index dfc3c4fb8c2..00000000000
    Binary files a/reactos/subsys/system/regedt32/res/folder3.bmp and /dev/null differ
    diff --git a/reactos/subsys/system/regedt32/res/regedt32.ico b/reactos/subsys/system/regedt32/res/regedt32.ico
    deleted file mode 100644
    index 386883523bc..00000000000
    Binary files a/reactos/subsys/system/regedt32/res/regedt32.ico and /dev/null differ
    diff --git a/reactos/subsys/system/regedt32/res/small.ico b/reactos/subsys/system/regedt32/res/small.ico
    deleted file mode 100644
    index 8f94d9aa828..00000000000
    Binary files a/reactos/subsys/system/regedt32/res/small.ico and /dev/null differ
    diff --git a/reactos/subsys/system/regedt32/resource.h b/reactos/subsys/system/regedt32/resource.h
    deleted file mode 100644
    index 1e95dc7c568..00000000000
    --- a/reactos/subsys/system/regedt32/resource.h
    +++ /dev/null
    @@ -1,112 +0,0 @@
    -//{{NO_DEPENDENCIES}}
    -// Microsoft Developer Studio generated include file.
    -// Used by regedt32.rc
    -//
    -
    -#define ID_REGISTRY_MENU                0
    -#define ID_EDIT_MENU                    1
    -#define ID_TREE_MENU                    2
    -#define ID_VIEW_MENU                    3
    -#define ID_SECURITY_MENU                4
    -#define ID_OPTIONS_MENU                 5
    -#define ID_WINDOW_MENU                  6
    -#define ID_HELP_MENU                    7
    -
    -#define IDS_LIST_COLUMN_FIRST           91
    -#define IDS_LIST_COLUMN_NAME            91
    -#define IDS_LIST_COLUMN_TYPE            92
    -#define IDS_LIST_COLUMN_DATA            93
    -#define IDS_LIST_COLUMN_LAST            93
    -
    -#define IDD_ABOUTBOX                    101
    -#define IDS_APP_TITLE                   102
    -#define IDI_REGEDT32                    103
    -#define IDI_SMALL                       104
    -#define IDC_REGEDT32                    105
    -#define IDC_REGEDT32_FRAME              106
    -#define IDR_REGEDT32_MENU               107
    -#define IDS_APP_REG_KEY                 108
    -#define IDS_APP_REG_PATH                109
    -
    -#define IDB_OPEN_FILE                   132
    -#define IDB_CLOSED_FILE                 133
    -#define IDB_ROOT                        134
    -
    -#define ID_REGISTRY_EXIT                32770
    -#define ID_WINDOW_TILE                  32772
    -#define ID_WINDOW_TILE_VERT             32772
    -#define ID_WINDOW_REFRESH               32773
    -#define ID_VIEW_STATUSBAR               32774
    -#define ID_VIEW_SPLIT                   32775
    -#define ID_VIEW_REFRESH                 32776
    -#define ID_EDIT_DELETE                  32778
    -#define ID_EDIT_RENAME                  32779
    -#define ID_EDIT_COPYKEYNAME             32781
    -#define ID_EDIT_FIND                    32782
    -#define ID_EDIT_FINDNEXT                32783
    -#define ID_EDIT_MODIFY                  32784
    -#define ID_EDIT_NEW_KEY                 32785
    -#define ID_EDIT_NEW_STRINGVALUE         32786
    -#define ID_EDIT_NEW_BINARYVALUE         32787
    -#define ID_EDIT_NEW_DWORDVALUE          32788
    -
    -#define ID_REGISTRY_IMPORTREGISTRYFILE  32789
    -#define ID_REGISTRY_EXPORTREGISTRYFILE  32790
    -#define ID_REGISTRY_CONNECTNETWORKREGISTRY 32791
    -#define ID_REGISTRY_DISCONNECTNETWORKREGISTRY 32792
    -#define ID_REGISTRY_PRINT               32793
    -#define ID_HELP_HELPTOPICS              32794
    -#define ID_HELP_ABOUT                   32795
    -#define ID_HELP_CONTENTS                32796
    -#define ID_WINDOW_CASCADE               32797
    -#define ID_WINDOW_TILE_HORZ             32798
    -#define ID_WINDOW_ARRANGEICONS          32799
    -#define ID_OPTIONS_FONT                 32800
    -#define ID_OPTIONS_AUTOREFRESH          32801
    -#define ID_OPTIONS_READONLYMODE         32802
    -#define ID_OPTIONS_CONFIRMONDELETE      32803
    -#define ID_OPTIONS_SAVESETTINGSONEXIT   32804
    -#define ID_SECURITY_PERMISSIONS         32805
    -#define ID_VIEW_TREEANDDATA             32806
    -#define ID_VIEW_TREEONLY                32807
    -#define ID_VIEW_DATAONLY                32808
    -#define ID_VIEW_DISPLAYBINARYDATA       32810
    -#define ID_VIEW_REFRESHALL              32811
    -#define ID_VIEW_REFRESHACTIVE           32812
    -#define ID_VIEW_FINDKEY                 32813
    -#define ID_TREE_EXPANDONELEVEL          32814
    -#define ID_TREE_EXPANDBRANCH            32815
    -#define ID_TREE_EXPANDALL               32816
    -#define ID_TREE_COLLAPSEBRANCH          32817
    -#define ID_EDIT_ADDKEY                  32818
    -#define ID_EDIT_ADDVALUE                32819
    -#define ID_EDIT_BINARY                  32821
    -#define ID_EDIT_STRING                  32822
    -#define ID_EDIT_DWORD                   32823
    -#define ID_EDIT_MULTISTRING             32824
    -#define ID_REGISTRY_OPENLOCAL           32825
    -#define ID_REGISTRY_CLOSE               32826
    -#define ID_REGISTRY_LOADHIVE            32827
    -#define ID_REGISTRY_UNLOADHIVE          32828
    -#define ID_REGISTRY_RESTORE             32829
    -#define ID_REGISTRY_SAVEKEY             32830
    -#define ID_REGISTRY_SELECTCOMPUTER      32831
    -#define ID_REGISTRY_PRINTSUBTREE        32832
    -#define ID_REGISTRY_PRINTERSETUP        32833
    -#define ID_REGISTRY_SAVESUBTREEAS       32834
    -
    -#define IDC_LICENSE_EDIT                1029
    -#define IDS_LICENSE                     32835
    -
    -#define IDC_STATIC                      -1
    -
    -// Next default values for new objects
    -// 
    -#ifdef APSTUDIO_INVOKED
    -#ifndef APSTUDIO_READONLY_SYMBOLS
    -#define _APS_NEXT_RESOURCE_VALUE        132
    -#define _APS_NEXT_COMMAND_VALUE         32836
    -#define _APS_NEXT_CONTROL_VALUE         1000
    -#define _APS_NEXT_SYMED_VALUE           110
    -#endif
    -#endif
    diff --git a/reactos/subsys/system/regedt32/settings.c b/reactos/subsys/system/regedt32/settings.c
    deleted file mode 100644
    index 3b88d7691f4..00000000000
    --- a/reactos/subsys/system/regedt32/settings.c
    +++ /dev/null
    @@ -1,126 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  settings.c
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -    
    -#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    -#include 
    -#include 
    -#include 
    -#define ASSERT assert
    -    
    -#include "main.h"
    -#include "settings.h"
    -
    -
    -static BOOL CheckResult(LONG error)
    -{
    -    if (error != ERROR_SUCCESS) {
    -    	PTSTR msg;
    -    	if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
    -	    	0, error, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (PTSTR)&msg, 0, NULL))
    -		    MessageBox(NULL, msg, szTitle, MB_ICONERROR | MB_OK);
    -    	else
    -	    	MessageBox(NULL, _T("Error"), szTitle, MB_ICONERROR | MB_OK);
    -    	LocalFree(msg);
    -        return FALSE;
    -    }
    -    return TRUE;
    -}
    -
    -static BOOL CreateRegistryPath(LPTSTR szRegPath, int nMaxLen)
    -{
    -    LPTSTR pRegPath = szRegPath;
    -
    -    // Initialise registry path string from application PATH and KEY resources
    -    int nLength = LoadString(hInst, IDS_APP_REG_PATH, szRegPath, nMaxLen);
    -    nLength += LoadString(hInst, IDS_APP_REG_KEY, szRegPath + nLength, nMaxLen - nLength);
    -    ASSERT(nLength < (nMaxLen - 1));
    -    szRegPath[nLength] = _T('\\');
    -
    -    // walk the registry path string creating the tree if required
    -    while (pRegPath = _tcschr(pRegPath, _T('\\'))) {
    -        LONG  result;
    -        HKEY  hKey = NULL;
    -        *pRegPath = _T('\0');
    -        // Open (or create) the key
    -        result = RegCreateKeyEx(HKEY_CURRENT_USER, szRegPath, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL);
    -        if (!CheckResult(result)) return FALSE;
    -        RegCloseKey(hKey);
    -        *pRegPath = _T('\\');
    -        pRegPath = pRegPath + 1;
    -    }
    -    szRegPath[nLength] = _T('\0');
    -    return TRUE;
    -}
    -
    -void LoadSettings(void)
    -{
    -    TCHAR szRegPath[MAX_LOADSTRING];
    -
    -    HKEY  hKey;
    -    DWORD dwSize;
    -    LONG  result;
    -
    -    if (!CreateRegistryPath(szRegPath, MAX_LOADSTRING)) return;
    -
    -    // Open the key
    -    result = RegOpenKeyEx(HKEY_CURRENT_USER, szRegPath, 0, KEY_READ, &hKey);
    -    if (!CheckResult(result)) return;
    -
    -    // Read the settings
    -    dwSize = sizeof(enum OPTION_FLAGS);
    -    result = RegQueryValueEx(hKey, _T("Preferences"), NULL, NULL, (LPBYTE)&Options, &dwSize);
    -
    -    // Close the key
    -    RegCloseKey(hKey);
    -}
    -
    -void SaveSettings(void)
    -{
    -    TCHAR szRegPath[MAX_LOADSTRING];
    -    HKEY hKey = NULL;
    -    LONG result;
    -
    -    if (!CreateRegistryPath(szRegPath, MAX_LOADSTRING)) return;
    -
    -    // Open the key
    -    result = RegOpenKeyEx(HKEY_CURRENT_USER, szRegPath, 0, KEY_READ | KEY_WRITE, &hKey);
    -    if (!CheckResult(result)) return;
    -
    -    // When options are NOT to be saved we reload the options word, clean the save bit and write it back
    -    if (!(Options & OPTIONS_SAVE_ON_EXIT)) {
    -        DWORD dwSize = sizeof(enum OPTION_FLAGS);
    -        result = RegQueryValueEx(hKey, _T("Preferences"), NULL, NULL, (LPBYTE)&Options, &dwSize);
    -        if (result == ERROR_SUCCESS) {
    -            Options &= ~OPTIONS_SAVE_ON_EXIT;
    -            RegSetValueEx(hKey, _T("Preferences"), 0, REG_DWORD, (LPBYTE)&Options, sizeof(enum OPTION_FLAGS));
    -        }
    -        goto abort;
    -    }
    -
    -    // Save the settings
    -    result = RegSetValueEx(hKey, _T("Preferences"), 0, REG_DWORD, (LPBYTE)&Options, sizeof(enum OPTION_FLAGS));
    -    if (!CheckResult(result)) goto abort;
    -
    -abort:
    -    // Close the key
    -    RegCloseKey(hKey);
    -}
    diff --git a/reactos/subsys/system/regedt32/settings.h b/reactos/subsys/system/regedt32/settings.h
    deleted file mode 100644
    index 060a4dc9788..00000000000
    --- a/reactos/subsys/system/regedt32/settings.h
    +++ /dev/null
    @@ -1,43 +0,0 @@
    -/*
    - *  ReactOS regedt32
    - *
    - *  settings.h
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -    
    -#ifndef __SETTINGS_H__
    -#define __SETTINGS_H__
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -#if _MSC_VER > 1000
    -#pragma once
    -#endif // _MSC_VER > 1000
    -
    -
    -void LoadSettings(void);
    -void SaveSettings(void);
    -
    -
    -#ifdef __cplusplus
    -};
    -#endif
    -
    -#endif // __SETTINGS_H__
    diff --git a/reactos/subsys/system/regedt32/treeview.c b/reactos/subsys/system/regedt32/treeview.c
    deleted file mode 100644
    index 5d8a2235269..00000000000
    --- a/reactos/subsys/system/regedt32/treeview.c
    +++ /dev/null
    @@ -1,259 +0,0 @@
    -/*
    - *  ReactOS regedit
    - *
    - *  treeview.c
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifdef _MSC_VER
    -#include "stdafx.h"
    -#else
    -#define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#endif
    -    
    -#include "main.h"
    -#include "treeview.h"
    -
    -
    -// Global variables and constants 
    -// Image_Open, Image_Closed, and Image_Root - integer variables for indexes of the images. 
    -// CX_BITMAP and CY_BITMAP - width and height of an icon. 
    -// NUM_BITMAPS - number of bitmaps to add to the image list. 
    -int Image_Open; 
    -int Image_Closed; 
    -int Image_Root; 
    -
    -#define CX_BITMAP    16
    -#define CY_BITMAP    16
    -#define NUM_BITMAPS  3
    -
    -
    -HKEY FindRegRoot(HWND hwndTV, HTREEITEM hItem, LPTSTR keyPath, int* pPathLen, int max)
    -{
    -    HKEY hKey = NULL;
    -    TVITEM item;
    -    item.mask = TVIF_PARAM;
    -    item.hItem = TreeView_GetParent(hwndTV, hItem);
    -
    -    if (TreeView_GetItem(hwndTV, &item)) {
    -        if (item.lParam == 0) {
    -            // recurse
    -            hKey = FindRegRoot(hwndTV, item.hItem, keyPath, pPathLen, max);
    -            keyPath[*pPathLen] = _T('\\');
    -            ++(*pPathLen);
    -            item.mask = TVIF_TEXT;
    -            item.hItem = hItem;
    -            item.pszText = &keyPath[*pPathLen];
    -            item.cchTextMax = max - *pPathLen;
    -            if (TreeView_GetItem(hwndTV, &item)) {
    -                *pPathLen += _tcslen(item.pszText);
    -            }
    -        } else {
    -            // found root key with valid key value
    -            hKey = (HKEY)item.lParam;
    -            item.mask = TVIF_TEXT;
    -            item.hItem = hItem;
    -//            item.pszText = &keyPath[*pPathLen];
    -            item.pszText = keyPath;
    -            item.cchTextMax = max;
    -            if (TreeView_GetItem(hwndTV, &item)) {
    -                *pPathLen += _tcslen(item.pszText);
    -            }
    -        }
    -    }
    -    return hKey;
    -}
    -
    -static HTREEITEM AddEntryToTree(HWND hwndTV, HTREEITEM hParent, LPTSTR label, HKEY hKey, DWORD dwChildren)
    -{ 
    -    HTREEITEM hItem = 0;
    -    TVITEM tvi; 
    -    TVINSERTSTRUCT tvins; 
    -
    -    tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_CHILDREN | TVIF_PARAM; 
    -    tvi.pszText = label; 
    -    tvi.cchTextMax = lstrlen(tvi.pszText); 
    -    tvi.iImage = Image_Closed; 
    -    tvi.iSelectedImage = Image_Open; 
    -    tvi.cChildren = dwChildren; 
    -    tvi.lParam = (LPARAM)hKey;
    -    tvins.item = tvi; 
    -    if (hKey) tvins.hInsertAfter = (HTREEITEM)TVI_LAST; 
    -    else      tvins.hInsertAfter = (HTREEITEM)TVI_SORT; 
    -    tvins.hParent = hParent; 
    -    hItem = (HTREEITEM)SendMessage(hwndTV, TVM_INSERTITEM, 0, (LPARAM)(LPTVINSERTSTRUCT)&tvins);
    -    return hItem;
    -}
    -
    -
    -static BOOL InitTreeViewItems(HWND hwndTV, LPTSTR szKeyName, HKEY hKey) 
    -{ 
    -    TVITEM tvi; 
    -    TVINSERTSTRUCT tvins; 
    -    HTREEITEM hRoot; 
    -
    -    tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_CHILDREN | TVIF_PARAM; 
    -    // Set the text of the item. 
    -    tvi.pszText = szKeyName; 
    -    tvi.cchTextMax = lstrlen(tvi.pszText); 
    -    // Assume the item is not a parent item, so give it an image. 
    -    tvi.iImage = Image_Root; 
    -    tvi.iSelectedImage = Image_Root; 
    -    tvi.cChildren = 5; 
    -    // Save the heading level in the item's application-defined data area. 
    -    //tvi.lParam = (LPARAM)NULL;
    -    tvi.lParam = (LPARAM)hKey;
    -    tvins.item = tvi; 
    -    tvins.hInsertAfter = (HTREEITEM)TVI_FIRST; 
    -    tvins.hParent = TVI_ROOT; 
    -    // Add the item to the tree view control. 
    -    hRoot = (HTREEITEM)SendMessage(hwndTV, TVM_INSERTITEM, 0, (LPARAM)(LPTVINSERTSTRUCT)&tvins); 
    -
    -//    AddEntryToTree(hwndTV, hRoot, _T("HKEY_CLASSES_ROOT"), HKEY_CLASSES_ROOT, 1);
    -//    AddEntryToTree(hwndTV, hRoot, _T("HKEY_CURRENT_USER"), HKEY_CURRENT_USER, 1);
    -//    AddEntryToTree(hwndTV, hRoot, _T("HKEY_LOCAL_MACHINE"), HKEY_LOCAL_MACHINE, 1);
    -//    AddEntryToTree(hwndTV, hRoot, _T("HKEY_USERS"), HKEY_USERS, 1);
    -//    AddEntryToTree(hwndTV, hRoot, _T("HKEY_CURRENT_CONFIG"), HKEY_CURRENT_CONFIG, 1);
    -
    -    return TRUE; 
    -} 
    -
    -// InitTreeViewImageLists - creates an image list, adds three bitmaps 
    -// to it, and associates the image list with a tree view control. 
    -// Returns TRUE if successful, or FALSE otherwise. 
    -// hwndTV - handle to the tree view control. 
    -
    -static BOOL InitTreeViewImageLists(HWND hwndTV) 
    -{ 
    -    HIMAGELIST himl;  // handle to image list 
    -    HBITMAP hbmp;     // handle to bitmap 
    -
    -    // Create the image list. 
    -    if ((himl = ImageList_Create(CX_BITMAP, CY_BITMAP, 
    -        FALSE, NUM_BITMAPS, 0)) == NULL) 
    -        return FALSE; 
    -
    -    // Add the open file, closed file, and document bitmaps. 
    -    hbmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_OPEN_FILE)); 
    -    Image_Open = ImageList_Add(himl, hbmp, (HBITMAP) NULL); 
    -    DeleteObject(hbmp); 
    -
    -    hbmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_CLOSED_FILE)); 
    -    Image_Closed = ImageList_Add(himl, hbmp, (HBITMAP) NULL); 
    -    DeleteObject(hbmp); 
    -
    -    hbmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_ROOT)); 
    -    Image_Root = ImageList_Add(himl, hbmp, (HBITMAP) NULL); 
    -    DeleteObject(hbmp); 
    -
    -    // Fail if not all of the images were added. 
    -    if (ImageList_GetImageCount(himl) < 3) 
    -        return FALSE; 
    -
    -    // Associate the image list with the tree view control. 
    -    TreeView_SetImageList(hwndTV, himl, TVSIL_NORMAL); 
    -
    -    return TRUE; 
    -} 
    -
    -BOOL OnTreeExpanding(HWND hwndTV, NMTREEVIEW* pnmtv)
    -{ 
    -    HKEY hKey;
    -    TCHAR keyPath[1000];
    -    int keyPathLen = 0;
    -
    -    static int expanding;
    -    if (expanding) return FALSE;
    -    if (pnmtv->itemNew.state & TVIS_EXPANDEDONCE ) {
    -        return TRUE;
    -    }
    -    expanding = TRUE;
    -
    -    // check if this is either the root or a subkey item...
    -    if ((HKEY)pnmtv->itemNew.lParam == NULL) {
    -        keyPath[0] = _T('\0');
    -        hKey = FindRegRoot(hwndTV, pnmtv->itemNew.hItem, keyPath, &keyPathLen, sizeof(keyPath));
    -    } else {
    -        hKey = (HKEY)pnmtv->itemNew.lParam;
    -        keyPath[0] = _T('\0');
    -    }
    -
    -    if (hKey != NULL) {
    -        HKEY hNewKey;
    -        LONG errCode = RegOpenKeyEx(hKey, keyPath, 0, KEY_READ, &hNewKey);
    -        if (errCode == ERROR_SUCCESS) {
    -            TCHAR Name[MAX_NAME_LEN];
    -            DWORD cName = MAX_NAME_LEN;
    -            FILETIME LastWriteTime;
    -            DWORD dwIndex = 0L;
    -            //ShowWindow(hwndTV, SW_HIDE);
    -            while (RegEnumKeyEx(hNewKey, dwIndex, Name, &cName, NULL, NULL, NULL, &LastWriteTime) == ERROR_SUCCESS) {
    -                DWORD dwCount = 0L;
    -                errCode = RegOpenKeyEx(hNewKey, Name, 0, KEY_READ, &hKey);
    -                if (errCode == ERROR_SUCCESS) {
    -                    TCHAR SubName[MAX_NAME_LEN];
    -                    DWORD cSubName = MAX_NAME_LEN;
    -//                    if (RegEnumKeyEx(hKey, 0, SubName, &cSubName, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) {
    -                    while (RegEnumKeyEx(hKey, dwCount, SubName, &cSubName, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) {
    -                        ++dwCount;
    -                    }
    -                }
    -                RegCloseKey(hKey);
    -                AddEntryToTree(hwndTV, pnmtv->itemNew.hItem, Name, NULL, dwCount);
    -                cName = MAX_NAME_LEN;
    -                ++dwIndex;
    -            }
    -	        //ShowWindow(hwndTV, SW_SHOWNOACTIVATE);
    -            RegCloseKey(hNewKey);
    -        }
    -    } else {
    -    }
    -    expanding = FALSE;
    -    return TRUE;
    -} 
    -
    -// CreateTreeView - creates a tree view control. 
    -// Returns the handle to the new control if successful, or NULL otherwise. 
    -// hwndParent - handle to the control's parent window. 
    -
    -HWND CreateTreeView(HWND hwndParent, LPTSTR szKeyName, HKEY hKey) 
    -{ 
    -    RECT rcClient;
    -    HWND hwndTV;
    - 
    -    // Get the dimensions of the parent window's client area, and create the tree view control. 
    -    GetClientRect(hwndParent, &rcClient); 
    -    hwndTV = CreateWindowEx(0, WC_TREEVIEW, _T("Tree View"), 
    -        WS_VISIBLE | WS_CHILD | WS_EX_CLIENTEDGE | TVS_HASLINES | TVS_HASBUTTONS | TVS_LINESATROOT,
    -        0, 0, rcClient.right, rcClient.bottom, 
    -        hwndParent, (HMENU)TREE_WINDOW, hInst, NULL); 
    -    // Initialize the image list, and add items to the control. 
    -    if (!InitTreeViewImageLists(hwndTV) || !InitTreeViewItems(hwndTV, szKeyName, hKey)) { 
    -        DestroyWindow(hwndTV); 
    -        return NULL; 
    -    } 
    -    return hwndTV;
    -} 
    diff --git a/reactos/subsys/system/regedt32/treeview.h b/reactos/subsys/system/regedt32/treeview.h
    deleted file mode 100644
    index 61150ef1382..00000000000
    --- a/reactos/subsys/system/regedt32/treeview.h
    +++ /dev/null
    @@ -1,44 +0,0 @@
    -/*
    - *  ReactOS regedit
    - *
    - *  treeview.h
    - *
    - *  Copyright (C) 2002  Robert Dickenson 
    - *
    - *  This program is free software; you can redistribute it and/or modify
    - *  it under the terms of the GNU General Public License as published by
    - *  the Free Software Foundation; either version 2 of the License, or
    - *  (at your option) any later version.
    - *
    - *  This program is distributed in the hope that it will be useful,
    - *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    - *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    - *  GNU General Public License for more details.
    - *
    - *  You should have received a copy of the GNU General Public License
    - *  along with this program; if not, write to the Free Software
    - *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    - */
    -
    -#ifndef __TREEVIEW_H__
    -#define __TREEVIEW_H__
    -
    -#ifdef __cplusplus
    -extern "C" {
    -#endif
    -
    -#if _MSC_VER > 1000
    -#pragma once
    -#endif // _MSC_VER > 1000
    -
    -
    -HWND CreateTreeView(HWND hwndParent, LPTSTR szKeyName, HKEY hKey);
    -BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW* pnmtv);
    -HKEY FindRegRoot(HWND hwndTV, HTREEITEM hItem, LPTSTR keyPath, int* pPathLen, int max);
    -
    -
    -#ifdef __cplusplus
    -};
    -#endif
    -
    -#endif // __TREEVIEW_H__
    diff --git a/reactos/subsys/system/reporterror/De.rc b/reactos/subsys/system/reporterror/De.rc
    new file mode 100644
    index 00000000000..9d6ac0e4b02
    --- /dev/null
    +++ b/reactos/subsys/system/reporterror/De.rc
    @@ -0,0 +1,53 @@
    +LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
    +
    +IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
    +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
    +CAPTION "Fehlerbericht Assistent"
    +FONT 8, "MS Shell Dlg", 0, 0, 0x0
    +BEGIN
    +  LTEXT "Das System hat einen Fehler entdeckt.", -1, 115, 15, 160, 24
    +  LTEXT "Wollen Sie den Fehlerbericht an das ReactOS Projekt schicken?", -1, 115, 35, 160, 17
    +END
    +
    +IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
    +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
    +CAPTION "Fehlerbericht Assistent"
    +FONT 8, "MS Shell Dlg", 0, 0, 0x0
    +BEGIN
    +  LTEXT "Bitte beschreiben Sie was sie gerade gemacht haben als der Fehler auftrat.\n\nKlicken Sie auf 'Weiter' um den Fehlerbricht and das ReactOS Projekt zu senden oder 'Abbrechen' um keine Informationen zu senden.",-1,10,0,255,40
    +  LTEXT "Ihre E-Mail Addresse (freiwillig):",-1,10,40,120,20
    +  EDITTEXT IDE_SUBMIT_REPORT_YOUR_EMAIL, 120,40,140,12
    +  LTEXT "Beschreibung des Problems/Fehlers (freiwillig):",-1,10,55,160,20
    +  EDITTEXT IDE_SUBMIT_REPORT_PROBLEM_DESCRIPTION,10,65,250,55,ES_WANTRETURN|ES_MULTILINE|ES_LEFT|WS_BORDER|WS_TABSTOP|WS_VSCROLL
    +END
    +
    +IDD_SUBMITTING_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
    +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
    +CAPTION "Fehlerbericht Assistent"
    +FONT 8, "MS Shell Dlg", 0, 0, 0x0
    +BEGIN
    +  LTEXT "{STATUS}",IDC_SUBMISSION_STATUS,25,58,225,8
    +  CONTROL "", IDC_SUBMITTING_IN_PROGRESS, "msctls_progress32", PBS_MARQUEE | WS_CHILD | WS_VISIBLE | WS_BORDER, 25, 80, 225, 8
    +END
    +
    +IDD_SUBMITTED_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
    +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
    +CAPTION "Fehlerbericht Assistent"
    +FONT 8, "MS Shell Dlg", 0, 0, 0x0
    +BEGIN
    +  LTEXT "Ihr Fehlerbericht wurde erfolgreich an das ReactOS Projekt gesendet.",-1,25,5,225,20
    +END
    +
    +STRINGTABLE
    +BEGIN
    +  IDS_WIZARD_NAME "Fehlerbericht an das ReactOS Projekt senden"
    +  IDS_FAILED_TO_CONTACT_SERVER "Das System war nicht in der Lage den ReactOS Fehlerbericht Server zu kontaktieren.\nBitte vergewissern Sie sich das ihr System mit dem Internet verbunden ist."
    +  IDS_FAILED_TO_DELIVER_ERROR_REPORT "Das System konnte den Fehlerbericht nicht versenden."
    +END
    +
    +STRINGTABLE
    +BEGIN
    +  IDS_CONTACTING_SERVER "Verbindung mit dem ReactOS Fehlerbericht Server wird hergestellt ..."
    +  IDS_FAILED_TO_INITIALIZE_WINSOCK "Fehler beim initialisieren von winsock (windows/ReactOS Fehlercode %d)"
    +  IDS_FAILED_TO_LOCATE_SERVER "Verbindung mit dem ReactOS Fehlerbericht Server konnte nicht hergestellt werden."
    +END
    diff --git a/reactos/subsys/system/reporterror/En.rc b/reactos/subsys/system/reporterror/En.rc
    index 00fc88222e3..226da1211c0 100644
    --- a/reactos/subsys/system/reporterror/En.rc
    +++ b/reactos/subsys/system/reporterror/En.rc
    @@ -51,3 +51,4 @@ BEGIN
       IDS_FAILED_TO_INITIALIZE_WINSOCK "Failed to initialize winsock (windows error code %d)"
       IDS_FAILED_TO_LOCATE_SERVER "Failed to contact error reporting server"
     END
    +
    diff --git a/reactos/subsys/system/reporterror/reporterror.rc b/reactos/subsys/system/reporterror/reporterror.rc
    index 952867ac543..fc0a1134081 100644
    --- a/reactos/subsys/system/reporterror/reporterror.rc
    +++ b/reactos/subsys/system/reporterror/reporterror.rc
    @@ -15,3 +15,4 @@ IDB_WATERMARK BITMAP "resources/watermark.bmp"
     IDB_HEADER    BITMAP "resources/header.bmp"
     
     #include "En.rc"
    +#include "De.rc"
    diff --git a/reactos/apps/utils/rundll32/Makefile b/reactos/subsys/system/rundll32/Makefile
    similarity index 100%
    rename from reactos/apps/utils/rundll32/Makefile
    rename to reactos/subsys/system/rundll32/Makefile
    diff --git a/reactos/apps/utils/rundll32/rundll32.c b/reactos/subsys/system/rundll32/rundll32.c
    similarity index 100%
    rename from reactos/apps/utils/rundll32/rundll32.c
    rename to reactos/subsys/system/rundll32/rundll32.c
    diff --git a/reactos/apps/utils/rundll32/rundll32.rc b/reactos/subsys/system/rundll32/rundll32.rc
    similarity index 100%
    rename from reactos/apps/utils/rundll32/rundll32.rc
    rename to reactos/subsys/system/rundll32/rundll32.rc
    diff --git a/reactos/subsys/system/services/services.c b/reactos/subsys/system/services/services.c
    index fef791facd5..4db7c444ecb 100644
    --- a/reactos/subsys/system/services/services.c
    +++ b/reactos/subsys/system/services/services.c
    @@ -32,6 +32,7 @@
     #define NTOS_MODE_USER
     #include 
     #include 
    +#include 
     #include 
     
     #include "services.h"
    diff --git a/reactos/subsys/system/sndvol32/De.rc b/reactos/subsys/system/sndvol32/De.rc
    new file mode 100644
    index 00000000000..6e4372851d7
    --- /dev/null
    +++ b/reactos/subsys/system/sndvol32/De.rc
    @@ -0,0 +1,41 @@
    +LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
    +
    +IDM_MAINMENU MENU DISCARDABLE
    +BEGIN
    +    POPUP "&Optionen"
    +    BEGIN
    +        MENUITEM "&Eigenschaften", IDC_PROPERTIES
    +        MENUITEM "Erweiterte Ein&stellungen", IDC_ADVANCED_CONTROLS
    +        MENUITEM SEPARATOR
    +        MENUITEM "&Beenden", IDC_EXIT
    +    END
    +    POPUP "&?"
    +    BEGIN
    +        MENUITEM "&Hilfethemen", IDC_HELP_TOPICS
    +        MENUITEM SEPARATOR
    +        MENUITEM "&Info", IDC_ABOUT
    +    END
    +END
    +
    +STRINGTABLE DISCARDABLE
    +BEGIN
    +    IDS_SNDVOL32       "Lautstärke Einstellungen"
    +    IDS_NOMIXERDEVICES "Es sind keine aktivien Mixer vorhanden! Die Anwendung wird jetzt beendet."
    +END
    +
    +IDD_PREFERENCES DIALOGEX 0, 0, 224, 250
    +STYLE DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    +CAPTION "Eigenschaften"
    +FONT 8, "MS Shell Dlg", 0, 0, 0x0
    +BEGIN
    +  LTEXT "&Mixer:", -1, 7,8,48,9
    +  COMBOBOX IDC_MIXERDEVICE, 55,8,162,80, CBS_DROPDOWNLIST | WS_TABSTOP
    +  GROUPBOX "Lautstärke regeln für:", -1, 7,25,211,77
    +  PUSHBUTTON "Wie&dergabe", IDC_PLAYBACK, 13,43,47,8, BS_AUTORADIOBUTTON
    +  PUSHBUTTON "&Aufnahme", IDC_RECORDING, 13,61,47,8, BS_AUTORADIOBUTTON
    +  PUSHBUTTON "A&ndere:", IDC_OTHER, 13,80,42,8, BS_AUTORADIOBUTTON | WS_DISABLED
    +  COMBOBOX IDC_LINE, 55,80,155,50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED
    +
    +  PUSHBUTTON "OK", IDOK, 114,226,50,14
    +  PUSHBUTTON "Abbrechen", IDCANCEL, 168,226,50,14
    +END
    diff --git a/reactos/subsys/system/sndvol32/resources/sndvol32.ico b/reactos/subsys/system/sndvol32/resources/sndvol32.ico
    index beb28a65a33..d7f7cc496ee 100644
    Binary files a/reactos/subsys/system/sndvol32/resources/sndvol32.ico and b/reactos/subsys/system/sndvol32/resources/sndvol32.ico differ
    diff --git a/reactos/subsys/system/sndvol32/sndvol32.rc b/reactos/subsys/system/sndvol32/sndvol32.rc
    index b282a8f5d59..b729c75f1a5 100644
    --- a/reactos/subsys/system/sndvol32/sndvol32.rc
    +++ b/reactos/subsys/system/sndvol32/sndvol32.rc
    @@ -15,4 +15,4 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
     IDI_MAINAPP ICON DISCARDABLE resources/sndvol32.ico
     
     #include "En.rc"
    -
    +#include "DE.rc"
    diff --git a/reactos/subsys/system/taskmgr/De.rc b/reactos/subsys/system/taskmgr/De.rc
    index 9120c2e91aa..ab07c1ccebe 100644
    --- a/reactos/subsys/system/taskmgr/De.rc
    +++ b/reactos/subsys/system/taskmgr/De.rc
    @@ -1,5 +1,5 @@
     /////////////////////////////////////////////////////////////////////////////
    -// Deutsch (Austria) 
    +// Deutsch (Austria)
     // resources by Klemens Friedl   frik85 at hotmail dot com  http://www.reactos.net.tc
     
     #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
    @@ -166,7 +166,7 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
     CAPTION "Info über Task-Manager"
     FONT 8, "Tahoma"
     BEGIN
    -    CONTROL         "Task Manager v1.0\nCopyright (C) 1999 - 2001\nby Brian Palmer (brianp@reactos.org)",
    +    CONTROL         "Task Manager v1.0\nCopyright (C) 1999 - 2001\nvon Brian Palmer (brianp@reactos.org)",
                         IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,53,28,
                         122,26
         DEFPUSHBUTTON   "OK",IDOK,183,189,44,14,WS_GROUP
    @@ -183,7 +183,7 @@ CAPTION "Task-Manager"
     MENU IDR_TASKMANAGER
     FONT 8, "Tahoma"
     BEGIN
    -    CONTROL         
    +    CONTROL
     "Tab1",IDC_TAB,"SysTabControl32",WS_TABSTOP,3,3,257,228
     END
     
    @@ -192,7 +192,7 @@ STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
     FONT 8, "Tahoma"
     BEGIN
         CONTROL         "List2",IDC_APPLIST,"SysListView32",LVS_REPORT |
    -                    LVS_SHOWSELALWAYS | WS_BORDER | 
    +                    LVS_SHOWSELALWAYS | WS_BORDER |
     WS_TABSTOP,7,7,233,177
         PUSHBUTTON      "&Neuer Task...",IDC_NEWTASK,187,189,53,14
         PUSHBUTTON      "&Wechseln zu",IDC_SWITCHTO,131,189,53,14,WS_DISABLED
    @@ -203,7 +203,7 @@ IDD_PROCESS_PAGE DIALOG DISCARDABLE  0, 0, 247, 210
     STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
     FONT 8, "Tahoma"
     BEGIN
    -    CONTROL         "List2",IDC_PROCESSLIST,"SysListView32",LVS_REPORT 
    +    CONTROL         "List2",IDC_PROCESSLIST,"SysListView32",LVS_REPORT
     |
                         LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA |
                         WS_BORDER | WS_TABSTOP,7,7,233,177
    @@ -246,7 +246,7 @@ BEGIN
         LTEXT           "Systemcache",IDS_PHYSICAL_MEMORY_SYSTEM_CACHE,137,149,46,8 //46
         EDITTEXT        IDC_PHYSICAL_MEMORY_TOTAL,185,131,48,8,ES_RIGHT |
                         ES_READONLY | ES_NUMBER | NOT WS_BORDER
    -    EDITTEXT        IDC_PHYSICAL_MEMORY_AVAILABLE,185,140,48,8,ES_RIGHT 
    +    EDITTEXT        IDC_PHYSICAL_MEMORY_AVAILABLE,185,140,48,8,ES_RIGHT
     |
                         ES_READONLY | ES_NUMBER | NOT WS_BORDER
         EDITTEXT        IDC_PHYSICAL_MEMORY_SYSTEM_CACHE,185,149,48,8,ES_RIGHT |
    @@ -278,7 +278,7 @@ CAPTION "Debug-Kan
     FONT 8, "Tahoma"
     BEGIN
         CONTROL         "List2",IDC_DEBUG_CHANNELS_LIST,"SysListView32",LVS_REPORT |
    -                    LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | 
    +                    LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER |
     WS_TABSTOP |
     		    LVS_SORTASCENDING,7,7,233,177
         PUSHBUTTON      "Schließen",IDOK,171,189,69,14
    @@ -369,7 +369,7 @@ BEGIN
         LTEXT           "Wählen Sie die Spalten aus, die auf der Registerkarte Prozesse angezeigt werden sollen.",
                         IDC_STATIC,7,7,221,17 //181
         CONTROL         "&Name",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX |
    -                    WS_DISABLED | WS_TABSTOP,7,28,56,10 
    +                    WS_DISABLED | WS_TABSTOP,7,28,56,10
         CONTROL         "&PID (Prozess-ID)",IDC_PID,"Button",
                         BS_AUTOCHECKBOX | WS_TABSTOP,7,39,88,10
         CONTROL         "&CPU-Auslastung",IDC_CPUUSAGE,"Button",BS_AUTOCHECKBOX |
    @@ -557,12 +557,12 @@ BEGIN
             BLOCK "040904b0"
             BEGIN
                 VALUE "CompanyName", "Brian Palmer\0"
    -            VALUE "FileDescription", "Task Manager by Brian Palmer\0"
    +            VALUE "FileDescription", "Task Manager von Brian Palmer\0"
                 VALUE "FileVersion", "1.0.0.1\0"
                 VALUE "InternalName", "taskmgr\0"
                 VALUE "LegalCopyright", "Copyright © Brian Palmer 2000\0"
                 VALUE "OriginalFilename", "taskmgr.exe\0"
    -            VALUE "ProductName", "Task Manager by Brian Palmer\0"
    +            VALUE "ProductName", "Task Manager von Brian Palmer\0"
                 VALUE "ProductVersion", "1.0.0.1\0"
             END
         END
    @@ -649,5 +649,5 @@ BEGIN
         IDS_LICENSE             "Dieses Programm ist kostenlos; Sie können es frei verteilen mit od. ohne Änderungen unter der GNU Lesser General Public License wie es von der Free Software Foundation veröffentlicht wurde; entweder Version 2.1 der Lizenz, oder eine spätere Version (ihrer Wahl).\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA."
     END
     
    -#endif    // Deutsch (Austria) resources by Klemens Friedl 
    +#endif    // Deutsch (Austria) resources by Klemens Friedl
     /////////////////////////////////////////////////////////////////////////////
    diff --git a/reactos/subsys/system/usetup/infcache.c b/reactos/subsys/system/usetup/infcache.c
    index 3d02173dfb8..43e1280b0de 100644
    --- a/reactos/subsys/system/usetup/infcache.c
    +++ b/reactos/subsys/system/usetup/infcache.c
    @@ -1294,7 +1294,7 @@ InfGetLineCount(HINF InfHandle,
     
       /* Iterate through list of sections */
       CacheSection = Cache->FirstSection;
    -  while (Section != NULL)
    +  while (CacheSection != NULL)
         {
           DPRINT("Comparing '%S' and '%S'\n", CacheSection->Name, Section);
     
    diff --git a/reactos/subsys/system/usetup/settings.c b/reactos/subsys/system/usetup/settings.c
    index 56fa495db4f..c5944ee56b6 100644
    --- a/reactos/subsys/system/usetup/settings.c
    +++ b/reactos/subsys/system/usetup/settings.c
    @@ -29,6 +29,7 @@
     #include "precomp.h"
     #include 
     #include 
    +#include 
     
     #include "usetup.h"
     #include "infcache.h"
    @@ -352,6 +353,28 @@ CreateDisplayDriverList(HINF InfFile)
       return List;
     }
     
    +BOOLEAN
    +ProcessComputerFiles(HINF InfFile, PGENERIC_LIST List, PWCHAR* AdditionalSectionName)
    +{
    +	PGENERIC_LIST_ENTRY Entry;
    +	static WCHAR SectionName[128];
    +	
    +	DPRINT("ProcessComputerFiles() called\n");
    +	
    +	Entry = GetGenericListEntry(List);
    +	if (Entry == NULL)
    +	{
    +		DPRINT("GetGenericListEntry() failed\n");
    +		return FALSE;
    +	}
    +	
    +	wcscpy(SectionName, L"Files.");
    +	wcscat(SectionName, Entry->UserData);
    +	*AdditionalSectionName = SectionName;
    +	
    +	return TRUE;
    +}
    +
     
     BOOLEAN
     ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
    diff --git a/reactos/subsys/system/usetup/settings.h b/reactos/subsys/system/usetup/settings.h
    index a4177fe69b2..86ee7dc0173 100644
    --- a/reactos/subsys/system/usetup/settings.h
    +++ b/reactos/subsys/system/usetup/settings.h
    @@ -33,6 +33,11 @@ CreateComputerTypeList(HINF InfFile);
     PGENERIC_LIST
     CreateDisplayDriverList(HINF InfFile);
     
    +BOOLEAN
    +ProcessComputerFiles(HINF InfFile,
    +		       PGENERIC_LIST List,
    +		       PWCHAR* AdditionalSectionName);
    +
     BOOLEAN
     ProcessDisplayRegistry(HINF InfFile,
     		       PGENERIC_LIST List);
    diff --git a/reactos/subsys/system/usetup/usetup.c b/reactos/subsys/system/usetup/usetup.c
    index fc15bc73acf..512e86f54a7 100644
    --- a/reactos/subsys/system/usetup/usetup.c
    +++ b/reactos/subsys/system/usetup/usetup.c
    @@ -2301,6 +2301,7 @@ FormatPartitionPage (PINPUT_RECORD Ir)
     #ifndef NDEBUG
       ULONG Line;
       ULONG i;
    +  PLIST_ENTRY Entry;
     #endif
     
     
    @@ -2761,27 +2762,24 @@ InstallDirectoryPage(PINPUT_RECORD Ir)
     
     
     static BOOLEAN
    -PrepareCopyPageInfFile(HINF InfFile,
    +AddSectionToCopyQueue(HINF InfFile,
    +		       PWCHAR SectionName,
     		       PWCHAR SourceCabinet,
     		       PINPUT_RECORD Ir)
     {
    -  WCHAR PathBuffer[MAX_PATH];
       INFCONTEXT FilesContext;
       INFCONTEXT DirContext;
    -  PWCHAR KeyValue;
    -  ULONG Length;
    -  NTSTATUS Status;
       PWCHAR FileKeyName;
       PWCHAR FileKeyValue;
       PWCHAR DirKeyValue;
       PWCHAR TargetFileName;
    -
    -  /* Search for the 'SourceFiles' section */
    -  if (!InfFindFirstLine (InfFile, L"SourceFiles", NULL, &FilesContext))
    +  
    +  /* Search for the SectionName section */
    +  if (!InfFindFirstLine (InfFile, SectionName, NULL, &FilesContext))
         {
    -      PopupError("Setup failed to find the 'SourceFiles' section\n"
    -		 "in TXTSETUP.SIF.\n",  // FIXME
    -		 "ENTER = Reboot computer");
    +      char Buffer[128];
    +      sprintf(Buffer, "Setup failed to find the '%S' section\nin TXTSETUP.SIF.\n", SectionName);
    +      PopupError(Buffer, "ENTER = Reboot computer");
     
           while(TRUE)
     	{
    @@ -2795,7 +2793,7 @@ PrepareCopyPageInfFile(HINF InfFile,
         }
     
       /*
    -   * Enumerate the files in the 'SourceFiles' section
    +   * Enumerate the files in the section
        * and add them to the file queue.
        */
       do
    @@ -2842,8 +2840,38 @@ PrepareCopyPageInfFile(HINF InfFile,
     	}
         }
       while (InfFindNextLine(&FilesContext, &FilesContext));
    +  
    +  return TRUE;
    +}
     
    +static BOOLEAN
    +PrepareCopyPageInfFile(HINF InfFile,
    +		       PWCHAR SourceCabinet,
    +		       PINPUT_RECORD Ir)
    +{
    +  WCHAR PathBuffer[MAX_PATH];
    +  INFCONTEXT DirContext;
    +  PWCHAR AdditionalSectionName;
    +  PWCHAR KeyValue;
    +  ULONG Length;
    +  NTSTATUS Status;
     
    +  /* Add common files */
    +  if (!AddSectionToCopyQueue(InfFile, L"SourceFiles", SourceCabinet, Ir))
    +    return FALSE;
    +  
    +  /* Add specific files depending of computer type */
    +  if (SourceCabinet == NULL)
    +  {
    +    if (!ProcessComputerFiles(InfFile, ComputerList, &AdditionalSectionName))
    +      return FALSE;
    +    if (AdditionalSectionName)
    +    {
    +      if (!AddSectionToCopyQueue(InfFile, AdditionalSectionName, SourceCabinet, Ir))
    +        return FALSE;
    +    }
    +  }
    +  
       /* Create directories */
     
       /*
    diff --git a/reactos/subsys/system/vmwinst/De.rc b/reactos/subsys/system/vmwinst/De.rc
    index 5a7443e6aa4..eb881b8849d 100644
    --- a/reactos/subsys/system/vmwinst/De.rc
    +++ b/reactos/subsys/system/vmwinst/De.rc
    @@ -5,13 +5,13 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
     CAPTION "Grafikreiberinstallation"
     FONT 8, "MS Shell Dlg", 0, 0, 0x0
     BEGIN
    -  LTEXT "Das ReactOS Setup hat festgestellt, das Sie ReactOS in VMware(r) installieren.", -1, 115, 8, 160, 24
    -  LTEXT "Wenn Sie den VMware(r) SVGA Treiber installieren möchten, klicken Sie auf 'Weiter', ansonsten auf 'Abbrechen'.", -1, 115, 140, 160, 17
    +  LTEXT "Das ReactOS Setup hat festgestellt, das Sie ReactOS in VMware(r) installieren.", -1, 100, 8, 160, 24
    +  LTEXT "Wenn Sie den VMware(r) SVGA Treiber installieren möchten, klicken Sie auf 'Weiter', ansonsten auf 'Abbrechen'.", -1, 100, 140, 160, 17
     END
     
     IDD_INSERT_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
     STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
    -CAPTION "Video Treiber Installation"
    +CAPTION "Grafikreiberinstallation"
     FONT 8, "MS Shell Dlg", 0, 0, 0x0
     BEGIN
       LTEXT "ReactOS wird nicht mit dem VMware(r) SVGA Treiber ausgeliefert.\n\nGehen Sie bitte zu  'VM' in der Menüleiste von VMware(r) Workstation und wählen Sie 'VMware Tools installieren...'\n\n\nKlicken Sie auf 'Weiter' um fortzufahren, ansonsten auf 'Abbrechen'",-1,25,25,225,85
    @@ -19,7 +19,7 @@ END
     
     IDD_INSTALLING_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
     STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
    -CAPTION "Video Driver Installation"
    +CAPTION "Grafikreiberinstallation"
     FONT 8, "MS Shell Dlg", 0, 0, 0x0
     BEGIN
       LTEXT "{STATUS}",IDC_INSTALLINGSTATUS,25,68,225,8
    @@ -111,3 +111,20 @@ BEGIN
       IDS_ENABLINGDRIVER    "Aktiviere den VMware(r) SVGA driver..."
     END
     
    +STRINGTABLE
    +BEGIN
    +  IDD_INSERT_VMWARE_TOOLSTITLE     	"VMware (r) SVGA Treiber Installationsassistent"
    +  IDD_INSERT_VMWARE_TOOLSSUBTITLE       "Bitte legen Sie die VMware-Tool CD-Rom ein."
    +  IDD_INSTALLING_VMWARE_TOOLSTITLE      "VMware (r) SVGA Treiber Installationsassistent"
    +  IDD_INSTALLING_VMWARE_TOOLSSUBTITLE   "Suchen und kopieren des VMware (r) SVGA Treibers."
    +  IDD_CONFIGTITLE     			"VMware (r) SVGA Treiber Installationsassistent"
    +  IDD_CONFIGSUBTITLE     		"Wählen Sie die Bildschrimauflösung aus."
    +  IDD_INSTALLATION_FAILEDTITLE     	"VMware (r) SVGA Treiber Installationsassistent"
    +  IDD_INSTALLATION_FAILEDSUBTITLE       "Die VMware (r) SVGA Treiber installation ist fehlgeschlagen."
    +  IDD_CHOOSEACTIONTITLE    	        "VMware (r) SVGA Treiber Installationsassistent"
    +  IDD_CHOOSEACTIONSUBTITLE              "Wählen Sie eine Option aus."
    +  IDD_SELECTDRIVERTITLE                 "VMware (r) SVGA Treiber Installationsassistent"
    +  IDD_SELECTDRIVERSUBTITLE              "Wählen Sie einen Treiber aus."
    +  IDD_DOUNINSTALLTITLE                  "VMware (r) SVGA Treiber Installationsassistent"
    +  IDD_DOUNINSTALLSUBTITLE               "De-Installieren des Treibers."
    +END
    diff --git a/reactos/subsys/system/vmwinst/En.rc b/reactos/subsys/system/vmwinst/En.rc
    index 3f55f20e1ea..f923d7234e1 100644
    --- a/reactos/subsys/system/vmwinst/En.rc
    +++ b/reactos/subsys/system/vmwinst/En.rc
    @@ -5,8 +5,8 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
     CAPTION "Video Driver Installation"
     FONT 8, "MS Shell Dlg", 0, 0, 0x0
     BEGIN
    -  LTEXT "The ReactOS setup detected that you run ReactOS inside of VMware(r).", -1, 115, 8, 160, 24
    -  LTEXT "If you like to install the VMware(r) SVGA driver click 'Next', otherwise click 'Cancel'.", -1, 115, 140, 160, 17
    +  LTEXT "The ReactOS setup detected that you run ReactOS inside of VMware(r).", -1, 100, 8, 160, 24
    +  LTEXT "If you like to install the VMware(r) SVGA driver click 'Next', otherwise click 'Cancel'.", -1, 100, 140, 160, 17
     END
     
     IDD_INSERT_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
    @@ -111,3 +111,20 @@ BEGIN
       IDS_ENABLINGDRIVER    "Enabling VMware(r) SVGA driver..."
     END
     
    +STRINGTABLE
    +BEGIN
    +  IDD_INSERT_VMWARE_TOOLSTITLE     	"VMware (r) SVGA driver installation wizard"
    +  IDD_INSERT_VMWARE_TOOLSSUBTITLE       "Please insert the VMware tool CD-Rom."
    +  IDD_INSTALLING_VMWARE_TOOLSTITLE      "VMware (r) SVGA driver installation wizard"
    +  IDD_INSTALLING_VMWARE_TOOLSSUBTITLE   "Search and copy the VMware (r) SVGA driver."
    +  IDD_CONFIGTITLE     			"VMware (r) SVGA driver installation wizard"
    +  IDD_CONFIGSUBTITLE     		"Select your favorite screen resolution."
    +  IDD_INSTALLATION_FAILEDTITLE     	"VMware (r) SVGA driver installation wizard"
    +  IDD_INSTALLATION_FAILEDSUBTITLE       "The VMware (r) SVGA driver installation failed."
    +  IDD_CHOOSEACTIONTITLE    	        "VMware (r) SVGA driver installation wizard"
    +  IDD_CHOOSEACTIONSUBTITLE              "Choose what you like to do."
    +  IDD_SELECTDRIVERTITLE                 "VMware (r) SVGA driver installation wizard"
    +  IDD_SELECTDRIVERSUBTITLE              "Select a driver."
    +  IDD_DOUNINSTALLTITLE                  "VMware (r) SVGA driver installation wizard"
    +  IDD_DOUNINSTALLSUBTITLE               "Uninstall the driver."
    +END
    diff --git a/reactos/subsys/system/vmwinst/Es.rc b/reactos/subsys/system/vmwinst/Es.rc
    index 462b1b305c1..ff512a0aa0f 100644
    --- a/reactos/subsys/system/vmwinst/Es.rc
    +++ b/reactos/subsys/system/vmwinst/Es.rc
    @@ -5,8 +5,8 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
     CAPTION "Instalación del Controlador de Video"
     FONT 8, "MS Shell Dlg", 0, 0, 0x0
     BEGIN
    -  LTEXT "El instalador de ReactOS ha detectado que husted está ejecutando ReactOS sobre el emulador VMware(r).", -1, 115, 8, 160, 24
    -  LTEXT "Si husted desea instalar el controlador SVGA VMware(r), haga click en 'Siguiente', de lo contrario haga click en 'Cancelar'.", -1, 115, 140, 160, 17
    +  LTEXT "El instalador de ReactOS ha detectado que husted está ejecutando ReactOS sobre el emulador VMware(r).", -1, 100, 8, 160, 24
    +  LTEXT "Si husted desea instalar el controlador SVGA VMware(r), haga click en 'Siguiente', de lo contrario haga click en 'Cancelar'.", -1, 100, 140, 160, 17
     END
     
     IDD_INSERT_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
    @@ -111,3 +111,20 @@ BEGIN
       IDS_ENABLINGDRIVER    "Enabling VMware(r) SVGA driver..."
     END
     
    +STRINGTABLE
    +BEGIN
    +  IDD_INSERT_VMWARE_TOOLSTITLE     	"VMware (r) SVGA driver installation wizard"
    +  IDD_INSERT_VMWARE_TOOLSSUBTITLE       "Please insert the VMware tool CD-Rom."
    +  IDD_INSTALLING_VMWARE_TOOLSTITLE      "VMware (r) SVGA driver installation wizard"
    +  IDD_INSTALLING_VMWARE_TOOLSSUBTITLE   "Search and copy the VMware (r) SVGA driver."
    +  IDD_CONFIGTITLE     			"VMware (r) SVGA driver installation wizard"
    +  IDD_CONFIGSUBTITLE     		"Select your favorite screen resolution."
    +  IDD_INSTALLATION_FAILEDTITLE     	"VMware (r) SVGA driver installation wizard"
    +  IDD_INSTALLATION_FAILEDSUBTITLE       "The VMware (r) SVGA driver installation failed."
    +  IDD_CHOOSEACTIONTITLE    	        "VMware (r) SVGA driver installation wizard"
    +  IDD_CHOOSEACTIONSUBTITLE              "Choose what you like to do."
    +  IDD_SELECTDRIVERTITLE                 "VMware (r) SVGA driver installation wizard"
    +  IDD_SELECTDRIVERSUBTITLE              "Select a driver."
    +  IDD_DOUNINSTALLTITLE                  "VMware (r) SVGA driver installation wizard"
    +  IDD_DOUNINSTALLSUBTITLE               "Uninstall the driver."
    +END
    diff --git a/reactos/subsys/system/vmwinst/vmwinst.c b/reactos/subsys/system/vmwinst/vmwinst.c
    index 3af6cbdc0a2..23309f6e2b7 100644
    --- a/reactos/subsys/system/vmwinst/vmwinst.c
    +++ b/reactos/subsys/system/vmwinst/vmwinst.c
    @@ -24,6 +24,7 @@
      * PROJECT:     ReactOS VMware(r) driver installation utility
      * FILE:        subsys/system/vmwinst/vmwinst.c
      * PROGRAMMERS: Thomas Weidenmueller (w3seek@users.sourceforge.net)
    + *              Klemens Friedl (frik85@hotmail.com)
      */
     #include 
     #include 
    @@ -132,6 +133,30 @@ FileExists(WCHAR *Path, WCHAR *File)
       return TRUE;
     }
     
    +static VOID
    +CenterWindow(HWND hWnd)
    +{
    +  HWND hWndParent;
    +  RECT rcParent;
    +  RECT rcWindow;
    +
    +  hWndParent = GetParent(hWnd);
    +  if (hWndParent == NULL)
    +    hWndParent = GetDesktopWindow();
    +
    +  GetWindowRect(hWndParent, &rcParent);
    +  GetWindowRect(hWnd, &rcWindow);
    +
    +  SetWindowPos(hWnd,
    +	       HWND_TOP,
    +	       ((rcParent.right - rcParent.left) - (rcWindow.right - rcWindow.left)) / 2,
    +	       ((rcParent.bottom - rcParent.top) - (rcWindow.bottom - rcWindow.top)) / 2,
    +	       0,
    +	       0,
    +	       SWP_NOSIZE);
    +}
    +
    +
     /* Copy file */
     BOOL
     InstallFile(WCHAR *Destination, WCHAR *File)
    @@ -383,6 +408,12 @@ PageWelcomeProc(
       {
         case WM_NOTIFY:
         {
    +      HWND hwndControl;
    +
    +      /* Center the wizard window */
    +      hwndControl = GetParent(hwndDlg);     
    +      CenterWindow (hwndControl);
    +
           LPNMHDR pnmh = (LPNMHDR)lParam;
           switch(pnmh->code)
           {
    @@ -397,6 +428,7 @@ PageWelcomeProc(
               {
                 if(!EnableVmwareDriver(FALSE, FALSE, TRUE))
                 {
    +
                   WCHAR Msg[1024];
                   LoadString(hAppInstance, IDS_FAILEDTOACTIVATEDRIVER, Msg, sizeof(Msg) / sizeof(WCHAR));
                   MessageBox(GetParent(hwndDlg), Msg, NULL, MB_ICONWARNING);
    @@ -728,6 +760,12 @@ PageConfigProc(
         }
         case WM_NOTIFY:
         {
    +      HWND hwndControl;
    +
    +      /* Center the wizard window */
    +      hwndControl = GetParent(hwndDlg);     
    +      CenterWindow (hwndControl);
    +
           LPNMHDR pnmh = (LPNMHDR)lParam;
           switch(pnmh->code)
           {
    @@ -969,33 +1007,92 @@ PageDoUninstallProc(
     static LONG
     CreateWizard(VOID)
     {
    -  PROPSHEETPAGE psp[8];
       PROPSHEETHEADER psh;
    +  HPROPSHEETPAGE ahpsp[8];
    +  PROPSHEETPAGE psp;
       WCHAR Caption[1024];
       
       LoadString(hAppInstance, IDS_WIZARD_NAME, Caption, sizeof(Caption) / sizeof(TCHAR));
    -  
    -  ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
    +
    +  /* Create the Welcome page */
    +  ZeroMemory (&psp, sizeof(PROPSHEETPAGE));
    +  psp.dwSize = sizeof(PROPSHEETPAGE);
    +  psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
    +  psp.hInstance = hAppInstance;
    +  psp.pfnDlgProc = PageWelcomeProc;
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_WELCOMEPAGE);
    +  ahpsp[0] = CreatePropertySheetPage(&psp);
    +
    +  /* Create the INSERT_VMWARE_TOOLS page */
    +  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
    +  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_INSERT_VMWARE_TOOLSTITLE);
    +  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_INSERT_VMWARE_TOOLSSUBTITLE);
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_INSERT_VMWARE_TOOLS);
    +  psp.pfnDlgProc = PageInsertDiscProc;
    +  ahpsp[1] = CreatePropertySheetPage(&psp);
    +
    +  /* Create the INSTALLING_VMWARE_TOOLS page */
    +  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
    +  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_INSTALLING_VMWARE_TOOLSTITLE);
    +  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_INSTALLING_VMWARE_TOOLSSUBTITLE);
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_INSTALLING_VMWARE_TOOLS);
    +  psp.pfnDlgProc = PageInstallingProc;
    +  ahpsp[2] = CreatePropertySheetPage(&psp);
    +
    +  /* Create the CONFIG page */
    +  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
    +  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_CONFIGTITLE);
    +  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_CONFIGSUBTITLE);
    +  psp.pfnDlgProc = PageConfigProc;
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_CONFIG);
    +  ahpsp[3] = CreatePropertySheetPage(&psp);
    +
    +  /* Create the INSTALLATION_FAILED page */
    +  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
    +  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_INSTALLATION_FAILEDTITLE);
    +  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_INSTALLATION_FAILEDSUBTITLE);
    +  psp.pfnDlgProc = PageInstallFailedProc;
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_INSTALLATION_FAILED);
    +  ahpsp[4] = CreatePropertySheetPage(&psp);
    +
    +  /* Create the CHOOSEACTION page */
    +  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
    +  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_CHOOSEACTIONTITLE);
    +  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_CHOOSEACTIONSUBTITLE);
    +  psp.pfnDlgProc = PageChooseActionProc;
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_CHOOSEACTION);
    +  ahpsp[5] = CreatePropertySheetPage(&psp);
    +
    +  /* Create the SELECTDRIVER page */
    +  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
    +  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_SELECTDRIVERTITLE);
    +  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_SELECTDRIVERSUBTITLE);
    +  psp.pfnDlgProc = PageSelectDriverProc;
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_SELECTDRIVER);
    +  ahpsp[6] = CreatePropertySheetPage(&psp); 
    +
    +  /* Create the DOUNINSTALL page */
    +  psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
    +  psp.pszHeaderTitle = MAKEINTRESOURCE(IDD_DOUNINSTALLTITLE);
    +  psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDD_DOUNINSTALLSUBTITLE);
    +  psp.pfnDlgProc = PageDoUninstallProc;
    +  psp.pszTemplate = MAKEINTRESOURCE(IDD_DOUNINSTALL);
    +  ahpsp[7] = CreatePropertySheetPage(&psp); 
    +
    +  /* Create the property sheet */
       psh.dwSize = sizeof(PROPSHEETHEADER);
    -  psh.dwFlags =  PSH_PROPSHEETPAGE | PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
    -  psh.hwndParent = NULL;
    +  psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
       psh.hInstance = hAppInstance;
    -  psh.hIcon = 0;
    -  psh.pszCaption = Caption;
    +  psh.hwndParent = NULL;
       psh.nPages = 7;
       psh.nStartPage = (StartVMwConfigWizard ? 5 : 0);
    -  psh.ppsp = psp;
    +  psh.phpage = ahpsp;
       psh.pszbmWatermark = MAKEINTRESOURCE(IDB_WATERMARK);
       psh.pszbmHeader = MAKEINTRESOURCE(IDB_HEADER);
    -  
    -  InitPropSheetPage(&psp[0], IDD_WELCOMEPAGE, PSP_HIDEHEADER, PageWelcomeProc);
    -  InitPropSheetPage(&psp[1], IDD_INSERT_VMWARE_TOOLS, PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE, PageInsertDiscProc);
    -  InitPropSheetPage(&psp[2], IDD_INSTALLING_VMWARE_TOOLS, PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE, PageInstallingProc);
    -  InitPropSheetPage(&psp[3], IDD_CONFIG, PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE, PageConfigProc);
    -  InitPropSheetPage(&psp[4], IDD_INSTALLATION_FAILED, PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE, PageInstallFailedProc);
    -  InitPropSheetPage(&psp[5], IDD_CHOOSEACTION, PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE, PageChooseActionProc);
    -  InitPropSheetPage(&psp[6], IDD_SELECTDRIVER, PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE, PageSelectDriverProc);
    -  InitPropSheetPage(&psp[7], IDD_DOUNINSTALL, PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE, PageDoUninstallProc);
    +
    +  /* Display the wizard */
    +  PropertySheet(&psh);
    +
       
       return (LONG)(PropertySheet(&psh) != -1);
     }
    @@ -1006,6 +1103,7 @@ WinMain(HINSTANCE hInstance,
     	LPSTR lpszCmdLine,
     	int nCmdShow)
     {
    +  
       LPTOP_LEVEL_EXCEPTION_FILTER OldHandler;
       int Version;
       WCHAR *lc;
    @@ -1014,7 +1112,7 @@ WinMain(HINSTANCE hInstance,
     
       /* Setup our exception "handler" ;-) */
       OldHandler = SetUnhandledExceptionFilter(ExceptionHandler);
    -  
    +
       if(!DetectVMware(&Version))
       {
         ExitProcess(1);
    @@ -1044,7 +1142,7 @@ WinMain(HINSTANCE hInstance,
       
       /* Show the wizard */
       CreateWizard();
    -  
    + 
       return 2;
     }
     
    diff --git a/reactos/subsys/system/vmwinst/vmwinst.h b/reactos/subsys/system/vmwinst/vmwinst.h
    index bda52df2141..15d8ccab46a 100644
    --- a/reactos/subsys/system/vmwinst/vmwinst.h
    +++ b/reactos/subsys/system/vmwinst/vmwinst.h
    @@ -10,46 +10,61 @@
     #endif
     
     /* metrics */
    -#define PROPSHEETWIDTH  250
    -#define PROPSHEETHEIGHT 120
    +#define PROPSHEETWIDTH  	250
    +#define PROPSHEETHEIGHT 	120
     #define PROPSHEETPADDING        6
    -#define SYSTEM_COLUMN   (18 * PROPSHEETPADDING)
    -#define LABELLINE(x)    (((PROPSHEETPADDING + 2) * x) + (x + 2))
    -#define ICONSIZE        16
    +#define SYSTEM_COLUMN   	(18 * PROPSHEETPADDING)
    +#define LABELLINE(x)    	(((PROPSHEETPADDING + 2) * x) + (x + 2))
    +#define ICONSIZE        	16
     
     /* Resource IDs */
     
    -#define IDS_WIZARD_NAME	100
    +#define IDS_WIZARD_NAME			100
     #define IDS_FAILEDTOLOCATEDRIVERS	101
    -#define IDS_FAILEDTOCOPYFILES	102
    +#define IDS_FAILEDTOCOPYFILES		102
     #define IDS_FAILEDTOACTIVATEDRIVER	103
     #define IDS_FAILEDTOSELVGADRIVER	104
     #define IDS_FAILEDTOSELVBEDRIVER	105
    -#define IDS_UNINSTNOTICE	106
    +#define IDS_UNINSTNOTICE		106
     
     #define IDS_SEARCHINGFORCDROM	201
     #define IDS_COPYINGFILES	202
     #define IDS_ENABLINGDRIVER	203
     
    -#define IDD_WELCOMEPAGE	100
    -#define IDD_INSERT_VMWARE_TOOLS	101
    +#define IDD_WELCOMEPAGE			100
    +#define IDD_INSERT_VMWARE_TOOLS		101
     #define IDD_INSTALLING_VMWARE_TOOLS     102
    -#define IDD_CONFIG	103
    -#define IDD_CHOOSEACTION	104
    -#define IDD_SELECTDRIVER	105
    -#define IDD_INSTALLATION_FAILED	106
    -#define IDD_DOUNINSTALL	107
    +#define IDD_CONFIG			103
    +#define IDD_CHOOSEACTION		104
    +#define IDD_SELECTDRIVER		105
    +#define IDD_INSTALLATION_FAILED		106
    +#define IDD_DOUNINSTALL			107
     
     #define IDC_COLORQUALITY	200
     #define IDC_CONFIGSETTINGS	201
     #define IDC_USEOTHERDRIVER	202
    -#define IDC_UNINSTALL	203
    -#define IDC_VGA	204
    -#define IDC_VBE	205
    +#define IDC_UNINSTALL		203
    +#define IDC_VGA			204
    +#define IDC_VBE			205
     #define IDC_INSTALLINGSTATUS	206
     #define IDC_INSTALLINGPROGRESS	207
     
    -#define IDB_WATERMARK	100
    -#define IDB_HEADER	101
    +#define IDB_WATERMARK		100
    +#define IDB_HEADER		101
    +
    +#define IDD_INSERT_VMWARE_TOOLSTITLE		301
    +#define IDD_INSERT_VMWARE_TOOLSSUBTITLE		302
    +#define IDD_INSTALLING_VMWARE_TOOLSTITLE	311
    +#define IDD_INSTALLING_VMWARE_TOOLSSUBTITLE	312
    +#define IDD_CONFIGTITLE				321
    +#define IDD_CONFIGSUBTITLE			322
    +#define IDD_INSTALLATION_FAILEDTITLE		331
    +#define IDD_INSTALLATION_FAILEDSUBTITLE		332
    +#define IDD_CHOOSEACTIONTITLE			341
    +#define IDD_CHOOSEACTIONSUBTITLE		342
    +#define IDD_SELECTDRIVERTITLE			351
    +#define IDD_SELECTDRIVERSUBTITLE		352
    +#define IDD_DOUNINSTALLTITLE			361
    +#define IDD_DOUNINSTALLSUBTITLE			362
     
     #endif /* __VMWINST_H */
    diff --git a/reactos/subsys/system/vmwinst/vmwinst.rc b/reactos/subsys/system/vmwinst/vmwinst.rc
    index 6608f4bf152..4cdd70c5b44 100644
    --- a/reactos/subsys/system/vmwinst/vmwinst.rc
    +++ b/reactos/subsys/system/vmwinst/vmwinst.rc
    @@ -16,7 +16,14 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
     IDB_WATERMARK BITMAP "resources/watermark.bmp"
     IDB_HEADER    BITMAP "resources/header.bmp"
     
    -#include "En.rc"
    -#include "Es.rc"
    -#include "De.rc"
    +
    +/*
    + * Everything specific to any language goes in one of the specific
    + * files. Note that you can and may override resources which also have
    + * a neutral version. This is to get localized bitmaps for example.
    + */
    +
    +#include "En.rc"
    +#include "De.rc"
    +#include "Es.rc"
     
    diff --git a/reactos/subsys/system/winlogon/De.rc b/reactos/subsys/system/winlogon/De.rc
    index 51118ccff19..ed6741885c1 100644
    --- a/reactos/subsys/system/winlogon/De.rc
    +++ b/reactos/subsys/system/winlogon/De.rc
    @@ -14,7 +14,7 @@ END
     
     IDD_GINALOADFAILED DIALOG  58, 83, 231, 119
     STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    -CAPTION "User Interface Fehler"
    +CAPTION "Benutzer Interface Fehler"
     FONT 8, "MS Shell Dlg"
     BEGIN
         LTEXT "Die Logon Benutzer Schnittstelle DLL %s konnte nicht geladen werden.", IDC_GINALOADFAILED, 39, 16, 156, 24
    @@ -22,7 +22,7 @@ BEGIN
         DEFPUSHBUTTON "Neusta&rt", 1, 80, 91, 68, 14
     END
     
    -STRINGTABLE 
    +STRINGTABLE
     BEGIN
         IDS_PREPARENETWORKCONNECTIONS "Netzwerkverbindungen vorbereiten..."
         IDS_APPLYINGCOMPUTERSETTINGS "Computereinstellungen laden..."
    @@ -40,8 +40,7 @@ BEGIN
         IDS_REACTOSISSTARTINGUP "ReactOS startet..."
     END
     
    -STRINGTABLE 
    +STRINGTABLE
     BEGIN
         IDS_FAILEDACTIVATEUSERSHELL "Winlogon konnte die Benutzershell nicht aktivieren!"
     END
    -
    diff --git a/reactos/subsys/win32k/eng/mouse.c b/reactos/subsys/win32k/eng/mouse.c
    index 57c7c7d1801..6d540c5ca04 100644
    --- a/reactos/subsys/win32k/eng/mouse.c
    +++ b/reactos/subsys/win32k/eng/mouse.c
    @@ -243,7 +243,7 @@ IntShowMousePointer(GDIDEVICE *ppdev, SURFOBJ *DestSurface)
           RECTL DestRect;
           POINTL SrcPoint;
           SURFOBJ *ColorSurf;
    -      SURFOBJ *MaskSurf;
    +      SURFOBJ *MaskSurf = NULL;
     
           DestRect.left = max(pt.x, 0);
           DestRect.top = max(pt.y, 0);
    @@ -257,7 +257,9 @@ IntShowMousePointer(GDIDEVICE *ppdev, SURFOBJ *DestSurface)
           SrcPoint.x = max(-pt.x, 0);
           SrcPoint.y = max(-pt.y, 0);
     
    -      MaskSurf = EngLockSurface(pgp->MaskSurface);
    +      if (pgp->MaskSurface)
    +        MaskSurf = EngLockSurface(pgp->MaskSurface);
    +
           if (MaskSurf != NULL)
           {
             if (pgp->ColorSurface != NULL)
    diff --git a/reactos/subsys/win32k/include/ssec.h b/reactos/subsys/win32k/include/ssec.h
    new file mode 100644
    index 00000000000..cead19e5ffc
    --- /dev/null
    +++ b/reactos/subsys/win32k/include/ssec.h
    @@ -0,0 +1,73 @@
    +/* $Id$
    + *
    + * COPYRIGHT:        See COPYING in the top level directory
    + * PROJECT:          ReactOS Win32k subsystem
    + * PURPOSE:          shared sections
    + * FILE:             include/ssec.h
    + * PROGRAMMER:       Thomas Weidenmueller 
    + *
    + */
    +
    +#ifndef _WIN32K_SSEC_H
    +#define _WIN32K_SSEC_H
    +
    +typedef struct _SHARED_SECTION
    +{
    +  PSECTION_OBJECT SectionObject;
    +  PVOID SystemMappedBase;
    +  ULONG ViewSize;
    +} SHARED_SECTION, *PSHARED_SECTION;
    +
    +typedef struct _SHARED_SECTIONS_ARRAY
    +{
    +  struct _SHARED_SECTIONS_ARRAY *Next;
    +  ULONG nEntries;
    +  SHARED_SECTION SharedSection[0];
    +} SHARED_SECTIONS_ARRAY, *PSHARED_SECTIONS_ARRAY;
    +
    +typedef struct _SHARED_SECTION_POOL
    +{
    +  FAST_MUTEX Lock;
    +  ULONG PoolSize;
    +  ULONG PoolFree;
    +  ULONG SharedSectionCount;
    +  SHARED_SECTIONS_ARRAY SectionsArray;
    +} SHARED_SECTION_POOL, *PSHARED_SECTION_POOL;
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserCreateSharedSectionPool(IN ULONG MaximumPoolSize,
    +                               IN PSHARED_SECTION_POOL *SharedSectionPool);
    +
    +VOID INTERNAL_CALL
    +IntUserFreeSharedSectionPool(IN PSHARED_SECTION_POOL SharedSectionPool);
    +
    +NTSTATUS INTERNAL_CALL
    +InUserDeleteSharedSection(IN PSHARED_SECTION_POOL SharedSectionPool,
    +                          IN PVOID SystemMappedBase);
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserCreateSharedSection(IN PSHARED_SECTION_POOL SharedSectionPool,
    +                           IN OUT PVOID *SystemMappedBase,
    +                           IN OUT ULONG *SharedSectionSize);
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserMapSharedSection(IN PSHARED_SECTION_POOL SharedSectionPool,
    +                        IN PEPROCESS Process,
    +                        IN PVOID SystemMappedBase,
    +                        IN PLARGE_INTEGER SectionOffset  OPTIONAL,
    +                        IN OUT PVOID *UserMappedBase,
    +                        IN PULONG ViewSize  OPTIONAL,
    +                        IN BOOLEAN ReadOnly);
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserUnMapSharedSection(IN PSHARED_SECTION_POOL SharedSectionPool,
    +                          IN PEPROCESS Process,
    +                          IN PVOID SystemMappedBase,
    +                          IN PVOID UserMappedBase);
    +
    +extern PSHARED_SECTION_POOL SessionSharedSectionPool;
    +
    +#endif /* ! defined(_WIN32K_SSEC_H) */
    +
    +/* EOF */
    +
    diff --git a/reactos/subsys/win32k/include/tags.h b/reactos/subsys/win32k/include/tags.h
    index 628d72829e1..88634b7b1cd 100644
    --- a/reactos/subsys/win32k/include/tags.h
    +++ b/reactos/subsys/win32k/include/tags.h
    @@ -54,5 +54,6 @@
     /* misc */
     #define TAG_DRIVER	TAG('G', 'D', 'R', 'V') /* video drivers */
     #define TAG_FNTFILE	TAG('F', 'N', 'T', 'F') /* font file */
    +#define TAG_SSECTPOOL   TAG('S', 'S', 'C', 'P') /* shared section pool */
     
     #endif /* _WIN32K_TAGS_H */
    diff --git a/reactos/subsys/win32k/main/dllmain.c b/reactos/subsys/win32k/main/dllmain.c
    index 645a7379d1c..3742656eee7 100644
    --- a/reactos/subsys/win32k/main/dllmain.c
    +++ b/reactos/subsys/win32k/main/dllmain.c
    @@ -51,6 +51,8 @@ extern SSDT Win32kSSDT[];
     extern SSPT Win32kSSPT[];
     extern ULONG Win32kNumberOfSysCalls;
     
    +PSHARED_SECTION_POOL SessionSharedSectionPool = NULL;
    +
     NTSTATUS STDCALL
     Win32kProcessCallback (struct _EPROCESS *Process,
     		     BOOLEAN Create)
    @@ -76,6 +78,12 @@ Win32kProcessCallback (struct _EPROCESS *Process,
     
           Win32Process->KeyboardLayout = W32kGetDefaultKeyLayout();
           
    +      if(Process->Peb != NULL)
    +      {
    +        /* map the gdi handle table to user land */
    +        Process->Peb->GdiSharedHandleTable = GDI_MapHandleTable(Process);
    +      }
    +      
           /* setup process flags */
           Win32Process->Flags = 0;
         }
    @@ -178,7 +186,6 @@ Win32kThreadCallback (struct _ETHREAD *Thread,
           InitializeListHead(&Win32Thread->WindowListHead);
           ExInitializeFastMutex(&Win32Thread->WindowListLock);
           InitializeListHead(&Win32Thread->W32CallbackListHead);
    -      ExInitializeFastMutex(&Win32Thread->W32CallbackListLock);
         }
       else
         {
    @@ -234,6 +241,13 @@ DriverEntry (
     			    sizeof(W32THREAD),
     			    sizeof(W32PROCESS));
       
    +  Status = IntUserCreateSharedSectionPool(48 * 1024 * 1024, /* 48 MB by default */
    +                                          &SessionSharedSectionPool);
    +  if (!NT_SUCCESS(Status))
    +  {
    +    DPRINT1("Failed to initialize the shared section pool: Status 0x%x\n", Status);
    +  }
    +  
       Status = InitWindowStationImpl();
       if (!NT_SUCCESS(Status))
       {
    diff --git a/reactos/subsys/win32k/makefile b/reactos/subsys/win32k/makefile
    index e27e70b05f0..f568085ee8a 100644
    --- a/reactos/subsys/win32k/makefile
    +++ b/reactos/subsys/win32k/makefile
    @@ -53,7 +53,7 @@ ENG_OBJECTS= eng/debug.o eng/error.o eng/mem.o eng/brush.o eng/bitblt.o \
     
     MAIN_OBJECTS = main/dllmain.o main/svctabm.o
     
    -MISC_OBJECTS = misc/driver.o misc/error.o misc/math.o misc/object.o
    +MISC_OBJECTS = misc/driver.o misc/error.o misc/math.o misc/object.o misc/ssec.o
     
     LDR_OBJECTS = ldr/loader.o
     
    diff --git a/reactos/subsys/win32k/misc/ssec.c b/reactos/subsys/win32k/misc/ssec.c
    new file mode 100644
    index 00000000000..8dd28a8371e
    --- /dev/null
    +++ b/reactos/subsys/win32k/misc/ssec.c
    @@ -0,0 +1,420 @@
    +/*
    + *  ReactOS W32 Subsystem
    + *  Copyright (C) 1998 - 2005 ReactOS Team
    + *
    + *  This program is free software; you can redistribute it and/or modify
    + *  it under the terms of the GNU General Public License as published by
    + *  the Free Software Foundation; either version 2 of the License, or
    + *  (at your option) any later version.
    + *
    + *  This program is distributed in the hope that it will be useful,
    + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    + *  GNU General Public License for more details.
    + *
    + *  You should have received a copy of the GNU General Public License
    + *  along with this program; if not, write to the Free Software
    + *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    + */
    +/*
    + * COPYRIGHT:        See COPYING in the top level directory
    + * PROJECT:          ReactOS kernel
    + * PURPOSE:          shared sections support
    + * FILE:             subsys/win32k/misc/ssec.c
    + * PROGRAMER:        Thomas Weidenmueller 
    + */
    +
    +#include 
    +
    +#define NDEBUG
    +#include 
    +
    +/*
    + * FIXME - instead of mapping the memory into system space using
    + *         MmMapViewInSystemSpace() we should rather use
    + *         MmMapViewInSessionSpace() to map it into session space!
    + */
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserCreateSharedSectionPool(IN ULONG MaximumPoolSize,
    +                               IN PSHARED_SECTION_POOL *SharedSectionPool)
    +{
    +  PSHARED_SECTION_POOL Pool;
    +  ULONG PoolStructSize;
    +
    +  ASSERT(SharedSectionPool);
    +
    +  PoolStructSize = ROUND_UP(sizeof(SHARED_SECTION_POOL), PAGE_SIZE);
    +  Pool = ExAllocatePoolWithTag(NonPagedPool,
    +                               PoolStructSize,
    +                               TAG_SSECTPOOL);
    +  if(Pool != NULL)
    +  {
    +    RtlZeroMemory(Pool, PoolStructSize);
    +
    +    /* initialize the session heap */
    +    ExInitializeFastMutex(&Pool->Lock);
    +    Pool->PoolSize = ROUND_UP(MaximumPoolSize, PAGE_SIZE);
    +    Pool->PoolFree = Pool->PoolSize;
    +    Pool->SharedSectionCount = 0;
    +    Pool->SectionsArray.Next = NULL;
    +    Pool->SectionsArray.nEntries = ((PoolStructSize - sizeof(SHARED_SECTION_POOL)) /
    +                                    sizeof(SHARED_SECTION)) - 1;
    +
    +    ASSERT(Pool->SectionsArray.nEntries > 0);
    +
    +    *SharedSectionPool = Pool;
    +
    +    return STATUS_SUCCESS;
    +  }
    +
    +  return STATUS_INSUFFICIENT_RESOURCES;
    +}
    +
    +
    +VOID INTERNAL_CALL
    +IntUserFreeSharedSectionPool(IN PSHARED_SECTION_POOL SharedSectionPool)
    +{
    +  PSHARED_SECTIONS_ARRAY Array, OldArray;
    +  PSHARED_SECTION SharedSection, LastSharedSection;
    +
    +  ASSERT(SharedSectionPool);
    +
    +  Array = &SharedSectionPool->SectionsArray;
    +
    +  ExAcquireFastMutex(&SharedSectionPool->Lock);
    +  while(SharedSectionPool->SharedSectionCount > 0 && Array != NULL)
    +  {
    +    for(SharedSection = Array->SharedSection, LastSharedSection = SharedSection + Array->nEntries;
    +        SharedSection != LastSharedSection && SharedSectionPool->SharedSectionCount > 0;
    +        SharedSection++)
    +    {
    +      if(SharedSection->SectionObject != NULL)
    +      {
    +        ASSERT(SharedSection->SystemMappedBase);
    +
    +        /* FIXME - use MmUnmapViewInSessionSpace() once implemented! */
    +        MmUnmapViewInSystemSpace(SharedSection->SystemMappedBase);
    +        /* dereference the keep-alive reference so the section get's deleted */
    +        ObDereferenceObject(SharedSection->SectionObject);
    +
    +        SharedSectionPool->SharedSectionCount--;
    +      }
    +    }
    +
    +    OldArray = Array;
    +    Array = Array->Next;
    +
    +    /* all shared sections in this array were freed, link the following array to
    +       the main session heap and free this array */
    +    SharedSectionPool->SectionsArray.Next = Array;
    +    ExFreePool(OldArray);
    +  }
    +
    +  ASSERT(SharedSectionPool->SectionsArray.Next == NULL);
    +  ASSERT(SharedSectionPool->SharedSectionCount == 0);
    +
    +  ExReleaseFastMutex(&SharedSectionPool->Lock);
    +}
    +
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserCreateSharedSection(IN PSHARED_SECTION_POOL SharedSectionPool,
    +                           IN OUT PVOID *SystemMappedBase,
    +                           IN OUT ULONG *SharedSectionSize)
    +{
    +  PSHARED_SECTIONS_ARRAY Array, LastArray;
    +  PSHARED_SECTION FreeSharedSection, SharedSection, LastSharedSection;
    +  LARGE_INTEGER SectionSize;
    +  ULONG Size;
    +  NTSTATUS Status;
    +  
    +  ASSERT(SharedSectionPool && SharedSectionSize && (*SharedSectionSize) > 0 && SystemMappedBase);
    +  
    +  FreeSharedSection = NULL;
    +  
    +  Size = ROUND_UP(*SharedSectionSize, PAGE_SIZE);
    +
    +  ExAcquireFastMutex(&SharedSectionPool->Lock);
    +  
    +  if(Size > SharedSectionPool->PoolFree)
    +  {
    +    ExReleaseFastMutex(&SharedSectionPool->Lock);
    +    DPRINT1("Shared Section Pool limit (0x%x KB) reached, attempted to allocate a 0x%x KB shared section!\n",
    +            SharedSectionPool->PoolSize / 1024, (*SharedSectionSize) / 1024);
    +    return STATUS_INSUFFICIENT_RESOURCES;
    +  }
    +  
    +  /* walk the array to find a free entry */
    +  for(Array = &SharedSectionPool->SectionsArray, LastArray = Array;
    +      Array != NULL && FreeSharedSection == NULL;
    +      Array = Array->Next)
    +  {
    +    LastArray = Array;
    +    
    +    for(SharedSection = Array->SharedSection, LastSharedSection = SharedSection + Array->nEntries;
    +        SharedSection != LastSharedSection;
    +        SharedSection++)
    +    {
    +      if(SharedSection->SectionObject == NULL)
    +      {
    +        FreeSharedSection = SharedSection;
    +        break;
    +      }
    +    }
    +    
    +    if(Array->Next != NULL)
    +    {
    +      LastArray = Array;
    +    }
    +  }
    +  
    +  ASSERT(LastArray);
    +  
    +  if(FreeSharedSection == NULL)
    +  {
    +    ULONG nNewEntries;
    +    PSHARED_SECTIONS_ARRAY NewArray;
    +    
    +    ASSERT(LastArray->Next == NULL);
    +    
    +    /* couldn't find a free entry in the array, extend the array */
    +
    +    nNewEntries = ((PAGE_SIZE - sizeof(SHARED_SECTIONS_ARRAY)) / sizeof(SHARED_SECTION)) + 1;
    +    NewArray = ExAllocatePoolWithTag(NonPagedPool,
    +                                     sizeof(SHARED_SECTIONS_ARRAY) + ((nNewEntries - 1) *
    +                                                                      sizeof(SHARED_SECTION)),
    +                                     TAG_SSECTPOOL);
    +    if(NewArray == NULL)
    +    {
    +      ExReleaseFastMutex(&SharedSectionPool->Lock);
    +      DPRINT1("Failed to allocate new array for shared sections!\n");
    +      return STATUS_INSUFFICIENT_RESOURCES;
    +    }
    +    
    +    NewArray->nEntries = nNewEntries;
    +    NewArray->Next = NULL;
    +    LastArray->Next = NewArray;
    +    
    +    Array = NewArray;
    +    FreeSharedSection = &Array->SharedSection[0];
    +  }
    +  
    +  ASSERT(FreeSharedSection);
    +  
    +  /* now allocate a real section */
    +  
    +  SectionSize.QuadPart = Size;
    +  Status = MmCreateSection(&FreeSharedSection->SectionObject,
    +                           SECTION_ALL_ACCESS,
    +                           NULL,
    +                           &SectionSize,
    +                           PAGE_EXECUTE_READWRITE,
    +                           SEC_COMMIT,
    +                           NULL,
    +                           NULL);
    +  if(NT_SUCCESS(Status))
    +  {
    +    Status = MmMapViewInSystemSpace(FreeSharedSection->SectionObject,
    +                                    &FreeSharedSection->SystemMappedBase,
    +                                    &FreeSharedSection->ViewSize);
    +    if(NT_SUCCESS(Status))
    +    {
    +      (*SharedSectionSize) -= Size;
    +      SharedSectionPool->SharedSectionCount++;
    +      
    +      *SystemMappedBase = FreeSharedSection->SystemMappedBase;
    +      *SharedSectionSize = FreeSharedSection->ViewSize;
    +    }
    +    else
    +    {
    +      ObDereferenceObject(FreeSharedSection->SectionObject);
    +      FreeSharedSection->SectionObject = NULL;
    +      DPRINT1("Failed to map the shared section into system space! Status 0x%x\n", Status);
    +    }
    +  }
    +  
    +  ExReleaseFastMutex(&SharedSectionPool->Lock);
    +  
    +  return Status;
    +}
    +
    +
    +NTSTATUS INTERNAL_CALL
    +InUserDeleteSharedSection(PSHARED_SECTION_POOL SharedSectionPool,
    +                          PVOID SystemMappedBase)
    +{
    +  PSHARED_SECTIONS_ARRAY Array;
    +  PSECTION_OBJECT SectionObject;
    +  PSHARED_SECTION SharedSection, LastSharedSection;
    +  NTSTATUS Status;
    +
    +  ASSERT(SharedSectionPool && SystemMappedBase);
    +
    +  SectionObject = NULL;
    +
    +  ExAcquireFastMutex(&SharedSectionPool->Lock);
    +
    +  for(Array = &SharedSectionPool->SectionsArray;
    +      Array != NULL && SectionObject == NULL;
    +      Array = Array->Next)
    +  {
    +    for(SharedSection = Array->SharedSection, LastSharedSection = SharedSection + Array->nEntries;
    +        SharedSection != LastSharedSection;
    +        SharedSection++)
    +    {
    +      if(SharedSection->SystemMappedBase == SystemMappedBase)
    +      {
    +        SectionObject = SharedSection->SectionObject;
    +        SharedSection->SectionObject = NULL;
    +        SharedSection->SystemMappedBase = NULL;
    +
    +        ASSERT(SharedSectionPool->SharedSectionCount > 0);
    +        SharedSectionPool->SharedSectionCount--;
    +        break;
    +      }
    +    }
    +  }
    +
    +  ExReleaseFastMutex(&SharedSectionPool->Lock);
    +
    +  if(SectionObject != NULL)
    +  {
    +    Status = MmUnmapViewInSystemSpace(SystemMappedBase);
    +    ObDereferenceObject(SectionObject);
    +  }
    +  else
    +  {
    +    DPRINT1("Couldn't find and delete a shared section with SystemMappedBase=0x%x!\n", SystemMappedBase);
    +    Status = STATUS_UNSUCCESSFUL;
    +  }
    +
    +  return Status;
    +}
    +
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserMapSharedSection(IN PSHARED_SECTION_POOL SharedSectionPool,
    +                        IN PEPROCESS Process,
    +                        IN PVOID SystemMappedBase,
    +                        IN PLARGE_INTEGER SectionOffset  OPTIONAL,
    +                        IN OUT PVOID *UserMappedBase,
    +                        IN PULONG ViewSize  OPTIONAL,
    +                        IN BOOLEAN ReadOnly)
    +{
    +  PSHARED_SECTIONS_ARRAY Array;
    +  PSECTION_OBJECT SectionObject;
    +  PSHARED_SECTION SharedSection, LastSharedSection;
    +  NTSTATUS Status;
    +
    +  ASSERT(SharedSectionPool && Process && SystemMappedBase && UserMappedBase);
    +
    +  SectionObject = NULL;
    +
    +  ExAcquireFastMutex(&SharedSectionPool->Lock);
    +
    +  for(Array = &SharedSectionPool->SectionsArray;
    +      Array != NULL && SectionObject == NULL;
    +      Array = Array->Next)
    +  {
    +    for(SharedSection = Array->SharedSection, LastSharedSection = SharedSection + Array->nEntries;
    +        SharedSection != LastSharedSection;
    +        SharedSection++)
    +    {
    +      if(SharedSection->SystemMappedBase == SystemMappedBase)
    +      {
    +        SectionObject = SharedSection->SectionObject;
    +        break;
    +      }
    +    }
    +  }
    +
    +  if(SectionObject != NULL)
    +  {
    +    ULONG RealViewSize = (ViewSize ? min(*ViewSize, SharedSection->ViewSize) : SharedSection->ViewSize);
    +    
    +    ObReferenceObjectByPointer(SectionObject,
    +                               (ReadOnly ? SECTION_MAP_READ : SECTION_MAP_READ | SECTION_MAP_WRITE),
    +                               NULL,
    +                               KernelMode);
    +
    +    Status = MmMapViewOfSection(SectionObject,
    +                                Process,
    +                                UserMappedBase,
    +                                0,
    +                                0,
    +                                SectionOffset,
    +                                &RealViewSize,
    +                                ViewUnmap, /* not sure if we should inherit it... */
    +                                MEM_COMMIT,
    +                                (ReadOnly ? PAGE_READONLY : PAGE_READWRITE));
    +    if(!NT_SUCCESS(Status))
    +    {
    +      DPRINT1("Failed to map shared section (readonly=%d) into user memory! Status: 0x%x\n", ReadOnly, Status);
    +    }
    +  }
    +  else
    +  {
    +    DPRINT1("Couldn't find and map a shared section with SystemMappedBase=0x%x!\n", SystemMappedBase);
    +    Status = STATUS_UNSUCCESSFUL;
    +  }
    +  
    +  ExReleaseFastMutex(&SharedSectionPool->Lock);
    +
    +  return Status;
    +}
    +
    +
    +NTSTATUS INTERNAL_CALL
    +IntUserUnMapSharedSection(IN PSHARED_SECTION_POOL SharedSectionPool,
    +                          IN PEPROCESS Process,
    +                          IN PVOID SystemMappedBase,
    +                          IN PVOID UserMappedBase)
    +{
    +  PSHARED_SECTIONS_ARRAY Array;
    +  PSECTION_OBJECT SectionObject;
    +  PSHARED_SECTION SharedSection, LastSharedSection;
    +  NTSTATUS Status;
    +
    +  ASSERT(SharedSectionPool && Process && SystemMappedBase && UserMappedBase);
    +
    +  SectionObject = NULL;
    +
    +  ExAcquireFastMutex(&SharedSectionPool->Lock);
    +
    +  for(Array = &SharedSectionPool->SectionsArray;
    +      Array != NULL && SectionObject == NULL;
    +      Array = Array->Next)
    +  {
    +    for(SharedSection = Array->SharedSection, LastSharedSection = SharedSection + Array->nEntries;
    +        SharedSection != LastSharedSection;
    +        SharedSection++)
    +    {
    +      if(SharedSection->SystemMappedBase == SystemMappedBase)
    +      {
    +        SectionObject = SharedSection->SectionObject;
    +        break;
    +      }
    +    }
    +  }
    +  
    +  ExReleaseFastMutex(&SharedSectionPool->Lock);
    +
    +  if(SectionObject != NULL)
    +  {
    +    Status = MmUnmapViewOfSection(Process,
    +                                  UserMappedBase);
    +    ObDereferenceObject(SectionObject);
    +    if(!NT_SUCCESS(Status))
    +    {
    +      DPRINT1("Failed to unmap shared section UserMappedBase=0x%x! Status: 0x%x\n", UserMappedBase, Status);
    +    }
    +  }
    +  else
    +  {
    +    DPRINT1("Couldn't find and unmap a shared section with SystemMappedBase=0x%x!\n", SystemMappedBase);
    +    Status = STATUS_UNSUCCESSFUL;
    +  }
    +
    +  return Status;
    +}
    diff --git a/reactos/subsys/win32k/ntuser/callback.c b/reactos/subsys/win32k/ntuser/callback.c
    index 030fab097ba..564d0ab7e6a 100644
    --- a/reactos/subsys/win32k/ntuser/callback.c
    +++ b/reactos/subsys/win32k/ntuser/callback.c
    @@ -63,9 +63,7 @@ IntCbAllocateMemory(ULONG Size)
       
       /* insert the callback memory into the thread's callback list */
       
    -  ExAcquireFastMutex(&W32Thread->W32CallbackListLock);
       InsertTailList(&W32Thread->W32CallbackListHead, &Mem->ListEntry);
    -  ExReleaseFastMutex(&W32Thread->W32CallbackListLock);
       
       return (Mem + 1);
     }
    @@ -84,9 +82,7 @@ IntCbFreeMemory(PVOID Data)
       ASSERT(W32Thread);
       
       /* remove the memory block from the thread's callback list */
    -  ExAcquireFastMutex(&W32Thread->W32CallbackListLock);
       RemoveEntryList(&Mem->ListEntry);
    -  ExReleaseFastMutex(&W32Thread->W32CallbackListLock);
       
       /* free memory */
       ExFreePool(Mem);
    @@ -98,7 +94,6 @@ IntCleanupThreadCallbacks(PW32THREAD W32Thread)
       PLIST_ENTRY CurrentEntry;
       PINT_CALLBACK_HEADER Mem;
       
    -  ExAcquireFastMutex(&W32Thread->W32CallbackListLock);
       while (!IsListEmpty(&W32Thread->W32CallbackListHead))
       {
         CurrentEntry = RemoveHeadList(&W32Thread->W32CallbackListHead);
    @@ -108,7 +103,6 @@ IntCleanupThreadCallbacks(PW32THREAD W32Thread)
         /* free memory */
         ExFreePool(Mem);
       }
    -  ExReleaseFastMutex(&W32Thread->W32CallbackListLock);
     }
     
     /* FUNCTIONS *****************************************************************/
    diff --git a/reactos/subsys/win32k/ntuser/caret.c b/reactos/subsys/win32k/ntuser/caret.c
    index 153ce76d0e4..0a60dbbf836 100644
    --- a/reactos/subsys/win32k/ntuser/caret.c
    +++ b/reactos/subsys/win32k/ntuser/caret.c
    @@ -240,11 +240,13 @@ NtUserCreateCaret(
         return FALSE;
       }
       
    -  IntKillTimer(hWnd, IDCARETTIMER, TRUE);
    -  
       ThreadQueue = (PUSER_MESSAGE_QUEUE)PsGetWin32Thread()->MessageQueue;
    -  
    -  IntHideCaret(ThreadQueue->CaretInfo);
    +
    +  if (ThreadQueue->CaretInfo->Visible)
    +  {
    +    IntKillTimer(hWnd, IDCARETTIMER, TRUE);
    +    IntHideCaret(ThreadQueue->CaretInfo);
    +  }
       
       ThreadQueue->CaretInfo->hWnd = hWnd;
       if(hBitmap)
    diff --git a/reactos/subsys/win32k/ntuser/desktop.c b/reactos/subsys/win32k/ntuser/desktop.c
    index 2de3f2369f4..55e4fa2f103 100644
    --- a/reactos/subsys/win32k/ntuser/desktop.c
    +++ b/reactos/subsys/win32k/ntuser/desktop.c
    @@ -1138,7 +1138,7 @@ NtUserGetThreadDesktop(DWORD dwThreadId, DWORD Unknown1)
         return 0;
       }
       
    -  Status = PsLookupThreadByThreadId((PVOID)dwThreadId, &Thread);
    +  Status = PsLookupThreadByThreadId((HANDLE)dwThreadId, &Thread);
       if(!NT_SUCCESS(Status))
       {
         SetLastWin32Error(ERROR_INVALID_PARAMETER);
    diff --git a/reactos/subsys/win32k/ntuser/hook.c b/reactos/subsys/win32k/ntuser/hook.c
    index 0887b192863..954bc94ef51 100644
    --- a/reactos/subsys/win32k/ntuser/hook.c
    +++ b/reactos/subsys/win32k/ntuser/hook.c
    @@ -460,7 +460,7 @@ NtUserSetWindowsHookEx(
             }
           Mod = NULL;
           Global = FALSE;
    -      if (! NT_SUCCESS(PsLookupThreadByThreadId((PVOID) ThreadId, &Thread)))
    +      if (! NT_SUCCESS(PsLookupThreadByThreadId((HANDLE) ThreadId, &Thread)))
             {
               DPRINT1("Invalid thread id 0x%x\n", ThreadId);
               SetLastWin32Error(ERROR_INVALID_PARAMETER);
    diff --git a/reactos/subsys/win32k/ntuser/message.c b/reactos/subsys/win32k/ntuser/message.c
    index 3ec02fa815a..3b8e33a9493 100644
    --- a/reactos/subsys/win32k/ntuser/message.c
    +++ b/reactos/subsys/win32k/ntuser/message.c
    @@ -1173,7 +1173,7 @@ NtUserPostThreadMessage(DWORD idThread,
       NTSTATUS Status;
       PMSGMEMORY MsgMemoryEntry;
     
    -  Status = PsLookupThreadByThreadId((void *)idThread,&peThread);
    +  Status = PsLookupThreadByThreadId((HANDLE)idThread,&peThread);
       
       if( Status == STATUS_SUCCESS ) {
         pThread = peThread->Tcb.Win32Thread;
    diff --git a/reactos/subsys/win32k/ntuser/misc.c b/reactos/subsys/win32k/ntuser/misc.c
    index b8acc8802d1..7135b288fa4 100644
    --- a/reactos/subsys/win32k/ntuser/misc.c
    +++ b/reactos/subsys/win32k/ntuser/misc.c
    @@ -131,10 +131,6 @@ NtUserCallNoParam(DWORD Routine)
           Result = (DWORD)CsrInit();
           break;
         
    -    case NOPARAM_ROUTINE_GDI_QUERY_TABLE:
    -      Result = (DWORD)GDI_MapHandleTable(NtCurrentProcess());
    -      break;
    -    
         case NOPARAM_ROUTINE_MSQCLEARWAKEMASK:
           return (DWORD)IntMsqClearWakeMask();
     
    @@ -1179,7 +1175,7 @@ NtUserGetGUIThreadInfo(
       
       if(idThread)
       {
    -    Status = PsLookupThreadByThreadId((PVOID)idThread, &Thread);
    +    Status = PsLookupThreadByThreadId((HANDLE)idThread, &Thread);
         if(!NT_SUCCESS(Status))
         {
           SetLastWin32Error(ERROR_ACCESS_DENIED);
    diff --git a/reactos/subsys/win32k/ntuser/painting.c b/reactos/subsys/win32k/ntuser/painting.c
    index 9fb5e70aecd..dece285b320 100644
    --- a/reactos/subsys/win32k/ntuser/painting.c
    +++ b/reactos/subsys/win32k/ntuser/painting.c
    @@ -309,19 +309,20 @@ IntInvalidateWindows(PWINDOW_OBJECT Window, HRGN hRgn, ULONG Flags)
              -Window->WindowRect.top);
     
           hRgnNonClient = NtGdiCreateRectRgn(0, 0, 0, 0);
    -      GDIOBJ_SetOwnership(hRgnNonClient, NULL);
           if (NtGdiCombineRgn(hRgnNonClient, Window->UpdateRegion,
               hRgnWindow, RGN_DIFF) == NULLREGION)
           {
    -         GDIOBJ_SetOwnership(hRgnNonClient, PsGetCurrentProcess());
              NtGdiDeleteObject(hRgnNonClient);
              hRgnNonClient = NULL;
           }
    +      else
    +      {
    +         GDIOBJ_SetOwnership(hRgnNonClient, NULL);
    +      }
     
           /*
            * Remove the nonclient region from the standard update region.
            */
    -
           if (NtGdiCombineRgn(Window->UpdateRegion, Window->UpdateRegion,
               hRgnWindow, RGN_AND) == NULLREGION)
           {
    @@ -336,12 +337,12 @@ IntInvalidateWindows(PWINDOW_OBJECT Window, HRGN hRgn, ULONG Flags)
           }
           else
           {
    -         NtGdiCombineRgn(Window->NCUpdateRegion, Window->NCUpdateRegion,
    -            hRgnNonClient, RGN_OR);
    -         if (NULL != hRgnNonClient)
    +         if(NULL != hRgnNonClient)
              {
    -            GDIOBJ_SetOwnership(hRgnNonClient, PsGetCurrentProcess());
    -            NtGdiDeleteObject(hRgnNonClient);
    +           NtGdiCombineRgn(Window->NCUpdateRegion, Window->NCUpdateRegion,
    +               hRgnNonClient, RGN_OR);
    +           GDIOBJ_SetOwnership(hRgnNonClient, PsGetCurrentProcess());
    +           NtGdiDeleteObject(hRgnNonClient);
              }
           }
     
    diff --git a/reactos/subsys/win32k/ntuser/windc.c b/reactos/subsys/win32k/ntuser/windc.c
    index 2d63c19b07b..7463bce6d03 100644
    --- a/reactos/subsys/win32k/ntuser/windc.c
    +++ b/reactos/subsys/win32k/ntuser/windc.c
    @@ -213,7 +213,7 @@ DceDeleteClipRgn(DCE* Dce)
         {
           Dce->DCXFlags &= ~DCX_KEEPCLIPRGN;
         }
    -  else if (Dce->hClipRgn > (HRGN) 1)
    +  else if (Dce->hClipRgn != NULL)
         {
           GDIOBJ_SetOwnership(Dce->hClipRgn, PsGetCurrentProcess());
           NtGdiDeleteObject(Dce->hClipRgn);
    @@ -332,10 +332,21 @@ DceUpdateVisRgn(DCE *Dce, PWINDOW_OBJECT Window, ULONG Flags)
     noparent:
        if (Flags & DCX_INTERSECTRGN)
        {
    -      NtGdiCombineRgn(hRgnVisible, hRgnVisible, Dce->hClipRgn, RGN_AND);
    +      if(Dce->hClipRgn != NULL)
    +      {
    +         NtGdiCombineRgn(hRgnVisible, hRgnVisible, Dce->hClipRgn, RGN_AND);
    +      }
    +      else
    +      {
    +         if(hRgnVisible != NULL)
    +         {
    +            NtGdiDeleteObject(hRgnVisible);
    +         }
    +         hRgnVisible = NtGdiCreateRectRgn(0, 0, 0, 0);
    +      }
        }
     
    -   if (Flags & DCX_EXCLUDERGN)
    +   if (Flags & DCX_EXCLUDERGN && Dce->hClipRgn != NULL)
        {
           NtGdiCombineRgn(hRgnVisible, hRgnVisible, Dce->hClipRgn, RGN_DIFF);
        }
    diff --git a/reactos/subsys/win32k/ntuser/window.c b/reactos/subsys/win32k/ntuser/window.c
    index 6b0fec11fac..6489cdef7b8 100644
    --- a/reactos/subsys/win32k/ntuser/window.c
    +++ b/reactos/subsys/win32k/ntuser/window.c
    @@ -267,8 +267,6 @@ static LRESULT IntDestroyWindow(PWINDOW_OBJECT Window,
       BOOLEAN BelongsToThreadData;
       
       ASSERT(Window);
    -
    -  MsqRemoveTimersWindow(ThreadData->MessageQueue, Window->Self);
       
       IntLockThreadWindows(Window->OwnerThread->Tcb.Win32Thread);
       if(Window->Status & WINDOWSTATUS_DESTROYING)
    @@ -326,6 +324,7 @@ static LRESULT IntDestroyWindow(PWINDOW_OBJECT Window,
         if(BelongsToThreadData)
           IntSendMessage(Window->Self, WM_NCDESTROY, 0, 0);
       }
    +  MsqRemoveTimersWindow(ThreadData->MessageQueue, Window->Self);
       
       /* flush the message queue */
       MsqRemoveWindowMessagesFromQueue(Window);
    @@ -1164,7 +1163,7 @@ NtUserBuildHwndList(
         PLIST_ENTRY Current;
         PWINDOW_OBJECT Window;
         
    -    Status = PsLookupThreadByThreadId((PVOID)dwThreadId, &Thread);
    +    Status = PsLookupThreadByThreadId((HANDLE)dwThreadId, &Thread);
         if(!NT_SUCCESS(Status))
         {
           SetLastWin32Error(ERROR_INVALID_PARAMETER);
    @@ -1173,7 +1172,7 @@ NtUserBuildHwndList(
         if(!(W32Thread = Thread->Tcb.Win32Thread))
         {
           ObDereferenceObject(Thread);
    -      DPRINT1("Thread is not a GUI Thread!\n");
    +      DPRINT("Thread is not a GUI Thread!\n");
           SetLastWin32Error(ERROR_INVALID_PARAMETER);
           return 0;
         }
    diff --git a/reactos/subsys/win32k/ntuser/winsta.c b/reactos/subsys/win32k/ntuser/winsta.c
    index 76755d5ff30..3f6f2413e38 100644
    --- a/reactos/subsys/win32k/ntuser/winsta.c
    +++ b/reactos/subsys/win32k/ntuser/winsta.c
    @@ -199,6 +199,9 @@ IntInitializeDesktopGraphics(VOID)
       
       NtUserAcquireOrReleaseInputOwnership(FALSE);
     
    +  /* Setup the cursor */
    +  IntLoadDefaultCursors();
    +
       return TRUE;
     }
     
    @@ -810,11 +813,15 @@ IntGetWinStaObj(VOID)
                                                          KernelMode,
                                                          0,
                                                          &WinStaObj);
    -   if(!NT_SUCCESS(Status))
    -   {
    -     SetLastNtError(Status);
    -     return NULL;
    -   }
    +    if(!NT_SUCCESS(Status))
    +    {
    +      SetLastNtError(Status);
    +      return NULL;
    +    }
    +  }
    +  else
    +  {
    +    WinStaObj = NULL;
       }
       
       return WinStaObj;
    diff --git a/reactos/subsys/win32k/objects/dc.c b/reactos/subsys/win32k/objects/dc.c
    index ad19cee6efd..5ef2813bf1e 100644
    --- a/reactos/subsys/win32k/objects/dc.c
    +++ b/reactos/subsys/win32k/objects/dc.c
    @@ -664,6 +664,11 @@ IntCreatePrimarySurface()
           SurfaceRect.bottom = SurfObj->sizlBitmap.cy;
           /* FIXME - why does EngEraseSurface() sometimes crash?
             EngEraseSurface(SurfObj, &SurfaceRect, 0); */
    +
    +      /* Put the pointer in the center of the screen */
    +      GDIDEV(SurfObj)->Pointer.Pos.x = (SurfaceRect.right - SurfaceRect.left) / 2;
    +      GDIDEV(SurfObj)->Pointer.Pos.y = (SurfaceRect.bottom - SurfaceRect.top) / 2;
    +
           EngUnlockSurface(SurfObj);
           IntShowDesktop(IntGetActiveDesktop(), SurfSize.cx, SurfSize.cy);
           break;
    diff --git a/reactos/subsys/win32k/objects/fillshap.c b/reactos/subsys/win32k/objects/fillshap.c
    index 066cf2204fe..277e855e5aa 100644
    --- a/reactos/subsys/win32k/objects/fillshap.c
    +++ b/reactos/subsys/win32k/objects/fillshap.c
    @@ -88,9 +88,7 @@ IntGdiPolygon(PDC    dc,
     
     	/* Now fill the polygon with the current brush. */
     	FillBrushObj = BRUSHOBJ_LockBrush(dc->w.hBrush);
    -	/* FIXME - FillBrushObj can be NULL!!!!!!!! Don't Assert! */
    -	ASSERT(FillBrushObj);
    -	if (!(FillBrushObj->flAttrs & GDIBRUSH_IS_NULL))
    +	if (FillBrushObj && !(FillBrushObj->flAttrs & GDIBRUSH_IS_NULL))
     	{
               IntGdiInitBrushInstance(&FillBrushInst, FillBrushObj, dc->XlateBrush);
     	  ret = FillPolygon ( dc, BitmapObj, &FillBrushInst.BrushObject, ROP2_TO_MIX(dc->w.ROPmode), UnsafePoints, Count, DestRect );
    @@ -99,12 +97,10 @@ IntGdiPolygon(PDC    dc,
     
     	/* get BRUSHOBJ from current pen. */
     	PenBrushObj = PENOBJ_LockPen(dc->w.hPen);
    -	/* FIXME - handle PenBrushObj == NULL !!!!! */
    -        IntGdiInitBrushInstance(&PenBrushInst, PenBrushObj, dc->XlatePen);
    -
     	// Draw the Polygon Edges with the current pen ( if not a NULL pen )
    -	if (!(PenBrushObj->flAttrs & GDIBRUSH_IS_NULL))
    +	if (PenBrushObj && !(PenBrushObj->flAttrs & GDIBRUSH_IS_NULL))
     	{
    +	  IntGdiInitBrushInstance(&PenBrushInst, PenBrushObj, dc->XlatePen);
     	  for ( CurrentPoint = 0; CurrentPoint < Count; ++CurrentPoint )
     	  {
     	    POINT To, From; //, Next;
    @@ -260,8 +256,14 @@ NtGdiEllipse(
        }
     
        BitmapObj = BITMAPOBJ_LockBitmap(dc->w.hBitmap);
    -   /* FIXME - BitmapObj can be NULL!!!! Don't assert but handle this case gracefully! */
    -   ASSERT(BitmapObj);
    +   if (NULL == BitmapObj)
    +   {
    +      BRUSHOBJ_UnlockBrush(dc->w.hBrush);
    +      BITMAPOBJ_UnlockBitmap(dc->w.hBitmap);
    +      DC_UnlockDc(hDC);
    +      SetLastWin32Error(ERROR_INTERNAL_ERROR);
    +      return FALSE;
    +   }
     
        IntGdiInitBrushInstance(&FillBrushInst, FillBrush, dc->XlateBrush);
        IntGdiInitBrushInstance(&PenBrushInst, PenBrush, dc->XlatePen);
    @@ -962,14 +964,13 @@ IntRectangle(PDC dc,
         DestRect.bottom = BottomRect;
     
         FillBrushObj = BRUSHOBJ_LockBrush(dc->w.hBrush);
    -    /* FIXME - Handle FillBrushObj == NULL !!!! */
    -    IntGdiInitBrushInstance(&FillBrushInst, FillBrushObj, dc->XlateBrush);
     
         if ( FillBrushObj )
         {
           if (!(FillBrushObj->flAttrs & GDIBRUSH_IS_NULL))
           {
    -	ret = IntEngBitBlt(BitmapObj,
    +        IntGdiInitBrushInstance(&FillBrushInst, FillBrushObj, dc->XlateBrush);
    +        ret = IntEngBitBlt(BitmapObj,
                                NULL,
                                NULL,
                                dc->CombinedClip,
    @@ -1113,30 +1114,44 @@ IntRoundRect(
       RectBounds.bottom = bottom;
     
       BitmapObj = BITMAPOBJ_LockBitmap(dc->w.hBitmap);
    -  /* FIXME - BitmapObj can be NULL!!!! Handle this case gracefully instead of ASSERT! */
    -  ASSERT(BitmapObj);
    +  if (!BitmapObj)
    +  {
    +    /* Nothing to do, as we don't have a bitmap */
    +    BITMAPOBJ_UnlockBitmap(dc->w.hBitmap);
    +    SetLastWin32Error(ERROR_INTERNAL_ERROR);
    +    return FALSE;
    +  }
     
       FillBrushObj = BRUSHOBJ_LockBrush(dc->w.hBrush);
    -  /* FIXME - Don't assert if FillBrushObj == NULL, handle this case !!!! */
    -  ASSERT(FillBrushObj);
    -  if (FillBrushObj->flAttrs & GDIBRUSH_IS_NULL)
    +  if (FillBrushObj)
       {
    -    BRUSHOBJ_UnlockBrush(dc->w.hBrush);
    -    FillBrushObj = NULL; // make null brush check simpler...
    +    if (FillBrushObj->flAttrs & GDIBRUSH_IS_NULL)
    +    {
    +      /* make null brush check simpler... */
    +      BRUSHOBJ_UnlockBrush(dc->w.hBrush);
    +      FillBrushObj = NULL;
    +    }
    +    else
    +    {
    +      IntGdiInitBrushInstance(&FillBrushInst, FillBrushObj, dc->XlateBrush);
    +    }
       }
     
       PenBrushObj = PENOBJ_LockPen(dc->w.hPen);
    -  /* FIXME - PenBrushObject can be NULL!!! Don't assert!!!! */
    -  ASSERT(PenBrushObj);
    -  if (PenBrushObj->flAttrs & GDIBRUSH_IS_NULL)
    +  if (PenBrushObj)
       {
    -    PENOBJ_UnlockPen(dc->w.hPen);
    -    PenBrushObj = NULL;
    +    if (PenBrushObj->flAttrs & GDIBRUSH_IS_NULL)
    +    {
    +      /* make null pen check simpler... */
    +      PENOBJ_UnlockPen(dc->w.hPen);
    +      PenBrushObj = NULL;
    +    }
    +    else
    +    {
    +      IntGdiInitBrushInstance(&PenBrushInst, PenBrushObj, dc->XlatePen);
    +    }
       }
     
    -  IntGdiInitBrushInstance(&FillBrushInst, FillBrushObj, dc->XlateBrush);
    -  IntGdiInitBrushInstance(&PenBrushInst, PenBrushObj, dc->XlatePen);
    -
       right--;
       bottom--;
     
    @@ -1317,7 +1332,8 @@ IntRoundRect(
       BITMAPOBJ_UnlockBitmap(dc->w.hBitmap);
       if(PenBrushObj != NULL)
         PENOBJ_UnlockPen(dc->w.hPen);
    -  BRUSHOBJ_UnlockBrush(dc->w.hBrush);
    +  if(FillBrushObj != NULL)
    +    BRUSHOBJ_UnlockBrush(dc->w.hBrush);
     
       return ret;
     }
    diff --git a/reactos/subsys/win32k/objects/gdiobj.c b/reactos/subsys/win32k/objects/gdiobj.c
    index 79902d92b1e..70190b918cb 100644
    --- a/reactos/subsys/win32k/objects/gdiobj.c
    +++ b/reactos/subsys/win32k/objects/gdiobj.c
    @@ -58,13 +58,15 @@ KeRosGetStackFrames ( PULONG Frames, ULONG FrameCount );
     
     typedef struct _GDI_HANDLE_TABLE
     {
    +  /* the table must be located at the beginning of this structure so it can be
    +     properly mapped! */
    +  GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT];
    +  
       PPAGED_LOOKASIDE_LIST LookasideLists;
     
       SLIST_HEADER FreeEntriesHead;
       SLIST_ENTRY FreeEntries[((GDI_HANDLE_COUNT * sizeof(GDI_TABLE_ENTRY)) << 3) /
                               (sizeof(SLIST_ENTRY) << 3)];
    -
    -  GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT];
     } GDI_HANDLE_TABLE, *PGDI_HANDLE_TABLE;
     
     typedef struct
    @@ -125,11 +127,17 @@ static PGDI_HANDLE_TABLE INTERNAL_CALL
     GDIOBJ_iAllocHandleTable(VOID)
     {
       PGDI_HANDLE_TABLE handleTable;
    +  ULONG htSize;
       UINT ObjType;
       UINT i;
       PGDI_TABLE_ENTRY Entry;
     
    -  handleTable = ExAllocatePoolWithTag(NonPagedPool, sizeof(GDI_HANDLE_TABLE), TAG_GDIHNDTBLE);
    +  handleTable = NULL;
    +  htSize = sizeof(GDI_HANDLE_TABLE);
    +  
    +  IntUserCreateSharedSection(SessionSharedSectionPool,
    +                             (PVOID*)&handleTable,
    +                             &htSize);
       ASSERT( handleTable );
       RtlZeroMemory(handleTable, sizeof(GDI_HANDLE_TABLE));
     
    @@ -148,7 +156,8 @@ GDIOBJ_iAllocHandleTable(VOID)
                                                           TAG_GDIHNDTBLE);
       if(handleTable->LookasideLists == NULL)
       {
    -    ExFreePool(handleTable);
    +    InUserDeleteSharedSection(SessionSharedSectionPool,
    +                              handleTable);
         return NULL;
       }
     
    @@ -368,28 +377,31 @@ GDIOBJ_AllocObj(ULONG ObjectType)
     
           RtlZeroMemory(ObjectBody, GetObjectSize(ObjectType));
     
    -      TypeInfo = (ObjectType & 0xFFFF0000) | (ObjectType >> 16);
    +      TypeInfo = (ObjectType & GDI_HANDLE_TYPE_MASK) | (ObjectType >> 16);
     
           FreeEntry = InterlockedPopEntrySList(&HandleTable->FreeEntriesHead);
           if(FreeEntry != NULL)
           {
             HANDLE PrevProcId;
             UINT Index;
    -        HGDIOBJ Handle;
     
             /* calculate the entry from the address of the entry in the free slot array */
             Index = ((ULONG_PTR)FreeEntry - (ULONG_PTR)&HandleTable->FreeEntries[0]) /
                     sizeof(HandleTable->FreeEntries[0]);
             Entry = &HandleTable->Entries[Index];
    -        Handle = (HGDIOBJ)((Index & 0xFFFF) | (ObjectType & 0xFFFF0000));
     
     LockHandle:
             PrevProcId = InterlockedCompareExchangePointer(&Entry->ProcessId, LockedProcessId, 0);
             if(PrevProcId == NULL)
             {
    +          HGDIOBJ Handle;
    +          
               ASSERT(Entry->KernelData == NULL);
     
               Entry->KernelData = ObjectBody;
    +          
    +          /* copy the reuse-counter */
    +          TypeInfo |= Entry->Type & GDI_HANDLE_REUSE_MASK;
     
               /* we found a free entry, no need to exchange this field atomically
                  since we're holding the lock */
    @@ -407,6 +419,7 @@ LockHandle:
               {
                 InterlockedIncrement(&W32Process->GDIObjects);
               }
    +          Handle = (HGDIOBJ)((Index & 0xFFFF) | (TypeInfo & (GDI_HANDLE_TYPE_MASK | GDI_HANDLE_REUSE_MASK)));
     
               DPRINT("GDIOBJ_AllocObj: 0x%x ob: 0x%x\n", Handle, ObjectBody);
               return Handle;
    @@ -416,7 +429,7 @@ LockHandle:
     #ifdef GDI_DEBUG
               if(++Attempts > 20)
               {
    -            DPRINT1("[%d]Waiting on 0x%x\n", Attempts, Handle);
    +            DPRINT1("[%d]Waiting on handle in index 0x%x\n", Attempts, Index);
               }
     #endif
               /* damn, someone is trying to lock the object even though it doesn't
    @@ -499,7 +512,8 @@ LockHandle:
       PrevProcId = InterlockedCompareExchangePointer(&Entry->ProcessId, LockedProcessId, ProcessId);
       if(PrevProcId == ProcessId)
       {
    -    if(Entry->Type != 0 && Entry->KernelData != NULL && (ExpectedType == 0 || ((Entry->Type << 16) == ExpectedType)))
    +    if(Entry->Type != 0 && Entry->KernelData != NULL &&
    +       (ExpectedType == 0 || ((Entry->Type << 16) == ExpectedType)))
         {
           PGDIOBJHDR GdiHdr;
     
    @@ -511,8 +525,8 @@ LockHandle:
             PW32PROCESS W32Process = PsGetWin32Process();
             ULONG Type = Entry->Type << 16;
     
    -        /* Clear the type field so when unlocking the handle it gets finally deleted */
    -        Entry->Type = 0;
    +        /* Clear the type field so when unlocking the handle it gets finally deleted and increment reuse counter */
    +        Entry->Type = ((Entry->Type >> GDI_HANDLE_REUSECNT_SHIFT) + 1) << GDI_HANDLE_REUSECNT_SHIFT;
             Entry->KernelData = NULL;
     
             /* unlock the handle slot */
    @@ -542,8 +556,9 @@ LockHandle:
           else
           {
             /* the object is currently locked. just clear the type field so when the
    -           object gets unlocked it will be finally deleted from the table. */
    -        Entry->Type = 0;
    +           object gets unlocked it will be finally deleted from the table. Also
    +           incrment the reuse counter! */
    +        Entry->Type = ((Entry->Type >> GDI_HANDLE_REUSECNT_SHIFT) + 1) << GDI_HANDLE_REUSECNT_SHIFT;
     
             /* unlock the handle slot */
             InterlockedExchangePointer(&Entry->ProcessId, NULL);
    @@ -554,7 +569,7 @@ LockHandle:
         }
         else
         {
    -      if(Entry->Type != 0)
    +      if((Entry->Type & ~GDI_HANDLE_REUSE_MASK) != 0)
           {
             DPRINT1("Attempted to delete object 0x%x, type mismatch (0x%x : 0x%x)\n", hObj, ObjectType, ExpectedType);
           }
    @@ -600,85 +615,6 @@ LockHandle:
       return FALSE;
     }
     
    -/*!
    - * Lock multiple objects. Use this function when you need to lock multiple objects and some of them may be
    - * duplicates. You should use this function to avoid trying to lock the same object twice!
    - *
    - * \param	pList 	pointer to the list that contains handles to the objects. You should set hObj and ObjectType fields.
    - * \param	nObj	number of objects to lock
    - * \return	for each entry in pList this function sets pObj field to point to the object.
    - *
    - * \note this function uses an O(n^2) algoritm because we shouldn't need to call it with more than 3 or 4 objects.
    -*/
    -BOOL INTERNAL_CALL
    -GDIOBJ_LockMultipleObj(PGDIMULTILOCK pList, INT nObj)
    -{
    -  INT i, j;
    -  ASSERT( pList );
    -  /* FIXME - check for "invalid" handles */
    -  /* go through the list checking for duplicate objects */
    -  for (i = 0; i < nObj; i++)
    -    {
    -      pList[i].pObj = NULL;
    -      for (j = 0; j < i; j++)
    -	{
    -	  if (pList[i].hObj == pList[j].hObj)
    -	    {
    -	      /* already locked, so just copy the pointer to the object */
    -	      pList[i].pObj = pList[j].pObj;
    -	      break;
    -	    }
    -	}
    -
    -      if (NULL == pList[i].pObj)
    -	{
    -	  /* object hasn't been locked, so lock it. */
    -	  if (NULL != pList[i].hObj)
    -	    {
    -	      pList[i].pObj = GDIOBJ_LockObj(pList[i].hObj, pList[i].ObjectType);
    -	    }
    -	}
    -    }
    -
    -  return TRUE;
    -}
    -
    -/*!
    - * Unlock multiple objects. Use this function when you need to unlock multiple objects and some of them may be
    - * duplicates.
    - *
    - * \param	pList 	pointer to the list that contains handles to the objects. You should set hObj and ObjectType fields.
    - * \param	nObj	number of objects to lock
    - *
    - * \note this function uses O(n^2) algoritm because we shouldn't need to call it with more than 3 or 4 objects.
    -*/
    -BOOL INTERNAL_CALL
    -GDIOBJ_UnlockMultipleObj(PGDIMULTILOCK pList, INT nObj)
    -{
    -  INT i, j;
    -  ASSERT(pList);
    -
    -  /* go through the list checking for duplicate objects */
    -  for (i = 0; i < nObj; i++)
    -    {
    -      if (NULL != pList[i].pObj)
    -	{
    -	  for (j = i + 1; j < nObj; j++)
    -	    {
    -	      if ((pList[i].pObj == pList[j].pObj))
    -		{
    -		  /* set the pointer to zero for all duplicates */
    -		  pList[j].pObj = NULL;
    -		}
    -	    }
    -	  GDIOBJ_UnlockObj(pList[i].hObj);
    -	  pList[i].pObj = NULL;
    -	}
    -    }
    -
    -  return TRUE;
    -}
    -
     /*!
      * Initialization of the GDI object engine.
     */
    @@ -735,11 +671,11 @@ GDI_CleanupForProcess (struct _EPROCESS *Process)
     
         End = &HandleTable->Entries[GDI_HANDLE_COUNT];
         for(Entry = &HandleTable->Entries[RESERVE_ENTRIES_COUNT];
    -        Entry < End;
    +        Entry != End;
             Entry++, Index++)
         {
           /* ignore the lock bit */
    -      if((HANDLE)((ULONG_PTR)Entry->ProcessId & ~0x1) == ProcId && Entry->Type != 0)
    +      if((HANDLE)((ULONG_PTR)Entry->ProcessId & ~0x1) == ProcId && (Entry->Type & ~GDI_HANDLE_REUSE_MASK) != 0)
           {
             HGDIOBJ ObjectHandle;
     
    @@ -815,7 +751,8 @@ LockHandle:
         /* we're locking an object that belongs to our process or it's a global
            object if ProcessId == 0 here. ProcessId can only be 0 here if it previously
            failed to lock the object and it turned out to be a global object. */
    -    if(EntryType != 0 && Entry->KernelData != NULL && (ExpectedType == 0 || (EntryType == ExpectedType)))
    +    if(EntryType != 0 && Entry->KernelData != NULL &&
    +       (ExpectedType == 0 || (EntryType == ExpectedType)))
         {
           PETHREAD PrevThread;
           PGDIOBJHDR GdiHdr;
    @@ -861,15 +798,20 @@ LockHandle:
         {
           InterlockedExchangePointer(&Entry->ProcessId, PrevProcId);
     
    -      if(EntryType == 0)
    +      if((EntryType & ~GDI_HANDLE_REUSE_MASK) == 0)
           {
             DPRINT1("Attempted to lock object 0x%x that is deleted!\n", hObj);
    +#ifdef GDI_DEBUG
             KeRosDumpStackFrames ( NULL, 20 );
    +#endif
           }
           else
           {
    -        DPRINT1("Attempted to lock object 0x%x, type mismatch (0x%x : 0x%x)\n", hObj, EntryType, ExpectedType);
    +        DPRINT1("Attempted to lock object 0x%x, type mismatch (0x%x : 0x%x)\n",
    +                hObj, EntryType & ~GDI_HANDLE_REUSE_MASK, ExpectedType & ~GDI_HANDLE_REUSE_MASK);
    +#ifdef GDI_DEBUG
             KeRosDumpStackFrames ( NULL, 20 );
    +#endif
           }
     #ifdef GDI_DEBUG
           DPRINT1("-> called from %s:%i\n", file, line);
    @@ -901,8 +843,8 @@ LockHandle:
       else
       {
         DPRINT1("Attempted to lock foreign handle: 0x%x, Owner: 0x%x locked: 0x%x Caller: 0x%x, stockobj: 0x%x\n", hObj, (ULONG_PTR)PrevProcId & ~0x1, (ULONG_PTR)PrevProcId & 0x1, PsGetCurrentProcessId(), GDI_HANDLE_IS_STOCKOBJ(hObj));
    -    KeRosDumpStackFrames ( NULL, 20 );
     #ifdef GDI_DEBUG
    +    KeRosDumpStackFrames ( NULL, 20 );
         DPRINT1("-> called from %s:%i\n", file, line);
     #endif
       }
    @@ -972,7 +914,7 @@ LockHandle:
     #endif
             }
     
    -        if(Entry->Type == 0 && GdiHdr->Locks == 0)
    +        if((Entry->Type & ~GDI_HANDLE_REUSE_MASK) == 0 && GdiHdr->Locks == 0)
             {
               PPAGED_LOOKASIDE_LIST LookasideList;
               PW32PROCESS W32Process = PsGetWin32Process();
    @@ -1086,7 +1028,7 @@ GDIOBJ_OwnedByCurrentProcess(HGDIOBJ ObjectHandle)
     
         Entry = GDI_HANDLE_GET_ENTRY(HandleTable, ObjectHandle);
         Ret = Entry->KernelData != NULL &&
    -          Entry->Type != 0 &&
    +          (Entry->Type & ~GDI_HANDLE_REUSE_MASK) != 0 &&
               (HANDLE)((ULONG_PTR)Entry->ProcessId & ~0x1) == ProcessId;
     
         return Ret;
    @@ -1134,6 +1076,8 @@ LockHandle:
              exchange it.*/
           NewType = GDI_HANDLE_GET_TYPE(*hObj);
           NewType |= NewType >> 16;
    +      NewType |= (ULONG_PTR)(*hObj) & GDI_HANDLE_REUSE_MASK;
    +      
           /* This is the type that the object should have right now, save it */
           OldType = NewType;
           /* As the object should be a stock object, set it's flag, but only in the upper 16 bits */
    @@ -1259,7 +1203,7 @@ LockHandle:
         {
           PETHREAD PrevThread;
     
    -      if(Entry->Type != 0 && Entry->KernelData != NULL)
    +      if((Entry->Type & ~GDI_HANDLE_REUSE_MASK) != 0 && Entry->KernelData != NULL)
           {
             PGDIOBJHDR GdiHdr = GDIBdyToHdr(Entry->KernelData);
     
    @@ -1392,7 +1336,7 @@ LockHandleFrom:
           PETHREAD PrevThread;
           PGDIOBJHDR GdiHdr;
     
    -      if(FromEntry->Type != 0 && FromEntry->KernelData != NULL)
    +      if((FromEntry->Type & ~GDI_HANDLE_REUSE_MASK) != 0 && FromEntry->KernelData != NULL)
           {
             GdiHdr = GDIBdyToHdr(FromEntry->KernelData);
     
    @@ -1479,12 +1423,22 @@ LockHandleFrom:
     }
     
     PVOID INTERNAL_CALL
    -GDI_MapHandleTable(HANDLE hProcess)
    +GDI_MapHandleTable(PEPROCESS Process)
     {
    -  DPRINT("%s:%i: %s(): FIXME - Map handle table into the process memory space!\n",
    -         __FILE__, __LINE__, __FUNCTION__);
    -  /* FIXME - Map the entire gdi handle table read-only to userland into the
    -             scope of hProcess and return the pointer */
    +  ULONG TableSize = sizeof(HandleTable->Entries);
    +  PVOID MappedGdiTable = NULL; /* FIXME - try preferred GDI_HANDLE_TABLE_BASE_ADDRESS? */
    +  NTSTATUS Status = IntUserMapSharedSection(SessionSharedSectionPool,
    +                                            Process,
    +                                            HandleTable,
    +                                            NULL,
    +                                            &MappedGdiTable,
    +                                            &TableSize,
    +                                            TRUE);
    +  if(NT_SUCCESS(Status))
    +  {
    +    return MappedGdiTable;
    +  }
    +  
       return NULL;
     }
     
    diff --git a/reactos/subsys/win32k/objects/region.c b/reactos/subsys/win32k/objects/region.c
    index 2feb5a31a7b..2c7726c7b05 100644
    --- a/reactos/subsys/win32k/objects/region.c
    +++ b/reactos/subsys/win32k/objects/region.c
    @@ -707,45 +707,43 @@ empty:
     HRGN FASTCALL REGION_CropRgn(HRGN hDst, HRGN hSrc, const PRECT lpRect, PPOINT lpPt)
     {
       PROSRGNDATA objSrc, rgnDst;
    -  HRGN hNewDst, hRet = NULL;
    -  GDIMULTILOCK Lock[2] = {{hDst, 0, GDI_OBJECT_TYPE_REGION}, {hSrc, 0, GDI_OBJECT_TYPE_REGION}};
    +  HRGN hRet = NULL;
    +  POINT pt = { 0, 0 };
     
       if( !hDst )
         {
    -      if( !( hNewDst = RGNDATA_AllocRgn(1) ) )
    +      if( !( hDst = RGNDATA_AllocRgn(1) ) )
     	{
     	  return 0;
     	}
    -      Lock[0].hObj = hNewDst;
         }
     
    -  if ( !GDIOBJ_LockMultipleObj(Lock, sizeof(Lock)/sizeof(Lock[0])) )
    -    {
    -      DPRINT1("GDIOBJ_LockMultipleObj() failed\n" );
    -      return 0;
    -    }
    -  rgnDst = Lock[0].pObj;
    -  objSrc = Lock[1].pObj;
    -
    -  if( objSrc && rgnDst )
    +  rgnDst = RGNDATA_LockRgn(hDst);
    +  if(rgnDst == NULL)
       {
    -    if(rgnDst)
    -    {
    -      POINT pt = { 0, 0 };
    -
    -	  if(!lpPt)
    -	  	lpPt = &pt;
    -
    -      if(REGION_CropAndOffsetRegion(lpPt, lpRect, objSrc, rgnDst) == FALSE)
    -	  { // ve failed cleanup and return
    -		hRet = NULL;
    -      }
    -      else{ // ve are fine. unlock the correct pointer and return correct handle
    -		hRet = Lock[0].hObj;
    -	  }
    -    }
    +    return NULL;
       }
    -  GDIOBJ_UnlockMultipleObj(Lock, sizeof(Lock)/sizeof(Lock[0]));
    +  
    +  objSrc = RGNDATA_LockRgn(hSrc);
    +  if(objSrc == NULL)
    +  {
    +    RGNDATA_UnlockRgn(hDst);
    +    return NULL;
    +  }
    +  if(!lpPt)
    +  	lpPt = &pt;
    +
    +    if(REGION_CropAndOffsetRegion(lpPt, lpRect, objSrc, rgnDst) == FALSE)
    +  { // ve failed cleanup and return
    +	hRet = NULL;
    +    }
    +    else{ // ve are fine. unlock the correct pointer and return correct handle
    +	hRet = hDst;
    +  }
    +
    +  RGNDATA_UnlockRgn(hSrc);
    +  RGNDATA_UnlockRgn(hDst);
    +  
       return hRet;
     }
     
    @@ -1957,21 +1955,12 @@ NtGdiCombineRgn(HRGN  hDest,
                         INT  CombineMode)
     {
       INT result = ERROR;
    -  GDIMULTILOCK Lock[3] = {{hDest, 0, GDI_OBJECT_TYPE_REGION}, {hSrc1, 0, GDI_OBJECT_TYPE_REGION}, {hSrc2, 0, GDI_OBJECT_TYPE_REGION}};
       PROSRGNDATA destRgn, src1Rgn, src2Rgn;
    -
    -  if ( !GDIOBJ_LockMultipleObj(Lock, sizeof(Lock)/sizeof(Lock[0])) )
    -    {
    -      DPRINT1("GDIOBJ_LockMultipleObj() failed\n" );
    -      return ERROR;
    -    }
    -
    -  destRgn = (PROSRGNDATA) Lock[0].pObj;
    -  src1Rgn = (PROSRGNDATA) Lock[1].pObj;
    -  src2Rgn = (PROSRGNDATA) Lock[2].pObj;
    -
    +  
    +  destRgn = RGNDATA_LockRgn(hDest);
       if( destRgn )
         {
    +      src1Rgn = RGNDATA_LockRgn(hSrc1);
           if( src1Rgn )
     	  {
     	    if (CombineMode == RGN_COPY)
    @@ -1982,7 +1971,8 @@ NtGdiCombineRgn(HRGN  hDest,
     	      }
     	    else
     	    {
    -	      if( src2Rgn )
    +              src2Rgn = RGNDATA_LockRgn(hSrc2);
    +              if( src2Rgn )
     		{
     		  switch (CombineMode)
     		    {
    @@ -1999,17 +1989,26 @@ NtGdiCombineRgn(HRGN  hDest,
     			REGION_SubtractRegion(destRgn, src1Rgn, src2Rgn);
     			break;
     		    }
    +		  RGNDATA_UnlockRgn(hSrc2);
     		  result = destRgn->rdh.iType;
     		}
    +		else if(hSrc2 == NULL)
    +                {
    +                  DPRINT1("NtGdiCombineRgn requires hSrc2 != NULL for combine mode %d!\n", CombineMode);
    +                }
     	    }
    +
    +            RGNDATA_UnlockRgn(hSrc1);
     	  }
    +
    +      RGNDATA_UnlockRgn(hDest);
         }
       else
         {
           DPRINT("NtGdiCombineRgn: hDest unavailable\n");
           result = ERROR;
         }
    -  GDIOBJ_UnlockMultipleObj(Lock, sizeof(Lock)/sizeof(Lock[0]));
    +
       return result;
     }
     
    diff --git a/reactos/subsys/win32k/w32k.h b/reactos/subsys/win32k/w32k.h
    index c9f8c2e2cf6..d28d485e6fa 100644
    --- a/reactos/subsys/win32k/w32k.h
    +++ b/reactos/subsys/win32k/w32k.h
    @@ -28,6 +28,7 @@
     #include 
     #include 
     
    +#include 
     #include 
     #include 
     #include 
    diff --git a/reactos/subsys/win32k/win32k.xml b/reactos/subsys/win32k/win32k.xml
    index 3a8a6a1c6bd..f58aeb185ed 100644
    --- a/reactos/subsys/win32k/win32k.xml
    +++ b/reactos/subsys/win32k/win32k.xml
    @@ -61,6 +61,7 @@
     		error.c
     		math.c
     		object.c
    +		ssec.c
     	
     	
     		ddraw.c
    diff --git a/reactos/tools/Makefile b/reactos/tools/Makefile
    index 31b80f9a1e8..e121ae18829 100644
    --- a/reactos/tools/Makefile
    +++ b/reactos/tools/Makefile
    @@ -24,37 +24,11 @@ rmkdir_clean:
     	-@$(rm) $(RMKDIR_TARGET) $(RMKDIR_OBJECTS) 2>$(NUL)
     clean: rmkdir_clean
     
    -
    -BUILDNO_BASE = tools
    -
    -BUILDNO_TARGET = \
    -	$(ROS_INTERMEDIATE)$(BUILDNO_BASE)$(SEP)buildno$(EXEPOSTFIX)
    -
    -BUILDNO_SOURCES = \
    -	$(BUILDNO_BASE)$(SEP)buildno.c
    -
    -BUILDNO_OBJECTS = \
    -	$(BUILDNO_SOURCES:.c=.o)
    -
    -BUILDNO_HOST_CFLAGS = -g -Werror -Wall
    -
    -BUILDNO_HOST_LFLAGS = -g
    -
    -$(BUILDNO_TARGET): $(BUILDNO_OBJECTS)
    -	${host_gcc} $(BUILDNO_OBJECTS) $(BUILDNO_HOST_LFLAGS) -o $(BUILDNO_TARGET)
    -
    -$(BUILDNO_OBJECTS): %.o : %.c
    -	${host_gcc} $(BUILDNO_HOST_CFLAGS) -c $< -o $@
    -
    -.PHONY: buildno_clean
    -buildno_clean:
    -	-@$(rm) $(BUILDNO_TARGET) $(BUILDNO_OBJECTS) 2>$(NUL)
    -clean: buildno_clean
    -
    -include$(SEP)reactos$(SEP)buildno.h: $(BUILDNO_TARGET)
    -	$(EXEPREFIX)$(BUILDNO_TARGET) include$(SEP)reactos$(SEP)buildno.h
    -
    +include tools/buildno/Makefile
     include tools/cdmake/makefile
     include tools/nci/makefile
     include tools/rbuild/makefile
    +include tools/unicode/Makefile
     include tools/wmc/makefile
    +include tools/wpp/Makefile
    +include tools/wrc/makefile
    diff --git a/reactos/tools/buildno/Makefile b/reactos/tools/buildno/Makefile
    new file mode 100644
    index 00000000000..a7136accdd9
    --- /dev/null
    +++ b/reactos/tools/buildno/Makefile
    @@ -0,0 +1,32 @@
    +BUILDNO_BASE = tools$(SEP)buildno
    +
    +BUILDNO_TARGET = \
    +	$(ROS_INTERMEDIATE)$(BUILDNO_BASE)$(SEP)buildno$(EXEPOSTFIX)
    +
    +BUILDNO_SOURCES = \
    +	$(BUILDNO_BASE)$(SEP)buildno.cpp \
    +	$(BUILDNO_BASE)$(SEP)exception.cpp \
    +	$(BUILDNO_BASE)$(SEP)ssprintf.cpp \
    +	$(BUILDNO_BASE)$(SEP)XML.cpp
    +
    +BUILDNO_OBJECTS = \
    +	$(BUILDNO_SOURCES:.cpp=.o)
    +
    +BUILDNO_HOST_CFLAGS = -Iinclude/reactos -g -Werror -Wall
    +
    +BUILDNO_HOST_LFLAGS = -g
    +
    +$(BUILDNO_TARGET): $(BUILDNO_OBJECTS)
    +	${host_gpp} $(BUILDNO_OBJECTS) $(BUILDNO_HOST_CFLAGS) -o $(BUILDNO_TARGET)
    +
    +$(BUILDNO_OBJECTS): %.o : %.cpp include$(SEP)reactos$(SEP)version.h
    +	${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $< -o $@
    +
    +.PHONY: buildno_clean
    +buildno_clean:
    +	-@$(rm) $(BUILDNO_TARGET) $(BUILDNO_OBJECTS) 2>$(NUL)
    +
    +BUILDNO_H = include$(SEP)reactos$(SEP)buildno.h
    +
    +$(BUILDNO_H): $(BUILDNO_TARGET)
    +	$(EXEPREFIX)$(BUILDNO_TARGET) $(BUILDNO_H)
    diff --git a/reactos/tools/buildno/XML.cpp b/reactos/tools/buildno/XML.cpp
    new file mode 100644
    index 00000000000..741c41b566e
    --- /dev/null
    +++ b/reactos/tools/buildno/XML.cpp
    @@ -0,0 +1,727 @@
    +// XML.cpp
    +
    +#include "pch.h"
    +
    +#ifdef _MSC_VER
    +#define MAX_PATH _MAX_PATH
    +#endif
    +
    +#ifdef WIN32
    +#	include 
    +#	include 
    +#else
    +#	include 
    +#	define MAX_PATH PATH_MAX
    +#endif
    +#include 
    +
    +#include "XML.h"
    +#include "exception.h"
    +#include "ssprintf.h"
    +
    +using std::string;
    +using std::vector;
    +
    +#ifdef WIN32
    +#define getcwd _getcwd
    +#endif//WIN32
    +
    +static const char* WS = " \t\r\n";
    +static const char* WSEQ = " =\t\r\n";
    +
    +string working_directory;
    +
    +class XMLInclude
    +{
    +public:
    +	XMLElement *e;
    +	Path path;
    +
    +	XMLInclude ( XMLElement* e_, const Path& path_ )
    +		: e(e_), path(path_)
    +	{
    +	}
    +};
    +
    +class XMLIncludes : public vector
    +{
    +public:
    +	~XMLIncludes()
    +	{
    +		for ( size_t i = 0; i < this->size(); i++ )
    +			delete (*this)[i];
    +	}
    +};
    +
    +void
    +InitWorkingDirectory()
    +{
    +	// store the current directory for path calculations
    +	working_directory.resize ( _MAX_PATH );
    +	working_directory[0] = 0;
    +	getcwd ( &working_directory[0], working_directory.size() );
    +	working_directory.resize ( strlen ( working_directory.c_str() ) );
    +}
    +
    +#ifdef _MSC_VER
    +unsigned __int64
    +#else
    +unsigned long long
    +#endif
    +filelen ( FILE* f )
    +{
    +#ifdef WIN32
    +	return _filelengthi64 ( _fileno(f) );
    +#else
    +	struct stat64 file_stat;
    +	if ( fstat64(fileno(f), &file_stat) != 0 )
    +		return 0;
    +	return file_stat.st_size;
    +#endif
    +}
    +
    +Path::Path()
    +{
    +	if ( !working_directory.size() )
    +		InitWorkingDirectory();
    +	string s ( working_directory );
    +	const char* p = strtok ( &s[0], "/\\" );
    +	while ( p )
    +	{
    +		if ( *p )
    +			path.push_back ( p );
    +		p = strtok ( NULL, "/\\" );
    +	}
    +}
    +
    +Path::Path ( const Path& cwd, const string& file )
    +{
    +	string s ( cwd.Fixup ( file, false ) );
    +	const char* p = strtok ( &s[0], "/\\" );
    +	while ( p )
    +	{
    +		if ( *p )
    +			path.push_back ( p );
    +		p = strtok ( NULL, "/\\" );
    +	}
    +}
    +
    +string
    +Path::Fixup ( const string& file, bool include_filename ) const
    +{
    +	if ( strchr ( "/\\", file[0] )
    +#ifdef WIN32
    +		// this squirreliness is b/c win32 has drive letters and *nix doesn't...
    +		|| file[1] == ':'
    +#endif//WIN32
    +		)
    +	{
    +		return file;
    +	}
    +	vector pathtmp ( path );
    +	string tmp ( file );
    +	const char* prev = strtok ( &tmp[0], "/\\" );
    +	const char* p = strtok ( NULL, "/\\" );
    +	while ( p )
    +	{
    +		if ( !strcmp ( prev, "." ) )
    +			; // do nothing
    +		else if ( !strcmp ( prev, ".." ) )
    +		{
    +			// this squirreliness is b/c win32 has drive letters and *nix doesn't...
    +#ifdef WIN32
    +			if ( pathtmp.size() > 1 )
    +#else
    +			if ( pathtmp.size() )
    +#endif
    +				pathtmp.resize ( pathtmp.size() - 1 );
    +		}
    +		else
    +			pathtmp.push_back ( prev );
    +		prev = p;
    +		p = strtok ( NULL, "/\\" );
    +	}
    +	if ( include_filename )
    +		pathtmp.push_back ( prev );
    +
    +	// reuse tmp variable to return recombined path
    +	tmp.resize(0);
    +	for ( size_t i = 0; i < pathtmp.size(); i++ )
    +	{
    +		// this squirreliness is b/c win32 has drive letters and *nix doesn't...
    +#ifdef WIN32
    +		if ( i ) tmp += "/";
    +#else
    +		tmp += "/";
    +#endif
    +		tmp += pathtmp[i];
    +	}
    +	return tmp;
    +}
    +
    +/*static*/ string
    +Path::RelativeFromWorkingDirectory ( const string& path )
    +{
    +	vector vwork, vpath, vout;
    +	Path::Split ( vwork, working_directory, true );
    +	Path::Split ( vpath, path, true );
    +#ifdef WIN32
    +	// this squirreliness is b/c win32 has drive letters and *nix doesn't...
    +	// not possible to do relative across different drive letters
    +	if ( vwork[0] != vpath[0] )
    +		return path;
    +#endif
    +	size_t i = 0;
    +	while ( i < vwork.size() && i < vpath.size() && vwork[i] == vpath[i] )
    +		++i;
    +	if ( i < vwork.size() )
    +	{
    +		// path goes above our working directory, we will need some ..'s
    +		for ( size_t j = 0; j < i; j++ )
    +			vout.push_back ( ".." );
    +	}
    +	while ( i < vpath.size() )
    +		vout.push_back ( vpath[i++] );
    +
    +	// now merge vout into a string again
    +	string out = ".";
    +	for ( i = 0; i < vout.size(); i++ )
    +	{
    +		out += "/" + vout[i];
    +	}
    +	return out;
    +}
    +
    +/*static*/ void
    +Path::Split ( vector& out,
    +              const string& path,
    +              bool include_last )
    +{
    +	string s ( path );
    +	const char* prev = strtok ( &s[0], "/\\" );
    +	const char* p = strtok ( NULL, "/\\" );
    +	out.resize ( 0 );
    +	while ( p )
    +	{
    +		out.push_back ( prev );
    +		prev = p;
    +		p = strtok ( NULL, "/\\" );
    +	}
    +	if ( include_last )
    +		out.push_back ( prev );
    +}
    +
    +XMLFile::XMLFile()
    +{
    +}
    +
    +void
    +XMLFile::close()
    +{
    +	_buf.resize(0);
    +	_p = _end = NULL;
    +}
    +
    +bool
    +XMLFile::open(const string& filename_)
    +{
    +	close();
    +	FILE* f = fopen ( filename_.c_str(), "rb" );
    +	if ( !f )
    +		return false;
    +	unsigned long len = (unsigned long)filelen(f);
    +	_buf.resize ( len );
    +	fread ( &_buf[0], 1, len, f );
    +	fclose ( f );
    +	_p = _buf.c_str();
    +	_end = _p + len;
    +	_filename = filename_;
    +	next_token();
    +	return true;
    +}
    +
    +// next_token() moves the pointer to next token, which may be
    +// an xml element or a text element, basically it's a glorified
    +// skipspace, normally the user of this class won't need to call
    +// this function
    +void
    +XMLFile::next_token()
    +{
    +	_p += strspn ( _p, WS );
    +}
    +
    +bool
    +XMLFile::next_is_text()
    +{
    +	return *_p != '<';
    +}
    +
    +bool
    +XMLFile::more_tokens()
    +{
    +	return _p != _end;
    +}
    +
    +// get_token() is used to return a token, and move the pointer
    +// past the token
    +bool
    +XMLFile::get_token(string& token)
    +{
    +	const char* tokend;
    +	if ( !strncmp ( _p, "" );
    +		if ( !tokend )
    +			tokend = _end;
    +		else
    +			tokend += 3;
    +	}
    +	else if ( !strncmp ( _p, "" );
    +		if ( !tokend )
    +			tokend = _end;
    +		else
    +			tokend += 2;
    +	}
    +	else if ( *_p == '<' )
    +	{
    +		tokend = strchr ( _p, '>' );
    +		if ( !tokend )
    +			tokend = _end;
    +		else
    +			++tokend;
    +	}
    +	else
    +	{
    +		tokend = strchr ( _p, '<' );
    +		if ( !tokend )
    +			tokend = _end;
    +		while ( tokend > _p && isspace(tokend[-1]) )
    +			--tokend;
    +	}
    +	if ( tokend == _p )
    +		return false;
    +	token = string ( _p, tokend-_p );
    +	_p = tokend;
    +	next_token();
    +	return true;
    +}
    +
    +string
    +XMLFile::Location() const
    +{
    +	int line = 1;
    +	const char* p = strchr ( _buf.c_str(), '\n' );
    +	while ( p && p < _p )
    +	{
    +		++line;
    +		p = strchr ( p+1, '\n' );
    +	}
    +	return ssprintf ( "%s(%i)",_filename.c_str(), line );
    +}
    +
    +XMLAttribute::XMLAttribute()
    +{
    +}
    +
    +XMLAttribute::XMLAttribute(const string& name_,
    +                           const string& value_)
    +	: name(name_), value(value_)
    +{
    +}
    +
    +XMLAttribute::XMLAttribute ( const XMLAttribute& src )
    +	: name(src.name), value(src.value)
    +{
    +
    +}
    +
    +XMLAttribute& XMLAttribute::operator = ( const XMLAttribute& src )
    +{
    +	name = src.name;
    +	value = src.value;
    +	return *this;
    +}
    +
    +XMLElement::XMLElement ( const string& location_ )
    +	: location(location_),
    +	  parentElement(NULL)
    +{
    +}
    +
    +XMLElement::~XMLElement()
    +{
    +	size_t i;
    +	for ( i = 0; i < attributes.size(); i++ )
    +		delete attributes[i];
    +	for ( i = 0; i < subElements.size(); i++ )
    +		delete subElements[i];
    +}
    +
    +void
    +XMLElement::AddSubElement ( XMLElement* e )
    +{
    +	subElements.push_back ( e );
    +	e->parentElement = this;
    +}
    +
    +// Parse()
    +// This function takes a single xml tag ( i.e. beginning with '<' and
    +// ending with '>', and parses out it's tag name and constituent
    +// attributes.
    +// Return Value: returns true if you need to look for a  for
    +// the one it just parsed...
    +bool
    +XMLElement::Parse(const string& token,
    +                  bool& end_tag)
    +{
    +	const char* p = token.c_str();
    +	assert ( *p == '<' );
    +	++p;
    +	p += strspn ( p, WS );
    +
    +	// check if this is a comment
    +	if ( !strncmp ( p, "!--", 3 ) )
    +	{
    +		name = "!--";
    +		end_tag = false;
    +		return false; // never look for end tag to a comment
    +	}
    +
    +	end_tag = ( *p == '/' );
    +	if ( end_tag )
    +	{
    +		++p;
    +		p += strspn ( p, WS );
    +	}
    +	const char* end = strpbrk ( p, WS );
    +	if ( !end )
    +	{
    +		end = strpbrk ( p, "/>" );
    +		assert ( end );
    +	}
    +	name = string ( p, end-p );
    +	p = end;
    +	p += strspn ( p, WS );
    +	while ( *p != '>' && *p != '/' )
    +	{
    +		end = strpbrk ( p, WSEQ );
    +		if ( !end )
    +		{
    +			end = strpbrk ( p, "/>" );
    +			assert ( end );
    +		}
    +		string attribute ( p, end-p ), value;
    +		p = end;
    +		p += strspn ( p, WS );
    +		if ( *p == '=' )
    +		{
    +			++p;
    +			p += strspn ( p, WS );
    +			char quote = 0;
    +			if ( strchr ( "\"'", *p ) )
    +			{
    +				quote = *p++;
    +				end = strchr ( p, quote );
    +			}
    +			else
    +			{
    +				end = strpbrk ( p, WS );
    +			}
    +			if ( !end )
    +			{
    +				end = strchr ( p, '>' );
    +				assert(end);
    +				if ( end[-1] == '/' )
    +					end--;
    +			}
    +			value = string ( p, end-p );
    +			p = end;
    +			if ( quote && *p == quote )
    +				p++;
    +			p += strspn ( p, WS );
    +		}
    +		else if ( name[0] != '!' )
    +		{
    +			throw XMLSyntaxErrorException ( location,
    +			                                "attributes must have values" );
    +		}
    +		attributes.push_back ( new XMLAttribute ( attribute, value ) );
    +	}
    +	return !( *p == '/' ) && !end_tag;
    +}
    +
    +XMLAttribute*
    +XMLElement::GetAttribute ( const string& attribute,
    +                           bool required )
    +{
    +	// this would be faster with a tree-based container, but our attribute
    +	// lists are likely to stay so short as to not be an issue.
    +	for ( size_t i = 0; i < attributes.size(); i++ )
    +	{
    +		if ( attribute == attributes[i]->name )
    +			return attributes[i];
    +	}
    +	if ( required )
    +	{
    +		throw RequiredAttributeNotFoundException ( location,
    +		                                           attribute,
    +		                                           name );
    +	}
    +	return NULL;
    +}
    +
    +const XMLAttribute*
    +XMLElement::GetAttribute ( const string& attribute,
    +                           bool required ) const
    +{
    +	// this would be faster with a tree-based container, but our attribute
    +	// lists are likely to stay so short as to not be an issue.
    +	for ( size_t i = 0; i < attributes.size(); i++ )
    +	{
    +		if ( attribute == attributes[i]->name )
    +			return attributes[i];
    +	}
    +	if ( required )
    +	{
    +		throw RequiredAttributeNotFoundException ( location,
    +		                                           attribute,
    +		                                           name );
    +	}
    +	return NULL;
    +}
    +
    +// XMLParse()
    +// This function reads a "token" from the file loaded in XMLFile
    +// if it finds a tag that is non-singular, it parses sub-elements and/or
    +// inner text into the XMLElement that it is building to return.
    +// Return Value: an XMLElement allocated via the new operator that contains
    +// it's parsed data. Keep calling this function until it returns NULL
    +// (no more data)
    +XMLElement*
    +XMLParse(XMLFile& f,
    +         XMLIncludes* includes,
    +         const Path& path,
    +         bool* pend_tag = NULL )
    +{
    +	string token;
    +	if ( !f.get_token(token) )
    +		return NULL;
    +	bool end_tag, is_include = false;
    +
    +	while ( token[0] != '<'
    +	        || !strncmp ( token.c_str(), "0)
    +			f += ' ';
    +	if (sign)
    +		f += sign;
    +	if (type & SPECIAL)
    +	{
    +		if (base==8)
    +			f += '0';
    +		else if (base==16)
    +		{
    +			f += '0';
    +			f += digits[33];
    +		}
    +	}
    +	if (!(type & LEFT))
    +	{
    +		while (size-- > 0)
    +			f += c;
    +	}
    +	while (i < precision--)
    +	{
    +		f += '0';
    +	}
    +	while (i-- > 0)
    +	{
    +		f += tmp[i];
    +	}
    +	while (size-- > 0)
    +	{
    +		f += ' ';
    +	}
    +	return true;
    +}
    +
    +static bool
    +wnumber(std::wstring& f, LONGLONG num, int base, int size, int precision ,int type)
    +{
    +	wchar_t c,sign,tmp[66];
    +	const wchar_t *digits = L"0123456789abcdefghijklmnopqrstuvwxyz";
    +	int i;
    +
    +	if (type & LARGE)
    +		digits = L"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    +	if (type & LEFT)
    +		type &= ~ZEROPAD;
    +	if (base < 2 || base > 36)
    +		return 0;
    +	c = (type & ZEROPAD) ? L'0' : L' ';
    +	sign = 0;
    +	if (type & SIGN) {
    +		if (num < 0) {
    +			sign = L'-';
    +			num = -num;
    +			size--;
    +		} else if (type & PLUS) {
    +			sign = L'+';
    +			size--;
    +		} else if (type & SPACE) {
    +			sign = L' ';
    +
    +			size--;
    +		}
    +	}
    +	if (type & SPECIAL) {
    +		if (base == 16)
    +			size -= 2;
    +		else if (base == 8)
    +			size--;
    +	}
    +	i = 0;
    +	if (num == 0)
    +		tmp[i++]=L'0';
    +	else while (num != 0)
    +		tmp[i++] = digits[do_div(&num,base)];
    +	if (i > precision)
    +		precision = i;
    +	size -= precision;
    +	if (!(type&(ZEROPAD+LEFT)))
    +		while(size-->0)
    +			f += L' ';
    +	if (sign)
    +		f += sign;
    +	if (type & SPECIAL)
    +	{
    +		if (base==8)
    +			f += L'0';
    +		else if (base==16)
    +		{
    +			f += L'0';
    +			f += digits[33];
    +		}
    +	}
    +	if (!(type & LEFT))
    +	{
    +		while (size-- > 0)
    +			f += c;
    +	}
    +	while (i < precision--)
    +	{
    +		f += L'0';
    +	}
    +	while (i-- > 0)
    +	{
    +		f += tmp[i];
    +	}
    +	while (size-- > 0)
    +	{
    +		f += L' ';
    +	}
    +	return true;
    +}
    +
    +
    +static bool
    +numberf(std::string& f, double __n, char exp_sign,  int size, int precision, int type)
    +{
    +	double exponent = 0.0;
    +	double e;
    +	long ie;
    +
    +	//int x;
    +	char *buf, *tmp;
    +	int i = 0;
    +	int j = 0;
    +	//int k = 0;
    +
    +	double frac, intr;
    +	double p;
    +	char sign;
    +	char c;
    +	char ro = 0;
    +	int result;
    +
    +	union
    +	{
    +		double*  __n;
    +		ieee_double_t*  n;
    +	} n;
    +	
    +	n.__n = &__n;
    +
    +	if ( exp_sign == 'g' || exp_sign == 'G' || exp_sign == 'e' || exp_sign == 'E' ) {
    +		ie = ((unsigned int)n.n->exponent - (unsigned int)0x3ff);
    +		exponent = ie/3.321928;
    +	}
    +
    +	if ( exp_sign == 'g' || exp_sign == 'G' ) {
    +		type |= ZEROTRUNC;
    +		if ( exponent < -4 || fabs(exponent) >= precision )
    +			 exp_sign -= 2; // g -> e and G -> E
    +	}
    +
    +	if ( exp_sign == 'e' ||  exp_sign == 'E' ) {
    +		frac = modf(exponent,&e);
    +		if ( frac > 0.5 )
    +			e++;
    +		else if (  frac < -0.5  )
    +			e--;
    +
    +		result = numberf(f,__n/pow(10.0L,e),'f',size-4, precision, type);
    +		if (result < 0)
    +			return false;
    +		f += exp_sign;
    +		size--;
    +		ie = (long)e;
    +		type = LEFT | PLUS;
    +		if ( ie < 0 )
    +			type |= SIGN;
    +
    +		result = number(f,ie, 10,2, 2,type );
    +		if (result < 0)
    +			return false;
    +		return true;
    +	}
    +
    +	if ( exp_sign == 'f' ) {
    +		buf = (char*)alloca(4096);
    +		if (type & LEFT) {
    +			type &= ~ZEROPAD;
    +		}
    +
    +		c = (type & ZEROPAD) ? '0' : ' ';
    +		sign = 0;
    +		if (type & SIGN) {
    +			if (__n < 0) {
    +				sign = '-';
    +				__n = fabs(__n);
    +				size--;
    +			} else if (type & PLUS) {
    +				sign = '+';
    +				size--;
    +			} else if (type & SPACE) {
    +				sign = ' ';
    +				size--;
    +			}
    +		}
    +
    +		frac = modf(__n,&intr);
    +
    +		// # flags forces a . and prevents trucation of trailing zero's
    +
    +		if ( precision > 0 ) {
    +			//frac = modfl(__n,&intr);
    +			i = precision-1;
    +			while (  i >= 0  ) {
    +				frac*=10.0L;
    +				frac = modf(frac, &p);
    +				buf[i] = (int)p + '0';
    +				i--;
    +			}
    +			i = precision;
    +			size -= precision;
    +
    +			ro = 0;
    +			if ( frac > 0.5 ) {
    +				ro = 1;
    +			}
    +
    +			if ( precision >= 1 || type & SPECIAL) {
    +				buf[i++] = '.';
    +				size--;
    +			}
    +		}
    +
    +		if ( intr == 0.0 ) {
    +			buf[i++] = '0';
    +			size--;
    +		}
    +		else {
    +			while ( intr > 0.0 ) {
    +			        p = intr;
    +				intr/=10.0L;
    +				modf(intr, &intr);
    +
    +				p -= 10.0*intr;
    +
    +				buf[i++] = (int)p + '0';
    +				size--;
    +			}
    +		}
    +
    +		j = 0;
    +		while ( j < i && ro == 1) {
    +			if ( buf[j] >= '0' && buf[j] <= '8' ) {
    +				buf[j]++;
    +				ro = 0;
    +			}
    +			else if ( buf[j] == '9' ) {
    +				buf[j] = '0';
    +			}
    +			j++;
    +		}
    +		if ( ro == 1 )
    +			buf[i++] = '1';
    +
    +		buf[i] = 0;
    +
    +		size -= precision;
    +		if (!(type&(ZEROPAD+LEFT)))
    +		{
    +			while(size-->0)
    +				f += ' ';
    +		}
    +		if (sign)
    +		{
    +			f += sign;
    +		}
    +
    +		if (!(type&(ZEROPAD+LEFT)))
    +			while(size-->0)
    +			{
    +				f += ' ';
    +			}
    +		if (type & SPECIAL) {
    +		}
    +
    +		if (!(type & LEFT))
    +			while (size-- > 0)
    +			{
    +				f += c;
    +			}
    +
    +		tmp = buf;
    +		if ( type & ZEROTRUNC && ((type & SPECIAL) != SPECIAL) )
    +		{
    +			j = 0;
    +			while ( j < i && ( *tmp == '0' || *tmp == '.' ))
    +			{
    +				tmp++;
    +				i--;
    +			}
    +		}
    +//		else
    +//			while (i < precision--)
    +//				putc('0', f);
    +		while (i-- > 0)
    +		{
    +			f += tmp[i];
    +		}
    +		while (size-- > 0)
    +		{
    +			f += ' ';
    +		}
    +	}
    +	return true;
    +}
    +
    +static bool
    +wnumberf(std::wstring& f, double __n, wchar_t exp_sign,  int size, int precision, int type)
    +{
    +	double exponent = 0.0;
    +	double e;
    +	long ie;
    +
    +	int i = 0;
    +	int j = 0;
    +
    +	double frac, intr;
    +	double p;
    +	wchar_t *buf, *tmp, sign, c, ro = 0;
    +	int result;
    +
    +	union
    +	{
    +		double*  __n;
    +		ieee_double_t*  n;
    +	} n;
    +	
    +	n.__n = &__n;
    +
    +	if ( exp_sign == L'g' || exp_sign == L'G' || exp_sign == L'e' || exp_sign == L'E' ) {
    +		ie = ((unsigned int)n.n->exponent - (unsigned int)0x3ff);
    +		exponent = ie/3.321928;
    +	}
    +
    +	if ( exp_sign == L'g' || exp_sign == L'G' )
    +	{
    +		type |= ZEROTRUNC;
    +		if ( exponent < -4 || fabs(exponent) >= precision )
    +			 exp_sign -= 2; // g -> e and G -> E
    +	}
    +
    +	if ( exp_sign == L'e' ||  exp_sign == L'E' )
    +	{
    +		frac = modf(exponent,&e);
    +		if ( frac > 0.5 )
    +			e++;
    +		else if (  frac < -0.5  )
    +			e--;
    +
    +		result = wnumberf(f,__n/pow(10.0L,e),L'f',size-4, precision, type);
    +		if (result < 0)
    +			return false;
    +		f += exp_sign;
    +		size--;
    +		ie = (long)e;
    +		type = LEFT | PLUS;
    +		if ( ie < 0 )
    +			type |= SIGN;
    +
    +		result = wnumber(f,ie, 10,2, 2,type );
    +		if (result < 0)
    +			return false;
    +		return true;
    +	}
    +
    +	if ( exp_sign == L'f' )
    +	{
    +		buf = (wchar_t*)alloca(4096*sizeof(wchar_t));
    +		if (type & LEFT)
    +			type &= ~ZEROPAD;
    +
    +		c = (type & ZEROPAD) ? L'0' : L' ';
    +		sign = 0;
    +		if (type & SIGN)
    +		{
    +			if (__n < 0)
    +			{
    +				sign = L'-';
    +				__n = fabs(__n);
    +				size--;
    +			}
    +			else if (type & PLUS)
    +			{
    +				sign = L'+';
    +				size--;
    +			}
    +			else if (type & SPACE)
    +			{
    +				sign = L' ';
    +				size--;
    +			}
    +		}
    +
    +		frac = modf(__n,&intr);
    +
    +		// # flags forces a . and prevents trucation of trailing zero's
    +
    +		if ( precision > 0 ) {
    +			//frac = modfl(__n,&intr);
    +			i = precision-1;
    +			while (  i >= 0  ) {
    +				frac*=10.0L;
    +				frac = modf(frac, &p);
    +				buf[i] = (int)p + L'0';
    +				i--;
    +			}
    +			i = precision;
    +			size -= precision;
    +
    +			ro = 0;
    +			if ( frac > 0.5 ) {
    +				ro = 1;
    +			}
    +
    +			if ( precision >= 1 || type & SPECIAL) {
    +				buf[i++] = L'.';
    +				size--;
    +			}
    +		}
    +
    +		if ( intr == 0.0 ) {
    +			buf[i++] = L'0';
    +			size--;
    +		}
    +		else {
    +			while ( intr > 0.0 ) {
    +				p = intr;
    +				intr/=10.0L;
    +				modf(intr, &intr);
    +
    +				p -= 10.0*intr;
    +
    +				buf[i++] = (int)p + L'0';
    +				size--;
    +			}
    +		}
    +
    +		j = 0;
    +		while ( j < i && ro == 1) {
    +			if ( buf[j] >= L'0' && buf[j] <= L'8' ) {
    +				buf[j]++;
    +				ro = 0;
    +			}
    +			else if ( buf[j] == L'9' ) {
    +				buf[j] = L'0';
    +			}
    +			j++;
    +		}
    +		if ( ro == 1 )
    +			buf[i++] = L'1';
    +
    +		buf[i] = 0;
    +
    +		size -= precision;
    +		if (!(type&(ZEROPAD+LEFT)))
    +		{
    +			while(size-->0)
    +				f += L' ';
    +		}
    +		if (sign)
    +		{
    +			f += sign;
    +		}
    +
    +		if (!(type&(ZEROPAD+LEFT)))
    +			while(size-->0)
    +			{
    +				f += L' ';
    +			}
    +		if (type & SPECIAL) {
    +		}
    +
    +		if (!(type & LEFT))
    +			while (size-- > 0)
    +			{
    +				f += c;
    +			}
    +
    +		tmp = buf;
    +		if ( type & ZEROTRUNC && ((type & SPECIAL) != SPECIAL) )
    +		{
    +			j = 0;
    +			while ( j < i && ( *tmp == L'0' || *tmp == L'.' ))
    +			{
    +				tmp++;
    +				i--;
    +			}
    +		}
    +		while (i-- > 0)
    +		{
    +			f += tmp[i];
    +		}
    +		while (size-- > 0)
    +		{
    +			f += L' ';
    +		}
    +	}
    +	return true;
    +}
    +
    +static bool
    +numberfl(std::string& f, long double __n, char exp_sign,  int size, int precision, int type)
    +{
    +	long double exponent = 0.0;
    +	long double e;
    +	long ie;
    +
    +	//int x;
    +	char *buf, *tmp;
    +	int i = 0;
    +	int j = 0;
    +	//int k = 0;
    +
    +	long double frac, intr;
    +	long double p;
    +	char sign;
    +	char c;
    +	char ro = 0;
    +
    +	int result;
    +
    +	union
    +	{
    +	    long double*   __n;
    +	    ieee_long_double_t*   n;
    +	} n;
    +
    +	n.__n = &__n;
    +
    +	if ( exp_sign == 'g' || exp_sign == 'G' || exp_sign == 'e' || exp_sign == 'E' ) {
    +		ie = ((unsigned int)n.n->exponent - (unsigned int)0x3fff);
    +		exponent = ie/3.321928;
    +	}
    +
    +	if ( exp_sign == 'g' || exp_sign == 'G' ) {
    +		type |= ZEROTRUNC;
    +		if ( exponent < -4 || fabs(exponent) >= precision ) 
    +			 exp_sign -= 2; // g -> e and G -> E
    +	}
    +
    +	if ( exp_sign == 'e' || exp_sign == 'E' ) {
    +		frac = modfl(exponent,&e);
    +		if ( frac > 0.5 )
    +			e++;
    +		else if ( frac < -0.5 )
    +			e--;
    +
    +		result = numberf(f,__n/powl(10.0L,e),'f',size-4, precision, type);
    +		if (result < 0)
    +			return false;
    +		f += exp_sign;
    +		size--;
    +		ie = (long)e;
    +		type = LEFT | PLUS;
    +		if ( ie < 0 )
    +			type |= SIGN;
    +
    +		result = number(f,ie, 10,2, 2,type );
    +		if (result < 0)
    +			return false;
    +		return true;
    +
    +	}
    +
    +	if ( exp_sign == 'f' )
    +	{
    +		
    +		buf = (char*)alloca(4096);
    +		if (type & LEFT)
    +		{
    +			type &= ~ZEROPAD;
    +		}
    +
    +		c = (type & ZEROPAD) ? '0' : ' ';
    +		sign = 0;
    +		if (type & SIGN)
    +		{
    +			if (__n < 0)
    +			{
    +				sign = '-';
    +				__n = fabs(__n);
    +				size--;
    +			} else if (type & PLUS)
    +			{
    +				sign = '+';
    +				size--;
    +			} else if (type & SPACE)
    +			{
    +				sign = ' ';
    +				size--;
    +			}
    +		}
    +
    +		frac = modfl(__n,&intr);
    +
    +		// # flags forces a . and prevents trucation of trailing zero's
    +		if ( precision > 0 )
    +		{
    +			//frac = modfl(__n,&intr);
    +
    +			i = precision-1;
    +			while ( i >= 0  )
    +			{
    +				frac*=10.0L;
    +				frac = modfl((long double)frac, &p);
    +				buf[i] = (int)p + '0';
    +				i--;
    +			}
    +			i = precision;
    +			size -= precision;
    +
    +			ro = 0;
    +			if ( frac > 0.5 )
    +			{
    +				ro = 1;
    +			}
    +
    +			if ( precision >= 1 || type & SPECIAL)
    +			{
    +				buf[i++] = '.';
    +				size--;
    +			}
    +		}
    +
    +		if ( intr == 0.0 )
    +		{
    +			buf[i++] = '0';
    +			size--;
    +		}
    +		else
    +		{
    +			while ( intr > 0.0 )
    +			{
    +			        p=intr;
    +				intr/=10.0L;
    +				modfl(intr, &intr);
    +
    +				p -= 10.0L*intr;
    +
    +				buf[i++] = (int)p + '0';
    +				size--;
    +			}
    +		}
    +
    +		j = 0;
    +		while ( j < i && ro == 1) {
    +			if ( buf[j] >= '0' && buf[j] <= '8' )
    +			{
    +				buf[j]++;
    +				ro = 0;
    +			}
    +			else if ( buf[j] == '9' )
    +			{
    +				buf[j] = '0';
    +			}
    +			j++;
    +		}
    +		if ( ro == 1 )
    +			buf[i++] = '1';
    +
    +		buf[i] = 0;
    +
    +		size -= precision;
    +		if (!(type&(ZEROPAD+LEFT)))
    +		{
    +			while(size-->0)
    +				f += ' ';
    +		}
    +		if (sign)
    +		{
    +			f += sign;
    +		}
    +
    +		if (!(type&(ZEROPAD+LEFT)))
    +		{
    +			while(size-->0)
    +				f += ' ';
    +		}
    +		if (type & SPECIAL) {
    +		}
    +
    +		if (!(type & LEFT))
    +			while (size-- > 0)
    +			{
    +				f += c;
    +			}
    +		tmp = buf;
    +		if ( type & ZEROTRUNC && ((type & SPECIAL) != SPECIAL) )
    +		{
    +			j = 0;
    +			while ( j < i && ( *tmp == '0' || *tmp == '.' ))
    +			{
    +				tmp++;
    +				i--;
    +			}
    +		}
    +		while (i-- > 0)
    +		{
    +			f += tmp[i];
    +		}
    +		while (size-- > 0)
    +		{
    +			f += ' ';
    +		}
    +	}
    +	return true;
    +}
    +
    +static bool
    +wnumberfl(std::wstring& f, long double __n, wchar_t exp_sign,  int size, int precision, int type)
    +{
    +	long double exponent = 0.0;
    +	long double e;
    +	long ie;
    +
    +	wchar_t *buf, *tmp, sign, c, ro = 0;
    +	int i = 0;
    +	int j = 0;
    +
    +	long double frac, intr;
    +	long double p;
    +
    +	int result;
    +
    +	union
    +	{
    +	    long double*   __n;
    +	    ieee_long_double_t*   n;
    +	} n;
    +
    +	n.__n = &__n;
    +
    +	if ( exp_sign == L'g' || exp_sign == L'G' || exp_sign == L'e' || exp_sign == L'E' ) {
    +		ie = ((unsigned int)n.n->exponent - (unsigned int)0x3fff);
    +		exponent = ie/3.321928;
    +	}
    +
    +	if ( exp_sign == L'g' || exp_sign == L'G' ) {
    +		type |= ZEROTRUNC;
    +		if ( exponent < -4 || fabs(exponent) >= precision ) 
    +			 exp_sign -= 2; // g -> e and G -> E
    +	}
    +
    +
    +	if ( exp_sign == L'e' || exp_sign == L'E' ) {
    +		frac = modfl(exponent,&e);
    +		if ( frac > 0.5 )
    +			e++;
    +		else if ( frac < -0.5 )
    +			e--;
    +
    +		result = wnumberf(f,__n/powl(10.0L,e),L'f',size-4, precision, type);
    +		if (result < 0)
    +			return false;
    +		f += exp_sign;
    +		size--;
    +		ie = (long)e;
    +		type = LEFT | PLUS;
    +		if ( ie < 0 )
    +			type |= SIGN;
    +
    +		result = wnumber(f,ie, 10,2, 2,type );
    +		if (result < 0)
    +			return false;
    +		return true;
    +	}
    +
    +	if ( exp_sign == L'f' )
    +	{
    +		
    +		buf = (wchar_t*)alloca(4096*sizeof(wchar_t));
    +		if (type & LEFT)
    +		{
    +			type &= ~ZEROPAD;
    +		}
    +
    +		c = (type & ZEROPAD) ? L'0' : L' ';
    +		sign = 0;
    +		if (type & SIGN)
    +		{
    +			if (__n < 0)
    +			{
    +				sign = L'-';
    +				__n = fabs(__n);
    +				size--;
    +			} else if (type & PLUS)
    +			{
    +				sign = L'+';
    +				size--;
    +			} else if (type & SPACE)
    +			{
    +				sign = L' ';
    +				size--;
    +			}
    +		}
    +
    +		frac = modfl(__n,&intr);
    +
    +		// # flags forces a . and prevents trucation of trailing zero's
    +		if ( precision > 0 )
    +		{
    +			//frac = modfl(__n,&intr);
    +
    +			i = precision-1;
    +			while ( i >= 0  )
    +			{
    +				frac*=10.0L;
    +				frac = modfl((long double)frac, &p);
    +				buf[i] = (int)p + L'0';
    +				i--;
    +			}
    +			i = precision;
    +			size -= precision;
    +
    +			ro = 0;
    +			if ( frac > 0.5 )
    +			{
    +				ro = 1;
    +			}
    +
    +			if ( precision >= 1 || type & SPECIAL)
    +			{
    +				buf[i++] = L'.';
    +				size--;
    +			}
    +		}
    +
    +		if ( intr == 0.0 )
    +		{
    +			buf[i++] = L'0';
    +			size--;
    +		}
    +		else
    +		{
    +			while ( intr > 0.0 )
    +			{
    +				p=intr;
    +				intr/=10.0L;
    +				modfl(intr, &intr);
    +
    +				p -= 10.0L*intr;
    +
    +				buf[i++] = (int)p + L'0';
    +				size--;
    +			}
    +		}
    +
    +		j = 0;
    +		while ( j < i && ro == 1) {
    +			if ( buf[j] >= L'0' && buf[j] <= L'8' )
    +			{
    +				buf[j]++;
    +				ro = 0;
    +			}
    +			else if ( buf[j] == L'9' )
    +			{
    +				buf[j] = L'0';
    +			}
    +			j++;
    +		}
    +		if ( ro == 1 )
    +			buf[i++] = L'1';
    +
    +		buf[i] = 0;
    +
    +		size -= precision;
    +		if (!(type&(ZEROPAD+LEFT)))
    +		{
    +			while(size-->0)
    +				f += L' ';
    +		}
    +		if (sign)
    +		{
    +			f += sign;
    +		}
    +
    +		if (!(type&(ZEROPAD+LEFT)))
    +		{
    +			while(size-->0)
    +				f += L' ';
    +		}
    +		if (type & SPECIAL) {
    +		}
    +
    +		if (!(type & LEFT))
    +			while (size-- > 0)
    +			{
    +				f += c;
    +			}
    +		tmp = buf;
    +		if ( type & ZEROTRUNC && ((type & SPECIAL) != SPECIAL) )
    +		{
    +			j = 0;
    +			while ( j < i && ( *tmp == L'0' || *tmp == L'.' ))
    +			{
    +				tmp++;
    +				i--;
    +			}
    +		}
    +		while (i-- > 0)
    +		{
    +			f += tmp[i];
    +		}
    +		while (size-- > 0)
    +		{
    +			f += L' ';
    +		}
    +	}
    +	return true;
    +}
    +
    +static int
    +do_string(std::string& f, const char* s, int len, int field_width, int precision, int flags)
    +{
    +	int i, done = 0;
    +	if (s == NULL)
    +	{
    +		s = "";
    +		len = 6;
    +	}
    +	else
    +	{
    +		if (len == -1)
    +		{
    +			len = 0;
    +			while ((unsigned int)len < (unsigned int)precision && s[len])
    +				len++;
    +		}
    +		else
    +		{
    +			if ((unsigned int)len > (unsigned int)precision)
    +				len = precision;
    +		}
    +	}
    +	if (!(flags & LEFT))
    +		while (len < field_width--)
    +		{
    +			f += ' ';
    +			done++;
    +		}
    +	for (i = 0; i < len; ++i)
    +	{
    +		f += *s++;
    +		done++;
    +	}
    +	while (len < field_width--)
    +	{
    +		f += ' ';
    +		done++;
    +	}
    +	return done;
    +}
    +
    +static int
    +do_wstring(std::wstring& f, const wchar_t* s, int len, int field_width, int precision, int flags)
    +{
    +	int i, done = 0;
    +	if (s == NULL)
    +	{
    +		s = L"";
    +		len = 6;
    +	}
    +	else
    +	{
    +		if (len == -1)
    +		{
    +			len = 0;
    +			while ((unsigned int)len < (unsigned int)precision && s[len])
    +				len++;
    +		}
    +		else
    +		{
    +			if ((unsigned int)len > (unsigned int)precision)
    +				len = precision;
    +		}
    +	}
    +	if (!(flags & LEFT))
    +		while (len < field_width--)
    +		{
    +			f += L' ';
    +			done++;
    +		}
    +	for (i = 0; i < len; ++i)
    +	{
    +		f += *s++;
    +		done++;
    +	}
    +	while (len < field_width--)
    +	{
    +		f += L' ';
    +		done++;
    +	}
    +	return done;
    +}
    +
    +static int
    +stringw(std::string& f, const wchar_t* sw, int len, int field_width, int precision, int flags)
    +{
    +	int i, done = 0;
    +	if (sw == NULL)
    +	{
    +		sw = L"";
    +		len = 6;
    +	}
    +	else
    +	{
    +		if (len == -1)
    +		{
    +			len = 0;
    +			while ((unsigned int)len < (unsigned int)precision && sw[len])
    +				len++;
    +		}
    +		else
    +		{
    +			if ((unsigned int)len > (unsigned int)precision)
    +				len = precision;
    +		}
    +	}
    +	if (!(flags & LEFT))
    +		while (len < field_width--)
    +		{
    +			f += ' ';
    +			done++;
    +		}
    +	for (i = 0; i < len; ++i)
    +	{
    +#define MY_MB_CUR_MAX 1
    +		char mb[MY_MB_CUR_MAX];
    +		int mbcount, j;
    +		mbcount = wctomb(mb, *sw++);
    +		if (mbcount <= 0)
    +		{
    +			break;
    +		}
    +		for (j = 0; j < mbcount; j++)
    +		{
    +			f += mb[j];
    +			done++;
    +		}
    +	}
    +	while (len < field_width--)
    +	{
    +		f += ' ';
    +		done++;
    +	}
    +	return done;
    +}
    +
    +static int
    +wstringa(std::wstring& f, const char* sa, int len, int field_width, int precision, int flags)
    +{
    +	int i, done = 0;
    +	if (sa == NULL)
    +	{
    +		sa = "";
    +		len = 6;
    +	}
    +	else
    +	{
    +		if (len == -1)
    +		{
    +			len = 0;
    +			while ((unsigned int)len < (unsigned int)precision && sa[len])
    +				len++;
    +		}
    +		else
    +		{
    +			if ((unsigned int)len > (unsigned int)precision)
    +				len = precision;
    +		}
    +	}
    +	if (!(flags & LEFT))
    +		while (len < field_width--)
    +		{
    +			f += L' ';
    +			done++;
    +		}
    +	for (i = 0; i < len;)
    +	{
    +		wchar_t w;
    +		int mbcount;
    +		mbcount = mbtowc(&w, sa, len-i);
    +		if (mbcount <= 0)
    +			break;
    +		f += w;
    +		done++;
    +		i += mbcount;
    +	}
    +	while (len < field_width--)
    +	{
    +		f += L' ';
    +		done++;
    +	}
    +	return done;
    +}
    +
    +#define _isnanl _isnan
    +#define _finitel _finite
    +
    +std::string
    +ssvprintf ( const char *fmt, va_list args )
    +{
    +	ULONGLONG num;
    +	int base;
    +	long double _ldouble;
    +	double _double;
    +	const char *s;
    +	const wchar_t* sw;
    +	int result;
    +	std::string f;
    +
    +	int flags;		/* flags to number() */
    +
    +	int field_width;	/* width of output field */
    +	int precision;		/* min. # of digits for integers; max
    +				   number of chars for from string */
    +	int qualifier = 0;	/* 'h', 'l', 'L' or 'I64' for integer fields */
    +
    +	for (; *fmt ; ++fmt)
    +	{
    +		if (*fmt != '%')
    +		{
    +			f += *fmt;
    +			continue;
    +		}
    +
    +		/* process flags */
    +		flags = 0;
    +		repeat:
    +			++fmt;		/* this also skips first '%' */
    +			switch (*fmt) {
    +				case '-': flags |= LEFT; goto repeat;
    +				case '+': flags |= PLUS; goto repeat;
    +				case ' ': flags |= SPACE; goto repeat;
    +				case '#': flags |= SPECIAL; goto repeat;
    +				case '0': flags |= ZEROPAD; goto repeat;
    +				}
    +
    +		/* get field width */
    +		field_width = -1;
    +		if (isdigit(*fmt))
    +			field_width = skip_atoi(&fmt);
    +		else if (*fmt == '*') {
    +			++fmt;
    +			/* it's the next argument */
    +			field_width = va_arg(args, int);
    +			if (field_width < 0) {
    +				field_width = -field_width;
    +				flags |= LEFT;
    +			}
    +		}
    +
    +		/* get the precision */
    +		precision = -1;
    +		if (*fmt == '.') {
    +			++fmt;
    +			if (isdigit(*fmt))
    +				precision = skip_atoi(&fmt);
    +			else if (*fmt == '*') {
    +				++fmt;
    +				/* it's the next argument */
    +				precision = va_arg(args, int);
    +			}
    +			if (precision < 0)
    +				precision = 0;
    +		}
    +
    +		/* get the conversion qualifier */
    +		qualifier = 0;
    +		// %Z can be just stand alone or as size_t qualifier
    +		if ( *fmt == 'Z' ) {
    +			qualifier = *fmt;
    +			switch ( *(fmt+1)) {
    +				case 'o':
    +				case 'b':
    +				case 'X':
    +				case 'x':
    +				case 'd':
    +				case 'i':
    +				case 'u':
    +					++fmt;
    +					break;
    +				default:
    +					break;
    +			}
    +		} else if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L' || *fmt == 'w') {
    +			qualifier = *fmt;
    +			++fmt;
    +		} else if (*fmt == 'I' && *(fmt+1) == '6' && *(fmt+2) == '4') {
    +			qualifier = *fmt;
    +			fmt += 3;
    +		}
    +
    +		// go fine with ll instead of L
    +		if ( *fmt == 'l' ) {
    +			++fmt;
    +			qualifier = 'L';
    +		}
    +
    +		/* default base */
    +		base = 10;
    +
    +		switch (*fmt) {
    +		case 'c':
    +			if (!(flags & LEFT))
    +				while (--field_width > 0)
    +				{
    +					f += ' ';
    +				}
    +			if (qualifier == 'l' || qualifier == 'w')
    +			{
    +				f += (char)(unsigned char)(wchar_t) va_arg(args,int);
    +			}
    +			else
    +			{
    +				f += (char)(unsigned char) va_arg(args,int);
    +			}
    +			while (--field_width > 0)
    +			{
    +				f += ' ';
    +			}
    +			continue;
    +
    +		case 'C':
    +			if (!(flags & LEFT))
    +				while (--field_width > 0)
    +				{
    +					f += ' ';
    +				}
    +			if (qualifier == 'h')
    +			{
    +				f += (char)(unsigned char) va_arg(args,int);
    +			}
    +			else
    +			{
    +				f += (char)(unsigned char)(wchar_t) va_arg(args,int);
    +			}
    +			while (--field_width > 0)
    +			{
    +				f += ' ';
    +			}
    +			continue;
    +
    +		case 's':
    +			if (qualifier == 'l' || qualifier == 'w') {
    +				/* print unicode string */
    +				sw = va_arg(args, wchar_t *);
    +				result = stringw(f, sw, -1, field_width, precision, flags);
    +			} else {
    +				/* print ascii string */
    +				s = va_arg(args, char *);
    +				result = do_string(f, s, -1, field_width, precision, flags);
    +			}
    +			if (result < 0)
    +			{
    +				assert(!"TODO FIXME handle error better");
    +				return f;
    +			}
    +			continue;
    +
    +		case 'S':
    +			if (qualifier == 'h') {
    +				/* print ascii string */
    +				s = va_arg(args, char *);
    +				result = do_string(f, s, -1, field_width, precision, flags);
    +			} else {
    +				/* print unicode string */
    +				sw = va_arg(args, wchar_t *);
    +				result = stringw(f, sw, -1, field_width, precision, flags);
    +			}
    +			if (result < 0)
    +			{
    +				assert(!"TODO FIXME handle error better");
    +				return f;
    +			}
    +			continue;
    +
    +		/*case 'Z':
    +			if (qualifier == 'w') {
    +				// print counted unicode string
    +				PUNICODE_STRING pus = va_arg(args, PUNICODE_STRING);
    +				if ((pus == NULL) || (pus->Buffer == NULL)) {
    +					sw = NULL;
    +					len = -1;
    +				} else {
    +					sw = pus->Buffer;
    +					len = pus->Length / sizeof(WCHAR);
    +				}
    +				result = stringw(f, sw, len, field_width, precision, flags);
    +			} else {
    +				// print counted ascii string
    +				PANSI_STRING pas = va_arg(args, PANSI_STRING);
    +				if ((pas == NULL) || (pas->Buffer == NULL)) {
    +					s = NULL;
    +					len = -1;
    +				} else {
    +					s = pas->Buffer;
    +					len = pas->Length;
    +				}
    +				result = string(f, s, -1, field_width, precision, flags);
    +			}
    +			if (result < 0)
    +				return -1;
    +			continue;*/
    +
    +		case 'e':
    +		case 'E':
    +		case 'f':
    +		case 'g':
    +		case 'G':
    +			if (qualifier == 'l' || qualifier == 'L' ) {
    +				_ldouble = va_arg(args, long double);
    +			
    +				if ( _isnanl(_ldouble) )
    +				{
    +					f += "Nan";
    +				}
    +				else if ( !_finitel(_ldouble) )
    +				{
    +					if ( _ldouble < 0 )
    +						f += "-Inf";
    +					else
    +						f += "+Inf";
    +				} else {
    +					if ( precision == -1 )
    +						precision = 6;
    +					result = numberfl(f,_ldouble,*fmt,field_width,precision,flags);
    +					if (result < 0)
    +					{
    +						assert(!"TODO FIXME handle error better");
    +						return f;
    +					}
    +				}
    +			} else {
    +				_double = (double)va_arg(args, double);
    +
    +				if ( _isnan(_double) )
    +				{
    +					f += "Nan";
    +				}
    +				else if ( !_finite(_double) )
    +				{
    +					if ( _double < 0 )
    +						f += "-Inf";
    +					else
    +						f += "+Inf";
    +				}
    +				else
    +				{
    +					if ( precision == -1 )
    +						precision = 6;
    +					result = numberf(f,_double,*fmt,field_width,precision,flags);
    +					if (result < 0)
    +					{
    +						assert(!"TODO FIXME handle error better");
    +						return f;
    +					}
    +				}
    +			}
    +			continue;
    +
    +		case 'p':
    +			if (field_width == -1) {
    +				field_width = 2*sizeof(void *);
    +				flags |= ZEROPAD;
    +			}
    +			result = number(f,
    +				        (unsigned long) va_arg(args, void *), 16,
    +					field_width, precision, flags);
    +			if (result < 0)
    +			{
    +				assert(!"TODO FIXME handle error better");
    +				return f;
    +			}
    +			continue;
    +
    +		case 'n':
    +			if (qualifier == 'l') {
    +				long * ip = va_arg(args, long *);
    +				*ip = 0;
    +			} else {
    +				int * ip = va_arg(args, int *);
    +				*ip = 0;
    +			}
    +			continue;
    +
    +		/* integer number formats - set up the flags and "break" */
    +		case 'o':
    +			base = 8;
    +			break;
    +
    +		case 'b':
    +			base = 2;
    +			break;
    +
    +		case 'X':
    +			flags |= LARGE;
    +		case 'x':
    +			base = 16;
    +			break;
    +
    +		case 'd':
    +		case 'i':
    +			flags |= SIGN;
    +		case 'u':
    +			break;
    +
    +		default:
    +			if (*fmt != '%')
    +			{
    +				f += '%';
    +			}
    +			if (*fmt)
    +			{
    +				f += *fmt;
    +			}
    +			else
    +				--fmt;
    +			continue;
    +		}
    +
    +		if (qualifier == 'I')
    +			num = va_arg(args, ULONGLONG);
    +		else if (qualifier == 'l') {
    +			if (flags & SIGN)
    +				num = va_arg(args, long);
    +			else
    +				num = va_arg(args, unsigned long);
    +		}
    +		else if (qualifier == 'h') {
    +			if (flags & SIGN)
    +				num = va_arg(args, int);
    +			else
    +				num = va_arg(args, unsigned int);
    +		}
    +		else if (flags & SIGN)
    +			num = va_arg(args, int);
    +		else
    +			num = va_arg(args, unsigned int);
    +		result = number(f, num, base, field_width, precision, flags);
    +		if (result < 0)
    +		{
    +			assert(!"TODO FIXME handle error better");
    +			return f;
    +		}
    +	}
    +	//putc('\0',f);
    +	return f;
    +}
    +
    +std::wstring
    +sswvprintf ( const wchar_t* fmt, va_list args )
    +{
    +	ULONGLONG num;
    +	int base;
    +	long double _ldouble;
    +	double _double;
    +	const wchar_t* s;
    +	const char* sa;
    +	int result;
    +	std::wstring f;
    +
    +	int flags;		/* flags to number() */
    +
    +	int field_width;	/* width of output field */
    +	int precision;		/* min. # of digits for integers; max
    +				   number of chars for from string */
    +	int qualifier = 0;	/* 'h', 'l', 'L' or 'I64' for integer fields */
    +
    +	for (; *fmt ; ++fmt)
    +	{
    +		if (*fmt != L'%')
    +		{
    +			f += *fmt;
    +			continue;
    +		}
    +
    +		/* process flags */
    +		flags = 0;
    +		repeat:
    +			++fmt;		/* this also skips first '%' */
    +			switch (*fmt) {
    +				case L'-': flags |= LEFT; goto repeat;
    +				case L'+': flags |= PLUS; goto repeat;
    +				case L' ': flags |= SPACE; goto repeat;
    +				case L'#': flags |= SPECIAL; goto repeat;
    +				case L'0': flags |= ZEROPAD; goto repeat;
    +				}
    +
    +		/* get field width */
    +		field_width = -1;
    +		if (isdigit(*fmt))
    +			field_width = skip_wtoi(&fmt);
    +		else if (*fmt == L'*') {
    +			++fmt;
    +			/* it's the next argument */
    +			field_width = va_arg(args, int);
    +			if (field_width < 0) {
    +				field_width = -field_width;
    +				flags |= LEFT;
    +			}
    +		}
    +
    +		/* get the precision */
    +		precision = -1;
    +		if (*fmt == L'.') {
    +			++fmt;
    +			if (iswdigit(*fmt))
    +				precision = skip_wtoi(&fmt);
    +			else if (*fmt == L'*') {
    +				++fmt;
    +				/* it's the next argument */
    +				precision = va_arg(args, int);
    +			}
    +			if (precision < 0)
    +				precision = 0;
    +		}
    +
    +		/* get the conversion qualifier */
    +		qualifier = 0;
    +		// %Z can be just stand alone or as size_t qualifier
    +		if ( *fmt == L'Z' ) {
    +			qualifier = *fmt;
    +			switch ( *(fmt+1)) {
    +				case L'o':
    +				case L'b':
    +				case L'X':
    +				case L'x':
    +				case L'd':
    +				case L'i':
    +				case L'u':
    +					++fmt;
    +					break;
    +				default:
    +					break;
    +			}
    +		} else if (*fmt == L'h' || *fmt == L'l' || *fmt == L'L' || *fmt == L'w') {
    +			qualifier = *fmt;
    +			++fmt;
    +		} else if (*fmt == L'I' && *(fmt+1) == L'6' && *(fmt+2) == L'4') {
    +			qualifier = *fmt;
    +			fmt += 3;
    +		}
    +
    +		// go fine with ll instead of L
    +		if ( *fmt == L'l' ) {
    +			++fmt;
    +			qualifier = L'L';
    +		}
    +
    +		/* default base */
    +		base = 10;
    +
    +		switch (*fmt) {
    +		case L'c':
    +			if (!(flags & LEFT))
    +				while (--field_width > 0)
    +				{
    +					f += L' ';
    +				}
    +			if ( qualifier == L'h' )
    +			{
    +				f += (wchar_t)(char)(unsigned char) va_arg(args,int);
    +			}
    +			else
    +			{
    +				f += (wchar_t) va_arg(args,int);
    +			}
    +			while (--field_width > 0)
    +			{
    +				f += ' ';
    +			}
    +			continue;
    +
    +		case 'C':
    +			if (!(flags & LEFT))
    +				while (--field_width > 0)
    +				{
    +					f += L' ';
    +				}
    +			if (qualifier == L'l' || qualifier == L'w')
    +			{
    +				f += (wchar_t) va_arg(args,int);
    +			}
    +			else
    +			{
    +				f += (wchar_t)(char)(unsigned char) va_arg(args,int);
    +			}
    +			while (--field_width > 0)
    +			{
    +				f += L' ';
    +			}
    +			continue;
    +
    +		case 's':
    +			if (qualifier == L'h') {
    +				/* print ascii string */
    +				sa = va_arg(args, char *);
    +				result = wstringa(f, sa, -1, field_width, precision, flags);
    +			} else {
    +				/* print unicode string */
    +				s = va_arg(args, wchar_t *);
    +				result = do_wstring(f, s, -1, field_width, precision, flags);
    +			}
    +			if (result < 0)
    +			{
    +				assert(!"TODO FIXME handle error better");
    +				return f;
    +			}
    +			continue;
    +
    +		case 'S':
    +			if (qualifier == L'l' || qualifier == L'w') {
    +				/* print unicode string */
    +				s = va_arg(args, wchar_t *);
    +				result = do_wstring(f, s, -1, field_width, precision, flags);
    +			} else {
    +				/* print ascii string */
    +				sa = va_arg(args, char *);
    +				result = wstringa(f, sa, -1, field_width, precision, flags);
    +			}
    +			if (result < 0)
    +			{
    +				assert(!"TODO FIXME handle error better");
    +				return f;
    +			}
    +			continue;
    +
    +		case L'e':
    +		case L'E':
    +		case L'f':
    +		case L'g':
    +		case L'G':
    +			if (qualifier == L'l' || qualifier == L'L' )
    +			{
    +				_ldouble = va_arg(args, long double);
    +			
    +				if ( _isnanl(_ldouble) )
    +				{
    +					f += L"Nan";
    +				}
    +				else if ( !_finitel(_ldouble) )
    +				{
    +					if ( _ldouble < 0 )
    +						f += L"-Inf";
    +					else
    +						f += L"+Inf";
    +				} else {
    +					if ( precision == -1 )
    +						precision = 6;
    +					result = wnumberfl(f,_ldouble,*fmt,field_width,precision,flags);
    +					if (result < 0)
    +					{
    +						assert(!"TODO FIXME handle error better");
    +						return f;
    +					}
    +				}
    +			} else {
    +				_double = (double)va_arg(args, double);
    +
    +				if ( _isnan(_double) )
    +				{
    +					f += L"Nan";
    +				}
    +				else if ( !_finite(_double) )
    +				{
    +					if ( _double < 0 )
    +						f += L"-Inf";
    +					else
    +						f += L"+Inf";
    +				}
    +				else
    +				{
    +					if ( precision == -1 )
    +						precision = 6;
    +					result = wnumberf(f,_double,*fmt,field_width,precision,flags);
    +					if (result < 0)
    +					{
    +						assert(!"TODO FIXME handle error better");
    +						return f;
    +					}
    +				}
    +			}
    +			continue;
    +
    +		case L'p':
    +			if (field_width == -1) {
    +				field_width = 2*sizeof(void *);
    +				flags |= ZEROPAD;
    +			}
    +			result = wnumber(f,
    +				        (unsigned long) va_arg(args, void *), 16,
    +					field_width, precision, flags);
    +			if (result < 0)
    +			{
    +				assert(!"TODO FIXME handle error better");
    +				return f;
    +			}
    +			continue;
    +
    +		case L'n':
    +			if (qualifier == L'l') {
    +				long * ip = va_arg(args, long *);
    +				*ip = 0;
    +			} else {
    +				int * ip = va_arg(args, int *);
    +				*ip = 0;
    +			}
    +			continue;
    +
    +		/* integer number formats - set up the flags and "break" */
    +		case L'o':
    +			base = 8;
    +			break;
    +
    +		case L'b':
    +			base = 2;
    +			break;
    +
    +		case L'X':
    +			flags |= LARGE;
    +		case L'x':
    +			base = 16;
    +			break;
    +
    +		case L'd':
    +		case L'i':
    +			flags |= SIGN;
    +		case L'u':
    +			break;
    +
    +		default:
    +			if (*fmt != L'%')
    +			{
    +				f += L'%';
    +			}
    +			if (*fmt)
    +			{
    +				f += *fmt;
    +			}
    +			else
    +				--fmt;
    +			continue;
    +		}
    +
    +		if (qualifier == L'I')
    +			num = va_arg(args, ULONGLONG);
    +		else if (qualifier == L'l') {
    +			if (flags & SIGN)
    +				num = va_arg(args, long);
    +			else
    +				num = va_arg(args, unsigned long);
    +		}
    +		else if (qualifier == L'h') {
    +			if (flags & SIGN)
    +				num = va_arg(args, int);
    +			else
    +				num = va_arg(args, unsigned int);
    +		}
    +		else if (flags & SIGN)
    +			num = va_arg(args, int);
    +		else
    +			num = va_arg(args, unsigned int);
    +		result = wnumber(f, num, base, field_width, precision, flags);
    +		if (result < 0)
    +		{
    +			assert(!"TODO FIXME handle error better");
    +			return f;
    +		}
    +	}
    +	//putc('\0',f);
    +	return f;
    +}
    diff --git a/reactos/tools/buildno/ssprintf.h b/reactos/tools/buildno/ssprintf.h
    new file mode 100644
    index 00000000000..c7a6d2d2595
    --- /dev/null
    +++ b/reactos/tools/buildno/ssprintf.h
    @@ -0,0 +1,23 @@
    +// ssprintf.h
    +
    +#ifndef SSPRINTF_H
    +#define SSPRINTF_H
    +
    +#include 
    +#include 
    +
    +std::string ssprintf ( const char* fmt, ... );
    +std::string ssvprintf ( const char* fmt, va_list args );
    +
    +std::wstring sswprintf ( const wchar_t* fmt, ... );
    +std::wstring sswvprintf ( const wchar_t* fmt, va_list args );
    +
    +#ifdef _UNICODE
    +#define sstprintf sswprintf
    +#define sstvprintf sswvprintf
    +#else
    +#define sstprintf ssprintf
    +#define sstvprintf ssvprintf
    +#endif
    +
    +#endif//SSPRINTF_H
    diff --git a/reactos/tools/helper.mk b/reactos/tools/helper.mk
    index da8365b05dd..6bded590b5f 100644
    --- a/reactos/tools/helper.mk
    +++ b/reactos/tools/helper.mk
    @@ -11,6 +11,7 @@
     #                        export_driver = Kernel mode driver that have exported functions
     #                        driver_library = Import library for a driver
     #                        kmlibrary = Static kernel-mode library
    +#                        host_library = Static library for use in the build env
     #                        hal = Hardware Abstraction Layer
     #                        bootpgm = Boot program
     #                        miniport = Kernel mode driver that does not link with ntoskrnl.exe or hal.dll
    @@ -223,6 +224,20 @@ ifeq ($(TARGET_TYPE),driver_library)
       MK_RES_BASE :=
     endif
     
    +ifeq ($(TARGET_TYPE),host_library)
    +  TARGET_NORC := yes
    +  MK_MODE := static
    +  MK_DEFEXT := .a
    +  MK_CFLAGS := 
    +  MK_CPPFLAGS := 
    +  MK_LIBPATH := .
    +  MK_IMPLIB := no
    +  MK_IMPLIBONLY := no
    +  MK_IMPLIBDEFPATH :=
    +  MK_CC := $(HOST_CC)
    +  MK_AR := $(HOST_AR)
    +endif
    +
     ifeq ($(TARGET_TYPE),driver)
       MK_MODE := kernel
       MK_EXETYPE := dll
    @@ -280,6 +295,12 @@ ifeq ($(TARGET_TYPE),hal)
       MK_RES_BASE := $(TARGET_NAME)
       MK_INSTALL_BASENAME := hal
       MK_INSTALL_FULLNAME := hal.dll
    +  ifeq ($(TARGET_BOOTSTRAP),yes)
    +    TARGET_BOOTSTRAP_NAME := hal.dll
    +  else
    +    TARGET_BOOTSTRAP_NAME := $(TARGET_NAME)$(MK_DEFEXT)
    +  endif
    +  TARGET_BOOTSTRAP := yes
     endif
     
     ifeq ($(TARGET_TYPE),bootpgm)
    @@ -378,8 +399,16 @@ ifeq ($(TARGET_TYPE),test)
       TARGET_OBJECTS := _rtstub.o _regtests.o $(TARGET_OBJECTS)
     endif
     
    +ifeq ($(MK_CC),)
    +  MK_CC := $(CC)
    +endif
    +
    +ifeq ($(MK_AR),)
    +  MK_AR := $(AR)
    +endif
    +
     # can be overidden with $(CXX) for linkage of c++ executables
    -LD_CC = $(CC)
    +LD_CC = $(MK_CC)
     
     ifeq ($(RM_AT_FROM_SYMBOLS),no)
       MK_KILLAT :=
    @@ -474,7 +503,7 @@ ifeq ($(TARGET_TYPE),winedll)
       MK_SDKLIBS :=
       MK_CFLAGS := -D__USE_W32API -D_WIN32_IE=0x600 -D_WIN32_WINNT=0x501 -DWINVER=0x501 -D_STDDEF_H -I$(PATH_TO_TOP)/include/wine
       MK_CPPFLAGS := -D__USE_W32API -D_WIN32_IE=0x600 -D_WIN32_WINNT=0x501 -DWINVER=0x501 -D__need_offsetof -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/include/wine
    -  MK_RCFLAGS := --define __USE_W32API --include-dir $(PATH_TO_TOP)/include/wine
    +  MK_PREPROC_FOR_RC_FLAGS := -xc -E -DRC_INVOKED -D__USE_W32API -I$(PATH_TO_TOP)/include/wine -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/w32api/include
       MK_IMPLIB := yes
       MK_IMPLIBONLY := no
       MK_IMPLIBDEFPATH := $(SDK_PATH_LIB)
    @@ -545,7 +574,9 @@ endif
     
     
     ifeq ($(TARGET_LIBPATH),)
    -  MK_LIBPATH := $(SDK_PATH_LIB)
    +  ifeq ($(MK_LIBPATH),)
    +    MK_LIBPATH := $(SDK_PATH_LIB)
    +  endif
     else
       MK_LIBPATH := $(TARGET_LIBPATH)
     endif
    @@ -755,7 +786,7 @@ endif
     
     $(MK_BASENAME).a: $(MK_OBJECTS)
     	$(HALFVERBOSEECHO) [AR]      $(MK_BASENAME).a
    -	$(AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
    +	$(MK_AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
     
     $(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS) $(MK_STUBS_SRC) $(MK_STUBS_OBJ)
     	$(HALFVERBOSEECHO) [LD]      $(MK_NOSTRIPNAME)
    @@ -800,7 +831,6 @@ endif
     $(MK_FULLNAME): $(MK_NOSTRIPNAME) $(MK_EXTRADEP)
     	$(HALFVERBOSEECHO) [RSYM]    $(MK_FULLNAME)
     	$(RSYM) $(MK_NOSTRIPNAME) $(MK_FULLNAME)
    -	@echo $(MK_FULLNAME) was successfully built.
     
     endif # KM_MODE
     
    @@ -815,7 +845,7 @@ endif
     
     $(MK_BASENAME).a: $(MK_OBJECTS)
     	$(HALFVERBOSEECHO) [AR]      $(MK_BASENAME).a
    -	$(AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
    +	$(MK_AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
     
     $(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS)
     	$(HALFVERBOSEECHO) [LD]      $(MK_NOSTRIPNAME)
    @@ -852,7 +882,6 @@ endif
     $(MK_FULLNAME): $(MK_NOSTRIPNAME)
     	$(HALFVERBOSEECHO) [RSYM]    $(MK_FULLNAME)
     	$(RSYM) $(MK_NOSTRIPNAME) $(MK_FULLNAME)
    -	@echo $(MK_FULLNAME) was successfully built.
     
     endif # MK_MODE
     
    @@ -861,10 +890,7 @@ ifeq ($(MK_MODE),static)
     
     $(MK_FULLNAME): $(MK_EXTRADEP) $(MK_OBJECTS)
     	$(HALFVERBOSEECHO) [AR]      $(MK_FULLNAME)
    -	$(AR) -rc $(MK_FULLNAME) $(MK_OBJECTS)
    -ifneq ($(TARGET_TYPE),test)
    -	@echo $(MK_FULLNAME) was successfully built.
    -endif
    +	$(MK_AR) -rc $(MK_FULLNAME) $(MK_OBJECTS)
     
     # Static libraries dont have a nostrip version
     $(MK_NOSTRIPNAME):
    @@ -911,7 +937,7 @@ MK_PCHNAME = $(TARGET_PCH).gch
     ifeq ($(TARGET_CPPAPP),yes)
     PCH_CC := $(CXX)
     else # TARGET_CPPAPP
    -PCH_CC := $(CC)
    +PCH_CC := $(MK_CC)
     endif # TARGET_CPPAPP
     else # ROS_USE_PCH
     MK_PCHNAME =
    @@ -926,13 +952,12 @@ MK_CLEANFILES := $(filter %.o,$(MK_OBJECTS))
     MK_CLEANFILTERED := $(MK_OBJECTS:.o=.d) $(TARGET_PCH:.h=.d)
     MK_CLEANDEPS := $(join $(dir $(MK_CLEANFILTERED)), $(addprefix ., $(notdir $(MK_CLEANFILTERED))))
     
    -# FIXME: The $(MK_BASENAME).sym can be removed around 15 Feb 2005
     clean: $(MK_REGTESTS_CLEAN) $(SUBDIRS:%=%_clean)
     	$(HALFVERBOSEECHO) [CLEAN]
    -	- $(RM) *.o $(MK_PCHCLEAN) $(MK_BASENAME).sym $(MK_BASENAME).a $(MK_RESOURCE) \
    +	- $(RM) *.o $(MK_PCHCLEAN) $(MK_BASENAME).a $(MK_RESOURCE) \
     	  $(MK_FULLNAME) $(MK_NOSTRIPNAME) $(MK_CLEANFILES) $(MK_CLEANDEPS) $(MK_BASENAME).map \
     	  junk.tmp base.tmp temp.exp $(MK_RC_BINARIES) $(MK_SPECDEF) $(MK_STUBS_SRC) \
    -	  $(MK_GENERATED_MAKEFILE) $(TARGET_CLEAN)
    +	  $(MK_RES_TEMPS) $(MK_GENERATED_MAKEFILE) $(TARGET_CLEAN)
     
     ifneq ($(TARGET_HEADERS),)
     $(TARGET_OBJECTS): $(TARGET_HEADERS)
    @@ -1008,6 +1033,8 @@ $(MK_RC_BINARIES): $(TARGET_RC_BINSRC)
     	$(BIN2RES) -f -o $@ $(TARGET_RC_BINSRC)
     
     $(MK_RESOURCE): $(MK_RC_BINARIES)
    +
    +MK_RES_TEMPS = $(MK_RESOURCE:.coff=.rci) $(MK_RESOURCE:.coff=.res)
     endif
     
     REGTEST_TESTS = $(wildcard tests/tests/*.c)
    @@ -1062,7 +1089,7 @@ endif
     
     ifeq ($(TARGET_TYPE),test)
     run: all
    -	@$(CC) -nostdlib -o _runtest.exe regtests.a $(TARGET_LIBS) _stubs.o \
    +	@$(MK_CC) -nostdlib -o _runtest.exe regtests.a $(TARGET_LIBS) _stubs.o \
     	$(SDK_PATH_LIB)/librtshared.a $(SDK_PATH_LIB)/libregtests.a $(SDK_PATH_LIB)/libpseh.a \
     	_hooks.o -lgcc -lmsvcrt -lntdll
     	@$(CP) $(REGTESTS_PATH)/regtests/regtests.dll regtests.dll
    @@ -1073,7 +1100,7 @@ endif
     
     %.o: %.c $(MK_PCHNAME)
     	$(HALFVERBOSEECHO) [CC]      $<
    -	$(CC) $(TARGET_CFLAGS) -c $< -o $@
    +	$(MK_CC) $(TARGET_CFLAGS) -c $< -o $@
     %.o: %.cc $(MK_PCHNAME)
     	$(HALFVERBOSEECHO) [CXX]     $<
     	$(CXX) $(TARGET_CPPFLAGS) -c $< -o $@
    @@ -1092,9 +1119,19 @@ endif
     %.o: %.asm
     	$(HALFVERBOSEECHO) [NASM]    $<
     	$(NASM_CMD) $(TARGET_NFLAGS) $< -o $@
    +ifeq ($(TARGET_TYPE),winedll)
    +%.coff: %.rc
    +	$(HALFVERBOSEECHO) [RC]      $<
    +	$(MK_CC) $(MK_PREPROC_FOR_RC_FLAGS) $< > $(<:.rc=.rci)
    +	$(WRC) $(<:.rc=.rci) $(<:.rc=.res)
    +	$(RM) $(<:.rc=.rci)
    +	$(RC) $(<:.rc=.res) -o $@
    +	$(RM) $(<:.rc=.res)
    +else
     %.coff: %.rc
     	$(HALFVERBOSEECHO) [RC]      $<
     	$(RC) $(TARGET_RCFLAGS) $< -o $@
    +endif
     %.spec.def: %.spec
     	$(HALFVERBOSEECHO) [DEF]     $<
     	$(WINEBUILD) $(DEFS) -o $@ --def $<
    @@ -1106,7 +1143,7 @@ endif
     	$(WINEBUILD) $(DEFS) -o $@ --pedll $<
     %.i: %.c
     	$(HALFVERBOSEECHO) [CPP]     $<
    -	$(CC) $(TARGET_CFLAGS) -E $< > $@
    +	$(MK_CC) $(TARGET_CFLAGS) -E $< > $@
     %.h.gch: %.h
     	$(HALFVERBOSEECHO) [PCH]     $<
     	$(PCH_CC) $(CFLAGS) $<
    diff --git a/reactos/tools/mkconfig.c b/reactos/tools/mkconfig.c
    index 3ab1631c6c0..244de45667a 100644
    --- a/reactos/tools/mkconfig.c
    +++ b/reactos/tools/mkconfig.c
    @@ -108,7 +108,9 @@ main(int argc, char* argv[])
             }
           else
             {
    +          s = s + sprintf(s, "#ifndef %s\n", argv[i]);
               s = s + sprintf(s, "#define %s\n", argv[i]);
    +          s = s + sprintf(s, "#endif /* %s */\n", argv[i]);
             }
           strcat(config, argv[i]);
           if (i != (argc - 1))
    diff --git a/reactos/tools/mkhive/binhive.c b/reactos/tools/mkhive/binhive.c
    index 2ee32ad7995..d9788cc0420 100644
    --- a/reactos/tools/mkhive/binhive.c
    +++ b/reactos/tools/mkhive/binhive.c
    @@ -49,8 +49,8 @@
     #define  REG_EXTEND_HASH_TABLE_SIZE    4
     #define  REG_VALUE_LIST_CELL_MULTIPLE  4
     
    -#define ROUND_UP(N, S) ((N) + (S) - ((N) % (S)))
    -#define ROUND_DOWN(N, S) ((N) - ((N) % (S)))
    +#define ROUND_UP_POW2(N,S)   (((N) + (S) - 1) & ~((S) - 1))
    +#define ROUND_DOWN_POW2(N,S) ((N) & ~((S) - 1))
     
     #define ABS_VALUE(V) (((V) < 0) ? -(V) : (V))
     
    @@ -326,7 +326,7 @@ CmiCreateDefaultRootKeyCell(PKEY_CELL RootKeyCell, PCHAR KeyName)
     
       BaseKeyName = strrchr(KeyName, '\\') + 1;
       NameSize = strlen(BaseKeyName);
    -  CellSize = ROUND_UP(sizeof(KEY_CELL) + NameSize - 1, 16);
    +  CellSize = ROUND_UP_POW2(sizeof(KEY_CELL) + NameSize - 1, 16);
     
       memset (RootKeyCell, 0, CellSize);
       RootKeyCell->CellSize = (ULONG)-(LONG)CellSize;
    @@ -786,7 +786,7 @@ CmiAllocateCell (PREGISTRY_HIVE RegistryHive,
       *Block = NULL;
     
       /* Round to 16 bytes multiple */
    -  CellSize = ROUND_UP(CellSize, 16);
    +  CellSize = ROUND_UP_POW2(CellSize, 16);
     
       /* first search in free blocks */
       NewBlock = NULL;
    diff --git a/reactos/tools/rbuild/backend/mingw/mingw.cpp b/reactos/tools/rbuild/backend/mingw/mingw.cpp
    index ea997581403..fa848a54958 100644
    --- a/reactos/tools/rbuild/backend/mingw/mingw.cpp
    +++ b/reactos/tools/rbuild/backend/mingw/mingw.cpp
    @@ -167,6 +167,7 @@ MingwBackend::GenerateGlobalVariables () const
     	fprintf ( fMakefile, "bin2res = tools" SSEP "bin2res" SSEP "bin2res" EXEPOSTFIX "\n" );
     	fprintf ( fMakefile, "cabman = tools" SSEP "cabman" SSEP "cabman" EXEPOSTFIX "\n" );
     	fprintf ( fMakefile, "cdmake = tools" SSEP "cdmake" SSEP "cdmake" EXEPOSTFIX "\n" );
    +	fprintf ( fMakefile, "wrc = tools" SSEP "wrc" SSEP "wrc" EXEPOSTFIX "\n" );
     	fprintf ( fMakefile, "\n" );
     	GenerateGlobalCFlagsAndProperties (
     		"=",
    diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
    index 9a82bff6dea..50986984839 100644
    --- a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
    +++ b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
    @@ -24,7 +24,7 @@ MingwModuleHandler::fMakefile = NULL;
     
     string
     ReplaceExtension ( const string& filename,
    -	               const string& newExtension )
    +                   const string& newExtension )
     {
     	size_t index = filename.find_last_of ( '/' );
     	if (index == string::npos) index = 0;
    @@ -676,16 +676,34 @@ MingwModuleHandler::GenerateWindresCommand ( const Module& module,
                                                  const string& windresflagsMacro ) const
     {
     	string objectFilename = PassThruCacheDirectory ( MingwModuleHandler::GetObjectFilename ( sourceFilename ) );
    +  string rciFilename = ReplaceExtension ( sourceFilename,
    +                                          ".rci" );
    +  string resFilename = ReplaceExtension ( sourceFilename,
    +                                          ".res" );
     	fprintf ( fMakefile,
     	          "%s: %s\n",
     	          objectFilename.c_str (),
     	          sourceFilename.c_str () );
     	fprintf ( fMakefile,
    -	         "\t%s %s -o %s ${%s}\n",
    -	         "${windres}",
    +	         "\t${gcc} -xc -E -DRC_INVOKED ${%s} %s > %s\n",
    +	         windresflagsMacro.c_str (),
     	         sourceFilename.c_str (),
    -	         objectFilename.c_str (),
    -	         windresflagsMacro.c_str () );
    +	         rciFilename.c_str () );
    +	fprintf ( fMakefile,
    +	         "\t${wrc} ${%s} %s %s\n",
    +           windresflagsMacro.c_str (),
    +	         rciFilename.c_str (),
    +	         resFilename.c_str () );
    +	fprintf ( fMakefile,
    +	         "\t${rm} %s\n",
    +	         rciFilename.c_str () );
    +	fprintf ( fMakefile,
    +	         "\t${windres} %s -o %s\n",
    +	         resFilename.c_str (),
    +	         objectFilename.c_str () );
    +	fprintf ( fMakefile,
    +	         "\t${rm} %s\n",
    +	         resFilename.c_str () );
     }
     
     void
    diff --git a/reactos/tools/rsym.c b/reactos/tools/rsym.c
    index 968c03a4c1c..21885b4e985 100644
    --- a/reactos/tools/rsym.c
    +++ b/reactos/tools/rsym.c
    @@ -442,7 +442,8 @@ ConvertStabs(ULONG *SymbolsCount, PROSSYM_ENTRY *SymbolsBase,
             {
               case N_SO:
                 Name = (char *) StabStringsBase + StabEntry[i].n_strx;
    -            if ('\0' == *Name || '/' == Name[strlen(Name) - 1]
    +            if (StabStringsLength < StabEntry[i].n_strx
    +                ||'\0' == *Name || '/' == Name[strlen(Name) - 1]
                     || '\\' == Name[strlen(Name) - 1]
                     || StabEntry[i].n_value < ImageBase)
                   {
    diff --git a/reactos/tools/unicode/Makefile b/reactos/tools/unicode/Makefile
    new file mode 100644
    index 00000000000..51977c401c2
    --- /dev/null
    +++ b/reactos/tools/unicode/Makefile
    @@ -0,0 +1,95 @@
    +UNICODE_BASE = tools$(SEP)unicode
    +
    +UNICODE_TARGET = \
    +	$(ROS_INTERMEDIATE)$(UNICODE_BASE)$(SEP)libunicode.a
    +
    +UNICODE_CODEPAGES = \
    +	037 \
    +	424 \
    +	437 \
    +	500 \
    +	737 \
    +	775 \
    +	850 \
    +	852 \
    +	855 \
    +	856 \
    +	857 \
    +	860 \
    +	861 \
    +	862 \
    +	863 \
    +	864 \
    +	865 \
    +	866 \
    +	869 \
    +	874 \
    +	875 \
    +	878 \
    +	932 \
    +	936 \
    +	949 \
    +	950 \
    +	1006 \
    +	1026 \
    +	1250 \
    +	1251 \
    +	1252 \
    +	1253 \
    +	1254 \
    +	1255 \
    +	1256 \
    +	1257 \
    +	1258 \
    +	10000 \
    +	10006 \
    +	10007 \
    +	10029 \
    +	10079 \
    +	10081 \
    +	20866 \
    +	20932 \
    +	21866 \
    +	28591 \
    +	28592 \
    +	28593 \
    +	28594 \
    +	28595 \
    +	28596 \
    +	28597 \
    +	28598 \
    +	28599 \
    +	28600 \
    +	28603 \
    +	28604 \
    +	28605 \
    +	28606
    +
    +UNICODE_SOURCES = \
    +	$(UNICODE_BASE)$(SEP)casemap.c \
    +	$(UNICODE_BASE)$(SEP)compose.c \
    +	$(UNICODE_BASE)$(SEP)cptable.c \
    +	$(UNICODE_BASE)$(SEP)mbtowc.c \
    +	$(UNICODE_BASE)$(SEP)string.c \
    +	$(UNICODE_BASE)$(SEP)wctomb.c \
    +	$(UNICODE_BASE)$(SEP)wctype.c \
    +  $(addprefix $(UNICODE_BASE)$(SEP), $(UNICODE_CODEPAGES:%=c_%.o))
    +
    +UNICODE_OBJECTS = \
    +	$(UNICODE_SOURCES:.c=.o)
    +
    +UNICODE_HOST_CFLAGS = \
    +	-D__USE_W32API -DWINVER=0x501 -DWINE_UNICODE_API= \
    +	-Dwchar_t="unsigned short" -D_WCHAR_T_DEFINED \
    +	-I$(UNICODE_BASE) -Iinclude/wine
    +
    +$(UNICODE_TARGET): $(UNICODE_OBJECTS)
    +	${host_ar} -rc $(UNICODE_TARGET) $(UNICODE_OBJECTS)
    +
    +$(UNICODE_OBJECTS): %.o : %.c
    +	${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
    +
    +.PHONY: unicode_clean
    +unicode_clean:
    +	-@$(rm) $(UNICODE_TARGET) $(UNICODE_OBJECTS) 2>$(NUL)
    +clean: unicode_clean
    diff --git a/reactos/lib/unicode/Makefile.in b/reactos/tools/unicode/Makefile.in
    similarity index 91%
    rename from reactos/lib/unicode/Makefile.in
    rename to reactos/tools/unicode/Makefile.in
    index 9787346037b..b0419c716df 100644
    --- a/reactos/lib/unicode/Makefile.in
    +++ b/reactos/tools/unicode/Makefile.in
    @@ -1,87 +1,88 @@
    -TOPSRCDIR = @top_srcdir@
    -TOPOBJDIR = ../..
    -SRCDIR    = @srcdir@
    -VPATH     = @srcdir@
    -LIBRARY   = wine_unicode
    -SOVERSION = 1
    -VERSCRIPT = $(SRCDIR)/wine_unicode.map
    -EXTRADEFS = -D__WINESRC__ -DNO_LIBWINE_PORT -DWINE_UNICODE_API=""
    -
    -CODEPAGES = \
    -	037 \
    -	424 \
    -	437 \
    -	500 \
    -	737 \
    -	775 \
    -	850 \
    -	852 \
    -	855 \
    -	856 \
    -	857 \
    -	860 \
    -	861 \
    -	862 \
    -	863 \
    -	864 \
    -	865 \
    -	866 \
    -	869 \
    -	874 \
    -	875 \
    -	878 \
    -	932 \
    -	936 \
    -	949 \
    -	950 \
    -	1006 \
    -	1026 \
    -	1250 \
    -	1251 \
    -	1252 \
    -	1253 \
    -	1254 \
    -	1255 \
    -	1256 \
    -	1257 \
    -	1258 \
    -	10000 \
    -	10006 \
    -	10007 \
    -	10029 \
    -	10079 \
    -	10081 \
    -	20866 \
    -	20932 \
    -	28591 \
    -	28592 \
    -	28593 \
    -	28594 \
    -	28595 \
    -	28596 \
    -	28597 \
    -	28598 \
    -	28599 \
    -	28600 \
    -	28603 \
    -	28604 \
    -	28605 \
    -	28606
    -
    -C_SRCS = \
    -	casemap.c \
    -	collation.c \
    -	compose.c \
    -	cptable.c \
    -	fold.c \
    -	mbtowc.c \
    -	sortkey.c \
    -	string.c \
    -	utf8.c \
    -	wctomb.c \
    -	wctype.c \
    -	$(CODEPAGES:%=c_%.c)
    -
    -@MAKE_LIB_RULES@
    -
    -### Dependencies:
    +TOPSRCDIR = @top_srcdir@
    +TOPOBJDIR = ../..
    +SRCDIR    = @srcdir@
    +VPATH     = @srcdir@
    +LIBRARY   = wine_unicode
    +SOVERSION = 1
    +VERSCRIPT = $(SRCDIR)/wine_unicode.map
    +EXTRADEFS = -D__WINESRC__ -DNO_LIBWINE_PORT -DWINE_UNICODE_API=""
    +
    +CODEPAGES = \
    +	037 \
    +	424 \
    +	437 \
    +	500 \
    +	737 \
    +	775 \
    +	850 \
    +	852 \
    +	855 \
    +	856 \
    +	857 \
    +	860 \
    +	861 \
    +	862 \
    +	863 \
    +	864 \
    +	865 \
    +	866 \
    +	869 \
    +	874 \
    +	875 \
    +	878 \
    +	932 \
    +	936 \
    +	949 \
    +	950 \
    +	1006 \
    +	1026 \
    +	1250 \
    +	1251 \
    +	1252 \
    +	1253 \
    +	1254 \
    +	1255 \
    +	1256 \
    +	1257 \
    +	1258 \
    +	10000 \
    +	10006 \
    +	10007 \
    +	10029 \
    +	10079 \
    +	10081 \
    +	20866 \
    +	20932 \
    +	21866 \
    +	28591 \
    +	28592 \
    +	28593 \
    +	28594 \
    +	28595 \
    +	28596 \
    +	28597 \
    +	28598 \
    +	28599 \
    +	28600 \
    +	28603 \
    +	28604 \
    +	28605 \
    +	28606
    +
    +C_SRCS = \
    +	casemap.c \
    +	collation.c \
    +	compose.c \
    +	cptable.c \
    +	fold.c \
    +	mbtowc.c \
    +	sortkey.c \
    +	string.c \
    +	utf8.c \
    +	wctomb.c \
    +	wctype.c \
    +	$(CODEPAGES:%=c_%.c)
    +
    +@MAKE_LIB_RULES@
    +
    +### Dependencies:
    diff --git a/reactos/lib/unicode/c_037.c b/reactos/tools/unicode/c_037.c
    similarity index 98%
    rename from reactos/lib/unicode/c_037.c
    rename to reactos/tools/unicode/c_037.c
    index bc9bed85e3d..d31c090ab5a 100644
    --- a/reactos/lib/unicode/c_037.c
    +++ b/reactos/tools/unicode/c_037.c
    @@ -1,683 +1,683 @@
    -/* code page 037 (IBM EBCDIC US Canada) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[256] =
    -{
    -    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    -    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    -    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    -    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    -    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    -    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,
    -    0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c,
    -    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,
    -    0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac,
    -    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,
    -    0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    -    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,
    -    0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    -    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    -    0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1,
    -    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    -    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,
    -    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    -    0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae,
    -    0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    -    0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    -    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    -    0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5,
    -    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    -    0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff,
    -    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    -    0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    -    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    -    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    -    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    -    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    -    0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,
    -    0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc,
    -    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    -    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,
    -    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68,
    -    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
    -    0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf,
    -    0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59,
    -    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48,
    -    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
    -    0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1,
    -    0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf,
    -    /* 0x0100 .. 0x01ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    -    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    -    0xac, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    -    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    -    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    -    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    -    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    -    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    -    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    -    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    -    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    -    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    -    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    -    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xfc, 0xdc, 0xfc,
    -    0xdc, 0xfc, 0xdc, 0xfc, 0xdc, 0x3f, 0x63, 0x43,
    -    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,
    -    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    -    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    -    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,
    -    /* 0x0200 .. 0x02ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    -    0xc5, 0x85, 0xec, 0xcc, 0xef, 0xcf, 0xd6, 0x96,
    -    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    -    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0xb0, 0xa5,
    -    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    -    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x79, 0xbe, 0xb0, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,
    -    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    -    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    -    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    -    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    -    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    -    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x9e, 0xc2, 0x3f,
    -    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    -    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    -    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    -    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    -    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    -    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x59, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x59, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    -    0x68, 0x48, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    -    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,
    -    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    -    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    -    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    -    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    -    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    -    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    -    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    -    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    -    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    -    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,
    -    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,
    -    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    -    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    -    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,
    -    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x5a, 0x3f, 0xbc, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4a, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    -    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    -    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    -    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    -    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,
    -    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    -    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    -    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0xb0, 0x6e, 0xa5, 0x60, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,
    -    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x4f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    -    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    -    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    -    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    -    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    -    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    -    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x60, 0x60, 0x4f, 0x4f, 0x60, 0x60, 0x6a, 0x6a,
    -    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x5f, 0x5f, 0x5f, 0x5f, 0xd3, 0xd3, 0xd3, 0xd3,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    -    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,
    -    0x7e, 0x4f, 0x4e, 0x4e, 0x4e, 0x5f, 0x5f, 0x5f,
    -    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x4f, 0x60, 0x4f,
    -    0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xba, 0xbb, 0x3f, 0x7f, 0x7f, 0x6b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    -    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x5a,
    -    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    -    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    -    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4a, 0xb1, 0x5f, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,
    -    0x4f, 0x4c, 0xb0, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_037 =
    -{
    -    { 37, 1, 0x003f, 0x003f, "IBM EBCDIC US Canada" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 037 (IBM EBCDIC US Canada) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[256] =
    +{
    +    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    +    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    +    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    +    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    +    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    +    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,
    +    0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c,
    +    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,
    +    0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac,
    +    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,
    +    0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    +    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,
    +    0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    +    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    +    0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1,
    +    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    +    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,
    +    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    +    0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae,
    +    0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    +    0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    +    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    +    0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5,
    +    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    +    0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff,
    +    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    +    0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    +    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    +    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    +    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    +    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    +    0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,
    +    0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc,
    +    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    +    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,
    +    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68,
    +    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
    +    0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf,
    +    0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59,
    +    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48,
    +    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
    +    0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1,
    +    0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf,
    +    /* 0x0100 .. 0x01ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    +    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    +    0xac, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    +    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    +    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    +    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    +    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    +    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    +    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    +    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    +    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    +    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    +    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    +    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xfc, 0xdc, 0xfc,
    +    0xdc, 0xfc, 0xdc, 0xfc, 0xdc, 0x3f, 0x63, 0x43,
    +    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,
    +    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    +    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    +    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,
    +    /* 0x0200 .. 0x02ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    +    0xc5, 0x85, 0xec, 0xcc, 0xef, 0xcf, 0xd6, 0x96,
    +    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    +    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0xb0, 0xa5,
    +    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    +    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x79, 0xbe, 0xb0, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,
    +    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    +    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    +    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    +    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    +    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    +    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x9e, 0xc2, 0x3f,
    +    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    +    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    +    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    +    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    +    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    +    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x59, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x59, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    +    0x68, 0x48, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    +    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,
    +    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    +    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    +    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    +    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    +    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    +    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    +    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    +    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    +    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    +    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,
    +    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,
    +    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    +    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    +    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,
    +    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x5a, 0x3f, 0xbc, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4a, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    +    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    +    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    +    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    +    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,
    +    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    +    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    +    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0xb0, 0x6e, 0xa5, 0x60, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,
    +    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x4f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    +    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    +    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    +    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    +    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    +    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x60, 0x60, 0x4f, 0x4f, 0x60, 0x60, 0x6a, 0x6a,
    +    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x5f, 0x5f, 0x5f, 0x5f, 0xd3, 0xd3, 0xd3, 0xd3,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    +    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,
    +    0x7e, 0x4f, 0x4e, 0x4e, 0x4e, 0x5f, 0x5f, 0x5f,
    +    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x4f, 0x60, 0x4f,
    +    0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xba, 0xbb, 0x3f, 0x7f, 0x7f, 0x6b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    +    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x5a,
    +    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    +    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    +    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4a, 0xb1, 0x5f, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,
    +    0x4f, 0x4c, 0xb0, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_037 =
    +{
    +    { 37, 1, 0x003f, 0x003f, "IBM EBCDIC US Canada" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_10000.c b/reactos/tools/unicode/c_10000.c
    similarity index 98%
    rename from reactos/lib/unicode/c_10000.c
    rename to reactos/tools/unicode/c_10000.c
    index 54958150b87..3a702cc3e10 100644
    --- a/reactos/lib/unicode/c_10000.c
    +++ b/reactos/tools/unicode/c_10000.c
    @@ -1,683 +1,683 @@
    -/* code page 10000 (Mac Roman) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
    -    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
    -    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
    -    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
    -    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    -    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,
    -    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,
    -    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,
    -    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    -    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,
    -    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    -    0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0xfb01, 0xfb02,
    -    0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,
    -    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
    -    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,
    -    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0x7c, 0xa4,
    -    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,
    -    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,
    -    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,
    -    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,
    -    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,
    -    0x44, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,
    -    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0x59, 0x3f, 0xa7,
    -    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,
    -    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,
    -    0x64, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    -    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0x79, 0x3f, 0xd8,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0xf5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    -    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    -    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,
    -    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,
    -    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xae, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,
    -    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,
    -    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    -    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    -    0xa0, 0xe0, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,
    -    0x3f, 0xdc, 0xdd, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xda, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdc, 0xf6, 0xdd, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0xda, 0x5c, 0x2a,
    -    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdc, 0xdd, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0xde, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xc2, 0xf8, 0x7c, 0xb4, 0x3f, 0x3f,
    -    0x7c, 0xdc, 0xf6, 0xdd, 0xff, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_10000 =
    -{
    -    { 10000, 1, 0x003f, 0x003f, "Mac Roman" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 10000 (Mac Roman) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
    +    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
    +    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
    +    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
    +    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    +    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,
    +    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,
    +    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,
    +    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    +    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,
    +    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    +    0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0xfb01, 0xfb02,
    +    0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,
    +    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
    +    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,
    +    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0x7c, 0xa4,
    +    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,
    +    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,
    +    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,
    +    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,
    +    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,
    +    0x44, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,
    +    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0x59, 0x3f, 0xa7,
    +    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,
    +    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,
    +    0x64, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    +    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0x79, 0x3f, 0xd8,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0xf5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    +    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    +    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,
    +    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,
    +    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xae, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,
    +    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,
    +    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    +    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    +    0xa0, 0xe0, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,
    +    0x3f, 0xdc, 0xdd, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xda, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdc, 0xf6, 0xdd, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0xda, 0x5c, 0x2a,
    +    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdc, 0xdd, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0xde, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xc2, 0xf8, 0x7c, 0xb4, 0x3f, 0x3f,
    +    0x7c, 0xdc, 0xf6, 0xdd, 0xff, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_10000 =
    +{
    +    { 10000, 1, 0x003f, 0x003f, "Mac Roman" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_10006.c b/reactos/tools/unicode/c_10006.c
    similarity index 98%
    rename from reactos/lib/unicode/c_10006.c
    rename to reactos/tools/unicode/c_10006.c
    index 8c11fdc42f2..32f793c6ec6 100644
    --- a/reactos/lib/unicode/c_10006.c
    +++ b/reactos/tools/unicode/c_10006.c
    @@ -1,683 +1,683 @@
    -/* code page 10006 (Mac Greek) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c4, 0x00b9, 0x00b2, 0x00c9, 0x00b3, 0x00d6, 0x00dc, 0x0385,
    -    0x00e0, 0x00e2, 0x00e4, 0x0384, 0x00a8, 0x00e7, 0x00e9, 0x00e8,
    -    0x00ea, 0x00eb, 0x00a3, 0x2122, 0x00ee, 0x00ef, 0x2022, 0x00bd,
    -    0x2030, 0x00f4, 0x00f6, 0x00a6, 0x00ad, 0x00f9, 0x00fb, 0x00fc,
    -    0x2020, 0x0393, 0x0394, 0x0398, 0x039b, 0x039e, 0x03a0, 0x00df,
    -    0x00ae, 0x00a9, 0x03a3, 0x03aa, 0x00a7, 0x2260, 0x00b0, 0x0387,
    -    0x0391, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x0392, 0x0395, 0x0396,
    -    0x0397, 0x0399, 0x039a, 0x039c, 0x03a6, 0x03ab, 0x03a8, 0x03a9,
    -    0x03ac, 0x039d, 0x00ac, 0x039f, 0x03a1, 0x2248, 0x03a4, 0x00ab,
    -    0x00bb, 0x2026, 0x00a0, 0x03a5, 0x03a7, 0x0386, 0x0388, 0x0153,
    -    0x2013, 0x2015, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0389,
    -    0x038a, 0x038c, 0x038e, 0x03ad, 0x03ae, 0x03af, 0x03cc, 0x038f,
    -    0x03cd, 0x03b1, 0x03b2, 0x03c8, 0x03b4, 0x03b5, 0x03c6, 0x03b3,
    -    0x03b7, 0x03b9, 0x03be, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03bf,
    -    0x03c0, 0x03ce, 0x03c1, 0x03c3, 0x03c4, 0x03b8, 0x03c9, 0x03c2,
    -    0x03c7, 0x03c5, 0x03b6, 0x03ca, 0x03cb, 0x0390, 0x03b0, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xca, 0x21, 0x63, 0x92, 0x3f, 0xb4, 0x9b, 0xac,
    -    0x8c, 0xa9, 0x61, 0xc7, 0xc2, 0x9c, 0xa8, 0xd0,
    -    0xae, 0xb1, 0x82, 0x84, 0x27, 0xed, 0x3f, 0x3f,
    -    0x2c, 0x81, 0x6f, 0xc8, 0x3f, 0x97, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x80, 0x41, 0x41, 0x43,
    -    0x45, 0x83, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x85, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x86, 0x59, 0x3f, 0xa7,
    -    0x88, 0x61, 0x89, 0x61, 0x8a, 0x61, 0x61, 0x8d,
    -    0x8f, 0x8e, 0x90, 0x91, 0x69, 0x69, 0x94, 0x95,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x99, 0x6f, 0x9a, 0xd6,
    -    0x6f, 0x9d, 0x75, 0x9e, 0x9f, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0xcf, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    -    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x85, 0x9a, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xd0, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0xd0, 0xd0, 0x3f, 0x3f,
    -    0x8c, 0x3f, 0xae, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x8b, 0x87, 0xcd, 0xaf,
    -    0xce, 0xd7, 0xd8, 0x3f, 0xd9, 0x3f, 0xda, 0xdf,
    -    0xfd, 0xb0, 0xb5, 0xa1, 0xa2, 0xb6, 0xb7, 0xb8,
    -    0xa3, 0xb9, 0xba, 0xa4, 0xbb, 0xc1, 0xa5, 0xc3,
    -    0xa6, 0xc4, 0x3f, 0xaa, 0xc6, 0xcb, 0xbc, 0xcc,
    -    0xbe, 0xbf, 0xab, 0xbd, 0xc0, 0xdb, 0xdc, 0xdd,
    -    0xfe, 0xe1, 0xe2, 0xe7, 0xe4, 0xe5, 0xfa, 0xe8,
    -    0xf5, 0xe9, 0xeb, 0xec, 0xed, 0xee, 0xea, 0xef,
    -    0xf0, 0xf2, 0xf7, 0xf3, 0xf4, 0xf9, 0xe6, 0xf8,
    -    0xe3, 0xf6, 0xfb, 0xfc, 0xde, 0xe0, 0xf1, 0x3f,
    -    0xe2, 0xf5, 0xcb, 0xcb, 0xcb, 0xe6, 0xf0, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xeb, 0xf2, 0xf7, 0x3f, 0xa3, 0xe5, 0x3f, 0x3f,
    -    0x3f, 0xaa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe2, 0xe7, 0xe4,
    -    0xe6, 0xf8, 0x69, 0x72, 0x75, 0x76, 0xe2, 0xe7,
    -    0xf2, 0xe6, 0xf8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x95,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x89, 0x41, 0x89,
    -    0x41, 0x89, 0x41, 0x89, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x90,
    -    0x45, 0x90, 0x45, 0x90, 0x45, 0x90, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x99, 0x4f, 0x99, 0x4f, 0x99, 0x4f, 0x99,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
    -    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,
    -    0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x3f, 0x3f,
    -    0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
    -    0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
    -    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
    -    0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9,
    -    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x3f, 0x3f,
    -    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    -    0x3f, 0xcb, 0x3f, 0xcb, 0x3f, 0xcb, 0x3f, 0xcb,
    -    0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,
    -    0xe1, 0xc0, 0xe5, 0xdb, 0xe8, 0xdc, 0xe9, 0xdd,
    -    0xef, 0xde, 0xf9, 0xe0, 0xf6, 0xf1, 0x3f, 0x3f,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
    -    0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
    -    0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
    -    0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xc0, 0x3f, 0xe1, 0xe1,
    -    0xb0, 0xb0, 0xb0, 0xcd, 0xb0, 0x3f, 0xe9, 0x3f,
    -    0x3f, 0x8c, 0xe8, 0xe8, 0xdc, 0x3f, 0xe8, 0xe8,
    -    0xb6, 0xce, 0xb8, 0xd7, 0xb8, 0x3f, 0x3f, 0x3f,
    -    0xe9, 0xe9, 0xfb, 0xfd, 0x3f, 0x3f, 0xe9, 0xfb,
    -    0xb9, 0xb9, 0xb9, 0xd8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf9, 0xf9, 0xfc, 0xfe, 0xf2, 0xf2, 0xf9, 0xfc,
    -    0xcb, 0xcb, 0xcb, 0xda, 0xc4, 0x8c, 0x87, 0x60,
    -    0x3f, 0x3f, 0xf6, 0xf6, 0xf1, 0x3f, 0xf6, 0xf6,
    -    0xc3, 0xd9, 0xbf, 0xdf, 0xbf, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xd0, 0xd0, 0xd1, 0x3f, 0x5f,
    -    0xd4, 0xd5, 0x2c, 0xd4, 0xd2, 0xd3, 0x2c, 0x3f,
    -    0xa0, 0x3f, 0x96, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x98, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xd0, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xae, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x93, 0x3f, 0x5a, 0x3f, 0xbf, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe7, 0xa1, 0xa6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xae, 0x96, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x9b, 0x9b,
    -    0x2d, 0x2d, 0x9b, 0x9b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x9b, 0x9b,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0xd0, 0xd0, 0xd0, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xd0, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x92, 0xc2, 0xd0, 0x9b, 0xb4, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_10006 =
    -{
    -    { 10006, 1, 0x003f, 0x003f, "Mac Greek" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 10006 (Mac Greek) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c4, 0x00b9, 0x00b2, 0x00c9, 0x00b3, 0x00d6, 0x00dc, 0x0385,
    +    0x00e0, 0x00e2, 0x00e4, 0x0384, 0x00a8, 0x00e7, 0x00e9, 0x00e8,
    +    0x00ea, 0x00eb, 0x00a3, 0x2122, 0x00ee, 0x00ef, 0x2022, 0x00bd,
    +    0x2030, 0x00f4, 0x00f6, 0x00a6, 0x00ad, 0x00f9, 0x00fb, 0x00fc,
    +    0x2020, 0x0393, 0x0394, 0x0398, 0x039b, 0x039e, 0x03a0, 0x00df,
    +    0x00ae, 0x00a9, 0x03a3, 0x03aa, 0x00a7, 0x2260, 0x00b0, 0x0387,
    +    0x0391, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x0392, 0x0395, 0x0396,
    +    0x0397, 0x0399, 0x039a, 0x039c, 0x03a6, 0x03ab, 0x03a8, 0x03a9,
    +    0x03ac, 0x039d, 0x00ac, 0x039f, 0x03a1, 0x2248, 0x03a4, 0x00ab,
    +    0x00bb, 0x2026, 0x00a0, 0x03a5, 0x03a7, 0x0386, 0x0388, 0x0153,
    +    0x2013, 0x2015, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0389,
    +    0x038a, 0x038c, 0x038e, 0x03ad, 0x03ae, 0x03af, 0x03cc, 0x038f,
    +    0x03cd, 0x03b1, 0x03b2, 0x03c8, 0x03b4, 0x03b5, 0x03c6, 0x03b3,
    +    0x03b7, 0x03b9, 0x03be, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03bf,
    +    0x03c0, 0x03ce, 0x03c1, 0x03c3, 0x03c4, 0x03b8, 0x03c9, 0x03c2,
    +    0x03c7, 0x03c5, 0x03b6, 0x03ca, 0x03cb, 0x0390, 0x03b0, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xca, 0x21, 0x63, 0x92, 0x3f, 0xb4, 0x9b, 0xac,
    +    0x8c, 0xa9, 0x61, 0xc7, 0xc2, 0x9c, 0xa8, 0xd0,
    +    0xae, 0xb1, 0x82, 0x84, 0x27, 0xed, 0x3f, 0x3f,
    +    0x2c, 0x81, 0x6f, 0xc8, 0x3f, 0x97, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x80, 0x41, 0x41, 0x43,
    +    0x45, 0x83, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x85, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x86, 0x59, 0x3f, 0xa7,
    +    0x88, 0x61, 0x89, 0x61, 0x8a, 0x61, 0x61, 0x8d,
    +    0x8f, 0x8e, 0x90, 0x91, 0x69, 0x69, 0x94, 0x95,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x99, 0x6f, 0x9a, 0xd6,
    +    0x6f, 0x9d, 0x75, 0x9e, 0x9f, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0xcf, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    +    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x85, 0x9a, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xd0, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0xd0, 0xd0, 0x3f, 0x3f,
    +    0x8c, 0x3f, 0xae, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x8b, 0x87, 0xcd, 0xaf,
    +    0xce, 0xd7, 0xd8, 0x3f, 0xd9, 0x3f, 0xda, 0xdf,
    +    0xfd, 0xb0, 0xb5, 0xa1, 0xa2, 0xb6, 0xb7, 0xb8,
    +    0xa3, 0xb9, 0xba, 0xa4, 0xbb, 0xc1, 0xa5, 0xc3,
    +    0xa6, 0xc4, 0x3f, 0xaa, 0xc6, 0xcb, 0xbc, 0xcc,
    +    0xbe, 0xbf, 0xab, 0xbd, 0xc0, 0xdb, 0xdc, 0xdd,
    +    0xfe, 0xe1, 0xe2, 0xe7, 0xe4, 0xe5, 0xfa, 0xe8,
    +    0xf5, 0xe9, 0xeb, 0xec, 0xed, 0xee, 0xea, 0xef,
    +    0xf0, 0xf2, 0xf7, 0xf3, 0xf4, 0xf9, 0xe6, 0xf8,
    +    0xe3, 0xf6, 0xfb, 0xfc, 0xde, 0xe0, 0xf1, 0x3f,
    +    0xe2, 0xf5, 0xcb, 0xcb, 0xcb, 0xe6, 0xf0, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xeb, 0xf2, 0xf7, 0x3f, 0xa3, 0xe5, 0x3f, 0x3f,
    +    0x3f, 0xaa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe2, 0xe7, 0xe4,
    +    0xe6, 0xf8, 0x69, 0x72, 0x75, 0x76, 0xe2, 0xe7,
    +    0xf2, 0xe6, 0xf8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x95,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x89, 0x41, 0x89,
    +    0x41, 0x89, 0x41, 0x89, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x90,
    +    0x45, 0x90, 0x45, 0x90, 0x45, 0x90, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x99, 0x4f, 0x99, 0x4f, 0x99, 0x4f, 0x99,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
    +    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,
    +    0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x3f, 0x3f,
    +    0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
    +    0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
    +    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
    +    0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9,
    +    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x3f, 0x3f,
    +    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    +    0x3f, 0xcb, 0x3f, 0xcb, 0x3f, 0xcb, 0x3f, 0xcb,
    +    0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,
    +    0xe1, 0xc0, 0xe5, 0xdb, 0xe8, 0xdc, 0xe9, 0xdd,
    +    0xef, 0xde, 0xf9, 0xe0, 0xf6, 0xf1, 0x3f, 0x3f,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
    +    0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
    +    0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
    +    0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xc0, 0x3f, 0xe1, 0xe1,
    +    0xb0, 0xb0, 0xb0, 0xcd, 0xb0, 0x3f, 0xe9, 0x3f,
    +    0x3f, 0x8c, 0xe8, 0xe8, 0xdc, 0x3f, 0xe8, 0xe8,
    +    0xb6, 0xce, 0xb8, 0xd7, 0xb8, 0x3f, 0x3f, 0x3f,
    +    0xe9, 0xe9, 0xfb, 0xfd, 0x3f, 0x3f, 0xe9, 0xfb,
    +    0xb9, 0xb9, 0xb9, 0xd8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf9, 0xf9, 0xfc, 0xfe, 0xf2, 0xf2, 0xf9, 0xfc,
    +    0xcb, 0xcb, 0xcb, 0xda, 0xc4, 0x8c, 0x87, 0x60,
    +    0x3f, 0x3f, 0xf6, 0xf6, 0xf1, 0x3f, 0xf6, 0xf6,
    +    0xc3, 0xd9, 0xbf, 0xdf, 0xbf, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xd0, 0xd0, 0xd1, 0x3f, 0x5f,
    +    0xd4, 0xd5, 0x2c, 0xd4, 0xd2, 0xd3, 0x2c, 0x3f,
    +    0xa0, 0x3f, 0x96, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x98, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xd0, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xae, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x93, 0x3f, 0x5a, 0x3f, 0xbf, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe7, 0xa1, 0xa6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xae, 0x96, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x9b, 0x9b,
    +    0x2d, 0x2d, 0x9b, 0x9b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x9b, 0x9b,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0xd0, 0xd0, 0xd0, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xd0, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x92, 0xc2, 0xd0, 0x9b, 0xb4, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_10006 =
    +{
    +    { 10006, 1, 0x003f, 0x003f, "Mac Greek" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_10007.c b/reactos/tools/unicode/c_10007.c
    similarity index 98%
    rename from reactos/lib/unicode/c_10007.c
    rename to reactos/tools/unicode/c_10007.c
    index 2e200ed172d..8ef0a63f84c 100644
    --- a/reactos/lib/unicode/c_10007.c
    +++ b/reactos/tools/unicode/c_10007.c
    @@ -1,716 +1,716 @@
    -/* code page 10007 (Mac Cyrillic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    -    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    -    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    -    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    -    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x0406,
    -    0x00ae, 0x00a9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453,
    -    0x221e, 0x00b1, 0x2264, 0x2265, 0x0456, 0x00b5, 0x2202, 0x0408,
    -    0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040a, 0x045a,
    -    0x0458, 0x0405, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    -    0x00bb, 0x2026, 0x00a0, 0x040b, 0x045b, 0x040c, 0x045c, 0x0455,
    -    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x201e,
    -    0x040e, 0x045e, 0x040f, 0x045f, 0x2116, 0x0401, 0x0451, 0x044f,
    -    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    -    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    -    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    -    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x00a4
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xca, 0x21, 0xa2, 0xa3, 0xff, 0x59, 0x7c, 0xa4,
    -    0x22, 0xa9, 0x61, 0xc7, 0xc2, 0x2d, 0xa8, 0xd1,
    -    0xa1, 0xb1, 0x32, 0x33, 0x27, 0xb5, 0xa6, 0x3f,
    -    0x2c, 0x31, 0x6f, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xd6,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xd1, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xa1, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0xd1, 0xd1, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xa1, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0400 .. 0x04ff */
    -    0x85, 0xdd, 0xab, 0xae, 0xb8, 0xc1, 0xa7, 0xba,
    -    0xb7, 0xbc, 0xbe, 0xcb, 0xcd, 0x88, 0xd8, 0xda,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xdf,
    -    0xe5, 0xde, 0xac, 0xaf, 0xb9, 0xcf, 0xb4, 0xbb,
    -    0xc0, 0xbd, 0xbf, 0xcc, 0xce, 0xe8, 0xd9, 0xdb,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x86, 0xe6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x80, 0xe0, 0x80, 0xe0, 0x3f, 0x3f, 0x85, 0xe5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x86, 0xe6, 0x87, 0xe7,
    -    0x3f, 0x3f, 0x88, 0xe8, 0x88, 0xe8, 0x8e, 0xee,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0xfd, 0x93, 0xf3,
    -    0x93, 0xf3, 0x93, 0xf3, 0x97, 0xf7, 0x3f, 0x3f,
    -    0x9b, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    -    0xd4, 0xd5, 0x2c, 0xd4, 0xd2, 0xd3, 0xd7, 0x3f,
    -    0xa0, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xd1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xdc, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0x4f, 0xc6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xa1, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xd7,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd1, 0xd1, 0xd1, 0xd1, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xc2, 0xd1, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_10007 =
    -{
    -    { 10007, 1, 0x003f, 0x003f, "Mac Cyrillic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 10007 (Mac Cyrillic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    +    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    +    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    +    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    +    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x0406,
    +    0x00ae, 0x00a9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453,
    +    0x221e, 0x00b1, 0x2264, 0x2265, 0x0456, 0x00b5, 0x2202, 0x0408,
    +    0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040a, 0x045a,
    +    0x0458, 0x0405, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    +    0x00bb, 0x2026, 0x00a0, 0x040b, 0x045b, 0x040c, 0x045c, 0x0455,
    +    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x201e,
    +    0x040e, 0x045e, 0x040f, 0x045f, 0x2116, 0x0401, 0x0451, 0x044f,
    +    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    +    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    +    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    +    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x00a4
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xca, 0x21, 0xa2, 0xa3, 0xff, 0x59, 0x7c, 0xa4,
    +    0x22, 0xa9, 0x61, 0xc7, 0xc2, 0x2d, 0xa8, 0xd1,
    +    0xa1, 0xb1, 0x32, 0x33, 0x27, 0xb5, 0xa6, 0x3f,
    +    0x2c, 0x31, 0x6f, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xd6,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xd1, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xa1, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0xd1, 0xd1, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xa1, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0x85, 0xdd, 0xab, 0xae, 0xb8, 0xc1, 0xa7, 0xba,
    +    0xb7, 0xbc, 0xbe, 0xcb, 0xcd, 0x88, 0xd8, 0xda,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xdf,
    +    0xe5, 0xde, 0xac, 0xaf, 0xb9, 0xcf, 0xb4, 0xbb,
    +    0xc0, 0xbd, 0xbf, 0xcc, 0xce, 0xe8, 0xd9, 0xdb,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x86, 0xe6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x80, 0xe0, 0x80, 0xe0, 0x3f, 0x3f, 0x85, 0xe5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x86, 0xe6, 0x87, 0xe7,
    +    0x3f, 0x3f, 0x88, 0xe8, 0x88, 0xe8, 0x8e, 0xee,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0xfd, 0x93, 0xf3,
    +    0x93, 0xf3, 0x93, 0xf3, 0x97, 0xf7, 0x3f, 0x3f,
    +    0x9b, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    +    0xd4, 0xd5, 0x2c, 0xd4, 0xd2, 0xd3, 0xd7, 0x3f,
    +    0xa0, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xd1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xdc, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0x4f, 0xc6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xa1, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xd7,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd1, 0xd1, 0xd1, 0xd1, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xc2, 0xd1, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_10007 =
    +{
    +    { 10007, 1, 0x003f, 0x003f, "Mac Cyrillic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_10029.c b/reactos/tools/unicode/c_10029.c
    similarity index 98%
    rename from reactos/lib/unicode/c_10029.c
    rename to reactos/tools/unicode/c_10029.c
    index da7809dfae6..6187575bd3a 100644
    --- a/reactos/lib/unicode/c_10029.c
    +++ b/reactos/tools/unicode/c_10029.c
    @@ -1,683 +1,683 @@
    -/* code page 10029 (Mac Latin 2) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c4, 0x0100, 0x0101, 0x00c9, 0x0104, 0x00d6, 0x00dc, 0x00e1,
    -    0x0105, 0x010c, 0x00e4, 0x010d, 0x0106, 0x0107, 0x00e9, 0x0179,
    -    0x017a, 0x010e, 0x00ed, 0x010f, 0x0112, 0x0113, 0x0116, 0x00f3,
    -    0x0117, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x011a, 0x011b, 0x00fc,
    -    0x2020, 0x00b0, 0x0118, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    -    0x00ae, 0x00a9, 0x2122, 0x0119, 0x00a8, 0x2260, 0x0123, 0x012e,
    -    0x012f, 0x012a, 0x2264, 0x2265, 0x012b, 0x0136, 0x2202, 0x2211,
    -    0x0142, 0x013b, 0x013c, 0x013d, 0x013e, 0x0139, 0x013a, 0x0145,
    -    0x0146, 0x0143, 0x00ac, 0x221a, 0x0144, 0x0147, 0x2206, 0x00ab,
    -    0x00bb, 0x2026, 0x00a0, 0x0148, 0x0150, 0x00d5, 0x0151, 0x014c,
    -    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    -    0x014d, 0x0154, 0x0155, 0x0158, 0x2039, 0x203a, 0x0159, 0x0156,
    -    0x0157, 0x0160, 0x201a, 0x201e, 0x0161, 0x015a, 0x015b, 0x00c1,
    -    0x0164, 0x0165, 0x00cd, 0x017d, 0x017e, 0x016a, 0x00d3, 0x00d4,
    -    0x016b, 0x016e, 0x00da, 0x016f, 0x0170, 0x0171, 0x0172, 0x0173,
    -    0x00dd, 0x00fd, 0x0137, 0x017b, 0x0141, 0x017c, 0x0122, 0x02c7
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xca, 0x21, 0x63, 0xa3, 0x3f, 0x59, 0x7c, 0xa4,
    -    0xac, 0xa9, 0x61, 0xc7, 0xc2, 0x2d, 0xa8, 0xd1,
    -    0xa1, 0x3f, 0x32, 0x33, 0x27, 0x75, 0xa6, 0x3f,
    -    0x2c, 0x31, 0x6f, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0xe7, 0x41, 0x41, 0x80, 0x41, 0x41, 0x43,
    -    0x45, 0x83, 0x45, 0x45, 0x49, 0xea, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0xee, 0xef, 0xcd, 0x85, 0x78,
    -    0x4f, 0x55, 0xf2, 0x55, 0x86, 0xf8, 0x3f, 0xa7,
    -    0x61, 0x87, 0x61, 0x61, 0x8a, 0x61, 0x61, 0x63,
    -    0x65, 0x8e, 0x65, 0x65, 0x69, 0x92, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    -    0x6f, 0x75, 0x9c, 0x75, 0x9f, 0xf9, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x81, 0x82, 0x41, 0x61, 0x84, 0x88, 0x8c, 0x8d,
    -    0x43, 0x63, 0x43, 0x63, 0x89, 0x8b, 0x91, 0x93,
    -    0x44, 0x64, 0x94, 0x95, 0x45, 0x65, 0x96, 0x98,
    -    0xa2, 0xab, 0x9d, 0x9e, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0xfe, 0xae, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0xb1, 0xb4, 0x49, 0x69, 0xaf, 0xb0,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xb5, 0xfa,
    -    0x3f, 0xbd, 0xbe, 0xb9, 0xba, 0xbb, 0xbc, 0x3f,
    -    0x3f, 0xfc, 0xb8, 0xc1, 0xc4, 0xbf, 0xc0, 0xc5,
    -    0xcb, 0x3f, 0x3f, 0x3f, 0xcf, 0xd8, 0x4f, 0x6f,
    -    0xcc, 0xce, 0x4f, 0x6f, 0xd9, 0xda, 0xdf, 0xe0,
    -    0xdb, 0xde, 0xe5, 0xe6, 0x53, 0x73, 0x53, 0x73,
    -    0xe1, 0xe4, 0x54, 0x74, 0xe8, 0xe9, 0x54, 0x74,
    -    0x55, 0x75, 0xed, 0xf0, 0x55, 0x75, 0xf1, 0xf3,
    -    0xf4, 0xf5, 0xf6, 0xf7, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x8f, 0x90, 0xfb, 0xfd, 0xeb, 0xec, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    -    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xff,
    -    0x27, 0xd1, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xa1, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0xd1, 0xd1, 0x3f, 0x3f,
    -    0xac, 0x3f, 0xa1, 0x22, 0xff, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0xac, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x94, 0x95, 0x94, 0x95,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    -    0xcf, 0xd8, 0xcf, 0xd8, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0xe5, 0xe6, 0xe1, 0xe4,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xed, 0xf0, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    -    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    -    0xa0, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,
    -    0x3f, 0xdc, 0xdd, 0x3f, 0x21, 0x3f, 0xd1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdc, 0x5e, 0xdd, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0x4f, 0xc6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb7, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xa1, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdc, 0xdd, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd1, 0xd1, 0xd1, 0xd1, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0xa3, 0xc2, 0xd1, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0xdc, 0x5e, 0xdd, 0xff, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_10029 =
    -{
    -    { 10029, 1, 0x003f, 0x003f, "Mac Latin 2" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 10029 (Mac Latin 2) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c4, 0x0100, 0x0101, 0x00c9, 0x0104, 0x00d6, 0x00dc, 0x00e1,
    +    0x0105, 0x010c, 0x00e4, 0x010d, 0x0106, 0x0107, 0x00e9, 0x0179,
    +    0x017a, 0x010e, 0x00ed, 0x010f, 0x0112, 0x0113, 0x0116, 0x00f3,
    +    0x0117, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x011a, 0x011b, 0x00fc,
    +    0x2020, 0x00b0, 0x0118, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    +    0x00ae, 0x00a9, 0x2122, 0x0119, 0x00a8, 0x2260, 0x0123, 0x012e,
    +    0x012f, 0x012a, 0x2264, 0x2265, 0x012b, 0x0136, 0x2202, 0x2211,
    +    0x0142, 0x013b, 0x013c, 0x013d, 0x013e, 0x0139, 0x013a, 0x0145,
    +    0x0146, 0x0143, 0x00ac, 0x221a, 0x0144, 0x0147, 0x2206, 0x00ab,
    +    0x00bb, 0x2026, 0x00a0, 0x0148, 0x0150, 0x00d5, 0x0151, 0x014c,
    +    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    +    0x014d, 0x0154, 0x0155, 0x0158, 0x2039, 0x203a, 0x0159, 0x0156,
    +    0x0157, 0x0160, 0x201a, 0x201e, 0x0161, 0x015a, 0x015b, 0x00c1,
    +    0x0164, 0x0165, 0x00cd, 0x017d, 0x017e, 0x016a, 0x00d3, 0x00d4,
    +    0x016b, 0x016e, 0x00da, 0x016f, 0x0170, 0x0171, 0x0172, 0x0173,
    +    0x00dd, 0x00fd, 0x0137, 0x017b, 0x0141, 0x017c, 0x0122, 0x02c7
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xca, 0x21, 0x63, 0xa3, 0x3f, 0x59, 0x7c, 0xa4,
    +    0xac, 0xa9, 0x61, 0xc7, 0xc2, 0x2d, 0xa8, 0xd1,
    +    0xa1, 0x3f, 0x32, 0x33, 0x27, 0x75, 0xa6, 0x3f,
    +    0x2c, 0x31, 0x6f, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0xe7, 0x41, 0x41, 0x80, 0x41, 0x41, 0x43,
    +    0x45, 0x83, 0x45, 0x45, 0x49, 0xea, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0xee, 0xef, 0xcd, 0x85, 0x78,
    +    0x4f, 0x55, 0xf2, 0x55, 0x86, 0xf8, 0x3f, 0xa7,
    +    0x61, 0x87, 0x61, 0x61, 0x8a, 0x61, 0x61, 0x63,
    +    0x65, 0x8e, 0x65, 0x65, 0x69, 0x92, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    +    0x6f, 0x75, 0x9c, 0x75, 0x9f, 0xf9, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x81, 0x82, 0x41, 0x61, 0x84, 0x88, 0x8c, 0x8d,
    +    0x43, 0x63, 0x43, 0x63, 0x89, 0x8b, 0x91, 0x93,
    +    0x44, 0x64, 0x94, 0x95, 0x45, 0x65, 0x96, 0x98,
    +    0xa2, 0xab, 0x9d, 0x9e, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0xfe, 0xae, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0xb1, 0xb4, 0x49, 0x69, 0xaf, 0xb0,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xb5, 0xfa,
    +    0x3f, 0xbd, 0xbe, 0xb9, 0xba, 0xbb, 0xbc, 0x3f,
    +    0x3f, 0xfc, 0xb8, 0xc1, 0xc4, 0xbf, 0xc0, 0xc5,
    +    0xcb, 0x3f, 0x3f, 0x3f, 0xcf, 0xd8, 0x4f, 0x6f,
    +    0xcc, 0xce, 0x4f, 0x6f, 0xd9, 0xda, 0xdf, 0xe0,
    +    0xdb, 0xde, 0xe5, 0xe6, 0x53, 0x73, 0x53, 0x73,
    +    0xe1, 0xe4, 0x54, 0x74, 0xe8, 0xe9, 0x54, 0x74,
    +    0x55, 0x75, 0xed, 0xf0, 0x55, 0x75, 0xf1, 0xf3,
    +    0xf4, 0xf5, 0xf6, 0xf7, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x8f, 0x90, 0xfb, 0xfd, 0xeb, 0xec, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    +    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xff,
    +    0x27, 0xd1, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xa1, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0xd1, 0xd1, 0x3f, 0x3f,
    +    0xac, 0x3f, 0xa1, 0x22, 0xff, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0xac, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x94, 0x95, 0x94, 0x95,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    +    0xcf, 0xd8, 0xcf, 0xd8, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0xe5, 0xe6, 0xe1, 0xe4,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xed, 0xf0, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    +    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    +    0xa0, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,
    +    0x3f, 0xdc, 0xdd, 0x3f, 0x21, 0x3f, 0xd1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdc, 0x5e, 0xdd, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0x4f, 0xc6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb7, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xa1, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdc, 0xdd, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd1, 0xd1, 0xd1, 0xd1, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0xa3, 0xc2, 0xd1, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0xdc, 0x5e, 0xdd, 0xff, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_10029 =
    +{
    +    { 10029, 1, 0x003f, 0x003f, "Mac Latin 2" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1006.c b/reactos/tools/unicode/c_1006.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1006.c
    rename to reactos/tools/unicode/c_1006.c
    index e4e97236a29..cd980134171 100644
    --- a/reactos/lib/unicode/c_1006.c
    +++ b/reactos/tools/unicode/c_1006.c
    @@ -1,716 +1,716 @@
    -/* code page 1006 (IBM Arabic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP1006.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, 0x06f5, 0x06f6,
    -    0x06f7, 0x06f8, 0x06f9, 0x060c, 0x061b, 0x00ad, 0x061f, 0xfe81,
    -    0xfe8d, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe91, 0xfb56, 0xfb58, 0xfe93,
    -    0xfe95, 0xfe97, 0xfb66, 0xfb68, 0xfe99, 0xfe9b, 0xfe9d, 0xfe9f,
    -    0xfb7a, 0xfb7c, 0xfea1, 0xfea3, 0xfea5, 0xfea7, 0xfea9, 0xfb84,
    -    0xfeab, 0xfead, 0xfb8c, 0xfeaf, 0xfb8a, 0xfeb1, 0xfeb3, 0xfeb5,
    -    0xfeb7, 0xfeb9, 0xfebb, 0xfebd, 0xfebf, 0xfec1, 0xfec5, 0xfec9,
    -    0xfeca, 0xfecb, 0xfecc, 0xfecd, 0xfece, 0xfecf, 0xfed0, 0xfed1,
    -    0xfed3, 0xfed5, 0xfed7, 0xfed9, 0xfedb, 0xfb92, 0xfb94, 0xfedd,
    -    0xfedf, 0xfee0, 0xfee1, 0xfee3, 0xfb9e, 0xfee5, 0xfee7, 0xfe85,
    -    0xfeed, 0xfba6, 0xfba8, 0xfba9, 0xfbaa, 0xfe80, 0xfe89, 0xfe8a,
    -    0xfe8b, 0xfef1, 0xfef2, 0xfef3, 0xfbb0, 0xfbae, 0xfe7c, 0xfe7d
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    -    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    -    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0600 .. 0x06ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0xae,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,
    -    0xa9, 0xaa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f,
    -    0xb6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xba, 0x3f,
    -    0xbb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xc0, 0x3f, 0xc1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xcc, 0x3f, 0xca, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xe5, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xec, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf1, 0x3f,
    -    0xf2, 0xf3, 0xf4, 0x3f, 0x3f, 0x3f, 0xfd, 0x3f,
    -    0xfc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xfe, 0xff, 0x3f, 0x3f,
    -    0xf5, 0xaf, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    -    0x3f, 0xf6, 0xf7, 0xf8, 0x3f, 0xb0, 0xb1, 0xb3,
    -    0x3f, 0xb4, 0x3f, 0xb7, 0x3f, 0xb8, 0x3f, 0xb9,
    -    0x3f, 0xbc, 0x3f, 0xbd, 0x3f, 0xbe, 0x3f, 0xbf,
    -    0x3f, 0xc2, 0x3f, 0xc3, 0x3f, 0xc4, 0x3f, 0xc5,
    -    0x3f, 0xc6, 0x3f, 0xc8, 0x3f, 0xc9, 0x3f, 0xcb,
    -    0x3f, 0xcd, 0x3f, 0xce, 0x3f, 0xcf, 0x3f, 0xd0,
    -    0x3f, 0xd1, 0x3f, 0xd2, 0x3f, 0xd3, 0x3f, 0xd4,
    -    0x3f, 0xd5, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,
    -    0x3f, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
    -    0xde, 0xdf, 0x3f, 0xe0, 0x3f, 0xe1, 0x3f, 0xe2,
    -    0x3f, 0xe3, 0x3f, 0xe4, 0x3f, 0xe7, 0x3f, 0xe8,
    -    0xe9, 0xea, 0x3f, 0xeb, 0x3f, 0xed, 0x3f, 0xee,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf0, 0x3f, 0x3f,
    -    0x3f, 0xf9, 0xfa, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_1006 =
    -{
    -    { 1006, 1, 0x003f, 0x003f, "IBM Arabic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1006 (IBM Arabic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP1006.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, 0x06f5, 0x06f6,
    +    0x06f7, 0x06f8, 0x06f9, 0x060c, 0x061b, 0x00ad, 0x061f, 0xfe81,
    +    0xfe8d, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe91, 0xfb56, 0xfb58, 0xfe93,
    +    0xfe95, 0xfe97, 0xfb66, 0xfb68, 0xfe99, 0xfe9b, 0xfe9d, 0xfe9f,
    +    0xfb7a, 0xfb7c, 0xfea1, 0xfea3, 0xfea5, 0xfea7, 0xfea9, 0xfb84,
    +    0xfeab, 0xfead, 0xfb8c, 0xfeaf, 0xfb8a, 0xfeb1, 0xfeb3, 0xfeb5,
    +    0xfeb7, 0xfeb9, 0xfebb, 0xfebd, 0xfebf, 0xfec1, 0xfec5, 0xfec9,
    +    0xfeca, 0xfecb, 0xfecc, 0xfecd, 0xfece, 0xfecf, 0xfed0, 0xfed1,
    +    0xfed3, 0xfed5, 0xfed7, 0xfed9, 0xfedb, 0xfb92, 0xfb94, 0xfedd,
    +    0xfedf, 0xfee0, 0xfee1, 0xfee3, 0xfb9e, 0xfee5, 0xfee7, 0xfe85,
    +    0xfeed, 0xfba6, 0xfba8, 0xfba9, 0xfbaa, 0xfe80, 0xfe89, 0xfe8a,
    +    0xfe8b, 0xfef1, 0xfef2, 0xfef3, 0xfbb0, 0xfbae, 0xfe7c, 0xfe7d
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    +    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0600 .. 0x06ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0xae,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,
    +    0xa9, 0xaa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f,
    +    0xb6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xba, 0x3f,
    +    0xbb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xc0, 0x3f, 0xc1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xcc, 0x3f, 0xca, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xe5, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xec, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf1, 0x3f,
    +    0xf2, 0xf3, 0xf4, 0x3f, 0x3f, 0x3f, 0xfd, 0x3f,
    +    0xfc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xfe, 0xff, 0x3f, 0x3f,
    +    0xf5, 0xaf, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    +    0x3f, 0xf6, 0xf7, 0xf8, 0x3f, 0xb0, 0xb1, 0xb3,
    +    0x3f, 0xb4, 0x3f, 0xb7, 0x3f, 0xb8, 0x3f, 0xb9,
    +    0x3f, 0xbc, 0x3f, 0xbd, 0x3f, 0xbe, 0x3f, 0xbf,
    +    0x3f, 0xc2, 0x3f, 0xc3, 0x3f, 0xc4, 0x3f, 0xc5,
    +    0x3f, 0xc6, 0x3f, 0xc8, 0x3f, 0xc9, 0x3f, 0xcb,
    +    0x3f, 0xcd, 0x3f, 0xce, 0x3f, 0xcf, 0x3f, 0xd0,
    +    0x3f, 0xd1, 0x3f, 0xd2, 0x3f, 0xd3, 0x3f, 0xd4,
    +    0x3f, 0xd5, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,
    +    0x3f, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,
    +    0xde, 0xdf, 0x3f, 0xe0, 0x3f, 0xe1, 0x3f, 0xe2,
    +    0x3f, 0xe3, 0x3f, 0xe4, 0x3f, 0xe7, 0x3f, 0xe8,
    +    0xe9, 0xea, 0x3f, 0xeb, 0x3f, 0xed, 0x3f, 0xee,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf0, 0x3f, 0x3f,
    +    0x3f, 0xf9, 0xfa, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_1006 =
    +{
    +    { 1006, 1, 0x003f, 0x003f, "IBM Arabic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_10079.c b/reactos/tools/unicode/c_10079.c
    similarity index 98%
    rename from reactos/lib/unicode/c_10079.c
    rename to reactos/tools/unicode/c_10079.c
    index cf4fcd3a18a..6f6631c82f1 100644
    --- a/reactos/lib/unicode/c_10079.c
    +++ b/reactos/tools/unicode/c_10079.c
    @@ -1,683 +1,683 @@
    -/* code page 10079 (Mac Icelandic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
    -    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
    -    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
    -    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
    -    0x00dd, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    -    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,
    -    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,
    -    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,
    -    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    -    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,
    -    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    -    0x00ff, 0x0178, 0x2044, 0x00a4, 0x00d0, 0x00f0, 0x00de, 0x00fe,
    -    0x00fd, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,
    -    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
    -    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,
    -    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0x7c, 0xa4,
    -    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,
    -    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,
    -    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,
    -    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,
    -    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,
    -    0xdc, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,
    -    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0xa0, 0xde, 0xa7,
    -    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,
    -    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,
    -    0xdd, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    -    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xe0, 0xdf, 0xd8,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0xdc, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0xf5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xdc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    -    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    -    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,
    -    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,
    -    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xae, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,
    -    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,
    -    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    -    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    -    0x3f, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xda, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0xf6, 0x3e, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0xda, 0x5c, 0x2a,
    -    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xc2, 0xf8, 0x7c, 0xb4, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0xf6, 0x3e, 0xff, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_10079 =
    -{
    -    { 10079, 1, 0x003f, 0x003f, "Mac Icelandic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 10079 (Mac Icelandic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
    +    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
    +    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
    +    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
    +    0x00dd, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    +    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,
    +    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,
    +    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,
    +    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    +    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,
    +    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    +    0x00ff, 0x0178, 0x2044, 0x00a4, 0x00d0, 0x00f0, 0x00de, 0x00fe,
    +    0x00fd, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,
    +    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
    +    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,
    +    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0x7c, 0xa4,
    +    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,
    +    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,
    +    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,
    +    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,
    +    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,
    +    0xdc, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,
    +    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0xa0, 0xde, 0xa7,
    +    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,
    +    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,
    +    0xdd, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    +    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xe0, 0xdf, 0xd8,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0xdc, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0xf5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xdc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    +    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    +    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,
    +    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,
    +    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xae, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,
    +    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,
    +    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    +    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    +    0x3f, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xda, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0xf6, 0x3e, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0xda, 0x5c, 0x2a,
    +    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xc2, 0xf8, 0x7c, 0xb4, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0xf6, 0x3e, 0xff, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_10079 =
    +{
    +    { 10079, 1, 0x003f, 0x003f, "Mac Icelandic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_10081.c b/reactos/tools/unicode/c_10081.c
    similarity index 98%
    rename from reactos/lib/unicode/c_10081.c
    rename to reactos/tools/unicode/c_10081.c
    index 5183b3450c9..313593eb380 100644
    --- a/reactos/lib/unicode/c_10081.c
    +++ b/reactos/tools/unicode/c_10081.c
    @@ -1,683 +1,683 @@
    -/* code page 10081 (Mac Turkish) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
    -    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
    -    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
    -    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
    -    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    -    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,
    -    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,
    -    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,
    -    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    -    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,
    -    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    -    0x00ff, 0x0178, 0x011e, 0x011f, 0x0130, 0x0131, 0x015e, 0x015f,
    -    0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,
    -    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
    -    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x003f, 0x02c6, 0x02dc,
    -    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xca, 0xc1, 0xa2, 0xa3, 0x3f, 0xb4, 0x7c, 0xa4,
    -    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,
    -    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,
    -    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,
    -    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,
    -    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,
    -    0x44, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,
    -    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0x59, 0x3f, 0xa7,
    -    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,
    -    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,
    -    0x64, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    -    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0x79, 0x3f, 0xd8,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xda, 0xdb,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0xdc, 0xdd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xdf,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    -    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    -    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,
    -    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,
    -    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xae, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,
    -    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,
    -    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    -    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    -    0xa0, 0xe0, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0xf6, 0x3e, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xc2, 0xf8, 0x7c, 0xb4, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0xf6, 0x3e, 0xff, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_10081 =
    -{
    -    { 10081, 1, 0x003f, 0x003f, "Mac Turkish" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 10081 (Mac Turkish) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
    +    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
    +    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,
    +    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,
    +    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,
    +    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,
    +    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,
    +    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,
    +    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,
    +    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,
    +    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,
    +    0x00ff, 0x0178, 0x011e, 0x011f, 0x0130, 0x0131, 0x015e, 0x015f,
    +    0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,
    +    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,
    +    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x003f, 0x02c6, 0x02dc,
    +    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xca, 0xc1, 0xa2, 0xa3, 0x3f, 0xb4, 0x7c, 0xa4,
    +    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,
    +    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,
    +    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,
    +    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,
    +    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,
    +    0x44, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,
    +    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0x59, 0x3f, 0xa7,
    +    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,
    +    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,
    +    0x64, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,
    +    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0x79, 0x3f, 0xd8,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xda, 0xdb,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0xdc, 0xdd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xdf,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,
    +    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,
    +    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,
    +    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,
    +    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xae, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xa7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xa7, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,
    +    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,
    +    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,
    +    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,
    +    0xa0, 0xe0, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0xf6, 0x3e, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xc2, 0xf8, 0x7c, 0xb4, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0xf6, 0x3e, 0xff, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_10081 =
    +{
    +    { 10081, 1, 0x003f, 0x003f, "Mac Turkish" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1026.c b/reactos/tools/unicode/c_1026.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1026.c
    rename to reactos/tools/unicode/c_1026.c
    index 9b7db85fa07..ec09c7a93cc 100644
    --- a/reactos/lib/unicode/c_1026.c
    +++ b/reactos/tools/unicode/c_1026.c
    @@ -1,683 +1,683 @@
    -/* code page 1026 (IBM EBCDIC Latin 5 Turkish) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[256] =
    -{
    -    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    -    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    -    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    -    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    -    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    -    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,
    -    0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,
    -    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,
    -    0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e,
    -    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,
    -    0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    -    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,
    -    0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc,
    -    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    -    0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1,
    -    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    -    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,
    -    0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    -    0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae,
    -    0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    -    0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    -    0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    -    0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5,
    -    0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    -    0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff,
    -    0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    -    0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    -    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    -    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x40, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d,
    -    0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x07,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    -    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    -    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    -    0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x8e, 0xb5,
    -    0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc,
    -    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    -    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,
    -    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x4a,
    -    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
    -    0xc4, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7b, 0xbf,
    -    0x80, 0xfd, 0xfe, 0xfb, 0x7f, 0xe8, 0x3f, 0x59,
    -    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xc0,
    -    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
    -    0x84, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1,
    -    0x70, 0xdd, 0xde, 0xdb, 0xe0, 0xa8, 0x3f, 0xdf,
    -    /* 0x0100 .. 0x01ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    -    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0x5a, 0xd0,
    -    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    -    0x5b, 0x79, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    -    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    -    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    -    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    -    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0x7c, 0x6a,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    -    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    -    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    -    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    -    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xbb, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    -    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0x7f, 0xe0, 0x7f,
    -    0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0x3f, 0x63, 0x43,
    -    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,
    -    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    -    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    -    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,
    -    /* 0x0200 .. 0x02ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    -    0xc5, 0x85, 0x7b, 0xa1, 0xef, 0xcf, 0xd6, 0x96,
    -    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    -    0xa8, 0xbe, 0xfc, 0x8d, 0x7d, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,
    -    0x7d, 0xbc, 0xbe, 0x8d, 0x3f, 0x6d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x90, 0x3f, 0xcc, 0xfc, 0x3f, 0x3f,
    -    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x8d, 0xbe, 0x5f, 0xcc, 0xbc, 0xbc, 0x3f, 0x3f,
    -    0xbd, 0x3f, 0x90, 0xfc, 0xa5, 0x3f, 0xfc, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8d, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    -    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    -    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    -    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    -    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    -    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x9e, 0xc2, 0x3f,
    -    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    -    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    -    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    -    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    -    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    -    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x59, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x59, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    -    0x4a, 0xc0, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    -    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,
    -    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    -    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    -    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    -    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    -    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    -    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    -    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    -    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    -    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    -    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,
    -    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,
    -    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    -    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x8d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    -    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,
    -    0x8d, 0x7d, 0x6b, 0x8d, 0xfc, 0xfc, 0x6b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0xbe, 0xfc, 0x3f, 0x8d, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xbc, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    -    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    -    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    -    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    -    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,
    -    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    -    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    -    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0xbb, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xdc, 0x5c,
    -    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    -    0x3f, 0x3f, 0x3f, 0xbb, 0xbb, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xcc, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xcc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xcc, 0xcc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    -    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    -    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    -    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    -    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    -    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    -    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x60, 0x60, 0xbb, 0xbb, 0x60, 0x60, 0x8e, 0x8e,
    -    0x60, 0x60, 0x8e, 0x8e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0xba, 0xba, 0xba, 0xba, 0xd3, 0xd3, 0xd3, 0xd3,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    -    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x8e, 0x8e,
    -    0x7e, 0xbb, 0x4e, 0x4e, 0x4e, 0xba, 0xba, 0xba,
    -    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x61, 0xdc, 0xe7, 0x60, 0xbb, 0x60, 0xbb,
    -    0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x68, 0xac, 0x3f, 0xfc, 0xfc, 0x6b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    -    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,
    -    0x60, 0x4d, 0x5d, 0x48, 0x8c, 0x3f, 0x3f, 0xec,
    -    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    -    0xdc, 0xad, 0x6c, 0xae, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d,
    -    0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0xb1, 0xba, 0xbc, 0x8e, 0xb2, 0x3f, 0x3f,
    -    0xbb, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_1026 =
    -{
    -    { 1026, 1, 0x003f, 0x003f, "IBM EBCDIC Latin 5 Turkish" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1026 (IBM EBCDIC Latin 5 Turkish) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[256] =
    +{
    +    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    +    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    +    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    +    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    +    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    +    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,
    +    0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,
    +    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,
    +    0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e,
    +    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,
    +    0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    +    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,
    +    0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc,
    +    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    +    0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1,
    +    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    +    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,
    +    0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    +    0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae,
    +    0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    +    0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    +    0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    +    0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5,
    +    0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    +    0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff,
    +    0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    +    0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    +    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    +    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x40, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d,
    +    0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x07,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    +    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    +    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    +    0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x8e, 0xb5,
    +    0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc,
    +    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    +    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,
    +    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x4a,
    +    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
    +    0xc4, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7b, 0xbf,
    +    0x80, 0xfd, 0xfe, 0xfb, 0x7f, 0xe8, 0x3f, 0x59,
    +    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xc0,
    +    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
    +    0x84, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1,
    +    0x70, 0xdd, 0xde, 0xdb, 0xe0, 0xa8, 0x3f, 0xdf,
    +    /* 0x0100 .. 0x01ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    +    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0x5a, 0xd0,
    +    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    +    0x5b, 0x79, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    +    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    +    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    +    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    +    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0x7c, 0x6a,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    +    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    +    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    +    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    +    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xbb, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    +    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0x7f, 0xe0, 0x7f,
    +    0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0x3f, 0x63, 0x43,
    +    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,
    +    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    +    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    +    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,
    +    /* 0x0200 .. 0x02ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    +    0xc5, 0x85, 0x7b, 0xa1, 0xef, 0xcf, 0xd6, 0x96,
    +    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    +    0xa8, 0xbe, 0xfc, 0x8d, 0x7d, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,
    +    0x7d, 0xbc, 0xbe, 0x8d, 0x3f, 0x6d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x90, 0x3f, 0xcc, 0xfc, 0x3f, 0x3f,
    +    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x8d, 0xbe, 0x5f, 0xcc, 0xbc, 0xbc, 0x3f, 0x3f,
    +    0xbd, 0x3f, 0x90, 0xfc, 0xa5, 0x3f, 0xfc, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8d, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    +    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    +    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    +    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    +    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    +    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x9e, 0xc2, 0x3f,
    +    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    +    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    +    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    +    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    +    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    +    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x59, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x59, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    +    0x4a, 0xc0, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    +    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,
    +    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    +    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    +    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    +    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    +    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    +    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    +    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    +    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    +    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    +    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,
    +    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,
    +    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    +    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x8d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    +    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,
    +    0x8d, 0x7d, 0x6b, 0x8d, 0xfc, 0xfc, 0x6b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0xbe, 0xfc, 0x3f, 0x8d, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xbc, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    +    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    +    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    +    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    +    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,
    +    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    +    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    +    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0xbb, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xdc, 0x5c,
    +    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    +    0x3f, 0x3f, 0x3f, 0xbb, 0xbb, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xcc, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xcc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xcc, 0xcc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    +    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    +    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    +    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    +    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    +    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x60, 0x60, 0xbb, 0xbb, 0x60, 0x60, 0x8e, 0x8e,
    +    0x60, 0x60, 0x8e, 0x8e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0xba, 0xba, 0xba, 0xba, 0xd3, 0xd3, 0xd3, 0xd3,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    +    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x8e, 0x8e,
    +    0x7e, 0xbb, 0x4e, 0x4e, 0x4e, 0xba, 0xba, 0xba,
    +    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x61, 0xdc, 0xe7, 0x60, 0xbb, 0x60, 0xbb,
    +    0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x68, 0xac, 0x3f, 0xfc, 0xfc, 0x6b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    +    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,
    +    0x60, 0x4d, 0x5d, 0x48, 0x8c, 0x3f, 0x3f, 0xec,
    +    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    +    0xdc, 0xad, 0x6c, 0xae, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d,
    +    0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0xb1, 0xba, 0xbc, 0x8e, 0xb2, 0x3f, 0x3f,
    +    0xbb, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_1026 =
    +{
    +    { 1026, 1, 0x003f, 0x003f, "IBM EBCDIC Latin 5 Turkish" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1250.c b/reactos/tools/unicode/c_1250.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1250.c
    rename to reactos/tools/unicode/c_1250.c
    index 12738e1ff2a..3e4160c2f7c 100644
    --- a/reactos/lib/unicode/c_1250.c
    +++ b/reactos/tools/unicode/c_1250.c
    @@ -1,683 +1,683 @@
    -/* code page 1250 (ANSI Eastern Europe) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x201a, 0x0083, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x0088, 0x2030, 0x0160, 0x2039, 0x015a, 0x0164, 0x017d, 0x0179,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x0098, 0x2122, 0x0161, 0x203a, 0x015b, 0x0165, 0x017e, 0x017a,
    -    0x00a0, 0x02c7, 0x02d8, 0x0141, 0x00a4, 0x0104, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x015e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x017b,
    -    0x00b0, 0x00b1, 0x02db, 0x0142, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x0105, 0x015f, 0x00bb, 0x013d, 0x02dd, 0x013e, 0x017c,
    -    0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,
    -    0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,
    -    0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,
    -    0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,
    -    0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,
    -    0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
    -    0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
    -    0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x3f, 0x83, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,
    -    0xb0, 0xb1, 0x32, 0x33, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,
    -    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,
    -    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    -    0x4f, 0x55, 0xda, 0x55, 0xdc, 0xdd, 0x3f, 0xdf,
    -    0x61, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,
    -    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,
    -    0x64, 0x6e, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    -    0x6f, 0x75, 0xfa, 0x75, 0xfc, 0xfd, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0xc3, 0xe3, 0xa5, 0xb9, 0xc6, 0xe6,
    -    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0xcf, 0xef,
    -    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0xca, 0xea, 0xcc, 0xec, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0xc5, 0xe5, 0x4c, 0x6c, 0xbc, 0xbe, 0x3f,
    -    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0xd2,
    -    0xf2, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd5, 0xf5, 0x4f, 0x6f, 0xc0, 0xe0, 0x52, 0x72,
    -    0xd8, 0xf8, 0x8c, 0x9c, 0x53, 0x73, 0xaa, 0xba,
    -    0x8a, 0x9a, 0xde, 0xfe, 0x8d, 0x9d, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xd9, 0xf9,
    -    0xdb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x8f, 0x9f, 0xaf, 0xbf, 0x8e, 0x9e, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0xbd, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xa1,
    -    0x27, 0x97, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xff, 0xb0, 0xb2, 0x7e, 0xbd, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0x97, 0x97, 0xa2, 0xff,
    -    0xa8, 0x3f, 0xb0, 0xbd, 0xa1, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x8c, 0x9c, 0x8a, 0x9a,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    -    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0xb4, 0xbd, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x5e, 0x9b, 0xa1, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0xac, 0x97, 0xa6, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x5e, 0x9b, 0xa1, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_1250 =
    -{
    -    { 1250, 1, 0x003f, 0x003f, "ANSI Eastern Europe" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1250 (ANSI Eastern Europe) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x201a, 0x0083, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x0088, 0x2030, 0x0160, 0x2039, 0x015a, 0x0164, 0x017d, 0x0179,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x0098, 0x2122, 0x0161, 0x203a, 0x015b, 0x0165, 0x017e, 0x017a,
    +    0x00a0, 0x02c7, 0x02d8, 0x0141, 0x00a4, 0x0104, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x015e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x017b,
    +    0x00b0, 0x00b1, 0x02db, 0x0142, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x0105, 0x015f, 0x00bb, 0x013d, 0x02dd, 0x013e, 0x017c,
    +    0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,
    +    0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,
    +    0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,
    +    0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,
    +    0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,
    +    0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
    +    0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
    +    0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x3f, 0x83, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,
    +    0xb0, 0xb1, 0x32, 0x33, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,
    +    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,
    +    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    +    0x4f, 0x55, 0xda, 0x55, 0xdc, 0xdd, 0x3f, 0xdf,
    +    0x61, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,
    +    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,
    +    0x64, 0x6e, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    +    0x6f, 0x75, 0xfa, 0x75, 0xfc, 0xfd, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0xc3, 0xe3, 0xa5, 0xb9, 0xc6, 0xe6,
    +    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0xcf, 0xef,
    +    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0xca, 0xea, 0xcc, 0xec, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0xc5, 0xe5, 0x4c, 0x6c, 0xbc, 0xbe, 0x3f,
    +    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0xd2,
    +    0xf2, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd5, 0xf5, 0x4f, 0x6f, 0xc0, 0xe0, 0x52, 0x72,
    +    0xd8, 0xf8, 0x8c, 0x9c, 0x53, 0x73, 0xaa, 0xba,
    +    0x8a, 0x9a, 0xde, 0xfe, 0x8d, 0x9d, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xd9, 0xf9,
    +    0xdb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x8f, 0x9f, 0xaf, 0xbf, 0x8e, 0x9e, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0xbd, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xa1,
    +    0x27, 0x97, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xff, 0xb0, 0xb2, 0x7e, 0xbd, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0x97, 0x97, 0xa2, 0xff,
    +    0xa8, 0x3f, 0xb0, 0xbd, 0xa1, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x8c, 0x9c, 0x8a, 0x9a,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    +    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0xb4, 0xbd, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x5e, 0x9b, 0xa1, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0xac, 0x97, 0xa6, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x5e, 0x9b, 0xa1, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_1250 =
    +{
    +    { 1250, 1, 0x003f, 0x003f, "ANSI Eastern Europe" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1251.c b/reactos/tools/unicode/c_1251.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1251.c
    rename to reactos/tools/unicode/c_1251.c
    index 345c11d3cf0..3a644f4def1 100644
    --- a/reactos/lib/unicode/c_1251.c
    +++ b/reactos/tools/unicode/c_1251.c
    @@ -1,716 +1,716 @@
    -/* code page 1251 (ANSI Cyrillic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f,
    -    0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x0098, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f,
    -    0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7,
    -    0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407,
    -    0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7,
    -    0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457,
    -    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    -    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    -    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    -    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    -    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    -    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    -    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    -    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0xa6, 0xa7,
    -    0x22, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,
    -    0xb0, 0xb1, 0x32, 0x33, 0x27, 0xb5, 0xb6, 0xb7,
    -    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0400 .. 0x04ff */
    -    0xc5, 0xa8, 0x80, 0x81, 0xaa, 0xbd, 0xb2, 0xaf,
    -    0xa3, 0x8a, 0x8c, 0x8e, 0x8d, 0xc8, 0xa1, 0x8f,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    -    0xe5, 0xb8, 0x90, 0x83, 0xba, 0xbe, 0xb3, 0xbf,
    -    0xbc, 0x9a, 0x9c, 0x9e, 0x9d, 0xe8, 0xa2, 0x9f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa5, 0xb4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xc6, 0xe6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc0, 0xe0, 0xc0, 0xe0, 0x3f, 0x3f, 0xc5, 0xe5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xc6, 0xe6, 0xc7, 0xe7,
    -    0x3f, 0x3f, 0xc8, 0xe8, 0xc8, 0xe8, 0xce, 0xee,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xdd, 0xfd, 0xd3, 0xf3,
    -    0xd3, 0xf3, 0xd3, 0xf3, 0xd7, 0xf7, 0x3f, 0x3f,
    -    0xdb, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x88, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xb9, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x5e, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0xac, 0x97, 0xa6, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x5e, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_1251 =
    -{
    -    { 1251, 1, 0x003f, 0x003f, "ANSI Cyrillic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1251 (ANSI Cyrillic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f,
    +    0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x0098, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f,
    +    0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7,
    +    0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407,
    +    0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7,
    +    0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457,
    +    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    +    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    +    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    +    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    +    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    +    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    +    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    +    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0xa6, 0xa7,
    +    0x22, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,
    +    0xb0, 0xb1, 0x32, 0x33, 0x27, 0xb5, 0xb6, 0xb7,
    +    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0xc5, 0xa8, 0x80, 0x81, 0xaa, 0xbd, 0xb2, 0xaf,
    +    0xa3, 0x8a, 0x8c, 0x8e, 0x8d, 0xc8, 0xa1, 0x8f,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    +    0xe5, 0xb8, 0x90, 0x83, 0xba, 0xbe, 0xb3, 0xbf,
    +    0xbc, 0x9a, 0x9c, 0x9e, 0x9d, 0xe8, 0xa2, 0x9f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa5, 0xb4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xc6, 0xe6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc0, 0xe0, 0xc0, 0xe0, 0x3f, 0x3f, 0xc5, 0xe5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xc6, 0xe6, 0xc7, 0xe7,
    +    0x3f, 0x3f, 0xc8, 0xe8, 0xc8, 0xe8, 0xce, 0xee,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xdd, 0xfd, 0xd3, 0xf3,
    +    0xd3, 0xf3, 0xd3, 0xf3, 0xd7, 0xf7, 0x3f, 0x3f,
    +    0xdb, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x88, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xb9, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x5e, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0xac, 0x97, 0xa6, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x5e, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_1251 =
    +{
    +    { 1251, 1, 0x003f, 0x003f, "ANSI Cyrillic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1252.c b/reactos/tools/unicode/c_1252.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1252.c
    rename to reactos/tools/unicode/c_1252.c
    index b78ddd367b2..2e3f99ee053 100644
    --- a/reactos/lib/unicode/c_1252.c
    +++ b/reactos/tools/unicode/c_1252.c
    @@ -1,683 +1,683 @@
    -/* code page 1252 (ANSI Latin 1) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008d, 0x017d, 0x008f,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x009d, 0x017e, 0x0178,
    -    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    -    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x3f, 0x8f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x8a, 0x9a, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x8e, 0x9e, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x8a, 0x9a,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_1252 =
    -{
    -    { 1252, 1, 0x003f, 0x003f, "ANSI Latin 1" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1252 (ANSI Latin 1) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008d, 0x017d, 0x008f,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x009d, 0x017e, 0x0178,
    +    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    +    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x3f, 0x8f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x8a, 0x9a, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x8e, 0x9e, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x8a, 0x9a,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_1252 =
    +{
    +    { 1252, 1, 0x003f, 0x003f, "ANSI Latin 1" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1253.c b/reactos/tools/unicode/c_1253.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1253.c
    rename to reactos/tools/unicode/c_1253.c
    index acc5640083a..a4056a9d9b1 100644
    --- a/reactos/lib/unicode/c_1253.c
    +++ b/reactos/tools/unicode/c_1253.c
    @@ -1,683 +1,683 @@
    -/* code page 1253 (ANSI Greek) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x0088, 0x2030, 0x008a, 0x2039, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x0098, 0x2122, 0x009a, 0x203a, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0385, 0x0386, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x003f, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x2015,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x00b5, 0x00b6, 0x00b7,
    -    0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,
    -    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    -    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    -    0x03a0, 0x03a1, 0x003f, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
    -    0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,
    -    0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    -    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    -    0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
    -    0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x8a, 0x3f, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x3f, 0x9a, 0x3f, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,
    -    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0xbd, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe2,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa1, 0xa2, 0xb7,
    -    0xb8, 0xb9, 0xba, 0x3f, 0xbc, 0x3f, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0x3f, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x3f,
    -    0xe2, 0xe8, 0xd5, 0xd5, 0xd5, 0xf6, 0xf0, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xf1, 0xf2, 0x3f, 0xc8, 0xe5, 0x3f, 0x3f,
    -    0x3f, 0xd3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe2, 0xe3, 0xe4,
    -    0xf6, 0xf7, 0x69, 0x72, 0x75, 0x76, 0xe2, 0xe3,
    -    0xf1, 0xf6, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    -    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    -    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    -    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,
    -    0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x3f, 0x3f,
    -    0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
    -    0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5,
    -    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    -    0xe1, 0xdc, 0xe5, 0xdd, 0xe7, 0xde, 0xe9, 0xdf,
    -    0xef, 0xfc, 0xf5, 0xfd, 0xf9, 0xfe, 0x3f, 0x3f,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    -    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    -    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xdc, 0x3f, 0xe1, 0xe1,
    -    0xc1, 0xc1, 0xc1, 0xa2, 0xc1, 0x3f, 0xe9, 0x3f,
    -    0x3f, 0xa8, 0xe7, 0xe7, 0xde, 0x3f, 0xe7, 0xe7,
    -    0xc5, 0xb8, 0xc7, 0xb9, 0xc7, 0x3f, 0x3f, 0x3f,
    -    0xe9, 0xe9, 0xfa, 0xc0, 0x3f, 0x3f, 0xe9, 0xfa,
    -    0xc9, 0xc9, 0xc9, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf5, 0xf5, 0xfb, 0xe0, 0xf1, 0xf1, 0xf5, 0xfb,
    -    0xd5, 0xd5, 0xd5, 0xbe, 0xd1, 0xa8, 0xa1, 0x60,
    -    0x3f, 0x3f, 0xf9, 0xf9, 0xfe, 0x3f, 0xf9, 0xf9,
    -    0xcf, 0xbc, 0xd9, 0xbf, 0xd9, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0xaf, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0xd9, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe3, 0xc3, 0xd0,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x5e, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0xa3, 0xac, 0x97, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x5e, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_1253 =
    -{
    -    { 1253, 1, 0x003f, 0x003f, "ANSI Greek" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1253 (ANSI Greek) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x0088, 0x2030, 0x008a, 0x2039, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x0098, 0x2122, 0x009a, 0x203a, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0385, 0x0386, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x003f, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x2015,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x00b5, 0x00b6, 0x00b7,
    +    0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,
    +    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    +    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    +    0x03a0, 0x03a1, 0x003f, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
    +    0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,
    +    0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    +    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    +    0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
    +    0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x8a, 0x3f, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x3f, 0x9a, 0x3f, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,
    +    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0xbd, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe2,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa1, 0xa2, 0xb7,
    +    0xb8, 0xb9, 0xba, 0x3f, 0xbc, 0x3f, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0x3f, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x3f,
    +    0xe2, 0xe8, 0xd5, 0xd5, 0xd5, 0xf6, 0xf0, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xf1, 0xf2, 0x3f, 0xc8, 0xe5, 0x3f, 0x3f,
    +    0x3f, 0xd3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe2, 0xe3, 0xe4,
    +    0xf6, 0xf7, 0x69, 0x72, 0x75, 0x76, 0xe2, 0xe3,
    +    0xf1, 0xf6, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    +    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    +    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    +    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,
    +    0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x3f, 0x3f,
    +    0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
    +    0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5,
    +    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    +    0xe1, 0xdc, 0xe5, 0xdd, 0xe7, 0xde, 0xe9, 0xdf,
    +    0xef, 0xfc, 0xf5, 0xfd, 0xf9, 0xfe, 0x3f, 0x3f,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    +    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    +    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xdc, 0x3f, 0xe1, 0xe1,
    +    0xc1, 0xc1, 0xc1, 0xa2, 0xc1, 0x3f, 0xe9, 0x3f,
    +    0x3f, 0xa8, 0xe7, 0xe7, 0xde, 0x3f, 0xe7, 0xe7,
    +    0xc5, 0xb8, 0xc7, 0xb9, 0xc7, 0x3f, 0x3f, 0x3f,
    +    0xe9, 0xe9, 0xfa, 0xc0, 0x3f, 0x3f, 0xe9, 0xfa,
    +    0xc9, 0xc9, 0xc9, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf5, 0xf5, 0xfb, 0xe0, 0xf1, 0xf1, 0xf5, 0xfb,
    +    0xd5, 0xd5, 0xd5, 0xbe, 0xd1, 0xa8, 0xa1, 0x60,
    +    0x3f, 0x3f, 0xf9, 0xf9, 0xfe, 0x3f, 0xf9, 0xf9,
    +    0xcf, 0xbc, 0xd9, 0xbf, 0xd9, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0xaf, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0xd9, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe3, 0xc3, 0xd0,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x5e, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0xa3, 0xac, 0x97, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x5e, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_1253 =
    +{
    +    { 1253, 1, 0x003f, 0x003f, "ANSI Greek" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1254.c b/reactos/tools/unicode/c_1254.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1254.c
    rename to reactos/tools/unicode/c_1254.c
    index 93304ef2c88..85529ff4e14 100644
    --- a/reactos/lib/unicode/c_1254.c
    +++ b/reactos/tools/unicode/c_1254.c
    @@ -1,683 +1,683 @@
    -/* code page 1254 (ANSI Turkish) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x009d, 0x009e, 0x0178,
    -    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    -    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xd0, 0xf0,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0xdd, 0xfd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xfe,
    -    0x8a, 0x9a, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x8a, 0x9a,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_1254 =
    -{
    -    { 1254, 1, 0x003f, 0x003f, "ANSI Turkish" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1254 (ANSI Turkish) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x009d, 0x009e, 0x0178,
    +    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    +    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xd0, 0xf0,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0xdd, 0xfd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xfe,
    +    0x8a, 0x9a, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x8a, 0x9a,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_1254 =
    +{
    +    { 1254, 1, 0x003f, 0x003f, "ANSI Turkish" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1255.c b/reactos/tools/unicode/c_1255.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1255.c
    rename to reactos/tools/unicode/c_1255.c
    index 2bf552629b3..b0babbee7a3 100644
    --- a/reactos/lib/unicode/c_1255.c
    +++ b/reactos/tools/unicode/c_1255.c
    @@ -1,716 +1,716 @@
    -/* code page 1255 (ANSI Hebrew) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x02c6, 0x2030, 0x008a, 0x2039, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x02dc, 0x2122, 0x009a, 0x203a, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20aa, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7,
    -    0x05b8, 0x05b9, 0x003f, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf,
    -    0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f0, 0x05f1, 0x05f2, 0x05f3,
    -    0x05f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,
    -    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    -    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    -    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    -    0x05e8, 0x05e9, 0x05ea, 0x003f, 0x003f, 0x200e, 0x200f, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8a, 0x3f, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x9a, 0x3f, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0x3f, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xaa,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xba,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0500 .. 0x05ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0x3f, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0xfd, 0xfe,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xa4, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0xe0, 0xe1, 0xe2,
    -    0xe3, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0xd6,
    -    0xf2, 0xe0, 0xe3, 0xe4, 0xeb, 0xec, 0xed, 0xf8,
    -    0xfa, 0x2b, 0xf9, 0xf9, 0xf9, 0xf9, 0xe0, 0xe0,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x3f,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0x3f, 0xee, 0x3f,
    -    0xf0, 0xf1, 0x3f, 0xf3, 0xf4, 0x3f, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xe5, 0xe1, 0xeb, 0xf4, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_1255 =
    -{
    -    { 1255, 1, 0x003f, 0x003f, "ANSI Hebrew" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1255 (ANSI Hebrew) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x02c6, 0x2030, 0x008a, 0x2039, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x02dc, 0x2122, 0x009a, 0x203a, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20aa, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7,
    +    0x05b8, 0x05b9, 0x003f, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf,
    +    0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f0, 0x05f1, 0x05f2, 0x05f3,
    +    0x05f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,
    +    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    +    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    +    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    +    0x05e8, 0x05e9, 0x05ea, 0x003f, 0x003f, 0x200e, 0x200f, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8a, 0x3f, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x9a, 0x3f, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0x3f, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xaa,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xba,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0500 .. 0x05ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0x3f, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0xfd, 0xfe,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xa4, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0xe0, 0xe1, 0xe2,
    +    0xe3, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0xd6,
    +    0xf2, 0xe0, 0xe3, 0xe4, 0xeb, 0xec, 0xed, 0xf8,
    +    0xfa, 0x2b, 0xf9, 0xf9, 0xf9, 0xf9, 0xe0, 0xe0,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x3f,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0x3f, 0xee, 0x3f,
    +    0xf0, 0xf1, 0x3f, 0xf3, 0xf4, 0x3f, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xe5, 0xe1, 0xeb, 0xf4, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_1255 =
    +{
    +    { 1255, 1, 0x003f, 0x003f, "ANSI Hebrew" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1256.c b/reactos/tools/unicode/c_1256.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1256.c
    rename to reactos/tools/unicode/c_1256.c
    index 1a546314c63..d0cda2c8e33 100644
    --- a/reactos/lib/unicode/c_1256.c
    +++ b/reactos/tools/unicode/c_1256.c
    @@ -1,716 +1,716 @@
    -/* code page 1256 (ANSI Arabic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x067e, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x02c6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,
    -    0x06af, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x06a9, 0x2122, 0x0691, 0x203a, 0x0153, 0x200c, 0x200d, 0x06ba,
    -    0x00a0, 0x060c, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x06be, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x061b, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x061f,
    -    0x06c1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
    -    0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
    -    0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00d7,
    -    0x0637, 0x0638, 0x0639, 0x063a, 0x0640, 0x0641, 0x0642, 0x0643,
    -    0x00e0, 0x0644, 0x00e2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0649, 0x064a, 0x00ee, 0x00ef,
    -    0x064b, 0x064c, 0x064d, 0x064e, 0x00f4, 0x064f, 0x0650, 0x00f7,
    -    0x0651, 0x00f9, 0x0652, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x06d2
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0xe0, 0x61, 0xe2, 0x61, 0x61, 0x61, 0x61, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0x69, 0x69, 0xee, 0xef,
    -    0x64, 0x6e, 0x6f, 0x6f, 0xf4, 0x6f, 0x6f, 0xf7,
    -    0x6f, 0xf9, 0x75, 0xfb, 0xfc, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0xfc, 0x55,
    -    0xfc, 0x55, 0xfc, 0x55, 0xfc, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x88, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0600 .. 0x06ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0xbf,
    -    0x3f, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd8,
    -    0xd9, 0xda, 0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdc, 0xdd, 0xde, 0xdf, 0xe1, 0xe3, 0xe4, 0xe5,
    -    0xe6, 0xec, 0xed, 0xf0, 0xf1, 0xf2, 0xf3, 0xf5,
    -    0xf6, 0xf8, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8a, 0x3f, 0x3f, 0x3f, 0x3f, 0x81, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x3f,
    -    0x8f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x90,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x9f, 0x3f, 0x3f, 0x3f, 0xaa, 0x3f,
    -    0x3f, 0xc0, 0xc0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0xe2, 0x41, 0xe2,
    -    0x41, 0xe2, 0x41, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0xea,
    -    0x45, 0xea, 0x45, 0xea, 0x45, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0xf4, 0x4f, 0xf4, 0x4f, 0xf4, 0x4f, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x9d, 0x9e, 0xfd, 0xfe,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_1256 =
    -{
    -    { 1256, 1, 0x003f, 0x003f, "ANSI Arabic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1256 (ANSI Arabic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x067e, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x02c6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,
    +    0x06af, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x06a9, 0x2122, 0x0691, 0x203a, 0x0153, 0x200c, 0x200d, 0x06ba,
    +    0x00a0, 0x060c, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x06be, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x061b, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x061f,
    +    0x06c1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
    +    0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
    +    0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00d7,
    +    0x0637, 0x0638, 0x0639, 0x063a, 0x0640, 0x0641, 0x0642, 0x0643,
    +    0x00e0, 0x0644, 0x00e2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0649, 0x064a, 0x00ee, 0x00ef,
    +    0x064b, 0x064c, 0x064d, 0x064e, 0x00f4, 0x064f, 0x0650, 0x00f7,
    +    0x0651, 0x00f9, 0x0652, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x06d2
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0xe0, 0x61, 0xe2, 0x61, 0x61, 0x61, 0x61, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0x69, 0x69, 0xee, 0xef,
    +    0x64, 0x6e, 0x6f, 0x6f, 0xf4, 0x6f, 0x6f, 0xf7,
    +    0x6f, 0xf9, 0x75, 0xfb, 0xfc, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0xfc, 0x55,
    +    0xfc, 0x55, 0xfc, 0x55, 0xfc, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x88, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0600 .. 0x06ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0xbf,
    +    0x3f, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd8,
    +    0xd9, 0xda, 0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdc, 0xdd, 0xde, 0xdf, 0xe1, 0xe3, 0xe4, 0xe5,
    +    0xe6, 0xec, 0xed, 0xf0, 0xf1, 0xf2, 0xf3, 0xf5,
    +    0xf6, 0xf8, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8a, 0x3f, 0x3f, 0x3f, 0x3f, 0x81, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x3f,
    +    0x8f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x90,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x9f, 0x3f, 0x3f, 0x3f, 0xaa, 0x3f,
    +    0x3f, 0xc0, 0xc0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0xe2, 0x41, 0xe2,
    +    0x41, 0xe2, 0x41, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0xea,
    +    0x45, 0xea, 0x45, 0xea, 0x45, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0xf4, 0x4f, 0xf4, 0x4f, 0xf4, 0x4f, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x9d, 0x9e, 0xfd, 0xfe,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_1256 =
    +{
    +    { 1256, 1, 0x003f, 0x003f, "ANSI Arabic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1257.c b/reactos/tools/unicode/c_1257.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1257.c
    rename to reactos/tools/unicode/c_1257.c
    index 721171abf95..1353cbf3e9f 100644
    --- a/reactos/lib/unicode/c_1257.c
    +++ b/reactos/tools/unicode/c_1257.c
    @@ -1,683 +1,683 @@
    -/* code page 1257 (ANSI Baltic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x201a, 0x0083, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x0088, 0x2030, 0x008a, 0x2039, 0x008c, 0x00a8, 0x02c7, 0x00b8,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x0098, 0x2122, 0x009a, 0x203a, 0x009c, 0x00af, 0x02db, 0x009f,
    -    0x00a0, 0x003f, 0x00a2, 0x00a3, 0x00a4, 0x003f, 0x00a6, 0x00a7,
    -    0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
    -    0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
    -    0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
    -    0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
    -    0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
    -    0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
    -    0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
    -    0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
    -    0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x02d9
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x3f, 0x83, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x8a, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x3f, 0x9a, 0x3f, 0x9c, 0x3f, 0x3f, 0x9f,
    -    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,
    -    0x8d, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x9d,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0x8f, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0xc4, 0xc5, 0xaf, 0x43,
    -    0x45, 0xc9, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0xd3, 0x4f, 0xd5, 0xd6, 0xd7,
    -    0xa8, 0x55, 0x55, 0x55, 0xdc, 0x59, 0x3f, 0xdf,
    -    0x61, 0x61, 0x61, 0x61, 0xe4, 0xe5, 0xbf, 0x63,
    -    0x65, 0xe9, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0xf3, 0x6f, 0xf5, 0xf6, 0xf7,
    -    0xb8, 0x75, 0x75, 0x75, 0xfc, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0xc2, 0xe2, 0x41, 0x61, 0xc0, 0xe0, 0xc3, 0xe3,
    -    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    -    0x44, 0x64, 0xc7, 0xe7, 0x45, 0x65, 0xcb, 0xeb,
    -    0xc6, 0xe6, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0xcc, 0xec, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0xce, 0xee, 0x49, 0x69, 0xc1, 0xe1,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xcd, 0xed,
    -    0x3f, 0x4c, 0x6c, 0xcf, 0xef, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0xd9, 0xf9, 0xd1, 0xf1, 0xd2, 0xf2, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0xd4, 0xf4, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xaa, 0xba,
    -    0x52, 0x72, 0xda, 0xfa, 0x53, 0x73, 0x53, 0x73,
    -    0xd0, 0xf0, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0xdb, 0xfb, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xd8, 0xf8, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0xca, 0xea, 0xdd, 0xfd, 0xde, 0xfe, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xaf, 0xbf, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xaf, 0xbf, 0xa8, 0xb8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x8e,
    -    0x27, 0x9d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xff, 0xb0, 0x9e, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0x9d, 0x9d, 0x3f, 0xff,
    -    0x8d, 0x3f, 0xb0, 0x22, 0x8e, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8f,
    -    0x9e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0x8d, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x8d, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xaf, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0xc7, 0xe7, 0xc7, 0xe7,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0xda, 0xfa, 0xd0, 0xf0,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xdb, 0xfb, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8d, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x8d, 0x8d, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x9d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x5e, 0x9b, 0x8e, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x9d, 0x9d, 0x9d, 0x9d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0x9d, 0xa6, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x5e, 0x9b, 0x8e, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_1257 =
    -{
    -    { 1257, 1, 0x003f, 0x003f, "ANSI Baltic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1257 (ANSI Baltic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x201a, 0x0083, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x0088, 0x2030, 0x008a, 0x2039, 0x008c, 0x00a8, 0x02c7, 0x00b8,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x0098, 0x2122, 0x009a, 0x203a, 0x009c, 0x00af, 0x02db, 0x009f,
    +    0x00a0, 0x003f, 0x00a2, 0x00a3, 0x00a4, 0x003f, 0x00a6, 0x00a7,
    +    0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
    +    0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
    +    0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
    +    0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
    +    0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
    +    0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
    +    0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
    +    0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
    +    0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x02d9
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x3f, 0x83, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x8a, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x3f, 0x9a, 0x3f, 0x9c, 0x3f, 0x3f, 0x9f,
    +    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,
    +    0x8d, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x9d,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0x8f, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0xc4, 0xc5, 0xaf, 0x43,
    +    0x45, 0xc9, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0xd3, 0x4f, 0xd5, 0xd6, 0xd7,
    +    0xa8, 0x55, 0x55, 0x55, 0xdc, 0x59, 0x3f, 0xdf,
    +    0x61, 0x61, 0x61, 0x61, 0xe4, 0xe5, 0xbf, 0x63,
    +    0x65, 0xe9, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0xf3, 0x6f, 0xf5, 0xf6, 0xf7,
    +    0xb8, 0x75, 0x75, 0x75, 0xfc, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0xc2, 0xe2, 0x41, 0x61, 0xc0, 0xe0, 0xc3, 0xe3,
    +    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    +    0x44, 0x64, 0xc7, 0xe7, 0x45, 0x65, 0xcb, 0xeb,
    +    0xc6, 0xe6, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0xcc, 0xec, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0xce, 0xee, 0x49, 0x69, 0xc1, 0xe1,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xcd, 0xed,
    +    0x3f, 0x4c, 0x6c, 0xcf, 0xef, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0xd9, 0xf9, 0xd1, 0xf1, 0xd2, 0xf2, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0xd4, 0xf4, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xaa, 0xba,
    +    0x52, 0x72, 0xda, 0xfa, 0x53, 0x73, 0x53, 0x73,
    +    0xd0, 0xf0, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0xdb, 0xfb, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xd8, 0xf8, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0xca, 0xea, 0xdd, 0xfd, 0xde, 0xfe, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xaf, 0xbf, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xaf, 0xbf, 0xa8, 0xb8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x8e,
    +    0x27, 0x9d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xff, 0xb0, 0x9e, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0x9d, 0x9d, 0x3f, 0xff,
    +    0x8d, 0x3f, 0xb0, 0x22, 0x8e, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8f,
    +    0x9e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0x8d, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x8d, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xaf, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0xc7, 0xe7, 0xc7, 0xe7,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0xda, 0xfa, 0xd0, 0xf0,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xdb, 0xfb, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8d, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x8d, 0x8d, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x9d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x5e, 0x9b, 0x8e, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x9d, 0x9d, 0x9d, 0x9d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0x9d, 0xa6, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x5e, 0x9b, 0x8e, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_1257 =
    +{
    +    { 1257, 1, 0x003f, 0x003f, "ANSI Baltic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_1258.c b/reactos/tools/unicode/c_1258.c
    similarity index 98%
    rename from reactos/lib/unicode/c_1258.c
    rename to reactos/tools/unicode/c_1258.c
    index 5780c6605bf..6424631da40 100644
    --- a/reactos/lib/unicode/c_1258.c
    +++ b/reactos/tools/unicode/c_1258.c
    @@ -1,683 +1,683 @@
    -/* code page 1258 (ANSI/OEM Viet Nam) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    -    0x02c6, 0x2030, 0x008a, 0x2039, 0x0152, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x02dc, 0x2122, 0x009a, 0x203a, 0x0153, 0x009d, 0x009e, 0x0178,
    -    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x0300, 0x00cd, 0x00ce, 0x00cf,
    -    0x0110, 0x00d1, 0x0309, 0x00d3, 0x00d4, 0x01a0, 0x00d6, 0x00d7,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x01af, 0x0303, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0301, 0x00ed, 0x00ee, 0x00ef,
    -    0x0111, 0x00f1, 0x0323, 0x00f3, 0x00f4, 0x01a1, 0x00f6, 0x00f7,
    -    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x01b0, 0x20ab, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8a, 0x3f, 0x3f, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x9a, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0x49, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0x69, 0xed, 0xee, 0xef,
    -    0x64, 0xf1, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0xc3, 0xe3, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0xd5, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0xdd,
    -    0xfd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    -    0x27, 0xaf, 0xb4, 0xcc, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0xcc, 0xec, 0x88, 0xde, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0xd2, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xf2, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xcc, 0xec, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xec, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    -    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0xd5, 0xf5, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0xd5, 0xf5, 0xd5, 0xf5, 0x55, 0x75, 0x55, 0x75,
    -    0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd,
    -    0xdd, 0xfd, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    -    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xfe, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_1258 =
    -{
    -    { 1258, 1, 0x003f, 0x003f, "ANSI/OEM Viet Nam" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 1258 (ANSI/OEM Viet Nam) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
    +    0x02c6, 0x2030, 0x008a, 0x2039, 0x0152, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x02dc, 0x2122, 0x009a, 0x203a, 0x0153, 0x009d, 0x009e, 0x0178,
    +    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x0300, 0x00cd, 0x00ce, 0x00cf,
    +    0x0110, 0x00d1, 0x0309, 0x00d3, 0x00d4, 0x01a0, 0x00d6, 0x00d7,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x01af, 0x0303, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0301, 0x00ed, 0x00ee, 0x00ef,
    +    0x0111, 0x00f1, 0x0323, 0x00f3, 0x00f4, 0x01a1, 0x00f6, 0x00f7,
    +    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x01b0, 0x20ab, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8a, 0x3f, 0x3f, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x9a, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0x49, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0x69, 0xed, 0xee, 0xef,
    +    0x64, 0xf1, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0xc3, 0xe3, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0xd5, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0xdd,
    +    0xfd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,
    +    0x27, 0xaf, 0xb4, 0xcc, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0xcc, 0xec, 0x88, 0xde, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0xd2, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xf2, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xcc, 0xec, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xec, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    +    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0xd5, 0xf5, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0xd5, 0xf5, 0xd5, 0xf5, 0x55, 0x75, 0x55, 0x75,
    +    0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd,
    +    0xdd, 0xfd, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,
    +    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xfe, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_1258 =
    +{
    +    { 1258, 1, 0x003f, 0x003f, "ANSI/OEM Viet Nam" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_20866.c b/reactos/tools/unicode/c_20866.c
    similarity index 98%
    rename from reactos/lib/unicode/c_20866.c
    rename to reactos/tools/unicode/c_20866.c
    index 1612506dcb8..7f3ba525846 100644
    --- a/reactos/lib/unicode/c_20866.c
    +++ b/reactos/tools/unicode/c_20866.c
    @@ -1,716 +1,716 @@
    -/* code page 20866 (Russian KOI8) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,
    -    0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,
    -    0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,
    -    0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,
    -    0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,
    -    0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e,
    -    0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,
    -    0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9,
    -    0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
    -    0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,
    -    0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
    -    0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,
    -    0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
    -    0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
    -    0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
    -    0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9a, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    -    0x22, 0xbf, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    -    0x9c, 0x3f, 0x9d, 0x33, 0x27, 0x75, 0x3f, 0x9e,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x9f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x81, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x9c, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x9c, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x9e,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0400 .. 0x04ff */
    -    0xe5, 0xb3, 0x3f, 0xe7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xeb, 0xe9, 0xf5, 0x3f,
    -    0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,
    -    0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,
    -    0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,
    -    0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,
    -    0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,
    -    0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,
    -    0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,
    -    0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1,
    -    0xc5, 0xa3, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xcb, 0xc9, 0xd5, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0xc1, 0xe1, 0xc1, 0x3f, 0x3f, 0xe5, 0xc5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xf6, 0xd6, 0xfa, 0xda,
    -    0x3f, 0x3f, 0xe9, 0xc9, 0xe9, 0xc9, 0xef, 0xcf,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xfc, 0xdc, 0xf5, 0xd5,
    -    0xf5, 0xd5, 0xf5, 0xd5, 0xfe, 0xde, 0x3f, 0x3f,
    -    0xf9, 0xd9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9c, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x9c, 0x95, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x97, 0x97, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x98, 0x99, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x98, 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9e, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x93, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x80, 0x80, 0x81, 0x81, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x82, 0x82, 0x82, 0x82,
    -    0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,
    -    0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x86,
    -    0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87,
    -    0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88,
    -    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,
    -    0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a,
    -    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    -    0x8a, 0x8a, 0x8a, 0x8a, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,
    -    0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
    -    0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
    -    0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x8b, 0x3f, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    -    0x8d, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,
    -    0x8f, 0x90, 0x91, 0x92, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x94, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x81, 0x3c, 0x5e, 0x3e, 0x76, 0x94, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_20866 =
    -{
    -    { 20866, 1, 0x003f, 0x003f, "Russian KOI8" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 20866 (Russian KOI8) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,
    +    0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,
    +    0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,
    +    0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,
    +    0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,
    +    0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e,
    +    0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,
    +    0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9,
    +    0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
    +    0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,
    +    0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
    +    0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,
    +    0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
    +    0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
    +    0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
    +    0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9a, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0xbf, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    +    0x9c, 0x3f, 0x9d, 0x33, 0x27, 0x75, 0x3f, 0x9e,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x9f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x81, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x9c, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x9c, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x9e,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0xe5, 0xb3, 0x3f, 0xe7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xeb, 0xe9, 0xf5, 0x3f,
    +    0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,
    +    0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,
    +    0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,
    +    0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,
    +    0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,
    +    0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,
    +    0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1,
    +    0xc5, 0xa3, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xcb, 0xc9, 0xd5, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0xc1, 0xe1, 0xc1, 0x3f, 0x3f, 0xe5, 0xc5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xf6, 0xd6, 0xfa, 0xda,
    +    0x3f, 0x3f, 0xe9, 0xc9, 0xe9, 0xc9, 0xef, 0xcf,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xfc, 0xdc, 0xf5, 0xd5,
    +    0xf5, 0xd5, 0xf5, 0xd5, 0xfe, 0xde, 0x3f, 0x3f,
    +    0xf9, 0xd9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9c, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x9c, 0x95, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x97, 0x97, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x98, 0x99, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x98, 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9e, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x93, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x80, 0x80, 0x81, 0x81, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x82, 0x82, 0x82, 0x82,
    +    0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,
    +    0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x86,
    +    0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87,
    +    0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88,
    +    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,
    +    0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,
    +    0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
    +    0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
    +    0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x8b, 0x3f, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    +    0x8d, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,
    +    0x8f, 0x90, 0x91, 0x92, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x94, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x81, 0x3c, 0x5e, 0x3e, 0x76, 0x94, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_20866 =
    +{
    +    { 20866, 1, 0x003f, 0x003f, "Russian KOI8" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_20932.c b/reactos/tools/unicode/c_20932.c
    similarity index 98%
    rename from reactos/lib/unicode/c_20932.c
    rename to reactos/tools/unicode/c_20932.c
    index 38c10d3e8ef..df5afa31df9 100644
    --- a/reactos/lib/unicode/c_20932.c
    +++ b/reactos/tools/unicode/c_20932.c
    @@ -1,6298 +1,6298 @@
    -/* code page 20932 (EUC-JP) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[20480] =
    -{
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0000, 0x0000,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 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, 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, 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, 0x003f,
    -    /* unused lead bytes */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 8e */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 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,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x3000, 0x3001, 0x3002, 0xff0c, 0xff0e, 0x30fb, 0xff1a,
    -    0xff1b, 0xff1f, 0xff01, 0x309b, 0x309c, 0x00b4, 0xff40, 0x00a8,
    -    0xff3e, 0xffe3, 0xff3f, 0x30fd, 0x30fe, 0x309d, 0x309e, 0x3003,
    -    0x4edd, 0x3005, 0x3006, 0x3007, 0x30fc, 0x2015, 0x2010, 0xff0f,
    -    0xff3c, 0x301c, 0x2016, 0xff5c, 0x2026, 0x2025, 0x2018, 0x2019,
    -    0x201c, 0x201d, 0xff08, 0xff09, 0x3014, 0x3015, 0xff3b, 0xff3d,
    -    0xff5b, 0xff5d, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d,
    -    0x300e, 0x300f, 0x3010, 0x3011, 0xff0b, 0x2212, 0x00b1, 0x00d7,
    -    0x00f7, 0xff1d, 0x2260, 0xff1c, 0xff1e, 0x2266, 0x2267, 0x221e,
    -    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xffe5,
    -    0xff04, 0x00a2, 0x00a3, 0xff05, 0xff03, 0xff06, 0xff0a, 0xff20,
    -    0x00a7, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x003f,
    -    /* lead byte a2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x25c6, 0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc,
    -    0x203b, 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283,
    -    0x222a, 0x2229, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x2227, 0x2228, 0x00ac, 0x21d2, 0x21d4, 0x2200,
    -    0x2203, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x2220, 0x22a5, 0x2312, 0x2202,
    -    0x2207, 0x2261, 0x2252, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d,
    -    0x2235, 0x222b, 0x222c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x212b, 0x2030, 0x266f, 0x266d, 0x266a, 0x2020,
    -    0x2021, 0x00b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x25ef, 0x003f,
    -    /* lead byte a3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,
    -    0xff18, 0xff19, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,
    -    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,
    -    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
    -    0xff38, 0xff39, 0xff3a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    -    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    -    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    -    0xff58, 0xff59, 0xff5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,
    -    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
    -    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
    -    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
    -    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,
    -    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,
    -    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,
    -    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
    -    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,
    -    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,
    -    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,
    -    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,
    -    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,
    -    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,
    -    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,
    -    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,
    -    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,
    -    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,
    -    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    -    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    -    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    -    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    -    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,
    -    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    -    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    -    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    -    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,
    -    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,
    -    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,
    -    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,
    -    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,
    -    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,
    -    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    -    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    -    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c,
    -    0x252c, 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513,
    -    0x251b, 0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520,
    -    0x252f, 0x2528, 0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538,
    -    0x2542, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte b0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x4e9c, 0x5516, 0x5a03, 0x963f, 0x54c0, 0x611b, 0x6328,
    -    0x59f6, 0x9022, 0x8475, 0x831c, 0x7a50, 0x60aa, 0x63e1, 0x6e25,
    -    0x65ed, 0x8466, 0x82a6, 0x9bf5, 0x6893, 0x5727, 0x65a1, 0x6271,
    -    0x5b9b, 0x59d0, 0x867b, 0x98f4, 0x7d62, 0x7dbe, 0x9b8e, 0x6216,
    -    0x7c9f, 0x88b7, 0x5b89, 0x5eb5, 0x6309, 0x6697, 0x6848, 0x95c7,
    -    0x978d, 0x674f, 0x4ee5, 0x4f0a, 0x4f4d, 0x4f9d, 0x5049, 0x56f2,
    -    0x5937, 0x59d4, 0x5a01, 0x5c09, 0x60df, 0x610f, 0x6170, 0x6613,
    -    0x6905, 0x70ba, 0x754f, 0x7570, 0x79fb, 0x7dad, 0x7def, 0x80c3,
    -    0x840e, 0x8863, 0x8b02, 0x9055, 0x907a, 0x533b, 0x4e95, 0x4ea5,
    -    0x57df, 0x80b2, 0x90c1, 0x78ef, 0x4e00, 0x58f1, 0x6ea2, 0x9038,
    -    0x7a32, 0x8328, 0x828b, 0x9c2f, 0x5141, 0x5370, 0x54bd, 0x54e1,
    -    0x56e0, 0x59fb, 0x5f15, 0x98f2, 0x6deb, 0x80e4, 0x852d, 0x003f,
    -    /* lead byte b1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9662, 0x9670, 0x96a0, 0x97fb, 0x540b, 0x53f3, 0x5b87,
    -    0x70cf, 0x7fbd, 0x8fc2, 0x96e8, 0x536f, 0x9d5c, 0x7aba, 0x4e11,
    -    0x7893, 0x81fc, 0x6e26, 0x5618, 0x5504, 0x6b1d, 0x851a, 0x9c3b,
    -    0x59e5, 0x53a9, 0x6d66, 0x74dc, 0x958f, 0x5642, 0x4e91, 0x904b,
    -    0x96f2, 0x834f, 0x990c, 0x53e1, 0x55b6, 0x5b30, 0x5f71, 0x6620,
    -    0x66f3, 0x6804, 0x6c38, 0x6cf3, 0x6d29, 0x745b, 0x76c8, 0x7a4e,
    -    0x9834, 0x82f1, 0x885b, 0x8a60, 0x92ed, 0x6db2, 0x75ab, 0x76ca,
    -    0x99c5, 0x60a6, 0x8b01, 0x8d8a, 0x95b2, 0x698e, 0x53ad, 0x5186,
    -    0x5712, 0x5830, 0x5944, 0x5bb4, 0x5ef6, 0x6028, 0x63a9, 0x63f4,
    -    0x6cbf, 0x6f14, 0x708e, 0x7114, 0x7159, 0x71d5, 0x733f, 0x7e01,
    -    0x8276, 0x82d1, 0x8597, 0x9060, 0x925b, 0x9d1b, 0x5869, 0x65bc,
    -    0x6c5a, 0x7525, 0x51f9, 0x592e, 0x5965, 0x5f80, 0x5fdc, 0x003f,
    -    /* lead byte b2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x62bc, 0x65fa, 0x6a2a, 0x6b27, 0x6bb4, 0x738b, 0x7fc1,
    -    0x8956, 0x9d2c, 0x9d0e, 0x9ec4, 0x5ca1, 0x6c96, 0x837b, 0x5104,
    -    0x5c4b, 0x61b6, 0x81c6, 0x6876, 0x7261, 0x4e59, 0x4ffa, 0x5378,
    -    0x6069, 0x6e29, 0x7a4f, 0x97f3, 0x4e0b, 0x5316, 0x4eee, 0x4f55,
    -    0x4f3d, 0x4fa1, 0x4f73, 0x52a0, 0x53ef, 0x5609, 0x590f, 0x5ac1,
    -    0x5bb6, 0x5be1, 0x79d1, 0x6687, 0x679c, 0x67b6, 0x6b4c, 0x6cb3,
    -    0x706b, 0x73c2, 0x798d, 0x79be, 0x7a3c, 0x7b87, 0x82b1, 0x82db,
    -    0x8304, 0x8377, 0x83ef, 0x83d3, 0x8766, 0x8ab2, 0x5629, 0x8ca8,
    -    0x8fe6, 0x904e, 0x971e, 0x868a, 0x4fc4, 0x5ce8, 0x6211, 0x7259,
    -    0x753b, 0x81e5, 0x82bd, 0x86fe, 0x8cc0, 0x96c5, 0x9913, 0x99d5,
    -    0x4ecb, 0x4f1a, 0x89e3, 0x56de, 0x584a, 0x58ca, 0x5efb, 0x5feb,
    -    0x602a, 0x6094, 0x6062, 0x61d0, 0x6212, 0x62d0, 0x6539, 0x003f,
    -    /* lead byte b3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9b41, 0x6666, 0x68b0, 0x6d77, 0x7070, 0x754c, 0x7686,
    -    0x7d75, 0x82a5, 0x87f9, 0x958b, 0x968e, 0x8c9d, 0x51f1, 0x52be,
    -    0x5916, 0x54b3, 0x5bb3, 0x5d16, 0x6168, 0x6982, 0x6daf, 0x788d,
    -    0x84cb, 0x8857, 0x8a72, 0x93a7, 0x9ab8, 0x6d6c, 0x99a8, 0x86d9,
    -    0x57a3, 0x67ff, 0x86ce, 0x920e, 0x5283, 0x5687, 0x5404, 0x5ed3,
    -    0x62e1, 0x64b9, 0x683c, 0x6838, 0x6bbb, 0x7372, 0x78ba, 0x7a6b,
    -    0x899a, 0x89d2, 0x8d6b, 0x8f03, 0x90ed, 0x95a3, 0x9694, 0x9769,
    -    0x5b66, 0x5cb3, 0x697d, 0x984d, 0x984e, 0x639b, 0x7b20, 0x6a2b,
    -    0x6a7f, 0x68b6, 0x9c0d, 0x6f5f, 0x5272, 0x559d, 0x6070, 0x62ec,
    -    0x6d3b, 0x6e07, 0x6ed1, 0x845b, 0x8910, 0x8f44, 0x4e14, 0x9c39,
    -    0x53f6, 0x691b, 0x6a3a, 0x9784, 0x682a, 0x515c, 0x7ac3, 0x84b2,
    -    0x91dc, 0x938c, 0x565b, 0x9d28, 0x6822, 0x8305, 0x8431, 0x003f,
    -    /* lead byte b4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7ca5, 0x5208, 0x82c5, 0x74e6, 0x4e7e, 0x4f83, 0x51a0,
    -    0x5bd2, 0x520a, 0x52d8, 0x52e7, 0x5dfb, 0x559a, 0x582a, 0x59e6,
    -    0x5b8c, 0x5b98, 0x5bdb, 0x5e72, 0x5e79, 0x60a3, 0x611f, 0x6163,
    -    0x61be, 0x63db, 0x6562, 0x67d1, 0x6853, 0x68fa, 0x6b3e, 0x6b53,
    -    0x6c57, 0x6f22, 0x6f97, 0x6f45, 0x74b0, 0x7518, 0x76e3, 0x770b,
    -    0x7aff, 0x7ba1, 0x7c21, 0x7de9, 0x7f36, 0x7ff0, 0x809d, 0x8266,
    -    0x839e, 0x89b3, 0x8acc, 0x8cab, 0x9084, 0x9451, 0x9593, 0x9591,
    -    0x95a2, 0x9665, 0x97d3, 0x9928, 0x8218, 0x4e38, 0x542b, 0x5cb8,
    -    0x5dcc, 0x73a9, 0x764c, 0x773c, 0x5ca9, 0x7feb, 0x8d0b, 0x96c1,
    -    0x9811, 0x9854, 0x9858, 0x4f01, 0x4f0e, 0x5371, 0x559c, 0x5668,
    -    0x57fa, 0x5947, 0x5b09, 0x5bc4, 0x5c90, 0x5e0c, 0x5e7e, 0x5fcc,
    -    0x63ee, 0x673a, 0x65d7, 0x65e2, 0x671f, 0x68cb, 0x68c4, 0x003f,
    -    /* lead byte b5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6a5f, 0x5e30, 0x6bc5, 0x6c17, 0x6c7d, 0x757f, 0x7948,
    -    0x5b63, 0x7a00, 0x7d00, 0x5fbd, 0x898f, 0x8a18, 0x8cb4, 0x8d77,
    -    0x8ecc, 0x8f1d, 0x98e2, 0x9a0e, 0x9b3c, 0x4e80, 0x507d, 0x5100,
    -    0x5993, 0x5b9c, 0x622f, 0x6280, 0x64ec, 0x6b3a, 0x72a0, 0x7591,
    -    0x7947, 0x7fa9, 0x87fb, 0x8abc, 0x8b70, 0x63ac, 0x83ca, 0x97a0,
    -    0x5409, 0x5403, 0x55ab, 0x6854, 0x6a58, 0x8a70, 0x7827, 0x6775,
    -    0x9ecd, 0x5374, 0x5ba2, 0x811a, 0x8650, 0x9006, 0x4e18, 0x4e45,
    -    0x4ec7, 0x4f11, 0x53ca, 0x5438, 0x5bae, 0x5f13, 0x6025, 0x6551,
    -    0x673d, 0x6c42, 0x6c72, 0x6ce3, 0x7078, 0x7403, 0x7a76, 0x7aae,
    -    0x7b08, 0x7d1a, 0x7cfe, 0x7d66, 0x65e7, 0x725b, 0x53bb, 0x5c45,
    -    0x5de8, 0x62d2, 0x62e0, 0x6319, 0x6e20, 0x865a, 0x8a31, 0x8ddd,
    -    0x92f8, 0x6f01, 0x79a6, 0x9b5a, 0x4ea8, 0x4eab, 0x4eac, 0x003f,
    -    /* lead byte b6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x4f9b, 0x4fa0, 0x50d1, 0x5147, 0x7af6, 0x5171, 0x51f6,
    -    0x5354, 0x5321, 0x537f, 0x53eb, 0x55ac, 0x5883, 0x5ce1, 0x5f37,
    -    0x5f4a, 0x602f, 0x6050, 0x606d, 0x631f, 0x6559, 0x6a4b, 0x6cc1,
    -    0x72c2, 0x72ed, 0x77ef, 0x80f8, 0x8105, 0x8208, 0x854e, 0x90f7,
    -    0x93e1, 0x97ff, 0x9957, 0x9a5a, 0x4ef0, 0x51dd, 0x5c2d, 0x6681,
    -    0x696d, 0x5c40, 0x66f2, 0x6975, 0x7389, 0x6850, 0x7c81, 0x50c5,
    -    0x52e4, 0x5747, 0x5dfe, 0x9326, 0x65a4, 0x6b23, 0x6b3d, 0x7434,
    -    0x7981, 0x79bd, 0x7b4b, 0x7dca, 0x82b9, 0x83cc, 0x887f, 0x895f,
    -    0x8b39, 0x8fd1, 0x91d1, 0x541f, 0x9280, 0x4e5d, 0x5036, 0x53e5,
    -    0x533a, 0x72d7, 0x7396, 0x77e9, 0x82e6, 0x8eaf, 0x99c6, 0x99c8,
    -    0x99d2, 0x5177, 0x611a, 0x865e, 0x55b0, 0x7a7a, 0x5076, 0x5bd3,
    -    0x9047, 0x9685, 0x4e32, 0x6adb, 0x91e7, 0x5c51, 0x5c48, 0x003f,
    -    /* lead byte b7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6398, 0x7a9f, 0x6c93, 0x9774, 0x8f61, 0x7aaa, 0x718a,
    -    0x9688, 0x7c82, 0x6817, 0x7e70, 0x6851, 0x936c, 0x52f2, 0x541b,
    -    0x85ab, 0x8a13, 0x7fa4, 0x8ecd, 0x90e1, 0x5366, 0x8888, 0x7941,
    -    0x4fc2, 0x50be, 0x5211, 0x5144, 0x5553, 0x572d, 0x73ea, 0x578b,
    -    0x5951, 0x5f62, 0x5f84, 0x6075, 0x6176, 0x6167, 0x61a9, 0x63b2,
    -    0x643a, 0x656c, 0x666f, 0x6842, 0x6e13, 0x7566, 0x7a3d, 0x7cfb,
    -    0x7d4c, 0x7d99, 0x7e4b, 0x7f6b, 0x830e, 0x834a, 0x86cd, 0x8a08,
    -    0x8a63, 0x8b66, 0x8efd, 0x981a, 0x9d8f, 0x82b8, 0x8fce, 0x9be8,
    -    0x5287, 0x621f, 0x6483, 0x6fc0, 0x9699, 0x6841, 0x5091, 0x6b20,
    -    0x6c7a, 0x6f54, 0x7a74, 0x7d50, 0x8840, 0x8a23, 0x6708, 0x4ef6,
    -    0x5039, 0x5026, 0x5065, 0x517c, 0x5238, 0x5263, 0x55a7, 0x570f,
    -    0x5805, 0x5acc, 0x5efa, 0x61b2, 0x61f8, 0x62f3, 0x6372, 0x003f,
    -    /* lead byte b8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x691c, 0x6a29, 0x727d, 0x72ac, 0x732e, 0x7814, 0x786f,
    -    0x7d79, 0x770c, 0x80a9, 0x898b, 0x8b19, 0x8ce2, 0x8ed2, 0x9063,
    -    0x9375, 0x967a, 0x9855, 0x9a13, 0x9e78, 0x5143, 0x539f, 0x53b3,
    -    0x5e7b, 0x5f26, 0x6e1b, 0x6e90, 0x7384, 0x73fe, 0x7d43, 0x8237,
    -    0x8a00, 0x8afa, 0x9650, 0x4e4e, 0x500b, 0x53e4, 0x547c, 0x56fa,
    -    0x59d1, 0x5b64, 0x5df1, 0x5eab, 0x5f27, 0x6238, 0x6545, 0x67af,
    -    0x6e56, 0x72d0, 0x7cca, 0x88b4, 0x80a1, 0x80e1, 0x83f0, 0x864e,
    -    0x8a87, 0x8de8, 0x9237, 0x96c7, 0x9867, 0x9f13, 0x4e94, 0x4e92,
    -    0x4f0d, 0x5348, 0x5449, 0x543e, 0x5a2f, 0x5f8c, 0x5fa1, 0x609f,
    -    0x68a7, 0x6a8e, 0x745a, 0x7881, 0x8a9e, 0x8aa4, 0x8b77, 0x9190,
    -    0x4e5e, 0x9bc9, 0x4ea4, 0x4f7c, 0x4faf, 0x5019, 0x5016, 0x5149,
    -    0x516c, 0x529f, 0x52b9, 0x52fe, 0x539a, 0x53e3, 0x5411, 0x003f,
    -    /* lead byte b9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x540e, 0x5589, 0x5751, 0x57a2, 0x597d, 0x5b54, 0x5b5d,
    -    0x5b8f, 0x5de5, 0x5de7, 0x5df7, 0x5e78, 0x5e83, 0x5e9a, 0x5eb7,
    -    0x5f18, 0x6052, 0x614c, 0x6297, 0x62d8, 0x63a7, 0x653b, 0x6602,
    -    0x6643, 0x66f4, 0x676d, 0x6821, 0x6897, 0x69cb, 0x6c5f, 0x6d2a,
    -    0x6d69, 0x6e2f, 0x6e9d, 0x7532, 0x7687, 0x786c, 0x7a3f, 0x7ce0,
    -    0x7d05, 0x7d18, 0x7d5e, 0x7db1, 0x8015, 0x8003, 0x80af, 0x80b1,
    -    0x8154, 0x818f, 0x822a, 0x8352, 0x884c, 0x8861, 0x8b1b, 0x8ca2,
    -    0x8cfc, 0x90ca, 0x9175, 0x9271, 0x783f, 0x92fc, 0x95a4, 0x964d,
    -    0x9805, 0x9999, 0x9ad8, 0x9d3b, 0x525b, 0x52ab, 0x53f7, 0x5408,
    -    0x58d5, 0x62f7, 0x6fe0, 0x8c6a, 0x8f5f, 0x9eb9, 0x514b, 0x523b,
    -    0x544a, 0x56fd, 0x7a40, 0x9177, 0x9d60, 0x9ed2, 0x7344, 0x6f09,
    -    0x8170, 0x7511, 0x5ffd, 0x60da, 0x9aa8, 0x72db, 0x8fbc, 0x003f,
    -    /* lead byte ba */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6b64, 0x9803, 0x4eca, 0x56f0, 0x5764, 0x58be, 0x5a5a,
    -    0x6068, 0x61c7, 0x660f, 0x6606, 0x6839, 0x68b1, 0x6df7, 0x75d5,
    -    0x7d3a, 0x826e, 0x9b42, 0x4e9b, 0x4f50, 0x53c9, 0x5506, 0x5d6f,
    -    0x5de6, 0x5dee, 0x67fb, 0x6c99, 0x7473, 0x7802, 0x8a50, 0x9396,
    -    0x88df, 0x5750, 0x5ea7, 0x632b, 0x50b5, 0x50ac, 0x518d, 0x6700,
    -    0x54c9, 0x585e, 0x59bb, 0x5bb0, 0x5f69, 0x624d, 0x63a1, 0x683d,
    -    0x6b73, 0x6e08, 0x707d, 0x91c7, 0x7280, 0x7815, 0x7826, 0x796d,
    -    0x658e, 0x7d30, 0x83dc, 0x88c1, 0x8f09, 0x969b, 0x5264, 0x5728,
    -    0x6750, 0x7f6a, 0x8ca1, 0x51b4, 0x5742, 0x962a, 0x583a, 0x698a,
    -    0x80b4, 0x54b2, 0x5d0e, 0x57fc, 0x7895, 0x9dfa, 0x4f5c, 0x524a,
    -    0x548b, 0x643e, 0x6628, 0x6714, 0x67f5, 0x7a84, 0x7b56, 0x7d22,
    -    0x932f, 0x685c, 0x9bad, 0x7b39, 0x5319, 0x518a, 0x5237, 0x003f,
    -    /* lead byte bb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5bdf, 0x62f6, 0x64ae, 0x64e6, 0x672d, 0x6bba, 0x85a9,
    -    0x96d1, 0x7690, 0x9bd6, 0x634c, 0x9306, 0x9bab, 0x76bf, 0x6652,
    -    0x4e09, 0x5098, 0x53c2, 0x5c71, 0x60e8, 0x6492, 0x6563, 0x685f,
    -    0x71e6, 0x73ca, 0x7523, 0x7b97, 0x7e82, 0x8695, 0x8b83, 0x8cdb,
    -    0x9178, 0x9910, 0x65ac, 0x66ab, 0x6b8b, 0x4ed5, 0x4ed4, 0x4f3a,
    -    0x4f7f, 0x523a, 0x53f8, 0x53f2, 0x55e3, 0x56db, 0x58eb, 0x59cb,
    -    0x59c9, 0x59ff, 0x5b50, 0x5c4d, 0x5e02, 0x5e2b, 0x5fd7, 0x601d,
    -    0x6307, 0x652f, 0x5b5c, 0x65af, 0x65bd, 0x65e8, 0x679d, 0x6b62,
    -    0x6b7b, 0x6c0f, 0x7345, 0x7949, 0x79c1, 0x7cf8, 0x7d19, 0x7d2b,
    -    0x80a2, 0x8102, 0x81f3, 0x8996, 0x8a5e, 0x8a69, 0x8a66, 0x8a8c,
    -    0x8aee, 0x8cc7, 0x8cdc, 0x96cc, 0x98fc, 0x6b6f, 0x4e8b, 0x4f3c,
    -    0x4f8d, 0x5150, 0x5b57, 0x5bfa, 0x6148, 0x6301, 0x6642, 0x003f,
    -    /* lead byte bc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6b21, 0x6ecb, 0x6cbb, 0x723e, 0x74bd, 0x75d4, 0x78c1,
    -    0x793a, 0x800c, 0x8033, 0x81ea, 0x8494, 0x8f9e, 0x6c50, 0x9e7f,
    -    0x5f0f, 0x8b58, 0x9d2b, 0x7afa, 0x8ef8, 0x5b8d, 0x96eb, 0x4e03,
    -    0x53f1, 0x57f7, 0x5931, 0x5ac9, 0x5ba4, 0x6089, 0x6e7f, 0x6f06,
    -    0x75be, 0x8cea, 0x5b9f, 0x8500, 0x7be0, 0x5072, 0x67f4, 0x829d,
    -    0x5c61, 0x854a, 0x7e1e, 0x820e, 0x5199, 0x5c04, 0x6368, 0x8d66,
    -    0x659c, 0x716e, 0x793e, 0x7d17, 0x8005, 0x8b1d, 0x8eca, 0x906e,
    -    0x86c7, 0x90aa, 0x501f, 0x52fa, 0x5c3a, 0x6753, 0x707c, 0x7235,
    -    0x914c, 0x91c8, 0x932b, 0x82e5, 0x5bc2, 0x5f31, 0x60f9, 0x4e3b,
    -    0x53d6, 0x5b88, 0x624b, 0x6731, 0x6b8a, 0x72e9, 0x73e0, 0x7a2e,
    -    0x816b, 0x8da3, 0x9152, 0x9996, 0x5112, 0x53d7, 0x546a, 0x5bff,
    -    0x6388, 0x6a39, 0x7dac, 0x9700, 0x56da, 0x53ce, 0x5468, 0x003f,
    -    /* lead byte bd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5b97, 0x5c31, 0x5dde, 0x4fee, 0x6101, 0x62fe, 0x6d32,
    -    0x79c0, 0x79cb, 0x7d42, 0x7e4d, 0x7fd2, 0x81ed, 0x821f, 0x8490,
    -    0x8846, 0x8972, 0x8b90, 0x8e74, 0x8f2f, 0x9031, 0x914b, 0x916c,
    -    0x96c6, 0x919c, 0x4ec0, 0x4f4f, 0x5145, 0x5341, 0x5f93, 0x620e,
    -    0x67d4, 0x6c41, 0x6e0b, 0x7363, 0x7e26, 0x91cd, 0x9283, 0x53d4,
    -    0x5919, 0x5bbf, 0x6dd1, 0x795d, 0x7e2e, 0x7c9b, 0x587e, 0x719f,
    -    0x51fa, 0x8853, 0x8ff0, 0x4fca, 0x5cfb, 0x6625, 0x77ac, 0x7ae3,
    -    0x821c, 0x99ff, 0x51c6, 0x5faa, 0x65ec, 0x696f, 0x6b89, 0x6df3,
    -    0x6e96, 0x6f64, 0x76fe, 0x7d14, 0x5de1, 0x9075, 0x9187, 0x9806,
    -    0x51e6, 0x521d, 0x6240, 0x6691, 0x66d9, 0x6e1a, 0x5eb6, 0x7dd2,
    -    0x7f72, 0x66f8, 0x85af, 0x85f7, 0x8af8, 0x52a9, 0x53d9, 0x5973,
    -    0x5e8f, 0x5f90, 0x6055, 0x92e4, 0x9664, 0x50b7, 0x511f, 0x003f,
    -    /* lead byte be */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x52dd, 0x5320, 0x5347, 0x53ec, 0x54e8, 0x5546, 0x5531,
    -    0x5617, 0x5968, 0x59be, 0x5a3c, 0x5bb5, 0x5c06, 0x5c0f, 0x5c11,
    -    0x5c1a, 0x5e84, 0x5e8a, 0x5ee0, 0x5f70, 0x627f, 0x6284, 0x62db,
    -    0x638c, 0x6377, 0x6607, 0x660c, 0x662d, 0x6676, 0x677e, 0x68a2,
    -    0x6a1f, 0x6a35, 0x6cbc, 0x6d88, 0x6e09, 0x6e58, 0x713c, 0x7126,
    -    0x7167, 0x75c7, 0x7701, 0x785d, 0x7901, 0x7965, 0x79f0, 0x7ae0,
    -    0x7b11, 0x7ca7, 0x7d39, 0x8096, 0x83d6, 0x848b, 0x8549, 0x885d,
    -    0x88f3, 0x8a1f, 0x8a3c, 0x8a54, 0x8a73, 0x8c61, 0x8cde, 0x91a4,
    -    0x9266, 0x937e, 0x9418, 0x969c, 0x9798, 0x4e0a, 0x4e08, 0x4e1e,
    -    0x4e57, 0x5197, 0x5270, 0x57ce, 0x5834, 0x58cc, 0x5b22, 0x5e38,
    -    0x60c5, 0x64fe, 0x6761, 0x6756, 0x6d44, 0x72b6, 0x7573, 0x7a63,
    -    0x84b8, 0x8b72, 0x91b8, 0x9320, 0x5631, 0x57f4, 0x98fe, 0x003f,
    -    /* lead byte bf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x62ed, 0x690d, 0x6b96, 0x71ed, 0x7e54, 0x8077, 0x8272,
    -    0x89e6, 0x98df, 0x8755, 0x8fb1, 0x5c3b, 0x4f38, 0x4fe1, 0x4fb5,
    -    0x5507, 0x5a20, 0x5bdd, 0x5be9, 0x5fc3, 0x614e, 0x632f, 0x65b0,
    -    0x664b, 0x68ee, 0x699b, 0x6d78, 0x6df1, 0x7533, 0x75b9, 0x771f,
    -    0x795e, 0x79e6, 0x7d33, 0x81e3, 0x82af, 0x85aa, 0x89aa, 0x8a3a,
    -    0x8eab, 0x8f9b, 0x9032, 0x91dd, 0x9707, 0x4eba, 0x4ec1, 0x5203,
    -    0x5875, 0x58ec, 0x5c0b, 0x751a, 0x5c3d, 0x814e, 0x8a0a, 0x8fc5,
    -    0x9663, 0x976d, 0x7b25, 0x8acf, 0x9808, 0x9162, 0x56f3, 0x53a8,
    -    0x9017, 0x5439, 0x5782, 0x5e25, 0x63a8, 0x6c34, 0x708a, 0x7761,
    -    0x7c8b, 0x7fe0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968f,
    -    0x745e, 0x9ac4, 0x5d07, 0x5d69, 0x6570, 0x67a2, 0x8da8, 0x96db,
    -    0x636e, 0x6749, 0x6919, 0x83c5, 0x9817, 0x96c0, 0x88fe, 0x003f,
    -    /* lead byte c0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6f84, 0x647a, 0x5bf8, 0x4e16, 0x702c, 0x755d, 0x662f,
    -    0x51c4, 0x5236, 0x52e2, 0x59d3, 0x5f81, 0x6027, 0x6210, 0x653f,
    -    0x6574, 0x661f, 0x6674, 0x68f2, 0x6816, 0x6b63, 0x6e05, 0x7272,
    -    0x751f, 0x76db, 0x7cbe, 0x8056, 0x58f0, 0x88fd, 0x897f, 0x8aa0,
    -    0x8a93, 0x8acb, 0x901d, 0x9192, 0x9752, 0x9759, 0x6589, 0x7a0e,
    -    0x8106, 0x96bb, 0x5e2d, 0x60dc, 0x621a, 0x65a5, 0x6614, 0x6790,
    -    0x77f3, 0x7a4d, 0x7c4d, 0x7e3e, 0x810a, 0x8cac, 0x8d64, 0x8de1,
    -    0x8e5f, 0x78a9, 0x5207, 0x62d9, 0x63a5, 0x6442, 0x6298, 0x8a2d,
    -    0x7a83, 0x7bc0, 0x8aac, 0x96ea, 0x7d76, 0x820c, 0x8749, 0x4ed9,
    -    0x5148, 0x5343, 0x5360, 0x5ba3, 0x5c02, 0x5c16, 0x5ddd, 0x6226,
    -    0x6247, 0x64b0, 0x6813, 0x6834, 0x6cc9, 0x6d45, 0x6d17, 0x67d3,
    -    0x6f5c, 0x714e, 0x717d, 0x65cb, 0x7a7f, 0x7bad, 0x7dda, 0x003f,
    -    /* lead byte c1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7e4a, 0x7fa8, 0x817a, 0x821b, 0x8239, 0x85a6, 0x8a6e,
    -    0x8cce, 0x8df5, 0x9078, 0x9077, 0x92ad, 0x9291, 0x9583, 0x9bae,
    -    0x524d, 0x5584, 0x6f38, 0x7136, 0x5168, 0x7985, 0x7e55, 0x81b3,
    -    0x7cce, 0x564c, 0x5851, 0x5ca8, 0x63aa, 0x66fe, 0x66fd, 0x695a,
    -    0x72d9, 0x758f, 0x758e, 0x790e, 0x7956, 0x79df, 0x7c97, 0x7d20,
    -    0x7d44, 0x8607, 0x8a34, 0x963b, 0x9061, 0x9f20, 0x50e7, 0x5275,
    -    0x53cc, 0x53e2, 0x5009, 0x55aa, 0x58ee, 0x594f, 0x723d, 0x5b8b,
    -    0x5c64, 0x531d, 0x60e3, 0x60f3, 0x635c, 0x6383, 0x633f, 0x63bb,
    -    0x64cd, 0x65e9, 0x66f9, 0x5de3, 0x69cd, 0x69fd, 0x6f15, 0x71e5,
    -    0x4e89, 0x75e9, 0x76f8, 0x7a93, 0x7cdf, 0x7dcf, 0x7d9c, 0x8061,
    -    0x8349, 0x8358, 0x846c, 0x84bc, 0x85fb, 0x88c5, 0x8d70, 0x9001,
    -    0x906d, 0x9397, 0x971c, 0x9a12, 0x50cf, 0x5897, 0x618e, 0x003f,
    -    /* lead byte c2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x81d3, 0x8535, 0x8d08, 0x9020, 0x4fc3, 0x5074, 0x5247,
    -    0x5373, 0x606f, 0x6349, 0x675f, 0x6e2c, 0x8db3, 0x901f, 0x4fd7,
    -    0x5c5e, 0x8cca, 0x65cf, 0x7d9a, 0x5352, 0x8896, 0x5176, 0x63c3,
    -    0x5b58, 0x5b6b, 0x5c0a, 0x640d, 0x6751, 0x905c, 0x4ed6, 0x591a,
    -    0x592a, 0x6c70, 0x8a51, 0x553e, 0x5815, 0x59a5, 0x60f0, 0x6253,
    -    0x67c1, 0x8235, 0x6955, 0x9640, 0x99c4, 0x9a28, 0x4f53, 0x5806,
    -    0x5bfe, 0x8010, 0x5cb1, 0x5e2f, 0x5f85, 0x6020, 0x614b, 0x6234,
    -    0x66ff, 0x6cf0, 0x6ede, 0x80ce, 0x817f, 0x82d4, 0x888b, 0x8cb8,
    -    0x9000, 0x902e, 0x968a, 0x9edb, 0x9bdb, 0x4ee3, 0x53f0, 0x5927,
    -    0x7b2c, 0x918d, 0x984c, 0x9df9, 0x6edd, 0x7027, 0x5353, 0x5544,
    -    0x5b85, 0x6258, 0x629e, 0x62d3, 0x6ca2, 0x6fef, 0x7422, 0x8a17,
    -    0x9438, 0x6fc1, 0x8afe, 0x8338, 0x51e7, 0x86f8, 0x53ea, 0x003f,
    -    /* lead byte c3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x53e9, 0x4f46, 0x9054, 0x8fb0, 0x596a, 0x8131, 0x5dfd,
    -    0x7aea, 0x8fbf, 0x68da, 0x8c37, 0x72f8, 0x9c48, 0x6a3d, 0x8ab0,
    -    0x4e39, 0x5358, 0x5606, 0x5766, 0x62c5, 0x63a2, 0x65e6, 0x6b4e,
    -    0x6de1, 0x6e5b, 0x70ad, 0x77ed, 0x7aef, 0x7baa, 0x7dbb, 0x803d,
    -    0x80c6, 0x86cb, 0x8a95, 0x935b, 0x56e3, 0x58c7, 0x5f3e, 0x65ad,
    -    0x6696, 0x6a80, 0x6bb5, 0x7537, 0x8ac7, 0x5024, 0x77e5, 0x5730,
    -    0x5f1b, 0x6065, 0x667a, 0x6c60, 0x75f4, 0x7a1a, 0x7f6e, 0x81f4,
    -    0x8718, 0x9045, 0x99b3, 0x7bc9, 0x755c, 0x7af9, 0x7b51, 0x84c4,
    -    0x9010, 0x79e9, 0x7a92, 0x8336, 0x5ae1, 0x7740, 0x4e2d, 0x4ef2,
    -    0x5b99, 0x5fe0, 0x62bd, 0x663c, 0x67f1, 0x6ce8, 0x866b, 0x8877,
    -    0x8a3b, 0x914e, 0x92f3, 0x99d0, 0x6a17, 0x7026, 0x732a, 0x82e7,
    -    0x8457, 0x8caf, 0x4e01, 0x5146, 0x51cb, 0x558b, 0x5bf5, 0x003f,
    -    /* lead byte c4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5e16, 0x5e33, 0x5e81, 0x5f14, 0x5f35, 0x5f6b, 0x5fb4,
    -    0x61f2, 0x6311, 0x66a2, 0x671d, 0x6f6e, 0x7252, 0x753a, 0x773a,
    -    0x8074, 0x8139, 0x8178, 0x8776, 0x8abf, 0x8adc, 0x8d85, 0x8df3,
    -    0x929a, 0x9577, 0x9802, 0x9ce5, 0x52c5, 0x6357, 0x76f4, 0x6715,
    -    0x6c88, 0x73cd, 0x8cc3, 0x93ae, 0x9673, 0x6d25, 0x589c, 0x690e,
    -    0x69cc, 0x8ffd, 0x939a, 0x75db, 0x901a, 0x585a, 0x6802, 0x63b4,
    -    0x69fb, 0x4f43, 0x6f2c, 0x67d8, 0x8fbb, 0x8526, 0x7db4, 0x9354,
    -    0x693f, 0x6f70, 0x576a, 0x58f7, 0x5b2c, 0x7d2c, 0x722a, 0x540a,
    -    0x91e3, 0x9db4, 0x4ead, 0x4f4e, 0x505c, 0x5075, 0x5243, 0x8c9e,
    -    0x5448, 0x5824, 0x5b9a, 0x5e1d, 0x5e95, 0x5ead, 0x5ef7, 0x5f1f,
    -    0x608c, 0x62b5, 0x633a, 0x63d0, 0x68af, 0x6c40, 0x7887, 0x798e,
    -    0x7a0b, 0x7de0, 0x8247, 0x8a02, 0x8ae6, 0x8e44, 0x9013, 0x003f,
    -    /* lead byte c5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x90b8, 0x912d, 0x91d8, 0x9f0e, 0x6ce5, 0x6458, 0x64e2,
    -    0x6575, 0x6ef4, 0x7684, 0x7b1b, 0x9069, 0x93d1, 0x6eba, 0x54f2,
    -    0x5fb9, 0x64a4, 0x8f4d, 0x8fed, 0x9244, 0x5178, 0x586b, 0x5929,
    -    0x5c55, 0x5e97, 0x6dfb, 0x7e8f, 0x751c, 0x8cbc, 0x8ee2, 0x985b,
    -    0x70b9, 0x4f1d, 0x6bbf, 0x6fb1, 0x7530, 0x96fb, 0x514e, 0x5410,
    -    0x5835, 0x5857, 0x59ac, 0x5c60, 0x5f92, 0x6597, 0x675c, 0x6e21,
    -    0x767b, 0x83df, 0x8ced, 0x9014, 0x90fd, 0x934d, 0x7825, 0x783a,
    -    0x52aa, 0x5ea6, 0x571f, 0x5974, 0x6012, 0x5012, 0x515a, 0x51ac,
    -    0x51cd, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5b95, 0x5cf6,
    -    0x5d8b, 0x60bc, 0x6295, 0x642d, 0x6771, 0x6843, 0x68bc, 0x68df,
    -    0x76d7, 0x6dd8, 0x6e6f, 0x6d9b, 0x706f, 0x71c8, 0x5f53, 0x75d8,
    -    0x7977, 0x7b49, 0x7b54, 0x7b52, 0x7cd6, 0x7d71, 0x5230, 0x003f,
    -    /* lead byte c6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8463, 0x8569, 0x85e4, 0x8a0e, 0x8b04, 0x8c46, 0x8e0f,
    -    0x9003, 0x900f, 0x9419, 0x9676, 0x982d, 0x9a30, 0x95d8, 0x50cd,
    -    0x52d5, 0x540c, 0x5802, 0x5c0e, 0x61a7, 0x649e, 0x6d1e, 0x77b3,
    -    0x7ae5, 0x80f4, 0x8404, 0x9053, 0x9285, 0x5ce0, 0x9d07, 0x533f,
    -    0x5f97, 0x5fb3, 0x6d9c, 0x7279, 0x7763, 0x79bf, 0x7be4, 0x6bd2,
    -    0x72ec, 0x8aad, 0x6803, 0x6a61, 0x51f8, 0x7a81, 0x6934, 0x5c4a,
    -    0x9cf6, 0x82eb, 0x5bc5, 0x9149, 0x701e, 0x5678, 0x5c6f, 0x60c7,
    -    0x6566, 0x6c8c, 0x8c5a, 0x9041, 0x9813, 0x5451, 0x66c7, 0x920d,
    -    0x5948, 0x90a3, 0x5185, 0x4e4d, 0x51ea, 0x8599, 0x8b0e, 0x7058,
    -    0x637a, 0x934b, 0x6962, 0x99b4, 0x7e04, 0x7577, 0x5357, 0x6960,
    -    0x8edf, 0x96e3, 0x6c5d, 0x4e8c, 0x5c3c, 0x5f10, 0x8fe9, 0x5302,
    -    0x8cd1, 0x8089, 0x8679, 0x5eff, 0x65e5, 0x4e73, 0x5165, 0x003f,
    -    /* lead byte c7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5982, 0x5c3f, 0x97ee, 0x4efb, 0x598a, 0x5fcd, 0x8a8d,
    -    0x6fe1, 0x79b0, 0x7962, 0x5be7, 0x8471, 0x732b, 0x71b1, 0x5e74,
    -    0x5ff5, 0x637b, 0x649a, 0x71c3, 0x7c98, 0x4e43, 0x5efc, 0x4e4b,
    -    0x57dc, 0x56a2, 0x60a9, 0x6fc3, 0x7d0d, 0x80fd, 0x8133, 0x81bf,
    -    0x8fb2, 0x8997, 0x86a4, 0x5df4, 0x628a, 0x64ad, 0x8987, 0x6777,
    -    0x6ce2, 0x6d3e, 0x7436, 0x7834, 0x5a46, 0x7f75, 0x82ad, 0x99ac,
    -    0x4ff3, 0x5ec3, 0x62dd, 0x6392, 0x6557, 0x676f, 0x76c3, 0x724c,
    -    0x80cc, 0x80ba, 0x8f29, 0x914d, 0x500d, 0x57f9, 0x5a92, 0x6885,
    -    0x6973, 0x7164, 0x72fd, 0x8cb7, 0x58f2, 0x8ce0, 0x966a, 0x9019,
    -    0x877f, 0x79e4, 0x77e7, 0x8429, 0x4f2f, 0x5265, 0x535a, 0x62cd,
    -    0x67cf, 0x6cca, 0x767d, 0x7b94, 0x7c95, 0x8236, 0x8584, 0x8feb,
    -    0x66dd, 0x6f20, 0x7206, 0x7e1b, 0x83ab, 0x99c1, 0x9ea6, 0x003f,
    -    /* lead byte c8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x51fd, 0x7bb1, 0x7872, 0x7bb8, 0x8087, 0x7b48, 0x6ae8,
    -    0x5e61, 0x808c, 0x7551, 0x7560, 0x516b, 0x9262, 0x6e8c, 0x767a,
    -    0x9197, 0x9aea, 0x4f10, 0x7f70, 0x629c, 0x7b4f, 0x95a5, 0x9ce9,
    -    0x567a, 0x5859, 0x86e4, 0x96bc, 0x4f34, 0x5224, 0x534a, 0x53cd,
    -    0x53db, 0x5e06, 0x642c, 0x6591, 0x677f, 0x6c3e, 0x6c4e, 0x7248,
    -    0x72af, 0x73ed, 0x7554, 0x7e41, 0x822c, 0x85e9, 0x8ca9, 0x7bc4,
    -    0x91c6, 0x7169, 0x9812, 0x98ef, 0x633d, 0x6669, 0x756a, 0x76e4,
    -    0x78d0, 0x8543, 0x86ee, 0x532a, 0x5351, 0x5426, 0x5983, 0x5e87,
    -    0x5f7c, 0x60b2, 0x6249, 0x6279, 0x62ab, 0x6590, 0x6bd4, 0x6ccc,
    -    0x75b2, 0x76ae, 0x7891, 0x79d8, 0x7dcb, 0x7f77, 0x80a5, 0x88ab,
    -    0x8ab9, 0x8cbb, 0x907f, 0x975e, 0x98db, 0x6a0b, 0x7c38, 0x5099,
    -    0x5c3e, 0x5fae, 0x6787, 0x6bd8, 0x7435, 0x7709, 0x7f8e, 0x003f,
    -    /* lead byte c9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9f3b, 0x67ca, 0x7a17, 0x5339, 0x758b, 0x9aed, 0x5f66,
    -    0x819d, 0x83f1, 0x8098, 0x5f3c, 0x5fc5, 0x7562, 0x7b46, 0x903c,
    -    0x6867, 0x59eb, 0x5a9b, 0x7d10, 0x767e, 0x8b2c, 0x4ff5, 0x5f6a,
    -    0x6a19, 0x6c37, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8a55, 0x8c79,
    -    0x5edf, 0x63cf, 0x75c5, 0x79d2, 0x82d7, 0x9328, 0x92f2, 0x849c,
    -    0x86ed, 0x9c2d, 0x54c1, 0x5f6c, 0x658c, 0x6d5c, 0x7015, 0x8ca7,
    -    0x8cd3, 0x983b, 0x654f, 0x74f6, 0x4e0d, 0x4ed8, 0x57e0, 0x592b,
    -    0x5a66, 0x5bcc, 0x51a8, 0x5e03, 0x5e9c, 0x6016, 0x6276, 0x6577,
    -    0x65a7, 0x666e, 0x6d6e, 0x7236, 0x7b26, 0x8150, 0x819a, 0x8299,
    -    0x8b5c, 0x8ca0, 0x8ce6, 0x8d74, 0x961c, 0x9644, 0x4fae, 0x64ab,
    -    0x6b66, 0x821e, 0x8461, 0x856a, 0x90e8, 0x5c01, 0x6953, 0x98a8,
    -    0x847a, 0x8557, 0x4f0f, 0x526f, 0x5fa9, 0x5e45, 0x670d, 0x003f,
    -    /* lead byte ca */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x798f, 0x8179, 0x8907, 0x8986, 0x6df5, 0x5f17, 0x6255,
    -    0x6cb8, 0x4ecf, 0x7269, 0x9b92, 0x5206, 0x543b, 0x5674, 0x58b3,
    -    0x61a4, 0x626e, 0x711a, 0x596e, 0x7c89, 0x7cde, 0x7d1b, 0x96f0,
    -    0x6587, 0x805e, 0x4e19, 0x4f75, 0x5175, 0x5840, 0x5e63, 0x5e73,
    -    0x5f0a, 0x67c4, 0x4e26, 0x853d, 0x9589, 0x965b, 0x7c73, 0x9801,
    -    0x50fb, 0x58c1, 0x7656, 0x78a7, 0x5225, 0x77a5, 0x8511, 0x7b86,
    -    0x504f, 0x5909, 0x7247, 0x7bc7, 0x7de8, 0x8fba, 0x8fd4, 0x904d,
    -    0x4fbf, 0x52c9, 0x5a29, 0x5f01, 0x97ad, 0x4fdd, 0x8217, 0x92ea,
    -    0x5703, 0x6355, 0x6b69, 0x752b, 0x88dc, 0x8f14, 0x7a42, 0x52df,
    -    0x5893, 0x6155, 0x620a, 0x66ae, 0x6bcd, 0x7c3f, 0x83e9, 0x5023,
    -    0x4ff8, 0x5305, 0x5446, 0x5831, 0x5949, 0x5b9d, 0x5cf0, 0x5cef,
    -    0x5d29, 0x5e96, 0x62b1, 0x6367, 0x653e, 0x65b9, 0x670b, 0x003f,
    -    /* lead byte cb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6cd5, 0x6ce1, 0x70f9, 0x7832, 0x7e2b, 0x80de, 0x82b3,
    -    0x840c, 0x84ec, 0x8702, 0x8912, 0x8a2a, 0x8c4a, 0x90a6, 0x92d2,
    -    0x98fd, 0x9cf3, 0x9d6c, 0x4e4f, 0x4ea1, 0x508d, 0x5256, 0x574a,
    -    0x59a8, 0x5e3d, 0x5fd8, 0x5fd9, 0x623f, 0x66b4, 0x671b, 0x67d0,
    -    0x68d2, 0x5192, 0x7d21, 0x80aa, 0x81a8, 0x8b00, 0x8c8c, 0x8cbf,
    -    0x927e, 0x9632, 0x5420, 0x982c, 0x5317, 0x50d5, 0x535c, 0x58a8,
    -    0x64b2, 0x6734, 0x7267, 0x7766, 0x7a46, 0x91e6, 0x52c3, 0x6ca1,
    -    0x6b86, 0x5800, 0x5e4c, 0x5954, 0x672c, 0x7ffb, 0x51e1, 0x76c6,
    -    0x6469, 0x78e8, 0x9b54, 0x9ebb, 0x57cb, 0x59b9, 0x6627, 0x679a,
    -    0x6bce, 0x54e9, 0x69d9, 0x5e55, 0x819c, 0x6795, 0x9baa, 0x67fe,
    -    0x9c52, 0x685d, 0x4ea6, 0x4fe3, 0x53c8, 0x62b9, 0x672b, 0x6cab,
    -    0x8fc4, 0x4fad, 0x7e6d, 0x9ebf, 0x4e07, 0x6162, 0x6e80, 0x003f,
    -    /* lead byte cc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6f2b, 0x8513, 0x5473, 0x672a, 0x9b45, 0x5df3, 0x7b95,
    -    0x5cac, 0x5bc6, 0x871c, 0x6e4a, 0x84d1, 0x7a14, 0x8108, 0x5999,
    -    0x7c8d, 0x6c11, 0x7720, 0x52d9, 0x5922, 0x7121, 0x725f, 0x77db,
    -    0x9727, 0x9d61, 0x690b, 0x5a7f, 0x5a18, 0x51a5, 0x540d, 0x547d,
    -    0x660e, 0x76df, 0x8ff7, 0x9298, 0x9cf4, 0x59ea, 0x725d, 0x6ec5,
    -    0x514d, 0x68c9, 0x7dbf, 0x7dec, 0x9762, 0x9eba, 0x6478, 0x6a21,
    -    0x8302, 0x5984, 0x5b5f, 0x6bdb, 0x731b, 0x76f2, 0x7db2, 0x8017,
    -    0x8499, 0x5132, 0x6728, 0x9ed9, 0x76ee, 0x6762, 0x52ff, 0x9905,
    -    0x5c24, 0x623b, 0x7c7e, 0x8cb0, 0x554f, 0x60b6, 0x7d0b, 0x9580,
    -    0x5301, 0x4e5f, 0x51b6, 0x591c, 0x723a, 0x8036, 0x91ce, 0x5f25,
    -    0x77e2, 0x5384, 0x5f79, 0x7d04, 0x85ac, 0x8a33, 0x8e8d, 0x9756,
    -    0x67f3, 0x85ae, 0x9453, 0x6109, 0x6108, 0x6cb9, 0x7652, 0x003f,
    -    /* lead byte cd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8aed, 0x8f38, 0x552f, 0x4f51, 0x512a, 0x52c7, 0x53cb,
    -    0x5ba5, 0x5e7d, 0x60a0, 0x6182, 0x63d6, 0x6709, 0x67da, 0x6e67,
    -    0x6d8c, 0x7336, 0x7337, 0x7531, 0x7950, 0x88d5, 0x8a98, 0x904a,
    -    0x9091, 0x90f5, 0x96c4, 0x878d, 0x5915, 0x4e88, 0x4f59, 0x4e0e,
    -    0x8a89, 0x8f3f, 0x9810, 0x50ad, 0x5e7c, 0x5996, 0x5bb9, 0x5eb8,
    -    0x63da, 0x63fa, 0x64c1, 0x66dc, 0x694a, 0x69d8, 0x6d0b, 0x6eb6,
    -    0x7194, 0x7528, 0x7aaf, 0x7f8a, 0x8000, 0x8449, 0x84c9, 0x8981,
    -    0x8b21, 0x8e0a, 0x9065, 0x967d, 0x990a, 0x617e, 0x6291, 0x6b32,
    -    0x6c83, 0x6d74, 0x7fcc, 0x7ffc, 0x6dc0, 0x7f85, 0x87ba, 0x88f8,
    -    0x6765, 0x83b1, 0x983c, 0x96f7, 0x6d1b, 0x7d61, 0x843d, 0x916a,
    -    0x4e71, 0x5375, 0x5d50, 0x6b04, 0x6feb, 0x85cd, 0x862d, 0x89a7,
    -    0x5229, 0x540f, 0x5c65, 0x674e, 0x68a8, 0x7406, 0x7483, 0x003f,
    -    /* lead byte ce */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x75e2, 0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x9678, 0x5f8b,
    -    0x7387, 0x7acb, 0x844e, 0x63a0, 0x7565, 0x5289, 0x6d41, 0x6e9c,
    -    0x7409, 0x7559, 0x786b, 0x7c92, 0x9686, 0x7adc, 0x9f8d, 0x4fb6,
    -    0x616e, 0x65c5, 0x865c, 0x4e86, 0x4eae, 0x50da, 0x4e21, 0x51cc,
    -    0x5bee, 0x6599, 0x6881, 0x6dbc, 0x731f, 0x7642, 0x77ad, 0x7a1c,
    -    0x7ce7, 0x826f, 0x8ad2, 0x907c, 0x91cf, 0x9675, 0x9818, 0x529b,
    -    0x7dd1, 0x502b, 0x5398, 0x6797, 0x6dcb, 0x71d0, 0x7433, 0x81e8,
    -    0x8f2a, 0x96a3, 0x9c57, 0x9e9f, 0x7460, 0x5841, 0x6d99, 0x7d2f,
    -    0x985e, 0x4ee4, 0x4f36, 0x4f8b, 0x51b7, 0x52b1, 0x5dba, 0x601c,
    -    0x73b2, 0x793c, 0x82d3, 0x9234, 0x96b7, 0x96f6, 0x970a, 0x9e97,
    -    0x9f62, 0x66a6, 0x6b74, 0x5217, 0x52a3, 0x70c8, 0x88c2, 0x5ec9,
    -    0x604b, 0x6190, 0x6f23, 0x7149, 0x7c3e, 0x7df4, 0x806f, 0x003f,
    -    /* lead byte cf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x84ee, 0x9023, 0x932c, 0x5442, 0x9b6f, 0x6ad3, 0x7089,
    -    0x8cc2, 0x8def, 0x9732, 0x52b4, 0x5a41, 0x5eca, 0x5f04, 0x6717,
    -    0x697c, 0x6994, 0x6d6a, 0x6f0f, 0x7262, 0x72fc, 0x7bed, 0x8001,
    -    0x807e, 0x874b, 0x90ce, 0x516d, 0x9e93, 0x7984, 0x808b, 0x9332,
    -    0x8ad6, 0x502d, 0x548c, 0x8a71, 0x6b6a, 0x8cc4, 0x8107, 0x60d1,
    -    0x67a0, 0x9df2, 0x4e99, 0x4e98, 0x9c10, 0x8a6b, 0x85c1, 0x8568,
    -    0x6900, 0x6e7e, 0x7897, 0x8155, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte d0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5f0c, 0x4e10, 0x4e15, 0x4e2a, 0x4e31, 0x4e36, 0x4e3c,
    -    0x4e3f, 0x4e42, 0x4e56, 0x4e58, 0x4e82, 0x4e85, 0x8c6b, 0x4e8a,
    -    0x8212, 0x5f0d, 0x4e8e, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea2, 0x4eb0,
    -    0x4eb3, 0x4eb6, 0x4ece, 0x4ecd, 0x4ec4, 0x4ec6, 0x4ec2, 0x4ed7,
    -    0x4ede, 0x4eed, 0x4edf, 0x4ef7, 0x4f09, 0x4f5a, 0x4f30, 0x4f5b,
    -    0x4f5d, 0x4f57, 0x4f47, 0x4f76, 0x4f88, 0x4f8f, 0x4f98, 0x4f7b,
    -    0x4f69, 0x4f70, 0x4f91, 0x4f6f, 0x4f86, 0x4f96, 0x5118, 0x4fd4,
    -    0x4fdf, 0x4fce, 0x4fd8, 0x4fdb, 0x4fd1, 0x4fda, 0x4fd0, 0x4fe4,
    -    0x4fe5, 0x501a, 0x5028, 0x5014, 0x502a, 0x5025, 0x5005, 0x4f1c,
    -    0x4ff6, 0x5021, 0x5029, 0x502c, 0x4ffe, 0x4fef, 0x5011, 0x5006,
    -    0x5043, 0x5047, 0x6703, 0x5055, 0x5050, 0x5048, 0x505a, 0x5056,
    -    0x506c, 0x5078, 0x5080, 0x509a, 0x5085, 0x50b4, 0x50b2, 0x003f,
    -    /* lead byte d1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x50c9, 0x50ca, 0x50b3, 0x50c2, 0x50d6, 0x50de, 0x50e5,
    -    0x50ed, 0x50e3, 0x50ee, 0x50f9, 0x50f5, 0x5109, 0x5101, 0x5102,
    -    0x5116, 0x5115, 0x5114, 0x511a, 0x5121, 0x513a, 0x5137, 0x513c,
    -    0x513b, 0x513f, 0x5140, 0x5152, 0x514c, 0x5154, 0x5162, 0x7af8,
    -    0x5169, 0x516a, 0x516e, 0x5180, 0x5182, 0x56d8, 0x518c, 0x5189,
    -    0x518f, 0x5191, 0x5193, 0x5195, 0x5196, 0x51a4, 0x51a6, 0x51a2,
    -    0x51a9, 0x51aa, 0x51ab, 0x51b3, 0x51b1, 0x51b2, 0x51b0, 0x51b5,
    -    0x51bd, 0x51c5, 0x51c9, 0x51db, 0x51e0, 0x8655, 0x51e9, 0x51ed,
    -    0x51f0, 0x51f5, 0x51fe, 0x5204, 0x520b, 0x5214, 0x520e, 0x5227,
    -    0x522a, 0x522e, 0x5233, 0x5239, 0x524f, 0x5244, 0x524b, 0x524c,
    -    0x525e, 0x5254, 0x526a, 0x5274, 0x5269, 0x5273, 0x527f, 0x527d,
    -    0x528d, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8fa8, 0x003f,
    -    /* lead byte d2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8fa7, 0x52ac, 0x52ad, 0x52bc, 0x52b5, 0x52c1, 0x52cd,
    -    0x52d7, 0x52de, 0x52e3, 0x52e6, 0x98ed, 0x52e0, 0x52f3, 0x52f5,
    -    0x52f8, 0x52f9, 0x5306, 0x5308, 0x7538, 0x530d, 0x5310, 0x530f,
    -    0x5315, 0x531a, 0x5323, 0x532f, 0x5331, 0x5333, 0x5338, 0x5340,
    -    0x5346, 0x5345, 0x4e17, 0x5349, 0x534d, 0x51d6, 0x535e, 0x5369,
    -    0x536e, 0x5918, 0x537b, 0x5377, 0x5382, 0x5396, 0x53a0, 0x53a6,
    -    0x53a5, 0x53ae, 0x53b0, 0x53b6, 0x53c3, 0x7c12, 0x96d9, 0x53df,
    -    0x66fc, 0x71ee, 0x53ee, 0x53e8, 0x53ed, 0x53fa, 0x5401, 0x543d,
    -    0x5440, 0x542c, 0x542d, 0x543c, 0x542e, 0x5436, 0x5429, 0x541d,
    -    0x544e, 0x548f, 0x5475, 0x548e, 0x545f, 0x5471, 0x5477, 0x5470,
    -    0x5492, 0x547b, 0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54c7,
    -    0x54a2, 0x54b8, 0x54a5, 0x54ac, 0x54c4, 0x54c8, 0x54a8, 0x003f,
    -    /* lead byte d3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x54ab, 0x54c2, 0x54a4, 0x54be, 0x54bc, 0x54d8, 0x54e5,
    -    0x54e6, 0x550f, 0x5514, 0x54fd, 0x54ee, 0x54ed, 0x54fa, 0x54e2,
    -    0x5539, 0x5540, 0x5563, 0x554c, 0x552e, 0x555c, 0x5545, 0x5556,
    -    0x5557, 0x5538, 0x5533, 0x555d, 0x5599, 0x5580, 0x54af, 0x558a,
    -    0x559f, 0x557b, 0x557e, 0x5598, 0x559e, 0x55ae, 0x557c, 0x5583,
    -    0x55a9, 0x5587, 0x55a8, 0x55da, 0x55c5, 0x55df, 0x55c4, 0x55dc,
    -    0x55e4, 0x55d4, 0x5614, 0x55f7, 0x5616, 0x55fe, 0x55fd, 0x561b,
    -    0x55f9, 0x564e, 0x5650, 0x71df, 0x5634, 0x5636, 0x5632, 0x5638,
    -    0x566b, 0x5664, 0x562f, 0x566c, 0x566a, 0x5686, 0x5680, 0x568a,
    -    0x56a0, 0x5694, 0x568f, 0x56a5, 0x56ae, 0x56b6, 0x56b4, 0x56c2,
    -    0x56bc, 0x56c1, 0x56c3, 0x56c0, 0x56c8, 0x56ce, 0x56d1, 0x56d3,
    -    0x56d7, 0x56ee, 0x56f9, 0x5700, 0x56ff, 0x5704, 0x5709, 0x003f,
    -    /* lead byte d4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5708, 0x570b, 0x570d, 0x5713, 0x5718, 0x5716, 0x55c7,
    -    0x571c, 0x5726, 0x5737, 0x5738, 0x574e, 0x573b, 0x5740, 0x574f,
    -    0x5769, 0x57c0, 0x5788, 0x5761, 0x577f, 0x5789, 0x5793, 0x57a0,
    -    0x57b3, 0x57a4, 0x57aa, 0x57b0, 0x57c3, 0x57c6, 0x57d4, 0x57d2,
    -    0x57d3, 0x580a, 0x57d6, 0x57e3, 0x580b, 0x5819, 0x581d, 0x5872,
    -    0x5821, 0x5862, 0x584b, 0x5870, 0x6bc0, 0x5852, 0x583d, 0x5879,
    -    0x5885, 0x58b9, 0x589f, 0x58ab, 0x58ba, 0x58de, 0x58bb, 0x58b8,
    -    0x58ae, 0x58c5, 0x58d3, 0x58d1, 0x58d7, 0x58d9, 0x58d8, 0x58e5,
    -    0x58dc, 0x58e4, 0x58df, 0x58ef, 0x58fa, 0x58f9, 0x58fb, 0x58fc,
    -    0x58fd, 0x5902, 0x590a, 0x5910, 0x591b, 0x68a6, 0x5925, 0x592c,
    -    0x592d, 0x5932, 0x5938, 0x593e, 0x7ad2, 0x5955, 0x5950, 0x594e,
    -    0x595a, 0x5958, 0x5962, 0x5960, 0x5967, 0x596c, 0x5969, 0x003f,
    -    /* lead byte d5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5978, 0x5981, 0x599d, 0x4f5e, 0x4fab, 0x59a3, 0x59b2,
    -    0x59c6, 0x59e8, 0x59dc, 0x598d, 0x59d9, 0x59da, 0x5a25, 0x5a1f,
    -    0x5a11, 0x5a1c, 0x5a09, 0x5a1a, 0x5a40, 0x5a6c, 0x5a49, 0x5a35,
    -    0x5a36, 0x5a62, 0x5a6a, 0x5a9a, 0x5abc, 0x5abe, 0x5acb, 0x5ac2,
    -    0x5abd, 0x5ae3, 0x5ad7, 0x5ae6, 0x5ae9, 0x5ad6, 0x5afa, 0x5afb,
    -    0x5b0c, 0x5b0b, 0x5b16, 0x5b32, 0x5ad0, 0x5b2a, 0x5b36, 0x5b3e,
    -    0x5b43, 0x5b45, 0x5b40, 0x5b51, 0x5b55, 0x5b5a, 0x5b5b, 0x5b65,
    -    0x5b69, 0x5b70, 0x5b73, 0x5b75, 0x5b78, 0x6588, 0x5b7a, 0x5b80,
    -    0x5b83, 0x5ba6, 0x5bb8, 0x5bc3, 0x5bc7, 0x5bc9, 0x5bd4, 0x5bd0,
    -    0x5be4, 0x5be6, 0x5be2, 0x5bde, 0x5be5, 0x5beb, 0x5bf0, 0x5bf6,
    -    0x5bf3, 0x5c05, 0x5c07, 0x5c08, 0x5c0d, 0x5c13, 0x5c20, 0x5c22,
    -    0x5c28, 0x5c38, 0x5c39, 0x5c41, 0x5c46, 0x5c4e, 0x5c53, 0x003f,
    -    /* lead byte d6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5c50, 0x5c4f, 0x5b71, 0x5c6c, 0x5c6e, 0x4e62, 0x5c76,
    -    0x5c79, 0x5c8c, 0x5c91, 0x5c94, 0x599b, 0x5cab, 0x5cbb, 0x5cb6,
    -    0x5cbc, 0x5cb7, 0x5cc5, 0x5cbe, 0x5cc7, 0x5cd9, 0x5ce9, 0x5cfd,
    -    0x5cfa, 0x5ced, 0x5d8c, 0x5cea, 0x5d0b, 0x5d15, 0x5d17, 0x5d5c,
    -    0x5d1f, 0x5d1b, 0x5d11, 0x5d14, 0x5d22, 0x5d1a, 0x5d19, 0x5d18,
    -    0x5d4c, 0x5d52, 0x5d4e, 0x5d4b, 0x5d6c, 0x5d73, 0x5d76, 0x5d87,
    -    0x5d84, 0x5d82, 0x5da2, 0x5d9d, 0x5dac, 0x5dae, 0x5dbd, 0x5d90,
    -    0x5db7, 0x5dbc, 0x5dc9, 0x5dcd, 0x5dd3, 0x5dd2, 0x5dd6, 0x5ddb,
    -    0x5deb, 0x5df2, 0x5df5, 0x5e0b, 0x5e1a, 0x5e19, 0x5e11, 0x5e1b,
    -    0x5e36, 0x5e37, 0x5e44, 0x5e43, 0x5e40, 0x5e4e, 0x5e57, 0x5e54,
    -    0x5e5f, 0x5e62, 0x5e64, 0x5e47, 0x5e75, 0x5e76, 0x5e7a, 0x9ebc,
    -    0x5e7f, 0x5ea0, 0x5ec1, 0x5ec2, 0x5ec8, 0x5ed0, 0x5ecf, 0x003f,
    -    /* lead byte d7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5ed6, 0x5ee3, 0x5edd, 0x5eda, 0x5edb, 0x5ee2, 0x5ee1,
    -    0x5ee8, 0x5ee9, 0x5eec, 0x5ef1, 0x5ef3, 0x5ef0, 0x5ef4, 0x5ef8,
    -    0x5efe, 0x5f03, 0x5f09, 0x5f5d, 0x5f5c, 0x5f0b, 0x5f11, 0x5f16,
    -    0x5f29, 0x5f2d, 0x5f38, 0x5f41, 0x5f48, 0x5f4c, 0x5f4e, 0x5f2f,
    -    0x5f51, 0x5f56, 0x5f57, 0x5f59, 0x5f61, 0x5f6d, 0x5f73, 0x5f77,
    -    0x5f83, 0x5f82, 0x5f7f, 0x5f8a, 0x5f88, 0x5f91, 0x5f87, 0x5f9e,
    -    0x5f99, 0x5f98, 0x5fa0, 0x5fa8, 0x5fad, 0x5fbc, 0x5fd6, 0x5ffb,
    -    0x5fe4, 0x5ff8, 0x5ff1, 0x5fdd, 0x60b3, 0x5fff, 0x6021, 0x6060,
    -    0x6019, 0x6010, 0x6029, 0x600e, 0x6031, 0x601b, 0x6015, 0x602b,
    -    0x6026, 0x600f, 0x603a, 0x605a, 0x6041, 0x606a, 0x6077, 0x605f,
    -    0x604a, 0x6046, 0x604d, 0x6063, 0x6043, 0x6064, 0x6042, 0x606c,
    -    0x606b, 0x6059, 0x6081, 0x608d, 0x60e7, 0x6083, 0x609a, 0x003f,
    -    /* lead byte d8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6084, 0x609b, 0x6096, 0x6097, 0x6092, 0x60a7, 0x608b,
    -    0x60e1, 0x60b8, 0x60e0, 0x60d3, 0x60b4, 0x5ff0, 0x60bd, 0x60c6,
    -    0x60b5, 0x60d8, 0x614d, 0x6115, 0x6106, 0x60f6, 0x60f7, 0x6100,
    -    0x60f4, 0x60fa, 0x6103, 0x6121, 0x60fb, 0x60f1, 0x610d, 0x610e,
    -    0x6147, 0x613e, 0x6128, 0x6127, 0x614a, 0x613f, 0x613c, 0x612c,
    -    0x6134, 0x613d, 0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159,
    -    0x615a, 0x616b, 0x6174, 0x616f, 0x6165, 0x6171, 0x615f, 0x615d,
    -    0x6153, 0x6175, 0x6199, 0x6196, 0x6187, 0x61ac, 0x6194, 0x619a,
    -    0x618a, 0x6191, 0x61ab, 0x61ae, 0x61cc, 0x61ca, 0x61c9, 0x61f7,
    -    0x61c8, 0x61c3, 0x61c6, 0x61ba, 0x61cb, 0x7f79, 0x61cd, 0x61e6,
    -    0x61e3, 0x61f6, 0x61fa, 0x61f4, 0x61ff, 0x61fd, 0x61fc, 0x61fe,
    -    0x6200, 0x6208, 0x6209, 0x620d, 0x620c, 0x6214, 0x621b, 0x003f,
    -    /* lead byte d9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x621e, 0x6221, 0x622a, 0x622e, 0x6230, 0x6232, 0x6233,
    -    0x6241, 0x624e, 0x625e, 0x6263, 0x625b, 0x6260, 0x6268, 0x627c,
    -    0x6282, 0x6289, 0x627e, 0x6292, 0x6293, 0x6296, 0x62d4, 0x6283,
    -    0x6294, 0x62d7, 0x62d1, 0x62bb, 0x62cf, 0x62ff, 0x62c6, 0x64d4,
    -    0x62c8, 0x62dc, 0x62cc, 0x62ca, 0x62c2, 0x62c7, 0x629b, 0x62c9,
    -    0x630c, 0x62ee, 0x62f1, 0x6327, 0x6302, 0x6308, 0x62ef, 0x62f5,
    -    0x6350, 0x633e, 0x634d, 0x641c, 0x634f, 0x6396, 0x638e, 0x6380,
    -    0x63ab, 0x6376, 0x63a3, 0x638f, 0x6389, 0x639f, 0x63b5, 0x636b,
    -    0x6369, 0x63be, 0x63e9, 0x63c0, 0x63c6, 0x63e3, 0x63c9, 0x63d2,
    -    0x63f6, 0x63c4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436,
    -    0x651d, 0x6417, 0x6428, 0x640f, 0x6467, 0x646f, 0x6476, 0x644e,
    -    0x652a, 0x6495, 0x6493, 0x64a5, 0x64a9, 0x6488, 0x64bc, 0x003f,
    -    /* lead byte da */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x64da, 0x64d2, 0x64c5, 0x64c7, 0x64bb, 0x64d8, 0x64c2,
    -    0x64f1, 0x64e7, 0x8209, 0x64e0, 0x64e1, 0x62ac, 0x64e3, 0x64ef,
    -    0x652c, 0x64f6, 0x64f4, 0x64f2, 0x64fa, 0x6500, 0x64fd, 0x6518,
    -    0x651c, 0x6505, 0x6524, 0x6523, 0x652b, 0x6534, 0x6535, 0x6537,
    -    0x6536, 0x6538, 0x754b, 0x6548, 0x6556, 0x6555, 0x654d, 0x6558,
    -    0x655e, 0x655d, 0x6572, 0x6578, 0x6582, 0x6583, 0x8b8a, 0x659b,
    -    0x659f, 0x65ab, 0x65b7, 0x65c3, 0x65c6, 0x65c1, 0x65c4, 0x65cc,
    -    0x65d2, 0x65db, 0x65d9, 0x65e0, 0x65e1, 0x65f1, 0x6772, 0x660a,
    -    0x6603, 0x65fb, 0x6773, 0x6635, 0x6636, 0x6634, 0x661c, 0x664f,
    -    0x6644, 0x6649, 0x6641, 0x665e, 0x665d, 0x6664, 0x6667, 0x6668,
    -    0x665f, 0x6662, 0x6670, 0x6683, 0x6688, 0x668e, 0x6689, 0x6684,
    -    0x6698, 0x669d, 0x66c1, 0x66b9, 0x66c9, 0x66be, 0x66bc, 0x003f,
    -    /* lead byte db */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x66c4, 0x66b8, 0x66d6, 0x66da, 0x66e0, 0x663f, 0x66e6,
    -    0x66e9, 0x66f0, 0x66f5, 0x66f7, 0x670f, 0x6716, 0x671e, 0x6726,
    -    0x6727, 0x9738, 0x672e, 0x673f, 0x6736, 0x6741, 0x6738, 0x6737,
    -    0x6746, 0x675e, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770,
    -    0x67a9, 0x677c, 0x676a, 0x678c, 0x678b, 0x67a6, 0x67a1, 0x6785,
    -    0x67b7, 0x67ef, 0x67b4, 0x67ec, 0x67b3, 0x67e9, 0x67b8, 0x67e4,
    -    0x67de, 0x67dd, 0x67e2, 0x67ee, 0x67b9, 0x67ce, 0x67c6, 0x67e7,
    -    0x6a9c, 0x681e, 0x6846, 0x6829, 0x6840, 0x684d, 0x6832, 0x684e,
    -    0x68b3, 0x682b, 0x6859, 0x6863, 0x6877, 0x687f, 0x689f, 0x688f,
    -    0x68ad, 0x6894, 0x689d, 0x689b, 0x6883, 0x6aae, 0x68b9, 0x6874,
    -    0x68b5, 0x68a0, 0x68ba, 0x690f, 0x688d, 0x687e, 0x6901, 0x68ca,
    -    0x6908, 0x68d8, 0x6922, 0x6926, 0x68e1, 0x690c, 0x68cd, 0x003f,
    -    /* lead byte dc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x68d4, 0x68e7, 0x68d5, 0x6936, 0x6912, 0x6904, 0x68d7,
    -    0x68e3, 0x6925, 0x68f9, 0x68e0, 0x68ef, 0x6928, 0x692a, 0x691a,
    -    0x6923, 0x6921, 0x68c6, 0x6979, 0x6977, 0x695c, 0x6978, 0x696b,
    -    0x6954, 0x697e, 0x696e, 0x6939, 0x6974, 0x693d, 0x6959, 0x6930,
    -    0x6961, 0x695e, 0x695d, 0x6981, 0x696a, 0x69b2, 0x69ae, 0x69d0,
    -    0x69bf, 0x69c1, 0x69d3, 0x69be, 0x69ce, 0x5be8, 0x69ca, 0x69dd,
    -    0x69bb, 0x69c3, 0x69a7, 0x6a2e, 0x6991, 0x69a0, 0x699c, 0x6995,
    -    0x69b4, 0x69de, 0x69e8, 0x6a02, 0x6a1b, 0x69ff, 0x6b0a, 0x69f9,
    -    0x69f2, 0x69e7, 0x6a05, 0x69b1, 0x6a1e, 0x69ed, 0x6a14, 0x69eb,
    -    0x6a0a, 0x6a12, 0x6ac1, 0x6a23, 0x6a13, 0x6a44, 0x6a0c, 0x6a72,
    -    0x6a36, 0x6a78, 0x6a47, 0x6a62, 0x6a59, 0x6a66, 0x6a48, 0x6a38,
    -    0x6a22, 0x6a90, 0x6a8d, 0x6aa0, 0x6a84, 0x6aa2, 0x6aa3, 0x003f,
    -    /* lead byte dd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6a97, 0x8617, 0x6abb, 0x6ac3, 0x6ac2, 0x6ab8, 0x6ab3,
    -    0x6aac, 0x6ade, 0x6ad1, 0x6adf, 0x6aaa, 0x6ada, 0x6aea, 0x6afb,
    -    0x6b05, 0x8616, 0x6afa, 0x6b12, 0x6b16, 0x9b31, 0x6b1f, 0x6b38,
    -    0x6b37, 0x76dc, 0x6b39, 0x98ee, 0x6b47, 0x6b43, 0x6b49, 0x6b50,
    -    0x6b59, 0x6b54, 0x6b5b, 0x6b5f, 0x6b61, 0x6b78, 0x6b79, 0x6b7f,
    -    0x6b80, 0x6b84, 0x6b83, 0x6b8d, 0x6b98, 0x6b95, 0x6b9e, 0x6ba4,
    -    0x6baa, 0x6bab, 0x6baf, 0x6bb2, 0x6bb1, 0x6bb3, 0x6bb7, 0x6bbc,
    -    0x6bc6, 0x6bcb, 0x6bd3, 0x6bdf, 0x6bec, 0x6beb, 0x6bf3, 0x6bef,
    -    0x9ebe, 0x6c08, 0x6c13, 0x6c14, 0x6c1b, 0x6c24, 0x6c23, 0x6c5e,
    -    0x6c55, 0x6c62, 0x6c6a, 0x6c82, 0x6c8d, 0x6c9a, 0x6c81, 0x6c9b,
    -    0x6c7e, 0x6c68, 0x6c73, 0x6c92, 0x6c90, 0x6cc4, 0x6cf1, 0x6cd3,
    -    0x6cbd, 0x6cd7, 0x6cc5, 0x6cdd, 0x6cae, 0x6cb1, 0x6cbe, 0x003f,
    -    /* lead byte de */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6cba, 0x6cdb, 0x6cef, 0x6cd9, 0x6cea, 0x6d1f, 0x884d,
    -    0x6d36, 0x6d2b, 0x6d3d, 0x6d38, 0x6d19, 0x6d35, 0x6d33, 0x6d12,
    -    0x6d0c, 0x6d63, 0x6d93, 0x6d64, 0x6d5a, 0x6d79, 0x6d59, 0x6d8e,
    -    0x6d95, 0x6fe4, 0x6d85, 0x6df9, 0x6e15, 0x6e0a, 0x6db5, 0x6dc7,
    -    0x6de6, 0x6db8, 0x6dc6, 0x6dec, 0x6dde, 0x6dcc, 0x6de8, 0x6dd2,
    -    0x6dc5, 0x6dfa, 0x6dd9, 0x6de4, 0x6dd5, 0x6dea, 0x6dee, 0x6e2d,
    -    0x6e6e, 0x6e2e, 0x6e19, 0x6e72, 0x6e5f, 0x6e3e, 0x6e23, 0x6e6b,
    -    0x6e2b, 0x6e76, 0x6e4d, 0x6e1f, 0x6e43, 0x6e3a, 0x6e4e, 0x6e24,
    -    0x6eff, 0x6e1d, 0x6e38, 0x6e82, 0x6eaa, 0x6e98, 0x6ec9, 0x6eb7,
    -    0x6ed3, 0x6ebd, 0x6eaf, 0x6ec4, 0x6eb2, 0x6ed4, 0x6ed5, 0x6e8f,
    -    0x6ea5, 0x6ec2, 0x6e9f, 0x6f41, 0x6f11, 0x704c, 0x6eec, 0x6ef8,
    -    0x6efe, 0x6f3f, 0x6ef2, 0x6f31, 0x6eef, 0x6f32, 0x6ecc, 0x003f,
    -    /* lead byte df */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6f3e, 0x6f13, 0x6ef7, 0x6f86, 0x6f7a, 0x6f78, 0x6f81,
    -    0x6f80, 0x6f6f, 0x6f5b, 0x6ff3, 0x6f6d, 0x6f82, 0x6f7c, 0x6f58,
    -    0x6f8e, 0x6f91, 0x6fc2, 0x6f66, 0x6fb3, 0x6fa3, 0x6fa1, 0x6fa4,
    -    0x6fb9, 0x6fc6, 0x6faa, 0x6fdf, 0x6fd5, 0x6fec, 0x6fd4, 0x6fd8,
    -    0x6ff1, 0x6fee, 0x6fdb, 0x7009, 0x700b, 0x6ffa, 0x7011, 0x7001,
    -    0x700f, 0x6ffe, 0x701b, 0x701a, 0x6f74, 0x701d, 0x7018, 0x701f,
    -    0x7030, 0x703e, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70af,
    -    0x70f1, 0x70ac, 0x70b8, 0x70b3, 0x70ae, 0x70df, 0x70cb, 0x70dd,
    -    0x70d9, 0x7109, 0x70fd, 0x711c, 0x7119, 0x7165, 0x7155, 0x7188,
    -    0x7166, 0x7162, 0x714c, 0x7156, 0x716c, 0x718f, 0x71fb, 0x7184,
    -    0x7195, 0x71a8, 0x71ac, 0x71d7, 0x71b9, 0x71be, 0x71d2, 0x71c9,
    -    0x71d4, 0x71ce, 0x71e0, 0x71ec, 0x71e7, 0x71f5, 0x71fc, 0x003f,
    -    /* lead byte e0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x71f9, 0x71ff, 0x720d, 0x7210, 0x721b, 0x7228, 0x722d,
    -    0x722c, 0x7230, 0x7232, 0x723b, 0x723c, 0x723f, 0x7240, 0x7246,
    -    0x724b, 0x7258, 0x7274, 0x727e, 0x7282, 0x7281, 0x7287, 0x7292,
    -    0x7296, 0x72a2, 0x72a7, 0x72b9, 0x72b2, 0x72c3, 0x72c6, 0x72c4,
    -    0x72ce, 0x72d2, 0x72e2, 0x72e0, 0x72e1, 0x72f9, 0x72f7, 0x500f,
    -    0x7317, 0x730a, 0x731c, 0x7316, 0x731d, 0x7334, 0x732f, 0x7329,
    -    0x7325, 0x733e, 0x734e, 0x734f, 0x9ed8, 0x7357, 0x736a, 0x7368,
    -    0x7370, 0x7378, 0x7375, 0x737b, 0x737a, 0x73c8, 0x73b3, 0x73ce,
    -    0x73bb, 0x73c0, 0x73e5, 0x73ee, 0x73de, 0x74a2, 0x7405, 0x746f,
    -    0x7425, 0x73f8, 0x7432, 0x743a, 0x7455, 0x743f, 0x745f, 0x7459,
    -    0x7441, 0x745c, 0x7469, 0x7470, 0x7463, 0x746a, 0x7476, 0x747e,
    -    0x748b, 0x749e, 0x74a7, 0x74ca, 0x74cf, 0x74d4, 0x73f1, 0x003f,
    -    /* lead byte e1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x74e0, 0x74e3, 0x74e7, 0x74e9, 0x74ee, 0x74f2, 0x74f0,
    -    0x74f1, 0x74f8, 0x74f7, 0x7504, 0x7503, 0x7505, 0x750c, 0x750e,
    -    0x750d, 0x7515, 0x7513, 0x751e, 0x7526, 0x752c, 0x753c, 0x7544,
    -    0x754d, 0x754a, 0x7549, 0x755b, 0x7546, 0x755a, 0x7569, 0x7564,
    -    0x7567, 0x756b, 0x756d, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574,
    -    0x758a, 0x7589, 0x7582, 0x7594, 0x759a, 0x759d, 0x75a5, 0x75a3,
    -    0x75c2, 0x75b3, 0x75c3, 0x75b5, 0x75bd, 0x75b8, 0x75bc, 0x75b1,
    -    0x75cd, 0x75ca, 0x75d2, 0x75d9, 0x75e3, 0x75de, 0x75fe, 0x75ff,
    -    0x75fc, 0x7601, 0x75f0, 0x75fa, 0x75f2, 0x75f3, 0x760b, 0x760d,
    -    0x7609, 0x761f, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634,
    -    0x7630, 0x763b, 0x7647, 0x7648, 0x7646, 0x765c, 0x7658, 0x7661,
    -    0x7662, 0x7668, 0x7669, 0x766a, 0x7667, 0x766c, 0x7670, 0x003f,
    -    /* lead byte e2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7672, 0x7676, 0x7678, 0x767c, 0x7680, 0x7683, 0x7688,
    -    0x768b, 0x768e, 0x7696, 0x7693, 0x7699, 0x769a, 0x76b0, 0x76b4,
    -    0x76b8, 0x76b9, 0x76ba, 0x76c2, 0x76cd, 0x76d6, 0x76d2, 0x76de,
    -    0x76e1, 0x76e5, 0x76e7, 0x76ea, 0x862f, 0x76fb, 0x7708, 0x7707,
    -    0x7704, 0x7729, 0x7724, 0x771e, 0x7725, 0x7726, 0x771b, 0x7737,
    -    0x7738, 0x7747, 0x775a, 0x7768, 0x776b, 0x775b, 0x7765, 0x777f,
    -    0x777e, 0x7779, 0x778e, 0x778b, 0x7791, 0x77a0, 0x779e, 0x77b0,
    -    0x77b6, 0x77b9, 0x77bf, 0x77bc, 0x77bd, 0x77bb, 0x77c7, 0x77cd,
    -    0x77d7, 0x77da, 0x77dc, 0x77e3, 0x77ee, 0x77fc, 0x780c, 0x7812,
    -    0x7926, 0x7820, 0x792a, 0x7845, 0x788e, 0x7874, 0x7886, 0x787c,
    -    0x789a, 0x788c, 0x78a3, 0x78b5, 0x78aa, 0x78af, 0x78d1, 0x78c6,
    -    0x78cb, 0x78d4, 0x78be, 0x78bc, 0x78c5, 0x78ca, 0x78ec, 0x003f,
    -    /* lead byte e3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x78e7, 0x78da, 0x78fd, 0x78f4, 0x7907, 0x7912, 0x7911,
    -    0x7919, 0x792c, 0x792b, 0x7940, 0x7960, 0x7957, 0x795f, 0x795a,
    -    0x7955, 0x7953, 0x797a, 0x797f, 0x798a, 0x799d, 0x79a7, 0x9f4b,
    -    0x79aa, 0x79ae, 0x79b3, 0x79b9, 0x79ba, 0x79c9, 0x79d5, 0x79e7,
    -    0x79ec, 0x79e1, 0x79e3, 0x7a08, 0x7a0d, 0x7a18, 0x7a19, 0x7a20,
    -    0x7a1f, 0x7980, 0x7a31, 0x7a3b, 0x7a3e, 0x7a37, 0x7a43, 0x7a57,
    -    0x7a49, 0x7a61, 0x7a62, 0x7a69, 0x9f9d, 0x7a70, 0x7a79, 0x7a7d,
    -    0x7a88, 0x7a97, 0x7a95, 0x7a98, 0x7a96, 0x7aa9, 0x7ac8, 0x7ab0,
    -    0x7ab6, 0x7ac5, 0x7ac4, 0x7abf, 0x9083, 0x7ac7, 0x7aca, 0x7acd,
    -    0x7acf, 0x7ad5, 0x7ad3, 0x7ad9, 0x7ada, 0x7add, 0x7ae1, 0x7ae2,
    -    0x7ae6, 0x7aed, 0x7af0, 0x7b02, 0x7b0f, 0x7b0a, 0x7b06, 0x7b33,
    -    0x7b18, 0x7b19, 0x7b1e, 0x7b35, 0x7b28, 0x7b36, 0x7b50, 0x003f,
    -    /* lead byte e4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7b7a, 0x7b04, 0x7b4d, 0x7b0b, 0x7b4c, 0x7b45, 0x7b75,
    -    0x7b65, 0x7b74, 0x7b67, 0x7b70, 0x7b71, 0x7b6c, 0x7b6e, 0x7b9d,
    -    0x7b98, 0x7b9f, 0x7b8d, 0x7b9c, 0x7b9a, 0x7b8b, 0x7b92, 0x7b8f,
    -    0x7b5d, 0x7b99, 0x7bcb, 0x7bc1, 0x7bcc, 0x7bcf, 0x7bb4, 0x7bc6,
    -    0x7bdd, 0x7be9, 0x7c11, 0x7c14, 0x7be6, 0x7be5, 0x7c60, 0x7c00,
    -    0x7c07, 0x7c13, 0x7bf3, 0x7bf7, 0x7c17, 0x7c0d, 0x7bf6, 0x7c23,
    -    0x7c27, 0x7c2a, 0x7c1f, 0x7c37, 0x7c2b, 0x7c3d, 0x7c4c, 0x7c43,
    -    0x7c54, 0x7c4f, 0x7c40, 0x7c50, 0x7c58, 0x7c5f, 0x7c64, 0x7c56,
    -    0x7c65, 0x7c6c, 0x7c75, 0x7c83, 0x7c90, 0x7ca4, 0x7cad, 0x7ca2,
    -    0x7cab, 0x7ca1, 0x7ca8, 0x7cb3, 0x7cb2, 0x7cb1, 0x7cae, 0x7cb9,
    -    0x7cbd, 0x7cc0, 0x7cc5, 0x7cc2, 0x7cd8, 0x7cd2, 0x7cdc, 0x7ce2,
    -    0x9b3b, 0x7cef, 0x7cf2, 0x7cf4, 0x7cf6, 0x7cfa, 0x7d06, 0x003f,
    -    /* lead byte e5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7d02, 0x7d1c, 0x7d15, 0x7d0a, 0x7d45, 0x7d4b, 0x7d2e,
    -    0x7d32, 0x7d3f, 0x7d35, 0x7d46, 0x7d73, 0x7d56, 0x7d4e, 0x7d72,
    -    0x7d68, 0x7d6e, 0x7d4f, 0x7d63, 0x7d93, 0x7d89, 0x7d5b, 0x7d8f,
    -    0x7d7d, 0x7d9b, 0x7dba, 0x7dae, 0x7da3, 0x7db5, 0x7dc7, 0x7dbd,
    -    0x7dab, 0x7e3d, 0x7da2, 0x7daf, 0x7ddc, 0x7db8, 0x7d9f, 0x7db0,
    -    0x7dd8, 0x7ddd, 0x7de4, 0x7dde, 0x7dfb, 0x7df2, 0x7de1, 0x7e05,
    -    0x7e0a, 0x7e23, 0x7e21, 0x7e12, 0x7e31, 0x7e1f, 0x7e09, 0x7e0b,
    -    0x7e22, 0x7e46, 0x7e66, 0x7e3b, 0x7e35, 0x7e39, 0x7e43, 0x7e37,
    -    0x7e32, 0x7e3a, 0x7e67, 0x7e5d, 0x7e56, 0x7e5e, 0x7e59, 0x7e5a,
    -    0x7e79, 0x7e6a, 0x7e69, 0x7e7c, 0x7e7b, 0x7e83, 0x7dd5, 0x7e7d,
    -    0x8fae, 0x7e7f, 0x7e88, 0x7e89, 0x7e8c, 0x7e92, 0x7e90, 0x7e93,
    -    0x7e94, 0x7e96, 0x7e8e, 0x7e9b, 0x7e9c, 0x7f38, 0x7f3a, 0x003f,
    -    /* lead byte e6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7f45, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f50, 0x7f51, 0x7f55,
    -    0x7f54, 0x7f58, 0x7f5f, 0x7f60, 0x7f68, 0x7f69, 0x7f67, 0x7f78,
    -    0x7f82, 0x7f86, 0x7f83, 0x7f88, 0x7f87, 0x7f8c, 0x7f94, 0x7f9e,
    -    0x7f9d, 0x7f9a, 0x7fa3, 0x7faf, 0x7fb2, 0x7fb9, 0x7fae, 0x7fb6,
    -    0x7fb8, 0x8b71, 0x7fc5, 0x7fc6, 0x7fca, 0x7fd5, 0x7fd4, 0x7fe1,
    -    0x7fe6, 0x7fe9, 0x7ff3, 0x7ff9, 0x98dc, 0x8006, 0x8004, 0x800b,
    -    0x8012, 0x8018, 0x8019, 0x801c, 0x8021, 0x8028, 0x803f, 0x803b,
    -    0x804a, 0x8046, 0x8052, 0x8058, 0x805a, 0x805f, 0x8062, 0x8068,
    -    0x8073, 0x8072, 0x8070, 0x8076, 0x8079, 0x807d, 0x807f, 0x8084,
    -    0x8086, 0x8085, 0x809b, 0x8093, 0x809a, 0x80ad, 0x5190, 0x80ac,
    -    0x80db, 0x80e5, 0x80d9, 0x80dd, 0x80c4, 0x80da, 0x80d6, 0x8109,
    -    0x80ef, 0x80f1, 0x811b, 0x8129, 0x8123, 0x812f, 0x814b, 0x003f,
    -    /* lead byte e7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x968b, 0x8146, 0x813e, 0x8153, 0x8151, 0x80fc, 0x8171,
    -    0x816e, 0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818a, 0x8180,
    -    0x8182, 0x81a0, 0x8195, 0x81a4, 0x81a3, 0x815f, 0x8193, 0x81a9,
    -    0x81b0, 0x81b5, 0x81be, 0x81b8, 0x81bd, 0x81c0, 0x81c2, 0x81ba,
    -    0x81c9, 0x81cd, 0x81d1, 0x81d9, 0x81d8, 0x81c8, 0x81da, 0x81df,
    -    0x81e0, 0x81e7, 0x81fa, 0x81fb, 0x81fe, 0x8201, 0x8202, 0x8205,
    -    0x8207, 0x820a, 0x820d, 0x8210, 0x8216, 0x8229, 0x822b, 0x8238,
    -    0x8233, 0x8240, 0x8259, 0x8258, 0x825d, 0x825a, 0x825f, 0x8264,
    -    0x8262, 0x8268, 0x826a, 0x826b, 0x822e, 0x8271, 0x8277, 0x8278,
    -    0x827e, 0x828d, 0x8292, 0x82ab, 0x829f, 0x82bb, 0x82ac, 0x82e1,
    -    0x82e3, 0x82df, 0x82d2, 0x82f4, 0x82f3, 0x82fa, 0x8393, 0x8303,
    -    0x82fb, 0x82f9, 0x82de, 0x8306, 0x82dc, 0x8309, 0x82d9, 0x003f,
    -    /* lead byte e8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8335, 0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339,
    -    0x8350, 0x8345, 0x832f, 0x832b, 0x8317, 0x8318, 0x8385, 0x839a,
    -    0x83aa, 0x839f, 0x83a2, 0x8396, 0x8323, 0x838e, 0x8387, 0x838a,
    -    0x837c, 0x83b5, 0x8373, 0x8375, 0x83a0, 0x8389, 0x83a8, 0x83f4,
    -    0x8413, 0x83eb, 0x83ce, 0x83fd, 0x8403, 0x83d8, 0x840b, 0x83c1,
    -    0x83f7, 0x8407, 0x83e0, 0x83f2, 0x840d, 0x8422, 0x8420, 0x83bd,
    -    0x8438, 0x8506, 0x83fb, 0x846d, 0x842a, 0x843c, 0x855a, 0x8484,
    -    0x8477, 0x846b, 0x84ad, 0x846e, 0x8482, 0x8469, 0x8446, 0x842c,
    -    0x846f, 0x8479, 0x8435, 0x84ca, 0x8462, 0x84b9, 0x84bf, 0x849f,
    -    0x84d9, 0x84cd, 0x84bb, 0x84da, 0x84d0, 0x84c1, 0x84c6, 0x84d6,
    -    0x84a1, 0x8521, 0x84ff, 0x84f4, 0x8517, 0x8518, 0x852c, 0x851f,
    -    0x8515, 0x8514, 0x84fc, 0x8540, 0x8563, 0x8558, 0x8548, 0x003f,
    -    /* lead byte e9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8541, 0x8602, 0x854b, 0x8555, 0x8580, 0x85a4, 0x8588,
    -    0x8591, 0x858a, 0x85a8, 0x856d, 0x8594, 0x859b, 0x85ea, 0x8587,
    -    0x859c, 0x8577, 0x857e, 0x8590, 0x85c9, 0x85ba, 0x85cf, 0x85b9,
    -    0x85d0, 0x85d5, 0x85dd, 0x85e5, 0x85dc, 0x85f9, 0x860a, 0x8613,
    -    0x860b, 0x85fe, 0x85fa, 0x8606, 0x8622, 0x861a, 0x8630, 0x863f,
    -    0x864d, 0x4e55, 0x8654, 0x865f, 0x8667, 0x8671, 0x8693, 0x86a3,
    -    0x86a9, 0x86aa, 0x868b, 0x868c, 0x86b6, 0x86af, 0x86c4, 0x86c6,
    -    0x86b0, 0x86c9, 0x8823, 0x86ab, 0x86d4, 0x86de, 0x86e9, 0x86ec,
    -    0x86df, 0x86db, 0x86ef, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703,
    -    0x86fb, 0x8711, 0x8709, 0x870d, 0x86f9, 0x870a, 0x8734, 0x873f,
    -    0x8737, 0x873b, 0x8725, 0x8729, 0x871a, 0x8760, 0x875f, 0x8778,
    -    0x874c, 0x874e, 0x8774, 0x8757, 0x8768, 0x876e, 0x8759, 0x003f,
    -    /* lead byte ea */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8753, 0x8763, 0x876a, 0x8805, 0x87a2, 0x879f, 0x8782,
    -    0x87af, 0x87cb, 0x87bd, 0x87c0, 0x87d0, 0x96d6, 0x87ab, 0x87c4,
    -    0x87b3, 0x87c7, 0x87c6, 0x87bb, 0x87ef, 0x87f2, 0x87e0, 0x880f,
    -    0x880d, 0x87fe, 0x87f6, 0x87f7, 0x880e, 0x87d2, 0x8811, 0x8816,
    -    0x8815, 0x8822, 0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883b,
    -    0x8844, 0x8842, 0x8852, 0x8859, 0x885e, 0x8862, 0x886b, 0x8881,
    -    0x887e, 0x889e, 0x8875, 0x887d, 0x88b5, 0x8872, 0x8882, 0x8897,
    -    0x8892, 0x88ae, 0x8899, 0x88a2, 0x888d, 0x88a4, 0x88b0, 0x88bf,
    -    0x88b1, 0x88c3, 0x88c4, 0x88d4, 0x88d8, 0x88d9, 0x88dd, 0x88f9,
    -    0x8902, 0x88fc, 0x88f4, 0x88e8, 0x88f2, 0x8904, 0x890c, 0x890a,
    -    0x8913, 0x8943, 0x891e, 0x8925, 0x892a, 0x892b, 0x8941, 0x8944,
    -    0x893b, 0x8936, 0x8938, 0x894c, 0x891d, 0x8960, 0x895e, 0x003f,
    -    /* lead byte eb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8966, 0x8964, 0x896d, 0x896a, 0x896f, 0x8974, 0x8977,
    -    0x897e, 0x8983, 0x8988, 0x898a, 0x8993, 0x8998, 0x89a1, 0x89a9,
    -    0x89a6, 0x89ac, 0x89af, 0x89b2, 0x89ba, 0x89bd, 0x89bf, 0x89c0,
    -    0x89da, 0x89dc, 0x89dd, 0x89e7, 0x89f4, 0x89f8, 0x8a03, 0x8a16,
    -    0x8a10, 0x8a0c, 0x8a1b, 0x8a1d, 0x8a25, 0x8a36, 0x8a41, 0x8a5b,
    -    0x8a52, 0x8a46, 0x8a48, 0x8a7c, 0x8a6d, 0x8a6c, 0x8a62, 0x8a85,
    -    0x8a82, 0x8a84, 0x8aa8, 0x8aa1, 0x8a91, 0x8aa5, 0x8aa6, 0x8a9a,
    -    0x8aa3, 0x8ac4, 0x8acd, 0x8ac2, 0x8ada, 0x8aeb, 0x8af3, 0x8ae7,
    -    0x8ae4, 0x8af1, 0x8b14, 0x8ae0, 0x8ae2, 0x8af7, 0x8ade, 0x8adb,
    -    0x8b0c, 0x8b07, 0x8b1a, 0x8ae1, 0x8b16, 0x8b10, 0x8b17, 0x8b20,
    -    0x8b33, 0x97ab, 0x8b26, 0x8b2b, 0x8b3e, 0x8b28, 0x8b41, 0x8b4c,
    -    0x8b4f, 0x8b4e, 0x8b49, 0x8b56, 0x8b5b, 0x8b5a, 0x8b6b, 0x003f,
    -    /* lead byte ec */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8b5f, 0x8b6c, 0x8b6f, 0x8b74, 0x8b7d, 0x8b80, 0x8b8c,
    -    0x8b8e, 0x8b92, 0x8b93, 0x8b96, 0x8b99, 0x8b9a, 0x8c3a, 0x8c41,
    -    0x8c3f, 0x8c48, 0x8c4c, 0x8c4e, 0x8c50, 0x8c55, 0x8c62, 0x8c6c,
    -    0x8c78, 0x8c7a, 0x8c82, 0x8c89, 0x8c85, 0x8c8a, 0x8c8d, 0x8c8e,
    -    0x8c94, 0x8c7c, 0x8c98, 0x621d, 0x8cad, 0x8caa, 0x8cbd, 0x8cb2,
    -    0x8cb3, 0x8cae, 0x8cb6, 0x8cc8, 0x8cc1, 0x8ce4, 0x8ce3, 0x8cda,
    -    0x8cfd, 0x8cfa, 0x8cfb, 0x8d04, 0x8d05, 0x8d0a, 0x8d07, 0x8d0f,
    -    0x8d0d, 0x8d10, 0x9f4e, 0x8d13, 0x8ccd, 0x8d14, 0x8d16, 0x8d67,
    -    0x8d6d, 0x8d71, 0x8d73, 0x8d81, 0x8d99, 0x8dc2, 0x8dbe, 0x8dba,
    -    0x8dcf, 0x8dda, 0x8dd6, 0x8dcc, 0x8ddb, 0x8dcb, 0x8dea, 0x8deb,
    -    0x8ddf, 0x8de3, 0x8dfc, 0x8e08, 0x8e09, 0x8dff, 0x8e1d, 0x8e1e,
    -    0x8e10, 0x8e1f, 0x8e42, 0x8e35, 0x8e30, 0x8e34, 0x8e4a, 0x003f,
    -    /* lead byte ed */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8e47, 0x8e49, 0x8e4c, 0x8e50, 0x8e48, 0x8e59, 0x8e64,
    -    0x8e60, 0x8e2a, 0x8e63, 0x8e55, 0x8e76, 0x8e72, 0x8e7c, 0x8e81,
    -    0x8e87, 0x8e85, 0x8e84, 0x8e8b, 0x8e8a, 0x8e93, 0x8e91, 0x8e94,
    -    0x8e99, 0x8eaa, 0x8ea1, 0x8eac, 0x8eb0, 0x8ec6, 0x8eb1, 0x8ebe,
    -    0x8ec5, 0x8ec8, 0x8ecb, 0x8edb, 0x8ee3, 0x8efc, 0x8efb, 0x8eeb,
    -    0x8efe, 0x8f0a, 0x8f05, 0x8f15, 0x8f12, 0x8f19, 0x8f13, 0x8f1c,
    -    0x8f1f, 0x8f1b, 0x8f0c, 0x8f26, 0x8f33, 0x8f3b, 0x8f39, 0x8f45,
    -    0x8f42, 0x8f3e, 0x8f4c, 0x8f49, 0x8f46, 0x8f4e, 0x8f57, 0x8f5c,
    -    0x8f62, 0x8f63, 0x8f64, 0x8f9c, 0x8f9f, 0x8fa3, 0x8fad, 0x8faf,
    -    0x8fb7, 0x8fda, 0x8fe5, 0x8fe2, 0x8fea, 0x8fef, 0x9087, 0x8ff4,
    -    0x9005, 0x8ff9, 0x8ffa, 0x9011, 0x9015, 0x9021, 0x900d, 0x901e,
    -    0x9016, 0x900b, 0x9027, 0x9036, 0x9035, 0x9039, 0x8ff8, 0x003f,
    -    /* lead byte ee */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x904f, 0x9050, 0x9051, 0x9052, 0x900e, 0x9049, 0x903e,
    -    0x9056, 0x9058, 0x905e, 0x9068, 0x906f, 0x9076, 0x96a8, 0x9072,
    -    0x9082, 0x907d, 0x9081, 0x9080, 0x908a, 0x9089, 0x908f, 0x90a8,
    -    0x90af, 0x90b1, 0x90b5, 0x90e2, 0x90e4, 0x6248, 0x90db, 0x9102,
    -    0x9112, 0x9119, 0x9132, 0x9130, 0x914a, 0x9156, 0x9158, 0x9163,
    -    0x9165, 0x9169, 0x9173, 0x9172, 0x918b, 0x9189, 0x9182, 0x91a2,
    -    0x91ab, 0x91af, 0x91aa, 0x91b5, 0x91b4, 0x91ba, 0x91c0, 0x91c1,
    -    0x91c9, 0x91cb, 0x91d0, 0x91d6, 0x91df, 0x91e1, 0x91db, 0x91fc,
    -    0x91f5, 0x91f6, 0x921e, 0x91ff, 0x9214, 0x922c, 0x9215, 0x9211,
    -    0x925e, 0x9257, 0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923f,
    -    0x924b, 0x9250, 0x929c, 0x9296, 0x9293, 0x929b, 0x925a, 0x92cf,
    -    0x92b9, 0x92b7, 0x92e9, 0x930f, 0x92fa, 0x9344, 0x932e, 0x003f,
    -    /* lead byte ef */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9319, 0x9322, 0x931a, 0x9323, 0x933a, 0x9335, 0x933b,
    -    0x935c, 0x9360, 0x937c, 0x936e, 0x9356, 0x93b0, 0x93ac, 0x93ad,
    -    0x9394, 0x93b9, 0x93d6, 0x93d7, 0x93e8, 0x93e5, 0x93d8, 0x93c3,
    -    0x93dd, 0x93d0, 0x93c8, 0x93e4, 0x941a, 0x9414, 0x9413, 0x9403,
    -    0x9407, 0x9410, 0x9436, 0x942b, 0x9435, 0x9421, 0x943a, 0x9441,
    -    0x9452, 0x9444, 0x945b, 0x9460, 0x9462, 0x945e, 0x946a, 0x9229,
    -    0x9470, 0x9475, 0x9477, 0x947d, 0x945a, 0x947c, 0x947e, 0x9481,
    -    0x947f, 0x9582, 0x9587, 0x958a, 0x9594, 0x9596, 0x9598, 0x9599,
    -    0x95a0, 0x95a8, 0x95a7, 0x95ad, 0x95bc, 0x95bb, 0x95b9, 0x95be,
    -    0x95ca, 0x6ff6, 0x95c3, 0x95cd, 0x95cc, 0x95d5, 0x95d4, 0x95d6,
    -    0x95dc, 0x95e1, 0x95e5, 0x95e2, 0x9621, 0x9628, 0x962e, 0x962f,
    -    0x9642, 0x964c, 0x964f, 0x964b, 0x9677, 0x965c, 0x965e, 0x003f,
    -    /* lead byte f0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x965d, 0x965f, 0x9666, 0x9672, 0x966c, 0x968d, 0x9698,
    -    0x9695, 0x9697, 0x96aa, 0x96a7, 0x96b1, 0x96b2, 0x96b0, 0x96b4,
    -    0x96b6, 0x96b8, 0x96b9, 0x96ce, 0x96cb, 0x96c9, 0x96cd, 0x894d,
    -    0x96dc, 0x970d, 0x96d5, 0x96f9, 0x9704, 0x9706, 0x9708, 0x9713,
    -    0x970e, 0x9711, 0x970f, 0x9716, 0x9719, 0x9724, 0x972a, 0x9730,
    -    0x9739, 0x973d, 0x973e, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749,
    -    0x975c, 0x9760, 0x9764, 0x9766, 0x9768, 0x52d2, 0x976b, 0x9771,
    -    0x9779, 0x9785, 0x977c, 0x9781, 0x977a, 0x9786, 0x978b, 0x978f,
    -    0x9790, 0x979c, 0x97a8, 0x97a6, 0x97a3, 0x97b3, 0x97b4, 0x97c3,
    -    0x97c6, 0x97c8, 0x97cb, 0x97dc, 0x97ed, 0x9f4f, 0x97f2, 0x7adf,
    -    0x97f6, 0x97f5, 0x980f, 0x980c, 0x9838, 0x9824, 0x9821, 0x9837,
    -    0x983d, 0x9846, 0x984f, 0x984b, 0x986b, 0x986f, 0x9870, 0x003f,
    -    /* lead byte f1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9871, 0x9874, 0x9873, 0x98aa, 0x98af, 0x98b1, 0x98b6,
    -    0x98c4, 0x98c3, 0x98c6, 0x98e9, 0x98eb, 0x9903, 0x9909, 0x9912,
    -    0x9914, 0x9918, 0x9921, 0x991d, 0x991e, 0x9924, 0x9920, 0x992c,
    -    0x992e, 0x993d, 0x993e, 0x9942, 0x9949, 0x9945, 0x9950, 0x994b,
    -    0x9951, 0x9952, 0x994c, 0x9955, 0x9997, 0x9998, 0x99a5, 0x99ad,
    -    0x99ae, 0x99bc, 0x99df, 0x99db, 0x99dd, 0x99d8, 0x99d1, 0x99ed,
    -    0x99ee, 0x99f1, 0x99f2, 0x99fb, 0x99f8, 0x9a01, 0x9a0f, 0x9a05,
    -    0x99e2, 0x9a19, 0x9a2b, 0x9a37, 0x9a45, 0x9a42, 0x9a40, 0x9a43,
    -    0x9a3e, 0x9a55, 0x9a4d, 0x9a5b, 0x9a57, 0x9a5f, 0x9a62, 0x9a65,
    -    0x9a64, 0x9a69, 0x9a6b, 0x9a6a, 0x9aad, 0x9ab0, 0x9abc, 0x9ac0,
    -    0x9acf, 0x9ad1, 0x9ad3, 0x9ad4, 0x9ade, 0x9adf, 0x9ae2, 0x9ae3,
    -    0x9ae6, 0x9aef, 0x9aeb, 0x9aee, 0x9af4, 0x9af1, 0x9af7, 0x003f,
    -    /* lead byte f2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9afb, 0x9b06, 0x9b18, 0x9b1a, 0x9b1f, 0x9b22, 0x9b23,
    -    0x9b25, 0x9b27, 0x9b28, 0x9b29, 0x9b2a, 0x9b2e, 0x9b2f, 0x9b32,
    -    0x9b44, 0x9b43, 0x9b4f, 0x9b4d, 0x9b4e, 0x9b51, 0x9b58, 0x9b74,
    -    0x9b93, 0x9b83, 0x9b91, 0x9b96, 0x9b97, 0x9b9f, 0x9ba0, 0x9ba8,
    -    0x9bb4, 0x9bc0, 0x9bca, 0x9bb9, 0x9bc6, 0x9bcf, 0x9bd1, 0x9bd2,
    -    0x9be3, 0x9be2, 0x9be4, 0x9bd4, 0x9be1, 0x9c3a, 0x9bf2, 0x9bf1,
    -    0x9bf0, 0x9c15, 0x9c14, 0x9c09, 0x9c13, 0x9c0c, 0x9c06, 0x9c08,
    -    0x9c12, 0x9c0a, 0x9c04, 0x9c2e, 0x9c1b, 0x9c25, 0x9c24, 0x9c21,
    -    0x9c30, 0x9c47, 0x9c32, 0x9c46, 0x9c3e, 0x9c5a, 0x9c60, 0x9c67,
    -    0x9c76, 0x9c78, 0x9ce7, 0x9cec, 0x9cf0, 0x9d09, 0x9d08, 0x9ceb,
    -    0x9d03, 0x9d06, 0x9d2a, 0x9d26, 0x9daf, 0x9d23, 0x9d1f, 0x9d44,
    -    0x9d15, 0x9d12, 0x9d41, 0x9d3f, 0x9d3e, 0x9d46, 0x9d48, 0x003f,
    -    /* lead byte f3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9d5d, 0x9d5e, 0x9d64, 0x9d51, 0x9d50, 0x9d59, 0x9d72,
    -    0x9d89, 0x9d87, 0x9dab, 0x9d6f, 0x9d7a, 0x9d9a, 0x9da4, 0x9da9,
    -    0x9db2, 0x9dc4, 0x9dc1, 0x9dbb, 0x9db8, 0x9dba, 0x9dc6, 0x9dcf,
    -    0x9dc2, 0x9dd9, 0x9dd3, 0x9df8, 0x9de6, 0x9ded, 0x9def, 0x9dfd,
    -    0x9e1a, 0x9e1b, 0x9e1e, 0x9e75, 0x9e79, 0x9e7d, 0x9e81, 0x9e88,
    -    0x9e8b, 0x9e8c, 0x9e92, 0x9e95, 0x9e91, 0x9e9d, 0x9ea5, 0x9ea9,
    -    0x9eb8, 0x9eaa, 0x9ead, 0x9761, 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0,
    -    0x9ed4, 0x9edc, 0x9ede, 0x9edd, 0x9ee0, 0x9ee5, 0x9ee8, 0x9eef,
    -    0x9ef4, 0x9ef6, 0x9ef7, 0x9ef9, 0x9efb, 0x9efc, 0x9efd, 0x9f07,
    -    0x9f08, 0x76b7, 0x9f15, 0x9f21, 0x9f2c, 0x9f3e, 0x9f4a, 0x9f52,
    -    0x9f54, 0x9f63, 0x9f5f, 0x9f60, 0x9f61, 0x9f66, 0x9f67, 0x9f6c,
    -    0x9f6a, 0x9f77, 0x9f72, 0x9f76, 0x9f95, 0x9f9c, 0x9fa0, 0x003f,
    -    /* lead byte f4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x582f, 0x69c7, 0x9059, 0x7464, 0x51dc, 0x7199, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned char cp2uni_leadbytes[256] =
    -{
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
    -    0x0a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    -    0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,
    -    0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,
    -    0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
    -    0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
    -    0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32,
    -    0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,
    -    0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x01, 0x01, 0x01,
    -    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00
    -};
    -
    -static const unsigned short uni2cp_low[27648] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0020, 0x0021, 0xa1f1, 0xa1f2, 0x003f, 0x005c, 0x007c, 0xa1f8,
    -    0xa1af, 0x0063, 0x0061, 0xa1d4, 0xa2cc, 0x002d, 0x0072, 0xa1bd,
    -    0xa1eb, 0xa1de, 0x0032, 0x0033, 0xa1ad, 0xa6cc, 0xa2f9, 0x003f,
    -    0x002c, 0x0031, 0x006f, 0xa1d5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    -    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    -    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1df,
    -    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa6c2,
    -    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    -    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    -    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1e0,
    -    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x003f, 0x0079,
    -    /* 0x0100 .. 0x01ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    -    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    -    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    -    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    -    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    -    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    -    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    -    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    -    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    -    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa8a2, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    -    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    -    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    -    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    -    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    -    /* 0x0200 .. 0x02ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    -    0x0079, 0xa1ad, 0xa1ed, 0xa1c6, 0xa1c7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0x0076,
    -    0x0027, 0xa1bd, 0xa1ad, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1eb, 0x003f, 0x007e, 0xa1ed, 0x003f, 0x003f,
    -    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0300 .. 0x03ff */
    -    0x0060, 0xa1ad, 0x005e, 0x007e, 0xa1bd, 0x007e, 0x003f, 0x003f,
    -    0xa1af, 0x003f, 0xa1eb, 0xa1ed, 0x0076, 0x003f, 0x0022, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0060, 0xa1ad, 0x003f, 0x003f, 0xa1af, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0xa1af, 0xa6a1, 0x003f,
    -    0xa6a5, 0xa6a7, 0xa6a9, 0x003f, 0xa6af, 0x003f, 0xa6b4, 0xa6b8,
    -    0xa6c9, 0xa6a1, 0xa6a2, 0xa6a3, 0xa6a4, 0xa6a5, 0xa6a6, 0xa6a7,
    -    0xa6a8, 0xa6a9, 0xa6aa, 0xa6ab, 0xa6ac, 0xa6ad, 0xa6ae, 0xa6af,
    -    0xa6b0, 0xa6b1, 0x003f, 0xa6b2, 0xa6b3, 0xa6b4, 0xa6b5, 0xa6b6,
    -    0xa6b7, 0xa6b8, 0xa6a9, 0xa6b4, 0xa6c1, 0xa6c5, 0xa6c7, 0xa6c9,
    -    0xa6d4, 0xa6c1, 0xa6c2, 0xa6c3, 0xa6c4, 0xa6c5, 0xa6c6, 0xa6c7,
    -    0xa6c8, 0xa6c9, 0xa6ca, 0xa6cb, 0xa6cc, 0xa6cd, 0xa6ce, 0xa6cf,
    -    0xa6d0, 0xa6d1, 0x003f, 0xa6d2, 0xa6d3, 0xa6d4, 0xa6d5, 0xa6d6,
    -    0xa6d7, 0xa6d8, 0xa6c9, 0xa6d4, 0xa6cf, 0xa6d4, 0xa6d8, 0x003f,
    -    0xa6c2, 0xa6c8, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6d5, 0xa6d0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa6ca, 0xa6d1, 0x003f, 0x003f, 0xa6a8, 0xa6c5, 0x003f, 0x003f,
    -    0x003f, 0xa6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0400 .. 0x04ff */
    -    0xa7a6, 0xa7a7, 0x003f, 0xa7a4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7ac, 0xa7aa, 0xa7b5, 0x003f,
    -    0xa7a1, 0xa7a2, 0xa7a3, 0xa7a4, 0xa7a5, 0xa7a6, 0xa7a8, 0xa7a9,
    -    0xa7aa, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,
    -    0xa7b2, 0xa7b3, 0xa7b4, 0xa7b5, 0xa7b6, 0xa7b7, 0xa7b8, 0xa7b9,
    -    0xa7ba, 0xa7bb, 0xa7bc, 0xa7bd, 0xa7be, 0xa7bf, 0xa7c0, 0xa7c1,
    -    0xa7d1, 0xa7d2, 0xa7d3, 0xa7d4, 0xa7d5, 0xa7d6, 0xa7d8, 0xa7d9,
    -    0xa7da, 0xa7db, 0xa7dc, 0xa7dd, 0xa7de, 0xa7df, 0xa7e0, 0xa7e1,
    -    0xa7e2, 0xa7e3, 0xa7e4, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e9,
    -    0xa7ea, 0xa7eb, 0xa7ec, 0xa7ed, 0xa7ee, 0xa7ef, 0xa7f0, 0xa7f1,
    -    0xa7d6, 0xa7d7, 0x003f, 0xa7d4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7dc, 0xa7da, 0xa7e5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa7a8, 0xa7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa7a1, 0xa7d1, 0xa7a1, 0xa7d1, 0x003f, 0x003f, 0xa7a6, 0xa7d6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7a8, 0xa7d8, 0xa7a9, 0xa7d9,
    -    0x003f, 0x003f, 0xa7aa, 0xa7da, 0xa7aa, 0xa7da, 0xa7b0, 0xa7e0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7bf, 0xa7ef, 0xa7b5, 0xa7e5,
    -    0xa7b5, 0xa7e5, 0xa7b5, 0xa7e5, 0xa7b9, 0xa7e9, 0x003f, 0x003f,
    -    0xa7bd, 0xa7ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    -    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    -    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    -    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    -    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    -    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    -    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa6c2, 0xa6c3, 0xa6c4,
    -    0xa6d5, 0xa6d6, 0x0069, 0x0072, 0x0075, 0x0076, 0xa6c2, 0xa6c3,
    -    0xa6d1, 0xa6d5, 0xa6d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    -    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    -    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    -    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    -    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    -    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    -    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    -    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    -    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    -    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    -    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    -    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    -    0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0x003f, 0x003f,
    -    0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0x003f, 0x003f,
    -    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    -    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    -    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9,
    -    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9,
    -    0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0x003f, 0x003f,
    -    0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0x003f, 0x003f,
    -    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4,
    -    0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4,
    -    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    -    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    -    0xa6c1, 0xa6c1, 0xa6c5, 0xa6c5, 0xa6c7, 0xa6c7, 0xa6c9, 0xa6c9,
    -    0xa6cf, 0xa6cf, 0xa6d4, 0xa6d4, 0xa6d8, 0xa6d8, 0x003f, 0x003f,
    -    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    -    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    -    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    -    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    -    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    -    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    -    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0x003f, 0xa6c1, 0xa6c1,
    -    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0x003f, 0xa6c9, 0x003f,
    -    0x003f, 0xa1af, 0xa6c7, 0xa6c7, 0xa6c7, 0x003f, 0xa6c7, 0xa6c7,
    -    0xa6a5, 0xa6a5, 0xa6a7, 0xa6a7, 0xa6a7, 0x003f, 0x003f, 0x003f,
    -    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0x003f, 0x003f, 0xa6c9, 0xa6c9,
    -    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d1, 0xa6d1, 0xa6d4, 0xa6d4,
    -    0xa6b4, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6b1, 0xa1af, 0xa1af, 0x0060,
    -    0x003f, 0x003f, 0xa6d8, 0xa6d8, 0xa6d8, 0x003f, 0xa6d8, 0xa6d8,
    -    0xa6af, 0xa6af, 0xa6b8, 0xa6b8, 0xa6b8, 0xa1ad, 0x003f, 0x003f,
    -    /* 0x2000 .. 0x20ff */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1be, 0xa1be, 0x003f, 0xa1bd, 0xa1bd, 0xa1bd, 0xa1c2, 0x005f,
    -    0xa1c6, 0xa1c7, 0x002c, 0xa1c6, 0xa1c8, 0xa1c9, 0x002c, 0x003f,
    -    0xa2f7, 0xa2f8, 0x003f, 0x003f, 0x002e, 0xa1c5, 0xa1c4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0xa2f3, 0x003f, 0xa1ec, 0xa1ed, 0x003f, 0xa1c6, 0x003f, 0x003f,
    -    0x003f, 0xa1d2, 0xa1d3, 0xa2a8, 0x0021, 0x003f, 0x007e, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1eb, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0xa1dd, 0x003d, 0x0028, 0x0029, 0x006e,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0xa1dd, 0x003d, 0x0028, 0x0029, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa1f1, 0x003f, 0x003f, 0xa1f2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2100 .. 0x21ff */
    -    0x003f, 0x003f, 0x0043, 0xa1ee, 0x003f, 0x003f, 0x003f, 0x0045,
    -    0x003f, 0x003f, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    -    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x003f, 0x003f,
    -    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x005a, 0x003f, 0xa6b8, 0x003f,
    -    0x005a, 0x003f, 0x004b, 0xa2f2, 0x0042, 0x0043, 0x0065, 0x0065,
    -    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa6c3, 0xa6a3, 0xa6b0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    -    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0049, 0x003f, 0x003f, 0x003f, 0x0056, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0058, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    -    0x0069, 0x003f, 0x003f, 0x003f, 0x0076, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0078, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2ab, 0xa2ac, 0xa2aa, 0xa2ad, 0x002d, 0x007c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2ab, 0xa2aa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2ce, 0xa2cd,
    -    0x003f, 0x003f, 0xa2cd, 0x003f, 0xa2ce, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2200 .. 0x22ff */
    -    0xa2cf, 0x003f, 0xa2df, 0xa2d0, 0xa2d0, 0x004f, 0x003f, 0xa2e0,
    -    0xa2ba, 0xa2ba, 0x003f, 0xa2bb, 0xa2bb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1dd, 0xa1de, 0x003f, 0x002f, 0x005c, 0x002a,
    -    0xa1eb, 0x003f, 0xa2e5, 0x003f, 0x003f, 0xa2e7, 0xa1e7, 0x004c,
    -    0xa2dc, 0x003f, 0x003f, 0x007c, 0x007c, 0x003f, 0x003f, 0xa2ca,
    -    0xa2cb, 0xa2c1, 0xa2c0, 0xa2e9, 0xa2ea, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e8, 0xa2e8, 0x003a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0xa2e6, 0x003f, 0x003f,
    -    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1e2, 0xa2e1, 0xa2e1, 0xa2e1, 0x003f, 0x003f, 0xa1e5, 0xa1e6,
    -    0x003f, 0x003f, 0xa2e3, 0xa2e4, 0x003f, 0x003f, 0x003c, 0x003e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2be, 0xa2bf, 0xa2be, 0xa2bf, 0xa2bc, 0xa2bd,
    -    0xa2bc, 0xa2bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2dd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2300 .. 0x23ff */
    -    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa1d2, 0xa1d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2400 .. 0x24ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038,
    -    0x0039, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    -    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2500 .. 0x25ff */
    -    0xa8a1, 0xa8ac, 0xa8a2, 0xa8ad, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0x002d, 0x002d, 0x007c, 0x007c, 0xa8a3, 0xa8a3, 0xa8a3, 0xa8ae,
    -    0xa8a4, 0xa8a4, 0xa8a4, 0xa8af, 0xa8a6, 0xa8a6, 0xa8a6, 0xa8b1,
    -    0xa8a5, 0xa8a5, 0xa8a5, 0xa8b0, 0xa8a7, 0xa8bc, 0xa8a7, 0xa8a7,
    -    0xa8b7, 0xa8a7, 0xa8a7, 0xa8b2, 0xa8a9, 0xa8be, 0xa8a9, 0xa8a9,
    -    0xa8b9, 0xa8a9, 0xa8a9, 0xa8b4, 0xa8a8, 0xa8a8, 0xa8a8, 0xa8b8,
    -    0xa8bd, 0xa8a8, 0xa8a8, 0xa8b3, 0xa8aa, 0xa8aa, 0xa8aa, 0xa8ba,
    -    0xa8bf, 0xa8aa, 0xa8aa, 0xa8b5, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8bb,
    -    0xa8ab, 0xa8ab, 0xa8c0, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8ab,
    -    0xa8ab, 0xa8ab, 0xa8ab, 0xa8b6, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0xa2cc, 0xa2cc, 0xa2cc,
    -    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
    -    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,
    -    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2a3, 0xa2a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2a5, 0xa2a4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a7, 0xa2a6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a1, 0xa1fe,
    -    0x003f, 0x003f, 0x003f, 0xa1fb, 0x003f, 0x003f, 0xa1fd, 0xa1fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2fe,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2600 .. 0x26ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1fa, 0xa1f9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1ea, 0x003f, 0xa1e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2f6, 0x003f, 0x003f, 0xa2f5, 0x003f, 0xa2f4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2e00 .. 0x2eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcaec,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2f00 .. 0x2fff */
    -    0xb0ec, 0x003f, 0xd0a6, 0xd0a8, 0xb2b5, 0xd0ad, 0xc6f3, 0xd0b5,
    -    0xbfcd, 0xd1b9, 0xc6fe, 0xc8ac, 0xd1c4, 0xd1cc, 0xd1d2, 0xd1dc,
    -    0xd1e1, 0xc5e1, 0xcecf, 0xd2b1, 0xd2b8, 0xd2b9, 0xd2be, 0xbdbd,
    -    0xcbce, 0xd2c7, 0xd2cc, 0xd2d3, 0xcbf4, 0xb8fd, 0xd3f8, 0xc5da,
    -    0xbbce, 0xd4e9, 0xd4ea, 0xcdbc, 0xc2e7, 0xbdf7, 0xbbd2, 0xd5df,
    -    0xc0a3, 0xbeae, 0xd5f7, 0xd5f9, 0xd6a5, 0xbbb3, 0xd6df, 0xb9a9,
    -    0xb8ca, 0xb6d2, 0xb4b3, 0xd6f6, 0xd6f8, 0xd7ae, 0xd7b0, 0xd7b5,
    -    0xb5dd, 0x003f, 0xd7c4, 0xd7c6, 0xbfb4, 0xd8f9, 0x003f, 0xbcea,
    -    0xbbd9, 0xdabd, 0xcab8, 0xc5cd, 0xb6d4, 0xcafd, 0xdadb, 0xc6fc,
    -    0xdba9, 0xb7ee, 0xccda, 0xb7e7, 0xbbdf, 0xddc6, 0xddd5, 0xddd9,
    -    0xc8e6, 0xccd3, 0xbbe1, 0xdde3, 0xbfe5, 0xb2d0, 0xc4de, 0xc9e3,
    -    0xe0ab, 0xe0ad, 0xcad2, 0xb2e7, 0xb5ed, 0xb8a4, 0xb8bc, 0xb6cc,
    -    0xb1bb, 0xb4a4, 0xb4c5, 0xc0b8, 0xcdd1, 0xc5c4, 0xc9a5, 0x003f,
    -    0xe2a2, 0xc7f2, 0xc8e9, 0xbbae, 0xccdc, 0xccb7, 0xccf0, 0xc0d0,
    -    0xbca8, 0x003f, 0xb2d3, 0xb7ea, 0xcea9, 0xc3dd, 0xcac6, 0xbbe5,
    -    0xb4cc, 0xe6a6, 0xcdd3, 0xb1a9, 0xcfb7, 0xbca9, 0xe6d0, 0xbcaa,
    -    0xe6e6, 0xc6f9, 0xbfc3, 0xbcab, 0xbbea, 0xb1b1, 0xc0e5, 0xc1a4,
    -    0xbdae, 0xbab1, 0xbfa7, 0xe7e7, 0xe9c8, 0xc3ee, 0xb7ec, 0xb9d4,
    -    0xb0e1, 0xeba8, 0xb8ab, 0xb3d1, 0xb8c0, 0xc3ab, 0xc6a6, 0xecb5,
    -    0xecb8, 0xb3ad, 0xc0d6, 0xc1f6, 0xc2ad, 0xbfc8, 0xbcd6, 0xbfc9,
    -    0xc3a4, 0x003f, 0xcdb8, 0xc6d3, 0xc8d0, 0xcea4, 0xb6e2, 0xc4b9,
    -    0xcce7, 0xc9ec, 0xf0b0, 0xf0b2, 0xb1ab, 0x003f, 0xc8f3, 0xcccc,
    -    0xb3d7, 0xf0ea, 0xf0ec, 0xb2bb, 0xcac7, 0xc9f7, 0xc8f4, 0xbfa9,
    -    0xbcf3, 0xb9e1, 0xc7cf, 0xb9fc, 0xb9e2, 0xf1f5, 0xf2a8, 0xf2ae,
    -    0xf2af, 0xb5b4, 0xb5fb, 0xc4bb, 0xf3c3, 0xbcaf, 0xf3ce, 0xcbe3,
    -    0x003f, 0xb5d0, 0x003f, 0xf3e3, 0xf3e6, 0xc5a4, 0xb8dd, 0xc1cd,
    -    0xc9a1, 0xf3ee, 0xf3ef, 0xceb6, 0xf3fd, 0xf3fe, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3000 .. 0x30ff */
    -    0xa1a1, 0xa1a2, 0xa1a3, 0xa1b7, 0x003f, 0xa1b9, 0xa1ba, 0xa1bb,
    -    0xa1d2, 0xa1d3, 0xa1d4, 0xa1d5, 0xa1d6, 0xa1d7, 0xa1d8, 0xa1d9,
    -    0xa1da, 0xa1db, 0xa2a9, 0xa2ae, 0xa1cc, 0xa1cd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x005b, 0x005d, 0xa1c1, 0xa1c8, 0xa1c9, 0x002c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a9, 0x003f,
    -    0xbdbd, 0x003f, 0xd2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    -    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    -    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    -    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,
    -    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,
    -    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,
    -    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,
    -    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,
    -    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,
    -    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,
    -    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4a6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa1ab, 0xa1ac, 0xa1b5, 0xa1b6, 0x003f,
    -    0x003f, 0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7,
    -    0xa5a8, 0xa5a9, 0xa5aa, 0xa5ab, 0xa5ac, 0xa5ad, 0xa5ae, 0xa5af,
    -    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,
    -    0xa5b8, 0xa5b9, 0xa5ba, 0xa5bb, 0xa5bc, 0xa5bd, 0xa5be, 0xa5bf,
    -    0xa5c0, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,
    -    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,
    -    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6, 0xa5d7,
    -    0xa5d8, 0xa5d9, 0xa5da, 0xa5db, 0xa5dc, 0xa5dd, 0xa5de, 0xa5df,
    -    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,
    -    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,
    -    0xa5f0, 0xa5f1, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6, 0xa5ef,
    -    0xa5f0, 0xa5f1, 0xa5f2, 0xa1a6, 0xa1bc, 0xa1b3, 0xa1b4, 0x003f,
    -    /* 0x3100 .. 0x31ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xbee5, 0xc3e6,
    -    0xb2bc, 0xb9c3, 0xb2b5, 0xcaba, 0xc3fa, 0xc5b7, 0xc3cf, 0xbfcd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3200 .. 0x32ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xb8de, 0xcfbb, 0xbcb7, 0xc8ac,
    -    0xb6e5, 0xbdbd, 0xb7ee, 0xb2d0, 0xbfe5, 0xccda, 0xb6e2, 0xc5da,
    -    0xc6fc, 0xb3f4, 0xcdad, 0xbcd2, 0xccbe, 0xc6c3, 0xbae2, 0xbdcb,
    -    0xcfab, 0xc8eb, 0xc3cb, 0xbdf7, 0xc5ac, 0xcda5, 0xb0f5, 0xc3ed,
    -    0xb9e0, 0xb5d9, 0xbccc, 0xc0b5, 0xbee5, 0xc3e6, 0xb2bc, 0xbab8,
    -    0xb1a6, 0xb0e5, 0xbda1, 0xb3d8, 0xb4c6, 0xb4eb, 0xbbf1, 0xb6a8,
    -    0xcceb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad, 0xa5af,
    -    0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd, 0xa5bf,
    -    0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd,
    -    0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de, 0xa5df,
    -    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9, 0xa5ea,
    -    0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f0, 0xa5f1, 0xa5f2, 0x003f,
    -    /* 0x4e00 .. 0x4eff */
    -    0xb0ec, 0xc3fa, 0x003f, 0xbcb7, 0x003f, 0x003f, 0x003f, 0xcbfc,
    -    0xbee6, 0xbbb0, 0xbee5, 0xb2bc, 0x003f, 0xc9d4, 0xcdbf, 0x003f,
    -    0xd0a2, 0xb1af, 0x003f, 0x003f, 0xb3ee, 0xd0a3, 0xc0a4, 0xd2c2,
    -    0xb5d6, 0xcaba, 0x003f, 0x003f, 0x003f, 0x003f, 0xbee7, 0x003f,
    -    0x003f, 0xcebe, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac2, 0x003f,
    -    0x003f, 0x003f, 0xd0a4, 0x003f, 0x003f, 0xc3e6, 0x003f, 0x003f,
    -    0x003f, 0xd0a5, 0xb6fa, 0x003f, 0x003f, 0x003f, 0xd0a6, 0x003f,
    -    0xb4dd, 0xc3b0, 0x003f, 0xbce7, 0xd0a7, 0x003f, 0x003f, 0xd0a8,
    -    0x003f, 0x003f, 0xd0a9, 0xc7b5, 0x003f, 0xb5d7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc7b7, 0x003f, 0xc6e3, 0xb8c3, 0xcbb3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c9, 0xd0aa, 0xbee8,
    -    0xd0ab, 0xb2b5, 0x003f, 0x003f, 0x003f, 0xb6e5, 0xb8f0, 0xcce9,
    -    0x003f, 0x003f, 0xd6a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdf0, 0x003f, 0xc6fd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4a5, 0x003f,
    -    0xb5b5, 0x003f, 0xd0ac, 0x003f, 0x003f, 0xd0ad, 0xcebb, 0x003f,
    -    0xcdbd, 0xc1e8, 0xd0af, 0xbbf6, 0xc6f3, 0x003f, 0xd0b2, 0x003f,
    -    0x003f, 0xb1be, 0xb8df, 0x003f, 0xb8de, 0xb0e6, 0x003f, 0x003f,
    -    0xcfcb, 0xcfca, 0x003f, 0xbab3, 0xb0a1, 0x003f, 0xd0b3, 0xd0b4,
    -    0xd0b5, 0xcbb4, 0xd0b6, 0x003f, 0xb8f2, 0xb0e7, 0xcbf2, 0x003f,
    -    0xb5fc, 0x003f, 0x003f, 0xb5fd, 0xb5fe, 0xc4e2, 0xcebc, 0x003f,
    -    0xd0b7, 0x003f, 0x003f, 0xd0b8, 0x003f, 0x003f, 0xd0b9, 0x003f,
    -    0x003f, 0x003f, 0xbfcd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbdba, 0xbfce, 0xd0be, 0x003f, 0xd0bc, 0x003f, 0xd0bd, 0xb5d8,
    -    0x003f, 0x003f, 0xbaa3, 0xb2f0, 0x003f, 0xd0bb, 0xd0ba, 0xcaa9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbbc6, 0xbbc5, 0xc2be, 0xd0bf,
    -    0xc9d5, 0xc0e7, 0x003f, 0x003f, 0x003f, 0xa1b8, 0xd0c0, 0xd0c2,
    -    0x003f, 0x003f, 0x003f, 0xc2e5, 0xcee1, 0xb0ca, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c1, 0xb2be, 0x003f,
    -    0xb6c4, 0x003f, 0xc3e7, 0x003f, 0x003f, 0x003f, 0xb7ef, 0xd0c3,
    -    0x003f, 0x003f, 0x003f, 0xc7a4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x4f00 .. 0x4fff */
    -    0x003f, 0xb4eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd0c4, 0xb0cb, 0x003f, 0x003f, 0xb8e0, 0xb4ec, 0xc9fa,
    -    0xc8b2, 0xb5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb2f1, 0x003f, 0xd0e7, 0xc5c1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7ec,
    -    0xd0c6, 0x003f, 0x003f, 0x003f, 0xc8bc, 0x003f, 0xcee2, 0x003f,
    -    0xbfad, 0x003f, 0xbbc7, 0x003f, 0xbbf7, 0xb2c0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc4d1, 0x003f, 0x003f, 0xc3a2, 0xd0ca,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0cc, 0xc4e3, 0xbdbb,
    -    0xbab4, 0xcda4, 0x003f, 0xc2ce, 0x003f, 0xb2bf, 0x003f, 0xd0c9,
    -    0x003f, 0xcdbe, 0xd0c5, 0xd0c7, 0xbaee, 0xd0c8, 0xd5a4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd0d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0d3,
    -    0xd0d1, 0x003f, 0x003f, 0xb2c2, 0x003f, 0xcabb, 0xd0cb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd0cf, 0xb8f3, 0x003f, 0x003f, 0xbbc8,
    -    0x003f, 0x003f, 0x003f, 0xb4a6, 0x003f, 0x003f, 0xd0d4, 0x003f,
    -    0xd0cc, 0x003f, 0x003f, 0xcee3, 0x003f, 0xbbf8, 0x003f, 0xd0cd,
    -    0x003f, 0xd0d2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0d5, 0x003f,
    -    0xd0ce, 0x003f, 0x003f, 0xb6a1, 0x003f, 0xb0cd, 0x003f, 0x003f,
    -    0xb6a2, 0xb2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5a5, 0x003f, 0xcbf9, 0xc9ee, 0xb8f4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfaf, 0xceb7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad8,
    -    0x003f, 0x003f, 0xb7b8, 0xc2a5, 0xb2e4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbdd3, 0x003f, 0x003f, 0x003f, 0xd0d9, 0x003f,
    -    0xd0de, 0xd0dc, 0x003f, 0x003f, 0xd0d7, 0x003f, 0x003f, 0xc2af,
    -    0xd0da, 0x003f, 0xd0dd, 0xd0db, 0x003f, 0xcadd, 0x003f, 0xd0d8,
    -    0x003f, 0xbfae, 0x003f, 0xcbf3, 0xd0df, 0xd0e0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbda4, 0xd0ed,
    -    0x003f, 0x003f, 0x003f, 0xc7d0, 0x003f, 0xc9b6, 0xd0e8, 0x003f,
    -    0xcaf0, 0x003f, 0xb2b6, 0x003f, 0x003f, 0x003f, 0xd0ec, 0x003f,
    -    /* 0x5000 .. 0x50ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0e6, 0xd0ef, 0x003f,
    -    0x003f, 0xc1d2, 0x003f, 0xb8c4, 0x003f, 0xc7dc, 0x003f, 0xe0c7,
    -    0x003f, 0xd0ee, 0xc5dd, 0x003f, 0xd0e3, 0x003f, 0xb8f6, 0x003f,
    -    0x003f, 0xb8f5, 0xd0e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcda,
    -    0x003f, 0xd0e9, 0x003f, 0xcaef, 0xc3cd, 0xd0e5, 0xb7f1, 0x003f,
    -    0xd0e2, 0xd0ea, 0xd0e4, 0xced1, 0xd0eb, 0xcfc1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e6, 0x003f,
    -    0x003f, 0xb7f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd0f0, 0x003f, 0x003f, 0x003f, 0xd0f1,
    -    0xd0f5, 0xb0ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad0,
    -    0xd0f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0f3, 0xd0f7, 0x003f,
    -    0x003f, 0x003f, 0xd0f6, 0x003f, 0xc4e4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7f2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd0f8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbcc5, 0x003f, 0xc2a6, 0xc4e5, 0xb6f6, 0x003f,
    -    0xd0f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5b6, 0x003f, 0x003f,
    -    0xd0fa, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0fc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb5, 0x003f, 0x003f,
    -    0x003f, 0xb7e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbbb1, 0xc8f7, 0xd0fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbac5, 0xcdc3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd0fe, 0xd1a3, 0xd0fd, 0xbac4, 0x003f, 0xbdfd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7b9, 0x003f,
    -    0x003f, 0x003f, 0xd1a4, 0x003f, 0x003f, 0xb6cf, 0x003f, 0x003f,
    -    0x003f, 0xd1a1, 0xd1a2, 0x003f, 0x003f, 0xc6af, 0x003f, 0xc1fc,
    -    0x003f, 0xb6a3, 0x003f, 0x003f, 0x003f, 0xcbcd, 0xd1a5, 0x003f,
    -    0x003f, 0x003f, 0xcebd, 0x003f, 0x003f, 0x003f, 0xd1a6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd1a9, 0x003f, 0xd1a7, 0x003f, 0xc1ce,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1a8, 0xd1aa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ac, 0x003f, 0x003f,
    -    0x003f, 0xd1ab, 0x003f, 0xcac8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5100 .. 0x51ff */
    -    0xb5b7, 0xd1ae, 0xd1af, 0x003f, 0xb2af, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd1ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbcf4, 0x003f, 0xd1b2, 0xd1b1, 0xd1b0, 0x003f,
    -    0xd0d6, 0x003f, 0xd1b3, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdfe,
    -    0x003f, 0xd1b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcda5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xccd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b6,
    -    0x003f, 0x003f, 0xd1b5, 0xd1b8, 0xd1b7, 0x003f, 0x003f, 0xd1b9,
    -    0xd1ba, 0xb0f4, 0x003f, 0xb8b5, 0xb7bb, 0xbdbc, 0xc3fb, 0xb6a4,
    -    0xc0e8, 0xb8f7, 0x003f, 0xb9ee, 0xd1bc, 0xccc8, 0xc5c6, 0x003f,
    -    0xbbf9, 0x003f, 0xd1bb, 0x003f, 0xd1bd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc5de, 0x003f, 0xb3f5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd1be, 0x003f, 0x003f, 0xc6fe, 0x003f, 0x003f,
    -    0xc1b4, 0xd1c0, 0xd1c1, 0xc8ac, 0xb8f8, 0xcfbb, 0xd1c2, 0x003f,
    -    0x003f, 0xb6a6, 0x003f, 0x003f, 0x003f, 0xcabc, 0xc2b6, 0xb6f1,
    -    0xc5b5, 0x003f, 0x003f, 0x003f, 0xb7f3, 0x003f, 0x003f, 0x003f,
    -    0xd1c3, 0x003f, 0xd1c4, 0x003f, 0x003f, 0xc6e2, 0xb1df, 0x003f,
    -    0x003f, 0xd1c7, 0xbafd, 0x003f, 0xd1c6, 0xbac6, 0x003f, 0xd1c8,
    -    0xe6ee, 0xd1c9, 0xcbc1, 0xd1ca, 0x003f, 0xd1cb, 0xd1cc, 0xbee9,
    -    0x003f, 0xbccc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb4a7, 0x003f, 0xd1cf, 0x003f, 0xd1cd, 0xccbd, 0xd1ce, 0x003f,
    -    0xc9da, 0xd1d0, 0xd1d1, 0xd1d2, 0xc5df, 0x003f, 0x003f, 0x003f,
    -    0xd1d6, 0xd1d4, 0xd1d5, 0xd1d3, 0xbae3, 0xd1d7, 0xccea, 0xcee4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1d8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc0a8, 0xd1d9, 0xbdda, 0x003f,
    -    0x003f, 0xd1da, 0x003f, 0xc3fc, 0xcebf, 0xc5e0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2c5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd1db, 0xf4a5, 0xb6c5, 0x003f, 0x003f,
    -    0xd1dc, 0xcbde, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde8, 0xc2fc,
    -    0x003f, 0xd1de, 0xc6e4, 0x003f, 0x003f, 0xd1df, 0x003f, 0x003f,
    -    0xd1e0, 0xb3ae, 0x003f, 0x003f, 0x003f, 0xd1e1, 0xb6a7, 0x003f,
    -    0xc6cc, 0xb1fa, 0xbdd0, 0x003f, 0x003f, 0xc8a1, 0xd1e2, 0x003f,
    -    /* 0x5200 .. 0x52ff */
    -    0xc5e1, 0x003f, 0x003f, 0xbfcf, 0xd1e3, 0x003f, 0xcaac, 0xc0da,
    -    0xb4a2, 0x003f, 0xb4a9, 0xd1e4, 0x003f, 0x003f, 0xd1e6, 0x003f,
    -    0x003f, 0xb7ba, 0x003f, 0x003f, 0xd1e5, 0x003f, 0x003f, 0xcef3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc8bd, 0xcacc, 0x003f, 0xd1e7,
    -    0x003f, 0xcdf8, 0xd1e8, 0x003f, 0x003f, 0x003f, 0xd1e9, 0x003f,
    -    0xc5fe, 0x003f, 0x003f, 0xd1ea, 0x003f, 0x003f, 0xc0a9, 0xbafe,
    -    0xb7f4, 0xd1eb, 0xbbc9, 0xb9ef, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc4e6, 0xd1ed, 0x003f, 0x003f, 0xc2a7,
    -    0x003f, 0x003f, 0xbaef, 0xd1ee, 0xd1ef, 0xc1b0, 0x003f, 0xd1ec,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd1f1, 0x003f, 0xcbb6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb9e4, 0x003f, 0x003f, 0xd1f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb7f5, 0xbade, 0xc7ed, 0x003f, 0x003f,
    -    0x003f, 0xd1f4, 0xd1f2, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9fb,
    -    0xbeea, 0xd1fb, 0xb3e4, 0xd1f5, 0xd1f3, 0xc1cf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1f7, 0x003f, 0xd1f6,
    -    0x003f, 0x003f, 0x003f, 0xb3c4, 0x003f, 0x003f, 0x003f, 0xb7e0,
    -    0xd1fc, 0xcead, 0x003f, 0x003f, 0x003f, 0xd1f8, 0x003f, 0x003f,
    -    0x003f, 0xd1fd, 0xd1fa, 0x003f, 0xd1f9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcecf, 0x003f, 0x003f, 0x003f, 0xb8f9,
    -    0xb2c3, 0x003f, 0x003f, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbdf5, 0xc5d8, 0xb9e5, 0xd2a2, 0xd2a3, 0x003f, 0x003f,
    -    0x003f, 0xcee5, 0x003f, 0x003f, 0xcfab, 0xd2a5, 0x003f, 0x003f,
    -    0x003f, 0xb8fa, 0x003f, 0x003f, 0xd2a4, 0x003f, 0xb3af, 0x003f,
    -    0x003f, 0xd2a6, 0x003f, 0xcbd6, 0x003f, 0xc4bc, 0x003f, 0xcda6,
    -    0x003f, 0xcad9, 0x003f, 0x003f, 0x003f, 0xd2a7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf0d5, 0x003f, 0x003f, 0xc6b0, 0x003f, 0xd2a8,
    -    0xb4aa, 0xccb3, 0x003f, 0x003f, 0x003f, 0xbea1, 0xd2a9, 0xcae7,
    -    0xd2ad, 0x003f, 0xc0aa, 0xd2aa, 0xb6d0, 0x003f, 0xd2ab, 0xb4ab,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb7ae, 0xd2ae, 0x003f, 0xd2af, 0x003f, 0x003f,
    -    0xd2b0, 0xd2b1, 0xbcdb, 0x003f, 0x003f, 0x003f, 0xb8fb, 0xccde,
    -    /* 0x5300 .. 0x53ff */
    -    0x003f, 0xcce8, 0xc6f7, 0x003f, 0x003f, 0xcaf1, 0xd2b2, 0x003f,
    -    0xd2b3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b5, 0x003f, 0xd2b7,
    -    0xd2b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b8, 0xb2bd, 0xcbcc,
    -    0x003f, 0xbafc, 0xd2b9, 0x003f, 0x003f, 0xc1d9, 0x003f, 0x003f,
    -    0xbea2, 0xb6a9, 0x003f, 0xd2ba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc8db, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2bb,
    -    0x003f, 0xd2bc, 0x003f, 0xd2bd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2be, 0xc9a4, 0xb6e8, 0xb0e5, 0x003f, 0x003f, 0x003f, 0xc6bf,
    -    0xd2bf, 0xbdbd, 0x003f, 0xc0e9, 0x003f, 0xd2c1, 0xd2c0, 0xbea3,
    -    0xb8e1, 0xd2c3, 0xc8be, 0x003f, 0x003f, 0xd2c4, 0x003f, 0x003f,
    -    0x003f, 0xc8dc, 0xc2b4, 0xc2ee, 0xb6a8, 0x003f, 0x003f, 0xc6ee,
    -    0xc3b1, 0x003f, 0xc7ee, 0x003f, 0xcbce, 0x003f, 0xd2c6, 0x003f,
    -    0xc0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7b5, 0x003f,
    -    0x003f, 0xd2c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2c8, 0xb1ac,
    -    0xb0f5, 0xb4ed, 0x003f, 0xc2a8, 0xb5d1, 0xcdf1, 0x003f, 0xd2cb,
    -    0xb2b7, 0x003f, 0x003f, 0xd2ca, 0x003f, 0x003f, 0x003f, 0xb6aa,
    -    0x003f, 0x003f, 0xd2cc, 0x003f, 0xccf1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2cd, 0x003f,
    -    0xced2, 0x003f, 0xb8fc, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8b6,
    -    0xd2ce, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2d0, 0xd2cf, 0x003f,
    -    0xbfdf, 0xb1b9, 0x003f, 0x003f, 0x003f, 0xb1de, 0xd2d1, 0x003f,
    -    0xd2d2, 0x003f, 0x003f, 0xb8b7, 0x003f, 0x003f, 0xd2d3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb5ee, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbbb2, 0xd2d4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcbf4, 0xbab5, 0xb5da, 0xcda7, 0xc1d0, 0xc8bf, 0xbcfd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbdc7, 0x003f, 0xbce8, 0xbcf5,
    -    0x003f, 0xbdf6, 0x003f, 0xc8c0, 0x003f, 0x003f, 0x003f, 0xd2d7,
    -    0x003f, 0xb1c3, 0xc1d1, 0xb8fd, 0xb8c5, 0xb6e7, 0x003f, 0x003f,
    -    0xd2db, 0xc3a1, 0xc2fe, 0xb6ab, 0xbea4, 0xd2dc, 0xd2da, 0xb2c4,
    -    0xc2e6, 0xbcb8, 0xbbcb, 0xb1a6, 0x003f, 0x003f, 0xb3f0, 0xb9e6,
    -    0xbbca, 0x003f, 0xd2dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5400 .. 0x54ff */
    -    0x003f, 0xd2de, 0x003f, 0xb5c9, 0xb3c6, 0x003f, 0x003f, 0x003f,
    -    0xb9e7, 0xb5c8, 0xc4df, 0xb1a5, 0xc6b1, 0xccbe, 0xb9a1, 0xcdf9,
    -    0xc5c7, 0xb8fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb7af, 0x003f, 0xd2e7, 0x003f, 0xb6e3,
    -    0xcbca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8dd, 0x003f,
    -    0x003f, 0xd2e6, 0x003f, 0xb4de, 0xd2e1, 0xd2e2, 0xd2e4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2e5, 0x003f,
    -    0xb5db, 0xbfe1, 0x003f, 0xcaad, 0xd2e3, 0xd2df, 0xb8e3, 0x003f,
    -    0xd2e0, 0x003f, 0xcfa4, 0x003f, 0x003f, 0x003f, 0xcaf2, 0x003f,
    -    0xc4e8, 0xb8e2, 0xb9f0, 0x003f, 0x003f, 0x003f, 0xd2e8, 0x003f,
    -    0x003f, 0xc6dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2ec,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbcfe, 0x003f, 0xbcf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2ef, 0xd2ed, 0x003f, 0xcca3, 0x003f, 0xd2ea, 0xd2f3, 0xd2ee,
    -    0x003f, 0x003f, 0x003f, 0xd2f1, 0xb8c6, 0xccbf, 0x003f, 0x003f,
    -    0xd2f2, 0x003f, 0x003f, 0x003f, 0xd2f4, 0x003f, 0xd2f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbaf0, 0xcfc2, 0x003f, 0xd2eb, 0xd2e9,
    -    0xd2f5, 0x003f, 0xd2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd2f8, 0x003f, 0xd3a3, 0xd2fa, 0x003f, 0x003f,
    -    0xd2fe, 0x003f, 0x003f, 0xd3a1, 0xd2fb, 0x003f, 0x003f, 0xd3be,
    -    0x003f, 0x003f, 0xbae9, 0xb3b1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2f9, 0x003f, 0x003f, 0x003f, 0xd3a5, 0xb0f6, 0xd3a4, 0x003f,
    -    0xb0a5, 0xc9ca, 0xd3a2, 0x003f, 0xd2fc, 0x003f, 0x003f, 0xd2f7,
    -    0xd2fd, 0xbac8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb0f7, 0xd3af, 0x003f, 0x003f, 0xd3a7, 0xd3a8, 0x003f,
    -    0xbea5, 0xcbe9, 0x003f, 0x003f, 0x003f, 0xd3ad, 0xd3ac, 0x003f,
    -    0x003f, 0x003f, 0xc5af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd3ae, 0x003f, 0x003f, 0xd3ab, 0x003f, 0x003f,
    -    /* 0x5500 .. 0x55ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb1b4, 0x003f, 0xbab6, 0xbfb0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a9,
    -    0xc5e2, 0x003f, 0x003f, 0x003f, 0xd3aa, 0x003f, 0xb0a2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3b4, 0xcda3,
    -    0x003f, 0xbea7, 0x003f, 0xd3ba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3b9, 0xd3b0, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2c3, 0x003f,
    -    0xd3b1, 0x003f, 0x003f, 0x003f, 0xc2ef, 0xd3b6, 0xbea6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3b3, 0x003f, 0x003f, 0xcce4,
    -    0x003f, 0x003f, 0x003f, 0xb7bc, 0x003f, 0x003f, 0xd3b7, 0xd3b8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3b5, 0xd3bb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd3b2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd3c1, 0xd3c6, 0x003f, 0xd3c2, 0x003f,
    -    0xd3bd, 0x003f, 0x003f, 0xd3c7, 0xc1b1, 0x003f, 0x003f, 0xd3c9,
    -    0x003f, 0xb9a2, 0xd3bf, 0xc3fd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3c3, 0xd3bc, 0xb4ad, 0x003f, 0xb4ee, 0xb3e5, 0xd3c4, 0xd3c0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7f6,
    -    0xd3ca, 0xd3c8, 0xc1d3, 0xb5ca, 0xb6ac, 0x003f, 0xd3c5, 0x003f,
    -    0xb6f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1c4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3ce, 0xd3cc, 0x003f, 0xd4a7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3d1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd3cb, 0x003f, 0xd3cf, 0x003f, 0x003f, 0xd3cd,
    -    0x003f, 0x003f, 0x003f, 0xbbcc, 0xd3d0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d3,
    -    0x003f, 0xd3d8, 0x003f, 0x003f, 0x003f, 0xd3d6, 0xd3d5, 0x003f,
    -    /* 0x5600 .. 0x56ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3b2, 0x003f,
    -    0x003f, 0xb2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3d2, 0x003f, 0xd3d4, 0xbea8,
    -    0xb1b3, 0x003f, 0x003f, 0xd3d7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb2de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3e2,
    -    0x003f, 0xbefc, 0xd3de, 0x003f, 0xd3dc, 0x003f, 0xd3dd, 0x003f,
    -    0xd3df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb1bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc1b9, 0x003f, 0xd3d9, 0x003f,
    -    0xd3da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb3fa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3e1, 0x003f, 0x003f, 0x003f,
    -    0xb4ef, 0x003f, 0xd3e4, 0xd3e0, 0xd3e3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcaae, 0x003f, 0x003f, 0x003f,
    -    0xc6d5, 0x003f, 0xc8b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3e5, 0xb3c5,
    -    0x003f, 0x003f, 0xd3e7, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ea,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3e9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3e8, 0x003f, 0xc7b9, 0x003f, 0x003f, 0xd3eb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ec, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3ee, 0x003f, 0xd3ed, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd3f0, 0x003f, 0x003f, 0x003f,
    -    0xd3f3, 0xd3f1, 0xd3ef, 0xd3f2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f5, 0x003f,
    -    0x003f, 0xd3f6, 0x003f, 0xd3f7, 0x003f, 0x003f, 0x003f, 0xd3f8,
    -    0xd1c5, 0x003f, 0xbcfc, 0xbbcd, 0x003f, 0x003f, 0xb2f3, 0x003f,
    -    0xb0f8, 0x003f, 0x003f, 0xc3c4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f9, 0x003f,
    -    0xbaa4, 0x003f, 0xb0cf, 0xbfde, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3fa, 0xb8c7, 0x003f, 0x003f, 0xb9f1, 0x003f, 0xd3fc,
    -    /* 0x5700 .. 0x57ff */
    -    0xd3fb, 0x003f, 0x003f, 0xcae0, 0xd3fd, 0x003f, 0x003f, 0x003f,
    -    0xd4a1, 0xd3fe, 0x003f, 0xd4a2, 0x003f, 0xd4a3, 0x003f, 0xb7f7,
    -    0x003f, 0x003f, 0xb1e0, 0xd4a4, 0x003f, 0x003f, 0xd4a6, 0x003f,
    -    0xd4a5, 0x003f, 0x003f, 0x003f, 0xd4a8, 0x003f, 0x003f, 0xc5da,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4a9, 0xb0b5,
    -    0xbadf, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7bd, 0x003f, 0x003f,
    -    0xc3cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4aa,
    -    0xd4ab, 0x003f, 0x003f, 0xd4ad, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4ae, 0x003f, 0xbae4, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6d1,
    -    0x003f, 0x003f, 0xcbb7, 0x003f, 0x003f, 0x003f, 0xd4ac, 0xd4af,
    -    0xbac1, 0xb9a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4b3, 0x003f, 0x003f, 0xbaa5, 0x003f, 0xc3b3, 0x003f,
    -    0x003f, 0xd4b0, 0xc4da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4b4,
    -    0x003f, 0x003f, 0xbfe2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4b2, 0xd4b5, 0x003f, 0xb7bf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd4b6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4b7, 0x003f, 0xb9a4, 0xb3c0, 0xd4b9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd4ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4bb, 0x003f, 0x003f, 0xd4b8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4b1, 0x003f, 0x003f, 0xd4bc, 0x003f, 0x003f, 0xd4bd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcbe4, 0x003f, 0x003f, 0xbeeb, 0x003f,
    -    0x003f, 0x003f, 0xd4bf, 0xd4c0, 0xd4be, 0x003f, 0xd4c2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc7b8, 0x003f, 0x003f, 0xb0e8,
    -    0xc9d6, 0x003f, 0x003f, 0xd4c3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbefd, 0x003f, 0x003f, 0xbcb9,
    -    0x003f, 0xc7dd, 0xb4f0, 0x003f, 0xbaeb, 0x003f, 0x003f, 0x003f,
    -    /* 0x5800 .. 0x58ff */
    -    0xcbd9, 0x003f, 0xc6b2, 0x003f, 0x003f, 0xb7f8, 0xc2cf, 0x003f,
    -    0x003f, 0x003f, 0xd4c1, 0xd4c4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2c4, 0x003f, 0x003f,
    -    0x003f, 0xd4c5, 0x003f, 0x003f, 0x003f, 0xd4c6, 0x003f, 0x003f,
    -    0x003f, 0xd4c8, 0x003f, 0x003f, 0xc4e9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4a1,
    -    0xb1e1, 0xcaf3, 0x003f, 0x003f, 0xbeec, 0xc5c8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbae6, 0x003f, 0x003f, 0xd4ce, 0x003f, 0x003f,
    -    0xcabd, 0xcedd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb2f4, 0xd4ca, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc1ba, 0xd4cd, 0x003f, 0xc5e3, 0x003f, 0x003f, 0xc5c9,
    -    0xc5e4, 0xc8b9, 0xc4cd, 0x003f, 0x003f, 0x003f, 0xbac9, 0x003f,
    -    0x003f, 0x003f, 0xd4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb1f6, 0x003f, 0xc5b6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4cb, 0x003f, 0xd4c7, 0x003f, 0x003f, 0xbfd0, 0x003f, 0x003f,
    -    0x003f, 0xd4cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdce, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb6ad, 0x003f, 0xd4d0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcae8, 0x003f, 0x003f, 0x003f, 0xc1fd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc4c6, 0x003f, 0x003f, 0xd4d2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcbcf, 0x003f, 0x003f, 0xd4d3, 0x003f, 0x003f, 0xd4d8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcaaf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4d7, 0xd4d1, 0xd4d4, 0xd4d6, 0x003f, 0x003f, 0xbaa6, 0x003f,
    -    0x003f, 0xcac9, 0x003f, 0x003f, 0x003f, 0xd4d9, 0x003f, 0xc3c5,
    -    0x003f, 0x003f, 0xb2f5, 0x003f, 0xbeed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4db, 0x003f, 0xd4da, 0x003f, 0xb9e8, 0x003f, 0xd4dc,
    -    0xd4de, 0xd4dd, 0x003f, 0x003f, 0xd4e0, 0x003f, 0xd4d5, 0xd4e2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd4e1, 0xd4df, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbbce, 0xbfd1, 0x003f, 0xc1d4, 0xd4e3,
    -    0xc0bc, 0xb0ed, 0xc7e4, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4db,
    -    0x003f, 0xd4e5, 0xd4e4, 0xd4e6, 0xd4e7, 0xd4e8, 0x003f, 0x003f,
    -    /* 0x5900 .. 0x59ff */
    -    0x003f, 0x003f, 0xd4e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcad1, 0xd4ea, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2c6,
    -    0xd4eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbc, 0xb3b0, 0x003f,
    -    0xd2c9, 0xbdc8, 0xc2bf, 0xd4ec, 0xcceb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xccb4, 0x003f, 0x003f, 0xd4ee, 0x003f, 0xc2e7,
    -    0x003f, 0xc5b7, 0xc2c0, 0xc9d7, 0xd4ef, 0xd4f0, 0xb1fb, 0x003f,
    -    0x003f, 0xbcba, 0xd4f1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0d0,
    -    0xd4f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb1e2, 0x003f, 0x003f, 0xb4f1,
    -    0xc6e0, 0xcaf4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f7, 0xc1d5,
    -    0xd4f6, 0xb7c0, 0x003f, 0x003f, 0xcbdb, 0xd4f5, 0x003f, 0xc5e5,
    -    0xd4f9, 0x003f, 0xd4f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4fb, 0x003f, 0xd4fa, 0x003f, 0x003f, 0xb1fc, 0x003f, 0xd4fc,
    -    0xbea9, 0xd4fe, 0xc3a5, 0x003f, 0xd4fd, 0x003f, 0xcab3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbdf7, 0xc5db, 0x003f, 0x003f, 0x003f,
    -    0xd5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9a5, 0x003f, 0x003f,
    -    0x003f, 0xd5a2, 0xc7a1, 0xc8de, 0xccd1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc7a5, 0x003f, 0x003f, 0xd5ab, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb5b8, 0x003f, 0x003f, 0xcdc5, 0x003f,
    -    0x003f, 0xccaf, 0x003f, 0xd6ac, 0x003f, 0xd5a3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5a6, 0x003f, 0xc2c5, 0x003f, 0x003f,
    -    0xcbb8, 0x003f, 0x003f, 0x003f, 0xc5ca, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcbe5, 0x003f, 0xbaca, 0x003f, 0x003f, 0xbeaa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a8, 0x003f,
    -    0x003f, 0xbbd0, 0x003f, 0xbbcf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb0b9, 0xb8c8, 0x003f, 0xc0ab, 0xb0d1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5ac, 0xd5ad, 0x003f, 0xd5aa, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1b8, 0xb4af, 0x003f,
    -    0xd5a9, 0x003f, 0xccc5, 0xc9b1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0a8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb0f9, 0x003f, 0x003f, 0x003f, 0xbbd1,
    -    /* 0x5a00 .. 0x5aff */
    -    0x003f, 0xb0d2, 0x003f, 0xb0a3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xccbc, 0x003f, 0xd5b3, 0x003f, 0xd5b1, 0x003f, 0x003f, 0xd5af,
    -    0xbfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ae, 0x003f, 0x003f,
    -    0x003f, 0xcada, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8e4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b7, 0xd5b8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbeab, 0x003f, 0x003f, 0x003f,
    -    0xd5b4, 0xcfac, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7cc, 0x003f,
    -    0x003f, 0xd5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbaa7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5b9, 0x003f, 0x003f, 0x003f, 0xc9d8, 0x003f,
    -    0x003f, 0x003f, 0xd5ba, 0x003f, 0xd5b5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccbb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc7de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5bb, 0xc9b2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd5bc, 0xd5c0, 0xd5bd, 0x003f,
    -    0x003f, 0xb2c7, 0xd5bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbcbb, 0x003f, 0xd5be, 0xb7f9, 0x003f, 0x003f, 0x003f,
    -    0xd5cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5c5, 0xd5c2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc3e4, 0x003f, 0xd5c1, 0x003f, 0x003f, 0xd5c3, 0x003f,
    -    0x003f, 0xd5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5c6, 0xd5c7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5b00 .. 0x5bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb4f2, 0x003f, 0xd5c9, 0xd5c8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ca, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbeee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5cd, 0x003f, 0xc4dc, 0x003f, 0x003f, 0x003f,
    -    0xb1c5, 0x003f, 0xd5cb, 0x003f, 0x003f, 0x003f, 0xd5ce, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cf, 0x003f,
    -    0xd5d2, 0x003f, 0x003f, 0xd5d0, 0x003f, 0xd5d1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbbd2, 0xd5d3, 0x003f, 0x003f, 0xb9a6, 0xd5d4, 0x003f, 0xbbfa,
    -    0xc2b8, 0x003f, 0xd5d5, 0xd5d6, 0xbbda, 0xb9a7, 0x003f, 0xccd2,
    -    0x003f, 0x003f, 0x003f, 0xb5a8, 0xb8c9, 0xd5d7, 0xb3d8, 0x003f,
    -    0x003f, 0xd5d8, 0x003f, 0xc2b9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd5d9, 0xd6a3, 0x003f, 0xd5da, 0x003f, 0xd5db, 0x003f, 0x003f,
    -    0xd5dc, 0x003f, 0xd5de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd5df, 0x003f, 0x003f, 0xd5e0, 0x003f, 0xc2f0, 0x003f, 0xb1a7,
    -    0xbce9, 0xb0c2, 0x003f, 0xc1d7, 0xb4b0, 0xbcb5, 0x003f, 0xb9a8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5e6, 0x003f, 0xbda1,
    -    0xb4b1, 0xc3e8, 0xc4ea, 0xb0b8, 0xb5b9, 0xcaf5, 0x003f, 0xbcc2,
    -    0x003f, 0x003f, 0xb5d2, 0xc0eb, 0xbcbc, 0xcda8, 0xd5e1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5dc, 0x003f,
    -    0xbacb, 0x003f, 0x003f, 0xb3b2, 0xb1e3, 0xbeac, 0xb2c8, 0x003f,
    -    0xd5e2, 0xcdc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdc9,
    -    0x003f, 0x003f, 0xbce4, 0xd5e3, 0xb4f3, 0xc6d2, 0xcca9, 0xd5e4,
    -    0x003f, 0xd5e5, 0x003f, 0x003f, 0xc9d9, 0x003f, 0x003f, 0x003f,
    -    0xd5e7, 0x003f, 0xb4a8, 0xb6f7, 0xd5e6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb4b2, 0x003f, 0xbfb2, 0xd5eb, 0xbba1,
    -    0x003f, 0xb2c9, 0xd5ea, 0x003f, 0xd5e8, 0xd5ec, 0xd5e9, 0xc7ab,
    -    0xdccd, 0xbfb3, 0x003f, 0xd5ed, 0x003f, 0x003f, 0xcec0, 0x003f,
    -    0xd5ee, 0x003f, 0x003f, 0xd5f0, 0x003f, 0xc3fe, 0xd5ef, 0x003f,
    -    0xc0a3, 0x003f, 0xbbfb, 0x003f, 0x003f, 0x003f, 0xc2d0, 0xbcf7,
    -    /* 0x5c00 .. 0x5cff */
    -    0x003f, 0xc9f5, 0xc0ec, 0x003f, 0xbccd, 0xd5f1, 0xbead, 0xd5f2,
    -    0xd5f3, 0xb0d3, 0xc2ba, 0xbfd2, 0x003f, 0xd5f4, 0xc6b3, 0xbeae,
    -    0x003f, 0xbeaf, 0x003f, 0xd5f5, 0x003f, 0x003f, 0xc0ed, 0x003f,
    -    0x003f, 0x003f, 0xbeb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd5f6, 0x003f, 0xd5f7, 0x003f, 0xcce0, 0x003f, 0x003f, 0x003f,
    -    0xd5f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6c6, 0x003f, 0x003f,
    -    0x003f, 0xbda2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd5f9, 0xd5fa, 0xbcdc, 0xbfac, 0xc6f4, 0xbfd4, 0xc8f8, 0xc7a2,
    -    0xb6c9, 0xd5fb, 0x003f, 0x003f, 0x003f, 0xb5ef, 0xd5fc, 0x003f,
    -    0xb6fe, 0x003f, 0xc6cf, 0xb2b0, 0x003f, 0xbbd3, 0xd5fd, 0xd6a2,
    -    0xd6a1, 0xb6fd, 0x003f, 0xd5fe, 0x003f, 0xc5b8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2b0, 0x003f,
    -    0xc5cb, 0xbcc8, 0x003f, 0x003f, 0xc1d8, 0xcdfa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a4, 0x003f, 0xd6a5, 0xc6d6,
    -    0x003f, 0xbbb3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a7, 0x003f,
    -    0x003f, 0xd6a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a9, 0x003f, 0x003f, 0x003f,
    -    0xb4f4, 0xd6aa, 0x003f, 0x003f, 0xd6ab, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb2ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc1bb, 0xb4e4, 0x003f, 0xd6ad, 0xcca8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc2d2, 0x003f, 0xb3d9, 0x003f, 0x003f, 0xd6af, 0xd6b1,
    -    0xb4df, 0x003f, 0x003f, 0xd6ae, 0xd6b0, 0x003f, 0xd6b3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6b2, 0x003f, 0xd6b4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc6bd, 0xb6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb2e5, 0xd6b6, 0xd6bb, 0x003f, 0x003f, 0xd6b9, 0x003f, 0xcaf7,
    -    0xcaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5e7, 0x003f,
    -    0x003f, 0x003f, 0xd6b8, 0xbdd4, 0x003f, 0xd6b7, 0x003f, 0x003f,
    -    /* 0x5d00 .. 0x5dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbff2,
    -    0x003f, 0x003f, 0x003f, 0xd6bc, 0x003f, 0x003f, 0xbaea, 0x003f,
    -    0x003f, 0xd6c2, 0x003f, 0x003f, 0xd6c3, 0xd6bd, 0xb3b3, 0xd6be,
    -    0xd6c7, 0xd6c6, 0xd6c5, 0xd6c1, 0x003f, 0x003f, 0x003f, 0xd6c0,
    -    0x003f, 0x003f, 0xd6c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd6cb, 0xd6c8, 0x003f, 0xd6ca, 0x003f,
    -    0xcdf2, 0x003f, 0xd6c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6bf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbff3, 0x003f, 0x003f, 0xd6cc, 0x003f, 0x003f, 0xbab7,
    -    0x003f, 0x003f, 0x003f, 0xd6cd, 0x003f, 0x003f, 0xd6ce, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6d1, 0x003f, 0xd6d0, 0x003f, 0x003f, 0xd6cf,
    -    0x003f, 0x003f, 0x003f, 0xc5e8, 0xd6ba, 0x003f, 0x003f, 0x003f,
    -    0xd6d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6d4, 0x003f, 0xd6d5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d8,
    -    0x003f, 0x003f, 0xcee6, 0x003f, 0xd6d9, 0xd6d6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6da, 0x003f, 0x003f, 0xb4e0, 0xd6db, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6dd, 0xd6dc, 0x003f, 0x003f, 0xd6de, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd6df, 0x003f, 0xc0ee, 0xbda3, 0x003f,
    -    0x003f, 0xbde4, 0x003f, 0xc1e3, 0x003f, 0xb9a9, 0xbab8, 0xb9aa,
    -    0xb5f0, 0x003f, 0x003f, 0xd6e0, 0x003f, 0x003f, 0xbab9, 0x003f,
    -    0x003f, 0xb8ca, 0xd6e1, 0xcca6, 0xc7c3, 0xd6e2, 0x003f, 0xb9ab,
    -    0x003f, 0x003f, 0x003f, 0xb4ac, 0x003f, 0xc3a7, 0xb6d2, 0x003f,
    -    /* 0x5e00 .. 0x5eff */
    -    0x003f, 0x003f, 0xbbd4, 0xc9db, 0x003f, 0x003f, 0xc8c1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd6e3, 0xb4f5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6e6, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4a1, 0x003f,
    -    0x003f, 0xd6e5, 0xd6e4, 0xd6e7, 0x003f, 0xc4eb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfe3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbbd5, 0x003f, 0xc0ca, 0x003f, 0xc2d3,
    -    0xb5a2, 0x003f, 0x003f, 0xc4a2, 0x003f, 0x003f, 0xd6e8, 0xd6e9,
    -    0xbeef, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb9, 0x003f, 0x003f,
    -    0xd6ec, 0x003f, 0x003f, 0xd6eb, 0xd6ea, 0xc9fd, 0x003f, 0xd6f3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcbda, 0x003f, 0xd6ed, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6ef, 0xcbeb, 0x003f, 0xd6ee,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6f0,
    -    0x003f, 0xc8a8, 0xd6f1, 0xcabe, 0xd6f2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb4b3, 0xcabf, 0xc7af, 0xd6f4, 0xd6f5, 0x003f,
    -    0xb9ac, 0xb4b4, 0xd6f6, 0xb8b8, 0xcdc4, 0xcda9, 0xb4f6, 0xd6f8,
    -    0x003f, 0xc4a3, 0x003f, 0xb9ad, 0xbeb1, 0x003f, 0x003f, 0xc8df,
    -    0x003f, 0x003f, 0xbeb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdf8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4ec, 0xcaf9, 0xc5b9,
    -    0x003f, 0x003f, 0xb9ae, 0x003f, 0xc9dc, 0x003f, 0x003f, 0x003f,
    -    0xd6f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d9, 0xbac2,
    -    0x003f, 0x003f, 0x003f, 0xb8cb, 0x003f, 0xc4ed, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0c3, 0xbdee, 0xb9af,
    -    0xcdc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6fa, 0xd6fb, 0xc7d1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd6fc, 0xcef7, 0xcfad, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6fe,
    -    0xd6fd, 0x003f, 0x003f, 0xb3c7, 0x003f, 0x003f, 0xd7a1, 0x003f,
    -    0x003f, 0x003f, 0xd7a4, 0xd7a5, 0x003f, 0xd7a3, 0x003f, 0xc9c0,
    -    0xbeb3, 0xd7a7, 0xd7a6, 0xd7a2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd7a8, 0xd7a9, 0x003f, 0x003f, 0xd7aa, 0x003f, 0x003f, 0x003f,
    -    0xd7ad, 0xd7ab, 0x003f, 0xd7ac, 0xd7ae, 0x003f, 0xb1e4, 0xc4ee,
    -    0xd7af, 0x003f, 0xb7fa, 0xb2f6, 0xc7b6, 0x003f, 0xd7b0, 0xc6fb,
    -    /* 0x5f00 .. 0x5fff */
    -    0x003f, 0xcadb, 0x003f, 0xd7b1, 0xcfae, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd7b2, 0xcac0, 0xd7b5, 0xd0a1, 0xd0b1, 0x003f, 0xbcb0,
    -    0xc6f5, 0xd7b6, 0x003f, 0xb5dd, 0xc4a4, 0xb0fa, 0xd7b7, 0xcaa6,
    -    0xb9b0, 0x003f, 0x003f, 0xc3d0, 0x003f, 0x003f, 0x003f, 0xc4ef,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccef, 0xb8b9, 0xb8cc,
    -    0x003f, 0xd7b8, 0x003f, 0x003f, 0x003f, 0xd7b9, 0x003f, 0xd7bf,
    -    0x003f, 0xbce5, 0x003f, 0x003f, 0x003f, 0xc4a5, 0x003f, 0xb6af,
    -    0xd7ba, 0x003f, 0x003f, 0x003f, 0xc9ab, 0x003f, 0xc3c6, 0x003f,
    -    0x003f, 0xd7bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd7bc, 0x003f, 0xb6b0, 0x003f, 0xd7bd, 0x003f, 0xd7be, 0x003f,
    -    0x003f, 0xd7c0, 0x003f, 0xc5f6, 0x003f, 0x003f, 0xd7c1, 0xd7c2,
    -    0x003f, 0xd7c3, 0x003f, 0x003f, 0xd7b4, 0xd7b3, 0x003f, 0x003f,
    -    0x003f, 0xd7c4, 0xb7c1, 0x003f, 0x003f, 0x003f, 0xc9a7, 0x003f,
    -    0x003f, 0xbacc, 0xc9b7, 0xc4a6, 0xc9cb, 0xd7c5, 0x003f, 0x003f,
    -    0xbeb4, 0xb1c6, 0x003f, 0xd7c6, 0x003f, 0x003f, 0x003f, 0xd7c7,
    -    0x003f, 0xccf2, 0x003f, 0x003f, 0xc8e0, 0x003f, 0x003f, 0xd7ca,
    -    0xb1fd, 0xc0ac, 0xd7c9, 0xd7c8, 0xb7c2, 0xc2d4, 0x003f, 0xd7ce,
    -    0xd7cc, 0x003f, 0xd7cb, 0xcea7, 0xb8e5, 0x003f, 0x003f, 0x003f,
    -    0xbdf9, 0xd7cd, 0xc5cc, 0xbdbe, 0x003f, 0x003f, 0x003f, 0xc6c0,
    -    0xd7d1, 0xd7d0, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7cf, 0x003f,
    -    0xd7d2, 0xb8e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd7d3, 0xc9fc, 0xbddb, 0x003f, 0x003f, 0xd7d4, 0xc8f9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc6c1, 0xc4a7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc5b0, 0x003f, 0x003f, 0xd7d5, 0xb5ab, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbfb4, 0x003f, 0xc9ac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb4f7, 0xc7a6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7d6, 0xbbd6,
    -    0xcbba, 0xcbbb, 0x003f, 0x003f, 0xb1fe, 0xd7db, 0x003f, 0x003f,
    -    0xc3e9, 0x003f, 0x003f, 0x003f, 0xd7d8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb2f7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd8ad, 0xd7da, 0x003f, 0x003f, 0x003f, 0xc7b0, 0x003f, 0x003f,
    -    0xd7d9, 0x003f, 0x003f, 0xd7d7, 0x003f, 0xb9fa, 0x003f, 0xd7dd,
    -    /* 0x6000 .. 0x60ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7e3, 0xd7e9,
    -    0xd7e1, 0x003f, 0xc5dc, 0x003f, 0x003f, 0xd7e6, 0xc9dd, 0x003f,
    -    0x003f, 0xd7e0, 0x003f, 0xd7e5, 0xcee7, 0xbbd7, 0x003f, 0x003f,
    -    0xc2d5, 0xd7de, 0x003f, 0x003f, 0x003f, 0xb5de, 0xd7e8, 0xc0ad,
    -    0xb1e5, 0xd7e2, 0xb2f8, 0xd7e7, 0x003f, 0x003f, 0x003f, 0xb6b1,
    -    0x003f, 0xd7e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd7ec, 0xd7f6, 0xd7f4, 0x003f, 0x003f, 0xd7f1, 0x003f,
    -    0x003f, 0x003f, 0xd7f0, 0xcef8, 0x003f, 0xd7f2, 0x003f, 0x003f,
    -    0xb6b2, 0x003f, 0xb9b1, 0x003f, 0x003f, 0xbdfa, 0x003f, 0x003f,
    -    0x003f, 0xd7f9, 0xd7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ef,
    -    0xd7df, 0x003f, 0xb2fa, 0xd7f3, 0xd7f5, 0xc3d1, 0x003f, 0x003f,
    -    0xbaa8, 0xb2b8, 0xd7ed, 0xd7f8, 0xd7f7, 0xb6b3, 0x003f, 0xc2a9,
    -    0xb3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7c3, 0x003f, 0xd7ee,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd7fa, 0x003f, 0xd7fd, 0xd8a1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbcbd, 0x003f, 0xd8a7, 0xc4f0, 0xd7fb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8a5, 0x003f, 0xb2f9, 0x003f, 0xd8a3, 0xd8a4,
    -    0x003f, 0x003f, 0xd7fe, 0xd8a2, 0x003f, 0x003f, 0x003f, 0xb8e7,
    -    0xcdaa, 0x003f, 0x003f, 0xb4b5, 0x003f, 0x003f, 0xb1d9, 0xd8a6,
    -    0x003f, 0xc7ba, 0xb0ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc8e1, 0xd7dc, 0xd8ac, 0xd8b0, 0xcce5, 0x003f,
    -    0xd8a9, 0x003f, 0x003f, 0x003f, 0xc5e9, 0xd8ae, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbef0, 0xd8af, 0xc6d7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfc7, 0x003f, 0xd8ab, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd8b1, 0x003f, 0xb9fb, 0x003f, 0xc0cb, 0x003f, 0x003f, 0xb0d4,
    -    0xd8aa, 0xd8a8, 0x003f, 0xc1da, 0x003f, 0x003f, 0x003f, 0xd7fc,
    -    0xbbb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc2c6, 0xd8bd, 0x003f, 0xc1db, 0xd8b8, 0x003f, 0xd8b5, 0xd8b6,
    -    0x003f, 0xbce6, 0xd8b9, 0xd8bc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6100 .. 0x61ff */
    -    0xd8b7, 0xbda5, 0x003f, 0xd8ba, 0x003f, 0x003f, 0xd8b4, 0x003f,
    -    0xccfc, 0xccfb, 0x003f, 0x003f, 0x003f, 0xd8be, 0xd8bf, 0xb0d5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8b3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb6f2, 0xb0a6, 0x003f, 0x003f, 0x003f, 0xb4b6,
    -    0x003f, 0xd8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8c3,
    -    0xd8c2, 0x003f, 0x003f, 0x003f, 0xd8c7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c6, 0xd8c9, 0xd8c1, 0xd8c5,
    -    0x003f, 0x003f, 0xd8ca, 0x003f, 0xd8cb, 0x003f, 0x003f, 0xd8c0,
    -    0xbbfc, 0x003f, 0xd8c4, 0xc2d6, 0xb9b2, 0xd8b2, 0xbfb5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8d8, 0x003f, 0xcae9, 0x003f, 0x003f,
    -    0xd8ce, 0xd8cf, 0xd8d0, 0x003f, 0x003f, 0xd8d7, 0x003f, 0xd8d6,
    -    0x003f, 0x003f, 0xcbfd, 0xb4b7, 0x003f, 0xd8d4, 0x003f, 0xb7c5,
    -    0xb3b4, 0x003f, 0x003f, 0xd8d1, 0x003f, 0x003f, 0xceb8, 0xd8d3,
    -    0xb0d6, 0xd8d5, 0x003f, 0xd8cc, 0xd8d2, 0xd8d9, 0xb7c4, 0xd8cd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcddd, 0x003f,
    -    0x003f, 0x003f, 0xcdab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8dc,
    -    0x003f, 0x003f, 0xd8e0, 0x003f, 0x003f, 0x003f, 0xc1fe, 0x003f,
    -    0xcef9, 0xd8e1, 0x003f, 0x003f, 0xd8de, 0x003f, 0xd8db, 0x003f,
    -    0x003f, 0xd8da, 0xd8df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcab0, 0x003f, 0x003f, 0xc6b4,
    -    0x003f, 0xb7c6, 0x003f, 0xd8e2, 0xd8dd, 0x003f, 0xd8e3, 0x003f,
    -    0x003f, 0x003f, 0xb7fb, 0x003f, 0x003f, 0x003f, 0xb2b1, 0x003f,
    -    0x003f, 0x003f, 0xd8eb, 0x003f, 0x003f, 0x003f, 0xb4b8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8e9, 0x003f, 0x003f, 0xd8ea, 0xbaa9,
    -    0xd8e8, 0xd8e6, 0xd8e5, 0xd8ec, 0xd8e4, 0xd8ee, 0x003f, 0x003f,
    -    0xb2fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8f0, 0x003f, 0x003f, 0xd8ef, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc4a8, 0x003f, 0xd8f3, 0x003f, 0xd8f1, 0xd8e7,
    -    0xb7fc, 0x003f, 0xd8f2, 0x003f, 0xd8f6, 0xd8f5, 0xd8f7, 0xd8f4,
    -    /* 0x6200 .. 0x62ff */
    -    0xd8f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd8f9, 0xd8fa, 0xcaea, 0x003f, 0xd8fc, 0xd8fb, 0xbdbf, 0x003f,
    -    0xc0ae, 0xb2e6, 0xb2fc, 0x003f, 0xd8fd, 0x003f, 0xb0bf, 0x003f,
    -    0x003f, 0x003f, 0xc0cc, 0xd8fe, 0x003f, 0xecc3, 0xd9a1, 0xb7e1,
    -    0x003f, 0xd9a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0ef, 0x003f,
    -    0x003f, 0x003f, 0xd9a3, 0x003f, 0x003f, 0x003f, 0xd9a4, 0xb5ba,
    -    0xd9a5, 0x003f, 0xd9a6, 0xd9a7, 0xc2d7, 0x003f, 0x003f, 0x003f,
    -    0xb8cd, 0x003f, 0x003f, 0xcce1, 0x003f, 0x003f, 0x003f, 0xcbbc,
    -    0xbdea, 0xd9a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0f0,
    -    0xeebd, 0xc8e2, 0x003f, 0xbcea, 0x003f, 0xbacd, 0xd9a9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc2c7, 0x003f, 0xcaa7, 0x003f, 0x003f,
    -    0xc2f1, 0x003f, 0x003f, 0xd9ac, 0x003f, 0x003f, 0xd9aa, 0x003f,
    -    0xd9ad, 0x003f, 0x003f, 0xd9ab, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcab1, 0x003f,
    -    0x003f, 0xb0b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9de, 0x003f,
    -    0x003f, 0xc8e3, 0x003f, 0x003f, 0xd9af, 0x003f, 0xd9b2, 0xbeb5,
    -    0xb5bb, 0x003f, 0xd9b0, 0xd9b7, 0xbeb6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd9b1, 0xc7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdde, 0xd9b3, 0xd9b4, 0xd9b8, 0xc5ea, 0xd9b5, 0xb9b3,
    -    0xc0de, 0x003f, 0x003f, 0xd9c6, 0xc8b4, 0x003f, 0xc2f2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc8e4, 0xdaad, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcafa, 0x003f, 0x003f, 0x003f, 0xc4f1, 0x003f, 0x003f,
    -    0x003f, 0xcbf5, 0x003f, 0xd9bb, 0xb2a1, 0xc3ea, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd9c4, 0x003f, 0x003f, 0xc3b4, 0xd9be, 0xd9c5,
    -    0xd9c0, 0xd9c7, 0xd9c3, 0x003f, 0xd9c2, 0xc7ef, 0x003f, 0xd9bc,
    -    0xb2fd, 0xd9ba, 0xb5f1, 0xc2f3, 0xd9b6, 0x003f, 0x003f, 0xd9b9,
    -    0xb9b4, 0xc0db, 0x003f, 0xbeb7, 0xd9c1, 0xc7d2, 0x003f, 0x003f,
    -    0xb5f2, 0xb3c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb3e7, 0xbfa1, 0xd9c9, 0xd9ce,
    -    0x003f, 0xd9ca, 0x003f, 0xb7fd, 0x003f, 0xd9cf, 0xbba2, 0xb9e9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbda6, 0xd9bd,
    -    /* 0x6300 .. 0x63ff */
    -    0x003f, 0xbbfd, 0xd9cc, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbd8,
    -    0xd9cd, 0xb0c4, 0x003f, 0x003f, 0xd9c8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc4a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb5f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6b4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cb,
    -    0xb0a7, 0x003f, 0x003f, 0xbac3, 0x003f, 0x003f, 0x003f, 0xbfb6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc4f2, 0x003f, 0x003f, 0xc8d4, 0xd9d1, 0xc1de,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc2aa, 0x003f, 0x003f, 0xbbab, 0xd9d2, 0x003f, 0xd9d4,
    -    0xd9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0xcae1, 0x003f, 0xc4bd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc1dc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafb,
    -    0xbcce, 0xd9e0, 0x003f, 0xd9df, 0x003f, 0x003f, 0xbff8, 0x003f,
    -    0x003f, 0x003f, 0xb7fe, 0x003f, 0x003f, 0x003f, 0xd9d9, 0xbeb9,
    -    0x003f, 0x003f, 0xc6e8, 0xc7b1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9d7, 0x003f, 0x003f, 0xc1dd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbcf8, 0xd9dc, 0x003f, 0x003f, 0xbeb8, 0x003f, 0xd9d6, 0xd9db,
    -    0x003f, 0x003f, 0xc7d3, 0x003f, 0x003f, 0x003f, 0xd9d5, 0x003f,
    -    0xb7a1, 0x003f, 0x003f, 0xb3dd, 0x003f, 0x003f, 0x003f, 0xd9dd,
    -    0xceab, 0xbace, 0xc3b5, 0xd9da, 0x003f, 0xc0dc, 0x003f, 0xb9b5,
    -    0xbfe4, 0xb1e6, 0xc1bc, 0xd9d8, 0xb5c5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb7c7, 0x003f, 0xc4cf, 0xd9de, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc1df, 0x003f, 0x003f, 0xd9e1, 0x003f,
    -    0xd9e3, 0x003f, 0x003f, 0xc2b7, 0xd9e9, 0x003f, 0xd9e4, 0x003f,
    -    0x003f, 0xd9e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9c1,
    -    0xc4f3, 0x003f, 0xd9e7, 0x003f, 0x003f, 0x003f, 0xcdac, 0x003f,
    -    0x003f, 0x003f, 0xcdc8, 0xb4b9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb0ae, 0x003f, 0xd9e5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4f8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb1e7, 0x003f, 0xd9e8, 0x003f,
    -    0x003f, 0x003f, 0xcdc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6400 .. 0x64ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ec, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2bb, 0x003f, 0xd9f3,
    -    0x003f, 0x003f, 0x003f, 0xd9ed, 0x003f, 0x003f, 0xd9ea, 0xd9f1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd9d3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ee, 0x003f,
    -    0xd9f2, 0x003f, 0x003f, 0x003f, 0xc8c2, 0xc5eb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd9eb, 0x003f, 0xd9ef, 0x003f,
    -    0x003f, 0x003f, 0xb7c8, 0x003f, 0x003f, 0x003f, 0xbaf1, 0x003f,
    -    0x003f, 0x003f, 0xc0dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc5a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f4,
    -    0x003f, 0xcbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f6, 0x003f,
    -    0xccce, 0x003f, 0xc0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb7e2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbbb5, 0xd9fa, 0x003f, 0xd9f9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc7b2, 0x003f, 0x003f, 0x003f, 0xc6b5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc5b1, 0xd9fb, 0x003f, 0x003f,
    -    0x003f, 0xd9fc, 0x003f, 0xc9ef, 0x003f, 0xc7c5, 0xbba3, 0x003f,
    -    0xc0f1, 0x003f, 0xcbd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3c9, 0x003f, 0xdaa5, 0xd9fe, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdca, 0xdaa7, 0x003f, 0x003f, 0xdaa3, 0x003f, 0xdaa4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1e0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdaa2, 0x003f, 0xd9bf, 0x003f, 0x003f, 0x003f,
    -    0xdaa6, 0x003f, 0xdaa1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdaab, 0xdaac, 0xc5a7, 0xdaae, 0x003f, 0x003f, 0xbba4, 0xdaa9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb5bc, 0x003f, 0x003f, 0xdaaf,
    -    0x003f, 0xdaa8, 0xdab3, 0x003f, 0xdab2, 0x003f, 0xdab1, 0x003f,
    -    0x003f, 0x003f, 0xdab4, 0x003f, 0x003f, 0xdab6, 0xbef1, 0x003f,
    -    /* 0x6500 .. 0x65ff */
    -    0xdab5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdab9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdab7, 0x003f, 0x003f, 0x003f, 0xdab8, 0xd9f0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdabb, 0xdaba, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd9f8, 0xdabc, 0xdab0, 0x003f, 0x003f, 0xbbd9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdabd, 0xdabe, 0xdac0, 0xdabf,
    -    0xdac1, 0xb2fe, 0x003f, 0xb9b6, 0x003f, 0x003f, 0xcafc, 0xc0af,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8ce, 0x003f, 0x003f,
    -    0xdac3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdac6, 0x003f, 0xc9d2,
    -    0x003f, 0xb5df, 0x003f, 0x003f, 0x003f, 0xdac5, 0xdac4, 0xc7d4,
    -    0xdac7, 0xb6b5, 0x003f, 0x003f, 0x003f, 0xdac9, 0xdac8, 0x003f,
    -    0x003f, 0x003f, 0xb4ba, 0xbbb6, 0x003f, 0x003f, 0xc6d8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb7c9, 0x003f, 0x003f, 0x003f,
    -    0xbff4, 0x003f, 0xdaca, 0x003f, 0xc0b0, 0xc5a8, 0x003f, 0xc9df,
    -    0xdacb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdacc, 0xdacd, 0x003f, 0x003f, 0x003f, 0xcab8,
    -    0xd5dd, 0xc0c6, 0x003f, 0x003f, 0xc9cc, 0x003f, 0xbad8, 0x003f,
    -    0xc8e5, 0xc8c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5cd,
    -    0x003f, 0xcec1, 0x003f, 0xdacf, 0xbcd0, 0x003f, 0x003f, 0xdad0,
    -    0x003f, 0xb0b6, 0x003f, 0x003f, 0xb6d4, 0xc0cd, 0x003f, 0xc9e0,
    -    0x003f, 0x003f, 0x003f, 0xdad1, 0xbbc2, 0xc3c7, 0x003f, 0xbbdb,
    -    0xbfb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdad2,
    -    0x003f, 0xcafd, 0x003f, 0x003f, 0xb1f7, 0xbbdc, 0x003f, 0x003f,
    -    0x003f, 0xdad5, 0x003f, 0xdad3, 0xdad6, 0xceb9, 0xdad4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc0fb, 0xdad7, 0x003f, 0x003f, 0xc2b2,
    -    0x003f, 0x003f, 0xdad8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4fa,
    -    0x003f, 0xdada, 0x003f, 0xdad9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdadb, 0xdadc, 0xb4fb, 0x003f, 0x003f, 0xc6fc, 0xc3b6, 0xb5ec,
    -    0xbbdd, 0xc1e1, 0x003f, 0x003f, 0xbddc, 0xb0b0, 0x003f, 0x003f,
    -    0x003f, 0xdadd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb2a2, 0xdae1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6600 .. 0x66ff */
    -    0x003f, 0x003f, 0xb9b7, 0xdae0, 0x003f, 0x003f, 0xbaab, 0xbeba,
    -    0x003f, 0x003f, 0xdadf, 0x003f, 0xbebb, 0x003f, 0xccc0, 0xbaaa,
    -    0x003f, 0x003f, 0x003f, 0xb0d7, 0xc0ce, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdae6, 0x003f, 0x003f, 0xc0b1,
    -    0xb1c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdd5, 0x003f, 0xcbe6,
    -    0xbaf2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbebc, 0x003f, 0xc0a7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdae5, 0xdae3, 0xdae4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc3eb, 0x003f, 0x003f, 0xdba6,
    -    0x003f, 0xdaea, 0xbbfe, 0xb9b8, 0xdae8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdae9, 0x003f, 0xbfb8, 0x003f, 0x003f, 0x003f, 0xdae7,
    -    0x003f, 0x003f, 0xbbaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaec, 0xdaeb, 0xdaf0,
    -    0x003f, 0x003f, 0xdaf1, 0x003f, 0xdaed, 0x003f, 0xb3a2, 0xdaee,
    -    0xdaef, 0xc8d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9e1, 0xb7ca,
    -    0xdaf2, 0x003f, 0x003f, 0x003f, 0xc0b2, 0x003f, 0xbebd, 0x003f,
    -    0x003f, 0x003f, 0xc3d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb6c7, 0x003f, 0xdaf3, 0xdaf7, 0x003f, 0x003f, 0xb2cb,
    -    0xdaf4, 0xdaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaf5, 0x003f,
    -    0x003f, 0xbdeb, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3c8, 0xb0c5,
    -    0xdaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaf9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc4aa, 0x003f, 0x003f, 0x003f, 0xcef1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbbc3, 0x003f, 0x003f, 0xcaeb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcbbd, 0x003f, 0x003f, 0x003f,
    -    0xdba2, 0xdafb, 0x003f, 0x003f, 0xdafe, 0x003f, 0xdafd, 0x003f,
    -    0x003f, 0xdafa, 0x003f, 0x003f, 0xdba1, 0x003f, 0x003f, 0xc6de,
    -    0x003f, 0xdafc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba3, 0x003f,
    -    0x003f, 0xbdec, 0xdba4, 0x003f, 0xcdcb, 0xc7f8, 0x003f, 0x003f,
    -    0xdba5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba7, 0x003f,
    -    0x003f, 0xdba8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdba9, 0x003f, 0xb6ca, 0xb1c8, 0xb9b9, 0xdbaa, 0x003f, 0xdbab,
    -    0xbdf1, 0xc1e2, 0x003f, 0x003f, 0xd2d8, 0xc1be, 0xc1bd, 0xc2d8,
    -    /* 0x6700 .. 0x67ff */
    -    0xbac7, 0x003f, 0x003f, 0xd0f2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb7ee, 0xcdad, 0x003f, 0xcafe, 0x003f, 0xc9fe, 0x003f, 0xdbac,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbaf3, 0xc4bf, 0xdbad, 0xcfaf,
    -    0x003f, 0x003f, 0x003f, 0xcbbe, 0x003f, 0xc4ab, 0xdbae, 0xb4fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbaf, 0xdbb0,
    -    0xccda, 0x003f, 0xcca4, 0xcbf6, 0xcbdc, 0xbba5, 0xdbb2, 0x003f,
    -    0x003f, 0xbceb, 0x003f, 0x003f, 0xcbd1, 0x003f, 0xdbb4, 0xdbb7,
    -    0xdbb6, 0x003f, 0xb4f9, 0x003f, 0x003f, 0xb5e0, 0x003f, 0xdbb3,
    -    0x003f, 0xdbb5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbb8, 0x003f,
    -    0x003f, 0xbff9, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdfb, 0xb0c9,
    -    0xbae0, 0xc2bc, 0x003f, 0xbcdd, 0x003f, 0x003f, 0xbef3, 0x003f,
    -    0x003f, 0xdbbb, 0x003f, 0x003f, 0xc5ce, 0x003f, 0xdbb9, 0xc2ab,
    -    0xdbba, 0xbef2, 0xccdd, 0xdbbc, 0xdbbd, 0xcde8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbc2, 0x003f, 0x003f, 0xb9ba, 0x003f, 0xc7d5,
    -    0xdbbf, 0xc5ec, 0xdade, 0xdae2, 0x003f, 0xb5cf, 0x003f, 0xc7c7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdbc1, 0x003f, 0xbebe, 0xc8c4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbc7, 0x003f, 0xc8fa,
    -    0x003f, 0xdbbe, 0x003f, 0xdbc4, 0xdbc3, 0x003f, 0x003f, 0x003f,
    -    0xc0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbed, 0x003f, 0xced3,
    -    0x003f, 0x003f, 0xcbe7, 0x003f, 0xb2cc, 0xbbde, 0x003f, 0x003f,
    -    0xcfc8, 0xdbc6, 0xbff5, 0x003f, 0x003f, 0x003f, 0xdbc5, 0x003f,
    -    0x003f, 0xdbc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8cf,
    -    0x003f, 0x003f, 0x003f, 0xdbcc, 0xdbca, 0x003f, 0xb2cd, 0xdbc8,
    -    0xdbce, 0xdbd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc2c8, 0x003f, 0x003f, 0xcac1, 0x003f, 0xdbd6, 0x003f,
    -    0x003f, 0x003f, 0xc9a2, 0x003f, 0x003f, 0x003f, 0xdbd5, 0xc7f0,
    -    0xcbbf, 0xb4bb, 0x003f, 0xc0f7, 0xbdc0, 0x003f, 0x003f, 0x003f,
    -    0xc4d3, 0x003f, 0xcdae, 0x003f, 0x003f, 0xdbd1, 0xdbd0, 0x003f,
    -    0x003f, 0x003f, 0xdbd2, 0x003f, 0xdbcf, 0x003f, 0x003f, 0xdbd7,
    -    0x003f, 0xdbcd, 0x003f, 0x003f, 0xdbcb, 0x003f, 0xdbd3, 0xdbc9,
    -    0x003f, 0xc3ec, 0x003f, 0xccf8, 0xbcc6, 0xbaf4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbaba, 0x003f, 0x003f, 0xcbef, 0xb3c1,
    -    /* 0x6800 .. 0x68ff */
    -    0x003f, 0x003f, 0xc4ce, 0xc6ca, 0xb1c9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc0f2, 0x003f, 0x003f, 0xc0b4, 0xb7aa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbd9, 0x003f,
    -    0x003f, 0xb9bb, 0xb3fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdbdb, 0xb3f4, 0xdbe1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbde, 0x003f, 0xc0f3, 0x003f, 0x003f, 0x003f,
    -    0xb3cb, 0xbaac, 0x003f, 0x003f, 0xb3ca, 0xbacf, 0x003f, 0x003f,
    -    0xdbdc, 0xb7e5, 0xb7cb, 0xc5ed, 0x003f, 0x003f, 0xdbda, 0x003f,
    -    0xb0c6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbdd, 0xdbdf, 0x003f,
    -    0xb6cd, 0xb7ac, 0x003f, 0xb4bc, 0xb5cb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdbe2, 0x003f, 0x003f, 0xbaf9, 0xcbf1, 0x003f, 0xbbb7,
    -    0x003f, 0x003f, 0x003f, 0xdbe3, 0x003f, 0x003f, 0x003f, 0xc9b0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdbef, 0x003f, 0xb2b3, 0xdbe4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf5, 0xdbe5,
    -    0x003f, 0xcec2, 0x003f, 0xdbec, 0x003f, 0xc7df, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf4, 0x003f, 0xdbe7,
    -    0x003f, 0x003f, 0x003f, 0xb0b4, 0xdbe9, 0x003f, 0x003f, 0xb9bc,
    -    0x003f, 0x003f, 0x003f, 0xdbeb, 0x003f, 0xdbea, 0x003f, 0xdbe6,
    -    0xdbf1, 0x003f, 0xbebf, 0x003f, 0x003f, 0x003f, 0xd4ed, 0xb8e8,
    -    0xcdfc, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbe8, 0x003f, 0xc4f4,
    -    0xb3a3, 0xbaad, 0x003f, 0xdbe0, 0x003f, 0xdbf0, 0xb3e1, 0x003f,
    -    0x003f, 0xdbee, 0xdbf2, 0x003f, 0xc5ee, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb4fe, 0x003f, 0xdcb2, 0x003f,
    -    0x003f, 0xccc9, 0xdbf7, 0xb4fd, 0x003f, 0xdbfe, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcbc0, 0x003f, 0xdca1, 0xdca3, 0x003f, 0xdca7,
    -    0xdbf9, 0x003f, 0xc3aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5ef,
    -    0xdcab, 0xdbfc, 0x003f, 0xdca8, 0x003f, 0x003f, 0x003f, 0xdca2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfb9, 0xdcac,
    -    0x003f, 0x003f, 0xc0b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdcaa, 0xb4bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6900 .. 0x69ff */
    -    0xcfd0, 0xdbf6, 0x003f, 0x003f, 0xdca6, 0xb0d8, 0x003f, 0x003f,
    -    0xdbf8, 0x003f, 0x003f, 0xccba, 0xdbfd, 0xbfa2, 0xc4c7, 0xdbf3,
    -    0x003f, 0x003f, 0xdca5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbffa, 0xdcaf, 0xb3f1, 0xb8a1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdcb1, 0xdbfa, 0xdcb0, 0x003f, 0xdca9, 0xdbfb, 0x003f,
    -    0xdcad, 0x003f, 0xdcae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdcbf, 0x003f, 0x003f, 0x003f, 0xc6ce, 0x003f, 0xdca4, 0x003f,
    -    0x003f, 0xdcbb, 0x003f, 0x003f, 0x003f, 0xdcbd, 0x003f, 0xc4d8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc9f6, 0xdcb8, 0xc2ca, 0x003f, 0x003f,
    -    0x003f, 0xdcbe, 0xc1bf, 0x003f, 0xdcb5, 0xdcc2, 0xdcc1, 0x003f,
    -    0xc6ef, 0xdcc0, 0xc6ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdcc4, 0xdcb7, 0x003f, 0xb6c8, 0xdcba, 0xbddd,
    -    0x003f, 0x003f, 0x003f, 0xc7e0, 0xdcbc, 0xb6cb, 0x003f, 0xdcb4,
    -    0xdcb6, 0xdcb3, 0x003f, 0x003f, 0xcfb0, 0xb3da, 0xdcb9, 0x003f,
    -    0x003f, 0xdcc3, 0xb3b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbae7, 0x003f, 0x003f, 0x003f, 0xb1dd, 0x003f,
    -    0x003f, 0xdcd4, 0x003f, 0x003f, 0xcfb1, 0xdcd7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbfba, 0xdcd6, 0x003f, 0x003f, 0x003f,
    -    0xdcd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcd2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcc6, 0x003f,
    -    0x003f, 0xdce3, 0xdcc5, 0x003f, 0xdcd8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdcd0, 0x003f, 0x003f, 0xdccb, 0xdcc8,
    -    0x003f, 0xdcc9, 0x003f, 0xdcd1, 0x003f, 0x003f, 0x003f, 0xf4a2,
    -    0x003f, 0x003f, 0xdcce, 0xb9bd, 0xc4c8, 0xc1e4, 0xdccc, 0x003f,
    -    0xdcc7, 0x003f, 0x003f, 0xdcca, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcdcd, 0xcbea, 0x003f, 0x003f, 0x003f, 0xdccf, 0xdcd9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce1,
    -    0xdcda, 0x003f, 0x003f, 0xdce7, 0x003f, 0xdce5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdce0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdcdf, 0x003f, 0xc4d0, 0x003f, 0xc1e5, 0x003f, 0xdcdd,
    -    /* 0x6a00 .. 0x6aff */
    -    0x003f, 0x003f, 0xdcdb, 0x003f, 0x003f, 0xdce2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdce8, 0xc8f5, 0xdcee, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdce9, 0xdcec, 0xdce6, 0x003f, 0x003f, 0xc3f4,
    -    0x003f, 0xc9b8, 0x003f, 0xdcdc, 0x003f, 0x003f, 0xdce4, 0xbec0,
    -    0x003f, 0xcccf, 0xdcf8, 0xdceb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb8a2, 0xb2a3, 0xb3df, 0x003f, 0x003f, 0xdcd3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbec1, 0xdcf0, 0x003f,
    -    0xdcf7, 0xbcf9, 0xb3f2, 0x003f, 0x003f, 0xc3ae, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdced, 0x003f, 0x003f, 0xdcf2,
    -    0xdcf6, 0x003f, 0x003f, 0xb6b6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb5cc, 0xdcf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a1,
    -    0x003f, 0xc6cb, 0xdcf3, 0x003f, 0x003f, 0x003f, 0xdcf5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdcef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdcf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3e0,
    -    0xc3c9, 0x003f, 0x003f, 0x003f, 0xdcfc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcfa, 0xb8e9, 0x003f,
    -    0xdcf9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdda1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdbd8, 0x003f, 0x003f, 0x003f,
    -    0xdcfb, 0x003f, 0xdcfd, 0xdcfe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddac, 0x003f, 0xdda8, 0x003f, 0xdbed, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdda7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdda6, 0x003f, 0x003f, 0xdda3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdcea, 0xdda5, 0xdda4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xddaa, 0x003f, 0xcfa6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddad, 0xb6fb, 0x003f, 0x003f, 0xdda9, 0xddab,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc8a7, 0x003f, 0xddae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddb2, 0xddaf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6b00 .. 0x6bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcdf3, 0xddb0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdcde, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddb3, 0x003f, 0x003f, 0x003f, 0xddb4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1b5, 0x003f, 0xddb6,
    -    0xb7e7, 0xbca1, 0x003f, 0xb6d5, 0x003f, 0x003f, 0x003f, 0xb2a4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcddf, 0x003f, 0x003f, 0x003f, 0x003f, 0xddb8,
    -    0xddb7, 0xddba, 0xb5bd, 0x003f, 0x003f, 0xb6d6, 0xb4be, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xddbd, 0x003f, 0x003f, 0x003f, 0xddbc,
    -    0x003f, 0xddbe, 0x003f, 0x003f, 0xb2ce, 0x003f, 0xc3b7, 0x003f,
    -    0xddbf, 0x003f, 0x003f, 0xb4bf, 0xddc1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xddc0, 0x003f, 0xddc2, 0x003f, 0x003f, 0x003f, 0xddc3,
    -    0x003f, 0xddc4, 0xbbdf, 0xc0b5, 0xbaa1, 0x003f, 0xc9f0, 0x003f,
    -    0x003f, 0xcae2, 0xcfc4, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbf5,
    -    0x003f, 0x003f, 0x003f, 0xbad0, 0xcef2, 0x003f, 0x003f, 0x003f,
    -    0xddc5, 0xddc6, 0x003f, 0xbbe0, 0x003f, 0x003f, 0x003f, 0xddc7,
    -    0xddc8, 0x003f, 0x003f, 0xddca, 0xddc9, 0x003f, 0xcbd8, 0x003f,
    -    0x003f, 0xbdde, 0xbcec, 0xbbc4, 0x003f, 0xddcb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddcd, 0xbfa3, 0x003f,
    -    0xddcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddce, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xddcf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddd0, 0xddd1, 0x003f, 0x003f, 0x003f, 0xddd2,
    -    0x003f, 0xddd4, 0xddd3, 0xddd5, 0xb2a5, 0xc3ca, 0x003f, 0xddd6,
    -    0x003f, 0x003f, 0xbba6, 0xb3cc, 0xddd7, 0x003f, 0x003f, 0xc5c2,
    -    0xd4cc, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a3, 0xddd8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xddd9, 0x003f, 0xcaec, 0xcbe8, 0x003f,
    -    0x003f, 0x003f, 0xc6c7, 0xddda, 0xc8e6, 0x003f, 0x003f, 0x003f,
    -    0xc8fb, 0x003f, 0x003f, 0xccd3, 0x003f, 0x003f, 0x003f, 0xdddb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdddd, 0xdddc, 0x003f, 0x003f, 0xdddf,
    -    0x003f, 0x003f, 0x003f, 0xddde, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6c00 .. 0x6cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbe1,
    -    0x003f, 0xccb1, 0x003f, 0xdde2, 0xdde3, 0x003f, 0x003f, 0xb5a4,
    -    0x003f, 0x003f, 0x003f, 0xdde4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdde6, 0xdde5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbfe5, 0x003f, 0x003f, 0xc9b9,
    -    0xb1ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8c5, 0x003f,
    -    0xc4f5, 0xbdc1, 0xb5e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8c6, 0x003f,
    -    0xbcae, 0x003f, 0x003f, 0x003f, 0x003f, 0xdde8, 0x003f, 0xb4c0,
    -    0x003f, 0x003f, 0xb1f8, 0x003f, 0x003f, 0xc6f2, 0xdde7, 0xb9be,
    -    0xc3d3, 0x003f, 0xdde9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xddf1, 0x003f, 0xddea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc2c1, 0x003f, 0xb5e2, 0xddf2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb7e8, 0x003f, 0x003f, 0xb5a5, 0xddf0, 0x003f,
    -    0x003f, 0xddee, 0xddeb, 0xcde0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc4c0, 0x003f, 0x003f, 0x003f, 0xc6d9, 0xddec, 0x003f, 0x003f,
    -    0xddf4, 0x003f, 0xddf3, 0xb7a3, 0x003f, 0x003f, 0xb2ad, 0x003f,
    -    0x003f, 0xbabb, 0xdded, 0xddef, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcbd7, 0xc2f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcbf7, 0x003f, 0x003f, 0xddfc, 0x003f,
    -    0x003f, 0xddfd, 0x003f, 0xb2cf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcaa8, 0xccfd, 0xdea1, 0xbca3, 0xbec2, 0xddf8, 0xddfe, 0xb1e8,
    -    0x003f, 0xb6b7, 0x003f, 0x003f, 0xddf5, 0xddfa, 0x003f, 0x003f,
    -    0x003f, 0xc0f4, 0xc7f1, 0x003f, 0xc8e7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xddf7, 0x003f, 0xcba1, 0x003f, 0xddf9,
    -    0x003f, 0xdea4, 0x003f, 0xdea2, 0x003f, 0xddfb, 0x003f, 0x003f,
    -    0x003f, 0xcba2, 0xc7c8, 0xb5e3, 0x003f, 0xc5a5, 0x003f, 0x003f,
    -    0xc3ed, 0x003f, 0xdea5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdea3,
    -    0xc2d9, 0xddf6, 0x003f, 0xb1cb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6d00 .. 0x6dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcdce, 0xdeb0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdeaf, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0f6,
    -    0x003f, 0xdeac, 0x003f, 0xcdec, 0x003f, 0x003f, 0xc6b6, 0xdea6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4c5, 0x003f, 0x003f,
    -    0x003f, 0xb1cc, 0xb9bf, 0xdea9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbda7, 0xdeae, 0x003f, 0xdead, 0xdea8, 0x003f,
    -    0xdeab, 0x003f, 0x003f, 0xb3e8, 0x003f, 0xdeaa, 0xc7c9, 0x003f,
    -    0x003f, 0xceae, 0x003f, 0x003f, 0xbef4, 0xc0f5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdeb6, 0xdeb4, 0x003f, 0xc9cd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdeb1, 0xdeb3, 0x003f, 0xb1ba, 0x003f,
    -    0x003f, 0xb9c0, 0xcfb2, 0x003f, 0xb3bd, 0x003f, 0xc9e2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcde1, 0x003f, 0x003f, 0xb3a4,
    -    0xbfbb, 0xdeb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeba, 0x003f, 0x003f,
    -    0xbec3, 0x003f, 0x003f, 0x003f, 0xcdb0, 0x003f, 0xdeb7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdeb2, 0x003f, 0xdeb8, 0x003f, 0x003f,
    -    0x003f, 0xcede, 0x003f, 0xc5f3, 0xc6c2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3b6,
    -    0x003f, 0x003f, 0xb1d5, 0x003f, 0x003f, 0xdebe, 0x003f, 0x003f,
    -    0xdec1, 0x003f, 0x003f, 0x003f, 0xcec3, 0x003f, 0x003f, 0x003f,
    -    0xcde4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdec8, 0xdec2, 0xdebf,
    -    0x003f, 0x003f, 0x003f, 0xced4, 0xdec5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbdca, 0xdec7, 0x003f, 0x003f, 0xdecc, 0x003f, 0x003f,
    -    0xc5f1, 0xdeca, 0x003f, 0x003f, 0x003f, 0x003f, 0xdec4, 0x003f,
    -    0x003f, 0xc3b8, 0x003f, 0x003f, 0xdecb, 0x003f, 0xdec0, 0x003f,
    -    0xdec6, 0x003f, 0xdecd, 0xb0fc, 0xdec3, 0x003f, 0xdece, 0x003f,
    -    0x003f, 0xbfbc, 0x003f, 0xbddf, 0x003f, 0xcaa5, 0x003f, 0xbaae,
    -    0x003f, 0xdebb, 0xdec9, 0xc5ba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6e00 .. 0x6eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0b6, 0x003f, 0xb3e9,
    -    0xbad1, 0xbec4, 0xdebd, 0xbdc2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb7cc, 0x003f, 0xdebc, 0x003f, 0x003f,
    -    0x003f, 0xded2, 0xbded, 0xb8ba, 0x003f, 0xdee1, 0x003f, 0xdedb,
    -    0xb5f4, 0xc5cf, 0x003f, 0xded6, 0xdedf, 0xb0af, 0xb1b2, 0x003f,
    -    0x003f, 0xb2b9, 0x003f, 0xded8, 0xc2ac, 0xdecf, 0xded1, 0xb9c1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdee2, 0x003f, 0xdedd, 0x003f, 0x003f, 0x003f, 0xded5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdedc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xccab, 0x003f, 0x003f, 0xdeda, 0xdede, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8d0, 0x003f,
    -    0xbec5, 0x003f, 0x003f, 0xc3b9, 0x003f, 0x003f, 0x003f, 0xded4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdaf,
    -    0x003f, 0x003f, 0x003f, 0xded7, 0x003f, 0x003f, 0xded0, 0xc5f2,
    -    0x003f, 0x003f, 0xded3, 0x003f, 0x003f, 0x003f, 0xded9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfd1, 0xbcbe,
    -    0xcbfe, 0x003f, 0xdee3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc8ae, 0x003f, 0x003f, 0xdeef,
    -    0xb8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde0, 0x003f,
    -    0xdee5, 0x003f, 0x003f, 0x003f, 0xceaf, 0xb9c2, 0x003f, 0xdef2,
    -    0x003f, 0x003f, 0xb0ee, 0x003f, 0x003f, 0xdef0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdee4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeea,
    -    0x003f, 0x003f, 0xdeec, 0x003f, 0x003f, 0x003f, 0xcdcf, 0xdee7,
    -    0x003f, 0x003f, 0xc5ae, 0x003f, 0x003f, 0xdee9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdef1, 0x003f, 0xdeeb, 0xccc7, 0x003f, 0x003f,
    -    0x003f, 0xdee6, 0x003f, 0xbca2, 0xdefe, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3ea, 0x003f, 0xdee8, 0xdeed, 0xdeee, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2ec, 0xc2da, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdef6, 0x003f, 0x003f, 0xdefc,
    -    0x003f, 0x003f, 0xdefa, 0x003f, 0xc5a9, 0x003f, 0x003f, 0xdfa3,
    -    0xdef7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdef8, 0xdee0,
    -    /* 0x6f00 .. 0x6fff */
    -    0x003f, 0xb5f9, 0xc9ba, 0x003f, 0x003f, 0x003f, 0xbcbf, 0x003f,
    -    0x003f, 0xb9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfb3,
    -    0x003f, 0xdef4, 0x003f, 0xdfa2, 0xb1e9, 0xc1e6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc7f9, 0x003f, 0xb4c1, 0xcefa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcca1, 0xc4d2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdefb, 0xdefd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc1b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa1, 0xdef9,
    -    0x003f, 0xdef3, 0x003f, 0x003f, 0x003f, 0xb4c3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb7e9, 0x003f, 0x003f, 0x003f,
    -    0xdfaf, 0x003f, 0x003f, 0xdfaa, 0xc0f8, 0x003f, 0x003f, 0xb3e3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbde1, 0x003f, 0xdfb3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfac, 0xc4ac, 0xdfa9,
    -    0xc4d9, 0x003f, 0x003f, 0x003f, 0xdfcc, 0x003f, 0x003f, 0x003f,
    -    0xdfa6, 0x003f, 0xdfa5, 0x003f, 0xdfae, 0x003f, 0x003f, 0x003f,
    -    0xdfa8, 0xdfa7, 0xdfad, 0x003f, 0xc0a1, 0x003f, 0xdfa4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb0, 0x003f,
    -    0x003f, 0xdfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4c2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfb6, 0x003f, 0xdfb5, 0xdfb7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdfba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc5c3, 0x003f, 0xdfb4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb7e3, 0xc2f9, 0xdfb2, 0xc7bb, 0x003f, 0x003f, 0xdfb9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdfbe, 0xdfbc, 0x003f, 0x003f,
    -    0xdfbf, 0x003f, 0x003f, 0xdfc2, 0x003f, 0x003f, 0x003f, 0xdfbb,
    -    0xb9ea, 0xc7a8, 0x003f, 0x003f, 0xdeb9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcdf4, 0xdfbd, 0x003f, 0xdfc1, 0xc2f5,
    -    0x003f, 0xdfc0, 0x003f, 0xdfab, 0x003f, 0x003f, 0xefe9, 0x003f,
    -    0x003f, 0x003f, 0xdfc5, 0x003f, 0x003f, 0x003f, 0xdfc9, 0x003f,
    -    /* 0x7000 .. 0x70ff */
    -    0x003f, 0xdfc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfc3, 0x003f, 0xdfc4, 0x003f, 0x003f, 0x003f, 0xdfc8,
    -    0x003f, 0xdfc6, 0x003f, 0x003f, 0x003f, 0xc9ce, 0x003f, 0x003f,
    -    0xdfce, 0x003f, 0xdfcb, 0xdfca, 0x003f, 0xdfcd, 0xc6d4, 0xdfcf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3f5, 0xc2ed,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc0a5, 0x003f, 0x003f, 0x003f,
    -    0xdfd0, 0x003f, 0xdfd2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfd1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdef5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfd3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc6e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdfd4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb2d0, 0x003f, 0x003f, 0x003f, 0xc5f4,
    -    0xb3a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb5e4, 0x003f, 0x003f, 0x003f, 0xbcde, 0xbad2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfa7, 0xbfe6, 0x003f, 0x003f, 0x003f, 0xb1ea, 0x003f,
    -    0x003f, 0x003f, 0xdfd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdfd9, 0xc3ba, 0xdfdc, 0xdfd7,
    -    0x003f, 0x003f, 0x003f, 0xdfdb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdfda, 0xc5c0, 0xb0d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcef5, 0x003f, 0x003f, 0xdfde, 0x003f, 0x003f, 0x003f, 0xb1a8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfe0, 0x003f, 0x003f, 0x003f, 0xdfdf, 0x003f, 0xdfdd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcba3, 0x003f, 0x003f, 0x003f, 0xdfe2, 0x003f, 0x003f,
    -    /* 0x7100 .. 0x71ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb1eb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfe4, 0xcab2, 0x003f, 0xdfe3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccb5, 0x003f, 0x003f, 0x003f, 0x003f, 0xbec7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1b3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbec6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcefb, 0x003f, 0x003f, 0xdfea, 0x003f, 0xc0f9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfe6, 0xdfeb, 0x003f,
    -    0x003f, 0xb1ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdfe9, 0x003f, 0xc7e1, 0xdfe5, 0xdfe8, 0xbec8,
    -    0x003f, 0xc8d1, 0x003f, 0x003f, 0xdfec, 0x003f, 0xbcd1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0fa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdfef, 0x003f, 0x003f, 0x003f,
    -    0xdfe7, 0x003f, 0xb7a7, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfed,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcdd0, 0xdff0, 0x003f, 0x003f,
    -    0x003f, 0xf4a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdcf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdff1, 0x003f, 0x003f, 0x003f, 0xdff2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc7ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdff4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc7b3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc5f5, 0xdff7, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff9, 0x003f,
    -    0xced5, 0x003f, 0xdff6, 0x003f, 0xdff8, 0xb1ed, 0x003f, 0xdff3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3db,
    -    0xdffa, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1e7, 0xbbb8, 0xdffc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdffb, 0xbfa4, 0xd2d9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdffd, 0x003f, 0x003f,
    -    0x003f, 0xe0a1, 0x003f, 0xdfee, 0xdffe, 0x003f, 0x003f, 0xe0a2,
    -    /* 0x7200 .. 0x72ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7fa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a3, 0x003f, 0x003f,
    -    0xe0a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0a5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0a6, 0x003f, 0xc4de, 0x003f, 0xe0a8, 0xe0a7, 0x003f, 0x003f,
    -    0xe0a9, 0x003f, 0xe0aa, 0x003f, 0x003f, 0xbcdf, 0xc9e3, 0x003f,
    -    0x003f, 0x003f, 0xccec, 0xe0ab, 0xe0ac, 0xc1d6, 0xbca4, 0xe0ad,
    -    0xe0ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0af, 0xcad2,
    -    0xc8c7, 0x003f, 0x003f, 0xe0b0, 0xc7d7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc4ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0b1, 0xb2e7, 0x003f, 0xb5ed, 0x003f, 0xccc6, 0x003f, 0xccb6,
    -    0x003f, 0xb2b4, 0xcfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbd2,
    -    0x003f, 0xcaaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc0b7, 0x003f, 0xe0b2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc6c3, 0x003f, 0x003f, 0x003f, 0xb8a3, 0xe0b3, 0x003f,
    -    0xbad4, 0xe0b5, 0xe0b4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0b7, 0x003f, 0x003f, 0x003f, 0xe0b8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb5be, 0x003f, 0xe0b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ba,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb8a4, 0x003f, 0x003f, 0xc8c8,
    -    0x003f, 0x003f, 0xe0bc, 0x003f, 0x003f, 0x003f, 0xbef5, 0x003f,
    -    0x003f, 0xe0bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb6b8, 0xe0bd, 0xe0bf, 0x003f, 0xe0be, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c0, 0x003f,
    -    0xb8d1, 0x003f, 0xe0c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e9,
    -    0x003f, 0xc1c0, 0x003f, 0xb9fd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0c3, 0xe0c4, 0xe0c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbced, 0x003f, 0x003f, 0xc6c8, 0xb6b9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c6,
    -    0xc3ac, 0xe0c5, 0x003f, 0x003f, 0xcfb5, 0xc7e2, 0x003f, 0x003f,
    -    /* 0x7300 .. 0x73ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0cb, 0xe0c8,
    -    0x003f, 0x003f, 0x003f, 0xccd4, 0xe0ca, 0xe0cc, 0x003f, 0xcec4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d0, 0x003f, 0x003f,
    -    0x003f, 0xe0cf, 0xc3f6, 0xc7ad, 0x003f, 0x003f, 0xb8a5, 0xe0ce,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0cd, 0x003f, 0xcdb1, 0xcdb2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d1, 0xb1ee,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb9f6, 0xbbe2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d2, 0xe0d3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbdc3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0d7, 0x003f, 0xe0d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0d8, 0x003f, 0xb3cd, 0x003f, 0x003f, 0xe0da, 0x003f, 0x003f,
    -    0xe0d9, 0x003f, 0xe0dc, 0xe0db, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb8bc, 0x003f, 0x003f, 0xcea8,
    -    0x003f, 0xb6cc, 0x003f, 0xb2a6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6ea, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb4e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcee8, 0xe0de, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0e0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0e1, 0x003f, 0xb2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0dd, 0x003f, 0xbbb9, 0x003f, 0x003f, 0xc4c1, 0xe0df, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e4, 0x003f,
    -    0xbcee, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb7be, 0x003f, 0x003f, 0xc8c9, 0xe0e3, 0x003f,
    -    0x003f, 0xe0fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8bd, 0x003f,
    -    /* 0x7400 .. 0x74ff */
    -    0x003f, 0x003f, 0x003f, 0xb5e5, 0x003f, 0xe0e6, 0xcdfd, 0x003f,
    -    0x003f, 0xceb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc2f6, 0x003f, 0x003f, 0xe0e8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0ea, 0xced6, 0xb6d7, 0xc8fc, 0xc7ca, 0x003f,
    -    0x003f, 0x003f, 0xe0eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ed,
    -    0x003f, 0xe0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f,
    -    0x003f, 0xe0ef, 0xb8ea, 0xb1cd, 0xe0f1, 0x003f, 0xbff0, 0xe0ee,
    -    0xcedc, 0x003f, 0x003f, 0xe0f4, 0xf4a4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe0f2, 0xe0f5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e7,
    -    0xe0f3, 0x003f, 0x003f, 0xbabc, 0x003f, 0x003f, 0xe0f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcdfe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0f8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f9, 0x003f,
    -    0x003f, 0x003f, 0xe0e5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb4c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbca5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb1bb, 0x003f, 0x003f, 0x003f,
    -    0xe1a1, 0x003f, 0xc9bb, 0xe1a2, 0x003f, 0x003f, 0xb4a4, 0xe1a3,
    -    0x003f, 0xe1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a5, 0x003f,
    -    0xe1a7, 0xe1a8, 0xe1a6, 0x003f, 0x003f, 0x003f, 0xc9d3, 0xe1aa,
    -    0xe1a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7500 .. 0x75ff */
    -    0x003f, 0x003f, 0x003f, 0xe1ac, 0xe1ab, 0xe1ad, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ae, 0xe1b0, 0xe1af, 0x003f,
    -    0x003f, 0xb9f9, 0x003f, 0xe1b2, 0x003f, 0xe1b1, 0x003f, 0x003f,
    -    0xb4c5, 0x003f, 0xbfd3, 0x003f, 0xc5bc, 0x003f, 0xe1b3, 0xc0b8,
    -    0x003f, 0x003f, 0x003f, 0xbbba, 0x003f, 0xb1f9, 0xe1b4, 0x003f,
    -    0xcdd1, 0x003f, 0x003f, 0xcae3, 0xe1b5, 0x003f, 0x003f, 0x003f,
    -    0xc5c4, 0xcdb3, 0xb9c3, 0xbfbd, 0x003f, 0x003f, 0x003f, 0xc3cb,
    -    0xd2b4, 0x003f, 0xc4ae, 0xb2e8, 0xe1b6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1b7, 0x003f, 0xe1bc, 0x003f,
    -    0x003f, 0xe1ba, 0xe1b9, 0xdac2, 0xb3a6, 0xe1b8, 0x003f, 0xb0da,
    -    0x003f, 0xc8aa, 0x003f, 0x003f, 0xc8ca, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xceb1, 0xe1bd, 0xe1bb, 0xc3dc, 0xc0a6, 0x003f, 0x003f,
    -    0xc8ab, 0x003f, 0xc9ad, 0x003f, 0xe1bf, 0xceac, 0xb7cd, 0xe1c0,
    -    0x003f, 0xe1be, 0xc8d6, 0xe1c1, 0x003f, 0xe1c2, 0x003f, 0x003f,
    -    0xb0db, 0x003f, 0x003f, 0xbef6, 0xe1c7, 0x003f, 0xe1c4, 0xc6ed,
    -    0xe1c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a6,
    -    0x003f, 0x003f, 0xe1ca, 0x003f, 0x003f, 0x003f, 0xe1c5, 0xe1c6,
    -    0x003f, 0xe1c9, 0xe1c8, 0xc9a5, 0x003f, 0x003f, 0xc1c2, 0xc1c1,
    -    0x003f, 0xb5bf, 0x003f, 0x003f, 0xe1cb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1cc, 0x003f, 0x003f, 0xe1cd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe1cf, 0x003f, 0xe1ce, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb1d6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe1d7, 0xc8e8, 0xe1d1, 0x003f, 0xe1d3, 0x003f, 0x003f,
    -    0xe1d5, 0xbfbe, 0x003f, 0x003f, 0xe1d6, 0xe1d4, 0xbcc0, 0x003f,
    -    0x003f, 0x003f, 0xe1d0, 0xe1d2, 0x003f, 0xc9c2, 0x003f, 0xbec9,
    -    0x003f, 0x003f, 0xe1d9, 0x003f, 0x003f, 0xe1d8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1da, 0x003f, 0xbca6, 0xbaaf, 0x003f, 0x003f,
    -    0xc5f7, 0xe1db, 0x003f, 0xc4cb, 0x003f, 0x003f, 0xe1dd, 0x003f,
    -    0x003f, 0x003f, 0xcea1, 0xe1dc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc1e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe1e2, 0x003f, 0xe1e4, 0xe1e5, 0xc3d4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1e3, 0x003f, 0xe1e0, 0x003f, 0xe1de, 0xe1df,
    -    /* 0x7600 .. 0x76ff */
    -    0x003f, 0xe1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe1e8, 0x003f, 0xe1e6, 0x003f, 0xe1e7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e9,
    -    0xe1eb, 0xe1ec, 0xe1ed, 0x003f, 0xe1ee, 0x003f, 0x003f, 0xe1ea,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe1f0, 0x003f, 0x003f, 0x003f, 0xe1ef, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe1f1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcec5, 0x003f, 0x003f, 0x003f, 0xe1f4, 0xe1f2,
    -    0xe1f3, 0x003f, 0x003f, 0x003f, 0xb4e2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xccfe, 0x003f, 0x003f, 0x003f, 0xcaca, 0x003f,
    -    0xe1f6, 0x003f, 0x003f, 0x003f, 0xe1f5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe1f7, 0xe1f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1fc,
    -    0xe1f9, 0xe1fa, 0xe1fb, 0x003f, 0xe1fd, 0x003f, 0x003f, 0x003f,
    -    0xe1fe, 0x003f, 0xe2a1, 0x003f, 0x003f, 0x003f, 0xe2a2, 0x003f,
    -    0xe2a3, 0x003f, 0xc8af, 0xc5d0, 0xe2a4, 0xc7f2, 0xc9b4, 0x003f,
    -    0xe2a5, 0x003f, 0x003f, 0xe2a6, 0xc5aa, 0x003f, 0xb3a7, 0xb9c4,
    -    0xe2a7, 0x003f, 0x003f, 0xe2a8, 0x003f, 0x003f, 0xe2a9, 0x003f,
    -    0xbba9, 0x003f, 0x003f, 0xe2ab, 0x003f, 0x003f, 0xe2aa, 0x003f,
    -    0x003f, 0xe2ac, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8e9, 0x003f,
    -    0xe2ae, 0x003f, 0x003f, 0x003f, 0xe2af, 0x003f, 0x003f, 0xf3e9,
    -    0xe2b0, 0xe2b1, 0xe2b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbae,
    -    0x003f, 0x003f, 0xe2b3, 0xc7d6, 0x003f, 0x003f, 0xcbdf, 0x003f,
    -    0xb1ce, 0x003f, 0xb1d7, 0x003f, 0x003f, 0xe2b4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe2b6, 0x003f, 0x003f, 0x003f, 0xe2b5, 0xc5f0,
    -    0x003f, 0x003f, 0x003f, 0xc0b9, 0xddb9, 0x003f, 0xe2b7, 0xccc1,
    -    0x003f, 0xe2b8, 0x003f, 0xb4c6, 0xc8d7, 0xe2b9, 0x003f, 0xe2ba,
    -    0x003f, 0x003f, 0xe2bb, 0x003f, 0x003f, 0x003f, 0xccdc, 0x003f,
    -    0x003f, 0x003f, 0xccd5, 0x003f, 0xc4be, 0x003f, 0x003f, 0x003f,
    -    0xc1ea, 0x003f, 0x003f, 0xe2bd, 0x003f, 0x003f, 0xbde2, 0x003f,
    -    /* 0x7700 .. 0x77ff */
    -    0x003f, 0xbeca, 0x003f, 0x003f, 0xe2c0, 0x003f, 0x003f, 0xe2bf,
    -    0xe2be, 0xc8fd, 0x003f, 0xb4c7, 0xb8a9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2c6, 0x003f, 0x003f, 0xe2c3, 0xbfbf,
    -    0xccb2, 0x003f, 0x003f, 0x003f, 0xe2c2, 0xe2c4, 0xe2c5, 0x003f,
    -    0x003f, 0xe2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c7,
    -    0xe2c8, 0x003f, 0xc4af, 0x003f, 0xb4e3, 0x003f, 0x003f, 0x003f,
    -    0xc3e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe2ca, 0xe2cd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbfe7, 0x003f, 0xc6c4, 0x003f, 0xe2ce, 0xcbd3, 0x003f,
    -    0xe2cb, 0x003f, 0x003f, 0xe2cc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d0, 0xe2cf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2d3, 0x003f, 0x003f, 0xe2d2, 0x003f,
    -    0x003f, 0xe2d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d6, 0x003f,
    -    0xe2d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbdd6, 0xcec6, 0x003f, 0x003f,
    -    0xe2d7, 0x003f, 0x003f, 0xc6b7, 0x003f, 0x003f, 0xe2d8, 0x003f,
    -    0x003f, 0xe2d9, 0x003f, 0xe2dd, 0xe2db, 0xe2dc, 0x003f, 0xe2da,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2de,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2df, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2e0,
    -    0x003f, 0x003f, 0xe2e1, 0xccb7, 0xe2e2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xccf0, 0xe2e3, 0x003f, 0xc3ce, 0x003f, 0xc7ea,
    -    0x003f, 0xb6eb, 0x003f, 0x003f, 0x003f, 0xc3bb, 0xe2e4, 0xb6ba,
    -    0x003f, 0x003f, 0x003f, 0xc0d0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2e5, 0x003f, 0x003f, 0x003f,
    -    /* 0x7800 .. 0x78ff */
    -    0x003f, 0x003f, 0xbabd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2e6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe2e7, 0x003f, 0xb8a6, 0xbad5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2e9, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d6, 0xbad6, 0xb5ce,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcba4, 0x003f, 0xc7cb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc5d7, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9dc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2eb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbecb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xceb2, 0xb9c5, 0x003f, 0x003f, 0xb8a7,
    -    0x003f, 0x003f, 0xc8a3, 0x003f, 0xe2ed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2ef, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2ee, 0xc4f6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2f1, 0xb3b7, 0xe2ec, 0x003f,
    -    0x003f, 0xc8ea, 0x003f, 0xb1b0, 0x003f, 0xbaec, 0x003f, 0xcfd2,
    -    0x003f, 0x003f, 0xe2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2f2, 0x003f, 0x003f, 0x003f, 0xcacb,
    -    0x003f, 0xc0d9, 0xe2f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb3ce, 0x003f, 0xe2fb, 0x003f, 0xe2fa, 0x003f,
    -    0x003f, 0xbca7, 0x003f, 0x003f, 0x003f, 0xe2fc, 0xe2f7, 0x003f,
    -    0x003f, 0x003f, 0xe2fd, 0xe2f8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc8d8, 0xe2f6, 0x003f, 0x003f, 0xe2f9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a1,
    -    0xcbe1, 0x003f, 0x003f, 0x003f, 0xe2fe, 0x003f, 0x003f, 0xb0eb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe3a4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a3, 0x003f, 0x003f,
    -    /* 0x7900 .. 0x79ff */
    -    0x003f, 0xbecc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1c3, 0x003f,
    -    0x003f, 0xe3a7, 0xe3a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2e8, 0x003f,
    -    0x003f, 0x003f, 0xe2ea, 0xe3aa, 0xe3a9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbca8, 0x003f, 0xcee9, 0x003f, 0xbcd2, 0x003f,
    -    0xe3ab, 0xb7b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5c0,
    -    0xb5a7, 0xbbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcdb4, 0x003f, 0x003f, 0xe3b1, 0x003f, 0xe3b0, 0xc1c4, 0xe3ad,
    -    0x003f, 0x003f, 0xe3af, 0x003f, 0x003f, 0xbdcb, 0xbfc0, 0xe3ae,
    -    0xe3ac, 0x003f, 0xc7aa, 0x003f, 0x003f, 0xbecd, 0x003f, 0x003f,
    -    0xc9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0xbad7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5f8,
    -    0x003f, 0x003f, 0xe3b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b3,
    -    0xe3c9, 0xb6d8, 0x003f, 0x003f, 0xcfbd, 0xc1b5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3b4, 0x003f, 0x003f, 0xb2d2, 0xc4f7, 0xcaa1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5fa, 0xe3b6,
    -    0x003f, 0x003f, 0xe3b8, 0x003f, 0x003f, 0x003f, 0xe3b9, 0x003f,
    -    0xc7a9, 0x003f, 0x003f, 0xe3ba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3bb, 0xe3bc, 0x003f, 0x003f, 0xb6d9, 0xb2d3, 0xc6c5,
    -    0xbda8, 0xbbe4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3bd, 0x003f, 0xbda9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb2ca, 0xc9c3, 0x003f, 0x003f, 0xe3be, 0x003f, 0x003f,
    -    0xc8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1c5,
    -    0x003f, 0xe3c1, 0x003f, 0xe3c2, 0xc7e9, 0x003f, 0xbfc1, 0xe3bf,
    -    0x003f, 0xc3e1, 0x003f, 0x003f, 0xe3c0, 0x003f, 0x003f, 0x003f,
    -    0xbece, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb0dc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7a00 .. 0x7aff */
    -    0xb5a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe3c3, 0x003f, 0x003f, 0xc4f8, 0x003f, 0xe3c4, 0xc0c7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xccad, 0x003f, 0x003f, 0xc9a3,
    -    0xe3c5, 0xe3c6, 0xc3d5, 0x003f, 0xcec7, 0x003f, 0x003f, 0xe3c8,
    -    0xe3c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcef, 0x003f,
    -    0x003f, 0xe3ca, 0xb0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3cd,
    -    0x003f, 0x003f, 0x003f, 0xe3cb, 0xb2d4, 0xb7ce, 0xe3cc, 0xb9c6,
    -    0xb9f2, 0x003f, 0xcae6, 0xe3ce, 0x003f, 0x003f, 0xcbd4, 0x003f,
    -    0x003f, 0xe3d0, 0x003f, 0x003f, 0x003f, 0xc0d1, 0xb1cf, 0xb2ba,
    -    0xb0ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3cf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3d1, 0xe3d2, 0xbef7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3d3, 0x003f, 0xb3cf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe3d5, 0x003f, 0x003f, 0x003f, 0xb7ea, 0x003f, 0xb5e6, 0x003f,
    -    0x003f, 0xe3d6, 0xb6f5, 0x003f, 0x003f, 0xe3d7, 0x003f, 0xc0fc,
    -    0x003f, 0xc6cd, 0x003f, 0xc0e0, 0xbaf5, 0x003f, 0x003f, 0x003f,
    -    0xe3d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc3e2, 0xc1eb, 0x003f, 0xe3da, 0xe3dc, 0xe3d9,
    -    0xe3db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7a2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3dd, 0xb7a6, 0x003f, 0x003f, 0x003f, 0xb5e7, 0xcdd2,
    -    0xe3df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3e0, 0x003f,
    -    0x003f, 0x003f, 0xb1ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3e3,
    -    0x003f, 0x003f, 0x003f, 0xb3f6, 0xe3e2, 0xe3e1, 0x003f, 0xe3e5,
    -    0xe3de, 0x003f, 0xe3e6, 0xcea9, 0x003f, 0xe3e7, 0x003f, 0xe3e8,
    -    0x003f, 0x003f, 0xd4f4, 0xe3ea, 0x003f, 0xe3e9, 0x003f, 0x003f,
    -    0x003f, 0xe3eb, 0xe3ec, 0x003f, 0xceb5, 0xe3ed, 0x003f, 0xf0ef,
    -    0xbecf, 0xe3ee, 0xe3ef, 0xbdd7, 0x003f, 0xc6b8, 0xe3f0, 0x003f,
    -    0x003f, 0x003f, 0xc3a8, 0x003f, 0x003f, 0xe3f1, 0x003f, 0xc3bc,
    -    0xe3f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6a5, 0x003f,
    -    0xd1bf, 0xc3dd, 0xbcb3, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4c8,
    -    /* 0x7b00 .. 0x7bff */
    -    0x003f, 0x003f, 0xe3f3, 0x003f, 0xe4a2, 0x003f, 0xe3f6, 0x003f,
    -    0xb5e8, 0x003f, 0xe3f5, 0xe4a4, 0x003f, 0x003f, 0x003f, 0xe3f4,
    -    0x003f, 0xbed0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe3f8, 0xe3f9, 0x003f, 0xc5ab, 0x003f, 0x003f, 0xe3fa, 0x003f,
    -    0xb3de, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfda, 0xc9e4, 0x003f,
    -    0xe3fc, 0x003f, 0x003f, 0x003f, 0xc2e8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3f7, 0x003f, 0xe3fb, 0xe3fd, 0x003f,
    -    0x003f, 0xbafb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a6, 0xc9ae, 0x003f,
    -    0xc8a6, 0xc5f9, 0x003f, 0xb6da, 0xe4a5, 0xe4a3, 0x003f, 0xc8b5,
    -    0xe3fe, 0xc3de, 0xc5fb, 0x003f, 0xc5fa, 0x003f, 0xbaf6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a8, 0x003f, 0xe4aa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4ad, 0x003f, 0xe4ae, 0x003f,
    -    0xe4ab, 0xe4ac, 0x003f, 0x003f, 0xe4a9, 0xe4a7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe4a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacf, 0xb2d5,
    -    0x003f, 0x003f, 0x003f, 0xe4b5, 0x003f, 0xe4b2, 0x003f, 0xe4b7,
    -    0x003f, 0x003f, 0xe4b6, 0x003f, 0xc7f3, 0xcca7, 0x003f, 0xbbbb,
    -    0xe4b0, 0xe4b9, 0xe4b4, 0x003f, 0xe4b3, 0xe4af, 0x003f, 0xe4b1,
    -    0x003f, 0xb4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc3bd, 0x003f, 0x003f, 0xc0fd, 0x003f, 0x003f,
    -    0x003f, 0xc8a2, 0x003f, 0x003f, 0xe4be, 0x003f, 0x003f, 0x003f,
    -    0xc8a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc0e1, 0xe4bb, 0x003f, 0x003f, 0xc8cf, 0x003f, 0xe4bf, 0xcad3,
    -    0x003f, 0xc3db, 0x003f, 0xe4ba, 0xe4bc, 0x003f, 0x003f, 0xe4bd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c0, 0x003f, 0x003f,
    -    0xbcc4, 0x003f, 0x003f, 0x003f, 0xc6c6, 0xe4c5, 0xe4c4, 0x003f,
    -    0x003f, 0xe4c1, 0x003f, 0x003f, 0x003f, 0xcfb6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4ca, 0x003f, 0x003f, 0xe4ce, 0xe4cb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7c00 .. 0x7cff */
    -    0xe4c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cd, 0x003f, 0x003f,
    -    0x003f, 0xe4c2, 0xd2d5, 0xe4c9, 0xe4c3, 0x003f, 0x003f, 0xe4cc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d2,
    -    0x003f, 0xb4ca, 0x003f, 0xe4cf, 0x003f, 0x003f, 0x003f, 0xe4d0,
    -    0x003f, 0x003f, 0xe4d1, 0xe4d4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d3,
    -    0xc8f6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d5, 0xcefc, 0xcaed,
    -    0xe4da, 0x003f, 0x003f, 0xe4d7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4d6, 0xc0d2, 0x003f, 0xe4d9,
    -    0xe4db, 0x003f, 0x003f, 0x003f, 0xe4d8, 0x003f, 0xe4df, 0x003f,
    -    0xe4dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dd,
    -    0xe4c6, 0x003f, 0x003f, 0x003f, 0xe4de, 0xe4e0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4e1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcac6, 0x003f, 0xe4e2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce2, 0x003f,
    -    0x003f, 0xb6ce, 0xb7a9, 0xe4e3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcab4, 0x003f, 0xbfe8, 0x003f, 0xccb0, 0x003f, 0x003f,
    -    0xe4e4, 0x003f, 0xceb3, 0x003f, 0x003f, 0xc7f4, 0x003f, 0xc1c6,
    -    0xc7b4, 0x003f, 0x003f, 0xbdcd, 0x003f, 0x003f, 0x003f, 0xb0c0,
    -    0x003f, 0xe4e9, 0xe4e7, 0x003f, 0xe4e5, 0xb4a1, 0x003f, 0xbed1,
    -    0xe4ea, 0x003f, 0x003f, 0xe4e8, 0x003f, 0xe4e6, 0xe4ee, 0x003f,
    -    0x003f, 0xe4ed, 0xe4ec, 0xe4eb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0xe4f0, 0xc0ba, 0x003f,
    -    0xe4f1, 0x003f, 0xe4f3, 0x003f, 0x003f, 0xe4f2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb8d2, 0x003f, 0x003f, 0x003f, 0xc1b8, 0x003f,
    -    0x003f, 0x003f, 0xe4f5, 0x003f, 0x003f, 0x003f, 0xc5fc, 0x003f,
    -    0xe4f4, 0x003f, 0x003f, 0x003f, 0xe4f6, 0x003f, 0xcab5, 0xc1ec,
    -    0xb9c7, 0x003f, 0xe4f7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcec8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f9,
    -    0x003f, 0x003f, 0xe4fa, 0x003f, 0xe4fb, 0x003f, 0xe4fc, 0x003f,
    -    0xbbe5, 0x003f, 0xe4fd, 0xb7cf, 0x003f, 0x003f, 0xb5ea, 0x003f,
    -    /* 0x7d00 .. 0x7dff */
    -    0xb5aa, 0x003f, 0xe5a1, 0x003f, 0xccf3, 0xb9c8, 0xe4fe, 0x003f,
    -    0x003f, 0x003f, 0xe5a4, 0xcce6, 0x003f, 0xc7bc, 0x003f, 0x003f,
    -    0xc9b3, 0x003f, 0x003f, 0x003f, 0xbde3, 0xe5a3, 0x003f, 0xbcd3,
    -    0xb9c9, 0xbbe6, 0xb5e9, 0xcab6, 0xe5a2, 0x003f, 0x003f, 0x003f,
    -    0xc1c7, 0xcbc2, 0xbaf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbbe7, 0xc4dd, 0x003f, 0xe5a7, 0xcedf,
    -    0xbad9, 0x003f, 0xe5a8, 0xbfc2, 0x003f, 0xe5aa, 0x003f, 0x003f,
    -    0x003f, 0xbed2, 0xbab0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a9,
    -    0x003f, 0x003f, 0xbdaa, 0xb8be, 0xc1c8, 0xe5a5, 0xe5ab, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5a6, 0xb7d0, 0x003f, 0xe5ae, 0xe5b2,
    -    0xb7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ad, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5b6, 0x003f, 0x003f, 0xb9ca, 0x003f,
    -    0x003f, 0xcded, 0xb0bc, 0xe5b3, 0x003f, 0x003f, 0xb5eb, 0x003f,
    -    0xe5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b1, 0x003f,
    -    0x003f, 0xc5fd, 0xe5af, 0xe5ac, 0x003f, 0xb3a8, 0xc0e4, 0x003f,
    -    0x003f, 0xb8a8, 0x003f, 0x003f, 0x003f, 0xe5b8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b7,
    -    0x003f, 0x003f, 0x003f, 0xe5b4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb7d1, 0xc2b3, 0xe5b9, 0xc1ee, 0x003f, 0x003f, 0xe5c6,
    -    0x003f, 0x003f, 0xe5c2, 0xe5bc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5c0, 0xbcfa, 0xb0dd, 0xe5bb, 0xe5c3,
    -    0xe5c7, 0xb9cb, 0xccd6, 0x003f, 0xc4d6, 0xe5bd, 0x003f, 0x003f,
    -    0xe5c5, 0x003f, 0xe5ba, 0xc3be, 0x003f, 0xe5bf, 0xb0bd, 0xccca,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5be,
    -    0x003f, 0x003f, 0xb6db, 0xc8ec, 0x003f, 0x003f, 0x003f, 0xc1ed,
    -    0x003f, 0xced0, 0xbdef, 0x003f, 0x003f, 0xe5ee, 0x003f, 0x003f,
    -    0xe5c8, 0x003f, 0xc0fe, 0x003f, 0xe5c4, 0xe5c9, 0xe5cb, 0x003f,
    -    0xc4f9, 0xe5ce, 0x003f, 0x003f, 0xe5ca, 0x003f, 0x003f, 0x003f,
    -    0xcad4, 0xb4cb, 0x003f, 0x003f, 0xcccb, 0x003f, 0x003f, 0xb0de,
    -    0x003f, 0x003f, 0xe5cd, 0x003f, 0xcefd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7e00 .. 0x7eff */
    -    0x003f, 0xb1ef, 0x003f, 0x003f, 0xc6ec, 0xe5cf, 0x003f, 0x003f,
    -    0x003f, 0xe5d6, 0xe5d0, 0xe5d7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc7fb, 0x003f, 0x003f, 0xbcca, 0xe5d5,
    -    0x003f, 0xe5d2, 0xe5d8, 0xe5d1, 0x003f, 0x003f, 0xbdc4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcba5, 0x003f, 0x003f, 0xbdcc, 0x003f,
    -    0x003f, 0xe5d4, 0xe5e0, 0x003f, 0x003f, 0xe5dc, 0x003f, 0xe5df,
    -    0x003f, 0xe5dd, 0xe5e1, 0xe5db, 0x003f, 0xe5c1, 0xc0d3, 0x003f,
    -    0x003f, 0xc8cb, 0x003f, 0xe5de, 0x003f, 0x003f, 0xe5d9, 0x003f,
    -    0x003f, 0x003f, 0xc1a1, 0xb7d2, 0x003f, 0xbdab, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbfa5, 0xc1b6, 0xe5e4, 0x003f,
    -    0x003f, 0xe5e6, 0xe5e7, 0x003f, 0x003f, 0xe5e3, 0xe5e5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5da, 0xe5e2,
    -    0x003f, 0xe5ea, 0xe5e9, 0x003f, 0x003f, 0xcbfa, 0x003f, 0x003f,
    -    0xb7ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5e8, 0x003f, 0xe5ec, 0xe5eb, 0xe5ef, 0x003f, 0xe5f1,
    -    0x003f, 0x003f, 0xbbbc, 0xe5ed, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5f2, 0xe5f3, 0x003f, 0x003f, 0xe5f4, 0x003f, 0xe5fa, 0xc5bb,
    -    0xe5f6, 0x003f, 0xe5f5, 0xe5f7, 0xe5f8, 0x003f, 0xe5f9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5fb, 0xe5fc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7f00 .. 0x7fff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4cc, 0x003f,
    -    0xe5fd, 0x003f, 0xe5fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6a2, 0xe6a3, 0xe6a4, 0x003f,
    -    0xe6a5, 0xe6a6, 0x003f, 0x003f, 0xe6a8, 0xe6a7, 0x003f, 0x003f,
    -    0xe6a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6aa,
    -    0xe6ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ae,
    -    0xe6ac, 0xe6ad, 0xbae1, 0xb7d3, 0x003f, 0x003f, 0xc3d6, 0x003f,
    -    0xc8b3, 0x003f, 0xbdf0, 0x003f, 0x003f, 0xc7cd, 0x003f, 0xc8ed,
    -    0xe6af, 0xd8ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6b0, 0xe6b2, 0x003f, 0xcde5, 0xe6b1, 0xe6b4,
    -    0xe6b3, 0x003f, 0xcdd3, 0x003f, 0xe6b5, 0x003f, 0xc8fe, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6b6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6b9, 0x003f, 0x003f, 0xe6b8, 0xe6b7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6ba, 0xb7b2, 0x003f, 0x003f, 0x003f,
    -    0xc1a2, 0xb5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6be, 0xe6bb,
    -    0x003f, 0x003f, 0xe6bc, 0x003f, 0x003f, 0x003f, 0xe6bf, 0x003f,
    -    0xe6c0, 0xe6bd, 0x003f, 0x003f, 0x003f, 0xb1a9, 0x003f, 0x003f,
    -    0x003f, 0xb2a7, 0x003f, 0x003f, 0x003f, 0xe6c2, 0xe6c3, 0x003f,
    -    0x003f, 0x003f, 0xe6c4, 0x003f, 0xcde2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbdac, 0x003f, 0xe6c6, 0xe6c5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbfe9, 0xe6c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6c8, 0x003f,
    -    0x003f, 0xe6c9, 0x003f, 0xb4e5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb4cd, 0x003f, 0x003f, 0xe6ca, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe6cb, 0x003f, 0xcbdd, 0xcde3, 0x003f, 0x003f, 0x003f,
    -    /* 0x8000 .. 0x80ff */
    -    0xcdd4, 0xcfb7, 0x003f, 0xb9cd, 0xe6ce, 0xbcd4, 0xe6cd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6cf, 0xbca9, 0x003f, 0x003f, 0x003f,
    -    0xc2d1, 0x003f, 0xe6d0, 0x003f, 0x003f, 0xb9cc, 0x003f, 0xccd7,
    -    0xe6d1, 0xe6d2, 0x003f, 0x003f, 0xe6d3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe6d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbcaa, 0x003f, 0x003f, 0xcced, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6d7, 0x003f, 0xc3bf, 0x003f, 0xe6d6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d9, 0x003f,
    -    0x003f, 0x003f, 0xe6d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6da, 0x003f, 0x003f, 0x003f, 0xc0bb, 0x003f,
    -    0xe6db, 0x003f, 0xe6dc, 0x003f, 0x003f, 0x003f, 0xcab9, 0xe6dd,
    -    0x003f, 0xc1ef, 0xe6de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcefe,
    -    0xe6e2, 0x003f, 0xe6e1, 0xe6e0, 0xc4b0, 0x003f, 0xe6e3, 0xbfa6,
    -    0x003f, 0xe6e4, 0x003f, 0x003f, 0x003f, 0xe6e5, 0xcfb8, 0xe6e6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6e7, 0xe6e9, 0xe6e8, 0xc8a5,
    -    0x003f, 0xc6f9, 0x003f, 0xcfbe, 0xc8a9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6eb, 0x003f, 0x003f, 0xbed3, 0x003f,
    -    0xc9aa, 0x003f, 0xe6ec, 0xe6ea, 0x003f, 0xb4ce, 0x003f, 0x003f,
    -    0x003f, 0xb8d4, 0xbbe8, 0x003f, 0x003f, 0xc8ee, 0x003f, 0x003f,
    -    0x003f, 0xb8aa, 0xcbc3, 0x003f, 0xe6ef, 0xe6ed, 0x003f, 0xb9ce,
    -    0x003f, 0xb9cf, 0xb0e9, 0x003f, 0xbae8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb0df, 0xe6f4, 0x003f, 0xc3c0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc7d8, 0x003f, 0xc2db, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f6, 0x003f,
    -    0x003f, 0xe6f2, 0xe6f5, 0xe6f0, 0x003f, 0xe6f3, 0xcba6, 0x003f,
    -    0x003f, 0xb8d5, 0x003f, 0x003f, 0xb0fd, 0xe6f1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f8,
    -    0x003f, 0xe6f9, 0x003f, 0x003f, 0xc6b9, 0x003f, 0x003f, 0x003f,
    -    0xb6bb, 0x003f, 0x003f, 0x003f, 0xe7a6, 0xc7bd, 0x003f, 0x003f,
    -    /* 0x8100 .. 0x81ff */
    -    0x003f, 0x003f, 0xbbe9, 0x003f, 0x003f, 0xb6bc, 0xc0c8, 0xcfc6,
    -    0xccae, 0xe6f7, 0xc0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb5d3, 0xe6fa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6fc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6fd,
    -    0x003f, 0xc3a6, 0x003f, 0xc7be, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6fe, 0x003f, 0x003f, 0xbfd5, 0x003f,
    -    0xc9e5, 0xe7a5, 0x003f, 0xe7a4, 0xb9d0, 0xcfd3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a9, 0xe7aa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbcf0, 0x003f, 0x003f, 0xe7a8, 0x003f,
    -    0xb9f8, 0xe7a7, 0x003f, 0x003f, 0xe7ab, 0x003f, 0x003f, 0x003f,
    -    0xc4b2, 0xcaa2, 0xc1a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2dc,
    -    0xe7af, 0x003f, 0xe7b0, 0xe7ac, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7ad, 0x003f, 0xe7ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9d1,
    -    0x003f, 0x003f, 0x003f, 0xe7b6, 0x003f, 0xe7b2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc9e6, 0x003f, 0xcbec, 0xc9a8, 0x003f, 0x003f,
    -    0xe7b1, 0x003f, 0x003f, 0xe7b4, 0xe7b3, 0x003f, 0x003f, 0x003f,
    -    0xcbc4, 0xe7b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7b8, 0x003f, 0x003f, 0xc1b7, 0x003f, 0xe7b9, 0x003f, 0x003f,
    -    0xe7bb, 0x003f, 0xe7bf, 0x003f, 0x003f, 0xe7bc, 0xe7ba, 0xc7bf,
    -    0xe7bd, 0x003f, 0xe7be, 0x003f, 0x003f, 0x003f, 0xb2b2, 0x003f,
    -    0xe7c5, 0xe7c0, 0x003f, 0x003f, 0x003f, 0xe7c1, 0x003f, 0x003f,
    -    0x003f, 0xe7c2, 0x003f, 0xc2a1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7c4, 0xe7c3, 0xe7c6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7c7,
    -    0xe7c8, 0x003f, 0x003f, 0xbfc3, 0x003f, 0xb2e9, 0x003f, 0xe7c9,
    -    0xced7, 0x003f, 0xbcab, 0x003f, 0x003f, 0xbdad, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbbea, 0xc3d7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7ca, 0xe7cb, 0xb1b1, 0x003f, 0xe7cc, 0x003f,
    -    /* 0x8200 .. 0x82ff */
    -    0x003f, 0xe7cd, 0xe7ce, 0x003f, 0x003f, 0xe7cf, 0x003f, 0xe7d0,
    -    0xb6bd, 0xdaaa, 0xe7d1, 0x003f, 0xc0e5, 0xe7d2, 0xbccb, 0x003f,
    -    0xe7d3, 0x003f, 0xd0b0, 0x003f, 0x003f, 0x003f, 0xe7d4, 0xcade,
    -    0xb4dc, 0x003f, 0x003f, 0xc1a4, 0xbdd8, 0x003f, 0xc9f1, 0xbdae,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe7d5, 0xb9d2, 0xe7d6, 0xc8cc, 0x003f, 0xe7e4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe7d8, 0x003f, 0xc2c9, 0xc7f5, 0xb8bf,
    -    0xe7d7, 0xc1a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4fa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7db, 0xe7da, 0xe7dd, 0x003f, 0x003f, 0xe7dc, 0x003f, 0xe7de,
    -    0x003f, 0x003f, 0xe7e0, 0x003f, 0xe7df, 0x003f, 0xb4cf, 0x003f,
    -    0xe7e1, 0x003f, 0xe7e2, 0xe7e3, 0x003f, 0x003f, 0xbab1, 0xcec9,
    -    0x003f, 0xe7e5, 0xbfa7, 0x003f, 0x003f, 0x003f, 0xb1f0, 0xe7e6,
    -    0xe7e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb0f2, 0x003f, 0xe7e9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc9e7, 0x003f, 0x003f, 0x003f, 0xbcc7, 0x003f, 0xe7ec,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3a9, 0xb0b2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe7eb, 0xe7ee, 0xc7ce, 0x003f, 0xbfc4,
    -    0x003f, 0xb2d6, 0x003f, 0xcba7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb7dd, 0xb6dc, 0x003f, 0xe7ed, 0x003f, 0xb2ea, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4a3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb1f1, 0xe7f2, 0xceea, 0xc2dd, 0x003f, 0x003f, 0xc9c4,
    -    0x003f, 0xe7fe, 0x003f, 0xb2d7, 0xe7fc, 0x003f, 0xe7fa, 0xe7f1,
    -    0x003f, 0xe7ef, 0x003f, 0xe7f0, 0x003f, 0xbce3, 0xb6ec, 0xc3f7,
    -    0x003f, 0x003f, 0x003f, 0xc6d1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb1d1, 0x003f, 0xe7f4, 0xe7f3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe7f9, 0xe7f5, 0xe7f8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8300 .. 0x83ff */
    -    0x003f, 0x003f, 0xccd0, 0xe7f7, 0xb2d8, 0xb3fd, 0xe7fb, 0x003f,
    -    0x003f, 0xe7fd, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7d4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a3, 0xe8ac,
    -    0xe8ad, 0x003f, 0x003f, 0x003f, 0xb0ab, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8b4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb0f1, 0x003f, 0x003f, 0xe8ab, 0x003f, 0x003f, 0x003f, 0xe8aa,
    -    0x003f, 0xe8a5, 0xe8a4, 0x003f, 0xe8a2, 0xe8a1, 0xc3e3, 0x003f,
    -    0xc2fb, 0xe8a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8a6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a9, 0x003f, 0x003f,
    -    0x003f, 0xc1f0, 0xb7d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1c1,
    -    0xe8a8, 0x003f, 0xb9d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8ba, 0x003f, 0xe8bb, 0x003f, 0xb2d9,
    -    0x003f, 0x003f, 0x003f, 0xb2ae, 0xe8b8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ae, 0x003f, 0xe8b6,
    -    0x003f, 0xe8bd, 0xe8b7, 0x003f, 0x003f, 0x003f, 0xe8b5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe7f6, 0x003f, 0x003f, 0xe8b3, 0x003f,
    -    0x003f, 0x003f, 0xe8af, 0x003f, 0x003f, 0x003f, 0xb4d0, 0xe8b1,
    -    0xe8bc, 0x003f, 0xe8b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8be, 0x003f, 0xe8b0, 0xc7fc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcde9, 0x003f, 0x003f, 0x003f, 0xe8b9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8cf, 0x003f, 0x003f,
    -    0x003f, 0xe8c7, 0x003f, 0x003f, 0x003f, 0xbffb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb5c6, 0x003f, 0xb6dd, 0x003f, 0xe8c2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb2db, 0x003f, 0x003f, 0xbed4, 0x003f,
    -    0xe8c5, 0x003f, 0x003f, 0x003f, 0xbada, 0x003f, 0x003f, 0xc5d1,
    -    0xe8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcaee, 0x003f, 0xe8c1, 0x003f, 0x003f, 0x003f, 0xb2da,
    -    0xb8d6, 0xc9a9, 0xe8cb, 0x003f, 0xe8bf, 0x003f, 0x003f, 0xe8c8,
    -    0x003f, 0x003f, 0x003f, 0xe8d2, 0x003f, 0xe8c3, 0x003f, 0x003f,
    -    /* 0x8400 .. 0x84ff */
    -    0x003f, 0x003f, 0x003f, 0xe8c4, 0xc6ba, 0x003f, 0x003f, 0xe8c9,
    -    0x003f, 0x003f, 0x003f, 0xe8c6, 0xcba8, 0xe8cc, 0xb0e0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8c0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8ce, 0x003f, 0xe8cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc7eb, 0xe8d4, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3fe, 0x003f, 0x003f, 0x003f, 0xe8e2, 0x003f, 0x003f,
    -    0xe8d0, 0x003f, 0x003f, 0x003f, 0xe8d5, 0xcdee, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8de, 0x003f,
    -    0x003f, 0xcdd5, 0x003f, 0x003f, 0x003f, 0x003f, 0xceaa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3f8,
    -    0x003f, 0x003f, 0x003f, 0xb3eb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc9f2, 0xe8e4, 0xc6a1, 0x003f, 0x003f, 0xb0b1, 0x003f,
    -    0x003f, 0xe8dd, 0x003f, 0xe8d9, 0xc1f2, 0xe8d3, 0xe8db, 0xe8e0,
    -    0x003f, 0xc7ac, 0x003f, 0x003f, 0x003f, 0xb0aa, 0x003f, 0xe8d8,
    -    0x003f, 0xe8e1, 0xc9f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe8dc, 0x003f, 0xe8d7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbed5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbdaf, 0x003f, 0x003f, 0x003f, 0xbcac, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccd8, 0x003f, 0x003f, 0xc9c7, 0x003f, 0x003f, 0xe8e7,
    -    0x003f, 0xe8f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8da, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbef8, 0xe8e5, 0x003f, 0xe8ea, 0xc1f3, 0x003f, 0x003f, 0xe8e6,
    -    0x003f, 0xe8ed, 0x003f, 0x003f, 0xc3df, 0x003f, 0xe8ee, 0x003f,
    -    0x003f, 0xcdd6, 0xe8e3, 0xb3b8, 0x003f, 0xe8e9, 0x003f, 0x003f,
    -    0xe8ec, 0xccac, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ef, 0x003f,
    -    0x003f, 0xe8e8, 0xe8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcba9, 0x003f, 0xcfa1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe8f3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0xe8f2,
    -    /* 0x8500 .. 0x85ff */
    -    0xbcc3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8d1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcace, 0x003f, 0xcca2, 0xe8f9, 0xe8f8, 0x003f, 0xe8f4,
    -    0xe8f5, 0x003f, 0xb1b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8f7,
    -    0x003f, 0xe8f1, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4d5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe8f6, 0xb0fe, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2a2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac3, 0x003f, 0x003f,
    -    0xe8fb, 0xe9a1, 0x003f, 0xc8d9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8fe, 0xbed6, 0xbcc9, 0xe9a3, 0x003f, 0x003f, 0xb6be, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a4, 0x003f, 0xc9f9,
    -    0xe8fd, 0x003f, 0xe8d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8fc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcfcf, 0xc6a2, 0xc9f3, 0x003f, 0x003f, 0xe9ab, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b2, 0x003f,
    -    0xe9a5, 0x003f, 0x003f, 0x003f, 0xc7f6, 0x003f, 0x003f, 0xe9af,
    -    0xe9a7, 0x003f, 0xe9a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9b3, 0xe9a8, 0x003f, 0x003f, 0xe9ac, 0x003f, 0x003f, 0xb1f2,
    -    0x003f, 0xc6e5, 0x003f, 0xe9ad, 0xe9b0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9a6, 0x003f, 0xc1a6, 0x003f,
    -    0xe9aa, 0xbba7, 0xbfc5, 0xb7b0, 0xccf4, 0x003f, 0xccf9, 0xbdf2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9b7, 0xe9b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9b4, 0x003f, 0x003f, 0x003f, 0xcdf5, 0x003f, 0xe9b6,
    -    0xe9b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9bc, 0xe9ba, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc6a3, 0xe9bb, 0x003f, 0x003f,
    -    0x003f, 0xc8cd, 0xe9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdf3,
    -    0x003f, 0xe9bd, 0xe9c2, 0xc1f4, 0x003f, 0x003f, 0xe9c1, 0x003f,
    -    /* 0x8600 .. 0x86ff */
    -    0x003f, 0x003f, 0xe9a2, 0x003f, 0x003f, 0x003f, 0xe9c3, 0xc1c9,
    -    0x003f, 0x003f, 0xe9be, 0xe9c0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe9bf, 0x003f, 0x003f, 0xddb1, 0xdda2,
    -    0x003f, 0x003f, 0xe9c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdf6, 0x003f, 0xe2bc,
    -    0xe9c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c8, 0xb8d7, 0x003f,
    -    0xb5d4, 0x003f, 0x003f, 0x003f, 0xe9ca, 0xd1dd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb5f5, 0x003f, 0xceba, 0x003f, 0xb6f3, 0xe9cb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9cc,
    -    0x003f, 0x003f, 0x003f, 0xc3ee, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc6fa, 0x003f, 0xb0ba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb2e3, 0xe9d2, 0xe9d3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe9ce, 0x003f, 0xbbbd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe9cf, 0xc7c2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9d0, 0xe9d1, 0xe9db, 0x003f, 0x003f, 0x003f, 0xe9d5,
    -    0xe9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9d4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9d6, 0x003f, 0xe9d7, 0xbcd8,
    -    0x003f, 0xe9d9, 0x003f, 0xc3c1, 0x003f, 0xb7d6, 0xb3c2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9dc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3bf, 0x003f, 0xe9e1, 0x003f, 0x003f, 0xe9dd, 0xe9e0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc8ba, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9de, 0x003f, 0x003f, 0xe9df, 0xc9c8, 0xc8da, 0xe9e2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc2fd, 0xe9ec, 0x003f, 0xe9e8, 0x003f, 0x003f, 0xb2eb, 0x003f,
    -    /* 0x8700 .. 0x87ff */
    -    0xe9e6, 0x003f, 0xcbaa, 0xe9e7, 0x003f, 0x003f, 0xe9e4, 0x003f,
    -    0xe9e5, 0xe9ea, 0xe9ed, 0x003f, 0x003f, 0xe9eb, 0x003f, 0x003f,
    -    0x003f, 0xe9e9, 0xe9e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc3d8, 0x003f, 0xe9f4, 0x003f, 0xccaa, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f2, 0x003f, 0x003f,
    -    0x003f, 0xe9f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9ee, 0x003f, 0x003f, 0xe9f0,
    -    0x003f, 0x003f, 0x003f, 0xe9f1, 0x003f, 0x003f, 0x003f, 0xe9ef,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc0e6, 0x003f, 0xcfb9, 0xe9f8, 0x003f, 0xe9f9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeaa1, 0x003f, 0xbfaa, 0x003f, 0xe9fb,
    -    0x003f, 0xe9fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f6,
    -    0xe9f5, 0x003f, 0x003f, 0xeaa2, 0x003f, 0x003f, 0xb2dc, 0x003f,
    -    0xe9fc, 0x003f, 0xeaa3, 0x003f, 0x003f, 0x003f, 0xe9fd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9fa, 0x003f, 0xc4b3, 0x003f,
    -    0xe9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7e8,
    -    0x003f, 0x003f, 0xeaa7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaa6,
    -    0x003f, 0x003f, 0xeaa5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeaae, 0x003f, 0x003f, 0x003f, 0xeaa8,
    -    0x003f, 0x003f, 0x003f, 0xeab0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcde6, 0xeab3, 0x003f, 0xeaaa, 0x003f, 0x003f,
    -    0xeaab, 0x003f, 0x003f, 0x003f, 0xeaaf, 0x003f, 0xeab2, 0xeab1,
    -    0x003f, 0x003f, 0x003f, 0xeaa9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeaac, 0x003f, 0xeabd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeab6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeab4,
    -    0x003f, 0x003f, 0xeab5, 0x003f, 0x003f, 0x003f, 0xeaba, 0xeabb,
    -    0x003f, 0xb3aa, 0x003f, 0xb5c2, 0x003f, 0x003f, 0xeab9, 0x003f,
    -    /* 0x8800 .. 0x88ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaa4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeab8, 0xeabc, 0xeab7,
    -    0x003f, 0xeabe, 0x003f, 0x003f, 0x003f, 0xeac0, 0xeabf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeac2, 0xeac1, 0xe9da, 0x003f, 0x003f, 0x003f, 0xeac6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeac3, 0x003f, 0x003f, 0x003f, 0x003f, 0xeac4, 0x003f,
    -    0x003f, 0xeac5, 0x003f, 0xeac7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb7ec, 0x003f, 0xeac9, 0x003f, 0xeac8, 0x003f, 0xbdb0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb9d4, 0xdea7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeaca, 0xbdd1, 0x003f, 0x003f, 0x003f, 0xb3b9,
    -    0x003f, 0xeacb, 0x003f, 0xb1d2, 0x003f, 0xbed7, 0xeacc, 0x003f,
    -    0x003f, 0xb9d5, 0xeacd, 0xb0e1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc9bd, 0x003f, 0x003f, 0xeace, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbfea, 0x003f, 0xead5, 0x003f, 0x003f, 0xead2, 0x003f, 0xc3ef,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xead3, 0xead0, 0xb6de,
    -    0x003f, 0xeacf, 0xead6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb7b6, 0x003f, 0x003f, 0xc2de, 0x003f, 0xeadc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xead8, 0x003f, 0x003f, 0x003f, 0xc2b5, 0xead7,
    -    0x003f, 0xeada, 0x003f, 0x003f, 0x003f, 0x003f, 0xead1, 0x003f,
    -    0x003f, 0x003f, 0xeadb, 0x003f, 0xeadd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc8ef, 0x003f, 0x003f, 0xead9, 0x003f,
    -    0xeade, 0xeae0, 0x003f, 0x003f, 0xb8d3, 0xead4, 0x003f, 0xb0c1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeadf,
    -    0x003f, 0xbadb, 0xcef6, 0xeae1, 0xeae2, 0xc1f5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcea2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeae3, 0xcdb5, 0x003f, 0x003f,
    -    0xeae4, 0xeae5, 0x003f, 0x003f, 0xcae4, 0xeae6, 0x003f, 0xbac0,
    -    0x003f, 0xcea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeaeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeaec, 0xbed8, 0xeaea, 0x003f, 0x003f, 0x003f,
    -    0xcde7, 0xeae7, 0x003f, 0x003f, 0xeae9, 0xc0bd, 0xbffe, 0x003f,
    -    /* 0x8900 .. 0x89ff */
    -    0x003f, 0x003f, 0xeae8, 0x003f, 0xeaed, 0x003f, 0x003f, 0xcaa3,
    -    0x003f, 0x003f, 0xeaef, 0x003f, 0xeaee, 0x003f, 0x003f, 0x003f,
    -    0xb3ec, 0x003f, 0xcbab, 0xeaf0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeafc, 0xeaf2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaf3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeaf4, 0xeaf5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaf9, 0x003f,
    -    0xeafa, 0x003f, 0x003f, 0xeaf8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeaf6, 0x003f, 0xeaf1, 0xeaf7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeafb, 0xf0b7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2a8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeafe, 0xb6df,
    -    0xeafd, 0x003f, 0x003f, 0x003f, 0xeba2, 0x003f, 0xeba1, 0x003f,
    -    0x003f, 0x003f, 0xeba4, 0x003f, 0x003f, 0xeba3, 0x003f, 0xeba5,
    -    0x003f, 0x003f, 0xbdb1, 0x003f, 0xeba6, 0x003f, 0x003f, 0xeba7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeba8, 0xc0be,
    -    0x003f, 0xcdd7, 0x003f, 0xeba9, 0x003f, 0x003f, 0xcaa4, 0xc7c6,
    -    0xebaa, 0x003f, 0xebab, 0xb8ab, 0x003f, 0x003f, 0x003f, 0xb5ac,
    -    0x003f, 0x003f, 0x003f, 0xebac, 0x003f, 0x003f, 0xbbeb, 0xc7c1,
    -    0xebad, 0x003f, 0xb3d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xebae, 0x003f, 0x003f, 0x003f, 0x003f, 0xebb0, 0xcdf7,
    -    0x003f, 0xebaf, 0xbfc6, 0x003f, 0xebb1, 0x003f, 0x003f, 0xebb2,
    -    0x003f, 0x003f, 0xebb3, 0xb4d1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xebb4, 0x003f, 0x003f, 0xebb5, 0x003f, 0xebb6,
    -    0xebb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb3d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xebb8, 0x003f, 0xebb9, 0xebba, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb2f2, 0x003f, 0x003f, 0xbfa8, 0xebbb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xebbc, 0x003f, 0x003f, 0x003f,
    -    0xebbd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8a00 .. 0x8aff */
    -    0xb8c0, 0x003f, 0xc4fb, 0xebbe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb7d7, 0x003f, 0xbfd6, 0x003f, 0xebc1, 0x003f, 0xc6a4, 0x003f,
    -    0xebc0, 0x003f, 0x003f, 0xb7b1, 0x003f, 0x003f, 0xebbf, 0xc2f7,
    -    0xb5ad, 0x003f, 0x003f, 0xebc2, 0x003f, 0xebc3, 0x003f, 0xbed9,
    -    0x003f, 0x003f, 0x003f, 0xb7ed, 0x003f, 0xebc4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcbac, 0x003f, 0x003f, 0xc0df, 0x003f, 0x003f,
    -    0x003f, 0xb5f6, 0x003f, 0xccf5, 0xc1ca, 0x003f, 0xebc5, 0x003f,
    -    0x003f, 0x003f, 0xbfc7, 0xc3f0, 0xbeda, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xebc6, 0x003f, 0x003f, 0x003f, 0x003f, 0xebc9, 0x003f,
    -    0xebca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbabe, 0xc2c2, 0xebc8, 0x003f, 0xbedb, 0xc9be, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xebc7, 0x003f, 0x003f, 0xbbec, 0x003f,
    -    0xb1d3, 0x003f, 0xebce, 0xb7d8, 0x003f, 0x003f, 0xbbee, 0x003f,
    -    0x003f, 0xbbed, 0x003f, 0xcfcd, 0xebcd, 0xebcc, 0xc1a7, 0x003f,
    -    0xb5cd, 0xcfc3, 0xb3ba, 0xbedc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xebcb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xebd0, 0x003f, 0xebd1, 0xebcf, 0x003f, 0xb8d8,
    -    0x003f, 0xcdc0, 0x003f, 0x003f, 0xbbef, 0xc7a7, 0x003f, 0x003f,
    -    0x003f, 0xebd4, 0x003f, 0xc0c0, 0x003f, 0xc3c2, 0x003f, 0x003f,
    -    0xcdb6, 0x003f, 0xebd7, 0x003f, 0x003f, 0x003f, 0xb8ec, 0x003f,
    -    0xc0bf, 0xebd3, 0x003f, 0xebd8, 0xb8ed, 0xebd5, 0xebd6, 0x003f,
    -    0xebd2, 0x003f, 0x003f, 0x003f, 0xc0e2, 0xc6c9, 0x003f, 0x003f,
    -    0xc3af, 0x003f, 0xb2dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc8f0, 0x003f, 0x003f, 0xb5c3, 0x003f, 0x003f, 0xc4b4,
    -    0x003f, 0x003f, 0xebdb, 0x003f, 0xebd9, 0x003f, 0x003f, 0xc3cc,
    -    0x003f, 0x003f, 0x003f, 0xc0c1, 0xb4d2, 0xebda, 0x003f, 0xbfdb,
    -    0x003f, 0x003f, 0xceca, 0x003f, 0x003f, 0x003f, 0xcfc0, 0x003f,
    -    0x003f, 0x003f, 0xebdc, 0xebe7, 0xc4b5, 0x003f, 0xebe6, 0x003f,
    -    0xebe3, 0xebeb, 0xebe4, 0x003f, 0xebe0, 0x003f, 0xc4fc, 0xebdf,
    -    0x003f, 0x003f, 0x003f, 0xebdd, 0x003f, 0xcda1, 0xbbf0, 0x003f,
    -    0x003f, 0xebe1, 0x003f, 0xebde, 0x003f, 0x003f, 0x003f, 0xebe5,
    -    0xbdf4, 0x003f, 0xb8c1, 0x003f, 0x003f, 0x003f, 0xc2fa, 0x003f,
    -    /* 0x8b00 .. 0x8bff */
    -    0xcbc5, 0xb1da, 0xb0e2, 0x003f, 0xc6a5, 0x003f, 0x003f, 0xebe9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xebe8, 0x003f, 0xc6e6, 0x003f,
    -    0xebed, 0x003f, 0x003f, 0x003f, 0xebe2, 0x003f, 0xebec, 0xebee,
    -    0x003f, 0xb8ac, 0xebea, 0xb9d6, 0x003f, 0xbcd5, 0x003f, 0x003f,
    -    0xebef, 0xcdd8, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf2, 0x003f,
    -    0xebf5, 0x003f, 0x003f, 0xebf3, 0xc9b5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xebf0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb6e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf4, 0x003f,
    -    0x003f, 0xebf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xebfa, 0x003f, 0x003f, 0xebf7, 0x003f, 0xebf9, 0xebf8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebfb, 0x003f,
    -    0xbcb1, 0x003f, 0xebfd, 0xebfc, 0xc9e8, 0x003f, 0x003f, 0xeca1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7d9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xebfe, 0xeca2, 0x003f, 0x003f, 0xeca3,
    -    0xb5c4, 0xe6c1, 0xbef9, 0x003f, 0xeca4, 0x003f, 0x003f, 0xb8ee,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeca5, 0x003f, 0x003f,
    -    0xeca6, 0x003f, 0x003f, 0xbbbe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdace, 0x003f, 0xeca7, 0x003f, 0xeca8, 0x003f,
    -    0xbdb2, 0x003f, 0xeca9, 0xecaa, 0x003f, 0x003f, 0xecab, 0x003f,
    -    0x003f, 0xecac, 0xecad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8c00 .. 0x8cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3ab,
    -    0x003f, 0x003f, 0xecae, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb0,
    -    0x003f, 0xecaf, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6a6, 0x003f,
    -    0xecb1, 0x003f, 0xcbad, 0x003f, 0xecb2, 0x003f, 0xecb3, 0x003f,
    -    0xecb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc6da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbedd, 0xecb6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb9eb, 0xd0ae, 0xecb7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xecb8, 0xc9bf, 0xecb9, 0x003f, 0xecc1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xecba, 0x003f, 0x003f, 0xecbc, 0x003f, 0x003f,
    -    0x003f, 0xecbb, 0xecbd, 0x003f, 0xcbc6, 0xecbe, 0xecbf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xecc0, 0x003f, 0x003f, 0x003f,
    -    0xecc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3ad, 0xc4e7, 0x003f,
    -    0xc9e9, 0xbae2, 0xb9d7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9cf,
    -    0xb2df, 0xc8ce, 0xecc5, 0xb4d3, 0xc0d5, 0xecc4, 0xecc9, 0xc3f9,
    -    0xcce3, 0x003f, 0xecc7, 0xecc8, 0xb5ae, 0x003f, 0xecca, 0xc7e3,
    -    0xc2df, 0x003f, 0x003f, 0xc8f1, 0xc5bd, 0xecc6, 0x003f, 0xcbc7,
    -    0xb2ec, 0xeccc, 0xcfa8, 0xc4c2, 0xcfc5, 0x003f, 0x003f, 0xbbf1,
    -    0xeccb, 0x003f, 0xc2b1, 0x003f, 0x003f, 0xecdc, 0xc1a8, 0x003f,
    -    0x003f, 0xc6f8, 0x003f, 0xc9d0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeccf, 0xbbbf, 0xbbf2, 0x003f, 0xbede, 0x003f,
    -    0xc7e5, 0x003f, 0xb8ad, 0xecce, 0xeccd, 0x003f, 0xc9ea, 0x003f,
    -    0x003f, 0x003f, 0xbcc1, 0x003f, 0x003f, 0xc5d2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xecd1, 0xecd2, 0xb9d8, 0xecd0, 0x003f, 0x003f,
    -    /* 0x8d00 .. 0x8dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xecd3, 0xecd4, 0x003f, 0xecd6,
    -    0xc2a3, 0x003f, 0xecd5, 0xb4e6, 0x003f, 0xecd8, 0x003f, 0xecd7,
    -    0xecd9, 0x003f, 0x003f, 0xecdb, 0xecdd, 0x003f, 0xecde, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc0d6, 0x003f, 0xbccf, 0xecdf,
    -    0x003f, 0x003f, 0x003f, 0xb3d2, 0x003f, 0xece0, 0x003f, 0x003f,
    -    0xc1f6, 0xece1, 0x003f, 0xece2, 0xc9eb, 0x003f, 0x003f, 0xb5af,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xece3, 0x003f, 0x003f, 0x003f, 0xc4b6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb1db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xece4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbcf1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbff6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc2ad, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xece7, 0x003f, 0x003f, 0x003f, 0xece6, 0x003f,
    -    0x003f, 0x003f, 0xece5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeced, 0xeceb, 0x003f, 0x003f, 0xece8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecea, 0x003f,
    -    0x003f, 0x003f, 0xece9, 0xecec, 0x003f, 0xb5f7, 0x003f, 0xecf0,
    -    0x003f, 0xc0d7, 0x003f, 0xecf1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb8d9, 0x003f, 0xecee, 0xecef, 0x003f, 0x003f, 0x003f, 0xcfa9,
    -    0x003f, 0x003f, 0x003f, 0xc4b7, 0x003f, 0xc1a9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0xecf5,
    -    /* 0x8e00 .. 0x8eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xecf3, 0xecf4, 0xcdd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6a7,
    -    0xecf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecf6, 0xecf7, 0xecf9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeda9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xecfc, 0x003f, 0x003f, 0x003f, 0xecfd, 0xecfb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xecfa, 0x003f, 0xc4fd, 0x003f, 0x003f, 0xeda1,
    -    0xeda5, 0xeda2, 0xecfe, 0x003f, 0xeda3, 0x003f, 0x003f, 0x003f,
    -    0xeda4, 0x003f, 0x003f, 0x003f, 0x003f, 0xedab, 0x003f, 0x003f,
    -    0x003f, 0xeda6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0d8,
    -    0xeda8, 0x003f, 0x003f, 0xedaa, 0xeda7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xedad, 0x003f, 0xbdb3, 0x003f, 0xedac, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xedae, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xedaf, 0x003f, 0x003f, 0xedb2, 0xedb1, 0x003f, 0xedb0,
    -    0x003f, 0x003f, 0xedb4, 0xedb3, 0x003f, 0xccf6, 0x003f, 0x003f,
    -    0x003f, 0xedb6, 0x003f, 0xedb5, 0xedb7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xedb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xedba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xedb9, 0xbfc8, 0xedbb, 0x003f, 0x003f, 0xb6ed,
    -    0xedbc, 0xedbe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedbf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedc0, 0xedbd, 0x003f,
    -    0xedc1, 0x003f, 0xbcd6, 0xedc2, 0xb5b0, 0xb7b3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb8ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedc3, 0x003f, 0x003f, 0x003f, 0xc6f0,
    -    0x003f, 0x003f, 0xc5be, 0xedc4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedc7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbcb4, 0x003f, 0x003f, 0xedc6, 0xedc5, 0xb7da, 0xedc8, 0x003f,
    -    /* 0x8f00 .. 0x8fff */
    -    0x003f, 0x003f, 0x003f, 0xb3d3, 0x003f, 0xedca, 0x003f, 0x003f,
    -    0x003f, 0xbadc, 0xedc9, 0x003f, 0xedd2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xedcc, 0xedce, 0xcae5, 0xedcb, 0x003f, 0x003f,
    -    0x003f, 0xedcd, 0x003f, 0xedd1, 0xedcf, 0xb5b1, 0x003f, 0xedd0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd3, 0x003f,
    -    0x003f, 0xc7da, 0xced8, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdb4,
    -    0x003f, 0x003f, 0x003f, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcda2, 0xedd6, 0x003f, 0xedd5, 0x003f, 0x003f, 0xedd9, 0xcdc1,
    -    0x003f, 0x003f, 0xedd8, 0x003f, 0xb3ed, 0xedd7, 0xeddc, 0x003f,
    -    0x003f, 0xeddb, 0x003f, 0x003f, 0xedda, 0xc5b2, 0xeddd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedde,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeddf, 0x003f, 0x003f, 0xb9ec,
    -    0x003f, 0xb7a5, 0xede0, 0xede1, 0xede2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbfc9, 0xede3, 0x003f, 0xbcad, 0xede4,
    -    0x003f, 0x003f, 0x003f, 0xede5, 0x003f, 0x003f, 0x003f, 0xd2a1,
    -    0xd1fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xede6, 0xe5f0, 0xede7,
    -    0xc3a4, 0xbfab, 0xc7c0, 0x003f, 0x003f, 0x003f, 0x003f, 0xede8,
    -    0x003f, 0x003f, 0xcad5, 0xc4d4, 0xb9fe, 0x003f, 0x003f, 0xc3a9,
    -    0x003f, 0x003f, 0xb1aa, 0x003f, 0xcbf8, 0xbfd7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7de, 0x003f,
    -    0x003f, 0xb6e1, 0x003f, 0x003f, 0xcad6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xede9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xedeb, 0x003f, 0x003f, 0xedea, 0xb2e0, 0x003f,
    -    0x003f, 0xc6f6, 0xedec, 0xc7f7, 0x003f, 0xc5b3, 0x003f, 0xeded,
    -    0xbdd2, 0x003f, 0x003f, 0x003f, 0xedef, 0x003f, 0x003f, 0xccc2,
    -    0xedfe, 0xedf1, 0xedf2, 0x003f, 0x003f, 0xc4c9, 0x003f, 0x003f,
    -    /* 0x9000 .. 0x90ff */
    -    0xc2e0, 0xc1f7, 0x003f, 0xc6a8, 0x003f, 0xedf0, 0xb5d5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedf9, 0x003f, 0xedf6, 0xeea5, 0xc6a9,
    -    0xc3e0, 0xedf3, 0x003f, 0xc4fe, 0xc5d3, 0xedf4, 0xedf8, 0xbfe0,
    -    0x003f, 0xc7e7, 0xc4cc, 0x003f, 0x003f, 0xc0c2, 0xedf7, 0xc2ae,
    -    0xc2a4, 0xedf5, 0xb0a9, 0xcfa2, 0x003f, 0x003f, 0x003f, 0xedfa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2e1, 0x003f,
    -    0x003f, 0xbdb5, 0xbfca, 0x003f, 0x003f, 0xedfc, 0xedfb, 0x003f,
    -    0xb0ef, 0xedfd, 0x003f, 0x003f, 0xc9af, 0x003f, 0xeea7, 0x003f,
    -    0x003f, 0xc6db, 0xbfeb, 0x003f, 0x003f, 0xc3d9, 0x003f, 0xb6f8,
    -    0x003f, 0xeea6, 0xcdb7, 0xb1bf, 0x003f, 0xcad7, 0xb2e1, 0xeea1,
    -    0xeea2, 0xeea3, 0xeea4, 0xc6bb, 0xc3a3, 0xb0e3, 0xeea8, 0x003f,
    -    0xeea9, 0xf4a3, 0x003f, 0x003f, 0xc2bd, 0x003f, 0xeeaa, 0x003f,
    -    0xb1f3, 0xc1cc, 0x003f, 0xb8af, 0x003f, 0xcdda, 0x003f, 0x003f,
    -    0xeeab, 0xc5ac, 0x003f, 0x003f, 0x003f, 0xc1f8, 0xbcd7, 0xeeac,
    -    0x003f, 0x003f, 0xeeaf, 0x003f, 0x003f, 0xbde5, 0xeead, 0xc1ab,
    -    0xc1aa, 0x003f, 0xb0e4, 0x003f, 0xcecb, 0xeeb1, 0x003f, 0xc8f2,
    -    0xeeb3, 0xeeb2, 0xeeb0, 0xe3e4, 0xb4d4, 0x003f, 0x003f, 0xedee,
    -    0x003f, 0xeeb5, 0xeeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb6,
    -    0x003f, 0xcdb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc6e1, 0x003f, 0x003f, 0xcbae, 0x003f,
    -    0xeeb7, 0x003f, 0xbcd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb8,
    -    0x003f, 0xeeb9, 0x003f, 0x003f, 0x003f, 0xeeba, 0x003f, 0x003f,
    -    0xc5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb9d9, 0x003f, 0x003f, 0x003f, 0xcfba, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeebe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb7b4, 0xeebb, 0x003f, 0xeebc, 0x003f, 0x003f, 0x003f,
    -    0xc9f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3d4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdb9, 0x003f, 0xb6bf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d4, 0x003f, 0x003f,
    -    /* 0x9100 .. 0x91ff */
    -    0x003f, 0x003f, 0xeebf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeec0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeec1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5a2, 0x003f, 0x003f,
    -    0xeec3, 0x003f, 0xeec2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc6d3, 0xeec4, 0xbdb6, 0xbce0, 0xc7db, 0xc3f1, 0x003f,
    -    0x003f, 0x003f, 0xbcf2, 0x003f, 0xbfec, 0x003f, 0xeec5, 0x003f,
    -    0xeec6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbfdd, 0xeec7, 0x003f, 0xeec8, 0x003f, 0x003f,
    -    0x003f, 0xeec9, 0xcdef, 0x003f, 0xbdb7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeecb, 0xeeca, 0x003f, 0xb9da, 0x003f, 0xb9f3,
    -    0xbbc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeece, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde6,
    -    0x003f, 0xeecd, 0x003f, 0xeecc, 0x003f, 0xc2e9, 0x003f, 0x003f,
    -    0xb8ef, 0x003f, 0xc0c3, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8b0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbdb9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeecf, 0x003f, 0xbedf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeed2, 0xeed0, 0x003f, 0x003f, 0x003f, 0xeed1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeed4, 0xeed3, 0x003f, 0x003f,
    -    0xbefa, 0x003f, 0xeed5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeed6, 0xeed7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8d0, 0xbad3,
    -    0xbce1, 0xeed8, 0x003f, 0xeed9, 0xcea4, 0xbdc5, 0xccee, 0xcecc,
    -    0xeeda, 0xb6e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xeedb, 0x003f,
    -    0xc5a3, 0x003f, 0x003f, 0xeede, 0xb3f8, 0xbfcb, 0x003f, 0xeedc,
    -    0x003f, 0xeedd, 0x003f, 0xc4e0, 0x003f, 0x003f, 0xcbd5, 0xb6fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee0, 0xeee1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeedf, 0x003f, 0x003f, 0xeee3,
    -    /* 0x9200 .. 0x92ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6df, 0xb3c3, 0x003f,
    -    0x003f, 0xeee7, 0x003f, 0x003f, 0xeee4, 0xeee6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefcf, 0x003f, 0x003f, 0xeee5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xceeb, 0x003f, 0x003f, 0xb8da,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeef,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc5b4, 0xeeea, 0x003f, 0x003f,
    -    0xeeed, 0xeeeb, 0x003f, 0xeef0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeef1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee9,
    -    0x003f, 0x003f, 0xeef6, 0xb1f4, 0x003f, 0x003f, 0xeee8, 0x003f,
    -    0x003f, 0x003f, 0xc8ad, 0x003f, 0xeeec, 0x003f, 0xbee0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb9db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbc8, 0x003f,
    -    0xb6e4, 0x003f, 0x003f, 0xbdc6, 0x003f, 0xc6bc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc1ad, 0x003f, 0xeef4, 0x003f, 0xeeee, 0xeef3, 0x003f,
    -    0xccc3, 0x003f, 0xc4b8, 0xeef5, 0xeef2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1ac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeef9,
    -    0x003f, 0xeef8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeef7,
    -    0x003f, 0x003f, 0xcbaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbdfb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeefa, 0xcadf, 0x003f, 0x003f, 0xb1d4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc9c6, 0xc3f2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb5f8, 0x003f, 0xeefc, 0x003f, 0xb9dd, 0x003f, 0x003f, 0x003f,
    -    /* 0x9300 .. 0x93ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbac, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeefb,
    -    0xbfed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbfee, 0xefa1, 0xefa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbefb, 0x003f, 0xefa2, 0xefa4, 0x003f, 0x003f, 0xb6d3, 0x003f,
    -    0xc9c5, 0x003f, 0x003f, 0xbce2, 0xcfa3, 0x003f, 0xeefe, 0xbaf8,
    -    0x003f, 0x003f, 0xcfbf, 0x003f, 0x003f, 0xefa6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xefa5, 0xefa7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeefd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc6e9, 0x003f, 0xc5d5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc4d7, 0x003f, 0xefac, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc3c3, 0xefa8, 0x003f, 0x003f, 0x003f,
    -    0xefa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb7ad, 0x003f, 0xefab, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8b0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xefaa, 0x003f, 0xbee1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb3f9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xefb0, 0x003f, 0xbabf, 0xc1f9,
    -    0x003f, 0x003f, 0xc4ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3bb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xefae, 0xefaf, 0xc4c3, 0x003f,
    -    0xefad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xefb7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefb9, 0xc5ad, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb2, 0xefb3,
    -    0xefb6, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb8, 0x003f, 0x003f,
    -    0x003f, 0xb6c0, 0x003f, 0x003f, 0xefbb, 0xefb5, 0x003f, 0x003f,
    -    0xefb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9400 .. 0x94ff */
    -    0x003f, 0x003f, 0x003f, 0xefbf, 0x003f, 0x003f, 0x003f, 0xefc0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefc1, 0x003f, 0x003f, 0xefbe, 0xefbd, 0x003f, 0x003f, 0x003f,
    -    0xbee2, 0xc6aa, 0xefbc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefc5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xefc3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefc4, 0xefc2, 0x003f,
    -    0xc2f8, 0x003f, 0xefc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefc7, 0x003f, 0x003f, 0xefc9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb4d5, 0xefc8, 0xccfa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xefd4, 0xefca, 0x003f, 0x003f, 0xefcd, 0x003f,
    -    0xefcb, 0x003f, 0xefcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xefce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefd0, 0x003f, 0x003f, 0x003f, 0x003f, 0xefd1, 0x003f, 0xefd2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xefd5, 0xefd3, 0xefd6, 0xefd8,
    -    0x003f, 0xefd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9500 .. 0x95ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4b9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcce7, 0x003f, 0xefd9, 0xc1ae, 0x003f, 0x003f, 0x003f, 0xefda,
    -    0x003f, 0xcac4, 0xefdb, 0xb3ab, 0x003f, 0x003f, 0x003f, 0xb1bc,
    -    0x003f, 0xb4d7, 0x003f, 0xb4d6, 0xefdc, 0x003f, 0xefdd, 0x003f,
    -    0xefde, 0xefdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefe0, 0x003f, 0xb4d8, 0xb3d5, 0xb9de, 0xc8b6, 0x003f, 0xefe2,
    -    0xefe1, 0x003f, 0x003f, 0x003f, 0x003f, 0xefe3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb1dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefe6, 0x003f, 0xefe5, 0xefe4, 0x003f, 0xefe7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xefea, 0x003f, 0x003f, 0x003f, 0xb0c7,
    -    0x003f, 0x003f, 0xefe8, 0x003f, 0xefec, 0xefeb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xefee, 0xefed, 0xefef, 0x003f,
    -    0xc6ae, 0x003f, 0x003f, 0x003f, 0xeff0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeff1, 0xeff3, 0x003f, 0x003f, 0xeff2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9600 .. 0x96ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc9ec, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeff4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeff5, 0x003f, 0xbae5, 0x003f, 0x003f, 0x003f, 0xeff6, 0xeff7,
    -    0x003f, 0x003f, 0xcbc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc1cb, 0x003f, 0x003f, 0x003f, 0xb0a4,
    -    0xc2cb, 0x003f, 0xeff8, 0x003f, 0xc9ed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeffb, 0xeff9, 0xb9df, 0x003f, 0xeffa,
    -    0xb8c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcac5, 0xeffd, 0xf0a1, 0xeffe, 0xf0a2,
    -    0x003f, 0x003f, 0xb1a1, 0xbfd8, 0xbdfc, 0xb4d9, 0xf0a3, 0x003f,
    -    0x003f, 0x003f, 0xc7e6, 0x003f, 0xf0a5, 0x003f, 0x003f, 0x003f,
    -    0xb1a2, 0x003f, 0xf0a4, 0xc4c4, 0x003f, 0xcecd, 0xc6ab, 0xeffc,
    -    0xcea6, 0x003f, 0xb8b1, 0x003f, 0x003f, 0xcddb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6f9, 0xceb4, 0x003f,
    -    0xb7a8, 0x003f, 0xc2e2, 0xe7a1, 0x003f, 0xf0a6, 0xb3ac, 0xbfef,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb3d6, 0xf0a8, 0x003f, 0xf0a9,
    -    0xf0a7, 0xb7e4, 0x003f, 0xbadd, 0xbee3, 0x003f, 0x003f, 0x003f,
    -    0xb1a3, 0x003f, 0x003f, 0xced9, 0x003f, 0x003f, 0x003f, 0xf0ab,
    -    0xeeae, 0x003f, 0xf0aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf0ae, 0xf0ac, 0xf0ad, 0x003f, 0xf0af, 0x003f, 0xf0b0, 0xceec,
    -    0xf0b1, 0xf0b2, 0x003f, 0xc0c9, 0xc8bb, 0x003f, 0x003f, 0x003f,
    -    0xbffd, 0xb4e7, 0x003f, 0x003f, 0xcdba, 0xb2ed, 0xbdb8, 0xb8db,
    -    0x003f, 0xf0b5, 0x003f, 0xf0b4, 0xbbf3, 0xf0b6, 0xf0b3, 0x003f,
    -    0x003f, 0xbba8, 0x003f, 0x003f, 0x003f, 0xf0ba, 0xeaad, 0x003f,
    -    0x003f, 0xd2d6, 0x003f, 0xbff7, 0xf0b8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcea5, 0xc6f1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb1ab, 0x003f, 0xc0e3, 0xbcb6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcab7, 0x003f, 0xb1c0, 0x003f, 0x003f, 0x003f, 0xceed, 0xcdeb,
    -    0x003f, 0xf0bb, 0x003f, 0xc5c5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9700 .. 0x97ff */
    -    0xbcfb, 0x003f, 0x003f, 0x003f, 0xf0bc, 0x003f, 0xf0bd, 0xbfcc,
    -    0xf0be, 0x003f, 0xceee, 0x003f, 0x003f, 0xf0b9, 0xf0c0, 0xf0c2,
    -    0x003f, 0xf0c1, 0x003f, 0xf0bf, 0x003f, 0x003f, 0xf0c3, 0x003f,
    -    0x003f, 0xf0c4, 0x003f, 0x003f, 0xc1fa, 0x003f, 0xb2e2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf0c5, 0x003f, 0x003f, 0xccb8,
    -    0x003f, 0x003f, 0xf0c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf0c7, 0x003f, 0xcfaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdbb1, 0xf0c8, 0x003f, 0x003f, 0x003f, 0xf0c9, 0xf0ca, 0x003f,
    -    0x003f, 0x003f, 0xf0ce, 0x003f, 0xf0cb, 0x003f, 0xf0cc, 0x003f,
    -    0xf0cd, 0xf0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc0c4, 0x003f, 0x003f, 0x003f, 0xccf7, 0x003f,
    -    0x003f, 0xc0c5, 0x003f, 0x003f, 0xf0d0, 0x003f, 0xc8f3, 0x003f,
    -    0xf0d1, 0xf3d3, 0xcccc, 0x003f, 0xf0d2, 0x003f, 0xf0d3, 0x003f,
    -    0xf0d4, 0xb3d7, 0x003f, 0xf0d6, 0x003f, 0xbfd9, 0x003f, 0x003f,
    -    0x003f, 0xf0d7, 0x003f, 0x003f, 0xb7a4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf0d8, 0xf0dc, 0x003f, 0xf0da, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf0db, 0x003f, 0x003f, 0xb3f3, 0xf0d9, 0xf0dd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0de, 0x003f, 0xb0c8, 0x003f, 0xf0df,
    -    0xf0e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbee4, 0x003f, 0x003f, 0x003f, 0xf0e1, 0x003f, 0x003f, 0x003f,
    -    0xb5c7, 0x003f, 0x003f, 0xf0e4, 0x003f, 0x003f, 0xf0e3, 0x003f,
    -    0xf0e2, 0x003f, 0x003f, 0xebf1, 0x003f, 0xcadc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0e5, 0xf0e6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0e7, 0x003f, 0x003f, 0xf0e8, 0x003f,
    -    0xf0e9, 0x003f, 0x003f, 0xf0ea, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb4da, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf0eb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ec, 0xc7a3, 0x003f,
    -    0x003f, 0x003f, 0xf0ee, 0xb2bb, 0x003f, 0xf0f1, 0xf0f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb1a4, 0x003f, 0x003f, 0x003f, 0xb6c1,
    -    /* 0x9800 .. 0x98ff */
    -    0x003f, 0xcac7, 0xc4ba, 0xbaa2, 0x003f, 0xb9e0, 0xbde7, 0x003f,
    -    0xbfdc, 0x003f, 0x003f, 0x003f, 0xf0f3, 0x003f, 0x003f, 0xf0f2,
    -    0xcdc2, 0xb4e8, 0xc8d2, 0xc6dc, 0x003f, 0x003f, 0x003f, 0xbffc,
    -    0xcece, 0x003f, 0xb7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf0f6, 0x003f, 0x003f, 0xf0f5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcbcb, 0xc6ac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb1d0, 0x003f, 0x003f, 0xf0f7,
    -    0xf0f4, 0x003f, 0x003f, 0xc9d1, 0xcdea, 0xf0f8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0f9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0fb, 0xc2ea, 0xb3db, 0xb3dc, 0xf0fa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb4e9, 0xb8b2, 0x003f, 0x003f,
    -    0xb4ea, 0x003f, 0x003f, 0xc5bf, 0x003f, 0x003f, 0xcee0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8dc,
    -    0x003f, 0x003f, 0x003f, 0xf0fc, 0x003f, 0x003f, 0x003f, 0xf0fd,
    -    0xf0fe, 0xf1a1, 0x003f, 0xf1a3, 0xf1a2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc9f7, 0x003f, 0xf1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a5,
    -    0x003f, 0xf1a6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf1a9, 0xf1a8, 0x003f, 0xf1aa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc8f4, 0xe6cc, 0x003f, 0x003f, 0xbfa9,
    -    0x003f, 0x003f, 0xb5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf1ab, 0x003f, 0xf1ac, 0x003f, 0xd2ac, 0xddbb, 0xc8d3,
    -    0x003f, 0x003f, 0xb0fb, 0x003f, 0xb0bb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbbf4, 0xcbb0, 0xbefe, 0x003f,
    -    /* 0x9900 .. 0x99ff */
    -    0x003f, 0x003f, 0x003f, 0xf1ad, 0x003f, 0xccdf, 0x003f, 0x003f,
    -    0x003f, 0xf1ae, 0xcddc, 0x003f, 0xb1c2, 0x003f, 0x003f, 0x003f,
    -    0xbbc1, 0x003f, 0xf1af, 0xb2ee, 0xf1b0, 0x003f, 0x003f, 0x003f,
    -    0xf1b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1b3, 0xf1b4, 0x003f,
    -    0xf1b6, 0xf1b2, 0x003f, 0x003f, 0xf1b5, 0x003f, 0x003f, 0x003f,
    -    0xb4db, 0x003f, 0x003f, 0x003f, 0xf1b7, 0x003f, 0xf1b8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1b9, 0xf1ba, 0x003f,
    -    0x003f, 0x003f, 0xf1bb, 0x003f, 0x003f, 0xf1bd, 0x003f, 0x003f,
    -    0x003f, 0xf1bc, 0x003f, 0xf1bf, 0xf1c2, 0x003f, 0x003f, 0x003f,
    -    0xf1be, 0xf1c0, 0xf1c1, 0x003f, 0x003f, 0xf1c3, 0x003f, 0xb6c2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcf3, 0xf1c4,
    -    0xf1c5, 0xb9e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1c6, 0x003f, 0x003f,
    -    0xb3be, 0x003f, 0x003f, 0x003f, 0xc7cf, 0xf1c7, 0xf1c8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc3da, 0xc6eb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf1c9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc7fd, 0x003f, 0x003f, 0xc2cc, 0xb1d8, 0xb6ee, 0x003f,
    -    0xb6ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc3f3, 0xf1ce, 0xb6f0, 0x003f, 0x003f, 0xb2ef, 0x003f, 0x003f,
    -    0xf1cd, 0x003f, 0x003f, 0xf1cb, 0x003f, 0xf1cc, 0x003f, 0xf1ca,
    -    0x003f, 0x003f, 0xf1d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1cf, 0xf1d0, 0x003f,
    -    0x003f, 0xf1d1, 0xf1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf1d4, 0x003f, 0x003f, 0xf1d3, 0x003f, 0x003f, 0x003f, 0xbdd9,
    -    /* 0x9a00 .. 0x9aff */
    -    0x003f, 0xf1d5, 0x003f, 0x003f, 0x003f, 0xf1d7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5b3, 0xf1d6,
    -    0x003f, 0x003f, 0xc1fb, 0xb8b3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf1d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc2cd, 0x003f, 0x003f, 0xf1da, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc6ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1db,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e0, 0x003f,
    -    0xf1de, 0x003f, 0xf1dd, 0xf1df, 0x003f, 0xf1dc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e1, 0x003f, 0xf1e4,
    -    0x003f, 0x003f, 0xb6c3, 0xf1e3, 0x003f, 0x003f, 0x003f, 0xf1e5,
    -    0x003f, 0x003f, 0xf1e6, 0x003f, 0xf1e8, 0xf1e7, 0x003f, 0x003f,
    -    0x003f, 0xf1e9, 0xf1eb, 0xf1ea, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ec, 0x003f, 0x003f,
    -    0xf1ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb3bc, 0x003f, 0x003f, 0x003f, 0xf1ee, 0x003f, 0x003f, 0x003f,
    -    0xf1ef, 0x003f, 0x003f, 0x003f, 0xbff1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1f0,
    -    0x003f, 0xf1f1, 0x003f, 0xf1f2, 0xf1f3, 0x003f, 0x003f, 0x003f,
    -    0xb9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1f4, 0xf1f5,
    -    0x003f, 0x003f, 0xf1f6, 0xf1f7, 0x003f, 0x003f, 0xf1f8, 0x003f,
    -    0x003f, 0x003f, 0xc8b1, 0xf1fa, 0x003f, 0xc9a6, 0xf1fb, 0xf1f9,
    -    0x003f, 0xf1fd, 0x003f, 0x003f, 0xf1fc, 0x003f, 0x003f, 0xf1fe,
    -    0x003f, 0x003f, 0x003f, 0xf2a1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9b00 .. 0x9bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2a3, 0x003f, 0xf2a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a5,
    -    0x003f, 0x003f, 0xf2a6, 0xf2a7, 0x003f, 0xf2a8, 0x003f, 0xf2a9,
    -    0xf2aa, 0xf2ab, 0xf2ac, 0x003f, 0x003f, 0x003f, 0xf2ad, 0xf2ae,
    -    0x003f, 0xddb5, 0xf2af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4f8, 0xb5b4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3a1, 0xbab2, 0xf2b1, 0xf2b0, 0xcca5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2b3, 0xf2b4, 0xf2b2,
    -    0x003f, 0xf2b5, 0x003f, 0x003f, 0xcbe2, 0x003f, 0x003f, 0x003f,
    -    0xf2b6, 0x003f, 0xb5fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf2b7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf2b9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0be, 0x003f,
    -    0x003f, 0xf2ba, 0xcaab, 0xf2b8, 0x003f, 0x003f, 0xf2bb, 0xf2bc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2bd,
    -    0xf2be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2bf, 0x003f, 0xcbee, 0xbbad, 0x003f, 0xbafa, 0xc1af, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf2c0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf2c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c4, 0x003f,
    -    0x003f, 0xb8f1, 0xf2c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c5,
    -    0x003f, 0xf2c6, 0xf2c7, 0x003f, 0xf2cb, 0x003f, 0xbbaa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc2e4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf2cc, 0xf2c9, 0xf2c8, 0xf2ca, 0x003f, 0x003f, 0x003f,
    -    0xb7df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2d0, 0xf2cf, 0xf2ce, 0x003f, 0x003f, 0xb0b3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9c00 .. 0x9cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf2da, 0x003f, 0xf2d6, 0x003f,
    -    0xf2d7, 0xf2d3, 0xf2d9, 0x003f, 0xf2d5, 0xb3e2, 0x003f, 0x003f,
    -    0xcfcc, 0x003f, 0xf2d8, 0xf2d4, 0xf2d2, 0xf2d1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf2dc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf2df, 0x003f, 0x003f, 0xf2de, 0xf2dd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9c9, 0xf2db, 0xb0f3,
    -    0xf2e0, 0x003f, 0xf2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3ef, 0xf2cd, 0xb1b7, 0x003f, 0x003f, 0xf2e4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e3, 0xf2e1,
    -    0xc3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcbf0, 0x003f, 0x003f, 0x003f, 0x003f, 0xceda,
    -    0x003f, 0x003f, 0xf2e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e8, 0x003f,
    -    0xf2e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4bb, 0x003f, 0xf2ea,
    -    0x003f, 0xc8b7, 0x003f, 0xf2ef, 0xf2eb, 0x003f, 0x003f, 0x003f,
    -    0xf2ec, 0x003f, 0x003f, 0xcbb1, 0xccc4, 0x003f, 0xc6d0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9d00 .. 0x9dff */
    -    0x003f, 0x003f, 0x003f, 0xf2f0, 0x003f, 0x003f, 0xf2f1, 0xc6be,
    -    0xf2ee, 0xf2ed, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2aa, 0x003f,
    -    0x003f, 0x003f, 0xf2f9, 0x003f, 0x003f, 0xf2f8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb1f5, 0x003f, 0x003f, 0x003f, 0xf2f6,
    -    0x003f, 0x003f, 0x003f, 0xf2f5, 0x003f, 0x003f, 0xf2f3, 0x003f,
    -    0xb3fb, 0x003f, 0xf2f2, 0xbcb2, 0xb2a9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb9e3, 0x003f, 0x003f, 0xf2fc, 0xf2fb,
    -    0x003f, 0xf2fa, 0x003f, 0x003f, 0xf2f7, 0x003f, 0xf2fd, 0x003f,
    -    0xf2fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf3a5, 0xf3a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3a6, 0x003f, 0x003f, 0xb1ad, 0xf3a1, 0xf3a2, 0x003f,
    -    0xb9f4, 0xccb9, 0x003f, 0x003f, 0xf3a3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcbb2, 0x003f, 0x003f, 0xf3ab,
    -    0x003f, 0x003f, 0xf3a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a9,
    -    0x003f, 0xf3a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7dc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3ae, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3af, 0x003f, 0xf3aa, 0x003f, 0x003f, 0x003f, 0xf2f4,
    -    0x003f, 0x003f, 0xf3b0, 0x003f, 0xc4e1, 0x003f, 0x003f, 0x003f,
    -    0xf3b4, 0x003f, 0xf3b5, 0xf3b3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3b2, 0xf3b8, 0x003f, 0xf3b1, 0x003f, 0xf3b6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3b7,
    -    0x003f, 0x003f, 0x003f, 0xf3ba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3bc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3bd, 0x003f, 0xf3be,
    -    0x003f, 0x003f, 0xcfc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf3bb, 0xc2eb, 0xbaed, 0x003f, 0x003f, 0xf3bf, 0x003f, 0x003f,
    -    /* 0x9e00 .. 0x9eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3c0, 0xf3c1, 0x003f, 0x003f, 0xf3c2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3c3, 0x003f, 0x003f,
    -    0xb8b4, 0xf3c4, 0x003f, 0x003f, 0x003f, 0xf3c5, 0x003f, 0xbcaf,
    -    0x003f, 0xf3c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf3c7, 0x003f, 0x003f, 0xf3c8, 0xf3c9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3cc, 0xf3ca, 0xcfbc, 0x003f, 0xf3cb, 0x003f, 0xceef,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3cd, 0x003f, 0xcedb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3ce, 0xc7fe, 0x003f,
    -    0x003f, 0xf3cf, 0xf3d1, 0x003f, 0x003f, 0xf3d2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf3d0, 0xb9ed, 0xcccd, 0xcbe3, 0xd6f7, 0x003f, 0xdde0, 0xcbfb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb2ab, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3d4, 0xb5d0, 0xf3d5, 0xf3d6,
    -    0xf3d7, 0x003f, 0xb9f5, 0x003f, 0xf3d8, 0x003f, 0x003f, 0x003f,
    -    0xe0d4, 0xccdb, 0x003f, 0xc2e3, 0xf3d9, 0xf3db, 0xf3da, 0x003f,
    -    0xf3dc, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3dd, 0x003f, 0x003f,
    -    0xf3de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3df,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3e0, 0x003f, 0xf3e1, 0xf3e2,
    -    0x003f, 0xf3e3, 0x003f, 0xf3e4, 0xf3e5, 0xf3e6, 0x003f, 0x003f,
    -    /* 0x9f00 .. 0x9fff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e7,
    -    0xf3e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5a4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb8dd, 0x003f, 0xf3ea, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc1cd, 0xf3eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3ec, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xc9a1, 0x003f, 0x003f, 0xf3ed, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3ee, 0xe3b7, 0x003f, 0x003f, 0xecda, 0xf0ed,
    -    0x003f, 0x003f, 0xf3ef, 0x003f, 0xf3f0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3f2,
    -    0xf3f3, 0xf3f4, 0xcef0, 0xf3f1, 0x003f, 0x003f, 0xf3f5, 0xf3f6,
    -    0x003f, 0x003f, 0xf3f8, 0x003f, 0xf3f7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3fa, 0x003f, 0x003f, 0x003f, 0xf3fb, 0xf3f9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceb6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3fd, 0xe3d4, 0x003f, 0x003f,
    -    0xf3fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xf900 .. 0xf9ff */
    -    0xecb1, 0xb9b9, 0xbcd6, 0xeccb, 0xb3ea, 0xb6fa, 0xb6e7, 0xf3fd,
    -    0xf3fd, 0xb7c0, 0xb6e2, 0xd3c9, 0xc6e0, 0xd8f1, 0xe1fa, 0xcde5,
    -    0xe9c7, 0xcde6, 0xcde7, 0xeeb6, 0xdcdb, 0xcdec, 0xdfe0, 0xe0e4,
    -    0xcdee, 0xcdef, 0xf1d1, 0xd0ac, 0xcdf1, 0xcdf3, 0xe0a5, 0xcdf6,
    -    0xf3c2, 0xcdf2, 0xcdf4, 0xcdf5, 0xeba2, 0xd9c7, 0xe7c4, 0x003f,
    -    0xcfad, 0xcfaf, 0xcfb2, 0xcfb5, 0xcfba, 0xd0d4, 0xcee4, 0xd2a9,
    -    0x003f, 0xcfa6, 0xe0a4, 0xe2ba, 0xcfb7, 0xe9c3, 0xceba, 0xcfa9,
    -    0xcfaa, 0xcfa5, 0xbaed, 0xe2f1, 0xe3b3, 0x003f, 0x003f, 0x003f,
    -    0xbcaf, 0xcfc0, 0xd4e2, 0xcfae, 0xe4c6, 0xcfb8, 0xcfb4, 0xe2fd,
    -    0xcfa8, 0xcdeb, 0xd4de, 0x003f, 0xdcec, 0x003f, 0xcfb3, 0xcedf,
    -    0xe5df, 0xeffb, 0xf0d5, 0xcfbe, 0xf4a5, 0xcebf, 0xcec7, 0xb0bd,
    -    0xc9a9, 0xcecd, 0xeca6, 0xd9bc, 0xdcdb, 0xc2fa, 0xc3b0, 0xc7ab,
    -    0xc5dc, 0xcea8, 0xb0db, 0xcbcc, 0x003f, 0xcad8, 0xc9fc, 0xc9d4,
    -    0xc8e7, 0xdacb, 0xbaf7, 0xd2d4, 0xbac9, 0xbeca, 0xcdd5, 0x003f,
    -    0xbba6, 0xc3a4, 0xc4c0, 0xbda6, 0xbce3, 0xceab, 0xceac, 0xcebc,
    -    0xd1c0, 0xd1da, 0xcec2, 0xcec8, 0xcec9, 0xceca, 0xcecc, 0xd2af,
    -    0xcfa4, 0xbdf7, 0xd7aa, 0xceb9, 0xdfc9, 0xe2ea, 0xefe3, 0xf1eb,
    -    0xceef, 0xf3d5, 0xcecf, 0x003f, 0x003f, 0xede0, 0xc7af, 0xcef9,
    -    0xd8f8, 0xc7b2, 0xcefa, 0xcefb, 0x003f, 0x003f, 0xcefd, 0xcefe,
    -    0xedd3, 0xcfa1, 0xcfa2, 0x003f, 0xcef3, 0xcef4, 0xb0f6, 0xcef5,
    -    0xcef6, 0x003f, 0xcef7, 0xc7b0, 0xc7b1, 0x003f, 0xcefc, 0xe0da,
    -    0xcee1, 0xd3fa, 0xc7ab, 0xcee6, 0xcee7, 0xcee8, 0xe0f2, 0xe6b9,
    -    0xe6d9, 0xceeb, 0xceed, 0xf0cd, 0xcece, 0xcee3, 0xe3b9, 0xeed4,
    -    0xf0b1, 0xd8a8, 0xcebb, 0xcebd, 0xcec0, 0xc7a2, 0xcec1, 0xdcdb,
    -    0xdff9, 0xcec5, 0xe8fa, 0xcecb, 0xceb6, 0xdaf4, 0xeff6, 0xcead,
    -    0x003f, 0xccf8, 0xceae, 0xceaf, 0xceb0, 0xceb1, 0xceb2, 0xc9b3,
    -    0xcee0, 0xcfbb, 0xd9a4, 0xcea6, 0xced1, 0xd6c6, 0xdecd, 0xced8,
    -    0xcea7, 0xd8cb, 0xb7aa, 0xcea8, 0xceb4, 0xcdf8, 0xcdf9, 0xcdfa,
    -    0xb0d7, 0xcdfb, 0xcdfc, 0xc5a5, 0xcdfd, 0xcea1, 0xd8ed, 0xcea2,
    -    0xcea3, 0xcea4, 0xcea5, 0xc6bf, 0xc5ae, 0xd2e7, 0xced5, 0x003f,
    -    0xe9c2, 0xced9, 0xceda, 0xcedb, 0xced3, 0xced4, 0xced7, 0xcea9,
    -    0xb3de, 0xceb3, 0x003f, 0xdfd5, 0xbcb1, 0xbdba, 0xc3e3, 0xbbc9,
    -    /* 0xfa00 .. 0xfaff */
    -    0xc0da, 0xc5d9, 0xc2f3, 0xc5fc, 0xc2f0, 0xc6b6, 0xcbbd, 0xedd5,
    -    0xb9d4, 0xb9df, 0xb8ab, 0xb3c7, 0xd1ba, 0x003f, 0x003f, 0x003f,
    -    0xc4cd, 0x003f, 0xc0b2, 0x003f, 0x003f, 0x003f, 0xc3f6, 0xb1d7,
    -    0xcee9, 0xbfc0, 0xbecd, 0xcaa1, 0xccf7, 0xc0ba, 0xb1a9, 0x003f,
    -    0x003f, 0x003f, 0xbdf4, 0x003f, 0x003f, 0xb0ef, 0xc5d4, 0x003f,
    -    0x003f, 0x003f, 0xc8d3, 0xbbf4, 0xb4db, 0xc4e1, 0x003f, 0x003f,
    -    0xc9ee, 0xc1ce, 0xccc8, 0xcad9, 0xb6d0, 0xc8dc, 0xb3e5, 0xc3b2,
    -    0xb4ef, 0xcabd, 0xcbcf, 0xc1d8, 0xd6a5, 0xb2f9, 0xb3b4, 0xc1fe,
    -    0xc4a8, 0xc9d2, 0xb4fb, 0xbdeb, 0xc7df, 0xb3a4, 0xbded, 0xb4c1,
    -    0xbcd1, 0x003f, 0xc2f6, 0xc8ea, 0xbcd2, 0xbbe3, 0xb5a7, 0xcdb4,
    -    0xc1c4, 0xbdcb, 0xb2d2, 0xc4f7, 0xb9f2, 0xc6cd, 0xc0e1, 0xcefd,
    -    0xe5d6, 0xc8cb, 0xbdf0, 0xbcd4, 0xbdad, 0x003f, 0x003f, 0xc3f8,
    -    0xb3ec, 0xbbeb, 0xb1da, 0xb6e0, 0xc9d0, 0xc2a3, 0x003f, 0xb0ef,
    -    0xc6f1, 0xb6c1, 0xc9d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x007e, 0x007e, 0x007e, 0x007e, 0x005f, 0x005f, 0x005f,
    -    0x002c, 0xa1a2, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,
    -    0xa1bd, 0x0028, 0x0029, 0x007b, 0x007d, 0xa1cc, 0xa1cd, 0x0023,
    -    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,
    -    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xff00 .. 0xffff */
    -    0x003f, 0xa1aa, 0x0022, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0x0027,
    -    0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0x002d, 0xa1a5, 0xa1bf,
    -    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,
    -    0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9,
    -    0xa1f7, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,
    -    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,
    -    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,
    -    0xa3d8, 0xa3d9, 0xa3da, 0xa1ce, 0xa1c0, 0xa1cf, 0xa1b0, 0xa1b2,
    -    0xa1ae, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,
    -    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,
    -    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,
    -    0xa3f8, 0xa3f9, 0xa3fa, 0xa1d0, 0xa1c3, 0xa1d1, 0x007e, 0x003f,
    -    0x003f, 0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7,
    -    0x8ea8, 0x8ea9, 0x8eaa, 0x8eab, 0x8eac, 0x8ead, 0x8eae, 0x8eaf,
    -    0x8eb0, 0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7,
    -    0x8eb8, 0x8eb9, 0x8eba, 0x8ebb, 0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf,
    -    0x8ec0, 0x8ec1, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7,
    -    0x8ec8, 0x8ec9, 0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf,
    -    0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7,
    -    0x8ed8, 0x8ed9, 0x8eda, 0x8edb, 0x8edc, 0x8edd, 0x8ede, 0x8edf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1f1, 0xa1f2, 0xa2cc, 0xa1b1, 0x007c, 0xa1ef, 0x003f, 0x003f,
    -    0xa8a2, 0xa2ab, 0xa2ac, 0xa2aa, 0xa2ad, 0xa2a3, 0xa1fb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* defaults */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0f00, 0x1000,
    -    0x1100, 0x1200, 0x1300, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x1400, 0x1500,
    -    0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00,
    -    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,
    -    0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00,
    -    0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500,
    -    0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00,
    -    0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500,
    -    0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00,
    -    0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500,
    -    0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00,
    -    0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6600, 0x6700, 0x6800, 0x6b00, 0x6b00, 0x6900, 0x6a00
    -};
    -
    -const struct dbcs_table cptable_20932 =
    -{
    -    { 20932, 2, 0x003f, 0x003f, "EUC-JP" },
    -    cp2uni,
    -    cp2uni_leadbytes,
    -    uni2cp_low,
    -    uni2cp_high,
    -    { 0x8e, 0x8f, 0xa1, 0xfe, 0x00, 0x00 }
    -};
    +/* code page 20932 (EUC-JP) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[20480] =
    +{
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0000, 0x0000,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 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, 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, 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, 0x003f,
    +    /* unused lead bytes */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 8e */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 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,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x3000, 0x3001, 0x3002, 0xff0c, 0xff0e, 0x30fb, 0xff1a,
    +    0xff1b, 0xff1f, 0xff01, 0x309b, 0x309c, 0x00b4, 0xff40, 0x00a8,
    +    0xff3e, 0xffe3, 0xff3f, 0x30fd, 0x30fe, 0x309d, 0x309e, 0x3003,
    +    0x4edd, 0x3005, 0x3006, 0x3007, 0x30fc, 0x2015, 0x2010, 0xff0f,
    +    0xff3c, 0x301c, 0x2016, 0xff5c, 0x2026, 0x2025, 0x2018, 0x2019,
    +    0x201c, 0x201d, 0xff08, 0xff09, 0x3014, 0x3015, 0xff3b, 0xff3d,
    +    0xff5b, 0xff5d, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d,
    +    0x300e, 0x300f, 0x3010, 0x3011, 0xff0b, 0x2212, 0x00b1, 0x00d7,
    +    0x00f7, 0xff1d, 0x2260, 0xff1c, 0xff1e, 0x2266, 0x2267, 0x221e,
    +    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xffe5,
    +    0xff04, 0x00a2, 0x00a3, 0xff05, 0xff03, 0xff06, 0xff0a, 0xff20,
    +    0x00a7, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x003f,
    +    /* lead byte a2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x25c6, 0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc,
    +    0x203b, 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283,
    +    0x222a, 0x2229, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x2227, 0x2228, 0x00ac, 0x21d2, 0x21d4, 0x2200,
    +    0x2203, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x2220, 0x22a5, 0x2312, 0x2202,
    +    0x2207, 0x2261, 0x2252, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d,
    +    0x2235, 0x222b, 0x222c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x212b, 0x2030, 0x266f, 0x266d, 0x266a, 0x2020,
    +    0x2021, 0x00b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x25ef, 0x003f,
    +    /* lead byte a3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,
    +    0xff18, 0xff19, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,
    +    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,
    +    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
    +    0xff38, 0xff39, 0xff3a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    +    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    +    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    +    0xff58, 0xff59, 0xff5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,
    +    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
    +    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
    +    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
    +    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,
    +    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,
    +    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,
    +    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
    +    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,
    +    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,
    +    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,
    +    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,
    +    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,
    +    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,
    +    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,
    +    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,
    +    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,
    +    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,
    +    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    +    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    +    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    +    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    +    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,
    +    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    +    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    +    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    +    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,
    +    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,
    +    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,
    +    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,
    +    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,
    +    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,
    +    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    +    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    +    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c,
    +    0x252c, 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513,
    +    0x251b, 0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520,
    +    0x252f, 0x2528, 0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538,
    +    0x2542, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte b0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x4e9c, 0x5516, 0x5a03, 0x963f, 0x54c0, 0x611b, 0x6328,
    +    0x59f6, 0x9022, 0x8475, 0x831c, 0x7a50, 0x60aa, 0x63e1, 0x6e25,
    +    0x65ed, 0x8466, 0x82a6, 0x9bf5, 0x6893, 0x5727, 0x65a1, 0x6271,
    +    0x5b9b, 0x59d0, 0x867b, 0x98f4, 0x7d62, 0x7dbe, 0x9b8e, 0x6216,
    +    0x7c9f, 0x88b7, 0x5b89, 0x5eb5, 0x6309, 0x6697, 0x6848, 0x95c7,
    +    0x978d, 0x674f, 0x4ee5, 0x4f0a, 0x4f4d, 0x4f9d, 0x5049, 0x56f2,
    +    0x5937, 0x59d4, 0x5a01, 0x5c09, 0x60df, 0x610f, 0x6170, 0x6613,
    +    0x6905, 0x70ba, 0x754f, 0x7570, 0x79fb, 0x7dad, 0x7def, 0x80c3,
    +    0x840e, 0x8863, 0x8b02, 0x9055, 0x907a, 0x533b, 0x4e95, 0x4ea5,
    +    0x57df, 0x80b2, 0x90c1, 0x78ef, 0x4e00, 0x58f1, 0x6ea2, 0x9038,
    +    0x7a32, 0x8328, 0x828b, 0x9c2f, 0x5141, 0x5370, 0x54bd, 0x54e1,
    +    0x56e0, 0x59fb, 0x5f15, 0x98f2, 0x6deb, 0x80e4, 0x852d, 0x003f,
    +    /* lead byte b1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9662, 0x9670, 0x96a0, 0x97fb, 0x540b, 0x53f3, 0x5b87,
    +    0x70cf, 0x7fbd, 0x8fc2, 0x96e8, 0x536f, 0x9d5c, 0x7aba, 0x4e11,
    +    0x7893, 0x81fc, 0x6e26, 0x5618, 0x5504, 0x6b1d, 0x851a, 0x9c3b,
    +    0x59e5, 0x53a9, 0x6d66, 0x74dc, 0x958f, 0x5642, 0x4e91, 0x904b,
    +    0x96f2, 0x834f, 0x990c, 0x53e1, 0x55b6, 0x5b30, 0x5f71, 0x6620,
    +    0x66f3, 0x6804, 0x6c38, 0x6cf3, 0x6d29, 0x745b, 0x76c8, 0x7a4e,
    +    0x9834, 0x82f1, 0x885b, 0x8a60, 0x92ed, 0x6db2, 0x75ab, 0x76ca,
    +    0x99c5, 0x60a6, 0x8b01, 0x8d8a, 0x95b2, 0x698e, 0x53ad, 0x5186,
    +    0x5712, 0x5830, 0x5944, 0x5bb4, 0x5ef6, 0x6028, 0x63a9, 0x63f4,
    +    0x6cbf, 0x6f14, 0x708e, 0x7114, 0x7159, 0x71d5, 0x733f, 0x7e01,
    +    0x8276, 0x82d1, 0x8597, 0x9060, 0x925b, 0x9d1b, 0x5869, 0x65bc,
    +    0x6c5a, 0x7525, 0x51f9, 0x592e, 0x5965, 0x5f80, 0x5fdc, 0x003f,
    +    /* lead byte b2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x62bc, 0x65fa, 0x6a2a, 0x6b27, 0x6bb4, 0x738b, 0x7fc1,
    +    0x8956, 0x9d2c, 0x9d0e, 0x9ec4, 0x5ca1, 0x6c96, 0x837b, 0x5104,
    +    0x5c4b, 0x61b6, 0x81c6, 0x6876, 0x7261, 0x4e59, 0x4ffa, 0x5378,
    +    0x6069, 0x6e29, 0x7a4f, 0x97f3, 0x4e0b, 0x5316, 0x4eee, 0x4f55,
    +    0x4f3d, 0x4fa1, 0x4f73, 0x52a0, 0x53ef, 0x5609, 0x590f, 0x5ac1,
    +    0x5bb6, 0x5be1, 0x79d1, 0x6687, 0x679c, 0x67b6, 0x6b4c, 0x6cb3,
    +    0x706b, 0x73c2, 0x798d, 0x79be, 0x7a3c, 0x7b87, 0x82b1, 0x82db,
    +    0x8304, 0x8377, 0x83ef, 0x83d3, 0x8766, 0x8ab2, 0x5629, 0x8ca8,
    +    0x8fe6, 0x904e, 0x971e, 0x868a, 0x4fc4, 0x5ce8, 0x6211, 0x7259,
    +    0x753b, 0x81e5, 0x82bd, 0x86fe, 0x8cc0, 0x96c5, 0x9913, 0x99d5,
    +    0x4ecb, 0x4f1a, 0x89e3, 0x56de, 0x584a, 0x58ca, 0x5efb, 0x5feb,
    +    0x602a, 0x6094, 0x6062, 0x61d0, 0x6212, 0x62d0, 0x6539, 0x003f,
    +    /* lead byte b3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9b41, 0x6666, 0x68b0, 0x6d77, 0x7070, 0x754c, 0x7686,
    +    0x7d75, 0x82a5, 0x87f9, 0x958b, 0x968e, 0x8c9d, 0x51f1, 0x52be,
    +    0x5916, 0x54b3, 0x5bb3, 0x5d16, 0x6168, 0x6982, 0x6daf, 0x788d,
    +    0x84cb, 0x8857, 0x8a72, 0x93a7, 0x9ab8, 0x6d6c, 0x99a8, 0x86d9,
    +    0x57a3, 0x67ff, 0x86ce, 0x920e, 0x5283, 0x5687, 0x5404, 0x5ed3,
    +    0x62e1, 0x64b9, 0x683c, 0x6838, 0x6bbb, 0x7372, 0x78ba, 0x7a6b,
    +    0x899a, 0x89d2, 0x8d6b, 0x8f03, 0x90ed, 0x95a3, 0x9694, 0x9769,
    +    0x5b66, 0x5cb3, 0x697d, 0x984d, 0x984e, 0x639b, 0x7b20, 0x6a2b,
    +    0x6a7f, 0x68b6, 0x9c0d, 0x6f5f, 0x5272, 0x559d, 0x6070, 0x62ec,
    +    0x6d3b, 0x6e07, 0x6ed1, 0x845b, 0x8910, 0x8f44, 0x4e14, 0x9c39,
    +    0x53f6, 0x691b, 0x6a3a, 0x9784, 0x682a, 0x515c, 0x7ac3, 0x84b2,
    +    0x91dc, 0x938c, 0x565b, 0x9d28, 0x6822, 0x8305, 0x8431, 0x003f,
    +    /* lead byte b4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7ca5, 0x5208, 0x82c5, 0x74e6, 0x4e7e, 0x4f83, 0x51a0,
    +    0x5bd2, 0x520a, 0x52d8, 0x52e7, 0x5dfb, 0x559a, 0x582a, 0x59e6,
    +    0x5b8c, 0x5b98, 0x5bdb, 0x5e72, 0x5e79, 0x60a3, 0x611f, 0x6163,
    +    0x61be, 0x63db, 0x6562, 0x67d1, 0x6853, 0x68fa, 0x6b3e, 0x6b53,
    +    0x6c57, 0x6f22, 0x6f97, 0x6f45, 0x74b0, 0x7518, 0x76e3, 0x770b,
    +    0x7aff, 0x7ba1, 0x7c21, 0x7de9, 0x7f36, 0x7ff0, 0x809d, 0x8266,
    +    0x839e, 0x89b3, 0x8acc, 0x8cab, 0x9084, 0x9451, 0x9593, 0x9591,
    +    0x95a2, 0x9665, 0x97d3, 0x9928, 0x8218, 0x4e38, 0x542b, 0x5cb8,
    +    0x5dcc, 0x73a9, 0x764c, 0x773c, 0x5ca9, 0x7feb, 0x8d0b, 0x96c1,
    +    0x9811, 0x9854, 0x9858, 0x4f01, 0x4f0e, 0x5371, 0x559c, 0x5668,
    +    0x57fa, 0x5947, 0x5b09, 0x5bc4, 0x5c90, 0x5e0c, 0x5e7e, 0x5fcc,
    +    0x63ee, 0x673a, 0x65d7, 0x65e2, 0x671f, 0x68cb, 0x68c4, 0x003f,
    +    /* lead byte b5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6a5f, 0x5e30, 0x6bc5, 0x6c17, 0x6c7d, 0x757f, 0x7948,
    +    0x5b63, 0x7a00, 0x7d00, 0x5fbd, 0x898f, 0x8a18, 0x8cb4, 0x8d77,
    +    0x8ecc, 0x8f1d, 0x98e2, 0x9a0e, 0x9b3c, 0x4e80, 0x507d, 0x5100,
    +    0x5993, 0x5b9c, 0x622f, 0x6280, 0x64ec, 0x6b3a, 0x72a0, 0x7591,
    +    0x7947, 0x7fa9, 0x87fb, 0x8abc, 0x8b70, 0x63ac, 0x83ca, 0x97a0,
    +    0x5409, 0x5403, 0x55ab, 0x6854, 0x6a58, 0x8a70, 0x7827, 0x6775,
    +    0x9ecd, 0x5374, 0x5ba2, 0x811a, 0x8650, 0x9006, 0x4e18, 0x4e45,
    +    0x4ec7, 0x4f11, 0x53ca, 0x5438, 0x5bae, 0x5f13, 0x6025, 0x6551,
    +    0x673d, 0x6c42, 0x6c72, 0x6ce3, 0x7078, 0x7403, 0x7a76, 0x7aae,
    +    0x7b08, 0x7d1a, 0x7cfe, 0x7d66, 0x65e7, 0x725b, 0x53bb, 0x5c45,
    +    0x5de8, 0x62d2, 0x62e0, 0x6319, 0x6e20, 0x865a, 0x8a31, 0x8ddd,
    +    0x92f8, 0x6f01, 0x79a6, 0x9b5a, 0x4ea8, 0x4eab, 0x4eac, 0x003f,
    +    /* lead byte b6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x4f9b, 0x4fa0, 0x50d1, 0x5147, 0x7af6, 0x5171, 0x51f6,
    +    0x5354, 0x5321, 0x537f, 0x53eb, 0x55ac, 0x5883, 0x5ce1, 0x5f37,
    +    0x5f4a, 0x602f, 0x6050, 0x606d, 0x631f, 0x6559, 0x6a4b, 0x6cc1,
    +    0x72c2, 0x72ed, 0x77ef, 0x80f8, 0x8105, 0x8208, 0x854e, 0x90f7,
    +    0x93e1, 0x97ff, 0x9957, 0x9a5a, 0x4ef0, 0x51dd, 0x5c2d, 0x6681,
    +    0x696d, 0x5c40, 0x66f2, 0x6975, 0x7389, 0x6850, 0x7c81, 0x50c5,
    +    0x52e4, 0x5747, 0x5dfe, 0x9326, 0x65a4, 0x6b23, 0x6b3d, 0x7434,
    +    0x7981, 0x79bd, 0x7b4b, 0x7dca, 0x82b9, 0x83cc, 0x887f, 0x895f,
    +    0x8b39, 0x8fd1, 0x91d1, 0x541f, 0x9280, 0x4e5d, 0x5036, 0x53e5,
    +    0x533a, 0x72d7, 0x7396, 0x77e9, 0x82e6, 0x8eaf, 0x99c6, 0x99c8,
    +    0x99d2, 0x5177, 0x611a, 0x865e, 0x55b0, 0x7a7a, 0x5076, 0x5bd3,
    +    0x9047, 0x9685, 0x4e32, 0x6adb, 0x91e7, 0x5c51, 0x5c48, 0x003f,
    +    /* lead byte b7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6398, 0x7a9f, 0x6c93, 0x9774, 0x8f61, 0x7aaa, 0x718a,
    +    0x9688, 0x7c82, 0x6817, 0x7e70, 0x6851, 0x936c, 0x52f2, 0x541b,
    +    0x85ab, 0x8a13, 0x7fa4, 0x8ecd, 0x90e1, 0x5366, 0x8888, 0x7941,
    +    0x4fc2, 0x50be, 0x5211, 0x5144, 0x5553, 0x572d, 0x73ea, 0x578b,
    +    0x5951, 0x5f62, 0x5f84, 0x6075, 0x6176, 0x6167, 0x61a9, 0x63b2,
    +    0x643a, 0x656c, 0x666f, 0x6842, 0x6e13, 0x7566, 0x7a3d, 0x7cfb,
    +    0x7d4c, 0x7d99, 0x7e4b, 0x7f6b, 0x830e, 0x834a, 0x86cd, 0x8a08,
    +    0x8a63, 0x8b66, 0x8efd, 0x981a, 0x9d8f, 0x82b8, 0x8fce, 0x9be8,
    +    0x5287, 0x621f, 0x6483, 0x6fc0, 0x9699, 0x6841, 0x5091, 0x6b20,
    +    0x6c7a, 0x6f54, 0x7a74, 0x7d50, 0x8840, 0x8a23, 0x6708, 0x4ef6,
    +    0x5039, 0x5026, 0x5065, 0x517c, 0x5238, 0x5263, 0x55a7, 0x570f,
    +    0x5805, 0x5acc, 0x5efa, 0x61b2, 0x61f8, 0x62f3, 0x6372, 0x003f,
    +    /* lead byte b8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x691c, 0x6a29, 0x727d, 0x72ac, 0x732e, 0x7814, 0x786f,
    +    0x7d79, 0x770c, 0x80a9, 0x898b, 0x8b19, 0x8ce2, 0x8ed2, 0x9063,
    +    0x9375, 0x967a, 0x9855, 0x9a13, 0x9e78, 0x5143, 0x539f, 0x53b3,
    +    0x5e7b, 0x5f26, 0x6e1b, 0x6e90, 0x7384, 0x73fe, 0x7d43, 0x8237,
    +    0x8a00, 0x8afa, 0x9650, 0x4e4e, 0x500b, 0x53e4, 0x547c, 0x56fa,
    +    0x59d1, 0x5b64, 0x5df1, 0x5eab, 0x5f27, 0x6238, 0x6545, 0x67af,
    +    0x6e56, 0x72d0, 0x7cca, 0x88b4, 0x80a1, 0x80e1, 0x83f0, 0x864e,
    +    0x8a87, 0x8de8, 0x9237, 0x96c7, 0x9867, 0x9f13, 0x4e94, 0x4e92,
    +    0x4f0d, 0x5348, 0x5449, 0x543e, 0x5a2f, 0x5f8c, 0x5fa1, 0x609f,
    +    0x68a7, 0x6a8e, 0x745a, 0x7881, 0x8a9e, 0x8aa4, 0x8b77, 0x9190,
    +    0x4e5e, 0x9bc9, 0x4ea4, 0x4f7c, 0x4faf, 0x5019, 0x5016, 0x5149,
    +    0x516c, 0x529f, 0x52b9, 0x52fe, 0x539a, 0x53e3, 0x5411, 0x003f,
    +    /* lead byte b9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x540e, 0x5589, 0x5751, 0x57a2, 0x597d, 0x5b54, 0x5b5d,
    +    0x5b8f, 0x5de5, 0x5de7, 0x5df7, 0x5e78, 0x5e83, 0x5e9a, 0x5eb7,
    +    0x5f18, 0x6052, 0x614c, 0x6297, 0x62d8, 0x63a7, 0x653b, 0x6602,
    +    0x6643, 0x66f4, 0x676d, 0x6821, 0x6897, 0x69cb, 0x6c5f, 0x6d2a,
    +    0x6d69, 0x6e2f, 0x6e9d, 0x7532, 0x7687, 0x786c, 0x7a3f, 0x7ce0,
    +    0x7d05, 0x7d18, 0x7d5e, 0x7db1, 0x8015, 0x8003, 0x80af, 0x80b1,
    +    0x8154, 0x818f, 0x822a, 0x8352, 0x884c, 0x8861, 0x8b1b, 0x8ca2,
    +    0x8cfc, 0x90ca, 0x9175, 0x9271, 0x783f, 0x92fc, 0x95a4, 0x964d,
    +    0x9805, 0x9999, 0x9ad8, 0x9d3b, 0x525b, 0x52ab, 0x53f7, 0x5408,
    +    0x58d5, 0x62f7, 0x6fe0, 0x8c6a, 0x8f5f, 0x9eb9, 0x514b, 0x523b,
    +    0x544a, 0x56fd, 0x7a40, 0x9177, 0x9d60, 0x9ed2, 0x7344, 0x6f09,
    +    0x8170, 0x7511, 0x5ffd, 0x60da, 0x9aa8, 0x72db, 0x8fbc, 0x003f,
    +    /* lead byte ba */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6b64, 0x9803, 0x4eca, 0x56f0, 0x5764, 0x58be, 0x5a5a,
    +    0x6068, 0x61c7, 0x660f, 0x6606, 0x6839, 0x68b1, 0x6df7, 0x75d5,
    +    0x7d3a, 0x826e, 0x9b42, 0x4e9b, 0x4f50, 0x53c9, 0x5506, 0x5d6f,
    +    0x5de6, 0x5dee, 0x67fb, 0x6c99, 0x7473, 0x7802, 0x8a50, 0x9396,
    +    0x88df, 0x5750, 0x5ea7, 0x632b, 0x50b5, 0x50ac, 0x518d, 0x6700,
    +    0x54c9, 0x585e, 0x59bb, 0x5bb0, 0x5f69, 0x624d, 0x63a1, 0x683d,
    +    0x6b73, 0x6e08, 0x707d, 0x91c7, 0x7280, 0x7815, 0x7826, 0x796d,
    +    0x658e, 0x7d30, 0x83dc, 0x88c1, 0x8f09, 0x969b, 0x5264, 0x5728,
    +    0x6750, 0x7f6a, 0x8ca1, 0x51b4, 0x5742, 0x962a, 0x583a, 0x698a,
    +    0x80b4, 0x54b2, 0x5d0e, 0x57fc, 0x7895, 0x9dfa, 0x4f5c, 0x524a,
    +    0x548b, 0x643e, 0x6628, 0x6714, 0x67f5, 0x7a84, 0x7b56, 0x7d22,
    +    0x932f, 0x685c, 0x9bad, 0x7b39, 0x5319, 0x518a, 0x5237, 0x003f,
    +    /* lead byte bb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5bdf, 0x62f6, 0x64ae, 0x64e6, 0x672d, 0x6bba, 0x85a9,
    +    0x96d1, 0x7690, 0x9bd6, 0x634c, 0x9306, 0x9bab, 0x76bf, 0x6652,
    +    0x4e09, 0x5098, 0x53c2, 0x5c71, 0x60e8, 0x6492, 0x6563, 0x685f,
    +    0x71e6, 0x73ca, 0x7523, 0x7b97, 0x7e82, 0x8695, 0x8b83, 0x8cdb,
    +    0x9178, 0x9910, 0x65ac, 0x66ab, 0x6b8b, 0x4ed5, 0x4ed4, 0x4f3a,
    +    0x4f7f, 0x523a, 0x53f8, 0x53f2, 0x55e3, 0x56db, 0x58eb, 0x59cb,
    +    0x59c9, 0x59ff, 0x5b50, 0x5c4d, 0x5e02, 0x5e2b, 0x5fd7, 0x601d,
    +    0x6307, 0x652f, 0x5b5c, 0x65af, 0x65bd, 0x65e8, 0x679d, 0x6b62,
    +    0x6b7b, 0x6c0f, 0x7345, 0x7949, 0x79c1, 0x7cf8, 0x7d19, 0x7d2b,
    +    0x80a2, 0x8102, 0x81f3, 0x8996, 0x8a5e, 0x8a69, 0x8a66, 0x8a8c,
    +    0x8aee, 0x8cc7, 0x8cdc, 0x96cc, 0x98fc, 0x6b6f, 0x4e8b, 0x4f3c,
    +    0x4f8d, 0x5150, 0x5b57, 0x5bfa, 0x6148, 0x6301, 0x6642, 0x003f,
    +    /* lead byte bc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6b21, 0x6ecb, 0x6cbb, 0x723e, 0x74bd, 0x75d4, 0x78c1,
    +    0x793a, 0x800c, 0x8033, 0x81ea, 0x8494, 0x8f9e, 0x6c50, 0x9e7f,
    +    0x5f0f, 0x8b58, 0x9d2b, 0x7afa, 0x8ef8, 0x5b8d, 0x96eb, 0x4e03,
    +    0x53f1, 0x57f7, 0x5931, 0x5ac9, 0x5ba4, 0x6089, 0x6e7f, 0x6f06,
    +    0x75be, 0x8cea, 0x5b9f, 0x8500, 0x7be0, 0x5072, 0x67f4, 0x829d,
    +    0x5c61, 0x854a, 0x7e1e, 0x820e, 0x5199, 0x5c04, 0x6368, 0x8d66,
    +    0x659c, 0x716e, 0x793e, 0x7d17, 0x8005, 0x8b1d, 0x8eca, 0x906e,
    +    0x86c7, 0x90aa, 0x501f, 0x52fa, 0x5c3a, 0x6753, 0x707c, 0x7235,
    +    0x914c, 0x91c8, 0x932b, 0x82e5, 0x5bc2, 0x5f31, 0x60f9, 0x4e3b,
    +    0x53d6, 0x5b88, 0x624b, 0x6731, 0x6b8a, 0x72e9, 0x73e0, 0x7a2e,
    +    0x816b, 0x8da3, 0x9152, 0x9996, 0x5112, 0x53d7, 0x546a, 0x5bff,
    +    0x6388, 0x6a39, 0x7dac, 0x9700, 0x56da, 0x53ce, 0x5468, 0x003f,
    +    /* lead byte bd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5b97, 0x5c31, 0x5dde, 0x4fee, 0x6101, 0x62fe, 0x6d32,
    +    0x79c0, 0x79cb, 0x7d42, 0x7e4d, 0x7fd2, 0x81ed, 0x821f, 0x8490,
    +    0x8846, 0x8972, 0x8b90, 0x8e74, 0x8f2f, 0x9031, 0x914b, 0x916c,
    +    0x96c6, 0x919c, 0x4ec0, 0x4f4f, 0x5145, 0x5341, 0x5f93, 0x620e,
    +    0x67d4, 0x6c41, 0x6e0b, 0x7363, 0x7e26, 0x91cd, 0x9283, 0x53d4,
    +    0x5919, 0x5bbf, 0x6dd1, 0x795d, 0x7e2e, 0x7c9b, 0x587e, 0x719f,
    +    0x51fa, 0x8853, 0x8ff0, 0x4fca, 0x5cfb, 0x6625, 0x77ac, 0x7ae3,
    +    0x821c, 0x99ff, 0x51c6, 0x5faa, 0x65ec, 0x696f, 0x6b89, 0x6df3,
    +    0x6e96, 0x6f64, 0x76fe, 0x7d14, 0x5de1, 0x9075, 0x9187, 0x9806,
    +    0x51e6, 0x521d, 0x6240, 0x6691, 0x66d9, 0x6e1a, 0x5eb6, 0x7dd2,
    +    0x7f72, 0x66f8, 0x85af, 0x85f7, 0x8af8, 0x52a9, 0x53d9, 0x5973,
    +    0x5e8f, 0x5f90, 0x6055, 0x92e4, 0x9664, 0x50b7, 0x511f, 0x003f,
    +    /* lead byte be */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x52dd, 0x5320, 0x5347, 0x53ec, 0x54e8, 0x5546, 0x5531,
    +    0x5617, 0x5968, 0x59be, 0x5a3c, 0x5bb5, 0x5c06, 0x5c0f, 0x5c11,
    +    0x5c1a, 0x5e84, 0x5e8a, 0x5ee0, 0x5f70, 0x627f, 0x6284, 0x62db,
    +    0x638c, 0x6377, 0x6607, 0x660c, 0x662d, 0x6676, 0x677e, 0x68a2,
    +    0x6a1f, 0x6a35, 0x6cbc, 0x6d88, 0x6e09, 0x6e58, 0x713c, 0x7126,
    +    0x7167, 0x75c7, 0x7701, 0x785d, 0x7901, 0x7965, 0x79f0, 0x7ae0,
    +    0x7b11, 0x7ca7, 0x7d39, 0x8096, 0x83d6, 0x848b, 0x8549, 0x885d,
    +    0x88f3, 0x8a1f, 0x8a3c, 0x8a54, 0x8a73, 0x8c61, 0x8cde, 0x91a4,
    +    0x9266, 0x937e, 0x9418, 0x969c, 0x9798, 0x4e0a, 0x4e08, 0x4e1e,
    +    0x4e57, 0x5197, 0x5270, 0x57ce, 0x5834, 0x58cc, 0x5b22, 0x5e38,
    +    0x60c5, 0x64fe, 0x6761, 0x6756, 0x6d44, 0x72b6, 0x7573, 0x7a63,
    +    0x84b8, 0x8b72, 0x91b8, 0x9320, 0x5631, 0x57f4, 0x98fe, 0x003f,
    +    /* lead byte bf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x62ed, 0x690d, 0x6b96, 0x71ed, 0x7e54, 0x8077, 0x8272,
    +    0x89e6, 0x98df, 0x8755, 0x8fb1, 0x5c3b, 0x4f38, 0x4fe1, 0x4fb5,
    +    0x5507, 0x5a20, 0x5bdd, 0x5be9, 0x5fc3, 0x614e, 0x632f, 0x65b0,
    +    0x664b, 0x68ee, 0x699b, 0x6d78, 0x6df1, 0x7533, 0x75b9, 0x771f,
    +    0x795e, 0x79e6, 0x7d33, 0x81e3, 0x82af, 0x85aa, 0x89aa, 0x8a3a,
    +    0x8eab, 0x8f9b, 0x9032, 0x91dd, 0x9707, 0x4eba, 0x4ec1, 0x5203,
    +    0x5875, 0x58ec, 0x5c0b, 0x751a, 0x5c3d, 0x814e, 0x8a0a, 0x8fc5,
    +    0x9663, 0x976d, 0x7b25, 0x8acf, 0x9808, 0x9162, 0x56f3, 0x53a8,
    +    0x9017, 0x5439, 0x5782, 0x5e25, 0x63a8, 0x6c34, 0x708a, 0x7761,
    +    0x7c8b, 0x7fe0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968f,
    +    0x745e, 0x9ac4, 0x5d07, 0x5d69, 0x6570, 0x67a2, 0x8da8, 0x96db,
    +    0x636e, 0x6749, 0x6919, 0x83c5, 0x9817, 0x96c0, 0x88fe, 0x003f,
    +    /* lead byte c0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6f84, 0x647a, 0x5bf8, 0x4e16, 0x702c, 0x755d, 0x662f,
    +    0x51c4, 0x5236, 0x52e2, 0x59d3, 0x5f81, 0x6027, 0x6210, 0x653f,
    +    0x6574, 0x661f, 0x6674, 0x68f2, 0x6816, 0x6b63, 0x6e05, 0x7272,
    +    0x751f, 0x76db, 0x7cbe, 0x8056, 0x58f0, 0x88fd, 0x897f, 0x8aa0,
    +    0x8a93, 0x8acb, 0x901d, 0x9192, 0x9752, 0x9759, 0x6589, 0x7a0e,
    +    0x8106, 0x96bb, 0x5e2d, 0x60dc, 0x621a, 0x65a5, 0x6614, 0x6790,
    +    0x77f3, 0x7a4d, 0x7c4d, 0x7e3e, 0x810a, 0x8cac, 0x8d64, 0x8de1,
    +    0x8e5f, 0x78a9, 0x5207, 0x62d9, 0x63a5, 0x6442, 0x6298, 0x8a2d,
    +    0x7a83, 0x7bc0, 0x8aac, 0x96ea, 0x7d76, 0x820c, 0x8749, 0x4ed9,
    +    0x5148, 0x5343, 0x5360, 0x5ba3, 0x5c02, 0x5c16, 0x5ddd, 0x6226,
    +    0x6247, 0x64b0, 0x6813, 0x6834, 0x6cc9, 0x6d45, 0x6d17, 0x67d3,
    +    0x6f5c, 0x714e, 0x717d, 0x65cb, 0x7a7f, 0x7bad, 0x7dda, 0x003f,
    +    /* lead byte c1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7e4a, 0x7fa8, 0x817a, 0x821b, 0x8239, 0x85a6, 0x8a6e,
    +    0x8cce, 0x8df5, 0x9078, 0x9077, 0x92ad, 0x9291, 0x9583, 0x9bae,
    +    0x524d, 0x5584, 0x6f38, 0x7136, 0x5168, 0x7985, 0x7e55, 0x81b3,
    +    0x7cce, 0x564c, 0x5851, 0x5ca8, 0x63aa, 0x66fe, 0x66fd, 0x695a,
    +    0x72d9, 0x758f, 0x758e, 0x790e, 0x7956, 0x79df, 0x7c97, 0x7d20,
    +    0x7d44, 0x8607, 0x8a34, 0x963b, 0x9061, 0x9f20, 0x50e7, 0x5275,
    +    0x53cc, 0x53e2, 0x5009, 0x55aa, 0x58ee, 0x594f, 0x723d, 0x5b8b,
    +    0x5c64, 0x531d, 0x60e3, 0x60f3, 0x635c, 0x6383, 0x633f, 0x63bb,
    +    0x64cd, 0x65e9, 0x66f9, 0x5de3, 0x69cd, 0x69fd, 0x6f15, 0x71e5,
    +    0x4e89, 0x75e9, 0x76f8, 0x7a93, 0x7cdf, 0x7dcf, 0x7d9c, 0x8061,
    +    0x8349, 0x8358, 0x846c, 0x84bc, 0x85fb, 0x88c5, 0x8d70, 0x9001,
    +    0x906d, 0x9397, 0x971c, 0x9a12, 0x50cf, 0x5897, 0x618e, 0x003f,
    +    /* lead byte c2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x81d3, 0x8535, 0x8d08, 0x9020, 0x4fc3, 0x5074, 0x5247,
    +    0x5373, 0x606f, 0x6349, 0x675f, 0x6e2c, 0x8db3, 0x901f, 0x4fd7,
    +    0x5c5e, 0x8cca, 0x65cf, 0x7d9a, 0x5352, 0x8896, 0x5176, 0x63c3,
    +    0x5b58, 0x5b6b, 0x5c0a, 0x640d, 0x6751, 0x905c, 0x4ed6, 0x591a,
    +    0x592a, 0x6c70, 0x8a51, 0x553e, 0x5815, 0x59a5, 0x60f0, 0x6253,
    +    0x67c1, 0x8235, 0x6955, 0x9640, 0x99c4, 0x9a28, 0x4f53, 0x5806,
    +    0x5bfe, 0x8010, 0x5cb1, 0x5e2f, 0x5f85, 0x6020, 0x614b, 0x6234,
    +    0x66ff, 0x6cf0, 0x6ede, 0x80ce, 0x817f, 0x82d4, 0x888b, 0x8cb8,
    +    0x9000, 0x902e, 0x968a, 0x9edb, 0x9bdb, 0x4ee3, 0x53f0, 0x5927,
    +    0x7b2c, 0x918d, 0x984c, 0x9df9, 0x6edd, 0x7027, 0x5353, 0x5544,
    +    0x5b85, 0x6258, 0x629e, 0x62d3, 0x6ca2, 0x6fef, 0x7422, 0x8a17,
    +    0x9438, 0x6fc1, 0x8afe, 0x8338, 0x51e7, 0x86f8, 0x53ea, 0x003f,
    +    /* lead byte c3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x53e9, 0x4f46, 0x9054, 0x8fb0, 0x596a, 0x8131, 0x5dfd,
    +    0x7aea, 0x8fbf, 0x68da, 0x8c37, 0x72f8, 0x9c48, 0x6a3d, 0x8ab0,
    +    0x4e39, 0x5358, 0x5606, 0x5766, 0x62c5, 0x63a2, 0x65e6, 0x6b4e,
    +    0x6de1, 0x6e5b, 0x70ad, 0x77ed, 0x7aef, 0x7baa, 0x7dbb, 0x803d,
    +    0x80c6, 0x86cb, 0x8a95, 0x935b, 0x56e3, 0x58c7, 0x5f3e, 0x65ad,
    +    0x6696, 0x6a80, 0x6bb5, 0x7537, 0x8ac7, 0x5024, 0x77e5, 0x5730,
    +    0x5f1b, 0x6065, 0x667a, 0x6c60, 0x75f4, 0x7a1a, 0x7f6e, 0x81f4,
    +    0x8718, 0x9045, 0x99b3, 0x7bc9, 0x755c, 0x7af9, 0x7b51, 0x84c4,
    +    0x9010, 0x79e9, 0x7a92, 0x8336, 0x5ae1, 0x7740, 0x4e2d, 0x4ef2,
    +    0x5b99, 0x5fe0, 0x62bd, 0x663c, 0x67f1, 0x6ce8, 0x866b, 0x8877,
    +    0x8a3b, 0x914e, 0x92f3, 0x99d0, 0x6a17, 0x7026, 0x732a, 0x82e7,
    +    0x8457, 0x8caf, 0x4e01, 0x5146, 0x51cb, 0x558b, 0x5bf5, 0x003f,
    +    /* lead byte c4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5e16, 0x5e33, 0x5e81, 0x5f14, 0x5f35, 0x5f6b, 0x5fb4,
    +    0x61f2, 0x6311, 0x66a2, 0x671d, 0x6f6e, 0x7252, 0x753a, 0x773a,
    +    0x8074, 0x8139, 0x8178, 0x8776, 0x8abf, 0x8adc, 0x8d85, 0x8df3,
    +    0x929a, 0x9577, 0x9802, 0x9ce5, 0x52c5, 0x6357, 0x76f4, 0x6715,
    +    0x6c88, 0x73cd, 0x8cc3, 0x93ae, 0x9673, 0x6d25, 0x589c, 0x690e,
    +    0x69cc, 0x8ffd, 0x939a, 0x75db, 0x901a, 0x585a, 0x6802, 0x63b4,
    +    0x69fb, 0x4f43, 0x6f2c, 0x67d8, 0x8fbb, 0x8526, 0x7db4, 0x9354,
    +    0x693f, 0x6f70, 0x576a, 0x58f7, 0x5b2c, 0x7d2c, 0x722a, 0x540a,
    +    0x91e3, 0x9db4, 0x4ead, 0x4f4e, 0x505c, 0x5075, 0x5243, 0x8c9e,
    +    0x5448, 0x5824, 0x5b9a, 0x5e1d, 0x5e95, 0x5ead, 0x5ef7, 0x5f1f,
    +    0x608c, 0x62b5, 0x633a, 0x63d0, 0x68af, 0x6c40, 0x7887, 0x798e,
    +    0x7a0b, 0x7de0, 0x8247, 0x8a02, 0x8ae6, 0x8e44, 0x9013, 0x003f,
    +    /* lead byte c5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x90b8, 0x912d, 0x91d8, 0x9f0e, 0x6ce5, 0x6458, 0x64e2,
    +    0x6575, 0x6ef4, 0x7684, 0x7b1b, 0x9069, 0x93d1, 0x6eba, 0x54f2,
    +    0x5fb9, 0x64a4, 0x8f4d, 0x8fed, 0x9244, 0x5178, 0x586b, 0x5929,
    +    0x5c55, 0x5e97, 0x6dfb, 0x7e8f, 0x751c, 0x8cbc, 0x8ee2, 0x985b,
    +    0x70b9, 0x4f1d, 0x6bbf, 0x6fb1, 0x7530, 0x96fb, 0x514e, 0x5410,
    +    0x5835, 0x5857, 0x59ac, 0x5c60, 0x5f92, 0x6597, 0x675c, 0x6e21,
    +    0x767b, 0x83df, 0x8ced, 0x9014, 0x90fd, 0x934d, 0x7825, 0x783a,
    +    0x52aa, 0x5ea6, 0x571f, 0x5974, 0x6012, 0x5012, 0x515a, 0x51ac,
    +    0x51cd, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5b95, 0x5cf6,
    +    0x5d8b, 0x60bc, 0x6295, 0x642d, 0x6771, 0x6843, 0x68bc, 0x68df,
    +    0x76d7, 0x6dd8, 0x6e6f, 0x6d9b, 0x706f, 0x71c8, 0x5f53, 0x75d8,
    +    0x7977, 0x7b49, 0x7b54, 0x7b52, 0x7cd6, 0x7d71, 0x5230, 0x003f,
    +    /* lead byte c6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8463, 0x8569, 0x85e4, 0x8a0e, 0x8b04, 0x8c46, 0x8e0f,
    +    0x9003, 0x900f, 0x9419, 0x9676, 0x982d, 0x9a30, 0x95d8, 0x50cd,
    +    0x52d5, 0x540c, 0x5802, 0x5c0e, 0x61a7, 0x649e, 0x6d1e, 0x77b3,
    +    0x7ae5, 0x80f4, 0x8404, 0x9053, 0x9285, 0x5ce0, 0x9d07, 0x533f,
    +    0x5f97, 0x5fb3, 0x6d9c, 0x7279, 0x7763, 0x79bf, 0x7be4, 0x6bd2,
    +    0x72ec, 0x8aad, 0x6803, 0x6a61, 0x51f8, 0x7a81, 0x6934, 0x5c4a,
    +    0x9cf6, 0x82eb, 0x5bc5, 0x9149, 0x701e, 0x5678, 0x5c6f, 0x60c7,
    +    0x6566, 0x6c8c, 0x8c5a, 0x9041, 0x9813, 0x5451, 0x66c7, 0x920d,
    +    0x5948, 0x90a3, 0x5185, 0x4e4d, 0x51ea, 0x8599, 0x8b0e, 0x7058,
    +    0x637a, 0x934b, 0x6962, 0x99b4, 0x7e04, 0x7577, 0x5357, 0x6960,
    +    0x8edf, 0x96e3, 0x6c5d, 0x4e8c, 0x5c3c, 0x5f10, 0x8fe9, 0x5302,
    +    0x8cd1, 0x8089, 0x8679, 0x5eff, 0x65e5, 0x4e73, 0x5165, 0x003f,
    +    /* lead byte c7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5982, 0x5c3f, 0x97ee, 0x4efb, 0x598a, 0x5fcd, 0x8a8d,
    +    0x6fe1, 0x79b0, 0x7962, 0x5be7, 0x8471, 0x732b, 0x71b1, 0x5e74,
    +    0x5ff5, 0x637b, 0x649a, 0x71c3, 0x7c98, 0x4e43, 0x5efc, 0x4e4b,
    +    0x57dc, 0x56a2, 0x60a9, 0x6fc3, 0x7d0d, 0x80fd, 0x8133, 0x81bf,
    +    0x8fb2, 0x8997, 0x86a4, 0x5df4, 0x628a, 0x64ad, 0x8987, 0x6777,
    +    0x6ce2, 0x6d3e, 0x7436, 0x7834, 0x5a46, 0x7f75, 0x82ad, 0x99ac,
    +    0x4ff3, 0x5ec3, 0x62dd, 0x6392, 0x6557, 0x676f, 0x76c3, 0x724c,
    +    0x80cc, 0x80ba, 0x8f29, 0x914d, 0x500d, 0x57f9, 0x5a92, 0x6885,
    +    0x6973, 0x7164, 0x72fd, 0x8cb7, 0x58f2, 0x8ce0, 0x966a, 0x9019,
    +    0x877f, 0x79e4, 0x77e7, 0x8429, 0x4f2f, 0x5265, 0x535a, 0x62cd,
    +    0x67cf, 0x6cca, 0x767d, 0x7b94, 0x7c95, 0x8236, 0x8584, 0x8feb,
    +    0x66dd, 0x6f20, 0x7206, 0x7e1b, 0x83ab, 0x99c1, 0x9ea6, 0x003f,
    +    /* lead byte c8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x51fd, 0x7bb1, 0x7872, 0x7bb8, 0x8087, 0x7b48, 0x6ae8,
    +    0x5e61, 0x808c, 0x7551, 0x7560, 0x516b, 0x9262, 0x6e8c, 0x767a,
    +    0x9197, 0x9aea, 0x4f10, 0x7f70, 0x629c, 0x7b4f, 0x95a5, 0x9ce9,
    +    0x567a, 0x5859, 0x86e4, 0x96bc, 0x4f34, 0x5224, 0x534a, 0x53cd,
    +    0x53db, 0x5e06, 0x642c, 0x6591, 0x677f, 0x6c3e, 0x6c4e, 0x7248,
    +    0x72af, 0x73ed, 0x7554, 0x7e41, 0x822c, 0x85e9, 0x8ca9, 0x7bc4,
    +    0x91c6, 0x7169, 0x9812, 0x98ef, 0x633d, 0x6669, 0x756a, 0x76e4,
    +    0x78d0, 0x8543, 0x86ee, 0x532a, 0x5351, 0x5426, 0x5983, 0x5e87,
    +    0x5f7c, 0x60b2, 0x6249, 0x6279, 0x62ab, 0x6590, 0x6bd4, 0x6ccc,
    +    0x75b2, 0x76ae, 0x7891, 0x79d8, 0x7dcb, 0x7f77, 0x80a5, 0x88ab,
    +    0x8ab9, 0x8cbb, 0x907f, 0x975e, 0x98db, 0x6a0b, 0x7c38, 0x5099,
    +    0x5c3e, 0x5fae, 0x6787, 0x6bd8, 0x7435, 0x7709, 0x7f8e, 0x003f,
    +    /* lead byte c9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9f3b, 0x67ca, 0x7a17, 0x5339, 0x758b, 0x9aed, 0x5f66,
    +    0x819d, 0x83f1, 0x8098, 0x5f3c, 0x5fc5, 0x7562, 0x7b46, 0x903c,
    +    0x6867, 0x59eb, 0x5a9b, 0x7d10, 0x767e, 0x8b2c, 0x4ff5, 0x5f6a,
    +    0x6a19, 0x6c37, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8a55, 0x8c79,
    +    0x5edf, 0x63cf, 0x75c5, 0x79d2, 0x82d7, 0x9328, 0x92f2, 0x849c,
    +    0x86ed, 0x9c2d, 0x54c1, 0x5f6c, 0x658c, 0x6d5c, 0x7015, 0x8ca7,
    +    0x8cd3, 0x983b, 0x654f, 0x74f6, 0x4e0d, 0x4ed8, 0x57e0, 0x592b,
    +    0x5a66, 0x5bcc, 0x51a8, 0x5e03, 0x5e9c, 0x6016, 0x6276, 0x6577,
    +    0x65a7, 0x666e, 0x6d6e, 0x7236, 0x7b26, 0x8150, 0x819a, 0x8299,
    +    0x8b5c, 0x8ca0, 0x8ce6, 0x8d74, 0x961c, 0x9644, 0x4fae, 0x64ab,
    +    0x6b66, 0x821e, 0x8461, 0x856a, 0x90e8, 0x5c01, 0x6953, 0x98a8,
    +    0x847a, 0x8557, 0x4f0f, 0x526f, 0x5fa9, 0x5e45, 0x670d, 0x003f,
    +    /* lead byte ca */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x798f, 0x8179, 0x8907, 0x8986, 0x6df5, 0x5f17, 0x6255,
    +    0x6cb8, 0x4ecf, 0x7269, 0x9b92, 0x5206, 0x543b, 0x5674, 0x58b3,
    +    0x61a4, 0x626e, 0x711a, 0x596e, 0x7c89, 0x7cde, 0x7d1b, 0x96f0,
    +    0x6587, 0x805e, 0x4e19, 0x4f75, 0x5175, 0x5840, 0x5e63, 0x5e73,
    +    0x5f0a, 0x67c4, 0x4e26, 0x853d, 0x9589, 0x965b, 0x7c73, 0x9801,
    +    0x50fb, 0x58c1, 0x7656, 0x78a7, 0x5225, 0x77a5, 0x8511, 0x7b86,
    +    0x504f, 0x5909, 0x7247, 0x7bc7, 0x7de8, 0x8fba, 0x8fd4, 0x904d,
    +    0x4fbf, 0x52c9, 0x5a29, 0x5f01, 0x97ad, 0x4fdd, 0x8217, 0x92ea,
    +    0x5703, 0x6355, 0x6b69, 0x752b, 0x88dc, 0x8f14, 0x7a42, 0x52df,
    +    0x5893, 0x6155, 0x620a, 0x66ae, 0x6bcd, 0x7c3f, 0x83e9, 0x5023,
    +    0x4ff8, 0x5305, 0x5446, 0x5831, 0x5949, 0x5b9d, 0x5cf0, 0x5cef,
    +    0x5d29, 0x5e96, 0x62b1, 0x6367, 0x653e, 0x65b9, 0x670b, 0x003f,
    +    /* lead byte cb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6cd5, 0x6ce1, 0x70f9, 0x7832, 0x7e2b, 0x80de, 0x82b3,
    +    0x840c, 0x84ec, 0x8702, 0x8912, 0x8a2a, 0x8c4a, 0x90a6, 0x92d2,
    +    0x98fd, 0x9cf3, 0x9d6c, 0x4e4f, 0x4ea1, 0x508d, 0x5256, 0x574a,
    +    0x59a8, 0x5e3d, 0x5fd8, 0x5fd9, 0x623f, 0x66b4, 0x671b, 0x67d0,
    +    0x68d2, 0x5192, 0x7d21, 0x80aa, 0x81a8, 0x8b00, 0x8c8c, 0x8cbf,
    +    0x927e, 0x9632, 0x5420, 0x982c, 0x5317, 0x50d5, 0x535c, 0x58a8,
    +    0x64b2, 0x6734, 0x7267, 0x7766, 0x7a46, 0x91e6, 0x52c3, 0x6ca1,
    +    0x6b86, 0x5800, 0x5e4c, 0x5954, 0x672c, 0x7ffb, 0x51e1, 0x76c6,
    +    0x6469, 0x78e8, 0x9b54, 0x9ebb, 0x57cb, 0x59b9, 0x6627, 0x679a,
    +    0x6bce, 0x54e9, 0x69d9, 0x5e55, 0x819c, 0x6795, 0x9baa, 0x67fe,
    +    0x9c52, 0x685d, 0x4ea6, 0x4fe3, 0x53c8, 0x62b9, 0x672b, 0x6cab,
    +    0x8fc4, 0x4fad, 0x7e6d, 0x9ebf, 0x4e07, 0x6162, 0x6e80, 0x003f,
    +    /* lead byte cc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6f2b, 0x8513, 0x5473, 0x672a, 0x9b45, 0x5df3, 0x7b95,
    +    0x5cac, 0x5bc6, 0x871c, 0x6e4a, 0x84d1, 0x7a14, 0x8108, 0x5999,
    +    0x7c8d, 0x6c11, 0x7720, 0x52d9, 0x5922, 0x7121, 0x725f, 0x77db,
    +    0x9727, 0x9d61, 0x690b, 0x5a7f, 0x5a18, 0x51a5, 0x540d, 0x547d,
    +    0x660e, 0x76df, 0x8ff7, 0x9298, 0x9cf4, 0x59ea, 0x725d, 0x6ec5,
    +    0x514d, 0x68c9, 0x7dbf, 0x7dec, 0x9762, 0x9eba, 0x6478, 0x6a21,
    +    0x8302, 0x5984, 0x5b5f, 0x6bdb, 0x731b, 0x76f2, 0x7db2, 0x8017,
    +    0x8499, 0x5132, 0x6728, 0x9ed9, 0x76ee, 0x6762, 0x52ff, 0x9905,
    +    0x5c24, 0x623b, 0x7c7e, 0x8cb0, 0x554f, 0x60b6, 0x7d0b, 0x9580,
    +    0x5301, 0x4e5f, 0x51b6, 0x591c, 0x723a, 0x8036, 0x91ce, 0x5f25,
    +    0x77e2, 0x5384, 0x5f79, 0x7d04, 0x85ac, 0x8a33, 0x8e8d, 0x9756,
    +    0x67f3, 0x85ae, 0x9453, 0x6109, 0x6108, 0x6cb9, 0x7652, 0x003f,
    +    /* lead byte cd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8aed, 0x8f38, 0x552f, 0x4f51, 0x512a, 0x52c7, 0x53cb,
    +    0x5ba5, 0x5e7d, 0x60a0, 0x6182, 0x63d6, 0x6709, 0x67da, 0x6e67,
    +    0x6d8c, 0x7336, 0x7337, 0x7531, 0x7950, 0x88d5, 0x8a98, 0x904a,
    +    0x9091, 0x90f5, 0x96c4, 0x878d, 0x5915, 0x4e88, 0x4f59, 0x4e0e,
    +    0x8a89, 0x8f3f, 0x9810, 0x50ad, 0x5e7c, 0x5996, 0x5bb9, 0x5eb8,
    +    0x63da, 0x63fa, 0x64c1, 0x66dc, 0x694a, 0x69d8, 0x6d0b, 0x6eb6,
    +    0x7194, 0x7528, 0x7aaf, 0x7f8a, 0x8000, 0x8449, 0x84c9, 0x8981,
    +    0x8b21, 0x8e0a, 0x9065, 0x967d, 0x990a, 0x617e, 0x6291, 0x6b32,
    +    0x6c83, 0x6d74, 0x7fcc, 0x7ffc, 0x6dc0, 0x7f85, 0x87ba, 0x88f8,
    +    0x6765, 0x83b1, 0x983c, 0x96f7, 0x6d1b, 0x7d61, 0x843d, 0x916a,
    +    0x4e71, 0x5375, 0x5d50, 0x6b04, 0x6feb, 0x85cd, 0x862d, 0x89a7,
    +    0x5229, 0x540f, 0x5c65, 0x674e, 0x68a8, 0x7406, 0x7483, 0x003f,
    +    /* lead byte ce */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x75e2, 0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x9678, 0x5f8b,
    +    0x7387, 0x7acb, 0x844e, 0x63a0, 0x7565, 0x5289, 0x6d41, 0x6e9c,
    +    0x7409, 0x7559, 0x786b, 0x7c92, 0x9686, 0x7adc, 0x9f8d, 0x4fb6,
    +    0x616e, 0x65c5, 0x865c, 0x4e86, 0x4eae, 0x50da, 0x4e21, 0x51cc,
    +    0x5bee, 0x6599, 0x6881, 0x6dbc, 0x731f, 0x7642, 0x77ad, 0x7a1c,
    +    0x7ce7, 0x826f, 0x8ad2, 0x907c, 0x91cf, 0x9675, 0x9818, 0x529b,
    +    0x7dd1, 0x502b, 0x5398, 0x6797, 0x6dcb, 0x71d0, 0x7433, 0x81e8,
    +    0x8f2a, 0x96a3, 0x9c57, 0x9e9f, 0x7460, 0x5841, 0x6d99, 0x7d2f,
    +    0x985e, 0x4ee4, 0x4f36, 0x4f8b, 0x51b7, 0x52b1, 0x5dba, 0x601c,
    +    0x73b2, 0x793c, 0x82d3, 0x9234, 0x96b7, 0x96f6, 0x970a, 0x9e97,
    +    0x9f62, 0x66a6, 0x6b74, 0x5217, 0x52a3, 0x70c8, 0x88c2, 0x5ec9,
    +    0x604b, 0x6190, 0x6f23, 0x7149, 0x7c3e, 0x7df4, 0x806f, 0x003f,
    +    /* lead byte cf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x84ee, 0x9023, 0x932c, 0x5442, 0x9b6f, 0x6ad3, 0x7089,
    +    0x8cc2, 0x8def, 0x9732, 0x52b4, 0x5a41, 0x5eca, 0x5f04, 0x6717,
    +    0x697c, 0x6994, 0x6d6a, 0x6f0f, 0x7262, 0x72fc, 0x7bed, 0x8001,
    +    0x807e, 0x874b, 0x90ce, 0x516d, 0x9e93, 0x7984, 0x808b, 0x9332,
    +    0x8ad6, 0x502d, 0x548c, 0x8a71, 0x6b6a, 0x8cc4, 0x8107, 0x60d1,
    +    0x67a0, 0x9df2, 0x4e99, 0x4e98, 0x9c10, 0x8a6b, 0x85c1, 0x8568,
    +    0x6900, 0x6e7e, 0x7897, 0x8155, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte d0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5f0c, 0x4e10, 0x4e15, 0x4e2a, 0x4e31, 0x4e36, 0x4e3c,
    +    0x4e3f, 0x4e42, 0x4e56, 0x4e58, 0x4e82, 0x4e85, 0x8c6b, 0x4e8a,
    +    0x8212, 0x5f0d, 0x4e8e, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea2, 0x4eb0,
    +    0x4eb3, 0x4eb6, 0x4ece, 0x4ecd, 0x4ec4, 0x4ec6, 0x4ec2, 0x4ed7,
    +    0x4ede, 0x4eed, 0x4edf, 0x4ef7, 0x4f09, 0x4f5a, 0x4f30, 0x4f5b,
    +    0x4f5d, 0x4f57, 0x4f47, 0x4f76, 0x4f88, 0x4f8f, 0x4f98, 0x4f7b,
    +    0x4f69, 0x4f70, 0x4f91, 0x4f6f, 0x4f86, 0x4f96, 0x5118, 0x4fd4,
    +    0x4fdf, 0x4fce, 0x4fd8, 0x4fdb, 0x4fd1, 0x4fda, 0x4fd0, 0x4fe4,
    +    0x4fe5, 0x501a, 0x5028, 0x5014, 0x502a, 0x5025, 0x5005, 0x4f1c,
    +    0x4ff6, 0x5021, 0x5029, 0x502c, 0x4ffe, 0x4fef, 0x5011, 0x5006,
    +    0x5043, 0x5047, 0x6703, 0x5055, 0x5050, 0x5048, 0x505a, 0x5056,
    +    0x506c, 0x5078, 0x5080, 0x509a, 0x5085, 0x50b4, 0x50b2, 0x003f,
    +    /* lead byte d1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x50c9, 0x50ca, 0x50b3, 0x50c2, 0x50d6, 0x50de, 0x50e5,
    +    0x50ed, 0x50e3, 0x50ee, 0x50f9, 0x50f5, 0x5109, 0x5101, 0x5102,
    +    0x5116, 0x5115, 0x5114, 0x511a, 0x5121, 0x513a, 0x5137, 0x513c,
    +    0x513b, 0x513f, 0x5140, 0x5152, 0x514c, 0x5154, 0x5162, 0x7af8,
    +    0x5169, 0x516a, 0x516e, 0x5180, 0x5182, 0x56d8, 0x518c, 0x5189,
    +    0x518f, 0x5191, 0x5193, 0x5195, 0x5196, 0x51a4, 0x51a6, 0x51a2,
    +    0x51a9, 0x51aa, 0x51ab, 0x51b3, 0x51b1, 0x51b2, 0x51b0, 0x51b5,
    +    0x51bd, 0x51c5, 0x51c9, 0x51db, 0x51e0, 0x8655, 0x51e9, 0x51ed,
    +    0x51f0, 0x51f5, 0x51fe, 0x5204, 0x520b, 0x5214, 0x520e, 0x5227,
    +    0x522a, 0x522e, 0x5233, 0x5239, 0x524f, 0x5244, 0x524b, 0x524c,
    +    0x525e, 0x5254, 0x526a, 0x5274, 0x5269, 0x5273, 0x527f, 0x527d,
    +    0x528d, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8fa8, 0x003f,
    +    /* lead byte d2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8fa7, 0x52ac, 0x52ad, 0x52bc, 0x52b5, 0x52c1, 0x52cd,
    +    0x52d7, 0x52de, 0x52e3, 0x52e6, 0x98ed, 0x52e0, 0x52f3, 0x52f5,
    +    0x52f8, 0x52f9, 0x5306, 0x5308, 0x7538, 0x530d, 0x5310, 0x530f,
    +    0x5315, 0x531a, 0x5323, 0x532f, 0x5331, 0x5333, 0x5338, 0x5340,
    +    0x5346, 0x5345, 0x4e17, 0x5349, 0x534d, 0x51d6, 0x535e, 0x5369,
    +    0x536e, 0x5918, 0x537b, 0x5377, 0x5382, 0x5396, 0x53a0, 0x53a6,
    +    0x53a5, 0x53ae, 0x53b0, 0x53b6, 0x53c3, 0x7c12, 0x96d9, 0x53df,
    +    0x66fc, 0x71ee, 0x53ee, 0x53e8, 0x53ed, 0x53fa, 0x5401, 0x543d,
    +    0x5440, 0x542c, 0x542d, 0x543c, 0x542e, 0x5436, 0x5429, 0x541d,
    +    0x544e, 0x548f, 0x5475, 0x548e, 0x545f, 0x5471, 0x5477, 0x5470,
    +    0x5492, 0x547b, 0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54c7,
    +    0x54a2, 0x54b8, 0x54a5, 0x54ac, 0x54c4, 0x54c8, 0x54a8, 0x003f,
    +    /* lead byte d3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x54ab, 0x54c2, 0x54a4, 0x54be, 0x54bc, 0x54d8, 0x54e5,
    +    0x54e6, 0x550f, 0x5514, 0x54fd, 0x54ee, 0x54ed, 0x54fa, 0x54e2,
    +    0x5539, 0x5540, 0x5563, 0x554c, 0x552e, 0x555c, 0x5545, 0x5556,
    +    0x5557, 0x5538, 0x5533, 0x555d, 0x5599, 0x5580, 0x54af, 0x558a,
    +    0x559f, 0x557b, 0x557e, 0x5598, 0x559e, 0x55ae, 0x557c, 0x5583,
    +    0x55a9, 0x5587, 0x55a8, 0x55da, 0x55c5, 0x55df, 0x55c4, 0x55dc,
    +    0x55e4, 0x55d4, 0x5614, 0x55f7, 0x5616, 0x55fe, 0x55fd, 0x561b,
    +    0x55f9, 0x564e, 0x5650, 0x71df, 0x5634, 0x5636, 0x5632, 0x5638,
    +    0x566b, 0x5664, 0x562f, 0x566c, 0x566a, 0x5686, 0x5680, 0x568a,
    +    0x56a0, 0x5694, 0x568f, 0x56a5, 0x56ae, 0x56b6, 0x56b4, 0x56c2,
    +    0x56bc, 0x56c1, 0x56c3, 0x56c0, 0x56c8, 0x56ce, 0x56d1, 0x56d3,
    +    0x56d7, 0x56ee, 0x56f9, 0x5700, 0x56ff, 0x5704, 0x5709, 0x003f,
    +    /* lead byte d4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5708, 0x570b, 0x570d, 0x5713, 0x5718, 0x5716, 0x55c7,
    +    0x571c, 0x5726, 0x5737, 0x5738, 0x574e, 0x573b, 0x5740, 0x574f,
    +    0x5769, 0x57c0, 0x5788, 0x5761, 0x577f, 0x5789, 0x5793, 0x57a0,
    +    0x57b3, 0x57a4, 0x57aa, 0x57b0, 0x57c3, 0x57c6, 0x57d4, 0x57d2,
    +    0x57d3, 0x580a, 0x57d6, 0x57e3, 0x580b, 0x5819, 0x581d, 0x5872,
    +    0x5821, 0x5862, 0x584b, 0x5870, 0x6bc0, 0x5852, 0x583d, 0x5879,
    +    0x5885, 0x58b9, 0x589f, 0x58ab, 0x58ba, 0x58de, 0x58bb, 0x58b8,
    +    0x58ae, 0x58c5, 0x58d3, 0x58d1, 0x58d7, 0x58d9, 0x58d8, 0x58e5,
    +    0x58dc, 0x58e4, 0x58df, 0x58ef, 0x58fa, 0x58f9, 0x58fb, 0x58fc,
    +    0x58fd, 0x5902, 0x590a, 0x5910, 0x591b, 0x68a6, 0x5925, 0x592c,
    +    0x592d, 0x5932, 0x5938, 0x593e, 0x7ad2, 0x5955, 0x5950, 0x594e,
    +    0x595a, 0x5958, 0x5962, 0x5960, 0x5967, 0x596c, 0x5969, 0x003f,
    +    /* lead byte d5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5978, 0x5981, 0x599d, 0x4f5e, 0x4fab, 0x59a3, 0x59b2,
    +    0x59c6, 0x59e8, 0x59dc, 0x598d, 0x59d9, 0x59da, 0x5a25, 0x5a1f,
    +    0x5a11, 0x5a1c, 0x5a09, 0x5a1a, 0x5a40, 0x5a6c, 0x5a49, 0x5a35,
    +    0x5a36, 0x5a62, 0x5a6a, 0x5a9a, 0x5abc, 0x5abe, 0x5acb, 0x5ac2,
    +    0x5abd, 0x5ae3, 0x5ad7, 0x5ae6, 0x5ae9, 0x5ad6, 0x5afa, 0x5afb,
    +    0x5b0c, 0x5b0b, 0x5b16, 0x5b32, 0x5ad0, 0x5b2a, 0x5b36, 0x5b3e,
    +    0x5b43, 0x5b45, 0x5b40, 0x5b51, 0x5b55, 0x5b5a, 0x5b5b, 0x5b65,
    +    0x5b69, 0x5b70, 0x5b73, 0x5b75, 0x5b78, 0x6588, 0x5b7a, 0x5b80,
    +    0x5b83, 0x5ba6, 0x5bb8, 0x5bc3, 0x5bc7, 0x5bc9, 0x5bd4, 0x5bd0,
    +    0x5be4, 0x5be6, 0x5be2, 0x5bde, 0x5be5, 0x5beb, 0x5bf0, 0x5bf6,
    +    0x5bf3, 0x5c05, 0x5c07, 0x5c08, 0x5c0d, 0x5c13, 0x5c20, 0x5c22,
    +    0x5c28, 0x5c38, 0x5c39, 0x5c41, 0x5c46, 0x5c4e, 0x5c53, 0x003f,
    +    /* lead byte d6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5c50, 0x5c4f, 0x5b71, 0x5c6c, 0x5c6e, 0x4e62, 0x5c76,
    +    0x5c79, 0x5c8c, 0x5c91, 0x5c94, 0x599b, 0x5cab, 0x5cbb, 0x5cb6,
    +    0x5cbc, 0x5cb7, 0x5cc5, 0x5cbe, 0x5cc7, 0x5cd9, 0x5ce9, 0x5cfd,
    +    0x5cfa, 0x5ced, 0x5d8c, 0x5cea, 0x5d0b, 0x5d15, 0x5d17, 0x5d5c,
    +    0x5d1f, 0x5d1b, 0x5d11, 0x5d14, 0x5d22, 0x5d1a, 0x5d19, 0x5d18,
    +    0x5d4c, 0x5d52, 0x5d4e, 0x5d4b, 0x5d6c, 0x5d73, 0x5d76, 0x5d87,
    +    0x5d84, 0x5d82, 0x5da2, 0x5d9d, 0x5dac, 0x5dae, 0x5dbd, 0x5d90,
    +    0x5db7, 0x5dbc, 0x5dc9, 0x5dcd, 0x5dd3, 0x5dd2, 0x5dd6, 0x5ddb,
    +    0x5deb, 0x5df2, 0x5df5, 0x5e0b, 0x5e1a, 0x5e19, 0x5e11, 0x5e1b,
    +    0x5e36, 0x5e37, 0x5e44, 0x5e43, 0x5e40, 0x5e4e, 0x5e57, 0x5e54,
    +    0x5e5f, 0x5e62, 0x5e64, 0x5e47, 0x5e75, 0x5e76, 0x5e7a, 0x9ebc,
    +    0x5e7f, 0x5ea0, 0x5ec1, 0x5ec2, 0x5ec8, 0x5ed0, 0x5ecf, 0x003f,
    +    /* lead byte d7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5ed6, 0x5ee3, 0x5edd, 0x5eda, 0x5edb, 0x5ee2, 0x5ee1,
    +    0x5ee8, 0x5ee9, 0x5eec, 0x5ef1, 0x5ef3, 0x5ef0, 0x5ef4, 0x5ef8,
    +    0x5efe, 0x5f03, 0x5f09, 0x5f5d, 0x5f5c, 0x5f0b, 0x5f11, 0x5f16,
    +    0x5f29, 0x5f2d, 0x5f38, 0x5f41, 0x5f48, 0x5f4c, 0x5f4e, 0x5f2f,
    +    0x5f51, 0x5f56, 0x5f57, 0x5f59, 0x5f61, 0x5f6d, 0x5f73, 0x5f77,
    +    0x5f83, 0x5f82, 0x5f7f, 0x5f8a, 0x5f88, 0x5f91, 0x5f87, 0x5f9e,
    +    0x5f99, 0x5f98, 0x5fa0, 0x5fa8, 0x5fad, 0x5fbc, 0x5fd6, 0x5ffb,
    +    0x5fe4, 0x5ff8, 0x5ff1, 0x5fdd, 0x60b3, 0x5fff, 0x6021, 0x6060,
    +    0x6019, 0x6010, 0x6029, 0x600e, 0x6031, 0x601b, 0x6015, 0x602b,
    +    0x6026, 0x600f, 0x603a, 0x605a, 0x6041, 0x606a, 0x6077, 0x605f,
    +    0x604a, 0x6046, 0x604d, 0x6063, 0x6043, 0x6064, 0x6042, 0x606c,
    +    0x606b, 0x6059, 0x6081, 0x608d, 0x60e7, 0x6083, 0x609a, 0x003f,
    +    /* lead byte d8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6084, 0x609b, 0x6096, 0x6097, 0x6092, 0x60a7, 0x608b,
    +    0x60e1, 0x60b8, 0x60e0, 0x60d3, 0x60b4, 0x5ff0, 0x60bd, 0x60c6,
    +    0x60b5, 0x60d8, 0x614d, 0x6115, 0x6106, 0x60f6, 0x60f7, 0x6100,
    +    0x60f4, 0x60fa, 0x6103, 0x6121, 0x60fb, 0x60f1, 0x610d, 0x610e,
    +    0x6147, 0x613e, 0x6128, 0x6127, 0x614a, 0x613f, 0x613c, 0x612c,
    +    0x6134, 0x613d, 0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159,
    +    0x615a, 0x616b, 0x6174, 0x616f, 0x6165, 0x6171, 0x615f, 0x615d,
    +    0x6153, 0x6175, 0x6199, 0x6196, 0x6187, 0x61ac, 0x6194, 0x619a,
    +    0x618a, 0x6191, 0x61ab, 0x61ae, 0x61cc, 0x61ca, 0x61c9, 0x61f7,
    +    0x61c8, 0x61c3, 0x61c6, 0x61ba, 0x61cb, 0x7f79, 0x61cd, 0x61e6,
    +    0x61e3, 0x61f6, 0x61fa, 0x61f4, 0x61ff, 0x61fd, 0x61fc, 0x61fe,
    +    0x6200, 0x6208, 0x6209, 0x620d, 0x620c, 0x6214, 0x621b, 0x003f,
    +    /* lead byte d9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x621e, 0x6221, 0x622a, 0x622e, 0x6230, 0x6232, 0x6233,
    +    0x6241, 0x624e, 0x625e, 0x6263, 0x625b, 0x6260, 0x6268, 0x627c,
    +    0x6282, 0x6289, 0x627e, 0x6292, 0x6293, 0x6296, 0x62d4, 0x6283,
    +    0x6294, 0x62d7, 0x62d1, 0x62bb, 0x62cf, 0x62ff, 0x62c6, 0x64d4,
    +    0x62c8, 0x62dc, 0x62cc, 0x62ca, 0x62c2, 0x62c7, 0x629b, 0x62c9,
    +    0x630c, 0x62ee, 0x62f1, 0x6327, 0x6302, 0x6308, 0x62ef, 0x62f5,
    +    0x6350, 0x633e, 0x634d, 0x641c, 0x634f, 0x6396, 0x638e, 0x6380,
    +    0x63ab, 0x6376, 0x63a3, 0x638f, 0x6389, 0x639f, 0x63b5, 0x636b,
    +    0x6369, 0x63be, 0x63e9, 0x63c0, 0x63c6, 0x63e3, 0x63c9, 0x63d2,
    +    0x63f6, 0x63c4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436,
    +    0x651d, 0x6417, 0x6428, 0x640f, 0x6467, 0x646f, 0x6476, 0x644e,
    +    0x652a, 0x6495, 0x6493, 0x64a5, 0x64a9, 0x6488, 0x64bc, 0x003f,
    +    /* lead byte da */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x64da, 0x64d2, 0x64c5, 0x64c7, 0x64bb, 0x64d8, 0x64c2,
    +    0x64f1, 0x64e7, 0x8209, 0x64e0, 0x64e1, 0x62ac, 0x64e3, 0x64ef,
    +    0x652c, 0x64f6, 0x64f4, 0x64f2, 0x64fa, 0x6500, 0x64fd, 0x6518,
    +    0x651c, 0x6505, 0x6524, 0x6523, 0x652b, 0x6534, 0x6535, 0x6537,
    +    0x6536, 0x6538, 0x754b, 0x6548, 0x6556, 0x6555, 0x654d, 0x6558,
    +    0x655e, 0x655d, 0x6572, 0x6578, 0x6582, 0x6583, 0x8b8a, 0x659b,
    +    0x659f, 0x65ab, 0x65b7, 0x65c3, 0x65c6, 0x65c1, 0x65c4, 0x65cc,
    +    0x65d2, 0x65db, 0x65d9, 0x65e0, 0x65e1, 0x65f1, 0x6772, 0x660a,
    +    0x6603, 0x65fb, 0x6773, 0x6635, 0x6636, 0x6634, 0x661c, 0x664f,
    +    0x6644, 0x6649, 0x6641, 0x665e, 0x665d, 0x6664, 0x6667, 0x6668,
    +    0x665f, 0x6662, 0x6670, 0x6683, 0x6688, 0x668e, 0x6689, 0x6684,
    +    0x6698, 0x669d, 0x66c1, 0x66b9, 0x66c9, 0x66be, 0x66bc, 0x003f,
    +    /* lead byte db */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x66c4, 0x66b8, 0x66d6, 0x66da, 0x66e0, 0x663f, 0x66e6,
    +    0x66e9, 0x66f0, 0x66f5, 0x66f7, 0x670f, 0x6716, 0x671e, 0x6726,
    +    0x6727, 0x9738, 0x672e, 0x673f, 0x6736, 0x6741, 0x6738, 0x6737,
    +    0x6746, 0x675e, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770,
    +    0x67a9, 0x677c, 0x676a, 0x678c, 0x678b, 0x67a6, 0x67a1, 0x6785,
    +    0x67b7, 0x67ef, 0x67b4, 0x67ec, 0x67b3, 0x67e9, 0x67b8, 0x67e4,
    +    0x67de, 0x67dd, 0x67e2, 0x67ee, 0x67b9, 0x67ce, 0x67c6, 0x67e7,
    +    0x6a9c, 0x681e, 0x6846, 0x6829, 0x6840, 0x684d, 0x6832, 0x684e,
    +    0x68b3, 0x682b, 0x6859, 0x6863, 0x6877, 0x687f, 0x689f, 0x688f,
    +    0x68ad, 0x6894, 0x689d, 0x689b, 0x6883, 0x6aae, 0x68b9, 0x6874,
    +    0x68b5, 0x68a0, 0x68ba, 0x690f, 0x688d, 0x687e, 0x6901, 0x68ca,
    +    0x6908, 0x68d8, 0x6922, 0x6926, 0x68e1, 0x690c, 0x68cd, 0x003f,
    +    /* lead byte dc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x68d4, 0x68e7, 0x68d5, 0x6936, 0x6912, 0x6904, 0x68d7,
    +    0x68e3, 0x6925, 0x68f9, 0x68e0, 0x68ef, 0x6928, 0x692a, 0x691a,
    +    0x6923, 0x6921, 0x68c6, 0x6979, 0x6977, 0x695c, 0x6978, 0x696b,
    +    0x6954, 0x697e, 0x696e, 0x6939, 0x6974, 0x693d, 0x6959, 0x6930,
    +    0x6961, 0x695e, 0x695d, 0x6981, 0x696a, 0x69b2, 0x69ae, 0x69d0,
    +    0x69bf, 0x69c1, 0x69d3, 0x69be, 0x69ce, 0x5be8, 0x69ca, 0x69dd,
    +    0x69bb, 0x69c3, 0x69a7, 0x6a2e, 0x6991, 0x69a0, 0x699c, 0x6995,
    +    0x69b4, 0x69de, 0x69e8, 0x6a02, 0x6a1b, 0x69ff, 0x6b0a, 0x69f9,
    +    0x69f2, 0x69e7, 0x6a05, 0x69b1, 0x6a1e, 0x69ed, 0x6a14, 0x69eb,
    +    0x6a0a, 0x6a12, 0x6ac1, 0x6a23, 0x6a13, 0x6a44, 0x6a0c, 0x6a72,
    +    0x6a36, 0x6a78, 0x6a47, 0x6a62, 0x6a59, 0x6a66, 0x6a48, 0x6a38,
    +    0x6a22, 0x6a90, 0x6a8d, 0x6aa0, 0x6a84, 0x6aa2, 0x6aa3, 0x003f,
    +    /* lead byte dd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6a97, 0x8617, 0x6abb, 0x6ac3, 0x6ac2, 0x6ab8, 0x6ab3,
    +    0x6aac, 0x6ade, 0x6ad1, 0x6adf, 0x6aaa, 0x6ada, 0x6aea, 0x6afb,
    +    0x6b05, 0x8616, 0x6afa, 0x6b12, 0x6b16, 0x9b31, 0x6b1f, 0x6b38,
    +    0x6b37, 0x76dc, 0x6b39, 0x98ee, 0x6b47, 0x6b43, 0x6b49, 0x6b50,
    +    0x6b59, 0x6b54, 0x6b5b, 0x6b5f, 0x6b61, 0x6b78, 0x6b79, 0x6b7f,
    +    0x6b80, 0x6b84, 0x6b83, 0x6b8d, 0x6b98, 0x6b95, 0x6b9e, 0x6ba4,
    +    0x6baa, 0x6bab, 0x6baf, 0x6bb2, 0x6bb1, 0x6bb3, 0x6bb7, 0x6bbc,
    +    0x6bc6, 0x6bcb, 0x6bd3, 0x6bdf, 0x6bec, 0x6beb, 0x6bf3, 0x6bef,
    +    0x9ebe, 0x6c08, 0x6c13, 0x6c14, 0x6c1b, 0x6c24, 0x6c23, 0x6c5e,
    +    0x6c55, 0x6c62, 0x6c6a, 0x6c82, 0x6c8d, 0x6c9a, 0x6c81, 0x6c9b,
    +    0x6c7e, 0x6c68, 0x6c73, 0x6c92, 0x6c90, 0x6cc4, 0x6cf1, 0x6cd3,
    +    0x6cbd, 0x6cd7, 0x6cc5, 0x6cdd, 0x6cae, 0x6cb1, 0x6cbe, 0x003f,
    +    /* lead byte de */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6cba, 0x6cdb, 0x6cef, 0x6cd9, 0x6cea, 0x6d1f, 0x884d,
    +    0x6d36, 0x6d2b, 0x6d3d, 0x6d38, 0x6d19, 0x6d35, 0x6d33, 0x6d12,
    +    0x6d0c, 0x6d63, 0x6d93, 0x6d64, 0x6d5a, 0x6d79, 0x6d59, 0x6d8e,
    +    0x6d95, 0x6fe4, 0x6d85, 0x6df9, 0x6e15, 0x6e0a, 0x6db5, 0x6dc7,
    +    0x6de6, 0x6db8, 0x6dc6, 0x6dec, 0x6dde, 0x6dcc, 0x6de8, 0x6dd2,
    +    0x6dc5, 0x6dfa, 0x6dd9, 0x6de4, 0x6dd5, 0x6dea, 0x6dee, 0x6e2d,
    +    0x6e6e, 0x6e2e, 0x6e19, 0x6e72, 0x6e5f, 0x6e3e, 0x6e23, 0x6e6b,
    +    0x6e2b, 0x6e76, 0x6e4d, 0x6e1f, 0x6e43, 0x6e3a, 0x6e4e, 0x6e24,
    +    0x6eff, 0x6e1d, 0x6e38, 0x6e82, 0x6eaa, 0x6e98, 0x6ec9, 0x6eb7,
    +    0x6ed3, 0x6ebd, 0x6eaf, 0x6ec4, 0x6eb2, 0x6ed4, 0x6ed5, 0x6e8f,
    +    0x6ea5, 0x6ec2, 0x6e9f, 0x6f41, 0x6f11, 0x704c, 0x6eec, 0x6ef8,
    +    0x6efe, 0x6f3f, 0x6ef2, 0x6f31, 0x6eef, 0x6f32, 0x6ecc, 0x003f,
    +    /* lead byte df */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6f3e, 0x6f13, 0x6ef7, 0x6f86, 0x6f7a, 0x6f78, 0x6f81,
    +    0x6f80, 0x6f6f, 0x6f5b, 0x6ff3, 0x6f6d, 0x6f82, 0x6f7c, 0x6f58,
    +    0x6f8e, 0x6f91, 0x6fc2, 0x6f66, 0x6fb3, 0x6fa3, 0x6fa1, 0x6fa4,
    +    0x6fb9, 0x6fc6, 0x6faa, 0x6fdf, 0x6fd5, 0x6fec, 0x6fd4, 0x6fd8,
    +    0x6ff1, 0x6fee, 0x6fdb, 0x7009, 0x700b, 0x6ffa, 0x7011, 0x7001,
    +    0x700f, 0x6ffe, 0x701b, 0x701a, 0x6f74, 0x701d, 0x7018, 0x701f,
    +    0x7030, 0x703e, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70af,
    +    0x70f1, 0x70ac, 0x70b8, 0x70b3, 0x70ae, 0x70df, 0x70cb, 0x70dd,
    +    0x70d9, 0x7109, 0x70fd, 0x711c, 0x7119, 0x7165, 0x7155, 0x7188,
    +    0x7166, 0x7162, 0x714c, 0x7156, 0x716c, 0x718f, 0x71fb, 0x7184,
    +    0x7195, 0x71a8, 0x71ac, 0x71d7, 0x71b9, 0x71be, 0x71d2, 0x71c9,
    +    0x71d4, 0x71ce, 0x71e0, 0x71ec, 0x71e7, 0x71f5, 0x71fc, 0x003f,
    +    /* lead byte e0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x71f9, 0x71ff, 0x720d, 0x7210, 0x721b, 0x7228, 0x722d,
    +    0x722c, 0x7230, 0x7232, 0x723b, 0x723c, 0x723f, 0x7240, 0x7246,
    +    0x724b, 0x7258, 0x7274, 0x727e, 0x7282, 0x7281, 0x7287, 0x7292,
    +    0x7296, 0x72a2, 0x72a7, 0x72b9, 0x72b2, 0x72c3, 0x72c6, 0x72c4,
    +    0x72ce, 0x72d2, 0x72e2, 0x72e0, 0x72e1, 0x72f9, 0x72f7, 0x500f,
    +    0x7317, 0x730a, 0x731c, 0x7316, 0x731d, 0x7334, 0x732f, 0x7329,
    +    0x7325, 0x733e, 0x734e, 0x734f, 0x9ed8, 0x7357, 0x736a, 0x7368,
    +    0x7370, 0x7378, 0x7375, 0x737b, 0x737a, 0x73c8, 0x73b3, 0x73ce,
    +    0x73bb, 0x73c0, 0x73e5, 0x73ee, 0x73de, 0x74a2, 0x7405, 0x746f,
    +    0x7425, 0x73f8, 0x7432, 0x743a, 0x7455, 0x743f, 0x745f, 0x7459,
    +    0x7441, 0x745c, 0x7469, 0x7470, 0x7463, 0x746a, 0x7476, 0x747e,
    +    0x748b, 0x749e, 0x74a7, 0x74ca, 0x74cf, 0x74d4, 0x73f1, 0x003f,
    +    /* lead byte e1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x74e0, 0x74e3, 0x74e7, 0x74e9, 0x74ee, 0x74f2, 0x74f0,
    +    0x74f1, 0x74f8, 0x74f7, 0x7504, 0x7503, 0x7505, 0x750c, 0x750e,
    +    0x750d, 0x7515, 0x7513, 0x751e, 0x7526, 0x752c, 0x753c, 0x7544,
    +    0x754d, 0x754a, 0x7549, 0x755b, 0x7546, 0x755a, 0x7569, 0x7564,
    +    0x7567, 0x756b, 0x756d, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574,
    +    0x758a, 0x7589, 0x7582, 0x7594, 0x759a, 0x759d, 0x75a5, 0x75a3,
    +    0x75c2, 0x75b3, 0x75c3, 0x75b5, 0x75bd, 0x75b8, 0x75bc, 0x75b1,
    +    0x75cd, 0x75ca, 0x75d2, 0x75d9, 0x75e3, 0x75de, 0x75fe, 0x75ff,
    +    0x75fc, 0x7601, 0x75f0, 0x75fa, 0x75f2, 0x75f3, 0x760b, 0x760d,
    +    0x7609, 0x761f, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634,
    +    0x7630, 0x763b, 0x7647, 0x7648, 0x7646, 0x765c, 0x7658, 0x7661,
    +    0x7662, 0x7668, 0x7669, 0x766a, 0x7667, 0x766c, 0x7670, 0x003f,
    +    /* lead byte e2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7672, 0x7676, 0x7678, 0x767c, 0x7680, 0x7683, 0x7688,
    +    0x768b, 0x768e, 0x7696, 0x7693, 0x7699, 0x769a, 0x76b0, 0x76b4,
    +    0x76b8, 0x76b9, 0x76ba, 0x76c2, 0x76cd, 0x76d6, 0x76d2, 0x76de,
    +    0x76e1, 0x76e5, 0x76e7, 0x76ea, 0x862f, 0x76fb, 0x7708, 0x7707,
    +    0x7704, 0x7729, 0x7724, 0x771e, 0x7725, 0x7726, 0x771b, 0x7737,
    +    0x7738, 0x7747, 0x775a, 0x7768, 0x776b, 0x775b, 0x7765, 0x777f,
    +    0x777e, 0x7779, 0x778e, 0x778b, 0x7791, 0x77a0, 0x779e, 0x77b0,
    +    0x77b6, 0x77b9, 0x77bf, 0x77bc, 0x77bd, 0x77bb, 0x77c7, 0x77cd,
    +    0x77d7, 0x77da, 0x77dc, 0x77e3, 0x77ee, 0x77fc, 0x780c, 0x7812,
    +    0x7926, 0x7820, 0x792a, 0x7845, 0x788e, 0x7874, 0x7886, 0x787c,
    +    0x789a, 0x788c, 0x78a3, 0x78b5, 0x78aa, 0x78af, 0x78d1, 0x78c6,
    +    0x78cb, 0x78d4, 0x78be, 0x78bc, 0x78c5, 0x78ca, 0x78ec, 0x003f,
    +    /* lead byte e3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x78e7, 0x78da, 0x78fd, 0x78f4, 0x7907, 0x7912, 0x7911,
    +    0x7919, 0x792c, 0x792b, 0x7940, 0x7960, 0x7957, 0x795f, 0x795a,
    +    0x7955, 0x7953, 0x797a, 0x797f, 0x798a, 0x799d, 0x79a7, 0x9f4b,
    +    0x79aa, 0x79ae, 0x79b3, 0x79b9, 0x79ba, 0x79c9, 0x79d5, 0x79e7,
    +    0x79ec, 0x79e1, 0x79e3, 0x7a08, 0x7a0d, 0x7a18, 0x7a19, 0x7a20,
    +    0x7a1f, 0x7980, 0x7a31, 0x7a3b, 0x7a3e, 0x7a37, 0x7a43, 0x7a57,
    +    0x7a49, 0x7a61, 0x7a62, 0x7a69, 0x9f9d, 0x7a70, 0x7a79, 0x7a7d,
    +    0x7a88, 0x7a97, 0x7a95, 0x7a98, 0x7a96, 0x7aa9, 0x7ac8, 0x7ab0,
    +    0x7ab6, 0x7ac5, 0x7ac4, 0x7abf, 0x9083, 0x7ac7, 0x7aca, 0x7acd,
    +    0x7acf, 0x7ad5, 0x7ad3, 0x7ad9, 0x7ada, 0x7add, 0x7ae1, 0x7ae2,
    +    0x7ae6, 0x7aed, 0x7af0, 0x7b02, 0x7b0f, 0x7b0a, 0x7b06, 0x7b33,
    +    0x7b18, 0x7b19, 0x7b1e, 0x7b35, 0x7b28, 0x7b36, 0x7b50, 0x003f,
    +    /* lead byte e4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7b7a, 0x7b04, 0x7b4d, 0x7b0b, 0x7b4c, 0x7b45, 0x7b75,
    +    0x7b65, 0x7b74, 0x7b67, 0x7b70, 0x7b71, 0x7b6c, 0x7b6e, 0x7b9d,
    +    0x7b98, 0x7b9f, 0x7b8d, 0x7b9c, 0x7b9a, 0x7b8b, 0x7b92, 0x7b8f,
    +    0x7b5d, 0x7b99, 0x7bcb, 0x7bc1, 0x7bcc, 0x7bcf, 0x7bb4, 0x7bc6,
    +    0x7bdd, 0x7be9, 0x7c11, 0x7c14, 0x7be6, 0x7be5, 0x7c60, 0x7c00,
    +    0x7c07, 0x7c13, 0x7bf3, 0x7bf7, 0x7c17, 0x7c0d, 0x7bf6, 0x7c23,
    +    0x7c27, 0x7c2a, 0x7c1f, 0x7c37, 0x7c2b, 0x7c3d, 0x7c4c, 0x7c43,
    +    0x7c54, 0x7c4f, 0x7c40, 0x7c50, 0x7c58, 0x7c5f, 0x7c64, 0x7c56,
    +    0x7c65, 0x7c6c, 0x7c75, 0x7c83, 0x7c90, 0x7ca4, 0x7cad, 0x7ca2,
    +    0x7cab, 0x7ca1, 0x7ca8, 0x7cb3, 0x7cb2, 0x7cb1, 0x7cae, 0x7cb9,
    +    0x7cbd, 0x7cc0, 0x7cc5, 0x7cc2, 0x7cd8, 0x7cd2, 0x7cdc, 0x7ce2,
    +    0x9b3b, 0x7cef, 0x7cf2, 0x7cf4, 0x7cf6, 0x7cfa, 0x7d06, 0x003f,
    +    /* lead byte e5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7d02, 0x7d1c, 0x7d15, 0x7d0a, 0x7d45, 0x7d4b, 0x7d2e,
    +    0x7d32, 0x7d3f, 0x7d35, 0x7d46, 0x7d73, 0x7d56, 0x7d4e, 0x7d72,
    +    0x7d68, 0x7d6e, 0x7d4f, 0x7d63, 0x7d93, 0x7d89, 0x7d5b, 0x7d8f,
    +    0x7d7d, 0x7d9b, 0x7dba, 0x7dae, 0x7da3, 0x7db5, 0x7dc7, 0x7dbd,
    +    0x7dab, 0x7e3d, 0x7da2, 0x7daf, 0x7ddc, 0x7db8, 0x7d9f, 0x7db0,
    +    0x7dd8, 0x7ddd, 0x7de4, 0x7dde, 0x7dfb, 0x7df2, 0x7de1, 0x7e05,
    +    0x7e0a, 0x7e23, 0x7e21, 0x7e12, 0x7e31, 0x7e1f, 0x7e09, 0x7e0b,
    +    0x7e22, 0x7e46, 0x7e66, 0x7e3b, 0x7e35, 0x7e39, 0x7e43, 0x7e37,
    +    0x7e32, 0x7e3a, 0x7e67, 0x7e5d, 0x7e56, 0x7e5e, 0x7e59, 0x7e5a,
    +    0x7e79, 0x7e6a, 0x7e69, 0x7e7c, 0x7e7b, 0x7e83, 0x7dd5, 0x7e7d,
    +    0x8fae, 0x7e7f, 0x7e88, 0x7e89, 0x7e8c, 0x7e92, 0x7e90, 0x7e93,
    +    0x7e94, 0x7e96, 0x7e8e, 0x7e9b, 0x7e9c, 0x7f38, 0x7f3a, 0x003f,
    +    /* lead byte e6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7f45, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f50, 0x7f51, 0x7f55,
    +    0x7f54, 0x7f58, 0x7f5f, 0x7f60, 0x7f68, 0x7f69, 0x7f67, 0x7f78,
    +    0x7f82, 0x7f86, 0x7f83, 0x7f88, 0x7f87, 0x7f8c, 0x7f94, 0x7f9e,
    +    0x7f9d, 0x7f9a, 0x7fa3, 0x7faf, 0x7fb2, 0x7fb9, 0x7fae, 0x7fb6,
    +    0x7fb8, 0x8b71, 0x7fc5, 0x7fc6, 0x7fca, 0x7fd5, 0x7fd4, 0x7fe1,
    +    0x7fe6, 0x7fe9, 0x7ff3, 0x7ff9, 0x98dc, 0x8006, 0x8004, 0x800b,
    +    0x8012, 0x8018, 0x8019, 0x801c, 0x8021, 0x8028, 0x803f, 0x803b,
    +    0x804a, 0x8046, 0x8052, 0x8058, 0x805a, 0x805f, 0x8062, 0x8068,
    +    0x8073, 0x8072, 0x8070, 0x8076, 0x8079, 0x807d, 0x807f, 0x8084,
    +    0x8086, 0x8085, 0x809b, 0x8093, 0x809a, 0x80ad, 0x5190, 0x80ac,
    +    0x80db, 0x80e5, 0x80d9, 0x80dd, 0x80c4, 0x80da, 0x80d6, 0x8109,
    +    0x80ef, 0x80f1, 0x811b, 0x8129, 0x8123, 0x812f, 0x814b, 0x003f,
    +    /* lead byte e7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x968b, 0x8146, 0x813e, 0x8153, 0x8151, 0x80fc, 0x8171,
    +    0x816e, 0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818a, 0x8180,
    +    0x8182, 0x81a0, 0x8195, 0x81a4, 0x81a3, 0x815f, 0x8193, 0x81a9,
    +    0x81b0, 0x81b5, 0x81be, 0x81b8, 0x81bd, 0x81c0, 0x81c2, 0x81ba,
    +    0x81c9, 0x81cd, 0x81d1, 0x81d9, 0x81d8, 0x81c8, 0x81da, 0x81df,
    +    0x81e0, 0x81e7, 0x81fa, 0x81fb, 0x81fe, 0x8201, 0x8202, 0x8205,
    +    0x8207, 0x820a, 0x820d, 0x8210, 0x8216, 0x8229, 0x822b, 0x8238,
    +    0x8233, 0x8240, 0x8259, 0x8258, 0x825d, 0x825a, 0x825f, 0x8264,
    +    0x8262, 0x8268, 0x826a, 0x826b, 0x822e, 0x8271, 0x8277, 0x8278,
    +    0x827e, 0x828d, 0x8292, 0x82ab, 0x829f, 0x82bb, 0x82ac, 0x82e1,
    +    0x82e3, 0x82df, 0x82d2, 0x82f4, 0x82f3, 0x82fa, 0x8393, 0x8303,
    +    0x82fb, 0x82f9, 0x82de, 0x8306, 0x82dc, 0x8309, 0x82d9, 0x003f,
    +    /* lead byte e8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8335, 0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339,
    +    0x8350, 0x8345, 0x832f, 0x832b, 0x8317, 0x8318, 0x8385, 0x839a,
    +    0x83aa, 0x839f, 0x83a2, 0x8396, 0x8323, 0x838e, 0x8387, 0x838a,
    +    0x837c, 0x83b5, 0x8373, 0x8375, 0x83a0, 0x8389, 0x83a8, 0x83f4,
    +    0x8413, 0x83eb, 0x83ce, 0x83fd, 0x8403, 0x83d8, 0x840b, 0x83c1,
    +    0x83f7, 0x8407, 0x83e0, 0x83f2, 0x840d, 0x8422, 0x8420, 0x83bd,
    +    0x8438, 0x8506, 0x83fb, 0x846d, 0x842a, 0x843c, 0x855a, 0x8484,
    +    0x8477, 0x846b, 0x84ad, 0x846e, 0x8482, 0x8469, 0x8446, 0x842c,
    +    0x846f, 0x8479, 0x8435, 0x84ca, 0x8462, 0x84b9, 0x84bf, 0x849f,
    +    0x84d9, 0x84cd, 0x84bb, 0x84da, 0x84d0, 0x84c1, 0x84c6, 0x84d6,
    +    0x84a1, 0x8521, 0x84ff, 0x84f4, 0x8517, 0x8518, 0x852c, 0x851f,
    +    0x8515, 0x8514, 0x84fc, 0x8540, 0x8563, 0x8558, 0x8548, 0x003f,
    +    /* lead byte e9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8541, 0x8602, 0x854b, 0x8555, 0x8580, 0x85a4, 0x8588,
    +    0x8591, 0x858a, 0x85a8, 0x856d, 0x8594, 0x859b, 0x85ea, 0x8587,
    +    0x859c, 0x8577, 0x857e, 0x8590, 0x85c9, 0x85ba, 0x85cf, 0x85b9,
    +    0x85d0, 0x85d5, 0x85dd, 0x85e5, 0x85dc, 0x85f9, 0x860a, 0x8613,
    +    0x860b, 0x85fe, 0x85fa, 0x8606, 0x8622, 0x861a, 0x8630, 0x863f,
    +    0x864d, 0x4e55, 0x8654, 0x865f, 0x8667, 0x8671, 0x8693, 0x86a3,
    +    0x86a9, 0x86aa, 0x868b, 0x868c, 0x86b6, 0x86af, 0x86c4, 0x86c6,
    +    0x86b0, 0x86c9, 0x8823, 0x86ab, 0x86d4, 0x86de, 0x86e9, 0x86ec,
    +    0x86df, 0x86db, 0x86ef, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703,
    +    0x86fb, 0x8711, 0x8709, 0x870d, 0x86f9, 0x870a, 0x8734, 0x873f,
    +    0x8737, 0x873b, 0x8725, 0x8729, 0x871a, 0x8760, 0x875f, 0x8778,
    +    0x874c, 0x874e, 0x8774, 0x8757, 0x8768, 0x876e, 0x8759, 0x003f,
    +    /* lead byte ea */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8753, 0x8763, 0x876a, 0x8805, 0x87a2, 0x879f, 0x8782,
    +    0x87af, 0x87cb, 0x87bd, 0x87c0, 0x87d0, 0x96d6, 0x87ab, 0x87c4,
    +    0x87b3, 0x87c7, 0x87c6, 0x87bb, 0x87ef, 0x87f2, 0x87e0, 0x880f,
    +    0x880d, 0x87fe, 0x87f6, 0x87f7, 0x880e, 0x87d2, 0x8811, 0x8816,
    +    0x8815, 0x8822, 0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883b,
    +    0x8844, 0x8842, 0x8852, 0x8859, 0x885e, 0x8862, 0x886b, 0x8881,
    +    0x887e, 0x889e, 0x8875, 0x887d, 0x88b5, 0x8872, 0x8882, 0x8897,
    +    0x8892, 0x88ae, 0x8899, 0x88a2, 0x888d, 0x88a4, 0x88b0, 0x88bf,
    +    0x88b1, 0x88c3, 0x88c4, 0x88d4, 0x88d8, 0x88d9, 0x88dd, 0x88f9,
    +    0x8902, 0x88fc, 0x88f4, 0x88e8, 0x88f2, 0x8904, 0x890c, 0x890a,
    +    0x8913, 0x8943, 0x891e, 0x8925, 0x892a, 0x892b, 0x8941, 0x8944,
    +    0x893b, 0x8936, 0x8938, 0x894c, 0x891d, 0x8960, 0x895e, 0x003f,
    +    /* lead byte eb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8966, 0x8964, 0x896d, 0x896a, 0x896f, 0x8974, 0x8977,
    +    0x897e, 0x8983, 0x8988, 0x898a, 0x8993, 0x8998, 0x89a1, 0x89a9,
    +    0x89a6, 0x89ac, 0x89af, 0x89b2, 0x89ba, 0x89bd, 0x89bf, 0x89c0,
    +    0x89da, 0x89dc, 0x89dd, 0x89e7, 0x89f4, 0x89f8, 0x8a03, 0x8a16,
    +    0x8a10, 0x8a0c, 0x8a1b, 0x8a1d, 0x8a25, 0x8a36, 0x8a41, 0x8a5b,
    +    0x8a52, 0x8a46, 0x8a48, 0x8a7c, 0x8a6d, 0x8a6c, 0x8a62, 0x8a85,
    +    0x8a82, 0x8a84, 0x8aa8, 0x8aa1, 0x8a91, 0x8aa5, 0x8aa6, 0x8a9a,
    +    0x8aa3, 0x8ac4, 0x8acd, 0x8ac2, 0x8ada, 0x8aeb, 0x8af3, 0x8ae7,
    +    0x8ae4, 0x8af1, 0x8b14, 0x8ae0, 0x8ae2, 0x8af7, 0x8ade, 0x8adb,
    +    0x8b0c, 0x8b07, 0x8b1a, 0x8ae1, 0x8b16, 0x8b10, 0x8b17, 0x8b20,
    +    0x8b33, 0x97ab, 0x8b26, 0x8b2b, 0x8b3e, 0x8b28, 0x8b41, 0x8b4c,
    +    0x8b4f, 0x8b4e, 0x8b49, 0x8b56, 0x8b5b, 0x8b5a, 0x8b6b, 0x003f,
    +    /* lead byte ec */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8b5f, 0x8b6c, 0x8b6f, 0x8b74, 0x8b7d, 0x8b80, 0x8b8c,
    +    0x8b8e, 0x8b92, 0x8b93, 0x8b96, 0x8b99, 0x8b9a, 0x8c3a, 0x8c41,
    +    0x8c3f, 0x8c48, 0x8c4c, 0x8c4e, 0x8c50, 0x8c55, 0x8c62, 0x8c6c,
    +    0x8c78, 0x8c7a, 0x8c82, 0x8c89, 0x8c85, 0x8c8a, 0x8c8d, 0x8c8e,
    +    0x8c94, 0x8c7c, 0x8c98, 0x621d, 0x8cad, 0x8caa, 0x8cbd, 0x8cb2,
    +    0x8cb3, 0x8cae, 0x8cb6, 0x8cc8, 0x8cc1, 0x8ce4, 0x8ce3, 0x8cda,
    +    0x8cfd, 0x8cfa, 0x8cfb, 0x8d04, 0x8d05, 0x8d0a, 0x8d07, 0x8d0f,
    +    0x8d0d, 0x8d10, 0x9f4e, 0x8d13, 0x8ccd, 0x8d14, 0x8d16, 0x8d67,
    +    0x8d6d, 0x8d71, 0x8d73, 0x8d81, 0x8d99, 0x8dc2, 0x8dbe, 0x8dba,
    +    0x8dcf, 0x8dda, 0x8dd6, 0x8dcc, 0x8ddb, 0x8dcb, 0x8dea, 0x8deb,
    +    0x8ddf, 0x8de3, 0x8dfc, 0x8e08, 0x8e09, 0x8dff, 0x8e1d, 0x8e1e,
    +    0x8e10, 0x8e1f, 0x8e42, 0x8e35, 0x8e30, 0x8e34, 0x8e4a, 0x003f,
    +    /* lead byte ed */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8e47, 0x8e49, 0x8e4c, 0x8e50, 0x8e48, 0x8e59, 0x8e64,
    +    0x8e60, 0x8e2a, 0x8e63, 0x8e55, 0x8e76, 0x8e72, 0x8e7c, 0x8e81,
    +    0x8e87, 0x8e85, 0x8e84, 0x8e8b, 0x8e8a, 0x8e93, 0x8e91, 0x8e94,
    +    0x8e99, 0x8eaa, 0x8ea1, 0x8eac, 0x8eb0, 0x8ec6, 0x8eb1, 0x8ebe,
    +    0x8ec5, 0x8ec8, 0x8ecb, 0x8edb, 0x8ee3, 0x8efc, 0x8efb, 0x8eeb,
    +    0x8efe, 0x8f0a, 0x8f05, 0x8f15, 0x8f12, 0x8f19, 0x8f13, 0x8f1c,
    +    0x8f1f, 0x8f1b, 0x8f0c, 0x8f26, 0x8f33, 0x8f3b, 0x8f39, 0x8f45,
    +    0x8f42, 0x8f3e, 0x8f4c, 0x8f49, 0x8f46, 0x8f4e, 0x8f57, 0x8f5c,
    +    0x8f62, 0x8f63, 0x8f64, 0x8f9c, 0x8f9f, 0x8fa3, 0x8fad, 0x8faf,
    +    0x8fb7, 0x8fda, 0x8fe5, 0x8fe2, 0x8fea, 0x8fef, 0x9087, 0x8ff4,
    +    0x9005, 0x8ff9, 0x8ffa, 0x9011, 0x9015, 0x9021, 0x900d, 0x901e,
    +    0x9016, 0x900b, 0x9027, 0x9036, 0x9035, 0x9039, 0x8ff8, 0x003f,
    +    /* lead byte ee */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x904f, 0x9050, 0x9051, 0x9052, 0x900e, 0x9049, 0x903e,
    +    0x9056, 0x9058, 0x905e, 0x9068, 0x906f, 0x9076, 0x96a8, 0x9072,
    +    0x9082, 0x907d, 0x9081, 0x9080, 0x908a, 0x9089, 0x908f, 0x90a8,
    +    0x90af, 0x90b1, 0x90b5, 0x90e2, 0x90e4, 0x6248, 0x90db, 0x9102,
    +    0x9112, 0x9119, 0x9132, 0x9130, 0x914a, 0x9156, 0x9158, 0x9163,
    +    0x9165, 0x9169, 0x9173, 0x9172, 0x918b, 0x9189, 0x9182, 0x91a2,
    +    0x91ab, 0x91af, 0x91aa, 0x91b5, 0x91b4, 0x91ba, 0x91c0, 0x91c1,
    +    0x91c9, 0x91cb, 0x91d0, 0x91d6, 0x91df, 0x91e1, 0x91db, 0x91fc,
    +    0x91f5, 0x91f6, 0x921e, 0x91ff, 0x9214, 0x922c, 0x9215, 0x9211,
    +    0x925e, 0x9257, 0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923f,
    +    0x924b, 0x9250, 0x929c, 0x9296, 0x9293, 0x929b, 0x925a, 0x92cf,
    +    0x92b9, 0x92b7, 0x92e9, 0x930f, 0x92fa, 0x9344, 0x932e, 0x003f,
    +    /* lead byte ef */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9319, 0x9322, 0x931a, 0x9323, 0x933a, 0x9335, 0x933b,
    +    0x935c, 0x9360, 0x937c, 0x936e, 0x9356, 0x93b0, 0x93ac, 0x93ad,
    +    0x9394, 0x93b9, 0x93d6, 0x93d7, 0x93e8, 0x93e5, 0x93d8, 0x93c3,
    +    0x93dd, 0x93d0, 0x93c8, 0x93e4, 0x941a, 0x9414, 0x9413, 0x9403,
    +    0x9407, 0x9410, 0x9436, 0x942b, 0x9435, 0x9421, 0x943a, 0x9441,
    +    0x9452, 0x9444, 0x945b, 0x9460, 0x9462, 0x945e, 0x946a, 0x9229,
    +    0x9470, 0x9475, 0x9477, 0x947d, 0x945a, 0x947c, 0x947e, 0x9481,
    +    0x947f, 0x9582, 0x9587, 0x958a, 0x9594, 0x9596, 0x9598, 0x9599,
    +    0x95a0, 0x95a8, 0x95a7, 0x95ad, 0x95bc, 0x95bb, 0x95b9, 0x95be,
    +    0x95ca, 0x6ff6, 0x95c3, 0x95cd, 0x95cc, 0x95d5, 0x95d4, 0x95d6,
    +    0x95dc, 0x95e1, 0x95e5, 0x95e2, 0x9621, 0x9628, 0x962e, 0x962f,
    +    0x9642, 0x964c, 0x964f, 0x964b, 0x9677, 0x965c, 0x965e, 0x003f,
    +    /* lead byte f0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x965d, 0x965f, 0x9666, 0x9672, 0x966c, 0x968d, 0x9698,
    +    0x9695, 0x9697, 0x96aa, 0x96a7, 0x96b1, 0x96b2, 0x96b0, 0x96b4,
    +    0x96b6, 0x96b8, 0x96b9, 0x96ce, 0x96cb, 0x96c9, 0x96cd, 0x894d,
    +    0x96dc, 0x970d, 0x96d5, 0x96f9, 0x9704, 0x9706, 0x9708, 0x9713,
    +    0x970e, 0x9711, 0x970f, 0x9716, 0x9719, 0x9724, 0x972a, 0x9730,
    +    0x9739, 0x973d, 0x973e, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749,
    +    0x975c, 0x9760, 0x9764, 0x9766, 0x9768, 0x52d2, 0x976b, 0x9771,
    +    0x9779, 0x9785, 0x977c, 0x9781, 0x977a, 0x9786, 0x978b, 0x978f,
    +    0x9790, 0x979c, 0x97a8, 0x97a6, 0x97a3, 0x97b3, 0x97b4, 0x97c3,
    +    0x97c6, 0x97c8, 0x97cb, 0x97dc, 0x97ed, 0x9f4f, 0x97f2, 0x7adf,
    +    0x97f6, 0x97f5, 0x980f, 0x980c, 0x9838, 0x9824, 0x9821, 0x9837,
    +    0x983d, 0x9846, 0x984f, 0x984b, 0x986b, 0x986f, 0x9870, 0x003f,
    +    /* lead byte f1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9871, 0x9874, 0x9873, 0x98aa, 0x98af, 0x98b1, 0x98b6,
    +    0x98c4, 0x98c3, 0x98c6, 0x98e9, 0x98eb, 0x9903, 0x9909, 0x9912,
    +    0x9914, 0x9918, 0x9921, 0x991d, 0x991e, 0x9924, 0x9920, 0x992c,
    +    0x992e, 0x993d, 0x993e, 0x9942, 0x9949, 0x9945, 0x9950, 0x994b,
    +    0x9951, 0x9952, 0x994c, 0x9955, 0x9997, 0x9998, 0x99a5, 0x99ad,
    +    0x99ae, 0x99bc, 0x99df, 0x99db, 0x99dd, 0x99d8, 0x99d1, 0x99ed,
    +    0x99ee, 0x99f1, 0x99f2, 0x99fb, 0x99f8, 0x9a01, 0x9a0f, 0x9a05,
    +    0x99e2, 0x9a19, 0x9a2b, 0x9a37, 0x9a45, 0x9a42, 0x9a40, 0x9a43,
    +    0x9a3e, 0x9a55, 0x9a4d, 0x9a5b, 0x9a57, 0x9a5f, 0x9a62, 0x9a65,
    +    0x9a64, 0x9a69, 0x9a6b, 0x9a6a, 0x9aad, 0x9ab0, 0x9abc, 0x9ac0,
    +    0x9acf, 0x9ad1, 0x9ad3, 0x9ad4, 0x9ade, 0x9adf, 0x9ae2, 0x9ae3,
    +    0x9ae6, 0x9aef, 0x9aeb, 0x9aee, 0x9af4, 0x9af1, 0x9af7, 0x003f,
    +    /* lead byte f2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9afb, 0x9b06, 0x9b18, 0x9b1a, 0x9b1f, 0x9b22, 0x9b23,
    +    0x9b25, 0x9b27, 0x9b28, 0x9b29, 0x9b2a, 0x9b2e, 0x9b2f, 0x9b32,
    +    0x9b44, 0x9b43, 0x9b4f, 0x9b4d, 0x9b4e, 0x9b51, 0x9b58, 0x9b74,
    +    0x9b93, 0x9b83, 0x9b91, 0x9b96, 0x9b97, 0x9b9f, 0x9ba0, 0x9ba8,
    +    0x9bb4, 0x9bc0, 0x9bca, 0x9bb9, 0x9bc6, 0x9bcf, 0x9bd1, 0x9bd2,
    +    0x9be3, 0x9be2, 0x9be4, 0x9bd4, 0x9be1, 0x9c3a, 0x9bf2, 0x9bf1,
    +    0x9bf0, 0x9c15, 0x9c14, 0x9c09, 0x9c13, 0x9c0c, 0x9c06, 0x9c08,
    +    0x9c12, 0x9c0a, 0x9c04, 0x9c2e, 0x9c1b, 0x9c25, 0x9c24, 0x9c21,
    +    0x9c30, 0x9c47, 0x9c32, 0x9c46, 0x9c3e, 0x9c5a, 0x9c60, 0x9c67,
    +    0x9c76, 0x9c78, 0x9ce7, 0x9cec, 0x9cf0, 0x9d09, 0x9d08, 0x9ceb,
    +    0x9d03, 0x9d06, 0x9d2a, 0x9d26, 0x9daf, 0x9d23, 0x9d1f, 0x9d44,
    +    0x9d15, 0x9d12, 0x9d41, 0x9d3f, 0x9d3e, 0x9d46, 0x9d48, 0x003f,
    +    /* lead byte f3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9d5d, 0x9d5e, 0x9d64, 0x9d51, 0x9d50, 0x9d59, 0x9d72,
    +    0x9d89, 0x9d87, 0x9dab, 0x9d6f, 0x9d7a, 0x9d9a, 0x9da4, 0x9da9,
    +    0x9db2, 0x9dc4, 0x9dc1, 0x9dbb, 0x9db8, 0x9dba, 0x9dc6, 0x9dcf,
    +    0x9dc2, 0x9dd9, 0x9dd3, 0x9df8, 0x9de6, 0x9ded, 0x9def, 0x9dfd,
    +    0x9e1a, 0x9e1b, 0x9e1e, 0x9e75, 0x9e79, 0x9e7d, 0x9e81, 0x9e88,
    +    0x9e8b, 0x9e8c, 0x9e92, 0x9e95, 0x9e91, 0x9e9d, 0x9ea5, 0x9ea9,
    +    0x9eb8, 0x9eaa, 0x9ead, 0x9761, 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0,
    +    0x9ed4, 0x9edc, 0x9ede, 0x9edd, 0x9ee0, 0x9ee5, 0x9ee8, 0x9eef,
    +    0x9ef4, 0x9ef6, 0x9ef7, 0x9ef9, 0x9efb, 0x9efc, 0x9efd, 0x9f07,
    +    0x9f08, 0x76b7, 0x9f15, 0x9f21, 0x9f2c, 0x9f3e, 0x9f4a, 0x9f52,
    +    0x9f54, 0x9f63, 0x9f5f, 0x9f60, 0x9f61, 0x9f66, 0x9f67, 0x9f6c,
    +    0x9f6a, 0x9f77, 0x9f72, 0x9f76, 0x9f95, 0x9f9c, 0x9fa0, 0x003f,
    +    /* lead byte f4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x582f, 0x69c7, 0x9059, 0x7464, 0x51dc, 0x7199, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned char cp2uni_leadbytes[256] =
    +{
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
    +    0x0a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    +    0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,
    +    0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,
    +    0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
    +    0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
    +    0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32,
    +    0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,
    +    0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x01, 0x01, 0x01,
    +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00
    +};
    +
    +static const unsigned short uni2cp_low[27648] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0020, 0x0021, 0xa1f1, 0xa1f2, 0x003f, 0x005c, 0x007c, 0xa1f8,
    +    0xa1af, 0x0063, 0x0061, 0xa1d4, 0xa2cc, 0x002d, 0x0072, 0xa1bd,
    +    0xa1eb, 0xa1de, 0x0032, 0x0033, 0xa1ad, 0xa6cc, 0xa2f9, 0x003f,
    +    0x002c, 0x0031, 0x006f, 0xa1d5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    +    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    +    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1df,
    +    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa6c2,
    +    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    +    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    +    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1e0,
    +    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x003f, 0x0079,
    +    /* 0x0100 .. 0x01ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    +    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    +    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    +    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    +    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    +    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    +    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    +    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    +    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    +    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa8a2, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    +    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    +    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    +    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    +    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    +    /* 0x0200 .. 0x02ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    +    0x0079, 0xa1ad, 0xa1ed, 0xa1c6, 0xa1c7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0x0076,
    +    0x0027, 0xa1bd, 0xa1ad, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1eb, 0x003f, 0x007e, 0xa1ed, 0x003f, 0x003f,
    +    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0300 .. 0x03ff */
    +    0x0060, 0xa1ad, 0x005e, 0x007e, 0xa1bd, 0x007e, 0x003f, 0x003f,
    +    0xa1af, 0x003f, 0xa1eb, 0xa1ed, 0x0076, 0x003f, 0x0022, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0060, 0xa1ad, 0x003f, 0x003f, 0xa1af, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0xa1af, 0xa6a1, 0x003f,
    +    0xa6a5, 0xa6a7, 0xa6a9, 0x003f, 0xa6af, 0x003f, 0xa6b4, 0xa6b8,
    +    0xa6c9, 0xa6a1, 0xa6a2, 0xa6a3, 0xa6a4, 0xa6a5, 0xa6a6, 0xa6a7,
    +    0xa6a8, 0xa6a9, 0xa6aa, 0xa6ab, 0xa6ac, 0xa6ad, 0xa6ae, 0xa6af,
    +    0xa6b0, 0xa6b1, 0x003f, 0xa6b2, 0xa6b3, 0xa6b4, 0xa6b5, 0xa6b6,
    +    0xa6b7, 0xa6b8, 0xa6a9, 0xa6b4, 0xa6c1, 0xa6c5, 0xa6c7, 0xa6c9,
    +    0xa6d4, 0xa6c1, 0xa6c2, 0xa6c3, 0xa6c4, 0xa6c5, 0xa6c6, 0xa6c7,
    +    0xa6c8, 0xa6c9, 0xa6ca, 0xa6cb, 0xa6cc, 0xa6cd, 0xa6ce, 0xa6cf,
    +    0xa6d0, 0xa6d1, 0x003f, 0xa6d2, 0xa6d3, 0xa6d4, 0xa6d5, 0xa6d6,
    +    0xa6d7, 0xa6d8, 0xa6c9, 0xa6d4, 0xa6cf, 0xa6d4, 0xa6d8, 0x003f,
    +    0xa6c2, 0xa6c8, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6d5, 0xa6d0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa6ca, 0xa6d1, 0x003f, 0x003f, 0xa6a8, 0xa6c5, 0x003f, 0x003f,
    +    0x003f, 0xa6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0400 .. 0x04ff */
    +    0xa7a6, 0xa7a7, 0x003f, 0xa7a4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7ac, 0xa7aa, 0xa7b5, 0x003f,
    +    0xa7a1, 0xa7a2, 0xa7a3, 0xa7a4, 0xa7a5, 0xa7a6, 0xa7a8, 0xa7a9,
    +    0xa7aa, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,
    +    0xa7b2, 0xa7b3, 0xa7b4, 0xa7b5, 0xa7b6, 0xa7b7, 0xa7b8, 0xa7b9,
    +    0xa7ba, 0xa7bb, 0xa7bc, 0xa7bd, 0xa7be, 0xa7bf, 0xa7c0, 0xa7c1,
    +    0xa7d1, 0xa7d2, 0xa7d3, 0xa7d4, 0xa7d5, 0xa7d6, 0xa7d8, 0xa7d9,
    +    0xa7da, 0xa7db, 0xa7dc, 0xa7dd, 0xa7de, 0xa7df, 0xa7e0, 0xa7e1,
    +    0xa7e2, 0xa7e3, 0xa7e4, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e9,
    +    0xa7ea, 0xa7eb, 0xa7ec, 0xa7ed, 0xa7ee, 0xa7ef, 0xa7f0, 0xa7f1,
    +    0xa7d6, 0xa7d7, 0x003f, 0xa7d4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7dc, 0xa7da, 0xa7e5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa7a8, 0xa7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa7a1, 0xa7d1, 0xa7a1, 0xa7d1, 0x003f, 0x003f, 0xa7a6, 0xa7d6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7a8, 0xa7d8, 0xa7a9, 0xa7d9,
    +    0x003f, 0x003f, 0xa7aa, 0xa7da, 0xa7aa, 0xa7da, 0xa7b0, 0xa7e0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7bf, 0xa7ef, 0xa7b5, 0xa7e5,
    +    0xa7b5, 0xa7e5, 0xa7b5, 0xa7e5, 0xa7b9, 0xa7e9, 0x003f, 0x003f,
    +    0xa7bd, 0xa7ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    +    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    +    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    +    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    +    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    +    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    +    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa6c2, 0xa6c3, 0xa6c4,
    +    0xa6d5, 0xa6d6, 0x0069, 0x0072, 0x0075, 0x0076, 0xa6c2, 0xa6c3,
    +    0xa6d1, 0xa6d5, 0xa6d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    +    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    +    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    +    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    +    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    +    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    +    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    +    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    +    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    +    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    +    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    +    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    +    0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0x003f, 0x003f,
    +    0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0x003f, 0x003f,
    +    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    +    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    +    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9,
    +    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9,
    +    0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0x003f, 0x003f,
    +    0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0x003f, 0x003f,
    +    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4,
    +    0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4,
    +    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    +    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    +    0xa6c1, 0xa6c1, 0xa6c5, 0xa6c5, 0xa6c7, 0xa6c7, 0xa6c9, 0xa6c9,
    +    0xa6cf, 0xa6cf, 0xa6d4, 0xa6d4, 0xa6d8, 0xa6d8, 0x003f, 0x003f,
    +    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    +    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    +    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    +    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    +    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    +    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    +    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0x003f, 0xa6c1, 0xa6c1,
    +    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0x003f, 0xa6c9, 0x003f,
    +    0x003f, 0xa1af, 0xa6c7, 0xa6c7, 0xa6c7, 0x003f, 0xa6c7, 0xa6c7,
    +    0xa6a5, 0xa6a5, 0xa6a7, 0xa6a7, 0xa6a7, 0x003f, 0x003f, 0x003f,
    +    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0x003f, 0x003f, 0xa6c9, 0xa6c9,
    +    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d1, 0xa6d1, 0xa6d4, 0xa6d4,
    +    0xa6b4, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6b1, 0xa1af, 0xa1af, 0x0060,
    +    0x003f, 0x003f, 0xa6d8, 0xa6d8, 0xa6d8, 0x003f, 0xa6d8, 0xa6d8,
    +    0xa6af, 0xa6af, 0xa6b8, 0xa6b8, 0xa6b8, 0xa1ad, 0x003f, 0x003f,
    +    /* 0x2000 .. 0x20ff */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1be, 0xa1be, 0x003f, 0xa1bd, 0xa1bd, 0xa1bd, 0xa1c2, 0x005f,
    +    0xa1c6, 0xa1c7, 0x002c, 0xa1c6, 0xa1c8, 0xa1c9, 0x002c, 0x003f,
    +    0xa2f7, 0xa2f8, 0x003f, 0x003f, 0x002e, 0xa1c5, 0xa1c4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0xa2f3, 0x003f, 0xa1ec, 0xa1ed, 0x003f, 0xa1c6, 0x003f, 0x003f,
    +    0x003f, 0xa1d2, 0xa1d3, 0xa2a8, 0x0021, 0x003f, 0x007e, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1eb, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0xa1dd, 0x003d, 0x0028, 0x0029, 0x006e,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0xa1dd, 0x003d, 0x0028, 0x0029, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa1f1, 0x003f, 0x003f, 0xa1f2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2100 .. 0x21ff */
    +    0x003f, 0x003f, 0x0043, 0xa1ee, 0x003f, 0x003f, 0x003f, 0x0045,
    +    0x003f, 0x003f, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    +    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x003f, 0x003f,
    +    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x005a, 0x003f, 0xa6b8, 0x003f,
    +    0x005a, 0x003f, 0x004b, 0xa2f2, 0x0042, 0x0043, 0x0065, 0x0065,
    +    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa6c3, 0xa6a3, 0xa6b0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    +    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0049, 0x003f, 0x003f, 0x003f, 0x0056, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0058, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    +    0x0069, 0x003f, 0x003f, 0x003f, 0x0076, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0078, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2ab, 0xa2ac, 0xa2aa, 0xa2ad, 0x002d, 0x007c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2ab, 0xa2aa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2ce, 0xa2cd,
    +    0x003f, 0x003f, 0xa2cd, 0x003f, 0xa2ce, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2200 .. 0x22ff */
    +    0xa2cf, 0x003f, 0xa2df, 0xa2d0, 0xa2d0, 0x004f, 0x003f, 0xa2e0,
    +    0xa2ba, 0xa2ba, 0x003f, 0xa2bb, 0xa2bb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1dd, 0xa1de, 0x003f, 0x002f, 0x005c, 0x002a,
    +    0xa1eb, 0x003f, 0xa2e5, 0x003f, 0x003f, 0xa2e7, 0xa1e7, 0x004c,
    +    0xa2dc, 0x003f, 0x003f, 0x007c, 0x007c, 0x003f, 0x003f, 0xa2ca,
    +    0xa2cb, 0xa2c1, 0xa2c0, 0xa2e9, 0xa2ea, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e8, 0xa2e8, 0x003a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0xa2e6, 0x003f, 0x003f,
    +    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1e2, 0xa2e1, 0xa2e1, 0xa2e1, 0x003f, 0x003f, 0xa1e5, 0xa1e6,
    +    0x003f, 0x003f, 0xa2e3, 0xa2e4, 0x003f, 0x003f, 0x003c, 0x003e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2be, 0xa2bf, 0xa2be, 0xa2bf, 0xa2bc, 0xa2bd,
    +    0xa2bc, 0xa2bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2dd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2300 .. 0x23ff */
    +    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa1d2, 0xa1d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2400 .. 0x24ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038,
    +    0x0039, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    +    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2500 .. 0x25ff */
    +    0xa8a1, 0xa8ac, 0xa8a2, 0xa8ad, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0x002d, 0x002d, 0x007c, 0x007c, 0xa8a3, 0xa8a3, 0xa8a3, 0xa8ae,
    +    0xa8a4, 0xa8a4, 0xa8a4, 0xa8af, 0xa8a6, 0xa8a6, 0xa8a6, 0xa8b1,
    +    0xa8a5, 0xa8a5, 0xa8a5, 0xa8b0, 0xa8a7, 0xa8bc, 0xa8a7, 0xa8a7,
    +    0xa8b7, 0xa8a7, 0xa8a7, 0xa8b2, 0xa8a9, 0xa8be, 0xa8a9, 0xa8a9,
    +    0xa8b9, 0xa8a9, 0xa8a9, 0xa8b4, 0xa8a8, 0xa8a8, 0xa8a8, 0xa8b8,
    +    0xa8bd, 0xa8a8, 0xa8a8, 0xa8b3, 0xa8aa, 0xa8aa, 0xa8aa, 0xa8ba,
    +    0xa8bf, 0xa8aa, 0xa8aa, 0xa8b5, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8bb,
    +    0xa8ab, 0xa8ab, 0xa8c0, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8ab,
    +    0xa8ab, 0xa8ab, 0xa8ab, 0xa8b6, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0xa2cc, 0xa2cc, 0xa2cc,
    +    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
    +    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,
    +    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2a3, 0xa2a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2a5, 0xa2a4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a7, 0xa2a6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a1, 0xa1fe,
    +    0x003f, 0x003f, 0x003f, 0xa1fb, 0x003f, 0x003f, 0xa1fd, 0xa1fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2fe,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2600 .. 0x26ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1fa, 0xa1f9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1ea, 0x003f, 0xa1e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2f6, 0x003f, 0x003f, 0xa2f5, 0x003f, 0xa2f4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2e00 .. 0x2eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcaec,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2f00 .. 0x2fff */
    +    0xb0ec, 0x003f, 0xd0a6, 0xd0a8, 0xb2b5, 0xd0ad, 0xc6f3, 0xd0b5,
    +    0xbfcd, 0xd1b9, 0xc6fe, 0xc8ac, 0xd1c4, 0xd1cc, 0xd1d2, 0xd1dc,
    +    0xd1e1, 0xc5e1, 0xcecf, 0xd2b1, 0xd2b8, 0xd2b9, 0xd2be, 0xbdbd,
    +    0xcbce, 0xd2c7, 0xd2cc, 0xd2d3, 0xcbf4, 0xb8fd, 0xd3f8, 0xc5da,
    +    0xbbce, 0xd4e9, 0xd4ea, 0xcdbc, 0xc2e7, 0xbdf7, 0xbbd2, 0xd5df,
    +    0xc0a3, 0xbeae, 0xd5f7, 0xd5f9, 0xd6a5, 0xbbb3, 0xd6df, 0xb9a9,
    +    0xb8ca, 0xb6d2, 0xb4b3, 0xd6f6, 0xd6f8, 0xd7ae, 0xd7b0, 0xd7b5,
    +    0xb5dd, 0x003f, 0xd7c4, 0xd7c6, 0xbfb4, 0xd8f9, 0x003f, 0xbcea,
    +    0xbbd9, 0xdabd, 0xcab8, 0xc5cd, 0xb6d4, 0xcafd, 0xdadb, 0xc6fc,
    +    0xdba9, 0xb7ee, 0xccda, 0xb7e7, 0xbbdf, 0xddc6, 0xddd5, 0xddd9,
    +    0xc8e6, 0xccd3, 0xbbe1, 0xdde3, 0xbfe5, 0xb2d0, 0xc4de, 0xc9e3,
    +    0xe0ab, 0xe0ad, 0xcad2, 0xb2e7, 0xb5ed, 0xb8a4, 0xb8bc, 0xb6cc,
    +    0xb1bb, 0xb4a4, 0xb4c5, 0xc0b8, 0xcdd1, 0xc5c4, 0xc9a5, 0x003f,
    +    0xe2a2, 0xc7f2, 0xc8e9, 0xbbae, 0xccdc, 0xccb7, 0xccf0, 0xc0d0,
    +    0xbca8, 0x003f, 0xb2d3, 0xb7ea, 0xcea9, 0xc3dd, 0xcac6, 0xbbe5,
    +    0xb4cc, 0xe6a6, 0xcdd3, 0xb1a9, 0xcfb7, 0xbca9, 0xe6d0, 0xbcaa,
    +    0xe6e6, 0xc6f9, 0xbfc3, 0xbcab, 0xbbea, 0xb1b1, 0xc0e5, 0xc1a4,
    +    0xbdae, 0xbab1, 0xbfa7, 0xe7e7, 0xe9c8, 0xc3ee, 0xb7ec, 0xb9d4,
    +    0xb0e1, 0xeba8, 0xb8ab, 0xb3d1, 0xb8c0, 0xc3ab, 0xc6a6, 0xecb5,
    +    0xecb8, 0xb3ad, 0xc0d6, 0xc1f6, 0xc2ad, 0xbfc8, 0xbcd6, 0xbfc9,
    +    0xc3a4, 0x003f, 0xcdb8, 0xc6d3, 0xc8d0, 0xcea4, 0xb6e2, 0xc4b9,
    +    0xcce7, 0xc9ec, 0xf0b0, 0xf0b2, 0xb1ab, 0x003f, 0xc8f3, 0xcccc,
    +    0xb3d7, 0xf0ea, 0xf0ec, 0xb2bb, 0xcac7, 0xc9f7, 0xc8f4, 0xbfa9,
    +    0xbcf3, 0xb9e1, 0xc7cf, 0xb9fc, 0xb9e2, 0xf1f5, 0xf2a8, 0xf2ae,
    +    0xf2af, 0xb5b4, 0xb5fb, 0xc4bb, 0xf3c3, 0xbcaf, 0xf3ce, 0xcbe3,
    +    0x003f, 0xb5d0, 0x003f, 0xf3e3, 0xf3e6, 0xc5a4, 0xb8dd, 0xc1cd,
    +    0xc9a1, 0xf3ee, 0xf3ef, 0xceb6, 0xf3fd, 0xf3fe, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3000 .. 0x30ff */
    +    0xa1a1, 0xa1a2, 0xa1a3, 0xa1b7, 0x003f, 0xa1b9, 0xa1ba, 0xa1bb,
    +    0xa1d2, 0xa1d3, 0xa1d4, 0xa1d5, 0xa1d6, 0xa1d7, 0xa1d8, 0xa1d9,
    +    0xa1da, 0xa1db, 0xa2a9, 0xa2ae, 0xa1cc, 0xa1cd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x005b, 0x005d, 0xa1c1, 0xa1c8, 0xa1c9, 0x002c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a9, 0x003f,
    +    0xbdbd, 0x003f, 0xd2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    +    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    +    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    +    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,
    +    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,
    +    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,
    +    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,
    +    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,
    +    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,
    +    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,
    +    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4a6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa1ab, 0xa1ac, 0xa1b5, 0xa1b6, 0x003f,
    +    0x003f, 0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7,
    +    0xa5a8, 0xa5a9, 0xa5aa, 0xa5ab, 0xa5ac, 0xa5ad, 0xa5ae, 0xa5af,
    +    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,
    +    0xa5b8, 0xa5b9, 0xa5ba, 0xa5bb, 0xa5bc, 0xa5bd, 0xa5be, 0xa5bf,
    +    0xa5c0, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,
    +    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,
    +    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6, 0xa5d7,
    +    0xa5d8, 0xa5d9, 0xa5da, 0xa5db, 0xa5dc, 0xa5dd, 0xa5de, 0xa5df,
    +    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,
    +    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,
    +    0xa5f0, 0xa5f1, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6, 0xa5ef,
    +    0xa5f0, 0xa5f1, 0xa5f2, 0xa1a6, 0xa1bc, 0xa1b3, 0xa1b4, 0x003f,
    +    /* 0x3100 .. 0x31ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xbee5, 0xc3e6,
    +    0xb2bc, 0xb9c3, 0xb2b5, 0xcaba, 0xc3fa, 0xc5b7, 0xc3cf, 0xbfcd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3200 .. 0x32ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xb8de, 0xcfbb, 0xbcb7, 0xc8ac,
    +    0xb6e5, 0xbdbd, 0xb7ee, 0xb2d0, 0xbfe5, 0xccda, 0xb6e2, 0xc5da,
    +    0xc6fc, 0xb3f4, 0xcdad, 0xbcd2, 0xccbe, 0xc6c3, 0xbae2, 0xbdcb,
    +    0xcfab, 0xc8eb, 0xc3cb, 0xbdf7, 0xc5ac, 0xcda5, 0xb0f5, 0xc3ed,
    +    0xb9e0, 0xb5d9, 0xbccc, 0xc0b5, 0xbee5, 0xc3e6, 0xb2bc, 0xbab8,
    +    0xb1a6, 0xb0e5, 0xbda1, 0xb3d8, 0xb4c6, 0xb4eb, 0xbbf1, 0xb6a8,
    +    0xcceb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad, 0xa5af,
    +    0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd, 0xa5bf,
    +    0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd,
    +    0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de, 0xa5df,
    +    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9, 0xa5ea,
    +    0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f0, 0xa5f1, 0xa5f2, 0x003f,
    +    /* 0x4e00 .. 0x4eff */
    +    0xb0ec, 0xc3fa, 0x003f, 0xbcb7, 0x003f, 0x003f, 0x003f, 0xcbfc,
    +    0xbee6, 0xbbb0, 0xbee5, 0xb2bc, 0x003f, 0xc9d4, 0xcdbf, 0x003f,
    +    0xd0a2, 0xb1af, 0x003f, 0x003f, 0xb3ee, 0xd0a3, 0xc0a4, 0xd2c2,
    +    0xb5d6, 0xcaba, 0x003f, 0x003f, 0x003f, 0x003f, 0xbee7, 0x003f,
    +    0x003f, 0xcebe, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac2, 0x003f,
    +    0x003f, 0x003f, 0xd0a4, 0x003f, 0x003f, 0xc3e6, 0x003f, 0x003f,
    +    0x003f, 0xd0a5, 0xb6fa, 0x003f, 0x003f, 0x003f, 0xd0a6, 0x003f,
    +    0xb4dd, 0xc3b0, 0x003f, 0xbce7, 0xd0a7, 0x003f, 0x003f, 0xd0a8,
    +    0x003f, 0x003f, 0xd0a9, 0xc7b5, 0x003f, 0xb5d7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc7b7, 0x003f, 0xc6e3, 0xb8c3, 0xcbb3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c9, 0xd0aa, 0xbee8,
    +    0xd0ab, 0xb2b5, 0x003f, 0x003f, 0x003f, 0xb6e5, 0xb8f0, 0xcce9,
    +    0x003f, 0x003f, 0xd6a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdf0, 0x003f, 0xc6fd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4a5, 0x003f,
    +    0xb5b5, 0x003f, 0xd0ac, 0x003f, 0x003f, 0xd0ad, 0xcebb, 0x003f,
    +    0xcdbd, 0xc1e8, 0xd0af, 0xbbf6, 0xc6f3, 0x003f, 0xd0b2, 0x003f,
    +    0x003f, 0xb1be, 0xb8df, 0x003f, 0xb8de, 0xb0e6, 0x003f, 0x003f,
    +    0xcfcb, 0xcfca, 0x003f, 0xbab3, 0xb0a1, 0x003f, 0xd0b3, 0xd0b4,
    +    0xd0b5, 0xcbb4, 0xd0b6, 0x003f, 0xb8f2, 0xb0e7, 0xcbf2, 0x003f,
    +    0xb5fc, 0x003f, 0x003f, 0xb5fd, 0xb5fe, 0xc4e2, 0xcebc, 0x003f,
    +    0xd0b7, 0x003f, 0x003f, 0xd0b8, 0x003f, 0x003f, 0xd0b9, 0x003f,
    +    0x003f, 0x003f, 0xbfcd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbdba, 0xbfce, 0xd0be, 0x003f, 0xd0bc, 0x003f, 0xd0bd, 0xb5d8,
    +    0x003f, 0x003f, 0xbaa3, 0xb2f0, 0x003f, 0xd0bb, 0xd0ba, 0xcaa9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbbc6, 0xbbc5, 0xc2be, 0xd0bf,
    +    0xc9d5, 0xc0e7, 0x003f, 0x003f, 0x003f, 0xa1b8, 0xd0c0, 0xd0c2,
    +    0x003f, 0x003f, 0x003f, 0xc2e5, 0xcee1, 0xb0ca, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c1, 0xb2be, 0x003f,
    +    0xb6c4, 0x003f, 0xc3e7, 0x003f, 0x003f, 0x003f, 0xb7ef, 0xd0c3,
    +    0x003f, 0x003f, 0x003f, 0xc7a4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x4f00 .. 0x4fff */
    +    0x003f, 0xb4eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd0c4, 0xb0cb, 0x003f, 0x003f, 0xb8e0, 0xb4ec, 0xc9fa,
    +    0xc8b2, 0xb5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb2f1, 0x003f, 0xd0e7, 0xc5c1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7ec,
    +    0xd0c6, 0x003f, 0x003f, 0x003f, 0xc8bc, 0x003f, 0xcee2, 0x003f,
    +    0xbfad, 0x003f, 0xbbc7, 0x003f, 0xbbf7, 0xb2c0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc4d1, 0x003f, 0x003f, 0xc3a2, 0xd0ca,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0cc, 0xc4e3, 0xbdbb,
    +    0xbab4, 0xcda4, 0x003f, 0xc2ce, 0x003f, 0xb2bf, 0x003f, 0xd0c9,
    +    0x003f, 0xcdbe, 0xd0c5, 0xd0c7, 0xbaee, 0xd0c8, 0xd5a4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd0d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0d3,
    +    0xd0d1, 0x003f, 0x003f, 0xb2c2, 0x003f, 0xcabb, 0xd0cb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd0cf, 0xb8f3, 0x003f, 0x003f, 0xbbc8,
    +    0x003f, 0x003f, 0x003f, 0xb4a6, 0x003f, 0x003f, 0xd0d4, 0x003f,
    +    0xd0cc, 0x003f, 0x003f, 0xcee3, 0x003f, 0xbbf8, 0x003f, 0xd0cd,
    +    0x003f, 0xd0d2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0d5, 0x003f,
    +    0xd0ce, 0x003f, 0x003f, 0xb6a1, 0x003f, 0xb0cd, 0x003f, 0x003f,
    +    0xb6a2, 0xb2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5a5, 0x003f, 0xcbf9, 0xc9ee, 0xb8f4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfaf, 0xceb7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad8,
    +    0x003f, 0x003f, 0xb7b8, 0xc2a5, 0xb2e4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbdd3, 0x003f, 0x003f, 0x003f, 0xd0d9, 0x003f,
    +    0xd0de, 0xd0dc, 0x003f, 0x003f, 0xd0d7, 0x003f, 0x003f, 0xc2af,
    +    0xd0da, 0x003f, 0xd0dd, 0xd0db, 0x003f, 0xcadd, 0x003f, 0xd0d8,
    +    0x003f, 0xbfae, 0x003f, 0xcbf3, 0xd0df, 0xd0e0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbda4, 0xd0ed,
    +    0x003f, 0x003f, 0x003f, 0xc7d0, 0x003f, 0xc9b6, 0xd0e8, 0x003f,
    +    0xcaf0, 0x003f, 0xb2b6, 0x003f, 0x003f, 0x003f, 0xd0ec, 0x003f,
    +    /* 0x5000 .. 0x50ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0e6, 0xd0ef, 0x003f,
    +    0x003f, 0xc1d2, 0x003f, 0xb8c4, 0x003f, 0xc7dc, 0x003f, 0xe0c7,
    +    0x003f, 0xd0ee, 0xc5dd, 0x003f, 0xd0e3, 0x003f, 0xb8f6, 0x003f,
    +    0x003f, 0xb8f5, 0xd0e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcda,
    +    0x003f, 0xd0e9, 0x003f, 0xcaef, 0xc3cd, 0xd0e5, 0xb7f1, 0x003f,
    +    0xd0e2, 0xd0ea, 0xd0e4, 0xced1, 0xd0eb, 0xcfc1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e6, 0x003f,
    +    0x003f, 0xb7f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd0f0, 0x003f, 0x003f, 0x003f, 0xd0f1,
    +    0xd0f5, 0xb0ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad0,
    +    0xd0f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0f3, 0xd0f7, 0x003f,
    +    0x003f, 0x003f, 0xd0f6, 0x003f, 0xc4e4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7f2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd0f8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbcc5, 0x003f, 0xc2a6, 0xc4e5, 0xb6f6, 0x003f,
    +    0xd0f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5b6, 0x003f, 0x003f,
    +    0xd0fa, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0fc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb5, 0x003f, 0x003f,
    +    0x003f, 0xb7e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbbb1, 0xc8f7, 0xd0fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbac5, 0xcdc3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd0fe, 0xd1a3, 0xd0fd, 0xbac4, 0x003f, 0xbdfd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7b9, 0x003f,
    +    0x003f, 0x003f, 0xd1a4, 0x003f, 0x003f, 0xb6cf, 0x003f, 0x003f,
    +    0x003f, 0xd1a1, 0xd1a2, 0x003f, 0x003f, 0xc6af, 0x003f, 0xc1fc,
    +    0x003f, 0xb6a3, 0x003f, 0x003f, 0x003f, 0xcbcd, 0xd1a5, 0x003f,
    +    0x003f, 0x003f, 0xcebd, 0x003f, 0x003f, 0x003f, 0xd1a6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd1a9, 0x003f, 0xd1a7, 0x003f, 0xc1ce,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1a8, 0xd1aa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ac, 0x003f, 0x003f,
    +    0x003f, 0xd1ab, 0x003f, 0xcac8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5100 .. 0x51ff */
    +    0xb5b7, 0xd1ae, 0xd1af, 0x003f, 0xb2af, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd1ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbcf4, 0x003f, 0xd1b2, 0xd1b1, 0xd1b0, 0x003f,
    +    0xd0d6, 0x003f, 0xd1b3, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdfe,
    +    0x003f, 0xd1b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcda5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xccd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b6,
    +    0x003f, 0x003f, 0xd1b5, 0xd1b8, 0xd1b7, 0x003f, 0x003f, 0xd1b9,
    +    0xd1ba, 0xb0f4, 0x003f, 0xb8b5, 0xb7bb, 0xbdbc, 0xc3fb, 0xb6a4,
    +    0xc0e8, 0xb8f7, 0x003f, 0xb9ee, 0xd1bc, 0xccc8, 0xc5c6, 0x003f,
    +    0xbbf9, 0x003f, 0xd1bb, 0x003f, 0xd1bd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc5de, 0x003f, 0xb3f5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd1be, 0x003f, 0x003f, 0xc6fe, 0x003f, 0x003f,
    +    0xc1b4, 0xd1c0, 0xd1c1, 0xc8ac, 0xb8f8, 0xcfbb, 0xd1c2, 0x003f,
    +    0x003f, 0xb6a6, 0x003f, 0x003f, 0x003f, 0xcabc, 0xc2b6, 0xb6f1,
    +    0xc5b5, 0x003f, 0x003f, 0x003f, 0xb7f3, 0x003f, 0x003f, 0x003f,
    +    0xd1c3, 0x003f, 0xd1c4, 0x003f, 0x003f, 0xc6e2, 0xb1df, 0x003f,
    +    0x003f, 0xd1c7, 0xbafd, 0x003f, 0xd1c6, 0xbac6, 0x003f, 0xd1c8,
    +    0xe6ee, 0xd1c9, 0xcbc1, 0xd1ca, 0x003f, 0xd1cb, 0xd1cc, 0xbee9,
    +    0x003f, 0xbccc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb4a7, 0x003f, 0xd1cf, 0x003f, 0xd1cd, 0xccbd, 0xd1ce, 0x003f,
    +    0xc9da, 0xd1d0, 0xd1d1, 0xd1d2, 0xc5df, 0x003f, 0x003f, 0x003f,
    +    0xd1d6, 0xd1d4, 0xd1d5, 0xd1d3, 0xbae3, 0xd1d7, 0xccea, 0xcee4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1d8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc0a8, 0xd1d9, 0xbdda, 0x003f,
    +    0x003f, 0xd1da, 0x003f, 0xc3fc, 0xcebf, 0xc5e0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2c5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd1db, 0xf4a5, 0xb6c5, 0x003f, 0x003f,
    +    0xd1dc, 0xcbde, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde8, 0xc2fc,
    +    0x003f, 0xd1de, 0xc6e4, 0x003f, 0x003f, 0xd1df, 0x003f, 0x003f,
    +    0xd1e0, 0xb3ae, 0x003f, 0x003f, 0x003f, 0xd1e1, 0xb6a7, 0x003f,
    +    0xc6cc, 0xb1fa, 0xbdd0, 0x003f, 0x003f, 0xc8a1, 0xd1e2, 0x003f,
    +    /* 0x5200 .. 0x52ff */
    +    0xc5e1, 0x003f, 0x003f, 0xbfcf, 0xd1e3, 0x003f, 0xcaac, 0xc0da,
    +    0xb4a2, 0x003f, 0xb4a9, 0xd1e4, 0x003f, 0x003f, 0xd1e6, 0x003f,
    +    0x003f, 0xb7ba, 0x003f, 0x003f, 0xd1e5, 0x003f, 0x003f, 0xcef3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc8bd, 0xcacc, 0x003f, 0xd1e7,
    +    0x003f, 0xcdf8, 0xd1e8, 0x003f, 0x003f, 0x003f, 0xd1e9, 0x003f,
    +    0xc5fe, 0x003f, 0x003f, 0xd1ea, 0x003f, 0x003f, 0xc0a9, 0xbafe,
    +    0xb7f4, 0xd1eb, 0xbbc9, 0xb9ef, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc4e6, 0xd1ed, 0x003f, 0x003f, 0xc2a7,
    +    0x003f, 0x003f, 0xbaef, 0xd1ee, 0xd1ef, 0xc1b0, 0x003f, 0xd1ec,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd1f1, 0x003f, 0xcbb6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb9e4, 0x003f, 0x003f, 0xd1f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb7f5, 0xbade, 0xc7ed, 0x003f, 0x003f,
    +    0x003f, 0xd1f4, 0xd1f2, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9fb,
    +    0xbeea, 0xd1fb, 0xb3e4, 0xd1f5, 0xd1f3, 0xc1cf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1f7, 0x003f, 0xd1f6,
    +    0x003f, 0x003f, 0x003f, 0xb3c4, 0x003f, 0x003f, 0x003f, 0xb7e0,
    +    0xd1fc, 0xcead, 0x003f, 0x003f, 0x003f, 0xd1f8, 0x003f, 0x003f,
    +    0x003f, 0xd1fd, 0xd1fa, 0x003f, 0xd1f9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcecf, 0x003f, 0x003f, 0x003f, 0xb8f9,
    +    0xb2c3, 0x003f, 0x003f, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbdf5, 0xc5d8, 0xb9e5, 0xd2a2, 0xd2a3, 0x003f, 0x003f,
    +    0x003f, 0xcee5, 0x003f, 0x003f, 0xcfab, 0xd2a5, 0x003f, 0x003f,
    +    0x003f, 0xb8fa, 0x003f, 0x003f, 0xd2a4, 0x003f, 0xb3af, 0x003f,
    +    0x003f, 0xd2a6, 0x003f, 0xcbd6, 0x003f, 0xc4bc, 0x003f, 0xcda6,
    +    0x003f, 0xcad9, 0x003f, 0x003f, 0x003f, 0xd2a7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf0d5, 0x003f, 0x003f, 0xc6b0, 0x003f, 0xd2a8,
    +    0xb4aa, 0xccb3, 0x003f, 0x003f, 0x003f, 0xbea1, 0xd2a9, 0xcae7,
    +    0xd2ad, 0x003f, 0xc0aa, 0xd2aa, 0xb6d0, 0x003f, 0xd2ab, 0xb4ab,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb7ae, 0xd2ae, 0x003f, 0xd2af, 0x003f, 0x003f,
    +    0xd2b0, 0xd2b1, 0xbcdb, 0x003f, 0x003f, 0x003f, 0xb8fb, 0xccde,
    +    /* 0x5300 .. 0x53ff */
    +    0x003f, 0xcce8, 0xc6f7, 0x003f, 0x003f, 0xcaf1, 0xd2b2, 0x003f,
    +    0xd2b3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b5, 0x003f, 0xd2b7,
    +    0xd2b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b8, 0xb2bd, 0xcbcc,
    +    0x003f, 0xbafc, 0xd2b9, 0x003f, 0x003f, 0xc1d9, 0x003f, 0x003f,
    +    0xbea2, 0xb6a9, 0x003f, 0xd2ba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc8db, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2bb,
    +    0x003f, 0xd2bc, 0x003f, 0xd2bd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2be, 0xc9a4, 0xb6e8, 0xb0e5, 0x003f, 0x003f, 0x003f, 0xc6bf,
    +    0xd2bf, 0xbdbd, 0x003f, 0xc0e9, 0x003f, 0xd2c1, 0xd2c0, 0xbea3,
    +    0xb8e1, 0xd2c3, 0xc8be, 0x003f, 0x003f, 0xd2c4, 0x003f, 0x003f,
    +    0x003f, 0xc8dc, 0xc2b4, 0xc2ee, 0xb6a8, 0x003f, 0x003f, 0xc6ee,
    +    0xc3b1, 0x003f, 0xc7ee, 0x003f, 0xcbce, 0x003f, 0xd2c6, 0x003f,
    +    0xc0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7b5, 0x003f,
    +    0x003f, 0xd2c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2c8, 0xb1ac,
    +    0xb0f5, 0xb4ed, 0x003f, 0xc2a8, 0xb5d1, 0xcdf1, 0x003f, 0xd2cb,
    +    0xb2b7, 0x003f, 0x003f, 0xd2ca, 0x003f, 0x003f, 0x003f, 0xb6aa,
    +    0x003f, 0x003f, 0xd2cc, 0x003f, 0xccf1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2cd, 0x003f,
    +    0xced2, 0x003f, 0xb8fc, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8b6,
    +    0xd2ce, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2d0, 0xd2cf, 0x003f,
    +    0xbfdf, 0xb1b9, 0x003f, 0x003f, 0x003f, 0xb1de, 0xd2d1, 0x003f,
    +    0xd2d2, 0x003f, 0x003f, 0xb8b7, 0x003f, 0x003f, 0xd2d3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb5ee, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbbb2, 0xd2d4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcbf4, 0xbab5, 0xb5da, 0xcda7, 0xc1d0, 0xc8bf, 0xbcfd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbdc7, 0x003f, 0xbce8, 0xbcf5,
    +    0x003f, 0xbdf6, 0x003f, 0xc8c0, 0x003f, 0x003f, 0x003f, 0xd2d7,
    +    0x003f, 0xb1c3, 0xc1d1, 0xb8fd, 0xb8c5, 0xb6e7, 0x003f, 0x003f,
    +    0xd2db, 0xc3a1, 0xc2fe, 0xb6ab, 0xbea4, 0xd2dc, 0xd2da, 0xb2c4,
    +    0xc2e6, 0xbcb8, 0xbbcb, 0xb1a6, 0x003f, 0x003f, 0xb3f0, 0xb9e6,
    +    0xbbca, 0x003f, 0xd2dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5400 .. 0x54ff */
    +    0x003f, 0xd2de, 0x003f, 0xb5c9, 0xb3c6, 0x003f, 0x003f, 0x003f,
    +    0xb9e7, 0xb5c8, 0xc4df, 0xb1a5, 0xc6b1, 0xccbe, 0xb9a1, 0xcdf9,
    +    0xc5c7, 0xb8fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb7af, 0x003f, 0xd2e7, 0x003f, 0xb6e3,
    +    0xcbca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8dd, 0x003f,
    +    0x003f, 0xd2e6, 0x003f, 0xb4de, 0xd2e1, 0xd2e2, 0xd2e4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2e5, 0x003f,
    +    0xb5db, 0xbfe1, 0x003f, 0xcaad, 0xd2e3, 0xd2df, 0xb8e3, 0x003f,
    +    0xd2e0, 0x003f, 0xcfa4, 0x003f, 0x003f, 0x003f, 0xcaf2, 0x003f,
    +    0xc4e8, 0xb8e2, 0xb9f0, 0x003f, 0x003f, 0x003f, 0xd2e8, 0x003f,
    +    0x003f, 0xc6dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2ec,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbcfe, 0x003f, 0xbcf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2ef, 0xd2ed, 0x003f, 0xcca3, 0x003f, 0xd2ea, 0xd2f3, 0xd2ee,
    +    0x003f, 0x003f, 0x003f, 0xd2f1, 0xb8c6, 0xccbf, 0x003f, 0x003f,
    +    0xd2f2, 0x003f, 0x003f, 0x003f, 0xd2f4, 0x003f, 0xd2f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbaf0, 0xcfc2, 0x003f, 0xd2eb, 0xd2e9,
    +    0xd2f5, 0x003f, 0xd2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd2f8, 0x003f, 0xd3a3, 0xd2fa, 0x003f, 0x003f,
    +    0xd2fe, 0x003f, 0x003f, 0xd3a1, 0xd2fb, 0x003f, 0x003f, 0xd3be,
    +    0x003f, 0x003f, 0xbae9, 0xb3b1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2f9, 0x003f, 0x003f, 0x003f, 0xd3a5, 0xb0f6, 0xd3a4, 0x003f,
    +    0xb0a5, 0xc9ca, 0xd3a2, 0x003f, 0xd2fc, 0x003f, 0x003f, 0xd2f7,
    +    0xd2fd, 0xbac8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb0f7, 0xd3af, 0x003f, 0x003f, 0xd3a7, 0xd3a8, 0x003f,
    +    0xbea5, 0xcbe9, 0x003f, 0x003f, 0x003f, 0xd3ad, 0xd3ac, 0x003f,
    +    0x003f, 0x003f, 0xc5af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd3ae, 0x003f, 0x003f, 0xd3ab, 0x003f, 0x003f,
    +    /* 0x5500 .. 0x55ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb1b4, 0x003f, 0xbab6, 0xbfb0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a9,
    +    0xc5e2, 0x003f, 0x003f, 0x003f, 0xd3aa, 0x003f, 0xb0a2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3b4, 0xcda3,
    +    0x003f, 0xbea7, 0x003f, 0xd3ba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3b9, 0xd3b0, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2c3, 0x003f,
    +    0xd3b1, 0x003f, 0x003f, 0x003f, 0xc2ef, 0xd3b6, 0xbea6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3b3, 0x003f, 0x003f, 0xcce4,
    +    0x003f, 0x003f, 0x003f, 0xb7bc, 0x003f, 0x003f, 0xd3b7, 0xd3b8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3b5, 0xd3bb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd3b2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd3c1, 0xd3c6, 0x003f, 0xd3c2, 0x003f,
    +    0xd3bd, 0x003f, 0x003f, 0xd3c7, 0xc1b1, 0x003f, 0x003f, 0xd3c9,
    +    0x003f, 0xb9a2, 0xd3bf, 0xc3fd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3c3, 0xd3bc, 0xb4ad, 0x003f, 0xb4ee, 0xb3e5, 0xd3c4, 0xd3c0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7f6,
    +    0xd3ca, 0xd3c8, 0xc1d3, 0xb5ca, 0xb6ac, 0x003f, 0xd3c5, 0x003f,
    +    0xb6f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1c4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3ce, 0xd3cc, 0x003f, 0xd4a7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3d1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd3cb, 0x003f, 0xd3cf, 0x003f, 0x003f, 0xd3cd,
    +    0x003f, 0x003f, 0x003f, 0xbbcc, 0xd3d0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d3,
    +    0x003f, 0xd3d8, 0x003f, 0x003f, 0x003f, 0xd3d6, 0xd3d5, 0x003f,
    +    /* 0x5600 .. 0x56ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3b2, 0x003f,
    +    0x003f, 0xb2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3d2, 0x003f, 0xd3d4, 0xbea8,
    +    0xb1b3, 0x003f, 0x003f, 0xd3d7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb2de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3e2,
    +    0x003f, 0xbefc, 0xd3de, 0x003f, 0xd3dc, 0x003f, 0xd3dd, 0x003f,
    +    0xd3df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb1bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc1b9, 0x003f, 0xd3d9, 0x003f,
    +    0xd3da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb3fa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3e1, 0x003f, 0x003f, 0x003f,
    +    0xb4ef, 0x003f, 0xd3e4, 0xd3e0, 0xd3e3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcaae, 0x003f, 0x003f, 0x003f,
    +    0xc6d5, 0x003f, 0xc8b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3e5, 0xb3c5,
    +    0x003f, 0x003f, 0xd3e7, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ea,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3e9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3e8, 0x003f, 0xc7b9, 0x003f, 0x003f, 0xd3eb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ec, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3ee, 0x003f, 0xd3ed, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd3f0, 0x003f, 0x003f, 0x003f,
    +    0xd3f3, 0xd3f1, 0xd3ef, 0xd3f2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f5, 0x003f,
    +    0x003f, 0xd3f6, 0x003f, 0xd3f7, 0x003f, 0x003f, 0x003f, 0xd3f8,
    +    0xd1c5, 0x003f, 0xbcfc, 0xbbcd, 0x003f, 0x003f, 0xb2f3, 0x003f,
    +    0xb0f8, 0x003f, 0x003f, 0xc3c4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f9, 0x003f,
    +    0xbaa4, 0x003f, 0xb0cf, 0xbfde, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3fa, 0xb8c7, 0x003f, 0x003f, 0xb9f1, 0x003f, 0xd3fc,
    +    /* 0x5700 .. 0x57ff */
    +    0xd3fb, 0x003f, 0x003f, 0xcae0, 0xd3fd, 0x003f, 0x003f, 0x003f,
    +    0xd4a1, 0xd3fe, 0x003f, 0xd4a2, 0x003f, 0xd4a3, 0x003f, 0xb7f7,
    +    0x003f, 0x003f, 0xb1e0, 0xd4a4, 0x003f, 0x003f, 0xd4a6, 0x003f,
    +    0xd4a5, 0x003f, 0x003f, 0x003f, 0xd4a8, 0x003f, 0x003f, 0xc5da,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4a9, 0xb0b5,
    +    0xbadf, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7bd, 0x003f, 0x003f,
    +    0xc3cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4aa,
    +    0xd4ab, 0x003f, 0x003f, 0xd4ad, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4ae, 0x003f, 0xbae4, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6d1,
    +    0x003f, 0x003f, 0xcbb7, 0x003f, 0x003f, 0x003f, 0xd4ac, 0xd4af,
    +    0xbac1, 0xb9a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4b3, 0x003f, 0x003f, 0xbaa5, 0x003f, 0xc3b3, 0x003f,
    +    0x003f, 0xd4b0, 0xc4da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4b4,
    +    0x003f, 0x003f, 0xbfe2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4b2, 0xd4b5, 0x003f, 0xb7bf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd4b6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4b7, 0x003f, 0xb9a4, 0xb3c0, 0xd4b9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd4ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4bb, 0x003f, 0x003f, 0xd4b8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4b1, 0x003f, 0x003f, 0xd4bc, 0x003f, 0x003f, 0xd4bd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcbe4, 0x003f, 0x003f, 0xbeeb, 0x003f,
    +    0x003f, 0x003f, 0xd4bf, 0xd4c0, 0xd4be, 0x003f, 0xd4c2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc7b8, 0x003f, 0x003f, 0xb0e8,
    +    0xc9d6, 0x003f, 0x003f, 0xd4c3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbefd, 0x003f, 0x003f, 0xbcb9,
    +    0x003f, 0xc7dd, 0xb4f0, 0x003f, 0xbaeb, 0x003f, 0x003f, 0x003f,
    +    /* 0x5800 .. 0x58ff */
    +    0xcbd9, 0x003f, 0xc6b2, 0x003f, 0x003f, 0xb7f8, 0xc2cf, 0x003f,
    +    0x003f, 0x003f, 0xd4c1, 0xd4c4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2c4, 0x003f, 0x003f,
    +    0x003f, 0xd4c5, 0x003f, 0x003f, 0x003f, 0xd4c6, 0x003f, 0x003f,
    +    0x003f, 0xd4c8, 0x003f, 0x003f, 0xc4e9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4a1,
    +    0xb1e1, 0xcaf3, 0x003f, 0x003f, 0xbeec, 0xc5c8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbae6, 0x003f, 0x003f, 0xd4ce, 0x003f, 0x003f,
    +    0xcabd, 0xcedd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb2f4, 0xd4ca, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc1ba, 0xd4cd, 0x003f, 0xc5e3, 0x003f, 0x003f, 0xc5c9,
    +    0xc5e4, 0xc8b9, 0xc4cd, 0x003f, 0x003f, 0x003f, 0xbac9, 0x003f,
    +    0x003f, 0x003f, 0xd4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb1f6, 0x003f, 0xc5b6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4cb, 0x003f, 0xd4c7, 0x003f, 0x003f, 0xbfd0, 0x003f, 0x003f,
    +    0x003f, 0xd4cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdce, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb6ad, 0x003f, 0xd4d0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcae8, 0x003f, 0x003f, 0x003f, 0xc1fd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc4c6, 0x003f, 0x003f, 0xd4d2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcbcf, 0x003f, 0x003f, 0xd4d3, 0x003f, 0x003f, 0xd4d8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcaaf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4d7, 0xd4d1, 0xd4d4, 0xd4d6, 0x003f, 0x003f, 0xbaa6, 0x003f,
    +    0x003f, 0xcac9, 0x003f, 0x003f, 0x003f, 0xd4d9, 0x003f, 0xc3c5,
    +    0x003f, 0x003f, 0xb2f5, 0x003f, 0xbeed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4db, 0x003f, 0xd4da, 0x003f, 0xb9e8, 0x003f, 0xd4dc,
    +    0xd4de, 0xd4dd, 0x003f, 0x003f, 0xd4e0, 0x003f, 0xd4d5, 0xd4e2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd4e1, 0xd4df, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbbce, 0xbfd1, 0x003f, 0xc1d4, 0xd4e3,
    +    0xc0bc, 0xb0ed, 0xc7e4, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4db,
    +    0x003f, 0xd4e5, 0xd4e4, 0xd4e6, 0xd4e7, 0xd4e8, 0x003f, 0x003f,
    +    /* 0x5900 .. 0x59ff */
    +    0x003f, 0x003f, 0xd4e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcad1, 0xd4ea, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2c6,
    +    0xd4eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbc, 0xb3b0, 0x003f,
    +    0xd2c9, 0xbdc8, 0xc2bf, 0xd4ec, 0xcceb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xccb4, 0x003f, 0x003f, 0xd4ee, 0x003f, 0xc2e7,
    +    0x003f, 0xc5b7, 0xc2c0, 0xc9d7, 0xd4ef, 0xd4f0, 0xb1fb, 0x003f,
    +    0x003f, 0xbcba, 0xd4f1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0d0,
    +    0xd4f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb1e2, 0x003f, 0x003f, 0xb4f1,
    +    0xc6e0, 0xcaf4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f7, 0xc1d5,
    +    0xd4f6, 0xb7c0, 0x003f, 0x003f, 0xcbdb, 0xd4f5, 0x003f, 0xc5e5,
    +    0xd4f9, 0x003f, 0xd4f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4fb, 0x003f, 0xd4fa, 0x003f, 0x003f, 0xb1fc, 0x003f, 0xd4fc,
    +    0xbea9, 0xd4fe, 0xc3a5, 0x003f, 0xd4fd, 0x003f, 0xcab3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbdf7, 0xc5db, 0x003f, 0x003f, 0x003f,
    +    0xd5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9a5, 0x003f, 0x003f,
    +    0x003f, 0xd5a2, 0xc7a1, 0xc8de, 0xccd1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc7a5, 0x003f, 0x003f, 0xd5ab, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb5b8, 0x003f, 0x003f, 0xcdc5, 0x003f,
    +    0x003f, 0xccaf, 0x003f, 0xd6ac, 0x003f, 0xd5a3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5a6, 0x003f, 0xc2c5, 0x003f, 0x003f,
    +    0xcbb8, 0x003f, 0x003f, 0x003f, 0xc5ca, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcbe5, 0x003f, 0xbaca, 0x003f, 0x003f, 0xbeaa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a8, 0x003f,
    +    0x003f, 0xbbd0, 0x003f, 0xbbcf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb0b9, 0xb8c8, 0x003f, 0xc0ab, 0xb0d1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5ac, 0xd5ad, 0x003f, 0xd5aa, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1b8, 0xb4af, 0x003f,
    +    0xd5a9, 0x003f, 0xccc5, 0xc9b1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0a8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb0f9, 0x003f, 0x003f, 0x003f, 0xbbd1,
    +    /* 0x5a00 .. 0x5aff */
    +    0x003f, 0xb0d2, 0x003f, 0xb0a3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xccbc, 0x003f, 0xd5b3, 0x003f, 0xd5b1, 0x003f, 0x003f, 0xd5af,
    +    0xbfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ae, 0x003f, 0x003f,
    +    0x003f, 0xcada, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8e4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b7, 0xd5b8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbeab, 0x003f, 0x003f, 0x003f,
    +    0xd5b4, 0xcfac, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7cc, 0x003f,
    +    0x003f, 0xd5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbaa7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5b9, 0x003f, 0x003f, 0x003f, 0xc9d8, 0x003f,
    +    0x003f, 0x003f, 0xd5ba, 0x003f, 0xd5b5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccbb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc7de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5bb, 0xc9b2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd5bc, 0xd5c0, 0xd5bd, 0x003f,
    +    0x003f, 0xb2c7, 0xd5bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbcbb, 0x003f, 0xd5be, 0xb7f9, 0x003f, 0x003f, 0x003f,
    +    0xd5cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5c5, 0xd5c2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc3e4, 0x003f, 0xd5c1, 0x003f, 0x003f, 0xd5c3, 0x003f,
    +    0x003f, 0xd5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5c6, 0xd5c7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5b00 .. 0x5bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb4f2, 0x003f, 0xd5c9, 0xd5c8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ca, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbeee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5cd, 0x003f, 0xc4dc, 0x003f, 0x003f, 0x003f,
    +    0xb1c5, 0x003f, 0xd5cb, 0x003f, 0x003f, 0x003f, 0xd5ce, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cf, 0x003f,
    +    0xd5d2, 0x003f, 0x003f, 0xd5d0, 0x003f, 0xd5d1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbbd2, 0xd5d3, 0x003f, 0x003f, 0xb9a6, 0xd5d4, 0x003f, 0xbbfa,
    +    0xc2b8, 0x003f, 0xd5d5, 0xd5d6, 0xbbda, 0xb9a7, 0x003f, 0xccd2,
    +    0x003f, 0x003f, 0x003f, 0xb5a8, 0xb8c9, 0xd5d7, 0xb3d8, 0x003f,
    +    0x003f, 0xd5d8, 0x003f, 0xc2b9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd5d9, 0xd6a3, 0x003f, 0xd5da, 0x003f, 0xd5db, 0x003f, 0x003f,
    +    0xd5dc, 0x003f, 0xd5de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd5df, 0x003f, 0x003f, 0xd5e0, 0x003f, 0xc2f0, 0x003f, 0xb1a7,
    +    0xbce9, 0xb0c2, 0x003f, 0xc1d7, 0xb4b0, 0xbcb5, 0x003f, 0xb9a8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5e6, 0x003f, 0xbda1,
    +    0xb4b1, 0xc3e8, 0xc4ea, 0xb0b8, 0xb5b9, 0xcaf5, 0x003f, 0xbcc2,
    +    0x003f, 0x003f, 0xb5d2, 0xc0eb, 0xbcbc, 0xcda8, 0xd5e1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5dc, 0x003f,
    +    0xbacb, 0x003f, 0x003f, 0xb3b2, 0xb1e3, 0xbeac, 0xb2c8, 0x003f,
    +    0xd5e2, 0xcdc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdc9,
    +    0x003f, 0x003f, 0xbce4, 0xd5e3, 0xb4f3, 0xc6d2, 0xcca9, 0xd5e4,
    +    0x003f, 0xd5e5, 0x003f, 0x003f, 0xc9d9, 0x003f, 0x003f, 0x003f,
    +    0xd5e7, 0x003f, 0xb4a8, 0xb6f7, 0xd5e6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb4b2, 0x003f, 0xbfb2, 0xd5eb, 0xbba1,
    +    0x003f, 0xb2c9, 0xd5ea, 0x003f, 0xd5e8, 0xd5ec, 0xd5e9, 0xc7ab,
    +    0xdccd, 0xbfb3, 0x003f, 0xd5ed, 0x003f, 0x003f, 0xcec0, 0x003f,
    +    0xd5ee, 0x003f, 0x003f, 0xd5f0, 0x003f, 0xc3fe, 0xd5ef, 0x003f,
    +    0xc0a3, 0x003f, 0xbbfb, 0x003f, 0x003f, 0x003f, 0xc2d0, 0xbcf7,
    +    /* 0x5c00 .. 0x5cff */
    +    0x003f, 0xc9f5, 0xc0ec, 0x003f, 0xbccd, 0xd5f1, 0xbead, 0xd5f2,
    +    0xd5f3, 0xb0d3, 0xc2ba, 0xbfd2, 0x003f, 0xd5f4, 0xc6b3, 0xbeae,
    +    0x003f, 0xbeaf, 0x003f, 0xd5f5, 0x003f, 0x003f, 0xc0ed, 0x003f,
    +    0x003f, 0x003f, 0xbeb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd5f6, 0x003f, 0xd5f7, 0x003f, 0xcce0, 0x003f, 0x003f, 0x003f,
    +    0xd5f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6c6, 0x003f, 0x003f,
    +    0x003f, 0xbda2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd5f9, 0xd5fa, 0xbcdc, 0xbfac, 0xc6f4, 0xbfd4, 0xc8f8, 0xc7a2,
    +    0xb6c9, 0xd5fb, 0x003f, 0x003f, 0x003f, 0xb5ef, 0xd5fc, 0x003f,
    +    0xb6fe, 0x003f, 0xc6cf, 0xb2b0, 0x003f, 0xbbd3, 0xd5fd, 0xd6a2,
    +    0xd6a1, 0xb6fd, 0x003f, 0xd5fe, 0x003f, 0xc5b8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2b0, 0x003f,
    +    0xc5cb, 0xbcc8, 0x003f, 0x003f, 0xc1d8, 0xcdfa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a4, 0x003f, 0xd6a5, 0xc6d6,
    +    0x003f, 0xbbb3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a7, 0x003f,
    +    0x003f, 0xd6a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a9, 0x003f, 0x003f, 0x003f,
    +    0xb4f4, 0xd6aa, 0x003f, 0x003f, 0xd6ab, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb2ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc1bb, 0xb4e4, 0x003f, 0xd6ad, 0xcca8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc2d2, 0x003f, 0xb3d9, 0x003f, 0x003f, 0xd6af, 0xd6b1,
    +    0xb4df, 0x003f, 0x003f, 0xd6ae, 0xd6b0, 0x003f, 0xd6b3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6b2, 0x003f, 0xd6b4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc6bd, 0xb6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb2e5, 0xd6b6, 0xd6bb, 0x003f, 0x003f, 0xd6b9, 0x003f, 0xcaf7,
    +    0xcaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5e7, 0x003f,
    +    0x003f, 0x003f, 0xd6b8, 0xbdd4, 0x003f, 0xd6b7, 0x003f, 0x003f,
    +    /* 0x5d00 .. 0x5dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbff2,
    +    0x003f, 0x003f, 0x003f, 0xd6bc, 0x003f, 0x003f, 0xbaea, 0x003f,
    +    0x003f, 0xd6c2, 0x003f, 0x003f, 0xd6c3, 0xd6bd, 0xb3b3, 0xd6be,
    +    0xd6c7, 0xd6c6, 0xd6c5, 0xd6c1, 0x003f, 0x003f, 0x003f, 0xd6c0,
    +    0x003f, 0x003f, 0xd6c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd6cb, 0xd6c8, 0x003f, 0xd6ca, 0x003f,
    +    0xcdf2, 0x003f, 0xd6c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6bf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbff3, 0x003f, 0x003f, 0xd6cc, 0x003f, 0x003f, 0xbab7,
    +    0x003f, 0x003f, 0x003f, 0xd6cd, 0x003f, 0x003f, 0xd6ce, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6d1, 0x003f, 0xd6d0, 0x003f, 0x003f, 0xd6cf,
    +    0x003f, 0x003f, 0x003f, 0xc5e8, 0xd6ba, 0x003f, 0x003f, 0x003f,
    +    0xd6d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6d4, 0x003f, 0xd6d5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d8,
    +    0x003f, 0x003f, 0xcee6, 0x003f, 0xd6d9, 0xd6d6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6da, 0x003f, 0x003f, 0xb4e0, 0xd6db, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6dd, 0xd6dc, 0x003f, 0x003f, 0xd6de, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd6df, 0x003f, 0xc0ee, 0xbda3, 0x003f,
    +    0x003f, 0xbde4, 0x003f, 0xc1e3, 0x003f, 0xb9a9, 0xbab8, 0xb9aa,
    +    0xb5f0, 0x003f, 0x003f, 0xd6e0, 0x003f, 0x003f, 0xbab9, 0x003f,
    +    0x003f, 0xb8ca, 0xd6e1, 0xcca6, 0xc7c3, 0xd6e2, 0x003f, 0xb9ab,
    +    0x003f, 0x003f, 0x003f, 0xb4ac, 0x003f, 0xc3a7, 0xb6d2, 0x003f,
    +    /* 0x5e00 .. 0x5eff */
    +    0x003f, 0x003f, 0xbbd4, 0xc9db, 0x003f, 0x003f, 0xc8c1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd6e3, 0xb4f5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6e6, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4a1, 0x003f,
    +    0x003f, 0xd6e5, 0xd6e4, 0xd6e7, 0x003f, 0xc4eb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfe3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbbd5, 0x003f, 0xc0ca, 0x003f, 0xc2d3,
    +    0xb5a2, 0x003f, 0x003f, 0xc4a2, 0x003f, 0x003f, 0xd6e8, 0xd6e9,
    +    0xbeef, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb9, 0x003f, 0x003f,
    +    0xd6ec, 0x003f, 0x003f, 0xd6eb, 0xd6ea, 0xc9fd, 0x003f, 0xd6f3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcbda, 0x003f, 0xd6ed, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6ef, 0xcbeb, 0x003f, 0xd6ee,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6f0,
    +    0x003f, 0xc8a8, 0xd6f1, 0xcabe, 0xd6f2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb4b3, 0xcabf, 0xc7af, 0xd6f4, 0xd6f5, 0x003f,
    +    0xb9ac, 0xb4b4, 0xd6f6, 0xb8b8, 0xcdc4, 0xcda9, 0xb4f6, 0xd6f8,
    +    0x003f, 0xc4a3, 0x003f, 0xb9ad, 0xbeb1, 0x003f, 0x003f, 0xc8df,
    +    0x003f, 0x003f, 0xbeb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdf8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4ec, 0xcaf9, 0xc5b9,
    +    0x003f, 0x003f, 0xb9ae, 0x003f, 0xc9dc, 0x003f, 0x003f, 0x003f,
    +    0xd6f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d9, 0xbac2,
    +    0x003f, 0x003f, 0x003f, 0xb8cb, 0x003f, 0xc4ed, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0c3, 0xbdee, 0xb9af,
    +    0xcdc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6fa, 0xd6fb, 0xc7d1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd6fc, 0xcef7, 0xcfad, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6fe,
    +    0xd6fd, 0x003f, 0x003f, 0xb3c7, 0x003f, 0x003f, 0xd7a1, 0x003f,
    +    0x003f, 0x003f, 0xd7a4, 0xd7a5, 0x003f, 0xd7a3, 0x003f, 0xc9c0,
    +    0xbeb3, 0xd7a7, 0xd7a6, 0xd7a2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd7a8, 0xd7a9, 0x003f, 0x003f, 0xd7aa, 0x003f, 0x003f, 0x003f,
    +    0xd7ad, 0xd7ab, 0x003f, 0xd7ac, 0xd7ae, 0x003f, 0xb1e4, 0xc4ee,
    +    0xd7af, 0x003f, 0xb7fa, 0xb2f6, 0xc7b6, 0x003f, 0xd7b0, 0xc6fb,
    +    /* 0x5f00 .. 0x5fff */
    +    0x003f, 0xcadb, 0x003f, 0xd7b1, 0xcfae, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd7b2, 0xcac0, 0xd7b5, 0xd0a1, 0xd0b1, 0x003f, 0xbcb0,
    +    0xc6f5, 0xd7b6, 0x003f, 0xb5dd, 0xc4a4, 0xb0fa, 0xd7b7, 0xcaa6,
    +    0xb9b0, 0x003f, 0x003f, 0xc3d0, 0x003f, 0x003f, 0x003f, 0xc4ef,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccef, 0xb8b9, 0xb8cc,
    +    0x003f, 0xd7b8, 0x003f, 0x003f, 0x003f, 0xd7b9, 0x003f, 0xd7bf,
    +    0x003f, 0xbce5, 0x003f, 0x003f, 0x003f, 0xc4a5, 0x003f, 0xb6af,
    +    0xd7ba, 0x003f, 0x003f, 0x003f, 0xc9ab, 0x003f, 0xc3c6, 0x003f,
    +    0x003f, 0xd7bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd7bc, 0x003f, 0xb6b0, 0x003f, 0xd7bd, 0x003f, 0xd7be, 0x003f,
    +    0x003f, 0xd7c0, 0x003f, 0xc5f6, 0x003f, 0x003f, 0xd7c1, 0xd7c2,
    +    0x003f, 0xd7c3, 0x003f, 0x003f, 0xd7b4, 0xd7b3, 0x003f, 0x003f,
    +    0x003f, 0xd7c4, 0xb7c1, 0x003f, 0x003f, 0x003f, 0xc9a7, 0x003f,
    +    0x003f, 0xbacc, 0xc9b7, 0xc4a6, 0xc9cb, 0xd7c5, 0x003f, 0x003f,
    +    0xbeb4, 0xb1c6, 0x003f, 0xd7c6, 0x003f, 0x003f, 0x003f, 0xd7c7,
    +    0x003f, 0xccf2, 0x003f, 0x003f, 0xc8e0, 0x003f, 0x003f, 0xd7ca,
    +    0xb1fd, 0xc0ac, 0xd7c9, 0xd7c8, 0xb7c2, 0xc2d4, 0x003f, 0xd7ce,
    +    0xd7cc, 0x003f, 0xd7cb, 0xcea7, 0xb8e5, 0x003f, 0x003f, 0x003f,
    +    0xbdf9, 0xd7cd, 0xc5cc, 0xbdbe, 0x003f, 0x003f, 0x003f, 0xc6c0,
    +    0xd7d1, 0xd7d0, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7cf, 0x003f,
    +    0xd7d2, 0xb8e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd7d3, 0xc9fc, 0xbddb, 0x003f, 0x003f, 0xd7d4, 0xc8f9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc6c1, 0xc4a7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc5b0, 0x003f, 0x003f, 0xd7d5, 0xb5ab, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbfb4, 0x003f, 0xc9ac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb4f7, 0xc7a6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7d6, 0xbbd6,
    +    0xcbba, 0xcbbb, 0x003f, 0x003f, 0xb1fe, 0xd7db, 0x003f, 0x003f,
    +    0xc3e9, 0x003f, 0x003f, 0x003f, 0xd7d8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb2f7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd8ad, 0xd7da, 0x003f, 0x003f, 0x003f, 0xc7b0, 0x003f, 0x003f,
    +    0xd7d9, 0x003f, 0x003f, 0xd7d7, 0x003f, 0xb9fa, 0x003f, 0xd7dd,
    +    /* 0x6000 .. 0x60ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7e3, 0xd7e9,
    +    0xd7e1, 0x003f, 0xc5dc, 0x003f, 0x003f, 0xd7e6, 0xc9dd, 0x003f,
    +    0x003f, 0xd7e0, 0x003f, 0xd7e5, 0xcee7, 0xbbd7, 0x003f, 0x003f,
    +    0xc2d5, 0xd7de, 0x003f, 0x003f, 0x003f, 0xb5de, 0xd7e8, 0xc0ad,
    +    0xb1e5, 0xd7e2, 0xb2f8, 0xd7e7, 0x003f, 0x003f, 0x003f, 0xb6b1,
    +    0x003f, 0xd7e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd7ec, 0xd7f6, 0xd7f4, 0x003f, 0x003f, 0xd7f1, 0x003f,
    +    0x003f, 0x003f, 0xd7f0, 0xcef8, 0x003f, 0xd7f2, 0x003f, 0x003f,
    +    0xb6b2, 0x003f, 0xb9b1, 0x003f, 0x003f, 0xbdfa, 0x003f, 0x003f,
    +    0x003f, 0xd7f9, 0xd7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ef,
    +    0xd7df, 0x003f, 0xb2fa, 0xd7f3, 0xd7f5, 0xc3d1, 0x003f, 0x003f,
    +    0xbaa8, 0xb2b8, 0xd7ed, 0xd7f8, 0xd7f7, 0xb6b3, 0x003f, 0xc2a9,
    +    0xb3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7c3, 0x003f, 0xd7ee,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd7fa, 0x003f, 0xd7fd, 0xd8a1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbcbd, 0x003f, 0xd8a7, 0xc4f0, 0xd7fb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8a5, 0x003f, 0xb2f9, 0x003f, 0xd8a3, 0xd8a4,
    +    0x003f, 0x003f, 0xd7fe, 0xd8a2, 0x003f, 0x003f, 0x003f, 0xb8e7,
    +    0xcdaa, 0x003f, 0x003f, 0xb4b5, 0x003f, 0x003f, 0xb1d9, 0xd8a6,
    +    0x003f, 0xc7ba, 0xb0ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc8e1, 0xd7dc, 0xd8ac, 0xd8b0, 0xcce5, 0x003f,
    +    0xd8a9, 0x003f, 0x003f, 0x003f, 0xc5e9, 0xd8ae, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbef0, 0xd8af, 0xc6d7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfc7, 0x003f, 0xd8ab, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd8b1, 0x003f, 0xb9fb, 0x003f, 0xc0cb, 0x003f, 0x003f, 0xb0d4,
    +    0xd8aa, 0xd8a8, 0x003f, 0xc1da, 0x003f, 0x003f, 0x003f, 0xd7fc,
    +    0xbbb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc2c6, 0xd8bd, 0x003f, 0xc1db, 0xd8b8, 0x003f, 0xd8b5, 0xd8b6,
    +    0x003f, 0xbce6, 0xd8b9, 0xd8bc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6100 .. 0x61ff */
    +    0xd8b7, 0xbda5, 0x003f, 0xd8ba, 0x003f, 0x003f, 0xd8b4, 0x003f,
    +    0xccfc, 0xccfb, 0x003f, 0x003f, 0x003f, 0xd8be, 0xd8bf, 0xb0d5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8b3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb6f2, 0xb0a6, 0x003f, 0x003f, 0x003f, 0xb4b6,
    +    0x003f, 0xd8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8c3,
    +    0xd8c2, 0x003f, 0x003f, 0x003f, 0xd8c7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c6, 0xd8c9, 0xd8c1, 0xd8c5,
    +    0x003f, 0x003f, 0xd8ca, 0x003f, 0xd8cb, 0x003f, 0x003f, 0xd8c0,
    +    0xbbfc, 0x003f, 0xd8c4, 0xc2d6, 0xb9b2, 0xd8b2, 0xbfb5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8d8, 0x003f, 0xcae9, 0x003f, 0x003f,
    +    0xd8ce, 0xd8cf, 0xd8d0, 0x003f, 0x003f, 0xd8d7, 0x003f, 0xd8d6,
    +    0x003f, 0x003f, 0xcbfd, 0xb4b7, 0x003f, 0xd8d4, 0x003f, 0xb7c5,
    +    0xb3b4, 0x003f, 0x003f, 0xd8d1, 0x003f, 0x003f, 0xceb8, 0xd8d3,
    +    0xb0d6, 0xd8d5, 0x003f, 0xd8cc, 0xd8d2, 0xd8d9, 0xb7c4, 0xd8cd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcddd, 0x003f,
    +    0x003f, 0x003f, 0xcdab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8dc,
    +    0x003f, 0x003f, 0xd8e0, 0x003f, 0x003f, 0x003f, 0xc1fe, 0x003f,
    +    0xcef9, 0xd8e1, 0x003f, 0x003f, 0xd8de, 0x003f, 0xd8db, 0x003f,
    +    0x003f, 0xd8da, 0xd8df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcab0, 0x003f, 0x003f, 0xc6b4,
    +    0x003f, 0xb7c6, 0x003f, 0xd8e2, 0xd8dd, 0x003f, 0xd8e3, 0x003f,
    +    0x003f, 0x003f, 0xb7fb, 0x003f, 0x003f, 0x003f, 0xb2b1, 0x003f,
    +    0x003f, 0x003f, 0xd8eb, 0x003f, 0x003f, 0x003f, 0xb4b8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8e9, 0x003f, 0x003f, 0xd8ea, 0xbaa9,
    +    0xd8e8, 0xd8e6, 0xd8e5, 0xd8ec, 0xd8e4, 0xd8ee, 0x003f, 0x003f,
    +    0xb2fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8f0, 0x003f, 0x003f, 0xd8ef, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc4a8, 0x003f, 0xd8f3, 0x003f, 0xd8f1, 0xd8e7,
    +    0xb7fc, 0x003f, 0xd8f2, 0x003f, 0xd8f6, 0xd8f5, 0xd8f7, 0xd8f4,
    +    /* 0x6200 .. 0x62ff */
    +    0xd8f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd8f9, 0xd8fa, 0xcaea, 0x003f, 0xd8fc, 0xd8fb, 0xbdbf, 0x003f,
    +    0xc0ae, 0xb2e6, 0xb2fc, 0x003f, 0xd8fd, 0x003f, 0xb0bf, 0x003f,
    +    0x003f, 0x003f, 0xc0cc, 0xd8fe, 0x003f, 0xecc3, 0xd9a1, 0xb7e1,
    +    0x003f, 0xd9a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0ef, 0x003f,
    +    0x003f, 0x003f, 0xd9a3, 0x003f, 0x003f, 0x003f, 0xd9a4, 0xb5ba,
    +    0xd9a5, 0x003f, 0xd9a6, 0xd9a7, 0xc2d7, 0x003f, 0x003f, 0x003f,
    +    0xb8cd, 0x003f, 0x003f, 0xcce1, 0x003f, 0x003f, 0x003f, 0xcbbc,
    +    0xbdea, 0xd9a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0f0,
    +    0xeebd, 0xc8e2, 0x003f, 0xbcea, 0x003f, 0xbacd, 0xd9a9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc2c7, 0x003f, 0xcaa7, 0x003f, 0x003f,
    +    0xc2f1, 0x003f, 0x003f, 0xd9ac, 0x003f, 0x003f, 0xd9aa, 0x003f,
    +    0xd9ad, 0x003f, 0x003f, 0xd9ab, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcab1, 0x003f,
    +    0x003f, 0xb0b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9de, 0x003f,
    +    0x003f, 0xc8e3, 0x003f, 0x003f, 0xd9af, 0x003f, 0xd9b2, 0xbeb5,
    +    0xb5bb, 0x003f, 0xd9b0, 0xd9b7, 0xbeb6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd9b1, 0xc7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdde, 0xd9b3, 0xd9b4, 0xd9b8, 0xc5ea, 0xd9b5, 0xb9b3,
    +    0xc0de, 0x003f, 0x003f, 0xd9c6, 0xc8b4, 0x003f, 0xc2f2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc8e4, 0xdaad, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcafa, 0x003f, 0x003f, 0x003f, 0xc4f1, 0x003f, 0x003f,
    +    0x003f, 0xcbf5, 0x003f, 0xd9bb, 0xb2a1, 0xc3ea, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd9c4, 0x003f, 0x003f, 0xc3b4, 0xd9be, 0xd9c5,
    +    0xd9c0, 0xd9c7, 0xd9c3, 0x003f, 0xd9c2, 0xc7ef, 0x003f, 0xd9bc,
    +    0xb2fd, 0xd9ba, 0xb5f1, 0xc2f3, 0xd9b6, 0x003f, 0x003f, 0xd9b9,
    +    0xb9b4, 0xc0db, 0x003f, 0xbeb7, 0xd9c1, 0xc7d2, 0x003f, 0x003f,
    +    0xb5f2, 0xb3c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb3e7, 0xbfa1, 0xd9c9, 0xd9ce,
    +    0x003f, 0xd9ca, 0x003f, 0xb7fd, 0x003f, 0xd9cf, 0xbba2, 0xb9e9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbda6, 0xd9bd,
    +    /* 0x6300 .. 0x63ff */
    +    0x003f, 0xbbfd, 0xd9cc, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbd8,
    +    0xd9cd, 0xb0c4, 0x003f, 0x003f, 0xd9c8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc4a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb5f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6b4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cb,
    +    0xb0a7, 0x003f, 0x003f, 0xbac3, 0x003f, 0x003f, 0x003f, 0xbfb6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc4f2, 0x003f, 0x003f, 0xc8d4, 0xd9d1, 0xc1de,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc2aa, 0x003f, 0x003f, 0xbbab, 0xd9d2, 0x003f, 0xd9d4,
    +    0xd9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0xcae1, 0x003f, 0xc4bd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc1dc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafb,
    +    0xbcce, 0xd9e0, 0x003f, 0xd9df, 0x003f, 0x003f, 0xbff8, 0x003f,
    +    0x003f, 0x003f, 0xb7fe, 0x003f, 0x003f, 0x003f, 0xd9d9, 0xbeb9,
    +    0x003f, 0x003f, 0xc6e8, 0xc7b1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9d7, 0x003f, 0x003f, 0xc1dd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbcf8, 0xd9dc, 0x003f, 0x003f, 0xbeb8, 0x003f, 0xd9d6, 0xd9db,
    +    0x003f, 0x003f, 0xc7d3, 0x003f, 0x003f, 0x003f, 0xd9d5, 0x003f,
    +    0xb7a1, 0x003f, 0x003f, 0xb3dd, 0x003f, 0x003f, 0x003f, 0xd9dd,
    +    0xceab, 0xbace, 0xc3b5, 0xd9da, 0x003f, 0xc0dc, 0x003f, 0xb9b5,
    +    0xbfe4, 0xb1e6, 0xc1bc, 0xd9d8, 0xb5c5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb7c7, 0x003f, 0xc4cf, 0xd9de, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc1df, 0x003f, 0x003f, 0xd9e1, 0x003f,
    +    0xd9e3, 0x003f, 0x003f, 0xc2b7, 0xd9e9, 0x003f, 0xd9e4, 0x003f,
    +    0x003f, 0xd9e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9c1,
    +    0xc4f3, 0x003f, 0xd9e7, 0x003f, 0x003f, 0x003f, 0xcdac, 0x003f,
    +    0x003f, 0x003f, 0xcdc8, 0xb4b9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb0ae, 0x003f, 0xd9e5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4f8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb1e7, 0x003f, 0xd9e8, 0x003f,
    +    0x003f, 0x003f, 0xcdc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6400 .. 0x64ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ec, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2bb, 0x003f, 0xd9f3,
    +    0x003f, 0x003f, 0x003f, 0xd9ed, 0x003f, 0x003f, 0xd9ea, 0xd9f1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd9d3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ee, 0x003f,
    +    0xd9f2, 0x003f, 0x003f, 0x003f, 0xc8c2, 0xc5eb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd9eb, 0x003f, 0xd9ef, 0x003f,
    +    0x003f, 0x003f, 0xb7c8, 0x003f, 0x003f, 0x003f, 0xbaf1, 0x003f,
    +    0x003f, 0x003f, 0xc0dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc5a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f4,
    +    0x003f, 0xcbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f6, 0x003f,
    +    0xccce, 0x003f, 0xc0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb7e2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbbb5, 0xd9fa, 0x003f, 0xd9f9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc7b2, 0x003f, 0x003f, 0x003f, 0xc6b5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc5b1, 0xd9fb, 0x003f, 0x003f,
    +    0x003f, 0xd9fc, 0x003f, 0xc9ef, 0x003f, 0xc7c5, 0xbba3, 0x003f,
    +    0xc0f1, 0x003f, 0xcbd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3c9, 0x003f, 0xdaa5, 0xd9fe, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdca, 0xdaa7, 0x003f, 0x003f, 0xdaa3, 0x003f, 0xdaa4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1e0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdaa2, 0x003f, 0xd9bf, 0x003f, 0x003f, 0x003f,
    +    0xdaa6, 0x003f, 0xdaa1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdaab, 0xdaac, 0xc5a7, 0xdaae, 0x003f, 0x003f, 0xbba4, 0xdaa9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb5bc, 0x003f, 0x003f, 0xdaaf,
    +    0x003f, 0xdaa8, 0xdab3, 0x003f, 0xdab2, 0x003f, 0xdab1, 0x003f,
    +    0x003f, 0x003f, 0xdab4, 0x003f, 0x003f, 0xdab6, 0xbef1, 0x003f,
    +    /* 0x6500 .. 0x65ff */
    +    0xdab5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdab9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdab7, 0x003f, 0x003f, 0x003f, 0xdab8, 0xd9f0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdabb, 0xdaba, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd9f8, 0xdabc, 0xdab0, 0x003f, 0x003f, 0xbbd9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdabd, 0xdabe, 0xdac0, 0xdabf,
    +    0xdac1, 0xb2fe, 0x003f, 0xb9b6, 0x003f, 0x003f, 0xcafc, 0xc0af,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8ce, 0x003f, 0x003f,
    +    0xdac3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdac6, 0x003f, 0xc9d2,
    +    0x003f, 0xb5df, 0x003f, 0x003f, 0x003f, 0xdac5, 0xdac4, 0xc7d4,
    +    0xdac7, 0xb6b5, 0x003f, 0x003f, 0x003f, 0xdac9, 0xdac8, 0x003f,
    +    0x003f, 0x003f, 0xb4ba, 0xbbb6, 0x003f, 0x003f, 0xc6d8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb7c9, 0x003f, 0x003f, 0x003f,
    +    0xbff4, 0x003f, 0xdaca, 0x003f, 0xc0b0, 0xc5a8, 0x003f, 0xc9df,
    +    0xdacb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdacc, 0xdacd, 0x003f, 0x003f, 0x003f, 0xcab8,
    +    0xd5dd, 0xc0c6, 0x003f, 0x003f, 0xc9cc, 0x003f, 0xbad8, 0x003f,
    +    0xc8e5, 0xc8c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5cd,
    +    0x003f, 0xcec1, 0x003f, 0xdacf, 0xbcd0, 0x003f, 0x003f, 0xdad0,
    +    0x003f, 0xb0b6, 0x003f, 0x003f, 0xb6d4, 0xc0cd, 0x003f, 0xc9e0,
    +    0x003f, 0x003f, 0x003f, 0xdad1, 0xbbc2, 0xc3c7, 0x003f, 0xbbdb,
    +    0xbfb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdad2,
    +    0x003f, 0xcafd, 0x003f, 0x003f, 0xb1f7, 0xbbdc, 0x003f, 0x003f,
    +    0x003f, 0xdad5, 0x003f, 0xdad3, 0xdad6, 0xceb9, 0xdad4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc0fb, 0xdad7, 0x003f, 0x003f, 0xc2b2,
    +    0x003f, 0x003f, 0xdad8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4fa,
    +    0x003f, 0xdada, 0x003f, 0xdad9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdadb, 0xdadc, 0xb4fb, 0x003f, 0x003f, 0xc6fc, 0xc3b6, 0xb5ec,
    +    0xbbdd, 0xc1e1, 0x003f, 0x003f, 0xbddc, 0xb0b0, 0x003f, 0x003f,
    +    0x003f, 0xdadd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb2a2, 0xdae1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6600 .. 0x66ff */
    +    0x003f, 0x003f, 0xb9b7, 0xdae0, 0x003f, 0x003f, 0xbaab, 0xbeba,
    +    0x003f, 0x003f, 0xdadf, 0x003f, 0xbebb, 0x003f, 0xccc0, 0xbaaa,
    +    0x003f, 0x003f, 0x003f, 0xb0d7, 0xc0ce, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdae6, 0x003f, 0x003f, 0xc0b1,
    +    0xb1c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdd5, 0x003f, 0xcbe6,
    +    0xbaf2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbebc, 0x003f, 0xc0a7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdae5, 0xdae3, 0xdae4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc3eb, 0x003f, 0x003f, 0xdba6,
    +    0x003f, 0xdaea, 0xbbfe, 0xb9b8, 0xdae8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdae9, 0x003f, 0xbfb8, 0x003f, 0x003f, 0x003f, 0xdae7,
    +    0x003f, 0x003f, 0xbbaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaec, 0xdaeb, 0xdaf0,
    +    0x003f, 0x003f, 0xdaf1, 0x003f, 0xdaed, 0x003f, 0xb3a2, 0xdaee,
    +    0xdaef, 0xc8d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9e1, 0xb7ca,
    +    0xdaf2, 0x003f, 0x003f, 0x003f, 0xc0b2, 0x003f, 0xbebd, 0x003f,
    +    0x003f, 0x003f, 0xc3d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb6c7, 0x003f, 0xdaf3, 0xdaf7, 0x003f, 0x003f, 0xb2cb,
    +    0xdaf4, 0xdaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaf5, 0x003f,
    +    0x003f, 0xbdeb, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3c8, 0xb0c5,
    +    0xdaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaf9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc4aa, 0x003f, 0x003f, 0x003f, 0xcef1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbbc3, 0x003f, 0x003f, 0xcaeb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcbbd, 0x003f, 0x003f, 0x003f,
    +    0xdba2, 0xdafb, 0x003f, 0x003f, 0xdafe, 0x003f, 0xdafd, 0x003f,
    +    0x003f, 0xdafa, 0x003f, 0x003f, 0xdba1, 0x003f, 0x003f, 0xc6de,
    +    0x003f, 0xdafc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba3, 0x003f,
    +    0x003f, 0xbdec, 0xdba4, 0x003f, 0xcdcb, 0xc7f8, 0x003f, 0x003f,
    +    0xdba5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba7, 0x003f,
    +    0x003f, 0xdba8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdba9, 0x003f, 0xb6ca, 0xb1c8, 0xb9b9, 0xdbaa, 0x003f, 0xdbab,
    +    0xbdf1, 0xc1e2, 0x003f, 0x003f, 0xd2d8, 0xc1be, 0xc1bd, 0xc2d8,
    +    /* 0x6700 .. 0x67ff */
    +    0xbac7, 0x003f, 0x003f, 0xd0f2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb7ee, 0xcdad, 0x003f, 0xcafe, 0x003f, 0xc9fe, 0x003f, 0xdbac,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbaf3, 0xc4bf, 0xdbad, 0xcfaf,
    +    0x003f, 0x003f, 0x003f, 0xcbbe, 0x003f, 0xc4ab, 0xdbae, 0xb4fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbaf, 0xdbb0,
    +    0xccda, 0x003f, 0xcca4, 0xcbf6, 0xcbdc, 0xbba5, 0xdbb2, 0x003f,
    +    0x003f, 0xbceb, 0x003f, 0x003f, 0xcbd1, 0x003f, 0xdbb4, 0xdbb7,
    +    0xdbb6, 0x003f, 0xb4f9, 0x003f, 0x003f, 0xb5e0, 0x003f, 0xdbb3,
    +    0x003f, 0xdbb5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbb8, 0x003f,
    +    0x003f, 0xbff9, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdfb, 0xb0c9,
    +    0xbae0, 0xc2bc, 0x003f, 0xbcdd, 0x003f, 0x003f, 0xbef3, 0x003f,
    +    0x003f, 0xdbbb, 0x003f, 0x003f, 0xc5ce, 0x003f, 0xdbb9, 0xc2ab,
    +    0xdbba, 0xbef2, 0xccdd, 0xdbbc, 0xdbbd, 0xcde8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbc2, 0x003f, 0x003f, 0xb9ba, 0x003f, 0xc7d5,
    +    0xdbbf, 0xc5ec, 0xdade, 0xdae2, 0x003f, 0xb5cf, 0x003f, 0xc7c7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdbc1, 0x003f, 0xbebe, 0xc8c4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbc7, 0x003f, 0xc8fa,
    +    0x003f, 0xdbbe, 0x003f, 0xdbc4, 0xdbc3, 0x003f, 0x003f, 0x003f,
    +    0xc0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbed, 0x003f, 0xced3,
    +    0x003f, 0x003f, 0xcbe7, 0x003f, 0xb2cc, 0xbbde, 0x003f, 0x003f,
    +    0xcfc8, 0xdbc6, 0xbff5, 0x003f, 0x003f, 0x003f, 0xdbc5, 0x003f,
    +    0x003f, 0xdbc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8cf,
    +    0x003f, 0x003f, 0x003f, 0xdbcc, 0xdbca, 0x003f, 0xb2cd, 0xdbc8,
    +    0xdbce, 0xdbd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc2c8, 0x003f, 0x003f, 0xcac1, 0x003f, 0xdbd6, 0x003f,
    +    0x003f, 0x003f, 0xc9a2, 0x003f, 0x003f, 0x003f, 0xdbd5, 0xc7f0,
    +    0xcbbf, 0xb4bb, 0x003f, 0xc0f7, 0xbdc0, 0x003f, 0x003f, 0x003f,
    +    0xc4d3, 0x003f, 0xcdae, 0x003f, 0x003f, 0xdbd1, 0xdbd0, 0x003f,
    +    0x003f, 0x003f, 0xdbd2, 0x003f, 0xdbcf, 0x003f, 0x003f, 0xdbd7,
    +    0x003f, 0xdbcd, 0x003f, 0x003f, 0xdbcb, 0x003f, 0xdbd3, 0xdbc9,
    +    0x003f, 0xc3ec, 0x003f, 0xccf8, 0xbcc6, 0xbaf4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbaba, 0x003f, 0x003f, 0xcbef, 0xb3c1,
    +    /* 0x6800 .. 0x68ff */
    +    0x003f, 0x003f, 0xc4ce, 0xc6ca, 0xb1c9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc0f2, 0x003f, 0x003f, 0xc0b4, 0xb7aa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbd9, 0x003f,
    +    0x003f, 0xb9bb, 0xb3fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdbdb, 0xb3f4, 0xdbe1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbde, 0x003f, 0xc0f3, 0x003f, 0x003f, 0x003f,
    +    0xb3cb, 0xbaac, 0x003f, 0x003f, 0xb3ca, 0xbacf, 0x003f, 0x003f,
    +    0xdbdc, 0xb7e5, 0xb7cb, 0xc5ed, 0x003f, 0x003f, 0xdbda, 0x003f,
    +    0xb0c6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbdd, 0xdbdf, 0x003f,
    +    0xb6cd, 0xb7ac, 0x003f, 0xb4bc, 0xb5cb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdbe2, 0x003f, 0x003f, 0xbaf9, 0xcbf1, 0x003f, 0xbbb7,
    +    0x003f, 0x003f, 0x003f, 0xdbe3, 0x003f, 0x003f, 0x003f, 0xc9b0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdbef, 0x003f, 0xb2b3, 0xdbe4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf5, 0xdbe5,
    +    0x003f, 0xcec2, 0x003f, 0xdbec, 0x003f, 0xc7df, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf4, 0x003f, 0xdbe7,
    +    0x003f, 0x003f, 0x003f, 0xb0b4, 0xdbe9, 0x003f, 0x003f, 0xb9bc,
    +    0x003f, 0x003f, 0x003f, 0xdbeb, 0x003f, 0xdbea, 0x003f, 0xdbe6,
    +    0xdbf1, 0x003f, 0xbebf, 0x003f, 0x003f, 0x003f, 0xd4ed, 0xb8e8,
    +    0xcdfc, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbe8, 0x003f, 0xc4f4,
    +    0xb3a3, 0xbaad, 0x003f, 0xdbe0, 0x003f, 0xdbf0, 0xb3e1, 0x003f,
    +    0x003f, 0xdbee, 0xdbf2, 0x003f, 0xc5ee, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb4fe, 0x003f, 0xdcb2, 0x003f,
    +    0x003f, 0xccc9, 0xdbf7, 0xb4fd, 0x003f, 0xdbfe, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcbc0, 0x003f, 0xdca1, 0xdca3, 0x003f, 0xdca7,
    +    0xdbf9, 0x003f, 0xc3aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5ef,
    +    0xdcab, 0xdbfc, 0x003f, 0xdca8, 0x003f, 0x003f, 0x003f, 0xdca2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfb9, 0xdcac,
    +    0x003f, 0x003f, 0xc0b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdcaa, 0xb4bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6900 .. 0x69ff */
    +    0xcfd0, 0xdbf6, 0x003f, 0x003f, 0xdca6, 0xb0d8, 0x003f, 0x003f,
    +    0xdbf8, 0x003f, 0x003f, 0xccba, 0xdbfd, 0xbfa2, 0xc4c7, 0xdbf3,
    +    0x003f, 0x003f, 0xdca5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbffa, 0xdcaf, 0xb3f1, 0xb8a1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdcb1, 0xdbfa, 0xdcb0, 0x003f, 0xdca9, 0xdbfb, 0x003f,
    +    0xdcad, 0x003f, 0xdcae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdcbf, 0x003f, 0x003f, 0x003f, 0xc6ce, 0x003f, 0xdca4, 0x003f,
    +    0x003f, 0xdcbb, 0x003f, 0x003f, 0x003f, 0xdcbd, 0x003f, 0xc4d8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc9f6, 0xdcb8, 0xc2ca, 0x003f, 0x003f,
    +    0x003f, 0xdcbe, 0xc1bf, 0x003f, 0xdcb5, 0xdcc2, 0xdcc1, 0x003f,
    +    0xc6ef, 0xdcc0, 0xc6ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdcc4, 0xdcb7, 0x003f, 0xb6c8, 0xdcba, 0xbddd,
    +    0x003f, 0x003f, 0x003f, 0xc7e0, 0xdcbc, 0xb6cb, 0x003f, 0xdcb4,
    +    0xdcb6, 0xdcb3, 0x003f, 0x003f, 0xcfb0, 0xb3da, 0xdcb9, 0x003f,
    +    0x003f, 0xdcc3, 0xb3b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbae7, 0x003f, 0x003f, 0x003f, 0xb1dd, 0x003f,
    +    0x003f, 0xdcd4, 0x003f, 0x003f, 0xcfb1, 0xdcd7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbfba, 0xdcd6, 0x003f, 0x003f, 0x003f,
    +    0xdcd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcd2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcc6, 0x003f,
    +    0x003f, 0xdce3, 0xdcc5, 0x003f, 0xdcd8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdcd0, 0x003f, 0x003f, 0xdccb, 0xdcc8,
    +    0x003f, 0xdcc9, 0x003f, 0xdcd1, 0x003f, 0x003f, 0x003f, 0xf4a2,
    +    0x003f, 0x003f, 0xdcce, 0xb9bd, 0xc4c8, 0xc1e4, 0xdccc, 0x003f,
    +    0xdcc7, 0x003f, 0x003f, 0xdcca, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcdcd, 0xcbea, 0x003f, 0x003f, 0x003f, 0xdccf, 0xdcd9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce1,
    +    0xdcda, 0x003f, 0x003f, 0xdce7, 0x003f, 0xdce5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdce0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdcdf, 0x003f, 0xc4d0, 0x003f, 0xc1e5, 0x003f, 0xdcdd,
    +    /* 0x6a00 .. 0x6aff */
    +    0x003f, 0x003f, 0xdcdb, 0x003f, 0x003f, 0xdce2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdce8, 0xc8f5, 0xdcee, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdce9, 0xdcec, 0xdce6, 0x003f, 0x003f, 0xc3f4,
    +    0x003f, 0xc9b8, 0x003f, 0xdcdc, 0x003f, 0x003f, 0xdce4, 0xbec0,
    +    0x003f, 0xcccf, 0xdcf8, 0xdceb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb8a2, 0xb2a3, 0xb3df, 0x003f, 0x003f, 0xdcd3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbec1, 0xdcf0, 0x003f,
    +    0xdcf7, 0xbcf9, 0xb3f2, 0x003f, 0x003f, 0xc3ae, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdced, 0x003f, 0x003f, 0xdcf2,
    +    0xdcf6, 0x003f, 0x003f, 0xb6b6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb5cc, 0xdcf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a1,
    +    0x003f, 0xc6cb, 0xdcf3, 0x003f, 0x003f, 0x003f, 0xdcf5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdcef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdcf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3e0,
    +    0xc3c9, 0x003f, 0x003f, 0x003f, 0xdcfc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcfa, 0xb8e9, 0x003f,
    +    0xdcf9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdda1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdbd8, 0x003f, 0x003f, 0x003f,
    +    0xdcfb, 0x003f, 0xdcfd, 0xdcfe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddac, 0x003f, 0xdda8, 0x003f, 0xdbed, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdda7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdda6, 0x003f, 0x003f, 0xdda3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdcea, 0xdda5, 0xdda4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xddaa, 0x003f, 0xcfa6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddad, 0xb6fb, 0x003f, 0x003f, 0xdda9, 0xddab,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc8a7, 0x003f, 0xddae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddb2, 0xddaf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6b00 .. 0x6bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcdf3, 0xddb0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdcde, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddb3, 0x003f, 0x003f, 0x003f, 0xddb4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1b5, 0x003f, 0xddb6,
    +    0xb7e7, 0xbca1, 0x003f, 0xb6d5, 0x003f, 0x003f, 0x003f, 0xb2a4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcddf, 0x003f, 0x003f, 0x003f, 0x003f, 0xddb8,
    +    0xddb7, 0xddba, 0xb5bd, 0x003f, 0x003f, 0xb6d6, 0xb4be, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xddbd, 0x003f, 0x003f, 0x003f, 0xddbc,
    +    0x003f, 0xddbe, 0x003f, 0x003f, 0xb2ce, 0x003f, 0xc3b7, 0x003f,
    +    0xddbf, 0x003f, 0x003f, 0xb4bf, 0xddc1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xddc0, 0x003f, 0xddc2, 0x003f, 0x003f, 0x003f, 0xddc3,
    +    0x003f, 0xddc4, 0xbbdf, 0xc0b5, 0xbaa1, 0x003f, 0xc9f0, 0x003f,
    +    0x003f, 0xcae2, 0xcfc4, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbf5,
    +    0x003f, 0x003f, 0x003f, 0xbad0, 0xcef2, 0x003f, 0x003f, 0x003f,
    +    0xddc5, 0xddc6, 0x003f, 0xbbe0, 0x003f, 0x003f, 0x003f, 0xddc7,
    +    0xddc8, 0x003f, 0x003f, 0xddca, 0xddc9, 0x003f, 0xcbd8, 0x003f,
    +    0x003f, 0xbdde, 0xbcec, 0xbbc4, 0x003f, 0xddcb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddcd, 0xbfa3, 0x003f,
    +    0xddcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddce, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xddcf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddd0, 0xddd1, 0x003f, 0x003f, 0x003f, 0xddd2,
    +    0x003f, 0xddd4, 0xddd3, 0xddd5, 0xb2a5, 0xc3ca, 0x003f, 0xddd6,
    +    0x003f, 0x003f, 0xbba6, 0xb3cc, 0xddd7, 0x003f, 0x003f, 0xc5c2,
    +    0xd4cc, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a3, 0xddd8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xddd9, 0x003f, 0xcaec, 0xcbe8, 0x003f,
    +    0x003f, 0x003f, 0xc6c7, 0xddda, 0xc8e6, 0x003f, 0x003f, 0x003f,
    +    0xc8fb, 0x003f, 0x003f, 0xccd3, 0x003f, 0x003f, 0x003f, 0xdddb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdddd, 0xdddc, 0x003f, 0x003f, 0xdddf,
    +    0x003f, 0x003f, 0x003f, 0xddde, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6c00 .. 0x6cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbe1,
    +    0x003f, 0xccb1, 0x003f, 0xdde2, 0xdde3, 0x003f, 0x003f, 0xb5a4,
    +    0x003f, 0x003f, 0x003f, 0xdde4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdde6, 0xdde5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbfe5, 0x003f, 0x003f, 0xc9b9,
    +    0xb1ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8c5, 0x003f,
    +    0xc4f5, 0xbdc1, 0xb5e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8c6, 0x003f,
    +    0xbcae, 0x003f, 0x003f, 0x003f, 0x003f, 0xdde8, 0x003f, 0xb4c0,
    +    0x003f, 0x003f, 0xb1f8, 0x003f, 0x003f, 0xc6f2, 0xdde7, 0xb9be,
    +    0xc3d3, 0x003f, 0xdde9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xddf1, 0x003f, 0xddea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc2c1, 0x003f, 0xb5e2, 0xddf2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb7e8, 0x003f, 0x003f, 0xb5a5, 0xddf0, 0x003f,
    +    0x003f, 0xddee, 0xddeb, 0xcde0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc4c0, 0x003f, 0x003f, 0x003f, 0xc6d9, 0xddec, 0x003f, 0x003f,
    +    0xddf4, 0x003f, 0xddf3, 0xb7a3, 0x003f, 0x003f, 0xb2ad, 0x003f,
    +    0x003f, 0xbabb, 0xdded, 0xddef, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcbd7, 0xc2f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcbf7, 0x003f, 0x003f, 0xddfc, 0x003f,
    +    0x003f, 0xddfd, 0x003f, 0xb2cf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcaa8, 0xccfd, 0xdea1, 0xbca3, 0xbec2, 0xddf8, 0xddfe, 0xb1e8,
    +    0x003f, 0xb6b7, 0x003f, 0x003f, 0xddf5, 0xddfa, 0x003f, 0x003f,
    +    0x003f, 0xc0f4, 0xc7f1, 0x003f, 0xc8e7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xddf7, 0x003f, 0xcba1, 0x003f, 0xddf9,
    +    0x003f, 0xdea4, 0x003f, 0xdea2, 0x003f, 0xddfb, 0x003f, 0x003f,
    +    0x003f, 0xcba2, 0xc7c8, 0xb5e3, 0x003f, 0xc5a5, 0x003f, 0x003f,
    +    0xc3ed, 0x003f, 0xdea5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdea3,
    +    0xc2d9, 0xddf6, 0x003f, 0xb1cb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6d00 .. 0x6dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcdce, 0xdeb0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdeaf, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0f6,
    +    0x003f, 0xdeac, 0x003f, 0xcdec, 0x003f, 0x003f, 0xc6b6, 0xdea6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4c5, 0x003f, 0x003f,
    +    0x003f, 0xb1cc, 0xb9bf, 0xdea9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbda7, 0xdeae, 0x003f, 0xdead, 0xdea8, 0x003f,
    +    0xdeab, 0x003f, 0x003f, 0xb3e8, 0x003f, 0xdeaa, 0xc7c9, 0x003f,
    +    0x003f, 0xceae, 0x003f, 0x003f, 0xbef4, 0xc0f5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdeb6, 0xdeb4, 0x003f, 0xc9cd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdeb1, 0xdeb3, 0x003f, 0xb1ba, 0x003f,
    +    0x003f, 0xb9c0, 0xcfb2, 0x003f, 0xb3bd, 0x003f, 0xc9e2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcde1, 0x003f, 0x003f, 0xb3a4,
    +    0xbfbb, 0xdeb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeba, 0x003f, 0x003f,
    +    0xbec3, 0x003f, 0x003f, 0x003f, 0xcdb0, 0x003f, 0xdeb7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdeb2, 0x003f, 0xdeb8, 0x003f, 0x003f,
    +    0x003f, 0xcede, 0x003f, 0xc5f3, 0xc6c2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3b6,
    +    0x003f, 0x003f, 0xb1d5, 0x003f, 0x003f, 0xdebe, 0x003f, 0x003f,
    +    0xdec1, 0x003f, 0x003f, 0x003f, 0xcec3, 0x003f, 0x003f, 0x003f,
    +    0xcde4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdec8, 0xdec2, 0xdebf,
    +    0x003f, 0x003f, 0x003f, 0xced4, 0xdec5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbdca, 0xdec7, 0x003f, 0x003f, 0xdecc, 0x003f, 0x003f,
    +    0xc5f1, 0xdeca, 0x003f, 0x003f, 0x003f, 0x003f, 0xdec4, 0x003f,
    +    0x003f, 0xc3b8, 0x003f, 0x003f, 0xdecb, 0x003f, 0xdec0, 0x003f,
    +    0xdec6, 0x003f, 0xdecd, 0xb0fc, 0xdec3, 0x003f, 0xdece, 0x003f,
    +    0x003f, 0xbfbc, 0x003f, 0xbddf, 0x003f, 0xcaa5, 0x003f, 0xbaae,
    +    0x003f, 0xdebb, 0xdec9, 0xc5ba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6e00 .. 0x6eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0b6, 0x003f, 0xb3e9,
    +    0xbad1, 0xbec4, 0xdebd, 0xbdc2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb7cc, 0x003f, 0xdebc, 0x003f, 0x003f,
    +    0x003f, 0xded2, 0xbded, 0xb8ba, 0x003f, 0xdee1, 0x003f, 0xdedb,
    +    0xb5f4, 0xc5cf, 0x003f, 0xded6, 0xdedf, 0xb0af, 0xb1b2, 0x003f,
    +    0x003f, 0xb2b9, 0x003f, 0xded8, 0xc2ac, 0xdecf, 0xded1, 0xb9c1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdee2, 0x003f, 0xdedd, 0x003f, 0x003f, 0x003f, 0xded5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdedc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xccab, 0x003f, 0x003f, 0xdeda, 0xdede, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8d0, 0x003f,
    +    0xbec5, 0x003f, 0x003f, 0xc3b9, 0x003f, 0x003f, 0x003f, 0xded4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdaf,
    +    0x003f, 0x003f, 0x003f, 0xded7, 0x003f, 0x003f, 0xded0, 0xc5f2,
    +    0x003f, 0x003f, 0xded3, 0x003f, 0x003f, 0x003f, 0xded9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfd1, 0xbcbe,
    +    0xcbfe, 0x003f, 0xdee3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc8ae, 0x003f, 0x003f, 0xdeef,
    +    0xb8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde0, 0x003f,
    +    0xdee5, 0x003f, 0x003f, 0x003f, 0xceaf, 0xb9c2, 0x003f, 0xdef2,
    +    0x003f, 0x003f, 0xb0ee, 0x003f, 0x003f, 0xdef0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdee4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeea,
    +    0x003f, 0x003f, 0xdeec, 0x003f, 0x003f, 0x003f, 0xcdcf, 0xdee7,
    +    0x003f, 0x003f, 0xc5ae, 0x003f, 0x003f, 0xdee9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdef1, 0x003f, 0xdeeb, 0xccc7, 0x003f, 0x003f,
    +    0x003f, 0xdee6, 0x003f, 0xbca2, 0xdefe, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3ea, 0x003f, 0xdee8, 0xdeed, 0xdeee, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2ec, 0xc2da, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdef6, 0x003f, 0x003f, 0xdefc,
    +    0x003f, 0x003f, 0xdefa, 0x003f, 0xc5a9, 0x003f, 0x003f, 0xdfa3,
    +    0xdef7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdef8, 0xdee0,
    +    /* 0x6f00 .. 0x6fff */
    +    0x003f, 0xb5f9, 0xc9ba, 0x003f, 0x003f, 0x003f, 0xbcbf, 0x003f,
    +    0x003f, 0xb9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfb3,
    +    0x003f, 0xdef4, 0x003f, 0xdfa2, 0xb1e9, 0xc1e6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc7f9, 0x003f, 0xb4c1, 0xcefa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcca1, 0xc4d2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdefb, 0xdefd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc1b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa1, 0xdef9,
    +    0x003f, 0xdef3, 0x003f, 0x003f, 0x003f, 0xb4c3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb7e9, 0x003f, 0x003f, 0x003f,
    +    0xdfaf, 0x003f, 0x003f, 0xdfaa, 0xc0f8, 0x003f, 0x003f, 0xb3e3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbde1, 0x003f, 0xdfb3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfac, 0xc4ac, 0xdfa9,
    +    0xc4d9, 0x003f, 0x003f, 0x003f, 0xdfcc, 0x003f, 0x003f, 0x003f,
    +    0xdfa6, 0x003f, 0xdfa5, 0x003f, 0xdfae, 0x003f, 0x003f, 0x003f,
    +    0xdfa8, 0xdfa7, 0xdfad, 0x003f, 0xc0a1, 0x003f, 0xdfa4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb0, 0x003f,
    +    0x003f, 0xdfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4c2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfb6, 0x003f, 0xdfb5, 0xdfb7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdfba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc5c3, 0x003f, 0xdfb4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb7e3, 0xc2f9, 0xdfb2, 0xc7bb, 0x003f, 0x003f, 0xdfb9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdfbe, 0xdfbc, 0x003f, 0x003f,
    +    0xdfbf, 0x003f, 0x003f, 0xdfc2, 0x003f, 0x003f, 0x003f, 0xdfbb,
    +    0xb9ea, 0xc7a8, 0x003f, 0x003f, 0xdeb9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcdf4, 0xdfbd, 0x003f, 0xdfc1, 0xc2f5,
    +    0x003f, 0xdfc0, 0x003f, 0xdfab, 0x003f, 0x003f, 0xefe9, 0x003f,
    +    0x003f, 0x003f, 0xdfc5, 0x003f, 0x003f, 0x003f, 0xdfc9, 0x003f,
    +    /* 0x7000 .. 0x70ff */
    +    0x003f, 0xdfc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfc3, 0x003f, 0xdfc4, 0x003f, 0x003f, 0x003f, 0xdfc8,
    +    0x003f, 0xdfc6, 0x003f, 0x003f, 0x003f, 0xc9ce, 0x003f, 0x003f,
    +    0xdfce, 0x003f, 0xdfcb, 0xdfca, 0x003f, 0xdfcd, 0xc6d4, 0xdfcf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3f5, 0xc2ed,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc0a5, 0x003f, 0x003f, 0x003f,
    +    0xdfd0, 0x003f, 0xdfd2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfd1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdef5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfd3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc6e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdfd4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb2d0, 0x003f, 0x003f, 0x003f, 0xc5f4,
    +    0xb3a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb5e4, 0x003f, 0x003f, 0x003f, 0xbcde, 0xbad2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfa7, 0xbfe6, 0x003f, 0x003f, 0x003f, 0xb1ea, 0x003f,
    +    0x003f, 0x003f, 0xdfd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdfd9, 0xc3ba, 0xdfdc, 0xdfd7,
    +    0x003f, 0x003f, 0x003f, 0xdfdb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdfda, 0xc5c0, 0xb0d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcef5, 0x003f, 0x003f, 0xdfde, 0x003f, 0x003f, 0x003f, 0xb1a8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfe0, 0x003f, 0x003f, 0x003f, 0xdfdf, 0x003f, 0xdfdd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcba3, 0x003f, 0x003f, 0x003f, 0xdfe2, 0x003f, 0x003f,
    +    /* 0x7100 .. 0x71ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb1eb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfe4, 0xcab2, 0x003f, 0xdfe3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccb5, 0x003f, 0x003f, 0x003f, 0x003f, 0xbec7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1b3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbec6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcefb, 0x003f, 0x003f, 0xdfea, 0x003f, 0xc0f9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfe6, 0xdfeb, 0x003f,
    +    0x003f, 0xb1ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdfe9, 0x003f, 0xc7e1, 0xdfe5, 0xdfe8, 0xbec8,
    +    0x003f, 0xc8d1, 0x003f, 0x003f, 0xdfec, 0x003f, 0xbcd1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0fa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdfef, 0x003f, 0x003f, 0x003f,
    +    0xdfe7, 0x003f, 0xb7a7, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfed,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcdd0, 0xdff0, 0x003f, 0x003f,
    +    0x003f, 0xf4a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdcf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdff1, 0x003f, 0x003f, 0x003f, 0xdff2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc7ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdff4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc7b3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc5f5, 0xdff7, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff9, 0x003f,
    +    0xced5, 0x003f, 0xdff6, 0x003f, 0xdff8, 0xb1ed, 0x003f, 0xdff3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3db,
    +    0xdffa, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1e7, 0xbbb8, 0xdffc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdffb, 0xbfa4, 0xd2d9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdffd, 0x003f, 0x003f,
    +    0x003f, 0xe0a1, 0x003f, 0xdfee, 0xdffe, 0x003f, 0x003f, 0xe0a2,
    +    /* 0x7200 .. 0x72ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7fa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a3, 0x003f, 0x003f,
    +    0xe0a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0a5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0a6, 0x003f, 0xc4de, 0x003f, 0xe0a8, 0xe0a7, 0x003f, 0x003f,
    +    0xe0a9, 0x003f, 0xe0aa, 0x003f, 0x003f, 0xbcdf, 0xc9e3, 0x003f,
    +    0x003f, 0x003f, 0xccec, 0xe0ab, 0xe0ac, 0xc1d6, 0xbca4, 0xe0ad,
    +    0xe0ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0af, 0xcad2,
    +    0xc8c7, 0x003f, 0x003f, 0xe0b0, 0xc7d7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc4ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0b1, 0xb2e7, 0x003f, 0xb5ed, 0x003f, 0xccc6, 0x003f, 0xccb6,
    +    0x003f, 0xb2b4, 0xcfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbd2,
    +    0x003f, 0xcaaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc0b7, 0x003f, 0xe0b2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc6c3, 0x003f, 0x003f, 0x003f, 0xb8a3, 0xe0b3, 0x003f,
    +    0xbad4, 0xe0b5, 0xe0b4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0b7, 0x003f, 0x003f, 0x003f, 0xe0b8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb5be, 0x003f, 0xe0b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ba,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb8a4, 0x003f, 0x003f, 0xc8c8,
    +    0x003f, 0x003f, 0xe0bc, 0x003f, 0x003f, 0x003f, 0xbef5, 0x003f,
    +    0x003f, 0xe0bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb6b8, 0xe0bd, 0xe0bf, 0x003f, 0xe0be, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c0, 0x003f,
    +    0xb8d1, 0x003f, 0xe0c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e9,
    +    0x003f, 0xc1c0, 0x003f, 0xb9fd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0c3, 0xe0c4, 0xe0c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbced, 0x003f, 0x003f, 0xc6c8, 0xb6b9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c6,
    +    0xc3ac, 0xe0c5, 0x003f, 0x003f, 0xcfb5, 0xc7e2, 0x003f, 0x003f,
    +    /* 0x7300 .. 0x73ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0cb, 0xe0c8,
    +    0x003f, 0x003f, 0x003f, 0xccd4, 0xe0ca, 0xe0cc, 0x003f, 0xcec4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d0, 0x003f, 0x003f,
    +    0x003f, 0xe0cf, 0xc3f6, 0xc7ad, 0x003f, 0x003f, 0xb8a5, 0xe0ce,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0cd, 0x003f, 0xcdb1, 0xcdb2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d1, 0xb1ee,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb9f6, 0xbbe2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d2, 0xe0d3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbdc3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0d7, 0x003f, 0xe0d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0d8, 0x003f, 0xb3cd, 0x003f, 0x003f, 0xe0da, 0x003f, 0x003f,
    +    0xe0d9, 0x003f, 0xe0dc, 0xe0db, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb8bc, 0x003f, 0x003f, 0xcea8,
    +    0x003f, 0xb6cc, 0x003f, 0xb2a6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6ea, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb4e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcee8, 0xe0de, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0e0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0e1, 0x003f, 0xb2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0dd, 0x003f, 0xbbb9, 0x003f, 0x003f, 0xc4c1, 0xe0df, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e4, 0x003f,
    +    0xbcee, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb7be, 0x003f, 0x003f, 0xc8c9, 0xe0e3, 0x003f,
    +    0x003f, 0xe0fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8bd, 0x003f,
    +    /* 0x7400 .. 0x74ff */
    +    0x003f, 0x003f, 0x003f, 0xb5e5, 0x003f, 0xe0e6, 0xcdfd, 0x003f,
    +    0x003f, 0xceb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc2f6, 0x003f, 0x003f, 0xe0e8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0ea, 0xced6, 0xb6d7, 0xc8fc, 0xc7ca, 0x003f,
    +    0x003f, 0x003f, 0xe0eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ed,
    +    0x003f, 0xe0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f,
    +    0x003f, 0xe0ef, 0xb8ea, 0xb1cd, 0xe0f1, 0x003f, 0xbff0, 0xe0ee,
    +    0xcedc, 0x003f, 0x003f, 0xe0f4, 0xf4a4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe0f2, 0xe0f5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e7,
    +    0xe0f3, 0x003f, 0x003f, 0xbabc, 0x003f, 0x003f, 0xe0f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcdfe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0f8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f9, 0x003f,
    +    0x003f, 0x003f, 0xe0e5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb4c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbca5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb1bb, 0x003f, 0x003f, 0x003f,
    +    0xe1a1, 0x003f, 0xc9bb, 0xe1a2, 0x003f, 0x003f, 0xb4a4, 0xe1a3,
    +    0x003f, 0xe1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a5, 0x003f,
    +    0xe1a7, 0xe1a8, 0xe1a6, 0x003f, 0x003f, 0x003f, 0xc9d3, 0xe1aa,
    +    0xe1a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7500 .. 0x75ff */
    +    0x003f, 0x003f, 0x003f, 0xe1ac, 0xe1ab, 0xe1ad, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ae, 0xe1b0, 0xe1af, 0x003f,
    +    0x003f, 0xb9f9, 0x003f, 0xe1b2, 0x003f, 0xe1b1, 0x003f, 0x003f,
    +    0xb4c5, 0x003f, 0xbfd3, 0x003f, 0xc5bc, 0x003f, 0xe1b3, 0xc0b8,
    +    0x003f, 0x003f, 0x003f, 0xbbba, 0x003f, 0xb1f9, 0xe1b4, 0x003f,
    +    0xcdd1, 0x003f, 0x003f, 0xcae3, 0xe1b5, 0x003f, 0x003f, 0x003f,
    +    0xc5c4, 0xcdb3, 0xb9c3, 0xbfbd, 0x003f, 0x003f, 0x003f, 0xc3cb,
    +    0xd2b4, 0x003f, 0xc4ae, 0xb2e8, 0xe1b6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1b7, 0x003f, 0xe1bc, 0x003f,
    +    0x003f, 0xe1ba, 0xe1b9, 0xdac2, 0xb3a6, 0xe1b8, 0x003f, 0xb0da,
    +    0x003f, 0xc8aa, 0x003f, 0x003f, 0xc8ca, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xceb1, 0xe1bd, 0xe1bb, 0xc3dc, 0xc0a6, 0x003f, 0x003f,
    +    0xc8ab, 0x003f, 0xc9ad, 0x003f, 0xe1bf, 0xceac, 0xb7cd, 0xe1c0,
    +    0x003f, 0xe1be, 0xc8d6, 0xe1c1, 0x003f, 0xe1c2, 0x003f, 0x003f,
    +    0xb0db, 0x003f, 0x003f, 0xbef6, 0xe1c7, 0x003f, 0xe1c4, 0xc6ed,
    +    0xe1c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a6,
    +    0x003f, 0x003f, 0xe1ca, 0x003f, 0x003f, 0x003f, 0xe1c5, 0xe1c6,
    +    0x003f, 0xe1c9, 0xe1c8, 0xc9a5, 0x003f, 0x003f, 0xc1c2, 0xc1c1,
    +    0x003f, 0xb5bf, 0x003f, 0x003f, 0xe1cb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1cc, 0x003f, 0x003f, 0xe1cd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe1cf, 0x003f, 0xe1ce, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb1d6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe1d7, 0xc8e8, 0xe1d1, 0x003f, 0xe1d3, 0x003f, 0x003f,
    +    0xe1d5, 0xbfbe, 0x003f, 0x003f, 0xe1d6, 0xe1d4, 0xbcc0, 0x003f,
    +    0x003f, 0x003f, 0xe1d0, 0xe1d2, 0x003f, 0xc9c2, 0x003f, 0xbec9,
    +    0x003f, 0x003f, 0xe1d9, 0x003f, 0x003f, 0xe1d8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1da, 0x003f, 0xbca6, 0xbaaf, 0x003f, 0x003f,
    +    0xc5f7, 0xe1db, 0x003f, 0xc4cb, 0x003f, 0x003f, 0xe1dd, 0x003f,
    +    0x003f, 0x003f, 0xcea1, 0xe1dc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc1e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe1e2, 0x003f, 0xe1e4, 0xe1e5, 0xc3d4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1e3, 0x003f, 0xe1e0, 0x003f, 0xe1de, 0xe1df,
    +    /* 0x7600 .. 0x76ff */
    +    0x003f, 0xe1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe1e8, 0x003f, 0xe1e6, 0x003f, 0xe1e7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e9,
    +    0xe1eb, 0xe1ec, 0xe1ed, 0x003f, 0xe1ee, 0x003f, 0x003f, 0xe1ea,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe1f0, 0x003f, 0x003f, 0x003f, 0xe1ef, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe1f1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcec5, 0x003f, 0x003f, 0x003f, 0xe1f4, 0xe1f2,
    +    0xe1f3, 0x003f, 0x003f, 0x003f, 0xb4e2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xccfe, 0x003f, 0x003f, 0x003f, 0xcaca, 0x003f,
    +    0xe1f6, 0x003f, 0x003f, 0x003f, 0xe1f5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe1f7, 0xe1f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1fc,
    +    0xe1f9, 0xe1fa, 0xe1fb, 0x003f, 0xe1fd, 0x003f, 0x003f, 0x003f,
    +    0xe1fe, 0x003f, 0xe2a1, 0x003f, 0x003f, 0x003f, 0xe2a2, 0x003f,
    +    0xe2a3, 0x003f, 0xc8af, 0xc5d0, 0xe2a4, 0xc7f2, 0xc9b4, 0x003f,
    +    0xe2a5, 0x003f, 0x003f, 0xe2a6, 0xc5aa, 0x003f, 0xb3a7, 0xb9c4,
    +    0xe2a7, 0x003f, 0x003f, 0xe2a8, 0x003f, 0x003f, 0xe2a9, 0x003f,
    +    0xbba9, 0x003f, 0x003f, 0xe2ab, 0x003f, 0x003f, 0xe2aa, 0x003f,
    +    0x003f, 0xe2ac, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8e9, 0x003f,
    +    0xe2ae, 0x003f, 0x003f, 0x003f, 0xe2af, 0x003f, 0x003f, 0xf3e9,
    +    0xe2b0, 0xe2b1, 0xe2b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbae,
    +    0x003f, 0x003f, 0xe2b3, 0xc7d6, 0x003f, 0x003f, 0xcbdf, 0x003f,
    +    0xb1ce, 0x003f, 0xb1d7, 0x003f, 0x003f, 0xe2b4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe2b6, 0x003f, 0x003f, 0x003f, 0xe2b5, 0xc5f0,
    +    0x003f, 0x003f, 0x003f, 0xc0b9, 0xddb9, 0x003f, 0xe2b7, 0xccc1,
    +    0x003f, 0xe2b8, 0x003f, 0xb4c6, 0xc8d7, 0xe2b9, 0x003f, 0xe2ba,
    +    0x003f, 0x003f, 0xe2bb, 0x003f, 0x003f, 0x003f, 0xccdc, 0x003f,
    +    0x003f, 0x003f, 0xccd5, 0x003f, 0xc4be, 0x003f, 0x003f, 0x003f,
    +    0xc1ea, 0x003f, 0x003f, 0xe2bd, 0x003f, 0x003f, 0xbde2, 0x003f,
    +    /* 0x7700 .. 0x77ff */
    +    0x003f, 0xbeca, 0x003f, 0x003f, 0xe2c0, 0x003f, 0x003f, 0xe2bf,
    +    0xe2be, 0xc8fd, 0x003f, 0xb4c7, 0xb8a9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2c6, 0x003f, 0x003f, 0xe2c3, 0xbfbf,
    +    0xccb2, 0x003f, 0x003f, 0x003f, 0xe2c2, 0xe2c4, 0xe2c5, 0x003f,
    +    0x003f, 0xe2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c7,
    +    0xe2c8, 0x003f, 0xc4af, 0x003f, 0xb4e3, 0x003f, 0x003f, 0x003f,
    +    0xc3e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe2ca, 0xe2cd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbfe7, 0x003f, 0xc6c4, 0x003f, 0xe2ce, 0xcbd3, 0x003f,
    +    0xe2cb, 0x003f, 0x003f, 0xe2cc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d0, 0xe2cf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2d3, 0x003f, 0x003f, 0xe2d2, 0x003f,
    +    0x003f, 0xe2d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d6, 0x003f,
    +    0xe2d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbdd6, 0xcec6, 0x003f, 0x003f,
    +    0xe2d7, 0x003f, 0x003f, 0xc6b7, 0x003f, 0x003f, 0xe2d8, 0x003f,
    +    0x003f, 0xe2d9, 0x003f, 0xe2dd, 0xe2db, 0xe2dc, 0x003f, 0xe2da,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2de,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2df, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2e0,
    +    0x003f, 0x003f, 0xe2e1, 0xccb7, 0xe2e2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xccf0, 0xe2e3, 0x003f, 0xc3ce, 0x003f, 0xc7ea,
    +    0x003f, 0xb6eb, 0x003f, 0x003f, 0x003f, 0xc3bb, 0xe2e4, 0xb6ba,
    +    0x003f, 0x003f, 0x003f, 0xc0d0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2e5, 0x003f, 0x003f, 0x003f,
    +    /* 0x7800 .. 0x78ff */
    +    0x003f, 0x003f, 0xbabd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2e6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe2e7, 0x003f, 0xb8a6, 0xbad5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2e9, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d6, 0xbad6, 0xb5ce,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcba4, 0x003f, 0xc7cb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc5d7, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9dc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2eb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbecb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xceb2, 0xb9c5, 0x003f, 0x003f, 0xb8a7,
    +    0x003f, 0x003f, 0xc8a3, 0x003f, 0xe2ed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2ef, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2ee, 0xc4f6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2f1, 0xb3b7, 0xe2ec, 0x003f,
    +    0x003f, 0xc8ea, 0x003f, 0xb1b0, 0x003f, 0xbaec, 0x003f, 0xcfd2,
    +    0x003f, 0x003f, 0xe2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2f2, 0x003f, 0x003f, 0x003f, 0xcacb,
    +    0x003f, 0xc0d9, 0xe2f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb3ce, 0x003f, 0xe2fb, 0x003f, 0xe2fa, 0x003f,
    +    0x003f, 0xbca7, 0x003f, 0x003f, 0x003f, 0xe2fc, 0xe2f7, 0x003f,
    +    0x003f, 0x003f, 0xe2fd, 0xe2f8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc8d8, 0xe2f6, 0x003f, 0x003f, 0xe2f9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a1,
    +    0xcbe1, 0x003f, 0x003f, 0x003f, 0xe2fe, 0x003f, 0x003f, 0xb0eb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe3a4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a3, 0x003f, 0x003f,
    +    /* 0x7900 .. 0x79ff */
    +    0x003f, 0xbecc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1c3, 0x003f,
    +    0x003f, 0xe3a7, 0xe3a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2e8, 0x003f,
    +    0x003f, 0x003f, 0xe2ea, 0xe3aa, 0xe3a9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbca8, 0x003f, 0xcee9, 0x003f, 0xbcd2, 0x003f,
    +    0xe3ab, 0xb7b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5c0,
    +    0xb5a7, 0xbbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcdb4, 0x003f, 0x003f, 0xe3b1, 0x003f, 0xe3b0, 0xc1c4, 0xe3ad,
    +    0x003f, 0x003f, 0xe3af, 0x003f, 0x003f, 0xbdcb, 0xbfc0, 0xe3ae,
    +    0xe3ac, 0x003f, 0xc7aa, 0x003f, 0x003f, 0xbecd, 0x003f, 0x003f,
    +    0xc9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0xbad7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5f8,
    +    0x003f, 0x003f, 0xe3b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b3,
    +    0xe3c9, 0xb6d8, 0x003f, 0x003f, 0xcfbd, 0xc1b5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3b4, 0x003f, 0x003f, 0xb2d2, 0xc4f7, 0xcaa1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5fa, 0xe3b6,
    +    0x003f, 0x003f, 0xe3b8, 0x003f, 0x003f, 0x003f, 0xe3b9, 0x003f,
    +    0xc7a9, 0x003f, 0x003f, 0xe3ba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3bb, 0xe3bc, 0x003f, 0x003f, 0xb6d9, 0xb2d3, 0xc6c5,
    +    0xbda8, 0xbbe4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3bd, 0x003f, 0xbda9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb2ca, 0xc9c3, 0x003f, 0x003f, 0xe3be, 0x003f, 0x003f,
    +    0xc8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1c5,
    +    0x003f, 0xe3c1, 0x003f, 0xe3c2, 0xc7e9, 0x003f, 0xbfc1, 0xe3bf,
    +    0x003f, 0xc3e1, 0x003f, 0x003f, 0xe3c0, 0x003f, 0x003f, 0x003f,
    +    0xbece, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb0dc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7a00 .. 0x7aff */
    +    0xb5a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe3c3, 0x003f, 0x003f, 0xc4f8, 0x003f, 0xe3c4, 0xc0c7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xccad, 0x003f, 0x003f, 0xc9a3,
    +    0xe3c5, 0xe3c6, 0xc3d5, 0x003f, 0xcec7, 0x003f, 0x003f, 0xe3c8,
    +    0xe3c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcef, 0x003f,
    +    0x003f, 0xe3ca, 0xb0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3cd,
    +    0x003f, 0x003f, 0x003f, 0xe3cb, 0xb2d4, 0xb7ce, 0xe3cc, 0xb9c6,
    +    0xb9f2, 0x003f, 0xcae6, 0xe3ce, 0x003f, 0x003f, 0xcbd4, 0x003f,
    +    0x003f, 0xe3d0, 0x003f, 0x003f, 0x003f, 0xc0d1, 0xb1cf, 0xb2ba,
    +    0xb0ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3cf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3d1, 0xe3d2, 0xbef7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3d3, 0x003f, 0xb3cf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe3d5, 0x003f, 0x003f, 0x003f, 0xb7ea, 0x003f, 0xb5e6, 0x003f,
    +    0x003f, 0xe3d6, 0xb6f5, 0x003f, 0x003f, 0xe3d7, 0x003f, 0xc0fc,
    +    0x003f, 0xc6cd, 0x003f, 0xc0e0, 0xbaf5, 0x003f, 0x003f, 0x003f,
    +    0xe3d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc3e2, 0xc1eb, 0x003f, 0xe3da, 0xe3dc, 0xe3d9,
    +    0xe3db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7a2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3dd, 0xb7a6, 0x003f, 0x003f, 0x003f, 0xb5e7, 0xcdd2,
    +    0xe3df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3e0, 0x003f,
    +    0x003f, 0x003f, 0xb1ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3e3,
    +    0x003f, 0x003f, 0x003f, 0xb3f6, 0xe3e2, 0xe3e1, 0x003f, 0xe3e5,
    +    0xe3de, 0x003f, 0xe3e6, 0xcea9, 0x003f, 0xe3e7, 0x003f, 0xe3e8,
    +    0x003f, 0x003f, 0xd4f4, 0xe3ea, 0x003f, 0xe3e9, 0x003f, 0x003f,
    +    0x003f, 0xe3eb, 0xe3ec, 0x003f, 0xceb5, 0xe3ed, 0x003f, 0xf0ef,
    +    0xbecf, 0xe3ee, 0xe3ef, 0xbdd7, 0x003f, 0xc6b8, 0xe3f0, 0x003f,
    +    0x003f, 0x003f, 0xc3a8, 0x003f, 0x003f, 0xe3f1, 0x003f, 0xc3bc,
    +    0xe3f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6a5, 0x003f,
    +    0xd1bf, 0xc3dd, 0xbcb3, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4c8,
    +    /* 0x7b00 .. 0x7bff */
    +    0x003f, 0x003f, 0xe3f3, 0x003f, 0xe4a2, 0x003f, 0xe3f6, 0x003f,
    +    0xb5e8, 0x003f, 0xe3f5, 0xe4a4, 0x003f, 0x003f, 0x003f, 0xe3f4,
    +    0x003f, 0xbed0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe3f8, 0xe3f9, 0x003f, 0xc5ab, 0x003f, 0x003f, 0xe3fa, 0x003f,
    +    0xb3de, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfda, 0xc9e4, 0x003f,
    +    0xe3fc, 0x003f, 0x003f, 0x003f, 0xc2e8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3f7, 0x003f, 0xe3fb, 0xe3fd, 0x003f,
    +    0x003f, 0xbafb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a6, 0xc9ae, 0x003f,
    +    0xc8a6, 0xc5f9, 0x003f, 0xb6da, 0xe4a5, 0xe4a3, 0x003f, 0xc8b5,
    +    0xe3fe, 0xc3de, 0xc5fb, 0x003f, 0xc5fa, 0x003f, 0xbaf6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a8, 0x003f, 0xe4aa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4ad, 0x003f, 0xe4ae, 0x003f,
    +    0xe4ab, 0xe4ac, 0x003f, 0x003f, 0xe4a9, 0xe4a7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe4a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacf, 0xb2d5,
    +    0x003f, 0x003f, 0x003f, 0xe4b5, 0x003f, 0xe4b2, 0x003f, 0xe4b7,
    +    0x003f, 0x003f, 0xe4b6, 0x003f, 0xc7f3, 0xcca7, 0x003f, 0xbbbb,
    +    0xe4b0, 0xe4b9, 0xe4b4, 0x003f, 0xe4b3, 0xe4af, 0x003f, 0xe4b1,
    +    0x003f, 0xb4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc3bd, 0x003f, 0x003f, 0xc0fd, 0x003f, 0x003f,
    +    0x003f, 0xc8a2, 0x003f, 0x003f, 0xe4be, 0x003f, 0x003f, 0x003f,
    +    0xc8a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc0e1, 0xe4bb, 0x003f, 0x003f, 0xc8cf, 0x003f, 0xe4bf, 0xcad3,
    +    0x003f, 0xc3db, 0x003f, 0xe4ba, 0xe4bc, 0x003f, 0x003f, 0xe4bd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c0, 0x003f, 0x003f,
    +    0xbcc4, 0x003f, 0x003f, 0x003f, 0xc6c6, 0xe4c5, 0xe4c4, 0x003f,
    +    0x003f, 0xe4c1, 0x003f, 0x003f, 0x003f, 0xcfb6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4ca, 0x003f, 0x003f, 0xe4ce, 0xe4cb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7c00 .. 0x7cff */
    +    0xe4c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cd, 0x003f, 0x003f,
    +    0x003f, 0xe4c2, 0xd2d5, 0xe4c9, 0xe4c3, 0x003f, 0x003f, 0xe4cc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d2,
    +    0x003f, 0xb4ca, 0x003f, 0xe4cf, 0x003f, 0x003f, 0x003f, 0xe4d0,
    +    0x003f, 0x003f, 0xe4d1, 0xe4d4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d3,
    +    0xc8f6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d5, 0xcefc, 0xcaed,
    +    0xe4da, 0x003f, 0x003f, 0xe4d7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4d6, 0xc0d2, 0x003f, 0xe4d9,
    +    0xe4db, 0x003f, 0x003f, 0x003f, 0xe4d8, 0x003f, 0xe4df, 0x003f,
    +    0xe4dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dd,
    +    0xe4c6, 0x003f, 0x003f, 0x003f, 0xe4de, 0xe4e0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4e1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcac6, 0x003f, 0xe4e2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce2, 0x003f,
    +    0x003f, 0xb6ce, 0xb7a9, 0xe4e3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcab4, 0x003f, 0xbfe8, 0x003f, 0xccb0, 0x003f, 0x003f,
    +    0xe4e4, 0x003f, 0xceb3, 0x003f, 0x003f, 0xc7f4, 0x003f, 0xc1c6,
    +    0xc7b4, 0x003f, 0x003f, 0xbdcd, 0x003f, 0x003f, 0x003f, 0xb0c0,
    +    0x003f, 0xe4e9, 0xe4e7, 0x003f, 0xe4e5, 0xb4a1, 0x003f, 0xbed1,
    +    0xe4ea, 0x003f, 0x003f, 0xe4e8, 0x003f, 0xe4e6, 0xe4ee, 0x003f,
    +    0x003f, 0xe4ed, 0xe4ec, 0xe4eb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0xe4f0, 0xc0ba, 0x003f,
    +    0xe4f1, 0x003f, 0xe4f3, 0x003f, 0x003f, 0xe4f2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb8d2, 0x003f, 0x003f, 0x003f, 0xc1b8, 0x003f,
    +    0x003f, 0x003f, 0xe4f5, 0x003f, 0x003f, 0x003f, 0xc5fc, 0x003f,
    +    0xe4f4, 0x003f, 0x003f, 0x003f, 0xe4f6, 0x003f, 0xcab5, 0xc1ec,
    +    0xb9c7, 0x003f, 0xe4f7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcec8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f9,
    +    0x003f, 0x003f, 0xe4fa, 0x003f, 0xe4fb, 0x003f, 0xe4fc, 0x003f,
    +    0xbbe5, 0x003f, 0xe4fd, 0xb7cf, 0x003f, 0x003f, 0xb5ea, 0x003f,
    +    /* 0x7d00 .. 0x7dff */
    +    0xb5aa, 0x003f, 0xe5a1, 0x003f, 0xccf3, 0xb9c8, 0xe4fe, 0x003f,
    +    0x003f, 0x003f, 0xe5a4, 0xcce6, 0x003f, 0xc7bc, 0x003f, 0x003f,
    +    0xc9b3, 0x003f, 0x003f, 0x003f, 0xbde3, 0xe5a3, 0x003f, 0xbcd3,
    +    0xb9c9, 0xbbe6, 0xb5e9, 0xcab6, 0xe5a2, 0x003f, 0x003f, 0x003f,
    +    0xc1c7, 0xcbc2, 0xbaf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbbe7, 0xc4dd, 0x003f, 0xe5a7, 0xcedf,
    +    0xbad9, 0x003f, 0xe5a8, 0xbfc2, 0x003f, 0xe5aa, 0x003f, 0x003f,
    +    0x003f, 0xbed2, 0xbab0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a9,
    +    0x003f, 0x003f, 0xbdaa, 0xb8be, 0xc1c8, 0xe5a5, 0xe5ab, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5a6, 0xb7d0, 0x003f, 0xe5ae, 0xe5b2,
    +    0xb7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ad, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5b6, 0x003f, 0x003f, 0xb9ca, 0x003f,
    +    0x003f, 0xcded, 0xb0bc, 0xe5b3, 0x003f, 0x003f, 0xb5eb, 0x003f,
    +    0xe5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b1, 0x003f,
    +    0x003f, 0xc5fd, 0xe5af, 0xe5ac, 0x003f, 0xb3a8, 0xc0e4, 0x003f,
    +    0x003f, 0xb8a8, 0x003f, 0x003f, 0x003f, 0xe5b8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b7,
    +    0x003f, 0x003f, 0x003f, 0xe5b4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb7d1, 0xc2b3, 0xe5b9, 0xc1ee, 0x003f, 0x003f, 0xe5c6,
    +    0x003f, 0x003f, 0xe5c2, 0xe5bc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5c0, 0xbcfa, 0xb0dd, 0xe5bb, 0xe5c3,
    +    0xe5c7, 0xb9cb, 0xccd6, 0x003f, 0xc4d6, 0xe5bd, 0x003f, 0x003f,
    +    0xe5c5, 0x003f, 0xe5ba, 0xc3be, 0x003f, 0xe5bf, 0xb0bd, 0xccca,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5be,
    +    0x003f, 0x003f, 0xb6db, 0xc8ec, 0x003f, 0x003f, 0x003f, 0xc1ed,
    +    0x003f, 0xced0, 0xbdef, 0x003f, 0x003f, 0xe5ee, 0x003f, 0x003f,
    +    0xe5c8, 0x003f, 0xc0fe, 0x003f, 0xe5c4, 0xe5c9, 0xe5cb, 0x003f,
    +    0xc4f9, 0xe5ce, 0x003f, 0x003f, 0xe5ca, 0x003f, 0x003f, 0x003f,
    +    0xcad4, 0xb4cb, 0x003f, 0x003f, 0xcccb, 0x003f, 0x003f, 0xb0de,
    +    0x003f, 0x003f, 0xe5cd, 0x003f, 0xcefd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7e00 .. 0x7eff */
    +    0x003f, 0xb1ef, 0x003f, 0x003f, 0xc6ec, 0xe5cf, 0x003f, 0x003f,
    +    0x003f, 0xe5d6, 0xe5d0, 0xe5d7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc7fb, 0x003f, 0x003f, 0xbcca, 0xe5d5,
    +    0x003f, 0xe5d2, 0xe5d8, 0xe5d1, 0x003f, 0x003f, 0xbdc4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcba5, 0x003f, 0x003f, 0xbdcc, 0x003f,
    +    0x003f, 0xe5d4, 0xe5e0, 0x003f, 0x003f, 0xe5dc, 0x003f, 0xe5df,
    +    0x003f, 0xe5dd, 0xe5e1, 0xe5db, 0x003f, 0xe5c1, 0xc0d3, 0x003f,
    +    0x003f, 0xc8cb, 0x003f, 0xe5de, 0x003f, 0x003f, 0xe5d9, 0x003f,
    +    0x003f, 0x003f, 0xc1a1, 0xb7d2, 0x003f, 0xbdab, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbfa5, 0xc1b6, 0xe5e4, 0x003f,
    +    0x003f, 0xe5e6, 0xe5e7, 0x003f, 0x003f, 0xe5e3, 0xe5e5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5da, 0xe5e2,
    +    0x003f, 0xe5ea, 0xe5e9, 0x003f, 0x003f, 0xcbfa, 0x003f, 0x003f,
    +    0xb7ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5e8, 0x003f, 0xe5ec, 0xe5eb, 0xe5ef, 0x003f, 0xe5f1,
    +    0x003f, 0x003f, 0xbbbc, 0xe5ed, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5f2, 0xe5f3, 0x003f, 0x003f, 0xe5f4, 0x003f, 0xe5fa, 0xc5bb,
    +    0xe5f6, 0x003f, 0xe5f5, 0xe5f7, 0xe5f8, 0x003f, 0xe5f9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5fb, 0xe5fc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7f00 .. 0x7fff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4cc, 0x003f,
    +    0xe5fd, 0x003f, 0xe5fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6a2, 0xe6a3, 0xe6a4, 0x003f,
    +    0xe6a5, 0xe6a6, 0x003f, 0x003f, 0xe6a8, 0xe6a7, 0x003f, 0x003f,
    +    0xe6a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6aa,
    +    0xe6ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ae,
    +    0xe6ac, 0xe6ad, 0xbae1, 0xb7d3, 0x003f, 0x003f, 0xc3d6, 0x003f,
    +    0xc8b3, 0x003f, 0xbdf0, 0x003f, 0x003f, 0xc7cd, 0x003f, 0xc8ed,
    +    0xe6af, 0xd8ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6b0, 0xe6b2, 0x003f, 0xcde5, 0xe6b1, 0xe6b4,
    +    0xe6b3, 0x003f, 0xcdd3, 0x003f, 0xe6b5, 0x003f, 0xc8fe, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6b6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6b9, 0x003f, 0x003f, 0xe6b8, 0xe6b7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6ba, 0xb7b2, 0x003f, 0x003f, 0x003f,
    +    0xc1a2, 0xb5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6be, 0xe6bb,
    +    0x003f, 0x003f, 0xe6bc, 0x003f, 0x003f, 0x003f, 0xe6bf, 0x003f,
    +    0xe6c0, 0xe6bd, 0x003f, 0x003f, 0x003f, 0xb1a9, 0x003f, 0x003f,
    +    0x003f, 0xb2a7, 0x003f, 0x003f, 0x003f, 0xe6c2, 0xe6c3, 0x003f,
    +    0x003f, 0x003f, 0xe6c4, 0x003f, 0xcde2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbdac, 0x003f, 0xe6c6, 0xe6c5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbfe9, 0xe6c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6c8, 0x003f,
    +    0x003f, 0xe6c9, 0x003f, 0xb4e5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb4cd, 0x003f, 0x003f, 0xe6ca, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe6cb, 0x003f, 0xcbdd, 0xcde3, 0x003f, 0x003f, 0x003f,
    +    /* 0x8000 .. 0x80ff */
    +    0xcdd4, 0xcfb7, 0x003f, 0xb9cd, 0xe6ce, 0xbcd4, 0xe6cd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6cf, 0xbca9, 0x003f, 0x003f, 0x003f,
    +    0xc2d1, 0x003f, 0xe6d0, 0x003f, 0x003f, 0xb9cc, 0x003f, 0xccd7,
    +    0xe6d1, 0xe6d2, 0x003f, 0x003f, 0xe6d3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe6d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbcaa, 0x003f, 0x003f, 0xcced, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6d7, 0x003f, 0xc3bf, 0x003f, 0xe6d6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d9, 0x003f,
    +    0x003f, 0x003f, 0xe6d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6da, 0x003f, 0x003f, 0x003f, 0xc0bb, 0x003f,
    +    0xe6db, 0x003f, 0xe6dc, 0x003f, 0x003f, 0x003f, 0xcab9, 0xe6dd,
    +    0x003f, 0xc1ef, 0xe6de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcefe,
    +    0xe6e2, 0x003f, 0xe6e1, 0xe6e0, 0xc4b0, 0x003f, 0xe6e3, 0xbfa6,
    +    0x003f, 0xe6e4, 0x003f, 0x003f, 0x003f, 0xe6e5, 0xcfb8, 0xe6e6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6e7, 0xe6e9, 0xe6e8, 0xc8a5,
    +    0x003f, 0xc6f9, 0x003f, 0xcfbe, 0xc8a9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6eb, 0x003f, 0x003f, 0xbed3, 0x003f,
    +    0xc9aa, 0x003f, 0xe6ec, 0xe6ea, 0x003f, 0xb4ce, 0x003f, 0x003f,
    +    0x003f, 0xb8d4, 0xbbe8, 0x003f, 0x003f, 0xc8ee, 0x003f, 0x003f,
    +    0x003f, 0xb8aa, 0xcbc3, 0x003f, 0xe6ef, 0xe6ed, 0x003f, 0xb9ce,
    +    0x003f, 0xb9cf, 0xb0e9, 0x003f, 0xbae8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb0df, 0xe6f4, 0x003f, 0xc3c0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc7d8, 0x003f, 0xc2db, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f6, 0x003f,
    +    0x003f, 0xe6f2, 0xe6f5, 0xe6f0, 0x003f, 0xe6f3, 0xcba6, 0x003f,
    +    0x003f, 0xb8d5, 0x003f, 0x003f, 0xb0fd, 0xe6f1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f8,
    +    0x003f, 0xe6f9, 0x003f, 0x003f, 0xc6b9, 0x003f, 0x003f, 0x003f,
    +    0xb6bb, 0x003f, 0x003f, 0x003f, 0xe7a6, 0xc7bd, 0x003f, 0x003f,
    +    /* 0x8100 .. 0x81ff */
    +    0x003f, 0x003f, 0xbbe9, 0x003f, 0x003f, 0xb6bc, 0xc0c8, 0xcfc6,
    +    0xccae, 0xe6f7, 0xc0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb5d3, 0xe6fa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6fc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6fd,
    +    0x003f, 0xc3a6, 0x003f, 0xc7be, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6fe, 0x003f, 0x003f, 0xbfd5, 0x003f,
    +    0xc9e5, 0xe7a5, 0x003f, 0xe7a4, 0xb9d0, 0xcfd3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a9, 0xe7aa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbcf0, 0x003f, 0x003f, 0xe7a8, 0x003f,
    +    0xb9f8, 0xe7a7, 0x003f, 0x003f, 0xe7ab, 0x003f, 0x003f, 0x003f,
    +    0xc4b2, 0xcaa2, 0xc1a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2dc,
    +    0xe7af, 0x003f, 0xe7b0, 0xe7ac, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7ad, 0x003f, 0xe7ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9d1,
    +    0x003f, 0x003f, 0x003f, 0xe7b6, 0x003f, 0xe7b2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc9e6, 0x003f, 0xcbec, 0xc9a8, 0x003f, 0x003f,
    +    0xe7b1, 0x003f, 0x003f, 0xe7b4, 0xe7b3, 0x003f, 0x003f, 0x003f,
    +    0xcbc4, 0xe7b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7b8, 0x003f, 0x003f, 0xc1b7, 0x003f, 0xe7b9, 0x003f, 0x003f,
    +    0xe7bb, 0x003f, 0xe7bf, 0x003f, 0x003f, 0xe7bc, 0xe7ba, 0xc7bf,
    +    0xe7bd, 0x003f, 0xe7be, 0x003f, 0x003f, 0x003f, 0xb2b2, 0x003f,
    +    0xe7c5, 0xe7c0, 0x003f, 0x003f, 0x003f, 0xe7c1, 0x003f, 0x003f,
    +    0x003f, 0xe7c2, 0x003f, 0xc2a1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7c4, 0xe7c3, 0xe7c6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7c7,
    +    0xe7c8, 0x003f, 0x003f, 0xbfc3, 0x003f, 0xb2e9, 0x003f, 0xe7c9,
    +    0xced7, 0x003f, 0xbcab, 0x003f, 0x003f, 0xbdad, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbbea, 0xc3d7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7ca, 0xe7cb, 0xb1b1, 0x003f, 0xe7cc, 0x003f,
    +    /* 0x8200 .. 0x82ff */
    +    0x003f, 0xe7cd, 0xe7ce, 0x003f, 0x003f, 0xe7cf, 0x003f, 0xe7d0,
    +    0xb6bd, 0xdaaa, 0xe7d1, 0x003f, 0xc0e5, 0xe7d2, 0xbccb, 0x003f,
    +    0xe7d3, 0x003f, 0xd0b0, 0x003f, 0x003f, 0x003f, 0xe7d4, 0xcade,
    +    0xb4dc, 0x003f, 0x003f, 0xc1a4, 0xbdd8, 0x003f, 0xc9f1, 0xbdae,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe7d5, 0xb9d2, 0xe7d6, 0xc8cc, 0x003f, 0xe7e4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe7d8, 0x003f, 0xc2c9, 0xc7f5, 0xb8bf,
    +    0xe7d7, 0xc1a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4fa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7db, 0xe7da, 0xe7dd, 0x003f, 0x003f, 0xe7dc, 0x003f, 0xe7de,
    +    0x003f, 0x003f, 0xe7e0, 0x003f, 0xe7df, 0x003f, 0xb4cf, 0x003f,
    +    0xe7e1, 0x003f, 0xe7e2, 0xe7e3, 0x003f, 0x003f, 0xbab1, 0xcec9,
    +    0x003f, 0xe7e5, 0xbfa7, 0x003f, 0x003f, 0x003f, 0xb1f0, 0xe7e6,
    +    0xe7e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb0f2, 0x003f, 0xe7e9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc9e7, 0x003f, 0x003f, 0x003f, 0xbcc7, 0x003f, 0xe7ec,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3a9, 0xb0b2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe7eb, 0xe7ee, 0xc7ce, 0x003f, 0xbfc4,
    +    0x003f, 0xb2d6, 0x003f, 0xcba7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb7dd, 0xb6dc, 0x003f, 0xe7ed, 0x003f, 0xb2ea, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4a3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb1f1, 0xe7f2, 0xceea, 0xc2dd, 0x003f, 0x003f, 0xc9c4,
    +    0x003f, 0xe7fe, 0x003f, 0xb2d7, 0xe7fc, 0x003f, 0xe7fa, 0xe7f1,
    +    0x003f, 0xe7ef, 0x003f, 0xe7f0, 0x003f, 0xbce3, 0xb6ec, 0xc3f7,
    +    0x003f, 0x003f, 0x003f, 0xc6d1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb1d1, 0x003f, 0xe7f4, 0xe7f3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe7f9, 0xe7f5, 0xe7f8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8300 .. 0x83ff */
    +    0x003f, 0x003f, 0xccd0, 0xe7f7, 0xb2d8, 0xb3fd, 0xe7fb, 0x003f,
    +    0x003f, 0xe7fd, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7d4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a3, 0xe8ac,
    +    0xe8ad, 0x003f, 0x003f, 0x003f, 0xb0ab, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8b4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb0f1, 0x003f, 0x003f, 0xe8ab, 0x003f, 0x003f, 0x003f, 0xe8aa,
    +    0x003f, 0xe8a5, 0xe8a4, 0x003f, 0xe8a2, 0xe8a1, 0xc3e3, 0x003f,
    +    0xc2fb, 0xe8a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8a6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a9, 0x003f, 0x003f,
    +    0x003f, 0xc1f0, 0xb7d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1c1,
    +    0xe8a8, 0x003f, 0xb9d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8ba, 0x003f, 0xe8bb, 0x003f, 0xb2d9,
    +    0x003f, 0x003f, 0x003f, 0xb2ae, 0xe8b8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ae, 0x003f, 0xe8b6,
    +    0x003f, 0xe8bd, 0xe8b7, 0x003f, 0x003f, 0x003f, 0xe8b5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe7f6, 0x003f, 0x003f, 0xe8b3, 0x003f,
    +    0x003f, 0x003f, 0xe8af, 0x003f, 0x003f, 0x003f, 0xb4d0, 0xe8b1,
    +    0xe8bc, 0x003f, 0xe8b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8be, 0x003f, 0xe8b0, 0xc7fc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcde9, 0x003f, 0x003f, 0x003f, 0xe8b9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8cf, 0x003f, 0x003f,
    +    0x003f, 0xe8c7, 0x003f, 0x003f, 0x003f, 0xbffb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb5c6, 0x003f, 0xb6dd, 0x003f, 0xe8c2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb2db, 0x003f, 0x003f, 0xbed4, 0x003f,
    +    0xe8c5, 0x003f, 0x003f, 0x003f, 0xbada, 0x003f, 0x003f, 0xc5d1,
    +    0xe8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcaee, 0x003f, 0xe8c1, 0x003f, 0x003f, 0x003f, 0xb2da,
    +    0xb8d6, 0xc9a9, 0xe8cb, 0x003f, 0xe8bf, 0x003f, 0x003f, 0xe8c8,
    +    0x003f, 0x003f, 0x003f, 0xe8d2, 0x003f, 0xe8c3, 0x003f, 0x003f,
    +    /* 0x8400 .. 0x84ff */
    +    0x003f, 0x003f, 0x003f, 0xe8c4, 0xc6ba, 0x003f, 0x003f, 0xe8c9,
    +    0x003f, 0x003f, 0x003f, 0xe8c6, 0xcba8, 0xe8cc, 0xb0e0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8c0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8ce, 0x003f, 0xe8cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc7eb, 0xe8d4, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3fe, 0x003f, 0x003f, 0x003f, 0xe8e2, 0x003f, 0x003f,
    +    0xe8d0, 0x003f, 0x003f, 0x003f, 0xe8d5, 0xcdee, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8de, 0x003f,
    +    0x003f, 0xcdd5, 0x003f, 0x003f, 0x003f, 0x003f, 0xceaa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3f8,
    +    0x003f, 0x003f, 0x003f, 0xb3eb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc9f2, 0xe8e4, 0xc6a1, 0x003f, 0x003f, 0xb0b1, 0x003f,
    +    0x003f, 0xe8dd, 0x003f, 0xe8d9, 0xc1f2, 0xe8d3, 0xe8db, 0xe8e0,
    +    0x003f, 0xc7ac, 0x003f, 0x003f, 0x003f, 0xb0aa, 0x003f, 0xe8d8,
    +    0x003f, 0xe8e1, 0xc9f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe8dc, 0x003f, 0xe8d7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbed5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbdaf, 0x003f, 0x003f, 0x003f, 0xbcac, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccd8, 0x003f, 0x003f, 0xc9c7, 0x003f, 0x003f, 0xe8e7,
    +    0x003f, 0xe8f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8da, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbef8, 0xe8e5, 0x003f, 0xe8ea, 0xc1f3, 0x003f, 0x003f, 0xe8e6,
    +    0x003f, 0xe8ed, 0x003f, 0x003f, 0xc3df, 0x003f, 0xe8ee, 0x003f,
    +    0x003f, 0xcdd6, 0xe8e3, 0xb3b8, 0x003f, 0xe8e9, 0x003f, 0x003f,
    +    0xe8ec, 0xccac, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ef, 0x003f,
    +    0x003f, 0xe8e8, 0xe8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcba9, 0x003f, 0xcfa1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe8f3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0xe8f2,
    +    /* 0x8500 .. 0x85ff */
    +    0xbcc3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8d1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcace, 0x003f, 0xcca2, 0xe8f9, 0xe8f8, 0x003f, 0xe8f4,
    +    0xe8f5, 0x003f, 0xb1b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8f7,
    +    0x003f, 0xe8f1, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4d5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe8f6, 0xb0fe, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2a2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac3, 0x003f, 0x003f,
    +    0xe8fb, 0xe9a1, 0x003f, 0xc8d9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8fe, 0xbed6, 0xbcc9, 0xe9a3, 0x003f, 0x003f, 0xb6be, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a4, 0x003f, 0xc9f9,
    +    0xe8fd, 0x003f, 0xe8d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8fc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcfcf, 0xc6a2, 0xc9f3, 0x003f, 0x003f, 0xe9ab, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b2, 0x003f,
    +    0xe9a5, 0x003f, 0x003f, 0x003f, 0xc7f6, 0x003f, 0x003f, 0xe9af,
    +    0xe9a7, 0x003f, 0xe9a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9b3, 0xe9a8, 0x003f, 0x003f, 0xe9ac, 0x003f, 0x003f, 0xb1f2,
    +    0x003f, 0xc6e5, 0x003f, 0xe9ad, 0xe9b0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9a6, 0x003f, 0xc1a6, 0x003f,
    +    0xe9aa, 0xbba7, 0xbfc5, 0xb7b0, 0xccf4, 0x003f, 0xccf9, 0xbdf2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9b7, 0xe9b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9b4, 0x003f, 0x003f, 0x003f, 0xcdf5, 0x003f, 0xe9b6,
    +    0xe9b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9bc, 0xe9ba, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc6a3, 0xe9bb, 0x003f, 0x003f,
    +    0x003f, 0xc8cd, 0xe9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdf3,
    +    0x003f, 0xe9bd, 0xe9c2, 0xc1f4, 0x003f, 0x003f, 0xe9c1, 0x003f,
    +    /* 0x8600 .. 0x86ff */
    +    0x003f, 0x003f, 0xe9a2, 0x003f, 0x003f, 0x003f, 0xe9c3, 0xc1c9,
    +    0x003f, 0x003f, 0xe9be, 0xe9c0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe9bf, 0x003f, 0x003f, 0xddb1, 0xdda2,
    +    0x003f, 0x003f, 0xe9c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdf6, 0x003f, 0xe2bc,
    +    0xe9c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c8, 0xb8d7, 0x003f,
    +    0xb5d4, 0x003f, 0x003f, 0x003f, 0xe9ca, 0xd1dd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb5f5, 0x003f, 0xceba, 0x003f, 0xb6f3, 0xe9cb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9cc,
    +    0x003f, 0x003f, 0x003f, 0xc3ee, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc6fa, 0x003f, 0xb0ba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb2e3, 0xe9d2, 0xe9d3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe9ce, 0x003f, 0xbbbd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe9cf, 0xc7c2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9d0, 0xe9d1, 0xe9db, 0x003f, 0x003f, 0x003f, 0xe9d5,
    +    0xe9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9d4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9d6, 0x003f, 0xe9d7, 0xbcd8,
    +    0x003f, 0xe9d9, 0x003f, 0xc3c1, 0x003f, 0xb7d6, 0xb3c2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9dc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3bf, 0x003f, 0xe9e1, 0x003f, 0x003f, 0xe9dd, 0xe9e0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc8ba, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9de, 0x003f, 0x003f, 0xe9df, 0xc9c8, 0xc8da, 0xe9e2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc2fd, 0xe9ec, 0x003f, 0xe9e8, 0x003f, 0x003f, 0xb2eb, 0x003f,
    +    /* 0x8700 .. 0x87ff */
    +    0xe9e6, 0x003f, 0xcbaa, 0xe9e7, 0x003f, 0x003f, 0xe9e4, 0x003f,
    +    0xe9e5, 0xe9ea, 0xe9ed, 0x003f, 0x003f, 0xe9eb, 0x003f, 0x003f,
    +    0x003f, 0xe9e9, 0xe9e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc3d8, 0x003f, 0xe9f4, 0x003f, 0xccaa, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f2, 0x003f, 0x003f,
    +    0x003f, 0xe9f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9ee, 0x003f, 0x003f, 0xe9f0,
    +    0x003f, 0x003f, 0x003f, 0xe9f1, 0x003f, 0x003f, 0x003f, 0xe9ef,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc0e6, 0x003f, 0xcfb9, 0xe9f8, 0x003f, 0xe9f9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeaa1, 0x003f, 0xbfaa, 0x003f, 0xe9fb,
    +    0x003f, 0xe9fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f6,
    +    0xe9f5, 0x003f, 0x003f, 0xeaa2, 0x003f, 0x003f, 0xb2dc, 0x003f,
    +    0xe9fc, 0x003f, 0xeaa3, 0x003f, 0x003f, 0x003f, 0xe9fd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9fa, 0x003f, 0xc4b3, 0x003f,
    +    0xe9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7e8,
    +    0x003f, 0x003f, 0xeaa7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaa6,
    +    0x003f, 0x003f, 0xeaa5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeaae, 0x003f, 0x003f, 0x003f, 0xeaa8,
    +    0x003f, 0x003f, 0x003f, 0xeab0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcde6, 0xeab3, 0x003f, 0xeaaa, 0x003f, 0x003f,
    +    0xeaab, 0x003f, 0x003f, 0x003f, 0xeaaf, 0x003f, 0xeab2, 0xeab1,
    +    0x003f, 0x003f, 0x003f, 0xeaa9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeaac, 0x003f, 0xeabd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeab6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeab4,
    +    0x003f, 0x003f, 0xeab5, 0x003f, 0x003f, 0x003f, 0xeaba, 0xeabb,
    +    0x003f, 0xb3aa, 0x003f, 0xb5c2, 0x003f, 0x003f, 0xeab9, 0x003f,
    +    /* 0x8800 .. 0x88ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaa4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeab8, 0xeabc, 0xeab7,
    +    0x003f, 0xeabe, 0x003f, 0x003f, 0x003f, 0xeac0, 0xeabf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeac2, 0xeac1, 0xe9da, 0x003f, 0x003f, 0x003f, 0xeac6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeac3, 0x003f, 0x003f, 0x003f, 0x003f, 0xeac4, 0x003f,
    +    0x003f, 0xeac5, 0x003f, 0xeac7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb7ec, 0x003f, 0xeac9, 0x003f, 0xeac8, 0x003f, 0xbdb0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb9d4, 0xdea7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeaca, 0xbdd1, 0x003f, 0x003f, 0x003f, 0xb3b9,
    +    0x003f, 0xeacb, 0x003f, 0xb1d2, 0x003f, 0xbed7, 0xeacc, 0x003f,
    +    0x003f, 0xb9d5, 0xeacd, 0xb0e1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc9bd, 0x003f, 0x003f, 0xeace, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbfea, 0x003f, 0xead5, 0x003f, 0x003f, 0xead2, 0x003f, 0xc3ef,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xead3, 0xead0, 0xb6de,
    +    0x003f, 0xeacf, 0xead6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb7b6, 0x003f, 0x003f, 0xc2de, 0x003f, 0xeadc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xead8, 0x003f, 0x003f, 0x003f, 0xc2b5, 0xead7,
    +    0x003f, 0xeada, 0x003f, 0x003f, 0x003f, 0x003f, 0xead1, 0x003f,
    +    0x003f, 0x003f, 0xeadb, 0x003f, 0xeadd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc8ef, 0x003f, 0x003f, 0xead9, 0x003f,
    +    0xeade, 0xeae0, 0x003f, 0x003f, 0xb8d3, 0xead4, 0x003f, 0xb0c1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeadf,
    +    0x003f, 0xbadb, 0xcef6, 0xeae1, 0xeae2, 0xc1f5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcea2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeae3, 0xcdb5, 0x003f, 0x003f,
    +    0xeae4, 0xeae5, 0x003f, 0x003f, 0xcae4, 0xeae6, 0x003f, 0xbac0,
    +    0x003f, 0xcea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeaeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeaec, 0xbed8, 0xeaea, 0x003f, 0x003f, 0x003f,
    +    0xcde7, 0xeae7, 0x003f, 0x003f, 0xeae9, 0xc0bd, 0xbffe, 0x003f,
    +    /* 0x8900 .. 0x89ff */
    +    0x003f, 0x003f, 0xeae8, 0x003f, 0xeaed, 0x003f, 0x003f, 0xcaa3,
    +    0x003f, 0x003f, 0xeaef, 0x003f, 0xeaee, 0x003f, 0x003f, 0x003f,
    +    0xb3ec, 0x003f, 0xcbab, 0xeaf0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeafc, 0xeaf2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaf3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeaf4, 0xeaf5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaf9, 0x003f,
    +    0xeafa, 0x003f, 0x003f, 0xeaf8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeaf6, 0x003f, 0xeaf1, 0xeaf7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeafb, 0xf0b7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2a8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeafe, 0xb6df,
    +    0xeafd, 0x003f, 0x003f, 0x003f, 0xeba2, 0x003f, 0xeba1, 0x003f,
    +    0x003f, 0x003f, 0xeba4, 0x003f, 0x003f, 0xeba3, 0x003f, 0xeba5,
    +    0x003f, 0x003f, 0xbdb1, 0x003f, 0xeba6, 0x003f, 0x003f, 0xeba7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeba8, 0xc0be,
    +    0x003f, 0xcdd7, 0x003f, 0xeba9, 0x003f, 0x003f, 0xcaa4, 0xc7c6,
    +    0xebaa, 0x003f, 0xebab, 0xb8ab, 0x003f, 0x003f, 0x003f, 0xb5ac,
    +    0x003f, 0x003f, 0x003f, 0xebac, 0x003f, 0x003f, 0xbbeb, 0xc7c1,
    +    0xebad, 0x003f, 0xb3d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xebae, 0x003f, 0x003f, 0x003f, 0x003f, 0xebb0, 0xcdf7,
    +    0x003f, 0xebaf, 0xbfc6, 0x003f, 0xebb1, 0x003f, 0x003f, 0xebb2,
    +    0x003f, 0x003f, 0xebb3, 0xb4d1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xebb4, 0x003f, 0x003f, 0xebb5, 0x003f, 0xebb6,
    +    0xebb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb3d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xebb8, 0x003f, 0xebb9, 0xebba, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb2f2, 0x003f, 0x003f, 0xbfa8, 0xebbb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xebbc, 0x003f, 0x003f, 0x003f,
    +    0xebbd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8a00 .. 0x8aff */
    +    0xb8c0, 0x003f, 0xc4fb, 0xebbe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb7d7, 0x003f, 0xbfd6, 0x003f, 0xebc1, 0x003f, 0xc6a4, 0x003f,
    +    0xebc0, 0x003f, 0x003f, 0xb7b1, 0x003f, 0x003f, 0xebbf, 0xc2f7,
    +    0xb5ad, 0x003f, 0x003f, 0xebc2, 0x003f, 0xebc3, 0x003f, 0xbed9,
    +    0x003f, 0x003f, 0x003f, 0xb7ed, 0x003f, 0xebc4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcbac, 0x003f, 0x003f, 0xc0df, 0x003f, 0x003f,
    +    0x003f, 0xb5f6, 0x003f, 0xccf5, 0xc1ca, 0x003f, 0xebc5, 0x003f,
    +    0x003f, 0x003f, 0xbfc7, 0xc3f0, 0xbeda, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xebc6, 0x003f, 0x003f, 0x003f, 0x003f, 0xebc9, 0x003f,
    +    0xebca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbabe, 0xc2c2, 0xebc8, 0x003f, 0xbedb, 0xc9be, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xebc7, 0x003f, 0x003f, 0xbbec, 0x003f,
    +    0xb1d3, 0x003f, 0xebce, 0xb7d8, 0x003f, 0x003f, 0xbbee, 0x003f,
    +    0x003f, 0xbbed, 0x003f, 0xcfcd, 0xebcd, 0xebcc, 0xc1a7, 0x003f,
    +    0xb5cd, 0xcfc3, 0xb3ba, 0xbedc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xebcb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xebd0, 0x003f, 0xebd1, 0xebcf, 0x003f, 0xb8d8,
    +    0x003f, 0xcdc0, 0x003f, 0x003f, 0xbbef, 0xc7a7, 0x003f, 0x003f,
    +    0x003f, 0xebd4, 0x003f, 0xc0c0, 0x003f, 0xc3c2, 0x003f, 0x003f,
    +    0xcdb6, 0x003f, 0xebd7, 0x003f, 0x003f, 0x003f, 0xb8ec, 0x003f,
    +    0xc0bf, 0xebd3, 0x003f, 0xebd8, 0xb8ed, 0xebd5, 0xebd6, 0x003f,
    +    0xebd2, 0x003f, 0x003f, 0x003f, 0xc0e2, 0xc6c9, 0x003f, 0x003f,
    +    0xc3af, 0x003f, 0xb2dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc8f0, 0x003f, 0x003f, 0xb5c3, 0x003f, 0x003f, 0xc4b4,
    +    0x003f, 0x003f, 0xebdb, 0x003f, 0xebd9, 0x003f, 0x003f, 0xc3cc,
    +    0x003f, 0x003f, 0x003f, 0xc0c1, 0xb4d2, 0xebda, 0x003f, 0xbfdb,
    +    0x003f, 0x003f, 0xceca, 0x003f, 0x003f, 0x003f, 0xcfc0, 0x003f,
    +    0x003f, 0x003f, 0xebdc, 0xebe7, 0xc4b5, 0x003f, 0xebe6, 0x003f,
    +    0xebe3, 0xebeb, 0xebe4, 0x003f, 0xebe0, 0x003f, 0xc4fc, 0xebdf,
    +    0x003f, 0x003f, 0x003f, 0xebdd, 0x003f, 0xcda1, 0xbbf0, 0x003f,
    +    0x003f, 0xebe1, 0x003f, 0xebde, 0x003f, 0x003f, 0x003f, 0xebe5,
    +    0xbdf4, 0x003f, 0xb8c1, 0x003f, 0x003f, 0x003f, 0xc2fa, 0x003f,
    +    /* 0x8b00 .. 0x8bff */
    +    0xcbc5, 0xb1da, 0xb0e2, 0x003f, 0xc6a5, 0x003f, 0x003f, 0xebe9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xebe8, 0x003f, 0xc6e6, 0x003f,
    +    0xebed, 0x003f, 0x003f, 0x003f, 0xebe2, 0x003f, 0xebec, 0xebee,
    +    0x003f, 0xb8ac, 0xebea, 0xb9d6, 0x003f, 0xbcd5, 0x003f, 0x003f,
    +    0xebef, 0xcdd8, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf2, 0x003f,
    +    0xebf5, 0x003f, 0x003f, 0xebf3, 0xc9b5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xebf0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb6e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf4, 0x003f,
    +    0x003f, 0xebf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xebfa, 0x003f, 0x003f, 0xebf7, 0x003f, 0xebf9, 0xebf8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebfb, 0x003f,
    +    0xbcb1, 0x003f, 0xebfd, 0xebfc, 0xc9e8, 0x003f, 0x003f, 0xeca1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7d9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xebfe, 0xeca2, 0x003f, 0x003f, 0xeca3,
    +    0xb5c4, 0xe6c1, 0xbef9, 0x003f, 0xeca4, 0x003f, 0x003f, 0xb8ee,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeca5, 0x003f, 0x003f,
    +    0xeca6, 0x003f, 0x003f, 0xbbbe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdace, 0x003f, 0xeca7, 0x003f, 0xeca8, 0x003f,
    +    0xbdb2, 0x003f, 0xeca9, 0xecaa, 0x003f, 0x003f, 0xecab, 0x003f,
    +    0x003f, 0xecac, 0xecad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8c00 .. 0x8cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3ab,
    +    0x003f, 0x003f, 0xecae, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb0,
    +    0x003f, 0xecaf, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6a6, 0x003f,
    +    0xecb1, 0x003f, 0xcbad, 0x003f, 0xecb2, 0x003f, 0xecb3, 0x003f,
    +    0xecb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc6da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbedd, 0xecb6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb9eb, 0xd0ae, 0xecb7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xecb8, 0xc9bf, 0xecb9, 0x003f, 0xecc1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xecba, 0x003f, 0x003f, 0xecbc, 0x003f, 0x003f,
    +    0x003f, 0xecbb, 0xecbd, 0x003f, 0xcbc6, 0xecbe, 0xecbf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xecc0, 0x003f, 0x003f, 0x003f,
    +    0xecc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3ad, 0xc4e7, 0x003f,
    +    0xc9e9, 0xbae2, 0xb9d7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9cf,
    +    0xb2df, 0xc8ce, 0xecc5, 0xb4d3, 0xc0d5, 0xecc4, 0xecc9, 0xc3f9,
    +    0xcce3, 0x003f, 0xecc7, 0xecc8, 0xb5ae, 0x003f, 0xecca, 0xc7e3,
    +    0xc2df, 0x003f, 0x003f, 0xc8f1, 0xc5bd, 0xecc6, 0x003f, 0xcbc7,
    +    0xb2ec, 0xeccc, 0xcfa8, 0xc4c2, 0xcfc5, 0x003f, 0x003f, 0xbbf1,
    +    0xeccb, 0x003f, 0xc2b1, 0x003f, 0x003f, 0xecdc, 0xc1a8, 0x003f,
    +    0x003f, 0xc6f8, 0x003f, 0xc9d0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeccf, 0xbbbf, 0xbbf2, 0x003f, 0xbede, 0x003f,
    +    0xc7e5, 0x003f, 0xb8ad, 0xecce, 0xeccd, 0x003f, 0xc9ea, 0x003f,
    +    0x003f, 0x003f, 0xbcc1, 0x003f, 0x003f, 0xc5d2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xecd1, 0xecd2, 0xb9d8, 0xecd0, 0x003f, 0x003f,
    +    /* 0x8d00 .. 0x8dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xecd3, 0xecd4, 0x003f, 0xecd6,
    +    0xc2a3, 0x003f, 0xecd5, 0xb4e6, 0x003f, 0xecd8, 0x003f, 0xecd7,
    +    0xecd9, 0x003f, 0x003f, 0xecdb, 0xecdd, 0x003f, 0xecde, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc0d6, 0x003f, 0xbccf, 0xecdf,
    +    0x003f, 0x003f, 0x003f, 0xb3d2, 0x003f, 0xece0, 0x003f, 0x003f,
    +    0xc1f6, 0xece1, 0x003f, 0xece2, 0xc9eb, 0x003f, 0x003f, 0xb5af,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xece3, 0x003f, 0x003f, 0x003f, 0xc4b6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb1db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xece4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbcf1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbff6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc2ad, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xece7, 0x003f, 0x003f, 0x003f, 0xece6, 0x003f,
    +    0x003f, 0x003f, 0xece5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeced, 0xeceb, 0x003f, 0x003f, 0xece8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecea, 0x003f,
    +    0x003f, 0x003f, 0xece9, 0xecec, 0x003f, 0xb5f7, 0x003f, 0xecf0,
    +    0x003f, 0xc0d7, 0x003f, 0xecf1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb8d9, 0x003f, 0xecee, 0xecef, 0x003f, 0x003f, 0x003f, 0xcfa9,
    +    0x003f, 0x003f, 0x003f, 0xc4b7, 0x003f, 0xc1a9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0xecf5,
    +    /* 0x8e00 .. 0x8eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xecf3, 0xecf4, 0xcdd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6a7,
    +    0xecf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecf6, 0xecf7, 0xecf9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeda9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xecfc, 0x003f, 0x003f, 0x003f, 0xecfd, 0xecfb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xecfa, 0x003f, 0xc4fd, 0x003f, 0x003f, 0xeda1,
    +    0xeda5, 0xeda2, 0xecfe, 0x003f, 0xeda3, 0x003f, 0x003f, 0x003f,
    +    0xeda4, 0x003f, 0x003f, 0x003f, 0x003f, 0xedab, 0x003f, 0x003f,
    +    0x003f, 0xeda6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0d8,
    +    0xeda8, 0x003f, 0x003f, 0xedaa, 0xeda7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xedad, 0x003f, 0xbdb3, 0x003f, 0xedac, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xedae, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xedaf, 0x003f, 0x003f, 0xedb2, 0xedb1, 0x003f, 0xedb0,
    +    0x003f, 0x003f, 0xedb4, 0xedb3, 0x003f, 0xccf6, 0x003f, 0x003f,
    +    0x003f, 0xedb6, 0x003f, 0xedb5, 0xedb7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xedb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xedba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xedb9, 0xbfc8, 0xedbb, 0x003f, 0x003f, 0xb6ed,
    +    0xedbc, 0xedbe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedbf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedc0, 0xedbd, 0x003f,
    +    0xedc1, 0x003f, 0xbcd6, 0xedc2, 0xb5b0, 0xb7b3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb8ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedc3, 0x003f, 0x003f, 0x003f, 0xc6f0,
    +    0x003f, 0x003f, 0xc5be, 0xedc4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedc7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbcb4, 0x003f, 0x003f, 0xedc6, 0xedc5, 0xb7da, 0xedc8, 0x003f,
    +    /* 0x8f00 .. 0x8fff */
    +    0x003f, 0x003f, 0x003f, 0xb3d3, 0x003f, 0xedca, 0x003f, 0x003f,
    +    0x003f, 0xbadc, 0xedc9, 0x003f, 0xedd2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xedcc, 0xedce, 0xcae5, 0xedcb, 0x003f, 0x003f,
    +    0x003f, 0xedcd, 0x003f, 0xedd1, 0xedcf, 0xb5b1, 0x003f, 0xedd0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd3, 0x003f,
    +    0x003f, 0xc7da, 0xced8, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdb4,
    +    0x003f, 0x003f, 0x003f, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcda2, 0xedd6, 0x003f, 0xedd5, 0x003f, 0x003f, 0xedd9, 0xcdc1,
    +    0x003f, 0x003f, 0xedd8, 0x003f, 0xb3ed, 0xedd7, 0xeddc, 0x003f,
    +    0x003f, 0xeddb, 0x003f, 0x003f, 0xedda, 0xc5b2, 0xeddd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedde,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeddf, 0x003f, 0x003f, 0xb9ec,
    +    0x003f, 0xb7a5, 0xede0, 0xede1, 0xede2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbfc9, 0xede3, 0x003f, 0xbcad, 0xede4,
    +    0x003f, 0x003f, 0x003f, 0xede5, 0x003f, 0x003f, 0x003f, 0xd2a1,
    +    0xd1fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xede6, 0xe5f0, 0xede7,
    +    0xc3a4, 0xbfab, 0xc7c0, 0x003f, 0x003f, 0x003f, 0x003f, 0xede8,
    +    0x003f, 0x003f, 0xcad5, 0xc4d4, 0xb9fe, 0x003f, 0x003f, 0xc3a9,
    +    0x003f, 0x003f, 0xb1aa, 0x003f, 0xcbf8, 0xbfd7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7de, 0x003f,
    +    0x003f, 0xb6e1, 0x003f, 0x003f, 0xcad6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xede9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xedeb, 0x003f, 0x003f, 0xedea, 0xb2e0, 0x003f,
    +    0x003f, 0xc6f6, 0xedec, 0xc7f7, 0x003f, 0xc5b3, 0x003f, 0xeded,
    +    0xbdd2, 0x003f, 0x003f, 0x003f, 0xedef, 0x003f, 0x003f, 0xccc2,
    +    0xedfe, 0xedf1, 0xedf2, 0x003f, 0x003f, 0xc4c9, 0x003f, 0x003f,
    +    /* 0x9000 .. 0x90ff */
    +    0xc2e0, 0xc1f7, 0x003f, 0xc6a8, 0x003f, 0xedf0, 0xb5d5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedf9, 0x003f, 0xedf6, 0xeea5, 0xc6a9,
    +    0xc3e0, 0xedf3, 0x003f, 0xc4fe, 0xc5d3, 0xedf4, 0xedf8, 0xbfe0,
    +    0x003f, 0xc7e7, 0xc4cc, 0x003f, 0x003f, 0xc0c2, 0xedf7, 0xc2ae,
    +    0xc2a4, 0xedf5, 0xb0a9, 0xcfa2, 0x003f, 0x003f, 0x003f, 0xedfa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2e1, 0x003f,
    +    0x003f, 0xbdb5, 0xbfca, 0x003f, 0x003f, 0xedfc, 0xedfb, 0x003f,
    +    0xb0ef, 0xedfd, 0x003f, 0x003f, 0xc9af, 0x003f, 0xeea7, 0x003f,
    +    0x003f, 0xc6db, 0xbfeb, 0x003f, 0x003f, 0xc3d9, 0x003f, 0xb6f8,
    +    0x003f, 0xeea6, 0xcdb7, 0xb1bf, 0x003f, 0xcad7, 0xb2e1, 0xeea1,
    +    0xeea2, 0xeea3, 0xeea4, 0xc6bb, 0xc3a3, 0xb0e3, 0xeea8, 0x003f,
    +    0xeea9, 0xf4a3, 0x003f, 0x003f, 0xc2bd, 0x003f, 0xeeaa, 0x003f,
    +    0xb1f3, 0xc1cc, 0x003f, 0xb8af, 0x003f, 0xcdda, 0x003f, 0x003f,
    +    0xeeab, 0xc5ac, 0x003f, 0x003f, 0x003f, 0xc1f8, 0xbcd7, 0xeeac,
    +    0x003f, 0x003f, 0xeeaf, 0x003f, 0x003f, 0xbde5, 0xeead, 0xc1ab,
    +    0xc1aa, 0x003f, 0xb0e4, 0x003f, 0xcecb, 0xeeb1, 0x003f, 0xc8f2,
    +    0xeeb3, 0xeeb2, 0xeeb0, 0xe3e4, 0xb4d4, 0x003f, 0x003f, 0xedee,
    +    0x003f, 0xeeb5, 0xeeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb6,
    +    0x003f, 0xcdb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc6e1, 0x003f, 0x003f, 0xcbae, 0x003f,
    +    0xeeb7, 0x003f, 0xbcd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb8,
    +    0x003f, 0xeeb9, 0x003f, 0x003f, 0x003f, 0xeeba, 0x003f, 0x003f,
    +    0xc5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb9d9, 0x003f, 0x003f, 0x003f, 0xcfba, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeebe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb7b4, 0xeebb, 0x003f, 0xeebc, 0x003f, 0x003f, 0x003f,
    +    0xc9f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3d4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdb9, 0x003f, 0xb6bf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d4, 0x003f, 0x003f,
    +    /* 0x9100 .. 0x91ff */
    +    0x003f, 0x003f, 0xeebf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeec0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeec1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5a2, 0x003f, 0x003f,
    +    0xeec3, 0x003f, 0xeec2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc6d3, 0xeec4, 0xbdb6, 0xbce0, 0xc7db, 0xc3f1, 0x003f,
    +    0x003f, 0x003f, 0xbcf2, 0x003f, 0xbfec, 0x003f, 0xeec5, 0x003f,
    +    0xeec6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbfdd, 0xeec7, 0x003f, 0xeec8, 0x003f, 0x003f,
    +    0x003f, 0xeec9, 0xcdef, 0x003f, 0xbdb7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeecb, 0xeeca, 0x003f, 0xb9da, 0x003f, 0xb9f3,
    +    0xbbc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeece, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde6,
    +    0x003f, 0xeecd, 0x003f, 0xeecc, 0x003f, 0xc2e9, 0x003f, 0x003f,
    +    0xb8ef, 0x003f, 0xc0c3, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8b0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbdb9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeecf, 0x003f, 0xbedf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeed2, 0xeed0, 0x003f, 0x003f, 0x003f, 0xeed1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeed4, 0xeed3, 0x003f, 0x003f,
    +    0xbefa, 0x003f, 0xeed5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeed6, 0xeed7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8d0, 0xbad3,
    +    0xbce1, 0xeed8, 0x003f, 0xeed9, 0xcea4, 0xbdc5, 0xccee, 0xcecc,
    +    0xeeda, 0xb6e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xeedb, 0x003f,
    +    0xc5a3, 0x003f, 0x003f, 0xeede, 0xb3f8, 0xbfcb, 0x003f, 0xeedc,
    +    0x003f, 0xeedd, 0x003f, 0xc4e0, 0x003f, 0x003f, 0xcbd5, 0xb6fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee0, 0xeee1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeedf, 0x003f, 0x003f, 0xeee3,
    +    /* 0x9200 .. 0x92ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6df, 0xb3c3, 0x003f,
    +    0x003f, 0xeee7, 0x003f, 0x003f, 0xeee4, 0xeee6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefcf, 0x003f, 0x003f, 0xeee5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xceeb, 0x003f, 0x003f, 0xb8da,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeef,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc5b4, 0xeeea, 0x003f, 0x003f,
    +    0xeeed, 0xeeeb, 0x003f, 0xeef0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeef1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee9,
    +    0x003f, 0x003f, 0xeef6, 0xb1f4, 0x003f, 0x003f, 0xeee8, 0x003f,
    +    0x003f, 0x003f, 0xc8ad, 0x003f, 0xeeec, 0x003f, 0xbee0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb9db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbc8, 0x003f,
    +    0xb6e4, 0x003f, 0x003f, 0xbdc6, 0x003f, 0xc6bc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc1ad, 0x003f, 0xeef4, 0x003f, 0xeeee, 0xeef3, 0x003f,
    +    0xccc3, 0x003f, 0xc4b8, 0xeef5, 0xeef2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1ac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeef9,
    +    0x003f, 0xeef8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeef7,
    +    0x003f, 0x003f, 0xcbaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbdfb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeefa, 0xcadf, 0x003f, 0x003f, 0xb1d4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc9c6, 0xc3f2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb5f8, 0x003f, 0xeefc, 0x003f, 0xb9dd, 0x003f, 0x003f, 0x003f,
    +    /* 0x9300 .. 0x93ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbac, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeefb,
    +    0xbfed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbfee, 0xefa1, 0xefa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbefb, 0x003f, 0xefa2, 0xefa4, 0x003f, 0x003f, 0xb6d3, 0x003f,
    +    0xc9c5, 0x003f, 0x003f, 0xbce2, 0xcfa3, 0x003f, 0xeefe, 0xbaf8,
    +    0x003f, 0x003f, 0xcfbf, 0x003f, 0x003f, 0xefa6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xefa5, 0xefa7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeefd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc6e9, 0x003f, 0xc5d5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc4d7, 0x003f, 0xefac, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc3c3, 0xefa8, 0x003f, 0x003f, 0x003f,
    +    0xefa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb7ad, 0x003f, 0xefab, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8b0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xefaa, 0x003f, 0xbee1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb3f9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xefb0, 0x003f, 0xbabf, 0xc1f9,
    +    0x003f, 0x003f, 0xc4ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3bb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xefae, 0xefaf, 0xc4c3, 0x003f,
    +    0xefad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xefb7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefb9, 0xc5ad, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb2, 0xefb3,
    +    0xefb6, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb8, 0x003f, 0x003f,
    +    0x003f, 0xb6c0, 0x003f, 0x003f, 0xefbb, 0xefb5, 0x003f, 0x003f,
    +    0xefb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9400 .. 0x94ff */
    +    0x003f, 0x003f, 0x003f, 0xefbf, 0x003f, 0x003f, 0x003f, 0xefc0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefc1, 0x003f, 0x003f, 0xefbe, 0xefbd, 0x003f, 0x003f, 0x003f,
    +    0xbee2, 0xc6aa, 0xefbc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefc5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xefc3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefc4, 0xefc2, 0x003f,
    +    0xc2f8, 0x003f, 0xefc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefc7, 0x003f, 0x003f, 0xefc9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb4d5, 0xefc8, 0xccfa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xefd4, 0xefca, 0x003f, 0x003f, 0xefcd, 0x003f,
    +    0xefcb, 0x003f, 0xefcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xefce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefd0, 0x003f, 0x003f, 0x003f, 0x003f, 0xefd1, 0x003f, 0xefd2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xefd5, 0xefd3, 0xefd6, 0xefd8,
    +    0x003f, 0xefd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9500 .. 0x95ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4b9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcce7, 0x003f, 0xefd9, 0xc1ae, 0x003f, 0x003f, 0x003f, 0xefda,
    +    0x003f, 0xcac4, 0xefdb, 0xb3ab, 0x003f, 0x003f, 0x003f, 0xb1bc,
    +    0x003f, 0xb4d7, 0x003f, 0xb4d6, 0xefdc, 0x003f, 0xefdd, 0x003f,
    +    0xefde, 0xefdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefe0, 0x003f, 0xb4d8, 0xb3d5, 0xb9de, 0xc8b6, 0x003f, 0xefe2,
    +    0xefe1, 0x003f, 0x003f, 0x003f, 0x003f, 0xefe3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb1dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefe6, 0x003f, 0xefe5, 0xefe4, 0x003f, 0xefe7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xefea, 0x003f, 0x003f, 0x003f, 0xb0c7,
    +    0x003f, 0x003f, 0xefe8, 0x003f, 0xefec, 0xefeb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xefee, 0xefed, 0xefef, 0x003f,
    +    0xc6ae, 0x003f, 0x003f, 0x003f, 0xeff0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeff1, 0xeff3, 0x003f, 0x003f, 0xeff2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9600 .. 0x96ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc9ec, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeff4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeff5, 0x003f, 0xbae5, 0x003f, 0x003f, 0x003f, 0xeff6, 0xeff7,
    +    0x003f, 0x003f, 0xcbc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc1cb, 0x003f, 0x003f, 0x003f, 0xb0a4,
    +    0xc2cb, 0x003f, 0xeff8, 0x003f, 0xc9ed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeffb, 0xeff9, 0xb9df, 0x003f, 0xeffa,
    +    0xb8c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcac5, 0xeffd, 0xf0a1, 0xeffe, 0xf0a2,
    +    0x003f, 0x003f, 0xb1a1, 0xbfd8, 0xbdfc, 0xb4d9, 0xf0a3, 0x003f,
    +    0x003f, 0x003f, 0xc7e6, 0x003f, 0xf0a5, 0x003f, 0x003f, 0x003f,
    +    0xb1a2, 0x003f, 0xf0a4, 0xc4c4, 0x003f, 0xcecd, 0xc6ab, 0xeffc,
    +    0xcea6, 0x003f, 0xb8b1, 0x003f, 0x003f, 0xcddb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6f9, 0xceb4, 0x003f,
    +    0xb7a8, 0x003f, 0xc2e2, 0xe7a1, 0x003f, 0xf0a6, 0xb3ac, 0xbfef,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb3d6, 0xf0a8, 0x003f, 0xf0a9,
    +    0xf0a7, 0xb7e4, 0x003f, 0xbadd, 0xbee3, 0x003f, 0x003f, 0x003f,
    +    0xb1a3, 0x003f, 0x003f, 0xced9, 0x003f, 0x003f, 0x003f, 0xf0ab,
    +    0xeeae, 0x003f, 0xf0aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf0ae, 0xf0ac, 0xf0ad, 0x003f, 0xf0af, 0x003f, 0xf0b0, 0xceec,
    +    0xf0b1, 0xf0b2, 0x003f, 0xc0c9, 0xc8bb, 0x003f, 0x003f, 0x003f,
    +    0xbffd, 0xb4e7, 0x003f, 0x003f, 0xcdba, 0xb2ed, 0xbdb8, 0xb8db,
    +    0x003f, 0xf0b5, 0x003f, 0xf0b4, 0xbbf3, 0xf0b6, 0xf0b3, 0x003f,
    +    0x003f, 0xbba8, 0x003f, 0x003f, 0x003f, 0xf0ba, 0xeaad, 0x003f,
    +    0x003f, 0xd2d6, 0x003f, 0xbff7, 0xf0b8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcea5, 0xc6f1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb1ab, 0x003f, 0xc0e3, 0xbcb6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcab7, 0x003f, 0xb1c0, 0x003f, 0x003f, 0x003f, 0xceed, 0xcdeb,
    +    0x003f, 0xf0bb, 0x003f, 0xc5c5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9700 .. 0x97ff */
    +    0xbcfb, 0x003f, 0x003f, 0x003f, 0xf0bc, 0x003f, 0xf0bd, 0xbfcc,
    +    0xf0be, 0x003f, 0xceee, 0x003f, 0x003f, 0xf0b9, 0xf0c0, 0xf0c2,
    +    0x003f, 0xf0c1, 0x003f, 0xf0bf, 0x003f, 0x003f, 0xf0c3, 0x003f,
    +    0x003f, 0xf0c4, 0x003f, 0x003f, 0xc1fa, 0x003f, 0xb2e2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf0c5, 0x003f, 0x003f, 0xccb8,
    +    0x003f, 0x003f, 0xf0c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf0c7, 0x003f, 0xcfaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdbb1, 0xf0c8, 0x003f, 0x003f, 0x003f, 0xf0c9, 0xf0ca, 0x003f,
    +    0x003f, 0x003f, 0xf0ce, 0x003f, 0xf0cb, 0x003f, 0xf0cc, 0x003f,
    +    0xf0cd, 0xf0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc0c4, 0x003f, 0x003f, 0x003f, 0xccf7, 0x003f,
    +    0x003f, 0xc0c5, 0x003f, 0x003f, 0xf0d0, 0x003f, 0xc8f3, 0x003f,
    +    0xf0d1, 0xf3d3, 0xcccc, 0x003f, 0xf0d2, 0x003f, 0xf0d3, 0x003f,
    +    0xf0d4, 0xb3d7, 0x003f, 0xf0d6, 0x003f, 0xbfd9, 0x003f, 0x003f,
    +    0x003f, 0xf0d7, 0x003f, 0x003f, 0xb7a4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf0d8, 0xf0dc, 0x003f, 0xf0da, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf0db, 0x003f, 0x003f, 0xb3f3, 0xf0d9, 0xf0dd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0de, 0x003f, 0xb0c8, 0x003f, 0xf0df,
    +    0xf0e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbee4, 0x003f, 0x003f, 0x003f, 0xf0e1, 0x003f, 0x003f, 0x003f,
    +    0xb5c7, 0x003f, 0x003f, 0xf0e4, 0x003f, 0x003f, 0xf0e3, 0x003f,
    +    0xf0e2, 0x003f, 0x003f, 0xebf1, 0x003f, 0xcadc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0e5, 0xf0e6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0e7, 0x003f, 0x003f, 0xf0e8, 0x003f,
    +    0xf0e9, 0x003f, 0x003f, 0xf0ea, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb4da, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf0eb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ec, 0xc7a3, 0x003f,
    +    0x003f, 0x003f, 0xf0ee, 0xb2bb, 0x003f, 0xf0f1, 0xf0f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb1a4, 0x003f, 0x003f, 0x003f, 0xb6c1,
    +    /* 0x9800 .. 0x98ff */
    +    0x003f, 0xcac7, 0xc4ba, 0xbaa2, 0x003f, 0xb9e0, 0xbde7, 0x003f,
    +    0xbfdc, 0x003f, 0x003f, 0x003f, 0xf0f3, 0x003f, 0x003f, 0xf0f2,
    +    0xcdc2, 0xb4e8, 0xc8d2, 0xc6dc, 0x003f, 0x003f, 0x003f, 0xbffc,
    +    0xcece, 0x003f, 0xb7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf0f6, 0x003f, 0x003f, 0xf0f5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcbcb, 0xc6ac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb1d0, 0x003f, 0x003f, 0xf0f7,
    +    0xf0f4, 0x003f, 0x003f, 0xc9d1, 0xcdea, 0xf0f8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0f9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0fb, 0xc2ea, 0xb3db, 0xb3dc, 0xf0fa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb4e9, 0xb8b2, 0x003f, 0x003f,
    +    0xb4ea, 0x003f, 0x003f, 0xc5bf, 0x003f, 0x003f, 0xcee0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8dc,
    +    0x003f, 0x003f, 0x003f, 0xf0fc, 0x003f, 0x003f, 0x003f, 0xf0fd,
    +    0xf0fe, 0xf1a1, 0x003f, 0xf1a3, 0xf1a2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc9f7, 0x003f, 0xf1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a5,
    +    0x003f, 0xf1a6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf1a9, 0xf1a8, 0x003f, 0xf1aa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc8f4, 0xe6cc, 0x003f, 0x003f, 0xbfa9,
    +    0x003f, 0x003f, 0xb5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf1ab, 0x003f, 0xf1ac, 0x003f, 0xd2ac, 0xddbb, 0xc8d3,
    +    0x003f, 0x003f, 0xb0fb, 0x003f, 0xb0bb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbbf4, 0xcbb0, 0xbefe, 0x003f,
    +    /* 0x9900 .. 0x99ff */
    +    0x003f, 0x003f, 0x003f, 0xf1ad, 0x003f, 0xccdf, 0x003f, 0x003f,
    +    0x003f, 0xf1ae, 0xcddc, 0x003f, 0xb1c2, 0x003f, 0x003f, 0x003f,
    +    0xbbc1, 0x003f, 0xf1af, 0xb2ee, 0xf1b0, 0x003f, 0x003f, 0x003f,
    +    0xf1b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1b3, 0xf1b4, 0x003f,
    +    0xf1b6, 0xf1b2, 0x003f, 0x003f, 0xf1b5, 0x003f, 0x003f, 0x003f,
    +    0xb4db, 0x003f, 0x003f, 0x003f, 0xf1b7, 0x003f, 0xf1b8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1b9, 0xf1ba, 0x003f,
    +    0x003f, 0x003f, 0xf1bb, 0x003f, 0x003f, 0xf1bd, 0x003f, 0x003f,
    +    0x003f, 0xf1bc, 0x003f, 0xf1bf, 0xf1c2, 0x003f, 0x003f, 0x003f,
    +    0xf1be, 0xf1c0, 0xf1c1, 0x003f, 0x003f, 0xf1c3, 0x003f, 0xb6c2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcf3, 0xf1c4,
    +    0xf1c5, 0xb9e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1c6, 0x003f, 0x003f,
    +    0xb3be, 0x003f, 0x003f, 0x003f, 0xc7cf, 0xf1c7, 0xf1c8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc3da, 0xc6eb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf1c9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc7fd, 0x003f, 0x003f, 0xc2cc, 0xb1d8, 0xb6ee, 0x003f,
    +    0xb6ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc3f3, 0xf1ce, 0xb6f0, 0x003f, 0x003f, 0xb2ef, 0x003f, 0x003f,
    +    0xf1cd, 0x003f, 0x003f, 0xf1cb, 0x003f, 0xf1cc, 0x003f, 0xf1ca,
    +    0x003f, 0x003f, 0xf1d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1cf, 0xf1d0, 0x003f,
    +    0x003f, 0xf1d1, 0xf1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf1d4, 0x003f, 0x003f, 0xf1d3, 0x003f, 0x003f, 0x003f, 0xbdd9,
    +    /* 0x9a00 .. 0x9aff */
    +    0x003f, 0xf1d5, 0x003f, 0x003f, 0x003f, 0xf1d7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5b3, 0xf1d6,
    +    0x003f, 0x003f, 0xc1fb, 0xb8b3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf1d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc2cd, 0x003f, 0x003f, 0xf1da, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc6ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1db,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e0, 0x003f,
    +    0xf1de, 0x003f, 0xf1dd, 0xf1df, 0x003f, 0xf1dc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e1, 0x003f, 0xf1e4,
    +    0x003f, 0x003f, 0xb6c3, 0xf1e3, 0x003f, 0x003f, 0x003f, 0xf1e5,
    +    0x003f, 0x003f, 0xf1e6, 0x003f, 0xf1e8, 0xf1e7, 0x003f, 0x003f,
    +    0x003f, 0xf1e9, 0xf1eb, 0xf1ea, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ec, 0x003f, 0x003f,
    +    0xf1ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb3bc, 0x003f, 0x003f, 0x003f, 0xf1ee, 0x003f, 0x003f, 0x003f,
    +    0xf1ef, 0x003f, 0x003f, 0x003f, 0xbff1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1f0,
    +    0x003f, 0xf1f1, 0x003f, 0xf1f2, 0xf1f3, 0x003f, 0x003f, 0x003f,
    +    0xb9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1f4, 0xf1f5,
    +    0x003f, 0x003f, 0xf1f6, 0xf1f7, 0x003f, 0x003f, 0xf1f8, 0x003f,
    +    0x003f, 0x003f, 0xc8b1, 0xf1fa, 0x003f, 0xc9a6, 0xf1fb, 0xf1f9,
    +    0x003f, 0xf1fd, 0x003f, 0x003f, 0xf1fc, 0x003f, 0x003f, 0xf1fe,
    +    0x003f, 0x003f, 0x003f, 0xf2a1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9b00 .. 0x9bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2a3, 0x003f, 0xf2a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a5,
    +    0x003f, 0x003f, 0xf2a6, 0xf2a7, 0x003f, 0xf2a8, 0x003f, 0xf2a9,
    +    0xf2aa, 0xf2ab, 0xf2ac, 0x003f, 0x003f, 0x003f, 0xf2ad, 0xf2ae,
    +    0x003f, 0xddb5, 0xf2af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4f8, 0xb5b4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3a1, 0xbab2, 0xf2b1, 0xf2b0, 0xcca5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2b3, 0xf2b4, 0xf2b2,
    +    0x003f, 0xf2b5, 0x003f, 0x003f, 0xcbe2, 0x003f, 0x003f, 0x003f,
    +    0xf2b6, 0x003f, 0xb5fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf2b7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf2b9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0be, 0x003f,
    +    0x003f, 0xf2ba, 0xcaab, 0xf2b8, 0x003f, 0x003f, 0xf2bb, 0xf2bc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2bd,
    +    0xf2be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2bf, 0x003f, 0xcbee, 0xbbad, 0x003f, 0xbafa, 0xc1af, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf2c0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf2c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c4, 0x003f,
    +    0x003f, 0xb8f1, 0xf2c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c5,
    +    0x003f, 0xf2c6, 0xf2c7, 0x003f, 0xf2cb, 0x003f, 0xbbaa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc2e4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf2cc, 0xf2c9, 0xf2c8, 0xf2ca, 0x003f, 0x003f, 0x003f,
    +    0xb7df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2d0, 0xf2cf, 0xf2ce, 0x003f, 0x003f, 0xb0b3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9c00 .. 0x9cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf2da, 0x003f, 0xf2d6, 0x003f,
    +    0xf2d7, 0xf2d3, 0xf2d9, 0x003f, 0xf2d5, 0xb3e2, 0x003f, 0x003f,
    +    0xcfcc, 0x003f, 0xf2d8, 0xf2d4, 0xf2d2, 0xf2d1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf2dc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf2df, 0x003f, 0x003f, 0xf2de, 0xf2dd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9c9, 0xf2db, 0xb0f3,
    +    0xf2e0, 0x003f, 0xf2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3ef, 0xf2cd, 0xb1b7, 0x003f, 0x003f, 0xf2e4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e3, 0xf2e1,
    +    0xc3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcbf0, 0x003f, 0x003f, 0x003f, 0x003f, 0xceda,
    +    0x003f, 0x003f, 0xf2e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e8, 0x003f,
    +    0xf2e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4bb, 0x003f, 0xf2ea,
    +    0x003f, 0xc8b7, 0x003f, 0xf2ef, 0xf2eb, 0x003f, 0x003f, 0x003f,
    +    0xf2ec, 0x003f, 0x003f, 0xcbb1, 0xccc4, 0x003f, 0xc6d0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9d00 .. 0x9dff */
    +    0x003f, 0x003f, 0x003f, 0xf2f0, 0x003f, 0x003f, 0xf2f1, 0xc6be,
    +    0xf2ee, 0xf2ed, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2aa, 0x003f,
    +    0x003f, 0x003f, 0xf2f9, 0x003f, 0x003f, 0xf2f8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb1f5, 0x003f, 0x003f, 0x003f, 0xf2f6,
    +    0x003f, 0x003f, 0x003f, 0xf2f5, 0x003f, 0x003f, 0xf2f3, 0x003f,
    +    0xb3fb, 0x003f, 0xf2f2, 0xbcb2, 0xb2a9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb9e3, 0x003f, 0x003f, 0xf2fc, 0xf2fb,
    +    0x003f, 0xf2fa, 0x003f, 0x003f, 0xf2f7, 0x003f, 0xf2fd, 0x003f,
    +    0xf2fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf3a5, 0xf3a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3a6, 0x003f, 0x003f, 0xb1ad, 0xf3a1, 0xf3a2, 0x003f,
    +    0xb9f4, 0xccb9, 0x003f, 0x003f, 0xf3a3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcbb2, 0x003f, 0x003f, 0xf3ab,
    +    0x003f, 0x003f, 0xf3a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a9,
    +    0x003f, 0xf3a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7dc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3ae, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3af, 0x003f, 0xf3aa, 0x003f, 0x003f, 0x003f, 0xf2f4,
    +    0x003f, 0x003f, 0xf3b0, 0x003f, 0xc4e1, 0x003f, 0x003f, 0x003f,
    +    0xf3b4, 0x003f, 0xf3b5, 0xf3b3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3b2, 0xf3b8, 0x003f, 0xf3b1, 0x003f, 0xf3b6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3b7,
    +    0x003f, 0x003f, 0x003f, 0xf3ba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3bc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3bd, 0x003f, 0xf3be,
    +    0x003f, 0x003f, 0xcfc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf3bb, 0xc2eb, 0xbaed, 0x003f, 0x003f, 0xf3bf, 0x003f, 0x003f,
    +    /* 0x9e00 .. 0x9eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3c0, 0xf3c1, 0x003f, 0x003f, 0xf3c2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3c3, 0x003f, 0x003f,
    +    0xb8b4, 0xf3c4, 0x003f, 0x003f, 0x003f, 0xf3c5, 0x003f, 0xbcaf,
    +    0x003f, 0xf3c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf3c7, 0x003f, 0x003f, 0xf3c8, 0xf3c9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3cc, 0xf3ca, 0xcfbc, 0x003f, 0xf3cb, 0x003f, 0xceef,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3cd, 0x003f, 0xcedb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3ce, 0xc7fe, 0x003f,
    +    0x003f, 0xf3cf, 0xf3d1, 0x003f, 0x003f, 0xf3d2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf3d0, 0xb9ed, 0xcccd, 0xcbe3, 0xd6f7, 0x003f, 0xdde0, 0xcbfb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb2ab, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3d4, 0xb5d0, 0xf3d5, 0xf3d6,
    +    0xf3d7, 0x003f, 0xb9f5, 0x003f, 0xf3d8, 0x003f, 0x003f, 0x003f,
    +    0xe0d4, 0xccdb, 0x003f, 0xc2e3, 0xf3d9, 0xf3db, 0xf3da, 0x003f,
    +    0xf3dc, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3dd, 0x003f, 0x003f,
    +    0xf3de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3df,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3e0, 0x003f, 0xf3e1, 0xf3e2,
    +    0x003f, 0xf3e3, 0x003f, 0xf3e4, 0xf3e5, 0xf3e6, 0x003f, 0x003f,
    +    /* 0x9f00 .. 0x9fff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e7,
    +    0xf3e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5a4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb8dd, 0x003f, 0xf3ea, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc1cd, 0xf3eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3ec, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xc9a1, 0x003f, 0x003f, 0xf3ed, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3ee, 0xe3b7, 0x003f, 0x003f, 0xecda, 0xf0ed,
    +    0x003f, 0x003f, 0xf3ef, 0x003f, 0xf3f0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3f2,
    +    0xf3f3, 0xf3f4, 0xcef0, 0xf3f1, 0x003f, 0x003f, 0xf3f5, 0xf3f6,
    +    0x003f, 0x003f, 0xf3f8, 0x003f, 0xf3f7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3fa, 0x003f, 0x003f, 0x003f, 0xf3fb, 0xf3f9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceb6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3fd, 0xe3d4, 0x003f, 0x003f,
    +    0xf3fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xf900 .. 0xf9ff */
    +    0xecb1, 0xb9b9, 0xbcd6, 0xeccb, 0xb3ea, 0xb6fa, 0xb6e7, 0xf3fd,
    +    0xf3fd, 0xb7c0, 0xb6e2, 0xd3c9, 0xc6e0, 0xd8f1, 0xe1fa, 0xcde5,
    +    0xe9c7, 0xcde6, 0xcde7, 0xeeb6, 0xdcdb, 0xcdec, 0xdfe0, 0xe0e4,
    +    0xcdee, 0xcdef, 0xf1d1, 0xd0ac, 0xcdf1, 0xcdf3, 0xe0a5, 0xcdf6,
    +    0xf3c2, 0xcdf2, 0xcdf4, 0xcdf5, 0xeba2, 0xd9c7, 0xe7c4, 0x003f,
    +    0xcfad, 0xcfaf, 0xcfb2, 0xcfb5, 0xcfba, 0xd0d4, 0xcee4, 0xd2a9,
    +    0x003f, 0xcfa6, 0xe0a4, 0xe2ba, 0xcfb7, 0xe9c3, 0xceba, 0xcfa9,
    +    0xcfaa, 0xcfa5, 0xbaed, 0xe2f1, 0xe3b3, 0x003f, 0x003f, 0x003f,
    +    0xbcaf, 0xcfc0, 0xd4e2, 0xcfae, 0xe4c6, 0xcfb8, 0xcfb4, 0xe2fd,
    +    0xcfa8, 0xcdeb, 0xd4de, 0x003f, 0xdcec, 0x003f, 0xcfb3, 0xcedf,
    +    0xe5df, 0xeffb, 0xf0d5, 0xcfbe, 0xf4a5, 0xcebf, 0xcec7, 0xb0bd,
    +    0xc9a9, 0xcecd, 0xeca6, 0xd9bc, 0xdcdb, 0xc2fa, 0xc3b0, 0xc7ab,
    +    0xc5dc, 0xcea8, 0xb0db, 0xcbcc, 0x003f, 0xcad8, 0xc9fc, 0xc9d4,
    +    0xc8e7, 0xdacb, 0xbaf7, 0xd2d4, 0xbac9, 0xbeca, 0xcdd5, 0x003f,
    +    0xbba6, 0xc3a4, 0xc4c0, 0xbda6, 0xbce3, 0xceab, 0xceac, 0xcebc,
    +    0xd1c0, 0xd1da, 0xcec2, 0xcec8, 0xcec9, 0xceca, 0xcecc, 0xd2af,
    +    0xcfa4, 0xbdf7, 0xd7aa, 0xceb9, 0xdfc9, 0xe2ea, 0xefe3, 0xf1eb,
    +    0xceef, 0xf3d5, 0xcecf, 0x003f, 0x003f, 0xede0, 0xc7af, 0xcef9,
    +    0xd8f8, 0xc7b2, 0xcefa, 0xcefb, 0x003f, 0x003f, 0xcefd, 0xcefe,
    +    0xedd3, 0xcfa1, 0xcfa2, 0x003f, 0xcef3, 0xcef4, 0xb0f6, 0xcef5,
    +    0xcef6, 0x003f, 0xcef7, 0xc7b0, 0xc7b1, 0x003f, 0xcefc, 0xe0da,
    +    0xcee1, 0xd3fa, 0xc7ab, 0xcee6, 0xcee7, 0xcee8, 0xe0f2, 0xe6b9,
    +    0xe6d9, 0xceeb, 0xceed, 0xf0cd, 0xcece, 0xcee3, 0xe3b9, 0xeed4,
    +    0xf0b1, 0xd8a8, 0xcebb, 0xcebd, 0xcec0, 0xc7a2, 0xcec1, 0xdcdb,
    +    0xdff9, 0xcec5, 0xe8fa, 0xcecb, 0xceb6, 0xdaf4, 0xeff6, 0xcead,
    +    0x003f, 0xccf8, 0xceae, 0xceaf, 0xceb0, 0xceb1, 0xceb2, 0xc9b3,
    +    0xcee0, 0xcfbb, 0xd9a4, 0xcea6, 0xced1, 0xd6c6, 0xdecd, 0xced8,
    +    0xcea7, 0xd8cb, 0xb7aa, 0xcea8, 0xceb4, 0xcdf8, 0xcdf9, 0xcdfa,
    +    0xb0d7, 0xcdfb, 0xcdfc, 0xc5a5, 0xcdfd, 0xcea1, 0xd8ed, 0xcea2,
    +    0xcea3, 0xcea4, 0xcea5, 0xc6bf, 0xc5ae, 0xd2e7, 0xced5, 0x003f,
    +    0xe9c2, 0xced9, 0xceda, 0xcedb, 0xced3, 0xced4, 0xced7, 0xcea9,
    +    0xb3de, 0xceb3, 0x003f, 0xdfd5, 0xbcb1, 0xbdba, 0xc3e3, 0xbbc9,
    +    /* 0xfa00 .. 0xfaff */
    +    0xc0da, 0xc5d9, 0xc2f3, 0xc5fc, 0xc2f0, 0xc6b6, 0xcbbd, 0xedd5,
    +    0xb9d4, 0xb9df, 0xb8ab, 0xb3c7, 0xd1ba, 0x003f, 0x003f, 0x003f,
    +    0xc4cd, 0x003f, 0xc0b2, 0x003f, 0x003f, 0x003f, 0xc3f6, 0xb1d7,
    +    0xcee9, 0xbfc0, 0xbecd, 0xcaa1, 0xccf7, 0xc0ba, 0xb1a9, 0x003f,
    +    0x003f, 0x003f, 0xbdf4, 0x003f, 0x003f, 0xb0ef, 0xc5d4, 0x003f,
    +    0x003f, 0x003f, 0xc8d3, 0xbbf4, 0xb4db, 0xc4e1, 0x003f, 0x003f,
    +    0xc9ee, 0xc1ce, 0xccc8, 0xcad9, 0xb6d0, 0xc8dc, 0xb3e5, 0xc3b2,
    +    0xb4ef, 0xcabd, 0xcbcf, 0xc1d8, 0xd6a5, 0xb2f9, 0xb3b4, 0xc1fe,
    +    0xc4a8, 0xc9d2, 0xb4fb, 0xbdeb, 0xc7df, 0xb3a4, 0xbded, 0xb4c1,
    +    0xbcd1, 0x003f, 0xc2f6, 0xc8ea, 0xbcd2, 0xbbe3, 0xb5a7, 0xcdb4,
    +    0xc1c4, 0xbdcb, 0xb2d2, 0xc4f7, 0xb9f2, 0xc6cd, 0xc0e1, 0xcefd,
    +    0xe5d6, 0xc8cb, 0xbdf0, 0xbcd4, 0xbdad, 0x003f, 0x003f, 0xc3f8,
    +    0xb3ec, 0xbbeb, 0xb1da, 0xb6e0, 0xc9d0, 0xc2a3, 0x003f, 0xb0ef,
    +    0xc6f1, 0xb6c1, 0xc9d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x007e, 0x007e, 0x007e, 0x007e, 0x005f, 0x005f, 0x005f,
    +    0x002c, 0xa1a2, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,
    +    0xa1bd, 0x0028, 0x0029, 0x007b, 0x007d, 0xa1cc, 0xa1cd, 0x0023,
    +    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,
    +    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xff00 .. 0xffff */
    +    0x003f, 0xa1aa, 0x0022, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0x0027,
    +    0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0x002d, 0xa1a5, 0xa1bf,
    +    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,
    +    0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9,
    +    0xa1f7, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,
    +    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,
    +    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,
    +    0xa3d8, 0xa3d9, 0xa3da, 0xa1ce, 0xa1c0, 0xa1cf, 0xa1b0, 0xa1b2,
    +    0xa1ae, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,
    +    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,
    +    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,
    +    0xa3f8, 0xa3f9, 0xa3fa, 0xa1d0, 0xa1c3, 0xa1d1, 0x007e, 0x003f,
    +    0x003f, 0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7,
    +    0x8ea8, 0x8ea9, 0x8eaa, 0x8eab, 0x8eac, 0x8ead, 0x8eae, 0x8eaf,
    +    0x8eb0, 0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7,
    +    0x8eb8, 0x8eb9, 0x8eba, 0x8ebb, 0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf,
    +    0x8ec0, 0x8ec1, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7,
    +    0x8ec8, 0x8ec9, 0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf,
    +    0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7,
    +    0x8ed8, 0x8ed9, 0x8eda, 0x8edb, 0x8edc, 0x8edd, 0x8ede, 0x8edf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1f1, 0xa1f2, 0xa2cc, 0xa1b1, 0x007c, 0xa1ef, 0x003f, 0x003f,
    +    0xa8a2, 0xa2ab, 0xa2ac, 0xa2aa, 0xa2ad, 0xa2a3, 0xa1fb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* defaults */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0f00, 0x1000,
    +    0x1100, 0x1200, 0x1300, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x1400, 0x1500,
    +    0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00,
    +    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,
    +    0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00,
    +    0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500,
    +    0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00,
    +    0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500,
    +    0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00,
    +    0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500,
    +    0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00,
    +    0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6600, 0x6700, 0x6800, 0x6b00, 0x6b00, 0x6900, 0x6a00
    +};
    +
    +const struct dbcs_table cptable_20932 =
    +{
    +    { 20932, 2, 0x003f, 0x003f, "EUC-JP" },
    +    cp2uni,
    +    cp2uni_leadbytes,
    +    uni2cp_low,
    +    uni2cp_high,
    +    { 0x8e, 0x8f, 0xa1, 0xfe, 0x00, 0x00 }
    +};
    diff --git a/reactos/tools/unicode/c_21866.c b/reactos/tools/unicode/c_21866.c
    new file mode 100644
    index 00000000000..c79376f776d
    --- /dev/null
    +++ b/reactos/tools/unicode/c_21866.c
    @@ -0,0 +1,716 @@
    +/* code page 21866 (Ukrainian KOI8) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-U.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,
    +    0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,
    +    0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,
    +    0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,
    +    0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457,
    +    0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x0491, 0x045e, 0x255e,
    +    0x255f, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407,
    +    0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x0490, 0x040e, 0x00a9,
    +    0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
    +    0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,
    +    0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
    +    0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,
    +    0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
    +    0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
    +    0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
    +    0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9a, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0xbf, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    +    0x9c, 0x3f, 0x9d, 0x33, 0x27, 0x75, 0x3f, 0x9e,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x9f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x81, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x9c, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x9c, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x9e,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0xe5, 0xb3, 0x3f, 0xe7, 0xb4, 0x3f, 0xb6, 0xb7,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xeb, 0xe9, 0xbe, 0x3f,
    +    0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,
    +    0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,
    +    0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,
    +    0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,
    +    0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,
    +    0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,
    +    0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1,
    +    0xc5, 0xa3, 0x3f, 0xc7, 0xa4, 0x3f, 0xa6, 0xa7,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xcb, 0xc9, 0xae, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xbd, 0xad, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0xc1, 0xe1, 0xc1, 0x3f, 0x3f, 0xe5, 0xc5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xf6, 0xd6, 0xfa, 0xda,
    +    0x3f, 0x3f, 0xe9, 0xc9, 0xe9, 0xc9, 0xef, 0xcf,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xfc, 0xdc, 0xf5, 0xd5,
    +    0xf5, 0xd5, 0xf5, 0xd5, 0xfe, 0xde, 0x3f, 0x3f,
    +    0xf9, 0xd9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9c, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x9c, 0x95, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x97, 0x97, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x98, 0x99, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x98, 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9e, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x93, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x80, 0x80, 0x81, 0x81, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x82, 0x82, 0x82, 0x82,
    +    0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,
    +    0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x86,
    +    0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87,
    +    0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88,
    +    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,
    +    0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xa0, 0xa1, 0xa2, 0xa2, 0xa5, 0xa8, 0xa8, 0xa8,
    +    0xa9, 0xaa, 0xab, 0xac, 0xac, 0xac, 0xaf, 0xb0,
    +    0xb1, 0xb2, 0xb2, 0xb5, 0xb8, 0xb8, 0xb8, 0xb9,
    +    0xba, 0xbb, 0xbc, 0xbc, 0xbc, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x8b, 0x3f, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    +    0x8d, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,
    +    0x8f, 0x90, 0x91, 0x92, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x94, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x81, 0x3c, 0x5e, 0x3e, 0x76, 0x94, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_21866 =
    +{
    +    { 21866, 1, 0x003f, 0x003f, "Ukrainian KOI8" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28591.c b/reactos/tools/unicode/c_28591.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28591.c
    rename to reactos/tools/unicode/c_28591.c
    index 19de762fa52..0826d3cc310 100644
    --- a/reactos/lib/unicode/c_28591.c
    +++ b/reactos/tools/unicode/c_28591.c
    @@ -1,683 +1,683 @@
    -/* code page 28591 (ISO 8859-1 Latin 1) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    -    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28591 =
    -{
    -    { 28591, 1, 0x003f, 0x003f, "ISO 8859-1 Latin 1" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28591 (ISO 8859-1 Latin 1) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    +    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28591 =
    +{
    +    { 28591, 1, 0x003f, 0x003f, "ISO 8859-1 Latin 1" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28592.c b/reactos/tools/unicode/c_28592.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28592.c
    rename to reactos/tools/unicode/c_28592.c
    index 27e5e750903..72cdbcce0c4 100644
    --- a/reactos/lib/unicode/c_28592.c
    +++ b/reactos/tools/unicode/c_28592.c
    @@ -1,683 +1,683 @@
    -/* code page 28592 (ISO 8859-2 Latin 2 (East European)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,
    -    0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,
    -    0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,
    -    0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c,
    -    0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,
    -    0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,
    -    0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,
    -    0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,
    -    0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,
    -    0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
    -    0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
    -    0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x7c, 0xa7,
    -    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    -    0xb0, 0x3f, 0x32, 0x33, 0xb4, 0x75, 0x3f, 0x3f,
    -    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,
    -    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,
    -    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    -    0x4f, 0x55, 0xda, 0x55, 0xdc, 0xdd, 0x3f, 0xdf,
    -    0x61, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,
    -    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,
    -    0x64, 0x6e, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    -    0x6f, 0x75, 0xfa, 0x75, 0xfc, 0xfd, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0xc3, 0xe3, 0xa1, 0xb1, 0xc6, 0xe6,
    -    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0xcf, 0xef,
    -    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0xca, 0xea, 0xcc, 0xec, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0xc5, 0xe5, 0x4c, 0x6c, 0xa5, 0xb5, 0x3f,
    -    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0xd2,
    -    0xf2, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd5, 0xf5, 0x4f, 0x6f, 0xc0, 0xe0, 0x52, 0x72,
    -    0xd8, 0xf8, 0xa6, 0xb6, 0x53, 0x73, 0xaa, 0xba,
    -    0xa9, 0xb9, 0xde, 0xfe, 0xab, 0xbb, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xd9, 0xf9,
    -    0xdb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0xac, 0xbc, 0xaf, 0xbf, 0xae, 0xbe, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0xbd, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xb7,
    -    0x27, 0x2d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xff, 0xb0, 0xb2, 0x7e, 0xbd, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0x2d, 0x2d, 0xa2, 0xff,
    -    0xa8, 0x3f, 0xb0, 0xbd, 0xb7, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0xa6, 0xb6, 0xa9, 0xb9,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    -    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xb4, 0xbd, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0xb7, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0xb7, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28592 =
    -{
    -    { 28592, 1, 0x003f, 0x003f, "ISO 8859-2 Latin 2 (East European)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28592 (ISO 8859-2 Latin 2 (East European)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,
    +    0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,
    +    0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,
    +    0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c,
    +    0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,
    +    0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,
    +    0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,
    +    0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,
    +    0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,
    +    0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
    +    0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
    +    0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x7c, 0xa7,
    +    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    +    0xb0, 0x3f, 0x32, 0x33, 0xb4, 0x75, 0x3f, 0x3f,
    +    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,
    +    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,
    +    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    +    0x4f, 0x55, 0xda, 0x55, 0xdc, 0xdd, 0x3f, 0xdf,
    +    0x61, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,
    +    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,
    +    0x64, 0x6e, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    +    0x6f, 0x75, 0xfa, 0x75, 0xfc, 0xfd, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0xc3, 0xe3, 0xa1, 0xb1, 0xc6, 0xe6,
    +    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0xcf, 0xef,
    +    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0xca, 0xea, 0xcc, 0xec, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0xc5, 0xe5, 0x4c, 0x6c, 0xa5, 0xb5, 0x3f,
    +    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0xd2,
    +    0xf2, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd5, 0xf5, 0x4f, 0x6f, 0xc0, 0xe0, 0x52, 0x72,
    +    0xd8, 0xf8, 0xa6, 0xb6, 0x53, 0x73, 0xaa, 0xba,
    +    0xa9, 0xb9, 0xde, 0xfe, 0xab, 0xbb, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xd9, 0xf9,
    +    0xdb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0xac, 0xbc, 0xaf, 0xbf, 0xae, 0xbe, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0xbd, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xb7,
    +    0x27, 0x2d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xff, 0xb0, 0xb2, 0x7e, 0xbd, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0x2d, 0x2d, 0xa2, 0xff,
    +    0xa8, 0x3f, 0xb0, 0xbd, 0xb7, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0xa6, 0xb6, 0xa9, 0xb9,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    +    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xb4, 0xbd, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0xb7, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0xb7, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28592 =
    +{
    +    { 28592, 1, 0x003f, 0x003f, "ISO 8859-2 Latin 2 (East European)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28593.c b/reactos/tools/unicode/c_28593.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28593.c
    rename to reactos/tools/unicode/c_28593.c
    index 0e3344cb650..f9f680e24ff 100644
    --- a/reactos/lib/unicode/c_28593.c
    +++ b/reactos/tools/unicode/c_28593.c
    @@ -1,683 +1,683 @@
    -/* code page 28593 (ISO 8859-3 Latin 3 (South European)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0x003f, 0x0124, 0x00a7,
    -    0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0x003f, 0x017b,
    -    0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,
    -    0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, 0x00be, 0x017c,
    -    0x00c0, 0x00c1, 0x00c2, 0x003f, 0x00c4, 0x010a, 0x0108, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x003f, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7,
    -    0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x003f, 0x00e4, 0x010b, 0x0109, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x003f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,
    -    0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0x59, 0x7c, 0xa7,
    -    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    -    0xb0, 0x3f, 0xb2, 0xb3, 0xb4, 0xb5, 0x3f, 0xb7,
    -    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0xbd, 0xbe, 0x3f,
    -    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    -    0x4f, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    -    0x6f, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0xc6, 0xe6, 0xc5, 0xe5, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0xd8, 0xf8, 0xab, 0xbb,
    -    0xd5, 0xf5, 0x47, 0x67, 0xa6, 0xb6, 0xa1, 0xb1,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0xa9, 0xb9, 0x3f, 0x3f, 0xac, 0xbc, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0xde, 0xfe, 0xaa, 0xba,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0xdd, 0xfd, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0xaf, 0xbf, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xff, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0x2d, 0x2d, 0xa2, 0xff,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0xb1,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0xa3, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28593 =
    -{
    -    { 28593, 1, 0x003f, 0x003f, "ISO 8859-3 Latin 3 (South European)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28593 (ISO 8859-3 Latin 3 (South European)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0x003f, 0x0124, 0x00a7,
    +    0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0x003f, 0x017b,
    +    0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,
    +    0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, 0x00be, 0x017c,
    +    0x00c0, 0x00c1, 0x00c2, 0x003f, 0x00c4, 0x010a, 0x0108, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x003f, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7,
    +    0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x003f, 0x00e4, 0x010b, 0x0109, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x003f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,
    +    0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0x59, 0x7c, 0xa7,
    +    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    +    0xb0, 0x3f, 0xb2, 0xb3, 0xb4, 0xb5, 0x3f, 0xb7,
    +    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0xbd, 0xbe, 0x3f,
    +    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,
    +    0x4f, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,
    +    0x6f, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0xc6, 0xe6, 0xc5, 0xe5, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0xd8, 0xf8, 0xab, 0xbb,
    +    0xd5, 0xf5, 0x47, 0x67, 0xa6, 0xb6, 0xa1, 0xb1,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0xa9, 0xb9, 0x3f, 0x3f, 0xac, 0xbc, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0xde, 0xfe, 0xaa, 0xba,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0xdd, 0xfd, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0xaf, 0xbf, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xff, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0x2d, 0x2d, 0xa2, 0xff,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0xb1,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0xa3, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28593 =
    +{
    +    { 28593, 1, 0x003f, 0x003f, "ISO 8859-3 Latin 3 (South European)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28594.c b/reactos/tools/unicode/c_28594.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28594.c
    rename to reactos/tools/unicode/c_28594.c
    index 3bcf20a02ee..cd42f2e5fb5 100644
    --- a/reactos/lib/unicode/c_28594.c
    +++ b/reactos/tools/unicode/c_28594.c
    @@ -1,683 +1,683 @@
    -/* code page 28594 (ISO 8859-4 Latin 4 (Baltic old)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,
    -    0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,
    -    0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,
    -    0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,
    -    0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
    -    0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a,
    -    0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    -    0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df,
    -    0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
    -    0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,
    -    0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    -    0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x7c, 0xa7,
    -    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0xaf,
    -    0xb0, 0x3f, 0x32, 0x33, 0xb4, 0x75, 0x3f, 0x3f,
    -    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0x43,
    -    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,
    -    0xd0, 0x4e, 0x4f, 0x4f, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0x55, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    -    0x61, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x63,
    -    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0x75, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0xc0, 0xe0, 0x41, 0x61, 0xa1, 0xb1, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    -    0xd0, 0xf0, 0xaa, 0xba, 0x45, 0x65, 0xcc, 0xec,
    -    0xca, 0xea, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0xab, 0xbb, 0x48, 0x68, 0x48, 0x68,
    -    0xa5, 0xb5, 0xcf, 0xef, 0x49, 0x69, 0xc7, 0xe7,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xd3, 0xf3,
    -    0xa2, 0x4c, 0x6c, 0xa6, 0xb6, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0xd1, 0xf1, 0x4e,
    -    0x6e, 0x3f, 0xbd, 0xbf, 0xd2, 0xf2, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xa3, 0xb3,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0xa9, 0xb9, 0x54, 0x74, 0x54, 0x74, 0xac, 0xbc,
    -    0xdd, 0xfd, 0xde, 0xfe, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xd9, 0xf9, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0xae, 0xbe, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xb7,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xff, 0xb0, 0xb2, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0xff,
    -    0xa8, 0x3f, 0xb0, 0x22, 0xb7, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0xbf, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0xaa, 0xba, 0xaa, 0xba,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0xd2, 0xf2, 0xd2, 0xf2, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xa9, 0xb9,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0xdd, 0xfd, 0xde, 0xfe, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0xb7, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0xaf, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0xb7, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28594 =
    -{
    -    { 28594, 1, 0x003f, 0x003f, "ISO 8859-4 Latin 4 (Baltic old)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28594 (ISO 8859-4 Latin 4 (Baltic old)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,
    +    0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,
    +    0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,
    +    0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,
    +    0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
    +    0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a,
    +    0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    +    0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df,
    +    0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
    +    0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,
    +    0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    +    0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x7c, 0xa7,
    +    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0xaf,
    +    0xb0, 0x3f, 0x32, 0x33, 0xb4, 0x75, 0x3f, 0x3f,
    +    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0x43,
    +    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,
    +    0xd0, 0x4e, 0x4f, 0x4f, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0x55, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    +    0x61, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x63,
    +    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0x75, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0xc0, 0xe0, 0x41, 0x61, 0xa1, 0xb1, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    +    0xd0, 0xf0, 0xaa, 0xba, 0x45, 0x65, 0xcc, 0xec,
    +    0xca, 0xea, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0xab, 0xbb, 0x48, 0x68, 0x48, 0x68,
    +    0xa5, 0xb5, 0xcf, 0xef, 0x49, 0x69, 0xc7, 0xe7,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xd3, 0xf3,
    +    0xa2, 0x4c, 0x6c, 0xa6, 0xb6, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0xd1, 0xf1, 0x4e,
    +    0x6e, 0x3f, 0xbd, 0xbf, 0xd2, 0xf2, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xa3, 0xb3,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0xa9, 0xb9, 0x54, 0x74, 0x54, 0x74, 0xac, 0xbc,
    +    0xdd, 0xfd, 0xde, 0xfe, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xd9, 0xf9, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0xae, 0xbe, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xb7,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xff, 0xb0, 0xb2, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0xff,
    +    0xa8, 0x3f, 0xb0, 0x22, 0xb7, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0xbf, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0xaa, 0xba, 0xaa, 0xba,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0xd2, 0xf2, 0xd2, 0xf2, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xa9, 0xb9,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0xdd, 0xfd, 0xde, 0xfe, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0xb7, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0xaf, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0xb7, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28594 =
    +{
    +    { 28594, 1, 0x003f, 0x003f, "ISO 8859-4 Latin 4 (Baltic old)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28595.c b/reactos/tools/unicode/c_28595.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28595.c
    rename to reactos/tools/unicode/c_28595.c
    index 36bd0854582..7b14e4bc644 100644
    --- a/reactos/lib/unicode/c_28595.c
    +++ b/reactos/tools/unicode/c_28595.c
    @@ -1,716 +1,716 @@
    -/* code page 28595 (ISO 8859-5 Cyrillic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,
    -    0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,
    -    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    -    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    -    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    -    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    -    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    -    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    -    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    -    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
    -    0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,
    -    0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0xfd,
    -    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    -    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0400 .. 0x04ff */
    -    0xb5, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xb8, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xd5, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xd8, 0xfe, 0xff,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0xd0, 0xb0, 0xd0, 0x3f, 0x3f, 0xb5, 0xd5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb6, 0xd6, 0xb7, 0xd7,
    -    0x3f, 0x3f, 0xb8, 0xd8, 0xb8, 0xd8, 0xbe, 0xde,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xcd, 0xed, 0xc3, 0xe3,
    -    0xc3, 0xe3, 0xc3, 0xe3, 0xc7, 0xe7, 0x3f, 0x3f,
    -    0xcb, 0xeb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xf0, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_28595 =
    -{
    -    { 28595, 1, 0x003f, 0x003f, "ISO 8859-5 Cyrillic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28595 (ISO 8859-5 Cyrillic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,
    +    0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,
    +    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    +    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    +    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    +    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    +    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    +    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    +    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    +    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
    +    0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,
    +    0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0xfd,
    +    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    +    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0xb5, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xb8, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xd5, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xd8, 0xfe, 0xff,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0xd0, 0xb0, 0xd0, 0x3f, 0x3f, 0xb5, 0xd5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb6, 0xd6, 0xb7, 0xd7,
    +    0x3f, 0x3f, 0xb8, 0xd8, 0xb8, 0xd8, 0xbe, 0xde,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xcd, 0xed, 0xc3, 0xe3,
    +    0xc3, 0xe3, 0xc3, 0xe3, 0xc7, 0xe7, 0x3f, 0x3f,
    +    0xcb, 0xeb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xf0, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_28595 =
    +{
    +    { 28595, 1, 0x003f, 0x003f, "ISO 8859-5 Cyrillic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28596.c b/reactos/tools/unicode/c_28596.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28596.c
    rename to reactos/tools/unicode/c_28596.c
    index 1165a0d3c22..feeb4f9f3ef 100644
    --- a/reactos/lib/unicode/c_28596.c
    +++ b/reactos/tools/unicode/c_28596.c
    @@ -1,716 +1,716 @@
    -/* code page 28596 (ISO 8859-6 Arabic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x003f, 0x003f, 0x003f, 0x00a4, 0x003f, 0x003f, 0x00a7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x060c, 0x00ad, 0x003f, 0x003f,
    -    0x00b0, 0x00b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x00b6, 0x00b7,
    -    0x003f, 0x003f, 0x003f, 0x061b, 0x00bc, 0x00bd, 0x00be, 0x061f,
    -    0x003f, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
    -    0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
    -    0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,
    -    0x0638, 0x0639, 0x063a, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,
    -    0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
    -    0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
    -    0x0650, 0x0651, 0x0652, 0x003f, 0x003f, 0x003f, 0x003f, 0x00f7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00fe, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x7c, 0xa7,
    -    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    -    0xb0, 0xb1, 0x32, 0x33, 0x27, 0x75, 0xb6, 0xb7,
    -    0x2c, 0x31, 0x6f, 0x3e, 0xbc, 0xbd, 0xbe, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0600 .. 0x06ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,
    -    0x3f, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_28596 =
    -{
    -    { 28596, 1, 0x003f, 0x003f, "ISO 8859-6 Arabic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28596 (ISO 8859-6 Arabic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x003f, 0x003f, 0x003f, 0x00a4, 0x003f, 0x003f, 0x00a7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x060c, 0x00ad, 0x003f, 0x003f,
    +    0x00b0, 0x00b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x00b6, 0x00b7,
    +    0x003f, 0x003f, 0x003f, 0x061b, 0x00bc, 0x00bd, 0x00be, 0x061f,
    +    0x003f, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
    +    0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
    +    0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,
    +    0x0638, 0x0639, 0x063a, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,
    +    0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,
    +    0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
    +    0x0650, 0x0651, 0x0652, 0x003f, 0x003f, 0x003f, 0x003f, 0x00f7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00fe, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x7c, 0xa7,
    +    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,
    +    0xb0, 0xb1, 0x32, 0x33, 0x27, 0x75, 0xb6, 0xb7,
    +    0x2c, 0x31, 0x6f, 0x3e, 0xbc, 0xbd, 0xbe, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0600 .. 0x06ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,
    +    0x3f, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_28596 =
    +{
    +    { 28596, 1, 0x003f, 0x003f, "ISO 8859-6 Arabic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28597.c b/reactos/tools/unicode/c_28597.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28597.c
    rename to reactos/tools/unicode/c_28597.c
    index 7eba5b44596..a966334a971 100644
    --- a/reactos/lib/unicode/c_28597.c
    +++ b/reactos/tools/unicode/c_28597.c
    @@ -1,683 +1,683 @@
    -/* code page 28597 (ISO 8859-7 Greek) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x2018, 0x2019, 0x00a3, 0x00a4, 0x003f, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x003f, 0x00ab, 0x00ac, 0x00ad, 0x003f, 0x2015,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7,
    -    0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,
    -    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    -    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    -    0x03a0, 0x03a1, 0x003f, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
    -    0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,
    -    0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    -    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    -    0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
    -    0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0x72, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xec, 0x3f, 0xb7,
    -    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0xbd, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe2,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0xa1, 0xa2, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xaf, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0x3f, 0xbc, 0x3f, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0x3f, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x3f,
    -    0xe2, 0xe8, 0xd5, 0xd5, 0xd5, 0xf6, 0xf0, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xf1, 0xf2, 0x3f, 0xc8, 0xe5, 0x3f, 0x3f,
    -    0x3f, 0xd3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe2, 0xe3, 0xe4,
    -    0xf6, 0xf7, 0x69, 0x72, 0x75, 0x76, 0xe2, 0xe3,
    -    0xf1, 0xf6, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    -    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    -    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    -    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,
    -    0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x3f, 0x3f,
    -    0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
    -    0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5,
    -    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    -    0xe1, 0xdc, 0xe5, 0xdd, 0xe7, 0xde, 0xe9, 0xdf,
    -    0xef, 0xfc, 0xf5, 0xfd, 0xf9, 0xfe, 0x3f, 0x3f,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    -    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    -    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xdc, 0x3f, 0xe1, 0xe1,
    -    0xc1, 0xc1, 0xc1, 0xb6, 0xc1, 0x3f, 0xe9, 0x3f,
    -    0x3f, 0xa8, 0xe7, 0xe7, 0xde, 0x3f, 0xe7, 0xe7,
    -    0xc5, 0xb8, 0xc7, 0xb9, 0xc7, 0x3f, 0x3f, 0x3f,
    -    0xe9, 0xe9, 0xfa, 0xc0, 0x3f, 0x3f, 0xe9, 0xfa,
    -    0xc9, 0xc9, 0xc9, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf5, 0xf5, 0xfb, 0xe0, 0xf1, 0xf1, 0xf5, 0xfb,
    -    0xd5, 0xd5, 0xd5, 0xbe, 0xd1, 0xa8, 0xb5, 0x60,
    -    0x3f, 0x3f, 0xf9, 0xf9, 0xfe, 0x3f, 0xf9, 0xf9,
    -    0xcf, 0xbc, 0xd9, 0xbf, 0xd9, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xaf, 0xaf, 0xaf, 0x3f, 0x5f,
    -    0xa1, 0xa2, 0x2c, 0xa1, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xa1, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xd9, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe3, 0xc3, 0xd0,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xaf, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0xa3, 0xac, 0xaf, 0xa6, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28597 =
    -{
    -    { 28597, 1, 0x003f, 0x003f, "ISO 8859-7 Greek" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28597 (ISO 8859-7 Greek) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x2018, 0x2019, 0x00a3, 0x00a4, 0x003f, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x003f, 0x00ab, 0x00ac, 0x00ad, 0x003f, 0x2015,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7,
    +    0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,
    +    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    +    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    +    0x03a0, 0x03a1, 0x003f, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
    +    0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,
    +    0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    +    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    +    0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
    +    0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0x72, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xec, 0x3f, 0xb7,
    +    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0xbd, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe2,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0xa1, 0xa2, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xaf, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0x3f, 0xbc, 0x3f, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0x3f, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x3f,
    +    0xe2, 0xe8, 0xd5, 0xd5, 0xd5, 0xf6, 0xf0, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xf1, 0xf2, 0x3f, 0xc8, 0xe5, 0x3f, 0x3f,
    +    0x3f, 0xd3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe2, 0xe3, 0xe4,
    +    0xf6, 0xf7, 0x69, 0x72, 0x75, 0x76, 0xe2, 0xe3,
    +    0xf1, 0xf6, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    +    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    +    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    +    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,
    +    0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x3f, 0x3f,
    +    0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
    +    0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5,
    +    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    +    0xe1, 0xdc, 0xe5, 0xdd, 0xe7, 0xde, 0xe9, 0xdf,
    +    0xef, 0xfc, 0xf5, 0xfd, 0xf9, 0xfe, 0x3f, 0x3f,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
    +    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
    +    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xdc, 0x3f, 0xe1, 0xe1,
    +    0xc1, 0xc1, 0xc1, 0xb6, 0xc1, 0x3f, 0xe9, 0x3f,
    +    0x3f, 0xa8, 0xe7, 0xe7, 0xde, 0x3f, 0xe7, 0xe7,
    +    0xc5, 0xb8, 0xc7, 0xb9, 0xc7, 0x3f, 0x3f, 0x3f,
    +    0xe9, 0xe9, 0xfa, 0xc0, 0x3f, 0x3f, 0xe9, 0xfa,
    +    0xc9, 0xc9, 0xc9, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf5, 0xf5, 0xfb, 0xe0, 0xf1, 0xf1, 0xf5, 0xfb,
    +    0xd5, 0xd5, 0xd5, 0xbe, 0xd1, 0xa8, 0xb5, 0x60,
    +    0x3f, 0x3f, 0xf9, 0xf9, 0xfe, 0x3f, 0xf9, 0xf9,
    +    0xcf, 0xbc, 0xd9, 0xbf, 0xd9, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xaf, 0xaf, 0xaf, 0x3f, 0x5f,
    +    0xa1, 0xa2, 0x2c, 0xa1, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xa1, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xd9, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe3, 0xc3, 0xd0,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xaf, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0xa3, 0xac, 0xaf, 0xa6, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28597 =
    +{
    +    { 28597, 1, 0x003f, 0x003f, "ISO 8859-7 Greek" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28598.c b/reactos/tools/unicode/c_28598.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28598.c
    rename to reactos/tools/unicode/c_28598.c
    index 281e39c76b4..bb2e31c5aa7 100644
    --- a/reactos/lib/unicode/c_28598.c
    +++ b/reactos/tools/unicode/c_28598.c
    @@ -1,716 +1,716 @@
    -/* code page 28598 (ISO 8859-8 Hebrew) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x003f, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00de, 0x2017,
    -    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    -    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    -    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    -    0x05e8, 0x05e9, 0x05ea, 0x003f, 0x003f, 0x200e, 0x200f, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xaa,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xba,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0500 .. 0x05ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0xfd, 0xfe,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xdf,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0xe0, 0xe1, 0xe2,
    -    0xe3, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f,
    -    0xf2, 0xe0, 0xe3, 0xe4, 0xeb, 0xec, 0xed, 0xf8,
    -    0xfa, 0x2b, 0xf9, 0xf9, 0xf9, 0xf9, 0xe0, 0xe0,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x3f,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0x3f, 0xee, 0x3f,
    -    0xf0, 0xf1, 0x3f, 0xf3, 0xf4, 0x3f, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xe5, 0xe1, 0xeb, 0xf4, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_28598 =
    -{
    -    { 28598, 1, 0x003f, 0x003f, "ISO 8859-8 Hebrew" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28598 (ISO 8859-8 Hebrew) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x003f, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00de, 0x2017,
    +    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    +    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    +    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    +    0x05e8, 0x05e9, 0x05ea, 0x003f, 0x003f, 0x200e, 0x200f, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xaa,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xba,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0500 .. 0x05ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0xfd, 0xfe,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xdf,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0xe0, 0xe1, 0xe2,
    +    0xe3, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f,
    +    0xf2, 0xe0, 0xe3, 0xe4, 0xeb, 0xec, 0xed, 0xf8,
    +    0xfa, 0x2b, 0xf9, 0xf9, 0xf9, 0xf9, 0xe0, 0xe0,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x3f,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0x3f, 0xee, 0x3f,
    +    0xf0, 0xf1, 0x3f, 0xf3, 0xf4, 0x3f, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xe5, 0xe1, 0xeb, 0xf4, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_28598 =
    +{
    +    { 28598, 1, 0x003f, 0x003f, "ISO 8859-8 Hebrew" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28599.c b/reactos/tools/unicode/c_28599.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28599.c
    rename to reactos/tools/unicode/c_28599.c
    index 606a3cb7a38..0e82f866db8 100644
    --- a/reactos/lib/unicode/c_28599.c
    +++ b/reactos/tools/unicode/c_28599.c
    @@ -1,683 +1,683 @@
    -/* code page 28599 (ISO 8859-9 Latin 5 (Turkish)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    -    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xd0, 0xf0,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0xdd, 0xfd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xfe,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28599 =
    -{
    -    { 28599, 1, 0x003f, 0x003f, "ISO 8859-9 Latin 5 (Turkish)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28599 (ISO 8859-9 Latin 5 (Turkish)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    +    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xd0, 0xf0,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0xdd, 0xfd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xfe,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28599 =
    +{
    +    { 28599, 1, 0x003f, 0x003f, "ISO 8859-9 Latin 5 (Turkish)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28600.c b/reactos/tools/unicode/c_28600.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28600.c
    rename to reactos/tools/unicode/c_28600.c
    index 033af29c9b7..5d26b2ab069 100644
    --- a/reactos/lib/unicode/c_28600.c
    +++ b/reactos/tools/unicode/c_28600.c
    @@ -1,683 +1,683 @@
    -/* code page 28600 (ISO 8859-10 Latin 6 (Nordic)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,
    -    0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,
    -    0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,
    -    0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,
    -    0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
    -    0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,
    -    0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,
    -    0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    -    0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
    -    0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,
    -    0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,
    -    0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0xa7,
    -    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0xbd,
    -    0xb0, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0xb7,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0x43,
    -    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0xcf,
    -    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0xd5, 0xd6, 0x78,
    -    0xd8, 0x55, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0x61, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x63,
    -    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0xef,
    -    0xf0, 0x6e, 0x6f, 0xf3, 0xf4, 0xf5, 0xf6, 0x3f,
    -    0xf8, 0x75, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0xc0, 0xe0, 0x41, 0x61, 0xa1, 0xb1, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    -    0xa9, 0xb9, 0xa2, 0xb2, 0x45, 0x65, 0xcc, 0xec,
    -    0xca, 0xea, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0xa3, 0xb3, 0x48, 0x68, 0x48, 0x68,
    -    0xa5, 0xb5, 0xa4, 0xb4, 0x49, 0x69, 0xc7, 0xe7,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xa6, 0xb6,
    -    0xff, 0x4c, 0x6c, 0xa8, 0xb8, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0xd1, 0xf1, 0x4e,
    -    0x6e, 0x3f, 0xaf, 0xbf, 0xd2, 0xf2, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0xaa, 0xba, 0x54, 0x74, 0x54, 0x74, 0xab, 0xbb,
    -    0xd7, 0xf7, 0xae, 0xbe, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xd9, 0xf9, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0xac, 0xbc, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xbd, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0xbd, 0xbd, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0xbf, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0xa2, 0xb2, 0xa2, 0xb2,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0xd2, 0xf2, 0xd2, 0xf2, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xaa, 0xba,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0xd7, 0xf7, 0xae, 0xbe, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0xbd, 0xbd, 0xbd, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xbd, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0xbd, 0xbd, 0xbd, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0xbd, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0xbd, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28600 =
    -{
    -    { 28600, 1, 0x003f, 0x003f, "ISO 8859-10 Latin 6 (Nordic)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28600 (ISO 8859-10 Latin 6 (Nordic)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,
    +    0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,
    +    0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,
    +    0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,
    +    0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
    +    0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,
    +    0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,
    +    0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    +    0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,
    +    0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,
    +    0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,
    +    0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0xa7,
    +    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0xbd,
    +    0xb0, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0xb7,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0x43,
    +    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0xcf,
    +    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0xd5, 0xd6, 0x78,
    +    0xd8, 0x55, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0x61, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x63,
    +    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0xef,
    +    0xf0, 0x6e, 0x6f, 0xf3, 0xf4, 0xf5, 0xf6, 0x3f,
    +    0xf8, 0x75, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0xc0, 0xe0, 0x41, 0x61, 0xa1, 0xb1, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    +    0xa9, 0xb9, 0xa2, 0xb2, 0x45, 0x65, 0xcc, 0xec,
    +    0xca, 0xea, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0xa3, 0xb3, 0x48, 0x68, 0x48, 0x68,
    +    0xa5, 0xb5, 0xa4, 0xb4, 0x49, 0x69, 0xc7, 0xe7,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xa6, 0xb6,
    +    0xff, 0x4c, 0x6c, 0xa8, 0xb8, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0xd1, 0xf1, 0x4e,
    +    0x6e, 0x3f, 0xaf, 0xbf, 0xd2, 0xf2, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0xaa, 0xba, 0x54, 0x74, 0x54, 0x74, 0xab, 0xbb,
    +    0xd7, 0xf7, 0xae, 0xbe, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xd9, 0xf9, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0xac, 0xbc, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xbd, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0xbd, 0xbd, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0xbf, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0xa2, 0xb2, 0xa2, 0xb2,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0xd2, 0xf2, 0xd2, 0xf2, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xaa, 0xba,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0xd7, 0xf7, 0xae, 0xbe, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0xbd, 0xbd, 0xbd, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xbd, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0xbd, 0xbd, 0xbd, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0xbd, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0xbd, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28600 =
    +{
    +    { 28600, 1, 0x003f, 0x003f, "ISO 8859-10 Latin 6 (Nordic)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28603.c b/reactos/tools/unicode/c_28603.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28603.c
    rename to reactos/tools/unicode/c_28603.c
    index 5e100dbb851..afef4bf3c50 100644
    --- a/reactos/lib/unicode/c_28603.c
    +++ b/reactos/tools/unicode/c_28603.c
    @@ -1,683 +1,683 @@
    -/* code page 28603 (ISO 8859-13 Latin 7 (Baltic)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,
    -    0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,
    -    0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
    -    0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
    -    0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
    -    0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
    -    0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
    -    0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
    -    0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
    -    0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
    -    0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,
    -    0x22, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x2d,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,
    -    0x2c, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0xc4, 0xc5, 0xaf, 0x43,
    -    0x45, 0xc9, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0xd3, 0x4f, 0xd5, 0xd6, 0xd7,
    -    0xa8, 0x55, 0x55, 0x55, 0xdc, 0x59, 0x3f, 0xdf,
    -    0x61, 0x61, 0x61, 0x61, 0xe4, 0xe5, 0xbf, 0x63,
    -    0x65, 0xe9, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0xf3, 0x6f, 0xf5, 0xf6, 0xf7,
    -    0xb8, 0x75, 0x75, 0x75, 0xfc, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0xc2, 0xe2, 0x41, 0x61, 0xc0, 0xe0, 0xc3, 0xe3,
    -    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    -    0x44, 0x64, 0xc7, 0xe7, 0x45, 0x65, 0xcb, 0xeb,
    -    0xc6, 0xe6, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0xcc, 0xec, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0xce, 0xee, 0x49, 0x69, 0xc1, 0xe1,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xcd, 0xed,
    -    0x3f, 0x4c, 0x6c, 0xcf, 0xef, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0xd9, 0xf9, 0xd1, 0xf1, 0xd2, 0xf2, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0xd4, 0xf4, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xaa, 0xba,
    -    0x52, 0x72, 0xda, 0xfa, 0x53, 0x73, 0x53, 0x73,
    -    0xd0, 0xf0, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0xdb, 0xfb, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xd8, 0xf8, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0xca, 0xea, 0xdd, 0xfd, 0xde, 0xfe, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xaf, 0xbf, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xaf, 0xbf, 0xa8, 0xb8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0xff, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xaf, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0xc7, 0xe7, 0xc7, 0xe7,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0xda, 0xfa, 0xd0, 0xf0,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xdb, 0xfb, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0xff, 0x2c, 0x60, 0xb4, 0xa1, 0xa5, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xb4, 0xa1, 0xa5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0x2d, 0xa6, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28603 =
    -{
    -    { 28603, 1, 0x003f, 0x003f, "ISO 8859-13 Latin 7 (Baltic)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28603 (ISO 8859-13 Latin 7 (Baltic)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,
    +    0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,
    +    0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,
    +    0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,
    +    0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,
    +    0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,
    +    0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,
    +    0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,
    +    0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,
    +    0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,
    +    0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,
    +    0x22, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x2d,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,
    +    0x2c, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0xc4, 0xc5, 0xaf, 0x43,
    +    0x45, 0xc9, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0xd3, 0x4f, 0xd5, 0xd6, 0xd7,
    +    0xa8, 0x55, 0x55, 0x55, 0xdc, 0x59, 0x3f, 0xdf,
    +    0x61, 0x61, 0x61, 0x61, 0xe4, 0xe5, 0xbf, 0x63,
    +    0x65, 0xe9, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0xf3, 0x6f, 0xf5, 0xf6, 0xf7,
    +    0xb8, 0x75, 0x75, 0x75, 0xfc, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0xc2, 0xe2, 0x41, 0x61, 0xc0, 0xe0, 0xc3, 0xe3,
    +    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,
    +    0x44, 0x64, 0xc7, 0xe7, 0x45, 0x65, 0xcb, 0xeb,
    +    0xc6, 0xe6, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0xcc, 0xec, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0xce, 0xee, 0x49, 0x69, 0xc1, 0xe1,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xcd, 0xed,
    +    0x3f, 0x4c, 0x6c, 0xcf, 0xef, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0xd9, 0xf9, 0xd1, 0xf1, 0xd2, 0xf2, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0xd4, 0xf4, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xaa, 0xba,
    +    0x52, 0x72, 0xda, 0xfa, 0x53, 0x73, 0x53, 0x73,
    +    0xd0, 0xf0, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0xdb, 0xfb, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xd8, 0xf8, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0xca, 0xea, 0xdd, 0xfd, 0xde, 0xfe, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xaf, 0xbf, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xaf, 0xbf, 0xa8, 0xb8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0xff, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xaf, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0xc7, 0xe7, 0xc7, 0xe7,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0xda, 0xfa, 0xd0, 0xf0,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xdb, 0xfb, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0xff, 0x2c, 0x60, 0xb4, 0xa1, 0xa5, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xb4, 0xa1, 0xa5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0x2d, 0xa6, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28603 =
    +{
    +    { 28603, 1, 0x003f, 0x003f, "ISO 8859-13 Latin 7 (Baltic)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28604.c b/reactos/tools/unicode/c_28604.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28604.c
    rename to reactos/tools/unicode/c_28604.c
    index 07a1a9d335c..61a345c6be3 100644
    --- a/reactos/lib/unicode/c_28604.c
    +++ b/reactos/tools/unicode/c_28604.c
    @@ -1,683 +1,683 @@
    -/* code page 28604 (ISO 8859-14 Latin 8 (Celtic)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,
    -    0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,
    -    0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,
    -    0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,
    -    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,
    -    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0xa3, 0x3f, 0x59, 0x7c, 0xa7,
    -    0x22, 0xa9, 0x61, 0x3c, 0x3f, 0xad, 0xae, 0x2d,
    -    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0xb6, 0x3f,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0x78,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0x3f, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0x3f,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0x3f, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0xa4, 0xa5, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0xb2, 0xb3, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0xd0, 0xf0, 0xde, 0xfe,
    -    0xaf, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0xa1, 0xa2, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0xa6, 0xab, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xb0, 0xb1,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0xb4, 0xb5, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0xb7, 0xb9,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0xbb, 0xbf, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0xd7, 0xf7, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0xa8, 0xb8, 0xaa, 0xba, 0xbd, 0xbe, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xac, 0xbc, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0xa3, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28604 =
    -{
    -    { 28604, 1, 0x003f, 0x003f, "ISO 8859-14 Latin 8 (Celtic)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28604 (ISO 8859-14 Latin 8 (Celtic)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,
    +    0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,
    +    0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,
    +    0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,
    +    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,
    +    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0xa3, 0x3f, 0x59, 0x7c, 0xa7,
    +    0x22, 0xa9, 0x61, 0x3c, 0x3f, 0xad, 0xae, 0x2d,
    +    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0xb6, 0x3f,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0x78,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0x3f, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0x3f,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0x3f, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0xa4, 0xa5, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0xb2, 0xb3, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0xd0, 0xf0, 0xde, 0xfe,
    +    0xaf, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0xa1, 0xa2, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0xa6, 0xab, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xb0, 0xb1,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0xb4, 0xb5, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0xb7, 0xb9,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0xbb, 0xbf, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0xd7, 0xf7, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0xa8, 0xb8, 0xaa, 0xba, 0xbd, 0xbe, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xac, 0xbc, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0xa3, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28604 =
    +{
    +    { 28604, 1, 0x003f, 0x003f, "ISO 8859-14 Latin 8 (Celtic)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28605.c b/reactos/tools/unicode/c_28605.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28605.c
    rename to reactos/tools/unicode/c_28605.c
    index 13cbeb7ec7a..fb8fda2e9a4 100644
    --- a/reactos/lib/unicode/c_28605.c
    +++ b/reactos/tools/unicode/c_28605.c
    @@ -1,683 +1,683 @@
    -/* code page 28605 (ISO 8859-15 Latin 9 (Euro)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7,
    -    0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7,
    -    0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf,
    -    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    -    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0x3f, 0xa5, 0x7c, 0xa7,
    -    0x22, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,
    -    0x2c, 0xb9, 0xba, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0xbc, 0xbd, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0xa6, 0xa8, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0xbe, 0x5a, 0x7a, 0x5a, 0x7a, 0xb4, 0xb8, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xaf, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xa6, 0xa8,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa2, 0xa3, 0xac, 0xaf, 0x7c, 0xa5, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28605 =
    -{
    -    { 28605, 1, 0x003f, 0x003f, "ISO 8859-15 Latin 9 (Euro)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28605 (ISO 8859-15 Latin 9 (Euro)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7,
    +    0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7,
    +    0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf,
    +    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
    +    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0x3f, 0xa5, 0x7c, 0xa7,
    +    0x22, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,
    +    0x2c, 0xb9, 0xba, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0xbc, 0xbd, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0xa6, 0xa8, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0xbe, 0x5a, 0x7a, 0x5a, 0x7a, 0xb4, 0xb8, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xaf, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xa6, 0xa8,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa2, 0xa3, 0xac, 0xaf, 0x7c, 0xa5, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28605 =
    +{
    +    { 28605, 1, 0x003f, 0x003f, "ISO 8859-15 Latin 9 (Euro)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_28606.c b/reactos/tools/unicode/c_28606.c
    similarity index 98%
    rename from reactos/lib/unicode/c_28606.c
    rename to reactos/tools/unicode/c_28606.c
    index 385cab23400..6594cf1beb8 100644
    --- a/reactos/lib/unicode/c_28606.c
    +++ b/reactos/tools/unicode/c_28606.c
    @@ -1,683 +1,683 @@
    -/* code page 28606 (ISO 8859-16 Latin 10 (Balkan)) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7,
    -    0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b,
    -    0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7,
    -    0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c,
    -    0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a,
    -    0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df,
    -    0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7,
    -    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    -    0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b,
    -    0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0xa7,
    -    0x22, 0xa9, 0x61, 0xab, 0x3f, 0xad, 0x72, 0x2d,
    -    0xb0, 0xb1, 0x32, 0x33, 0x27, 0x75, 0xb6, 0xb7,
    -    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0x4e, 0xd2, 0xd3, 0xd4, 0x4f, 0xd6, 0x78,
    -    0x4f, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0x64, 0x6e, 0xf2, 0xf3, 0xf4, 0x6f, 0xf6, 0x3f,
    -    0x6f, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0xc3, 0xe3, 0xa1, 0xa2, 0xc5, 0xe5,
    -    0x43, 0x63, 0x43, 0x63, 0xb2, 0xb9, 0x44, 0x64,
    -    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0xdd, 0xfd, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd5, 0xf5, 0xbc, 0xbd, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0xd7, 0xf7, 0x53, 0x73, 0x53, 0x73,
    -    0xa6, 0xa8, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0xd8, 0xf8, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0xbe, 0xac, 0xae, 0xaf, 0xbf, 0xb4, 0xb8, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    -    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    -    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0xc6, 0xe6, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0xaa, 0xba, 0xde, 0xfe, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0xd7, 0xf7, 0xa6, 0xa8,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    -    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    -    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    -    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0xb5, 0xa5, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0xb5, 0xa5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_28606 =
    -{
    -    { 28606, 1, 0x003f, 0x003f, "ISO 8859-16 Latin 10 (Balkan)" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 28606 (ISO 8859-16 Latin 10 (Balkan)) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7,
    +    0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b,
    +    0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7,
    +    0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c,
    +    0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a,
    +    0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df,
    +    0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7,
    +    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
    +    0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b,
    +    0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0xa7,
    +    0x22, 0xa9, 0x61, 0xab, 0x3f, 0xad, 0x72, 0x2d,
    +    0xb0, 0xb1, 0x32, 0x33, 0x27, 0x75, 0xb6, 0xb7,
    +    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0x4e, 0xd2, 0xd3, 0xd4, 0x4f, 0xd6, 0x78,
    +    0x4f, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0x64, 0x6e, 0xf2, 0xf3, 0xf4, 0x6f, 0xf6, 0x3f,
    +    0x6f, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0xc3, 0xe3, 0xa1, 0xa2, 0xc5, 0xe5,
    +    0x43, 0x63, 0x43, 0x63, 0xb2, 0xb9, 0x44, 0x64,
    +    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0xdd, 0xfd, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd5, 0xf5, 0xbc, 0xbd, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0xd7, 0xf7, 0x53, 0x73, 0x53, 0x73,
    +    0xa6, 0xa8, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0xd8, 0xf8, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0xbe, 0xac, 0xae, 0xaf, 0xbf, 0xb4, 0xb8, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,
    +    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,
    +    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0xc6, 0xe6, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0xaa, 0xba, 0xde, 0xfe, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0xc6, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xdf, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xdf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0xd7, 0xf7, 0xa6, 0xa8,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,
    +    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,
    +    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,
    +    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0xb5, 0xa5, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0xb5, 0xa5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_28606 =
    +{
    +    { 28606, 1, 0x003f, 0x003f, "ISO 8859-16 Latin 10 (Balkan)" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_424.c b/reactos/tools/unicode/c_424.c
    similarity index 98%
    rename from reactos/lib/unicode/c_424.c
    rename to reactos/tools/unicode/c_424.c
    index 99726a171ec..d2c15808b37 100644
    --- a/reactos/lib/unicode/c_424.c
    +++ b/reactos/tools/unicode/c_424.c
    @@ -1,716 +1,716 @@
    -/* code page 424 (IBM EBCDIC Hebrew) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP424.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[256] =
    -{
    -    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    -    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    -    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    -    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    -    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    -    0x0020, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6,
    -    0x05d7, 0x05d8, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c,
    -    0x0026, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    -    0x05e0, 0x05e1, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac,
    -    0x002d, 0x002f, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    -    0x05e8, 0x05e9, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    -    0x003f, 0x05ea, 0x003f, 0x003f, 0x00a0, 0x003f, 0x003f, 0x003f,
    -    0x2017, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    -    0x003f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    -    0x0068, 0x0069, 0x00ab, 0x00bb, 0x003f, 0x003f, 0x003f, 0x00b1,
    -    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    -    0x0071, 0x0072, 0x003f, 0x003f, 0x003f, 0x00b8, 0x003f, 0x00a4,
    -    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    -    0x0079, 0x007a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00ae,
    -    0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    -    0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    -    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    -    0x0048, 0x0049, 0x00ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    -    0x0051, 0x0052, 0x00b9, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,
    -    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    -    0x0059, 0x005a, 0x00b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x00b3, 0x003f, 0x003f, 0x003f, 0x00fe, 0x009f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    -    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    -    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    -    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    -    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    -    0x74, 0x5a, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,
    -    0xbd, 0xb4, 0x81, 0x8a, 0x5f, 0xca, 0xaf, 0xbc,
    -    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    -    0x9d, 0xda, 0x96, 0x8b, 0xb7, 0xb8, 0xb9, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc3,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0xc4, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xbf,
    -    0xd6, 0xe4, 0xe4, 0xe4, 0xe4, 0xe8, 0xde, 0xdf,
    -    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x83,
    -    0x85, 0x85, 0x85, 0x85, 0x89, 0x89, 0x89, 0x89,
    -    0x84, 0x95, 0x96, 0x96, 0x96, 0x96, 0x96, 0xe1,
    -    0x96, 0xa4, 0xa4, 0xa4, 0xa4, 0xa8, 0xfe, 0xa8,
    -    /* 0x0100 .. 0x01ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    -    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    -    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    -    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    -    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    -    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    -    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    -    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    -    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    -    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    -    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    -    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    -    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4,
    -    0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0x3f, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc7, 0x87, 0xc7, 0x87,
    -    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    -    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    -    0xd5, 0x95, 0xc1, 0x81, 0xc1, 0x81, 0xd6, 0x96,
    -    /* 0x0200 .. 0x02ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    -    0xc5, 0x85, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    -    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0xb0, 0xa5,
    -    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    -    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x79, 0xbe, 0xb0, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,
    -    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    -    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    -    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    -    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    -    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    -    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0500 .. 0x05ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
    -    0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x71, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc1, 0xc2, 0x3f,
    -    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    -    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    -    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    -    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    -    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    -    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    -    0xc3, 0x83, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    -    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0xc9, 0x89,
    -    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    -    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    -    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    -    0xd5, 0x95, 0xd5, 0x95, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    -    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    -    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    -    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    -    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    -    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    -    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    -    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    -    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x78,
    -    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x5a, 0x3f, 0xbc, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4a, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    -    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    -    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    -    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    -    0xe9, 0x3f, 0xd2, 0xc1, 0xc2, 0xc3, 0x85, 0x85,
    -    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x41, 0x42, 0x43,
    -    0x44, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    -    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    -    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0xb0, 0x6e, 0xa5, 0x60, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,
    -    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x4f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    -    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    -    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    -    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    -    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    -    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    -    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x60, 0x60, 0x4f, 0x4f, 0x60, 0x60, 0x6a, 0x6a,
    -    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x5f, 0x5f, 0x5f, 0x5f, 0xd3, 0xd3, 0xd3, 0xd3,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    -    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,
    -    0x7e, 0x4f, 0x4e, 0x4e, 0x4e, 0x5f, 0x5f, 0x5f,
    -    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x4f, 0x60, 0x4f,
    -    0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xba, 0xbb, 0x3f, 0x7f, 0x7f, 0x6b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x51, 0x3f, 0x3f,
    -    0x62, 0x41, 0x44, 0x45, 0x53, 0x54, 0x55, 0x68,
    -    0x71, 0x4e, 0x69, 0x69, 0x69, 0x69, 0x41, 0x41,
    -    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x3f,
    -    0x49, 0x51, 0x52, 0x53, 0x54, 0x3f, 0x56, 0x3f,
    -    0x58, 0x59, 0x3f, 0x63, 0x64, 0x3f, 0x66, 0x67,
    -    0x68, 0x69, 0x71, 0x46, 0x42, 0x53, 0x64, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    -    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x5a,
    -    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    -    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    -    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4a, 0xb1, 0x5f, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,
    -    0x4f, 0x4c, 0xb0, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_424 =
    -{
    -    { 424, 1, 0x003f, 0x003f, "IBM EBCDIC Hebrew" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 424 (IBM EBCDIC Hebrew) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP424.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[256] =
    +{
    +    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    +    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    +    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    +    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    +    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    +    0x0020, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6,
    +    0x05d7, 0x05d8, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c,
    +    0x0026, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    +    0x05e0, 0x05e1, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac,
    +    0x002d, 0x002f, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    +    0x05e8, 0x05e9, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    +    0x003f, 0x05ea, 0x003f, 0x003f, 0x00a0, 0x003f, 0x003f, 0x003f,
    +    0x2017, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    +    0x003f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    +    0x0068, 0x0069, 0x00ab, 0x00bb, 0x003f, 0x003f, 0x003f, 0x00b1,
    +    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    +    0x0071, 0x0072, 0x003f, 0x003f, 0x003f, 0x00b8, 0x003f, 0x00a4,
    +    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    +    0x0079, 0x007a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00ae,
    +    0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    +    0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    +    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    +    0x0048, 0x0049, 0x00ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    +    0x0051, 0x0052, 0x00b9, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,
    +    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    +    0x0059, 0x005a, 0x00b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x00b3, 0x003f, 0x003f, 0x003f, 0x00fe, 0x009f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    +    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    +    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    +    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    +    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    +    0x74, 0x5a, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,
    +    0xbd, 0xb4, 0x81, 0x8a, 0x5f, 0xca, 0xaf, 0xbc,
    +    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    +    0x9d, 0xda, 0x96, 0x8b, 0xb7, 0xb8, 0xb9, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc3,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0xc4, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xbf,
    +    0xd6, 0xe4, 0xe4, 0xe4, 0xe4, 0xe8, 0xde, 0xdf,
    +    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x83,
    +    0x85, 0x85, 0x85, 0x85, 0x89, 0x89, 0x89, 0x89,
    +    0x84, 0x95, 0x96, 0x96, 0x96, 0x96, 0x96, 0xe1,
    +    0x96, 0xa4, 0xa4, 0xa4, 0xa4, 0xa8, 0xfe, 0xa8,
    +    /* 0x0100 .. 0x01ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    +    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    +    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    +    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    +    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    +    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    +    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    +    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    +    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    +    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    +    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    +    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    +    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4,
    +    0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0x3f, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc7, 0x87, 0xc7, 0x87,
    +    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    +    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    +    0xd5, 0x95, 0xc1, 0x81, 0xc1, 0x81, 0xd6, 0x96,
    +    /* 0x0200 .. 0x02ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    +    0xc5, 0x85, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    +    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0xb0, 0xa5,
    +    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    +    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x79, 0xbe, 0xb0, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,
    +    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    +    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    +    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    +    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    +    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    +    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0500 .. 0x05ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
    +    0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x71, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc1, 0xc2, 0x3f,
    +    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    +    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    +    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    +    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    +    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    +    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    +    0xc3, 0x83, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    +    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0xc9, 0x89,
    +    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    +    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    +    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    +    0xd5, 0x95, 0xd5, 0x95, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    +    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    +    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    +    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    +    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    +    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    +    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    +    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    +    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x78,
    +    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x5a, 0x3f, 0xbc, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4a, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    +    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    +    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    +    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    +    0xe9, 0x3f, 0xd2, 0xc1, 0xc2, 0xc3, 0x85, 0x85,
    +    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x41, 0x42, 0x43,
    +    0x44, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    +    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    +    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0xb0, 0x6e, 0xa5, 0x60, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,
    +    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x4f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    +    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    +    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    +    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    +    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    +    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x60, 0x60, 0x4f, 0x4f, 0x60, 0x60, 0x6a, 0x6a,
    +    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x5f, 0x5f, 0x5f, 0x5f, 0xd3, 0xd3, 0xd3, 0xd3,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    +    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,
    +    0x7e, 0x4f, 0x4e, 0x4e, 0x4e, 0x5f, 0x5f, 0x5f,
    +    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x4f, 0x60, 0x4f,
    +    0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xba, 0xbb, 0x3f, 0x7f, 0x7f, 0x6b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x51, 0x3f, 0x3f,
    +    0x62, 0x41, 0x44, 0x45, 0x53, 0x54, 0x55, 0x68,
    +    0x71, 0x4e, 0x69, 0x69, 0x69, 0x69, 0x41, 0x41,
    +    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x3f,
    +    0x49, 0x51, 0x52, 0x53, 0x54, 0x3f, 0x56, 0x3f,
    +    0x58, 0x59, 0x3f, 0x63, 0x64, 0x3f, 0x66, 0x67,
    +    0x68, 0x69, 0x71, 0x46, 0x42, 0x53, 0x64, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    +    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x5a,
    +    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    +    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    +    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4a, 0xb1, 0x5f, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,
    +    0x4f, 0x4c, 0xb0, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_424 =
    +{
    +    { 424, 1, 0x003f, 0x003f, "IBM EBCDIC Hebrew" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_437.c b/reactos/tools/unicode/c_437.c
    similarity index 98%
    rename from reactos/lib/unicode/c_437.c
    rename to reactos/tools/unicode/c_437.c
    index b84da79e17e..4d1f0f86bb1 100644
    --- a/reactos/lib/unicode/c_437.c
    +++ b/reactos/tools/unicode/c_437.c
    @@ -1,683 +1,683 @@
    -/* code page 437 (OEM United States) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    -    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
    -    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    -    0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    -    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    -    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    -    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x9d, 0x7c, 0x3f,
    -    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    -    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    -    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    -    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,
    -    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x99, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    -    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,
    -    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,
    -    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    -    0x6f, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x98,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    -    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    -    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    -    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    -    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    -    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x8b,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,
    -    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,
    -    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9b, 0x9c, 0xaa, 0x2d, 0x7c, 0x9d, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_437 =
    -{
    -    { 437, 1, 0x003f, 0x003f, "OEM United States" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 437 (OEM United States) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    +    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
    +    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    +    0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    +    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    +    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    +    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x9d, 0x7c, 0x3f,
    +    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    +    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    +    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    +    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,
    +    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x99, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    +    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,
    +    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,
    +    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    +    0x6f, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x98,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    +    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    +    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    +    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    +    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    +    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x8b,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,
    +    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,
    +    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9b, 0x9c, 0xaa, 0x2d, 0x7c, 0x9d, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_437 =
    +{
    +    { 437, 1, 0x003f, 0x003f, "OEM United States" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_500.c b/reactos/tools/unicode/c_500.c
    similarity index 98%
    rename from reactos/lib/unicode/c_500.c
    rename to reactos/tools/unicode/c_500.c
    index e1fc1f2d49c..d987aa50187 100644
    --- a/reactos/lib/unicode/c_500.c
    +++ b/reactos/tools/unicode/c_500.c
    @@ -1,683 +1,683 @@
    -/* code page 500 (IBM EBCDIC International) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[256] =
    -{
    -    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    -    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    -    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    -    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    -    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    -    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,
    -    0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,
    -    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,
    -    0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e,
    -    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,
    -    0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    -    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,
    -    0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    -    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    -    0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1,
    -    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    -    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,
    -    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    -    0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae,
    -    0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    -    0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    -    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    -    0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5,
    -    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    -    0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff,
    -    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    -    0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    -    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    -    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    -    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    -    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    -    0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,
    -    0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc,
    -    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    -    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,
    -    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68,
    -    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
    -    0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf,
    -    0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59,
    -    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48,
    -    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
    -    0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1,
    -    0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf,
    -    /* 0x0100 .. 0x01ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    -    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    -    0xac, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    -    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    -    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    -    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    -    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    -    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    -    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    -    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    -    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    -    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    -    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xbb, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    -    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xfc, 0xdc, 0xfc,
    -    0xdc, 0xfc, 0xdc, 0xfc, 0xdc, 0x3f, 0x63, 0x43,
    -    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,
    -    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    -    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    -    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,
    -    /* 0x0200 .. 0x02ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    -    0xc5, 0x85, 0xec, 0xcc, 0xef, 0xcf, 0xd6, 0x96,
    -    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    -    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,
    -    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    -    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x79, 0xbe, 0x5f, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,
    -    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    -    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    -    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    -    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    -    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    -    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x9e, 0xc2, 0x3f,
    -    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    -    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    -    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    -    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    -    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    -    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x59, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x59, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    -    0x68, 0x48, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    -    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,
    -    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    -    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    -    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    -    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    -    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    -    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    -    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    -    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    -    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    -    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,
    -    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,
    -    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    -    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    -    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,
    -    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xbc, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    -    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    -    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    -    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    -    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,
    -    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    -    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    -    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0xbb, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,
    -    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    -    0x3f, 0x3f, 0x3f, 0xbb, 0xbb, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    -    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    -    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    -    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    -    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    -    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    -    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x60, 0x60, 0xbb, 0xbb, 0x60, 0x60, 0x6a, 0x6a,
    -    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0xba, 0xba, 0xba, 0xba, 0xd3, 0xd3, 0xd3, 0xd3,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    -    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,
    -    0x7e, 0xbb, 0x4e, 0x4e, 0x4e, 0xba, 0xba, 0xba,
    -    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0xbb, 0x60, 0xbb,
    -    0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x4a, 0x5a, 0x3f, 0x7f, 0x7f, 0x6b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    -    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,
    -    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    -    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    -    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0xb1, 0xba, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,
    -    0xbb, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_500 =
    -{
    -    { 500, 1, 0x003f, 0x003f, "IBM EBCDIC International" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 500 (IBM EBCDIC International) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[256] =
    +{
    +    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    +    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    +    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    +    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    +    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    +    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,
    +    0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,
    +    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,
    +    0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e,
    +    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,
    +    0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    +    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,
    +    0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    +    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    +    0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1,
    +    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    +    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,
    +    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    +    0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae,
    +    0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,
    +    0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7,
    +    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    +    0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5,
    +    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    +    0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff,
    +    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    +    0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    +    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    +    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    +    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    +    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    +    0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,
    +    0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc,
    +    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,
    +    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,
    +    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68,
    +    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
    +    0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf,
    +    0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59,
    +    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48,
    +    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
    +    0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1,
    +    0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf,
    +    /* 0x0100 .. 0x01ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    +    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    +    0xac, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    +    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    +    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    +    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    +    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    +    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    +    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    +    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    +    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    +    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    +    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xbb, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    +    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xfc, 0xdc, 0xfc,
    +    0xdc, 0xfc, 0xdc, 0xfc, 0xdc, 0x3f, 0x63, 0x43,
    +    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,
    +    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    +    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    +    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,
    +    /* 0x0200 .. 0x02ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    +    0xc5, 0x85, 0xec, 0xcc, 0xef, 0xcf, 0xd6, 0x96,
    +    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    +    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,
    +    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    +    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x79, 0xbe, 0x5f, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,
    +    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,
    +    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,
    +    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,
    +    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,
    +    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,
    +    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x9e, 0xc2, 0x3f,
    +    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    +    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    +    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    +    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    +    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    +    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x59, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x89, 0x99, 0xa4, 0xa5, 0x59, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    +    0x68, 0x48, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    +    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,
    +    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    +    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    +    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    +    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    +    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    +    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    +    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    +    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    +    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    +    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,
    +    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,
    +    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    +    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    +    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,
    +    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xbc, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    +    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    +    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    +    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,
    +    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,
    +    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    +    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    +    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0xbb, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,
    +    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    +    0x3f, 0x3f, 0x3f, 0xbb, 0xbb, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    +    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    +    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    +    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    +    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    +    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x60, 0x60, 0xbb, 0xbb, 0x60, 0x60, 0x6a, 0x6a,
    +    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0xba, 0xba, 0xba, 0xba, 0xd3, 0xd3, 0xd3, 0xd3,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    +    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,
    +    0x7e, 0xbb, 0x4e, 0x4e, 0x4e, 0xba, 0xba, 0xba,
    +    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0xbb, 0x60, 0xbb,
    +    0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x4a, 0x5a, 0x3f, 0x7f, 0x7f, 0x6b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,
    +    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,
    +    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    +    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    +    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0xb1, 0xba, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,
    +    0xbb, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_500 =
    +{
    +    { 500, 1, 0x003f, 0x003f, "IBM EBCDIC International" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_737.c b/reactos/tools/unicode/c_737.c
    similarity index 98%
    rename from reactos/lib/unicode/c_737.c
    rename to reactos/tools/unicode/c_737.c
    index 9888242fd0b..6f8df825765 100644
    --- a/reactos/lib/unicode/c_737.c
    +++ b/reactos/tools/unicode/c_737.c
    @@ -1,683 +1,683 @@
    -/* code page 737 (OEM Greek 437G) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398,
    -    0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0,
    -    0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9,
    -    0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8,
    -    0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0,
    -    0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x03c9, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd,
    -    0x03cb, 0x03ce, 0x0386, 0x0388, 0x0389, 0x038a, 0x038c, 0x038e,
    -    0x038f, 0x00b1, 0x2265, 0x2264, 0x03aa, 0x03ab, 0x00f7, 0x2248,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    -    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    -    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xa3, 0x3f, 0xfa,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x99,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf6,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0xea, 0xfa,
    -    0xeb, 0xec, 0xed, 0x3f, 0xee, 0x3f, 0xef, 0xf0,
    -    0xe4, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86,
    -    0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e,
    -    0x8f, 0x90, 0x3f, 0x91, 0x92, 0x93, 0x94, 0x95,
    -    0x96, 0x97, 0xf4, 0xf5, 0xe1, 0xe2, 0xe3, 0xe5,
    -    0xe8, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e,
    -    0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xaa, 0xa9, 0xab, 0xac, 0xad, 0xae,
    -    0xaf, 0xe0, 0xe4, 0xe8, 0xe6, 0xe7, 0xe9, 0x3f,
    -    0x99, 0x9f, 0x93, 0x93, 0x93, 0xad, 0xa7, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0xa8, 0xaa, 0x3f, 0x87, 0x9c, 0x3f, 0x3f,
    -    0x3f, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x99, 0x9a, 0x9b,
    -    0xad, 0xae, 0x69, 0x72, 0x75, 0x76, 0x99, 0x9a,
    -    0xa8, 0xad, 0xae, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
    -    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
    -    0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x3f, 0x3f,
    -    0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x3f, 0x3f,
    -    0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
    -    0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
    -    0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0,
    -    0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
    -    0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0x3f, 0x3f,
    -    0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x3f, 0x3f,
    -    0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,
    -    0x3f, 0x93, 0x3f, 0x93, 0x3f, 0x93, 0x3f, 0x93,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
    -    0x98, 0xe1, 0x9c, 0xe2, 0x9e, 0xe3, 0xa0, 0xe5,
    -    0xa6, 0xe6, 0xac, 0xe7, 0xe0, 0xe9, 0x3f, 0x3f,
    -    0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
    -    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
    -    0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
    -    0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
    -    0x98, 0x98, 0x98, 0x98, 0xe1, 0x3f, 0x98, 0x98,
    -    0x80, 0x80, 0x80, 0xea, 0x80, 0x3f, 0xa0, 0x3f,
    -    0x3f, 0x22, 0x9e, 0x9e, 0xe3, 0x3f, 0x9e, 0x9e,
    -    0x84, 0xeb, 0x86, 0xec, 0x86, 0x3f, 0x3f, 0x3f,
    -    0xa0, 0xa0, 0xe4, 0xe4, 0x3f, 0x3f, 0xa0, 0xe4,
    -    0x88, 0x88, 0x88, 0xed, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xac, 0xac, 0xe8, 0xe8, 0xa8, 0xa8, 0xac, 0xe8,
    -    0x93, 0x93, 0x93, 0xef, 0x90, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0xe0, 0xe0, 0xe9, 0x3f, 0xe0, 0xe0,
    -    0x8e, 0xee, 0x97, 0xf0, 0x97, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x97, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x9a, 0x82, 0x8f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0xf3, 0xf2, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_737 =
    -{
    -    { 737, 1, 0x003f, 0x003f, "OEM Greek 437G" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 737 (OEM Greek 437G) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398,
    +    0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0,
    +    0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9,
    +    0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8,
    +    0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0,
    +    0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x03c9, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd,
    +    0x03cb, 0x03ce, 0x0386, 0x0388, 0x0389, 0x038a, 0x038c, 0x038e,
    +    0x038f, 0x00b1, 0x2265, 0x2264, 0x03aa, 0x03ab, 0x00f7, 0x2248,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    +    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xa3, 0x3f, 0xfa,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x99,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf6,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0xea, 0xfa,
    +    0xeb, 0xec, 0xed, 0x3f, 0xee, 0x3f, 0xef, 0xf0,
    +    0xe4, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86,
    +    0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e,
    +    0x8f, 0x90, 0x3f, 0x91, 0x92, 0x93, 0x94, 0x95,
    +    0x96, 0x97, 0xf4, 0xf5, 0xe1, 0xe2, 0xe3, 0xe5,
    +    0xe8, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e,
    +    0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xaa, 0xa9, 0xab, 0xac, 0xad, 0xae,
    +    0xaf, 0xe0, 0xe4, 0xe8, 0xe6, 0xe7, 0xe9, 0x3f,
    +    0x99, 0x9f, 0x93, 0x93, 0x93, 0xad, 0xa7, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0xa8, 0xaa, 0x3f, 0x87, 0x9c, 0x3f, 0x3f,
    +    0x3f, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x99, 0x9a, 0x9b,
    +    0xad, 0xae, 0x69, 0x72, 0x75, 0x76, 0x99, 0x9a,
    +    0xa8, 0xad, 0xae, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
    +    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
    +    0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x3f, 0x3f,
    +    0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x3f, 0x3f,
    +    0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
    +    0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
    +    0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0,
    +    0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
    +    0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0x3f, 0x3f,
    +    0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x3f, 0x3f,
    +    0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,
    +    0x3f, 0x93, 0x3f, 0x93, 0x3f, 0x93, 0x3f, 0x93,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
    +    0x98, 0xe1, 0x9c, 0xe2, 0x9e, 0xe3, 0xa0, 0xe5,
    +    0xa6, 0xe6, 0xac, 0xe7, 0xe0, 0xe9, 0x3f, 0x3f,
    +    0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
    +    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
    +    0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
    +    0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
    +    0x98, 0x98, 0x98, 0x98, 0xe1, 0x3f, 0x98, 0x98,
    +    0x80, 0x80, 0x80, 0xea, 0x80, 0x3f, 0xa0, 0x3f,
    +    0x3f, 0x22, 0x9e, 0x9e, 0xe3, 0x3f, 0x9e, 0x9e,
    +    0x84, 0xeb, 0x86, 0xec, 0x86, 0x3f, 0x3f, 0x3f,
    +    0xa0, 0xa0, 0xe4, 0xe4, 0x3f, 0x3f, 0xa0, 0xe4,
    +    0x88, 0x88, 0x88, 0xed, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xac, 0xac, 0xe8, 0xe8, 0xa8, 0xa8, 0xac, 0xe8,
    +    0x93, 0x93, 0x93, 0xef, 0x90, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0xe0, 0xe0, 0xe9, 0x3f, 0xe0, 0xe0,
    +    0x8e, 0xee, 0x97, 0xf0, 0x97, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x97, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x9a, 0x82, 0x8f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0xf3, 0xf2, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_737 =
    +{
    +    { 737, 1, 0x003f, 0x003f, "OEM Greek 437G" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_775.c b/reactos/tools/unicode/c_775.c
    similarity index 98%
    rename from reactos/lib/unicode/c_775.c
    rename to reactos/tools/unicode/c_775.c
    index be82255e966..1544ef9f6dc 100644
    --- a/reactos/lib/unicode/c_775.c
    +++ b/reactos/tools/unicode/c_775.c
    @@ -1,683 +1,683 @@
    -/* code page 775 (OEM Baltic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0106, 0x00fc, 0x00e9, 0x0101, 0x00e4, 0x0123, 0x00e5, 0x0107,
    -    0x0142, 0x0113, 0x0156, 0x0157, 0x012b, 0x0179, 0x00c4, 0x00c5,
    -    0x00c9, 0x00e6, 0x00c6, 0x014d, 0x00f6, 0x0122, 0x00a2, 0x015a,
    -    0x015b, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x00a4,
    -    0x0100, 0x012a, 0x00f3, 0x017b, 0x017c, 0x017a, 0x201d, 0x00a6,
    -    0x00a9, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x0141, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010c, 0x0118,
    -    0x0116, 0x2563, 0x2551, 0x2557, 0x255d, 0x012e, 0x0160, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0172, 0x016a,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x017d,
    -    0x0105, 0x010d, 0x0119, 0x0117, 0x012f, 0x0161, 0x0173, 0x016b,
    -    0x017e, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x00d3, 0x00df, 0x014c, 0x0143, 0x00f5, 0x00d5, 0x00b5, 0x0144,
    -    0x0136, 0x0137, 0x013b, 0x013c, 0x0146, 0x0112, 0x0145, 0x2019,
    -    0x00ad, 0x00b1, 0x201c, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x201e,
    -    0x00b0, 0x2219, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0x21, 0x96, 0x9c, 0x9f, 0x59, 0xa7, 0xf5,
    -    0x22, 0xa8, 0x61, 0xae, 0xaa, 0xf0, 0xa9, 0x2d,
    -    0xf8, 0xf1, 0xfd, 0xfc, 0x27, 0xe6, 0xf4, 0xfa,
    -    0x2c, 0xfb, 0x6f, 0xaf, 0xac, 0xab, 0xf3, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x43,
    -    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0xe0, 0x4f, 0xe5, 0x99, 0x9e,
    -    0x9d, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    -    0x61, 0x61, 0x61, 0x61, 0x84, 0x86, 0x91, 0x63,
    -    0x65, 0x82, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0xa2, 0x6f, 0xe4, 0x94, 0xf6,
    -    0x9b, 0x75, 0x75, 0x75, 0x81, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0xa0, 0x83, 0x41, 0x61, 0xb5, 0xd0, 0x80, 0x87,
    -    0x43, 0x63, 0x43, 0x63, 0xb6, 0xd1, 0x44, 0x64,
    -    0x44, 0x64, 0xed, 0x89, 0x45, 0x65, 0xb8, 0xd3,
    -    0xb7, 0xd2, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x95, 0x85, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0xa1, 0x8c, 0x49, 0x69, 0xbd, 0xd4,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xe8, 0xe9,
    -    0x3f, 0x4c, 0x6c, 0xea, 0xeb, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0xad, 0x88, 0xe3, 0xe7, 0xee, 0xec, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0xe2, 0x93, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x8a, 0x8b,
    -    0x52, 0x72, 0x97, 0x98, 0x53, 0x73, 0x53, 0x73,
    -    0xbe, 0xd5, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0xc7, 0xd7, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xc6, 0xd6, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x8d, 0xa5, 0xa3, 0xa4, 0xcf, 0xd8, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    -    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0xef, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0xed, 0x89, 0xed, 0x89,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,
    -    0xe2, 0x93, 0xe2, 0x93, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x97, 0x98, 0xbe, 0xd5,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0xc7, 0xd7, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0xef, 0x2c, 0x60, 0xf2, 0xa6, 0xf7, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x96, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xa7, 0xa7,
    -    0x2d, 0x2d, 0xa7, 0xa7, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xa7, 0xa7,
    -    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    -    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    -    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    -    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xf2, 0xa6, 0xf7,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x96, 0x9c, 0xaa, 0x2d, 0xa7, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_775 =
    -{
    -    { 775, 1, 0x003f, 0x003f, "OEM Baltic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 775 (OEM Baltic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0106, 0x00fc, 0x00e9, 0x0101, 0x00e4, 0x0123, 0x00e5, 0x0107,
    +    0x0142, 0x0113, 0x0156, 0x0157, 0x012b, 0x0179, 0x00c4, 0x00c5,
    +    0x00c9, 0x00e6, 0x00c6, 0x014d, 0x00f6, 0x0122, 0x00a2, 0x015a,
    +    0x015b, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x00a4,
    +    0x0100, 0x012a, 0x00f3, 0x017b, 0x017c, 0x017a, 0x201d, 0x00a6,
    +    0x00a9, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x0141, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010c, 0x0118,
    +    0x0116, 0x2563, 0x2551, 0x2557, 0x255d, 0x012e, 0x0160, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0172, 0x016a,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x017d,
    +    0x0105, 0x010d, 0x0119, 0x0117, 0x012f, 0x0161, 0x0173, 0x016b,
    +    0x017e, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x00d3, 0x00df, 0x014c, 0x0143, 0x00f5, 0x00d5, 0x00b5, 0x0144,
    +    0x0136, 0x0137, 0x013b, 0x013c, 0x0146, 0x0112, 0x0145, 0x2019,
    +    0x00ad, 0x00b1, 0x201c, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x201e,
    +    0x00b0, 0x2219, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0x21, 0x96, 0x9c, 0x9f, 0x59, 0xa7, 0xf5,
    +    0x22, 0xa8, 0x61, 0xae, 0xaa, 0xf0, 0xa9, 0x2d,
    +    0xf8, 0xf1, 0xfd, 0xfc, 0x27, 0xe6, 0xf4, 0xfa,
    +    0x2c, 0xfb, 0x6f, 0xaf, 0xac, 0xab, 0xf3, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x43,
    +    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0xe0, 0x4f, 0xe5, 0x99, 0x9e,
    +    0x9d, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    +    0x61, 0x61, 0x61, 0x61, 0x84, 0x86, 0x91, 0x63,
    +    0x65, 0x82, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0xa2, 0x6f, 0xe4, 0x94, 0xf6,
    +    0x9b, 0x75, 0x75, 0x75, 0x81, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0xa0, 0x83, 0x41, 0x61, 0xb5, 0xd0, 0x80, 0x87,
    +    0x43, 0x63, 0x43, 0x63, 0xb6, 0xd1, 0x44, 0x64,
    +    0x44, 0x64, 0xed, 0x89, 0x45, 0x65, 0xb8, 0xd3,
    +    0xb7, 0xd2, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x95, 0x85, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0xa1, 0x8c, 0x49, 0x69, 0xbd, 0xd4,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xe8, 0xe9,
    +    0x3f, 0x4c, 0x6c, 0xea, 0xeb, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0xad, 0x88, 0xe3, 0xe7, 0xee, 0xec, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0xe2, 0x93, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x8a, 0x8b,
    +    0x52, 0x72, 0x97, 0x98, 0x53, 0x73, 0x53, 0x73,
    +    0xbe, 0xd5, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0xc7, 0xd7, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xc6, 0xd6, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x8d, 0xa5, 0xa3, 0xa4, 0xcf, 0xd8, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    +    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0xef, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0xed, 0x89, 0xed, 0x89,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,
    +    0xe2, 0x93, 0xe2, 0x93, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x97, 0x98, 0xbe, 0xd5,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0xc7, 0xd7, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0xef, 0x2c, 0x60, 0xf2, 0xa6, 0xf7, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x96, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xa7, 0xa7,
    +    0x2d, 0x2d, 0xa7, 0xa7, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xa7, 0xa7,
    +    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    +    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    +    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    +    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xf2, 0xa6, 0xf7,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x96, 0x9c, 0xaa, 0x2d, 0xa7, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_775 =
    +{
    +    { 775, 1, 0x003f, 0x003f, "OEM Baltic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_850.c b/reactos/tools/unicode/c_850.c
    similarity index 98%
    rename from reactos/lib/unicode/c_850.c
    rename to reactos/tools/unicode/c_850.c
    index c546b984a58..f3643128b18 100644
    --- a/reactos/lib/unicode/c_850.c
    +++ b/reactos/tools/unicode/c_850.c
    @@ -1,683 +1,683 @@
    -/* code page 850 (OEM Multilingual Latin 1) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    -    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
    -    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    -    0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    -    0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,
    -    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    -    0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x0131, 0x00cd, 0x00ce,
    -    0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,
    -    0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe,
    -    0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4,
    -    0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,
    -    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,
    -    0xf9, 0xb8, 0xa6, 0xae, 0xaa, 0xf0, 0xa9, 0xee,
    -    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,
    -    0xf7, 0xfb, 0xa7, 0xaf, 0xac, 0xab, 0xf3, 0xa8,
    -    0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,
    -    0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,
    -    0xd1, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0x9e,
    -    0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0xed, 0xe8, 0xe1,
    -    0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,
    -    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,
    -    0xd0, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,
    -    0x9b, 0x97, 0xa3, 0x96, 0x81, 0xec, 0xe7, 0x98,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0xd1, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0xd5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    -    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,
    -    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xd8, 0x8b,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,
    -    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xd2, 0x88,
    -    0xd2, 0x88, 0xd2, 0x88, 0xd2, 0x88, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xf2,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,
    -    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,
    -    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    -    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    -    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    -    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_850 =
    -{
    -    { 850, 1, 0x003f, 0x003f, "OEM Multilingual Latin 1" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 850 (OEM Multilingual Latin 1) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    +    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
    +    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    +    0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    +    0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,
    +    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    +    0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x0131, 0x00cd, 0x00ce,
    +    0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,
    +    0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe,
    +    0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4,
    +    0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,
    +    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,
    +    0xf9, 0xb8, 0xa6, 0xae, 0xaa, 0xf0, 0xa9, 0xee,
    +    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,
    +    0xf7, 0xfb, 0xa7, 0xaf, 0xac, 0xab, 0xf3, 0xa8,
    +    0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,
    +    0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,
    +    0xd1, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0x9e,
    +    0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0xed, 0xe8, 0xe1,
    +    0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,
    +    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,
    +    0xd0, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,
    +    0x9b, 0x97, 0xa3, 0x96, 0x81, 0xec, 0xe7, 0x98,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0xd1, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0xd5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    +    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,
    +    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xd8, 0x8b,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,
    +    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xd2, 0x88,
    +    0xd2, 0x88, 0xd2, 0x88, 0xd2, 0x88, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xf2,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,
    +    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,
    +    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    +    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    +    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    +    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_850 =
    +{
    +    { 850, 1, 0x003f, 0x003f, "OEM Multilingual Latin 1" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_852.c b/reactos/tools/unicode/c_852.c
    similarity index 98%
    rename from reactos/lib/unicode/c_852.c
    rename to reactos/tools/unicode/c_852.c
    index 156d3359b1a..74a2dd9c702 100644
    --- a/reactos/lib/unicode/c_852.c
    +++ b/reactos/tools/unicode/c_852.c
    @@ -1,683 +1,683 @@
    -/* code page 852 (OEM Slovak Latin 2) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x016f, 0x0107, 0x00e7,
    -    0x0142, 0x00eb, 0x0150, 0x0151, 0x00ee, 0x0179, 0x00c4, 0x0106,
    -    0x00c9, 0x0139, 0x013a, 0x00f4, 0x00f6, 0x013d, 0x013e, 0x015a,
    -    0x015b, 0x00d6, 0x00dc, 0x0164, 0x0165, 0x0141, 0x00d7, 0x010d,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x0104, 0x0105, 0x017d, 0x017e,
    -    0x0118, 0x0119, 0x00ac, 0x017a, 0x010c, 0x015f, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x011a,
    -    0x015e, 0x2563, 0x2551, 0x2557, 0x255d, 0x017b, 0x017c, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0102, 0x0103,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    -    0x0111, 0x0110, 0x010e, 0x00cb, 0x010f, 0x0147, 0x00cd, 0x00ce,
    -    0x011b, 0x2518, 0x250c, 0x2588, 0x2584, 0x0162, 0x016e, 0x2580,
    -    0x00d3, 0x00df, 0x00d4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161,
    -    0x0154, 0x00da, 0x0155, 0x0170, 0x00fd, 0x00dd, 0x0163, 0x00b4,
    -    0x00ad, 0x02dd, 0x02db, 0x02c7, 0x02d8, 0x00a7, 0x00f7, 0x00b8,
    -    0x00b0, 0x00a8, 0x02d9, 0x0171, 0x0158, 0x0159, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0x21, 0x63, 0x4c, 0xcf, 0x59, 0x7c, 0xf5,
    -    0xf9, 0x63, 0x61, 0xae, 0xaa, 0xf0, 0x72, 0x2d,
    -    0xf8, 0x3f, 0x32, 0x33, 0xef, 0x75, 0x3f, 0x3f,
    -    0xf7, 0x31, 0x6f, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0xb5, 0xb6, 0x41, 0x8e, 0x41, 0x41, 0x80,
    -    0x45, 0x90, 0x45, 0xd3, 0x49, 0xd6, 0xd7, 0x49,
    -    0xd1, 0x4e, 0x4f, 0xe0, 0xe2, 0x4f, 0x99, 0x9e,
    -    0x4f, 0x55, 0xe9, 0x55, 0x9a, 0xed, 0x3f, 0xe1,
    -    0x61, 0xa0, 0x83, 0x61, 0x84, 0x61, 0x61, 0x87,
    -    0x65, 0x82, 0x65, 0x89, 0x69, 0xa1, 0x8c, 0x69,
    -    0x64, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    -    0x6f, 0x75, 0xa3, 0x75, 0x81, 0xec, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0xc6, 0xc7, 0xa4, 0xa5, 0x8f, 0x86,
    -    0x43, 0x63, 0x43, 0x63, 0xac, 0x9f, 0xd2, 0xd4,
    -    0xd1, 0xd0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0xa8, 0xa9, 0xb7, 0xd8, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x91, 0x92, 0x4c, 0x6c, 0x95, 0x96, 0x3f,
    -    0x3f, 0x9d, 0x88, 0xe3, 0xe4, 0x4e, 0x6e, 0xd5,
    -    0xe5, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x8a, 0x8b, 0x4f, 0x6f, 0xe8, 0xea, 0x52, 0x72,
    -    0xfc, 0xfd, 0x97, 0x98, 0x53, 0x73, 0xb8, 0xad,
    -    0xe6, 0xe7, 0xdd, 0xee, 0x9b, 0x9c, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xde, 0x85,
    -    0xeb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x8d, 0xab, 0xbd, 0xbe, 0xa6, 0xa7, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xd1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xef, 0xf1, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xf3,
    -    0x27, 0x2d, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf4, 0xfa, 0xf8, 0xf2, 0x7e, 0xf1, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xef, 0x5e, 0x7e, 0x2d, 0x2d, 0xf4, 0xfa,
    -    0xf9, 0x3f, 0xf8, 0xf1, 0xf3, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    -    0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x97, 0x98, 0xe6, 0xe7,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,
    -    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0xc6, 0xc7,
    -    0xc6, 0xc7, 0xc6, 0xc7, 0xc6, 0xc7, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xef, 0xf1, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0xf3, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    -    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    -    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    -    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0xf3, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_852 =
    -{
    -    { 852, 1, 0x003f, 0x003f, "OEM Slovak Latin 2" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 852 (OEM Slovak Latin 2) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x016f, 0x0107, 0x00e7,
    +    0x0142, 0x00eb, 0x0150, 0x0151, 0x00ee, 0x0179, 0x00c4, 0x0106,
    +    0x00c9, 0x0139, 0x013a, 0x00f4, 0x00f6, 0x013d, 0x013e, 0x015a,
    +    0x015b, 0x00d6, 0x00dc, 0x0164, 0x0165, 0x0141, 0x00d7, 0x010d,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x0104, 0x0105, 0x017d, 0x017e,
    +    0x0118, 0x0119, 0x00ac, 0x017a, 0x010c, 0x015f, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x011a,
    +    0x015e, 0x2563, 0x2551, 0x2557, 0x255d, 0x017b, 0x017c, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0102, 0x0103,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    +    0x0111, 0x0110, 0x010e, 0x00cb, 0x010f, 0x0147, 0x00cd, 0x00ce,
    +    0x011b, 0x2518, 0x250c, 0x2588, 0x2584, 0x0162, 0x016e, 0x2580,
    +    0x00d3, 0x00df, 0x00d4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161,
    +    0x0154, 0x00da, 0x0155, 0x0170, 0x00fd, 0x00dd, 0x0163, 0x00b4,
    +    0x00ad, 0x02dd, 0x02db, 0x02c7, 0x02d8, 0x00a7, 0x00f7, 0x00b8,
    +    0x00b0, 0x00a8, 0x02d9, 0x0171, 0x0158, 0x0159, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0x21, 0x63, 0x4c, 0xcf, 0x59, 0x7c, 0xf5,
    +    0xf9, 0x63, 0x61, 0xae, 0xaa, 0xf0, 0x72, 0x2d,
    +    0xf8, 0x3f, 0x32, 0x33, 0xef, 0x75, 0x3f, 0x3f,
    +    0xf7, 0x31, 0x6f, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0xb5, 0xb6, 0x41, 0x8e, 0x41, 0x41, 0x80,
    +    0x45, 0x90, 0x45, 0xd3, 0x49, 0xd6, 0xd7, 0x49,
    +    0xd1, 0x4e, 0x4f, 0xe0, 0xe2, 0x4f, 0x99, 0x9e,
    +    0x4f, 0x55, 0xe9, 0x55, 0x9a, 0xed, 0x3f, 0xe1,
    +    0x61, 0xa0, 0x83, 0x61, 0x84, 0x61, 0x61, 0x87,
    +    0x65, 0x82, 0x65, 0x89, 0x69, 0xa1, 0x8c, 0x69,
    +    0x64, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    +    0x6f, 0x75, 0xa3, 0x75, 0x81, 0xec, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0xc6, 0xc7, 0xa4, 0xa5, 0x8f, 0x86,
    +    0x43, 0x63, 0x43, 0x63, 0xac, 0x9f, 0xd2, 0xd4,
    +    0xd1, 0xd0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0xa8, 0xa9, 0xb7, 0xd8, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x91, 0x92, 0x4c, 0x6c, 0x95, 0x96, 0x3f,
    +    0x3f, 0x9d, 0x88, 0xe3, 0xe4, 0x4e, 0x6e, 0xd5,
    +    0xe5, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x8a, 0x8b, 0x4f, 0x6f, 0xe8, 0xea, 0x52, 0x72,
    +    0xfc, 0xfd, 0x97, 0x98, 0x53, 0x73, 0xb8, 0xad,
    +    0xe6, 0xe7, 0xdd, 0xee, 0x9b, 0x9c, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xde, 0x85,
    +    0xeb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x8d, 0xab, 0xbd, 0xbe, 0xa6, 0xa7, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xd1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xef, 0xf1, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xf3,
    +    0x27, 0x2d, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf4, 0xfa, 0xf8, 0xf2, 0x7e, 0xf1, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xef, 0x5e, 0x7e, 0x2d, 0x2d, 0xf4, 0xfa,
    +    0xf9, 0x3f, 0xf8, 0xf1, 0xf3, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    +    0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x97, 0x98, 0xe6, 0xe7,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,
    +    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0xc6, 0xc7,
    +    0xc6, 0xc7, 0xc6, 0xc7, 0xc6, 0xc7, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xef, 0xf1, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0xf3, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    +    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    +    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    +    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0xf3, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_852 =
    +{
    +    { 852, 1, 0x003f, 0x003f, "OEM Slovak Latin 2" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_855.c b/reactos/tools/unicode/c_855.c
    similarity index 98%
    rename from reactos/lib/unicode/c_855.c
    rename to reactos/tools/unicode/c_855.c
    index f6d48a8889a..8741ee4631c 100644
    --- a/reactos/lib/unicode/c_855.c
    +++ b/reactos/tools/unicode/c_855.c
    @@ -1,716 +1,716 @@
    -/* code page 855 (OEM Cyrillic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404,
    -    0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408,
    -    0x0459, 0x0409, 0x045a, 0x040a, 0x045b, 0x040b, 0x045c, 0x040c,
    -    0x045e, 0x040e, 0x045f, 0x040f, 0x044e, 0x042e, 0x044a, 0x042a,
    -    0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414,
    -    0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438,
    -    0x0418, 0x2563, 0x2551, 0x2557, 0x255d, 0x0439, 0x0419, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x043a, 0x041a,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    -    0x043b, 0x041b, 0x043c, 0x041c, 0x043d, 0x041d, 0x043e, 0x041e,
    -    0x043f, 0x2518, 0x250c, 0x2588, 0x2584, 0x041f, 0x044f, 0x2580,
    -    0x042f, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443,
    -    0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044c, 0x042c, 0x2116,
    -    0x00ad, 0x044b, 0x042b, 0x0437, 0x0417, 0x0448, 0x0428, 0x044d,
    -    0x042d, 0x0449, 0x0429, 0x0447, 0x0427, 0x00a7, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0x21, 0x63, 0x4c, 0xcf, 0x59, 0x7c, 0xfd,
    -    0x22, 0x63, 0x61, 0xae, 0x3f, 0xf0, 0x72, 0x2d,
    -    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    -    0x2c, 0x31, 0x6f, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0400 .. 0x04ff */
    -    0xa9, 0x85, 0x81, 0x83, 0x87, 0x89, 0x8b, 0x8d,
    -    0x8f, 0x91, 0x93, 0x95, 0x97, 0xb8, 0x99, 0x9b,
    -    0xa1, 0xa3, 0xec, 0xad, 0xa7, 0xa9, 0xea, 0xf4,
    -    0xb8, 0xbe, 0xc7, 0xd1, 0xd3, 0xd5, 0xd7, 0xdd,
    -    0xe2, 0xe4, 0xe6, 0xe8, 0xab, 0xb6, 0xa5, 0xfc,
    -    0xf6, 0xfa, 0x9f, 0xf2, 0xee, 0xf8, 0x9d, 0xe0,
    -    0xa0, 0xa2, 0xeb, 0xac, 0xa6, 0xa8, 0xe9, 0xf3,
    -    0xb7, 0xbd, 0xc6, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8,
    -    0xe1, 0xe3, 0xe5, 0xe7, 0xaa, 0xb5, 0xa4, 0xfb,
    -    0xf5, 0xf9, 0x9e, 0xf1, 0xed, 0xf7, 0x9c, 0xde,
    -    0xa8, 0x84, 0x80, 0x82, 0x86, 0x88, 0x8a, 0x8c,
    -    0x8e, 0x90, 0x92, 0x94, 0x96, 0xb7, 0x98, 0x9a,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xea, 0xe9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0xa0, 0xa1, 0xa0, 0x3f, 0x3f, 0xa9, 0xa8,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xea, 0xe9, 0xf4, 0xf3,
    -    0x3f, 0x3f, 0xb8, 0xb7, 0xb8, 0xb7, 0xd7, 0xd6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xf8, 0xf7, 0xe8, 0xe7,
    -    0xe8, 0xe7, 0xe8, 0xe7, 0xfc, 0xfb, 0x3f, 0x3f,
    -    0xf2, 0xf1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xef, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    -    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    -    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    -    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_855 =
    -{
    -    { 855, 1, 0x003f, 0x003f, "OEM Cyrillic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 855 (OEM Cyrillic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404,
    +    0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408,
    +    0x0459, 0x0409, 0x045a, 0x040a, 0x045b, 0x040b, 0x045c, 0x040c,
    +    0x045e, 0x040e, 0x045f, 0x040f, 0x044e, 0x042e, 0x044a, 0x042a,
    +    0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414,
    +    0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438,
    +    0x0418, 0x2563, 0x2551, 0x2557, 0x255d, 0x0439, 0x0419, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x043a, 0x041a,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    +    0x043b, 0x041b, 0x043c, 0x041c, 0x043d, 0x041d, 0x043e, 0x041e,
    +    0x043f, 0x2518, 0x250c, 0x2588, 0x2584, 0x041f, 0x044f, 0x2580,
    +    0x042f, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443,
    +    0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044c, 0x042c, 0x2116,
    +    0x00ad, 0x044b, 0x042b, 0x0437, 0x0417, 0x0448, 0x0428, 0x044d,
    +    0x042d, 0x0449, 0x0429, 0x0447, 0x0427, 0x00a7, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0x21, 0x63, 0x4c, 0xcf, 0x59, 0x7c, 0xfd,
    +    0x22, 0x63, 0x61, 0xae, 0x3f, 0xf0, 0x72, 0x2d,
    +    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    +    0x2c, 0x31, 0x6f, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0xa9, 0x85, 0x81, 0x83, 0x87, 0x89, 0x8b, 0x8d,
    +    0x8f, 0x91, 0x93, 0x95, 0x97, 0xb8, 0x99, 0x9b,
    +    0xa1, 0xa3, 0xec, 0xad, 0xa7, 0xa9, 0xea, 0xf4,
    +    0xb8, 0xbe, 0xc7, 0xd1, 0xd3, 0xd5, 0xd7, 0xdd,
    +    0xe2, 0xe4, 0xe6, 0xe8, 0xab, 0xb6, 0xa5, 0xfc,
    +    0xf6, 0xfa, 0x9f, 0xf2, 0xee, 0xf8, 0x9d, 0xe0,
    +    0xa0, 0xa2, 0xeb, 0xac, 0xa6, 0xa8, 0xe9, 0xf3,
    +    0xb7, 0xbd, 0xc6, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8,
    +    0xe1, 0xe3, 0xe5, 0xe7, 0xaa, 0xb5, 0xa4, 0xfb,
    +    0xf5, 0xf9, 0x9e, 0xf1, 0xed, 0xf7, 0x9c, 0xde,
    +    0xa8, 0x84, 0x80, 0x82, 0x86, 0x88, 0x8a, 0x8c,
    +    0x8e, 0x90, 0x92, 0x94, 0x96, 0xb7, 0x98, 0x9a,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xea, 0xe9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0xa0, 0xa1, 0xa0, 0x3f, 0x3f, 0xa9, 0xa8,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xea, 0xe9, 0xf4, 0xf3,
    +    0x3f, 0x3f, 0xb8, 0xb7, 0xb8, 0xb7, 0xd7, 0xd6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xf8, 0xf7, 0xe8, 0xe7,
    +    0xe8, 0xe7, 0xe8, 0xe7, 0xfc, 0xfb, 0x3f, 0x3f,
    +    0xf2, 0xf1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xef, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    +    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    +    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    +    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_855 =
    +{
    +    { 855, 1, 0x003f, 0x003f, "OEM Cyrillic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_856.c b/reactos/tools/unicode/c_856.c
    similarity index 98%
    rename from reactos/lib/unicode/c_856.c
    rename to reactos/tools/unicode/c_856.c
    index e9da6e73d3c..043e70971f4 100644
    --- a/reactos/lib/unicode/c_856.c
    +++ b/reactos/tools/unicode/c_856.c
    @@ -1,716 +1,716 @@
    -/* code page 856 (Hebrew PC) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP856.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    -    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    -    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    -    0x05e8, 0x05e9, 0x05ea, 0x009b, 0x00a3, 0x009d, 0x00d7, 0x009f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x003f, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x003f, 0x003f, 0x003f,
    -    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x003f, 0x003f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00de, 0x2580,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00b5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00af, 0x00b4,
    -    0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,
    -    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x9b, 0x3f, 0x9d, 0x3f, 0x9f,
    -    0xff, 0x21, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,
    -    0xf9, 0xb8, 0x61, 0xae, 0xaa, 0xf0, 0xa9, 0xee,
    -    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,
    -    0xf7, 0xfb, 0x6f, 0xaf, 0xac, 0xab, 0xf3, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x9e,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf6,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,
    -    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0500 .. 0x05ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xf2,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x80, 0x81, 0x82,
    -    0x83, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,
    -    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,
    -    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    -    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    -    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    -    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x89, 0x3f, 0x3f,
    -    0x92, 0x80, 0x83, 0x84, 0x8b, 0x8c, 0x8d, 0x98,
    -    0x9a, 0x2b, 0x99, 0x99, 0x99, 0x99, 0x80, 0x80,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x3f,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x3f, 0x8e, 0x3f,
    -    0x90, 0x91, 0x3f, 0x93, 0x94, 0x3f, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x85, 0x81, 0x8b, 0x94, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_856 =
    -{
    -    { 856, 1, 0x003f, 0x003f, "Hebrew PC" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 856 (Hebrew PC) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP856.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    +    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    +    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    +    0x05e8, 0x05e9, 0x05ea, 0x009b, 0x00a3, 0x009d, 0x00d7, 0x009f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x003f, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x003f, 0x003f, 0x003f,
    +    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x003f, 0x003f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00de, 0x2580,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00b5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00af, 0x00b4,
    +    0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,
    +    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x9b, 0x3f, 0x9d, 0x3f, 0x9f,
    +    0xff, 0x21, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,
    +    0xf9, 0xb8, 0x61, 0xae, 0xaa, 0xf0, 0xa9, 0xee,
    +    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,
    +    0xf7, 0xfb, 0x6f, 0xaf, 0xac, 0xab, 0xf3, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x9e,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf6,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,
    +    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0500 .. 0x05ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xf2,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x80, 0x81, 0x82,
    +    0x83, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,
    +    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,
    +    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    +    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    +    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    +    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x89, 0x3f, 0x3f,
    +    0x92, 0x80, 0x83, 0x84, 0x8b, 0x8c, 0x8d, 0x98,
    +    0x9a, 0x2b, 0x99, 0x99, 0x99, 0x99, 0x80, 0x80,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x3f,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x3f, 0x8e, 0x3f,
    +    0x90, 0x91, 0x3f, 0x93, 0x94, 0x3f, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x85, 0x81, 0x8b, 0x94, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_856 =
    +{
    +    { 856, 1, 0x003f, 0x003f, "Hebrew PC" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_857.c b/reactos/tools/unicode/c_857.c
    similarity index 98%
    rename from reactos/lib/unicode/c_857.c
    rename to reactos/tools/unicode/c_857.c
    index 902b5c0c863..aafe0a88cd7 100644
    --- a/reactos/lib/unicode/c_857.c
    +++ b/reactos/tools/unicode/c_857.c
    @@ -1,683 +1,683 @@
    -/* code page 857 (OEM Turkish) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    -    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0131, 0x00c4, 0x00c5,
    -    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    -    0x0130, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x015e, 0x015f,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x011e, 0x011f,
    -    0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,
    -    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    -    0x00ba, 0x00aa, 0x00ca, 0x00cb, 0x00c8, 0x003f, 0x00cd, 0x00ce,
    -    0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,
    -    0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x003f,
    -    0x00d7, 0x00da, 0x00db, 0x00d9, 0x00ec, 0x00ff, 0x00af, 0x00b4,
    -    0x00ad, 0x00b1, 0x003f, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,
    -    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,
    -    0xf9, 0xb8, 0xd1, 0xae, 0xaa, 0xf0, 0xa9, 0xee,
    -    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,
    -    0xf7, 0xfb, 0xd0, 0xaf, 0xac, 0xab, 0xf3, 0xa8,
    -    0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,
    -    0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,
    -    0x44, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0xe8,
    -    0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0x59, 0x3f, 0xe1,
    -    0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,
    -    0x8a, 0x82, 0x88, 0x89, 0xec, 0xa1, 0x8c, 0x8b,
    -    0x64, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,
    -    0x9b, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0xed,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xa6, 0xa7,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x98, 0x8d, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x9e, 0x9f,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    -    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,
    -    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xd8, 0x8b,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,
    -    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xd2, 0x88,
    -    0xd2, 0x88, 0xd2, 0x88, 0xd2, 0x88, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,
    -    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,
    -    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    -    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    -    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    -    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_857 =
    -{
    -    { 857, 1, 0x003f, 0x003f, "OEM Turkish" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 857 (OEM Turkish) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    +    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0131, 0x00c4, 0x00c5,
    +    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    +    0x0130, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x015e, 0x015f,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x011e, 0x011f,
    +    0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,
    +    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,
    +    0x00ba, 0x00aa, 0x00ca, 0x00cb, 0x00c8, 0x003f, 0x00cd, 0x00ce,
    +    0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,
    +    0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x003f,
    +    0x00d7, 0x00da, 0x00db, 0x00d9, 0x00ec, 0x00ff, 0x00af, 0x00b4,
    +    0x00ad, 0x00b1, 0x003f, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,
    +    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,
    +    0xf9, 0xb8, 0xd1, 0xae, 0xaa, 0xf0, 0xa9, 0xee,
    +    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,
    +    0xf7, 0xfb, 0xd0, 0xaf, 0xac, 0xab, 0xf3, 0xa8,
    +    0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,
    +    0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,
    +    0x44, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0xe8,
    +    0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0x59, 0x3f, 0xe1,
    +    0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,
    +    0x8a, 0x82, 0x88, 0x89, 0xec, 0xa1, 0x8c, 0x8b,
    +    0x64, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,
    +    0x9b, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0xed,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xa6, 0xa7,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x98, 0x8d, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x9e, 0x9f,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    +    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,
    +    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xd8, 0x8b,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,
    +    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xd2, 0x88,
    +    0xd2, 0x88, 0xd2, 0x88, 0xd2, 0x88, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,
    +    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,
    +    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    +    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    +    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    +    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_857 =
    +{
    +    { 857, 1, 0x003f, 0x003f, "OEM Turkish" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_860.c b/reactos/tools/unicode/c_860.c
    similarity index 98%
    rename from reactos/lib/unicode/c_860.c
    rename to reactos/tools/unicode/c_860.c
    index 40e4b6d16f3..b10a9695fa6 100644
    --- a/reactos/lib/unicode/c_860.c
    +++ b/reactos/tools/unicode/c_860.c
    @@ -1,683 +1,683 @@
    -/* code page 860 (OEM Portuguese) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e3, 0x00e0, 0x00c1, 0x00e7,
    -    0x00ea, 0x00ca, 0x00e8, 0x00cd, 0x00d4, 0x00ec, 0x00c3, 0x00c2,
    -    0x00c9, 0x00c0, 0x00c8, 0x00f4, 0x00f5, 0x00f2, 0x00da, 0x00f9,
    -    0x00cc, 0x00d5, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x20a7, 0x00d3,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    -    0x00bf, 0x00d2, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    -    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    -    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x59, 0x7c, 0x3f,
    -    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    -    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    -    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    -    0x91, 0x86, 0x8f, 0x8e, 0x41, 0x41, 0x41, 0x80,
    -    0x92, 0x90, 0x89, 0x45, 0x98, 0x8b, 0x49, 0x49,
    -    0x44, 0xa5, 0xa9, 0x9f, 0x8c, 0x99, 0x4f, 0x78,
    -    0x4f, 0x9d, 0x96, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    -    0x85, 0xa0, 0x83, 0x84, 0x61, 0x61, 0x61, 0x87,
    -    0x8a, 0x82, 0x88, 0x65, 0x8d, 0xa1, 0x69, 0x69,
    -    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x94, 0x6f, 0xf6,
    -    0x6f, 0x97, 0xa3, 0x75, 0x81, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x99, 0x94, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    -    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    -    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    -    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    -    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x99, 0x94, 0x99, 0x94,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x8f, 0x83, 0x8f, 0x83,
    -    0x8f, 0x83, 0x8f, 0x83, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x89, 0x88,
    -    0x89, 0x88, 0x89, 0x88, 0x89, 0x88, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x8c, 0x93, 0x8c, 0x93, 0x8c, 0x93, 0x8c, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9b, 0x9c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_860 =
    -{
    -    { 860, 1, 0x003f, 0x003f, "OEM Portuguese" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 860 (OEM Portuguese) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e3, 0x00e0, 0x00c1, 0x00e7,
    +    0x00ea, 0x00ca, 0x00e8, 0x00cd, 0x00d4, 0x00ec, 0x00c3, 0x00c2,
    +    0x00c9, 0x00c0, 0x00c8, 0x00f4, 0x00f5, 0x00f2, 0x00da, 0x00f9,
    +    0x00cc, 0x00d5, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x20a7, 0x00d3,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    +    0x00bf, 0x00d2, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    +    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    +    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    +    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    +    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    +    0x91, 0x86, 0x8f, 0x8e, 0x41, 0x41, 0x41, 0x80,
    +    0x92, 0x90, 0x89, 0x45, 0x98, 0x8b, 0x49, 0x49,
    +    0x44, 0xa5, 0xa9, 0x9f, 0x8c, 0x99, 0x4f, 0x78,
    +    0x4f, 0x9d, 0x96, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    +    0x85, 0xa0, 0x83, 0x84, 0x61, 0x61, 0x61, 0x87,
    +    0x8a, 0x82, 0x88, 0x65, 0x8d, 0xa1, 0x69, 0x69,
    +    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x94, 0x6f, 0xf6,
    +    0x6f, 0x97, 0xa3, 0x75, 0x81, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x99, 0x94, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    +    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    +    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    +    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    +    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x99, 0x94, 0x99, 0x94,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x8f, 0x83, 0x8f, 0x83,
    +    0x8f, 0x83, 0x8f, 0x83, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x89, 0x88,
    +    0x89, 0x88, 0x89, 0x88, 0x89, 0x88, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x8c, 0x93, 0x8c, 0x93, 0x8c, 0x93, 0x8c, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9b, 0x9c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_860 =
    +{
    +    { 860, 1, 0x003f, 0x003f, "OEM Portuguese" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_861.c b/reactos/tools/unicode/c_861.c
    similarity index 98%
    rename from reactos/lib/unicode/c_861.c
    rename to reactos/tools/unicode/c_861.c
    index 20d68fd3e34..088d8e34fc0 100644
    --- a/reactos/lib/unicode/c_861.c
    +++ b/reactos/tools/unicode/c_861.c
    @@ -1,683 +1,683 @@
    -/* code page 861 (OEM Icelandic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    -    0x00ea, 0x00eb, 0x00e8, 0x00d0, 0x00f0, 0x00de, 0x00c4, 0x00c5,
    -    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00fe, 0x00fb, 0x00dd,
    -    0x00fd, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00c1, 0x00cd, 0x00d3, 0x00da,
    -    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    -    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    -    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0xad, 0x63, 0x9c, 0x3f, 0x59, 0x7c, 0x3f,
    -    0x22, 0x63, 0x61, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    -    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    -    0x2c, 0x31, 0x6f, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    -    0x41, 0xa4, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,
    -    0x45, 0x90, 0x45, 0x45, 0x49, 0xa5, 0x49, 0x49,
    -    0x8b, 0x4e, 0x4f, 0xa6, 0x4f, 0x4f, 0x99, 0x78,
    -    0x9d, 0x55, 0xa7, 0x55, 0x9a, 0x97, 0x8d, 0xe1,
    -    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,
    -    0x8a, 0x82, 0x88, 0x89, 0x69, 0xa1, 0x69, 0x69,
    -    0x8c, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    -    0x9b, 0x75, 0xa3, 0x96, 0x81, 0x98, 0x95, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x8b, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    -    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    -    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    -    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    -    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    -    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,
    -    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,
    -    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x9c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_861 =
    -{
    -    { 861, 1, 0x003f, 0x003f, "OEM Icelandic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 861 (OEM Icelandic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    +    0x00ea, 0x00eb, 0x00e8, 0x00d0, 0x00f0, 0x00de, 0x00c4, 0x00c5,
    +    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00fe, 0x00fb, 0x00dd,
    +    0x00fd, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00c1, 0x00cd, 0x00d3, 0x00da,
    +    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    +    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    +    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0xad, 0x63, 0x9c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0x63, 0x61, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    +    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    +    0x2c, 0x31, 0x6f, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    +    0x41, 0xa4, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,
    +    0x45, 0x90, 0x45, 0x45, 0x49, 0xa5, 0x49, 0x49,
    +    0x8b, 0x4e, 0x4f, 0xa6, 0x4f, 0x4f, 0x99, 0x78,
    +    0x9d, 0x55, 0xa7, 0x55, 0x9a, 0x97, 0x8d, 0xe1,
    +    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,
    +    0x8a, 0x82, 0x88, 0x89, 0x69, 0xa1, 0x69, 0x69,
    +    0x8c, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    +    0x9b, 0x75, 0xa3, 0x96, 0x81, 0x98, 0x95, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x8b, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    +    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    +    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    +    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    +    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    +    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,
    +    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,
    +    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x9c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_861 =
    +{
    +    { 861, 1, 0x003f, 0x003f, "OEM Icelandic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_862.c b/reactos/tools/unicode/c_862.c
    similarity index 98%
    rename from reactos/lib/unicode/c_862.c
    rename to reactos/tools/unicode/c_862.c
    index 2b5f1c3317b..b6b9eefac4f 100644
    --- a/reactos/lib/unicode/c_862.c
    +++ b/reactos/tools/unicode/c_862.c
    @@ -1,716 +1,716 @@
    -/* code page 862 (OEM Hebrew) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP862.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    -    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    -    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    -    0x05e8, 0x05e9, 0x05ea, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    -    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    -    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    -    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x9d, 0x7c, 0x3f,
    -    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    -    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    -    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe1,
    -    0x61, 0xa0, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0xa1, 0x69, 0x69,
    -    0x64, 0xa4, 0x6f, 0xa2, 0x6f, 0x6f, 0x6f, 0xf6,
    -    0x6f, 0x75, 0xa3, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    -    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    -    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    -    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0500 .. 0x05ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    -    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x80, 0x81, 0x82,
    -    0x83, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x89, 0x3f, 0x3f,
    -    0x92, 0x80, 0x83, 0x84, 0x8b, 0x8c, 0x8d, 0x98,
    -    0x9a, 0x2b, 0x99, 0x99, 0x99, 0x99, 0x80, 0x80,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x3f,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x3f, 0x8e, 0x3f,
    -    0x90, 0x91, 0x3f, 0x93, 0x94, 0x3f, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x85, 0x81, 0x8b, 0x94, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9b, 0x9c, 0xaa, 0x2d, 0x7c, 0x9d, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_862 =
    -{
    -    { 862, 1, 0x003f, 0x003f, "OEM Hebrew" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 862 (OEM Hebrew) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP862.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
    +    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
    +    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
    +    0x05e8, 0x05e9, 0x05ea, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    +    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    +    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    +    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x9d, 0x7c, 0x3f,
    +    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    +    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    +    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe1,
    +    0x61, 0xa0, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0xa1, 0x69, 0x69,
    +    0x64, 0xa4, 0x6f, 0xa2, 0x6f, 0x6f, 0x6f, 0xf6,
    +    0x6f, 0x75, 0xa3, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    +    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    +    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    +    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0500 .. 0x05ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    +    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x80, 0x81, 0x82,
    +    0x83, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x89, 0x3f, 0x3f,
    +    0x92, 0x80, 0x83, 0x84, 0x8b, 0x8c, 0x8d, 0x98,
    +    0x9a, 0x2b, 0x99, 0x99, 0x99, 0x99, 0x80, 0x80,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x3f,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x3f, 0x8e, 0x3f,
    +    0x90, 0x91, 0x3f, 0x93, 0x94, 0x3f, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x85, 0x81, 0x8b, 0x94, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9b, 0x9c, 0xaa, 0x2d, 0x7c, 0x9d, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x0400, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_862 =
    +{
    +    { 862, 1, 0x003f, 0x003f, "OEM Hebrew" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_863.c b/reactos/tools/unicode/c_863.c
    similarity index 98%
    rename from reactos/lib/unicode/c_863.c
    rename to reactos/tools/unicode/c_863.c
    index 698106abac4..fe459c927bb 100644
    --- a/reactos/lib/unicode/c_863.c
    +++ b/reactos/tools/unicode/c_863.c
    @@ -1,683 +1,683 @@
    -/* code page 863 (OEM Canadian French) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP863.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00c2, 0x00e0, 0x00b6, 0x00e7,
    -    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x2017, 0x00c0, 0x00a7,
    -    0x00c9, 0x00c8, 0x00ca, 0x00f4, 0x00cb, 0x00cf, 0x00fb, 0x00f9,
    -    0x00a4, 0x00d4, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x00db, 0x0192,
    -    0x00a6, 0x00b4, 0x00f3, 0x00fa, 0x00a8, 0x00b8, 0x00b3, 0x00af,
    -    0x00ce, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00be, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    -    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    -    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0x21, 0x9b, 0x9c, 0x98, 0x59, 0xa0, 0x8f,
    -    0xa4, 0x63, 0x61, 0xae, 0xaa, 0x2d, 0x72, 0xa7,
    -    0xf8, 0xf1, 0xfd, 0xa6, 0xa1, 0xe6, 0x86, 0xfa,
    -    0xa5, 0x31, 0x6f, 0xaf, 0xac, 0xab, 0xad, 0x3f,
    -    0x8e, 0x41, 0x84, 0x41, 0x41, 0x41, 0x41, 0x80,
    -    0x91, 0x90, 0x92, 0x94, 0x49, 0x49, 0xa8, 0x95,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x99, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x9d, 0x55, 0x9e, 0x9a, 0x59, 0x3f, 0xe1,
    -    0x85, 0x61, 0x83, 0x61, 0x61, 0x61, 0x61, 0x87,
    -    0x8a, 0x82, 0x88, 0x89, 0x69, 0x69, 0x8c, 0x8b,
    -    0x64, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x6f, 0xf6,
    -    0x6f, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0xa1, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0xa7, 0xa1, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0xa1, 0x5e, 0x7e, 0xa7, 0xa7, 0x3f, 0x3f,
    -    0xa4, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0xa1, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0xa4, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    -    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    -    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    -    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    -    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x95, 0x8b,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x84, 0x83, 0x84, 0x83,
    -    0x84, 0x83, 0x84, 0x83, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x92, 0x88,
    -    0x92, 0x88, 0x92, 0x88, 0x92, 0x88, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x99, 0x93, 0x99, 0x93, 0x99, 0x93, 0x99, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0xa4, 0xa4, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0xea, 0xea, 0xea, 0xa1, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x8d,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0xa1, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xa7, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xa0, 0xa0,
    -    0x2d, 0x2d, 0xa0, 0xa0, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xa0, 0xa0,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa7, 0xa7, 0xa7, 0xa7, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9b, 0x9c, 0xaa, 0xa7, 0xa0, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_863 =
    -{
    -    { 863, 1, 0x003f, 0x003f, "OEM Canadian French" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 863 (OEM Canadian French) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP863.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00c2, 0x00e0, 0x00b6, 0x00e7,
    +    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x2017, 0x00c0, 0x00a7,
    +    0x00c9, 0x00c8, 0x00ca, 0x00f4, 0x00cb, 0x00cf, 0x00fb, 0x00f9,
    +    0x00a4, 0x00d4, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x00db, 0x0192,
    +    0x00a6, 0x00b4, 0x00f3, 0x00fa, 0x00a8, 0x00b8, 0x00b3, 0x00af,
    +    0x00ce, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00be, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    +    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    +    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0x21, 0x9b, 0x9c, 0x98, 0x59, 0xa0, 0x8f,
    +    0xa4, 0x63, 0x61, 0xae, 0xaa, 0x2d, 0x72, 0xa7,
    +    0xf8, 0xf1, 0xfd, 0xa6, 0xa1, 0xe6, 0x86, 0xfa,
    +    0xa5, 0x31, 0x6f, 0xaf, 0xac, 0xab, 0xad, 0x3f,
    +    0x8e, 0x41, 0x84, 0x41, 0x41, 0x41, 0x41, 0x80,
    +    0x91, 0x90, 0x92, 0x94, 0x49, 0x49, 0xa8, 0x95,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x99, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x9d, 0x55, 0x9e, 0x9a, 0x59, 0x3f, 0xe1,
    +    0x85, 0x61, 0x83, 0x61, 0x61, 0x61, 0x61, 0x87,
    +    0x8a, 0x82, 0x88, 0x89, 0x69, 0x69, 0x8c, 0x8b,
    +    0x64, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x6f, 0xf6,
    +    0x6f, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0xa1, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0xa7, 0xa1, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0xa1, 0x5e, 0x7e, 0xa7, 0xa7, 0x3f, 0x3f,
    +    0xa4, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0xa1, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0xa4, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    +    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    +    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    +    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    +    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x95, 0x8b,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x84, 0x83, 0x84, 0x83,
    +    0x84, 0x83, 0x84, 0x83, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x92, 0x88,
    +    0x92, 0x88, 0x92, 0x88, 0x92, 0x88, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x99, 0x93, 0x99, 0x93, 0x99, 0x93, 0x99, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0xa4, 0xa4, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0xea, 0xea, 0xea, 0xa1, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x8d,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0xa1, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xa7, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xa0, 0xa0,
    +    0x2d, 0x2d, 0xa0, 0xa0, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xa0, 0xa0,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa7, 0xa7, 0xa7, 0xa7, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9b, 0x9c, 0xaa, 0xa7, 0xa0, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_863 =
    +{
    +    { 863, 1, 0x003f, 0x003f, "OEM Canadian French" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_864.c b/reactos/tools/unicode/c_864.c
    similarity index 98%
    rename from reactos/lib/unicode/c_864.c
    rename to reactos/tools/unicode/c_864.c
    index aa8f36ef2fe..525aa520451 100644
    --- a/reactos/lib/unicode/c_864.c
    +++ b/reactos/tools/unicode/c_864.c
    @@ -1,716 +1,716 @@
    -/* code page 864 (OEM Arabic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP864.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x066a, 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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00b0, 0x00b7, 0x2219, 0x221a, 0x2592, 0x2500, 0x2502, 0x253c,
    -    0x2524, 0x252c, 0x251c, 0x2534, 0x2510, 0x250c, 0x2514, 0x2518,
    -    0x03b2, 0x221e, 0x03c6, 0x00b1, 0x00bd, 0x00bc, 0x2248, 0x00ab,
    -    0x00bb, 0xfef7, 0xfef8, 0x009b, 0x009c, 0xfefb, 0xfefc, 0x009f,
    -    0x00a0, 0x00ad, 0xfe82, 0x00a3, 0x00a4, 0xfe84, 0x003f, 0x00a7,
    -    0xfe8e, 0xfe8f, 0xfe95, 0xfe99, 0x060c, 0xfe9d, 0xfea1, 0xfea5,
    -    0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667,
    -    0x0668, 0x0669, 0xfed1, 0x061b, 0xfeb1, 0xfeb5, 0xfeb9, 0x061f,
    -    0x00a2, 0xfe80, 0xfe81, 0xfe83, 0xfe85, 0xfeca, 0xfe8b, 0xfe8d,
    -    0xfe91, 0xfe93, 0xfe97, 0xfe9b, 0xfe9f, 0xfea3, 0xfea7, 0xfea9,
    -    0xfeab, 0xfead, 0xfeaf, 0xfeb3, 0xfeb7, 0xfebb, 0xfebf, 0xfec1,
    -    0xfec5, 0xfecb, 0xfecf, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0xfec9,
    -    0x0640, 0xfed3, 0xfed7, 0xfedb, 0xfedf, 0xfee3, 0xfee7, 0xfeeb,
    -    0xfeed, 0xfeef, 0xfef3, 0xfebd, 0xfecc, 0xfece, 0xfecd, 0xfee1,
    -    0xfe7d, 0x0651, 0xfee5, 0xfee9, 0xfeec, 0xfef0, 0xfef2, 0xfed0,
    -    0xfed5, 0xfef5, 0xfef6, 0xfedd, 0xfed9, 0xfef1, 0x25a0, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x3f, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x9b, 0x9c, 0x3f, 0x3f, 0x9f,
    -    0xa0, 0x21, 0xc0, 0xa3, 0xa4, 0x59, 0xdb, 0xa7,
    -    0x22, 0x63, 0x61, 0x97, 0xdc, 0xa1, 0x72, 0x2d,
    -    0x80, 0x93, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x81,
    -    0x2c, 0x31, 0x6f, 0x98, 0x95, 0x94, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xde,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x90,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xdd,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x86, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x80, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x80, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x81,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x92, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x3f, 0x59, 0x59, 0x59, 0x92, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0600 .. 0x06ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0x25, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x90, 0x3f, 0x3f,
    -    0x92, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x90, 0x3f,
    -    0x3f, 0x92, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x82, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x80, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xc0, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x93, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x80, 0x82, 0x83, 0x3f, 0x3f, 0x3f, 0x91, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x96, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x97, 0x98, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x81, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x85, 0x85, 0x86, 0x86, 0x2d, 0x2d, 0xdb, 0xdb,
    -    0x2d, 0x2d, 0xdb, 0xdb, 0x8d, 0x8d, 0x8d, 0x8d,
    -    0x8c, 0x8c, 0x8c, 0x8c, 0x8e, 0x8e, 0x8e, 0x8e,
    -    0x8f, 0x8f, 0x8f, 0x8f, 0x8a, 0x8a, 0x8a, 0x8a,
    -    0x8a, 0x8a, 0x8a, 0x8a, 0x88, 0x88, 0x88, 0x88,
    -    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,
    -    0x89, 0x89, 0x89, 0x89, 0x8b, 0x8b, 0x8b, 0x8b,
    -    0x8b, 0x8b, 0x8b, 0x8b, 0x87, 0x87, 0x87, 0x87,
    -    0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
    -    0x87, 0x87, 0x87, 0x87, 0x2d, 0x2d, 0xdb, 0xdb,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xdc, 0xdc, 0xdc,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x84, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x97, 0x98, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x3f, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf0, 0x3f, 0x3f,
    -    0xc1, 0xc2, 0xa2, 0xc3, 0xa5, 0xc4, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xc6, 0x3f, 0xc7, 0xa8, 0xa9,
    -    0x3f, 0xc8, 0x3f, 0xc9, 0x3f, 0xaa, 0x3f, 0xca,
    -    0x3f, 0xab, 0x3f, 0xcb, 0x3f, 0xad, 0x3f, 0xcc,
    -    0x3f, 0xae, 0x3f, 0xcd, 0x3f, 0xaf, 0x3f, 0xce,
    -    0x3f, 0xcf, 0x3f, 0xd0, 0x3f, 0xd1, 0x3f, 0xd2,
    -    0x3f, 0xbc, 0x3f, 0xd3, 0x3f, 0xbd, 0x3f, 0xd4,
    -    0x3f, 0xbe, 0x3f, 0xd5, 0x3f, 0xeb, 0x3f, 0xd6,
    -    0x3f, 0xd7, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    -    0x3f, 0xdf, 0xc5, 0xd9, 0xec, 0xee, 0xed, 0xda,
    -    0xf7, 0xba, 0x3f, 0xe1, 0x3f, 0xf8, 0x3f, 0xe2,
    -    0x3f, 0xfc, 0x3f, 0xe3, 0x3f, 0xfb, 0x3f, 0xe4,
    -    0x3f, 0xef, 0x3f, 0xe5, 0x3f, 0xf2, 0x3f, 0xe6,
    -    0x3f, 0xf3, 0x3f, 0xe7, 0xf4, 0xe8, 0x3f, 0xe9,
    -    0xf5, 0xfd, 0xf6, 0xea, 0x3f, 0xf9, 0xfa, 0x99,
    -    0x9a, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x3f, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc0, 0xa3, 0xdc, 0x2d, 0xdb, 0x59, 0x3f, 0x3f,
    -    0x86, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_864 =
    -{
    -    { 864, 1, 0x003f, 0x003f, "OEM Arabic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 864 (OEM Arabic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP864.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x066a, 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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00b0, 0x00b7, 0x2219, 0x221a, 0x2592, 0x2500, 0x2502, 0x253c,
    +    0x2524, 0x252c, 0x251c, 0x2534, 0x2510, 0x250c, 0x2514, 0x2518,
    +    0x03b2, 0x221e, 0x03c6, 0x00b1, 0x00bd, 0x00bc, 0x2248, 0x00ab,
    +    0x00bb, 0xfef7, 0xfef8, 0x009b, 0x009c, 0xfefb, 0xfefc, 0x009f,
    +    0x00a0, 0x00ad, 0xfe82, 0x00a3, 0x00a4, 0xfe84, 0x003f, 0x00a7,
    +    0xfe8e, 0xfe8f, 0xfe95, 0xfe99, 0x060c, 0xfe9d, 0xfea1, 0xfea5,
    +    0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667,
    +    0x0668, 0x0669, 0xfed1, 0x061b, 0xfeb1, 0xfeb5, 0xfeb9, 0x061f,
    +    0x00a2, 0xfe80, 0xfe81, 0xfe83, 0xfe85, 0xfeca, 0xfe8b, 0xfe8d,
    +    0xfe91, 0xfe93, 0xfe97, 0xfe9b, 0xfe9f, 0xfea3, 0xfea7, 0xfea9,
    +    0xfeab, 0xfead, 0xfeaf, 0xfeb3, 0xfeb7, 0xfebb, 0xfebf, 0xfec1,
    +    0xfec5, 0xfecb, 0xfecf, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0xfec9,
    +    0x0640, 0xfed3, 0xfed7, 0xfedb, 0xfedf, 0xfee3, 0xfee7, 0xfeeb,
    +    0xfeed, 0xfeef, 0xfef3, 0xfebd, 0xfecc, 0xfece, 0xfecd, 0xfee1,
    +    0xfe7d, 0x0651, 0xfee5, 0xfee9, 0xfeec, 0xfef0, 0xfef2, 0xfed0,
    +    0xfed5, 0xfef5, 0xfef6, 0xfedd, 0xfed9, 0xfef1, 0x25a0, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x3f, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x9b, 0x9c, 0x3f, 0x3f, 0x9f,
    +    0xa0, 0x21, 0xc0, 0xa3, 0xa4, 0x59, 0xdb, 0xa7,
    +    0x22, 0x63, 0x61, 0x97, 0xdc, 0xa1, 0x72, 0x2d,
    +    0x80, 0x93, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x81,
    +    0x2c, 0x31, 0x6f, 0x98, 0x95, 0x94, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xde,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x90,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xdd,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x86, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x80, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x80, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x81,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x92, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x3f, 0x59, 0x59, 0x59, 0x92, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0600 .. 0x06ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0x25, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x90, 0x3f, 0x3f,
    +    0x92, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x90, 0x3f,
    +    0x3f, 0x92, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x82, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x80, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xc0, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x93, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x80, 0x82, 0x83, 0x3f, 0x3f, 0x3f, 0x91, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x96, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x97, 0x98, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x81, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x85, 0x85, 0x86, 0x86, 0x2d, 0x2d, 0xdb, 0xdb,
    +    0x2d, 0x2d, 0xdb, 0xdb, 0x8d, 0x8d, 0x8d, 0x8d,
    +    0x8c, 0x8c, 0x8c, 0x8c, 0x8e, 0x8e, 0x8e, 0x8e,
    +    0x8f, 0x8f, 0x8f, 0x8f, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x88, 0x88, 0x88, 0x88,
    +    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,
    +    0x89, 0x89, 0x89, 0x89, 0x8b, 0x8b, 0x8b, 0x8b,
    +    0x8b, 0x8b, 0x8b, 0x8b, 0x87, 0x87, 0x87, 0x87,
    +    0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
    +    0x87, 0x87, 0x87, 0x87, 0x2d, 0x2d, 0xdb, 0xdb,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xdc, 0xdc, 0xdc,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x84, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x97, 0x98, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x3f, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf0, 0x3f, 0x3f,
    +    0xc1, 0xc2, 0xa2, 0xc3, 0xa5, 0xc4, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xc6, 0x3f, 0xc7, 0xa8, 0xa9,
    +    0x3f, 0xc8, 0x3f, 0xc9, 0x3f, 0xaa, 0x3f, 0xca,
    +    0x3f, 0xab, 0x3f, 0xcb, 0x3f, 0xad, 0x3f, 0xcc,
    +    0x3f, 0xae, 0x3f, 0xcd, 0x3f, 0xaf, 0x3f, 0xce,
    +    0x3f, 0xcf, 0x3f, 0xd0, 0x3f, 0xd1, 0x3f, 0xd2,
    +    0x3f, 0xbc, 0x3f, 0xd3, 0x3f, 0xbd, 0x3f, 0xd4,
    +    0x3f, 0xbe, 0x3f, 0xd5, 0x3f, 0xeb, 0x3f, 0xd6,
    +    0x3f, 0xd7, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,
    +    0x3f, 0xdf, 0xc5, 0xd9, 0xec, 0xee, 0xed, 0xda,
    +    0xf7, 0xba, 0x3f, 0xe1, 0x3f, 0xf8, 0x3f, 0xe2,
    +    0x3f, 0xfc, 0x3f, 0xe3, 0x3f, 0xfb, 0x3f, 0xe4,
    +    0x3f, 0xef, 0x3f, 0xe5, 0x3f, 0xf2, 0x3f, 0xe6,
    +    0x3f, 0xf3, 0x3f, 0xe7, 0xf4, 0xe8, 0x3f, 0xe9,
    +    0xf5, 0xfd, 0xf6, 0xea, 0x3f, 0xf9, 0xfa, 0x99,
    +    0x9a, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x3f, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc0, 0xa3, 0xdc, 0x2d, 0xdb, 0x59, 0x3f, 0x3f,
    +    0x86, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x0400, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_864 =
    +{
    +    { 864, 1, 0x003f, 0x003f, "OEM Arabic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_865.c b/reactos/tools/unicode/c_865.c
    similarity index 98%
    rename from reactos/lib/unicode/c_865.c
    rename to reactos/tools/unicode/c_865.c
    index e81cfc14822..ab9772ce7dc 100644
    --- a/reactos/lib/unicode/c_865.c
    +++ b/reactos/tools/unicode/c_865.c
    @@ -1,683 +1,683 @@
    -/* code page 865 (OEM Nordic) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP865.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    -    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
    -    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    -    0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192,
    -    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    -    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00a4,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    -    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    -    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0xad, 0x63, 0x9c, 0xaf, 0x59, 0x7c, 0x3f,
    -    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    -    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    -    0x2c, 0x31, 0xa7, 0x3e, 0xac, 0xab, 0x3f, 0xa8,
    -    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,
    -    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x99, 0x78,
    -    0x9d, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    -    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,
    -    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,
    -    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    -    0x9b, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x98,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    -    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    -    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    -    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    -    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    -    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    -    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    -    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    -    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    -    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x8b,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,
    -    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,
    -    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    -    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x9c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_865 =
    -{
    -    { 865, 1, 0x003f, 0x003f, "OEM Nordic" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 865 (OEM Nordic) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP865.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
    +    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
    +    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
    +    0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192,
    +    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
    +    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00a4,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
    +    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
    +    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0xad, 0x63, 0x9c, 0xaf, 0x59, 0x7c, 0x3f,
    +    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,
    +    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,
    +    0x2c, 0x31, 0xa7, 0x3e, 0xac, 0xab, 0x3f, 0xa8,
    +    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,
    +    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x99, 0x78,
    +    0x9d, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,
    +    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,
    +    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,
    +    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x6f, 0x94, 0xf6,
    +    0x9b, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x98,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,
    +    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,
    +    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,
    +    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,
    +    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,
    +    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,
    +    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,
    +    0x3f, 0xe4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x92, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xe1, 0x3f, 0xeb,
    +    0xed, 0x3f, 0x69, 0x72, 0x75, 0x76, 0xe1, 0x3f,
    +    0x3f, 0xed, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x8b,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,
    +    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,
    +    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
    +    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x9c, 0xaa, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_865 =
    +{
    +    { 865, 1, 0x003f, 0x003f, "OEM Nordic" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_866.c b/reactos/tools/unicode/c_866.c
    similarity index 98%
    rename from reactos/lib/unicode/c_866.c
    rename to reactos/tools/unicode/c_866.c
    index 369f3914886..1e6483fcd35 100644
    --- a/reactos/lib/unicode/c_866.c
    +++ b/reactos/tools/unicode/c_866.c
    @@ -1,716 +1,716 @@
    -/* code page 866 (OEM Russian) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    -    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    -    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    -    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    -    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    -    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    -    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    -    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    -    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    -    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    -    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
    -    0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e,
    -    0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0x21, 0x63, 0x4c, 0xfd, 0x59, 0x7c, 0x3f,
    -    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    -    0xf8, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0xfa,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0400 .. 0x04ff */
    -    0x85, 0xf0, 0x3f, 0x83, 0xf2, 0x3f, 0x3f, 0xf4,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x8a, 0x88, 0xf6, 0x3f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xa5, 0xf1, 0x3f, 0xa3, 0xf3, 0x3f, 0x3f, 0xf5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xaa, 0xa8, 0xf7, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x86, 0xa6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x80, 0xa0, 0x80, 0xa0, 0x3f, 0x3f, 0x85, 0xa5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x86, 0xa6, 0x87, 0xa7,
    -    0x3f, 0x3f, 0x88, 0xa8, 0x88, 0xa8, 0x8e, 0xae,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0xed, 0x93, 0xe3,
    -    0x93, 0xe3, 0x93, 0xe3, 0x97, 0xe7, 0x3f, 0x3f,
    -    0x9b, 0xeb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xfc, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    -    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    -    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    -    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    -    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_866 =
    -{
    -    { 866, 1, 0x003f, 0x003f, "OEM Russian" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 866 (OEM Russian) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
    +    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
    +    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
    +    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
    +    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
    +    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
    +    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
    +    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
    +    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
    +    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
    +    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
    +    0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e,
    +    0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0x21, 0x63, 0x4c, 0xfd, 0x59, 0x7c, 0x3f,
    +    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    +    0xf8, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0xfa,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0x85, 0xf0, 0x3f, 0x83, 0xf2, 0x3f, 0x3f, 0xf4,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x8a, 0x88, 0xf6, 0x3f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xa5, 0xf1, 0x3f, 0xa3, 0xf3, 0x3f, 0x3f, 0xf5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xaa, 0xa8, 0xf7, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x86, 0xa6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x80, 0xa0, 0x80, 0xa0, 0x3f, 0x3f, 0x85, 0xa5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x86, 0xa6, 0x87, 0xa7,
    +    0x3f, 0x3f, 0x88, 0xa8, 0x88, 0xa8, 0x8e, 0xae,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0xed, 0x93, 0xe3,
    +    0x93, 0xe3, 0x93, 0xe3, 0x97, 0xe7, 0x3f, 0x3f,
    +    0x9b, 0xeb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xfc, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,
    +    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,
    +    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,
    +    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,
    +    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_866 =
    +{
    +    { 866, 1, 0x003f, 0x003f, "OEM Russian" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_869.c b/reactos/tools/unicode/c_869.c
    similarity index 98%
    rename from reactos/lib/unicode/c_869.c
    rename to reactos/tools/unicode/c_869.c
    index d9bae4a9c93..0a23644f41a 100644
    --- a/reactos/lib/unicode/c_869.c
    +++ b/reactos/tools/unicode/c_869.c
    @@ -1,683 +1,683 @@
    -/* code page 869 (OEM Greek) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP869.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0386, 0x0087,
    -    0x00b7, 0x00ac, 0x00a6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389,
    -    0x038a, 0x03aa, 0x038c, 0x0093, 0x0094, 0x038e, 0x03ab, 0x00a9,
    -    0x038f, 0x00b2, 0x00b3, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af,
    -    0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394,
    -    0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb,
    -    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039c,
    -    0x039d, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510,
    -    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1,
    -    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3,
    -    0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2,
    -    0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580,
    -    0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd,
    -    0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x0384,
    -    0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x0385,
    -    0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x3f, 0x87,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x93, 0x94, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xff, 0x21, 0x63, 0x9c, 0x3f, 0x59, 0x8a, 0xf5,
    -    0xf9, 0x97, 0x61, 0xae, 0x89, 0xf0, 0x72, 0x8e,
    -    0xf8, 0xf1, 0x99, 0x9a, 0x27, 0xe6, 0x3f, 0x88,
    -    0x2c, 0x31, 0x6f, 0xaf, 0x3f, 0xab, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xd7,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x8b, 0x8c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x8e, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x8e, 0x8e, 0x3f, 0x3f,
    -    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf7, 0x86, 0x88,
    -    0x8d, 0x8f, 0x90, 0x3f, 0x92, 0x3f, 0x95, 0x98,
    -    0xa1, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa,
    -    0xac, 0xad, 0xb5, 0xb6, 0xb7, 0xb8, 0xbd, 0xbe,
    -    0xc6, 0xc7, 0x3f, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3,
    -    0xd4, 0xd5, 0x91, 0x96, 0x9b, 0x9d, 0x9e, 0x9f,
    -    0xfc, 0xd6, 0xd7, 0xd8, 0xdd, 0xde, 0xe0, 0xe1,
    -    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    -    0xea, 0xeb, 0xed, 0xec, 0xee, 0xf2, 0xf3, 0xf4,
    -    0xf6, 0xfa, 0xa0, 0xfb, 0xa2, 0xa3, 0xfd, 0x3f,
    -    0xd7, 0xe2, 0xd1, 0xd1, 0xd1, 0xf3, 0xea, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe4, 0xeb, 0xed, 0x3f, 0xac, 0xde, 0x3f, 0x3f,
    -    0x3f, 0xcf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xd7, 0xd8, 0xdd,
    -    0xf3, 0xf4, 0x69, 0x72, 0x75, 0x76, 0xd7, 0xd8,
    -    0xeb, 0xf3, 0xf4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
    -    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,
    -    0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0x3f, 0x3f,
    -    0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x3f, 0x3f,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
    -    0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
    -    0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
    -    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0x3f, 0x3f,
    -    0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0x3f, 0x3f,
    -    0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2,
    -    0x3f, 0xd1, 0x3f, 0xd1, 0x3f, 0xd1, 0x3f, 0xd1,
    -    0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
    -    0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,
    -    0xd6, 0x9b, 0xde, 0x9d, 0xe1, 0x9e, 0xe3, 0x9f,
    -    0xe9, 0xa2, 0xf2, 0xa3, 0xfa, 0xfd, 0x3f, 0x3f,
    -    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
    -    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,
    -    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    -    0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
    -    0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
    -    0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,
    -    0xd6, 0xd6, 0xd6, 0xd6, 0x9b, 0x3f, 0xd6, 0xd6,
    -    0xa4, 0xa4, 0xa4, 0x86, 0xa4, 0x3f, 0xe3, 0x3f,
    -    0x3f, 0xf9, 0xe1, 0xe1, 0x9e, 0x3f, 0xe1, 0xe1,
    -    0xa8, 0x8d, 0xaa, 0x8f, 0xaa, 0x3f, 0x3f, 0x3f,
    -    0xe3, 0xe3, 0xa0, 0xa1, 0x3f, 0x3f, 0xe3, 0xa0,
    -    0xad, 0xad, 0xad, 0x90, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf2, 0xf2, 0xfb, 0xfc, 0xeb, 0xeb, 0xf2, 0xfb,
    -    0xd1, 0xd1, 0xd1, 0x95, 0xc7, 0xf9, 0xf7, 0x60,
    -    0x3f, 0x3f, 0xfa, 0xfa, 0xfd, 0x3f, 0xfa, 0xfa,
    -    0xbe, 0x92, 0xd5, 0x98, 0xd5, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x8e, 0x8e, 0x8e, 0x3f, 0x5f,
    -    0x8b, 0x8c, 0x2c, 0x8b, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x8b, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x8e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xd5, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xd8, 0xa6, 0xc6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x88, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x8a, 0x8a,
    -    0x2d, 0x2d, 0x8a, 0x8a, 0xda, 0xda, 0xda, 0xda,
    -    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    -    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    -    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    -    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    -    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x8a, 0x8a,
    -    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    -    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    -    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    -    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    -    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x8e, 0x8e, 0x8e, 0x8e, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x8e, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x9c, 0x89, 0x8e, 0x8a, 0x59, 0x3f, 0x3f,
    -    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_869 =
    -{
    -    { 869, 1, 0x003f, 0x003f, "OEM Greek" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 869 (OEM Greek) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP869.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0386, 0x0087,
    +    0x00b7, 0x00ac, 0x00a6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389,
    +    0x038a, 0x03aa, 0x038c, 0x0093, 0x0094, 0x038e, 0x03ab, 0x00a9,
    +    0x038f, 0x00b2, 0x00b3, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af,
    +    0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394,
    +    0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb,
    +    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039c,
    +    0x039d, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510,
    +    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1,
    +    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3,
    +    0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2,
    +    0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580,
    +    0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd,
    +    0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x0384,
    +    0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x0385,
    +    0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x3f, 0x87,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x93, 0x94, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xff, 0x21, 0x63, 0x9c, 0x3f, 0x59, 0x8a, 0xf5,
    +    0xf9, 0x97, 0x61, 0xae, 0x89, 0xf0, 0x72, 0x8e,
    +    0xf8, 0xf1, 0x99, 0x9a, 0x27, 0xe6, 0x3f, 0x88,
    +    0x2c, 0x31, 0x6f, 0xaf, 0x3f, 0xab, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xd7,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x8b, 0x8c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x8e, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x8e, 0x8e, 0x3f, 0x3f,
    +    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf7, 0x86, 0x88,
    +    0x8d, 0x8f, 0x90, 0x3f, 0x92, 0x3f, 0x95, 0x98,
    +    0xa1, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa,
    +    0xac, 0xad, 0xb5, 0xb6, 0xb7, 0xb8, 0xbd, 0xbe,
    +    0xc6, 0xc7, 0x3f, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3,
    +    0xd4, 0xd5, 0x91, 0x96, 0x9b, 0x9d, 0x9e, 0x9f,
    +    0xfc, 0xd6, 0xd7, 0xd8, 0xdd, 0xde, 0xe0, 0xe1,
    +    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    +    0xea, 0xeb, 0xed, 0xec, 0xee, 0xf2, 0xf3, 0xf4,
    +    0xf6, 0xfa, 0xa0, 0xfb, 0xa2, 0xa3, 0xfd, 0x3f,
    +    0xd7, 0xe2, 0xd1, 0xd1, 0xd1, 0xf3, 0xea, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe4, 0xeb, 0xed, 0x3f, 0xac, 0xde, 0x3f, 0x3f,
    +    0x3f, 0xcf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0xd7, 0xd8, 0xdd,
    +    0xf3, 0xf4, 0x69, 0x72, 0x75, 0x76, 0xd7, 0xd8,
    +    0xeb, 0xf3, 0xf4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
    +    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,
    +    0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0x3f, 0x3f,
    +    0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x3f, 0x3f,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
    +    0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
    +    0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
    +    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0x3f, 0x3f,
    +    0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0x3f, 0x3f,
    +    0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2,
    +    0x3f, 0xd1, 0x3f, 0xd1, 0x3f, 0xd1, 0x3f, 0xd1,
    +    0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
    +    0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,
    +    0xd6, 0x9b, 0xde, 0x9d, 0xe1, 0x9e, 0xe3, 0x9f,
    +    0xe9, 0xa2, 0xf2, 0xa3, 0xfa, 0xfd, 0x3f, 0x3f,
    +    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
    +    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,
    +    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
    +    0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
    +    0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
    +    0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,
    +    0xd6, 0xd6, 0xd6, 0xd6, 0x9b, 0x3f, 0xd6, 0xd6,
    +    0xa4, 0xa4, 0xa4, 0x86, 0xa4, 0x3f, 0xe3, 0x3f,
    +    0x3f, 0xf9, 0xe1, 0xe1, 0x9e, 0x3f, 0xe1, 0xe1,
    +    0xa8, 0x8d, 0xaa, 0x8f, 0xaa, 0x3f, 0x3f, 0x3f,
    +    0xe3, 0xe3, 0xa0, 0xa1, 0x3f, 0x3f, 0xe3, 0xa0,
    +    0xad, 0xad, 0xad, 0x90, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf2, 0xf2, 0xfb, 0xfc, 0xeb, 0xeb, 0xf2, 0xfb,
    +    0xd1, 0xd1, 0xd1, 0x95, 0xc7, 0xf9, 0xf7, 0x60,
    +    0x3f, 0x3f, 0xfa, 0xfa, 0xfd, 0x3f, 0xfa, 0xfa,
    +    0xbe, 0x92, 0xd5, 0x98, 0xd5, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x8e, 0x8e, 0x8e, 0x3f, 0x5f,
    +    0x8b, 0x8c, 0x2c, 0x8b, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x8b, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x8e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xd5, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xd8, 0xa6, 0xc6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x88, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x8a, 0x8a,
    +    0x2d, 0x2d, 0x8a, 0x8a, 0xda, 0xda, 0xda, 0xda,
    +    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
    +    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,
    +    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,
    +    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,
    +    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x8a, 0x8a,
    +    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,
    +    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,
    +    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,
    +    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,
    +    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x8e, 0x8e, 0x8e, 0x8e, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x8e, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x9c, 0x89, 0x8e, 0x8a, 0x59, 0x3f, 0x3f,
    +    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_869 =
    +{
    +    { 869, 1, 0x003f, 0x003f, "OEM Greek" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_874.c b/reactos/tools/unicode/c_874.c
    similarity index 98%
    rename from reactos/lib/unicode/c_874.c
    rename to reactos/tools/unicode/c_874.c
    index 775609af2b9..477f20d6be7 100644
    --- a/reactos/lib/unicode/c_874.c
    +++ b/reactos/tools/unicode/c_874.c
    @@ -1,716 +1,716 @@
    -/* code page 874 (ANSI/OEM Thai) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP874.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 0x0081, 0x0082, 0x0083, 0x0084, 0x2026, 0x0086, 0x0087,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    -    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    -    0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,
    -    0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,
    -    0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,
    -    0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,
    -    0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,
    -    0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,
    -    0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,
    -    0x0e38, 0x0e39, 0x0e3a, 0x003f, 0x003f, 0x003f, 0x00de, 0x0e3f,
    -    0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,
    -    0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,
    -    0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,
    -    0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0x003f, 0x003f, 0x00fe, 0x003f
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x81, 0x82, 0x83, 0x84, 0x3f, 0x86, 0x87,
    -    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    -    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x97,
    -    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0e00 .. 0x0eff */
    -    0x3f, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -    0xd8, 0xd9, 0xda, 0x3f, 0x3f, 0x3f, 0x3f, 0xdf,
    -    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0xfa, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    -    0x91, 0x92, 0x2c, 0x91, 0x93, 0x94, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x3f, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    -    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    -    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x97, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0400, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_874 =
    -{
    -    { 874, 1, 0x003f, 0x003f, "ANSI/OEM Thai" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 874 (ANSI/OEM Thai) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP874.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 0x0081, 0x0082, 0x0083, 0x0084, 0x2026, 0x0086, 0x0087,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
    +    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
    +    0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,
    +    0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,
    +    0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,
    +    0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,
    +    0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,
    +    0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,
    +    0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,
    +    0x0e38, 0x0e39, 0x0e3a, 0x003f, 0x003f, 0x003f, 0x00de, 0x0e3f,
    +    0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,
    +    0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,
    +    0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,
    +    0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0x003f, 0x003f, 0x00fe, 0x003f
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x81, 0x82, 0x83, 0x84, 0x3f, 0x86, 0x87,
    +    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    +    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    +    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x97,
    +    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0e00 .. 0x0eff */
    +    0x3f, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    +    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    +    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    +    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    +    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    +    0xd8, 0xd9, 0xda, 0x3f, 0x3f, 0x3f, 0x3f, 0xdf,
    +    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    +    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0xfa, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,
    +    0x91, 0x92, 0x2c, 0x91, 0x93, 0x94, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x97, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x3f, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,
    +    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,
    +    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x97, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0400, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_874 =
    +{
    +    { 874, 1, 0x003f, 0x003f, "ANSI/OEM Thai" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_875.c b/reactos/tools/unicode/c_875.c
    similarity index 98%
    rename from reactos/lib/unicode/c_875.c
    rename to reactos/tools/unicode/c_875.c
    index 1d02205a0c6..79a3f01117d 100644
    --- a/reactos/lib/unicode/c_875.c
    +++ b/reactos/tools/unicode/c_875.c
    @@ -1,683 +1,683 @@
    -/* code page 875 (IBM EBCDIC Greek) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[256] =
    -{
    -    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    -    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    -    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    -    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    -    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    -    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    -    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    -    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    -    0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    -    0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,
    -    0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0,
    -    0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e,
    -    0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9,
    -    0x03aa, 0x03ab, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    -    0x00a8, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e,
    -    0x038f, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    -    0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    -    0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6,
    -    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    -    0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc,
    -    0x00b4, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    -    0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3,
    -    0x00a3, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd,
    -    0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    -    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    -    0x0048, 0x0049, 0x00ad, 0x03c9, 0x0390, 0x03b0, 0x2018, 0x2015,
    -    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    -    0x0051, 0x0052, 0x00b1, 0x00bd, 0x001a, 0x0387, 0x2019, 0x00a6,
    -    0x005c, 0x001a, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    -    0x0059, 0x005a, 0x00b2, 0x00a7, 0x001a, 0x001a, 0x00ab, 0x00ac,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x00b3, 0x00a9, 0x001a, 0x001a, 0x00bb, 0x009f
    -};
    -
    -static const unsigned char uni2cp_low[4608] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    -    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    -    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    -    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    -    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    -    0x74, 0x4f, 0x83, 0xb0, 0x3f, 0xe8, 0xdf, 0xeb,
    -    0x70, 0xfb, 0x81, 0xee, 0xef, 0xca, 0x99, 0xcf,
    -    0x90, 0xda, 0xea, 0xfa, 0xa0, 0x9f, 0x3f, 0x3f,
    -    0x6b, 0xf1, 0x96, 0xfe, 0x3f, 0xdb, 0x3f, 0x3f,
    -    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc3,
    -    0xc5, 0xc5, 0xc5, 0xc5, 0xc9, 0xc9, 0xc9, 0xc9,
    -    0xc4, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xa7,
    -    0xd6, 0xe4, 0xe4, 0xe4, 0xe4, 0xe8, 0x3f, 0x8b,
    -    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x83,
    -    0x85, 0x85, 0x85, 0x85, 0x89, 0x89, 0x89, 0x89,
    -    0x84, 0x95, 0x96, 0x96, 0x96, 0x96, 0x96, 0x3f,
    -    0x96, 0xa4, 0xa4, 0xa4, 0xa4, 0xa8, 0x3f, 0xa8,
    -    /* 0x0100 .. 0x01ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    -    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    -    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    -    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    -    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    -    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    -    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    -    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    -    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    -    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    -    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    -    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    -    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4,
    -    0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0x3f, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc7, 0x87, 0xc7, 0x87,
    -    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    -    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    -    0xd5, 0x95, 0xc1, 0x81, 0xc1, 0x81, 0xd6, 0x96,
    -    /* 0x0200 .. 0x02ff */
    -    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    -    0xc5, 0x85, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    -    0xa8, 0xa0, 0x7f, 0xce, 0xde, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,
    -    0x7d, 0xcf, 0xa0, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    -    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x79, 0xa0, 0x5f, 0xa1, 0xcf, 0xcf, 0x3f, 0x3f,
    -    0x70, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x6b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x79, 0xa0, 0x3f, 0x3f, 0x70, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x80, 0x71, 0xdd,
    -    0x72, 0x73, 0x75, 0x3f, 0x76, 0x3f, 0x77, 0x78,
    -    0xcc, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
    -    0x57, 0x58, 0x3f, 0x59, 0x62, 0x63, 0x64, 0x65,
    -    0x66, 0x67, 0x68, 0x69, 0xb1, 0xb2, 0xb3, 0xb5,
    -    0xcd, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a,
    -    0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac,
    -    0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe,
    -    0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x3f,
    -    0x8b, 0x9b, 0x63, 0x63, 0x63, 0xbd, 0xad, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9d, 0xae, 0xba, 0x3f, 0x48, 0x8e, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc1, 0xc2, 0x3f,
    -    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    -    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    -    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    -    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    -    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    -    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x8b, 0x8c, 0x8d,
    -    0xbd, 0xbe, 0x89, 0x99, 0xa4, 0xa5, 0x8b, 0x8c,
    -    0xae, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    -    0xc3, 0x83, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    -    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    -    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    -    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0xc9, 0x89,
    -    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    -    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    -    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    -    0xd5, 0x95, 0xd5, 0x95, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    -    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    -    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    -    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    -    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    -    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    -    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    -    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    -    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    -    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    -    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    -    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    -    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,
    -    0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
    -    0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x3f, 0x3f,
    -    0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x3f, 0x3f,
    -    0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc,
    -    0x3f, 0x63, 0x3f, 0x63, 0x3f, 0x63, 0x3f, 0x63,
    -    0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,
    -    0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67,
    -    0x8a, 0xb1, 0x8e, 0xb2, 0x9a, 0xb3, 0x9c, 0xb5,
    -    0xac, 0xb6, 0xbc, 0xb7, 0xcb, 0xb9, 0x3f, 0x3f,
    -    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,
    -    0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
    -    0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,
    -    0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67,
    -    0x8a, 0x8a, 0x8a, 0x8a, 0xb1, 0x3f, 0x8a, 0x8a,
    -    0x41, 0x41, 0x41, 0x71, 0x41, 0x3f, 0x9c, 0x3f,
    -    0x3f, 0x70, 0x9a, 0x9a, 0xb3, 0x3f, 0x9a, 0x9a,
    -    0x45, 0x72, 0x47, 0x73, 0x47, 0x3f, 0x3f, 0x3f,
    -    0x9c, 0x9c, 0xb4, 0xcc, 0x3f, 0x3f, 0x9c, 0xb4,
    -    0x49, 0x49, 0x49, 0x75, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xbc, 0xbc, 0xb8, 0xcd, 0xae, 0xae, 0xbc, 0xb8,
    -    0x63, 0x63, 0x63, 0x77, 0x58, 0x70, 0x80, 0x79,
    -    0x3f, 0x3f, 0xcb, 0xcb, 0xb9, 0x3f, 0xcb, 0xcb,
    -    0x56, 0x76, 0x67, 0x78, 0x67, 0xa0, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    -    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x60, 0x3f, 0xcf, 0xcf, 0xcf, 0x3f, 0x6d,
    -    0xce, 0xde, 0x6b, 0xce, 0x7f, 0x7f, 0x6b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0xa0, 0x7f, 0x3f, 0xce, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xcf, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x83, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    -    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    -    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    -    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x67, 0x3f,
    -    0xe9, 0x3f, 0xd2, 0xc1, 0xc2, 0xc3, 0x85, 0x85,
    -    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x8c, 0x43, 0x57,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    -    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    -    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0x6a, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x60, 0xda, 0x3f, 0x61, 0xe0, 0x5c,
    -    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    -    0x3f, 0x3f, 0x3f, 0x6a, 0x6a, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0xee, 0xfe, 0x3f, 0x3f, 0x4c, 0x6e,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    -    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    -    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    -    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    -    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    -    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    -    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x60, 0x60, 0x6a, 0x6a, 0x60, 0x60, 0xdf, 0xdf,
    -    0x60, 0x60, 0xdf, 0xdf, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0xef, 0xef, 0xef, 0xef, 0xd3, 0xd3, 0xd3, 0xd3,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    -    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0xdf, 0xdf,
    -    0x7e, 0x6a, 0x4e, 0x4e, 0x4e, 0xef, 0xef, 0xef,
    -    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    -    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x6a, 0x60, 0x6a,
    -    0x60, 0x6a, 0x60, 0x6a, 0x60, 0x6a, 0x60, 0x6a,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4c, 0x6e, 0xee, 0xfe, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x4a, 0x5a, 0x3f, 0x7f, 0x7f, 0x6b,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xcf, 0xcf, 0xcf, 0xcf, 0x6d, 0x6d, 0x6d,
    -    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,
    -    0xcf, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    -    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    -    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    -    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    -    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    -    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    -    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    -    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    -    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    -    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    -    0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x83, 0xb0, 0xef, 0xcf, 0xdf, 0xe8, 0x3f, 0x3f,
    -    0x6a, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    -};
    -
    -const struct sbcs_table cptable_875 =
    -{
    -    { 875, 1, 0x003f, 0x003f, "IBM EBCDIC Greek" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 875 (IBM EBCDIC Greek) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[256] =
    +{
    +    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,
    +    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    +    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,
    +    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,
    +    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,
    +    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,
    +    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,
    +    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,
    +    0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    +    0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,
    +    0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0,
    +    0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e,
    +    0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9,
    +    0x03aa, 0x03ab, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,
    +    0x00a8, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e,
    +    0x038f, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,
    +    0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
    +    0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6,
    +    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
    +    0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc,
    +    0x00b4, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,
    +    0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3,
    +    0x00a3, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd,
    +    0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    +    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
    +    0x0048, 0x0049, 0x00ad, 0x03c9, 0x0390, 0x03b0, 0x2018, 0x2015,
    +    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
    +    0x0051, 0x0052, 0x00b1, 0x00bd, 0x001a, 0x0387, 0x2019, 0x00a6,
    +    0x005c, 0x001a, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
    +    0x0059, 0x005a, 0x00b2, 0x00a7, 0x001a, 0x001a, 0x00ab, 0x00ac,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x00b3, 0x00a9, 0x001a, 0x001a, 0x00bb, 0x009f
    +};
    +
    +static const unsigned char uni2cp_low[4608] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,
    +    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,
    +    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,
    +    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,
    +    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,
    +    0x74, 0x4f, 0x83, 0xb0, 0x3f, 0xe8, 0xdf, 0xeb,
    +    0x70, 0xfb, 0x81, 0xee, 0xef, 0xca, 0x99, 0xcf,
    +    0x90, 0xda, 0xea, 0xfa, 0xa0, 0x9f, 0x3f, 0x3f,
    +    0x6b, 0xf1, 0x96, 0xfe, 0x3f, 0xdb, 0x3f, 0x3f,
    +    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc3,
    +    0xc5, 0xc5, 0xc5, 0xc5, 0xc9, 0xc9, 0xc9, 0xc9,
    +    0xc4, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xa7,
    +    0xd6, 0xe4, 0xe4, 0xe4, 0xe4, 0xe8, 0x3f, 0x8b,
    +    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x83,
    +    0x85, 0x85, 0x85, 0x85, 0x89, 0x89, 0x89, 0x89,
    +    0x84, 0x95, 0x96, 0x96, 0x96, 0x96, 0x96, 0x3f,
    +    0x96, 0xa4, 0xa4, 0xa4, 0xa4, 0xa8, 0x3f, 0xa8,
    +    /* 0x0100 .. 0x01ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,
    +    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,
    +    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,
    +    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,
    +    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,
    +    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,
    +    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,
    +    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,
    +    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,
    +    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,
    +    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,
    +    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,
    +    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4,
    +    0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0x3f, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc7, 0x87, 0xc7, 0x87,
    +    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,
    +    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,
    +    0xd5, 0x95, 0xc1, 0x81, 0xc1, 0x81, 0xd6, 0x96,
    +    /* 0x0200 .. 0x02ff */
    +    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,
    +    0xc5, 0x85, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,
    +    0xa8, 0xa0, 0x7f, 0xce, 0xde, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,
    +    0x7d, 0xcf, 0xa0, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,
    +    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x79, 0xa0, 0x5f, 0xa1, 0xcf, 0xcf, 0x3f, 0x3f,
    +    0x70, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x6b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x79, 0xa0, 0x3f, 0x3f, 0x70, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x80, 0x71, 0xdd,
    +    0x72, 0x73, 0x75, 0x3f, 0x76, 0x3f, 0x77, 0x78,
    +    0xcc, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
    +    0x57, 0x58, 0x3f, 0x59, 0x62, 0x63, 0x64, 0x65,
    +    0x66, 0x67, 0x68, 0x69, 0xb1, 0xb2, 0xb3, 0xb5,
    +    0xcd, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a,
    +    0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac,
    +    0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe,
    +    0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x3f,
    +    0x8b, 0x9b, 0x63, 0x63, 0x63, 0xbd, 0xad, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9d, 0xae, 0xba, 0x3f, 0x48, 0x8e, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc1, 0xc2, 0x3f,
    +    0xc4, 0xc5, 0x3f, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2,
    +    0xd3, 0xd4, 0xd5, 0x3f, 0xd6, 0x3f, 0xd7, 0xd9,
    +    0xe3, 0xe4, 0xe6, 0x81, 0x3f, 0x3f, 0x3f, 0x82,
    +    0x84, 0x85, 0x3f, 0x3f, 0x3f, 0x87, 0x3f, 0x92,
    +    0x94, 0x3f, 0x96, 0x3f, 0x3f, 0x3f, 0x97, 0xa3,
    +    0xa4, 0x3f, 0x3f, 0xa5, 0x3f, 0x8b, 0x8c, 0x8d,
    +    0xbd, 0xbe, 0x89, 0x99, 0xa4, 0xa5, 0x8b, 0x8c,
    +    0xae, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,
    +    0xc3, 0x83, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,
    +    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,
    +    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,
    +    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0xc9, 0x89,
    +    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,
    +    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,
    +    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,
    +    0xd5, 0x95, 0xd5, 0x95, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,
    +    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,
    +    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,
    +    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,
    +    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,
    +    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,
    +    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,
    +    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,
    +    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,
    +    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,
    +    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,
    +    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,
    +    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,
    +    0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
    +    0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x3f, 0x3f,
    +    0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x3f, 0x3f,
    +    0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc,
    +    0x3f, 0x63, 0x3f, 0x63, 0x3f, 0x63, 0x3f, 0x63,
    +    0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,
    +    0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67,
    +    0x8a, 0xb1, 0x8e, 0xb2, 0x9a, 0xb3, 0x9c, 0xb5,
    +    0xac, 0xb6, 0xbc, 0xb7, 0xcb, 0xb9, 0x3f, 0x3f,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,
    +    0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
    +    0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,
    +    0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0xb1, 0x3f, 0x8a, 0x8a,
    +    0x41, 0x41, 0x41, 0x71, 0x41, 0x3f, 0x9c, 0x3f,
    +    0x3f, 0x70, 0x9a, 0x9a, 0xb3, 0x3f, 0x9a, 0x9a,
    +    0x45, 0x72, 0x47, 0x73, 0x47, 0x3f, 0x3f, 0x3f,
    +    0x9c, 0x9c, 0xb4, 0xcc, 0x3f, 0x3f, 0x9c, 0xb4,
    +    0x49, 0x49, 0x49, 0x75, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xbc, 0xbc, 0xb8, 0xcd, 0xae, 0xae, 0xbc, 0xb8,
    +    0x63, 0x63, 0x63, 0x77, 0x58, 0x70, 0x80, 0x79,
    +    0x3f, 0x3f, 0xcb, 0xcb, 0xb9, 0x3f, 0xcb, 0xcb,
    +    0x56, 0x76, 0x67, 0x78, 0x67, 0xa0, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
    +    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x60, 0x3f, 0xcf, 0xcf, 0xcf, 0x3f, 0x6d,
    +    0xce, 0xde, 0x6b, 0xce, 0x7f, 0x7f, 0x6b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0xa0, 0x7f, 0x3f, 0xce, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xcf, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x83, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,
    +    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,
    +    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,
    +    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x67, 0x3f,
    +    0xe9, 0x3f, 0xd2, 0xc1, 0xc2, 0xc3, 0x85, 0x85,
    +    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x8c, 0x43, 0x57,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,
    +    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,
    +    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0x6a, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x60, 0xda, 0x3f, 0x61, 0xe0, 0x5c,
    +    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,
    +    0x3f, 0x3f, 0x3f, 0x6a, 0x6a, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0xee, 0xfe, 0x3f, 0x3f, 0x4c, 0x6e,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    +    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,
    +    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    +    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
    +    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
    +    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    +    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    +    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x60, 0x60, 0x6a, 0x6a, 0x60, 0x60, 0xdf, 0xdf,
    +    0x60, 0x60, 0xdf, 0xdf, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0xef, 0xef, 0xef, 0xef, 0xd3, 0xd3, 0xd3, 0xd3,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,
    +    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0xdf, 0xdf,
    +    0x7e, 0x6a, 0x4e, 0x4e, 0x4e, 0xef, 0xef, 0xef,
    +    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,
    +    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x6a, 0x60, 0x6a,
    +    0x60, 0x6a, 0x60, 0x6a, 0x60, 0x6a, 0x60, 0x6a,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4c, 0x6e, 0xee, 0xfe, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x4a, 0x5a, 0x3f, 0x7f, 0x7f, 0x6b,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xcf, 0xcf, 0xcf, 0xcf, 0x6d, 0x6d, 0x6d,
    +    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,
    +    0xcf, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,
    +    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,
    +    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,
    +    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,
    +    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    +    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,
    +    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    +    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
    +    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,
    +    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,
    +    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    +    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
    +    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,
    +    0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x83, 0xb0, 0xef, 0xcf, 0xdf, 0xe8, 0x3f, 0x3f,
    +    0x6a, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000
    +};
    +
    +const struct sbcs_table cptable_875 =
    +{
    +    { 875, 1, 0x003f, 0x003f, "IBM EBCDIC Greek" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_878.c b/reactos/tools/unicode/c_878.c
    similarity index 98%
    rename from reactos/lib/unicode/c_878.c
    rename to reactos/tools/unicode/c_878.c
    index 035c5095985..eab1d3cf41f 100644
    --- a/reactos/lib/unicode/c_878.c
    +++ b/reactos/tools/unicode/c_878.c
    @@ -1,716 +1,716 @@
    -/* code page 878 (Russian KOI8) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    -    0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,
    -    0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,
    -    0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,
    -    0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,
    -    0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,
    -    0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e,
    -    0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,
    -    0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9,
    -    0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
    -    0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,
    -    0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
    -    0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,
    -    0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
    -    0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
    -    0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
    -    0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a
    -};
    -
    -static const unsigned char uni2cp_low[4864] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9a, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    -    0x22, 0xbf, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    -    0x9c, 0x3f, 0x9d, 0x33, 0x27, 0x75, 0x3f, 0x9e,
    -    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    -    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    -    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    -    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    -    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    -    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    -    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x9f,
    -    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    -    /* 0x0100 .. 0x01ff */
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    -    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    -    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    -    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    -    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    -    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    -    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    -    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    -    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    -    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    -    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    -    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    -    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    -    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x81, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    -    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    -    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    -    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    -    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    -    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    -    /* 0x0200 .. 0x02ff */
    -    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    -    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    -    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    -    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    -    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x9c, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    -    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0300 .. 0x03ff */
    -    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    -    0x22, 0x3f, 0x9c, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x9e,
    -    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    -    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    -    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    -    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    -    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x0400 .. 0x04ff */
    -    0xe5, 0xb3, 0x3f, 0xe7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xeb, 0xe9, 0xf5, 0x3f,
    -    0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,
    -    0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,
    -    0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,
    -    0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,
    -    0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,
    -    0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,
    -    0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,
    -    0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1,
    -    0xc5, 0xa3, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xcb, 0xc9, 0xd5, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0xf6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0xe1, 0xc1, 0xe1, 0xc1, 0x3f, 0x3f, 0xe5, 0xc5,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xf6, 0xd6, 0xfa, 0xda,
    -    0x3f, 0x3f, 0xe9, 0xc9, 0xe9, 0xc9, 0xef, 0xcf,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0xfc, 0xdc, 0xf5, 0xd5,
    -    0xf5, 0xd5, 0xf5, 0xd5, 0xfe, 0xde, 0x3f, 0x3f,
    -    0xf9, 0xd9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    -    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    -    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    -    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    -    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    -    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    -    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    -    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    -    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    -    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    -    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    -    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    -    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    -    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    -    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    -    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    -    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    -    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    -    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    -    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    -    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    -    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    -    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    -    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    -    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    -    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    -    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    -    /* 0x2000 .. 0x20ff */
    -    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    -    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    -    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    -    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x9c, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2100 .. 0x21ff */
    -    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    -    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    -    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    -    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    -    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    -    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    -    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    -    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2200 .. 0x22ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    -    0x9c, 0x95, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    -    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x97, 0x97, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3d, 0x3d, 0x3d, 0x3d, 0x98, 0x99, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    -    0x98, 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9e, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2300 .. 0x23ff */
    -    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x93, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2400 .. 0x24ff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    -    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    -    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    -    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    -    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    -    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    -    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    -    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x2500 .. 0x25ff */
    -    0x80, 0x80, 0x81, 0x81, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0x2d, 0x2d, 0x7c, 0x7c, 0x82, 0x82, 0x82, 0x82,
    -    0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,
    -    0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x86,
    -    0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87,
    -    0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88,
    -    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,
    -    0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a,
    -    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    -    0x8a, 0x8a, 0x8a, 0x8a, 0x2d, 0x2d, 0x7c, 0x7c,
    -    0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,
    -    0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
    -    0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
    -    0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    -    0x8b, 0x3f, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    -    0x8d, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,
    -    0x8f, 0x90, 0x91, 0x92, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x94, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0x3000 .. 0x30ff */
    -    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    -    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    -    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    -    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    -    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* 0xff00 .. 0xffff */
    -    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    -    0x81, 0x3c, 0x5e, 0x3e, 0x76, 0x94, 0x4f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    /* defaults */
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    -    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    -    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    -};
    -
    -const struct sbcs_table cptable_878 =
    -{
    -    { 878, 1, 0x003f, 0x003f, "Russian KOI8" },
    -    cp2uni,
    -    uni2cp_low,
    -    uni2cp_high
    -};
    +/* code page 878 (Russian KOI8) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[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, 0x005c, 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, 0x007e, 0x007f,
    +    0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,
    +    0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,
    +    0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,
    +    0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,
    +    0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,
    +    0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e,
    +    0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,
    +    0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9,
    +    0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
    +    0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,
    +    0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
    +    0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,
    +    0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
    +    0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
    +    0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
    +    0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a
    +};
    +
    +static const unsigned char uni2cp_low[4864] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9a, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x7c, 0x3f,
    +    0x22, 0xbf, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,
    +    0x9c, 0x3f, 0x9d, 0x33, 0x27, 0x75, 0x3f, 0x9e,
    +    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    +    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
    +    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,
    +    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,
    +    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,
    +    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
    +    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x9f,
    +    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,
    +    /* 0x0100 .. 0x01ff */
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,
    +    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,
    +    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,
    +    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,
    +    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,
    +    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,
    +    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,
    +    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,
    +    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,
    +    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,
    +    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,
    +    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,
    +    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,
    +    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x81, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,
    +    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,
    +    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,
    +    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,
    +    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,
    +    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,
    +    /* 0x0200 .. 0x02ff */
    +    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,
    +    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,
    +    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,
    +    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,
    +    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x9c, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,
    +    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0300 .. 0x03ff */
    +    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,
    +    0x22, 0x3f, 0x9c, 0x22, 0x76, 0x3f, 0x22, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x9e,
    +    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,
    +    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,
    +    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,
    +    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,
    +    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x0400 .. 0x04ff */
    +    0xe5, 0xb3, 0x3f, 0xe7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xeb, 0xe9, 0xf5, 0x3f,
    +    0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,
    +    0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,
    +    0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,
    +    0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,
    +    0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,
    +    0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,
    +    0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,
    +    0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1,
    +    0xc5, 0xa3, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xcb, 0xc9, 0xd5, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0xf6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0xe1, 0xc1, 0xe1, 0xc1, 0x3f, 0x3f, 0xe5, 0xc5,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xf6, 0xd6, 0xfa, 0xda,
    +    0x3f, 0x3f, 0xe9, 0xc9, 0xe9, 0xc9, 0xef, 0xcf,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0xfc, 0xdc, 0xf5, 0xd5,
    +    0xf5, 0xd5, 0xf5, 0xd5, 0xfe, 0xde, 0x3f, 0x3f,
    +    0xf9, 0xd9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x41, 0x42, 0x3f,
    +    0x44, 0x45, 0x3f, 0x47, 0x48, 0x49, 0x4a, 0x4b,
    +    0x4c, 0x4d, 0x4e, 0x3f, 0x4f, 0x3f, 0x50, 0x52,
    +    0x54, 0x55, 0x57, 0x61, 0x3f, 0x3f, 0x3f, 0x62,
    +    0x64, 0x65, 0x3f, 0x3f, 0x3f, 0x67, 0x3f, 0x6b,
    +    0x6d, 0x3f, 0x6f, 0x3f, 0x3f, 0x3f, 0x70, 0x74,
    +    0x75, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x69, 0x72, 0x75, 0x76, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,
    +    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,
    +    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,
    +    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,
    +    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,
    +    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,
    +    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,
    +    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,
    +    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,
    +    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,
    +    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,
    +    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,
    +    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,
    +    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,
    +    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,
    +    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,
    +    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,
    +    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,
    +    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,
    +    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,
    +    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,
    +    /* 0x2000 .. 0x20ff */
    +    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
    +    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,
    +    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,
    +    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x9c, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2100 .. 0x21ff */
    +    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,
    +    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,
    +    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,
    +    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,
    +    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,
    +    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,
    +    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,
    +    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2200 .. 0x22ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,
    +    0x9c, 0x95, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,
    +    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x97, 0x97, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3d, 0x3d, 0x3d, 0x3d, 0x98, 0x99, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,
    +    0x98, 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9e, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2300 .. 0x23ff */
    +    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x93, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2400 .. 0x24ff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,
    +    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    +    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
    +    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
    +    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
    +    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
    +    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
    +    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x2500 .. 0x25ff */
    +    0x80, 0x80, 0x81, 0x81, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0x2d, 0x2d, 0x7c, 0x7c, 0x82, 0x82, 0x82, 0x82,
    +    0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,
    +    0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x86,
    +    0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87,
    +    0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88,
    +    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,
    +    0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
    +    0x8a, 0x8a, 0x8a, 0x8a, 0x2d, 0x2d, 0x7c, 0x7c,
    +    0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,
    +    0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,
    +    0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
    +    0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,
    +    0x8b, 0x3f, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,
    +    0x8d, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,
    +    0x8f, 0x90, 0x91, 0x92, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x94, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0x3000 .. 0x30ff */
    +    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,
    +    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,
    +    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,
    +    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,
    +    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* 0xff00 .. 0xffff */
    +    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x63, 0x4c, 0x3f, 0x2d, 0x7c, 0x59, 0x3f, 0x3f,
    +    0x81, 0x3c, 0x5e, 0x3e, 0x76, 0x94, 0x4f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    /* defaults */
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
    +    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x0e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
    +    0x1200, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100
    +};
    +
    +const struct sbcs_table cptable_878 =
    +{
    +    { 878, 1, 0x003f, 0x003f, "Russian KOI8" },
    +    cp2uni,
    +    uni2cp_low,
    +    uni2cp_high
    +};
    diff --git a/reactos/lib/unicode/c_932.c b/reactos/tools/unicode/c_932.c
    similarity index 98%
    rename from reactos/lib/unicode/c_932.c
    rename to reactos/tools/unicode/c_932.c
    index fc3ae497fb7..0f8ca0fd20c 100644
    --- a/reactos/lib/unicode/c_932.c
    +++ b/reactos/tools/unicode/c_932.c
    @@ -1,5242 +1,5242 @@
    -/* code page 932 (ANSI/OEM Japanese Shift-JIS) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[12032] =
    -{
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 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,
    -    0x003f, 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, 0x003f, 0x00fe, 0x003f,
    -    /* unused lead bytes */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 81 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x3000, 0x3001, 0x3002, 0xff0c, 0xff0e, 0x30fb, 0xff1a, 0xff1b,
    -    0xff1f, 0xff01, 0x309b, 0x309c, 0x00b4, 0xff40, 0x00a8, 0xff3e,
    -    0xffe3, 0xff3f, 0x30fd, 0x30fe, 0x309d, 0x309e, 0x3003, 0x4edd,
    -    0x3005, 0x3006, 0x3007, 0x30fc, 0x2015, 0x2010, 0xff0f, 0xff3c,
    -    0xff5e, 0x2225, 0xff5c, 0x2026, 0x2025, 0x2018, 0x2019, 0x201c,
    -    0x201d, 0xff08, 0xff09, 0x3014, 0x3015, 0xff3b, 0xff3d, 0xff5b,
    -    0xff5d, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d, 0x300e,
    -    0x300f, 0x3010, 0x3011, 0xff0b, 0xff0d, 0x00b1, 0x00d7, 0x003f,
    -    0x00f7, 0xff1d, 0x2260, 0xff1c, 0xff1e, 0x2266, 0x2267, 0x221e,
    -    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xffe5,
    -    0xff04, 0xffe0, 0xffe1, 0xff05, 0xff03, 0xff06, 0xff0a, 0xff20,
    -    0x00a7, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6,
    -    0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x203b, 0x3012,
    -    0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283, 0x222a, 0x2229,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x2227, 0x2228, 0xffe2, 0x21d2, 0x21d4, 0x2200, 0x2203, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, 0x2261,
    -    0x2252, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d, 0x2235, 0x222b,
    -    0x222c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x212b, 0x2030, 0x266f, 0x266d, 0x266a, 0x2020, 0x2021, 0x00b6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x25ef, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 82 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xff10,
    -    0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18,
    -    0xff19, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28,
    -    0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30,
    -    0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38,
    -    0xff39, 0xff3a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    -    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    -    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    -    0xff58, 0xff59, 0xff5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x3041,
    -    0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049,
    -    0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050, 0x3051,
    -    0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059,
    -    0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060, 0x3061,
    -    0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069,
    -    0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f, 0x3070, 0x3071,
    -    0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 0x3079,
    -    0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f, 0x3080, 0x3081,
    -    0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089,
    -    0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f, 0x3090, 0x3091,
    -    0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 83 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7, 0x30a8,
    -    0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af, 0x30b0,
    -    0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7, 0x30b8,
    -    0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf, 0x30c0,
    -    0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7, 0x30c8,
    -    0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf, 0x30d0,
    -    0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7, 0x30d8,
    -    0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df, 0x003f,
    -    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    -    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    -    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0391,
    -    0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399,
    -    0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, 0x03a1,
    -    0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x03b1,
    -    0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9,
    -    0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1,
    -    0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 84 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416,
    -    0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
    -    0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426,
    -    0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e,
    -    0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436,
    -    0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x003f,
    -    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    -    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    -    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x2500,
    -    0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c, 0x252c, 0x2524,
    -    0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513, 0x251b, 0x2517,
    -    0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520, 0x252f, 0x2528,
    -    0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538, 0x2542, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 87 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467,
    -    0x2468, 0x2469, 0x246a, 0x246b, 0x246c, 0x246d, 0x246e, 0x246f,
    -    0x2470, 0x2471, 0x2472, 0x2473, 0x2160, 0x2161, 0x2162, 0x2163,
    -    0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x003f, 0x3349,
    -    0x3314, 0x3322, 0x334d, 0x3318, 0x3327, 0x3303, 0x3336, 0x3351,
    -    0x3357, 0x330d, 0x3326, 0x3323, 0x332b, 0x334a, 0x333b, 0x339c,
    -    0x339d, 0x339e, 0x338e, 0x338f, 0x33c4, 0x33a1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x337b, 0x003f,
    -    0x301d, 0x301f, 0x2116, 0x33cd, 0x2121, 0x32a4, 0x32a5, 0x32a6,
    -    0x32a7, 0x32a8, 0x3231, 0x3232, 0x3239, 0x337e, 0x337d, 0x337c,
    -    0x2252, 0x2261, 0x222b, 0x222e, 0x2211, 0x221a, 0x22a5, 0x2220,
    -    0x221f, 0x22bf, 0x2235, 0x2229, 0x222a, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 88 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x4e9c,
    -    0x5516, 0x5a03, 0x963f, 0x54c0, 0x611b, 0x6328, 0x59f6, 0x9022,
    -    0x8475, 0x831c, 0x7a50, 0x60aa, 0x63e1, 0x6e25, 0x65ed, 0x8466,
    -    0x82a6, 0x9bf5, 0x6893, 0x5727, 0x65a1, 0x6271, 0x5b9b, 0x59d0,
    -    0x867b, 0x98f4, 0x7d62, 0x7dbe, 0x9b8e, 0x6216, 0x7c9f, 0x88b7,
    -    0x5b89, 0x5eb5, 0x6309, 0x6697, 0x6848, 0x95c7, 0x978d, 0x674f,
    -    0x4ee5, 0x4f0a, 0x4f4d, 0x4f9d, 0x5049, 0x56f2, 0x5937, 0x59d4,
    -    0x5a01, 0x5c09, 0x60df, 0x610f, 0x6170, 0x6613, 0x6905, 0x70ba,
    -    0x754f, 0x7570, 0x79fb, 0x7dad, 0x7def, 0x80c3, 0x840e, 0x8863,
    -    0x8b02, 0x9055, 0x907a, 0x533b, 0x4e95, 0x4ea5, 0x57df, 0x80b2,
    -    0x90c1, 0x78ef, 0x4e00, 0x58f1, 0x6ea2, 0x9038, 0x7a32, 0x8328,
    -    0x828b, 0x9c2f, 0x5141, 0x5370, 0x54bd, 0x54e1, 0x56e0, 0x59fb,
    -    0x5f15, 0x98f2, 0x6deb, 0x80e4, 0x852d, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 89 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9662, 0x9670, 0x96a0, 0x97fb, 0x540b, 0x53f3, 0x5b87, 0x70cf,
    -    0x7fbd, 0x8fc2, 0x96e8, 0x536f, 0x9d5c, 0x7aba, 0x4e11, 0x7893,
    -    0x81fc, 0x6e26, 0x5618, 0x5504, 0x6b1d, 0x851a, 0x9c3b, 0x59e5,
    -    0x53a9, 0x6d66, 0x74dc, 0x958f, 0x5642, 0x4e91, 0x904b, 0x96f2,
    -    0x834f, 0x990c, 0x53e1, 0x55b6, 0x5b30, 0x5f71, 0x6620, 0x66f3,
    -    0x6804, 0x6c38, 0x6cf3, 0x6d29, 0x745b, 0x76c8, 0x7a4e, 0x9834,
    -    0x82f1, 0x885b, 0x8a60, 0x92ed, 0x6db2, 0x75ab, 0x76ca, 0x99c5,
    -    0x60a6, 0x8b01, 0x8d8a, 0x95b2, 0x698e, 0x53ad, 0x5186, 0x003f,
    -    0x5712, 0x5830, 0x5944, 0x5bb4, 0x5ef6, 0x6028, 0x63a9, 0x63f4,
    -    0x6cbf, 0x6f14, 0x708e, 0x7114, 0x7159, 0x71d5, 0x733f, 0x7e01,
    -    0x8276, 0x82d1, 0x8597, 0x9060, 0x925b, 0x9d1b, 0x5869, 0x65bc,
    -    0x6c5a, 0x7525, 0x51f9, 0x592e, 0x5965, 0x5f80, 0x5fdc, 0x62bc,
    -    0x65fa, 0x6a2a, 0x6b27, 0x6bb4, 0x738b, 0x7fc1, 0x8956, 0x9d2c,
    -    0x9d0e, 0x9ec4, 0x5ca1, 0x6c96, 0x837b, 0x5104, 0x5c4b, 0x61b6,
    -    0x81c6, 0x6876, 0x7261, 0x4e59, 0x4ffa, 0x5378, 0x6069, 0x6e29,
    -    0x7a4f, 0x97f3, 0x4e0b, 0x5316, 0x4eee, 0x4f55, 0x4f3d, 0x4fa1,
    -    0x4f73, 0x52a0, 0x53ef, 0x5609, 0x590f, 0x5ac1, 0x5bb6, 0x5be1,
    -    0x79d1, 0x6687, 0x679c, 0x67b6, 0x6b4c, 0x6cb3, 0x706b, 0x73c2,
    -    0x798d, 0x79be, 0x7a3c, 0x7b87, 0x82b1, 0x82db, 0x8304, 0x8377,
    -    0x83ef, 0x83d3, 0x8766, 0x8ab2, 0x5629, 0x8ca8, 0x8fe6, 0x904e,
    -    0x971e, 0x868a, 0x4fc4, 0x5ce8, 0x6211, 0x7259, 0x753b, 0x81e5,
    -    0x82bd, 0x86fe, 0x8cc0, 0x96c5, 0x9913, 0x99d5, 0x4ecb, 0x4f1a,
    -    0x89e3, 0x56de, 0x584a, 0x58ca, 0x5efb, 0x5feb, 0x602a, 0x6094,
    -    0x6062, 0x61d0, 0x6212, 0x62d0, 0x6539, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 8a */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9b41, 0x6666, 0x68b0, 0x6d77, 0x7070, 0x754c, 0x7686, 0x7d75,
    -    0x82a5, 0x87f9, 0x958b, 0x968e, 0x8c9d, 0x51f1, 0x52be, 0x5916,
    -    0x54b3, 0x5bb3, 0x5d16, 0x6168, 0x6982, 0x6daf, 0x788d, 0x84cb,
    -    0x8857, 0x8a72, 0x93a7, 0x9ab8, 0x6d6c, 0x99a8, 0x86d9, 0x57a3,
    -    0x67ff, 0x86ce, 0x920e, 0x5283, 0x5687, 0x5404, 0x5ed3, 0x62e1,
    -    0x64b9, 0x683c, 0x6838, 0x6bbb, 0x7372, 0x78ba, 0x7a6b, 0x899a,
    -    0x89d2, 0x8d6b, 0x8f03, 0x90ed, 0x95a3, 0x9694, 0x9769, 0x5b66,
    -    0x5cb3, 0x697d, 0x984d, 0x984e, 0x639b, 0x7b20, 0x6a2b, 0x003f,
    -    0x6a7f, 0x68b6, 0x9c0d, 0x6f5f, 0x5272, 0x559d, 0x6070, 0x62ec,
    -    0x6d3b, 0x6e07, 0x6ed1, 0x845b, 0x8910, 0x8f44, 0x4e14, 0x9c39,
    -    0x53f6, 0x691b, 0x6a3a, 0x9784, 0x682a, 0x515c, 0x7ac3, 0x84b2,
    -    0x91dc, 0x938c, 0x565b, 0x9d28, 0x6822, 0x8305, 0x8431, 0x7ca5,
    -    0x5208, 0x82c5, 0x74e6, 0x4e7e, 0x4f83, 0x51a0, 0x5bd2, 0x520a,
    -    0x52d8, 0x52e7, 0x5dfb, 0x559a, 0x582a, 0x59e6, 0x5b8c, 0x5b98,
    -    0x5bdb, 0x5e72, 0x5e79, 0x60a3, 0x611f, 0x6163, 0x61be, 0x63db,
    -    0x6562, 0x67d1, 0x6853, 0x68fa, 0x6b3e, 0x6b53, 0x6c57, 0x6f22,
    -    0x6f97, 0x6f45, 0x74b0, 0x7518, 0x76e3, 0x770b, 0x7aff, 0x7ba1,
    -    0x7c21, 0x7de9, 0x7f36, 0x7ff0, 0x809d, 0x8266, 0x839e, 0x89b3,
    -    0x8acc, 0x8cab, 0x9084, 0x9451, 0x9593, 0x9591, 0x95a2, 0x9665,
    -    0x97d3, 0x9928, 0x8218, 0x4e38, 0x542b, 0x5cb8, 0x5dcc, 0x73a9,
    -    0x764c, 0x773c, 0x5ca9, 0x7feb, 0x8d0b, 0x96c1, 0x9811, 0x9854,
    -    0x9858, 0x4f01, 0x4f0e, 0x5371, 0x559c, 0x5668, 0x57fa, 0x5947,
    -    0x5b09, 0x5bc4, 0x5c90, 0x5e0c, 0x5e7e, 0x5fcc, 0x63ee, 0x673a,
    -    0x65d7, 0x65e2, 0x671f, 0x68cb, 0x68c4, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 8b */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6a5f, 0x5e30, 0x6bc5, 0x6c17, 0x6c7d, 0x757f, 0x7948, 0x5b63,
    -    0x7a00, 0x7d00, 0x5fbd, 0x898f, 0x8a18, 0x8cb4, 0x8d77, 0x8ecc,
    -    0x8f1d, 0x98e2, 0x9a0e, 0x9b3c, 0x4e80, 0x507d, 0x5100, 0x5993,
    -    0x5b9c, 0x622f, 0x6280, 0x64ec, 0x6b3a, 0x72a0, 0x7591, 0x7947,
    -    0x7fa9, 0x87fb, 0x8abc, 0x8b70, 0x63ac, 0x83ca, 0x97a0, 0x5409,
    -    0x5403, 0x55ab, 0x6854, 0x6a58, 0x8a70, 0x7827, 0x6775, 0x9ecd,
    -    0x5374, 0x5ba2, 0x811a, 0x8650, 0x9006, 0x4e18, 0x4e45, 0x4ec7,
    -    0x4f11, 0x53ca, 0x5438, 0x5bae, 0x5f13, 0x6025, 0x6551, 0x003f,
    -    0x673d, 0x6c42, 0x6c72, 0x6ce3, 0x7078, 0x7403, 0x7a76, 0x7aae,
    -    0x7b08, 0x7d1a, 0x7cfe, 0x7d66, 0x65e7, 0x725b, 0x53bb, 0x5c45,
    -    0x5de8, 0x62d2, 0x62e0, 0x6319, 0x6e20, 0x865a, 0x8a31, 0x8ddd,
    -    0x92f8, 0x6f01, 0x79a6, 0x9b5a, 0x4ea8, 0x4eab, 0x4eac, 0x4f9b,
    -    0x4fa0, 0x50d1, 0x5147, 0x7af6, 0x5171, 0x51f6, 0x5354, 0x5321,
    -    0x537f, 0x53eb, 0x55ac, 0x5883, 0x5ce1, 0x5f37, 0x5f4a, 0x602f,
    -    0x6050, 0x606d, 0x631f, 0x6559, 0x6a4b, 0x6cc1, 0x72c2, 0x72ed,
    -    0x77ef, 0x80f8, 0x8105, 0x8208, 0x854e, 0x90f7, 0x93e1, 0x97ff,
    -    0x9957, 0x9a5a, 0x4ef0, 0x51dd, 0x5c2d, 0x6681, 0x696d, 0x5c40,
    -    0x66f2, 0x6975, 0x7389, 0x6850, 0x7c81, 0x50c5, 0x52e4, 0x5747,
    -    0x5dfe, 0x9326, 0x65a4, 0x6b23, 0x6b3d, 0x7434, 0x7981, 0x79bd,
    -    0x7b4b, 0x7dca, 0x82b9, 0x83cc, 0x887f, 0x895f, 0x8b39, 0x8fd1,
    -    0x91d1, 0x541f, 0x9280, 0x4e5d, 0x5036, 0x53e5, 0x533a, 0x72d7,
    -    0x7396, 0x77e9, 0x82e6, 0x8eaf, 0x99c6, 0x99c8, 0x99d2, 0x5177,
    -    0x611a, 0x865e, 0x55b0, 0x7a7a, 0x5076, 0x5bd3, 0x9047, 0x9685,
    -    0x4e32, 0x6adb, 0x91e7, 0x5c51, 0x5c48, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 8c */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6398, 0x7a9f, 0x6c93, 0x9774, 0x8f61, 0x7aaa, 0x718a, 0x9688,
    -    0x7c82, 0x6817, 0x7e70, 0x6851, 0x936c, 0x52f2, 0x541b, 0x85ab,
    -    0x8a13, 0x7fa4, 0x8ecd, 0x90e1, 0x5366, 0x8888, 0x7941, 0x4fc2,
    -    0x50be, 0x5211, 0x5144, 0x5553, 0x572d, 0x73ea, 0x578b, 0x5951,
    -    0x5f62, 0x5f84, 0x6075, 0x6176, 0x6167, 0x61a9, 0x63b2, 0x643a,
    -    0x656c, 0x666f, 0x6842, 0x6e13, 0x7566, 0x7a3d, 0x7cfb, 0x7d4c,
    -    0x7d99, 0x7e4b, 0x7f6b, 0x830e, 0x834a, 0x86cd, 0x8a08, 0x8a63,
    -    0x8b66, 0x8efd, 0x981a, 0x9d8f, 0x82b8, 0x8fce, 0x9be8, 0x003f,
    -    0x5287, 0x621f, 0x6483, 0x6fc0, 0x9699, 0x6841, 0x5091, 0x6b20,
    -    0x6c7a, 0x6f54, 0x7a74, 0x7d50, 0x8840, 0x8a23, 0x6708, 0x4ef6,
    -    0x5039, 0x5026, 0x5065, 0x517c, 0x5238, 0x5263, 0x55a7, 0x570f,
    -    0x5805, 0x5acc, 0x5efa, 0x61b2, 0x61f8, 0x62f3, 0x6372, 0x691c,
    -    0x6a29, 0x727d, 0x72ac, 0x732e, 0x7814, 0x786f, 0x7d79, 0x770c,
    -    0x80a9, 0x898b, 0x8b19, 0x8ce2, 0x8ed2, 0x9063, 0x9375, 0x967a,
    -    0x9855, 0x9a13, 0x9e78, 0x5143, 0x539f, 0x53b3, 0x5e7b, 0x5f26,
    -    0x6e1b, 0x6e90, 0x7384, 0x73fe, 0x7d43, 0x8237, 0x8a00, 0x8afa,
    -    0x9650, 0x4e4e, 0x500b, 0x53e4, 0x547c, 0x56fa, 0x59d1, 0x5b64,
    -    0x5df1, 0x5eab, 0x5f27, 0x6238, 0x6545, 0x67af, 0x6e56, 0x72d0,
    -    0x7cca, 0x88b4, 0x80a1, 0x80e1, 0x83f0, 0x864e, 0x8a87, 0x8de8,
    -    0x9237, 0x96c7, 0x9867, 0x9f13, 0x4e94, 0x4e92, 0x4f0d, 0x5348,
    -    0x5449, 0x543e, 0x5a2f, 0x5f8c, 0x5fa1, 0x609f, 0x68a7, 0x6a8e,
    -    0x745a, 0x7881, 0x8a9e, 0x8aa4, 0x8b77, 0x9190, 0x4e5e, 0x9bc9,
    -    0x4ea4, 0x4f7c, 0x4faf, 0x5019, 0x5016, 0x5149, 0x516c, 0x529f,
    -    0x52b9, 0x52fe, 0x539a, 0x53e3, 0x5411, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 8d */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x540e, 0x5589, 0x5751, 0x57a2, 0x597d, 0x5b54, 0x5b5d, 0x5b8f,
    -    0x5de5, 0x5de7, 0x5df7, 0x5e78, 0x5e83, 0x5e9a, 0x5eb7, 0x5f18,
    -    0x6052, 0x614c, 0x6297, 0x62d8, 0x63a7, 0x653b, 0x6602, 0x6643,
    -    0x66f4, 0x676d, 0x6821, 0x6897, 0x69cb, 0x6c5f, 0x6d2a, 0x6d69,
    -    0x6e2f, 0x6e9d, 0x7532, 0x7687, 0x786c, 0x7a3f, 0x7ce0, 0x7d05,
    -    0x7d18, 0x7d5e, 0x7db1, 0x8015, 0x8003, 0x80af, 0x80b1, 0x8154,
    -    0x818f, 0x822a, 0x8352, 0x884c, 0x8861, 0x8b1b, 0x8ca2, 0x8cfc,
    -    0x90ca, 0x9175, 0x9271, 0x783f, 0x92fc, 0x95a4, 0x964d, 0x003f,
    -    0x9805, 0x9999, 0x9ad8, 0x9d3b, 0x525b, 0x52ab, 0x53f7, 0x5408,
    -    0x58d5, 0x62f7, 0x6fe0, 0x8c6a, 0x8f5f, 0x9eb9, 0x514b, 0x523b,
    -    0x544a, 0x56fd, 0x7a40, 0x9177, 0x9d60, 0x9ed2, 0x7344, 0x6f09,
    -    0x8170, 0x7511, 0x5ffd, 0x60da, 0x9aa8, 0x72db, 0x8fbc, 0x6b64,
    -    0x9803, 0x4eca, 0x56f0, 0x5764, 0x58be, 0x5a5a, 0x6068, 0x61c7,
    -    0x660f, 0x6606, 0x6839, 0x68b1, 0x6df7, 0x75d5, 0x7d3a, 0x826e,
    -    0x9b42, 0x4e9b, 0x4f50, 0x53c9, 0x5506, 0x5d6f, 0x5de6, 0x5dee,
    -    0x67fb, 0x6c99, 0x7473, 0x7802, 0x8a50, 0x9396, 0x88df, 0x5750,
    -    0x5ea7, 0x632b, 0x50b5, 0x50ac, 0x518d, 0x6700, 0x54c9, 0x585e,
    -    0x59bb, 0x5bb0, 0x5f69, 0x624d, 0x63a1, 0x683d, 0x6b73, 0x6e08,
    -    0x707d, 0x91c7, 0x7280, 0x7815, 0x7826, 0x796d, 0x658e, 0x7d30,
    -    0x83dc, 0x88c1, 0x8f09, 0x969b, 0x5264, 0x5728, 0x6750, 0x7f6a,
    -    0x8ca1, 0x51b4, 0x5742, 0x962a, 0x583a, 0x698a, 0x80b4, 0x54b2,
    -    0x5d0e, 0x57fc, 0x7895, 0x9dfa, 0x4f5c, 0x524a, 0x548b, 0x643e,
    -    0x6628, 0x6714, 0x67f5, 0x7a84, 0x7b56, 0x7d22, 0x932f, 0x685c,
    -    0x9bad, 0x7b39, 0x5319, 0x518a, 0x5237, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 8e */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5bdf, 0x62f6, 0x64ae, 0x64e6, 0x672d, 0x6bba, 0x85a9, 0x96d1,
    -    0x7690, 0x9bd6, 0x634c, 0x9306, 0x9bab, 0x76bf, 0x6652, 0x4e09,
    -    0x5098, 0x53c2, 0x5c71, 0x60e8, 0x6492, 0x6563, 0x685f, 0x71e6,
    -    0x73ca, 0x7523, 0x7b97, 0x7e82, 0x8695, 0x8b83, 0x8cdb, 0x9178,
    -    0x9910, 0x65ac, 0x66ab, 0x6b8b, 0x4ed5, 0x4ed4, 0x4f3a, 0x4f7f,
    -    0x523a, 0x53f8, 0x53f2, 0x55e3, 0x56db, 0x58eb, 0x59cb, 0x59c9,
    -    0x59ff, 0x5b50, 0x5c4d, 0x5e02, 0x5e2b, 0x5fd7, 0x601d, 0x6307,
    -    0x652f, 0x5b5c, 0x65af, 0x65bd, 0x65e8, 0x679d, 0x6b62, 0x003f,
    -    0x6b7b, 0x6c0f, 0x7345, 0x7949, 0x79c1, 0x7cf8, 0x7d19, 0x7d2b,
    -    0x80a2, 0x8102, 0x81f3, 0x8996, 0x8a5e, 0x8a69, 0x8a66, 0x8a8c,
    -    0x8aee, 0x8cc7, 0x8cdc, 0x96cc, 0x98fc, 0x6b6f, 0x4e8b, 0x4f3c,
    -    0x4f8d, 0x5150, 0x5b57, 0x5bfa, 0x6148, 0x6301, 0x6642, 0x6b21,
    -    0x6ecb, 0x6cbb, 0x723e, 0x74bd, 0x75d4, 0x78c1, 0x793a, 0x800c,
    -    0x8033, 0x81ea, 0x8494, 0x8f9e, 0x6c50, 0x9e7f, 0x5f0f, 0x8b58,
    -    0x9d2b, 0x7afa, 0x8ef8, 0x5b8d, 0x96eb, 0x4e03, 0x53f1, 0x57f7,
    -    0x5931, 0x5ac9, 0x5ba4, 0x6089, 0x6e7f, 0x6f06, 0x75be, 0x8cea,
    -    0x5b9f, 0x8500, 0x7be0, 0x5072, 0x67f4, 0x829d, 0x5c61, 0x854a,
    -    0x7e1e, 0x820e, 0x5199, 0x5c04, 0x6368, 0x8d66, 0x659c, 0x716e,
    -    0x793e, 0x7d17, 0x8005, 0x8b1d, 0x8eca, 0x906e, 0x86c7, 0x90aa,
    -    0x501f, 0x52fa, 0x5c3a, 0x6753, 0x707c, 0x7235, 0x914c, 0x91c8,
    -    0x932b, 0x82e5, 0x5bc2, 0x5f31, 0x60f9, 0x4e3b, 0x53d6, 0x5b88,
    -    0x624b, 0x6731, 0x6b8a, 0x72e9, 0x73e0, 0x7a2e, 0x816b, 0x8da3,
    -    0x9152, 0x9996, 0x5112, 0x53d7, 0x546a, 0x5bff, 0x6388, 0x6a39,
    -    0x7dac, 0x9700, 0x56da, 0x53ce, 0x5468, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 8f */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5b97, 0x5c31, 0x5dde, 0x4fee, 0x6101, 0x62fe, 0x6d32, 0x79c0,
    -    0x79cb, 0x7d42, 0x7e4d, 0x7fd2, 0x81ed, 0x821f, 0x8490, 0x8846,
    -    0x8972, 0x8b90, 0x8e74, 0x8f2f, 0x9031, 0x914b, 0x916c, 0x96c6,
    -    0x919c, 0x4ec0, 0x4f4f, 0x5145, 0x5341, 0x5f93, 0x620e, 0x67d4,
    -    0x6c41, 0x6e0b, 0x7363, 0x7e26, 0x91cd, 0x9283, 0x53d4, 0x5919,
    -    0x5bbf, 0x6dd1, 0x795d, 0x7e2e, 0x7c9b, 0x587e, 0x719f, 0x51fa,
    -    0x8853, 0x8ff0, 0x4fca, 0x5cfb, 0x6625, 0x77ac, 0x7ae3, 0x821c,
    -    0x99ff, 0x51c6, 0x5faa, 0x65ec, 0x696f, 0x6b89, 0x6df3, 0x003f,
    -    0x6e96, 0x6f64, 0x76fe, 0x7d14, 0x5de1, 0x9075, 0x9187, 0x9806,
    -    0x51e6, 0x521d, 0x6240, 0x6691, 0x66d9, 0x6e1a, 0x5eb6, 0x7dd2,
    -    0x7f72, 0x66f8, 0x85af, 0x85f7, 0x8af8, 0x52a9, 0x53d9, 0x5973,
    -    0x5e8f, 0x5f90, 0x6055, 0x92e4, 0x9664, 0x50b7, 0x511f, 0x52dd,
    -    0x5320, 0x5347, 0x53ec, 0x54e8, 0x5546, 0x5531, 0x5617, 0x5968,
    -    0x59be, 0x5a3c, 0x5bb5, 0x5c06, 0x5c0f, 0x5c11, 0x5c1a, 0x5e84,
    -    0x5e8a, 0x5ee0, 0x5f70, 0x627f, 0x6284, 0x62db, 0x638c, 0x6377,
    -    0x6607, 0x660c, 0x662d, 0x6676, 0x677e, 0x68a2, 0x6a1f, 0x6a35,
    -    0x6cbc, 0x6d88, 0x6e09, 0x6e58, 0x713c, 0x7126, 0x7167, 0x75c7,
    -    0x7701, 0x785d, 0x7901, 0x7965, 0x79f0, 0x7ae0, 0x7b11, 0x7ca7,
    -    0x7d39, 0x8096, 0x83d6, 0x848b, 0x8549, 0x885d, 0x88f3, 0x8a1f,
    -    0x8a3c, 0x8a54, 0x8a73, 0x8c61, 0x8cde, 0x91a4, 0x9266, 0x937e,
    -    0x9418, 0x969c, 0x9798, 0x4e0a, 0x4e08, 0x4e1e, 0x4e57, 0x5197,
    -    0x5270, 0x57ce, 0x5834, 0x58cc, 0x5b22, 0x5e38, 0x60c5, 0x64fe,
    -    0x6761, 0x6756, 0x6d44, 0x72b6, 0x7573, 0x7a63, 0x84b8, 0x8b72,
    -    0x91b8, 0x9320, 0x5631, 0x57f4, 0x98fe, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 90 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x62ed, 0x690d, 0x6b96, 0x71ed, 0x7e54, 0x8077, 0x8272, 0x89e6,
    -    0x98df, 0x8755, 0x8fb1, 0x5c3b, 0x4f38, 0x4fe1, 0x4fb5, 0x5507,
    -    0x5a20, 0x5bdd, 0x5be9, 0x5fc3, 0x614e, 0x632f, 0x65b0, 0x664b,
    -    0x68ee, 0x699b, 0x6d78, 0x6df1, 0x7533, 0x75b9, 0x771f, 0x795e,
    -    0x79e6, 0x7d33, 0x81e3, 0x82af, 0x85aa, 0x89aa, 0x8a3a, 0x8eab,
    -    0x8f9b, 0x9032, 0x91dd, 0x9707, 0x4eba, 0x4ec1, 0x5203, 0x5875,
    -    0x58ec, 0x5c0b, 0x751a, 0x5c3d, 0x814e, 0x8a0a, 0x8fc5, 0x9663,
    -    0x976d, 0x7b25, 0x8acf, 0x9808, 0x9162, 0x56f3, 0x53a8, 0x003f,
    -    0x9017, 0x5439, 0x5782, 0x5e25, 0x63a8, 0x6c34, 0x708a, 0x7761,
    -    0x7c8b, 0x7fe0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968f,
    -    0x745e, 0x9ac4, 0x5d07, 0x5d69, 0x6570, 0x67a2, 0x8da8, 0x96db,
    -    0x636e, 0x6749, 0x6919, 0x83c5, 0x9817, 0x96c0, 0x88fe, 0x6f84,
    -    0x647a, 0x5bf8, 0x4e16, 0x702c, 0x755d, 0x662f, 0x51c4, 0x5236,
    -    0x52e2, 0x59d3, 0x5f81, 0x6027, 0x6210, 0x653f, 0x6574, 0x661f,
    -    0x6674, 0x68f2, 0x6816, 0x6b63, 0x6e05, 0x7272, 0x751f, 0x76db,
    -    0x7cbe, 0x8056, 0x58f0, 0x88fd, 0x897f, 0x8aa0, 0x8a93, 0x8acb,
    -    0x901d, 0x9192, 0x9752, 0x9759, 0x6589, 0x7a0e, 0x8106, 0x96bb,
    -    0x5e2d, 0x60dc, 0x621a, 0x65a5, 0x6614, 0x6790, 0x77f3, 0x7a4d,
    -    0x7c4d, 0x7e3e, 0x810a, 0x8cac, 0x8d64, 0x8de1, 0x8e5f, 0x78a9,
    -    0x5207, 0x62d9, 0x63a5, 0x6442, 0x6298, 0x8a2d, 0x7a83, 0x7bc0,
    -    0x8aac, 0x96ea, 0x7d76, 0x820c, 0x8749, 0x4ed9, 0x5148, 0x5343,
    -    0x5360, 0x5ba3, 0x5c02, 0x5c16, 0x5ddd, 0x6226, 0x6247, 0x64b0,
    -    0x6813, 0x6834, 0x6cc9, 0x6d45, 0x6d17, 0x67d3, 0x6f5c, 0x714e,
    -    0x717d, 0x65cb, 0x7a7f, 0x7bad, 0x7dda, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 91 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7e4a, 0x7fa8, 0x817a, 0x821b, 0x8239, 0x85a6, 0x8a6e, 0x8cce,
    -    0x8df5, 0x9078, 0x9077, 0x92ad, 0x9291, 0x9583, 0x9bae, 0x524d,
    -    0x5584, 0x6f38, 0x7136, 0x5168, 0x7985, 0x7e55, 0x81b3, 0x7cce,
    -    0x564c, 0x5851, 0x5ca8, 0x63aa, 0x66fe, 0x66fd, 0x695a, 0x72d9,
    -    0x758f, 0x758e, 0x790e, 0x7956, 0x79df, 0x7c97, 0x7d20, 0x7d44,
    -    0x8607, 0x8a34, 0x963b, 0x9061, 0x9f20, 0x50e7, 0x5275, 0x53cc,
    -    0x53e2, 0x5009, 0x55aa, 0x58ee, 0x594f, 0x723d, 0x5b8b, 0x5c64,
    -    0x531d, 0x60e3, 0x60f3, 0x635c, 0x6383, 0x633f, 0x63bb, 0x003f,
    -    0x64cd, 0x65e9, 0x66f9, 0x5de3, 0x69cd, 0x69fd, 0x6f15, 0x71e5,
    -    0x4e89, 0x75e9, 0x76f8, 0x7a93, 0x7cdf, 0x7dcf, 0x7d9c, 0x8061,
    -    0x8349, 0x8358, 0x846c, 0x84bc, 0x85fb, 0x88c5, 0x8d70, 0x9001,
    -    0x906d, 0x9397, 0x971c, 0x9a12, 0x50cf, 0x5897, 0x618e, 0x81d3,
    -    0x8535, 0x8d08, 0x9020, 0x4fc3, 0x5074, 0x5247, 0x5373, 0x606f,
    -    0x6349, 0x675f, 0x6e2c, 0x8db3, 0x901f, 0x4fd7, 0x5c5e, 0x8cca,
    -    0x65cf, 0x7d9a, 0x5352, 0x8896, 0x5176, 0x63c3, 0x5b58, 0x5b6b,
    -    0x5c0a, 0x640d, 0x6751, 0x905c, 0x4ed6, 0x591a, 0x592a, 0x6c70,
    -    0x8a51, 0x553e, 0x5815, 0x59a5, 0x60f0, 0x6253, 0x67c1, 0x8235,
    -    0x6955, 0x9640, 0x99c4, 0x9a28, 0x4f53, 0x5806, 0x5bfe, 0x8010,
    -    0x5cb1, 0x5e2f, 0x5f85, 0x6020, 0x614b, 0x6234, 0x66ff, 0x6cf0,
    -    0x6ede, 0x80ce, 0x817f, 0x82d4, 0x888b, 0x8cb8, 0x9000, 0x902e,
    -    0x968a, 0x9edb, 0x9bdb, 0x4ee3, 0x53f0, 0x5927, 0x7b2c, 0x918d,
    -    0x984c, 0x9df9, 0x6edd, 0x7027, 0x5353, 0x5544, 0x5b85, 0x6258,
    -    0x629e, 0x62d3, 0x6ca2, 0x6fef, 0x7422, 0x8a17, 0x9438, 0x6fc1,
    -    0x8afe, 0x8338, 0x51e7, 0x86f8, 0x53ea, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 92 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x53e9, 0x4f46, 0x9054, 0x8fb0, 0x596a, 0x8131, 0x5dfd, 0x7aea,
    -    0x8fbf, 0x68da, 0x8c37, 0x72f8, 0x9c48, 0x6a3d, 0x8ab0, 0x4e39,
    -    0x5358, 0x5606, 0x5766, 0x62c5, 0x63a2, 0x65e6, 0x6b4e, 0x6de1,
    -    0x6e5b, 0x70ad, 0x77ed, 0x7aef, 0x7baa, 0x7dbb, 0x803d, 0x80c6,
    -    0x86cb, 0x8a95, 0x935b, 0x56e3, 0x58c7, 0x5f3e, 0x65ad, 0x6696,
    -    0x6a80, 0x6bb5, 0x7537, 0x8ac7, 0x5024, 0x77e5, 0x5730, 0x5f1b,
    -    0x6065, 0x667a, 0x6c60, 0x75f4, 0x7a1a, 0x7f6e, 0x81f4, 0x8718,
    -    0x9045, 0x99b3, 0x7bc9, 0x755c, 0x7af9, 0x7b51, 0x84c4, 0x003f,
    -    0x9010, 0x79e9, 0x7a92, 0x8336, 0x5ae1, 0x7740, 0x4e2d, 0x4ef2,
    -    0x5b99, 0x5fe0, 0x62bd, 0x663c, 0x67f1, 0x6ce8, 0x866b, 0x8877,
    -    0x8a3b, 0x914e, 0x92f3, 0x99d0, 0x6a17, 0x7026, 0x732a, 0x82e7,
    -    0x8457, 0x8caf, 0x4e01, 0x5146, 0x51cb, 0x558b, 0x5bf5, 0x5e16,
    -    0x5e33, 0x5e81, 0x5f14, 0x5f35, 0x5f6b, 0x5fb4, 0x61f2, 0x6311,
    -    0x66a2, 0x671d, 0x6f6e, 0x7252, 0x753a, 0x773a, 0x8074, 0x8139,
    -    0x8178, 0x8776, 0x8abf, 0x8adc, 0x8d85, 0x8df3, 0x929a, 0x9577,
    -    0x9802, 0x9ce5, 0x52c5, 0x6357, 0x76f4, 0x6715, 0x6c88, 0x73cd,
    -    0x8cc3, 0x93ae, 0x9673, 0x6d25, 0x589c, 0x690e, 0x69cc, 0x8ffd,
    -    0x939a, 0x75db, 0x901a, 0x585a, 0x6802, 0x63b4, 0x69fb, 0x4f43,
    -    0x6f2c, 0x67d8, 0x8fbb, 0x8526, 0x7db4, 0x9354, 0x693f, 0x6f70,
    -    0x576a, 0x58f7, 0x5b2c, 0x7d2c, 0x722a, 0x540a, 0x91e3, 0x9db4,
    -    0x4ead, 0x4f4e, 0x505c, 0x5075, 0x5243, 0x8c9e, 0x5448, 0x5824,
    -    0x5b9a, 0x5e1d, 0x5e95, 0x5ead, 0x5ef7, 0x5f1f, 0x608c, 0x62b5,
    -    0x633a, 0x63d0, 0x68af, 0x6c40, 0x7887, 0x798e, 0x7a0b, 0x7de0,
    -    0x8247, 0x8a02, 0x8ae6, 0x8e44, 0x9013, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 93 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x90b8, 0x912d, 0x91d8, 0x9f0e, 0x6ce5, 0x6458, 0x64e2, 0x6575,
    -    0x6ef4, 0x7684, 0x7b1b, 0x9069, 0x93d1, 0x6eba, 0x54f2, 0x5fb9,
    -    0x64a4, 0x8f4d, 0x8fed, 0x9244, 0x5178, 0x586b, 0x5929, 0x5c55,
    -    0x5e97, 0x6dfb, 0x7e8f, 0x751c, 0x8cbc, 0x8ee2, 0x985b, 0x70b9,
    -    0x4f1d, 0x6bbf, 0x6fb1, 0x7530, 0x96fb, 0x514e, 0x5410, 0x5835,
    -    0x5857, 0x59ac, 0x5c60, 0x5f92, 0x6597, 0x675c, 0x6e21, 0x767b,
    -    0x83df, 0x8ced, 0x9014, 0x90fd, 0x934d, 0x7825, 0x783a, 0x52aa,
    -    0x5ea6, 0x571f, 0x5974, 0x6012, 0x5012, 0x515a, 0x51ac, 0x003f,
    -    0x51cd, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5b95, 0x5cf6,
    -    0x5d8b, 0x60bc, 0x6295, 0x642d, 0x6771, 0x6843, 0x68bc, 0x68df,
    -    0x76d7, 0x6dd8, 0x6e6f, 0x6d9b, 0x706f, 0x71c8, 0x5f53, 0x75d8,
    -    0x7977, 0x7b49, 0x7b54, 0x7b52, 0x7cd6, 0x7d71, 0x5230, 0x8463,
    -    0x8569, 0x85e4, 0x8a0e, 0x8b04, 0x8c46, 0x8e0f, 0x9003, 0x900f,
    -    0x9419, 0x9676, 0x982d, 0x9a30, 0x95d8, 0x50cd, 0x52d5, 0x540c,
    -    0x5802, 0x5c0e, 0x61a7, 0x649e, 0x6d1e, 0x77b3, 0x7ae5, 0x80f4,
    -    0x8404, 0x9053, 0x9285, 0x5ce0, 0x9d07, 0x533f, 0x5f97, 0x5fb3,
    -    0x6d9c, 0x7279, 0x7763, 0x79bf, 0x7be4, 0x6bd2, 0x72ec, 0x8aad,
    -    0x6803, 0x6a61, 0x51f8, 0x7a81, 0x6934, 0x5c4a, 0x9cf6, 0x82eb,
    -    0x5bc5, 0x9149, 0x701e, 0x5678, 0x5c6f, 0x60c7, 0x6566, 0x6c8c,
    -    0x8c5a, 0x9041, 0x9813, 0x5451, 0x66c7, 0x920d, 0x5948, 0x90a3,
    -    0x5185, 0x4e4d, 0x51ea, 0x8599, 0x8b0e, 0x7058, 0x637a, 0x934b,
    -    0x6962, 0x99b4, 0x7e04, 0x7577, 0x5357, 0x6960, 0x8edf, 0x96e3,
    -    0x6c5d, 0x4e8c, 0x5c3c, 0x5f10, 0x8fe9, 0x5302, 0x8cd1, 0x8089,
    -    0x8679, 0x5eff, 0x65e5, 0x4e73, 0x5165, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 94 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5982, 0x5c3f, 0x97ee, 0x4efb, 0x598a, 0x5fcd, 0x8a8d, 0x6fe1,
    -    0x79b0, 0x7962, 0x5be7, 0x8471, 0x732b, 0x71b1, 0x5e74, 0x5ff5,
    -    0x637b, 0x649a, 0x71c3, 0x7c98, 0x4e43, 0x5efc, 0x4e4b, 0x57dc,
    -    0x56a2, 0x60a9, 0x6fc3, 0x7d0d, 0x80fd, 0x8133, 0x81bf, 0x8fb2,
    -    0x8997, 0x86a4, 0x5df4, 0x628a, 0x64ad, 0x8987, 0x6777, 0x6ce2,
    -    0x6d3e, 0x7436, 0x7834, 0x5a46, 0x7f75, 0x82ad, 0x99ac, 0x4ff3,
    -    0x5ec3, 0x62dd, 0x6392, 0x6557, 0x676f, 0x76c3, 0x724c, 0x80cc,
    -    0x80ba, 0x8f29, 0x914d, 0x500d, 0x57f9, 0x5a92, 0x6885, 0x003f,
    -    0x6973, 0x7164, 0x72fd, 0x8cb7, 0x58f2, 0x8ce0, 0x966a, 0x9019,
    -    0x877f, 0x79e4, 0x77e7, 0x8429, 0x4f2f, 0x5265, 0x535a, 0x62cd,
    -    0x67cf, 0x6cca, 0x767d, 0x7b94, 0x7c95, 0x8236, 0x8584, 0x8feb,
    -    0x66dd, 0x6f20, 0x7206, 0x7e1b, 0x83ab, 0x99c1, 0x9ea6, 0x51fd,
    -    0x7bb1, 0x7872, 0x7bb8, 0x8087, 0x7b48, 0x6ae8, 0x5e61, 0x808c,
    -    0x7551, 0x7560, 0x516b, 0x9262, 0x6e8c, 0x767a, 0x9197, 0x9aea,
    -    0x4f10, 0x7f70, 0x629c, 0x7b4f, 0x95a5, 0x9ce9, 0x567a, 0x5859,
    -    0x86e4, 0x96bc, 0x4f34, 0x5224, 0x534a, 0x53cd, 0x53db, 0x5e06,
    -    0x642c, 0x6591, 0x677f, 0x6c3e, 0x6c4e, 0x7248, 0x72af, 0x73ed,
    -    0x7554, 0x7e41, 0x822c, 0x85e9, 0x8ca9, 0x7bc4, 0x91c6, 0x7169,
    -    0x9812, 0x98ef, 0x633d, 0x6669, 0x756a, 0x76e4, 0x78d0, 0x8543,
    -    0x86ee, 0x532a, 0x5351, 0x5426, 0x5983, 0x5e87, 0x5f7c, 0x60b2,
    -    0x6249, 0x6279, 0x62ab, 0x6590, 0x6bd4, 0x6ccc, 0x75b2, 0x76ae,
    -    0x7891, 0x79d8, 0x7dcb, 0x7f77, 0x80a5, 0x88ab, 0x8ab9, 0x8cbb,
    -    0x907f, 0x975e, 0x98db, 0x6a0b, 0x7c38, 0x5099, 0x5c3e, 0x5fae,
    -    0x6787, 0x6bd8, 0x7435, 0x7709, 0x7f8e, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 95 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9f3b, 0x67ca, 0x7a17, 0x5339, 0x758b, 0x9aed, 0x5f66, 0x819d,
    -    0x83f1, 0x8098, 0x5f3c, 0x5fc5, 0x7562, 0x7b46, 0x903c, 0x6867,
    -    0x59eb, 0x5a9b, 0x7d10, 0x767e, 0x8b2c, 0x4ff5, 0x5f6a, 0x6a19,
    -    0x6c37, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8a55, 0x8c79, 0x5edf,
    -    0x63cf, 0x75c5, 0x79d2, 0x82d7, 0x9328, 0x92f2, 0x849c, 0x86ed,
    -    0x9c2d, 0x54c1, 0x5f6c, 0x658c, 0x6d5c, 0x7015, 0x8ca7, 0x8cd3,
    -    0x983b, 0x654f, 0x74f6, 0x4e0d, 0x4ed8, 0x57e0, 0x592b, 0x5a66,
    -    0x5bcc, 0x51a8, 0x5e03, 0x5e9c, 0x6016, 0x6276, 0x6577, 0x003f,
    -    0x65a7, 0x666e, 0x6d6e, 0x7236, 0x7b26, 0x8150, 0x819a, 0x8299,
    -    0x8b5c, 0x8ca0, 0x8ce6, 0x8d74, 0x961c, 0x9644, 0x4fae, 0x64ab,
    -    0x6b66, 0x821e, 0x8461, 0x856a, 0x90e8, 0x5c01, 0x6953, 0x98a8,
    -    0x847a, 0x8557, 0x4f0f, 0x526f, 0x5fa9, 0x5e45, 0x670d, 0x798f,
    -    0x8179, 0x8907, 0x8986, 0x6df5, 0x5f17, 0x6255, 0x6cb8, 0x4ecf,
    -    0x7269, 0x9b92, 0x5206, 0x543b, 0x5674, 0x58b3, 0x61a4, 0x626e,
    -    0x711a, 0x596e, 0x7c89, 0x7cde, 0x7d1b, 0x96f0, 0x6587, 0x805e,
    -    0x4e19, 0x4f75, 0x5175, 0x5840, 0x5e63, 0x5e73, 0x5f0a, 0x67c4,
    -    0x4e26, 0x853d, 0x9589, 0x965b, 0x7c73, 0x9801, 0x50fb, 0x58c1,
    -    0x7656, 0x78a7, 0x5225, 0x77a5, 0x8511, 0x7b86, 0x504f, 0x5909,
    -    0x7247, 0x7bc7, 0x7de8, 0x8fba, 0x8fd4, 0x904d, 0x4fbf, 0x52c9,
    -    0x5a29, 0x5f01, 0x97ad, 0x4fdd, 0x8217, 0x92ea, 0x5703, 0x6355,
    -    0x6b69, 0x752b, 0x88dc, 0x8f14, 0x7a42, 0x52df, 0x5893, 0x6155,
    -    0x620a, 0x66ae, 0x6bcd, 0x7c3f, 0x83e9, 0x5023, 0x4ff8, 0x5305,
    -    0x5446, 0x5831, 0x5949, 0x5b9d, 0x5cf0, 0x5cef, 0x5d29, 0x5e96,
    -    0x62b1, 0x6367, 0x653e, 0x65b9, 0x670b, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 96 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6cd5, 0x6ce1, 0x70f9, 0x7832, 0x7e2b, 0x80de, 0x82b3, 0x840c,
    -    0x84ec, 0x8702, 0x8912, 0x8a2a, 0x8c4a, 0x90a6, 0x92d2, 0x98fd,
    -    0x9cf3, 0x9d6c, 0x4e4f, 0x4ea1, 0x508d, 0x5256, 0x574a, 0x59a8,
    -    0x5e3d, 0x5fd8, 0x5fd9, 0x623f, 0x66b4, 0x671b, 0x67d0, 0x68d2,
    -    0x5192, 0x7d21, 0x80aa, 0x81a8, 0x8b00, 0x8c8c, 0x8cbf, 0x927e,
    -    0x9632, 0x5420, 0x982c, 0x5317, 0x50d5, 0x535c, 0x58a8, 0x64b2,
    -    0x6734, 0x7267, 0x7766, 0x7a46, 0x91e6, 0x52c3, 0x6ca1, 0x6b86,
    -    0x5800, 0x5e4c, 0x5954, 0x672c, 0x7ffb, 0x51e1, 0x76c6, 0x003f,
    -    0x6469, 0x78e8, 0x9b54, 0x9ebb, 0x57cb, 0x59b9, 0x6627, 0x679a,
    -    0x6bce, 0x54e9, 0x69d9, 0x5e55, 0x819c, 0x6795, 0x9baa, 0x67fe,
    -    0x9c52, 0x685d, 0x4ea6, 0x4fe3, 0x53c8, 0x62b9, 0x672b, 0x6cab,
    -    0x8fc4, 0x4fad, 0x7e6d, 0x9ebf, 0x4e07, 0x6162, 0x6e80, 0x6f2b,
    -    0x8513, 0x5473, 0x672a, 0x9b45, 0x5df3, 0x7b95, 0x5cac, 0x5bc6,
    -    0x871c, 0x6e4a, 0x84d1, 0x7a14, 0x8108, 0x5999, 0x7c8d, 0x6c11,
    -    0x7720, 0x52d9, 0x5922, 0x7121, 0x725f, 0x77db, 0x9727, 0x9d61,
    -    0x690b, 0x5a7f, 0x5a18, 0x51a5, 0x540d, 0x547d, 0x660e, 0x76df,
    -    0x8ff7, 0x9298, 0x9cf4, 0x59ea, 0x725d, 0x6ec5, 0x514d, 0x68c9,
    -    0x7dbf, 0x7dec, 0x9762, 0x9eba, 0x6478, 0x6a21, 0x8302, 0x5984,
    -    0x5b5f, 0x6bdb, 0x731b, 0x76f2, 0x7db2, 0x8017, 0x8499, 0x5132,
    -    0x6728, 0x9ed9, 0x76ee, 0x6762, 0x52ff, 0x9905, 0x5c24, 0x623b,
    -    0x7c7e, 0x8cb0, 0x554f, 0x60b6, 0x7d0b, 0x9580, 0x5301, 0x4e5f,
    -    0x51b6, 0x591c, 0x723a, 0x8036, 0x91ce, 0x5f25, 0x77e2, 0x5384,
    -    0x5f79, 0x7d04, 0x85ac, 0x8a33, 0x8e8d, 0x9756, 0x67f3, 0x85ae,
    -    0x9453, 0x6109, 0x6108, 0x6cb9, 0x7652, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 97 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8aed, 0x8f38, 0x552f, 0x4f51, 0x512a, 0x52c7, 0x53cb, 0x5ba5,
    -    0x5e7d, 0x60a0, 0x6182, 0x63d6, 0x6709, 0x67da, 0x6e67, 0x6d8c,
    -    0x7336, 0x7337, 0x7531, 0x7950, 0x88d5, 0x8a98, 0x904a, 0x9091,
    -    0x90f5, 0x96c4, 0x878d, 0x5915, 0x4e88, 0x4f59, 0x4e0e, 0x8a89,
    -    0x8f3f, 0x9810, 0x50ad, 0x5e7c, 0x5996, 0x5bb9, 0x5eb8, 0x63da,
    -    0x63fa, 0x64c1, 0x66dc, 0x694a, 0x69d8, 0x6d0b, 0x6eb6, 0x7194,
    -    0x7528, 0x7aaf, 0x7f8a, 0x8000, 0x8449, 0x84c9, 0x8981, 0x8b21,
    -    0x8e0a, 0x9065, 0x967d, 0x990a, 0x617e, 0x6291, 0x6b32, 0x003f,
    -    0x6c83, 0x6d74, 0x7fcc, 0x7ffc, 0x6dc0, 0x7f85, 0x87ba, 0x88f8,
    -    0x6765, 0x83b1, 0x983c, 0x96f7, 0x6d1b, 0x7d61, 0x843d, 0x916a,
    -    0x4e71, 0x5375, 0x5d50, 0x6b04, 0x6feb, 0x85cd, 0x862d, 0x89a7,
    -    0x5229, 0x540f, 0x5c65, 0x674e, 0x68a8, 0x7406, 0x7483, 0x75e2,
    -    0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x9678, 0x5f8b, 0x7387, 0x7acb,
    -    0x844e, 0x63a0, 0x7565, 0x5289, 0x6d41, 0x6e9c, 0x7409, 0x7559,
    -    0x786b, 0x7c92, 0x9686, 0x7adc, 0x9f8d, 0x4fb6, 0x616e, 0x65c5,
    -    0x865c, 0x4e86, 0x4eae, 0x50da, 0x4e21, 0x51cc, 0x5bee, 0x6599,
    -    0x6881, 0x6dbc, 0x731f, 0x7642, 0x77ad, 0x7a1c, 0x7ce7, 0x826f,
    -    0x8ad2, 0x907c, 0x91cf, 0x9675, 0x9818, 0x529b, 0x7dd1, 0x502b,
    -    0x5398, 0x6797, 0x6dcb, 0x71d0, 0x7433, 0x81e8, 0x8f2a, 0x96a3,
    -    0x9c57, 0x9e9f, 0x7460, 0x5841, 0x6d99, 0x7d2f, 0x985e, 0x4ee4,
    -    0x4f36, 0x4f8b, 0x51b7, 0x52b1, 0x5dba, 0x601c, 0x73b2, 0x793c,
    -    0x82d3, 0x9234, 0x96b7, 0x96f6, 0x970a, 0x9e97, 0x9f62, 0x66a6,
    -    0x6b74, 0x5217, 0x52a3, 0x70c8, 0x88c2, 0x5ec9, 0x604b, 0x6190,
    -    0x6f23, 0x7149, 0x7c3e, 0x7df4, 0x806f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 98 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x84ee, 0x9023, 0x932c, 0x5442, 0x9b6f, 0x6ad3, 0x7089, 0x8cc2,
    -    0x8def, 0x9732, 0x52b4, 0x5a41, 0x5eca, 0x5f04, 0x6717, 0x697c,
    -    0x6994, 0x6d6a, 0x6f0f, 0x7262, 0x72fc, 0x7bed, 0x8001, 0x807e,
    -    0x874b, 0x90ce, 0x516d, 0x9e93, 0x7984, 0x808b, 0x9332, 0x8ad6,
    -    0x502d, 0x548c, 0x8a71, 0x6b6a, 0x8cc4, 0x8107, 0x60d1, 0x67a0,
    -    0x9df2, 0x4e99, 0x4e98, 0x9c10, 0x8a6b, 0x85c1, 0x8568, 0x6900,
    -    0x6e7e, 0x7897, 0x8155, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x5f0c,
    -    0x4e10, 0x4e15, 0x4e2a, 0x4e31, 0x4e36, 0x4e3c, 0x4e3f, 0x4e42,
    -    0x4e56, 0x4e58, 0x4e82, 0x4e85, 0x8c6b, 0x4e8a, 0x8212, 0x5f0d,
    -    0x4e8e, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea2, 0x4eb0, 0x4eb3, 0x4eb6,
    -    0x4ece, 0x4ecd, 0x4ec4, 0x4ec6, 0x4ec2, 0x4ed7, 0x4ede, 0x4eed,
    -    0x4edf, 0x4ef7, 0x4f09, 0x4f5a, 0x4f30, 0x4f5b, 0x4f5d, 0x4f57,
    -    0x4f47, 0x4f76, 0x4f88, 0x4f8f, 0x4f98, 0x4f7b, 0x4f69, 0x4f70,
    -    0x4f91, 0x4f6f, 0x4f86, 0x4f96, 0x5118, 0x4fd4, 0x4fdf, 0x4fce,
    -    0x4fd8, 0x4fdb, 0x4fd1, 0x4fda, 0x4fd0, 0x4fe4, 0x4fe5, 0x501a,
    -    0x5028, 0x5014, 0x502a, 0x5025, 0x5005, 0x4f1c, 0x4ff6, 0x5021,
    -    0x5029, 0x502c, 0x4ffe, 0x4fef, 0x5011, 0x5006, 0x5043, 0x5047,
    -    0x6703, 0x5055, 0x5050, 0x5048, 0x505a, 0x5056, 0x506c, 0x5078,
    -    0x5080, 0x509a, 0x5085, 0x50b4, 0x50b2, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 99 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x50c9, 0x50ca, 0x50b3, 0x50c2, 0x50d6, 0x50de, 0x50e5, 0x50ed,
    -    0x50e3, 0x50ee, 0x50f9, 0x50f5, 0x5109, 0x5101, 0x5102, 0x5116,
    -    0x5115, 0x5114, 0x511a, 0x5121, 0x513a, 0x5137, 0x513c, 0x513b,
    -    0x513f, 0x5140, 0x5152, 0x514c, 0x5154, 0x5162, 0x7af8, 0x5169,
    -    0x516a, 0x516e, 0x5180, 0x5182, 0x56d8, 0x518c, 0x5189, 0x518f,
    -    0x5191, 0x5193, 0x5195, 0x5196, 0x51a4, 0x51a6, 0x51a2, 0x51a9,
    -    0x51aa, 0x51ab, 0x51b3, 0x51b1, 0x51b2, 0x51b0, 0x51b5, 0x51bd,
    -    0x51c5, 0x51c9, 0x51db, 0x51e0, 0x8655, 0x51e9, 0x51ed, 0x003f,
    -    0x51f0, 0x51f5, 0x51fe, 0x5204, 0x520b, 0x5214, 0x520e, 0x5227,
    -    0x522a, 0x522e, 0x5233, 0x5239, 0x524f, 0x5244, 0x524b, 0x524c,
    -    0x525e, 0x5254, 0x526a, 0x5274, 0x5269, 0x5273, 0x527f, 0x527d,
    -    0x528d, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8fa8, 0x8fa7,
    -    0x52ac, 0x52ad, 0x52bc, 0x52b5, 0x52c1, 0x52cd, 0x52d7, 0x52de,
    -    0x52e3, 0x52e6, 0x98ed, 0x52e0, 0x52f3, 0x52f5, 0x52f8, 0x52f9,
    -    0x5306, 0x5308, 0x7538, 0x530d, 0x5310, 0x530f, 0x5315, 0x531a,
    -    0x5323, 0x532f, 0x5331, 0x5333, 0x5338, 0x5340, 0x5346, 0x5345,
    -    0x4e17, 0x5349, 0x534d, 0x51d6, 0x535e, 0x5369, 0x536e, 0x5918,
    -    0x537b, 0x5377, 0x5382, 0x5396, 0x53a0, 0x53a6, 0x53a5, 0x53ae,
    -    0x53b0, 0x53b6, 0x53c3, 0x7c12, 0x96d9, 0x53df, 0x66fc, 0x71ee,
    -    0x53ee, 0x53e8, 0x53ed, 0x53fa, 0x5401, 0x543d, 0x5440, 0x542c,
    -    0x542d, 0x543c, 0x542e, 0x5436, 0x5429, 0x541d, 0x544e, 0x548f,
    -    0x5475, 0x548e, 0x545f, 0x5471, 0x5477, 0x5470, 0x5492, 0x547b,
    -    0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54c7, 0x54a2, 0x54b8,
    -    0x54a5, 0x54ac, 0x54c4, 0x54c8, 0x54a8, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 9a */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x54ab, 0x54c2, 0x54a4, 0x54be, 0x54bc, 0x54d8, 0x54e5, 0x54e6,
    -    0x550f, 0x5514, 0x54fd, 0x54ee, 0x54ed, 0x54fa, 0x54e2, 0x5539,
    -    0x5540, 0x5563, 0x554c, 0x552e, 0x555c, 0x5545, 0x5556, 0x5557,
    -    0x5538, 0x5533, 0x555d, 0x5599, 0x5580, 0x54af, 0x558a, 0x559f,
    -    0x557b, 0x557e, 0x5598, 0x559e, 0x55ae, 0x557c, 0x5583, 0x55a9,
    -    0x5587, 0x55a8, 0x55da, 0x55c5, 0x55df, 0x55c4, 0x55dc, 0x55e4,
    -    0x55d4, 0x5614, 0x55f7, 0x5616, 0x55fe, 0x55fd, 0x561b, 0x55f9,
    -    0x564e, 0x5650, 0x71df, 0x5634, 0x5636, 0x5632, 0x5638, 0x003f,
    -    0x566b, 0x5664, 0x562f, 0x566c, 0x566a, 0x5686, 0x5680, 0x568a,
    -    0x56a0, 0x5694, 0x568f, 0x56a5, 0x56ae, 0x56b6, 0x56b4, 0x56c2,
    -    0x56bc, 0x56c1, 0x56c3, 0x56c0, 0x56c8, 0x56ce, 0x56d1, 0x56d3,
    -    0x56d7, 0x56ee, 0x56f9, 0x5700, 0x56ff, 0x5704, 0x5709, 0x5708,
    -    0x570b, 0x570d, 0x5713, 0x5718, 0x5716, 0x55c7, 0x571c, 0x5726,
    -    0x5737, 0x5738, 0x574e, 0x573b, 0x5740, 0x574f, 0x5769, 0x57c0,
    -    0x5788, 0x5761, 0x577f, 0x5789, 0x5793, 0x57a0, 0x57b3, 0x57a4,
    -    0x57aa, 0x57b0, 0x57c3, 0x57c6, 0x57d4, 0x57d2, 0x57d3, 0x580a,
    -    0x57d6, 0x57e3, 0x580b, 0x5819, 0x581d, 0x5872, 0x5821, 0x5862,
    -    0x584b, 0x5870, 0x6bc0, 0x5852, 0x583d, 0x5879, 0x5885, 0x58b9,
    -    0x589f, 0x58ab, 0x58ba, 0x58de, 0x58bb, 0x58b8, 0x58ae, 0x58c5,
    -    0x58d3, 0x58d1, 0x58d7, 0x58d9, 0x58d8, 0x58e5, 0x58dc, 0x58e4,
    -    0x58df, 0x58ef, 0x58fa, 0x58f9, 0x58fb, 0x58fc, 0x58fd, 0x5902,
    -    0x590a, 0x5910, 0x591b, 0x68a6, 0x5925, 0x592c, 0x592d, 0x5932,
    -    0x5938, 0x593e, 0x7ad2, 0x5955, 0x5950, 0x594e, 0x595a, 0x5958,
    -    0x5962, 0x5960, 0x5967, 0x596c, 0x5969, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 9b */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5978, 0x5981, 0x599d, 0x4f5e, 0x4fab, 0x59a3, 0x59b2, 0x59c6,
    -    0x59e8, 0x59dc, 0x598d, 0x59d9, 0x59da, 0x5a25, 0x5a1f, 0x5a11,
    -    0x5a1c, 0x5a09, 0x5a1a, 0x5a40, 0x5a6c, 0x5a49, 0x5a35, 0x5a36,
    -    0x5a62, 0x5a6a, 0x5a9a, 0x5abc, 0x5abe, 0x5acb, 0x5ac2, 0x5abd,
    -    0x5ae3, 0x5ad7, 0x5ae6, 0x5ae9, 0x5ad6, 0x5afa, 0x5afb, 0x5b0c,
    -    0x5b0b, 0x5b16, 0x5b32, 0x5ad0, 0x5b2a, 0x5b36, 0x5b3e, 0x5b43,
    -    0x5b45, 0x5b40, 0x5b51, 0x5b55, 0x5b5a, 0x5b5b, 0x5b65, 0x5b69,
    -    0x5b70, 0x5b73, 0x5b75, 0x5b78, 0x6588, 0x5b7a, 0x5b80, 0x003f,
    -    0x5b83, 0x5ba6, 0x5bb8, 0x5bc3, 0x5bc7, 0x5bc9, 0x5bd4, 0x5bd0,
    -    0x5be4, 0x5be6, 0x5be2, 0x5bde, 0x5be5, 0x5beb, 0x5bf0, 0x5bf6,
    -    0x5bf3, 0x5c05, 0x5c07, 0x5c08, 0x5c0d, 0x5c13, 0x5c20, 0x5c22,
    -    0x5c28, 0x5c38, 0x5c39, 0x5c41, 0x5c46, 0x5c4e, 0x5c53, 0x5c50,
    -    0x5c4f, 0x5b71, 0x5c6c, 0x5c6e, 0x4e62, 0x5c76, 0x5c79, 0x5c8c,
    -    0x5c91, 0x5c94, 0x599b, 0x5cab, 0x5cbb, 0x5cb6, 0x5cbc, 0x5cb7,
    -    0x5cc5, 0x5cbe, 0x5cc7, 0x5cd9, 0x5ce9, 0x5cfd, 0x5cfa, 0x5ced,
    -    0x5d8c, 0x5cea, 0x5d0b, 0x5d15, 0x5d17, 0x5d5c, 0x5d1f, 0x5d1b,
    -    0x5d11, 0x5d14, 0x5d22, 0x5d1a, 0x5d19, 0x5d18, 0x5d4c, 0x5d52,
    -    0x5d4e, 0x5d4b, 0x5d6c, 0x5d73, 0x5d76, 0x5d87, 0x5d84, 0x5d82,
    -    0x5da2, 0x5d9d, 0x5dac, 0x5dae, 0x5dbd, 0x5d90, 0x5db7, 0x5dbc,
    -    0x5dc9, 0x5dcd, 0x5dd3, 0x5dd2, 0x5dd6, 0x5ddb, 0x5deb, 0x5df2,
    -    0x5df5, 0x5e0b, 0x5e1a, 0x5e19, 0x5e11, 0x5e1b, 0x5e36, 0x5e37,
    -    0x5e44, 0x5e43, 0x5e40, 0x5e4e, 0x5e57, 0x5e54, 0x5e5f, 0x5e62,
    -    0x5e64, 0x5e47, 0x5e75, 0x5e76, 0x5e7a, 0x9ebc, 0x5e7f, 0x5ea0,
    -    0x5ec1, 0x5ec2, 0x5ec8, 0x5ed0, 0x5ecf, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 9c */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5ed6, 0x5ee3, 0x5edd, 0x5eda, 0x5edb, 0x5ee2, 0x5ee1, 0x5ee8,
    -    0x5ee9, 0x5eec, 0x5ef1, 0x5ef3, 0x5ef0, 0x5ef4, 0x5ef8, 0x5efe,
    -    0x5f03, 0x5f09, 0x5f5d, 0x5f5c, 0x5f0b, 0x5f11, 0x5f16, 0x5f29,
    -    0x5f2d, 0x5f38, 0x5f41, 0x5f48, 0x5f4c, 0x5f4e, 0x5f2f, 0x5f51,
    -    0x5f56, 0x5f57, 0x5f59, 0x5f61, 0x5f6d, 0x5f73, 0x5f77, 0x5f83,
    -    0x5f82, 0x5f7f, 0x5f8a, 0x5f88, 0x5f91, 0x5f87, 0x5f9e, 0x5f99,
    -    0x5f98, 0x5fa0, 0x5fa8, 0x5fad, 0x5fbc, 0x5fd6, 0x5ffb, 0x5fe4,
    -    0x5ff8, 0x5ff1, 0x5fdd, 0x60b3, 0x5fff, 0x6021, 0x6060, 0x003f,
    -    0x6019, 0x6010, 0x6029, 0x600e, 0x6031, 0x601b, 0x6015, 0x602b,
    -    0x6026, 0x600f, 0x603a, 0x605a, 0x6041, 0x606a, 0x6077, 0x605f,
    -    0x604a, 0x6046, 0x604d, 0x6063, 0x6043, 0x6064, 0x6042, 0x606c,
    -    0x606b, 0x6059, 0x6081, 0x608d, 0x60e7, 0x6083, 0x609a, 0x6084,
    -    0x609b, 0x6096, 0x6097, 0x6092, 0x60a7, 0x608b, 0x60e1, 0x60b8,
    -    0x60e0, 0x60d3, 0x60b4, 0x5ff0, 0x60bd, 0x60c6, 0x60b5, 0x60d8,
    -    0x614d, 0x6115, 0x6106, 0x60f6, 0x60f7, 0x6100, 0x60f4, 0x60fa,
    -    0x6103, 0x6121, 0x60fb, 0x60f1, 0x610d, 0x610e, 0x6147, 0x613e,
    -    0x6128, 0x6127, 0x614a, 0x613f, 0x613c, 0x612c, 0x6134, 0x613d,
    -    0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159, 0x615a, 0x616b,
    -    0x6174, 0x616f, 0x6165, 0x6171, 0x615f, 0x615d, 0x6153, 0x6175,
    -    0x6199, 0x6196, 0x6187, 0x61ac, 0x6194, 0x619a, 0x618a, 0x6191,
    -    0x61ab, 0x61ae, 0x61cc, 0x61ca, 0x61c9, 0x61f7, 0x61c8, 0x61c3,
    -    0x61c6, 0x61ba, 0x61cb, 0x7f79, 0x61cd, 0x61e6, 0x61e3, 0x61f6,
    -    0x61fa, 0x61f4, 0x61ff, 0x61fd, 0x61fc, 0x61fe, 0x6200, 0x6208,
    -    0x6209, 0x620d, 0x620c, 0x6214, 0x621b, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 9d */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x621e, 0x6221, 0x622a, 0x622e, 0x6230, 0x6232, 0x6233, 0x6241,
    -    0x624e, 0x625e, 0x6263, 0x625b, 0x6260, 0x6268, 0x627c, 0x6282,
    -    0x6289, 0x627e, 0x6292, 0x6293, 0x6296, 0x62d4, 0x6283, 0x6294,
    -    0x62d7, 0x62d1, 0x62bb, 0x62cf, 0x62ff, 0x62c6, 0x64d4, 0x62c8,
    -    0x62dc, 0x62cc, 0x62ca, 0x62c2, 0x62c7, 0x629b, 0x62c9, 0x630c,
    -    0x62ee, 0x62f1, 0x6327, 0x6302, 0x6308, 0x62ef, 0x62f5, 0x6350,
    -    0x633e, 0x634d, 0x641c, 0x634f, 0x6396, 0x638e, 0x6380, 0x63ab,
    -    0x6376, 0x63a3, 0x638f, 0x6389, 0x639f, 0x63b5, 0x636b, 0x003f,
    -    0x6369, 0x63be, 0x63e9, 0x63c0, 0x63c6, 0x63e3, 0x63c9, 0x63d2,
    -    0x63f6, 0x63c4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436,
    -    0x651d, 0x6417, 0x6428, 0x640f, 0x6467, 0x646f, 0x6476, 0x644e,
    -    0x652a, 0x6495, 0x6493, 0x64a5, 0x64a9, 0x6488, 0x64bc, 0x64da,
    -    0x64d2, 0x64c5, 0x64c7, 0x64bb, 0x64d8, 0x64c2, 0x64f1, 0x64e7,
    -    0x8209, 0x64e0, 0x64e1, 0x62ac, 0x64e3, 0x64ef, 0x652c, 0x64f6,
    -    0x64f4, 0x64f2, 0x64fa, 0x6500, 0x64fd, 0x6518, 0x651c, 0x6505,
    -    0x6524, 0x6523, 0x652b, 0x6534, 0x6535, 0x6537, 0x6536, 0x6538,
    -    0x754b, 0x6548, 0x6556, 0x6555, 0x654d, 0x6558, 0x655e, 0x655d,
    -    0x6572, 0x6578, 0x6582, 0x6583, 0x8b8a, 0x659b, 0x659f, 0x65ab,
    -    0x65b7, 0x65c3, 0x65c6, 0x65c1, 0x65c4, 0x65cc, 0x65d2, 0x65db,
    -    0x65d9, 0x65e0, 0x65e1, 0x65f1, 0x6772, 0x660a, 0x6603, 0x65fb,
    -    0x6773, 0x6635, 0x6636, 0x6634, 0x661c, 0x664f, 0x6644, 0x6649,
    -    0x6641, 0x665e, 0x665d, 0x6664, 0x6667, 0x6668, 0x665f, 0x6662,
    -    0x6670, 0x6683, 0x6688, 0x668e, 0x6689, 0x6684, 0x6698, 0x669d,
    -    0x66c1, 0x66b9, 0x66c9, 0x66be, 0x66bc, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 9e */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x66c4, 0x66b8, 0x66d6, 0x66da, 0x66e0, 0x663f, 0x66e6, 0x66e9,
    -    0x66f0, 0x66f5, 0x66f7, 0x670f, 0x6716, 0x671e, 0x6726, 0x6727,
    -    0x9738, 0x672e, 0x673f, 0x6736, 0x6741, 0x6738, 0x6737, 0x6746,
    -    0x675e, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770, 0x67a9,
    -    0x677c, 0x676a, 0x678c, 0x678b, 0x67a6, 0x67a1, 0x6785, 0x67b7,
    -    0x67ef, 0x67b4, 0x67ec, 0x67b3, 0x67e9, 0x67b8, 0x67e4, 0x67de,
    -    0x67dd, 0x67e2, 0x67ee, 0x67b9, 0x67ce, 0x67c6, 0x67e7, 0x6a9c,
    -    0x681e, 0x6846, 0x6829, 0x6840, 0x684d, 0x6832, 0x684e, 0x003f,
    -    0x68b3, 0x682b, 0x6859, 0x6863, 0x6877, 0x687f, 0x689f, 0x688f,
    -    0x68ad, 0x6894, 0x689d, 0x689b, 0x6883, 0x6aae, 0x68b9, 0x6874,
    -    0x68b5, 0x68a0, 0x68ba, 0x690f, 0x688d, 0x687e, 0x6901, 0x68ca,
    -    0x6908, 0x68d8, 0x6922, 0x6926, 0x68e1, 0x690c, 0x68cd, 0x68d4,
    -    0x68e7, 0x68d5, 0x6936, 0x6912, 0x6904, 0x68d7, 0x68e3, 0x6925,
    -    0x68f9, 0x68e0, 0x68ef, 0x6928, 0x692a, 0x691a, 0x6923, 0x6921,
    -    0x68c6, 0x6979, 0x6977, 0x695c, 0x6978, 0x696b, 0x6954, 0x697e,
    -    0x696e, 0x6939, 0x6974, 0x693d, 0x6959, 0x6930, 0x6961, 0x695e,
    -    0x695d, 0x6981, 0x696a, 0x69b2, 0x69ae, 0x69d0, 0x69bf, 0x69c1,
    -    0x69d3, 0x69be, 0x69ce, 0x5be8, 0x69ca, 0x69dd, 0x69bb, 0x69c3,
    -    0x69a7, 0x6a2e, 0x6991, 0x69a0, 0x699c, 0x6995, 0x69b4, 0x69de,
    -    0x69e8, 0x6a02, 0x6a1b, 0x69ff, 0x6b0a, 0x69f9, 0x69f2, 0x69e7,
    -    0x6a05, 0x69b1, 0x6a1e, 0x69ed, 0x6a14, 0x69eb, 0x6a0a, 0x6a12,
    -    0x6ac1, 0x6a23, 0x6a13, 0x6a44, 0x6a0c, 0x6a72, 0x6a36, 0x6a78,
    -    0x6a47, 0x6a62, 0x6a59, 0x6a66, 0x6a48, 0x6a38, 0x6a22, 0x6a90,
    -    0x6a8d, 0x6aa0, 0x6a84, 0x6aa2, 0x6aa3, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 9f */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6a97, 0x8617, 0x6abb, 0x6ac3, 0x6ac2, 0x6ab8, 0x6ab3, 0x6aac,
    -    0x6ade, 0x6ad1, 0x6adf, 0x6aaa, 0x6ada, 0x6aea, 0x6afb, 0x6b05,
    -    0x8616, 0x6afa, 0x6b12, 0x6b16, 0x9b31, 0x6b1f, 0x6b38, 0x6b37,
    -    0x76dc, 0x6b39, 0x98ee, 0x6b47, 0x6b43, 0x6b49, 0x6b50, 0x6b59,
    -    0x6b54, 0x6b5b, 0x6b5f, 0x6b61, 0x6b78, 0x6b79, 0x6b7f, 0x6b80,
    -    0x6b84, 0x6b83, 0x6b8d, 0x6b98, 0x6b95, 0x6b9e, 0x6ba4, 0x6baa,
    -    0x6bab, 0x6baf, 0x6bb2, 0x6bb1, 0x6bb3, 0x6bb7, 0x6bbc, 0x6bc6,
    -    0x6bcb, 0x6bd3, 0x6bdf, 0x6bec, 0x6beb, 0x6bf3, 0x6bef, 0x003f,
    -    0x9ebe, 0x6c08, 0x6c13, 0x6c14, 0x6c1b, 0x6c24, 0x6c23, 0x6c5e,
    -    0x6c55, 0x6c62, 0x6c6a, 0x6c82, 0x6c8d, 0x6c9a, 0x6c81, 0x6c9b,
    -    0x6c7e, 0x6c68, 0x6c73, 0x6c92, 0x6c90, 0x6cc4, 0x6cf1, 0x6cd3,
    -    0x6cbd, 0x6cd7, 0x6cc5, 0x6cdd, 0x6cae, 0x6cb1, 0x6cbe, 0x6cba,
    -    0x6cdb, 0x6cef, 0x6cd9, 0x6cea, 0x6d1f, 0x884d, 0x6d36, 0x6d2b,
    -    0x6d3d, 0x6d38, 0x6d19, 0x6d35, 0x6d33, 0x6d12, 0x6d0c, 0x6d63,
    -    0x6d93, 0x6d64, 0x6d5a, 0x6d79, 0x6d59, 0x6d8e, 0x6d95, 0x6fe4,
    -    0x6d85, 0x6df9, 0x6e15, 0x6e0a, 0x6db5, 0x6dc7, 0x6de6, 0x6db8,
    -    0x6dc6, 0x6dec, 0x6dde, 0x6dcc, 0x6de8, 0x6dd2, 0x6dc5, 0x6dfa,
    -    0x6dd9, 0x6de4, 0x6dd5, 0x6dea, 0x6dee, 0x6e2d, 0x6e6e, 0x6e2e,
    -    0x6e19, 0x6e72, 0x6e5f, 0x6e3e, 0x6e23, 0x6e6b, 0x6e2b, 0x6e76,
    -    0x6e4d, 0x6e1f, 0x6e43, 0x6e3a, 0x6e4e, 0x6e24, 0x6eff, 0x6e1d,
    -    0x6e38, 0x6e82, 0x6eaa, 0x6e98, 0x6ec9, 0x6eb7, 0x6ed3, 0x6ebd,
    -    0x6eaf, 0x6ec4, 0x6eb2, 0x6ed4, 0x6ed5, 0x6e8f, 0x6ea5, 0x6ec2,
    -    0x6e9f, 0x6f41, 0x6f11, 0x704c, 0x6eec, 0x6ef8, 0x6efe, 0x6f3f,
    -    0x6ef2, 0x6f31, 0x6eef, 0x6f32, 0x6ecc, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6f3e, 0x6f13, 0x6ef7, 0x6f86, 0x6f7a, 0x6f78, 0x6f81, 0x6f80,
    -    0x6f6f, 0x6f5b, 0x6ff3, 0x6f6d, 0x6f82, 0x6f7c, 0x6f58, 0x6f8e,
    -    0x6f91, 0x6fc2, 0x6f66, 0x6fb3, 0x6fa3, 0x6fa1, 0x6fa4, 0x6fb9,
    -    0x6fc6, 0x6faa, 0x6fdf, 0x6fd5, 0x6fec, 0x6fd4, 0x6fd8, 0x6ff1,
    -    0x6fee, 0x6fdb, 0x7009, 0x700b, 0x6ffa, 0x7011, 0x7001, 0x700f,
    -    0x6ffe, 0x701b, 0x701a, 0x6f74, 0x701d, 0x7018, 0x701f, 0x7030,
    -    0x703e, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70af, 0x70f1,
    -    0x70ac, 0x70b8, 0x70b3, 0x70ae, 0x70df, 0x70cb, 0x70dd, 0x003f,
    -    0x70d9, 0x7109, 0x70fd, 0x711c, 0x7119, 0x7165, 0x7155, 0x7188,
    -    0x7166, 0x7162, 0x714c, 0x7156, 0x716c, 0x718f, 0x71fb, 0x7184,
    -    0x7195, 0x71a8, 0x71ac, 0x71d7, 0x71b9, 0x71be, 0x71d2, 0x71c9,
    -    0x71d4, 0x71ce, 0x71e0, 0x71ec, 0x71e7, 0x71f5, 0x71fc, 0x71f9,
    -    0x71ff, 0x720d, 0x7210, 0x721b, 0x7228, 0x722d, 0x722c, 0x7230,
    -    0x7232, 0x723b, 0x723c, 0x723f, 0x7240, 0x7246, 0x724b, 0x7258,
    -    0x7274, 0x727e, 0x7282, 0x7281, 0x7287, 0x7292, 0x7296, 0x72a2,
    -    0x72a7, 0x72b9, 0x72b2, 0x72c3, 0x72c6, 0x72c4, 0x72ce, 0x72d2,
    -    0x72e2, 0x72e0, 0x72e1, 0x72f9, 0x72f7, 0x500f, 0x7317, 0x730a,
    -    0x731c, 0x7316, 0x731d, 0x7334, 0x732f, 0x7329, 0x7325, 0x733e,
    -    0x734e, 0x734f, 0x9ed8, 0x7357, 0x736a, 0x7368, 0x7370, 0x7378,
    -    0x7375, 0x737b, 0x737a, 0x73c8, 0x73b3, 0x73ce, 0x73bb, 0x73c0,
    -    0x73e5, 0x73ee, 0x73de, 0x74a2, 0x7405, 0x746f, 0x7425, 0x73f8,
    -    0x7432, 0x743a, 0x7455, 0x743f, 0x745f, 0x7459, 0x7441, 0x745c,
    -    0x7469, 0x7470, 0x7463, 0x746a, 0x7476, 0x747e, 0x748b, 0x749e,
    -    0x74a7, 0x74ca, 0x74cf, 0x74d4, 0x73f1, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x74e0, 0x74e3, 0x74e7, 0x74e9, 0x74ee, 0x74f2, 0x74f0, 0x74f1,
    -    0x74f8, 0x74f7, 0x7504, 0x7503, 0x7505, 0x750c, 0x750e, 0x750d,
    -    0x7515, 0x7513, 0x751e, 0x7526, 0x752c, 0x753c, 0x7544, 0x754d,
    -    0x754a, 0x7549, 0x755b, 0x7546, 0x755a, 0x7569, 0x7564, 0x7567,
    -    0x756b, 0x756d, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574, 0x758a,
    -    0x7589, 0x7582, 0x7594, 0x759a, 0x759d, 0x75a5, 0x75a3, 0x75c2,
    -    0x75b3, 0x75c3, 0x75b5, 0x75bd, 0x75b8, 0x75bc, 0x75b1, 0x75cd,
    -    0x75ca, 0x75d2, 0x75d9, 0x75e3, 0x75de, 0x75fe, 0x75ff, 0x003f,
    -    0x75fc, 0x7601, 0x75f0, 0x75fa, 0x75f2, 0x75f3, 0x760b, 0x760d,
    -    0x7609, 0x761f, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634,
    -    0x7630, 0x763b, 0x7647, 0x7648, 0x7646, 0x765c, 0x7658, 0x7661,
    -    0x7662, 0x7668, 0x7669, 0x766a, 0x7667, 0x766c, 0x7670, 0x7672,
    -    0x7676, 0x7678, 0x767c, 0x7680, 0x7683, 0x7688, 0x768b, 0x768e,
    -    0x7696, 0x7693, 0x7699, 0x769a, 0x76b0, 0x76b4, 0x76b8, 0x76b9,
    -    0x76ba, 0x76c2, 0x76cd, 0x76d6, 0x76d2, 0x76de, 0x76e1, 0x76e5,
    -    0x76e7, 0x76ea, 0x862f, 0x76fb, 0x7708, 0x7707, 0x7704, 0x7729,
    -    0x7724, 0x771e, 0x7725, 0x7726, 0x771b, 0x7737, 0x7738, 0x7747,
    -    0x775a, 0x7768, 0x776b, 0x775b, 0x7765, 0x777f, 0x777e, 0x7779,
    -    0x778e, 0x778b, 0x7791, 0x77a0, 0x779e, 0x77b0, 0x77b6, 0x77b9,
    -    0x77bf, 0x77bc, 0x77bd, 0x77bb, 0x77c7, 0x77cd, 0x77d7, 0x77da,
    -    0x77dc, 0x77e3, 0x77ee, 0x77fc, 0x780c, 0x7812, 0x7926, 0x7820,
    -    0x792a, 0x7845, 0x788e, 0x7874, 0x7886, 0x787c, 0x789a, 0x788c,
    -    0x78a3, 0x78b5, 0x78aa, 0x78af, 0x78d1, 0x78c6, 0x78cb, 0x78d4,
    -    0x78be, 0x78bc, 0x78c5, 0x78ca, 0x78ec, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x78e7, 0x78da, 0x78fd, 0x78f4, 0x7907, 0x7912, 0x7911, 0x7919,
    -    0x792c, 0x792b, 0x7940, 0x7960, 0x7957, 0x795f, 0x795a, 0x7955,
    -    0x7953, 0x797a, 0x797f, 0x798a, 0x799d, 0x79a7, 0x9f4b, 0x79aa,
    -    0x79ae, 0x79b3, 0x79b9, 0x79ba, 0x79c9, 0x79d5, 0x79e7, 0x79ec,
    -    0x79e1, 0x79e3, 0x7a08, 0x7a0d, 0x7a18, 0x7a19, 0x7a20, 0x7a1f,
    -    0x7980, 0x7a31, 0x7a3b, 0x7a3e, 0x7a37, 0x7a43, 0x7a57, 0x7a49,
    -    0x7a61, 0x7a62, 0x7a69, 0x9f9d, 0x7a70, 0x7a79, 0x7a7d, 0x7a88,
    -    0x7a97, 0x7a95, 0x7a98, 0x7a96, 0x7aa9, 0x7ac8, 0x7ab0, 0x003f,
    -    0x7ab6, 0x7ac5, 0x7ac4, 0x7abf, 0x9083, 0x7ac7, 0x7aca, 0x7acd,
    -    0x7acf, 0x7ad5, 0x7ad3, 0x7ad9, 0x7ada, 0x7add, 0x7ae1, 0x7ae2,
    -    0x7ae6, 0x7aed, 0x7af0, 0x7b02, 0x7b0f, 0x7b0a, 0x7b06, 0x7b33,
    -    0x7b18, 0x7b19, 0x7b1e, 0x7b35, 0x7b28, 0x7b36, 0x7b50, 0x7b7a,
    -    0x7b04, 0x7b4d, 0x7b0b, 0x7b4c, 0x7b45, 0x7b75, 0x7b65, 0x7b74,
    -    0x7b67, 0x7b70, 0x7b71, 0x7b6c, 0x7b6e, 0x7b9d, 0x7b98, 0x7b9f,
    -    0x7b8d, 0x7b9c, 0x7b9a, 0x7b8b, 0x7b92, 0x7b8f, 0x7b5d, 0x7b99,
    -    0x7bcb, 0x7bc1, 0x7bcc, 0x7bcf, 0x7bb4, 0x7bc6, 0x7bdd, 0x7be9,
    -    0x7c11, 0x7c14, 0x7be6, 0x7be5, 0x7c60, 0x7c00, 0x7c07, 0x7c13,
    -    0x7bf3, 0x7bf7, 0x7c17, 0x7c0d, 0x7bf6, 0x7c23, 0x7c27, 0x7c2a,
    -    0x7c1f, 0x7c37, 0x7c2b, 0x7c3d, 0x7c4c, 0x7c43, 0x7c54, 0x7c4f,
    -    0x7c40, 0x7c50, 0x7c58, 0x7c5f, 0x7c64, 0x7c56, 0x7c65, 0x7c6c,
    -    0x7c75, 0x7c83, 0x7c90, 0x7ca4, 0x7cad, 0x7ca2, 0x7cab, 0x7ca1,
    -    0x7ca8, 0x7cb3, 0x7cb2, 0x7cb1, 0x7cae, 0x7cb9, 0x7cbd, 0x7cc0,
    -    0x7cc5, 0x7cc2, 0x7cd8, 0x7cd2, 0x7cdc, 0x7ce2, 0x9b3b, 0x7cef,
    -    0x7cf2, 0x7cf4, 0x7cf6, 0x7cfa, 0x7d06, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7d02, 0x7d1c, 0x7d15, 0x7d0a, 0x7d45, 0x7d4b, 0x7d2e, 0x7d32,
    -    0x7d3f, 0x7d35, 0x7d46, 0x7d73, 0x7d56, 0x7d4e, 0x7d72, 0x7d68,
    -    0x7d6e, 0x7d4f, 0x7d63, 0x7d93, 0x7d89, 0x7d5b, 0x7d8f, 0x7d7d,
    -    0x7d9b, 0x7dba, 0x7dae, 0x7da3, 0x7db5, 0x7dc7, 0x7dbd, 0x7dab,
    -    0x7e3d, 0x7da2, 0x7daf, 0x7ddc, 0x7db8, 0x7d9f, 0x7db0, 0x7dd8,
    -    0x7ddd, 0x7de4, 0x7dde, 0x7dfb, 0x7df2, 0x7de1, 0x7e05, 0x7e0a,
    -    0x7e23, 0x7e21, 0x7e12, 0x7e31, 0x7e1f, 0x7e09, 0x7e0b, 0x7e22,
    -    0x7e46, 0x7e66, 0x7e3b, 0x7e35, 0x7e39, 0x7e43, 0x7e37, 0x003f,
    -    0x7e32, 0x7e3a, 0x7e67, 0x7e5d, 0x7e56, 0x7e5e, 0x7e59, 0x7e5a,
    -    0x7e79, 0x7e6a, 0x7e69, 0x7e7c, 0x7e7b, 0x7e83, 0x7dd5, 0x7e7d,
    -    0x8fae, 0x7e7f, 0x7e88, 0x7e89, 0x7e8c, 0x7e92, 0x7e90, 0x7e93,
    -    0x7e94, 0x7e96, 0x7e8e, 0x7e9b, 0x7e9c, 0x7f38, 0x7f3a, 0x7f45,
    -    0x7f4c, 0x7f4d, 0x7f4e, 0x7f50, 0x7f51, 0x7f55, 0x7f54, 0x7f58,
    -    0x7f5f, 0x7f60, 0x7f68, 0x7f69, 0x7f67, 0x7f78, 0x7f82, 0x7f86,
    -    0x7f83, 0x7f88, 0x7f87, 0x7f8c, 0x7f94, 0x7f9e, 0x7f9d, 0x7f9a,
    -    0x7fa3, 0x7faf, 0x7fb2, 0x7fb9, 0x7fae, 0x7fb6, 0x7fb8, 0x8b71,
    -    0x7fc5, 0x7fc6, 0x7fca, 0x7fd5, 0x7fd4, 0x7fe1, 0x7fe6, 0x7fe9,
    -    0x7ff3, 0x7ff9, 0x98dc, 0x8006, 0x8004, 0x800b, 0x8012, 0x8018,
    -    0x8019, 0x801c, 0x8021, 0x8028, 0x803f, 0x803b, 0x804a, 0x8046,
    -    0x8052, 0x8058, 0x805a, 0x805f, 0x8062, 0x8068, 0x8073, 0x8072,
    -    0x8070, 0x8076, 0x8079, 0x807d, 0x807f, 0x8084, 0x8086, 0x8085,
    -    0x809b, 0x8093, 0x809a, 0x80ad, 0x5190, 0x80ac, 0x80db, 0x80e5,
    -    0x80d9, 0x80dd, 0x80c4, 0x80da, 0x80d6, 0x8109, 0x80ef, 0x80f1,
    -    0x811b, 0x8129, 0x8123, 0x812f, 0x814b, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x968b, 0x8146, 0x813e, 0x8153, 0x8151, 0x80fc, 0x8171, 0x816e,
    -    0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818a, 0x8180, 0x8182,
    -    0x81a0, 0x8195, 0x81a4, 0x81a3, 0x815f, 0x8193, 0x81a9, 0x81b0,
    -    0x81b5, 0x81be, 0x81b8, 0x81bd, 0x81c0, 0x81c2, 0x81ba, 0x81c9,
    -    0x81cd, 0x81d1, 0x81d9, 0x81d8, 0x81c8, 0x81da, 0x81df, 0x81e0,
    -    0x81e7, 0x81fa, 0x81fb, 0x81fe, 0x8201, 0x8202, 0x8205, 0x8207,
    -    0x820a, 0x820d, 0x8210, 0x8216, 0x8229, 0x822b, 0x8238, 0x8233,
    -    0x8240, 0x8259, 0x8258, 0x825d, 0x825a, 0x825f, 0x8264, 0x003f,
    -    0x8262, 0x8268, 0x826a, 0x826b, 0x822e, 0x8271, 0x8277, 0x8278,
    -    0x827e, 0x828d, 0x8292, 0x82ab, 0x829f, 0x82bb, 0x82ac, 0x82e1,
    -    0x82e3, 0x82df, 0x82d2, 0x82f4, 0x82f3, 0x82fa, 0x8393, 0x8303,
    -    0x82fb, 0x82f9, 0x82de, 0x8306, 0x82dc, 0x8309, 0x82d9, 0x8335,
    -    0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339, 0x8350, 0x8345,
    -    0x832f, 0x832b, 0x8317, 0x8318, 0x8385, 0x839a, 0x83aa, 0x839f,
    -    0x83a2, 0x8396, 0x8323, 0x838e, 0x8387, 0x838a, 0x837c, 0x83b5,
    -    0x8373, 0x8375, 0x83a0, 0x8389, 0x83a8, 0x83f4, 0x8413, 0x83eb,
    -    0x83ce, 0x83fd, 0x8403, 0x83d8, 0x840b, 0x83c1, 0x83f7, 0x8407,
    -    0x83e0, 0x83f2, 0x840d, 0x8422, 0x8420, 0x83bd, 0x8438, 0x8506,
    -    0x83fb, 0x846d, 0x842a, 0x843c, 0x855a, 0x8484, 0x8477, 0x846b,
    -    0x84ad, 0x846e, 0x8482, 0x8469, 0x8446, 0x842c, 0x846f, 0x8479,
    -    0x8435, 0x84ca, 0x8462, 0x84b9, 0x84bf, 0x849f, 0x84d9, 0x84cd,
    -    0x84bb, 0x84da, 0x84d0, 0x84c1, 0x84c6, 0x84d6, 0x84a1, 0x8521,
    -    0x84ff, 0x84f4, 0x8517, 0x8518, 0x852c, 0x851f, 0x8515, 0x8514,
    -    0x84fc, 0x8540, 0x8563, 0x8558, 0x8548, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8541, 0x8602, 0x854b, 0x8555, 0x8580, 0x85a4, 0x8588, 0x8591,
    -    0x858a, 0x85a8, 0x856d, 0x8594, 0x859b, 0x85ea, 0x8587, 0x859c,
    -    0x8577, 0x857e, 0x8590, 0x85c9, 0x85ba, 0x85cf, 0x85b9, 0x85d0,
    -    0x85d5, 0x85dd, 0x85e5, 0x85dc, 0x85f9, 0x860a, 0x8613, 0x860b,
    -    0x85fe, 0x85fa, 0x8606, 0x8622, 0x861a, 0x8630, 0x863f, 0x864d,
    -    0x4e55, 0x8654, 0x865f, 0x8667, 0x8671, 0x8693, 0x86a3, 0x86a9,
    -    0x86aa, 0x868b, 0x868c, 0x86b6, 0x86af, 0x86c4, 0x86c6, 0x86b0,
    -    0x86c9, 0x8823, 0x86ab, 0x86d4, 0x86de, 0x86e9, 0x86ec, 0x003f,
    -    0x86df, 0x86db, 0x86ef, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703,
    -    0x86fb, 0x8711, 0x8709, 0x870d, 0x86f9, 0x870a, 0x8734, 0x873f,
    -    0x8737, 0x873b, 0x8725, 0x8729, 0x871a, 0x8760, 0x875f, 0x8778,
    -    0x874c, 0x874e, 0x8774, 0x8757, 0x8768, 0x876e, 0x8759, 0x8753,
    -    0x8763, 0x876a, 0x8805, 0x87a2, 0x879f, 0x8782, 0x87af, 0x87cb,
    -    0x87bd, 0x87c0, 0x87d0, 0x96d6, 0x87ab, 0x87c4, 0x87b3, 0x87c7,
    -    0x87c6, 0x87bb, 0x87ef, 0x87f2, 0x87e0, 0x880f, 0x880d, 0x87fe,
    -    0x87f6, 0x87f7, 0x880e, 0x87d2, 0x8811, 0x8816, 0x8815, 0x8822,
    -    0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883b, 0x8844, 0x8842,
    -    0x8852, 0x8859, 0x885e, 0x8862, 0x886b, 0x8881, 0x887e, 0x889e,
    -    0x8875, 0x887d, 0x88b5, 0x8872, 0x8882, 0x8897, 0x8892, 0x88ae,
    -    0x8899, 0x88a2, 0x888d, 0x88a4, 0x88b0, 0x88bf, 0x88b1, 0x88c3,
    -    0x88c4, 0x88d4, 0x88d8, 0x88d9, 0x88dd, 0x88f9, 0x8902, 0x88fc,
    -    0x88f4, 0x88e8, 0x88f2, 0x8904, 0x890c, 0x890a, 0x8913, 0x8943,
    -    0x891e, 0x8925, 0x892a, 0x892b, 0x8941, 0x8944, 0x893b, 0x8936,
    -    0x8938, 0x894c, 0x891d, 0x8960, 0x895e, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8966, 0x8964, 0x896d, 0x896a, 0x896f, 0x8974, 0x8977, 0x897e,
    -    0x8983, 0x8988, 0x898a, 0x8993, 0x8998, 0x89a1, 0x89a9, 0x89a6,
    -    0x89ac, 0x89af, 0x89b2, 0x89ba, 0x89bd, 0x89bf, 0x89c0, 0x89da,
    -    0x89dc, 0x89dd, 0x89e7, 0x89f4, 0x89f8, 0x8a03, 0x8a16, 0x8a10,
    -    0x8a0c, 0x8a1b, 0x8a1d, 0x8a25, 0x8a36, 0x8a41, 0x8a5b, 0x8a52,
    -    0x8a46, 0x8a48, 0x8a7c, 0x8a6d, 0x8a6c, 0x8a62, 0x8a85, 0x8a82,
    -    0x8a84, 0x8aa8, 0x8aa1, 0x8a91, 0x8aa5, 0x8aa6, 0x8a9a, 0x8aa3,
    -    0x8ac4, 0x8acd, 0x8ac2, 0x8ada, 0x8aeb, 0x8af3, 0x8ae7, 0x003f,
    -    0x8ae4, 0x8af1, 0x8b14, 0x8ae0, 0x8ae2, 0x8af7, 0x8ade, 0x8adb,
    -    0x8b0c, 0x8b07, 0x8b1a, 0x8ae1, 0x8b16, 0x8b10, 0x8b17, 0x8b20,
    -    0x8b33, 0x97ab, 0x8b26, 0x8b2b, 0x8b3e, 0x8b28, 0x8b41, 0x8b4c,
    -    0x8b4f, 0x8b4e, 0x8b49, 0x8b56, 0x8b5b, 0x8b5a, 0x8b6b, 0x8b5f,
    -    0x8b6c, 0x8b6f, 0x8b74, 0x8b7d, 0x8b80, 0x8b8c, 0x8b8e, 0x8b92,
    -    0x8b93, 0x8b96, 0x8b99, 0x8b9a, 0x8c3a, 0x8c41, 0x8c3f, 0x8c48,
    -    0x8c4c, 0x8c4e, 0x8c50, 0x8c55, 0x8c62, 0x8c6c, 0x8c78, 0x8c7a,
    -    0x8c82, 0x8c89, 0x8c85, 0x8c8a, 0x8c8d, 0x8c8e, 0x8c94, 0x8c7c,
    -    0x8c98, 0x621d, 0x8cad, 0x8caa, 0x8cbd, 0x8cb2, 0x8cb3, 0x8cae,
    -    0x8cb6, 0x8cc8, 0x8cc1, 0x8ce4, 0x8ce3, 0x8cda, 0x8cfd, 0x8cfa,
    -    0x8cfb, 0x8d04, 0x8d05, 0x8d0a, 0x8d07, 0x8d0f, 0x8d0d, 0x8d10,
    -    0x9f4e, 0x8d13, 0x8ccd, 0x8d14, 0x8d16, 0x8d67, 0x8d6d, 0x8d71,
    -    0x8d73, 0x8d81, 0x8d99, 0x8dc2, 0x8dbe, 0x8dba, 0x8dcf, 0x8dda,
    -    0x8dd6, 0x8dcc, 0x8ddb, 0x8dcb, 0x8dea, 0x8deb, 0x8ddf, 0x8de3,
    -    0x8dfc, 0x8e08, 0x8e09, 0x8dff, 0x8e1d, 0x8e1e, 0x8e10, 0x8e1f,
    -    0x8e42, 0x8e35, 0x8e30, 0x8e34, 0x8e4a, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8e47, 0x8e49, 0x8e4c, 0x8e50, 0x8e48, 0x8e59, 0x8e64, 0x8e60,
    -    0x8e2a, 0x8e63, 0x8e55, 0x8e76, 0x8e72, 0x8e7c, 0x8e81, 0x8e87,
    -    0x8e85, 0x8e84, 0x8e8b, 0x8e8a, 0x8e93, 0x8e91, 0x8e94, 0x8e99,
    -    0x8eaa, 0x8ea1, 0x8eac, 0x8eb0, 0x8ec6, 0x8eb1, 0x8ebe, 0x8ec5,
    -    0x8ec8, 0x8ecb, 0x8edb, 0x8ee3, 0x8efc, 0x8efb, 0x8eeb, 0x8efe,
    -    0x8f0a, 0x8f05, 0x8f15, 0x8f12, 0x8f19, 0x8f13, 0x8f1c, 0x8f1f,
    -    0x8f1b, 0x8f0c, 0x8f26, 0x8f33, 0x8f3b, 0x8f39, 0x8f45, 0x8f42,
    -    0x8f3e, 0x8f4c, 0x8f49, 0x8f46, 0x8f4e, 0x8f57, 0x8f5c, 0x003f,
    -    0x8f62, 0x8f63, 0x8f64, 0x8f9c, 0x8f9f, 0x8fa3, 0x8fad, 0x8faf,
    -    0x8fb7, 0x8fda, 0x8fe5, 0x8fe2, 0x8fea, 0x8fef, 0x9087, 0x8ff4,
    -    0x9005, 0x8ff9, 0x8ffa, 0x9011, 0x9015, 0x9021, 0x900d, 0x901e,
    -    0x9016, 0x900b, 0x9027, 0x9036, 0x9035, 0x9039, 0x8ff8, 0x904f,
    -    0x9050, 0x9051, 0x9052, 0x900e, 0x9049, 0x903e, 0x9056, 0x9058,
    -    0x905e, 0x9068, 0x906f, 0x9076, 0x96a8, 0x9072, 0x9082, 0x907d,
    -    0x9081, 0x9080, 0x908a, 0x9089, 0x908f, 0x90a8, 0x90af, 0x90b1,
    -    0x90b5, 0x90e2, 0x90e4, 0x6248, 0x90db, 0x9102, 0x9112, 0x9119,
    -    0x9132, 0x9130, 0x914a, 0x9156, 0x9158, 0x9163, 0x9165, 0x9169,
    -    0x9173, 0x9172, 0x918b, 0x9189, 0x9182, 0x91a2, 0x91ab, 0x91af,
    -    0x91aa, 0x91b5, 0x91b4, 0x91ba, 0x91c0, 0x91c1, 0x91c9, 0x91cb,
    -    0x91d0, 0x91d6, 0x91df, 0x91e1, 0x91db, 0x91fc, 0x91f5, 0x91f6,
    -    0x921e, 0x91ff, 0x9214, 0x922c, 0x9215, 0x9211, 0x925e, 0x9257,
    -    0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923f, 0x924b, 0x9250,
    -    0x929c, 0x9296, 0x9293, 0x929b, 0x925a, 0x92cf, 0x92b9, 0x92b7,
    -    0x92e9, 0x930f, 0x92fa, 0x9344, 0x932e, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9319, 0x9322, 0x931a, 0x9323, 0x933a, 0x9335, 0x933b, 0x935c,
    -    0x9360, 0x937c, 0x936e, 0x9356, 0x93b0, 0x93ac, 0x93ad, 0x9394,
    -    0x93b9, 0x93d6, 0x93d7, 0x93e8, 0x93e5, 0x93d8, 0x93c3, 0x93dd,
    -    0x93d0, 0x93c8, 0x93e4, 0x941a, 0x9414, 0x9413, 0x9403, 0x9407,
    -    0x9410, 0x9436, 0x942b, 0x9435, 0x9421, 0x943a, 0x9441, 0x9452,
    -    0x9444, 0x945b, 0x9460, 0x9462, 0x945e, 0x946a, 0x9229, 0x9470,
    -    0x9475, 0x9477, 0x947d, 0x945a, 0x947c, 0x947e, 0x9481, 0x947f,
    -    0x9582, 0x9587, 0x958a, 0x9594, 0x9596, 0x9598, 0x9599, 0x003f,
    -    0x95a0, 0x95a8, 0x95a7, 0x95ad, 0x95bc, 0x95bb, 0x95b9, 0x95be,
    -    0x95ca, 0x6ff6, 0x95c3, 0x95cd, 0x95cc, 0x95d5, 0x95d4, 0x95d6,
    -    0x95dc, 0x95e1, 0x95e5, 0x95e2, 0x9621, 0x9628, 0x962e, 0x962f,
    -    0x9642, 0x964c, 0x964f, 0x964b, 0x9677, 0x965c, 0x965e, 0x965d,
    -    0x965f, 0x9666, 0x9672, 0x966c, 0x968d, 0x9698, 0x9695, 0x9697,
    -    0x96aa, 0x96a7, 0x96b1, 0x96b2, 0x96b0, 0x96b4, 0x96b6, 0x96b8,
    -    0x96b9, 0x96ce, 0x96cb, 0x96c9, 0x96cd, 0x894d, 0x96dc, 0x970d,
    -    0x96d5, 0x96f9, 0x9704, 0x9706, 0x9708, 0x9713, 0x970e, 0x9711,
    -    0x970f, 0x9716, 0x9719, 0x9724, 0x972a, 0x9730, 0x9739, 0x973d,
    -    0x973e, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749, 0x975c, 0x9760,
    -    0x9764, 0x9766, 0x9768, 0x52d2, 0x976b, 0x9771, 0x9779, 0x9785,
    -    0x977c, 0x9781, 0x977a, 0x9786, 0x978b, 0x978f, 0x9790, 0x979c,
    -    0x97a8, 0x97a6, 0x97a3, 0x97b3, 0x97b4, 0x97c3, 0x97c6, 0x97c8,
    -    0x97cb, 0x97dc, 0x97ed, 0x9f4f, 0x97f2, 0x7adf, 0x97f6, 0x97f5,
    -    0x980f, 0x980c, 0x9838, 0x9824, 0x9821, 0x9837, 0x983d, 0x9846,
    -    0x984f, 0x984b, 0x986b, 0x986f, 0x9870, 0x003f, 0x003f, 0x003f,
    -    /* lead byte e9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9871, 0x9874, 0x9873, 0x98aa, 0x98af, 0x98b1, 0x98b6, 0x98c4,
    -    0x98c3, 0x98c6, 0x98e9, 0x98eb, 0x9903, 0x9909, 0x9912, 0x9914,
    -    0x9918, 0x9921, 0x991d, 0x991e, 0x9924, 0x9920, 0x992c, 0x992e,
    -    0x993d, 0x993e, 0x9942, 0x9949, 0x9945, 0x9950, 0x994b, 0x9951,
    -    0x9952, 0x994c, 0x9955, 0x9997, 0x9998, 0x99a5, 0x99ad, 0x99ae,
    -    0x99bc, 0x99df, 0x99db, 0x99dd, 0x99d8, 0x99d1, 0x99ed, 0x99ee,
    -    0x99f1, 0x99f2, 0x99fb, 0x99f8, 0x9a01, 0x9a0f, 0x9a05, 0x99e2,
    -    0x9a19, 0x9a2b, 0x9a37, 0x9a45, 0x9a42, 0x9a40, 0x9a43, 0x003f,
    -    0x9a3e, 0x9a55, 0x9a4d, 0x9a5b, 0x9a57, 0x9a5f, 0x9a62, 0x9a65,
    -    0x9a64, 0x9a69, 0x9a6b, 0x9a6a, 0x9aad, 0x9ab0, 0x9abc, 0x9ac0,
    -    0x9acf, 0x9ad1, 0x9ad3, 0x9ad4, 0x9ade, 0x9adf, 0x9ae2, 0x9ae3,
    -    0x9ae6, 0x9aef, 0x9aeb, 0x9aee, 0x9af4, 0x9af1, 0x9af7, 0x9afb,
    -    0x9b06, 0x9b18, 0x9b1a, 0x9b1f, 0x9b22, 0x9b23, 0x9b25, 0x9b27,
    -    0x9b28, 0x9b29, 0x9b2a, 0x9b2e, 0x9b2f, 0x9b32, 0x9b44, 0x9b43,
    -    0x9b4f, 0x9b4d, 0x9b4e, 0x9b51, 0x9b58, 0x9b74, 0x9b93, 0x9b83,
    -    0x9b91, 0x9b96, 0x9b97, 0x9b9f, 0x9ba0, 0x9ba8, 0x9bb4, 0x9bc0,
    -    0x9bca, 0x9bb9, 0x9bc6, 0x9bcf, 0x9bd1, 0x9bd2, 0x9be3, 0x9be2,
    -    0x9be4, 0x9bd4, 0x9be1, 0x9c3a, 0x9bf2, 0x9bf1, 0x9bf0, 0x9c15,
    -    0x9c14, 0x9c09, 0x9c13, 0x9c0c, 0x9c06, 0x9c08, 0x9c12, 0x9c0a,
    -    0x9c04, 0x9c2e, 0x9c1b, 0x9c25, 0x9c24, 0x9c21, 0x9c30, 0x9c47,
    -    0x9c32, 0x9c46, 0x9c3e, 0x9c5a, 0x9c60, 0x9c67, 0x9c76, 0x9c78,
    -    0x9ce7, 0x9cec, 0x9cf0, 0x9d09, 0x9d08, 0x9ceb, 0x9d03, 0x9d06,
    -    0x9d2a, 0x9d26, 0x9daf, 0x9d23, 0x9d1f, 0x9d44, 0x9d15, 0x9d12,
    -    0x9d41, 0x9d3f, 0x9d3e, 0x9d46, 0x9d48, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ea */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9d5d, 0x9d5e, 0x9d64, 0x9d51, 0x9d50, 0x9d59, 0x9d72, 0x9d89,
    -    0x9d87, 0x9dab, 0x9d6f, 0x9d7a, 0x9d9a, 0x9da4, 0x9da9, 0x9db2,
    -    0x9dc4, 0x9dc1, 0x9dbb, 0x9db8, 0x9dba, 0x9dc6, 0x9dcf, 0x9dc2,
    -    0x9dd9, 0x9dd3, 0x9df8, 0x9de6, 0x9ded, 0x9def, 0x9dfd, 0x9e1a,
    -    0x9e1b, 0x9e1e, 0x9e75, 0x9e79, 0x9e7d, 0x9e81, 0x9e88, 0x9e8b,
    -    0x9e8c, 0x9e92, 0x9e95, 0x9e91, 0x9e9d, 0x9ea5, 0x9ea9, 0x9eb8,
    -    0x9eaa, 0x9ead, 0x9761, 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0, 0x9ed4,
    -    0x9edc, 0x9ede, 0x9edd, 0x9ee0, 0x9ee5, 0x9ee8, 0x9eef, 0x003f,
    -    0x9ef4, 0x9ef6, 0x9ef7, 0x9ef9, 0x9efb, 0x9efc, 0x9efd, 0x9f07,
    -    0x9f08, 0x76b7, 0x9f15, 0x9f21, 0x9f2c, 0x9f3e, 0x9f4a, 0x9f52,
    -    0x9f54, 0x9f63, 0x9f5f, 0x9f60, 0x9f61, 0x9f66, 0x9f67, 0x9f6c,
    -    0x9f6a, 0x9f77, 0x9f72, 0x9f76, 0x9f95, 0x9f9c, 0x9fa0, 0x582f,
    -    0x69c7, 0x9059, 0x7464, 0x51dc, 0x7199, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ed */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7e8a, 0x891c, 0x9348, 0x9288, 0x84dc, 0x4fc9, 0x70bb, 0x6631,
    -    0x68c8, 0x92f9, 0x66fb, 0x5f45, 0x4e28, 0x4ee1, 0x4efc, 0x4f00,
    -    0x4f03, 0x4f39, 0x4f56, 0x4f92, 0x4f8a, 0x4f9a, 0x4f94, 0x4fcd,
    -    0x5040, 0x5022, 0x4fff, 0x501e, 0x5046, 0x5070, 0x5042, 0x5094,
    -    0x50f4, 0x50d8, 0x514a, 0x5164, 0x519d, 0x51be, 0x51ec, 0x5215,
    -    0x529c, 0x52a6, 0x52c0, 0x52db, 0x5300, 0x5307, 0x5324, 0x5372,
    -    0x5393, 0x53b2, 0x53dd, 0xfa0e, 0x549c, 0x548a, 0x54a9, 0x54ff,
    -    0x5586, 0x5759, 0x5765, 0x57ac, 0x57c8, 0x57c7, 0xfa0f, 0x003f,
    -    0xfa10, 0x589e, 0x58b2, 0x590b, 0x5953, 0x595b, 0x595d, 0x5963,
    -    0x59a4, 0x59ba, 0x5b56, 0x5bc0, 0x752f, 0x5bd8, 0x5bec, 0x5c1e,
    -    0x5ca6, 0x5cba, 0x5cf5, 0x5d27, 0x5d53, 0xfa11, 0x5d42, 0x5d6d,
    -    0x5db8, 0x5db9, 0x5dd0, 0x5f21, 0x5f34, 0x5f67, 0x5fb7, 0x5fde,
    -    0x605d, 0x6085, 0x608a, 0x60de, 0x60d5, 0x6120, 0x60f2, 0x6111,
    -    0x6137, 0x6130, 0x6198, 0x6213, 0x62a6, 0x63f5, 0x6460, 0x649d,
    -    0x64ce, 0x654e, 0x6600, 0x6615, 0x663b, 0x6609, 0x662e, 0x661e,
    -    0x6624, 0x6665, 0x6657, 0x6659, 0xfa12, 0x6673, 0x6699, 0x66a0,
    -    0x66b2, 0x66bf, 0x66fa, 0x670e, 0xf929, 0x6766, 0x67bb, 0x6852,
    -    0x67c0, 0x6801, 0x6844, 0x68cf, 0xfa13, 0x6968, 0xfa14, 0x6998,
    -    0x69e2, 0x6a30, 0x6a6b, 0x6a46, 0x6a73, 0x6a7e, 0x6ae2, 0x6ae4,
    -    0x6bd6, 0x6c3f, 0x6c5c, 0x6c86, 0x6c6f, 0x6cda, 0x6d04, 0x6d87,
    -    0x6d6f, 0x6d96, 0x6dac, 0x6dcf, 0x6df8, 0x6df2, 0x6dfc, 0x6e39,
    -    0x6e5c, 0x6e27, 0x6e3c, 0x6ebf, 0x6f88, 0x6fb5, 0x6ff5, 0x7005,
    -    0x7007, 0x7028, 0x7085, 0x70ab, 0x710f, 0x7104, 0x715c, 0x7146,
    -    0x7147, 0xfa15, 0x71c1, 0x71fe, 0x72b1, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ee */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x72be, 0x7324, 0xfa16, 0x7377, 0x73bd, 0x73c9, 0x73d6, 0x73e3,
    -    0x73d2, 0x7407, 0x73f5, 0x7426, 0x742a, 0x7429, 0x742e, 0x7462,
    -    0x7489, 0x749f, 0x7501, 0x756f, 0x7682, 0x769c, 0x769e, 0x769b,
    -    0x76a6, 0xfa17, 0x7746, 0x52af, 0x7821, 0x784e, 0x7864, 0x787a,
    -    0x7930, 0xfa18, 0xfa19, 0xfa1a, 0x7994, 0xfa1b, 0x799b, 0x7ad1,
    -    0x7ae7, 0xfa1c, 0x7aeb, 0x7b9e, 0xfa1d, 0x7d48, 0x7d5c, 0x7db7,
    -    0x7da0, 0x7dd6, 0x7e52, 0x7f47, 0x7fa1, 0xfa1e, 0x8301, 0x8362,
    -    0x837f, 0x83c7, 0x83f6, 0x8448, 0x84b4, 0x8553, 0x8559, 0x003f,
    -    0x856b, 0xfa1f, 0x85b0, 0xfa20, 0xfa21, 0x8807, 0x88f5, 0x8a12,
    -    0x8a37, 0x8a79, 0x8aa7, 0x8abe, 0x8adf, 0xfa22, 0x8af6, 0x8b53,
    -    0x8b7f, 0x8cf0, 0x8cf4, 0x8d12, 0x8d76, 0xfa23, 0x8ecf, 0xfa24,
    -    0xfa25, 0x9067, 0x90de, 0xfa26, 0x9115, 0x9127, 0x91da, 0x91d7,
    -    0x91de, 0x91ed, 0x91ee, 0x91e4, 0x91e5, 0x9206, 0x9210, 0x920a,
    -    0x923a, 0x9240, 0x923c, 0x924e, 0x9259, 0x9251, 0x9239, 0x9267,
    -    0x92a7, 0x9277, 0x9278, 0x92e7, 0x92d7, 0x92d9, 0x92d0, 0xfa27,
    -    0x92d5, 0x92e0, 0x92d3, 0x9325, 0x9321, 0x92fb, 0xfa28, 0x931e,
    -    0x92ff, 0x931d, 0x9302, 0x9370, 0x9357, 0x93a4, 0x93c6, 0x93de,
    -    0x93f8, 0x9431, 0x9445, 0x9448, 0x9592, 0xf9dc, 0xfa29, 0x969d,
    -    0x96af, 0x9733, 0x973b, 0x9743, 0x974d, 0x974f, 0x9751, 0x9755,
    -    0x9857, 0x9865, 0xfa2a, 0xfa2b, 0x9927, 0xfa2c, 0x999e, 0x9a4e,
    -    0x9ad9, 0x9adc, 0x9b75, 0x9b72, 0x9b8f, 0x9bb1, 0x9bbb, 0x9c00,
    -    0x9d70, 0x9d6b, 0xfa2d, 0x9e19, 0x9ed1, 0x003f, 0x003f, 0x2170,
    -    0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178,
    -    0x2179, 0xffe2, 0xffe4, 0xff07, 0xff02, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fa */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
    -    0x2178, 0x2179, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165,
    -    0x2166, 0x2167, 0x2168, 0x2169, 0xffe2, 0xffe4, 0xff07, 0xff02,
    -    0x3231, 0x2116, 0x2121, 0x2235, 0x7e8a, 0x891c, 0x9348, 0x9288,
    -    0x84dc, 0x4fc9, 0x70bb, 0x6631, 0x68c8, 0x92f9, 0x66fb, 0x5f45,
    -    0x4e28, 0x4ee1, 0x4efc, 0x4f00, 0x4f03, 0x4f39, 0x4f56, 0x4f92,
    -    0x4f8a, 0x4f9a, 0x4f94, 0x4fcd, 0x5040, 0x5022, 0x4fff, 0x501e,
    -    0x5046, 0x5070, 0x5042, 0x5094, 0x50f4, 0x50d8, 0x514a, 0x003f,
    -    0x5164, 0x519d, 0x51be, 0x51ec, 0x5215, 0x529c, 0x52a6, 0x52c0,
    -    0x52db, 0x5300, 0x5307, 0x5324, 0x5372, 0x5393, 0x53b2, 0x53dd,
    -    0xfa0e, 0x549c, 0x548a, 0x54a9, 0x54ff, 0x5586, 0x5759, 0x5765,
    -    0x57ac, 0x57c8, 0x57c7, 0xfa0f, 0xfa10, 0x589e, 0x58b2, 0x590b,
    -    0x5953, 0x595b, 0x595d, 0x5963, 0x59a4, 0x59ba, 0x5b56, 0x5bc0,
    -    0x752f, 0x5bd8, 0x5bec, 0x5c1e, 0x5ca6, 0x5cba, 0x5cf5, 0x5d27,
    -    0x5d53, 0xfa11, 0x5d42, 0x5d6d, 0x5db8, 0x5db9, 0x5dd0, 0x5f21,
    -    0x5f34, 0x5f67, 0x5fb7, 0x5fde, 0x605d, 0x6085, 0x608a, 0x60de,
    -    0x60d5, 0x6120, 0x60f2, 0x6111, 0x6137, 0x6130, 0x6198, 0x6213,
    -    0x62a6, 0x63f5, 0x6460, 0x649d, 0x64ce, 0x654e, 0x6600, 0x6615,
    -    0x663b, 0x6609, 0x662e, 0x661e, 0x6624, 0x6665, 0x6657, 0x6659,
    -    0xfa12, 0x6673, 0x6699, 0x66a0, 0x66b2, 0x66bf, 0x66fa, 0x670e,
    -    0xf929, 0x6766, 0x67bb, 0x6852, 0x67c0, 0x6801, 0x6844, 0x68cf,
    -    0xfa13, 0x6968, 0xfa14, 0x6998, 0x69e2, 0x6a30, 0x6a6b, 0x6a46,
    -    0x6a73, 0x6a7e, 0x6ae2, 0x6ae4, 0x6bd6, 0x6c3f, 0x6c5c, 0x6c86,
    -    0x6c6f, 0x6cda, 0x6d04, 0x6d87, 0x6d6f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6d96, 0x6dac, 0x6dcf, 0x6df8, 0x6df2, 0x6dfc, 0x6e39, 0x6e5c,
    -    0x6e27, 0x6e3c, 0x6ebf, 0x6f88, 0x6fb5, 0x6ff5, 0x7005, 0x7007,
    -    0x7028, 0x7085, 0x70ab, 0x710f, 0x7104, 0x715c, 0x7146, 0x7147,
    -    0xfa15, 0x71c1, 0x71fe, 0x72b1, 0x72be, 0x7324, 0xfa16, 0x7377,
    -    0x73bd, 0x73c9, 0x73d6, 0x73e3, 0x73d2, 0x7407, 0x73f5, 0x7426,
    -    0x742a, 0x7429, 0x742e, 0x7462, 0x7489, 0x749f, 0x7501, 0x756f,
    -    0x7682, 0x769c, 0x769e, 0x769b, 0x76a6, 0xfa17, 0x7746, 0x52af,
    -    0x7821, 0x784e, 0x7864, 0x787a, 0x7930, 0xfa18, 0xfa19, 0x003f,
    -    0xfa1a, 0x7994, 0xfa1b, 0x799b, 0x7ad1, 0x7ae7, 0xfa1c, 0x7aeb,
    -    0x7b9e, 0xfa1d, 0x7d48, 0x7d5c, 0x7db7, 0x7da0, 0x7dd6, 0x7e52,
    -    0x7f47, 0x7fa1, 0xfa1e, 0x8301, 0x8362, 0x837f, 0x83c7, 0x83f6,
    -    0x8448, 0x84b4, 0x8553, 0x8559, 0x856b, 0xfa1f, 0x85b0, 0xfa20,
    -    0xfa21, 0x8807, 0x88f5, 0x8a12, 0x8a37, 0x8a79, 0x8aa7, 0x8abe,
    -    0x8adf, 0xfa22, 0x8af6, 0x8b53, 0x8b7f, 0x8cf0, 0x8cf4, 0x8d12,
    -    0x8d76, 0xfa23, 0x8ecf, 0xfa24, 0xfa25, 0x9067, 0x90de, 0xfa26,
    -    0x9115, 0x9127, 0x91da, 0x91d7, 0x91de, 0x91ed, 0x91ee, 0x91e4,
    -    0x91e5, 0x9206, 0x9210, 0x920a, 0x923a, 0x9240, 0x923c, 0x924e,
    -    0x9259, 0x9251, 0x9239, 0x9267, 0x92a7, 0x9277, 0x9278, 0x92e7,
    -    0x92d7, 0x92d9, 0x92d0, 0xfa27, 0x92d5, 0x92e0, 0x92d3, 0x9325,
    -    0x9321, 0x92fb, 0xfa28, 0x931e, 0x92ff, 0x931d, 0x9302, 0x9370,
    -    0x9357, 0x93a4, 0x93c6, 0x93de, 0x93f8, 0x9431, 0x9445, 0x9448,
    -    0x9592, 0xf9dc, 0xfa29, 0x969d, 0x96af, 0x9733, 0x973b, 0x9743,
    -    0x974d, 0x974f, 0x9751, 0x9755, 0x9857, 0x9865, 0xfa2a, 0xfa2b,
    -    0x9927, 0xfa2c, 0x999e, 0x9a4e, 0x9ad9, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9adc, 0x9b75, 0x9b72, 0x9b8f, 0x9bb1, 0x9bbb, 0x9c00, 0x9d70,
    -    0x9d6b, 0xfa2d, 0x9e19, 0x9ed1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned char cp2uni_leadbytes[256] =
    -{
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x06,
    -    0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
    -    0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
    -    0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    -    0x27, 0x28, 0x29, 0x01, 0x01, 0x2a, 0x2b, 0x01,
    -    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    -    0x01, 0x01, 0x2c, 0x2d, 0x2e, 0x00, 0x00, 0x00
    -};
    -
    -static const unsigned short uni2cp_low[27904] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0020, 0x0021, 0x0063, 0x004c, 0x003f, 0x005c, 0x007c, 0x8198,
    -    0x814e, 0x0063, 0x0061, 0x8173, 0x003f, 0x002d, 0x0072, 0x815c,
    -    0x818b, 0x817d, 0x0032, 0x0033, 0x814c, 0x83ca, 0x81f7, 0x003f,
    -    0x002c, 0x0031, 0x006f, 0x8174, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    -    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    -    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0x817e,
    -    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0x83c0,
    -    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    -    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    -    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x8180,
    -    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x00fe, 0x0079,
    -    /* 0x0100 .. 0x01ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    -    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    -    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    -    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    -    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    -    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    -    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    -    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    -    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    -    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x84a0, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    -    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    -    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    -    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    -    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    -    /* 0x0200 .. 0x02ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    -    0x0079, 0x814c, 0x818d, 0x8165, 0x8166, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0x0076,
    -    0x0027, 0x815c, 0x814c, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x818b, 0x003f, 0x007e, 0x818d, 0x003f, 0x003f,
    -    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0300 .. 0x03ff */
    -    0x0060, 0x814c, 0x005e, 0x007e, 0x815c, 0x815c, 0x003f, 0x003f,
    -    0x814e, 0x003f, 0x818b, 0x818d, 0x0076, 0x003f, 0x0022, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0060, 0x814c, 0x003f, 0x003f, 0x814e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x814c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x814c, 0x814e, 0x839f, 0x003f,
    -    0x83a3, 0x83a5, 0x83a7, 0x003f, 0x83ad, 0x003f, 0x83b2, 0x83b6,
    -    0x83c7, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3, 0x83a4, 0x83a5,
    -    0x83a6, 0x83a7, 0x83a8, 0x83a9, 0x83aa, 0x83ab, 0x83ac, 0x83ad,
    -    0x83ae, 0x83af, 0x003f, 0x83b0, 0x83b1, 0x83b2, 0x83b3, 0x83b4,
    -    0x83b5, 0x83b6, 0x83a7, 0x83b2, 0x83bf, 0x83c3, 0x83c5, 0x83c7,
    -    0x83d2, 0x83bf, 0x83c0, 0x83c1, 0x83c2, 0x83c3, 0x83c4, 0x83c5,
    -    0x83c6, 0x83c7, 0x83c8, 0x83c9, 0x83ca, 0x83cb, 0x83cc, 0x83cd,
    -    0x83ce, 0x83cf, 0x003f, 0x83d0, 0x83d1, 0x83d2, 0x83d3, 0x83d4,
    -    0x83d5, 0x83d6, 0x83c7, 0x83d2, 0x83cd, 0x83d2, 0x83d6, 0x003f,
    -    0x83c0, 0x83c6, 0x83b2, 0x83b2, 0x83b2, 0x83d3, 0x83ce, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x83c8, 0x83cf, 0x003f, 0x003f, 0x83a6, 0x83c3, 0x003f, 0x003f,
    -    0x003f, 0x83b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0400 .. 0x04ff */
    -    0x8445, 0x8446, 0x003f, 0x8443, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x844b, 0x8449, 0x8454, 0x003f,
    -    0x8440, 0x8441, 0x8442, 0x8443, 0x8444, 0x8445, 0x8447, 0x8448,
    -    0x8449, 0x844a, 0x844b, 0x844c, 0x844d, 0x844e, 0x844f, 0x8450,
    -    0x8451, 0x8452, 0x8453, 0x8454, 0x8455, 0x8456, 0x8457, 0x8458,
    -    0x8459, 0x845a, 0x845b, 0x845c, 0x845d, 0x845e, 0x845f, 0x8460,
    -    0x8470, 0x8471, 0x8472, 0x8473, 0x8474, 0x8475, 0x8477, 0x8478,
    -    0x8479, 0x847a, 0x847b, 0x847c, 0x847d, 0x847e, 0x8480, 0x8481,
    -    0x8482, 0x8483, 0x8484, 0x8485, 0x8486, 0x8487, 0x8488, 0x8489,
    -    0x848a, 0x848b, 0x848c, 0x848d, 0x848e, 0x848f, 0x8490, 0x8491,
    -    0x8475, 0x8476, 0x003f, 0x8473, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x847b, 0x8479, 0x8485, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8447, 0x8477, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8440, 0x8470, 0x8440, 0x8470, 0x003f, 0x003f, 0x8445, 0x8475,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8447, 0x8477, 0x8448, 0x8478,
    -    0x003f, 0x003f, 0x8449, 0x8479, 0x8449, 0x8479, 0x844f, 0x8480,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x845e, 0x848f, 0x8454, 0x8485,
    -    0x8454, 0x8485, 0x8454, 0x8485, 0x8458, 0x8489, 0x003f, 0x003f,
    -    0x845c, 0x848d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    -    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    -    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    -    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    -    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    -    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    -    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0x83c0, 0x83c1, 0x83c2,
    -    0x83d3, 0x83d4, 0x0069, 0x0072, 0x0075, 0x0076, 0x83c0, 0x83c1,
    -    0x83cf, 0x83d3, 0x83d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    -    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    -    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    -    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    -    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    -    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    -    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    -    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    -    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    -    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    -    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1f00 .. 0x1fff */
    -    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf,
    -    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f,
    -    0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x003f, 0x003f,
    -    0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x003f, 0x003f,
    -    0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5,
    -    0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5,
    -    0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7,
    -    0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7,
    -    0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x003f, 0x003f,
    -    0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x003f, 0x003f,
    -    0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2,
    -    0x003f, 0x83b2, 0x003f, 0x83b2, 0x003f, 0x83b2, 0x003f, 0x83b2,
    -    0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6,
    -    0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6,
    -    0x83bf, 0x83bf, 0x83c3, 0x83c3, 0x83c5, 0x83c5, 0x83c7, 0x83c7,
    -    0x83cd, 0x83cd, 0x83d2, 0x83d2, 0x83d6, 0x83d6, 0x003f, 0x003f,
    -    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf,
    -    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f,
    -    0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5,
    -    0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5,
    -    0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6,
    -    0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6,
    -    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x003f, 0x83bf, 0x83bf,
    -    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x003f, 0x83c7, 0x003f,
    -    0x003f, 0x814e, 0x83c5, 0x83c5, 0x83c5, 0x003f, 0x83c5, 0x83c5,
    -    0x83a3, 0x83a3, 0x83a5, 0x83a5, 0x83a5, 0x003f, 0x003f, 0x003f,
    -    0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x003f, 0x003f, 0x83c7, 0x83c7,
    -    0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83cf, 0x83cf, 0x83d2, 0x83d2,
    -    0x83b2, 0x83b2, 0x83b2, 0x83b2, 0x83af, 0x814e, 0x814e, 0x0060,
    -    0x003f, 0x003f, 0x83d6, 0x83d6, 0x83d6, 0x003f, 0x83d6, 0x83d6,
    -    0x83ad, 0x83ad, 0x83b6, 0x83b6, 0x83b6, 0x814c, 0x003f, 0x003f,
    -    /* 0x2000 .. 0x20ff */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x815d, 0x815d, 0x003f, 0x815c, 0x815c, 0x815c, 0x003f, 0x005f,
    -    0x8165, 0x8166, 0x002c, 0x8165, 0x8167, 0x8168, 0x8781, 0x003f,
    -    0x81f5, 0x81f6, 0x003f, 0x003f, 0x002e, 0x8164, 0x8163, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0x81f1, 0x003f, 0x818c, 0x818d, 0x003f, 0x8165, 0x003f, 0x003f,
    -    0x003f, 0x8171, 0x8172, 0x81a6, 0x0021, 0x003f, 0x815c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x818b, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0x815d, 0x003d, 0x0028, 0x0029, 0x006e,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0x815d, 0x003d, 0x0028, 0x0029, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2100 .. 0x21ff */
    -    0x003f, 0x003f, 0x0043, 0x818e, 0x003f, 0x003f, 0x003f, 0x0045,
    -    0x003f, 0x003f, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    -    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x8782, 0x003f,
    -    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    -    0x003f, 0x8784, 0x003f, 0x003f, 0x005a, 0x003f, 0x83b6, 0x003f,
    -    0x005a, 0x003f, 0x004b, 0x81f0, 0x0042, 0x0043, 0x0065, 0x0065,
    -    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0x83c1, 0x83a1, 0x83ae,
    -    0x8794, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    -    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759, 0x875a, 0x875b,
    -    0x875c, 0x875d, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    -    0xeeef, 0xeef0, 0xeef1, 0xeef2, 0xeef3, 0xeef4, 0xeef5, 0xeef6,
    -    0xeef7, 0xeef8, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x81a9, 0x81aa, 0x81a8, 0x81ab, 0x002d, 0x007c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x81a9, 0x81a8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81cc, 0x81cb,
    -    0x003f, 0x003f, 0x81cb, 0x003f, 0x81cc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2200 .. 0x22ff */
    -    0x81cd, 0x003f, 0x81dd, 0x81ce, 0x81ce, 0x004f, 0x003f, 0x81de,
    -    0x81b8, 0x81b8, 0x003f, 0x81b9, 0x81b9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8794, 0x815d, 0x817d, 0x003f, 0x002f, 0x005c, 0x002a,
    -    0x818b, 0x003f, 0x81e3, 0x003f, 0x003f, 0x81e5, 0x8187, 0x8798,
    -    0x81da, 0x003f, 0x003f, 0x007c, 0x007c, 0x8161, 0x8161, 0x81c8,
    -    0x81c9, 0x81bf, 0x81be, 0x81e7, 0x81e8, 0x003f, 0x8793, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8188, 0x81e6, 0x003a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0x81e4, 0x003f, 0x003f,
    -    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x81e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8182, 0x81df, 0x81df, 0x81df, 0x003f, 0x003f, 0x8185, 0x8186,
    -    0x003f, 0x003f, 0x81e1, 0x81e2, 0x003f, 0x003f, 0x003c, 0x003e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x81bc, 0x81bd, 0x81bc, 0x81bd, 0x81ba, 0x81bb,
    -    0x81ba, 0x81bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81db, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8799,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2300 .. 0x23ff */
    -    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x81dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8171, 0x8172, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2400 .. 0x24ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8740, 0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, 0x8747,
    -    0x8748, 0x8749, 0x874a, 0x874b, 0x874c, 0x874d, 0x874e, 0x874f,
    -    0x8750, 0x8751, 0x8752, 0x8753, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    -    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2500 .. 0x25ff */
    -    0x849f, 0x84aa, 0x84a0, 0x84ab, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0x002d, 0x002d, 0x007c, 0x007c, 0x84a1, 0x84a1, 0x84a1, 0x84ac,
    -    0x84a2, 0x84a2, 0x84a2, 0x84ad, 0x84a4, 0x84a4, 0x84a4, 0x84af,
    -    0x84a3, 0x84a3, 0x84a3, 0x84ae, 0x84a5, 0x84ba, 0x84a5, 0x84a5,
    -    0x84b5, 0x84a5, 0x84a5, 0x84b0, 0x84a7, 0x84bc, 0x84a7, 0x84a7,
    -    0x84b7, 0x84a7, 0x84a7, 0x84b2, 0x84a6, 0x84a6, 0x84a6, 0x84b6,
    -    0x84bb, 0x84a6, 0x84a6, 0x84b1, 0x84a8, 0x84a8, 0x84a8, 0x84b8,
    -    0x84bd, 0x84a8, 0x84a8, 0x84b3, 0x84a9, 0x84a9, 0x84a9, 0x84b9,
    -    0x84a9, 0x84a9, 0x84be, 0x84a9, 0x84a9, 0x84a9, 0x84a9, 0x84a9,
    -    0x84a9, 0x84a9, 0x84a9, 0x84b4, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    -    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
    -    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,
    -    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x81a1, 0x81a0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x81a3, 0x81a2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x81a5, 0x81a4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x819f, 0x819e,
    -    0x003f, 0x003f, 0x003f, 0x819b, 0x003f, 0x003f, 0x819d, 0x819c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2600 .. 0x26ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x819a, 0x8199, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x818a, 0x003f, 0x8189, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x81f4, 0x003f, 0x003f, 0x81f3, 0x003f, 0x81f2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2e00 .. 0x2eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95ea,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2f00 .. 0x2fff */
    -    0x88ea, 0xed4c, 0x98a4, 0x98a6, 0x89b3, 0x98ab, 0x93f1, 0x98b3,
    -    0x906c, 0x9958, 0x93fc, 0x94aa, 0x9963, 0x996b, 0x9971, 0x997b,
    -    0x9981, 0x9381, 0x97cd, 0x99af, 0x99b6, 0x99b7, 0x99bc, 0x8f5c,
    -    0x966d, 0x99c5, 0x99ca, 0x99d1, 0x9694, 0x8cfb, 0x9a98, 0x9379,
    -    0x8e6d, 0x9ae7, 0x9ae8, 0x975b, 0x91e5, 0x8f97, 0x8e71, 0x9b7e,
    -    0x90a1, 0x8fac, 0x9b97, 0x9b99, 0x9ba3, 0x8e52, 0x9bdd, 0x8d48,
    -    0x8cc8, 0x8bd0, 0x8ab1, 0x9bf4, 0x9bf6, 0x9c4d, 0x9c4f, 0x9c54,
    -    0x8b7c, 0x003f, 0x9c63, 0x9c65, 0x9053, 0x9cf7, 0x003f, 0x8ee8,
    -    0x8e78, 0x9dbb, 0x95b6, 0x936c, 0x8bd2, 0x95fb, 0x9dd9, 0x93fa,
    -    0x9e48, 0x8c8e, 0x96d8, 0x8c87, 0x8e7e, 0x9f65, 0x9f74, 0x9f78,
    -    0x94e4, 0x96d1, 0x8e81, 0x9f83, 0x9085, 0x89ce, 0x92dc, 0x9583,
    -    0xe0a9, 0xe0ab, 0x95d0, 0x89e5, 0x8b8d, 0x8ca2, 0x8cba, 0x8bca,
    -    0x895a, 0x8aa2, 0x8ac3, 0x90b6, 0x9770, 0x9363, 0x9544, 0x003f,
    -    0xe1a0, 0x9492, 0x94e7, 0x8e4d, 0x96da, 0x96b5, 0x96ee, 0x90ce,
    -    0x8ea6, 0x003f, 0x89d1, 0x8c8a, 0x97a7, 0x927c, 0x95c4, 0x8e85,
    -    0x8aca, 0xe3a4, 0x9772, 0x8948, 0x9856, 0x8ea7, 0xe3ce, 0x8ea8,
    -    0xe3e4, 0x93f7, 0x9062, 0x8ea9, 0x8e8a, 0x8950, 0x90e3, 0x9143,
    -    0x8f4d, 0x8daf, 0x9046, 0xe487, 0xe567, 0x928e, 0x8c8c, 0x8d73,
    -    0x88df, 0xe647, 0x8ca9, 0x8a70, 0x8cbe, 0x924a, 0x93a4, 0xe6b3,
    -    0xe6b6, 0x8a4c, 0x90d4, 0x9196, 0x91ab, 0x9067, 0x8ed4, 0x9068,
    -    0x9243, 0x003f, 0x9757, 0x93d1, 0x94ce, 0x97a2, 0x8be0, 0x92b7,
    -    0x96e5, 0x958c, 0xe8ae, 0xe8b0, 0x894a, 0xeed6, 0x94f1, 0x96ca,
    -    0x8a76, 0xe8e8, 0xe8ea, 0x89b9, 0x95c5, 0x9597, 0x94f2, 0x9048,
    -    0x8ef1, 0x8d81, 0x946e, 0x8d9c, 0x8d82, 0xe995, 0xe9a6, 0xe9ac,
    -    0xe9ad, 0x8b53, 0x8b9b, 0x92b9, 0xea62, 0x8ead, 0xea6d, 0x9683,
    -    0x003f, 0x8b6f, 0xeeec, 0xea83, 0xea86, 0x9343, 0x8cdb, 0x916c,
    -    0x9540, 0xea8e, 0xea8f, 0x97b4, 0xea9d, 0xea9e, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3000 .. 0x30ff */
    -    0x8140, 0x8141, 0x8142, 0x8156, 0x003f, 0x8158, 0x8159, 0x815a,
    -    0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0x8176, 0x8177, 0x8178,
    -    0x8179, 0x817a, 0x81a7, 0x81ac, 0x816b, 0x816c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0x8780, 0x8168, 0x8781,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81a7, 0x003f,
    -    0x8f5c, 0x003f, 0x99bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x829f, 0x82a0, 0x82a1, 0x82a2, 0x82a3, 0x82a4, 0x82a5,
    -    0x82a6, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ab, 0x82ac, 0x82ad,
    -    0x82ae, 0x82af, 0x82b0, 0x82b1, 0x82b2, 0x82b3, 0x82b4, 0x82b5,
    -    0x82b6, 0x82b7, 0x82b8, 0x82b9, 0x82ba, 0x82bb, 0x82bc, 0x82bd,
    -    0x82be, 0x82bf, 0x82c0, 0x82c1, 0x82c2, 0x82c3, 0x82c4, 0x82c5,
    -    0x82c6, 0x82c7, 0x82c8, 0x82c9, 0x82ca, 0x82cb, 0x82cc, 0x82cd,
    -    0x82ce, 0x82cf, 0x82d0, 0x82d1, 0x82d2, 0x82d3, 0x82d4, 0x82d5,
    -    0x82d6, 0x82d7, 0x82d8, 0x82d9, 0x82da, 0x82db, 0x82dc, 0x82dd,
    -    0x82de, 0x82df, 0x82e0, 0x82e1, 0x82e2, 0x82e3, 0x82e4, 0x82e5,
    -    0x82e6, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82eb, 0x82ec, 0x82ed,
    -    0x82ee, 0x82ef, 0x82f0, 0x82f1, 0x82a4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x814a, 0x814b, 0x8154, 0x8155, 0x003f,
    -    0x003f, 0x8340, 0x8341, 0x8342, 0x8343, 0x8344, 0x8345, 0x8346,
    -    0x8347, 0x8348, 0x8349, 0x834a, 0x834b, 0x834c, 0x834d, 0x834e,
    -    0x834f, 0x8350, 0x8351, 0x8352, 0x8353, 0x8354, 0x8355, 0x8356,
    -    0x8357, 0x8358, 0x8359, 0x835a, 0x835b, 0x835c, 0x835d, 0x835e,
    -    0x835f, 0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0x8366,
    -    0x8367, 0x8368, 0x8369, 0x836a, 0x836b, 0x836c, 0x836d, 0x836e,
    -    0x836f, 0x8370, 0x8371, 0x8372, 0x8373, 0x8374, 0x8375, 0x8376,
    -    0x8377, 0x8378, 0x8379, 0x837a, 0x837b, 0x837c, 0x837d, 0x837e,
    -    0x8380, 0x8381, 0x8382, 0x8383, 0x8384, 0x8385, 0x8386, 0x8387,
    -    0x8388, 0x8389, 0x838a, 0x838b, 0x838c, 0x838d, 0x838e, 0x838f,
    -    0x8390, 0x8391, 0x8392, 0x8393, 0x8394, 0x8395, 0x8396, 0x838f,
    -    0x8390, 0x8391, 0x8392, 0x8145, 0x815b, 0x8152, 0x8153, 0x003f,
    -    /* 0x3100 .. 0x31ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x88ea, 0x93f1, 0x8e4f, 0x8e6c, 0x8fe3, 0x9286,
    -    0x89ba, 0x8d62, 0x89b3, 0x95b8, 0x929a, 0x9356, 0x926e, 0x906c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3200 .. 0x32ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x878a, 0x878b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x878c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x88ea, 0x93f1, 0x8e4f, 0x8e6c, 0x8cdc, 0x985a, 0x8eb5, 0x94aa,
    -    0x8be3, 0x8f5c, 0x8c8e, 0x89ce, 0x9085, 0x96d8, 0x8be0, 0x9379,
    -    0x93fa, 0x8a94, 0x974c, 0x8ed0, 0x96bc, 0x93c1, 0x8de0, 0x8f6a,
    -    0x984a, 0x94e9, 0x926a, 0x8f97, 0x934b, 0x9744, 0x88f3, 0x928d,
    -    0x8d80, 0x8b78, 0x8eca, 0x90b3, 0x8785, 0x8786, 0x8787, 0x8788,
    -    0x8789, 0x88e3, 0x8f40, 0x8a77, 0x8ac4, 0x8ae9, 0x8e91, 0x8ba6,
    -    0x96e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8341, 0x8343, 0x8345, 0x8347, 0x8349, 0x834a, 0x834c, 0x834e,
    -    0x8350, 0x8352, 0x8354, 0x8356, 0x8358, 0x835a, 0x835c, 0x835e,
    -    0x8360, 0x8363, 0x8365, 0x8367, 0x8369, 0x836a, 0x836b, 0x836c,
    -    0x836d, 0x836e, 0x8371, 0x8374, 0x8377, 0x837a, 0x837d, 0x837e,
    -    0x8380, 0x8381, 0x8382, 0x8384, 0x8386, 0x8388, 0x8389, 0x838a,
    -    0x838b, 0x838c, 0x838d, 0x838f, 0x8390, 0x8391, 0x8392, 0x003f,
    -    /* 0x3300 .. 0x33ff */
    -    0x003f, 0x003f, 0x003f, 0x8765, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8769, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8760, 0x003f, 0x003f, 0x003f,
    -    0x8763, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8761, 0x876b, 0x003f, 0x003f, 0x876a, 0x8764,
    -    0x003f, 0x003f, 0x003f, 0x876c, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8766, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x876e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x875f, 0x876d, 0x003f, 0x003f, 0x8762, 0x003f, 0x003f,
    -    0x003f, 0x8767, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8768,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x877e, 0x878f, 0x878e, 0x878d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8772, 0x8773,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x876f, 0x8770, 0x8771, 0x003f,
    -    0x003f, 0x8775, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8774, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8783, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x4e00 .. 0x4eff */
    -    0x88ea, 0x929a, 0x003f, 0x8eb5, 0x003f, 0x003f, 0x003f, 0x969c,
    -    0x8fe4, 0x8e4f, 0x8fe3, 0x89ba, 0x003f, 0x9573, 0x975e, 0x003f,
    -    0x98a0, 0x894e, 0x003f, 0x003f, 0x8a8e, 0x98a1, 0x90a2, 0x99c0,
    -    0x8b75, 0x95b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fe5, 0x003f,
    -    0x003f, 0x97bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x95c0, 0x003f,
    -    0xed4c, 0x003f, 0x98a2, 0x003f, 0x003f, 0x9286, 0x003f, 0x003f,
    -    0x003f, 0x98a3, 0x8bf8, 0x003f, 0x003f, 0x003f, 0x98a4, 0x003f,
    -    0x8adb, 0x924f, 0x003f, 0x8ee5, 0x98a5, 0x003f, 0x003f, 0x98a6,
    -    0x003f, 0x003f, 0x98a7, 0x9454, 0x003f, 0x8b76, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9456, 0x003f, 0x93e1, 0x8cc1, 0x9652,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe568, 0x98a8, 0x8fe6,
    -    0x98a9, 0x89b3, 0x003f, 0x003f, 0x003f, 0x8be3, 0x8cee, 0x96e7,
    -    0x003f, 0x003f, 0x9ba4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9790, 0x003f, 0x93fb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aa3, 0x003f,
    -    0x8b54, 0x003f, 0x98aa, 0x003f, 0x003f, 0x98ab, 0x97b9, 0x003f,
    -    0x975c, 0x9188, 0x98ad, 0x8e96, 0x93f1, 0x003f, 0x98b0, 0x003f,
    -    0x003f, 0x895d, 0x8cdd, 0x003f, 0x8cdc, 0x88e4, 0x003f, 0x003f,
    -    0x986a, 0x9869, 0x003f, 0x8db1, 0x889f, 0x003f, 0x98b1, 0x98b2,
    -    0x98b3, 0x9653, 0x98b4, 0x003f, 0x8cf0, 0x88e5, 0x9692, 0x003f,
    -    0x8b9c, 0x003f, 0x003f, 0x8b9d, 0x8b9e, 0x92e0, 0x97ba, 0x003f,
    -    0x98b5, 0x003f, 0x003f, 0x98b6, 0x003f, 0x003f, 0x98b7, 0x003f,
    -    0x003f, 0x003f, 0x906c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8f59, 0x906d, 0x98bc, 0x003f, 0x98ba, 0x003f, 0x98bb, 0x8b77,
    -    0x003f, 0x003f, 0x8da1, 0x89ee, 0x003f, 0x98b9, 0x98b8, 0x95a7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8e65, 0x8e64, 0x91bc, 0x98bd,
    -    0x9574, 0x90e5, 0x003f, 0x003f, 0x003f, 0x8157, 0x98be, 0x98c0,
    -    0x003f, 0xed4d, 0x003f, 0x91e3, 0x97df, 0x88c8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98bf, 0x89bc, 0x003f,
    -    0x8bc2, 0x003f, 0x9287, 0x003f, 0x003f, 0x003f, 0x8c8f, 0x98c1,
    -    0x003f, 0x003f, 0x003f, 0x9443, 0xed4e, 0x003f, 0x003f, 0x003f,
    -    /* 0x4f00 .. 0x4fff */
    -    0xed4f, 0x8ae9, 0x003f, 0xed50, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x98c2, 0x88c9, 0x003f, 0x003f, 0x8cde, 0x8aea, 0x959a,
    -    0x94b0, 0x8b78, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x89ef, 0x003f, 0x98e5, 0x9360, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x948c,
    -    0x98c4, 0x003f, 0x003f, 0x003f, 0x94ba, 0x003f, 0x97e0, 0x003f,
    -    0x904c, 0xed51, 0x8e66, 0x003f, 0x8e97, 0x89be, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x92cf, 0x003f, 0x003f, 0x9241, 0x98c8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88ca, 0x92e1, 0x8f5a,
    -    0x8db2, 0x9743, 0x003f, 0x91cc, 0x003f, 0x89bd, 0xed52, 0x98c7,
    -    0x003f, 0x975d, 0x98c3, 0x98c5, 0x8dec, 0x98c6, 0x9b43, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x98ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98d1,
    -    0x98cf, 0x003f, 0x003f, 0x89c0, 0x003f, 0x95b9, 0x98c9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x98cd, 0x8cf1, 0x003f, 0x003f, 0x8e67,
    -    0x003f, 0x003f, 0x003f, 0x8aa4, 0x003f, 0x003f, 0x98d2, 0x003f,
    -    0x98ca, 0x003f, 0xed54, 0x97e1, 0x003f, 0x8e98, 0x003f, 0x98cb,
    -    0x003f, 0x98d0, 0xed53, 0x003f, 0xed56, 0x003f, 0x98d3, 0x003f,
    -    0x98cc, 0x003f, 0xed55, 0x8b9f, 0x003f, 0x88cb, 0x003f, 0x003f,
    -    0x8ba0, 0x89bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9b44, 0x003f, 0x9699, 0x958e, 0x8cf2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x904e, 0x97b5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95d6,
    -    0x003f, 0x003f, 0x8c57, 0x91a3, 0x89e2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xed45, 0x8f72, 0x003f, 0x003f, 0xed57, 0x98d7, 0x003f,
    -    0x98dc, 0x98da, 0x003f, 0x003f, 0x98d5, 0x003f, 0x003f, 0x91ad,
    -    0x98d8, 0x003f, 0x98db, 0x98d9, 0x003f, 0x95db, 0x003f, 0x98d6,
    -    0x003f, 0x904d, 0x003f, 0x9693, 0x98dd, 0x98de, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f43, 0x98eb,
    -    0x003f, 0x003f, 0x003f, 0x946f, 0x003f, 0x9555, 0x98e6, 0x003f,
    -    0x95ee, 0x003f, 0x89b4, 0x003f, 0x003f, 0x003f, 0x98ea, 0xed5a,
    -    /* 0x5000 .. 0x50ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98e4, 0x98ed, 0x003f,
    -    0x003f, 0x9171, 0x003f, 0x8cc2, 0x003f, 0x947b, 0x003f, 0xe0c5,
    -    0x003f, 0x98ec, 0x937c, 0x003f, 0x98e1, 0x003f, 0x8cf4, 0x003f,
    -    0x003f, 0x8cf3, 0x98df, 0x003f, 0x003f, 0x003f, 0xed5b, 0x8ed8,
    -    0x003f, 0x98e7, 0xed59, 0x95ed, 0x926c, 0x98e3, 0x8c91, 0x003f,
    -    0x98e0, 0x98e8, 0x98e2, 0x97cf, 0x98e9, 0x9860, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be4, 0x003f,
    -    0x003f, 0x8c90, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xed58, 0x003f, 0xed5e, 0x98ee, 0x003f, 0x003f, 0xed5c, 0x98ef,
    -    0x98f3, 0x88cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95ce,
    -    0x98f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x98f1, 0x98f5, 0x003f,
    -    0x003f, 0x003f, 0x98f4, 0x003f, 0x92e2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c92, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x98f6, 0x003f, 0x003f, 0x003f,
    -    0xed5d, 0x003f, 0x8ec3, 0x003f, 0x91a4, 0x92e3, 0x8bf4, 0x003f,
    -    0x98f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b55, 0x003f, 0x003f,
    -    0x98f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x98fa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9654, 0x003f, 0x003f,
    -    0x003f, 0x8c86, 0x003f, 0x003f, 0xed5f, 0x003f, 0x003f, 0x003f,
    -    0x8e50, 0x94f5, 0x98f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8dc3, 0x9762, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x98fc, 0x9942, 0x98fb, 0x8dc2, 0x003f, 0x8f9d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c58, 0x003f,
    -    0x003f, 0x003f, 0x9943, 0x003f, 0x003f, 0x8bcd, 0x003f, 0x003f,
    -    0x003f, 0x9940, 0x9941, 0x003f, 0x003f, 0x93ad, 0x003f, 0x919c,
    -    0x003f, 0x8ba1, 0x003f, 0x003f, 0x003f, 0x966c, 0x9944, 0x003f,
    -    0xed61, 0x003f, 0x97bb, 0x003f, 0x003f, 0x003f, 0x9945, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9948, 0x003f, 0x9946, 0x003f, 0x916d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9947, 0x9949, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xed60, 0x994b, 0x003f, 0x003f,
    -    0x003f, 0x994a, 0x003f, 0x95c6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5100 .. 0x51ff */
    -    0x8b56, 0x994d, 0x994e, 0x003f, 0x89ad, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x994c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8ef2, 0x003f, 0x9951, 0x9950, 0x994f, 0x003f,
    -    0x98d4, 0x003f, 0x9952, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f9e,
    -    0x003f, 0x9953, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9744, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x96d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x9955,
    -    0x003f, 0x003f, 0x9954, 0x9957, 0x9956, 0x003f, 0x003f, 0x9958,
    -    0x9959, 0x88f2, 0x003f, 0x8cb3, 0x8c5a, 0x8f5b, 0x929b, 0x8ba2,
    -    0x90e6, 0x8cf5, 0xed62, 0x8d8e, 0x995b, 0x96c6, 0x9365, 0x003f,
    -    0x8e99, 0x003f, 0x995a, 0x003f, 0x995c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x937d, 0x003f, 0x8a95, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x995d, 0x003f, 0xed63, 0x93fc, 0x003f, 0x003f,
    -    0x9153, 0x995f, 0x9960, 0x94aa, 0x8cf6, 0x985a, 0x9961, 0x003f,
    -    0x003f, 0x8ba4, 0x003f, 0x003f, 0x003f, 0x95ba, 0x91b4, 0x8bef,
    -    0x9354, 0x003f, 0x003f, 0x003f, 0x8c93, 0x003f, 0x003f, 0x003f,
    -    0x9962, 0x003f, 0x9963, 0x003f, 0x003f, 0x93e0, 0x897e, 0x003f,
    -    0x003f, 0x9966, 0x8dfb, 0x003f, 0x9965, 0x8dc4, 0x003f, 0x9967,
    -    0xe3ec, 0x9968, 0x9660, 0x9969, 0x003f, 0x996a, 0x996b, 0x8fe7,
    -    0x003f, 0x8eca, 0x003f, 0x003f, 0x003f, 0xed64, 0x003f, 0x003f,
    -    0x8aa5, 0x003f, 0x996e, 0x003f, 0x996c, 0x96bb, 0x996d, 0x003f,
    -    0x9579, 0x996f, 0x9970, 0x9971, 0x937e, 0x003f, 0x003f, 0x003f,
    -    0x9975, 0x9973, 0x9974, 0x9972, 0x8de1, 0x9976, 0x96e8, 0x97e2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9977, 0xed65, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x90a6, 0x9978, 0x8f79, 0x003f,
    -    0x003f, 0x9979, 0x003f, 0x929c, 0x97bd, 0x9380, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99c3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x997a, 0xeaa3, 0x8bc3, 0x003f, 0x003f,
    -    0x997b, 0x967d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f88, 0x91fa,
    -    0x003f, 0x997d, 0x93e2, 0x003f, 0xed66, 0x997e, 0x003f, 0x003f,
    -    0x9980, 0x8a4d, 0x003f, 0x003f, 0x003f, 0x9981, 0x8ba5, 0x003f,
    -    0x93ca, 0x899a, 0x8f6f, 0x003f, 0x003f, 0x949f, 0x9982, 0x003f,
    -    /* 0x5200 .. 0x52ff */
    -    0x9381, 0x003f, 0x003f, 0x906e, 0x9983, 0x003f, 0x95aa, 0x90d8,
    -    0x8aa0, 0x003f, 0x8aa7, 0x9984, 0x003f, 0x003f, 0x9986, 0x003f,
    -    0x003f, 0x8c59, 0x003f, 0x003f, 0x9985, 0xed67, 0x003f, 0x97f1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f89, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x94bb, 0x95ca, 0x003f, 0x9987,
    -    0x003f, 0x9798, 0x9988, 0x003f, 0x003f, 0x003f, 0x9989, 0x003f,
    -    0x939e, 0x003f, 0x003f, 0x998a, 0x003f, 0x003f, 0x90a7, 0x8dfc,
    -    0x8c94, 0x998b, 0x8e68, 0x8d8f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x92e4, 0x998d, 0x003f, 0x003f, 0x91a5,
    -    0x003f, 0x003f, 0x8ded, 0x998e, 0x998f, 0x914f, 0x003f, 0x998c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9991, 0x003f, 0x9655, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8d84, 0x003f, 0x003f, 0x9990, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8c95, 0x8ddc, 0x948d, 0x003f, 0x003f,
    -    0x003f, 0x9994, 0x9992, 0x003f, 0x003f, 0x003f, 0x003f, 0x959b,
    -    0x8fe8, 0x999b, 0x8a84, 0x9995, 0x9993, 0x916e, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9997, 0x003f, 0x9996,
    -    0x003f, 0x003f, 0x003f, 0x8a63, 0x003f, 0x003f, 0x003f, 0x8c80,
    -    0x999c, 0x97ab, 0x003f, 0x003f, 0x003f, 0x9998, 0x003f, 0x003f,
    -    0x003f, 0x999d, 0x999a, 0x003f, 0x9999, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x97cd, 0xed68, 0x003f, 0x003f, 0x8cf7,
    -    0x89c1, 0x003f, 0x003f, 0x97f2, 0x003f, 0x003f, 0xed69, 0x003f,
    -    0x003f, 0x8f95, 0x9377, 0x8d85, 0x99a0, 0x99a1, 0x003f, 0xee5b,
    -    0x003f, 0x97e3, 0x003f, 0x003f, 0x984a, 0x99a3, 0x003f, 0x003f,
    -    0x003f, 0x8cf8, 0x003f, 0x003f, 0x99a2, 0x003f, 0x8a4e, 0x003f,
    -    0xed6a, 0x99a4, 0x003f, 0x9675, 0x003f, 0x92ba, 0x003f, 0x9745,
    -    0x003f, 0x95d7, 0x003f, 0x003f, 0x003f, 0x99a5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe8d3, 0x003f, 0x003f, 0x93ae, 0x003f, 0x99a6,
    -    0x8aa8, 0x96b1, 0x003f, 0xed6b, 0x003f, 0x8f9f, 0x99a7, 0x95e5,
    -    0x99ab, 0x003f, 0x90a8, 0x99a8, 0x8bce, 0x003f, 0x99a9, 0x8aa9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8c4d, 0x99ac, 0x003f, 0x99ad, 0x003f, 0x003f,
    -    0x99ae, 0x99af, 0x8ed9, 0x003f, 0x003f, 0x003f, 0x8cf9, 0x96dc,
    -    /* 0x5300 .. 0x53ff */
    -    0xed6c, 0x96e6, 0x93f5, 0x003f, 0x003f, 0x95ef, 0x99b0, 0xed6d,
    -    0x99b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b3, 0x003f, 0x99b5,
    -    0x99b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b6, 0x89bb, 0x966b,
    -    0x003f, 0x8dfa, 0x99b7, 0x003f, 0x003f, 0x9178, 0x003f, 0x003f,
    -    0x8fa0, 0x8ba7, 0x003f, 0x99b8, 0xed6e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x94d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b9,
    -    0x003f, 0x99ba, 0x003f, 0x99bb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x99bc, 0x9543, 0x8be6, 0x88e3, 0x003f, 0x003f, 0x003f, 0x93bd,
    -    0x99bd, 0x8f5c, 0x003f, 0x90e7, 0x003f, 0x99bf, 0x99be, 0x8fa1,
    -    0x8cdf, 0x99c1, 0x94bc, 0x003f, 0x003f, 0x99c2, 0x003f, 0x003f,
    -    0x003f, 0x94da, 0x91b2, 0x91ec, 0x8ba6, 0x003f, 0x003f, 0x93ec,
    -    0x9250, 0x003f, 0x948e, 0x003f, 0x966d, 0x003f, 0x99c4, 0x003f,
    -    0x90e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c54, 0x003f,
    -    0x003f, 0x99c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x99c6, 0x894b,
    -    0x88f3, 0x8aeb, 0xed6f, 0x91a6, 0x8b70, 0x9791, 0x003f, 0x99c9,
    -    0x89b5, 0x003f, 0x003f, 0x99c8, 0x003f, 0x003f, 0x003f, 0x8ba8,
    -    0x003f, 0x003f, 0x99ca, 0x003f, 0x96ef, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xed70, 0x003f, 0x003f, 0x99cb, 0x003f,
    -    0x97d0, 0x003f, 0x8cfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cb4,
    -    0x99cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x99ce, 0x99cd, 0x003f,
    -    0x907e, 0x8958, 0x003f, 0x003f, 0x003f, 0x897d, 0x99cf, 0x003f,
    -    0x99d0, 0x003f, 0xed71, 0x8cb5, 0x003f, 0x003f, 0x99d1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8b8e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8e51, 0x99d2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9694, 0x8db3, 0x8b79, 0x9746, 0x916f, 0x94bd, 0x8efb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8f66, 0x003f, 0x8ee6, 0x8ef3,
    -    0x003f, 0x8f96, 0x003f, 0x94be, 0x003f, 0xed72, 0x003f, 0x99d5,
    -    0x003f, 0x8962, 0x9170, 0x8cfb, 0x8cc3, 0x8be5, 0x003f, 0x003f,
    -    0x99d9, 0x9240, 0x91fc, 0x8ba9, 0x8fa2, 0x99da, 0x99d8, 0x89c2,
    -    0x91e4, 0x8eb6, 0x8e6a, 0x8945, 0x003f, 0x003f, 0x8a90, 0x8d86,
    -    0x8e69, 0x003f, 0x99db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5400 .. 0x54ff */
    -    0x003f, 0x99dc, 0x003f, 0x8b68, 0x8a65, 0x003f, 0x003f, 0x003f,
    -    0x8d87, 0x8b67, 0x92dd, 0x8944, 0x93af, 0x96bc, 0x8d40, 0x9799,
    -    0x9366, 0x8cfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8c4e, 0x003f, 0x99e5, 0x003f, 0x8be1,
    -    0x9669, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94db, 0x003f,
    -    0x003f, 0x99e4, 0x003f, 0x8adc, 0x99df, 0x99e0, 0x99e2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99e3, 0x003f,
    -    0x8b7a, 0x9081, 0x003f, 0x95ab, 0x99e1, 0x99dd, 0x8ce1, 0x003f,
    -    0x99de, 0x003f, 0x9843, 0x003f, 0x003f, 0x003f, 0x95f0, 0x003f,
    -    0x92e6, 0x8ce0, 0x8d90, 0x003f, 0x003f, 0x003f, 0x99e6, 0x003f,
    -    0x003f, 0x93db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99ea,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8efc, 0x003f, 0x8ef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x99ed, 0x99eb, 0x003f, 0x96a1, 0x003f, 0x99e8, 0x99f1, 0x99ec,
    -    0x003f, 0x003f, 0x003f, 0x99ef, 0x8cc4, 0x96bd, 0x003f, 0x003f,
    -    0x99f0, 0x003f, 0x003f, 0x003f, 0x99f2, 0x003f, 0x99f4, 0x003f,
    -    0x003f, 0x003f, 0xed75, 0x8dee, 0x9861, 0x003f, 0x99e9, 0x99e7,
    -    0x99f3, 0x003f, 0x99ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xed74, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x99f6, 0x003f, 0x9a42, 0x99f8, 0x003f, 0x003f,
    -    0x99fc, 0xed76, 0x003f, 0x9a40, 0x99f9, 0x003f, 0x003f, 0x9a5d,
    -    0x003f, 0x003f, 0x8de7, 0x8a50, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x99f7, 0x003f, 0x003f, 0x003f, 0x9a44, 0x88f4, 0x9a43, 0x003f,
    -    0x88a3, 0x9569, 0x9a41, 0x003f, 0x99fa, 0x003f, 0x003f, 0x99f5,
    -    0x99fb, 0x8dc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9a45, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x88f5, 0x9a4e, 0x003f, 0x003f, 0x9a46, 0x9a47, 0x003f,
    -    0x8fa3, 0x9689, 0x003f, 0x003f, 0x003f, 0x9a4c, 0x9a4b, 0x003f,
    -    0x003f, 0x003f, 0x934e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9a4d, 0x003f, 0x003f, 0x9a4a, 0x003f, 0xed77,
    -    /* 0x5500 .. 0x55ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8953, 0x003f, 0x8db4, 0x904f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a48,
    -    0x9382, 0x003f, 0x003f, 0x003f, 0x9a49, 0x003f, 0x88a0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a53, 0x9742,
    -    0x003f, 0x8fa5, 0x003f, 0x9a59, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9a58, 0x9a4f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91c1, 0x003f,
    -    0x9a50, 0x003f, 0x003f, 0x003f, 0x91ed, 0x9a55, 0x8fa4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a52, 0x003f, 0x003f, 0x96e2,
    -    0x003f, 0x003f, 0x003f, 0x8c5b, 0x003f, 0x003f, 0x9a56, 0x9a57,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a54, 0x9a5a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9a51, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9a60, 0x9a65, 0x003f, 0x9a61, 0x003f,
    -    0x9a5c, 0x003f, 0x003f, 0x9a66, 0x9150, 0x003f, 0xed78, 0x9a68,
    -    0x003f, 0x8d41, 0x9a5e, 0x929d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9a62, 0x9a5b, 0x8aab, 0x003f, 0x8aec, 0x8a85, 0x9a63, 0x9a5f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c96,
    -    0x9a69, 0x9a67, 0x9172, 0x8b69, 0x8baa, 0x003f, 0x9a64, 0x003f,
    -    0x8bf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8963, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a6d, 0x9a6b, 0x003f, 0x9aa5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a70, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9a6a, 0x003f, 0x9a6e, 0x003f, 0x003f, 0x9a6c,
    -    0x003f, 0x003f, 0x003f, 0x8e6b, 0x9a6f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a72,
    -    0x003f, 0x9a77, 0x003f, 0x003f, 0x003f, 0x9a75, 0x9a74, 0x003f,
    -    /* 0x5600 .. 0x56ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9251, 0x003f,
    -    0x003f, 0x89c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a71, 0x003f, 0x9a73, 0x8fa6,
    -    0x8952, 0x003f, 0x003f, 0x9a76, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x89dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a82,
    -    0x003f, 0x8ffa, 0x9a7d, 0x003f, 0x9a7b, 0x003f, 0x9a7c, 0x003f,
    -    0x9a7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x895c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9158, 0x003f, 0x9a78, 0x003f,
    -    0x9a79, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8a9a, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a81, 0x003f, 0x003f, 0x003f,
    -    0x8aed, 0x003f, 0x9a84, 0x9a80, 0x9a83, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x95ac, 0x003f, 0x003f, 0x003f,
    -    0x93d3, 0x003f, 0x94b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9a86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a85, 0x8a64,
    -    0x003f, 0x003f, 0x9a87, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a8a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a89, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9a88, 0x003f, 0x9458, 0x003f, 0x003f, 0x9a8b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a8c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a8e, 0x003f, 0x9a8d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9a90, 0x003f, 0x003f, 0x003f,
    -    0x9a93, 0x9a91, 0x9a8f, 0x9a92, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9a94, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a95, 0x003f,
    -    0x003f, 0x9a96, 0x003f, 0x9a97, 0x003f, 0x003f, 0x003f, 0x9a98,
    -    0x9964, 0x003f, 0x8efa, 0x8e6c, 0x003f, 0x003f, 0x89f1, 0x003f,
    -    0x88f6, 0x003f, 0x003f, 0x9263, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a99, 0x003f,
    -    0x8da2, 0x003f, 0x88cd, 0x907d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9a9a, 0x8cc5, 0x003f, 0x003f, 0x8d91, 0x003f, 0x9a9c,
    -    /* 0x5700 .. 0x57ff */
    -    0x9a9b, 0x003f, 0x003f, 0x95de, 0x9a9d, 0x003f, 0x003f, 0x003f,
    -    0x9a9f, 0x9a9e, 0x003f, 0x9aa0, 0x003f, 0x9aa1, 0x003f, 0x8c97,
    -    0x003f, 0x003f, 0x8980, 0x9aa2, 0x003f, 0x003f, 0x9aa4, 0x003f,
    -    0x9aa3, 0x003f, 0x003f, 0x003f, 0x9aa6, 0x003f, 0x003f, 0x9379,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9aa7, 0x88b3,
    -    0x8ddd, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c5c, 0x003f, 0x003f,
    -    0x926e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9aa8,
    -    0x9aa9, 0x003f, 0x003f, 0x9aab, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9aac, 0x003f, 0x8de2, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bcf,
    -    0x003f, 0x003f, 0x9656, 0x003f, 0x003f, 0x003f, 0x9aaa, 0x9aad,
    -    0x8dbf, 0x8d42, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xed79, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9ab1, 0x003f, 0x003f, 0x8da3, 0xed7a, 0x9252, 0x003f,
    -    0x003f, 0x9aae, 0x92d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ab2,
    -    0x003f, 0x003f, 0x9082, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9ab0, 0x9ab3, 0x003f, 0x8c5e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9ab4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9ab5, 0x003f, 0x8d43, 0x8a5f, 0x9ab7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9ab8, 0x003f, 0xed7b, 0x003f, 0x003f, 0x003f,
    -    0x9ab9, 0x003f, 0x003f, 0x9ab6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9aaf, 0x003f, 0x003f, 0x9aba, 0x003f, 0x003f, 0x9abb, 0xed7d,
    -    0xed7c, 0x003f, 0x003f, 0x9684, 0x003f, 0x003f, 0x8fe9, 0x003f,
    -    0x003f, 0x003f, 0x9abd, 0x9abe, 0x9abc, 0x003f, 0x9ac0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9457, 0x003f, 0x003f, 0x88e6,
    -    0x9575, 0x003f, 0x003f, 0x9ac1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8ffb, 0x003f, 0x003f, 0x8eb7,
    -    0x003f, 0x947c, 0x8aee, 0x003f, 0x8de9, 0x003f, 0x003f, 0x003f,
    -    /* 0x5800 .. 0x58ff */
    -    0x9678, 0x003f, 0x93b0, 0x003f, 0x003f, 0x8c98, 0x91cd, 0x003f,
    -    0x003f, 0x003f, 0x9abf, 0x9ac2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91c2, 0x003f, 0x003f,
    -    0x003f, 0x9ac3, 0x003f, 0x003f, 0x003f, 0x9ac4, 0x003f, 0x003f,
    -    0x003f, 0x9ac6, 0x003f, 0x003f, 0x92e7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8aac, 0x003f, 0x003f, 0x003f, 0x003f, 0xea9f,
    -    0x8981, 0x95f1, 0x003f, 0x003f, 0x8fea, 0x9367, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8de4, 0x003f, 0x003f, 0x9acc, 0x003f, 0x003f,
    -    0x95bb, 0x97db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x89f2, 0x9ac8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9159, 0x9acb, 0x003f, 0x9383, 0x003f, 0x003f, 0x9368,
    -    0x9384, 0x94b7, 0x92cb, 0x003f, 0x003f, 0x003f, 0x8dc7, 0x003f,
    -    0x003f, 0x003f, 0x9ac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8996, 0x003f, 0x9355, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9ac9, 0x003f, 0x9ac5, 0x003f, 0x003f, 0x906f, 0x003f, 0x003f,
    -    0x003f, 0x9acd, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f6d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8bab, 0x003f, 0x9ace, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x95e6, 0x003f, 0x003f, 0x003f, 0x919d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x92c4, 0x003f, 0xed81, 0x9ad0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x966e, 0x003f, 0x003f, 0x9ad1, 0x003f, 0x003f, 0x9ad6, 0x003f,
    -    0x003f, 0x003f, 0xed82, 0x95ad, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9ad5, 0x9acf, 0x9ad2, 0x9ad4, 0x003f, 0x003f, 0x8da4, 0x003f,
    -    0x003f, 0x95c7, 0x003f, 0x003f, 0x003f, 0x9ad7, 0x003f, 0x9264,
    -    0x003f, 0x003f, 0x89f3, 0x003f, 0x8feb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9ad9, 0x003f, 0x9ad8, 0x003f, 0x8d88, 0x003f, 0x9ada,
    -    0x9adc, 0x9adb, 0x003f, 0x003f, 0x9ade, 0x003f, 0x9ad3, 0x9ae0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9adf, 0x9add, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8e6d, 0x9070, 0x003f, 0x9173, 0x9ae1,
    -    0x90ba, 0x88eb, 0x9484, 0x003f, 0x003f, 0x003f, 0x003f, 0x92d9,
    -    0x003f, 0x9ae3, 0x9ae2, 0x9ae4, 0x9ae5, 0x9ae6, 0x003f, 0x003f,
    -    /* 0x5900 .. 0x59ff */
    -    0x003f, 0x003f, 0x9ae7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x95cf, 0x9ae8, 0xed83, 0x003f, 0x003f, 0x003f, 0x89c4,
    -    0x9ae9, 0x003f, 0x003f, 0x003f, 0x003f, 0x975b, 0x8a4f, 0x003f,
    -    0x99c7, 0x8f67, 0x91bd, 0x9aea, 0x96e9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x96b2, 0x003f, 0x003f, 0x9aec, 0x003f, 0x91e5,
    -    0x003f, 0x9356, 0x91be, 0x9576, 0x9aed, 0x9aee, 0x899b, 0x003f,
    -    0x003f, 0x8eb8, 0x9aef, 0x003f, 0x003f, 0x003f, 0x003f, 0x88ce,
    -    0x9af0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9af1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8982, 0x003f, 0x003f, 0x8aef,
    -    0x93de, 0x95f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x9af5, 0x9174,
    -    0x9af4, 0x8c5f, 0x003f, 0xed84, 0x967a, 0x9af3, 0x003f, 0x9385,
    -    0x9af7, 0x003f, 0x9af6, 0xed85, 0x003f, 0xed86, 0x003f, 0x003f,
    -    0x9af9, 0x003f, 0x9af8, 0xed87, 0x003f, 0x899c, 0x003f, 0x9afa,
    -    0x8fa7, 0x9afc, 0x9244, 0x003f, 0x9afb, 0x003f, 0x95b1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8f97, 0x937a, 0x003f, 0x003f, 0x003f,
    -    0x9b40, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d44, 0x003f, 0x003f,
    -    0x003f, 0x9b41, 0x9440, 0x94dc, 0x96cf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9444, 0x003f, 0x003f, 0x9b4a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8b57, 0x003f, 0x003f, 0x9764, 0x003f,
    -    0x003f, 0x96ad, 0x003f, 0x9baa, 0x003f, 0x9b42, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9b45, 0xed88, 0x91c3, 0x003f, 0x003f,
    -    0x9657, 0x003f, 0x003f, 0x003f, 0x9369, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9b46, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9685, 0xed89, 0x8dc8, 0x003f, 0x003f, 0x8fa8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b47, 0x003f,
    -    0x003f, 0x8e6f, 0x003f, 0x8e6e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x88b7, 0x8cc6, 0x003f, 0x90a9, 0x88cf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9b4b, 0x9b4c, 0x003f, 0x9b49, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8957, 0x8aad, 0x003f,
    -    0x9b48, 0x003f, 0x96c3, 0x9550, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88a6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x88f7, 0x003f, 0x003f, 0x003f, 0x8e70,
    -    /* 0x5a00 .. 0x5aff */
    -    0x003f, 0x88d0, 0x003f, 0x88a1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9b51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9b4f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x96ba, 0x003f, 0x9b52, 0x003f, 0x9b50, 0x003f, 0x003f, 0x9b4e,
    -    0x9050, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b4d, 0x003f, 0x003f,
    -    0x003f, 0x95d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ce2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b56, 0x9b57, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8fa9, 0x003f, 0x003f, 0x003f,
    -    0x9b53, 0x984b, 0x003f, 0x003f, 0x003f, 0x003f, 0x946b, 0x003f,
    -    0x003f, 0x9b55, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8da5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9b58, 0x003f, 0x003f, 0x003f, 0x9577, 0x003f,
    -    0x003f, 0x003f, 0x9b59, 0x003f, 0x9b54, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x96b9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x947d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9b5a, 0x9551, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9b5b, 0x9b5f, 0x9b5c, 0x003f,
    -    0x003f, 0x89c5, 0x9b5e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8eb9, 0x003f, 0x9b5d, 0x8c99, 0x003f, 0x003f, 0x003f,
    -    0x9b6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b64, 0x9b61,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9284, 0x003f, 0x9b60, 0x003f, 0x003f, 0x9b62, 0x003f,
    -    0x003f, 0x9b63, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9b65, 0x9b66, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5b00 .. 0x5bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8af0, 0x003f, 0x9b68, 0x9b67, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b69, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8fec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9b6c, 0x003f, 0x92da, 0x003f, 0x003f, 0x003f,
    -    0x8964, 0x003f, 0x9b6a, 0x003f, 0x003f, 0x003f, 0x9b6d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b6e, 0x003f,
    -    0x9b71, 0x003f, 0x003f, 0x9b6f, 0x003f, 0x9b70, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8e71, 0x9b72, 0x003f, 0x003f, 0x8d45, 0x9b73, 0xed8a, 0x8e9a,
    -    0x91b6, 0x003f, 0x9b74, 0x9b75, 0x8e79, 0x8d46, 0x003f, 0x96d0,
    -    0x003f, 0x003f, 0x003f, 0x8b47, 0x8cc7, 0x9b76, 0x8a77, 0x003f,
    -    0x003f, 0x9b77, 0x003f, 0x91b7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9b78, 0x9ba1, 0x003f, 0x9b79, 0x003f, 0x9b7a, 0x003f, 0x003f,
    -    0x9b7b, 0x003f, 0x9b7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9b7e, 0x003f, 0x003f, 0x9b80, 0x003f, 0x91ee, 0x003f, 0x8946,
    -    0x8ee7, 0x88c0, 0x003f, 0x9176, 0x8aae, 0x8eb3, 0x003f, 0x8d47,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9386, 0x003f, 0x8f40,
    -    0x8aaf, 0x9288, 0x92e8, 0x88b6, 0x8b58, 0x95f3, 0x003f, 0x8ec0,
    -    0x003f, 0x003f, 0x8b71, 0x90e9, 0x8eba, 0x9747, 0x9b81, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b7b, 0x003f,
    -    0x8dc9, 0x003f, 0x003f, 0x8a51, 0x8983, 0x8faa, 0x89c6, 0x003f,
    -    0x9b82, 0x9765, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f68,
    -    0xed8b, 0x003f, 0x8ee2, 0x9b83, 0x8af1, 0x93d0, 0x96a7, 0x9b84,
    -    0x003f, 0x9b85, 0x003f, 0x003f, 0x9578, 0x003f, 0x003f, 0x003f,
    -    0x9b87, 0x003f, 0x8aa6, 0x8bf5, 0x9b86, 0x003f, 0x003f, 0x003f,
    -    0xed8d, 0x003f, 0x003f, 0x8ab0, 0x003f, 0x9051, 0x9b8b, 0x8e40,
    -    0x003f, 0x89c7, 0x9b8a, 0x003f, 0x9b88, 0x9b8c, 0x9b89, 0x944a,
    -    0x9ecb, 0x9052, 0x003f, 0x9b8d, 0xed8e, 0x003f, 0x97be, 0x003f,
    -    0x9b8e, 0x003f, 0x003f, 0x9b90, 0x003f, 0x929e, 0x9b8f, 0x003f,
    -    0x90a1, 0x003f, 0x8e9b, 0x003f, 0x003f, 0x003f, 0x91ce, 0x8ef5,
    -    /* 0x5c00 .. 0x5cff */
    -    0x003f, 0x9595, 0x90ea, 0x003f, 0x8ecb, 0x9b91, 0x8fab, 0x9b92,
    -    0x9b93, 0x88d1, 0x91b8, 0x9071, 0x003f, 0x9b94, 0x93b1, 0x8fac,
    -    0x003f, 0x8fad, 0x003f, 0x9b95, 0x003f, 0x003f, 0x90eb, 0x003f,
    -    0x003f, 0x003f, 0x8fae, 0x003f, 0x003f, 0x003f, 0xed8f, 0x003f,
    -    0x9b96, 0x003f, 0x9b97, 0x003f, 0x96de, 0x003f, 0x003f, 0x003f,
    -    0x9b98, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bc4, 0x003f, 0x003f,
    -    0x003f, 0x8f41, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9b99, 0x9b9a, 0x8eda, 0x904b, 0x93f2, 0x9073, 0x94f6, 0x9441,
    -    0x8bc7, 0x9b9b, 0x003f, 0x003f, 0x003f, 0x8b8f, 0x9b9c, 0x003f,
    -    0x8bfc, 0x003f, 0x93cd, 0x89ae, 0x003f, 0x8e72, 0x9b9d, 0x9ba0,
    -    0x9b9f, 0x8bfb, 0x003f, 0x9b9e, 0x003f, 0x9357, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91ae, 0x003f,
    -    0x936a, 0x8ec6, 0x003f, 0x003f, 0x9177, 0x979a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9ba2, 0x003f, 0x9ba3, 0x93d4,
    -    0x003f, 0x8e52, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ba5, 0x003f,
    -    0x003f, 0x9ba6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9ba7, 0x003f, 0x003f, 0x003f,
    -    0x8af2, 0x9ba8, 0x003f, 0x003f, 0x9ba9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x89aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xed90, 0x003f,
    -    0x915a, 0x8ae2, 0x003f, 0x9bab, 0x96a6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x91d0, 0x003f, 0x8a78, 0x003f, 0x003f, 0x9bad, 0x9baf,
    -    0x8add, 0x003f, 0xed91, 0x9bac, 0x9bae, 0x003f, 0x9bb1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bb0, 0x003f, 0x9bb2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9bb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x93bb, 0x8bac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x89e3, 0x9bb4, 0x9bb9, 0x003f, 0x003f, 0x9bb7, 0x003f, 0x95f5,
    -    0x95f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xed92, 0x9387, 0x003f,
    -    0x003f, 0x003f, 0x9bb6, 0x8f73, 0x003f, 0x9bb5, 0x003f, 0x003f,
    -    /* 0x5d00 .. 0x5dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9092,
    -    0x003f, 0x003f, 0x003f, 0x9bba, 0x003f, 0x003f, 0x8de8, 0x003f,
    -    0x003f, 0x9bc0, 0x003f, 0x003f, 0x9bc1, 0x9bbb, 0x8a52, 0x9bbc,
    -    0x9bc5, 0x9bc4, 0x9bc3, 0x9bbf, 0x003f, 0x003f, 0x003f, 0x9bbe,
    -    0x003f, 0x003f, 0x9bc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xed93,
    -    0x003f, 0x95f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xed96, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9bc9, 0x9bc6, 0x003f, 0x9bc8, 0x003f,
    -    0x9792, 0x003f, 0x9bc7, 0xed94, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9bbd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9093, 0x003f, 0x003f, 0x9bca, 0xed97, 0x003f, 0x8db5,
    -    0x003f, 0x003f, 0x003f, 0x9bcb, 0x003f, 0x003f, 0x9bcc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9bcf, 0x003f, 0x9bce, 0x003f, 0x003f, 0x9bcd,
    -    0x003f, 0x003f, 0x003f, 0x9388, 0x9bb8, 0x003f, 0x003f, 0x003f,
    -    0x9bd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bd1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9bd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9bd2, 0x003f, 0x9bd3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bd6,
    -    0xed98, 0xed99, 0x97e4, 0x003f, 0x9bd7, 0x9bd4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9bd8, 0x003f, 0x003f, 0x8ade, 0x9bd9, 0x003f, 0x003f,
    -    0xed9a, 0x003f, 0x9bdb, 0x9bda, 0x003f, 0x003f, 0x9bdc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9bdd, 0x003f, 0x90ec, 0x8f42, 0x003f,
    -    0x003f, 0x8f84, 0x003f, 0x9183, 0x003f, 0x8d48, 0x8db6, 0x8d49,
    -    0x8b90, 0x003f, 0x003f, 0x9bde, 0x003f, 0x003f, 0x8db7, 0x003f,
    -    0x003f, 0x8cc8, 0x9bdf, 0x96a4, 0x9462, 0x9be0, 0x003f, 0x8d4a,
    -    0x003f, 0x003f, 0x003f, 0x8aaa, 0x003f, 0x9246, 0x8bd0, 0x003f,
    -    /* 0x5e00 .. 0x5eff */
    -    0x003f, 0x003f, 0x8e73, 0x957a, 0x003f, 0x003f, 0x94bf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9be1, 0x8af3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9be4, 0x003f, 0x003f, 0x003f, 0x003f, 0x929f, 0x003f,
    -    0x003f, 0x9be3, 0x9be2, 0x9be5, 0x003f, 0x92e9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9083, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8e74, 0x003f, 0x90c8, 0x003f, 0x91d1,
    -    0x8b41, 0x003f, 0x003f, 0x92a0, 0x003f, 0x003f, 0x9be6, 0x9be7,
    -    0x8fed, 0x003f, 0x003f, 0x003f, 0x003f, 0x9658, 0x003f, 0x003f,
    -    0x9bea, 0x003f, 0x003f, 0x9be9, 0x9be8, 0x959d, 0x003f, 0x9bf1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9679, 0x003f, 0x9beb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9bed, 0x968b, 0x003f, 0x9bec,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bee,
    -    0x003f, 0x94a6, 0x9bef, 0x95bc, 0x9bf0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8ab1, 0x95bd, 0x944e, 0x9bf2, 0x9bf3, 0x003f,
    -    0x8d4b, 0x8ab2, 0x9bf4, 0x8cb6, 0x9763, 0x9748, 0x8af4, 0x9bf6,
    -    0x003f, 0x92a1, 0x003f, 0x8d4c, 0x8faf, 0x003f, 0x003f, 0x94dd,
    -    0x003f, 0x003f, 0x8fb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f98,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92ea, 0x95f7, 0x9358,
    -    0x003f, 0x003f, 0x8d4d, 0x003f, 0x957b, 0x003f, 0x003f, 0x003f,
    -    0x9bf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9378, 0x8dc0,
    -    0x003f, 0x003f, 0x003f, 0x8cc9, 0x003f, 0x92eb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88c1, 0x8f8e, 0x8d4e,
    -    0x9766, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9bf8, 0x9bf9, 0x9470, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9bfa, 0x97f5, 0x984c, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bfc,
    -    0x9bfb, 0x003f, 0x003f, 0x8a66, 0x003f, 0x003f, 0x9c40, 0x003f,
    -    0x003f, 0x003f, 0x9c43, 0x9c44, 0x003f, 0x9c42, 0x003f, 0x955f,
    -    0x8fb1, 0x9c46, 0x9c45, 0x9c41, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9c47, 0x9c48, 0x003f, 0x003f, 0x9c49, 0x003f, 0x003f, 0x003f,
    -    0x9c4c, 0x9c4a, 0x003f, 0x9c4b, 0x9c4d, 0x003f, 0x8984, 0x92ec,
    -    0x9c4e, 0x003f, 0x8c9a, 0x89f4, 0x9455, 0x003f, 0x9c4f, 0x93f9,
    -    /* 0x5f00 .. 0x5fff */
    -    0x003f, 0x95d9, 0x003f, 0x9c50, 0x984d, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9c51, 0x95be, 0x9c54, 0x989f, 0x98af, 0x003f, 0x8eae,
    -    0x93f3, 0x9c55, 0x003f, 0x8b7c, 0x92a2, 0x88f8, 0x9c56, 0x95a4,
    -    0x8d4f, 0x003f, 0x003f, 0x926f, 0x003f, 0x003f, 0x003f, 0x92ed,
    -    0x003f, 0xed9b, 0x003f, 0x003f, 0x003f, 0x96ed, 0x8cb7, 0x8cca,
    -    0x003f, 0x9c57, 0x003f, 0x003f, 0x003f, 0x9c58, 0x003f, 0x9c5e,
    -    0x003f, 0x8ee3, 0x003f, 0x003f, 0xed9c, 0x92a3, 0x003f, 0x8bad,
    -    0x9c59, 0x003f, 0x003f, 0x003f, 0x954a, 0x003f, 0x9265, 0x003f,
    -    0x003f, 0x9c5a, 0x003f, 0x003f, 0x003f, 0xed4b, 0x003f, 0x003f,
    -    0x9c5b, 0x003f, 0x8bae, 0x003f, 0x9c5c, 0x003f, 0x9c5d, 0x003f,
    -    0x003f, 0x9c5f, 0x003f, 0x9396, 0x003f, 0x003f, 0x9c60, 0x9c61,
    -    0x003f, 0x9c62, 0x003f, 0x003f, 0x9c53, 0x9c52, 0x003f, 0x003f,
    -    0x003f, 0x9c63, 0x8c60, 0x003f, 0x003f, 0x003f, 0x9546, 0xed9d,
    -    0x003f, 0x8dca, 0x9556, 0x92a4, 0x956a, 0x9c64, 0x003f, 0x003f,
    -    0x8fb2, 0x8965, 0x003f, 0x9c65, 0x003f, 0x003f, 0x003f, 0x9c66,
    -    0x003f, 0x96f0, 0x003f, 0x003f, 0x94de, 0x003f, 0x003f, 0x9c69,
    -    0x899d, 0x90aa, 0x9c68, 0x9c67, 0x8c61, 0x91d2, 0x003f, 0x9c6d,
    -    0x9c6b, 0x003f, 0x9c6a, 0x97a5, 0x8ce3, 0x003f, 0x003f, 0x003f,
    -    0x8f99, 0x9c6c, 0x936b, 0x8f5d, 0x003f, 0x003f, 0x003f, 0x93be,
    -    0x9c70, 0x9c6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c6e, 0x003f,
    -    0x9c71, 0x8ce4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9c72, 0x959c, 0x8f7a, 0x003f, 0x003f, 0x9c73, 0x94f7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x93bf, 0x92a5, 0x003f, 0x003f, 0xed9e,
    -    0x003f, 0x934f, 0x003f, 0x003f, 0x9c74, 0x8b4a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9053, 0x003f, 0x954b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8af5, 0x9445, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c75, 0x8e75,
    -    0x9659, 0x965a, 0x003f, 0x003f, 0x899e, 0x9c7a, 0xed9f, 0x003f,
    -    0x9289, 0x003f, 0x003f, 0x003f, 0x9c77, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x89f5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9cab, 0x9c79, 0x003f, 0x003f, 0x003f, 0x944f, 0x003f, 0x003f,
    -    0x9c78, 0x003f, 0x003f, 0x9c76, 0x003f, 0x8d9a, 0x003f, 0x9c7c,
    -    /* 0x6000 .. 0x60ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c83, 0x9c89,
    -    0x9c81, 0x003f, 0x937b, 0x003f, 0x003f, 0x9c86, 0x957c, 0x003f,
    -    0x003f, 0x9c80, 0x003f, 0x9c85, 0x97e5, 0x8e76, 0x003f, 0x003f,
    -    0x91d3, 0x9c7d, 0x003f, 0x003f, 0x003f, 0x8b7d, 0x9c88, 0x90ab,
    -    0x8985, 0x9c82, 0x89f6, 0x9c87, 0x003f, 0x003f, 0x003f, 0x8baf,
    -    0x003f, 0x9c84, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9c8a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9c8c, 0x9c96, 0x9c94, 0x003f, 0x003f, 0x9c91, 0x003f,
    -    0x003f, 0x003f, 0x9c90, 0x97f6, 0x003f, 0x9c92, 0x003f, 0x003f,
    -    0x8bb0, 0x003f, 0x8d50, 0x003f, 0x003f, 0x8f9a, 0x003f, 0x003f,
    -    0x003f, 0x9c99, 0x9c8b, 0x003f, 0x003f, 0xeda0, 0x003f, 0x9c8f,
    -    0x9c7e, 0x003f, 0x89f8, 0x9c93, 0x9c95, 0x9270, 0x003f, 0x003f,
    -    0x8da6, 0x89b6, 0x9c8d, 0x9c98, 0x9c97, 0x8bb1, 0x003f, 0x91a7,
    -    0x8a86, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c62, 0x003f, 0x9c8e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9c9a, 0x003f, 0x9c9d, 0x9c9f, 0xeda1, 0x003f, 0x003f,
    -    0x003f, 0x8ebb, 0xeda2, 0x9ca5, 0x92ee, 0x9c9b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9ca3, 0x003f, 0x89f7, 0x003f, 0x9ca1, 0x9ca2,
    -    0x003f, 0x003f, 0x9c9e, 0x9ca0, 0x003f, 0x003f, 0x003f, 0x8ce5,
    -    0x9749, 0x003f, 0x003f, 0x8ab3, 0x003f, 0x003f, 0x8978, 0x9ca4,
    -    0x003f, 0x9459, 0x88ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x94df, 0x9c7b, 0x9caa, 0x9cae, 0x96e3, 0x003f,
    -    0x9ca7, 0x003f, 0x003f, 0x003f, 0x9389, 0x9cac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fee, 0x9cad, 0x93d5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9866, 0x003f, 0x9ca9, 0x003f, 0xeda4, 0x003f, 0x003f,
    -    0x9caf, 0x003f, 0x8d9b, 0x003f, 0x90c9, 0x003f, 0xeda3, 0x88d2,
    -    0x9ca8, 0x9ca6, 0x003f, 0x9179, 0x003f, 0x003f, 0x003f, 0x9c9c,
    -    0x8e53, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x91c4, 0x9cbb, 0xeda6, 0x917a, 0x9cb6, 0x003f, 0x9cb3, 0x9cb4,
    -    0x003f, 0x8ee4, 0x9cb7, 0x9cba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6100 .. 0x61ff */
    -    0x9cb5, 0x8f44, 0x003f, 0x9cb8, 0x003f, 0x003f, 0x9cb2, 0x003f,
    -    0x96fa, 0x96f9, 0x003f, 0x003f, 0x003f, 0x9cbc, 0x9cbd, 0x88d3,
    -    0x003f, 0xeda7, 0x003f, 0x003f, 0x003f, 0x9cb1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8bf0, 0x88a4, 0x003f, 0x003f, 0x003f, 0x8ab4,
    -    0xeda5, 0x9cb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9cc1,
    -    0x9cc0, 0x003f, 0x003f, 0x003f, 0x9cc5, 0x003f, 0x003f, 0x003f,
    -    0xeda9, 0x003f, 0x003f, 0x003f, 0x9cc6, 0x003f, 0x003f, 0xeda8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9cc4, 0x9cc7, 0x9cbf, 0x9cc3,
    -    0x003f, 0x003f, 0x9cc8, 0x003f, 0x9cc9, 0x003f, 0x003f, 0x9cbe,
    -    0x8e9c, 0x003f, 0x9cc2, 0x91d4, 0x8d51, 0x9cb0, 0x9054, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9cd6, 0x003f, 0x95e7, 0x003f, 0x003f,
    -    0x9ccc, 0x9ccd, 0x9cce, 0x003f, 0x003f, 0x9cd5, 0x003f, 0x9cd4,
    -    0x003f, 0x003f, 0x969d, 0x8ab5, 0x003f, 0x9cd2, 0x003f, 0x8c64,
    -    0x8a53, 0x003f, 0x003f, 0x9ccf, 0x003f, 0x003f, 0x97b6, 0x9cd1,
    -    0x88d4, 0x9cd3, 0x003f, 0x9cca, 0x9cd0, 0x9cd7, 0x8c63, 0x9ccb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x977c, 0x003f,
    -    0x003f, 0x003f, 0x974a, 0x003f, 0x003f, 0x003f, 0x003f, 0x9cda,
    -    0x003f, 0x003f, 0x9cde, 0x003f, 0x003f, 0x003f, 0x919e, 0x003f,
    -    0x97f7, 0x9cdf, 0x003f, 0x003f, 0x9cdc, 0x003f, 0x9cd9, 0x003f,
    -    0xedaa, 0x9cd8, 0x9cdd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x95ae, 0x003f, 0x003f, 0x93b2,
    -    0x003f, 0x8c65, 0x003f, 0x9ce0, 0x9cdb, 0x003f, 0x9ce1, 0x003f,
    -    0x003f, 0x003f, 0x8c9b, 0x003f, 0x003f, 0x003f, 0x89af, 0x003f,
    -    0x003f, 0x003f, 0x9ce9, 0x003f, 0x003f, 0x003f, 0x8ab6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9ce7, 0x003f, 0x003f, 0x9ce8, 0x8da7,
    -    0x9ce6, 0x9ce4, 0x9ce3, 0x9cea, 0x9ce2, 0x9cec, 0x003f, 0x003f,
    -    0x89f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9cee, 0x003f, 0x003f, 0x9ced, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x92a6, 0x003f, 0x9cf1, 0x003f, 0x9cef, 0x9ce5,
    -    0x8c9c, 0x003f, 0x9cf0, 0x003f, 0x9cf4, 0x9cf3, 0x9cf5, 0x9cf2,
    -    /* 0x6200 .. 0x62ff */
    -    0x9cf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9cf7, 0x9cf8, 0x95e8, 0x003f, 0x9cfa, 0x9cf9, 0x8f5e, 0x003f,
    -    0x90ac, 0x89e4, 0x89fa, 0xedab, 0x9cfb, 0x003f, 0x88bd, 0x003f,
    -    0x003f, 0x003f, 0x90ca, 0x9cfc, 0x003f, 0xe6c1, 0x9d40, 0x8c81,
    -    0x003f, 0x9d41, 0x003f, 0x003f, 0x003f, 0x003f, 0x90ed, 0x003f,
    -    0x003f, 0x003f, 0x9d42, 0x003f, 0x003f, 0x003f, 0x9d43, 0x8b59,
    -    0x9d44, 0x003f, 0x9d45, 0x9d46, 0x91d5, 0x003f, 0x003f, 0x003f,
    -    0x8ccb, 0x003f, 0x003f, 0x96df, 0x003f, 0x003f, 0x003f, 0x965b,
    -    0x8f8a, 0x9d47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90ee,
    -    0xe7bb, 0x94e0, 0x003f, 0x8ee8, 0x003f, 0x8dcb, 0x9d48, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x91c5, 0x003f, 0x95a5, 0x003f, 0x003f,
    -    0x91ef, 0x003f, 0x003f, 0x9d4b, 0x003f, 0x003f, 0x9d49, 0x003f,
    -    0x9d4c, 0x003f, 0x003f, 0x9d4a, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9d4d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95af, 0x003f,
    -    0x003f, 0x88b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x957d, 0x003f,
    -    0x003f, 0x94e1, 0x003f, 0x003f, 0x9d4e, 0x003f, 0x9d51, 0x8fb3,
    -    0x8b5a, 0x003f, 0x9d4f, 0x9d56, 0x8fb4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9d50, 0x9463, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x977d, 0x9d52, 0x9d53, 0x9d57, 0x938a, 0x9d54, 0x8d52,
    -    0x90dc, 0x003f, 0x003f, 0x9d65, 0x94b2, 0x003f, 0x91f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedac, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x94e2, 0x9dab, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x95f8, 0x003f, 0x003f, 0x003f, 0x92ef, 0x003f, 0x003f,
    -    0x003f, 0x9695, 0x003f, 0x9d5a, 0x899f, 0x928a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9d63, 0x003f, 0x003f, 0x9253, 0x9d5d, 0x9d64,
    -    0x9d5f, 0x9d66, 0x9d62, 0x003f, 0x9d61, 0x948f, 0x003f, 0x9d5b,
    -    0x89fb, 0x9d59, 0x8b91, 0x91f1, 0x9d55, 0x003f, 0x003f, 0x9d58,
    -    0x8d53, 0x90d9, 0x003f, 0x8fb5, 0x9d60, 0x9471, 0x003f, 0x003f,
    -    0x8b92, 0x8a67, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8a87, 0x9040, 0x9d68, 0x9d6d,
    -    0x003f, 0x9d69, 0x003f, 0x8c9d, 0x003f, 0x9d6e, 0x8e41, 0x8d89,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f45, 0x9d5c,
    -    /* 0x6300 .. 0x63ff */
    -    0x003f, 0x8e9d, 0x9d6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e77,
    -    0x9d6c, 0x88c2, 0x003f, 0x003f, 0x9d67, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x92a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8b93, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bb2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d6a,
    -    0x88a5, 0x003f, 0x003f, 0x8dc1, 0x003f, 0x003f, 0x003f, 0x9055,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x92f0, 0x003f, 0x003f, 0x94d2, 0x9d70, 0x917d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x91a8, 0x003f, 0x003f, 0x8e4a, 0x9d71, 0x003f, 0x9d73,
    -    0x9d6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95df, 0x003f, 0x92bb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x917b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95f9,
    -    0x8ecc, 0x9d80, 0x003f, 0x9d7e, 0x003f, 0x003f, 0x9098, 0x003f,
    -    0x003f, 0x003f, 0x8c9e, 0x003f, 0x003f, 0x003f, 0x9d78, 0x8fb7,
    -    0x003f, 0x003f, 0x93e6, 0x9450, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9d76, 0x003f, 0x003f, 0x917c, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8ef6, 0x9d7b, 0x003f, 0x003f, 0x8fb6, 0x003f, 0x9d75, 0x9d7a,
    -    0x003f, 0x003f, 0x9472, 0x003f, 0x003f, 0x003f, 0x9d74, 0x003f,
    -    0x8c40, 0x003f, 0x003f, 0x8a7c, 0x003f, 0x003f, 0x003f, 0x9d7c,
    -    0x97a9, 0x8dcc, 0x9254, 0x9d79, 0x003f, 0x90da, 0x003f, 0x8d54,
    -    0x9084, 0x8986, 0x915b, 0x9d77, 0x8b64, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8c66, 0x003f, 0x92cd, 0x9d7d, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x917e, 0x003f, 0x003f, 0x9d81, 0x003f,
    -    0x9d83, 0x003f, 0x003f, 0x91b5, 0x9d89, 0x003f, 0x9d84, 0x003f,
    -    0x003f, 0x9d86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9560,
    -    0x92f1, 0x003f, 0x9d87, 0x003f, 0x003f, 0x003f, 0x974b, 0x003f,
    -    0x003f, 0x003f, 0x9767, 0x8ab7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x88ac, 0x003f, 0x9d85, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9d82, 0x003f, 0x003f, 0x003f, 0x003f, 0x8af6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8987, 0xedad, 0x9d88, 0x003f,
    -    0x003f, 0x003f, 0x9768, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6400 .. 0x64ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d8c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91b9, 0x003f, 0x9d93,
    -    0x003f, 0x003f, 0x003f, 0x9d8d, 0x003f, 0x003f, 0x9d8a, 0x9d91,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9d72, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d8e, 0x003f,
    -    0x9d92, 0x003f, 0x003f, 0x003f, 0x94c0, 0x938b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9d8b, 0x003f, 0x9d8f, 0x003f,
    -    0x003f, 0x003f, 0x8c67, 0x003f, 0x003f, 0x003f, 0x8def, 0x003f,
    -    0x003f, 0x003f, 0x90db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d97, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9345, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d94,
    -    0x003f, 0x9680, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d95,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d96, 0x003f,
    -    0x96cc, 0x003f, 0x90a0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8c82, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9d9d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8e54, 0x9d9a, 0x003f, 0x9d99, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9451, 0x003f, 0x003f, 0xedaf, 0x93b3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9350, 0x9d9b, 0x003f, 0x003f,
    -    0x003f, 0x9d9c, 0x003f, 0x958f, 0x003f, 0x9464, 0x8e42, 0x003f,
    -    0x90ef, 0x003f, 0x966f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8a68, 0x003f, 0x9da3, 0x9d9e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9769, 0x9da5, 0x003f, 0x003f, 0x9da1, 0x003f, 0x9da2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9180, 0xedb0, 0x003f,
    -    0x003f, 0x003f, 0x9da0, 0x003f, 0x9d5e, 0x003f, 0x003f, 0x003f,
    -    0x9da4, 0x003f, 0x9d9f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9da9, 0x9daa, 0x9346, 0x9dac, 0x003f, 0x003f, 0x8e43, 0x9da7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8b5b, 0x003f, 0x003f, 0x9dad,
    -    0x003f, 0x9da6, 0x9db1, 0x003f, 0x9db0, 0x003f, 0x9daf, 0x003f,
    -    0x003f, 0x003f, 0x9db2, 0x003f, 0x003f, 0x9db4, 0x8fef, 0x003f,
    -    /* 0x6500 .. 0x65ff */
    -    0x9db3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9db7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9db5, 0x003f, 0x003f, 0x003f, 0x9db6, 0x9d90, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9db9, 0x9db8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9d98, 0x9dba, 0x9dae, 0x003f, 0x003f, 0x8e78,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9dbb, 0x9dbc, 0x9dbe, 0x9dbd,
    -    0x9dbf, 0x89fc, 0x003f, 0x8d55, 0x003f, 0x003f, 0x95fa, 0x90ad,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ccc, 0x003f, 0x003f,
    -    0x9dc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x9dc4, 0xedb1, 0x9571,
    -    0x003f, 0x8b7e, 0x003f, 0x003f, 0x003f, 0x9dc3, 0x9dc2, 0x9473,
    -    0x9dc5, 0x8bb3, 0x003f, 0x003f, 0x003f, 0x9dc7, 0x9dc6, 0x003f,
    -    0x003f, 0x003f, 0x8ab8, 0x8e55, 0x003f, 0x003f, 0x93d6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8c68, 0x003f, 0x003f, 0x003f,
    -    0x9094, 0x003f, 0x9dc8, 0x003f, 0x90ae, 0x9347, 0x003f, 0x957e,
    -    0x9dc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9dca, 0x9dcb, 0x003f, 0x003f, 0x003f, 0x95b6,
    -    0x9b7c, 0x90c4, 0x003f, 0x003f, 0x956b, 0x003f, 0x8dd6, 0x003f,
    -    0x94e3, 0x94c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x936c,
    -    0x003f, 0x97bf, 0x003f, 0x9dcd, 0x8ece, 0x003f, 0x003f, 0x9dce,
    -    0x003f, 0x88b4, 0x003f, 0x003f, 0x8bd2, 0x90cb, 0x003f, 0x9580,
    -    0x003f, 0x003f, 0x003f, 0x9dcf, 0x8e61, 0x9266, 0x003f, 0x8e7a,
    -    0x9056, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9dd0,
    -    0x003f, 0x95fb, 0x003f, 0x003f, 0x8997, 0x8e7b, 0x003f, 0x003f,
    -    0x003f, 0x9dd3, 0x003f, 0x9dd1, 0x9dd4, 0x97b7, 0x9dd2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x90f9, 0x9dd5, 0x003f, 0x003f, 0x91b0,
    -    0x003f, 0x003f, 0x9dd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x8af8,
    -    0x003f, 0x9dd8, 0x003f, 0x9dd7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9dd9, 0x9dda, 0x8af9, 0x003f, 0x003f, 0x93fa, 0x9255, 0x8b8c,
    -    0x8e7c, 0x9181, 0x003f, 0x003f, 0x8f7b, 0x88ae, 0x003f, 0x003f,
    -    0x003f, 0x9ddb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x89a0, 0x9ddf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6600 .. 0x66ff */
    -    0xedb2, 0x003f, 0x8d56, 0x9dde, 0x003f, 0x003f, 0x8da9, 0x8fb8,
    -    0x003f, 0xedb5, 0x9ddd, 0x003f, 0x8fb9, 0x003f, 0x96be, 0x8da8,
    -    0x003f, 0x003f, 0x003f, 0x88d5, 0x90cc, 0xedb3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9de4, 0x003f, 0xedb7, 0x90af,
    -    0x8966, 0x003f, 0x003f, 0x003f, 0xedb8, 0x8f74, 0x003f, 0x9686,
    -    0x8df0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fba, 0xedb6, 0x90a5,
    -    0x003f, 0xed47, 0x003f, 0x003f, 0x9de3, 0x9de1, 0x9de2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedb4, 0x928b, 0x003f, 0x003f, 0x9e45,
    -    0x003f, 0x9de8, 0x8e9e, 0x8d57, 0x9de6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9de7, 0x003f, 0x9057, 0x003f, 0x003f, 0x003f, 0x9de5,
    -    0x003f, 0x003f, 0x8e4e, 0x003f, 0x003f, 0x003f, 0x003f, 0xedba,
    -    0x003f, 0xedbb, 0x003f, 0x003f, 0x003f, 0x9dea, 0x9de9, 0x9dee,
    -    0x003f, 0x003f, 0x9def, 0x003f, 0x9deb, 0xedb9, 0x8a41, 0x9dec,
    -    0x9ded, 0x94d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9581, 0x8c69,
    -    0x9df0, 0x003f, 0x003f, 0xedbd, 0x90b0, 0x003f, 0x8fbb, 0x003f,
    -    0x003f, 0x003f, 0x9271, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8bc5, 0x003f, 0x9df1, 0x9df5, 0x003f, 0x003f, 0x89c9,
    -    0x9df2, 0x9df4, 0x003f, 0x003f, 0x003f, 0x003f, 0x9df3, 0x003f,
    -    0x003f, 0x8f8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x9267, 0x88c3,
    -    0x9df6, 0xedbe, 0x003f, 0x003f, 0x003f, 0x9df7, 0x003f, 0x003f,
    -    0xedbf, 0x003f, 0x92a8, 0x003f, 0x003f, 0x003f, 0x97ef, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8e62, 0x003f, 0x003f, 0x95e9, 0x003f,
    -    0x003f, 0x003f, 0xedc0, 0x003f, 0x965c, 0x003f, 0x003f, 0x003f,
    -    0x9e41, 0x9df9, 0x003f, 0x003f, 0x9dfc, 0x003f, 0x9dfb, 0xedc1,
    -    0x003f, 0x9df8, 0x003f, 0x003f, 0x9e40, 0x003f, 0x003f, 0x93dc,
    -    0x003f, 0x9dfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e42, 0x003f,
    -    0x003f, 0x8f8c, 0x9e43, 0x003f, 0x976a, 0x9498, 0x003f, 0x003f,
    -    0x9e44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e46, 0x003f,
    -    0x003f, 0x9e47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9e48, 0x003f, 0x8bc8, 0x8967, 0x8d58, 0x9e49, 0x003f, 0x9e4a,
    -    0x8f91, 0x9182, 0xedc2, 0xed4a, 0x99d6, 0x915d, 0x915c, 0x91d6,
    -    /* 0x6700 .. 0x67ff */
    -    0x8dc5, 0x003f, 0x003f, 0x98f0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8c8e, 0x974c, 0x003f, 0x95fc, 0x003f, 0x959e, 0xedc3, 0x9e4b,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8df1, 0x92bd, 0x9e4c, 0x984e,
    -    0x003f, 0x003f, 0x003f, 0x965d, 0x003f, 0x92a9, 0x9e4d, 0x8afa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e4e, 0x9e4f,
    -    0x96d8, 0x003f, 0x96a2, 0x9696, 0x967b, 0x8e44, 0x9e51, 0x003f,
    -    0x003f, 0x8ee9, 0x003f, 0x003f, 0x9670, 0x003f, 0x9e53, 0x9e56,
    -    0x9e55, 0x003f, 0x8af7, 0x003f, 0x003f, 0x8b80, 0x003f, 0x9e52,
    -    0x003f, 0x9e54, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e57, 0x003f,
    -    0x003f, 0x9099, 0x003f, 0x003f, 0x003f, 0x003f, 0x979b, 0x88c7,
    -    0x8dde, 0x91ba, 0x003f, 0x8edb, 0x003f, 0x003f, 0x8ff1, 0x003f,
    -    0x003f, 0x9e5a, 0x003f, 0x003f, 0x936d, 0x003f, 0x9e58, 0x91a9,
    -    0x9e59, 0x8ff0, 0x96db, 0x9e5b, 0x9e5c, 0x9788, 0xedc5, 0x003f,
    -    0x003f, 0x003f, 0x9e61, 0x003f, 0x003f, 0x8d59, 0x003f, 0x9474,
    -    0x9e5e, 0x938c, 0x9ddc, 0x9de0, 0x003f, 0x8b6e, 0x003f, 0x9466,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9e60, 0x003f, 0x8fbc, 0x94c2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e66, 0x003f, 0x94f8,
    -    0x003f, 0x9e5d, 0x003f, 0x9e63, 0x9e62, 0x003f, 0x003f, 0x003f,
    -    0x90cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x968d, 0x003f, 0x97d1,
    -    0x003f, 0x003f, 0x9687, 0x003f, 0x89ca, 0x8e7d, 0x003f, 0x003f,
    -    0x9867, 0x9e65, 0x9095, 0x003f, 0x003f, 0x003f, 0x9e64, 0x003f,
    -    0x003f, 0x9e5f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ccd,
    -    0x003f, 0x003f, 0x003f, 0x9e6b, 0x9e69, 0x003f, 0x89cb, 0x9e67,
    -    0x9e6d, 0x9e73, 0x003f, 0xedc6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedc8, 0x91c6, 0x003f, 0x003f, 0x95bf, 0x003f, 0x9e75, 0x003f,
    -    0x003f, 0x003f, 0x9541, 0x003f, 0x003f, 0x003f, 0x9e74, 0x9490,
    -    0x965e, 0x8ab9, 0x003f, 0x90f5, 0x8f5f, 0x003f, 0x003f, 0x003f,
    -    0x92d1, 0x003f, 0x974d, 0x003f, 0x003f, 0x9e70, 0x9e6f, 0x003f,
    -    0x003f, 0x003f, 0x9e71, 0x003f, 0x9e6e, 0x003f, 0x003f, 0x9e76,
    -    0x003f, 0x9e6c, 0x003f, 0x003f, 0x9e6a, 0x003f, 0x9e72, 0x9e68,
    -    0x003f, 0x928c, 0x003f, 0x96f6, 0x8ec4, 0x8df2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8db8, 0x003f, 0x003f, 0x968f, 0x8a60,
    -    /* 0x6800 .. 0x68ff */
    -    0x003f, 0xedc9, 0x92cc, 0x93c8, 0x8968, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x90f0, 0x003f, 0x003f, 0x90b2, 0x8c49,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e78, 0x003f,
    -    0x003f, 0x8d5a, 0x8a9c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9e7a, 0x8a94, 0x9e81, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9e7d, 0x003f, 0x90f1, 0x003f, 0x003f, 0x003f,
    -    0x8a6a, 0x8daa, 0x003f, 0x003f, 0x8a69, 0x8dcd, 0x003f, 0x003f,
    -    0x9e7b, 0x8c85, 0x8c6a, 0x938d, 0xedca, 0x003f, 0x9e79, 0x003f,
    -    0x88c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e7c, 0x9e7e, 0x003f,
    -    0x8bcb, 0x8c4b, 0xedc7, 0x8aba, 0x8b6a, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9e82, 0x003f, 0x003f, 0x8df7, 0x9691, 0x003f, 0x8e56,
    -    0x003f, 0x003f, 0x003f, 0x9e83, 0x003f, 0x003f, 0x003f, 0x954f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9e8f, 0x003f, 0x89b1, 0x9e84,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e95, 0x9e85,
    -    0x003f, 0x97c0, 0x003f, 0x9e8c, 0x003f, 0x947e, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e94, 0x003f, 0x9e87,
    -    0x003f, 0x003f, 0x003f, 0x88b2, 0x9e89, 0x003f, 0x003f, 0x8d5b,
    -    0x003f, 0x003f, 0x003f, 0x9e8b, 0x003f, 0x9e8a, 0x003f, 0x9e86,
    -    0x9e91, 0x003f, 0x8fbd, 0x003f, 0x003f, 0x003f, 0x9aeb, 0x8ce6,
    -    0x979c, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e88, 0x003f, 0x92f2,
    -    0x8a42, 0x8dab, 0x003f, 0x9e80, 0x003f, 0x9e90, 0x8a81, 0x003f,
    -    0x003f, 0x9e8e, 0x9e92, 0x003f, 0x938e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8afc, 0x003f, 0x9eb0, 0x003f,
    -    0xed48, 0x96c7, 0x9e97, 0x8afb, 0x003f, 0x9e9e, 0x003f, 0xedcb,
    -    0x003f, 0x003f, 0x965f, 0x003f, 0x9e9f, 0x9ea1, 0x003f, 0x9ea5,
    -    0x9e99, 0x003f, 0x9249, 0x003f, 0x003f, 0x003f, 0x003f, 0x938f,
    -    0x9ea9, 0x9e9c, 0x003f, 0x9ea6, 0x003f, 0x003f, 0x003f, 0x9ea0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9058, 0x9eaa,
    -    0x003f, 0x003f, 0x90b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9ea8, 0x8abb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6900 .. 0x69ff */
    -    0x986f, 0x9e96, 0x003f, 0x003f, 0x9ea4, 0x88d6, 0x003f, 0x003f,
    -    0x9e98, 0x003f, 0x003f, 0x96b8, 0x9e9d, 0x9041, 0x92c5, 0x9e93,
    -    0x003f, 0x003f, 0x9ea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x909a, 0x9ead, 0x8a91, 0x8c9f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9eaf, 0x9e9a, 0x9eae, 0x003f, 0x9ea7, 0x9e9b, 0x003f,
    -    0x9eab, 0x003f, 0x9eac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9ebd, 0x003f, 0x003f, 0x003f, 0x93cc, 0x003f, 0x9ea2, 0x003f,
    -    0x003f, 0x9eb9, 0x003f, 0x003f, 0x003f, 0x9ebb, 0x003f, 0x92d6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x976b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9596, 0x9eb6, 0x91c8, 0x003f, 0x003f,
    -    0x003f, 0x9ebc, 0x915e, 0x003f, 0x9eb3, 0x9ec0, 0x9ebf, 0x003f,
    -    0x93ed, 0x9ebe, 0x93e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedcd, 0x003f, 0x9ec2, 0x9eb5, 0x003f, 0x8bc6, 0x9eb8, 0x8f7c,
    -    0x003f, 0x003f, 0x003f, 0x9480, 0x9eba, 0x8bc9, 0x003f, 0x9eb2,
    -    0x9eb4, 0x9eb1, 0x003f, 0x003f, 0x984f, 0x8a79, 0x9eb7, 0x003f,
    -    0x003f, 0x9ec1, 0x8a54, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8de5, 0x003f, 0x003f, 0x003f, 0x897c, 0x003f,
    -    0x003f, 0x9ed2, 0x003f, 0x003f, 0x9850, 0x9ed5, 0x003f, 0x003f,
    -    0xedcf, 0x003f, 0x003f, 0x9059, 0x9ed4, 0x003f, 0x003f, 0x003f,
    -    0x9ed3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ed0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ec4, 0x003f,
    -    0x003f, 0x9ee1, 0x9ec3, 0x003f, 0x9ed6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9ece, 0x003f, 0x003f, 0x9ec9, 0x9ec6,
    -    0x003f, 0x9ec7, 0x003f, 0x9ecf, 0x003f, 0x003f, 0x003f, 0xeaa0,
    -    0x003f, 0x003f, 0x9ecc, 0x8d5c, 0x92c6, 0x9184, 0x9eca, 0x003f,
    -    0x9ec5, 0x003f, 0x003f, 0x9ec8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x976c, 0x968a, 0x003f, 0x003f, 0x003f, 0x9ecd, 0x9ed7, 0x003f,
    -    0x003f, 0x003f, 0xedd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x9edf,
    -    0x9ed8, 0x003f, 0x003f, 0x9ee5, 0x003f, 0x9ee3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9ede, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9edd, 0x003f, 0x92ce, 0x003f, 0x9185, 0x003f, 0x9edb,
    -    /* 0x6a00 .. 0x6aff */
    -    0x003f, 0x003f, 0x9ed9, 0x003f, 0x003f, 0x9ee0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9ee6, 0x94f3, 0x9eec, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9ee7, 0x9eea, 0x9ee4, 0x003f, 0x003f, 0x9294,
    -    0x003f, 0x9557, 0x003f, 0x9eda, 0x003f, 0x003f, 0x9ee2, 0x8fbe,
    -    0x003f, 0x96cd, 0x9ef6, 0x9ee9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8ca0, 0x89a1, 0x8a7e, 0x003f, 0x003f, 0x9ed1, 0x003f,
    -    0xedd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fbf, 0x9eee, 0x003f,
    -    0x9ef5, 0x8ef7, 0x8a92, 0x003f, 0x003f, 0x924d, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9eeb, 0x003f, 0xedd3, 0x9ef0,
    -    0x9ef4, 0x003f, 0x003f, 0x8bb4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b6b, 0x9ef2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b40,
    -    0x003f, 0x93c9, 0x9ef1, 0x003f, 0x003f, 0x003f, 0x9ef3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedd2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9eed, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9eef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd5, 0x8a80,
    -    0x9268, 0x003f, 0x003f, 0x003f, 0x9efa, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ef8, 0x8ce7, 0x003f,
    -    0x9ef7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f40,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9e77, 0x003f, 0x003f, 0x003f,
    -    0x9ef9, 0x003f, 0x9efb, 0x9efc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9f4b, 0x003f, 0x9f47, 0x003f, 0x9e8d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9f46, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9f45, 0x003f, 0x003f, 0x9f42, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9ee8, 0x9f44, 0x9f43, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9f49, 0x003f, 0x9845, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9f4c, 0x8bf9, 0x003f, 0x003f, 0x9f48, 0x9f4a,
    -    0x003f, 0x003f, 0xedd6, 0x003f, 0xedd7, 0x003f, 0x003f, 0x003f,
    -    0x94a5, 0x003f, 0x9f4d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9f51, 0x9f4e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6b00 .. 0x6bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9793, 0x9f4f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9edc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9f52, 0x003f, 0x003f, 0x003f, 0x9f53, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8954, 0x003f, 0x9f55,
    -    0x8c87, 0x8e9f, 0x003f, 0x8bd3, 0x003f, 0x003f, 0x003f, 0x89a2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x977e, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f57,
    -    0x9f56, 0x9f59, 0x8b5c, 0x003f, 0x003f, 0x8bd4, 0x8abc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9f5c, 0x003f, 0x003f, 0x003f, 0x9f5b,
    -    0x003f, 0x9f5d, 0x003f, 0x003f, 0x89cc, 0x003f, 0x9256, 0x003f,
    -    0x9f5e, 0x003f, 0x003f, 0x8abd, 0x9f60, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9f5f, 0x003f, 0x9f61, 0x003f, 0x003f, 0x003f, 0x9f62,
    -    0x003f, 0x9f63, 0x8e7e, 0x90b3, 0x8d9f, 0x003f, 0x9590, 0x003f,
    -    0x003f, 0x95e0, 0x9863, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e95,
    -    0x003f, 0x003f, 0x003f, 0x8dce, 0x97f0, 0x003f, 0x003f, 0x003f,
    -    0x9f64, 0x9f65, 0x003f, 0x8e80, 0x003f, 0x003f, 0x003f, 0x9f66,
    -    0x9f67, 0x003f, 0x003f, 0x9f69, 0x9f68, 0x003f, 0x9677, 0x003f,
    -    0x003f, 0x8f7d, 0x8eea, 0x8e63, 0x003f, 0x9f6a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f6c, 0x9042, 0x003f,
    -    0x9f6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f6d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9f6e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9f6f, 0x9f70, 0x003f, 0x003f, 0x003f, 0x9f71,
    -    0x003f, 0x9f73, 0x9f72, 0x9f74, 0x89a3, 0x9269, 0x003f, 0x9f75,
    -    0x003f, 0x003f, 0x8e45, 0x8a6b, 0x9f76, 0x003f, 0x003f, 0x9361,
    -    0x9aca, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b42, 0x9f77, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9f78, 0x003f, 0x95ea, 0x9688, 0x003f,
    -    0x003f, 0x003f, 0x93c5, 0x9f79, 0x94e4, 0x003f, 0xedd8, 0x003f,
    -    0x94f9, 0x003f, 0x003f, 0x96d1, 0x003f, 0x003f, 0x003f, 0x9f7a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9f7c, 0x9f7b, 0x003f, 0x003f, 0x9f7e,
    -    0x003f, 0x003f, 0x003f, 0x9f7d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6c00 .. 0x6cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9f81, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e81,
    -    0x003f, 0x96af, 0x003f, 0x9f82, 0x9f83, 0x003f, 0x003f, 0x8b43,
    -    0x003f, 0x003f, 0x003f, 0x9f84, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9f86, 0x9f85, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9085, 0x003f, 0x003f, 0x9558,
    -    0x8969, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94c3, 0xedd9,
    -    0x92f3, 0x8f60, 0x8b81, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94c4, 0x003f,
    -    0x8eac, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f88, 0x003f, 0x8abe,
    -    0x003f, 0x003f, 0x8998, 0x003f, 0xedda, 0x93f0, 0x9f87, 0x8d5d,
    -    0x9272, 0x003f, 0x9f89, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9f91, 0x003f, 0x9f8a, 0x003f, 0x003f, 0x003f, 0x003f, 0xeddc,
    -    0x91bf, 0x003f, 0x8b82, 0x9f92, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8c88, 0x003f, 0x003f, 0x8b44, 0x9f90, 0x003f,
    -    0x003f, 0x9f8e, 0x9f8b, 0x9780, 0x003f, 0x003f, 0xeddb, 0x003f,
    -    0x92be, 0x003f, 0x003f, 0x003f, 0x93d7, 0x9f8c, 0x003f, 0x003f,
    -    0x9f94, 0x003f, 0x9f93, 0x8c42, 0x003f, 0x003f, 0x89ab, 0x003f,
    -    0x003f, 0x8db9, 0x9f8d, 0x9f8f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9676, 0x91f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9697, 0x003f, 0x003f, 0x9f9c, 0x003f,
    -    0x003f, 0x9f9d, 0x003f, 0x89cd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x95a6, 0x96fb, 0x9f9f, 0x8ea1, 0x8fc0, 0x9f98, 0x9f9e, 0x8988,
    -    0x003f, 0x8bb5, 0x003f, 0x003f, 0x9f95, 0x9f9a, 0x003f, 0x003f,
    -    0x003f, 0x90f2, 0x9491, 0x003f, 0x94e5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9f97, 0x003f, 0x9640, 0x003f, 0x9f99,
    -    0x003f, 0x9fa2, 0xeddd, 0x9fa0, 0x003f, 0x9f9b, 0x003f, 0x003f,
    -    0x003f, 0x9641, 0x9467, 0x8b83, 0x003f, 0x9344, 0x003f, 0x003f,
    -    0x928d, 0x003f, 0x9fa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fa1,
    -    0x91d7, 0x9f96, 0x003f, 0x896a, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6d00 .. 0x6dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xedde, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x976d, 0x9fae, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9fad, 0x003f, 0x003f, 0x003f, 0x003f, 0x90f4,
    -    0x003f, 0x9faa, 0x003f, 0x978c, 0x003f, 0x003f, 0x93b4, 0x9fa4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92c3, 0x003f, 0x003f,
    -    0x003f, 0x896b, 0x8d5e, 0x9fa7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8f46, 0x9fac, 0x003f, 0x9fab, 0x9fa6, 0x003f,
    -    0x9fa9, 0x003f, 0x003f, 0x8a88, 0x003f, 0x9fa8, 0x9468, 0x003f,
    -    0x003f, 0x97ac, 0x003f, 0x003f, 0x8ff2, 0x90f3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9fb4, 0x9fb2, 0x003f, 0x956c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9faf, 0x9fb1, 0x003f, 0x8959, 0x003f,
    -    0x003f, 0x8d5f, 0x9851, 0x003f, 0x8a5c, 0x003f, 0x9582, 0xede0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9781, 0x003f, 0x003f, 0x8a43,
    -    0x905a, 0x9fb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fb8, 0x003f, 0xeddf,
    -    0x8fc1, 0x003f, 0x003f, 0x003f, 0x974f, 0x003f, 0x9fb5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9fb0, 0x003f, 0x9fb6, 0xede1, 0x003f,
    -    0x003f, 0x97dc, 0x003f, 0x9393, 0x93c0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xede2, 0x003f, 0x003f, 0x8a55,
    -    0x003f, 0x003f, 0x8974, 0x003f, 0x003f, 0x9fbc, 0x003f, 0x003f,
    -    0x9fbf, 0x003f, 0x003f, 0x003f, 0x97c1, 0x003f, 0x003f, 0x003f,
    -    0x9784, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fc6, 0x9fc0, 0x9fbd,
    -    0x003f, 0x003f, 0x003f, 0x97d2, 0x9fc3, 0x003f, 0x003f, 0xede3,
    -    0x003f, 0x8f69, 0x9fc5, 0x003f, 0x003f, 0x9fca, 0x003f, 0x003f,
    -    0x9391, 0x9fc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fc2, 0x003f,
    -    0x003f, 0x9257, 0x003f, 0x003f, 0x9fc9, 0x003f, 0x9fbe, 0x003f,
    -    0x9fc4, 0x003f, 0x9fcb, 0x88fa, 0x9fc1, 0x003f, 0x9fcc, 0x003f,
    -    0x003f, 0x905b, 0xede5, 0x8f7e, 0x003f, 0x95a3, 0x003f, 0x8dac,
    -    0xede4, 0x9fb9, 0x9fc7, 0x9359, 0xede6, 0x003f, 0x003f, 0x003f,
    -    /* 0x6e00 .. 0x6eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90b4, 0x003f, 0x8a89,
    -    0x8dcf, 0x8fc2, 0x9fbb, 0x8f61, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8c6b, 0x003f, 0x9fba, 0x003f, 0x003f,
    -    0x003f, 0x9fd0, 0x8f8d, 0x8cb8, 0x003f, 0x9fdf, 0x003f, 0x9fd9,
    -    0x8b94, 0x936e, 0x003f, 0x9fd4, 0x9fdd, 0x88ad, 0x8951, 0xede9,
    -    0x003f, 0x89b7, 0x003f, 0x9fd6, 0x91aa, 0x9fcd, 0x9fcf, 0x8d60,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9fe0, 0xede7, 0x9fdb, 0x003f, 0xedea, 0x003f, 0x9fd3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9fda, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x96a9, 0x003f, 0x003f, 0x9fd8, 0x9fdc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cce, 0x003f,
    -    0x8fc3, 0x003f, 0x003f, 0x9258, 0xede8, 0x003f, 0x003f, 0x9fd2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x974e,
    -    0x003f, 0x003f, 0x003f, 0x9fd5, 0x003f, 0x003f, 0x9fce, 0x9392,
    -    0x003f, 0x003f, 0x9fd1, 0x003f, 0x003f, 0x003f, 0x9fd7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9870, 0x8ebc,
    -    0x969e, 0x003f, 0x9fe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x94ac, 0x003f, 0x003f, 0x9fed,
    -    0x8cb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f80, 0x003f,
    -    0x9fe3, 0x003f, 0x003f, 0x003f, 0x97ad, 0x8d61, 0x003f, 0x9ff0,
    -    0x003f, 0x003f, 0x88ec, 0x003f, 0x003f, 0x9fee, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9fe2, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fe8,
    -    0x003f, 0x003f, 0x9fea, 0x003f, 0x003f, 0x003f, 0x976e, 0x9fe5,
    -    0x003f, 0x003f, 0x934d, 0x003f, 0x003f, 0x9fe7, 0x003f, 0xedeb,
    -    0x003f, 0x003f, 0x9fef, 0x003f, 0x9fe9, 0x96c5, 0x003f, 0x003f,
    -    0x003f, 0x9fe4, 0x003f, 0x8ea0, 0x9ffc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8a8a, 0x003f, 0x9fe6, 0x9feb, 0x9fec, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91ea, 0x91d8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9ff4, 0x003f, 0x003f, 0x9ffa,
    -    0x003f, 0x003f, 0x9ff8, 0x003f, 0x9348, 0x003f, 0x003f, 0xe042,
    -    0x9ff5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ff6, 0x9fde,
    -    /* 0x6f00 .. 0x6fff */
    -    0x003f, 0x8b99, 0x9559, 0x003f, 0x003f, 0x003f, 0x8ebd, 0x003f,
    -    0x003f, 0x8d97, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9852,
    -    0x003f, 0x9ff2, 0x003f, 0xe041, 0x8989, 0x9186, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9499, 0x003f, 0x8abf, 0x97f8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x969f, 0x92d0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9ff9, 0x9ffb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9151, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe040, 0x9ff7,
    -    0x003f, 0x9ff1, 0x003f, 0x003f, 0x003f, 0x8ac1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8c89, 0x003f, 0x003f, 0x003f,
    -    0xe04e, 0x003f, 0x003f, 0xe049, 0x90f6, 0x003f, 0x003f, 0x8a83,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8f81, 0x003f, 0xe052, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe04b, 0x92aa, 0xe048,
    -    0x92d7, 0x003f, 0x003f, 0x003f, 0xe06b, 0x003f, 0x003f, 0x003f,
    -    0xe045, 0x003f, 0xe044, 0x003f, 0xe04d, 0x003f, 0x003f, 0x003f,
    -    0xe047, 0xe046, 0xe04c, 0x003f, 0x909f, 0x003f, 0xe043, 0x003f,
    -    0xedec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe04f, 0x003f,
    -    0x003f, 0xe050, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ac0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe055, 0x003f, 0xe054, 0xe056, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe059, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9362, 0x003f, 0xe053, 0x003f, 0xeded, 0x003f, 0x003f,
    -    0x003f, 0xe057, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8c83, 0x91f7, 0xe051, 0x945a, 0x003f, 0x003f, 0xe058, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe05d, 0xe05b, 0x003f, 0x003f,
    -    0xe05e, 0x003f, 0x003f, 0xe061, 0x003f, 0x003f, 0x003f, 0xe05a,
    -    0x8d8a, 0x9447, 0x003f, 0x003f, 0x9fb7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9794, 0xe05c, 0x003f, 0xe060, 0x91f3,
    -    0x003f, 0xe05f, 0x003f, 0xe04a, 0x003f, 0xedee, 0xe889, 0x003f,
    -    0x003f, 0x003f, 0xe064, 0x003f, 0x003f, 0x003f, 0xe068, 0x003f,
    -    /* 0x7000 .. 0x70ff */
    -    0x003f, 0xe066, 0x003f, 0x003f, 0x003f, 0xedef, 0x003f, 0xedf0,
    -    0x003f, 0xe062, 0x003f, 0xe063, 0x003f, 0x003f, 0x003f, 0xe067,
    -    0x003f, 0xe065, 0x003f, 0x003f, 0x003f, 0x956d, 0x003f, 0x003f,
    -    0xe06d, 0x003f, 0xe06a, 0xe069, 0x003f, 0xe06c, 0x93d2, 0xe06e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9295, 0x91eb,
    -    0xedf1, 0x003f, 0x003f, 0x003f, 0x90a3, 0x003f, 0x003f, 0x003f,
    -    0xe06f, 0x003f, 0xe071, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe070, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9ff3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe072, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x93e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe073, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x89ce, 0x003f, 0x003f, 0x003f, 0x9394,
    -    0x8a44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b84, 0x003f, 0x003f, 0x003f, 0x8edc, 0x8dd0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf2, 0x003f, 0x003f,
    -    0x003f, 0x9846, 0x9086, 0x003f, 0x003f, 0x003f, 0x898a, 0x003f,
    -    0x003f, 0x003f, 0xe075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe074, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedf3, 0xe078, 0x9259, 0xe07b, 0xe076,
    -    0x003f, 0x003f, 0x003f, 0xe07a, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe079, 0x935f, 0x88d7, 0xed46, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x97f3, 0x003f, 0x003f, 0xe07d, 0x003f, 0x003f, 0x003f, 0x8947,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe080, 0x003f, 0x003f, 0x003f, 0xe07e, 0x003f, 0xe07c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe077, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9642, 0x003f, 0x003f, 0x003f, 0xe082, 0x003f, 0x003f,
    -    /* 0x7100 .. 0x71ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xedf5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe081, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x898b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe084, 0x95b0, 0x003f, 0xe083, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x96b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fc5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9152, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8fc4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf7, 0xedf8,
    -    0x003f, 0x97f9, 0x003f, 0x003f, 0xe08a, 0x003f, 0x90f7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe086, 0xe08b, 0x003f,
    -    0x003f, 0x898c, 0x003f, 0x003f, 0xedf6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe089, 0x003f, 0x9481, 0xe085, 0xe088, 0x8fc6,
    -    0x003f, 0x94cf, 0x003f, 0x003f, 0xe08c, 0x003f, 0x8ecf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90f8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe08f, 0x003f, 0x003f, 0x003f,
    -    0xe087, 0x003f, 0x8c46, 0x003f, 0x003f, 0x003f, 0x003f, 0xe08d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x976f, 0xe090, 0x003f, 0x003f,
    -    0x003f, 0xeaa4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f6e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe091, 0x003f, 0x003f, 0x003f, 0xe092, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x944d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe094, 0x003f, 0x003f, 0x003f, 0x003f, 0xe095, 0x003f,
    -    0x003f, 0xedfa, 0x003f, 0x9452, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9395, 0xe097, 0x003f, 0x003f, 0x003f, 0x003f, 0xe099, 0x003f,
    -    0x97d3, 0x003f, 0xe096, 0x003f, 0xe098, 0x898d, 0x003f, 0xe093,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a7a,
    -    0xe09a, 0x003f, 0x003f, 0x003f, 0x003f, 0x9187, 0x8e57, 0xe09c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe09b, 0x9043, 0x99d7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe09d, 0x003f, 0x003f,
    -    0x003f, 0xe09f, 0x003f, 0xe08e, 0xe09e, 0x003f, 0xedfb, 0xe0a0,
    -    /* 0x7200 .. 0x72ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x949a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a1, 0x003f, 0x003f,
    -    0xe0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0a3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0a4, 0x003f, 0x92dc, 0x003f, 0xe0a6, 0xe0a5, 0x003f, 0x003f,
    -    0xe0a7, 0x003f, 0xe0a8, 0x003f, 0x003f, 0x8edd, 0x9583, 0x003f,
    -    0x003f, 0x003f, 0x96ea, 0xe0a9, 0xe0aa, 0x9175, 0x8ea2, 0xe0ab,
    -    0xe0ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ad, 0x95d0,
    -    0x94c5, 0x003f, 0x003f, 0xe0ae, 0x9476, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x92ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0af, 0x89e5, 0x003f, 0x8b8d, 0x003f, 0x96c4, 0x003f, 0x96b4,
    -    0x003f, 0x89b2, 0x9853, 0x003f, 0x003f, 0x003f, 0x003f, 0x9671,
    -    0x003f, 0x95a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x90b5, 0x003f, 0xe0b0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x93c1, 0x003f, 0x003f, 0x003f, 0x8ca1, 0xe0b1, 0x003f,
    -    0x8dd2, 0xe0b3, 0xe0b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0b5, 0x003f, 0x003f, 0x003f, 0xe0b6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b5d, 0x003f, 0xe0b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8ca2, 0x003f, 0x003f, 0x94c6,
    -    0x003f, 0xedfc, 0xe0ba, 0x003f, 0x003f, 0x003f, 0x8ff3, 0x003f,
    -    0x003f, 0xe0b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xee40, 0x003f,
    -    0x003f, 0x003f, 0x8bb6, 0xe0bb, 0xe0bd, 0x003f, 0xe0bc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0be, 0x003f,
    -    0x8ccf, 0x003f, 0xe0bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be7,
    -    0x003f, 0x915f, 0x003f, 0x8d9d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0c1, 0xe0c2, 0xe0c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8eeb, 0x003f, 0x003f, 0x93c6, 0x8bb7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c4,
    -    0x924b, 0xe0c3, 0x003f, 0x003f, 0x9854, 0x9482, 0x003f, 0x003f,
    -    /* 0x7300 .. 0x73ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c9, 0xe0c6,
    -    0x003f, 0x003f, 0x003f, 0x96d2, 0xe0c8, 0xe0ca, 0x003f, 0x97c2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xee41, 0xe0ce, 0x003f, 0x003f,
    -    0x003f, 0xe0cd, 0x9296, 0x944c, 0x003f, 0x003f, 0x8ca3, 0xe0cc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0cb, 0x003f, 0x9750, 0x9751,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0cf, 0x898e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8d96, 0x8e82, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d0, 0xe0d1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8f62, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0d5, 0x003f, 0xe0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0d6, 0x003f, 0x8a6c, 0x003f, 0x003f, 0xe0d8, 0x003f, 0xee43,
    -    0xe0d7, 0x003f, 0xe0da, 0xe0d9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8cba, 0x003f, 0x003f, 0x97a6,
    -    0x003f, 0x8bca, 0x003f, 0x89a4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8adf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x97e6, 0xe0dc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0de, 0x003f, 0xee44, 0x003f, 0x003f,
    -    0xe0df, 0x003f, 0x89cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0db, 0xee45, 0x8e58, 0x003f, 0x003f, 0x92bf, 0xe0dd, 0x003f,
    -    0x003f, 0x003f, 0xee48, 0x003f, 0x003f, 0x003f, 0xee46, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e2, 0x003f,
    -    0x8eec, 0x003f, 0x003f, 0xee47, 0x003f, 0xe0e0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8c5d, 0x003f, 0x003f, 0x94c7, 0xe0e1, 0x003f,
    -    0x003f, 0xe0fc, 0x003f, 0x003f, 0x003f, 0xee4a, 0x003f, 0x003f,
    -    0xe0e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cbb, 0x003f,
    -    /* 0x7400 .. 0x74ff */
    -    0x003f, 0x003f, 0x003f, 0x8b85, 0x003f, 0xe0e4, 0x979d, 0xee49,
    -    0x003f, 0x97ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x91f4, 0x003f, 0x003f, 0xe0e6, 0xee4b, 0x003f,
    -    0x003f, 0xee4d, 0xee4c, 0x003f, 0x003f, 0x003f, 0xee4e, 0x003f,
    -    0x003f, 0x003f, 0xe0e8, 0x97d4, 0x8bd5, 0x94fa, 0x9469, 0x003f,
    -    0x003f, 0x003f, 0xe0e9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0eb,
    -    0x003f, 0xe0ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ea, 0x003f, 0x003f,
    -    0x003f, 0xe0ed, 0x8ce8, 0x896c, 0xe0ef, 0x003f, 0x9090, 0xe0ec,
    -    0x97da, 0x003f, 0xee4f, 0xe0f2, 0xeaa2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe0f0, 0xe0f3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e5,
    -    0xe0f1, 0x003f, 0x003f, 0x8dba, 0x003f, 0x003f, 0xe0f4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x979e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xee50, 0x003f, 0xe0f6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f7, 0xee51,
    -    0x003f, 0x003f, 0xe0e3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8ac2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ea3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x895a, 0x003f, 0x003f, 0x003f,
    -    0xe140, 0x003f, 0x955a, 0xe141, 0x003f, 0x003f, 0x8aa2, 0xe142,
    -    0x003f, 0xe143, 0x003f, 0x003f, 0x003f, 0x003f, 0xe144, 0x003f,
    -    0xe146, 0xe147, 0xe145, 0x003f, 0x003f, 0x003f, 0x9572, 0xe149,
    -    0xe148, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7500 .. 0x75ff */
    -    0x003f, 0xee52, 0x003f, 0xe14b, 0xe14a, 0xe14c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe14d, 0xe14f, 0xe14e, 0x003f,
    -    0x003f, 0x8d99, 0x003f, 0xe151, 0x003f, 0xe150, 0x003f, 0x003f,
    -    0x8ac3, 0x003f, 0x9072, 0x003f, 0x935b, 0x003f, 0xe152, 0x90b6,
    -    0x003f, 0x003f, 0x003f, 0x8e59, 0x003f, 0x8999, 0xe153, 0x003f,
    -    0x9770, 0x003f, 0x003f, 0x95e1, 0xe154, 0x003f, 0x003f, 0xed8c,
    -    0x9363, 0x9752, 0x8d62, 0x905c, 0x003f, 0x003f, 0x003f, 0x926a,
    -    0x99b2, 0x003f, 0x92ac, 0x89e6, 0xe155, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe156, 0x003f, 0xe15b, 0x003f,
    -    0x003f, 0xe159, 0xe158, 0x9dc0, 0x8a45, 0xe157, 0x003f, 0x88d8,
    -    0x003f, 0x94a8, 0x003f, 0x003f, 0x94c8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x97af, 0xe15c, 0xe15a, 0x927b, 0x90a4, 0x003f, 0x003f,
    -    0x94a9, 0x003f, 0x954c, 0x003f, 0xe15e, 0x97aa, 0x8c6c, 0xe15f,
    -    0x003f, 0xe15d, 0x94d4, 0xe160, 0x003f, 0xe161, 0x003f, 0xee53,
    -    0x88d9, 0x003f, 0x003f, 0x8ff4, 0xe166, 0x003f, 0xe163, 0x93eb,
    -    0xe162, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b45,
    -    0x003f, 0x003f, 0xe169, 0x003f, 0x003f, 0x003f, 0xe164, 0xe165,
    -    0x003f, 0xe168, 0xe167, 0x9544, 0x003f, 0x003f, 0x9161, 0x9160,
    -    0x003f, 0x8b5e, 0x003f, 0x003f, 0xe16a, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe16b, 0x003f, 0x003f, 0xe16c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe16e, 0x003f, 0xe16d, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8975, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe176, 0x94e6, 0xe170, 0x003f, 0xe172, 0x003f, 0x003f,
    -    0xe174, 0x905d, 0x003f, 0x003f, 0xe175, 0xe173, 0x8ebe, 0x003f,
    -    0x003f, 0x003f, 0xe16f, 0xe171, 0x003f, 0x9561, 0x003f, 0x8fc7,
    -    0x003f, 0x003f, 0xe178, 0x003f, 0x003f, 0xe177, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe179, 0x003f, 0x8ea4, 0x8dad, 0x003f, 0x003f,
    -    0x9397, 0xe17a, 0x003f, 0x92c9, 0x003f, 0x003f, 0xe17c, 0x003f,
    -    0x003f, 0x003f, 0x979f, 0xe17b, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9189, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe182, 0x003f, 0xe184, 0xe185, 0x9273, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe183, 0x003f, 0xe180, 0x003f, 0xe17d, 0xe17e,
    -    /* 0x7600 .. 0x76ff */
    -    0x003f, 0xe181, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe188, 0x003f, 0xe186, 0x003f, 0xe187, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe189,
    -    0xe18b, 0xe18c, 0xe18d, 0x003f, 0xe18e, 0x003f, 0x003f, 0xe18a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe190, 0x003f, 0x003f, 0x003f, 0xe18f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe191, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x97c3, 0x003f, 0x003f, 0x003f, 0xe194, 0xe192,
    -    0xe193, 0x003f, 0x003f, 0x003f, 0x8ae0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x96fc, 0x003f, 0x003f, 0x003f, 0x95c8, 0x003f,
    -    0xe196, 0x003f, 0x003f, 0x003f, 0xe195, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe197, 0xe198, 0x003f, 0x003f, 0x003f, 0x003f, 0xe19c,
    -    0xe199, 0xe19a, 0xe19b, 0x003f, 0xe19d, 0x003f, 0x003f, 0x003f,
    -    0xe19e, 0x003f, 0xe19f, 0x003f, 0x003f, 0x003f, 0xe1a0, 0x003f,
    -    0xe1a1, 0x003f, 0x94ad, 0x936f, 0xe1a2, 0x9492, 0x9553, 0x003f,
    -    0xe1a3, 0x003f, 0xee54, 0xe1a4, 0x9349, 0x003f, 0x8a46, 0x8d63,
    -    0xe1a5, 0x003f, 0x003f, 0xe1a6, 0x003f, 0x003f, 0xe1a7, 0x003f,
    -    0x8e48, 0x003f, 0x003f, 0xe1a9, 0x003f, 0x003f, 0xe1a8, 0x003f,
    -    0x003f, 0xe1aa, 0xe1ab, 0xee57, 0xee55, 0x003f, 0xee56, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee58, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94e7, 0x003f,
    -    0xe1ac, 0x003f, 0x003f, 0x003f, 0xe1ad, 0x003f, 0x003f, 0xea89,
    -    0xe1ae, 0xe1af, 0xe1b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e4d,
    -    0x003f, 0x003f, 0xe1b1, 0x9475, 0x003f, 0x003f, 0x967e, 0x003f,
    -    0x896d, 0x003f, 0x8976, 0x003f, 0x003f, 0xe1b2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1b4, 0x003f, 0x003f, 0x003f, 0xe1b3, 0x9390,
    -    0x003f, 0x003f, 0x003f, 0x90b7, 0x9f58, 0x003f, 0xe1b5, 0x96bf,
    -    0x003f, 0xe1b6, 0x003f, 0x8ac4, 0x94d5, 0xe1b7, 0x003f, 0xe1b8,
    -    0x003f, 0x003f, 0xe1b9, 0x003f, 0x003f, 0x003f, 0x96da, 0x003f,
    -    0x003f, 0x003f, 0x96d3, 0x003f, 0x92bc, 0x003f, 0x003f, 0x003f,
    -    0x918a, 0x003f, 0x003f, 0xe1bb, 0x003f, 0x003f, 0x8f82, 0x003f,
    -    /* 0x7700 .. 0x77ff */
    -    0x003f, 0x8fc8, 0x003f, 0x003f, 0xe1be, 0x003f, 0x003f, 0xe1bd,
    -    0xe1bc, 0x94fb, 0x003f, 0x8ac5, 0x8ca7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe1c4, 0x003f, 0x003f, 0xe1c1, 0x905e,
    -    0x96b0, 0x003f, 0x003f, 0x003f, 0xe1c0, 0xe1c2, 0xe1c3, 0x003f,
    -    0x003f, 0xe1bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1c5,
    -    0xe1c6, 0x003f, 0x92ad, 0x003f, 0x8ae1, 0x003f, 0x003f, 0x003f,
    -    0x9285, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee5a, 0xe1c7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1c8, 0xe1cb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9087, 0x003f, 0x93c2, 0x003f, 0xe1cc, 0x9672, 0x003f,
    -    0xe1c9, 0x003f, 0x003f, 0xe1ca, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe1cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1ce, 0xe1cd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe1d1, 0x003f, 0x003f, 0xe1d0, 0x003f,
    -    0x003f, 0xe1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1d4, 0x003f,
    -    0xe1d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x95cb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8f75, 0x97c4, 0x003f, 0x003f,
    -    0xe1d5, 0x003f, 0x003f, 0x93b5, 0x003f, 0x003f, 0xe1d6, 0x003f,
    -    0x003f, 0xe1d7, 0x003f, 0xe1db, 0xe1d9, 0xe1da, 0x003f, 0xe1d8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1dc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1dd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1de,
    -    0x003f, 0x003f, 0xe1df, 0x96b5, 0xe1e0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x96ee, 0xe1e1, 0x003f, 0x926d, 0x003f, 0x948a,
    -    0x003f, 0x8be9, 0x003f, 0x003f, 0x003f, 0x925a, 0xe1e2, 0x8bb8,
    -    0x003f, 0x003f, 0x003f, 0x90ce, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1e3, 0x003f, 0x003f, 0x003f,
    -    /* 0x7800 .. 0x78ff */
    -    0x003f, 0x003f, 0x8dbb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1e4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1e5, 0x003f, 0x8ca4, 0x8dd3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe1e7, 0xee5c, 0x003f, 0x003f, 0x003f, 0x9375, 0x8dd4, 0x8b6d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9643, 0x003f, 0x946a, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9376, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d7b,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee5d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fc9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xee5e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x97b0, 0x8d64, 0x003f, 0x003f, 0x8ca5,
    -    0x003f, 0x003f, 0x94a1, 0x003f, 0xe1eb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xee5f, 0x003f, 0xe1ed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8ce9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1ec, 0x92f4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ef, 0x8a56, 0xe1ea, 0x003f,
    -    0x003f, 0x94e8, 0x003f, 0x894f, 0x003f, 0x8dea, 0x003f, 0x9871,
    -    0x003f, 0x003f, 0xe1ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe1f0, 0x003f, 0x003f, 0x003f, 0x95c9,
    -    0x003f, 0x90d7, 0xe1f2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8a6d, 0x003f, 0xe1f9, 0x003f, 0xe1f8, 0x003f,
    -    0x003f, 0x8ea5, 0x003f, 0x003f, 0x003f, 0xe1fa, 0xe1f5, 0x003f,
    -    0x003f, 0x003f, 0xe1fb, 0xe1f6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x94d6, 0xe1f4, 0x003f, 0x003f, 0xe1f7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe241, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe240,
    -    0x9681, 0x003f, 0x003f, 0x003f, 0xe1fc, 0x003f, 0x003f, 0x88e9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe243, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe242, 0x003f, 0x003f,
    -    /* 0x7900 .. 0x79ff */
    -    0x003f, 0x8fca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe244,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9162, 0x003f,
    -    0x003f, 0xe246, 0xe245, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe247, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e6, 0x003f,
    -    0x003f, 0x003f, 0xe1e8, 0xe249, 0xe248, 0x003f, 0x003f, 0x003f,
    -    0xee60, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8ea6, 0x003f, 0x97e7, 0x003f, 0x8ed0, 0x003f,
    -    0xe24a, 0x8c56, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b5f,
    -    0x8b46, 0x8e83, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9753, 0x003f, 0x003f, 0xe250, 0x003f, 0xe24f, 0x9163, 0xe24c,
    -    0x003f, 0x003f, 0xe24e, 0x003f, 0x003f, 0x8f6a, 0x905f, 0xe24d,
    -    0xe24b, 0x003f, 0x9449, 0x003f, 0x003f, 0x8fcb, 0x003f, 0x003f,
    -    0x955b, 0x003f, 0x003f, 0x003f, 0x003f, 0x8dd5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9398,
    -    0x003f, 0x003f, 0xe251, 0x003f, 0x003f, 0x003f, 0x003f, 0xe252,
    -    0xe268, 0x8bd6, 0x003f, 0x003f, 0x985c, 0x9154, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe253, 0x003f, 0x003f, 0x89d0, 0x92f5, 0x959f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xee64, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xee66, 0x003f, 0xe254, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b9a, 0xe255,
    -    0x003f, 0x003f, 0xe257, 0x003f, 0x003f, 0x003f, 0xe258, 0x003f,
    -    0x9448, 0x003f, 0x003f, 0xe259, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe25a, 0xe25b, 0x003f, 0x003f, 0x8bd7, 0x89d1, 0x93c3,
    -    0x8f47, 0x8e84, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe25c, 0x003f, 0x8f48, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x89c8, 0x9562, 0x003f, 0x003f, 0xe25d, 0x003f, 0x003f,
    -    0x94e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9164,
    -    0x003f, 0xe260, 0x003f, 0xe261, 0x9489, 0x003f, 0x9060, 0xe25e,
    -    0x003f, 0x9281, 0x003f, 0x003f, 0xe25f, 0x003f, 0x003f, 0x003f,
    -    0x8fcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x88da, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7a00 .. 0x7aff */
    -    0x8b48, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe262, 0x003f, 0x003f, 0x92f6, 0x003f, 0xe263, 0x90c5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x96ab, 0x003f, 0x003f, 0x9542,
    -    0xe264, 0xe265, 0x9274, 0x003f, 0x97c5, 0x003f, 0x003f, 0xe267,
    -    0xe266, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8eed, 0x003f,
    -    0x003f, 0xe269, 0x88ee, 0x003f, 0x003f, 0x003f, 0x003f, 0xe26c,
    -    0x003f, 0x003f, 0x003f, 0xe26a, 0x89d2, 0x8c6d, 0xe26b, 0x8d65,
    -    0x8d92, 0x003f, 0x95e4, 0xe26d, 0x003f, 0x003f, 0x9673, 0x003f,
    -    0x003f, 0xe26f, 0x003f, 0x003f, 0x003f, 0x90cf, 0x896e, 0x89b8,
    -    0x88aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe26e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe270, 0xe271, 0x8ff5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe272, 0x003f, 0x8a6e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe274, 0x003f, 0x003f, 0x003f, 0x8c8a, 0x003f, 0x8b86, 0x003f,
    -    0x003f, 0xe275, 0x8bf3, 0x003f, 0x003f, 0xe276, 0x003f, 0x90fa,
    -    0x003f, 0x93cb, 0x003f, 0x90de, 0x8df3, 0x003f, 0x003f, 0x003f,
    -    0xe277, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9282, 0x918b, 0x003f, 0xe279, 0xe27b, 0xe278,
    -    0xe27a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c41,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe27c, 0x8c45, 0x003f, 0x003f, 0x003f, 0x8b87, 0x9771,
    -    0xe27e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe280, 0x003f,
    -    0x003f, 0x003f, 0x894d, 0x003f, 0x003f, 0x003f, 0x003f, 0xe283,
    -    0x003f, 0x003f, 0x003f, 0x8a96, 0xe282, 0xe281, 0x003f, 0xe285,
    -    0xe27d, 0x003f, 0xe286, 0x97a7, 0x003f, 0xe287, 0x003f, 0xe288,
    -    0x003f, 0xee67, 0x9af2, 0xe28a, 0x003f, 0xe289, 0x003f, 0x003f,
    -    0x003f, 0xe28b, 0xe28c, 0x003f, 0x97b3, 0xe28d, 0x003f, 0xe8ed,
    -    0x8fcd, 0xe28e, 0xe28f, 0x8f76, 0x003f, 0x93b6, 0xe290, 0xee68,
    -    0x003f, 0x003f, 0x9247, 0xee6a, 0x003f, 0xe291, 0x003f, 0x925b,
    -    0xe292, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ba3, 0x003f,
    -    0x995e, 0x927c, 0x8eb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ac6,
    -    /* 0x7b00 .. 0x7bff */
    -    0x003f, 0x003f, 0xe293, 0x003f, 0xe2a0, 0x003f, 0xe296, 0x003f,
    -    0x8b88, 0x003f, 0xe295, 0xe2a2, 0x003f, 0x003f, 0x003f, 0xe294,
    -    0x003f, 0x8fce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe298, 0xe299, 0x003f, 0x934a, 0x003f, 0x003f, 0xe29a, 0x003f,
    -    0x8a7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x9079, 0x9584, 0x003f,
    -    0xe29c, 0x003f, 0x003f, 0x003f, 0x91e6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe297, 0x003f, 0xe29b, 0xe29d, 0x003f,
    -    0x003f, 0x8df9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a4, 0x954d, 0x003f,
    -    0x94a4, 0x9399, 0x003f, 0x8bd8, 0xe2a3, 0xe2a1, 0x003f, 0x94b3,
    -    0xe29e, 0x927d, 0x939b, 0x003f, 0x939a, 0x003f, 0x8df4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2b6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a6, 0x003f, 0xe2a8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2ab, 0x003f, 0xe2ac, 0x003f,
    -    0xe2a9, 0xe2aa, 0x003f, 0x003f, 0xe2a7, 0xe2a5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe29f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95cd, 0x89d3,
    -    0x003f, 0x003f, 0x003f, 0xe2b3, 0x003f, 0xe2b0, 0x003f, 0xe2b5,
    -    0x003f, 0x003f, 0xe2b4, 0x003f, 0x9493, 0x96a5, 0x003f, 0x8e5a,
    -    0xe2ae, 0xe2b7, 0xe2b2, 0x003f, 0xe2b1, 0xe2ad, 0xee6b, 0xe2af,
    -    0x003f, 0x8ac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x925c, 0x003f, 0x003f, 0x90fb, 0x003f, 0x003f,
    -    0x003f, 0x94a0, 0x003f, 0x003f, 0xe2bc, 0x003f, 0x003f, 0x003f,
    -    0x94a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x90df, 0xe2b9, 0x003f, 0x003f, 0x94cd, 0x003f, 0xe2bd, 0x95d1,
    -    0x003f, 0x927a, 0x003f, 0xe2b8, 0xe2ba, 0x003f, 0x003f, 0xe2bb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2be, 0x003f, 0x003f,
    -    0x8ec2, 0x003f, 0x003f, 0x003f, 0x93c4, 0xe2c3, 0xe2c2, 0x003f,
    -    0x003f, 0xe2bf, 0x003f, 0x003f, 0x003f, 0x9855, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2c8, 0x003f, 0x003f, 0xe2cc, 0xe2c9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7c00 .. 0x7cff */
    -    0xe2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2cb, 0x003f, 0x003f,
    -    0x003f, 0xe2c0, 0x99d3, 0xe2c7, 0xe2c1, 0x003f, 0x003f, 0xe2ca,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d0,
    -    0x003f, 0x8ac8, 0x003f, 0xe2cd, 0x003f, 0x003f, 0x003f, 0xe2ce,
    -    0x003f, 0x003f, 0xe2cf, 0xe2d2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d1,
    -    0x94f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d3, 0x97fa, 0x95eb,
    -    0xe2d8, 0x003f, 0x003f, 0xe2d5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2d4, 0x90d0, 0x003f, 0xe2d7,
    -    0xe2d9, 0x003f, 0x003f, 0x003f, 0xe2d6, 0x003f, 0xe2dd, 0x003f,
    -    0xe2da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2db,
    -    0xe2c4, 0x003f, 0x003f, 0x003f, 0xe2dc, 0xe2de, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2df, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x95c4, 0x003f, 0xe2e0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x96e0, 0x003f,
    -    0x003f, 0x8bcc, 0x8c48, 0xe2e1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x95b2, 0x003f, 0x9088, 0x003f, 0x96ae, 0x003f, 0x003f,
    -    0xe2e2, 0x003f, 0x97b1, 0x003f, 0x003f, 0x9494, 0x003f, 0x9165,
    -    0x9453, 0x003f, 0x003f, 0x8f6c, 0x003f, 0x003f, 0x003f, 0x88be,
    -    0x003f, 0xe2e7, 0xe2e5, 0x003f, 0xe2e3, 0x8a9f, 0x003f, 0x8fcf,
    -    0xe2e8, 0x003f, 0x003f, 0xe2e6, 0x003f, 0xe2e4, 0xe2ec, 0x003f,
    -    0x003f, 0xe2eb, 0xe2ea, 0xe2e9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe2ed, 0x003f, 0x003f, 0x003f, 0xe2ee, 0x90b8, 0x003f,
    -    0xe2ef, 0x003f, 0xe2f1, 0x003f, 0x003f, 0xe2f0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8cd0, 0x003f, 0x003f, 0x003f, 0x9157, 0x003f,
    -    0x003f, 0x003f, 0xe2f3, 0x003f, 0x003f, 0x003f, 0x939c, 0x003f,
    -    0xe2f2, 0x003f, 0x003f, 0x003f, 0xe2f4, 0x003f, 0x95b3, 0x918c,
    -    0x8d66, 0x003f, 0xe2f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x97c6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f7,
    -    0x003f, 0x003f, 0xe2f8, 0x003f, 0xe2f9, 0x003f, 0xe2fa, 0x003f,
    -    0x8e85, 0x003f, 0xe2fb, 0x8c6e, 0x003f, 0x003f, 0x8b8a, 0x003f,
    -    /* 0x7d00 .. 0x7dff */
    -    0x8b49, 0x003f, 0xe340, 0x003f, 0x96f1, 0x8d67, 0xe2fc, 0x003f,
    -    0x003f, 0x003f, 0xe343, 0x96e4, 0x003f, 0x945b, 0x003f, 0x003f,
    -    0x9552, 0x003f, 0x003f, 0x003f, 0x8f83, 0xe342, 0x003f, 0x8ed1,
    -    0x8d68, 0x8e86, 0x8b89, 0x95b4, 0xe341, 0x003f, 0x003f, 0x003f,
    -    0x9166, 0x9661, 0x8df5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8e87, 0x92db, 0x003f, 0xe346, 0x97dd,
    -    0x8dd7, 0x003f, 0xe347, 0x9061, 0x003f, 0xe349, 0x003f, 0x003f,
    -    0x003f, 0x8fd0, 0x8dae, 0x003f, 0x003f, 0x003f, 0x003f, 0xe348,
    -    0x003f, 0x003f, 0x8f49, 0x8cbc, 0x9167, 0xe344, 0xe34a, 0x003f,
    -    0xee6d, 0x003f, 0x003f, 0xe345, 0x8c6f, 0x003f, 0xe34d, 0xe351,
    -    0x8c8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe34c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe355, 0xee6e, 0x003f, 0x8d69, 0x003f,
    -    0x003f, 0x978d, 0x88ba, 0xe352, 0x003f, 0x003f, 0x8b8b, 0x003f,
    -    0xe34f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe350, 0x003f,
    -    0x003f, 0x939d, 0xe34e, 0xe34b, 0x003f, 0x8a47, 0x90e2, 0x003f,
    -    0x003f, 0x8ca6, 0x003f, 0x003f, 0x003f, 0xe357, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe354, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe356,
    -    0x003f, 0x003f, 0x003f, 0xe353, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8c70, 0x91b1, 0xe358, 0x918e, 0x003f, 0x003f, 0xe365,
    -    0xee70, 0x003f, 0xe361, 0xe35b, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe35f, 0x8ef8, 0x88db, 0xe35a, 0xe362,
    -    0xe366, 0x8d6a, 0x96d4, 0x003f, 0x92d4, 0xe35c, 0x003f, 0xee6f,
    -    0xe364, 0x003f, 0xe359, 0x925d, 0x003f, 0xe35e, 0x88bb, 0x96c8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe35d,
    -    0x003f, 0x003f, 0x8bd9, 0x94ea, 0x003f, 0x003f, 0x003f, 0x918d,
    -    0x003f, 0x97ce, 0x8f8f, 0x003f, 0x003f, 0xe38e, 0xee71, 0x003f,
    -    0xe367, 0x003f, 0x90fc, 0x003f, 0xe363, 0xe368, 0xe36a, 0x003f,
    -    0x92f7, 0xe36d, 0x003f, 0x003f, 0xe369, 0x003f, 0x003f, 0x003f,
    -    0x95d2, 0x8ac9, 0x003f, 0x003f, 0x96c9, 0x003f, 0x003f, 0x88dc,
    -    0x003f, 0x003f, 0xe36c, 0x003f, 0x97fb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe36b, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7e00 .. 0x7eff */
    -    0x003f, 0x898f, 0x003f, 0x003f, 0x93ea, 0xe36e, 0x003f, 0x003f,
    -    0x003f, 0xe375, 0xe36f, 0xe376, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe372, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x949b, 0x003f, 0x003f, 0x8ec8, 0xe374,
    -    0x003f, 0xe371, 0xe377, 0xe370, 0x003f, 0x003f, 0x8f63, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9644, 0x003f, 0x003f, 0x8f6b, 0x003f,
    -    0x003f, 0xe373, 0xe380, 0x003f, 0x003f, 0xe37b, 0x003f, 0xe37e,
    -    0x003f, 0xe37c, 0xe381, 0xe37a, 0x003f, 0xe360, 0x90d1, 0x003f,
    -    0x003f, 0x94c9, 0x003f, 0xe37d, 0x003f, 0x003f, 0xe378, 0x003f,
    -    0x003f, 0x003f, 0x9140, 0x8c71, 0x003f, 0x8f4a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xee72, 0x003f, 0x9044, 0x9155, 0xe384, 0x003f,
    -    0x003f, 0xe386, 0xe387, 0x003f, 0x003f, 0xe383, 0xe385, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe379, 0xe382,
    -    0x003f, 0xe38a, 0xe389, 0x003f, 0x003f, 0x969a, 0x003f, 0x003f,
    -    0x8c4a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe388, 0x003f, 0xe38c, 0xe38b, 0xe38f, 0x003f, 0xe391,
    -    0x003f, 0x003f, 0x8e5b, 0xe38d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe392, 0xe393, 0xed40, 0x003f, 0xe394, 0x003f, 0xe39a, 0x935a,
    -    0xe396, 0x003f, 0xe395, 0xe397, 0xe398, 0x003f, 0xe399, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe39b, 0xe39c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7f00 .. 0x7fff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aca, 0x003f,
    -    0xe39d, 0x003f, 0xe39e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe39f, 0x003f, 0xee73,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe3a0, 0xe3a1, 0xe3a2, 0x003f,
    -    0xe3a3, 0xe3a4, 0x003f, 0x003f, 0xe3a6, 0xe3a5, 0x003f, 0x003f,
    -    0xe3a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a8,
    -    0xe3a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3ac,
    -    0xe3aa, 0xe3ab, 0x8ddf, 0x8c72, 0x003f, 0x003f, 0x9275, 0x003f,
    -    0x94b1, 0x003f, 0x8f90, 0x003f, 0x003f, 0x946c, 0x003f, 0x94eb,
    -    0xe3ad, 0x9ceb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3ae, 0xe3b0, 0x003f, 0x9785, 0xe3af, 0xe3b2,
    -    0xe3b1, 0x003f, 0x9772, 0x003f, 0xe3b3, 0x003f, 0x94fc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe3b4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3b7, 0x003f, 0x003f, 0xe3b6, 0xe3b5, 0x003f,
    -    0x003f, 0xee74, 0x003f, 0xe3b8, 0x8c51, 0x003f, 0x003f, 0x003f,
    -    0x9141, 0x8b60, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3bc, 0xe3b9,
    -    0x003f, 0x003f, 0xe3ba, 0x003f, 0x003f, 0x003f, 0xe3bd, 0x003f,
    -    0xe3be, 0xe3bb, 0x003f, 0x003f, 0x003f, 0x8948, 0x003f, 0x003f,
    -    0x003f, 0x89a5, 0x003f, 0x003f, 0x003f, 0xe3c0, 0xe3c1, 0x003f,
    -    0x003f, 0x003f, 0xe3c2, 0x003f, 0x9782, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8f4b, 0x003f, 0xe3c4, 0xe3c3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9089, 0xe3c5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3c6, 0x003f,
    -    0x003f, 0xe3c7, 0x003f, 0x8ae3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8acb, 0x003f, 0x003f, 0xe3c8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3c9, 0x003f, 0x967c, 0x9783, 0x003f, 0x003f, 0x003f,
    -    /* 0x8000 .. 0x80ff */
    -    0x9773, 0x9856, 0x003f, 0x8d6c, 0xe3cc, 0x8ed2, 0xe3cb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3cd, 0x8ea7, 0x003f, 0x003f, 0x003f,
    -    0x91cf, 0x003f, 0xe3ce, 0x003f, 0x003f, 0x8d6b, 0x003f, 0x96d5,
    -    0xe3cf, 0xe3d0, 0x003f, 0x003f, 0xe3d1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe3d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8ea8, 0x003f, 0x003f, 0x96eb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3d5, 0x003f, 0x925e, 0x003f, 0xe3d4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d7, 0x003f,
    -    0x003f, 0x003f, 0xe3d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3d8, 0x003f, 0x003f, 0x003f, 0x90b9, 0x003f,
    -    0xe3d9, 0x003f, 0xe3da, 0x003f, 0x003f, 0x003f, 0x95b7, 0xe3db,
    -    0x003f, 0x918f, 0xe3dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe3dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97fc,
    -    0xe3e0, 0x003f, 0xe3df, 0xe3de, 0x92ae, 0x003f, 0xe3e1, 0x9045,
    -    0x003f, 0xe3e2, 0x003f, 0x003f, 0x003f, 0xe3e3, 0x9857, 0xe3e4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe3e5, 0xe3e7, 0xe3e6, 0x94a3,
    -    0x003f, 0x93f7, 0x003f, 0x985d, 0x94a7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3e9, 0x003f, 0x003f, 0x8fd1, 0x003f,
    -    0x9549, 0x003f, 0xe3ea, 0xe3e8, 0x003f, 0x8acc, 0x003f, 0x003f,
    -    0x003f, 0x8cd2, 0x8e88, 0x003f, 0x003f, 0x94ec, 0x003f, 0x003f,
    -    0x003f, 0x8ca8, 0x9662, 0x003f, 0xe3ed, 0xe3eb, 0x003f, 0x8d6d,
    -    0x003f, 0x8d6e, 0x88e7, 0x003f, 0x8de6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9478, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x88dd, 0xe3f2, 0x003f, 0x925f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9477, 0x003f, 0x91d9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f4, 0x003f,
    -    0x003f, 0xe3f0, 0xe3f3, 0xe3ee, 0x003f, 0xe3f1, 0x9645, 0x003f,
    -    0x003f, 0x8cd3, 0x003f, 0x003f, 0x88fb, 0xe3ef, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f6,
    -    0x003f, 0xe3f7, 0x003f, 0x003f, 0x93b7, 0x003f, 0x003f, 0x003f,
    -    0x8bb9, 0x003f, 0x003f, 0x003f, 0xe445, 0x945c, 0x003f, 0x003f,
    -    /* 0x8100 .. 0x81ff */
    -    0x003f, 0x003f, 0x8e89, 0x003f, 0x003f, 0x8bba, 0x90c6, 0x9865,
    -    0x96ac, 0xe3f5, 0x90d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8b72, 0xe3f8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3fa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3fb,
    -    0x003f, 0x9245, 0x003f, 0x945d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x92af, 0x003f, 0x003f, 0x003f, 0x003f, 0xe442, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe441, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3fc, 0x003f, 0x003f, 0x9074, 0x003f,
    -    0x9585, 0xe444, 0x003f, 0xe443, 0x8d6f, 0x9872, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe454,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe448, 0xe449, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8eee, 0x003f, 0x003f, 0xe447, 0x003f,
    -    0x8d98, 0xe446, 0x003f, 0x003f, 0xe44a, 0x003f, 0x003f, 0x003f,
    -    0x92b0, 0x95a0, 0x9142, 0x003f, 0x003f, 0x003f, 0x003f, 0x91da,
    -    0xe44e, 0x003f, 0xe44f, 0xe44b, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe44c, 0x003f, 0xe44d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d70,
    -    0x003f, 0x003f, 0x003f, 0xe455, 0x003f, 0xe451, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9586, 0x003f, 0x968c, 0x9547, 0x003f, 0x003f,
    -    0xe450, 0x003f, 0x003f, 0xe453, 0xe452, 0x003f, 0x003f, 0x003f,
    -    0x9663, 0xe456, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe457, 0x003f, 0x003f, 0x9156, 0x003f, 0xe458, 0x003f, 0x003f,
    -    0xe45a, 0x003f, 0xe45e, 0x003f, 0x003f, 0xe45b, 0xe459, 0x945e,
    -    0xe45c, 0x003f, 0xe45d, 0x003f, 0x003f, 0x003f, 0x89b0, 0x003f,
    -    0xe464, 0xe45f, 0x003f, 0x003f, 0x003f, 0xe460, 0x003f, 0x003f,
    -    0x003f, 0xe461, 0x003f, 0x919f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe463, 0xe462, 0xe465, 0x003f, 0x003f, 0x003f, 0x003f, 0xe466,
    -    0xe467, 0x003f, 0x003f, 0x9062, 0x003f, 0x89e7, 0x003f, 0xe468,
    -    0x97d5, 0x003f, 0x8ea9, 0x003f, 0x003f, 0x8f4c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8e8a, 0x9276, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe469, 0xe46a, 0x8950, 0x003f, 0xe46b, 0x003f,
    -    /* 0x8200 .. 0x82ff */
    -    0x003f, 0xe46c, 0xe46d, 0x003f, 0x003f, 0xe46e, 0x003f, 0xe46f,
    -    0x8bbb, 0x9da8, 0xe470, 0x003f, 0x90e3, 0xe471, 0x8ec9, 0x003f,
    -    0xe472, 0x003f, 0x98ae, 0x003f, 0x003f, 0x003f, 0xe473, 0x95dc,
    -    0x8ada, 0x003f, 0x003f, 0x9143, 0x8f77, 0x003f, 0x9591, 0x8f4d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe474, 0x8d71, 0xe475, 0x94ca, 0x003f, 0xe484, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe477, 0x003f, 0x91c7, 0x9495, 0x8cbd,
    -    0xe476, 0x9144, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe478, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92f8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe47a, 0xe479, 0xe47c, 0x003f, 0x003f, 0xe47b, 0x003f, 0xe47d,
    -    0x003f, 0x003f, 0xe480, 0x003f, 0xe47e, 0x003f, 0x8acd, 0x003f,
    -    0xe481, 0x003f, 0xe482, 0xe483, 0x003f, 0x003f, 0x8daf, 0x97c7,
    -    0x003f, 0xe485, 0x9046, 0x003f, 0x003f, 0x003f, 0x8990, 0xe486,
    -    0xe487, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe488, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x88f0, 0x003f, 0xe489, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe48a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9587, 0x003f, 0x003f, 0x003f, 0x8ec5, 0x003f, 0xe48c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a48, 0x88b0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe48b, 0xe48e, 0x946d, 0x003f, 0x9063,
    -    0x003f, 0x89d4, 0x003f, 0x9646, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8c7c, 0x8bda, 0x003f, 0xe48d, 0x003f, 0x89e8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aa1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8991, 0xe492, 0x97e8, 0x91db, 0x003f, 0x003f, 0x9563,
    -    0x003f, 0xe49e, 0x003f, 0x89d5, 0xe49c, 0x003f, 0xe49a, 0xe491,
    -    0x003f, 0xe48f, 0x003f, 0xe490, 0x003f, 0x8ee1, 0x8bea, 0x9297,
    -    0x003f, 0x003f, 0x003f, 0x93cf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8970, 0x003f, 0xe494, 0xe493, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe499, 0xe495, 0xe498, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8300 .. 0x83ff */
    -    0x003f, 0xee76, 0x96ce, 0xe497, 0x89d6, 0x8a9d, 0xe49b, 0x003f,
    -    0x003f, 0xe49d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c73, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a1, 0xe4aa,
    -    0xe4ab, 0x003f, 0x003f, 0x003f, 0x88a9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4b2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x88ef, 0x003f, 0x003f, 0xe4a9, 0x003f, 0x003f, 0x003f, 0xe4a8,
    -    0x003f, 0xe4a3, 0xe4a2, 0x003f, 0xe4a0, 0xe49f, 0x9283, 0x003f,
    -    0x91f9, 0xe4a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a7, 0x003f, 0x003f,
    -    0x003f, 0x9190, 0x8c74, 0x003f, 0x003f, 0x003f, 0x003f, 0x8960,
    -    0xe4a6, 0x003f, 0x8d72, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9191, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xee77, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4b8, 0x003f, 0xe4b9, 0x003f, 0x89d7,
    -    0x003f, 0x003f, 0x003f, 0x89ac, 0xe4b6, 0x003f, 0x003f, 0xee78,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ac, 0x003f, 0xe4b4,
    -    0x003f, 0xe4bb, 0xe4b5, 0x003f, 0x003f, 0x003f, 0xe4b3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe496, 0x003f, 0x003f, 0xe4b1, 0x003f,
    -    0x003f, 0x003f, 0xe4ad, 0x003f, 0x003f, 0x003f, 0x8ace, 0xe4af,
    -    0xe4ba, 0x003f, 0xe4b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4bc, 0x003f, 0xe4ae, 0x949c, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9789, 0x003f, 0x003f, 0x003f, 0xe4b7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cd, 0x003f, 0x003f,
    -    0x003f, 0xe4c5, 0x003f, 0x003f, 0x003f, 0x909b, 0x003f, 0xee79,
    -    0x003f, 0x003f, 0x8b65, 0x003f, 0x8bdb, 0x003f, 0xe4c0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x89d9, 0x003f, 0x003f, 0x8fd2, 0x003f,
    -    0xe4c3, 0x003f, 0x003f, 0x003f, 0x8dd8, 0x003f, 0x003f, 0x9370,
    -    0xe4c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x95ec, 0x003f, 0xe4bf, 0x003f, 0x003f, 0x003f, 0x89d8,
    -    0x8cd4, 0x9548, 0xe4c9, 0x003f, 0xe4bd, 0x003f, 0xee7a, 0xe4c6,
    -    0x003f, 0x003f, 0x003f, 0xe4d0, 0x003f, 0xe4c1, 0x003f, 0x003f,
    -    /* 0x8400 .. 0x84ff */
    -    0x003f, 0x003f, 0x003f, 0xe4c2, 0x93b8, 0x003f, 0x003f, 0xe4c7,
    -    0x003f, 0x003f, 0x003f, 0xe4c4, 0x9647, 0xe4ca, 0x88de, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4be, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4cc, 0x003f, 0xe4cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x948b, 0xe4d2, 0x003f, 0xe4dd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8a9e, 0x003f, 0x003f, 0x003f, 0xe4e0, 0x003f, 0x003f,
    -    0xe4ce, 0x003f, 0x003f, 0x003f, 0xe4d3, 0x978e, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dc, 0x003f,
    -    0xee7b, 0x9774, 0x003f, 0x003f, 0x003f, 0x003f, 0x97a8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9298,
    -    0x003f, 0x003f, 0x003f, 0x8a8b, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9592, 0xe4e2, 0x939f, 0x003f, 0x003f, 0x88af, 0x003f,
    -    0x003f, 0xe4db, 0x003f, 0xe4d7, 0x9192, 0xe4d1, 0xe4d9, 0xe4de,
    -    0x003f, 0x944b, 0x003f, 0x003f, 0x003f, 0x88a8, 0x003f, 0xe4d6,
    -    0x003f, 0xe4df, 0x9598, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe4da, 0x003f, 0xe4d5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8fd3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8f4e, 0x003f, 0x003f, 0x003f, 0x8eaa, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x96d6, 0x003f, 0x003f, 0x9566, 0x003f, 0x003f, 0xe4e5,
    -    0x003f, 0xe4ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8a97, 0x003f, 0xee7c, 0x003f, 0x003f, 0x003f,
    -    0x8ff6, 0xe4e3, 0x003f, 0xe4e8, 0x9193, 0x003f, 0x003f, 0xe4e4,
    -    0x003f, 0xe4eb, 0x003f, 0x003f, 0x927e, 0x003f, 0xe4ec, 0x003f,
    -    0x003f, 0x9775, 0xe4e1, 0x8a57, 0x003f, 0xe4e7, 0x003f, 0x003f,
    -    0xe4ea, 0x96aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ed, 0x003f,
    -    0x003f, 0xe4e6, 0xe4e9, 0x003f, 0xed44, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x9648, 0x003f, 0x9840, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f8, 0x003f, 0x003f, 0xe4f0,
    -    /* 0x8500 .. 0x85ff */
    -    0x8ec1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x95cc, 0x003f, 0x96a0, 0xe4f7, 0xe4f6, 0x003f, 0xe4f2,
    -    0xe4f3, 0x003f, 0x8955, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f5,
    -    0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x92d3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f4, 0x88fc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91a0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95c1, 0x003f, 0x003f,
    -    0xe4f9, 0xe540, 0x003f, 0x94d7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4fc, 0x8fd4, 0x8ec7, 0xe542, 0x003f, 0x003f, 0x8bbc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xee7d, 0x003f, 0xe543, 0x003f, 0x9599,
    -    0xe4fb, 0xee7e, 0xe4d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4fa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x986e, 0x93a0, 0x9593, 0xee80, 0x003f, 0xe54a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe550,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe551, 0x003f,
    -    0xe544, 0x003f, 0x003f, 0x003f, 0x9496, 0x003f, 0x003f, 0xe54e,
    -    0xe546, 0x003f, 0xe548, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe552, 0xe547, 0x003f, 0x003f, 0xe54b, 0x003f, 0x003f, 0x8992,
    -    0x003f, 0x93e3, 0x003f, 0xe54c, 0xe54f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe545, 0x003f, 0x9145, 0x003f,
    -    0xe549, 0x8e46, 0x9064, 0x8c4f, 0x96f2, 0x003f, 0x96f7, 0x8f92,
    -    0xee82, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe556, 0xe554, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x986d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe553, 0x003f, 0x003f, 0x003f, 0x9795, 0x003f, 0xe555,
    -    0xe557, 0x003f, 0x003f, 0x003f, 0x003f, 0xe558, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe55b, 0xe559, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x93a1, 0xe55a, 0x003f, 0x003f,
    -    0x003f, 0x94cb, 0xe54d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f93,
    -    0x003f, 0xe55c, 0xe561, 0x9194, 0x003f, 0x003f, 0xe560, 0x003f,
    -    /* 0x8600 .. 0x86ff */
    -    0x003f, 0x003f, 0xe541, 0x003f, 0x003f, 0x003f, 0xe562, 0x9168,
    -    0x003f, 0x003f, 0xe55d, 0xe55f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe55e, 0x003f, 0x003f, 0x9f50, 0x9f41,
    -    0x003f, 0x003f, 0xe564, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe563, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9796, 0x003f, 0xe1ba,
    -    0xe565, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe566,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe567, 0x8cd5, 0x003f,
    -    0x8b73, 0x003f, 0x003f, 0x003f, 0xe569, 0x997c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8b95, 0x003f, 0x97b8, 0x003f, 0x8bf1, 0xe56a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe56b,
    -    0x003f, 0x003f, 0x003f, 0x928e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe56c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x93f8, 0x003f, 0x88b8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x89e1, 0xe571, 0xe572, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe56d, 0x003f, 0x8e5c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe56e, 0x9461, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe56f, 0xe570, 0xe57a, 0x003f, 0x003f, 0x003f, 0xe574,
    -    0xe577, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe573, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe575, 0x003f, 0xe576, 0x8ed6,
    -    0x003f, 0xe578, 0x003f, 0x9260, 0x003f, 0x8c75, 0x8a61, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe57b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8a5e, 0x003f, 0xe581, 0x003f, 0x003f, 0xe57c, 0xe580,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x94b8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe57d, 0x003f, 0x003f, 0xe57e, 0x9567, 0x94d8, 0xe582,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x91fb, 0xe58c, 0x003f, 0xe588, 0x003f, 0x003f, 0x89e9, 0x003f,
    -    /* 0x8700 .. 0x87ff */
    -    0xe586, 0x003f, 0x9649, 0xe587, 0x003f, 0x003f, 0xe584, 0x003f,
    -    0xe585, 0xe58a, 0xe58d, 0x003f, 0x003f, 0xe58b, 0x003f, 0x003f,
    -    0x003f, 0xe589, 0xe583, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9277, 0x003f, 0xe594, 0x003f, 0x96a8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe592, 0x003f, 0x003f,
    -    0x003f, 0xe593, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe58e, 0x003f, 0x003f, 0xe590,
    -    0x003f, 0x003f, 0x003f, 0xe591, 0x003f, 0x003f, 0x003f, 0xe58f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x90e4, 0x003f, 0x9858, 0xe598, 0x003f, 0xe599, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe59f, 0x003f, 0x9049, 0x003f, 0xe59b,
    -    0x003f, 0xe59e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe596,
    -    0xe595, 0x003f, 0x003f, 0xe5a0, 0x003f, 0x003f, 0x89da, 0x003f,
    -    0xe59c, 0x003f, 0xe5a1, 0x003f, 0x003f, 0x003f, 0xe59d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe59a, 0x003f, 0x92b1, 0x003f,
    -    0xe597, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9488,
    -    0x003f, 0x003f, 0xe5a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x975a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a4,
    -    0x003f, 0x003f, 0xe5a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5ac, 0x003f, 0x003f, 0x003f, 0xe5a6,
    -    0x003f, 0x003f, 0x003f, 0xe5ae, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9786, 0xe5b1, 0x003f, 0xe5a8, 0x003f, 0x003f,
    -    0xe5a9, 0x003f, 0x003f, 0x003f, 0xe5ad, 0x003f, 0xe5b0, 0xe5af,
    -    0x003f, 0x003f, 0x003f, 0xe5a7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5aa, 0x003f, 0xe5bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b2,
    -    0x003f, 0x003f, 0xe5b3, 0x003f, 0x003f, 0x003f, 0xe5b8, 0xe5b9,
    -    0x003f, 0x8a49, 0x003f, 0x8b61, 0x003f, 0x003f, 0xe5b7, 0x003f,
    -    /* 0x8800 .. 0x88ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a2, 0x003f, 0xee85,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b6, 0xe5ba, 0xe5b5,
    -    0x003f, 0xe5bc, 0x003f, 0x003f, 0x003f, 0xe5be, 0xe5bd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5c0, 0xe5bf, 0xe579, 0x003f, 0x003f, 0x003f, 0xe5c4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5c2, 0x003f,
    -    0x003f, 0xe5c3, 0x003f, 0xe5c5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8c8c, 0x003f, 0xe5c7, 0x003f, 0xe5c6, 0x003f, 0x8f4f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8d73, 0x9fa5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5c8, 0x8f70, 0x003f, 0x003f, 0x003f, 0x8a58,
    -    0x003f, 0xe5c9, 0x003f, 0x8971, 0x003f, 0x8fd5, 0xe5ca, 0x003f,
    -    0x003f, 0x8d74, 0xe5cb, 0x88df, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x955c, 0x003f, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x908a, 0x003f, 0xe5d3, 0x003f, 0x003f, 0xe5d0, 0x003f, 0x928f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5d1, 0xe5ce, 0x8bdc,
    -    0x003f, 0xe5cd, 0xe5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8c55, 0x003f, 0x003f, 0x91dc, 0x003f, 0xe5da, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5d6, 0x003f, 0x003f, 0x003f, 0x91b3, 0xe5d5,
    -    0x003f, 0xe5d8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5cf, 0x003f,
    -    0x003f, 0x003f, 0xe5d9, 0x003f, 0xe5db, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x94ed, 0x003f, 0x003f, 0xe5d7, 0x003f,
    -    0xe5dc, 0xe5de, 0x003f, 0x003f, 0x8cd1, 0xe5d2, 0x003f, 0x88bf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5dd,
    -    0x003f, 0x8dd9, 0x97f4, 0xe5df, 0xe5e0, 0x9195, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97a0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe5e1, 0x9754, 0x003f, 0x003f,
    -    0xe5e2, 0xe5e3, 0x003f, 0x003f, 0x95e2, 0xe5e4, 0x003f, 0x8dbe,
    -    0x003f, 0x97a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5ea, 0x8fd6, 0xe5e8, 0xee86, 0x003f, 0x003f,
    -    0x9787, 0xe5e5, 0x003f, 0x003f, 0xe5e7, 0x90bb, 0x909e, 0x003f,
    -    /* 0x8900 .. 0x89ff */
    -    0x003f, 0x003f, 0xe5e6, 0x003f, 0xe5eb, 0x003f, 0x003f, 0x95a1,
    -    0x003f, 0x003f, 0xe5ed, 0x003f, 0xe5ec, 0x003f, 0x003f, 0x003f,
    -    0x8a8c, 0x003f, 0x964a, 0xe5ee, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xed41, 0xe5fa, 0xe5f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5f2, 0xe5f3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f7, 0x003f,
    -    0xe5f8, 0x003f, 0x003f, 0xe5f6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5f4, 0x003f, 0xe5ef, 0xe5f5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f9, 0xe8b5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x89a6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5fc, 0x8bdd,
    -    0xe5fb, 0x003f, 0x003f, 0x003f, 0xe641, 0x003f, 0xe640, 0x003f,
    -    0x003f, 0x003f, 0xe643, 0x003f, 0x003f, 0xe642, 0x003f, 0xe644,
    -    0x003f, 0x003f, 0x8f50, 0x003f, 0xe645, 0x003f, 0x003f, 0xe646,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe647, 0x90bc,
    -    0x003f, 0x9776, 0x003f, 0xe648, 0x003f, 0x003f, 0x95a2, 0x9465,
    -    0xe649, 0x003f, 0xe64a, 0x8ca9, 0x003f, 0x003f, 0x003f, 0x8b4b,
    -    0x003f, 0x003f, 0x003f, 0xe64b, 0x003f, 0x003f, 0x8e8b, 0x9460,
    -    0xe64c, 0x003f, 0x8a6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe64d, 0x003f, 0x003f, 0x003f, 0x003f, 0xe64f, 0x9797,
    -    0x003f, 0xe64e, 0x9065, 0x003f, 0xe650, 0x003f, 0x003f, 0xe651,
    -    0x003f, 0x003f, 0xe652, 0x8acf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe653, 0x003f, 0x003f, 0xe654, 0x003f, 0xe655,
    -    0xe656, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8a70, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe657, 0x003f, 0xe658, 0xe659, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x89f0, 0x003f, 0x003f, 0x9047, 0xe65a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe65b, 0x003f, 0x003f, 0x003f,
    -    0xe65c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8a00 .. 0x8aff */
    -    0x8cbe, 0x003f, 0x92f9, 0xe65d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8c76, 0x003f, 0x9075, 0x003f, 0xe660, 0x003f, 0x93a2, 0x003f,
    -    0xe65f, 0x003f, 0xee87, 0x8c50, 0x003f, 0x003f, 0xe65e, 0x91f5,
    -    0x8b4c, 0x003f, 0x003f, 0xe661, 0x003f, 0xe662, 0x003f, 0x8fd7,
    -    0x003f, 0x003f, 0x003f, 0x8c8d, 0x003f, 0xe663, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x964b, 0x003f, 0x003f, 0x90dd, 0x003f, 0x003f,
    -    0x003f, 0x8b96, 0x003f, 0x96f3, 0x9169, 0x003f, 0xe664, 0xee88,
    -    0x003f, 0x003f, 0x9066, 0x9290, 0x8fd8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe665, 0x003f, 0x003f, 0x003f, 0x003f, 0xe668, 0x003f,
    -    0xe669, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8dbc, 0x91c0, 0xe667, 0x003f, 0x8fd9, 0x955d, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe666, 0x003f, 0x003f, 0x8e8c, 0x003f,
    -    0x8972, 0x003f, 0xe66d, 0x8c77, 0x003f, 0x003f, 0x8e8e, 0x003f,
    -    0x003f, 0x8e8d, 0x003f, 0x986c, 0xe66c, 0xe66b, 0x9146, 0x003f,
    -    0x8b6c, 0x9862, 0x8a59, 0x8fda, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xee89, 0x003f, 0x003f, 0xe66a, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe66f, 0x003f, 0xe670, 0xe66e, 0x003f, 0x8cd6,
    -    0x003f, 0x975f, 0x003f, 0x003f, 0x8e8f, 0x9446, 0x003f, 0x003f,
    -    0x003f, 0xe673, 0x003f, 0x90be, 0x003f, 0x9261, 0x003f, 0x003f,
    -    0x9755, 0x003f, 0xe676, 0x003f, 0x003f, 0x003f, 0x8cea, 0x003f,
    -    0x90bd, 0xe672, 0x003f, 0xe677, 0x8ceb, 0xe674, 0xe675, 0xee8a,
    -    0xe671, 0x003f, 0x003f, 0x003f, 0x90e0, 0x93c7, 0x003f, 0x003f,
    -    0x924e, 0x003f, 0x89db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x94ee, 0x003f, 0x003f, 0x8b62, 0x003f, 0xee8b, 0x92b2,
    -    0x003f, 0x003f, 0xe67a, 0x003f, 0xe678, 0x003f, 0x003f, 0x926b,
    -    0x003f, 0x003f, 0x003f, 0x90bf, 0x8ad0, 0xe679, 0x003f, 0x907a,
    -    0x003f, 0x003f, 0x97c8, 0x003f, 0x003f, 0x003f, 0x985f, 0x003f,
    -    0x003f, 0x003f, 0xe67b, 0xe687, 0x92b3, 0x003f, 0xe686, 0xee8c,
    -    0xe683, 0xe68b, 0xe684, 0x003f, 0xe680, 0x003f, 0x92fa, 0xe67e,
    -    0x003f, 0x003f, 0x003f, 0xe67c, 0x003f, 0x9740, 0x8e90, 0x003f,
    -    0x003f, 0xe681, 0x003f, 0xe67d, 0x003f, 0x003f, 0xee8e, 0xe685,
    -    0x8f94, 0x003f, 0x8cbf, 0x003f, 0x003f, 0x003f, 0x91f8, 0x003f,
    -    /* 0x8b00 .. 0x8bff */
    -    0x9664, 0x8979, 0x88e0, 0x003f, 0x93a3, 0x003f, 0x003f, 0xe689,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe688, 0x003f, 0x93e4, 0x003f,
    -    0xe68d, 0x003f, 0x003f, 0x003f, 0xe682, 0x003f, 0xe68c, 0xe68e,
    -    0x003f, 0x8caa, 0xe68a, 0x8d75, 0x003f, 0x8ed3, 0x003f, 0x003f,
    -    0xe68f, 0x9777, 0x003f, 0x003f, 0x003f, 0x003f, 0xe692, 0x003f,
    -    0xe695, 0x003f, 0x003f, 0xe693, 0x9554, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe690, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8bde, 0x003f, 0x003f, 0x003f, 0x003f, 0xe694, 0x003f,
    -    0x003f, 0xe696, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe69a, 0x003f, 0x003f, 0xe697, 0x003f, 0xe699, 0xe698,
    -    0x003f, 0x003f, 0x003f, 0xee8f, 0x003f, 0x003f, 0xe69b, 0x003f,
    -    0x8eaf, 0x003f, 0xe69d, 0xe69c, 0x9588, 0x003f, 0x003f, 0xe69f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c78, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe69e, 0xe6a0, 0x003f, 0x003f, 0xe6a1,
    -    0x8b63, 0xe3bf, 0x8ff7, 0x003f, 0xe6a2, 0x003f, 0x003f, 0x8cec,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a3, 0x003f, 0xee90,
    -    0xe6a4, 0x003f, 0x003f, 0x8e5d, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9dcc, 0x003f, 0xe6a5, 0x003f, 0xe6a6, 0x003f,
    -    0x8f51, 0x003f, 0xe6a7, 0xe6a8, 0x003f, 0x003f, 0xe6a9, 0x003f,
    -    0x003f, 0xe6aa, 0xe6ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8c00 .. 0x8cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x924a,
    -    0x003f, 0x003f, 0xe6ac, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ae,
    -    0x003f, 0xe6ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x93a4, 0x003f,
    -    0xe6af, 0x003f, 0x964c, 0x003f, 0xe6b0, 0x003f, 0xe6b1, 0x003f,
    -    0xe6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6b3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x93d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8fdb, 0xe6b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8d8b, 0x98ac, 0xe6b5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6b6, 0x955e, 0xe6b7, 0x003f, 0xe6bf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6b8, 0x003f, 0x003f, 0xe6ba, 0x003f, 0x003f,
    -    0x003f, 0xe6b9, 0xe6bb, 0x003f, 0x9665, 0xe6bc, 0xe6bd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6be, 0x003f, 0x003f, 0x003f,
    -    0xe6c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a4c, 0x92e5, 0x003f,
    -    0x9589, 0x8de0, 0x8d76, 0x003f, 0x003f, 0x003f, 0x003f, 0x956e,
    -    0x89dd, 0x94cc, 0xe6c3, 0x8ad1, 0x90d3, 0xe6c2, 0xe6c7, 0x9299,
    -    0x96e1, 0x003f, 0xe6c5, 0xe6c6, 0x8b4d, 0x003f, 0xe6c8, 0x9483,
    -    0x91dd, 0x003f, 0x003f, 0x94ef, 0x935c, 0xe6c4, 0x003f, 0x9666,
    -    0x89ea, 0xe6ca, 0x9847, 0x92c0, 0x9864, 0x003f, 0x003f, 0x8e91,
    -    0xe6c9, 0x003f, 0x91af, 0x003f, 0x003f, 0xe6da, 0x9147, 0x003f,
    -    0x003f, 0x93f6, 0x003f, 0x956f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6cd, 0x8e5e, 0x8e92, 0x003f, 0x8fdc, 0x003f,
    -    0x9485, 0x003f, 0x8cab, 0xe6cc, 0xe6cb, 0x003f, 0x958a, 0x003f,
    -    0x003f, 0x003f, 0x8ebf, 0x003f, 0x003f, 0x9371, 0x003f, 0x003f,
    -    0xee91, 0x003f, 0x003f, 0x003f, 0xee92, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6cf, 0xe6d0, 0x8d77, 0xe6ce, 0x003f, 0x003f,
    -    /* 0x8d00 .. 0x8dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6d1, 0xe6d2, 0x003f, 0xe6d4,
    -    0x91a1, 0x003f, 0xe6d3, 0x8ae4, 0x003f, 0xe6d6, 0x003f, 0xe6d5,
    -    0xe6d7, 0x003f, 0xee93, 0xe6d9, 0xe6db, 0x003f, 0xe6dc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x90d4, 0x003f, 0x8ecd, 0xe6dd,
    -    0x003f, 0x003f, 0x003f, 0x8a71, 0x003f, 0xe6de, 0x003f, 0x003f,
    -    0x9196, 0xe6df, 0x003f, 0xe6e0, 0x958b, 0x003f, 0xee94, 0x8b4e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe6e1, 0x003f, 0x003f, 0x003f, 0x92b4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x897a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe6e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8eef, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9096, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x91ab, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6e5, 0x003f, 0x003f, 0x003f, 0xe6e4, 0x003f,
    -    0x003f, 0x003f, 0xe6e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6eb, 0xe6e9, 0x003f, 0x003f, 0xe6e6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e8, 0x003f,
    -    0x003f, 0x003f, 0xe6e7, 0xe6ea, 0x003f, 0x8b97, 0x003f, 0xe6ee,
    -    0x003f, 0x90d5, 0x003f, 0xe6ef, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8cd7, 0x003f, 0xe6ec, 0xe6ed, 0x003f, 0x003f, 0x003f, 0x9848,
    -    0x003f, 0x003f, 0x003f, 0x92b5, 0x003f, 0x9148, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6f0, 0x003f, 0x003f, 0xe6f3,
    -    /* 0x8e00 .. 0x8eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6f1, 0xe6f2, 0x9778, 0x003f, 0x003f, 0x003f, 0x003f, 0x93a5,
    -    0xe6f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f4, 0xe6f5, 0xe6f7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe748, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6fa, 0x003f, 0x003f, 0x003f, 0xe6fb, 0xe6f9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe6f8, 0x003f, 0x92fb, 0x003f, 0x003f, 0xe740,
    -    0xe744, 0xe741, 0xe6fc, 0x003f, 0xe742, 0x003f, 0x003f, 0x003f,
    -    0xe743, 0x003f, 0x003f, 0x003f, 0x003f, 0xe74a, 0x003f, 0x003f,
    -    0x003f, 0xe745, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90d6,
    -    0xe747, 0x003f, 0x003f, 0xe749, 0xe746, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe74c, 0x003f, 0x8f52, 0x003f, 0xe74b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe74d, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe74e, 0x003f, 0x003f, 0xe751, 0xe750, 0x003f, 0xe74f,
    -    0x003f, 0x003f, 0xe753, 0xe752, 0x003f, 0x96f4, 0x003f, 0x003f,
    -    0x003f, 0xe755, 0x003f, 0xe754, 0xe756, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe757, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe759, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe758, 0x9067, 0xe75a, 0x003f, 0x003f, 0x8beb,
    -    0xe75b, 0xe75d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe75e, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe75f, 0xe75c, 0x003f,
    -    0xe760, 0x003f, 0x8ed4, 0xe761, 0x8b4f, 0x8c52, 0x003f, 0xee96,
    -    0x003f, 0x003f, 0x8cac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe762, 0x003f, 0x003f, 0x003f, 0x93ee,
    -    0x003f, 0x003f, 0x935d, 0xe763, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe766, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8eb2, 0x003f, 0x003f, 0xe765, 0xe764, 0x8c79, 0xe767, 0x003f,
    -    /* 0x8f00 .. 0x8fff */
    -    0x003f, 0x003f, 0x003f, 0x8a72, 0x003f, 0xe769, 0x003f, 0x003f,
    -    0x003f, 0x8dda, 0xe768, 0x003f, 0xe771, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe76b, 0xe76d, 0x95e3, 0xe76a, 0x003f, 0x003f,
    -    0x003f, 0xe76c, 0x003f, 0xe770, 0xe76e, 0x8b50, 0x003f, 0xe76f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe772, 0x003f,
    -    0x003f, 0x9479, 0x97d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f53,
    -    0x003f, 0x003f, 0x003f, 0xe773, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9741, 0xe775, 0x003f, 0xe774, 0x003f, 0x003f, 0xe778, 0x9760,
    -    0x003f, 0x003f, 0xe777, 0x003f, 0x8a8d, 0xe776, 0xe77b, 0x003f,
    -    0x003f, 0xe77a, 0x003f, 0x003f, 0xe779, 0x9351, 0xe77c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe77d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe77e, 0x003f, 0x003f, 0x8d8c,
    -    0x003f, 0x8c44, 0xe780, 0xe781, 0xe782, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9068, 0xe783, 0x003f, 0x8eab, 0xe784,
    -    0x003f, 0x003f, 0x003f, 0xe785, 0x003f, 0x003f, 0x003f, 0x999f,
    -    0x999e, 0x003f, 0x003f, 0x003f, 0x003f, 0xe786, 0xe390, 0xe787,
    -    0x9243, 0x904a, 0x945f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe788,
    -    0x003f, 0x003f, 0x95d3, 0x92d2, 0x8d9e, 0x003f, 0x003f, 0x9248,
    -    0x003f, 0x003f, 0x8949, 0x003f, 0x9698, 0x9076, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c7d, 0x003f,
    -    0x003f, 0x8bdf, 0x003f, 0x003f, 0x95d4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe789, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe78b, 0x003f, 0x003f, 0xe78a, 0x89de, 0x003f,
    -    0x003f, 0x93f4, 0xe78c, 0x9497, 0x003f, 0x9352, 0x003f, 0xe78d,
    -    0x8f71, 0x003f, 0x003f, 0x003f, 0xe78f, 0x003f, 0x003f, 0x96c0,
    -    0xe79e, 0xe791, 0xe792, 0x003f, 0x003f, 0x92c7, 0x003f, 0x003f,
    -    /* 0x9000 .. 0x90ff */
    -    0x91de, 0x9197, 0x003f, 0x93a6, 0x003f, 0xe790, 0x8b74, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe799, 0x003f, 0xe796, 0xe7a3, 0x93a7,
    -    0x9280, 0xe793, 0x003f, 0x92fc, 0x9372, 0xe794, 0xe798, 0x9080,
    -    0x003f, 0x9487, 0x92ca, 0x003f, 0x003f, 0x90c0, 0xe797, 0x91ac,
    -    0x91a2, 0xe795, 0x88a7, 0x9841, 0x003f, 0x003f, 0x003f, 0xe79a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91df, 0x003f,
    -    0x003f, 0x8f54, 0x9069, 0x003f, 0x003f, 0xe79c, 0xe79b, 0x003f,
    -    0x88ed, 0xe79d, 0x003f, 0x003f, 0x954e, 0x003f, 0xe7a5, 0x003f,
    -    0x003f, 0x93d9, 0x908b, 0x003f, 0x003f, 0x9278, 0x003f, 0x8bf6,
    -    0x003f, 0xe7a4, 0x9756, 0x895e, 0x003f, 0x95d5, 0x89df, 0xe79f,
    -    0xe7a0, 0xe7a1, 0xe7a2, 0x93b9, 0x9242, 0x88e1, 0xe7a6, 0x003f,
    -    0xe7a7, 0xeaa1, 0x003f, 0x003f, 0x91bb, 0x003f, 0xe7a8, 0x003f,
    -    0x8993, 0x916b, 0x003f, 0x8cad, 0x003f, 0x9779, 0x003f, 0xee99,
    -    0xe7a9, 0x934b, 0x003f, 0x003f, 0x003f, 0x9198, 0x8ed5, 0xe7aa,
    -    0x003f, 0x003f, 0xe7ad, 0x003f, 0x003f, 0x8f85, 0xe7ab, 0x914a,
    -    0x9149, 0x003f, 0x88e2, 0x003f, 0x97c9, 0xe7af, 0x003f, 0x94f0,
    -    0xe7b1, 0xe7b0, 0xe7ae, 0xe284, 0x8ad2, 0x003f, 0x003f, 0xe78e,
    -    0x003f, 0xe7b3, 0xe7b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b4,
    -    0x003f, 0x9757, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x93df, 0x003f, 0x003f, 0x964d, 0x003f,
    -    0xe7b5, 0x003f, 0x8ed7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b6,
    -    0x003f, 0xe7b7, 0x003f, 0x003f, 0x003f, 0xe7b8, 0x003f, 0x003f,
    -    0x9340, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x88e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x8d78, 0x003f, 0x003f, 0x003f, 0x9859, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe7bc, 0x003f, 0x003f, 0xee9a, 0x003f,
    -    0x003f, 0x8c53, 0xe7b9, 0x003f, 0xe7ba, 0x003f, 0x003f, 0x003f,
    -    0x9594, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a73, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9758, 0x003f, 0x8bbd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9373, 0x003f, 0x003f,
    -    /* 0x9100 .. 0x91ff */
    -    0x003f, 0x003f, 0xe7bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7be, 0x003f, 0x003f, 0xee9c, 0x003f, 0x003f,
    -    0x003f, 0xe7bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee9d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9341, 0x003f, 0x003f,
    -    0xe7c1, 0x003f, 0xe7c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x93d1, 0xe7c2, 0x8f55, 0x8ede, 0x947a, 0x9291, 0x003f,
    -    0x003f, 0x003f, 0x8ef0, 0x003f, 0x908c, 0x003f, 0xe7c3, 0x003f,
    -    0xe7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x907c, 0xe7c5, 0x003f, 0xe7c6, 0x003f, 0x003f,
    -    0x003f, 0xe7c7, 0x978f, 0x003f, 0x8f56, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7c9, 0xe7c8, 0x003f, 0x8d79, 0x003f, 0x8d93,
    -    0x8e5f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f86,
    -    0x003f, 0xe7cb, 0x003f, 0xe7ca, 0x003f, 0x91e7, 0x003f, 0x003f,
    -    0x8ced, 0x003f, 0x90c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x94ae,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8f58, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7cd, 0x003f, 0x8fdd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7d0, 0xe7ce, 0x003f, 0x003f, 0x003f, 0xe7cf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe7d2, 0xe7d1, 0x003f, 0x003f,
    -    0x8ff8, 0x003f, 0xe7d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7d4, 0xe7d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x94ce, 0x8dd1,
    -    0x8edf, 0xe7d6, 0x003f, 0xe7d7, 0x97a2, 0x8f64, 0x96ec, 0x97ca,
    -    0xe7d8, 0x8be0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7d9, 0xee9f,
    -    0x9342, 0x003f, 0xee9e, 0xe7dc, 0x8a98, 0x906a, 0xeea0, 0xe7da,
    -    0x003f, 0xe7db, 0x003f, 0x92de, 0xeea3, 0xeea4, 0x9674, 0x8bfa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeea1, 0xeea2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7de, 0xe7df, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe7dd, 0x003f, 0x003f, 0xe7e1,
    -    /* 0x9200 .. 0x92ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeea5, 0x003f,
    -    0x003f, 0x003f, 0xeea7, 0x003f, 0x003f, 0x93dd, 0x8a62, 0x003f,
    -    0xeea6, 0xe7e5, 0x003f, 0x003f, 0xe7e2, 0xe7e4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe86e, 0x003f, 0x003f, 0xe7e3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x97e9, 0x003f, 0x003f, 0x8cd8,
    -    0x003f, 0xeeae, 0xeea8, 0x003f, 0xeeaa, 0x003f, 0x003f, 0xe7ed,
    -    0xeea9, 0x003f, 0x003f, 0x003f, 0x9353, 0xe7e8, 0x003f, 0x003f,
    -    0xe7eb, 0xe7e9, 0x003f, 0xe7ee, 0x003f, 0x003f, 0xeeab, 0x003f,
    -    0xe7ef, 0xeead, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e7,
    -    0x003f, 0xeeac, 0xe7f4, 0x8994, 0x003f, 0x003f, 0xe7e6, 0x003f,
    -    0x003f, 0x003f, 0x94ab, 0x003f, 0xe7ea, 0x003f, 0x8fde, 0xeeaf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8d7a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb1,
    -    0xeeb2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9667, 0x003f,
    -    0x8be2, 0x003f, 0x003f, 0x8f65, 0x003f, 0x93ba, 0x003f, 0x003f,
    -    0xed43, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x914c, 0x003f, 0xe7f2, 0x003f, 0xe7ec, 0xe7f1, 0x003f,
    -    0x96c1, 0x003f, 0x92b6, 0xe7f3, 0xe7f0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x914b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f7,
    -    0x003f, 0xe7f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f5,
    -    0xeeb6, 0x003f, 0x964e, 0xeeba, 0x003f, 0xeeb8, 0x003f, 0xeeb4,
    -    0x003f, 0xeeb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeeb9, 0x003f, 0x003f, 0x003f, 0x8f9b, 0x003f, 0x003f, 0xeeb3,
    -    0x003f, 0xe7f8, 0x95dd, 0x003f, 0x003f, 0x8973, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9565, 0x9292, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b98, 0xed49, 0xe7fa, 0xeebd, 0x8d7c, 0x003f, 0x003f, 0xeec0,
    -    /* 0x9300 .. 0x93ff */
    -    0x003f, 0x003f, 0xeec2, 0x003f, 0x003f, 0x003f, 0x8e4b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f9,
    -    0x908d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x908e, 0xe840, 0xe842, 0x003f, 0x003f, 0xeec1, 0xeebf, 0x003f,
    -    0x8ff9, 0xeebc, 0xe841, 0xe843, 0x003f, 0xeebb, 0x8bd1, 0x003f,
    -    0x9564, 0x003f, 0x003f, 0x8ee0, 0x9842, 0x003f, 0xe7fc, 0x8df6,
    -    0x003f, 0x003f, 0x985e, 0x003f, 0x003f, 0xe845, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe844, 0xe846, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe7fb, 0x003f, 0x003f, 0x003f,
    -    0xed42, 0x003f, 0x003f, 0x93e7, 0x003f, 0x9374, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x92d5, 0x003f, 0xe84b, 0xeec4,
    -    0x003f, 0x003f, 0x003f, 0x9262, 0xe847, 0x003f, 0x003f, 0x003f,
    -    0xe848, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8c4c, 0x003f, 0xe84a, 0x003f,
    -    0xeec3, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cae, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe849, 0x003f, 0x8fdf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8a99, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe84f, 0x003f, 0x8dbd, 0x9199,
    -    0x003f, 0x003f, 0x92c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeec5, 0x003f, 0x003f, 0x8a5a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe84d, 0xe84e, 0x92c1, 0x003f,
    -    0xe84c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe850, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe856, 0x003f, 0x003f, 0xeec6, 0x003f,
    -    0xe859, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe858, 0x934c, 0x003f, 0x003f, 0x003f, 0x003f, 0xe851, 0xe852,
    -    0xe855, 0x003f, 0x003f, 0x003f, 0x003f, 0xe857, 0xeec7, 0x003f,
    -    0x003f, 0x8bbe, 0x003f, 0x003f, 0xe85a, 0xe854, 0x003f, 0x003f,
    -    0xe853, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeec8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9400 .. 0x94ff */
    -    0x003f, 0x003f, 0x003f, 0xe85e, 0x003f, 0x003f, 0x003f, 0xe85f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe860, 0x003f, 0x003f, 0xe85d, 0xe85c, 0x003f, 0x003f, 0x003f,
    -    0x8fe0, 0x93a8, 0xe85b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe864, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe862, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeec9, 0x003f, 0x003f, 0x003f, 0xe863, 0xe861, 0x003f,
    -    0x91f6, 0x003f, 0xe865, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe866, 0x003f, 0x003f, 0xe868, 0xeeca, 0x003f, 0x003f,
    -    0xeecb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8ad3, 0xe867, 0x96f8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe873, 0xe869, 0x003f, 0x003f, 0xe86c, 0x003f,
    -    0xe86a, 0x003f, 0xe86b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe86d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe86f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe870, 0x003f, 0xe871,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe874, 0xe872, 0xe875, 0xe877,
    -    0x003f, 0xe876, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9500 .. 0x95ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92b7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x96e5, 0x003f, 0xe878, 0x914d, 0x003f, 0x003f, 0x003f, 0xe879,
    -    0x003f, 0x95c2, 0xe87a, 0x8a4a, 0x003f, 0x003f, 0x003f, 0x895b,
    -    0x003f, 0x8ad5, 0xeecc, 0x8ad4, 0xe87b, 0x003f, 0xe87c, 0x003f,
    -    0xe87d, 0xe87e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe880, 0x003f, 0x8ad6, 0x8a74, 0x8d7d, 0x94b4, 0x003f, 0xe882,
    -    0xe881, 0x003f, 0x003f, 0x003f, 0x003f, 0xe883, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x897b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe886, 0x003f, 0xe885, 0xe884, 0x003f, 0xe887, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe88a, 0x003f, 0x003f, 0x003f, 0x88c5,
    -    0x003f, 0x003f, 0xe888, 0x003f, 0xe88c, 0xe88b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe88e, 0xe88d, 0xe88f, 0x003f,
    -    0x93ac, 0x003f, 0x003f, 0x003f, 0xe890, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe891, 0xe893, 0x003f, 0x003f, 0xe892, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9600 .. 0x96ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x958c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe894, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe895, 0x003f, 0x8de3, 0x003f, 0x003f, 0x003f, 0xe896, 0xe897,
    -    0x003f, 0x003f, 0x9668, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x916a, 0x003f, 0x003f, 0x003f, 0x88a2,
    -    0x91c9, 0x003f, 0xe898, 0x003f, 0x958d, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe89b, 0xe899, 0x8d7e, 0x003f, 0xe89a,
    -    0x8cc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x95c3, 0xe89d, 0xe89f, 0xe89e, 0xe8a0,
    -    0x003f, 0x003f, 0x8940, 0x9077, 0x8f9c, 0x8ad7, 0xe8a1, 0x003f,
    -    0x003f, 0x003f, 0x9486, 0x003f, 0xe8a3, 0x003f, 0x003f, 0x003f,
    -    0x8941, 0x003f, 0xe8a2, 0x92c2, 0x003f, 0x97cb, 0x93a9, 0xe89c,
    -    0x97a4, 0x003f, 0x8caf, 0x003f, 0x003f, 0x977a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bf7, 0x97b2, 0x003f,
    -    0x8c47, 0x003f, 0x91e0, 0xe440, 0x003f, 0xe8a4, 0x8a4b, 0x908f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8a75, 0xe8a6, 0x003f, 0xe8a7,
    -    0xe8a5, 0x8c84, 0x003f, 0x8ddb, 0x8fe1, 0xeecf, 0x003f, 0x003f,
    -    0x8942, 0x003f, 0x003f, 0x97d7, 0x003f, 0x003f, 0x003f, 0xe8a9,
    -    0xe7ac, 0x003f, 0xe8a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed0,
    -    0xe8ac, 0xe8aa, 0xe8ab, 0x003f, 0xe8ad, 0x003f, 0xe8ae, 0x97ea,
    -    0xe8af, 0xe8b0, 0x003f, 0x90c7, 0x94b9, 0x003f, 0x003f, 0x003f,
    -    0x909d, 0x8ae5, 0x003f, 0x003f, 0x9759, 0x89eb, 0x8f57, 0x8cd9,
    -    0x003f, 0xe8b3, 0x003f, 0xe8b2, 0x8e93, 0xe8b4, 0xe8b1, 0x003f,
    -    0x003f, 0x8e47, 0x003f, 0x003f, 0x003f, 0xe8b8, 0xe5ab, 0x003f,
    -    0x003f, 0x99d4, 0x003f, 0x9097, 0xe8b6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x97a3, 0x93ef, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x894a, 0x003f, 0x90e1, 0x8eb4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x95b5, 0x003f, 0x895f, 0x003f, 0x003f, 0x003f, 0x97eb, 0x978b,
    -    0x003f, 0xe8b9, 0x003f, 0x9364, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9700 .. 0x97ff */
    -    0x8ef9, 0x003f, 0x003f, 0x003f, 0xe8ba, 0x003f, 0xe8bb, 0x906b,
    -    0xe8bc, 0x003f, 0x97ec, 0x003f, 0x003f, 0xe8b7, 0xe8be, 0xe8c0,
    -    0x003f, 0xe8bf, 0x003f, 0xe8bd, 0x003f, 0x003f, 0xe8c1, 0x003f,
    -    0x003f, 0xe8c2, 0x003f, 0x003f, 0x919a, 0x003f, 0x89e0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe8c3, 0x003f, 0x003f, 0x96b6,
    -    0x003f, 0x003f, 0xe8c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8c5, 0x003f, 0x9849, 0xeed1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9e50, 0xe8c6, 0x003f, 0xeed2, 0x003f, 0xe8c7, 0xe8c8, 0x003f,
    -    0x003f, 0x003f, 0xe8cc, 0xeed3, 0xe8c9, 0x003f, 0xe8ca, 0x003f,
    -    0xe8cb, 0xe8cd, 0x003f, 0x003f, 0x003f, 0xeed4, 0x003f, 0xeed5,
    -    0x003f, 0xeed6, 0x90c2, 0x003f, 0x003f, 0xeed7, 0x96f5, 0x003f,
    -    0x003f, 0x90c3, 0x003f, 0x003f, 0xe8ce, 0x003f, 0x94f1, 0x003f,
    -    0xe8cf, 0xea72, 0x96ca, 0x003f, 0xe8d0, 0x003f, 0xe8d1, 0x003f,
    -    0xe8d2, 0x8a76, 0x003f, 0xe8d4, 0x003f, 0x9078, 0x003f, 0x003f,
    -    0x003f, 0xe8d5, 0x003f, 0x003f, 0x8c43, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe8d6, 0xe8da, 0x003f, 0xe8d8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe8d9, 0x003f, 0x003f, 0x8a93, 0xe8d7, 0xe8db, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8dc, 0x003f, 0x88c6, 0x003f, 0xe8dd,
    -    0xe8de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8fe2, 0x003f, 0x003f, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f,
    -    0x8b66, 0x003f, 0x003f, 0xe8e2, 0x003f, 0x003f, 0xe8e1, 0x003f,
    -    0xe8e0, 0x003f, 0x003f, 0xe691, 0x003f, 0x95da, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8e3, 0xe8e4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8e5, 0x003f, 0x003f, 0xe8e6, 0x003f,
    -    0xe8e7, 0x003f, 0x003f, 0xe8e8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8ad8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe8e9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ea, 0x9442, 0x003f,
    -    0x003f, 0x003f, 0xe8ec, 0x89b9, 0x003f, 0xe8ef, 0xe8ee, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8943, 0x003f, 0x003f, 0x003f, 0x8bbf,
    -    /* 0x9800 .. 0x98ff */
    -    0x003f, 0x95c5, 0x92b8, 0x8da0, 0x003f, 0x8d80, 0x8f87, 0x003f,
    -    0x907b, 0x003f, 0x003f, 0x003f, 0xe8f1, 0x003f, 0x003f, 0xe8f0,
    -    0x9761, 0x8ae6, 0x94d0, 0x93da, 0x003f, 0x003f, 0x003f, 0x909c,
    -    0x97cc, 0x003f, 0x8c7a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe8f4, 0x003f, 0x003f, 0xe8f3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x966a, 0x93aa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x896f, 0x003f, 0x003f, 0xe8f5,
    -    0xe8f2, 0x003f, 0x003f, 0x9570, 0x978a, 0xe8f6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8f7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8f9, 0x91e8, 0x8a7a, 0x8a7b, 0xe8f8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8ae7, 0x8cb0, 0x003f, 0xeed8,
    -    0x8ae8, 0x003f, 0x003f, 0x935e, 0x003f, 0x003f, 0x97de, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed9, 0x003f, 0x8cda,
    -    0x003f, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0x003f, 0xe8fb,
    -    0xe8fc, 0xe940, 0x003f, 0xe942, 0xe941, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9597, 0x003f, 0xe943, 0x003f, 0x003f, 0x003f, 0x003f, 0xe944,
    -    0x003f, 0xe945, 0x003f, 0x003f, 0x003f, 0x003f, 0xe946, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe948, 0xe947, 0x003f, 0xe949, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x94f2, 0xe3ca, 0x003f, 0x003f, 0x9048,
    -    0x003f, 0x003f, 0x8b51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe94a, 0x003f, 0xe94b, 0x003f, 0x99aa, 0x9f5a, 0x94d1,
    -    0x003f, 0x003f, 0x88f9, 0x003f, 0x88b9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x8e94, 0x964f, 0x8ffc, 0x003f,
    -    /* 0x9900 .. 0x99ff */
    -    0x003f, 0x003f, 0x003f, 0xe94c, 0x003f, 0x96dd, 0x003f, 0x003f,
    -    0x003f, 0xe94d, 0x977b, 0x003f, 0x8961, 0x003f, 0x003f, 0x003f,
    -    0x8e60, 0x003f, 0xe94e, 0x89ec, 0xe94f, 0x003f, 0x003f, 0x003f,
    -    0xe950, 0x003f, 0x003f, 0x003f, 0x003f, 0xe952, 0xe953, 0x003f,
    -    0xe955, 0xe951, 0x003f, 0x003f, 0xe954, 0x003f, 0x003f, 0xeedc,
    -    0x8ad9, 0x003f, 0x003f, 0x003f, 0xe956, 0x003f, 0xe957, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe958, 0xe959, 0x003f,
    -    0x003f, 0x003f, 0xe95a, 0x003f, 0x003f, 0xe95c, 0x003f, 0x003f,
    -    0x003f, 0xe95b, 0x003f, 0xe95e, 0xe961, 0x003f, 0x003f, 0x003f,
    -    0xe95d, 0xe95f, 0xe960, 0x003f, 0x003f, 0xe962, 0x003f, 0x8bc0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ef1, 0xe963,
    -    0xe964, 0x8d81, 0x003f, 0x003f, 0x003f, 0x003f, 0xeede, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe965, 0x003f, 0x003f,
    -    0x8a5d, 0x003f, 0x003f, 0x003f, 0x946e, 0xe966, 0xe967, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9279, 0x93e9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe968, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x949d, 0x003f, 0x003f, 0x91ca, 0x8977, 0x8bec, 0x003f,
    -    0x8bed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9293, 0xe96d, 0x8bee, 0x003f, 0x003f, 0x89ed, 0x003f, 0x003f,
    -    0xe96c, 0x003f, 0x003f, 0xe96a, 0x003f, 0xe96b, 0x003f, 0xe969,
    -    0x003f, 0x003f, 0xe977, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe96e, 0xe96f, 0x003f,
    -    0x003f, 0xe970, 0xe971, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe973, 0x003f, 0x003f, 0xe972, 0x003f, 0x003f, 0x003f, 0x8f78,
    -    /* 0x9a00 .. 0x9aff */
    -    0x003f, 0xe974, 0x003f, 0x003f, 0x003f, 0xe976, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b52, 0xe975,
    -    0x003f, 0x003f, 0x919b, 0x8cb1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe978, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x91cb, 0x003f, 0x003f, 0xe979, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x93ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe97a,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe980, 0x003f,
    -    0xe97d, 0x003f, 0xe97c, 0xe97e, 0x003f, 0xe97b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe982, 0xeedf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe981, 0x003f, 0xe984,
    -    0x003f, 0x003f, 0x8bc1, 0xe983, 0x003f, 0x003f, 0x003f, 0xe985,
    -    0x003f, 0x003f, 0xe986, 0x003f, 0xe988, 0xe987, 0x003f, 0x003f,
    -    0x003f, 0xe989, 0xe98b, 0xe98a, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8d9c, 0x003f, 0x003f, 0x003f, 0x003f, 0xe98c, 0x003f, 0x003f,
    -    0xe98d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8a5b, 0x003f, 0x003f, 0x003f, 0xe98e, 0x003f, 0x003f, 0x003f,
    -    0xe98f, 0x003f, 0x003f, 0x003f, 0x9091, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe990,
    -    0x003f, 0xe991, 0x003f, 0xe992, 0xe993, 0x003f, 0x003f, 0x003f,
    -    0x8d82, 0xeee0, 0x003f, 0x003f, 0xeee1, 0x003f, 0xe994, 0xe995,
    -    0x003f, 0x003f, 0xe996, 0xe997, 0x003f, 0x003f, 0xe998, 0x003f,
    -    0x003f, 0x003f, 0x94af, 0xe99a, 0x003f, 0x9545, 0xe99b, 0xe999,
    -    0x003f, 0xe99d, 0x003f, 0x003f, 0xe99c, 0x003f, 0x003f, 0xe99e,
    -    0x003f, 0x003f, 0x003f, 0xe99f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9b00 .. 0x9bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9a1, 0x003f, 0xe9a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a3,
    -    0x003f, 0x003f, 0xe9a4, 0xe9a5, 0x003f, 0xe9a6, 0x003f, 0xe9a7,
    -    0xe9a8, 0xe9a9, 0xe9aa, 0x003f, 0x003f, 0x003f, 0xe9ab, 0xe9ac,
    -    0x003f, 0x9f54, 0xe9ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2f6, 0x8b53, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8a40, 0x8db0, 0xe9af, 0xe9ae, 0x96a3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1, 0xe9b2, 0xe9b0,
    -    0x003f, 0xe9b3, 0x003f, 0x003f, 0x9682, 0x003f, 0x003f, 0x003f,
    -    0xe9b4, 0x003f, 0x8b9b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9844,
    -    0x003f, 0x003f, 0xeee3, 0x003f, 0xe9b5, 0xeee2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe9b7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88bc, 0xeee4,
    -    0x003f, 0xe9b8, 0x95a9, 0xe9b6, 0x003f, 0x003f, 0xe9b9, 0xe9ba,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9bb,
    -    0xe9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9bd, 0x003f, 0x968e, 0x8e4c, 0x003f, 0x8df8, 0x914e, 0x003f,
    -    0x003f, 0xeee5, 0x003f, 0x003f, 0xe9be, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9c1, 0x003f, 0xeee6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c2, 0x003f,
    -    0x003f, 0x8cef, 0xe9c0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c3,
    -    0x003f, 0xe9c4, 0xe9c5, 0x003f, 0xe9c9, 0x003f, 0x8e49, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x91e2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9ca, 0xe9c7, 0xe9c6, 0xe9c8, 0x003f, 0x003f, 0x003f,
    -    0x8c7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9ce, 0xe9cd, 0xe9cc, 0x003f, 0x003f, 0x88b1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9c00 .. 0x9cff */
    -    0xeee7, 0x003f, 0x003f, 0x003f, 0xe9d8, 0x003f, 0xe9d4, 0x003f,
    -    0xe9d5, 0xe9d1, 0xe9d7, 0x003f, 0xe9d3, 0x8a82, 0x003f, 0x003f,
    -    0x986b, 0x003f, 0xe9d6, 0xe9d2, 0xe9d0, 0xe9cf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe9da, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9dd, 0x003f, 0x003f, 0xe9dc, 0xe9db, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9568, 0xe9d9, 0x88f1,
    -    0xe9de, 0x003f, 0xe9e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8a8f, 0xe9cb, 0x8956, 0x003f, 0x003f, 0xe9e2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e1, 0xe9df,
    -    0x924c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x9690, 0x003f, 0x003f, 0x003f, 0x003f, 0x97d8,
    -    0x003f, 0x003f, 0xe9e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e6, 0x003f,
    -    0xe9e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92b9, 0x003f, 0xe9e8,
    -    0x003f, 0x94b5, 0x003f, 0xe9ed, 0xe9e9, 0x003f, 0x003f, 0x003f,
    -    0xe9ea, 0x003f, 0x003f, 0x9650, 0x96c2, 0x003f, 0x93ce, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9d00 .. 0x9dff */
    -    0x003f, 0x003f, 0x003f, 0xe9ee, 0x003f, 0x003f, 0xe9ef, 0x93bc,
    -    0xe9ec, 0xe9eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x89a8, 0x003f,
    -    0x003f, 0x003f, 0xe9f7, 0x003f, 0x003f, 0xe9f6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8995, 0x003f, 0x003f, 0x003f, 0xe9f4,
    -    0x003f, 0x003f, 0x003f, 0xe9f3, 0x003f, 0x003f, 0xe9f1, 0x003f,
    -    0x8a9b, 0x003f, 0xe9f0, 0x8eb0, 0x89a7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8d83, 0x003f, 0x003f, 0xe9fa, 0xe9f9,
    -    0x003f, 0xe9f8, 0x003f, 0x003f, 0xe9f5, 0x003f, 0xe9fb, 0x003f,
    -    0xe9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xea44, 0xea43, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xea45, 0x003f, 0x003f, 0x894c, 0xea40, 0xea41, 0x003f,
    -    0x8d94, 0x96b7, 0x003f, 0x003f, 0xea42, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeee9, 0x9651, 0x003f, 0x003f, 0xea4a,
    -    0xeee8, 0x003f, 0xea46, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xea4b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea48,
    -    0x003f, 0xea47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c7b,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xea4c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xea4d, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xea4e, 0x003f, 0xea49, 0x003f, 0x003f, 0x003f, 0xe9f2,
    -    0x003f, 0x003f, 0xea4f, 0x003f, 0x92df, 0x003f, 0x003f, 0x003f,
    -    0xea53, 0x003f, 0xea54, 0xea52, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xea51, 0xea57, 0x003f, 0xea50, 0x003f, 0xea55, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea56,
    -    0x003f, 0x003f, 0x003f, 0xea59, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xea58, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea5b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea5c, 0x003f, 0xea5d,
    -    0x003f, 0x003f, 0x9868, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xea5a, 0x91e9, 0x8deb, 0x003f, 0x003f, 0xea5e, 0x003f, 0x003f,
    -    /* 0x9e00 .. 0x9eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeeeb, 0xea5f, 0xea60, 0x003f, 0x003f, 0xea61, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea62, 0x003f, 0x003f,
    -    0x8cb2, 0xea63, 0x003f, 0x003f, 0x003f, 0xea64, 0x003f, 0x8ead,
    -    0x003f, 0xea65, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xea66, 0x003f, 0x003f, 0xea67, 0xea68, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xea6b, 0xea69, 0x985b, 0x003f, 0xea6a, 0x003f, 0x97ed,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea6c, 0x003f, 0x97d9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea6d, 0x949e, 0x003f,
    -    0x003f, 0xea6e, 0xea70, 0x003f, 0x003f, 0xea71, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xea6f, 0x8d8d, 0x96cb, 0x9683, 0x9bf5, 0x003f, 0x9f80, 0x969b,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x89a9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xea73, 0x8b6f, 0xea74, 0xea75,
    -    0xea76, 0xeeec, 0x8d95, 0x003f, 0xea77, 0x003f, 0x003f, 0x003f,
    -    0xe0d2, 0x96d9, 0x003f, 0x91e1, 0xea78, 0xea7a, 0xea79, 0x003f,
    -    0xea7b, 0x003f, 0x003f, 0x003f, 0x003f, 0xea7c, 0x003f, 0x003f,
    -    0xea7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea7e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xea80, 0x003f, 0xea81, 0xea82,
    -    0x003f, 0xea83, 0x003f, 0xea84, 0xea85, 0xea86, 0x003f, 0x003f,
    -    /* 0x9f00 .. 0x9fff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea87,
    -    0xea88, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9343, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x8cdb, 0x003f, 0xea8a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x916c, 0xea8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xea8c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x9540, 0x003f, 0x003f, 0xea8d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xea8e, 0xe256, 0x003f, 0x003f, 0xe6d8, 0xe8eb,
    -    0x003f, 0x003f, 0xea8f, 0x003f, 0xea90, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea92,
    -    0xea93, 0xea94, 0x97ee, 0xea91, 0x003f, 0x003f, 0xea95, 0xea96,
    -    0x003f, 0x003f, 0xea98, 0x003f, 0xea97, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xea9a, 0x003f, 0x003f, 0x003f, 0xea9b, 0xea99,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97b4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea9c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xea9d, 0xe273, 0x003f, 0x003f,
    -    0xea9e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xf900 .. 0xf9ff */
    -    0xe6af, 0x8d58, 0x8ed4, 0xe6c9, 0x8a8a, 0x8bf8, 0x8be5, 0xea9d,
    -    0xea9d, 0x8c5f, 0x8be0, 0x9a68, 0x93de, 0x9cef, 0xe19a, 0x9785,
    -    0xe566, 0x9786, 0x9787, 0xe7b4, 0x9ed9, 0x978c, 0xe080, 0xe0e2,
    -    0x978e, 0x978f, 0xe970, 0x98aa, 0x9791, 0x9793, 0xe0a3, 0x9796,
    -    0xea61, 0x9792, 0x9794, 0x9795, 0xe641, 0x9d66, 0xe463, 0x003f,
    -    0x984c, 0xedc4, 0x9851, 0x9854, 0x9859, 0x98d2, 0x97e2, 0x99a7,
    -    0x003f, 0x9845, 0xe0a2, 0xe1b8, 0x9856, 0xe562, 0x97b8, 0x9848,
    -    0x9849, 0x9844, 0x8deb, 0xe1ef, 0xe252, 0xee70, 0x003f, 0x003f,
    -    0x8ead, 0x985f, 0x9ae0, 0x984d, 0xe2c4, 0x9857, 0x9853, 0xe1fb,
    -    0x9847, 0x978b, 0x9adc, 0x003f, 0x9eea, 0x003f, 0x9852, 0x97dd,
    -    0xe37e, 0xe89b, 0xe8d3, 0x985d, 0xeaa3, 0x97bd, 0x97c5, 0x88bb,
    -    0x9548, 0x97cb, 0xe6a4, 0x9d5b, 0x9ed9, 0x91f8, 0x924f, 0x944a,
    -    0x937b, 0x97a6, 0x88d9, 0x966b, 0x003f, 0x95d6, 0x959c, 0x9573,
    -    0x94e5, 0x9dc9, 0x8df5, 0x99d2, 0x8dc7, 0x8fc8, 0x9774, 0x003f,
    -    0x8e45, 0x9243, 0x92be, 0x8f45, 0x8ee1, 0x97a9, 0x97aa, 0x97ba,
    -    0x995f, 0x9979, 0x97c0, 0x97c6, 0x97c7, 0x97c8, 0x97ca, 0x99ad,
    -    0x9843, 0x8f97, 0x9c49, 0x97b7, 0xe068, 0xe1e8, 0xe883, 0xe98b,
    -    0x97ed, 0xea74, 0x97cd, 0x003f, 0x003f, 0xe780, 0x944e, 0x97f7,
    -    0x9cf6, 0x9451, 0x97f8, 0x97f9, 0xee50, 0x003f, 0x97fb, 0x97fc,
    -    0xe772, 0x9840, 0x9841, 0x003f, 0x97f1, 0x97f2, 0x88f4, 0x97f3,
    -    0x97f4, 0x003f, 0x97f5, 0x944f, 0x9450, 0x003f, 0x97fa, 0xe0d8,
    -    0x97df, 0x9a9a, 0x944a, 0x97e4, 0x97e5, 0x97e6, 0xe0f0, 0xe3b7,
    -    0xe3d7, 0x97e9, 0x97eb, 0xe8cb, 0x97cc, 0x97e1, 0xe258, 0xe7d2,
    -    0xe8af, 0x9ca6, 0x97b9, 0x97bb, 0x97be, 0x9441, 0x97bf, 0x9ed9,
    -    0xe099, 0x97c3, 0xe4f8, 0x97c9, 0x97b4, 0x9df2, 0xe896, 0x97ab,
    -    0x003f, 0x96f6, 0x97ac, 0x97ad, 0x97ae, 0x97af, 0x97b0, 0x9552,
    -    0x97de, 0x985a, 0x9d43, 0x97a4, 0x97cf, 0x9bc4, 0x9fcb, 0x97d6,
    -    0x97a5, 0x9cc9, 0x8c49, 0x97a6, 0xeecd, 0x9798, 0x9799, 0x979a,
    -    0x88d5, 0x979b, 0x979c, 0x9344, 0x979d, 0x979f, 0x9ceb, 0x97a0,
    -    0x97a1, 0x97a2, 0x97a3, 0x93bd, 0x934d, 0x99e5, 0x97d3, 0x003f,
    -    0xe561, 0x97d7, 0x97d8, 0x97d9, 0x97d1, 0x97d2, 0x97d5, 0x97a7,
    -    0x8a7d, 0x97b1, 0x003f, 0xe074, 0x8eaf, 0x8f59, 0x9283, 0x8e68,
    -    /* 0xfa00 .. 0xfaff */
    -    0x90d8, 0x9378, 0x91f1, 0x939c, 0x91ee, 0x93b4, 0x965c, 0xe774,
    -    0x8d73, 0x8d7e, 0x8ca9, 0x8a66, 0x9959, 0x003f, 0xed73, 0xed7e,
    -    0xed80, 0xed95, 0xedbc, 0xedcc, 0xedce, 0xedf9, 0xee42, 0xee59,
    -    0xee61, 0xee62, 0xee63, 0xee65, 0xee69, 0xee6c, 0xee75, 0xee81,
    -    0xee83, 0xee84, 0xee8d, 0xee95, 0xee97, 0xee98, 0xee9b, 0xeeb7,
    -    0xeebe, 0xeece, 0xeeda, 0xeedb, 0xeedd, 0xeeea, 0x003f, 0x003f,
    -    0x958e, 0x916d, 0x96c6, 0x95d7, 0x8bce, 0x94da, 0x8a85, 0x9251,
    -    0x8aed, 0x95bb, 0x966e, 0x9177, 0x9ba3, 0x89f7, 0x8a53, 0x919e,
    -    0x92a6, 0x9571, 0x8af9, 0x8f8b, 0x947e, 0x8a43, 0x8f8d, 0x8abf,
    -    0x8ecf, 0x003f, 0x91f4, 0x94e8, 0x8ed0, 0x8e83, 0x8b46, 0x9753,
    -    0x9163, 0x8f6a, 0x89d0, 0x92f5, 0x8d92, 0x93cb, 0x90df, 0x97fb,
    -    0xe375, 0x94c9, 0x8f90, 0x8ed2, 0x8f4c, 0x003f, 0x003f, 0x9298,
    -    0x8a8c, 0x8e8b, 0x8979, 0x8bde, 0x956f, 0x91a1, 0x003f, 0x88ed,
    -    0x93ef, 0x8bbf, 0x9570, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x815c, 0x815c, 0x815c, 0x815c, 0x005f, 0x005f, 0x005f,
    -    0x002c, 0x8141, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,
    -    0x815c, 0x0028, 0x0029, 0x007b, 0x007d, 0x816b, 0x816c, 0x0023,
    -    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,
    -    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xff00 .. 0xffff */
    -    0x003f, 0x8149, 0xeefc, 0x8194, 0x8190, 0x8193, 0x8195, 0xeefb,
    -    0x8169, 0x816a, 0x8196, 0x817b, 0x8143, 0x817c, 0x8144, 0x815e,
    -    0x824f, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254, 0x8255, 0x8256,
    -    0x8257, 0x8258, 0x8146, 0x8147, 0x8183, 0x8181, 0x8184, 0x8148,
    -    0x8197, 0x8260, 0x8261, 0x8262, 0x8263, 0x8264, 0x8265, 0x8266,
    -    0x8267, 0x8268, 0x8269, 0x826a, 0x826b, 0x826c, 0x826d, 0x826e,
    -    0x826f, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274, 0x8275, 0x8276,
    -    0x8277, 0x8278, 0x8279, 0x816d, 0x815f, 0x816e, 0x814f, 0x8151,
    -    0x814d, 0x8281, 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287,
    -    0x8288, 0x8289, 0x828a, 0x828b, 0x828c, 0x828d, 0x828e, 0x828f,
    -    0x8290, 0x8291, 0x8292, 0x8293, 0x8294, 0x8295, 0x8296, 0x8297,
    -    0x8298, 0x8299, 0x829a, 0x816f, 0x8162, 0x8170, 0x8160, 0x003f,
    -    0x003f, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    -    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    -    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    -    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    -    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    -    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    -    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    -    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8191, 0x8192, 0x81ca, 0x8150, 0xeefa, 0x818f, 0x003f, 0x003f,
    -    0x84a0, 0x81a9, 0x81aa, 0x81a8, 0x81ab, 0x81a1, 0x819b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* defaults */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0f00, 0x1000,
    -    0x1100, 0x1200, 0x1300, 0x1400, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x1500, 0x1600,
    -    0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00, 0x1e00,
    -    0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500, 0x2600,
    -    0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00, 0x2e00,
    -    0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600,
    -    0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00, 0x3e00,
    -    0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600,
    -    0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00, 0x4e00,
    -    0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600,
    -    0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00, 0x5e00,
    -    0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500, 0x6600,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6700, 0x6800, 0x6900, 0x6c00, 0x6c00, 0x6a00, 0x6b00
    -};
    -
    -const struct dbcs_table cptable_932 =
    -{
    -    { 932, 2, 0x003f, 0x003f, "ANSI/OEM Japanese Shift-JIS" },
    -    cp2uni,
    -    cp2uni_leadbytes,
    -    uni2cp_low,
    -    uni2cp_high,
    -    { 0x81, 0x9f, 0xe0, 0xfc, 0x00, 0x00 }
    -};
    +/* code page 932 (ANSI/OEM Japanese Shift-JIS) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[12032] =
    +{
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 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,
    +    0x003f, 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, 0x003f, 0x00fe, 0x003f,
    +    /* unused lead bytes */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 81 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x3000, 0x3001, 0x3002, 0xff0c, 0xff0e, 0x30fb, 0xff1a, 0xff1b,
    +    0xff1f, 0xff01, 0x309b, 0x309c, 0x00b4, 0xff40, 0x00a8, 0xff3e,
    +    0xffe3, 0xff3f, 0x30fd, 0x30fe, 0x309d, 0x309e, 0x3003, 0x4edd,
    +    0x3005, 0x3006, 0x3007, 0x30fc, 0x2015, 0x2010, 0xff0f, 0xff3c,
    +    0xff5e, 0x2225, 0xff5c, 0x2026, 0x2025, 0x2018, 0x2019, 0x201c,
    +    0x201d, 0xff08, 0xff09, 0x3014, 0x3015, 0xff3b, 0xff3d, 0xff5b,
    +    0xff5d, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d, 0x300e,
    +    0x300f, 0x3010, 0x3011, 0xff0b, 0xff0d, 0x00b1, 0x00d7, 0x003f,
    +    0x00f7, 0xff1d, 0x2260, 0xff1c, 0xff1e, 0x2266, 0x2267, 0x221e,
    +    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xffe5,
    +    0xff04, 0xffe0, 0xffe1, 0xff05, 0xff03, 0xff06, 0xff0a, 0xff20,
    +    0x00a7, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6,
    +    0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x203b, 0x3012,
    +    0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283, 0x222a, 0x2229,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x2227, 0x2228, 0xffe2, 0x21d2, 0x21d4, 0x2200, 0x2203, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, 0x2261,
    +    0x2252, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d, 0x2235, 0x222b,
    +    0x222c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x212b, 0x2030, 0x266f, 0x266d, 0x266a, 0x2020, 0x2021, 0x00b6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x25ef, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 82 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xff10,
    +    0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18,
    +    0xff19, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28,
    +    0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30,
    +    0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38,
    +    0xff39, 0xff3a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    +    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    +    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    +    0xff58, 0xff59, 0xff5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x3041,
    +    0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049,
    +    0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050, 0x3051,
    +    0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059,
    +    0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060, 0x3061,
    +    0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069,
    +    0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f, 0x3070, 0x3071,
    +    0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 0x3079,
    +    0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f, 0x3080, 0x3081,
    +    0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089,
    +    0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f, 0x3090, 0x3091,
    +    0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 83 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7, 0x30a8,
    +    0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af, 0x30b0,
    +    0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7, 0x30b8,
    +    0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf, 0x30c0,
    +    0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7, 0x30c8,
    +    0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf, 0x30d0,
    +    0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7, 0x30d8,
    +    0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df, 0x003f,
    +    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    +    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    +    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0391,
    +    0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399,
    +    0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, 0x03a1,
    +    0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x03b1,
    +    0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9,
    +    0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1,
    +    0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 84 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416,
    +    0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,
    +    0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426,
    +    0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e,
    +    0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436,
    +    0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x003f,
    +    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    +    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    +    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x2500,
    +    0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c, 0x252c, 0x2524,
    +    0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513, 0x251b, 0x2517,
    +    0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520, 0x252f, 0x2528,
    +    0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538, 0x2542, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 87 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467,
    +    0x2468, 0x2469, 0x246a, 0x246b, 0x246c, 0x246d, 0x246e, 0x246f,
    +    0x2470, 0x2471, 0x2472, 0x2473, 0x2160, 0x2161, 0x2162, 0x2163,
    +    0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x003f, 0x3349,
    +    0x3314, 0x3322, 0x334d, 0x3318, 0x3327, 0x3303, 0x3336, 0x3351,
    +    0x3357, 0x330d, 0x3326, 0x3323, 0x332b, 0x334a, 0x333b, 0x339c,
    +    0x339d, 0x339e, 0x338e, 0x338f, 0x33c4, 0x33a1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x337b, 0x003f,
    +    0x301d, 0x301f, 0x2116, 0x33cd, 0x2121, 0x32a4, 0x32a5, 0x32a6,
    +    0x32a7, 0x32a8, 0x3231, 0x3232, 0x3239, 0x337e, 0x337d, 0x337c,
    +    0x2252, 0x2261, 0x222b, 0x222e, 0x2211, 0x221a, 0x22a5, 0x2220,
    +    0x221f, 0x22bf, 0x2235, 0x2229, 0x222a, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 88 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x4e9c,
    +    0x5516, 0x5a03, 0x963f, 0x54c0, 0x611b, 0x6328, 0x59f6, 0x9022,
    +    0x8475, 0x831c, 0x7a50, 0x60aa, 0x63e1, 0x6e25, 0x65ed, 0x8466,
    +    0x82a6, 0x9bf5, 0x6893, 0x5727, 0x65a1, 0x6271, 0x5b9b, 0x59d0,
    +    0x867b, 0x98f4, 0x7d62, 0x7dbe, 0x9b8e, 0x6216, 0x7c9f, 0x88b7,
    +    0x5b89, 0x5eb5, 0x6309, 0x6697, 0x6848, 0x95c7, 0x978d, 0x674f,
    +    0x4ee5, 0x4f0a, 0x4f4d, 0x4f9d, 0x5049, 0x56f2, 0x5937, 0x59d4,
    +    0x5a01, 0x5c09, 0x60df, 0x610f, 0x6170, 0x6613, 0x6905, 0x70ba,
    +    0x754f, 0x7570, 0x79fb, 0x7dad, 0x7def, 0x80c3, 0x840e, 0x8863,
    +    0x8b02, 0x9055, 0x907a, 0x533b, 0x4e95, 0x4ea5, 0x57df, 0x80b2,
    +    0x90c1, 0x78ef, 0x4e00, 0x58f1, 0x6ea2, 0x9038, 0x7a32, 0x8328,
    +    0x828b, 0x9c2f, 0x5141, 0x5370, 0x54bd, 0x54e1, 0x56e0, 0x59fb,
    +    0x5f15, 0x98f2, 0x6deb, 0x80e4, 0x852d, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 89 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9662, 0x9670, 0x96a0, 0x97fb, 0x540b, 0x53f3, 0x5b87, 0x70cf,
    +    0x7fbd, 0x8fc2, 0x96e8, 0x536f, 0x9d5c, 0x7aba, 0x4e11, 0x7893,
    +    0x81fc, 0x6e26, 0x5618, 0x5504, 0x6b1d, 0x851a, 0x9c3b, 0x59e5,
    +    0x53a9, 0x6d66, 0x74dc, 0x958f, 0x5642, 0x4e91, 0x904b, 0x96f2,
    +    0x834f, 0x990c, 0x53e1, 0x55b6, 0x5b30, 0x5f71, 0x6620, 0x66f3,
    +    0x6804, 0x6c38, 0x6cf3, 0x6d29, 0x745b, 0x76c8, 0x7a4e, 0x9834,
    +    0x82f1, 0x885b, 0x8a60, 0x92ed, 0x6db2, 0x75ab, 0x76ca, 0x99c5,
    +    0x60a6, 0x8b01, 0x8d8a, 0x95b2, 0x698e, 0x53ad, 0x5186, 0x003f,
    +    0x5712, 0x5830, 0x5944, 0x5bb4, 0x5ef6, 0x6028, 0x63a9, 0x63f4,
    +    0x6cbf, 0x6f14, 0x708e, 0x7114, 0x7159, 0x71d5, 0x733f, 0x7e01,
    +    0x8276, 0x82d1, 0x8597, 0x9060, 0x925b, 0x9d1b, 0x5869, 0x65bc,
    +    0x6c5a, 0x7525, 0x51f9, 0x592e, 0x5965, 0x5f80, 0x5fdc, 0x62bc,
    +    0x65fa, 0x6a2a, 0x6b27, 0x6bb4, 0x738b, 0x7fc1, 0x8956, 0x9d2c,
    +    0x9d0e, 0x9ec4, 0x5ca1, 0x6c96, 0x837b, 0x5104, 0x5c4b, 0x61b6,
    +    0x81c6, 0x6876, 0x7261, 0x4e59, 0x4ffa, 0x5378, 0x6069, 0x6e29,
    +    0x7a4f, 0x97f3, 0x4e0b, 0x5316, 0x4eee, 0x4f55, 0x4f3d, 0x4fa1,
    +    0x4f73, 0x52a0, 0x53ef, 0x5609, 0x590f, 0x5ac1, 0x5bb6, 0x5be1,
    +    0x79d1, 0x6687, 0x679c, 0x67b6, 0x6b4c, 0x6cb3, 0x706b, 0x73c2,
    +    0x798d, 0x79be, 0x7a3c, 0x7b87, 0x82b1, 0x82db, 0x8304, 0x8377,
    +    0x83ef, 0x83d3, 0x8766, 0x8ab2, 0x5629, 0x8ca8, 0x8fe6, 0x904e,
    +    0x971e, 0x868a, 0x4fc4, 0x5ce8, 0x6211, 0x7259, 0x753b, 0x81e5,
    +    0x82bd, 0x86fe, 0x8cc0, 0x96c5, 0x9913, 0x99d5, 0x4ecb, 0x4f1a,
    +    0x89e3, 0x56de, 0x584a, 0x58ca, 0x5efb, 0x5feb, 0x602a, 0x6094,
    +    0x6062, 0x61d0, 0x6212, 0x62d0, 0x6539, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 8a */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9b41, 0x6666, 0x68b0, 0x6d77, 0x7070, 0x754c, 0x7686, 0x7d75,
    +    0x82a5, 0x87f9, 0x958b, 0x968e, 0x8c9d, 0x51f1, 0x52be, 0x5916,
    +    0x54b3, 0x5bb3, 0x5d16, 0x6168, 0x6982, 0x6daf, 0x788d, 0x84cb,
    +    0x8857, 0x8a72, 0x93a7, 0x9ab8, 0x6d6c, 0x99a8, 0x86d9, 0x57a3,
    +    0x67ff, 0x86ce, 0x920e, 0x5283, 0x5687, 0x5404, 0x5ed3, 0x62e1,
    +    0x64b9, 0x683c, 0x6838, 0x6bbb, 0x7372, 0x78ba, 0x7a6b, 0x899a,
    +    0x89d2, 0x8d6b, 0x8f03, 0x90ed, 0x95a3, 0x9694, 0x9769, 0x5b66,
    +    0x5cb3, 0x697d, 0x984d, 0x984e, 0x639b, 0x7b20, 0x6a2b, 0x003f,
    +    0x6a7f, 0x68b6, 0x9c0d, 0x6f5f, 0x5272, 0x559d, 0x6070, 0x62ec,
    +    0x6d3b, 0x6e07, 0x6ed1, 0x845b, 0x8910, 0x8f44, 0x4e14, 0x9c39,
    +    0x53f6, 0x691b, 0x6a3a, 0x9784, 0x682a, 0x515c, 0x7ac3, 0x84b2,
    +    0x91dc, 0x938c, 0x565b, 0x9d28, 0x6822, 0x8305, 0x8431, 0x7ca5,
    +    0x5208, 0x82c5, 0x74e6, 0x4e7e, 0x4f83, 0x51a0, 0x5bd2, 0x520a,
    +    0x52d8, 0x52e7, 0x5dfb, 0x559a, 0x582a, 0x59e6, 0x5b8c, 0x5b98,
    +    0x5bdb, 0x5e72, 0x5e79, 0x60a3, 0x611f, 0x6163, 0x61be, 0x63db,
    +    0x6562, 0x67d1, 0x6853, 0x68fa, 0x6b3e, 0x6b53, 0x6c57, 0x6f22,
    +    0x6f97, 0x6f45, 0x74b0, 0x7518, 0x76e3, 0x770b, 0x7aff, 0x7ba1,
    +    0x7c21, 0x7de9, 0x7f36, 0x7ff0, 0x809d, 0x8266, 0x839e, 0x89b3,
    +    0x8acc, 0x8cab, 0x9084, 0x9451, 0x9593, 0x9591, 0x95a2, 0x9665,
    +    0x97d3, 0x9928, 0x8218, 0x4e38, 0x542b, 0x5cb8, 0x5dcc, 0x73a9,
    +    0x764c, 0x773c, 0x5ca9, 0x7feb, 0x8d0b, 0x96c1, 0x9811, 0x9854,
    +    0x9858, 0x4f01, 0x4f0e, 0x5371, 0x559c, 0x5668, 0x57fa, 0x5947,
    +    0x5b09, 0x5bc4, 0x5c90, 0x5e0c, 0x5e7e, 0x5fcc, 0x63ee, 0x673a,
    +    0x65d7, 0x65e2, 0x671f, 0x68cb, 0x68c4, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 8b */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6a5f, 0x5e30, 0x6bc5, 0x6c17, 0x6c7d, 0x757f, 0x7948, 0x5b63,
    +    0x7a00, 0x7d00, 0x5fbd, 0x898f, 0x8a18, 0x8cb4, 0x8d77, 0x8ecc,
    +    0x8f1d, 0x98e2, 0x9a0e, 0x9b3c, 0x4e80, 0x507d, 0x5100, 0x5993,
    +    0x5b9c, 0x622f, 0x6280, 0x64ec, 0x6b3a, 0x72a0, 0x7591, 0x7947,
    +    0x7fa9, 0x87fb, 0x8abc, 0x8b70, 0x63ac, 0x83ca, 0x97a0, 0x5409,
    +    0x5403, 0x55ab, 0x6854, 0x6a58, 0x8a70, 0x7827, 0x6775, 0x9ecd,
    +    0x5374, 0x5ba2, 0x811a, 0x8650, 0x9006, 0x4e18, 0x4e45, 0x4ec7,
    +    0x4f11, 0x53ca, 0x5438, 0x5bae, 0x5f13, 0x6025, 0x6551, 0x003f,
    +    0x673d, 0x6c42, 0x6c72, 0x6ce3, 0x7078, 0x7403, 0x7a76, 0x7aae,
    +    0x7b08, 0x7d1a, 0x7cfe, 0x7d66, 0x65e7, 0x725b, 0x53bb, 0x5c45,
    +    0x5de8, 0x62d2, 0x62e0, 0x6319, 0x6e20, 0x865a, 0x8a31, 0x8ddd,
    +    0x92f8, 0x6f01, 0x79a6, 0x9b5a, 0x4ea8, 0x4eab, 0x4eac, 0x4f9b,
    +    0x4fa0, 0x50d1, 0x5147, 0x7af6, 0x5171, 0x51f6, 0x5354, 0x5321,
    +    0x537f, 0x53eb, 0x55ac, 0x5883, 0x5ce1, 0x5f37, 0x5f4a, 0x602f,
    +    0x6050, 0x606d, 0x631f, 0x6559, 0x6a4b, 0x6cc1, 0x72c2, 0x72ed,
    +    0x77ef, 0x80f8, 0x8105, 0x8208, 0x854e, 0x90f7, 0x93e1, 0x97ff,
    +    0x9957, 0x9a5a, 0x4ef0, 0x51dd, 0x5c2d, 0x6681, 0x696d, 0x5c40,
    +    0x66f2, 0x6975, 0x7389, 0x6850, 0x7c81, 0x50c5, 0x52e4, 0x5747,
    +    0x5dfe, 0x9326, 0x65a4, 0x6b23, 0x6b3d, 0x7434, 0x7981, 0x79bd,
    +    0x7b4b, 0x7dca, 0x82b9, 0x83cc, 0x887f, 0x895f, 0x8b39, 0x8fd1,
    +    0x91d1, 0x541f, 0x9280, 0x4e5d, 0x5036, 0x53e5, 0x533a, 0x72d7,
    +    0x7396, 0x77e9, 0x82e6, 0x8eaf, 0x99c6, 0x99c8, 0x99d2, 0x5177,
    +    0x611a, 0x865e, 0x55b0, 0x7a7a, 0x5076, 0x5bd3, 0x9047, 0x9685,
    +    0x4e32, 0x6adb, 0x91e7, 0x5c51, 0x5c48, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 8c */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6398, 0x7a9f, 0x6c93, 0x9774, 0x8f61, 0x7aaa, 0x718a, 0x9688,
    +    0x7c82, 0x6817, 0x7e70, 0x6851, 0x936c, 0x52f2, 0x541b, 0x85ab,
    +    0x8a13, 0x7fa4, 0x8ecd, 0x90e1, 0x5366, 0x8888, 0x7941, 0x4fc2,
    +    0x50be, 0x5211, 0x5144, 0x5553, 0x572d, 0x73ea, 0x578b, 0x5951,
    +    0x5f62, 0x5f84, 0x6075, 0x6176, 0x6167, 0x61a9, 0x63b2, 0x643a,
    +    0x656c, 0x666f, 0x6842, 0x6e13, 0x7566, 0x7a3d, 0x7cfb, 0x7d4c,
    +    0x7d99, 0x7e4b, 0x7f6b, 0x830e, 0x834a, 0x86cd, 0x8a08, 0x8a63,
    +    0x8b66, 0x8efd, 0x981a, 0x9d8f, 0x82b8, 0x8fce, 0x9be8, 0x003f,
    +    0x5287, 0x621f, 0x6483, 0x6fc0, 0x9699, 0x6841, 0x5091, 0x6b20,
    +    0x6c7a, 0x6f54, 0x7a74, 0x7d50, 0x8840, 0x8a23, 0x6708, 0x4ef6,
    +    0x5039, 0x5026, 0x5065, 0x517c, 0x5238, 0x5263, 0x55a7, 0x570f,
    +    0x5805, 0x5acc, 0x5efa, 0x61b2, 0x61f8, 0x62f3, 0x6372, 0x691c,
    +    0x6a29, 0x727d, 0x72ac, 0x732e, 0x7814, 0x786f, 0x7d79, 0x770c,
    +    0x80a9, 0x898b, 0x8b19, 0x8ce2, 0x8ed2, 0x9063, 0x9375, 0x967a,
    +    0x9855, 0x9a13, 0x9e78, 0x5143, 0x539f, 0x53b3, 0x5e7b, 0x5f26,
    +    0x6e1b, 0x6e90, 0x7384, 0x73fe, 0x7d43, 0x8237, 0x8a00, 0x8afa,
    +    0x9650, 0x4e4e, 0x500b, 0x53e4, 0x547c, 0x56fa, 0x59d1, 0x5b64,
    +    0x5df1, 0x5eab, 0x5f27, 0x6238, 0x6545, 0x67af, 0x6e56, 0x72d0,
    +    0x7cca, 0x88b4, 0x80a1, 0x80e1, 0x83f0, 0x864e, 0x8a87, 0x8de8,
    +    0x9237, 0x96c7, 0x9867, 0x9f13, 0x4e94, 0x4e92, 0x4f0d, 0x5348,
    +    0x5449, 0x543e, 0x5a2f, 0x5f8c, 0x5fa1, 0x609f, 0x68a7, 0x6a8e,
    +    0x745a, 0x7881, 0x8a9e, 0x8aa4, 0x8b77, 0x9190, 0x4e5e, 0x9bc9,
    +    0x4ea4, 0x4f7c, 0x4faf, 0x5019, 0x5016, 0x5149, 0x516c, 0x529f,
    +    0x52b9, 0x52fe, 0x539a, 0x53e3, 0x5411, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 8d */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x540e, 0x5589, 0x5751, 0x57a2, 0x597d, 0x5b54, 0x5b5d, 0x5b8f,
    +    0x5de5, 0x5de7, 0x5df7, 0x5e78, 0x5e83, 0x5e9a, 0x5eb7, 0x5f18,
    +    0x6052, 0x614c, 0x6297, 0x62d8, 0x63a7, 0x653b, 0x6602, 0x6643,
    +    0x66f4, 0x676d, 0x6821, 0x6897, 0x69cb, 0x6c5f, 0x6d2a, 0x6d69,
    +    0x6e2f, 0x6e9d, 0x7532, 0x7687, 0x786c, 0x7a3f, 0x7ce0, 0x7d05,
    +    0x7d18, 0x7d5e, 0x7db1, 0x8015, 0x8003, 0x80af, 0x80b1, 0x8154,
    +    0x818f, 0x822a, 0x8352, 0x884c, 0x8861, 0x8b1b, 0x8ca2, 0x8cfc,
    +    0x90ca, 0x9175, 0x9271, 0x783f, 0x92fc, 0x95a4, 0x964d, 0x003f,
    +    0x9805, 0x9999, 0x9ad8, 0x9d3b, 0x525b, 0x52ab, 0x53f7, 0x5408,
    +    0x58d5, 0x62f7, 0x6fe0, 0x8c6a, 0x8f5f, 0x9eb9, 0x514b, 0x523b,
    +    0x544a, 0x56fd, 0x7a40, 0x9177, 0x9d60, 0x9ed2, 0x7344, 0x6f09,
    +    0x8170, 0x7511, 0x5ffd, 0x60da, 0x9aa8, 0x72db, 0x8fbc, 0x6b64,
    +    0x9803, 0x4eca, 0x56f0, 0x5764, 0x58be, 0x5a5a, 0x6068, 0x61c7,
    +    0x660f, 0x6606, 0x6839, 0x68b1, 0x6df7, 0x75d5, 0x7d3a, 0x826e,
    +    0x9b42, 0x4e9b, 0x4f50, 0x53c9, 0x5506, 0x5d6f, 0x5de6, 0x5dee,
    +    0x67fb, 0x6c99, 0x7473, 0x7802, 0x8a50, 0x9396, 0x88df, 0x5750,
    +    0x5ea7, 0x632b, 0x50b5, 0x50ac, 0x518d, 0x6700, 0x54c9, 0x585e,
    +    0x59bb, 0x5bb0, 0x5f69, 0x624d, 0x63a1, 0x683d, 0x6b73, 0x6e08,
    +    0x707d, 0x91c7, 0x7280, 0x7815, 0x7826, 0x796d, 0x658e, 0x7d30,
    +    0x83dc, 0x88c1, 0x8f09, 0x969b, 0x5264, 0x5728, 0x6750, 0x7f6a,
    +    0x8ca1, 0x51b4, 0x5742, 0x962a, 0x583a, 0x698a, 0x80b4, 0x54b2,
    +    0x5d0e, 0x57fc, 0x7895, 0x9dfa, 0x4f5c, 0x524a, 0x548b, 0x643e,
    +    0x6628, 0x6714, 0x67f5, 0x7a84, 0x7b56, 0x7d22, 0x932f, 0x685c,
    +    0x9bad, 0x7b39, 0x5319, 0x518a, 0x5237, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 8e */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5bdf, 0x62f6, 0x64ae, 0x64e6, 0x672d, 0x6bba, 0x85a9, 0x96d1,
    +    0x7690, 0x9bd6, 0x634c, 0x9306, 0x9bab, 0x76bf, 0x6652, 0x4e09,
    +    0x5098, 0x53c2, 0x5c71, 0x60e8, 0x6492, 0x6563, 0x685f, 0x71e6,
    +    0x73ca, 0x7523, 0x7b97, 0x7e82, 0x8695, 0x8b83, 0x8cdb, 0x9178,
    +    0x9910, 0x65ac, 0x66ab, 0x6b8b, 0x4ed5, 0x4ed4, 0x4f3a, 0x4f7f,
    +    0x523a, 0x53f8, 0x53f2, 0x55e3, 0x56db, 0x58eb, 0x59cb, 0x59c9,
    +    0x59ff, 0x5b50, 0x5c4d, 0x5e02, 0x5e2b, 0x5fd7, 0x601d, 0x6307,
    +    0x652f, 0x5b5c, 0x65af, 0x65bd, 0x65e8, 0x679d, 0x6b62, 0x003f,
    +    0x6b7b, 0x6c0f, 0x7345, 0x7949, 0x79c1, 0x7cf8, 0x7d19, 0x7d2b,
    +    0x80a2, 0x8102, 0x81f3, 0x8996, 0x8a5e, 0x8a69, 0x8a66, 0x8a8c,
    +    0x8aee, 0x8cc7, 0x8cdc, 0x96cc, 0x98fc, 0x6b6f, 0x4e8b, 0x4f3c,
    +    0x4f8d, 0x5150, 0x5b57, 0x5bfa, 0x6148, 0x6301, 0x6642, 0x6b21,
    +    0x6ecb, 0x6cbb, 0x723e, 0x74bd, 0x75d4, 0x78c1, 0x793a, 0x800c,
    +    0x8033, 0x81ea, 0x8494, 0x8f9e, 0x6c50, 0x9e7f, 0x5f0f, 0x8b58,
    +    0x9d2b, 0x7afa, 0x8ef8, 0x5b8d, 0x96eb, 0x4e03, 0x53f1, 0x57f7,
    +    0x5931, 0x5ac9, 0x5ba4, 0x6089, 0x6e7f, 0x6f06, 0x75be, 0x8cea,
    +    0x5b9f, 0x8500, 0x7be0, 0x5072, 0x67f4, 0x829d, 0x5c61, 0x854a,
    +    0x7e1e, 0x820e, 0x5199, 0x5c04, 0x6368, 0x8d66, 0x659c, 0x716e,
    +    0x793e, 0x7d17, 0x8005, 0x8b1d, 0x8eca, 0x906e, 0x86c7, 0x90aa,
    +    0x501f, 0x52fa, 0x5c3a, 0x6753, 0x707c, 0x7235, 0x914c, 0x91c8,
    +    0x932b, 0x82e5, 0x5bc2, 0x5f31, 0x60f9, 0x4e3b, 0x53d6, 0x5b88,
    +    0x624b, 0x6731, 0x6b8a, 0x72e9, 0x73e0, 0x7a2e, 0x816b, 0x8da3,
    +    0x9152, 0x9996, 0x5112, 0x53d7, 0x546a, 0x5bff, 0x6388, 0x6a39,
    +    0x7dac, 0x9700, 0x56da, 0x53ce, 0x5468, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 8f */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5b97, 0x5c31, 0x5dde, 0x4fee, 0x6101, 0x62fe, 0x6d32, 0x79c0,
    +    0x79cb, 0x7d42, 0x7e4d, 0x7fd2, 0x81ed, 0x821f, 0x8490, 0x8846,
    +    0x8972, 0x8b90, 0x8e74, 0x8f2f, 0x9031, 0x914b, 0x916c, 0x96c6,
    +    0x919c, 0x4ec0, 0x4f4f, 0x5145, 0x5341, 0x5f93, 0x620e, 0x67d4,
    +    0x6c41, 0x6e0b, 0x7363, 0x7e26, 0x91cd, 0x9283, 0x53d4, 0x5919,
    +    0x5bbf, 0x6dd1, 0x795d, 0x7e2e, 0x7c9b, 0x587e, 0x719f, 0x51fa,
    +    0x8853, 0x8ff0, 0x4fca, 0x5cfb, 0x6625, 0x77ac, 0x7ae3, 0x821c,
    +    0x99ff, 0x51c6, 0x5faa, 0x65ec, 0x696f, 0x6b89, 0x6df3, 0x003f,
    +    0x6e96, 0x6f64, 0x76fe, 0x7d14, 0x5de1, 0x9075, 0x9187, 0x9806,
    +    0x51e6, 0x521d, 0x6240, 0x6691, 0x66d9, 0x6e1a, 0x5eb6, 0x7dd2,
    +    0x7f72, 0x66f8, 0x85af, 0x85f7, 0x8af8, 0x52a9, 0x53d9, 0x5973,
    +    0x5e8f, 0x5f90, 0x6055, 0x92e4, 0x9664, 0x50b7, 0x511f, 0x52dd,
    +    0x5320, 0x5347, 0x53ec, 0x54e8, 0x5546, 0x5531, 0x5617, 0x5968,
    +    0x59be, 0x5a3c, 0x5bb5, 0x5c06, 0x5c0f, 0x5c11, 0x5c1a, 0x5e84,
    +    0x5e8a, 0x5ee0, 0x5f70, 0x627f, 0x6284, 0x62db, 0x638c, 0x6377,
    +    0x6607, 0x660c, 0x662d, 0x6676, 0x677e, 0x68a2, 0x6a1f, 0x6a35,
    +    0x6cbc, 0x6d88, 0x6e09, 0x6e58, 0x713c, 0x7126, 0x7167, 0x75c7,
    +    0x7701, 0x785d, 0x7901, 0x7965, 0x79f0, 0x7ae0, 0x7b11, 0x7ca7,
    +    0x7d39, 0x8096, 0x83d6, 0x848b, 0x8549, 0x885d, 0x88f3, 0x8a1f,
    +    0x8a3c, 0x8a54, 0x8a73, 0x8c61, 0x8cde, 0x91a4, 0x9266, 0x937e,
    +    0x9418, 0x969c, 0x9798, 0x4e0a, 0x4e08, 0x4e1e, 0x4e57, 0x5197,
    +    0x5270, 0x57ce, 0x5834, 0x58cc, 0x5b22, 0x5e38, 0x60c5, 0x64fe,
    +    0x6761, 0x6756, 0x6d44, 0x72b6, 0x7573, 0x7a63, 0x84b8, 0x8b72,
    +    0x91b8, 0x9320, 0x5631, 0x57f4, 0x98fe, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 90 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x62ed, 0x690d, 0x6b96, 0x71ed, 0x7e54, 0x8077, 0x8272, 0x89e6,
    +    0x98df, 0x8755, 0x8fb1, 0x5c3b, 0x4f38, 0x4fe1, 0x4fb5, 0x5507,
    +    0x5a20, 0x5bdd, 0x5be9, 0x5fc3, 0x614e, 0x632f, 0x65b0, 0x664b,
    +    0x68ee, 0x699b, 0x6d78, 0x6df1, 0x7533, 0x75b9, 0x771f, 0x795e,
    +    0x79e6, 0x7d33, 0x81e3, 0x82af, 0x85aa, 0x89aa, 0x8a3a, 0x8eab,
    +    0x8f9b, 0x9032, 0x91dd, 0x9707, 0x4eba, 0x4ec1, 0x5203, 0x5875,
    +    0x58ec, 0x5c0b, 0x751a, 0x5c3d, 0x814e, 0x8a0a, 0x8fc5, 0x9663,
    +    0x976d, 0x7b25, 0x8acf, 0x9808, 0x9162, 0x56f3, 0x53a8, 0x003f,
    +    0x9017, 0x5439, 0x5782, 0x5e25, 0x63a8, 0x6c34, 0x708a, 0x7761,
    +    0x7c8b, 0x7fe0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968f,
    +    0x745e, 0x9ac4, 0x5d07, 0x5d69, 0x6570, 0x67a2, 0x8da8, 0x96db,
    +    0x636e, 0x6749, 0x6919, 0x83c5, 0x9817, 0x96c0, 0x88fe, 0x6f84,
    +    0x647a, 0x5bf8, 0x4e16, 0x702c, 0x755d, 0x662f, 0x51c4, 0x5236,
    +    0x52e2, 0x59d3, 0x5f81, 0x6027, 0x6210, 0x653f, 0x6574, 0x661f,
    +    0x6674, 0x68f2, 0x6816, 0x6b63, 0x6e05, 0x7272, 0x751f, 0x76db,
    +    0x7cbe, 0x8056, 0x58f0, 0x88fd, 0x897f, 0x8aa0, 0x8a93, 0x8acb,
    +    0x901d, 0x9192, 0x9752, 0x9759, 0x6589, 0x7a0e, 0x8106, 0x96bb,
    +    0x5e2d, 0x60dc, 0x621a, 0x65a5, 0x6614, 0x6790, 0x77f3, 0x7a4d,
    +    0x7c4d, 0x7e3e, 0x810a, 0x8cac, 0x8d64, 0x8de1, 0x8e5f, 0x78a9,
    +    0x5207, 0x62d9, 0x63a5, 0x6442, 0x6298, 0x8a2d, 0x7a83, 0x7bc0,
    +    0x8aac, 0x96ea, 0x7d76, 0x820c, 0x8749, 0x4ed9, 0x5148, 0x5343,
    +    0x5360, 0x5ba3, 0x5c02, 0x5c16, 0x5ddd, 0x6226, 0x6247, 0x64b0,
    +    0x6813, 0x6834, 0x6cc9, 0x6d45, 0x6d17, 0x67d3, 0x6f5c, 0x714e,
    +    0x717d, 0x65cb, 0x7a7f, 0x7bad, 0x7dda, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 91 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7e4a, 0x7fa8, 0x817a, 0x821b, 0x8239, 0x85a6, 0x8a6e, 0x8cce,
    +    0x8df5, 0x9078, 0x9077, 0x92ad, 0x9291, 0x9583, 0x9bae, 0x524d,
    +    0x5584, 0x6f38, 0x7136, 0x5168, 0x7985, 0x7e55, 0x81b3, 0x7cce,
    +    0x564c, 0x5851, 0x5ca8, 0x63aa, 0x66fe, 0x66fd, 0x695a, 0x72d9,
    +    0x758f, 0x758e, 0x790e, 0x7956, 0x79df, 0x7c97, 0x7d20, 0x7d44,
    +    0x8607, 0x8a34, 0x963b, 0x9061, 0x9f20, 0x50e7, 0x5275, 0x53cc,
    +    0x53e2, 0x5009, 0x55aa, 0x58ee, 0x594f, 0x723d, 0x5b8b, 0x5c64,
    +    0x531d, 0x60e3, 0x60f3, 0x635c, 0x6383, 0x633f, 0x63bb, 0x003f,
    +    0x64cd, 0x65e9, 0x66f9, 0x5de3, 0x69cd, 0x69fd, 0x6f15, 0x71e5,
    +    0x4e89, 0x75e9, 0x76f8, 0x7a93, 0x7cdf, 0x7dcf, 0x7d9c, 0x8061,
    +    0x8349, 0x8358, 0x846c, 0x84bc, 0x85fb, 0x88c5, 0x8d70, 0x9001,
    +    0x906d, 0x9397, 0x971c, 0x9a12, 0x50cf, 0x5897, 0x618e, 0x81d3,
    +    0x8535, 0x8d08, 0x9020, 0x4fc3, 0x5074, 0x5247, 0x5373, 0x606f,
    +    0x6349, 0x675f, 0x6e2c, 0x8db3, 0x901f, 0x4fd7, 0x5c5e, 0x8cca,
    +    0x65cf, 0x7d9a, 0x5352, 0x8896, 0x5176, 0x63c3, 0x5b58, 0x5b6b,
    +    0x5c0a, 0x640d, 0x6751, 0x905c, 0x4ed6, 0x591a, 0x592a, 0x6c70,
    +    0x8a51, 0x553e, 0x5815, 0x59a5, 0x60f0, 0x6253, 0x67c1, 0x8235,
    +    0x6955, 0x9640, 0x99c4, 0x9a28, 0x4f53, 0x5806, 0x5bfe, 0x8010,
    +    0x5cb1, 0x5e2f, 0x5f85, 0x6020, 0x614b, 0x6234, 0x66ff, 0x6cf0,
    +    0x6ede, 0x80ce, 0x817f, 0x82d4, 0x888b, 0x8cb8, 0x9000, 0x902e,
    +    0x968a, 0x9edb, 0x9bdb, 0x4ee3, 0x53f0, 0x5927, 0x7b2c, 0x918d,
    +    0x984c, 0x9df9, 0x6edd, 0x7027, 0x5353, 0x5544, 0x5b85, 0x6258,
    +    0x629e, 0x62d3, 0x6ca2, 0x6fef, 0x7422, 0x8a17, 0x9438, 0x6fc1,
    +    0x8afe, 0x8338, 0x51e7, 0x86f8, 0x53ea, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 92 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x53e9, 0x4f46, 0x9054, 0x8fb0, 0x596a, 0x8131, 0x5dfd, 0x7aea,
    +    0x8fbf, 0x68da, 0x8c37, 0x72f8, 0x9c48, 0x6a3d, 0x8ab0, 0x4e39,
    +    0x5358, 0x5606, 0x5766, 0x62c5, 0x63a2, 0x65e6, 0x6b4e, 0x6de1,
    +    0x6e5b, 0x70ad, 0x77ed, 0x7aef, 0x7baa, 0x7dbb, 0x803d, 0x80c6,
    +    0x86cb, 0x8a95, 0x935b, 0x56e3, 0x58c7, 0x5f3e, 0x65ad, 0x6696,
    +    0x6a80, 0x6bb5, 0x7537, 0x8ac7, 0x5024, 0x77e5, 0x5730, 0x5f1b,
    +    0x6065, 0x667a, 0x6c60, 0x75f4, 0x7a1a, 0x7f6e, 0x81f4, 0x8718,
    +    0x9045, 0x99b3, 0x7bc9, 0x755c, 0x7af9, 0x7b51, 0x84c4, 0x003f,
    +    0x9010, 0x79e9, 0x7a92, 0x8336, 0x5ae1, 0x7740, 0x4e2d, 0x4ef2,
    +    0x5b99, 0x5fe0, 0x62bd, 0x663c, 0x67f1, 0x6ce8, 0x866b, 0x8877,
    +    0x8a3b, 0x914e, 0x92f3, 0x99d0, 0x6a17, 0x7026, 0x732a, 0x82e7,
    +    0x8457, 0x8caf, 0x4e01, 0x5146, 0x51cb, 0x558b, 0x5bf5, 0x5e16,
    +    0x5e33, 0x5e81, 0x5f14, 0x5f35, 0x5f6b, 0x5fb4, 0x61f2, 0x6311,
    +    0x66a2, 0x671d, 0x6f6e, 0x7252, 0x753a, 0x773a, 0x8074, 0x8139,
    +    0x8178, 0x8776, 0x8abf, 0x8adc, 0x8d85, 0x8df3, 0x929a, 0x9577,
    +    0x9802, 0x9ce5, 0x52c5, 0x6357, 0x76f4, 0x6715, 0x6c88, 0x73cd,
    +    0x8cc3, 0x93ae, 0x9673, 0x6d25, 0x589c, 0x690e, 0x69cc, 0x8ffd,
    +    0x939a, 0x75db, 0x901a, 0x585a, 0x6802, 0x63b4, 0x69fb, 0x4f43,
    +    0x6f2c, 0x67d8, 0x8fbb, 0x8526, 0x7db4, 0x9354, 0x693f, 0x6f70,
    +    0x576a, 0x58f7, 0x5b2c, 0x7d2c, 0x722a, 0x540a, 0x91e3, 0x9db4,
    +    0x4ead, 0x4f4e, 0x505c, 0x5075, 0x5243, 0x8c9e, 0x5448, 0x5824,
    +    0x5b9a, 0x5e1d, 0x5e95, 0x5ead, 0x5ef7, 0x5f1f, 0x608c, 0x62b5,
    +    0x633a, 0x63d0, 0x68af, 0x6c40, 0x7887, 0x798e, 0x7a0b, 0x7de0,
    +    0x8247, 0x8a02, 0x8ae6, 0x8e44, 0x9013, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 93 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x90b8, 0x912d, 0x91d8, 0x9f0e, 0x6ce5, 0x6458, 0x64e2, 0x6575,
    +    0x6ef4, 0x7684, 0x7b1b, 0x9069, 0x93d1, 0x6eba, 0x54f2, 0x5fb9,
    +    0x64a4, 0x8f4d, 0x8fed, 0x9244, 0x5178, 0x586b, 0x5929, 0x5c55,
    +    0x5e97, 0x6dfb, 0x7e8f, 0x751c, 0x8cbc, 0x8ee2, 0x985b, 0x70b9,
    +    0x4f1d, 0x6bbf, 0x6fb1, 0x7530, 0x96fb, 0x514e, 0x5410, 0x5835,
    +    0x5857, 0x59ac, 0x5c60, 0x5f92, 0x6597, 0x675c, 0x6e21, 0x767b,
    +    0x83df, 0x8ced, 0x9014, 0x90fd, 0x934d, 0x7825, 0x783a, 0x52aa,
    +    0x5ea6, 0x571f, 0x5974, 0x6012, 0x5012, 0x515a, 0x51ac, 0x003f,
    +    0x51cd, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5b95, 0x5cf6,
    +    0x5d8b, 0x60bc, 0x6295, 0x642d, 0x6771, 0x6843, 0x68bc, 0x68df,
    +    0x76d7, 0x6dd8, 0x6e6f, 0x6d9b, 0x706f, 0x71c8, 0x5f53, 0x75d8,
    +    0x7977, 0x7b49, 0x7b54, 0x7b52, 0x7cd6, 0x7d71, 0x5230, 0x8463,
    +    0x8569, 0x85e4, 0x8a0e, 0x8b04, 0x8c46, 0x8e0f, 0x9003, 0x900f,
    +    0x9419, 0x9676, 0x982d, 0x9a30, 0x95d8, 0x50cd, 0x52d5, 0x540c,
    +    0x5802, 0x5c0e, 0x61a7, 0x649e, 0x6d1e, 0x77b3, 0x7ae5, 0x80f4,
    +    0x8404, 0x9053, 0x9285, 0x5ce0, 0x9d07, 0x533f, 0x5f97, 0x5fb3,
    +    0x6d9c, 0x7279, 0x7763, 0x79bf, 0x7be4, 0x6bd2, 0x72ec, 0x8aad,
    +    0x6803, 0x6a61, 0x51f8, 0x7a81, 0x6934, 0x5c4a, 0x9cf6, 0x82eb,
    +    0x5bc5, 0x9149, 0x701e, 0x5678, 0x5c6f, 0x60c7, 0x6566, 0x6c8c,
    +    0x8c5a, 0x9041, 0x9813, 0x5451, 0x66c7, 0x920d, 0x5948, 0x90a3,
    +    0x5185, 0x4e4d, 0x51ea, 0x8599, 0x8b0e, 0x7058, 0x637a, 0x934b,
    +    0x6962, 0x99b4, 0x7e04, 0x7577, 0x5357, 0x6960, 0x8edf, 0x96e3,
    +    0x6c5d, 0x4e8c, 0x5c3c, 0x5f10, 0x8fe9, 0x5302, 0x8cd1, 0x8089,
    +    0x8679, 0x5eff, 0x65e5, 0x4e73, 0x5165, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 94 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5982, 0x5c3f, 0x97ee, 0x4efb, 0x598a, 0x5fcd, 0x8a8d, 0x6fe1,
    +    0x79b0, 0x7962, 0x5be7, 0x8471, 0x732b, 0x71b1, 0x5e74, 0x5ff5,
    +    0x637b, 0x649a, 0x71c3, 0x7c98, 0x4e43, 0x5efc, 0x4e4b, 0x57dc,
    +    0x56a2, 0x60a9, 0x6fc3, 0x7d0d, 0x80fd, 0x8133, 0x81bf, 0x8fb2,
    +    0x8997, 0x86a4, 0x5df4, 0x628a, 0x64ad, 0x8987, 0x6777, 0x6ce2,
    +    0x6d3e, 0x7436, 0x7834, 0x5a46, 0x7f75, 0x82ad, 0x99ac, 0x4ff3,
    +    0x5ec3, 0x62dd, 0x6392, 0x6557, 0x676f, 0x76c3, 0x724c, 0x80cc,
    +    0x80ba, 0x8f29, 0x914d, 0x500d, 0x57f9, 0x5a92, 0x6885, 0x003f,
    +    0x6973, 0x7164, 0x72fd, 0x8cb7, 0x58f2, 0x8ce0, 0x966a, 0x9019,
    +    0x877f, 0x79e4, 0x77e7, 0x8429, 0x4f2f, 0x5265, 0x535a, 0x62cd,
    +    0x67cf, 0x6cca, 0x767d, 0x7b94, 0x7c95, 0x8236, 0x8584, 0x8feb,
    +    0x66dd, 0x6f20, 0x7206, 0x7e1b, 0x83ab, 0x99c1, 0x9ea6, 0x51fd,
    +    0x7bb1, 0x7872, 0x7bb8, 0x8087, 0x7b48, 0x6ae8, 0x5e61, 0x808c,
    +    0x7551, 0x7560, 0x516b, 0x9262, 0x6e8c, 0x767a, 0x9197, 0x9aea,
    +    0x4f10, 0x7f70, 0x629c, 0x7b4f, 0x95a5, 0x9ce9, 0x567a, 0x5859,
    +    0x86e4, 0x96bc, 0x4f34, 0x5224, 0x534a, 0x53cd, 0x53db, 0x5e06,
    +    0x642c, 0x6591, 0x677f, 0x6c3e, 0x6c4e, 0x7248, 0x72af, 0x73ed,
    +    0x7554, 0x7e41, 0x822c, 0x85e9, 0x8ca9, 0x7bc4, 0x91c6, 0x7169,
    +    0x9812, 0x98ef, 0x633d, 0x6669, 0x756a, 0x76e4, 0x78d0, 0x8543,
    +    0x86ee, 0x532a, 0x5351, 0x5426, 0x5983, 0x5e87, 0x5f7c, 0x60b2,
    +    0x6249, 0x6279, 0x62ab, 0x6590, 0x6bd4, 0x6ccc, 0x75b2, 0x76ae,
    +    0x7891, 0x79d8, 0x7dcb, 0x7f77, 0x80a5, 0x88ab, 0x8ab9, 0x8cbb,
    +    0x907f, 0x975e, 0x98db, 0x6a0b, 0x7c38, 0x5099, 0x5c3e, 0x5fae,
    +    0x6787, 0x6bd8, 0x7435, 0x7709, 0x7f8e, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 95 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9f3b, 0x67ca, 0x7a17, 0x5339, 0x758b, 0x9aed, 0x5f66, 0x819d,
    +    0x83f1, 0x8098, 0x5f3c, 0x5fc5, 0x7562, 0x7b46, 0x903c, 0x6867,
    +    0x59eb, 0x5a9b, 0x7d10, 0x767e, 0x8b2c, 0x4ff5, 0x5f6a, 0x6a19,
    +    0x6c37, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8a55, 0x8c79, 0x5edf,
    +    0x63cf, 0x75c5, 0x79d2, 0x82d7, 0x9328, 0x92f2, 0x849c, 0x86ed,
    +    0x9c2d, 0x54c1, 0x5f6c, 0x658c, 0x6d5c, 0x7015, 0x8ca7, 0x8cd3,
    +    0x983b, 0x654f, 0x74f6, 0x4e0d, 0x4ed8, 0x57e0, 0x592b, 0x5a66,
    +    0x5bcc, 0x51a8, 0x5e03, 0x5e9c, 0x6016, 0x6276, 0x6577, 0x003f,
    +    0x65a7, 0x666e, 0x6d6e, 0x7236, 0x7b26, 0x8150, 0x819a, 0x8299,
    +    0x8b5c, 0x8ca0, 0x8ce6, 0x8d74, 0x961c, 0x9644, 0x4fae, 0x64ab,
    +    0x6b66, 0x821e, 0x8461, 0x856a, 0x90e8, 0x5c01, 0x6953, 0x98a8,
    +    0x847a, 0x8557, 0x4f0f, 0x526f, 0x5fa9, 0x5e45, 0x670d, 0x798f,
    +    0x8179, 0x8907, 0x8986, 0x6df5, 0x5f17, 0x6255, 0x6cb8, 0x4ecf,
    +    0x7269, 0x9b92, 0x5206, 0x543b, 0x5674, 0x58b3, 0x61a4, 0x626e,
    +    0x711a, 0x596e, 0x7c89, 0x7cde, 0x7d1b, 0x96f0, 0x6587, 0x805e,
    +    0x4e19, 0x4f75, 0x5175, 0x5840, 0x5e63, 0x5e73, 0x5f0a, 0x67c4,
    +    0x4e26, 0x853d, 0x9589, 0x965b, 0x7c73, 0x9801, 0x50fb, 0x58c1,
    +    0x7656, 0x78a7, 0x5225, 0x77a5, 0x8511, 0x7b86, 0x504f, 0x5909,
    +    0x7247, 0x7bc7, 0x7de8, 0x8fba, 0x8fd4, 0x904d, 0x4fbf, 0x52c9,
    +    0x5a29, 0x5f01, 0x97ad, 0x4fdd, 0x8217, 0x92ea, 0x5703, 0x6355,
    +    0x6b69, 0x752b, 0x88dc, 0x8f14, 0x7a42, 0x52df, 0x5893, 0x6155,
    +    0x620a, 0x66ae, 0x6bcd, 0x7c3f, 0x83e9, 0x5023, 0x4ff8, 0x5305,
    +    0x5446, 0x5831, 0x5949, 0x5b9d, 0x5cf0, 0x5cef, 0x5d29, 0x5e96,
    +    0x62b1, 0x6367, 0x653e, 0x65b9, 0x670b, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 96 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6cd5, 0x6ce1, 0x70f9, 0x7832, 0x7e2b, 0x80de, 0x82b3, 0x840c,
    +    0x84ec, 0x8702, 0x8912, 0x8a2a, 0x8c4a, 0x90a6, 0x92d2, 0x98fd,
    +    0x9cf3, 0x9d6c, 0x4e4f, 0x4ea1, 0x508d, 0x5256, 0x574a, 0x59a8,
    +    0x5e3d, 0x5fd8, 0x5fd9, 0x623f, 0x66b4, 0x671b, 0x67d0, 0x68d2,
    +    0x5192, 0x7d21, 0x80aa, 0x81a8, 0x8b00, 0x8c8c, 0x8cbf, 0x927e,
    +    0x9632, 0x5420, 0x982c, 0x5317, 0x50d5, 0x535c, 0x58a8, 0x64b2,
    +    0x6734, 0x7267, 0x7766, 0x7a46, 0x91e6, 0x52c3, 0x6ca1, 0x6b86,
    +    0x5800, 0x5e4c, 0x5954, 0x672c, 0x7ffb, 0x51e1, 0x76c6, 0x003f,
    +    0x6469, 0x78e8, 0x9b54, 0x9ebb, 0x57cb, 0x59b9, 0x6627, 0x679a,
    +    0x6bce, 0x54e9, 0x69d9, 0x5e55, 0x819c, 0x6795, 0x9baa, 0x67fe,
    +    0x9c52, 0x685d, 0x4ea6, 0x4fe3, 0x53c8, 0x62b9, 0x672b, 0x6cab,
    +    0x8fc4, 0x4fad, 0x7e6d, 0x9ebf, 0x4e07, 0x6162, 0x6e80, 0x6f2b,
    +    0x8513, 0x5473, 0x672a, 0x9b45, 0x5df3, 0x7b95, 0x5cac, 0x5bc6,
    +    0x871c, 0x6e4a, 0x84d1, 0x7a14, 0x8108, 0x5999, 0x7c8d, 0x6c11,
    +    0x7720, 0x52d9, 0x5922, 0x7121, 0x725f, 0x77db, 0x9727, 0x9d61,
    +    0x690b, 0x5a7f, 0x5a18, 0x51a5, 0x540d, 0x547d, 0x660e, 0x76df,
    +    0x8ff7, 0x9298, 0x9cf4, 0x59ea, 0x725d, 0x6ec5, 0x514d, 0x68c9,
    +    0x7dbf, 0x7dec, 0x9762, 0x9eba, 0x6478, 0x6a21, 0x8302, 0x5984,
    +    0x5b5f, 0x6bdb, 0x731b, 0x76f2, 0x7db2, 0x8017, 0x8499, 0x5132,
    +    0x6728, 0x9ed9, 0x76ee, 0x6762, 0x52ff, 0x9905, 0x5c24, 0x623b,
    +    0x7c7e, 0x8cb0, 0x554f, 0x60b6, 0x7d0b, 0x9580, 0x5301, 0x4e5f,
    +    0x51b6, 0x591c, 0x723a, 0x8036, 0x91ce, 0x5f25, 0x77e2, 0x5384,
    +    0x5f79, 0x7d04, 0x85ac, 0x8a33, 0x8e8d, 0x9756, 0x67f3, 0x85ae,
    +    0x9453, 0x6109, 0x6108, 0x6cb9, 0x7652, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 97 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8aed, 0x8f38, 0x552f, 0x4f51, 0x512a, 0x52c7, 0x53cb, 0x5ba5,
    +    0x5e7d, 0x60a0, 0x6182, 0x63d6, 0x6709, 0x67da, 0x6e67, 0x6d8c,
    +    0x7336, 0x7337, 0x7531, 0x7950, 0x88d5, 0x8a98, 0x904a, 0x9091,
    +    0x90f5, 0x96c4, 0x878d, 0x5915, 0x4e88, 0x4f59, 0x4e0e, 0x8a89,
    +    0x8f3f, 0x9810, 0x50ad, 0x5e7c, 0x5996, 0x5bb9, 0x5eb8, 0x63da,
    +    0x63fa, 0x64c1, 0x66dc, 0x694a, 0x69d8, 0x6d0b, 0x6eb6, 0x7194,
    +    0x7528, 0x7aaf, 0x7f8a, 0x8000, 0x8449, 0x84c9, 0x8981, 0x8b21,
    +    0x8e0a, 0x9065, 0x967d, 0x990a, 0x617e, 0x6291, 0x6b32, 0x003f,
    +    0x6c83, 0x6d74, 0x7fcc, 0x7ffc, 0x6dc0, 0x7f85, 0x87ba, 0x88f8,
    +    0x6765, 0x83b1, 0x983c, 0x96f7, 0x6d1b, 0x7d61, 0x843d, 0x916a,
    +    0x4e71, 0x5375, 0x5d50, 0x6b04, 0x6feb, 0x85cd, 0x862d, 0x89a7,
    +    0x5229, 0x540f, 0x5c65, 0x674e, 0x68a8, 0x7406, 0x7483, 0x75e2,
    +    0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x9678, 0x5f8b, 0x7387, 0x7acb,
    +    0x844e, 0x63a0, 0x7565, 0x5289, 0x6d41, 0x6e9c, 0x7409, 0x7559,
    +    0x786b, 0x7c92, 0x9686, 0x7adc, 0x9f8d, 0x4fb6, 0x616e, 0x65c5,
    +    0x865c, 0x4e86, 0x4eae, 0x50da, 0x4e21, 0x51cc, 0x5bee, 0x6599,
    +    0x6881, 0x6dbc, 0x731f, 0x7642, 0x77ad, 0x7a1c, 0x7ce7, 0x826f,
    +    0x8ad2, 0x907c, 0x91cf, 0x9675, 0x9818, 0x529b, 0x7dd1, 0x502b,
    +    0x5398, 0x6797, 0x6dcb, 0x71d0, 0x7433, 0x81e8, 0x8f2a, 0x96a3,
    +    0x9c57, 0x9e9f, 0x7460, 0x5841, 0x6d99, 0x7d2f, 0x985e, 0x4ee4,
    +    0x4f36, 0x4f8b, 0x51b7, 0x52b1, 0x5dba, 0x601c, 0x73b2, 0x793c,
    +    0x82d3, 0x9234, 0x96b7, 0x96f6, 0x970a, 0x9e97, 0x9f62, 0x66a6,
    +    0x6b74, 0x5217, 0x52a3, 0x70c8, 0x88c2, 0x5ec9, 0x604b, 0x6190,
    +    0x6f23, 0x7149, 0x7c3e, 0x7df4, 0x806f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 98 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x84ee, 0x9023, 0x932c, 0x5442, 0x9b6f, 0x6ad3, 0x7089, 0x8cc2,
    +    0x8def, 0x9732, 0x52b4, 0x5a41, 0x5eca, 0x5f04, 0x6717, 0x697c,
    +    0x6994, 0x6d6a, 0x6f0f, 0x7262, 0x72fc, 0x7bed, 0x8001, 0x807e,
    +    0x874b, 0x90ce, 0x516d, 0x9e93, 0x7984, 0x808b, 0x9332, 0x8ad6,
    +    0x502d, 0x548c, 0x8a71, 0x6b6a, 0x8cc4, 0x8107, 0x60d1, 0x67a0,
    +    0x9df2, 0x4e99, 0x4e98, 0x9c10, 0x8a6b, 0x85c1, 0x8568, 0x6900,
    +    0x6e7e, 0x7897, 0x8155, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x5f0c,
    +    0x4e10, 0x4e15, 0x4e2a, 0x4e31, 0x4e36, 0x4e3c, 0x4e3f, 0x4e42,
    +    0x4e56, 0x4e58, 0x4e82, 0x4e85, 0x8c6b, 0x4e8a, 0x8212, 0x5f0d,
    +    0x4e8e, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea2, 0x4eb0, 0x4eb3, 0x4eb6,
    +    0x4ece, 0x4ecd, 0x4ec4, 0x4ec6, 0x4ec2, 0x4ed7, 0x4ede, 0x4eed,
    +    0x4edf, 0x4ef7, 0x4f09, 0x4f5a, 0x4f30, 0x4f5b, 0x4f5d, 0x4f57,
    +    0x4f47, 0x4f76, 0x4f88, 0x4f8f, 0x4f98, 0x4f7b, 0x4f69, 0x4f70,
    +    0x4f91, 0x4f6f, 0x4f86, 0x4f96, 0x5118, 0x4fd4, 0x4fdf, 0x4fce,
    +    0x4fd8, 0x4fdb, 0x4fd1, 0x4fda, 0x4fd0, 0x4fe4, 0x4fe5, 0x501a,
    +    0x5028, 0x5014, 0x502a, 0x5025, 0x5005, 0x4f1c, 0x4ff6, 0x5021,
    +    0x5029, 0x502c, 0x4ffe, 0x4fef, 0x5011, 0x5006, 0x5043, 0x5047,
    +    0x6703, 0x5055, 0x5050, 0x5048, 0x505a, 0x5056, 0x506c, 0x5078,
    +    0x5080, 0x509a, 0x5085, 0x50b4, 0x50b2, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 99 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x50c9, 0x50ca, 0x50b3, 0x50c2, 0x50d6, 0x50de, 0x50e5, 0x50ed,
    +    0x50e3, 0x50ee, 0x50f9, 0x50f5, 0x5109, 0x5101, 0x5102, 0x5116,
    +    0x5115, 0x5114, 0x511a, 0x5121, 0x513a, 0x5137, 0x513c, 0x513b,
    +    0x513f, 0x5140, 0x5152, 0x514c, 0x5154, 0x5162, 0x7af8, 0x5169,
    +    0x516a, 0x516e, 0x5180, 0x5182, 0x56d8, 0x518c, 0x5189, 0x518f,
    +    0x5191, 0x5193, 0x5195, 0x5196, 0x51a4, 0x51a6, 0x51a2, 0x51a9,
    +    0x51aa, 0x51ab, 0x51b3, 0x51b1, 0x51b2, 0x51b0, 0x51b5, 0x51bd,
    +    0x51c5, 0x51c9, 0x51db, 0x51e0, 0x8655, 0x51e9, 0x51ed, 0x003f,
    +    0x51f0, 0x51f5, 0x51fe, 0x5204, 0x520b, 0x5214, 0x520e, 0x5227,
    +    0x522a, 0x522e, 0x5233, 0x5239, 0x524f, 0x5244, 0x524b, 0x524c,
    +    0x525e, 0x5254, 0x526a, 0x5274, 0x5269, 0x5273, 0x527f, 0x527d,
    +    0x528d, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8fa8, 0x8fa7,
    +    0x52ac, 0x52ad, 0x52bc, 0x52b5, 0x52c1, 0x52cd, 0x52d7, 0x52de,
    +    0x52e3, 0x52e6, 0x98ed, 0x52e0, 0x52f3, 0x52f5, 0x52f8, 0x52f9,
    +    0x5306, 0x5308, 0x7538, 0x530d, 0x5310, 0x530f, 0x5315, 0x531a,
    +    0x5323, 0x532f, 0x5331, 0x5333, 0x5338, 0x5340, 0x5346, 0x5345,
    +    0x4e17, 0x5349, 0x534d, 0x51d6, 0x535e, 0x5369, 0x536e, 0x5918,
    +    0x537b, 0x5377, 0x5382, 0x5396, 0x53a0, 0x53a6, 0x53a5, 0x53ae,
    +    0x53b0, 0x53b6, 0x53c3, 0x7c12, 0x96d9, 0x53df, 0x66fc, 0x71ee,
    +    0x53ee, 0x53e8, 0x53ed, 0x53fa, 0x5401, 0x543d, 0x5440, 0x542c,
    +    0x542d, 0x543c, 0x542e, 0x5436, 0x5429, 0x541d, 0x544e, 0x548f,
    +    0x5475, 0x548e, 0x545f, 0x5471, 0x5477, 0x5470, 0x5492, 0x547b,
    +    0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54c7, 0x54a2, 0x54b8,
    +    0x54a5, 0x54ac, 0x54c4, 0x54c8, 0x54a8, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 9a */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x54ab, 0x54c2, 0x54a4, 0x54be, 0x54bc, 0x54d8, 0x54e5, 0x54e6,
    +    0x550f, 0x5514, 0x54fd, 0x54ee, 0x54ed, 0x54fa, 0x54e2, 0x5539,
    +    0x5540, 0x5563, 0x554c, 0x552e, 0x555c, 0x5545, 0x5556, 0x5557,
    +    0x5538, 0x5533, 0x555d, 0x5599, 0x5580, 0x54af, 0x558a, 0x559f,
    +    0x557b, 0x557e, 0x5598, 0x559e, 0x55ae, 0x557c, 0x5583, 0x55a9,
    +    0x5587, 0x55a8, 0x55da, 0x55c5, 0x55df, 0x55c4, 0x55dc, 0x55e4,
    +    0x55d4, 0x5614, 0x55f7, 0x5616, 0x55fe, 0x55fd, 0x561b, 0x55f9,
    +    0x564e, 0x5650, 0x71df, 0x5634, 0x5636, 0x5632, 0x5638, 0x003f,
    +    0x566b, 0x5664, 0x562f, 0x566c, 0x566a, 0x5686, 0x5680, 0x568a,
    +    0x56a0, 0x5694, 0x568f, 0x56a5, 0x56ae, 0x56b6, 0x56b4, 0x56c2,
    +    0x56bc, 0x56c1, 0x56c3, 0x56c0, 0x56c8, 0x56ce, 0x56d1, 0x56d3,
    +    0x56d7, 0x56ee, 0x56f9, 0x5700, 0x56ff, 0x5704, 0x5709, 0x5708,
    +    0x570b, 0x570d, 0x5713, 0x5718, 0x5716, 0x55c7, 0x571c, 0x5726,
    +    0x5737, 0x5738, 0x574e, 0x573b, 0x5740, 0x574f, 0x5769, 0x57c0,
    +    0x5788, 0x5761, 0x577f, 0x5789, 0x5793, 0x57a0, 0x57b3, 0x57a4,
    +    0x57aa, 0x57b0, 0x57c3, 0x57c6, 0x57d4, 0x57d2, 0x57d3, 0x580a,
    +    0x57d6, 0x57e3, 0x580b, 0x5819, 0x581d, 0x5872, 0x5821, 0x5862,
    +    0x584b, 0x5870, 0x6bc0, 0x5852, 0x583d, 0x5879, 0x5885, 0x58b9,
    +    0x589f, 0x58ab, 0x58ba, 0x58de, 0x58bb, 0x58b8, 0x58ae, 0x58c5,
    +    0x58d3, 0x58d1, 0x58d7, 0x58d9, 0x58d8, 0x58e5, 0x58dc, 0x58e4,
    +    0x58df, 0x58ef, 0x58fa, 0x58f9, 0x58fb, 0x58fc, 0x58fd, 0x5902,
    +    0x590a, 0x5910, 0x591b, 0x68a6, 0x5925, 0x592c, 0x592d, 0x5932,
    +    0x5938, 0x593e, 0x7ad2, 0x5955, 0x5950, 0x594e, 0x595a, 0x5958,
    +    0x5962, 0x5960, 0x5967, 0x596c, 0x5969, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 9b */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5978, 0x5981, 0x599d, 0x4f5e, 0x4fab, 0x59a3, 0x59b2, 0x59c6,
    +    0x59e8, 0x59dc, 0x598d, 0x59d9, 0x59da, 0x5a25, 0x5a1f, 0x5a11,
    +    0x5a1c, 0x5a09, 0x5a1a, 0x5a40, 0x5a6c, 0x5a49, 0x5a35, 0x5a36,
    +    0x5a62, 0x5a6a, 0x5a9a, 0x5abc, 0x5abe, 0x5acb, 0x5ac2, 0x5abd,
    +    0x5ae3, 0x5ad7, 0x5ae6, 0x5ae9, 0x5ad6, 0x5afa, 0x5afb, 0x5b0c,
    +    0x5b0b, 0x5b16, 0x5b32, 0x5ad0, 0x5b2a, 0x5b36, 0x5b3e, 0x5b43,
    +    0x5b45, 0x5b40, 0x5b51, 0x5b55, 0x5b5a, 0x5b5b, 0x5b65, 0x5b69,
    +    0x5b70, 0x5b73, 0x5b75, 0x5b78, 0x6588, 0x5b7a, 0x5b80, 0x003f,
    +    0x5b83, 0x5ba6, 0x5bb8, 0x5bc3, 0x5bc7, 0x5bc9, 0x5bd4, 0x5bd0,
    +    0x5be4, 0x5be6, 0x5be2, 0x5bde, 0x5be5, 0x5beb, 0x5bf0, 0x5bf6,
    +    0x5bf3, 0x5c05, 0x5c07, 0x5c08, 0x5c0d, 0x5c13, 0x5c20, 0x5c22,
    +    0x5c28, 0x5c38, 0x5c39, 0x5c41, 0x5c46, 0x5c4e, 0x5c53, 0x5c50,
    +    0x5c4f, 0x5b71, 0x5c6c, 0x5c6e, 0x4e62, 0x5c76, 0x5c79, 0x5c8c,
    +    0x5c91, 0x5c94, 0x599b, 0x5cab, 0x5cbb, 0x5cb6, 0x5cbc, 0x5cb7,
    +    0x5cc5, 0x5cbe, 0x5cc7, 0x5cd9, 0x5ce9, 0x5cfd, 0x5cfa, 0x5ced,
    +    0x5d8c, 0x5cea, 0x5d0b, 0x5d15, 0x5d17, 0x5d5c, 0x5d1f, 0x5d1b,
    +    0x5d11, 0x5d14, 0x5d22, 0x5d1a, 0x5d19, 0x5d18, 0x5d4c, 0x5d52,
    +    0x5d4e, 0x5d4b, 0x5d6c, 0x5d73, 0x5d76, 0x5d87, 0x5d84, 0x5d82,
    +    0x5da2, 0x5d9d, 0x5dac, 0x5dae, 0x5dbd, 0x5d90, 0x5db7, 0x5dbc,
    +    0x5dc9, 0x5dcd, 0x5dd3, 0x5dd2, 0x5dd6, 0x5ddb, 0x5deb, 0x5df2,
    +    0x5df5, 0x5e0b, 0x5e1a, 0x5e19, 0x5e11, 0x5e1b, 0x5e36, 0x5e37,
    +    0x5e44, 0x5e43, 0x5e40, 0x5e4e, 0x5e57, 0x5e54, 0x5e5f, 0x5e62,
    +    0x5e64, 0x5e47, 0x5e75, 0x5e76, 0x5e7a, 0x9ebc, 0x5e7f, 0x5ea0,
    +    0x5ec1, 0x5ec2, 0x5ec8, 0x5ed0, 0x5ecf, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 9c */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5ed6, 0x5ee3, 0x5edd, 0x5eda, 0x5edb, 0x5ee2, 0x5ee1, 0x5ee8,
    +    0x5ee9, 0x5eec, 0x5ef1, 0x5ef3, 0x5ef0, 0x5ef4, 0x5ef8, 0x5efe,
    +    0x5f03, 0x5f09, 0x5f5d, 0x5f5c, 0x5f0b, 0x5f11, 0x5f16, 0x5f29,
    +    0x5f2d, 0x5f38, 0x5f41, 0x5f48, 0x5f4c, 0x5f4e, 0x5f2f, 0x5f51,
    +    0x5f56, 0x5f57, 0x5f59, 0x5f61, 0x5f6d, 0x5f73, 0x5f77, 0x5f83,
    +    0x5f82, 0x5f7f, 0x5f8a, 0x5f88, 0x5f91, 0x5f87, 0x5f9e, 0x5f99,
    +    0x5f98, 0x5fa0, 0x5fa8, 0x5fad, 0x5fbc, 0x5fd6, 0x5ffb, 0x5fe4,
    +    0x5ff8, 0x5ff1, 0x5fdd, 0x60b3, 0x5fff, 0x6021, 0x6060, 0x003f,
    +    0x6019, 0x6010, 0x6029, 0x600e, 0x6031, 0x601b, 0x6015, 0x602b,
    +    0x6026, 0x600f, 0x603a, 0x605a, 0x6041, 0x606a, 0x6077, 0x605f,
    +    0x604a, 0x6046, 0x604d, 0x6063, 0x6043, 0x6064, 0x6042, 0x606c,
    +    0x606b, 0x6059, 0x6081, 0x608d, 0x60e7, 0x6083, 0x609a, 0x6084,
    +    0x609b, 0x6096, 0x6097, 0x6092, 0x60a7, 0x608b, 0x60e1, 0x60b8,
    +    0x60e0, 0x60d3, 0x60b4, 0x5ff0, 0x60bd, 0x60c6, 0x60b5, 0x60d8,
    +    0x614d, 0x6115, 0x6106, 0x60f6, 0x60f7, 0x6100, 0x60f4, 0x60fa,
    +    0x6103, 0x6121, 0x60fb, 0x60f1, 0x610d, 0x610e, 0x6147, 0x613e,
    +    0x6128, 0x6127, 0x614a, 0x613f, 0x613c, 0x612c, 0x6134, 0x613d,
    +    0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159, 0x615a, 0x616b,
    +    0x6174, 0x616f, 0x6165, 0x6171, 0x615f, 0x615d, 0x6153, 0x6175,
    +    0x6199, 0x6196, 0x6187, 0x61ac, 0x6194, 0x619a, 0x618a, 0x6191,
    +    0x61ab, 0x61ae, 0x61cc, 0x61ca, 0x61c9, 0x61f7, 0x61c8, 0x61c3,
    +    0x61c6, 0x61ba, 0x61cb, 0x7f79, 0x61cd, 0x61e6, 0x61e3, 0x61f6,
    +    0x61fa, 0x61f4, 0x61ff, 0x61fd, 0x61fc, 0x61fe, 0x6200, 0x6208,
    +    0x6209, 0x620d, 0x620c, 0x6214, 0x621b, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 9d */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x621e, 0x6221, 0x622a, 0x622e, 0x6230, 0x6232, 0x6233, 0x6241,
    +    0x624e, 0x625e, 0x6263, 0x625b, 0x6260, 0x6268, 0x627c, 0x6282,
    +    0x6289, 0x627e, 0x6292, 0x6293, 0x6296, 0x62d4, 0x6283, 0x6294,
    +    0x62d7, 0x62d1, 0x62bb, 0x62cf, 0x62ff, 0x62c6, 0x64d4, 0x62c8,
    +    0x62dc, 0x62cc, 0x62ca, 0x62c2, 0x62c7, 0x629b, 0x62c9, 0x630c,
    +    0x62ee, 0x62f1, 0x6327, 0x6302, 0x6308, 0x62ef, 0x62f5, 0x6350,
    +    0x633e, 0x634d, 0x641c, 0x634f, 0x6396, 0x638e, 0x6380, 0x63ab,
    +    0x6376, 0x63a3, 0x638f, 0x6389, 0x639f, 0x63b5, 0x636b, 0x003f,
    +    0x6369, 0x63be, 0x63e9, 0x63c0, 0x63c6, 0x63e3, 0x63c9, 0x63d2,
    +    0x63f6, 0x63c4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436,
    +    0x651d, 0x6417, 0x6428, 0x640f, 0x6467, 0x646f, 0x6476, 0x644e,
    +    0x652a, 0x6495, 0x6493, 0x64a5, 0x64a9, 0x6488, 0x64bc, 0x64da,
    +    0x64d2, 0x64c5, 0x64c7, 0x64bb, 0x64d8, 0x64c2, 0x64f1, 0x64e7,
    +    0x8209, 0x64e0, 0x64e1, 0x62ac, 0x64e3, 0x64ef, 0x652c, 0x64f6,
    +    0x64f4, 0x64f2, 0x64fa, 0x6500, 0x64fd, 0x6518, 0x651c, 0x6505,
    +    0x6524, 0x6523, 0x652b, 0x6534, 0x6535, 0x6537, 0x6536, 0x6538,
    +    0x754b, 0x6548, 0x6556, 0x6555, 0x654d, 0x6558, 0x655e, 0x655d,
    +    0x6572, 0x6578, 0x6582, 0x6583, 0x8b8a, 0x659b, 0x659f, 0x65ab,
    +    0x65b7, 0x65c3, 0x65c6, 0x65c1, 0x65c4, 0x65cc, 0x65d2, 0x65db,
    +    0x65d9, 0x65e0, 0x65e1, 0x65f1, 0x6772, 0x660a, 0x6603, 0x65fb,
    +    0x6773, 0x6635, 0x6636, 0x6634, 0x661c, 0x664f, 0x6644, 0x6649,
    +    0x6641, 0x665e, 0x665d, 0x6664, 0x6667, 0x6668, 0x665f, 0x6662,
    +    0x6670, 0x6683, 0x6688, 0x668e, 0x6689, 0x6684, 0x6698, 0x669d,
    +    0x66c1, 0x66b9, 0x66c9, 0x66be, 0x66bc, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 9e */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x66c4, 0x66b8, 0x66d6, 0x66da, 0x66e0, 0x663f, 0x66e6, 0x66e9,
    +    0x66f0, 0x66f5, 0x66f7, 0x670f, 0x6716, 0x671e, 0x6726, 0x6727,
    +    0x9738, 0x672e, 0x673f, 0x6736, 0x6741, 0x6738, 0x6737, 0x6746,
    +    0x675e, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770, 0x67a9,
    +    0x677c, 0x676a, 0x678c, 0x678b, 0x67a6, 0x67a1, 0x6785, 0x67b7,
    +    0x67ef, 0x67b4, 0x67ec, 0x67b3, 0x67e9, 0x67b8, 0x67e4, 0x67de,
    +    0x67dd, 0x67e2, 0x67ee, 0x67b9, 0x67ce, 0x67c6, 0x67e7, 0x6a9c,
    +    0x681e, 0x6846, 0x6829, 0x6840, 0x684d, 0x6832, 0x684e, 0x003f,
    +    0x68b3, 0x682b, 0x6859, 0x6863, 0x6877, 0x687f, 0x689f, 0x688f,
    +    0x68ad, 0x6894, 0x689d, 0x689b, 0x6883, 0x6aae, 0x68b9, 0x6874,
    +    0x68b5, 0x68a0, 0x68ba, 0x690f, 0x688d, 0x687e, 0x6901, 0x68ca,
    +    0x6908, 0x68d8, 0x6922, 0x6926, 0x68e1, 0x690c, 0x68cd, 0x68d4,
    +    0x68e7, 0x68d5, 0x6936, 0x6912, 0x6904, 0x68d7, 0x68e3, 0x6925,
    +    0x68f9, 0x68e0, 0x68ef, 0x6928, 0x692a, 0x691a, 0x6923, 0x6921,
    +    0x68c6, 0x6979, 0x6977, 0x695c, 0x6978, 0x696b, 0x6954, 0x697e,
    +    0x696e, 0x6939, 0x6974, 0x693d, 0x6959, 0x6930, 0x6961, 0x695e,
    +    0x695d, 0x6981, 0x696a, 0x69b2, 0x69ae, 0x69d0, 0x69bf, 0x69c1,
    +    0x69d3, 0x69be, 0x69ce, 0x5be8, 0x69ca, 0x69dd, 0x69bb, 0x69c3,
    +    0x69a7, 0x6a2e, 0x6991, 0x69a0, 0x699c, 0x6995, 0x69b4, 0x69de,
    +    0x69e8, 0x6a02, 0x6a1b, 0x69ff, 0x6b0a, 0x69f9, 0x69f2, 0x69e7,
    +    0x6a05, 0x69b1, 0x6a1e, 0x69ed, 0x6a14, 0x69eb, 0x6a0a, 0x6a12,
    +    0x6ac1, 0x6a23, 0x6a13, 0x6a44, 0x6a0c, 0x6a72, 0x6a36, 0x6a78,
    +    0x6a47, 0x6a62, 0x6a59, 0x6a66, 0x6a48, 0x6a38, 0x6a22, 0x6a90,
    +    0x6a8d, 0x6aa0, 0x6a84, 0x6aa2, 0x6aa3, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 9f */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6a97, 0x8617, 0x6abb, 0x6ac3, 0x6ac2, 0x6ab8, 0x6ab3, 0x6aac,
    +    0x6ade, 0x6ad1, 0x6adf, 0x6aaa, 0x6ada, 0x6aea, 0x6afb, 0x6b05,
    +    0x8616, 0x6afa, 0x6b12, 0x6b16, 0x9b31, 0x6b1f, 0x6b38, 0x6b37,
    +    0x76dc, 0x6b39, 0x98ee, 0x6b47, 0x6b43, 0x6b49, 0x6b50, 0x6b59,
    +    0x6b54, 0x6b5b, 0x6b5f, 0x6b61, 0x6b78, 0x6b79, 0x6b7f, 0x6b80,
    +    0x6b84, 0x6b83, 0x6b8d, 0x6b98, 0x6b95, 0x6b9e, 0x6ba4, 0x6baa,
    +    0x6bab, 0x6baf, 0x6bb2, 0x6bb1, 0x6bb3, 0x6bb7, 0x6bbc, 0x6bc6,
    +    0x6bcb, 0x6bd3, 0x6bdf, 0x6bec, 0x6beb, 0x6bf3, 0x6bef, 0x003f,
    +    0x9ebe, 0x6c08, 0x6c13, 0x6c14, 0x6c1b, 0x6c24, 0x6c23, 0x6c5e,
    +    0x6c55, 0x6c62, 0x6c6a, 0x6c82, 0x6c8d, 0x6c9a, 0x6c81, 0x6c9b,
    +    0x6c7e, 0x6c68, 0x6c73, 0x6c92, 0x6c90, 0x6cc4, 0x6cf1, 0x6cd3,
    +    0x6cbd, 0x6cd7, 0x6cc5, 0x6cdd, 0x6cae, 0x6cb1, 0x6cbe, 0x6cba,
    +    0x6cdb, 0x6cef, 0x6cd9, 0x6cea, 0x6d1f, 0x884d, 0x6d36, 0x6d2b,
    +    0x6d3d, 0x6d38, 0x6d19, 0x6d35, 0x6d33, 0x6d12, 0x6d0c, 0x6d63,
    +    0x6d93, 0x6d64, 0x6d5a, 0x6d79, 0x6d59, 0x6d8e, 0x6d95, 0x6fe4,
    +    0x6d85, 0x6df9, 0x6e15, 0x6e0a, 0x6db5, 0x6dc7, 0x6de6, 0x6db8,
    +    0x6dc6, 0x6dec, 0x6dde, 0x6dcc, 0x6de8, 0x6dd2, 0x6dc5, 0x6dfa,
    +    0x6dd9, 0x6de4, 0x6dd5, 0x6dea, 0x6dee, 0x6e2d, 0x6e6e, 0x6e2e,
    +    0x6e19, 0x6e72, 0x6e5f, 0x6e3e, 0x6e23, 0x6e6b, 0x6e2b, 0x6e76,
    +    0x6e4d, 0x6e1f, 0x6e43, 0x6e3a, 0x6e4e, 0x6e24, 0x6eff, 0x6e1d,
    +    0x6e38, 0x6e82, 0x6eaa, 0x6e98, 0x6ec9, 0x6eb7, 0x6ed3, 0x6ebd,
    +    0x6eaf, 0x6ec4, 0x6eb2, 0x6ed4, 0x6ed5, 0x6e8f, 0x6ea5, 0x6ec2,
    +    0x6e9f, 0x6f41, 0x6f11, 0x704c, 0x6eec, 0x6ef8, 0x6efe, 0x6f3f,
    +    0x6ef2, 0x6f31, 0x6eef, 0x6f32, 0x6ecc, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6f3e, 0x6f13, 0x6ef7, 0x6f86, 0x6f7a, 0x6f78, 0x6f81, 0x6f80,
    +    0x6f6f, 0x6f5b, 0x6ff3, 0x6f6d, 0x6f82, 0x6f7c, 0x6f58, 0x6f8e,
    +    0x6f91, 0x6fc2, 0x6f66, 0x6fb3, 0x6fa3, 0x6fa1, 0x6fa4, 0x6fb9,
    +    0x6fc6, 0x6faa, 0x6fdf, 0x6fd5, 0x6fec, 0x6fd4, 0x6fd8, 0x6ff1,
    +    0x6fee, 0x6fdb, 0x7009, 0x700b, 0x6ffa, 0x7011, 0x7001, 0x700f,
    +    0x6ffe, 0x701b, 0x701a, 0x6f74, 0x701d, 0x7018, 0x701f, 0x7030,
    +    0x703e, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70af, 0x70f1,
    +    0x70ac, 0x70b8, 0x70b3, 0x70ae, 0x70df, 0x70cb, 0x70dd, 0x003f,
    +    0x70d9, 0x7109, 0x70fd, 0x711c, 0x7119, 0x7165, 0x7155, 0x7188,
    +    0x7166, 0x7162, 0x714c, 0x7156, 0x716c, 0x718f, 0x71fb, 0x7184,
    +    0x7195, 0x71a8, 0x71ac, 0x71d7, 0x71b9, 0x71be, 0x71d2, 0x71c9,
    +    0x71d4, 0x71ce, 0x71e0, 0x71ec, 0x71e7, 0x71f5, 0x71fc, 0x71f9,
    +    0x71ff, 0x720d, 0x7210, 0x721b, 0x7228, 0x722d, 0x722c, 0x7230,
    +    0x7232, 0x723b, 0x723c, 0x723f, 0x7240, 0x7246, 0x724b, 0x7258,
    +    0x7274, 0x727e, 0x7282, 0x7281, 0x7287, 0x7292, 0x7296, 0x72a2,
    +    0x72a7, 0x72b9, 0x72b2, 0x72c3, 0x72c6, 0x72c4, 0x72ce, 0x72d2,
    +    0x72e2, 0x72e0, 0x72e1, 0x72f9, 0x72f7, 0x500f, 0x7317, 0x730a,
    +    0x731c, 0x7316, 0x731d, 0x7334, 0x732f, 0x7329, 0x7325, 0x733e,
    +    0x734e, 0x734f, 0x9ed8, 0x7357, 0x736a, 0x7368, 0x7370, 0x7378,
    +    0x7375, 0x737b, 0x737a, 0x73c8, 0x73b3, 0x73ce, 0x73bb, 0x73c0,
    +    0x73e5, 0x73ee, 0x73de, 0x74a2, 0x7405, 0x746f, 0x7425, 0x73f8,
    +    0x7432, 0x743a, 0x7455, 0x743f, 0x745f, 0x7459, 0x7441, 0x745c,
    +    0x7469, 0x7470, 0x7463, 0x746a, 0x7476, 0x747e, 0x748b, 0x749e,
    +    0x74a7, 0x74ca, 0x74cf, 0x74d4, 0x73f1, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x74e0, 0x74e3, 0x74e7, 0x74e9, 0x74ee, 0x74f2, 0x74f0, 0x74f1,
    +    0x74f8, 0x74f7, 0x7504, 0x7503, 0x7505, 0x750c, 0x750e, 0x750d,
    +    0x7515, 0x7513, 0x751e, 0x7526, 0x752c, 0x753c, 0x7544, 0x754d,
    +    0x754a, 0x7549, 0x755b, 0x7546, 0x755a, 0x7569, 0x7564, 0x7567,
    +    0x756b, 0x756d, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574, 0x758a,
    +    0x7589, 0x7582, 0x7594, 0x759a, 0x759d, 0x75a5, 0x75a3, 0x75c2,
    +    0x75b3, 0x75c3, 0x75b5, 0x75bd, 0x75b8, 0x75bc, 0x75b1, 0x75cd,
    +    0x75ca, 0x75d2, 0x75d9, 0x75e3, 0x75de, 0x75fe, 0x75ff, 0x003f,
    +    0x75fc, 0x7601, 0x75f0, 0x75fa, 0x75f2, 0x75f3, 0x760b, 0x760d,
    +    0x7609, 0x761f, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634,
    +    0x7630, 0x763b, 0x7647, 0x7648, 0x7646, 0x765c, 0x7658, 0x7661,
    +    0x7662, 0x7668, 0x7669, 0x766a, 0x7667, 0x766c, 0x7670, 0x7672,
    +    0x7676, 0x7678, 0x767c, 0x7680, 0x7683, 0x7688, 0x768b, 0x768e,
    +    0x7696, 0x7693, 0x7699, 0x769a, 0x76b0, 0x76b4, 0x76b8, 0x76b9,
    +    0x76ba, 0x76c2, 0x76cd, 0x76d6, 0x76d2, 0x76de, 0x76e1, 0x76e5,
    +    0x76e7, 0x76ea, 0x862f, 0x76fb, 0x7708, 0x7707, 0x7704, 0x7729,
    +    0x7724, 0x771e, 0x7725, 0x7726, 0x771b, 0x7737, 0x7738, 0x7747,
    +    0x775a, 0x7768, 0x776b, 0x775b, 0x7765, 0x777f, 0x777e, 0x7779,
    +    0x778e, 0x778b, 0x7791, 0x77a0, 0x779e, 0x77b0, 0x77b6, 0x77b9,
    +    0x77bf, 0x77bc, 0x77bd, 0x77bb, 0x77c7, 0x77cd, 0x77d7, 0x77da,
    +    0x77dc, 0x77e3, 0x77ee, 0x77fc, 0x780c, 0x7812, 0x7926, 0x7820,
    +    0x792a, 0x7845, 0x788e, 0x7874, 0x7886, 0x787c, 0x789a, 0x788c,
    +    0x78a3, 0x78b5, 0x78aa, 0x78af, 0x78d1, 0x78c6, 0x78cb, 0x78d4,
    +    0x78be, 0x78bc, 0x78c5, 0x78ca, 0x78ec, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x78e7, 0x78da, 0x78fd, 0x78f4, 0x7907, 0x7912, 0x7911, 0x7919,
    +    0x792c, 0x792b, 0x7940, 0x7960, 0x7957, 0x795f, 0x795a, 0x7955,
    +    0x7953, 0x797a, 0x797f, 0x798a, 0x799d, 0x79a7, 0x9f4b, 0x79aa,
    +    0x79ae, 0x79b3, 0x79b9, 0x79ba, 0x79c9, 0x79d5, 0x79e7, 0x79ec,
    +    0x79e1, 0x79e3, 0x7a08, 0x7a0d, 0x7a18, 0x7a19, 0x7a20, 0x7a1f,
    +    0x7980, 0x7a31, 0x7a3b, 0x7a3e, 0x7a37, 0x7a43, 0x7a57, 0x7a49,
    +    0x7a61, 0x7a62, 0x7a69, 0x9f9d, 0x7a70, 0x7a79, 0x7a7d, 0x7a88,
    +    0x7a97, 0x7a95, 0x7a98, 0x7a96, 0x7aa9, 0x7ac8, 0x7ab0, 0x003f,
    +    0x7ab6, 0x7ac5, 0x7ac4, 0x7abf, 0x9083, 0x7ac7, 0x7aca, 0x7acd,
    +    0x7acf, 0x7ad5, 0x7ad3, 0x7ad9, 0x7ada, 0x7add, 0x7ae1, 0x7ae2,
    +    0x7ae6, 0x7aed, 0x7af0, 0x7b02, 0x7b0f, 0x7b0a, 0x7b06, 0x7b33,
    +    0x7b18, 0x7b19, 0x7b1e, 0x7b35, 0x7b28, 0x7b36, 0x7b50, 0x7b7a,
    +    0x7b04, 0x7b4d, 0x7b0b, 0x7b4c, 0x7b45, 0x7b75, 0x7b65, 0x7b74,
    +    0x7b67, 0x7b70, 0x7b71, 0x7b6c, 0x7b6e, 0x7b9d, 0x7b98, 0x7b9f,
    +    0x7b8d, 0x7b9c, 0x7b9a, 0x7b8b, 0x7b92, 0x7b8f, 0x7b5d, 0x7b99,
    +    0x7bcb, 0x7bc1, 0x7bcc, 0x7bcf, 0x7bb4, 0x7bc6, 0x7bdd, 0x7be9,
    +    0x7c11, 0x7c14, 0x7be6, 0x7be5, 0x7c60, 0x7c00, 0x7c07, 0x7c13,
    +    0x7bf3, 0x7bf7, 0x7c17, 0x7c0d, 0x7bf6, 0x7c23, 0x7c27, 0x7c2a,
    +    0x7c1f, 0x7c37, 0x7c2b, 0x7c3d, 0x7c4c, 0x7c43, 0x7c54, 0x7c4f,
    +    0x7c40, 0x7c50, 0x7c58, 0x7c5f, 0x7c64, 0x7c56, 0x7c65, 0x7c6c,
    +    0x7c75, 0x7c83, 0x7c90, 0x7ca4, 0x7cad, 0x7ca2, 0x7cab, 0x7ca1,
    +    0x7ca8, 0x7cb3, 0x7cb2, 0x7cb1, 0x7cae, 0x7cb9, 0x7cbd, 0x7cc0,
    +    0x7cc5, 0x7cc2, 0x7cd8, 0x7cd2, 0x7cdc, 0x7ce2, 0x9b3b, 0x7cef,
    +    0x7cf2, 0x7cf4, 0x7cf6, 0x7cfa, 0x7d06, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7d02, 0x7d1c, 0x7d15, 0x7d0a, 0x7d45, 0x7d4b, 0x7d2e, 0x7d32,
    +    0x7d3f, 0x7d35, 0x7d46, 0x7d73, 0x7d56, 0x7d4e, 0x7d72, 0x7d68,
    +    0x7d6e, 0x7d4f, 0x7d63, 0x7d93, 0x7d89, 0x7d5b, 0x7d8f, 0x7d7d,
    +    0x7d9b, 0x7dba, 0x7dae, 0x7da3, 0x7db5, 0x7dc7, 0x7dbd, 0x7dab,
    +    0x7e3d, 0x7da2, 0x7daf, 0x7ddc, 0x7db8, 0x7d9f, 0x7db0, 0x7dd8,
    +    0x7ddd, 0x7de4, 0x7dde, 0x7dfb, 0x7df2, 0x7de1, 0x7e05, 0x7e0a,
    +    0x7e23, 0x7e21, 0x7e12, 0x7e31, 0x7e1f, 0x7e09, 0x7e0b, 0x7e22,
    +    0x7e46, 0x7e66, 0x7e3b, 0x7e35, 0x7e39, 0x7e43, 0x7e37, 0x003f,
    +    0x7e32, 0x7e3a, 0x7e67, 0x7e5d, 0x7e56, 0x7e5e, 0x7e59, 0x7e5a,
    +    0x7e79, 0x7e6a, 0x7e69, 0x7e7c, 0x7e7b, 0x7e83, 0x7dd5, 0x7e7d,
    +    0x8fae, 0x7e7f, 0x7e88, 0x7e89, 0x7e8c, 0x7e92, 0x7e90, 0x7e93,
    +    0x7e94, 0x7e96, 0x7e8e, 0x7e9b, 0x7e9c, 0x7f38, 0x7f3a, 0x7f45,
    +    0x7f4c, 0x7f4d, 0x7f4e, 0x7f50, 0x7f51, 0x7f55, 0x7f54, 0x7f58,
    +    0x7f5f, 0x7f60, 0x7f68, 0x7f69, 0x7f67, 0x7f78, 0x7f82, 0x7f86,
    +    0x7f83, 0x7f88, 0x7f87, 0x7f8c, 0x7f94, 0x7f9e, 0x7f9d, 0x7f9a,
    +    0x7fa3, 0x7faf, 0x7fb2, 0x7fb9, 0x7fae, 0x7fb6, 0x7fb8, 0x8b71,
    +    0x7fc5, 0x7fc6, 0x7fca, 0x7fd5, 0x7fd4, 0x7fe1, 0x7fe6, 0x7fe9,
    +    0x7ff3, 0x7ff9, 0x98dc, 0x8006, 0x8004, 0x800b, 0x8012, 0x8018,
    +    0x8019, 0x801c, 0x8021, 0x8028, 0x803f, 0x803b, 0x804a, 0x8046,
    +    0x8052, 0x8058, 0x805a, 0x805f, 0x8062, 0x8068, 0x8073, 0x8072,
    +    0x8070, 0x8076, 0x8079, 0x807d, 0x807f, 0x8084, 0x8086, 0x8085,
    +    0x809b, 0x8093, 0x809a, 0x80ad, 0x5190, 0x80ac, 0x80db, 0x80e5,
    +    0x80d9, 0x80dd, 0x80c4, 0x80da, 0x80d6, 0x8109, 0x80ef, 0x80f1,
    +    0x811b, 0x8129, 0x8123, 0x812f, 0x814b, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x968b, 0x8146, 0x813e, 0x8153, 0x8151, 0x80fc, 0x8171, 0x816e,
    +    0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818a, 0x8180, 0x8182,
    +    0x81a0, 0x8195, 0x81a4, 0x81a3, 0x815f, 0x8193, 0x81a9, 0x81b0,
    +    0x81b5, 0x81be, 0x81b8, 0x81bd, 0x81c0, 0x81c2, 0x81ba, 0x81c9,
    +    0x81cd, 0x81d1, 0x81d9, 0x81d8, 0x81c8, 0x81da, 0x81df, 0x81e0,
    +    0x81e7, 0x81fa, 0x81fb, 0x81fe, 0x8201, 0x8202, 0x8205, 0x8207,
    +    0x820a, 0x820d, 0x8210, 0x8216, 0x8229, 0x822b, 0x8238, 0x8233,
    +    0x8240, 0x8259, 0x8258, 0x825d, 0x825a, 0x825f, 0x8264, 0x003f,
    +    0x8262, 0x8268, 0x826a, 0x826b, 0x822e, 0x8271, 0x8277, 0x8278,
    +    0x827e, 0x828d, 0x8292, 0x82ab, 0x829f, 0x82bb, 0x82ac, 0x82e1,
    +    0x82e3, 0x82df, 0x82d2, 0x82f4, 0x82f3, 0x82fa, 0x8393, 0x8303,
    +    0x82fb, 0x82f9, 0x82de, 0x8306, 0x82dc, 0x8309, 0x82d9, 0x8335,
    +    0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339, 0x8350, 0x8345,
    +    0x832f, 0x832b, 0x8317, 0x8318, 0x8385, 0x839a, 0x83aa, 0x839f,
    +    0x83a2, 0x8396, 0x8323, 0x838e, 0x8387, 0x838a, 0x837c, 0x83b5,
    +    0x8373, 0x8375, 0x83a0, 0x8389, 0x83a8, 0x83f4, 0x8413, 0x83eb,
    +    0x83ce, 0x83fd, 0x8403, 0x83d8, 0x840b, 0x83c1, 0x83f7, 0x8407,
    +    0x83e0, 0x83f2, 0x840d, 0x8422, 0x8420, 0x83bd, 0x8438, 0x8506,
    +    0x83fb, 0x846d, 0x842a, 0x843c, 0x855a, 0x8484, 0x8477, 0x846b,
    +    0x84ad, 0x846e, 0x8482, 0x8469, 0x8446, 0x842c, 0x846f, 0x8479,
    +    0x8435, 0x84ca, 0x8462, 0x84b9, 0x84bf, 0x849f, 0x84d9, 0x84cd,
    +    0x84bb, 0x84da, 0x84d0, 0x84c1, 0x84c6, 0x84d6, 0x84a1, 0x8521,
    +    0x84ff, 0x84f4, 0x8517, 0x8518, 0x852c, 0x851f, 0x8515, 0x8514,
    +    0x84fc, 0x8540, 0x8563, 0x8558, 0x8548, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8541, 0x8602, 0x854b, 0x8555, 0x8580, 0x85a4, 0x8588, 0x8591,
    +    0x858a, 0x85a8, 0x856d, 0x8594, 0x859b, 0x85ea, 0x8587, 0x859c,
    +    0x8577, 0x857e, 0x8590, 0x85c9, 0x85ba, 0x85cf, 0x85b9, 0x85d0,
    +    0x85d5, 0x85dd, 0x85e5, 0x85dc, 0x85f9, 0x860a, 0x8613, 0x860b,
    +    0x85fe, 0x85fa, 0x8606, 0x8622, 0x861a, 0x8630, 0x863f, 0x864d,
    +    0x4e55, 0x8654, 0x865f, 0x8667, 0x8671, 0x8693, 0x86a3, 0x86a9,
    +    0x86aa, 0x868b, 0x868c, 0x86b6, 0x86af, 0x86c4, 0x86c6, 0x86b0,
    +    0x86c9, 0x8823, 0x86ab, 0x86d4, 0x86de, 0x86e9, 0x86ec, 0x003f,
    +    0x86df, 0x86db, 0x86ef, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703,
    +    0x86fb, 0x8711, 0x8709, 0x870d, 0x86f9, 0x870a, 0x8734, 0x873f,
    +    0x8737, 0x873b, 0x8725, 0x8729, 0x871a, 0x8760, 0x875f, 0x8778,
    +    0x874c, 0x874e, 0x8774, 0x8757, 0x8768, 0x876e, 0x8759, 0x8753,
    +    0x8763, 0x876a, 0x8805, 0x87a2, 0x879f, 0x8782, 0x87af, 0x87cb,
    +    0x87bd, 0x87c0, 0x87d0, 0x96d6, 0x87ab, 0x87c4, 0x87b3, 0x87c7,
    +    0x87c6, 0x87bb, 0x87ef, 0x87f2, 0x87e0, 0x880f, 0x880d, 0x87fe,
    +    0x87f6, 0x87f7, 0x880e, 0x87d2, 0x8811, 0x8816, 0x8815, 0x8822,
    +    0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883b, 0x8844, 0x8842,
    +    0x8852, 0x8859, 0x885e, 0x8862, 0x886b, 0x8881, 0x887e, 0x889e,
    +    0x8875, 0x887d, 0x88b5, 0x8872, 0x8882, 0x8897, 0x8892, 0x88ae,
    +    0x8899, 0x88a2, 0x888d, 0x88a4, 0x88b0, 0x88bf, 0x88b1, 0x88c3,
    +    0x88c4, 0x88d4, 0x88d8, 0x88d9, 0x88dd, 0x88f9, 0x8902, 0x88fc,
    +    0x88f4, 0x88e8, 0x88f2, 0x8904, 0x890c, 0x890a, 0x8913, 0x8943,
    +    0x891e, 0x8925, 0x892a, 0x892b, 0x8941, 0x8944, 0x893b, 0x8936,
    +    0x8938, 0x894c, 0x891d, 0x8960, 0x895e, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8966, 0x8964, 0x896d, 0x896a, 0x896f, 0x8974, 0x8977, 0x897e,
    +    0x8983, 0x8988, 0x898a, 0x8993, 0x8998, 0x89a1, 0x89a9, 0x89a6,
    +    0x89ac, 0x89af, 0x89b2, 0x89ba, 0x89bd, 0x89bf, 0x89c0, 0x89da,
    +    0x89dc, 0x89dd, 0x89e7, 0x89f4, 0x89f8, 0x8a03, 0x8a16, 0x8a10,
    +    0x8a0c, 0x8a1b, 0x8a1d, 0x8a25, 0x8a36, 0x8a41, 0x8a5b, 0x8a52,
    +    0x8a46, 0x8a48, 0x8a7c, 0x8a6d, 0x8a6c, 0x8a62, 0x8a85, 0x8a82,
    +    0x8a84, 0x8aa8, 0x8aa1, 0x8a91, 0x8aa5, 0x8aa6, 0x8a9a, 0x8aa3,
    +    0x8ac4, 0x8acd, 0x8ac2, 0x8ada, 0x8aeb, 0x8af3, 0x8ae7, 0x003f,
    +    0x8ae4, 0x8af1, 0x8b14, 0x8ae0, 0x8ae2, 0x8af7, 0x8ade, 0x8adb,
    +    0x8b0c, 0x8b07, 0x8b1a, 0x8ae1, 0x8b16, 0x8b10, 0x8b17, 0x8b20,
    +    0x8b33, 0x97ab, 0x8b26, 0x8b2b, 0x8b3e, 0x8b28, 0x8b41, 0x8b4c,
    +    0x8b4f, 0x8b4e, 0x8b49, 0x8b56, 0x8b5b, 0x8b5a, 0x8b6b, 0x8b5f,
    +    0x8b6c, 0x8b6f, 0x8b74, 0x8b7d, 0x8b80, 0x8b8c, 0x8b8e, 0x8b92,
    +    0x8b93, 0x8b96, 0x8b99, 0x8b9a, 0x8c3a, 0x8c41, 0x8c3f, 0x8c48,
    +    0x8c4c, 0x8c4e, 0x8c50, 0x8c55, 0x8c62, 0x8c6c, 0x8c78, 0x8c7a,
    +    0x8c82, 0x8c89, 0x8c85, 0x8c8a, 0x8c8d, 0x8c8e, 0x8c94, 0x8c7c,
    +    0x8c98, 0x621d, 0x8cad, 0x8caa, 0x8cbd, 0x8cb2, 0x8cb3, 0x8cae,
    +    0x8cb6, 0x8cc8, 0x8cc1, 0x8ce4, 0x8ce3, 0x8cda, 0x8cfd, 0x8cfa,
    +    0x8cfb, 0x8d04, 0x8d05, 0x8d0a, 0x8d07, 0x8d0f, 0x8d0d, 0x8d10,
    +    0x9f4e, 0x8d13, 0x8ccd, 0x8d14, 0x8d16, 0x8d67, 0x8d6d, 0x8d71,
    +    0x8d73, 0x8d81, 0x8d99, 0x8dc2, 0x8dbe, 0x8dba, 0x8dcf, 0x8dda,
    +    0x8dd6, 0x8dcc, 0x8ddb, 0x8dcb, 0x8dea, 0x8deb, 0x8ddf, 0x8de3,
    +    0x8dfc, 0x8e08, 0x8e09, 0x8dff, 0x8e1d, 0x8e1e, 0x8e10, 0x8e1f,
    +    0x8e42, 0x8e35, 0x8e30, 0x8e34, 0x8e4a, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8e47, 0x8e49, 0x8e4c, 0x8e50, 0x8e48, 0x8e59, 0x8e64, 0x8e60,
    +    0x8e2a, 0x8e63, 0x8e55, 0x8e76, 0x8e72, 0x8e7c, 0x8e81, 0x8e87,
    +    0x8e85, 0x8e84, 0x8e8b, 0x8e8a, 0x8e93, 0x8e91, 0x8e94, 0x8e99,
    +    0x8eaa, 0x8ea1, 0x8eac, 0x8eb0, 0x8ec6, 0x8eb1, 0x8ebe, 0x8ec5,
    +    0x8ec8, 0x8ecb, 0x8edb, 0x8ee3, 0x8efc, 0x8efb, 0x8eeb, 0x8efe,
    +    0x8f0a, 0x8f05, 0x8f15, 0x8f12, 0x8f19, 0x8f13, 0x8f1c, 0x8f1f,
    +    0x8f1b, 0x8f0c, 0x8f26, 0x8f33, 0x8f3b, 0x8f39, 0x8f45, 0x8f42,
    +    0x8f3e, 0x8f4c, 0x8f49, 0x8f46, 0x8f4e, 0x8f57, 0x8f5c, 0x003f,
    +    0x8f62, 0x8f63, 0x8f64, 0x8f9c, 0x8f9f, 0x8fa3, 0x8fad, 0x8faf,
    +    0x8fb7, 0x8fda, 0x8fe5, 0x8fe2, 0x8fea, 0x8fef, 0x9087, 0x8ff4,
    +    0x9005, 0x8ff9, 0x8ffa, 0x9011, 0x9015, 0x9021, 0x900d, 0x901e,
    +    0x9016, 0x900b, 0x9027, 0x9036, 0x9035, 0x9039, 0x8ff8, 0x904f,
    +    0x9050, 0x9051, 0x9052, 0x900e, 0x9049, 0x903e, 0x9056, 0x9058,
    +    0x905e, 0x9068, 0x906f, 0x9076, 0x96a8, 0x9072, 0x9082, 0x907d,
    +    0x9081, 0x9080, 0x908a, 0x9089, 0x908f, 0x90a8, 0x90af, 0x90b1,
    +    0x90b5, 0x90e2, 0x90e4, 0x6248, 0x90db, 0x9102, 0x9112, 0x9119,
    +    0x9132, 0x9130, 0x914a, 0x9156, 0x9158, 0x9163, 0x9165, 0x9169,
    +    0x9173, 0x9172, 0x918b, 0x9189, 0x9182, 0x91a2, 0x91ab, 0x91af,
    +    0x91aa, 0x91b5, 0x91b4, 0x91ba, 0x91c0, 0x91c1, 0x91c9, 0x91cb,
    +    0x91d0, 0x91d6, 0x91df, 0x91e1, 0x91db, 0x91fc, 0x91f5, 0x91f6,
    +    0x921e, 0x91ff, 0x9214, 0x922c, 0x9215, 0x9211, 0x925e, 0x9257,
    +    0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923f, 0x924b, 0x9250,
    +    0x929c, 0x9296, 0x9293, 0x929b, 0x925a, 0x92cf, 0x92b9, 0x92b7,
    +    0x92e9, 0x930f, 0x92fa, 0x9344, 0x932e, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9319, 0x9322, 0x931a, 0x9323, 0x933a, 0x9335, 0x933b, 0x935c,
    +    0x9360, 0x937c, 0x936e, 0x9356, 0x93b0, 0x93ac, 0x93ad, 0x9394,
    +    0x93b9, 0x93d6, 0x93d7, 0x93e8, 0x93e5, 0x93d8, 0x93c3, 0x93dd,
    +    0x93d0, 0x93c8, 0x93e4, 0x941a, 0x9414, 0x9413, 0x9403, 0x9407,
    +    0x9410, 0x9436, 0x942b, 0x9435, 0x9421, 0x943a, 0x9441, 0x9452,
    +    0x9444, 0x945b, 0x9460, 0x9462, 0x945e, 0x946a, 0x9229, 0x9470,
    +    0x9475, 0x9477, 0x947d, 0x945a, 0x947c, 0x947e, 0x9481, 0x947f,
    +    0x9582, 0x9587, 0x958a, 0x9594, 0x9596, 0x9598, 0x9599, 0x003f,
    +    0x95a0, 0x95a8, 0x95a7, 0x95ad, 0x95bc, 0x95bb, 0x95b9, 0x95be,
    +    0x95ca, 0x6ff6, 0x95c3, 0x95cd, 0x95cc, 0x95d5, 0x95d4, 0x95d6,
    +    0x95dc, 0x95e1, 0x95e5, 0x95e2, 0x9621, 0x9628, 0x962e, 0x962f,
    +    0x9642, 0x964c, 0x964f, 0x964b, 0x9677, 0x965c, 0x965e, 0x965d,
    +    0x965f, 0x9666, 0x9672, 0x966c, 0x968d, 0x9698, 0x9695, 0x9697,
    +    0x96aa, 0x96a7, 0x96b1, 0x96b2, 0x96b0, 0x96b4, 0x96b6, 0x96b8,
    +    0x96b9, 0x96ce, 0x96cb, 0x96c9, 0x96cd, 0x894d, 0x96dc, 0x970d,
    +    0x96d5, 0x96f9, 0x9704, 0x9706, 0x9708, 0x9713, 0x970e, 0x9711,
    +    0x970f, 0x9716, 0x9719, 0x9724, 0x972a, 0x9730, 0x9739, 0x973d,
    +    0x973e, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749, 0x975c, 0x9760,
    +    0x9764, 0x9766, 0x9768, 0x52d2, 0x976b, 0x9771, 0x9779, 0x9785,
    +    0x977c, 0x9781, 0x977a, 0x9786, 0x978b, 0x978f, 0x9790, 0x979c,
    +    0x97a8, 0x97a6, 0x97a3, 0x97b3, 0x97b4, 0x97c3, 0x97c6, 0x97c8,
    +    0x97cb, 0x97dc, 0x97ed, 0x9f4f, 0x97f2, 0x7adf, 0x97f6, 0x97f5,
    +    0x980f, 0x980c, 0x9838, 0x9824, 0x9821, 0x9837, 0x983d, 0x9846,
    +    0x984f, 0x984b, 0x986b, 0x986f, 0x9870, 0x003f, 0x003f, 0x003f,
    +    /* lead byte e9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9871, 0x9874, 0x9873, 0x98aa, 0x98af, 0x98b1, 0x98b6, 0x98c4,
    +    0x98c3, 0x98c6, 0x98e9, 0x98eb, 0x9903, 0x9909, 0x9912, 0x9914,
    +    0x9918, 0x9921, 0x991d, 0x991e, 0x9924, 0x9920, 0x992c, 0x992e,
    +    0x993d, 0x993e, 0x9942, 0x9949, 0x9945, 0x9950, 0x994b, 0x9951,
    +    0x9952, 0x994c, 0x9955, 0x9997, 0x9998, 0x99a5, 0x99ad, 0x99ae,
    +    0x99bc, 0x99df, 0x99db, 0x99dd, 0x99d8, 0x99d1, 0x99ed, 0x99ee,
    +    0x99f1, 0x99f2, 0x99fb, 0x99f8, 0x9a01, 0x9a0f, 0x9a05, 0x99e2,
    +    0x9a19, 0x9a2b, 0x9a37, 0x9a45, 0x9a42, 0x9a40, 0x9a43, 0x003f,
    +    0x9a3e, 0x9a55, 0x9a4d, 0x9a5b, 0x9a57, 0x9a5f, 0x9a62, 0x9a65,
    +    0x9a64, 0x9a69, 0x9a6b, 0x9a6a, 0x9aad, 0x9ab0, 0x9abc, 0x9ac0,
    +    0x9acf, 0x9ad1, 0x9ad3, 0x9ad4, 0x9ade, 0x9adf, 0x9ae2, 0x9ae3,
    +    0x9ae6, 0x9aef, 0x9aeb, 0x9aee, 0x9af4, 0x9af1, 0x9af7, 0x9afb,
    +    0x9b06, 0x9b18, 0x9b1a, 0x9b1f, 0x9b22, 0x9b23, 0x9b25, 0x9b27,
    +    0x9b28, 0x9b29, 0x9b2a, 0x9b2e, 0x9b2f, 0x9b32, 0x9b44, 0x9b43,
    +    0x9b4f, 0x9b4d, 0x9b4e, 0x9b51, 0x9b58, 0x9b74, 0x9b93, 0x9b83,
    +    0x9b91, 0x9b96, 0x9b97, 0x9b9f, 0x9ba0, 0x9ba8, 0x9bb4, 0x9bc0,
    +    0x9bca, 0x9bb9, 0x9bc6, 0x9bcf, 0x9bd1, 0x9bd2, 0x9be3, 0x9be2,
    +    0x9be4, 0x9bd4, 0x9be1, 0x9c3a, 0x9bf2, 0x9bf1, 0x9bf0, 0x9c15,
    +    0x9c14, 0x9c09, 0x9c13, 0x9c0c, 0x9c06, 0x9c08, 0x9c12, 0x9c0a,
    +    0x9c04, 0x9c2e, 0x9c1b, 0x9c25, 0x9c24, 0x9c21, 0x9c30, 0x9c47,
    +    0x9c32, 0x9c46, 0x9c3e, 0x9c5a, 0x9c60, 0x9c67, 0x9c76, 0x9c78,
    +    0x9ce7, 0x9cec, 0x9cf0, 0x9d09, 0x9d08, 0x9ceb, 0x9d03, 0x9d06,
    +    0x9d2a, 0x9d26, 0x9daf, 0x9d23, 0x9d1f, 0x9d44, 0x9d15, 0x9d12,
    +    0x9d41, 0x9d3f, 0x9d3e, 0x9d46, 0x9d48, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ea */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9d5d, 0x9d5e, 0x9d64, 0x9d51, 0x9d50, 0x9d59, 0x9d72, 0x9d89,
    +    0x9d87, 0x9dab, 0x9d6f, 0x9d7a, 0x9d9a, 0x9da4, 0x9da9, 0x9db2,
    +    0x9dc4, 0x9dc1, 0x9dbb, 0x9db8, 0x9dba, 0x9dc6, 0x9dcf, 0x9dc2,
    +    0x9dd9, 0x9dd3, 0x9df8, 0x9de6, 0x9ded, 0x9def, 0x9dfd, 0x9e1a,
    +    0x9e1b, 0x9e1e, 0x9e75, 0x9e79, 0x9e7d, 0x9e81, 0x9e88, 0x9e8b,
    +    0x9e8c, 0x9e92, 0x9e95, 0x9e91, 0x9e9d, 0x9ea5, 0x9ea9, 0x9eb8,
    +    0x9eaa, 0x9ead, 0x9761, 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0, 0x9ed4,
    +    0x9edc, 0x9ede, 0x9edd, 0x9ee0, 0x9ee5, 0x9ee8, 0x9eef, 0x003f,
    +    0x9ef4, 0x9ef6, 0x9ef7, 0x9ef9, 0x9efb, 0x9efc, 0x9efd, 0x9f07,
    +    0x9f08, 0x76b7, 0x9f15, 0x9f21, 0x9f2c, 0x9f3e, 0x9f4a, 0x9f52,
    +    0x9f54, 0x9f63, 0x9f5f, 0x9f60, 0x9f61, 0x9f66, 0x9f67, 0x9f6c,
    +    0x9f6a, 0x9f77, 0x9f72, 0x9f76, 0x9f95, 0x9f9c, 0x9fa0, 0x582f,
    +    0x69c7, 0x9059, 0x7464, 0x51dc, 0x7199, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ed */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7e8a, 0x891c, 0x9348, 0x9288, 0x84dc, 0x4fc9, 0x70bb, 0x6631,
    +    0x68c8, 0x92f9, 0x66fb, 0x5f45, 0x4e28, 0x4ee1, 0x4efc, 0x4f00,
    +    0x4f03, 0x4f39, 0x4f56, 0x4f92, 0x4f8a, 0x4f9a, 0x4f94, 0x4fcd,
    +    0x5040, 0x5022, 0x4fff, 0x501e, 0x5046, 0x5070, 0x5042, 0x5094,
    +    0x50f4, 0x50d8, 0x514a, 0x5164, 0x519d, 0x51be, 0x51ec, 0x5215,
    +    0x529c, 0x52a6, 0x52c0, 0x52db, 0x5300, 0x5307, 0x5324, 0x5372,
    +    0x5393, 0x53b2, 0x53dd, 0xfa0e, 0x549c, 0x548a, 0x54a9, 0x54ff,
    +    0x5586, 0x5759, 0x5765, 0x57ac, 0x57c8, 0x57c7, 0xfa0f, 0x003f,
    +    0xfa10, 0x589e, 0x58b2, 0x590b, 0x5953, 0x595b, 0x595d, 0x5963,
    +    0x59a4, 0x59ba, 0x5b56, 0x5bc0, 0x752f, 0x5bd8, 0x5bec, 0x5c1e,
    +    0x5ca6, 0x5cba, 0x5cf5, 0x5d27, 0x5d53, 0xfa11, 0x5d42, 0x5d6d,
    +    0x5db8, 0x5db9, 0x5dd0, 0x5f21, 0x5f34, 0x5f67, 0x5fb7, 0x5fde,
    +    0x605d, 0x6085, 0x608a, 0x60de, 0x60d5, 0x6120, 0x60f2, 0x6111,
    +    0x6137, 0x6130, 0x6198, 0x6213, 0x62a6, 0x63f5, 0x6460, 0x649d,
    +    0x64ce, 0x654e, 0x6600, 0x6615, 0x663b, 0x6609, 0x662e, 0x661e,
    +    0x6624, 0x6665, 0x6657, 0x6659, 0xfa12, 0x6673, 0x6699, 0x66a0,
    +    0x66b2, 0x66bf, 0x66fa, 0x670e, 0xf929, 0x6766, 0x67bb, 0x6852,
    +    0x67c0, 0x6801, 0x6844, 0x68cf, 0xfa13, 0x6968, 0xfa14, 0x6998,
    +    0x69e2, 0x6a30, 0x6a6b, 0x6a46, 0x6a73, 0x6a7e, 0x6ae2, 0x6ae4,
    +    0x6bd6, 0x6c3f, 0x6c5c, 0x6c86, 0x6c6f, 0x6cda, 0x6d04, 0x6d87,
    +    0x6d6f, 0x6d96, 0x6dac, 0x6dcf, 0x6df8, 0x6df2, 0x6dfc, 0x6e39,
    +    0x6e5c, 0x6e27, 0x6e3c, 0x6ebf, 0x6f88, 0x6fb5, 0x6ff5, 0x7005,
    +    0x7007, 0x7028, 0x7085, 0x70ab, 0x710f, 0x7104, 0x715c, 0x7146,
    +    0x7147, 0xfa15, 0x71c1, 0x71fe, 0x72b1, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ee */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x72be, 0x7324, 0xfa16, 0x7377, 0x73bd, 0x73c9, 0x73d6, 0x73e3,
    +    0x73d2, 0x7407, 0x73f5, 0x7426, 0x742a, 0x7429, 0x742e, 0x7462,
    +    0x7489, 0x749f, 0x7501, 0x756f, 0x7682, 0x769c, 0x769e, 0x769b,
    +    0x76a6, 0xfa17, 0x7746, 0x52af, 0x7821, 0x784e, 0x7864, 0x787a,
    +    0x7930, 0xfa18, 0xfa19, 0xfa1a, 0x7994, 0xfa1b, 0x799b, 0x7ad1,
    +    0x7ae7, 0xfa1c, 0x7aeb, 0x7b9e, 0xfa1d, 0x7d48, 0x7d5c, 0x7db7,
    +    0x7da0, 0x7dd6, 0x7e52, 0x7f47, 0x7fa1, 0xfa1e, 0x8301, 0x8362,
    +    0x837f, 0x83c7, 0x83f6, 0x8448, 0x84b4, 0x8553, 0x8559, 0x003f,
    +    0x856b, 0xfa1f, 0x85b0, 0xfa20, 0xfa21, 0x8807, 0x88f5, 0x8a12,
    +    0x8a37, 0x8a79, 0x8aa7, 0x8abe, 0x8adf, 0xfa22, 0x8af6, 0x8b53,
    +    0x8b7f, 0x8cf0, 0x8cf4, 0x8d12, 0x8d76, 0xfa23, 0x8ecf, 0xfa24,
    +    0xfa25, 0x9067, 0x90de, 0xfa26, 0x9115, 0x9127, 0x91da, 0x91d7,
    +    0x91de, 0x91ed, 0x91ee, 0x91e4, 0x91e5, 0x9206, 0x9210, 0x920a,
    +    0x923a, 0x9240, 0x923c, 0x924e, 0x9259, 0x9251, 0x9239, 0x9267,
    +    0x92a7, 0x9277, 0x9278, 0x92e7, 0x92d7, 0x92d9, 0x92d0, 0xfa27,
    +    0x92d5, 0x92e0, 0x92d3, 0x9325, 0x9321, 0x92fb, 0xfa28, 0x931e,
    +    0x92ff, 0x931d, 0x9302, 0x9370, 0x9357, 0x93a4, 0x93c6, 0x93de,
    +    0x93f8, 0x9431, 0x9445, 0x9448, 0x9592, 0xf9dc, 0xfa29, 0x969d,
    +    0x96af, 0x9733, 0x973b, 0x9743, 0x974d, 0x974f, 0x9751, 0x9755,
    +    0x9857, 0x9865, 0xfa2a, 0xfa2b, 0x9927, 0xfa2c, 0x999e, 0x9a4e,
    +    0x9ad9, 0x9adc, 0x9b75, 0x9b72, 0x9b8f, 0x9bb1, 0x9bbb, 0x9c00,
    +    0x9d70, 0x9d6b, 0xfa2d, 0x9e19, 0x9ed1, 0x003f, 0x003f, 0x2170,
    +    0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178,
    +    0x2179, 0xffe2, 0xffe4, 0xff07, 0xff02, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fa */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,
    +    0x2178, 0x2179, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165,
    +    0x2166, 0x2167, 0x2168, 0x2169, 0xffe2, 0xffe4, 0xff07, 0xff02,
    +    0x3231, 0x2116, 0x2121, 0x2235, 0x7e8a, 0x891c, 0x9348, 0x9288,
    +    0x84dc, 0x4fc9, 0x70bb, 0x6631, 0x68c8, 0x92f9, 0x66fb, 0x5f45,
    +    0x4e28, 0x4ee1, 0x4efc, 0x4f00, 0x4f03, 0x4f39, 0x4f56, 0x4f92,
    +    0x4f8a, 0x4f9a, 0x4f94, 0x4fcd, 0x5040, 0x5022, 0x4fff, 0x501e,
    +    0x5046, 0x5070, 0x5042, 0x5094, 0x50f4, 0x50d8, 0x514a, 0x003f,
    +    0x5164, 0x519d, 0x51be, 0x51ec, 0x5215, 0x529c, 0x52a6, 0x52c0,
    +    0x52db, 0x5300, 0x5307, 0x5324, 0x5372, 0x5393, 0x53b2, 0x53dd,
    +    0xfa0e, 0x549c, 0x548a, 0x54a9, 0x54ff, 0x5586, 0x5759, 0x5765,
    +    0x57ac, 0x57c8, 0x57c7, 0xfa0f, 0xfa10, 0x589e, 0x58b2, 0x590b,
    +    0x5953, 0x595b, 0x595d, 0x5963, 0x59a4, 0x59ba, 0x5b56, 0x5bc0,
    +    0x752f, 0x5bd8, 0x5bec, 0x5c1e, 0x5ca6, 0x5cba, 0x5cf5, 0x5d27,
    +    0x5d53, 0xfa11, 0x5d42, 0x5d6d, 0x5db8, 0x5db9, 0x5dd0, 0x5f21,
    +    0x5f34, 0x5f67, 0x5fb7, 0x5fde, 0x605d, 0x6085, 0x608a, 0x60de,
    +    0x60d5, 0x6120, 0x60f2, 0x6111, 0x6137, 0x6130, 0x6198, 0x6213,
    +    0x62a6, 0x63f5, 0x6460, 0x649d, 0x64ce, 0x654e, 0x6600, 0x6615,
    +    0x663b, 0x6609, 0x662e, 0x661e, 0x6624, 0x6665, 0x6657, 0x6659,
    +    0xfa12, 0x6673, 0x6699, 0x66a0, 0x66b2, 0x66bf, 0x66fa, 0x670e,
    +    0xf929, 0x6766, 0x67bb, 0x6852, 0x67c0, 0x6801, 0x6844, 0x68cf,
    +    0xfa13, 0x6968, 0xfa14, 0x6998, 0x69e2, 0x6a30, 0x6a6b, 0x6a46,
    +    0x6a73, 0x6a7e, 0x6ae2, 0x6ae4, 0x6bd6, 0x6c3f, 0x6c5c, 0x6c86,
    +    0x6c6f, 0x6cda, 0x6d04, 0x6d87, 0x6d6f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6d96, 0x6dac, 0x6dcf, 0x6df8, 0x6df2, 0x6dfc, 0x6e39, 0x6e5c,
    +    0x6e27, 0x6e3c, 0x6ebf, 0x6f88, 0x6fb5, 0x6ff5, 0x7005, 0x7007,
    +    0x7028, 0x7085, 0x70ab, 0x710f, 0x7104, 0x715c, 0x7146, 0x7147,
    +    0xfa15, 0x71c1, 0x71fe, 0x72b1, 0x72be, 0x7324, 0xfa16, 0x7377,
    +    0x73bd, 0x73c9, 0x73d6, 0x73e3, 0x73d2, 0x7407, 0x73f5, 0x7426,
    +    0x742a, 0x7429, 0x742e, 0x7462, 0x7489, 0x749f, 0x7501, 0x756f,
    +    0x7682, 0x769c, 0x769e, 0x769b, 0x76a6, 0xfa17, 0x7746, 0x52af,
    +    0x7821, 0x784e, 0x7864, 0x787a, 0x7930, 0xfa18, 0xfa19, 0x003f,
    +    0xfa1a, 0x7994, 0xfa1b, 0x799b, 0x7ad1, 0x7ae7, 0xfa1c, 0x7aeb,
    +    0x7b9e, 0xfa1d, 0x7d48, 0x7d5c, 0x7db7, 0x7da0, 0x7dd6, 0x7e52,
    +    0x7f47, 0x7fa1, 0xfa1e, 0x8301, 0x8362, 0x837f, 0x83c7, 0x83f6,
    +    0x8448, 0x84b4, 0x8553, 0x8559, 0x856b, 0xfa1f, 0x85b0, 0xfa20,
    +    0xfa21, 0x8807, 0x88f5, 0x8a12, 0x8a37, 0x8a79, 0x8aa7, 0x8abe,
    +    0x8adf, 0xfa22, 0x8af6, 0x8b53, 0x8b7f, 0x8cf0, 0x8cf4, 0x8d12,
    +    0x8d76, 0xfa23, 0x8ecf, 0xfa24, 0xfa25, 0x9067, 0x90de, 0xfa26,
    +    0x9115, 0x9127, 0x91da, 0x91d7, 0x91de, 0x91ed, 0x91ee, 0x91e4,
    +    0x91e5, 0x9206, 0x9210, 0x920a, 0x923a, 0x9240, 0x923c, 0x924e,
    +    0x9259, 0x9251, 0x9239, 0x9267, 0x92a7, 0x9277, 0x9278, 0x92e7,
    +    0x92d7, 0x92d9, 0x92d0, 0xfa27, 0x92d5, 0x92e0, 0x92d3, 0x9325,
    +    0x9321, 0x92fb, 0xfa28, 0x931e, 0x92ff, 0x931d, 0x9302, 0x9370,
    +    0x9357, 0x93a4, 0x93c6, 0x93de, 0x93f8, 0x9431, 0x9445, 0x9448,
    +    0x9592, 0xf9dc, 0xfa29, 0x969d, 0x96af, 0x9733, 0x973b, 0x9743,
    +    0x974d, 0x974f, 0x9751, 0x9755, 0x9857, 0x9865, 0xfa2a, 0xfa2b,
    +    0x9927, 0xfa2c, 0x999e, 0x9a4e, 0x9ad9, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9adc, 0x9b75, 0x9b72, 0x9b8f, 0x9bb1, 0x9bbb, 0x9c00, 0x9d70,
    +    0x9d6b, 0xfa2d, 0x9e19, 0x9ed1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned char cp2uni_leadbytes[256] =
    +{
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x06,
    +    0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
    +    0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
    +    0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    +    0x27, 0x28, 0x29, 0x01, 0x01, 0x2a, 0x2b, 0x01,
    +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    +    0x01, 0x01, 0x2c, 0x2d, 0x2e, 0x00, 0x00, 0x00
    +};
    +
    +static const unsigned short uni2cp_low[27904] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0020, 0x0021, 0x0063, 0x004c, 0x003f, 0x005c, 0x007c, 0x8198,
    +    0x814e, 0x0063, 0x0061, 0x8173, 0x003f, 0x002d, 0x0072, 0x815c,
    +    0x818b, 0x817d, 0x0032, 0x0033, 0x814c, 0x83ca, 0x81f7, 0x003f,
    +    0x002c, 0x0031, 0x006f, 0x8174, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    +    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    +    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0x817e,
    +    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0x83c0,
    +    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    +    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    +    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x8180,
    +    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x00fe, 0x0079,
    +    /* 0x0100 .. 0x01ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    +    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    +    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    +    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    +    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    +    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    +    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    +    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    +    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    +    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x84a0, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    +    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    +    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    +    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    +    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    +    /* 0x0200 .. 0x02ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    +    0x0079, 0x814c, 0x818d, 0x8165, 0x8166, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0x0076,
    +    0x0027, 0x815c, 0x814c, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x818b, 0x003f, 0x007e, 0x818d, 0x003f, 0x003f,
    +    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0300 .. 0x03ff */
    +    0x0060, 0x814c, 0x005e, 0x007e, 0x815c, 0x815c, 0x003f, 0x003f,
    +    0x814e, 0x003f, 0x818b, 0x818d, 0x0076, 0x003f, 0x0022, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0060, 0x814c, 0x003f, 0x003f, 0x814e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x814c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x814c, 0x814e, 0x839f, 0x003f,
    +    0x83a3, 0x83a5, 0x83a7, 0x003f, 0x83ad, 0x003f, 0x83b2, 0x83b6,
    +    0x83c7, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3, 0x83a4, 0x83a5,
    +    0x83a6, 0x83a7, 0x83a8, 0x83a9, 0x83aa, 0x83ab, 0x83ac, 0x83ad,
    +    0x83ae, 0x83af, 0x003f, 0x83b0, 0x83b1, 0x83b2, 0x83b3, 0x83b4,
    +    0x83b5, 0x83b6, 0x83a7, 0x83b2, 0x83bf, 0x83c3, 0x83c5, 0x83c7,
    +    0x83d2, 0x83bf, 0x83c0, 0x83c1, 0x83c2, 0x83c3, 0x83c4, 0x83c5,
    +    0x83c6, 0x83c7, 0x83c8, 0x83c9, 0x83ca, 0x83cb, 0x83cc, 0x83cd,
    +    0x83ce, 0x83cf, 0x003f, 0x83d0, 0x83d1, 0x83d2, 0x83d3, 0x83d4,
    +    0x83d5, 0x83d6, 0x83c7, 0x83d2, 0x83cd, 0x83d2, 0x83d6, 0x003f,
    +    0x83c0, 0x83c6, 0x83b2, 0x83b2, 0x83b2, 0x83d3, 0x83ce, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x83c8, 0x83cf, 0x003f, 0x003f, 0x83a6, 0x83c3, 0x003f, 0x003f,
    +    0x003f, 0x83b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0400 .. 0x04ff */
    +    0x8445, 0x8446, 0x003f, 0x8443, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x844b, 0x8449, 0x8454, 0x003f,
    +    0x8440, 0x8441, 0x8442, 0x8443, 0x8444, 0x8445, 0x8447, 0x8448,
    +    0x8449, 0x844a, 0x844b, 0x844c, 0x844d, 0x844e, 0x844f, 0x8450,
    +    0x8451, 0x8452, 0x8453, 0x8454, 0x8455, 0x8456, 0x8457, 0x8458,
    +    0x8459, 0x845a, 0x845b, 0x845c, 0x845d, 0x845e, 0x845f, 0x8460,
    +    0x8470, 0x8471, 0x8472, 0x8473, 0x8474, 0x8475, 0x8477, 0x8478,
    +    0x8479, 0x847a, 0x847b, 0x847c, 0x847d, 0x847e, 0x8480, 0x8481,
    +    0x8482, 0x8483, 0x8484, 0x8485, 0x8486, 0x8487, 0x8488, 0x8489,
    +    0x848a, 0x848b, 0x848c, 0x848d, 0x848e, 0x848f, 0x8490, 0x8491,
    +    0x8475, 0x8476, 0x003f, 0x8473, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x847b, 0x8479, 0x8485, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8447, 0x8477, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8440, 0x8470, 0x8440, 0x8470, 0x003f, 0x003f, 0x8445, 0x8475,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8447, 0x8477, 0x8448, 0x8478,
    +    0x003f, 0x003f, 0x8449, 0x8479, 0x8449, 0x8479, 0x844f, 0x8480,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x845e, 0x848f, 0x8454, 0x8485,
    +    0x8454, 0x8485, 0x8454, 0x8485, 0x8458, 0x8489, 0x003f, 0x003f,
    +    0x845c, 0x848d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    +    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    +    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    +    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    +    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    +    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    +    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0x83c0, 0x83c1, 0x83c2,
    +    0x83d3, 0x83d4, 0x0069, 0x0072, 0x0075, 0x0076, 0x83c0, 0x83c1,
    +    0x83cf, 0x83d3, 0x83d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    +    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    +    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    +    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    +    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    +    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    +    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    +    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    +    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    +    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    +    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1f00 .. 0x1fff */
    +    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf,
    +    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f,
    +    0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x003f, 0x003f,
    +    0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x003f, 0x003f,
    +    0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5,
    +    0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5,
    +    0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7,
    +    0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7,
    +    0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x003f, 0x003f,
    +    0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x003f, 0x003f,
    +    0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2,
    +    0x003f, 0x83b2, 0x003f, 0x83b2, 0x003f, 0x83b2, 0x003f, 0x83b2,
    +    0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6,
    +    0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6,
    +    0x83bf, 0x83bf, 0x83c3, 0x83c3, 0x83c5, 0x83c5, 0x83c7, 0x83c7,
    +    0x83cd, 0x83cd, 0x83d2, 0x83d2, 0x83d6, 0x83d6, 0x003f, 0x003f,
    +    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf,
    +    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f,
    +    0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5,
    +    0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5,
    +    0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6,
    +    0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6,
    +    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x003f, 0x83bf, 0x83bf,
    +    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x003f, 0x83c7, 0x003f,
    +    0x003f, 0x814e, 0x83c5, 0x83c5, 0x83c5, 0x003f, 0x83c5, 0x83c5,
    +    0x83a3, 0x83a3, 0x83a5, 0x83a5, 0x83a5, 0x003f, 0x003f, 0x003f,
    +    0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x003f, 0x003f, 0x83c7, 0x83c7,
    +    0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83cf, 0x83cf, 0x83d2, 0x83d2,
    +    0x83b2, 0x83b2, 0x83b2, 0x83b2, 0x83af, 0x814e, 0x814e, 0x0060,
    +    0x003f, 0x003f, 0x83d6, 0x83d6, 0x83d6, 0x003f, 0x83d6, 0x83d6,
    +    0x83ad, 0x83ad, 0x83b6, 0x83b6, 0x83b6, 0x814c, 0x003f, 0x003f,
    +    /* 0x2000 .. 0x20ff */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x815d, 0x815d, 0x003f, 0x815c, 0x815c, 0x815c, 0x003f, 0x005f,
    +    0x8165, 0x8166, 0x002c, 0x8165, 0x8167, 0x8168, 0x8781, 0x003f,
    +    0x81f5, 0x81f6, 0x003f, 0x003f, 0x002e, 0x8164, 0x8163, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0x81f1, 0x003f, 0x818c, 0x818d, 0x003f, 0x8165, 0x003f, 0x003f,
    +    0x003f, 0x8171, 0x8172, 0x81a6, 0x0021, 0x003f, 0x815c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x818b, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0x815d, 0x003d, 0x0028, 0x0029, 0x006e,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0x815d, 0x003d, 0x0028, 0x0029, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2100 .. 0x21ff */
    +    0x003f, 0x003f, 0x0043, 0x818e, 0x003f, 0x003f, 0x003f, 0x0045,
    +    0x003f, 0x003f, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    +    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x8782, 0x003f,
    +    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    +    0x003f, 0x8784, 0x003f, 0x003f, 0x005a, 0x003f, 0x83b6, 0x003f,
    +    0x005a, 0x003f, 0x004b, 0x81f0, 0x0042, 0x0043, 0x0065, 0x0065,
    +    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0x83c1, 0x83a1, 0x83ae,
    +    0x8794, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    +    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759, 0x875a, 0x875b,
    +    0x875c, 0x875d, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    +    0xeeef, 0xeef0, 0xeef1, 0xeef2, 0xeef3, 0xeef4, 0xeef5, 0xeef6,
    +    0xeef7, 0xeef8, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x81a9, 0x81aa, 0x81a8, 0x81ab, 0x002d, 0x007c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x81a9, 0x81a8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81cc, 0x81cb,
    +    0x003f, 0x003f, 0x81cb, 0x003f, 0x81cc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2200 .. 0x22ff */
    +    0x81cd, 0x003f, 0x81dd, 0x81ce, 0x81ce, 0x004f, 0x003f, 0x81de,
    +    0x81b8, 0x81b8, 0x003f, 0x81b9, 0x81b9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8794, 0x815d, 0x817d, 0x003f, 0x002f, 0x005c, 0x002a,
    +    0x818b, 0x003f, 0x81e3, 0x003f, 0x003f, 0x81e5, 0x8187, 0x8798,
    +    0x81da, 0x003f, 0x003f, 0x007c, 0x007c, 0x8161, 0x8161, 0x81c8,
    +    0x81c9, 0x81bf, 0x81be, 0x81e7, 0x81e8, 0x003f, 0x8793, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8188, 0x81e6, 0x003a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0x81e4, 0x003f, 0x003f,
    +    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x81e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8182, 0x81df, 0x81df, 0x81df, 0x003f, 0x003f, 0x8185, 0x8186,
    +    0x003f, 0x003f, 0x81e1, 0x81e2, 0x003f, 0x003f, 0x003c, 0x003e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x81bc, 0x81bd, 0x81bc, 0x81bd, 0x81ba, 0x81bb,
    +    0x81ba, 0x81bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81db, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8799,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2300 .. 0x23ff */
    +    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x81dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8171, 0x8172, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2400 .. 0x24ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8740, 0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, 0x8747,
    +    0x8748, 0x8749, 0x874a, 0x874b, 0x874c, 0x874d, 0x874e, 0x874f,
    +    0x8750, 0x8751, 0x8752, 0x8753, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    +    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2500 .. 0x25ff */
    +    0x849f, 0x84aa, 0x84a0, 0x84ab, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0x002d, 0x002d, 0x007c, 0x007c, 0x84a1, 0x84a1, 0x84a1, 0x84ac,
    +    0x84a2, 0x84a2, 0x84a2, 0x84ad, 0x84a4, 0x84a4, 0x84a4, 0x84af,
    +    0x84a3, 0x84a3, 0x84a3, 0x84ae, 0x84a5, 0x84ba, 0x84a5, 0x84a5,
    +    0x84b5, 0x84a5, 0x84a5, 0x84b0, 0x84a7, 0x84bc, 0x84a7, 0x84a7,
    +    0x84b7, 0x84a7, 0x84a7, 0x84b2, 0x84a6, 0x84a6, 0x84a6, 0x84b6,
    +    0x84bb, 0x84a6, 0x84a6, 0x84b1, 0x84a8, 0x84a8, 0x84a8, 0x84b8,
    +    0x84bd, 0x84a8, 0x84a8, 0x84b3, 0x84a9, 0x84a9, 0x84a9, 0x84b9,
    +    0x84a9, 0x84a9, 0x84be, 0x84a9, 0x84a9, 0x84a9, 0x84a9, 0x84a9,
    +    0x84a9, 0x84a9, 0x84a9, 0x84b4, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    +    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
    +    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,
    +    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x81a1, 0x81a0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x81a3, 0x81a2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x81a5, 0x81a4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x819f, 0x819e,
    +    0x003f, 0x003f, 0x003f, 0x819b, 0x003f, 0x003f, 0x819d, 0x819c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2600 .. 0x26ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x819a, 0x8199, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x818a, 0x003f, 0x8189, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x81f4, 0x003f, 0x003f, 0x81f3, 0x003f, 0x81f2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2e00 .. 0x2eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95ea,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2f00 .. 0x2fff */
    +    0x88ea, 0xed4c, 0x98a4, 0x98a6, 0x89b3, 0x98ab, 0x93f1, 0x98b3,
    +    0x906c, 0x9958, 0x93fc, 0x94aa, 0x9963, 0x996b, 0x9971, 0x997b,
    +    0x9981, 0x9381, 0x97cd, 0x99af, 0x99b6, 0x99b7, 0x99bc, 0x8f5c,
    +    0x966d, 0x99c5, 0x99ca, 0x99d1, 0x9694, 0x8cfb, 0x9a98, 0x9379,
    +    0x8e6d, 0x9ae7, 0x9ae8, 0x975b, 0x91e5, 0x8f97, 0x8e71, 0x9b7e,
    +    0x90a1, 0x8fac, 0x9b97, 0x9b99, 0x9ba3, 0x8e52, 0x9bdd, 0x8d48,
    +    0x8cc8, 0x8bd0, 0x8ab1, 0x9bf4, 0x9bf6, 0x9c4d, 0x9c4f, 0x9c54,
    +    0x8b7c, 0x003f, 0x9c63, 0x9c65, 0x9053, 0x9cf7, 0x003f, 0x8ee8,
    +    0x8e78, 0x9dbb, 0x95b6, 0x936c, 0x8bd2, 0x95fb, 0x9dd9, 0x93fa,
    +    0x9e48, 0x8c8e, 0x96d8, 0x8c87, 0x8e7e, 0x9f65, 0x9f74, 0x9f78,
    +    0x94e4, 0x96d1, 0x8e81, 0x9f83, 0x9085, 0x89ce, 0x92dc, 0x9583,
    +    0xe0a9, 0xe0ab, 0x95d0, 0x89e5, 0x8b8d, 0x8ca2, 0x8cba, 0x8bca,
    +    0x895a, 0x8aa2, 0x8ac3, 0x90b6, 0x9770, 0x9363, 0x9544, 0x003f,
    +    0xe1a0, 0x9492, 0x94e7, 0x8e4d, 0x96da, 0x96b5, 0x96ee, 0x90ce,
    +    0x8ea6, 0x003f, 0x89d1, 0x8c8a, 0x97a7, 0x927c, 0x95c4, 0x8e85,
    +    0x8aca, 0xe3a4, 0x9772, 0x8948, 0x9856, 0x8ea7, 0xe3ce, 0x8ea8,
    +    0xe3e4, 0x93f7, 0x9062, 0x8ea9, 0x8e8a, 0x8950, 0x90e3, 0x9143,
    +    0x8f4d, 0x8daf, 0x9046, 0xe487, 0xe567, 0x928e, 0x8c8c, 0x8d73,
    +    0x88df, 0xe647, 0x8ca9, 0x8a70, 0x8cbe, 0x924a, 0x93a4, 0xe6b3,
    +    0xe6b6, 0x8a4c, 0x90d4, 0x9196, 0x91ab, 0x9067, 0x8ed4, 0x9068,
    +    0x9243, 0x003f, 0x9757, 0x93d1, 0x94ce, 0x97a2, 0x8be0, 0x92b7,
    +    0x96e5, 0x958c, 0xe8ae, 0xe8b0, 0x894a, 0xeed6, 0x94f1, 0x96ca,
    +    0x8a76, 0xe8e8, 0xe8ea, 0x89b9, 0x95c5, 0x9597, 0x94f2, 0x9048,
    +    0x8ef1, 0x8d81, 0x946e, 0x8d9c, 0x8d82, 0xe995, 0xe9a6, 0xe9ac,
    +    0xe9ad, 0x8b53, 0x8b9b, 0x92b9, 0xea62, 0x8ead, 0xea6d, 0x9683,
    +    0x003f, 0x8b6f, 0xeeec, 0xea83, 0xea86, 0x9343, 0x8cdb, 0x916c,
    +    0x9540, 0xea8e, 0xea8f, 0x97b4, 0xea9d, 0xea9e, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3000 .. 0x30ff */
    +    0x8140, 0x8141, 0x8142, 0x8156, 0x003f, 0x8158, 0x8159, 0x815a,
    +    0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0x8176, 0x8177, 0x8178,
    +    0x8179, 0x817a, 0x81a7, 0x81ac, 0x816b, 0x816c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0x8780, 0x8168, 0x8781,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81a7, 0x003f,
    +    0x8f5c, 0x003f, 0x99bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x829f, 0x82a0, 0x82a1, 0x82a2, 0x82a3, 0x82a4, 0x82a5,
    +    0x82a6, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ab, 0x82ac, 0x82ad,
    +    0x82ae, 0x82af, 0x82b0, 0x82b1, 0x82b2, 0x82b3, 0x82b4, 0x82b5,
    +    0x82b6, 0x82b7, 0x82b8, 0x82b9, 0x82ba, 0x82bb, 0x82bc, 0x82bd,
    +    0x82be, 0x82bf, 0x82c0, 0x82c1, 0x82c2, 0x82c3, 0x82c4, 0x82c5,
    +    0x82c6, 0x82c7, 0x82c8, 0x82c9, 0x82ca, 0x82cb, 0x82cc, 0x82cd,
    +    0x82ce, 0x82cf, 0x82d0, 0x82d1, 0x82d2, 0x82d3, 0x82d4, 0x82d5,
    +    0x82d6, 0x82d7, 0x82d8, 0x82d9, 0x82da, 0x82db, 0x82dc, 0x82dd,
    +    0x82de, 0x82df, 0x82e0, 0x82e1, 0x82e2, 0x82e3, 0x82e4, 0x82e5,
    +    0x82e6, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82eb, 0x82ec, 0x82ed,
    +    0x82ee, 0x82ef, 0x82f0, 0x82f1, 0x82a4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x814a, 0x814b, 0x8154, 0x8155, 0x003f,
    +    0x003f, 0x8340, 0x8341, 0x8342, 0x8343, 0x8344, 0x8345, 0x8346,
    +    0x8347, 0x8348, 0x8349, 0x834a, 0x834b, 0x834c, 0x834d, 0x834e,
    +    0x834f, 0x8350, 0x8351, 0x8352, 0x8353, 0x8354, 0x8355, 0x8356,
    +    0x8357, 0x8358, 0x8359, 0x835a, 0x835b, 0x835c, 0x835d, 0x835e,
    +    0x835f, 0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0x8366,
    +    0x8367, 0x8368, 0x8369, 0x836a, 0x836b, 0x836c, 0x836d, 0x836e,
    +    0x836f, 0x8370, 0x8371, 0x8372, 0x8373, 0x8374, 0x8375, 0x8376,
    +    0x8377, 0x8378, 0x8379, 0x837a, 0x837b, 0x837c, 0x837d, 0x837e,
    +    0x8380, 0x8381, 0x8382, 0x8383, 0x8384, 0x8385, 0x8386, 0x8387,
    +    0x8388, 0x8389, 0x838a, 0x838b, 0x838c, 0x838d, 0x838e, 0x838f,
    +    0x8390, 0x8391, 0x8392, 0x8393, 0x8394, 0x8395, 0x8396, 0x838f,
    +    0x8390, 0x8391, 0x8392, 0x8145, 0x815b, 0x8152, 0x8153, 0x003f,
    +    /* 0x3100 .. 0x31ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x88ea, 0x93f1, 0x8e4f, 0x8e6c, 0x8fe3, 0x9286,
    +    0x89ba, 0x8d62, 0x89b3, 0x95b8, 0x929a, 0x9356, 0x926e, 0x906c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3200 .. 0x32ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x878a, 0x878b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x878c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x88ea, 0x93f1, 0x8e4f, 0x8e6c, 0x8cdc, 0x985a, 0x8eb5, 0x94aa,
    +    0x8be3, 0x8f5c, 0x8c8e, 0x89ce, 0x9085, 0x96d8, 0x8be0, 0x9379,
    +    0x93fa, 0x8a94, 0x974c, 0x8ed0, 0x96bc, 0x93c1, 0x8de0, 0x8f6a,
    +    0x984a, 0x94e9, 0x926a, 0x8f97, 0x934b, 0x9744, 0x88f3, 0x928d,
    +    0x8d80, 0x8b78, 0x8eca, 0x90b3, 0x8785, 0x8786, 0x8787, 0x8788,
    +    0x8789, 0x88e3, 0x8f40, 0x8a77, 0x8ac4, 0x8ae9, 0x8e91, 0x8ba6,
    +    0x96e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8341, 0x8343, 0x8345, 0x8347, 0x8349, 0x834a, 0x834c, 0x834e,
    +    0x8350, 0x8352, 0x8354, 0x8356, 0x8358, 0x835a, 0x835c, 0x835e,
    +    0x8360, 0x8363, 0x8365, 0x8367, 0x8369, 0x836a, 0x836b, 0x836c,
    +    0x836d, 0x836e, 0x8371, 0x8374, 0x8377, 0x837a, 0x837d, 0x837e,
    +    0x8380, 0x8381, 0x8382, 0x8384, 0x8386, 0x8388, 0x8389, 0x838a,
    +    0x838b, 0x838c, 0x838d, 0x838f, 0x8390, 0x8391, 0x8392, 0x003f,
    +    /* 0x3300 .. 0x33ff */
    +    0x003f, 0x003f, 0x003f, 0x8765, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8769, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8760, 0x003f, 0x003f, 0x003f,
    +    0x8763, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8761, 0x876b, 0x003f, 0x003f, 0x876a, 0x8764,
    +    0x003f, 0x003f, 0x003f, 0x876c, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8766, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x876e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x875f, 0x876d, 0x003f, 0x003f, 0x8762, 0x003f, 0x003f,
    +    0x003f, 0x8767, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8768,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x877e, 0x878f, 0x878e, 0x878d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8772, 0x8773,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x876f, 0x8770, 0x8771, 0x003f,
    +    0x003f, 0x8775, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8774, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8783, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x4e00 .. 0x4eff */
    +    0x88ea, 0x929a, 0x003f, 0x8eb5, 0x003f, 0x003f, 0x003f, 0x969c,
    +    0x8fe4, 0x8e4f, 0x8fe3, 0x89ba, 0x003f, 0x9573, 0x975e, 0x003f,
    +    0x98a0, 0x894e, 0x003f, 0x003f, 0x8a8e, 0x98a1, 0x90a2, 0x99c0,
    +    0x8b75, 0x95b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fe5, 0x003f,
    +    0x003f, 0x97bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x95c0, 0x003f,
    +    0xed4c, 0x003f, 0x98a2, 0x003f, 0x003f, 0x9286, 0x003f, 0x003f,
    +    0x003f, 0x98a3, 0x8bf8, 0x003f, 0x003f, 0x003f, 0x98a4, 0x003f,
    +    0x8adb, 0x924f, 0x003f, 0x8ee5, 0x98a5, 0x003f, 0x003f, 0x98a6,
    +    0x003f, 0x003f, 0x98a7, 0x9454, 0x003f, 0x8b76, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9456, 0x003f, 0x93e1, 0x8cc1, 0x9652,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe568, 0x98a8, 0x8fe6,
    +    0x98a9, 0x89b3, 0x003f, 0x003f, 0x003f, 0x8be3, 0x8cee, 0x96e7,
    +    0x003f, 0x003f, 0x9ba4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9790, 0x003f, 0x93fb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aa3, 0x003f,
    +    0x8b54, 0x003f, 0x98aa, 0x003f, 0x003f, 0x98ab, 0x97b9, 0x003f,
    +    0x975c, 0x9188, 0x98ad, 0x8e96, 0x93f1, 0x003f, 0x98b0, 0x003f,
    +    0x003f, 0x895d, 0x8cdd, 0x003f, 0x8cdc, 0x88e4, 0x003f, 0x003f,
    +    0x986a, 0x9869, 0x003f, 0x8db1, 0x889f, 0x003f, 0x98b1, 0x98b2,
    +    0x98b3, 0x9653, 0x98b4, 0x003f, 0x8cf0, 0x88e5, 0x9692, 0x003f,
    +    0x8b9c, 0x003f, 0x003f, 0x8b9d, 0x8b9e, 0x92e0, 0x97ba, 0x003f,
    +    0x98b5, 0x003f, 0x003f, 0x98b6, 0x003f, 0x003f, 0x98b7, 0x003f,
    +    0x003f, 0x003f, 0x906c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8f59, 0x906d, 0x98bc, 0x003f, 0x98ba, 0x003f, 0x98bb, 0x8b77,
    +    0x003f, 0x003f, 0x8da1, 0x89ee, 0x003f, 0x98b9, 0x98b8, 0x95a7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8e65, 0x8e64, 0x91bc, 0x98bd,
    +    0x9574, 0x90e5, 0x003f, 0x003f, 0x003f, 0x8157, 0x98be, 0x98c0,
    +    0x003f, 0xed4d, 0x003f, 0x91e3, 0x97df, 0x88c8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98bf, 0x89bc, 0x003f,
    +    0x8bc2, 0x003f, 0x9287, 0x003f, 0x003f, 0x003f, 0x8c8f, 0x98c1,
    +    0x003f, 0x003f, 0x003f, 0x9443, 0xed4e, 0x003f, 0x003f, 0x003f,
    +    /* 0x4f00 .. 0x4fff */
    +    0xed4f, 0x8ae9, 0x003f, 0xed50, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x98c2, 0x88c9, 0x003f, 0x003f, 0x8cde, 0x8aea, 0x959a,
    +    0x94b0, 0x8b78, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x89ef, 0x003f, 0x98e5, 0x9360, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x948c,
    +    0x98c4, 0x003f, 0x003f, 0x003f, 0x94ba, 0x003f, 0x97e0, 0x003f,
    +    0x904c, 0xed51, 0x8e66, 0x003f, 0x8e97, 0x89be, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x92cf, 0x003f, 0x003f, 0x9241, 0x98c8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88ca, 0x92e1, 0x8f5a,
    +    0x8db2, 0x9743, 0x003f, 0x91cc, 0x003f, 0x89bd, 0xed52, 0x98c7,
    +    0x003f, 0x975d, 0x98c3, 0x98c5, 0x8dec, 0x98c6, 0x9b43, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x98ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98d1,
    +    0x98cf, 0x003f, 0x003f, 0x89c0, 0x003f, 0x95b9, 0x98c9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x98cd, 0x8cf1, 0x003f, 0x003f, 0x8e67,
    +    0x003f, 0x003f, 0x003f, 0x8aa4, 0x003f, 0x003f, 0x98d2, 0x003f,
    +    0x98ca, 0x003f, 0xed54, 0x97e1, 0x003f, 0x8e98, 0x003f, 0x98cb,
    +    0x003f, 0x98d0, 0xed53, 0x003f, 0xed56, 0x003f, 0x98d3, 0x003f,
    +    0x98cc, 0x003f, 0xed55, 0x8b9f, 0x003f, 0x88cb, 0x003f, 0x003f,
    +    0x8ba0, 0x89bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9b44, 0x003f, 0x9699, 0x958e, 0x8cf2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x904e, 0x97b5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95d6,
    +    0x003f, 0x003f, 0x8c57, 0x91a3, 0x89e2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xed45, 0x8f72, 0x003f, 0x003f, 0xed57, 0x98d7, 0x003f,
    +    0x98dc, 0x98da, 0x003f, 0x003f, 0x98d5, 0x003f, 0x003f, 0x91ad,
    +    0x98d8, 0x003f, 0x98db, 0x98d9, 0x003f, 0x95db, 0x003f, 0x98d6,
    +    0x003f, 0x904d, 0x003f, 0x9693, 0x98dd, 0x98de, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f43, 0x98eb,
    +    0x003f, 0x003f, 0x003f, 0x946f, 0x003f, 0x9555, 0x98e6, 0x003f,
    +    0x95ee, 0x003f, 0x89b4, 0x003f, 0x003f, 0x003f, 0x98ea, 0xed5a,
    +    /* 0x5000 .. 0x50ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98e4, 0x98ed, 0x003f,
    +    0x003f, 0x9171, 0x003f, 0x8cc2, 0x003f, 0x947b, 0x003f, 0xe0c5,
    +    0x003f, 0x98ec, 0x937c, 0x003f, 0x98e1, 0x003f, 0x8cf4, 0x003f,
    +    0x003f, 0x8cf3, 0x98df, 0x003f, 0x003f, 0x003f, 0xed5b, 0x8ed8,
    +    0x003f, 0x98e7, 0xed59, 0x95ed, 0x926c, 0x98e3, 0x8c91, 0x003f,
    +    0x98e0, 0x98e8, 0x98e2, 0x97cf, 0x98e9, 0x9860, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be4, 0x003f,
    +    0x003f, 0x8c90, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xed58, 0x003f, 0xed5e, 0x98ee, 0x003f, 0x003f, 0xed5c, 0x98ef,
    +    0x98f3, 0x88cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95ce,
    +    0x98f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x98f1, 0x98f5, 0x003f,
    +    0x003f, 0x003f, 0x98f4, 0x003f, 0x92e2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c92, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x98f6, 0x003f, 0x003f, 0x003f,
    +    0xed5d, 0x003f, 0x8ec3, 0x003f, 0x91a4, 0x92e3, 0x8bf4, 0x003f,
    +    0x98f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b55, 0x003f, 0x003f,
    +    0x98f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x98fa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9654, 0x003f, 0x003f,
    +    0x003f, 0x8c86, 0x003f, 0x003f, 0xed5f, 0x003f, 0x003f, 0x003f,
    +    0x8e50, 0x94f5, 0x98f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8dc3, 0x9762, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x98fc, 0x9942, 0x98fb, 0x8dc2, 0x003f, 0x8f9d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c58, 0x003f,
    +    0x003f, 0x003f, 0x9943, 0x003f, 0x003f, 0x8bcd, 0x003f, 0x003f,
    +    0x003f, 0x9940, 0x9941, 0x003f, 0x003f, 0x93ad, 0x003f, 0x919c,
    +    0x003f, 0x8ba1, 0x003f, 0x003f, 0x003f, 0x966c, 0x9944, 0x003f,
    +    0xed61, 0x003f, 0x97bb, 0x003f, 0x003f, 0x003f, 0x9945, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9948, 0x003f, 0x9946, 0x003f, 0x916d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9947, 0x9949, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xed60, 0x994b, 0x003f, 0x003f,
    +    0x003f, 0x994a, 0x003f, 0x95c6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5100 .. 0x51ff */
    +    0x8b56, 0x994d, 0x994e, 0x003f, 0x89ad, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x994c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8ef2, 0x003f, 0x9951, 0x9950, 0x994f, 0x003f,
    +    0x98d4, 0x003f, 0x9952, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f9e,
    +    0x003f, 0x9953, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9744, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x96d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x9955,
    +    0x003f, 0x003f, 0x9954, 0x9957, 0x9956, 0x003f, 0x003f, 0x9958,
    +    0x9959, 0x88f2, 0x003f, 0x8cb3, 0x8c5a, 0x8f5b, 0x929b, 0x8ba2,
    +    0x90e6, 0x8cf5, 0xed62, 0x8d8e, 0x995b, 0x96c6, 0x9365, 0x003f,
    +    0x8e99, 0x003f, 0x995a, 0x003f, 0x995c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x937d, 0x003f, 0x8a95, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x995d, 0x003f, 0xed63, 0x93fc, 0x003f, 0x003f,
    +    0x9153, 0x995f, 0x9960, 0x94aa, 0x8cf6, 0x985a, 0x9961, 0x003f,
    +    0x003f, 0x8ba4, 0x003f, 0x003f, 0x003f, 0x95ba, 0x91b4, 0x8bef,
    +    0x9354, 0x003f, 0x003f, 0x003f, 0x8c93, 0x003f, 0x003f, 0x003f,
    +    0x9962, 0x003f, 0x9963, 0x003f, 0x003f, 0x93e0, 0x897e, 0x003f,
    +    0x003f, 0x9966, 0x8dfb, 0x003f, 0x9965, 0x8dc4, 0x003f, 0x9967,
    +    0xe3ec, 0x9968, 0x9660, 0x9969, 0x003f, 0x996a, 0x996b, 0x8fe7,
    +    0x003f, 0x8eca, 0x003f, 0x003f, 0x003f, 0xed64, 0x003f, 0x003f,
    +    0x8aa5, 0x003f, 0x996e, 0x003f, 0x996c, 0x96bb, 0x996d, 0x003f,
    +    0x9579, 0x996f, 0x9970, 0x9971, 0x937e, 0x003f, 0x003f, 0x003f,
    +    0x9975, 0x9973, 0x9974, 0x9972, 0x8de1, 0x9976, 0x96e8, 0x97e2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9977, 0xed65, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x90a6, 0x9978, 0x8f79, 0x003f,
    +    0x003f, 0x9979, 0x003f, 0x929c, 0x97bd, 0x9380, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99c3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x997a, 0xeaa3, 0x8bc3, 0x003f, 0x003f,
    +    0x997b, 0x967d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f88, 0x91fa,
    +    0x003f, 0x997d, 0x93e2, 0x003f, 0xed66, 0x997e, 0x003f, 0x003f,
    +    0x9980, 0x8a4d, 0x003f, 0x003f, 0x003f, 0x9981, 0x8ba5, 0x003f,
    +    0x93ca, 0x899a, 0x8f6f, 0x003f, 0x003f, 0x949f, 0x9982, 0x003f,
    +    /* 0x5200 .. 0x52ff */
    +    0x9381, 0x003f, 0x003f, 0x906e, 0x9983, 0x003f, 0x95aa, 0x90d8,
    +    0x8aa0, 0x003f, 0x8aa7, 0x9984, 0x003f, 0x003f, 0x9986, 0x003f,
    +    0x003f, 0x8c59, 0x003f, 0x003f, 0x9985, 0xed67, 0x003f, 0x97f1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f89, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x94bb, 0x95ca, 0x003f, 0x9987,
    +    0x003f, 0x9798, 0x9988, 0x003f, 0x003f, 0x003f, 0x9989, 0x003f,
    +    0x939e, 0x003f, 0x003f, 0x998a, 0x003f, 0x003f, 0x90a7, 0x8dfc,
    +    0x8c94, 0x998b, 0x8e68, 0x8d8f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x92e4, 0x998d, 0x003f, 0x003f, 0x91a5,
    +    0x003f, 0x003f, 0x8ded, 0x998e, 0x998f, 0x914f, 0x003f, 0x998c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9991, 0x003f, 0x9655, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8d84, 0x003f, 0x003f, 0x9990, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8c95, 0x8ddc, 0x948d, 0x003f, 0x003f,
    +    0x003f, 0x9994, 0x9992, 0x003f, 0x003f, 0x003f, 0x003f, 0x959b,
    +    0x8fe8, 0x999b, 0x8a84, 0x9995, 0x9993, 0x916e, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9997, 0x003f, 0x9996,
    +    0x003f, 0x003f, 0x003f, 0x8a63, 0x003f, 0x003f, 0x003f, 0x8c80,
    +    0x999c, 0x97ab, 0x003f, 0x003f, 0x003f, 0x9998, 0x003f, 0x003f,
    +    0x003f, 0x999d, 0x999a, 0x003f, 0x9999, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x97cd, 0xed68, 0x003f, 0x003f, 0x8cf7,
    +    0x89c1, 0x003f, 0x003f, 0x97f2, 0x003f, 0x003f, 0xed69, 0x003f,
    +    0x003f, 0x8f95, 0x9377, 0x8d85, 0x99a0, 0x99a1, 0x003f, 0xee5b,
    +    0x003f, 0x97e3, 0x003f, 0x003f, 0x984a, 0x99a3, 0x003f, 0x003f,
    +    0x003f, 0x8cf8, 0x003f, 0x003f, 0x99a2, 0x003f, 0x8a4e, 0x003f,
    +    0xed6a, 0x99a4, 0x003f, 0x9675, 0x003f, 0x92ba, 0x003f, 0x9745,
    +    0x003f, 0x95d7, 0x003f, 0x003f, 0x003f, 0x99a5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe8d3, 0x003f, 0x003f, 0x93ae, 0x003f, 0x99a6,
    +    0x8aa8, 0x96b1, 0x003f, 0xed6b, 0x003f, 0x8f9f, 0x99a7, 0x95e5,
    +    0x99ab, 0x003f, 0x90a8, 0x99a8, 0x8bce, 0x003f, 0x99a9, 0x8aa9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8c4d, 0x99ac, 0x003f, 0x99ad, 0x003f, 0x003f,
    +    0x99ae, 0x99af, 0x8ed9, 0x003f, 0x003f, 0x003f, 0x8cf9, 0x96dc,
    +    /* 0x5300 .. 0x53ff */
    +    0xed6c, 0x96e6, 0x93f5, 0x003f, 0x003f, 0x95ef, 0x99b0, 0xed6d,
    +    0x99b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b3, 0x003f, 0x99b5,
    +    0x99b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b6, 0x89bb, 0x966b,
    +    0x003f, 0x8dfa, 0x99b7, 0x003f, 0x003f, 0x9178, 0x003f, 0x003f,
    +    0x8fa0, 0x8ba7, 0x003f, 0x99b8, 0xed6e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x94d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b9,
    +    0x003f, 0x99ba, 0x003f, 0x99bb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x99bc, 0x9543, 0x8be6, 0x88e3, 0x003f, 0x003f, 0x003f, 0x93bd,
    +    0x99bd, 0x8f5c, 0x003f, 0x90e7, 0x003f, 0x99bf, 0x99be, 0x8fa1,
    +    0x8cdf, 0x99c1, 0x94bc, 0x003f, 0x003f, 0x99c2, 0x003f, 0x003f,
    +    0x003f, 0x94da, 0x91b2, 0x91ec, 0x8ba6, 0x003f, 0x003f, 0x93ec,
    +    0x9250, 0x003f, 0x948e, 0x003f, 0x966d, 0x003f, 0x99c4, 0x003f,
    +    0x90e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c54, 0x003f,
    +    0x003f, 0x99c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x99c6, 0x894b,
    +    0x88f3, 0x8aeb, 0xed6f, 0x91a6, 0x8b70, 0x9791, 0x003f, 0x99c9,
    +    0x89b5, 0x003f, 0x003f, 0x99c8, 0x003f, 0x003f, 0x003f, 0x8ba8,
    +    0x003f, 0x003f, 0x99ca, 0x003f, 0x96ef, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xed70, 0x003f, 0x003f, 0x99cb, 0x003f,
    +    0x97d0, 0x003f, 0x8cfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cb4,
    +    0x99cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x99ce, 0x99cd, 0x003f,
    +    0x907e, 0x8958, 0x003f, 0x003f, 0x003f, 0x897d, 0x99cf, 0x003f,
    +    0x99d0, 0x003f, 0xed71, 0x8cb5, 0x003f, 0x003f, 0x99d1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8b8e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8e51, 0x99d2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9694, 0x8db3, 0x8b79, 0x9746, 0x916f, 0x94bd, 0x8efb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8f66, 0x003f, 0x8ee6, 0x8ef3,
    +    0x003f, 0x8f96, 0x003f, 0x94be, 0x003f, 0xed72, 0x003f, 0x99d5,
    +    0x003f, 0x8962, 0x9170, 0x8cfb, 0x8cc3, 0x8be5, 0x003f, 0x003f,
    +    0x99d9, 0x9240, 0x91fc, 0x8ba9, 0x8fa2, 0x99da, 0x99d8, 0x89c2,
    +    0x91e4, 0x8eb6, 0x8e6a, 0x8945, 0x003f, 0x003f, 0x8a90, 0x8d86,
    +    0x8e69, 0x003f, 0x99db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5400 .. 0x54ff */
    +    0x003f, 0x99dc, 0x003f, 0x8b68, 0x8a65, 0x003f, 0x003f, 0x003f,
    +    0x8d87, 0x8b67, 0x92dd, 0x8944, 0x93af, 0x96bc, 0x8d40, 0x9799,
    +    0x9366, 0x8cfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8c4e, 0x003f, 0x99e5, 0x003f, 0x8be1,
    +    0x9669, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94db, 0x003f,
    +    0x003f, 0x99e4, 0x003f, 0x8adc, 0x99df, 0x99e0, 0x99e2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99e3, 0x003f,
    +    0x8b7a, 0x9081, 0x003f, 0x95ab, 0x99e1, 0x99dd, 0x8ce1, 0x003f,
    +    0x99de, 0x003f, 0x9843, 0x003f, 0x003f, 0x003f, 0x95f0, 0x003f,
    +    0x92e6, 0x8ce0, 0x8d90, 0x003f, 0x003f, 0x003f, 0x99e6, 0x003f,
    +    0x003f, 0x93db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99ea,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8efc, 0x003f, 0x8ef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x99ed, 0x99eb, 0x003f, 0x96a1, 0x003f, 0x99e8, 0x99f1, 0x99ec,
    +    0x003f, 0x003f, 0x003f, 0x99ef, 0x8cc4, 0x96bd, 0x003f, 0x003f,
    +    0x99f0, 0x003f, 0x003f, 0x003f, 0x99f2, 0x003f, 0x99f4, 0x003f,
    +    0x003f, 0x003f, 0xed75, 0x8dee, 0x9861, 0x003f, 0x99e9, 0x99e7,
    +    0x99f3, 0x003f, 0x99ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xed74, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x99f6, 0x003f, 0x9a42, 0x99f8, 0x003f, 0x003f,
    +    0x99fc, 0xed76, 0x003f, 0x9a40, 0x99f9, 0x003f, 0x003f, 0x9a5d,
    +    0x003f, 0x003f, 0x8de7, 0x8a50, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x99f7, 0x003f, 0x003f, 0x003f, 0x9a44, 0x88f4, 0x9a43, 0x003f,
    +    0x88a3, 0x9569, 0x9a41, 0x003f, 0x99fa, 0x003f, 0x003f, 0x99f5,
    +    0x99fb, 0x8dc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9a45, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x88f5, 0x9a4e, 0x003f, 0x003f, 0x9a46, 0x9a47, 0x003f,
    +    0x8fa3, 0x9689, 0x003f, 0x003f, 0x003f, 0x9a4c, 0x9a4b, 0x003f,
    +    0x003f, 0x003f, 0x934e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9a4d, 0x003f, 0x003f, 0x9a4a, 0x003f, 0xed77,
    +    /* 0x5500 .. 0x55ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8953, 0x003f, 0x8db4, 0x904f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a48,
    +    0x9382, 0x003f, 0x003f, 0x003f, 0x9a49, 0x003f, 0x88a0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a53, 0x9742,
    +    0x003f, 0x8fa5, 0x003f, 0x9a59, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9a58, 0x9a4f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91c1, 0x003f,
    +    0x9a50, 0x003f, 0x003f, 0x003f, 0x91ed, 0x9a55, 0x8fa4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a52, 0x003f, 0x003f, 0x96e2,
    +    0x003f, 0x003f, 0x003f, 0x8c5b, 0x003f, 0x003f, 0x9a56, 0x9a57,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a54, 0x9a5a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9a51, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9a60, 0x9a65, 0x003f, 0x9a61, 0x003f,
    +    0x9a5c, 0x003f, 0x003f, 0x9a66, 0x9150, 0x003f, 0xed78, 0x9a68,
    +    0x003f, 0x8d41, 0x9a5e, 0x929d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9a62, 0x9a5b, 0x8aab, 0x003f, 0x8aec, 0x8a85, 0x9a63, 0x9a5f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c96,
    +    0x9a69, 0x9a67, 0x9172, 0x8b69, 0x8baa, 0x003f, 0x9a64, 0x003f,
    +    0x8bf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8963, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a6d, 0x9a6b, 0x003f, 0x9aa5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a70, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9a6a, 0x003f, 0x9a6e, 0x003f, 0x003f, 0x9a6c,
    +    0x003f, 0x003f, 0x003f, 0x8e6b, 0x9a6f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a72,
    +    0x003f, 0x9a77, 0x003f, 0x003f, 0x003f, 0x9a75, 0x9a74, 0x003f,
    +    /* 0x5600 .. 0x56ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9251, 0x003f,
    +    0x003f, 0x89c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a71, 0x003f, 0x9a73, 0x8fa6,
    +    0x8952, 0x003f, 0x003f, 0x9a76, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x89dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a82,
    +    0x003f, 0x8ffa, 0x9a7d, 0x003f, 0x9a7b, 0x003f, 0x9a7c, 0x003f,
    +    0x9a7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x895c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9158, 0x003f, 0x9a78, 0x003f,
    +    0x9a79, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8a9a, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a81, 0x003f, 0x003f, 0x003f,
    +    0x8aed, 0x003f, 0x9a84, 0x9a80, 0x9a83, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x95ac, 0x003f, 0x003f, 0x003f,
    +    0x93d3, 0x003f, 0x94b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9a86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a85, 0x8a64,
    +    0x003f, 0x003f, 0x9a87, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a8a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a89, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9a88, 0x003f, 0x9458, 0x003f, 0x003f, 0x9a8b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a8c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a8e, 0x003f, 0x9a8d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9a90, 0x003f, 0x003f, 0x003f,
    +    0x9a93, 0x9a91, 0x9a8f, 0x9a92, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9a94, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a95, 0x003f,
    +    0x003f, 0x9a96, 0x003f, 0x9a97, 0x003f, 0x003f, 0x003f, 0x9a98,
    +    0x9964, 0x003f, 0x8efa, 0x8e6c, 0x003f, 0x003f, 0x89f1, 0x003f,
    +    0x88f6, 0x003f, 0x003f, 0x9263, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a99, 0x003f,
    +    0x8da2, 0x003f, 0x88cd, 0x907d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9a9a, 0x8cc5, 0x003f, 0x003f, 0x8d91, 0x003f, 0x9a9c,
    +    /* 0x5700 .. 0x57ff */
    +    0x9a9b, 0x003f, 0x003f, 0x95de, 0x9a9d, 0x003f, 0x003f, 0x003f,
    +    0x9a9f, 0x9a9e, 0x003f, 0x9aa0, 0x003f, 0x9aa1, 0x003f, 0x8c97,
    +    0x003f, 0x003f, 0x8980, 0x9aa2, 0x003f, 0x003f, 0x9aa4, 0x003f,
    +    0x9aa3, 0x003f, 0x003f, 0x003f, 0x9aa6, 0x003f, 0x003f, 0x9379,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9aa7, 0x88b3,
    +    0x8ddd, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c5c, 0x003f, 0x003f,
    +    0x926e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9aa8,
    +    0x9aa9, 0x003f, 0x003f, 0x9aab, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9aac, 0x003f, 0x8de2, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bcf,
    +    0x003f, 0x003f, 0x9656, 0x003f, 0x003f, 0x003f, 0x9aaa, 0x9aad,
    +    0x8dbf, 0x8d42, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xed79, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9ab1, 0x003f, 0x003f, 0x8da3, 0xed7a, 0x9252, 0x003f,
    +    0x003f, 0x9aae, 0x92d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ab2,
    +    0x003f, 0x003f, 0x9082, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9ab0, 0x9ab3, 0x003f, 0x8c5e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9ab4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9ab5, 0x003f, 0x8d43, 0x8a5f, 0x9ab7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9ab8, 0x003f, 0xed7b, 0x003f, 0x003f, 0x003f,
    +    0x9ab9, 0x003f, 0x003f, 0x9ab6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9aaf, 0x003f, 0x003f, 0x9aba, 0x003f, 0x003f, 0x9abb, 0xed7d,
    +    0xed7c, 0x003f, 0x003f, 0x9684, 0x003f, 0x003f, 0x8fe9, 0x003f,
    +    0x003f, 0x003f, 0x9abd, 0x9abe, 0x9abc, 0x003f, 0x9ac0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9457, 0x003f, 0x003f, 0x88e6,
    +    0x9575, 0x003f, 0x003f, 0x9ac1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8ffb, 0x003f, 0x003f, 0x8eb7,
    +    0x003f, 0x947c, 0x8aee, 0x003f, 0x8de9, 0x003f, 0x003f, 0x003f,
    +    /* 0x5800 .. 0x58ff */
    +    0x9678, 0x003f, 0x93b0, 0x003f, 0x003f, 0x8c98, 0x91cd, 0x003f,
    +    0x003f, 0x003f, 0x9abf, 0x9ac2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91c2, 0x003f, 0x003f,
    +    0x003f, 0x9ac3, 0x003f, 0x003f, 0x003f, 0x9ac4, 0x003f, 0x003f,
    +    0x003f, 0x9ac6, 0x003f, 0x003f, 0x92e7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8aac, 0x003f, 0x003f, 0x003f, 0x003f, 0xea9f,
    +    0x8981, 0x95f1, 0x003f, 0x003f, 0x8fea, 0x9367, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8de4, 0x003f, 0x003f, 0x9acc, 0x003f, 0x003f,
    +    0x95bb, 0x97db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x89f2, 0x9ac8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9159, 0x9acb, 0x003f, 0x9383, 0x003f, 0x003f, 0x9368,
    +    0x9384, 0x94b7, 0x92cb, 0x003f, 0x003f, 0x003f, 0x8dc7, 0x003f,
    +    0x003f, 0x003f, 0x9ac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8996, 0x003f, 0x9355, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9ac9, 0x003f, 0x9ac5, 0x003f, 0x003f, 0x906f, 0x003f, 0x003f,
    +    0x003f, 0x9acd, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f6d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8bab, 0x003f, 0x9ace, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x95e6, 0x003f, 0x003f, 0x003f, 0x919d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x92c4, 0x003f, 0xed81, 0x9ad0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x966e, 0x003f, 0x003f, 0x9ad1, 0x003f, 0x003f, 0x9ad6, 0x003f,
    +    0x003f, 0x003f, 0xed82, 0x95ad, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9ad5, 0x9acf, 0x9ad2, 0x9ad4, 0x003f, 0x003f, 0x8da4, 0x003f,
    +    0x003f, 0x95c7, 0x003f, 0x003f, 0x003f, 0x9ad7, 0x003f, 0x9264,
    +    0x003f, 0x003f, 0x89f3, 0x003f, 0x8feb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9ad9, 0x003f, 0x9ad8, 0x003f, 0x8d88, 0x003f, 0x9ada,
    +    0x9adc, 0x9adb, 0x003f, 0x003f, 0x9ade, 0x003f, 0x9ad3, 0x9ae0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9adf, 0x9add, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8e6d, 0x9070, 0x003f, 0x9173, 0x9ae1,
    +    0x90ba, 0x88eb, 0x9484, 0x003f, 0x003f, 0x003f, 0x003f, 0x92d9,
    +    0x003f, 0x9ae3, 0x9ae2, 0x9ae4, 0x9ae5, 0x9ae6, 0x003f, 0x003f,
    +    /* 0x5900 .. 0x59ff */
    +    0x003f, 0x003f, 0x9ae7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x95cf, 0x9ae8, 0xed83, 0x003f, 0x003f, 0x003f, 0x89c4,
    +    0x9ae9, 0x003f, 0x003f, 0x003f, 0x003f, 0x975b, 0x8a4f, 0x003f,
    +    0x99c7, 0x8f67, 0x91bd, 0x9aea, 0x96e9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x96b2, 0x003f, 0x003f, 0x9aec, 0x003f, 0x91e5,
    +    0x003f, 0x9356, 0x91be, 0x9576, 0x9aed, 0x9aee, 0x899b, 0x003f,
    +    0x003f, 0x8eb8, 0x9aef, 0x003f, 0x003f, 0x003f, 0x003f, 0x88ce,
    +    0x9af0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9af1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8982, 0x003f, 0x003f, 0x8aef,
    +    0x93de, 0x95f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x9af5, 0x9174,
    +    0x9af4, 0x8c5f, 0x003f, 0xed84, 0x967a, 0x9af3, 0x003f, 0x9385,
    +    0x9af7, 0x003f, 0x9af6, 0xed85, 0x003f, 0xed86, 0x003f, 0x003f,
    +    0x9af9, 0x003f, 0x9af8, 0xed87, 0x003f, 0x899c, 0x003f, 0x9afa,
    +    0x8fa7, 0x9afc, 0x9244, 0x003f, 0x9afb, 0x003f, 0x95b1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8f97, 0x937a, 0x003f, 0x003f, 0x003f,
    +    0x9b40, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d44, 0x003f, 0x003f,
    +    0x003f, 0x9b41, 0x9440, 0x94dc, 0x96cf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9444, 0x003f, 0x003f, 0x9b4a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8b57, 0x003f, 0x003f, 0x9764, 0x003f,
    +    0x003f, 0x96ad, 0x003f, 0x9baa, 0x003f, 0x9b42, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9b45, 0xed88, 0x91c3, 0x003f, 0x003f,
    +    0x9657, 0x003f, 0x003f, 0x003f, 0x9369, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9b46, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9685, 0xed89, 0x8dc8, 0x003f, 0x003f, 0x8fa8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b47, 0x003f,
    +    0x003f, 0x8e6f, 0x003f, 0x8e6e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x88b7, 0x8cc6, 0x003f, 0x90a9, 0x88cf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9b4b, 0x9b4c, 0x003f, 0x9b49, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8957, 0x8aad, 0x003f,
    +    0x9b48, 0x003f, 0x96c3, 0x9550, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88a6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x88f7, 0x003f, 0x003f, 0x003f, 0x8e70,
    +    /* 0x5a00 .. 0x5aff */
    +    0x003f, 0x88d0, 0x003f, 0x88a1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9b51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9b4f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x96ba, 0x003f, 0x9b52, 0x003f, 0x9b50, 0x003f, 0x003f, 0x9b4e,
    +    0x9050, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b4d, 0x003f, 0x003f,
    +    0x003f, 0x95d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ce2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b56, 0x9b57, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8fa9, 0x003f, 0x003f, 0x003f,
    +    0x9b53, 0x984b, 0x003f, 0x003f, 0x003f, 0x003f, 0x946b, 0x003f,
    +    0x003f, 0x9b55, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8da5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9b58, 0x003f, 0x003f, 0x003f, 0x9577, 0x003f,
    +    0x003f, 0x003f, 0x9b59, 0x003f, 0x9b54, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x96b9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x947d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9b5a, 0x9551, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9b5b, 0x9b5f, 0x9b5c, 0x003f,
    +    0x003f, 0x89c5, 0x9b5e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8eb9, 0x003f, 0x9b5d, 0x8c99, 0x003f, 0x003f, 0x003f,
    +    0x9b6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b64, 0x9b61,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9284, 0x003f, 0x9b60, 0x003f, 0x003f, 0x9b62, 0x003f,
    +    0x003f, 0x9b63, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9b65, 0x9b66, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5b00 .. 0x5bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8af0, 0x003f, 0x9b68, 0x9b67, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b69, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8fec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9b6c, 0x003f, 0x92da, 0x003f, 0x003f, 0x003f,
    +    0x8964, 0x003f, 0x9b6a, 0x003f, 0x003f, 0x003f, 0x9b6d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b6e, 0x003f,
    +    0x9b71, 0x003f, 0x003f, 0x9b6f, 0x003f, 0x9b70, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8e71, 0x9b72, 0x003f, 0x003f, 0x8d45, 0x9b73, 0xed8a, 0x8e9a,
    +    0x91b6, 0x003f, 0x9b74, 0x9b75, 0x8e79, 0x8d46, 0x003f, 0x96d0,
    +    0x003f, 0x003f, 0x003f, 0x8b47, 0x8cc7, 0x9b76, 0x8a77, 0x003f,
    +    0x003f, 0x9b77, 0x003f, 0x91b7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9b78, 0x9ba1, 0x003f, 0x9b79, 0x003f, 0x9b7a, 0x003f, 0x003f,
    +    0x9b7b, 0x003f, 0x9b7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9b7e, 0x003f, 0x003f, 0x9b80, 0x003f, 0x91ee, 0x003f, 0x8946,
    +    0x8ee7, 0x88c0, 0x003f, 0x9176, 0x8aae, 0x8eb3, 0x003f, 0x8d47,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9386, 0x003f, 0x8f40,
    +    0x8aaf, 0x9288, 0x92e8, 0x88b6, 0x8b58, 0x95f3, 0x003f, 0x8ec0,
    +    0x003f, 0x003f, 0x8b71, 0x90e9, 0x8eba, 0x9747, 0x9b81, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b7b, 0x003f,
    +    0x8dc9, 0x003f, 0x003f, 0x8a51, 0x8983, 0x8faa, 0x89c6, 0x003f,
    +    0x9b82, 0x9765, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f68,
    +    0xed8b, 0x003f, 0x8ee2, 0x9b83, 0x8af1, 0x93d0, 0x96a7, 0x9b84,
    +    0x003f, 0x9b85, 0x003f, 0x003f, 0x9578, 0x003f, 0x003f, 0x003f,
    +    0x9b87, 0x003f, 0x8aa6, 0x8bf5, 0x9b86, 0x003f, 0x003f, 0x003f,
    +    0xed8d, 0x003f, 0x003f, 0x8ab0, 0x003f, 0x9051, 0x9b8b, 0x8e40,
    +    0x003f, 0x89c7, 0x9b8a, 0x003f, 0x9b88, 0x9b8c, 0x9b89, 0x944a,
    +    0x9ecb, 0x9052, 0x003f, 0x9b8d, 0xed8e, 0x003f, 0x97be, 0x003f,
    +    0x9b8e, 0x003f, 0x003f, 0x9b90, 0x003f, 0x929e, 0x9b8f, 0x003f,
    +    0x90a1, 0x003f, 0x8e9b, 0x003f, 0x003f, 0x003f, 0x91ce, 0x8ef5,
    +    /* 0x5c00 .. 0x5cff */
    +    0x003f, 0x9595, 0x90ea, 0x003f, 0x8ecb, 0x9b91, 0x8fab, 0x9b92,
    +    0x9b93, 0x88d1, 0x91b8, 0x9071, 0x003f, 0x9b94, 0x93b1, 0x8fac,
    +    0x003f, 0x8fad, 0x003f, 0x9b95, 0x003f, 0x003f, 0x90eb, 0x003f,
    +    0x003f, 0x003f, 0x8fae, 0x003f, 0x003f, 0x003f, 0xed8f, 0x003f,
    +    0x9b96, 0x003f, 0x9b97, 0x003f, 0x96de, 0x003f, 0x003f, 0x003f,
    +    0x9b98, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bc4, 0x003f, 0x003f,
    +    0x003f, 0x8f41, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9b99, 0x9b9a, 0x8eda, 0x904b, 0x93f2, 0x9073, 0x94f6, 0x9441,
    +    0x8bc7, 0x9b9b, 0x003f, 0x003f, 0x003f, 0x8b8f, 0x9b9c, 0x003f,
    +    0x8bfc, 0x003f, 0x93cd, 0x89ae, 0x003f, 0x8e72, 0x9b9d, 0x9ba0,
    +    0x9b9f, 0x8bfb, 0x003f, 0x9b9e, 0x003f, 0x9357, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91ae, 0x003f,
    +    0x936a, 0x8ec6, 0x003f, 0x003f, 0x9177, 0x979a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9ba2, 0x003f, 0x9ba3, 0x93d4,
    +    0x003f, 0x8e52, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ba5, 0x003f,
    +    0x003f, 0x9ba6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9ba7, 0x003f, 0x003f, 0x003f,
    +    0x8af2, 0x9ba8, 0x003f, 0x003f, 0x9ba9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x89aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xed90, 0x003f,
    +    0x915a, 0x8ae2, 0x003f, 0x9bab, 0x96a6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x91d0, 0x003f, 0x8a78, 0x003f, 0x003f, 0x9bad, 0x9baf,
    +    0x8add, 0x003f, 0xed91, 0x9bac, 0x9bae, 0x003f, 0x9bb1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bb0, 0x003f, 0x9bb2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9bb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x93bb, 0x8bac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x89e3, 0x9bb4, 0x9bb9, 0x003f, 0x003f, 0x9bb7, 0x003f, 0x95f5,
    +    0x95f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xed92, 0x9387, 0x003f,
    +    0x003f, 0x003f, 0x9bb6, 0x8f73, 0x003f, 0x9bb5, 0x003f, 0x003f,
    +    /* 0x5d00 .. 0x5dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9092,
    +    0x003f, 0x003f, 0x003f, 0x9bba, 0x003f, 0x003f, 0x8de8, 0x003f,
    +    0x003f, 0x9bc0, 0x003f, 0x003f, 0x9bc1, 0x9bbb, 0x8a52, 0x9bbc,
    +    0x9bc5, 0x9bc4, 0x9bc3, 0x9bbf, 0x003f, 0x003f, 0x003f, 0x9bbe,
    +    0x003f, 0x003f, 0x9bc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xed93,
    +    0x003f, 0x95f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xed96, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9bc9, 0x9bc6, 0x003f, 0x9bc8, 0x003f,
    +    0x9792, 0x003f, 0x9bc7, 0xed94, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9bbd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9093, 0x003f, 0x003f, 0x9bca, 0xed97, 0x003f, 0x8db5,
    +    0x003f, 0x003f, 0x003f, 0x9bcb, 0x003f, 0x003f, 0x9bcc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9bcf, 0x003f, 0x9bce, 0x003f, 0x003f, 0x9bcd,
    +    0x003f, 0x003f, 0x003f, 0x9388, 0x9bb8, 0x003f, 0x003f, 0x003f,
    +    0x9bd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bd1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9bd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9bd2, 0x003f, 0x9bd3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bd6,
    +    0xed98, 0xed99, 0x97e4, 0x003f, 0x9bd7, 0x9bd4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9bd8, 0x003f, 0x003f, 0x8ade, 0x9bd9, 0x003f, 0x003f,
    +    0xed9a, 0x003f, 0x9bdb, 0x9bda, 0x003f, 0x003f, 0x9bdc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9bdd, 0x003f, 0x90ec, 0x8f42, 0x003f,
    +    0x003f, 0x8f84, 0x003f, 0x9183, 0x003f, 0x8d48, 0x8db6, 0x8d49,
    +    0x8b90, 0x003f, 0x003f, 0x9bde, 0x003f, 0x003f, 0x8db7, 0x003f,
    +    0x003f, 0x8cc8, 0x9bdf, 0x96a4, 0x9462, 0x9be0, 0x003f, 0x8d4a,
    +    0x003f, 0x003f, 0x003f, 0x8aaa, 0x003f, 0x9246, 0x8bd0, 0x003f,
    +    /* 0x5e00 .. 0x5eff */
    +    0x003f, 0x003f, 0x8e73, 0x957a, 0x003f, 0x003f, 0x94bf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9be1, 0x8af3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9be4, 0x003f, 0x003f, 0x003f, 0x003f, 0x929f, 0x003f,
    +    0x003f, 0x9be3, 0x9be2, 0x9be5, 0x003f, 0x92e9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9083, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8e74, 0x003f, 0x90c8, 0x003f, 0x91d1,
    +    0x8b41, 0x003f, 0x003f, 0x92a0, 0x003f, 0x003f, 0x9be6, 0x9be7,
    +    0x8fed, 0x003f, 0x003f, 0x003f, 0x003f, 0x9658, 0x003f, 0x003f,
    +    0x9bea, 0x003f, 0x003f, 0x9be9, 0x9be8, 0x959d, 0x003f, 0x9bf1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9679, 0x003f, 0x9beb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9bed, 0x968b, 0x003f, 0x9bec,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bee,
    +    0x003f, 0x94a6, 0x9bef, 0x95bc, 0x9bf0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8ab1, 0x95bd, 0x944e, 0x9bf2, 0x9bf3, 0x003f,
    +    0x8d4b, 0x8ab2, 0x9bf4, 0x8cb6, 0x9763, 0x9748, 0x8af4, 0x9bf6,
    +    0x003f, 0x92a1, 0x003f, 0x8d4c, 0x8faf, 0x003f, 0x003f, 0x94dd,
    +    0x003f, 0x003f, 0x8fb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f98,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92ea, 0x95f7, 0x9358,
    +    0x003f, 0x003f, 0x8d4d, 0x003f, 0x957b, 0x003f, 0x003f, 0x003f,
    +    0x9bf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9378, 0x8dc0,
    +    0x003f, 0x003f, 0x003f, 0x8cc9, 0x003f, 0x92eb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88c1, 0x8f8e, 0x8d4e,
    +    0x9766, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9bf8, 0x9bf9, 0x9470, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9bfa, 0x97f5, 0x984c, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bfc,
    +    0x9bfb, 0x003f, 0x003f, 0x8a66, 0x003f, 0x003f, 0x9c40, 0x003f,
    +    0x003f, 0x003f, 0x9c43, 0x9c44, 0x003f, 0x9c42, 0x003f, 0x955f,
    +    0x8fb1, 0x9c46, 0x9c45, 0x9c41, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9c47, 0x9c48, 0x003f, 0x003f, 0x9c49, 0x003f, 0x003f, 0x003f,
    +    0x9c4c, 0x9c4a, 0x003f, 0x9c4b, 0x9c4d, 0x003f, 0x8984, 0x92ec,
    +    0x9c4e, 0x003f, 0x8c9a, 0x89f4, 0x9455, 0x003f, 0x9c4f, 0x93f9,
    +    /* 0x5f00 .. 0x5fff */
    +    0x003f, 0x95d9, 0x003f, 0x9c50, 0x984d, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9c51, 0x95be, 0x9c54, 0x989f, 0x98af, 0x003f, 0x8eae,
    +    0x93f3, 0x9c55, 0x003f, 0x8b7c, 0x92a2, 0x88f8, 0x9c56, 0x95a4,
    +    0x8d4f, 0x003f, 0x003f, 0x926f, 0x003f, 0x003f, 0x003f, 0x92ed,
    +    0x003f, 0xed9b, 0x003f, 0x003f, 0x003f, 0x96ed, 0x8cb7, 0x8cca,
    +    0x003f, 0x9c57, 0x003f, 0x003f, 0x003f, 0x9c58, 0x003f, 0x9c5e,
    +    0x003f, 0x8ee3, 0x003f, 0x003f, 0xed9c, 0x92a3, 0x003f, 0x8bad,
    +    0x9c59, 0x003f, 0x003f, 0x003f, 0x954a, 0x003f, 0x9265, 0x003f,
    +    0x003f, 0x9c5a, 0x003f, 0x003f, 0x003f, 0xed4b, 0x003f, 0x003f,
    +    0x9c5b, 0x003f, 0x8bae, 0x003f, 0x9c5c, 0x003f, 0x9c5d, 0x003f,
    +    0x003f, 0x9c5f, 0x003f, 0x9396, 0x003f, 0x003f, 0x9c60, 0x9c61,
    +    0x003f, 0x9c62, 0x003f, 0x003f, 0x9c53, 0x9c52, 0x003f, 0x003f,
    +    0x003f, 0x9c63, 0x8c60, 0x003f, 0x003f, 0x003f, 0x9546, 0xed9d,
    +    0x003f, 0x8dca, 0x9556, 0x92a4, 0x956a, 0x9c64, 0x003f, 0x003f,
    +    0x8fb2, 0x8965, 0x003f, 0x9c65, 0x003f, 0x003f, 0x003f, 0x9c66,
    +    0x003f, 0x96f0, 0x003f, 0x003f, 0x94de, 0x003f, 0x003f, 0x9c69,
    +    0x899d, 0x90aa, 0x9c68, 0x9c67, 0x8c61, 0x91d2, 0x003f, 0x9c6d,
    +    0x9c6b, 0x003f, 0x9c6a, 0x97a5, 0x8ce3, 0x003f, 0x003f, 0x003f,
    +    0x8f99, 0x9c6c, 0x936b, 0x8f5d, 0x003f, 0x003f, 0x003f, 0x93be,
    +    0x9c70, 0x9c6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c6e, 0x003f,
    +    0x9c71, 0x8ce4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9c72, 0x959c, 0x8f7a, 0x003f, 0x003f, 0x9c73, 0x94f7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x93bf, 0x92a5, 0x003f, 0x003f, 0xed9e,
    +    0x003f, 0x934f, 0x003f, 0x003f, 0x9c74, 0x8b4a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9053, 0x003f, 0x954b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8af5, 0x9445, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c75, 0x8e75,
    +    0x9659, 0x965a, 0x003f, 0x003f, 0x899e, 0x9c7a, 0xed9f, 0x003f,
    +    0x9289, 0x003f, 0x003f, 0x003f, 0x9c77, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x89f5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9cab, 0x9c79, 0x003f, 0x003f, 0x003f, 0x944f, 0x003f, 0x003f,
    +    0x9c78, 0x003f, 0x003f, 0x9c76, 0x003f, 0x8d9a, 0x003f, 0x9c7c,
    +    /* 0x6000 .. 0x60ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c83, 0x9c89,
    +    0x9c81, 0x003f, 0x937b, 0x003f, 0x003f, 0x9c86, 0x957c, 0x003f,
    +    0x003f, 0x9c80, 0x003f, 0x9c85, 0x97e5, 0x8e76, 0x003f, 0x003f,
    +    0x91d3, 0x9c7d, 0x003f, 0x003f, 0x003f, 0x8b7d, 0x9c88, 0x90ab,
    +    0x8985, 0x9c82, 0x89f6, 0x9c87, 0x003f, 0x003f, 0x003f, 0x8baf,
    +    0x003f, 0x9c84, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9c8a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9c8c, 0x9c96, 0x9c94, 0x003f, 0x003f, 0x9c91, 0x003f,
    +    0x003f, 0x003f, 0x9c90, 0x97f6, 0x003f, 0x9c92, 0x003f, 0x003f,
    +    0x8bb0, 0x003f, 0x8d50, 0x003f, 0x003f, 0x8f9a, 0x003f, 0x003f,
    +    0x003f, 0x9c99, 0x9c8b, 0x003f, 0x003f, 0xeda0, 0x003f, 0x9c8f,
    +    0x9c7e, 0x003f, 0x89f8, 0x9c93, 0x9c95, 0x9270, 0x003f, 0x003f,
    +    0x8da6, 0x89b6, 0x9c8d, 0x9c98, 0x9c97, 0x8bb1, 0x003f, 0x91a7,
    +    0x8a86, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c62, 0x003f, 0x9c8e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9c9a, 0x003f, 0x9c9d, 0x9c9f, 0xeda1, 0x003f, 0x003f,
    +    0x003f, 0x8ebb, 0xeda2, 0x9ca5, 0x92ee, 0x9c9b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9ca3, 0x003f, 0x89f7, 0x003f, 0x9ca1, 0x9ca2,
    +    0x003f, 0x003f, 0x9c9e, 0x9ca0, 0x003f, 0x003f, 0x003f, 0x8ce5,
    +    0x9749, 0x003f, 0x003f, 0x8ab3, 0x003f, 0x003f, 0x8978, 0x9ca4,
    +    0x003f, 0x9459, 0x88ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x94df, 0x9c7b, 0x9caa, 0x9cae, 0x96e3, 0x003f,
    +    0x9ca7, 0x003f, 0x003f, 0x003f, 0x9389, 0x9cac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fee, 0x9cad, 0x93d5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9866, 0x003f, 0x9ca9, 0x003f, 0xeda4, 0x003f, 0x003f,
    +    0x9caf, 0x003f, 0x8d9b, 0x003f, 0x90c9, 0x003f, 0xeda3, 0x88d2,
    +    0x9ca8, 0x9ca6, 0x003f, 0x9179, 0x003f, 0x003f, 0x003f, 0x9c9c,
    +    0x8e53, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x91c4, 0x9cbb, 0xeda6, 0x917a, 0x9cb6, 0x003f, 0x9cb3, 0x9cb4,
    +    0x003f, 0x8ee4, 0x9cb7, 0x9cba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6100 .. 0x61ff */
    +    0x9cb5, 0x8f44, 0x003f, 0x9cb8, 0x003f, 0x003f, 0x9cb2, 0x003f,
    +    0x96fa, 0x96f9, 0x003f, 0x003f, 0x003f, 0x9cbc, 0x9cbd, 0x88d3,
    +    0x003f, 0xeda7, 0x003f, 0x003f, 0x003f, 0x9cb1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8bf0, 0x88a4, 0x003f, 0x003f, 0x003f, 0x8ab4,
    +    0xeda5, 0x9cb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9cc1,
    +    0x9cc0, 0x003f, 0x003f, 0x003f, 0x9cc5, 0x003f, 0x003f, 0x003f,
    +    0xeda9, 0x003f, 0x003f, 0x003f, 0x9cc6, 0x003f, 0x003f, 0xeda8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9cc4, 0x9cc7, 0x9cbf, 0x9cc3,
    +    0x003f, 0x003f, 0x9cc8, 0x003f, 0x9cc9, 0x003f, 0x003f, 0x9cbe,
    +    0x8e9c, 0x003f, 0x9cc2, 0x91d4, 0x8d51, 0x9cb0, 0x9054, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9cd6, 0x003f, 0x95e7, 0x003f, 0x003f,
    +    0x9ccc, 0x9ccd, 0x9cce, 0x003f, 0x003f, 0x9cd5, 0x003f, 0x9cd4,
    +    0x003f, 0x003f, 0x969d, 0x8ab5, 0x003f, 0x9cd2, 0x003f, 0x8c64,
    +    0x8a53, 0x003f, 0x003f, 0x9ccf, 0x003f, 0x003f, 0x97b6, 0x9cd1,
    +    0x88d4, 0x9cd3, 0x003f, 0x9cca, 0x9cd0, 0x9cd7, 0x8c63, 0x9ccb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x977c, 0x003f,
    +    0x003f, 0x003f, 0x974a, 0x003f, 0x003f, 0x003f, 0x003f, 0x9cda,
    +    0x003f, 0x003f, 0x9cde, 0x003f, 0x003f, 0x003f, 0x919e, 0x003f,
    +    0x97f7, 0x9cdf, 0x003f, 0x003f, 0x9cdc, 0x003f, 0x9cd9, 0x003f,
    +    0xedaa, 0x9cd8, 0x9cdd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x95ae, 0x003f, 0x003f, 0x93b2,
    +    0x003f, 0x8c65, 0x003f, 0x9ce0, 0x9cdb, 0x003f, 0x9ce1, 0x003f,
    +    0x003f, 0x003f, 0x8c9b, 0x003f, 0x003f, 0x003f, 0x89af, 0x003f,
    +    0x003f, 0x003f, 0x9ce9, 0x003f, 0x003f, 0x003f, 0x8ab6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9ce7, 0x003f, 0x003f, 0x9ce8, 0x8da7,
    +    0x9ce6, 0x9ce4, 0x9ce3, 0x9cea, 0x9ce2, 0x9cec, 0x003f, 0x003f,
    +    0x89f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9cee, 0x003f, 0x003f, 0x9ced, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x92a6, 0x003f, 0x9cf1, 0x003f, 0x9cef, 0x9ce5,
    +    0x8c9c, 0x003f, 0x9cf0, 0x003f, 0x9cf4, 0x9cf3, 0x9cf5, 0x9cf2,
    +    /* 0x6200 .. 0x62ff */
    +    0x9cf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9cf7, 0x9cf8, 0x95e8, 0x003f, 0x9cfa, 0x9cf9, 0x8f5e, 0x003f,
    +    0x90ac, 0x89e4, 0x89fa, 0xedab, 0x9cfb, 0x003f, 0x88bd, 0x003f,
    +    0x003f, 0x003f, 0x90ca, 0x9cfc, 0x003f, 0xe6c1, 0x9d40, 0x8c81,
    +    0x003f, 0x9d41, 0x003f, 0x003f, 0x003f, 0x003f, 0x90ed, 0x003f,
    +    0x003f, 0x003f, 0x9d42, 0x003f, 0x003f, 0x003f, 0x9d43, 0x8b59,
    +    0x9d44, 0x003f, 0x9d45, 0x9d46, 0x91d5, 0x003f, 0x003f, 0x003f,
    +    0x8ccb, 0x003f, 0x003f, 0x96df, 0x003f, 0x003f, 0x003f, 0x965b,
    +    0x8f8a, 0x9d47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90ee,
    +    0xe7bb, 0x94e0, 0x003f, 0x8ee8, 0x003f, 0x8dcb, 0x9d48, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x91c5, 0x003f, 0x95a5, 0x003f, 0x003f,
    +    0x91ef, 0x003f, 0x003f, 0x9d4b, 0x003f, 0x003f, 0x9d49, 0x003f,
    +    0x9d4c, 0x003f, 0x003f, 0x9d4a, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9d4d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95af, 0x003f,
    +    0x003f, 0x88b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x957d, 0x003f,
    +    0x003f, 0x94e1, 0x003f, 0x003f, 0x9d4e, 0x003f, 0x9d51, 0x8fb3,
    +    0x8b5a, 0x003f, 0x9d4f, 0x9d56, 0x8fb4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9d50, 0x9463, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x977d, 0x9d52, 0x9d53, 0x9d57, 0x938a, 0x9d54, 0x8d52,
    +    0x90dc, 0x003f, 0x003f, 0x9d65, 0x94b2, 0x003f, 0x91f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedac, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x94e2, 0x9dab, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x95f8, 0x003f, 0x003f, 0x003f, 0x92ef, 0x003f, 0x003f,
    +    0x003f, 0x9695, 0x003f, 0x9d5a, 0x899f, 0x928a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9d63, 0x003f, 0x003f, 0x9253, 0x9d5d, 0x9d64,
    +    0x9d5f, 0x9d66, 0x9d62, 0x003f, 0x9d61, 0x948f, 0x003f, 0x9d5b,
    +    0x89fb, 0x9d59, 0x8b91, 0x91f1, 0x9d55, 0x003f, 0x003f, 0x9d58,
    +    0x8d53, 0x90d9, 0x003f, 0x8fb5, 0x9d60, 0x9471, 0x003f, 0x003f,
    +    0x8b92, 0x8a67, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8a87, 0x9040, 0x9d68, 0x9d6d,
    +    0x003f, 0x9d69, 0x003f, 0x8c9d, 0x003f, 0x9d6e, 0x8e41, 0x8d89,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f45, 0x9d5c,
    +    /* 0x6300 .. 0x63ff */
    +    0x003f, 0x8e9d, 0x9d6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e77,
    +    0x9d6c, 0x88c2, 0x003f, 0x003f, 0x9d67, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x92a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8b93, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bb2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d6a,
    +    0x88a5, 0x003f, 0x003f, 0x8dc1, 0x003f, 0x003f, 0x003f, 0x9055,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x92f0, 0x003f, 0x003f, 0x94d2, 0x9d70, 0x917d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x91a8, 0x003f, 0x003f, 0x8e4a, 0x9d71, 0x003f, 0x9d73,
    +    0x9d6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95df, 0x003f, 0x92bb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x917b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95f9,
    +    0x8ecc, 0x9d80, 0x003f, 0x9d7e, 0x003f, 0x003f, 0x9098, 0x003f,
    +    0x003f, 0x003f, 0x8c9e, 0x003f, 0x003f, 0x003f, 0x9d78, 0x8fb7,
    +    0x003f, 0x003f, 0x93e6, 0x9450, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9d76, 0x003f, 0x003f, 0x917c, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8ef6, 0x9d7b, 0x003f, 0x003f, 0x8fb6, 0x003f, 0x9d75, 0x9d7a,
    +    0x003f, 0x003f, 0x9472, 0x003f, 0x003f, 0x003f, 0x9d74, 0x003f,
    +    0x8c40, 0x003f, 0x003f, 0x8a7c, 0x003f, 0x003f, 0x003f, 0x9d7c,
    +    0x97a9, 0x8dcc, 0x9254, 0x9d79, 0x003f, 0x90da, 0x003f, 0x8d54,
    +    0x9084, 0x8986, 0x915b, 0x9d77, 0x8b64, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8c66, 0x003f, 0x92cd, 0x9d7d, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x917e, 0x003f, 0x003f, 0x9d81, 0x003f,
    +    0x9d83, 0x003f, 0x003f, 0x91b5, 0x9d89, 0x003f, 0x9d84, 0x003f,
    +    0x003f, 0x9d86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9560,
    +    0x92f1, 0x003f, 0x9d87, 0x003f, 0x003f, 0x003f, 0x974b, 0x003f,
    +    0x003f, 0x003f, 0x9767, 0x8ab7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x88ac, 0x003f, 0x9d85, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9d82, 0x003f, 0x003f, 0x003f, 0x003f, 0x8af6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8987, 0xedad, 0x9d88, 0x003f,
    +    0x003f, 0x003f, 0x9768, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6400 .. 0x64ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d8c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91b9, 0x003f, 0x9d93,
    +    0x003f, 0x003f, 0x003f, 0x9d8d, 0x003f, 0x003f, 0x9d8a, 0x9d91,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9d72, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d8e, 0x003f,
    +    0x9d92, 0x003f, 0x003f, 0x003f, 0x94c0, 0x938b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9d8b, 0x003f, 0x9d8f, 0x003f,
    +    0x003f, 0x003f, 0x8c67, 0x003f, 0x003f, 0x003f, 0x8def, 0x003f,
    +    0x003f, 0x003f, 0x90db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d97, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9345, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d94,
    +    0x003f, 0x9680, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d95,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d96, 0x003f,
    +    0x96cc, 0x003f, 0x90a0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8c82, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9d9d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8e54, 0x9d9a, 0x003f, 0x9d99, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9451, 0x003f, 0x003f, 0xedaf, 0x93b3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9350, 0x9d9b, 0x003f, 0x003f,
    +    0x003f, 0x9d9c, 0x003f, 0x958f, 0x003f, 0x9464, 0x8e42, 0x003f,
    +    0x90ef, 0x003f, 0x966f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8a68, 0x003f, 0x9da3, 0x9d9e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9769, 0x9da5, 0x003f, 0x003f, 0x9da1, 0x003f, 0x9da2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9180, 0xedb0, 0x003f,
    +    0x003f, 0x003f, 0x9da0, 0x003f, 0x9d5e, 0x003f, 0x003f, 0x003f,
    +    0x9da4, 0x003f, 0x9d9f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9da9, 0x9daa, 0x9346, 0x9dac, 0x003f, 0x003f, 0x8e43, 0x9da7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8b5b, 0x003f, 0x003f, 0x9dad,
    +    0x003f, 0x9da6, 0x9db1, 0x003f, 0x9db0, 0x003f, 0x9daf, 0x003f,
    +    0x003f, 0x003f, 0x9db2, 0x003f, 0x003f, 0x9db4, 0x8fef, 0x003f,
    +    /* 0x6500 .. 0x65ff */
    +    0x9db3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9db7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9db5, 0x003f, 0x003f, 0x003f, 0x9db6, 0x9d90, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9db9, 0x9db8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9d98, 0x9dba, 0x9dae, 0x003f, 0x003f, 0x8e78,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9dbb, 0x9dbc, 0x9dbe, 0x9dbd,
    +    0x9dbf, 0x89fc, 0x003f, 0x8d55, 0x003f, 0x003f, 0x95fa, 0x90ad,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ccc, 0x003f, 0x003f,
    +    0x9dc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x9dc4, 0xedb1, 0x9571,
    +    0x003f, 0x8b7e, 0x003f, 0x003f, 0x003f, 0x9dc3, 0x9dc2, 0x9473,
    +    0x9dc5, 0x8bb3, 0x003f, 0x003f, 0x003f, 0x9dc7, 0x9dc6, 0x003f,
    +    0x003f, 0x003f, 0x8ab8, 0x8e55, 0x003f, 0x003f, 0x93d6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8c68, 0x003f, 0x003f, 0x003f,
    +    0x9094, 0x003f, 0x9dc8, 0x003f, 0x90ae, 0x9347, 0x003f, 0x957e,
    +    0x9dc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9dca, 0x9dcb, 0x003f, 0x003f, 0x003f, 0x95b6,
    +    0x9b7c, 0x90c4, 0x003f, 0x003f, 0x956b, 0x003f, 0x8dd6, 0x003f,
    +    0x94e3, 0x94c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x936c,
    +    0x003f, 0x97bf, 0x003f, 0x9dcd, 0x8ece, 0x003f, 0x003f, 0x9dce,
    +    0x003f, 0x88b4, 0x003f, 0x003f, 0x8bd2, 0x90cb, 0x003f, 0x9580,
    +    0x003f, 0x003f, 0x003f, 0x9dcf, 0x8e61, 0x9266, 0x003f, 0x8e7a,
    +    0x9056, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9dd0,
    +    0x003f, 0x95fb, 0x003f, 0x003f, 0x8997, 0x8e7b, 0x003f, 0x003f,
    +    0x003f, 0x9dd3, 0x003f, 0x9dd1, 0x9dd4, 0x97b7, 0x9dd2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x90f9, 0x9dd5, 0x003f, 0x003f, 0x91b0,
    +    0x003f, 0x003f, 0x9dd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x8af8,
    +    0x003f, 0x9dd8, 0x003f, 0x9dd7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9dd9, 0x9dda, 0x8af9, 0x003f, 0x003f, 0x93fa, 0x9255, 0x8b8c,
    +    0x8e7c, 0x9181, 0x003f, 0x003f, 0x8f7b, 0x88ae, 0x003f, 0x003f,
    +    0x003f, 0x9ddb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x89a0, 0x9ddf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6600 .. 0x66ff */
    +    0xedb2, 0x003f, 0x8d56, 0x9dde, 0x003f, 0x003f, 0x8da9, 0x8fb8,
    +    0x003f, 0xedb5, 0x9ddd, 0x003f, 0x8fb9, 0x003f, 0x96be, 0x8da8,
    +    0x003f, 0x003f, 0x003f, 0x88d5, 0x90cc, 0xedb3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9de4, 0x003f, 0xedb7, 0x90af,
    +    0x8966, 0x003f, 0x003f, 0x003f, 0xedb8, 0x8f74, 0x003f, 0x9686,
    +    0x8df0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fba, 0xedb6, 0x90a5,
    +    0x003f, 0xed47, 0x003f, 0x003f, 0x9de3, 0x9de1, 0x9de2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedb4, 0x928b, 0x003f, 0x003f, 0x9e45,
    +    0x003f, 0x9de8, 0x8e9e, 0x8d57, 0x9de6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9de7, 0x003f, 0x9057, 0x003f, 0x003f, 0x003f, 0x9de5,
    +    0x003f, 0x003f, 0x8e4e, 0x003f, 0x003f, 0x003f, 0x003f, 0xedba,
    +    0x003f, 0xedbb, 0x003f, 0x003f, 0x003f, 0x9dea, 0x9de9, 0x9dee,
    +    0x003f, 0x003f, 0x9def, 0x003f, 0x9deb, 0xedb9, 0x8a41, 0x9dec,
    +    0x9ded, 0x94d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9581, 0x8c69,
    +    0x9df0, 0x003f, 0x003f, 0xedbd, 0x90b0, 0x003f, 0x8fbb, 0x003f,
    +    0x003f, 0x003f, 0x9271, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8bc5, 0x003f, 0x9df1, 0x9df5, 0x003f, 0x003f, 0x89c9,
    +    0x9df2, 0x9df4, 0x003f, 0x003f, 0x003f, 0x003f, 0x9df3, 0x003f,
    +    0x003f, 0x8f8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x9267, 0x88c3,
    +    0x9df6, 0xedbe, 0x003f, 0x003f, 0x003f, 0x9df7, 0x003f, 0x003f,
    +    0xedbf, 0x003f, 0x92a8, 0x003f, 0x003f, 0x003f, 0x97ef, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8e62, 0x003f, 0x003f, 0x95e9, 0x003f,
    +    0x003f, 0x003f, 0xedc0, 0x003f, 0x965c, 0x003f, 0x003f, 0x003f,
    +    0x9e41, 0x9df9, 0x003f, 0x003f, 0x9dfc, 0x003f, 0x9dfb, 0xedc1,
    +    0x003f, 0x9df8, 0x003f, 0x003f, 0x9e40, 0x003f, 0x003f, 0x93dc,
    +    0x003f, 0x9dfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e42, 0x003f,
    +    0x003f, 0x8f8c, 0x9e43, 0x003f, 0x976a, 0x9498, 0x003f, 0x003f,
    +    0x9e44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e46, 0x003f,
    +    0x003f, 0x9e47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9e48, 0x003f, 0x8bc8, 0x8967, 0x8d58, 0x9e49, 0x003f, 0x9e4a,
    +    0x8f91, 0x9182, 0xedc2, 0xed4a, 0x99d6, 0x915d, 0x915c, 0x91d6,
    +    /* 0x6700 .. 0x67ff */
    +    0x8dc5, 0x003f, 0x003f, 0x98f0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8c8e, 0x974c, 0x003f, 0x95fc, 0x003f, 0x959e, 0xedc3, 0x9e4b,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8df1, 0x92bd, 0x9e4c, 0x984e,
    +    0x003f, 0x003f, 0x003f, 0x965d, 0x003f, 0x92a9, 0x9e4d, 0x8afa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e4e, 0x9e4f,
    +    0x96d8, 0x003f, 0x96a2, 0x9696, 0x967b, 0x8e44, 0x9e51, 0x003f,
    +    0x003f, 0x8ee9, 0x003f, 0x003f, 0x9670, 0x003f, 0x9e53, 0x9e56,
    +    0x9e55, 0x003f, 0x8af7, 0x003f, 0x003f, 0x8b80, 0x003f, 0x9e52,
    +    0x003f, 0x9e54, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e57, 0x003f,
    +    0x003f, 0x9099, 0x003f, 0x003f, 0x003f, 0x003f, 0x979b, 0x88c7,
    +    0x8dde, 0x91ba, 0x003f, 0x8edb, 0x003f, 0x003f, 0x8ff1, 0x003f,
    +    0x003f, 0x9e5a, 0x003f, 0x003f, 0x936d, 0x003f, 0x9e58, 0x91a9,
    +    0x9e59, 0x8ff0, 0x96db, 0x9e5b, 0x9e5c, 0x9788, 0xedc5, 0x003f,
    +    0x003f, 0x003f, 0x9e61, 0x003f, 0x003f, 0x8d59, 0x003f, 0x9474,
    +    0x9e5e, 0x938c, 0x9ddc, 0x9de0, 0x003f, 0x8b6e, 0x003f, 0x9466,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9e60, 0x003f, 0x8fbc, 0x94c2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e66, 0x003f, 0x94f8,
    +    0x003f, 0x9e5d, 0x003f, 0x9e63, 0x9e62, 0x003f, 0x003f, 0x003f,
    +    0x90cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x968d, 0x003f, 0x97d1,
    +    0x003f, 0x003f, 0x9687, 0x003f, 0x89ca, 0x8e7d, 0x003f, 0x003f,
    +    0x9867, 0x9e65, 0x9095, 0x003f, 0x003f, 0x003f, 0x9e64, 0x003f,
    +    0x003f, 0x9e5f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ccd,
    +    0x003f, 0x003f, 0x003f, 0x9e6b, 0x9e69, 0x003f, 0x89cb, 0x9e67,
    +    0x9e6d, 0x9e73, 0x003f, 0xedc6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedc8, 0x91c6, 0x003f, 0x003f, 0x95bf, 0x003f, 0x9e75, 0x003f,
    +    0x003f, 0x003f, 0x9541, 0x003f, 0x003f, 0x003f, 0x9e74, 0x9490,
    +    0x965e, 0x8ab9, 0x003f, 0x90f5, 0x8f5f, 0x003f, 0x003f, 0x003f,
    +    0x92d1, 0x003f, 0x974d, 0x003f, 0x003f, 0x9e70, 0x9e6f, 0x003f,
    +    0x003f, 0x003f, 0x9e71, 0x003f, 0x9e6e, 0x003f, 0x003f, 0x9e76,
    +    0x003f, 0x9e6c, 0x003f, 0x003f, 0x9e6a, 0x003f, 0x9e72, 0x9e68,
    +    0x003f, 0x928c, 0x003f, 0x96f6, 0x8ec4, 0x8df2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8db8, 0x003f, 0x003f, 0x968f, 0x8a60,
    +    /* 0x6800 .. 0x68ff */
    +    0x003f, 0xedc9, 0x92cc, 0x93c8, 0x8968, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x90f0, 0x003f, 0x003f, 0x90b2, 0x8c49,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e78, 0x003f,
    +    0x003f, 0x8d5a, 0x8a9c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9e7a, 0x8a94, 0x9e81, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9e7d, 0x003f, 0x90f1, 0x003f, 0x003f, 0x003f,
    +    0x8a6a, 0x8daa, 0x003f, 0x003f, 0x8a69, 0x8dcd, 0x003f, 0x003f,
    +    0x9e7b, 0x8c85, 0x8c6a, 0x938d, 0xedca, 0x003f, 0x9e79, 0x003f,
    +    0x88c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e7c, 0x9e7e, 0x003f,
    +    0x8bcb, 0x8c4b, 0xedc7, 0x8aba, 0x8b6a, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9e82, 0x003f, 0x003f, 0x8df7, 0x9691, 0x003f, 0x8e56,
    +    0x003f, 0x003f, 0x003f, 0x9e83, 0x003f, 0x003f, 0x003f, 0x954f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9e8f, 0x003f, 0x89b1, 0x9e84,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e95, 0x9e85,
    +    0x003f, 0x97c0, 0x003f, 0x9e8c, 0x003f, 0x947e, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e94, 0x003f, 0x9e87,
    +    0x003f, 0x003f, 0x003f, 0x88b2, 0x9e89, 0x003f, 0x003f, 0x8d5b,
    +    0x003f, 0x003f, 0x003f, 0x9e8b, 0x003f, 0x9e8a, 0x003f, 0x9e86,
    +    0x9e91, 0x003f, 0x8fbd, 0x003f, 0x003f, 0x003f, 0x9aeb, 0x8ce6,
    +    0x979c, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e88, 0x003f, 0x92f2,
    +    0x8a42, 0x8dab, 0x003f, 0x9e80, 0x003f, 0x9e90, 0x8a81, 0x003f,
    +    0x003f, 0x9e8e, 0x9e92, 0x003f, 0x938e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8afc, 0x003f, 0x9eb0, 0x003f,
    +    0xed48, 0x96c7, 0x9e97, 0x8afb, 0x003f, 0x9e9e, 0x003f, 0xedcb,
    +    0x003f, 0x003f, 0x965f, 0x003f, 0x9e9f, 0x9ea1, 0x003f, 0x9ea5,
    +    0x9e99, 0x003f, 0x9249, 0x003f, 0x003f, 0x003f, 0x003f, 0x938f,
    +    0x9ea9, 0x9e9c, 0x003f, 0x9ea6, 0x003f, 0x003f, 0x003f, 0x9ea0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9058, 0x9eaa,
    +    0x003f, 0x003f, 0x90b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9ea8, 0x8abb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6900 .. 0x69ff */
    +    0x986f, 0x9e96, 0x003f, 0x003f, 0x9ea4, 0x88d6, 0x003f, 0x003f,
    +    0x9e98, 0x003f, 0x003f, 0x96b8, 0x9e9d, 0x9041, 0x92c5, 0x9e93,
    +    0x003f, 0x003f, 0x9ea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x909a, 0x9ead, 0x8a91, 0x8c9f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9eaf, 0x9e9a, 0x9eae, 0x003f, 0x9ea7, 0x9e9b, 0x003f,
    +    0x9eab, 0x003f, 0x9eac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9ebd, 0x003f, 0x003f, 0x003f, 0x93cc, 0x003f, 0x9ea2, 0x003f,
    +    0x003f, 0x9eb9, 0x003f, 0x003f, 0x003f, 0x9ebb, 0x003f, 0x92d6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x976b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9596, 0x9eb6, 0x91c8, 0x003f, 0x003f,
    +    0x003f, 0x9ebc, 0x915e, 0x003f, 0x9eb3, 0x9ec0, 0x9ebf, 0x003f,
    +    0x93ed, 0x9ebe, 0x93e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedcd, 0x003f, 0x9ec2, 0x9eb5, 0x003f, 0x8bc6, 0x9eb8, 0x8f7c,
    +    0x003f, 0x003f, 0x003f, 0x9480, 0x9eba, 0x8bc9, 0x003f, 0x9eb2,
    +    0x9eb4, 0x9eb1, 0x003f, 0x003f, 0x984f, 0x8a79, 0x9eb7, 0x003f,
    +    0x003f, 0x9ec1, 0x8a54, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8de5, 0x003f, 0x003f, 0x003f, 0x897c, 0x003f,
    +    0x003f, 0x9ed2, 0x003f, 0x003f, 0x9850, 0x9ed5, 0x003f, 0x003f,
    +    0xedcf, 0x003f, 0x003f, 0x9059, 0x9ed4, 0x003f, 0x003f, 0x003f,
    +    0x9ed3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ed0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ec4, 0x003f,
    +    0x003f, 0x9ee1, 0x9ec3, 0x003f, 0x9ed6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9ece, 0x003f, 0x003f, 0x9ec9, 0x9ec6,
    +    0x003f, 0x9ec7, 0x003f, 0x9ecf, 0x003f, 0x003f, 0x003f, 0xeaa0,
    +    0x003f, 0x003f, 0x9ecc, 0x8d5c, 0x92c6, 0x9184, 0x9eca, 0x003f,
    +    0x9ec5, 0x003f, 0x003f, 0x9ec8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x976c, 0x968a, 0x003f, 0x003f, 0x003f, 0x9ecd, 0x9ed7, 0x003f,
    +    0x003f, 0x003f, 0xedd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x9edf,
    +    0x9ed8, 0x003f, 0x003f, 0x9ee5, 0x003f, 0x9ee3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9ede, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9edd, 0x003f, 0x92ce, 0x003f, 0x9185, 0x003f, 0x9edb,
    +    /* 0x6a00 .. 0x6aff */
    +    0x003f, 0x003f, 0x9ed9, 0x003f, 0x003f, 0x9ee0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9ee6, 0x94f3, 0x9eec, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9ee7, 0x9eea, 0x9ee4, 0x003f, 0x003f, 0x9294,
    +    0x003f, 0x9557, 0x003f, 0x9eda, 0x003f, 0x003f, 0x9ee2, 0x8fbe,
    +    0x003f, 0x96cd, 0x9ef6, 0x9ee9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8ca0, 0x89a1, 0x8a7e, 0x003f, 0x003f, 0x9ed1, 0x003f,
    +    0xedd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fbf, 0x9eee, 0x003f,
    +    0x9ef5, 0x8ef7, 0x8a92, 0x003f, 0x003f, 0x924d, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9eeb, 0x003f, 0xedd3, 0x9ef0,
    +    0x9ef4, 0x003f, 0x003f, 0x8bb4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b6b, 0x9ef2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b40,
    +    0x003f, 0x93c9, 0x9ef1, 0x003f, 0x003f, 0x003f, 0x9ef3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedd2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9eed, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9eef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd5, 0x8a80,
    +    0x9268, 0x003f, 0x003f, 0x003f, 0x9efa, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ef8, 0x8ce7, 0x003f,
    +    0x9ef7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f40,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9e77, 0x003f, 0x003f, 0x003f,
    +    0x9ef9, 0x003f, 0x9efb, 0x9efc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9f4b, 0x003f, 0x9f47, 0x003f, 0x9e8d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9f46, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9f45, 0x003f, 0x003f, 0x9f42, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9ee8, 0x9f44, 0x9f43, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9f49, 0x003f, 0x9845, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9f4c, 0x8bf9, 0x003f, 0x003f, 0x9f48, 0x9f4a,
    +    0x003f, 0x003f, 0xedd6, 0x003f, 0xedd7, 0x003f, 0x003f, 0x003f,
    +    0x94a5, 0x003f, 0x9f4d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9f51, 0x9f4e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6b00 .. 0x6bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9793, 0x9f4f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9edc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9f52, 0x003f, 0x003f, 0x003f, 0x9f53, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8954, 0x003f, 0x9f55,
    +    0x8c87, 0x8e9f, 0x003f, 0x8bd3, 0x003f, 0x003f, 0x003f, 0x89a2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x977e, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f57,
    +    0x9f56, 0x9f59, 0x8b5c, 0x003f, 0x003f, 0x8bd4, 0x8abc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9f5c, 0x003f, 0x003f, 0x003f, 0x9f5b,
    +    0x003f, 0x9f5d, 0x003f, 0x003f, 0x89cc, 0x003f, 0x9256, 0x003f,
    +    0x9f5e, 0x003f, 0x003f, 0x8abd, 0x9f60, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9f5f, 0x003f, 0x9f61, 0x003f, 0x003f, 0x003f, 0x9f62,
    +    0x003f, 0x9f63, 0x8e7e, 0x90b3, 0x8d9f, 0x003f, 0x9590, 0x003f,
    +    0x003f, 0x95e0, 0x9863, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e95,
    +    0x003f, 0x003f, 0x003f, 0x8dce, 0x97f0, 0x003f, 0x003f, 0x003f,
    +    0x9f64, 0x9f65, 0x003f, 0x8e80, 0x003f, 0x003f, 0x003f, 0x9f66,
    +    0x9f67, 0x003f, 0x003f, 0x9f69, 0x9f68, 0x003f, 0x9677, 0x003f,
    +    0x003f, 0x8f7d, 0x8eea, 0x8e63, 0x003f, 0x9f6a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f6c, 0x9042, 0x003f,
    +    0x9f6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f6d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9f6e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9f6f, 0x9f70, 0x003f, 0x003f, 0x003f, 0x9f71,
    +    0x003f, 0x9f73, 0x9f72, 0x9f74, 0x89a3, 0x9269, 0x003f, 0x9f75,
    +    0x003f, 0x003f, 0x8e45, 0x8a6b, 0x9f76, 0x003f, 0x003f, 0x9361,
    +    0x9aca, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b42, 0x9f77, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9f78, 0x003f, 0x95ea, 0x9688, 0x003f,
    +    0x003f, 0x003f, 0x93c5, 0x9f79, 0x94e4, 0x003f, 0xedd8, 0x003f,
    +    0x94f9, 0x003f, 0x003f, 0x96d1, 0x003f, 0x003f, 0x003f, 0x9f7a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9f7c, 0x9f7b, 0x003f, 0x003f, 0x9f7e,
    +    0x003f, 0x003f, 0x003f, 0x9f7d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6c00 .. 0x6cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9f81, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e81,
    +    0x003f, 0x96af, 0x003f, 0x9f82, 0x9f83, 0x003f, 0x003f, 0x8b43,
    +    0x003f, 0x003f, 0x003f, 0x9f84, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9f86, 0x9f85, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9085, 0x003f, 0x003f, 0x9558,
    +    0x8969, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94c3, 0xedd9,
    +    0x92f3, 0x8f60, 0x8b81, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94c4, 0x003f,
    +    0x8eac, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f88, 0x003f, 0x8abe,
    +    0x003f, 0x003f, 0x8998, 0x003f, 0xedda, 0x93f0, 0x9f87, 0x8d5d,
    +    0x9272, 0x003f, 0x9f89, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9f91, 0x003f, 0x9f8a, 0x003f, 0x003f, 0x003f, 0x003f, 0xeddc,
    +    0x91bf, 0x003f, 0x8b82, 0x9f92, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8c88, 0x003f, 0x003f, 0x8b44, 0x9f90, 0x003f,
    +    0x003f, 0x9f8e, 0x9f8b, 0x9780, 0x003f, 0x003f, 0xeddb, 0x003f,
    +    0x92be, 0x003f, 0x003f, 0x003f, 0x93d7, 0x9f8c, 0x003f, 0x003f,
    +    0x9f94, 0x003f, 0x9f93, 0x8c42, 0x003f, 0x003f, 0x89ab, 0x003f,
    +    0x003f, 0x8db9, 0x9f8d, 0x9f8f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9676, 0x91f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9697, 0x003f, 0x003f, 0x9f9c, 0x003f,
    +    0x003f, 0x9f9d, 0x003f, 0x89cd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x95a6, 0x96fb, 0x9f9f, 0x8ea1, 0x8fc0, 0x9f98, 0x9f9e, 0x8988,
    +    0x003f, 0x8bb5, 0x003f, 0x003f, 0x9f95, 0x9f9a, 0x003f, 0x003f,
    +    0x003f, 0x90f2, 0x9491, 0x003f, 0x94e5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9f97, 0x003f, 0x9640, 0x003f, 0x9f99,
    +    0x003f, 0x9fa2, 0xeddd, 0x9fa0, 0x003f, 0x9f9b, 0x003f, 0x003f,
    +    0x003f, 0x9641, 0x9467, 0x8b83, 0x003f, 0x9344, 0x003f, 0x003f,
    +    0x928d, 0x003f, 0x9fa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fa1,
    +    0x91d7, 0x9f96, 0x003f, 0x896a, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6d00 .. 0x6dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xedde, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x976d, 0x9fae, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9fad, 0x003f, 0x003f, 0x003f, 0x003f, 0x90f4,
    +    0x003f, 0x9faa, 0x003f, 0x978c, 0x003f, 0x003f, 0x93b4, 0x9fa4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92c3, 0x003f, 0x003f,
    +    0x003f, 0x896b, 0x8d5e, 0x9fa7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8f46, 0x9fac, 0x003f, 0x9fab, 0x9fa6, 0x003f,
    +    0x9fa9, 0x003f, 0x003f, 0x8a88, 0x003f, 0x9fa8, 0x9468, 0x003f,
    +    0x003f, 0x97ac, 0x003f, 0x003f, 0x8ff2, 0x90f3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9fb4, 0x9fb2, 0x003f, 0x956c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9faf, 0x9fb1, 0x003f, 0x8959, 0x003f,
    +    0x003f, 0x8d5f, 0x9851, 0x003f, 0x8a5c, 0x003f, 0x9582, 0xede0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9781, 0x003f, 0x003f, 0x8a43,
    +    0x905a, 0x9fb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fb8, 0x003f, 0xeddf,
    +    0x8fc1, 0x003f, 0x003f, 0x003f, 0x974f, 0x003f, 0x9fb5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9fb0, 0x003f, 0x9fb6, 0xede1, 0x003f,
    +    0x003f, 0x97dc, 0x003f, 0x9393, 0x93c0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xede2, 0x003f, 0x003f, 0x8a55,
    +    0x003f, 0x003f, 0x8974, 0x003f, 0x003f, 0x9fbc, 0x003f, 0x003f,
    +    0x9fbf, 0x003f, 0x003f, 0x003f, 0x97c1, 0x003f, 0x003f, 0x003f,
    +    0x9784, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fc6, 0x9fc0, 0x9fbd,
    +    0x003f, 0x003f, 0x003f, 0x97d2, 0x9fc3, 0x003f, 0x003f, 0xede3,
    +    0x003f, 0x8f69, 0x9fc5, 0x003f, 0x003f, 0x9fca, 0x003f, 0x003f,
    +    0x9391, 0x9fc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fc2, 0x003f,
    +    0x003f, 0x9257, 0x003f, 0x003f, 0x9fc9, 0x003f, 0x9fbe, 0x003f,
    +    0x9fc4, 0x003f, 0x9fcb, 0x88fa, 0x9fc1, 0x003f, 0x9fcc, 0x003f,
    +    0x003f, 0x905b, 0xede5, 0x8f7e, 0x003f, 0x95a3, 0x003f, 0x8dac,
    +    0xede4, 0x9fb9, 0x9fc7, 0x9359, 0xede6, 0x003f, 0x003f, 0x003f,
    +    /* 0x6e00 .. 0x6eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90b4, 0x003f, 0x8a89,
    +    0x8dcf, 0x8fc2, 0x9fbb, 0x8f61, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8c6b, 0x003f, 0x9fba, 0x003f, 0x003f,
    +    0x003f, 0x9fd0, 0x8f8d, 0x8cb8, 0x003f, 0x9fdf, 0x003f, 0x9fd9,
    +    0x8b94, 0x936e, 0x003f, 0x9fd4, 0x9fdd, 0x88ad, 0x8951, 0xede9,
    +    0x003f, 0x89b7, 0x003f, 0x9fd6, 0x91aa, 0x9fcd, 0x9fcf, 0x8d60,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9fe0, 0xede7, 0x9fdb, 0x003f, 0xedea, 0x003f, 0x9fd3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9fda, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x96a9, 0x003f, 0x003f, 0x9fd8, 0x9fdc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cce, 0x003f,
    +    0x8fc3, 0x003f, 0x003f, 0x9258, 0xede8, 0x003f, 0x003f, 0x9fd2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x974e,
    +    0x003f, 0x003f, 0x003f, 0x9fd5, 0x003f, 0x003f, 0x9fce, 0x9392,
    +    0x003f, 0x003f, 0x9fd1, 0x003f, 0x003f, 0x003f, 0x9fd7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9870, 0x8ebc,
    +    0x969e, 0x003f, 0x9fe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x94ac, 0x003f, 0x003f, 0x9fed,
    +    0x8cb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f80, 0x003f,
    +    0x9fe3, 0x003f, 0x003f, 0x003f, 0x97ad, 0x8d61, 0x003f, 0x9ff0,
    +    0x003f, 0x003f, 0x88ec, 0x003f, 0x003f, 0x9fee, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9fe2, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fe8,
    +    0x003f, 0x003f, 0x9fea, 0x003f, 0x003f, 0x003f, 0x976e, 0x9fe5,
    +    0x003f, 0x003f, 0x934d, 0x003f, 0x003f, 0x9fe7, 0x003f, 0xedeb,
    +    0x003f, 0x003f, 0x9fef, 0x003f, 0x9fe9, 0x96c5, 0x003f, 0x003f,
    +    0x003f, 0x9fe4, 0x003f, 0x8ea0, 0x9ffc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8a8a, 0x003f, 0x9fe6, 0x9feb, 0x9fec, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91ea, 0x91d8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9ff4, 0x003f, 0x003f, 0x9ffa,
    +    0x003f, 0x003f, 0x9ff8, 0x003f, 0x9348, 0x003f, 0x003f, 0xe042,
    +    0x9ff5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ff6, 0x9fde,
    +    /* 0x6f00 .. 0x6fff */
    +    0x003f, 0x8b99, 0x9559, 0x003f, 0x003f, 0x003f, 0x8ebd, 0x003f,
    +    0x003f, 0x8d97, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9852,
    +    0x003f, 0x9ff2, 0x003f, 0xe041, 0x8989, 0x9186, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9499, 0x003f, 0x8abf, 0x97f8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x969f, 0x92d0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9ff9, 0x9ffb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9151, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe040, 0x9ff7,
    +    0x003f, 0x9ff1, 0x003f, 0x003f, 0x003f, 0x8ac1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8c89, 0x003f, 0x003f, 0x003f,
    +    0xe04e, 0x003f, 0x003f, 0xe049, 0x90f6, 0x003f, 0x003f, 0x8a83,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8f81, 0x003f, 0xe052, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe04b, 0x92aa, 0xe048,
    +    0x92d7, 0x003f, 0x003f, 0x003f, 0xe06b, 0x003f, 0x003f, 0x003f,
    +    0xe045, 0x003f, 0xe044, 0x003f, 0xe04d, 0x003f, 0x003f, 0x003f,
    +    0xe047, 0xe046, 0xe04c, 0x003f, 0x909f, 0x003f, 0xe043, 0x003f,
    +    0xedec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe04f, 0x003f,
    +    0x003f, 0xe050, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ac0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe055, 0x003f, 0xe054, 0xe056, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe059, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9362, 0x003f, 0xe053, 0x003f, 0xeded, 0x003f, 0x003f,
    +    0x003f, 0xe057, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8c83, 0x91f7, 0xe051, 0x945a, 0x003f, 0x003f, 0xe058, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe05d, 0xe05b, 0x003f, 0x003f,
    +    0xe05e, 0x003f, 0x003f, 0xe061, 0x003f, 0x003f, 0x003f, 0xe05a,
    +    0x8d8a, 0x9447, 0x003f, 0x003f, 0x9fb7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9794, 0xe05c, 0x003f, 0xe060, 0x91f3,
    +    0x003f, 0xe05f, 0x003f, 0xe04a, 0x003f, 0xedee, 0xe889, 0x003f,
    +    0x003f, 0x003f, 0xe064, 0x003f, 0x003f, 0x003f, 0xe068, 0x003f,
    +    /* 0x7000 .. 0x70ff */
    +    0x003f, 0xe066, 0x003f, 0x003f, 0x003f, 0xedef, 0x003f, 0xedf0,
    +    0x003f, 0xe062, 0x003f, 0xe063, 0x003f, 0x003f, 0x003f, 0xe067,
    +    0x003f, 0xe065, 0x003f, 0x003f, 0x003f, 0x956d, 0x003f, 0x003f,
    +    0xe06d, 0x003f, 0xe06a, 0xe069, 0x003f, 0xe06c, 0x93d2, 0xe06e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9295, 0x91eb,
    +    0xedf1, 0x003f, 0x003f, 0x003f, 0x90a3, 0x003f, 0x003f, 0x003f,
    +    0xe06f, 0x003f, 0xe071, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe070, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9ff3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe072, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x93e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe073, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x89ce, 0x003f, 0x003f, 0x003f, 0x9394,
    +    0x8a44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b84, 0x003f, 0x003f, 0x003f, 0x8edc, 0x8dd0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf2, 0x003f, 0x003f,
    +    0x003f, 0x9846, 0x9086, 0x003f, 0x003f, 0x003f, 0x898a, 0x003f,
    +    0x003f, 0x003f, 0xe075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe074, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedf3, 0xe078, 0x9259, 0xe07b, 0xe076,
    +    0x003f, 0x003f, 0x003f, 0xe07a, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe079, 0x935f, 0x88d7, 0xed46, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x97f3, 0x003f, 0x003f, 0xe07d, 0x003f, 0x003f, 0x003f, 0x8947,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe080, 0x003f, 0x003f, 0x003f, 0xe07e, 0x003f, 0xe07c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe077, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9642, 0x003f, 0x003f, 0x003f, 0xe082, 0x003f, 0x003f,
    +    /* 0x7100 .. 0x71ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xedf5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe081, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x898b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe084, 0x95b0, 0x003f, 0xe083, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x96b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fc5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9152, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8fc4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf7, 0xedf8,
    +    0x003f, 0x97f9, 0x003f, 0x003f, 0xe08a, 0x003f, 0x90f7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe086, 0xe08b, 0x003f,
    +    0x003f, 0x898c, 0x003f, 0x003f, 0xedf6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe089, 0x003f, 0x9481, 0xe085, 0xe088, 0x8fc6,
    +    0x003f, 0x94cf, 0x003f, 0x003f, 0xe08c, 0x003f, 0x8ecf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90f8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe08f, 0x003f, 0x003f, 0x003f,
    +    0xe087, 0x003f, 0x8c46, 0x003f, 0x003f, 0x003f, 0x003f, 0xe08d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x976f, 0xe090, 0x003f, 0x003f,
    +    0x003f, 0xeaa4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f6e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe091, 0x003f, 0x003f, 0x003f, 0xe092, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x944d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe094, 0x003f, 0x003f, 0x003f, 0x003f, 0xe095, 0x003f,
    +    0x003f, 0xedfa, 0x003f, 0x9452, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9395, 0xe097, 0x003f, 0x003f, 0x003f, 0x003f, 0xe099, 0x003f,
    +    0x97d3, 0x003f, 0xe096, 0x003f, 0xe098, 0x898d, 0x003f, 0xe093,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a7a,
    +    0xe09a, 0x003f, 0x003f, 0x003f, 0x003f, 0x9187, 0x8e57, 0xe09c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe09b, 0x9043, 0x99d7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe09d, 0x003f, 0x003f,
    +    0x003f, 0xe09f, 0x003f, 0xe08e, 0xe09e, 0x003f, 0xedfb, 0xe0a0,
    +    /* 0x7200 .. 0x72ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x949a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a1, 0x003f, 0x003f,
    +    0xe0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0a3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0a4, 0x003f, 0x92dc, 0x003f, 0xe0a6, 0xe0a5, 0x003f, 0x003f,
    +    0xe0a7, 0x003f, 0xe0a8, 0x003f, 0x003f, 0x8edd, 0x9583, 0x003f,
    +    0x003f, 0x003f, 0x96ea, 0xe0a9, 0xe0aa, 0x9175, 0x8ea2, 0xe0ab,
    +    0xe0ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ad, 0x95d0,
    +    0x94c5, 0x003f, 0x003f, 0xe0ae, 0x9476, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x92ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0af, 0x89e5, 0x003f, 0x8b8d, 0x003f, 0x96c4, 0x003f, 0x96b4,
    +    0x003f, 0x89b2, 0x9853, 0x003f, 0x003f, 0x003f, 0x003f, 0x9671,
    +    0x003f, 0x95a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x90b5, 0x003f, 0xe0b0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x93c1, 0x003f, 0x003f, 0x003f, 0x8ca1, 0xe0b1, 0x003f,
    +    0x8dd2, 0xe0b3, 0xe0b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0b5, 0x003f, 0x003f, 0x003f, 0xe0b6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b5d, 0x003f, 0xe0b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8ca2, 0x003f, 0x003f, 0x94c6,
    +    0x003f, 0xedfc, 0xe0ba, 0x003f, 0x003f, 0x003f, 0x8ff3, 0x003f,
    +    0x003f, 0xe0b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xee40, 0x003f,
    +    0x003f, 0x003f, 0x8bb6, 0xe0bb, 0xe0bd, 0x003f, 0xe0bc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0be, 0x003f,
    +    0x8ccf, 0x003f, 0xe0bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be7,
    +    0x003f, 0x915f, 0x003f, 0x8d9d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0c1, 0xe0c2, 0xe0c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8eeb, 0x003f, 0x003f, 0x93c6, 0x8bb7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c4,
    +    0x924b, 0xe0c3, 0x003f, 0x003f, 0x9854, 0x9482, 0x003f, 0x003f,
    +    /* 0x7300 .. 0x73ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c9, 0xe0c6,
    +    0x003f, 0x003f, 0x003f, 0x96d2, 0xe0c8, 0xe0ca, 0x003f, 0x97c2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xee41, 0xe0ce, 0x003f, 0x003f,
    +    0x003f, 0xe0cd, 0x9296, 0x944c, 0x003f, 0x003f, 0x8ca3, 0xe0cc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0cb, 0x003f, 0x9750, 0x9751,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0cf, 0x898e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8d96, 0x8e82, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d0, 0xe0d1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8f62, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0d5, 0x003f, 0xe0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0d6, 0x003f, 0x8a6c, 0x003f, 0x003f, 0xe0d8, 0x003f, 0xee43,
    +    0xe0d7, 0x003f, 0xe0da, 0xe0d9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8cba, 0x003f, 0x003f, 0x97a6,
    +    0x003f, 0x8bca, 0x003f, 0x89a4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8adf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x97e6, 0xe0dc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0de, 0x003f, 0xee44, 0x003f, 0x003f,
    +    0xe0df, 0x003f, 0x89cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0db, 0xee45, 0x8e58, 0x003f, 0x003f, 0x92bf, 0xe0dd, 0x003f,
    +    0x003f, 0x003f, 0xee48, 0x003f, 0x003f, 0x003f, 0xee46, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e2, 0x003f,
    +    0x8eec, 0x003f, 0x003f, 0xee47, 0x003f, 0xe0e0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8c5d, 0x003f, 0x003f, 0x94c7, 0xe0e1, 0x003f,
    +    0x003f, 0xe0fc, 0x003f, 0x003f, 0x003f, 0xee4a, 0x003f, 0x003f,
    +    0xe0e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cbb, 0x003f,
    +    /* 0x7400 .. 0x74ff */
    +    0x003f, 0x003f, 0x003f, 0x8b85, 0x003f, 0xe0e4, 0x979d, 0xee49,
    +    0x003f, 0x97ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x91f4, 0x003f, 0x003f, 0xe0e6, 0xee4b, 0x003f,
    +    0x003f, 0xee4d, 0xee4c, 0x003f, 0x003f, 0x003f, 0xee4e, 0x003f,
    +    0x003f, 0x003f, 0xe0e8, 0x97d4, 0x8bd5, 0x94fa, 0x9469, 0x003f,
    +    0x003f, 0x003f, 0xe0e9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0eb,
    +    0x003f, 0xe0ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ea, 0x003f, 0x003f,
    +    0x003f, 0xe0ed, 0x8ce8, 0x896c, 0xe0ef, 0x003f, 0x9090, 0xe0ec,
    +    0x97da, 0x003f, 0xee4f, 0xe0f2, 0xeaa2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe0f0, 0xe0f3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e5,
    +    0xe0f1, 0x003f, 0x003f, 0x8dba, 0x003f, 0x003f, 0xe0f4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x979e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xee50, 0x003f, 0xe0f6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f7, 0xee51,
    +    0x003f, 0x003f, 0xe0e3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8ac2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ea3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x895a, 0x003f, 0x003f, 0x003f,
    +    0xe140, 0x003f, 0x955a, 0xe141, 0x003f, 0x003f, 0x8aa2, 0xe142,
    +    0x003f, 0xe143, 0x003f, 0x003f, 0x003f, 0x003f, 0xe144, 0x003f,
    +    0xe146, 0xe147, 0xe145, 0x003f, 0x003f, 0x003f, 0x9572, 0xe149,
    +    0xe148, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7500 .. 0x75ff */
    +    0x003f, 0xee52, 0x003f, 0xe14b, 0xe14a, 0xe14c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe14d, 0xe14f, 0xe14e, 0x003f,
    +    0x003f, 0x8d99, 0x003f, 0xe151, 0x003f, 0xe150, 0x003f, 0x003f,
    +    0x8ac3, 0x003f, 0x9072, 0x003f, 0x935b, 0x003f, 0xe152, 0x90b6,
    +    0x003f, 0x003f, 0x003f, 0x8e59, 0x003f, 0x8999, 0xe153, 0x003f,
    +    0x9770, 0x003f, 0x003f, 0x95e1, 0xe154, 0x003f, 0x003f, 0xed8c,
    +    0x9363, 0x9752, 0x8d62, 0x905c, 0x003f, 0x003f, 0x003f, 0x926a,
    +    0x99b2, 0x003f, 0x92ac, 0x89e6, 0xe155, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe156, 0x003f, 0xe15b, 0x003f,
    +    0x003f, 0xe159, 0xe158, 0x9dc0, 0x8a45, 0xe157, 0x003f, 0x88d8,
    +    0x003f, 0x94a8, 0x003f, 0x003f, 0x94c8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x97af, 0xe15c, 0xe15a, 0x927b, 0x90a4, 0x003f, 0x003f,
    +    0x94a9, 0x003f, 0x954c, 0x003f, 0xe15e, 0x97aa, 0x8c6c, 0xe15f,
    +    0x003f, 0xe15d, 0x94d4, 0xe160, 0x003f, 0xe161, 0x003f, 0xee53,
    +    0x88d9, 0x003f, 0x003f, 0x8ff4, 0xe166, 0x003f, 0xe163, 0x93eb,
    +    0xe162, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b45,
    +    0x003f, 0x003f, 0xe169, 0x003f, 0x003f, 0x003f, 0xe164, 0xe165,
    +    0x003f, 0xe168, 0xe167, 0x9544, 0x003f, 0x003f, 0x9161, 0x9160,
    +    0x003f, 0x8b5e, 0x003f, 0x003f, 0xe16a, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe16b, 0x003f, 0x003f, 0xe16c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe16e, 0x003f, 0xe16d, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8975, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe176, 0x94e6, 0xe170, 0x003f, 0xe172, 0x003f, 0x003f,
    +    0xe174, 0x905d, 0x003f, 0x003f, 0xe175, 0xe173, 0x8ebe, 0x003f,
    +    0x003f, 0x003f, 0xe16f, 0xe171, 0x003f, 0x9561, 0x003f, 0x8fc7,
    +    0x003f, 0x003f, 0xe178, 0x003f, 0x003f, 0xe177, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe179, 0x003f, 0x8ea4, 0x8dad, 0x003f, 0x003f,
    +    0x9397, 0xe17a, 0x003f, 0x92c9, 0x003f, 0x003f, 0xe17c, 0x003f,
    +    0x003f, 0x003f, 0x979f, 0xe17b, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9189, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe182, 0x003f, 0xe184, 0xe185, 0x9273, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe183, 0x003f, 0xe180, 0x003f, 0xe17d, 0xe17e,
    +    /* 0x7600 .. 0x76ff */
    +    0x003f, 0xe181, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe188, 0x003f, 0xe186, 0x003f, 0xe187, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe189,
    +    0xe18b, 0xe18c, 0xe18d, 0x003f, 0xe18e, 0x003f, 0x003f, 0xe18a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe190, 0x003f, 0x003f, 0x003f, 0xe18f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe191, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x97c3, 0x003f, 0x003f, 0x003f, 0xe194, 0xe192,
    +    0xe193, 0x003f, 0x003f, 0x003f, 0x8ae0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x96fc, 0x003f, 0x003f, 0x003f, 0x95c8, 0x003f,
    +    0xe196, 0x003f, 0x003f, 0x003f, 0xe195, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe197, 0xe198, 0x003f, 0x003f, 0x003f, 0x003f, 0xe19c,
    +    0xe199, 0xe19a, 0xe19b, 0x003f, 0xe19d, 0x003f, 0x003f, 0x003f,
    +    0xe19e, 0x003f, 0xe19f, 0x003f, 0x003f, 0x003f, 0xe1a0, 0x003f,
    +    0xe1a1, 0x003f, 0x94ad, 0x936f, 0xe1a2, 0x9492, 0x9553, 0x003f,
    +    0xe1a3, 0x003f, 0xee54, 0xe1a4, 0x9349, 0x003f, 0x8a46, 0x8d63,
    +    0xe1a5, 0x003f, 0x003f, 0xe1a6, 0x003f, 0x003f, 0xe1a7, 0x003f,
    +    0x8e48, 0x003f, 0x003f, 0xe1a9, 0x003f, 0x003f, 0xe1a8, 0x003f,
    +    0x003f, 0xe1aa, 0xe1ab, 0xee57, 0xee55, 0x003f, 0xee56, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee58, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94e7, 0x003f,
    +    0xe1ac, 0x003f, 0x003f, 0x003f, 0xe1ad, 0x003f, 0x003f, 0xea89,
    +    0xe1ae, 0xe1af, 0xe1b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e4d,
    +    0x003f, 0x003f, 0xe1b1, 0x9475, 0x003f, 0x003f, 0x967e, 0x003f,
    +    0x896d, 0x003f, 0x8976, 0x003f, 0x003f, 0xe1b2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1b4, 0x003f, 0x003f, 0x003f, 0xe1b3, 0x9390,
    +    0x003f, 0x003f, 0x003f, 0x90b7, 0x9f58, 0x003f, 0xe1b5, 0x96bf,
    +    0x003f, 0xe1b6, 0x003f, 0x8ac4, 0x94d5, 0xe1b7, 0x003f, 0xe1b8,
    +    0x003f, 0x003f, 0xe1b9, 0x003f, 0x003f, 0x003f, 0x96da, 0x003f,
    +    0x003f, 0x003f, 0x96d3, 0x003f, 0x92bc, 0x003f, 0x003f, 0x003f,
    +    0x918a, 0x003f, 0x003f, 0xe1bb, 0x003f, 0x003f, 0x8f82, 0x003f,
    +    /* 0x7700 .. 0x77ff */
    +    0x003f, 0x8fc8, 0x003f, 0x003f, 0xe1be, 0x003f, 0x003f, 0xe1bd,
    +    0xe1bc, 0x94fb, 0x003f, 0x8ac5, 0x8ca7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe1c4, 0x003f, 0x003f, 0xe1c1, 0x905e,
    +    0x96b0, 0x003f, 0x003f, 0x003f, 0xe1c0, 0xe1c2, 0xe1c3, 0x003f,
    +    0x003f, 0xe1bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1c5,
    +    0xe1c6, 0x003f, 0x92ad, 0x003f, 0x8ae1, 0x003f, 0x003f, 0x003f,
    +    0x9285, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee5a, 0xe1c7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1c8, 0xe1cb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9087, 0x003f, 0x93c2, 0x003f, 0xe1cc, 0x9672, 0x003f,
    +    0xe1c9, 0x003f, 0x003f, 0xe1ca, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe1cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1ce, 0xe1cd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe1d1, 0x003f, 0x003f, 0xe1d0, 0x003f,
    +    0x003f, 0xe1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1d4, 0x003f,
    +    0xe1d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x95cb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8f75, 0x97c4, 0x003f, 0x003f,
    +    0xe1d5, 0x003f, 0x003f, 0x93b5, 0x003f, 0x003f, 0xe1d6, 0x003f,
    +    0x003f, 0xe1d7, 0x003f, 0xe1db, 0xe1d9, 0xe1da, 0x003f, 0xe1d8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1dc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1dd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1de,
    +    0x003f, 0x003f, 0xe1df, 0x96b5, 0xe1e0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x96ee, 0xe1e1, 0x003f, 0x926d, 0x003f, 0x948a,
    +    0x003f, 0x8be9, 0x003f, 0x003f, 0x003f, 0x925a, 0xe1e2, 0x8bb8,
    +    0x003f, 0x003f, 0x003f, 0x90ce, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1e3, 0x003f, 0x003f, 0x003f,
    +    /* 0x7800 .. 0x78ff */
    +    0x003f, 0x003f, 0x8dbb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1e4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1e5, 0x003f, 0x8ca4, 0x8dd3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe1e7, 0xee5c, 0x003f, 0x003f, 0x003f, 0x9375, 0x8dd4, 0x8b6d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9643, 0x003f, 0x946a, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9376, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d7b,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee5d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fc9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xee5e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x97b0, 0x8d64, 0x003f, 0x003f, 0x8ca5,
    +    0x003f, 0x003f, 0x94a1, 0x003f, 0xe1eb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xee5f, 0x003f, 0xe1ed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8ce9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1ec, 0x92f4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ef, 0x8a56, 0xe1ea, 0x003f,
    +    0x003f, 0x94e8, 0x003f, 0x894f, 0x003f, 0x8dea, 0x003f, 0x9871,
    +    0x003f, 0x003f, 0xe1ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe1f0, 0x003f, 0x003f, 0x003f, 0x95c9,
    +    0x003f, 0x90d7, 0xe1f2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8a6d, 0x003f, 0xe1f9, 0x003f, 0xe1f8, 0x003f,
    +    0x003f, 0x8ea5, 0x003f, 0x003f, 0x003f, 0xe1fa, 0xe1f5, 0x003f,
    +    0x003f, 0x003f, 0xe1fb, 0xe1f6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x94d6, 0xe1f4, 0x003f, 0x003f, 0xe1f7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe241, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe240,
    +    0x9681, 0x003f, 0x003f, 0x003f, 0xe1fc, 0x003f, 0x003f, 0x88e9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe243, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe242, 0x003f, 0x003f,
    +    /* 0x7900 .. 0x79ff */
    +    0x003f, 0x8fca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe244,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9162, 0x003f,
    +    0x003f, 0xe246, 0xe245, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe247, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e6, 0x003f,
    +    0x003f, 0x003f, 0xe1e8, 0xe249, 0xe248, 0x003f, 0x003f, 0x003f,
    +    0xee60, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8ea6, 0x003f, 0x97e7, 0x003f, 0x8ed0, 0x003f,
    +    0xe24a, 0x8c56, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b5f,
    +    0x8b46, 0x8e83, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9753, 0x003f, 0x003f, 0xe250, 0x003f, 0xe24f, 0x9163, 0xe24c,
    +    0x003f, 0x003f, 0xe24e, 0x003f, 0x003f, 0x8f6a, 0x905f, 0xe24d,
    +    0xe24b, 0x003f, 0x9449, 0x003f, 0x003f, 0x8fcb, 0x003f, 0x003f,
    +    0x955b, 0x003f, 0x003f, 0x003f, 0x003f, 0x8dd5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9398,
    +    0x003f, 0x003f, 0xe251, 0x003f, 0x003f, 0x003f, 0x003f, 0xe252,
    +    0xe268, 0x8bd6, 0x003f, 0x003f, 0x985c, 0x9154, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe253, 0x003f, 0x003f, 0x89d0, 0x92f5, 0x959f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xee64, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xee66, 0x003f, 0xe254, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b9a, 0xe255,
    +    0x003f, 0x003f, 0xe257, 0x003f, 0x003f, 0x003f, 0xe258, 0x003f,
    +    0x9448, 0x003f, 0x003f, 0xe259, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe25a, 0xe25b, 0x003f, 0x003f, 0x8bd7, 0x89d1, 0x93c3,
    +    0x8f47, 0x8e84, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe25c, 0x003f, 0x8f48, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x89c8, 0x9562, 0x003f, 0x003f, 0xe25d, 0x003f, 0x003f,
    +    0x94e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9164,
    +    0x003f, 0xe260, 0x003f, 0xe261, 0x9489, 0x003f, 0x9060, 0xe25e,
    +    0x003f, 0x9281, 0x003f, 0x003f, 0xe25f, 0x003f, 0x003f, 0x003f,
    +    0x8fcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x88da, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7a00 .. 0x7aff */
    +    0x8b48, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe262, 0x003f, 0x003f, 0x92f6, 0x003f, 0xe263, 0x90c5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x96ab, 0x003f, 0x003f, 0x9542,
    +    0xe264, 0xe265, 0x9274, 0x003f, 0x97c5, 0x003f, 0x003f, 0xe267,
    +    0xe266, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8eed, 0x003f,
    +    0x003f, 0xe269, 0x88ee, 0x003f, 0x003f, 0x003f, 0x003f, 0xe26c,
    +    0x003f, 0x003f, 0x003f, 0xe26a, 0x89d2, 0x8c6d, 0xe26b, 0x8d65,
    +    0x8d92, 0x003f, 0x95e4, 0xe26d, 0x003f, 0x003f, 0x9673, 0x003f,
    +    0x003f, 0xe26f, 0x003f, 0x003f, 0x003f, 0x90cf, 0x896e, 0x89b8,
    +    0x88aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe26e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe270, 0xe271, 0x8ff5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe272, 0x003f, 0x8a6e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe274, 0x003f, 0x003f, 0x003f, 0x8c8a, 0x003f, 0x8b86, 0x003f,
    +    0x003f, 0xe275, 0x8bf3, 0x003f, 0x003f, 0xe276, 0x003f, 0x90fa,
    +    0x003f, 0x93cb, 0x003f, 0x90de, 0x8df3, 0x003f, 0x003f, 0x003f,
    +    0xe277, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9282, 0x918b, 0x003f, 0xe279, 0xe27b, 0xe278,
    +    0xe27a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c41,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe27c, 0x8c45, 0x003f, 0x003f, 0x003f, 0x8b87, 0x9771,
    +    0xe27e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe280, 0x003f,
    +    0x003f, 0x003f, 0x894d, 0x003f, 0x003f, 0x003f, 0x003f, 0xe283,
    +    0x003f, 0x003f, 0x003f, 0x8a96, 0xe282, 0xe281, 0x003f, 0xe285,
    +    0xe27d, 0x003f, 0xe286, 0x97a7, 0x003f, 0xe287, 0x003f, 0xe288,
    +    0x003f, 0xee67, 0x9af2, 0xe28a, 0x003f, 0xe289, 0x003f, 0x003f,
    +    0x003f, 0xe28b, 0xe28c, 0x003f, 0x97b3, 0xe28d, 0x003f, 0xe8ed,
    +    0x8fcd, 0xe28e, 0xe28f, 0x8f76, 0x003f, 0x93b6, 0xe290, 0xee68,
    +    0x003f, 0x003f, 0x9247, 0xee6a, 0x003f, 0xe291, 0x003f, 0x925b,
    +    0xe292, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ba3, 0x003f,
    +    0x995e, 0x927c, 0x8eb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ac6,
    +    /* 0x7b00 .. 0x7bff */
    +    0x003f, 0x003f, 0xe293, 0x003f, 0xe2a0, 0x003f, 0xe296, 0x003f,
    +    0x8b88, 0x003f, 0xe295, 0xe2a2, 0x003f, 0x003f, 0x003f, 0xe294,
    +    0x003f, 0x8fce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe298, 0xe299, 0x003f, 0x934a, 0x003f, 0x003f, 0xe29a, 0x003f,
    +    0x8a7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x9079, 0x9584, 0x003f,
    +    0xe29c, 0x003f, 0x003f, 0x003f, 0x91e6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe297, 0x003f, 0xe29b, 0xe29d, 0x003f,
    +    0x003f, 0x8df9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a4, 0x954d, 0x003f,
    +    0x94a4, 0x9399, 0x003f, 0x8bd8, 0xe2a3, 0xe2a1, 0x003f, 0x94b3,
    +    0xe29e, 0x927d, 0x939b, 0x003f, 0x939a, 0x003f, 0x8df4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2b6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a6, 0x003f, 0xe2a8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2ab, 0x003f, 0xe2ac, 0x003f,
    +    0xe2a9, 0xe2aa, 0x003f, 0x003f, 0xe2a7, 0xe2a5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe29f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95cd, 0x89d3,
    +    0x003f, 0x003f, 0x003f, 0xe2b3, 0x003f, 0xe2b0, 0x003f, 0xe2b5,
    +    0x003f, 0x003f, 0xe2b4, 0x003f, 0x9493, 0x96a5, 0x003f, 0x8e5a,
    +    0xe2ae, 0xe2b7, 0xe2b2, 0x003f, 0xe2b1, 0xe2ad, 0xee6b, 0xe2af,
    +    0x003f, 0x8ac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x925c, 0x003f, 0x003f, 0x90fb, 0x003f, 0x003f,
    +    0x003f, 0x94a0, 0x003f, 0x003f, 0xe2bc, 0x003f, 0x003f, 0x003f,
    +    0x94a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x90df, 0xe2b9, 0x003f, 0x003f, 0x94cd, 0x003f, 0xe2bd, 0x95d1,
    +    0x003f, 0x927a, 0x003f, 0xe2b8, 0xe2ba, 0x003f, 0x003f, 0xe2bb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2be, 0x003f, 0x003f,
    +    0x8ec2, 0x003f, 0x003f, 0x003f, 0x93c4, 0xe2c3, 0xe2c2, 0x003f,
    +    0x003f, 0xe2bf, 0x003f, 0x003f, 0x003f, 0x9855, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2c8, 0x003f, 0x003f, 0xe2cc, 0xe2c9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7c00 .. 0x7cff */
    +    0xe2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2cb, 0x003f, 0x003f,
    +    0x003f, 0xe2c0, 0x99d3, 0xe2c7, 0xe2c1, 0x003f, 0x003f, 0xe2ca,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d0,
    +    0x003f, 0x8ac8, 0x003f, 0xe2cd, 0x003f, 0x003f, 0x003f, 0xe2ce,
    +    0x003f, 0x003f, 0xe2cf, 0xe2d2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d1,
    +    0x94f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d3, 0x97fa, 0x95eb,
    +    0xe2d8, 0x003f, 0x003f, 0xe2d5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2d4, 0x90d0, 0x003f, 0xe2d7,
    +    0xe2d9, 0x003f, 0x003f, 0x003f, 0xe2d6, 0x003f, 0xe2dd, 0x003f,
    +    0xe2da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2db,
    +    0xe2c4, 0x003f, 0x003f, 0x003f, 0xe2dc, 0xe2de, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2df, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x95c4, 0x003f, 0xe2e0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x96e0, 0x003f,
    +    0x003f, 0x8bcc, 0x8c48, 0xe2e1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x95b2, 0x003f, 0x9088, 0x003f, 0x96ae, 0x003f, 0x003f,
    +    0xe2e2, 0x003f, 0x97b1, 0x003f, 0x003f, 0x9494, 0x003f, 0x9165,
    +    0x9453, 0x003f, 0x003f, 0x8f6c, 0x003f, 0x003f, 0x003f, 0x88be,
    +    0x003f, 0xe2e7, 0xe2e5, 0x003f, 0xe2e3, 0x8a9f, 0x003f, 0x8fcf,
    +    0xe2e8, 0x003f, 0x003f, 0xe2e6, 0x003f, 0xe2e4, 0xe2ec, 0x003f,
    +    0x003f, 0xe2eb, 0xe2ea, 0xe2e9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe2ed, 0x003f, 0x003f, 0x003f, 0xe2ee, 0x90b8, 0x003f,
    +    0xe2ef, 0x003f, 0xe2f1, 0x003f, 0x003f, 0xe2f0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8cd0, 0x003f, 0x003f, 0x003f, 0x9157, 0x003f,
    +    0x003f, 0x003f, 0xe2f3, 0x003f, 0x003f, 0x003f, 0x939c, 0x003f,
    +    0xe2f2, 0x003f, 0x003f, 0x003f, 0xe2f4, 0x003f, 0x95b3, 0x918c,
    +    0x8d66, 0x003f, 0xe2f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x97c6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f7,
    +    0x003f, 0x003f, 0xe2f8, 0x003f, 0xe2f9, 0x003f, 0xe2fa, 0x003f,
    +    0x8e85, 0x003f, 0xe2fb, 0x8c6e, 0x003f, 0x003f, 0x8b8a, 0x003f,
    +    /* 0x7d00 .. 0x7dff */
    +    0x8b49, 0x003f, 0xe340, 0x003f, 0x96f1, 0x8d67, 0xe2fc, 0x003f,
    +    0x003f, 0x003f, 0xe343, 0x96e4, 0x003f, 0x945b, 0x003f, 0x003f,
    +    0x9552, 0x003f, 0x003f, 0x003f, 0x8f83, 0xe342, 0x003f, 0x8ed1,
    +    0x8d68, 0x8e86, 0x8b89, 0x95b4, 0xe341, 0x003f, 0x003f, 0x003f,
    +    0x9166, 0x9661, 0x8df5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8e87, 0x92db, 0x003f, 0xe346, 0x97dd,
    +    0x8dd7, 0x003f, 0xe347, 0x9061, 0x003f, 0xe349, 0x003f, 0x003f,
    +    0x003f, 0x8fd0, 0x8dae, 0x003f, 0x003f, 0x003f, 0x003f, 0xe348,
    +    0x003f, 0x003f, 0x8f49, 0x8cbc, 0x9167, 0xe344, 0xe34a, 0x003f,
    +    0xee6d, 0x003f, 0x003f, 0xe345, 0x8c6f, 0x003f, 0xe34d, 0xe351,
    +    0x8c8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe34c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe355, 0xee6e, 0x003f, 0x8d69, 0x003f,
    +    0x003f, 0x978d, 0x88ba, 0xe352, 0x003f, 0x003f, 0x8b8b, 0x003f,
    +    0xe34f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe350, 0x003f,
    +    0x003f, 0x939d, 0xe34e, 0xe34b, 0x003f, 0x8a47, 0x90e2, 0x003f,
    +    0x003f, 0x8ca6, 0x003f, 0x003f, 0x003f, 0xe357, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe354, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe356,
    +    0x003f, 0x003f, 0x003f, 0xe353, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8c70, 0x91b1, 0xe358, 0x918e, 0x003f, 0x003f, 0xe365,
    +    0xee70, 0x003f, 0xe361, 0xe35b, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe35f, 0x8ef8, 0x88db, 0xe35a, 0xe362,
    +    0xe366, 0x8d6a, 0x96d4, 0x003f, 0x92d4, 0xe35c, 0x003f, 0xee6f,
    +    0xe364, 0x003f, 0xe359, 0x925d, 0x003f, 0xe35e, 0x88bb, 0x96c8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe35d,
    +    0x003f, 0x003f, 0x8bd9, 0x94ea, 0x003f, 0x003f, 0x003f, 0x918d,
    +    0x003f, 0x97ce, 0x8f8f, 0x003f, 0x003f, 0xe38e, 0xee71, 0x003f,
    +    0xe367, 0x003f, 0x90fc, 0x003f, 0xe363, 0xe368, 0xe36a, 0x003f,
    +    0x92f7, 0xe36d, 0x003f, 0x003f, 0xe369, 0x003f, 0x003f, 0x003f,
    +    0x95d2, 0x8ac9, 0x003f, 0x003f, 0x96c9, 0x003f, 0x003f, 0x88dc,
    +    0x003f, 0x003f, 0xe36c, 0x003f, 0x97fb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe36b, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7e00 .. 0x7eff */
    +    0x003f, 0x898f, 0x003f, 0x003f, 0x93ea, 0xe36e, 0x003f, 0x003f,
    +    0x003f, 0xe375, 0xe36f, 0xe376, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe372, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x949b, 0x003f, 0x003f, 0x8ec8, 0xe374,
    +    0x003f, 0xe371, 0xe377, 0xe370, 0x003f, 0x003f, 0x8f63, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9644, 0x003f, 0x003f, 0x8f6b, 0x003f,
    +    0x003f, 0xe373, 0xe380, 0x003f, 0x003f, 0xe37b, 0x003f, 0xe37e,
    +    0x003f, 0xe37c, 0xe381, 0xe37a, 0x003f, 0xe360, 0x90d1, 0x003f,
    +    0x003f, 0x94c9, 0x003f, 0xe37d, 0x003f, 0x003f, 0xe378, 0x003f,
    +    0x003f, 0x003f, 0x9140, 0x8c71, 0x003f, 0x8f4a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xee72, 0x003f, 0x9044, 0x9155, 0xe384, 0x003f,
    +    0x003f, 0xe386, 0xe387, 0x003f, 0x003f, 0xe383, 0xe385, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe379, 0xe382,
    +    0x003f, 0xe38a, 0xe389, 0x003f, 0x003f, 0x969a, 0x003f, 0x003f,
    +    0x8c4a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe388, 0x003f, 0xe38c, 0xe38b, 0xe38f, 0x003f, 0xe391,
    +    0x003f, 0x003f, 0x8e5b, 0xe38d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe392, 0xe393, 0xed40, 0x003f, 0xe394, 0x003f, 0xe39a, 0x935a,
    +    0xe396, 0x003f, 0xe395, 0xe397, 0xe398, 0x003f, 0xe399, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe39b, 0xe39c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7f00 .. 0x7fff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aca, 0x003f,
    +    0xe39d, 0x003f, 0xe39e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe39f, 0x003f, 0xee73,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe3a0, 0xe3a1, 0xe3a2, 0x003f,
    +    0xe3a3, 0xe3a4, 0x003f, 0x003f, 0xe3a6, 0xe3a5, 0x003f, 0x003f,
    +    0xe3a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a8,
    +    0xe3a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3ac,
    +    0xe3aa, 0xe3ab, 0x8ddf, 0x8c72, 0x003f, 0x003f, 0x9275, 0x003f,
    +    0x94b1, 0x003f, 0x8f90, 0x003f, 0x003f, 0x946c, 0x003f, 0x94eb,
    +    0xe3ad, 0x9ceb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3ae, 0xe3b0, 0x003f, 0x9785, 0xe3af, 0xe3b2,
    +    0xe3b1, 0x003f, 0x9772, 0x003f, 0xe3b3, 0x003f, 0x94fc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe3b4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3b7, 0x003f, 0x003f, 0xe3b6, 0xe3b5, 0x003f,
    +    0x003f, 0xee74, 0x003f, 0xe3b8, 0x8c51, 0x003f, 0x003f, 0x003f,
    +    0x9141, 0x8b60, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3bc, 0xe3b9,
    +    0x003f, 0x003f, 0xe3ba, 0x003f, 0x003f, 0x003f, 0xe3bd, 0x003f,
    +    0xe3be, 0xe3bb, 0x003f, 0x003f, 0x003f, 0x8948, 0x003f, 0x003f,
    +    0x003f, 0x89a5, 0x003f, 0x003f, 0x003f, 0xe3c0, 0xe3c1, 0x003f,
    +    0x003f, 0x003f, 0xe3c2, 0x003f, 0x9782, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8f4b, 0x003f, 0xe3c4, 0xe3c3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9089, 0xe3c5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3c6, 0x003f,
    +    0x003f, 0xe3c7, 0x003f, 0x8ae3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8acb, 0x003f, 0x003f, 0xe3c8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3c9, 0x003f, 0x967c, 0x9783, 0x003f, 0x003f, 0x003f,
    +    /* 0x8000 .. 0x80ff */
    +    0x9773, 0x9856, 0x003f, 0x8d6c, 0xe3cc, 0x8ed2, 0xe3cb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3cd, 0x8ea7, 0x003f, 0x003f, 0x003f,
    +    0x91cf, 0x003f, 0xe3ce, 0x003f, 0x003f, 0x8d6b, 0x003f, 0x96d5,
    +    0xe3cf, 0xe3d0, 0x003f, 0x003f, 0xe3d1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe3d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8ea8, 0x003f, 0x003f, 0x96eb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3d5, 0x003f, 0x925e, 0x003f, 0xe3d4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d7, 0x003f,
    +    0x003f, 0x003f, 0xe3d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3d8, 0x003f, 0x003f, 0x003f, 0x90b9, 0x003f,
    +    0xe3d9, 0x003f, 0xe3da, 0x003f, 0x003f, 0x003f, 0x95b7, 0xe3db,
    +    0x003f, 0x918f, 0xe3dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe3dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97fc,
    +    0xe3e0, 0x003f, 0xe3df, 0xe3de, 0x92ae, 0x003f, 0xe3e1, 0x9045,
    +    0x003f, 0xe3e2, 0x003f, 0x003f, 0x003f, 0xe3e3, 0x9857, 0xe3e4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe3e5, 0xe3e7, 0xe3e6, 0x94a3,
    +    0x003f, 0x93f7, 0x003f, 0x985d, 0x94a7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3e9, 0x003f, 0x003f, 0x8fd1, 0x003f,
    +    0x9549, 0x003f, 0xe3ea, 0xe3e8, 0x003f, 0x8acc, 0x003f, 0x003f,
    +    0x003f, 0x8cd2, 0x8e88, 0x003f, 0x003f, 0x94ec, 0x003f, 0x003f,
    +    0x003f, 0x8ca8, 0x9662, 0x003f, 0xe3ed, 0xe3eb, 0x003f, 0x8d6d,
    +    0x003f, 0x8d6e, 0x88e7, 0x003f, 0x8de6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9478, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x88dd, 0xe3f2, 0x003f, 0x925f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9477, 0x003f, 0x91d9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f4, 0x003f,
    +    0x003f, 0xe3f0, 0xe3f3, 0xe3ee, 0x003f, 0xe3f1, 0x9645, 0x003f,
    +    0x003f, 0x8cd3, 0x003f, 0x003f, 0x88fb, 0xe3ef, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f6,
    +    0x003f, 0xe3f7, 0x003f, 0x003f, 0x93b7, 0x003f, 0x003f, 0x003f,
    +    0x8bb9, 0x003f, 0x003f, 0x003f, 0xe445, 0x945c, 0x003f, 0x003f,
    +    /* 0x8100 .. 0x81ff */
    +    0x003f, 0x003f, 0x8e89, 0x003f, 0x003f, 0x8bba, 0x90c6, 0x9865,
    +    0x96ac, 0xe3f5, 0x90d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8b72, 0xe3f8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3fa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3fb,
    +    0x003f, 0x9245, 0x003f, 0x945d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x92af, 0x003f, 0x003f, 0x003f, 0x003f, 0xe442, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe441, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3fc, 0x003f, 0x003f, 0x9074, 0x003f,
    +    0x9585, 0xe444, 0x003f, 0xe443, 0x8d6f, 0x9872, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe454,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe448, 0xe449, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8eee, 0x003f, 0x003f, 0xe447, 0x003f,
    +    0x8d98, 0xe446, 0x003f, 0x003f, 0xe44a, 0x003f, 0x003f, 0x003f,
    +    0x92b0, 0x95a0, 0x9142, 0x003f, 0x003f, 0x003f, 0x003f, 0x91da,
    +    0xe44e, 0x003f, 0xe44f, 0xe44b, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe44c, 0x003f, 0xe44d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d70,
    +    0x003f, 0x003f, 0x003f, 0xe455, 0x003f, 0xe451, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9586, 0x003f, 0x968c, 0x9547, 0x003f, 0x003f,
    +    0xe450, 0x003f, 0x003f, 0xe453, 0xe452, 0x003f, 0x003f, 0x003f,
    +    0x9663, 0xe456, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe457, 0x003f, 0x003f, 0x9156, 0x003f, 0xe458, 0x003f, 0x003f,
    +    0xe45a, 0x003f, 0xe45e, 0x003f, 0x003f, 0xe45b, 0xe459, 0x945e,
    +    0xe45c, 0x003f, 0xe45d, 0x003f, 0x003f, 0x003f, 0x89b0, 0x003f,
    +    0xe464, 0xe45f, 0x003f, 0x003f, 0x003f, 0xe460, 0x003f, 0x003f,
    +    0x003f, 0xe461, 0x003f, 0x919f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe463, 0xe462, 0xe465, 0x003f, 0x003f, 0x003f, 0x003f, 0xe466,
    +    0xe467, 0x003f, 0x003f, 0x9062, 0x003f, 0x89e7, 0x003f, 0xe468,
    +    0x97d5, 0x003f, 0x8ea9, 0x003f, 0x003f, 0x8f4c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8e8a, 0x9276, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe469, 0xe46a, 0x8950, 0x003f, 0xe46b, 0x003f,
    +    /* 0x8200 .. 0x82ff */
    +    0x003f, 0xe46c, 0xe46d, 0x003f, 0x003f, 0xe46e, 0x003f, 0xe46f,
    +    0x8bbb, 0x9da8, 0xe470, 0x003f, 0x90e3, 0xe471, 0x8ec9, 0x003f,
    +    0xe472, 0x003f, 0x98ae, 0x003f, 0x003f, 0x003f, 0xe473, 0x95dc,
    +    0x8ada, 0x003f, 0x003f, 0x9143, 0x8f77, 0x003f, 0x9591, 0x8f4d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe474, 0x8d71, 0xe475, 0x94ca, 0x003f, 0xe484, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe477, 0x003f, 0x91c7, 0x9495, 0x8cbd,
    +    0xe476, 0x9144, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe478, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92f8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe47a, 0xe479, 0xe47c, 0x003f, 0x003f, 0xe47b, 0x003f, 0xe47d,
    +    0x003f, 0x003f, 0xe480, 0x003f, 0xe47e, 0x003f, 0x8acd, 0x003f,
    +    0xe481, 0x003f, 0xe482, 0xe483, 0x003f, 0x003f, 0x8daf, 0x97c7,
    +    0x003f, 0xe485, 0x9046, 0x003f, 0x003f, 0x003f, 0x8990, 0xe486,
    +    0xe487, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe488, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x88f0, 0x003f, 0xe489, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe48a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9587, 0x003f, 0x003f, 0x003f, 0x8ec5, 0x003f, 0xe48c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a48, 0x88b0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe48b, 0xe48e, 0x946d, 0x003f, 0x9063,
    +    0x003f, 0x89d4, 0x003f, 0x9646, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8c7c, 0x8bda, 0x003f, 0xe48d, 0x003f, 0x89e8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aa1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8991, 0xe492, 0x97e8, 0x91db, 0x003f, 0x003f, 0x9563,
    +    0x003f, 0xe49e, 0x003f, 0x89d5, 0xe49c, 0x003f, 0xe49a, 0xe491,
    +    0x003f, 0xe48f, 0x003f, 0xe490, 0x003f, 0x8ee1, 0x8bea, 0x9297,
    +    0x003f, 0x003f, 0x003f, 0x93cf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8970, 0x003f, 0xe494, 0xe493, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe499, 0xe495, 0xe498, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8300 .. 0x83ff */
    +    0x003f, 0xee76, 0x96ce, 0xe497, 0x89d6, 0x8a9d, 0xe49b, 0x003f,
    +    0x003f, 0xe49d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c73, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a1, 0xe4aa,
    +    0xe4ab, 0x003f, 0x003f, 0x003f, 0x88a9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4b2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x88ef, 0x003f, 0x003f, 0xe4a9, 0x003f, 0x003f, 0x003f, 0xe4a8,
    +    0x003f, 0xe4a3, 0xe4a2, 0x003f, 0xe4a0, 0xe49f, 0x9283, 0x003f,
    +    0x91f9, 0xe4a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a7, 0x003f, 0x003f,
    +    0x003f, 0x9190, 0x8c74, 0x003f, 0x003f, 0x003f, 0x003f, 0x8960,
    +    0xe4a6, 0x003f, 0x8d72, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9191, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xee77, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4b8, 0x003f, 0xe4b9, 0x003f, 0x89d7,
    +    0x003f, 0x003f, 0x003f, 0x89ac, 0xe4b6, 0x003f, 0x003f, 0xee78,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ac, 0x003f, 0xe4b4,
    +    0x003f, 0xe4bb, 0xe4b5, 0x003f, 0x003f, 0x003f, 0xe4b3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe496, 0x003f, 0x003f, 0xe4b1, 0x003f,
    +    0x003f, 0x003f, 0xe4ad, 0x003f, 0x003f, 0x003f, 0x8ace, 0xe4af,
    +    0xe4ba, 0x003f, 0xe4b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4bc, 0x003f, 0xe4ae, 0x949c, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9789, 0x003f, 0x003f, 0x003f, 0xe4b7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cd, 0x003f, 0x003f,
    +    0x003f, 0xe4c5, 0x003f, 0x003f, 0x003f, 0x909b, 0x003f, 0xee79,
    +    0x003f, 0x003f, 0x8b65, 0x003f, 0x8bdb, 0x003f, 0xe4c0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x89d9, 0x003f, 0x003f, 0x8fd2, 0x003f,
    +    0xe4c3, 0x003f, 0x003f, 0x003f, 0x8dd8, 0x003f, 0x003f, 0x9370,
    +    0xe4c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x95ec, 0x003f, 0xe4bf, 0x003f, 0x003f, 0x003f, 0x89d8,
    +    0x8cd4, 0x9548, 0xe4c9, 0x003f, 0xe4bd, 0x003f, 0xee7a, 0xe4c6,
    +    0x003f, 0x003f, 0x003f, 0xe4d0, 0x003f, 0xe4c1, 0x003f, 0x003f,
    +    /* 0x8400 .. 0x84ff */
    +    0x003f, 0x003f, 0x003f, 0xe4c2, 0x93b8, 0x003f, 0x003f, 0xe4c7,
    +    0x003f, 0x003f, 0x003f, 0xe4c4, 0x9647, 0xe4ca, 0x88de, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4be, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4cc, 0x003f, 0xe4cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x948b, 0xe4d2, 0x003f, 0xe4dd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8a9e, 0x003f, 0x003f, 0x003f, 0xe4e0, 0x003f, 0x003f,
    +    0xe4ce, 0x003f, 0x003f, 0x003f, 0xe4d3, 0x978e, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dc, 0x003f,
    +    0xee7b, 0x9774, 0x003f, 0x003f, 0x003f, 0x003f, 0x97a8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9298,
    +    0x003f, 0x003f, 0x003f, 0x8a8b, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9592, 0xe4e2, 0x939f, 0x003f, 0x003f, 0x88af, 0x003f,
    +    0x003f, 0xe4db, 0x003f, 0xe4d7, 0x9192, 0xe4d1, 0xe4d9, 0xe4de,
    +    0x003f, 0x944b, 0x003f, 0x003f, 0x003f, 0x88a8, 0x003f, 0xe4d6,
    +    0x003f, 0xe4df, 0x9598, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe4da, 0x003f, 0xe4d5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8fd3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8f4e, 0x003f, 0x003f, 0x003f, 0x8eaa, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x96d6, 0x003f, 0x003f, 0x9566, 0x003f, 0x003f, 0xe4e5,
    +    0x003f, 0xe4ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8a97, 0x003f, 0xee7c, 0x003f, 0x003f, 0x003f,
    +    0x8ff6, 0xe4e3, 0x003f, 0xe4e8, 0x9193, 0x003f, 0x003f, 0xe4e4,
    +    0x003f, 0xe4eb, 0x003f, 0x003f, 0x927e, 0x003f, 0xe4ec, 0x003f,
    +    0x003f, 0x9775, 0xe4e1, 0x8a57, 0x003f, 0xe4e7, 0x003f, 0x003f,
    +    0xe4ea, 0x96aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ed, 0x003f,
    +    0x003f, 0xe4e6, 0xe4e9, 0x003f, 0xed44, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x9648, 0x003f, 0x9840, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f8, 0x003f, 0x003f, 0xe4f0,
    +    /* 0x8500 .. 0x85ff */
    +    0x8ec1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x95cc, 0x003f, 0x96a0, 0xe4f7, 0xe4f6, 0x003f, 0xe4f2,
    +    0xe4f3, 0x003f, 0x8955, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f5,
    +    0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x92d3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f4, 0x88fc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91a0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95c1, 0x003f, 0x003f,
    +    0xe4f9, 0xe540, 0x003f, 0x94d7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4fc, 0x8fd4, 0x8ec7, 0xe542, 0x003f, 0x003f, 0x8bbc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xee7d, 0x003f, 0xe543, 0x003f, 0x9599,
    +    0xe4fb, 0xee7e, 0xe4d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4fa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x986e, 0x93a0, 0x9593, 0xee80, 0x003f, 0xe54a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe550,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe551, 0x003f,
    +    0xe544, 0x003f, 0x003f, 0x003f, 0x9496, 0x003f, 0x003f, 0xe54e,
    +    0xe546, 0x003f, 0xe548, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe552, 0xe547, 0x003f, 0x003f, 0xe54b, 0x003f, 0x003f, 0x8992,
    +    0x003f, 0x93e3, 0x003f, 0xe54c, 0xe54f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe545, 0x003f, 0x9145, 0x003f,
    +    0xe549, 0x8e46, 0x9064, 0x8c4f, 0x96f2, 0x003f, 0x96f7, 0x8f92,
    +    0xee82, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe556, 0xe554, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x986d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe553, 0x003f, 0x003f, 0x003f, 0x9795, 0x003f, 0xe555,
    +    0xe557, 0x003f, 0x003f, 0x003f, 0x003f, 0xe558, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe55b, 0xe559, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x93a1, 0xe55a, 0x003f, 0x003f,
    +    0x003f, 0x94cb, 0xe54d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f93,
    +    0x003f, 0xe55c, 0xe561, 0x9194, 0x003f, 0x003f, 0xe560, 0x003f,
    +    /* 0x8600 .. 0x86ff */
    +    0x003f, 0x003f, 0xe541, 0x003f, 0x003f, 0x003f, 0xe562, 0x9168,
    +    0x003f, 0x003f, 0xe55d, 0xe55f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe55e, 0x003f, 0x003f, 0x9f50, 0x9f41,
    +    0x003f, 0x003f, 0xe564, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe563, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9796, 0x003f, 0xe1ba,
    +    0xe565, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe566,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe567, 0x8cd5, 0x003f,
    +    0x8b73, 0x003f, 0x003f, 0x003f, 0xe569, 0x997c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8b95, 0x003f, 0x97b8, 0x003f, 0x8bf1, 0xe56a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe56b,
    +    0x003f, 0x003f, 0x003f, 0x928e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe56c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x93f8, 0x003f, 0x88b8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x89e1, 0xe571, 0xe572, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe56d, 0x003f, 0x8e5c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe56e, 0x9461, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe56f, 0xe570, 0xe57a, 0x003f, 0x003f, 0x003f, 0xe574,
    +    0xe577, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe573, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe575, 0x003f, 0xe576, 0x8ed6,
    +    0x003f, 0xe578, 0x003f, 0x9260, 0x003f, 0x8c75, 0x8a61, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe57b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8a5e, 0x003f, 0xe581, 0x003f, 0x003f, 0xe57c, 0xe580,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x94b8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe57d, 0x003f, 0x003f, 0xe57e, 0x9567, 0x94d8, 0xe582,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x91fb, 0xe58c, 0x003f, 0xe588, 0x003f, 0x003f, 0x89e9, 0x003f,
    +    /* 0x8700 .. 0x87ff */
    +    0xe586, 0x003f, 0x9649, 0xe587, 0x003f, 0x003f, 0xe584, 0x003f,
    +    0xe585, 0xe58a, 0xe58d, 0x003f, 0x003f, 0xe58b, 0x003f, 0x003f,
    +    0x003f, 0xe589, 0xe583, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9277, 0x003f, 0xe594, 0x003f, 0x96a8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe592, 0x003f, 0x003f,
    +    0x003f, 0xe593, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe58e, 0x003f, 0x003f, 0xe590,
    +    0x003f, 0x003f, 0x003f, 0xe591, 0x003f, 0x003f, 0x003f, 0xe58f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x90e4, 0x003f, 0x9858, 0xe598, 0x003f, 0xe599, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe59f, 0x003f, 0x9049, 0x003f, 0xe59b,
    +    0x003f, 0xe59e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe596,
    +    0xe595, 0x003f, 0x003f, 0xe5a0, 0x003f, 0x003f, 0x89da, 0x003f,
    +    0xe59c, 0x003f, 0xe5a1, 0x003f, 0x003f, 0x003f, 0xe59d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe59a, 0x003f, 0x92b1, 0x003f,
    +    0xe597, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9488,
    +    0x003f, 0x003f, 0xe5a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x975a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a4,
    +    0x003f, 0x003f, 0xe5a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5ac, 0x003f, 0x003f, 0x003f, 0xe5a6,
    +    0x003f, 0x003f, 0x003f, 0xe5ae, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9786, 0xe5b1, 0x003f, 0xe5a8, 0x003f, 0x003f,
    +    0xe5a9, 0x003f, 0x003f, 0x003f, 0xe5ad, 0x003f, 0xe5b0, 0xe5af,
    +    0x003f, 0x003f, 0x003f, 0xe5a7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5aa, 0x003f, 0xe5bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b2,
    +    0x003f, 0x003f, 0xe5b3, 0x003f, 0x003f, 0x003f, 0xe5b8, 0xe5b9,
    +    0x003f, 0x8a49, 0x003f, 0x8b61, 0x003f, 0x003f, 0xe5b7, 0x003f,
    +    /* 0x8800 .. 0x88ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a2, 0x003f, 0xee85,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b6, 0xe5ba, 0xe5b5,
    +    0x003f, 0xe5bc, 0x003f, 0x003f, 0x003f, 0xe5be, 0xe5bd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5c0, 0xe5bf, 0xe579, 0x003f, 0x003f, 0x003f, 0xe5c4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5c2, 0x003f,
    +    0x003f, 0xe5c3, 0x003f, 0xe5c5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8c8c, 0x003f, 0xe5c7, 0x003f, 0xe5c6, 0x003f, 0x8f4f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8d73, 0x9fa5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5c8, 0x8f70, 0x003f, 0x003f, 0x003f, 0x8a58,
    +    0x003f, 0xe5c9, 0x003f, 0x8971, 0x003f, 0x8fd5, 0xe5ca, 0x003f,
    +    0x003f, 0x8d74, 0xe5cb, 0x88df, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x955c, 0x003f, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x908a, 0x003f, 0xe5d3, 0x003f, 0x003f, 0xe5d0, 0x003f, 0x928f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5d1, 0xe5ce, 0x8bdc,
    +    0x003f, 0xe5cd, 0xe5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8c55, 0x003f, 0x003f, 0x91dc, 0x003f, 0xe5da, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5d6, 0x003f, 0x003f, 0x003f, 0x91b3, 0xe5d5,
    +    0x003f, 0xe5d8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5cf, 0x003f,
    +    0x003f, 0x003f, 0xe5d9, 0x003f, 0xe5db, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x94ed, 0x003f, 0x003f, 0xe5d7, 0x003f,
    +    0xe5dc, 0xe5de, 0x003f, 0x003f, 0x8cd1, 0xe5d2, 0x003f, 0x88bf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5dd,
    +    0x003f, 0x8dd9, 0x97f4, 0xe5df, 0xe5e0, 0x9195, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97a0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe5e1, 0x9754, 0x003f, 0x003f,
    +    0xe5e2, 0xe5e3, 0x003f, 0x003f, 0x95e2, 0xe5e4, 0x003f, 0x8dbe,
    +    0x003f, 0x97a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5ea, 0x8fd6, 0xe5e8, 0xee86, 0x003f, 0x003f,
    +    0x9787, 0xe5e5, 0x003f, 0x003f, 0xe5e7, 0x90bb, 0x909e, 0x003f,
    +    /* 0x8900 .. 0x89ff */
    +    0x003f, 0x003f, 0xe5e6, 0x003f, 0xe5eb, 0x003f, 0x003f, 0x95a1,
    +    0x003f, 0x003f, 0xe5ed, 0x003f, 0xe5ec, 0x003f, 0x003f, 0x003f,
    +    0x8a8c, 0x003f, 0x964a, 0xe5ee, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xed41, 0xe5fa, 0xe5f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5f2, 0xe5f3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f7, 0x003f,
    +    0xe5f8, 0x003f, 0x003f, 0xe5f6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5f4, 0x003f, 0xe5ef, 0xe5f5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f9, 0xe8b5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x89a6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5fc, 0x8bdd,
    +    0xe5fb, 0x003f, 0x003f, 0x003f, 0xe641, 0x003f, 0xe640, 0x003f,
    +    0x003f, 0x003f, 0xe643, 0x003f, 0x003f, 0xe642, 0x003f, 0xe644,
    +    0x003f, 0x003f, 0x8f50, 0x003f, 0xe645, 0x003f, 0x003f, 0xe646,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe647, 0x90bc,
    +    0x003f, 0x9776, 0x003f, 0xe648, 0x003f, 0x003f, 0x95a2, 0x9465,
    +    0xe649, 0x003f, 0xe64a, 0x8ca9, 0x003f, 0x003f, 0x003f, 0x8b4b,
    +    0x003f, 0x003f, 0x003f, 0xe64b, 0x003f, 0x003f, 0x8e8b, 0x9460,
    +    0xe64c, 0x003f, 0x8a6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe64d, 0x003f, 0x003f, 0x003f, 0x003f, 0xe64f, 0x9797,
    +    0x003f, 0xe64e, 0x9065, 0x003f, 0xe650, 0x003f, 0x003f, 0xe651,
    +    0x003f, 0x003f, 0xe652, 0x8acf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe653, 0x003f, 0x003f, 0xe654, 0x003f, 0xe655,
    +    0xe656, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8a70, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe657, 0x003f, 0xe658, 0xe659, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x89f0, 0x003f, 0x003f, 0x9047, 0xe65a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe65b, 0x003f, 0x003f, 0x003f,
    +    0xe65c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8a00 .. 0x8aff */
    +    0x8cbe, 0x003f, 0x92f9, 0xe65d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8c76, 0x003f, 0x9075, 0x003f, 0xe660, 0x003f, 0x93a2, 0x003f,
    +    0xe65f, 0x003f, 0xee87, 0x8c50, 0x003f, 0x003f, 0xe65e, 0x91f5,
    +    0x8b4c, 0x003f, 0x003f, 0xe661, 0x003f, 0xe662, 0x003f, 0x8fd7,
    +    0x003f, 0x003f, 0x003f, 0x8c8d, 0x003f, 0xe663, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x964b, 0x003f, 0x003f, 0x90dd, 0x003f, 0x003f,
    +    0x003f, 0x8b96, 0x003f, 0x96f3, 0x9169, 0x003f, 0xe664, 0xee88,
    +    0x003f, 0x003f, 0x9066, 0x9290, 0x8fd8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe665, 0x003f, 0x003f, 0x003f, 0x003f, 0xe668, 0x003f,
    +    0xe669, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8dbc, 0x91c0, 0xe667, 0x003f, 0x8fd9, 0x955d, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe666, 0x003f, 0x003f, 0x8e8c, 0x003f,
    +    0x8972, 0x003f, 0xe66d, 0x8c77, 0x003f, 0x003f, 0x8e8e, 0x003f,
    +    0x003f, 0x8e8d, 0x003f, 0x986c, 0xe66c, 0xe66b, 0x9146, 0x003f,
    +    0x8b6c, 0x9862, 0x8a59, 0x8fda, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xee89, 0x003f, 0x003f, 0xe66a, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe66f, 0x003f, 0xe670, 0xe66e, 0x003f, 0x8cd6,
    +    0x003f, 0x975f, 0x003f, 0x003f, 0x8e8f, 0x9446, 0x003f, 0x003f,
    +    0x003f, 0xe673, 0x003f, 0x90be, 0x003f, 0x9261, 0x003f, 0x003f,
    +    0x9755, 0x003f, 0xe676, 0x003f, 0x003f, 0x003f, 0x8cea, 0x003f,
    +    0x90bd, 0xe672, 0x003f, 0xe677, 0x8ceb, 0xe674, 0xe675, 0xee8a,
    +    0xe671, 0x003f, 0x003f, 0x003f, 0x90e0, 0x93c7, 0x003f, 0x003f,
    +    0x924e, 0x003f, 0x89db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x94ee, 0x003f, 0x003f, 0x8b62, 0x003f, 0xee8b, 0x92b2,
    +    0x003f, 0x003f, 0xe67a, 0x003f, 0xe678, 0x003f, 0x003f, 0x926b,
    +    0x003f, 0x003f, 0x003f, 0x90bf, 0x8ad0, 0xe679, 0x003f, 0x907a,
    +    0x003f, 0x003f, 0x97c8, 0x003f, 0x003f, 0x003f, 0x985f, 0x003f,
    +    0x003f, 0x003f, 0xe67b, 0xe687, 0x92b3, 0x003f, 0xe686, 0xee8c,
    +    0xe683, 0xe68b, 0xe684, 0x003f, 0xe680, 0x003f, 0x92fa, 0xe67e,
    +    0x003f, 0x003f, 0x003f, 0xe67c, 0x003f, 0x9740, 0x8e90, 0x003f,
    +    0x003f, 0xe681, 0x003f, 0xe67d, 0x003f, 0x003f, 0xee8e, 0xe685,
    +    0x8f94, 0x003f, 0x8cbf, 0x003f, 0x003f, 0x003f, 0x91f8, 0x003f,
    +    /* 0x8b00 .. 0x8bff */
    +    0x9664, 0x8979, 0x88e0, 0x003f, 0x93a3, 0x003f, 0x003f, 0xe689,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe688, 0x003f, 0x93e4, 0x003f,
    +    0xe68d, 0x003f, 0x003f, 0x003f, 0xe682, 0x003f, 0xe68c, 0xe68e,
    +    0x003f, 0x8caa, 0xe68a, 0x8d75, 0x003f, 0x8ed3, 0x003f, 0x003f,
    +    0xe68f, 0x9777, 0x003f, 0x003f, 0x003f, 0x003f, 0xe692, 0x003f,
    +    0xe695, 0x003f, 0x003f, 0xe693, 0x9554, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe690, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8bde, 0x003f, 0x003f, 0x003f, 0x003f, 0xe694, 0x003f,
    +    0x003f, 0xe696, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe69a, 0x003f, 0x003f, 0xe697, 0x003f, 0xe699, 0xe698,
    +    0x003f, 0x003f, 0x003f, 0xee8f, 0x003f, 0x003f, 0xe69b, 0x003f,
    +    0x8eaf, 0x003f, 0xe69d, 0xe69c, 0x9588, 0x003f, 0x003f, 0xe69f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c78, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe69e, 0xe6a0, 0x003f, 0x003f, 0xe6a1,
    +    0x8b63, 0xe3bf, 0x8ff7, 0x003f, 0xe6a2, 0x003f, 0x003f, 0x8cec,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a3, 0x003f, 0xee90,
    +    0xe6a4, 0x003f, 0x003f, 0x8e5d, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9dcc, 0x003f, 0xe6a5, 0x003f, 0xe6a6, 0x003f,
    +    0x8f51, 0x003f, 0xe6a7, 0xe6a8, 0x003f, 0x003f, 0xe6a9, 0x003f,
    +    0x003f, 0xe6aa, 0xe6ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8c00 .. 0x8cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x924a,
    +    0x003f, 0x003f, 0xe6ac, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ae,
    +    0x003f, 0xe6ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x93a4, 0x003f,
    +    0xe6af, 0x003f, 0x964c, 0x003f, 0xe6b0, 0x003f, 0xe6b1, 0x003f,
    +    0xe6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6b3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x93d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8fdb, 0xe6b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8d8b, 0x98ac, 0xe6b5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6b6, 0x955e, 0xe6b7, 0x003f, 0xe6bf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6b8, 0x003f, 0x003f, 0xe6ba, 0x003f, 0x003f,
    +    0x003f, 0xe6b9, 0xe6bb, 0x003f, 0x9665, 0xe6bc, 0xe6bd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6be, 0x003f, 0x003f, 0x003f,
    +    0xe6c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a4c, 0x92e5, 0x003f,
    +    0x9589, 0x8de0, 0x8d76, 0x003f, 0x003f, 0x003f, 0x003f, 0x956e,
    +    0x89dd, 0x94cc, 0xe6c3, 0x8ad1, 0x90d3, 0xe6c2, 0xe6c7, 0x9299,
    +    0x96e1, 0x003f, 0xe6c5, 0xe6c6, 0x8b4d, 0x003f, 0xe6c8, 0x9483,
    +    0x91dd, 0x003f, 0x003f, 0x94ef, 0x935c, 0xe6c4, 0x003f, 0x9666,
    +    0x89ea, 0xe6ca, 0x9847, 0x92c0, 0x9864, 0x003f, 0x003f, 0x8e91,
    +    0xe6c9, 0x003f, 0x91af, 0x003f, 0x003f, 0xe6da, 0x9147, 0x003f,
    +    0x003f, 0x93f6, 0x003f, 0x956f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6cd, 0x8e5e, 0x8e92, 0x003f, 0x8fdc, 0x003f,
    +    0x9485, 0x003f, 0x8cab, 0xe6cc, 0xe6cb, 0x003f, 0x958a, 0x003f,
    +    0x003f, 0x003f, 0x8ebf, 0x003f, 0x003f, 0x9371, 0x003f, 0x003f,
    +    0xee91, 0x003f, 0x003f, 0x003f, 0xee92, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6cf, 0xe6d0, 0x8d77, 0xe6ce, 0x003f, 0x003f,
    +    /* 0x8d00 .. 0x8dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6d1, 0xe6d2, 0x003f, 0xe6d4,
    +    0x91a1, 0x003f, 0xe6d3, 0x8ae4, 0x003f, 0xe6d6, 0x003f, 0xe6d5,
    +    0xe6d7, 0x003f, 0xee93, 0xe6d9, 0xe6db, 0x003f, 0xe6dc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x90d4, 0x003f, 0x8ecd, 0xe6dd,
    +    0x003f, 0x003f, 0x003f, 0x8a71, 0x003f, 0xe6de, 0x003f, 0x003f,
    +    0x9196, 0xe6df, 0x003f, 0xe6e0, 0x958b, 0x003f, 0xee94, 0x8b4e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe6e1, 0x003f, 0x003f, 0x003f, 0x92b4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x897a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe6e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8eef, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9096, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x91ab, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6e5, 0x003f, 0x003f, 0x003f, 0xe6e4, 0x003f,
    +    0x003f, 0x003f, 0xe6e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6eb, 0xe6e9, 0x003f, 0x003f, 0xe6e6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e8, 0x003f,
    +    0x003f, 0x003f, 0xe6e7, 0xe6ea, 0x003f, 0x8b97, 0x003f, 0xe6ee,
    +    0x003f, 0x90d5, 0x003f, 0xe6ef, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8cd7, 0x003f, 0xe6ec, 0xe6ed, 0x003f, 0x003f, 0x003f, 0x9848,
    +    0x003f, 0x003f, 0x003f, 0x92b5, 0x003f, 0x9148, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6f0, 0x003f, 0x003f, 0xe6f3,
    +    /* 0x8e00 .. 0x8eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6f1, 0xe6f2, 0x9778, 0x003f, 0x003f, 0x003f, 0x003f, 0x93a5,
    +    0xe6f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f4, 0xe6f5, 0xe6f7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe748, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6fa, 0x003f, 0x003f, 0x003f, 0xe6fb, 0xe6f9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe6f8, 0x003f, 0x92fb, 0x003f, 0x003f, 0xe740,
    +    0xe744, 0xe741, 0xe6fc, 0x003f, 0xe742, 0x003f, 0x003f, 0x003f,
    +    0xe743, 0x003f, 0x003f, 0x003f, 0x003f, 0xe74a, 0x003f, 0x003f,
    +    0x003f, 0xe745, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90d6,
    +    0xe747, 0x003f, 0x003f, 0xe749, 0xe746, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe74c, 0x003f, 0x8f52, 0x003f, 0xe74b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe74d, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe74e, 0x003f, 0x003f, 0xe751, 0xe750, 0x003f, 0xe74f,
    +    0x003f, 0x003f, 0xe753, 0xe752, 0x003f, 0x96f4, 0x003f, 0x003f,
    +    0x003f, 0xe755, 0x003f, 0xe754, 0xe756, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe757, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe759, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe758, 0x9067, 0xe75a, 0x003f, 0x003f, 0x8beb,
    +    0xe75b, 0xe75d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe75e, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe75f, 0xe75c, 0x003f,
    +    0xe760, 0x003f, 0x8ed4, 0xe761, 0x8b4f, 0x8c52, 0x003f, 0xee96,
    +    0x003f, 0x003f, 0x8cac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe762, 0x003f, 0x003f, 0x003f, 0x93ee,
    +    0x003f, 0x003f, 0x935d, 0xe763, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe766, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8eb2, 0x003f, 0x003f, 0xe765, 0xe764, 0x8c79, 0xe767, 0x003f,
    +    /* 0x8f00 .. 0x8fff */
    +    0x003f, 0x003f, 0x003f, 0x8a72, 0x003f, 0xe769, 0x003f, 0x003f,
    +    0x003f, 0x8dda, 0xe768, 0x003f, 0xe771, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe76b, 0xe76d, 0x95e3, 0xe76a, 0x003f, 0x003f,
    +    0x003f, 0xe76c, 0x003f, 0xe770, 0xe76e, 0x8b50, 0x003f, 0xe76f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe772, 0x003f,
    +    0x003f, 0x9479, 0x97d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f53,
    +    0x003f, 0x003f, 0x003f, 0xe773, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9741, 0xe775, 0x003f, 0xe774, 0x003f, 0x003f, 0xe778, 0x9760,
    +    0x003f, 0x003f, 0xe777, 0x003f, 0x8a8d, 0xe776, 0xe77b, 0x003f,
    +    0x003f, 0xe77a, 0x003f, 0x003f, 0xe779, 0x9351, 0xe77c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe77d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe77e, 0x003f, 0x003f, 0x8d8c,
    +    0x003f, 0x8c44, 0xe780, 0xe781, 0xe782, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9068, 0xe783, 0x003f, 0x8eab, 0xe784,
    +    0x003f, 0x003f, 0x003f, 0xe785, 0x003f, 0x003f, 0x003f, 0x999f,
    +    0x999e, 0x003f, 0x003f, 0x003f, 0x003f, 0xe786, 0xe390, 0xe787,
    +    0x9243, 0x904a, 0x945f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe788,
    +    0x003f, 0x003f, 0x95d3, 0x92d2, 0x8d9e, 0x003f, 0x003f, 0x9248,
    +    0x003f, 0x003f, 0x8949, 0x003f, 0x9698, 0x9076, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c7d, 0x003f,
    +    0x003f, 0x8bdf, 0x003f, 0x003f, 0x95d4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe789, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe78b, 0x003f, 0x003f, 0xe78a, 0x89de, 0x003f,
    +    0x003f, 0x93f4, 0xe78c, 0x9497, 0x003f, 0x9352, 0x003f, 0xe78d,
    +    0x8f71, 0x003f, 0x003f, 0x003f, 0xe78f, 0x003f, 0x003f, 0x96c0,
    +    0xe79e, 0xe791, 0xe792, 0x003f, 0x003f, 0x92c7, 0x003f, 0x003f,
    +    /* 0x9000 .. 0x90ff */
    +    0x91de, 0x9197, 0x003f, 0x93a6, 0x003f, 0xe790, 0x8b74, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe799, 0x003f, 0xe796, 0xe7a3, 0x93a7,
    +    0x9280, 0xe793, 0x003f, 0x92fc, 0x9372, 0xe794, 0xe798, 0x9080,
    +    0x003f, 0x9487, 0x92ca, 0x003f, 0x003f, 0x90c0, 0xe797, 0x91ac,
    +    0x91a2, 0xe795, 0x88a7, 0x9841, 0x003f, 0x003f, 0x003f, 0xe79a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91df, 0x003f,
    +    0x003f, 0x8f54, 0x9069, 0x003f, 0x003f, 0xe79c, 0xe79b, 0x003f,
    +    0x88ed, 0xe79d, 0x003f, 0x003f, 0x954e, 0x003f, 0xe7a5, 0x003f,
    +    0x003f, 0x93d9, 0x908b, 0x003f, 0x003f, 0x9278, 0x003f, 0x8bf6,
    +    0x003f, 0xe7a4, 0x9756, 0x895e, 0x003f, 0x95d5, 0x89df, 0xe79f,
    +    0xe7a0, 0xe7a1, 0xe7a2, 0x93b9, 0x9242, 0x88e1, 0xe7a6, 0x003f,
    +    0xe7a7, 0xeaa1, 0x003f, 0x003f, 0x91bb, 0x003f, 0xe7a8, 0x003f,
    +    0x8993, 0x916b, 0x003f, 0x8cad, 0x003f, 0x9779, 0x003f, 0xee99,
    +    0xe7a9, 0x934b, 0x003f, 0x003f, 0x003f, 0x9198, 0x8ed5, 0xe7aa,
    +    0x003f, 0x003f, 0xe7ad, 0x003f, 0x003f, 0x8f85, 0xe7ab, 0x914a,
    +    0x9149, 0x003f, 0x88e2, 0x003f, 0x97c9, 0xe7af, 0x003f, 0x94f0,
    +    0xe7b1, 0xe7b0, 0xe7ae, 0xe284, 0x8ad2, 0x003f, 0x003f, 0xe78e,
    +    0x003f, 0xe7b3, 0xe7b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b4,
    +    0x003f, 0x9757, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x93df, 0x003f, 0x003f, 0x964d, 0x003f,
    +    0xe7b5, 0x003f, 0x8ed7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b6,
    +    0x003f, 0xe7b7, 0x003f, 0x003f, 0x003f, 0xe7b8, 0x003f, 0x003f,
    +    0x9340, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x88e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x8d78, 0x003f, 0x003f, 0x003f, 0x9859, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe7bc, 0x003f, 0x003f, 0xee9a, 0x003f,
    +    0x003f, 0x8c53, 0xe7b9, 0x003f, 0xe7ba, 0x003f, 0x003f, 0x003f,
    +    0x9594, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a73, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9758, 0x003f, 0x8bbd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9373, 0x003f, 0x003f,
    +    /* 0x9100 .. 0x91ff */
    +    0x003f, 0x003f, 0xe7bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7be, 0x003f, 0x003f, 0xee9c, 0x003f, 0x003f,
    +    0x003f, 0xe7bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee9d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9341, 0x003f, 0x003f,
    +    0xe7c1, 0x003f, 0xe7c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x93d1, 0xe7c2, 0x8f55, 0x8ede, 0x947a, 0x9291, 0x003f,
    +    0x003f, 0x003f, 0x8ef0, 0x003f, 0x908c, 0x003f, 0xe7c3, 0x003f,
    +    0xe7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x907c, 0xe7c5, 0x003f, 0xe7c6, 0x003f, 0x003f,
    +    0x003f, 0xe7c7, 0x978f, 0x003f, 0x8f56, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7c9, 0xe7c8, 0x003f, 0x8d79, 0x003f, 0x8d93,
    +    0x8e5f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f86,
    +    0x003f, 0xe7cb, 0x003f, 0xe7ca, 0x003f, 0x91e7, 0x003f, 0x003f,
    +    0x8ced, 0x003f, 0x90c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x94ae,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8f58, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7cd, 0x003f, 0x8fdd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7d0, 0xe7ce, 0x003f, 0x003f, 0x003f, 0xe7cf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe7d2, 0xe7d1, 0x003f, 0x003f,
    +    0x8ff8, 0x003f, 0xe7d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7d4, 0xe7d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x94ce, 0x8dd1,
    +    0x8edf, 0xe7d6, 0x003f, 0xe7d7, 0x97a2, 0x8f64, 0x96ec, 0x97ca,
    +    0xe7d8, 0x8be0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7d9, 0xee9f,
    +    0x9342, 0x003f, 0xee9e, 0xe7dc, 0x8a98, 0x906a, 0xeea0, 0xe7da,
    +    0x003f, 0xe7db, 0x003f, 0x92de, 0xeea3, 0xeea4, 0x9674, 0x8bfa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeea1, 0xeea2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7de, 0xe7df, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe7dd, 0x003f, 0x003f, 0xe7e1,
    +    /* 0x9200 .. 0x92ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeea5, 0x003f,
    +    0x003f, 0x003f, 0xeea7, 0x003f, 0x003f, 0x93dd, 0x8a62, 0x003f,
    +    0xeea6, 0xe7e5, 0x003f, 0x003f, 0xe7e2, 0xe7e4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe86e, 0x003f, 0x003f, 0xe7e3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x97e9, 0x003f, 0x003f, 0x8cd8,
    +    0x003f, 0xeeae, 0xeea8, 0x003f, 0xeeaa, 0x003f, 0x003f, 0xe7ed,
    +    0xeea9, 0x003f, 0x003f, 0x003f, 0x9353, 0xe7e8, 0x003f, 0x003f,
    +    0xe7eb, 0xe7e9, 0x003f, 0xe7ee, 0x003f, 0x003f, 0xeeab, 0x003f,
    +    0xe7ef, 0xeead, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e7,
    +    0x003f, 0xeeac, 0xe7f4, 0x8994, 0x003f, 0x003f, 0xe7e6, 0x003f,
    +    0x003f, 0x003f, 0x94ab, 0x003f, 0xe7ea, 0x003f, 0x8fde, 0xeeaf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8d7a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb1,
    +    0xeeb2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9667, 0x003f,
    +    0x8be2, 0x003f, 0x003f, 0x8f65, 0x003f, 0x93ba, 0x003f, 0x003f,
    +    0xed43, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x914c, 0x003f, 0xe7f2, 0x003f, 0xe7ec, 0xe7f1, 0x003f,
    +    0x96c1, 0x003f, 0x92b6, 0xe7f3, 0xe7f0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x914b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f7,
    +    0x003f, 0xe7f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f5,
    +    0xeeb6, 0x003f, 0x964e, 0xeeba, 0x003f, 0xeeb8, 0x003f, 0xeeb4,
    +    0x003f, 0xeeb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeeb9, 0x003f, 0x003f, 0x003f, 0x8f9b, 0x003f, 0x003f, 0xeeb3,
    +    0x003f, 0xe7f8, 0x95dd, 0x003f, 0x003f, 0x8973, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9565, 0x9292, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b98, 0xed49, 0xe7fa, 0xeebd, 0x8d7c, 0x003f, 0x003f, 0xeec0,
    +    /* 0x9300 .. 0x93ff */
    +    0x003f, 0x003f, 0xeec2, 0x003f, 0x003f, 0x003f, 0x8e4b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f9,
    +    0x908d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x908e, 0xe840, 0xe842, 0x003f, 0x003f, 0xeec1, 0xeebf, 0x003f,
    +    0x8ff9, 0xeebc, 0xe841, 0xe843, 0x003f, 0xeebb, 0x8bd1, 0x003f,
    +    0x9564, 0x003f, 0x003f, 0x8ee0, 0x9842, 0x003f, 0xe7fc, 0x8df6,
    +    0x003f, 0x003f, 0x985e, 0x003f, 0x003f, 0xe845, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe844, 0xe846, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe7fb, 0x003f, 0x003f, 0x003f,
    +    0xed42, 0x003f, 0x003f, 0x93e7, 0x003f, 0x9374, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x92d5, 0x003f, 0xe84b, 0xeec4,
    +    0x003f, 0x003f, 0x003f, 0x9262, 0xe847, 0x003f, 0x003f, 0x003f,
    +    0xe848, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8c4c, 0x003f, 0xe84a, 0x003f,
    +    0xeec3, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cae, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe849, 0x003f, 0x8fdf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8a99, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe84f, 0x003f, 0x8dbd, 0x9199,
    +    0x003f, 0x003f, 0x92c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeec5, 0x003f, 0x003f, 0x8a5a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe84d, 0xe84e, 0x92c1, 0x003f,
    +    0xe84c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe850, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe856, 0x003f, 0x003f, 0xeec6, 0x003f,
    +    0xe859, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe858, 0x934c, 0x003f, 0x003f, 0x003f, 0x003f, 0xe851, 0xe852,
    +    0xe855, 0x003f, 0x003f, 0x003f, 0x003f, 0xe857, 0xeec7, 0x003f,
    +    0x003f, 0x8bbe, 0x003f, 0x003f, 0xe85a, 0xe854, 0x003f, 0x003f,
    +    0xe853, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeec8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9400 .. 0x94ff */
    +    0x003f, 0x003f, 0x003f, 0xe85e, 0x003f, 0x003f, 0x003f, 0xe85f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe860, 0x003f, 0x003f, 0xe85d, 0xe85c, 0x003f, 0x003f, 0x003f,
    +    0x8fe0, 0x93a8, 0xe85b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe864, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe862, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeec9, 0x003f, 0x003f, 0x003f, 0xe863, 0xe861, 0x003f,
    +    0x91f6, 0x003f, 0xe865, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe866, 0x003f, 0x003f, 0xe868, 0xeeca, 0x003f, 0x003f,
    +    0xeecb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8ad3, 0xe867, 0x96f8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe873, 0xe869, 0x003f, 0x003f, 0xe86c, 0x003f,
    +    0xe86a, 0x003f, 0xe86b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe86d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe86f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe870, 0x003f, 0xe871,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe874, 0xe872, 0xe875, 0xe877,
    +    0x003f, 0xe876, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9500 .. 0x95ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92b7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x96e5, 0x003f, 0xe878, 0x914d, 0x003f, 0x003f, 0x003f, 0xe879,
    +    0x003f, 0x95c2, 0xe87a, 0x8a4a, 0x003f, 0x003f, 0x003f, 0x895b,
    +    0x003f, 0x8ad5, 0xeecc, 0x8ad4, 0xe87b, 0x003f, 0xe87c, 0x003f,
    +    0xe87d, 0xe87e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe880, 0x003f, 0x8ad6, 0x8a74, 0x8d7d, 0x94b4, 0x003f, 0xe882,
    +    0xe881, 0x003f, 0x003f, 0x003f, 0x003f, 0xe883, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x897b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe886, 0x003f, 0xe885, 0xe884, 0x003f, 0xe887, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe88a, 0x003f, 0x003f, 0x003f, 0x88c5,
    +    0x003f, 0x003f, 0xe888, 0x003f, 0xe88c, 0xe88b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe88e, 0xe88d, 0xe88f, 0x003f,
    +    0x93ac, 0x003f, 0x003f, 0x003f, 0xe890, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe891, 0xe893, 0x003f, 0x003f, 0xe892, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9600 .. 0x96ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x958c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe894, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe895, 0x003f, 0x8de3, 0x003f, 0x003f, 0x003f, 0xe896, 0xe897,
    +    0x003f, 0x003f, 0x9668, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x916a, 0x003f, 0x003f, 0x003f, 0x88a2,
    +    0x91c9, 0x003f, 0xe898, 0x003f, 0x958d, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe89b, 0xe899, 0x8d7e, 0x003f, 0xe89a,
    +    0x8cc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x95c3, 0xe89d, 0xe89f, 0xe89e, 0xe8a0,
    +    0x003f, 0x003f, 0x8940, 0x9077, 0x8f9c, 0x8ad7, 0xe8a1, 0x003f,
    +    0x003f, 0x003f, 0x9486, 0x003f, 0xe8a3, 0x003f, 0x003f, 0x003f,
    +    0x8941, 0x003f, 0xe8a2, 0x92c2, 0x003f, 0x97cb, 0x93a9, 0xe89c,
    +    0x97a4, 0x003f, 0x8caf, 0x003f, 0x003f, 0x977a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bf7, 0x97b2, 0x003f,
    +    0x8c47, 0x003f, 0x91e0, 0xe440, 0x003f, 0xe8a4, 0x8a4b, 0x908f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8a75, 0xe8a6, 0x003f, 0xe8a7,
    +    0xe8a5, 0x8c84, 0x003f, 0x8ddb, 0x8fe1, 0xeecf, 0x003f, 0x003f,
    +    0x8942, 0x003f, 0x003f, 0x97d7, 0x003f, 0x003f, 0x003f, 0xe8a9,
    +    0xe7ac, 0x003f, 0xe8a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed0,
    +    0xe8ac, 0xe8aa, 0xe8ab, 0x003f, 0xe8ad, 0x003f, 0xe8ae, 0x97ea,
    +    0xe8af, 0xe8b0, 0x003f, 0x90c7, 0x94b9, 0x003f, 0x003f, 0x003f,
    +    0x909d, 0x8ae5, 0x003f, 0x003f, 0x9759, 0x89eb, 0x8f57, 0x8cd9,
    +    0x003f, 0xe8b3, 0x003f, 0xe8b2, 0x8e93, 0xe8b4, 0xe8b1, 0x003f,
    +    0x003f, 0x8e47, 0x003f, 0x003f, 0x003f, 0xe8b8, 0xe5ab, 0x003f,
    +    0x003f, 0x99d4, 0x003f, 0x9097, 0xe8b6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x97a3, 0x93ef, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x894a, 0x003f, 0x90e1, 0x8eb4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x95b5, 0x003f, 0x895f, 0x003f, 0x003f, 0x003f, 0x97eb, 0x978b,
    +    0x003f, 0xe8b9, 0x003f, 0x9364, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9700 .. 0x97ff */
    +    0x8ef9, 0x003f, 0x003f, 0x003f, 0xe8ba, 0x003f, 0xe8bb, 0x906b,
    +    0xe8bc, 0x003f, 0x97ec, 0x003f, 0x003f, 0xe8b7, 0xe8be, 0xe8c0,
    +    0x003f, 0xe8bf, 0x003f, 0xe8bd, 0x003f, 0x003f, 0xe8c1, 0x003f,
    +    0x003f, 0xe8c2, 0x003f, 0x003f, 0x919a, 0x003f, 0x89e0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe8c3, 0x003f, 0x003f, 0x96b6,
    +    0x003f, 0x003f, 0xe8c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8c5, 0x003f, 0x9849, 0xeed1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9e50, 0xe8c6, 0x003f, 0xeed2, 0x003f, 0xe8c7, 0xe8c8, 0x003f,
    +    0x003f, 0x003f, 0xe8cc, 0xeed3, 0xe8c9, 0x003f, 0xe8ca, 0x003f,
    +    0xe8cb, 0xe8cd, 0x003f, 0x003f, 0x003f, 0xeed4, 0x003f, 0xeed5,
    +    0x003f, 0xeed6, 0x90c2, 0x003f, 0x003f, 0xeed7, 0x96f5, 0x003f,
    +    0x003f, 0x90c3, 0x003f, 0x003f, 0xe8ce, 0x003f, 0x94f1, 0x003f,
    +    0xe8cf, 0xea72, 0x96ca, 0x003f, 0xe8d0, 0x003f, 0xe8d1, 0x003f,
    +    0xe8d2, 0x8a76, 0x003f, 0xe8d4, 0x003f, 0x9078, 0x003f, 0x003f,
    +    0x003f, 0xe8d5, 0x003f, 0x003f, 0x8c43, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe8d6, 0xe8da, 0x003f, 0xe8d8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe8d9, 0x003f, 0x003f, 0x8a93, 0xe8d7, 0xe8db, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8dc, 0x003f, 0x88c6, 0x003f, 0xe8dd,
    +    0xe8de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8fe2, 0x003f, 0x003f, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f,
    +    0x8b66, 0x003f, 0x003f, 0xe8e2, 0x003f, 0x003f, 0xe8e1, 0x003f,
    +    0xe8e0, 0x003f, 0x003f, 0xe691, 0x003f, 0x95da, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8e3, 0xe8e4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8e5, 0x003f, 0x003f, 0xe8e6, 0x003f,
    +    0xe8e7, 0x003f, 0x003f, 0xe8e8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8ad8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe8e9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ea, 0x9442, 0x003f,
    +    0x003f, 0x003f, 0xe8ec, 0x89b9, 0x003f, 0xe8ef, 0xe8ee, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8943, 0x003f, 0x003f, 0x003f, 0x8bbf,
    +    /* 0x9800 .. 0x98ff */
    +    0x003f, 0x95c5, 0x92b8, 0x8da0, 0x003f, 0x8d80, 0x8f87, 0x003f,
    +    0x907b, 0x003f, 0x003f, 0x003f, 0xe8f1, 0x003f, 0x003f, 0xe8f0,
    +    0x9761, 0x8ae6, 0x94d0, 0x93da, 0x003f, 0x003f, 0x003f, 0x909c,
    +    0x97cc, 0x003f, 0x8c7a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe8f4, 0x003f, 0x003f, 0xe8f3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x966a, 0x93aa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x896f, 0x003f, 0x003f, 0xe8f5,
    +    0xe8f2, 0x003f, 0x003f, 0x9570, 0x978a, 0xe8f6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8f7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8f9, 0x91e8, 0x8a7a, 0x8a7b, 0xe8f8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8ae7, 0x8cb0, 0x003f, 0xeed8,
    +    0x8ae8, 0x003f, 0x003f, 0x935e, 0x003f, 0x003f, 0x97de, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed9, 0x003f, 0x8cda,
    +    0x003f, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0x003f, 0xe8fb,
    +    0xe8fc, 0xe940, 0x003f, 0xe942, 0xe941, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9597, 0x003f, 0xe943, 0x003f, 0x003f, 0x003f, 0x003f, 0xe944,
    +    0x003f, 0xe945, 0x003f, 0x003f, 0x003f, 0x003f, 0xe946, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe948, 0xe947, 0x003f, 0xe949, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x94f2, 0xe3ca, 0x003f, 0x003f, 0x9048,
    +    0x003f, 0x003f, 0x8b51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe94a, 0x003f, 0xe94b, 0x003f, 0x99aa, 0x9f5a, 0x94d1,
    +    0x003f, 0x003f, 0x88f9, 0x003f, 0x88b9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x8e94, 0x964f, 0x8ffc, 0x003f,
    +    /* 0x9900 .. 0x99ff */
    +    0x003f, 0x003f, 0x003f, 0xe94c, 0x003f, 0x96dd, 0x003f, 0x003f,
    +    0x003f, 0xe94d, 0x977b, 0x003f, 0x8961, 0x003f, 0x003f, 0x003f,
    +    0x8e60, 0x003f, 0xe94e, 0x89ec, 0xe94f, 0x003f, 0x003f, 0x003f,
    +    0xe950, 0x003f, 0x003f, 0x003f, 0x003f, 0xe952, 0xe953, 0x003f,
    +    0xe955, 0xe951, 0x003f, 0x003f, 0xe954, 0x003f, 0x003f, 0xeedc,
    +    0x8ad9, 0x003f, 0x003f, 0x003f, 0xe956, 0x003f, 0xe957, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe958, 0xe959, 0x003f,
    +    0x003f, 0x003f, 0xe95a, 0x003f, 0x003f, 0xe95c, 0x003f, 0x003f,
    +    0x003f, 0xe95b, 0x003f, 0xe95e, 0xe961, 0x003f, 0x003f, 0x003f,
    +    0xe95d, 0xe95f, 0xe960, 0x003f, 0x003f, 0xe962, 0x003f, 0x8bc0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ef1, 0xe963,
    +    0xe964, 0x8d81, 0x003f, 0x003f, 0x003f, 0x003f, 0xeede, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe965, 0x003f, 0x003f,
    +    0x8a5d, 0x003f, 0x003f, 0x003f, 0x946e, 0xe966, 0xe967, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9279, 0x93e9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe968, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x949d, 0x003f, 0x003f, 0x91ca, 0x8977, 0x8bec, 0x003f,
    +    0x8bed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9293, 0xe96d, 0x8bee, 0x003f, 0x003f, 0x89ed, 0x003f, 0x003f,
    +    0xe96c, 0x003f, 0x003f, 0xe96a, 0x003f, 0xe96b, 0x003f, 0xe969,
    +    0x003f, 0x003f, 0xe977, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe96e, 0xe96f, 0x003f,
    +    0x003f, 0xe970, 0xe971, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe973, 0x003f, 0x003f, 0xe972, 0x003f, 0x003f, 0x003f, 0x8f78,
    +    /* 0x9a00 .. 0x9aff */
    +    0x003f, 0xe974, 0x003f, 0x003f, 0x003f, 0xe976, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b52, 0xe975,
    +    0x003f, 0x003f, 0x919b, 0x8cb1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe978, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x91cb, 0x003f, 0x003f, 0xe979, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x93ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe97a,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe980, 0x003f,
    +    0xe97d, 0x003f, 0xe97c, 0xe97e, 0x003f, 0xe97b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe982, 0xeedf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe981, 0x003f, 0xe984,
    +    0x003f, 0x003f, 0x8bc1, 0xe983, 0x003f, 0x003f, 0x003f, 0xe985,
    +    0x003f, 0x003f, 0xe986, 0x003f, 0xe988, 0xe987, 0x003f, 0x003f,
    +    0x003f, 0xe989, 0xe98b, 0xe98a, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8d9c, 0x003f, 0x003f, 0x003f, 0x003f, 0xe98c, 0x003f, 0x003f,
    +    0xe98d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8a5b, 0x003f, 0x003f, 0x003f, 0xe98e, 0x003f, 0x003f, 0x003f,
    +    0xe98f, 0x003f, 0x003f, 0x003f, 0x9091, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe990,
    +    0x003f, 0xe991, 0x003f, 0xe992, 0xe993, 0x003f, 0x003f, 0x003f,
    +    0x8d82, 0xeee0, 0x003f, 0x003f, 0xeee1, 0x003f, 0xe994, 0xe995,
    +    0x003f, 0x003f, 0xe996, 0xe997, 0x003f, 0x003f, 0xe998, 0x003f,
    +    0x003f, 0x003f, 0x94af, 0xe99a, 0x003f, 0x9545, 0xe99b, 0xe999,
    +    0x003f, 0xe99d, 0x003f, 0x003f, 0xe99c, 0x003f, 0x003f, 0xe99e,
    +    0x003f, 0x003f, 0x003f, 0xe99f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9b00 .. 0x9bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9a1, 0x003f, 0xe9a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a3,
    +    0x003f, 0x003f, 0xe9a4, 0xe9a5, 0x003f, 0xe9a6, 0x003f, 0xe9a7,
    +    0xe9a8, 0xe9a9, 0xe9aa, 0x003f, 0x003f, 0x003f, 0xe9ab, 0xe9ac,
    +    0x003f, 0x9f54, 0xe9ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2f6, 0x8b53, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8a40, 0x8db0, 0xe9af, 0xe9ae, 0x96a3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1, 0xe9b2, 0xe9b0,
    +    0x003f, 0xe9b3, 0x003f, 0x003f, 0x9682, 0x003f, 0x003f, 0x003f,
    +    0xe9b4, 0x003f, 0x8b9b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9844,
    +    0x003f, 0x003f, 0xeee3, 0x003f, 0xe9b5, 0xeee2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe9b7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88bc, 0xeee4,
    +    0x003f, 0xe9b8, 0x95a9, 0xe9b6, 0x003f, 0x003f, 0xe9b9, 0xe9ba,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9bb,
    +    0xe9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9bd, 0x003f, 0x968e, 0x8e4c, 0x003f, 0x8df8, 0x914e, 0x003f,
    +    0x003f, 0xeee5, 0x003f, 0x003f, 0xe9be, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9c1, 0x003f, 0xeee6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c2, 0x003f,
    +    0x003f, 0x8cef, 0xe9c0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c3,
    +    0x003f, 0xe9c4, 0xe9c5, 0x003f, 0xe9c9, 0x003f, 0x8e49, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x91e2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9ca, 0xe9c7, 0xe9c6, 0xe9c8, 0x003f, 0x003f, 0x003f,
    +    0x8c7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9ce, 0xe9cd, 0xe9cc, 0x003f, 0x003f, 0x88b1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9c00 .. 0x9cff */
    +    0xeee7, 0x003f, 0x003f, 0x003f, 0xe9d8, 0x003f, 0xe9d4, 0x003f,
    +    0xe9d5, 0xe9d1, 0xe9d7, 0x003f, 0xe9d3, 0x8a82, 0x003f, 0x003f,
    +    0x986b, 0x003f, 0xe9d6, 0xe9d2, 0xe9d0, 0xe9cf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe9da, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9dd, 0x003f, 0x003f, 0xe9dc, 0xe9db, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9568, 0xe9d9, 0x88f1,
    +    0xe9de, 0x003f, 0xe9e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8a8f, 0xe9cb, 0x8956, 0x003f, 0x003f, 0xe9e2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e1, 0xe9df,
    +    0x924c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x9690, 0x003f, 0x003f, 0x003f, 0x003f, 0x97d8,
    +    0x003f, 0x003f, 0xe9e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e6, 0x003f,
    +    0xe9e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92b9, 0x003f, 0xe9e8,
    +    0x003f, 0x94b5, 0x003f, 0xe9ed, 0xe9e9, 0x003f, 0x003f, 0x003f,
    +    0xe9ea, 0x003f, 0x003f, 0x9650, 0x96c2, 0x003f, 0x93ce, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9d00 .. 0x9dff */
    +    0x003f, 0x003f, 0x003f, 0xe9ee, 0x003f, 0x003f, 0xe9ef, 0x93bc,
    +    0xe9ec, 0xe9eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x89a8, 0x003f,
    +    0x003f, 0x003f, 0xe9f7, 0x003f, 0x003f, 0xe9f6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8995, 0x003f, 0x003f, 0x003f, 0xe9f4,
    +    0x003f, 0x003f, 0x003f, 0xe9f3, 0x003f, 0x003f, 0xe9f1, 0x003f,
    +    0x8a9b, 0x003f, 0xe9f0, 0x8eb0, 0x89a7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8d83, 0x003f, 0x003f, 0xe9fa, 0xe9f9,
    +    0x003f, 0xe9f8, 0x003f, 0x003f, 0xe9f5, 0x003f, 0xe9fb, 0x003f,
    +    0xe9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xea44, 0xea43, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xea45, 0x003f, 0x003f, 0x894c, 0xea40, 0xea41, 0x003f,
    +    0x8d94, 0x96b7, 0x003f, 0x003f, 0xea42, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeee9, 0x9651, 0x003f, 0x003f, 0xea4a,
    +    0xeee8, 0x003f, 0xea46, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xea4b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea48,
    +    0x003f, 0xea47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c7b,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xea4c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xea4d, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xea4e, 0x003f, 0xea49, 0x003f, 0x003f, 0x003f, 0xe9f2,
    +    0x003f, 0x003f, 0xea4f, 0x003f, 0x92df, 0x003f, 0x003f, 0x003f,
    +    0xea53, 0x003f, 0xea54, 0xea52, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xea51, 0xea57, 0x003f, 0xea50, 0x003f, 0xea55, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea56,
    +    0x003f, 0x003f, 0x003f, 0xea59, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xea58, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea5b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea5c, 0x003f, 0xea5d,
    +    0x003f, 0x003f, 0x9868, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xea5a, 0x91e9, 0x8deb, 0x003f, 0x003f, 0xea5e, 0x003f, 0x003f,
    +    /* 0x9e00 .. 0x9eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeeeb, 0xea5f, 0xea60, 0x003f, 0x003f, 0xea61, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea62, 0x003f, 0x003f,
    +    0x8cb2, 0xea63, 0x003f, 0x003f, 0x003f, 0xea64, 0x003f, 0x8ead,
    +    0x003f, 0xea65, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xea66, 0x003f, 0x003f, 0xea67, 0xea68, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xea6b, 0xea69, 0x985b, 0x003f, 0xea6a, 0x003f, 0x97ed,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea6c, 0x003f, 0x97d9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea6d, 0x949e, 0x003f,
    +    0x003f, 0xea6e, 0xea70, 0x003f, 0x003f, 0xea71, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xea6f, 0x8d8d, 0x96cb, 0x9683, 0x9bf5, 0x003f, 0x9f80, 0x969b,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x89a9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xea73, 0x8b6f, 0xea74, 0xea75,
    +    0xea76, 0xeeec, 0x8d95, 0x003f, 0xea77, 0x003f, 0x003f, 0x003f,
    +    0xe0d2, 0x96d9, 0x003f, 0x91e1, 0xea78, 0xea7a, 0xea79, 0x003f,
    +    0xea7b, 0x003f, 0x003f, 0x003f, 0x003f, 0xea7c, 0x003f, 0x003f,
    +    0xea7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea7e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xea80, 0x003f, 0xea81, 0xea82,
    +    0x003f, 0xea83, 0x003f, 0xea84, 0xea85, 0xea86, 0x003f, 0x003f,
    +    /* 0x9f00 .. 0x9fff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea87,
    +    0xea88, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9343, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x8cdb, 0x003f, 0xea8a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x916c, 0xea8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xea8c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x9540, 0x003f, 0x003f, 0xea8d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xea8e, 0xe256, 0x003f, 0x003f, 0xe6d8, 0xe8eb,
    +    0x003f, 0x003f, 0xea8f, 0x003f, 0xea90, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea92,
    +    0xea93, 0xea94, 0x97ee, 0xea91, 0x003f, 0x003f, 0xea95, 0xea96,
    +    0x003f, 0x003f, 0xea98, 0x003f, 0xea97, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xea9a, 0x003f, 0x003f, 0x003f, 0xea9b, 0xea99,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97b4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea9c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xea9d, 0xe273, 0x003f, 0x003f,
    +    0xea9e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xf900 .. 0xf9ff */
    +    0xe6af, 0x8d58, 0x8ed4, 0xe6c9, 0x8a8a, 0x8bf8, 0x8be5, 0xea9d,
    +    0xea9d, 0x8c5f, 0x8be0, 0x9a68, 0x93de, 0x9cef, 0xe19a, 0x9785,
    +    0xe566, 0x9786, 0x9787, 0xe7b4, 0x9ed9, 0x978c, 0xe080, 0xe0e2,
    +    0x978e, 0x978f, 0xe970, 0x98aa, 0x9791, 0x9793, 0xe0a3, 0x9796,
    +    0xea61, 0x9792, 0x9794, 0x9795, 0xe641, 0x9d66, 0xe463, 0x003f,
    +    0x984c, 0xedc4, 0x9851, 0x9854, 0x9859, 0x98d2, 0x97e2, 0x99a7,
    +    0x003f, 0x9845, 0xe0a2, 0xe1b8, 0x9856, 0xe562, 0x97b8, 0x9848,
    +    0x9849, 0x9844, 0x8deb, 0xe1ef, 0xe252, 0xee70, 0x003f, 0x003f,
    +    0x8ead, 0x985f, 0x9ae0, 0x984d, 0xe2c4, 0x9857, 0x9853, 0xe1fb,
    +    0x9847, 0x978b, 0x9adc, 0x003f, 0x9eea, 0x003f, 0x9852, 0x97dd,
    +    0xe37e, 0xe89b, 0xe8d3, 0x985d, 0xeaa3, 0x97bd, 0x97c5, 0x88bb,
    +    0x9548, 0x97cb, 0xe6a4, 0x9d5b, 0x9ed9, 0x91f8, 0x924f, 0x944a,
    +    0x937b, 0x97a6, 0x88d9, 0x966b, 0x003f, 0x95d6, 0x959c, 0x9573,
    +    0x94e5, 0x9dc9, 0x8df5, 0x99d2, 0x8dc7, 0x8fc8, 0x9774, 0x003f,
    +    0x8e45, 0x9243, 0x92be, 0x8f45, 0x8ee1, 0x97a9, 0x97aa, 0x97ba,
    +    0x995f, 0x9979, 0x97c0, 0x97c6, 0x97c7, 0x97c8, 0x97ca, 0x99ad,
    +    0x9843, 0x8f97, 0x9c49, 0x97b7, 0xe068, 0xe1e8, 0xe883, 0xe98b,
    +    0x97ed, 0xea74, 0x97cd, 0x003f, 0x003f, 0xe780, 0x944e, 0x97f7,
    +    0x9cf6, 0x9451, 0x97f8, 0x97f9, 0xee50, 0x003f, 0x97fb, 0x97fc,
    +    0xe772, 0x9840, 0x9841, 0x003f, 0x97f1, 0x97f2, 0x88f4, 0x97f3,
    +    0x97f4, 0x003f, 0x97f5, 0x944f, 0x9450, 0x003f, 0x97fa, 0xe0d8,
    +    0x97df, 0x9a9a, 0x944a, 0x97e4, 0x97e5, 0x97e6, 0xe0f0, 0xe3b7,
    +    0xe3d7, 0x97e9, 0x97eb, 0xe8cb, 0x97cc, 0x97e1, 0xe258, 0xe7d2,
    +    0xe8af, 0x9ca6, 0x97b9, 0x97bb, 0x97be, 0x9441, 0x97bf, 0x9ed9,
    +    0xe099, 0x97c3, 0xe4f8, 0x97c9, 0x97b4, 0x9df2, 0xe896, 0x97ab,
    +    0x003f, 0x96f6, 0x97ac, 0x97ad, 0x97ae, 0x97af, 0x97b0, 0x9552,
    +    0x97de, 0x985a, 0x9d43, 0x97a4, 0x97cf, 0x9bc4, 0x9fcb, 0x97d6,
    +    0x97a5, 0x9cc9, 0x8c49, 0x97a6, 0xeecd, 0x9798, 0x9799, 0x979a,
    +    0x88d5, 0x979b, 0x979c, 0x9344, 0x979d, 0x979f, 0x9ceb, 0x97a0,
    +    0x97a1, 0x97a2, 0x97a3, 0x93bd, 0x934d, 0x99e5, 0x97d3, 0x003f,
    +    0xe561, 0x97d7, 0x97d8, 0x97d9, 0x97d1, 0x97d2, 0x97d5, 0x97a7,
    +    0x8a7d, 0x97b1, 0x003f, 0xe074, 0x8eaf, 0x8f59, 0x9283, 0x8e68,
    +    /* 0xfa00 .. 0xfaff */
    +    0x90d8, 0x9378, 0x91f1, 0x939c, 0x91ee, 0x93b4, 0x965c, 0xe774,
    +    0x8d73, 0x8d7e, 0x8ca9, 0x8a66, 0x9959, 0x003f, 0xed73, 0xed7e,
    +    0xed80, 0xed95, 0xedbc, 0xedcc, 0xedce, 0xedf9, 0xee42, 0xee59,
    +    0xee61, 0xee62, 0xee63, 0xee65, 0xee69, 0xee6c, 0xee75, 0xee81,
    +    0xee83, 0xee84, 0xee8d, 0xee95, 0xee97, 0xee98, 0xee9b, 0xeeb7,
    +    0xeebe, 0xeece, 0xeeda, 0xeedb, 0xeedd, 0xeeea, 0x003f, 0x003f,
    +    0x958e, 0x916d, 0x96c6, 0x95d7, 0x8bce, 0x94da, 0x8a85, 0x9251,
    +    0x8aed, 0x95bb, 0x966e, 0x9177, 0x9ba3, 0x89f7, 0x8a53, 0x919e,
    +    0x92a6, 0x9571, 0x8af9, 0x8f8b, 0x947e, 0x8a43, 0x8f8d, 0x8abf,
    +    0x8ecf, 0x003f, 0x91f4, 0x94e8, 0x8ed0, 0x8e83, 0x8b46, 0x9753,
    +    0x9163, 0x8f6a, 0x89d0, 0x92f5, 0x8d92, 0x93cb, 0x90df, 0x97fb,
    +    0xe375, 0x94c9, 0x8f90, 0x8ed2, 0x8f4c, 0x003f, 0x003f, 0x9298,
    +    0x8a8c, 0x8e8b, 0x8979, 0x8bde, 0x956f, 0x91a1, 0x003f, 0x88ed,
    +    0x93ef, 0x8bbf, 0x9570, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x815c, 0x815c, 0x815c, 0x815c, 0x005f, 0x005f, 0x005f,
    +    0x002c, 0x8141, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,
    +    0x815c, 0x0028, 0x0029, 0x007b, 0x007d, 0x816b, 0x816c, 0x0023,
    +    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,
    +    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xff00 .. 0xffff */
    +    0x003f, 0x8149, 0xeefc, 0x8194, 0x8190, 0x8193, 0x8195, 0xeefb,
    +    0x8169, 0x816a, 0x8196, 0x817b, 0x8143, 0x817c, 0x8144, 0x815e,
    +    0x824f, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254, 0x8255, 0x8256,
    +    0x8257, 0x8258, 0x8146, 0x8147, 0x8183, 0x8181, 0x8184, 0x8148,
    +    0x8197, 0x8260, 0x8261, 0x8262, 0x8263, 0x8264, 0x8265, 0x8266,
    +    0x8267, 0x8268, 0x8269, 0x826a, 0x826b, 0x826c, 0x826d, 0x826e,
    +    0x826f, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274, 0x8275, 0x8276,
    +    0x8277, 0x8278, 0x8279, 0x816d, 0x815f, 0x816e, 0x814f, 0x8151,
    +    0x814d, 0x8281, 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287,
    +    0x8288, 0x8289, 0x828a, 0x828b, 0x828c, 0x828d, 0x828e, 0x828f,
    +    0x8290, 0x8291, 0x8292, 0x8293, 0x8294, 0x8295, 0x8296, 0x8297,
    +    0x8298, 0x8299, 0x829a, 0x816f, 0x8162, 0x8170, 0x8160, 0x003f,
    +    0x003f, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
    +    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
    +    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
    +    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
    +    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
    +    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
    +    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
    +    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8191, 0x8192, 0x81ca, 0x8150, 0xeefa, 0x818f, 0x003f, 0x003f,
    +    0x84a0, 0x81a9, 0x81aa, 0x81a8, 0x81ab, 0x81a1, 0x819b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* defaults */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0f00, 0x1000,
    +    0x1100, 0x1200, 0x1300, 0x1400, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x1500, 0x1600,
    +    0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00, 0x1e00,
    +    0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500, 0x2600,
    +    0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00, 0x2e00,
    +    0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600,
    +    0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00, 0x3e00,
    +    0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600,
    +    0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00, 0x4e00,
    +    0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600,
    +    0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00, 0x5e00,
    +    0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500, 0x6600,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6700, 0x6800, 0x6900, 0x6c00, 0x6c00, 0x6a00, 0x6b00
    +};
    +
    +const struct dbcs_table cptable_932 =
    +{
    +    { 932, 2, 0x003f, 0x003f, "ANSI/OEM Japanese Shift-JIS" },
    +    cp2uni,
    +    cp2uni_leadbytes,
    +    uni2cp_low,
    +    uni2cp_high,
    +    { 0x81, 0x9f, 0xe0, 0xfc, 0x00, 0x00 }
    +};
    diff --git a/reactos/lib/unicode/c_936.c b/reactos/tools/unicode/c_936.c
    similarity index 98%
    rename from reactos/lib/unicode/c_936.c
    rename to reactos/tools/unicode/c_936.c
    index 66fcb331dc2..c14092f7f2b 100644
    --- a/reactos/lib/unicode/c_936.c
    +++ b/reactos/tools/unicode/c_936.c
    @@ -1,7882 +1,7882 @@
    -/* code page 936 (ANSI/OEM Simplified Chinese GBK) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[32512] =
    -{
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x20ac, 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, 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, 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, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,
    -    /* lead byte 81 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x4e02, 0x4e04, 0x4e05, 0x4e06, 0x4e0f, 0x4e12, 0x4e17, 0x4e1f,
    -    0x4e20, 0x4e21, 0x4e23, 0x4e26, 0x4e29, 0x4e2e, 0x4e2f, 0x4e31,
    -    0x4e33, 0x4e35, 0x4e37, 0x4e3c, 0x4e40, 0x4e41, 0x4e42, 0x4e44,
    -    0x4e46, 0x4e4a, 0x4e51, 0x4e55, 0x4e57, 0x4e5a, 0x4e5b, 0x4e62,
    -    0x4e63, 0x4e64, 0x4e65, 0x4e67, 0x4e68, 0x4e6a, 0x4e6b, 0x4e6c,
    -    0x4e6d, 0x4e6e, 0x4e6f, 0x4e72, 0x4e74, 0x4e75, 0x4e76, 0x4e77,
    -    0x4e78, 0x4e79, 0x4e7a, 0x4e7b, 0x4e7c, 0x4e7d, 0x4e7f, 0x4e80,
    -    0x4e81, 0x4e82, 0x4e83, 0x4e84, 0x4e85, 0x4e87, 0x4e8a, 0x003f,
    -    0x4e90, 0x4e96, 0x4e97, 0x4e99, 0x4e9c, 0x4e9d, 0x4e9e, 0x4ea3,
    -    0x4eaa, 0x4eaf, 0x4eb0, 0x4eb1, 0x4eb4, 0x4eb6, 0x4eb7, 0x4eb8,
    -    0x4eb9, 0x4ebc, 0x4ebd, 0x4ebe, 0x4ec8, 0x4ecc, 0x4ecf, 0x4ed0,
    -    0x4ed2, 0x4eda, 0x4edb, 0x4edc, 0x4ee0, 0x4ee2, 0x4ee6, 0x4ee7,
    -    0x4ee9, 0x4eed, 0x4eee, 0x4eef, 0x4ef1, 0x4ef4, 0x4ef8, 0x4ef9,
    -    0x4efa, 0x4efc, 0x4efe, 0x4f00, 0x4f02, 0x4f03, 0x4f04, 0x4f05,
    -    0x4f06, 0x4f07, 0x4f08, 0x4f0b, 0x4f0c, 0x4f12, 0x4f13, 0x4f14,
    -    0x4f15, 0x4f16, 0x4f1c, 0x4f1d, 0x4f21, 0x4f23, 0x4f28, 0x4f29,
    -    0x4f2c, 0x4f2d, 0x4f2e, 0x4f31, 0x4f33, 0x4f35, 0x4f37, 0x4f39,
    -    0x4f3b, 0x4f3e, 0x4f3f, 0x4f40, 0x4f41, 0x4f42, 0x4f44, 0x4f45,
    -    0x4f47, 0x4f48, 0x4f49, 0x4f4a, 0x4f4b, 0x4f4c, 0x4f52, 0x4f54,
    -    0x4f56, 0x4f61, 0x4f62, 0x4f66, 0x4f68, 0x4f6a, 0x4f6b, 0x4f6d,
    -    0x4f6e, 0x4f71, 0x4f72, 0x4f75, 0x4f77, 0x4f78, 0x4f79, 0x4f7a,
    -    0x4f7d, 0x4f80, 0x4f81, 0x4f82, 0x4f85, 0x4f86, 0x4f87, 0x4f8a,
    -    0x4f8c, 0x4f8e, 0x4f90, 0x4f92, 0x4f93, 0x4f95, 0x4f96, 0x4f98,
    -    0x4f99, 0x4f9a, 0x4f9c, 0x4f9e, 0x4f9f, 0x4fa1, 0x4fa2, 0x003f,
    -    /* lead byte 82 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x4fa4, 0x4fab, 0x4fad, 0x4fb0, 0x4fb1, 0x4fb2, 0x4fb3, 0x4fb4,
    -    0x4fb6, 0x4fb7, 0x4fb8, 0x4fb9, 0x4fba, 0x4fbb, 0x4fbc, 0x4fbd,
    -    0x4fbe, 0x4fc0, 0x4fc1, 0x4fc2, 0x4fc6, 0x4fc7, 0x4fc8, 0x4fc9,
    -    0x4fcb, 0x4fcc, 0x4fcd, 0x4fd2, 0x4fd3, 0x4fd4, 0x4fd5, 0x4fd6,
    -    0x4fd9, 0x4fdb, 0x4fe0, 0x4fe2, 0x4fe4, 0x4fe5, 0x4fe7, 0x4feb,
    -    0x4fec, 0x4ff0, 0x4ff2, 0x4ff4, 0x4ff5, 0x4ff6, 0x4ff7, 0x4ff9,
    -    0x4ffb, 0x4ffc, 0x4ffd, 0x4fff, 0x5000, 0x5001, 0x5002, 0x5003,
    -    0x5004, 0x5005, 0x5006, 0x5007, 0x5008, 0x5009, 0x500a, 0x003f,
    -    0x500b, 0x500e, 0x5010, 0x5011, 0x5013, 0x5015, 0x5016, 0x5017,
    -    0x501b, 0x501d, 0x501e, 0x5020, 0x5022, 0x5023, 0x5024, 0x5027,
    -    0x502b, 0x502f, 0x5030, 0x5031, 0x5032, 0x5033, 0x5034, 0x5035,
    -    0x5036, 0x5037, 0x5038, 0x5039, 0x503b, 0x503d, 0x503f, 0x5040,
    -    0x5041, 0x5042, 0x5044, 0x5045, 0x5046, 0x5049, 0x504a, 0x504b,
    -    0x504d, 0x5050, 0x5051, 0x5052, 0x5053, 0x5054, 0x5056, 0x5057,
    -    0x5058, 0x5059, 0x505b, 0x505d, 0x505e, 0x505f, 0x5060, 0x5061,
    -    0x5062, 0x5063, 0x5064, 0x5066, 0x5067, 0x5068, 0x5069, 0x506a,
    -    0x506b, 0x506d, 0x506e, 0x506f, 0x5070, 0x5071, 0x5072, 0x5073,
    -    0x5074, 0x5075, 0x5078, 0x5079, 0x507a, 0x507c, 0x507d, 0x5081,
    -    0x5082, 0x5083, 0x5084, 0x5086, 0x5087, 0x5089, 0x508a, 0x508b,
    -    0x508c, 0x508e, 0x508f, 0x5090, 0x5091, 0x5092, 0x5093, 0x5094,
    -    0x5095, 0x5096, 0x5097, 0x5098, 0x5099, 0x509a, 0x509b, 0x509c,
    -    0x509d, 0x509e, 0x509f, 0x50a0, 0x50a1, 0x50a2, 0x50a4, 0x50a6,
    -    0x50aa, 0x50ab, 0x50ad, 0x50ae, 0x50af, 0x50b0, 0x50b1, 0x50b3,
    -    0x50b4, 0x50b5, 0x50b6, 0x50b7, 0x50b8, 0x50b9, 0x50bc, 0x003f,
    -    /* lead byte 83 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x50bd, 0x50be, 0x50bf, 0x50c0, 0x50c1, 0x50c2, 0x50c3, 0x50c4,
    -    0x50c5, 0x50c6, 0x50c7, 0x50c8, 0x50c9, 0x50ca, 0x50cb, 0x50cc,
    -    0x50cd, 0x50ce, 0x50d0, 0x50d1, 0x50d2, 0x50d3, 0x50d4, 0x50d5,
    -    0x50d7, 0x50d8, 0x50d9, 0x50db, 0x50dc, 0x50dd, 0x50de, 0x50df,
    -    0x50e0, 0x50e1, 0x50e2, 0x50e3, 0x50e4, 0x50e5, 0x50e8, 0x50e9,
    -    0x50ea, 0x50eb, 0x50ef, 0x50f0, 0x50f1, 0x50f2, 0x50f4, 0x50f6,
    -    0x50f7, 0x50f8, 0x50f9, 0x50fa, 0x50fc, 0x50fd, 0x50fe, 0x50ff,
    -    0x5100, 0x5101, 0x5102, 0x5103, 0x5104, 0x5105, 0x5108, 0x003f,
    -    0x5109, 0x510a, 0x510c, 0x510d, 0x510e, 0x510f, 0x5110, 0x5111,
    -    0x5113, 0x5114, 0x5115, 0x5116, 0x5117, 0x5118, 0x5119, 0x511a,
    -    0x511b, 0x511c, 0x511d, 0x511e, 0x511f, 0x5120, 0x5122, 0x5123,
    -    0x5124, 0x5125, 0x5126, 0x5127, 0x5128, 0x5129, 0x512a, 0x512b,
    -    0x512c, 0x512d, 0x512e, 0x512f, 0x5130, 0x5131, 0x5132, 0x5133,
    -    0x5134, 0x5135, 0x5136, 0x5137, 0x5138, 0x5139, 0x513a, 0x513b,
    -    0x513c, 0x513d, 0x513e, 0x5142, 0x5147, 0x514a, 0x514c, 0x514e,
    -    0x514f, 0x5150, 0x5152, 0x5153, 0x5157, 0x5158, 0x5159, 0x515b,
    -    0x515d, 0x515e, 0x515f, 0x5160, 0x5161, 0x5163, 0x5164, 0x5166,
    -    0x5167, 0x5169, 0x516a, 0x516f, 0x5172, 0x517a, 0x517e, 0x517f,
    -    0x5183, 0x5184, 0x5186, 0x5187, 0x518a, 0x518b, 0x518e, 0x518f,
    -    0x5190, 0x5191, 0x5193, 0x5194, 0x5198, 0x519a, 0x519d, 0x519e,
    -    0x519f, 0x51a1, 0x51a3, 0x51a6, 0x51a7, 0x51a8, 0x51a9, 0x51aa,
    -    0x51ad, 0x51ae, 0x51b4, 0x51b8, 0x51b9, 0x51ba, 0x51be, 0x51bf,
    -    0x51c1, 0x51c2, 0x51c3, 0x51c5, 0x51c8, 0x51ca, 0x51cd, 0x51ce,
    -    0x51d0, 0x51d2, 0x51d3, 0x51d4, 0x51d5, 0x51d6, 0x51d7, 0x003f,
    -    /* lead byte 84 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x51d8, 0x51d9, 0x51da, 0x51dc, 0x51de, 0x51df, 0x51e2, 0x51e3,
    -    0x51e5, 0x51e6, 0x51e7, 0x51e8, 0x51e9, 0x51ea, 0x51ec, 0x51ee,
    -    0x51f1, 0x51f2, 0x51f4, 0x51f7, 0x51fe, 0x5204, 0x5205, 0x5209,
    -    0x520b, 0x520c, 0x520f, 0x5210, 0x5213, 0x5214, 0x5215, 0x521c,
    -    0x521e, 0x521f, 0x5221, 0x5222, 0x5223, 0x5225, 0x5226, 0x5227,
    -    0x522a, 0x522c, 0x522f, 0x5231, 0x5232, 0x5234, 0x5235, 0x523c,
    -    0x523e, 0x5244, 0x5245, 0x5246, 0x5247, 0x5248, 0x5249, 0x524b,
    -    0x524e, 0x524f, 0x5252, 0x5253, 0x5255, 0x5257, 0x5258, 0x003f,
    -    0x5259, 0x525a, 0x525b, 0x525d, 0x525f, 0x5260, 0x5262, 0x5263,
    -    0x5264, 0x5266, 0x5268, 0x526b, 0x526c, 0x526d, 0x526e, 0x5270,
    -    0x5271, 0x5273, 0x5274, 0x5275, 0x5276, 0x5277, 0x5278, 0x5279,
    -    0x527a, 0x527b, 0x527c, 0x527e, 0x5280, 0x5283, 0x5284, 0x5285,
    -    0x5286, 0x5287, 0x5289, 0x528a, 0x528b, 0x528c, 0x528d, 0x528e,
    -    0x528f, 0x5291, 0x5292, 0x5294, 0x5295, 0x5296, 0x5297, 0x5298,
    -    0x5299, 0x529a, 0x529c, 0x52a4, 0x52a5, 0x52a6, 0x52a7, 0x52ae,
    -    0x52af, 0x52b0, 0x52b4, 0x52b5, 0x52b6, 0x52b7, 0x52b8, 0x52b9,
    -    0x52ba, 0x52bb, 0x52bc, 0x52bd, 0x52c0, 0x52c1, 0x52c2, 0x52c4,
    -    0x52c5, 0x52c6, 0x52c8, 0x52ca, 0x52cc, 0x52cd, 0x52ce, 0x52cf,
    -    0x52d1, 0x52d3, 0x52d4, 0x52d5, 0x52d7, 0x52d9, 0x52da, 0x52db,
    -    0x52dc, 0x52dd, 0x52de, 0x52e0, 0x52e1, 0x52e2, 0x52e3, 0x52e5,
    -    0x52e6, 0x52e7, 0x52e8, 0x52e9, 0x52ea, 0x52eb, 0x52ec, 0x52ed,
    -    0x52ee, 0x52ef, 0x52f1, 0x52f2, 0x52f3, 0x52f4, 0x52f5, 0x52f6,
    -    0x52f7, 0x52f8, 0x52fb, 0x52fc, 0x52fd, 0x5301, 0x5302, 0x5303,
    -    0x5304, 0x5307, 0x5309, 0x530a, 0x530b, 0x530c, 0x530e, 0x003f,
    -    /* lead byte 85 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5311, 0x5312, 0x5313, 0x5314, 0x5318, 0x531b, 0x531c, 0x531e,
    -    0x531f, 0x5322, 0x5324, 0x5325, 0x5327, 0x5328, 0x5329, 0x532b,
    -    0x532c, 0x532d, 0x532f, 0x5330, 0x5331, 0x5332, 0x5333, 0x5334,
    -    0x5335, 0x5336, 0x5337, 0x5338, 0x533c, 0x533d, 0x5340, 0x5342,
    -    0x5344, 0x5346, 0x534b, 0x534c, 0x534d, 0x5350, 0x5354, 0x5358,
    -    0x5359, 0x535b, 0x535d, 0x5365, 0x5368, 0x536a, 0x536c, 0x536d,
    -    0x5372, 0x5376, 0x5379, 0x537b, 0x537c, 0x537d, 0x537e, 0x5380,
    -    0x5381, 0x5383, 0x5387, 0x5388, 0x538a, 0x538e, 0x538f, 0x003f,
    -    0x5390, 0x5391, 0x5392, 0x5393, 0x5394, 0x5396, 0x5397, 0x5399,
    -    0x539b, 0x539c, 0x539e, 0x53a0, 0x53a1, 0x53a4, 0x53a7, 0x53aa,
    -    0x53ab, 0x53ac, 0x53ad, 0x53af, 0x53b0, 0x53b1, 0x53b2, 0x53b3,
    -    0x53b4, 0x53b5, 0x53b7, 0x53b8, 0x53b9, 0x53ba, 0x53bc, 0x53bd,
    -    0x53be, 0x53c0, 0x53c3, 0x53c4, 0x53c5, 0x53c6, 0x53c7, 0x53ce,
    -    0x53cf, 0x53d0, 0x53d2, 0x53d3, 0x53d5, 0x53da, 0x53dc, 0x53dd,
    -    0x53de, 0x53e1, 0x53e2, 0x53e7, 0x53f4, 0x53fa, 0x53fe, 0x53ff,
    -    0x5400, 0x5402, 0x5405, 0x5407, 0x540b, 0x5414, 0x5418, 0x5419,
    -    0x541a, 0x541c, 0x5422, 0x5424, 0x5425, 0x542a, 0x5430, 0x5433,
    -    0x5436, 0x5437, 0x543a, 0x543d, 0x543f, 0x5441, 0x5442, 0x5444,
    -    0x5445, 0x5447, 0x5449, 0x544c, 0x544d, 0x544e, 0x544f, 0x5451,
    -    0x545a, 0x545d, 0x545e, 0x545f, 0x5460, 0x5461, 0x5463, 0x5465,
    -    0x5467, 0x5469, 0x546a, 0x546b, 0x546c, 0x546d, 0x546e, 0x546f,
    -    0x5470, 0x5474, 0x5479, 0x547a, 0x547e, 0x547f, 0x5481, 0x5483,
    -    0x5485, 0x5487, 0x5488, 0x5489, 0x548a, 0x548d, 0x5491, 0x5493,
    -    0x5497, 0x5498, 0x549c, 0x549e, 0x549f, 0x54a0, 0x54a1, 0x003f,
    -    /* lead byte 86 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x54a2, 0x54a5, 0x54ae, 0x54b0, 0x54b2, 0x54b5, 0x54b6, 0x54b7,
    -    0x54b9, 0x54ba, 0x54bc, 0x54be, 0x54c3, 0x54c5, 0x54ca, 0x54cb,
    -    0x54d6, 0x54d8, 0x54db, 0x54e0, 0x54e1, 0x54e2, 0x54e3, 0x54e4,
    -    0x54eb, 0x54ec, 0x54ef, 0x54f0, 0x54f1, 0x54f4, 0x54f5, 0x54f6,
    -    0x54f7, 0x54f8, 0x54f9, 0x54fb, 0x54fe, 0x5500, 0x5502, 0x5503,
    -    0x5504, 0x5505, 0x5508, 0x550a, 0x550b, 0x550c, 0x550d, 0x550e,
    -    0x5512, 0x5513, 0x5515, 0x5516, 0x5517, 0x5518, 0x5519, 0x551a,
    -    0x551c, 0x551d, 0x551e, 0x551f, 0x5521, 0x5525, 0x5526, 0x003f,
    -    0x5528, 0x5529, 0x552b, 0x552d, 0x5532, 0x5534, 0x5535, 0x5536,
    -    0x5538, 0x5539, 0x553a, 0x553b, 0x553d, 0x5540, 0x5542, 0x5545,
    -    0x5547, 0x5548, 0x554b, 0x554c, 0x554d, 0x554e, 0x554f, 0x5551,
    -    0x5552, 0x5553, 0x5554, 0x5557, 0x5558, 0x5559, 0x555a, 0x555b,
    -    0x555d, 0x555e, 0x555f, 0x5560, 0x5562, 0x5563, 0x5568, 0x5569,
    -    0x556b, 0x556f, 0x5570, 0x5571, 0x5572, 0x5573, 0x5574, 0x5579,
    -    0x557a, 0x557d, 0x557f, 0x5585, 0x5586, 0x558c, 0x558d, 0x558e,
    -    0x5590, 0x5592, 0x5593, 0x5595, 0x5596, 0x5597, 0x559a, 0x559b,
    -    0x559e, 0x55a0, 0x55a1, 0x55a2, 0x55a3, 0x55a4, 0x55a5, 0x55a6,
    -    0x55a8, 0x55a9, 0x55aa, 0x55ab, 0x55ac, 0x55ad, 0x55ae, 0x55af,
    -    0x55b0, 0x55b2, 0x55b4, 0x55b6, 0x55b8, 0x55ba, 0x55bc, 0x55bf,
    -    0x55c0, 0x55c1, 0x55c2, 0x55c3, 0x55c6, 0x55c7, 0x55c8, 0x55ca,
    -    0x55cb, 0x55ce, 0x55cf, 0x55d0, 0x55d5, 0x55d7, 0x55d8, 0x55d9,
    -    0x55da, 0x55db, 0x55de, 0x55e0, 0x55e2, 0x55e7, 0x55e9, 0x55ed,
    -    0x55ee, 0x55f0, 0x55f1, 0x55f4, 0x55f6, 0x55f8, 0x55f9, 0x55fa,
    -    0x55fb, 0x55fc, 0x55ff, 0x5602, 0x5603, 0x5604, 0x5605, 0x003f,
    -    /* lead byte 87 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5606, 0x5607, 0x560a, 0x560b, 0x560d, 0x5610, 0x5611, 0x5612,
    -    0x5613, 0x5614, 0x5615, 0x5616, 0x5617, 0x5619, 0x561a, 0x561c,
    -    0x561d, 0x5620, 0x5621, 0x5622, 0x5625, 0x5626, 0x5628, 0x5629,
    -    0x562a, 0x562b, 0x562e, 0x562f, 0x5630, 0x5633, 0x5635, 0x5637,
    -    0x5638, 0x563a, 0x563c, 0x563d, 0x563e, 0x5640, 0x5641, 0x5642,
    -    0x5643, 0x5644, 0x5645, 0x5646, 0x5647, 0x5648, 0x5649, 0x564a,
    -    0x564b, 0x564f, 0x5650, 0x5651, 0x5652, 0x5653, 0x5655, 0x5656,
    -    0x565a, 0x565b, 0x565d, 0x565e, 0x565f, 0x5660, 0x5661, 0x003f,
    -    0x5663, 0x5665, 0x5666, 0x5667, 0x566d, 0x566e, 0x566f, 0x5670,
    -    0x5672, 0x5673, 0x5674, 0x5675, 0x5677, 0x5678, 0x5679, 0x567a,
    -    0x567d, 0x567e, 0x567f, 0x5680, 0x5681, 0x5682, 0x5683, 0x5684,
    -    0x5687, 0x5688, 0x5689, 0x568a, 0x568b, 0x568c, 0x568d, 0x5690,
    -    0x5691, 0x5692, 0x5694, 0x5695, 0x5696, 0x5697, 0x5698, 0x5699,
    -    0x569a, 0x569b, 0x569c, 0x569d, 0x569e, 0x569f, 0x56a0, 0x56a1,
    -    0x56a2, 0x56a4, 0x56a5, 0x56a6, 0x56a7, 0x56a8, 0x56a9, 0x56aa,
    -    0x56ab, 0x56ac, 0x56ad, 0x56ae, 0x56b0, 0x56b1, 0x56b2, 0x56b3,
    -    0x56b4, 0x56b5, 0x56b6, 0x56b8, 0x56b9, 0x56ba, 0x56bb, 0x56bd,
    -    0x56be, 0x56bf, 0x56c0, 0x56c1, 0x56c2, 0x56c3, 0x56c4, 0x56c5,
    -    0x56c6, 0x56c7, 0x56c8, 0x56c9, 0x56cb, 0x56cc, 0x56cd, 0x56ce,
    -    0x56cf, 0x56d0, 0x56d1, 0x56d2, 0x56d3, 0x56d5, 0x56d6, 0x56d8,
    -    0x56d9, 0x56dc, 0x56e3, 0x56e5, 0x56e6, 0x56e7, 0x56e8, 0x56e9,
    -    0x56ea, 0x56ec, 0x56ee, 0x56ef, 0x56f2, 0x56f3, 0x56f6, 0x56f7,
    -    0x56f8, 0x56fb, 0x56fc, 0x5700, 0x5701, 0x5702, 0x5705, 0x5707,
    -    0x570b, 0x570c, 0x570d, 0x570e, 0x570f, 0x5710, 0x5711, 0x003f,
    -    /* lead byte 88 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5712, 0x5713, 0x5714, 0x5715, 0x5716, 0x5717, 0x5718, 0x5719,
    -    0x571a, 0x571b, 0x571d, 0x571e, 0x5720, 0x5721, 0x5722, 0x5724,
    -    0x5725, 0x5726, 0x5727, 0x572b, 0x5731, 0x5732, 0x5734, 0x5735,
    -    0x5736, 0x5737, 0x5738, 0x573c, 0x573d, 0x573f, 0x5741, 0x5743,
    -    0x5744, 0x5745, 0x5746, 0x5748, 0x5749, 0x574b, 0x5752, 0x5753,
    -    0x5754, 0x5755, 0x5756, 0x5758, 0x5759, 0x5762, 0x5763, 0x5765,
    -    0x5767, 0x576c, 0x576e, 0x5770, 0x5771, 0x5772, 0x5774, 0x5775,
    -    0x5778, 0x5779, 0x577a, 0x577d, 0x577e, 0x577f, 0x5780, 0x003f,
    -    0x5781, 0x5787, 0x5788, 0x5789, 0x578a, 0x578d, 0x578e, 0x578f,
    -    0x5790, 0x5791, 0x5794, 0x5795, 0x5796, 0x5797, 0x5798, 0x5799,
    -    0x579a, 0x579c, 0x579d, 0x579e, 0x579f, 0x57a5, 0x57a8, 0x57aa,
    -    0x57ac, 0x57af, 0x57b0, 0x57b1, 0x57b3, 0x57b5, 0x57b6, 0x57b7,
    -    0x57b9, 0x57ba, 0x57bb, 0x57bc, 0x57bd, 0x57be, 0x57bf, 0x57c0,
    -    0x57c1, 0x57c4, 0x57c5, 0x57c6, 0x57c7, 0x57c8, 0x57c9, 0x57ca,
    -    0x57cc, 0x57cd, 0x57d0, 0x57d1, 0x57d3, 0x57d6, 0x57d7, 0x57db,
    -    0x57dc, 0x57de, 0x57e1, 0x57e2, 0x57e3, 0x57e5, 0x57e6, 0x57e7,
    -    0x57e8, 0x57e9, 0x57ea, 0x57eb, 0x57ec, 0x57ee, 0x57f0, 0x57f1,
    -    0x57f2, 0x57f3, 0x57f5, 0x57f6, 0x57f7, 0x57fb, 0x57fc, 0x57fe,
    -    0x57ff, 0x5801, 0x5803, 0x5804, 0x5805, 0x5808, 0x5809, 0x580a,
    -    0x580c, 0x580e, 0x580f, 0x5810, 0x5812, 0x5813, 0x5814, 0x5816,
    -    0x5817, 0x5818, 0x581a, 0x581b, 0x581c, 0x581d, 0x581f, 0x5822,
    -    0x5823, 0x5825, 0x5826, 0x5827, 0x5828, 0x5829, 0x582b, 0x582c,
    -    0x582d, 0x582e, 0x582f, 0x5831, 0x5832, 0x5833, 0x5834, 0x5836,
    -    0x5837, 0x5838, 0x5839, 0x583a, 0x583b, 0x583c, 0x583d, 0x003f,
    -    /* lead byte 89 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x583e, 0x583f, 0x5840, 0x5841, 0x5842, 0x5843, 0x5845, 0x5846,
    -    0x5847, 0x5848, 0x5849, 0x584a, 0x584b, 0x584e, 0x584f, 0x5850,
    -    0x5852, 0x5853, 0x5855, 0x5856, 0x5857, 0x5859, 0x585a, 0x585b,
    -    0x585c, 0x585d, 0x585f, 0x5860, 0x5861, 0x5862, 0x5863, 0x5864,
    -    0x5866, 0x5867, 0x5868, 0x5869, 0x586a, 0x586d, 0x586e, 0x586f,
    -    0x5870, 0x5871, 0x5872, 0x5873, 0x5874, 0x5875, 0x5876, 0x5877,
    -    0x5878, 0x5879, 0x587a, 0x587b, 0x587c, 0x587d, 0x587f, 0x5882,
    -    0x5884, 0x5886, 0x5887, 0x5888, 0x588a, 0x588b, 0x588c, 0x003f,
    -    0x588d, 0x588e, 0x588f, 0x5890, 0x5891, 0x5894, 0x5895, 0x5896,
    -    0x5897, 0x5898, 0x589b, 0x589c, 0x589d, 0x58a0, 0x58a1, 0x58a2,
    -    0x58a3, 0x58a4, 0x58a5, 0x58a6, 0x58a7, 0x58aa, 0x58ab, 0x58ac,
    -    0x58ad, 0x58ae, 0x58af, 0x58b0, 0x58b1, 0x58b2, 0x58b3, 0x58b4,
    -    0x58b5, 0x58b6, 0x58b7, 0x58b8, 0x58b9, 0x58ba, 0x58bb, 0x58bd,
    -    0x58be, 0x58bf, 0x58c0, 0x58c2, 0x58c3, 0x58c4, 0x58c6, 0x58c7,
    -    0x58c8, 0x58c9, 0x58ca, 0x58cb, 0x58cc, 0x58cd, 0x58ce, 0x58cf,
    -    0x58d0, 0x58d2, 0x58d3, 0x58d4, 0x58d6, 0x58d7, 0x58d8, 0x58d9,
    -    0x58da, 0x58db, 0x58dc, 0x58dd, 0x58de, 0x58df, 0x58e0, 0x58e1,
    -    0x58e2, 0x58e3, 0x58e5, 0x58e6, 0x58e7, 0x58e8, 0x58e9, 0x58ea,
    -    0x58ed, 0x58ef, 0x58f1, 0x58f2, 0x58f4, 0x58f5, 0x58f7, 0x58f8,
    -    0x58fa, 0x58fb, 0x58fc, 0x58fd, 0x58fe, 0x58ff, 0x5900, 0x5901,
    -    0x5903, 0x5905, 0x5906, 0x5908, 0x5909, 0x590a, 0x590b, 0x590c,
    -    0x590e, 0x5910, 0x5911, 0x5912, 0x5913, 0x5917, 0x5918, 0x591b,
    -    0x591d, 0x591e, 0x5920, 0x5921, 0x5922, 0x5923, 0x5926, 0x5928,
    -    0x592c, 0x5930, 0x5932, 0x5933, 0x5935, 0x5936, 0x593b, 0x003f,
    -    /* lead byte 8a */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x593d, 0x593e, 0x593f, 0x5940, 0x5943, 0x5945, 0x5946, 0x594a,
    -    0x594c, 0x594d, 0x5950, 0x5952, 0x5953, 0x5959, 0x595b, 0x595c,
    -    0x595d, 0x595e, 0x595f, 0x5961, 0x5963, 0x5964, 0x5966, 0x5967,
    -    0x5968, 0x5969, 0x596a, 0x596b, 0x596c, 0x596d, 0x596e, 0x596f,
    -    0x5970, 0x5971, 0x5972, 0x5975, 0x5977, 0x597a, 0x597b, 0x597c,
    -    0x597e, 0x597f, 0x5980, 0x5985, 0x5989, 0x598b, 0x598c, 0x598e,
    -    0x598f, 0x5990, 0x5991, 0x5994, 0x5995, 0x5998, 0x599a, 0x599b,
    -    0x599c, 0x599d, 0x599f, 0x59a0, 0x59a1, 0x59a2, 0x59a6, 0x003f,
    -    0x59a7, 0x59ac, 0x59ad, 0x59b0, 0x59b1, 0x59b3, 0x59b4, 0x59b5,
    -    0x59b6, 0x59b7, 0x59b8, 0x59ba, 0x59bc, 0x59bd, 0x59bf, 0x59c0,
    -    0x59c1, 0x59c2, 0x59c3, 0x59c4, 0x59c5, 0x59c7, 0x59c8, 0x59c9,
    -    0x59cc, 0x59cd, 0x59ce, 0x59cf, 0x59d5, 0x59d6, 0x59d9, 0x59db,
    -    0x59de, 0x59df, 0x59e0, 0x59e1, 0x59e2, 0x59e4, 0x59e6, 0x59e7,
    -    0x59e9, 0x59ea, 0x59eb, 0x59ed, 0x59ee, 0x59ef, 0x59f0, 0x59f1,
    -    0x59f2, 0x59f3, 0x59f4, 0x59f5, 0x59f6, 0x59f7, 0x59f8, 0x59fa,
    -    0x59fc, 0x59fd, 0x59fe, 0x5a00, 0x5a02, 0x5a0a, 0x5a0b, 0x5a0d,
    -    0x5a0e, 0x5a0f, 0x5a10, 0x5a12, 0x5a14, 0x5a15, 0x5a16, 0x5a17,
    -    0x5a19, 0x5a1a, 0x5a1b, 0x5a1d, 0x5a1e, 0x5a21, 0x5a22, 0x5a24,
    -    0x5a26, 0x5a27, 0x5a28, 0x5a2a, 0x5a2b, 0x5a2c, 0x5a2d, 0x5a2e,
    -    0x5a2f, 0x5a30, 0x5a33, 0x5a35, 0x5a37, 0x5a38, 0x5a39, 0x5a3a,
    -    0x5a3b, 0x5a3d, 0x5a3e, 0x5a3f, 0x5a41, 0x5a42, 0x5a43, 0x5a44,
    -    0x5a45, 0x5a47, 0x5a48, 0x5a4b, 0x5a4c, 0x5a4d, 0x5a4e, 0x5a4f,
    -    0x5a50, 0x5a51, 0x5a52, 0x5a53, 0x5a54, 0x5a56, 0x5a57, 0x5a58,
    -    0x5a59, 0x5a5b, 0x5a5c, 0x5a5d, 0x5a5e, 0x5a5f, 0x5a60, 0x003f,
    -    /* lead byte 8b */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5a61, 0x5a63, 0x5a64, 0x5a65, 0x5a66, 0x5a68, 0x5a69, 0x5a6b,
    -    0x5a6c, 0x5a6d, 0x5a6e, 0x5a6f, 0x5a70, 0x5a71, 0x5a72, 0x5a73,
    -    0x5a78, 0x5a79, 0x5a7b, 0x5a7c, 0x5a7d, 0x5a7e, 0x5a80, 0x5a81,
    -    0x5a82, 0x5a83, 0x5a84, 0x5a85, 0x5a86, 0x5a87, 0x5a88, 0x5a89,
    -    0x5a8a, 0x5a8b, 0x5a8c, 0x5a8d, 0x5a8e, 0x5a8f, 0x5a90, 0x5a91,
    -    0x5a93, 0x5a94, 0x5a95, 0x5a96, 0x5a97, 0x5a98, 0x5a99, 0x5a9c,
    -    0x5a9d, 0x5a9e, 0x5a9f, 0x5aa0, 0x5aa1, 0x5aa2, 0x5aa3, 0x5aa4,
    -    0x5aa5, 0x5aa6, 0x5aa7, 0x5aa8, 0x5aa9, 0x5aab, 0x5aac, 0x003f,
    -    0x5aad, 0x5aae, 0x5aaf, 0x5ab0, 0x5ab1, 0x5ab4, 0x5ab6, 0x5ab7,
    -    0x5ab9, 0x5aba, 0x5abb, 0x5abc, 0x5abd, 0x5abf, 0x5ac0, 0x5ac3,
    -    0x5ac4, 0x5ac5, 0x5ac6, 0x5ac7, 0x5ac8, 0x5aca, 0x5acb, 0x5acd,
    -    0x5ace, 0x5acf, 0x5ad0, 0x5ad1, 0x5ad3, 0x5ad5, 0x5ad7, 0x5ad9,
    -    0x5ada, 0x5adb, 0x5add, 0x5ade, 0x5adf, 0x5ae2, 0x5ae4, 0x5ae5,
    -    0x5ae7, 0x5ae8, 0x5aea, 0x5aec, 0x5aed, 0x5aee, 0x5aef, 0x5af0,
    -    0x5af2, 0x5af3, 0x5af4, 0x5af5, 0x5af6, 0x5af7, 0x5af8, 0x5af9,
    -    0x5afa, 0x5afb, 0x5afc, 0x5afd, 0x5afe, 0x5aff, 0x5b00, 0x5b01,
    -    0x5b02, 0x5b03, 0x5b04, 0x5b05, 0x5b06, 0x5b07, 0x5b08, 0x5b0a,
    -    0x5b0b, 0x5b0c, 0x5b0d, 0x5b0e, 0x5b0f, 0x5b10, 0x5b11, 0x5b12,
    -    0x5b13, 0x5b14, 0x5b15, 0x5b18, 0x5b19, 0x5b1a, 0x5b1b, 0x5b1c,
    -    0x5b1d, 0x5b1e, 0x5b1f, 0x5b20, 0x5b21, 0x5b22, 0x5b23, 0x5b24,
    -    0x5b25, 0x5b26, 0x5b27, 0x5b28, 0x5b29, 0x5b2a, 0x5b2b, 0x5b2c,
    -    0x5b2d, 0x5b2e, 0x5b2f, 0x5b30, 0x5b31, 0x5b33, 0x5b35, 0x5b36,
    -    0x5b38, 0x5b39, 0x5b3a, 0x5b3b, 0x5b3c, 0x5b3d, 0x5b3e, 0x5b3f,
    -    0x5b41, 0x5b42, 0x5b43, 0x5b44, 0x5b45, 0x5b46, 0x5b47, 0x003f,
    -    /* lead byte 8c */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5b48, 0x5b49, 0x5b4a, 0x5b4b, 0x5b4c, 0x5b4d, 0x5b4e, 0x5b4f,
    -    0x5b52, 0x5b56, 0x5b5e, 0x5b60, 0x5b61, 0x5b67, 0x5b68, 0x5b6b,
    -    0x5b6d, 0x5b6e, 0x5b6f, 0x5b72, 0x5b74, 0x5b76, 0x5b77, 0x5b78,
    -    0x5b79, 0x5b7b, 0x5b7c, 0x5b7e, 0x5b7f, 0x5b82, 0x5b86, 0x5b8a,
    -    0x5b8d, 0x5b8e, 0x5b90, 0x5b91, 0x5b92, 0x5b94, 0x5b96, 0x5b9f,
    -    0x5ba7, 0x5ba8, 0x5ba9, 0x5bac, 0x5bad, 0x5bae, 0x5baf, 0x5bb1,
    -    0x5bb2, 0x5bb7, 0x5bba, 0x5bbb, 0x5bbc, 0x5bc0, 0x5bc1, 0x5bc3,
    -    0x5bc8, 0x5bc9, 0x5bca, 0x5bcb, 0x5bcd, 0x5bce, 0x5bcf, 0x003f,
    -    0x5bd1, 0x5bd4, 0x5bd5, 0x5bd6, 0x5bd7, 0x5bd8, 0x5bd9, 0x5bda,
    -    0x5bdb, 0x5bdc, 0x5be0, 0x5be2, 0x5be3, 0x5be6, 0x5be7, 0x5be9,
    -    0x5bea, 0x5beb, 0x5bec, 0x5bed, 0x5bef, 0x5bf1, 0x5bf2, 0x5bf3,
    -    0x5bf4, 0x5bf5, 0x5bf6, 0x5bf7, 0x5bfd, 0x5bfe, 0x5c00, 0x5c02,
    -    0x5c03, 0x5c05, 0x5c07, 0x5c08, 0x5c0b, 0x5c0c, 0x5c0d, 0x5c0e,
    -    0x5c10, 0x5c12, 0x5c13, 0x5c17, 0x5c19, 0x5c1b, 0x5c1e, 0x5c1f,
    -    0x5c20, 0x5c21, 0x5c23, 0x5c26, 0x5c28, 0x5c29, 0x5c2a, 0x5c2b,
    -    0x5c2d, 0x5c2e, 0x5c2f, 0x5c30, 0x5c32, 0x5c33, 0x5c35, 0x5c36,
    -    0x5c37, 0x5c43, 0x5c44, 0x5c46, 0x5c47, 0x5c4c, 0x5c4d, 0x5c52,
    -    0x5c53, 0x5c54, 0x5c56, 0x5c57, 0x5c58, 0x5c5a, 0x5c5b, 0x5c5c,
    -    0x5c5d, 0x5c5f, 0x5c62, 0x5c64, 0x5c67, 0x5c68, 0x5c69, 0x5c6a,
    -    0x5c6b, 0x5c6c, 0x5c6d, 0x5c70, 0x5c72, 0x5c73, 0x5c74, 0x5c75,
    -    0x5c76, 0x5c77, 0x5c78, 0x5c7b, 0x5c7c, 0x5c7d, 0x5c7e, 0x5c80,
    -    0x5c83, 0x5c84, 0x5c85, 0x5c86, 0x5c87, 0x5c89, 0x5c8a, 0x5c8b,
    -    0x5c8e, 0x5c8f, 0x5c92, 0x5c93, 0x5c95, 0x5c9d, 0x5c9e, 0x5c9f,
    -    0x5ca0, 0x5ca1, 0x5ca4, 0x5ca5, 0x5ca6, 0x5ca7, 0x5ca8, 0x003f,
    -    /* lead byte 8d */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5caa, 0x5cae, 0x5caf, 0x5cb0, 0x5cb2, 0x5cb4, 0x5cb6, 0x5cb9,
    -    0x5cba, 0x5cbb, 0x5cbc, 0x5cbe, 0x5cc0, 0x5cc2, 0x5cc3, 0x5cc5,
    -    0x5cc6, 0x5cc7, 0x5cc8, 0x5cc9, 0x5cca, 0x5ccc, 0x5ccd, 0x5cce,
    -    0x5ccf, 0x5cd0, 0x5cd1, 0x5cd3, 0x5cd4, 0x5cd5, 0x5cd6, 0x5cd7,
    -    0x5cd8, 0x5cda, 0x5cdb, 0x5cdc, 0x5cdd, 0x5cde, 0x5cdf, 0x5ce0,
    -    0x5ce2, 0x5ce3, 0x5ce7, 0x5ce9, 0x5ceb, 0x5cec, 0x5cee, 0x5cef,
    -    0x5cf1, 0x5cf2, 0x5cf3, 0x5cf4, 0x5cf5, 0x5cf6, 0x5cf7, 0x5cf8,
    -    0x5cf9, 0x5cfa, 0x5cfc, 0x5cfd, 0x5cfe, 0x5cff, 0x5d00, 0x003f,
    -    0x5d01, 0x5d04, 0x5d05, 0x5d08, 0x5d09, 0x5d0a, 0x5d0b, 0x5d0c,
    -    0x5d0d, 0x5d0f, 0x5d10, 0x5d11, 0x5d12, 0x5d13, 0x5d15, 0x5d17,
    -    0x5d18, 0x5d19, 0x5d1a, 0x5d1c, 0x5d1d, 0x5d1f, 0x5d20, 0x5d21,
    -    0x5d22, 0x5d23, 0x5d25, 0x5d28, 0x5d2a, 0x5d2b, 0x5d2c, 0x5d2f,
    -    0x5d30, 0x5d31, 0x5d32, 0x5d33, 0x5d35, 0x5d36, 0x5d37, 0x5d38,
    -    0x5d39, 0x5d3a, 0x5d3b, 0x5d3c, 0x5d3f, 0x5d40, 0x5d41, 0x5d42,
    -    0x5d43, 0x5d44, 0x5d45, 0x5d46, 0x5d48, 0x5d49, 0x5d4d, 0x5d4e,
    -    0x5d4f, 0x5d50, 0x5d51, 0x5d52, 0x5d53, 0x5d54, 0x5d55, 0x5d56,
    -    0x5d57, 0x5d59, 0x5d5a, 0x5d5c, 0x5d5e, 0x5d5f, 0x5d60, 0x5d61,
    -    0x5d62, 0x5d63, 0x5d64, 0x5d65, 0x5d66, 0x5d67, 0x5d68, 0x5d6a,
    -    0x5d6d, 0x5d6e, 0x5d70, 0x5d71, 0x5d72, 0x5d73, 0x5d75, 0x5d76,
    -    0x5d77, 0x5d78, 0x5d79, 0x5d7a, 0x5d7b, 0x5d7c, 0x5d7d, 0x5d7e,
    -    0x5d7f, 0x5d80, 0x5d81, 0x5d83, 0x5d84, 0x5d85, 0x5d86, 0x5d87,
    -    0x5d88, 0x5d89, 0x5d8a, 0x5d8b, 0x5d8c, 0x5d8d, 0x5d8e, 0x5d8f,
    -    0x5d90, 0x5d91, 0x5d92, 0x5d93, 0x5d94, 0x5d95, 0x5d96, 0x5d97,
    -    0x5d98, 0x5d9a, 0x5d9b, 0x5d9c, 0x5d9e, 0x5d9f, 0x5da0, 0x003f,
    -    /* lead byte 8e */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5da1, 0x5da2, 0x5da3, 0x5da4, 0x5da5, 0x5da6, 0x5da7, 0x5da8,
    -    0x5da9, 0x5daa, 0x5dab, 0x5dac, 0x5dad, 0x5dae, 0x5daf, 0x5db0,
    -    0x5db1, 0x5db2, 0x5db3, 0x5db4, 0x5db5, 0x5db6, 0x5db8, 0x5db9,
    -    0x5dba, 0x5dbb, 0x5dbc, 0x5dbd, 0x5dbe, 0x5dbf, 0x5dc0, 0x5dc1,
    -    0x5dc2, 0x5dc3, 0x5dc4, 0x5dc6, 0x5dc7, 0x5dc8, 0x5dc9, 0x5dca,
    -    0x5dcb, 0x5dcc, 0x5dce, 0x5dcf, 0x5dd0, 0x5dd1, 0x5dd2, 0x5dd3,
    -    0x5dd4, 0x5dd5, 0x5dd6, 0x5dd7, 0x5dd8, 0x5dd9, 0x5dda, 0x5ddc,
    -    0x5ddf, 0x5de0, 0x5de3, 0x5de4, 0x5dea, 0x5dec, 0x5ded, 0x003f,
    -    0x5df0, 0x5df5, 0x5df6, 0x5df8, 0x5df9, 0x5dfa, 0x5dfb, 0x5dfc,
    -    0x5dff, 0x5e00, 0x5e04, 0x5e07, 0x5e09, 0x5e0a, 0x5e0b, 0x5e0d,
    -    0x5e0e, 0x5e12, 0x5e13, 0x5e17, 0x5e1e, 0x5e1f, 0x5e20, 0x5e21,
    -    0x5e22, 0x5e23, 0x5e24, 0x5e25, 0x5e28, 0x5e29, 0x5e2a, 0x5e2b,
    -    0x5e2c, 0x5e2f, 0x5e30, 0x5e32, 0x5e33, 0x5e34, 0x5e35, 0x5e36,
    -    0x5e39, 0x5e3a, 0x5e3e, 0x5e3f, 0x5e40, 0x5e41, 0x5e43, 0x5e46,
    -    0x5e47, 0x5e48, 0x5e49, 0x5e4a, 0x5e4b, 0x5e4d, 0x5e4e, 0x5e4f,
    -    0x5e50, 0x5e51, 0x5e52, 0x5e53, 0x5e56, 0x5e57, 0x5e58, 0x5e59,
    -    0x5e5a, 0x5e5c, 0x5e5d, 0x5e5f, 0x5e60, 0x5e63, 0x5e64, 0x5e65,
    -    0x5e66, 0x5e67, 0x5e68, 0x5e69, 0x5e6a, 0x5e6b, 0x5e6c, 0x5e6d,
    -    0x5e6e, 0x5e6f, 0x5e70, 0x5e71, 0x5e75, 0x5e77, 0x5e79, 0x5e7e,
    -    0x5e81, 0x5e82, 0x5e83, 0x5e85, 0x5e88, 0x5e89, 0x5e8c, 0x5e8d,
    -    0x5e8e, 0x5e92, 0x5e98, 0x5e9b, 0x5e9d, 0x5ea1, 0x5ea2, 0x5ea3,
    -    0x5ea4, 0x5ea8, 0x5ea9, 0x5eaa, 0x5eab, 0x5eac, 0x5eae, 0x5eaf,
    -    0x5eb0, 0x5eb1, 0x5eb2, 0x5eb4, 0x5eba, 0x5ebb, 0x5ebc, 0x5ebd,
    -    0x5ebf, 0x5ec0, 0x5ec1, 0x5ec2, 0x5ec3, 0x5ec4, 0x5ec5, 0x003f,
    -    /* lead byte 8f */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5ec6, 0x5ec7, 0x5ec8, 0x5ecb, 0x5ecc, 0x5ecd, 0x5ece, 0x5ecf,
    -    0x5ed0, 0x5ed4, 0x5ed5, 0x5ed7, 0x5ed8, 0x5ed9, 0x5eda, 0x5edc,
    -    0x5edd, 0x5ede, 0x5edf, 0x5ee0, 0x5ee1, 0x5ee2, 0x5ee3, 0x5ee4,
    -    0x5ee5, 0x5ee6, 0x5ee7, 0x5ee9, 0x5eeb, 0x5eec, 0x5eed, 0x5eee,
    -    0x5eef, 0x5ef0, 0x5ef1, 0x5ef2, 0x5ef3, 0x5ef5, 0x5ef8, 0x5ef9,
    -    0x5efb, 0x5efc, 0x5efd, 0x5f05, 0x5f06, 0x5f07, 0x5f09, 0x5f0c,
    -    0x5f0d, 0x5f0e, 0x5f10, 0x5f12, 0x5f14, 0x5f16, 0x5f19, 0x5f1a,
    -    0x5f1c, 0x5f1d, 0x5f1e, 0x5f21, 0x5f22, 0x5f23, 0x5f24, 0x003f,
    -    0x5f28, 0x5f2b, 0x5f2c, 0x5f2e, 0x5f30, 0x5f32, 0x5f33, 0x5f34,
    -    0x5f35, 0x5f36, 0x5f37, 0x5f38, 0x5f3b, 0x5f3d, 0x5f3e, 0x5f3f,
    -    0x5f41, 0x5f42, 0x5f43, 0x5f44, 0x5f45, 0x5f46, 0x5f47, 0x5f48,
    -    0x5f49, 0x5f4a, 0x5f4b, 0x5f4c, 0x5f4d, 0x5f4e, 0x5f4f, 0x5f51,
    -    0x5f54, 0x5f59, 0x5f5a, 0x5f5b, 0x5f5c, 0x5f5e, 0x5f5f, 0x5f60,
    -    0x5f63, 0x5f65, 0x5f67, 0x5f68, 0x5f6b, 0x5f6e, 0x5f6f, 0x5f72,
    -    0x5f74, 0x5f75, 0x5f76, 0x5f78, 0x5f7a, 0x5f7d, 0x5f7e, 0x5f7f,
    -    0x5f83, 0x5f86, 0x5f8d, 0x5f8e, 0x5f8f, 0x5f91, 0x5f93, 0x5f94,
    -    0x5f96, 0x5f9a, 0x5f9b, 0x5f9d, 0x5f9e, 0x5f9f, 0x5fa0, 0x5fa2,
    -    0x5fa3, 0x5fa4, 0x5fa5, 0x5fa6, 0x5fa7, 0x5fa9, 0x5fab, 0x5fac,
    -    0x5faf, 0x5fb0, 0x5fb1, 0x5fb2, 0x5fb3, 0x5fb4, 0x5fb6, 0x5fb8,
    -    0x5fb9, 0x5fba, 0x5fbb, 0x5fbe, 0x5fbf, 0x5fc0, 0x5fc1, 0x5fc2,
    -    0x5fc7, 0x5fc8, 0x5fca, 0x5fcb, 0x5fce, 0x5fd3, 0x5fd4, 0x5fd5,
    -    0x5fda, 0x5fdb, 0x5fdc, 0x5fde, 0x5fdf, 0x5fe2, 0x5fe3, 0x5fe5,
    -    0x5fe6, 0x5fe8, 0x5fe9, 0x5fec, 0x5fef, 0x5ff0, 0x5ff2, 0x5ff3,
    -    0x5ff4, 0x5ff6, 0x5ff7, 0x5ff9, 0x5ffa, 0x5ffc, 0x6007, 0x003f,
    -    /* lead byte 90 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6008, 0x6009, 0x600b, 0x600c, 0x6010, 0x6011, 0x6013, 0x6017,
    -    0x6018, 0x601a, 0x601e, 0x601f, 0x6022, 0x6023, 0x6024, 0x602c,
    -    0x602d, 0x602e, 0x6030, 0x6031, 0x6032, 0x6033, 0x6034, 0x6036,
    -    0x6037, 0x6038, 0x6039, 0x603a, 0x603d, 0x603e, 0x6040, 0x6044,
    -    0x6045, 0x6046, 0x6047, 0x6048, 0x6049, 0x604a, 0x604c, 0x604e,
    -    0x604f, 0x6051, 0x6053, 0x6054, 0x6056, 0x6057, 0x6058, 0x605b,
    -    0x605c, 0x605e, 0x605f, 0x6060, 0x6061, 0x6065, 0x6066, 0x606e,
    -    0x6071, 0x6072, 0x6074, 0x6075, 0x6077, 0x607e, 0x6080, 0x003f,
    -    0x6081, 0x6082, 0x6085, 0x6086, 0x6087, 0x6088, 0x608a, 0x608b,
    -    0x608e, 0x608f, 0x6090, 0x6091, 0x6093, 0x6095, 0x6097, 0x6098,
    -    0x6099, 0x609c, 0x609e, 0x60a1, 0x60a2, 0x60a4, 0x60a5, 0x60a7,
    -    0x60a9, 0x60aa, 0x60ae, 0x60b0, 0x60b3, 0x60b5, 0x60b6, 0x60b7,
    -    0x60b9, 0x60ba, 0x60bd, 0x60be, 0x60bf, 0x60c0, 0x60c1, 0x60c2,
    -    0x60c3, 0x60c4, 0x60c7, 0x60c8, 0x60c9, 0x60cc, 0x60cd, 0x60ce,
    -    0x60cf, 0x60d0, 0x60d2, 0x60d3, 0x60d4, 0x60d6, 0x60d7, 0x60d9,
    -    0x60db, 0x60de, 0x60e1, 0x60e2, 0x60e3, 0x60e4, 0x60e5, 0x60ea,
    -    0x60f1, 0x60f2, 0x60f5, 0x60f7, 0x60f8, 0x60fb, 0x60fc, 0x60fd,
    -    0x60fe, 0x60ff, 0x6102, 0x6103, 0x6104, 0x6105, 0x6107, 0x610a,
    -    0x610b, 0x610c, 0x6110, 0x6111, 0x6112, 0x6113, 0x6114, 0x6116,
    -    0x6117, 0x6118, 0x6119, 0x611b, 0x611c, 0x611d, 0x611e, 0x6121,
    -    0x6122, 0x6125, 0x6128, 0x6129, 0x612a, 0x612c, 0x612d, 0x612e,
    -    0x612f, 0x6130, 0x6131, 0x6132, 0x6133, 0x6134, 0x6135, 0x6136,
    -    0x6137, 0x6138, 0x6139, 0x613a, 0x613b, 0x613c, 0x613d, 0x613e,
    -    0x6140, 0x6141, 0x6142, 0x6143, 0x6144, 0x6145, 0x6146, 0x003f,
    -    /* lead byte 91 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6147, 0x6149, 0x614b, 0x614d, 0x614f, 0x6150, 0x6152, 0x6153,
    -    0x6154, 0x6156, 0x6157, 0x6158, 0x6159, 0x615a, 0x615b, 0x615c,
    -    0x615e, 0x615f, 0x6160, 0x6161, 0x6163, 0x6164, 0x6165, 0x6166,
    -    0x6169, 0x616a, 0x616b, 0x616c, 0x616d, 0x616e, 0x616f, 0x6171,
    -    0x6172, 0x6173, 0x6174, 0x6176, 0x6178, 0x6179, 0x617a, 0x617b,
    -    0x617c, 0x617d, 0x617e, 0x617f, 0x6180, 0x6181, 0x6182, 0x6183,
    -    0x6184, 0x6185, 0x6186, 0x6187, 0x6188, 0x6189, 0x618a, 0x618c,
    -    0x618d, 0x618f, 0x6190, 0x6191, 0x6192, 0x6193, 0x6195, 0x003f,
    -    0x6196, 0x6197, 0x6198, 0x6199, 0x619a, 0x619b, 0x619c, 0x619e,
    -    0x619f, 0x61a0, 0x61a1, 0x61a2, 0x61a3, 0x61a4, 0x61a5, 0x61a6,
    -    0x61aa, 0x61ab, 0x61ad, 0x61ae, 0x61af, 0x61b0, 0x61b1, 0x61b2,
    -    0x61b3, 0x61b4, 0x61b5, 0x61b6, 0x61b8, 0x61b9, 0x61ba, 0x61bb,
    -    0x61bc, 0x61bd, 0x61bf, 0x61c0, 0x61c1, 0x61c3, 0x61c4, 0x61c5,
    -    0x61c6, 0x61c7, 0x61c9, 0x61cc, 0x61cd, 0x61ce, 0x61cf, 0x61d0,
    -    0x61d3, 0x61d5, 0x61d6, 0x61d7, 0x61d8, 0x61d9, 0x61da, 0x61db,
    -    0x61dc, 0x61dd, 0x61de, 0x61df, 0x61e0, 0x61e1, 0x61e2, 0x61e3,
    -    0x61e4, 0x61e5, 0x61e7, 0x61e8, 0x61e9, 0x61ea, 0x61eb, 0x61ec,
    -    0x61ed, 0x61ee, 0x61ef, 0x61f0, 0x61f1, 0x61f2, 0x61f3, 0x61f4,
    -    0x61f6, 0x61f7, 0x61f8, 0x61f9, 0x61fa, 0x61fb, 0x61fc, 0x61fd,
    -    0x61fe, 0x6200, 0x6201, 0x6202, 0x6203, 0x6204, 0x6205, 0x6207,
    -    0x6209, 0x6213, 0x6214, 0x6219, 0x621c, 0x621d, 0x621e, 0x6220,
    -    0x6223, 0x6226, 0x6227, 0x6228, 0x6229, 0x622b, 0x622d, 0x622f,
    -    0x6230, 0x6231, 0x6232, 0x6235, 0x6236, 0x6238, 0x6239, 0x623a,
    -    0x623b, 0x623c, 0x6242, 0x6244, 0x6245, 0x6246, 0x624a, 0x003f,
    -    /* lead byte 92 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x624f, 0x6250, 0x6255, 0x6256, 0x6257, 0x6259, 0x625a, 0x625c,
    -    0x625d, 0x625e, 0x625f, 0x6260, 0x6261, 0x6262, 0x6264, 0x6265,
    -    0x6268, 0x6271, 0x6272, 0x6274, 0x6275, 0x6277, 0x6278, 0x627a,
    -    0x627b, 0x627d, 0x6281, 0x6282, 0x6283, 0x6285, 0x6286, 0x6287,
    -    0x6288, 0x628b, 0x628c, 0x628d, 0x628e, 0x628f, 0x6290, 0x6294,
    -    0x6299, 0x629c, 0x629d, 0x629e, 0x62a3, 0x62a6, 0x62a7, 0x62a9,
    -    0x62aa, 0x62ad, 0x62ae, 0x62af, 0x62b0, 0x62b2, 0x62b3, 0x62b4,
    -    0x62b6, 0x62b7, 0x62b8, 0x62ba, 0x62be, 0x62c0, 0x62c1, 0x003f,
    -    0x62c3, 0x62cb, 0x62cf, 0x62d1, 0x62d5, 0x62dd, 0x62de, 0x62e0,
    -    0x62e1, 0x62e4, 0x62ea, 0x62eb, 0x62f0, 0x62f2, 0x62f5, 0x62f8,
    -    0x62f9, 0x62fa, 0x62fb, 0x6300, 0x6303, 0x6304, 0x6305, 0x6306,
    -    0x630a, 0x630b, 0x630c, 0x630d, 0x630f, 0x6310, 0x6312, 0x6313,
    -    0x6314, 0x6315, 0x6317, 0x6318, 0x6319, 0x631c, 0x6326, 0x6327,
    -    0x6329, 0x632c, 0x632d, 0x632e, 0x6330, 0x6331, 0x6333, 0x6334,
    -    0x6335, 0x6336, 0x6337, 0x6338, 0x633b, 0x633c, 0x633e, 0x633f,
    -    0x6340, 0x6341, 0x6344, 0x6347, 0x6348, 0x634a, 0x6351, 0x6352,
    -    0x6353, 0x6354, 0x6356, 0x6357, 0x6358, 0x6359, 0x635a, 0x635b,
    -    0x635c, 0x635d, 0x6360, 0x6364, 0x6365, 0x6366, 0x6368, 0x636a,
    -    0x636b, 0x636c, 0x636f, 0x6370, 0x6372, 0x6373, 0x6374, 0x6375,
    -    0x6378, 0x6379, 0x637c, 0x637d, 0x637e, 0x637f, 0x6381, 0x6383,
    -    0x6384, 0x6385, 0x6386, 0x638b, 0x638d, 0x6391, 0x6393, 0x6394,
    -    0x6395, 0x6397, 0x6399, 0x639a, 0x639b, 0x639c, 0x639d, 0x639e,
    -    0x639f, 0x63a1, 0x63a4, 0x63a6, 0x63ab, 0x63af, 0x63b1, 0x63b2,
    -    0x63b5, 0x63b6, 0x63b9, 0x63bb, 0x63bd, 0x63bf, 0x63c0, 0x003f,
    -    /* lead byte 93 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x63c1, 0x63c2, 0x63c3, 0x63c5, 0x63c7, 0x63c8, 0x63ca, 0x63cb,
    -    0x63cc, 0x63d1, 0x63d3, 0x63d4, 0x63d5, 0x63d7, 0x63d8, 0x63d9,
    -    0x63da, 0x63db, 0x63dc, 0x63dd, 0x63df, 0x63e2, 0x63e4, 0x63e5,
    -    0x63e6, 0x63e7, 0x63e8, 0x63eb, 0x63ec, 0x63ee, 0x63ef, 0x63f0,
    -    0x63f1, 0x63f3, 0x63f5, 0x63f7, 0x63f9, 0x63fa, 0x63fb, 0x63fc,
    -    0x63fe, 0x6403, 0x6404, 0x6406, 0x6407, 0x6408, 0x6409, 0x640a,
    -    0x640d, 0x640e, 0x6411, 0x6412, 0x6415, 0x6416, 0x6417, 0x6418,
    -    0x6419, 0x641a, 0x641d, 0x641f, 0x6422, 0x6423, 0x6424, 0x003f,
    -    0x6425, 0x6427, 0x6428, 0x6429, 0x642b, 0x642e, 0x642f, 0x6430,
    -    0x6431, 0x6432, 0x6433, 0x6435, 0x6436, 0x6437, 0x6438, 0x6439,
    -    0x643b, 0x643c, 0x643e, 0x6440, 0x6442, 0x6443, 0x6449, 0x644b,
    -    0x644c, 0x644d, 0x644e, 0x644f, 0x6450, 0x6451, 0x6453, 0x6455,
    -    0x6456, 0x6457, 0x6459, 0x645a, 0x645b, 0x645c, 0x645d, 0x645f,
    -    0x6460, 0x6461, 0x6462, 0x6463, 0x6464, 0x6465, 0x6466, 0x6468,
    -    0x646a, 0x646b, 0x646c, 0x646e, 0x646f, 0x6470, 0x6471, 0x6472,
    -    0x6473, 0x6474, 0x6475, 0x6476, 0x6477, 0x647b, 0x647c, 0x647d,
    -    0x647e, 0x647f, 0x6480, 0x6481, 0x6483, 0x6486, 0x6488, 0x6489,
    -    0x648a, 0x648b, 0x648c, 0x648d, 0x648e, 0x648f, 0x6490, 0x6493,
    -    0x6494, 0x6497, 0x6498, 0x649a, 0x649b, 0x649c, 0x649d, 0x649f,
    -    0x64a0, 0x64a1, 0x64a2, 0x64a3, 0x64a5, 0x64a6, 0x64a7, 0x64a8,
    -    0x64aa, 0x64ab, 0x64af, 0x64b1, 0x64b2, 0x64b3, 0x64b4, 0x64b6,
    -    0x64b9, 0x64bb, 0x64bd, 0x64be, 0x64bf, 0x64c1, 0x64c3, 0x64c4,
    -    0x64c6, 0x64c7, 0x64c8, 0x64c9, 0x64ca, 0x64cb, 0x64cc, 0x64cf,
    -    0x64d1, 0x64d3, 0x64d4, 0x64d5, 0x64d6, 0x64d9, 0x64da, 0x003f,
    -    /* lead byte 94 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x64db, 0x64dc, 0x64dd, 0x64df, 0x64e0, 0x64e1, 0x64e3, 0x64e5,
    -    0x64e7, 0x64e8, 0x64e9, 0x64ea, 0x64eb, 0x64ec, 0x64ed, 0x64ee,
    -    0x64ef, 0x64f0, 0x64f1, 0x64f2, 0x64f3, 0x64f4, 0x64f5, 0x64f6,
    -    0x64f7, 0x64f8, 0x64f9, 0x64fa, 0x64fb, 0x64fc, 0x64fd, 0x64fe,
    -    0x64ff, 0x6501, 0x6502, 0x6503, 0x6504, 0x6505, 0x6506, 0x6507,
    -    0x6508, 0x650a, 0x650b, 0x650c, 0x650d, 0x650e, 0x650f, 0x6510,
    -    0x6511, 0x6513, 0x6514, 0x6515, 0x6516, 0x6517, 0x6519, 0x651a,
    -    0x651b, 0x651c, 0x651d, 0x651e, 0x651f, 0x6520, 0x6521, 0x003f,
    -    0x6522, 0x6523, 0x6524, 0x6526, 0x6527, 0x6528, 0x6529, 0x652a,
    -    0x652c, 0x652d, 0x6530, 0x6531, 0x6532, 0x6533, 0x6537, 0x653a,
    -    0x653c, 0x653d, 0x6540, 0x6541, 0x6542, 0x6543, 0x6544, 0x6546,
    -    0x6547, 0x654a, 0x654b, 0x654d, 0x654e, 0x6550, 0x6552, 0x6553,
    -    0x6554, 0x6557, 0x6558, 0x655a, 0x655c, 0x655f, 0x6560, 0x6561,
    -    0x6564, 0x6565, 0x6567, 0x6568, 0x6569, 0x656a, 0x656d, 0x656e,
    -    0x656f, 0x6571, 0x6573, 0x6575, 0x6576, 0x6578, 0x6579, 0x657a,
    -    0x657b, 0x657c, 0x657d, 0x657e, 0x657f, 0x6580, 0x6581, 0x6582,
    -    0x6583, 0x6584, 0x6585, 0x6586, 0x6588, 0x6589, 0x658a, 0x658d,
    -    0x658e, 0x658f, 0x6592, 0x6594, 0x6595, 0x6596, 0x6598, 0x659a,
    -    0x659d, 0x659e, 0x65a0, 0x65a2, 0x65a3, 0x65a6, 0x65a8, 0x65aa,
    -    0x65ac, 0x65ae, 0x65b1, 0x65b2, 0x65b3, 0x65b4, 0x65b5, 0x65b6,
    -    0x65b7, 0x65b8, 0x65ba, 0x65bb, 0x65be, 0x65bf, 0x65c0, 0x65c2,
    -    0x65c7, 0x65c8, 0x65c9, 0x65ca, 0x65cd, 0x65d0, 0x65d1, 0x65d3,
    -    0x65d4, 0x65d5, 0x65d8, 0x65d9, 0x65da, 0x65db, 0x65dc, 0x65dd,
    -    0x65de, 0x65df, 0x65e1, 0x65e3, 0x65e4, 0x65ea, 0x65eb, 0x003f,
    -    /* lead byte 95 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x65f2, 0x65f3, 0x65f4, 0x65f5, 0x65f8, 0x65f9, 0x65fb, 0x65fc,
    -    0x65fd, 0x65fe, 0x65ff, 0x6601, 0x6604, 0x6605, 0x6607, 0x6608,
    -    0x6609, 0x660b, 0x660d, 0x6610, 0x6611, 0x6612, 0x6616, 0x6617,
    -    0x6618, 0x661a, 0x661b, 0x661c, 0x661e, 0x6621, 0x6622, 0x6623,
    -    0x6624, 0x6626, 0x6629, 0x662a, 0x662b, 0x662c, 0x662e, 0x6630,
    -    0x6632, 0x6633, 0x6637, 0x6638, 0x6639, 0x663a, 0x663b, 0x663d,
    -    0x663f, 0x6640, 0x6642, 0x6644, 0x6645, 0x6646, 0x6647, 0x6648,
    -    0x6649, 0x664a, 0x664d, 0x664e, 0x6650, 0x6651, 0x6658, 0x003f,
    -    0x6659, 0x665b, 0x665c, 0x665d, 0x665e, 0x6660, 0x6662, 0x6663,
    -    0x6665, 0x6667, 0x6669, 0x666a, 0x666b, 0x666c, 0x666d, 0x6671,
    -    0x6672, 0x6673, 0x6675, 0x6678, 0x6679, 0x667b, 0x667c, 0x667d,
    -    0x667f, 0x6680, 0x6681, 0x6683, 0x6685, 0x6686, 0x6688, 0x6689,
    -    0x668a, 0x668b, 0x668d, 0x668e, 0x668f, 0x6690, 0x6692, 0x6693,
    -    0x6694, 0x6695, 0x6698, 0x6699, 0x669a, 0x669b, 0x669c, 0x669e,
    -    0x669f, 0x66a0, 0x66a1, 0x66a2, 0x66a3, 0x66a4, 0x66a5, 0x66a6,
    -    0x66a9, 0x66aa, 0x66ab, 0x66ac, 0x66ad, 0x66af, 0x66b0, 0x66b1,
    -    0x66b2, 0x66b3, 0x66b5, 0x66b6, 0x66b7, 0x66b8, 0x66ba, 0x66bb,
    -    0x66bc, 0x66bd, 0x66bf, 0x66c0, 0x66c1, 0x66c2, 0x66c3, 0x66c4,
    -    0x66c5, 0x66c6, 0x66c7, 0x66c8, 0x66c9, 0x66ca, 0x66cb, 0x66cc,
    -    0x66cd, 0x66ce, 0x66cf, 0x66d0, 0x66d1, 0x66d2, 0x66d3, 0x66d4,
    -    0x66d5, 0x66d6, 0x66d7, 0x66d8, 0x66da, 0x66de, 0x66df, 0x66e0,
    -    0x66e1, 0x66e2, 0x66e3, 0x66e4, 0x66e5, 0x66e7, 0x66e8, 0x66ea,
    -    0x66eb, 0x66ec, 0x66ed, 0x66ee, 0x66ef, 0x66f1, 0x66f5, 0x66f6,
    -    0x66f8, 0x66fa, 0x66fb, 0x66fd, 0x6701, 0x6702, 0x6703, 0x003f,
    -    /* lead byte 96 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6704, 0x6705, 0x6706, 0x6707, 0x670c, 0x670e, 0x670f, 0x6711,
    -    0x6712, 0x6713, 0x6716, 0x6718, 0x6719, 0x671a, 0x671c, 0x671e,
    -    0x6720, 0x6721, 0x6722, 0x6723, 0x6724, 0x6725, 0x6727, 0x6729,
    -    0x672e, 0x6730, 0x6732, 0x6733, 0x6736, 0x6737, 0x6738, 0x6739,
    -    0x673b, 0x673c, 0x673e, 0x673f, 0x6741, 0x6744, 0x6745, 0x6747,
    -    0x674a, 0x674b, 0x674d, 0x6752, 0x6754, 0x6755, 0x6757, 0x6758,
    -    0x6759, 0x675a, 0x675b, 0x675d, 0x6762, 0x6763, 0x6764, 0x6766,
    -    0x6767, 0x676b, 0x676c, 0x676e, 0x6771, 0x6774, 0x6776, 0x003f,
    -    0x6778, 0x6779, 0x677a, 0x677b, 0x677d, 0x6780, 0x6782, 0x6783,
    -    0x6785, 0x6786, 0x6788, 0x678a, 0x678c, 0x678d, 0x678e, 0x678f,
    -    0x6791, 0x6792, 0x6793, 0x6794, 0x6796, 0x6799, 0x679b, 0x679f,
    -    0x67a0, 0x67a1, 0x67a4, 0x67a6, 0x67a9, 0x67ac, 0x67ae, 0x67b1,
    -    0x67b2, 0x67b4, 0x67b9, 0x67ba, 0x67bb, 0x67bc, 0x67bd, 0x67be,
    -    0x67bf, 0x67c0, 0x67c2, 0x67c5, 0x67c6, 0x67c7, 0x67c8, 0x67c9,
    -    0x67ca, 0x67cb, 0x67cc, 0x67cd, 0x67ce, 0x67d5, 0x67d6, 0x67d7,
    -    0x67db, 0x67df, 0x67e1, 0x67e3, 0x67e4, 0x67e6, 0x67e7, 0x67e8,
    -    0x67ea, 0x67eb, 0x67ed, 0x67ee, 0x67f2, 0x67f5, 0x67f6, 0x67f7,
    -    0x67f8, 0x67f9, 0x67fa, 0x67fb, 0x67fc, 0x67fe, 0x6801, 0x6802,
    -    0x6803, 0x6804, 0x6806, 0x680d, 0x6810, 0x6812, 0x6814, 0x6815,
    -    0x6818, 0x6819, 0x681a, 0x681b, 0x681c, 0x681e, 0x681f, 0x6820,
    -    0x6822, 0x6823, 0x6824, 0x6825, 0x6826, 0x6827, 0x6828, 0x682b,
    -    0x682c, 0x682d, 0x682e, 0x682f, 0x6830, 0x6831, 0x6834, 0x6835,
    -    0x6836, 0x683a, 0x683b, 0x683f, 0x6847, 0x684b, 0x684d, 0x684f,
    -    0x6852, 0x6856, 0x6857, 0x6858, 0x6859, 0x685a, 0x685b, 0x003f,
    -    /* lead byte 97 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x685c, 0x685d, 0x685e, 0x685f, 0x686a, 0x686c, 0x686d, 0x686e,
    -    0x686f, 0x6870, 0x6871, 0x6872, 0x6873, 0x6875, 0x6878, 0x6879,
    -    0x687a, 0x687b, 0x687c, 0x687d, 0x687e, 0x687f, 0x6880, 0x6882,
    -    0x6884, 0x6887, 0x6888, 0x6889, 0x688a, 0x688b, 0x688c, 0x688d,
    -    0x688e, 0x6890, 0x6891, 0x6892, 0x6894, 0x6895, 0x6896, 0x6898,
    -    0x6899, 0x689a, 0x689b, 0x689c, 0x689d, 0x689e, 0x689f, 0x68a0,
    -    0x68a1, 0x68a3, 0x68a4, 0x68a5, 0x68a9, 0x68aa, 0x68ab, 0x68ac,
    -    0x68ae, 0x68b1, 0x68b2, 0x68b4, 0x68b6, 0x68b7, 0x68b8, 0x003f,
    -    0x68b9, 0x68ba, 0x68bb, 0x68bc, 0x68bd, 0x68be, 0x68bf, 0x68c1,
    -    0x68c3, 0x68c4, 0x68c5, 0x68c6, 0x68c7, 0x68c8, 0x68ca, 0x68cc,
    -    0x68ce, 0x68cf, 0x68d0, 0x68d1, 0x68d3, 0x68d4, 0x68d6, 0x68d7,
    -    0x68d9, 0x68db, 0x68dc, 0x68dd, 0x68de, 0x68df, 0x68e1, 0x68e2,
    -    0x68e4, 0x68e5, 0x68e6, 0x68e7, 0x68e8, 0x68e9, 0x68ea, 0x68eb,
    -    0x68ec, 0x68ed, 0x68ef, 0x68f2, 0x68f3, 0x68f4, 0x68f6, 0x68f7,
    -    0x68f8, 0x68fb, 0x68fd, 0x68fe, 0x68ff, 0x6900, 0x6902, 0x6903,
    -    0x6904, 0x6906, 0x6907, 0x6908, 0x6909, 0x690a, 0x690c, 0x690f,
    -    0x6911, 0x6913, 0x6914, 0x6915, 0x6916, 0x6917, 0x6918, 0x6919,
    -    0x691a, 0x691b, 0x691c, 0x691d, 0x691e, 0x6921, 0x6922, 0x6923,
    -    0x6925, 0x6926, 0x6927, 0x6928, 0x6929, 0x692a, 0x692b, 0x692c,
    -    0x692e, 0x692f, 0x6931, 0x6932, 0x6933, 0x6935, 0x6936, 0x6937,
    -    0x6938, 0x693a, 0x693b, 0x693c, 0x693e, 0x6940, 0x6941, 0x6943,
    -    0x6944, 0x6945, 0x6946, 0x6947, 0x6948, 0x6949, 0x694a, 0x694b,
    -    0x694c, 0x694d, 0x694e, 0x694f, 0x6950, 0x6951, 0x6952, 0x6953,
    -    0x6955, 0x6956, 0x6958, 0x6959, 0x695b, 0x695c, 0x695f, 0x003f,
    -    /* lead byte 98 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6961, 0x6962, 0x6964, 0x6965, 0x6967, 0x6968, 0x6969, 0x696a,
    -    0x696c, 0x696d, 0x696f, 0x6970, 0x6972, 0x6973, 0x6974, 0x6975,
    -    0x6976, 0x697a, 0x697b, 0x697d, 0x697e, 0x697f, 0x6981, 0x6983,
    -    0x6985, 0x698a, 0x698b, 0x698c, 0x698e, 0x698f, 0x6990, 0x6991,
    -    0x6992, 0x6993, 0x6996, 0x6997, 0x6999, 0x699a, 0x699d, 0x699e,
    -    0x699f, 0x69a0, 0x69a1, 0x69a2, 0x69a3, 0x69a4, 0x69a5, 0x69a6,
    -    0x69a9, 0x69aa, 0x69ac, 0x69ae, 0x69af, 0x69b0, 0x69b2, 0x69b3,
    -    0x69b5, 0x69b6, 0x69b8, 0x69b9, 0x69ba, 0x69bc, 0x69bd, 0x003f,
    -    0x69be, 0x69bf, 0x69c0, 0x69c2, 0x69c3, 0x69c4, 0x69c5, 0x69c6,
    -    0x69c7, 0x69c8, 0x69c9, 0x69cb, 0x69cd, 0x69cf, 0x69d1, 0x69d2,
    -    0x69d3, 0x69d5, 0x69d6, 0x69d7, 0x69d8, 0x69d9, 0x69da, 0x69dc,
    -    0x69dd, 0x69de, 0x69e1, 0x69e2, 0x69e3, 0x69e4, 0x69e5, 0x69e6,
    -    0x69e7, 0x69e8, 0x69e9, 0x69ea, 0x69eb, 0x69ec, 0x69ee, 0x69ef,
    -    0x69f0, 0x69f1, 0x69f3, 0x69f4, 0x69f5, 0x69f6, 0x69f7, 0x69f8,
    -    0x69f9, 0x69fa, 0x69fb, 0x69fc, 0x69fe, 0x6a00, 0x6a01, 0x6a02,
    -    0x6a03, 0x6a04, 0x6a05, 0x6a06, 0x6a07, 0x6a08, 0x6a09, 0x6a0b,
    -    0x6a0c, 0x6a0d, 0x6a0e, 0x6a0f, 0x6a10, 0x6a11, 0x6a12, 0x6a13,
    -    0x6a14, 0x6a15, 0x6a16, 0x6a19, 0x6a1a, 0x6a1b, 0x6a1c, 0x6a1d,
    -    0x6a1e, 0x6a20, 0x6a22, 0x6a23, 0x6a24, 0x6a25, 0x6a26, 0x6a27,
    -    0x6a29, 0x6a2b, 0x6a2c, 0x6a2d, 0x6a2e, 0x6a30, 0x6a32, 0x6a33,
    -    0x6a34, 0x6a36, 0x6a37, 0x6a38, 0x6a39, 0x6a3a, 0x6a3b, 0x6a3c,
    -    0x6a3f, 0x6a40, 0x6a41, 0x6a42, 0x6a43, 0x6a45, 0x6a46, 0x6a48,
    -    0x6a49, 0x6a4a, 0x6a4b, 0x6a4c, 0x6a4d, 0x6a4e, 0x6a4f, 0x6a51,
    -    0x6a52, 0x6a53, 0x6a54, 0x6a55, 0x6a56, 0x6a57, 0x6a5a, 0x003f,
    -    /* lead byte 99 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6a5c, 0x6a5d, 0x6a5e, 0x6a5f, 0x6a60, 0x6a62, 0x6a63, 0x6a64,
    -    0x6a66, 0x6a67, 0x6a68, 0x6a69, 0x6a6a, 0x6a6b, 0x6a6c, 0x6a6d,
    -    0x6a6e, 0x6a6f, 0x6a70, 0x6a72, 0x6a73, 0x6a74, 0x6a75, 0x6a76,
    -    0x6a77, 0x6a78, 0x6a7a, 0x6a7b, 0x6a7d, 0x6a7e, 0x6a7f, 0x6a81,
    -    0x6a82, 0x6a83, 0x6a85, 0x6a86, 0x6a87, 0x6a88, 0x6a89, 0x6a8a,
    -    0x6a8b, 0x6a8c, 0x6a8d, 0x6a8f, 0x6a92, 0x6a93, 0x6a94, 0x6a95,
    -    0x6a96, 0x6a98, 0x6a99, 0x6a9a, 0x6a9b, 0x6a9c, 0x6a9d, 0x6a9e,
    -    0x6a9f, 0x6aa1, 0x6aa2, 0x6aa3, 0x6aa4, 0x6aa5, 0x6aa6, 0x003f,
    -    0x6aa7, 0x6aa8, 0x6aaa, 0x6aad, 0x6aae, 0x6aaf, 0x6ab0, 0x6ab1,
    -    0x6ab2, 0x6ab3, 0x6ab4, 0x6ab5, 0x6ab6, 0x6ab7, 0x6ab8, 0x6ab9,
    -    0x6aba, 0x6abb, 0x6abc, 0x6abd, 0x6abe, 0x6abf, 0x6ac0, 0x6ac1,
    -    0x6ac2, 0x6ac3, 0x6ac4, 0x6ac5, 0x6ac6, 0x6ac7, 0x6ac8, 0x6ac9,
    -    0x6aca, 0x6acb, 0x6acc, 0x6acd, 0x6ace, 0x6acf, 0x6ad0, 0x6ad1,
    -    0x6ad2, 0x6ad3, 0x6ad4, 0x6ad5, 0x6ad6, 0x6ad7, 0x6ad8, 0x6ad9,
    -    0x6ada, 0x6adb, 0x6adc, 0x6add, 0x6ade, 0x6adf, 0x6ae0, 0x6ae1,
    -    0x6ae2, 0x6ae3, 0x6ae4, 0x6ae5, 0x6ae6, 0x6ae7, 0x6ae8, 0x6ae9,
    -    0x6aea, 0x6aeb, 0x6aec, 0x6aed, 0x6aee, 0x6aef, 0x6af0, 0x6af1,
    -    0x6af2, 0x6af3, 0x6af4, 0x6af5, 0x6af6, 0x6af7, 0x6af8, 0x6af9,
    -    0x6afa, 0x6afb, 0x6afc, 0x6afd, 0x6afe, 0x6aff, 0x6b00, 0x6b01,
    -    0x6b02, 0x6b03, 0x6b04, 0x6b05, 0x6b06, 0x6b07, 0x6b08, 0x6b09,
    -    0x6b0a, 0x6b0b, 0x6b0c, 0x6b0d, 0x6b0e, 0x6b0f, 0x6b10, 0x6b11,
    -    0x6b12, 0x6b13, 0x6b14, 0x6b15, 0x6b16, 0x6b17, 0x6b18, 0x6b19,
    -    0x6b1a, 0x6b1b, 0x6b1c, 0x6b1d, 0x6b1e, 0x6b1f, 0x6b25, 0x6b26,
    -    0x6b28, 0x6b29, 0x6b2a, 0x6b2b, 0x6b2c, 0x6b2d, 0x6b2e, 0x003f,
    -    /* lead byte 9a */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6b2f, 0x6b30, 0x6b31, 0x6b33, 0x6b34, 0x6b35, 0x6b36, 0x6b38,
    -    0x6b3b, 0x6b3c, 0x6b3d, 0x6b3f, 0x6b40, 0x6b41, 0x6b42, 0x6b44,
    -    0x6b45, 0x6b48, 0x6b4a, 0x6b4b, 0x6b4d, 0x6b4e, 0x6b4f, 0x6b50,
    -    0x6b51, 0x6b52, 0x6b53, 0x6b54, 0x6b55, 0x6b56, 0x6b57, 0x6b58,
    -    0x6b5a, 0x6b5b, 0x6b5c, 0x6b5d, 0x6b5e, 0x6b5f, 0x6b60, 0x6b61,
    -    0x6b68, 0x6b69, 0x6b6b, 0x6b6c, 0x6b6d, 0x6b6e, 0x6b6f, 0x6b70,
    -    0x6b71, 0x6b72, 0x6b73, 0x6b74, 0x6b75, 0x6b76, 0x6b77, 0x6b78,
    -    0x6b7a, 0x6b7d, 0x6b7e, 0x6b7f, 0x6b80, 0x6b85, 0x6b88, 0x003f,
    -    0x6b8c, 0x6b8e, 0x6b8f, 0x6b90, 0x6b91, 0x6b94, 0x6b95, 0x6b97,
    -    0x6b98, 0x6b99, 0x6b9c, 0x6b9d, 0x6b9e, 0x6b9f, 0x6ba0, 0x6ba2,
    -    0x6ba3, 0x6ba4, 0x6ba5, 0x6ba6, 0x6ba7, 0x6ba8, 0x6ba9, 0x6bab,
    -    0x6bac, 0x6bad, 0x6bae, 0x6baf, 0x6bb0, 0x6bb1, 0x6bb2, 0x6bb6,
    -    0x6bb8, 0x6bb9, 0x6bba, 0x6bbb, 0x6bbc, 0x6bbd, 0x6bbe, 0x6bc0,
    -    0x6bc3, 0x6bc4, 0x6bc6, 0x6bc7, 0x6bc8, 0x6bc9, 0x6bca, 0x6bcc,
    -    0x6bce, 0x6bd0, 0x6bd1, 0x6bd8, 0x6bda, 0x6bdc, 0x6bdd, 0x6bde,
    -    0x6bdf, 0x6be0, 0x6be2, 0x6be3, 0x6be4, 0x6be5, 0x6be6, 0x6be7,
    -    0x6be8, 0x6be9, 0x6bec, 0x6bed, 0x6bee, 0x6bf0, 0x6bf1, 0x6bf2,
    -    0x6bf4, 0x6bf6, 0x6bf7, 0x6bf8, 0x6bfa, 0x6bfb, 0x6bfc, 0x6bfe,
    -    0x6bff, 0x6c00, 0x6c01, 0x6c02, 0x6c03, 0x6c04, 0x6c08, 0x6c09,
    -    0x6c0a, 0x6c0b, 0x6c0c, 0x6c0e, 0x6c12, 0x6c17, 0x6c1c, 0x6c1d,
    -    0x6c1e, 0x6c20, 0x6c23, 0x6c25, 0x6c2b, 0x6c2c, 0x6c2d, 0x6c31,
    -    0x6c33, 0x6c36, 0x6c37, 0x6c39, 0x6c3a, 0x6c3b, 0x6c3c, 0x6c3e,
    -    0x6c3f, 0x6c43, 0x6c44, 0x6c45, 0x6c48, 0x6c4b, 0x6c4c, 0x6c4d,
    -    0x6c4e, 0x6c4f, 0x6c51, 0x6c52, 0x6c53, 0x6c56, 0x6c58, 0x003f,
    -    /* lead byte 9b */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6c59, 0x6c5a, 0x6c62, 0x6c63, 0x6c65, 0x6c66, 0x6c67, 0x6c6b,
    -    0x6c6c, 0x6c6d, 0x6c6e, 0x6c6f, 0x6c71, 0x6c73, 0x6c75, 0x6c77,
    -    0x6c78, 0x6c7a, 0x6c7b, 0x6c7c, 0x6c7f, 0x6c80, 0x6c84, 0x6c87,
    -    0x6c8a, 0x6c8b, 0x6c8d, 0x6c8e, 0x6c91, 0x6c92, 0x6c95, 0x6c96,
    -    0x6c97, 0x6c98, 0x6c9a, 0x6c9c, 0x6c9d, 0x6c9e, 0x6ca0, 0x6ca2,
    -    0x6ca8, 0x6cac, 0x6caf, 0x6cb0, 0x6cb4, 0x6cb5, 0x6cb6, 0x6cb7,
    -    0x6cba, 0x6cc0, 0x6cc1, 0x6cc2, 0x6cc3, 0x6cc6, 0x6cc7, 0x6cc8,
    -    0x6ccb, 0x6ccd, 0x6cce, 0x6ccf, 0x6cd1, 0x6cd2, 0x6cd8, 0x003f,
    -    0x6cd9, 0x6cda, 0x6cdc, 0x6cdd, 0x6cdf, 0x6ce4, 0x6ce6, 0x6ce7,
    -    0x6ce9, 0x6cec, 0x6ced, 0x6cf2, 0x6cf4, 0x6cf9, 0x6cff, 0x6d00,
    -    0x6d02, 0x6d03, 0x6d05, 0x6d06, 0x6d08, 0x6d09, 0x6d0a, 0x6d0d,
    -    0x6d0f, 0x6d10, 0x6d11, 0x6d13, 0x6d14, 0x6d15, 0x6d16, 0x6d18,
    -    0x6d1c, 0x6d1d, 0x6d1f, 0x6d20, 0x6d21, 0x6d22, 0x6d23, 0x6d24,
    -    0x6d26, 0x6d28, 0x6d29, 0x6d2c, 0x6d2d, 0x6d2f, 0x6d30, 0x6d34,
    -    0x6d36, 0x6d37, 0x6d38, 0x6d3a, 0x6d3f, 0x6d40, 0x6d42, 0x6d44,
    -    0x6d49, 0x6d4c, 0x6d50, 0x6d55, 0x6d56, 0x6d57, 0x6d58, 0x6d5b,
    -    0x6d5d, 0x6d5f, 0x6d61, 0x6d62, 0x6d64, 0x6d65, 0x6d67, 0x6d68,
    -    0x6d6b, 0x6d6c, 0x6d6d, 0x6d70, 0x6d71, 0x6d72, 0x6d73, 0x6d75,
    -    0x6d76, 0x6d79, 0x6d7a, 0x6d7b, 0x6d7d, 0x6d7e, 0x6d7f, 0x6d80,
    -    0x6d81, 0x6d83, 0x6d84, 0x6d86, 0x6d87, 0x6d8a, 0x6d8b, 0x6d8d,
    -    0x6d8f, 0x6d90, 0x6d92, 0x6d96, 0x6d97, 0x6d98, 0x6d99, 0x6d9a,
    -    0x6d9c, 0x6da2, 0x6da5, 0x6dac, 0x6dad, 0x6db0, 0x6db1, 0x6db3,
    -    0x6db4, 0x6db6, 0x6db7, 0x6db9, 0x6dba, 0x6dbb, 0x6dbc, 0x6dbd,
    -    0x6dbe, 0x6dc1, 0x6dc2, 0x6dc3, 0x6dc8, 0x6dc9, 0x6dca, 0x003f,
    -    /* lead byte 9c */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6dcd, 0x6dce, 0x6dcf, 0x6dd0, 0x6dd2, 0x6dd3, 0x6dd4, 0x6dd5,
    -    0x6dd7, 0x6dda, 0x6ddb, 0x6ddc, 0x6ddf, 0x6de2, 0x6de3, 0x6de5,
    -    0x6de7, 0x6de8, 0x6de9, 0x6dea, 0x6ded, 0x6def, 0x6df0, 0x6df2,
    -    0x6df4, 0x6df5, 0x6df6, 0x6df8, 0x6dfa, 0x6dfd, 0x6dfe, 0x6dff,
    -    0x6e00, 0x6e01, 0x6e02, 0x6e03, 0x6e04, 0x6e06, 0x6e07, 0x6e08,
    -    0x6e09, 0x6e0b, 0x6e0f, 0x6e12, 0x6e13, 0x6e15, 0x6e18, 0x6e19,
    -    0x6e1b, 0x6e1c, 0x6e1e, 0x6e1f, 0x6e22, 0x6e26, 0x6e27, 0x6e28,
    -    0x6e2a, 0x6e2c, 0x6e2e, 0x6e30, 0x6e31, 0x6e33, 0x6e35, 0x003f,
    -    0x6e36, 0x6e37, 0x6e39, 0x6e3b, 0x6e3c, 0x6e3d, 0x6e3e, 0x6e3f,
    -    0x6e40, 0x6e41, 0x6e42, 0x6e45, 0x6e46, 0x6e47, 0x6e48, 0x6e49,
    -    0x6e4a, 0x6e4b, 0x6e4c, 0x6e4f, 0x6e50, 0x6e51, 0x6e52, 0x6e55,
    -    0x6e57, 0x6e59, 0x6e5a, 0x6e5c, 0x6e5d, 0x6e5e, 0x6e60, 0x6e61,
    -    0x6e62, 0x6e63, 0x6e64, 0x6e65, 0x6e66, 0x6e67, 0x6e68, 0x6e69,
    -    0x6e6a, 0x6e6c, 0x6e6d, 0x6e6f, 0x6e70, 0x6e71, 0x6e72, 0x6e73,
    -    0x6e74, 0x6e75, 0x6e76, 0x6e77, 0x6e78, 0x6e79, 0x6e7a, 0x6e7b,
    -    0x6e7c, 0x6e7d, 0x6e80, 0x6e81, 0x6e82, 0x6e84, 0x6e87, 0x6e88,
    -    0x6e8a, 0x6e8b, 0x6e8c, 0x6e8d, 0x6e8e, 0x6e91, 0x6e92, 0x6e93,
    -    0x6e94, 0x6e95, 0x6e96, 0x6e97, 0x6e99, 0x6e9a, 0x6e9b, 0x6e9d,
    -    0x6e9e, 0x6ea0, 0x6ea1, 0x6ea3, 0x6ea4, 0x6ea6, 0x6ea8, 0x6ea9,
    -    0x6eab, 0x6eac, 0x6ead, 0x6eae, 0x6eb0, 0x6eb3, 0x6eb5, 0x6eb8,
    -    0x6eb9, 0x6ebc, 0x6ebe, 0x6ebf, 0x6ec0, 0x6ec3, 0x6ec4, 0x6ec5,
    -    0x6ec6, 0x6ec8, 0x6ec9, 0x6eca, 0x6ecc, 0x6ecd, 0x6ece, 0x6ed0,
    -    0x6ed2, 0x6ed6, 0x6ed8, 0x6ed9, 0x6edb, 0x6edc, 0x6edd, 0x6ee3,
    -    0x6ee7, 0x6eea, 0x6eeb, 0x6eec, 0x6eed, 0x6eee, 0x6eef, 0x003f,
    -    /* lead byte 9d */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6ef0, 0x6ef1, 0x6ef2, 0x6ef3, 0x6ef5, 0x6ef6, 0x6ef7, 0x6ef8,
    -    0x6efa, 0x6efb, 0x6efc, 0x6efd, 0x6efe, 0x6eff, 0x6f00, 0x6f01,
    -    0x6f03, 0x6f04, 0x6f05, 0x6f07, 0x6f08, 0x6f0a, 0x6f0b, 0x6f0c,
    -    0x6f0d, 0x6f0e, 0x6f10, 0x6f11, 0x6f12, 0x6f16, 0x6f17, 0x6f18,
    -    0x6f19, 0x6f1a, 0x6f1b, 0x6f1c, 0x6f1d, 0x6f1e, 0x6f1f, 0x6f21,
    -    0x6f22, 0x6f23, 0x6f25, 0x6f26, 0x6f27, 0x6f28, 0x6f2c, 0x6f2e,
    -    0x6f30, 0x6f32, 0x6f34, 0x6f35, 0x6f37, 0x6f38, 0x6f39, 0x6f3a,
    -    0x6f3b, 0x6f3c, 0x6f3d, 0x6f3f, 0x6f40, 0x6f41, 0x6f42, 0x003f,
    -    0x6f43, 0x6f44, 0x6f45, 0x6f48, 0x6f49, 0x6f4a, 0x6f4c, 0x6f4e,
    -    0x6f4f, 0x6f50, 0x6f51, 0x6f52, 0x6f53, 0x6f54, 0x6f55, 0x6f56,
    -    0x6f57, 0x6f59, 0x6f5a, 0x6f5b, 0x6f5d, 0x6f5f, 0x6f60, 0x6f61,
    -    0x6f63, 0x6f64, 0x6f65, 0x6f67, 0x6f68, 0x6f69, 0x6f6a, 0x6f6b,
    -    0x6f6c, 0x6f6f, 0x6f70, 0x6f71, 0x6f73, 0x6f75, 0x6f76, 0x6f77,
    -    0x6f79, 0x6f7b, 0x6f7d, 0x6f7e, 0x6f7f, 0x6f80, 0x6f81, 0x6f82,
    -    0x6f83, 0x6f85, 0x6f86, 0x6f87, 0x6f8a, 0x6f8b, 0x6f8f, 0x6f90,
    -    0x6f91, 0x6f92, 0x6f93, 0x6f94, 0x6f95, 0x6f96, 0x6f97, 0x6f98,
    -    0x6f99, 0x6f9a, 0x6f9b, 0x6f9d, 0x6f9e, 0x6f9f, 0x6fa0, 0x6fa2,
    -    0x6fa3, 0x6fa4, 0x6fa5, 0x6fa6, 0x6fa8, 0x6fa9, 0x6faa, 0x6fab,
    -    0x6fac, 0x6fad, 0x6fae, 0x6faf, 0x6fb0, 0x6fb1, 0x6fb2, 0x6fb4,
    -    0x6fb5, 0x6fb7, 0x6fb8, 0x6fba, 0x6fbb, 0x6fbc, 0x6fbd, 0x6fbe,
    -    0x6fbf, 0x6fc1, 0x6fc3, 0x6fc4, 0x6fc5, 0x6fc6, 0x6fc7, 0x6fc8,
    -    0x6fca, 0x6fcb, 0x6fcc, 0x6fcd, 0x6fce, 0x6fcf, 0x6fd0, 0x6fd3,
    -    0x6fd4, 0x6fd5, 0x6fd6, 0x6fd7, 0x6fd8, 0x6fd9, 0x6fda, 0x6fdb,
    -    0x6fdc, 0x6fdd, 0x6fdf, 0x6fe2, 0x6fe3, 0x6fe4, 0x6fe5, 0x003f,
    -    /* lead byte 9e */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6fe6, 0x6fe7, 0x6fe8, 0x6fe9, 0x6fea, 0x6feb, 0x6fec, 0x6fed,
    -    0x6ff0, 0x6ff1, 0x6ff2, 0x6ff3, 0x6ff4, 0x6ff5, 0x6ff6, 0x6ff7,
    -    0x6ff8, 0x6ff9, 0x6ffa, 0x6ffb, 0x6ffc, 0x6ffd, 0x6ffe, 0x6fff,
    -    0x7000, 0x7001, 0x7002, 0x7003, 0x7004, 0x7005, 0x7006, 0x7007,
    -    0x7008, 0x7009, 0x700a, 0x700b, 0x700c, 0x700d, 0x700e, 0x700f,
    -    0x7010, 0x7012, 0x7013, 0x7014, 0x7015, 0x7016, 0x7017, 0x7018,
    -    0x7019, 0x701c, 0x701d, 0x701e, 0x701f, 0x7020, 0x7021, 0x7022,
    -    0x7024, 0x7025, 0x7026, 0x7027, 0x7028, 0x7029, 0x702a, 0x003f,
    -    0x702b, 0x702c, 0x702d, 0x702e, 0x702f, 0x7030, 0x7031, 0x7032,
    -    0x7033, 0x7034, 0x7036, 0x7037, 0x7038, 0x703a, 0x703b, 0x703c,
    -    0x703d, 0x703e, 0x703f, 0x7040, 0x7041, 0x7042, 0x7043, 0x7044,
    -    0x7045, 0x7046, 0x7047, 0x7048, 0x7049, 0x704a, 0x704b, 0x704d,
    -    0x704e, 0x7050, 0x7051, 0x7052, 0x7053, 0x7054, 0x7055, 0x7056,
    -    0x7057, 0x7058, 0x7059, 0x705a, 0x705b, 0x705c, 0x705d, 0x705f,
    -    0x7060, 0x7061, 0x7062, 0x7063, 0x7064, 0x7065, 0x7066, 0x7067,
    -    0x7068, 0x7069, 0x706a, 0x706e, 0x7071, 0x7072, 0x7073, 0x7074,
    -    0x7077, 0x7079, 0x707a, 0x707b, 0x707d, 0x7081, 0x7082, 0x7083,
    -    0x7084, 0x7086, 0x7087, 0x7088, 0x708b, 0x708c, 0x708d, 0x708f,
    -    0x7090, 0x7091, 0x7093, 0x7097, 0x7098, 0x709a, 0x709b, 0x709e,
    -    0x709f, 0x70a0, 0x70a1, 0x70a2, 0x70a3, 0x70a4, 0x70a5, 0x70a6,
    -    0x70a7, 0x70a8, 0x70a9, 0x70aa, 0x70b0, 0x70b2, 0x70b4, 0x70b5,
    -    0x70b6, 0x70ba, 0x70be, 0x70bf, 0x70c4, 0x70c5, 0x70c6, 0x70c7,
    -    0x70c9, 0x70cb, 0x70cc, 0x70cd, 0x70ce, 0x70cf, 0x70d0, 0x70d1,
    -    0x70d2, 0x70d3, 0x70d4, 0x70d5, 0x70d6, 0x70d7, 0x70da, 0x003f,
    -    /* lead byte 9f */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x70dc, 0x70dd, 0x70de, 0x70e0, 0x70e1, 0x70e2, 0x70e3, 0x70e5,
    -    0x70ea, 0x70ee, 0x70f0, 0x70f1, 0x70f2, 0x70f3, 0x70f4, 0x70f5,
    -    0x70f6, 0x70f8, 0x70fa, 0x70fb, 0x70fc, 0x70fe, 0x70ff, 0x7100,
    -    0x7101, 0x7102, 0x7103, 0x7104, 0x7105, 0x7106, 0x7107, 0x7108,
    -    0x710b, 0x710c, 0x710d, 0x710e, 0x710f, 0x7111, 0x7112, 0x7114,
    -    0x7117, 0x711b, 0x711c, 0x711d, 0x711e, 0x711f, 0x7120, 0x7121,
    -    0x7122, 0x7123, 0x7124, 0x7125, 0x7127, 0x7128, 0x7129, 0x712a,
    -    0x712b, 0x712c, 0x712d, 0x712e, 0x7132, 0x7133, 0x7134, 0x003f,
    -    0x7135, 0x7137, 0x7138, 0x7139, 0x713a, 0x713b, 0x713c, 0x713d,
    -    0x713e, 0x713f, 0x7140, 0x7141, 0x7142, 0x7143, 0x7144, 0x7146,
    -    0x7147, 0x7148, 0x7149, 0x714b, 0x714d, 0x714f, 0x7150, 0x7151,
    -    0x7152, 0x7153, 0x7154, 0x7155, 0x7156, 0x7157, 0x7158, 0x7159,
    -    0x715a, 0x715b, 0x715d, 0x715f, 0x7160, 0x7161, 0x7162, 0x7163,
    -    0x7165, 0x7169, 0x716a, 0x716b, 0x716c, 0x716d, 0x716f, 0x7170,
    -    0x7171, 0x7174, 0x7175, 0x7176, 0x7177, 0x7179, 0x717b, 0x717c,
    -    0x717e, 0x717f, 0x7180, 0x7181, 0x7182, 0x7183, 0x7185, 0x7186,
    -    0x7187, 0x7188, 0x7189, 0x718b, 0x718c, 0x718d, 0x718e, 0x7190,
    -    0x7191, 0x7192, 0x7193, 0x7195, 0x7196, 0x7197, 0x719a, 0x719b,
    -    0x719c, 0x719d, 0x719e, 0x71a1, 0x71a2, 0x71a3, 0x71a4, 0x71a5,
    -    0x71a6, 0x71a7, 0x71a9, 0x71aa, 0x71ab, 0x71ad, 0x71ae, 0x71af,
    -    0x71b0, 0x71b1, 0x71b2, 0x71b4, 0x71b6, 0x71b7, 0x71b8, 0x71ba,
    -    0x71bb, 0x71bc, 0x71bd, 0x71be, 0x71bf, 0x71c0, 0x71c1, 0x71c2,
    -    0x71c4, 0x71c5, 0x71c6, 0x71c7, 0x71c8, 0x71c9, 0x71ca, 0x71cb,
    -    0x71cc, 0x71cd, 0x71cf, 0x71d0, 0x71d1, 0x71d2, 0x71d3, 0x003f,
    -    /* lead byte a0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x71d6, 0x71d7, 0x71d8, 0x71d9, 0x71da, 0x71db, 0x71dc, 0x71dd,
    -    0x71de, 0x71df, 0x71e1, 0x71e2, 0x71e3, 0x71e4, 0x71e6, 0x71e8,
    -    0x71e9, 0x71ea, 0x71eb, 0x71ec, 0x71ed, 0x71ef, 0x71f0, 0x71f1,
    -    0x71f2, 0x71f3, 0x71f4, 0x71f5, 0x71f6, 0x71f7, 0x71f8, 0x71fa,
    -    0x71fb, 0x71fc, 0x71fd, 0x71fe, 0x71ff, 0x7200, 0x7201, 0x7202,
    -    0x7203, 0x7204, 0x7205, 0x7207, 0x7208, 0x7209, 0x720a, 0x720b,
    -    0x720c, 0x720d, 0x720e, 0x720f, 0x7210, 0x7211, 0x7212, 0x7213,
    -    0x7214, 0x7215, 0x7216, 0x7217, 0x7218, 0x7219, 0x721a, 0x003f,
    -    0x721b, 0x721c, 0x721e, 0x721f, 0x7220, 0x7221, 0x7222, 0x7223,
    -    0x7224, 0x7225, 0x7226, 0x7227, 0x7229, 0x722b, 0x722d, 0x722e,
    -    0x722f, 0x7232, 0x7233, 0x7234, 0x723a, 0x723c, 0x723e, 0x7240,
    -    0x7241, 0x7242, 0x7243, 0x7244, 0x7245, 0x7246, 0x7249, 0x724a,
    -    0x724b, 0x724e, 0x724f, 0x7250, 0x7251, 0x7253, 0x7254, 0x7255,
    -    0x7257, 0x7258, 0x725a, 0x725c, 0x725e, 0x7260, 0x7263, 0x7264,
    -    0x7265, 0x7268, 0x726a, 0x726b, 0x726c, 0x726d, 0x7270, 0x7271,
    -    0x7273, 0x7274, 0x7276, 0x7277, 0x7278, 0x727b, 0x727c, 0x727d,
    -    0x7282, 0x7283, 0x7285, 0x7286, 0x7287, 0x7288, 0x7289, 0x728c,
    -    0x728e, 0x7290, 0x7291, 0x7293, 0x7294, 0x7295, 0x7296, 0x7297,
    -    0x7298, 0x7299, 0x729a, 0x729b, 0x729c, 0x729d, 0x729e, 0x72a0,
    -    0x72a1, 0x72a2, 0x72a3, 0x72a4, 0x72a5, 0x72a6, 0x72a7, 0x72a8,
    -    0x72a9, 0x72aa, 0x72ab, 0x72ae, 0x72b1, 0x72b2, 0x72b3, 0x72b5,
    -    0x72ba, 0x72bb, 0x72bc, 0x72bd, 0x72be, 0x72bf, 0x72c0, 0x72c5,
    -    0x72c6, 0x72c7, 0x72c9, 0x72ca, 0x72cb, 0x72cc, 0x72cf, 0x72d1,
    -    0x72d3, 0x72d4, 0x72d5, 0x72d6, 0x72d8, 0x72da, 0x72db, 0x003f,
    -    /* lead byte a1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x3000, 0x3001, 0x3002, 0x00b7, 0x02c9, 0x02c7, 0x00a8,
    -    0x3003, 0x3005, 0x2014, 0xff5e, 0x2016, 0x2026, 0x2018, 0x2019,
    -    0x201c, 0x201d, 0x3014, 0x3015, 0x3008, 0x3009, 0x300a, 0x300b,
    -    0x300c, 0x300d, 0x300e, 0x300f, 0x3016, 0x3017, 0x3010, 0x3011,
    -    0x00b1, 0x00d7, 0x00f7, 0x2236, 0x2227, 0x2228, 0x2211, 0x220f,
    -    0x222a, 0x2229, 0x2208, 0x2237, 0x221a, 0x22a5, 0x2225, 0x2220,
    -    0x2312, 0x2299, 0x222b, 0x222e, 0x2261, 0x224c, 0x2248, 0x223d,
    -    0x221d, 0x2260, 0x226e, 0x226f, 0x2264, 0x2265, 0x221e, 0x2235,
    -    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xff04,
    -    0x00a4, 0xffe0, 0xffe1, 0x2030, 0x00a7, 0x2116, 0x2606, 0x2605,
    -    0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6, 0x25a1, 0x25a0, 0x25b3,
    -    0x25b2, 0x203b, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f,
    -    /* lead byte a2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176,
    -    0x2177, 0x2178, 0x2179, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x2488, 0x2489, 0x248a, 0x248b, 0x248c, 0x248d, 0x248e,
    -    0x248f, 0x2490, 0x2491, 0x2492, 0x2493, 0x2494, 0x2495, 0x2496,
    -    0x2497, 0x2498, 0x2499, 0x249a, 0x249b, 0x2474, 0x2475, 0x2476,
    -    0x2477, 0x2478, 0x2479, 0x247a, 0x247b, 0x247c, 0x247d, 0x247e,
    -    0x247f, 0x2480, 0x2481, 0x2482, 0x2483, 0x2484, 0x2485, 0x2486,
    -    0x2487, 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466,
    -    0x2467, 0x2468, 0x2469, 0x003f, 0x003f, 0x3220, 0x3221, 0x3222,
    -    0x3223, 0x3224, 0x3225, 0x3226, 0x3227, 0x3228, 0x3229, 0x003f,
    -    0x003f, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,
    -    0x2167, 0x2168, 0x2169, 0x216a, 0x216b, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xff01, 0xff02, 0xff03, 0xffe5, 0xff05, 0xff06, 0xff07,
    -    0xff08, 0xff09, 0xff0a, 0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f,
    -    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,
    -    0xff18, 0xff19, 0xff1a, 0xff1b, 0xff1c, 0xff1d, 0xff1e, 0xff1f,
    -    0xff20, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,
    -    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,
    -    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
    -    0xff38, 0xff39, 0xff3a, 0xff3b, 0xff3c, 0xff3d, 0xff3e, 0xff3f,
    -    0xff40, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    -    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    -    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    -    0xff58, 0xff59, 0xff5a, 0xff5b, 0xff5c, 0xff5d, 0xffe3, 0x003f,
    -    /* lead byte a4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,
    -    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
    -    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
    -    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
    -    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,
    -    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,
    -    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,
    -    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
    -    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,
    -    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,
    -    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,
    -    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,
    -    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,
    -    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,
    -    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,
    -    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,
    -    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,
    -    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,
    -    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    -    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    -    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    -    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    -    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,
    -    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    -    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    -    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    -    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfe35, 0xfe36, 0xfe39, 0xfe3a, 0xfe3f, 0xfe40, 0xfe3d, 0xfe3e,
    -    0xfe41, 0xfe42, 0xfe43, 0xfe44, 0x003f, 0x003f, 0xfe3b, 0xfe3c,
    -    0xfe37, 0xfe38, 0xfe31, 0x003f, 0xfe33, 0xfe34, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,
    -    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,
    -    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,
    -    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,
    -    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,
    -    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,
    -    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    -    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    -    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x02ca, 0x02cb, 0x02d9, 0x2013, 0x2015, 0x2025, 0x2035, 0x2105,
    -    0x2109, 0x2196, 0x2197, 0x2198, 0x2199, 0x2215, 0x221f, 0x2223,
    -    0x2252, 0x2266, 0x2267, 0x22bf, 0x2550, 0x2551, 0x2552, 0x2553,
    -    0x2554, 0x2555, 0x2556, 0x2557, 0x2558, 0x2559, 0x255a, 0x255b,
    -    0x255c, 0x255d, 0x255e, 0x255f, 0x2560, 0x2561, 0x2562, 0x2563,
    -    0x2564, 0x2565, 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b,
    -    0x256c, 0x256d, 0x256e, 0x256f, 0x2570, 0x2571, 0x2572, 0x2573,
    -    0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586, 0x2587, 0x003f,
    -    0x2588, 0x2589, 0x258a, 0x258b, 0x258c, 0x258d, 0x258e, 0x258f,
    -    0x2593, 0x2594, 0x2595, 0x25bc, 0x25bd, 0x25e2, 0x25e3, 0x25e4,
    -    0x25e5, 0x2609, 0x2295, 0x3012, 0x301d, 0x301e, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0101, 0x00e1, 0x01ce, 0x00e0, 0x0113, 0x00e9, 0x011b,
    -    0x00e8, 0x012b, 0x00ed, 0x01d0, 0x00ec, 0x014d, 0x00f3, 0x01d2,
    -    0x00f2, 0x016b, 0x00fa, 0x01d4, 0x00f9, 0x01d6, 0x01d8, 0x01da,
    -    0x01dc, 0x00fc, 0x00ea, 0x0251, 0x003f, 0x0144, 0x0148, 0x003f,
    -    0x0261, 0x003f, 0x003f, 0x003f, 0x003f, 0x3105, 0x3106, 0x3107,
    -    0x3108, 0x3109, 0x310a, 0x310b, 0x310c, 0x310d, 0x310e, 0x310f,
    -    0x3110, 0x3111, 0x3112, 0x3113, 0x3114, 0x3115, 0x3116, 0x3117,
    -    0x3118, 0x3119, 0x311a, 0x311b, 0x311c, 0x311d, 0x311e, 0x311f,
    -    0x3120, 0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126, 0x3127,
    -    0x3128, 0x3129, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x3021, 0x3022, 0x3023, 0x3024, 0x3025, 0x3026, 0x3027, 0x3028,
    -    0x3029, 0x32a3, 0x338e, 0x338f, 0x339c, 0x339d, 0x339e, 0x33a1,
    -    0x33c4, 0x33ce, 0x33d1, 0x33d2, 0x33d5, 0xfe30, 0xffe2, 0xffe4,
    -    0x003f, 0x2121, 0x3231, 0x003f, 0x2010, 0x003f, 0x003f, 0x003f,
    -    0x30fc, 0x309b, 0x309c, 0x30fd, 0x30fe, 0x3006, 0x309d, 0x309e,
    -    0xfe49, 0xfe4a, 0xfe4b, 0xfe4c, 0xfe4d, 0xfe4e, 0xfe4f, 0xfe50,
    -    0xfe51, 0xfe52, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xfe59, 0xfe5a,
    -    0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0xfe5f, 0xfe60, 0xfe61, 0x003f,
    -    0xfe62, 0xfe63, 0xfe64, 0xfe65, 0xfe66, 0xfe68, 0xfe69, 0xfe6a,
    -    0xfe6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x3007, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x2500, 0x2501, 0x2502, 0x2503,
    -    0x2504, 0x2505, 0x2506, 0x2507, 0x2508, 0x2509, 0x250a, 0x250b,
    -    0x250c, 0x250d, 0x250e, 0x250f, 0x2510, 0x2511, 0x2512, 0x2513,
    -    0x2514, 0x2515, 0x2516, 0x2517, 0x2518, 0x2519, 0x251a, 0x251b,
    -    0x251c, 0x251d, 0x251e, 0x251f, 0x2520, 0x2521, 0x2522, 0x2523,
    -    0x2524, 0x2525, 0x2526, 0x2527, 0x2528, 0x2529, 0x252a, 0x252b,
    -    0x252c, 0x252d, 0x252e, 0x252f, 0x2530, 0x2531, 0x2532, 0x2533,
    -    0x2534, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253a, 0x253b,
    -    0x253c, 0x253d, 0x253e, 0x253f, 0x2540, 0x2541, 0x2542, 0x2543,
    -    0x2544, 0x2545, 0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x254b,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte aa */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x72dc, 0x72dd, 0x72df, 0x72e2, 0x72e3, 0x72e4, 0x72e5, 0x72e6,
    -    0x72e7, 0x72ea, 0x72eb, 0x72f5, 0x72f6, 0x72f9, 0x72fd, 0x72fe,
    -    0x72ff, 0x7300, 0x7302, 0x7304, 0x7305, 0x7306, 0x7307, 0x7308,
    -    0x7309, 0x730b, 0x730c, 0x730d, 0x730f, 0x7310, 0x7311, 0x7312,
    -    0x7314, 0x7318, 0x7319, 0x731a, 0x731f, 0x7320, 0x7323, 0x7324,
    -    0x7326, 0x7327, 0x7328, 0x732d, 0x732f, 0x7330, 0x7332, 0x7333,
    -    0x7335, 0x7336, 0x733a, 0x733b, 0x733c, 0x733d, 0x7340, 0x7341,
    -    0x7342, 0x7343, 0x7344, 0x7345, 0x7346, 0x7347, 0x7348, 0x003f,
    -    0x7349, 0x734a, 0x734b, 0x734c, 0x734e, 0x734f, 0x7351, 0x7353,
    -    0x7354, 0x7355, 0x7356, 0x7358, 0x7359, 0x735a, 0x735b, 0x735c,
    -    0x735d, 0x735e, 0x735f, 0x7361, 0x7362, 0x7363, 0x7364, 0x7365,
    -    0x7366, 0x7367, 0x7368, 0x7369, 0x736a, 0x736b, 0x736e, 0x7370,
    -    0x7371, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ab */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7372, 0x7373, 0x7374, 0x7375, 0x7376, 0x7377, 0x7378, 0x7379,
    -    0x737a, 0x737b, 0x737c, 0x737d, 0x737f, 0x7380, 0x7381, 0x7382,
    -    0x7383, 0x7385, 0x7386, 0x7388, 0x738a, 0x738c, 0x738d, 0x738f,
    -    0x7390, 0x7392, 0x7393, 0x7394, 0x7395, 0x7397, 0x7398, 0x7399,
    -    0x739a, 0x739c, 0x739d, 0x739e, 0x73a0, 0x73a1, 0x73a3, 0x73a4,
    -    0x73a5, 0x73a6, 0x73a7, 0x73a8, 0x73aa, 0x73ac, 0x73ad, 0x73b1,
    -    0x73b4, 0x73b5, 0x73b6, 0x73b8, 0x73b9, 0x73bc, 0x73bd, 0x73be,
    -    0x73bf, 0x73c1, 0x73c3, 0x73c4, 0x73c5, 0x73c6, 0x73c7, 0x003f,
    -    0x73cb, 0x73cc, 0x73ce, 0x73d2, 0x73d3, 0x73d4, 0x73d5, 0x73d6,
    -    0x73d7, 0x73d8, 0x73da, 0x73db, 0x73dc, 0x73dd, 0x73df, 0x73e1,
    -    0x73e2, 0x73e3, 0x73e4, 0x73e6, 0x73e8, 0x73ea, 0x73eb, 0x73ec,
    -    0x73ee, 0x73ef, 0x73f0, 0x73f1, 0x73f3, 0x73f4, 0x73f5, 0x73f6,
    -    0x73f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ac */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x73f8, 0x73f9, 0x73fa, 0x73fb, 0x73fc, 0x73fd, 0x73fe, 0x73ff,
    -    0x7400, 0x7401, 0x7402, 0x7404, 0x7407, 0x7408, 0x740b, 0x740c,
    -    0x740d, 0x740e, 0x7411, 0x7412, 0x7413, 0x7414, 0x7415, 0x7416,
    -    0x7417, 0x7418, 0x7419, 0x741c, 0x741d, 0x741e, 0x741f, 0x7420,
    -    0x7421, 0x7423, 0x7424, 0x7427, 0x7429, 0x742b, 0x742d, 0x742f,
    -    0x7431, 0x7432, 0x7437, 0x7438, 0x7439, 0x743a, 0x743b, 0x743d,
    -    0x743e, 0x743f, 0x7440, 0x7442, 0x7443, 0x7444, 0x7445, 0x7446,
    -    0x7447, 0x7448, 0x7449, 0x744a, 0x744b, 0x744c, 0x744d, 0x003f,
    -    0x744e, 0x744f, 0x7450, 0x7451, 0x7452, 0x7453, 0x7454, 0x7456,
    -    0x7458, 0x745d, 0x7460, 0x7461, 0x7462, 0x7463, 0x7464, 0x7465,
    -    0x7466, 0x7467, 0x7468, 0x7469, 0x746a, 0x746b, 0x746c, 0x746e,
    -    0x746f, 0x7471, 0x7472, 0x7473, 0x7474, 0x7475, 0x7478, 0x7479,
    -    0x747a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ad */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x747b, 0x747c, 0x747d, 0x747f, 0x7482, 0x7484, 0x7485, 0x7486,
    -    0x7488, 0x7489, 0x748a, 0x748c, 0x748d, 0x748f, 0x7491, 0x7492,
    -    0x7493, 0x7494, 0x7495, 0x7496, 0x7497, 0x7498, 0x7499, 0x749a,
    -    0x749b, 0x749d, 0x749f, 0x74a0, 0x74a1, 0x74a2, 0x74a3, 0x74a4,
    -    0x74a5, 0x74a6, 0x74aa, 0x74ab, 0x74ac, 0x74ad, 0x74ae, 0x74af,
    -    0x74b0, 0x74b1, 0x74b2, 0x74b3, 0x74b4, 0x74b5, 0x74b6, 0x74b7,
    -    0x74b8, 0x74b9, 0x74bb, 0x74bc, 0x74bd, 0x74be, 0x74bf, 0x74c0,
    -    0x74c1, 0x74c2, 0x74c3, 0x74c4, 0x74c5, 0x74c6, 0x74c7, 0x003f,
    -    0x74c8, 0x74c9, 0x74ca, 0x74cb, 0x74cc, 0x74cd, 0x74ce, 0x74cf,
    -    0x74d0, 0x74d1, 0x74d3, 0x74d4, 0x74d5, 0x74d6, 0x74d7, 0x74d8,
    -    0x74d9, 0x74da, 0x74db, 0x74dd, 0x74df, 0x74e1, 0x74e5, 0x74e7,
    -    0x74e8, 0x74e9, 0x74ea, 0x74eb, 0x74ec, 0x74ed, 0x74f0, 0x74f1,
    -    0x74f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ae */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x74f3, 0x74f5, 0x74f8, 0x74f9, 0x74fa, 0x74fb, 0x74fc, 0x74fd,
    -    0x74fe, 0x7500, 0x7501, 0x7502, 0x7503, 0x7505, 0x7506, 0x7507,
    -    0x7508, 0x7509, 0x750a, 0x750b, 0x750c, 0x750e, 0x7510, 0x7512,
    -    0x7514, 0x7515, 0x7516, 0x7517, 0x751b, 0x751d, 0x751e, 0x7520,
    -    0x7521, 0x7522, 0x7523, 0x7524, 0x7526, 0x7527, 0x752a, 0x752e,
    -    0x7534, 0x7536, 0x7539, 0x753c, 0x753d, 0x753f, 0x7541, 0x7542,
    -    0x7543, 0x7544, 0x7546, 0x7547, 0x7549, 0x754a, 0x754d, 0x7550,
    -    0x7551, 0x7552, 0x7553, 0x7555, 0x7556, 0x7557, 0x7558, 0x003f,
    -    0x755d, 0x755e, 0x755f, 0x7560, 0x7561, 0x7562, 0x7563, 0x7564,
    -    0x7567, 0x7568, 0x7569, 0x756b, 0x756c, 0x756d, 0x756e, 0x756f,
    -    0x7570, 0x7571, 0x7573, 0x7575, 0x7576, 0x7577, 0x757a, 0x757b,
    -    0x757c, 0x757d, 0x757e, 0x7580, 0x7581, 0x7582, 0x7584, 0x7585,
    -    0x7587, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte af */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7588, 0x7589, 0x758a, 0x758c, 0x758d, 0x758e, 0x7590, 0x7593,
    -    0x7595, 0x7598, 0x759b, 0x759c, 0x759e, 0x75a2, 0x75a6, 0x75a7,
    -    0x75a8, 0x75a9, 0x75aa, 0x75ad, 0x75b6, 0x75b7, 0x75ba, 0x75bb,
    -    0x75bf, 0x75c0, 0x75c1, 0x75c6, 0x75cb, 0x75cc, 0x75ce, 0x75cf,
    -    0x75d0, 0x75d1, 0x75d3, 0x75d7, 0x75d9, 0x75da, 0x75dc, 0x75dd,
    -    0x75df, 0x75e0, 0x75e1, 0x75e5, 0x75e9, 0x75ec, 0x75ed, 0x75ee,
    -    0x75ef, 0x75f2, 0x75f3, 0x75f5, 0x75f6, 0x75f7, 0x75f8, 0x75fa,
    -    0x75fb, 0x75fd, 0x75fe, 0x7602, 0x7604, 0x7606, 0x7607, 0x003f,
    -    0x7608, 0x7609, 0x760b, 0x760d, 0x760e, 0x760f, 0x7611, 0x7612,
    -    0x7613, 0x7614, 0x7616, 0x761a, 0x761c, 0x761d, 0x761e, 0x7621,
    -    0x7623, 0x7627, 0x7628, 0x762c, 0x762e, 0x762f, 0x7631, 0x7632,
    -    0x7636, 0x7637, 0x7639, 0x763a, 0x763b, 0x763d, 0x7641, 0x7642,
    -    0x7644, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte b0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7645, 0x7646, 0x7647, 0x7648, 0x7649, 0x764a, 0x764b, 0x764e,
    -    0x764f, 0x7650, 0x7651, 0x7652, 0x7653, 0x7655, 0x7657, 0x7658,
    -    0x7659, 0x765a, 0x765b, 0x765d, 0x765f, 0x7660, 0x7661, 0x7662,
    -    0x7664, 0x7665, 0x7666, 0x7667, 0x7668, 0x7669, 0x766a, 0x766c,
    -    0x766d, 0x766e, 0x7670, 0x7671, 0x7672, 0x7673, 0x7674, 0x7675,
    -    0x7676, 0x7677, 0x7679, 0x767a, 0x767c, 0x767f, 0x7680, 0x7681,
    -    0x7683, 0x7685, 0x7689, 0x768a, 0x768c, 0x768d, 0x768f, 0x7690,
    -    0x7692, 0x7694, 0x7695, 0x7697, 0x7698, 0x769a, 0x769b, 0x003f,
    -    0x769c, 0x769d, 0x769e, 0x769f, 0x76a0, 0x76a1, 0x76a2, 0x76a3,
    -    0x76a5, 0x76a6, 0x76a7, 0x76a8, 0x76a9, 0x76aa, 0x76ab, 0x76ac,
    -    0x76ad, 0x76af, 0x76b0, 0x76b3, 0x76b5, 0x76b6, 0x76b7, 0x76b8,
    -    0x76b9, 0x76ba, 0x76bb, 0x76bc, 0x76bd, 0x76be, 0x76c0, 0x76c1,
    -    0x76c3, 0x554a, 0x963f, 0x57c3, 0x6328, 0x54ce, 0x5509, 0x54c0,
    -    0x7691, 0x764c, 0x853c, 0x77ee, 0x827e, 0x788d, 0x7231, 0x9698,
    -    0x978d, 0x6c28, 0x5b89, 0x4ffa, 0x6309, 0x6697, 0x5cb8, 0x80fa,
    -    0x6848, 0x80ae, 0x6602, 0x76ce, 0x51f9, 0x6556, 0x71ac, 0x7ff1,
    -    0x8884, 0x50b2, 0x5965, 0x61ca, 0x6fb3, 0x82ad, 0x634c, 0x6252,
    -    0x53ed, 0x5427, 0x7b06, 0x516b, 0x75a4, 0x5df4, 0x62d4, 0x8dcb,
    -    0x9776, 0x628a, 0x8019, 0x575d, 0x9738, 0x7f62, 0x7238, 0x767d,
    -    0x67cf, 0x767e, 0x6446, 0x4f70, 0x8d25, 0x62dc, 0x7a17, 0x6591,
    -    0x73ed, 0x642c, 0x6273, 0x822c, 0x9881, 0x677f, 0x7248, 0x626e,
    -    0x62cc, 0x4f34, 0x74e3, 0x534a, 0x529e, 0x7eca, 0x90a6, 0x5e2e,
    -    0x6886, 0x699c, 0x8180, 0x7ed1, 0x68d2, 0x78c5, 0x868c, 0x9551,
    -    0x508d, 0x8c24, 0x82de, 0x80de, 0x5305, 0x8912, 0x5265, 0x003f,
    -    /* lead byte b1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x76c4, 0x76c7, 0x76c9, 0x76cb, 0x76cc, 0x76d3, 0x76d5, 0x76d9,
    -    0x76da, 0x76dc, 0x76dd, 0x76de, 0x76e0, 0x76e1, 0x76e2, 0x76e3,
    -    0x76e4, 0x76e6, 0x76e7, 0x76e8, 0x76e9, 0x76ea, 0x76eb, 0x76ec,
    -    0x76ed, 0x76f0, 0x76f3, 0x76f5, 0x76f6, 0x76f7, 0x76fa, 0x76fb,
    -    0x76fd, 0x76ff, 0x7700, 0x7702, 0x7703, 0x7705, 0x7706, 0x770a,
    -    0x770c, 0x770e, 0x770f, 0x7710, 0x7711, 0x7712, 0x7713, 0x7714,
    -    0x7715, 0x7716, 0x7717, 0x7718, 0x771b, 0x771c, 0x771d, 0x771e,
    -    0x7721, 0x7723, 0x7724, 0x7725, 0x7727, 0x772a, 0x772b, 0x003f,
    -    0x772c, 0x772e, 0x7730, 0x7731, 0x7732, 0x7733, 0x7734, 0x7739,
    -    0x773b, 0x773d, 0x773e, 0x773f, 0x7742, 0x7744, 0x7745, 0x7746,
    -    0x7748, 0x7749, 0x774a, 0x774b, 0x774c, 0x774d, 0x774e, 0x774f,
    -    0x7752, 0x7753, 0x7754, 0x7755, 0x7756, 0x7757, 0x7758, 0x7759,
    -    0x775c, 0x8584, 0x96f9, 0x4fdd, 0x5821, 0x9971, 0x5b9d, 0x62b1,
    -    0x62a5, 0x66b4, 0x8c79, 0x9c8d, 0x7206, 0x676f, 0x7891, 0x60b2,
    -    0x5351, 0x5317, 0x8f88, 0x80cc, 0x8d1d, 0x94a1, 0x500d, 0x72c8,
    -    0x5907, 0x60eb, 0x7119, 0x88ab, 0x5954, 0x82ef, 0x672c, 0x7b28,
    -    0x5d29, 0x7ef7, 0x752d, 0x6cf5, 0x8e66, 0x8ff8, 0x903c, 0x9f3b,
    -    0x6bd4, 0x9119, 0x7b14, 0x5f7c, 0x78a7, 0x84d6, 0x853d, 0x6bd5,
    -    0x6bd9, 0x6bd6, 0x5e01, 0x5e87, 0x75f9, 0x95ed, 0x655d, 0x5f0a,
    -    0x5fc5, 0x8f9f, 0x58c1, 0x81c2, 0x907f, 0x965b, 0x97ad, 0x8fb9,
    -    0x7f16, 0x8d2c, 0x6241, 0x4fbf, 0x53d8, 0x535e, 0x8fa8, 0x8fa9,
    -    0x8fab, 0x904d, 0x6807, 0x5f6a, 0x8198, 0x8868, 0x9cd6, 0x618b,
    -    0x522b, 0x762a, 0x5f6c, 0x658c, 0x6fd2, 0x6ee8, 0x5bbe, 0x6448,
    -    0x5175, 0x51b0, 0x67c4, 0x4e19, 0x79c9, 0x997c, 0x70b3, 0x003f,
    -    /* lead byte b2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x775d, 0x775e, 0x775f, 0x7760, 0x7764, 0x7767, 0x7769, 0x776a,
    -    0x776d, 0x776e, 0x776f, 0x7770, 0x7771, 0x7772, 0x7773, 0x7774,
    -    0x7775, 0x7776, 0x7777, 0x7778, 0x777a, 0x777b, 0x777c, 0x7781,
    -    0x7782, 0x7783, 0x7786, 0x7787, 0x7788, 0x7789, 0x778a, 0x778b,
    -    0x778f, 0x7790, 0x7793, 0x7794, 0x7795, 0x7796, 0x7797, 0x7798,
    -    0x7799, 0x779a, 0x779b, 0x779c, 0x779d, 0x779e, 0x77a1, 0x77a3,
    -    0x77a4, 0x77a6, 0x77a8, 0x77ab, 0x77ad, 0x77ae, 0x77af, 0x77b1,
    -    0x77b2, 0x77b4, 0x77b6, 0x77b7, 0x77b8, 0x77b9, 0x77ba, 0x003f,
    -    0x77bc, 0x77be, 0x77c0, 0x77c1, 0x77c2, 0x77c3, 0x77c4, 0x77c5,
    -    0x77c6, 0x77c7, 0x77c8, 0x77c9, 0x77ca, 0x77cb, 0x77cc, 0x77ce,
    -    0x77cf, 0x77d0, 0x77d1, 0x77d2, 0x77d3, 0x77d4, 0x77d5, 0x77d6,
    -    0x77d8, 0x77d9, 0x77da, 0x77dd, 0x77de, 0x77df, 0x77e0, 0x77e1,
    -    0x77e4, 0x75c5, 0x5e76, 0x73bb, 0x83e0, 0x64ad, 0x62e8, 0x94b5,
    -    0x6ce2, 0x535a, 0x52c3, 0x640f, 0x94c2, 0x7b94, 0x4f2f, 0x5e1b,
    -    0x8236, 0x8116, 0x818a, 0x6e24, 0x6cca, 0x9a73, 0x6355, 0x535c,
    -    0x54fa, 0x8865, 0x57e0, 0x4e0d, 0x5e03, 0x6b65, 0x7c3f, 0x90e8,
    -    0x6016, 0x64e6, 0x731c, 0x88c1, 0x6750, 0x624d, 0x8d22, 0x776c,
    -    0x8e29, 0x91c7, 0x5f69, 0x83dc, 0x8521, 0x9910, 0x53c2, 0x8695,
    -    0x6b8b, 0x60ed, 0x60e8, 0x707f, 0x82cd, 0x8231, 0x4ed3, 0x6ca7,
    -    0x85cf, 0x64cd, 0x7cd9, 0x69fd, 0x66f9, 0x8349, 0x5395, 0x7b56,
    -    0x4fa7, 0x518c, 0x6d4b, 0x5c42, 0x8e6d, 0x63d2, 0x53c9, 0x832c,
    -    0x8336, 0x67e5, 0x78b4, 0x643d, 0x5bdf, 0x5c94, 0x5dee, 0x8be7,
    -    0x62c6, 0x67f4, 0x8c7a, 0x6400, 0x63ba, 0x8749, 0x998b, 0x8c17,
    -    0x7f20, 0x94f2, 0x4ea7, 0x9610, 0x98a4, 0x660c, 0x7316, 0x003f,
    -    /* lead byte b3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x77e6, 0x77e8, 0x77ea, 0x77ef, 0x77f0, 0x77f1, 0x77f2, 0x77f4,
    -    0x77f5, 0x77f7, 0x77f9, 0x77fa, 0x77fb, 0x77fc, 0x7803, 0x7804,
    -    0x7805, 0x7806, 0x7807, 0x7808, 0x780a, 0x780b, 0x780e, 0x780f,
    -    0x7810, 0x7813, 0x7815, 0x7819, 0x781b, 0x781e, 0x7820, 0x7821,
    -    0x7822, 0x7824, 0x7828, 0x782a, 0x782b, 0x782e, 0x782f, 0x7831,
    -    0x7832, 0x7833, 0x7835, 0x7836, 0x783d, 0x783f, 0x7841, 0x7842,
    -    0x7843, 0x7844, 0x7846, 0x7848, 0x7849, 0x784a, 0x784b, 0x784d,
    -    0x784f, 0x7851, 0x7853, 0x7854, 0x7858, 0x7859, 0x785a, 0x003f,
    -    0x785b, 0x785c, 0x785e, 0x785f, 0x7860, 0x7861, 0x7862, 0x7863,
    -    0x7864, 0x7865, 0x7866, 0x7867, 0x7868, 0x7869, 0x786f, 0x7870,
    -    0x7871, 0x7872, 0x7873, 0x7874, 0x7875, 0x7876, 0x7878, 0x7879,
    -    0x787a, 0x787b, 0x787d, 0x787e, 0x787f, 0x7880, 0x7881, 0x7882,
    -    0x7883, 0x573a, 0x5c1d, 0x5e38, 0x957f, 0x507f, 0x80a0, 0x5382,
    -    0x655e, 0x7545, 0x5531, 0x5021, 0x8d85, 0x6284, 0x949e, 0x671d,
    -    0x5632, 0x6f6e, 0x5de2, 0x5435, 0x7092, 0x8f66, 0x626f, 0x64a4,
    -    0x63a3, 0x5f7b, 0x6f88, 0x90f4, 0x81e3, 0x8fb0, 0x5c18, 0x6668,
    -    0x5ff1, 0x6c89, 0x9648, 0x8d81, 0x886c, 0x6491, 0x79f0, 0x57ce,
    -    0x6a59, 0x6210, 0x5448, 0x4e58, 0x7a0b, 0x60e9, 0x6f84, 0x8bda,
    -    0x627f, 0x901e, 0x9a8b, 0x79e4, 0x5403, 0x75f4, 0x6301, 0x5319,
    -    0x6c60, 0x8fdf, 0x5f1b, 0x9a70, 0x803b, 0x9f7f, 0x4f88, 0x5c3a,
    -    0x8d64, 0x7fc5, 0x65a5, 0x70bd, 0x5145, 0x51b2, 0x866b, 0x5d07,
    -    0x5ba0, 0x62bd, 0x916c, 0x7574, 0x8e0c, 0x7a20, 0x6101, 0x7b79,
    -    0x4ec7, 0x7ef8, 0x7785, 0x4e11, 0x81ed, 0x521d, 0x51fa, 0x6a71,
    -    0x53a8, 0x8e87, 0x9504, 0x96cf, 0x6ec1, 0x9664, 0x695a, 0x003f,
    -    /* lead byte b4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7884, 0x7885, 0x7886, 0x7888, 0x788a, 0x788b, 0x788f, 0x7890,
    -    0x7892, 0x7894, 0x7895, 0x7896, 0x7899, 0x789d, 0x789e, 0x78a0,
    -    0x78a2, 0x78a4, 0x78a6, 0x78a8, 0x78a9, 0x78aa, 0x78ab, 0x78ac,
    -    0x78ad, 0x78ae, 0x78af, 0x78b5, 0x78b6, 0x78b7, 0x78b8, 0x78ba,
    -    0x78bb, 0x78bc, 0x78bd, 0x78bf, 0x78c0, 0x78c2, 0x78c3, 0x78c4,
    -    0x78c6, 0x78c7, 0x78c8, 0x78cc, 0x78cd, 0x78ce, 0x78cf, 0x78d1,
    -    0x78d2, 0x78d3, 0x78d6, 0x78d7, 0x78d8, 0x78da, 0x78db, 0x78dc,
    -    0x78dd, 0x78de, 0x78df, 0x78e0, 0x78e1, 0x78e2, 0x78e3, 0x003f,
    -    0x78e4, 0x78e5, 0x78e6, 0x78e7, 0x78e9, 0x78ea, 0x78eb, 0x78ed,
    -    0x78ee, 0x78ef, 0x78f0, 0x78f1, 0x78f3, 0x78f5, 0x78f6, 0x78f8,
    -    0x78f9, 0x78fb, 0x78fc, 0x78fd, 0x78fe, 0x78ff, 0x7900, 0x7902,
    -    0x7903, 0x7904, 0x7906, 0x7907, 0x7908, 0x7909, 0x790a, 0x790b,
    -    0x790c, 0x7840, 0x50a8, 0x77d7, 0x6410, 0x89e6, 0x5904, 0x63e3,
    -    0x5ddd, 0x7a7f, 0x693d, 0x4f20, 0x8239, 0x5598, 0x4e32, 0x75ae,
    -    0x7a97, 0x5e62, 0x5e8a, 0x95ef, 0x521b, 0x5439, 0x708a, 0x6376,
    -    0x9524, 0x5782, 0x6625, 0x693f, 0x9187, 0x5507, 0x6df3, 0x7eaf,
    -    0x8822, 0x6233, 0x7ef0, 0x75b5, 0x8328, 0x78c1, 0x96cc, 0x8f9e,
    -    0x6148, 0x74f7, 0x8bcd, 0x6b64, 0x523a, 0x8d50, 0x6b21, 0x806a,
    -    0x8471, 0x56f1, 0x5306, 0x4ece, 0x4e1b, 0x51d1, 0x7c97, 0x918b,
    -    0x7c07, 0x4fc3, 0x8e7f, 0x7be1, 0x7a9c, 0x6467, 0x5d14, 0x50ac,
    -    0x8106, 0x7601, 0x7cb9, 0x6dec, 0x7fe0, 0x6751, 0x5b58, 0x5bf8,
    -    0x78cb, 0x64ae, 0x6413, 0x63aa, 0x632b, 0x9519, 0x642d, 0x8fbe,
    -    0x7b54, 0x7629, 0x6253, 0x5927, 0x5446, 0x6b79, 0x50a3, 0x6234,
    -    0x5e26, 0x6b86, 0x4ee3, 0x8d37, 0x888b, 0x5f85, 0x902e, 0x003f,
    -    /* lead byte b5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x790d, 0x790e, 0x790f, 0x7910, 0x7911, 0x7912, 0x7914, 0x7915,
    -    0x7916, 0x7917, 0x7918, 0x7919, 0x791a, 0x791b, 0x791c, 0x791d,
    -    0x791f, 0x7920, 0x7921, 0x7922, 0x7923, 0x7925, 0x7926, 0x7927,
    -    0x7928, 0x7929, 0x792a, 0x792b, 0x792c, 0x792d, 0x792e, 0x792f,
    -    0x7930, 0x7931, 0x7932, 0x7933, 0x7935, 0x7936, 0x7937, 0x7938,
    -    0x7939, 0x793d, 0x793f, 0x7942, 0x7943, 0x7944, 0x7945, 0x7947,
    -    0x794a, 0x794b, 0x794c, 0x794d, 0x794e, 0x794f, 0x7950, 0x7951,
    -    0x7952, 0x7954, 0x7955, 0x7958, 0x7959, 0x7961, 0x7963, 0x003f,
    -    0x7964, 0x7966, 0x7969, 0x796a, 0x796b, 0x796c, 0x796e, 0x7970,
    -    0x7971, 0x7972, 0x7973, 0x7974, 0x7975, 0x7976, 0x7979, 0x797b,
    -    0x797c, 0x797d, 0x797e, 0x797f, 0x7982, 0x7983, 0x7986, 0x7987,
    -    0x7988, 0x7989, 0x798b, 0x798c, 0x798d, 0x798e, 0x7990, 0x7991,
    -    0x7992, 0x6020, 0x803d, 0x62c5, 0x4e39, 0x5355, 0x90f8, 0x63b8,
    -    0x80c6, 0x65e6, 0x6c2e, 0x4f46, 0x60ee, 0x6de1, 0x8bde, 0x5f39,
    -    0x86cb, 0x5f53, 0x6321, 0x515a, 0x8361, 0x6863, 0x5200, 0x6363,
    -    0x8e48, 0x5012, 0x5c9b, 0x7977, 0x5bfc, 0x5230, 0x7a3b, 0x60bc,
    -    0x9053, 0x76d7, 0x5fb7, 0x5f97, 0x7684, 0x8e6c, 0x706f, 0x767b,
    -    0x7b49, 0x77aa, 0x51f3, 0x9093, 0x5824, 0x4f4e, 0x6ef4, 0x8fea,
    -    0x654c, 0x7b1b, 0x72c4, 0x6da4, 0x7fdf, 0x5ae1, 0x62b5, 0x5e95,
    -    0x5730, 0x8482, 0x7b2c, 0x5e1d, 0x5f1f, 0x9012, 0x7f14, 0x98a0,
    -    0x6382, 0x6ec7, 0x7898, 0x70b9, 0x5178, 0x975b, 0x57ab, 0x7535,
    -    0x4f43, 0x7538, 0x5e97, 0x60e6, 0x5960, 0x6dc0, 0x6bbf, 0x7889,
    -    0x53fc, 0x96d5, 0x51cb, 0x5201, 0x6389, 0x540a, 0x9493, 0x8c03,
    -    0x8dcc, 0x7239, 0x789f, 0x8776, 0x8fed, 0x8c0d, 0x53e0, 0x003f,
    -    /* lead byte b6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7993, 0x7994, 0x7995, 0x7996, 0x7997, 0x7998, 0x7999, 0x799b,
    -    0x799c, 0x799d, 0x799e, 0x799f, 0x79a0, 0x79a1, 0x79a2, 0x79a3,
    -    0x79a4, 0x79a5, 0x79a6, 0x79a8, 0x79a9, 0x79aa, 0x79ab, 0x79ac,
    -    0x79ad, 0x79ae, 0x79af, 0x79b0, 0x79b1, 0x79b2, 0x79b4, 0x79b5,
    -    0x79b6, 0x79b7, 0x79b8, 0x79bc, 0x79bf, 0x79c2, 0x79c4, 0x79c5,
    -    0x79c7, 0x79c8, 0x79ca, 0x79cc, 0x79ce, 0x79cf, 0x79d0, 0x79d3,
    -    0x79d4, 0x79d6, 0x79d7, 0x79d9, 0x79da, 0x79db, 0x79dc, 0x79dd,
    -    0x79de, 0x79e0, 0x79e1, 0x79e2, 0x79e5, 0x79e8, 0x79ea, 0x003f,
    -    0x79ec, 0x79ee, 0x79f1, 0x79f2, 0x79f3, 0x79f4, 0x79f5, 0x79f6,
    -    0x79f7, 0x79f9, 0x79fa, 0x79fc, 0x79fe, 0x79ff, 0x7a01, 0x7a04,
    -    0x7a05, 0x7a07, 0x7a08, 0x7a09, 0x7a0a, 0x7a0c, 0x7a0f, 0x7a10,
    -    0x7a11, 0x7a12, 0x7a13, 0x7a15, 0x7a16, 0x7a18, 0x7a19, 0x7a1b,
    -    0x7a1c, 0x4e01, 0x76ef, 0x53ee, 0x9489, 0x9876, 0x9f0e, 0x952d,
    -    0x5b9a, 0x8ba2, 0x4e22, 0x4e1c, 0x51ac, 0x8463, 0x61c2, 0x52a8,
    -    0x680b, 0x4f97, 0x606b, 0x51bb, 0x6d1e, 0x515c, 0x6296, 0x6597,
    -    0x9661, 0x8c46, 0x9017, 0x75d8, 0x90fd, 0x7763, 0x6bd2, 0x728a,
    -    0x72ec, 0x8bfb, 0x5835, 0x7779, 0x8d4c, 0x675c, 0x9540, 0x809a,
    -    0x5ea6, 0x6e21, 0x5992, 0x7aef, 0x77ed, 0x953b, 0x6bb5, 0x65ad,
    -    0x7f0e, 0x5806, 0x5151, 0x961f, 0x5bf9, 0x58a9, 0x5428, 0x8e72,
    -    0x6566, 0x987f, 0x56e4, 0x949d, 0x76fe, 0x9041, 0x6387, 0x54c6,
    -    0x591a, 0x593a, 0x579b, 0x8eb2, 0x6735, 0x8dfa, 0x8235, 0x5241,
    -    0x60f0, 0x5815, 0x86fe, 0x5ce8, 0x9e45, 0x4fc4, 0x989d, 0x8bb9,
    -    0x5a25, 0x6076, 0x5384, 0x627c, 0x904f, 0x9102, 0x997f, 0x6069,
    -    0x800c, 0x513f, 0x8033, 0x5c14, 0x9975, 0x6d31, 0x4e8c, 0x003f,
    -    /* lead byte b7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7a1d, 0x7a1f, 0x7a21, 0x7a22, 0x7a24, 0x7a25, 0x7a26, 0x7a27,
    -    0x7a28, 0x7a29, 0x7a2a, 0x7a2b, 0x7a2c, 0x7a2d, 0x7a2e, 0x7a2f,
    -    0x7a30, 0x7a31, 0x7a32, 0x7a34, 0x7a35, 0x7a36, 0x7a38, 0x7a3a,
    -    0x7a3e, 0x7a40, 0x7a41, 0x7a42, 0x7a43, 0x7a44, 0x7a45, 0x7a47,
    -    0x7a48, 0x7a49, 0x7a4a, 0x7a4b, 0x7a4c, 0x7a4d, 0x7a4e, 0x7a4f,
    -    0x7a50, 0x7a52, 0x7a53, 0x7a54, 0x7a55, 0x7a56, 0x7a58, 0x7a59,
    -    0x7a5a, 0x7a5b, 0x7a5c, 0x7a5d, 0x7a5e, 0x7a5f, 0x7a60, 0x7a61,
    -    0x7a62, 0x7a63, 0x7a64, 0x7a65, 0x7a66, 0x7a67, 0x7a68, 0x003f,
    -    0x7a69, 0x7a6a, 0x7a6b, 0x7a6c, 0x7a6d, 0x7a6e, 0x7a6f, 0x7a71,
    -    0x7a72, 0x7a73, 0x7a75, 0x7a7b, 0x7a7c, 0x7a7d, 0x7a7e, 0x7a82,
    -    0x7a85, 0x7a87, 0x7a89, 0x7a8a, 0x7a8b, 0x7a8c, 0x7a8e, 0x7a8f,
    -    0x7a90, 0x7a93, 0x7a94, 0x7a99, 0x7a9a, 0x7a9b, 0x7a9e, 0x7aa1,
    -    0x7aa2, 0x8d30, 0x53d1, 0x7f5a, 0x7b4f, 0x4f10, 0x4e4f, 0x9600,
    -    0x6cd5, 0x73d0, 0x85e9, 0x5e06, 0x756a, 0x7ffb, 0x6a0a, 0x77fe,
    -    0x9492, 0x7e41, 0x51e1, 0x70e6, 0x53cd, 0x8fd4, 0x8303, 0x8d29,
    -    0x72af, 0x996d, 0x6cdb, 0x574a, 0x82b3, 0x65b9, 0x80aa, 0x623f,
    -    0x9632, 0x59a8, 0x4eff, 0x8bbf, 0x7eba, 0x653e, 0x83f2, 0x975e,
    -    0x5561, 0x98de, 0x80a5, 0x532a, 0x8bfd, 0x5420, 0x80ba, 0x5e9f,
    -    0x6cb8, 0x8d39, 0x82ac, 0x915a, 0x5429, 0x6c1b, 0x5206, 0x7eb7,
    -    0x575f, 0x711a, 0x6c7e, 0x7c89, 0x594b, 0x4efd, 0x5fff, 0x6124,
    -    0x7caa, 0x4e30, 0x5c01, 0x67ab, 0x8702, 0x5cf0, 0x950b, 0x98ce,
    -    0x75af, 0x70fd, 0x9022, 0x51af, 0x7f1d, 0x8bbd, 0x5949, 0x51e4,
    -    0x4f5b, 0x5426, 0x592b, 0x6577, 0x80a4, 0x5b75, 0x6276, 0x62c2,
    -    0x8f90, 0x5e45, 0x6c1f, 0x7b26, 0x4f0f, 0x4fd8, 0x670d, 0x003f,
    -    /* lead byte b8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7aa3, 0x7aa4, 0x7aa7, 0x7aa9, 0x7aaa, 0x7aab, 0x7aae, 0x7aaf,
    -    0x7ab0, 0x7ab1, 0x7ab2, 0x7ab4, 0x7ab5, 0x7ab6, 0x7ab7, 0x7ab8,
    -    0x7ab9, 0x7aba, 0x7abb, 0x7abc, 0x7abd, 0x7abe, 0x7ac0, 0x7ac1,
    -    0x7ac2, 0x7ac3, 0x7ac4, 0x7ac5, 0x7ac6, 0x7ac7, 0x7ac8, 0x7ac9,
    -    0x7aca, 0x7acc, 0x7acd, 0x7ace, 0x7acf, 0x7ad0, 0x7ad1, 0x7ad2,
    -    0x7ad3, 0x7ad4, 0x7ad5, 0x7ad7, 0x7ad8, 0x7ada, 0x7adb, 0x7adc,
    -    0x7add, 0x7ae1, 0x7ae2, 0x7ae4, 0x7ae7, 0x7ae8, 0x7ae9, 0x7aea,
    -    0x7aeb, 0x7aec, 0x7aee, 0x7af0, 0x7af1, 0x7af2, 0x7af3, 0x003f,
    -    0x7af4, 0x7af5, 0x7af6, 0x7af7, 0x7af8, 0x7afb, 0x7afc, 0x7afe,
    -    0x7b00, 0x7b01, 0x7b02, 0x7b05, 0x7b07, 0x7b09, 0x7b0c, 0x7b0d,
    -    0x7b0e, 0x7b10, 0x7b12, 0x7b13, 0x7b16, 0x7b17, 0x7b18, 0x7b1a,
    -    0x7b1c, 0x7b1d, 0x7b1f, 0x7b21, 0x7b22, 0x7b23, 0x7b27, 0x7b29,
    -    0x7b2d, 0x6d6e, 0x6daa, 0x798f, 0x88b1, 0x5f17, 0x752b, 0x629a,
    -    0x8f85, 0x4fef, 0x91dc, 0x65a7, 0x812f, 0x8151, 0x5e9c, 0x8150,
    -    0x8d74, 0x526f, 0x8986, 0x8d4b, 0x590d, 0x5085, 0x4ed8, 0x961c,
    -    0x7236, 0x8179, 0x8d1f, 0x5bcc, 0x8ba3, 0x9644, 0x5987, 0x7f1a,
    -    0x5490, 0x5676, 0x560e, 0x8be5, 0x6539, 0x6982, 0x9499, 0x76d6,
    -    0x6e89, 0x5e72, 0x7518, 0x6746, 0x67d1, 0x7aff, 0x809d, 0x8d76,
    -    0x611f, 0x79c6, 0x6562, 0x8d63, 0x5188, 0x521a, 0x94a2, 0x7f38,
    -    0x809b, 0x7eb2, 0x5c97, 0x6e2f, 0x6760, 0x7bd9, 0x768b, 0x9ad8,
    -    0x818f, 0x7f94, 0x7cd5, 0x641e, 0x9550, 0x7a3f, 0x544a, 0x54e5,
    -    0x6b4c, 0x6401, 0x6208, 0x9e3d, 0x80f3, 0x7599, 0x5272, 0x9769,
    -    0x845b, 0x683c, 0x86e4, 0x9601, 0x9694, 0x94ec, 0x4e2a, 0x5404,
    -    0x7ed9, 0x6839, 0x8ddf, 0x8015, 0x66f4, 0x5e9a, 0x7fb9, 0x003f,
    -    /* lead byte b9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7b2f, 0x7b30, 0x7b32, 0x7b34, 0x7b35, 0x7b36, 0x7b37, 0x7b39,
    -    0x7b3b, 0x7b3d, 0x7b3f, 0x7b40, 0x7b41, 0x7b42, 0x7b43, 0x7b44,
    -    0x7b46, 0x7b48, 0x7b4a, 0x7b4d, 0x7b4e, 0x7b53, 0x7b55, 0x7b57,
    -    0x7b59, 0x7b5c, 0x7b5e, 0x7b5f, 0x7b61, 0x7b63, 0x7b64, 0x7b65,
    -    0x7b66, 0x7b67, 0x7b68, 0x7b69, 0x7b6a, 0x7b6b, 0x7b6c, 0x7b6d,
    -    0x7b6f, 0x7b70, 0x7b73, 0x7b74, 0x7b76, 0x7b78, 0x7b7a, 0x7b7c,
    -    0x7b7d, 0x7b7f, 0x7b81, 0x7b82, 0x7b83, 0x7b84, 0x7b86, 0x7b87,
    -    0x7b88, 0x7b89, 0x7b8a, 0x7b8b, 0x7b8c, 0x7b8e, 0x7b8f, 0x003f,
    -    0x7b91, 0x7b92, 0x7b93, 0x7b96, 0x7b98, 0x7b99, 0x7b9a, 0x7b9b,
    -    0x7b9e, 0x7b9f, 0x7ba0, 0x7ba3, 0x7ba4, 0x7ba5, 0x7bae, 0x7baf,
    -    0x7bb0, 0x7bb2, 0x7bb3, 0x7bb5, 0x7bb6, 0x7bb7, 0x7bb9, 0x7bba,
    -    0x7bbb, 0x7bbc, 0x7bbd, 0x7bbe, 0x7bbf, 0x7bc0, 0x7bc2, 0x7bc3,
    -    0x7bc4, 0x57c2, 0x803f, 0x6897, 0x5de5, 0x653b, 0x529f, 0x606d,
    -    0x9f9a, 0x4f9b, 0x8eac, 0x516c, 0x5bab, 0x5f13, 0x5de9, 0x6c5e,
    -    0x62f1, 0x8d21, 0x5171, 0x94a9, 0x52fe, 0x6c9f, 0x82df, 0x72d7,
    -    0x57a2, 0x6784, 0x8d2d, 0x591f, 0x8f9c, 0x83c7, 0x5495, 0x7b8d,
    -    0x4f30, 0x6cbd, 0x5b64, 0x59d1, 0x9f13, 0x53e4, 0x86ca, 0x9aa8,
    -    0x8c37, 0x80a1, 0x6545, 0x987e, 0x56fa, 0x96c7, 0x522e, 0x74dc,
    -    0x5250, 0x5be1, 0x6302, 0x8902, 0x4e56, 0x62d0, 0x602a, 0x68fa,
    -    0x5173, 0x5b98, 0x51a0, 0x89c2, 0x7ba1, 0x9986, 0x7f50, 0x60ef,
    -    0x704c, 0x8d2f, 0x5149, 0x5e7f, 0x901b, 0x7470, 0x89c4, 0x572d,
    -    0x7845, 0x5f52, 0x9f9f, 0x95fa, 0x8f68, 0x9b3c, 0x8be1, 0x7678,
    -    0x6842, 0x67dc, 0x8dea, 0x8d35, 0x523d, 0x8f8a, 0x6eda, 0x68cd,
    -    0x9505, 0x90ed, 0x56fd, 0x679c, 0x88f9, 0x8fc7, 0x54c8, 0x003f,
    -    /* lead byte ba */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7bc5, 0x7bc8, 0x7bc9, 0x7bca, 0x7bcb, 0x7bcd, 0x7bce, 0x7bcf,
    -    0x7bd0, 0x7bd2, 0x7bd4, 0x7bd5, 0x7bd6, 0x7bd7, 0x7bd8, 0x7bdb,
    -    0x7bdc, 0x7bde, 0x7bdf, 0x7be0, 0x7be2, 0x7be3, 0x7be4, 0x7be7,
    -    0x7be8, 0x7be9, 0x7beb, 0x7bec, 0x7bed, 0x7bef, 0x7bf0, 0x7bf2,
    -    0x7bf3, 0x7bf4, 0x7bf5, 0x7bf6, 0x7bf8, 0x7bf9, 0x7bfa, 0x7bfb,
    -    0x7bfd, 0x7bff, 0x7c00, 0x7c01, 0x7c02, 0x7c03, 0x7c04, 0x7c05,
    -    0x7c06, 0x7c08, 0x7c09, 0x7c0a, 0x7c0d, 0x7c0e, 0x7c10, 0x7c11,
    -    0x7c12, 0x7c13, 0x7c14, 0x7c15, 0x7c17, 0x7c18, 0x7c19, 0x003f,
    -    0x7c1a, 0x7c1b, 0x7c1c, 0x7c1d, 0x7c1e, 0x7c20, 0x7c21, 0x7c22,
    -    0x7c23, 0x7c24, 0x7c25, 0x7c28, 0x7c29, 0x7c2b, 0x7c2c, 0x7c2d,
    -    0x7c2e, 0x7c2f, 0x7c30, 0x7c31, 0x7c32, 0x7c33, 0x7c34, 0x7c35,
    -    0x7c36, 0x7c37, 0x7c39, 0x7c3a, 0x7c3b, 0x7c3c, 0x7c3d, 0x7c3e,
    -    0x7c42, 0x9ab8, 0x5b69, 0x6d77, 0x6c26, 0x4ea5, 0x5bb3, 0x9a87,
    -    0x9163, 0x61a8, 0x90af, 0x97e9, 0x542b, 0x6db5, 0x5bd2, 0x51fd,
    -    0x558a, 0x7f55, 0x7ff0, 0x64bc, 0x634d, 0x65f1, 0x61be, 0x608d,
    -    0x710a, 0x6c57, 0x6c49, 0x592f, 0x676d, 0x822a, 0x58d5, 0x568e,
    -    0x8c6a, 0x6beb, 0x90dd, 0x597d, 0x8017, 0x53f7, 0x6d69, 0x5475,
    -    0x559d, 0x8377, 0x83cf, 0x6838, 0x79be, 0x548c, 0x4f55, 0x5408,
    -    0x76d2, 0x8c89, 0x9602, 0x6cb3, 0x6db8, 0x8d6b, 0x8910, 0x9e64,
    -    0x8d3a, 0x563f, 0x9ed1, 0x75d5, 0x5f88, 0x72e0, 0x6068, 0x54fc,
    -    0x4ea8, 0x6a2a, 0x8861, 0x6052, 0x8f70, 0x54c4, 0x70d8, 0x8679,
    -    0x9e3f, 0x6d2a, 0x5b8f, 0x5f18, 0x7ea2, 0x5589, 0x4faf, 0x7334,
    -    0x543c, 0x539a, 0x5019, 0x540e, 0x547c, 0x4e4e, 0x5ffd, 0x745a,
    -    0x58f6, 0x846b, 0x80e1, 0x8774, 0x72d0, 0x7cca, 0x6e56, 0x003f,
    -    /* lead byte bb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7c43, 0x7c44, 0x7c45, 0x7c46, 0x7c47, 0x7c48, 0x7c49, 0x7c4a,
    -    0x7c4b, 0x7c4c, 0x7c4e, 0x7c4f, 0x7c50, 0x7c51, 0x7c52, 0x7c53,
    -    0x7c54, 0x7c55, 0x7c56, 0x7c57, 0x7c58, 0x7c59, 0x7c5a, 0x7c5b,
    -    0x7c5c, 0x7c5d, 0x7c5e, 0x7c5f, 0x7c60, 0x7c61, 0x7c62, 0x7c63,
    -    0x7c64, 0x7c65, 0x7c66, 0x7c67, 0x7c68, 0x7c69, 0x7c6a, 0x7c6b,
    -    0x7c6c, 0x7c6d, 0x7c6e, 0x7c6f, 0x7c70, 0x7c71, 0x7c72, 0x7c75,
    -    0x7c76, 0x7c77, 0x7c78, 0x7c79, 0x7c7a, 0x7c7e, 0x7c7f, 0x7c80,
    -    0x7c81, 0x7c82, 0x7c83, 0x7c84, 0x7c85, 0x7c86, 0x7c87, 0x003f,
    -    0x7c88, 0x7c8a, 0x7c8b, 0x7c8c, 0x7c8d, 0x7c8e, 0x7c8f, 0x7c90,
    -    0x7c93, 0x7c94, 0x7c96, 0x7c99, 0x7c9a, 0x7c9b, 0x7ca0, 0x7ca1,
    -    0x7ca3, 0x7ca6, 0x7ca7, 0x7ca8, 0x7ca9, 0x7cab, 0x7cac, 0x7cad,
    -    0x7caf, 0x7cb0, 0x7cb4, 0x7cb5, 0x7cb6, 0x7cb7, 0x7cb8, 0x7cba,
    -    0x7cbb, 0x5f27, 0x864e, 0x552c, 0x62a4, 0x4e92, 0x6caa, 0x6237,
    -    0x82b1, 0x54d7, 0x534e, 0x733e, 0x6ed1, 0x753b, 0x5212, 0x5316,
    -    0x8bdd, 0x69d0, 0x5f8a, 0x6000, 0x6dee, 0x574f, 0x6b22, 0x73af,
    -    0x6853, 0x8fd8, 0x7f13, 0x6362, 0x60a3, 0x5524, 0x75ea, 0x8c62,
    -    0x7115, 0x6da3, 0x5ba6, 0x5e7b, 0x8352, 0x614c, 0x9ec4, 0x78fa,
    -    0x8757, 0x7c27, 0x7687, 0x51f0, 0x60f6, 0x714c, 0x6643, 0x5e4c,
    -    0x604d, 0x8c0e, 0x7070, 0x6325, 0x8f89, 0x5fbd, 0x6062, 0x86d4,
    -    0x56de, 0x6bc1, 0x6094, 0x6167, 0x5349, 0x60e0, 0x6666, 0x8d3f,
    -    0x79fd, 0x4f1a, 0x70e9, 0x6c47, 0x8bb3, 0x8bf2, 0x7ed8, 0x8364,
    -    0x660f, 0x5a5a, 0x9b42, 0x6d51, 0x6df7, 0x8c41, 0x6d3b, 0x4f19,
    -    0x706b, 0x83b7, 0x6216, 0x60d1, 0x970d, 0x8d27, 0x7978, 0x51fb,
    -    0x573e, 0x57fa, 0x673a, 0x7578, 0x7a3d, 0x79ef, 0x7b95, 0x003f,
    -    /* lead byte bc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7cbf, 0x7cc0, 0x7cc2, 0x7cc3, 0x7cc4, 0x7cc6, 0x7cc9, 0x7ccb,
    -    0x7cce, 0x7ccf, 0x7cd0, 0x7cd1, 0x7cd2, 0x7cd3, 0x7cd4, 0x7cd8,
    -    0x7cda, 0x7cdb, 0x7cdd, 0x7cde, 0x7ce1, 0x7ce2, 0x7ce3, 0x7ce4,
    -    0x7ce5, 0x7ce6, 0x7ce7, 0x7ce9, 0x7cea, 0x7ceb, 0x7cec, 0x7ced,
    -    0x7cee, 0x7cf0, 0x7cf1, 0x7cf2, 0x7cf3, 0x7cf4, 0x7cf5, 0x7cf6,
    -    0x7cf7, 0x7cf9, 0x7cfa, 0x7cfc, 0x7cfd, 0x7cfe, 0x7cff, 0x7d00,
    -    0x7d01, 0x7d02, 0x7d03, 0x7d04, 0x7d05, 0x7d06, 0x7d07, 0x7d08,
    -    0x7d09, 0x7d0b, 0x7d0c, 0x7d0d, 0x7d0e, 0x7d0f, 0x7d10, 0x003f,
    -    0x7d11, 0x7d12, 0x7d13, 0x7d14, 0x7d15, 0x7d16, 0x7d17, 0x7d18,
    -    0x7d19, 0x7d1a, 0x7d1b, 0x7d1c, 0x7d1d, 0x7d1e, 0x7d1f, 0x7d21,
    -    0x7d23, 0x7d24, 0x7d25, 0x7d26, 0x7d28, 0x7d29, 0x7d2a, 0x7d2c,
    -    0x7d2d, 0x7d2e, 0x7d30, 0x7d31, 0x7d32, 0x7d33, 0x7d34, 0x7d35,
    -    0x7d36, 0x808c, 0x9965, 0x8ff9, 0x6fc0, 0x8ba5, 0x9e21, 0x59ec,
    -    0x7ee9, 0x7f09, 0x5409, 0x6781, 0x68d8, 0x8f91, 0x7c4d, 0x96c6,
    -    0x53ca, 0x6025, 0x75be, 0x6c72, 0x5373, 0x5ac9, 0x7ea7, 0x6324,
    -    0x51e0, 0x810a, 0x5df1, 0x84df, 0x6280, 0x5180, 0x5b63, 0x4f0e,
    -    0x796d, 0x5242, 0x60b8, 0x6d4e, 0x5bc4, 0x5bc2, 0x8ba1, 0x8bb0,
    -    0x65e2, 0x5fcc, 0x9645, 0x5993, 0x7ee7, 0x7eaa, 0x5609, 0x67b7,
    -    0x5939, 0x4f73, 0x5bb6, 0x52a0, 0x835a, 0x988a, 0x8d3e, 0x7532,
    -    0x94be, 0x5047, 0x7a3c, 0x4ef7, 0x67b6, 0x9a7e, 0x5ac1, 0x6b7c,
    -    0x76d1, 0x575a, 0x5c16, 0x7b3a, 0x95f4, 0x714e, 0x517c, 0x80a9,
    -    0x8270, 0x5978, 0x7f04, 0x8327, 0x68c0, 0x67ec, 0x78b1, 0x7877,
    -    0x62e3, 0x6361, 0x7b80, 0x4fed, 0x526a, 0x51cf, 0x8350, 0x69db,
    -    0x9274, 0x8df5, 0x8d31, 0x89c1, 0x952e, 0x7bad, 0x4ef6, 0x003f,
    -    /* lead byte bd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7d37, 0x7d38, 0x7d39, 0x7d3a, 0x7d3b, 0x7d3c, 0x7d3d, 0x7d3e,
    -    0x7d3f, 0x7d40, 0x7d41, 0x7d42, 0x7d43, 0x7d44, 0x7d45, 0x7d46,
    -    0x7d47, 0x7d48, 0x7d49, 0x7d4a, 0x7d4b, 0x7d4c, 0x7d4d, 0x7d4e,
    -    0x7d4f, 0x7d50, 0x7d51, 0x7d52, 0x7d53, 0x7d54, 0x7d55, 0x7d56,
    -    0x7d57, 0x7d58, 0x7d59, 0x7d5a, 0x7d5b, 0x7d5c, 0x7d5d, 0x7d5e,
    -    0x7d5f, 0x7d60, 0x7d61, 0x7d62, 0x7d63, 0x7d64, 0x7d65, 0x7d66,
    -    0x7d67, 0x7d68, 0x7d69, 0x7d6a, 0x7d6b, 0x7d6c, 0x7d6d, 0x7d6f,
    -    0x7d70, 0x7d71, 0x7d72, 0x7d73, 0x7d74, 0x7d75, 0x7d76, 0x003f,
    -    0x7d78, 0x7d79, 0x7d7a, 0x7d7b, 0x7d7c, 0x7d7d, 0x7d7e, 0x7d7f,
    -    0x7d80, 0x7d81, 0x7d82, 0x7d83, 0x7d84, 0x7d85, 0x7d86, 0x7d87,
    -    0x7d88, 0x7d89, 0x7d8a, 0x7d8b, 0x7d8c, 0x7d8d, 0x7d8e, 0x7d8f,
    -    0x7d90, 0x7d91, 0x7d92, 0x7d93, 0x7d94, 0x7d95, 0x7d96, 0x7d97,
    -    0x7d98, 0x5065, 0x8230, 0x5251, 0x996f, 0x6e10, 0x6e85, 0x6da7,
    -    0x5efa, 0x50f5, 0x59dc, 0x5c06, 0x6d46, 0x6c5f, 0x7586, 0x848b,
    -    0x6868, 0x5956, 0x8bb2, 0x5320, 0x9171, 0x964d, 0x8549, 0x6912,
    -    0x7901, 0x7126, 0x80f6, 0x4ea4, 0x90ca, 0x6d47, 0x9a84, 0x5a07,
    -    0x56bc, 0x6405, 0x94f0, 0x77eb, 0x4fa5, 0x811a, 0x72e1, 0x89d2,
    -    0x997a, 0x7f34, 0x7ede, 0x527f, 0x6559, 0x9175, 0x8f7f, 0x8f83,
    -    0x53eb, 0x7a96, 0x63ed, 0x63a5, 0x7686, 0x79f8, 0x8857, 0x9636,
    -    0x622a, 0x52ab, 0x8282, 0x6854, 0x6770, 0x6377, 0x776b, 0x7aed,
    -    0x6d01, 0x7ed3, 0x89e3, 0x59d0, 0x6212, 0x85c9, 0x82a5, 0x754c,
    -    0x501f, 0x4ecb, 0x75a5, 0x8beb, 0x5c4a, 0x5dfe, 0x7b4b, 0x65a4,
    -    0x91d1, 0x4eca, 0x6d25, 0x895f, 0x7d27, 0x9526, 0x4ec5, 0x8c28,
    -    0x8fdb, 0x9773, 0x664b, 0x7981, 0x8fd1, 0x70ec, 0x6d78, 0x003f,
    -    /* lead byte be */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7d99, 0x7d9a, 0x7d9b, 0x7d9c, 0x7d9d, 0x7d9e, 0x7d9f, 0x7da0,
    -    0x7da1, 0x7da2, 0x7da3, 0x7da4, 0x7da5, 0x7da7, 0x7da8, 0x7da9,
    -    0x7daa, 0x7dab, 0x7dac, 0x7dad, 0x7daf, 0x7db0, 0x7db1, 0x7db2,
    -    0x7db3, 0x7db4, 0x7db5, 0x7db6, 0x7db7, 0x7db8, 0x7db9, 0x7dba,
    -    0x7dbb, 0x7dbc, 0x7dbd, 0x7dbe, 0x7dbf, 0x7dc0, 0x7dc1, 0x7dc2,
    -    0x7dc3, 0x7dc4, 0x7dc5, 0x7dc6, 0x7dc7, 0x7dc8, 0x7dc9, 0x7dca,
    -    0x7dcb, 0x7dcc, 0x7dcd, 0x7dce, 0x7dcf, 0x7dd0, 0x7dd1, 0x7dd2,
    -    0x7dd3, 0x7dd4, 0x7dd5, 0x7dd6, 0x7dd7, 0x7dd8, 0x7dd9, 0x003f,
    -    0x7dda, 0x7ddb, 0x7ddc, 0x7ddd, 0x7dde, 0x7ddf, 0x7de0, 0x7de1,
    -    0x7de2, 0x7de3, 0x7de4, 0x7de5, 0x7de6, 0x7de7, 0x7de8, 0x7de9,
    -    0x7dea, 0x7deb, 0x7dec, 0x7ded, 0x7dee, 0x7def, 0x7df0, 0x7df1,
    -    0x7df2, 0x7df3, 0x7df4, 0x7df5, 0x7df6, 0x7df7, 0x7df8, 0x7df9,
    -    0x7dfa, 0x5c3d, 0x52b2, 0x8346, 0x5162, 0x830e, 0x775b, 0x6676,
    -    0x9cb8, 0x4eac, 0x60ca, 0x7cbe, 0x7cb3, 0x7ecf, 0x4e95, 0x8b66,
    -    0x666f, 0x9888, 0x9759, 0x5883, 0x656c, 0x955c, 0x5f84, 0x75c9,
    -    0x9756, 0x7adf, 0x7ade, 0x51c0, 0x70af, 0x7a98, 0x63ea, 0x7a76,
    -    0x7ea0, 0x7396, 0x97ed, 0x4e45, 0x7078, 0x4e5d, 0x9152, 0x53a9,
    -    0x6551, 0x65e7, 0x81fc, 0x8205, 0x548e, 0x5c31, 0x759a, 0x97a0,
    -    0x62d8, 0x72d9, 0x75bd, 0x5c45, 0x9a79, 0x83ca, 0x5c40, 0x5480,
    -    0x77e9, 0x4e3e, 0x6cae, 0x805a, 0x62d2, 0x636e, 0x5de8, 0x5177,
    -    0x8ddd, 0x8e1e, 0x952f, 0x4ff1, 0x53e5, 0x60e7, 0x70ac, 0x5267,
    -    0x6350, 0x9e43, 0x5a1f, 0x5026, 0x7737, 0x5377, 0x7ee2, 0x6485,
    -    0x652b, 0x6289, 0x6398, 0x5014, 0x7235, 0x89c9, 0x51b3, 0x8bc0,
    -    0x7edd, 0x5747, 0x83cc, 0x94a7, 0x519b, 0x541b, 0x5cfb, 0x003f,
    -    /* lead byte bf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7dfb, 0x7dfc, 0x7dfd, 0x7dfe, 0x7dff, 0x7e00, 0x7e01, 0x7e02,
    -    0x7e03, 0x7e04, 0x7e05, 0x7e06, 0x7e07, 0x7e08, 0x7e09, 0x7e0a,
    -    0x7e0b, 0x7e0c, 0x7e0d, 0x7e0e, 0x7e0f, 0x7e10, 0x7e11, 0x7e12,
    -    0x7e13, 0x7e14, 0x7e15, 0x7e16, 0x7e17, 0x7e18, 0x7e19, 0x7e1a,
    -    0x7e1b, 0x7e1c, 0x7e1d, 0x7e1e, 0x7e1f, 0x7e20, 0x7e21, 0x7e22,
    -    0x7e23, 0x7e24, 0x7e25, 0x7e26, 0x7e27, 0x7e28, 0x7e29, 0x7e2a,
    -    0x7e2b, 0x7e2c, 0x7e2d, 0x7e2e, 0x7e2f, 0x7e30, 0x7e31, 0x7e32,
    -    0x7e33, 0x7e34, 0x7e35, 0x7e36, 0x7e37, 0x7e38, 0x7e39, 0x003f,
    -    0x7e3a, 0x7e3c, 0x7e3d, 0x7e3e, 0x7e3f, 0x7e40, 0x7e42, 0x7e43,
    -    0x7e44, 0x7e45, 0x7e46, 0x7e48, 0x7e49, 0x7e4a, 0x7e4b, 0x7e4c,
    -    0x7e4d, 0x7e4e, 0x7e4f, 0x7e50, 0x7e51, 0x7e52, 0x7e53, 0x7e54,
    -    0x7e55, 0x7e56, 0x7e57, 0x7e58, 0x7e59, 0x7e5a, 0x7e5b, 0x7e5c,
    -    0x7e5d, 0x4fca, 0x7ae3, 0x6d5a, 0x90e1, 0x9a8f, 0x5580, 0x5496,
    -    0x5361, 0x54af, 0x5f00, 0x63e9, 0x6977, 0x51ef, 0x6168, 0x520a,
    -    0x582a, 0x52d8, 0x574e, 0x780d, 0x770b, 0x5eb7, 0x6177, 0x7ce0,
    -    0x625b, 0x6297, 0x4ea2, 0x7095, 0x8003, 0x62f7, 0x70e4, 0x9760,
    -    0x5777, 0x82db, 0x67ef, 0x68f5, 0x78d5, 0x9897, 0x79d1, 0x58f3,
    -    0x54b3, 0x53ef, 0x6e34, 0x514b, 0x523b, 0x5ba2, 0x8bfe, 0x80af,
    -    0x5543, 0x57a6, 0x6073, 0x5751, 0x542d, 0x7a7a, 0x6050, 0x5b54,
    -    0x63a7, 0x62a0, 0x53e3, 0x6263, 0x5bc7, 0x67af, 0x54ed, 0x7a9f,
    -    0x82e6, 0x9177, 0x5e93, 0x88e4, 0x5938, 0x57ae, 0x630e, 0x8de8,
    -    0x80ef, 0x5757, 0x7b77, 0x4fa9, 0x5feb, 0x5bbd, 0x6b3e, 0x5321,
    -    0x7b50, 0x72c2, 0x6846, 0x77ff, 0x7736, 0x65f7, 0x51b5, 0x4e8f,
    -    0x76d4, 0x5cbf, 0x7aa5, 0x8475, 0x594e, 0x9b41, 0x5080, 0x003f,
    -    /* lead byte c0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7e5e, 0x7e5f, 0x7e60, 0x7e61, 0x7e62, 0x7e63, 0x7e64, 0x7e65,
    -    0x7e66, 0x7e67, 0x7e68, 0x7e69, 0x7e6a, 0x7e6b, 0x7e6c, 0x7e6d,
    -    0x7e6e, 0x7e6f, 0x7e70, 0x7e71, 0x7e72, 0x7e73, 0x7e74, 0x7e75,
    -    0x7e76, 0x7e77, 0x7e78, 0x7e79, 0x7e7a, 0x7e7b, 0x7e7c, 0x7e7d,
    -    0x7e7e, 0x7e7f, 0x7e80, 0x7e81, 0x7e83, 0x7e84, 0x7e85, 0x7e86,
    -    0x7e87, 0x7e88, 0x7e89, 0x7e8a, 0x7e8b, 0x7e8c, 0x7e8d, 0x7e8e,
    -    0x7e8f, 0x7e90, 0x7e91, 0x7e92, 0x7e93, 0x7e94, 0x7e95, 0x7e96,
    -    0x7e97, 0x7e98, 0x7e99, 0x7e9a, 0x7e9c, 0x7e9d, 0x7e9e, 0x003f,
    -    0x7eae, 0x7eb4, 0x7ebb, 0x7ebc, 0x7ed6, 0x7ee4, 0x7eec, 0x7ef9,
    -    0x7f0a, 0x7f10, 0x7f1e, 0x7f37, 0x7f39, 0x7f3b, 0x7f3c, 0x7f3d,
    -    0x7f3e, 0x7f3f, 0x7f40, 0x7f41, 0x7f43, 0x7f46, 0x7f47, 0x7f48,
    -    0x7f49, 0x7f4a, 0x7f4b, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f4f, 0x7f52,
    -    0x7f53, 0x9988, 0x6127, 0x6e83, 0x5764, 0x6606, 0x6346, 0x56f0,
    -    0x62ec, 0x6269, 0x5ed3, 0x9614, 0x5783, 0x62c9, 0x5587, 0x8721,
    -    0x814a, 0x8fa3, 0x5566, 0x83b1, 0x6765, 0x8d56, 0x84dd, 0x5a6a,
    -    0x680f, 0x62e6, 0x7bee, 0x9611, 0x5170, 0x6f9c, 0x8c30, 0x63fd,
    -    0x89c8, 0x61d2, 0x7f06, 0x70c2, 0x6ee5, 0x7405, 0x6994, 0x72fc,
    -    0x5eca, 0x90ce, 0x6717, 0x6d6a, 0x635e, 0x52b3, 0x7262, 0x8001,
    -    0x4f6c, 0x59e5, 0x916a, 0x70d9, 0x6d9d, 0x52d2, 0x4e50, 0x96f7,
    -    0x956d, 0x857e, 0x78ca, 0x7d2f, 0x5121, 0x5792, 0x64c2, 0x808b,
    -    0x7c7b, 0x6cea, 0x68f1, 0x695e, 0x51b7, 0x5398, 0x68a8, 0x7281,
    -    0x9ece, 0x7bf1, 0x72f8, 0x79bb, 0x6f13, 0x7406, 0x674e, 0x91cc,
    -    0x9ca4, 0x793c, 0x8389, 0x8354, 0x540f, 0x6817, 0x4e3d, 0x5389,
    -    0x52b1, 0x783e, 0x5386, 0x5229, 0x5088, 0x4f8b, 0x4fd0, 0x003f,
    -    /* lead byte c1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7f56, 0x7f59, 0x7f5b, 0x7f5c, 0x7f5d, 0x7f5e, 0x7f60, 0x7f63,
    -    0x7f64, 0x7f65, 0x7f66, 0x7f67, 0x7f6b, 0x7f6c, 0x7f6d, 0x7f6f,
    -    0x7f70, 0x7f73, 0x7f75, 0x7f76, 0x7f77, 0x7f78, 0x7f7a, 0x7f7b,
    -    0x7f7c, 0x7f7d, 0x7f7f, 0x7f80, 0x7f82, 0x7f83, 0x7f84, 0x7f85,
    -    0x7f86, 0x7f87, 0x7f88, 0x7f89, 0x7f8b, 0x7f8d, 0x7f8f, 0x7f90,
    -    0x7f91, 0x7f92, 0x7f93, 0x7f95, 0x7f96, 0x7f97, 0x7f98, 0x7f99,
    -    0x7f9b, 0x7f9c, 0x7fa0, 0x7fa2, 0x7fa3, 0x7fa5, 0x7fa6, 0x7fa8,
    -    0x7fa9, 0x7faa, 0x7fab, 0x7fac, 0x7fad, 0x7fae, 0x7fb1, 0x003f,
    -    0x7fb3, 0x7fb4, 0x7fb5, 0x7fb6, 0x7fb7, 0x7fba, 0x7fbb, 0x7fbe,
    -    0x7fc0, 0x7fc2, 0x7fc3, 0x7fc4, 0x7fc6, 0x7fc7, 0x7fc8, 0x7fc9,
    -    0x7fcb, 0x7fcd, 0x7fcf, 0x7fd0, 0x7fd1, 0x7fd2, 0x7fd3, 0x7fd6,
    -    0x7fd7, 0x7fd9, 0x7fda, 0x7fdb, 0x7fdc, 0x7fdd, 0x7fde, 0x7fe2,
    -    0x7fe3, 0x75e2, 0x7acb, 0x7c92, 0x6ca5, 0x96b6, 0x529b, 0x7483,
    -    0x54e9, 0x4fe9, 0x8054, 0x83b2, 0x8fde, 0x9570, 0x5ec9, 0x601c,
    -    0x6d9f, 0x5e18, 0x655b, 0x8138, 0x94fe, 0x604b, 0x70bc, 0x7ec3,
    -    0x7cae, 0x51c9, 0x6881, 0x7cb1, 0x826f, 0x4e24, 0x8f86, 0x91cf,
    -    0x667e, 0x4eae, 0x8c05, 0x64a9, 0x804a, 0x50da, 0x7597, 0x71ce,
    -    0x5be5, 0x8fbd, 0x6f66, 0x4e86, 0x6482, 0x9563, 0x5ed6, 0x6599,
    -    0x5217, 0x88c2, 0x70c8, 0x52a3, 0x730e, 0x7433, 0x6797, 0x78f7,
    -    0x9716, 0x4e34, 0x90bb, 0x9cde, 0x6dcb, 0x51db, 0x8d41, 0x541d,
    -    0x62ce, 0x73b2, 0x83f1, 0x96f6, 0x9f84, 0x94c3, 0x4f36, 0x7f9a,
    -    0x51cc, 0x7075, 0x9675, 0x5cad, 0x9886, 0x53e6, 0x4ee4, 0x6e9c,
    -    0x7409, 0x69b4, 0x786b, 0x998f, 0x7559, 0x5218, 0x7624, 0x6d41,
    -    0x67f3, 0x516d, 0x9f99, 0x804b, 0x5499, 0x7b3c, 0x7abf, 0x003f,
    -    /* lead byte c2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7fe4, 0x7fe7, 0x7fe8, 0x7fea, 0x7feb, 0x7fec, 0x7fed, 0x7fef,
    -    0x7ff2, 0x7ff4, 0x7ff5, 0x7ff6, 0x7ff7, 0x7ff8, 0x7ff9, 0x7ffa,
    -    0x7ffd, 0x7ffe, 0x7fff, 0x8002, 0x8007, 0x8008, 0x8009, 0x800a,
    -    0x800e, 0x800f, 0x8011, 0x8013, 0x801a, 0x801b, 0x801d, 0x801e,
    -    0x801f, 0x8021, 0x8023, 0x8024, 0x802b, 0x802c, 0x802d, 0x802e,
    -    0x802f, 0x8030, 0x8032, 0x8034, 0x8039, 0x803a, 0x803c, 0x803e,
    -    0x8040, 0x8041, 0x8044, 0x8045, 0x8047, 0x8048, 0x8049, 0x804e,
    -    0x804f, 0x8050, 0x8051, 0x8053, 0x8055, 0x8056, 0x8057, 0x003f,
    -    0x8059, 0x805b, 0x805c, 0x805d, 0x805e, 0x805f, 0x8060, 0x8061,
    -    0x8062, 0x8063, 0x8064, 0x8065, 0x8066, 0x8067, 0x8068, 0x806b,
    -    0x806c, 0x806d, 0x806e, 0x806f, 0x8070, 0x8072, 0x8073, 0x8074,
    -    0x8075, 0x8076, 0x8077, 0x8078, 0x8079, 0x807a, 0x807b, 0x807c,
    -    0x807d, 0x9686, 0x5784, 0x62e2, 0x9647, 0x697c, 0x5a04, 0x6402,
    -    0x7bd3, 0x6f0f, 0x964b, 0x82a6, 0x5362, 0x9885, 0x5e90, 0x7089,
    -    0x63b3, 0x5364, 0x864f, 0x9c81, 0x9e93, 0x788c, 0x9732, 0x8def,
    -    0x8d42, 0x9e7f, 0x6f5e, 0x7984, 0x5f55, 0x9646, 0x622e, 0x9a74,
    -    0x5415, 0x94dd, 0x4fa3, 0x65c5, 0x5c65, 0x5c61, 0x7f15, 0x8651,
    -    0x6c2f, 0x5f8b, 0x7387, 0x6ee4, 0x7eff, 0x5ce6, 0x631b, 0x5b6a,
    -    0x6ee6, 0x5375, 0x4e71, 0x63a0, 0x7565, 0x62a1, 0x8f6e, 0x4f26,
    -    0x4ed1, 0x6ca6, 0x7eb6, 0x8bba, 0x841d, 0x87ba, 0x7f57, 0x903b,
    -    0x9523, 0x7ba9, 0x9aa1, 0x88f8, 0x843d, 0x6d1b, 0x9a86, 0x7edc,
    -    0x5988, 0x9ebb, 0x739b, 0x7801, 0x8682, 0x9a6c, 0x9a82, 0x561b,
    -    0x5417, 0x57cb, 0x4e70, 0x9ea6, 0x5356, 0x8fc8, 0x8109, 0x7792,
    -    0x9992, 0x86ee, 0x6ee1, 0x8513, 0x66fc, 0x6162, 0x6f2b, 0x003f,
    -    /* lead byte c3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x807e, 0x8081, 0x8082, 0x8085, 0x8088, 0x808a, 0x808d, 0x808e,
    -    0x808f, 0x8090, 0x8091, 0x8092, 0x8094, 0x8095, 0x8097, 0x8099,
    -    0x809e, 0x80a3, 0x80a6, 0x80a7, 0x80a8, 0x80ac, 0x80b0, 0x80b3,
    -    0x80b5, 0x80b6, 0x80b8, 0x80b9, 0x80bb, 0x80c5, 0x80c7, 0x80c8,
    -    0x80c9, 0x80ca, 0x80cb, 0x80cf, 0x80d0, 0x80d1, 0x80d2, 0x80d3,
    -    0x80d4, 0x80d5, 0x80d8, 0x80df, 0x80e0, 0x80e2, 0x80e3, 0x80e6,
    -    0x80ee, 0x80f5, 0x80f7, 0x80f9, 0x80fb, 0x80fe, 0x80ff, 0x8100,
    -    0x8101, 0x8103, 0x8104, 0x8105, 0x8107, 0x8108, 0x810b, 0x003f,
    -    0x810c, 0x8115, 0x8117, 0x8119, 0x811b, 0x811c, 0x811d, 0x811f,
    -    0x8120, 0x8121, 0x8122, 0x8123, 0x8124, 0x8125, 0x8126, 0x8127,
    -    0x8128, 0x8129, 0x812a, 0x812b, 0x812d, 0x812e, 0x8130, 0x8133,
    -    0x8134, 0x8135, 0x8137, 0x8139, 0x813a, 0x813b, 0x813c, 0x813d,
    -    0x813f, 0x8c29, 0x8292, 0x832b, 0x76f2, 0x6c13, 0x5fd9, 0x83bd,
    -    0x732b, 0x8305, 0x951a, 0x6bdb, 0x77db, 0x94c6, 0x536f, 0x8302,
    -    0x5192, 0x5e3d, 0x8c8c, 0x8d38, 0x4e48, 0x73ab, 0x679a, 0x6885,
    -    0x9176, 0x9709, 0x7164, 0x6ca1, 0x7709, 0x5a92, 0x9541, 0x6bcf,
    -    0x7f8e, 0x6627, 0x5bd0, 0x59b9, 0x5a9a, 0x95e8, 0x95f7, 0x4eec,
    -    0x840c, 0x8499, 0x6aac, 0x76df, 0x9530, 0x731b, 0x68a6, 0x5b5f,
    -    0x772f, 0x919a, 0x9761, 0x7cdc, 0x8ff7, 0x8c1c, 0x5f25, 0x7c73,
    -    0x79d8, 0x89c5, 0x6ccc, 0x871c, 0x5bc6, 0x5e42, 0x68c9, 0x7720,
    -    0x7ef5, 0x5195, 0x514d, 0x52c9, 0x5a29, 0x7f05, 0x9762, 0x82d7,
    -    0x63cf, 0x7784, 0x85d0, 0x79d2, 0x6e3a, 0x5e99, 0x5999, 0x8511,
    -    0x706d, 0x6c11, 0x62bf, 0x76bf, 0x654f, 0x60af, 0x95fd, 0x660e,
    -    0x879f, 0x9e23, 0x94ed, 0x540d, 0x547d, 0x8c2c, 0x6478, 0x003f,
    -    /* lead byte c4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8140, 0x8141, 0x8142, 0x8143, 0x8144, 0x8145, 0x8147, 0x8149,
    -    0x814d, 0x814e, 0x814f, 0x8152, 0x8156, 0x8157, 0x8158, 0x815b,
    -    0x815c, 0x815d, 0x815e, 0x815f, 0x8161, 0x8162, 0x8163, 0x8164,
    -    0x8166, 0x8168, 0x816a, 0x816b, 0x816c, 0x816f, 0x8172, 0x8173,
    -    0x8175, 0x8176, 0x8177, 0x8178, 0x8181, 0x8183, 0x8184, 0x8185,
    -    0x8186, 0x8187, 0x8189, 0x818b, 0x818c, 0x818d, 0x818e, 0x8190,
    -    0x8192, 0x8193, 0x8194, 0x8195, 0x8196, 0x8197, 0x8199, 0x819a,
    -    0x819e, 0x819f, 0x81a0, 0x81a1, 0x81a2, 0x81a4, 0x81a5, 0x003f,
    -    0x81a7, 0x81a9, 0x81ab, 0x81ac, 0x81ad, 0x81ae, 0x81af, 0x81b0,
    -    0x81b1, 0x81b2, 0x81b4, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9,
    -    0x81bc, 0x81bd, 0x81be, 0x81bf, 0x81c4, 0x81c5, 0x81c7, 0x81c8,
    -    0x81c9, 0x81cb, 0x81cd, 0x81ce, 0x81cf, 0x81d0, 0x81d1, 0x81d2,
    -    0x81d3, 0x6479, 0x8611, 0x6a21, 0x819c, 0x78e8, 0x6469, 0x9b54,
    -    0x62b9, 0x672b, 0x83ab, 0x58a8, 0x9ed8, 0x6cab, 0x6f20, 0x5bde,
    -    0x964c, 0x8c0b, 0x725f, 0x67d0, 0x62c7, 0x7261, 0x4ea9, 0x59c6,
    -    0x6bcd, 0x5893, 0x66ae, 0x5e55, 0x52df, 0x6155, 0x6728, 0x76ee,
    -    0x7766, 0x7267, 0x7a46, 0x62ff, 0x54ea, 0x5450, 0x94a0, 0x90a3,
    -    0x5a1c, 0x7eb3, 0x6c16, 0x4e43, 0x5976, 0x8010, 0x5948, 0x5357,
    -    0x7537, 0x96be, 0x56ca, 0x6320, 0x8111, 0x607c, 0x95f9, 0x6dd6,
    -    0x5462, 0x9981, 0x5185, 0x5ae9, 0x80fd, 0x59ae, 0x9713, 0x502a,
    -    0x6ce5, 0x5c3c, 0x62df, 0x4f60, 0x533f, 0x817b, 0x9006, 0x6eba,
    -    0x852b, 0x62c8, 0x5e74, 0x78be, 0x64b5, 0x637b, 0x5ff5, 0x5a18,
    -    0x917f, 0x9e1f, 0x5c3f, 0x634f, 0x8042, 0x5b7d, 0x556e, 0x954a,
    -    0x954d, 0x6d85, 0x60a8, 0x67e0, 0x72de, 0x51dd, 0x5b81, 0x003f,
    -    /* lead byte c5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x81d4, 0x81d5, 0x81d6, 0x81d7, 0x81d8, 0x81d9, 0x81da, 0x81db,
    -    0x81dc, 0x81dd, 0x81de, 0x81df, 0x81e0, 0x81e1, 0x81e2, 0x81e4,
    -    0x81e5, 0x81e6, 0x81e8, 0x81e9, 0x81eb, 0x81ee, 0x81ef, 0x81f0,
    -    0x81f1, 0x81f2, 0x81f5, 0x81f6, 0x81f7, 0x81f8, 0x81f9, 0x81fa,
    -    0x81fd, 0x81ff, 0x8203, 0x8207, 0x8208, 0x8209, 0x820a, 0x820b,
    -    0x820e, 0x820f, 0x8211, 0x8213, 0x8215, 0x8216, 0x8217, 0x8218,
    -    0x8219, 0x821a, 0x821d, 0x8220, 0x8224, 0x8225, 0x8226, 0x8227,
    -    0x8229, 0x822e, 0x8232, 0x823a, 0x823c, 0x823d, 0x823f, 0x003f,
    -    0x8240, 0x8241, 0x8242, 0x8243, 0x8245, 0x8246, 0x8248, 0x824a,
    -    0x824c, 0x824d, 0x824e, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254,
    -    0x8255, 0x8256, 0x8257, 0x8259, 0x825b, 0x825c, 0x825d, 0x825e,
    -    0x8260, 0x8261, 0x8262, 0x8263, 0x8264, 0x8265, 0x8266, 0x8267,
    -    0x8269, 0x62e7, 0x6cde, 0x725b, 0x626d, 0x94ae, 0x7ebd, 0x8113,
    -    0x6d53, 0x519c, 0x5f04, 0x5974, 0x52aa, 0x6012, 0x5973, 0x6696,
    -    0x8650, 0x759f, 0x632a, 0x61e6, 0x7cef, 0x8bfa, 0x54e6, 0x6b27,
    -    0x9e25, 0x6bb4, 0x85d5, 0x5455, 0x5076, 0x6ca4, 0x556a, 0x8db4,
    -    0x722c, 0x5e15, 0x6015, 0x7436, 0x62cd, 0x6392, 0x724c, 0x5f98,
    -    0x6e43, 0x6d3e, 0x6500, 0x6f58, 0x76d8, 0x78d0, 0x76fc, 0x7554,
    -    0x5224, 0x53db, 0x4e53, 0x5e9e, 0x65c1, 0x802a, 0x80d6, 0x629b,
    -    0x5486, 0x5228, 0x70ae, 0x888d, 0x8dd1, 0x6ce1, 0x5478, 0x80da,
    -    0x57f9, 0x88f4, 0x8d54, 0x966a, 0x914d, 0x4f69, 0x6c9b, 0x55b7,
    -    0x76c6, 0x7830, 0x62a8, 0x70f9, 0x6f8e, 0x5f6d, 0x84ec, 0x68da,
    -    0x787c, 0x7bf7, 0x81a8, 0x670b, 0x9e4f, 0x6367, 0x78b0, 0x576f,
    -    0x7812, 0x9739, 0x6279, 0x62ab, 0x5288, 0x7435, 0x6bd7, 0x003f,
    -    /* lead byte c6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x826a, 0x826b, 0x826c, 0x826d, 0x8271, 0x8275, 0x8276, 0x8277,
    -    0x8278, 0x827b, 0x827c, 0x8280, 0x8281, 0x8283, 0x8285, 0x8286,
    -    0x8287, 0x8289, 0x828c, 0x8290, 0x8293, 0x8294, 0x8295, 0x8296,
    -    0x829a, 0x829b, 0x829e, 0x82a0, 0x82a2, 0x82a3, 0x82a7, 0x82b2,
    -    0x82b5, 0x82b6, 0x82ba, 0x82bb, 0x82bc, 0x82bf, 0x82c0, 0x82c2,
    -    0x82c3, 0x82c5, 0x82c6, 0x82c9, 0x82d0, 0x82d6, 0x82d9, 0x82da,
    -    0x82dd, 0x82e2, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82ec, 0x82ed,
    -    0x82ee, 0x82f0, 0x82f2, 0x82f3, 0x82f5, 0x82f6, 0x82f8, 0x003f,
    -    0x82fa, 0x82fc, 0x82fd, 0x82fe, 0x82ff, 0x8300, 0x830a, 0x830b,
    -    0x830d, 0x8310, 0x8312, 0x8313, 0x8316, 0x8318, 0x8319, 0x831d,
    -    0x831e, 0x831f, 0x8320, 0x8321, 0x8322, 0x8323, 0x8324, 0x8325,
    -    0x8326, 0x8329, 0x832a, 0x832e, 0x8330, 0x8332, 0x8337, 0x833b,
    -    0x833d, 0x5564, 0x813e, 0x75b2, 0x76ae, 0x5339, 0x75de, 0x50fb,
    -    0x5c41, 0x8b6c, 0x7bc7, 0x504f, 0x7247, 0x9a97, 0x98d8, 0x6f02,
    -    0x74e2, 0x7968, 0x6487, 0x77a5, 0x62fc, 0x9891, 0x8d2b, 0x54c1,
    -    0x8058, 0x4e52, 0x576a, 0x82f9, 0x840d, 0x5e73, 0x51ed, 0x74f6,
    -    0x8bc4, 0x5c4f, 0x5761, 0x6cfc, 0x9887, 0x5a46, 0x7834, 0x9b44,
    -    0x8feb, 0x7c95, 0x5256, 0x6251, 0x94fa, 0x4ec6, 0x8386, 0x8461,
    -    0x83e9, 0x84b2, 0x57d4, 0x6734, 0x5703, 0x666e, 0x6d66, 0x8c31,
    -    0x66dd, 0x7011, 0x671f, 0x6b3a, 0x6816, 0x621a, 0x59bb, 0x4e03,
    -    0x51c4, 0x6f06, 0x67d2, 0x6c8f, 0x5176, 0x68cb, 0x5947, 0x6b67,
    -    0x7566, 0x5d0e, 0x8110, 0x9f50, 0x65d7, 0x7948, 0x7941, 0x9a91,
    -    0x8d77, 0x5c82, 0x4e5e, 0x4f01, 0x542f, 0x5951, 0x780c, 0x5668,
    -    0x6c14, 0x8fc4, 0x5f03, 0x6c7d, 0x6ce3, 0x8bab, 0x6390, 0x003f,
    -    /* lead byte c7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x833e, 0x833f, 0x8341, 0x8342, 0x8344, 0x8345, 0x8348, 0x834a,
    -    0x834b, 0x834c, 0x834d, 0x834e, 0x8353, 0x8355, 0x8356, 0x8357,
    -    0x8358, 0x8359, 0x835d, 0x8362, 0x8370, 0x8371, 0x8372, 0x8373,
    -    0x8374, 0x8375, 0x8376, 0x8379, 0x837a, 0x837e, 0x837f, 0x8380,
    -    0x8381, 0x8382, 0x8383, 0x8384, 0x8387, 0x8388, 0x838a, 0x838b,
    -    0x838c, 0x838d, 0x838f, 0x8390, 0x8391, 0x8394, 0x8395, 0x8396,
    -    0x8397, 0x8399, 0x839a, 0x839d, 0x839f, 0x83a1, 0x83a2, 0x83a3,
    -    0x83a4, 0x83a5, 0x83a6, 0x83a7, 0x83ac, 0x83ad, 0x83ae, 0x003f,
    -    0x83af, 0x83b5, 0x83bb, 0x83be, 0x83bf, 0x83c2, 0x83c3, 0x83c4,
    -    0x83c6, 0x83c8, 0x83c9, 0x83cb, 0x83cd, 0x83ce, 0x83d0, 0x83d1,
    -    0x83d2, 0x83d3, 0x83d5, 0x83d7, 0x83d9, 0x83da, 0x83db, 0x83de,
    -    0x83e2, 0x83e3, 0x83e4, 0x83e6, 0x83e7, 0x83e8, 0x83eb, 0x83ec,
    -    0x83ed, 0x6070, 0x6d3d, 0x7275, 0x6266, 0x948e, 0x94c5, 0x5343,
    -    0x8fc1, 0x7b7e, 0x4edf, 0x8c26, 0x4e7e, 0x9ed4, 0x94b1, 0x94b3,
    -    0x524d, 0x6f5c, 0x9063, 0x6d45, 0x8c34, 0x5811, 0x5d4c, 0x6b20,
    -    0x6b49, 0x67aa, 0x545b, 0x8154, 0x7f8c, 0x5899, 0x8537, 0x5f3a,
    -    0x62a2, 0x6a47, 0x9539, 0x6572, 0x6084, 0x6865, 0x77a7, 0x4e54,
    -    0x4fa8, 0x5de7, 0x9798, 0x64ac, 0x7fd8, 0x5ced, 0x4fcf, 0x7a8d,
    -    0x5207, 0x8304, 0x4e14, 0x602f, 0x7a83, 0x94a6, 0x4fb5, 0x4eb2,
    -    0x79e6, 0x7434, 0x52e4, 0x82b9, 0x64d2, 0x79bd, 0x5bdd, 0x6c81,
    -    0x9752, 0x8f7b, 0x6c22, 0x503e, 0x537f, 0x6e05, 0x64ce, 0x6674,
    -    0x6c30, 0x60c5, 0x9877, 0x8bf7, 0x5e86, 0x743c, 0x7a77, 0x79cb,
    -    0x4e18, 0x90b1, 0x7403, 0x6c42, 0x56da, 0x914b, 0x6cc5, 0x8d8b,
    -    0x533a, 0x86c6, 0x66f2, 0x8eaf, 0x5c48, 0x9a71, 0x6e20, 0x003f,
    -    /* lead byte c8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x83ee, 0x83ef, 0x83f3, 0x83f4, 0x83f5, 0x83f6, 0x83f7, 0x83fa,
    -    0x83fb, 0x83fc, 0x83fe, 0x83ff, 0x8400, 0x8402, 0x8405, 0x8407,
    -    0x8408, 0x8409, 0x840a, 0x8410, 0x8412, 0x8413, 0x8414, 0x8415,
    -    0x8416, 0x8417, 0x8419, 0x841a, 0x841b, 0x841e, 0x841f, 0x8420,
    -    0x8421, 0x8422, 0x8423, 0x8429, 0x842a, 0x842b, 0x842c, 0x842d,
    -    0x842e, 0x842f, 0x8430, 0x8432, 0x8433, 0x8434, 0x8435, 0x8436,
    -    0x8437, 0x8439, 0x843a, 0x843b, 0x843e, 0x843f, 0x8440, 0x8441,
    -    0x8442, 0x8443, 0x8444, 0x8445, 0x8447, 0x8448, 0x8449, 0x003f,
    -    0x844a, 0x844b, 0x844c, 0x844d, 0x844e, 0x844f, 0x8450, 0x8452,
    -    0x8453, 0x8454, 0x8455, 0x8456, 0x8458, 0x845d, 0x845e, 0x845f,
    -    0x8460, 0x8462, 0x8464, 0x8465, 0x8466, 0x8467, 0x8468, 0x846a,
    -    0x846e, 0x846f, 0x8470, 0x8472, 0x8474, 0x8477, 0x8479, 0x847b,
    -    0x847c, 0x53d6, 0x5a36, 0x9f8b, 0x8da3, 0x53bb, 0x5708, 0x98a7,
    -    0x6743, 0x919b, 0x6cc9, 0x5168, 0x75ca, 0x62f3, 0x72ac, 0x5238,
    -    0x529d, 0x7f3a, 0x7094, 0x7638, 0x5374, 0x9e4a, 0x69b7, 0x786e,
    -    0x96c0, 0x88d9, 0x7fa4, 0x7136, 0x71c3, 0x5189, 0x67d3, 0x74e4,
    -    0x58e4, 0x6518, 0x56b7, 0x8ba9, 0x9976, 0x6270, 0x7ed5, 0x60f9,
    -    0x70ed, 0x58ec, 0x4ec1, 0x4eba, 0x5fcd, 0x97e7, 0x4efb, 0x8ba4,
    -    0x5203, 0x598a, 0x7eab, 0x6254, 0x4ecd, 0x65e5, 0x620e, 0x8338,
    -    0x84c9, 0x8363, 0x878d, 0x7194, 0x6eb6, 0x5bb9, 0x7ed2, 0x5197,
    -    0x63c9, 0x67d4, 0x8089, 0x8339, 0x8815, 0x5112, 0x5b7a, 0x5982,
    -    0x8fb1, 0x4e73, 0x6c5d, 0x5165, 0x8925, 0x8f6f, 0x962e, 0x854a,
    -    0x745e, 0x9510, 0x95f0, 0x6da6, 0x82e5, 0x5f31, 0x6492, 0x6d12,
    -    0x8428, 0x816e, 0x9cc3, 0x585e, 0x8d5b, 0x4e09, 0x53c1, 0x003f,
    -    /* lead byte c9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x847d, 0x847e, 0x847f, 0x8480, 0x8481, 0x8483, 0x8484, 0x8485,
    -    0x8486, 0x848a, 0x848d, 0x848f, 0x8490, 0x8491, 0x8492, 0x8493,
    -    0x8494, 0x8495, 0x8496, 0x8498, 0x849a, 0x849b, 0x849d, 0x849e,
    -    0x849f, 0x84a0, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6, 0x84a7,
    -    0x84a8, 0x84a9, 0x84aa, 0x84ab, 0x84ac, 0x84ad, 0x84ae, 0x84b0,
    -    0x84b1, 0x84b3, 0x84b5, 0x84b6, 0x84b7, 0x84bb, 0x84bc, 0x84be,
    -    0x84c0, 0x84c2, 0x84c3, 0x84c5, 0x84c6, 0x84c7, 0x84c8, 0x84cb,
    -    0x84cc, 0x84ce, 0x84cf, 0x84d2, 0x84d4, 0x84d5, 0x84d7, 0x003f,
    -    0x84d8, 0x84d9, 0x84da, 0x84db, 0x84dc, 0x84de, 0x84e1, 0x84e2,
    -    0x84e4, 0x84e7, 0x84e8, 0x84e9, 0x84ea, 0x84eb, 0x84ed, 0x84ee,
    -    0x84ef, 0x84f1, 0x84f2, 0x84f3, 0x84f4, 0x84f5, 0x84f6, 0x84f7,
    -    0x84f8, 0x84f9, 0x84fa, 0x84fb, 0x84fd, 0x84fe, 0x8500, 0x8501,
    -    0x8502, 0x4f1e, 0x6563, 0x6851, 0x55d3, 0x4e27, 0x6414, 0x9a9a,
    -    0x626b, 0x5ac2, 0x745f, 0x8272, 0x6da9, 0x68ee, 0x50e7, 0x838e,
    -    0x7802, 0x6740, 0x5239, 0x6c99, 0x7eb1, 0x50bb, 0x5565, 0x715e,
    -    0x7b5b, 0x6652, 0x73ca, 0x82eb, 0x6749, 0x5c71, 0x5220, 0x717d,
    -    0x886b, 0x95ea, 0x9655, 0x64c5, 0x8d61, 0x81b3, 0x5584, 0x6c55,
    -    0x6247, 0x7f2e, 0x5892, 0x4f24, 0x5546, 0x8d4f, 0x664c, 0x4e0a,
    -    0x5c1a, 0x88f3, 0x68a2, 0x634e, 0x7a0d, 0x70e7, 0x828d, 0x52fa,
    -    0x97f6, 0x5c11, 0x54e8, 0x90b5, 0x7ecd, 0x5962, 0x8d4a, 0x86c7,
    -    0x820c, 0x820d, 0x8d66, 0x6444, 0x5c04, 0x6151, 0x6d89, 0x793e,
    -    0x8bbe, 0x7837, 0x7533, 0x547b, 0x4f38, 0x8eab, 0x6df1, 0x5a20,
    -    0x7ec5, 0x795e, 0x6c88, 0x5ba1, 0x5a76, 0x751a, 0x80be, 0x614e,
    -    0x6e17, 0x58f0, 0x751f, 0x7525, 0x7272, 0x5347, 0x7ef3, 0x003f,
    -    /* lead byte ca */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8503, 0x8504, 0x8505, 0x8506, 0x8507, 0x8508, 0x8509, 0x850a,
    -    0x850b, 0x850d, 0x850e, 0x850f, 0x8510, 0x8512, 0x8514, 0x8515,
    -    0x8516, 0x8518, 0x8519, 0x851b, 0x851c, 0x851d, 0x851e, 0x8520,
    -    0x8522, 0x8523, 0x8524, 0x8525, 0x8526, 0x8527, 0x8528, 0x8529,
    -    0x852a, 0x852d, 0x852e, 0x852f, 0x8530, 0x8531, 0x8532, 0x8533,
    -    0x8534, 0x8535, 0x8536, 0x853e, 0x853f, 0x8540, 0x8541, 0x8542,
    -    0x8544, 0x8545, 0x8546, 0x8547, 0x854b, 0x854c, 0x854d, 0x854e,
    -    0x854f, 0x8550, 0x8551, 0x8552, 0x8553, 0x8554, 0x8555, 0x003f,
    -    0x8557, 0x8558, 0x855a, 0x855b, 0x855c, 0x855d, 0x855f, 0x8560,
    -    0x8561, 0x8562, 0x8563, 0x8565, 0x8566, 0x8567, 0x8569, 0x856a,
    -    0x856b, 0x856c, 0x856d, 0x856e, 0x856f, 0x8570, 0x8571, 0x8573,
    -    0x8575, 0x8576, 0x8577, 0x8578, 0x857c, 0x857d, 0x857f, 0x8580,
    -    0x8581, 0x7701, 0x76db, 0x5269, 0x80dc, 0x5723, 0x5e08, 0x5931,
    -    0x72ee, 0x65bd, 0x6e7f, 0x8bd7, 0x5c38, 0x8671, 0x5341, 0x77f3,
    -    0x62fe, 0x65f6, 0x4ec0, 0x98df, 0x8680, 0x5b9e, 0x8bc6, 0x53f2,
    -    0x77e2, 0x4f7f, 0x5c4e, 0x9a76, 0x59cb, 0x5f0f, 0x793a, 0x58eb,
    -    0x4e16, 0x67ff, 0x4e8b, 0x62ed, 0x8a93, 0x901d, 0x52bf, 0x662f,
    -    0x55dc, 0x566c, 0x9002, 0x4ed5, 0x4f8d, 0x91ca, 0x9970, 0x6c0f,
    -    0x5e02, 0x6043, 0x5ba4, 0x89c6, 0x8bd5, 0x6536, 0x624b, 0x9996,
    -    0x5b88, 0x5bff, 0x6388, 0x552e, 0x53d7, 0x7626, 0x517d, 0x852c,
    -    0x67a2, 0x68b3, 0x6b8a, 0x6292, 0x8f93, 0x53d4, 0x8212, 0x6dd1,
    -    0x758f, 0x4e66, 0x8d4e, 0x5b70, 0x719f, 0x85af, 0x6691, 0x66d9,
    -    0x7f72, 0x8700, 0x9ecd, 0x9f20, 0x5c5e, 0x672f, 0x8ff0, 0x6811,
    -    0x675f, 0x620d, 0x7ad6, 0x5885, 0x5eb6, 0x6570, 0x6f31, 0x003f,
    -    /* lead byte cb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8582, 0x8583, 0x8586, 0x8588, 0x8589, 0x858a, 0x858b, 0x858c,
    -    0x858d, 0x858e, 0x8590, 0x8591, 0x8592, 0x8593, 0x8594, 0x8595,
    -    0x8596, 0x8597, 0x8598, 0x8599, 0x859a, 0x859d, 0x859e, 0x859f,
    -    0x85a0, 0x85a1, 0x85a2, 0x85a3, 0x85a5, 0x85a6, 0x85a7, 0x85a9,
    -    0x85ab, 0x85ac, 0x85ad, 0x85b1, 0x85b2, 0x85b3, 0x85b4, 0x85b5,
    -    0x85b6, 0x85b8, 0x85ba, 0x85bb, 0x85bc, 0x85bd, 0x85be, 0x85bf,
    -    0x85c0, 0x85c2, 0x85c3, 0x85c4, 0x85c5, 0x85c6, 0x85c7, 0x85c8,
    -    0x85ca, 0x85cb, 0x85cc, 0x85cd, 0x85ce, 0x85d1, 0x85d2, 0x003f,
    -    0x85d4, 0x85d6, 0x85d7, 0x85d8, 0x85d9, 0x85da, 0x85db, 0x85dd,
    -    0x85de, 0x85df, 0x85e0, 0x85e1, 0x85e2, 0x85e3, 0x85e5, 0x85e6,
    -    0x85e7, 0x85e8, 0x85ea, 0x85eb, 0x85ec, 0x85ed, 0x85ee, 0x85ef,
    -    0x85f0, 0x85f1, 0x85f2, 0x85f3, 0x85f4, 0x85f5, 0x85f6, 0x85f7,
    -    0x85f8, 0x6055, 0x5237, 0x800d, 0x6454, 0x8870, 0x7529, 0x5e05,
    -    0x6813, 0x62f4, 0x971c, 0x53cc, 0x723d, 0x8c01, 0x6c34, 0x7761,
    -    0x7a0e, 0x542e, 0x77ac, 0x987a, 0x821c, 0x8bf4, 0x7855, 0x6714,
    -    0x70c1, 0x65af, 0x6495, 0x5636, 0x601d, 0x79c1, 0x53f8, 0x4e1d,
    -    0x6b7b, 0x8086, 0x5bfa, 0x55e3, 0x56db, 0x4f3a, 0x4f3c, 0x9972,
    -    0x5df3, 0x677e, 0x8038, 0x6002, 0x9882, 0x9001, 0x5b8b, 0x8bbc,
    -    0x8bf5, 0x641c, 0x8258, 0x64de, 0x55fd, 0x82cf, 0x9165, 0x4fd7,
    -    0x7d20, 0x901f, 0x7c9f, 0x50f3, 0x5851, 0x6eaf, 0x5bbf, 0x8bc9,
    -    0x8083, 0x9178, 0x849c, 0x7b97, 0x867d, 0x968b, 0x968f, 0x7ee5,
    -    0x9ad3, 0x788e, 0x5c81, 0x7a57, 0x9042, 0x96a7, 0x795f, 0x5b59,
    -    0x635f, 0x7b0b, 0x84d1, 0x68ad, 0x5506, 0x7f29, 0x7410, 0x7d22,
    -    0x9501, 0x6240, 0x584c, 0x4ed6, 0x5b83, 0x5979, 0x5854, 0x003f,
    -    /* lead byte cc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x85f9, 0x85fa, 0x85fc, 0x85fd, 0x85fe, 0x8600, 0x8601, 0x8602,
    -    0x8603, 0x8604, 0x8606, 0x8607, 0x8608, 0x8609, 0x860a, 0x860b,
    -    0x860c, 0x860d, 0x860e, 0x860f, 0x8610, 0x8612, 0x8613, 0x8614,
    -    0x8615, 0x8617, 0x8618, 0x8619, 0x861a, 0x861b, 0x861c, 0x861d,
    -    0x861e, 0x861f, 0x8620, 0x8621, 0x8622, 0x8623, 0x8624, 0x8625,
    -    0x8626, 0x8628, 0x862a, 0x862b, 0x862c, 0x862d, 0x862e, 0x862f,
    -    0x8630, 0x8631, 0x8632, 0x8633, 0x8634, 0x8635, 0x8636, 0x8637,
    -    0x8639, 0x863a, 0x863b, 0x863d, 0x863e, 0x863f, 0x8640, 0x003f,
    -    0x8641, 0x8642, 0x8643, 0x8644, 0x8645, 0x8646, 0x8647, 0x8648,
    -    0x8649, 0x864a, 0x864b, 0x864c, 0x8652, 0x8653, 0x8655, 0x8656,
    -    0x8657, 0x8658, 0x8659, 0x865b, 0x865c, 0x865d, 0x865f, 0x8660,
    -    0x8661, 0x8663, 0x8664, 0x8665, 0x8666, 0x8667, 0x8668, 0x8669,
    -    0x866a, 0x736d, 0x631e, 0x8e4b, 0x8e0f, 0x80ce, 0x82d4, 0x62ac,
    -    0x53f0, 0x6cf0, 0x915e, 0x592a, 0x6001, 0x6c70, 0x574d, 0x644a,
    -    0x8d2a, 0x762b, 0x6ee9, 0x575b, 0x6a80, 0x75f0, 0x6f6d, 0x8c2d,
    -    0x8c08, 0x5766, 0x6bef, 0x8892, 0x78b3, 0x63a2, 0x53f9, 0x70ad,
    -    0x6c64, 0x5858, 0x642a, 0x5802, 0x68e0, 0x819b, 0x5510, 0x7cd6,
    -    0x5018, 0x8eba, 0x6dcc, 0x8d9f, 0x70eb, 0x638f, 0x6d9b, 0x6ed4,
    -    0x7ee6, 0x8404, 0x6843, 0x9003, 0x6dd8, 0x9676, 0x8ba8, 0x5957,
    -    0x7279, 0x85e4, 0x817e, 0x75bc, 0x8a8a, 0x68af, 0x5254, 0x8e22,
    -    0x9511, 0x63d0, 0x9898, 0x8e44, 0x557c, 0x4f53, 0x66ff, 0x568f,
    -    0x60d5, 0x6d95, 0x5243, 0x5c49, 0x5929, 0x6dfb, 0x586b, 0x7530,
    -    0x751c, 0x606c, 0x8214, 0x8146, 0x6311, 0x6761, 0x8fe2, 0x773a,
    -    0x8df3, 0x8d34, 0x94c1, 0x5e16, 0x5385, 0x542c, 0x70c3, 0x003f,
    -    /* lead byte cd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x866d, 0x866f, 0x8670, 0x8672, 0x8673, 0x8674, 0x8675, 0x8676,
    -    0x8677, 0x8678, 0x8683, 0x8684, 0x8685, 0x8686, 0x8687, 0x8688,
    -    0x8689, 0x868e, 0x868f, 0x8690, 0x8691, 0x8692, 0x8694, 0x8696,
    -    0x8697, 0x8698, 0x8699, 0x869a, 0x869b, 0x869e, 0x869f, 0x86a0,
    -    0x86a1, 0x86a2, 0x86a5, 0x86a6, 0x86ab, 0x86ad, 0x86ae, 0x86b2,
    -    0x86b3, 0x86b7, 0x86b8, 0x86b9, 0x86bb, 0x86bc, 0x86bd, 0x86be,
    -    0x86bf, 0x86c1, 0x86c2, 0x86c3, 0x86c5, 0x86c8, 0x86cc, 0x86cd,
    -    0x86d2, 0x86d3, 0x86d5, 0x86d6, 0x86d7, 0x86da, 0x86dc, 0x003f,
    -    0x86dd, 0x86e0, 0x86e1, 0x86e2, 0x86e3, 0x86e5, 0x86e6, 0x86e7,
    -    0x86e8, 0x86ea, 0x86eb, 0x86ec, 0x86ef, 0x86f5, 0x86f6, 0x86f7,
    -    0x86fa, 0x86fb, 0x86fc, 0x86fd, 0x86ff, 0x8701, 0x8704, 0x8705,
    -    0x8706, 0x870b, 0x870c, 0x870e, 0x870f, 0x8710, 0x8711, 0x8714,
    -    0x8716, 0x6c40, 0x5ef7, 0x505c, 0x4ead, 0x5ead, 0x633a, 0x8247,
    -    0x901a, 0x6850, 0x916e, 0x77b3, 0x540c, 0x94dc, 0x5f64, 0x7ae5,
    -    0x6876, 0x6345, 0x7b52, 0x7edf, 0x75db, 0x5077, 0x6295, 0x5934,
    -    0x900f, 0x51f8, 0x79c3, 0x7a81, 0x56fe, 0x5f92, 0x9014, 0x6d82,
    -    0x5c60, 0x571f, 0x5410, 0x5154, 0x6e4d, 0x56e2, 0x63a8, 0x9893,
    -    0x817f, 0x8715, 0x892a, 0x9000, 0x541e, 0x5c6f, 0x81c0, 0x62d6,
    -    0x6258, 0x8131, 0x9e35, 0x9640, 0x9a6e, 0x9a7c, 0x692d, 0x59a5,
    -    0x62d3, 0x553e, 0x6316, 0x54c7, 0x86d9, 0x6d3c, 0x5a03, 0x74e6,
    -    0x889c, 0x6b6a, 0x5916, 0x8c4c, 0x5f2f, 0x6e7e, 0x73a9, 0x987d,
    -    0x4e38, 0x70f7, 0x5b8c, 0x7897, 0x633d, 0x665a, 0x7696, 0x60cb,
    -    0x5b9b, 0x5a49, 0x4e07, 0x8155, 0x6c6a, 0x738b, 0x4ea1, 0x6789,
    -    0x7f51, 0x5f80, 0x65fa, 0x671b, 0x5fd8, 0x5984, 0x5a01, 0x003f,
    -    /* lead byte ce */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8719, 0x871b, 0x871d, 0x871f, 0x8720, 0x8724, 0x8726, 0x8727,
    -    0x8728, 0x872a, 0x872b, 0x872c, 0x872d, 0x872f, 0x8730, 0x8732,
    -    0x8733, 0x8735, 0x8736, 0x8738, 0x8739, 0x873a, 0x873c, 0x873d,
    -    0x8740, 0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, 0x874a,
    -    0x874b, 0x874d, 0x874f, 0x8750, 0x8751, 0x8752, 0x8754, 0x8755,
    -    0x8756, 0x8758, 0x875a, 0x875b, 0x875c, 0x875d, 0x875e, 0x875f,
    -    0x8761, 0x8762, 0x8766, 0x8767, 0x8768, 0x8769, 0x876a, 0x876b,
    -    0x876c, 0x876d, 0x876f, 0x8771, 0x8772, 0x8773, 0x8775, 0x003f,
    -    0x8777, 0x8778, 0x8779, 0x877a, 0x877f, 0x8780, 0x8781, 0x8784,
    -    0x8786, 0x8787, 0x8789, 0x878a, 0x878c, 0x878e, 0x878f, 0x8790,
    -    0x8791, 0x8792, 0x8794, 0x8795, 0x8796, 0x8798, 0x8799, 0x879a,
    -    0x879b, 0x879c, 0x879d, 0x879e, 0x87a0, 0x87a1, 0x87a2, 0x87a3,
    -    0x87a4, 0x5dcd, 0x5fae, 0x5371, 0x97e6, 0x8fdd, 0x6845, 0x56f4,
    -    0x552f, 0x60df, 0x4e3a, 0x6f4d, 0x7ef4, 0x82c7, 0x840e, 0x59d4,
    -    0x4f1f, 0x4f2a, 0x5c3e, 0x7eac, 0x672a, 0x851a, 0x5473, 0x754f,
    -    0x80c3, 0x5582, 0x9b4f, 0x4f4d, 0x6e2d, 0x8c13, 0x5c09, 0x6170,
    -    0x536b, 0x761f, 0x6e29, 0x868a, 0x6587, 0x95fb, 0x7eb9, 0x543b,
    -    0x7a33, 0x7d0a, 0x95ee, 0x55e1, 0x7fc1, 0x74ee, 0x631d, 0x8717,
    -    0x6da1, 0x7a9d, 0x6211, 0x65a1, 0x5367, 0x63e1, 0x6c83, 0x5deb,
    -    0x545c, 0x94a8, 0x4e4c, 0x6c61, 0x8bec, 0x5c4b, 0x65e0, 0x829c,
    -    0x68a7, 0x543e, 0x5434, 0x6bcb, 0x6b66, 0x4e94, 0x6342, 0x5348,
    -    0x821e, 0x4f0d, 0x4fae, 0x575e, 0x620a, 0x96fe, 0x6664, 0x7269,
    -    0x52ff, 0x52a1, 0x609f, 0x8bef, 0x6614, 0x7199, 0x6790, 0x897f,
    -    0x7852, 0x77fd, 0x6670, 0x563b, 0x5438, 0x9521, 0x727a, 0x003f,
    -    /* lead byte cf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x87a5, 0x87a6, 0x87a7, 0x87a9, 0x87aa, 0x87ae, 0x87b0, 0x87b1,
    -    0x87b2, 0x87b4, 0x87b6, 0x87b7, 0x87b8, 0x87b9, 0x87bb, 0x87bc,
    -    0x87be, 0x87bf, 0x87c1, 0x87c2, 0x87c3, 0x87c4, 0x87c5, 0x87c7,
    -    0x87c8, 0x87c9, 0x87cc, 0x87cd, 0x87ce, 0x87cf, 0x87d0, 0x87d4,
    -    0x87d5, 0x87d6, 0x87d7, 0x87d8, 0x87d9, 0x87da, 0x87dc, 0x87dd,
    -    0x87de, 0x87df, 0x87e1, 0x87e2, 0x87e3, 0x87e4, 0x87e6, 0x87e7,
    -    0x87e8, 0x87e9, 0x87eb, 0x87ec, 0x87ed, 0x87ef, 0x87f0, 0x87f1,
    -    0x87f2, 0x87f3, 0x87f4, 0x87f5, 0x87f6, 0x87f7, 0x87f8, 0x003f,
    -    0x87fa, 0x87fb, 0x87fc, 0x87fd, 0x87ff, 0x8800, 0x8801, 0x8802,
    -    0x8804, 0x8805, 0x8806, 0x8807, 0x8808, 0x8809, 0x880b, 0x880c,
    -    0x880d, 0x880e, 0x880f, 0x8810, 0x8811, 0x8812, 0x8814, 0x8817,
    -    0x8818, 0x8819, 0x881a, 0x881c, 0x881d, 0x881e, 0x881f, 0x8820,
    -    0x8823, 0x7a00, 0x606f, 0x5e0c, 0x6089, 0x819d, 0x5915, 0x60dc,
    -    0x7184, 0x70ef, 0x6eaa, 0x6c50, 0x7280, 0x6a84, 0x88ad, 0x5e2d,
    -    0x4e60, 0x5ab3, 0x559c, 0x94e3, 0x6d17, 0x7cfb, 0x9699, 0x620f,
    -    0x7ec6, 0x778e, 0x867e, 0x5323, 0x971e, 0x8f96, 0x6687, 0x5ce1,
    -    0x4fa0, 0x72ed, 0x4e0b, 0x53a6, 0x590f, 0x5413, 0x6380, 0x9528,
    -    0x5148, 0x4ed9, 0x9c9c, 0x7ea4, 0x54b8, 0x8d24, 0x8854, 0x8237,
    -    0x95f2, 0x6d8e, 0x5f26, 0x5acc, 0x663e, 0x9669, 0x73b0, 0x732e,
    -    0x53bf, 0x817a, 0x9985, 0x7fa1, 0x5baa, 0x9677, 0x9650, 0x7ebf,
    -    0x76f8, 0x53a2, 0x9576, 0x9999, 0x7bb1, 0x8944, 0x6e58, 0x4e61,
    -    0x7fd4, 0x7965, 0x8be6, 0x60f3, 0x54cd, 0x4eab, 0x9879, 0x5df7,
    -    0x6a61, 0x50cf, 0x5411, 0x8c61, 0x8427, 0x785d, 0x9704, 0x524a,
    -    0x54ee, 0x56a3, 0x9500, 0x6d88, 0x5bb5, 0x6dc6, 0x6653, 0x003f,
    -    /* lead byte d0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8824, 0x8825, 0x8826, 0x8827, 0x8828, 0x8829, 0x882a, 0x882b,
    -    0x882c, 0x882d, 0x882e, 0x882f, 0x8830, 0x8831, 0x8833, 0x8834,
    -    0x8835, 0x8836, 0x8837, 0x8838, 0x883a, 0x883b, 0x883d, 0x883e,
    -    0x883f, 0x8841, 0x8842, 0x8843, 0x8846, 0x8847, 0x8848, 0x8849,
    -    0x884a, 0x884b, 0x884e, 0x884f, 0x8850, 0x8851, 0x8852, 0x8853,
    -    0x8855, 0x8856, 0x8858, 0x885a, 0x885b, 0x885c, 0x885d, 0x885e,
    -    0x885f, 0x8860, 0x8866, 0x8867, 0x886a, 0x886d, 0x886f, 0x8871,
    -    0x8873, 0x8874, 0x8875, 0x8876, 0x8878, 0x8879, 0x887a, 0x003f,
    -    0x887b, 0x887c, 0x8880, 0x8883, 0x8886, 0x8887, 0x8889, 0x888a,
    -    0x888c, 0x888e, 0x888f, 0x8890, 0x8891, 0x8893, 0x8894, 0x8895,
    -    0x8897, 0x8898, 0x8899, 0x889a, 0x889b, 0x889d, 0x889e, 0x889f,
    -    0x88a0, 0x88a1, 0x88a3, 0x88a5, 0x88a6, 0x88a7, 0x88a8, 0x88a9,
    -    0x88aa, 0x5c0f, 0x5b5d, 0x6821, 0x8096, 0x5578, 0x7b11, 0x6548,
    -    0x6954, 0x4e9b, 0x6b47, 0x874e, 0x978b, 0x534f, 0x631f, 0x643a,
    -    0x90aa, 0x659c, 0x80c1, 0x8c10, 0x5199, 0x68b0, 0x5378, 0x87f9,
    -    0x61c8, 0x6cc4, 0x6cfb, 0x8c22, 0x5c51, 0x85aa, 0x82af, 0x950c,
    -    0x6b23, 0x8f9b, 0x65b0, 0x5ffb, 0x5fc3, 0x4fe1, 0x8845, 0x661f,
    -    0x8165, 0x7329, 0x60fa, 0x5174, 0x5211, 0x578b, 0x5f62, 0x90a2,
    -    0x884c, 0x9192, 0x5e78, 0x674f, 0x6027, 0x59d3, 0x5144, 0x51f6,
    -    0x80f8, 0x5308, 0x6c79, 0x96c4, 0x718a, 0x4f11, 0x4fee, 0x7f9e,
    -    0x673d, 0x55c5, 0x9508, 0x79c0, 0x8896, 0x7ee3, 0x589f, 0x620c,
    -    0x9700, 0x865a, 0x5618, 0x987b, 0x5f90, 0x8bb8, 0x84c4, 0x9157,
    -    0x53d9, 0x65ed, 0x5e8f, 0x755c, 0x6064, 0x7d6e, 0x5a7f, 0x7eea,
    -    0x7eed, 0x8f69, 0x55a7, 0x5ba3, 0x60ac, 0x65cb, 0x7384, 0x003f,
    -    /* lead byte d1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x88ac, 0x88ae, 0x88af, 0x88b0, 0x88b2, 0x88b3, 0x88b4, 0x88b5,
    -    0x88b6, 0x88b8, 0x88b9, 0x88ba, 0x88bb, 0x88bd, 0x88be, 0x88bf,
    -    0x88c0, 0x88c3, 0x88c4, 0x88c7, 0x88c8, 0x88ca, 0x88cb, 0x88cc,
    -    0x88cd, 0x88cf, 0x88d0, 0x88d1, 0x88d3, 0x88d6, 0x88d7, 0x88da,
    -    0x88db, 0x88dc, 0x88dd, 0x88de, 0x88e0, 0x88e1, 0x88e6, 0x88e7,
    -    0x88e9, 0x88ea, 0x88eb, 0x88ec, 0x88ed, 0x88ee, 0x88ef, 0x88f2,
    -    0x88f5, 0x88f6, 0x88f7, 0x88fa, 0x88fb, 0x88fd, 0x88ff, 0x8900,
    -    0x8901, 0x8903, 0x8904, 0x8905, 0x8906, 0x8907, 0x8908, 0x003f,
    -    0x8909, 0x890b, 0x890c, 0x890d, 0x890e, 0x890f, 0x8911, 0x8914,
    -    0x8915, 0x8916, 0x8917, 0x8918, 0x891c, 0x891d, 0x891e, 0x891f,
    -    0x8920, 0x8922, 0x8923, 0x8924, 0x8926, 0x8927, 0x8928, 0x8929,
    -    0x892c, 0x892d, 0x892e, 0x892f, 0x8931, 0x8932, 0x8933, 0x8935,
    -    0x8937, 0x9009, 0x7663, 0x7729, 0x7eda, 0x9774, 0x859b, 0x5b66,
    -    0x7a74, 0x96ea, 0x8840, 0x52cb, 0x718f, 0x5faa, 0x65ec, 0x8be2,
    -    0x5bfb, 0x9a6f, 0x5de1, 0x6b89, 0x6c5b, 0x8bad, 0x8baf, 0x900a,
    -    0x8fc5, 0x538b, 0x62bc, 0x9e26, 0x9e2d, 0x5440, 0x4e2b, 0x82bd,
    -    0x7259, 0x869c, 0x5d16, 0x8859, 0x6daf, 0x96c5, 0x54d1, 0x4e9a,
    -    0x8bb6, 0x7109, 0x54bd, 0x9609, 0x70df, 0x6df9, 0x76d0, 0x4e25,
    -    0x7814, 0x8712, 0x5ca9, 0x5ef6, 0x8a00, 0x989c, 0x960e, 0x708e,
    -    0x6cbf, 0x5944, 0x63a9, 0x773c, 0x884d, 0x6f14, 0x8273, 0x5830,
    -    0x71d5, 0x538c, 0x781a, 0x96c1, 0x5501, 0x5f66, 0x7130, 0x5bb4,
    -    0x8c1a, 0x9a8c, 0x6b83, 0x592e, 0x9e2f, 0x79e7, 0x6768, 0x626c,
    -    0x4f6f, 0x75a1, 0x7f8a, 0x6d0b, 0x9633, 0x6c27, 0x4ef0, 0x75d2,
    -    0x517b, 0x6837, 0x6f3e, 0x9080, 0x8170, 0x5996, 0x7476, 0x003f,
    -    /* lead byte d2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8938, 0x8939, 0x893a, 0x893b, 0x893c, 0x893d, 0x893e, 0x893f,
    -    0x8940, 0x8942, 0x8943, 0x8945, 0x8946, 0x8947, 0x8948, 0x8949,
    -    0x894a, 0x894b, 0x894c, 0x894d, 0x894e, 0x894f, 0x8950, 0x8951,
    -    0x8952, 0x8953, 0x8954, 0x8955, 0x8956, 0x8957, 0x8958, 0x8959,
    -    0x895a, 0x895b, 0x895c, 0x895d, 0x8960, 0x8961, 0x8962, 0x8963,
    -    0x8964, 0x8965, 0x8967, 0x8968, 0x8969, 0x896a, 0x896b, 0x896c,
    -    0x896d, 0x896e, 0x896f, 0x8970, 0x8971, 0x8972, 0x8973, 0x8974,
    -    0x8975, 0x8976, 0x8977, 0x8978, 0x8979, 0x897a, 0x897c, 0x003f,
    -    0x897d, 0x897e, 0x8980, 0x8982, 0x8984, 0x8985, 0x8987, 0x8988,
    -    0x8989, 0x898a, 0x898b, 0x898c, 0x898d, 0x898e, 0x898f, 0x8990,
    -    0x8991, 0x8992, 0x8993, 0x8994, 0x8995, 0x8996, 0x8997, 0x8998,
    -    0x8999, 0x899a, 0x899b, 0x899c, 0x899d, 0x899e, 0x899f, 0x89a0,
    -    0x89a1, 0x6447, 0x5c27, 0x9065, 0x7a91, 0x8c23, 0x59da, 0x54ac,
    -    0x8200, 0x836f, 0x8981, 0x8000, 0x6930, 0x564e, 0x8036, 0x7237,
    -    0x91ce, 0x51b6, 0x4e5f, 0x9875, 0x6396, 0x4e1a, 0x53f6, 0x66f3,
    -    0x814b, 0x591c, 0x6db2, 0x4e00, 0x58f9, 0x533b, 0x63d6, 0x94f1,
    -    0x4f9d, 0x4f0a, 0x8863, 0x9890, 0x5937, 0x9057, 0x79fb, 0x4eea,
    -    0x80f0, 0x7591, 0x6c82, 0x5b9c, 0x59e8, 0x5f5d, 0x6905, 0x8681,
    -    0x501a, 0x5df2, 0x4e59, 0x77e3, 0x4ee5, 0x827a, 0x6291, 0x6613,
    -    0x9091, 0x5c79, 0x4ebf, 0x5f79, 0x81c6, 0x9038, 0x8084, 0x75ab,
    -    0x4ea6, 0x88d4, 0x610f, 0x6bc5, 0x5fc6, 0x4e49, 0x76ca, 0x6ea2,
    -    0x8be3, 0x8bae, 0x8c0a, 0x8bd1, 0x5f02, 0x7ffc, 0x7fcc, 0x7ece,
    -    0x8335, 0x836b, 0x56e0, 0x6bb7, 0x97f3, 0x9634, 0x59fb, 0x541f,
    -    0x94f6, 0x6deb, 0x5bc5, 0x996e, 0x5c39, 0x5f15, 0x9690, 0x003f,
    -    /* lead byte d3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x89a2, 0x89a3, 0x89a4, 0x89a5, 0x89a6, 0x89a7, 0x89a8, 0x89a9,
    -    0x89aa, 0x89ab, 0x89ac, 0x89ad, 0x89ae, 0x89af, 0x89b0, 0x89b1,
    -    0x89b2, 0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7, 0x89b8, 0x89b9,
    -    0x89ba, 0x89bb, 0x89bc, 0x89bd, 0x89be, 0x89bf, 0x89c0, 0x89c3,
    -    0x89cd, 0x89d3, 0x89d4, 0x89d5, 0x89d7, 0x89d8, 0x89d9, 0x89db,
    -    0x89dd, 0x89df, 0x89e0, 0x89e1, 0x89e2, 0x89e4, 0x89e7, 0x89e8,
    -    0x89e9, 0x89ea, 0x89ec, 0x89ed, 0x89ee, 0x89f0, 0x89f1, 0x89f2,
    -    0x89f4, 0x89f5, 0x89f6, 0x89f7, 0x89f8, 0x89f9, 0x89fa, 0x003f,
    -    0x89fb, 0x89fc, 0x89fd, 0x89fe, 0x89ff, 0x8a01, 0x8a02, 0x8a03,
    -    0x8a04, 0x8a05, 0x8a06, 0x8a08, 0x8a09, 0x8a0a, 0x8a0b, 0x8a0c,
    -    0x8a0d, 0x8a0e, 0x8a0f, 0x8a10, 0x8a11, 0x8a12, 0x8a13, 0x8a14,
    -    0x8a15, 0x8a16, 0x8a17, 0x8a18, 0x8a19, 0x8a1a, 0x8a1b, 0x8a1c,
    -    0x8a1d, 0x5370, 0x82f1, 0x6a31, 0x5a74, 0x9e70, 0x5e94, 0x7f28,
    -    0x83b9, 0x8424, 0x8425, 0x8367, 0x8747, 0x8fce, 0x8d62, 0x76c8,
    -    0x5f71, 0x9896, 0x786c, 0x6620, 0x54df, 0x62e5, 0x4f63, 0x81c3,
    -    0x75c8, 0x5eb8, 0x96cd, 0x8e0a, 0x86f9, 0x548f, 0x6cf3, 0x6d8c,
    -    0x6c38, 0x607f, 0x52c7, 0x7528, 0x5e7d, 0x4f18, 0x60a0, 0x5fe7,
    -    0x5c24, 0x7531, 0x90ae, 0x94c0, 0x72b9, 0x6cb9, 0x6e38, 0x9149,
    -    0x6709, 0x53cb, 0x53f3, 0x4f51, 0x91c9, 0x8bf1, 0x53c8, 0x5e7c,
    -    0x8fc2, 0x6de4, 0x4e8e, 0x76c2, 0x6986, 0x865e, 0x611a, 0x8206,
    -    0x4f59, 0x4fde, 0x903e, 0x9c7c, 0x6109, 0x6e1d, 0x6e14, 0x9685,
    -    0x4e88, 0x5a31, 0x96e8, 0x4e0e, 0x5c7f, 0x79b9, 0x5b87, 0x8bed,
    -    0x7fbd, 0x7389, 0x57df, 0x828b, 0x90c1, 0x5401, 0x9047, 0x55bb,
    -    0x5cea, 0x5fa1, 0x6108, 0x6b32, 0x72f1, 0x80b2, 0x8a89, 0x003f,
    -    /* lead byte d4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8a1e, 0x8a1f, 0x8a20, 0x8a21, 0x8a22, 0x8a23, 0x8a24, 0x8a25,
    -    0x8a26, 0x8a27, 0x8a28, 0x8a29, 0x8a2a, 0x8a2b, 0x8a2c, 0x8a2d,
    -    0x8a2e, 0x8a2f, 0x8a30, 0x8a31, 0x8a32, 0x8a33, 0x8a34, 0x8a35,
    -    0x8a36, 0x8a37, 0x8a38, 0x8a39, 0x8a3a, 0x8a3b, 0x8a3c, 0x8a3d,
    -    0x8a3f, 0x8a40, 0x8a41, 0x8a42, 0x8a43, 0x8a44, 0x8a45, 0x8a46,
    -    0x8a47, 0x8a49, 0x8a4a, 0x8a4b, 0x8a4c, 0x8a4d, 0x8a4e, 0x8a4f,
    -    0x8a50, 0x8a51, 0x8a52, 0x8a53, 0x8a54, 0x8a55, 0x8a56, 0x8a57,
    -    0x8a58, 0x8a59, 0x8a5a, 0x8a5b, 0x8a5c, 0x8a5d, 0x8a5e, 0x003f,
    -    0x8a5f, 0x8a60, 0x8a61, 0x8a62, 0x8a63, 0x8a64, 0x8a65, 0x8a66,
    -    0x8a67, 0x8a68, 0x8a69, 0x8a6a, 0x8a6b, 0x8a6c, 0x8a6d, 0x8a6e,
    -    0x8a6f, 0x8a70, 0x8a71, 0x8a72, 0x8a73, 0x8a74, 0x8a75, 0x8a76,
    -    0x8a77, 0x8a78, 0x8a7a, 0x8a7b, 0x8a7c, 0x8a7d, 0x8a7e, 0x8a7f,
    -    0x8a80, 0x6d74, 0x5bd3, 0x88d5, 0x9884, 0x8c6b, 0x9a6d, 0x9e33,
    -    0x6e0a, 0x51a4, 0x5143, 0x57a3, 0x8881, 0x539f, 0x63f4, 0x8f95,
    -    0x56ed, 0x5458, 0x5706, 0x733f, 0x6e90, 0x7f18, 0x8fdc, 0x82d1,
    -    0x613f, 0x6028, 0x9662, 0x66f0, 0x7ea6, 0x8d8a, 0x8dc3, 0x94a5,
    -    0x5cb3, 0x7ca4, 0x6708, 0x60a6, 0x9605, 0x8018, 0x4e91, 0x90e7,
    -    0x5300, 0x9668, 0x5141, 0x8fd0, 0x8574, 0x915d, 0x6655, 0x97f5,
    -    0x5b55, 0x531d, 0x7838, 0x6742, 0x683d, 0x54c9, 0x707e, 0x5bb0,
    -    0x8f7d, 0x518d, 0x5728, 0x54b1, 0x6512, 0x6682, 0x8d5e, 0x8d43,
    -    0x810f, 0x846c, 0x906d, 0x7cdf, 0x51ff, 0x85fb, 0x67a3, 0x65e9,
    -    0x6fa1, 0x86a4, 0x8e81, 0x566a, 0x9020, 0x7682, 0x7076, 0x71e5,
    -    0x8d23, 0x62e9, 0x5219, 0x6cfd, 0x8d3c, 0x600e, 0x589e, 0x618e,
    -    0x66fe, 0x8d60, 0x624e, 0x55b3, 0x6e23, 0x672d, 0x8f67, 0x003f,
    -    /* lead byte d5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8a81, 0x8a82, 0x8a83, 0x8a84, 0x8a85, 0x8a86, 0x8a87, 0x8a88,
    -    0x8a8b, 0x8a8c, 0x8a8d, 0x8a8e, 0x8a8f, 0x8a90, 0x8a91, 0x8a92,
    -    0x8a94, 0x8a95, 0x8a96, 0x8a97, 0x8a98, 0x8a99, 0x8a9a, 0x8a9b,
    -    0x8a9c, 0x8a9d, 0x8a9e, 0x8a9f, 0x8aa0, 0x8aa1, 0x8aa2, 0x8aa3,
    -    0x8aa4, 0x8aa5, 0x8aa6, 0x8aa7, 0x8aa8, 0x8aa9, 0x8aaa, 0x8aab,
    -    0x8aac, 0x8aad, 0x8aae, 0x8aaf, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3,
    -    0x8ab4, 0x8ab5, 0x8ab6, 0x8ab7, 0x8ab8, 0x8ab9, 0x8aba, 0x8abb,
    -    0x8abc, 0x8abd, 0x8abe, 0x8abf, 0x8ac0, 0x8ac1, 0x8ac2, 0x003f,
    -    0x8ac3, 0x8ac4, 0x8ac5, 0x8ac6, 0x8ac7, 0x8ac8, 0x8ac9, 0x8aca,
    -    0x8acb, 0x8acc, 0x8acd, 0x8ace, 0x8acf, 0x8ad0, 0x8ad1, 0x8ad2,
    -    0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0x8ad7, 0x8ad8, 0x8ad9, 0x8ada,
    -    0x8adb, 0x8adc, 0x8add, 0x8ade, 0x8adf, 0x8ae0, 0x8ae1, 0x8ae2,
    -    0x8ae3, 0x94e1, 0x95f8, 0x7728, 0x6805, 0x69a8, 0x548b, 0x4e4d,
    -    0x70b8, 0x8bc8, 0x6458, 0x658b, 0x5b85, 0x7a84, 0x503a, 0x5be8,
    -    0x77bb, 0x6be1, 0x8a79, 0x7c98, 0x6cbe, 0x76cf, 0x65a9, 0x8f97,
    -    0x5d2d, 0x5c55, 0x8638, 0x6808, 0x5360, 0x6218, 0x7ad9, 0x6e5b,
    -    0x7efd, 0x6a1f, 0x7ae0, 0x5f70, 0x6f33, 0x5f20, 0x638c, 0x6da8,
    -    0x6756, 0x4e08, 0x5e10, 0x8d26, 0x4ed7, 0x80c0, 0x7634, 0x969c,
    -    0x62db, 0x662d, 0x627e, 0x6cbc, 0x8d75, 0x7167, 0x7f69, 0x5146,
    -    0x8087, 0x53ec, 0x906e, 0x6298, 0x54f2, 0x86f0, 0x8f99, 0x8005,
    -    0x9517, 0x8517, 0x8fd9, 0x6d59, 0x73cd, 0x659f, 0x771f, 0x7504,
    -    0x7827, 0x81fb, 0x8d1e, 0x9488, 0x4fa6, 0x6795, 0x75b9, 0x8bca,
    -    0x9707, 0x632f, 0x9547, 0x9635, 0x84b8, 0x6323, 0x7741, 0x5f81,
    -    0x72f0, 0x4e89, 0x6014, 0x6574, 0x62ef, 0x6b63, 0x653f, 0x003f,
    -    /* lead byte d6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8ae4, 0x8ae5, 0x8ae6, 0x8ae7, 0x8ae8, 0x8ae9, 0x8aea, 0x8aeb,
    -    0x8aec, 0x8aed, 0x8aee, 0x8aef, 0x8af0, 0x8af1, 0x8af2, 0x8af3,
    -    0x8af4, 0x8af5, 0x8af6, 0x8af7, 0x8af8, 0x8af9, 0x8afa, 0x8afb,
    -    0x8afc, 0x8afd, 0x8afe, 0x8aff, 0x8b00, 0x8b01, 0x8b02, 0x8b03,
    -    0x8b04, 0x8b05, 0x8b06, 0x8b08, 0x8b09, 0x8b0a, 0x8b0b, 0x8b0c,
    -    0x8b0d, 0x8b0e, 0x8b0f, 0x8b10, 0x8b11, 0x8b12, 0x8b13, 0x8b14,
    -    0x8b15, 0x8b16, 0x8b17, 0x8b18, 0x8b19, 0x8b1a, 0x8b1b, 0x8b1c,
    -    0x8b1d, 0x8b1e, 0x8b1f, 0x8b20, 0x8b21, 0x8b22, 0x8b23, 0x003f,
    -    0x8b24, 0x8b25, 0x8b27, 0x8b28, 0x8b29, 0x8b2a, 0x8b2b, 0x8b2c,
    -    0x8b2d, 0x8b2e, 0x8b2f, 0x8b30, 0x8b31, 0x8b32, 0x8b33, 0x8b34,
    -    0x8b35, 0x8b36, 0x8b37, 0x8b38, 0x8b39, 0x8b3a, 0x8b3b, 0x8b3c,
    -    0x8b3d, 0x8b3e, 0x8b3f, 0x8b40, 0x8b41, 0x8b42, 0x8b43, 0x8b44,
    -    0x8b45, 0x5e27, 0x75c7, 0x90d1, 0x8bc1, 0x829d, 0x679d, 0x652f,
    -    0x5431, 0x8718, 0x77e5, 0x80a2, 0x8102, 0x6c41, 0x4e4b, 0x7ec7,
    -    0x804c, 0x76f4, 0x690d, 0x6b96, 0x6267, 0x503c, 0x4f84, 0x5740,
    -    0x6307, 0x6b62, 0x8dbe, 0x53ea, 0x65e8, 0x7eb8, 0x5fd7, 0x631a,
    -    0x63b7, 0x81f3, 0x81f4, 0x7f6e, 0x5e1c, 0x5cd9, 0x5236, 0x667a,
    -    0x79e9, 0x7a1a, 0x8d28, 0x7099, 0x75d4, 0x6ede, 0x6cbb, 0x7a92,
    -    0x4e2d, 0x76c5, 0x5fe0, 0x949f, 0x8877, 0x7ec8, 0x79cd, 0x80bf,
    -    0x91cd, 0x4ef2, 0x4f17, 0x821f, 0x5468, 0x5dde, 0x6d32, 0x8bcc,
    -    0x7ca5, 0x8f74, 0x8098, 0x5e1a, 0x5492, 0x76b1, 0x5b99, 0x663c,
    -    0x9aa4, 0x73e0, 0x682a, 0x86db, 0x6731, 0x732a, 0x8bf8, 0x8bdb,
    -    0x9010, 0x7af9, 0x70db, 0x716e, 0x62c4, 0x77a9, 0x5631, 0x4e3b,
    -    0x8457, 0x67f1, 0x52a9, 0x86c0, 0x8d2e, 0x94f8, 0x7b51, 0x003f,
    -    /* lead byte d7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b46, 0x8b47, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b, 0x8b4c, 0x8b4d,
    -    0x8b4e, 0x8b4f, 0x8b50, 0x8b51, 0x8b52, 0x8b53, 0x8b54, 0x8b55,
    -    0x8b56, 0x8b57, 0x8b58, 0x8b59, 0x8b5a, 0x8b5b, 0x8b5c, 0x8b5d,
    -    0x8b5e, 0x8b5f, 0x8b60, 0x8b61, 0x8b62, 0x8b63, 0x8b64, 0x8b65,
    -    0x8b67, 0x8b68, 0x8b69, 0x8b6a, 0x8b6b, 0x8b6d, 0x8b6e, 0x8b6f,
    -    0x8b70, 0x8b71, 0x8b72, 0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77,
    -    0x8b78, 0x8b79, 0x8b7a, 0x8b7b, 0x8b7c, 0x8b7d, 0x8b7e, 0x8b7f,
    -    0x8b80, 0x8b81, 0x8b82, 0x8b83, 0x8b84, 0x8b85, 0x8b86, 0x003f,
    -    0x8b87, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0x8b8d, 0x8b8e,
    -    0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93, 0x8b94, 0x8b95, 0x8b96,
    -    0x8b97, 0x8b98, 0x8b99, 0x8b9a, 0x8b9b, 0x8b9c, 0x8b9d, 0x8b9e,
    -    0x8b9f, 0x8bac, 0x8bb1, 0x8bbb, 0x8bc7, 0x8bd0, 0x8bea, 0x8c09,
    -    0x8c1e, 0x4f4f, 0x6ce8, 0x795d, 0x9a7b, 0x6293, 0x722a, 0x62fd,
    -    0x4e13, 0x7816, 0x8f6c, 0x64b0, 0x8d5a, 0x7bc6, 0x6869, 0x5e84,
    -    0x88c5, 0x5986, 0x649e, 0x58ee, 0x72b6, 0x690e, 0x9525, 0x8ffd,
    -    0x8d58, 0x5760, 0x7f00, 0x8c06, 0x51c6, 0x6349, 0x62d9, 0x5353,
    -    0x684c, 0x7422, 0x8301, 0x914c, 0x5544, 0x7740, 0x707c, 0x6d4a,
    -    0x5179, 0x54a8, 0x8d44, 0x59ff, 0x6ecb, 0x6dc4, 0x5b5c, 0x7d2b,
    -    0x4ed4, 0x7c7d, 0x6ed3, 0x5b50, 0x81ea, 0x6e0d, 0x5b57, 0x9b03,
    -    0x68d5, 0x8e2a, 0x5b97, 0x7efc, 0x603b, 0x7eb5, 0x90b9, 0x8d70,
    -    0x594f, 0x63cd, 0x79df, 0x8db3, 0x5352, 0x65cf, 0x7956, 0x8bc5,
    -    0x963b, 0x7ec4, 0x94bb, 0x7e82, 0x5634, 0x9189, 0x6700, 0x7f6a,
    -    0x5c0a, 0x9075, 0x6628, 0x5de6, 0x4f50, 0x67de, 0x505a, 0x4f5c,
    -    0x5750, 0x5ea7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte d8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8c38, 0x8c39, 0x8c3a, 0x8c3b, 0x8c3c, 0x8c3d, 0x8c3e, 0x8c3f,
    -    0x8c40, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c48, 0x8c4a, 0x8c4b,
    -    0x8c4d, 0x8c4e, 0x8c4f, 0x8c50, 0x8c51, 0x8c52, 0x8c53, 0x8c54,
    -    0x8c56, 0x8c57, 0x8c58, 0x8c59, 0x8c5b, 0x8c5c, 0x8c5d, 0x8c5e,
    -    0x8c5f, 0x8c60, 0x8c63, 0x8c64, 0x8c65, 0x8c66, 0x8c67, 0x8c68,
    -    0x8c69, 0x8c6c, 0x8c6d, 0x8c6e, 0x8c6f, 0x8c70, 0x8c71, 0x8c72,
    -    0x8c74, 0x8c75, 0x8c76, 0x8c77, 0x8c7b, 0x8c7c, 0x8c7d, 0x8c7e,
    -    0x8c7f, 0x8c80, 0x8c81, 0x8c83, 0x8c84, 0x8c86, 0x8c87, 0x003f,
    -    0x8c88, 0x8c8b, 0x8c8d, 0x8c8e, 0x8c8f, 0x8c90, 0x8c91, 0x8c92,
    -    0x8c93, 0x8c95, 0x8c96, 0x8c97, 0x8c99, 0x8c9a, 0x8c9b, 0x8c9c,
    -    0x8c9d, 0x8c9e, 0x8c9f, 0x8ca0, 0x8ca1, 0x8ca2, 0x8ca3, 0x8ca4,
    -    0x8ca5, 0x8ca6, 0x8ca7, 0x8ca8, 0x8ca9, 0x8caa, 0x8cab, 0x8cac,
    -    0x8cad, 0x4e8d, 0x4e0c, 0x5140, 0x4e10, 0x5eff, 0x5345, 0x4e15,
    -    0x4e98, 0x4e1e, 0x9b32, 0x5b6c, 0x5669, 0x4e28, 0x79ba, 0x4e3f,
    -    0x5315, 0x4e47, 0x592d, 0x723b, 0x536e, 0x6c10, 0x56df, 0x80e4,
    -    0x9997, 0x6bd3, 0x777e, 0x9f17, 0x4e36, 0x4e9f, 0x9f10, 0x4e5c,
    -    0x4e69, 0x4e93, 0x8288, 0x5b5b, 0x556c, 0x560f, 0x4ec4, 0x538d,
    -    0x539d, 0x53a3, 0x53a5, 0x53ae, 0x9765, 0x8d5d, 0x531a, 0x53f5,
    -    0x5326, 0x532e, 0x533e, 0x8d5c, 0x5366, 0x5363, 0x5202, 0x5208,
    -    0x520e, 0x522d, 0x5233, 0x523f, 0x5240, 0x524c, 0x525e, 0x5261,
    -    0x525c, 0x84af, 0x527d, 0x5282, 0x5281, 0x5290, 0x5293, 0x5182,
    -    0x7f54, 0x4ebb, 0x4ec3, 0x4ec9, 0x4ec2, 0x4ee8, 0x4ee1, 0x4eeb,
    -    0x4ede, 0x4f1b, 0x4ef3, 0x4f22, 0x4f64, 0x4ef5, 0x4f25, 0x4f27,
    -    0x4f09, 0x4f2b, 0x4f5e, 0x4f67, 0x6538, 0x4f5a, 0x4f5d, 0x003f,
    -    /* lead byte d9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8cae, 0x8caf, 0x8cb0, 0x8cb1, 0x8cb2, 0x8cb3, 0x8cb4, 0x8cb5,
    -    0x8cb6, 0x8cb7, 0x8cb8, 0x8cb9, 0x8cba, 0x8cbb, 0x8cbc, 0x8cbd,
    -    0x8cbe, 0x8cbf, 0x8cc0, 0x8cc1, 0x8cc2, 0x8cc3, 0x8cc4, 0x8cc5,
    -    0x8cc6, 0x8cc7, 0x8cc8, 0x8cc9, 0x8cca, 0x8ccb, 0x8ccc, 0x8ccd,
    -    0x8cce, 0x8ccf, 0x8cd0, 0x8cd1, 0x8cd2, 0x8cd3, 0x8cd4, 0x8cd5,
    -    0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda, 0x8cdb, 0x8cdc, 0x8cdd,
    -    0x8cde, 0x8cdf, 0x8ce0, 0x8ce1, 0x8ce2, 0x8ce3, 0x8ce4, 0x8ce5,
    -    0x8ce6, 0x8ce7, 0x8ce8, 0x8ce9, 0x8cea, 0x8ceb, 0x8cec, 0x003f,
    -    0x8ced, 0x8cee, 0x8cef, 0x8cf0, 0x8cf1, 0x8cf2, 0x8cf3, 0x8cf4,
    -    0x8cf5, 0x8cf6, 0x8cf7, 0x8cf8, 0x8cf9, 0x8cfa, 0x8cfb, 0x8cfc,
    -    0x8cfd, 0x8cfe, 0x8cff, 0x8d00, 0x8d01, 0x8d02, 0x8d03, 0x8d04,
    -    0x8d05, 0x8d06, 0x8d07, 0x8d08, 0x8d09, 0x8d0a, 0x8d0b, 0x8d0c,
    -    0x8d0d, 0x4f5f, 0x4f57, 0x4f32, 0x4f3d, 0x4f76, 0x4f74, 0x4f91,
    -    0x4f89, 0x4f83, 0x4f8f, 0x4f7e, 0x4f7b, 0x4faa, 0x4f7c, 0x4fac,
    -    0x4f94, 0x4fe6, 0x4fe8, 0x4fea, 0x4fc5, 0x4fda, 0x4fe3, 0x4fdc,
    -    0x4fd1, 0x4fdf, 0x4ff8, 0x5029, 0x504c, 0x4ff3, 0x502c, 0x500f,
    -    0x502e, 0x502d, 0x4ffe, 0x501c, 0x500c, 0x5025, 0x5028, 0x507e,
    -    0x5043, 0x5055, 0x5048, 0x504e, 0x506c, 0x507b, 0x50a5, 0x50a7,
    -    0x50a9, 0x50ba, 0x50d6, 0x5106, 0x50ed, 0x50ec, 0x50e6, 0x50ee,
    -    0x5107, 0x510b, 0x4edd, 0x6c3d, 0x4f58, 0x4f65, 0x4fce, 0x9fa0,
    -    0x6c46, 0x7c74, 0x516e, 0x5dfd, 0x9ec9, 0x9998, 0x5181, 0x5914,
    -    0x52f9, 0x530d, 0x8a07, 0x5310, 0x51eb, 0x5919, 0x5155, 0x4ea0,
    -    0x5156, 0x4eb3, 0x886e, 0x88a4, 0x4eb5, 0x8114, 0x88d2, 0x7980,
    -    0x5b34, 0x8803, 0x7fb8, 0x51ab, 0x51b1, 0x51bd, 0x51bc, 0x003f,
    -    /* lead byte da */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8d0e, 0x8d0f, 0x8d10, 0x8d11, 0x8d12, 0x8d13, 0x8d14, 0x8d15,
    -    0x8d16, 0x8d17, 0x8d18, 0x8d19, 0x8d1a, 0x8d1b, 0x8d1c, 0x8d20,
    -    0x8d51, 0x8d52, 0x8d57, 0x8d5f, 0x8d65, 0x8d68, 0x8d69, 0x8d6a,
    -    0x8d6c, 0x8d6e, 0x8d6f, 0x8d71, 0x8d72, 0x8d78, 0x8d79, 0x8d7a,
    -    0x8d7b, 0x8d7c, 0x8d7d, 0x8d7e, 0x8d7f, 0x8d80, 0x8d82, 0x8d83,
    -    0x8d86, 0x8d87, 0x8d88, 0x8d89, 0x8d8c, 0x8d8d, 0x8d8e, 0x8d8f,
    -    0x8d90, 0x8d92, 0x8d93, 0x8d95, 0x8d96, 0x8d97, 0x8d98, 0x8d99,
    -    0x8d9a, 0x8d9b, 0x8d9c, 0x8d9d, 0x8d9e, 0x8da0, 0x8da1, 0x003f,
    -    0x8da2, 0x8da4, 0x8da5, 0x8da6, 0x8da7, 0x8da8, 0x8da9, 0x8daa,
    -    0x8dab, 0x8dac, 0x8dad, 0x8dae, 0x8daf, 0x8db0, 0x8db2, 0x8db6,
    -    0x8db7, 0x8db9, 0x8dbb, 0x8dbd, 0x8dc0, 0x8dc1, 0x8dc2, 0x8dc5,
    -    0x8dc7, 0x8dc8, 0x8dc9, 0x8dca, 0x8dcd, 0x8dd0, 0x8dd2, 0x8dd3,
    -    0x8dd4, 0x51c7, 0x5196, 0x51a2, 0x51a5, 0x8ba0, 0x8ba6, 0x8ba7,
    -    0x8baa, 0x8bb4, 0x8bb5, 0x8bb7, 0x8bc2, 0x8bc3, 0x8bcb, 0x8bcf,
    -    0x8bce, 0x8bd2, 0x8bd3, 0x8bd4, 0x8bd6, 0x8bd8, 0x8bd9, 0x8bdc,
    -    0x8bdf, 0x8be0, 0x8be4, 0x8be8, 0x8be9, 0x8bee, 0x8bf0, 0x8bf3,
    -    0x8bf6, 0x8bf9, 0x8bfc, 0x8bff, 0x8c00, 0x8c02, 0x8c04, 0x8c07,
    -    0x8c0c, 0x8c0f, 0x8c11, 0x8c12, 0x8c14, 0x8c15, 0x8c16, 0x8c19,
    -    0x8c1b, 0x8c18, 0x8c1d, 0x8c1f, 0x8c20, 0x8c21, 0x8c25, 0x8c27,
    -    0x8c2a, 0x8c2b, 0x8c2e, 0x8c2f, 0x8c32, 0x8c33, 0x8c35, 0x8c36,
    -    0x5369, 0x537a, 0x961d, 0x9622, 0x9621, 0x9631, 0x962a, 0x963d,
    -    0x963c, 0x9642, 0x9649, 0x9654, 0x965f, 0x9667, 0x966c, 0x9672,
    -    0x9674, 0x9688, 0x968d, 0x9697, 0x96b0, 0x9097, 0x909b, 0x909d,
    -    0x9099, 0x90ac, 0x90a1, 0x90b4, 0x90b3, 0x90b6, 0x90ba, 0x003f,
    -    /* lead byte db */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8dd5, 0x8dd8, 0x8dd9, 0x8ddc, 0x8de0, 0x8de1, 0x8de2, 0x8de5,
    -    0x8de6, 0x8de7, 0x8de9, 0x8ded, 0x8dee, 0x8df0, 0x8df1, 0x8df2,
    -    0x8df4, 0x8df6, 0x8dfc, 0x8dfe, 0x8dff, 0x8e00, 0x8e01, 0x8e02,
    -    0x8e03, 0x8e04, 0x8e06, 0x8e07, 0x8e08, 0x8e0b, 0x8e0d, 0x8e0e,
    -    0x8e10, 0x8e11, 0x8e12, 0x8e13, 0x8e15, 0x8e16, 0x8e17, 0x8e18,
    -    0x8e19, 0x8e1a, 0x8e1b, 0x8e1c, 0x8e20, 0x8e21, 0x8e24, 0x8e25,
    -    0x8e26, 0x8e27, 0x8e28, 0x8e2b, 0x8e2d, 0x8e30, 0x8e32, 0x8e33,
    -    0x8e34, 0x8e36, 0x8e37, 0x8e38, 0x8e3b, 0x8e3c, 0x8e3e, 0x003f,
    -    0x8e3f, 0x8e43, 0x8e45, 0x8e46, 0x8e4c, 0x8e4d, 0x8e4e, 0x8e4f,
    -    0x8e50, 0x8e53, 0x8e54, 0x8e55, 0x8e56, 0x8e57, 0x8e58, 0x8e5a,
    -    0x8e5b, 0x8e5c, 0x8e5d, 0x8e5e, 0x8e5f, 0x8e60, 0x8e61, 0x8e62,
    -    0x8e63, 0x8e64, 0x8e65, 0x8e67, 0x8e68, 0x8e6a, 0x8e6b, 0x8e6e,
    -    0x8e71, 0x90b8, 0x90b0, 0x90cf, 0x90c5, 0x90be, 0x90d0, 0x90c4,
    -    0x90c7, 0x90d3, 0x90e6, 0x90e2, 0x90dc, 0x90d7, 0x90db, 0x90eb,
    -    0x90ef, 0x90fe, 0x9104, 0x9122, 0x911e, 0x9123, 0x9131, 0x912f,
    -    0x9139, 0x9143, 0x9146, 0x520d, 0x5942, 0x52a2, 0x52ac, 0x52ad,
    -    0x52be, 0x54ff, 0x52d0, 0x52d6, 0x52f0, 0x53df, 0x71ee, 0x77cd,
    -    0x5ef4, 0x51f5, 0x51fc, 0x9b2f, 0x53b6, 0x5f01, 0x755a, 0x5def,
    -    0x574c, 0x57a9, 0x57a1, 0x587e, 0x58bc, 0x58c5, 0x58d1, 0x5729,
    -    0x572c, 0x572a, 0x5733, 0x5739, 0x572e, 0x572f, 0x575c, 0x573b,
    -    0x5742, 0x5769, 0x5785, 0x576b, 0x5786, 0x577c, 0x577b, 0x5768,
    -    0x576d, 0x5776, 0x5773, 0x57ad, 0x57a4, 0x578c, 0x57b2, 0x57cf,
    -    0x57a7, 0x57b4, 0x5793, 0x57a0, 0x57d5, 0x57d8, 0x57da, 0x57d9,
    -    0x57d2, 0x57b8, 0x57f4, 0x57ef, 0x57f8, 0x57e4, 0x57dd, 0x003f,
    -    /* lead byte dc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8e73, 0x8e75, 0x8e77, 0x8e78, 0x8e79, 0x8e7a, 0x8e7b, 0x8e7d,
    -    0x8e7e, 0x8e80, 0x8e82, 0x8e83, 0x8e84, 0x8e86, 0x8e88, 0x8e89,
    -    0x8e8a, 0x8e8b, 0x8e8c, 0x8e8d, 0x8e8e, 0x8e91, 0x8e92, 0x8e93,
    -    0x8e95, 0x8e96, 0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0x8e9b, 0x8e9d,
    -    0x8e9f, 0x8ea0, 0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6,
    -    0x8ea7, 0x8ea8, 0x8ea9, 0x8eaa, 0x8ead, 0x8eae, 0x8eb0, 0x8eb1,
    -    0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7, 0x8eb8, 0x8eb9, 0x8ebb,
    -    0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0, 0x8ec1, 0x8ec2, 0x003f,
    -    0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8, 0x8ec9, 0x8eca,
    -    0x8ecb, 0x8ecc, 0x8ecd, 0x8ecf, 0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3,
    -    0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7, 0x8ed8, 0x8ed9, 0x8eda, 0x8edb,
    -    0x8edc, 0x8edd, 0x8ede, 0x8edf, 0x8ee0, 0x8ee1, 0x8ee2, 0x8ee3,
    -    0x8ee4, 0x580b, 0x580d, 0x57fd, 0x57ed, 0x5800, 0x581e, 0x5819,
    -    0x5844, 0x5820, 0x5865, 0x586c, 0x5881, 0x5889, 0x589a, 0x5880,
    -    0x99a8, 0x9f19, 0x61ff, 0x8279, 0x827d, 0x827f, 0x828f, 0x828a,
    -    0x82a8, 0x8284, 0x828e, 0x8291, 0x8297, 0x8299, 0x82ab, 0x82b8,
    -    0x82be, 0x82b0, 0x82c8, 0x82ca, 0x82e3, 0x8298, 0x82b7, 0x82ae,
    -    0x82cb, 0x82cc, 0x82c1, 0x82a9, 0x82b4, 0x82a1, 0x82aa, 0x829f,
    -    0x82c4, 0x82ce, 0x82a4, 0x82e1, 0x8309, 0x82f7, 0x82e4, 0x830f,
    -    0x8307, 0x82dc, 0x82f4, 0x82d2, 0x82d8, 0x830c, 0x82fb, 0x82d3,
    -    0x8311, 0x831a, 0x8306, 0x8314, 0x8315, 0x82e0, 0x82d5, 0x831c,
    -    0x8351, 0x835b, 0x835c, 0x8308, 0x8392, 0x833c, 0x8334, 0x8331,
    -    0x839b, 0x835e, 0x832f, 0x834f, 0x8347, 0x8343, 0x835f, 0x8340,
    -    0x8317, 0x8360, 0x832d, 0x833a, 0x8333, 0x8366, 0x8365, 0x003f,
    -    /* lead byte dd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8ee5, 0x8ee6, 0x8ee7, 0x8ee8, 0x8ee9, 0x8eea, 0x8eeb, 0x8eec,
    -    0x8eed, 0x8eee, 0x8eef, 0x8ef0, 0x8ef1, 0x8ef2, 0x8ef3, 0x8ef4,
    -    0x8ef5, 0x8ef6, 0x8ef7, 0x8ef8, 0x8ef9, 0x8efa, 0x8efb, 0x8efc,
    -    0x8efd, 0x8efe, 0x8eff, 0x8f00, 0x8f01, 0x8f02, 0x8f03, 0x8f04,
    -    0x8f05, 0x8f06, 0x8f07, 0x8f08, 0x8f09, 0x8f0a, 0x8f0b, 0x8f0c,
    -    0x8f0d, 0x8f0e, 0x8f0f, 0x8f10, 0x8f11, 0x8f12, 0x8f13, 0x8f14,
    -    0x8f15, 0x8f16, 0x8f17, 0x8f18, 0x8f19, 0x8f1a, 0x8f1b, 0x8f1c,
    -    0x8f1d, 0x8f1e, 0x8f1f, 0x8f20, 0x8f21, 0x8f22, 0x8f23, 0x003f,
    -    0x8f24, 0x8f25, 0x8f26, 0x8f27, 0x8f28, 0x8f29, 0x8f2a, 0x8f2b,
    -    0x8f2c, 0x8f2d, 0x8f2e, 0x8f2f, 0x8f30, 0x8f31, 0x8f32, 0x8f33,
    -    0x8f34, 0x8f35, 0x8f36, 0x8f37, 0x8f38, 0x8f39, 0x8f3a, 0x8f3b,
    -    0x8f3c, 0x8f3d, 0x8f3e, 0x8f3f, 0x8f40, 0x8f41, 0x8f42, 0x8f43,
    -    0x8f44, 0x8368, 0x831b, 0x8369, 0x836c, 0x836a, 0x836d, 0x836e,
    -    0x83b0, 0x8378, 0x83b3, 0x83b4, 0x83a0, 0x83aa, 0x8393, 0x839c,
    -    0x8385, 0x837c, 0x83b6, 0x83a9, 0x837d, 0x83b8, 0x837b, 0x8398,
    -    0x839e, 0x83a8, 0x83ba, 0x83bc, 0x83c1, 0x8401, 0x83e5, 0x83d8,
    -    0x5807, 0x8418, 0x840b, 0x83dd, 0x83fd, 0x83d6, 0x841c, 0x8438,
    -    0x8411, 0x8406, 0x83d4, 0x83df, 0x840f, 0x8403, 0x83f8, 0x83f9,
    -    0x83ea, 0x83c5, 0x83c0, 0x8426, 0x83f0, 0x83e1, 0x845c, 0x8451,
    -    0x845a, 0x8459, 0x8473, 0x8487, 0x8488, 0x847a, 0x8489, 0x8478,
    -    0x843c, 0x8446, 0x8469, 0x8476, 0x848c, 0x848e, 0x8431, 0x846d,
    -    0x84c1, 0x84cd, 0x84d0, 0x84e6, 0x84bd, 0x84d3, 0x84ca, 0x84bf,
    -    0x84ba, 0x84e0, 0x84a1, 0x84b9, 0x84b4, 0x8497, 0x84e5, 0x84e3,
    -    0x850c, 0x750d, 0x8538, 0x84f0, 0x8539, 0x851f, 0x853a, 0x003f,
    -    /* lead byte de */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8f45, 0x8f46, 0x8f47, 0x8f48, 0x8f49, 0x8f4a, 0x8f4b, 0x8f4c,
    -    0x8f4d, 0x8f4e, 0x8f4f, 0x8f50, 0x8f51, 0x8f52, 0x8f53, 0x8f54,
    -    0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a, 0x8f5b, 0x8f5c,
    -    0x8f5d, 0x8f5e, 0x8f5f, 0x8f60, 0x8f61, 0x8f62, 0x8f63, 0x8f64,
    -    0x8f65, 0x8f6a, 0x8f80, 0x8f8c, 0x8f92, 0x8f9d, 0x8fa0, 0x8fa1,
    -    0x8fa2, 0x8fa4, 0x8fa5, 0x8fa6, 0x8fa7, 0x8faa, 0x8fac, 0x8fad,
    -    0x8fae, 0x8faf, 0x8fb2, 0x8fb3, 0x8fb4, 0x8fb5, 0x8fb7, 0x8fb8,
    -    0x8fba, 0x8fbb, 0x8fbc, 0x8fbf, 0x8fc0, 0x8fc3, 0x8fc6, 0x003f,
    -    0x8fc9, 0x8fca, 0x8fcb, 0x8fcc, 0x8fcd, 0x8fcf, 0x8fd2, 0x8fd6,
    -    0x8fd7, 0x8fda, 0x8fe0, 0x8fe1, 0x8fe3, 0x8fe7, 0x8fec, 0x8fef,
    -    0x8ff1, 0x8ff2, 0x8ff4, 0x8ff5, 0x8ff6, 0x8ffa, 0x8ffb, 0x8ffc,
    -    0x8ffe, 0x8fff, 0x9007, 0x9008, 0x900c, 0x900e, 0x9013, 0x9015,
    -    0x9018, 0x8556, 0x853b, 0x84ff, 0x84fc, 0x8559, 0x8548, 0x8568,
    -    0x8564, 0x855e, 0x857a, 0x77a2, 0x8543, 0x8572, 0x857b, 0x85a4,
    -    0x85a8, 0x8587, 0x858f, 0x8579, 0x85ae, 0x859c, 0x8585, 0x85b9,
    -    0x85b7, 0x85b0, 0x85d3, 0x85c1, 0x85dc, 0x85ff, 0x8627, 0x8605,
    -    0x8629, 0x8616, 0x863c, 0x5efe, 0x5f08, 0x593c, 0x5941, 0x8037,
    -    0x5955, 0x595a, 0x5958, 0x530f, 0x5c22, 0x5c25, 0x5c2c, 0x5c34,
    -    0x624c, 0x626a, 0x629f, 0x62bb, 0x62ca, 0x62da, 0x62d7, 0x62ee,
    -    0x6322, 0x62f6, 0x6339, 0x634b, 0x6343, 0x63ad, 0x63f6, 0x6371,
    -    0x637a, 0x638e, 0x63b4, 0x636d, 0x63ac, 0x638a, 0x6369, 0x63ae,
    -    0x63bc, 0x63f2, 0x63f8, 0x63e0, 0x63ff, 0x63c4, 0x63de, 0x63ce,
    -    0x6452, 0x63c6, 0x63be, 0x6445, 0x6441, 0x640b, 0x641b, 0x6420,
    -    0x640c, 0x6426, 0x6421, 0x645e, 0x6484, 0x646d, 0x6496, 0x003f,
    -    /* lead byte df */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9019, 0x901c, 0x9023, 0x9024, 0x9025, 0x9027, 0x9028, 0x9029,
    -    0x902a, 0x902b, 0x902c, 0x9030, 0x9031, 0x9032, 0x9033, 0x9034,
    -    0x9037, 0x9039, 0x903a, 0x903d, 0x903f, 0x9040, 0x9043, 0x9045,
    -    0x9046, 0x9048, 0x9049, 0x904a, 0x904b, 0x904c, 0x904e, 0x9054,
    -    0x9055, 0x9056, 0x9059, 0x905a, 0x905c, 0x905d, 0x905e, 0x905f,
    -    0x9060, 0x9061, 0x9064, 0x9066, 0x9067, 0x9069, 0x906a, 0x906b,
    -    0x906c, 0x906f, 0x9070, 0x9071, 0x9072, 0x9073, 0x9076, 0x9077,
    -    0x9078, 0x9079, 0x907a, 0x907b, 0x907c, 0x907e, 0x9081, 0x003f,
    -    0x9084, 0x9085, 0x9086, 0x9087, 0x9089, 0x908a, 0x908c, 0x908d,
    -    0x908e, 0x908f, 0x9090, 0x9092, 0x9094, 0x9096, 0x9098, 0x909a,
    -    0x909c, 0x909e, 0x909f, 0x90a0, 0x90a4, 0x90a5, 0x90a7, 0x90a8,
    -    0x90a9, 0x90ab, 0x90ad, 0x90b2, 0x90b7, 0x90bc, 0x90bd, 0x90bf,
    -    0x90c0, 0x647a, 0x64b7, 0x64b8, 0x6499, 0x64ba, 0x64c0, 0x64d0,
    -    0x64d7, 0x64e4, 0x64e2, 0x6509, 0x6525, 0x652e, 0x5f0b, 0x5fd2,
    -    0x7519, 0x5f11, 0x535f, 0x53f1, 0x53fd, 0x53e9, 0x53e8, 0x53fb,
    -    0x5412, 0x5416, 0x5406, 0x544b, 0x5452, 0x5453, 0x5454, 0x5456,
    -    0x5443, 0x5421, 0x5457, 0x5459, 0x5423, 0x5432, 0x5482, 0x5494,
    -    0x5477, 0x5471, 0x5464, 0x549a, 0x549b, 0x5484, 0x5476, 0x5466,
    -    0x549d, 0x54d0, 0x54ad, 0x54c2, 0x54b4, 0x54d2, 0x54a7, 0x54a6,
    -    0x54d3, 0x54d4, 0x5472, 0x54a3, 0x54d5, 0x54bb, 0x54bf, 0x54cc,
    -    0x54d9, 0x54da, 0x54dc, 0x54a9, 0x54aa, 0x54a4, 0x54dd, 0x54cf,
    -    0x54de, 0x551b, 0x54e7, 0x5520, 0x54fd, 0x5514, 0x54f3, 0x5522,
    -    0x5523, 0x550f, 0x5511, 0x5527, 0x552a, 0x5567, 0x558f, 0x55b5,
    -    0x5549, 0x556d, 0x5541, 0x5555, 0x553f, 0x5550, 0x553c, 0x003f,
    -    /* lead byte e0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x90c2, 0x90c3, 0x90c6, 0x90c8, 0x90c9, 0x90cb, 0x90cc, 0x90cd,
    -    0x90d2, 0x90d4, 0x90d5, 0x90d6, 0x90d8, 0x90d9, 0x90da, 0x90de,
    -    0x90df, 0x90e0, 0x90e3, 0x90e4, 0x90e5, 0x90e9, 0x90ea, 0x90ec,
    -    0x90ee, 0x90f0, 0x90f1, 0x90f2, 0x90f3, 0x90f5, 0x90f6, 0x90f7,
    -    0x90f9, 0x90fa, 0x90fb, 0x90fc, 0x90ff, 0x9100, 0x9101, 0x9103,
    -    0x9105, 0x9106, 0x9107, 0x9108, 0x9109, 0x910a, 0x910b, 0x910c,
    -    0x910d, 0x910e, 0x910f, 0x9110, 0x9111, 0x9112, 0x9113, 0x9114,
    -    0x9115, 0x9116, 0x9117, 0x9118, 0x911a, 0x911b, 0x911c, 0x003f,
    -    0x911d, 0x911f, 0x9120, 0x9121, 0x9124, 0x9125, 0x9126, 0x9127,
    -    0x9128, 0x9129, 0x912a, 0x912b, 0x912c, 0x912d, 0x912e, 0x9130,
    -    0x9132, 0x9133, 0x9134, 0x9135, 0x9136, 0x9137, 0x9138, 0x913a,
    -    0x913b, 0x913c, 0x913d, 0x913e, 0x913f, 0x9140, 0x9141, 0x9142,
    -    0x9144, 0x5537, 0x5556, 0x5575, 0x5576, 0x5577, 0x5533, 0x5530,
    -    0x555c, 0x558b, 0x55d2, 0x5583, 0x55b1, 0x55b9, 0x5588, 0x5581,
    -    0x559f, 0x557e, 0x55d6, 0x5591, 0x557b, 0x55df, 0x55bd, 0x55be,
    -    0x5594, 0x5599, 0x55ea, 0x55f7, 0x55c9, 0x561f, 0x55d1, 0x55eb,
    -    0x55ec, 0x55d4, 0x55e6, 0x55dd, 0x55c4, 0x55ef, 0x55e5, 0x55f2,
    -    0x55f3, 0x55cc, 0x55cd, 0x55e8, 0x55f5, 0x55e4, 0x8f94, 0x561e,
    -    0x5608, 0x560c, 0x5601, 0x5624, 0x5623, 0x55fe, 0x5600, 0x5627,
    -    0x562d, 0x5658, 0x5639, 0x5657, 0x562c, 0x564d, 0x5662, 0x5659,
    -    0x565c, 0x564c, 0x5654, 0x5686, 0x5664, 0x5671, 0x566b, 0x567b,
    -    0x567c, 0x5685, 0x5693, 0x56af, 0x56d4, 0x56d7, 0x56dd, 0x56e1,
    -    0x56f5, 0x56eb, 0x56f9, 0x56ff, 0x5704, 0x570a, 0x5709, 0x571c,
    -    0x5e0f, 0x5e19, 0x5e14, 0x5e11, 0x5e31, 0x5e3b, 0x5e3c, 0x003f,
    -    /* lead byte e1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9145, 0x9147, 0x9148, 0x9151, 0x9153, 0x9154, 0x9155, 0x9156,
    -    0x9158, 0x9159, 0x915b, 0x915c, 0x915f, 0x9160, 0x9166, 0x9167,
    -    0x9168, 0x916b, 0x916d, 0x9173, 0x917a, 0x917b, 0x917c, 0x9180,
    -    0x9181, 0x9182, 0x9183, 0x9184, 0x9186, 0x9188, 0x918a, 0x918e,
    -    0x918f, 0x9193, 0x9194, 0x9195, 0x9196, 0x9197, 0x9198, 0x9199,
    -    0x919c, 0x919d, 0x919e, 0x919f, 0x91a0, 0x91a1, 0x91a4, 0x91a5,
    -    0x91a6, 0x91a7, 0x91a8, 0x91a9, 0x91ab, 0x91ac, 0x91b0, 0x91b1,
    -    0x91b2, 0x91b3, 0x91b6, 0x91b7, 0x91b8, 0x91b9, 0x91bb, 0x003f,
    -    0x91bc, 0x91bd, 0x91be, 0x91bf, 0x91c0, 0x91c1, 0x91c2, 0x91c3,
    -    0x91c4, 0x91c5, 0x91c6, 0x91c8, 0x91cb, 0x91d0, 0x91d2, 0x91d3,
    -    0x91d4, 0x91d5, 0x91d6, 0x91d7, 0x91d8, 0x91d9, 0x91da, 0x91db,
    -    0x91dd, 0x91de, 0x91df, 0x91e0, 0x91e1, 0x91e2, 0x91e3, 0x91e4,
    -    0x91e5, 0x5e37, 0x5e44, 0x5e54, 0x5e5b, 0x5e5e, 0x5e61, 0x5c8c,
    -    0x5c7a, 0x5c8d, 0x5c90, 0x5c96, 0x5c88, 0x5c98, 0x5c99, 0x5c91,
    -    0x5c9a, 0x5c9c, 0x5cb5, 0x5ca2, 0x5cbd, 0x5cac, 0x5cab, 0x5cb1,
    -    0x5ca3, 0x5cc1, 0x5cb7, 0x5cc4, 0x5cd2, 0x5ce4, 0x5ccb, 0x5ce5,
    -    0x5d02, 0x5d03, 0x5d27, 0x5d26, 0x5d2e, 0x5d24, 0x5d1e, 0x5d06,
    -    0x5d1b, 0x5d58, 0x5d3e, 0x5d34, 0x5d3d, 0x5d6c, 0x5d5b, 0x5d6f,
    -    0x5d5d, 0x5d6b, 0x5d4b, 0x5d4a, 0x5d69, 0x5d74, 0x5d82, 0x5d99,
    -    0x5d9d, 0x8c73, 0x5db7, 0x5dc5, 0x5f73, 0x5f77, 0x5f82, 0x5f87,
    -    0x5f89, 0x5f8c, 0x5f95, 0x5f99, 0x5f9c, 0x5fa8, 0x5fad, 0x5fb5,
    -    0x5fbc, 0x8862, 0x5f61, 0x72ad, 0x72b0, 0x72b4, 0x72b7, 0x72b8,
    -    0x72c3, 0x72c1, 0x72ce, 0x72cd, 0x72d2, 0x72e8, 0x72ef, 0x72e9,
    -    0x72f2, 0x72f4, 0x72f7, 0x7301, 0x72f3, 0x7303, 0x72fa, 0x003f,
    -    /* lead byte e2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x91e6, 0x91e7, 0x91e8, 0x91e9, 0x91ea, 0x91eb, 0x91ec, 0x91ed,
    -    0x91ee, 0x91ef, 0x91f0, 0x91f1, 0x91f2, 0x91f3, 0x91f4, 0x91f5,
    -    0x91f6, 0x91f7, 0x91f8, 0x91f9, 0x91fa, 0x91fb, 0x91fc, 0x91fd,
    -    0x91fe, 0x91ff, 0x9200, 0x9201, 0x9202, 0x9203, 0x9204, 0x9205,
    -    0x9206, 0x9207, 0x9208, 0x9209, 0x920a, 0x920b, 0x920c, 0x920d,
    -    0x920e, 0x920f, 0x9210, 0x9211, 0x9212, 0x9213, 0x9214, 0x9215,
    -    0x9216, 0x9217, 0x9218, 0x9219, 0x921a, 0x921b, 0x921c, 0x921d,
    -    0x921e, 0x921f, 0x9220, 0x9221, 0x9222, 0x9223, 0x9224, 0x003f,
    -    0x9225, 0x9226, 0x9227, 0x9228, 0x9229, 0x922a, 0x922b, 0x922c,
    -    0x922d, 0x922e, 0x922f, 0x9230, 0x9231, 0x9232, 0x9233, 0x9234,
    -    0x9235, 0x9236, 0x9237, 0x9238, 0x9239, 0x923a, 0x923b, 0x923c,
    -    0x923d, 0x923e, 0x923f, 0x9240, 0x9241, 0x9242, 0x9243, 0x9244,
    -    0x9245, 0x72fb, 0x7317, 0x7313, 0x7321, 0x730a, 0x731e, 0x731d,
    -    0x7315, 0x7322, 0x7339, 0x7325, 0x732c, 0x7338, 0x7331, 0x7350,
    -    0x734d, 0x7357, 0x7360, 0x736c, 0x736f, 0x737e, 0x821b, 0x5925,
    -    0x98e7, 0x5924, 0x5902, 0x9963, 0x9967, 0x9968, 0x9969, 0x996a,
    -    0x996b, 0x996c, 0x9974, 0x9977, 0x997d, 0x9980, 0x9984, 0x9987,
    -    0x998a, 0x998d, 0x9990, 0x9991, 0x9993, 0x9994, 0x9995, 0x5e80,
    -    0x5e91, 0x5e8b, 0x5e96, 0x5ea5, 0x5ea0, 0x5eb9, 0x5eb5, 0x5ebe,
    -    0x5eb3, 0x8d53, 0x5ed2, 0x5ed1, 0x5edb, 0x5ee8, 0x5eea, 0x81ba,
    -    0x5fc4, 0x5fc9, 0x5fd6, 0x5fcf, 0x6003, 0x5fee, 0x6004, 0x5fe1,
    -    0x5fe4, 0x5ffe, 0x6005, 0x6006, 0x5fea, 0x5fed, 0x5ff8, 0x6019,
    -    0x6035, 0x6026, 0x601b, 0x600f, 0x600d, 0x6029, 0x602b, 0x600a,
    -    0x603f, 0x6021, 0x6078, 0x6079, 0x607b, 0x607a, 0x6042, 0x003f,
    -    /* lead byte e3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9246, 0x9247, 0x9248, 0x9249, 0x924a, 0x924b, 0x924c, 0x924d,
    -    0x924e, 0x924f, 0x9250, 0x9251, 0x9252, 0x9253, 0x9254, 0x9255,
    -    0x9256, 0x9257, 0x9258, 0x9259, 0x925a, 0x925b, 0x925c, 0x925d,
    -    0x925e, 0x925f, 0x9260, 0x9261, 0x9262, 0x9263, 0x9264, 0x9265,
    -    0x9266, 0x9267, 0x9268, 0x9269, 0x926a, 0x926b, 0x926c, 0x926d,
    -    0x926e, 0x926f, 0x9270, 0x9271, 0x9272, 0x9273, 0x9275, 0x9276,
    -    0x9277, 0x9278, 0x9279, 0x927a, 0x927b, 0x927c, 0x927d, 0x927e,
    -    0x927f, 0x9280, 0x9281, 0x9282, 0x9283, 0x9284, 0x9285, 0x003f,
    -    0x9286, 0x9287, 0x9288, 0x9289, 0x928a, 0x928b, 0x928c, 0x928d,
    -    0x928f, 0x9290, 0x9291, 0x9292, 0x9293, 0x9294, 0x9295, 0x9296,
    -    0x9297, 0x9298, 0x9299, 0x929a, 0x929b, 0x929c, 0x929d, 0x929e,
    -    0x929f, 0x92a0, 0x92a1, 0x92a2, 0x92a3, 0x92a4, 0x92a5, 0x92a6,
    -    0x92a7, 0x606a, 0x607d, 0x6096, 0x609a, 0x60ad, 0x609d, 0x6083,
    -    0x6092, 0x608c, 0x609b, 0x60ec, 0x60bb, 0x60b1, 0x60dd, 0x60d8,
    -    0x60c6, 0x60da, 0x60b4, 0x6120, 0x6126, 0x6115, 0x6123, 0x60f4,
    -    0x6100, 0x610e, 0x612b, 0x614a, 0x6175, 0x61ac, 0x6194, 0x61a7,
    -    0x61b7, 0x61d4, 0x61f5, 0x5fdd, 0x96b3, 0x95e9, 0x95eb, 0x95f1,
    -    0x95f3, 0x95f5, 0x95f6, 0x95fc, 0x95fe, 0x9603, 0x9604, 0x9606,
    -    0x9608, 0x960a, 0x960b, 0x960c, 0x960d, 0x960f, 0x9612, 0x9615,
    -    0x9616, 0x9617, 0x9619, 0x961a, 0x4e2c, 0x723f, 0x6215, 0x6c35,
    -    0x6c54, 0x6c5c, 0x6c4a, 0x6ca3, 0x6c85, 0x6c90, 0x6c94, 0x6c8c,
    -    0x6c68, 0x6c69, 0x6c74, 0x6c76, 0x6c86, 0x6ca9, 0x6cd0, 0x6cd4,
    -    0x6cad, 0x6cf7, 0x6cf8, 0x6cf1, 0x6cd7, 0x6cb2, 0x6ce0, 0x6cd6,
    -    0x6cfa, 0x6ceb, 0x6cee, 0x6cb1, 0x6cd3, 0x6cef, 0x6cfe, 0x003f,
    -    /* lead byte e4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x92a8, 0x92a9, 0x92aa, 0x92ab, 0x92ac, 0x92ad, 0x92af, 0x92b0,
    -    0x92b1, 0x92b2, 0x92b3, 0x92b4, 0x92b5, 0x92b6, 0x92b7, 0x92b8,
    -    0x92b9, 0x92ba, 0x92bb, 0x92bc, 0x92bd, 0x92be, 0x92bf, 0x92c0,
    -    0x92c1, 0x92c2, 0x92c3, 0x92c4, 0x92c5, 0x92c6, 0x92c7, 0x92c9,
    -    0x92ca, 0x92cb, 0x92cc, 0x92cd, 0x92ce, 0x92cf, 0x92d0, 0x92d1,
    -    0x92d2, 0x92d3, 0x92d4, 0x92d5, 0x92d6, 0x92d7, 0x92d8, 0x92d9,
    -    0x92da, 0x92db, 0x92dc, 0x92dd, 0x92de, 0x92df, 0x92e0, 0x92e1,
    -    0x92e2, 0x92e3, 0x92e4, 0x92e5, 0x92e6, 0x92e7, 0x92e8, 0x003f,
    -    0x92e9, 0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0,
    -    0x92f1, 0x92f2, 0x92f3, 0x92f4, 0x92f5, 0x92f6, 0x92f7, 0x92f8,
    -    0x92f9, 0x92fa, 0x92fb, 0x92fc, 0x92fd, 0x92fe, 0x92ff, 0x9300,
    -    0x9301, 0x9302, 0x9303, 0x9304, 0x9305, 0x9306, 0x9307, 0x9308,
    -    0x9309, 0x6d39, 0x6d27, 0x6d0c, 0x6d43, 0x6d48, 0x6d07, 0x6d04,
    -    0x6d19, 0x6d0e, 0x6d2b, 0x6d4d, 0x6d2e, 0x6d35, 0x6d1a, 0x6d4f,
    -    0x6d52, 0x6d54, 0x6d33, 0x6d91, 0x6d6f, 0x6d9e, 0x6da0, 0x6d5e,
    -    0x6d93, 0x6d94, 0x6d5c, 0x6d60, 0x6d7c, 0x6d63, 0x6e1a, 0x6dc7,
    -    0x6dc5, 0x6dde, 0x6e0e, 0x6dbf, 0x6de0, 0x6e11, 0x6de6, 0x6ddd,
    -    0x6dd9, 0x6e16, 0x6dab, 0x6e0c, 0x6dae, 0x6e2b, 0x6e6e, 0x6e4e,
    -    0x6e6b, 0x6eb2, 0x6e5f, 0x6e86, 0x6e53, 0x6e54, 0x6e32, 0x6e25,
    -    0x6e44, 0x6edf, 0x6eb1, 0x6e98, 0x6ee0, 0x6f2d, 0x6ee2, 0x6ea5,
    -    0x6ea7, 0x6ebd, 0x6ebb, 0x6eb7, 0x6ed7, 0x6eb4, 0x6ecf, 0x6e8f,
    -    0x6ec2, 0x6e9f, 0x6f62, 0x6f46, 0x6f47, 0x6f24, 0x6f15, 0x6ef9,
    -    0x6f2f, 0x6f36, 0x6f4b, 0x6f74, 0x6f2a, 0x6f09, 0x6f29, 0x6f89,
    -    0x6f8d, 0x6f8c, 0x6f78, 0x6f72, 0x6f7c, 0x6f7a, 0x6fd1, 0x003f,
    -    /* lead byte e5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x930a, 0x930b, 0x930c, 0x930d, 0x930e, 0x930f, 0x9310, 0x9311,
    -    0x9312, 0x9313, 0x9314, 0x9315, 0x9316, 0x9317, 0x9318, 0x9319,
    -    0x931a, 0x931b, 0x931c, 0x931d, 0x931e, 0x931f, 0x9320, 0x9321,
    -    0x9322, 0x9323, 0x9324, 0x9325, 0x9326, 0x9327, 0x9328, 0x9329,
    -    0x932a, 0x932b, 0x932c, 0x932d, 0x932e, 0x932f, 0x9330, 0x9331,
    -    0x9332, 0x9333, 0x9334, 0x9335, 0x9336, 0x9337, 0x9338, 0x9339,
    -    0x933a, 0x933b, 0x933c, 0x933d, 0x933f, 0x9340, 0x9341, 0x9342,
    -    0x9343, 0x9344, 0x9345, 0x9346, 0x9347, 0x9348, 0x9349, 0x003f,
    -    0x934a, 0x934b, 0x934c, 0x934d, 0x934e, 0x934f, 0x9350, 0x9351,
    -    0x9352, 0x9353, 0x9354, 0x9355, 0x9356, 0x9357, 0x9358, 0x9359,
    -    0x935a, 0x935b, 0x935c, 0x935d, 0x935e, 0x935f, 0x9360, 0x9361,
    -    0x9362, 0x9363, 0x9364, 0x9365, 0x9366, 0x9367, 0x9368, 0x9369,
    -    0x936b, 0x6fc9, 0x6fa7, 0x6fb9, 0x6fb6, 0x6fc2, 0x6fe1, 0x6fee,
    -    0x6fde, 0x6fe0, 0x6fef, 0x701a, 0x7023, 0x701b, 0x7039, 0x7035,
    -    0x704f, 0x705e, 0x5b80, 0x5b84, 0x5b95, 0x5b93, 0x5ba5, 0x5bb8,
    -    0x752f, 0x9a9e, 0x6434, 0x5be4, 0x5bee, 0x8930, 0x5bf0, 0x8e47,
    -    0x8b07, 0x8fb6, 0x8fd3, 0x8fd5, 0x8fe5, 0x8fee, 0x8fe4, 0x8fe9,
    -    0x8fe6, 0x8ff3, 0x8fe8, 0x9005, 0x9004, 0x900b, 0x9026, 0x9011,
    -    0x900d, 0x9016, 0x9021, 0x9035, 0x9036, 0x902d, 0x902f, 0x9044,
    -    0x9051, 0x9052, 0x9050, 0x9068, 0x9058, 0x9062, 0x905b, 0x66b9,
    -    0x9074, 0x907d, 0x9082, 0x9088, 0x9083, 0x908b, 0x5f50, 0x5f57,
    -    0x5f56, 0x5f58, 0x5c3b, 0x54ab, 0x5c50, 0x5c59, 0x5b71, 0x5c63,
    -    0x5c66, 0x7fbc, 0x5f2a, 0x5f29, 0x5f2d, 0x8274, 0x5f3c, 0x9b3b,
    -    0x5c6e, 0x5981, 0x5983, 0x598d, 0x59a9, 0x59aa, 0x59a3, 0x003f,
    -    /* lead byte e6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x936c, 0x936d, 0x936e, 0x936f, 0x9370, 0x9371, 0x9372, 0x9373,
    -    0x9374, 0x9375, 0x9376, 0x9377, 0x9378, 0x9379, 0x937a, 0x937b,
    -    0x937c, 0x937d, 0x937e, 0x937f, 0x9380, 0x9381, 0x9382, 0x9383,
    -    0x9384, 0x9385, 0x9386, 0x9387, 0x9388, 0x9389, 0x938a, 0x938b,
    -    0x938c, 0x938d, 0x938e, 0x9390, 0x9391, 0x9392, 0x9393, 0x9394,
    -    0x9395, 0x9396, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b, 0x939c,
    -    0x939d, 0x939e, 0x939f, 0x93a0, 0x93a1, 0x93a2, 0x93a3, 0x93a4,
    -    0x93a5, 0x93a6, 0x93a7, 0x93a8, 0x93a9, 0x93aa, 0x93ab, 0x003f,
    -    0x93ac, 0x93ad, 0x93ae, 0x93af, 0x93b0, 0x93b1, 0x93b2, 0x93b3,
    -    0x93b4, 0x93b5, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba, 0x93bb,
    -    0x93bc, 0x93bd, 0x93be, 0x93bf, 0x93c0, 0x93c1, 0x93c2, 0x93c3,
    -    0x93c4, 0x93c5, 0x93c6, 0x93c7, 0x93c8, 0x93c9, 0x93cb, 0x93cc,
    -    0x93cd, 0x5997, 0x59ca, 0x59ab, 0x599e, 0x59a4, 0x59d2, 0x59b2,
    -    0x59af, 0x59d7, 0x59be, 0x5a05, 0x5a06, 0x59dd, 0x5a08, 0x59e3,
    -    0x59d8, 0x59f9, 0x5a0c, 0x5a09, 0x5a32, 0x5a34, 0x5a11, 0x5a23,
    -    0x5a13, 0x5a40, 0x5a67, 0x5a4a, 0x5a55, 0x5a3c, 0x5a62, 0x5a75,
    -    0x80ec, 0x5aaa, 0x5a9b, 0x5a77, 0x5a7a, 0x5abe, 0x5aeb, 0x5ab2,
    -    0x5ad2, 0x5ad4, 0x5ab8, 0x5ae0, 0x5ae3, 0x5af1, 0x5ad6, 0x5ae6,
    -    0x5ad8, 0x5adc, 0x5b09, 0x5b17, 0x5b16, 0x5b32, 0x5b37, 0x5b40,
    -    0x5c15, 0x5c1c, 0x5b5a, 0x5b65, 0x5b73, 0x5b51, 0x5b53, 0x5b62,
    -    0x9a75, 0x9a77, 0x9a78, 0x9a7a, 0x9a7f, 0x9a7d, 0x9a80, 0x9a81,
    -    0x9a85, 0x9a88, 0x9a8a, 0x9a90, 0x9a92, 0x9a93, 0x9a96, 0x9a98,
    -    0x9a9b, 0x9a9c, 0x9a9d, 0x9a9f, 0x9aa0, 0x9aa2, 0x9aa3, 0x9aa5,
    -    0x9aa7, 0x7e9f, 0x7ea1, 0x7ea3, 0x7ea5, 0x7ea8, 0x7ea9, 0x003f,
    -    /* lead byte e7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x93ce, 0x93cf, 0x93d0, 0x93d1, 0x93d2, 0x93d3, 0x93d4, 0x93d5,
    -    0x93d7, 0x93d8, 0x93d9, 0x93da, 0x93db, 0x93dc, 0x93dd, 0x93de,
    -    0x93df, 0x93e0, 0x93e1, 0x93e2, 0x93e3, 0x93e4, 0x93e5, 0x93e6,
    -    0x93e7, 0x93e8, 0x93e9, 0x93ea, 0x93eb, 0x93ec, 0x93ed, 0x93ee,
    -    0x93ef, 0x93f0, 0x93f1, 0x93f2, 0x93f3, 0x93f4, 0x93f5, 0x93f6,
    -    0x93f7, 0x93f8, 0x93f9, 0x93fa, 0x93fb, 0x93fc, 0x93fd, 0x93fe,
    -    0x93ff, 0x9400, 0x9401, 0x9402, 0x9403, 0x9404, 0x9405, 0x9406,
    -    0x9407, 0x9408, 0x9409, 0x940a, 0x940b, 0x940c, 0x940d, 0x003f,
    -    0x940e, 0x940f, 0x9410, 0x9411, 0x9412, 0x9413, 0x9414, 0x9415,
    -    0x9416, 0x9417, 0x9418, 0x9419, 0x941a, 0x941b, 0x941c, 0x941d,
    -    0x941e, 0x941f, 0x9420, 0x9421, 0x9422, 0x9423, 0x9424, 0x9425,
    -    0x9426, 0x9427, 0x9428, 0x9429, 0x942a, 0x942b, 0x942c, 0x942d,
    -    0x942e, 0x7ead, 0x7eb0, 0x7ebe, 0x7ec0, 0x7ec1, 0x7ec2, 0x7ec9,
    -    0x7ecb, 0x7ecc, 0x7ed0, 0x7ed4, 0x7ed7, 0x7edb, 0x7ee0, 0x7ee1,
    -    0x7ee8, 0x7eeb, 0x7eee, 0x7eef, 0x7ef1, 0x7ef2, 0x7f0d, 0x7ef6,
    -    0x7efa, 0x7efb, 0x7efe, 0x7f01, 0x7f02, 0x7f03, 0x7f07, 0x7f08,
    -    0x7f0b, 0x7f0c, 0x7f0f, 0x7f11, 0x7f12, 0x7f17, 0x7f19, 0x7f1c,
    -    0x7f1b, 0x7f1f, 0x7f21, 0x7f22, 0x7f23, 0x7f24, 0x7f25, 0x7f26,
    -    0x7f27, 0x7f2a, 0x7f2b, 0x7f2c, 0x7f2d, 0x7f2f, 0x7f30, 0x7f31,
    -    0x7f32, 0x7f33, 0x7f35, 0x5e7a, 0x757f, 0x5ddb, 0x753e, 0x9095,
    -    0x738e, 0x7391, 0x73ae, 0x73a2, 0x739f, 0x73cf, 0x73c2, 0x73d1,
    -    0x73b7, 0x73b3, 0x73c0, 0x73c9, 0x73c8, 0x73e5, 0x73d9, 0x987c,
    -    0x740a, 0x73e9, 0x73e7, 0x73de, 0x73ba, 0x73f2, 0x740f, 0x742a,
    -    0x745b, 0x7426, 0x7425, 0x7428, 0x7430, 0x742e, 0x742c, 0x003f,
    -    /* lead byte e8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x942f, 0x9430, 0x9431, 0x9432, 0x9433, 0x9434, 0x9435, 0x9436,
    -    0x9437, 0x9438, 0x9439, 0x943a, 0x943b, 0x943c, 0x943d, 0x943f,
    -    0x9440, 0x9441, 0x9442, 0x9443, 0x9444, 0x9445, 0x9446, 0x9447,
    -    0x9448, 0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e, 0x944f,
    -    0x9450, 0x9451, 0x9452, 0x9453, 0x9454, 0x9455, 0x9456, 0x9457,
    -    0x9458, 0x9459, 0x945a, 0x945b, 0x945c, 0x945d, 0x945e, 0x945f,
    -    0x9460, 0x9461, 0x9462, 0x9463, 0x9464, 0x9465, 0x9466, 0x9467,
    -    0x9468, 0x9469, 0x946a, 0x946c, 0x946d, 0x946e, 0x946f, 0x003f,
    -    0x9470, 0x9471, 0x9472, 0x9473, 0x9474, 0x9475, 0x9476, 0x9477,
    -    0x9478, 0x9479, 0x947a, 0x947b, 0x947c, 0x947d, 0x947e, 0x947f,
    -    0x9480, 0x9481, 0x9482, 0x9483, 0x9484, 0x9491, 0x9496, 0x9498,
    -    0x94c7, 0x94cf, 0x94d3, 0x94d4, 0x94da, 0x94e6, 0x94fb, 0x951c,
    -    0x9520, 0x741b, 0x741a, 0x7441, 0x745c, 0x7457, 0x7455, 0x7459,
    -    0x7477, 0x746d, 0x747e, 0x749c, 0x748e, 0x7480, 0x7481, 0x7487,
    -    0x748b, 0x749e, 0x74a8, 0x74a9, 0x7490, 0x74a7, 0x74d2, 0x74ba,
    -    0x97ea, 0x97eb, 0x97ec, 0x674c, 0x6753, 0x675e, 0x6748, 0x6769,
    -    0x67a5, 0x6787, 0x676a, 0x6773, 0x6798, 0x67a7, 0x6775, 0x67a8,
    -    0x679e, 0x67ad, 0x678b, 0x6777, 0x677c, 0x67f0, 0x6809, 0x67d8,
    -    0x680a, 0x67e9, 0x67b0, 0x680c, 0x67d9, 0x67b5, 0x67da, 0x67b3,
    -    0x67dd, 0x6800, 0x67c3, 0x67b8, 0x67e2, 0x680e, 0x67c1, 0x67fd,
    -    0x6832, 0x6833, 0x6860, 0x6861, 0x684e, 0x6862, 0x6844, 0x6864,
    -    0x6883, 0x681d, 0x6855, 0x6866, 0x6841, 0x6867, 0x6840, 0x683e,
    -    0x684a, 0x6849, 0x6829, 0x68b5, 0x688f, 0x6874, 0x6877, 0x6893,
    -    0x686b, 0x68c2, 0x696e, 0x68fc, 0x691f, 0x6920, 0x68f9, 0x003f,
    -    /* lead byte e9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9527, 0x9533, 0x953d, 0x9543, 0x9548, 0x954b, 0x9555, 0x955a,
    -    0x9560, 0x956e, 0x9574, 0x9575, 0x9577, 0x9578, 0x9579, 0x957a,
    -    0x957b, 0x957c, 0x957d, 0x957e, 0x9580, 0x9581, 0x9582, 0x9583,
    -    0x9584, 0x9585, 0x9586, 0x9587, 0x9588, 0x9589, 0x958a, 0x958b,
    -    0x958c, 0x958d, 0x958e, 0x958f, 0x9590, 0x9591, 0x9592, 0x9593,
    -    0x9594, 0x9595, 0x9596, 0x9597, 0x9598, 0x9599, 0x959a, 0x959b,
    -    0x959c, 0x959d, 0x959e, 0x959f, 0x95a0, 0x95a1, 0x95a2, 0x95a3,
    -    0x95a4, 0x95a5, 0x95a6, 0x95a7, 0x95a8, 0x95a9, 0x95aa, 0x003f,
    -    0x95ab, 0x95ac, 0x95ad, 0x95ae, 0x95af, 0x95b0, 0x95b1, 0x95b2,
    -    0x95b3, 0x95b4, 0x95b5, 0x95b6, 0x95b7, 0x95b8, 0x95b9, 0x95ba,
    -    0x95bb, 0x95bc, 0x95bd, 0x95be, 0x95bf, 0x95c0, 0x95c1, 0x95c2,
    -    0x95c3, 0x95c4, 0x95c5, 0x95c6, 0x95c7, 0x95c8, 0x95c9, 0x95ca,
    -    0x95cb, 0x6924, 0x68f0, 0x690b, 0x6901, 0x6957, 0x68e3, 0x6910,
    -    0x6971, 0x6939, 0x6960, 0x6942, 0x695d, 0x6984, 0x696b, 0x6980,
    -    0x6998, 0x6978, 0x6934, 0x69cc, 0x6987, 0x6988, 0x69ce, 0x6989,
    -    0x6966, 0x6963, 0x6979, 0x699b, 0x69a7, 0x69bb, 0x69ab, 0x69ad,
    -    0x69d4, 0x69b1, 0x69c1, 0x69ca, 0x69df, 0x6995, 0x69e0, 0x698d,
    -    0x69ff, 0x6a2f, 0x69ed, 0x6a17, 0x6a18, 0x6a65, 0x69f2, 0x6a44,
    -    0x6a3e, 0x6aa0, 0x6a50, 0x6a5b, 0x6a35, 0x6a8e, 0x6a79, 0x6a3d,
    -    0x6a28, 0x6a58, 0x6a7c, 0x6a91, 0x6a90, 0x6aa9, 0x6a97, 0x6aab,
    -    0x7337, 0x7352, 0x6b81, 0x6b82, 0x6b87, 0x6b84, 0x6b92, 0x6b93,
    -    0x6b8d, 0x6b9a, 0x6b9b, 0x6ba1, 0x6baa, 0x8f6b, 0x8f6d, 0x8f71,
    -    0x8f72, 0x8f73, 0x8f75, 0x8f76, 0x8f78, 0x8f77, 0x8f79, 0x8f7a,
    -    0x8f7c, 0x8f7e, 0x8f81, 0x8f82, 0x8f84, 0x8f87, 0x8f8b, 0x003f,
    -    /* lead byte ea */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x95cc, 0x95cd, 0x95ce, 0x95cf, 0x95d0, 0x95d1, 0x95d2, 0x95d3,
    -    0x95d4, 0x95d5, 0x95d6, 0x95d7, 0x95d8, 0x95d9, 0x95da, 0x95db,
    -    0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1, 0x95e2, 0x95e3,
    -    0x95e4, 0x95e5, 0x95e6, 0x95e7, 0x95ec, 0x95ff, 0x9607, 0x9613,
    -    0x9618, 0x961b, 0x961e, 0x9620, 0x9623, 0x9624, 0x9625, 0x9626,
    -    0x9627, 0x9628, 0x9629, 0x962b, 0x962c, 0x962d, 0x962f, 0x9630,
    -    0x9637, 0x9638, 0x9639, 0x963a, 0x963e, 0x9641, 0x9643, 0x964a,
    -    0x964e, 0x964f, 0x9651, 0x9652, 0x9653, 0x9656, 0x9657, 0x003f,
    -    0x9658, 0x9659, 0x965a, 0x965c, 0x965d, 0x965e, 0x9660, 0x9663,
    -    0x9665, 0x9666, 0x966b, 0x966d, 0x966e, 0x966f, 0x9670, 0x9671,
    -    0x9673, 0x9678, 0x9679, 0x967a, 0x967b, 0x967c, 0x967d, 0x967e,
    -    0x967f, 0x9680, 0x9681, 0x9682, 0x9683, 0x9684, 0x9687, 0x9689,
    -    0x968a, 0x8f8d, 0x8f8e, 0x8f8f, 0x8f98, 0x8f9a, 0x8ece, 0x620b,
    -    0x6217, 0x621b, 0x621f, 0x6222, 0x6221, 0x6225, 0x6224, 0x622c,
    -    0x81e7, 0x74ef, 0x74f4, 0x74ff, 0x750f, 0x7511, 0x7513, 0x6534,
    -    0x65ee, 0x65ef, 0x65f0, 0x660a, 0x6619, 0x6772, 0x6603, 0x6615,
    -    0x6600, 0x7085, 0x66f7, 0x661d, 0x6634, 0x6631, 0x6636, 0x6635,
    -    0x8006, 0x665f, 0x6654, 0x6641, 0x664f, 0x6656, 0x6661, 0x6657,
    -    0x6677, 0x6684, 0x668c, 0x66a7, 0x669d, 0x66be, 0x66db, 0x66dc,
    -    0x66e6, 0x66e9, 0x8d32, 0x8d33, 0x8d36, 0x8d3b, 0x8d3d, 0x8d40,
    -    0x8d45, 0x8d46, 0x8d48, 0x8d49, 0x8d47, 0x8d4d, 0x8d55, 0x8d59,
    -    0x89c7, 0x89ca, 0x89cb, 0x89cc, 0x89ce, 0x89cf, 0x89d0, 0x89d1,
    -    0x726e, 0x729f, 0x725d, 0x7266, 0x726f, 0x727e, 0x727f, 0x7284,
    -    0x728b, 0x728d, 0x728f, 0x7292, 0x6308, 0x6332, 0x63b0, 0x003f,
    -    /* lead byte eb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x968c, 0x968e, 0x9691, 0x9692, 0x9693, 0x9695, 0x9696, 0x969a,
    -    0x969b, 0x969d, 0x969e, 0x969f, 0x96a0, 0x96a1, 0x96a2, 0x96a3,
    -    0x96a4, 0x96a5, 0x96a6, 0x96a8, 0x96a9, 0x96aa, 0x96ab, 0x96ac,
    -    0x96ad, 0x96ae, 0x96af, 0x96b1, 0x96b2, 0x96b4, 0x96b5, 0x96b7,
    -    0x96b8, 0x96ba, 0x96bb, 0x96bf, 0x96c2, 0x96c3, 0x96c8, 0x96ca,
    -    0x96cb, 0x96d0, 0x96d1, 0x96d3, 0x96d4, 0x96d6, 0x96d7, 0x96d8,
    -    0x96d9, 0x96da, 0x96db, 0x96dc, 0x96dd, 0x96de, 0x96df, 0x96e1,
    -    0x96e2, 0x96e3, 0x96e4, 0x96e5, 0x96e6, 0x96e7, 0x96eb, 0x003f,
    -    0x96ec, 0x96ed, 0x96ee, 0x96f0, 0x96f1, 0x96f2, 0x96f4, 0x96f5,
    -    0x96f8, 0x96fa, 0x96fb, 0x96fc, 0x96fd, 0x96ff, 0x9702, 0x9703,
    -    0x9705, 0x970a, 0x970b, 0x970c, 0x9710, 0x9711, 0x9712, 0x9714,
    -    0x9715, 0x9717, 0x9718, 0x9719, 0x971a, 0x971b, 0x971d, 0x971f,
    -    0x9720, 0x643f, 0x64d8, 0x8004, 0x6bea, 0x6bf3, 0x6bfd, 0x6bf5,
    -    0x6bf9, 0x6c05, 0x6c07, 0x6c06, 0x6c0d, 0x6c15, 0x6c18, 0x6c19,
    -    0x6c1a, 0x6c21, 0x6c29, 0x6c24, 0x6c2a, 0x6c32, 0x6535, 0x6555,
    -    0x656b, 0x724d, 0x7252, 0x7256, 0x7230, 0x8662, 0x5216, 0x809f,
    -    0x809c, 0x8093, 0x80bc, 0x670a, 0x80bd, 0x80b1, 0x80ab, 0x80ad,
    -    0x80b4, 0x80b7, 0x80e7, 0x80e8, 0x80e9, 0x80ea, 0x80db, 0x80c2,
    -    0x80c4, 0x80d9, 0x80cd, 0x80d7, 0x6710, 0x80dd, 0x80eb, 0x80f1,
    -    0x80f4, 0x80ed, 0x810d, 0x810e, 0x80f2, 0x80fc, 0x6715, 0x8112,
    -    0x8c5a, 0x8136, 0x811e, 0x812c, 0x8118, 0x8132, 0x8148, 0x814c,
    -    0x8153, 0x8174, 0x8159, 0x815a, 0x8171, 0x8160, 0x8169, 0x817c,
    -    0x817d, 0x816d, 0x8167, 0x584d, 0x5ab5, 0x8188, 0x8182, 0x8191,
    -    0x6ed5, 0x81a3, 0x81aa, 0x81cc, 0x6726, 0x81ca, 0x81bb, 0x003f,
    -    /* lead byte ec */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9721, 0x9722, 0x9723, 0x9724, 0x9725, 0x9726, 0x9727, 0x9728,
    -    0x9729, 0x972b, 0x972c, 0x972e, 0x972f, 0x9731, 0x9733, 0x9734,
    -    0x9735, 0x9736, 0x9737, 0x973a, 0x973b, 0x973c, 0x973d, 0x973f,
    -    0x9740, 0x9741, 0x9742, 0x9743, 0x9744, 0x9745, 0x9746, 0x9747,
    -    0x9748, 0x9749, 0x974a, 0x974b, 0x974c, 0x974d, 0x974e, 0x974f,
    -    0x9750, 0x9751, 0x9754, 0x9755, 0x9757, 0x9758, 0x975a, 0x975c,
    -    0x975d, 0x975f, 0x9763, 0x9764, 0x9766, 0x9767, 0x9768, 0x976a,
    -    0x976b, 0x976c, 0x976d, 0x976e, 0x976f, 0x9770, 0x9771, 0x003f,
    -    0x9772, 0x9775, 0x9777, 0x9778, 0x9779, 0x977a, 0x977b, 0x977d,
    -    0x977e, 0x977f, 0x9780, 0x9781, 0x9782, 0x9783, 0x9784, 0x9786,
    -    0x9787, 0x9788, 0x9789, 0x978a, 0x978c, 0x978e, 0x978f, 0x9790,
    -    0x9793, 0x9795, 0x9796, 0x9797, 0x9799, 0x979a, 0x979b, 0x979c,
    -    0x979d, 0x81c1, 0x81a6, 0x6b24, 0x6b37, 0x6b39, 0x6b43, 0x6b46,
    -    0x6b59, 0x98d1, 0x98d2, 0x98d3, 0x98d5, 0x98d9, 0x98da, 0x6bb3,
    -    0x5f40, 0x6bc2, 0x89f3, 0x6590, 0x9f51, 0x6593, 0x65bc, 0x65c6,
    -    0x65c4, 0x65c3, 0x65cc, 0x65ce, 0x65d2, 0x65d6, 0x7080, 0x709c,
    -    0x7096, 0x709d, 0x70bb, 0x70c0, 0x70b7, 0x70ab, 0x70b1, 0x70e8,
    -    0x70ca, 0x7110, 0x7113, 0x7116, 0x712f, 0x7131, 0x7173, 0x715c,
    -    0x7168, 0x7145, 0x7172, 0x714a, 0x7178, 0x717a, 0x7198, 0x71b3,
    -    0x71b5, 0x71a8, 0x71a0, 0x71e0, 0x71d4, 0x71e7, 0x71f9, 0x721d,
    -    0x7228, 0x706c, 0x7118, 0x7166, 0x71b9, 0x623e, 0x623d, 0x6243,
    -    0x6248, 0x6249, 0x793b, 0x7940, 0x7946, 0x7949, 0x795b, 0x795c,
    -    0x7953, 0x795a, 0x7962, 0x7957, 0x7960, 0x796f, 0x7967, 0x797a,
    -    0x7985, 0x798a, 0x799a, 0x79a7, 0x79b3, 0x5fd1, 0x5fd0, 0x003f,
    -    /* lead byte ed */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x979e, 0x979f, 0x97a1, 0x97a2, 0x97a4, 0x97a5, 0x97a6, 0x97a7,
    -    0x97a8, 0x97a9, 0x97aa, 0x97ac, 0x97ae, 0x97b0, 0x97b1, 0x97b3,
    -    0x97b5, 0x97b6, 0x97b7, 0x97b8, 0x97b9, 0x97ba, 0x97bb, 0x97bc,
    -    0x97bd, 0x97be, 0x97bf, 0x97c0, 0x97c1, 0x97c2, 0x97c3, 0x97c4,
    -    0x97c5, 0x97c6, 0x97c7, 0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc,
    -    0x97cd, 0x97ce, 0x97cf, 0x97d0, 0x97d1, 0x97d2, 0x97d3, 0x97d4,
    -    0x97d5, 0x97d6, 0x97d7, 0x97d8, 0x97d9, 0x97da, 0x97db, 0x97dc,
    -    0x97dd, 0x97de, 0x97df, 0x97e0, 0x97e1, 0x97e2, 0x97e3, 0x003f,
    -    0x97e4, 0x97e5, 0x97e8, 0x97ee, 0x97ef, 0x97f0, 0x97f1, 0x97f2,
    -    0x97f4, 0x97f7, 0x97f8, 0x97f9, 0x97fa, 0x97fb, 0x97fc, 0x97fd,
    -    0x97fe, 0x97ff, 0x9800, 0x9801, 0x9802, 0x9803, 0x9804, 0x9805,
    -    0x9806, 0x9807, 0x9808, 0x9809, 0x980a, 0x980b, 0x980c, 0x980d,
    -    0x980e, 0x603c, 0x605d, 0x605a, 0x6067, 0x6041, 0x6059, 0x6063,
    -    0x60ab, 0x6106, 0x610d, 0x615d, 0x61a9, 0x619d, 0x61cb, 0x61d1,
    -    0x6206, 0x8080, 0x807f, 0x6c93, 0x6cf6, 0x6dfc, 0x77f6, 0x77f8,
    -    0x7800, 0x7809, 0x7817, 0x7818, 0x7811, 0x65ab, 0x782d, 0x781c,
    -    0x781d, 0x7839, 0x783a, 0x783b, 0x781f, 0x783c, 0x7825, 0x782c,
    -    0x7823, 0x7829, 0x784e, 0x786d, 0x7856, 0x7857, 0x7826, 0x7850,
    -    0x7847, 0x784c, 0x786a, 0x789b, 0x7893, 0x789a, 0x7887, 0x789c,
    -    0x78a1, 0x78a3, 0x78b2, 0x78b9, 0x78a5, 0x78d4, 0x78d9, 0x78c9,
    -    0x78ec, 0x78f2, 0x7905, 0x78f4, 0x7913, 0x7924, 0x791e, 0x7934,
    -    0x9f9b, 0x9ef9, 0x9efb, 0x9efc, 0x76f1, 0x7704, 0x770d, 0x76f9,
    -    0x7707, 0x7708, 0x771a, 0x7722, 0x7719, 0x772d, 0x7726, 0x7735,
    -    0x7738, 0x7750, 0x7751, 0x7747, 0x7743, 0x775a, 0x7768, 0x003f,
    -    /* lead byte ee */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x980f, 0x9810, 0x9811, 0x9812, 0x9813, 0x9814, 0x9815, 0x9816,
    -    0x9817, 0x9818, 0x9819, 0x981a, 0x981b, 0x981c, 0x981d, 0x981e,
    -    0x981f, 0x9820, 0x9821, 0x9822, 0x9823, 0x9824, 0x9825, 0x9826,
    -    0x9827, 0x9828, 0x9829, 0x982a, 0x982b, 0x982c, 0x982d, 0x982e,
    -    0x982f, 0x9830, 0x9831, 0x9832, 0x9833, 0x9834, 0x9835, 0x9836,
    -    0x9837, 0x9838, 0x9839, 0x983a, 0x983b, 0x983c, 0x983d, 0x983e,
    -    0x983f, 0x9840, 0x9841, 0x9842, 0x9843, 0x9844, 0x9845, 0x9846,
    -    0x9847, 0x9848, 0x9849, 0x984a, 0x984b, 0x984c, 0x984d, 0x003f,
    -    0x984e, 0x984f, 0x9850, 0x9851, 0x9852, 0x9853, 0x9854, 0x9855,
    -    0x9856, 0x9857, 0x9858, 0x9859, 0x985a, 0x985b, 0x985c, 0x985d,
    -    0x985e, 0x985f, 0x9860, 0x9861, 0x9862, 0x9863, 0x9864, 0x9865,
    -    0x9866, 0x9867, 0x9868, 0x9869, 0x986a, 0x986b, 0x986c, 0x986d,
    -    0x986e, 0x7762, 0x7765, 0x777f, 0x778d, 0x777d, 0x7780, 0x778c,
    -    0x7791, 0x779f, 0x77a0, 0x77b0, 0x77b5, 0x77bd, 0x753a, 0x7540,
    -    0x754e, 0x754b, 0x7548, 0x755b, 0x7572, 0x7579, 0x7583, 0x7f58,
    -    0x7f61, 0x7f5f, 0x8a48, 0x7f68, 0x7f74, 0x7f71, 0x7f79, 0x7f81,
    -    0x7f7e, 0x76cd, 0x76e5, 0x8832, 0x9485, 0x9486, 0x9487, 0x948b,
    -    0x948a, 0x948c, 0x948d, 0x948f, 0x9490, 0x9494, 0x9497, 0x9495,
    -    0x949a, 0x949b, 0x949c, 0x94a3, 0x94a4, 0x94ab, 0x94aa, 0x94ad,
    -    0x94ac, 0x94af, 0x94b0, 0x94b2, 0x94b4, 0x94b6, 0x94b7, 0x94b8,
    -    0x94b9, 0x94ba, 0x94bc, 0x94bd, 0x94bf, 0x94c4, 0x94c8, 0x94c9,
    -    0x94ca, 0x94cb, 0x94cc, 0x94cd, 0x94ce, 0x94d0, 0x94d1, 0x94d2,
    -    0x94d5, 0x94d6, 0x94d7, 0x94d9, 0x94d8, 0x94db, 0x94de, 0x94df,
    -    0x94e0, 0x94e2, 0x94e4, 0x94e5, 0x94e7, 0x94e8, 0x94ea, 0x003f,
    -    /* lead byte ef */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x986f, 0x9870, 0x9871, 0x9872, 0x9873, 0x9874, 0x988b, 0x988e,
    -    0x9892, 0x9895, 0x9899, 0x98a3, 0x98a8, 0x98a9, 0x98aa, 0x98ab,
    -    0x98ac, 0x98ad, 0x98ae, 0x98af, 0x98b0, 0x98b1, 0x98b2, 0x98b3,
    -    0x98b4, 0x98b5, 0x98b6, 0x98b7, 0x98b8, 0x98b9, 0x98ba, 0x98bb,
    -    0x98bc, 0x98bd, 0x98be, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3,
    -    0x98c4, 0x98c5, 0x98c6, 0x98c7, 0x98c8, 0x98c9, 0x98ca, 0x98cb,
    -    0x98cc, 0x98cd, 0x98cf, 0x98d0, 0x98d4, 0x98d6, 0x98d7, 0x98db,
    -    0x98dc, 0x98dd, 0x98e0, 0x98e1, 0x98e2, 0x98e3, 0x98e4, 0x003f,
    -    0x98e5, 0x98e6, 0x98e9, 0x98ea, 0x98eb, 0x98ec, 0x98ed, 0x98ee,
    -    0x98ef, 0x98f0, 0x98f1, 0x98f2, 0x98f3, 0x98f4, 0x98f5, 0x98f6,
    -    0x98f7, 0x98f8, 0x98f9, 0x98fa, 0x98fb, 0x98fc, 0x98fd, 0x98fe,
    -    0x98ff, 0x9900, 0x9901, 0x9902, 0x9903, 0x9904, 0x9905, 0x9906,
    -    0x9907, 0x94e9, 0x94eb, 0x94ee, 0x94ef, 0x94f3, 0x94f4, 0x94f5,
    -    0x94f7, 0x94f9, 0x94fc, 0x94fd, 0x94ff, 0x9503, 0x9502, 0x9506,
    -    0x9507, 0x9509, 0x950a, 0x950d, 0x950e, 0x950f, 0x9512, 0x9513,
    -    0x9514, 0x9515, 0x9516, 0x9518, 0x951b, 0x951d, 0x951e, 0x951f,
    -    0x9522, 0x952a, 0x952b, 0x9529, 0x952c, 0x9531, 0x9532, 0x9534,
    -    0x9536, 0x9537, 0x9538, 0x953c, 0x953e, 0x953f, 0x9542, 0x9535,
    -    0x9544, 0x9545, 0x9546, 0x9549, 0x954c, 0x954e, 0x954f, 0x9552,
    -    0x9553, 0x9554, 0x9556, 0x9557, 0x9558, 0x9559, 0x955b, 0x955e,
    -    0x955f, 0x955d, 0x9561, 0x9562, 0x9564, 0x9565, 0x9566, 0x9567,
    -    0x9568, 0x9569, 0x956a, 0x956b, 0x956c, 0x956f, 0x9571, 0x9572,
    -    0x9573, 0x953a, 0x77e7, 0x77ec, 0x96c9, 0x79d5, 0x79ed, 0x79e3,
    -    0x79eb, 0x7a06, 0x5d47, 0x7a03, 0x7a02, 0x7a1e, 0x7a14, 0x003f,
    -    /* lead byte f0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9908, 0x9909, 0x990a, 0x990b, 0x990c, 0x990e, 0x990f, 0x9911,
    -    0x9912, 0x9913, 0x9914, 0x9915, 0x9916, 0x9917, 0x9918, 0x9919,
    -    0x991a, 0x991b, 0x991c, 0x991d, 0x991e, 0x991f, 0x9920, 0x9921,
    -    0x9922, 0x9923, 0x9924, 0x9925, 0x9926, 0x9927, 0x9928, 0x9929,
    -    0x992a, 0x992b, 0x992c, 0x992d, 0x992f, 0x9930, 0x9931, 0x9932,
    -    0x9933, 0x9934, 0x9935, 0x9936, 0x9937, 0x9938, 0x9939, 0x993a,
    -    0x993b, 0x993c, 0x993d, 0x993e, 0x993f, 0x9940, 0x9941, 0x9942,
    -    0x9943, 0x9944, 0x9945, 0x9946, 0x9947, 0x9948, 0x9949, 0x003f,
    -    0x994a, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,
    -    0x9952, 0x9953, 0x9956, 0x9957, 0x9958, 0x9959, 0x995a, 0x995b,
    -    0x995c, 0x995d, 0x995e, 0x995f, 0x9960, 0x9961, 0x9962, 0x9964,
    -    0x9966, 0x9973, 0x9978, 0x9979, 0x997b, 0x997e, 0x9982, 0x9983,
    -    0x9989, 0x7a39, 0x7a37, 0x7a51, 0x9ecf, 0x99a5, 0x7a70, 0x7688,
    -    0x768e, 0x7693, 0x7699, 0x76a4, 0x74de, 0x74e0, 0x752c, 0x9e20,
    -    0x9e22, 0x9e28, 0x9e29, 0x9e2a, 0x9e2b, 0x9e2c, 0x9e32, 0x9e31,
    -    0x9e36, 0x9e38, 0x9e37, 0x9e39, 0x9e3a, 0x9e3e, 0x9e41, 0x9e42,
    -    0x9e44, 0x9e46, 0x9e47, 0x9e48, 0x9e49, 0x9e4b, 0x9e4c, 0x9e4e,
    -    0x9e51, 0x9e55, 0x9e57, 0x9e5a, 0x9e5b, 0x9e5c, 0x9e5e, 0x9e63,
    -    0x9e66, 0x9e67, 0x9e68, 0x9e69, 0x9e6a, 0x9e6b, 0x9e6c, 0x9e71,
    -    0x9e6d, 0x9e73, 0x7592, 0x7594, 0x7596, 0x75a0, 0x759d, 0x75ac,
    -    0x75a3, 0x75b3, 0x75b4, 0x75b8, 0x75c4, 0x75b1, 0x75b0, 0x75c3,
    -    0x75c2, 0x75d6, 0x75cd, 0x75e3, 0x75e8, 0x75e6, 0x75e4, 0x75eb,
    -    0x75e7, 0x7603, 0x75f1, 0x75fc, 0x75ff, 0x7610, 0x7600, 0x7605,
    -    0x760c, 0x7617, 0x760a, 0x7625, 0x7618, 0x7615, 0x7619, 0x003f,
    -    /* lead byte f1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x998c, 0x998e, 0x999a, 0x999b, 0x999c, 0x999d, 0x999e, 0x999f,
    -    0x99a0, 0x99a1, 0x99a2, 0x99a3, 0x99a4, 0x99a6, 0x99a7, 0x99a9,
    -    0x99aa, 0x99ab, 0x99ac, 0x99ad, 0x99ae, 0x99af, 0x99b0, 0x99b1,
    -    0x99b2, 0x99b3, 0x99b4, 0x99b5, 0x99b6, 0x99b7, 0x99b8, 0x99b9,
    -    0x99ba, 0x99bb, 0x99bc, 0x99bd, 0x99be, 0x99bf, 0x99c0, 0x99c1,
    -    0x99c2, 0x99c3, 0x99c4, 0x99c5, 0x99c6, 0x99c7, 0x99c8, 0x99c9,
    -    0x99ca, 0x99cb, 0x99cc, 0x99cd, 0x99ce, 0x99cf, 0x99d0, 0x99d1,
    -    0x99d2, 0x99d3, 0x99d4, 0x99d5, 0x99d6, 0x99d7, 0x99d8, 0x003f,
    -    0x99d9, 0x99da, 0x99db, 0x99dc, 0x99dd, 0x99de, 0x99df, 0x99e0,
    -    0x99e1, 0x99e2, 0x99e3, 0x99e4, 0x99e5, 0x99e6, 0x99e7, 0x99e8,
    -    0x99e9, 0x99ea, 0x99eb, 0x99ec, 0x99ed, 0x99ee, 0x99ef, 0x99f0,
    -    0x99f1, 0x99f2, 0x99f3, 0x99f4, 0x99f5, 0x99f6, 0x99f7, 0x99f8,
    -    0x99f9, 0x761b, 0x763c, 0x7622, 0x7620, 0x7640, 0x762d, 0x7630,
    -    0x763f, 0x7635, 0x7643, 0x763e, 0x7633, 0x764d, 0x765e, 0x7654,
    -    0x765c, 0x7656, 0x766b, 0x766f, 0x7fca, 0x7ae6, 0x7a78, 0x7a79,
    -    0x7a80, 0x7a86, 0x7a88, 0x7a95, 0x7aa6, 0x7aa0, 0x7aac, 0x7aa8,
    -    0x7aad, 0x7ab3, 0x8864, 0x8869, 0x8872, 0x887d, 0x887f, 0x8882,
    -    0x88a2, 0x88c6, 0x88b7, 0x88bc, 0x88c9, 0x88e2, 0x88ce, 0x88e3,
    -    0x88e5, 0x88f1, 0x891a, 0x88fc, 0x88e8, 0x88fe, 0x88f0, 0x8921,
    -    0x8919, 0x8913, 0x891b, 0x890a, 0x8934, 0x892b, 0x8936, 0x8941,
    -    0x8966, 0x897b, 0x758b, 0x80e5, 0x76b2, 0x76b4, 0x77dc, 0x8012,
    -    0x8014, 0x8016, 0x801c, 0x8020, 0x8022, 0x8025, 0x8026, 0x8027,
    -    0x8029, 0x8028, 0x8031, 0x800b, 0x8035, 0x8043, 0x8046, 0x804d,
    -    0x8052, 0x8069, 0x8071, 0x8983, 0x9878, 0x9880, 0x9883, 0x003f,
    -    /* lead byte f2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x99fa, 0x99fb, 0x99fc, 0x99fd, 0x99fe, 0x99ff, 0x9a00, 0x9a01,
    -    0x9a02, 0x9a03, 0x9a04, 0x9a05, 0x9a06, 0x9a07, 0x9a08, 0x9a09,
    -    0x9a0a, 0x9a0b, 0x9a0c, 0x9a0d, 0x9a0e, 0x9a0f, 0x9a10, 0x9a11,
    -    0x9a12, 0x9a13, 0x9a14, 0x9a15, 0x9a16, 0x9a17, 0x9a18, 0x9a19,
    -    0x9a1a, 0x9a1b, 0x9a1c, 0x9a1d, 0x9a1e, 0x9a1f, 0x9a20, 0x9a21,
    -    0x9a22, 0x9a23, 0x9a24, 0x9a25, 0x9a26, 0x9a27, 0x9a28, 0x9a29,
    -    0x9a2a, 0x9a2b, 0x9a2c, 0x9a2d, 0x9a2e, 0x9a2f, 0x9a30, 0x9a31,
    -    0x9a32, 0x9a33, 0x9a34, 0x9a35, 0x9a36, 0x9a37, 0x9a38, 0x003f,
    -    0x9a39, 0x9a3a, 0x9a3b, 0x9a3c, 0x9a3d, 0x9a3e, 0x9a3f, 0x9a40,
    -    0x9a41, 0x9a42, 0x9a43, 0x9a44, 0x9a45, 0x9a46, 0x9a47, 0x9a48,
    -    0x9a49, 0x9a4a, 0x9a4b, 0x9a4c, 0x9a4d, 0x9a4e, 0x9a4f, 0x9a50,
    -    0x9a51, 0x9a52, 0x9a53, 0x9a54, 0x9a55, 0x9a56, 0x9a57, 0x9a58,
    -    0x9a59, 0x9889, 0x988c, 0x988d, 0x988f, 0x9894, 0x989a, 0x989b,
    -    0x989e, 0x989f, 0x98a1, 0x98a2, 0x98a5, 0x98a6, 0x864d, 0x8654,
    -    0x866c, 0x866e, 0x867f, 0x867a, 0x867c, 0x867b, 0x86a8, 0x868d,
    -    0x868b, 0x86ac, 0x869d, 0x86a7, 0x86a3, 0x86aa, 0x8693, 0x86a9,
    -    0x86b6, 0x86c4, 0x86b5, 0x86ce, 0x86b0, 0x86ba, 0x86b1, 0x86af,
    -    0x86c9, 0x86cf, 0x86b4, 0x86e9, 0x86f1, 0x86f2, 0x86ed, 0x86f3,
    -    0x86d0, 0x8713, 0x86de, 0x86f4, 0x86df, 0x86d8, 0x86d1, 0x8703,
    -    0x8707, 0x86f8, 0x8708, 0x870a, 0x870d, 0x8709, 0x8723, 0x873b,
    -    0x871e, 0x8725, 0x872e, 0x871a, 0x873e, 0x8748, 0x8734, 0x8731,
    -    0x8729, 0x8737, 0x873f, 0x8782, 0x8722, 0x877d, 0x877e, 0x877b,
    -    0x8760, 0x8770, 0x874c, 0x876e, 0x878b, 0x8753, 0x8763, 0x877c,
    -    0x8764, 0x8759, 0x8765, 0x8793, 0x87af, 0x87a8, 0x87d2, 0x003f,
    -    /* lead byte f3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9a5a, 0x9a5b, 0x9a5c, 0x9a5d, 0x9a5e, 0x9a5f, 0x9a60, 0x9a61,
    -    0x9a62, 0x9a63, 0x9a64, 0x9a65, 0x9a66, 0x9a67, 0x9a68, 0x9a69,
    -    0x9a6a, 0x9a6b, 0x9a72, 0x9a83, 0x9a89, 0x9a8d, 0x9a8e, 0x9a94,
    -    0x9a95, 0x9a99, 0x9aa6, 0x9aa9, 0x9aaa, 0x9aab, 0x9aac, 0x9aad,
    -    0x9aae, 0x9aaf, 0x9ab2, 0x9ab3, 0x9ab4, 0x9ab5, 0x9ab9, 0x9abb,
    -    0x9abd, 0x9abe, 0x9abf, 0x9ac3, 0x9ac4, 0x9ac6, 0x9ac7, 0x9ac8,
    -    0x9ac9, 0x9aca, 0x9acd, 0x9ace, 0x9acf, 0x9ad0, 0x9ad2, 0x9ad4,
    -    0x9ad5, 0x9ad6, 0x9ad7, 0x9ad9, 0x9ada, 0x9adb, 0x9adc, 0x003f,
    -    0x9add, 0x9ade, 0x9ae0, 0x9ae2, 0x9ae3, 0x9ae4, 0x9ae5, 0x9ae7,
    -    0x9ae8, 0x9ae9, 0x9aea, 0x9aec, 0x9aee, 0x9af0, 0x9af1, 0x9af2,
    -    0x9af3, 0x9af4, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9afa, 0x9afc,
    -    0x9afd, 0x9afe, 0x9aff, 0x9b00, 0x9b01, 0x9b02, 0x9b04, 0x9b05,
    -    0x9b06, 0x87c6, 0x8788, 0x8785, 0x87ad, 0x8797, 0x8783, 0x87ab,
    -    0x87e5, 0x87ac, 0x87b5, 0x87b3, 0x87cb, 0x87d3, 0x87bd, 0x87d1,
    -    0x87c0, 0x87ca, 0x87db, 0x87ea, 0x87e0, 0x87ee, 0x8816, 0x8813,
    -    0x87fe, 0x880a, 0x881b, 0x8821, 0x8839, 0x883c, 0x7f36, 0x7f42,
    -    0x7f44, 0x7f45, 0x8210, 0x7afa, 0x7afd, 0x7b08, 0x7b03, 0x7b04,
    -    0x7b15, 0x7b0a, 0x7b2b, 0x7b0f, 0x7b47, 0x7b38, 0x7b2a, 0x7b19,
    -    0x7b2e, 0x7b31, 0x7b20, 0x7b25, 0x7b24, 0x7b33, 0x7b3e, 0x7b1e,
    -    0x7b58, 0x7b5a, 0x7b45, 0x7b75, 0x7b4c, 0x7b5d, 0x7b60, 0x7b6e,
    -    0x7b7b, 0x7b62, 0x7b72, 0x7b71, 0x7b90, 0x7ba6, 0x7ba7, 0x7bb8,
    -    0x7bac, 0x7b9d, 0x7ba8, 0x7b85, 0x7baa, 0x7b9c, 0x7ba2, 0x7bab,
    -    0x7bb4, 0x7bd1, 0x7bc1, 0x7bcc, 0x7bdd, 0x7bda, 0x7be5, 0x7be6,
    -    0x7bea, 0x7c0c, 0x7bfe, 0x7bfc, 0x7c0f, 0x7c16, 0x7c0b, 0x003f,
    -    /* lead byte f4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9b07, 0x9b09, 0x9b0a, 0x9b0b, 0x9b0c, 0x9b0d, 0x9b0e, 0x9b10,
    -    0x9b11, 0x9b12, 0x9b14, 0x9b15, 0x9b16, 0x9b17, 0x9b18, 0x9b19,
    -    0x9b1a, 0x9b1b, 0x9b1c, 0x9b1d, 0x9b1e, 0x9b20, 0x9b21, 0x9b22,
    -    0x9b24, 0x9b25, 0x9b26, 0x9b27, 0x9b28, 0x9b29, 0x9b2a, 0x9b2b,
    -    0x9b2c, 0x9b2d, 0x9b2e, 0x9b30, 0x9b31, 0x9b33, 0x9b34, 0x9b35,
    -    0x9b36, 0x9b37, 0x9b38, 0x9b39, 0x9b3a, 0x9b3d, 0x9b3e, 0x9b3f,
    -    0x9b40, 0x9b46, 0x9b4a, 0x9b4b, 0x9b4c, 0x9b4e, 0x9b50, 0x9b52,
    -    0x9b53, 0x9b55, 0x9b56, 0x9b57, 0x9b58, 0x9b59, 0x9b5a, 0x003f,
    -    0x9b5b, 0x9b5c, 0x9b5d, 0x9b5e, 0x9b5f, 0x9b60, 0x9b61, 0x9b62,
    -    0x9b63, 0x9b64, 0x9b65, 0x9b66, 0x9b67, 0x9b68, 0x9b69, 0x9b6a,
    -    0x9b6b, 0x9b6c, 0x9b6d, 0x9b6e, 0x9b6f, 0x9b70, 0x9b71, 0x9b72,
    -    0x9b73, 0x9b74, 0x9b75, 0x9b76, 0x9b77, 0x9b78, 0x9b79, 0x9b7a,
    -    0x9b7b, 0x7c1f, 0x7c2a, 0x7c26, 0x7c38, 0x7c41, 0x7c40, 0x81fe,
    -    0x8201, 0x8202, 0x8204, 0x81ec, 0x8844, 0x8221, 0x8222, 0x8223,
    -    0x822d, 0x822f, 0x8228, 0x822b, 0x8238, 0x823b, 0x8233, 0x8234,
    -    0x823e, 0x8244, 0x8249, 0x824b, 0x824f, 0x825a, 0x825f, 0x8268,
    -    0x887e, 0x8885, 0x8888, 0x88d8, 0x88df, 0x895e, 0x7f9d, 0x7f9f,
    -    0x7fa7, 0x7faf, 0x7fb0, 0x7fb2, 0x7c7c, 0x6549, 0x7c91, 0x7c9d,
    -    0x7c9c, 0x7c9e, 0x7ca2, 0x7cb2, 0x7cbc, 0x7cbd, 0x7cc1, 0x7cc7,
    -    0x7ccc, 0x7ccd, 0x7cc8, 0x7cc5, 0x7cd7, 0x7ce8, 0x826e, 0x66a8,
    -    0x7fbf, 0x7fce, 0x7fd5, 0x7fe5, 0x7fe1, 0x7fe6, 0x7fe9, 0x7fee,
    -    0x7ff3, 0x7cf8, 0x7d77, 0x7da6, 0x7dae, 0x7e47, 0x7e9b, 0x9eb8,
    -    0x9eb4, 0x8d73, 0x8d84, 0x8d94, 0x8d91, 0x8db1, 0x8d67, 0x8d6d,
    -    0x8c47, 0x8c49, 0x914a, 0x9150, 0x914e, 0x914f, 0x9164, 0x003f,
    -    /* lead byte f5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9b7c, 0x9b7d, 0x9b7e, 0x9b7f, 0x9b80, 0x9b81, 0x9b82, 0x9b83,
    -    0x9b84, 0x9b85, 0x9b86, 0x9b87, 0x9b88, 0x9b89, 0x9b8a, 0x9b8b,
    -    0x9b8c, 0x9b8d, 0x9b8e, 0x9b8f, 0x9b90, 0x9b91, 0x9b92, 0x9b93,
    -    0x9b94, 0x9b95, 0x9b96, 0x9b97, 0x9b98, 0x9b99, 0x9b9a, 0x9b9b,
    -    0x9b9c, 0x9b9d, 0x9b9e, 0x9b9f, 0x9ba0, 0x9ba1, 0x9ba2, 0x9ba3,
    -    0x9ba4, 0x9ba5, 0x9ba6, 0x9ba7, 0x9ba8, 0x9ba9, 0x9baa, 0x9bab,
    -    0x9bac, 0x9bad, 0x9bae, 0x9baf, 0x9bb0, 0x9bb1, 0x9bb2, 0x9bb3,
    -    0x9bb4, 0x9bb5, 0x9bb6, 0x9bb7, 0x9bb8, 0x9bb9, 0x9bba, 0x003f,
    -    0x9bbb, 0x9bbc, 0x9bbd, 0x9bbe, 0x9bbf, 0x9bc0, 0x9bc1, 0x9bc2,
    -    0x9bc3, 0x9bc4, 0x9bc5, 0x9bc6, 0x9bc7, 0x9bc8, 0x9bc9, 0x9bca,
    -    0x9bcb, 0x9bcc, 0x9bcd, 0x9bce, 0x9bcf, 0x9bd0, 0x9bd1, 0x9bd2,
    -    0x9bd3, 0x9bd4, 0x9bd5, 0x9bd6, 0x9bd7, 0x9bd8, 0x9bd9, 0x9bda,
    -    0x9bdb, 0x9162, 0x9161, 0x9170, 0x9169, 0x916f, 0x917d, 0x917e,
    -    0x9172, 0x9174, 0x9179, 0x918c, 0x9185, 0x9190, 0x918d, 0x9191,
    -    0x91a2, 0x91a3, 0x91aa, 0x91ad, 0x91ae, 0x91af, 0x91b5, 0x91b4,
    -    0x91ba, 0x8c55, 0x9e7e, 0x8db8, 0x8deb, 0x8e05, 0x8e59, 0x8e69,
    -    0x8db5, 0x8dbf, 0x8dbc, 0x8dba, 0x8dc4, 0x8dd6, 0x8dd7, 0x8dda,
    -    0x8dde, 0x8dce, 0x8dcf, 0x8ddb, 0x8dc6, 0x8dec, 0x8df7, 0x8df8,
    -    0x8de3, 0x8df9, 0x8dfb, 0x8de4, 0x8e09, 0x8dfd, 0x8e14, 0x8e1d,
    -    0x8e1f, 0x8e2c, 0x8e2e, 0x8e23, 0x8e2f, 0x8e3a, 0x8e40, 0x8e39,
    -    0x8e35, 0x8e3d, 0x8e31, 0x8e49, 0x8e41, 0x8e42, 0x8e51, 0x8e52,
    -    0x8e4a, 0x8e70, 0x8e76, 0x8e7c, 0x8e6f, 0x8e74, 0x8e85, 0x8e8f,
    -    0x8e94, 0x8e90, 0x8e9c, 0x8e9e, 0x8c78, 0x8c82, 0x8c8a, 0x8c85,
    -    0x8c98, 0x8c94, 0x659b, 0x89d6, 0x89de, 0x89da, 0x89dc, 0x003f,
    -    /* lead byte f6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9bdc, 0x9bdd, 0x9bde, 0x9bdf, 0x9be0, 0x9be1, 0x9be2, 0x9be3,
    -    0x9be4, 0x9be5, 0x9be6, 0x9be7, 0x9be8, 0x9be9, 0x9bea, 0x9beb,
    -    0x9bec, 0x9bed, 0x9bee, 0x9bef, 0x9bf0, 0x9bf1, 0x9bf2, 0x9bf3,
    -    0x9bf4, 0x9bf5, 0x9bf6, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfb,
    -    0x9bfc, 0x9bfd, 0x9bfe, 0x9bff, 0x9c00, 0x9c01, 0x9c02, 0x9c03,
    -    0x9c04, 0x9c05, 0x9c06, 0x9c07, 0x9c08, 0x9c09, 0x9c0a, 0x9c0b,
    -    0x9c0c, 0x9c0d, 0x9c0e, 0x9c0f, 0x9c10, 0x9c11, 0x9c12, 0x9c13,
    -    0x9c14, 0x9c15, 0x9c16, 0x9c17, 0x9c18, 0x9c19, 0x9c1a, 0x003f,
    -    0x9c1b, 0x9c1c, 0x9c1d, 0x9c1e, 0x9c1f, 0x9c20, 0x9c21, 0x9c22,
    -    0x9c23, 0x9c24, 0x9c25, 0x9c26, 0x9c27, 0x9c28, 0x9c29, 0x9c2a,
    -    0x9c2b, 0x9c2c, 0x9c2d, 0x9c2e, 0x9c2f, 0x9c30, 0x9c31, 0x9c32,
    -    0x9c33, 0x9c34, 0x9c35, 0x9c36, 0x9c37, 0x9c38, 0x9c39, 0x9c3a,
    -    0x9c3b, 0x89e5, 0x89eb, 0x89ef, 0x8a3e, 0x8b26, 0x9753, 0x96e9,
    -    0x96f3, 0x96ef, 0x9706, 0x9701, 0x9708, 0x970f, 0x970e, 0x972a,
    -    0x972d, 0x9730, 0x973e, 0x9f80, 0x9f83, 0x9f85, 0x9f86, 0x9f87,
    -    0x9f88, 0x9f89, 0x9f8a, 0x9f8c, 0x9efe, 0x9f0b, 0x9f0d, 0x96b9,
    -    0x96bc, 0x96bd, 0x96ce, 0x96d2, 0x77bf, 0x96e0, 0x928e, 0x92ae,
    -    0x92c8, 0x933e, 0x936a, 0x93ca, 0x938f, 0x943e, 0x946b, 0x9c7f,
    -    0x9c82, 0x9c85, 0x9c86, 0x9c87, 0x9c88, 0x7a23, 0x9c8b, 0x9c8e,
    -    0x9c90, 0x9c91, 0x9c92, 0x9c94, 0x9c95, 0x9c9a, 0x9c9b, 0x9c9e,
    -    0x9c9f, 0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca5, 0x9ca6, 0x9ca7,
    -    0x9ca8, 0x9ca9, 0x9cab, 0x9cad, 0x9cae, 0x9cb0, 0x9cb1, 0x9cb2,
    -    0x9cb3, 0x9cb4, 0x9cb5, 0x9cb6, 0x9cb7, 0x9cba, 0x9cbb, 0x9cbc,
    -    0x9cbd, 0x9cc4, 0x9cc5, 0x9cc6, 0x9cc7, 0x9cca, 0x9ccb, 0x003f,
    -    /* lead byte f7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9c3c, 0x9c3d, 0x9c3e, 0x9c3f, 0x9c40, 0x9c41, 0x9c42, 0x9c43,
    -    0x9c44, 0x9c45, 0x9c46, 0x9c47, 0x9c48, 0x9c49, 0x9c4a, 0x9c4b,
    -    0x9c4c, 0x9c4d, 0x9c4e, 0x9c4f, 0x9c50, 0x9c51, 0x9c52, 0x9c53,
    -    0x9c54, 0x9c55, 0x9c56, 0x9c57, 0x9c58, 0x9c59, 0x9c5a, 0x9c5b,
    -    0x9c5c, 0x9c5d, 0x9c5e, 0x9c5f, 0x9c60, 0x9c61, 0x9c62, 0x9c63,
    -    0x9c64, 0x9c65, 0x9c66, 0x9c67, 0x9c68, 0x9c69, 0x9c6a, 0x9c6b,
    -    0x9c6c, 0x9c6d, 0x9c6e, 0x9c6f, 0x9c70, 0x9c71, 0x9c72, 0x9c73,
    -    0x9c74, 0x9c75, 0x9c76, 0x9c77, 0x9c78, 0x9c79, 0x9c7a, 0x003f,
    -    0x9c7b, 0x9c7d, 0x9c7e, 0x9c80, 0x9c83, 0x9c84, 0x9c89, 0x9c8a,
    -    0x9c8c, 0x9c8f, 0x9c93, 0x9c96, 0x9c97, 0x9c98, 0x9c99, 0x9c9d,
    -    0x9caa, 0x9cac, 0x9caf, 0x9cb9, 0x9cbe, 0x9cbf, 0x9cc0, 0x9cc1,
    -    0x9cc2, 0x9cc8, 0x9cc9, 0x9cd1, 0x9cd2, 0x9cda, 0x9cdb, 0x9ce0,
    -    0x9ce1, 0x9ccc, 0x9ccd, 0x9cce, 0x9ccf, 0x9cd0, 0x9cd3, 0x9cd4,
    -    0x9cd5, 0x9cd7, 0x9cd8, 0x9cd9, 0x9cdc, 0x9cdd, 0x9cdf, 0x9ce2,
    -    0x977c, 0x9785, 0x9791, 0x9792, 0x9794, 0x97af, 0x97ab, 0x97a3,
    -    0x97b2, 0x97b4, 0x9ab1, 0x9ab0, 0x9ab7, 0x9e58, 0x9ab6, 0x9aba,
    -    0x9abc, 0x9ac1, 0x9ac0, 0x9ac5, 0x9ac2, 0x9acb, 0x9acc, 0x9ad1,
    -    0x9b45, 0x9b43, 0x9b47, 0x9b49, 0x9b48, 0x9b4d, 0x9b51, 0x98e8,
    -    0x990d, 0x992e, 0x9955, 0x9954, 0x9adf, 0x9ae1, 0x9ae6, 0x9aef,
    -    0x9aeb, 0x9afb, 0x9aed, 0x9af9, 0x9b08, 0x9b0f, 0x9b13, 0x9b1f,
    -    0x9b23, 0x9ebd, 0x9ebe, 0x7e3b, 0x9e82, 0x9e87, 0x9e88, 0x9e8b,
    -    0x9e92, 0x93d6, 0x9e9d, 0x9e9f, 0x9edb, 0x9edc, 0x9edd, 0x9ee0,
    -    0x9edf, 0x9ee2, 0x9ee9, 0x9ee7, 0x9ee5, 0x9eea, 0x9eef, 0x9f22,
    -    0x9f2c, 0x9f2f, 0x9f39, 0x9f37, 0x9f3d, 0x9f3e, 0x9f44, 0x003f,
    -    /* lead byte f8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9ce3, 0x9ce4, 0x9ce5, 0x9ce6, 0x9ce7, 0x9ce8, 0x9ce9, 0x9cea,
    -    0x9ceb, 0x9cec, 0x9ced, 0x9cee, 0x9cef, 0x9cf0, 0x9cf1, 0x9cf2,
    -    0x9cf3, 0x9cf4, 0x9cf5, 0x9cf6, 0x9cf7, 0x9cf8, 0x9cf9, 0x9cfa,
    -    0x9cfb, 0x9cfc, 0x9cfd, 0x9cfe, 0x9cff, 0x9d00, 0x9d01, 0x9d02,
    -    0x9d03, 0x9d04, 0x9d05, 0x9d06, 0x9d07, 0x9d08, 0x9d09, 0x9d0a,
    -    0x9d0b, 0x9d0c, 0x9d0d, 0x9d0e, 0x9d0f, 0x9d10, 0x9d11, 0x9d12,
    -    0x9d13, 0x9d14, 0x9d15, 0x9d16, 0x9d17, 0x9d18, 0x9d19, 0x9d1a,
    -    0x9d1b, 0x9d1c, 0x9d1d, 0x9d1e, 0x9d1f, 0x9d20, 0x9d21, 0x003f,
    -    0x9d22, 0x9d23, 0x9d24, 0x9d25, 0x9d26, 0x9d27, 0x9d28, 0x9d29,
    -    0x9d2a, 0x9d2b, 0x9d2c, 0x9d2d, 0x9d2e, 0x9d2f, 0x9d30, 0x9d31,
    -    0x9d32, 0x9d33, 0x9d34, 0x9d35, 0x9d36, 0x9d37, 0x9d38, 0x9d39,
    -    0x9d3a, 0x9d3b, 0x9d3c, 0x9d3d, 0x9d3e, 0x9d3f, 0x9d40, 0x9d41,
    -    0x9d42, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte f9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9d43, 0x9d44, 0x9d45, 0x9d46, 0x9d47, 0x9d48, 0x9d49, 0x9d4a,
    -    0x9d4b, 0x9d4c, 0x9d4d, 0x9d4e, 0x9d4f, 0x9d50, 0x9d51, 0x9d52,
    -    0x9d53, 0x9d54, 0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0x9d5a,
    -    0x9d5b, 0x9d5c, 0x9d5d, 0x9d5e, 0x9d5f, 0x9d60, 0x9d61, 0x9d62,
    -    0x9d63, 0x9d64, 0x9d65, 0x9d66, 0x9d67, 0x9d68, 0x9d69, 0x9d6a,
    -    0x9d6b, 0x9d6c, 0x9d6d, 0x9d6e, 0x9d6f, 0x9d70, 0x9d71, 0x9d72,
    -    0x9d73, 0x9d74, 0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a,
    -    0x9d7b, 0x9d7c, 0x9d7d, 0x9d7e, 0x9d7f, 0x9d80, 0x9d81, 0x003f,
    -    0x9d82, 0x9d83, 0x9d84, 0x9d85, 0x9d86, 0x9d87, 0x9d88, 0x9d89,
    -    0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f, 0x9d90, 0x9d91,
    -    0x9d92, 0x9d93, 0x9d94, 0x9d95, 0x9d96, 0x9d97, 0x9d98, 0x9d99,
    -    0x9d9a, 0x9d9b, 0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f, 0x9da0, 0x9da1,
    -    0x9da2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fa */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9da3, 0x9da4, 0x9da5, 0x9da6, 0x9da7, 0x9da8, 0x9da9, 0x9daa,
    -    0x9dab, 0x9dac, 0x9dad, 0x9dae, 0x9daf, 0x9db0, 0x9db1, 0x9db2,
    -    0x9db3, 0x9db4, 0x9db5, 0x9db6, 0x9db7, 0x9db8, 0x9db9, 0x9dba,
    -    0x9dbb, 0x9dbc, 0x9dbd, 0x9dbe, 0x9dbf, 0x9dc0, 0x9dc1, 0x9dc2,
    -    0x9dc3, 0x9dc4, 0x9dc5, 0x9dc6, 0x9dc7, 0x9dc8, 0x9dc9, 0x9dca,
    -    0x9dcb, 0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0x9dd0, 0x9dd1, 0x9dd2,
    -    0x9dd3, 0x9dd4, 0x9dd5, 0x9dd6, 0x9dd7, 0x9dd8, 0x9dd9, 0x9dda,
    -    0x9ddb, 0x9ddc, 0x9ddd, 0x9dde, 0x9ddf, 0x9de0, 0x9de1, 0x003f,
    -    0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6, 0x9de7, 0x9de8, 0x9de9,
    -    0x9dea, 0x9deb, 0x9dec, 0x9ded, 0x9dee, 0x9def, 0x9df0, 0x9df1,
    -    0x9df2, 0x9df3, 0x9df4, 0x9df5, 0x9df6, 0x9df7, 0x9df8, 0x9df9,
    -    0x9dfa, 0x9dfb, 0x9dfc, 0x9dfd, 0x9dfe, 0x9dff, 0x9e00, 0x9e01,
    -    0x9e02, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9e03, 0x9e04, 0x9e05, 0x9e06, 0x9e07, 0x9e08, 0x9e09, 0x9e0a,
    -    0x9e0b, 0x9e0c, 0x9e0d, 0x9e0e, 0x9e0f, 0x9e10, 0x9e11, 0x9e12,
    -    0x9e13, 0x9e14, 0x9e15, 0x9e16, 0x9e17, 0x9e18, 0x9e19, 0x9e1a,
    -    0x9e1b, 0x9e1c, 0x9e1d, 0x9e1e, 0x9e24, 0x9e27, 0x9e2e, 0x9e30,
    -    0x9e34, 0x9e3b, 0x9e3c, 0x9e40, 0x9e4d, 0x9e50, 0x9e52, 0x9e53,
    -    0x9e54, 0x9e56, 0x9e59, 0x9e5d, 0x9e5f, 0x9e60, 0x9e61, 0x9e62,
    -    0x9e65, 0x9e6e, 0x9e6f, 0x9e72, 0x9e74, 0x9e75, 0x9e76, 0x9e77,
    -    0x9e78, 0x9e79, 0x9e7a, 0x9e7b, 0x9e7c, 0x9e7d, 0x9e80, 0x003f,
    -    0x9e81, 0x9e83, 0x9e84, 0x9e85, 0x9e86, 0x9e89, 0x9e8a, 0x9e8c,
    -    0x9e8d, 0x9e8e, 0x9e8f, 0x9e90, 0x9e91, 0x9e94, 0x9e95, 0x9e96,
    -    0x9e97, 0x9e98, 0x9e99, 0x9e9a, 0x9e9b, 0x9e9c, 0x9e9e, 0x9ea0,
    -    0x9ea1, 0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0x9ea7, 0x9ea8, 0x9ea9,
    -    0x9eaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9eab, 0x9eac, 0x9ead, 0x9eae, 0x9eaf, 0x9eb0, 0x9eb1, 0x9eb2,
    -    0x9eb3, 0x9eb5, 0x9eb6, 0x9eb7, 0x9eb9, 0x9eba, 0x9ebc, 0x9ebf,
    -    0x9ec0, 0x9ec1, 0x9ec2, 0x9ec3, 0x9ec5, 0x9ec6, 0x9ec7, 0x9ec8,
    -    0x9eca, 0x9ecb, 0x9ecc, 0x9ed0, 0x9ed2, 0x9ed3, 0x9ed5, 0x9ed6,
    -    0x9ed7, 0x9ed9, 0x9eda, 0x9ede, 0x9ee1, 0x9ee3, 0x9ee4, 0x9ee6,
    -    0x9ee8, 0x9eeb, 0x9eec, 0x9eed, 0x9eee, 0x9ef0, 0x9ef1, 0x9ef2,
    -    0x9ef3, 0x9ef4, 0x9ef5, 0x9ef6, 0x9ef7, 0x9ef8, 0x9efa, 0x9efd,
    -    0x9eff, 0x9f00, 0x9f01, 0x9f02, 0x9f03, 0x9f04, 0x9f05, 0x003f,
    -    0x9f06, 0x9f07, 0x9f08, 0x9f09, 0x9f0a, 0x9f0c, 0x9f0f, 0x9f11,
    -    0x9f12, 0x9f14, 0x9f15, 0x9f16, 0x9f18, 0x9f1a, 0x9f1b, 0x9f1c,
    -    0x9f1d, 0x9f1e, 0x9f1f, 0x9f21, 0x9f23, 0x9f24, 0x9f25, 0x9f26,
    -    0x9f27, 0x9f28, 0x9f29, 0x9f2a, 0x9f2b, 0x9f2d, 0x9f2e, 0x9f30,
    -    0x9f31, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9f32, 0x9f33, 0x9f34, 0x9f35, 0x9f36, 0x9f38, 0x9f3a, 0x9f3c,
    -    0x9f3f, 0x9f40, 0x9f41, 0x9f42, 0x9f43, 0x9f45, 0x9f46, 0x9f47,
    -    0x9f48, 0x9f49, 0x9f4a, 0x9f4b, 0x9f4c, 0x9f4d, 0x9f4e, 0x9f4f,
    -    0x9f52, 0x9f53, 0x9f54, 0x9f55, 0x9f56, 0x9f57, 0x9f58, 0x9f59,
    -    0x9f5a, 0x9f5b, 0x9f5c, 0x9f5d, 0x9f5e, 0x9f5f, 0x9f60, 0x9f61,
    -    0x9f62, 0x9f63, 0x9f64, 0x9f65, 0x9f66, 0x9f67, 0x9f68, 0x9f69,
    -    0x9f6a, 0x9f6b, 0x9f6c, 0x9f6d, 0x9f6e, 0x9f6f, 0x9f70, 0x9f71,
    -    0x9f72, 0x9f73, 0x9f74, 0x9f75, 0x9f76, 0x9f77, 0x9f78, 0x003f,
    -    0x9f79, 0x9f7a, 0x9f7b, 0x9f7c, 0x9f7d, 0x9f7e, 0x9f81, 0x9f82,
    -    0x9f8d, 0x9f8e, 0x9f8f, 0x9f90, 0x9f91, 0x9f92, 0x9f93, 0x9f94,
    -    0x9f95, 0x9f96, 0x9f97, 0x9f98, 0x9f9c, 0x9f9d, 0x9f9e, 0x9fa1,
    -    0x9fa2, 0x9fa3, 0x9fa4, 0x9fa5, 0xf92c, 0xf979, 0xf995, 0xf9e7,
    -    0xf9f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte fe */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfa0c, 0xfa0d, 0xfa0e, 0xfa0f, 0xfa11, 0xfa13, 0xfa14, 0xfa18,
    -    0xfa1f, 0xfa20, 0xfa21, 0xfa23, 0xfa24, 0xfa27, 0xfa28, 0xfa29,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned char cp2uni_leadbytes[256] =
    -{
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    -    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x00
    -};
    -
    -static const unsigned short uni2cp_low[27904] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0020, 0x0021, 0x0063, 0x004c, 0xa1e8, 0x0059, 0x007c, 0xa1ec,
    -    0xa1a7, 0x0063, 0x0061, 0xa1b6, 0x003f, 0x002d, 0x0072, 0xa1a5,
    -    0xa1e3, 0xa1c0, 0x0032, 0x0033, 0xa840, 0xa6cc, 0x003f, 0xa1a4,
    -    0x002c, 0x0031, 0x006f, 0xa1b7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    -    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    -    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1c1,
    -    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa6c2,
    -    0xa8a4, 0xa8a2, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    -    0xa8a8, 0xa8a6, 0xa8ba, 0x0065, 0xa8ac, 0xa8aa, 0x0069, 0x0069,
    -    0x0064, 0x006e, 0xa8b0, 0xa8ae, 0x006f, 0x006f, 0x006f, 0xa1c2,
    -    0x006f, 0xa8b4, 0xa8b2, 0x0075, 0xa8b9, 0x0079, 0x003f, 0x0079,
    -    /* 0x0100 .. 0x01ff */
    -    0x0041, 0xa8a1, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    -    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0045, 0xa8a5, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0xa8a7, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0049, 0x0069, 0x0049, 0xa8a9, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    -    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    -    0x003f, 0x004c, 0x006c, 0x004e, 0xa8bd, 0x004e, 0x006e, 0x004e,
    -    0xa8be, 0x003f, 0x003f, 0x003f, 0x004f, 0xa8ad, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0055, 0x0075, 0x0055, 0xa8b1, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    -    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    -    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    -    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    -    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    -    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa9a6, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0xa8a3, 0x0049,
    -    0xa8ab, 0x004f, 0xa8af, 0x0055, 0xa8b3, 0x0055, 0xa8b5, 0x0055,
    -    0xa8b6, 0x0055, 0xa8b7, 0x0055, 0xa8b8, 0x003f, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    -    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    -    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    -    /* 0x0200 .. 0x02ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa8c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    -    0x0079, 0xa840, 0xa1e5, 0xa1ae, 0xa1af, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa1a6,
    -    0x0027, 0xa1a5, 0xa840, 0xa841, 0x003f, 0x005f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa842, 0xa1e3, 0x003f, 0x007e, 0xa1e5, 0x003f, 0x003f,
    -    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0300 .. 0x03ff */
    -    0xa841, 0xa840, 0x005e, 0x007e, 0xa1a5, 0xa1a5, 0x003f, 0xa842,
    -    0xa1a7, 0x003f, 0xa1e3, 0xa1e5, 0xa1a6, 0x003f, 0x0022, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa841, 0xa840, 0x003f, 0x003f, 0xa1a7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa840, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa840, 0xa1a7, 0xa6a1, 0xa1a4,
    -    0xa6a5, 0xa6a7, 0xa6a9, 0x003f, 0xa6af, 0x003f, 0xa6b4, 0xa6b8,
    -    0xa6c9, 0xa6a1, 0xa6a2, 0xa6a3, 0xa6a4, 0xa6a5, 0xa6a6, 0xa6a7,
    -    0xa6a8, 0xa6a9, 0xa6aa, 0xa6ab, 0xa6ac, 0xa6ad, 0xa6ae, 0xa6af,
    -    0xa6b0, 0xa6b1, 0x003f, 0xa6b2, 0xa6b3, 0xa6b4, 0xa6b5, 0xa6b6,
    -    0xa6b7, 0xa6b8, 0xa6a9, 0xa6b4, 0xa6c1, 0xa6c5, 0xa6c7, 0xa6c9,
    -    0xa6d4, 0xa6c1, 0xa6c2, 0xa6c3, 0xa6c4, 0xa6c5, 0xa6c6, 0xa6c7,
    -    0xa6c8, 0xa6c9, 0xa6ca, 0xa6cb, 0xa6cc, 0xa6cd, 0xa6ce, 0xa6cf,
    -    0xa6d0, 0xa6d1, 0x003f, 0xa6d2, 0xa6d3, 0xa6d4, 0xa6d5, 0xa6d6,
    -    0xa6d7, 0xa6d8, 0xa6c9, 0xa6d4, 0xa6cf, 0xa6d4, 0xa6d8, 0x003f,
    -    0xa6c2, 0xa6c8, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6d5, 0xa6d0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa6ca, 0xa6d1, 0x003f, 0x003f, 0xa6a8, 0xa6c5, 0x003f, 0x003f,
    -    0x003f, 0xa6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0400 .. 0x04ff */
    -    0xa7a6, 0xa7a7, 0x003f, 0xa7a4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7ac, 0xa7aa, 0xa7b5, 0x003f,
    -    0xa7a1, 0xa7a2, 0xa7a3, 0xa7a4, 0xa7a5, 0xa7a6, 0xa7a8, 0xa7a9,
    -    0xa7aa, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,
    -    0xa7b2, 0xa7b3, 0xa7b4, 0xa7b5, 0xa7b6, 0xa7b7, 0xa7b8, 0xa7b9,
    -    0xa7ba, 0xa7bb, 0xa7bc, 0xa7bd, 0xa7be, 0xa7bf, 0xa7c0, 0xa7c1,
    -    0xa7d1, 0xa7d2, 0xa7d3, 0xa7d4, 0xa7d5, 0xa7d6, 0xa7d8, 0xa7d9,
    -    0xa7da, 0xa7db, 0xa7dc, 0xa7dd, 0xa7de, 0xa7df, 0xa7e0, 0xa7e1,
    -    0xa7e2, 0xa7e3, 0xa7e4, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e9,
    -    0xa7ea, 0xa7eb, 0xa7ec, 0xa7ed, 0xa7ee, 0xa7ef, 0xa7f0, 0xa7f1,
    -    0xa7d6, 0xa7d7, 0x003f, 0xa7d4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7dc, 0xa7da, 0xa7e5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa7a8, 0xa7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa7a1, 0xa7d1, 0xa7a1, 0xa7d1, 0x003f, 0x003f, 0xa7a6, 0xa7d6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7a8, 0xa7d8, 0xa7a9, 0xa7d9,
    -    0x003f, 0x003f, 0xa7aa, 0xa7da, 0xa7aa, 0xa7da, 0xa7b0, 0xa7e0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa7bf, 0xa7ef, 0xa7b5, 0xa7e5,
    -    0xa7b5, 0xa7e5, 0xa7b5, 0xa7e5, 0xa7b9, 0xa7e9, 0x003f, 0x003f,
    -    0xa7bd, 0xa7ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    -    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    -    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    -    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0xa8bb, 0x003f, 0x0062,
    -    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    -    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    -    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa6c2, 0xa6c3, 0xa6c4,
    -    0xa6d5, 0xa6d6, 0x0069, 0x0072, 0x0075, 0x0076, 0xa6c2, 0xa6c3,
    -    0xa6d1, 0xa6d5, 0xa6d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    -    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0xa8a5, 0x0045, 0xa8a5,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    -    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    -    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    -    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    -    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0xa8ad, 0x004f, 0xa8ad, 0x0050, 0x0070, 0x0050, 0x0070,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0xa8b1, 0x0056, 0x0076, 0x0056, 0x0076,
    -    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    -    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    -    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    -    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0xa8ba,
    -    0x0045, 0xa8ba, 0x0045, 0xa8ba, 0x0045, 0xa8ba, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    -    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    -    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    -    0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0x003f, 0x003f,
    -    0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0x003f, 0x003f,
    -    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    -    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    -    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9,
    -    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9,
    -    0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0x003f, 0x003f,
    -    0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0x003f, 0x003f,
    -    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4,
    -    0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4,
    -    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    -    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    -    0xa6c1, 0xa6c1, 0xa6c5, 0xa6c5, 0xa6c7, 0xa6c7, 0xa6c9, 0xa6c9,
    -    0xa6cf, 0xa6cf, 0xa6d4, 0xa6d4, 0xa6d8, 0xa6d8, 0x003f, 0x003f,
    -    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    -    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    -    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    -    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    -    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    -    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    -    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0x003f, 0xa6c1, 0xa6c1,
    -    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0x003f, 0xa6c9, 0x003f,
    -    0x003f, 0xa1a7, 0xa6c7, 0xa6c7, 0xa6c7, 0x003f, 0xa6c7, 0xa6c7,
    -    0xa6a5, 0xa6a5, 0xa6a7, 0xa6a7, 0xa6a7, 0x003f, 0x003f, 0x003f,
    -    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0x003f, 0x003f, 0xa6c9, 0xa6c9,
    -    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d1, 0xa6d1, 0xa6d4, 0xa6d4,
    -    0xa6b4, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6b1, 0xa1a7, 0xa1a7, 0x0060,
    -    0x003f, 0x003f, 0xa6d8, 0xa6d8, 0xa6d8, 0x003f, 0xa6d8, 0xa6d8,
    -    0xa6af, 0xa6af, 0xa6b8, 0xa6b8, 0xa6b8, 0xa840, 0x003f, 0x003f,
    -    /* 0x2000 .. 0x20ff */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa95c, 0xa95c, 0x003f, 0xa843, 0xa1aa, 0xa844, 0xa1ac, 0x005f,
    -    0xa1ae, 0xa1af, 0x002c, 0xa1ae, 0xa1b0, 0xa1b1, 0x002c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x002e, 0xa845, 0xa1ad, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0xa1eb, 0x003f, 0xa1e4, 0xa1e5, 0x003f, 0xa846, 0x003f, 0x003f,
    -    0x003f, 0xa1b4, 0xa1b5, 0xa1f9, 0x0021, 0x003f, 0xa1a5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa84d, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1e3, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0xa95c, 0x003d, 0x0028, 0x0029, 0x006e,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0xa95c, 0x003d, 0x0028, 0x0029, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x0080, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2100 .. 0x21ff */
    -    0x003f, 0x003f, 0x0043, 0xa1e6, 0x003f, 0xa847, 0x003f, 0x0045,
    -    0x003f, 0xa848, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    -    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0xa1ed, 0x003f,
    -    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    -    0x003f, 0xa959, 0x003f, 0x003f, 0x005a, 0x003f, 0xa6b8, 0x003f,
    -    0x005a, 0x003f, 0x004b, 0x0041, 0x0042, 0x0043, 0x0065, 0x0065,
    -    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa6c3, 0xa6a3, 0xa6b0,
    -    0xa1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    -    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2f1, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7, 0xa2f8,
    -    0xa2f9, 0xa2fa, 0xa2fb, 0xa2fc, 0x004c, 0x0043, 0x0044, 0x004d,
    -    0xa2a1, 0xa2a2, 0xa2a3, 0xa2a4, 0xa2a5, 0xa2a6, 0xa2a7, 0xa2a8,
    -    0xa2a9, 0xa2aa, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1fb, 0xa1fc, 0xa1fa, 0xa1fd, 0x002d, 0x007c, 0xa849, 0xa84a,
    -    0xa84b, 0xa84c, 0xa1fb, 0xa1fa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2200 .. 0x22ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f, 0x003f, 0x003f,
    -    0xa1ca, 0xa1ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1c7,
    -    0x003f, 0xa1c6, 0xa95c, 0xa1c0, 0x003f, 0xa84d, 0x005c, 0x002a,
    -    0xa1e3, 0x003f, 0xa1cc, 0x003f, 0x003f, 0xa1d8, 0xa1de, 0xa84e,
    -    0xa1cf, 0x003f, 0x003f, 0xa84f, 0xa84f, 0xa1ce, 0xa1ce, 0xa1c4,
    -    0xa1c5, 0xa1c9, 0xa1c8, 0xa1d2, 0x003f, 0x003f, 0xa1d3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e0, 0xa1df, 0xa1c3, 0xa1cb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0xa1d7, 0x003f, 0x003f,
    -    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1d6, 0xa1d6, 0x003f, 0x003f, 0xa1d5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa850, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1d9, 0xa1d4, 0xa1d4, 0xa1d4, 0xa1dc, 0xa1dd, 0xa851, 0xa852,
    -    0x003f, 0x003f, 0xa1b6, 0xa1b7, 0x003f, 0x003f, 0xa1da, 0xa1db,
    -    0xa1dc, 0xa1dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa892, 0x003f, 0x003f,
    -    0x003f, 0xa1d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1cd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa853,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1a4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2300 .. 0x23ff */
    -    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa1b4, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2400 .. 0x24ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2d9, 0xa2da, 0xa2db, 0xa2dc, 0xa2dd, 0xa2de, 0xa2df, 0xa2e0,
    -    0xa2e1, 0xa2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa2c5, 0xa2c6, 0xa2c7, 0xa2c8,
    -    0xa2c9, 0xa2ca, 0xa2cb, 0xa2cc, 0xa2cd, 0xa2ce, 0xa2cf, 0xa2d0,
    -    0xa2d1, 0xa2d2, 0xa2d3, 0xa2d4, 0xa2d5, 0xa2d6, 0xa2d7, 0xa2d8,
    -    0xa2b1, 0xa2b2, 0xa2b3, 0xa2b4, 0xa2b5, 0xa2b6, 0xa2b7, 0xa2b8,
    -    0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0,
    -    0xa2c1, 0xa2c2, 0xa2c3, 0xa2c4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    -    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2500 .. 0x25ff */
    -    0xa9a4, 0xa9a5, 0xa9a6, 0xa9a7, 0xa9a8, 0xa9a9, 0xa9aa, 0xa9ab,
    -    0xa9ac, 0xa9ad, 0xa9ae, 0xa9af, 0xa9b0, 0xa9b1, 0xa9b2, 0xa9b3,
    -    0xa9b4, 0xa9b5, 0xa9b6, 0xa9b7, 0xa9b8, 0xa9b9, 0xa9ba, 0xa9bb,
    -    0xa9bc, 0xa9bd, 0xa9be, 0xa9bf, 0xa9c0, 0xa9c1, 0xa9c2, 0xa9c3,
    -    0xa9c4, 0xa9c5, 0xa9c6, 0xa9c7, 0xa9c8, 0xa9c9, 0xa9ca, 0xa9cb,
    -    0xa9cc, 0xa9cd, 0xa9ce, 0xa9cf, 0xa9d0, 0xa9d1, 0xa9d2, 0xa9d3,
    -    0xa9d4, 0xa9d5, 0xa9d6, 0xa9d7, 0xa9d8, 0xa9d9, 0xa9da, 0xa9db,
    -    0xa9dc, 0xa9dd, 0xa9de, 0xa9df, 0xa9e0, 0xa9e1, 0xa9e2, 0xa9e3,
    -    0xa9e4, 0xa9e5, 0xa9e6, 0xa9e7, 0xa9e8, 0xa9e9, 0xa9ea, 0xa9eb,
    -    0xa9ec, 0xa9ed, 0xa9ee, 0xa9ef, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0xa854, 0xa855, 0xa856, 0xa857, 0xa858, 0xa859, 0xa85a, 0xa85b,
    -    0xa85c, 0xa85d, 0xa85e, 0xa85f, 0xa860, 0xa861, 0xa862, 0xa863,
    -    0xa864, 0xa865, 0xa866, 0xa867, 0xa868, 0xa869, 0xa86a, 0xa86b,
    -    0xa86c, 0xa86d, 0xa86e, 0xa86f, 0xa870, 0xa871, 0xa872, 0xa873,
    -    0xa874, 0xa875, 0xa876, 0xa877, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x003f, 0xa878, 0xa879, 0xa87a, 0xa87b, 0xa87c, 0xa87d, 0xa87e,
    -    0xa880, 0xa881, 0xa882, 0xa883, 0xa884, 0xa885, 0xa886, 0xa887,
    -    0x003f, 0x003f, 0x003f, 0xa888, 0xa889, 0xa88a, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1f6, 0xa1f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1f8, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa88b, 0xa88c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f4, 0xa1f3,
    -    0x003f, 0x003f, 0x003f, 0xa1f0, 0x003f, 0x003f, 0xa1f2, 0xa1f1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa88d, 0xa88e, 0xa88f, 0xa890, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2600 .. 0x26ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1ef, 0xa1ee, 0x003f,
    -    0x003f, 0xa891, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1e2, 0x003f, 0xa1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2e00 .. 0x2eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4b8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb9ea, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2f00 .. 0x2fff */
    -    0xd2bb, 0xd8ad, 0xd8bc, 0xd8af, 0xd2d2, 0x817c, 0xb6fe, 0xd9ef,
    -    0xc8cb, 0xb6f9, 0xc8eb, 0xb0cb, 0xd8e7, 0xdaa2, 0xd9fb, 0xbcb8,
    -    0xdbc9, 0xb5b6, 0xc1a6, 0xd9e8, 0xd8b0, 0xd8ce, 0x855b, 0xcaae,
    -    0xb2b7, 0xdae0, 0xb3a7, 0xdbcc, 0xd3d6, 0xbfda, 0xe0ed, 0xcdc1,
    -    0xcabf, 0xe2ba, 0x89e5, 0xcfa6, 0xb4f3, 0xc5ae, 0xd7d3, 0xe5b2,
    -    0xb4e7, 0xd0a1, 0xdecc, 0xcaac, 0xe5f8, 0xc9bd, 0xe7dd, 0xb9a4,
    -    0xbcba, 0xbded, 0xb8c9, 0xe7db, 0xb9e3, 0xdbc8, 0xdec3, 0xdfae,
    -    0xb9ad, 0xe5e6, 0xe1ea, 0xe1dc, 0xd0c4, 0xb8ea, 0x91f4, 0xcad6,
    -    0xd6a7, 0xeab7, 0xcec4, 0xb6b7, 0xbdef, 0xb7bd, 0xcede, 0xc8d5,
    -    0xd4bb, 0xd4c2, 0xc4be, 0xc7b7, 0xd6b9, 0xb4f5, 0xecaf, 0xcee3,
    -    0xb1c8, 0xc3ab, 0xcacf, 0xc6f8, 0xcbae, 0xbbf0, 0xd7a6, 0xb8b8,
    -    0xd8b3, 0xe3dd, 0xc6ac, 0xd1c0, 0xc5a3, 0xc8ae, 0xd0fe, 0xd3f1,
    -    0xb9cf, 0xcddf, 0xb8ca, 0xc9fa, 0xd3c3, 0xccef, 0xf1e2, 0xf0da,
    -    0xb068, 0xb0d7, 0xc6a4, 0xc3f3, 0xc4bf, 0xc3ac, 0xcab8, 0xcaaf,
    -    0xcabe, 0xb662, 0xbacc, 0xd1a8, 0xc1a2, 0xd6f1, 0xc3d7, 0xf4e9,
    -    0xf3be, 0xcdf8, 0xd1f2, 0xd3f0, 0xc0cf, 0xb6f8, 0xf1e7, 0xb6fa,
    -    0xedb2, 0xc8e2, 0xb3bc, 0xd7d4, 0xd6c1, 0xbeca, 0xc9e0, 0xe2b6,
    -    0xd6db, 0xf4de, 0xc9ab, 0xc648, 0xf2ae, 0xb3e6, 0xd1aa, 0xd0d0,
    -    0xd2c2, 0xd281, 0xd28a, 0xbdc7, 0xd1d4, 0xb9c8, 0xb6b9, 0xf5b9,
    -    0xf5f4, 0xd890, 0xb3e0, 0xd7df, 0xd7e3, 0xc9ed, 0xdc87, 0xd0c1,
    -    0xb3bd, 0xde75, 0xd2d8, 0xd3cf, 0xe18a, 0xc0ef, 0xbdf0, 0xe94c,
    -    0xe954, 0xb8b7, 0xc1a5, 0xf6bf, 0xd3ea, 0xec69, 0xb7c7, 0xc3e6,
    -    0xb8ef, 0xed66, 0xbec2, 0xd2f4, 0xed93, 0xef4c, 0xef77, 0xcab3,
    -    0xcad7, 0xcfe3, 0xf152, 0xb9c7, 0xb8df, 0xf7d4, 0xf459, 0xdbcb,
    -    0xd8aa, 0xb9ed, 0xf47e, 0xf842, 0xfb75, 0xc2b9, 0xfb9c, 0xc2e9,
    -    0xfc53, 0xcaf2, 0xbada, 0xede9, 0xfc77, 0xb6a6, 0xb9c4, 0xcaf3,
    -    0xb1c7, 0xfd52, 0xfd58, 0xfd88, 0xfd94, 0xd9df, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3000 .. 0x30ff */
    -    0xa1a1, 0xa1a2, 0xa1a3, 0xa1a8, 0x003f, 0xa1a9, 0xa965, 0xa996,
    -    0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9, 0xa1ba, 0xa1bb,
    -    0xa1be, 0xa1bf, 0xa893, 0xa1fe, 0xa1b2, 0xa1b3, 0xa1bc, 0xa1bd,
    -    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa894, 0xa895, 0x002c,
    -    0x003f, 0xa940, 0xa941, 0xa942, 0xa943, 0xa944, 0xa945, 0xa946,
    -    0xa947, 0xa948, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa893, 0x003f,
    -    0xcaae, 0x8560, 0xd8a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    -    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    -    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    -    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,
    -    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,
    -    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,
    -    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,
    -    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,
    -    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,
    -    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,
    -    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4a6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa961, 0xa962, 0xa966, 0xa967, 0x003f,
    -    0x003f, 0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7,
    -    0xa5a8, 0xa5a9, 0xa5aa, 0xa5ab, 0xa5ac, 0xa5ad, 0xa5ae, 0xa5af,
    -    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,
    -    0xa5b8, 0xa5b9, 0xa5ba, 0xa5bb, 0xa5bc, 0xa5bd, 0xa5be, 0xa5bf,
    -    0xa5c0, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,
    -    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,
    -    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6, 0xa5d7,
    -    0xa5d8, 0xa5d9, 0xa5da, 0xa5db, 0xa5dc, 0xa5dd, 0xa5de, 0xa5df,
    -    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,
    -    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,
    -    0xa5f0, 0xa5f1, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6, 0xa5ef,
    -    0xa5f0, 0xa5f1, 0xa5f2, 0x003f, 0xa960, 0xa963, 0xa964, 0x003f,
    -    /* 0x3100 .. 0x31ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8c5, 0xa8c6, 0xa8c7,
    -    0xa8c8, 0xa8c9, 0xa8ca, 0xa8cb, 0xa8cc, 0xa8cd, 0xa8ce, 0xa8cf,
    -    0xa8d0, 0xa8d1, 0xa8d2, 0xa8d3, 0xa8d4, 0xa8d5, 0xa8d6, 0xa8d7,
    -    0xa8d8, 0xa8d9, 0xa8da, 0xa8db, 0xa8dc, 0xa8dd, 0xa8de, 0xa8df,
    -    0xa8e0, 0xa8e1, 0xa8e2, 0xa8e3, 0xa8e4, 0xa8e5, 0xa8e6, 0xa8e7,
    -    0xa8e8, 0xa8e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd2bb, 0xb6fe, 0xc8fd, 0xcbc4, 0xc9cf, 0xd6d0,
    -    0xcfc2, 0xbcd7, 0xd2d2, 0xb1fb, 0xb6a1, 0xccec, 0xb5d8, 0xc8cb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3200 .. 0x32ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2e5, 0xa2e6, 0xa2e7, 0xa2e8, 0xa2e9, 0xa2ea, 0xa2eb, 0xa2ec,
    -    0xa2ed, 0xa2ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa95a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2bb, 0xb6fe, 0xc8fd, 0xcbc4, 0xcee5, 0xc1f9, 0xc6df, 0xb0cb,
    -    0xbec5, 0xcaae, 0xd4c2, 0xbbf0, 0xcbae, 0xc4be, 0xbdf0, 0xcdc1,
    -    0xc8d5, 0xd6ea, 0xd3d0, 0xc9e7, 0xc3fb, 0xccd8, 0xd894, 0xd7a3,
    -    0x84ba, 0xc3d8, 0xc4d0, 0xc5ae, 0xdf6d, 0x839e, 0xd3a1, 0xd7a2,
    -    0xed97, 0xd0dd, 0xd0b4, 0xa949, 0xc9cf, 0xd6d0, 0xcfc2, 0xd7f3,
    -    0xd3d2, 0xd2bd, 0xd7da, 0xd1a7, 0xb14f, 0xc6f3, 0xd959, 0x8566,
    -    0xd2b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad, 0xa5af,
    -    0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd, 0xa5bf,
    -    0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd,
    -    0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de, 0xa5df,
    -    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9, 0xa5ea,
    -    0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f0, 0xa5f1, 0xa5f2, 0x003f,
    -    /* 0x3300 .. 0x33ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa94a, 0xa94b,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa94c, 0xa94d, 0xa94e, 0x003f,
    -    0x003f, 0xa94f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa950, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa951, 0x003f,
    -    0x003f, 0xa952, 0xa953, 0x003f, 0x003f, 0xa954, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x4e00 .. 0x4eff */
    -    0xd2bb, 0xb6a1, 0x8140, 0xc6df, 0x8141, 0x8142, 0x8143, 0xcdf2,
    -    0xd5c9, 0xc8fd, 0xc9cf, 0xcfc2, 0xd8a2, 0xb2bb, 0xd3eb, 0x8144,
    -    0xd8a4, 0xb3f3, 0x8145, 0xd7a8, 0xc7d2, 0xd8a7, 0xcac0, 0x8146,
    -    0xc7f0, 0xb1fb, 0xd2b5, 0xb4d4, 0xb6ab, 0xcbbf, 0xd8a9, 0x8147,
    -    0x8148, 0x8149, 0xb6aa, 0x814a, 0xc1bd, 0xd1cf, 0x814b, 0xc9a5,
    -    0xd8ad, 0x814c, 0xb8f6, 0xd1be, 0xe3dc, 0xd6d0, 0x814d, 0x814e,
    -    0xb7e1, 0x814f, 0xb4ae, 0x8150, 0xc1d9, 0x8151, 0xd8bc, 0x8152,
    -    0xcde8, 0xb5a4, 0xceaa, 0xd6f7, 0x8153, 0xc0f6, 0xbed9, 0xd8af,
    -    0x8154, 0x8155, 0x8156, 0xc4cb, 0x8157, 0xbec3, 0x8158, 0xd8b1,
    -    0xc3b4, 0xd2e5, 0x8159, 0xd6ae, 0xceda, 0xd5a7, 0xbaf5, 0xb7a6,
    -    0xc0d6, 0x815a, 0xc6b9, 0xc5d2, 0xc7c7, 0x815b, 0xb9d4, 0x815c,
    -    0xb3cb, 0xd2d2, 0x815d, 0x815e, 0xd8bf, 0xbec5, 0xc6f2, 0xd2b2,
    -    0xcfb0, 0xcfe7, 0x815f, 0x8160, 0x8161, 0x8162, 0xcae9, 0x8163,
    -    0x8164, 0xd8c0, 0x8165, 0x8166, 0x8167, 0x8168, 0x8169, 0x816a,
    -    0xc2f2, 0xc2d2, 0x816b, 0xc8e9, 0x816c, 0x816d, 0x816e, 0x816f,
    -    0x8170, 0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0xc7ac, 0x8176,
    -    0x8177, 0x8178, 0x8179, 0x817a, 0x817b, 0x817c, 0xc1cb, 0x817d,
    -    0xd3e8, 0xd5f9, 0x817e, 0xcac2, 0xb6fe, 0xd8a1, 0xd3da, 0xbff7,
    -    0x8180, 0xd4c6, 0xbba5, 0xd8c1, 0xcee5, 0xbeae, 0x8181, 0x8182,
    -    0xd8a8, 0x8183, 0xd1c7, 0xd0a9, 0x8184, 0x8185, 0x8186, 0xd8bd,
    -    0xd9ef, 0xcdf6, 0xbfba, 0x8187, 0xbdbb, 0xbaa5, 0xd2e0, 0xb2fa,
    -    0xbae0, 0xc4b6, 0x8188, 0xcfed, 0xbea9, 0xcda4, 0xc1c1, 0x8189,
    -    0x818a, 0x818b, 0xc7d7, 0xd9f1, 0x818c, 0xd9f4, 0x818d, 0x818e,
    -    0x818f, 0x8190, 0xc8cb, 0xd8e9, 0x8191, 0x8192, 0x8193, 0xd2da,
    -    0xcab2, 0xc8ca, 0xd8ec, 0xd8ea, 0xd8c6, 0xbdf6, 0xc6cd, 0xb3f0,
    -    0x8194, 0xd8eb, 0xbdf1, 0xbde9, 0x8195, 0xc8d4, 0xb4d3, 0x8196,
    -    0x8197, 0xc2d8, 0x8198, 0xb2d6, 0xd7d0, 0xcacb, 0xcbfb, 0xd5cc,
    -    0xb8b6, 0xcfc9, 0x8199, 0x819a, 0x819b, 0xd9da, 0xd8f0, 0xc7aa,
    -    0x819c, 0xd8ee, 0x819d, 0xb4fa, 0xc1ee, 0xd2d4, 0x819e, 0x819f,
    -    0xd8ed, 0x81a0, 0xd2c7, 0xd8ef, 0xc3c7, 0x81a1, 0x81a2, 0x81a3,
    -    0xd1f6, 0x81a4, 0xd6d9, 0xd8f2, 0x81a5, 0xd8f5, 0xbcfe, 0xbcdb,
    -    0x81a6, 0x81a7, 0x81a8, 0xc8ce, 0x81a9, 0xb7dd, 0x81aa, 0xb7c2,
    -    /* 0x4f00 .. 0x4fff */
    -    0x81ab, 0xc6f3, 0x81ac, 0x81ad, 0x81ae, 0x81af, 0x81b0, 0x81b1,
    -    0x81b2, 0xd8f8, 0xd2c1, 0x81b3, 0x81b4, 0xcee9, 0xbcbf, 0xb7fc,
    -    0xb7a5, 0xd0dd, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9, 0xd6da,
    -    0xd3c5, 0xbbef, 0xbbe1, 0xd8f1, 0x81ba, 0x81bb, 0xc9a1, 0xceb0,
    -    0xb4ab, 0x81bc, 0xd8f3, 0x81bd, 0xc9cb, 0xd8f6, 0xc2d7, 0xd8f7,
    -    0x81be, 0x81bf, 0xceb1, 0xd8f9, 0x81c0, 0x81c1, 0x81c2, 0xb2ae,
    -    0xb9c0, 0x81c3, 0xd9a3, 0x81c4, 0xb0e9, 0x81c5, 0xc1e6, 0x81c6,
    -    0xc9ec, 0x81c7, 0xcbc5, 0x81c8, 0xcbc6, 0xd9a4, 0x81c9, 0x81ca,
    -    0x81cb, 0x81cc, 0x81cd, 0xb5e8, 0x81ce, 0x81cf, 0xb5ab, 0x81d0,
    -    0x81d1, 0x81d2, 0x81d3, 0x81d4, 0x81d5, 0xcebb, 0xb5cd, 0xd7a1,
    -    0xd7f4, 0xd3d3, 0x81d6, 0xcce5, 0x81d7, 0xbace, 0x81d8, 0xd9a2,
    -    0xd9dc, 0xd3e0, 0xd8fd, 0xb7f0, 0xd7f7, 0xd8fe, 0xd8fa, 0xd9a1,
    -    0xc4e3, 0x81d9, 0x81da, 0xd3b6, 0xd8f4, 0xd9dd, 0x81db, 0xd8fb,
    -    0x81dc, 0xc5e5, 0x81dd, 0x81de, 0xc0d0, 0x81df, 0x81e0, 0xd1f0,
    -    0xb0db, 0x81e1, 0x81e2, 0xbcd1, 0xd9a6, 0x81e3, 0xd9a5, 0x81e4,
    -    0x81e5, 0x81e6, 0x81e7, 0xd9ac, 0xd9ae, 0x81e8, 0xd9ab, 0xcab9,
    -    0x81e9, 0x81ea, 0x81eb, 0xd9a9, 0xd6b6, 0x81ec, 0x81ed, 0x81ee,
    -    0xb3de, 0xd9a8, 0x81ef, 0xc0fd, 0x81f0, 0xcacc, 0x81f1, 0xd9aa,
    -    0x81f2, 0xd9a7, 0x81f3, 0x81f4, 0xd9b0, 0x81f5, 0x81f6, 0xb6b1,
    -    0x81f7, 0x81f8, 0x81f9, 0xb9a9, 0x81fa, 0xd2c0, 0x81fb, 0x81fc,
    -    0xcfc0, 0x81fd, 0x81fe, 0xc2c2, 0x8240, 0xbdc4, 0xd5ec, 0xb2e0,
    -    0xc7c8, 0xbfeb, 0xd9ad, 0x8241, 0xd9af, 0x8242, 0xceea, 0xbaee,
    -    0x8243, 0x8244, 0x8245, 0x8246, 0x8247, 0xc7d6, 0x8248, 0x8249,
    -    0x824a, 0x824b, 0x824c, 0x824d, 0x824e, 0x824f, 0x8250, 0xb1e3,
    -    0x8251, 0x8252, 0x8253, 0xb4d9, 0xb6ed, 0xd9b4, 0x8254, 0x8255,
    -    0x8256, 0x8257, 0xbfa1, 0x8258, 0x8259, 0x825a, 0xd9de, 0xc7ce,
    -    0xc0fe, 0xd9b8, 0x825b, 0x825c, 0x825d, 0x825e, 0x825f, 0xcbd7,
    -    0xb7fd, 0x8260, 0xd9b5, 0x8261, 0xd9b7, 0xb1a3, 0xd3e1, 0xd9b9,
    -    0x8262, 0xd0c5, 0x8263, 0xd9b6, 0x8264, 0x8265, 0xd9b1, 0x8266,
    -    0xd9b2, 0xc1a9, 0xd9b3, 0x8267, 0x8268, 0xbcf3, 0xd0de, 0xb8a9,
    -    0x8269, 0xbee3, 0x826a, 0xd9bd, 0x826b, 0x826c, 0x826d, 0x826e,
    -    0xd9ba, 0x826f, 0xb0b3, 0x8270, 0x8271, 0x8272, 0xd9c2, 0x8273,
    -    /* 0x5000 .. 0x50ff */
    -    0x8274, 0x8275, 0x8276, 0x8277, 0x8278, 0x8279, 0x827a, 0x827b,
    -    0x827c, 0x827d, 0x827e, 0x8280, 0xd9c4, 0xb1b6, 0x8281, 0xd9bf,
    -    0x8282, 0x8283, 0xb5b9, 0x8284, 0xbef3, 0x8285, 0x8286, 0x8287,
    -    0xccc8, 0xbaf2, 0xd2d0, 0x8288, 0xd9c3, 0x8289, 0x828a, 0xbde8,
    -    0x828b, 0xb3ab, 0x828c, 0x828d, 0x828e, 0xd9c5, 0xbeeb, 0x828f,
    -    0xd9c6, 0xd9bb, 0xc4df, 0x8290, 0xd9be, 0xd9c1, 0xd9c0, 0x8291,
    -    0x8292, 0x8293, 0x8294, 0x8295, 0x8296, 0x8297, 0x8298, 0x8299,
    -    0x829a, 0x829b, 0xd5ae, 0x829c, 0xd6b5, 0x829d, 0xc7e3, 0x829e,
    -    0x829f, 0x82a0, 0x82a1, 0xd9c8, 0x82a2, 0x82a3, 0x82a4, 0xbcd9,
    -    0xd9ca, 0x82a5, 0x82a6, 0x82a7, 0xd9bc, 0x82a8, 0xd9cb, 0xc6ab,
    -    0x82a9, 0x82aa, 0x82ab, 0x82ac, 0x82ad, 0xd9c9, 0x82ae, 0x82af,
    -    0x82b0, 0x82b1, 0xd7f6, 0x82b2, 0xcda3, 0x82b3, 0x82b4, 0x82b5,
    -    0x82b6, 0x82b7, 0x82b8, 0x82b9, 0x82ba, 0xbda1, 0x82bb, 0x82bc,
    -    0x82bd, 0x82be, 0x82bf, 0x82c0, 0xd9cc, 0x82c1, 0x82c2, 0x82c3,
    -    0x82c4, 0x82c5, 0x82c6, 0x82c7, 0x82c8, 0x82c9, 0xc5bc, 0xcdb5,
    -    0x82ca, 0x82cb, 0x82cc, 0xd9cd, 0x82cd, 0x82ce, 0xd9c7, 0xb3a5,
    -    0xbffe, 0x82cf, 0x82d0, 0x82d1, 0x82d2, 0xb8b5, 0x82d3, 0x82d4,
    -    0xc0fc, 0x82d5, 0x82d6, 0x82d7, 0x82d8, 0xb0f8, 0x82d9, 0x82da,
    -    0x82db, 0x82dc, 0x82dd, 0x82de, 0x82df, 0x82e0, 0x82e1, 0x82e2,
    -    0x82e3, 0x82e4, 0x82e5, 0x82e6, 0x82e7, 0x82e8, 0x82e9, 0x82ea,
    -    0x82eb, 0x82ec, 0x82ed, 0xb4f6, 0x82ee, 0xd9ce, 0x82ef, 0xd9cf,
    -    0xb4a2, 0xd9d0, 0x82f0, 0x82f1, 0xb4df, 0x82f2, 0x82f3, 0x82f4,
    -    0x82f5, 0x82f6, 0xb0c1, 0x82f7, 0x82f8, 0x82f9, 0x82fa, 0x82fb,
    -    0x82fc, 0x82fd, 0xd9d1, 0xc9b5, 0x82fe, 0x8340, 0x8341, 0x8342,
    -    0x8343, 0x8344, 0x8345, 0x8346, 0x8347, 0x8348, 0x8349, 0x834a,
    -    0x834b, 0x834c, 0x834d, 0x834e, 0x834f, 0x8350, 0x8351, 0xcff1,
    -    0x8352, 0x8353, 0x8354, 0x8355, 0x8356, 0x8357, 0xd9d2, 0x8358,
    -    0x8359, 0x835a, 0xc1c5, 0x835b, 0x835c, 0x835d, 0x835e, 0x835f,
    -    0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0xd9d6, 0xc9ae,
    -    0x8366, 0x8367, 0x8368, 0x8369, 0xd9d5, 0xd9d4, 0xd9d7, 0x836a,
    -    0x836b, 0x836c, 0x836d, 0xcbdb, 0x836e, 0xbda9, 0x836f, 0x8370,
    -    0x8371, 0x8372, 0x8373, 0xc6a7, 0x8374, 0x8375, 0x8376, 0x8377,
    -    /* 0x5100 .. 0x51ff */
    -    0x8378, 0x8379, 0x837a, 0x837b, 0x837c, 0x837d, 0xd9d3, 0xd9d8,
    -    0x837e, 0x8380, 0x8381, 0xd9d9, 0x8382, 0x8383, 0x8384, 0x8385,
    -    0x8386, 0x8387, 0xc8e5, 0x8388, 0x8389, 0x838a, 0x838b, 0x838c,
    -    0x838d, 0x838e, 0x838f, 0x8390, 0x8391, 0x8392, 0x8393, 0x8394,
    -    0x8395, 0xc0dc, 0x8396, 0x8397, 0x8398, 0x8399, 0x839a, 0x839b,
    -    0x839c, 0x839d, 0x839e, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3,
    -    0x83a4, 0x83a5, 0x83a6, 0x83a7, 0x83a8, 0x83a9, 0x83aa, 0x83ab,
    -    0x83ac, 0x83ad, 0x83ae, 0x83af, 0x83b0, 0x83b1, 0x83b2, 0xb6f9,
    -    0xd8a3, 0xd4ca, 0x83b3, 0xd4aa, 0xd0d6, 0xb3e4, 0xd5d7, 0x83b4,
    -    0xcfc8, 0xb9e2, 0x83b5, 0xbfcb, 0x83b6, 0xc3e2, 0x83b7, 0x83b8,
    -    0x83b9, 0xb6d2, 0x83ba, 0x83bb, 0xcdc3, 0xd9ee, 0xd9f0, 0x83bc,
    -    0x83bd, 0x83be, 0xb5b3, 0x83bf, 0xb6b5, 0x83c0, 0x83c1, 0x83c2,
    -    0x83c3, 0x83c4, 0xbea4, 0x83c5, 0x83c6, 0xc8eb, 0x83c7, 0x83c8,
    -    0xc8ab, 0x83c9, 0x83ca, 0xb0cb, 0xb9ab, 0xc1f9, 0xd9e2, 0x83cb,
    -    0xc0bc, 0xb9b2, 0x83cc, 0xb9d8, 0xd0cb, 0xb1f8, 0xc6e4, 0xbedf,
    -    0xb5e4, 0xd7c8, 0x83cd, 0xd1f8, 0xbce6, 0xcade, 0x83ce, 0x83cf,
    -    0xbcbd, 0xd9e6, 0xd8e7, 0x83d0, 0x83d1, 0xc4da, 0x83d2, 0x83d3,
    -    0xb8d4, 0xc8bd, 0x83d4, 0x83d5, 0xb2e1, 0xd4d9, 0x83d6, 0x83d7,
    -    0x83d8, 0x83d9, 0xc3b0, 0x83da, 0x83db, 0xc3e1, 0xdaa2, 0xc8df,
    -    0x83dc, 0xd0b4, 0x83dd, 0xbefc, 0xc5a9, 0x83de, 0x83df, 0x83e0,
    -    0xb9da, 0x83e1, 0xdaa3, 0x83e2, 0xd4a9, 0xdaa4, 0x83e3, 0x83e4,
    -    0x83e5, 0x83e6, 0x83e7, 0xd9fb, 0xb6ac, 0x83e8, 0x83e9, 0xb7eb,
    -    0xb1f9, 0xd9fc, 0xb3e5, 0xbef6, 0x83ea, 0xbff6, 0xd2b1, 0xc0e4,
    -    0x83eb, 0x83ec, 0x83ed, 0xb6b3, 0xd9fe, 0xd9fd, 0x83ee, 0x83ef,
    -    0xbebb, 0x83f0, 0x83f1, 0x83f2, 0xc6e0, 0x83f3, 0xd7bc, 0xdaa1,
    -    0x83f4, 0xc1b9, 0x83f5, 0xb5f2, 0xc1e8, 0x83f6, 0x83f7, 0xbcf5,
    -    0x83f8, 0xb4d5, 0x83f9, 0x83fa, 0x83fb, 0x83fc, 0x83fd, 0x83fe,
    -    0x8440, 0x8441, 0x8442, 0xc1dd, 0x8443, 0xc4fd, 0x8444, 0x8445,
    -    0xbcb8, 0xb7b2, 0x8446, 0x8447, 0xb7ef, 0x8448, 0x8449, 0x844a,
    -    0x844b, 0x844c, 0x844d, 0xd9ec, 0x844e, 0xc6be, 0x844f, 0xbfad,
    -    0xbbcb, 0x8450, 0x8451, 0xb5ca, 0x8452, 0xdbc9, 0xd0d7, 0x8453,
    -    0xcdb9, 0xb0bc, 0xb3f6, 0xbbf7, 0xdbca, 0xbaaf, 0x8454, 0xd4e4,
    -    /* 0x5200 .. 0x52ff */
    -    0xb5b6, 0xb5f3, 0xd8d6, 0xc8d0, 0x8455, 0x8456, 0xb7d6, 0xc7d0,
    -    0xd8d7, 0x8457, 0xbfaf, 0x8458, 0x8459, 0xdbbb, 0xd8d8, 0x845a,
    -    0x845b, 0xd0cc, 0xbbae, 0x845c, 0x845d, 0x845e, 0xebbe, 0xc1d0,
    -    0xc1f5, 0xd4f2, 0xb8d5, 0xb4b4, 0x845f, 0xb3f5, 0x8460, 0x8461,
    -    0xc9be, 0x8462, 0x8463, 0x8464, 0xc5d0, 0x8465, 0x8466, 0x8467,
    -    0xc5d9, 0xc0fb, 0x8468, 0xb1f0, 0x8469, 0xd8d9, 0xb9ce, 0x846a,
    -    0xb5bd, 0x846b, 0x846c, 0xd8da, 0x846d, 0x846e, 0xd6c6, 0xcba2,
    -    0xc8af, 0xc9b2, 0xb4cc, 0xbfcc, 0x846f, 0xb9f4, 0x8470, 0xd8db,
    -    0xd8dc, 0xb6e7, 0xbcc1, 0xccea, 0x8471, 0x8472, 0x8473, 0x8474,
    -    0x8475, 0x8476, 0xcff7, 0x8477, 0xd8dd, 0xc7b0, 0x8478, 0x8479,
    -    0xb9d0, 0xbda3, 0x847a, 0x847b, 0xccde, 0x847c, 0xc6ca, 0x847d,
    -    0x847e, 0x8480, 0x8481, 0x8482, 0xd8e0, 0x8483, 0xd8de, 0x8484,
    -    0x8485, 0xd8df, 0x8486, 0x8487, 0x8488, 0xb0fe, 0x8489, 0xbee7,
    -    0x848a, 0xcaa3, 0xbcf4, 0x848b, 0x848c, 0x848d, 0x848e, 0xb8b1,
    -    0x848f, 0x8490, 0xb8ee, 0x8491, 0x8492, 0x8493, 0x8494, 0x8495,
    -    0x8496, 0x8497, 0x8498, 0x8499, 0x849a, 0xd8e2, 0x849b, 0xbdcb,
    -    0x849c, 0xd8e4, 0xd8e3, 0x849d, 0x849e, 0x849f, 0x84a0, 0x84a1,
    -    0xc5fc, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6, 0x84a7, 0x84a8,
    -    0xd8e5, 0x84a9, 0x84aa, 0xd8e6, 0x84ab, 0x84ac, 0x84ad, 0x84ae,
    -    0x84af, 0x84b0, 0x84b1, 0xc1a6, 0x84b2, 0xc8b0, 0xb0ec, 0xb9a6,
    -    0xbcd3, 0xcef1, 0xdbbd, 0xc1d3, 0x84b3, 0x84b4, 0x84b5, 0x84b6,
    -    0xb6af, 0xd6fa, 0xc5ac, 0xbdd9, 0xdbbe, 0xdbbf, 0x84b7, 0x84b8,
    -    0x84b9, 0xc0f8, 0xbea2, 0xc0cd, 0x84ba, 0x84bb, 0x84bc, 0x84bd,
    -    0x84be, 0x84bf, 0x84c0, 0x84c1, 0x84c2, 0x84c3, 0xdbc0, 0xcac6,
    -    0x84c4, 0x84c5, 0x84c6, 0xb2aa, 0x84c7, 0x84c8, 0x84c9, 0xd3c2,
    -    0x84ca, 0xc3e3, 0x84cb, 0xd1ab, 0x84cc, 0x84cd, 0x84ce, 0x84cf,
    -    0xdbc2, 0x84d0, 0xc0d5, 0x84d1, 0x84d2, 0x84d3, 0xdbc3, 0x84d4,
    -    0xbfb1, 0x84d5, 0x84d6, 0x84d7, 0x84d8, 0x84d9, 0x84da, 0xc4bc,
    -    0x84db, 0x84dc, 0x84dd, 0x84de, 0xc7da, 0x84df, 0x84e0, 0x84e1,
    -    0x84e2, 0x84e3, 0x84e4, 0x84e5, 0x84e6, 0x84e7, 0x84e8, 0x84e9,
    -    0xdbc4, 0x84ea, 0x84eb, 0x84ec, 0x84ed, 0x84ee, 0x84ef, 0x84f0,
    -    0x84f1, 0xd9e8, 0xc9d7, 0x84f2, 0x84f3, 0x84f4, 0xb9b4, 0xcef0,
    -    /* 0x5300 .. 0x53ff */
    -    0xd4c8, 0x84f5, 0x84f6, 0x84f7, 0x84f8, 0xb0fc, 0xb4d2, 0x84f9,
    -    0xd0d9, 0x84fa, 0x84fb, 0x84fc, 0x84fd, 0xd9e9, 0x84fe, 0xdecb,
    -    0xd9eb, 0x8540, 0x8541, 0x8542, 0x8543, 0xd8b0, 0xbbaf, 0xb1b1,
    -    0x8544, 0xb3d7, 0xd8ce, 0x8545, 0x8546, 0xd4d1, 0x8547, 0x8548,
    -    0xbdb3, 0xbfef, 0x8549, 0xcfbb, 0x854a, 0x854b, 0xd8d0, 0x854c,
    -    0x854d, 0x854e, 0xb7cb, 0x854f, 0x8550, 0x8551, 0xd8d1, 0x8552,
    -    0x8553, 0x8554, 0x8555, 0x8556, 0x8557, 0x8558, 0x8559, 0x855a,
    -    0x855b, 0xc6a5, 0xc7f8, 0xd2bd, 0x855c, 0x855d, 0xd8d2, 0xc4e4,
    -    0x855e, 0xcaae, 0x855f, 0xc7a7, 0x8560, 0xd8a6, 0x8561, 0xc9fd,
    -    0xcee7, 0xbbdc, 0xb0eb, 0x8562, 0x8563, 0x8564, 0xbbaa, 0xd0ad,
    -    0x8565, 0xb1b0, 0xd7e4, 0xd7bf, 0x8566, 0xb5a5, 0xc2f4, 0xc4cf,
    -    0x8567, 0x8568, 0xb2a9, 0x8569, 0xb2b7, 0x856a, 0xb1e5, 0xdfb2,
    -    0xd5bc, 0xbfa8, 0xc2ac, 0xd8d5, 0xc2b1, 0x856b, 0xd8d4, 0xced4,
    -    0x856c, 0xdae0, 0x856d, 0xcec0, 0x856e, 0x856f, 0xd8b4, 0xc3ae,
    -    0xd3a1, 0xcea3, 0x8570, 0xbcb4, 0xc8b4, 0xc2d1, 0x8571, 0xbeed,
    -    0xd0b6, 0x8572, 0xdae1, 0x8573, 0x8574, 0x8575, 0x8576, 0xc7e4,
    -    0x8577, 0x8578, 0xb3a7, 0x8579, 0xb6f2, 0xccfc, 0xc0fa, 0x857a,
    -    0x857b, 0xc0f7, 0x857c, 0xd1b9, 0xd1e1, 0xd8c7, 0x857d, 0x857e,
    -    0x8580, 0x8581, 0x8582, 0x8583, 0x8584, 0xb2de, 0x8585, 0x8586,
    -    0xc0e5, 0x8587, 0xbaf1, 0x8588, 0x8589, 0xd8c8, 0x858a, 0xd4ad,
    -    0x858b, 0x858c, 0xcfe1, 0xd8c9, 0x858d, 0xd8ca, 0xcfc3, 0x858e,
    -    0xb3f8, 0xbec7, 0x858f, 0x8590, 0x8591, 0x8592, 0xd8cb, 0x8593,
    -    0x8594, 0x8595, 0x8596, 0x8597, 0x8598, 0x8599, 0xdbcc, 0x859a,
    -    0x859b, 0x859c, 0x859d, 0xc8a5, 0x859e, 0x859f, 0x85a0, 0xcfd8,
    -    0x85a1, 0xc8fe, 0xb2ce, 0x85a2, 0x85a3, 0x85a4, 0x85a5, 0x85a6,
    -    0xd3d6, 0xb2e6, 0xbcb0, 0xd3d1, 0xcbab, 0xb7b4, 0x85a7, 0x85a8,
    -    0x85a9, 0xb7a2, 0x85aa, 0x85ab, 0xcae5, 0x85ac, 0xc8a1, 0xcadc,
    -    0xb1e4, 0xd0f0, 0x85ad, 0xc5d1, 0x85ae, 0x85af, 0x85b0, 0xdbc5,
    -    0xb5fe, 0x85b1, 0x85b2, 0xbfda, 0xb9c5, 0xbee4, 0xc1ed, 0x85b3,
    -    0xdfb6, 0xdfb5, 0xd6bb, 0xbdd0, 0xd5d9, 0xb0c8, 0xb6a3, 0xbfc9,
    -    0xcca8, 0xdfb3, 0xcab7, 0xd3d2, 0x85b4, 0xd8cf, 0xd2b6, 0xbac5,
    -    0xcbbe, 0xccbe, 0x85b5, 0xdfb7, 0xb5f0, 0xdfb4, 0x85b6, 0x85b7,
    -    /* 0x5400 .. 0x54ff */
    -    0x85b8, 0xd3f5, 0x85b9, 0xb3d4, 0xb8f7, 0x85ba, 0xdfba, 0x85bb,
    -    0xbacf, 0xbcaa, 0xb5f5, 0x85bc, 0xcdac, 0xc3fb, 0xbaf3, 0xc0f4,
    -    0xcdc2, 0xcff2, 0xdfb8, 0xcfc5, 0x85bd, 0xc2c0, 0xdfb9, 0xc2f0,
    -    0x85be, 0x85bf, 0x85c0, 0xbefd, 0x85c1, 0xc1df, 0xcdcc, 0xd2f7,
    -    0xb7cd, 0xdfc1, 0x85c2, 0xdfc4, 0x85c3, 0x85c4, 0xb7f1, 0xb0c9,
    -    0xb6d6, 0xb7d4, 0x85c5, 0xbaac, 0xccfd, 0xbfd4, 0xcbb1, 0xc6f4,
    -    0x85c6, 0xd6a8, 0xdfc5, 0x85c7, 0xcee2, 0xb3b3, 0x85c8, 0x85c9,
    -    0xcefc, 0xb4b5, 0x85ca, 0xcec7, 0xbaf0, 0x85cb, 0xcee1, 0x85cc,
    -    0xd1bd, 0x85cd, 0x85ce, 0xdfc0, 0x85cf, 0x85d0, 0xb4f4, 0x85d1,
    -    0xb3ca, 0x85d2, 0xb8e6, 0xdfbb, 0x85d3, 0x85d4, 0x85d5, 0x85d6,
    -    0xc4c5, 0x85d7, 0xdfbc, 0xdfbd, 0xdfbe, 0xc5bb, 0xdfbf, 0xdfc2,
    -    0xd4b1, 0xdfc3, 0x85d8, 0xc7ba, 0xced8, 0x85d9, 0x85da, 0x85db,
    -    0x85dc, 0x85dd, 0xc4d8, 0x85de, 0xdfca, 0x85df, 0xdfcf, 0x85e0,
    -    0xd6dc, 0x85e1, 0x85e2, 0x85e3, 0x85e4, 0x85e5, 0x85e6, 0x85e7,
    -    0x85e8, 0xdfc9, 0xdfda, 0xceb6, 0x85e9, 0xbac7, 0xdfce, 0xdfc8,
    -    0xc5de, 0x85ea, 0x85eb, 0xc9eb, 0xbaf4, 0xc3fc, 0x85ec, 0x85ed,
    -    0xbed7, 0x85ee, 0xdfc6, 0x85ef, 0xdfcd, 0x85f0, 0xc5d8, 0x85f1,
    -    0x85f2, 0x85f3, 0x85f4, 0xd5a6, 0xbacd, 0x85f5, 0xbecc, 0xd3bd,
    -    0xb8c0, 0x85f6, 0xd6e4, 0x85f7, 0xdfc7, 0xb9be, 0xbfa7, 0x85f8,
    -    0x85f9, 0xc1fc, 0xdfcb, 0xdfcc, 0x85fa, 0xdfd0, 0x85fb, 0x85fc,
    -    0x85fd, 0x85fe, 0x8640, 0xdfdb, 0xdfe5, 0x8641, 0xdfd7, 0xdfd6,
    -    0xd7c9, 0xdfe3, 0xdfe4, 0xe5eb, 0xd2a7, 0xdfd2, 0x8642, 0xbfa9,
    -    0x8643, 0xd4db, 0x8644, 0xbfc8, 0xdfd4, 0x8645, 0x8646, 0x8647,
    -    0xcfcc, 0x8648, 0x8649, 0xdfdd, 0x864a, 0xd1ca, 0x864b, 0xdfde,
    -    0xb0a7, 0xc6b7, 0xdfd3, 0x864c, 0xbae5, 0x864d, 0xb6df, 0xcddb,
    -    0xb9fe, 0xd4d5, 0x864e, 0x864f, 0xdfdf, 0xcfec, 0xb0a5, 0xdfe7,
    -    0xdfd1, 0xd1c6, 0xdfd5, 0xdfd8, 0xdfd9, 0xdfdc, 0x8650, 0xbba9,
    -    0x8651, 0xdfe0, 0xdfe1, 0x8652, 0xdfe2, 0xdfe6, 0xdfe8, 0xd3b4,
    -    0x8653, 0x8654, 0x8655, 0x8656, 0x8657, 0xb8e7, 0xc5b6, 0xdfea,
    -    0xc9da, 0xc1a8, 0xc4c4, 0x8658, 0x8659, 0xbfde, 0xcff8, 0x865a,
    -    0x865b, 0x865c, 0xd5dc, 0xdfee, 0x865d, 0x865e, 0x865f, 0x8660,
    -    0x8661, 0x8662, 0xb2b8, 0x8663, 0xbadf, 0xdfec, 0x8664, 0xdbc1,
    -    /* 0x5500 .. 0x55ff */
    -    0x8665, 0xd1e4, 0x8666, 0x8667, 0x8668, 0x8669, 0xcbf4, 0xb4bd,
    -    0x866a, 0xb0a6, 0x866b, 0x866c, 0x866d, 0x866e, 0x866f, 0xdff1,
    -    0xccc6, 0xdff2, 0x8670, 0x8671, 0xdfed, 0x8672, 0x8673, 0x8674,
    -    0x8675, 0x8676, 0x8677, 0xdfe9, 0x8678, 0x8679, 0x867a, 0x867b,
    -    0xdfeb, 0x867c, 0xdfef, 0xdff0, 0xbbbd, 0x867d, 0x867e, 0xdff3,
    -    0x8680, 0x8681, 0xdff4, 0x8682, 0xbba3, 0x8683, 0xcadb, 0xcea8,
    -    0xe0a7, 0xb3aa, 0x8684, 0xe0a6, 0x8685, 0x8686, 0x8687, 0xe0a1,
    -    0x8688, 0x8689, 0x868a, 0x868b, 0xdffe, 0x868c, 0xcdd9, 0xdffc,
    -    0x868d, 0xdffa, 0x868e, 0xbfd0, 0xd7c4, 0x868f, 0xc9cc, 0x8690,
    -    0x8691, 0xdff8, 0xb0a1, 0x8692, 0x8693, 0x8694, 0x8695, 0x8696,
    -    0xdffd, 0x8697, 0x8698, 0x8699, 0x869a, 0xdffb, 0xe0a2, 0x869b,
    -    0x869c, 0x869d, 0x869e, 0x869f, 0xe0a8, 0x86a0, 0x86a1, 0x86a2,
    -    0x86a3, 0xb7c8, 0x86a4, 0x86a5, 0xc6a1, 0xc9b6, 0xc0b2, 0xdff5,
    -    0x86a6, 0x86a7, 0xc5be, 0x86a8, 0xd8c4, 0xdff9, 0xc4f6, 0x86a9,
    -    0x86aa, 0x86ab, 0x86ac, 0x86ad, 0x86ae, 0xe0a3, 0xe0a4, 0xe0a5,
    -    0xd0a5, 0x86af, 0x86b0, 0xe0b4, 0xcce4, 0x86b1, 0xe0b1, 0x86b2,
    -    0xbfa6, 0xe0af, 0xceb9, 0xe0ab, 0xc9c6, 0x86b3, 0x86b4, 0xc0ae,
    -    0xe0ae, 0xbaed, 0xbab0, 0xe0a9, 0x86b5, 0x86b6, 0x86b7, 0xdff6,
    -    0x86b8, 0xe0b3, 0x86b9, 0x86ba, 0xe0b8, 0x86bb, 0x86bc, 0x86bd,
    -    0xb4ad, 0xe0b9, 0x86be, 0x86bf, 0xcfb2, 0xbac8, 0x86c0, 0xe0b0,
    -    0x86c1, 0x86c2, 0x86c3, 0x86c4, 0x86c5, 0x86c6, 0x86c7, 0xd0fa,
    -    0x86c8, 0x86c9, 0x86ca, 0x86cb, 0x86cc, 0x86cd, 0x86ce, 0x86cf,
    -    0x86d0, 0xe0ac, 0x86d1, 0xd4fb, 0x86d2, 0xdff7, 0x86d3, 0xc5e7,
    -    0x86d4, 0xe0ad, 0x86d5, 0xd3f7, 0x86d6, 0xe0b6, 0xe0b7, 0x86d7,
    -    0x86d8, 0x86d9, 0x86da, 0x86db, 0xe0c4, 0xd0e1, 0x86dc, 0x86dd,
    -    0x86de, 0xe0bc, 0x86df, 0x86e0, 0xe0c9, 0xe0ca, 0x86e1, 0x86e2,
    -    0x86e3, 0xe0be, 0xe0aa, 0xc9a4, 0xe0c1, 0x86e4, 0xe0b2, 0x86e5,
    -    0x86e6, 0x86e7, 0x86e8, 0x86e9, 0xcac8, 0xe0c3, 0x86ea, 0xe0b5,
    -    0x86eb, 0xcecb, 0x86ec, 0xcbc3, 0xe0cd, 0xe0c6, 0xe0c2, 0x86ed,
    -    0xe0cb, 0x86ee, 0xe0ba, 0xe0bf, 0xe0c0, 0x86ef, 0x86f0, 0xe0c5,
    -    0x86f1, 0x86f2, 0xe0c7, 0xe0c8, 0x86f3, 0xe0cc, 0x86f4, 0xe0bb,
    -    0x86f5, 0x86f6, 0x86f7, 0x86f8, 0x86f9, 0xcbd4, 0xe0d5, 0x86fa,
    -    /* 0x5600 .. 0x56ff */
    -    0xe0d6, 0xe0d2, 0x86fb, 0x86fc, 0x86fd, 0x86fe, 0x8740, 0x8741,
    -    0xe0d0, 0xbcce, 0x8742, 0x8743, 0xe0d1, 0x8744, 0xb8c2, 0xd8c5,
    -    0x8745, 0x8746, 0x8747, 0x8748, 0x8749, 0x874a, 0x874b, 0x874c,
    -    0xd0ea, 0x874d, 0x874e, 0xc2ef, 0x874f, 0x8750, 0xe0cf, 0xe0bd,
    -    0x8751, 0x8752, 0x8753, 0xe0d4, 0xe0d3, 0x8754, 0x8755, 0xe0d7,
    -    0x8756, 0x8757, 0x8758, 0x8759, 0xe0dc, 0xe0d8, 0x875a, 0x875b,
    -    0x875c, 0xd6f6, 0xb3b0, 0x875d, 0xd7ec, 0x875e, 0xcbbb, 0x875f,
    -    0x8760, 0xe0da, 0x8761, 0xcefb, 0x8762, 0x8763, 0x8764, 0xbad9,
    -    0x8765, 0x8766, 0x8767, 0x8768, 0x8769, 0x876a, 0x876b, 0x876c,
    -    0x876d, 0x876e, 0x876f, 0x8770, 0xe0e1, 0xe0dd, 0xd2ad, 0x8771,
    -    0x8772, 0x8773, 0x8774, 0x8775, 0xe0e2, 0x8776, 0x8777, 0xe0db,
    -    0xe0d9, 0xe0df, 0x8778, 0x8779, 0xe0e0, 0x877a, 0x877b, 0x877c,
    -    0x877d, 0x877e, 0xe0de, 0x8780, 0xe0e4, 0x8781, 0x8782, 0x8783,
    -    0xc6f7, 0xd8ac, 0xd4eb, 0xe0e6, 0xcac9, 0x8784, 0x8785, 0x8786,
    -    0x8787, 0xe0e5, 0x8788, 0x8789, 0x878a, 0x878b, 0xb8c1, 0x878c,
    -    0x878d, 0x878e, 0x878f, 0xe0e7, 0xe0e8, 0x8790, 0x8791, 0x8792,
    -    0x8793, 0x8794, 0x8795, 0x8796, 0x8797, 0xe0e9, 0xe0e3, 0x8798,
    -    0x8799, 0x879a, 0x879b, 0x879c, 0x879d, 0x879e, 0xbabf, 0xcce7,
    -    0x879f, 0x87a0, 0x87a1, 0xe0ea, 0x87a2, 0x87a3, 0x87a4, 0x87a5,
    -    0x87a6, 0x87a7, 0x87a8, 0x87a9, 0x87aa, 0x87ab, 0x87ac, 0x87ad,
    -    0x87ae, 0x87af, 0x87b0, 0xcff9, 0x87b1, 0x87b2, 0x87b3, 0x87b4,
    -    0x87b5, 0x87b6, 0x87b7, 0x87b8, 0x87b9, 0x87ba, 0x87bb, 0xe0eb,
    -    0x87bc, 0x87bd, 0x87be, 0x87bf, 0x87c0, 0x87c1, 0x87c2, 0xc8c2,
    -    0x87c3, 0x87c4, 0x87c5, 0x87c6, 0xbdc0, 0x87c7, 0x87c8, 0x87c9,
    -    0x87ca, 0x87cb, 0x87cc, 0x87cd, 0x87ce, 0x87cf, 0x87d0, 0x87d1,
    -    0x87d2, 0x87d3, 0xc4d2, 0x87d4, 0x87d5, 0x87d6, 0x87d7, 0x87d8,
    -    0x87d9, 0x87da, 0x87db, 0x87dc, 0xe0ec, 0x87dd, 0x87de, 0xe0ed,
    -    0x87df, 0x87e0, 0xc7f4, 0xcbc4, 0x87e1, 0xe0ee, 0xbbd8, 0xd8b6,
    -    0xd2f2, 0xe0ef, 0xcdc5, 0x87e2, 0xb6da, 0x87e3, 0x87e4, 0x87e5,
    -    0x87e6, 0x87e7, 0x87e8, 0xe0f1, 0x87e9, 0xd4b0, 0x87ea, 0x87eb,
    -    0xc0a7, 0xb4d1, 0x87ec, 0x87ed, 0xcea7, 0xe0f0, 0x87ee, 0x87ef,
    -    0x87f0, 0xe0f2, 0xb9cc, 0x87f1, 0x87f2, 0xb9fa, 0xcdbc, 0xe0f3,
    -    /* 0x5700 .. 0x57ff */
    -    0x87f3, 0x87f4, 0x87f5, 0xc6d4, 0xe0f4, 0x87f6, 0xd4b2, 0x87f7,
    -    0xc8a6, 0xe0f6, 0xe0f5, 0x87f8, 0x87f9, 0x87fa, 0x87fb, 0x87fc,
    -    0x87fd, 0x87fe, 0x8840, 0x8841, 0x8842, 0x8843, 0x8844, 0x8845,
    -    0x8846, 0x8847, 0x8848, 0x8849, 0xe0f7, 0x884a, 0x884b, 0xcdc1,
    -    0x884c, 0x884d, 0x884e, 0xcaa5, 0x884f, 0x8850, 0x8851, 0x8852,
    -    0xd4da, 0xdbd7, 0xdbd9, 0x8853, 0xdbd8, 0xb9e7, 0xdbdc, 0xdbdd,
    -    0xb5d8, 0x8854, 0x8855, 0xdbda, 0x8856, 0x8857, 0x8858, 0x8859,
    -    0x885a, 0xdbdb, 0xb3a1, 0xdbdf, 0x885b, 0x885c, 0xbbf8, 0x885d,
    -    0xd6b7, 0x885e, 0xdbe0, 0x885f, 0x8860, 0x8861, 0x8862, 0xbef9,
    -    0x8863, 0x8864, 0xb7bb, 0x8865, 0xdbd0, 0xccae, 0xbfb2, 0xbbb5,
    -    0xd7f8, 0xbfd3, 0x8866, 0x8867, 0x8868, 0x8869, 0x886a, 0xbfe9,
    -    0x886b, 0x886c, 0xbce1, 0xccb3, 0xdbde, 0xb0d3, 0xceeb, 0xb7d8,
    -    0xd7b9, 0xc6c2, 0x886d, 0x886e, 0xc0a4, 0x886f, 0xccb9, 0x8870,
    -    0xdbe7, 0xdbe1, 0xc6ba, 0xdbe3, 0x8871, 0xdbe8, 0x8872, 0xc5f7,
    -    0x8873, 0x8874, 0x8875, 0xdbea, 0x8876, 0x8877, 0xdbe9, 0xbfc0,
    -    0x8878, 0x8879, 0x887a, 0xdbe6, 0xdbe5, 0x887b, 0x887c, 0x887d,
    -    0x887e, 0x8880, 0xb4b9, 0xc0ac, 0xc2a2, 0xdbe2, 0xdbe4, 0x8881,
    -    0x8882, 0x8883, 0x8884, 0xd0cd, 0xdbed, 0x8885, 0x8886, 0x8887,
    -    0x8888, 0x8889, 0xc0dd, 0xdbf2, 0x888a, 0x888b, 0x888c, 0x888d,
    -    0x888e, 0x888f, 0x8890, 0xb6e2, 0x8891, 0x8892, 0x8893, 0x8894,
    -    0xdbf3, 0xdbd2, 0xb9b8, 0xd4ab, 0xdbec, 0x8895, 0xbfd1, 0xdbf0,
    -    0x8896, 0xdbd1, 0x8897, 0xb5e6, 0x8898, 0xdbeb, 0xbfe5, 0x8899,
    -    0x889a, 0x889b, 0xdbee, 0x889c, 0xdbf1, 0x889d, 0x889e, 0x889f,
    -    0xdbf9, 0x88a0, 0x88a1, 0x88a2, 0x88a3, 0x88a4, 0x88a5, 0x88a6,
    -    0x88a7, 0x88a8, 0xb9a1, 0xb0a3, 0x88a9, 0x88aa, 0x88ab, 0x88ac,
    -    0x88ad, 0x88ae, 0x88af, 0xc2f1, 0x88b0, 0x88b1, 0xb3c7, 0xdbef,
    -    0x88b2, 0x88b3, 0xdbf8, 0x88b4, 0xc6d2, 0xdbf4, 0x88b5, 0x88b6,
    -    0xdbf5, 0xdbf7, 0xdbf6, 0x88b7, 0x88b8, 0xdbfe, 0x88b9, 0xd3f2,
    -    0xb2ba, 0x88ba, 0x88bb, 0x88bc, 0xdbfd, 0x88bd, 0x88be, 0x88bf,
    -    0x88c0, 0x88c1, 0x88c2, 0x88c3, 0x88c4, 0xdca4, 0x88c5, 0xdbfb,
    -    0x88c6, 0x88c7, 0x88c8, 0x88c9, 0xdbfa, 0x88ca, 0x88cb, 0x88cc,
    -    0xdbfc, 0xc5e0, 0xbbf9, 0x88cd, 0x88ce, 0xdca3, 0x88cf, 0x88d0,
    -    /* 0x5800 .. 0x58ff */
    -    0xdca5, 0x88d1, 0xccc3, 0x88d2, 0x88d3, 0x88d4, 0xb6d1, 0xddc0,
    -    0x88d5, 0x88d6, 0x88d7, 0xdca1, 0x88d8, 0xdca2, 0x88d9, 0x88da,
    -    0x88db, 0xc7b5, 0x88dc, 0x88dd, 0x88de, 0xb6e9, 0x88df, 0x88e0,
    -    0x88e1, 0xdca7, 0x88e2, 0x88e3, 0x88e4, 0x88e5, 0xdca6, 0x88e6,
    -    0xdca9, 0xb1a4, 0x88e7, 0x88e8, 0xb5cc, 0x88e9, 0x88ea, 0x88eb,
    -    0x88ec, 0x88ed, 0xbfb0, 0x88ee, 0x88ef, 0x88f0, 0x88f1, 0x88f2,
    -    0xd1df, 0x88f3, 0x88f4, 0x88f5, 0x88f6, 0xb6c2, 0x88f7, 0x88f8,
    -    0x88f9, 0x88fa, 0x88fb, 0x88fc, 0x88fd, 0x88fe, 0x8940, 0x8941,
    -    0x8942, 0x8943, 0x8944, 0x8945, 0xdca8, 0x8946, 0x8947, 0x8948,
    -    0x8949, 0x894a, 0x894b, 0x894c, 0xcbfa, 0xebf3, 0x894d, 0x894e,
    -    0x894f, 0xcbdc, 0x8950, 0x8951, 0xcbfe, 0x8952, 0x8953, 0x8954,
    -    0xccc1, 0x8955, 0x8956, 0x8957, 0x8958, 0x8959, 0xc8fb, 0x895a,
    -    0x895b, 0x895c, 0x895d, 0x895e, 0x895f, 0xdcaa, 0x8960, 0x8961,
    -    0x8962, 0x8963, 0x8964, 0xccee, 0xdcab, 0x8965, 0x8966, 0x8967,
    -    0x8968, 0x8969, 0x896a, 0x896b, 0x896c, 0x896d, 0x896e, 0x896f,
    -    0x8970, 0x8971, 0x8972, 0x8973, 0x8974, 0x8975, 0xdbd3, 0x8976,
    -    0xdcaf, 0xdcac, 0x8977, 0xbeb3, 0x8978, 0xcafb, 0x8979, 0x897a,
    -    0x897b, 0xdcad, 0x897c, 0x897d, 0x897e, 0x8980, 0x8981, 0x8982,
    -    0x8983, 0x8984, 0xc9ca, 0xc4b9, 0x8985, 0x8986, 0x8987, 0x8988,
    -    0x8989, 0xc7bd, 0xdcae, 0x898a, 0x898b, 0x898c, 0xd4f6, 0xd0e6,
    -    0x898d, 0x898e, 0x898f, 0x8990, 0x8991, 0x8992, 0x8993, 0x8994,
    -    0xc4ab, 0xb6d5, 0x8995, 0x8996, 0x8997, 0x8998, 0x8999, 0x899a,
    -    0x899b, 0x899c, 0x899d, 0x899e, 0x899f, 0x89a0, 0x89a1, 0x89a2,
    -    0x89a3, 0x89a4, 0x89a5, 0x89a6, 0xdbd4, 0x89a7, 0x89a8, 0x89a9,
    -    0x89aa, 0xb1da, 0x89ab, 0x89ac, 0x89ad, 0xdbd5, 0x89ae, 0x89af,
    -    0x89b0, 0x89b1, 0x89b2, 0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7,
    -    0x89b8, 0xdbd6, 0x89b9, 0x89ba, 0x89bb, 0xbabe, 0x89bc, 0x89bd,
    -    0x89be, 0x89bf, 0x89c0, 0x89c1, 0x89c2, 0x89c3, 0x89c4, 0x89c5,
    -    0x89c6, 0x89c7, 0x89c8, 0x89c9, 0xc8c0, 0x89ca, 0x89cb, 0x89cc,
    -    0x89cd, 0x89ce, 0x89cf, 0xcabf, 0xc8c9, 0x89d0, 0xd7b3, 0x89d1,
    -    0xc9f9, 0x89d2, 0x89d3, 0xbfc7, 0x89d4, 0x89d5, 0xbaf8, 0x89d6,
    -    0x89d7, 0xd2bc, 0x89d8, 0x89d9, 0x89da, 0x89db, 0x89dc, 0x89dd,
    -    /* 0x5900 .. 0x59ff */
    -    0x89de, 0x89df, 0xe2ba, 0x89e0, 0xb4a6, 0x89e1, 0x89e2, 0xb1b8,
    -    0x89e3, 0x89e4, 0x89e5, 0x89e6, 0x89e7, 0xb8b4, 0x89e8, 0xcfc4,
    -    0x89e9, 0x89ea, 0x89eb, 0x89ec, 0xd9e7, 0xcfa6, 0xcde2, 0x89ed,
    -    0x89ee, 0xd9ed, 0xb6e0, 0x89ef, 0xd2b9, 0x89f0, 0x89f1, 0xb9bb,
    -    0x89f2, 0x89f3, 0x89f4, 0x89f5, 0xe2b9, 0xe2b7, 0x89f6, 0xb4f3,
    -    0x89f7, 0xccec, 0xccab, 0xb7f2, 0x89f8, 0xd8b2, 0xd1eb, 0xbabb,
    -    0x89f9, 0xcaa7, 0x89fa, 0x89fb, 0xcdb7, 0x89fc, 0x89fd, 0xd2c4,
    -    0xbfe4, 0xbcd0, 0xb6e1, 0x89fe, 0xdec5, 0x8a40, 0x8a41, 0x8a42,
    -    0x8a43, 0xdec6, 0xdbbc, 0x8a44, 0xd1d9, 0x8a45, 0x8a46, 0xc6e6,
    -    0xc4ce, 0xb7ee, 0x8a47, 0xb7dc, 0x8a48, 0x8a49, 0xbffc, 0xd7e0,
    -    0x8a4a, 0xc6f5, 0x8a4b, 0x8a4c, 0xb1bc, 0xdec8, 0xbdb1, 0xccd7,
    -    0xdeca, 0x8a4d, 0xdec9, 0x8a4e, 0x8a4f, 0x8a50, 0x8a51, 0x8a52,
    -    0xb5ec, 0x8a53, 0xc9dd, 0x8a54, 0x8a55, 0xb0c2, 0x8a56, 0x8a57,
    -    0x8a58, 0x8a59, 0x8a5a, 0x8a5b, 0x8a5c, 0x8a5d, 0x8a5e, 0x8a5f,
    -    0x8a60, 0x8a61, 0x8a62, 0xc5ae, 0xc5ab, 0x8a63, 0xc4cc, 0x8a64,
    -    0xbce9, 0xcbfd, 0x8a65, 0x8a66, 0x8a67, 0xbac3, 0x8a68, 0x8a69,
    -    0x8a6a, 0xe5f9, 0xc8e7, 0xe5fa, 0xcdfd, 0x8a6b, 0xd7b1, 0xb8be,
    -    0xc2e8, 0x8a6c, 0xc8d1, 0x8a6d, 0x8a6e, 0xe5fb, 0x8a6f, 0x8a70,
    -    0x8a71, 0x8a72, 0xb6ca, 0xbccb, 0x8a73, 0x8a74, 0xd1fd, 0xe6a1,
    -    0x8a75, 0xc3ee, 0x8a76, 0x8a77, 0x8a78, 0x8a79, 0xe6a4, 0x8a7a,
    -    0x8a7b, 0x8a7c, 0x8a7d, 0xe5fe, 0xe6a5, 0xcdd7, 0x8a7e, 0x8a80,
    -    0xb7c1, 0xe5fc, 0xe5fd, 0xe6a3, 0x8a81, 0x8a82, 0xc4dd, 0xe6a8,
    -    0x8a83, 0x8a84, 0xe6a7, 0x8a85, 0x8a86, 0x8a87, 0x8a88, 0x8a89,
    -    0x8a8a, 0xc3c3, 0x8a8b, 0xc6de, 0x8a8c, 0x8a8d, 0xe6aa, 0x8a8e,
    -    0x8a8f, 0x8a90, 0x8a91, 0x8a92, 0x8a93, 0x8a94, 0xc4b7, 0x8a95,
    -    0x8a96, 0x8a97, 0xe6a2, 0xcabc, 0x8a98, 0x8a99, 0x8a9a, 0x8a9b,
    -    0xbde3, 0xb9c3, 0xe6a6, 0xd0d5, 0xceaf, 0x8a9c, 0x8a9d, 0xe6a9,
    -    0xe6b0, 0x8a9e, 0xd2a6, 0x8a9f, 0xbdaa, 0xe6ad, 0x8aa0, 0x8aa1,
    -    0x8aa2, 0x8aa3, 0x8aa4, 0xe6af, 0x8aa5, 0xc0d1, 0x8aa6, 0x8aa7,
    -    0xd2cc, 0x8aa8, 0x8aa9, 0x8aaa, 0xbca7, 0x8aab, 0x8aac, 0x8aad,
    -    0x8aae, 0x8aaf, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3, 0x8ab4, 0x8ab5,
    -    0x8ab6, 0xe6b1, 0x8ab7, 0xd2f6, 0x8ab8, 0x8ab9, 0x8aba, 0xd7cb,
    -    /* 0x5a00 .. 0x5aff */
    -    0x8abb, 0xcdfe, 0x8abc, 0xcdde, 0xc2a6, 0xe6ab, 0xe6ac, 0xbdbf,
    -    0xe6ae, 0xe6b3, 0x8abd, 0x8abe, 0xe6b2, 0x8abf, 0x8ac0, 0x8ac1,
    -    0x8ac2, 0xe6b6, 0x8ac3, 0xe6b8, 0x8ac4, 0x8ac5, 0x8ac6, 0x8ac7,
    -    0xc4ef, 0x8ac8, 0x8ac9, 0x8aca, 0xc4c8, 0x8acb, 0x8acc, 0xbeea,
    -    0xc9ef, 0x8acd, 0x8ace, 0xe6b7, 0x8acf, 0xb6f0, 0x8ad0, 0x8ad1,
    -    0x8ad2, 0xc3e4, 0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0x8ad7, 0x8ad8,
    -    0x8ad9, 0xd3e9, 0xe6b4, 0x8ada, 0xe6b5, 0x8adb, 0xc8a2, 0x8adc,
    -    0x8add, 0x8ade, 0x8adf, 0x8ae0, 0xe6bd, 0x8ae1, 0x8ae2, 0x8ae3,
    -    0xe6b9, 0x8ae4, 0x8ae5, 0x8ae6, 0x8ae7, 0x8ae8, 0xc6c5, 0x8ae9,
    -    0x8aea, 0xcdf1, 0xe6bb, 0x8aeb, 0x8aec, 0x8aed, 0x8aee, 0x8aef,
    -    0x8af0, 0x8af1, 0x8af2, 0x8af3, 0x8af4, 0xe6bc, 0x8af5, 0x8af6,
    -    0x8af7, 0x8af8, 0xbbe9, 0x8af9, 0x8afa, 0x8afb, 0x8afc, 0x8afd,
    -    0x8afe, 0x8b40, 0xe6be, 0x8b41, 0x8b42, 0x8b43, 0x8b44, 0xe6ba,
    -    0x8b45, 0x8b46, 0xc0b7, 0x8b47, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b,
    -    0x8b4c, 0x8b4d, 0x8b4e, 0x8b4f, 0xd3a4, 0xe6bf, 0xc9f4, 0xe6c3,
    -    0x8b50, 0x8b51, 0xe6c4, 0x8b52, 0x8b53, 0x8b54, 0x8b55, 0xd0f6,
    -    0x8b56, 0x8b57, 0x8b58, 0x8b59, 0x8b5a, 0x8b5b, 0x8b5c, 0x8b5d,
    -    0x8b5e, 0x8b5f, 0x8b60, 0x8b61, 0x8b62, 0x8b63, 0x8b64, 0x8b65,
    -    0x8b66, 0x8b67, 0xc3bd, 0x8b68, 0x8b69, 0x8b6a, 0x8b6b, 0x8b6c,
    -    0x8b6d, 0x8b6e, 0xc3c4, 0xe6c2, 0x8b6f, 0x8b70, 0x8b71, 0x8b72,
    -    0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77, 0x8b78, 0x8b79, 0x8b7a,
    -    0x8b7b, 0x8b7c, 0xe6c1, 0x8b7d, 0x8b7e, 0x8b80, 0x8b81, 0x8b82,
    -    0x8b83, 0x8b84, 0xe6c7, 0xcfb1, 0x8b85, 0xebf4, 0x8b86, 0x8b87,
    -    0xe6ca, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0xe6c5, 0x8b8d,
    -    0x8b8e, 0xbcde, 0xc9a9, 0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93,
    -    0x8b94, 0xbcb5, 0x8b95, 0x8b96, 0xcfd3, 0x8b97, 0x8b98, 0x8b99,
    -    0x8b9a, 0x8b9b, 0xe6c8, 0x8b9c, 0xe6c9, 0x8b9d, 0xe6ce, 0x8b9e,
    -    0xe6d0, 0x8b9f, 0x8ba0, 0x8ba1, 0xe6d1, 0x8ba2, 0x8ba3, 0x8ba4,
    -    0xe6cb, 0xb5d5, 0x8ba5, 0xe6cc, 0x8ba6, 0x8ba7, 0xe6cf, 0x8ba8,
    -    0x8ba9, 0xc4db, 0x8baa, 0xe6c6, 0x8bab, 0x8bac, 0x8bad, 0x8bae,
    -    0x8baf, 0xe6cd, 0x8bb0, 0x8bb1, 0x8bb2, 0x8bb3, 0x8bb4, 0x8bb5,
    -    0x8bb6, 0x8bb7, 0x8bb8, 0x8bb9, 0x8bba, 0x8bbb, 0x8bbc, 0x8bbd,
    -    /* 0x5b00 .. 0x5bff */
    -    0x8bbe, 0x8bbf, 0x8bc0, 0x8bc1, 0x8bc2, 0x8bc3, 0x8bc4, 0x8bc5,
    -    0x8bc6, 0xe6d2, 0x8bc7, 0x8bc8, 0x8bc9, 0x8bca, 0x8bcb, 0x8bcc,
    -    0x8bcd, 0x8bce, 0x8bcf, 0x8bd0, 0x8bd1, 0x8bd2, 0xe6d4, 0xe6d3,
    -    0x8bd3, 0x8bd4, 0x8bd5, 0x8bd6, 0x8bd7, 0x8bd8, 0x8bd9, 0x8bda,
    -    0x8bdb, 0x8bdc, 0x8bdd, 0x8bde, 0x8bdf, 0x8be0, 0x8be1, 0x8be2,
    -    0x8be3, 0x8be4, 0x8be5, 0x8be6, 0x8be7, 0x8be8, 0x8be9, 0x8bea,
    -    0x8beb, 0x8bec, 0xe6d5, 0x8bed, 0xd9f8, 0x8bee, 0x8bef, 0xe6d6,
    -    0x8bf0, 0x8bf1, 0x8bf2, 0x8bf3, 0x8bf4, 0x8bf5, 0x8bf6, 0x8bf7,
    -    0xe6d7, 0x8bf8, 0x8bf9, 0x8bfa, 0x8bfb, 0x8bfc, 0x8bfd, 0x8bfe,
    -    0x8c40, 0x8c41, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c46, 0x8c47,
    -    0xd7d3, 0xe6dd, 0x8c48, 0xe6de, 0xbfd7, 0xd4d0, 0x8c49, 0xd7d6,
    -    0xb4e6, 0xcbef, 0xe6da, 0xd8c3, 0xd7ce, 0xd0a2, 0x8c4a, 0xc3cf,
    -    0x8c4b, 0x8c4c, 0xe6df, 0xbcbe, 0xb9c2, 0xe6db, 0xd1a7, 0x8c4d,
    -    0x8c4e, 0xbaa2, 0xc2cf, 0x8c4f, 0xd8ab, 0x8c50, 0x8c51, 0x8c52,
    -    0xcaeb, 0xe5ee, 0x8c53, 0xe6dc, 0x8c54, 0xb7f5, 0x8c55, 0x8c56,
    -    0x8c57, 0x8c58, 0xc8e6, 0x8c59, 0x8c5a, 0xc4f5, 0x8c5b, 0x8c5c,
    -    0xe5b2, 0xc4fe, 0x8c5d, 0xcbfc, 0xe5b3, 0xd5ac, 0x8c5e, 0xd3ee,
    -    0xcad8, 0xb0b2, 0x8c5f, 0xcbce, 0xcdea, 0x8c60, 0x8c61, 0xbaea,
    -    0x8c62, 0x8c63, 0x8c64, 0xe5b5, 0x8c65, 0xe5b4, 0x8c66, 0xd7da,
    -    0xb9d9, 0xd6e6, 0xb6a8, 0xcdf0, 0xd2cb, 0xb1a6, 0xcab5, 0x8c67,
    -    0xb3e8, 0xc9f3, 0xbfcd, 0xd0fb, 0xcad2, 0xe5b6, 0xbbc2, 0x8c68,
    -    0x8c69, 0x8c6a, 0xcfdc, 0xb9ac, 0x8c6b, 0x8c6c, 0x8c6d, 0x8c6e,
    -    0xd4d7, 0x8c6f, 0x8c70, 0xbaa6, 0xd1e7, 0xcffc, 0xbcd2, 0x8c71,
    -    0xe5b7, 0xc8dd, 0x8c72, 0x8c73, 0x8c74, 0xbfed, 0xb1f6, 0xcbde,
    -    0x8c75, 0x8c76, 0xbcc5, 0x8c77, 0xbcc4, 0xd2fa, 0xc3dc, 0xbfdc,
    -    0x8c78, 0x8c79, 0x8c7a, 0x8c7b, 0xb8bb, 0x8c7c, 0x8c7d, 0x8c7e,
    -    0xc3c2, 0x8c80, 0xbaae, 0xd4a2, 0x8c81, 0x8c82, 0x8c83, 0x8c84,
    -    0x8c85, 0x8c86, 0x8c87, 0x8c88, 0x8c89, 0xc7de, 0xc4af, 0xb2ec,
    -    0x8c8a, 0xb9d1, 0x8c8b, 0x8c8c, 0xe5bb, 0xc1c8, 0x8c8d, 0x8c8e,
    -    0xd5af, 0x8c8f, 0x8c90, 0x8c91, 0x8c92, 0x8c93, 0xe5bc, 0x8c94,
    -    0xe5be, 0x8c95, 0x8c96, 0x8c97, 0x8c98, 0x8c99, 0x8c9a, 0x8c9b,
    -    0xb4e7, 0xb6d4, 0xcbc2, 0xd1b0, 0xb5bc, 0x8c9c, 0x8c9d, 0xcad9,
    -    /* 0x5c00 .. 0x5cff */
    -    0x8c9e, 0xb7e2, 0x8c9f, 0x8ca0, 0xc9e4, 0x8ca1, 0xbdab, 0x8ca2,
    -    0x8ca3, 0xcebe, 0xd7f0, 0x8ca4, 0x8ca5, 0x8ca6, 0x8ca7, 0xd0a1,
    -    0x8ca8, 0xc9d9, 0x8ca9, 0x8caa, 0xb6fb, 0xe6d8, 0xbce2, 0x8cab,
    -    0xb3be, 0x8cac, 0xc9d0, 0x8cad, 0xe6d9, 0xb3a2, 0x8cae, 0x8caf,
    -    0x8cb0, 0x8cb1, 0xdecc, 0x8cb2, 0xd3c8, 0xdecd, 0x8cb3, 0xd2a2,
    -    0x8cb4, 0x8cb5, 0x8cb6, 0x8cb7, 0xdece, 0x8cb8, 0x8cb9, 0x8cba,
    -    0x8cbb, 0xbecd, 0x8cbc, 0x8cbd, 0xdecf, 0x8cbe, 0x8cbf, 0x8cc0,
    -    0xcaac, 0xd2fc, 0xb3df, 0xe5ea, 0xc4e1, 0xbea1, 0xceb2, 0xc4f2,
    -    0xbed6, 0xc6a8, 0xb2e3, 0x8cc1, 0x8cc2, 0xbed3, 0x8cc3, 0x8cc4,
    -    0xc7fc, 0xcceb, 0xbdec, 0xcedd, 0x8cc5, 0x8cc6, 0xcaba, 0xc6c1,
    -    0xe5ec, 0xd0bc, 0x8cc7, 0x8cc8, 0x8cc9, 0xd5b9, 0x8cca, 0x8ccb,
    -    0x8ccc, 0xe5ed, 0x8ccd, 0x8cce, 0x8ccf, 0x8cd0, 0xcaf4, 0x8cd1,
    -    0xcdc0, 0xc2c5, 0x8cd2, 0xe5ef, 0x8cd3, 0xc2c4, 0xe5f0, 0x8cd4,
    -    0x8cd5, 0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda, 0xe5f8, 0xcdcd,
    -    0x8cdb, 0xc9bd, 0x8cdc, 0x8cdd, 0x8cde, 0x8cdf, 0x8ce0, 0x8ce1,
    -    0x8ce2, 0xd2d9, 0xe1a8, 0x8ce3, 0x8ce4, 0x8ce5, 0x8ce6, 0xd3ec,
    -    0x8ce7, 0xcbea, 0xc6f1, 0x8ce8, 0x8ce9, 0x8cea, 0x8ceb, 0x8cec,
    -    0xe1ac, 0x8ced, 0x8cee, 0x8cef, 0xe1a7, 0xe1a9, 0x8cf0, 0x8cf1,
    -    0xe1aa, 0xe1af, 0x8cf2, 0x8cf3, 0xb2ed, 0x8cf4, 0xe1ab, 0xb8da,
    -    0xe1ad, 0xe1ae, 0xe1b0, 0xb5ba, 0xe1b1, 0x8cf5, 0x8cf6, 0x8cf7,
    -    0x8cf8, 0x8cf9, 0xe1b3, 0xe1b8, 0x8cfa, 0x8cfb, 0x8cfc, 0x8cfd,
    -    0x8cfe, 0xd1d2, 0x8d40, 0xe1b6, 0xe1b5, 0xc1eb, 0x8d41, 0x8d42,
    -    0x8d43, 0xe1b7, 0x8d44, 0xd4c0, 0x8d45, 0xe1b2, 0x8d46, 0xe1ba,
    -    0xb0b6, 0x8d47, 0x8d48, 0x8d49, 0x8d4a, 0xe1b4, 0x8d4b, 0xbff9,
    -    0x8d4c, 0xe1b9, 0x8d4d, 0x8d4e, 0xe1bb, 0x8d4f, 0x8d50, 0x8d51,
    -    0x8d52, 0x8d53, 0x8d54, 0xe1be, 0x8d55, 0x8d56, 0x8d57, 0x8d58,
    -    0x8d59, 0x8d5a, 0xe1bc, 0x8d5b, 0x8d5c, 0x8d5d, 0x8d5e, 0x8d5f,
    -    0x8d60, 0xd6c5, 0x8d61, 0x8d62, 0x8d63, 0x8d64, 0x8d65, 0x8d66,
    -    0x8d67, 0xcfbf, 0x8d68, 0x8d69, 0xe1bd, 0xe1bf, 0xc2cd, 0x8d6a,
    -    0xb6eb, 0x8d6b, 0xd3f8, 0x8d6c, 0x8d6d, 0xc7cd, 0x8d6e, 0x8d6f,
    -    0xb7e5, 0x8d70, 0x8d71, 0x8d72, 0x8d73, 0x8d74, 0x8d75, 0x8d76,
    -    0x8d77, 0x8d78, 0x8d79, 0xbefe, 0x8d7a, 0x8d7b, 0x8d7c, 0x8d7d,
    -    /* 0x5d00 .. 0x5dff */
    -    0x8d7e, 0x8d80, 0xe1c0, 0xe1c1, 0x8d81, 0x8d82, 0xe1c7, 0xb3e7,
    -    0x8d83, 0x8d84, 0x8d85, 0x8d86, 0x8d87, 0x8d88, 0xc6e9, 0x8d89,
    -    0x8d8a, 0x8d8b, 0x8d8c, 0x8d8d, 0xb4de, 0x8d8e, 0xd1c2, 0x8d8f,
    -    0x8d90, 0x8d91, 0x8d92, 0xe1c8, 0x8d93, 0x8d94, 0xe1c6, 0x8d95,
    -    0x8d96, 0x8d97, 0x8d98, 0x8d99, 0xe1c5, 0x8d9a, 0xe1c3, 0xe1c2,
    -    0x8d9b, 0xb1c0, 0x8d9c, 0x8d9d, 0x8d9e, 0xd5b8, 0xe1c4, 0x8d9f,
    -    0x8da0, 0x8da1, 0x8da2, 0x8da3, 0xe1cb, 0x8da4, 0x8da5, 0x8da6,
    -    0x8da7, 0x8da8, 0x8da9, 0x8daa, 0x8dab, 0xe1cc, 0xe1ca, 0x8dac,
    -    0x8dad, 0x8dae, 0x8daf, 0x8db0, 0x8db1, 0x8db2, 0x8db3, 0xeffa,
    -    0x8db4, 0x8db5, 0xe1d3, 0xe1d2, 0xc7b6, 0x8db6, 0x8db7, 0x8db8,
    -    0x8db9, 0x8dba, 0x8dbb, 0x8dbc, 0x8dbd, 0x8dbe, 0x8dbf, 0x8dc0,
    -    0xe1c9, 0x8dc1, 0x8dc2, 0xe1ce, 0x8dc3, 0xe1d0, 0x8dc4, 0x8dc5,
    -    0x8dc6, 0x8dc7, 0x8dc8, 0x8dc9, 0x8dca, 0x8dcb, 0x8dcc, 0x8dcd,
    -    0x8dce, 0xe1d4, 0x8dcf, 0xe1d1, 0xe1cd, 0x8dd0, 0x8dd1, 0xe1cf,
    -    0x8dd2, 0x8dd3, 0x8dd4, 0x8dd5, 0xe1d5, 0x8dd6, 0x8dd7, 0x8dd8,
    -    0x8dd9, 0x8dda, 0x8ddb, 0x8ddc, 0x8ddd, 0x8dde, 0x8ddf, 0x8de0,
    -    0x8de1, 0x8de2, 0xe1d6, 0x8de3, 0x8de4, 0x8de5, 0x8de6, 0x8de7,
    -    0x8de8, 0x8de9, 0x8dea, 0x8deb, 0x8dec, 0x8ded, 0x8dee, 0x8def,
    -    0x8df0, 0x8df1, 0x8df2, 0x8df3, 0x8df4, 0x8df5, 0x8df6, 0x8df7,
    -    0x8df8, 0xe1d7, 0x8df9, 0x8dfa, 0x8dfb, 0xe1d8, 0x8dfc, 0x8dfd,
    -    0x8dfe, 0x8e40, 0x8e41, 0x8e42, 0x8e43, 0x8e44, 0x8e45, 0x8e46,
    -    0x8e47, 0x8e48, 0x8e49, 0x8e4a, 0x8e4b, 0x8e4c, 0x8e4d, 0x8e4e,
    -    0x8e4f, 0x8e50, 0x8e51, 0x8e52, 0x8e53, 0x8e54, 0x8e55, 0xe1da,
    -    0x8e56, 0x8e57, 0x8e58, 0x8e59, 0x8e5a, 0x8e5b, 0x8e5c, 0x8e5d,
    -    0x8e5e, 0x8e5f, 0x8e60, 0x8e61, 0x8e62, 0xe1db, 0x8e63, 0x8e64,
    -    0x8e65, 0x8e66, 0x8e67, 0x8e68, 0x8e69, 0xcea1, 0x8e6a, 0x8e6b,
    -    0x8e6c, 0x8e6d, 0x8e6e, 0x8e6f, 0x8e70, 0x8e71, 0x8e72, 0x8e73,
    -    0x8e74, 0x8e75, 0x8e76, 0xe7dd, 0x8e77, 0xb4a8, 0xd6dd, 0x8e78,
    -    0x8e79, 0xd1b2, 0xb3b2, 0x8e7a, 0x8e7b, 0xb9a4, 0xd7f3, 0xc7c9,
    -    0xbede, 0xb9ae, 0x8e7c, 0xced7, 0x8e7d, 0x8e7e, 0xb2ee, 0xdbcf,
    -    0x8e80, 0xbcba, 0xd2d1, 0xcbc8, 0xb0cd, 0x8e81, 0x8e82, 0xcfef,
    -    0x8e83, 0x8e84, 0x8e85, 0x8e86, 0x8e87, 0xd9e3, 0xbded, 0x8e88,
    -    /* 0x5e00 .. 0x5eff */
    -    0x8e89, 0xb1d2, 0xcad0, 0xb2bc, 0x8e8a, 0xcba7, 0xb7ab, 0x8e8b,
    -    0xcaa6, 0x8e8c, 0x8e8d, 0x8e8e, 0xcfa3, 0x8e8f, 0x8e90, 0xe0f8,
    -    0xd5ca, 0xe0fb, 0x8e91, 0x8e92, 0xe0fa, 0xc5c1, 0xccfb, 0x8e93,
    -    0xc1b1, 0xe0f9, 0xd6e3, 0xb2af, 0xd6c4, 0xb5db, 0x8e94, 0x8e95,
    -    0x8e96, 0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0x8e9b, 0xb4f8, 0xd6a1,
    -    0x8e9c, 0x8e9d, 0x8e9e, 0x8e9f, 0x8ea0, 0xcfaf, 0xb0ef, 0x8ea1,
    -    0x8ea2, 0xe0fc, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7, 0xe1a1,
    -    0xb3a3, 0x8ea8, 0x8ea9, 0xe0fd, 0xe0fe, 0xc3b1, 0x8eaa, 0x8eab,
    -    0x8eac, 0x8ead, 0xc3dd, 0x8eae, 0xe1a2, 0xb7f9, 0x8eaf, 0x8eb0,
    -    0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0xbbcf, 0x8eb5, 0x8eb6, 0x8eb7,
    -    0x8eb8, 0x8eb9, 0x8eba, 0x8ebb, 0xe1a3, 0xc4bb, 0x8ebc, 0x8ebd,
    -    0x8ebe, 0x8ebf, 0x8ec0, 0xe1a4, 0x8ec1, 0x8ec2, 0xe1a5, 0x8ec3,
    -    0x8ec4, 0xe1a6, 0xb4b1, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8, 0x8ec9,
    -    0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf, 0x8ed0, 0x8ed1,
    -    0x8ed2, 0x8ed3, 0xb8c9, 0xc6bd, 0xc4ea, 0x8ed4, 0xb2a2, 0x8ed5,
    -    0xd0d2, 0x8ed6, 0xe7db, 0xbbc3, 0xd3d7, 0xd3c4, 0x8ed7, 0xb9e3,
    -    0xe2cf, 0x8ed8, 0x8ed9, 0x8eda, 0xd7af, 0x8edb, 0xc7ec, 0xb1d3,
    -    0x8edc, 0x8edd, 0xb4b2, 0xe2d1, 0x8ede, 0x8edf, 0x8ee0, 0xd0f2,
    -    0xc2ae, 0xe2d0, 0x8ee1, 0xbfe2, 0xd3a6, 0xb5d7, 0xe2d2, 0xb5ea,
    -    0x8ee2, 0xc3ed, 0xb8fd, 0x8ee3, 0xb8ae, 0x8ee4, 0xc5d3, 0xb7cf,
    -    0xe2d4, 0x8ee5, 0x8ee6, 0x8ee7, 0x8ee8, 0xe2d3, 0xb6c8, 0xd7f9,
    -    0x8ee9, 0x8eea, 0x8eeb, 0x8eec, 0x8eed, 0xcda5, 0x8eee, 0x8eef,
    -    0x8ef0, 0x8ef1, 0x8ef2, 0xe2d8, 0x8ef3, 0xe2d6, 0xcafc, 0xbfb5,
    -    0xd3b9, 0xe2d5, 0x8ef4, 0x8ef5, 0x8ef6, 0x8ef7, 0xe2d7, 0x8ef8,
    -    0x8ef9, 0x8efa, 0x8efb, 0x8efc, 0x8efd, 0x8efe, 0x8f40, 0x8f41,
    -    0x8f42, 0xc1ae, 0xc0c8, 0x8f43, 0x8f44, 0x8f45, 0x8f46, 0x8f47,
    -    0x8f48, 0xe2db, 0xe2da, 0xc0aa, 0x8f49, 0x8f4a, 0xc1ce, 0x8f4b,
    -    0x8f4c, 0x8f4d, 0x8f4e, 0xe2dc, 0x8f4f, 0x8f50, 0x8f51, 0x8f52,
    -    0x8f53, 0x8f54, 0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a,
    -    0xe2dd, 0x8f5b, 0xe2de, 0x8f5c, 0x8f5d, 0x8f5e, 0x8f5f, 0x8f60,
    -    0x8f61, 0x8f62, 0x8f63, 0x8f64, 0xdbc8, 0x8f65, 0xd1d3, 0xcda2,
    -    0x8f66, 0x8f67, 0xbda8, 0x8f68, 0x8f69, 0x8f6a, 0xdec3, 0xd8a5,
    -    /* 0x5f00 .. 0x5fff */
    -    0xbfaa, 0xdbcd, 0xd2ec, 0xc6fa, 0xc5aa, 0x8f6b, 0x8f6c, 0x8f6d,
    -    0xdec4, 0x8f6e, 0xb1d7, 0xdfae, 0x8f6f, 0x8f70, 0x8f71, 0xcabd,
    -    0x8f72, 0xdfb1, 0x8f73, 0xb9ad, 0x8f74, 0xd2fd, 0x8f75, 0xb8a5,
    -    0xbaeb, 0x8f76, 0x8f77, 0xb3da, 0x8f78, 0x8f79, 0x8f7a, 0xb5dc,
    -    0xd5c5, 0x8f7b, 0x8f7c, 0x8f7d, 0x8f7e, 0xc3d6, 0xcfd2, 0xbba1,
    -    0x8f80, 0xe5f3, 0xe5f2, 0x8f81, 0x8f82, 0xe5f4, 0x8f83, 0xcde4,
    -    0x8f84, 0xc8f5, 0x8f85, 0x8f86, 0x8f87, 0x8f88, 0x8f89, 0x8f8a,
    -    0x8f8b, 0xb5af, 0xc7bf, 0x8f8c, 0xe5f6, 0x8f8d, 0x8f8e, 0x8f8f,
    -    0xecb0, 0x8f90, 0x8f91, 0x8f92, 0x8f93, 0x8f94, 0x8f95, 0x8f96,
    -    0x8f97, 0x8f98, 0x8f99, 0x8f9a, 0x8f9b, 0x8f9c, 0x8f9d, 0x8f9e,
    -    0xe5e6, 0x8f9f, 0xb9e9, 0xb5b1, 0x8fa0, 0xc2bc, 0xe5e8, 0xe5e7,
    -    0xe5e9, 0x8fa1, 0x8fa2, 0x8fa3, 0x8fa4, 0xd2cd, 0x8fa5, 0x8fa6,
    -    0x8fa7, 0xe1ea, 0xd0ce, 0x8fa8, 0xcdae, 0x8fa9, 0xd1e5, 0x8faa,
    -    0x8fab, 0xb2ca, 0xb1eb, 0x8fac, 0xb1f2, 0xc5ed, 0x8fad, 0x8fae,
    -    0xd5c3, 0xd3b0, 0x8faf, 0xe1dc, 0x8fb0, 0x8fb1, 0x8fb2, 0xe1dd,
    -    0x8fb3, 0xd2db, 0x8fb4, 0xb3b9, 0xb1cb, 0x8fb5, 0x8fb6, 0x8fb7,
    -    0xcdf9, 0xd5f7, 0xe1de, 0x8fb8, 0xbeb6, 0xb4fd, 0x8fb9, 0xe1df,
    -    0xbadc, 0xe1e0, 0xbbb2, 0xc2c9, 0xe1e1, 0x8fba, 0x8fbb, 0x8fbc,
    -    0xd0ec, 0x8fbd, 0xcdbd, 0x8fbe, 0x8fbf, 0xe1e2, 0x8fc0, 0xb5c3,
    -    0xc5c7, 0xe1e3, 0x8fc1, 0x8fc2, 0xe1e4, 0x8fc3, 0x8fc4, 0x8fc5,
    -    0x8fc6, 0xd3f9, 0x8fc7, 0x8fc8, 0x8fc9, 0x8fca, 0x8fcb, 0x8fcc,
    -    0xe1e5, 0x8fcd, 0xd1ad, 0x8fce, 0x8fcf, 0xe1e6, 0xcea2, 0x8fd0,
    -    0x8fd1, 0x8fd2, 0x8fd3, 0x8fd4, 0x8fd5, 0xe1e7, 0x8fd6, 0xb5c2,
    -    0x8fd7, 0x8fd8, 0x8fd9, 0x8fda, 0xe1e8, 0xbbd5, 0x8fdb, 0x8fdc,
    -    0x8fdd, 0x8fde, 0x8fdf, 0xd0c4, 0xe2e0, 0xb1d8, 0xd2e4, 0x8fe0,
    -    0x8fe1, 0xe2e1, 0x8fe2, 0x8fe3, 0xbcc9, 0xc8cc, 0x8fe4, 0xe2e3,
    -    0xecfe, 0xecfd, 0xdfaf, 0x8fe5, 0x8fe6, 0x8fe7, 0xe2e2, 0xd6be,
    -    0xcdfc, 0xc3a6, 0x8fe8, 0x8fe9, 0x8fea, 0xe3c3, 0x8feb, 0x8fec,
    -    0xd6d2, 0xe2e7, 0x8fed, 0x8fee, 0xe2e8, 0x8fef, 0x8ff0, 0xd3c7,
    -    0x8ff1, 0x8ff2, 0xe2ec, 0xbfec, 0x8ff3, 0xe2ed, 0xe2e5, 0x8ff4,
    -    0x8ff5, 0xb3c0, 0x8ff6, 0x8ff7, 0x8ff8, 0xc4ee, 0x8ff9, 0x8ffa,
    -    0xe2ee, 0x8ffb, 0x8ffc, 0xd0c3, 0x8ffd, 0xbaf6, 0xe2e9, 0xb7de,
    -    /* 0x6000 .. 0x60ff */
    -    0xbbb3, 0xccac, 0xcbcb, 0xe2e4, 0xe2e6, 0xe2ea, 0xe2eb, 0x8ffe,
    -    0x9040, 0x9041, 0xe2f7, 0x9042, 0x9043, 0xe2f4, 0xd4f5, 0xe2f3,
    -    0x9044, 0x9045, 0xc5ad, 0x9046, 0xd5fa, 0xc5c2, 0xb2c0, 0x9047,
    -    0x9048, 0xe2ef, 0x9049, 0xe2f2, 0xc1af, 0xcbbc, 0x904a, 0x904b,
    -    0xb5a1, 0xe2f9, 0x904c, 0x904d, 0x904e, 0xbcb1, 0xe2f1, 0xd0d4,
    -    0xd4b9, 0xe2f5, 0xb9d6, 0xe2f6, 0x904f, 0x9050, 0x9051, 0xc7d3,
    -    0x9052, 0x9053, 0x9054, 0x9055, 0x9056, 0xe2f0, 0x9057, 0x9058,
    -    0x9059, 0x905a, 0x905b, 0xd7dc, 0xeda1, 0x905c, 0x905d, 0xe2f8,
    -    0x905e, 0xeda5, 0xe2fe, 0xcad1, 0x905f, 0x9060, 0x9061, 0x9062,
    -    0x9063, 0x9064, 0x9065, 0xc1b5, 0x9066, 0xbbd0, 0x9067, 0x9068,
    -    0xbfd6, 0x9069, 0xbae3, 0x906a, 0x906b, 0xcba1, 0x906c, 0x906d,
    -    0x906e, 0xeda6, 0xeda3, 0x906f, 0x9070, 0xeda2, 0x9071, 0x9072,
    -    0x9073, 0x9074, 0xbbd6, 0xeda7, 0xd0f4, 0x9075, 0x9076, 0xeda4,
    -    0xbade, 0xb6f7, 0xe3a1, 0xb6b2, 0xccf1, 0xb9a7, 0x9077, 0xcfa2,
    -    0xc7a1, 0x9078, 0x9079, 0xbfd2, 0x907a, 0x907b, 0xb6f1, 0x907c,
    -    0xe2fa, 0xe2fb, 0xe2fd, 0xe2fc, 0xc4d5, 0xe3a2, 0x907d, 0xd3c1,
    -    0x907e, 0x9080, 0x9081, 0xe3a7, 0xc7c4, 0x9082, 0x9083, 0x9084,
    -    0x9085, 0xcfa4, 0x9086, 0x9087, 0xe3a9, 0xbab7, 0x9088, 0x9089,
    -    0x908a, 0x908b, 0xe3a8, 0x908c, 0xbbda, 0x908d, 0xe3a3, 0x908e,
    -    0x908f, 0x9090, 0xe3a4, 0xe3aa, 0x9091, 0xe3a6, 0x9092, 0xcef2,
    -    0xd3c6, 0x9093, 0x9094, 0xbbbc, 0x9095, 0x9096, 0xd4c3, 0x9097,
    -    0xc4fa, 0x9098, 0x9099, 0xeda8, 0xd0fc, 0xe3a5, 0x909a, 0xc3f5,
    -    0x909b, 0xe3ad, 0xb1af, 0x909c, 0xe3b2, 0x909d, 0x909e, 0x909f,
    -    0xbcc2, 0x90a0, 0x90a1, 0xe3ac, 0xb5bf, 0x90a2, 0x90a3, 0x90a4,
    -    0x90a5, 0x90a6, 0x90a7, 0x90a8, 0x90a9, 0xc7e9, 0xe3b0, 0x90aa,
    -    0x90ab, 0x90ac, 0xbeaa, 0xcdef, 0x90ad, 0x90ae, 0x90af, 0x90b0,
    -    0x90b1, 0xbbf3, 0x90b2, 0x90b3, 0x90b4, 0xcce8, 0x90b5, 0x90b6,
    -    0xe3af, 0x90b7, 0xe3b1, 0x90b8, 0xcfa7, 0xe3ae, 0x90b9, 0xcea9,
    -    0xbbdd, 0x90ba, 0x90bb, 0x90bc, 0x90bd, 0x90be, 0xb5eb, 0xbee5,
    -    0xb2d2, 0xb3cd, 0x90bf, 0xb1b9, 0xe3ab, 0xb2d1, 0xb5ac, 0xb9df,
    -    0xb6e8, 0x90c0, 0x90c1, 0xcfeb, 0xe3b7, 0x90c2, 0xbbcc, 0x90c3,
    -    0x90c4, 0xc8c7, 0xd0ca, 0x90c5, 0x90c6, 0x90c7, 0x90c8, 0x90c9,
    -    /* 0x6100 .. 0x61ff */
    -    0xe3b8, 0xb3ee, 0x90ca, 0x90cb, 0x90cc, 0x90cd, 0xeda9, 0x90ce,
    -    0xd3fa, 0xd3e4, 0x90cf, 0x90d0, 0x90d1, 0xedaa, 0xe3b9, 0xd2e2,
    -    0x90d2, 0x90d3, 0x90d4, 0x90d5, 0x90d6, 0xe3b5, 0x90d7, 0x90d8,
    -    0x90d9, 0x90da, 0xd3de, 0x90db, 0x90dc, 0x90dd, 0x90de, 0xb8d0,
    -    0xe3b3, 0x90df, 0x90e0, 0xe3b6, 0xb7df, 0x90e1, 0xe3b4, 0xc0a2,
    -    0x90e2, 0x90e3, 0x90e4, 0xe3ba, 0x90e5, 0x90e6, 0x90e7, 0x90e8,
    -    0x90e9, 0x90ea, 0x90eb, 0x90ec, 0x90ed, 0x90ee, 0x90ef, 0x90f0,
    -    0x90f1, 0x90f2, 0x90f3, 0x90f4, 0x90f5, 0x90f6, 0x90f7, 0xd4b8,
    -    0x90f8, 0x90f9, 0x90fa, 0x90fb, 0x90fc, 0x90fd, 0x90fe, 0x9140,
    -    0xb4c8, 0x9141, 0xe3bb, 0x9142, 0xbbc5, 0x9143, 0xc9f7, 0x9144,
    -    0x9145, 0xc9e5, 0x9146, 0x9147, 0x9148, 0xc4bd, 0x9149, 0x914a,
    -    0x914b, 0x914c, 0x914d, 0x914e, 0x914f, 0xedab, 0x9150, 0x9151,
    -    0x9152, 0x9153, 0xc2fd, 0x9154, 0x9155, 0x9156, 0x9157, 0xbbdb,
    -    0xbfae, 0x9158, 0x9159, 0x915a, 0x915b, 0x915c, 0x915d, 0x915e,
    -    0xcebf, 0x915f, 0x9160, 0x9161, 0x9162, 0xe3bc, 0x9163, 0xbfb6,
    -    0x9164, 0x9165, 0x9166, 0x9167, 0x9168, 0x9169, 0x916a, 0x916b,
    -    0x916c, 0x916d, 0x916e, 0x916f, 0x9170, 0x9171, 0x9172, 0x9173,
    -    0x9174, 0x9175, 0x9176, 0xb1ef, 0x9177, 0x9178, 0xd4f7, 0x9179,
    -    0x917a, 0x917b, 0x917c, 0x917d, 0xe3be, 0x917e, 0x9180, 0x9181,
    -    0x9182, 0x9183, 0x9184, 0x9185, 0x9186, 0xedad, 0x9187, 0x9188,
    -    0x9189, 0x918a, 0x918b, 0x918c, 0x918d, 0x918e, 0x918f, 0xe3bf,
    -    0xbaa9, 0xedac, 0x9190, 0x9191, 0xe3bd, 0x9192, 0x9193, 0x9194,
    -    0x9195, 0x9196, 0x9197, 0x9198, 0x9199, 0x919a, 0x919b, 0xe3c0,
    -    0x919c, 0x919d, 0x919e, 0x919f, 0x91a0, 0x91a1, 0xbab6, 0x91a2,
    -    0x91a3, 0x91a4, 0xb6ae, 0x91a5, 0x91a6, 0x91a7, 0x91a8, 0x91a9,
    -    0xd0b8, 0x91aa, 0xb0c3, 0xedae, 0x91ab, 0x91ac, 0x91ad, 0x91ae,
    -    0x91af, 0xedaf, 0xc0c1, 0x91b0, 0xe3c1, 0x91b1, 0x91b2, 0x91b3,
    -    0x91b4, 0x91b5, 0x91b6, 0x91b7, 0x91b8, 0x91b9, 0x91ba, 0x91bb,
    -    0x91bc, 0x91bd, 0x91be, 0x91bf, 0x91c0, 0x91c1, 0xc5b3, 0x91c2,
    -    0x91c3, 0x91c4, 0x91c5, 0x91c6, 0x91c7, 0x91c8, 0x91c9, 0x91ca,
    -    0x91cb, 0x91cc, 0x91cd, 0x91ce, 0x91cf, 0xe3c2, 0x91d0, 0x91d1,
    -    0x91d2, 0x91d3, 0x91d4, 0x91d5, 0x91d6, 0x91d7, 0x91d8, 0xdcb2,
    -    /* 0x6200 .. 0x62ff */
    -    0x91d9, 0x91da, 0x91db, 0x91dc, 0x91dd, 0x91de, 0xedb0, 0x91df,
    -    0xb8ea, 0x91e0, 0xceec, 0xeaa7, 0xd0e7, 0xcaf9, 0xc8d6, 0xcfb7,
    -    0xb3c9, 0xced2, 0xbde4, 0x91e1, 0x91e2, 0xe3de, 0xbbf2, 0xeaa8,
    -    0xd5bd, 0x91e3, 0xc6dd, 0xeaa9, 0x91e4, 0x91e5, 0x91e6, 0xeaaa,
    -    0x91e7, 0xeaac, 0xeaab, 0x91e8, 0xeaae, 0xeaad, 0x91e9, 0x91ea,
    -    0x91eb, 0x91ec, 0xbdd8, 0x91ed, 0xeaaf, 0x91ee, 0xc2be, 0x91ef,
    -    0x91f0, 0x91f1, 0x91f2, 0xb4c1, 0xb4f7, 0x91f3, 0x91f4, 0xbba7,
    -    0x91f5, 0x91f6, 0x91f7, 0x91f8, 0x91f9, 0xece6, 0xece5, 0xb7bf,
    -    0xcbf9, 0xb1e2, 0x91fa, 0xece7, 0x91fb, 0x91fc, 0x91fd, 0xc9c8,
    -    0xece8, 0xece9, 0x91fe, 0xcad6, 0xded0, 0xb2c5, 0xd4fa, 0x9240,
    -    0x9241, 0xc6cb, 0xb0c7, 0xb4f2, 0xc8d3, 0x9242, 0x9243, 0x9244,
    -    0xcdd0, 0x9245, 0x9246, 0xbfb8, 0x9247, 0x9248, 0x9249, 0x924a,
    -    0x924b, 0x924c, 0x924d, 0xbfdb, 0x924e, 0x924f, 0xc7a4, 0xd6b4,
    -    0x9250, 0xc0a9, 0xded1, 0xc9a8, 0xd1ef, 0xc5a4, 0xb0e7, 0xb3b6,
    -    0xc8c5, 0x9251, 0x9252, 0xb0e2, 0x9253, 0x9254, 0xb7f6, 0x9255,
    -    0x9256, 0xc5fa, 0x9257, 0x9258, 0xb6f3, 0x9259, 0xd5d2, 0xb3d0,
    -    0xbcbc, 0x925a, 0x925b, 0x925c, 0xb3ad, 0x925d, 0x925e, 0x925f,
    -    0x9260, 0xbef1, 0xb0d1, 0x9261, 0x9262, 0x9263, 0x9264, 0x9265,
    -    0x9266, 0xd2d6, 0xcae3, 0xd7a5, 0x9267, 0xcdb6, 0xb6b6, 0xbfb9,
    -    0xd5db, 0x9268, 0xb8a7, 0xc5d7, 0x9269, 0x926a, 0x926b, 0xded2,
    -    0xbfd9, 0xc2d5, 0xc7c0, 0x926c, 0xbba4, 0xb1a8, 0x926d, 0x926e,
    -    0xc5ea, 0x926f, 0x9270, 0xc5fb, 0xcca7, 0x9271, 0x9272, 0x9273,
    -    0x9274, 0xb1a7, 0x9275, 0x9276, 0x9277, 0xb5d6, 0x9278, 0x9279,
    -    0x927a, 0xc4a8, 0x927b, 0xded3, 0xd1ba, 0xb3e9, 0x927c, 0xc3f2,
    -    0x927d, 0x927e, 0xb7f7, 0x9280, 0xd6f4, 0xb5a3, 0xb2f0, 0xc4b4,
    -    0xc4e9, 0xc0ad, 0xded4, 0x9281, 0xb0e8, 0xc5c4, 0xc1e0, 0x9282,
    -    0xb9d5, 0x9283, 0xbedc, 0xcdd8, 0xb0ce, 0x9284, 0xcdcf, 0xded6,
    -    0xbed0, 0xd7be, 0xded5, 0xd5d0, 0xb0dd, 0x9285, 0x9286, 0xc4e2,
    -    0x9287, 0x9288, 0xc2a3, 0xbcf0, 0x9289, 0xd3b5, 0xc0b9, 0xc5a1,
    -    0xb2a6, 0xd4f1, 0x928a, 0x928b, 0xc0a8, 0xcac3, 0xded7, 0xd5fc,
    -    0x928c, 0xb9b0, 0x928d, 0xc8ad, 0xcba9, 0x928e, 0xded9, 0xbfbd,
    -    0x928f, 0x9290, 0x9291, 0x9292, 0xc6b4, 0xd7a7, 0xcab0, 0xc4c3,
    -    /* 0x6300 .. 0x63ff */
    -    0x9293, 0xb3d6, 0xb9d2, 0x9294, 0x9295, 0x9296, 0x9297, 0xd6b8,
    -    0xeafc, 0xb0b4, 0x9298, 0x9299, 0x929a, 0x929b, 0xbfe6, 0x929c,
    -    0x929d, 0xccf4, 0x929e, 0x929f, 0x92a0, 0x92a1, 0xcdda, 0x92a2,
    -    0x92a3, 0x92a4, 0xd6bf, 0xc2ce, 0x92a5, 0xcece, 0xcca2, 0xd0ae,
    -    0xc4d3, 0xb5b2, 0xded8, 0xd5f5, 0xbcb7, 0xbbd3, 0x92a6, 0x92a7,
    -    0xb0a4, 0x92a8, 0xc5b2, 0xb4ec, 0x92a9, 0x92aa, 0x92ab, 0xd5f1,
    -    0x92ac, 0x92ad, 0xeafd, 0x92ae, 0x92af, 0x92b0, 0x92b1, 0x92b2,
    -    0x92b3, 0xdeda, 0xcda6, 0x92b4, 0x92b5, 0xcdec, 0x92b6, 0x92b7,
    -    0x92b8, 0x92b9, 0xcee6, 0xdedc, 0x92ba, 0xcdb1, 0xc0a6, 0x92bb,
    -    0x92bc, 0xd7bd, 0x92bd, 0xdedb, 0xb0c6, 0xbab4, 0xc9d3, 0xc4f3,
    -    0xbee8, 0x92be, 0x92bf, 0x92c0, 0x92c1, 0xb2b6, 0x92c2, 0x92c3,
    -    0x92c4, 0x92c5, 0x92c6, 0x92c7, 0x92c8, 0x92c9, 0xc0cc, 0xcbf0,
    -    0x92ca, 0xbcf1, 0xbbbb, 0xb5b7, 0x92cb, 0x92cc, 0x92cd, 0xc5f5,
    -    0x92ce, 0xdee6, 0x92cf, 0x92d0, 0x92d1, 0xdee3, 0xbedd, 0x92d2,
    -    0x92d3, 0xdedf, 0x92d4, 0x92d5, 0x92d6, 0x92d7, 0xb4b7, 0xbddd,
    -    0x92d8, 0x92d9, 0xdee0, 0xc4ed, 0x92da, 0x92db, 0x92dc, 0x92dd,
    -    0xcfc6, 0x92de, 0xb5e0, 0x92df, 0x92e0, 0x92e1, 0x92e2, 0xb6de,
    -    0xcada, 0xb5f4, 0xdee5, 0x92e3, 0xd5c6, 0x92e4, 0xdee1, 0xcccd,
    -    0xc6fe, 0x92e5, 0xc5c5, 0x92e6, 0x92e7, 0x92e8, 0xd2b4, 0x92e9,
    -    0xbef2, 0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0,
    -    0xc2d3, 0x92f1, 0xccbd, 0xb3b8, 0x92f2, 0xbdd3, 0x92f3, 0xbfd8,
    -    0xcdc6, 0xd1da, 0xb4eb, 0x92f4, 0xdee4, 0xdedd, 0xdee7, 0x92f5,
    -    0xeafe, 0x92f6, 0x92f7, 0xc2b0, 0xdee2, 0x92f8, 0x92f9, 0xd6c0,
    -    0xb5a7, 0x92fa, 0xb2f4, 0x92fb, 0xdee8, 0x92fc, 0xdef2, 0x92fd,
    -    0x92fe, 0x9340, 0x9341, 0x9342, 0xdeed, 0x9343, 0xdef1, 0x9344,
    -    0x9345, 0xc8e0, 0x9346, 0x9347, 0x9348, 0xd7e1, 0xdeef, 0xc3e8,
    -    0xcce1, 0x9349, 0xb2e5, 0x934a, 0x934b, 0x934c, 0xd2be, 0x934d,
    -    0x934e, 0x934f, 0x9350, 0x9351, 0x9352, 0x9353, 0xdeee, 0x9354,
    -    0xdeeb, 0xced5, 0x9355, 0xb4a7, 0x9356, 0x9357, 0x9358, 0x9359,
    -    0x935a, 0xbfab, 0xbebe, 0x935b, 0x935c, 0xbdd2, 0x935d, 0x935e,
    -    0x935f, 0x9360, 0xdee9, 0x9361, 0xd4ae, 0x9362, 0xdede, 0x9363,
    -    0xdeea, 0x9364, 0x9365, 0x9366, 0x9367, 0xc0bf, 0x9368, 0xdeec,
    -    /* 0x6400 .. 0x64ff */
    -    0xb2f3, 0xb8e9, 0xc2a7, 0x9369, 0x936a, 0xbdc1, 0x936b, 0x936c,
    -    0x936d, 0x936e, 0x936f, 0xdef5, 0xdef8, 0x9370, 0x9371, 0xb2ab,
    -    0xb4a4, 0x9372, 0x9373, 0xb4ea, 0xc9a6, 0x9374, 0x9375, 0x9376,
    -    0x9377, 0x9378, 0x9379, 0xdef6, 0xcbd1, 0x937a, 0xb8e3, 0x937b,
    -    0xdef7, 0xdefa, 0x937c, 0x937d, 0x937e, 0x9380, 0xdef9, 0x9381,
    -    0x9382, 0x9383, 0xccc2, 0x9384, 0xb0e1, 0xb4ee, 0x9385, 0x9386,
    -    0x9387, 0x9388, 0x9389, 0x938a, 0xe5ba, 0x938b, 0x938c, 0x938d,
    -    0x938e, 0x938f, 0xd0af, 0x9390, 0x9391, 0xb2eb, 0x9392, 0xeba1,
    -    0x9393, 0xdef4, 0x9394, 0x9395, 0xc9e3, 0xdef3, 0xb0da, 0xd2a1,
    -    0xb1f7, 0x9396, 0xccaf, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b,
    -    0x939c, 0x939d, 0xdef0, 0x939e, 0xcba4, 0x939f, 0x93a0, 0x93a1,
    -    0xd5aa, 0x93a2, 0x93a3, 0x93a4, 0x93a5, 0x93a6, 0xdefb, 0x93a7,
    -    0x93a8, 0x93a9, 0x93aa, 0x93ab, 0x93ac, 0x93ad, 0x93ae, 0xb4dd,
    -    0x93af, 0xc4a6, 0x93b0, 0x93b1, 0x93b2, 0xdefd, 0x93b3, 0x93b4,
    -    0x93b5, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba, 0x93bb, 0x93bc,
    -    0xc3fe, 0xc4a1, 0xdfa1, 0x93bd, 0x93be, 0x93bf, 0x93c0, 0x93c1,
    -    0x93c2, 0x93c3, 0xc1cc, 0x93c4, 0xdefc, 0xbeef, 0x93c5, 0xc6b2,
    -    0x93c6, 0x93c7, 0x93c8, 0x93c9, 0x93ca, 0x93cb, 0x93cc, 0x93cd,
    -    0x93ce, 0xb3c5, 0xc8f6, 0x93cf, 0x93d0, 0xcbba, 0xdefe, 0x93d1,
    -    0x93d2, 0xdfa4, 0x93d3, 0x93d4, 0x93d5, 0x93d6, 0xd7b2, 0x93d7,
    -    0x93d8, 0x93d9, 0x93da, 0x93db, 0xb3b7, 0x93dc, 0x93dd, 0x93de,
    -    0x93df, 0xc1c3, 0x93e0, 0x93e1, 0xc7cb, 0xb2a5, 0xb4e9, 0x93e2,
    -    0xd7ab, 0x93e3, 0x93e4, 0x93e5, 0x93e6, 0xc4ec, 0x93e7, 0xdfa2,
    -    0xdfa3, 0x93e8, 0xdfa5, 0x93e9, 0xbab3, 0x93ea, 0x93eb, 0x93ec,
    -    0xdfa6, 0x93ed, 0xc0de, 0x93ee, 0x93ef, 0xc9c3, 0x93f0, 0x93f1,
    -    0x93f2, 0x93f3, 0x93f4, 0x93f5, 0x93f6, 0xb2d9, 0xc7e6, 0x93f7,
    -    0xdfa7, 0x93f8, 0xc7dc, 0x93f9, 0x93fa, 0x93fb, 0x93fc, 0xdfa8,
    -    0xeba2, 0x93fd, 0x93fe, 0x9440, 0x9441, 0x9442, 0xcbd3, 0x9443,
    -    0x9444, 0x9445, 0xdfaa, 0x9446, 0xdfa9, 0x9447, 0xb2c1, 0x9448,
    -    0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e, 0x944f, 0x9450,
    -    0x9451, 0x9452, 0x9453, 0x9454, 0x9455, 0x9456, 0x9457, 0x9458,
    -    0x9459, 0x945a, 0x945b, 0x945c, 0x945d, 0x945e, 0x945f, 0x9460,
    -    /* 0x6500 .. 0x65ff */
    -    0xc5ca, 0x9461, 0x9462, 0x9463, 0x9464, 0x9465, 0x9466, 0x9467,
    -    0x9468, 0xdfab, 0x9469, 0x946a, 0x946b, 0x946c, 0x946d, 0x946e,
    -    0x946f, 0x9470, 0xd4dc, 0x9471, 0x9472, 0x9473, 0x9474, 0x9475,
    -    0xc8c1, 0x9476, 0x9477, 0x9478, 0x9479, 0x947a, 0x947b, 0x947c,
    -    0x947d, 0x947e, 0x9480, 0x9481, 0x9482, 0xdfac, 0x9483, 0x9484,
    -    0x9485, 0x9486, 0x9487, 0xbef0, 0x9488, 0x9489, 0xdfad, 0xd6a7,
    -    0x948a, 0x948b, 0x948c, 0x948d, 0xeab7, 0xebb6, 0xcad5, 0x948e,
    -    0xd8fc, 0xb8c4, 0x948f, 0xb9a5, 0x9490, 0x9491, 0xb7c5, 0xd5fe,
    -    0x9492, 0x9493, 0x9494, 0x9495, 0x9496, 0xb9ca, 0x9497, 0x9498,
    -    0xd0a7, 0xf4cd, 0x9499, 0x949a, 0xb5d0, 0x949b, 0x949c, 0xc3f4,
    -    0x949d, 0xbec8, 0x949e, 0x949f, 0x94a0, 0xebb7, 0xb0bd, 0x94a1,
    -    0x94a2, 0xbdcc, 0x94a3, 0xc1b2, 0x94a4, 0xb1d6, 0xb3a8, 0x94a5,
    -    0x94a6, 0x94a7, 0xb8d2, 0xc9a2, 0x94a8, 0x94a9, 0xb6d8, 0x94aa,
    -    0x94ab, 0x94ac, 0x94ad, 0xebb8, 0xbeb4, 0x94ae, 0x94af, 0x94b0,
    -    0xcafd, 0x94b1, 0xc7c3, 0x94b2, 0xd5fb, 0x94b3, 0x94b4, 0xb7f3,
    -    0x94b5, 0x94b6, 0x94b7, 0x94b8, 0x94b9, 0x94ba, 0x94bb, 0x94bc,
    -    0x94bd, 0x94be, 0x94bf, 0x94c0, 0x94c1, 0x94c2, 0x94c3, 0xcec4,
    -    0x94c4, 0x94c5, 0x94c6, 0xd5ab, 0xb1f3, 0x94c7, 0x94c8, 0x94c9,
    -    0xecb3, 0xb0df, 0x94ca, 0xecb5, 0x94cb, 0x94cc, 0x94cd, 0xb6b7,
    -    0x94ce, 0xc1cf, 0x94cf, 0xf5fa, 0xd0b1, 0x94d0, 0x94d1, 0xd5e5,
    -    0x94d2, 0xced3, 0x94d3, 0x94d4, 0xbdef, 0xb3e2, 0x94d5, 0xb8ab,
    -    0x94d6, 0xd5b6, 0x94d7, 0xedbd, 0x94d8, 0xb6cf, 0x94d9, 0xcbb9,
    -    0xd0c2, 0x94da, 0x94db, 0x94dc, 0x94dd, 0x94de, 0x94df, 0x94e0,
    -    0x94e1, 0xb7bd, 0x94e2, 0x94e3, 0xecb6, 0xcaa9, 0x94e4, 0x94e5,
    -    0x94e6, 0xc5d4, 0x94e7, 0xecb9, 0xecb8, 0xc2c3, 0xecb7, 0x94e8,
    -    0x94e9, 0x94ea, 0x94eb, 0xd0fd, 0xecba, 0x94ec, 0xecbb, 0xd7e5,
    -    0x94ed, 0x94ee, 0xecbc, 0x94ef, 0x94f0, 0x94f1, 0xecbd, 0xc6ec,
    -    0x94f2, 0x94f3, 0x94f4, 0x94f5, 0x94f6, 0x94f7, 0x94f8, 0x94f9,
    -    0xcede, 0x94fa, 0xbcc8, 0x94fb, 0x94fc, 0xc8d5, 0xb5a9, 0xbec9,
    -    0xd6bc, 0xd4e7, 0x94fd, 0x94fe, 0xd1ae, 0xd0f1, 0xeab8, 0xeab9,
    -    0xeaba, 0xbab5, 0x9540, 0x9541, 0x9542, 0x9543, 0xcab1, 0xbff5,
    -    0x9544, 0x9545, 0xcdfa, 0x9546, 0x9547, 0x9548, 0x9549, 0x954a,
    -    /* 0x6600 .. 0x66ff */
    -    0xeac0, 0x954b, 0xb0ba, 0xeabe, 0x954c, 0x954d, 0xc0a5, 0x954e,
    -    0x954f, 0x9550, 0xeabb, 0x9551, 0xb2fd, 0x9552, 0xc3f7, 0xbbe8,
    -    0x9553, 0x9554, 0x9555, 0xd2d7, 0xcef4, 0xeabf, 0x9556, 0x9557,
    -    0x9558, 0xeabc, 0x9559, 0x955a, 0x955b, 0xeac3, 0x955c, 0xd0c7,
    -    0xd3b3, 0x955d, 0x955e, 0x955f, 0x9560, 0xb4ba, 0x9561, 0xc3c1,
    -    0xd7f2, 0x9562, 0x9563, 0x9564, 0x9565, 0xd5d1, 0x9566, 0xcac7,
    -    0x9567, 0xeac5, 0x9568, 0x9569, 0xeac4, 0xeac7, 0xeac6, 0x956a,
    -    0x956b, 0x956c, 0x956d, 0x956e, 0xd6e7, 0x956f, 0xcfd4, 0x9570,
    -    0x9571, 0xeacb, 0x9572, 0xbbce, 0x9573, 0x9574, 0x9575, 0x9576,
    -    0x9577, 0x9578, 0x9579, 0xbdfa, 0xc9ce, 0x957a, 0x957b, 0xeacc,
    -    0x957c, 0x957d, 0xc9b9, 0xcffe, 0xeaca, 0xd4ce, 0xeacd, 0xeacf,
    -    0x957e, 0x9580, 0xcded, 0x9581, 0x9582, 0x9583, 0x9584, 0xeac9,
    -    0x9585, 0xeace, 0x9586, 0x9587, 0xceee, 0x9588, 0xbbde, 0x9589,
    -    0xb3bf, 0x958a, 0x958b, 0x958c, 0x958d, 0x958e, 0xc6d5, 0xbeb0,
    -    0xcefa, 0x958f, 0x9590, 0x9591, 0xc7e7, 0x9592, 0xbea7, 0xead0,
    -    0x9593, 0x9594, 0xd6c7, 0x9595, 0x9596, 0x9597, 0xc1c0, 0x9598,
    -    0x9599, 0x959a, 0xd4dd, 0x959b, 0xead1, 0x959c, 0x959d, 0xcfbe,
    -    0x959e, 0x959f, 0x95a0, 0x95a1, 0xead2, 0x95a2, 0x95a3, 0x95a4,
    -    0x95a5, 0xcaee, 0x95a6, 0x95a7, 0x95a8, 0x95a9, 0xc5af, 0xb0b5,
    -    0x95aa, 0x95ab, 0x95ac, 0x95ad, 0x95ae, 0xead4, 0x95af, 0x95b0,
    -    0x95b1, 0x95b2, 0x95b3, 0x95b4, 0x95b5, 0x95b6, 0x95b7, 0xead3,
    -    0xf4df, 0x95b8, 0x95b9, 0x95ba, 0x95bb, 0x95bc, 0xc4ba, 0x95bd,
    -    0x95be, 0x95bf, 0x95c0, 0x95c1, 0xb1a9, 0x95c2, 0x95c3, 0x95c4,
    -    0x95c5, 0xe5df, 0x95c6, 0x95c7, 0x95c8, 0x95c9, 0xead5, 0x95ca,
    -    0x95cb, 0x95cc, 0x95cd, 0x95ce, 0x95cf, 0x95d0, 0x95d1, 0x95d2,
    -    0x95d3, 0x95d4, 0x95d5, 0x95d6, 0x95d7, 0x95d8, 0x95d9, 0x95da,
    -    0x95db, 0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1, 0x95e2,
    -    0x95e3, 0xcaef, 0x95e4, 0xead6, 0xead7, 0xc6d8, 0x95e5, 0x95e6,
    -    0x95e7, 0x95e8, 0x95e9, 0x95ea, 0x95eb, 0x95ec, 0xead8, 0x95ed,
    -    0x95ee, 0xead9, 0x95ef, 0x95f0, 0x95f1, 0x95f2, 0x95f3, 0x95f4,
    -    0xd4bb, 0x95f5, 0xc7fa, 0xd2b7, 0xb8fc, 0x95f6, 0x95f7, 0xeac2,
    -    0x95f8, 0xb2dc, 0x95f9, 0x95fa, 0xc2fc, 0x95fb, 0xd4f8, 0xcce6,
    -    /* 0x6700 .. 0x67ff */
    -    0xd7ee, 0x95fc, 0x95fd, 0x95fe, 0x9640, 0x9641, 0x9642, 0x9643,
    -    0xd4c2, 0xd3d0, 0xebc3, 0xc5f3, 0x9644, 0xb7fe, 0x9645, 0x9646,
    -    0xebd4, 0x9647, 0x9648, 0x9649, 0xcbb7, 0xebde, 0x964a, 0xc0ca,
    -    0x964b, 0x964c, 0x964d, 0xcdfb, 0x964e, 0xb3af, 0x964f, 0xc6da,
    -    0x9650, 0x9651, 0x9652, 0x9653, 0x9654, 0x9655, 0xebfc, 0x9656,
    -    0xc4be, 0x9657, 0xceb4, 0xc4a9, 0xb1be, 0xd4fd, 0x9658, 0xcaf5,
    -    0x9659, 0xd6ec, 0x965a, 0x965b, 0xc6d3, 0xb6e4, 0x965c, 0x965d,
    -    0x965e, 0x965f, 0xbbfa, 0x9660, 0x9661, 0xd0e0, 0x9662, 0x9663,
    -    0xc9b1, 0x9664, 0xd4d3, 0xc8a8, 0x9665, 0x9666, 0xb8cb, 0x9667,
    -    0xe8be, 0xc9bc, 0x9668, 0x9669, 0xe8bb, 0x966a, 0xc0ee, 0xd0d3,
    -    0xb2c4, 0xb4e5, 0x966b, 0xe8bc, 0x966c, 0x966d, 0xd5c8, 0x966e,
    -    0x966f, 0x9670, 0x9671, 0x9672, 0xb6c5, 0x9673, 0xe8bd, 0xcaf8,
    -    0xb8dc, 0xccf5, 0x9674, 0x9675, 0x9676, 0xc0b4, 0x9677, 0x9678,
    -    0xd1ee, 0xe8bf, 0xe8c2, 0x9679, 0x967a, 0xbabc, 0x967b, 0xb1ad,
    -    0xbddc, 0x967c, 0xeabd, 0xe8c3, 0x967d, 0xe8c6, 0x967e, 0xe8cb,
    -    0x9680, 0x9681, 0x9682, 0x9683, 0xe8cc, 0x9684, 0xcbc9, 0xb0e5,
    -    0x9685, 0xbcab, 0x9686, 0x9687, 0xb9b9, 0x9688, 0x9689, 0xe8c1,
    -    0x968a, 0xcdf7, 0x968b, 0xe8ca, 0x968c, 0x968d, 0x968e, 0x968f,
    -    0xcef6, 0x9690, 0x9691, 0x9692, 0x9693, 0xd5ed, 0x9694, 0xc1d6,
    -    0xe8c4, 0x9695, 0xc3b6, 0x9696, 0xb9fb, 0xd6a6, 0xe8c8, 0x9697,
    -    0x9698, 0x9699, 0xcae0, 0xd4e6, 0x969a, 0xe8c0, 0x969b, 0xe8c5,
    -    0xe8c7, 0x969c, 0xc7b9, 0xb7e3, 0x969d, 0xe8c9, 0x969e, 0xbfdd,
    -    0xe8d2, 0x969f, 0x96a0, 0xe8d7, 0x96a1, 0xe8d5, 0xbcdc, 0xbccf,
    -    0xe8db, 0x96a2, 0x96a3, 0x96a4, 0x96a5, 0x96a6, 0x96a7, 0x96a8,
    -    0x96a9, 0xe8de, 0x96aa, 0xe8da, 0xb1fa, 0x96ab, 0x96ac, 0x96ad,
    -    0x96ae, 0x96af, 0x96b0, 0x96b1, 0x96b2, 0x96b3, 0x96b4, 0xb0d8,
    -    0xc4b3, 0xb8cc, 0xc6e2, 0xc8be, 0xc8e1, 0x96b5, 0x96b6, 0x96b7,
    -    0xe8cf, 0xe8d4, 0xe8d6, 0x96b8, 0xb9f1, 0xe8d8, 0xd7f5, 0x96b9,
    -    0xc4fb, 0x96ba, 0xe8dc, 0x96bb, 0x96bc, 0xb2e9, 0x96bd, 0x96be,
    -    0x96bf, 0xe8d1, 0x96c0, 0x96c1, 0xbced, 0x96c2, 0x96c3, 0xbfc2,
    -    0xe8cd, 0xd6f9, 0x96c4, 0xc1f8, 0xb2f1, 0x96c5, 0x96c6, 0x96c7,
    -    0x96c8, 0x96c9, 0x96ca, 0x96cb, 0x96cc, 0xe8df, 0x96cd, 0xcac1,
    -    /* 0x6800 .. 0x68ff */
    -    0xe8d9, 0x96ce, 0x96cf, 0x96d0, 0x96d1, 0xd5a4, 0x96d2, 0xb1ea,
    -    0xd5bb, 0xe8ce, 0xe8d0, 0xb6b0, 0xe8d3, 0x96d3, 0xe8dd, 0xc0b8,
    -    0x96d4, 0xcaf7, 0x96d5, 0xcba8, 0x96d6, 0x96d7, 0xc6dc, 0xc0f5,
    -    0x96d8, 0x96d9, 0x96da, 0x96db, 0x96dc, 0xe8e9, 0x96dd, 0x96de,
    -    0x96df, 0xd0a3, 0x96e0, 0x96e1, 0x96e2, 0x96e3, 0x96e4, 0x96e5,
    -    0x96e6, 0xe8f2, 0xd6ea, 0x96e7, 0x96e8, 0x96e9, 0x96ea, 0x96eb,
    -    0x96ec, 0x96ed, 0xe8e0, 0xe8e1, 0x96ee, 0x96ef, 0x96f0, 0xd1f9,
    -    0xbacb, 0xb8f9, 0x96f1, 0x96f2, 0xb8f1, 0xd4d4, 0xe8ef, 0x96f3,
    -    0xe8ee, 0xe8ec, 0xb9f0, 0xccd2, 0xe8e6, 0xcea6, 0xbff2, 0x96f4,
    -    0xb0b8, 0xe8f1, 0xe8f0, 0x96f5, 0xd7c0, 0x96f6, 0xe8e4, 0x96f7,
    -    0xcda9, 0xc9a3, 0x96f8, 0xbbb8, 0xbddb, 0xe8ea, 0x96f9, 0x96fa,
    -    0x96fb, 0x96fc, 0x96fd, 0x96fe, 0x9740, 0x9741, 0x9742, 0x9743,
    -    0xe8e2, 0xe8e3, 0xe8e5, 0xb5b5, 0xe8e7, 0xc7c5, 0xe8eb, 0xe8ed,
    -    0xbdb0, 0xd7ae, 0x9744, 0xe8f8, 0x9745, 0x9746, 0x9747, 0x9748,
    -    0x9749, 0x974a, 0x974b, 0x974c, 0xe8f5, 0x974d, 0xcdb0, 0xe8f6,
    -    0x974e, 0x974f, 0x9750, 0x9751, 0x9752, 0x9753, 0x9754, 0x9755,
    -    0x9756, 0xc1ba, 0x9757, 0xe8e8, 0x9758, 0xc3b7, 0xb0f0, 0x9759,
    -    0x975a, 0x975b, 0x975c, 0x975d, 0x975e, 0x975f, 0x9760, 0xe8f4,
    -    0x9761, 0x9762, 0x9763, 0xe8f7, 0x9764, 0x9765, 0x9766, 0xb9a3,
    -    0x9767, 0x9768, 0x9769, 0x976a, 0x976b, 0x976c, 0x976d, 0x976e,
    -    0x976f, 0x9770, 0xc9d2, 0x9771, 0x9772, 0x9773, 0xc3ce, 0xcee0,
    -    0xc0e6, 0x9774, 0x9775, 0x9776, 0x9777, 0xcbf3, 0x9778, 0xccdd,
    -    0xd0b5, 0x9779, 0x977a, 0xcae1, 0x977b, 0xe8f3, 0x977c, 0x977d,
    -    0x977e, 0x9780, 0x9781, 0x9782, 0x9783, 0x9784, 0x9785, 0x9786,
    -    0xbcec, 0x9787, 0xe8f9, 0x9788, 0x9789, 0x978a, 0x978b, 0x978c,
    -    0x978d, 0xc3de, 0x978e, 0xc6e5, 0x978f, 0xb9f7, 0x9790, 0x9791,
    -    0x9792, 0x9793, 0xb0f4, 0x9794, 0x9795, 0xd7d8, 0x9796, 0x9797,
    -    0xbcac, 0x9798, 0xc5ef, 0x9799, 0x979a, 0x979b, 0x979c, 0x979d,
    -    0xccc4, 0x979e, 0x979f, 0xe9a6, 0x97a0, 0x97a1, 0x97a2, 0x97a3,
    -    0x97a4, 0x97a5, 0x97a6, 0x97a7, 0x97a8, 0x97a9, 0xc9ad, 0x97aa,
    -    0xe9a2, 0xc0e2, 0x97ab, 0x97ac, 0x97ad, 0xbfc3, 0x97ae, 0x97af,
    -    0x97b0, 0xe8fe, 0xb9d7, 0x97b1, 0xe8fb, 0x97b2, 0x97b3, 0x97b4,
    -    /* 0x6900 .. 0x69ff */
    -    0x97b5, 0xe9a4, 0x97b6, 0x97b7, 0x97b8, 0xd2ce, 0x97b9, 0x97ba,
    -    0x97bb, 0x97bc, 0x97bd, 0xe9a3, 0x97be, 0xd6b2, 0xd7b5, 0x97bf,
    -    0xe9a7, 0x97c0, 0xbdb7, 0x97c1, 0x97c2, 0x97c3, 0x97c4, 0x97c5,
    -    0x97c6, 0x97c7, 0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc, 0xe8fc,
    -    0xe8fd, 0x97cd, 0x97ce, 0x97cf, 0xe9a1, 0x97d0, 0x97d1, 0x97d2,
    -    0x97d3, 0x97d4, 0x97d5, 0x97d6, 0x97d7, 0xcdd6, 0x97d8, 0x97d9,
    -    0xd2ac, 0x97da, 0x97db, 0x97dc, 0xe9b2, 0x97dd, 0x97de, 0x97df,
    -    0x97e0, 0xe9a9, 0x97e1, 0x97e2, 0x97e3, 0xb4aa, 0x97e4, 0xb4bb,
    -    0x97e5, 0x97e6, 0xe9ab, 0x97e7, 0x97e8, 0x97e9, 0x97ea, 0x97eb,
    -    0x97ec, 0x97ed, 0x97ee, 0x97ef, 0x97f0, 0x97f1, 0x97f2, 0x97f3,
    -    0x97f4, 0x97f5, 0x97f6, 0x97f7, 0xd0a8, 0x97f8, 0x97f9, 0xe9a5,
    -    0x97fa, 0x97fb, 0xb3fe, 0x97fc, 0x97fd, 0xe9ac, 0xc0e3, 0x97fe,
    -    0xe9aa, 0x9840, 0x9841, 0xe9b9, 0x9842, 0x9843, 0xe9b8, 0x9844,
    -    0x9845, 0x9846, 0x9847, 0xe9ae, 0x9848, 0x9849, 0xe8fa, 0x984a,
    -    0x984b, 0xe9a8, 0x984c, 0x984d, 0x984e, 0x984f, 0x9850, 0xbfac,
    -    0xe9b1, 0xe9ba, 0x9851, 0x9852, 0xc2a5, 0x9853, 0x9854, 0x9855,
    -    0xe9af, 0x9856, 0xb8c5, 0x9857, 0xe9ad, 0x9858, 0xd3dc, 0xe9b4,
    -    0xe9b5, 0xe9b7, 0x9859, 0x985a, 0x985b, 0xe9c7, 0x985c, 0x985d,
    -    0x985e, 0x985f, 0x9860, 0x9861, 0xc0c6, 0xe9c5, 0x9862, 0x9863,
    -    0xe9b0, 0x9864, 0x9865, 0xe9bb, 0xb0f1, 0x9866, 0x9867, 0x9868,
    -    0x9869, 0x986a, 0x986b, 0x986c, 0x986d, 0x986e, 0x986f, 0xe9bc,
    -    0xd5a5, 0x9870, 0x9871, 0xe9be, 0x9872, 0xe9bf, 0x9873, 0x9874,
    -    0x9875, 0xe9c1, 0x9876, 0x9877, 0xc1f1, 0x9878, 0x9879, 0xc8b6,
    -    0x987a, 0x987b, 0x987c, 0xe9bd, 0x987d, 0x987e, 0x9880, 0x9881,
    -    0x9882, 0xe9c2, 0x9883, 0x9884, 0x9885, 0x9886, 0x9887, 0x9888,
    -    0x9889, 0x988a, 0xe9c3, 0x988b, 0xe9b3, 0x988c, 0xe9b6, 0x988d,
    -    0xbbb1, 0x988e, 0x988f, 0x9890, 0xe9c0, 0x9891, 0x9892, 0x9893,
    -    0x9894, 0x9895, 0x9896, 0xbcf7, 0x9897, 0x9898, 0x9899, 0xe9c4,
    -    0xe9c6, 0x989a, 0x989b, 0x989c, 0x989d, 0x989e, 0x989f, 0x98a0,
    -    0x98a1, 0x98a2, 0x98a3, 0x98a4, 0x98a5, 0xe9ca, 0x98a6, 0x98a7,
    -    0x98a8, 0x98a9, 0xe9ce, 0x98aa, 0x98ab, 0x98ac, 0x98ad, 0x98ae,
    -    0x98af, 0x98b0, 0x98b1, 0x98b2, 0x98b3, 0xb2db, 0x98b4, 0xe9c8,
    -    /* 0x6a00 .. 0x6aff */
    -    0x98b5, 0x98b6, 0x98b7, 0x98b8, 0x98b9, 0x98ba, 0x98bb, 0x98bc,
    -    0x98bd, 0x98be, 0xb7ae, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3,
    -    0x98c4, 0x98c5, 0x98c6, 0x98c7, 0x98c8, 0x98c9, 0x98ca, 0xe9cb,
    -    0xe9cc, 0x98cb, 0x98cc, 0x98cd, 0x98ce, 0x98cf, 0x98d0, 0xd5c1,
    -    0x98d1, 0xc4a3, 0x98d2, 0x98d3, 0x98d4, 0x98d5, 0x98d6, 0x98d7,
    -    0xe9d8, 0x98d8, 0xbae1, 0x98d9, 0x98da, 0x98db, 0x98dc, 0xe9c9,
    -    0x98dd, 0xd3a3, 0x98de, 0x98df, 0x98e0, 0xe9d4, 0x98e1, 0x98e2,
    -    0x98e3, 0x98e4, 0x98e5, 0x98e6, 0x98e7, 0xe9d7, 0xe9d0, 0x98e8,
    -    0x98e9, 0x98ea, 0x98eb, 0x98ec, 0xe9cf, 0x98ed, 0x98ee, 0xc7c1,
    -    0x98ef, 0x98f0, 0x98f1, 0x98f2, 0x98f3, 0x98f4, 0x98f5, 0x98f6,
    -    0xe9d2, 0x98f7, 0x98f8, 0x98f9, 0x98fa, 0x98fb, 0x98fc, 0x98fd,
    -    0xe9d9, 0xb3c8, 0x98fe, 0xe9d3, 0x9940, 0x9941, 0x9942, 0x9943,
    -    0x9944, 0xcff0, 0x9945, 0x9946, 0x9947, 0xe9cd, 0x9948, 0x9949,
    -    0x994a, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,
    -    0x9952, 0xb3f7, 0x9953, 0x9954, 0x9955, 0x9956, 0x9957, 0x9958,
    -    0x9959, 0xe9d6, 0x995a, 0x995b, 0xe9da, 0x995c, 0x995d, 0x995e,
    -    0xccb4, 0x995f, 0x9960, 0x9961, 0xcfad, 0x9962, 0x9963, 0x9964,
    -    0x9965, 0x9966, 0x9967, 0x9968, 0x9969, 0x996a, 0xe9d5, 0x996b,
    -    0xe9dc, 0xe9db, 0x996c, 0x996d, 0x996e, 0x996f, 0x9970, 0xe9de,
    -    0x9971, 0x9972, 0x9973, 0x9974, 0x9975, 0x9976, 0x9977, 0x9978,
    -    0xe9d1, 0x9979, 0x997a, 0x997b, 0x997c, 0x997d, 0x997e, 0x9980,
    -    0x9981, 0xe9dd, 0x9982, 0xe9df, 0xc3ca, 0x9983, 0x9984, 0x9985,
    -    0x9986, 0x9987, 0x9988, 0x9989, 0x998a, 0x998b, 0x998c, 0x998d,
    -    0x998e, 0x998f, 0x9990, 0x9991, 0x9992, 0x9993, 0x9994, 0x9995,
    -    0x9996, 0x9997, 0x9998, 0x9999, 0x999a, 0x999b, 0x999c, 0x999d,
    -    0x999e, 0x999f, 0x99a0, 0x99a1, 0x99a2, 0x99a3, 0x99a4, 0x99a5,
    -    0x99a6, 0x99a7, 0x99a8, 0x99a9, 0x99aa, 0x99ab, 0x99ac, 0x99ad,
    -    0x99ae, 0x99af, 0x99b0, 0x99b1, 0x99b2, 0x99b3, 0x99b4, 0x99b5,
    -    0x99b6, 0x99b7, 0x99b8, 0x99b9, 0x99ba, 0x99bb, 0x99bc, 0x99bd,
    -    0x99be, 0x99bf, 0x99c0, 0x99c1, 0x99c2, 0x99c3, 0x99c4, 0x99c5,
    -    0x99c6, 0x99c7, 0x99c8, 0x99c9, 0x99ca, 0x99cb, 0x99cc, 0x99cd,
    -    0x99ce, 0x99cf, 0x99d0, 0x99d1, 0x99d2, 0x99d3, 0x99d4, 0x99d5,
    -    /* 0x6b00 .. 0x6bff */
    -    0x99d6, 0x99d7, 0x99d8, 0x99d9, 0x99da, 0x99db, 0x99dc, 0x99dd,
    -    0x99de, 0x99df, 0x99e0, 0x99e1, 0x99e2, 0x99e3, 0x99e4, 0x99e5,
    -    0x99e6, 0x99e7, 0x99e8, 0x99e9, 0x99ea, 0x99eb, 0x99ec, 0x99ed,
    -    0x99ee, 0x99ef, 0x99f0, 0x99f1, 0x99f2, 0x99f3, 0x99f4, 0x99f5,
    -    0xc7b7, 0xb4ce, 0xbbb6, 0xd0c0, 0xeca3, 0x99f6, 0x99f7, 0xc5b7,
    -    0x99f8, 0x99f9, 0x99fa, 0x99fb, 0x99fc, 0x99fd, 0x99fe, 0x9a40,
    -    0x9a41, 0x9a42, 0xd3fb, 0x9a43, 0x9a44, 0x9a45, 0x9a46, 0xeca4,
    -    0x9a47, 0xeca5, 0xc6db, 0x9a48, 0x9a49, 0x9a4a, 0xbfee, 0x9a4b,
    -    0x9a4c, 0x9a4d, 0x9a4e, 0xeca6, 0x9a4f, 0x9a50, 0xeca7, 0xd0aa,
    -    0x9a51, 0xc7b8, 0x9a52, 0x9a53, 0xb8e8, 0x9a54, 0x9a55, 0x9a56,
    -    0x9a57, 0x9a58, 0x9a59, 0x9a5a, 0x9a5b, 0x9a5c, 0x9a5d, 0x9a5e,
    -    0x9a5f, 0xeca8, 0x9a60, 0x9a61, 0x9a62, 0x9a63, 0x9a64, 0x9a65,
    -    0x9a66, 0x9a67, 0xd6b9, 0xd5fd, 0xb4cb, 0xb2bd, 0xcee4, 0xc6e7,
    -    0x9a68, 0x9a69, 0xcde1, 0x9a6a, 0x9a6b, 0x9a6c, 0x9a6d, 0x9a6e,
    -    0x9a6f, 0x9a70, 0x9a71, 0x9a72, 0x9a73, 0x9a74, 0x9a75, 0x9a76,
    -    0x9a77, 0xb4f5, 0x9a78, 0xcbc0, 0xbcdf, 0x9a79, 0x9a7a, 0x9a7b,
    -    0x9a7c, 0xe9e2, 0xe9e3, 0xd1ea, 0xe9e5, 0x9a7d, 0xb4f9, 0xe9e4,
    -    0x9a7e, 0xd1b3, 0xcae2, 0xb2d0, 0x9a80, 0xe9e8, 0x9a81, 0x9a82,
    -    0x9a83, 0x9a84, 0xe9e6, 0xe9e7, 0x9a85, 0x9a86, 0xd6b3, 0x9a87,
    -    0x9a88, 0x9a89, 0xe9e9, 0xe9ea, 0x9a8a, 0x9a8b, 0x9a8c, 0x9a8d,
    -    0x9a8e, 0xe9eb, 0x9a8f, 0x9a90, 0x9a91, 0x9a92, 0x9a93, 0x9a94,
    -    0x9a95, 0x9a96, 0xe9ec, 0x9a97, 0x9a98, 0x9a99, 0x9a9a, 0x9a9b,
    -    0x9a9c, 0x9a9d, 0x9a9e, 0xecaf, 0xc5b9, 0xb6ce, 0x9a9f, 0xd2f3,
    -    0x9aa0, 0x9aa1, 0x9aa2, 0x9aa3, 0x9aa4, 0x9aa5, 0x9aa6, 0xb5ee,
    -    0x9aa7, 0xbbd9, 0xecb1, 0x9aa8, 0x9aa9, 0xd2e3, 0x9aaa, 0x9aab,
    -    0x9aac, 0x9aad, 0x9aae, 0xcee3, 0x9aaf, 0xc4b8, 0x9ab0, 0xc3bf,
    -    0x9ab1, 0x9ab2, 0xb6be, 0xd8b9, 0xb1c8, 0xb1cf, 0xb1d1, 0xc5fe,
    -    0x9ab3, 0xb1d0, 0x9ab4, 0xc3ab, 0x9ab5, 0x9ab6, 0x9ab7, 0x9ab8,
    -    0x9ab9, 0xd5b1, 0x9aba, 0x9abb, 0x9abc, 0x9abd, 0x9abe, 0x9abf,
    -    0x9ac0, 0x9ac1, 0xeba4, 0xbac1, 0x9ac2, 0x9ac3, 0x9ac4, 0xccba,
    -    0x9ac5, 0x9ac6, 0x9ac7, 0xeba5, 0x9ac8, 0xeba7, 0x9ac9, 0x9aca,
    -    0x9acb, 0xeba8, 0x9acc, 0x9acd, 0x9ace, 0xeba6, 0x9acf, 0x9ad0,
    -    /* 0x6c00 .. 0x6cff */
    -    0x9ad1, 0x9ad2, 0x9ad3, 0x9ad4, 0x9ad5, 0xeba9, 0xebab, 0xebaa,
    -    0x9ad6, 0x9ad7, 0x9ad8, 0x9ad9, 0x9ada, 0xebac, 0x9adb, 0xcacf,
    -    0xd8b5, 0xc3f1, 0x9adc, 0xc3a5, 0xc6f8, 0xebad, 0xc4ca, 0x9add,
    -    0xebae, 0xebaf, 0xebb0, 0xb7d5, 0x9ade, 0x9adf, 0x9ae0, 0xb7fa,
    -    0x9ae1, 0xebb1, 0xc7e2, 0x9ae2, 0xebb3, 0x9ae3, 0xbaa4, 0xd1f5,
    -    0xb0b1, 0xebb2, 0xebb4, 0x9ae4, 0x9ae5, 0x9ae6, 0xb5aa, 0xc2c8,
    -    0xc7e8, 0x9ae7, 0xebb5, 0x9ae8, 0xcbae, 0xe3df, 0x9ae9, 0x9aea,
    -    0xd3c0, 0x9aeb, 0x9aec, 0x9aed, 0x9aee, 0xd9db, 0x9aef, 0x9af0,
    -    0xcda1, 0xd6ad, 0xc7f3, 0x9af1, 0x9af2, 0x9af3, 0xd9e0, 0xbbe3,
    -    0x9af4, 0xbaba, 0xe3e2, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9af9,
    -    0xcfab, 0x9afa, 0x9afb, 0x9afc, 0xe3e0, 0xc9c7, 0x9afd, 0xbab9,
    -    0x9afe, 0x9b40, 0x9b41, 0xd1b4, 0xe3e1, 0xc8ea, 0xb9af, 0xbdad,
    -    0xb3d8, 0xcedb, 0x9b42, 0x9b43, 0xccc0, 0x9b44, 0x9b45, 0x9b46,
    -    0xe3e8, 0xe3e9, 0xcdf4, 0x9b47, 0x9b48, 0x9b49, 0x9b4a, 0x9b4b,
    -    0xccad, 0x9b4c, 0xbcb3, 0x9b4d, 0xe3ea, 0x9b4e, 0xe3eb, 0x9b4f,
    -    0x9b50, 0xd0da, 0x9b51, 0x9b52, 0x9b53, 0xc6fb, 0xb7da, 0x9b54,
    -    0x9b55, 0xc7df, 0xd2ca, 0xced6, 0x9b56, 0xe3e4, 0xe3ec, 0x9b57,
    -    0xc9f2, 0xb3c1, 0x9b58, 0x9b59, 0xe3e7, 0x9b5a, 0x9b5b, 0xc6e3,
    -    0xe3e5, 0x9b5c, 0x9b5d, 0xedb3, 0xe3e6, 0x9b5e, 0x9b5f, 0x9b60,
    -    0x9b61, 0xc9b3, 0x9b62, 0xc5e6, 0x9b63, 0x9b64, 0x9b65, 0xb9b5,
    -    0x9b66, 0xc3bb, 0x9b67, 0xe3e3, 0xc5bd, 0xc1a4, 0xc2d9, 0xb2d7,
    -    0x9b68, 0xe3ed, 0xbba6, 0xc4ad, 0x9b69, 0xe3f0, 0xbeda, 0x9b6a,
    -    0x9b6b, 0xe3fb, 0xe3f5, 0xbad3, 0x9b6c, 0x9b6d, 0x9b6e, 0x9b6f,
    -    0xb7d0, 0xd3cd, 0x9b70, 0xd6ce, 0xd5d3, 0xb9c1, 0xd5b4, 0xd1d8,
    -    0x9b71, 0x9b72, 0x9b73, 0x9b74, 0xd0b9, 0xc7f6, 0x9b75, 0x9b76,
    -    0x9b77, 0xc8aa, 0xb2b4, 0x9b78, 0xc3da, 0x9b79, 0x9b7a, 0x9b7b,
    -    0xe3ee, 0x9b7c, 0x9b7d, 0xe3fc, 0xe3ef, 0xb7a8, 0xe3f7, 0xe3f4,
    -    0x9b7e, 0x9b80, 0x9b81, 0xb7ba, 0x9b82, 0x9b83, 0xc5a2, 0x9b84,
    -    0xe3f6, 0xc5dd, 0xb2a8, 0xc6fc, 0x9b85, 0xc4e0, 0x9b86, 0x9b87,
    -    0xd7a2, 0x9b88, 0xc0e1, 0xe3f9, 0x9b89, 0x9b8a, 0xe3fa, 0xe3fd,
    -    0xcca9, 0xe3f3, 0x9b8b, 0xd3be, 0x9b8c, 0xb1c3, 0xedb4, 0xe3f1,
    -    0xe3f2, 0x9b8d, 0xe3f8, 0xd0ba, 0xc6c3, 0xd4f3, 0xe3fe, 0x9b8e,
    -    /* 0x6d00 .. 0x6dff */
    -    0x9b8f, 0xbde0, 0x9b90, 0x9b91, 0xe4a7, 0x9b92, 0x9b93, 0xe4a6,
    -    0x9b94, 0x9b95, 0x9b96, 0xd1f3, 0xe4a3, 0x9b97, 0xe4a9, 0x9b98,
    -    0x9b99, 0x9b9a, 0xc8f7, 0x9b9b, 0x9b9c, 0x9b9d, 0x9b9e, 0xcfb4,
    -    0x9b9f, 0xe4a8, 0xe4ae, 0xc2e5, 0x9ba0, 0x9ba1, 0xb6b4, 0x9ba2,
    -    0x9ba3, 0x9ba4, 0x9ba5, 0x9ba6, 0x9ba7, 0xbdf2, 0x9ba8, 0xe4a2,
    -    0x9ba9, 0x9baa, 0xbae9, 0xe4aa, 0x9bab, 0x9bac, 0xe4ac, 0x9bad,
    -    0x9bae, 0xb6fd, 0xd6de, 0xe4b2, 0x9baf, 0xe4ad, 0x9bb0, 0x9bb1,
    -    0x9bb2, 0xe4a1, 0x9bb3, 0xbbee, 0xcddd, 0xc7a2, 0xc5c9, 0x9bb4,
    -    0x9bb5, 0xc1f7, 0x9bb6, 0xe4a4, 0x9bb7, 0xc7b3, 0xbdac, 0xbdbd,
    -    0xe4a5, 0x9bb8, 0xd7c7, 0xb2e2, 0x9bb9, 0xe4ab, 0xbcc3, 0xe4af,
    -    0x9bba, 0xbbeb, 0xe4b0, 0xc5a8, 0xe4b1, 0x9bbb, 0x9bbc, 0x9bbd,
    -    0x9bbe, 0xd5e3, 0xbfa3, 0x9bbf, 0xe4ba, 0x9bc0, 0xe4b7, 0x9bc1,
    -    0xe4bb, 0x9bc2, 0x9bc3, 0xe4bd, 0x9bc4, 0x9bc5, 0xc6d6, 0x9bc6,
    -    0x9bc7, 0xbac6, 0xc0cb, 0x9bc8, 0x9bc9, 0x9bca, 0xb8a1, 0xe4b4,
    -    0x9bcb, 0x9bcc, 0x9bcd, 0x9bce, 0xd4a1, 0x9bcf, 0x9bd0, 0xbaa3,
    -    0xbdfe, 0x9bd1, 0x9bd2, 0x9bd3, 0xe4bc, 0x9bd4, 0x9bd5, 0x9bd6,
    -    0x9bd7, 0x9bd8, 0xcdbf, 0x9bd9, 0x9bda, 0xc4f9, 0x9bdb, 0x9bdc,
    -    0xcffb, 0xc9e6, 0x9bdd, 0x9bde, 0xd3bf, 0x9bdf, 0xcfd1, 0x9be0,
    -    0x9be1, 0xe4b3, 0x9be2, 0xe4b8, 0xe4b9, 0xcce9, 0x9be3, 0x9be4,
    -    0x9be5, 0x9be6, 0x9be7, 0xccce, 0x9be8, 0xc0d4, 0xe4b5, 0xc1b0,
    -    0xe4b6, 0xced0, 0x9be9, 0xbbc1, 0xb5d3, 0x9bea, 0xc8f3, 0xbda7,
    -    0xd5c7, 0xc9ac, 0xb8a2, 0xe4ca, 0x9beb, 0x9bec, 0xe4cc, 0xd1c4,
    -    0x9bed, 0x9bee, 0xd2ba, 0x9bef, 0x9bf0, 0xbaad, 0x9bf1, 0x9bf2,
    -    0xbad4, 0x9bf3, 0x9bf4, 0x9bf5, 0x9bf6, 0x9bf7, 0x9bf8, 0xe4c3,
    -    0xb5ed, 0x9bf9, 0x9bfa, 0x9bfb, 0xd7cd, 0xe4c0, 0xcffd, 0xe4bf,
    -    0x9bfc, 0x9bfd, 0x9bfe, 0xc1dc, 0xccca, 0x9c40, 0x9c41, 0x9c42,
    -    0x9c43, 0xcae7, 0x9c44, 0x9c45, 0x9c46, 0x9c47, 0xc4d7, 0x9c48,
    -    0xccd4, 0xe4c8, 0x9c49, 0x9c4a, 0x9c4b, 0xe4c7, 0xe4c1, 0x9c4c,
    -    0xe4c4, 0xb5ad, 0x9c4d, 0x9c4e, 0xd3d9, 0x9c4f, 0xe4c6, 0x9c50,
    -    0x9c51, 0x9c52, 0x9c53, 0xd2f9, 0xb4e3, 0x9c54, 0xbbb4, 0x9c55,
    -    0x9c56, 0xc9ee, 0x9c57, 0xb4be, 0x9c58, 0x9c59, 0x9c5a, 0xbbec,
    -    0x9c5b, 0xd1cd, 0x9c5c, 0xcced, 0xedb5, 0x9c5d, 0x9c5e, 0x9c5f,
    -    /* 0x6e00 .. 0x6eff */
    -    0x9c60, 0x9c61, 0x9c62, 0x9c63, 0x9c64, 0xc7e5, 0x9c65, 0x9c66,
    -    0x9c67, 0x9c68, 0xd4a8, 0x9c69, 0xe4cb, 0xd7d5, 0xe4c2, 0x9c6a,
    -    0xbda5, 0xe4c5, 0x9c6b, 0x9c6c, 0xd3e6, 0x9c6d, 0xe4c9, 0xc9f8,
    -    0x9c6e, 0x9c6f, 0xe4be, 0x9c70, 0x9c71, 0xd3e5, 0x9c72, 0x9c73,
    -    0xc7fe, 0xb6c9, 0x9c74, 0xd4fc, 0xb2b3, 0xe4d7, 0x9c75, 0x9c76,
    -    0x9c77, 0xcec2, 0x9c78, 0xe4cd, 0x9c79, 0xcebc, 0x9c7a, 0xb8db,
    -    0x9c7b, 0x9c7c, 0xe4d6, 0x9c7d, 0xbfca, 0x9c7e, 0x9c80, 0x9c81,
    -    0xd3ce, 0x9c82, 0xc3ec, 0x9c83, 0x9c84, 0x9c85, 0x9c86, 0x9c87,
    -    0x9c88, 0x9c89, 0x9c8a, 0xc5c8, 0xe4d8, 0x9c8b, 0x9c8c, 0x9c8d,
    -    0x9c8e, 0x9c8f, 0x9c90, 0x9c91, 0x9c92, 0xcdc4, 0xe4cf, 0x9c93,
    -    0x9c94, 0x9c95, 0x9c96, 0xe4d4, 0xe4d5, 0x9c97, 0xbafe, 0x9c98,
    -    0xcfe6, 0x9c99, 0x9c9a, 0xd5bf, 0x9c9b, 0x9c9c, 0x9c9d, 0xe4d2,
    -    0x9c9e, 0x9c9f, 0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca4, 0x9ca5,
    -    0x9ca6, 0x9ca7, 0x9ca8, 0xe4d0, 0x9ca9, 0x9caa, 0xe4ce, 0x9cab,
    -    0x9cac, 0x9cad, 0x9cae, 0x9caf, 0x9cb0, 0x9cb1, 0x9cb2, 0x9cb3,
    -    0x9cb4, 0x9cb5, 0x9cb6, 0x9cb7, 0x9cb8, 0x9cb9, 0xcde5, 0xcaaa,
    -    0x9cba, 0x9cbb, 0x9cbc, 0xc0a3, 0x9cbd, 0xbda6, 0xe4d3, 0x9cbe,
    -    0x9cbf, 0xb8c8, 0x9cc0, 0x9cc1, 0x9cc2, 0x9cc3, 0x9cc4, 0xe4e7,
    -    0xd4b4, 0x9cc5, 0x9cc6, 0x9cc7, 0x9cc8, 0x9cc9, 0x9cca, 0x9ccb,
    -    0xe4db, 0x9ccc, 0x9ccd, 0x9cce, 0xc1ef, 0x9ccf, 0x9cd0, 0xe4e9,
    -    0x9cd1, 0x9cd2, 0xd2e7, 0x9cd3, 0x9cd4, 0xe4df, 0x9cd5, 0xe4e0,
    -    0x9cd6, 0x9cd7, 0xcfaa, 0x9cd8, 0x9cd9, 0x9cda, 0x9cdb, 0xcbdd,
    -    0x9cdc, 0xe4da, 0xe4d1, 0x9cdd, 0xe4e5, 0x9cde, 0xc8dc, 0xe4e3,
    -    0x9cdf, 0x9ce0, 0xc4e7, 0xe4e2, 0x9ce1, 0xe4e1, 0x9ce2, 0x9ce3,
    -    0x9ce4, 0xb3fc, 0xe4e8, 0x9ce5, 0x9ce6, 0x9ce7, 0x9ce8, 0xb5e1,
    -    0x9ce9, 0x9cea, 0x9ceb, 0xd7cc, 0x9cec, 0x9ced, 0x9cee, 0xe4e6,
    -    0x9cef, 0xbbac, 0x9cf0, 0xd7d2, 0xcccf, 0xebf8, 0x9cf1, 0xe4e4,
    -    0x9cf2, 0x9cf3, 0xb9f6, 0x9cf4, 0x9cf5, 0x9cf6, 0xd6cd, 0xe4d9,
    -    0xe4dc, 0xc2fa, 0xe4de, 0x9cf7, 0xc2cb, 0xc0c4, 0xc2d0, 0x9cf8,
    -    0xb1f5, 0xccb2, 0x9cf9, 0x9cfa, 0x9cfb, 0x9cfc, 0x9cfd, 0x9cfe,
    -    0x9d40, 0x9d41, 0x9d42, 0x9d43, 0xb5ce, 0x9d44, 0x9d45, 0x9d46,
    -    0x9d47, 0xe4ef, 0x9d48, 0x9d49, 0x9d4a, 0x9d4b, 0x9d4c, 0x9d4d,
    -    /* 0x6f00 .. 0x6fff */
    -    0x9d4e, 0x9d4f, 0xc6af, 0x9d50, 0x9d51, 0x9d52, 0xc6e1, 0x9d53,
    -    0x9d54, 0xe4f5, 0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0xc2a9,
    -    0x9d5a, 0x9d5b, 0x9d5c, 0xc0ec, 0xd1dd, 0xe4ee, 0x9d5d, 0x9d5e,
    -    0x9d5f, 0x9d60, 0x9d61, 0x9d62, 0x9d63, 0x9d64, 0x9d65, 0x9d66,
    -    0xc4ae, 0x9d67, 0x9d68, 0x9d69, 0xe4ed, 0x9d6a, 0x9d6b, 0x9d6c,
    -    0x9d6d, 0xe4f6, 0xe4f4, 0xc2fe, 0x9d6e, 0xe4dd, 0x9d6f, 0xe4f0,
    -    0x9d70, 0xcafe, 0x9d71, 0xd5c4, 0x9d72, 0x9d73, 0xe4f1, 0x9d74,
    -    0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a, 0xd1fa, 0x9d7b,
    -    0x9d7c, 0x9d7d, 0x9d7e, 0x9d80, 0x9d81, 0x9d82, 0xe4eb, 0xe4ec,
    -    0x9d83, 0x9d84, 0x9d85, 0xe4f2, 0x9d86, 0xceab, 0x9d87, 0x9d88,
    -    0x9d89, 0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f, 0x9d90,
    -    0xc5cb, 0x9d91, 0x9d92, 0x9d93, 0xc7b1, 0x9d94, 0xc2ba, 0x9d95,
    -    0x9d96, 0x9d97, 0xe4ea, 0x9d98, 0x9d99, 0x9d9a, 0xc1ca, 0x9d9b,
    -    0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f, 0x9da0, 0xccb6, 0xb3b1, 0x9da1,
    -    0x9da2, 0x9da3, 0xe4fb, 0x9da4, 0xe4f3, 0x9da5, 0x9da6, 0x9da7,
    -    0xe4fa, 0x9da8, 0xe4fd, 0x9da9, 0xe4fc, 0x9daa, 0x9dab, 0x9dac,
    -    0x9dad, 0x9dae, 0x9daf, 0x9db0, 0xb3ce, 0x9db1, 0x9db2, 0x9db3,
    -    0xb3ba, 0xe4f7, 0x9db4, 0x9db5, 0xe4f9, 0xe4f8, 0xc5ec, 0x9db6,
    -    0x9db7, 0x9db8, 0x9db9, 0x9dba, 0x9dbb, 0x9dbc, 0x9dbd, 0x9dbe,
    -    0x9dbf, 0x9dc0, 0x9dc1, 0x9dc2, 0xc0bd, 0x9dc3, 0x9dc4, 0x9dc5,
    -    0x9dc6, 0xd4e8, 0x9dc7, 0x9dc8, 0x9dc9, 0x9dca, 0x9dcb, 0xe5a2,
    -    0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0x9dd0, 0x9dd1, 0x9dd2, 0x9dd3,
    -    0x9dd4, 0x9dd5, 0x9dd6, 0xb0c4, 0x9dd7, 0x9dd8, 0xe5a4, 0x9dd9,
    -    0x9dda, 0xe5a3, 0x9ddb, 0x9ddc, 0x9ddd, 0x9dde, 0x9ddf, 0x9de0,
    -    0xbca4, 0x9de1, 0xe5a5, 0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6,
    -    0x9de7, 0xe5a1, 0x9de8, 0x9de9, 0x9dea, 0x9deb, 0x9dec, 0x9ded,
    -    0x9dee, 0xe4fe, 0xb1f4, 0x9def, 0x9df0, 0x9df1, 0x9df2, 0x9df3,
    -    0x9df4, 0x9df5, 0x9df6, 0x9df7, 0x9df8, 0x9df9, 0xe5a8, 0x9dfa,
    -    0xe5a9, 0xe5a6, 0x9dfb, 0x9dfc, 0x9dfd, 0x9dfe, 0x9e40, 0x9e41,
    -    0x9e42, 0x9e43, 0x9e44, 0x9e45, 0x9e46, 0x9e47, 0xe5a7, 0xe5aa,
    -    0x9e48, 0x9e49, 0x9e4a, 0x9e4b, 0x9e4c, 0x9e4d, 0x9e4e, 0x9e4f,
    -    0x9e50, 0x9e51, 0x9e52, 0x9e53, 0x9e54, 0x9e55, 0x9e56, 0x9e57,
    -    /* 0x7000 .. 0x70ff */
    -    0x9e58, 0x9e59, 0x9e5a, 0x9e5b, 0x9e5c, 0x9e5d, 0x9e5e, 0x9e5f,
    -    0x9e60, 0x9e61, 0x9e62, 0x9e63, 0x9e64, 0x9e65, 0x9e66, 0x9e67,
    -    0x9e68, 0xc6d9, 0x9e69, 0x9e6a, 0x9e6b, 0x9e6c, 0x9e6d, 0x9e6e,
    -    0x9e6f, 0x9e70, 0xe5ab, 0xe5ad, 0x9e71, 0x9e72, 0x9e73, 0x9e74,
    -    0x9e75, 0x9e76, 0x9e77, 0xe5ac, 0x9e78, 0x9e79, 0x9e7a, 0x9e7b,
    -    0x9e7c, 0x9e7d, 0x9e7e, 0x9e80, 0x9e81, 0x9e82, 0x9e83, 0x9e84,
    -    0x9e85, 0x9e86, 0x9e87, 0x9e88, 0x9e89, 0xe5af, 0x9e8a, 0x9e8b,
    -    0x9e8c, 0xe5ae, 0x9e8d, 0x9e8e, 0x9e8f, 0x9e90, 0x9e91, 0x9e92,
    -    0x9e93, 0x9e94, 0x9e95, 0x9e96, 0x9e97, 0x9e98, 0x9e99, 0x9e9a,
    -    0x9e9b, 0x9e9c, 0x9e9d, 0x9e9e, 0xb9e0, 0x9e9f, 0x9ea0, 0xe5b0,
    -    0x9ea1, 0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0x9ea6, 0x9ea7, 0x9ea8,
    -    0x9ea9, 0x9eaa, 0x9eab, 0x9eac, 0x9ead, 0x9eae, 0xe5b1, 0x9eaf,
    -    0x9eb0, 0x9eb1, 0x9eb2, 0x9eb3, 0x9eb4, 0x9eb5, 0x9eb6, 0x9eb7,
    -    0x9eb8, 0x9eb9, 0x9eba, 0xbbf0, 0xece1, 0xc3f0, 0x9ebb, 0xb5c6,
    -    0xbbd2, 0x9ebc, 0x9ebd, 0x9ebe, 0x9ebf, 0xc1e9, 0xd4ee, 0x9ec0,
    -    0xbec4, 0x9ec1, 0x9ec2, 0x9ec3, 0xd7c6, 0x9ec4, 0xd4d6, 0xb2d3,
    -    0xecbe, 0x9ec5, 0x9ec6, 0x9ec7, 0x9ec8, 0xeac1, 0x9ec9, 0x9eca,
    -    0x9ecb, 0xc2af, 0xb4b6, 0x9ecc, 0x9ecd, 0x9ece, 0xd1d7, 0x9ecf,
    -    0x9ed0, 0x9ed1, 0xb3b4, 0x9ed2, 0xc8b2, 0xbfbb, 0xecc0, 0x9ed3,
    -    0x9ed4, 0xd6cb, 0x9ed5, 0x9ed6, 0xecbf, 0xecc1, 0x9ed7, 0x9ed8,
    -    0x9ed9, 0x9eda, 0x9edb, 0x9edc, 0x9edd, 0x9ede, 0x9edf, 0x9ee0,
    -    0x9ee1, 0x9ee2, 0x9ee3, 0xecc5, 0xbee6, 0xccbf, 0xc5da, 0xbebc,
    -    0x9ee4, 0xecc6, 0x9ee5, 0xb1fe, 0x9ee6, 0x9ee7, 0x9ee8, 0xecc4,
    -    0xd5a8, 0xb5e3, 0x9ee9, 0xecc2, 0xc1b6, 0xb3e3, 0x9eea, 0x9eeb,
    -    0xecc3, 0xcbb8, 0xc0c3, 0xccfe, 0x9eec, 0x9eed, 0x9eee, 0x9eef,
    -    0xc1d2, 0x9ef0, 0xecc8, 0x9ef1, 0x9ef2, 0x9ef3, 0x9ef4, 0x9ef5,
    -    0x9ef6, 0x9ef7, 0x9ef8, 0x9ef9, 0x9efa, 0x9efb, 0x9efc, 0x9efd,
    -    0xbae6, 0xc0d3, 0x9efe, 0xd6f2, 0x9f40, 0x9f41, 0x9f42, 0xd1cc,
    -    0x9f43, 0x9f44, 0x9f45, 0x9f46, 0xbfbe, 0x9f47, 0xb7b3, 0xc9d5,
    -    0xecc7, 0xbbe2, 0x9f48, 0xcccc, 0xbdfd, 0xc8c8, 0x9f49, 0xcfa9,
    -    0x9f4a, 0x9f4b, 0x9f4c, 0x9f4d, 0x9f4e, 0x9f4f, 0x9f50, 0xcde9,
    -    0x9f51, 0xc5eb, 0x9f52, 0x9f53, 0x9f54, 0xb7e9, 0x9f55, 0x9f56,
    -    /* 0x7100 .. 0x71ff */
    -    0x9f57, 0x9f58, 0x9f59, 0x9f5a, 0x9f5b, 0x9f5c, 0x9f5d, 0x9f5e,
    -    0x9f5f, 0xd1c9, 0xbab8, 0x9f60, 0x9f61, 0x9f62, 0x9f63, 0x9f64,
    -    0xecc9, 0x9f65, 0x9f66, 0xecca, 0x9f67, 0xbbc0, 0xeccb, 0x9f68,
    -    0xece2, 0xb1ba, 0xb7d9, 0x9f69, 0x9f6a, 0x9f6b, 0x9f6c, 0x9f6d,
    -    0x9f6e, 0x9f6f, 0x9f70, 0x9f71, 0x9f72, 0x9f73, 0xbdb9, 0x9f74,
    -    0x9f75, 0x9f76, 0x9f77, 0x9f78, 0x9f79, 0x9f7a, 0x9f7b, 0xeccc,
    -    0xd1e6, 0xeccd, 0x9f7c, 0x9f7d, 0x9f7e, 0x9f80, 0xc8bb, 0x9f81,
    -    0x9f82, 0x9f83, 0x9f84, 0x9f85, 0x9f86, 0x9f87, 0x9f88, 0x9f89,
    -    0x9f8a, 0x9f8b, 0x9f8c, 0x9f8d, 0x9f8e, 0xecd1, 0x9f8f, 0x9f90,
    -    0x9f91, 0x9f92, 0xecd3, 0x9f93, 0xbbcd, 0x9f94, 0xbce5, 0x9f95,
    -    0x9f96, 0x9f97, 0x9f98, 0x9f99, 0x9f9a, 0x9f9b, 0x9f9c, 0x9f9d,
    -    0x9f9e, 0x9f9f, 0x9fa0, 0x9fa1, 0xeccf, 0x9fa2, 0xc9b7, 0x9fa3,
    -    0x9fa4, 0x9fa5, 0x9fa6, 0x9fa7, 0xc3ba, 0x9fa8, 0xece3, 0xd5d5,
    -    0xecd0, 0x9fa9, 0x9faa, 0x9fab, 0x9fac, 0x9fad, 0xd6f3, 0x9fae,
    -    0x9faf, 0x9fb0, 0xecd2, 0xecce, 0x9fb1, 0x9fb2, 0x9fb3, 0x9fb4,
    -    0xecd4, 0x9fb5, 0xecd5, 0x9fb6, 0x9fb7, 0xc9bf, 0x9fb8, 0x9fb9,
    -    0x9fba, 0x9fbb, 0x9fbc, 0x9fbd, 0xcfa8, 0x9fbe, 0x9fbf, 0x9fc0,
    -    0x9fc1, 0x9fc2, 0xd0dc, 0x9fc3, 0x9fc4, 0x9fc5, 0x9fc6, 0xd1ac,
    -    0x9fc7, 0x9fc8, 0x9fc9, 0x9fca, 0xc8db, 0x9fcb, 0x9fcc, 0x9fcd,
    -    0xecd6, 0xcef5, 0x9fce, 0x9fcf, 0x9fd0, 0x9fd1, 0x9fd2, 0xcaec,
    -    0xecda, 0x9fd3, 0x9fd4, 0x9fd5, 0x9fd6, 0x9fd7, 0x9fd8, 0x9fd9,
    -    0xecd9, 0x9fda, 0x9fdb, 0x9fdc, 0xb0be, 0x9fdd, 0x9fde, 0x9fdf,
    -    0x9fe0, 0x9fe1, 0x9fe2, 0xecd7, 0x9fe3, 0xecd8, 0x9fe4, 0x9fe5,
    -    0x9fe6, 0xece4, 0x9fe7, 0x9fe8, 0x9fe9, 0x9fea, 0x9feb, 0x9fec,
    -    0x9fed, 0x9fee, 0x9fef, 0xc8bc, 0x9ff0, 0x9ff1, 0x9ff2, 0x9ff3,
    -    0x9ff4, 0x9ff5, 0x9ff6, 0x9ff7, 0x9ff8, 0x9ff9, 0xc1c7, 0x9ffa,
    -    0x9ffb, 0x9ffc, 0x9ffd, 0x9ffe, 0xecdc, 0xd1e0, 0xa040, 0xa041,
    -    0xa042, 0xa043, 0xa044, 0xa045, 0xa046, 0xa047, 0xa048, 0xa049,
    -    0xecdb, 0xa04a, 0xa04b, 0xa04c, 0xa04d, 0xd4ef, 0xa04e, 0xecdd,
    -    0xa04f, 0xa050, 0xa051, 0xa052, 0xa053, 0xa054, 0xdbc6, 0xa055,
    -    0xa056, 0xa057, 0xa058, 0xa059, 0xa05a, 0xa05b, 0xa05c, 0xa05d,
    -    0xa05e, 0xecde, 0xa05f, 0xa060, 0xa061, 0xa062, 0xa063, 0xa064,
    -    /* 0x7200 .. 0x72ff */
    -    0xa065, 0xa066, 0xa067, 0xa068, 0xa069, 0xa06a, 0xb1ac, 0xa06b,
    -    0xa06c, 0xa06d, 0xa06e, 0xa06f, 0xa070, 0xa071, 0xa072, 0xa073,
    -    0xa074, 0xa075, 0xa076, 0xa077, 0xa078, 0xa079, 0xa07a, 0xa07b,
    -    0xa07c, 0xa07d, 0xa07e, 0xa080, 0xa081, 0xecdf, 0xa082, 0xa083,
    -    0xa084, 0xa085, 0xa086, 0xa087, 0xa088, 0xa089, 0xa08a, 0xa08b,
    -    0xece0, 0xa08c, 0xd7a6, 0xa08d, 0xc5c0, 0xa08e, 0xa08f, 0xa090,
    -    0xebbc, 0xb0ae, 0xa091, 0xa092, 0xa093, 0xbef4, 0xb8b8, 0xd2af,
    -    0xb0d6, 0xb5f9, 0xa094, 0xd8b3, 0xa095, 0xcbac, 0xa096, 0xe3dd,
    -    0xa097, 0xa098, 0xa099, 0xa09a, 0xa09b, 0xa09c, 0xa09d, 0xc6ac,
    -    0xb0e6, 0xa09e, 0xa09f, 0xa0a0, 0xc5c6, 0xebb9, 0xa0a1, 0xa0a2,
    -    0xa0a3, 0xa0a4, 0xebba, 0xa0a5, 0xa0a6, 0xa0a7, 0xebbb, 0xa0a8,
    -    0xa0a9, 0xd1c0, 0xa0aa, 0xc5a3, 0xa0ab, 0xeaf2, 0xa0ac, 0xc4b2,
    -    0xa0ad, 0xc4b5, 0xc0ce, 0xa0ae, 0xa0af, 0xa0b0, 0xeaf3, 0xc4c1,
    -    0xa0b1, 0xceef, 0xa0b2, 0xa0b3, 0xa0b4, 0xa0b5, 0xeaf0, 0xeaf4,
    -    0xa0b6, 0xa0b7, 0xc9fc, 0xa0b8, 0xa0b9, 0xc7a3, 0xa0ba, 0xa0bb,
    -    0xa0bc, 0xccd8, 0xcefe, 0xa0bd, 0xa0be, 0xa0bf, 0xeaf5, 0xeaf6,
    -    0xcfac, 0xc0e7, 0xa0c0, 0xa0c1, 0xeaf7, 0xa0c2, 0xa0c3, 0xa0c4,
    -    0xa0c5, 0xa0c6, 0xb6bf, 0xeaf8, 0xa0c7, 0xeaf9, 0xa0c8, 0xeafa,
    -    0xa0c9, 0xa0ca, 0xeafb, 0xa0cb, 0xa0cc, 0xa0cd, 0xa0ce, 0xa0cf,
    -    0xa0d0, 0xa0d1, 0xa0d2, 0xa0d3, 0xa0d4, 0xa0d5, 0xa0d6, 0xeaf1,
    -    0xa0d7, 0xa0d8, 0xa0d9, 0xa0da, 0xa0db, 0xa0dc, 0xa0dd, 0xa0de,
    -    0xa0df, 0xa0e0, 0xa0e1, 0xa0e2, 0xc8ae, 0xe1eb, 0xa0e3, 0xb7b8,
    -    0xe1ec, 0xa0e4, 0xa0e5, 0xa0e6, 0xe1ed, 0xa0e7, 0xd7b4, 0xe1ee,
    -    0xe1ef, 0xd3cc, 0xa0e8, 0xa0e9, 0xa0ea, 0xa0eb, 0xa0ec, 0xa0ed,
    -    0xa0ee, 0xe1f1, 0xbff1, 0xe1f0, 0xb5d2, 0xa0ef, 0xa0f0, 0xa0f1,
    -    0xb1b7, 0xa0f2, 0xa0f3, 0xa0f4, 0xa0f5, 0xe1f3, 0xe1f2, 0xa0f6,
    -    0xbafc, 0xa0f7, 0xe1f4, 0xa0f8, 0xa0f9, 0xa0fa, 0xa0fb, 0xb9b7,
    -    0xa0fc, 0xbed1, 0xa0fd, 0xa0fe, 0xaa40, 0xaa41, 0xc4fc, 0xaa42,
    -    0xbadd, 0xbdc6, 0xaa43, 0xaa44, 0xaa45, 0xaa46, 0xaa47, 0xaa48,
    -    0xe1f5, 0xe1f7, 0xaa49, 0xaa4a, 0xb6c0, 0xcfc1, 0xcaa8, 0xe1f6,
    -    0xd5f8, 0xd3fc, 0xe1f8, 0xe1fc, 0xe1f9, 0xaa4b, 0xaa4c, 0xe1fa,
    -    0xc0ea, 0xaa4d, 0xe1fe, 0xe2a1, 0xc0c7, 0xaa4e, 0xaa4f, 0xaa50,
    -    /* 0x7300 .. 0x73ff */
    -    0xaa51, 0xe1fb, 0xaa52, 0xe1fd, 0xaa53, 0xaa54, 0xaa55, 0xaa56,
    -    0xaa57, 0xaa58, 0xe2a5, 0xaa59, 0xaa5a, 0xaa5b, 0xc1d4, 0xaa5c,
    -    0xaa5d, 0xaa5e, 0xaa5f, 0xe2a3, 0xaa60, 0xe2a8, 0xb2fe, 0xe2a2,
    -    0xaa61, 0xaa62, 0xaa63, 0xc3cd, 0xb2c2, 0xe2a7, 0xe2a6, 0xaa64,
    -    0xaa65, 0xe2a4, 0xe2a9, 0xaa66, 0xaa67, 0xe2ab, 0xaa68, 0xaa69,
    -    0xaa6a, 0xd0c9, 0xd6ed, 0xc3a8, 0xe2ac, 0xaa6b, 0xcfd7, 0xaa6c,
    -    0xaa6d, 0xe2ae, 0xaa6e, 0xaa6f, 0xbaef, 0xaa70, 0xaa71, 0xe9e0,
    -    0xe2ad, 0xe2aa, 0xaa72, 0xaa73, 0xaa74, 0xaa75, 0xbbab, 0xd4b3,
    -    0xaa76, 0xaa77, 0xaa78, 0xaa79, 0xaa7a, 0xaa7b, 0xaa7c, 0xaa7d,
    -    0xaa7e, 0xaa80, 0xaa81, 0xaa82, 0xaa83, 0xe2b0, 0xaa84, 0xaa85,
    -    0xe2af, 0xaa86, 0xe9e1, 0xaa87, 0xaa88, 0xaa89, 0xaa8a, 0xe2b1,
    -    0xaa8b, 0xaa8c, 0xaa8d, 0xaa8e, 0xaa8f, 0xaa90, 0xaa91, 0xaa92,
    -    0xe2b2, 0xaa93, 0xaa94, 0xaa95, 0xaa96, 0xaa97, 0xaa98, 0xaa99,
    -    0xaa9a, 0xaa9b, 0xaa9c, 0xaa9d, 0xe2b3, 0xcca1, 0xaa9e, 0xe2b4,
    -    0xaa9f, 0xaaa0, 0xab40, 0xab41, 0xab42, 0xab43, 0xab44, 0xab45,
    -    0xab46, 0xab47, 0xab48, 0xab49, 0xab4a, 0xab4b, 0xe2b5, 0xab4c,
    -    0xab4d, 0xab4e, 0xab4f, 0xab50, 0xd0fe, 0xab51, 0xab52, 0xc2ca,
    -    0xab53, 0xd3f1, 0xab54, 0xcdf5, 0xab55, 0xab56, 0xe7e0, 0xab57,
    -    0xab58, 0xe7e1, 0xab59, 0xab5a, 0xab5b, 0xab5c, 0xbec1, 0xab5d,
    -    0xab5e, 0xab5f, 0xab60, 0xc2ea, 0xab61, 0xab62, 0xab63, 0xe7e4,
    -    0xab64, 0xab65, 0xe7e3, 0xab66, 0xab67, 0xab68, 0xab69, 0xab6a,
    -    0xab6b, 0xcde6, 0xab6c, 0xc3b5, 0xab6d, 0xab6e, 0xe7e2, 0xbbb7,
    -    0xcfd6, 0xab6f, 0xc1e1, 0xe7e9, 0xab70, 0xab71, 0xab72, 0xe7e8,
    -    0xab73, 0xab74, 0xe7f4, 0xb2a3, 0xab75, 0xab76, 0xab77, 0xab78,
    -    0xe7ea, 0xab79, 0xe7e6, 0xab7a, 0xab7b, 0xab7c, 0xab7d, 0xab7e,
    -    0xe7ec, 0xe7eb, 0xc9ba, 0xab80, 0xab81, 0xd5e4, 0xab82, 0xe7e5,
    -    0xb7a9, 0xe7e7, 0xab83, 0xab84, 0xab85, 0xab86, 0xab87, 0xab88,
    -    0xab89, 0xe7ee, 0xab8a, 0xab8b, 0xab8c, 0xab8d, 0xe7f3, 0xab8e,
    -    0xd6e9, 0xab8f, 0xab90, 0xab91, 0xab92, 0xe7ed, 0xab93, 0xe7f2,
    -    0xab94, 0xe7f1, 0xab95, 0xab96, 0xab97, 0xb0e0, 0xab98, 0xab99,
    -    0xab9a, 0xab9b, 0xe7f5, 0xab9c, 0xab9d, 0xab9e, 0xab9f, 0xaba0,
    -    0xac40, 0xac41, 0xac42, 0xac43, 0xac44, 0xac45, 0xac46, 0xac47,
    -    /* 0x7400 .. 0x74ff */
    -    0xac48, 0xac49, 0xac4a, 0xc7f2, 0xac4b, 0xc0c5, 0xc0ed, 0xac4c,
    -    0xac4d, 0xc1f0, 0xe7f0, 0xac4e, 0xac4f, 0xac50, 0xac51, 0xe7f6,
    -    0xcbf6, 0xac52, 0xac53, 0xac54, 0xac55, 0xac56, 0xac57, 0xac58,
    -    0xac59, 0xac5a, 0xe8a2, 0xe8a1, 0xac5b, 0xac5c, 0xac5d, 0xac5e,
    -    0xac5f, 0xac60, 0xd7c1, 0xac61, 0xac62, 0xe7fa, 0xe7f9, 0xac63,
    -    0xe7fb, 0xac64, 0xe7f7, 0xac65, 0xe7fe, 0xac66, 0xe7fd, 0xac67,
    -    0xe7fc, 0xac68, 0xac69, 0xc1d5, 0xc7d9, 0xc5fd, 0xc5c3, 0xac6a,
    -    0xac6b, 0xac6c, 0xac6d, 0xac6e, 0xc7ed, 0xac6f, 0xac70, 0xac71,
    -    0xac72, 0xe8a3, 0xac73, 0xac74, 0xac75, 0xac76, 0xac77, 0xac78,
    -    0xac79, 0xac7a, 0xac7b, 0xac7c, 0xac7d, 0xac7e, 0xac80, 0xac81,
    -    0xac82, 0xac83, 0xac84, 0xac85, 0xac86, 0xe8a6, 0xac87, 0xe8a5,
    -    0xac88, 0xe8a7, 0xbaf7, 0xe7f8, 0xe8a4, 0xac89, 0xc8f0, 0xc9aa,
    -    0xac8a, 0xac8b, 0xac8c, 0xac8d, 0xac8e, 0xac8f, 0xac90, 0xac91,
    -    0xac92, 0xac93, 0xac94, 0xac95, 0xac96, 0xe8a9, 0xac97, 0xac98,
    -    0xb9e5, 0xac99, 0xac9a, 0xac9b, 0xac9c, 0xac9d, 0xd1fe, 0xe8a8,
    -    0xac9e, 0xac9f, 0xaca0, 0xad40, 0xad41, 0xad42, 0xe8aa, 0xad43,
    -    0xe8ad, 0xe8ae, 0xad44, 0xc1a7, 0xad45, 0xad46, 0xad47, 0xe8af,
    -    0xad48, 0xad49, 0xad4a, 0xe8b0, 0xad4b, 0xad4c, 0xe8ac, 0xad4d,
    -    0xe8b4, 0xad4e, 0xad4f, 0xad50, 0xad51, 0xad52, 0xad53, 0xad54,
    -    0xad55, 0xad56, 0xad57, 0xad58, 0xe8ab, 0xad59, 0xe8b1, 0xad5a,
    -    0xad5b, 0xad5c, 0xad5d, 0xad5e, 0xad5f, 0xad60, 0xad61, 0xe8b5,
    -    0xe8b2, 0xe8b3, 0xad62, 0xad63, 0xad64, 0xad65, 0xad66, 0xad67,
    -    0xad68, 0xad69, 0xad6a, 0xad6b, 0xad6c, 0xad6d, 0xad6e, 0xad6f,
    -    0xad70, 0xad71, 0xe8b7, 0xad72, 0xad73, 0xad74, 0xad75, 0xad76,
    -    0xad77, 0xad78, 0xad79, 0xad7a, 0xad7b, 0xad7c, 0xad7d, 0xad7e,
    -    0xad80, 0xad81, 0xad82, 0xad83, 0xad84, 0xad85, 0xad86, 0xad87,
    -    0xad88, 0xad89, 0xe8b6, 0xad8a, 0xad8b, 0xad8c, 0xad8d, 0xad8e,
    -    0xad8f, 0xad90, 0xad91, 0xad92, 0xb9cf, 0xad93, 0xf0ac, 0xad94,
    -    0xf0ad, 0xad95, 0xc6b0, 0xb0ea, 0xc8bf, 0xad96, 0xcddf, 0xad97,
    -    0xad98, 0xad99, 0xad9a, 0xad9b, 0xad9c, 0xad9d, 0xcecd, 0xeab1,
    -    0xad9e, 0xad9f, 0xada0, 0xae40, 0xeab2, 0xae41, 0xc6bf, 0xb4c9,
    -    0xae42, 0xae43, 0xae44, 0xae45, 0xae46, 0xae47, 0xae48, 0xeab3,
    -    /* 0x7500 .. 0x75ff */
    -    0xae49, 0xae4a, 0xae4b, 0xae4c, 0xd5e7, 0xae4d, 0xae4e, 0xae4f,
    -    0xae50, 0xae51, 0xae52, 0xae53, 0xae54, 0xddf9, 0xae55, 0xeab4,
    -    0xae56, 0xeab5, 0xae57, 0xeab6, 0xae58, 0xae59, 0xae5a, 0xae5b,
    -    0xb8ca, 0xdfb0, 0xc9f5, 0xae5c, 0xccf0, 0xae5d, 0xae5e, 0xc9fa,
    -    0xae5f, 0xae60, 0xae61, 0xae62, 0xae63, 0xc9fb, 0xae64, 0xae65,
    -    0xd3c3, 0xcba6, 0xae66, 0xb8a6, 0xf0ae, 0xb1c2, 0xae67, 0xe5b8,
    -    0xccef, 0xd3c9, 0xbcd7, 0xc9ea, 0xae68, 0xb5e7, 0xae69, 0xc4d0,
    -    0xb5e9, 0xae6a, 0xeeae, 0xbbad, 0xae6b, 0xae6c, 0xe7de, 0xae6d,
    -    0xeeaf, 0xae6e, 0xae6f, 0xae70, 0xae71, 0xb3a9, 0xae72, 0xae73,
    -    0xeeb2, 0xae74, 0xae75, 0xeeb1, 0xbde7, 0xae76, 0xeeb0, 0xceb7,
    -    0xae77, 0xae78, 0xae79, 0xae7a, 0xc5cf, 0xae7b, 0xae7c, 0xae7d,
    -    0xae7e, 0xc1f4, 0xdbce, 0xeeb3, 0xd0f3, 0xae80, 0xae81, 0xae82,
    -    0xae83, 0xae84, 0xae85, 0xae86, 0xae87, 0xc2d4, 0xc6e8, 0xae88,
    -    0xae89, 0xae8a, 0xb7ac, 0xae8b, 0xae8c, 0xae8d, 0xae8e, 0xae8f,
    -    0xae90, 0xae91, 0xeeb4, 0xae92, 0xb3eb, 0xae93, 0xae94, 0xae95,
    -    0xbbfb, 0xeeb5, 0xae96, 0xae97, 0xae98, 0xae99, 0xae9a, 0xe7dc,
    -    0xae9b, 0xae9c, 0xae9d, 0xeeb6, 0xae9e, 0xae9f, 0xbdae, 0xaea0,
    -    0xaf40, 0xaf41, 0xaf42, 0xf1e2, 0xaf43, 0xaf44, 0xaf45, 0xcae8,
    -    0xaf46, 0xd2c9, 0xf0da, 0xaf47, 0xf0db, 0xaf48, 0xf0dc, 0xc1c6,
    -    0xaf49, 0xb8ed, 0xbece, 0xaf4a, 0xaf4b, 0xf0de, 0xaf4c, 0xc5b1,
    -    0xf0dd, 0xd1f1, 0xaf4d, 0xf0e0, 0xb0cc, 0xbdea, 0xaf4e, 0xaf4f,
    -    0xaf50, 0xaf51, 0xaf52, 0xd2df, 0xf0df, 0xaf53, 0xb4af, 0xb7e8,
    -    0xf0e6, 0xf0e5, 0xc6a3, 0xf0e1, 0xf0e2, 0xb4c3, 0xaf54, 0xaf55,
    -    0xf0e3, 0xd5ee, 0xaf56, 0xaf57, 0xccdb, 0xbed2, 0xbcb2, 0xaf58,
    -    0xaf59, 0xaf5a, 0xf0e8, 0xf0e7, 0xf0e4, 0xb2a1, 0xaf5b, 0xd6a2,
    -    0xd3b8, 0xbeb7, 0xc8ac, 0xaf5c, 0xaf5d, 0xf0ea, 0xaf5e, 0xaf5f,
    -    0xaf60, 0xaf61, 0xd1f7, 0xaf62, 0xd6cc, 0xbadb, 0xf0e9, 0xaf63,
    -    0xb6bb, 0xaf64, 0xaf65, 0xcdb4, 0xaf66, 0xaf67, 0xc6a6, 0xaf68,
    -    0xaf69, 0xaf6a, 0xc1a1, 0xf0eb, 0xf0ee, 0xaf6b, 0xf0ed, 0xf0f0,
    -    0xf0ec, 0xaf6c, 0xbbbe, 0xf0ef, 0xaf6d, 0xaf6e, 0xaf6f, 0xaf70,
    -    0xccb5, 0xf0f2, 0xaf71, 0xaf72, 0xb3d5, 0xaf73, 0xaf74, 0xaf75,
    -    0xaf76, 0xb1d4, 0xaf77, 0xaf78, 0xf0f3, 0xaf79, 0xaf7a, 0xf0f4,
    -    /* 0x7600 .. 0x76ff */
    -    0xf0f6, 0xb4e1, 0xaf7b, 0xf0f1, 0xaf7c, 0xf0f7, 0xaf7d, 0xaf7e,
    -    0xaf80, 0xaf81, 0xf0fa, 0xaf82, 0xf0f8, 0xaf83, 0xaf84, 0xaf85,
    -    0xf0f5, 0xaf86, 0xaf87, 0xaf88, 0xaf89, 0xf0fd, 0xaf8a, 0xf0f9,
    -    0xf0fc, 0xf0fe, 0xaf8b, 0xf1a1, 0xaf8c, 0xaf8d, 0xaf8e, 0xcec1,
    -    0xf1a4, 0xaf8f, 0xf1a3, 0xaf90, 0xc1f6, 0xf0fb, 0xcadd, 0xaf91,
    -    0xaf92, 0xb4f1, 0xb1f1, 0xccb1, 0xaf93, 0xf1a6, 0xaf94, 0xaf95,
    -    0xf1a7, 0xaf96, 0xaf97, 0xf1ac, 0xd5ce, 0xf1a9, 0xaf98, 0xaf99,
    -    0xc8b3, 0xaf9a, 0xaf9b, 0xaf9c, 0xf1a2, 0xaf9d, 0xf1ab, 0xf1a8,
    -    0xf1a5, 0xaf9e, 0xaf9f, 0xf1aa, 0xafa0, 0xb040, 0xb041, 0xb042,
    -    0xb043, 0xb044, 0xb045, 0xb046, 0xb0a9, 0xf1ad, 0xb047, 0xb048,
    -    0xb049, 0xb04a, 0xb04b, 0xb04c, 0xf1af, 0xb04d, 0xf1b1, 0xb04e,
    -    0xb04f, 0xb050, 0xb051, 0xb052, 0xf1b0, 0xb053, 0xf1ae, 0xb054,
    -    0xb055, 0xb056, 0xb057, 0xd1a2, 0xb058, 0xb059, 0xb05a, 0xb05b,
    -    0xb05c, 0xb05d, 0xb05e, 0xf1b2, 0xb05f, 0xb060, 0xb061, 0xf1b3,
    -    0xb062, 0xb063, 0xb064, 0xb065, 0xb066, 0xb067, 0xb068, 0xb069,
    -    0xb9ef, 0xb06a, 0xb06b, 0xb5c7, 0xb06c, 0xb0d7, 0xb0d9, 0xb06d,
    -    0xb06e, 0xb06f, 0xd4ed, 0xb070, 0xb5c4, 0xb071, 0xbdd4, 0xbbca,
    -    0xf0a7, 0xb072, 0xb073, 0xb8de, 0xb074, 0xb075, 0xf0a8, 0xb076,
    -    0xb077, 0xb0a8, 0xb078, 0xf0a9, 0xb079, 0xb07a, 0xcdee, 0xb07b,
    -    0xb07c, 0xf0aa, 0xb07d, 0xb07e, 0xb080, 0xb081, 0xb082, 0xb083,
    -    0xb084, 0xb085, 0xb086, 0xb087, 0xf0ab, 0xb088, 0xb089, 0xb08a,
    -    0xb08b, 0xb08c, 0xb08d, 0xb08e, 0xb08f, 0xb090, 0xc6a4, 0xb091,
    -    0xb092, 0xd6e5, 0xf1e4, 0xb093, 0xf1e5, 0xb094, 0xb095, 0xb096,
    -    0xb097, 0xb098, 0xb099, 0xb09a, 0xb09b, 0xb09c, 0xb09d, 0xc3f3,
    -    0xb09e, 0xb09f, 0xd3db, 0xb0a0, 0xb140, 0xd6d1, 0xc5e8, 0xb141,
    -    0xd3af, 0xb142, 0xd2e6, 0xb143, 0xb144, 0xeec1, 0xb0bb, 0xd5b5,
    -    0xd1ce, 0xbce0, 0xbad0, 0xb145, 0xbff8, 0xb146, 0xb8c7, 0xb5c1,
    -    0xc5cc, 0xb147, 0xb148, 0xcaa2, 0xb149, 0xb14a, 0xb14b, 0xc3cb,
    -    0xb14c, 0xb14d, 0xb14e, 0xb14f, 0xb150, 0xeec2, 0xb151, 0xb152,
    -    0xb153, 0xb154, 0xb155, 0xb156, 0xb157, 0xb158, 0xc4bf, 0xb6a2,
    -    0xb159, 0xedec, 0xc3a4, 0xb15a, 0xd6b1, 0xb15b, 0xb15c, 0xb15d,
    -    0xcfe0, 0xedef, 0xb15e, 0xb15f, 0xc5ce, 0xb160, 0xb6dc, 0xb161,
    -    /* 0x7700 .. 0x77ff */
    -    0xb162, 0xcaa1, 0xb163, 0xb164, 0xeded, 0xb165, 0xb166, 0xedf0,
    -    0xedf1, 0xc3bc, 0xb167, 0xbfb4, 0xb168, 0xedee, 0xb169, 0xb16a,
    -    0xb16b, 0xb16c, 0xb16d, 0xb16e, 0xb16f, 0xb170, 0xb171, 0xb172,
    -    0xb173, 0xedf4, 0xedf2, 0xb174, 0xb175, 0xb176, 0xb177, 0xd5e6,
    -    0xc3df, 0xb178, 0xedf3, 0xb179, 0xb17a, 0xb17b, 0xedf6, 0xb17c,
    -    0xd5a3, 0xd1a3, 0xb17d, 0xb17e, 0xb180, 0xedf5, 0xb181, 0xc3d0,
    -    0xb182, 0xb183, 0xb184, 0xb185, 0xb186, 0xedf7, 0xbff4, 0xbeec,
    -    0xedf8, 0xb187, 0xccf7, 0xb188, 0xd1db, 0xb189, 0xb18a, 0xb18b,
    -    0xd7c5, 0xd5f6, 0xb18c, 0xedfc, 0xb18d, 0xb18e, 0xb18f, 0xedfb,
    -    0xb190, 0xb191, 0xb192, 0xb193, 0xb194, 0xb195, 0xb196, 0xb197,
    -    0xedf9, 0xedfa, 0xb198, 0xb199, 0xb19a, 0xb19b, 0xb19c, 0xb19d,
    -    0xb19e, 0xb19f, 0xedfd, 0xbea6, 0xb1a0, 0xb240, 0xb241, 0xb242,
    -    0xb243, 0xcbaf, 0xeea1, 0xb6bd, 0xb244, 0xeea2, 0xc4c0, 0xb245,
    -    0xedfe, 0xb246, 0xb247, 0xbdde, 0xb2c7, 0xb248, 0xb249, 0xb24a,
    -    0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f, 0xb250, 0xb251, 0xb252,
    -    0xb253, 0xb6c3, 0xb254, 0xb255, 0xb256, 0xeea5, 0xd8ba, 0xeea3,
    -    0xeea6, 0xb257, 0xb258, 0xb259, 0xc3e9, 0xb3f2, 0xb25a, 0xb25b,
    -    0xb25c, 0xb25d, 0xb25e, 0xb25f, 0xeea7, 0xeea4, 0xcfb9, 0xb260,
    -    0xb261, 0xeea8, 0xc2f7, 0xb262, 0xb263, 0xb264, 0xb265, 0xb266,
    -    0xb267, 0xb268, 0xb269, 0xb26a, 0xb26b, 0xb26c, 0xb26d, 0xeea9,
    -    0xeeaa, 0xb26e, 0xdeab, 0xb26f, 0xb270, 0xc6b3, 0xb271, 0xc7c6,
    -    0xb272, 0xd6f5, 0xb5c9, 0xb273, 0xcbb2, 0xb274, 0xb275, 0xb276,
    -    0xeeab, 0xb277, 0xb278, 0xcdab, 0xb279, 0xeeac, 0xb27a, 0xb27b,
    -    0xb27c, 0xb27d, 0xb27e, 0xd5b0, 0xb280, 0xeead, 0xb281, 0xf6c4,
    -    0xb282, 0xb283, 0xb284, 0xb285, 0xb286, 0xb287, 0xb288, 0xb289,
    -    0xb28a, 0xb28b, 0xb28c, 0xb28d, 0xb28e, 0xdbc7, 0xb28f, 0xb290,
    -    0xb291, 0xb292, 0xb293, 0xb294, 0xb295, 0xb296, 0xb297, 0xb4a3,
    -    0xb298, 0xb299, 0xb29a, 0xc3ac, 0xf1e6, 0xb29b, 0xb29c, 0xb29d,
    -    0xb29e, 0xb29f, 0xcab8, 0xd2d3, 0xb2a0, 0xd6aa, 0xb340, 0xeff2,
    -    0xb341, 0xbed8, 0xb342, 0xbdc3, 0xeff3, 0xb6cc, 0xb0ab, 0xb343,
    -    0xb344, 0xb345, 0xb346, 0xcaaf, 0xb347, 0xb348, 0xedb6, 0xb349,
    -    0xedb7, 0xb34a, 0xb34b, 0xb34c, 0xb34d, 0xcef9, 0xb7af, 0xbff3,
    -    /* 0x7800 .. 0x78ff */
    -    0xedb8, 0xc2eb, 0xc9b0, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352,
    -    0xb353, 0xedb9, 0xb354, 0xb355, 0xc6f6, 0xbfb3, 0xb356, 0xb357,
    -    0xb358, 0xedbc, 0xc5f8, 0xb359, 0xd1d0, 0xb35a, 0xd7a9, 0xedba,
    -    0xedbb, 0xb35b, 0xd1e2, 0xb35c, 0xedbf, 0xedc0, 0xb35d, 0xedc4,
    -    0xb35e, 0xb35f, 0xb360, 0xedc8, 0xb361, 0xedc6, 0xedce, 0xd5e8,
    -    0xb362, 0xedc9, 0xb363, 0xb364, 0xedc7, 0xedbe, 0xb365, 0xb366,
    -    0xc5e9, 0xb367, 0xb368, 0xb369, 0xc6c6, 0xb36a, 0xb36b, 0xc9e9,
    -    0xd4d2, 0xedc1, 0xedc2, 0xedc3, 0xedc5, 0xb36c, 0xc0f9, 0xb36d,
    -    0xb4a1, 0xb36e, 0xb36f, 0xb370, 0xb371, 0xb9e8, 0xb372, 0xedd0,
    -    0xb373, 0xb374, 0xb375, 0xb376, 0xedd1, 0xb377, 0xedca, 0xb378,
    -    0xedcf, 0xb379, 0xcef8, 0xb37a, 0xb37b, 0xcbb6, 0xedcc, 0xedcd,
    -    0xb37c, 0xb37d, 0xb37e, 0xb380, 0xb381, 0xcff5, 0xb382, 0xb383,
    -    0xb384, 0xb385, 0xb386, 0xb387, 0xb388, 0xb389, 0xb38a, 0xb38b,
    -    0xb38c, 0xb38d, 0xedd2, 0xc1f2, 0xd3b2, 0xedcb, 0xc8b7, 0xb38e,
    -    0xb38f, 0xb390, 0xb391, 0xb392, 0xb393, 0xb394, 0xb395, 0xbcef,
    -    0xb396, 0xb397, 0xb398, 0xb399, 0xc5f0, 0xb39a, 0xb39b, 0xb39c,
    -    0xb39d, 0xb39e, 0xb39f, 0xb3a0, 0xb440, 0xb441, 0xb442, 0xedd6,
    -    0xb443, 0xb5ef, 0xb444, 0xb445, 0xc2b5, 0xb0ad, 0xcbe9, 0xb446,
    -    0xb447, 0xb1ae, 0xb448, 0xedd4, 0xb449, 0xb44a, 0xb44b, 0xcdeb,
    -    0xb5e2, 0xb44c, 0xedd5, 0xedd3, 0xedd7, 0xb44d, 0xb44e, 0xb5fa,
    -    0xb44f, 0xedd8, 0xb450, 0xedd9, 0xb451, 0xeddc, 0xb452, 0xb1cc,
    -    0xb453, 0xb454, 0xb455, 0xb456, 0xb457, 0xb458, 0xb459, 0xb45a,
    -    0xc5f6, 0xbcee, 0xedda, 0xccbc, 0xb2ea, 0xb45b, 0xb45c, 0xb45d,
    -    0xb45e, 0xeddb, 0xb45f, 0xb460, 0xb461, 0xb462, 0xc4eb, 0xb463,
    -    0xb464, 0xb4c5, 0xb465, 0xb466, 0xb467, 0xb0f5, 0xb468, 0xb469,
    -    0xb46a, 0xeddf, 0xc0da, 0xb4e8, 0xb46b, 0xb46c, 0xb46d, 0xb46e,
    -    0xc5cd, 0xb46f, 0xb470, 0xb471, 0xeddd, 0xbfc4, 0xb472, 0xb473,
    -    0xb474, 0xedde, 0xb475, 0xb476, 0xb477, 0xb478, 0xb479, 0xb47a,
    -    0xb47b, 0xb47c, 0xb47d, 0xb47e, 0xb480, 0xb481, 0xb482, 0xb483,
    -    0xc4a5, 0xb484, 0xb485, 0xb486, 0xede0, 0xb487, 0xb488, 0xb489,
    -    0xb48a, 0xb48b, 0xede1, 0xb48c, 0xede3, 0xb48d, 0xb48e, 0xc1d7,
    -    0xb48f, 0xb490, 0xbbc7, 0xb491, 0xb492, 0xb493, 0xb494, 0xb495,
    -    /* 0x7900 .. 0x79ff */
    -    0xb496, 0xbdb8, 0xb497, 0xb498, 0xb499, 0xede2, 0xb49a, 0xb49b,
    -    0xb49c, 0xb49d, 0xb49e, 0xb49f, 0xb4a0, 0xb540, 0xb541, 0xb542,
    -    0xb543, 0xb544, 0xb545, 0xede4, 0xb546, 0xb547, 0xb548, 0xb549,
    -    0xb54a, 0xb54b, 0xb54c, 0xb54d, 0xb54e, 0xb54f, 0xede6, 0xb550,
    -    0xb551, 0xb552, 0xb553, 0xb554, 0xede5, 0xb555, 0xb556, 0xb557,
    -    0xb558, 0xb559, 0xb55a, 0xb55b, 0xb55c, 0xb55d, 0xb55e, 0xb55f,
    -    0xb560, 0xb561, 0xb562, 0xb563, 0xede7, 0xb564, 0xb565, 0xb566,
    -    0xb567, 0xb568, 0xcabe, 0xecea, 0xc0f1, 0xb569, 0xc9e7, 0xb56a,
    -    0xeceb, 0xc6ee, 0xb56b, 0xb56c, 0xb56d, 0xb56e, 0xecec, 0xb56f,
    -    0xc6ed, 0xeced, 0xb570, 0xb571, 0xb572, 0xb573, 0xb574, 0xb575,
    -    0xb576, 0xb577, 0xb578, 0xecf0, 0xb579, 0xb57a, 0xd7e6, 0xecf3,
    -    0xb57b, 0xb57c, 0xecf1, 0xecee, 0xecef, 0xd7a3, 0xc9f1, 0xcbee,
    -    0xecf4, 0xb57d, 0xecf2, 0xb57e, 0xb580, 0xcfe9, 0xb581, 0xecf6,
    -    0xc6b1, 0xb582, 0xb583, 0xb584, 0xb585, 0xbcc0, 0xb586, 0xecf5,
    -    0xb587, 0xb588, 0xb589, 0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xb5bb,
    -    0xbbf6, 0xb58e, 0xecf7, 0xb58f, 0xb590, 0xb591, 0xb592, 0xb593,
    -    0xd9f7, 0xbdfb, 0xb594, 0xb595, 0xc2bb, 0xecf8, 0xb596, 0xb597,
    -    0xb598, 0xb599, 0xecf9, 0xb59a, 0xb59b, 0xb59c, 0xb59d, 0xb8a3,
    -    0xb59e, 0xb59f, 0xb5a0, 0xb640, 0xb641, 0xb642, 0xb643, 0xb644,
    -    0xb645, 0xb646, 0xecfa, 0xb647, 0xb648, 0xb649, 0xb64a, 0xb64b,
    -    0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652, 0xecfb,
    -    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,
    -    0xb65b, 0xb65c, 0xb65d, 0xecfc, 0xb65e, 0xb65f, 0xb660, 0xb661,
    -    0xb662, 0xd3ed, 0xd8ae, 0xc0eb, 0xb663, 0xc7dd, 0xbacc, 0xb664,
    -    0xd0e3, 0xcbbd, 0xb665, 0xcdba, 0xb666, 0xb667, 0xb8d1, 0xb668,
    -    0xb669, 0xb1fc, 0xb66a, 0xc7ef, 0xb66b, 0xd6d6, 0xb66c, 0xb66d,
    -    0xb66e, 0xbfc6, 0xc3eb, 0xb66f, 0xb670, 0xeff5, 0xb671, 0xb672,
    -    0xc3d8, 0xb673, 0xb674, 0xb675, 0xb676, 0xb677, 0xb678, 0xd7e2,
    -    0xb679, 0xb67a, 0xb67b, 0xeff7, 0xb3d3, 0xb67c, 0xc7d8, 0xd1ed,
    -    0xb67d, 0xd6c8, 0xb67e, 0xeff8, 0xb680, 0xeff6, 0xb681, 0xbbfd,
    -    0xb3c6, 0xb682, 0xb683, 0xb684, 0xb685, 0xb686, 0xb687, 0xb688,
    -    0xbdd5, 0xb689, 0xb68a, 0xd2c6, 0xb68b, 0xbbe0, 0xb68c, 0xb68d,
    -    /* 0x7a00 .. 0x7aff */
    -    0xcfa1, 0xb68e, 0xeffc, 0xeffb, 0xb68f, 0xb690, 0xeff9, 0xb691,
    -    0xb692, 0xb693, 0xb694, 0xb3cc, 0xb695, 0xc9d4, 0xcbb0, 0xb696,
    -    0xb697, 0xb698, 0xb699, 0xb69a, 0xeffe, 0xb69b, 0xb69c, 0xb0de,
    -    0xb69d, 0xb69e, 0xd6c9, 0xb69f, 0xb6a0, 0xb740, 0xeffd, 0xb741,
    -    0xb3ed, 0xb742, 0xb743, 0xf6d5, 0xb744, 0xb745, 0xb746, 0xb747,
    -    0xb748, 0xb749, 0xb74a, 0xb74b, 0xb74c, 0xb74d, 0xb74e, 0xb74f,
    -    0xb750, 0xb751, 0xb752, 0xcec8, 0xb753, 0xb754, 0xb755, 0xf0a2,
    -    0xb756, 0xf0a1, 0xb757, 0xb5be, 0xbcda, 0xbbfc, 0xb758, 0xb8e5,
    -    0xb759, 0xb75a, 0xb75b, 0xb75c, 0xb75d, 0xb75e, 0xc4c2, 0xb75f,
    -    0xb760, 0xb761, 0xb762, 0xb763, 0xb764, 0xb765, 0xb766, 0xb767,
    -    0xb768, 0xf0a3, 0xb769, 0xb76a, 0xb76b, 0xb76c, 0xb76d, 0xcbeb,
    -    0xb76e, 0xb76f, 0xb770, 0xb771, 0xb772, 0xb773, 0xb774, 0xb775,
    -    0xb776, 0xb777, 0xb778, 0xb779, 0xb77a, 0xb77b, 0xb77c, 0xb77d,
    -    0xb77e, 0xb780, 0xb781, 0xb782, 0xb783, 0xb784, 0xb785, 0xb786,
    -    0xf0a6, 0xb787, 0xb788, 0xb789, 0xd1a8, 0xb78a, 0xbebf, 0xc7ee,
    -    0xf1b6, 0xf1b7, 0xbfd5, 0xb78b, 0xb78c, 0xb78d, 0xb78e, 0xb4a9,
    -    0xf1b8, 0xcdbb, 0xb78f, 0xc7d4, 0xd5ad, 0xb790, 0xf1b9, 0xb791,
    -    0xf1ba, 0xb792, 0xb793, 0xb794, 0xb795, 0xc7cf, 0xb796, 0xb797,
    -    0xb798, 0xd2a4, 0xd6cf, 0xb799, 0xb79a, 0xf1bb, 0xbdd1, 0xb4b0,
    -    0xbebd, 0xb79b, 0xb79c, 0xb79d, 0xb4dc, 0xced1, 0xb79e, 0xbfdf,
    -    0xf1bd, 0xb79f, 0xb7a0, 0xb840, 0xb841, 0xbffa, 0xf1bc, 0xb842,
    -    0xf1bf, 0xb843, 0xb844, 0xb845, 0xf1be, 0xf1c0, 0xb846, 0xb847,
    -    0xb848, 0xb849, 0xb84a, 0xf1c1, 0xb84b, 0xb84c, 0xb84d, 0xb84e,
    -    0xb84f, 0xb850, 0xb851, 0xb852, 0xb853, 0xb854, 0xb855, 0xc1fe,
    -    0xb856, 0xb857, 0xb858, 0xb859, 0xb85a, 0xb85b, 0xb85c, 0xb85d,
    -    0xb85e, 0xb85f, 0xb860, 0xc1a2, 0xb861, 0xb862, 0xb863, 0xb864,
    -    0xb865, 0xb866, 0xb867, 0xb868, 0xb869, 0xb86a, 0xcafa, 0xb86b,
    -    0xb86c, 0xd5be, 0xb86d, 0xb86e, 0xb86f, 0xb870, 0xbeba, 0xbeb9,
    -    0xd5c2, 0xb871, 0xb872, 0xbfa2, 0xb873, 0xcdaf, 0xf1b5, 0xb874,
    -    0xb875, 0xb876, 0xb877, 0xb878, 0xb879, 0xbddf, 0xb87a, 0xb6cb,
    -    0xb87b, 0xb87c, 0xb87d, 0xb87e, 0xb880, 0xb881, 0xb882, 0xb883,
    -    0xb884, 0xd6f1, 0xf3c3, 0xb885, 0xb886, 0xf3c4, 0xb887, 0xb8cd,
    -    /* 0x7b00 .. 0x7bff */
    -    0xb888, 0xb889, 0xb88a, 0xf3c6, 0xf3c7, 0xb88b, 0xb0ca, 0xb88c,
    -    0xf3c5, 0xb88d, 0xf3c9, 0xcbf1, 0xb88e, 0xb88f, 0xb890, 0xf3cb,
    -    0xb891, 0xd0a6, 0xb892, 0xb893, 0xb1ca, 0xf3c8, 0xb894, 0xb895,
    -    0xb896, 0xf3cf, 0xb897, 0xb5d1, 0xb898, 0xb899, 0xf3d7, 0xb89a,
    -    0xf3d2, 0xb89b, 0xb89c, 0xb89d, 0xf3d4, 0xf3d3, 0xb7fb, 0xb89e,
    -    0xb1bf, 0xb89f, 0xf3ce, 0xf3ca, 0xb5da, 0xb8a0, 0xf3d0, 0xb940,
    -    0xb941, 0xf3d1, 0xb942, 0xf3d5, 0xb943, 0xb944, 0xb945, 0xb946,
    -    0xf3cd, 0xb947, 0xbce3, 0xb948, 0xc1fd, 0xb949, 0xf3d6, 0xb94a,
    -    0xb94b, 0xb94c, 0xb94d, 0xb94e, 0xb94f, 0xf3da, 0xb950, 0xf3cc,
    -    0xb951, 0xb5c8, 0xb952, 0xbdee, 0xf3dc, 0xb953, 0xb954, 0xb7a4,
    -    0xbff0, 0xd6fe, 0xcdb2, 0xb955, 0xb4f0, 0xb956, 0xb2df, 0xb957,
    -    0xf3d8, 0xb958, 0xf3d9, 0xc9b8, 0xb959, 0xf3dd, 0xb95a, 0xb95b,
    -    0xf3de, 0xb95c, 0xf3e1, 0xb95d, 0xb95e, 0xb95f, 0xb960, 0xb961,
    -    0xb962, 0xb963, 0xb964, 0xb965, 0xb966, 0xb967, 0xf3df, 0xb968,
    -    0xb969, 0xf3e3, 0xf3e2, 0xb96a, 0xb96b, 0xf3db, 0xb96c, 0xbfea,
    -    0xb96d, 0xb3ef, 0xb96e, 0xf3e0, 0xb96f, 0xb970, 0xc7a9, 0xb971,
    -    0xbcf2, 0xb972, 0xb973, 0xb974, 0xb975, 0xf3eb, 0xb976, 0xb977,
    -    0xb978, 0xb979, 0xb97a, 0xb97b, 0xb97c, 0xb9bf, 0xb97d, 0xb97e,
    -    0xf3e4, 0xb980, 0xb981, 0xb982, 0xb2ad, 0xbbfe, 0xb983, 0xcbe3,
    -    0xb984, 0xb985, 0xb986, 0xb987, 0xf3ed, 0xf3e9, 0xb988, 0xb989,
    -    0xb98a, 0xb9dc, 0xf3ee, 0xb98b, 0xb98c, 0xb98d, 0xf3e5, 0xf3e6,
    -    0xf3ea, 0xc2e1, 0xf3ec, 0xf3ef, 0xf3e8, 0xbcfd, 0xb98e, 0xb98f,
    -    0xb990, 0xcfe4, 0xb991, 0xb992, 0xf3f0, 0xb993, 0xb994, 0xb995,
    -    0xf3e7, 0xb996, 0xb997, 0xb998, 0xb999, 0xb99a, 0xb99b, 0xb99c,
    -    0xb99d, 0xf3f2, 0xb99e, 0xb99f, 0xb9a0, 0xba40, 0xd7ad, 0xc6aa,
    -    0xba41, 0xba42, 0xba43, 0xba44, 0xf3f3, 0xba45, 0xba46, 0xba47,
    -    0xba48, 0xf3f1, 0xba49, 0xc2a8, 0xba4a, 0xba4b, 0xba4c, 0xba4d,
    -    0xba4e, 0xb8dd, 0xf3f5, 0xba4f, 0xba50, 0xf3f4, 0xba51, 0xba52,
    -    0xba53, 0xb4db, 0xba54, 0xba55, 0xba56, 0xf3f6, 0xf3f7, 0xba57,
    -    0xba58, 0xba59, 0xf3f8, 0xba5a, 0xba5b, 0xba5c, 0xc0ba, 0xba5d,
    -    0xba5e, 0xc0e9, 0xba5f, 0xba60, 0xba61, 0xba62, 0xba63, 0xc5f1,
    -    0xba64, 0xba65, 0xba66, 0xba67, 0xf3fb, 0xba68, 0xf3fa, 0xba69,
    -    /* 0x7c00 .. 0x7cff */
    -    0xba6a, 0xba6b, 0xba6c, 0xba6d, 0xba6e, 0xba6f, 0xba70, 0xb4d8,
    -    0xba71, 0xba72, 0xba73, 0xf3fe, 0xf3f9, 0xba74, 0xba75, 0xf3fc,
    -    0xba76, 0xba77, 0xba78, 0xba79, 0xba7a, 0xba7b, 0xf3fd, 0xba7c,
    -    0xba7d, 0xba7e, 0xba80, 0xba81, 0xba82, 0xba83, 0xba84, 0xf4a1,
    -    0xba85, 0xba86, 0xba87, 0xba88, 0xba89, 0xba8a, 0xf4a3, 0xbbc9,
    -    0xba8b, 0xba8c, 0xf4a2, 0xba8d, 0xba8e, 0xba8f, 0xba90, 0xba91,
    -    0xba92, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,
    -    0xf4a4, 0xba9a, 0xba9b, 0xba9c, 0xba9d, 0xba9e, 0xba9f, 0xb2be,
    -    0xf4a6, 0xf4a5, 0xbaa0, 0xbb40, 0xbb41, 0xbb42, 0xbb43, 0xbb44,
    -    0xbb45, 0xbb46, 0xbb47, 0xbb48, 0xbb49, 0xbcae, 0xbb4a, 0xbb4b,
    -    0xbb4c, 0xbb4d, 0xbb4e, 0xbb4f, 0xbb50, 0xbb51, 0xbb52, 0xbb53,
    -    0xbb54, 0xbb55, 0xbb56, 0xbb57, 0xbb58, 0xbb59, 0xbb5a, 0xbb5b,
    -    0xbb5c, 0xbb5d, 0xbb5e, 0xbb5f, 0xbb60, 0xbb61, 0xbb62, 0xbb63,
    -    0xbb64, 0xbb65, 0xbb66, 0xbb67, 0xbb68, 0xbb69, 0xbb6a, 0xbb6b,
    -    0xbb6c, 0xbb6d, 0xbb6e, 0xc3d7, 0xd9e1, 0xbb6f, 0xbb70, 0xbb71,
    -    0xbb72, 0xbb73, 0xbb74, 0xc0e0, 0xf4cc, 0xd7d1, 0xbb75, 0xbb76,
    -    0xbb77, 0xbb78, 0xbb79, 0xbb7a, 0xbb7b, 0xbb7c, 0xbb7d, 0xbb7e,
    -    0xbb80, 0xb7db, 0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86,
    -    0xbb87, 0xf4ce, 0xc1a3, 0xbb88, 0xbb89, 0xc6c9, 0xbb8a, 0xb4d6,
    -    0xd5b3, 0xbb8b, 0xbb8c, 0xbb8d, 0xf4d0, 0xf4cf, 0xf4d1, 0xcbda,
    -    0xbb8e, 0xbb8f, 0xf4d2, 0xbb90, 0xd4c1, 0xd6e0, 0xbb91, 0xbb92,
    -    0xbb93, 0xbb94, 0xb7e0, 0xbb95, 0xbb96, 0xbb97, 0xc1b8, 0xbb98,
    -    0xbb99, 0xc1bb, 0xf4d3, 0xbeac, 0xbb9a, 0xbb9b, 0xbb9c, 0xbb9d,
    -    0xbb9e, 0xb4e2, 0xbb9f, 0xbba0, 0xf4d4, 0xf4d5, 0xbeab, 0xbc40,
    -    0xbc41, 0xf4d6, 0xbc42, 0xbc43, 0xbc44, 0xf4db, 0xbc45, 0xf4d7,
    -    0xf4da, 0xbc46, 0xbafd, 0xbc47, 0xf4d8, 0xf4d9, 0xbc48, 0xbc49,
    -    0xbc4a, 0xbc4b, 0xbc4c, 0xbc4d, 0xbc4e, 0xb8e2, 0xccc7, 0xf4dc,
    -    0xbc4f, 0xb2da, 0xbc50, 0xbc51, 0xc3d3, 0xbc52, 0xbc53, 0xd4e3,
    -    0xbfb7, 0xbc54, 0xbc55, 0xbc56, 0xbc57, 0xbc58, 0xbc59, 0xbc5a,
    -    0xf4dd, 0xbc5b, 0xbc5c, 0xbc5d, 0xbc5e, 0xbc5f, 0xbc60, 0xc5b4,
    -    0xbc61, 0xbc62, 0xbc63, 0xbc64, 0xbc65, 0xbc66, 0xbc67, 0xbc68,
    -    0xf4e9, 0xbc69, 0xbc6a, 0xcfb5, 0xbc6b, 0xbc6c, 0xbc6d, 0xbc6e,
    -    /* 0x7d00 .. 0x7dff */
    -    0xbc6f, 0xbc70, 0xbc71, 0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76,
    -    0xbc77, 0xbc78, 0xcec9, 0xbc79, 0xbc7a, 0xbc7b, 0xbc7c, 0xbc7d,
    -    0xbc7e, 0xbc80, 0xbc81, 0xbc82, 0xbc83, 0xbc84, 0xbc85, 0xbc86,
    -    0xbc87, 0xbc88, 0xbc89, 0xbc8a, 0xbc8b, 0xbc8c, 0xbc8d, 0xbc8e,
    -    0xcbd8, 0xbc8f, 0xcbf7, 0xbc90, 0xbc91, 0xbc92, 0xbc93, 0xbdf4,
    -    0xbc94, 0xbc95, 0xbc96, 0xd7cf, 0xbc97, 0xbc98, 0xbc99, 0xc0db,
    -    0xbc9a, 0xbc9b, 0xbc9c, 0xbc9d, 0xbc9e, 0xbc9f, 0xbca0, 0xbd40,
    -    0xbd41, 0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd48,
    -    0xbd49, 0xbd4a, 0xbd4b, 0xbd4c, 0xbd4d, 0xbd4e, 0xbd4f, 0xbd50,
    -    0xbd51, 0xbd52, 0xbd53, 0xbd54, 0xbd55, 0xbd56, 0xbd57, 0xbd58,
    -    0xbd59, 0xbd5a, 0xbd5b, 0xbd5c, 0xbd5d, 0xbd5e, 0xbd5f, 0xbd60,
    -    0xbd61, 0xbd62, 0xbd63, 0xbd64, 0xbd65, 0xbd66, 0xbd67, 0xbd68,
    -    0xbd69, 0xbd6a, 0xbd6b, 0xbd6c, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70,
    -    0xbd71, 0xbd72, 0xbd73, 0xbd74, 0xbd75, 0xbd76, 0xd0f5, 0xbd77,
    -    0xbd78, 0xbd79, 0xbd7a, 0xbd7b, 0xbd7c, 0xbd7d, 0xbd7e, 0xf4ea,
    -    0xbd80, 0xbd81, 0xbd82, 0xbd83, 0xbd84, 0xbd85, 0xbd86, 0xbd87,
    -    0xbd88, 0xbd89, 0xbd8a, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f,
    -    0xbd90, 0xbd91, 0xbd92, 0xbd93, 0xbd94, 0xbd95, 0xbd96, 0xbd97,
    -    0xbd98, 0xbd99, 0xbd9a, 0xbd9b, 0xbd9c, 0xbd9d, 0xbd9e, 0xbd9f,
    -    0xbda0, 0xbe40, 0xbe41, 0xbe42, 0xbe43, 0xbe44, 0xbe45, 0xbe46,
    -    0xbe47, 0xbe48, 0xbe49, 0xbe4a, 0xbe4b, 0xbe4c, 0xf4eb, 0xbe4d,
    -    0xbe4e, 0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53, 0xf4ec, 0xbe54,
    -    0xbe55, 0xbe56, 0xbe57, 0xbe58, 0xbe59, 0xbe5a, 0xbe5b, 0xbe5c,
    -    0xbe5d, 0xbe5e, 0xbe5f, 0xbe60, 0xbe61, 0xbe62, 0xbe63, 0xbe64,
    -    0xbe65, 0xbe66, 0xbe67, 0xbe68, 0xbe69, 0xbe6a, 0xbe6b, 0xbe6c,
    -    0xbe6d, 0xbe6e, 0xbe6f, 0xbe70, 0xbe71, 0xbe72, 0xbe73, 0xbe74,
    -    0xbe75, 0xbe76, 0xbe77, 0xbe78, 0xbe79, 0xbe7a, 0xbe7b, 0xbe7c,
    -    0xbe7d, 0xbe7e, 0xbe80, 0xbe81, 0xbe82, 0xbe83, 0xbe84, 0xbe85,
    -    0xbe86, 0xbe87, 0xbe88, 0xbe89, 0xbe8a, 0xbe8b, 0xbe8c, 0xbe8d,
    -    0xbe8e, 0xbe8f, 0xbe90, 0xbe91, 0xbe92, 0xbe93, 0xbe94, 0xbe95,
    -    0xbe96, 0xbe97, 0xbe98, 0xbe99, 0xbe9a, 0xbe9b, 0xbe9c, 0xbe9d,
    -    0xbe9e, 0xbe9f, 0xbea0, 0xbf40, 0xbf41, 0xbf42, 0xbf43, 0xbf44,
    -    /* 0x7e00 .. 0x7eff */
    -    0xbf45, 0xbf46, 0xbf47, 0xbf48, 0xbf49, 0xbf4a, 0xbf4b, 0xbf4c,
    -    0xbf4d, 0xbf4e, 0xbf4f, 0xbf50, 0xbf51, 0xbf52, 0xbf53, 0xbf54,
    -    0xbf55, 0xbf56, 0xbf57, 0xbf58, 0xbf59, 0xbf5a, 0xbf5b, 0xbf5c,
    -    0xbf5d, 0xbf5e, 0xbf5f, 0xbf60, 0xbf61, 0xbf62, 0xbf63, 0xbf64,
    -    0xbf65, 0xbf66, 0xbf67, 0xbf68, 0xbf69, 0xbf6a, 0xbf6b, 0xbf6c,
    -    0xbf6d, 0xbf6e, 0xbf6f, 0xbf70, 0xbf71, 0xbf72, 0xbf73, 0xbf74,
    -    0xbf75, 0xbf76, 0xbf77, 0xbf78, 0xbf79, 0xbf7a, 0xbf7b, 0xbf7c,
    -    0xbf7d, 0xbf7e, 0xbf80, 0xf7e3, 0xbf81, 0xbf82, 0xbf83, 0xbf84,
    -    0xbf85, 0xb7b1, 0xbf86, 0xbf87, 0xbf88, 0xbf89, 0xbf8a, 0xf4ed,
    -    0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90, 0xbf91, 0xbf92,
    -    0xbf93, 0xbf94, 0xbf95, 0xbf96, 0xbf97, 0xbf98, 0xbf99, 0xbf9a,
    -    0xbf9b, 0xbf9c, 0xbf9d, 0xbf9e, 0xbf9f, 0xbfa0, 0xc040, 0xc041,
    -    0xc042, 0xc043, 0xc044, 0xc045, 0xc046, 0xc047, 0xc048, 0xc049,
    -    0xc04a, 0xc04b, 0xc04c, 0xc04d, 0xc04e, 0xc04f, 0xc050, 0xc051,
    -    0xc052, 0xc053, 0xc054, 0xc055, 0xc056, 0xc057, 0xc058, 0xc059,
    -    0xc05a, 0xc05b, 0xc05c, 0xc05d, 0xc05e, 0xc05f, 0xc060, 0xc061,
    -    0xc062, 0xc063, 0xd7eb, 0xc064, 0xc065, 0xc066, 0xc067, 0xc068,
    -    0xc069, 0xc06a, 0xc06b, 0xc06c, 0xc06d, 0xc06e, 0xc06f, 0xc070,
    -    0xc071, 0xc072, 0xc073, 0xc074, 0xc075, 0xc076, 0xc077, 0xc078,
    -    0xc079, 0xc07a, 0xc07b, 0xf4ee, 0xc07c, 0xc07d, 0xc07e, 0xe6f9,
    -    0xbec0, 0xe6fa, 0xbaec, 0xe6fb, 0xcfcb, 0xe6fc, 0xd4bc, 0xbcb6,
    -    0xe6fd, 0xe6fe, 0xbccd, 0xc8d2, 0xceb3, 0xe7a1, 0xc080, 0xb4bf,
    -    0xe7a2, 0xc9b4, 0xb8d9, 0xc4c9, 0xc081, 0xd7dd, 0xc2da, 0xb7d7,
    -    0xd6bd, 0xcec6, 0xb7c4, 0xc082, 0xc083, 0xc5a6, 0xe7a3, 0xcfdf,
    -    0xe7a4, 0xe7a5, 0xe7a6, 0xc1b7, 0xd7e9, 0xc9f0, 0xcfb8, 0xd6af,
    -    0xd6d5, 0xe7a7, 0xb0ed, 0xe7a8, 0xe7a9, 0xc9dc, 0xd2ef, 0xbead,
    -    0xe7aa, 0xb0f3, 0xc8de, 0xbde1, 0xe7ab, 0xc8c6, 0xc084, 0xe7ac,
    -    0xbbe6, 0xb8f8, 0xd1a4, 0xe7ad, 0xc2e7, 0xbef8, 0xbdca, 0xcdb3,
    -    0xe7ae, 0xe7af, 0xbeee, 0xd0e5, 0xc085, 0xcbe7, 0xccd0, 0xbccc,
    -    0xe7b0, 0xbca8, 0xd0f7, 0xe7b1, 0xc086, 0xd0f8, 0xe7b2, 0xe7b3,
    -    0xb4c2, 0xe7b4, 0xe7b5, 0xc9fe, 0xceac, 0xc3e0, 0xe7b7, 0xb1c1,
    -    0xb3f1, 0xc087, 0xe7b8, 0xe7b9, 0xd7db, 0xd5c0, 0xe7ba, 0xc2cc,
    -    /* 0x7f00 .. 0x7fff */
    -    0xd7ba, 0xe7bb, 0xe7bc, 0xe7bd, 0xbcea, 0xc3e5, 0xc0c2, 0xe7be,
    -    0xe7bf, 0xbca9, 0xc088, 0xe7c0, 0xe7c1, 0xe7b6, 0xb6d0, 0xe7c2,
    -    0xc089, 0xe7c3, 0xe7c4, 0xbbba, 0xb5de, 0xc2c6, 0xb1e0, 0xe7c5,
    -    0xd4b5, 0xe7c6, 0xb8bf, 0xe7c8, 0xe7c7, 0xb7ec, 0xc08a, 0xe7c9,
    -    0xb2f8, 0xe7ca, 0xe7cb, 0xe7cc, 0xe7cd, 0xe7ce, 0xe7cf, 0xe7d0,
    -    0xd3a7, 0xcbf5, 0xe7d1, 0xe7d2, 0xe7d3, 0xe7d4, 0xc9c9, 0xe7d5,
    -    0xe7d6, 0xe7d7, 0xe7d8, 0xe7d9, 0xbdc9, 0xe7da, 0xf3be, 0xc08b,
    -    0xb8d7, 0xc08c, 0xc8b1, 0xc08d, 0xc08e, 0xc08f, 0xc090, 0xc091,
    -    0xc092, 0xc093, 0xf3bf, 0xc094, 0xf3c0, 0xf3c1, 0xc095, 0xc096,
    -    0xc097, 0xc098, 0xc099, 0xc09a, 0xc09b, 0xc09c, 0xc09d, 0xc09e,
    -    0xb9de, 0xcdf8, 0xc09f, 0xc0a0, 0xd8e8, 0xbab1, 0xc140, 0xc2de,
    -    0xeeb7, 0xc141, 0xb7a3, 0xc142, 0xc143, 0xc144, 0xc145, 0xeeb9,
    -    0xc146, 0xeeb8, 0xb0d5, 0xc147, 0xc148, 0xc149, 0xc14a, 0xc14b,
    -    0xeebb, 0xd5d6, 0xd7ef, 0xc14c, 0xc14d, 0xc14e, 0xd6c3, 0xc14f,
    -    0xc150, 0xeebd, 0xcaf0, 0xc151, 0xeebc, 0xc152, 0xc153, 0xc154,
    -    0xc155, 0xeebe, 0xc156, 0xc157, 0xc158, 0xc159, 0xeec0, 0xc15a,
    -    0xc15b, 0xeebf, 0xc15c, 0xc15d, 0xc15e, 0xc15f, 0xc160, 0xc161,
    -    0xc162, 0xc163, 0xd1f2, 0xc164, 0xc7bc, 0xc165, 0xc3c0, 0xc166,
    -    0xc167, 0xc168, 0xc169, 0xc16a, 0xb8e1, 0xc16b, 0xc16c, 0xc16d,
    -    0xc16e, 0xc16f, 0xc1e7, 0xc170, 0xc171, 0xf4c6, 0xd0df, 0xf4c7,
    -    0xc172, 0xcfdb, 0xc173, 0xc174, 0xc8ba, 0xc175, 0xc176, 0xf4c8,
    -    0xc177, 0xc178, 0xc179, 0xc17a, 0xc17b, 0xc17c, 0xc17d, 0xf4c9,
    -    0xf4ca, 0xc17e, 0xf4cb, 0xc180, 0xc181, 0xc182, 0xc183, 0xc184,
    -    0xd9fa, 0xb8fe, 0xc185, 0xc186, 0xe5f1, 0xd3f0, 0xc187, 0xf4e0,
    -    0xc188, 0xcecc, 0xc189, 0xc18a, 0xc18b, 0xb3e1, 0xc18c, 0xc18d,
    -    0xc18e, 0xc18f, 0xf1b4, 0xc190, 0xd2ee, 0xc191, 0xf4e1, 0xc192,
    -    0xc193, 0xc194, 0xc195, 0xc196, 0xcfe8, 0xf4e2, 0xc197, 0xc198,
    -    0xc7cc, 0xc199, 0xc19a, 0xc19b, 0xc19c, 0xc19d, 0xc19e, 0xb5d4,
    -    0xb4e4, 0xf4e4, 0xc19f, 0xc1a0, 0xc240, 0xf4e3, 0xf4e5, 0xc241,
    -    0xc242, 0xf4e6, 0xc243, 0xc244, 0xc245, 0xc246, 0xf4e7, 0xc247,
    -    0xbab2, 0xb0bf, 0xc248, 0xf4e8, 0xc249, 0xc24a, 0xc24b, 0xc24c,
    -    0xc24d, 0xc24e, 0xc24f, 0xb7ad, 0xd2ed, 0xc250, 0xc251, 0xc252,
    -    /* 0x8000 .. 0x80ff */
    -    0xd2ab, 0xc0cf, 0xc253, 0xbfbc, 0xeba3, 0xd5df, 0xeac8, 0xc254,
    -    0xc255, 0xc256, 0xc257, 0xf1f3, 0xb6f8, 0xcba3, 0xc258, 0xc259,
    -    0xc4cd, 0xc25a, 0xf1e7, 0xc25b, 0xf1e8, 0xb8fb, 0xf1e9, 0xbac4,
    -    0xd4c5, 0xb0d2, 0xc25c, 0xc25d, 0xf1ea, 0xc25e, 0xc25f, 0xc260,
    -    0xf1eb, 0xc261, 0xf1ec, 0xc262, 0xc263, 0xf1ed, 0xf1ee, 0xf1ef,
    -    0xf1f1, 0xf1f0, 0xc5d5, 0xc264, 0xc265, 0xc266, 0xc267, 0xc268,
    -    0xc269, 0xf1f2, 0xc26a, 0xb6fa, 0xc26b, 0xf1f4, 0xd2ae, 0xdec7,
    -    0xcbca, 0xc26c, 0xc26d, 0xb3dc, 0xc26e, 0xb5a2, 0xc26f, 0xb9a2,
    -    0xc270, 0xc271, 0xc4f4, 0xf1f5, 0xc272, 0xc273, 0xf1f6, 0xc274,
    -    0xc275, 0xc276, 0xc1c4, 0xc1fb, 0xd6b0, 0xf1f7, 0xc277, 0xc278,
    -    0xc279, 0xc27a, 0xf1f8, 0xc27b, 0xc1aa, 0xc27c, 0xc27d, 0xc27e,
    -    0xc6b8, 0xc280, 0xbedb, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285,
    -    0xc286, 0xc287, 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d,
    -    0xc28e, 0xf1f9, 0xb4cf, 0xc28f, 0xc290, 0xc291, 0xc292, 0xc293,
    -    0xc294, 0xf1fa, 0xc295, 0xc296, 0xc297, 0xc298, 0xc299, 0xc29a,
    -    0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f, 0xc2a0, 0xc340, 0xedb2,
    -    0xedb1, 0xc341, 0xc342, 0xcbe0, 0xd2de, 0xc343, 0xcbc1, 0xd5d8,
    -    0xc344, 0xc8e2, 0xc345, 0xc0df, 0xbca1, 0xc346, 0xc347, 0xc348,
    -    0xc349, 0xc34a, 0xc34b, 0xebc1, 0xc34c, 0xc34d, 0xd0a4, 0xc34e,
    -    0xd6e2, 0xc34f, 0xb6c7, 0xb8d8, 0xebc0, 0xb8ce, 0xc350, 0xebbf,
    -    0xb3a6, 0xb9c9, 0xd6ab, 0xc351, 0xb7f4, 0xb7ca, 0xc352, 0xc353,
    -    0xc354, 0xbce7, 0xb7be, 0xebc6, 0xc355, 0xebc7, 0xb0b9, 0xbfcf,
    -    0xc356, 0xebc5, 0xd3fd, 0xc357, 0xebc8, 0xc358, 0xc359, 0xebc9,
    -    0xc35a, 0xc35b, 0xb7ce, 0xc35c, 0xebc2, 0xebc4, 0xc9f6, 0xd6d7,
    -    0xd5cd, 0xd0b2, 0xebcf, 0xceb8, 0xebd0, 0xc35d, 0xb5a8, 0xc35e,
    -    0xc35f, 0xc360, 0xc361, 0xc362, 0xb1b3, 0xebd2, 0xcca5, 0xc363,
    -    0xc364, 0xc365, 0xc366, 0xc367, 0xc368, 0xc369, 0xc5d6, 0xebd3,
    -    0xc36a, 0xebd1, 0xc5df, 0xebce, 0xcaa4, 0xebd5, 0xb0fb, 0xc36b,
    -    0xc36c, 0xbafa, 0xc36d, 0xc36e, 0xd8b7, 0xf1e3, 0xc36f, 0xebca,
    -    0xebcb, 0xebcc, 0xebcd, 0xebd6, 0xe6c0, 0xebd9, 0xc370, 0xbfe8,
    -    0xd2c8, 0xebd7, 0xebdc, 0xb8ec, 0xebd8, 0xc371, 0xbdba, 0xc372,
    -    0xd0d8, 0xc373, 0xb0b7, 0xc374, 0xebdd, 0xc4dc, 0xc375, 0xc376,
    -    /* 0x8100 .. 0x81ff */
    -    0xc377, 0xc378, 0xd6ac, 0xc379, 0xc37a, 0xc37b, 0xb4e0, 0xc37c,
    -    0xc37d, 0xc2f6, 0xbcb9, 0xc37e, 0xc380, 0xebda, 0xebdb, 0xd4e0,
    -    0xc6ea, 0xc4d4, 0xebdf, 0xc5a7, 0xd9f5, 0xc381, 0xb2b1, 0xc382,
    -    0xebe4, 0xc383, 0xbdc5, 0xc384, 0xc385, 0xc386, 0xebe2, 0xc387,
    -    0xc388, 0xc389, 0xc38a, 0xc38b, 0xc38c, 0xc38d, 0xc38e, 0xc38f,
    -    0xc390, 0xc391, 0xc392, 0xc393, 0xebe3, 0xc394, 0xc395, 0xb8ac,
    -    0xc396, 0xcdd1, 0xebe5, 0xc397, 0xc398, 0xc399, 0xebe1, 0xc39a,
    -    0xc1b3, 0xc39b, 0xc39c, 0xc39d, 0xc39e, 0xc39f, 0xc6a2, 0xc3a0,
    -    0xc440, 0xc441, 0xc442, 0xc443, 0xc444, 0xc445, 0xccf3, 0xc446,
    -    0xebe6, 0xc447, 0xc0b0, 0xd2b8, 0xebe7, 0xc448, 0xc449, 0xc44a,
    -    0xb8af, 0xb8ad, 0xc44b, 0xebe8, 0xc7bb, 0xcdf3, 0xc44c, 0xc44d,
    -    0xc44e, 0xebea, 0xebeb, 0xc44f, 0xc450, 0xc451, 0xc452, 0xc453,
    -    0xebed, 0xc454, 0xc455, 0xc456, 0xc457, 0xd0c8, 0xc458, 0xebf2,
    -    0xc459, 0xebee, 0xc45a, 0xc45b, 0xc45c, 0xebf1, 0xc8f9, 0xc45d,
    -    0xd1fc, 0xebec, 0xc45e, 0xc45f, 0xebe9, 0xc460, 0xc461, 0xc462,
    -    0xc463, 0xb8b9, 0xcfd9, 0xc4e5, 0xebef, 0xebf0, 0xccda, 0xcdc8,
    -    0xb0f2, 0xc464, 0xebf6, 0xc465, 0xc466, 0xc467, 0xc468, 0xc469,
    -    0xebf5, 0xc46a, 0xb2b2, 0xc46b, 0xc46c, 0xc46d, 0xc46e, 0xb8e0,
    -    0xc46f, 0xebf7, 0xc470, 0xc471, 0xc472, 0xc473, 0xc474, 0xc475,
    -    0xb1ec, 0xc476, 0xc477, 0xccc5, 0xc4a4, 0xcfa5, 0xc478, 0xc479,
    -    0xc47a, 0xc47b, 0xc47c, 0xebf9, 0xc47d, 0xc47e, 0xeca2, 0xc480,
    -    0xc5f2, 0xc481, 0xebfa, 0xc482, 0xc483, 0xc484, 0xc485, 0xc486,
    -    0xc487, 0xc488, 0xc489, 0xc9c5, 0xc48a, 0xc48b, 0xc48c, 0xc48d,
    -    0xc48e, 0xc48f, 0xe2df, 0xebfe, 0xc490, 0xc491, 0xc492, 0xc493,
    -    0xcdce, 0xeca1, 0xb1db, 0xd3b7, 0xc494, 0xc495, 0xd2dc, 0xc496,
    -    0xc497, 0xc498, 0xebfd, 0xc499, 0xebfb, 0xc49a, 0xc49b, 0xc49c,
    -    0xc49d, 0xc49e, 0xc49f, 0xc4a0, 0xc540, 0xc541, 0xc542, 0xc543,
    -    0xc544, 0xc545, 0xc546, 0xc547, 0xc548, 0xc549, 0xc54a, 0xc54b,
    -    0xc54c, 0xc54d, 0xc54e, 0xb3bc, 0xc54f, 0xc550, 0xc551, 0xeab0,
    -    0xc552, 0xc553, 0xd7d4, 0xc554, 0xf4ab, 0xb3f4, 0xc555, 0xc556,
    -    0xc557, 0xc558, 0xc559, 0xd6c1, 0xd6c2, 0xc55a, 0xc55b, 0xc55c,
    -    0xc55d, 0xc55e, 0xc55f, 0xd5e9, 0xbeca, 0xc560, 0xf4a7, 0xc561,
    -    /* 0x8200 .. 0x82ff */
    -    0xd2a8, 0xf4a8, 0xf4a9, 0xc562, 0xf4aa, 0xbecb, 0xd3df, 0xc563,
    -    0xc564, 0xc565, 0xc566, 0xc567, 0xc9e0, 0xc9e1, 0xc568, 0xc569,
    -    0xf3c2, 0xc56a, 0xcae6, 0xc56b, 0xccf2, 0xc56c, 0xc56d, 0xc56e,
    -    0xc56f, 0xc570, 0xc571, 0xe2b6, 0xcbb4, 0xc572, 0xcee8, 0xd6db,
    -    0xc573, 0xf4ad, 0xf4ae, 0xf4af, 0xc574, 0xc575, 0xc576, 0xc577,
    -    0xf4b2, 0xc578, 0xbabd, 0xf4b3, 0xb0e3, 0xf4b0, 0xc579, 0xf4b1,
    -    0xbda2, 0xb2d5, 0xc57a, 0xf4b6, 0xf4b7, 0xb6e6, 0xb2b0, 0xcfcf,
    -    0xf4b4, 0xb4ac, 0xc57b, 0xf4b5, 0xc57c, 0xc57d, 0xf4b8, 0xc57e,
    -    0xc580, 0xc581, 0xc582, 0xc583, 0xf4b9, 0xc584, 0xc585, 0xcda7,
    -    0xc586, 0xf4ba, 0xc587, 0xf4bb, 0xc588, 0xc589, 0xc58a, 0xf4bc,
    -    0xc58b, 0xc58c, 0xc58d, 0xc58e, 0xc58f, 0xc590, 0xc591, 0xc592,
    -    0xcbd2, 0xc593, 0xf4bd, 0xc594, 0xc595, 0xc596, 0xc597, 0xf4be,
    -    0xc598, 0xc599, 0xc59a, 0xc59b, 0xc59c, 0xc59d, 0xc59e, 0xc59f,
    -    0xf4bf, 0xc5a0, 0xc640, 0xc641, 0xc642, 0xc643, 0xf4de, 0xc1bc,
    -    0xbce8, 0xc644, 0xc9ab, 0xd1de, 0xe5f5, 0xc645, 0xc646, 0xc647,
    -    0xc648, 0xdcb3, 0xd2d5, 0xc649, 0xc64a, 0xdcb4, 0xb0ac, 0xdcb5,
    -    0xc64b, 0xc64c, 0xbdda, 0xc64d, 0xdcb9, 0xc64e, 0xc64f, 0xc650,
    -    0xd8c2, 0xc651, 0xdcb7, 0xd3f3, 0xc652, 0xc9d6, 0xdcba, 0xdcb6,
    -    0xc653, 0xdcbb, 0xc3a2, 0xc654, 0xc655, 0xc656, 0xc657, 0xdcbc,
    -    0xdcc5, 0xdcbd, 0xc658, 0xc659, 0xcedf, 0xd6a5, 0xc65a, 0xdccf,
    -    0xc65b, 0xdccd, 0xc65c, 0xc65d, 0xdcd2, 0xbde6, 0xc2ab, 0xc65e,
    -    0xdcb8, 0xdccb, 0xdcce, 0xdcbe, 0xb7d2, 0xb0c5, 0xdcc7, 0xd0be,
    -    0xdcc1, 0xbba8, 0xc65f, 0xb7bc, 0xdccc, 0xc660, 0xc661, 0xdcc6,
    -    0xdcbf, 0xc7db, 0xc662, 0xc663, 0xc664, 0xd1bf, 0xdcc0, 0xc665,
    -    0xc666, 0xdcca, 0xc667, 0xc668, 0xdcd0, 0xc669, 0xc66a, 0xcead,
    -    0xdcc2, 0xc66b, 0xdcc3, 0xdcc8, 0xdcc9, 0xb2d4, 0xdcd1, 0xcbd5,
    -    0xc66c, 0xd4b7, 0xdcdb, 0xdcdf, 0xcca6, 0xdce6, 0xc66d, 0xc3e7,
    -    0xdcdc, 0xc66e, 0xc66f, 0xbfc1, 0xdcd9, 0xc670, 0xb0fa, 0xb9b6,
    -    0xdce5, 0xdcd3, 0xc671, 0xdcc4, 0xdcd6, 0xc8f4, 0xbfe0, 0xc672,
    -    0xc673, 0xc674, 0xc675, 0xc9bb, 0xc676, 0xc677, 0xc678, 0xb1bd,
    -    0xc679, 0xd3a2, 0xc67a, 0xc67b, 0xdcda, 0xc67c, 0xc67d, 0xdcd5,
    -    0xc67e, 0xc6bb, 0xc680, 0xdcde, 0xc681, 0xc682, 0xc683, 0xc684,
    -    /* 0x8300 .. 0x83ff */
    -    0xc685, 0xd7c2, 0xc3af, 0xb7b6, 0xc7d1, 0xc3a9, 0xdce2, 0xdcd8,
    -    0xdceb, 0xdcd4, 0xc686, 0xc687, 0xdcdd, 0xc688, 0xbea5, 0xdcd7,
    -    0xc689, 0xdce0, 0xc68a, 0xc68b, 0xdce3, 0xdce4, 0xc68c, 0xdcf8,
    -    0xc68d, 0xc68e, 0xdce1, 0xdda2, 0xdce7, 0xc68f, 0xc690, 0xc691,
    -    0xc692, 0xc693, 0xc694, 0xc695, 0xc696, 0xc697, 0xc698, 0xbceb,
    -    0xb4c4, 0xc699, 0xc69a, 0xc3a3, 0xb2e7, 0xdcfa, 0xc69b, 0xdcf2,
    -    0xc69c, 0xdcef, 0xc69d, 0xdcfc, 0xdcee, 0xd2f0, 0xb2e8, 0xc69e,
    -    0xc8d7, 0xc8e3, 0xdcfb, 0xc69f, 0xdced, 0xc6a0, 0xc740, 0xc741,
    -    0xdcf7, 0xc742, 0xc743, 0xdcf5, 0xc744, 0xc745, 0xbea3, 0xdcf4,
    -    0xc746, 0xb2dd, 0xc747, 0xc748, 0xc749, 0xc74a, 0xc74b, 0xdcf3,
    -    0xbcf6, 0xdce8, 0xbbc4, 0xc74c, 0xc0f3, 0xc74d, 0xc74e, 0xc74f,
    -    0xc750, 0xc751, 0xbcd4, 0xdce9, 0xdcea, 0xc752, 0xdcf1, 0xdcf6,
    -    0xdcf9, 0xb5b4, 0xc753, 0xc8d9, 0xbbe7, 0xdcfe, 0xdcfd, 0xd3ab,
    -    0xdda1, 0xdda3, 0xdda5, 0xd2f1, 0xdda4, 0xdda6, 0xdda7, 0xd2a9,
    -    0xc754, 0xc755, 0xc756, 0xc757, 0xc758, 0xc759, 0xc75a, 0xbac9,
    -    0xdda9, 0xc75b, 0xc75c, 0xddb6, 0xddb1, 0xddb4, 0xc75d, 0xc75e,
    -    0xc75f, 0xc760, 0xc761, 0xc762, 0xc763, 0xddb0, 0xc6ce, 0xc764,
    -    0xc765, 0xc0f2, 0xc766, 0xc767, 0xc768, 0xc769, 0xc9af, 0xc76a,
    -    0xc76b, 0xc76c, 0xdcec, 0xddae, 0xc76d, 0xc76e, 0xc76f, 0xc770,
    -    0xddb7, 0xc771, 0xc772, 0xdcf0, 0xddaf, 0xc773, 0xddb8, 0xc774,
    -    0xddac, 0xc775, 0xc776, 0xc777, 0xc778, 0xc779, 0xc77a, 0xc77b,
    -    0xddb9, 0xddb3, 0xddad, 0xc4aa, 0xc77c, 0xc77d, 0xc77e, 0xc780,
    -    0xdda8, 0xc0b3, 0xc1ab, 0xddaa, 0xddab, 0xc781, 0xddb2, 0xbbf1,
    -    0xddb5, 0xd3a8, 0xddba, 0xc782, 0xddbb, 0xc3a7, 0xc783, 0xc784,
    -    0xddd2, 0xddbc, 0xc785, 0xc786, 0xc787, 0xddd1, 0xc788, 0xb9bd,
    -    0xc789, 0xc78a, 0xbed5, 0xc78b, 0xbefa, 0xc78c, 0xc78d, 0xbaca,
    -    0xc78e, 0xc78f, 0xc790, 0xc791, 0xddca, 0xc792, 0xddc5, 0xc793,
    -    0xddbf, 0xc794, 0xc795, 0xc796, 0xb2cb, 0xddc3, 0xc797, 0xddcb,
    -    0xb2a4, 0xddd5, 0xc798, 0xc799, 0xc79a, 0xddbe, 0xc79b, 0xc79c,
    -    0xc79d, 0xc6d0, 0xddd0, 0xc79e, 0xc79f, 0xc7a0, 0xc840, 0xc841,
    -    0xddd4, 0xc1e2, 0xb7c6, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846,
    -    0xddce, 0xddcf, 0xc847, 0xc848, 0xc849, 0xddc4, 0xc84a, 0xc84b,
    -    /* 0x8400 .. 0x84ff */
    -    0xc84c, 0xddbd, 0xc84d, 0xddcd, 0xccd1, 0xc84e, 0xddc9, 0xc84f,
    -    0xc850, 0xc851, 0xc852, 0xddc2, 0xc3c8, 0xc6bc, 0xceae, 0xddcc,
    -    0xc853, 0xddc8, 0xc854, 0xc855, 0xc856, 0xc857, 0xc858, 0xc859,
    -    0xddc1, 0xc85a, 0xc85b, 0xc85c, 0xddc6, 0xc2dc, 0xc85d, 0xc85e,
    -    0xc85f, 0xc860, 0xc861, 0xc862, 0xd3a9, 0xd3aa, 0xddd3, 0xcff4,
    -    0xc8f8, 0xc863, 0xc864, 0xc865, 0xc866, 0xc867, 0xc868, 0xc869,
    -    0xc86a, 0xdde6, 0xc86b, 0xc86c, 0xc86d, 0xc86e, 0xc86f, 0xc870,
    -    0xddc7, 0xc871, 0xc872, 0xc873, 0xdde0, 0xc2e4, 0xc874, 0xc875,
    -    0xc876, 0xc877, 0xc878, 0xc879, 0xc87a, 0xc87b, 0xdde1, 0xc87c,
    -    0xc87d, 0xc87e, 0xc880, 0xc881, 0xc882, 0xc883, 0xc884, 0xc885,
    -    0xc886, 0xddd7, 0xc887, 0xc888, 0xc889, 0xc88a, 0xc88b, 0xd6f8,
    -    0xc88c, 0xddd9, 0xddd8, 0xb8f0, 0xddd6, 0xc88d, 0xc88e, 0xc88f,
    -    0xc890, 0xc6cf, 0xc891, 0xb6ad, 0xc892, 0xc893, 0xc894, 0xc895,
    -    0xc896, 0xdde2, 0xc897, 0xbaf9, 0xd4e1, 0xdde7, 0xc898, 0xc899,
    -    0xc89a, 0xb4d0, 0xc89b, 0xddda, 0xc89c, 0xbffb, 0xdde3, 0xc89d,
    -    0xdddf, 0xc89e, 0xdddd, 0xc89f, 0xc8a0, 0xc940, 0xc941, 0xc942,
    -    0xc943, 0xc944, 0xb5d9, 0xc945, 0xc946, 0xc947, 0xc948, 0xdddb,
    -    0xdddc, 0xddde, 0xc949, 0xbdaf, 0xdde4, 0xc94a, 0xdde5, 0xc94b,
    -    0xc94c, 0xc94d, 0xc94e, 0xc94f, 0xc950, 0xc951, 0xc952, 0xddf5,
    -    0xc953, 0xc3c9, 0xc954, 0xc955, 0xcbe2, 0xc956, 0xc957, 0xc958,
    -    0xc959, 0xddf2, 0xc95a, 0xc95b, 0xc95c, 0xc95d, 0xc95e, 0xc95f,
    -    0xc960, 0xc961, 0xc962, 0xc963, 0xc964, 0xc965, 0xc966, 0xd8e1,
    -    0xc967, 0xc968, 0xc6d1, 0xc969, 0xddf4, 0xc96a, 0xc96b, 0xc96c,
    -    0xd5f4, 0xddf3, 0xddf0, 0xc96d, 0xc96e, 0xddec, 0xc96f, 0xddef,
    -    0xc970, 0xdde8, 0xc971, 0xc972, 0xd0ee, 0xc973, 0xc974, 0xc975,
    -    0xc976, 0xc8d8, 0xddee, 0xc977, 0xc978, 0xdde9, 0xc979, 0xc97a,
    -    0xddea, 0xcbf2, 0xc97b, 0xdded, 0xc97c, 0xc97d, 0xb1cd, 0xc97e,
    -    0xc980, 0xc981, 0xc982, 0xc983, 0xc984, 0xc0b6, 0xc985, 0xbcbb,
    -    0xddf1, 0xc986, 0xc987, 0xddf7, 0xc988, 0xddf6, 0xddeb, 0xc989,
    -    0xc98a, 0xc98b, 0xc98c, 0xc98d, 0xc5ee, 0xc98e, 0xc98f, 0xc990,
    -    0xddfb, 0xc991, 0xc992, 0xc993, 0xc994, 0xc995, 0xc996, 0xc997,
    -    0xc998, 0xc999, 0xc99a, 0xc99b, 0xdea4, 0xc99c, 0xc99d, 0xdea3,
    -    /* 0x8500 .. 0x85ff */
    -    0xc99e, 0xc99f, 0xc9a0, 0xca40, 0xca41, 0xca42, 0xca43, 0xca44,
    -    0xca45, 0xca46, 0xca47, 0xca48, 0xddf8, 0xca49, 0xca4a, 0xca4b,
    -    0xca4c, 0xc3ef, 0xca4d, 0xc2fb, 0xca4e, 0xca4f, 0xca50, 0xd5e1,
    -    0xca51, 0xca52, 0xceb5, 0xca53, 0xca54, 0xca55, 0xca56, 0xddfd,
    -    0xca57, 0xb2cc, 0xca58, 0xca59, 0xca5a, 0xca5b, 0xca5c, 0xca5d,
    -    0xca5e, 0xca5f, 0xca60, 0xc4e8, 0xcadf, 0xca61, 0xca62, 0xca63,
    -    0xca64, 0xca65, 0xca66, 0xca67, 0xca68, 0xca69, 0xca6a, 0xc7be,
    -    0xddfa, 0xddfc, 0xddfe, 0xdea2, 0xb0aa, 0xb1ce, 0xca6b, 0xca6c,
    -    0xca6d, 0xca6e, 0xca6f, 0xdeac, 0xca70, 0xca71, 0xca72, 0xca73,
    -    0xdea6, 0xbdb6, 0xc8ef, 0xca74, 0xca75, 0xca76, 0xca77, 0xca78,
    -    0xca79, 0xca7a, 0xca7b, 0xca7c, 0xca7d, 0xca7e, 0xdea1, 0xca80,
    -    0xca81, 0xdea5, 0xca82, 0xca83, 0xca84, 0xca85, 0xdea9, 0xca86,
    -    0xca87, 0xca88, 0xca89, 0xca8a, 0xdea8, 0xca8b, 0xca8c, 0xca8d,
    -    0xdea7, 0xca8e, 0xca8f, 0xca90, 0xca91, 0xca92, 0xca93, 0xca94,
    -    0xca95, 0xca96, 0xdead, 0xca97, 0xd4cc, 0xca98, 0xca99, 0xca9a,
    -    0xca9b, 0xdeb3, 0xdeaa, 0xdeae, 0xca9c, 0xca9d, 0xc0d9, 0xca9e,
    -    0xca9f, 0xcaa0, 0xcb40, 0xcb41, 0xb1a1, 0xdeb6, 0xcb42, 0xdeb1,
    -    0xcb43, 0xcb44, 0xcb45, 0xcb46, 0xcb47, 0xcb48, 0xcb49, 0xdeb2,
    -    0xcb4a, 0xcb4b, 0xcb4c, 0xcb4d, 0xcb4e, 0xcb4f, 0xcb50, 0xcb51,
    -    0xcb52, 0xcb53, 0xcb54, 0xd1a6, 0xdeb5, 0xcb55, 0xcb56, 0xcb57,
    -    0xcb58, 0xcb59, 0xcb5a, 0xcb5b, 0xdeaf, 0xcb5c, 0xcb5d, 0xcb5e,
    -    0xdeb0, 0xcb5f, 0xd0bd, 0xcb60, 0xcb61, 0xcb62, 0xdeb4, 0xcaed,
    -    0xdeb9, 0xcb63, 0xcb64, 0xcb65, 0xcb66, 0xcb67, 0xcb68, 0xdeb8,
    -    0xcb69, 0xdeb7, 0xcb6a, 0xcb6b, 0xcb6c, 0xcb6d, 0xcb6e, 0xcb6f,
    -    0xcb70, 0xdebb, 0xcb71, 0xcb72, 0xcb73, 0xcb74, 0xcb75, 0xcb76,
    -    0xcb77, 0xbde5, 0xcb78, 0xcb79, 0xcb7a, 0xcb7b, 0xcb7c, 0xb2d8,
    -    0xc3ea, 0xcb7d, 0xcb7e, 0xdeba, 0xcb80, 0xc5ba, 0xcb81, 0xcb82,
    -    0xcb83, 0xcb84, 0xcb85, 0xcb86, 0xdebc, 0xcb87, 0xcb88, 0xcb89,
    -    0xcb8a, 0xcb8b, 0xcb8c, 0xcb8d, 0xccd9, 0xcb8e, 0xcb8f, 0xcb90,
    -    0xcb91, 0xb7aa, 0xcb92, 0xcb93, 0xcb94, 0xcb95, 0xcb96, 0xcb97,
    -    0xcb98, 0xcb99, 0xcb9a, 0xcb9b, 0xcb9c, 0xcb9d, 0xcb9e, 0xcb9f,
    -    0xcba0, 0xcc40, 0xcc41, 0xd4e5, 0xcc42, 0xcc43, 0xcc44, 0xdebd,
    -    /* 0x8600 .. 0x86ff */
    -    0xcc45, 0xcc46, 0xcc47, 0xcc48, 0xcc49, 0xdebf, 0xcc4a, 0xcc4b,
    -    0xcc4c, 0xcc4d, 0xcc4e, 0xcc4f, 0xcc50, 0xcc51, 0xcc52, 0xcc53,
    -    0xcc54, 0xc4a2, 0xcc55, 0xcc56, 0xcc57, 0xcc58, 0xdec1, 0xcc59,
    -    0xcc5a, 0xcc5b, 0xcc5c, 0xcc5d, 0xcc5e, 0xcc5f, 0xcc60, 0xcc61,
    -    0xcc62, 0xcc63, 0xcc64, 0xcc65, 0xcc66, 0xcc67, 0xcc68, 0xdebe,
    -    0xcc69, 0xdec0, 0xcc6a, 0xcc6b, 0xcc6c, 0xcc6d, 0xcc6e, 0xcc6f,
    -    0xcc70, 0xcc71, 0xcc72, 0xcc73, 0xcc74, 0xcc75, 0xcc76, 0xcc77,
    -    0xd5ba, 0xcc78, 0xcc79, 0xcc7a, 0xdec2, 0xcc7b, 0xcc7c, 0xcc7d,
    -    0xcc7e, 0xcc80, 0xcc81, 0xcc82, 0xcc83, 0xcc84, 0xcc85, 0xcc86,
    -    0xcc87, 0xcc88, 0xcc89, 0xcc8a, 0xcc8b, 0xf2ae, 0xbba2, 0xc2b2,
    -    0xc5b0, 0xc2c7, 0xcc8c, 0xcc8d, 0xf2af, 0xcc8e, 0xcc8f, 0xcc90,
    -    0xcc91, 0xcc92, 0xd0e9, 0xcc93, 0xcc94, 0xcc95, 0xd3dd, 0xcc96,
    -    0xcc97, 0xcc98, 0xebbd, 0xcc99, 0xcc9a, 0xcc9b, 0xcc9c, 0xcc9d,
    -    0xcc9e, 0xcc9f, 0xcca0, 0xb3e6, 0xf2b0, 0xcd40, 0xf2b1, 0xcd41,
    -    0xcd42, 0xcaad, 0xcd43, 0xcd44, 0xcd45, 0xcd46, 0xcd47, 0xcd48,
    -    0xcd49, 0xbae7, 0xf2b3, 0xf2b5, 0xf2b4, 0xcbe4, 0xcfba, 0xf2b2,
    -    0xcab4, 0xd2cf, 0xc2ec, 0xcd4a, 0xcd4b, 0xcd4c, 0xcd4d, 0xcd4e,
    -    0xcd4f, 0xcd50, 0xcec3, 0xf2b8, 0xb0f6, 0xf2b7, 0xcd51, 0xcd52,
    -    0xcd53, 0xcd54, 0xcd55, 0xf2be, 0xcd56, 0xb2cf, 0xcd57, 0xcd58,
    -    0xcd59, 0xcd5a, 0xcd5b, 0xcd5c, 0xd1c1, 0xf2ba, 0xcd5d, 0xcd5e,
    -    0xcd5f, 0xcd60, 0xcd61, 0xf2bc, 0xd4e9, 0xcd62, 0xcd63, 0xf2bb,
    -    0xf2b6, 0xf2bf, 0xf2bd, 0xcd64, 0xf2b9, 0xcd65, 0xcd66, 0xf2c7,
    -    0xf2c4, 0xf2c6, 0xcd67, 0xcd68, 0xf2ca, 0xf2c2, 0xf2c0, 0xcd69,
    -    0xcd6a, 0xcd6b, 0xf2c5, 0xcd6c, 0xcd6d, 0xcd6e, 0xcd6f, 0xcd70,
    -    0xd6fb, 0xcd71, 0xcd72, 0xcd73, 0xf2c1, 0xcd74, 0xc7f9, 0xc9df,
    -    0xcd75, 0xf2c8, 0xb9c6, 0xb5b0, 0xcd76, 0xcd77, 0xf2c3, 0xf2c9,
    -    0xf2d0, 0xf2d6, 0xcd78, 0xcd79, 0xbbd7, 0xcd7a, 0xcd7b, 0xcd7c,
    -    0xf2d5, 0xcddc, 0xcd7d, 0xd6eb, 0xcd7e, 0xcd80, 0xf2d2, 0xf2d4,
    -    0xcd81, 0xcd82, 0xcd83, 0xcd84, 0xb8f2, 0xcd85, 0xcd86, 0xcd87,
    -    0xcd88, 0xf2cb, 0xcd89, 0xcd8a, 0xcd8b, 0xf2ce, 0xc2f9, 0xcd8c,
    -    0xd5dd, 0xf2cc, 0xf2cd, 0xf2cf, 0xf2d3, 0xcd8d, 0xcd8e, 0xcd8f,
    -    0xf2d9, 0xd3bc, 0xcd90, 0xcd91, 0xcd92, 0xcd93, 0xb6ea, 0xcd94,
    -    /* 0x8700 .. 0x87ff */
    -    0xcaf1, 0xcd95, 0xb7e4, 0xf2d7, 0xcd96, 0xcd97, 0xcd98, 0xf2d8,
    -    0xf2da, 0xf2dd, 0xf2db, 0xcd99, 0xcd9a, 0xf2dc, 0xcd9b, 0xcd9c,
    -    0xcd9d, 0xcd9e, 0xd1d1, 0xf2d1, 0xcd9f, 0xcdc9, 0xcda0, 0xcecf,
    -    0xd6a9, 0xce40, 0xf2e3, 0xce41, 0xc3db, 0xce42, 0xf2e0, 0xce43,
    -    0xce44, 0xc0af, 0xf2ec, 0xf2de, 0xce45, 0xf2e1, 0xce46, 0xce47,
    -    0xce48, 0xf2e8, 0xce49, 0xce4a, 0xce4b, 0xce4c, 0xf2e2, 0xce4d,
    -    0xce4e, 0xf2e7, 0xce4f, 0xce50, 0xf2e6, 0xce51, 0xce52, 0xf2e9,
    -    0xce53, 0xce54, 0xce55, 0xf2df, 0xce56, 0xce57, 0xf2e4, 0xf2ea,
    -    0xce58, 0xce59, 0xce5a, 0xce5b, 0xce5c, 0xce5d, 0xce5e, 0xd3ac,
    -    0xf2e5, 0xb2f5, 0xce5f, 0xce60, 0xf2f2, 0xce61, 0xd0ab, 0xce62,
    -    0xce63, 0xce64, 0xce65, 0xf2f5, 0xce66, 0xce67, 0xce68, 0xbbc8,
    -    0xce69, 0xf2f9, 0xce6a, 0xce6b, 0xce6c, 0xce6d, 0xce6e, 0xce6f,
    -    0xf2f0, 0xce70, 0xce71, 0xf2f6, 0xf2f8, 0xf2fa, 0xce72, 0xce73,
    -    0xce74, 0xce75, 0xce76, 0xce77, 0xce78, 0xce79, 0xf2f3, 0xce7a,
    -    0xf2f1, 0xce7b, 0xce7c, 0xce7d, 0xbafb, 0xce7e, 0xb5fb, 0xce80,
    -    0xce81, 0xce82, 0xce83, 0xf2ef, 0xf2f7, 0xf2ed, 0xf2ee, 0xce84,
    -    0xce85, 0xce86, 0xf2eb, 0xf3a6, 0xce87, 0xf3a3, 0xce88, 0xce89,
    -    0xf3a2, 0xce8a, 0xce8b, 0xf2f4, 0xce8c, 0xc8da, 0xce8d, 0xce8e,
    -    0xce8f, 0xce90, 0xce91, 0xf2fb, 0xce92, 0xce93, 0xce94, 0xf3a5,
    -    0xce95, 0xce96, 0xce97, 0xce98, 0xce99, 0xce9a, 0xce9b, 0xc3f8,
    -    0xce9c, 0xce9d, 0xce9e, 0xce9f, 0xcea0, 0xcf40, 0xcf41, 0xcf42,
    -    0xf2fd, 0xcf43, 0xcf44, 0xf3a7, 0xf3a9, 0xf3a4, 0xcf45, 0xf2fc,
    -    0xcf46, 0xcf47, 0xcf48, 0xf3ab, 0xcf49, 0xf3aa, 0xcf4a, 0xcf4b,
    -    0xcf4c, 0xcf4d, 0xc2dd, 0xcf4e, 0xcf4f, 0xf3ae, 0xcf50, 0xcf51,
    -    0xf3b0, 0xcf52, 0xcf53, 0xcf54, 0xcf55, 0xcf56, 0xf3a1, 0xcf57,
    -    0xcf58, 0xcf59, 0xf3b1, 0xf3ac, 0xcf5a, 0xcf5b, 0xcf5c, 0xcf5d,
    -    0xcf5e, 0xf3af, 0xf2fe, 0xf3ad, 0xcf5f, 0xcf60, 0xcf61, 0xcf62,
    -    0xcf63, 0xcf64, 0xcf65, 0xf3b2, 0xcf66, 0xcf67, 0xcf68, 0xcf69,
    -    0xf3b4, 0xcf6a, 0xcf6b, 0xcf6c, 0xcf6d, 0xf3a8, 0xcf6e, 0xcf6f,
    -    0xcf70, 0xcf71, 0xf3b3, 0xcf72, 0xcf73, 0xcf74, 0xf3b5, 0xcf75,
    -    0xcf76, 0xcf77, 0xcf78, 0xcf79, 0xcf7a, 0xcf7b, 0xcf7c, 0xcf7d,
    -    0xcf7e, 0xd0b7, 0xcf80, 0xcf81, 0xcf82, 0xcf83, 0xf3b8, 0xcf84,
    -    /* 0x8800 .. 0x88ff */
    -    0xcf85, 0xcf86, 0xcf87, 0xd9f9, 0xcf88, 0xcf89, 0xcf8a, 0xcf8b,
    -    0xcf8c, 0xcf8d, 0xf3b9, 0xcf8e, 0xcf8f, 0xcf90, 0xcf91, 0xcf92,
    -    0xcf93, 0xcf94, 0xcf95, 0xf3b7, 0xcf96, 0xc8e4, 0xf3b6, 0xcf97,
    -    0xcf98, 0xcf99, 0xcf9a, 0xf3ba, 0xcf9b, 0xcf9c, 0xcf9d, 0xcf9e,
    -    0xcf9f, 0xf3bb, 0xb4c0, 0xcfa0, 0xd040, 0xd041, 0xd042, 0xd043,
    -    0xd044, 0xd045, 0xd046, 0xd047, 0xd048, 0xd049, 0xd04a, 0xd04b,
    -    0xd04c, 0xd04d, 0xeec3, 0xd04e, 0xd04f, 0xd050, 0xd051, 0xd052,
    -    0xd053, 0xf3bc, 0xd054, 0xd055, 0xf3bd, 0xd056, 0xd057, 0xd058,
    -    0xd1aa, 0xd059, 0xd05a, 0xd05b, 0xf4ac, 0xd0c6, 0xd05c, 0xd05d,
    -    0xd05e, 0xd05f, 0xd060, 0xd061, 0xd0d0, 0xd1dc, 0xd062, 0xd063,
    -    0xd064, 0xd065, 0xd066, 0xd067, 0xcfce, 0xd068, 0xd069, 0xbdd6,
    -    0xd06a, 0xd1c3, 0xd06b, 0xd06c, 0xd06d, 0xd06e, 0xd06f, 0xd070,
    -    0xd071, 0xbae2, 0xe1e9, 0xd2c2, 0xf1c2, 0xb2b9, 0xd072, 0xd073,
    -    0xb1ed, 0xf1c3, 0xd074, 0xc9c0, 0xb3c4, 0xd075, 0xd9f2, 0xd076,
    -    0xcba5, 0xd077, 0xf1c4, 0xd078, 0xd079, 0xd07a, 0xd07b, 0xd6d4,
    -    0xd07c, 0xd07d, 0xd07e, 0xd080, 0xd081, 0xf1c5, 0xf4c0, 0xf1c6,
    -    0xd082, 0xd4ac, 0xf1c7, 0xd083, 0xb0c0, 0xf4c1, 0xd084, 0xd085,
    -    0xf4c2, 0xd086, 0xd087, 0xb4fc, 0xd088, 0xc5db, 0xd089, 0xd08a,
    -    0xd08b, 0xd08c, 0xccbb, 0xd08d, 0xd08e, 0xd08f, 0xd0e4, 0xd090,
    -    0xd091, 0xd092, 0xd093, 0xd094, 0xcde0, 0xd095, 0xd096, 0xd097,
    -    0xd098, 0xd099, 0xf1c8, 0xd09a, 0xd9f3, 0xd09b, 0xd09c, 0xd09d,
    -    0xd09e, 0xd09f, 0xd0a0, 0xb1bb, 0xd140, 0xcfae, 0xd141, 0xd142,
    -    0xd143, 0xb8a4, 0xd144, 0xd145, 0xd146, 0xd147, 0xd148, 0xf1ca,
    -    0xd149, 0xd14a, 0xd14b, 0xd14c, 0xf1cb, 0xd14d, 0xd14e, 0xd14f,
    -    0xd150, 0xb2c3, 0xc1d1, 0xd151, 0xd152, 0xd7b0, 0xf1c9, 0xd153,
    -    0xd154, 0xf1cc, 0xd155, 0xd156, 0xd157, 0xd158, 0xf1ce, 0xd159,
    -    0xd15a, 0xd15b, 0xd9f6, 0xd15c, 0xd2e1, 0xd4a3, 0xd15d, 0xd15e,
    -    0xf4c3, 0xc8b9, 0xd15f, 0xd160, 0xd161, 0xd162, 0xd163, 0xf4c4,
    -    0xd164, 0xd165, 0xf1cd, 0xf1cf, 0xbfe3, 0xf1d0, 0xd166, 0xd167,
    -    0xf1d4, 0xd168, 0xd169, 0xd16a, 0xd16b, 0xd16c, 0xd16d, 0xd16e,
    -    0xf1d6, 0xf1d1, 0xd16f, 0xc9d1, 0xc5e1, 0xd170, 0xd171, 0xd172,
    -    0xc2e3, 0xb9fc, 0xd173, 0xd174, 0xf1d3, 0xd175, 0xf1d5, 0xd176,
    -    /* 0x8900 .. 0x89ff */
    -    0xd177, 0xd178, 0xb9d3, 0xd179, 0xd17a, 0xd17b, 0xd17c, 0xd17d,
    -    0xd17e, 0xd180, 0xf1db, 0xd181, 0xd182, 0xd183, 0xd184, 0xd185,
    -    0xbad6, 0xd186, 0xb0fd, 0xf1d9, 0xd187, 0xd188, 0xd189, 0xd18a,
    -    0xd18b, 0xf1d8, 0xf1d2, 0xf1da, 0xd18c, 0xd18d, 0xd18e, 0xd18f,
    -    0xd190, 0xf1d7, 0xd191, 0xd192, 0xd193, 0xc8ec, 0xd194, 0xd195,
    -    0xd196, 0xd197, 0xcdca, 0xf1dd, 0xd198, 0xd199, 0xd19a, 0xd19b,
    -    0xe5bd, 0xd19c, 0xd19d, 0xd19e, 0xf1dc, 0xd19f, 0xf1de, 0xd1a0,
    -    0xd240, 0xd241, 0xd242, 0xd243, 0xd244, 0xd245, 0xd246, 0xd247,
    -    0xd248, 0xf1df, 0xd249, 0xd24a, 0xcfe5, 0xd24b, 0xd24c, 0xd24d,
    -    0xd24e, 0xd24f, 0xd250, 0xd251, 0xd252, 0xd253, 0xd254, 0xd255,
    -    0xd256, 0xd257, 0xd258, 0xd259, 0xd25a, 0xd25b, 0xd25c, 0xd25d,
    -    0xd25e, 0xd25f, 0xd260, 0xd261, 0xd262, 0xd263, 0xf4c5, 0xbdf3,
    -    0xd264, 0xd265, 0xd266, 0xd267, 0xd268, 0xd269, 0xf1e0, 0xd26a,
    -    0xd26b, 0xd26c, 0xd26d, 0xd26e, 0xd26f, 0xd270, 0xd271, 0xd272,
    -    0xd273, 0xd274, 0xd275, 0xd276, 0xd277, 0xd278, 0xd279, 0xd27a,
    -    0xd27b, 0xd27c, 0xd27d, 0xf1e1, 0xd27e, 0xd280, 0xd281, 0xcef7,
    -    0xd282, 0xd2aa, 0xd283, 0xf1fb, 0xd284, 0xd285, 0xb8b2, 0xd286,
    -    0xd287, 0xd288, 0xd289, 0xd28a, 0xd28b, 0xd28c, 0xd28d, 0xd28e,
    -    0xd28f, 0xd290, 0xd291, 0xd292, 0xd293, 0xd294, 0xd295, 0xd296,
    -    0xd297, 0xd298, 0xd299, 0xd29a, 0xd29b, 0xd29c, 0xd29d, 0xd29e,
    -    0xd29f, 0xd2a0, 0xd340, 0xd341, 0xd342, 0xd343, 0xd344, 0xd345,
    -    0xd346, 0xd347, 0xd348, 0xd349, 0xd34a, 0xd34b, 0xd34c, 0xd34d,
    -    0xd34e, 0xd34f, 0xd350, 0xd351, 0xd352, 0xd353, 0xd354, 0xd355,
    -    0xd356, 0xd357, 0xd358, 0xd359, 0xd35a, 0xd35b, 0xd35c, 0xd35d,
    -    0xd35e, 0xbcfb, 0xb9db, 0xd35f, 0xb9e6, 0xc3d9, 0xcad3, 0xeae8,
    -    0xc0c0, 0xbef5, 0xeae9, 0xeaea, 0xeaeb, 0xd360, 0xeaec, 0xeaed,
    -    0xeaee, 0xeaef, 0xbdc7, 0xd361, 0xd362, 0xd363, 0xf5fb, 0xd364,
    -    0xd365, 0xd366, 0xf5fd, 0xd367, 0xf5fe, 0xd368, 0xf5fc, 0xd369,
    -    0xd36a, 0xd36b, 0xd36c, 0xbde2, 0xd36d, 0xf6a1, 0xb4a5, 0xd36e,
    -    0xd36f, 0xd370, 0xd371, 0xf6a2, 0xd372, 0xd373, 0xd374, 0xf6a3,
    -    0xd375, 0xd376, 0xd377, 0xecb2, 0xd378, 0xd379, 0xd37a, 0xd37b,
    -    0xd37c, 0xd37d, 0xd37e, 0xd380, 0xd381, 0xd382, 0xd383, 0xd384,
    -    /* 0x8a00 .. 0x8aff */
    -    0xd1d4, 0xd385, 0xd386, 0xd387, 0xd388, 0xd389, 0xd38a, 0xd9ea,
    -    0xd38b, 0xd38c, 0xd38d, 0xd38e, 0xd38f, 0xd390, 0xd391, 0xd392,
    -    0xd393, 0xd394, 0xd395, 0xd396, 0xd397, 0xd398, 0xd399, 0xd39a,
    -    0xd39b, 0xd39c, 0xd39d, 0xd39e, 0xd39f, 0xd3a0, 0xd440, 0xd441,
    -    0xd442, 0xd443, 0xd444, 0xd445, 0xd446, 0xd447, 0xd448, 0xd449,
    -    0xd44a, 0xd44b, 0xd44c, 0xd44d, 0xd44e, 0xd44f, 0xd450, 0xd451,
    -    0xd452, 0xd453, 0xd454, 0xd455, 0xd456, 0xd457, 0xd458, 0xd459,
    -    0xd45a, 0xd45b, 0xd45c, 0xd45d, 0xd45e, 0xd45f, 0xf6a4, 0xd460,
    -    0xd461, 0xd462, 0xd463, 0xd464, 0xd465, 0xd466, 0xd467, 0xd468,
    -    0xeeba, 0xd469, 0xd46a, 0xd46b, 0xd46c, 0xd46d, 0xd46e, 0xd46f,
    -    0xd470, 0xd471, 0xd472, 0xd473, 0xd474, 0xd475, 0xd476, 0xd477,
    -    0xd478, 0xd479, 0xd47a, 0xd47b, 0xd47c, 0xd47d, 0xd47e, 0xd480,
    -    0xd481, 0xd482, 0xd483, 0xd484, 0xd485, 0xd486, 0xd487, 0xd488,
    -    0xd489, 0xd48a, 0xd48b, 0xd48c, 0xd48d, 0xd48e, 0xd48f, 0xd490,
    -    0xd491, 0xd492, 0xd493, 0xd494, 0xd495, 0xd496, 0xd497, 0xd498,
    -    0xd499, 0xd5b2, 0xd49a, 0xd49b, 0xd49c, 0xd49d, 0xd49e, 0xd49f,
    -    0xd4a0, 0xd540, 0xd541, 0xd542, 0xd543, 0xd544, 0xd545, 0xd546,
    -    0xd547, 0xd3fe, 0xccdc, 0xd548, 0xd549, 0xd54a, 0xd54b, 0xd54c,
    -    0xd54d, 0xd54e, 0xd54f, 0xcac4, 0xd550, 0xd551, 0xd552, 0xd553,
    -    0xd554, 0xd555, 0xd556, 0xd557, 0xd558, 0xd559, 0xd55a, 0xd55b,
    -    0xd55c, 0xd55d, 0xd55e, 0xd55f, 0xd560, 0xd561, 0xd562, 0xd563,
    -    0xd564, 0xd565, 0xd566, 0xd567, 0xd568, 0xd569, 0xd56a, 0xd56b,
    -    0xd56c, 0xd56d, 0xd56e, 0xd56f, 0xd570, 0xd571, 0xd572, 0xd573,
    -    0xd574, 0xd575, 0xd576, 0xd577, 0xd578, 0xd579, 0xd57a, 0xd57b,
    -    0xd57c, 0xd57d, 0xd57e, 0xd580, 0xd581, 0xd582, 0xd583, 0xd584,
    -    0xd585, 0xd586, 0xd587, 0xd588, 0xd589, 0xd58a, 0xd58b, 0xd58c,
    -    0xd58d, 0xd58e, 0xd58f, 0xd590, 0xd591, 0xd592, 0xd593, 0xd594,
    -    0xd595, 0xd596, 0xd597, 0xd598, 0xd599, 0xd59a, 0xd59b, 0xd59c,
    -    0xd59d, 0xd59e, 0xd59f, 0xd5a0, 0xd640, 0xd641, 0xd642, 0xd643,
    -    0xd644, 0xd645, 0xd646, 0xd647, 0xd648, 0xd649, 0xd64a, 0xd64b,
    -    0xd64c, 0xd64d, 0xd64e, 0xd64f, 0xd650, 0xd651, 0xd652, 0xd653,
    -    0xd654, 0xd655, 0xd656, 0xd657, 0xd658, 0xd659, 0xd65a, 0xd65b,
    -    /* 0x8b00 .. 0x8bff */
    -    0xd65c, 0xd65d, 0xd65e, 0xd65f, 0xd660, 0xd661, 0xd662, 0xe5c0,
    -    0xd663, 0xd664, 0xd665, 0xd666, 0xd667, 0xd668, 0xd669, 0xd66a,
    -    0xd66b, 0xd66c, 0xd66d, 0xd66e, 0xd66f, 0xd670, 0xd671, 0xd672,
    -    0xd673, 0xd674, 0xd675, 0xd676, 0xd677, 0xd678, 0xd679, 0xd67a,
    -    0xd67b, 0xd67c, 0xd67d, 0xd67e, 0xd680, 0xd681, 0xf6a5, 0xd682,
    -    0xd683, 0xd684, 0xd685, 0xd686, 0xd687, 0xd688, 0xd689, 0xd68a,
    -    0xd68b, 0xd68c, 0xd68d, 0xd68e, 0xd68f, 0xd690, 0xd691, 0xd692,
    -    0xd693, 0xd694, 0xd695, 0xd696, 0xd697, 0xd698, 0xd699, 0xd69a,
    -    0xd69b, 0xd69c, 0xd69d, 0xd69e, 0xd69f, 0xd6a0, 0xd740, 0xd741,
    -    0xd742, 0xd743, 0xd744, 0xd745, 0xd746, 0xd747, 0xd748, 0xd749,
    -    0xd74a, 0xd74b, 0xd74c, 0xd74d, 0xd74e, 0xd74f, 0xd750, 0xd751,
    -    0xd752, 0xd753, 0xd754, 0xd755, 0xd756, 0xd757, 0xd758, 0xd759,
    -    0xd75a, 0xd75b, 0xd75c, 0xd75d, 0xd75e, 0xd75f, 0xbeaf, 0xd760,
    -    0xd761, 0xd762, 0xd763, 0xd764, 0xc6a9, 0xd765, 0xd766, 0xd767,
    -    0xd768, 0xd769, 0xd76a, 0xd76b, 0xd76c, 0xd76d, 0xd76e, 0xd76f,
    -    0xd770, 0xd771, 0xd772, 0xd773, 0xd774, 0xd775, 0xd776, 0xd777,
    -    0xd778, 0xd779, 0xd77a, 0xd77b, 0xd77c, 0xd77d, 0xd77e, 0xd780,
    -    0xd781, 0xd782, 0xd783, 0xd784, 0xd785, 0xd786, 0xd787, 0xd788,
    -    0xd789, 0xd78a, 0xd78b, 0xd78c, 0xd78d, 0xd78e, 0xd78f, 0xd790,
    -    0xd791, 0xd792, 0xd793, 0xd794, 0xd795, 0xd796, 0xd797, 0xd798,
    -    0xdaa5, 0xbcc6, 0xb6a9, 0xb8bc, 0xc8cf, 0xbca5, 0xdaa6, 0xdaa7,
    -    0xccd6, 0xc8c3, 0xdaa8, 0xc6fd, 0xd799, 0xd1b5, 0xd2e9, 0xd1b6,
    -    0xbcc7, 0xd79a, 0xbdb2, 0xbbe4, 0xdaa9, 0xdaaa, 0xd1c8, 0xdaab,
    -    0xd0ed, 0xb6ef, 0xc2db, 0xd79b, 0xcbcf, 0xb7ed, 0xc9e8, 0xb7c3,
    -    0xbef7, 0xd6a4, 0xdaac, 0xdaad, 0xc6c0, 0xd7e7, 0xcab6, 0xd79c,
    -    0xd5a9, 0xcbdf, 0xd5ef, 0xdaae, 0xd6df, 0xb4ca, 0xdab0, 0xdaaf,
    -    0xd79d, 0xd2eb, 0xdab1, 0xdab2, 0xdab3, 0xcad4, 0xdab4, 0xcaab,
    -    0xdab5, 0xdab6, 0xb3cf, 0xd6ef, 0xdab7, 0xbbb0, 0xb5ae, 0xdab8,
    -    0xdab9, 0xb9ee, 0xd1af, 0xd2e8, 0xdaba, 0xb8c3, 0xcfea, 0xb2ef,
    -    0xdabb, 0xdabc, 0xd79e, 0xbdeb, 0xcedc, 0xd3ef, 0xdabd, 0xcef3,
    -    0xdabe, 0xd3d5, 0xbbe5, 0xdabf, 0xcbb5, 0xcbd0, 0xdac0, 0xc7eb,
    -    0xd6ee, 0xdac1, 0xc5b5, 0xb6c1, 0xdac2, 0xb7cc, 0xbfce, 0xdac3,
    -    /* 0x8c00 .. 0x8cff */
    -    0xdac4, 0xcbad, 0xdac5, 0xb5f7, 0xdac6, 0xc1c2, 0xd7bb, 0xdac7,
    -    0xccb8, 0xd79f, 0xd2ea, 0xc4b1, 0xdac8, 0xb5fd, 0xbbd1, 0xdac9,
    -    0xd0b3, 0xdaca, 0xdacb, 0xcebd, 0xdacc, 0xdacd, 0xdace, 0xb2f7,
    -    0xdad1, 0xdacf, 0xd1e8, 0xdad0, 0xc3d5, 0xdad2, 0xd7a0, 0xdad3,
    -    0xdad4, 0xdad5, 0xd0bb, 0xd2a5, 0xb0f9, 0xdad6, 0xc7ab, 0xdad7,
    -    0xbdf7, 0xc3a1, 0xdad8, 0xdad9, 0xc3fd, 0xccb7, 0xdada, 0xdadb,
    -    0xc0be, 0xc6d7, 0xdadc, 0xdadd, 0xc7b4, 0xdade, 0xdadf, 0xb9c8,
    -    0xd840, 0xd841, 0xd842, 0xd843, 0xd844, 0xd845, 0xd846, 0xd847,
    -    0xd848, 0xbbed, 0xd849, 0xd84a, 0xd84b, 0xd84c, 0xb6b9, 0xf4f8,
    -    0xd84d, 0xf4f9, 0xd84e, 0xd84f, 0xcde3, 0xd850, 0xd851, 0xd852,
    -    0xd853, 0xd854, 0xd855, 0xd856, 0xd857, 0xf5b9, 0xd858, 0xd859,
    -    0xd85a, 0xd85b, 0xebe0, 0xd85c, 0xd85d, 0xd85e, 0xd85f, 0xd860,
    -    0xd861, 0xcff3, 0xbbbf, 0xd862, 0xd863, 0xd864, 0xd865, 0xd866,
    -    0xd867, 0xd868, 0xbac0, 0xd4a5, 0xd869, 0xd86a, 0xd86b, 0xd86c,
    -    0xd86d, 0xd86e, 0xd86f, 0xe1d9, 0xd870, 0xd871, 0xd872, 0xd873,
    -    0xf5f4, 0xb1aa, 0xb2f2, 0xd874, 0xd875, 0xd876, 0xd877, 0xd878,
    -    0xd879, 0xd87a, 0xf5f5, 0xd87b, 0xd87c, 0xf5f7, 0xd87d, 0xd87e,
    -    0xd880, 0xbad1, 0xf5f6, 0xd881, 0xc3b2, 0xd882, 0xd883, 0xd884,
    -    0xd885, 0xd886, 0xd887, 0xd888, 0xf5f9, 0xd889, 0xd88a, 0xd88b,
    -    0xf5f8, 0xd88c, 0xd88d, 0xd88e, 0xd88f, 0xd890, 0xd891, 0xd892,
    -    0xd893, 0xd894, 0xd895, 0xd896, 0xd897, 0xd898, 0xd899, 0xd89a,
    -    0xd89b, 0xd89c, 0xd89d, 0xd89e, 0xd89f, 0xd8a0, 0xd940, 0xd941,
    -    0xd942, 0xd943, 0xd944, 0xd945, 0xd946, 0xd947, 0xd948, 0xd949,
    -    0xd94a, 0xd94b, 0xd94c, 0xd94d, 0xd94e, 0xd94f, 0xd950, 0xd951,
    -    0xd952, 0xd953, 0xd954, 0xd955, 0xd956, 0xd957, 0xd958, 0xd959,
    -    0xd95a, 0xd95b, 0xd95c, 0xd95d, 0xd95e, 0xd95f, 0xd960, 0xd961,
    -    0xd962, 0xd963, 0xd964, 0xd965, 0xd966, 0xd967, 0xd968, 0xd969,
    -    0xd96a, 0xd96b, 0xd96c, 0xd96d, 0xd96e, 0xd96f, 0xd970, 0xd971,
    -    0xd972, 0xd973, 0xd974, 0xd975, 0xd976, 0xd977, 0xd978, 0xd979,
    -    0xd97a, 0xd97b, 0xd97c, 0xd97d, 0xd97e, 0xd980, 0xd981, 0xd982,
    -    0xd983, 0xd984, 0xd985, 0xd986, 0xd987, 0xd988, 0xd989, 0xd98a,
    -    0xd98b, 0xd98c, 0xd98d, 0xd98e, 0xd98f, 0xd990, 0xd991, 0xd992,
    -    /* 0x8d00 .. 0x8dff */
    -    0xd993, 0xd994, 0xd995, 0xd996, 0xd997, 0xd998, 0xd999, 0xd99a,
    -    0xd99b, 0xd99c, 0xd99d, 0xd99e, 0xd99f, 0xd9a0, 0xda40, 0xda41,
    -    0xda42, 0xda43, 0xda44, 0xda45, 0xda46, 0xda47, 0xda48, 0xda49,
    -    0xda4a, 0xda4b, 0xda4c, 0xda4d, 0xda4e, 0xb1b4, 0xd5ea, 0xb8ba,
    -    0xda4f, 0xb9b1, 0xb2c6, 0xd4f0, 0xcfcd, 0xb0dc, 0xd5cb, 0xbbf5,
    -    0xd6ca, 0xb7b7, 0xccb0, 0xc6b6, 0xb1e1, 0xb9ba, 0xd6fc, 0xb9e1,
    -    0xb7a1, 0xbcfa, 0xeada, 0xeadb, 0xccf9, 0xb9f3, 0xeadc, 0xb4fb,
    -    0xc3b3, 0xb7d1, 0xbad8, 0xeadd, 0xd4f4, 0xeade, 0xbcd6, 0xbbdf,
    -    0xeadf, 0xc1de, 0xc2b8, 0xd4df, 0xd7ca, 0xeae0, 0xeae1, 0xeae4,
    -    0xeae2, 0xeae3, 0xc9de, 0xb8b3, 0xb6c4, 0xeae5, 0xcaea, 0xc9cd,
    -    0xb4cd, 0xda50, 0xda51, 0xe2d9, 0xc5e2, 0xeae6, 0xc0b5, 0xda52,
    -    0xd7b8, 0xeae7, 0xd7ac, 0xc8fc, 0xd8d3, 0xd8cd, 0xd4de, 0xda53,
    -    0xd4f9, 0xc9c4, 0xd3ae, 0xb8d3, 0xb3e0, 0xda54, 0xc9e2, 0xf4f6,
    -    0xda55, 0xda56, 0xda57, 0xbad5, 0xda58, 0xf4f7, 0xda59, 0xda5a,
    -    0xd7df, 0xda5b, 0xda5c, 0xf4f1, 0xb8b0, 0xd5d4, 0xb8cf, 0xc6f0,
    -    0xda5d, 0xda5e, 0xda5f, 0xda60, 0xda61, 0xda62, 0xda63, 0xda64,
    -    0xda65, 0xb3c3, 0xda66, 0xda67, 0xf4f2, 0xb3ac, 0xda68, 0xda69,
    -    0xda6a, 0xda6b, 0xd4bd, 0xc7f7, 0xda6c, 0xda6d, 0xda6e, 0xda6f,
    -    0xda70, 0xf4f4, 0xda71, 0xda72, 0xf4f3, 0xda73, 0xda74, 0xda75,
    -    0xda76, 0xda77, 0xda78, 0xda79, 0xda7a, 0xda7b, 0xda7c, 0xcccb,
    -    0xda7d, 0xda7e, 0xda80, 0xc8a4, 0xda81, 0xda82, 0xda83, 0xda84,
    -    0xda85, 0xda86, 0xda87, 0xda88, 0xda89, 0xda8a, 0xda8b, 0xda8c,
    -    0xda8d, 0xf4f5, 0xda8e, 0xd7e3, 0xc5bf, 0xf5c0, 0xda8f, 0xda90,
    -    0xf5bb, 0xda91, 0xf5c3, 0xda92, 0xf5c2, 0xda93, 0xd6ba, 0xf5c1,
    -    0xda94, 0xda95, 0xda96, 0xd4be, 0xf5c4, 0xda97, 0xf5cc, 0xda98,
    -    0xda99, 0xda9a, 0xda9b, 0xb0cf, 0xb5f8, 0xda9c, 0xf5c9, 0xf5ca,
    -    0xda9d, 0xc5dc, 0xda9e, 0xda9f, 0xdaa0, 0xdb40, 0xf5c5, 0xf5c6,
    -    0xdb41, 0xdb42, 0xf5c7, 0xf5cb, 0xdb43, 0xbee0, 0xf5c8, 0xb8fa,
    -    0xdb44, 0xdb45, 0xdb46, 0xf5d0, 0xf5d3, 0xdb47, 0xdb48, 0xdb49,
    -    0xbfe7, 0xdb4a, 0xb9f2, 0xf5bc, 0xf5cd, 0xdb4b, 0xdb4c, 0xc2b7,
    -    0xdb4d, 0xdb4e, 0xdb4f, 0xccf8, 0xdb50, 0xbcf9, 0xdb51, 0xf5ce,
    -    0xf5cf, 0xf5d1, 0xb6e5, 0xf5d2, 0xdb52, 0xf5d5, 0xdb53, 0xdb54,
    -    /* 0x8e00 .. 0x8eff */
    -    0xdb55, 0xdb56, 0xdb57, 0xdb58, 0xdb59, 0xf5bd, 0xdb5a, 0xdb5b,
    -    0xdb5c, 0xf5d4, 0xd3bb, 0xdb5d, 0xb3ec, 0xdb5e, 0xdb5f, 0xcca4,
    -    0xdb60, 0xdb61, 0xdb62, 0xdb63, 0xf5d6, 0xdb64, 0xdb65, 0xdb66,
    -    0xdb67, 0xdb68, 0xdb69, 0xdb6a, 0xdb6b, 0xf5d7, 0xbee1, 0xf5d8,
    -    0xdb6c, 0xdb6d, 0xccdf, 0xf5db, 0xdb6e, 0xdb6f, 0xdb70, 0xdb71,
    -    0xdb72, 0xb2c8, 0xd7d9, 0xdb73, 0xf5d9, 0xdb74, 0xf5da, 0xf5dc,
    -    0xdb75, 0xf5e2, 0xdb76, 0xdb77, 0xdb78, 0xf5e0, 0xdb79, 0xdb7a,
    -    0xdb7b, 0xf5df, 0xf5dd, 0xdb7c, 0xdb7d, 0xf5e1, 0xdb7e, 0xdb80,
    -    0xf5de, 0xf5e4, 0xf5e5, 0xdb81, 0xcce3, 0xdb82, 0xdb83, 0xe5bf,
    -    0xb5b8, 0xf5e3, 0xf5e8, 0xcca3, 0xdb84, 0xdb85, 0xdb86, 0xdb87,
    -    0xdb88, 0xf5e6, 0xf5e7, 0xdb89, 0xdb8a, 0xdb8b, 0xdb8c, 0xdb8d,
    -    0xdb8e, 0xf5be, 0xdb8f, 0xdb90, 0xdb91, 0xdb92, 0xdb93, 0xdb94,
    -    0xdb95, 0xdb96, 0xdb97, 0xdb98, 0xdb99, 0xdb9a, 0xb1c4, 0xdb9b,
    -    0xdb9c, 0xf5bf, 0xdb9d, 0xdb9e, 0xb5c5, 0xb2e4, 0xdb9f, 0xf5ec,
    -    0xf5e9, 0xdba0, 0xb6d7, 0xdc40, 0xf5ed, 0xdc41, 0xf5ea, 0xdc42,
    -    0xdc43, 0xdc44, 0xdc45, 0xdc46, 0xf5eb, 0xdc47, 0xdc48, 0xb4da,
    -    0xdc49, 0xd4ea, 0xdc4a, 0xdc4b, 0xdc4c, 0xf5ee, 0xdc4d, 0xb3f9,
    -    0xdc4e, 0xdc4f, 0xdc50, 0xdc51, 0xdc52, 0xdc53, 0xdc54, 0xf5ef,
    -    0xf5f1, 0xdc55, 0xdc56, 0xdc57, 0xf5f0, 0xdc58, 0xdc59, 0xdc5a,
    -    0xdc5b, 0xdc5c, 0xdc5d, 0xdc5e, 0xf5f2, 0xdc5f, 0xf5f3, 0xdc60,
    -    0xdc61, 0xdc62, 0xdc63, 0xdc64, 0xdc65, 0xdc66, 0xdc67, 0xdc68,
    -    0xdc69, 0xdc6a, 0xdc6b, 0xc9ed, 0xb9aa, 0xdc6c, 0xdc6d, 0xc7fb,
    -    0xdc6e, 0xdc6f, 0xb6e3, 0xdc70, 0xdc71, 0xdc72, 0xdc73, 0xdc74,
    -    0xdc75, 0xdc76, 0xccc9, 0xdc77, 0xdc78, 0xdc79, 0xdc7a, 0xdc7b,
    -    0xdc7c, 0xdc7d, 0xdc7e, 0xdc80, 0xdc81, 0xdc82, 0xdc83, 0xdc84,
    -    0xdc85, 0xdc86, 0xdc87, 0xdc88, 0xdc89, 0xdc8a, 0xeaa6, 0xdc8b,
    -    0xdc8c, 0xdc8d, 0xdc8e, 0xdc8f, 0xdc90, 0xdc91, 0xdc92, 0xdc93,
    -    0xdc94, 0xdc95, 0xdc96, 0xdc97, 0xdc98, 0xdc99, 0xdc9a, 0xdc9b,
    -    0xdc9c, 0xdc9d, 0xdc9e, 0xdc9f, 0xdca0, 0xdd40, 0xdd41, 0xdd42,
    -    0xdd43, 0xdd44, 0xdd45, 0xdd46, 0xdd47, 0xdd48, 0xdd49, 0xdd4a,
    -    0xdd4b, 0xdd4c, 0xdd4d, 0xdd4e, 0xdd4f, 0xdd50, 0xdd51, 0xdd52,
    -    0xdd53, 0xdd54, 0xdd55, 0xdd56, 0xdd57, 0xdd58, 0xdd59, 0xdd5a,
    -    /* 0x8f00 .. 0x8fff */
    -    0xdd5b, 0xdd5c, 0xdd5d, 0xdd5e, 0xdd5f, 0xdd60, 0xdd61, 0xdd62,
    -    0xdd63, 0xdd64, 0xdd65, 0xdd66, 0xdd67, 0xdd68, 0xdd69, 0xdd6a,
    -    0xdd6b, 0xdd6c, 0xdd6d, 0xdd6e, 0xdd6f, 0xdd70, 0xdd71, 0xdd72,
    -    0xdd73, 0xdd74, 0xdd75, 0xdd76, 0xdd77, 0xdd78, 0xdd79, 0xdd7a,
    -    0xdd7b, 0xdd7c, 0xdd7d, 0xdd7e, 0xdd80, 0xdd81, 0xdd82, 0xdd83,
    -    0xdd84, 0xdd85, 0xdd86, 0xdd87, 0xdd88, 0xdd89, 0xdd8a, 0xdd8b,
    -    0xdd8c, 0xdd8d, 0xdd8e, 0xdd8f, 0xdd90, 0xdd91, 0xdd92, 0xdd93,
    -    0xdd94, 0xdd95, 0xdd96, 0xdd97, 0xdd98, 0xdd99, 0xdd9a, 0xdd9b,
    -    0xdd9c, 0xdd9d, 0xdd9e, 0xdd9f, 0xdda0, 0xde40, 0xde41, 0xde42,
    -    0xde43, 0xde44, 0xde45, 0xde46, 0xde47, 0xde48, 0xde49, 0xde4a,
    -    0xde4b, 0xde4c, 0xde4d, 0xde4e, 0xde4f, 0xde50, 0xde51, 0xde52,
    -    0xde53, 0xde54, 0xde55, 0xde56, 0xde57, 0xde58, 0xde59, 0xde5a,
    -    0xde5b, 0xde5c, 0xde5d, 0xde5e, 0xde5f, 0xde60, 0xb3b5, 0xd4fe,
    -    0xb9ec, 0xd0f9, 0xde61, 0xe9ed, 0xd7aa, 0xe9ee, 0xc2d6, 0xc8ed,
    -    0xbae4, 0xe9ef, 0xe9f0, 0xe9f1, 0xd6e1, 0xe9f2, 0xe9f3, 0xe9f5,
    -    0xe9f4, 0xe9f6, 0xe9f7, 0xc7e1, 0xe9f8, 0xd4d8, 0xe9f9, 0xbdce,
    -    0xde62, 0xe9fa, 0xe9fb, 0xbdcf, 0xe9fc, 0xb8a8, 0xc1be, 0xe9fd,
    -    0xb1b2, 0xbbd4, 0xb9f5, 0xe9fe, 0xde63, 0xeaa1, 0xeaa2, 0xeaa3,
    -    0xb7f8, 0xbcad, 0xde64, 0xcae4, 0xe0ce, 0xd4af, 0xcfbd, 0xd5b7,
    -    0xeaa4, 0xd5de, 0xeaa5, 0xd0c1, 0xb9bc, 0xde65, 0xb4c7, 0xb1d9,
    -    0xde66, 0xde67, 0xde68, 0xc0b1, 0xde69, 0xde6a, 0xde6b, 0xde6c,
    -    0xb1e6, 0xb1e7, 0xde6d, 0xb1e8, 0xde6e, 0xde6f, 0xde70, 0xde71,
    -    0xb3bd, 0xc8e8, 0xde72, 0xde73, 0xde74, 0xde75, 0xe5c1, 0xde76,
    -    0xde77, 0xb1df, 0xde78, 0xde79, 0xde7a, 0xc1c9, 0xb4ef, 0xde7b,
    -    0xde7c, 0xc7a8, 0xd3d8, 0xde7d, 0xc6f9, 0xd1b8, 0xde7e, 0xb9fd,
    -    0xc2f5, 0xde80, 0xde81, 0xde82, 0xde83, 0xde84, 0xd3ad, 0xde85,
    -    0xd4cb, 0xbdfc, 0xde86, 0xe5c2, 0xb7b5, 0xe5c3, 0xde87, 0xde88,
    -    0xbbb9, 0xd5e2, 0xde89, 0xbdf8, 0xd4b6, 0xcea5, 0xc1ac, 0xb3d9,
    -    0xde8a, 0xde8b, 0xccf6, 0xde8c, 0xe5c6, 0xe5c4, 0xe5c8, 0xde8d,
    -    0xe5ca, 0xe5c7, 0xb5cf, 0xc6c8, 0xde8e, 0xb5fc, 0xe5c5, 0xde8f,
    -    0xcaf6, 0xde90, 0xde91, 0xe5c9, 0xde92, 0xde93, 0xde94, 0xc3d4,
    -    0xb1c5, 0xbca3, 0xde95, 0xde96, 0xde97, 0xd7b7, 0xde98, 0xde99,
    -    /* 0x9000 .. 0x90ff */
    -    0xcdcb, 0xcbcd, 0xcaca, 0xccd3, 0xe5cc, 0xe5cb, 0xc4e6, 0xde9a,
    -    0xde9b, 0xd1a1, 0xd1b7, 0xe5cd, 0xde9c, 0xe5d0, 0xde9d, 0xcdb8,
    -    0xd6f0, 0xe5cf, 0xb5dd, 0xde9e, 0xcdbe, 0xde9f, 0xe5d1, 0xb6ba,
    -    0xdea0, 0xdf40, 0xcda8, 0xb9e4, 0xdf41, 0xcac5, 0xb3d1, 0xcbd9,
    -    0xd4ec, 0xe5d2, 0xb7ea, 0xdf42, 0xdf43, 0xdf44, 0xe5ce, 0xdf45,
    -    0xdf46, 0xdf47, 0xdf48, 0xdf49, 0xdf4a, 0xe5d5, 0xb4fe, 0xe5d6,
    -    0xdf4b, 0xdf4c, 0xdf4d, 0xdf4e, 0xdf4f, 0xe5d3, 0xe5d4, 0xdf50,
    -    0xd2dd, 0xdf51, 0xdf52, 0xc2df, 0xb1c6, 0xdf53, 0xd3e2, 0xdf54,
    -    0xdf55, 0xb6dd, 0xcbec, 0xdf56, 0xe5d7, 0xdf57, 0xdf58, 0xd3f6,
    -    0xdf59, 0xdf5a, 0xdf5b, 0xdf5c, 0xdf5d, 0xb1e9, 0xdf5e, 0xb6f4,
    -    0xe5da, 0xe5d8, 0xe5d9, 0xb5c0, 0xdf5f, 0xdf60, 0xdf61, 0xd2c5,
    -    0xe5dc, 0xdf62, 0xdf63, 0xe5de, 0xdf64, 0xdf65, 0xdf66, 0xdf67,
    -    0xdf68, 0xdf69, 0xe5dd, 0xc7b2, 0xdf6a, 0xd2a3, 0xdf6b, 0xdf6c,
    -    0xe5db, 0xdf6d, 0xdf6e, 0xdf6f, 0xdf70, 0xd4e2, 0xd5da, 0xdf71,
    -    0xdf72, 0xdf73, 0xdf74, 0xdf75, 0xe5e0, 0xd7f1, 0xdf76, 0xdf77,
    -    0xdf78, 0xdf79, 0xdf7a, 0xdf7b, 0xdf7c, 0xe5e1, 0xdf7d, 0xb1dc,
    -    0xd1fb, 0xdf7e, 0xe5e2, 0xe5e4, 0xdf80, 0xdf81, 0xdf82, 0xdf83,
    -    0xe5e3, 0xdf84, 0xdf85, 0xe5e5, 0xdf86, 0xdf87, 0xdf88, 0xdf89,
    -    0xdf8a, 0xd2d8, 0xdf8b, 0xb5cb, 0xdf8c, 0xe7df, 0xdf8d, 0xdaf5,
    -    0xdf8e, 0xdaf8, 0xdf8f, 0xdaf6, 0xdf90, 0xdaf7, 0xdf91, 0xdf92,
    -    0xdf93, 0xdafa, 0xd0cf, 0xc4c7, 0xdf94, 0xdf95, 0xb0ee, 0xdf96,
    -    0xdf97, 0xdf98, 0xd0b0, 0xdf99, 0xdaf9, 0xdf9a, 0xd3ca, 0xbaaa,
    -    0xdba2, 0xc7f1, 0xdf9b, 0xdafc, 0xdafb, 0xc9db, 0xdafd, 0xdf9c,
    -    0xdba1, 0xd7de, 0xdafe, 0xc1da, 0xdf9d, 0xdf9e, 0xdba5, 0xdf9f,
    -    0xdfa0, 0xd3f4, 0xe040, 0xe041, 0xdba7, 0xdba4, 0xe042, 0xdba8,
    -    0xe043, 0xe044, 0xbdbc, 0xe045, 0xe046, 0xe047, 0xc0c9, 0xdba3,
    -    0xdba6, 0xd6a3, 0xe048, 0xdba9, 0xe049, 0xe04a, 0xe04b, 0xdbad,
    -    0xe04c, 0xe04d, 0xe04e, 0xdbae, 0xdbac, 0xbac2, 0xe04f, 0xe050,
    -    0xe051, 0xbfa4, 0xdbab, 0xe052, 0xe053, 0xe054, 0xdbaa, 0xd4c7,
    -    0xb2bf, 0xe055, 0xe056, 0xdbaf, 0xe057, 0xb9f9, 0xe058, 0xdbb0,
    -    0xe059, 0xe05a, 0xe05b, 0xe05c, 0xb3bb, 0xe05d, 0xe05e, 0xe05f,
    -    0xb5a6, 0xe060, 0xe061, 0xe062, 0xe063, 0xb6bc, 0xdbb1, 0xe064,
    -    /* 0x9100 .. 0x91ff */
    -    0xe065, 0xe066, 0xb6f5, 0xe067, 0xdbb2, 0xe068, 0xe069, 0xe06a,
    -    0xe06b, 0xe06c, 0xe06d, 0xe06e, 0xe06f, 0xe070, 0xe071, 0xe072,
    -    0xe073, 0xe074, 0xe075, 0xe076, 0xe077, 0xe078, 0xe079, 0xe07a,
    -    0xe07b, 0xb1c9, 0xe07c, 0xe07d, 0xe07e, 0xe080, 0xdbb4, 0xe081,
    -    0xe082, 0xe083, 0xdbb3, 0xdbb5, 0xe084, 0xe085, 0xe086, 0xe087,
    -    0xe088, 0xe089, 0xe08a, 0xe08b, 0xe08c, 0xe08d, 0xe08e, 0xdbb7,
    -    0xe08f, 0xdbb6, 0xe090, 0xe091, 0xe092, 0xe093, 0xe094, 0xe095,
    -    0xe096, 0xdbb8, 0xe097, 0xe098, 0xe099, 0xe09a, 0xe09b, 0xe09c,
    -    0xe09d, 0xe09e, 0xe09f, 0xdbb9, 0xe0a0, 0xe140, 0xdbba, 0xe141,
    -    0xe142, 0xd3cf, 0xf4fa, 0xc7f5, 0xd7c3, 0xc5e4, 0xf4fc, 0xf4fd,
    -    0xf4fb, 0xe143, 0xbec6, 0xe144, 0xe145, 0xe146, 0xe147, 0xd0ef,
    -    0xe148, 0xe149, 0xb7d3, 0xe14a, 0xe14b, 0xd4cd, 0xccaa, 0xe14c,
    -    0xe14d, 0xf5a2, 0xf5a1, 0xbaa8, 0xf4fe, 0xcbd6, 0xe14e, 0xe14f,
    -    0xe150, 0xf5a4, 0xc0d2, 0xe151, 0xb3ea, 0xe152, 0xcdaa, 0xf5a5,
    -    0xf5a3, 0xbdb4, 0xf5a8, 0xe153, 0xf5a9, 0xbdcd, 0xc3b8, 0xbfe1,
    -    0xcbe1, 0xf5aa, 0xe154, 0xe155, 0xe156, 0xf5a6, 0xf5a7, 0xc4f0,
    -    0xe157, 0xe158, 0xe159, 0xe15a, 0xe15b, 0xf5ac, 0xe15c, 0xb4bc,
    -    0xe15d, 0xd7ed, 0xe15e, 0xb4d7, 0xf5ab, 0xf5ae, 0xe15f, 0xe160,
    -    0xf5ad, 0xf5af, 0xd0d1, 0xe161, 0xe162, 0xe163, 0xe164, 0xe165,
    -    0xe166, 0xe167, 0xc3d1, 0xc8a9, 0xe168, 0xe169, 0xe16a, 0xe16b,
    -    0xe16c, 0xe16d, 0xf5b0, 0xf5b1, 0xe16e, 0xe16f, 0xe170, 0xe171,
    -    0xe172, 0xe173, 0xf5b2, 0xe174, 0xe175, 0xf5b3, 0xf5b4, 0xf5b5,
    -    0xe176, 0xe177, 0xe178, 0xe179, 0xf5b7, 0xf5b6, 0xe17a, 0xe17b,
    -    0xe17c, 0xe17d, 0xf5b8, 0xe17e, 0xe180, 0xe181, 0xe182, 0xe183,
    -    0xe184, 0xe185, 0xe186, 0xe187, 0xe188, 0xe189, 0xe18a, 0xb2c9,
    -    0xe18b, 0xd3d4, 0xcacd, 0xe18c, 0xc0ef, 0xd6d8, 0xd2b0, 0xc1bf,
    -    0xe18d, 0xbdf0, 0xe18e, 0xe18f, 0xe190, 0xe191, 0xe192, 0xe193,
    -    0xe194, 0xe195, 0xe196, 0xe197, 0xb8aa, 0xe198, 0xe199, 0xe19a,
    -    0xe19b, 0xe19c, 0xe19d, 0xe19e, 0xe19f, 0xe1a0, 0xe240, 0xe241,
    -    0xe242, 0xe243, 0xe244, 0xe245, 0xe246, 0xe247, 0xe248, 0xe249,
    -    0xe24a, 0xe24b, 0xe24c, 0xe24d, 0xe24e, 0xe24f, 0xe250, 0xe251,
    -    0xe252, 0xe253, 0xe254, 0xe255, 0xe256, 0xe257, 0xe258, 0xe259,
    -    /* 0x9200 .. 0x92ff */
    -    0xe25a, 0xe25b, 0xe25c, 0xe25d, 0xe25e, 0xe25f, 0xe260, 0xe261,
    -    0xe262, 0xe263, 0xe264, 0xe265, 0xe266, 0xe267, 0xe268, 0xe269,
    -    0xe26a, 0xe26b, 0xe26c, 0xe26d, 0xe26e, 0xe26f, 0xe270, 0xe271,
    -    0xe272, 0xe273, 0xe274, 0xe275, 0xe276, 0xe277, 0xe278, 0xe279,
    -    0xe27a, 0xe27b, 0xe27c, 0xe27d, 0xe27e, 0xe280, 0xe281, 0xe282,
    -    0xe283, 0xe284, 0xe285, 0xe286, 0xe287, 0xe288, 0xe289, 0xe28a,
    -    0xe28b, 0xe28c, 0xe28d, 0xe28e, 0xe28f, 0xe290, 0xe291, 0xe292,
    -    0xe293, 0xe294, 0xe295, 0xe296, 0xe297, 0xe298, 0xe299, 0xe29a,
    -    0xe29b, 0xe29c, 0xe29d, 0xe29e, 0xe29f, 0xe2a0, 0xe340, 0xe341,
    -    0xe342, 0xe343, 0xe344, 0xe345, 0xe346, 0xe347, 0xe348, 0xe349,
    -    0xe34a, 0xe34b, 0xe34c, 0xe34d, 0xe34e, 0xe34f, 0xe350, 0xe351,
    -    0xe352, 0xe353, 0xe354, 0xe355, 0xe356, 0xe357, 0xe358, 0xe359,
    -    0xe35a, 0xe35b, 0xe35c, 0xe35d, 0xe35e, 0xe35f, 0xe360, 0xe361,
    -    0xe362, 0xe363, 0xe364, 0xe365, 0xe366, 0xe367, 0xe368, 0xe369,
    -    0xe36a, 0xe36b, 0xe36c, 0xe36d, 0xbcf8, 0xe36e, 0xe36f, 0xe370,
    -    0xe371, 0xe372, 0xe373, 0xe374, 0xe375, 0xe376, 0xe377, 0xe378,
    -    0xe379, 0xe37a, 0xe37b, 0xe37c, 0xe37d, 0xe37e, 0xe380, 0xe381,
    -    0xe382, 0xe383, 0xe384, 0xe385, 0xe386, 0xe387, 0xf6c6, 0xe388,
    -    0xe389, 0xe38a, 0xe38b, 0xe38c, 0xe38d, 0xe38e, 0xe38f, 0xe390,
    -    0xe391, 0xe392, 0xe393, 0xe394, 0xe395, 0xe396, 0xe397, 0xe398,
    -    0xe399, 0xe39a, 0xe39b, 0xe39c, 0xe39d, 0xe39e, 0xe39f, 0xe3a0,
    -    0xe440, 0xe441, 0xe442, 0xe443, 0xe444, 0xe445, 0xf6c7, 0xe446,
    -    0xe447, 0xe448, 0xe449, 0xe44a, 0xe44b, 0xe44c, 0xe44d, 0xe44e,
    -    0xe44f, 0xe450, 0xe451, 0xe452, 0xe453, 0xe454, 0xe455, 0xe456,
    -    0xe457, 0xe458, 0xe459, 0xe45a, 0xe45b, 0xe45c, 0xe45d, 0xe45e,
    -    0xf6c8, 0xe45f, 0xe460, 0xe461, 0xe462, 0xe463, 0xe464, 0xe465,
    -    0xe466, 0xe467, 0xe468, 0xe469, 0xe46a, 0xe46b, 0xe46c, 0xe46d,
    -    0xe46e, 0xe46f, 0xe470, 0xe471, 0xe472, 0xe473, 0xe474, 0xe475,
    -    0xe476, 0xe477, 0xe478, 0xe479, 0xe47a, 0xe47b, 0xe47c, 0xe47d,
    -    0xe47e, 0xe480, 0xe481, 0xe482, 0xe483, 0xe484, 0xe485, 0xe486,
    -    0xe487, 0xe488, 0xe489, 0xe48a, 0xe48b, 0xe48c, 0xe48d, 0xe48e,
    -    0xe48f, 0xe490, 0xe491, 0xe492, 0xe493, 0xe494, 0xe495, 0xe496,
    -    /* 0x9300 .. 0x93ff */
    -    0xe497, 0xe498, 0xe499, 0xe49a, 0xe49b, 0xe49c, 0xe49d, 0xe49e,
    -    0xe49f, 0xe4a0, 0xe540, 0xe541, 0xe542, 0xe543, 0xe544, 0xe545,
    -    0xe546, 0xe547, 0xe548, 0xe549, 0xe54a, 0xe54b, 0xe54c, 0xe54d,
    -    0xe54e, 0xe54f, 0xe550, 0xe551, 0xe552, 0xe553, 0xe554, 0xe555,
    -    0xe556, 0xe557, 0xe558, 0xe559, 0xe55a, 0xe55b, 0xe55c, 0xe55d,
    -    0xe55e, 0xe55f, 0xe560, 0xe561, 0xe562, 0xe563, 0xe564, 0xe565,
    -    0xe566, 0xe567, 0xe568, 0xe569, 0xe56a, 0xe56b, 0xe56c, 0xe56d,
    -    0xe56e, 0xe56f, 0xe570, 0xe571, 0xe572, 0xe573, 0xf6c9, 0xe574,
    -    0xe575, 0xe576, 0xe577, 0xe578, 0xe579, 0xe57a, 0xe57b, 0xe57c,
    -    0xe57d, 0xe57e, 0xe580, 0xe581, 0xe582, 0xe583, 0xe584, 0xe585,
    -    0xe586, 0xe587, 0xe588, 0xe589, 0xe58a, 0xe58b, 0xe58c, 0xe58d,
    -    0xe58e, 0xe58f, 0xe590, 0xe591, 0xe592, 0xe593, 0xe594, 0xe595,
    -    0xe596, 0xe597, 0xe598, 0xe599, 0xe59a, 0xe59b, 0xe59c, 0xe59d,
    -    0xe59e, 0xe59f, 0xf6ca, 0xe5a0, 0xe640, 0xe641, 0xe642, 0xe643,
    -    0xe644, 0xe645, 0xe646, 0xe647, 0xe648, 0xe649, 0xe64a, 0xe64b,
    -    0xe64c, 0xe64d, 0xe64e, 0xe64f, 0xe650, 0xe651, 0xe652, 0xe653,
    -    0xe654, 0xe655, 0xe656, 0xe657, 0xe658, 0xe659, 0xe65a, 0xe65b,
    -    0xe65c, 0xe65d, 0xe65e, 0xe65f, 0xe660, 0xe661, 0xe662, 0xf6cc,
    -    0xe663, 0xe664, 0xe665, 0xe666, 0xe667, 0xe668, 0xe669, 0xe66a,
    -    0xe66b, 0xe66c, 0xe66d, 0xe66e, 0xe66f, 0xe670, 0xe671, 0xe672,
    -    0xe673, 0xe674, 0xe675, 0xe676, 0xe677, 0xe678, 0xe679, 0xe67a,
    -    0xe67b, 0xe67c, 0xe67d, 0xe67e, 0xe680, 0xe681, 0xe682, 0xe683,
    -    0xe684, 0xe685, 0xe686, 0xe687, 0xe688, 0xe689, 0xe68a, 0xe68b,
    -    0xe68c, 0xe68d, 0xe68e, 0xe68f, 0xe690, 0xe691, 0xe692, 0xe693,
    -    0xe694, 0xe695, 0xe696, 0xe697, 0xe698, 0xe699, 0xe69a, 0xe69b,
    -    0xe69c, 0xe69d, 0xf6cb, 0xe69e, 0xe69f, 0xe6a0, 0xe740, 0xe741,
    -    0xe742, 0xe743, 0xe744, 0xe745, 0xe746, 0xe747, 0xf7e9, 0xe748,
    -    0xe749, 0xe74a, 0xe74b, 0xe74c, 0xe74d, 0xe74e, 0xe74f, 0xe750,
    -    0xe751, 0xe752, 0xe753, 0xe754, 0xe755, 0xe756, 0xe757, 0xe758,
    -    0xe759, 0xe75a, 0xe75b, 0xe75c, 0xe75d, 0xe75e, 0xe75f, 0xe760,
    -    0xe761, 0xe762, 0xe763, 0xe764, 0xe765, 0xe766, 0xe767, 0xe768,
    -    0xe769, 0xe76a, 0xe76b, 0xe76c, 0xe76d, 0xe76e, 0xe76f, 0xe770,
    -    /* 0x9400 .. 0x94ff */
    -    0xe771, 0xe772, 0xe773, 0xe774, 0xe775, 0xe776, 0xe777, 0xe778,
    -    0xe779, 0xe77a, 0xe77b, 0xe77c, 0xe77d, 0xe77e, 0xe780, 0xe781,
    -    0xe782, 0xe783, 0xe784, 0xe785, 0xe786, 0xe787, 0xe788, 0xe789,
    -    0xe78a, 0xe78b, 0xe78c, 0xe78d, 0xe78e, 0xe78f, 0xe790, 0xe791,
    -    0xe792, 0xe793, 0xe794, 0xe795, 0xe796, 0xe797, 0xe798, 0xe799,
    -    0xe79a, 0xe79b, 0xe79c, 0xe79d, 0xe79e, 0xe79f, 0xe7a0, 0xe840,
    -    0xe841, 0xe842, 0xe843, 0xe844, 0xe845, 0xe846, 0xe847, 0xe848,
    -    0xe849, 0xe84a, 0xe84b, 0xe84c, 0xe84d, 0xe84e, 0xf6cd, 0xe84f,
    -    0xe850, 0xe851, 0xe852, 0xe853, 0xe854, 0xe855, 0xe856, 0xe857,
    -    0xe858, 0xe859, 0xe85a, 0xe85b, 0xe85c, 0xe85d, 0xe85e, 0xe85f,
    -    0xe860, 0xe861, 0xe862, 0xe863, 0xe864, 0xe865, 0xe866, 0xe867,
    -    0xe868, 0xe869, 0xe86a, 0xe86b, 0xe86c, 0xe86d, 0xe86e, 0xe86f,
    -    0xe870, 0xe871, 0xe872, 0xe873, 0xe874, 0xe875, 0xe876, 0xe877,
    -    0xe878, 0xe879, 0xe87a, 0xf6ce, 0xe87b, 0xe87c, 0xe87d, 0xe87e,
    -    0xe880, 0xe881, 0xe882, 0xe883, 0xe884, 0xe885, 0xe886, 0xe887,
    -    0xe888, 0xe889, 0xe88a, 0xe88b, 0xe88c, 0xe88d, 0xe88e, 0xe88f,
    -    0xe890, 0xe891, 0xe892, 0xe893, 0xe894, 0xeec4, 0xeec5, 0xeec6,
    -    0xd5eb, 0xb6a4, 0xeec8, 0xeec7, 0xeec9, 0xeeca, 0xc7a5, 0xeecb,
    -    0xeecc, 0xe895, 0xb7b0, 0xb5f6, 0xeecd, 0xeecf, 0xe896, 0xeece,
    -    0xe897, 0xb8c6, 0xeed0, 0xeed1, 0xeed2, 0xb6db, 0xb3ae, 0xd6d3,
    -    0xc4c6, 0xb1b5, 0xb8d6, 0xeed3, 0xeed4, 0xd4bf, 0xc7d5, 0xbefb,
    -    0xced9, 0xb9b3, 0xeed6, 0xeed5, 0xeed8, 0xeed7, 0xc5a5, 0xeed9,
    -    0xeeda, 0xc7ae, 0xeedb, 0xc7af, 0xeedc, 0xb2a7, 0xeedd, 0xeede,
    -    0xeedf, 0xeee0, 0xeee1, 0xd7ea, 0xeee2, 0xeee3, 0xbcd8, 0xeee4,
    -    0xd3cb, 0xccfa, 0xb2ac, 0xc1e5, 0xeee5, 0xc7a6, 0xc3ad, 0xe898,
    -    0xeee6, 0xeee7, 0xeee8, 0xeee9, 0xeeea, 0xeeeb, 0xeeec, 0xe899,
    -    0xeeed, 0xeeee, 0xeeef, 0xe89a, 0xe89b, 0xeef0, 0xeef1, 0xeef2,
    -    0xeef4, 0xeef3, 0xe89c, 0xeef5, 0xcdad, 0xc2c1, 0xeef6, 0xeef7,
    -    0xeef8, 0xd5a1, 0xeef9, 0xcfb3, 0xeefa, 0xeefb, 0xe89d, 0xeefc,
    -    0xeefd, 0xefa1, 0xeefe, 0xefa2, 0xb8f5, 0xc3fa, 0xefa3, 0xefa4,
    -    0xbdc2, 0xd2bf, 0xb2f9, 0xefa5, 0xefa6, 0xefa7, 0xd2f8, 0xefa8,
    -    0xd6fd, 0xefa9, 0xc6cc, 0xe89e, 0xefaa, 0xefab, 0xc1b4, 0xefac,
    -    /* 0x9500 .. 0x95ff */
    -    0xcffa, 0xcbf8, 0xefae, 0xefad, 0xb3fa, 0xb9f8, 0xefaf, 0xefb0,
    -    0xd0e2, 0xefb1, 0xefb2, 0xb7e6, 0xd0bf, 0xefb3, 0xefb4, 0xefb5,
    -    0xc8f1, 0xcce0, 0xefb6, 0xefb7, 0xefb8, 0xefb9, 0xefba, 0xd5e0,
    -    0xefbb, 0xb4ed, 0xc3aa, 0xefbc, 0xe89f, 0xefbd, 0xefbe, 0xefbf,
    -    0xe8a0, 0xcefd, 0xefc0, 0xc2e0, 0xb4b8, 0xd7b6, 0xbdf5, 0xe940,
    -    0xcfc7, 0xefc3, 0xefc1, 0xefc2, 0xefc4, 0xb6a7, 0xbcfc, 0xbee2,
    -    0xc3cc, 0xefc5, 0xefc6, 0xe941, 0xefc7, 0xefcf, 0xefc8, 0xefc9,
    -    0xefca, 0xc7c2, 0xeff1, 0xb6cd, 0xefcb, 0xe942, 0xefcc, 0xefcd,
    -    0xb6c6, 0xc3be, 0xefce, 0xe943, 0xefd0, 0xefd1, 0xefd2, 0xd5f2,
    -    0xe944, 0xefd3, 0xc4f7, 0xe945, 0xefd4, 0xc4f8, 0xefd5, 0xefd6,
    -    0xb8e4, 0xb0f7, 0xefd7, 0xefd8, 0xefd9, 0xe946, 0xefda, 0xefdb,
    -    0xefdc, 0xefdd, 0xe947, 0xefde, 0xbeb5, 0xefe1, 0xefdf, 0xefe0,
    -    0xe948, 0xefe2, 0xefe3, 0xc1cd, 0xefe4, 0xefe5, 0xefe6, 0xefe7,
    -    0xefe8, 0xefe9, 0xefea, 0xefeb, 0xefec, 0xc0d8, 0xe949, 0xefed,
    -    0xc1ad, 0xefee, 0xefef, 0xeff0, 0xe94a, 0xe94b, 0xcfe2, 0xe94c,
    -    0xe94d, 0xe94e, 0xe94f, 0xe950, 0xe951, 0xe952, 0xe953, 0xb3a4,
    -    0xe954, 0xe955, 0xe956, 0xe957, 0xe958, 0xe959, 0xe95a, 0xe95b,
    -    0xe95c, 0xe95d, 0xe95e, 0xe95f, 0xe960, 0xe961, 0xe962, 0xe963,
    -    0xe964, 0xe965, 0xe966, 0xe967, 0xe968, 0xe969, 0xe96a, 0xe96b,
    -    0xe96c, 0xe96d, 0xe96e, 0xe96f, 0xe970, 0xe971, 0xe972, 0xe973,
    -    0xe974, 0xe975, 0xe976, 0xe977, 0xe978, 0xe979, 0xe97a, 0xe97b,
    -    0xe97c, 0xe97d, 0xe97e, 0xe980, 0xe981, 0xe982, 0xe983, 0xe984,
    -    0xe985, 0xe986, 0xe987, 0xe988, 0xe989, 0xe98a, 0xe98b, 0xe98c,
    -    0xe98d, 0xe98e, 0xe98f, 0xe990, 0xe991, 0xe992, 0xe993, 0xe994,
    -    0xe995, 0xe996, 0xe997, 0xe998, 0xe999, 0xe99a, 0xe99b, 0xe99c,
    -    0xe99d, 0xe99e, 0xe99f, 0xe9a0, 0xea40, 0xea41, 0xea42, 0xea43,
    -    0xea44, 0xea45, 0xea46, 0xea47, 0xea48, 0xea49, 0xea4a, 0xea4b,
    -    0xea4c, 0xea4d, 0xea4e, 0xea4f, 0xea50, 0xea51, 0xea52, 0xea53,
    -    0xea54, 0xea55, 0xea56, 0xea57, 0xea58, 0xea59, 0xea5a, 0xea5b,
    -    0xc3c5, 0xe3c5, 0xc9c1, 0xe3c6, 0xea5c, 0xb1d5, 0xceca, 0xb4b3,
    -    0xc8f2, 0xe3c7, 0xcfd0, 0xe3c8, 0xbce4, 0xe3c9, 0xe3ca, 0xc3c6,
    -    0xd5a2, 0xc4d6, 0xb9eb, 0xcec5, 0xe3cb, 0xc3f6, 0xe3cc, 0xea5d,
    -    /* 0x9600 .. 0x96ff */
    -    0xb7a7, 0xb8f3, 0xbad2, 0xe3cd, 0xe3ce, 0xd4c4, 0xe3cf, 0xea5e,
    -    0xe3d0, 0xd1cb, 0xe3d1, 0xe3d2, 0xe3d3, 0xe3d4, 0xd1d6, 0xe3d5,
    -    0xb2fb, 0xc0bb, 0xe3d6, 0xea5f, 0xc0ab, 0xe3d7, 0xe3d8, 0xe3d9,
    -    0xea60, 0xe3da, 0xe3db, 0xea61, 0xb8b7, 0xdae2, 0xea62, 0xb6d3,
    -    0xea63, 0xdae4, 0xdae3, 0xea64, 0xea65, 0xea66, 0xea67, 0xea68,
    -    0xea69, 0xea6a, 0xdae6, 0xea6b, 0xea6c, 0xea6d, 0xc8ee, 0xea6e,
    -    0xea6f, 0xdae5, 0xb7c0, 0xd1f4, 0xd2f5, 0xd5f3, 0xbdd7, 0xea70,
    -    0xea71, 0xea72, 0xea73, 0xd7e8, 0xdae8, 0xdae7, 0xea74, 0xb0a2,
    -    0xcdd3, 0xea75, 0xdae9, 0xea76, 0xb8bd, 0xbcca, 0xc2bd, 0xc2a4,
    -    0xb3c2, 0xdaea, 0xea77, 0xc2aa, 0xc4b0, 0xbdb5, 0xea78, 0xea79,
    -    0xcfde, 0xea7a, 0xea7b, 0xea7c, 0xdaeb, 0xc9c2, 0xea7d, 0xea7e,
    -    0xea80, 0xea81, 0xea82, 0xb1dd, 0xea83, 0xea84, 0xea85, 0xdaec,
    -    0xea86, 0xb6b8, 0xd4ba, 0xea87, 0xb3fd, 0xea88, 0xea89, 0xdaed,
    -    0xd4c9, 0xcfd5, 0xc5e3, 0xea8a, 0xdaee, 0xea8b, 0xea8c, 0xea8d,
    -    0xea8e, 0xea8f, 0xdaef, 0xea90, 0xdaf0, 0xc1ea, 0xccd5, 0xcfdd,
    -    0xea91, 0xea92, 0xea93, 0xea94, 0xea95, 0xea96, 0xea97, 0xea98,
    -    0xea99, 0xea9a, 0xea9b, 0xea9c, 0xea9d, 0xd3e7, 0xc2a1, 0xea9e,
    -    0xdaf1, 0xea9f, 0xeaa0, 0xcbe5, 0xeb40, 0xdaf2, 0xeb41, 0xcbe6,
    -    0xd2fe, 0xeb42, 0xeb43, 0xeb44, 0xb8f4, 0xeb45, 0xeb46, 0xdaf3,
    -    0xb0af, 0xcfb6, 0xeb47, 0xeb48, 0xd5cf, 0xeb49, 0xeb4a, 0xeb4b,
    -    0xeb4c, 0xeb4d, 0xeb4e, 0xeb4f, 0xeb50, 0xeb51, 0xeb52, 0xcbed,
    -    0xeb53, 0xeb54, 0xeb55, 0xeb56, 0xeb57, 0xeb58, 0xeb59, 0xeb5a,
    -    0xdaf4, 0xeb5b, 0xeb5c, 0xe3c4, 0xeb5d, 0xeb5e, 0xc1a5, 0xeb5f,
    -    0xeb60, 0xf6bf, 0xeb61, 0xeb62, 0xf6c0, 0xf6c1, 0xc4d1, 0xeb63,
    -    0xc8b8, 0xd1e3, 0xeb64, 0xeb65, 0xd0db, 0xd1c5, 0xbcaf, 0xb9cd,
    -    0xeb66, 0xeff4, 0xeb67, 0xeb68, 0xb4c6, 0xd3ba, 0xf6c2, 0xb3fb,
    -    0xeb69, 0xeb6a, 0xf6c3, 0xeb6b, 0xeb6c, 0xb5f1, 0xeb6d, 0xeb6e,
    -    0xeb6f, 0xeb70, 0xeb71, 0xeb72, 0xeb73, 0xeb74, 0xeb75, 0xeb76,
    -    0xf6c5, 0xeb77, 0xeb78, 0xeb79, 0xeb7a, 0xeb7b, 0xeb7c, 0xeb7d,
    -    0xd3ea, 0xf6a7, 0xd1a9, 0xeb7e, 0xeb80, 0xeb81, 0xeb82, 0xf6a9,
    -    0xeb83, 0xeb84, 0xeb85, 0xf6a8, 0xeb86, 0xeb87, 0xc1e3, 0xc0d7,
    -    0xeb88, 0xb1a2, 0xeb89, 0xeb8a, 0xeb8b, 0xeb8c, 0xceed, 0xeb8d,
    -    /* 0x9700 .. 0x97ff */
    -    0xd0e8, 0xf6ab, 0xeb8e, 0xeb8f, 0xcff6, 0xeb90, 0xf6aa, 0xd5f0,
    -    0xf6ac, 0xc3b9, 0xeb91, 0xeb92, 0xeb93, 0xbbf4, 0xf6ae, 0xf6ad,
    -    0xeb94, 0xeb95, 0xeb96, 0xc4de, 0xeb97, 0xeb98, 0xc1d8, 0xeb99,
    -    0xeb9a, 0xeb9b, 0xeb9c, 0xeb9d, 0xcbaa, 0xeb9e, 0xcfbc, 0xeb9f,
    -    0xeba0, 0xec40, 0xec41, 0xec42, 0xec43, 0xec44, 0xec45, 0xec46,
    -    0xec47, 0xec48, 0xf6af, 0xec49, 0xec4a, 0xf6b0, 0xec4b, 0xec4c,
    -    0xf6b1, 0xec4d, 0xc2b6, 0xec4e, 0xec4f, 0xec50, 0xec51, 0xec52,
    -    0xb0d4, 0xc5f9, 0xec53, 0xec54, 0xec55, 0xec56, 0xf6b2, 0xec57,
    -    0xec58, 0xec59, 0xec5a, 0xec5b, 0xec5c, 0xec5d, 0xec5e, 0xec5f,
    -    0xec60, 0xec61, 0xec62, 0xec63, 0xec64, 0xec65, 0xec66, 0xec67,
    -    0xec68, 0xec69, 0xc7e0, 0xf6a6, 0xec6a, 0xec6b, 0xbeb8, 0xec6c,
    -    0xec6d, 0xbeb2, 0xec6e, 0xb5e5, 0xec6f, 0xec70, 0xb7c7, 0xec71,
    -    0xbfbf, 0xc3d2, 0xc3e6, 0xec72, 0xec73, 0xd8cc, 0xec74, 0xec75,
    -    0xec76, 0xb8ef, 0xec77, 0xec78, 0xec79, 0xec7a, 0xec7b, 0xec7c,
    -    0xec7d, 0xec7e, 0xec80, 0xbdf9, 0xd1a5, 0xec81, 0xb0d0, 0xec82,
    -    0xec83, 0xec84, 0xec85, 0xec86, 0xf7b0, 0xec87, 0xec88, 0xec89,
    -    0xec8a, 0xec8b, 0xec8c, 0xec8d, 0xec8e, 0xf7b1, 0xec8f, 0xec90,
    -    0xec91, 0xec92, 0xec93, 0xd0ac, 0xec94, 0xb0b0, 0xec95, 0xec96,
    -    0xec97, 0xf7b2, 0xf7b3, 0xec98, 0xf7b4, 0xec99, 0xec9a, 0xec9b,
    -    0xc7ca, 0xec9c, 0xec9d, 0xec9e, 0xec9f, 0xeca0, 0xed40, 0xed41,
    -    0xbecf, 0xed42, 0xed43, 0xf7b7, 0xed44, 0xed45, 0xed46, 0xed47,
    -    0xed48, 0xed49, 0xed4a, 0xf7b6, 0xed4b, 0xb1de, 0xed4c, 0xf7b5,
    -    0xed4d, 0xed4e, 0xf7b8, 0xed4f, 0xf7b9, 0xed50, 0xed51, 0xed52,
    -    0xed53, 0xed54, 0xed55, 0xed56, 0xed57, 0xed58, 0xed59, 0xed5a,
    -    0xed5b, 0xed5c, 0xed5d, 0xed5e, 0xed5f, 0xed60, 0xed61, 0xed62,
    -    0xed63, 0xed64, 0xed65, 0xed66, 0xed67, 0xed68, 0xed69, 0xed6a,
    -    0xed6b, 0xed6c, 0xed6d, 0xed6e, 0xed6f, 0xed70, 0xed71, 0xed72,
    -    0xed73, 0xed74, 0xed75, 0xed76, 0xed77, 0xed78, 0xed79, 0xed7a,
    -    0xed7b, 0xed7c, 0xed7d, 0xed7e, 0xed80, 0xed81, 0xcea4, 0xc8cd,
    -    0xed82, 0xbaab, 0xe8b8, 0xe8b9, 0xe8ba, 0xbec2, 0xed83, 0xed84,
    -    0xed85, 0xed86, 0xed87, 0xd2f4, 0xed88, 0xd4cf, 0xc9d8, 0xed89,
    -    0xed8a, 0xed8b, 0xed8c, 0xed8d, 0xed8e, 0xed8f, 0xed90, 0xed91,
    -    /* 0x9800 .. 0x98ff */
    -    0xed92, 0xed93, 0xed94, 0xed95, 0xed96, 0xed97, 0xed98, 0xed99,
    -    0xed9a, 0xed9b, 0xed9c, 0xed9d, 0xed9e, 0xed9f, 0xeda0, 0xee40,
    -    0xee41, 0xee42, 0xee43, 0xee44, 0xee45, 0xee46, 0xee47, 0xee48,
    -    0xee49, 0xee4a, 0xee4b, 0xee4c, 0xee4d, 0xee4e, 0xee4f, 0xee50,
    -    0xee51, 0xee52, 0xee53, 0xee54, 0xee55, 0xee56, 0xee57, 0xee58,
    -    0xee59, 0xee5a, 0xee5b, 0xee5c, 0xee5d, 0xee5e, 0xee5f, 0xee60,
    -    0xee61, 0xee62, 0xee63, 0xee64, 0xee65, 0xee66, 0xee67, 0xee68,
    -    0xee69, 0xee6a, 0xee6b, 0xee6c, 0xee6d, 0xee6e, 0xee6f, 0xee70,
    -    0xee71, 0xee72, 0xee73, 0xee74, 0xee75, 0xee76, 0xee77, 0xee78,
    -    0xee79, 0xee7a, 0xee7b, 0xee7c, 0xee7d, 0xee7e, 0xee80, 0xee81,
    -    0xee82, 0xee83, 0xee84, 0xee85, 0xee86, 0xee87, 0xee88, 0xee89,
    -    0xee8a, 0xee8b, 0xee8c, 0xee8d, 0xee8e, 0xee8f, 0xee90, 0xee91,
    -    0xee92, 0xee93, 0xee94, 0xee95, 0xee96, 0xee97, 0xee98, 0xee99,
    -    0xee9a, 0xee9b, 0xee9c, 0xee9d, 0xee9e, 0xee9f, 0xeea0, 0xef40,
    -    0xef41, 0xef42, 0xef43, 0xef44, 0xef45, 0xd2b3, 0xb6a5, 0xc7ea,
    -    0xf1fc, 0xcfee, 0xcbb3, 0xd0eb, 0xe7ef, 0xcde7, 0xb9cb, 0xb6d9,
    -    0xf1fd, 0xb0e4, 0xcbcc, 0xf1fe, 0xd4a4, 0xc2ad, 0xc1ec, 0xc6c4,
    -    0xbeb1, 0xf2a1, 0xbcd5, 0xef46, 0xf2a2, 0xf2a3, 0xef47, 0xf2a4,
    -    0xd2c3, 0xc6b5, 0xef48, 0xcdc7, 0xf2a5, 0xef49, 0xd3b1, 0xbfc5,
    -    0xcce2, 0xef4a, 0xf2a6, 0xf2a7, 0xd1d5, 0xb6ee, 0xf2a8, 0xf2a9,
    -    0xb5df, 0xf2aa, 0xf2ab, 0xef4b, 0xb2fc, 0xf2ac, 0xf2ad, 0xc8a7,
    -    0xef4c, 0xef4d, 0xef4e, 0xef4f, 0xef50, 0xef51, 0xef52, 0xef53,
    -    0xef54, 0xef55, 0xef56, 0xef57, 0xef58, 0xef59, 0xef5a, 0xef5b,
    -    0xef5c, 0xef5d, 0xef5e, 0xef5f, 0xef60, 0xef61, 0xef62, 0xef63,
    -    0xef64, 0xef65, 0xef66, 0xef67, 0xef68, 0xef69, 0xef6a, 0xef6b,
    -    0xef6c, 0xef6d, 0xef6e, 0xef6f, 0xef70, 0xef71, 0xb7e7, 0xef72,
    -    0xef73, 0xeca9, 0xecaa, 0xecab, 0xef74, 0xecac, 0xef75, 0xef76,
    -    0xc6ae, 0xecad, 0xecae, 0xef77, 0xef78, 0xef79, 0xb7c9, 0xcab3,
    -    0xef7a, 0xef7b, 0xef7c, 0xef7d, 0xef7e, 0xef80, 0xef81, 0xe2b8,
    -    0xf7cf, 0xef82, 0xef83, 0xef84, 0xef85, 0xef86, 0xef87, 0xef88,
    -    0xef89, 0xef8a, 0xef8b, 0xef8c, 0xef8d, 0xef8e, 0xef8f, 0xef90,
    -    0xef91, 0xef92, 0xef93, 0xef94, 0xef95, 0xef96, 0xef97, 0xef98,
    -    /* 0x9900 .. 0x99ff */
    -    0xef99, 0xef9a, 0xef9b, 0xef9c, 0xef9d, 0xef9e, 0xef9f, 0xefa0,
    -    0xf040, 0xf041, 0xf042, 0xf043, 0xf044, 0xf7d0, 0xf045, 0xf046,
    -    0xb2cd, 0xf047, 0xf048, 0xf049, 0xf04a, 0xf04b, 0xf04c, 0xf04d,
    -    0xf04e, 0xf04f, 0xf050, 0xf051, 0xf052, 0xf053, 0xf054, 0xf055,
    -    0xf056, 0xf057, 0xf058, 0xf059, 0xf05a, 0xf05b, 0xf05c, 0xf05d,
    -    0xf05e, 0xf05f, 0xf060, 0xf061, 0xf062, 0xf063, 0xf7d1, 0xf064,
    -    0xf065, 0xf066, 0xf067, 0xf068, 0xf069, 0xf06a, 0xf06b, 0xf06c,
    -    0xf06d, 0xf06e, 0xf06f, 0xf070, 0xf071, 0xf072, 0xf073, 0xf074,
    -    0xf075, 0xf076, 0xf077, 0xf078, 0xf079, 0xf07a, 0xf07b, 0xf07c,
    -    0xf07d, 0xf07e, 0xf080, 0xf081, 0xf082, 0xf083, 0xf084, 0xf085,
    -    0xf086, 0xf087, 0xf088, 0xf089, 0xf7d3, 0xf7d2, 0xf08a, 0xf08b,
    -    0xf08c, 0xf08d, 0xf08e, 0xf08f, 0xf090, 0xf091, 0xf092, 0xf093,
    -    0xf094, 0xf095, 0xf096, 0xe2bb, 0xf097, 0xbca2, 0xf098, 0xe2bc,
    -    0xe2bd, 0xe2be, 0xe2bf, 0xe2c0, 0xe2c1, 0xb7b9, 0xd2fb, 0xbda4,
    -    0xcace, 0xb1a5, 0xcbc7, 0xf099, 0xe2c2, 0xb6fc, 0xc8c4, 0xe2c3,
    -    0xf09a, 0xf09b, 0xbdc8, 0xf09c, 0xb1fd, 0xe2c4, 0xf09d, 0xb6f6,
    -    0xe2c5, 0xc4d9, 0xf09e, 0xf09f, 0xe2c6, 0xcfda, 0xb9dd, 0xe2c7,
    -    0xc0a1, 0xf0a0, 0xe2c8, 0xb2f6, 0xf140, 0xe2c9, 0xf141, 0xc1f3,
    -    0xe2ca, 0xe2cb, 0xc2f8, 0xe2cc, 0xe2cd, 0xe2ce, 0xcad7, 0xd8b8,
    -    0xd9e5, 0xcfe3, 0xf142, 0xf143, 0xf144, 0xf145, 0xf146, 0xf147,
    -    0xf148, 0xf149, 0xf14a, 0xf14b, 0xf14c, 0xf0a5, 0xf14d, 0xf14e,
    -    0xdcb0, 0xf14f, 0xf150, 0xf151, 0xf152, 0xf153, 0xf154, 0xf155,
    -    0xf156, 0xf157, 0xf158, 0xf159, 0xf15a, 0xf15b, 0xf15c, 0xf15d,
    -    0xf15e, 0xf15f, 0xf160, 0xf161, 0xf162, 0xf163, 0xf164, 0xf165,
    -    0xf166, 0xf167, 0xf168, 0xf169, 0xf16a, 0xf16b, 0xf16c, 0xf16d,
    -    0xf16e, 0xf16f, 0xf170, 0xf171, 0xf172, 0xf173, 0xf174, 0xf175,
    -    0xf176, 0xf177, 0xf178, 0xf179, 0xf17a, 0xf17b, 0xf17c, 0xf17d,
    -    0xf17e, 0xf180, 0xf181, 0xf182, 0xf183, 0xf184, 0xf185, 0xf186,
    -    0xf187, 0xf188, 0xf189, 0xf18a, 0xf18b, 0xf18c, 0xf18d, 0xf18e,
    -    0xf18f, 0xf190, 0xf191, 0xf192, 0xf193, 0xf194, 0xf195, 0xf196,
    -    0xf197, 0xf198, 0xf199, 0xf19a, 0xf19b, 0xf19c, 0xf19d, 0xf19e,
    -    0xf19f, 0xf1a0, 0xf240, 0xf241, 0xf242, 0xf243, 0xf244, 0xf245,
    -    /* 0x9a00 .. 0x9aff */
    -    0xf246, 0xf247, 0xf248, 0xf249, 0xf24a, 0xf24b, 0xf24c, 0xf24d,
    -    0xf24e, 0xf24f, 0xf250, 0xf251, 0xf252, 0xf253, 0xf254, 0xf255,
    -    0xf256, 0xf257, 0xf258, 0xf259, 0xf25a, 0xf25b, 0xf25c, 0xf25d,
    -    0xf25e, 0xf25f, 0xf260, 0xf261, 0xf262, 0xf263, 0xf264, 0xf265,
    -    0xf266, 0xf267, 0xf268, 0xf269, 0xf26a, 0xf26b, 0xf26c, 0xf26d,
    -    0xf26e, 0xf26f, 0xf270, 0xf271, 0xf272, 0xf273, 0xf274, 0xf275,
    -    0xf276, 0xf277, 0xf278, 0xf279, 0xf27a, 0xf27b, 0xf27c, 0xf27d,
    -    0xf27e, 0xf280, 0xf281, 0xf282, 0xf283, 0xf284, 0xf285, 0xf286,
    -    0xf287, 0xf288, 0xf289, 0xf28a, 0xf28b, 0xf28c, 0xf28d, 0xf28e,
    -    0xf28f, 0xf290, 0xf291, 0xf292, 0xf293, 0xf294, 0xf295, 0xf296,
    -    0xf297, 0xf298, 0xf299, 0xf29a, 0xf29b, 0xf29c, 0xf29d, 0xf29e,
    -    0xf29f, 0xf2a0, 0xf340, 0xf341, 0xf342, 0xf343, 0xf344, 0xf345,
    -    0xf346, 0xf347, 0xf348, 0xf349, 0xf34a, 0xf34b, 0xf34c, 0xf34d,
    -    0xf34e, 0xf34f, 0xf350, 0xf351, 0xc2ed, 0xd4a6, 0xcdd4, 0xd1b1,
    -    0xb3db, 0xc7fd, 0xf352, 0xb2b5, 0xc2bf, 0xe6e0, 0xcabb, 0xe6e1,
    -    0xe6e2, 0xbed4, 0xe6e3, 0xd7a4, 0xcdd5, 0xe6e5, 0xbcdd, 0xe6e4,
    -    0xe6e6, 0xe6e7, 0xc2ee, 0xf353, 0xbdbe, 0xe6e8, 0xc2e6, 0xbaa7,
    -    0xe6e9, 0xf354, 0xe6ea, 0xb3d2, 0xd1e9, 0xf355, 0xf356, 0xbfa5,
    -    0xe6eb, 0xc6ef, 0xe6ec, 0xe6ed, 0xf357, 0xf358, 0xe6ee, 0xc6ad,
    -    0xe6ef, 0xf359, 0xc9a7, 0xe6f0, 0xe6f1, 0xe6f2, 0xe5b9, 0xe6f3,
    -    0xe6f4, 0xc2e2, 0xe6f5, 0xe6f6, 0xd6e8, 0xe6f7, 0xf35a, 0xe6f8,
    -    0xb9c7, 0xf35b, 0xf35c, 0xf35d, 0xf35e, 0xf35f, 0xf360, 0xf361,
    -    0xf7bb, 0xf7ba, 0xf362, 0xf363, 0xf364, 0xf365, 0xf7be, 0xf7bc,
    -    0xbaa1, 0xf366, 0xf7bf, 0xf367, 0xf7c0, 0xf368, 0xf369, 0xf36a,
    -    0xf7c2, 0xf7c1, 0xf7c4, 0xf36b, 0xf36c, 0xf7c3, 0xf36d, 0xf36e,
    -    0xf36f, 0xf370, 0xf371, 0xf7c5, 0xf7c6, 0xf372, 0xf373, 0xf374,
    -    0xf375, 0xf7c7, 0xf376, 0xcbe8, 0xf377, 0xf378, 0xf379, 0xf37a,
    -    0xb8df, 0xf37b, 0xf37c, 0xf37d, 0xf37e, 0xf380, 0xf381, 0xf7d4,
    -    0xf382, 0xf7d5, 0xf383, 0xf384, 0xf385, 0xf386, 0xf7d6, 0xf387,
    -    0xf388, 0xf389, 0xf38a, 0xf7d8, 0xf38b, 0xf7da, 0xf38c, 0xf7d7,
    -    0xf38d, 0xf38e, 0xf38f, 0xf390, 0xf391, 0xf392, 0xf393, 0xf394,
    -    0xf395, 0xf7db, 0xf396, 0xf7d9, 0xf397, 0xf398, 0xf399, 0xf39a,
    -    /* 0x9b00 .. 0x9bff */
    -    0xf39b, 0xf39c, 0xf39d, 0xd7d7, 0xf39e, 0xf39f, 0xf3a0, 0xf440,
    -    0xf7dc, 0xf441, 0xf442, 0xf443, 0xf444, 0xf445, 0xf446, 0xf7dd,
    -    0xf447, 0xf448, 0xf449, 0xf7de, 0xf44a, 0xf44b, 0xf44c, 0xf44d,
    -    0xf44e, 0xf44f, 0xf450, 0xf451, 0xf452, 0xf453, 0xf454, 0xf7df,
    -    0xf455, 0xf456, 0xf457, 0xf7e0, 0xf458, 0xf459, 0xf45a, 0xf45b,
    -    0xf45c, 0xf45d, 0xf45e, 0xf45f, 0xf460, 0xf461, 0xf462, 0xdbcb,
    -    0xf463, 0xf464, 0xd8aa, 0xf465, 0xf466, 0xf467, 0xf468, 0xf469,
    -    0xf46a, 0xf46b, 0xf46c, 0xe5f7, 0xb9ed, 0xf46d, 0xf46e, 0xf46f,
    -    0xf470, 0xbffd, 0xbbea, 0xf7c9, 0xc6c7, 0xf7c8, 0xf471, 0xf7ca,
    -    0xf7cc, 0xf7cb, 0xf472, 0xf473, 0xf474, 0xf7cd, 0xf475, 0xceba,
    -    0xf476, 0xf7ce, 0xf477, 0xf478, 0xc4a7, 0xf479, 0xf47a, 0xf47b,
    -    0xf47c, 0xf47d, 0xf47e, 0xf480, 0xf481, 0xf482, 0xf483, 0xf484,
    -    0xf485, 0xf486, 0xf487, 0xf488, 0xf489, 0xf48a, 0xf48b, 0xf48c,
    -    0xf48d, 0xf48e, 0xf48f, 0xf490, 0xf491, 0xf492, 0xf493, 0xf494,
    -    0xf495, 0xf496, 0xf497, 0xf498, 0xf499, 0xf49a, 0xf49b, 0xf49c,
    -    0xf49d, 0xf49e, 0xf49f, 0xf4a0, 0xf540, 0xf541, 0xf542, 0xf543,
    -    0xf544, 0xf545, 0xf546, 0xf547, 0xf548, 0xf549, 0xf54a, 0xf54b,
    -    0xf54c, 0xf54d, 0xf54e, 0xf54f, 0xf550, 0xf551, 0xf552, 0xf553,
    -    0xf554, 0xf555, 0xf556, 0xf557, 0xf558, 0xf559, 0xf55a, 0xf55b,
    -    0xf55c, 0xf55d, 0xf55e, 0xf55f, 0xf560, 0xf561, 0xf562, 0xf563,
    -    0xf564, 0xf565, 0xf566, 0xf567, 0xf568, 0xf569, 0xf56a, 0xf56b,
    -    0xf56c, 0xf56d, 0xf56e, 0xf56f, 0xf570, 0xf571, 0xf572, 0xf573,
    -    0xf574, 0xf575, 0xf576, 0xf577, 0xf578, 0xf579, 0xf57a, 0xf57b,
    -    0xf57c, 0xf57d, 0xf57e, 0xf580, 0xf581, 0xf582, 0xf583, 0xf584,
    -    0xf585, 0xf586, 0xf587, 0xf588, 0xf589, 0xf58a, 0xf58b, 0xf58c,
    -    0xf58d, 0xf58e, 0xf58f, 0xf590, 0xf591, 0xf592, 0xf593, 0xf594,
    -    0xf595, 0xf596, 0xf597, 0xf598, 0xf599, 0xf59a, 0xf59b, 0xf59c,
    -    0xf59d, 0xf59e, 0xf59f, 0xf5a0, 0xf640, 0xf641, 0xf642, 0xf643,
    -    0xf644, 0xf645, 0xf646, 0xf647, 0xf648, 0xf649, 0xf64a, 0xf64b,
    -    0xf64c, 0xf64d, 0xf64e, 0xf64f, 0xf650, 0xf651, 0xf652, 0xf653,
    -    0xf654, 0xf655, 0xf656, 0xf657, 0xf658, 0xf659, 0xf65a, 0xf65b,
    -    0xf65c, 0xf65d, 0xf65e, 0xf65f, 0xf660, 0xf661, 0xf662, 0xf663,
    -    /* 0x9c00 .. 0x9cff */
    -    0xf664, 0xf665, 0xf666, 0xf667, 0xf668, 0xf669, 0xf66a, 0xf66b,
    -    0xf66c, 0xf66d, 0xf66e, 0xf66f, 0xf670, 0xf671, 0xf672, 0xf673,
    -    0xf674, 0xf675, 0xf676, 0xf677, 0xf678, 0xf679, 0xf67a, 0xf67b,
    -    0xf67c, 0xf67d, 0xf67e, 0xf680, 0xf681, 0xf682, 0xf683, 0xf684,
    -    0xf685, 0xf686, 0xf687, 0xf688, 0xf689, 0xf68a, 0xf68b, 0xf68c,
    -    0xf68d, 0xf68e, 0xf68f, 0xf690, 0xf691, 0xf692, 0xf693, 0xf694,
    -    0xf695, 0xf696, 0xf697, 0xf698, 0xf699, 0xf69a, 0xf69b, 0xf69c,
    -    0xf69d, 0xf69e, 0xf69f, 0xf6a0, 0xf740, 0xf741, 0xf742, 0xf743,
    -    0xf744, 0xf745, 0xf746, 0xf747, 0xf748, 0xf749, 0xf74a, 0xf74b,
    -    0xf74c, 0xf74d, 0xf74e, 0xf74f, 0xf750, 0xf751, 0xf752, 0xf753,
    -    0xf754, 0xf755, 0xf756, 0xf757, 0xf758, 0xf759, 0xf75a, 0xf75b,
    -    0xf75c, 0xf75d, 0xf75e, 0xf75f, 0xf760, 0xf761, 0xf762, 0xf763,
    -    0xf764, 0xf765, 0xf766, 0xf767, 0xf768, 0xf769, 0xf76a, 0xf76b,
    -    0xf76c, 0xf76d, 0xf76e, 0xf76f, 0xf770, 0xf771, 0xf772, 0xf773,
    -    0xf774, 0xf775, 0xf776, 0xf777, 0xf778, 0xf779, 0xf77a, 0xf77b,
    -    0xf77c, 0xf77d, 0xf77e, 0xf780, 0xd3e3, 0xf781, 0xf782, 0xf6cf,
    -    0xf783, 0xc2b3, 0xf6d0, 0xf784, 0xf785, 0xf6d1, 0xf6d2, 0xf6d3,
    -    0xf6d4, 0xf786, 0xf787, 0xf6d6, 0xf788, 0xb1ab, 0xf6d7, 0xf789,
    -    0xf6d8, 0xf6d9, 0xf6da, 0xf78a, 0xf6db, 0xf6dc, 0xf78b, 0xf78c,
    -    0xf78d, 0xf78e, 0xf6dd, 0xf6de, 0xcfca, 0xf78f, 0xf6df, 0xf6e0,
    -    0xf6e1, 0xf6e2, 0xf6e3, 0xf6e4, 0xc0f0, 0xf6e5, 0xf6e6, 0xf6e7,
    -    0xf6e8, 0xf6e9, 0xf790, 0xf6ea, 0xf791, 0xf6eb, 0xf6ec, 0xf792,
    -    0xf6ed, 0xf6ee, 0xf6ef, 0xf6f0, 0xf6f1, 0xf6f2, 0xf6f3, 0xf6f4,
    -    0xbea8, 0xf793, 0xf6f5, 0xf6f6, 0xf6f7, 0xf6f8, 0xf794, 0xf795,
    -    0xf796, 0xf797, 0xf798, 0xc8fa, 0xf6f9, 0xf6fa, 0xf6fb, 0xf6fc,
    -    0xf799, 0xf79a, 0xf6fd, 0xf6fe, 0xf7a1, 0xf7a2, 0xf7a3, 0xf7a4,
    -    0xf7a5, 0xf79b, 0xf79c, 0xf7a6, 0xf7a7, 0xf7a8, 0xb1ee, 0xf7a9,
    -    0xf7aa, 0xf7ab, 0xf79d, 0xf79e, 0xf7ac, 0xf7ad, 0xc1db, 0xf7ae,
    -    0xf79f, 0xf7a0, 0xf7af, 0xf840, 0xf841, 0xf842, 0xf843, 0xf844,
    -    0xf845, 0xf846, 0xf847, 0xf848, 0xf849, 0xf84a, 0xf84b, 0xf84c,
    -    0xf84d, 0xf84e, 0xf84f, 0xf850, 0xf851, 0xf852, 0xf853, 0xf854,
    -    0xf855, 0xf856, 0xf857, 0xf858, 0xf859, 0xf85a, 0xf85b, 0xf85c,
    -    /* 0x9d00 .. 0x9dff */
    -    0xf85d, 0xf85e, 0xf85f, 0xf860, 0xf861, 0xf862, 0xf863, 0xf864,
    -    0xf865, 0xf866, 0xf867, 0xf868, 0xf869, 0xf86a, 0xf86b, 0xf86c,
    -    0xf86d, 0xf86e, 0xf86f, 0xf870, 0xf871, 0xf872, 0xf873, 0xf874,
    -    0xf875, 0xf876, 0xf877, 0xf878, 0xf879, 0xf87a, 0xf87b, 0xf87c,
    -    0xf87d, 0xf87e, 0xf880, 0xf881, 0xf882, 0xf883, 0xf884, 0xf885,
    -    0xf886, 0xf887, 0xf888, 0xf889, 0xf88a, 0xf88b, 0xf88c, 0xf88d,
    -    0xf88e, 0xf88f, 0xf890, 0xf891, 0xf892, 0xf893, 0xf894, 0xf895,
    -    0xf896, 0xf897, 0xf898, 0xf899, 0xf89a, 0xf89b, 0xf89c, 0xf89d,
    -    0xf89e, 0xf89f, 0xf8a0, 0xf940, 0xf941, 0xf942, 0xf943, 0xf944,
    -    0xf945, 0xf946, 0xf947, 0xf948, 0xf949, 0xf94a, 0xf94b, 0xf94c,
    -    0xf94d, 0xf94e, 0xf94f, 0xf950, 0xf951, 0xf952, 0xf953, 0xf954,
    -    0xf955, 0xf956, 0xf957, 0xf958, 0xf959, 0xf95a, 0xf95b, 0xf95c,
    -    0xf95d, 0xf95e, 0xf95f, 0xf960, 0xf961, 0xf962, 0xf963, 0xf964,
    -    0xf965, 0xf966, 0xf967, 0xf968, 0xf969, 0xf96a, 0xf96b, 0xf96c,
    -    0xf96d, 0xf96e, 0xf96f, 0xf970, 0xf971, 0xf972, 0xf973, 0xf974,
    -    0xf975, 0xf976, 0xf977, 0xf978, 0xf979, 0xf97a, 0xf97b, 0xf97c,
    -    0xf97d, 0xf97e, 0xf980, 0xf981, 0xf982, 0xf983, 0xf984, 0xf985,
    -    0xf986, 0xf987, 0xf988, 0xf989, 0xf98a, 0xf98b, 0xf98c, 0xf98d,
    -    0xf98e, 0xf98f, 0xf990, 0xf991, 0xf992, 0xf993, 0xf994, 0xf995,
    -    0xf996, 0xf997, 0xf998, 0xf999, 0xf99a, 0xf99b, 0xf99c, 0xf99d,
    -    0xf99e, 0xf99f, 0xf9a0, 0xfa40, 0xfa41, 0xfa42, 0xfa43, 0xfa44,
    -    0xfa45, 0xfa46, 0xfa47, 0xfa48, 0xfa49, 0xfa4a, 0xfa4b, 0xfa4c,
    -    0xfa4d, 0xfa4e, 0xfa4f, 0xfa50, 0xfa51, 0xfa52, 0xfa53, 0xfa54,
    -    0xfa55, 0xfa56, 0xfa57, 0xfa58, 0xfa59, 0xfa5a, 0xfa5b, 0xfa5c,
    -    0xfa5d, 0xfa5e, 0xfa5f, 0xfa60, 0xfa61, 0xfa62, 0xfa63, 0xfa64,
    -    0xfa65, 0xfa66, 0xfa67, 0xfa68, 0xfa69, 0xfa6a, 0xfa6b, 0xfa6c,
    -    0xfa6d, 0xfa6e, 0xfa6f, 0xfa70, 0xfa71, 0xfa72, 0xfa73, 0xfa74,
    -    0xfa75, 0xfa76, 0xfa77, 0xfa78, 0xfa79, 0xfa7a, 0xfa7b, 0xfa7c,
    -    0xfa7d, 0xfa7e, 0xfa80, 0xfa81, 0xfa82, 0xfa83, 0xfa84, 0xfa85,
    -    0xfa86, 0xfa87, 0xfa88, 0xfa89, 0xfa8a, 0xfa8b, 0xfa8c, 0xfa8d,
    -    0xfa8e, 0xfa8f, 0xfa90, 0xfa91, 0xfa92, 0xfa93, 0xfa94, 0xfa95,
    -    0xfa96, 0xfa97, 0xfa98, 0xfa99, 0xfa9a, 0xfa9b, 0xfa9c, 0xfa9d,
    -    /* 0x9e00 .. 0x9eff */
    -    0xfa9e, 0xfa9f, 0xfaa0, 0xfb40, 0xfb41, 0xfb42, 0xfb43, 0xfb44,
    -    0xfb45, 0xfb46, 0xfb47, 0xfb48, 0xfb49, 0xfb4a, 0xfb4b, 0xfb4c,
    -    0xfb4d, 0xfb4e, 0xfb4f, 0xfb50, 0xfb51, 0xfb52, 0xfb53, 0xfb54,
    -    0xfb55, 0xfb56, 0xfb57, 0xfb58, 0xfb59, 0xfb5a, 0xfb5b, 0xc4f1,
    -    0xf0af, 0xbca6, 0xf0b0, 0xc3f9, 0xfb5c, 0xc5b8, 0xd1bb, 0xfb5d,
    -    0xf0b1, 0xf0b2, 0xf0b3, 0xf0b4, 0xf0b5, 0xd1bc, 0xfb5e, 0xd1ec,
    -    0xfb5f, 0xf0b7, 0xf0b6, 0xd4a7, 0xfb60, 0xcdd2, 0xf0b8, 0xf0ba,
    -    0xf0b9, 0xf0bb, 0xf0bc, 0xfb61, 0xfb62, 0xb8eb, 0xf0bd, 0xbae8,
    -    0xfb63, 0xf0be, 0xf0bf, 0xbee9, 0xf0c0, 0xb6ec, 0xf0c1, 0xf0c2,
    -    0xf0c3, 0xf0c4, 0xc8b5, 0xf0c5, 0xf0c6, 0xfb64, 0xf0c7, 0xc5f4,
    -    0xfb65, 0xf0c8, 0xfb66, 0xfb67, 0xfb68, 0xf0c9, 0xfb69, 0xf0ca,
    -    0xf7bd, 0xfb6a, 0xf0cb, 0xf0cc, 0xf0cd, 0xfb6b, 0xf0ce, 0xfb6c,
    -    0xfb6d, 0xfb6e, 0xfb6f, 0xf0cf, 0xbad7, 0xfb70, 0xf0d0, 0xf0d1,
    -    0xf0d2, 0xf0d3, 0xf0d4, 0xf0d5, 0xf0d6, 0xf0d8, 0xfb71, 0xfb72,
    -    0xd3a5, 0xf0d7, 0xfb73, 0xf0d9, 0xfb74, 0xfb75, 0xfb76, 0xfb77,
    -    0xfb78, 0xfb79, 0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d, 0xf5ba, 0xc2b9,
    -    0xfb7e, 0xfb80, 0xf7e4, 0xfb81, 0xfb82, 0xfb83, 0xfb84, 0xf7e5,
    -    0xf7e6, 0xfb85, 0xfb86, 0xf7e7, 0xfb87, 0xfb88, 0xfb89, 0xfb8a,
    -    0xfb8b, 0xfb8c, 0xf7e8, 0xc2b4, 0xfb8d, 0xfb8e, 0xfb8f, 0xfb90,
    -    0xfb91, 0xfb92, 0xfb93, 0xfb94, 0xfb95, 0xf7ea, 0xfb96, 0xf7eb,
    -    0xfb97, 0xfb98, 0xfb99, 0xfb9a, 0xfb9b, 0xfb9c, 0xc2f3, 0xfb9d,
    -    0xfb9e, 0xfb9f, 0xfba0, 0xfc40, 0xfc41, 0xfc42, 0xfc43, 0xfc44,
    -    0xfc45, 0xfc46, 0xfc47, 0xfc48, 0xf4f0, 0xfc49, 0xfc4a, 0xfc4b,
    -    0xf4ef, 0xfc4c, 0xfc4d, 0xc2e9, 0xfc4e, 0xf7e1, 0xf7e2, 0xfc4f,
    -    0xfc50, 0xfc51, 0xfc52, 0xfc53, 0xbbc6, 0xfc54, 0xfc55, 0xfc56,
    -    0xfc57, 0xd9e4, 0xfc58, 0xfc59, 0xfc5a, 0xcaf2, 0xc0e8, 0xf0a4,
    -    0xfc5b, 0xbada, 0xfc5c, 0xfc5d, 0xc7ad, 0xfc5e, 0xfc5f, 0xfc60,
    -    0xc4ac, 0xfc61, 0xfc62, 0xf7ec, 0xf7ed, 0xf7ee, 0xfc63, 0xf7f0,
    -    0xf7ef, 0xfc64, 0xf7f1, 0xfc65, 0xfc66, 0xf7f4, 0xfc67, 0xf7f3,
    -    0xfc68, 0xf7f2, 0xf7f5, 0xfc69, 0xfc6a, 0xfc6b, 0xfc6c, 0xf7f6,
    -    0xfc6d, 0xfc6e, 0xfc6f, 0xfc70, 0xfc71, 0xfc72, 0xfc73, 0xfc74,
    -    0xfc75, 0xede9, 0xfc76, 0xedea, 0xedeb, 0xfc77, 0xf6bc, 0xfc78,
    -    /* 0x9f00 .. 0x9fff */
    -    0xfc79, 0xfc7a, 0xfc7b, 0xfc7c, 0xfc7d, 0xfc7e, 0xfc80, 0xfc81,
    -    0xfc82, 0xfc83, 0xfc84, 0xf6bd, 0xfc85, 0xf6be, 0xb6a6, 0xfc86,
    -    0xd8be, 0xfc87, 0xfc88, 0xb9c4, 0xfc89, 0xfc8a, 0xfc8b, 0xd8bb,
    -    0xfc8c, 0xdcb1, 0xfc8d, 0xfc8e, 0xfc8f, 0xfc90, 0xfc91, 0xfc92,
    -    0xcaf3, 0xfc93, 0xf7f7, 0xfc94, 0xfc95, 0xfc96, 0xfc97, 0xfc98,
    -    0xfc99, 0xfc9a, 0xfc9b, 0xfc9c, 0xf7f8, 0xfc9d, 0xfc9e, 0xf7f9,
    -    0xfc9f, 0xfca0, 0xfd40, 0xfd41, 0xfd42, 0xfd43, 0xfd44, 0xf7fb,
    -    0xfd45, 0xf7fa, 0xfd46, 0xb1c7, 0xfd47, 0xf7fc, 0xf7fd, 0xfd48,
    -    0xfd49, 0xfd4a, 0xfd4b, 0xfd4c, 0xf7fe, 0xfd4d, 0xfd4e, 0xfd4f,
    -    0xfd50, 0xfd51, 0xfd52, 0xfd53, 0xfd54, 0xfd55, 0xfd56, 0xfd57,
    -    0xc6eb, 0xecb4, 0xfd58, 0xfd59, 0xfd5a, 0xfd5b, 0xfd5c, 0xfd5d,
    -    0xfd5e, 0xfd5f, 0xfd60, 0xfd61, 0xfd62, 0xfd63, 0xfd64, 0xfd65,
    -    0xfd66, 0xfd67, 0xfd68, 0xfd69, 0xfd6a, 0xfd6b, 0xfd6c, 0xfd6d,
    -    0xfd6e, 0xfd6f, 0xfd70, 0xfd71, 0xfd72, 0xfd73, 0xfd74, 0xfd75,
    -    0xfd76, 0xfd77, 0xfd78, 0xfd79, 0xfd7a, 0xfd7b, 0xfd7c, 0xfd7d,
    -    0xfd7e, 0xfd80, 0xfd81, 0xfd82, 0xfd83, 0xfd84, 0xfd85, 0xb3dd,
    -    0xf6b3, 0xfd86, 0xfd87, 0xf6b4, 0xc1e4, 0xf6b5, 0xf6b6, 0xf6b7,
    -    0xf6b8, 0xf6b9, 0xf6ba, 0xc8a3, 0xf6bb, 0xfd88, 0xfd89, 0xfd8a,
    -    0xfd8b, 0xfd8c, 0xfd8d, 0xfd8e, 0xfd8f, 0xfd90, 0xfd91, 0xfd92,
    -    0xfd93, 0xc1fa, 0xb9a8, 0xede8, 0xfd94, 0xfd95, 0xfd96, 0xb9ea,
    -    0xd9df, 0xfd97, 0xfd98, 0xfd99, 0xfd9a, 0xfd9b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xf900 .. 0xf9ff */
    -    0xd84d, 0xb8fc, 0xdc87, 0xd95a, 0xbbac, 0xb4ae, 0xbee4, 0xfd94,
    -    0xfd94, 0xc6f5, 0xbdf0, 0xc0ae, 0xc4ce, 0x91d0, 0xb05d, 0xc15f,
    -    0xcc7d, 0xc2dd, 0xc2e3, 0xdf89, 0x98b7, 0xc2e5, 0xc0d3, 0xe7f3,
    -    0xc2e4, 0xc0d2, 0xf198, 0x8179, 0xc2d1, 0x99da, 0xa080, 0xcc6d,
    -    0xfb5b, 0x8db9, 0x9e45, 0xcb7b, 0xd268, 0xc0ad, 0xc544, 0xcf9e,
    -    0xc0c8, 0xc0ca, 0xc0cb, 0xc0c7, 0xfd9c, 0x81ed, 0xc0e4, 0x84da,
    -    0x93ef, 0x99a9, 0xa074, 0xb152, 0xc0cf, 0xcc4a, 0xcc94, 0xc2b7,
    -    0xc2b6, 0xf494, 0xfa98, 0xc2b5, 0xb593, 0xbe47, 0xc78a, 0xe49b,
    -    0xc2b9, 0xd593, 0x89c5, 0xc5aa, 0xbb5c, 0xc340, 0xc0ce, 0xc0da,
    -    0xd954, 0xc0d7, 0x89be, 0x8cd2, 0x98c7, 0x9c49, 0xc2a9, 0xc0db,
    -    0xbf7c, 0xc2aa, 0xc0d5, 0xc0df, 0x8443, 0xc1e8, 0xb6a0, 0xbe63,
    -    0xc1e2, 0xc1ea, 0xd778, 0x9282, 0x98b7, 0xd65a, 0xb5a4, 0x8c8e,
    -    0xc5ad, 0xc2ca, 0xae90, 0xb1b1, 0xb491, 0xb1e3, 0x8fcd, 0xb2bb,
    -    0xc3da, 0x94b5, 0xcbf7, 0x85a2, 0xc8fb, 0xcaa1, 0xc87e, 0xd566,
    -    0x9aa2, 0xb3bd, 0xc9f2, 0xcab0, 0xc8f4, 0xc2d3, 0xc2d4, 0xc1c1,
    -    0x83c9, 0xfd9d, 0xc1ba, 0xbc5a, 0xc1bc, 0xd58f, 0xc1bf, 0x84ee,
    -    0x85ce, 0xc5ae, 0x8f5d, 0xc2c3, 0x9e56, 0xb55a, 0xe982, 0xf350,
    -    0xfb90, 0xc0e8, 0xc1a6, 0x95d1, 0x9a76, 0xde5d, 0xc4ea, 0x917a,
    -    0x91d9, 0x93d3, 0x9d69, 0x9f92, 0xad49, 0xfd9e, 0xbe9a, 0xc293,
    -    0xdd82, 0xc98f, 0xdf42, 0xe580, 0xc1d0, 0xc1d3, 0xd1ca, 0xc1d2,
    -    0xc1d1, 0xd566, 0xc1ae, 0xc4ee, 0xc4ed, 0x9a9a, 0xba9f, 0xab43,
    -    0xc1ee, 0xe0f2, 0x8c8e, 0x8e58, 0xc1af, 0xc1e1, 0xac93, 0xc1e7,
    -    0xf1f6, 0xe28f, 0xc1e3, 0xec60, 0xee49, 0xc0fd, 0xb659, 0xf5b7,
    -    0xeb60, 0x90ba, 0xc1cb, 0xc1c5, 0xe5bc, 0xc4f2, 0xc1cf, 0x98b7,
    -    0xc1c7, 0xaf9f, 0xdea4, 0xdf7c, 0xfd88, 0x959e, 0xc8ee, 0x84a2,
    -    0x9683, 0xc1f8, 0xc1f7, 0xc1ef, 0xc1f0, 0xc1f4, 0xc1f2, 0xbc7e,
    -    0xee90, 0xc1f9, 0xc2be, 0xea91, 0x8290, 0x8d91, 0x9c53, 0xdd86,
    -    0xc2c9, 0x90fc, 0xc0f5, 0xc2ca, 0xc2a1, 0xc0fb, 0xc0f4, 0xc2c4,
    -    0xd2d7, 0xc0ee, 0xc0e6, 0xc4e0, 0xc0ed, 0xc1a1, 0xeebe, 0xfd9f,
    -    0xd165, 0xc0ef, 0xeb78, 0xc4e4, 0xc4e7, 0xc1df, 0x9ffb, 0xad55,
    -    0xcc41, 0xfda0, 0xf75b, 0xf7eb, 0xc1d6, 0xc1dc, 0xc552, 0xc1a2,
    -    0xf3d2, 0xc1a3, 0xa0ee, 0xd6cb, 0xd752, 0xcab2, 0xb2e8, 0xb4cc,
    -    /* 0xfa00 .. 0xfaff */
    -    0xc7d0, 0xb6c8, 0xcdd8, 0xccc7, 0xd5ac, 0xb6b4, 0xb1a9, 0xdd97,
    -    0xd0d0, 0xbdb5, 0xd28a, 0xc0aa, 0xfe40, 0xfe41, 0xfe42, 0xfe43,
    -    0x8956, 0xfe44, 0xc7e7, 0xfe45, 0xfe46, 0x8444, 0xd6ed, 0xd2e6,
    -    0xfe47, 0xc9f1, 0xcfe9, 0xb8a3, 0xbeb8, 0xbeab, 0xd3f0, 0xfe48,
    -    0xfe49, 0xfe4a, 0xd654, 0xfe4b, 0xfe4c, 0xd2dd, 0xb6bc, 0xfe4d,
    -    0xfe4e, 0xfe4f, 0xef88, 0xef95, 0xf05e, 0xfa51, 0x003f, 0x003f,
    -    0xceea, 0xc9ae, 0xc3e2, 0xc3e3, 0xc7da, 0xb1b0, 0xbac8, 0x8740,
    -    0xc6f7, 0x8942, 0xc4ab, 0x8cd3, 0xe5f8, 0xbbda, 0xbfae, 0xd4f7,
    -    0x91cd, 0xc3f4, 0xbcc8, 0xcaee, 0xc3b7, 0xbaa3, 0xe4be, 0x9d68,
    -    0xd6f3, 0xa08d, 0xd7c1, 0xb1ae, 0xc9e7, 0xeced, 0xc6ed, 0xb576,
    -    0xd7e6, 0xd7a3, 0xb59c, 0xb59d, 0xb759, 0xcdbb, 0xb99d, 0xbe9a,
    -    0xbf4e, 0xb7b1, 0xcaf0, 0xd5df, 0xb3f4, 0xdcb3, 0xdcb3, 0xd6f8,
    -    0xbad6, 0xd295, 0xd65d, 0xd694, 0xd965, 0xd99b, 0xe5c1, 0xd2dd,
    -    0xeb79, 0xed91, 0xee6c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa955, 0xa6f2, 0x003f, 0xa6f4, 0xa6f5, 0xa6e0, 0xa6e1, 0xa6f0,
    -    0xa6f1, 0xa6e2, 0xa6e3, 0xa6ee, 0xa6ef, 0xa6e6, 0xa6e7, 0xa6e4,
    -    0xa6e5, 0xa6e8, 0xa6e9, 0xa6ea, 0xa6eb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa968, 0xa969, 0xa96a, 0xa96b, 0xa96c, 0xa96d, 0xa96e,
    -    0xa96f, 0xa970, 0xa971, 0x003f, 0xa972, 0xa973, 0xa974, 0xa975,
    -    0xa1aa, 0xa976, 0xa977, 0xa978, 0xa979, 0xa97a, 0xa97b, 0xa97c,
    -    0xa97d, 0xa97e, 0xa980, 0xa981, 0xa982, 0xa983, 0xa984, 0x003f,
    -    0xa985, 0xa986, 0xa987, 0xa988, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xff00 .. 0xffff */
    -    0x003f, 0xa3a1, 0xa3a2, 0xa3a3, 0xa1e7, 0xa3a5, 0xa3a6, 0xa3a7,
    -    0xa3a8, 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af,
    -    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,
    -    0xa3b8, 0xa3b9, 0xa3ba, 0xa3bb, 0xa3bc, 0xa3bd, 0xa3be, 0xa3bf,
    -    0xa3c0, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,
    -    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,
    -    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,
    -    0xa3d8, 0xa3d9, 0xa3da, 0xa3db, 0xa3dc, 0xa3dd, 0xa3de, 0xa3df,
    -    0xa3e0, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,
    -    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,
    -    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,
    -    0xa3f8, 0xa3f9, 0xa3fa, 0xa3fb, 0xa3fc, 0xa3fd, 0xa1ab, 0x003f,
    -    0x003f, 0xa1a3, 0xa1b8, 0xa1b9, 0xa1a2, 0x003f, 0xa5f2, 0xa5a1,
    -    0xa5a3, 0xa5a5, 0xa5a7, 0xa5a9, 0xa5e3, 0xa5e5, 0xa5e7, 0xa5c3,
    -    0xa960, 0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad,
    -    0xa5af, 0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd,
    -    0xa5bf, 0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc,
    -    0xa5cd, 0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de,
    -    0xa5df, 0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9,
    -    0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1e9, 0xa1ea, 0xa956, 0xa3fe, 0xa957, 0xa3a4, 0x003f, 0x003f,
    -    0xa9a6, 0xa1fb, 0xa1fc, 0xa1fa, 0xa1fd, 0xa1f6, 0xa1f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* defaults */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0f00, 0x1000,
    -    0x1100, 0x1200, 0x1300, 0x1400, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x1500, 0x1600,
    -    0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00, 0x1e00,
    -    0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500, 0x2600,
    -    0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00, 0x2e00,
    -    0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600,
    -    0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00, 0x3e00,
    -    0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600,
    -    0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00, 0x4e00,
    -    0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600,
    -    0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00, 0x5e00,
    -    0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500, 0x6600,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    -    0x6c00, 0x6700, 0x6800, 0x6900, 0x6c00, 0x6c00, 0x6a00, 0x6b00
    -};
    -
    -const struct dbcs_table cptable_936 =
    -{
    -    { 936, 2, 0x003f, 0x003f, "ANSI/OEM Simplified Chinese GBK" },
    -    cp2uni,
    -    cp2uni_leadbytes,
    -    uni2cp_low,
    -    uni2cp_high,
    -    { 0x81, 0xfe, 0x00, 0x00 }
    -};
    +/* code page 936 (ANSI/OEM Simplified Chinese GBK) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[32512] =
    +{
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x20ac, 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, 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, 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, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,
    +    /* lead byte 81 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x4e02, 0x4e04, 0x4e05, 0x4e06, 0x4e0f, 0x4e12, 0x4e17, 0x4e1f,
    +    0x4e20, 0x4e21, 0x4e23, 0x4e26, 0x4e29, 0x4e2e, 0x4e2f, 0x4e31,
    +    0x4e33, 0x4e35, 0x4e37, 0x4e3c, 0x4e40, 0x4e41, 0x4e42, 0x4e44,
    +    0x4e46, 0x4e4a, 0x4e51, 0x4e55, 0x4e57, 0x4e5a, 0x4e5b, 0x4e62,
    +    0x4e63, 0x4e64, 0x4e65, 0x4e67, 0x4e68, 0x4e6a, 0x4e6b, 0x4e6c,
    +    0x4e6d, 0x4e6e, 0x4e6f, 0x4e72, 0x4e74, 0x4e75, 0x4e76, 0x4e77,
    +    0x4e78, 0x4e79, 0x4e7a, 0x4e7b, 0x4e7c, 0x4e7d, 0x4e7f, 0x4e80,
    +    0x4e81, 0x4e82, 0x4e83, 0x4e84, 0x4e85, 0x4e87, 0x4e8a, 0x003f,
    +    0x4e90, 0x4e96, 0x4e97, 0x4e99, 0x4e9c, 0x4e9d, 0x4e9e, 0x4ea3,
    +    0x4eaa, 0x4eaf, 0x4eb0, 0x4eb1, 0x4eb4, 0x4eb6, 0x4eb7, 0x4eb8,
    +    0x4eb9, 0x4ebc, 0x4ebd, 0x4ebe, 0x4ec8, 0x4ecc, 0x4ecf, 0x4ed0,
    +    0x4ed2, 0x4eda, 0x4edb, 0x4edc, 0x4ee0, 0x4ee2, 0x4ee6, 0x4ee7,
    +    0x4ee9, 0x4eed, 0x4eee, 0x4eef, 0x4ef1, 0x4ef4, 0x4ef8, 0x4ef9,
    +    0x4efa, 0x4efc, 0x4efe, 0x4f00, 0x4f02, 0x4f03, 0x4f04, 0x4f05,
    +    0x4f06, 0x4f07, 0x4f08, 0x4f0b, 0x4f0c, 0x4f12, 0x4f13, 0x4f14,
    +    0x4f15, 0x4f16, 0x4f1c, 0x4f1d, 0x4f21, 0x4f23, 0x4f28, 0x4f29,
    +    0x4f2c, 0x4f2d, 0x4f2e, 0x4f31, 0x4f33, 0x4f35, 0x4f37, 0x4f39,
    +    0x4f3b, 0x4f3e, 0x4f3f, 0x4f40, 0x4f41, 0x4f42, 0x4f44, 0x4f45,
    +    0x4f47, 0x4f48, 0x4f49, 0x4f4a, 0x4f4b, 0x4f4c, 0x4f52, 0x4f54,
    +    0x4f56, 0x4f61, 0x4f62, 0x4f66, 0x4f68, 0x4f6a, 0x4f6b, 0x4f6d,
    +    0x4f6e, 0x4f71, 0x4f72, 0x4f75, 0x4f77, 0x4f78, 0x4f79, 0x4f7a,
    +    0x4f7d, 0x4f80, 0x4f81, 0x4f82, 0x4f85, 0x4f86, 0x4f87, 0x4f8a,
    +    0x4f8c, 0x4f8e, 0x4f90, 0x4f92, 0x4f93, 0x4f95, 0x4f96, 0x4f98,
    +    0x4f99, 0x4f9a, 0x4f9c, 0x4f9e, 0x4f9f, 0x4fa1, 0x4fa2, 0x003f,
    +    /* lead byte 82 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x4fa4, 0x4fab, 0x4fad, 0x4fb0, 0x4fb1, 0x4fb2, 0x4fb3, 0x4fb4,
    +    0x4fb6, 0x4fb7, 0x4fb8, 0x4fb9, 0x4fba, 0x4fbb, 0x4fbc, 0x4fbd,
    +    0x4fbe, 0x4fc0, 0x4fc1, 0x4fc2, 0x4fc6, 0x4fc7, 0x4fc8, 0x4fc9,
    +    0x4fcb, 0x4fcc, 0x4fcd, 0x4fd2, 0x4fd3, 0x4fd4, 0x4fd5, 0x4fd6,
    +    0x4fd9, 0x4fdb, 0x4fe0, 0x4fe2, 0x4fe4, 0x4fe5, 0x4fe7, 0x4feb,
    +    0x4fec, 0x4ff0, 0x4ff2, 0x4ff4, 0x4ff5, 0x4ff6, 0x4ff7, 0x4ff9,
    +    0x4ffb, 0x4ffc, 0x4ffd, 0x4fff, 0x5000, 0x5001, 0x5002, 0x5003,
    +    0x5004, 0x5005, 0x5006, 0x5007, 0x5008, 0x5009, 0x500a, 0x003f,
    +    0x500b, 0x500e, 0x5010, 0x5011, 0x5013, 0x5015, 0x5016, 0x5017,
    +    0x501b, 0x501d, 0x501e, 0x5020, 0x5022, 0x5023, 0x5024, 0x5027,
    +    0x502b, 0x502f, 0x5030, 0x5031, 0x5032, 0x5033, 0x5034, 0x5035,
    +    0x5036, 0x5037, 0x5038, 0x5039, 0x503b, 0x503d, 0x503f, 0x5040,
    +    0x5041, 0x5042, 0x5044, 0x5045, 0x5046, 0x5049, 0x504a, 0x504b,
    +    0x504d, 0x5050, 0x5051, 0x5052, 0x5053, 0x5054, 0x5056, 0x5057,
    +    0x5058, 0x5059, 0x505b, 0x505d, 0x505e, 0x505f, 0x5060, 0x5061,
    +    0x5062, 0x5063, 0x5064, 0x5066, 0x5067, 0x5068, 0x5069, 0x506a,
    +    0x506b, 0x506d, 0x506e, 0x506f, 0x5070, 0x5071, 0x5072, 0x5073,
    +    0x5074, 0x5075, 0x5078, 0x5079, 0x507a, 0x507c, 0x507d, 0x5081,
    +    0x5082, 0x5083, 0x5084, 0x5086, 0x5087, 0x5089, 0x508a, 0x508b,
    +    0x508c, 0x508e, 0x508f, 0x5090, 0x5091, 0x5092, 0x5093, 0x5094,
    +    0x5095, 0x5096, 0x5097, 0x5098, 0x5099, 0x509a, 0x509b, 0x509c,
    +    0x509d, 0x509e, 0x509f, 0x50a0, 0x50a1, 0x50a2, 0x50a4, 0x50a6,
    +    0x50aa, 0x50ab, 0x50ad, 0x50ae, 0x50af, 0x50b0, 0x50b1, 0x50b3,
    +    0x50b4, 0x50b5, 0x50b6, 0x50b7, 0x50b8, 0x50b9, 0x50bc, 0x003f,
    +    /* lead byte 83 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x50bd, 0x50be, 0x50bf, 0x50c0, 0x50c1, 0x50c2, 0x50c3, 0x50c4,
    +    0x50c5, 0x50c6, 0x50c7, 0x50c8, 0x50c9, 0x50ca, 0x50cb, 0x50cc,
    +    0x50cd, 0x50ce, 0x50d0, 0x50d1, 0x50d2, 0x50d3, 0x50d4, 0x50d5,
    +    0x50d7, 0x50d8, 0x50d9, 0x50db, 0x50dc, 0x50dd, 0x50de, 0x50df,
    +    0x50e0, 0x50e1, 0x50e2, 0x50e3, 0x50e4, 0x50e5, 0x50e8, 0x50e9,
    +    0x50ea, 0x50eb, 0x50ef, 0x50f0, 0x50f1, 0x50f2, 0x50f4, 0x50f6,
    +    0x50f7, 0x50f8, 0x50f9, 0x50fa, 0x50fc, 0x50fd, 0x50fe, 0x50ff,
    +    0x5100, 0x5101, 0x5102, 0x5103, 0x5104, 0x5105, 0x5108, 0x003f,
    +    0x5109, 0x510a, 0x510c, 0x510d, 0x510e, 0x510f, 0x5110, 0x5111,
    +    0x5113, 0x5114, 0x5115, 0x5116, 0x5117, 0x5118, 0x5119, 0x511a,
    +    0x511b, 0x511c, 0x511d, 0x511e, 0x511f, 0x5120, 0x5122, 0x5123,
    +    0x5124, 0x5125, 0x5126, 0x5127, 0x5128, 0x5129, 0x512a, 0x512b,
    +    0x512c, 0x512d, 0x512e, 0x512f, 0x5130, 0x5131, 0x5132, 0x5133,
    +    0x5134, 0x5135, 0x5136, 0x5137, 0x5138, 0x5139, 0x513a, 0x513b,
    +    0x513c, 0x513d, 0x513e, 0x5142, 0x5147, 0x514a, 0x514c, 0x514e,
    +    0x514f, 0x5150, 0x5152, 0x5153, 0x5157, 0x5158, 0x5159, 0x515b,
    +    0x515d, 0x515e, 0x515f, 0x5160, 0x5161, 0x5163, 0x5164, 0x5166,
    +    0x5167, 0x5169, 0x516a, 0x516f, 0x5172, 0x517a, 0x517e, 0x517f,
    +    0x5183, 0x5184, 0x5186, 0x5187, 0x518a, 0x518b, 0x518e, 0x518f,
    +    0x5190, 0x5191, 0x5193, 0x5194, 0x5198, 0x519a, 0x519d, 0x519e,
    +    0x519f, 0x51a1, 0x51a3, 0x51a6, 0x51a7, 0x51a8, 0x51a9, 0x51aa,
    +    0x51ad, 0x51ae, 0x51b4, 0x51b8, 0x51b9, 0x51ba, 0x51be, 0x51bf,
    +    0x51c1, 0x51c2, 0x51c3, 0x51c5, 0x51c8, 0x51ca, 0x51cd, 0x51ce,
    +    0x51d0, 0x51d2, 0x51d3, 0x51d4, 0x51d5, 0x51d6, 0x51d7, 0x003f,
    +    /* lead byte 84 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x51d8, 0x51d9, 0x51da, 0x51dc, 0x51de, 0x51df, 0x51e2, 0x51e3,
    +    0x51e5, 0x51e6, 0x51e7, 0x51e8, 0x51e9, 0x51ea, 0x51ec, 0x51ee,
    +    0x51f1, 0x51f2, 0x51f4, 0x51f7, 0x51fe, 0x5204, 0x5205, 0x5209,
    +    0x520b, 0x520c, 0x520f, 0x5210, 0x5213, 0x5214, 0x5215, 0x521c,
    +    0x521e, 0x521f, 0x5221, 0x5222, 0x5223, 0x5225, 0x5226, 0x5227,
    +    0x522a, 0x522c, 0x522f, 0x5231, 0x5232, 0x5234, 0x5235, 0x523c,
    +    0x523e, 0x5244, 0x5245, 0x5246, 0x5247, 0x5248, 0x5249, 0x524b,
    +    0x524e, 0x524f, 0x5252, 0x5253, 0x5255, 0x5257, 0x5258, 0x003f,
    +    0x5259, 0x525a, 0x525b, 0x525d, 0x525f, 0x5260, 0x5262, 0x5263,
    +    0x5264, 0x5266, 0x5268, 0x526b, 0x526c, 0x526d, 0x526e, 0x5270,
    +    0x5271, 0x5273, 0x5274, 0x5275, 0x5276, 0x5277, 0x5278, 0x5279,
    +    0x527a, 0x527b, 0x527c, 0x527e, 0x5280, 0x5283, 0x5284, 0x5285,
    +    0x5286, 0x5287, 0x5289, 0x528a, 0x528b, 0x528c, 0x528d, 0x528e,
    +    0x528f, 0x5291, 0x5292, 0x5294, 0x5295, 0x5296, 0x5297, 0x5298,
    +    0x5299, 0x529a, 0x529c, 0x52a4, 0x52a5, 0x52a6, 0x52a7, 0x52ae,
    +    0x52af, 0x52b0, 0x52b4, 0x52b5, 0x52b6, 0x52b7, 0x52b8, 0x52b9,
    +    0x52ba, 0x52bb, 0x52bc, 0x52bd, 0x52c0, 0x52c1, 0x52c2, 0x52c4,
    +    0x52c5, 0x52c6, 0x52c8, 0x52ca, 0x52cc, 0x52cd, 0x52ce, 0x52cf,
    +    0x52d1, 0x52d3, 0x52d4, 0x52d5, 0x52d7, 0x52d9, 0x52da, 0x52db,
    +    0x52dc, 0x52dd, 0x52de, 0x52e0, 0x52e1, 0x52e2, 0x52e3, 0x52e5,
    +    0x52e6, 0x52e7, 0x52e8, 0x52e9, 0x52ea, 0x52eb, 0x52ec, 0x52ed,
    +    0x52ee, 0x52ef, 0x52f1, 0x52f2, 0x52f3, 0x52f4, 0x52f5, 0x52f6,
    +    0x52f7, 0x52f8, 0x52fb, 0x52fc, 0x52fd, 0x5301, 0x5302, 0x5303,
    +    0x5304, 0x5307, 0x5309, 0x530a, 0x530b, 0x530c, 0x530e, 0x003f,
    +    /* lead byte 85 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5311, 0x5312, 0x5313, 0x5314, 0x5318, 0x531b, 0x531c, 0x531e,
    +    0x531f, 0x5322, 0x5324, 0x5325, 0x5327, 0x5328, 0x5329, 0x532b,
    +    0x532c, 0x532d, 0x532f, 0x5330, 0x5331, 0x5332, 0x5333, 0x5334,
    +    0x5335, 0x5336, 0x5337, 0x5338, 0x533c, 0x533d, 0x5340, 0x5342,
    +    0x5344, 0x5346, 0x534b, 0x534c, 0x534d, 0x5350, 0x5354, 0x5358,
    +    0x5359, 0x535b, 0x535d, 0x5365, 0x5368, 0x536a, 0x536c, 0x536d,
    +    0x5372, 0x5376, 0x5379, 0x537b, 0x537c, 0x537d, 0x537e, 0x5380,
    +    0x5381, 0x5383, 0x5387, 0x5388, 0x538a, 0x538e, 0x538f, 0x003f,
    +    0x5390, 0x5391, 0x5392, 0x5393, 0x5394, 0x5396, 0x5397, 0x5399,
    +    0x539b, 0x539c, 0x539e, 0x53a0, 0x53a1, 0x53a4, 0x53a7, 0x53aa,
    +    0x53ab, 0x53ac, 0x53ad, 0x53af, 0x53b0, 0x53b1, 0x53b2, 0x53b3,
    +    0x53b4, 0x53b5, 0x53b7, 0x53b8, 0x53b9, 0x53ba, 0x53bc, 0x53bd,
    +    0x53be, 0x53c0, 0x53c3, 0x53c4, 0x53c5, 0x53c6, 0x53c7, 0x53ce,
    +    0x53cf, 0x53d0, 0x53d2, 0x53d3, 0x53d5, 0x53da, 0x53dc, 0x53dd,
    +    0x53de, 0x53e1, 0x53e2, 0x53e7, 0x53f4, 0x53fa, 0x53fe, 0x53ff,
    +    0x5400, 0x5402, 0x5405, 0x5407, 0x540b, 0x5414, 0x5418, 0x5419,
    +    0x541a, 0x541c, 0x5422, 0x5424, 0x5425, 0x542a, 0x5430, 0x5433,
    +    0x5436, 0x5437, 0x543a, 0x543d, 0x543f, 0x5441, 0x5442, 0x5444,
    +    0x5445, 0x5447, 0x5449, 0x544c, 0x544d, 0x544e, 0x544f, 0x5451,
    +    0x545a, 0x545d, 0x545e, 0x545f, 0x5460, 0x5461, 0x5463, 0x5465,
    +    0x5467, 0x5469, 0x546a, 0x546b, 0x546c, 0x546d, 0x546e, 0x546f,
    +    0x5470, 0x5474, 0x5479, 0x547a, 0x547e, 0x547f, 0x5481, 0x5483,
    +    0x5485, 0x5487, 0x5488, 0x5489, 0x548a, 0x548d, 0x5491, 0x5493,
    +    0x5497, 0x5498, 0x549c, 0x549e, 0x549f, 0x54a0, 0x54a1, 0x003f,
    +    /* lead byte 86 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x54a2, 0x54a5, 0x54ae, 0x54b0, 0x54b2, 0x54b5, 0x54b6, 0x54b7,
    +    0x54b9, 0x54ba, 0x54bc, 0x54be, 0x54c3, 0x54c5, 0x54ca, 0x54cb,
    +    0x54d6, 0x54d8, 0x54db, 0x54e0, 0x54e1, 0x54e2, 0x54e3, 0x54e4,
    +    0x54eb, 0x54ec, 0x54ef, 0x54f0, 0x54f1, 0x54f4, 0x54f5, 0x54f6,
    +    0x54f7, 0x54f8, 0x54f9, 0x54fb, 0x54fe, 0x5500, 0x5502, 0x5503,
    +    0x5504, 0x5505, 0x5508, 0x550a, 0x550b, 0x550c, 0x550d, 0x550e,
    +    0x5512, 0x5513, 0x5515, 0x5516, 0x5517, 0x5518, 0x5519, 0x551a,
    +    0x551c, 0x551d, 0x551e, 0x551f, 0x5521, 0x5525, 0x5526, 0x003f,
    +    0x5528, 0x5529, 0x552b, 0x552d, 0x5532, 0x5534, 0x5535, 0x5536,
    +    0x5538, 0x5539, 0x553a, 0x553b, 0x553d, 0x5540, 0x5542, 0x5545,
    +    0x5547, 0x5548, 0x554b, 0x554c, 0x554d, 0x554e, 0x554f, 0x5551,
    +    0x5552, 0x5553, 0x5554, 0x5557, 0x5558, 0x5559, 0x555a, 0x555b,
    +    0x555d, 0x555e, 0x555f, 0x5560, 0x5562, 0x5563, 0x5568, 0x5569,
    +    0x556b, 0x556f, 0x5570, 0x5571, 0x5572, 0x5573, 0x5574, 0x5579,
    +    0x557a, 0x557d, 0x557f, 0x5585, 0x5586, 0x558c, 0x558d, 0x558e,
    +    0x5590, 0x5592, 0x5593, 0x5595, 0x5596, 0x5597, 0x559a, 0x559b,
    +    0x559e, 0x55a0, 0x55a1, 0x55a2, 0x55a3, 0x55a4, 0x55a5, 0x55a6,
    +    0x55a8, 0x55a9, 0x55aa, 0x55ab, 0x55ac, 0x55ad, 0x55ae, 0x55af,
    +    0x55b0, 0x55b2, 0x55b4, 0x55b6, 0x55b8, 0x55ba, 0x55bc, 0x55bf,
    +    0x55c0, 0x55c1, 0x55c2, 0x55c3, 0x55c6, 0x55c7, 0x55c8, 0x55ca,
    +    0x55cb, 0x55ce, 0x55cf, 0x55d0, 0x55d5, 0x55d7, 0x55d8, 0x55d9,
    +    0x55da, 0x55db, 0x55de, 0x55e0, 0x55e2, 0x55e7, 0x55e9, 0x55ed,
    +    0x55ee, 0x55f0, 0x55f1, 0x55f4, 0x55f6, 0x55f8, 0x55f9, 0x55fa,
    +    0x55fb, 0x55fc, 0x55ff, 0x5602, 0x5603, 0x5604, 0x5605, 0x003f,
    +    /* lead byte 87 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5606, 0x5607, 0x560a, 0x560b, 0x560d, 0x5610, 0x5611, 0x5612,
    +    0x5613, 0x5614, 0x5615, 0x5616, 0x5617, 0x5619, 0x561a, 0x561c,
    +    0x561d, 0x5620, 0x5621, 0x5622, 0x5625, 0x5626, 0x5628, 0x5629,
    +    0x562a, 0x562b, 0x562e, 0x562f, 0x5630, 0x5633, 0x5635, 0x5637,
    +    0x5638, 0x563a, 0x563c, 0x563d, 0x563e, 0x5640, 0x5641, 0x5642,
    +    0x5643, 0x5644, 0x5645, 0x5646, 0x5647, 0x5648, 0x5649, 0x564a,
    +    0x564b, 0x564f, 0x5650, 0x5651, 0x5652, 0x5653, 0x5655, 0x5656,
    +    0x565a, 0x565b, 0x565d, 0x565e, 0x565f, 0x5660, 0x5661, 0x003f,
    +    0x5663, 0x5665, 0x5666, 0x5667, 0x566d, 0x566e, 0x566f, 0x5670,
    +    0x5672, 0x5673, 0x5674, 0x5675, 0x5677, 0x5678, 0x5679, 0x567a,
    +    0x567d, 0x567e, 0x567f, 0x5680, 0x5681, 0x5682, 0x5683, 0x5684,
    +    0x5687, 0x5688, 0x5689, 0x568a, 0x568b, 0x568c, 0x568d, 0x5690,
    +    0x5691, 0x5692, 0x5694, 0x5695, 0x5696, 0x5697, 0x5698, 0x5699,
    +    0x569a, 0x569b, 0x569c, 0x569d, 0x569e, 0x569f, 0x56a0, 0x56a1,
    +    0x56a2, 0x56a4, 0x56a5, 0x56a6, 0x56a7, 0x56a8, 0x56a9, 0x56aa,
    +    0x56ab, 0x56ac, 0x56ad, 0x56ae, 0x56b0, 0x56b1, 0x56b2, 0x56b3,
    +    0x56b4, 0x56b5, 0x56b6, 0x56b8, 0x56b9, 0x56ba, 0x56bb, 0x56bd,
    +    0x56be, 0x56bf, 0x56c0, 0x56c1, 0x56c2, 0x56c3, 0x56c4, 0x56c5,
    +    0x56c6, 0x56c7, 0x56c8, 0x56c9, 0x56cb, 0x56cc, 0x56cd, 0x56ce,
    +    0x56cf, 0x56d0, 0x56d1, 0x56d2, 0x56d3, 0x56d5, 0x56d6, 0x56d8,
    +    0x56d9, 0x56dc, 0x56e3, 0x56e5, 0x56e6, 0x56e7, 0x56e8, 0x56e9,
    +    0x56ea, 0x56ec, 0x56ee, 0x56ef, 0x56f2, 0x56f3, 0x56f6, 0x56f7,
    +    0x56f8, 0x56fb, 0x56fc, 0x5700, 0x5701, 0x5702, 0x5705, 0x5707,
    +    0x570b, 0x570c, 0x570d, 0x570e, 0x570f, 0x5710, 0x5711, 0x003f,
    +    /* lead byte 88 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5712, 0x5713, 0x5714, 0x5715, 0x5716, 0x5717, 0x5718, 0x5719,
    +    0x571a, 0x571b, 0x571d, 0x571e, 0x5720, 0x5721, 0x5722, 0x5724,
    +    0x5725, 0x5726, 0x5727, 0x572b, 0x5731, 0x5732, 0x5734, 0x5735,
    +    0x5736, 0x5737, 0x5738, 0x573c, 0x573d, 0x573f, 0x5741, 0x5743,
    +    0x5744, 0x5745, 0x5746, 0x5748, 0x5749, 0x574b, 0x5752, 0x5753,
    +    0x5754, 0x5755, 0x5756, 0x5758, 0x5759, 0x5762, 0x5763, 0x5765,
    +    0x5767, 0x576c, 0x576e, 0x5770, 0x5771, 0x5772, 0x5774, 0x5775,
    +    0x5778, 0x5779, 0x577a, 0x577d, 0x577e, 0x577f, 0x5780, 0x003f,
    +    0x5781, 0x5787, 0x5788, 0x5789, 0x578a, 0x578d, 0x578e, 0x578f,
    +    0x5790, 0x5791, 0x5794, 0x5795, 0x5796, 0x5797, 0x5798, 0x5799,
    +    0x579a, 0x579c, 0x579d, 0x579e, 0x579f, 0x57a5, 0x57a8, 0x57aa,
    +    0x57ac, 0x57af, 0x57b0, 0x57b1, 0x57b3, 0x57b5, 0x57b6, 0x57b7,
    +    0x57b9, 0x57ba, 0x57bb, 0x57bc, 0x57bd, 0x57be, 0x57bf, 0x57c0,
    +    0x57c1, 0x57c4, 0x57c5, 0x57c6, 0x57c7, 0x57c8, 0x57c9, 0x57ca,
    +    0x57cc, 0x57cd, 0x57d0, 0x57d1, 0x57d3, 0x57d6, 0x57d7, 0x57db,
    +    0x57dc, 0x57de, 0x57e1, 0x57e2, 0x57e3, 0x57e5, 0x57e6, 0x57e7,
    +    0x57e8, 0x57e9, 0x57ea, 0x57eb, 0x57ec, 0x57ee, 0x57f0, 0x57f1,
    +    0x57f2, 0x57f3, 0x57f5, 0x57f6, 0x57f7, 0x57fb, 0x57fc, 0x57fe,
    +    0x57ff, 0x5801, 0x5803, 0x5804, 0x5805, 0x5808, 0x5809, 0x580a,
    +    0x580c, 0x580e, 0x580f, 0x5810, 0x5812, 0x5813, 0x5814, 0x5816,
    +    0x5817, 0x5818, 0x581a, 0x581b, 0x581c, 0x581d, 0x581f, 0x5822,
    +    0x5823, 0x5825, 0x5826, 0x5827, 0x5828, 0x5829, 0x582b, 0x582c,
    +    0x582d, 0x582e, 0x582f, 0x5831, 0x5832, 0x5833, 0x5834, 0x5836,
    +    0x5837, 0x5838, 0x5839, 0x583a, 0x583b, 0x583c, 0x583d, 0x003f,
    +    /* lead byte 89 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x583e, 0x583f, 0x5840, 0x5841, 0x5842, 0x5843, 0x5845, 0x5846,
    +    0x5847, 0x5848, 0x5849, 0x584a, 0x584b, 0x584e, 0x584f, 0x5850,
    +    0x5852, 0x5853, 0x5855, 0x5856, 0x5857, 0x5859, 0x585a, 0x585b,
    +    0x585c, 0x585d, 0x585f, 0x5860, 0x5861, 0x5862, 0x5863, 0x5864,
    +    0x5866, 0x5867, 0x5868, 0x5869, 0x586a, 0x586d, 0x586e, 0x586f,
    +    0x5870, 0x5871, 0x5872, 0x5873, 0x5874, 0x5875, 0x5876, 0x5877,
    +    0x5878, 0x5879, 0x587a, 0x587b, 0x587c, 0x587d, 0x587f, 0x5882,
    +    0x5884, 0x5886, 0x5887, 0x5888, 0x588a, 0x588b, 0x588c, 0x003f,
    +    0x588d, 0x588e, 0x588f, 0x5890, 0x5891, 0x5894, 0x5895, 0x5896,
    +    0x5897, 0x5898, 0x589b, 0x589c, 0x589d, 0x58a0, 0x58a1, 0x58a2,
    +    0x58a3, 0x58a4, 0x58a5, 0x58a6, 0x58a7, 0x58aa, 0x58ab, 0x58ac,
    +    0x58ad, 0x58ae, 0x58af, 0x58b0, 0x58b1, 0x58b2, 0x58b3, 0x58b4,
    +    0x58b5, 0x58b6, 0x58b7, 0x58b8, 0x58b9, 0x58ba, 0x58bb, 0x58bd,
    +    0x58be, 0x58bf, 0x58c0, 0x58c2, 0x58c3, 0x58c4, 0x58c6, 0x58c7,
    +    0x58c8, 0x58c9, 0x58ca, 0x58cb, 0x58cc, 0x58cd, 0x58ce, 0x58cf,
    +    0x58d0, 0x58d2, 0x58d3, 0x58d4, 0x58d6, 0x58d7, 0x58d8, 0x58d9,
    +    0x58da, 0x58db, 0x58dc, 0x58dd, 0x58de, 0x58df, 0x58e0, 0x58e1,
    +    0x58e2, 0x58e3, 0x58e5, 0x58e6, 0x58e7, 0x58e8, 0x58e9, 0x58ea,
    +    0x58ed, 0x58ef, 0x58f1, 0x58f2, 0x58f4, 0x58f5, 0x58f7, 0x58f8,
    +    0x58fa, 0x58fb, 0x58fc, 0x58fd, 0x58fe, 0x58ff, 0x5900, 0x5901,
    +    0x5903, 0x5905, 0x5906, 0x5908, 0x5909, 0x590a, 0x590b, 0x590c,
    +    0x590e, 0x5910, 0x5911, 0x5912, 0x5913, 0x5917, 0x5918, 0x591b,
    +    0x591d, 0x591e, 0x5920, 0x5921, 0x5922, 0x5923, 0x5926, 0x5928,
    +    0x592c, 0x5930, 0x5932, 0x5933, 0x5935, 0x5936, 0x593b, 0x003f,
    +    /* lead byte 8a */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x593d, 0x593e, 0x593f, 0x5940, 0x5943, 0x5945, 0x5946, 0x594a,
    +    0x594c, 0x594d, 0x5950, 0x5952, 0x5953, 0x5959, 0x595b, 0x595c,
    +    0x595d, 0x595e, 0x595f, 0x5961, 0x5963, 0x5964, 0x5966, 0x5967,
    +    0x5968, 0x5969, 0x596a, 0x596b, 0x596c, 0x596d, 0x596e, 0x596f,
    +    0x5970, 0x5971, 0x5972, 0x5975, 0x5977, 0x597a, 0x597b, 0x597c,
    +    0x597e, 0x597f, 0x5980, 0x5985, 0x5989, 0x598b, 0x598c, 0x598e,
    +    0x598f, 0x5990, 0x5991, 0x5994, 0x5995, 0x5998, 0x599a, 0x599b,
    +    0x599c, 0x599d, 0x599f, 0x59a0, 0x59a1, 0x59a2, 0x59a6, 0x003f,
    +    0x59a7, 0x59ac, 0x59ad, 0x59b0, 0x59b1, 0x59b3, 0x59b4, 0x59b5,
    +    0x59b6, 0x59b7, 0x59b8, 0x59ba, 0x59bc, 0x59bd, 0x59bf, 0x59c0,
    +    0x59c1, 0x59c2, 0x59c3, 0x59c4, 0x59c5, 0x59c7, 0x59c8, 0x59c9,
    +    0x59cc, 0x59cd, 0x59ce, 0x59cf, 0x59d5, 0x59d6, 0x59d9, 0x59db,
    +    0x59de, 0x59df, 0x59e0, 0x59e1, 0x59e2, 0x59e4, 0x59e6, 0x59e7,
    +    0x59e9, 0x59ea, 0x59eb, 0x59ed, 0x59ee, 0x59ef, 0x59f0, 0x59f1,
    +    0x59f2, 0x59f3, 0x59f4, 0x59f5, 0x59f6, 0x59f7, 0x59f8, 0x59fa,
    +    0x59fc, 0x59fd, 0x59fe, 0x5a00, 0x5a02, 0x5a0a, 0x5a0b, 0x5a0d,
    +    0x5a0e, 0x5a0f, 0x5a10, 0x5a12, 0x5a14, 0x5a15, 0x5a16, 0x5a17,
    +    0x5a19, 0x5a1a, 0x5a1b, 0x5a1d, 0x5a1e, 0x5a21, 0x5a22, 0x5a24,
    +    0x5a26, 0x5a27, 0x5a28, 0x5a2a, 0x5a2b, 0x5a2c, 0x5a2d, 0x5a2e,
    +    0x5a2f, 0x5a30, 0x5a33, 0x5a35, 0x5a37, 0x5a38, 0x5a39, 0x5a3a,
    +    0x5a3b, 0x5a3d, 0x5a3e, 0x5a3f, 0x5a41, 0x5a42, 0x5a43, 0x5a44,
    +    0x5a45, 0x5a47, 0x5a48, 0x5a4b, 0x5a4c, 0x5a4d, 0x5a4e, 0x5a4f,
    +    0x5a50, 0x5a51, 0x5a52, 0x5a53, 0x5a54, 0x5a56, 0x5a57, 0x5a58,
    +    0x5a59, 0x5a5b, 0x5a5c, 0x5a5d, 0x5a5e, 0x5a5f, 0x5a60, 0x003f,
    +    /* lead byte 8b */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5a61, 0x5a63, 0x5a64, 0x5a65, 0x5a66, 0x5a68, 0x5a69, 0x5a6b,
    +    0x5a6c, 0x5a6d, 0x5a6e, 0x5a6f, 0x5a70, 0x5a71, 0x5a72, 0x5a73,
    +    0x5a78, 0x5a79, 0x5a7b, 0x5a7c, 0x5a7d, 0x5a7e, 0x5a80, 0x5a81,
    +    0x5a82, 0x5a83, 0x5a84, 0x5a85, 0x5a86, 0x5a87, 0x5a88, 0x5a89,
    +    0x5a8a, 0x5a8b, 0x5a8c, 0x5a8d, 0x5a8e, 0x5a8f, 0x5a90, 0x5a91,
    +    0x5a93, 0x5a94, 0x5a95, 0x5a96, 0x5a97, 0x5a98, 0x5a99, 0x5a9c,
    +    0x5a9d, 0x5a9e, 0x5a9f, 0x5aa0, 0x5aa1, 0x5aa2, 0x5aa3, 0x5aa4,
    +    0x5aa5, 0x5aa6, 0x5aa7, 0x5aa8, 0x5aa9, 0x5aab, 0x5aac, 0x003f,
    +    0x5aad, 0x5aae, 0x5aaf, 0x5ab0, 0x5ab1, 0x5ab4, 0x5ab6, 0x5ab7,
    +    0x5ab9, 0x5aba, 0x5abb, 0x5abc, 0x5abd, 0x5abf, 0x5ac0, 0x5ac3,
    +    0x5ac4, 0x5ac5, 0x5ac6, 0x5ac7, 0x5ac8, 0x5aca, 0x5acb, 0x5acd,
    +    0x5ace, 0x5acf, 0x5ad0, 0x5ad1, 0x5ad3, 0x5ad5, 0x5ad7, 0x5ad9,
    +    0x5ada, 0x5adb, 0x5add, 0x5ade, 0x5adf, 0x5ae2, 0x5ae4, 0x5ae5,
    +    0x5ae7, 0x5ae8, 0x5aea, 0x5aec, 0x5aed, 0x5aee, 0x5aef, 0x5af0,
    +    0x5af2, 0x5af3, 0x5af4, 0x5af5, 0x5af6, 0x5af7, 0x5af8, 0x5af9,
    +    0x5afa, 0x5afb, 0x5afc, 0x5afd, 0x5afe, 0x5aff, 0x5b00, 0x5b01,
    +    0x5b02, 0x5b03, 0x5b04, 0x5b05, 0x5b06, 0x5b07, 0x5b08, 0x5b0a,
    +    0x5b0b, 0x5b0c, 0x5b0d, 0x5b0e, 0x5b0f, 0x5b10, 0x5b11, 0x5b12,
    +    0x5b13, 0x5b14, 0x5b15, 0x5b18, 0x5b19, 0x5b1a, 0x5b1b, 0x5b1c,
    +    0x5b1d, 0x5b1e, 0x5b1f, 0x5b20, 0x5b21, 0x5b22, 0x5b23, 0x5b24,
    +    0x5b25, 0x5b26, 0x5b27, 0x5b28, 0x5b29, 0x5b2a, 0x5b2b, 0x5b2c,
    +    0x5b2d, 0x5b2e, 0x5b2f, 0x5b30, 0x5b31, 0x5b33, 0x5b35, 0x5b36,
    +    0x5b38, 0x5b39, 0x5b3a, 0x5b3b, 0x5b3c, 0x5b3d, 0x5b3e, 0x5b3f,
    +    0x5b41, 0x5b42, 0x5b43, 0x5b44, 0x5b45, 0x5b46, 0x5b47, 0x003f,
    +    /* lead byte 8c */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5b48, 0x5b49, 0x5b4a, 0x5b4b, 0x5b4c, 0x5b4d, 0x5b4e, 0x5b4f,
    +    0x5b52, 0x5b56, 0x5b5e, 0x5b60, 0x5b61, 0x5b67, 0x5b68, 0x5b6b,
    +    0x5b6d, 0x5b6e, 0x5b6f, 0x5b72, 0x5b74, 0x5b76, 0x5b77, 0x5b78,
    +    0x5b79, 0x5b7b, 0x5b7c, 0x5b7e, 0x5b7f, 0x5b82, 0x5b86, 0x5b8a,
    +    0x5b8d, 0x5b8e, 0x5b90, 0x5b91, 0x5b92, 0x5b94, 0x5b96, 0x5b9f,
    +    0x5ba7, 0x5ba8, 0x5ba9, 0x5bac, 0x5bad, 0x5bae, 0x5baf, 0x5bb1,
    +    0x5bb2, 0x5bb7, 0x5bba, 0x5bbb, 0x5bbc, 0x5bc0, 0x5bc1, 0x5bc3,
    +    0x5bc8, 0x5bc9, 0x5bca, 0x5bcb, 0x5bcd, 0x5bce, 0x5bcf, 0x003f,
    +    0x5bd1, 0x5bd4, 0x5bd5, 0x5bd6, 0x5bd7, 0x5bd8, 0x5bd9, 0x5bda,
    +    0x5bdb, 0x5bdc, 0x5be0, 0x5be2, 0x5be3, 0x5be6, 0x5be7, 0x5be9,
    +    0x5bea, 0x5beb, 0x5bec, 0x5bed, 0x5bef, 0x5bf1, 0x5bf2, 0x5bf3,
    +    0x5bf4, 0x5bf5, 0x5bf6, 0x5bf7, 0x5bfd, 0x5bfe, 0x5c00, 0x5c02,
    +    0x5c03, 0x5c05, 0x5c07, 0x5c08, 0x5c0b, 0x5c0c, 0x5c0d, 0x5c0e,
    +    0x5c10, 0x5c12, 0x5c13, 0x5c17, 0x5c19, 0x5c1b, 0x5c1e, 0x5c1f,
    +    0x5c20, 0x5c21, 0x5c23, 0x5c26, 0x5c28, 0x5c29, 0x5c2a, 0x5c2b,
    +    0x5c2d, 0x5c2e, 0x5c2f, 0x5c30, 0x5c32, 0x5c33, 0x5c35, 0x5c36,
    +    0x5c37, 0x5c43, 0x5c44, 0x5c46, 0x5c47, 0x5c4c, 0x5c4d, 0x5c52,
    +    0x5c53, 0x5c54, 0x5c56, 0x5c57, 0x5c58, 0x5c5a, 0x5c5b, 0x5c5c,
    +    0x5c5d, 0x5c5f, 0x5c62, 0x5c64, 0x5c67, 0x5c68, 0x5c69, 0x5c6a,
    +    0x5c6b, 0x5c6c, 0x5c6d, 0x5c70, 0x5c72, 0x5c73, 0x5c74, 0x5c75,
    +    0x5c76, 0x5c77, 0x5c78, 0x5c7b, 0x5c7c, 0x5c7d, 0x5c7e, 0x5c80,
    +    0x5c83, 0x5c84, 0x5c85, 0x5c86, 0x5c87, 0x5c89, 0x5c8a, 0x5c8b,
    +    0x5c8e, 0x5c8f, 0x5c92, 0x5c93, 0x5c95, 0x5c9d, 0x5c9e, 0x5c9f,
    +    0x5ca0, 0x5ca1, 0x5ca4, 0x5ca5, 0x5ca6, 0x5ca7, 0x5ca8, 0x003f,
    +    /* lead byte 8d */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5caa, 0x5cae, 0x5caf, 0x5cb0, 0x5cb2, 0x5cb4, 0x5cb6, 0x5cb9,
    +    0x5cba, 0x5cbb, 0x5cbc, 0x5cbe, 0x5cc0, 0x5cc2, 0x5cc3, 0x5cc5,
    +    0x5cc6, 0x5cc7, 0x5cc8, 0x5cc9, 0x5cca, 0x5ccc, 0x5ccd, 0x5cce,
    +    0x5ccf, 0x5cd0, 0x5cd1, 0x5cd3, 0x5cd4, 0x5cd5, 0x5cd6, 0x5cd7,
    +    0x5cd8, 0x5cda, 0x5cdb, 0x5cdc, 0x5cdd, 0x5cde, 0x5cdf, 0x5ce0,
    +    0x5ce2, 0x5ce3, 0x5ce7, 0x5ce9, 0x5ceb, 0x5cec, 0x5cee, 0x5cef,
    +    0x5cf1, 0x5cf2, 0x5cf3, 0x5cf4, 0x5cf5, 0x5cf6, 0x5cf7, 0x5cf8,
    +    0x5cf9, 0x5cfa, 0x5cfc, 0x5cfd, 0x5cfe, 0x5cff, 0x5d00, 0x003f,
    +    0x5d01, 0x5d04, 0x5d05, 0x5d08, 0x5d09, 0x5d0a, 0x5d0b, 0x5d0c,
    +    0x5d0d, 0x5d0f, 0x5d10, 0x5d11, 0x5d12, 0x5d13, 0x5d15, 0x5d17,
    +    0x5d18, 0x5d19, 0x5d1a, 0x5d1c, 0x5d1d, 0x5d1f, 0x5d20, 0x5d21,
    +    0x5d22, 0x5d23, 0x5d25, 0x5d28, 0x5d2a, 0x5d2b, 0x5d2c, 0x5d2f,
    +    0x5d30, 0x5d31, 0x5d32, 0x5d33, 0x5d35, 0x5d36, 0x5d37, 0x5d38,
    +    0x5d39, 0x5d3a, 0x5d3b, 0x5d3c, 0x5d3f, 0x5d40, 0x5d41, 0x5d42,
    +    0x5d43, 0x5d44, 0x5d45, 0x5d46, 0x5d48, 0x5d49, 0x5d4d, 0x5d4e,
    +    0x5d4f, 0x5d50, 0x5d51, 0x5d52, 0x5d53, 0x5d54, 0x5d55, 0x5d56,
    +    0x5d57, 0x5d59, 0x5d5a, 0x5d5c, 0x5d5e, 0x5d5f, 0x5d60, 0x5d61,
    +    0x5d62, 0x5d63, 0x5d64, 0x5d65, 0x5d66, 0x5d67, 0x5d68, 0x5d6a,
    +    0x5d6d, 0x5d6e, 0x5d70, 0x5d71, 0x5d72, 0x5d73, 0x5d75, 0x5d76,
    +    0x5d77, 0x5d78, 0x5d79, 0x5d7a, 0x5d7b, 0x5d7c, 0x5d7d, 0x5d7e,
    +    0x5d7f, 0x5d80, 0x5d81, 0x5d83, 0x5d84, 0x5d85, 0x5d86, 0x5d87,
    +    0x5d88, 0x5d89, 0x5d8a, 0x5d8b, 0x5d8c, 0x5d8d, 0x5d8e, 0x5d8f,
    +    0x5d90, 0x5d91, 0x5d92, 0x5d93, 0x5d94, 0x5d95, 0x5d96, 0x5d97,
    +    0x5d98, 0x5d9a, 0x5d9b, 0x5d9c, 0x5d9e, 0x5d9f, 0x5da0, 0x003f,
    +    /* lead byte 8e */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5da1, 0x5da2, 0x5da3, 0x5da4, 0x5da5, 0x5da6, 0x5da7, 0x5da8,
    +    0x5da9, 0x5daa, 0x5dab, 0x5dac, 0x5dad, 0x5dae, 0x5daf, 0x5db0,
    +    0x5db1, 0x5db2, 0x5db3, 0x5db4, 0x5db5, 0x5db6, 0x5db8, 0x5db9,
    +    0x5dba, 0x5dbb, 0x5dbc, 0x5dbd, 0x5dbe, 0x5dbf, 0x5dc0, 0x5dc1,
    +    0x5dc2, 0x5dc3, 0x5dc4, 0x5dc6, 0x5dc7, 0x5dc8, 0x5dc9, 0x5dca,
    +    0x5dcb, 0x5dcc, 0x5dce, 0x5dcf, 0x5dd0, 0x5dd1, 0x5dd2, 0x5dd3,
    +    0x5dd4, 0x5dd5, 0x5dd6, 0x5dd7, 0x5dd8, 0x5dd9, 0x5dda, 0x5ddc,
    +    0x5ddf, 0x5de0, 0x5de3, 0x5de4, 0x5dea, 0x5dec, 0x5ded, 0x003f,
    +    0x5df0, 0x5df5, 0x5df6, 0x5df8, 0x5df9, 0x5dfa, 0x5dfb, 0x5dfc,
    +    0x5dff, 0x5e00, 0x5e04, 0x5e07, 0x5e09, 0x5e0a, 0x5e0b, 0x5e0d,
    +    0x5e0e, 0x5e12, 0x5e13, 0x5e17, 0x5e1e, 0x5e1f, 0x5e20, 0x5e21,
    +    0x5e22, 0x5e23, 0x5e24, 0x5e25, 0x5e28, 0x5e29, 0x5e2a, 0x5e2b,
    +    0x5e2c, 0x5e2f, 0x5e30, 0x5e32, 0x5e33, 0x5e34, 0x5e35, 0x5e36,
    +    0x5e39, 0x5e3a, 0x5e3e, 0x5e3f, 0x5e40, 0x5e41, 0x5e43, 0x5e46,
    +    0x5e47, 0x5e48, 0x5e49, 0x5e4a, 0x5e4b, 0x5e4d, 0x5e4e, 0x5e4f,
    +    0x5e50, 0x5e51, 0x5e52, 0x5e53, 0x5e56, 0x5e57, 0x5e58, 0x5e59,
    +    0x5e5a, 0x5e5c, 0x5e5d, 0x5e5f, 0x5e60, 0x5e63, 0x5e64, 0x5e65,
    +    0x5e66, 0x5e67, 0x5e68, 0x5e69, 0x5e6a, 0x5e6b, 0x5e6c, 0x5e6d,
    +    0x5e6e, 0x5e6f, 0x5e70, 0x5e71, 0x5e75, 0x5e77, 0x5e79, 0x5e7e,
    +    0x5e81, 0x5e82, 0x5e83, 0x5e85, 0x5e88, 0x5e89, 0x5e8c, 0x5e8d,
    +    0x5e8e, 0x5e92, 0x5e98, 0x5e9b, 0x5e9d, 0x5ea1, 0x5ea2, 0x5ea3,
    +    0x5ea4, 0x5ea8, 0x5ea9, 0x5eaa, 0x5eab, 0x5eac, 0x5eae, 0x5eaf,
    +    0x5eb0, 0x5eb1, 0x5eb2, 0x5eb4, 0x5eba, 0x5ebb, 0x5ebc, 0x5ebd,
    +    0x5ebf, 0x5ec0, 0x5ec1, 0x5ec2, 0x5ec3, 0x5ec4, 0x5ec5, 0x003f,
    +    /* lead byte 8f */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5ec6, 0x5ec7, 0x5ec8, 0x5ecb, 0x5ecc, 0x5ecd, 0x5ece, 0x5ecf,
    +    0x5ed0, 0x5ed4, 0x5ed5, 0x5ed7, 0x5ed8, 0x5ed9, 0x5eda, 0x5edc,
    +    0x5edd, 0x5ede, 0x5edf, 0x5ee0, 0x5ee1, 0x5ee2, 0x5ee3, 0x5ee4,
    +    0x5ee5, 0x5ee6, 0x5ee7, 0x5ee9, 0x5eeb, 0x5eec, 0x5eed, 0x5eee,
    +    0x5eef, 0x5ef0, 0x5ef1, 0x5ef2, 0x5ef3, 0x5ef5, 0x5ef8, 0x5ef9,
    +    0x5efb, 0x5efc, 0x5efd, 0x5f05, 0x5f06, 0x5f07, 0x5f09, 0x5f0c,
    +    0x5f0d, 0x5f0e, 0x5f10, 0x5f12, 0x5f14, 0x5f16, 0x5f19, 0x5f1a,
    +    0x5f1c, 0x5f1d, 0x5f1e, 0x5f21, 0x5f22, 0x5f23, 0x5f24, 0x003f,
    +    0x5f28, 0x5f2b, 0x5f2c, 0x5f2e, 0x5f30, 0x5f32, 0x5f33, 0x5f34,
    +    0x5f35, 0x5f36, 0x5f37, 0x5f38, 0x5f3b, 0x5f3d, 0x5f3e, 0x5f3f,
    +    0x5f41, 0x5f42, 0x5f43, 0x5f44, 0x5f45, 0x5f46, 0x5f47, 0x5f48,
    +    0x5f49, 0x5f4a, 0x5f4b, 0x5f4c, 0x5f4d, 0x5f4e, 0x5f4f, 0x5f51,
    +    0x5f54, 0x5f59, 0x5f5a, 0x5f5b, 0x5f5c, 0x5f5e, 0x5f5f, 0x5f60,
    +    0x5f63, 0x5f65, 0x5f67, 0x5f68, 0x5f6b, 0x5f6e, 0x5f6f, 0x5f72,
    +    0x5f74, 0x5f75, 0x5f76, 0x5f78, 0x5f7a, 0x5f7d, 0x5f7e, 0x5f7f,
    +    0x5f83, 0x5f86, 0x5f8d, 0x5f8e, 0x5f8f, 0x5f91, 0x5f93, 0x5f94,
    +    0x5f96, 0x5f9a, 0x5f9b, 0x5f9d, 0x5f9e, 0x5f9f, 0x5fa0, 0x5fa2,
    +    0x5fa3, 0x5fa4, 0x5fa5, 0x5fa6, 0x5fa7, 0x5fa9, 0x5fab, 0x5fac,
    +    0x5faf, 0x5fb0, 0x5fb1, 0x5fb2, 0x5fb3, 0x5fb4, 0x5fb6, 0x5fb8,
    +    0x5fb9, 0x5fba, 0x5fbb, 0x5fbe, 0x5fbf, 0x5fc0, 0x5fc1, 0x5fc2,
    +    0x5fc7, 0x5fc8, 0x5fca, 0x5fcb, 0x5fce, 0x5fd3, 0x5fd4, 0x5fd5,
    +    0x5fda, 0x5fdb, 0x5fdc, 0x5fde, 0x5fdf, 0x5fe2, 0x5fe3, 0x5fe5,
    +    0x5fe6, 0x5fe8, 0x5fe9, 0x5fec, 0x5fef, 0x5ff0, 0x5ff2, 0x5ff3,
    +    0x5ff4, 0x5ff6, 0x5ff7, 0x5ff9, 0x5ffa, 0x5ffc, 0x6007, 0x003f,
    +    /* lead byte 90 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6008, 0x6009, 0x600b, 0x600c, 0x6010, 0x6011, 0x6013, 0x6017,
    +    0x6018, 0x601a, 0x601e, 0x601f, 0x6022, 0x6023, 0x6024, 0x602c,
    +    0x602d, 0x602e, 0x6030, 0x6031, 0x6032, 0x6033, 0x6034, 0x6036,
    +    0x6037, 0x6038, 0x6039, 0x603a, 0x603d, 0x603e, 0x6040, 0x6044,
    +    0x6045, 0x6046, 0x6047, 0x6048, 0x6049, 0x604a, 0x604c, 0x604e,
    +    0x604f, 0x6051, 0x6053, 0x6054, 0x6056, 0x6057, 0x6058, 0x605b,
    +    0x605c, 0x605e, 0x605f, 0x6060, 0x6061, 0x6065, 0x6066, 0x606e,
    +    0x6071, 0x6072, 0x6074, 0x6075, 0x6077, 0x607e, 0x6080, 0x003f,
    +    0x6081, 0x6082, 0x6085, 0x6086, 0x6087, 0x6088, 0x608a, 0x608b,
    +    0x608e, 0x608f, 0x6090, 0x6091, 0x6093, 0x6095, 0x6097, 0x6098,
    +    0x6099, 0x609c, 0x609e, 0x60a1, 0x60a2, 0x60a4, 0x60a5, 0x60a7,
    +    0x60a9, 0x60aa, 0x60ae, 0x60b0, 0x60b3, 0x60b5, 0x60b6, 0x60b7,
    +    0x60b9, 0x60ba, 0x60bd, 0x60be, 0x60bf, 0x60c0, 0x60c1, 0x60c2,
    +    0x60c3, 0x60c4, 0x60c7, 0x60c8, 0x60c9, 0x60cc, 0x60cd, 0x60ce,
    +    0x60cf, 0x60d0, 0x60d2, 0x60d3, 0x60d4, 0x60d6, 0x60d7, 0x60d9,
    +    0x60db, 0x60de, 0x60e1, 0x60e2, 0x60e3, 0x60e4, 0x60e5, 0x60ea,
    +    0x60f1, 0x60f2, 0x60f5, 0x60f7, 0x60f8, 0x60fb, 0x60fc, 0x60fd,
    +    0x60fe, 0x60ff, 0x6102, 0x6103, 0x6104, 0x6105, 0x6107, 0x610a,
    +    0x610b, 0x610c, 0x6110, 0x6111, 0x6112, 0x6113, 0x6114, 0x6116,
    +    0x6117, 0x6118, 0x6119, 0x611b, 0x611c, 0x611d, 0x611e, 0x6121,
    +    0x6122, 0x6125, 0x6128, 0x6129, 0x612a, 0x612c, 0x612d, 0x612e,
    +    0x612f, 0x6130, 0x6131, 0x6132, 0x6133, 0x6134, 0x6135, 0x6136,
    +    0x6137, 0x6138, 0x6139, 0x613a, 0x613b, 0x613c, 0x613d, 0x613e,
    +    0x6140, 0x6141, 0x6142, 0x6143, 0x6144, 0x6145, 0x6146, 0x003f,
    +    /* lead byte 91 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6147, 0x6149, 0x614b, 0x614d, 0x614f, 0x6150, 0x6152, 0x6153,
    +    0x6154, 0x6156, 0x6157, 0x6158, 0x6159, 0x615a, 0x615b, 0x615c,
    +    0x615e, 0x615f, 0x6160, 0x6161, 0x6163, 0x6164, 0x6165, 0x6166,
    +    0x6169, 0x616a, 0x616b, 0x616c, 0x616d, 0x616e, 0x616f, 0x6171,
    +    0x6172, 0x6173, 0x6174, 0x6176, 0x6178, 0x6179, 0x617a, 0x617b,
    +    0x617c, 0x617d, 0x617e, 0x617f, 0x6180, 0x6181, 0x6182, 0x6183,
    +    0x6184, 0x6185, 0x6186, 0x6187, 0x6188, 0x6189, 0x618a, 0x618c,
    +    0x618d, 0x618f, 0x6190, 0x6191, 0x6192, 0x6193, 0x6195, 0x003f,
    +    0x6196, 0x6197, 0x6198, 0x6199, 0x619a, 0x619b, 0x619c, 0x619e,
    +    0x619f, 0x61a0, 0x61a1, 0x61a2, 0x61a3, 0x61a4, 0x61a5, 0x61a6,
    +    0x61aa, 0x61ab, 0x61ad, 0x61ae, 0x61af, 0x61b0, 0x61b1, 0x61b2,
    +    0x61b3, 0x61b4, 0x61b5, 0x61b6, 0x61b8, 0x61b9, 0x61ba, 0x61bb,
    +    0x61bc, 0x61bd, 0x61bf, 0x61c0, 0x61c1, 0x61c3, 0x61c4, 0x61c5,
    +    0x61c6, 0x61c7, 0x61c9, 0x61cc, 0x61cd, 0x61ce, 0x61cf, 0x61d0,
    +    0x61d3, 0x61d5, 0x61d6, 0x61d7, 0x61d8, 0x61d9, 0x61da, 0x61db,
    +    0x61dc, 0x61dd, 0x61de, 0x61df, 0x61e0, 0x61e1, 0x61e2, 0x61e3,
    +    0x61e4, 0x61e5, 0x61e7, 0x61e8, 0x61e9, 0x61ea, 0x61eb, 0x61ec,
    +    0x61ed, 0x61ee, 0x61ef, 0x61f0, 0x61f1, 0x61f2, 0x61f3, 0x61f4,
    +    0x61f6, 0x61f7, 0x61f8, 0x61f9, 0x61fa, 0x61fb, 0x61fc, 0x61fd,
    +    0x61fe, 0x6200, 0x6201, 0x6202, 0x6203, 0x6204, 0x6205, 0x6207,
    +    0x6209, 0x6213, 0x6214, 0x6219, 0x621c, 0x621d, 0x621e, 0x6220,
    +    0x6223, 0x6226, 0x6227, 0x6228, 0x6229, 0x622b, 0x622d, 0x622f,
    +    0x6230, 0x6231, 0x6232, 0x6235, 0x6236, 0x6238, 0x6239, 0x623a,
    +    0x623b, 0x623c, 0x6242, 0x6244, 0x6245, 0x6246, 0x624a, 0x003f,
    +    /* lead byte 92 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x624f, 0x6250, 0x6255, 0x6256, 0x6257, 0x6259, 0x625a, 0x625c,
    +    0x625d, 0x625e, 0x625f, 0x6260, 0x6261, 0x6262, 0x6264, 0x6265,
    +    0x6268, 0x6271, 0x6272, 0x6274, 0x6275, 0x6277, 0x6278, 0x627a,
    +    0x627b, 0x627d, 0x6281, 0x6282, 0x6283, 0x6285, 0x6286, 0x6287,
    +    0x6288, 0x628b, 0x628c, 0x628d, 0x628e, 0x628f, 0x6290, 0x6294,
    +    0x6299, 0x629c, 0x629d, 0x629e, 0x62a3, 0x62a6, 0x62a7, 0x62a9,
    +    0x62aa, 0x62ad, 0x62ae, 0x62af, 0x62b0, 0x62b2, 0x62b3, 0x62b4,
    +    0x62b6, 0x62b7, 0x62b8, 0x62ba, 0x62be, 0x62c0, 0x62c1, 0x003f,
    +    0x62c3, 0x62cb, 0x62cf, 0x62d1, 0x62d5, 0x62dd, 0x62de, 0x62e0,
    +    0x62e1, 0x62e4, 0x62ea, 0x62eb, 0x62f0, 0x62f2, 0x62f5, 0x62f8,
    +    0x62f9, 0x62fa, 0x62fb, 0x6300, 0x6303, 0x6304, 0x6305, 0x6306,
    +    0x630a, 0x630b, 0x630c, 0x630d, 0x630f, 0x6310, 0x6312, 0x6313,
    +    0x6314, 0x6315, 0x6317, 0x6318, 0x6319, 0x631c, 0x6326, 0x6327,
    +    0x6329, 0x632c, 0x632d, 0x632e, 0x6330, 0x6331, 0x6333, 0x6334,
    +    0x6335, 0x6336, 0x6337, 0x6338, 0x633b, 0x633c, 0x633e, 0x633f,
    +    0x6340, 0x6341, 0x6344, 0x6347, 0x6348, 0x634a, 0x6351, 0x6352,
    +    0x6353, 0x6354, 0x6356, 0x6357, 0x6358, 0x6359, 0x635a, 0x635b,
    +    0x635c, 0x635d, 0x6360, 0x6364, 0x6365, 0x6366, 0x6368, 0x636a,
    +    0x636b, 0x636c, 0x636f, 0x6370, 0x6372, 0x6373, 0x6374, 0x6375,
    +    0x6378, 0x6379, 0x637c, 0x637d, 0x637e, 0x637f, 0x6381, 0x6383,
    +    0x6384, 0x6385, 0x6386, 0x638b, 0x638d, 0x6391, 0x6393, 0x6394,
    +    0x6395, 0x6397, 0x6399, 0x639a, 0x639b, 0x639c, 0x639d, 0x639e,
    +    0x639f, 0x63a1, 0x63a4, 0x63a6, 0x63ab, 0x63af, 0x63b1, 0x63b2,
    +    0x63b5, 0x63b6, 0x63b9, 0x63bb, 0x63bd, 0x63bf, 0x63c0, 0x003f,
    +    /* lead byte 93 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x63c1, 0x63c2, 0x63c3, 0x63c5, 0x63c7, 0x63c8, 0x63ca, 0x63cb,
    +    0x63cc, 0x63d1, 0x63d3, 0x63d4, 0x63d5, 0x63d7, 0x63d8, 0x63d9,
    +    0x63da, 0x63db, 0x63dc, 0x63dd, 0x63df, 0x63e2, 0x63e4, 0x63e5,
    +    0x63e6, 0x63e7, 0x63e8, 0x63eb, 0x63ec, 0x63ee, 0x63ef, 0x63f0,
    +    0x63f1, 0x63f3, 0x63f5, 0x63f7, 0x63f9, 0x63fa, 0x63fb, 0x63fc,
    +    0x63fe, 0x6403, 0x6404, 0x6406, 0x6407, 0x6408, 0x6409, 0x640a,
    +    0x640d, 0x640e, 0x6411, 0x6412, 0x6415, 0x6416, 0x6417, 0x6418,
    +    0x6419, 0x641a, 0x641d, 0x641f, 0x6422, 0x6423, 0x6424, 0x003f,
    +    0x6425, 0x6427, 0x6428, 0x6429, 0x642b, 0x642e, 0x642f, 0x6430,
    +    0x6431, 0x6432, 0x6433, 0x6435, 0x6436, 0x6437, 0x6438, 0x6439,
    +    0x643b, 0x643c, 0x643e, 0x6440, 0x6442, 0x6443, 0x6449, 0x644b,
    +    0x644c, 0x644d, 0x644e, 0x644f, 0x6450, 0x6451, 0x6453, 0x6455,
    +    0x6456, 0x6457, 0x6459, 0x645a, 0x645b, 0x645c, 0x645d, 0x645f,
    +    0x6460, 0x6461, 0x6462, 0x6463, 0x6464, 0x6465, 0x6466, 0x6468,
    +    0x646a, 0x646b, 0x646c, 0x646e, 0x646f, 0x6470, 0x6471, 0x6472,
    +    0x6473, 0x6474, 0x6475, 0x6476, 0x6477, 0x647b, 0x647c, 0x647d,
    +    0x647e, 0x647f, 0x6480, 0x6481, 0x6483, 0x6486, 0x6488, 0x6489,
    +    0x648a, 0x648b, 0x648c, 0x648d, 0x648e, 0x648f, 0x6490, 0x6493,
    +    0x6494, 0x6497, 0x6498, 0x649a, 0x649b, 0x649c, 0x649d, 0x649f,
    +    0x64a0, 0x64a1, 0x64a2, 0x64a3, 0x64a5, 0x64a6, 0x64a7, 0x64a8,
    +    0x64aa, 0x64ab, 0x64af, 0x64b1, 0x64b2, 0x64b3, 0x64b4, 0x64b6,
    +    0x64b9, 0x64bb, 0x64bd, 0x64be, 0x64bf, 0x64c1, 0x64c3, 0x64c4,
    +    0x64c6, 0x64c7, 0x64c8, 0x64c9, 0x64ca, 0x64cb, 0x64cc, 0x64cf,
    +    0x64d1, 0x64d3, 0x64d4, 0x64d5, 0x64d6, 0x64d9, 0x64da, 0x003f,
    +    /* lead byte 94 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x64db, 0x64dc, 0x64dd, 0x64df, 0x64e0, 0x64e1, 0x64e3, 0x64e5,
    +    0x64e7, 0x64e8, 0x64e9, 0x64ea, 0x64eb, 0x64ec, 0x64ed, 0x64ee,
    +    0x64ef, 0x64f0, 0x64f1, 0x64f2, 0x64f3, 0x64f4, 0x64f5, 0x64f6,
    +    0x64f7, 0x64f8, 0x64f9, 0x64fa, 0x64fb, 0x64fc, 0x64fd, 0x64fe,
    +    0x64ff, 0x6501, 0x6502, 0x6503, 0x6504, 0x6505, 0x6506, 0x6507,
    +    0x6508, 0x650a, 0x650b, 0x650c, 0x650d, 0x650e, 0x650f, 0x6510,
    +    0x6511, 0x6513, 0x6514, 0x6515, 0x6516, 0x6517, 0x6519, 0x651a,
    +    0x651b, 0x651c, 0x651d, 0x651e, 0x651f, 0x6520, 0x6521, 0x003f,
    +    0x6522, 0x6523, 0x6524, 0x6526, 0x6527, 0x6528, 0x6529, 0x652a,
    +    0x652c, 0x652d, 0x6530, 0x6531, 0x6532, 0x6533, 0x6537, 0x653a,
    +    0x653c, 0x653d, 0x6540, 0x6541, 0x6542, 0x6543, 0x6544, 0x6546,
    +    0x6547, 0x654a, 0x654b, 0x654d, 0x654e, 0x6550, 0x6552, 0x6553,
    +    0x6554, 0x6557, 0x6558, 0x655a, 0x655c, 0x655f, 0x6560, 0x6561,
    +    0x6564, 0x6565, 0x6567, 0x6568, 0x6569, 0x656a, 0x656d, 0x656e,
    +    0x656f, 0x6571, 0x6573, 0x6575, 0x6576, 0x6578, 0x6579, 0x657a,
    +    0x657b, 0x657c, 0x657d, 0x657e, 0x657f, 0x6580, 0x6581, 0x6582,
    +    0x6583, 0x6584, 0x6585, 0x6586, 0x6588, 0x6589, 0x658a, 0x658d,
    +    0x658e, 0x658f, 0x6592, 0x6594, 0x6595, 0x6596, 0x6598, 0x659a,
    +    0x659d, 0x659e, 0x65a0, 0x65a2, 0x65a3, 0x65a6, 0x65a8, 0x65aa,
    +    0x65ac, 0x65ae, 0x65b1, 0x65b2, 0x65b3, 0x65b4, 0x65b5, 0x65b6,
    +    0x65b7, 0x65b8, 0x65ba, 0x65bb, 0x65be, 0x65bf, 0x65c0, 0x65c2,
    +    0x65c7, 0x65c8, 0x65c9, 0x65ca, 0x65cd, 0x65d0, 0x65d1, 0x65d3,
    +    0x65d4, 0x65d5, 0x65d8, 0x65d9, 0x65da, 0x65db, 0x65dc, 0x65dd,
    +    0x65de, 0x65df, 0x65e1, 0x65e3, 0x65e4, 0x65ea, 0x65eb, 0x003f,
    +    /* lead byte 95 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x65f2, 0x65f3, 0x65f4, 0x65f5, 0x65f8, 0x65f9, 0x65fb, 0x65fc,
    +    0x65fd, 0x65fe, 0x65ff, 0x6601, 0x6604, 0x6605, 0x6607, 0x6608,
    +    0x6609, 0x660b, 0x660d, 0x6610, 0x6611, 0x6612, 0x6616, 0x6617,
    +    0x6618, 0x661a, 0x661b, 0x661c, 0x661e, 0x6621, 0x6622, 0x6623,
    +    0x6624, 0x6626, 0x6629, 0x662a, 0x662b, 0x662c, 0x662e, 0x6630,
    +    0x6632, 0x6633, 0x6637, 0x6638, 0x6639, 0x663a, 0x663b, 0x663d,
    +    0x663f, 0x6640, 0x6642, 0x6644, 0x6645, 0x6646, 0x6647, 0x6648,
    +    0x6649, 0x664a, 0x664d, 0x664e, 0x6650, 0x6651, 0x6658, 0x003f,
    +    0x6659, 0x665b, 0x665c, 0x665d, 0x665e, 0x6660, 0x6662, 0x6663,
    +    0x6665, 0x6667, 0x6669, 0x666a, 0x666b, 0x666c, 0x666d, 0x6671,
    +    0x6672, 0x6673, 0x6675, 0x6678, 0x6679, 0x667b, 0x667c, 0x667d,
    +    0x667f, 0x6680, 0x6681, 0x6683, 0x6685, 0x6686, 0x6688, 0x6689,
    +    0x668a, 0x668b, 0x668d, 0x668e, 0x668f, 0x6690, 0x6692, 0x6693,
    +    0x6694, 0x6695, 0x6698, 0x6699, 0x669a, 0x669b, 0x669c, 0x669e,
    +    0x669f, 0x66a0, 0x66a1, 0x66a2, 0x66a3, 0x66a4, 0x66a5, 0x66a6,
    +    0x66a9, 0x66aa, 0x66ab, 0x66ac, 0x66ad, 0x66af, 0x66b0, 0x66b1,
    +    0x66b2, 0x66b3, 0x66b5, 0x66b6, 0x66b7, 0x66b8, 0x66ba, 0x66bb,
    +    0x66bc, 0x66bd, 0x66bf, 0x66c0, 0x66c1, 0x66c2, 0x66c3, 0x66c4,
    +    0x66c5, 0x66c6, 0x66c7, 0x66c8, 0x66c9, 0x66ca, 0x66cb, 0x66cc,
    +    0x66cd, 0x66ce, 0x66cf, 0x66d0, 0x66d1, 0x66d2, 0x66d3, 0x66d4,
    +    0x66d5, 0x66d6, 0x66d7, 0x66d8, 0x66da, 0x66de, 0x66df, 0x66e0,
    +    0x66e1, 0x66e2, 0x66e3, 0x66e4, 0x66e5, 0x66e7, 0x66e8, 0x66ea,
    +    0x66eb, 0x66ec, 0x66ed, 0x66ee, 0x66ef, 0x66f1, 0x66f5, 0x66f6,
    +    0x66f8, 0x66fa, 0x66fb, 0x66fd, 0x6701, 0x6702, 0x6703, 0x003f,
    +    /* lead byte 96 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6704, 0x6705, 0x6706, 0x6707, 0x670c, 0x670e, 0x670f, 0x6711,
    +    0x6712, 0x6713, 0x6716, 0x6718, 0x6719, 0x671a, 0x671c, 0x671e,
    +    0x6720, 0x6721, 0x6722, 0x6723, 0x6724, 0x6725, 0x6727, 0x6729,
    +    0x672e, 0x6730, 0x6732, 0x6733, 0x6736, 0x6737, 0x6738, 0x6739,
    +    0x673b, 0x673c, 0x673e, 0x673f, 0x6741, 0x6744, 0x6745, 0x6747,
    +    0x674a, 0x674b, 0x674d, 0x6752, 0x6754, 0x6755, 0x6757, 0x6758,
    +    0x6759, 0x675a, 0x675b, 0x675d, 0x6762, 0x6763, 0x6764, 0x6766,
    +    0x6767, 0x676b, 0x676c, 0x676e, 0x6771, 0x6774, 0x6776, 0x003f,
    +    0x6778, 0x6779, 0x677a, 0x677b, 0x677d, 0x6780, 0x6782, 0x6783,
    +    0x6785, 0x6786, 0x6788, 0x678a, 0x678c, 0x678d, 0x678e, 0x678f,
    +    0x6791, 0x6792, 0x6793, 0x6794, 0x6796, 0x6799, 0x679b, 0x679f,
    +    0x67a0, 0x67a1, 0x67a4, 0x67a6, 0x67a9, 0x67ac, 0x67ae, 0x67b1,
    +    0x67b2, 0x67b4, 0x67b9, 0x67ba, 0x67bb, 0x67bc, 0x67bd, 0x67be,
    +    0x67bf, 0x67c0, 0x67c2, 0x67c5, 0x67c6, 0x67c7, 0x67c8, 0x67c9,
    +    0x67ca, 0x67cb, 0x67cc, 0x67cd, 0x67ce, 0x67d5, 0x67d6, 0x67d7,
    +    0x67db, 0x67df, 0x67e1, 0x67e3, 0x67e4, 0x67e6, 0x67e7, 0x67e8,
    +    0x67ea, 0x67eb, 0x67ed, 0x67ee, 0x67f2, 0x67f5, 0x67f6, 0x67f7,
    +    0x67f8, 0x67f9, 0x67fa, 0x67fb, 0x67fc, 0x67fe, 0x6801, 0x6802,
    +    0x6803, 0x6804, 0x6806, 0x680d, 0x6810, 0x6812, 0x6814, 0x6815,
    +    0x6818, 0x6819, 0x681a, 0x681b, 0x681c, 0x681e, 0x681f, 0x6820,
    +    0x6822, 0x6823, 0x6824, 0x6825, 0x6826, 0x6827, 0x6828, 0x682b,
    +    0x682c, 0x682d, 0x682e, 0x682f, 0x6830, 0x6831, 0x6834, 0x6835,
    +    0x6836, 0x683a, 0x683b, 0x683f, 0x6847, 0x684b, 0x684d, 0x684f,
    +    0x6852, 0x6856, 0x6857, 0x6858, 0x6859, 0x685a, 0x685b, 0x003f,
    +    /* lead byte 97 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x685c, 0x685d, 0x685e, 0x685f, 0x686a, 0x686c, 0x686d, 0x686e,
    +    0x686f, 0x6870, 0x6871, 0x6872, 0x6873, 0x6875, 0x6878, 0x6879,
    +    0x687a, 0x687b, 0x687c, 0x687d, 0x687e, 0x687f, 0x6880, 0x6882,
    +    0x6884, 0x6887, 0x6888, 0x6889, 0x688a, 0x688b, 0x688c, 0x688d,
    +    0x688e, 0x6890, 0x6891, 0x6892, 0x6894, 0x6895, 0x6896, 0x6898,
    +    0x6899, 0x689a, 0x689b, 0x689c, 0x689d, 0x689e, 0x689f, 0x68a0,
    +    0x68a1, 0x68a3, 0x68a4, 0x68a5, 0x68a9, 0x68aa, 0x68ab, 0x68ac,
    +    0x68ae, 0x68b1, 0x68b2, 0x68b4, 0x68b6, 0x68b7, 0x68b8, 0x003f,
    +    0x68b9, 0x68ba, 0x68bb, 0x68bc, 0x68bd, 0x68be, 0x68bf, 0x68c1,
    +    0x68c3, 0x68c4, 0x68c5, 0x68c6, 0x68c7, 0x68c8, 0x68ca, 0x68cc,
    +    0x68ce, 0x68cf, 0x68d0, 0x68d1, 0x68d3, 0x68d4, 0x68d6, 0x68d7,
    +    0x68d9, 0x68db, 0x68dc, 0x68dd, 0x68de, 0x68df, 0x68e1, 0x68e2,
    +    0x68e4, 0x68e5, 0x68e6, 0x68e7, 0x68e8, 0x68e9, 0x68ea, 0x68eb,
    +    0x68ec, 0x68ed, 0x68ef, 0x68f2, 0x68f3, 0x68f4, 0x68f6, 0x68f7,
    +    0x68f8, 0x68fb, 0x68fd, 0x68fe, 0x68ff, 0x6900, 0x6902, 0x6903,
    +    0x6904, 0x6906, 0x6907, 0x6908, 0x6909, 0x690a, 0x690c, 0x690f,
    +    0x6911, 0x6913, 0x6914, 0x6915, 0x6916, 0x6917, 0x6918, 0x6919,
    +    0x691a, 0x691b, 0x691c, 0x691d, 0x691e, 0x6921, 0x6922, 0x6923,
    +    0x6925, 0x6926, 0x6927, 0x6928, 0x6929, 0x692a, 0x692b, 0x692c,
    +    0x692e, 0x692f, 0x6931, 0x6932, 0x6933, 0x6935, 0x6936, 0x6937,
    +    0x6938, 0x693a, 0x693b, 0x693c, 0x693e, 0x6940, 0x6941, 0x6943,
    +    0x6944, 0x6945, 0x6946, 0x6947, 0x6948, 0x6949, 0x694a, 0x694b,
    +    0x694c, 0x694d, 0x694e, 0x694f, 0x6950, 0x6951, 0x6952, 0x6953,
    +    0x6955, 0x6956, 0x6958, 0x6959, 0x695b, 0x695c, 0x695f, 0x003f,
    +    /* lead byte 98 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6961, 0x6962, 0x6964, 0x6965, 0x6967, 0x6968, 0x6969, 0x696a,
    +    0x696c, 0x696d, 0x696f, 0x6970, 0x6972, 0x6973, 0x6974, 0x6975,
    +    0x6976, 0x697a, 0x697b, 0x697d, 0x697e, 0x697f, 0x6981, 0x6983,
    +    0x6985, 0x698a, 0x698b, 0x698c, 0x698e, 0x698f, 0x6990, 0x6991,
    +    0x6992, 0x6993, 0x6996, 0x6997, 0x6999, 0x699a, 0x699d, 0x699e,
    +    0x699f, 0x69a0, 0x69a1, 0x69a2, 0x69a3, 0x69a4, 0x69a5, 0x69a6,
    +    0x69a9, 0x69aa, 0x69ac, 0x69ae, 0x69af, 0x69b0, 0x69b2, 0x69b3,
    +    0x69b5, 0x69b6, 0x69b8, 0x69b9, 0x69ba, 0x69bc, 0x69bd, 0x003f,
    +    0x69be, 0x69bf, 0x69c0, 0x69c2, 0x69c3, 0x69c4, 0x69c5, 0x69c6,
    +    0x69c7, 0x69c8, 0x69c9, 0x69cb, 0x69cd, 0x69cf, 0x69d1, 0x69d2,
    +    0x69d3, 0x69d5, 0x69d6, 0x69d7, 0x69d8, 0x69d9, 0x69da, 0x69dc,
    +    0x69dd, 0x69de, 0x69e1, 0x69e2, 0x69e3, 0x69e4, 0x69e5, 0x69e6,
    +    0x69e7, 0x69e8, 0x69e9, 0x69ea, 0x69eb, 0x69ec, 0x69ee, 0x69ef,
    +    0x69f0, 0x69f1, 0x69f3, 0x69f4, 0x69f5, 0x69f6, 0x69f7, 0x69f8,
    +    0x69f9, 0x69fa, 0x69fb, 0x69fc, 0x69fe, 0x6a00, 0x6a01, 0x6a02,
    +    0x6a03, 0x6a04, 0x6a05, 0x6a06, 0x6a07, 0x6a08, 0x6a09, 0x6a0b,
    +    0x6a0c, 0x6a0d, 0x6a0e, 0x6a0f, 0x6a10, 0x6a11, 0x6a12, 0x6a13,
    +    0x6a14, 0x6a15, 0x6a16, 0x6a19, 0x6a1a, 0x6a1b, 0x6a1c, 0x6a1d,
    +    0x6a1e, 0x6a20, 0x6a22, 0x6a23, 0x6a24, 0x6a25, 0x6a26, 0x6a27,
    +    0x6a29, 0x6a2b, 0x6a2c, 0x6a2d, 0x6a2e, 0x6a30, 0x6a32, 0x6a33,
    +    0x6a34, 0x6a36, 0x6a37, 0x6a38, 0x6a39, 0x6a3a, 0x6a3b, 0x6a3c,
    +    0x6a3f, 0x6a40, 0x6a41, 0x6a42, 0x6a43, 0x6a45, 0x6a46, 0x6a48,
    +    0x6a49, 0x6a4a, 0x6a4b, 0x6a4c, 0x6a4d, 0x6a4e, 0x6a4f, 0x6a51,
    +    0x6a52, 0x6a53, 0x6a54, 0x6a55, 0x6a56, 0x6a57, 0x6a5a, 0x003f,
    +    /* lead byte 99 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6a5c, 0x6a5d, 0x6a5e, 0x6a5f, 0x6a60, 0x6a62, 0x6a63, 0x6a64,
    +    0x6a66, 0x6a67, 0x6a68, 0x6a69, 0x6a6a, 0x6a6b, 0x6a6c, 0x6a6d,
    +    0x6a6e, 0x6a6f, 0x6a70, 0x6a72, 0x6a73, 0x6a74, 0x6a75, 0x6a76,
    +    0x6a77, 0x6a78, 0x6a7a, 0x6a7b, 0x6a7d, 0x6a7e, 0x6a7f, 0x6a81,
    +    0x6a82, 0x6a83, 0x6a85, 0x6a86, 0x6a87, 0x6a88, 0x6a89, 0x6a8a,
    +    0x6a8b, 0x6a8c, 0x6a8d, 0x6a8f, 0x6a92, 0x6a93, 0x6a94, 0x6a95,
    +    0x6a96, 0x6a98, 0x6a99, 0x6a9a, 0x6a9b, 0x6a9c, 0x6a9d, 0x6a9e,
    +    0x6a9f, 0x6aa1, 0x6aa2, 0x6aa3, 0x6aa4, 0x6aa5, 0x6aa6, 0x003f,
    +    0x6aa7, 0x6aa8, 0x6aaa, 0x6aad, 0x6aae, 0x6aaf, 0x6ab0, 0x6ab1,
    +    0x6ab2, 0x6ab3, 0x6ab4, 0x6ab5, 0x6ab6, 0x6ab7, 0x6ab8, 0x6ab9,
    +    0x6aba, 0x6abb, 0x6abc, 0x6abd, 0x6abe, 0x6abf, 0x6ac0, 0x6ac1,
    +    0x6ac2, 0x6ac3, 0x6ac4, 0x6ac5, 0x6ac6, 0x6ac7, 0x6ac8, 0x6ac9,
    +    0x6aca, 0x6acb, 0x6acc, 0x6acd, 0x6ace, 0x6acf, 0x6ad0, 0x6ad1,
    +    0x6ad2, 0x6ad3, 0x6ad4, 0x6ad5, 0x6ad6, 0x6ad7, 0x6ad8, 0x6ad9,
    +    0x6ada, 0x6adb, 0x6adc, 0x6add, 0x6ade, 0x6adf, 0x6ae0, 0x6ae1,
    +    0x6ae2, 0x6ae3, 0x6ae4, 0x6ae5, 0x6ae6, 0x6ae7, 0x6ae8, 0x6ae9,
    +    0x6aea, 0x6aeb, 0x6aec, 0x6aed, 0x6aee, 0x6aef, 0x6af0, 0x6af1,
    +    0x6af2, 0x6af3, 0x6af4, 0x6af5, 0x6af6, 0x6af7, 0x6af8, 0x6af9,
    +    0x6afa, 0x6afb, 0x6afc, 0x6afd, 0x6afe, 0x6aff, 0x6b00, 0x6b01,
    +    0x6b02, 0x6b03, 0x6b04, 0x6b05, 0x6b06, 0x6b07, 0x6b08, 0x6b09,
    +    0x6b0a, 0x6b0b, 0x6b0c, 0x6b0d, 0x6b0e, 0x6b0f, 0x6b10, 0x6b11,
    +    0x6b12, 0x6b13, 0x6b14, 0x6b15, 0x6b16, 0x6b17, 0x6b18, 0x6b19,
    +    0x6b1a, 0x6b1b, 0x6b1c, 0x6b1d, 0x6b1e, 0x6b1f, 0x6b25, 0x6b26,
    +    0x6b28, 0x6b29, 0x6b2a, 0x6b2b, 0x6b2c, 0x6b2d, 0x6b2e, 0x003f,
    +    /* lead byte 9a */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6b2f, 0x6b30, 0x6b31, 0x6b33, 0x6b34, 0x6b35, 0x6b36, 0x6b38,
    +    0x6b3b, 0x6b3c, 0x6b3d, 0x6b3f, 0x6b40, 0x6b41, 0x6b42, 0x6b44,
    +    0x6b45, 0x6b48, 0x6b4a, 0x6b4b, 0x6b4d, 0x6b4e, 0x6b4f, 0x6b50,
    +    0x6b51, 0x6b52, 0x6b53, 0x6b54, 0x6b55, 0x6b56, 0x6b57, 0x6b58,
    +    0x6b5a, 0x6b5b, 0x6b5c, 0x6b5d, 0x6b5e, 0x6b5f, 0x6b60, 0x6b61,
    +    0x6b68, 0x6b69, 0x6b6b, 0x6b6c, 0x6b6d, 0x6b6e, 0x6b6f, 0x6b70,
    +    0x6b71, 0x6b72, 0x6b73, 0x6b74, 0x6b75, 0x6b76, 0x6b77, 0x6b78,
    +    0x6b7a, 0x6b7d, 0x6b7e, 0x6b7f, 0x6b80, 0x6b85, 0x6b88, 0x003f,
    +    0x6b8c, 0x6b8e, 0x6b8f, 0x6b90, 0x6b91, 0x6b94, 0x6b95, 0x6b97,
    +    0x6b98, 0x6b99, 0x6b9c, 0x6b9d, 0x6b9e, 0x6b9f, 0x6ba0, 0x6ba2,
    +    0x6ba3, 0x6ba4, 0x6ba5, 0x6ba6, 0x6ba7, 0x6ba8, 0x6ba9, 0x6bab,
    +    0x6bac, 0x6bad, 0x6bae, 0x6baf, 0x6bb0, 0x6bb1, 0x6bb2, 0x6bb6,
    +    0x6bb8, 0x6bb9, 0x6bba, 0x6bbb, 0x6bbc, 0x6bbd, 0x6bbe, 0x6bc0,
    +    0x6bc3, 0x6bc4, 0x6bc6, 0x6bc7, 0x6bc8, 0x6bc9, 0x6bca, 0x6bcc,
    +    0x6bce, 0x6bd0, 0x6bd1, 0x6bd8, 0x6bda, 0x6bdc, 0x6bdd, 0x6bde,
    +    0x6bdf, 0x6be0, 0x6be2, 0x6be3, 0x6be4, 0x6be5, 0x6be6, 0x6be7,
    +    0x6be8, 0x6be9, 0x6bec, 0x6bed, 0x6bee, 0x6bf0, 0x6bf1, 0x6bf2,
    +    0x6bf4, 0x6bf6, 0x6bf7, 0x6bf8, 0x6bfa, 0x6bfb, 0x6bfc, 0x6bfe,
    +    0x6bff, 0x6c00, 0x6c01, 0x6c02, 0x6c03, 0x6c04, 0x6c08, 0x6c09,
    +    0x6c0a, 0x6c0b, 0x6c0c, 0x6c0e, 0x6c12, 0x6c17, 0x6c1c, 0x6c1d,
    +    0x6c1e, 0x6c20, 0x6c23, 0x6c25, 0x6c2b, 0x6c2c, 0x6c2d, 0x6c31,
    +    0x6c33, 0x6c36, 0x6c37, 0x6c39, 0x6c3a, 0x6c3b, 0x6c3c, 0x6c3e,
    +    0x6c3f, 0x6c43, 0x6c44, 0x6c45, 0x6c48, 0x6c4b, 0x6c4c, 0x6c4d,
    +    0x6c4e, 0x6c4f, 0x6c51, 0x6c52, 0x6c53, 0x6c56, 0x6c58, 0x003f,
    +    /* lead byte 9b */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6c59, 0x6c5a, 0x6c62, 0x6c63, 0x6c65, 0x6c66, 0x6c67, 0x6c6b,
    +    0x6c6c, 0x6c6d, 0x6c6e, 0x6c6f, 0x6c71, 0x6c73, 0x6c75, 0x6c77,
    +    0x6c78, 0x6c7a, 0x6c7b, 0x6c7c, 0x6c7f, 0x6c80, 0x6c84, 0x6c87,
    +    0x6c8a, 0x6c8b, 0x6c8d, 0x6c8e, 0x6c91, 0x6c92, 0x6c95, 0x6c96,
    +    0x6c97, 0x6c98, 0x6c9a, 0x6c9c, 0x6c9d, 0x6c9e, 0x6ca0, 0x6ca2,
    +    0x6ca8, 0x6cac, 0x6caf, 0x6cb0, 0x6cb4, 0x6cb5, 0x6cb6, 0x6cb7,
    +    0x6cba, 0x6cc0, 0x6cc1, 0x6cc2, 0x6cc3, 0x6cc6, 0x6cc7, 0x6cc8,
    +    0x6ccb, 0x6ccd, 0x6cce, 0x6ccf, 0x6cd1, 0x6cd2, 0x6cd8, 0x003f,
    +    0x6cd9, 0x6cda, 0x6cdc, 0x6cdd, 0x6cdf, 0x6ce4, 0x6ce6, 0x6ce7,
    +    0x6ce9, 0x6cec, 0x6ced, 0x6cf2, 0x6cf4, 0x6cf9, 0x6cff, 0x6d00,
    +    0x6d02, 0x6d03, 0x6d05, 0x6d06, 0x6d08, 0x6d09, 0x6d0a, 0x6d0d,
    +    0x6d0f, 0x6d10, 0x6d11, 0x6d13, 0x6d14, 0x6d15, 0x6d16, 0x6d18,
    +    0x6d1c, 0x6d1d, 0x6d1f, 0x6d20, 0x6d21, 0x6d22, 0x6d23, 0x6d24,
    +    0x6d26, 0x6d28, 0x6d29, 0x6d2c, 0x6d2d, 0x6d2f, 0x6d30, 0x6d34,
    +    0x6d36, 0x6d37, 0x6d38, 0x6d3a, 0x6d3f, 0x6d40, 0x6d42, 0x6d44,
    +    0x6d49, 0x6d4c, 0x6d50, 0x6d55, 0x6d56, 0x6d57, 0x6d58, 0x6d5b,
    +    0x6d5d, 0x6d5f, 0x6d61, 0x6d62, 0x6d64, 0x6d65, 0x6d67, 0x6d68,
    +    0x6d6b, 0x6d6c, 0x6d6d, 0x6d70, 0x6d71, 0x6d72, 0x6d73, 0x6d75,
    +    0x6d76, 0x6d79, 0x6d7a, 0x6d7b, 0x6d7d, 0x6d7e, 0x6d7f, 0x6d80,
    +    0x6d81, 0x6d83, 0x6d84, 0x6d86, 0x6d87, 0x6d8a, 0x6d8b, 0x6d8d,
    +    0x6d8f, 0x6d90, 0x6d92, 0x6d96, 0x6d97, 0x6d98, 0x6d99, 0x6d9a,
    +    0x6d9c, 0x6da2, 0x6da5, 0x6dac, 0x6dad, 0x6db0, 0x6db1, 0x6db3,
    +    0x6db4, 0x6db6, 0x6db7, 0x6db9, 0x6dba, 0x6dbb, 0x6dbc, 0x6dbd,
    +    0x6dbe, 0x6dc1, 0x6dc2, 0x6dc3, 0x6dc8, 0x6dc9, 0x6dca, 0x003f,
    +    /* lead byte 9c */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6dcd, 0x6dce, 0x6dcf, 0x6dd0, 0x6dd2, 0x6dd3, 0x6dd4, 0x6dd5,
    +    0x6dd7, 0x6dda, 0x6ddb, 0x6ddc, 0x6ddf, 0x6de2, 0x6de3, 0x6de5,
    +    0x6de7, 0x6de8, 0x6de9, 0x6dea, 0x6ded, 0x6def, 0x6df0, 0x6df2,
    +    0x6df4, 0x6df5, 0x6df6, 0x6df8, 0x6dfa, 0x6dfd, 0x6dfe, 0x6dff,
    +    0x6e00, 0x6e01, 0x6e02, 0x6e03, 0x6e04, 0x6e06, 0x6e07, 0x6e08,
    +    0x6e09, 0x6e0b, 0x6e0f, 0x6e12, 0x6e13, 0x6e15, 0x6e18, 0x6e19,
    +    0x6e1b, 0x6e1c, 0x6e1e, 0x6e1f, 0x6e22, 0x6e26, 0x6e27, 0x6e28,
    +    0x6e2a, 0x6e2c, 0x6e2e, 0x6e30, 0x6e31, 0x6e33, 0x6e35, 0x003f,
    +    0x6e36, 0x6e37, 0x6e39, 0x6e3b, 0x6e3c, 0x6e3d, 0x6e3e, 0x6e3f,
    +    0x6e40, 0x6e41, 0x6e42, 0x6e45, 0x6e46, 0x6e47, 0x6e48, 0x6e49,
    +    0x6e4a, 0x6e4b, 0x6e4c, 0x6e4f, 0x6e50, 0x6e51, 0x6e52, 0x6e55,
    +    0x6e57, 0x6e59, 0x6e5a, 0x6e5c, 0x6e5d, 0x6e5e, 0x6e60, 0x6e61,
    +    0x6e62, 0x6e63, 0x6e64, 0x6e65, 0x6e66, 0x6e67, 0x6e68, 0x6e69,
    +    0x6e6a, 0x6e6c, 0x6e6d, 0x6e6f, 0x6e70, 0x6e71, 0x6e72, 0x6e73,
    +    0x6e74, 0x6e75, 0x6e76, 0x6e77, 0x6e78, 0x6e79, 0x6e7a, 0x6e7b,
    +    0x6e7c, 0x6e7d, 0x6e80, 0x6e81, 0x6e82, 0x6e84, 0x6e87, 0x6e88,
    +    0x6e8a, 0x6e8b, 0x6e8c, 0x6e8d, 0x6e8e, 0x6e91, 0x6e92, 0x6e93,
    +    0x6e94, 0x6e95, 0x6e96, 0x6e97, 0x6e99, 0x6e9a, 0x6e9b, 0x6e9d,
    +    0x6e9e, 0x6ea0, 0x6ea1, 0x6ea3, 0x6ea4, 0x6ea6, 0x6ea8, 0x6ea9,
    +    0x6eab, 0x6eac, 0x6ead, 0x6eae, 0x6eb0, 0x6eb3, 0x6eb5, 0x6eb8,
    +    0x6eb9, 0x6ebc, 0x6ebe, 0x6ebf, 0x6ec0, 0x6ec3, 0x6ec4, 0x6ec5,
    +    0x6ec6, 0x6ec8, 0x6ec9, 0x6eca, 0x6ecc, 0x6ecd, 0x6ece, 0x6ed0,
    +    0x6ed2, 0x6ed6, 0x6ed8, 0x6ed9, 0x6edb, 0x6edc, 0x6edd, 0x6ee3,
    +    0x6ee7, 0x6eea, 0x6eeb, 0x6eec, 0x6eed, 0x6eee, 0x6eef, 0x003f,
    +    /* lead byte 9d */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6ef0, 0x6ef1, 0x6ef2, 0x6ef3, 0x6ef5, 0x6ef6, 0x6ef7, 0x6ef8,
    +    0x6efa, 0x6efb, 0x6efc, 0x6efd, 0x6efe, 0x6eff, 0x6f00, 0x6f01,
    +    0x6f03, 0x6f04, 0x6f05, 0x6f07, 0x6f08, 0x6f0a, 0x6f0b, 0x6f0c,
    +    0x6f0d, 0x6f0e, 0x6f10, 0x6f11, 0x6f12, 0x6f16, 0x6f17, 0x6f18,
    +    0x6f19, 0x6f1a, 0x6f1b, 0x6f1c, 0x6f1d, 0x6f1e, 0x6f1f, 0x6f21,
    +    0x6f22, 0x6f23, 0x6f25, 0x6f26, 0x6f27, 0x6f28, 0x6f2c, 0x6f2e,
    +    0x6f30, 0x6f32, 0x6f34, 0x6f35, 0x6f37, 0x6f38, 0x6f39, 0x6f3a,
    +    0x6f3b, 0x6f3c, 0x6f3d, 0x6f3f, 0x6f40, 0x6f41, 0x6f42, 0x003f,
    +    0x6f43, 0x6f44, 0x6f45, 0x6f48, 0x6f49, 0x6f4a, 0x6f4c, 0x6f4e,
    +    0x6f4f, 0x6f50, 0x6f51, 0x6f52, 0x6f53, 0x6f54, 0x6f55, 0x6f56,
    +    0x6f57, 0x6f59, 0x6f5a, 0x6f5b, 0x6f5d, 0x6f5f, 0x6f60, 0x6f61,
    +    0x6f63, 0x6f64, 0x6f65, 0x6f67, 0x6f68, 0x6f69, 0x6f6a, 0x6f6b,
    +    0x6f6c, 0x6f6f, 0x6f70, 0x6f71, 0x6f73, 0x6f75, 0x6f76, 0x6f77,
    +    0x6f79, 0x6f7b, 0x6f7d, 0x6f7e, 0x6f7f, 0x6f80, 0x6f81, 0x6f82,
    +    0x6f83, 0x6f85, 0x6f86, 0x6f87, 0x6f8a, 0x6f8b, 0x6f8f, 0x6f90,
    +    0x6f91, 0x6f92, 0x6f93, 0x6f94, 0x6f95, 0x6f96, 0x6f97, 0x6f98,
    +    0x6f99, 0x6f9a, 0x6f9b, 0x6f9d, 0x6f9e, 0x6f9f, 0x6fa0, 0x6fa2,
    +    0x6fa3, 0x6fa4, 0x6fa5, 0x6fa6, 0x6fa8, 0x6fa9, 0x6faa, 0x6fab,
    +    0x6fac, 0x6fad, 0x6fae, 0x6faf, 0x6fb0, 0x6fb1, 0x6fb2, 0x6fb4,
    +    0x6fb5, 0x6fb7, 0x6fb8, 0x6fba, 0x6fbb, 0x6fbc, 0x6fbd, 0x6fbe,
    +    0x6fbf, 0x6fc1, 0x6fc3, 0x6fc4, 0x6fc5, 0x6fc6, 0x6fc7, 0x6fc8,
    +    0x6fca, 0x6fcb, 0x6fcc, 0x6fcd, 0x6fce, 0x6fcf, 0x6fd0, 0x6fd3,
    +    0x6fd4, 0x6fd5, 0x6fd6, 0x6fd7, 0x6fd8, 0x6fd9, 0x6fda, 0x6fdb,
    +    0x6fdc, 0x6fdd, 0x6fdf, 0x6fe2, 0x6fe3, 0x6fe4, 0x6fe5, 0x003f,
    +    /* lead byte 9e */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6fe6, 0x6fe7, 0x6fe8, 0x6fe9, 0x6fea, 0x6feb, 0x6fec, 0x6fed,
    +    0x6ff0, 0x6ff1, 0x6ff2, 0x6ff3, 0x6ff4, 0x6ff5, 0x6ff6, 0x6ff7,
    +    0x6ff8, 0x6ff9, 0x6ffa, 0x6ffb, 0x6ffc, 0x6ffd, 0x6ffe, 0x6fff,
    +    0x7000, 0x7001, 0x7002, 0x7003, 0x7004, 0x7005, 0x7006, 0x7007,
    +    0x7008, 0x7009, 0x700a, 0x700b, 0x700c, 0x700d, 0x700e, 0x700f,
    +    0x7010, 0x7012, 0x7013, 0x7014, 0x7015, 0x7016, 0x7017, 0x7018,
    +    0x7019, 0x701c, 0x701d, 0x701e, 0x701f, 0x7020, 0x7021, 0x7022,
    +    0x7024, 0x7025, 0x7026, 0x7027, 0x7028, 0x7029, 0x702a, 0x003f,
    +    0x702b, 0x702c, 0x702d, 0x702e, 0x702f, 0x7030, 0x7031, 0x7032,
    +    0x7033, 0x7034, 0x7036, 0x7037, 0x7038, 0x703a, 0x703b, 0x703c,
    +    0x703d, 0x703e, 0x703f, 0x7040, 0x7041, 0x7042, 0x7043, 0x7044,
    +    0x7045, 0x7046, 0x7047, 0x7048, 0x7049, 0x704a, 0x704b, 0x704d,
    +    0x704e, 0x7050, 0x7051, 0x7052, 0x7053, 0x7054, 0x7055, 0x7056,
    +    0x7057, 0x7058, 0x7059, 0x705a, 0x705b, 0x705c, 0x705d, 0x705f,
    +    0x7060, 0x7061, 0x7062, 0x7063, 0x7064, 0x7065, 0x7066, 0x7067,
    +    0x7068, 0x7069, 0x706a, 0x706e, 0x7071, 0x7072, 0x7073, 0x7074,
    +    0x7077, 0x7079, 0x707a, 0x707b, 0x707d, 0x7081, 0x7082, 0x7083,
    +    0x7084, 0x7086, 0x7087, 0x7088, 0x708b, 0x708c, 0x708d, 0x708f,
    +    0x7090, 0x7091, 0x7093, 0x7097, 0x7098, 0x709a, 0x709b, 0x709e,
    +    0x709f, 0x70a0, 0x70a1, 0x70a2, 0x70a3, 0x70a4, 0x70a5, 0x70a6,
    +    0x70a7, 0x70a8, 0x70a9, 0x70aa, 0x70b0, 0x70b2, 0x70b4, 0x70b5,
    +    0x70b6, 0x70ba, 0x70be, 0x70bf, 0x70c4, 0x70c5, 0x70c6, 0x70c7,
    +    0x70c9, 0x70cb, 0x70cc, 0x70cd, 0x70ce, 0x70cf, 0x70d0, 0x70d1,
    +    0x70d2, 0x70d3, 0x70d4, 0x70d5, 0x70d6, 0x70d7, 0x70da, 0x003f,
    +    /* lead byte 9f */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x70dc, 0x70dd, 0x70de, 0x70e0, 0x70e1, 0x70e2, 0x70e3, 0x70e5,
    +    0x70ea, 0x70ee, 0x70f0, 0x70f1, 0x70f2, 0x70f3, 0x70f4, 0x70f5,
    +    0x70f6, 0x70f8, 0x70fa, 0x70fb, 0x70fc, 0x70fe, 0x70ff, 0x7100,
    +    0x7101, 0x7102, 0x7103, 0x7104, 0x7105, 0x7106, 0x7107, 0x7108,
    +    0x710b, 0x710c, 0x710d, 0x710e, 0x710f, 0x7111, 0x7112, 0x7114,
    +    0x7117, 0x711b, 0x711c, 0x711d, 0x711e, 0x711f, 0x7120, 0x7121,
    +    0x7122, 0x7123, 0x7124, 0x7125, 0x7127, 0x7128, 0x7129, 0x712a,
    +    0x712b, 0x712c, 0x712d, 0x712e, 0x7132, 0x7133, 0x7134, 0x003f,
    +    0x7135, 0x7137, 0x7138, 0x7139, 0x713a, 0x713b, 0x713c, 0x713d,
    +    0x713e, 0x713f, 0x7140, 0x7141, 0x7142, 0x7143, 0x7144, 0x7146,
    +    0x7147, 0x7148, 0x7149, 0x714b, 0x714d, 0x714f, 0x7150, 0x7151,
    +    0x7152, 0x7153, 0x7154, 0x7155, 0x7156, 0x7157, 0x7158, 0x7159,
    +    0x715a, 0x715b, 0x715d, 0x715f, 0x7160, 0x7161, 0x7162, 0x7163,
    +    0x7165, 0x7169, 0x716a, 0x716b, 0x716c, 0x716d, 0x716f, 0x7170,
    +    0x7171, 0x7174, 0x7175, 0x7176, 0x7177, 0x7179, 0x717b, 0x717c,
    +    0x717e, 0x717f, 0x7180, 0x7181, 0x7182, 0x7183, 0x7185, 0x7186,
    +    0x7187, 0x7188, 0x7189, 0x718b, 0x718c, 0x718d, 0x718e, 0x7190,
    +    0x7191, 0x7192, 0x7193, 0x7195, 0x7196, 0x7197, 0x719a, 0x719b,
    +    0x719c, 0x719d, 0x719e, 0x71a1, 0x71a2, 0x71a3, 0x71a4, 0x71a5,
    +    0x71a6, 0x71a7, 0x71a9, 0x71aa, 0x71ab, 0x71ad, 0x71ae, 0x71af,
    +    0x71b0, 0x71b1, 0x71b2, 0x71b4, 0x71b6, 0x71b7, 0x71b8, 0x71ba,
    +    0x71bb, 0x71bc, 0x71bd, 0x71be, 0x71bf, 0x71c0, 0x71c1, 0x71c2,
    +    0x71c4, 0x71c5, 0x71c6, 0x71c7, 0x71c8, 0x71c9, 0x71ca, 0x71cb,
    +    0x71cc, 0x71cd, 0x71cf, 0x71d0, 0x71d1, 0x71d2, 0x71d3, 0x003f,
    +    /* lead byte a0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x71d6, 0x71d7, 0x71d8, 0x71d9, 0x71da, 0x71db, 0x71dc, 0x71dd,
    +    0x71de, 0x71df, 0x71e1, 0x71e2, 0x71e3, 0x71e4, 0x71e6, 0x71e8,
    +    0x71e9, 0x71ea, 0x71eb, 0x71ec, 0x71ed, 0x71ef, 0x71f0, 0x71f1,
    +    0x71f2, 0x71f3, 0x71f4, 0x71f5, 0x71f6, 0x71f7, 0x71f8, 0x71fa,
    +    0x71fb, 0x71fc, 0x71fd, 0x71fe, 0x71ff, 0x7200, 0x7201, 0x7202,
    +    0x7203, 0x7204, 0x7205, 0x7207, 0x7208, 0x7209, 0x720a, 0x720b,
    +    0x720c, 0x720d, 0x720e, 0x720f, 0x7210, 0x7211, 0x7212, 0x7213,
    +    0x7214, 0x7215, 0x7216, 0x7217, 0x7218, 0x7219, 0x721a, 0x003f,
    +    0x721b, 0x721c, 0x721e, 0x721f, 0x7220, 0x7221, 0x7222, 0x7223,
    +    0x7224, 0x7225, 0x7226, 0x7227, 0x7229, 0x722b, 0x722d, 0x722e,
    +    0x722f, 0x7232, 0x7233, 0x7234, 0x723a, 0x723c, 0x723e, 0x7240,
    +    0x7241, 0x7242, 0x7243, 0x7244, 0x7245, 0x7246, 0x7249, 0x724a,
    +    0x724b, 0x724e, 0x724f, 0x7250, 0x7251, 0x7253, 0x7254, 0x7255,
    +    0x7257, 0x7258, 0x725a, 0x725c, 0x725e, 0x7260, 0x7263, 0x7264,
    +    0x7265, 0x7268, 0x726a, 0x726b, 0x726c, 0x726d, 0x7270, 0x7271,
    +    0x7273, 0x7274, 0x7276, 0x7277, 0x7278, 0x727b, 0x727c, 0x727d,
    +    0x7282, 0x7283, 0x7285, 0x7286, 0x7287, 0x7288, 0x7289, 0x728c,
    +    0x728e, 0x7290, 0x7291, 0x7293, 0x7294, 0x7295, 0x7296, 0x7297,
    +    0x7298, 0x7299, 0x729a, 0x729b, 0x729c, 0x729d, 0x729e, 0x72a0,
    +    0x72a1, 0x72a2, 0x72a3, 0x72a4, 0x72a5, 0x72a6, 0x72a7, 0x72a8,
    +    0x72a9, 0x72aa, 0x72ab, 0x72ae, 0x72b1, 0x72b2, 0x72b3, 0x72b5,
    +    0x72ba, 0x72bb, 0x72bc, 0x72bd, 0x72be, 0x72bf, 0x72c0, 0x72c5,
    +    0x72c6, 0x72c7, 0x72c9, 0x72ca, 0x72cb, 0x72cc, 0x72cf, 0x72d1,
    +    0x72d3, 0x72d4, 0x72d5, 0x72d6, 0x72d8, 0x72da, 0x72db, 0x003f,
    +    /* lead byte a1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x3000, 0x3001, 0x3002, 0x00b7, 0x02c9, 0x02c7, 0x00a8,
    +    0x3003, 0x3005, 0x2014, 0xff5e, 0x2016, 0x2026, 0x2018, 0x2019,
    +    0x201c, 0x201d, 0x3014, 0x3015, 0x3008, 0x3009, 0x300a, 0x300b,
    +    0x300c, 0x300d, 0x300e, 0x300f, 0x3016, 0x3017, 0x3010, 0x3011,
    +    0x00b1, 0x00d7, 0x00f7, 0x2236, 0x2227, 0x2228, 0x2211, 0x220f,
    +    0x222a, 0x2229, 0x2208, 0x2237, 0x221a, 0x22a5, 0x2225, 0x2220,
    +    0x2312, 0x2299, 0x222b, 0x222e, 0x2261, 0x224c, 0x2248, 0x223d,
    +    0x221d, 0x2260, 0x226e, 0x226f, 0x2264, 0x2265, 0x221e, 0x2235,
    +    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xff04,
    +    0x00a4, 0xffe0, 0xffe1, 0x2030, 0x00a7, 0x2116, 0x2606, 0x2605,
    +    0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6, 0x25a1, 0x25a0, 0x25b3,
    +    0x25b2, 0x203b, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f,
    +    /* lead byte a2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176,
    +    0x2177, 0x2178, 0x2179, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x2488, 0x2489, 0x248a, 0x248b, 0x248c, 0x248d, 0x248e,
    +    0x248f, 0x2490, 0x2491, 0x2492, 0x2493, 0x2494, 0x2495, 0x2496,
    +    0x2497, 0x2498, 0x2499, 0x249a, 0x249b, 0x2474, 0x2475, 0x2476,
    +    0x2477, 0x2478, 0x2479, 0x247a, 0x247b, 0x247c, 0x247d, 0x247e,
    +    0x247f, 0x2480, 0x2481, 0x2482, 0x2483, 0x2484, 0x2485, 0x2486,
    +    0x2487, 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466,
    +    0x2467, 0x2468, 0x2469, 0x003f, 0x003f, 0x3220, 0x3221, 0x3222,
    +    0x3223, 0x3224, 0x3225, 0x3226, 0x3227, 0x3228, 0x3229, 0x003f,
    +    0x003f, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,
    +    0x2167, 0x2168, 0x2169, 0x216a, 0x216b, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xff01, 0xff02, 0xff03, 0xffe5, 0xff05, 0xff06, 0xff07,
    +    0xff08, 0xff09, 0xff0a, 0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f,
    +    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,
    +    0xff18, 0xff19, 0xff1a, 0xff1b, 0xff1c, 0xff1d, 0xff1e, 0xff1f,
    +    0xff20, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,
    +    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,
    +    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
    +    0xff38, 0xff39, 0xff3a, 0xff3b, 0xff3c, 0xff3d, 0xff3e, 0xff3f,
    +    0xff40, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    +    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    +    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    +    0xff58, 0xff59, 0xff5a, 0xff5b, 0xff5c, 0xff5d, 0xffe3, 0x003f,
    +    /* lead byte a4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,
    +    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
    +    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
    +    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
    +    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,
    +    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,
    +    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,
    +    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
    +    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,
    +    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,
    +    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,
    +    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,
    +    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,
    +    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,
    +    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,
    +    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,
    +    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,
    +    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,
    +    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    +    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    +    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    +    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    +    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,
    +    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    +    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    +    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    +    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfe35, 0xfe36, 0xfe39, 0xfe3a, 0xfe3f, 0xfe40, 0xfe3d, 0xfe3e,
    +    0xfe41, 0xfe42, 0xfe43, 0xfe44, 0x003f, 0x003f, 0xfe3b, 0xfe3c,
    +    0xfe37, 0xfe38, 0xfe31, 0x003f, 0xfe33, 0xfe34, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,
    +    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,
    +    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,
    +    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,
    +    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,
    +    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,
    +    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    +    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    +    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x02ca, 0x02cb, 0x02d9, 0x2013, 0x2015, 0x2025, 0x2035, 0x2105,
    +    0x2109, 0x2196, 0x2197, 0x2198, 0x2199, 0x2215, 0x221f, 0x2223,
    +    0x2252, 0x2266, 0x2267, 0x22bf, 0x2550, 0x2551, 0x2552, 0x2553,
    +    0x2554, 0x2555, 0x2556, 0x2557, 0x2558, 0x2559, 0x255a, 0x255b,
    +    0x255c, 0x255d, 0x255e, 0x255f, 0x2560, 0x2561, 0x2562, 0x2563,
    +    0x2564, 0x2565, 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b,
    +    0x256c, 0x256d, 0x256e, 0x256f, 0x2570, 0x2571, 0x2572, 0x2573,
    +    0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586, 0x2587, 0x003f,
    +    0x2588, 0x2589, 0x258a, 0x258b, 0x258c, 0x258d, 0x258e, 0x258f,
    +    0x2593, 0x2594, 0x2595, 0x25bc, 0x25bd, 0x25e2, 0x25e3, 0x25e4,
    +    0x25e5, 0x2609, 0x2295, 0x3012, 0x301d, 0x301e, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0101, 0x00e1, 0x01ce, 0x00e0, 0x0113, 0x00e9, 0x011b,
    +    0x00e8, 0x012b, 0x00ed, 0x01d0, 0x00ec, 0x014d, 0x00f3, 0x01d2,
    +    0x00f2, 0x016b, 0x00fa, 0x01d4, 0x00f9, 0x01d6, 0x01d8, 0x01da,
    +    0x01dc, 0x00fc, 0x00ea, 0x0251, 0x003f, 0x0144, 0x0148, 0x003f,
    +    0x0261, 0x003f, 0x003f, 0x003f, 0x003f, 0x3105, 0x3106, 0x3107,
    +    0x3108, 0x3109, 0x310a, 0x310b, 0x310c, 0x310d, 0x310e, 0x310f,
    +    0x3110, 0x3111, 0x3112, 0x3113, 0x3114, 0x3115, 0x3116, 0x3117,
    +    0x3118, 0x3119, 0x311a, 0x311b, 0x311c, 0x311d, 0x311e, 0x311f,
    +    0x3120, 0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126, 0x3127,
    +    0x3128, 0x3129, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x3021, 0x3022, 0x3023, 0x3024, 0x3025, 0x3026, 0x3027, 0x3028,
    +    0x3029, 0x32a3, 0x338e, 0x338f, 0x339c, 0x339d, 0x339e, 0x33a1,
    +    0x33c4, 0x33ce, 0x33d1, 0x33d2, 0x33d5, 0xfe30, 0xffe2, 0xffe4,
    +    0x003f, 0x2121, 0x3231, 0x003f, 0x2010, 0x003f, 0x003f, 0x003f,
    +    0x30fc, 0x309b, 0x309c, 0x30fd, 0x30fe, 0x3006, 0x309d, 0x309e,
    +    0xfe49, 0xfe4a, 0xfe4b, 0xfe4c, 0xfe4d, 0xfe4e, 0xfe4f, 0xfe50,
    +    0xfe51, 0xfe52, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xfe59, 0xfe5a,
    +    0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0xfe5f, 0xfe60, 0xfe61, 0x003f,
    +    0xfe62, 0xfe63, 0xfe64, 0xfe65, 0xfe66, 0xfe68, 0xfe69, 0xfe6a,
    +    0xfe6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x3007, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x2500, 0x2501, 0x2502, 0x2503,
    +    0x2504, 0x2505, 0x2506, 0x2507, 0x2508, 0x2509, 0x250a, 0x250b,
    +    0x250c, 0x250d, 0x250e, 0x250f, 0x2510, 0x2511, 0x2512, 0x2513,
    +    0x2514, 0x2515, 0x2516, 0x2517, 0x2518, 0x2519, 0x251a, 0x251b,
    +    0x251c, 0x251d, 0x251e, 0x251f, 0x2520, 0x2521, 0x2522, 0x2523,
    +    0x2524, 0x2525, 0x2526, 0x2527, 0x2528, 0x2529, 0x252a, 0x252b,
    +    0x252c, 0x252d, 0x252e, 0x252f, 0x2530, 0x2531, 0x2532, 0x2533,
    +    0x2534, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253a, 0x253b,
    +    0x253c, 0x253d, 0x253e, 0x253f, 0x2540, 0x2541, 0x2542, 0x2543,
    +    0x2544, 0x2545, 0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x254b,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte aa */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x72dc, 0x72dd, 0x72df, 0x72e2, 0x72e3, 0x72e4, 0x72e5, 0x72e6,
    +    0x72e7, 0x72ea, 0x72eb, 0x72f5, 0x72f6, 0x72f9, 0x72fd, 0x72fe,
    +    0x72ff, 0x7300, 0x7302, 0x7304, 0x7305, 0x7306, 0x7307, 0x7308,
    +    0x7309, 0x730b, 0x730c, 0x730d, 0x730f, 0x7310, 0x7311, 0x7312,
    +    0x7314, 0x7318, 0x7319, 0x731a, 0x731f, 0x7320, 0x7323, 0x7324,
    +    0x7326, 0x7327, 0x7328, 0x732d, 0x732f, 0x7330, 0x7332, 0x7333,
    +    0x7335, 0x7336, 0x733a, 0x733b, 0x733c, 0x733d, 0x7340, 0x7341,
    +    0x7342, 0x7343, 0x7344, 0x7345, 0x7346, 0x7347, 0x7348, 0x003f,
    +    0x7349, 0x734a, 0x734b, 0x734c, 0x734e, 0x734f, 0x7351, 0x7353,
    +    0x7354, 0x7355, 0x7356, 0x7358, 0x7359, 0x735a, 0x735b, 0x735c,
    +    0x735d, 0x735e, 0x735f, 0x7361, 0x7362, 0x7363, 0x7364, 0x7365,
    +    0x7366, 0x7367, 0x7368, 0x7369, 0x736a, 0x736b, 0x736e, 0x7370,
    +    0x7371, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ab */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7372, 0x7373, 0x7374, 0x7375, 0x7376, 0x7377, 0x7378, 0x7379,
    +    0x737a, 0x737b, 0x737c, 0x737d, 0x737f, 0x7380, 0x7381, 0x7382,
    +    0x7383, 0x7385, 0x7386, 0x7388, 0x738a, 0x738c, 0x738d, 0x738f,
    +    0x7390, 0x7392, 0x7393, 0x7394, 0x7395, 0x7397, 0x7398, 0x7399,
    +    0x739a, 0x739c, 0x739d, 0x739e, 0x73a0, 0x73a1, 0x73a3, 0x73a4,
    +    0x73a5, 0x73a6, 0x73a7, 0x73a8, 0x73aa, 0x73ac, 0x73ad, 0x73b1,
    +    0x73b4, 0x73b5, 0x73b6, 0x73b8, 0x73b9, 0x73bc, 0x73bd, 0x73be,
    +    0x73bf, 0x73c1, 0x73c3, 0x73c4, 0x73c5, 0x73c6, 0x73c7, 0x003f,
    +    0x73cb, 0x73cc, 0x73ce, 0x73d2, 0x73d3, 0x73d4, 0x73d5, 0x73d6,
    +    0x73d7, 0x73d8, 0x73da, 0x73db, 0x73dc, 0x73dd, 0x73df, 0x73e1,
    +    0x73e2, 0x73e3, 0x73e4, 0x73e6, 0x73e8, 0x73ea, 0x73eb, 0x73ec,
    +    0x73ee, 0x73ef, 0x73f0, 0x73f1, 0x73f3, 0x73f4, 0x73f5, 0x73f6,
    +    0x73f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ac */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x73f8, 0x73f9, 0x73fa, 0x73fb, 0x73fc, 0x73fd, 0x73fe, 0x73ff,
    +    0x7400, 0x7401, 0x7402, 0x7404, 0x7407, 0x7408, 0x740b, 0x740c,
    +    0x740d, 0x740e, 0x7411, 0x7412, 0x7413, 0x7414, 0x7415, 0x7416,
    +    0x7417, 0x7418, 0x7419, 0x741c, 0x741d, 0x741e, 0x741f, 0x7420,
    +    0x7421, 0x7423, 0x7424, 0x7427, 0x7429, 0x742b, 0x742d, 0x742f,
    +    0x7431, 0x7432, 0x7437, 0x7438, 0x7439, 0x743a, 0x743b, 0x743d,
    +    0x743e, 0x743f, 0x7440, 0x7442, 0x7443, 0x7444, 0x7445, 0x7446,
    +    0x7447, 0x7448, 0x7449, 0x744a, 0x744b, 0x744c, 0x744d, 0x003f,
    +    0x744e, 0x744f, 0x7450, 0x7451, 0x7452, 0x7453, 0x7454, 0x7456,
    +    0x7458, 0x745d, 0x7460, 0x7461, 0x7462, 0x7463, 0x7464, 0x7465,
    +    0x7466, 0x7467, 0x7468, 0x7469, 0x746a, 0x746b, 0x746c, 0x746e,
    +    0x746f, 0x7471, 0x7472, 0x7473, 0x7474, 0x7475, 0x7478, 0x7479,
    +    0x747a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ad */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x747b, 0x747c, 0x747d, 0x747f, 0x7482, 0x7484, 0x7485, 0x7486,
    +    0x7488, 0x7489, 0x748a, 0x748c, 0x748d, 0x748f, 0x7491, 0x7492,
    +    0x7493, 0x7494, 0x7495, 0x7496, 0x7497, 0x7498, 0x7499, 0x749a,
    +    0x749b, 0x749d, 0x749f, 0x74a0, 0x74a1, 0x74a2, 0x74a3, 0x74a4,
    +    0x74a5, 0x74a6, 0x74aa, 0x74ab, 0x74ac, 0x74ad, 0x74ae, 0x74af,
    +    0x74b0, 0x74b1, 0x74b2, 0x74b3, 0x74b4, 0x74b5, 0x74b6, 0x74b7,
    +    0x74b8, 0x74b9, 0x74bb, 0x74bc, 0x74bd, 0x74be, 0x74bf, 0x74c0,
    +    0x74c1, 0x74c2, 0x74c3, 0x74c4, 0x74c5, 0x74c6, 0x74c7, 0x003f,
    +    0x74c8, 0x74c9, 0x74ca, 0x74cb, 0x74cc, 0x74cd, 0x74ce, 0x74cf,
    +    0x74d0, 0x74d1, 0x74d3, 0x74d4, 0x74d5, 0x74d6, 0x74d7, 0x74d8,
    +    0x74d9, 0x74da, 0x74db, 0x74dd, 0x74df, 0x74e1, 0x74e5, 0x74e7,
    +    0x74e8, 0x74e9, 0x74ea, 0x74eb, 0x74ec, 0x74ed, 0x74f0, 0x74f1,
    +    0x74f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ae */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x74f3, 0x74f5, 0x74f8, 0x74f9, 0x74fa, 0x74fb, 0x74fc, 0x74fd,
    +    0x74fe, 0x7500, 0x7501, 0x7502, 0x7503, 0x7505, 0x7506, 0x7507,
    +    0x7508, 0x7509, 0x750a, 0x750b, 0x750c, 0x750e, 0x7510, 0x7512,
    +    0x7514, 0x7515, 0x7516, 0x7517, 0x751b, 0x751d, 0x751e, 0x7520,
    +    0x7521, 0x7522, 0x7523, 0x7524, 0x7526, 0x7527, 0x752a, 0x752e,
    +    0x7534, 0x7536, 0x7539, 0x753c, 0x753d, 0x753f, 0x7541, 0x7542,
    +    0x7543, 0x7544, 0x7546, 0x7547, 0x7549, 0x754a, 0x754d, 0x7550,
    +    0x7551, 0x7552, 0x7553, 0x7555, 0x7556, 0x7557, 0x7558, 0x003f,
    +    0x755d, 0x755e, 0x755f, 0x7560, 0x7561, 0x7562, 0x7563, 0x7564,
    +    0x7567, 0x7568, 0x7569, 0x756b, 0x756c, 0x756d, 0x756e, 0x756f,
    +    0x7570, 0x7571, 0x7573, 0x7575, 0x7576, 0x7577, 0x757a, 0x757b,
    +    0x757c, 0x757d, 0x757e, 0x7580, 0x7581, 0x7582, 0x7584, 0x7585,
    +    0x7587, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte af */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7588, 0x7589, 0x758a, 0x758c, 0x758d, 0x758e, 0x7590, 0x7593,
    +    0x7595, 0x7598, 0x759b, 0x759c, 0x759e, 0x75a2, 0x75a6, 0x75a7,
    +    0x75a8, 0x75a9, 0x75aa, 0x75ad, 0x75b6, 0x75b7, 0x75ba, 0x75bb,
    +    0x75bf, 0x75c0, 0x75c1, 0x75c6, 0x75cb, 0x75cc, 0x75ce, 0x75cf,
    +    0x75d0, 0x75d1, 0x75d3, 0x75d7, 0x75d9, 0x75da, 0x75dc, 0x75dd,
    +    0x75df, 0x75e0, 0x75e1, 0x75e5, 0x75e9, 0x75ec, 0x75ed, 0x75ee,
    +    0x75ef, 0x75f2, 0x75f3, 0x75f5, 0x75f6, 0x75f7, 0x75f8, 0x75fa,
    +    0x75fb, 0x75fd, 0x75fe, 0x7602, 0x7604, 0x7606, 0x7607, 0x003f,
    +    0x7608, 0x7609, 0x760b, 0x760d, 0x760e, 0x760f, 0x7611, 0x7612,
    +    0x7613, 0x7614, 0x7616, 0x761a, 0x761c, 0x761d, 0x761e, 0x7621,
    +    0x7623, 0x7627, 0x7628, 0x762c, 0x762e, 0x762f, 0x7631, 0x7632,
    +    0x7636, 0x7637, 0x7639, 0x763a, 0x763b, 0x763d, 0x7641, 0x7642,
    +    0x7644, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte b0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7645, 0x7646, 0x7647, 0x7648, 0x7649, 0x764a, 0x764b, 0x764e,
    +    0x764f, 0x7650, 0x7651, 0x7652, 0x7653, 0x7655, 0x7657, 0x7658,
    +    0x7659, 0x765a, 0x765b, 0x765d, 0x765f, 0x7660, 0x7661, 0x7662,
    +    0x7664, 0x7665, 0x7666, 0x7667, 0x7668, 0x7669, 0x766a, 0x766c,
    +    0x766d, 0x766e, 0x7670, 0x7671, 0x7672, 0x7673, 0x7674, 0x7675,
    +    0x7676, 0x7677, 0x7679, 0x767a, 0x767c, 0x767f, 0x7680, 0x7681,
    +    0x7683, 0x7685, 0x7689, 0x768a, 0x768c, 0x768d, 0x768f, 0x7690,
    +    0x7692, 0x7694, 0x7695, 0x7697, 0x7698, 0x769a, 0x769b, 0x003f,
    +    0x769c, 0x769d, 0x769e, 0x769f, 0x76a0, 0x76a1, 0x76a2, 0x76a3,
    +    0x76a5, 0x76a6, 0x76a7, 0x76a8, 0x76a9, 0x76aa, 0x76ab, 0x76ac,
    +    0x76ad, 0x76af, 0x76b0, 0x76b3, 0x76b5, 0x76b6, 0x76b7, 0x76b8,
    +    0x76b9, 0x76ba, 0x76bb, 0x76bc, 0x76bd, 0x76be, 0x76c0, 0x76c1,
    +    0x76c3, 0x554a, 0x963f, 0x57c3, 0x6328, 0x54ce, 0x5509, 0x54c0,
    +    0x7691, 0x764c, 0x853c, 0x77ee, 0x827e, 0x788d, 0x7231, 0x9698,
    +    0x978d, 0x6c28, 0x5b89, 0x4ffa, 0x6309, 0x6697, 0x5cb8, 0x80fa,
    +    0x6848, 0x80ae, 0x6602, 0x76ce, 0x51f9, 0x6556, 0x71ac, 0x7ff1,
    +    0x8884, 0x50b2, 0x5965, 0x61ca, 0x6fb3, 0x82ad, 0x634c, 0x6252,
    +    0x53ed, 0x5427, 0x7b06, 0x516b, 0x75a4, 0x5df4, 0x62d4, 0x8dcb,
    +    0x9776, 0x628a, 0x8019, 0x575d, 0x9738, 0x7f62, 0x7238, 0x767d,
    +    0x67cf, 0x767e, 0x6446, 0x4f70, 0x8d25, 0x62dc, 0x7a17, 0x6591,
    +    0x73ed, 0x642c, 0x6273, 0x822c, 0x9881, 0x677f, 0x7248, 0x626e,
    +    0x62cc, 0x4f34, 0x74e3, 0x534a, 0x529e, 0x7eca, 0x90a6, 0x5e2e,
    +    0x6886, 0x699c, 0x8180, 0x7ed1, 0x68d2, 0x78c5, 0x868c, 0x9551,
    +    0x508d, 0x8c24, 0x82de, 0x80de, 0x5305, 0x8912, 0x5265, 0x003f,
    +    /* lead byte b1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x76c4, 0x76c7, 0x76c9, 0x76cb, 0x76cc, 0x76d3, 0x76d5, 0x76d9,
    +    0x76da, 0x76dc, 0x76dd, 0x76de, 0x76e0, 0x76e1, 0x76e2, 0x76e3,
    +    0x76e4, 0x76e6, 0x76e7, 0x76e8, 0x76e9, 0x76ea, 0x76eb, 0x76ec,
    +    0x76ed, 0x76f0, 0x76f3, 0x76f5, 0x76f6, 0x76f7, 0x76fa, 0x76fb,
    +    0x76fd, 0x76ff, 0x7700, 0x7702, 0x7703, 0x7705, 0x7706, 0x770a,
    +    0x770c, 0x770e, 0x770f, 0x7710, 0x7711, 0x7712, 0x7713, 0x7714,
    +    0x7715, 0x7716, 0x7717, 0x7718, 0x771b, 0x771c, 0x771d, 0x771e,
    +    0x7721, 0x7723, 0x7724, 0x7725, 0x7727, 0x772a, 0x772b, 0x003f,
    +    0x772c, 0x772e, 0x7730, 0x7731, 0x7732, 0x7733, 0x7734, 0x7739,
    +    0x773b, 0x773d, 0x773e, 0x773f, 0x7742, 0x7744, 0x7745, 0x7746,
    +    0x7748, 0x7749, 0x774a, 0x774b, 0x774c, 0x774d, 0x774e, 0x774f,
    +    0x7752, 0x7753, 0x7754, 0x7755, 0x7756, 0x7757, 0x7758, 0x7759,
    +    0x775c, 0x8584, 0x96f9, 0x4fdd, 0x5821, 0x9971, 0x5b9d, 0x62b1,
    +    0x62a5, 0x66b4, 0x8c79, 0x9c8d, 0x7206, 0x676f, 0x7891, 0x60b2,
    +    0x5351, 0x5317, 0x8f88, 0x80cc, 0x8d1d, 0x94a1, 0x500d, 0x72c8,
    +    0x5907, 0x60eb, 0x7119, 0x88ab, 0x5954, 0x82ef, 0x672c, 0x7b28,
    +    0x5d29, 0x7ef7, 0x752d, 0x6cf5, 0x8e66, 0x8ff8, 0x903c, 0x9f3b,
    +    0x6bd4, 0x9119, 0x7b14, 0x5f7c, 0x78a7, 0x84d6, 0x853d, 0x6bd5,
    +    0x6bd9, 0x6bd6, 0x5e01, 0x5e87, 0x75f9, 0x95ed, 0x655d, 0x5f0a,
    +    0x5fc5, 0x8f9f, 0x58c1, 0x81c2, 0x907f, 0x965b, 0x97ad, 0x8fb9,
    +    0x7f16, 0x8d2c, 0x6241, 0x4fbf, 0x53d8, 0x535e, 0x8fa8, 0x8fa9,
    +    0x8fab, 0x904d, 0x6807, 0x5f6a, 0x8198, 0x8868, 0x9cd6, 0x618b,
    +    0x522b, 0x762a, 0x5f6c, 0x658c, 0x6fd2, 0x6ee8, 0x5bbe, 0x6448,
    +    0x5175, 0x51b0, 0x67c4, 0x4e19, 0x79c9, 0x997c, 0x70b3, 0x003f,
    +    /* lead byte b2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x775d, 0x775e, 0x775f, 0x7760, 0x7764, 0x7767, 0x7769, 0x776a,
    +    0x776d, 0x776e, 0x776f, 0x7770, 0x7771, 0x7772, 0x7773, 0x7774,
    +    0x7775, 0x7776, 0x7777, 0x7778, 0x777a, 0x777b, 0x777c, 0x7781,
    +    0x7782, 0x7783, 0x7786, 0x7787, 0x7788, 0x7789, 0x778a, 0x778b,
    +    0x778f, 0x7790, 0x7793, 0x7794, 0x7795, 0x7796, 0x7797, 0x7798,
    +    0x7799, 0x779a, 0x779b, 0x779c, 0x779d, 0x779e, 0x77a1, 0x77a3,
    +    0x77a4, 0x77a6, 0x77a8, 0x77ab, 0x77ad, 0x77ae, 0x77af, 0x77b1,
    +    0x77b2, 0x77b4, 0x77b6, 0x77b7, 0x77b8, 0x77b9, 0x77ba, 0x003f,
    +    0x77bc, 0x77be, 0x77c0, 0x77c1, 0x77c2, 0x77c3, 0x77c4, 0x77c5,
    +    0x77c6, 0x77c7, 0x77c8, 0x77c9, 0x77ca, 0x77cb, 0x77cc, 0x77ce,
    +    0x77cf, 0x77d0, 0x77d1, 0x77d2, 0x77d3, 0x77d4, 0x77d5, 0x77d6,
    +    0x77d8, 0x77d9, 0x77da, 0x77dd, 0x77de, 0x77df, 0x77e0, 0x77e1,
    +    0x77e4, 0x75c5, 0x5e76, 0x73bb, 0x83e0, 0x64ad, 0x62e8, 0x94b5,
    +    0x6ce2, 0x535a, 0x52c3, 0x640f, 0x94c2, 0x7b94, 0x4f2f, 0x5e1b,
    +    0x8236, 0x8116, 0x818a, 0x6e24, 0x6cca, 0x9a73, 0x6355, 0x535c,
    +    0x54fa, 0x8865, 0x57e0, 0x4e0d, 0x5e03, 0x6b65, 0x7c3f, 0x90e8,
    +    0x6016, 0x64e6, 0x731c, 0x88c1, 0x6750, 0x624d, 0x8d22, 0x776c,
    +    0x8e29, 0x91c7, 0x5f69, 0x83dc, 0x8521, 0x9910, 0x53c2, 0x8695,
    +    0x6b8b, 0x60ed, 0x60e8, 0x707f, 0x82cd, 0x8231, 0x4ed3, 0x6ca7,
    +    0x85cf, 0x64cd, 0x7cd9, 0x69fd, 0x66f9, 0x8349, 0x5395, 0x7b56,
    +    0x4fa7, 0x518c, 0x6d4b, 0x5c42, 0x8e6d, 0x63d2, 0x53c9, 0x832c,
    +    0x8336, 0x67e5, 0x78b4, 0x643d, 0x5bdf, 0x5c94, 0x5dee, 0x8be7,
    +    0x62c6, 0x67f4, 0x8c7a, 0x6400, 0x63ba, 0x8749, 0x998b, 0x8c17,
    +    0x7f20, 0x94f2, 0x4ea7, 0x9610, 0x98a4, 0x660c, 0x7316, 0x003f,
    +    /* lead byte b3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x77e6, 0x77e8, 0x77ea, 0x77ef, 0x77f0, 0x77f1, 0x77f2, 0x77f4,
    +    0x77f5, 0x77f7, 0x77f9, 0x77fa, 0x77fb, 0x77fc, 0x7803, 0x7804,
    +    0x7805, 0x7806, 0x7807, 0x7808, 0x780a, 0x780b, 0x780e, 0x780f,
    +    0x7810, 0x7813, 0x7815, 0x7819, 0x781b, 0x781e, 0x7820, 0x7821,
    +    0x7822, 0x7824, 0x7828, 0x782a, 0x782b, 0x782e, 0x782f, 0x7831,
    +    0x7832, 0x7833, 0x7835, 0x7836, 0x783d, 0x783f, 0x7841, 0x7842,
    +    0x7843, 0x7844, 0x7846, 0x7848, 0x7849, 0x784a, 0x784b, 0x784d,
    +    0x784f, 0x7851, 0x7853, 0x7854, 0x7858, 0x7859, 0x785a, 0x003f,
    +    0x785b, 0x785c, 0x785e, 0x785f, 0x7860, 0x7861, 0x7862, 0x7863,
    +    0x7864, 0x7865, 0x7866, 0x7867, 0x7868, 0x7869, 0x786f, 0x7870,
    +    0x7871, 0x7872, 0x7873, 0x7874, 0x7875, 0x7876, 0x7878, 0x7879,
    +    0x787a, 0x787b, 0x787d, 0x787e, 0x787f, 0x7880, 0x7881, 0x7882,
    +    0x7883, 0x573a, 0x5c1d, 0x5e38, 0x957f, 0x507f, 0x80a0, 0x5382,
    +    0x655e, 0x7545, 0x5531, 0x5021, 0x8d85, 0x6284, 0x949e, 0x671d,
    +    0x5632, 0x6f6e, 0x5de2, 0x5435, 0x7092, 0x8f66, 0x626f, 0x64a4,
    +    0x63a3, 0x5f7b, 0x6f88, 0x90f4, 0x81e3, 0x8fb0, 0x5c18, 0x6668,
    +    0x5ff1, 0x6c89, 0x9648, 0x8d81, 0x886c, 0x6491, 0x79f0, 0x57ce,
    +    0x6a59, 0x6210, 0x5448, 0x4e58, 0x7a0b, 0x60e9, 0x6f84, 0x8bda,
    +    0x627f, 0x901e, 0x9a8b, 0x79e4, 0x5403, 0x75f4, 0x6301, 0x5319,
    +    0x6c60, 0x8fdf, 0x5f1b, 0x9a70, 0x803b, 0x9f7f, 0x4f88, 0x5c3a,
    +    0x8d64, 0x7fc5, 0x65a5, 0x70bd, 0x5145, 0x51b2, 0x866b, 0x5d07,
    +    0x5ba0, 0x62bd, 0x916c, 0x7574, 0x8e0c, 0x7a20, 0x6101, 0x7b79,
    +    0x4ec7, 0x7ef8, 0x7785, 0x4e11, 0x81ed, 0x521d, 0x51fa, 0x6a71,
    +    0x53a8, 0x8e87, 0x9504, 0x96cf, 0x6ec1, 0x9664, 0x695a, 0x003f,
    +    /* lead byte b4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7884, 0x7885, 0x7886, 0x7888, 0x788a, 0x788b, 0x788f, 0x7890,
    +    0x7892, 0x7894, 0x7895, 0x7896, 0x7899, 0x789d, 0x789e, 0x78a0,
    +    0x78a2, 0x78a4, 0x78a6, 0x78a8, 0x78a9, 0x78aa, 0x78ab, 0x78ac,
    +    0x78ad, 0x78ae, 0x78af, 0x78b5, 0x78b6, 0x78b7, 0x78b8, 0x78ba,
    +    0x78bb, 0x78bc, 0x78bd, 0x78bf, 0x78c0, 0x78c2, 0x78c3, 0x78c4,
    +    0x78c6, 0x78c7, 0x78c8, 0x78cc, 0x78cd, 0x78ce, 0x78cf, 0x78d1,
    +    0x78d2, 0x78d3, 0x78d6, 0x78d7, 0x78d8, 0x78da, 0x78db, 0x78dc,
    +    0x78dd, 0x78de, 0x78df, 0x78e0, 0x78e1, 0x78e2, 0x78e3, 0x003f,
    +    0x78e4, 0x78e5, 0x78e6, 0x78e7, 0x78e9, 0x78ea, 0x78eb, 0x78ed,
    +    0x78ee, 0x78ef, 0x78f0, 0x78f1, 0x78f3, 0x78f5, 0x78f6, 0x78f8,
    +    0x78f9, 0x78fb, 0x78fc, 0x78fd, 0x78fe, 0x78ff, 0x7900, 0x7902,
    +    0x7903, 0x7904, 0x7906, 0x7907, 0x7908, 0x7909, 0x790a, 0x790b,
    +    0x790c, 0x7840, 0x50a8, 0x77d7, 0x6410, 0x89e6, 0x5904, 0x63e3,
    +    0x5ddd, 0x7a7f, 0x693d, 0x4f20, 0x8239, 0x5598, 0x4e32, 0x75ae,
    +    0x7a97, 0x5e62, 0x5e8a, 0x95ef, 0x521b, 0x5439, 0x708a, 0x6376,
    +    0x9524, 0x5782, 0x6625, 0x693f, 0x9187, 0x5507, 0x6df3, 0x7eaf,
    +    0x8822, 0x6233, 0x7ef0, 0x75b5, 0x8328, 0x78c1, 0x96cc, 0x8f9e,
    +    0x6148, 0x74f7, 0x8bcd, 0x6b64, 0x523a, 0x8d50, 0x6b21, 0x806a,
    +    0x8471, 0x56f1, 0x5306, 0x4ece, 0x4e1b, 0x51d1, 0x7c97, 0x918b,
    +    0x7c07, 0x4fc3, 0x8e7f, 0x7be1, 0x7a9c, 0x6467, 0x5d14, 0x50ac,
    +    0x8106, 0x7601, 0x7cb9, 0x6dec, 0x7fe0, 0x6751, 0x5b58, 0x5bf8,
    +    0x78cb, 0x64ae, 0x6413, 0x63aa, 0x632b, 0x9519, 0x642d, 0x8fbe,
    +    0x7b54, 0x7629, 0x6253, 0x5927, 0x5446, 0x6b79, 0x50a3, 0x6234,
    +    0x5e26, 0x6b86, 0x4ee3, 0x8d37, 0x888b, 0x5f85, 0x902e, 0x003f,
    +    /* lead byte b5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x790d, 0x790e, 0x790f, 0x7910, 0x7911, 0x7912, 0x7914, 0x7915,
    +    0x7916, 0x7917, 0x7918, 0x7919, 0x791a, 0x791b, 0x791c, 0x791d,
    +    0x791f, 0x7920, 0x7921, 0x7922, 0x7923, 0x7925, 0x7926, 0x7927,
    +    0x7928, 0x7929, 0x792a, 0x792b, 0x792c, 0x792d, 0x792e, 0x792f,
    +    0x7930, 0x7931, 0x7932, 0x7933, 0x7935, 0x7936, 0x7937, 0x7938,
    +    0x7939, 0x793d, 0x793f, 0x7942, 0x7943, 0x7944, 0x7945, 0x7947,
    +    0x794a, 0x794b, 0x794c, 0x794d, 0x794e, 0x794f, 0x7950, 0x7951,
    +    0x7952, 0x7954, 0x7955, 0x7958, 0x7959, 0x7961, 0x7963, 0x003f,
    +    0x7964, 0x7966, 0x7969, 0x796a, 0x796b, 0x796c, 0x796e, 0x7970,
    +    0x7971, 0x7972, 0x7973, 0x7974, 0x7975, 0x7976, 0x7979, 0x797b,
    +    0x797c, 0x797d, 0x797e, 0x797f, 0x7982, 0x7983, 0x7986, 0x7987,
    +    0x7988, 0x7989, 0x798b, 0x798c, 0x798d, 0x798e, 0x7990, 0x7991,
    +    0x7992, 0x6020, 0x803d, 0x62c5, 0x4e39, 0x5355, 0x90f8, 0x63b8,
    +    0x80c6, 0x65e6, 0x6c2e, 0x4f46, 0x60ee, 0x6de1, 0x8bde, 0x5f39,
    +    0x86cb, 0x5f53, 0x6321, 0x515a, 0x8361, 0x6863, 0x5200, 0x6363,
    +    0x8e48, 0x5012, 0x5c9b, 0x7977, 0x5bfc, 0x5230, 0x7a3b, 0x60bc,
    +    0x9053, 0x76d7, 0x5fb7, 0x5f97, 0x7684, 0x8e6c, 0x706f, 0x767b,
    +    0x7b49, 0x77aa, 0x51f3, 0x9093, 0x5824, 0x4f4e, 0x6ef4, 0x8fea,
    +    0x654c, 0x7b1b, 0x72c4, 0x6da4, 0x7fdf, 0x5ae1, 0x62b5, 0x5e95,
    +    0x5730, 0x8482, 0x7b2c, 0x5e1d, 0x5f1f, 0x9012, 0x7f14, 0x98a0,
    +    0x6382, 0x6ec7, 0x7898, 0x70b9, 0x5178, 0x975b, 0x57ab, 0x7535,
    +    0x4f43, 0x7538, 0x5e97, 0x60e6, 0x5960, 0x6dc0, 0x6bbf, 0x7889,
    +    0x53fc, 0x96d5, 0x51cb, 0x5201, 0x6389, 0x540a, 0x9493, 0x8c03,
    +    0x8dcc, 0x7239, 0x789f, 0x8776, 0x8fed, 0x8c0d, 0x53e0, 0x003f,
    +    /* lead byte b6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7993, 0x7994, 0x7995, 0x7996, 0x7997, 0x7998, 0x7999, 0x799b,
    +    0x799c, 0x799d, 0x799e, 0x799f, 0x79a0, 0x79a1, 0x79a2, 0x79a3,
    +    0x79a4, 0x79a5, 0x79a6, 0x79a8, 0x79a9, 0x79aa, 0x79ab, 0x79ac,
    +    0x79ad, 0x79ae, 0x79af, 0x79b0, 0x79b1, 0x79b2, 0x79b4, 0x79b5,
    +    0x79b6, 0x79b7, 0x79b8, 0x79bc, 0x79bf, 0x79c2, 0x79c4, 0x79c5,
    +    0x79c7, 0x79c8, 0x79ca, 0x79cc, 0x79ce, 0x79cf, 0x79d0, 0x79d3,
    +    0x79d4, 0x79d6, 0x79d7, 0x79d9, 0x79da, 0x79db, 0x79dc, 0x79dd,
    +    0x79de, 0x79e0, 0x79e1, 0x79e2, 0x79e5, 0x79e8, 0x79ea, 0x003f,
    +    0x79ec, 0x79ee, 0x79f1, 0x79f2, 0x79f3, 0x79f4, 0x79f5, 0x79f6,
    +    0x79f7, 0x79f9, 0x79fa, 0x79fc, 0x79fe, 0x79ff, 0x7a01, 0x7a04,
    +    0x7a05, 0x7a07, 0x7a08, 0x7a09, 0x7a0a, 0x7a0c, 0x7a0f, 0x7a10,
    +    0x7a11, 0x7a12, 0x7a13, 0x7a15, 0x7a16, 0x7a18, 0x7a19, 0x7a1b,
    +    0x7a1c, 0x4e01, 0x76ef, 0x53ee, 0x9489, 0x9876, 0x9f0e, 0x952d,
    +    0x5b9a, 0x8ba2, 0x4e22, 0x4e1c, 0x51ac, 0x8463, 0x61c2, 0x52a8,
    +    0x680b, 0x4f97, 0x606b, 0x51bb, 0x6d1e, 0x515c, 0x6296, 0x6597,
    +    0x9661, 0x8c46, 0x9017, 0x75d8, 0x90fd, 0x7763, 0x6bd2, 0x728a,
    +    0x72ec, 0x8bfb, 0x5835, 0x7779, 0x8d4c, 0x675c, 0x9540, 0x809a,
    +    0x5ea6, 0x6e21, 0x5992, 0x7aef, 0x77ed, 0x953b, 0x6bb5, 0x65ad,
    +    0x7f0e, 0x5806, 0x5151, 0x961f, 0x5bf9, 0x58a9, 0x5428, 0x8e72,
    +    0x6566, 0x987f, 0x56e4, 0x949d, 0x76fe, 0x9041, 0x6387, 0x54c6,
    +    0x591a, 0x593a, 0x579b, 0x8eb2, 0x6735, 0x8dfa, 0x8235, 0x5241,
    +    0x60f0, 0x5815, 0x86fe, 0x5ce8, 0x9e45, 0x4fc4, 0x989d, 0x8bb9,
    +    0x5a25, 0x6076, 0x5384, 0x627c, 0x904f, 0x9102, 0x997f, 0x6069,
    +    0x800c, 0x513f, 0x8033, 0x5c14, 0x9975, 0x6d31, 0x4e8c, 0x003f,
    +    /* lead byte b7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7a1d, 0x7a1f, 0x7a21, 0x7a22, 0x7a24, 0x7a25, 0x7a26, 0x7a27,
    +    0x7a28, 0x7a29, 0x7a2a, 0x7a2b, 0x7a2c, 0x7a2d, 0x7a2e, 0x7a2f,
    +    0x7a30, 0x7a31, 0x7a32, 0x7a34, 0x7a35, 0x7a36, 0x7a38, 0x7a3a,
    +    0x7a3e, 0x7a40, 0x7a41, 0x7a42, 0x7a43, 0x7a44, 0x7a45, 0x7a47,
    +    0x7a48, 0x7a49, 0x7a4a, 0x7a4b, 0x7a4c, 0x7a4d, 0x7a4e, 0x7a4f,
    +    0x7a50, 0x7a52, 0x7a53, 0x7a54, 0x7a55, 0x7a56, 0x7a58, 0x7a59,
    +    0x7a5a, 0x7a5b, 0x7a5c, 0x7a5d, 0x7a5e, 0x7a5f, 0x7a60, 0x7a61,
    +    0x7a62, 0x7a63, 0x7a64, 0x7a65, 0x7a66, 0x7a67, 0x7a68, 0x003f,
    +    0x7a69, 0x7a6a, 0x7a6b, 0x7a6c, 0x7a6d, 0x7a6e, 0x7a6f, 0x7a71,
    +    0x7a72, 0x7a73, 0x7a75, 0x7a7b, 0x7a7c, 0x7a7d, 0x7a7e, 0x7a82,
    +    0x7a85, 0x7a87, 0x7a89, 0x7a8a, 0x7a8b, 0x7a8c, 0x7a8e, 0x7a8f,
    +    0x7a90, 0x7a93, 0x7a94, 0x7a99, 0x7a9a, 0x7a9b, 0x7a9e, 0x7aa1,
    +    0x7aa2, 0x8d30, 0x53d1, 0x7f5a, 0x7b4f, 0x4f10, 0x4e4f, 0x9600,
    +    0x6cd5, 0x73d0, 0x85e9, 0x5e06, 0x756a, 0x7ffb, 0x6a0a, 0x77fe,
    +    0x9492, 0x7e41, 0x51e1, 0x70e6, 0x53cd, 0x8fd4, 0x8303, 0x8d29,
    +    0x72af, 0x996d, 0x6cdb, 0x574a, 0x82b3, 0x65b9, 0x80aa, 0x623f,
    +    0x9632, 0x59a8, 0x4eff, 0x8bbf, 0x7eba, 0x653e, 0x83f2, 0x975e,
    +    0x5561, 0x98de, 0x80a5, 0x532a, 0x8bfd, 0x5420, 0x80ba, 0x5e9f,
    +    0x6cb8, 0x8d39, 0x82ac, 0x915a, 0x5429, 0x6c1b, 0x5206, 0x7eb7,
    +    0x575f, 0x711a, 0x6c7e, 0x7c89, 0x594b, 0x4efd, 0x5fff, 0x6124,
    +    0x7caa, 0x4e30, 0x5c01, 0x67ab, 0x8702, 0x5cf0, 0x950b, 0x98ce,
    +    0x75af, 0x70fd, 0x9022, 0x51af, 0x7f1d, 0x8bbd, 0x5949, 0x51e4,
    +    0x4f5b, 0x5426, 0x592b, 0x6577, 0x80a4, 0x5b75, 0x6276, 0x62c2,
    +    0x8f90, 0x5e45, 0x6c1f, 0x7b26, 0x4f0f, 0x4fd8, 0x670d, 0x003f,
    +    /* lead byte b8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7aa3, 0x7aa4, 0x7aa7, 0x7aa9, 0x7aaa, 0x7aab, 0x7aae, 0x7aaf,
    +    0x7ab0, 0x7ab1, 0x7ab2, 0x7ab4, 0x7ab5, 0x7ab6, 0x7ab7, 0x7ab8,
    +    0x7ab9, 0x7aba, 0x7abb, 0x7abc, 0x7abd, 0x7abe, 0x7ac0, 0x7ac1,
    +    0x7ac2, 0x7ac3, 0x7ac4, 0x7ac5, 0x7ac6, 0x7ac7, 0x7ac8, 0x7ac9,
    +    0x7aca, 0x7acc, 0x7acd, 0x7ace, 0x7acf, 0x7ad0, 0x7ad1, 0x7ad2,
    +    0x7ad3, 0x7ad4, 0x7ad5, 0x7ad7, 0x7ad8, 0x7ada, 0x7adb, 0x7adc,
    +    0x7add, 0x7ae1, 0x7ae2, 0x7ae4, 0x7ae7, 0x7ae8, 0x7ae9, 0x7aea,
    +    0x7aeb, 0x7aec, 0x7aee, 0x7af0, 0x7af1, 0x7af2, 0x7af3, 0x003f,
    +    0x7af4, 0x7af5, 0x7af6, 0x7af7, 0x7af8, 0x7afb, 0x7afc, 0x7afe,
    +    0x7b00, 0x7b01, 0x7b02, 0x7b05, 0x7b07, 0x7b09, 0x7b0c, 0x7b0d,
    +    0x7b0e, 0x7b10, 0x7b12, 0x7b13, 0x7b16, 0x7b17, 0x7b18, 0x7b1a,
    +    0x7b1c, 0x7b1d, 0x7b1f, 0x7b21, 0x7b22, 0x7b23, 0x7b27, 0x7b29,
    +    0x7b2d, 0x6d6e, 0x6daa, 0x798f, 0x88b1, 0x5f17, 0x752b, 0x629a,
    +    0x8f85, 0x4fef, 0x91dc, 0x65a7, 0x812f, 0x8151, 0x5e9c, 0x8150,
    +    0x8d74, 0x526f, 0x8986, 0x8d4b, 0x590d, 0x5085, 0x4ed8, 0x961c,
    +    0x7236, 0x8179, 0x8d1f, 0x5bcc, 0x8ba3, 0x9644, 0x5987, 0x7f1a,
    +    0x5490, 0x5676, 0x560e, 0x8be5, 0x6539, 0x6982, 0x9499, 0x76d6,
    +    0x6e89, 0x5e72, 0x7518, 0x6746, 0x67d1, 0x7aff, 0x809d, 0x8d76,
    +    0x611f, 0x79c6, 0x6562, 0x8d63, 0x5188, 0x521a, 0x94a2, 0x7f38,
    +    0x809b, 0x7eb2, 0x5c97, 0x6e2f, 0x6760, 0x7bd9, 0x768b, 0x9ad8,
    +    0x818f, 0x7f94, 0x7cd5, 0x641e, 0x9550, 0x7a3f, 0x544a, 0x54e5,
    +    0x6b4c, 0x6401, 0x6208, 0x9e3d, 0x80f3, 0x7599, 0x5272, 0x9769,
    +    0x845b, 0x683c, 0x86e4, 0x9601, 0x9694, 0x94ec, 0x4e2a, 0x5404,
    +    0x7ed9, 0x6839, 0x8ddf, 0x8015, 0x66f4, 0x5e9a, 0x7fb9, 0x003f,
    +    /* lead byte b9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7b2f, 0x7b30, 0x7b32, 0x7b34, 0x7b35, 0x7b36, 0x7b37, 0x7b39,
    +    0x7b3b, 0x7b3d, 0x7b3f, 0x7b40, 0x7b41, 0x7b42, 0x7b43, 0x7b44,
    +    0x7b46, 0x7b48, 0x7b4a, 0x7b4d, 0x7b4e, 0x7b53, 0x7b55, 0x7b57,
    +    0x7b59, 0x7b5c, 0x7b5e, 0x7b5f, 0x7b61, 0x7b63, 0x7b64, 0x7b65,
    +    0x7b66, 0x7b67, 0x7b68, 0x7b69, 0x7b6a, 0x7b6b, 0x7b6c, 0x7b6d,
    +    0x7b6f, 0x7b70, 0x7b73, 0x7b74, 0x7b76, 0x7b78, 0x7b7a, 0x7b7c,
    +    0x7b7d, 0x7b7f, 0x7b81, 0x7b82, 0x7b83, 0x7b84, 0x7b86, 0x7b87,
    +    0x7b88, 0x7b89, 0x7b8a, 0x7b8b, 0x7b8c, 0x7b8e, 0x7b8f, 0x003f,
    +    0x7b91, 0x7b92, 0x7b93, 0x7b96, 0x7b98, 0x7b99, 0x7b9a, 0x7b9b,
    +    0x7b9e, 0x7b9f, 0x7ba0, 0x7ba3, 0x7ba4, 0x7ba5, 0x7bae, 0x7baf,
    +    0x7bb0, 0x7bb2, 0x7bb3, 0x7bb5, 0x7bb6, 0x7bb7, 0x7bb9, 0x7bba,
    +    0x7bbb, 0x7bbc, 0x7bbd, 0x7bbe, 0x7bbf, 0x7bc0, 0x7bc2, 0x7bc3,
    +    0x7bc4, 0x57c2, 0x803f, 0x6897, 0x5de5, 0x653b, 0x529f, 0x606d,
    +    0x9f9a, 0x4f9b, 0x8eac, 0x516c, 0x5bab, 0x5f13, 0x5de9, 0x6c5e,
    +    0x62f1, 0x8d21, 0x5171, 0x94a9, 0x52fe, 0x6c9f, 0x82df, 0x72d7,
    +    0x57a2, 0x6784, 0x8d2d, 0x591f, 0x8f9c, 0x83c7, 0x5495, 0x7b8d,
    +    0x4f30, 0x6cbd, 0x5b64, 0x59d1, 0x9f13, 0x53e4, 0x86ca, 0x9aa8,
    +    0x8c37, 0x80a1, 0x6545, 0x987e, 0x56fa, 0x96c7, 0x522e, 0x74dc,
    +    0x5250, 0x5be1, 0x6302, 0x8902, 0x4e56, 0x62d0, 0x602a, 0x68fa,
    +    0x5173, 0x5b98, 0x51a0, 0x89c2, 0x7ba1, 0x9986, 0x7f50, 0x60ef,
    +    0x704c, 0x8d2f, 0x5149, 0x5e7f, 0x901b, 0x7470, 0x89c4, 0x572d,
    +    0x7845, 0x5f52, 0x9f9f, 0x95fa, 0x8f68, 0x9b3c, 0x8be1, 0x7678,
    +    0x6842, 0x67dc, 0x8dea, 0x8d35, 0x523d, 0x8f8a, 0x6eda, 0x68cd,
    +    0x9505, 0x90ed, 0x56fd, 0x679c, 0x88f9, 0x8fc7, 0x54c8, 0x003f,
    +    /* lead byte ba */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7bc5, 0x7bc8, 0x7bc9, 0x7bca, 0x7bcb, 0x7bcd, 0x7bce, 0x7bcf,
    +    0x7bd0, 0x7bd2, 0x7bd4, 0x7bd5, 0x7bd6, 0x7bd7, 0x7bd8, 0x7bdb,
    +    0x7bdc, 0x7bde, 0x7bdf, 0x7be0, 0x7be2, 0x7be3, 0x7be4, 0x7be7,
    +    0x7be8, 0x7be9, 0x7beb, 0x7bec, 0x7bed, 0x7bef, 0x7bf0, 0x7bf2,
    +    0x7bf3, 0x7bf4, 0x7bf5, 0x7bf6, 0x7bf8, 0x7bf9, 0x7bfa, 0x7bfb,
    +    0x7bfd, 0x7bff, 0x7c00, 0x7c01, 0x7c02, 0x7c03, 0x7c04, 0x7c05,
    +    0x7c06, 0x7c08, 0x7c09, 0x7c0a, 0x7c0d, 0x7c0e, 0x7c10, 0x7c11,
    +    0x7c12, 0x7c13, 0x7c14, 0x7c15, 0x7c17, 0x7c18, 0x7c19, 0x003f,
    +    0x7c1a, 0x7c1b, 0x7c1c, 0x7c1d, 0x7c1e, 0x7c20, 0x7c21, 0x7c22,
    +    0x7c23, 0x7c24, 0x7c25, 0x7c28, 0x7c29, 0x7c2b, 0x7c2c, 0x7c2d,
    +    0x7c2e, 0x7c2f, 0x7c30, 0x7c31, 0x7c32, 0x7c33, 0x7c34, 0x7c35,
    +    0x7c36, 0x7c37, 0x7c39, 0x7c3a, 0x7c3b, 0x7c3c, 0x7c3d, 0x7c3e,
    +    0x7c42, 0x9ab8, 0x5b69, 0x6d77, 0x6c26, 0x4ea5, 0x5bb3, 0x9a87,
    +    0x9163, 0x61a8, 0x90af, 0x97e9, 0x542b, 0x6db5, 0x5bd2, 0x51fd,
    +    0x558a, 0x7f55, 0x7ff0, 0x64bc, 0x634d, 0x65f1, 0x61be, 0x608d,
    +    0x710a, 0x6c57, 0x6c49, 0x592f, 0x676d, 0x822a, 0x58d5, 0x568e,
    +    0x8c6a, 0x6beb, 0x90dd, 0x597d, 0x8017, 0x53f7, 0x6d69, 0x5475,
    +    0x559d, 0x8377, 0x83cf, 0x6838, 0x79be, 0x548c, 0x4f55, 0x5408,
    +    0x76d2, 0x8c89, 0x9602, 0x6cb3, 0x6db8, 0x8d6b, 0x8910, 0x9e64,
    +    0x8d3a, 0x563f, 0x9ed1, 0x75d5, 0x5f88, 0x72e0, 0x6068, 0x54fc,
    +    0x4ea8, 0x6a2a, 0x8861, 0x6052, 0x8f70, 0x54c4, 0x70d8, 0x8679,
    +    0x9e3f, 0x6d2a, 0x5b8f, 0x5f18, 0x7ea2, 0x5589, 0x4faf, 0x7334,
    +    0x543c, 0x539a, 0x5019, 0x540e, 0x547c, 0x4e4e, 0x5ffd, 0x745a,
    +    0x58f6, 0x846b, 0x80e1, 0x8774, 0x72d0, 0x7cca, 0x6e56, 0x003f,
    +    /* lead byte bb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7c43, 0x7c44, 0x7c45, 0x7c46, 0x7c47, 0x7c48, 0x7c49, 0x7c4a,
    +    0x7c4b, 0x7c4c, 0x7c4e, 0x7c4f, 0x7c50, 0x7c51, 0x7c52, 0x7c53,
    +    0x7c54, 0x7c55, 0x7c56, 0x7c57, 0x7c58, 0x7c59, 0x7c5a, 0x7c5b,
    +    0x7c5c, 0x7c5d, 0x7c5e, 0x7c5f, 0x7c60, 0x7c61, 0x7c62, 0x7c63,
    +    0x7c64, 0x7c65, 0x7c66, 0x7c67, 0x7c68, 0x7c69, 0x7c6a, 0x7c6b,
    +    0x7c6c, 0x7c6d, 0x7c6e, 0x7c6f, 0x7c70, 0x7c71, 0x7c72, 0x7c75,
    +    0x7c76, 0x7c77, 0x7c78, 0x7c79, 0x7c7a, 0x7c7e, 0x7c7f, 0x7c80,
    +    0x7c81, 0x7c82, 0x7c83, 0x7c84, 0x7c85, 0x7c86, 0x7c87, 0x003f,
    +    0x7c88, 0x7c8a, 0x7c8b, 0x7c8c, 0x7c8d, 0x7c8e, 0x7c8f, 0x7c90,
    +    0x7c93, 0x7c94, 0x7c96, 0x7c99, 0x7c9a, 0x7c9b, 0x7ca0, 0x7ca1,
    +    0x7ca3, 0x7ca6, 0x7ca7, 0x7ca8, 0x7ca9, 0x7cab, 0x7cac, 0x7cad,
    +    0x7caf, 0x7cb0, 0x7cb4, 0x7cb5, 0x7cb6, 0x7cb7, 0x7cb8, 0x7cba,
    +    0x7cbb, 0x5f27, 0x864e, 0x552c, 0x62a4, 0x4e92, 0x6caa, 0x6237,
    +    0x82b1, 0x54d7, 0x534e, 0x733e, 0x6ed1, 0x753b, 0x5212, 0x5316,
    +    0x8bdd, 0x69d0, 0x5f8a, 0x6000, 0x6dee, 0x574f, 0x6b22, 0x73af,
    +    0x6853, 0x8fd8, 0x7f13, 0x6362, 0x60a3, 0x5524, 0x75ea, 0x8c62,
    +    0x7115, 0x6da3, 0x5ba6, 0x5e7b, 0x8352, 0x614c, 0x9ec4, 0x78fa,
    +    0x8757, 0x7c27, 0x7687, 0x51f0, 0x60f6, 0x714c, 0x6643, 0x5e4c,
    +    0x604d, 0x8c0e, 0x7070, 0x6325, 0x8f89, 0x5fbd, 0x6062, 0x86d4,
    +    0x56de, 0x6bc1, 0x6094, 0x6167, 0x5349, 0x60e0, 0x6666, 0x8d3f,
    +    0x79fd, 0x4f1a, 0x70e9, 0x6c47, 0x8bb3, 0x8bf2, 0x7ed8, 0x8364,
    +    0x660f, 0x5a5a, 0x9b42, 0x6d51, 0x6df7, 0x8c41, 0x6d3b, 0x4f19,
    +    0x706b, 0x83b7, 0x6216, 0x60d1, 0x970d, 0x8d27, 0x7978, 0x51fb,
    +    0x573e, 0x57fa, 0x673a, 0x7578, 0x7a3d, 0x79ef, 0x7b95, 0x003f,
    +    /* lead byte bc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7cbf, 0x7cc0, 0x7cc2, 0x7cc3, 0x7cc4, 0x7cc6, 0x7cc9, 0x7ccb,
    +    0x7cce, 0x7ccf, 0x7cd0, 0x7cd1, 0x7cd2, 0x7cd3, 0x7cd4, 0x7cd8,
    +    0x7cda, 0x7cdb, 0x7cdd, 0x7cde, 0x7ce1, 0x7ce2, 0x7ce3, 0x7ce4,
    +    0x7ce5, 0x7ce6, 0x7ce7, 0x7ce9, 0x7cea, 0x7ceb, 0x7cec, 0x7ced,
    +    0x7cee, 0x7cf0, 0x7cf1, 0x7cf2, 0x7cf3, 0x7cf4, 0x7cf5, 0x7cf6,
    +    0x7cf7, 0x7cf9, 0x7cfa, 0x7cfc, 0x7cfd, 0x7cfe, 0x7cff, 0x7d00,
    +    0x7d01, 0x7d02, 0x7d03, 0x7d04, 0x7d05, 0x7d06, 0x7d07, 0x7d08,
    +    0x7d09, 0x7d0b, 0x7d0c, 0x7d0d, 0x7d0e, 0x7d0f, 0x7d10, 0x003f,
    +    0x7d11, 0x7d12, 0x7d13, 0x7d14, 0x7d15, 0x7d16, 0x7d17, 0x7d18,
    +    0x7d19, 0x7d1a, 0x7d1b, 0x7d1c, 0x7d1d, 0x7d1e, 0x7d1f, 0x7d21,
    +    0x7d23, 0x7d24, 0x7d25, 0x7d26, 0x7d28, 0x7d29, 0x7d2a, 0x7d2c,
    +    0x7d2d, 0x7d2e, 0x7d30, 0x7d31, 0x7d32, 0x7d33, 0x7d34, 0x7d35,
    +    0x7d36, 0x808c, 0x9965, 0x8ff9, 0x6fc0, 0x8ba5, 0x9e21, 0x59ec,
    +    0x7ee9, 0x7f09, 0x5409, 0x6781, 0x68d8, 0x8f91, 0x7c4d, 0x96c6,
    +    0x53ca, 0x6025, 0x75be, 0x6c72, 0x5373, 0x5ac9, 0x7ea7, 0x6324,
    +    0x51e0, 0x810a, 0x5df1, 0x84df, 0x6280, 0x5180, 0x5b63, 0x4f0e,
    +    0x796d, 0x5242, 0x60b8, 0x6d4e, 0x5bc4, 0x5bc2, 0x8ba1, 0x8bb0,
    +    0x65e2, 0x5fcc, 0x9645, 0x5993, 0x7ee7, 0x7eaa, 0x5609, 0x67b7,
    +    0x5939, 0x4f73, 0x5bb6, 0x52a0, 0x835a, 0x988a, 0x8d3e, 0x7532,
    +    0x94be, 0x5047, 0x7a3c, 0x4ef7, 0x67b6, 0x9a7e, 0x5ac1, 0x6b7c,
    +    0x76d1, 0x575a, 0x5c16, 0x7b3a, 0x95f4, 0x714e, 0x517c, 0x80a9,
    +    0x8270, 0x5978, 0x7f04, 0x8327, 0x68c0, 0x67ec, 0x78b1, 0x7877,
    +    0x62e3, 0x6361, 0x7b80, 0x4fed, 0x526a, 0x51cf, 0x8350, 0x69db,
    +    0x9274, 0x8df5, 0x8d31, 0x89c1, 0x952e, 0x7bad, 0x4ef6, 0x003f,
    +    /* lead byte bd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7d37, 0x7d38, 0x7d39, 0x7d3a, 0x7d3b, 0x7d3c, 0x7d3d, 0x7d3e,
    +    0x7d3f, 0x7d40, 0x7d41, 0x7d42, 0x7d43, 0x7d44, 0x7d45, 0x7d46,
    +    0x7d47, 0x7d48, 0x7d49, 0x7d4a, 0x7d4b, 0x7d4c, 0x7d4d, 0x7d4e,
    +    0x7d4f, 0x7d50, 0x7d51, 0x7d52, 0x7d53, 0x7d54, 0x7d55, 0x7d56,
    +    0x7d57, 0x7d58, 0x7d59, 0x7d5a, 0x7d5b, 0x7d5c, 0x7d5d, 0x7d5e,
    +    0x7d5f, 0x7d60, 0x7d61, 0x7d62, 0x7d63, 0x7d64, 0x7d65, 0x7d66,
    +    0x7d67, 0x7d68, 0x7d69, 0x7d6a, 0x7d6b, 0x7d6c, 0x7d6d, 0x7d6f,
    +    0x7d70, 0x7d71, 0x7d72, 0x7d73, 0x7d74, 0x7d75, 0x7d76, 0x003f,
    +    0x7d78, 0x7d79, 0x7d7a, 0x7d7b, 0x7d7c, 0x7d7d, 0x7d7e, 0x7d7f,
    +    0x7d80, 0x7d81, 0x7d82, 0x7d83, 0x7d84, 0x7d85, 0x7d86, 0x7d87,
    +    0x7d88, 0x7d89, 0x7d8a, 0x7d8b, 0x7d8c, 0x7d8d, 0x7d8e, 0x7d8f,
    +    0x7d90, 0x7d91, 0x7d92, 0x7d93, 0x7d94, 0x7d95, 0x7d96, 0x7d97,
    +    0x7d98, 0x5065, 0x8230, 0x5251, 0x996f, 0x6e10, 0x6e85, 0x6da7,
    +    0x5efa, 0x50f5, 0x59dc, 0x5c06, 0x6d46, 0x6c5f, 0x7586, 0x848b,
    +    0x6868, 0x5956, 0x8bb2, 0x5320, 0x9171, 0x964d, 0x8549, 0x6912,
    +    0x7901, 0x7126, 0x80f6, 0x4ea4, 0x90ca, 0x6d47, 0x9a84, 0x5a07,
    +    0x56bc, 0x6405, 0x94f0, 0x77eb, 0x4fa5, 0x811a, 0x72e1, 0x89d2,
    +    0x997a, 0x7f34, 0x7ede, 0x527f, 0x6559, 0x9175, 0x8f7f, 0x8f83,
    +    0x53eb, 0x7a96, 0x63ed, 0x63a5, 0x7686, 0x79f8, 0x8857, 0x9636,
    +    0x622a, 0x52ab, 0x8282, 0x6854, 0x6770, 0x6377, 0x776b, 0x7aed,
    +    0x6d01, 0x7ed3, 0x89e3, 0x59d0, 0x6212, 0x85c9, 0x82a5, 0x754c,
    +    0x501f, 0x4ecb, 0x75a5, 0x8beb, 0x5c4a, 0x5dfe, 0x7b4b, 0x65a4,
    +    0x91d1, 0x4eca, 0x6d25, 0x895f, 0x7d27, 0x9526, 0x4ec5, 0x8c28,
    +    0x8fdb, 0x9773, 0x664b, 0x7981, 0x8fd1, 0x70ec, 0x6d78, 0x003f,
    +    /* lead byte be */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7d99, 0x7d9a, 0x7d9b, 0x7d9c, 0x7d9d, 0x7d9e, 0x7d9f, 0x7da0,
    +    0x7da1, 0x7da2, 0x7da3, 0x7da4, 0x7da5, 0x7da7, 0x7da8, 0x7da9,
    +    0x7daa, 0x7dab, 0x7dac, 0x7dad, 0x7daf, 0x7db0, 0x7db1, 0x7db2,
    +    0x7db3, 0x7db4, 0x7db5, 0x7db6, 0x7db7, 0x7db8, 0x7db9, 0x7dba,
    +    0x7dbb, 0x7dbc, 0x7dbd, 0x7dbe, 0x7dbf, 0x7dc0, 0x7dc1, 0x7dc2,
    +    0x7dc3, 0x7dc4, 0x7dc5, 0x7dc6, 0x7dc7, 0x7dc8, 0x7dc9, 0x7dca,
    +    0x7dcb, 0x7dcc, 0x7dcd, 0x7dce, 0x7dcf, 0x7dd0, 0x7dd1, 0x7dd2,
    +    0x7dd3, 0x7dd4, 0x7dd5, 0x7dd6, 0x7dd7, 0x7dd8, 0x7dd9, 0x003f,
    +    0x7dda, 0x7ddb, 0x7ddc, 0x7ddd, 0x7dde, 0x7ddf, 0x7de0, 0x7de1,
    +    0x7de2, 0x7de3, 0x7de4, 0x7de5, 0x7de6, 0x7de7, 0x7de8, 0x7de9,
    +    0x7dea, 0x7deb, 0x7dec, 0x7ded, 0x7dee, 0x7def, 0x7df0, 0x7df1,
    +    0x7df2, 0x7df3, 0x7df4, 0x7df5, 0x7df6, 0x7df7, 0x7df8, 0x7df9,
    +    0x7dfa, 0x5c3d, 0x52b2, 0x8346, 0x5162, 0x830e, 0x775b, 0x6676,
    +    0x9cb8, 0x4eac, 0x60ca, 0x7cbe, 0x7cb3, 0x7ecf, 0x4e95, 0x8b66,
    +    0x666f, 0x9888, 0x9759, 0x5883, 0x656c, 0x955c, 0x5f84, 0x75c9,
    +    0x9756, 0x7adf, 0x7ade, 0x51c0, 0x70af, 0x7a98, 0x63ea, 0x7a76,
    +    0x7ea0, 0x7396, 0x97ed, 0x4e45, 0x7078, 0x4e5d, 0x9152, 0x53a9,
    +    0x6551, 0x65e7, 0x81fc, 0x8205, 0x548e, 0x5c31, 0x759a, 0x97a0,
    +    0x62d8, 0x72d9, 0x75bd, 0x5c45, 0x9a79, 0x83ca, 0x5c40, 0x5480,
    +    0x77e9, 0x4e3e, 0x6cae, 0x805a, 0x62d2, 0x636e, 0x5de8, 0x5177,
    +    0x8ddd, 0x8e1e, 0x952f, 0x4ff1, 0x53e5, 0x60e7, 0x70ac, 0x5267,
    +    0x6350, 0x9e43, 0x5a1f, 0x5026, 0x7737, 0x5377, 0x7ee2, 0x6485,
    +    0x652b, 0x6289, 0x6398, 0x5014, 0x7235, 0x89c9, 0x51b3, 0x8bc0,
    +    0x7edd, 0x5747, 0x83cc, 0x94a7, 0x519b, 0x541b, 0x5cfb, 0x003f,
    +    /* lead byte bf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7dfb, 0x7dfc, 0x7dfd, 0x7dfe, 0x7dff, 0x7e00, 0x7e01, 0x7e02,
    +    0x7e03, 0x7e04, 0x7e05, 0x7e06, 0x7e07, 0x7e08, 0x7e09, 0x7e0a,
    +    0x7e0b, 0x7e0c, 0x7e0d, 0x7e0e, 0x7e0f, 0x7e10, 0x7e11, 0x7e12,
    +    0x7e13, 0x7e14, 0x7e15, 0x7e16, 0x7e17, 0x7e18, 0x7e19, 0x7e1a,
    +    0x7e1b, 0x7e1c, 0x7e1d, 0x7e1e, 0x7e1f, 0x7e20, 0x7e21, 0x7e22,
    +    0x7e23, 0x7e24, 0x7e25, 0x7e26, 0x7e27, 0x7e28, 0x7e29, 0x7e2a,
    +    0x7e2b, 0x7e2c, 0x7e2d, 0x7e2e, 0x7e2f, 0x7e30, 0x7e31, 0x7e32,
    +    0x7e33, 0x7e34, 0x7e35, 0x7e36, 0x7e37, 0x7e38, 0x7e39, 0x003f,
    +    0x7e3a, 0x7e3c, 0x7e3d, 0x7e3e, 0x7e3f, 0x7e40, 0x7e42, 0x7e43,
    +    0x7e44, 0x7e45, 0x7e46, 0x7e48, 0x7e49, 0x7e4a, 0x7e4b, 0x7e4c,
    +    0x7e4d, 0x7e4e, 0x7e4f, 0x7e50, 0x7e51, 0x7e52, 0x7e53, 0x7e54,
    +    0x7e55, 0x7e56, 0x7e57, 0x7e58, 0x7e59, 0x7e5a, 0x7e5b, 0x7e5c,
    +    0x7e5d, 0x4fca, 0x7ae3, 0x6d5a, 0x90e1, 0x9a8f, 0x5580, 0x5496,
    +    0x5361, 0x54af, 0x5f00, 0x63e9, 0x6977, 0x51ef, 0x6168, 0x520a,
    +    0x582a, 0x52d8, 0x574e, 0x780d, 0x770b, 0x5eb7, 0x6177, 0x7ce0,
    +    0x625b, 0x6297, 0x4ea2, 0x7095, 0x8003, 0x62f7, 0x70e4, 0x9760,
    +    0x5777, 0x82db, 0x67ef, 0x68f5, 0x78d5, 0x9897, 0x79d1, 0x58f3,
    +    0x54b3, 0x53ef, 0x6e34, 0x514b, 0x523b, 0x5ba2, 0x8bfe, 0x80af,
    +    0x5543, 0x57a6, 0x6073, 0x5751, 0x542d, 0x7a7a, 0x6050, 0x5b54,
    +    0x63a7, 0x62a0, 0x53e3, 0x6263, 0x5bc7, 0x67af, 0x54ed, 0x7a9f,
    +    0x82e6, 0x9177, 0x5e93, 0x88e4, 0x5938, 0x57ae, 0x630e, 0x8de8,
    +    0x80ef, 0x5757, 0x7b77, 0x4fa9, 0x5feb, 0x5bbd, 0x6b3e, 0x5321,
    +    0x7b50, 0x72c2, 0x6846, 0x77ff, 0x7736, 0x65f7, 0x51b5, 0x4e8f,
    +    0x76d4, 0x5cbf, 0x7aa5, 0x8475, 0x594e, 0x9b41, 0x5080, 0x003f,
    +    /* lead byte c0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7e5e, 0x7e5f, 0x7e60, 0x7e61, 0x7e62, 0x7e63, 0x7e64, 0x7e65,
    +    0x7e66, 0x7e67, 0x7e68, 0x7e69, 0x7e6a, 0x7e6b, 0x7e6c, 0x7e6d,
    +    0x7e6e, 0x7e6f, 0x7e70, 0x7e71, 0x7e72, 0x7e73, 0x7e74, 0x7e75,
    +    0x7e76, 0x7e77, 0x7e78, 0x7e79, 0x7e7a, 0x7e7b, 0x7e7c, 0x7e7d,
    +    0x7e7e, 0x7e7f, 0x7e80, 0x7e81, 0x7e83, 0x7e84, 0x7e85, 0x7e86,
    +    0x7e87, 0x7e88, 0x7e89, 0x7e8a, 0x7e8b, 0x7e8c, 0x7e8d, 0x7e8e,
    +    0x7e8f, 0x7e90, 0x7e91, 0x7e92, 0x7e93, 0x7e94, 0x7e95, 0x7e96,
    +    0x7e97, 0x7e98, 0x7e99, 0x7e9a, 0x7e9c, 0x7e9d, 0x7e9e, 0x003f,
    +    0x7eae, 0x7eb4, 0x7ebb, 0x7ebc, 0x7ed6, 0x7ee4, 0x7eec, 0x7ef9,
    +    0x7f0a, 0x7f10, 0x7f1e, 0x7f37, 0x7f39, 0x7f3b, 0x7f3c, 0x7f3d,
    +    0x7f3e, 0x7f3f, 0x7f40, 0x7f41, 0x7f43, 0x7f46, 0x7f47, 0x7f48,
    +    0x7f49, 0x7f4a, 0x7f4b, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f4f, 0x7f52,
    +    0x7f53, 0x9988, 0x6127, 0x6e83, 0x5764, 0x6606, 0x6346, 0x56f0,
    +    0x62ec, 0x6269, 0x5ed3, 0x9614, 0x5783, 0x62c9, 0x5587, 0x8721,
    +    0x814a, 0x8fa3, 0x5566, 0x83b1, 0x6765, 0x8d56, 0x84dd, 0x5a6a,
    +    0x680f, 0x62e6, 0x7bee, 0x9611, 0x5170, 0x6f9c, 0x8c30, 0x63fd,
    +    0x89c8, 0x61d2, 0x7f06, 0x70c2, 0x6ee5, 0x7405, 0x6994, 0x72fc,
    +    0x5eca, 0x90ce, 0x6717, 0x6d6a, 0x635e, 0x52b3, 0x7262, 0x8001,
    +    0x4f6c, 0x59e5, 0x916a, 0x70d9, 0x6d9d, 0x52d2, 0x4e50, 0x96f7,
    +    0x956d, 0x857e, 0x78ca, 0x7d2f, 0x5121, 0x5792, 0x64c2, 0x808b,
    +    0x7c7b, 0x6cea, 0x68f1, 0x695e, 0x51b7, 0x5398, 0x68a8, 0x7281,
    +    0x9ece, 0x7bf1, 0x72f8, 0x79bb, 0x6f13, 0x7406, 0x674e, 0x91cc,
    +    0x9ca4, 0x793c, 0x8389, 0x8354, 0x540f, 0x6817, 0x4e3d, 0x5389,
    +    0x52b1, 0x783e, 0x5386, 0x5229, 0x5088, 0x4f8b, 0x4fd0, 0x003f,
    +    /* lead byte c1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7f56, 0x7f59, 0x7f5b, 0x7f5c, 0x7f5d, 0x7f5e, 0x7f60, 0x7f63,
    +    0x7f64, 0x7f65, 0x7f66, 0x7f67, 0x7f6b, 0x7f6c, 0x7f6d, 0x7f6f,
    +    0x7f70, 0x7f73, 0x7f75, 0x7f76, 0x7f77, 0x7f78, 0x7f7a, 0x7f7b,
    +    0x7f7c, 0x7f7d, 0x7f7f, 0x7f80, 0x7f82, 0x7f83, 0x7f84, 0x7f85,
    +    0x7f86, 0x7f87, 0x7f88, 0x7f89, 0x7f8b, 0x7f8d, 0x7f8f, 0x7f90,
    +    0x7f91, 0x7f92, 0x7f93, 0x7f95, 0x7f96, 0x7f97, 0x7f98, 0x7f99,
    +    0x7f9b, 0x7f9c, 0x7fa0, 0x7fa2, 0x7fa3, 0x7fa5, 0x7fa6, 0x7fa8,
    +    0x7fa9, 0x7faa, 0x7fab, 0x7fac, 0x7fad, 0x7fae, 0x7fb1, 0x003f,
    +    0x7fb3, 0x7fb4, 0x7fb5, 0x7fb6, 0x7fb7, 0x7fba, 0x7fbb, 0x7fbe,
    +    0x7fc0, 0x7fc2, 0x7fc3, 0x7fc4, 0x7fc6, 0x7fc7, 0x7fc8, 0x7fc9,
    +    0x7fcb, 0x7fcd, 0x7fcf, 0x7fd0, 0x7fd1, 0x7fd2, 0x7fd3, 0x7fd6,
    +    0x7fd7, 0x7fd9, 0x7fda, 0x7fdb, 0x7fdc, 0x7fdd, 0x7fde, 0x7fe2,
    +    0x7fe3, 0x75e2, 0x7acb, 0x7c92, 0x6ca5, 0x96b6, 0x529b, 0x7483,
    +    0x54e9, 0x4fe9, 0x8054, 0x83b2, 0x8fde, 0x9570, 0x5ec9, 0x601c,
    +    0x6d9f, 0x5e18, 0x655b, 0x8138, 0x94fe, 0x604b, 0x70bc, 0x7ec3,
    +    0x7cae, 0x51c9, 0x6881, 0x7cb1, 0x826f, 0x4e24, 0x8f86, 0x91cf,
    +    0x667e, 0x4eae, 0x8c05, 0x64a9, 0x804a, 0x50da, 0x7597, 0x71ce,
    +    0x5be5, 0x8fbd, 0x6f66, 0x4e86, 0x6482, 0x9563, 0x5ed6, 0x6599,
    +    0x5217, 0x88c2, 0x70c8, 0x52a3, 0x730e, 0x7433, 0x6797, 0x78f7,
    +    0x9716, 0x4e34, 0x90bb, 0x9cde, 0x6dcb, 0x51db, 0x8d41, 0x541d,
    +    0x62ce, 0x73b2, 0x83f1, 0x96f6, 0x9f84, 0x94c3, 0x4f36, 0x7f9a,
    +    0x51cc, 0x7075, 0x9675, 0x5cad, 0x9886, 0x53e6, 0x4ee4, 0x6e9c,
    +    0x7409, 0x69b4, 0x786b, 0x998f, 0x7559, 0x5218, 0x7624, 0x6d41,
    +    0x67f3, 0x516d, 0x9f99, 0x804b, 0x5499, 0x7b3c, 0x7abf, 0x003f,
    +    /* lead byte c2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7fe4, 0x7fe7, 0x7fe8, 0x7fea, 0x7feb, 0x7fec, 0x7fed, 0x7fef,
    +    0x7ff2, 0x7ff4, 0x7ff5, 0x7ff6, 0x7ff7, 0x7ff8, 0x7ff9, 0x7ffa,
    +    0x7ffd, 0x7ffe, 0x7fff, 0x8002, 0x8007, 0x8008, 0x8009, 0x800a,
    +    0x800e, 0x800f, 0x8011, 0x8013, 0x801a, 0x801b, 0x801d, 0x801e,
    +    0x801f, 0x8021, 0x8023, 0x8024, 0x802b, 0x802c, 0x802d, 0x802e,
    +    0x802f, 0x8030, 0x8032, 0x8034, 0x8039, 0x803a, 0x803c, 0x803e,
    +    0x8040, 0x8041, 0x8044, 0x8045, 0x8047, 0x8048, 0x8049, 0x804e,
    +    0x804f, 0x8050, 0x8051, 0x8053, 0x8055, 0x8056, 0x8057, 0x003f,
    +    0x8059, 0x805b, 0x805c, 0x805d, 0x805e, 0x805f, 0x8060, 0x8061,
    +    0x8062, 0x8063, 0x8064, 0x8065, 0x8066, 0x8067, 0x8068, 0x806b,
    +    0x806c, 0x806d, 0x806e, 0x806f, 0x8070, 0x8072, 0x8073, 0x8074,
    +    0x8075, 0x8076, 0x8077, 0x8078, 0x8079, 0x807a, 0x807b, 0x807c,
    +    0x807d, 0x9686, 0x5784, 0x62e2, 0x9647, 0x697c, 0x5a04, 0x6402,
    +    0x7bd3, 0x6f0f, 0x964b, 0x82a6, 0x5362, 0x9885, 0x5e90, 0x7089,
    +    0x63b3, 0x5364, 0x864f, 0x9c81, 0x9e93, 0x788c, 0x9732, 0x8def,
    +    0x8d42, 0x9e7f, 0x6f5e, 0x7984, 0x5f55, 0x9646, 0x622e, 0x9a74,
    +    0x5415, 0x94dd, 0x4fa3, 0x65c5, 0x5c65, 0x5c61, 0x7f15, 0x8651,
    +    0x6c2f, 0x5f8b, 0x7387, 0x6ee4, 0x7eff, 0x5ce6, 0x631b, 0x5b6a,
    +    0x6ee6, 0x5375, 0x4e71, 0x63a0, 0x7565, 0x62a1, 0x8f6e, 0x4f26,
    +    0x4ed1, 0x6ca6, 0x7eb6, 0x8bba, 0x841d, 0x87ba, 0x7f57, 0x903b,
    +    0x9523, 0x7ba9, 0x9aa1, 0x88f8, 0x843d, 0x6d1b, 0x9a86, 0x7edc,
    +    0x5988, 0x9ebb, 0x739b, 0x7801, 0x8682, 0x9a6c, 0x9a82, 0x561b,
    +    0x5417, 0x57cb, 0x4e70, 0x9ea6, 0x5356, 0x8fc8, 0x8109, 0x7792,
    +    0x9992, 0x86ee, 0x6ee1, 0x8513, 0x66fc, 0x6162, 0x6f2b, 0x003f,
    +    /* lead byte c3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x807e, 0x8081, 0x8082, 0x8085, 0x8088, 0x808a, 0x808d, 0x808e,
    +    0x808f, 0x8090, 0x8091, 0x8092, 0x8094, 0x8095, 0x8097, 0x8099,
    +    0x809e, 0x80a3, 0x80a6, 0x80a7, 0x80a8, 0x80ac, 0x80b0, 0x80b3,
    +    0x80b5, 0x80b6, 0x80b8, 0x80b9, 0x80bb, 0x80c5, 0x80c7, 0x80c8,
    +    0x80c9, 0x80ca, 0x80cb, 0x80cf, 0x80d0, 0x80d1, 0x80d2, 0x80d3,
    +    0x80d4, 0x80d5, 0x80d8, 0x80df, 0x80e0, 0x80e2, 0x80e3, 0x80e6,
    +    0x80ee, 0x80f5, 0x80f7, 0x80f9, 0x80fb, 0x80fe, 0x80ff, 0x8100,
    +    0x8101, 0x8103, 0x8104, 0x8105, 0x8107, 0x8108, 0x810b, 0x003f,
    +    0x810c, 0x8115, 0x8117, 0x8119, 0x811b, 0x811c, 0x811d, 0x811f,
    +    0x8120, 0x8121, 0x8122, 0x8123, 0x8124, 0x8125, 0x8126, 0x8127,
    +    0x8128, 0x8129, 0x812a, 0x812b, 0x812d, 0x812e, 0x8130, 0x8133,
    +    0x8134, 0x8135, 0x8137, 0x8139, 0x813a, 0x813b, 0x813c, 0x813d,
    +    0x813f, 0x8c29, 0x8292, 0x832b, 0x76f2, 0x6c13, 0x5fd9, 0x83bd,
    +    0x732b, 0x8305, 0x951a, 0x6bdb, 0x77db, 0x94c6, 0x536f, 0x8302,
    +    0x5192, 0x5e3d, 0x8c8c, 0x8d38, 0x4e48, 0x73ab, 0x679a, 0x6885,
    +    0x9176, 0x9709, 0x7164, 0x6ca1, 0x7709, 0x5a92, 0x9541, 0x6bcf,
    +    0x7f8e, 0x6627, 0x5bd0, 0x59b9, 0x5a9a, 0x95e8, 0x95f7, 0x4eec,
    +    0x840c, 0x8499, 0x6aac, 0x76df, 0x9530, 0x731b, 0x68a6, 0x5b5f,
    +    0x772f, 0x919a, 0x9761, 0x7cdc, 0x8ff7, 0x8c1c, 0x5f25, 0x7c73,
    +    0x79d8, 0x89c5, 0x6ccc, 0x871c, 0x5bc6, 0x5e42, 0x68c9, 0x7720,
    +    0x7ef5, 0x5195, 0x514d, 0x52c9, 0x5a29, 0x7f05, 0x9762, 0x82d7,
    +    0x63cf, 0x7784, 0x85d0, 0x79d2, 0x6e3a, 0x5e99, 0x5999, 0x8511,
    +    0x706d, 0x6c11, 0x62bf, 0x76bf, 0x654f, 0x60af, 0x95fd, 0x660e,
    +    0x879f, 0x9e23, 0x94ed, 0x540d, 0x547d, 0x8c2c, 0x6478, 0x003f,
    +    /* lead byte c4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8140, 0x8141, 0x8142, 0x8143, 0x8144, 0x8145, 0x8147, 0x8149,
    +    0x814d, 0x814e, 0x814f, 0x8152, 0x8156, 0x8157, 0x8158, 0x815b,
    +    0x815c, 0x815d, 0x815e, 0x815f, 0x8161, 0x8162, 0x8163, 0x8164,
    +    0x8166, 0x8168, 0x816a, 0x816b, 0x816c, 0x816f, 0x8172, 0x8173,
    +    0x8175, 0x8176, 0x8177, 0x8178, 0x8181, 0x8183, 0x8184, 0x8185,
    +    0x8186, 0x8187, 0x8189, 0x818b, 0x818c, 0x818d, 0x818e, 0x8190,
    +    0x8192, 0x8193, 0x8194, 0x8195, 0x8196, 0x8197, 0x8199, 0x819a,
    +    0x819e, 0x819f, 0x81a0, 0x81a1, 0x81a2, 0x81a4, 0x81a5, 0x003f,
    +    0x81a7, 0x81a9, 0x81ab, 0x81ac, 0x81ad, 0x81ae, 0x81af, 0x81b0,
    +    0x81b1, 0x81b2, 0x81b4, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9,
    +    0x81bc, 0x81bd, 0x81be, 0x81bf, 0x81c4, 0x81c5, 0x81c7, 0x81c8,
    +    0x81c9, 0x81cb, 0x81cd, 0x81ce, 0x81cf, 0x81d0, 0x81d1, 0x81d2,
    +    0x81d3, 0x6479, 0x8611, 0x6a21, 0x819c, 0x78e8, 0x6469, 0x9b54,
    +    0x62b9, 0x672b, 0x83ab, 0x58a8, 0x9ed8, 0x6cab, 0x6f20, 0x5bde,
    +    0x964c, 0x8c0b, 0x725f, 0x67d0, 0x62c7, 0x7261, 0x4ea9, 0x59c6,
    +    0x6bcd, 0x5893, 0x66ae, 0x5e55, 0x52df, 0x6155, 0x6728, 0x76ee,
    +    0x7766, 0x7267, 0x7a46, 0x62ff, 0x54ea, 0x5450, 0x94a0, 0x90a3,
    +    0x5a1c, 0x7eb3, 0x6c16, 0x4e43, 0x5976, 0x8010, 0x5948, 0x5357,
    +    0x7537, 0x96be, 0x56ca, 0x6320, 0x8111, 0x607c, 0x95f9, 0x6dd6,
    +    0x5462, 0x9981, 0x5185, 0x5ae9, 0x80fd, 0x59ae, 0x9713, 0x502a,
    +    0x6ce5, 0x5c3c, 0x62df, 0x4f60, 0x533f, 0x817b, 0x9006, 0x6eba,
    +    0x852b, 0x62c8, 0x5e74, 0x78be, 0x64b5, 0x637b, 0x5ff5, 0x5a18,
    +    0x917f, 0x9e1f, 0x5c3f, 0x634f, 0x8042, 0x5b7d, 0x556e, 0x954a,
    +    0x954d, 0x6d85, 0x60a8, 0x67e0, 0x72de, 0x51dd, 0x5b81, 0x003f,
    +    /* lead byte c5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x81d4, 0x81d5, 0x81d6, 0x81d7, 0x81d8, 0x81d9, 0x81da, 0x81db,
    +    0x81dc, 0x81dd, 0x81de, 0x81df, 0x81e0, 0x81e1, 0x81e2, 0x81e4,
    +    0x81e5, 0x81e6, 0x81e8, 0x81e9, 0x81eb, 0x81ee, 0x81ef, 0x81f0,
    +    0x81f1, 0x81f2, 0x81f5, 0x81f6, 0x81f7, 0x81f8, 0x81f9, 0x81fa,
    +    0x81fd, 0x81ff, 0x8203, 0x8207, 0x8208, 0x8209, 0x820a, 0x820b,
    +    0x820e, 0x820f, 0x8211, 0x8213, 0x8215, 0x8216, 0x8217, 0x8218,
    +    0x8219, 0x821a, 0x821d, 0x8220, 0x8224, 0x8225, 0x8226, 0x8227,
    +    0x8229, 0x822e, 0x8232, 0x823a, 0x823c, 0x823d, 0x823f, 0x003f,
    +    0x8240, 0x8241, 0x8242, 0x8243, 0x8245, 0x8246, 0x8248, 0x824a,
    +    0x824c, 0x824d, 0x824e, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254,
    +    0x8255, 0x8256, 0x8257, 0x8259, 0x825b, 0x825c, 0x825d, 0x825e,
    +    0x8260, 0x8261, 0x8262, 0x8263, 0x8264, 0x8265, 0x8266, 0x8267,
    +    0x8269, 0x62e7, 0x6cde, 0x725b, 0x626d, 0x94ae, 0x7ebd, 0x8113,
    +    0x6d53, 0x519c, 0x5f04, 0x5974, 0x52aa, 0x6012, 0x5973, 0x6696,
    +    0x8650, 0x759f, 0x632a, 0x61e6, 0x7cef, 0x8bfa, 0x54e6, 0x6b27,
    +    0x9e25, 0x6bb4, 0x85d5, 0x5455, 0x5076, 0x6ca4, 0x556a, 0x8db4,
    +    0x722c, 0x5e15, 0x6015, 0x7436, 0x62cd, 0x6392, 0x724c, 0x5f98,
    +    0x6e43, 0x6d3e, 0x6500, 0x6f58, 0x76d8, 0x78d0, 0x76fc, 0x7554,
    +    0x5224, 0x53db, 0x4e53, 0x5e9e, 0x65c1, 0x802a, 0x80d6, 0x629b,
    +    0x5486, 0x5228, 0x70ae, 0x888d, 0x8dd1, 0x6ce1, 0x5478, 0x80da,
    +    0x57f9, 0x88f4, 0x8d54, 0x966a, 0x914d, 0x4f69, 0x6c9b, 0x55b7,
    +    0x76c6, 0x7830, 0x62a8, 0x70f9, 0x6f8e, 0x5f6d, 0x84ec, 0x68da,
    +    0x787c, 0x7bf7, 0x81a8, 0x670b, 0x9e4f, 0x6367, 0x78b0, 0x576f,
    +    0x7812, 0x9739, 0x6279, 0x62ab, 0x5288, 0x7435, 0x6bd7, 0x003f,
    +    /* lead byte c6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x826a, 0x826b, 0x826c, 0x826d, 0x8271, 0x8275, 0x8276, 0x8277,
    +    0x8278, 0x827b, 0x827c, 0x8280, 0x8281, 0x8283, 0x8285, 0x8286,
    +    0x8287, 0x8289, 0x828c, 0x8290, 0x8293, 0x8294, 0x8295, 0x8296,
    +    0x829a, 0x829b, 0x829e, 0x82a0, 0x82a2, 0x82a3, 0x82a7, 0x82b2,
    +    0x82b5, 0x82b6, 0x82ba, 0x82bb, 0x82bc, 0x82bf, 0x82c0, 0x82c2,
    +    0x82c3, 0x82c5, 0x82c6, 0x82c9, 0x82d0, 0x82d6, 0x82d9, 0x82da,
    +    0x82dd, 0x82e2, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82ec, 0x82ed,
    +    0x82ee, 0x82f0, 0x82f2, 0x82f3, 0x82f5, 0x82f6, 0x82f8, 0x003f,
    +    0x82fa, 0x82fc, 0x82fd, 0x82fe, 0x82ff, 0x8300, 0x830a, 0x830b,
    +    0x830d, 0x8310, 0x8312, 0x8313, 0x8316, 0x8318, 0x8319, 0x831d,
    +    0x831e, 0x831f, 0x8320, 0x8321, 0x8322, 0x8323, 0x8324, 0x8325,
    +    0x8326, 0x8329, 0x832a, 0x832e, 0x8330, 0x8332, 0x8337, 0x833b,
    +    0x833d, 0x5564, 0x813e, 0x75b2, 0x76ae, 0x5339, 0x75de, 0x50fb,
    +    0x5c41, 0x8b6c, 0x7bc7, 0x504f, 0x7247, 0x9a97, 0x98d8, 0x6f02,
    +    0x74e2, 0x7968, 0x6487, 0x77a5, 0x62fc, 0x9891, 0x8d2b, 0x54c1,
    +    0x8058, 0x4e52, 0x576a, 0x82f9, 0x840d, 0x5e73, 0x51ed, 0x74f6,
    +    0x8bc4, 0x5c4f, 0x5761, 0x6cfc, 0x9887, 0x5a46, 0x7834, 0x9b44,
    +    0x8feb, 0x7c95, 0x5256, 0x6251, 0x94fa, 0x4ec6, 0x8386, 0x8461,
    +    0x83e9, 0x84b2, 0x57d4, 0x6734, 0x5703, 0x666e, 0x6d66, 0x8c31,
    +    0x66dd, 0x7011, 0x671f, 0x6b3a, 0x6816, 0x621a, 0x59bb, 0x4e03,
    +    0x51c4, 0x6f06, 0x67d2, 0x6c8f, 0x5176, 0x68cb, 0x5947, 0x6b67,
    +    0x7566, 0x5d0e, 0x8110, 0x9f50, 0x65d7, 0x7948, 0x7941, 0x9a91,
    +    0x8d77, 0x5c82, 0x4e5e, 0x4f01, 0x542f, 0x5951, 0x780c, 0x5668,
    +    0x6c14, 0x8fc4, 0x5f03, 0x6c7d, 0x6ce3, 0x8bab, 0x6390, 0x003f,
    +    /* lead byte c7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x833e, 0x833f, 0x8341, 0x8342, 0x8344, 0x8345, 0x8348, 0x834a,
    +    0x834b, 0x834c, 0x834d, 0x834e, 0x8353, 0x8355, 0x8356, 0x8357,
    +    0x8358, 0x8359, 0x835d, 0x8362, 0x8370, 0x8371, 0x8372, 0x8373,
    +    0x8374, 0x8375, 0x8376, 0x8379, 0x837a, 0x837e, 0x837f, 0x8380,
    +    0x8381, 0x8382, 0x8383, 0x8384, 0x8387, 0x8388, 0x838a, 0x838b,
    +    0x838c, 0x838d, 0x838f, 0x8390, 0x8391, 0x8394, 0x8395, 0x8396,
    +    0x8397, 0x8399, 0x839a, 0x839d, 0x839f, 0x83a1, 0x83a2, 0x83a3,
    +    0x83a4, 0x83a5, 0x83a6, 0x83a7, 0x83ac, 0x83ad, 0x83ae, 0x003f,
    +    0x83af, 0x83b5, 0x83bb, 0x83be, 0x83bf, 0x83c2, 0x83c3, 0x83c4,
    +    0x83c6, 0x83c8, 0x83c9, 0x83cb, 0x83cd, 0x83ce, 0x83d0, 0x83d1,
    +    0x83d2, 0x83d3, 0x83d5, 0x83d7, 0x83d9, 0x83da, 0x83db, 0x83de,
    +    0x83e2, 0x83e3, 0x83e4, 0x83e6, 0x83e7, 0x83e8, 0x83eb, 0x83ec,
    +    0x83ed, 0x6070, 0x6d3d, 0x7275, 0x6266, 0x948e, 0x94c5, 0x5343,
    +    0x8fc1, 0x7b7e, 0x4edf, 0x8c26, 0x4e7e, 0x9ed4, 0x94b1, 0x94b3,
    +    0x524d, 0x6f5c, 0x9063, 0x6d45, 0x8c34, 0x5811, 0x5d4c, 0x6b20,
    +    0x6b49, 0x67aa, 0x545b, 0x8154, 0x7f8c, 0x5899, 0x8537, 0x5f3a,
    +    0x62a2, 0x6a47, 0x9539, 0x6572, 0x6084, 0x6865, 0x77a7, 0x4e54,
    +    0x4fa8, 0x5de7, 0x9798, 0x64ac, 0x7fd8, 0x5ced, 0x4fcf, 0x7a8d,
    +    0x5207, 0x8304, 0x4e14, 0x602f, 0x7a83, 0x94a6, 0x4fb5, 0x4eb2,
    +    0x79e6, 0x7434, 0x52e4, 0x82b9, 0x64d2, 0x79bd, 0x5bdd, 0x6c81,
    +    0x9752, 0x8f7b, 0x6c22, 0x503e, 0x537f, 0x6e05, 0x64ce, 0x6674,
    +    0x6c30, 0x60c5, 0x9877, 0x8bf7, 0x5e86, 0x743c, 0x7a77, 0x79cb,
    +    0x4e18, 0x90b1, 0x7403, 0x6c42, 0x56da, 0x914b, 0x6cc5, 0x8d8b,
    +    0x533a, 0x86c6, 0x66f2, 0x8eaf, 0x5c48, 0x9a71, 0x6e20, 0x003f,
    +    /* lead byte c8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x83ee, 0x83ef, 0x83f3, 0x83f4, 0x83f5, 0x83f6, 0x83f7, 0x83fa,
    +    0x83fb, 0x83fc, 0x83fe, 0x83ff, 0x8400, 0x8402, 0x8405, 0x8407,
    +    0x8408, 0x8409, 0x840a, 0x8410, 0x8412, 0x8413, 0x8414, 0x8415,
    +    0x8416, 0x8417, 0x8419, 0x841a, 0x841b, 0x841e, 0x841f, 0x8420,
    +    0x8421, 0x8422, 0x8423, 0x8429, 0x842a, 0x842b, 0x842c, 0x842d,
    +    0x842e, 0x842f, 0x8430, 0x8432, 0x8433, 0x8434, 0x8435, 0x8436,
    +    0x8437, 0x8439, 0x843a, 0x843b, 0x843e, 0x843f, 0x8440, 0x8441,
    +    0x8442, 0x8443, 0x8444, 0x8445, 0x8447, 0x8448, 0x8449, 0x003f,
    +    0x844a, 0x844b, 0x844c, 0x844d, 0x844e, 0x844f, 0x8450, 0x8452,
    +    0x8453, 0x8454, 0x8455, 0x8456, 0x8458, 0x845d, 0x845e, 0x845f,
    +    0x8460, 0x8462, 0x8464, 0x8465, 0x8466, 0x8467, 0x8468, 0x846a,
    +    0x846e, 0x846f, 0x8470, 0x8472, 0x8474, 0x8477, 0x8479, 0x847b,
    +    0x847c, 0x53d6, 0x5a36, 0x9f8b, 0x8da3, 0x53bb, 0x5708, 0x98a7,
    +    0x6743, 0x919b, 0x6cc9, 0x5168, 0x75ca, 0x62f3, 0x72ac, 0x5238,
    +    0x529d, 0x7f3a, 0x7094, 0x7638, 0x5374, 0x9e4a, 0x69b7, 0x786e,
    +    0x96c0, 0x88d9, 0x7fa4, 0x7136, 0x71c3, 0x5189, 0x67d3, 0x74e4,
    +    0x58e4, 0x6518, 0x56b7, 0x8ba9, 0x9976, 0x6270, 0x7ed5, 0x60f9,
    +    0x70ed, 0x58ec, 0x4ec1, 0x4eba, 0x5fcd, 0x97e7, 0x4efb, 0x8ba4,
    +    0x5203, 0x598a, 0x7eab, 0x6254, 0x4ecd, 0x65e5, 0x620e, 0x8338,
    +    0x84c9, 0x8363, 0x878d, 0x7194, 0x6eb6, 0x5bb9, 0x7ed2, 0x5197,
    +    0x63c9, 0x67d4, 0x8089, 0x8339, 0x8815, 0x5112, 0x5b7a, 0x5982,
    +    0x8fb1, 0x4e73, 0x6c5d, 0x5165, 0x8925, 0x8f6f, 0x962e, 0x854a,
    +    0x745e, 0x9510, 0x95f0, 0x6da6, 0x82e5, 0x5f31, 0x6492, 0x6d12,
    +    0x8428, 0x816e, 0x9cc3, 0x585e, 0x8d5b, 0x4e09, 0x53c1, 0x003f,
    +    /* lead byte c9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x847d, 0x847e, 0x847f, 0x8480, 0x8481, 0x8483, 0x8484, 0x8485,
    +    0x8486, 0x848a, 0x848d, 0x848f, 0x8490, 0x8491, 0x8492, 0x8493,
    +    0x8494, 0x8495, 0x8496, 0x8498, 0x849a, 0x849b, 0x849d, 0x849e,
    +    0x849f, 0x84a0, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6, 0x84a7,
    +    0x84a8, 0x84a9, 0x84aa, 0x84ab, 0x84ac, 0x84ad, 0x84ae, 0x84b0,
    +    0x84b1, 0x84b3, 0x84b5, 0x84b6, 0x84b7, 0x84bb, 0x84bc, 0x84be,
    +    0x84c0, 0x84c2, 0x84c3, 0x84c5, 0x84c6, 0x84c7, 0x84c8, 0x84cb,
    +    0x84cc, 0x84ce, 0x84cf, 0x84d2, 0x84d4, 0x84d5, 0x84d7, 0x003f,
    +    0x84d8, 0x84d9, 0x84da, 0x84db, 0x84dc, 0x84de, 0x84e1, 0x84e2,
    +    0x84e4, 0x84e7, 0x84e8, 0x84e9, 0x84ea, 0x84eb, 0x84ed, 0x84ee,
    +    0x84ef, 0x84f1, 0x84f2, 0x84f3, 0x84f4, 0x84f5, 0x84f6, 0x84f7,
    +    0x84f8, 0x84f9, 0x84fa, 0x84fb, 0x84fd, 0x84fe, 0x8500, 0x8501,
    +    0x8502, 0x4f1e, 0x6563, 0x6851, 0x55d3, 0x4e27, 0x6414, 0x9a9a,
    +    0x626b, 0x5ac2, 0x745f, 0x8272, 0x6da9, 0x68ee, 0x50e7, 0x838e,
    +    0x7802, 0x6740, 0x5239, 0x6c99, 0x7eb1, 0x50bb, 0x5565, 0x715e,
    +    0x7b5b, 0x6652, 0x73ca, 0x82eb, 0x6749, 0x5c71, 0x5220, 0x717d,
    +    0x886b, 0x95ea, 0x9655, 0x64c5, 0x8d61, 0x81b3, 0x5584, 0x6c55,
    +    0x6247, 0x7f2e, 0x5892, 0x4f24, 0x5546, 0x8d4f, 0x664c, 0x4e0a,
    +    0x5c1a, 0x88f3, 0x68a2, 0x634e, 0x7a0d, 0x70e7, 0x828d, 0x52fa,
    +    0x97f6, 0x5c11, 0x54e8, 0x90b5, 0x7ecd, 0x5962, 0x8d4a, 0x86c7,
    +    0x820c, 0x820d, 0x8d66, 0x6444, 0x5c04, 0x6151, 0x6d89, 0x793e,
    +    0x8bbe, 0x7837, 0x7533, 0x547b, 0x4f38, 0x8eab, 0x6df1, 0x5a20,
    +    0x7ec5, 0x795e, 0x6c88, 0x5ba1, 0x5a76, 0x751a, 0x80be, 0x614e,
    +    0x6e17, 0x58f0, 0x751f, 0x7525, 0x7272, 0x5347, 0x7ef3, 0x003f,
    +    /* lead byte ca */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8503, 0x8504, 0x8505, 0x8506, 0x8507, 0x8508, 0x8509, 0x850a,
    +    0x850b, 0x850d, 0x850e, 0x850f, 0x8510, 0x8512, 0x8514, 0x8515,
    +    0x8516, 0x8518, 0x8519, 0x851b, 0x851c, 0x851d, 0x851e, 0x8520,
    +    0x8522, 0x8523, 0x8524, 0x8525, 0x8526, 0x8527, 0x8528, 0x8529,
    +    0x852a, 0x852d, 0x852e, 0x852f, 0x8530, 0x8531, 0x8532, 0x8533,
    +    0x8534, 0x8535, 0x8536, 0x853e, 0x853f, 0x8540, 0x8541, 0x8542,
    +    0x8544, 0x8545, 0x8546, 0x8547, 0x854b, 0x854c, 0x854d, 0x854e,
    +    0x854f, 0x8550, 0x8551, 0x8552, 0x8553, 0x8554, 0x8555, 0x003f,
    +    0x8557, 0x8558, 0x855a, 0x855b, 0x855c, 0x855d, 0x855f, 0x8560,
    +    0x8561, 0x8562, 0x8563, 0x8565, 0x8566, 0x8567, 0x8569, 0x856a,
    +    0x856b, 0x856c, 0x856d, 0x856e, 0x856f, 0x8570, 0x8571, 0x8573,
    +    0x8575, 0x8576, 0x8577, 0x8578, 0x857c, 0x857d, 0x857f, 0x8580,
    +    0x8581, 0x7701, 0x76db, 0x5269, 0x80dc, 0x5723, 0x5e08, 0x5931,
    +    0x72ee, 0x65bd, 0x6e7f, 0x8bd7, 0x5c38, 0x8671, 0x5341, 0x77f3,
    +    0x62fe, 0x65f6, 0x4ec0, 0x98df, 0x8680, 0x5b9e, 0x8bc6, 0x53f2,
    +    0x77e2, 0x4f7f, 0x5c4e, 0x9a76, 0x59cb, 0x5f0f, 0x793a, 0x58eb,
    +    0x4e16, 0x67ff, 0x4e8b, 0x62ed, 0x8a93, 0x901d, 0x52bf, 0x662f,
    +    0x55dc, 0x566c, 0x9002, 0x4ed5, 0x4f8d, 0x91ca, 0x9970, 0x6c0f,
    +    0x5e02, 0x6043, 0x5ba4, 0x89c6, 0x8bd5, 0x6536, 0x624b, 0x9996,
    +    0x5b88, 0x5bff, 0x6388, 0x552e, 0x53d7, 0x7626, 0x517d, 0x852c,
    +    0x67a2, 0x68b3, 0x6b8a, 0x6292, 0x8f93, 0x53d4, 0x8212, 0x6dd1,
    +    0x758f, 0x4e66, 0x8d4e, 0x5b70, 0x719f, 0x85af, 0x6691, 0x66d9,
    +    0x7f72, 0x8700, 0x9ecd, 0x9f20, 0x5c5e, 0x672f, 0x8ff0, 0x6811,
    +    0x675f, 0x620d, 0x7ad6, 0x5885, 0x5eb6, 0x6570, 0x6f31, 0x003f,
    +    /* lead byte cb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8582, 0x8583, 0x8586, 0x8588, 0x8589, 0x858a, 0x858b, 0x858c,
    +    0x858d, 0x858e, 0x8590, 0x8591, 0x8592, 0x8593, 0x8594, 0x8595,
    +    0x8596, 0x8597, 0x8598, 0x8599, 0x859a, 0x859d, 0x859e, 0x859f,
    +    0x85a0, 0x85a1, 0x85a2, 0x85a3, 0x85a5, 0x85a6, 0x85a7, 0x85a9,
    +    0x85ab, 0x85ac, 0x85ad, 0x85b1, 0x85b2, 0x85b3, 0x85b4, 0x85b5,
    +    0x85b6, 0x85b8, 0x85ba, 0x85bb, 0x85bc, 0x85bd, 0x85be, 0x85bf,
    +    0x85c0, 0x85c2, 0x85c3, 0x85c4, 0x85c5, 0x85c6, 0x85c7, 0x85c8,
    +    0x85ca, 0x85cb, 0x85cc, 0x85cd, 0x85ce, 0x85d1, 0x85d2, 0x003f,
    +    0x85d4, 0x85d6, 0x85d7, 0x85d8, 0x85d9, 0x85da, 0x85db, 0x85dd,
    +    0x85de, 0x85df, 0x85e0, 0x85e1, 0x85e2, 0x85e3, 0x85e5, 0x85e6,
    +    0x85e7, 0x85e8, 0x85ea, 0x85eb, 0x85ec, 0x85ed, 0x85ee, 0x85ef,
    +    0x85f0, 0x85f1, 0x85f2, 0x85f3, 0x85f4, 0x85f5, 0x85f6, 0x85f7,
    +    0x85f8, 0x6055, 0x5237, 0x800d, 0x6454, 0x8870, 0x7529, 0x5e05,
    +    0x6813, 0x62f4, 0x971c, 0x53cc, 0x723d, 0x8c01, 0x6c34, 0x7761,
    +    0x7a0e, 0x542e, 0x77ac, 0x987a, 0x821c, 0x8bf4, 0x7855, 0x6714,
    +    0x70c1, 0x65af, 0x6495, 0x5636, 0x601d, 0x79c1, 0x53f8, 0x4e1d,
    +    0x6b7b, 0x8086, 0x5bfa, 0x55e3, 0x56db, 0x4f3a, 0x4f3c, 0x9972,
    +    0x5df3, 0x677e, 0x8038, 0x6002, 0x9882, 0x9001, 0x5b8b, 0x8bbc,
    +    0x8bf5, 0x641c, 0x8258, 0x64de, 0x55fd, 0x82cf, 0x9165, 0x4fd7,
    +    0x7d20, 0x901f, 0x7c9f, 0x50f3, 0x5851, 0x6eaf, 0x5bbf, 0x8bc9,
    +    0x8083, 0x9178, 0x849c, 0x7b97, 0x867d, 0x968b, 0x968f, 0x7ee5,
    +    0x9ad3, 0x788e, 0x5c81, 0x7a57, 0x9042, 0x96a7, 0x795f, 0x5b59,
    +    0x635f, 0x7b0b, 0x84d1, 0x68ad, 0x5506, 0x7f29, 0x7410, 0x7d22,
    +    0x9501, 0x6240, 0x584c, 0x4ed6, 0x5b83, 0x5979, 0x5854, 0x003f,
    +    /* lead byte cc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x85f9, 0x85fa, 0x85fc, 0x85fd, 0x85fe, 0x8600, 0x8601, 0x8602,
    +    0x8603, 0x8604, 0x8606, 0x8607, 0x8608, 0x8609, 0x860a, 0x860b,
    +    0x860c, 0x860d, 0x860e, 0x860f, 0x8610, 0x8612, 0x8613, 0x8614,
    +    0x8615, 0x8617, 0x8618, 0x8619, 0x861a, 0x861b, 0x861c, 0x861d,
    +    0x861e, 0x861f, 0x8620, 0x8621, 0x8622, 0x8623, 0x8624, 0x8625,
    +    0x8626, 0x8628, 0x862a, 0x862b, 0x862c, 0x862d, 0x862e, 0x862f,
    +    0x8630, 0x8631, 0x8632, 0x8633, 0x8634, 0x8635, 0x8636, 0x8637,
    +    0x8639, 0x863a, 0x863b, 0x863d, 0x863e, 0x863f, 0x8640, 0x003f,
    +    0x8641, 0x8642, 0x8643, 0x8644, 0x8645, 0x8646, 0x8647, 0x8648,
    +    0x8649, 0x864a, 0x864b, 0x864c, 0x8652, 0x8653, 0x8655, 0x8656,
    +    0x8657, 0x8658, 0x8659, 0x865b, 0x865c, 0x865d, 0x865f, 0x8660,
    +    0x8661, 0x8663, 0x8664, 0x8665, 0x8666, 0x8667, 0x8668, 0x8669,
    +    0x866a, 0x736d, 0x631e, 0x8e4b, 0x8e0f, 0x80ce, 0x82d4, 0x62ac,
    +    0x53f0, 0x6cf0, 0x915e, 0x592a, 0x6001, 0x6c70, 0x574d, 0x644a,
    +    0x8d2a, 0x762b, 0x6ee9, 0x575b, 0x6a80, 0x75f0, 0x6f6d, 0x8c2d,
    +    0x8c08, 0x5766, 0x6bef, 0x8892, 0x78b3, 0x63a2, 0x53f9, 0x70ad,
    +    0x6c64, 0x5858, 0x642a, 0x5802, 0x68e0, 0x819b, 0x5510, 0x7cd6,
    +    0x5018, 0x8eba, 0x6dcc, 0x8d9f, 0x70eb, 0x638f, 0x6d9b, 0x6ed4,
    +    0x7ee6, 0x8404, 0x6843, 0x9003, 0x6dd8, 0x9676, 0x8ba8, 0x5957,
    +    0x7279, 0x85e4, 0x817e, 0x75bc, 0x8a8a, 0x68af, 0x5254, 0x8e22,
    +    0x9511, 0x63d0, 0x9898, 0x8e44, 0x557c, 0x4f53, 0x66ff, 0x568f,
    +    0x60d5, 0x6d95, 0x5243, 0x5c49, 0x5929, 0x6dfb, 0x586b, 0x7530,
    +    0x751c, 0x606c, 0x8214, 0x8146, 0x6311, 0x6761, 0x8fe2, 0x773a,
    +    0x8df3, 0x8d34, 0x94c1, 0x5e16, 0x5385, 0x542c, 0x70c3, 0x003f,
    +    /* lead byte cd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x866d, 0x866f, 0x8670, 0x8672, 0x8673, 0x8674, 0x8675, 0x8676,
    +    0x8677, 0x8678, 0x8683, 0x8684, 0x8685, 0x8686, 0x8687, 0x8688,
    +    0x8689, 0x868e, 0x868f, 0x8690, 0x8691, 0x8692, 0x8694, 0x8696,
    +    0x8697, 0x8698, 0x8699, 0x869a, 0x869b, 0x869e, 0x869f, 0x86a0,
    +    0x86a1, 0x86a2, 0x86a5, 0x86a6, 0x86ab, 0x86ad, 0x86ae, 0x86b2,
    +    0x86b3, 0x86b7, 0x86b8, 0x86b9, 0x86bb, 0x86bc, 0x86bd, 0x86be,
    +    0x86bf, 0x86c1, 0x86c2, 0x86c3, 0x86c5, 0x86c8, 0x86cc, 0x86cd,
    +    0x86d2, 0x86d3, 0x86d5, 0x86d6, 0x86d7, 0x86da, 0x86dc, 0x003f,
    +    0x86dd, 0x86e0, 0x86e1, 0x86e2, 0x86e3, 0x86e5, 0x86e6, 0x86e7,
    +    0x86e8, 0x86ea, 0x86eb, 0x86ec, 0x86ef, 0x86f5, 0x86f6, 0x86f7,
    +    0x86fa, 0x86fb, 0x86fc, 0x86fd, 0x86ff, 0x8701, 0x8704, 0x8705,
    +    0x8706, 0x870b, 0x870c, 0x870e, 0x870f, 0x8710, 0x8711, 0x8714,
    +    0x8716, 0x6c40, 0x5ef7, 0x505c, 0x4ead, 0x5ead, 0x633a, 0x8247,
    +    0x901a, 0x6850, 0x916e, 0x77b3, 0x540c, 0x94dc, 0x5f64, 0x7ae5,
    +    0x6876, 0x6345, 0x7b52, 0x7edf, 0x75db, 0x5077, 0x6295, 0x5934,
    +    0x900f, 0x51f8, 0x79c3, 0x7a81, 0x56fe, 0x5f92, 0x9014, 0x6d82,
    +    0x5c60, 0x571f, 0x5410, 0x5154, 0x6e4d, 0x56e2, 0x63a8, 0x9893,
    +    0x817f, 0x8715, 0x892a, 0x9000, 0x541e, 0x5c6f, 0x81c0, 0x62d6,
    +    0x6258, 0x8131, 0x9e35, 0x9640, 0x9a6e, 0x9a7c, 0x692d, 0x59a5,
    +    0x62d3, 0x553e, 0x6316, 0x54c7, 0x86d9, 0x6d3c, 0x5a03, 0x74e6,
    +    0x889c, 0x6b6a, 0x5916, 0x8c4c, 0x5f2f, 0x6e7e, 0x73a9, 0x987d,
    +    0x4e38, 0x70f7, 0x5b8c, 0x7897, 0x633d, 0x665a, 0x7696, 0x60cb,
    +    0x5b9b, 0x5a49, 0x4e07, 0x8155, 0x6c6a, 0x738b, 0x4ea1, 0x6789,
    +    0x7f51, 0x5f80, 0x65fa, 0x671b, 0x5fd8, 0x5984, 0x5a01, 0x003f,
    +    /* lead byte ce */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8719, 0x871b, 0x871d, 0x871f, 0x8720, 0x8724, 0x8726, 0x8727,
    +    0x8728, 0x872a, 0x872b, 0x872c, 0x872d, 0x872f, 0x8730, 0x8732,
    +    0x8733, 0x8735, 0x8736, 0x8738, 0x8739, 0x873a, 0x873c, 0x873d,
    +    0x8740, 0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, 0x874a,
    +    0x874b, 0x874d, 0x874f, 0x8750, 0x8751, 0x8752, 0x8754, 0x8755,
    +    0x8756, 0x8758, 0x875a, 0x875b, 0x875c, 0x875d, 0x875e, 0x875f,
    +    0x8761, 0x8762, 0x8766, 0x8767, 0x8768, 0x8769, 0x876a, 0x876b,
    +    0x876c, 0x876d, 0x876f, 0x8771, 0x8772, 0x8773, 0x8775, 0x003f,
    +    0x8777, 0x8778, 0x8779, 0x877a, 0x877f, 0x8780, 0x8781, 0x8784,
    +    0x8786, 0x8787, 0x8789, 0x878a, 0x878c, 0x878e, 0x878f, 0x8790,
    +    0x8791, 0x8792, 0x8794, 0x8795, 0x8796, 0x8798, 0x8799, 0x879a,
    +    0x879b, 0x879c, 0x879d, 0x879e, 0x87a0, 0x87a1, 0x87a2, 0x87a3,
    +    0x87a4, 0x5dcd, 0x5fae, 0x5371, 0x97e6, 0x8fdd, 0x6845, 0x56f4,
    +    0x552f, 0x60df, 0x4e3a, 0x6f4d, 0x7ef4, 0x82c7, 0x840e, 0x59d4,
    +    0x4f1f, 0x4f2a, 0x5c3e, 0x7eac, 0x672a, 0x851a, 0x5473, 0x754f,
    +    0x80c3, 0x5582, 0x9b4f, 0x4f4d, 0x6e2d, 0x8c13, 0x5c09, 0x6170,
    +    0x536b, 0x761f, 0x6e29, 0x868a, 0x6587, 0x95fb, 0x7eb9, 0x543b,
    +    0x7a33, 0x7d0a, 0x95ee, 0x55e1, 0x7fc1, 0x74ee, 0x631d, 0x8717,
    +    0x6da1, 0x7a9d, 0x6211, 0x65a1, 0x5367, 0x63e1, 0x6c83, 0x5deb,
    +    0x545c, 0x94a8, 0x4e4c, 0x6c61, 0x8bec, 0x5c4b, 0x65e0, 0x829c,
    +    0x68a7, 0x543e, 0x5434, 0x6bcb, 0x6b66, 0x4e94, 0x6342, 0x5348,
    +    0x821e, 0x4f0d, 0x4fae, 0x575e, 0x620a, 0x96fe, 0x6664, 0x7269,
    +    0x52ff, 0x52a1, 0x609f, 0x8bef, 0x6614, 0x7199, 0x6790, 0x897f,
    +    0x7852, 0x77fd, 0x6670, 0x563b, 0x5438, 0x9521, 0x727a, 0x003f,
    +    /* lead byte cf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x87a5, 0x87a6, 0x87a7, 0x87a9, 0x87aa, 0x87ae, 0x87b0, 0x87b1,
    +    0x87b2, 0x87b4, 0x87b6, 0x87b7, 0x87b8, 0x87b9, 0x87bb, 0x87bc,
    +    0x87be, 0x87bf, 0x87c1, 0x87c2, 0x87c3, 0x87c4, 0x87c5, 0x87c7,
    +    0x87c8, 0x87c9, 0x87cc, 0x87cd, 0x87ce, 0x87cf, 0x87d0, 0x87d4,
    +    0x87d5, 0x87d6, 0x87d7, 0x87d8, 0x87d9, 0x87da, 0x87dc, 0x87dd,
    +    0x87de, 0x87df, 0x87e1, 0x87e2, 0x87e3, 0x87e4, 0x87e6, 0x87e7,
    +    0x87e8, 0x87e9, 0x87eb, 0x87ec, 0x87ed, 0x87ef, 0x87f0, 0x87f1,
    +    0x87f2, 0x87f3, 0x87f4, 0x87f5, 0x87f6, 0x87f7, 0x87f8, 0x003f,
    +    0x87fa, 0x87fb, 0x87fc, 0x87fd, 0x87ff, 0x8800, 0x8801, 0x8802,
    +    0x8804, 0x8805, 0x8806, 0x8807, 0x8808, 0x8809, 0x880b, 0x880c,
    +    0x880d, 0x880e, 0x880f, 0x8810, 0x8811, 0x8812, 0x8814, 0x8817,
    +    0x8818, 0x8819, 0x881a, 0x881c, 0x881d, 0x881e, 0x881f, 0x8820,
    +    0x8823, 0x7a00, 0x606f, 0x5e0c, 0x6089, 0x819d, 0x5915, 0x60dc,
    +    0x7184, 0x70ef, 0x6eaa, 0x6c50, 0x7280, 0x6a84, 0x88ad, 0x5e2d,
    +    0x4e60, 0x5ab3, 0x559c, 0x94e3, 0x6d17, 0x7cfb, 0x9699, 0x620f,
    +    0x7ec6, 0x778e, 0x867e, 0x5323, 0x971e, 0x8f96, 0x6687, 0x5ce1,
    +    0x4fa0, 0x72ed, 0x4e0b, 0x53a6, 0x590f, 0x5413, 0x6380, 0x9528,
    +    0x5148, 0x4ed9, 0x9c9c, 0x7ea4, 0x54b8, 0x8d24, 0x8854, 0x8237,
    +    0x95f2, 0x6d8e, 0x5f26, 0x5acc, 0x663e, 0x9669, 0x73b0, 0x732e,
    +    0x53bf, 0x817a, 0x9985, 0x7fa1, 0x5baa, 0x9677, 0x9650, 0x7ebf,
    +    0x76f8, 0x53a2, 0x9576, 0x9999, 0x7bb1, 0x8944, 0x6e58, 0x4e61,
    +    0x7fd4, 0x7965, 0x8be6, 0x60f3, 0x54cd, 0x4eab, 0x9879, 0x5df7,
    +    0x6a61, 0x50cf, 0x5411, 0x8c61, 0x8427, 0x785d, 0x9704, 0x524a,
    +    0x54ee, 0x56a3, 0x9500, 0x6d88, 0x5bb5, 0x6dc6, 0x6653, 0x003f,
    +    /* lead byte d0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8824, 0x8825, 0x8826, 0x8827, 0x8828, 0x8829, 0x882a, 0x882b,
    +    0x882c, 0x882d, 0x882e, 0x882f, 0x8830, 0x8831, 0x8833, 0x8834,
    +    0x8835, 0x8836, 0x8837, 0x8838, 0x883a, 0x883b, 0x883d, 0x883e,
    +    0x883f, 0x8841, 0x8842, 0x8843, 0x8846, 0x8847, 0x8848, 0x8849,
    +    0x884a, 0x884b, 0x884e, 0x884f, 0x8850, 0x8851, 0x8852, 0x8853,
    +    0x8855, 0x8856, 0x8858, 0x885a, 0x885b, 0x885c, 0x885d, 0x885e,
    +    0x885f, 0x8860, 0x8866, 0x8867, 0x886a, 0x886d, 0x886f, 0x8871,
    +    0x8873, 0x8874, 0x8875, 0x8876, 0x8878, 0x8879, 0x887a, 0x003f,
    +    0x887b, 0x887c, 0x8880, 0x8883, 0x8886, 0x8887, 0x8889, 0x888a,
    +    0x888c, 0x888e, 0x888f, 0x8890, 0x8891, 0x8893, 0x8894, 0x8895,
    +    0x8897, 0x8898, 0x8899, 0x889a, 0x889b, 0x889d, 0x889e, 0x889f,
    +    0x88a0, 0x88a1, 0x88a3, 0x88a5, 0x88a6, 0x88a7, 0x88a8, 0x88a9,
    +    0x88aa, 0x5c0f, 0x5b5d, 0x6821, 0x8096, 0x5578, 0x7b11, 0x6548,
    +    0x6954, 0x4e9b, 0x6b47, 0x874e, 0x978b, 0x534f, 0x631f, 0x643a,
    +    0x90aa, 0x659c, 0x80c1, 0x8c10, 0x5199, 0x68b0, 0x5378, 0x87f9,
    +    0x61c8, 0x6cc4, 0x6cfb, 0x8c22, 0x5c51, 0x85aa, 0x82af, 0x950c,
    +    0x6b23, 0x8f9b, 0x65b0, 0x5ffb, 0x5fc3, 0x4fe1, 0x8845, 0x661f,
    +    0x8165, 0x7329, 0x60fa, 0x5174, 0x5211, 0x578b, 0x5f62, 0x90a2,
    +    0x884c, 0x9192, 0x5e78, 0x674f, 0x6027, 0x59d3, 0x5144, 0x51f6,
    +    0x80f8, 0x5308, 0x6c79, 0x96c4, 0x718a, 0x4f11, 0x4fee, 0x7f9e,
    +    0x673d, 0x55c5, 0x9508, 0x79c0, 0x8896, 0x7ee3, 0x589f, 0x620c,
    +    0x9700, 0x865a, 0x5618, 0x987b, 0x5f90, 0x8bb8, 0x84c4, 0x9157,
    +    0x53d9, 0x65ed, 0x5e8f, 0x755c, 0x6064, 0x7d6e, 0x5a7f, 0x7eea,
    +    0x7eed, 0x8f69, 0x55a7, 0x5ba3, 0x60ac, 0x65cb, 0x7384, 0x003f,
    +    /* lead byte d1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x88ac, 0x88ae, 0x88af, 0x88b0, 0x88b2, 0x88b3, 0x88b4, 0x88b5,
    +    0x88b6, 0x88b8, 0x88b9, 0x88ba, 0x88bb, 0x88bd, 0x88be, 0x88bf,
    +    0x88c0, 0x88c3, 0x88c4, 0x88c7, 0x88c8, 0x88ca, 0x88cb, 0x88cc,
    +    0x88cd, 0x88cf, 0x88d0, 0x88d1, 0x88d3, 0x88d6, 0x88d7, 0x88da,
    +    0x88db, 0x88dc, 0x88dd, 0x88de, 0x88e0, 0x88e1, 0x88e6, 0x88e7,
    +    0x88e9, 0x88ea, 0x88eb, 0x88ec, 0x88ed, 0x88ee, 0x88ef, 0x88f2,
    +    0x88f5, 0x88f6, 0x88f7, 0x88fa, 0x88fb, 0x88fd, 0x88ff, 0x8900,
    +    0x8901, 0x8903, 0x8904, 0x8905, 0x8906, 0x8907, 0x8908, 0x003f,
    +    0x8909, 0x890b, 0x890c, 0x890d, 0x890e, 0x890f, 0x8911, 0x8914,
    +    0x8915, 0x8916, 0x8917, 0x8918, 0x891c, 0x891d, 0x891e, 0x891f,
    +    0x8920, 0x8922, 0x8923, 0x8924, 0x8926, 0x8927, 0x8928, 0x8929,
    +    0x892c, 0x892d, 0x892e, 0x892f, 0x8931, 0x8932, 0x8933, 0x8935,
    +    0x8937, 0x9009, 0x7663, 0x7729, 0x7eda, 0x9774, 0x859b, 0x5b66,
    +    0x7a74, 0x96ea, 0x8840, 0x52cb, 0x718f, 0x5faa, 0x65ec, 0x8be2,
    +    0x5bfb, 0x9a6f, 0x5de1, 0x6b89, 0x6c5b, 0x8bad, 0x8baf, 0x900a,
    +    0x8fc5, 0x538b, 0x62bc, 0x9e26, 0x9e2d, 0x5440, 0x4e2b, 0x82bd,
    +    0x7259, 0x869c, 0x5d16, 0x8859, 0x6daf, 0x96c5, 0x54d1, 0x4e9a,
    +    0x8bb6, 0x7109, 0x54bd, 0x9609, 0x70df, 0x6df9, 0x76d0, 0x4e25,
    +    0x7814, 0x8712, 0x5ca9, 0x5ef6, 0x8a00, 0x989c, 0x960e, 0x708e,
    +    0x6cbf, 0x5944, 0x63a9, 0x773c, 0x884d, 0x6f14, 0x8273, 0x5830,
    +    0x71d5, 0x538c, 0x781a, 0x96c1, 0x5501, 0x5f66, 0x7130, 0x5bb4,
    +    0x8c1a, 0x9a8c, 0x6b83, 0x592e, 0x9e2f, 0x79e7, 0x6768, 0x626c,
    +    0x4f6f, 0x75a1, 0x7f8a, 0x6d0b, 0x9633, 0x6c27, 0x4ef0, 0x75d2,
    +    0x517b, 0x6837, 0x6f3e, 0x9080, 0x8170, 0x5996, 0x7476, 0x003f,
    +    /* lead byte d2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8938, 0x8939, 0x893a, 0x893b, 0x893c, 0x893d, 0x893e, 0x893f,
    +    0x8940, 0x8942, 0x8943, 0x8945, 0x8946, 0x8947, 0x8948, 0x8949,
    +    0x894a, 0x894b, 0x894c, 0x894d, 0x894e, 0x894f, 0x8950, 0x8951,
    +    0x8952, 0x8953, 0x8954, 0x8955, 0x8956, 0x8957, 0x8958, 0x8959,
    +    0x895a, 0x895b, 0x895c, 0x895d, 0x8960, 0x8961, 0x8962, 0x8963,
    +    0x8964, 0x8965, 0x8967, 0x8968, 0x8969, 0x896a, 0x896b, 0x896c,
    +    0x896d, 0x896e, 0x896f, 0x8970, 0x8971, 0x8972, 0x8973, 0x8974,
    +    0x8975, 0x8976, 0x8977, 0x8978, 0x8979, 0x897a, 0x897c, 0x003f,
    +    0x897d, 0x897e, 0x8980, 0x8982, 0x8984, 0x8985, 0x8987, 0x8988,
    +    0x8989, 0x898a, 0x898b, 0x898c, 0x898d, 0x898e, 0x898f, 0x8990,
    +    0x8991, 0x8992, 0x8993, 0x8994, 0x8995, 0x8996, 0x8997, 0x8998,
    +    0x8999, 0x899a, 0x899b, 0x899c, 0x899d, 0x899e, 0x899f, 0x89a0,
    +    0x89a1, 0x6447, 0x5c27, 0x9065, 0x7a91, 0x8c23, 0x59da, 0x54ac,
    +    0x8200, 0x836f, 0x8981, 0x8000, 0x6930, 0x564e, 0x8036, 0x7237,
    +    0x91ce, 0x51b6, 0x4e5f, 0x9875, 0x6396, 0x4e1a, 0x53f6, 0x66f3,
    +    0x814b, 0x591c, 0x6db2, 0x4e00, 0x58f9, 0x533b, 0x63d6, 0x94f1,
    +    0x4f9d, 0x4f0a, 0x8863, 0x9890, 0x5937, 0x9057, 0x79fb, 0x4eea,
    +    0x80f0, 0x7591, 0x6c82, 0x5b9c, 0x59e8, 0x5f5d, 0x6905, 0x8681,
    +    0x501a, 0x5df2, 0x4e59, 0x77e3, 0x4ee5, 0x827a, 0x6291, 0x6613,
    +    0x9091, 0x5c79, 0x4ebf, 0x5f79, 0x81c6, 0x9038, 0x8084, 0x75ab,
    +    0x4ea6, 0x88d4, 0x610f, 0x6bc5, 0x5fc6, 0x4e49, 0x76ca, 0x6ea2,
    +    0x8be3, 0x8bae, 0x8c0a, 0x8bd1, 0x5f02, 0x7ffc, 0x7fcc, 0x7ece,
    +    0x8335, 0x836b, 0x56e0, 0x6bb7, 0x97f3, 0x9634, 0x59fb, 0x541f,
    +    0x94f6, 0x6deb, 0x5bc5, 0x996e, 0x5c39, 0x5f15, 0x9690, 0x003f,
    +    /* lead byte d3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x89a2, 0x89a3, 0x89a4, 0x89a5, 0x89a6, 0x89a7, 0x89a8, 0x89a9,
    +    0x89aa, 0x89ab, 0x89ac, 0x89ad, 0x89ae, 0x89af, 0x89b0, 0x89b1,
    +    0x89b2, 0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7, 0x89b8, 0x89b9,
    +    0x89ba, 0x89bb, 0x89bc, 0x89bd, 0x89be, 0x89bf, 0x89c0, 0x89c3,
    +    0x89cd, 0x89d3, 0x89d4, 0x89d5, 0x89d7, 0x89d8, 0x89d9, 0x89db,
    +    0x89dd, 0x89df, 0x89e0, 0x89e1, 0x89e2, 0x89e4, 0x89e7, 0x89e8,
    +    0x89e9, 0x89ea, 0x89ec, 0x89ed, 0x89ee, 0x89f0, 0x89f1, 0x89f2,
    +    0x89f4, 0x89f5, 0x89f6, 0x89f7, 0x89f8, 0x89f9, 0x89fa, 0x003f,
    +    0x89fb, 0x89fc, 0x89fd, 0x89fe, 0x89ff, 0x8a01, 0x8a02, 0x8a03,
    +    0x8a04, 0x8a05, 0x8a06, 0x8a08, 0x8a09, 0x8a0a, 0x8a0b, 0x8a0c,
    +    0x8a0d, 0x8a0e, 0x8a0f, 0x8a10, 0x8a11, 0x8a12, 0x8a13, 0x8a14,
    +    0x8a15, 0x8a16, 0x8a17, 0x8a18, 0x8a19, 0x8a1a, 0x8a1b, 0x8a1c,
    +    0x8a1d, 0x5370, 0x82f1, 0x6a31, 0x5a74, 0x9e70, 0x5e94, 0x7f28,
    +    0x83b9, 0x8424, 0x8425, 0x8367, 0x8747, 0x8fce, 0x8d62, 0x76c8,
    +    0x5f71, 0x9896, 0x786c, 0x6620, 0x54df, 0x62e5, 0x4f63, 0x81c3,
    +    0x75c8, 0x5eb8, 0x96cd, 0x8e0a, 0x86f9, 0x548f, 0x6cf3, 0x6d8c,
    +    0x6c38, 0x607f, 0x52c7, 0x7528, 0x5e7d, 0x4f18, 0x60a0, 0x5fe7,
    +    0x5c24, 0x7531, 0x90ae, 0x94c0, 0x72b9, 0x6cb9, 0x6e38, 0x9149,
    +    0x6709, 0x53cb, 0x53f3, 0x4f51, 0x91c9, 0x8bf1, 0x53c8, 0x5e7c,
    +    0x8fc2, 0x6de4, 0x4e8e, 0x76c2, 0x6986, 0x865e, 0x611a, 0x8206,
    +    0x4f59, 0x4fde, 0x903e, 0x9c7c, 0x6109, 0x6e1d, 0x6e14, 0x9685,
    +    0x4e88, 0x5a31, 0x96e8, 0x4e0e, 0x5c7f, 0x79b9, 0x5b87, 0x8bed,
    +    0x7fbd, 0x7389, 0x57df, 0x828b, 0x90c1, 0x5401, 0x9047, 0x55bb,
    +    0x5cea, 0x5fa1, 0x6108, 0x6b32, 0x72f1, 0x80b2, 0x8a89, 0x003f,
    +    /* lead byte d4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8a1e, 0x8a1f, 0x8a20, 0x8a21, 0x8a22, 0x8a23, 0x8a24, 0x8a25,
    +    0x8a26, 0x8a27, 0x8a28, 0x8a29, 0x8a2a, 0x8a2b, 0x8a2c, 0x8a2d,
    +    0x8a2e, 0x8a2f, 0x8a30, 0x8a31, 0x8a32, 0x8a33, 0x8a34, 0x8a35,
    +    0x8a36, 0x8a37, 0x8a38, 0x8a39, 0x8a3a, 0x8a3b, 0x8a3c, 0x8a3d,
    +    0x8a3f, 0x8a40, 0x8a41, 0x8a42, 0x8a43, 0x8a44, 0x8a45, 0x8a46,
    +    0x8a47, 0x8a49, 0x8a4a, 0x8a4b, 0x8a4c, 0x8a4d, 0x8a4e, 0x8a4f,
    +    0x8a50, 0x8a51, 0x8a52, 0x8a53, 0x8a54, 0x8a55, 0x8a56, 0x8a57,
    +    0x8a58, 0x8a59, 0x8a5a, 0x8a5b, 0x8a5c, 0x8a5d, 0x8a5e, 0x003f,
    +    0x8a5f, 0x8a60, 0x8a61, 0x8a62, 0x8a63, 0x8a64, 0x8a65, 0x8a66,
    +    0x8a67, 0x8a68, 0x8a69, 0x8a6a, 0x8a6b, 0x8a6c, 0x8a6d, 0x8a6e,
    +    0x8a6f, 0x8a70, 0x8a71, 0x8a72, 0x8a73, 0x8a74, 0x8a75, 0x8a76,
    +    0x8a77, 0x8a78, 0x8a7a, 0x8a7b, 0x8a7c, 0x8a7d, 0x8a7e, 0x8a7f,
    +    0x8a80, 0x6d74, 0x5bd3, 0x88d5, 0x9884, 0x8c6b, 0x9a6d, 0x9e33,
    +    0x6e0a, 0x51a4, 0x5143, 0x57a3, 0x8881, 0x539f, 0x63f4, 0x8f95,
    +    0x56ed, 0x5458, 0x5706, 0x733f, 0x6e90, 0x7f18, 0x8fdc, 0x82d1,
    +    0x613f, 0x6028, 0x9662, 0x66f0, 0x7ea6, 0x8d8a, 0x8dc3, 0x94a5,
    +    0x5cb3, 0x7ca4, 0x6708, 0x60a6, 0x9605, 0x8018, 0x4e91, 0x90e7,
    +    0x5300, 0x9668, 0x5141, 0x8fd0, 0x8574, 0x915d, 0x6655, 0x97f5,
    +    0x5b55, 0x531d, 0x7838, 0x6742, 0x683d, 0x54c9, 0x707e, 0x5bb0,
    +    0x8f7d, 0x518d, 0x5728, 0x54b1, 0x6512, 0x6682, 0x8d5e, 0x8d43,
    +    0x810f, 0x846c, 0x906d, 0x7cdf, 0x51ff, 0x85fb, 0x67a3, 0x65e9,
    +    0x6fa1, 0x86a4, 0x8e81, 0x566a, 0x9020, 0x7682, 0x7076, 0x71e5,
    +    0x8d23, 0x62e9, 0x5219, 0x6cfd, 0x8d3c, 0x600e, 0x589e, 0x618e,
    +    0x66fe, 0x8d60, 0x624e, 0x55b3, 0x6e23, 0x672d, 0x8f67, 0x003f,
    +    /* lead byte d5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8a81, 0x8a82, 0x8a83, 0x8a84, 0x8a85, 0x8a86, 0x8a87, 0x8a88,
    +    0x8a8b, 0x8a8c, 0x8a8d, 0x8a8e, 0x8a8f, 0x8a90, 0x8a91, 0x8a92,
    +    0x8a94, 0x8a95, 0x8a96, 0x8a97, 0x8a98, 0x8a99, 0x8a9a, 0x8a9b,
    +    0x8a9c, 0x8a9d, 0x8a9e, 0x8a9f, 0x8aa0, 0x8aa1, 0x8aa2, 0x8aa3,
    +    0x8aa4, 0x8aa5, 0x8aa6, 0x8aa7, 0x8aa8, 0x8aa9, 0x8aaa, 0x8aab,
    +    0x8aac, 0x8aad, 0x8aae, 0x8aaf, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3,
    +    0x8ab4, 0x8ab5, 0x8ab6, 0x8ab7, 0x8ab8, 0x8ab9, 0x8aba, 0x8abb,
    +    0x8abc, 0x8abd, 0x8abe, 0x8abf, 0x8ac0, 0x8ac1, 0x8ac2, 0x003f,
    +    0x8ac3, 0x8ac4, 0x8ac5, 0x8ac6, 0x8ac7, 0x8ac8, 0x8ac9, 0x8aca,
    +    0x8acb, 0x8acc, 0x8acd, 0x8ace, 0x8acf, 0x8ad0, 0x8ad1, 0x8ad2,
    +    0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0x8ad7, 0x8ad8, 0x8ad9, 0x8ada,
    +    0x8adb, 0x8adc, 0x8add, 0x8ade, 0x8adf, 0x8ae0, 0x8ae1, 0x8ae2,
    +    0x8ae3, 0x94e1, 0x95f8, 0x7728, 0x6805, 0x69a8, 0x548b, 0x4e4d,
    +    0x70b8, 0x8bc8, 0x6458, 0x658b, 0x5b85, 0x7a84, 0x503a, 0x5be8,
    +    0x77bb, 0x6be1, 0x8a79, 0x7c98, 0x6cbe, 0x76cf, 0x65a9, 0x8f97,
    +    0x5d2d, 0x5c55, 0x8638, 0x6808, 0x5360, 0x6218, 0x7ad9, 0x6e5b,
    +    0x7efd, 0x6a1f, 0x7ae0, 0x5f70, 0x6f33, 0x5f20, 0x638c, 0x6da8,
    +    0x6756, 0x4e08, 0x5e10, 0x8d26, 0x4ed7, 0x80c0, 0x7634, 0x969c,
    +    0x62db, 0x662d, 0x627e, 0x6cbc, 0x8d75, 0x7167, 0x7f69, 0x5146,
    +    0x8087, 0x53ec, 0x906e, 0x6298, 0x54f2, 0x86f0, 0x8f99, 0x8005,
    +    0x9517, 0x8517, 0x8fd9, 0x6d59, 0x73cd, 0x659f, 0x771f, 0x7504,
    +    0x7827, 0x81fb, 0x8d1e, 0x9488, 0x4fa6, 0x6795, 0x75b9, 0x8bca,
    +    0x9707, 0x632f, 0x9547, 0x9635, 0x84b8, 0x6323, 0x7741, 0x5f81,
    +    0x72f0, 0x4e89, 0x6014, 0x6574, 0x62ef, 0x6b63, 0x653f, 0x003f,
    +    /* lead byte d6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8ae4, 0x8ae5, 0x8ae6, 0x8ae7, 0x8ae8, 0x8ae9, 0x8aea, 0x8aeb,
    +    0x8aec, 0x8aed, 0x8aee, 0x8aef, 0x8af0, 0x8af1, 0x8af2, 0x8af3,
    +    0x8af4, 0x8af5, 0x8af6, 0x8af7, 0x8af8, 0x8af9, 0x8afa, 0x8afb,
    +    0x8afc, 0x8afd, 0x8afe, 0x8aff, 0x8b00, 0x8b01, 0x8b02, 0x8b03,
    +    0x8b04, 0x8b05, 0x8b06, 0x8b08, 0x8b09, 0x8b0a, 0x8b0b, 0x8b0c,
    +    0x8b0d, 0x8b0e, 0x8b0f, 0x8b10, 0x8b11, 0x8b12, 0x8b13, 0x8b14,
    +    0x8b15, 0x8b16, 0x8b17, 0x8b18, 0x8b19, 0x8b1a, 0x8b1b, 0x8b1c,
    +    0x8b1d, 0x8b1e, 0x8b1f, 0x8b20, 0x8b21, 0x8b22, 0x8b23, 0x003f,
    +    0x8b24, 0x8b25, 0x8b27, 0x8b28, 0x8b29, 0x8b2a, 0x8b2b, 0x8b2c,
    +    0x8b2d, 0x8b2e, 0x8b2f, 0x8b30, 0x8b31, 0x8b32, 0x8b33, 0x8b34,
    +    0x8b35, 0x8b36, 0x8b37, 0x8b38, 0x8b39, 0x8b3a, 0x8b3b, 0x8b3c,
    +    0x8b3d, 0x8b3e, 0x8b3f, 0x8b40, 0x8b41, 0x8b42, 0x8b43, 0x8b44,
    +    0x8b45, 0x5e27, 0x75c7, 0x90d1, 0x8bc1, 0x829d, 0x679d, 0x652f,
    +    0x5431, 0x8718, 0x77e5, 0x80a2, 0x8102, 0x6c41, 0x4e4b, 0x7ec7,
    +    0x804c, 0x76f4, 0x690d, 0x6b96, 0x6267, 0x503c, 0x4f84, 0x5740,
    +    0x6307, 0x6b62, 0x8dbe, 0x53ea, 0x65e8, 0x7eb8, 0x5fd7, 0x631a,
    +    0x63b7, 0x81f3, 0x81f4, 0x7f6e, 0x5e1c, 0x5cd9, 0x5236, 0x667a,
    +    0x79e9, 0x7a1a, 0x8d28, 0x7099, 0x75d4, 0x6ede, 0x6cbb, 0x7a92,
    +    0x4e2d, 0x76c5, 0x5fe0, 0x949f, 0x8877, 0x7ec8, 0x79cd, 0x80bf,
    +    0x91cd, 0x4ef2, 0x4f17, 0x821f, 0x5468, 0x5dde, 0x6d32, 0x8bcc,
    +    0x7ca5, 0x8f74, 0x8098, 0x5e1a, 0x5492, 0x76b1, 0x5b99, 0x663c,
    +    0x9aa4, 0x73e0, 0x682a, 0x86db, 0x6731, 0x732a, 0x8bf8, 0x8bdb,
    +    0x9010, 0x7af9, 0x70db, 0x716e, 0x62c4, 0x77a9, 0x5631, 0x4e3b,
    +    0x8457, 0x67f1, 0x52a9, 0x86c0, 0x8d2e, 0x94f8, 0x7b51, 0x003f,
    +    /* lead byte d7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b46, 0x8b47, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b, 0x8b4c, 0x8b4d,
    +    0x8b4e, 0x8b4f, 0x8b50, 0x8b51, 0x8b52, 0x8b53, 0x8b54, 0x8b55,
    +    0x8b56, 0x8b57, 0x8b58, 0x8b59, 0x8b5a, 0x8b5b, 0x8b5c, 0x8b5d,
    +    0x8b5e, 0x8b5f, 0x8b60, 0x8b61, 0x8b62, 0x8b63, 0x8b64, 0x8b65,
    +    0x8b67, 0x8b68, 0x8b69, 0x8b6a, 0x8b6b, 0x8b6d, 0x8b6e, 0x8b6f,
    +    0x8b70, 0x8b71, 0x8b72, 0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77,
    +    0x8b78, 0x8b79, 0x8b7a, 0x8b7b, 0x8b7c, 0x8b7d, 0x8b7e, 0x8b7f,
    +    0x8b80, 0x8b81, 0x8b82, 0x8b83, 0x8b84, 0x8b85, 0x8b86, 0x003f,
    +    0x8b87, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0x8b8d, 0x8b8e,
    +    0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93, 0x8b94, 0x8b95, 0x8b96,
    +    0x8b97, 0x8b98, 0x8b99, 0x8b9a, 0x8b9b, 0x8b9c, 0x8b9d, 0x8b9e,
    +    0x8b9f, 0x8bac, 0x8bb1, 0x8bbb, 0x8bc7, 0x8bd0, 0x8bea, 0x8c09,
    +    0x8c1e, 0x4f4f, 0x6ce8, 0x795d, 0x9a7b, 0x6293, 0x722a, 0x62fd,
    +    0x4e13, 0x7816, 0x8f6c, 0x64b0, 0x8d5a, 0x7bc6, 0x6869, 0x5e84,
    +    0x88c5, 0x5986, 0x649e, 0x58ee, 0x72b6, 0x690e, 0x9525, 0x8ffd,
    +    0x8d58, 0x5760, 0x7f00, 0x8c06, 0x51c6, 0x6349, 0x62d9, 0x5353,
    +    0x684c, 0x7422, 0x8301, 0x914c, 0x5544, 0x7740, 0x707c, 0x6d4a,
    +    0x5179, 0x54a8, 0x8d44, 0x59ff, 0x6ecb, 0x6dc4, 0x5b5c, 0x7d2b,
    +    0x4ed4, 0x7c7d, 0x6ed3, 0x5b50, 0x81ea, 0x6e0d, 0x5b57, 0x9b03,
    +    0x68d5, 0x8e2a, 0x5b97, 0x7efc, 0x603b, 0x7eb5, 0x90b9, 0x8d70,
    +    0x594f, 0x63cd, 0x79df, 0x8db3, 0x5352, 0x65cf, 0x7956, 0x8bc5,
    +    0x963b, 0x7ec4, 0x94bb, 0x7e82, 0x5634, 0x9189, 0x6700, 0x7f6a,
    +    0x5c0a, 0x9075, 0x6628, 0x5de6, 0x4f50, 0x67de, 0x505a, 0x4f5c,
    +    0x5750, 0x5ea7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte d8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8c38, 0x8c39, 0x8c3a, 0x8c3b, 0x8c3c, 0x8c3d, 0x8c3e, 0x8c3f,
    +    0x8c40, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c48, 0x8c4a, 0x8c4b,
    +    0x8c4d, 0x8c4e, 0x8c4f, 0x8c50, 0x8c51, 0x8c52, 0x8c53, 0x8c54,
    +    0x8c56, 0x8c57, 0x8c58, 0x8c59, 0x8c5b, 0x8c5c, 0x8c5d, 0x8c5e,
    +    0x8c5f, 0x8c60, 0x8c63, 0x8c64, 0x8c65, 0x8c66, 0x8c67, 0x8c68,
    +    0x8c69, 0x8c6c, 0x8c6d, 0x8c6e, 0x8c6f, 0x8c70, 0x8c71, 0x8c72,
    +    0x8c74, 0x8c75, 0x8c76, 0x8c77, 0x8c7b, 0x8c7c, 0x8c7d, 0x8c7e,
    +    0x8c7f, 0x8c80, 0x8c81, 0x8c83, 0x8c84, 0x8c86, 0x8c87, 0x003f,
    +    0x8c88, 0x8c8b, 0x8c8d, 0x8c8e, 0x8c8f, 0x8c90, 0x8c91, 0x8c92,
    +    0x8c93, 0x8c95, 0x8c96, 0x8c97, 0x8c99, 0x8c9a, 0x8c9b, 0x8c9c,
    +    0x8c9d, 0x8c9e, 0x8c9f, 0x8ca0, 0x8ca1, 0x8ca2, 0x8ca3, 0x8ca4,
    +    0x8ca5, 0x8ca6, 0x8ca7, 0x8ca8, 0x8ca9, 0x8caa, 0x8cab, 0x8cac,
    +    0x8cad, 0x4e8d, 0x4e0c, 0x5140, 0x4e10, 0x5eff, 0x5345, 0x4e15,
    +    0x4e98, 0x4e1e, 0x9b32, 0x5b6c, 0x5669, 0x4e28, 0x79ba, 0x4e3f,
    +    0x5315, 0x4e47, 0x592d, 0x723b, 0x536e, 0x6c10, 0x56df, 0x80e4,
    +    0x9997, 0x6bd3, 0x777e, 0x9f17, 0x4e36, 0x4e9f, 0x9f10, 0x4e5c,
    +    0x4e69, 0x4e93, 0x8288, 0x5b5b, 0x556c, 0x560f, 0x4ec4, 0x538d,
    +    0x539d, 0x53a3, 0x53a5, 0x53ae, 0x9765, 0x8d5d, 0x531a, 0x53f5,
    +    0x5326, 0x532e, 0x533e, 0x8d5c, 0x5366, 0x5363, 0x5202, 0x5208,
    +    0x520e, 0x522d, 0x5233, 0x523f, 0x5240, 0x524c, 0x525e, 0x5261,
    +    0x525c, 0x84af, 0x527d, 0x5282, 0x5281, 0x5290, 0x5293, 0x5182,
    +    0x7f54, 0x4ebb, 0x4ec3, 0x4ec9, 0x4ec2, 0x4ee8, 0x4ee1, 0x4eeb,
    +    0x4ede, 0x4f1b, 0x4ef3, 0x4f22, 0x4f64, 0x4ef5, 0x4f25, 0x4f27,
    +    0x4f09, 0x4f2b, 0x4f5e, 0x4f67, 0x6538, 0x4f5a, 0x4f5d, 0x003f,
    +    /* lead byte d9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8cae, 0x8caf, 0x8cb0, 0x8cb1, 0x8cb2, 0x8cb3, 0x8cb4, 0x8cb5,
    +    0x8cb6, 0x8cb7, 0x8cb8, 0x8cb9, 0x8cba, 0x8cbb, 0x8cbc, 0x8cbd,
    +    0x8cbe, 0x8cbf, 0x8cc0, 0x8cc1, 0x8cc2, 0x8cc3, 0x8cc4, 0x8cc5,
    +    0x8cc6, 0x8cc7, 0x8cc8, 0x8cc9, 0x8cca, 0x8ccb, 0x8ccc, 0x8ccd,
    +    0x8cce, 0x8ccf, 0x8cd0, 0x8cd1, 0x8cd2, 0x8cd3, 0x8cd4, 0x8cd5,
    +    0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda, 0x8cdb, 0x8cdc, 0x8cdd,
    +    0x8cde, 0x8cdf, 0x8ce0, 0x8ce1, 0x8ce2, 0x8ce3, 0x8ce4, 0x8ce5,
    +    0x8ce6, 0x8ce7, 0x8ce8, 0x8ce9, 0x8cea, 0x8ceb, 0x8cec, 0x003f,
    +    0x8ced, 0x8cee, 0x8cef, 0x8cf0, 0x8cf1, 0x8cf2, 0x8cf3, 0x8cf4,
    +    0x8cf5, 0x8cf6, 0x8cf7, 0x8cf8, 0x8cf9, 0x8cfa, 0x8cfb, 0x8cfc,
    +    0x8cfd, 0x8cfe, 0x8cff, 0x8d00, 0x8d01, 0x8d02, 0x8d03, 0x8d04,
    +    0x8d05, 0x8d06, 0x8d07, 0x8d08, 0x8d09, 0x8d0a, 0x8d0b, 0x8d0c,
    +    0x8d0d, 0x4f5f, 0x4f57, 0x4f32, 0x4f3d, 0x4f76, 0x4f74, 0x4f91,
    +    0x4f89, 0x4f83, 0x4f8f, 0x4f7e, 0x4f7b, 0x4faa, 0x4f7c, 0x4fac,
    +    0x4f94, 0x4fe6, 0x4fe8, 0x4fea, 0x4fc5, 0x4fda, 0x4fe3, 0x4fdc,
    +    0x4fd1, 0x4fdf, 0x4ff8, 0x5029, 0x504c, 0x4ff3, 0x502c, 0x500f,
    +    0x502e, 0x502d, 0x4ffe, 0x501c, 0x500c, 0x5025, 0x5028, 0x507e,
    +    0x5043, 0x5055, 0x5048, 0x504e, 0x506c, 0x507b, 0x50a5, 0x50a7,
    +    0x50a9, 0x50ba, 0x50d6, 0x5106, 0x50ed, 0x50ec, 0x50e6, 0x50ee,
    +    0x5107, 0x510b, 0x4edd, 0x6c3d, 0x4f58, 0x4f65, 0x4fce, 0x9fa0,
    +    0x6c46, 0x7c74, 0x516e, 0x5dfd, 0x9ec9, 0x9998, 0x5181, 0x5914,
    +    0x52f9, 0x530d, 0x8a07, 0x5310, 0x51eb, 0x5919, 0x5155, 0x4ea0,
    +    0x5156, 0x4eb3, 0x886e, 0x88a4, 0x4eb5, 0x8114, 0x88d2, 0x7980,
    +    0x5b34, 0x8803, 0x7fb8, 0x51ab, 0x51b1, 0x51bd, 0x51bc, 0x003f,
    +    /* lead byte da */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8d0e, 0x8d0f, 0x8d10, 0x8d11, 0x8d12, 0x8d13, 0x8d14, 0x8d15,
    +    0x8d16, 0x8d17, 0x8d18, 0x8d19, 0x8d1a, 0x8d1b, 0x8d1c, 0x8d20,
    +    0x8d51, 0x8d52, 0x8d57, 0x8d5f, 0x8d65, 0x8d68, 0x8d69, 0x8d6a,
    +    0x8d6c, 0x8d6e, 0x8d6f, 0x8d71, 0x8d72, 0x8d78, 0x8d79, 0x8d7a,
    +    0x8d7b, 0x8d7c, 0x8d7d, 0x8d7e, 0x8d7f, 0x8d80, 0x8d82, 0x8d83,
    +    0x8d86, 0x8d87, 0x8d88, 0x8d89, 0x8d8c, 0x8d8d, 0x8d8e, 0x8d8f,
    +    0x8d90, 0x8d92, 0x8d93, 0x8d95, 0x8d96, 0x8d97, 0x8d98, 0x8d99,
    +    0x8d9a, 0x8d9b, 0x8d9c, 0x8d9d, 0x8d9e, 0x8da0, 0x8da1, 0x003f,
    +    0x8da2, 0x8da4, 0x8da5, 0x8da6, 0x8da7, 0x8da8, 0x8da9, 0x8daa,
    +    0x8dab, 0x8dac, 0x8dad, 0x8dae, 0x8daf, 0x8db0, 0x8db2, 0x8db6,
    +    0x8db7, 0x8db9, 0x8dbb, 0x8dbd, 0x8dc0, 0x8dc1, 0x8dc2, 0x8dc5,
    +    0x8dc7, 0x8dc8, 0x8dc9, 0x8dca, 0x8dcd, 0x8dd0, 0x8dd2, 0x8dd3,
    +    0x8dd4, 0x51c7, 0x5196, 0x51a2, 0x51a5, 0x8ba0, 0x8ba6, 0x8ba7,
    +    0x8baa, 0x8bb4, 0x8bb5, 0x8bb7, 0x8bc2, 0x8bc3, 0x8bcb, 0x8bcf,
    +    0x8bce, 0x8bd2, 0x8bd3, 0x8bd4, 0x8bd6, 0x8bd8, 0x8bd9, 0x8bdc,
    +    0x8bdf, 0x8be0, 0x8be4, 0x8be8, 0x8be9, 0x8bee, 0x8bf0, 0x8bf3,
    +    0x8bf6, 0x8bf9, 0x8bfc, 0x8bff, 0x8c00, 0x8c02, 0x8c04, 0x8c07,
    +    0x8c0c, 0x8c0f, 0x8c11, 0x8c12, 0x8c14, 0x8c15, 0x8c16, 0x8c19,
    +    0x8c1b, 0x8c18, 0x8c1d, 0x8c1f, 0x8c20, 0x8c21, 0x8c25, 0x8c27,
    +    0x8c2a, 0x8c2b, 0x8c2e, 0x8c2f, 0x8c32, 0x8c33, 0x8c35, 0x8c36,
    +    0x5369, 0x537a, 0x961d, 0x9622, 0x9621, 0x9631, 0x962a, 0x963d,
    +    0x963c, 0x9642, 0x9649, 0x9654, 0x965f, 0x9667, 0x966c, 0x9672,
    +    0x9674, 0x9688, 0x968d, 0x9697, 0x96b0, 0x9097, 0x909b, 0x909d,
    +    0x9099, 0x90ac, 0x90a1, 0x90b4, 0x90b3, 0x90b6, 0x90ba, 0x003f,
    +    /* lead byte db */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8dd5, 0x8dd8, 0x8dd9, 0x8ddc, 0x8de0, 0x8de1, 0x8de2, 0x8de5,
    +    0x8de6, 0x8de7, 0x8de9, 0x8ded, 0x8dee, 0x8df0, 0x8df1, 0x8df2,
    +    0x8df4, 0x8df6, 0x8dfc, 0x8dfe, 0x8dff, 0x8e00, 0x8e01, 0x8e02,
    +    0x8e03, 0x8e04, 0x8e06, 0x8e07, 0x8e08, 0x8e0b, 0x8e0d, 0x8e0e,
    +    0x8e10, 0x8e11, 0x8e12, 0x8e13, 0x8e15, 0x8e16, 0x8e17, 0x8e18,
    +    0x8e19, 0x8e1a, 0x8e1b, 0x8e1c, 0x8e20, 0x8e21, 0x8e24, 0x8e25,
    +    0x8e26, 0x8e27, 0x8e28, 0x8e2b, 0x8e2d, 0x8e30, 0x8e32, 0x8e33,
    +    0x8e34, 0x8e36, 0x8e37, 0x8e38, 0x8e3b, 0x8e3c, 0x8e3e, 0x003f,
    +    0x8e3f, 0x8e43, 0x8e45, 0x8e46, 0x8e4c, 0x8e4d, 0x8e4e, 0x8e4f,
    +    0x8e50, 0x8e53, 0x8e54, 0x8e55, 0x8e56, 0x8e57, 0x8e58, 0x8e5a,
    +    0x8e5b, 0x8e5c, 0x8e5d, 0x8e5e, 0x8e5f, 0x8e60, 0x8e61, 0x8e62,
    +    0x8e63, 0x8e64, 0x8e65, 0x8e67, 0x8e68, 0x8e6a, 0x8e6b, 0x8e6e,
    +    0x8e71, 0x90b8, 0x90b0, 0x90cf, 0x90c5, 0x90be, 0x90d0, 0x90c4,
    +    0x90c7, 0x90d3, 0x90e6, 0x90e2, 0x90dc, 0x90d7, 0x90db, 0x90eb,
    +    0x90ef, 0x90fe, 0x9104, 0x9122, 0x911e, 0x9123, 0x9131, 0x912f,
    +    0x9139, 0x9143, 0x9146, 0x520d, 0x5942, 0x52a2, 0x52ac, 0x52ad,
    +    0x52be, 0x54ff, 0x52d0, 0x52d6, 0x52f0, 0x53df, 0x71ee, 0x77cd,
    +    0x5ef4, 0x51f5, 0x51fc, 0x9b2f, 0x53b6, 0x5f01, 0x755a, 0x5def,
    +    0x574c, 0x57a9, 0x57a1, 0x587e, 0x58bc, 0x58c5, 0x58d1, 0x5729,
    +    0x572c, 0x572a, 0x5733, 0x5739, 0x572e, 0x572f, 0x575c, 0x573b,
    +    0x5742, 0x5769, 0x5785, 0x576b, 0x5786, 0x577c, 0x577b, 0x5768,
    +    0x576d, 0x5776, 0x5773, 0x57ad, 0x57a4, 0x578c, 0x57b2, 0x57cf,
    +    0x57a7, 0x57b4, 0x5793, 0x57a0, 0x57d5, 0x57d8, 0x57da, 0x57d9,
    +    0x57d2, 0x57b8, 0x57f4, 0x57ef, 0x57f8, 0x57e4, 0x57dd, 0x003f,
    +    /* lead byte dc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8e73, 0x8e75, 0x8e77, 0x8e78, 0x8e79, 0x8e7a, 0x8e7b, 0x8e7d,
    +    0x8e7e, 0x8e80, 0x8e82, 0x8e83, 0x8e84, 0x8e86, 0x8e88, 0x8e89,
    +    0x8e8a, 0x8e8b, 0x8e8c, 0x8e8d, 0x8e8e, 0x8e91, 0x8e92, 0x8e93,
    +    0x8e95, 0x8e96, 0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0x8e9b, 0x8e9d,
    +    0x8e9f, 0x8ea0, 0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6,
    +    0x8ea7, 0x8ea8, 0x8ea9, 0x8eaa, 0x8ead, 0x8eae, 0x8eb0, 0x8eb1,
    +    0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7, 0x8eb8, 0x8eb9, 0x8ebb,
    +    0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0, 0x8ec1, 0x8ec2, 0x003f,
    +    0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8, 0x8ec9, 0x8eca,
    +    0x8ecb, 0x8ecc, 0x8ecd, 0x8ecf, 0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3,
    +    0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7, 0x8ed8, 0x8ed9, 0x8eda, 0x8edb,
    +    0x8edc, 0x8edd, 0x8ede, 0x8edf, 0x8ee0, 0x8ee1, 0x8ee2, 0x8ee3,
    +    0x8ee4, 0x580b, 0x580d, 0x57fd, 0x57ed, 0x5800, 0x581e, 0x5819,
    +    0x5844, 0x5820, 0x5865, 0x586c, 0x5881, 0x5889, 0x589a, 0x5880,
    +    0x99a8, 0x9f19, 0x61ff, 0x8279, 0x827d, 0x827f, 0x828f, 0x828a,
    +    0x82a8, 0x8284, 0x828e, 0x8291, 0x8297, 0x8299, 0x82ab, 0x82b8,
    +    0x82be, 0x82b0, 0x82c8, 0x82ca, 0x82e3, 0x8298, 0x82b7, 0x82ae,
    +    0x82cb, 0x82cc, 0x82c1, 0x82a9, 0x82b4, 0x82a1, 0x82aa, 0x829f,
    +    0x82c4, 0x82ce, 0x82a4, 0x82e1, 0x8309, 0x82f7, 0x82e4, 0x830f,
    +    0x8307, 0x82dc, 0x82f4, 0x82d2, 0x82d8, 0x830c, 0x82fb, 0x82d3,
    +    0x8311, 0x831a, 0x8306, 0x8314, 0x8315, 0x82e0, 0x82d5, 0x831c,
    +    0x8351, 0x835b, 0x835c, 0x8308, 0x8392, 0x833c, 0x8334, 0x8331,
    +    0x839b, 0x835e, 0x832f, 0x834f, 0x8347, 0x8343, 0x835f, 0x8340,
    +    0x8317, 0x8360, 0x832d, 0x833a, 0x8333, 0x8366, 0x8365, 0x003f,
    +    /* lead byte dd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8ee5, 0x8ee6, 0x8ee7, 0x8ee8, 0x8ee9, 0x8eea, 0x8eeb, 0x8eec,
    +    0x8eed, 0x8eee, 0x8eef, 0x8ef0, 0x8ef1, 0x8ef2, 0x8ef3, 0x8ef4,
    +    0x8ef5, 0x8ef6, 0x8ef7, 0x8ef8, 0x8ef9, 0x8efa, 0x8efb, 0x8efc,
    +    0x8efd, 0x8efe, 0x8eff, 0x8f00, 0x8f01, 0x8f02, 0x8f03, 0x8f04,
    +    0x8f05, 0x8f06, 0x8f07, 0x8f08, 0x8f09, 0x8f0a, 0x8f0b, 0x8f0c,
    +    0x8f0d, 0x8f0e, 0x8f0f, 0x8f10, 0x8f11, 0x8f12, 0x8f13, 0x8f14,
    +    0x8f15, 0x8f16, 0x8f17, 0x8f18, 0x8f19, 0x8f1a, 0x8f1b, 0x8f1c,
    +    0x8f1d, 0x8f1e, 0x8f1f, 0x8f20, 0x8f21, 0x8f22, 0x8f23, 0x003f,
    +    0x8f24, 0x8f25, 0x8f26, 0x8f27, 0x8f28, 0x8f29, 0x8f2a, 0x8f2b,
    +    0x8f2c, 0x8f2d, 0x8f2e, 0x8f2f, 0x8f30, 0x8f31, 0x8f32, 0x8f33,
    +    0x8f34, 0x8f35, 0x8f36, 0x8f37, 0x8f38, 0x8f39, 0x8f3a, 0x8f3b,
    +    0x8f3c, 0x8f3d, 0x8f3e, 0x8f3f, 0x8f40, 0x8f41, 0x8f42, 0x8f43,
    +    0x8f44, 0x8368, 0x831b, 0x8369, 0x836c, 0x836a, 0x836d, 0x836e,
    +    0x83b0, 0x8378, 0x83b3, 0x83b4, 0x83a0, 0x83aa, 0x8393, 0x839c,
    +    0x8385, 0x837c, 0x83b6, 0x83a9, 0x837d, 0x83b8, 0x837b, 0x8398,
    +    0x839e, 0x83a8, 0x83ba, 0x83bc, 0x83c1, 0x8401, 0x83e5, 0x83d8,
    +    0x5807, 0x8418, 0x840b, 0x83dd, 0x83fd, 0x83d6, 0x841c, 0x8438,
    +    0x8411, 0x8406, 0x83d4, 0x83df, 0x840f, 0x8403, 0x83f8, 0x83f9,
    +    0x83ea, 0x83c5, 0x83c0, 0x8426, 0x83f0, 0x83e1, 0x845c, 0x8451,
    +    0x845a, 0x8459, 0x8473, 0x8487, 0x8488, 0x847a, 0x8489, 0x8478,
    +    0x843c, 0x8446, 0x8469, 0x8476, 0x848c, 0x848e, 0x8431, 0x846d,
    +    0x84c1, 0x84cd, 0x84d0, 0x84e6, 0x84bd, 0x84d3, 0x84ca, 0x84bf,
    +    0x84ba, 0x84e0, 0x84a1, 0x84b9, 0x84b4, 0x8497, 0x84e5, 0x84e3,
    +    0x850c, 0x750d, 0x8538, 0x84f0, 0x8539, 0x851f, 0x853a, 0x003f,
    +    /* lead byte de */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8f45, 0x8f46, 0x8f47, 0x8f48, 0x8f49, 0x8f4a, 0x8f4b, 0x8f4c,
    +    0x8f4d, 0x8f4e, 0x8f4f, 0x8f50, 0x8f51, 0x8f52, 0x8f53, 0x8f54,
    +    0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a, 0x8f5b, 0x8f5c,
    +    0x8f5d, 0x8f5e, 0x8f5f, 0x8f60, 0x8f61, 0x8f62, 0x8f63, 0x8f64,
    +    0x8f65, 0x8f6a, 0x8f80, 0x8f8c, 0x8f92, 0x8f9d, 0x8fa0, 0x8fa1,
    +    0x8fa2, 0x8fa4, 0x8fa5, 0x8fa6, 0x8fa7, 0x8faa, 0x8fac, 0x8fad,
    +    0x8fae, 0x8faf, 0x8fb2, 0x8fb3, 0x8fb4, 0x8fb5, 0x8fb7, 0x8fb8,
    +    0x8fba, 0x8fbb, 0x8fbc, 0x8fbf, 0x8fc0, 0x8fc3, 0x8fc6, 0x003f,
    +    0x8fc9, 0x8fca, 0x8fcb, 0x8fcc, 0x8fcd, 0x8fcf, 0x8fd2, 0x8fd6,
    +    0x8fd7, 0x8fda, 0x8fe0, 0x8fe1, 0x8fe3, 0x8fe7, 0x8fec, 0x8fef,
    +    0x8ff1, 0x8ff2, 0x8ff4, 0x8ff5, 0x8ff6, 0x8ffa, 0x8ffb, 0x8ffc,
    +    0x8ffe, 0x8fff, 0x9007, 0x9008, 0x900c, 0x900e, 0x9013, 0x9015,
    +    0x9018, 0x8556, 0x853b, 0x84ff, 0x84fc, 0x8559, 0x8548, 0x8568,
    +    0x8564, 0x855e, 0x857a, 0x77a2, 0x8543, 0x8572, 0x857b, 0x85a4,
    +    0x85a8, 0x8587, 0x858f, 0x8579, 0x85ae, 0x859c, 0x8585, 0x85b9,
    +    0x85b7, 0x85b0, 0x85d3, 0x85c1, 0x85dc, 0x85ff, 0x8627, 0x8605,
    +    0x8629, 0x8616, 0x863c, 0x5efe, 0x5f08, 0x593c, 0x5941, 0x8037,
    +    0x5955, 0x595a, 0x5958, 0x530f, 0x5c22, 0x5c25, 0x5c2c, 0x5c34,
    +    0x624c, 0x626a, 0x629f, 0x62bb, 0x62ca, 0x62da, 0x62d7, 0x62ee,
    +    0x6322, 0x62f6, 0x6339, 0x634b, 0x6343, 0x63ad, 0x63f6, 0x6371,
    +    0x637a, 0x638e, 0x63b4, 0x636d, 0x63ac, 0x638a, 0x6369, 0x63ae,
    +    0x63bc, 0x63f2, 0x63f8, 0x63e0, 0x63ff, 0x63c4, 0x63de, 0x63ce,
    +    0x6452, 0x63c6, 0x63be, 0x6445, 0x6441, 0x640b, 0x641b, 0x6420,
    +    0x640c, 0x6426, 0x6421, 0x645e, 0x6484, 0x646d, 0x6496, 0x003f,
    +    /* lead byte df */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9019, 0x901c, 0x9023, 0x9024, 0x9025, 0x9027, 0x9028, 0x9029,
    +    0x902a, 0x902b, 0x902c, 0x9030, 0x9031, 0x9032, 0x9033, 0x9034,
    +    0x9037, 0x9039, 0x903a, 0x903d, 0x903f, 0x9040, 0x9043, 0x9045,
    +    0x9046, 0x9048, 0x9049, 0x904a, 0x904b, 0x904c, 0x904e, 0x9054,
    +    0x9055, 0x9056, 0x9059, 0x905a, 0x905c, 0x905d, 0x905e, 0x905f,
    +    0x9060, 0x9061, 0x9064, 0x9066, 0x9067, 0x9069, 0x906a, 0x906b,
    +    0x906c, 0x906f, 0x9070, 0x9071, 0x9072, 0x9073, 0x9076, 0x9077,
    +    0x9078, 0x9079, 0x907a, 0x907b, 0x907c, 0x907e, 0x9081, 0x003f,
    +    0x9084, 0x9085, 0x9086, 0x9087, 0x9089, 0x908a, 0x908c, 0x908d,
    +    0x908e, 0x908f, 0x9090, 0x9092, 0x9094, 0x9096, 0x9098, 0x909a,
    +    0x909c, 0x909e, 0x909f, 0x90a0, 0x90a4, 0x90a5, 0x90a7, 0x90a8,
    +    0x90a9, 0x90ab, 0x90ad, 0x90b2, 0x90b7, 0x90bc, 0x90bd, 0x90bf,
    +    0x90c0, 0x647a, 0x64b7, 0x64b8, 0x6499, 0x64ba, 0x64c0, 0x64d0,
    +    0x64d7, 0x64e4, 0x64e2, 0x6509, 0x6525, 0x652e, 0x5f0b, 0x5fd2,
    +    0x7519, 0x5f11, 0x535f, 0x53f1, 0x53fd, 0x53e9, 0x53e8, 0x53fb,
    +    0x5412, 0x5416, 0x5406, 0x544b, 0x5452, 0x5453, 0x5454, 0x5456,
    +    0x5443, 0x5421, 0x5457, 0x5459, 0x5423, 0x5432, 0x5482, 0x5494,
    +    0x5477, 0x5471, 0x5464, 0x549a, 0x549b, 0x5484, 0x5476, 0x5466,
    +    0x549d, 0x54d0, 0x54ad, 0x54c2, 0x54b4, 0x54d2, 0x54a7, 0x54a6,
    +    0x54d3, 0x54d4, 0x5472, 0x54a3, 0x54d5, 0x54bb, 0x54bf, 0x54cc,
    +    0x54d9, 0x54da, 0x54dc, 0x54a9, 0x54aa, 0x54a4, 0x54dd, 0x54cf,
    +    0x54de, 0x551b, 0x54e7, 0x5520, 0x54fd, 0x5514, 0x54f3, 0x5522,
    +    0x5523, 0x550f, 0x5511, 0x5527, 0x552a, 0x5567, 0x558f, 0x55b5,
    +    0x5549, 0x556d, 0x5541, 0x5555, 0x553f, 0x5550, 0x553c, 0x003f,
    +    /* lead byte e0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x90c2, 0x90c3, 0x90c6, 0x90c8, 0x90c9, 0x90cb, 0x90cc, 0x90cd,
    +    0x90d2, 0x90d4, 0x90d5, 0x90d6, 0x90d8, 0x90d9, 0x90da, 0x90de,
    +    0x90df, 0x90e0, 0x90e3, 0x90e4, 0x90e5, 0x90e9, 0x90ea, 0x90ec,
    +    0x90ee, 0x90f0, 0x90f1, 0x90f2, 0x90f3, 0x90f5, 0x90f6, 0x90f7,
    +    0x90f9, 0x90fa, 0x90fb, 0x90fc, 0x90ff, 0x9100, 0x9101, 0x9103,
    +    0x9105, 0x9106, 0x9107, 0x9108, 0x9109, 0x910a, 0x910b, 0x910c,
    +    0x910d, 0x910e, 0x910f, 0x9110, 0x9111, 0x9112, 0x9113, 0x9114,
    +    0x9115, 0x9116, 0x9117, 0x9118, 0x911a, 0x911b, 0x911c, 0x003f,
    +    0x911d, 0x911f, 0x9120, 0x9121, 0x9124, 0x9125, 0x9126, 0x9127,
    +    0x9128, 0x9129, 0x912a, 0x912b, 0x912c, 0x912d, 0x912e, 0x9130,
    +    0x9132, 0x9133, 0x9134, 0x9135, 0x9136, 0x9137, 0x9138, 0x913a,
    +    0x913b, 0x913c, 0x913d, 0x913e, 0x913f, 0x9140, 0x9141, 0x9142,
    +    0x9144, 0x5537, 0x5556, 0x5575, 0x5576, 0x5577, 0x5533, 0x5530,
    +    0x555c, 0x558b, 0x55d2, 0x5583, 0x55b1, 0x55b9, 0x5588, 0x5581,
    +    0x559f, 0x557e, 0x55d6, 0x5591, 0x557b, 0x55df, 0x55bd, 0x55be,
    +    0x5594, 0x5599, 0x55ea, 0x55f7, 0x55c9, 0x561f, 0x55d1, 0x55eb,
    +    0x55ec, 0x55d4, 0x55e6, 0x55dd, 0x55c4, 0x55ef, 0x55e5, 0x55f2,
    +    0x55f3, 0x55cc, 0x55cd, 0x55e8, 0x55f5, 0x55e4, 0x8f94, 0x561e,
    +    0x5608, 0x560c, 0x5601, 0x5624, 0x5623, 0x55fe, 0x5600, 0x5627,
    +    0x562d, 0x5658, 0x5639, 0x5657, 0x562c, 0x564d, 0x5662, 0x5659,
    +    0x565c, 0x564c, 0x5654, 0x5686, 0x5664, 0x5671, 0x566b, 0x567b,
    +    0x567c, 0x5685, 0x5693, 0x56af, 0x56d4, 0x56d7, 0x56dd, 0x56e1,
    +    0x56f5, 0x56eb, 0x56f9, 0x56ff, 0x5704, 0x570a, 0x5709, 0x571c,
    +    0x5e0f, 0x5e19, 0x5e14, 0x5e11, 0x5e31, 0x5e3b, 0x5e3c, 0x003f,
    +    /* lead byte e1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9145, 0x9147, 0x9148, 0x9151, 0x9153, 0x9154, 0x9155, 0x9156,
    +    0x9158, 0x9159, 0x915b, 0x915c, 0x915f, 0x9160, 0x9166, 0x9167,
    +    0x9168, 0x916b, 0x916d, 0x9173, 0x917a, 0x917b, 0x917c, 0x9180,
    +    0x9181, 0x9182, 0x9183, 0x9184, 0x9186, 0x9188, 0x918a, 0x918e,
    +    0x918f, 0x9193, 0x9194, 0x9195, 0x9196, 0x9197, 0x9198, 0x9199,
    +    0x919c, 0x919d, 0x919e, 0x919f, 0x91a0, 0x91a1, 0x91a4, 0x91a5,
    +    0x91a6, 0x91a7, 0x91a8, 0x91a9, 0x91ab, 0x91ac, 0x91b0, 0x91b1,
    +    0x91b2, 0x91b3, 0x91b6, 0x91b7, 0x91b8, 0x91b9, 0x91bb, 0x003f,
    +    0x91bc, 0x91bd, 0x91be, 0x91bf, 0x91c0, 0x91c1, 0x91c2, 0x91c3,
    +    0x91c4, 0x91c5, 0x91c6, 0x91c8, 0x91cb, 0x91d0, 0x91d2, 0x91d3,
    +    0x91d4, 0x91d5, 0x91d6, 0x91d7, 0x91d8, 0x91d9, 0x91da, 0x91db,
    +    0x91dd, 0x91de, 0x91df, 0x91e0, 0x91e1, 0x91e2, 0x91e3, 0x91e4,
    +    0x91e5, 0x5e37, 0x5e44, 0x5e54, 0x5e5b, 0x5e5e, 0x5e61, 0x5c8c,
    +    0x5c7a, 0x5c8d, 0x5c90, 0x5c96, 0x5c88, 0x5c98, 0x5c99, 0x5c91,
    +    0x5c9a, 0x5c9c, 0x5cb5, 0x5ca2, 0x5cbd, 0x5cac, 0x5cab, 0x5cb1,
    +    0x5ca3, 0x5cc1, 0x5cb7, 0x5cc4, 0x5cd2, 0x5ce4, 0x5ccb, 0x5ce5,
    +    0x5d02, 0x5d03, 0x5d27, 0x5d26, 0x5d2e, 0x5d24, 0x5d1e, 0x5d06,
    +    0x5d1b, 0x5d58, 0x5d3e, 0x5d34, 0x5d3d, 0x5d6c, 0x5d5b, 0x5d6f,
    +    0x5d5d, 0x5d6b, 0x5d4b, 0x5d4a, 0x5d69, 0x5d74, 0x5d82, 0x5d99,
    +    0x5d9d, 0x8c73, 0x5db7, 0x5dc5, 0x5f73, 0x5f77, 0x5f82, 0x5f87,
    +    0x5f89, 0x5f8c, 0x5f95, 0x5f99, 0x5f9c, 0x5fa8, 0x5fad, 0x5fb5,
    +    0x5fbc, 0x8862, 0x5f61, 0x72ad, 0x72b0, 0x72b4, 0x72b7, 0x72b8,
    +    0x72c3, 0x72c1, 0x72ce, 0x72cd, 0x72d2, 0x72e8, 0x72ef, 0x72e9,
    +    0x72f2, 0x72f4, 0x72f7, 0x7301, 0x72f3, 0x7303, 0x72fa, 0x003f,
    +    /* lead byte e2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x91e6, 0x91e7, 0x91e8, 0x91e9, 0x91ea, 0x91eb, 0x91ec, 0x91ed,
    +    0x91ee, 0x91ef, 0x91f0, 0x91f1, 0x91f2, 0x91f3, 0x91f4, 0x91f5,
    +    0x91f6, 0x91f7, 0x91f8, 0x91f9, 0x91fa, 0x91fb, 0x91fc, 0x91fd,
    +    0x91fe, 0x91ff, 0x9200, 0x9201, 0x9202, 0x9203, 0x9204, 0x9205,
    +    0x9206, 0x9207, 0x9208, 0x9209, 0x920a, 0x920b, 0x920c, 0x920d,
    +    0x920e, 0x920f, 0x9210, 0x9211, 0x9212, 0x9213, 0x9214, 0x9215,
    +    0x9216, 0x9217, 0x9218, 0x9219, 0x921a, 0x921b, 0x921c, 0x921d,
    +    0x921e, 0x921f, 0x9220, 0x9221, 0x9222, 0x9223, 0x9224, 0x003f,
    +    0x9225, 0x9226, 0x9227, 0x9228, 0x9229, 0x922a, 0x922b, 0x922c,
    +    0x922d, 0x922e, 0x922f, 0x9230, 0x9231, 0x9232, 0x9233, 0x9234,
    +    0x9235, 0x9236, 0x9237, 0x9238, 0x9239, 0x923a, 0x923b, 0x923c,
    +    0x923d, 0x923e, 0x923f, 0x9240, 0x9241, 0x9242, 0x9243, 0x9244,
    +    0x9245, 0x72fb, 0x7317, 0x7313, 0x7321, 0x730a, 0x731e, 0x731d,
    +    0x7315, 0x7322, 0x7339, 0x7325, 0x732c, 0x7338, 0x7331, 0x7350,
    +    0x734d, 0x7357, 0x7360, 0x736c, 0x736f, 0x737e, 0x821b, 0x5925,
    +    0x98e7, 0x5924, 0x5902, 0x9963, 0x9967, 0x9968, 0x9969, 0x996a,
    +    0x996b, 0x996c, 0x9974, 0x9977, 0x997d, 0x9980, 0x9984, 0x9987,
    +    0x998a, 0x998d, 0x9990, 0x9991, 0x9993, 0x9994, 0x9995, 0x5e80,
    +    0x5e91, 0x5e8b, 0x5e96, 0x5ea5, 0x5ea0, 0x5eb9, 0x5eb5, 0x5ebe,
    +    0x5eb3, 0x8d53, 0x5ed2, 0x5ed1, 0x5edb, 0x5ee8, 0x5eea, 0x81ba,
    +    0x5fc4, 0x5fc9, 0x5fd6, 0x5fcf, 0x6003, 0x5fee, 0x6004, 0x5fe1,
    +    0x5fe4, 0x5ffe, 0x6005, 0x6006, 0x5fea, 0x5fed, 0x5ff8, 0x6019,
    +    0x6035, 0x6026, 0x601b, 0x600f, 0x600d, 0x6029, 0x602b, 0x600a,
    +    0x603f, 0x6021, 0x6078, 0x6079, 0x607b, 0x607a, 0x6042, 0x003f,
    +    /* lead byte e3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9246, 0x9247, 0x9248, 0x9249, 0x924a, 0x924b, 0x924c, 0x924d,
    +    0x924e, 0x924f, 0x9250, 0x9251, 0x9252, 0x9253, 0x9254, 0x9255,
    +    0x9256, 0x9257, 0x9258, 0x9259, 0x925a, 0x925b, 0x925c, 0x925d,
    +    0x925e, 0x925f, 0x9260, 0x9261, 0x9262, 0x9263, 0x9264, 0x9265,
    +    0x9266, 0x9267, 0x9268, 0x9269, 0x926a, 0x926b, 0x926c, 0x926d,
    +    0x926e, 0x926f, 0x9270, 0x9271, 0x9272, 0x9273, 0x9275, 0x9276,
    +    0x9277, 0x9278, 0x9279, 0x927a, 0x927b, 0x927c, 0x927d, 0x927e,
    +    0x927f, 0x9280, 0x9281, 0x9282, 0x9283, 0x9284, 0x9285, 0x003f,
    +    0x9286, 0x9287, 0x9288, 0x9289, 0x928a, 0x928b, 0x928c, 0x928d,
    +    0x928f, 0x9290, 0x9291, 0x9292, 0x9293, 0x9294, 0x9295, 0x9296,
    +    0x9297, 0x9298, 0x9299, 0x929a, 0x929b, 0x929c, 0x929d, 0x929e,
    +    0x929f, 0x92a0, 0x92a1, 0x92a2, 0x92a3, 0x92a4, 0x92a5, 0x92a6,
    +    0x92a7, 0x606a, 0x607d, 0x6096, 0x609a, 0x60ad, 0x609d, 0x6083,
    +    0x6092, 0x608c, 0x609b, 0x60ec, 0x60bb, 0x60b1, 0x60dd, 0x60d8,
    +    0x60c6, 0x60da, 0x60b4, 0x6120, 0x6126, 0x6115, 0x6123, 0x60f4,
    +    0x6100, 0x610e, 0x612b, 0x614a, 0x6175, 0x61ac, 0x6194, 0x61a7,
    +    0x61b7, 0x61d4, 0x61f5, 0x5fdd, 0x96b3, 0x95e9, 0x95eb, 0x95f1,
    +    0x95f3, 0x95f5, 0x95f6, 0x95fc, 0x95fe, 0x9603, 0x9604, 0x9606,
    +    0x9608, 0x960a, 0x960b, 0x960c, 0x960d, 0x960f, 0x9612, 0x9615,
    +    0x9616, 0x9617, 0x9619, 0x961a, 0x4e2c, 0x723f, 0x6215, 0x6c35,
    +    0x6c54, 0x6c5c, 0x6c4a, 0x6ca3, 0x6c85, 0x6c90, 0x6c94, 0x6c8c,
    +    0x6c68, 0x6c69, 0x6c74, 0x6c76, 0x6c86, 0x6ca9, 0x6cd0, 0x6cd4,
    +    0x6cad, 0x6cf7, 0x6cf8, 0x6cf1, 0x6cd7, 0x6cb2, 0x6ce0, 0x6cd6,
    +    0x6cfa, 0x6ceb, 0x6cee, 0x6cb1, 0x6cd3, 0x6cef, 0x6cfe, 0x003f,
    +    /* lead byte e4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x92a8, 0x92a9, 0x92aa, 0x92ab, 0x92ac, 0x92ad, 0x92af, 0x92b0,
    +    0x92b1, 0x92b2, 0x92b3, 0x92b4, 0x92b5, 0x92b6, 0x92b7, 0x92b8,
    +    0x92b9, 0x92ba, 0x92bb, 0x92bc, 0x92bd, 0x92be, 0x92bf, 0x92c0,
    +    0x92c1, 0x92c2, 0x92c3, 0x92c4, 0x92c5, 0x92c6, 0x92c7, 0x92c9,
    +    0x92ca, 0x92cb, 0x92cc, 0x92cd, 0x92ce, 0x92cf, 0x92d0, 0x92d1,
    +    0x92d2, 0x92d3, 0x92d4, 0x92d5, 0x92d6, 0x92d7, 0x92d8, 0x92d9,
    +    0x92da, 0x92db, 0x92dc, 0x92dd, 0x92de, 0x92df, 0x92e0, 0x92e1,
    +    0x92e2, 0x92e3, 0x92e4, 0x92e5, 0x92e6, 0x92e7, 0x92e8, 0x003f,
    +    0x92e9, 0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0,
    +    0x92f1, 0x92f2, 0x92f3, 0x92f4, 0x92f5, 0x92f6, 0x92f7, 0x92f8,
    +    0x92f9, 0x92fa, 0x92fb, 0x92fc, 0x92fd, 0x92fe, 0x92ff, 0x9300,
    +    0x9301, 0x9302, 0x9303, 0x9304, 0x9305, 0x9306, 0x9307, 0x9308,
    +    0x9309, 0x6d39, 0x6d27, 0x6d0c, 0x6d43, 0x6d48, 0x6d07, 0x6d04,
    +    0x6d19, 0x6d0e, 0x6d2b, 0x6d4d, 0x6d2e, 0x6d35, 0x6d1a, 0x6d4f,
    +    0x6d52, 0x6d54, 0x6d33, 0x6d91, 0x6d6f, 0x6d9e, 0x6da0, 0x6d5e,
    +    0x6d93, 0x6d94, 0x6d5c, 0x6d60, 0x6d7c, 0x6d63, 0x6e1a, 0x6dc7,
    +    0x6dc5, 0x6dde, 0x6e0e, 0x6dbf, 0x6de0, 0x6e11, 0x6de6, 0x6ddd,
    +    0x6dd9, 0x6e16, 0x6dab, 0x6e0c, 0x6dae, 0x6e2b, 0x6e6e, 0x6e4e,
    +    0x6e6b, 0x6eb2, 0x6e5f, 0x6e86, 0x6e53, 0x6e54, 0x6e32, 0x6e25,
    +    0x6e44, 0x6edf, 0x6eb1, 0x6e98, 0x6ee0, 0x6f2d, 0x6ee2, 0x6ea5,
    +    0x6ea7, 0x6ebd, 0x6ebb, 0x6eb7, 0x6ed7, 0x6eb4, 0x6ecf, 0x6e8f,
    +    0x6ec2, 0x6e9f, 0x6f62, 0x6f46, 0x6f47, 0x6f24, 0x6f15, 0x6ef9,
    +    0x6f2f, 0x6f36, 0x6f4b, 0x6f74, 0x6f2a, 0x6f09, 0x6f29, 0x6f89,
    +    0x6f8d, 0x6f8c, 0x6f78, 0x6f72, 0x6f7c, 0x6f7a, 0x6fd1, 0x003f,
    +    /* lead byte e5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x930a, 0x930b, 0x930c, 0x930d, 0x930e, 0x930f, 0x9310, 0x9311,
    +    0x9312, 0x9313, 0x9314, 0x9315, 0x9316, 0x9317, 0x9318, 0x9319,
    +    0x931a, 0x931b, 0x931c, 0x931d, 0x931e, 0x931f, 0x9320, 0x9321,
    +    0x9322, 0x9323, 0x9324, 0x9325, 0x9326, 0x9327, 0x9328, 0x9329,
    +    0x932a, 0x932b, 0x932c, 0x932d, 0x932e, 0x932f, 0x9330, 0x9331,
    +    0x9332, 0x9333, 0x9334, 0x9335, 0x9336, 0x9337, 0x9338, 0x9339,
    +    0x933a, 0x933b, 0x933c, 0x933d, 0x933f, 0x9340, 0x9341, 0x9342,
    +    0x9343, 0x9344, 0x9345, 0x9346, 0x9347, 0x9348, 0x9349, 0x003f,
    +    0x934a, 0x934b, 0x934c, 0x934d, 0x934e, 0x934f, 0x9350, 0x9351,
    +    0x9352, 0x9353, 0x9354, 0x9355, 0x9356, 0x9357, 0x9358, 0x9359,
    +    0x935a, 0x935b, 0x935c, 0x935d, 0x935e, 0x935f, 0x9360, 0x9361,
    +    0x9362, 0x9363, 0x9364, 0x9365, 0x9366, 0x9367, 0x9368, 0x9369,
    +    0x936b, 0x6fc9, 0x6fa7, 0x6fb9, 0x6fb6, 0x6fc2, 0x6fe1, 0x6fee,
    +    0x6fde, 0x6fe0, 0x6fef, 0x701a, 0x7023, 0x701b, 0x7039, 0x7035,
    +    0x704f, 0x705e, 0x5b80, 0x5b84, 0x5b95, 0x5b93, 0x5ba5, 0x5bb8,
    +    0x752f, 0x9a9e, 0x6434, 0x5be4, 0x5bee, 0x8930, 0x5bf0, 0x8e47,
    +    0x8b07, 0x8fb6, 0x8fd3, 0x8fd5, 0x8fe5, 0x8fee, 0x8fe4, 0x8fe9,
    +    0x8fe6, 0x8ff3, 0x8fe8, 0x9005, 0x9004, 0x900b, 0x9026, 0x9011,
    +    0x900d, 0x9016, 0x9021, 0x9035, 0x9036, 0x902d, 0x902f, 0x9044,
    +    0x9051, 0x9052, 0x9050, 0x9068, 0x9058, 0x9062, 0x905b, 0x66b9,
    +    0x9074, 0x907d, 0x9082, 0x9088, 0x9083, 0x908b, 0x5f50, 0x5f57,
    +    0x5f56, 0x5f58, 0x5c3b, 0x54ab, 0x5c50, 0x5c59, 0x5b71, 0x5c63,
    +    0x5c66, 0x7fbc, 0x5f2a, 0x5f29, 0x5f2d, 0x8274, 0x5f3c, 0x9b3b,
    +    0x5c6e, 0x5981, 0x5983, 0x598d, 0x59a9, 0x59aa, 0x59a3, 0x003f,
    +    /* lead byte e6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x936c, 0x936d, 0x936e, 0x936f, 0x9370, 0x9371, 0x9372, 0x9373,
    +    0x9374, 0x9375, 0x9376, 0x9377, 0x9378, 0x9379, 0x937a, 0x937b,
    +    0x937c, 0x937d, 0x937e, 0x937f, 0x9380, 0x9381, 0x9382, 0x9383,
    +    0x9384, 0x9385, 0x9386, 0x9387, 0x9388, 0x9389, 0x938a, 0x938b,
    +    0x938c, 0x938d, 0x938e, 0x9390, 0x9391, 0x9392, 0x9393, 0x9394,
    +    0x9395, 0x9396, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b, 0x939c,
    +    0x939d, 0x939e, 0x939f, 0x93a0, 0x93a1, 0x93a2, 0x93a3, 0x93a4,
    +    0x93a5, 0x93a6, 0x93a7, 0x93a8, 0x93a9, 0x93aa, 0x93ab, 0x003f,
    +    0x93ac, 0x93ad, 0x93ae, 0x93af, 0x93b0, 0x93b1, 0x93b2, 0x93b3,
    +    0x93b4, 0x93b5, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba, 0x93bb,
    +    0x93bc, 0x93bd, 0x93be, 0x93bf, 0x93c0, 0x93c1, 0x93c2, 0x93c3,
    +    0x93c4, 0x93c5, 0x93c6, 0x93c7, 0x93c8, 0x93c9, 0x93cb, 0x93cc,
    +    0x93cd, 0x5997, 0x59ca, 0x59ab, 0x599e, 0x59a4, 0x59d2, 0x59b2,
    +    0x59af, 0x59d7, 0x59be, 0x5a05, 0x5a06, 0x59dd, 0x5a08, 0x59e3,
    +    0x59d8, 0x59f9, 0x5a0c, 0x5a09, 0x5a32, 0x5a34, 0x5a11, 0x5a23,
    +    0x5a13, 0x5a40, 0x5a67, 0x5a4a, 0x5a55, 0x5a3c, 0x5a62, 0x5a75,
    +    0x80ec, 0x5aaa, 0x5a9b, 0x5a77, 0x5a7a, 0x5abe, 0x5aeb, 0x5ab2,
    +    0x5ad2, 0x5ad4, 0x5ab8, 0x5ae0, 0x5ae3, 0x5af1, 0x5ad6, 0x5ae6,
    +    0x5ad8, 0x5adc, 0x5b09, 0x5b17, 0x5b16, 0x5b32, 0x5b37, 0x5b40,
    +    0x5c15, 0x5c1c, 0x5b5a, 0x5b65, 0x5b73, 0x5b51, 0x5b53, 0x5b62,
    +    0x9a75, 0x9a77, 0x9a78, 0x9a7a, 0x9a7f, 0x9a7d, 0x9a80, 0x9a81,
    +    0x9a85, 0x9a88, 0x9a8a, 0x9a90, 0x9a92, 0x9a93, 0x9a96, 0x9a98,
    +    0x9a9b, 0x9a9c, 0x9a9d, 0x9a9f, 0x9aa0, 0x9aa2, 0x9aa3, 0x9aa5,
    +    0x9aa7, 0x7e9f, 0x7ea1, 0x7ea3, 0x7ea5, 0x7ea8, 0x7ea9, 0x003f,
    +    /* lead byte e7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x93ce, 0x93cf, 0x93d0, 0x93d1, 0x93d2, 0x93d3, 0x93d4, 0x93d5,
    +    0x93d7, 0x93d8, 0x93d9, 0x93da, 0x93db, 0x93dc, 0x93dd, 0x93de,
    +    0x93df, 0x93e0, 0x93e1, 0x93e2, 0x93e3, 0x93e4, 0x93e5, 0x93e6,
    +    0x93e7, 0x93e8, 0x93e9, 0x93ea, 0x93eb, 0x93ec, 0x93ed, 0x93ee,
    +    0x93ef, 0x93f0, 0x93f1, 0x93f2, 0x93f3, 0x93f4, 0x93f5, 0x93f6,
    +    0x93f7, 0x93f8, 0x93f9, 0x93fa, 0x93fb, 0x93fc, 0x93fd, 0x93fe,
    +    0x93ff, 0x9400, 0x9401, 0x9402, 0x9403, 0x9404, 0x9405, 0x9406,
    +    0x9407, 0x9408, 0x9409, 0x940a, 0x940b, 0x940c, 0x940d, 0x003f,
    +    0x940e, 0x940f, 0x9410, 0x9411, 0x9412, 0x9413, 0x9414, 0x9415,
    +    0x9416, 0x9417, 0x9418, 0x9419, 0x941a, 0x941b, 0x941c, 0x941d,
    +    0x941e, 0x941f, 0x9420, 0x9421, 0x9422, 0x9423, 0x9424, 0x9425,
    +    0x9426, 0x9427, 0x9428, 0x9429, 0x942a, 0x942b, 0x942c, 0x942d,
    +    0x942e, 0x7ead, 0x7eb0, 0x7ebe, 0x7ec0, 0x7ec1, 0x7ec2, 0x7ec9,
    +    0x7ecb, 0x7ecc, 0x7ed0, 0x7ed4, 0x7ed7, 0x7edb, 0x7ee0, 0x7ee1,
    +    0x7ee8, 0x7eeb, 0x7eee, 0x7eef, 0x7ef1, 0x7ef2, 0x7f0d, 0x7ef6,
    +    0x7efa, 0x7efb, 0x7efe, 0x7f01, 0x7f02, 0x7f03, 0x7f07, 0x7f08,
    +    0x7f0b, 0x7f0c, 0x7f0f, 0x7f11, 0x7f12, 0x7f17, 0x7f19, 0x7f1c,
    +    0x7f1b, 0x7f1f, 0x7f21, 0x7f22, 0x7f23, 0x7f24, 0x7f25, 0x7f26,
    +    0x7f27, 0x7f2a, 0x7f2b, 0x7f2c, 0x7f2d, 0x7f2f, 0x7f30, 0x7f31,
    +    0x7f32, 0x7f33, 0x7f35, 0x5e7a, 0x757f, 0x5ddb, 0x753e, 0x9095,
    +    0x738e, 0x7391, 0x73ae, 0x73a2, 0x739f, 0x73cf, 0x73c2, 0x73d1,
    +    0x73b7, 0x73b3, 0x73c0, 0x73c9, 0x73c8, 0x73e5, 0x73d9, 0x987c,
    +    0x740a, 0x73e9, 0x73e7, 0x73de, 0x73ba, 0x73f2, 0x740f, 0x742a,
    +    0x745b, 0x7426, 0x7425, 0x7428, 0x7430, 0x742e, 0x742c, 0x003f,
    +    /* lead byte e8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x942f, 0x9430, 0x9431, 0x9432, 0x9433, 0x9434, 0x9435, 0x9436,
    +    0x9437, 0x9438, 0x9439, 0x943a, 0x943b, 0x943c, 0x943d, 0x943f,
    +    0x9440, 0x9441, 0x9442, 0x9443, 0x9444, 0x9445, 0x9446, 0x9447,
    +    0x9448, 0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e, 0x944f,
    +    0x9450, 0x9451, 0x9452, 0x9453, 0x9454, 0x9455, 0x9456, 0x9457,
    +    0x9458, 0x9459, 0x945a, 0x945b, 0x945c, 0x945d, 0x945e, 0x945f,
    +    0x9460, 0x9461, 0x9462, 0x9463, 0x9464, 0x9465, 0x9466, 0x9467,
    +    0x9468, 0x9469, 0x946a, 0x946c, 0x946d, 0x946e, 0x946f, 0x003f,
    +    0x9470, 0x9471, 0x9472, 0x9473, 0x9474, 0x9475, 0x9476, 0x9477,
    +    0x9478, 0x9479, 0x947a, 0x947b, 0x947c, 0x947d, 0x947e, 0x947f,
    +    0x9480, 0x9481, 0x9482, 0x9483, 0x9484, 0x9491, 0x9496, 0x9498,
    +    0x94c7, 0x94cf, 0x94d3, 0x94d4, 0x94da, 0x94e6, 0x94fb, 0x951c,
    +    0x9520, 0x741b, 0x741a, 0x7441, 0x745c, 0x7457, 0x7455, 0x7459,
    +    0x7477, 0x746d, 0x747e, 0x749c, 0x748e, 0x7480, 0x7481, 0x7487,
    +    0x748b, 0x749e, 0x74a8, 0x74a9, 0x7490, 0x74a7, 0x74d2, 0x74ba,
    +    0x97ea, 0x97eb, 0x97ec, 0x674c, 0x6753, 0x675e, 0x6748, 0x6769,
    +    0x67a5, 0x6787, 0x676a, 0x6773, 0x6798, 0x67a7, 0x6775, 0x67a8,
    +    0x679e, 0x67ad, 0x678b, 0x6777, 0x677c, 0x67f0, 0x6809, 0x67d8,
    +    0x680a, 0x67e9, 0x67b0, 0x680c, 0x67d9, 0x67b5, 0x67da, 0x67b3,
    +    0x67dd, 0x6800, 0x67c3, 0x67b8, 0x67e2, 0x680e, 0x67c1, 0x67fd,
    +    0x6832, 0x6833, 0x6860, 0x6861, 0x684e, 0x6862, 0x6844, 0x6864,
    +    0x6883, 0x681d, 0x6855, 0x6866, 0x6841, 0x6867, 0x6840, 0x683e,
    +    0x684a, 0x6849, 0x6829, 0x68b5, 0x688f, 0x6874, 0x6877, 0x6893,
    +    0x686b, 0x68c2, 0x696e, 0x68fc, 0x691f, 0x6920, 0x68f9, 0x003f,
    +    /* lead byte e9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9527, 0x9533, 0x953d, 0x9543, 0x9548, 0x954b, 0x9555, 0x955a,
    +    0x9560, 0x956e, 0x9574, 0x9575, 0x9577, 0x9578, 0x9579, 0x957a,
    +    0x957b, 0x957c, 0x957d, 0x957e, 0x9580, 0x9581, 0x9582, 0x9583,
    +    0x9584, 0x9585, 0x9586, 0x9587, 0x9588, 0x9589, 0x958a, 0x958b,
    +    0x958c, 0x958d, 0x958e, 0x958f, 0x9590, 0x9591, 0x9592, 0x9593,
    +    0x9594, 0x9595, 0x9596, 0x9597, 0x9598, 0x9599, 0x959a, 0x959b,
    +    0x959c, 0x959d, 0x959e, 0x959f, 0x95a0, 0x95a1, 0x95a2, 0x95a3,
    +    0x95a4, 0x95a5, 0x95a6, 0x95a7, 0x95a8, 0x95a9, 0x95aa, 0x003f,
    +    0x95ab, 0x95ac, 0x95ad, 0x95ae, 0x95af, 0x95b0, 0x95b1, 0x95b2,
    +    0x95b3, 0x95b4, 0x95b5, 0x95b6, 0x95b7, 0x95b8, 0x95b9, 0x95ba,
    +    0x95bb, 0x95bc, 0x95bd, 0x95be, 0x95bf, 0x95c0, 0x95c1, 0x95c2,
    +    0x95c3, 0x95c4, 0x95c5, 0x95c6, 0x95c7, 0x95c8, 0x95c9, 0x95ca,
    +    0x95cb, 0x6924, 0x68f0, 0x690b, 0x6901, 0x6957, 0x68e3, 0x6910,
    +    0x6971, 0x6939, 0x6960, 0x6942, 0x695d, 0x6984, 0x696b, 0x6980,
    +    0x6998, 0x6978, 0x6934, 0x69cc, 0x6987, 0x6988, 0x69ce, 0x6989,
    +    0x6966, 0x6963, 0x6979, 0x699b, 0x69a7, 0x69bb, 0x69ab, 0x69ad,
    +    0x69d4, 0x69b1, 0x69c1, 0x69ca, 0x69df, 0x6995, 0x69e0, 0x698d,
    +    0x69ff, 0x6a2f, 0x69ed, 0x6a17, 0x6a18, 0x6a65, 0x69f2, 0x6a44,
    +    0x6a3e, 0x6aa0, 0x6a50, 0x6a5b, 0x6a35, 0x6a8e, 0x6a79, 0x6a3d,
    +    0x6a28, 0x6a58, 0x6a7c, 0x6a91, 0x6a90, 0x6aa9, 0x6a97, 0x6aab,
    +    0x7337, 0x7352, 0x6b81, 0x6b82, 0x6b87, 0x6b84, 0x6b92, 0x6b93,
    +    0x6b8d, 0x6b9a, 0x6b9b, 0x6ba1, 0x6baa, 0x8f6b, 0x8f6d, 0x8f71,
    +    0x8f72, 0x8f73, 0x8f75, 0x8f76, 0x8f78, 0x8f77, 0x8f79, 0x8f7a,
    +    0x8f7c, 0x8f7e, 0x8f81, 0x8f82, 0x8f84, 0x8f87, 0x8f8b, 0x003f,
    +    /* lead byte ea */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x95cc, 0x95cd, 0x95ce, 0x95cf, 0x95d0, 0x95d1, 0x95d2, 0x95d3,
    +    0x95d4, 0x95d5, 0x95d6, 0x95d7, 0x95d8, 0x95d9, 0x95da, 0x95db,
    +    0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1, 0x95e2, 0x95e3,
    +    0x95e4, 0x95e5, 0x95e6, 0x95e7, 0x95ec, 0x95ff, 0x9607, 0x9613,
    +    0x9618, 0x961b, 0x961e, 0x9620, 0x9623, 0x9624, 0x9625, 0x9626,
    +    0x9627, 0x9628, 0x9629, 0x962b, 0x962c, 0x962d, 0x962f, 0x9630,
    +    0x9637, 0x9638, 0x9639, 0x963a, 0x963e, 0x9641, 0x9643, 0x964a,
    +    0x964e, 0x964f, 0x9651, 0x9652, 0x9653, 0x9656, 0x9657, 0x003f,
    +    0x9658, 0x9659, 0x965a, 0x965c, 0x965d, 0x965e, 0x9660, 0x9663,
    +    0x9665, 0x9666, 0x966b, 0x966d, 0x966e, 0x966f, 0x9670, 0x9671,
    +    0x9673, 0x9678, 0x9679, 0x967a, 0x967b, 0x967c, 0x967d, 0x967e,
    +    0x967f, 0x9680, 0x9681, 0x9682, 0x9683, 0x9684, 0x9687, 0x9689,
    +    0x968a, 0x8f8d, 0x8f8e, 0x8f8f, 0x8f98, 0x8f9a, 0x8ece, 0x620b,
    +    0x6217, 0x621b, 0x621f, 0x6222, 0x6221, 0x6225, 0x6224, 0x622c,
    +    0x81e7, 0x74ef, 0x74f4, 0x74ff, 0x750f, 0x7511, 0x7513, 0x6534,
    +    0x65ee, 0x65ef, 0x65f0, 0x660a, 0x6619, 0x6772, 0x6603, 0x6615,
    +    0x6600, 0x7085, 0x66f7, 0x661d, 0x6634, 0x6631, 0x6636, 0x6635,
    +    0x8006, 0x665f, 0x6654, 0x6641, 0x664f, 0x6656, 0x6661, 0x6657,
    +    0x6677, 0x6684, 0x668c, 0x66a7, 0x669d, 0x66be, 0x66db, 0x66dc,
    +    0x66e6, 0x66e9, 0x8d32, 0x8d33, 0x8d36, 0x8d3b, 0x8d3d, 0x8d40,
    +    0x8d45, 0x8d46, 0x8d48, 0x8d49, 0x8d47, 0x8d4d, 0x8d55, 0x8d59,
    +    0x89c7, 0x89ca, 0x89cb, 0x89cc, 0x89ce, 0x89cf, 0x89d0, 0x89d1,
    +    0x726e, 0x729f, 0x725d, 0x7266, 0x726f, 0x727e, 0x727f, 0x7284,
    +    0x728b, 0x728d, 0x728f, 0x7292, 0x6308, 0x6332, 0x63b0, 0x003f,
    +    /* lead byte eb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x968c, 0x968e, 0x9691, 0x9692, 0x9693, 0x9695, 0x9696, 0x969a,
    +    0x969b, 0x969d, 0x969e, 0x969f, 0x96a0, 0x96a1, 0x96a2, 0x96a3,
    +    0x96a4, 0x96a5, 0x96a6, 0x96a8, 0x96a9, 0x96aa, 0x96ab, 0x96ac,
    +    0x96ad, 0x96ae, 0x96af, 0x96b1, 0x96b2, 0x96b4, 0x96b5, 0x96b7,
    +    0x96b8, 0x96ba, 0x96bb, 0x96bf, 0x96c2, 0x96c3, 0x96c8, 0x96ca,
    +    0x96cb, 0x96d0, 0x96d1, 0x96d3, 0x96d4, 0x96d6, 0x96d7, 0x96d8,
    +    0x96d9, 0x96da, 0x96db, 0x96dc, 0x96dd, 0x96de, 0x96df, 0x96e1,
    +    0x96e2, 0x96e3, 0x96e4, 0x96e5, 0x96e6, 0x96e7, 0x96eb, 0x003f,
    +    0x96ec, 0x96ed, 0x96ee, 0x96f0, 0x96f1, 0x96f2, 0x96f4, 0x96f5,
    +    0x96f8, 0x96fa, 0x96fb, 0x96fc, 0x96fd, 0x96ff, 0x9702, 0x9703,
    +    0x9705, 0x970a, 0x970b, 0x970c, 0x9710, 0x9711, 0x9712, 0x9714,
    +    0x9715, 0x9717, 0x9718, 0x9719, 0x971a, 0x971b, 0x971d, 0x971f,
    +    0x9720, 0x643f, 0x64d8, 0x8004, 0x6bea, 0x6bf3, 0x6bfd, 0x6bf5,
    +    0x6bf9, 0x6c05, 0x6c07, 0x6c06, 0x6c0d, 0x6c15, 0x6c18, 0x6c19,
    +    0x6c1a, 0x6c21, 0x6c29, 0x6c24, 0x6c2a, 0x6c32, 0x6535, 0x6555,
    +    0x656b, 0x724d, 0x7252, 0x7256, 0x7230, 0x8662, 0x5216, 0x809f,
    +    0x809c, 0x8093, 0x80bc, 0x670a, 0x80bd, 0x80b1, 0x80ab, 0x80ad,
    +    0x80b4, 0x80b7, 0x80e7, 0x80e8, 0x80e9, 0x80ea, 0x80db, 0x80c2,
    +    0x80c4, 0x80d9, 0x80cd, 0x80d7, 0x6710, 0x80dd, 0x80eb, 0x80f1,
    +    0x80f4, 0x80ed, 0x810d, 0x810e, 0x80f2, 0x80fc, 0x6715, 0x8112,
    +    0x8c5a, 0x8136, 0x811e, 0x812c, 0x8118, 0x8132, 0x8148, 0x814c,
    +    0x8153, 0x8174, 0x8159, 0x815a, 0x8171, 0x8160, 0x8169, 0x817c,
    +    0x817d, 0x816d, 0x8167, 0x584d, 0x5ab5, 0x8188, 0x8182, 0x8191,
    +    0x6ed5, 0x81a3, 0x81aa, 0x81cc, 0x6726, 0x81ca, 0x81bb, 0x003f,
    +    /* lead byte ec */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9721, 0x9722, 0x9723, 0x9724, 0x9725, 0x9726, 0x9727, 0x9728,
    +    0x9729, 0x972b, 0x972c, 0x972e, 0x972f, 0x9731, 0x9733, 0x9734,
    +    0x9735, 0x9736, 0x9737, 0x973a, 0x973b, 0x973c, 0x973d, 0x973f,
    +    0x9740, 0x9741, 0x9742, 0x9743, 0x9744, 0x9745, 0x9746, 0x9747,
    +    0x9748, 0x9749, 0x974a, 0x974b, 0x974c, 0x974d, 0x974e, 0x974f,
    +    0x9750, 0x9751, 0x9754, 0x9755, 0x9757, 0x9758, 0x975a, 0x975c,
    +    0x975d, 0x975f, 0x9763, 0x9764, 0x9766, 0x9767, 0x9768, 0x976a,
    +    0x976b, 0x976c, 0x976d, 0x976e, 0x976f, 0x9770, 0x9771, 0x003f,
    +    0x9772, 0x9775, 0x9777, 0x9778, 0x9779, 0x977a, 0x977b, 0x977d,
    +    0x977e, 0x977f, 0x9780, 0x9781, 0x9782, 0x9783, 0x9784, 0x9786,
    +    0x9787, 0x9788, 0x9789, 0x978a, 0x978c, 0x978e, 0x978f, 0x9790,
    +    0x9793, 0x9795, 0x9796, 0x9797, 0x9799, 0x979a, 0x979b, 0x979c,
    +    0x979d, 0x81c1, 0x81a6, 0x6b24, 0x6b37, 0x6b39, 0x6b43, 0x6b46,
    +    0x6b59, 0x98d1, 0x98d2, 0x98d3, 0x98d5, 0x98d9, 0x98da, 0x6bb3,
    +    0x5f40, 0x6bc2, 0x89f3, 0x6590, 0x9f51, 0x6593, 0x65bc, 0x65c6,
    +    0x65c4, 0x65c3, 0x65cc, 0x65ce, 0x65d2, 0x65d6, 0x7080, 0x709c,
    +    0x7096, 0x709d, 0x70bb, 0x70c0, 0x70b7, 0x70ab, 0x70b1, 0x70e8,
    +    0x70ca, 0x7110, 0x7113, 0x7116, 0x712f, 0x7131, 0x7173, 0x715c,
    +    0x7168, 0x7145, 0x7172, 0x714a, 0x7178, 0x717a, 0x7198, 0x71b3,
    +    0x71b5, 0x71a8, 0x71a0, 0x71e0, 0x71d4, 0x71e7, 0x71f9, 0x721d,
    +    0x7228, 0x706c, 0x7118, 0x7166, 0x71b9, 0x623e, 0x623d, 0x6243,
    +    0x6248, 0x6249, 0x793b, 0x7940, 0x7946, 0x7949, 0x795b, 0x795c,
    +    0x7953, 0x795a, 0x7962, 0x7957, 0x7960, 0x796f, 0x7967, 0x797a,
    +    0x7985, 0x798a, 0x799a, 0x79a7, 0x79b3, 0x5fd1, 0x5fd0, 0x003f,
    +    /* lead byte ed */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x979e, 0x979f, 0x97a1, 0x97a2, 0x97a4, 0x97a5, 0x97a6, 0x97a7,
    +    0x97a8, 0x97a9, 0x97aa, 0x97ac, 0x97ae, 0x97b0, 0x97b1, 0x97b3,
    +    0x97b5, 0x97b6, 0x97b7, 0x97b8, 0x97b9, 0x97ba, 0x97bb, 0x97bc,
    +    0x97bd, 0x97be, 0x97bf, 0x97c0, 0x97c1, 0x97c2, 0x97c3, 0x97c4,
    +    0x97c5, 0x97c6, 0x97c7, 0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc,
    +    0x97cd, 0x97ce, 0x97cf, 0x97d0, 0x97d1, 0x97d2, 0x97d3, 0x97d4,
    +    0x97d5, 0x97d6, 0x97d7, 0x97d8, 0x97d9, 0x97da, 0x97db, 0x97dc,
    +    0x97dd, 0x97de, 0x97df, 0x97e0, 0x97e1, 0x97e2, 0x97e3, 0x003f,
    +    0x97e4, 0x97e5, 0x97e8, 0x97ee, 0x97ef, 0x97f0, 0x97f1, 0x97f2,
    +    0x97f4, 0x97f7, 0x97f8, 0x97f9, 0x97fa, 0x97fb, 0x97fc, 0x97fd,
    +    0x97fe, 0x97ff, 0x9800, 0x9801, 0x9802, 0x9803, 0x9804, 0x9805,
    +    0x9806, 0x9807, 0x9808, 0x9809, 0x980a, 0x980b, 0x980c, 0x980d,
    +    0x980e, 0x603c, 0x605d, 0x605a, 0x6067, 0x6041, 0x6059, 0x6063,
    +    0x60ab, 0x6106, 0x610d, 0x615d, 0x61a9, 0x619d, 0x61cb, 0x61d1,
    +    0x6206, 0x8080, 0x807f, 0x6c93, 0x6cf6, 0x6dfc, 0x77f6, 0x77f8,
    +    0x7800, 0x7809, 0x7817, 0x7818, 0x7811, 0x65ab, 0x782d, 0x781c,
    +    0x781d, 0x7839, 0x783a, 0x783b, 0x781f, 0x783c, 0x7825, 0x782c,
    +    0x7823, 0x7829, 0x784e, 0x786d, 0x7856, 0x7857, 0x7826, 0x7850,
    +    0x7847, 0x784c, 0x786a, 0x789b, 0x7893, 0x789a, 0x7887, 0x789c,
    +    0x78a1, 0x78a3, 0x78b2, 0x78b9, 0x78a5, 0x78d4, 0x78d9, 0x78c9,
    +    0x78ec, 0x78f2, 0x7905, 0x78f4, 0x7913, 0x7924, 0x791e, 0x7934,
    +    0x9f9b, 0x9ef9, 0x9efb, 0x9efc, 0x76f1, 0x7704, 0x770d, 0x76f9,
    +    0x7707, 0x7708, 0x771a, 0x7722, 0x7719, 0x772d, 0x7726, 0x7735,
    +    0x7738, 0x7750, 0x7751, 0x7747, 0x7743, 0x775a, 0x7768, 0x003f,
    +    /* lead byte ee */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x980f, 0x9810, 0x9811, 0x9812, 0x9813, 0x9814, 0x9815, 0x9816,
    +    0x9817, 0x9818, 0x9819, 0x981a, 0x981b, 0x981c, 0x981d, 0x981e,
    +    0x981f, 0x9820, 0x9821, 0x9822, 0x9823, 0x9824, 0x9825, 0x9826,
    +    0x9827, 0x9828, 0x9829, 0x982a, 0x982b, 0x982c, 0x982d, 0x982e,
    +    0x982f, 0x9830, 0x9831, 0x9832, 0x9833, 0x9834, 0x9835, 0x9836,
    +    0x9837, 0x9838, 0x9839, 0x983a, 0x983b, 0x983c, 0x983d, 0x983e,
    +    0x983f, 0x9840, 0x9841, 0x9842, 0x9843, 0x9844, 0x9845, 0x9846,
    +    0x9847, 0x9848, 0x9849, 0x984a, 0x984b, 0x984c, 0x984d, 0x003f,
    +    0x984e, 0x984f, 0x9850, 0x9851, 0x9852, 0x9853, 0x9854, 0x9855,
    +    0x9856, 0x9857, 0x9858, 0x9859, 0x985a, 0x985b, 0x985c, 0x985d,
    +    0x985e, 0x985f, 0x9860, 0x9861, 0x9862, 0x9863, 0x9864, 0x9865,
    +    0x9866, 0x9867, 0x9868, 0x9869, 0x986a, 0x986b, 0x986c, 0x986d,
    +    0x986e, 0x7762, 0x7765, 0x777f, 0x778d, 0x777d, 0x7780, 0x778c,
    +    0x7791, 0x779f, 0x77a0, 0x77b0, 0x77b5, 0x77bd, 0x753a, 0x7540,
    +    0x754e, 0x754b, 0x7548, 0x755b, 0x7572, 0x7579, 0x7583, 0x7f58,
    +    0x7f61, 0x7f5f, 0x8a48, 0x7f68, 0x7f74, 0x7f71, 0x7f79, 0x7f81,
    +    0x7f7e, 0x76cd, 0x76e5, 0x8832, 0x9485, 0x9486, 0x9487, 0x948b,
    +    0x948a, 0x948c, 0x948d, 0x948f, 0x9490, 0x9494, 0x9497, 0x9495,
    +    0x949a, 0x949b, 0x949c, 0x94a3, 0x94a4, 0x94ab, 0x94aa, 0x94ad,
    +    0x94ac, 0x94af, 0x94b0, 0x94b2, 0x94b4, 0x94b6, 0x94b7, 0x94b8,
    +    0x94b9, 0x94ba, 0x94bc, 0x94bd, 0x94bf, 0x94c4, 0x94c8, 0x94c9,
    +    0x94ca, 0x94cb, 0x94cc, 0x94cd, 0x94ce, 0x94d0, 0x94d1, 0x94d2,
    +    0x94d5, 0x94d6, 0x94d7, 0x94d9, 0x94d8, 0x94db, 0x94de, 0x94df,
    +    0x94e0, 0x94e2, 0x94e4, 0x94e5, 0x94e7, 0x94e8, 0x94ea, 0x003f,
    +    /* lead byte ef */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x986f, 0x9870, 0x9871, 0x9872, 0x9873, 0x9874, 0x988b, 0x988e,
    +    0x9892, 0x9895, 0x9899, 0x98a3, 0x98a8, 0x98a9, 0x98aa, 0x98ab,
    +    0x98ac, 0x98ad, 0x98ae, 0x98af, 0x98b0, 0x98b1, 0x98b2, 0x98b3,
    +    0x98b4, 0x98b5, 0x98b6, 0x98b7, 0x98b8, 0x98b9, 0x98ba, 0x98bb,
    +    0x98bc, 0x98bd, 0x98be, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3,
    +    0x98c4, 0x98c5, 0x98c6, 0x98c7, 0x98c8, 0x98c9, 0x98ca, 0x98cb,
    +    0x98cc, 0x98cd, 0x98cf, 0x98d0, 0x98d4, 0x98d6, 0x98d7, 0x98db,
    +    0x98dc, 0x98dd, 0x98e0, 0x98e1, 0x98e2, 0x98e3, 0x98e4, 0x003f,
    +    0x98e5, 0x98e6, 0x98e9, 0x98ea, 0x98eb, 0x98ec, 0x98ed, 0x98ee,
    +    0x98ef, 0x98f0, 0x98f1, 0x98f2, 0x98f3, 0x98f4, 0x98f5, 0x98f6,
    +    0x98f7, 0x98f8, 0x98f9, 0x98fa, 0x98fb, 0x98fc, 0x98fd, 0x98fe,
    +    0x98ff, 0x9900, 0x9901, 0x9902, 0x9903, 0x9904, 0x9905, 0x9906,
    +    0x9907, 0x94e9, 0x94eb, 0x94ee, 0x94ef, 0x94f3, 0x94f4, 0x94f5,
    +    0x94f7, 0x94f9, 0x94fc, 0x94fd, 0x94ff, 0x9503, 0x9502, 0x9506,
    +    0x9507, 0x9509, 0x950a, 0x950d, 0x950e, 0x950f, 0x9512, 0x9513,
    +    0x9514, 0x9515, 0x9516, 0x9518, 0x951b, 0x951d, 0x951e, 0x951f,
    +    0x9522, 0x952a, 0x952b, 0x9529, 0x952c, 0x9531, 0x9532, 0x9534,
    +    0x9536, 0x9537, 0x9538, 0x953c, 0x953e, 0x953f, 0x9542, 0x9535,
    +    0x9544, 0x9545, 0x9546, 0x9549, 0x954c, 0x954e, 0x954f, 0x9552,
    +    0x9553, 0x9554, 0x9556, 0x9557, 0x9558, 0x9559, 0x955b, 0x955e,
    +    0x955f, 0x955d, 0x9561, 0x9562, 0x9564, 0x9565, 0x9566, 0x9567,
    +    0x9568, 0x9569, 0x956a, 0x956b, 0x956c, 0x956f, 0x9571, 0x9572,
    +    0x9573, 0x953a, 0x77e7, 0x77ec, 0x96c9, 0x79d5, 0x79ed, 0x79e3,
    +    0x79eb, 0x7a06, 0x5d47, 0x7a03, 0x7a02, 0x7a1e, 0x7a14, 0x003f,
    +    /* lead byte f0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9908, 0x9909, 0x990a, 0x990b, 0x990c, 0x990e, 0x990f, 0x9911,
    +    0x9912, 0x9913, 0x9914, 0x9915, 0x9916, 0x9917, 0x9918, 0x9919,
    +    0x991a, 0x991b, 0x991c, 0x991d, 0x991e, 0x991f, 0x9920, 0x9921,
    +    0x9922, 0x9923, 0x9924, 0x9925, 0x9926, 0x9927, 0x9928, 0x9929,
    +    0x992a, 0x992b, 0x992c, 0x992d, 0x992f, 0x9930, 0x9931, 0x9932,
    +    0x9933, 0x9934, 0x9935, 0x9936, 0x9937, 0x9938, 0x9939, 0x993a,
    +    0x993b, 0x993c, 0x993d, 0x993e, 0x993f, 0x9940, 0x9941, 0x9942,
    +    0x9943, 0x9944, 0x9945, 0x9946, 0x9947, 0x9948, 0x9949, 0x003f,
    +    0x994a, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,
    +    0x9952, 0x9953, 0x9956, 0x9957, 0x9958, 0x9959, 0x995a, 0x995b,
    +    0x995c, 0x995d, 0x995e, 0x995f, 0x9960, 0x9961, 0x9962, 0x9964,
    +    0x9966, 0x9973, 0x9978, 0x9979, 0x997b, 0x997e, 0x9982, 0x9983,
    +    0x9989, 0x7a39, 0x7a37, 0x7a51, 0x9ecf, 0x99a5, 0x7a70, 0x7688,
    +    0x768e, 0x7693, 0x7699, 0x76a4, 0x74de, 0x74e0, 0x752c, 0x9e20,
    +    0x9e22, 0x9e28, 0x9e29, 0x9e2a, 0x9e2b, 0x9e2c, 0x9e32, 0x9e31,
    +    0x9e36, 0x9e38, 0x9e37, 0x9e39, 0x9e3a, 0x9e3e, 0x9e41, 0x9e42,
    +    0x9e44, 0x9e46, 0x9e47, 0x9e48, 0x9e49, 0x9e4b, 0x9e4c, 0x9e4e,
    +    0x9e51, 0x9e55, 0x9e57, 0x9e5a, 0x9e5b, 0x9e5c, 0x9e5e, 0x9e63,
    +    0x9e66, 0x9e67, 0x9e68, 0x9e69, 0x9e6a, 0x9e6b, 0x9e6c, 0x9e71,
    +    0x9e6d, 0x9e73, 0x7592, 0x7594, 0x7596, 0x75a0, 0x759d, 0x75ac,
    +    0x75a3, 0x75b3, 0x75b4, 0x75b8, 0x75c4, 0x75b1, 0x75b0, 0x75c3,
    +    0x75c2, 0x75d6, 0x75cd, 0x75e3, 0x75e8, 0x75e6, 0x75e4, 0x75eb,
    +    0x75e7, 0x7603, 0x75f1, 0x75fc, 0x75ff, 0x7610, 0x7600, 0x7605,
    +    0x760c, 0x7617, 0x760a, 0x7625, 0x7618, 0x7615, 0x7619, 0x003f,
    +    /* lead byte f1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x998c, 0x998e, 0x999a, 0x999b, 0x999c, 0x999d, 0x999e, 0x999f,
    +    0x99a0, 0x99a1, 0x99a2, 0x99a3, 0x99a4, 0x99a6, 0x99a7, 0x99a9,
    +    0x99aa, 0x99ab, 0x99ac, 0x99ad, 0x99ae, 0x99af, 0x99b0, 0x99b1,
    +    0x99b2, 0x99b3, 0x99b4, 0x99b5, 0x99b6, 0x99b7, 0x99b8, 0x99b9,
    +    0x99ba, 0x99bb, 0x99bc, 0x99bd, 0x99be, 0x99bf, 0x99c0, 0x99c1,
    +    0x99c2, 0x99c3, 0x99c4, 0x99c5, 0x99c6, 0x99c7, 0x99c8, 0x99c9,
    +    0x99ca, 0x99cb, 0x99cc, 0x99cd, 0x99ce, 0x99cf, 0x99d0, 0x99d1,
    +    0x99d2, 0x99d3, 0x99d4, 0x99d5, 0x99d6, 0x99d7, 0x99d8, 0x003f,
    +    0x99d9, 0x99da, 0x99db, 0x99dc, 0x99dd, 0x99de, 0x99df, 0x99e0,
    +    0x99e1, 0x99e2, 0x99e3, 0x99e4, 0x99e5, 0x99e6, 0x99e7, 0x99e8,
    +    0x99e9, 0x99ea, 0x99eb, 0x99ec, 0x99ed, 0x99ee, 0x99ef, 0x99f0,
    +    0x99f1, 0x99f2, 0x99f3, 0x99f4, 0x99f5, 0x99f6, 0x99f7, 0x99f8,
    +    0x99f9, 0x761b, 0x763c, 0x7622, 0x7620, 0x7640, 0x762d, 0x7630,
    +    0x763f, 0x7635, 0x7643, 0x763e, 0x7633, 0x764d, 0x765e, 0x7654,
    +    0x765c, 0x7656, 0x766b, 0x766f, 0x7fca, 0x7ae6, 0x7a78, 0x7a79,
    +    0x7a80, 0x7a86, 0x7a88, 0x7a95, 0x7aa6, 0x7aa0, 0x7aac, 0x7aa8,
    +    0x7aad, 0x7ab3, 0x8864, 0x8869, 0x8872, 0x887d, 0x887f, 0x8882,
    +    0x88a2, 0x88c6, 0x88b7, 0x88bc, 0x88c9, 0x88e2, 0x88ce, 0x88e3,
    +    0x88e5, 0x88f1, 0x891a, 0x88fc, 0x88e8, 0x88fe, 0x88f0, 0x8921,
    +    0x8919, 0x8913, 0x891b, 0x890a, 0x8934, 0x892b, 0x8936, 0x8941,
    +    0x8966, 0x897b, 0x758b, 0x80e5, 0x76b2, 0x76b4, 0x77dc, 0x8012,
    +    0x8014, 0x8016, 0x801c, 0x8020, 0x8022, 0x8025, 0x8026, 0x8027,
    +    0x8029, 0x8028, 0x8031, 0x800b, 0x8035, 0x8043, 0x8046, 0x804d,
    +    0x8052, 0x8069, 0x8071, 0x8983, 0x9878, 0x9880, 0x9883, 0x003f,
    +    /* lead byte f2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x99fa, 0x99fb, 0x99fc, 0x99fd, 0x99fe, 0x99ff, 0x9a00, 0x9a01,
    +    0x9a02, 0x9a03, 0x9a04, 0x9a05, 0x9a06, 0x9a07, 0x9a08, 0x9a09,
    +    0x9a0a, 0x9a0b, 0x9a0c, 0x9a0d, 0x9a0e, 0x9a0f, 0x9a10, 0x9a11,
    +    0x9a12, 0x9a13, 0x9a14, 0x9a15, 0x9a16, 0x9a17, 0x9a18, 0x9a19,
    +    0x9a1a, 0x9a1b, 0x9a1c, 0x9a1d, 0x9a1e, 0x9a1f, 0x9a20, 0x9a21,
    +    0x9a22, 0x9a23, 0x9a24, 0x9a25, 0x9a26, 0x9a27, 0x9a28, 0x9a29,
    +    0x9a2a, 0x9a2b, 0x9a2c, 0x9a2d, 0x9a2e, 0x9a2f, 0x9a30, 0x9a31,
    +    0x9a32, 0x9a33, 0x9a34, 0x9a35, 0x9a36, 0x9a37, 0x9a38, 0x003f,
    +    0x9a39, 0x9a3a, 0x9a3b, 0x9a3c, 0x9a3d, 0x9a3e, 0x9a3f, 0x9a40,
    +    0x9a41, 0x9a42, 0x9a43, 0x9a44, 0x9a45, 0x9a46, 0x9a47, 0x9a48,
    +    0x9a49, 0x9a4a, 0x9a4b, 0x9a4c, 0x9a4d, 0x9a4e, 0x9a4f, 0x9a50,
    +    0x9a51, 0x9a52, 0x9a53, 0x9a54, 0x9a55, 0x9a56, 0x9a57, 0x9a58,
    +    0x9a59, 0x9889, 0x988c, 0x988d, 0x988f, 0x9894, 0x989a, 0x989b,
    +    0x989e, 0x989f, 0x98a1, 0x98a2, 0x98a5, 0x98a6, 0x864d, 0x8654,
    +    0x866c, 0x866e, 0x867f, 0x867a, 0x867c, 0x867b, 0x86a8, 0x868d,
    +    0x868b, 0x86ac, 0x869d, 0x86a7, 0x86a3, 0x86aa, 0x8693, 0x86a9,
    +    0x86b6, 0x86c4, 0x86b5, 0x86ce, 0x86b0, 0x86ba, 0x86b1, 0x86af,
    +    0x86c9, 0x86cf, 0x86b4, 0x86e9, 0x86f1, 0x86f2, 0x86ed, 0x86f3,
    +    0x86d0, 0x8713, 0x86de, 0x86f4, 0x86df, 0x86d8, 0x86d1, 0x8703,
    +    0x8707, 0x86f8, 0x8708, 0x870a, 0x870d, 0x8709, 0x8723, 0x873b,
    +    0x871e, 0x8725, 0x872e, 0x871a, 0x873e, 0x8748, 0x8734, 0x8731,
    +    0x8729, 0x8737, 0x873f, 0x8782, 0x8722, 0x877d, 0x877e, 0x877b,
    +    0x8760, 0x8770, 0x874c, 0x876e, 0x878b, 0x8753, 0x8763, 0x877c,
    +    0x8764, 0x8759, 0x8765, 0x8793, 0x87af, 0x87a8, 0x87d2, 0x003f,
    +    /* lead byte f3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9a5a, 0x9a5b, 0x9a5c, 0x9a5d, 0x9a5e, 0x9a5f, 0x9a60, 0x9a61,
    +    0x9a62, 0x9a63, 0x9a64, 0x9a65, 0x9a66, 0x9a67, 0x9a68, 0x9a69,
    +    0x9a6a, 0x9a6b, 0x9a72, 0x9a83, 0x9a89, 0x9a8d, 0x9a8e, 0x9a94,
    +    0x9a95, 0x9a99, 0x9aa6, 0x9aa9, 0x9aaa, 0x9aab, 0x9aac, 0x9aad,
    +    0x9aae, 0x9aaf, 0x9ab2, 0x9ab3, 0x9ab4, 0x9ab5, 0x9ab9, 0x9abb,
    +    0x9abd, 0x9abe, 0x9abf, 0x9ac3, 0x9ac4, 0x9ac6, 0x9ac7, 0x9ac8,
    +    0x9ac9, 0x9aca, 0x9acd, 0x9ace, 0x9acf, 0x9ad0, 0x9ad2, 0x9ad4,
    +    0x9ad5, 0x9ad6, 0x9ad7, 0x9ad9, 0x9ada, 0x9adb, 0x9adc, 0x003f,
    +    0x9add, 0x9ade, 0x9ae0, 0x9ae2, 0x9ae3, 0x9ae4, 0x9ae5, 0x9ae7,
    +    0x9ae8, 0x9ae9, 0x9aea, 0x9aec, 0x9aee, 0x9af0, 0x9af1, 0x9af2,
    +    0x9af3, 0x9af4, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9afa, 0x9afc,
    +    0x9afd, 0x9afe, 0x9aff, 0x9b00, 0x9b01, 0x9b02, 0x9b04, 0x9b05,
    +    0x9b06, 0x87c6, 0x8788, 0x8785, 0x87ad, 0x8797, 0x8783, 0x87ab,
    +    0x87e5, 0x87ac, 0x87b5, 0x87b3, 0x87cb, 0x87d3, 0x87bd, 0x87d1,
    +    0x87c0, 0x87ca, 0x87db, 0x87ea, 0x87e0, 0x87ee, 0x8816, 0x8813,
    +    0x87fe, 0x880a, 0x881b, 0x8821, 0x8839, 0x883c, 0x7f36, 0x7f42,
    +    0x7f44, 0x7f45, 0x8210, 0x7afa, 0x7afd, 0x7b08, 0x7b03, 0x7b04,
    +    0x7b15, 0x7b0a, 0x7b2b, 0x7b0f, 0x7b47, 0x7b38, 0x7b2a, 0x7b19,
    +    0x7b2e, 0x7b31, 0x7b20, 0x7b25, 0x7b24, 0x7b33, 0x7b3e, 0x7b1e,
    +    0x7b58, 0x7b5a, 0x7b45, 0x7b75, 0x7b4c, 0x7b5d, 0x7b60, 0x7b6e,
    +    0x7b7b, 0x7b62, 0x7b72, 0x7b71, 0x7b90, 0x7ba6, 0x7ba7, 0x7bb8,
    +    0x7bac, 0x7b9d, 0x7ba8, 0x7b85, 0x7baa, 0x7b9c, 0x7ba2, 0x7bab,
    +    0x7bb4, 0x7bd1, 0x7bc1, 0x7bcc, 0x7bdd, 0x7bda, 0x7be5, 0x7be6,
    +    0x7bea, 0x7c0c, 0x7bfe, 0x7bfc, 0x7c0f, 0x7c16, 0x7c0b, 0x003f,
    +    /* lead byte f4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9b07, 0x9b09, 0x9b0a, 0x9b0b, 0x9b0c, 0x9b0d, 0x9b0e, 0x9b10,
    +    0x9b11, 0x9b12, 0x9b14, 0x9b15, 0x9b16, 0x9b17, 0x9b18, 0x9b19,
    +    0x9b1a, 0x9b1b, 0x9b1c, 0x9b1d, 0x9b1e, 0x9b20, 0x9b21, 0x9b22,
    +    0x9b24, 0x9b25, 0x9b26, 0x9b27, 0x9b28, 0x9b29, 0x9b2a, 0x9b2b,
    +    0x9b2c, 0x9b2d, 0x9b2e, 0x9b30, 0x9b31, 0x9b33, 0x9b34, 0x9b35,
    +    0x9b36, 0x9b37, 0x9b38, 0x9b39, 0x9b3a, 0x9b3d, 0x9b3e, 0x9b3f,
    +    0x9b40, 0x9b46, 0x9b4a, 0x9b4b, 0x9b4c, 0x9b4e, 0x9b50, 0x9b52,
    +    0x9b53, 0x9b55, 0x9b56, 0x9b57, 0x9b58, 0x9b59, 0x9b5a, 0x003f,
    +    0x9b5b, 0x9b5c, 0x9b5d, 0x9b5e, 0x9b5f, 0x9b60, 0x9b61, 0x9b62,
    +    0x9b63, 0x9b64, 0x9b65, 0x9b66, 0x9b67, 0x9b68, 0x9b69, 0x9b6a,
    +    0x9b6b, 0x9b6c, 0x9b6d, 0x9b6e, 0x9b6f, 0x9b70, 0x9b71, 0x9b72,
    +    0x9b73, 0x9b74, 0x9b75, 0x9b76, 0x9b77, 0x9b78, 0x9b79, 0x9b7a,
    +    0x9b7b, 0x7c1f, 0x7c2a, 0x7c26, 0x7c38, 0x7c41, 0x7c40, 0x81fe,
    +    0x8201, 0x8202, 0x8204, 0x81ec, 0x8844, 0x8221, 0x8222, 0x8223,
    +    0x822d, 0x822f, 0x8228, 0x822b, 0x8238, 0x823b, 0x8233, 0x8234,
    +    0x823e, 0x8244, 0x8249, 0x824b, 0x824f, 0x825a, 0x825f, 0x8268,
    +    0x887e, 0x8885, 0x8888, 0x88d8, 0x88df, 0x895e, 0x7f9d, 0x7f9f,
    +    0x7fa7, 0x7faf, 0x7fb0, 0x7fb2, 0x7c7c, 0x6549, 0x7c91, 0x7c9d,
    +    0x7c9c, 0x7c9e, 0x7ca2, 0x7cb2, 0x7cbc, 0x7cbd, 0x7cc1, 0x7cc7,
    +    0x7ccc, 0x7ccd, 0x7cc8, 0x7cc5, 0x7cd7, 0x7ce8, 0x826e, 0x66a8,
    +    0x7fbf, 0x7fce, 0x7fd5, 0x7fe5, 0x7fe1, 0x7fe6, 0x7fe9, 0x7fee,
    +    0x7ff3, 0x7cf8, 0x7d77, 0x7da6, 0x7dae, 0x7e47, 0x7e9b, 0x9eb8,
    +    0x9eb4, 0x8d73, 0x8d84, 0x8d94, 0x8d91, 0x8db1, 0x8d67, 0x8d6d,
    +    0x8c47, 0x8c49, 0x914a, 0x9150, 0x914e, 0x914f, 0x9164, 0x003f,
    +    /* lead byte f5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9b7c, 0x9b7d, 0x9b7e, 0x9b7f, 0x9b80, 0x9b81, 0x9b82, 0x9b83,
    +    0x9b84, 0x9b85, 0x9b86, 0x9b87, 0x9b88, 0x9b89, 0x9b8a, 0x9b8b,
    +    0x9b8c, 0x9b8d, 0x9b8e, 0x9b8f, 0x9b90, 0x9b91, 0x9b92, 0x9b93,
    +    0x9b94, 0x9b95, 0x9b96, 0x9b97, 0x9b98, 0x9b99, 0x9b9a, 0x9b9b,
    +    0x9b9c, 0x9b9d, 0x9b9e, 0x9b9f, 0x9ba0, 0x9ba1, 0x9ba2, 0x9ba3,
    +    0x9ba4, 0x9ba5, 0x9ba6, 0x9ba7, 0x9ba8, 0x9ba9, 0x9baa, 0x9bab,
    +    0x9bac, 0x9bad, 0x9bae, 0x9baf, 0x9bb0, 0x9bb1, 0x9bb2, 0x9bb3,
    +    0x9bb4, 0x9bb5, 0x9bb6, 0x9bb7, 0x9bb8, 0x9bb9, 0x9bba, 0x003f,
    +    0x9bbb, 0x9bbc, 0x9bbd, 0x9bbe, 0x9bbf, 0x9bc0, 0x9bc1, 0x9bc2,
    +    0x9bc3, 0x9bc4, 0x9bc5, 0x9bc6, 0x9bc7, 0x9bc8, 0x9bc9, 0x9bca,
    +    0x9bcb, 0x9bcc, 0x9bcd, 0x9bce, 0x9bcf, 0x9bd0, 0x9bd1, 0x9bd2,
    +    0x9bd3, 0x9bd4, 0x9bd5, 0x9bd6, 0x9bd7, 0x9bd8, 0x9bd9, 0x9bda,
    +    0x9bdb, 0x9162, 0x9161, 0x9170, 0x9169, 0x916f, 0x917d, 0x917e,
    +    0x9172, 0x9174, 0x9179, 0x918c, 0x9185, 0x9190, 0x918d, 0x9191,
    +    0x91a2, 0x91a3, 0x91aa, 0x91ad, 0x91ae, 0x91af, 0x91b5, 0x91b4,
    +    0x91ba, 0x8c55, 0x9e7e, 0x8db8, 0x8deb, 0x8e05, 0x8e59, 0x8e69,
    +    0x8db5, 0x8dbf, 0x8dbc, 0x8dba, 0x8dc4, 0x8dd6, 0x8dd7, 0x8dda,
    +    0x8dde, 0x8dce, 0x8dcf, 0x8ddb, 0x8dc6, 0x8dec, 0x8df7, 0x8df8,
    +    0x8de3, 0x8df9, 0x8dfb, 0x8de4, 0x8e09, 0x8dfd, 0x8e14, 0x8e1d,
    +    0x8e1f, 0x8e2c, 0x8e2e, 0x8e23, 0x8e2f, 0x8e3a, 0x8e40, 0x8e39,
    +    0x8e35, 0x8e3d, 0x8e31, 0x8e49, 0x8e41, 0x8e42, 0x8e51, 0x8e52,
    +    0x8e4a, 0x8e70, 0x8e76, 0x8e7c, 0x8e6f, 0x8e74, 0x8e85, 0x8e8f,
    +    0x8e94, 0x8e90, 0x8e9c, 0x8e9e, 0x8c78, 0x8c82, 0x8c8a, 0x8c85,
    +    0x8c98, 0x8c94, 0x659b, 0x89d6, 0x89de, 0x89da, 0x89dc, 0x003f,
    +    /* lead byte f6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9bdc, 0x9bdd, 0x9bde, 0x9bdf, 0x9be0, 0x9be1, 0x9be2, 0x9be3,
    +    0x9be4, 0x9be5, 0x9be6, 0x9be7, 0x9be8, 0x9be9, 0x9bea, 0x9beb,
    +    0x9bec, 0x9bed, 0x9bee, 0x9bef, 0x9bf0, 0x9bf1, 0x9bf2, 0x9bf3,
    +    0x9bf4, 0x9bf5, 0x9bf6, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfb,
    +    0x9bfc, 0x9bfd, 0x9bfe, 0x9bff, 0x9c00, 0x9c01, 0x9c02, 0x9c03,
    +    0x9c04, 0x9c05, 0x9c06, 0x9c07, 0x9c08, 0x9c09, 0x9c0a, 0x9c0b,
    +    0x9c0c, 0x9c0d, 0x9c0e, 0x9c0f, 0x9c10, 0x9c11, 0x9c12, 0x9c13,
    +    0x9c14, 0x9c15, 0x9c16, 0x9c17, 0x9c18, 0x9c19, 0x9c1a, 0x003f,
    +    0x9c1b, 0x9c1c, 0x9c1d, 0x9c1e, 0x9c1f, 0x9c20, 0x9c21, 0x9c22,
    +    0x9c23, 0x9c24, 0x9c25, 0x9c26, 0x9c27, 0x9c28, 0x9c29, 0x9c2a,
    +    0x9c2b, 0x9c2c, 0x9c2d, 0x9c2e, 0x9c2f, 0x9c30, 0x9c31, 0x9c32,
    +    0x9c33, 0x9c34, 0x9c35, 0x9c36, 0x9c37, 0x9c38, 0x9c39, 0x9c3a,
    +    0x9c3b, 0x89e5, 0x89eb, 0x89ef, 0x8a3e, 0x8b26, 0x9753, 0x96e9,
    +    0x96f3, 0x96ef, 0x9706, 0x9701, 0x9708, 0x970f, 0x970e, 0x972a,
    +    0x972d, 0x9730, 0x973e, 0x9f80, 0x9f83, 0x9f85, 0x9f86, 0x9f87,
    +    0x9f88, 0x9f89, 0x9f8a, 0x9f8c, 0x9efe, 0x9f0b, 0x9f0d, 0x96b9,
    +    0x96bc, 0x96bd, 0x96ce, 0x96d2, 0x77bf, 0x96e0, 0x928e, 0x92ae,
    +    0x92c8, 0x933e, 0x936a, 0x93ca, 0x938f, 0x943e, 0x946b, 0x9c7f,
    +    0x9c82, 0x9c85, 0x9c86, 0x9c87, 0x9c88, 0x7a23, 0x9c8b, 0x9c8e,
    +    0x9c90, 0x9c91, 0x9c92, 0x9c94, 0x9c95, 0x9c9a, 0x9c9b, 0x9c9e,
    +    0x9c9f, 0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca5, 0x9ca6, 0x9ca7,
    +    0x9ca8, 0x9ca9, 0x9cab, 0x9cad, 0x9cae, 0x9cb0, 0x9cb1, 0x9cb2,
    +    0x9cb3, 0x9cb4, 0x9cb5, 0x9cb6, 0x9cb7, 0x9cba, 0x9cbb, 0x9cbc,
    +    0x9cbd, 0x9cc4, 0x9cc5, 0x9cc6, 0x9cc7, 0x9cca, 0x9ccb, 0x003f,
    +    /* lead byte f7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9c3c, 0x9c3d, 0x9c3e, 0x9c3f, 0x9c40, 0x9c41, 0x9c42, 0x9c43,
    +    0x9c44, 0x9c45, 0x9c46, 0x9c47, 0x9c48, 0x9c49, 0x9c4a, 0x9c4b,
    +    0x9c4c, 0x9c4d, 0x9c4e, 0x9c4f, 0x9c50, 0x9c51, 0x9c52, 0x9c53,
    +    0x9c54, 0x9c55, 0x9c56, 0x9c57, 0x9c58, 0x9c59, 0x9c5a, 0x9c5b,
    +    0x9c5c, 0x9c5d, 0x9c5e, 0x9c5f, 0x9c60, 0x9c61, 0x9c62, 0x9c63,
    +    0x9c64, 0x9c65, 0x9c66, 0x9c67, 0x9c68, 0x9c69, 0x9c6a, 0x9c6b,
    +    0x9c6c, 0x9c6d, 0x9c6e, 0x9c6f, 0x9c70, 0x9c71, 0x9c72, 0x9c73,
    +    0x9c74, 0x9c75, 0x9c76, 0x9c77, 0x9c78, 0x9c79, 0x9c7a, 0x003f,
    +    0x9c7b, 0x9c7d, 0x9c7e, 0x9c80, 0x9c83, 0x9c84, 0x9c89, 0x9c8a,
    +    0x9c8c, 0x9c8f, 0x9c93, 0x9c96, 0x9c97, 0x9c98, 0x9c99, 0x9c9d,
    +    0x9caa, 0x9cac, 0x9caf, 0x9cb9, 0x9cbe, 0x9cbf, 0x9cc0, 0x9cc1,
    +    0x9cc2, 0x9cc8, 0x9cc9, 0x9cd1, 0x9cd2, 0x9cda, 0x9cdb, 0x9ce0,
    +    0x9ce1, 0x9ccc, 0x9ccd, 0x9cce, 0x9ccf, 0x9cd0, 0x9cd3, 0x9cd4,
    +    0x9cd5, 0x9cd7, 0x9cd8, 0x9cd9, 0x9cdc, 0x9cdd, 0x9cdf, 0x9ce2,
    +    0x977c, 0x9785, 0x9791, 0x9792, 0x9794, 0x97af, 0x97ab, 0x97a3,
    +    0x97b2, 0x97b4, 0x9ab1, 0x9ab0, 0x9ab7, 0x9e58, 0x9ab6, 0x9aba,
    +    0x9abc, 0x9ac1, 0x9ac0, 0x9ac5, 0x9ac2, 0x9acb, 0x9acc, 0x9ad1,
    +    0x9b45, 0x9b43, 0x9b47, 0x9b49, 0x9b48, 0x9b4d, 0x9b51, 0x98e8,
    +    0x990d, 0x992e, 0x9955, 0x9954, 0x9adf, 0x9ae1, 0x9ae6, 0x9aef,
    +    0x9aeb, 0x9afb, 0x9aed, 0x9af9, 0x9b08, 0x9b0f, 0x9b13, 0x9b1f,
    +    0x9b23, 0x9ebd, 0x9ebe, 0x7e3b, 0x9e82, 0x9e87, 0x9e88, 0x9e8b,
    +    0x9e92, 0x93d6, 0x9e9d, 0x9e9f, 0x9edb, 0x9edc, 0x9edd, 0x9ee0,
    +    0x9edf, 0x9ee2, 0x9ee9, 0x9ee7, 0x9ee5, 0x9eea, 0x9eef, 0x9f22,
    +    0x9f2c, 0x9f2f, 0x9f39, 0x9f37, 0x9f3d, 0x9f3e, 0x9f44, 0x003f,
    +    /* lead byte f8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9ce3, 0x9ce4, 0x9ce5, 0x9ce6, 0x9ce7, 0x9ce8, 0x9ce9, 0x9cea,
    +    0x9ceb, 0x9cec, 0x9ced, 0x9cee, 0x9cef, 0x9cf0, 0x9cf1, 0x9cf2,
    +    0x9cf3, 0x9cf4, 0x9cf5, 0x9cf6, 0x9cf7, 0x9cf8, 0x9cf9, 0x9cfa,
    +    0x9cfb, 0x9cfc, 0x9cfd, 0x9cfe, 0x9cff, 0x9d00, 0x9d01, 0x9d02,
    +    0x9d03, 0x9d04, 0x9d05, 0x9d06, 0x9d07, 0x9d08, 0x9d09, 0x9d0a,
    +    0x9d0b, 0x9d0c, 0x9d0d, 0x9d0e, 0x9d0f, 0x9d10, 0x9d11, 0x9d12,
    +    0x9d13, 0x9d14, 0x9d15, 0x9d16, 0x9d17, 0x9d18, 0x9d19, 0x9d1a,
    +    0x9d1b, 0x9d1c, 0x9d1d, 0x9d1e, 0x9d1f, 0x9d20, 0x9d21, 0x003f,
    +    0x9d22, 0x9d23, 0x9d24, 0x9d25, 0x9d26, 0x9d27, 0x9d28, 0x9d29,
    +    0x9d2a, 0x9d2b, 0x9d2c, 0x9d2d, 0x9d2e, 0x9d2f, 0x9d30, 0x9d31,
    +    0x9d32, 0x9d33, 0x9d34, 0x9d35, 0x9d36, 0x9d37, 0x9d38, 0x9d39,
    +    0x9d3a, 0x9d3b, 0x9d3c, 0x9d3d, 0x9d3e, 0x9d3f, 0x9d40, 0x9d41,
    +    0x9d42, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte f9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9d43, 0x9d44, 0x9d45, 0x9d46, 0x9d47, 0x9d48, 0x9d49, 0x9d4a,
    +    0x9d4b, 0x9d4c, 0x9d4d, 0x9d4e, 0x9d4f, 0x9d50, 0x9d51, 0x9d52,
    +    0x9d53, 0x9d54, 0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0x9d5a,
    +    0x9d5b, 0x9d5c, 0x9d5d, 0x9d5e, 0x9d5f, 0x9d60, 0x9d61, 0x9d62,
    +    0x9d63, 0x9d64, 0x9d65, 0x9d66, 0x9d67, 0x9d68, 0x9d69, 0x9d6a,
    +    0x9d6b, 0x9d6c, 0x9d6d, 0x9d6e, 0x9d6f, 0x9d70, 0x9d71, 0x9d72,
    +    0x9d73, 0x9d74, 0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a,
    +    0x9d7b, 0x9d7c, 0x9d7d, 0x9d7e, 0x9d7f, 0x9d80, 0x9d81, 0x003f,
    +    0x9d82, 0x9d83, 0x9d84, 0x9d85, 0x9d86, 0x9d87, 0x9d88, 0x9d89,
    +    0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f, 0x9d90, 0x9d91,
    +    0x9d92, 0x9d93, 0x9d94, 0x9d95, 0x9d96, 0x9d97, 0x9d98, 0x9d99,
    +    0x9d9a, 0x9d9b, 0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f, 0x9da0, 0x9da1,
    +    0x9da2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fa */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9da3, 0x9da4, 0x9da5, 0x9da6, 0x9da7, 0x9da8, 0x9da9, 0x9daa,
    +    0x9dab, 0x9dac, 0x9dad, 0x9dae, 0x9daf, 0x9db0, 0x9db1, 0x9db2,
    +    0x9db3, 0x9db4, 0x9db5, 0x9db6, 0x9db7, 0x9db8, 0x9db9, 0x9dba,
    +    0x9dbb, 0x9dbc, 0x9dbd, 0x9dbe, 0x9dbf, 0x9dc0, 0x9dc1, 0x9dc2,
    +    0x9dc3, 0x9dc4, 0x9dc5, 0x9dc6, 0x9dc7, 0x9dc8, 0x9dc9, 0x9dca,
    +    0x9dcb, 0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0x9dd0, 0x9dd1, 0x9dd2,
    +    0x9dd3, 0x9dd4, 0x9dd5, 0x9dd6, 0x9dd7, 0x9dd8, 0x9dd9, 0x9dda,
    +    0x9ddb, 0x9ddc, 0x9ddd, 0x9dde, 0x9ddf, 0x9de0, 0x9de1, 0x003f,
    +    0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6, 0x9de7, 0x9de8, 0x9de9,
    +    0x9dea, 0x9deb, 0x9dec, 0x9ded, 0x9dee, 0x9def, 0x9df0, 0x9df1,
    +    0x9df2, 0x9df3, 0x9df4, 0x9df5, 0x9df6, 0x9df7, 0x9df8, 0x9df9,
    +    0x9dfa, 0x9dfb, 0x9dfc, 0x9dfd, 0x9dfe, 0x9dff, 0x9e00, 0x9e01,
    +    0x9e02, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9e03, 0x9e04, 0x9e05, 0x9e06, 0x9e07, 0x9e08, 0x9e09, 0x9e0a,
    +    0x9e0b, 0x9e0c, 0x9e0d, 0x9e0e, 0x9e0f, 0x9e10, 0x9e11, 0x9e12,
    +    0x9e13, 0x9e14, 0x9e15, 0x9e16, 0x9e17, 0x9e18, 0x9e19, 0x9e1a,
    +    0x9e1b, 0x9e1c, 0x9e1d, 0x9e1e, 0x9e24, 0x9e27, 0x9e2e, 0x9e30,
    +    0x9e34, 0x9e3b, 0x9e3c, 0x9e40, 0x9e4d, 0x9e50, 0x9e52, 0x9e53,
    +    0x9e54, 0x9e56, 0x9e59, 0x9e5d, 0x9e5f, 0x9e60, 0x9e61, 0x9e62,
    +    0x9e65, 0x9e6e, 0x9e6f, 0x9e72, 0x9e74, 0x9e75, 0x9e76, 0x9e77,
    +    0x9e78, 0x9e79, 0x9e7a, 0x9e7b, 0x9e7c, 0x9e7d, 0x9e80, 0x003f,
    +    0x9e81, 0x9e83, 0x9e84, 0x9e85, 0x9e86, 0x9e89, 0x9e8a, 0x9e8c,
    +    0x9e8d, 0x9e8e, 0x9e8f, 0x9e90, 0x9e91, 0x9e94, 0x9e95, 0x9e96,
    +    0x9e97, 0x9e98, 0x9e99, 0x9e9a, 0x9e9b, 0x9e9c, 0x9e9e, 0x9ea0,
    +    0x9ea1, 0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0x9ea7, 0x9ea8, 0x9ea9,
    +    0x9eaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9eab, 0x9eac, 0x9ead, 0x9eae, 0x9eaf, 0x9eb0, 0x9eb1, 0x9eb2,
    +    0x9eb3, 0x9eb5, 0x9eb6, 0x9eb7, 0x9eb9, 0x9eba, 0x9ebc, 0x9ebf,
    +    0x9ec0, 0x9ec1, 0x9ec2, 0x9ec3, 0x9ec5, 0x9ec6, 0x9ec7, 0x9ec8,
    +    0x9eca, 0x9ecb, 0x9ecc, 0x9ed0, 0x9ed2, 0x9ed3, 0x9ed5, 0x9ed6,
    +    0x9ed7, 0x9ed9, 0x9eda, 0x9ede, 0x9ee1, 0x9ee3, 0x9ee4, 0x9ee6,
    +    0x9ee8, 0x9eeb, 0x9eec, 0x9eed, 0x9eee, 0x9ef0, 0x9ef1, 0x9ef2,
    +    0x9ef3, 0x9ef4, 0x9ef5, 0x9ef6, 0x9ef7, 0x9ef8, 0x9efa, 0x9efd,
    +    0x9eff, 0x9f00, 0x9f01, 0x9f02, 0x9f03, 0x9f04, 0x9f05, 0x003f,
    +    0x9f06, 0x9f07, 0x9f08, 0x9f09, 0x9f0a, 0x9f0c, 0x9f0f, 0x9f11,
    +    0x9f12, 0x9f14, 0x9f15, 0x9f16, 0x9f18, 0x9f1a, 0x9f1b, 0x9f1c,
    +    0x9f1d, 0x9f1e, 0x9f1f, 0x9f21, 0x9f23, 0x9f24, 0x9f25, 0x9f26,
    +    0x9f27, 0x9f28, 0x9f29, 0x9f2a, 0x9f2b, 0x9f2d, 0x9f2e, 0x9f30,
    +    0x9f31, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9f32, 0x9f33, 0x9f34, 0x9f35, 0x9f36, 0x9f38, 0x9f3a, 0x9f3c,
    +    0x9f3f, 0x9f40, 0x9f41, 0x9f42, 0x9f43, 0x9f45, 0x9f46, 0x9f47,
    +    0x9f48, 0x9f49, 0x9f4a, 0x9f4b, 0x9f4c, 0x9f4d, 0x9f4e, 0x9f4f,
    +    0x9f52, 0x9f53, 0x9f54, 0x9f55, 0x9f56, 0x9f57, 0x9f58, 0x9f59,
    +    0x9f5a, 0x9f5b, 0x9f5c, 0x9f5d, 0x9f5e, 0x9f5f, 0x9f60, 0x9f61,
    +    0x9f62, 0x9f63, 0x9f64, 0x9f65, 0x9f66, 0x9f67, 0x9f68, 0x9f69,
    +    0x9f6a, 0x9f6b, 0x9f6c, 0x9f6d, 0x9f6e, 0x9f6f, 0x9f70, 0x9f71,
    +    0x9f72, 0x9f73, 0x9f74, 0x9f75, 0x9f76, 0x9f77, 0x9f78, 0x003f,
    +    0x9f79, 0x9f7a, 0x9f7b, 0x9f7c, 0x9f7d, 0x9f7e, 0x9f81, 0x9f82,
    +    0x9f8d, 0x9f8e, 0x9f8f, 0x9f90, 0x9f91, 0x9f92, 0x9f93, 0x9f94,
    +    0x9f95, 0x9f96, 0x9f97, 0x9f98, 0x9f9c, 0x9f9d, 0x9f9e, 0x9fa1,
    +    0x9fa2, 0x9fa3, 0x9fa4, 0x9fa5, 0xf92c, 0xf979, 0xf995, 0xf9e7,
    +    0xf9f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte fe */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfa0c, 0xfa0d, 0xfa0e, 0xfa0f, 0xfa11, 0xfa13, 0xfa14, 0xfa18,
    +    0xfa1f, 0xfa20, 0xfa21, 0xfa23, 0xfa24, 0xfa27, 0xfa28, 0xfa29,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned char cp2uni_leadbytes[256] =
    +{
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    +    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    +    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    +    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    +    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    +    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    +    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    +    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    +    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    +    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x00
    +};
    +
    +static const unsigned short uni2cp_low[27904] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0020, 0x0021, 0x0063, 0x004c, 0xa1e8, 0x0059, 0x007c, 0xa1ec,
    +    0xa1a7, 0x0063, 0x0061, 0xa1b6, 0x003f, 0x002d, 0x0072, 0xa1a5,
    +    0xa1e3, 0xa1c0, 0x0032, 0x0033, 0xa840, 0xa6cc, 0x003f, 0xa1a4,
    +    0x002c, 0x0031, 0x006f, 0xa1b7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    +    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    +    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1c1,
    +    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa6c2,
    +    0xa8a4, 0xa8a2, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    +    0xa8a8, 0xa8a6, 0xa8ba, 0x0065, 0xa8ac, 0xa8aa, 0x0069, 0x0069,
    +    0x0064, 0x006e, 0xa8b0, 0xa8ae, 0x006f, 0x006f, 0x006f, 0xa1c2,
    +    0x006f, 0xa8b4, 0xa8b2, 0x0075, 0xa8b9, 0x0079, 0x003f, 0x0079,
    +    /* 0x0100 .. 0x01ff */
    +    0x0041, 0xa8a1, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    +    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0045, 0xa8a5, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0xa8a7, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0049, 0x0069, 0x0049, 0xa8a9, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    +    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    +    0x003f, 0x004c, 0x006c, 0x004e, 0xa8bd, 0x004e, 0x006e, 0x004e,
    +    0xa8be, 0x003f, 0x003f, 0x003f, 0x004f, 0xa8ad, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0055, 0x0075, 0x0055, 0xa8b1, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    +    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    +    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    +    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    +    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    +    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa9a6, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0xa8a3, 0x0049,
    +    0xa8ab, 0x004f, 0xa8af, 0x0055, 0xa8b3, 0x0055, 0xa8b5, 0x0055,
    +    0xa8b6, 0x0055, 0xa8b7, 0x0055, 0xa8b8, 0x003f, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    +    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    +    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    +    /* 0x0200 .. 0x02ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa8c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    +    0x0079, 0xa840, 0xa1e5, 0xa1ae, 0xa1af, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa1a6,
    +    0x0027, 0xa1a5, 0xa840, 0xa841, 0x003f, 0x005f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa842, 0xa1e3, 0x003f, 0x007e, 0xa1e5, 0x003f, 0x003f,
    +    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0300 .. 0x03ff */
    +    0xa841, 0xa840, 0x005e, 0x007e, 0xa1a5, 0xa1a5, 0x003f, 0xa842,
    +    0xa1a7, 0x003f, 0xa1e3, 0xa1e5, 0xa1a6, 0x003f, 0x0022, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa841, 0xa840, 0x003f, 0x003f, 0xa1a7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa840, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa840, 0xa1a7, 0xa6a1, 0xa1a4,
    +    0xa6a5, 0xa6a7, 0xa6a9, 0x003f, 0xa6af, 0x003f, 0xa6b4, 0xa6b8,
    +    0xa6c9, 0xa6a1, 0xa6a2, 0xa6a3, 0xa6a4, 0xa6a5, 0xa6a6, 0xa6a7,
    +    0xa6a8, 0xa6a9, 0xa6aa, 0xa6ab, 0xa6ac, 0xa6ad, 0xa6ae, 0xa6af,
    +    0xa6b0, 0xa6b1, 0x003f, 0xa6b2, 0xa6b3, 0xa6b4, 0xa6b5, 0xa6b6,
    +    0xa6b7, 0xa6b8, 0xa6a9, 0xa6b4, 0xa6c1, 0xa6c5, 0xa6c7, 0xa6c9,
    +    0xa6d4, 0xa6c1, 0xa6c2, 0xa6c3, 0xa6c4, 0xa6c5, 0xa6c6, 0xa6c7,
    +    0xa6c8, 0xa6c9, 0xa6ca, 0xa6cb, 0xa6cc, 0xa6cd, 0xa6ce, 0xa6cf,
    +    0xa6d0, 0xa6d1, 0x003f, 0xa6d2, 0xa6d3, 0xa6d4, 0xa6d5, 0xa6d6,
    +    0xa6d7, 0xa6d8, 0xa6c9, 0xa6d4, 0xa6cf, 0xa6d4, 0xa6d8, 0x003f,
    +    0xa6c2, 0xa6c8, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6d5, 0xa6d0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa6ca, 0xa6d1, 0x003f, 0x003f, 0xa6a8, 0xa6c5, 0x003f, 0x003f,
    +    0x003f, 0xa6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0400 .. 0x04ff */
    +    0xa7a6, 0xa7a7, 0x003f, 0xa7a4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7ac, 0xa7aa, 0xa7b5, 0x003f,
    +    0xa7a1, 0xa7a2, 0xa7a3, 0xa7a4, 0xa7a5, 0xa7a6, 0xa7a8, 0xa7a9,
    +    0xa7aa, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,
    +    0xa7b2, 0xa7b3, 0xa7b4, 0xa7b5, 0xa7b6, 0xa7b7, 0xa7b8, 0xa7b9,
    +    0xa7ba, 0xa7bb, 0xa7bc, 0xa7bd, 0xa7be, 0xa7bf, 0xa7c0, 0xa7c1,
    +    0xa7d1, 0xa7d2, 0xa7d3, 0xa7d4, 0xa7d5, 0xa7d6, 0xa7d8, 0xa7d9,
    +    0xa7da, 0xa7db, 0xa7dc, 0xa7dd, 0xa7de, 0xa7df, 0xa7e0, 0xa7e1,
    +    0xa7e2, 0xa7e3, 0xa7e4, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e9,
    +    0xa7ea, 0xa7eb, 0xa7ec, 0xa7ed, 0xa7ee, 0xa7ef, 0xa7f0, 0xa7f1,
    +    0xa7d6, 0xa7d7, 0x003f, 0xa7d4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7dc, 0xa7da, 0xa7e5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa7a8, 0xa7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa7a1, 0xa7d1, 0xa7a1, 0xa7d1, 0x003f, 0x003f, 0xa7a6, 0xa7d6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7a8, 0xa7d8, 0xa7a9, 0xa7d9,
    +    0x003f, 0x003f, 0xa7aa, 0xa7da, 0xa7aa, 0xa7da, 0xa7b0, 0xa7e0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa7bf, 0xa7ef, 0xa7b5, 0xa7e5,
    +    0xa7b5, 0xa7e5, 0xa7b5, 0xa7e5, 0xa7b9, 0xa7e9, 0x003f, 0x003f,
    +    0xa7bd, 0xa7ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    +    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    +    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    +    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0xa8bb, 0x003f, 0x0062,
    +    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    +    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    +    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa6c2, 0xa6c3, 0xa6c4,
    +    0xa6d5, 0xa6d6, 0x0069, 0x0072, 0x0075, 0x0076, 0xa6c2, 0xa6c3,
    +    0xa6d1, 0xa6d5, 0xa6d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    +    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0xa8a5, 0x0045, 0xa8a5,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    +    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    +    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    +    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    +    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0xa8ad, 0x004f, 0xa8ad, 0x0050, 0x0070, 0x0050, 0x0070,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0xa8b1, 0x0056, 0x0076, 0x0056, 0x0076,
    +    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    +    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    +    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    +    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0xa8ba,
    +    0x0045, 0xa8ba, 0x0045, 0xa8ba, 0x0045, 0xa8ba, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    +    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    +    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    +    0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0x003f, 0x003f,
    +    0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0x003f, 0x003f,
    +    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    +    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    +    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9,
    +    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9,
    +    0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0x003f, 0x003f,
    +    0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0x003f, 0x003f,
    +    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4,
    +    0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4,
    +    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    +    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    +    0xa6c1, 0xa6c1, 0xa6c5, 0xa6c5, 0xa6c7, 0xa6c7, 0xa6c9, 0xa6c9,
    +    0xa6cf, 0xa6cf, 0xa6d4, 0xa6d4, 0xa6d8, 0xa6d8, 0x003f, 0x003f,
    +    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,
    +    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,
    +    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,
    +    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,
    +    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,
    +    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,
    +    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0x003f, 0xa6c1, 0xa6c1,
    +    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0x003f, 0xa6c9, 0x003f,
    +    0x003f, 0xa1a7, 0xa6c7, 0xa6c7, 0xa6c7, 0x003f, 0xa6c7, 0xa6c7,
    +    0xa6a5, 0xa6a5, 0xa6a7, 0xa6a7, 0xa6a7, 0x003f, 0x003f, 0x003f,
    +    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0x003f, 0x003f, 0xa6c9, 0xa6c9,
    +    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d1, 0xa6d1, 0xa6d4, 0xa6d4,
    +    0xa6b4, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6b1, 0xa1a7, 0xa1a7, 0x0060,
    +    0x003f, 0x003f, 0xa6d8, 0xa6d8, 0xa6d8, 0x003f, 0xa6d8, 0xa6d8,
    +    0xa6af, 0xa6af, 0xa6b8, 0xa6b8, 0xa6b8, 0xa840, 0x003f, 0x003f,
    +    /* 0x2000 .. 0x20ff */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa95c, 0xa95c, 0x003f, 0xa843, 0xa1aa, 0xa844, 0xa1ac, 0x005f,
    +    0xa1ae, 0xa1af, 0x002c, 0xa1ae, 0xa1b0, 0xa1b1, 0x002c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x002e, 0xa845, 0xa1ad, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0xa1eb, 0x003f, 0xa1e4, 0xa1e5, 0x003f, 0xa846, 0x003f, 0x003f,
    +    0x003f, 0xa1b4, 0xa1b5, 0xa1f9, 0x0021, 0x003f, 0xa1a5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa84d, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1e3, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0xa95c, 0x003d, 0x0028, 0x0029, 0x006e,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0xa95c, 0x003d, 0x0028, 0x0029, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x0080, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2100 .. 0x21ff */
    +    0x003f, 0x003f, 0x0043, 0xa1e6, 0x003f, 0xa847, 0x003f, 0x0045,
    +    0x003f, 0xa848, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    +    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0xa1ed, 0x003f,
    +    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    +    0x003f, 0xa959, 0x003f, 0x003f, 0x005a, 0x003f, 0xa6b8, 0x003f,
    +    0x005a, 0x003f, 0x004b, 0x0041, 0x0042, 0x0043, 0x0065, 0x0065,
    +    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa6c3, 0xa6a3, 0xa6b0,
    +    0xa1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    +    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2f1, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7, 0xa2f8,
    +    0xa2f9, 0xa2fa, 0xa2fb, 0xa2fc, 0x004c, 0x0043, 0x0044, 0x004d,
    +    0xa2a1, 0xa2a2, 0xa2a3, 0xa2a4, 0xa2a5, 0xa2a6, 0xa2a7, 0xa2a8,
    +    0xa2a9, 0xa2aa, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1fb, 0xa1fc, 0xa1fa, 0xa1fd, 0x002d, 0x007c, 0xa849, 0xa84a,
    +    0xa84b, 0xa84c, 0xa1fb, 0xa1fa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2200 .. 0x22ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f, 0x003f, 0x003f,
    +    0xa1ca, 0xa1ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1c7,
    +    0x003f, 0xa1c6, 0xa95c, 0xa1c0, 0x003f, 0xa84d, 0x005c, 0x002a,
    +    0xa1e3, 0x003f, 0xa1cc, 0x003f, 0x003f, 0xa1d8, 0xa1de, 0xa84e,
    +    0xa1cf, 0x003f, 0x003f, 0xa84f, 0xa84f, 0xa1ce, 0xa1ce, 0xa1c4,
    +    0xa1c5, 0xa1c9, 0xa1c8, 0xa1d2, 0x003f, 0x003f, 0xa1d3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e0, 0xa1df, 0xa1c3, 0xa1cb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0xa1d7, 0x003f, 0x003f,
    +    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1d6, 0xa1d6, 0x003f, 0x003f, 0xa1d5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa850, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1d9, 0xa1d4, 0xa1d4, 0xa1d4, 0xa1dc, 0xa1dd, 0xa851, 0xa852,
    +    0x003f, 0x003f, 0xa1b6, 0xa1b7, 0x003f, 0x003f, 0xa1da, 0xa1db,
    +    0xa1dc, 0xa1dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa892, 0x003f, 0x003f,
    +    0x003f, 0xa1d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1cd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa853,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1a4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2300 .. 0x23ff */
    +    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa1b4, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2400 .. 0x24ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2d9, 0xa2da, 0xa2db, 0xa2dc, 0xa2dd, 0xa2de, 0xa2df, 0xa2e0,
    +    0xa2e1, 0xa2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa2c5, 0xa2c6, 0xa2c7, 0xa2c8,
    +    0xa2c9, 0xa2ca, 0xa2cb, 0xa2cc, 0xa2cd, 0xa2ce, 0xa2cf, 0xa2d0,
    +    0xa2d1, 0xa2d2, 0xa2d3, 0xa2d4, 0xa2d5, 0xa2d6, 0xa2d7, 0xa2d8,
    +    0xa2b1, 0xa2b2, 0xa2b3, 0xa2b4, 0xa2b5, 0xa2b6, 0xa2b7, 0xa2b8,
    +    0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0,
    +    0xa2c1, 0xa2c2, 0xa2c3, 0xa2c4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    +    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2500 .. 0x25ff */
    +    0xa9a4, 0xa9a5, 0xa9a6, 0xa9a7, 0xa9a8, 0xa9a9, 0xa9aa, 0xa9ab,
    +    0xa9ac, 0xa9ad, 0xa9ae, 0xa9af, 0xa9b0, 0xa9b1, 0xa9b2, 0xa9b3,
    +    0xa9b4, 0xa9b5, 0xa9b6, 0xa9b7, 0xa9b8, 0xa9b9, 0xa9ba, 0xa9bb,
    +    0xa9bc, 0xa9bd, 0xa9be, 0xa9bf, 0xa9c0, 0xa9c1, 0xa9c2, 0xa9c3,
    +    0xa9c4, 0xa9c5, 0xa9c6, 0xa9c7, 0xa9c8, 0xa9c9, 0xa9ca, 0xa9cb,
    +    0xa9cc, 0xa9cd, 0xa9ce, 0xa9cf, 0xa9d0, 0xa9d1, 0xa9d2, 0xa9d3,
    +    0xa9d4, 0xa9d5, 0xa9d6, 0xa9d7, 0xa9d8, 0xa9d9, 0xa9da, 0xa9db,
    +    0xa9dc, 0xa9dd, 0xa9de, 0xa9df, 0xa9e0, 0xa9e1, 0xa9e2, 0xa9e3,
    +    0xa9e4, 0xa9e5, 0xa9e6, 0xa9e7, 0xa9e8, 0xa9e9, 0xa9ea, 0xa9eb,
    +    0xa9ec, 0xa9ed, 0xa9ee, 0xa9ef, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0xa854, 0xa855, 0xa856, 0xa857, 0xa858, 0xa859, 0xa85a, 0xa85b,
    +    0xa85c, 0xa85d, 0xa85e, 0xa85f, 0xa860, 0xa861, 0xa862, 0xa863,
    +    0xa864, 0xa865, 0xa866, 0xa867, 0xa868, 0xa869, 0xa86a, 0xa86b,
    +    0xa86c, 0xa86d, 0xa86e, 0xa86f, 0xa870, 0xa871, 0xa872, 0xa873,
    +    0xa874, 0xa875, 0xa876, 0xa877, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x003f, 0xa878, 0xa879, 0xa87a, 0xa87b, 0xa87c, 0xa87d, 0xa87e,
    +    0xa880, 0xa881, 0xa882, 0xa883, 0xa884, 0xa885, 0xa886, 0xa887,
    +    0x003f, 0x003f, 0x003f, 0xa888, 0xa889, 0xa88a, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1f6, 0xa1f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1f8, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa88b, 0xa88c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f4, 0xa1f3,
    +    0x003f, 0x003f, 0x003f, 0xa1f0, 0x003f, 0x003f, 0xa1f2, 0xa1f1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa88d, 0xa88e, 0xa88f, 0xa890, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2600 .. 0x26ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1ef, 0xa1ee, 0x003f,
    +    0x003f, 0xa891, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1e2, 0x003f, 0xa1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2e00 .. 0x2eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4b8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb9ea, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2f00 .. 0x2fff */
    +    0xd2bb, 0xd8ad, 0xd8bc, 0xd8af, 0xd2d2, 0x817c, 0xb6fe, 0xd9ef,
    +    0xc8cb, 0xb6f9, 0xc8eb, 0xb0cb, 0xd8e7, 0xdaa2, 0xd9fb, 0xbcb8,
    +    0xdbc9, 0xb5b6, 0xc1a6, 0xd9e8, 0xd8b0, 0xd8ce, 0x855b, 0xcaae,
    +    0xb2b7, 0xdae0, 0xb3a7, 0xdbcc, 0xd3d6, 0xbfda, 0xe0ed, 0xcdc1,
    +    0xcabf, 0xe2ba, 0x89e5, 0xcfa6, 0xb4f3, 0xc5ae, 0xd7d3, 0xe5b2,
    +    0xb4e7, 0xd0a1, 0xdecc, 0xcaac, 0xe5f8, 0xc9bd, 0xe7dd, 0xb9a4,
    +    0xbcba, 0xbded, 0xb8c9, 0xe7db, 0xb9e3, 0xdbc8, 0xdec3, 0xdfae,
    +    0xb9ad, 0xe5e6, 0xe1ea, 0xe1dc, 0xd0c4, 0xb8ea, 0x91f4, 0xcad6,
    +    0xd6a7, 0xeab7, 0xcec4, 0xb6b7, 0xbdef, 0xb7bd, 0xcede, 0xc8d5,
    +    0xd4bb, 0xd4c2, 0xc4be, 0xc7b7, 0xd6b9, 0xb4f5, 0xecaf, 0xcee3,
    +    0xb1c8, 0xc3ab, 0xcacf, 0xc6f8, 0xcbae, 0xbbf0, 0xd7a6, 0xb8b8,
    +    0xd8b3, 0xe3dd, 0xc6ac, 0xd1c0, 0xc5a3, 0xc8ae, 0xd0fe, 0xd3f1,
    +    0xb9cf, 0xcddf, 0xb8ca, 0xc9fa, 0xd3c3, 0xccef, 0xf1e2, 0xf0da,
    +    0xb068, 0xb0d7, 0xc6a4, 0xc3f3, 0xc4bf, 0xc3ac, 0xcab8, 0xcaaf,
    +    0xcabe, 0xb662, 0xbacc, 0xd1a8, 0xc1a2, 0xd6f1, 0xc3d7, 0xf4e9,
    +    0xf3be, 0xcdf8, 0xd1f2, 0xd3f0, 0xc0cf, 0xb6f8, 0xf1e7, 0xb6fa,
    +    0xedb2, 0xc8e2, 0xb3bc, 0xd7d4, 0xd6c1, 0xbeca, 0xc9e0, 0xe2b6,
    +    0xd6db, 0xf4de, 0xc9ab, 0xc648, 0xf2ae, 0xb3e6, 0xd1aa, 0xd0d0,
    +    0xd2c2, 0xd281, 0xd28a, 0xbdc7, 0xd1d4, 0xb9c8, 0xb6b9, 0xf5b9,
    +    0xf5f4, 0xd890, 0xb3e0, 0xd7df, 0xd7e3, 0xc9ed, 0xdc87, 0xd0c1,
    +    0xb3bd, 0xde75, 0xd2d8, 0xd3cf, 0xe18a, 0xc0ef, 0xbdf0, 0xe94c,
    +    0xe954, 0xb8b7, 0xc1a5, 0xf6bf, 0xd3ea, 0xec69, 0xb7c7, 0xc3e6,
    +    0xb8ef, 0xed66, 0xbec2, 0xd2f4, 0xed93, 0xef4c, 0xef77, 0xcab3,
    +    0xcad7, 0xcfe3, 0xf152, 0xb9c7, 0xb8df, 0xf7d4, 0xf459, 0xdbcb,
    +    0xd8aa, 0xb9ed, 0xf47e, 0xf842, 0xfb75, 0xc2b9, 0xfb9c, 0xc2e9,
    +    0xfc53, 0xcaf2, 0xbada, 0xede9, 0xfc77, 0xb6a6, 0xb9c4, 0xcaf3,
    +    0xb1c7, 0xfd52, 0xfd58, 0xfd88, 0xfd94, 0xd9df, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3000 .. 0x30ff */
    +    0xa1a1, 0xa1a2, 0xa1a3, 0xa1a8, 0x003f, 0xa1a9, 0xa965, 0xa996,
    +    0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9, 0xa1ba, 0xa1bb,
    +    0xa1be, 0xa1bf, 0xa893, 0xa1fe, 0xa1b2, 0xa1b3, 0xa1bc, 0xa1bd,
    +    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa894, 0xa895, 0x002c,
    +    0x003f, 0xa940, 0xa941, 0xa942, 0xa943, 0xa944, 0xa945, 0xa946,
    +    0xa947, 0xa948, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa893, 0x003f,
    +    0xcaae, 0x8560, 0xd8a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    +    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    +    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    +    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,
    +    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,
    +    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,
    +    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,
    +    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,
    +    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,
    +    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,
    +    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4a6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa961, 0xa962, 0xa966, 0xa967, 0x003f,
    +    0x003f, 0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7,
    +    0xa5a8, 0xa5a9, 0xa5aa, 0xa5ab, 0xa5ac, 0xa5ad, 0xa5ae, 0xa5af,
    +    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,
    +    0xa5b8, 0xa5b9, 0xa5ba, 0xa5bb, 0xa5bc, 0xa5bd, 0xa5be, 0xa5bf,
    +    0xa5c0, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,
    +    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,
    +    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6, 0xa5d7,
    +    0xa5d8, 0xa5d9, 0xa5da, 0xa5db, 0xa5dc, 0xa5dd, 0xa5de, 0xa5df,
    +    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,
    +    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,
    +    0xa5f0, 0xa5f1, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6, 0xa5ef,
    +    0xa5f0, 0xa5f1, 0xa5f2, 0x003f, 0xa960, 0xa963, 0xa964, 0x003f,
    +    /* 0x3100 .. 0x31ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8c5, 0xa8c6, 0xa8c7,
    +    0xa8c8, 0xa8c9, 0xa8ca, 0xa8cb, 0xa8cc, 0xa8cd, 0xa8ce, 0xa8cf,
    +    0xa8d0, 0xa8d1, 0xa8d2, 0xa8d3, 0xa8d4, 0xa8d5, 0xa8d6, 0xa8d7,
    +    0xa8d8, 0xa8d9, 0xa8da, 0xa8db, 0xa8dc, 0xa8dd, 0xa8de, 0xa8df,
    +    0xa8e0, 0xa8e1, 0xa8e2, 0xa8e3, 0xa8e4, 0xa8e5, 0xa8e6, 0xa8e7,
    +    0xa8e8, 0xa8e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd2bb, 0xb6fe, 0xc8fd, 0xcbc4, 0xc9cf, 0xd6d0,
    +    0xcfc2, 0xbcd7, 0xd2d2, 0xb1fb, 0xb6a1, 0xccec, 0xb5d8, 0xc8cb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3200 .. 0x32ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2e5, 0xa2e6, 0xa2e7, 0xa2e8, 0xa2e9, 0xa2ea, 0xa2eb, 0xa2ec,
    +    0xa2ed, 0xa2ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa95a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2bb, 0xb6fe, 0xc8fd, 0xcbc4, 0xcee5, 0xc1f9, 0xc6df, 0xb0cb,
    +    0xbec5, 0xcaae, 0xd4c2, 0xbbf0, 0xcbae, 0xc4be, 0xbdf0, 0xcdc1,
    +    0xc8d5, 0xd6ea, 0xd3d0, 0xc9e7, 0xc3fb, 0xccd8, 0xd894, 0xd7a3,
    +    0x84ba, 0xc3d8, 0xc4d0, 0xc5ae, 0xdf6d, 0x839e, 0xd3a1, 0xd7a2,
    +    0xed97, 0xd0dd, 0xd0b4, 0xa949, 0xc9cf, 0xd6d0, 0xcfc2, 0xd7f3,
    +    0xd3d2, 0xd2bd, 0xd7da, 0xd1a7, 0xb14f, 0xc6f3, 0xd959, 0x8566,
    +    0xd2b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad, 0xa5af,
    +    0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd, 0xa5bf,
    +    0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd,
    +    0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de, 0xa5df,
    +    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9, 0xa5ea,
    +    0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f0, 0xa5f1, 0xa5f2, 0x003f,
    +    /* 0x3300 .. 0x33ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa94a, 0xa94b,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa94c, 0xa94d, 0xa94e, 0x003f,
    +    0x003f, 0xa94f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa950, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa951, 0x003f,
    +    0x003f, 0xa952, 0xa953, 0x003f, 0x003f, 0xa954, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x4e00 .. 0x4eff */
    +    0xd2bb, 0xb6a1, 0x8140, 0xc6df, 0x8141, 0x8142, 0x8143, 0xcdf2,
    +    0xd5c9, 0xc8fd, 0xc9cf, 0xcfc2, 0xd8a2, 0xb2bb, 0xd3eb, 0x8144,
    +    0xd8a4, 0xb3f3, 0x8145, 0xd7a8, 0xc7d2, 0xd8a7, 0xcac0, 0x8146,
    +    0xc7f0, 0xb1fb, 0xd2b5, 0xb4d4, 0xb6ab, 0xcbbf, 0xd8a9, 0x8147,
    +    0x8148, 0x8149, 0xb6aa, 0x814a, 0xc1bd, 0xd1cf, 0x814b, 0xc9a5,
    +    0xd8ad, 0x814c, 0xb8f6, 0xd1be, 0xe3dc, 0xd6d0, 0x814d, 0x814e,
    +    0xb7e1, 0x814f, 0xb4ae, 0x8150, 0xc1d9, 0x8151, 0xd8bc, 0x8152,
    +    0xcde8, 0xb5a4, 0xceaa, 0xd6f7, 0x8153, 0xc0f6, 0xbed9, 0xd8af,
    +    0x8154, 0x8155, 0x8156, 0xc4cb, 0x8157, 0xbec3, 0x8158, 0xd8b1,
    +    0xc3b4, 0xd2e5, 0x8159, 0xd6ae, 0xceda, 0xd5a7, 0xbaf5, 0xb7a6,
    +    0xc0d6, 0x815a, 0xc6b9, 0xc5d2, 0xc7c7, 0x815b, 0xb9d4, 0x815c,
    +    0xb3cb, 0xd2d2, 0x815d, 0x815e, 0xd8bf, 0xbec5, 0xc6f2, 0xd2b2,
    +    0xcfb0, 0xcfe7, 0x815f, 0x8160, 0x8161, 0x8162, 0xcae9, 0x8163,
    +    0x8164, 0xd8c0, 0x8165, 0x8166, 0x8167, 0x8168, 0x8169, 0x816a,
    +    0xc2f2, 0xc2d2, 0x816b, 0xc8e9, 0x816c, 0x816d, 0x816e, 0x816f,
    +    0x8170, 0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0xc7ac, 0x8176,
    +    0x8177, 0x8178, 0x8179, 0x817a, 0x817b, 0x817c, 0xc1cb, 0x817d,
    +    0xd3e8, 0xd5f9, 0x817e, 0xcac2, 0xb6fe, 0xd8a1, 0xd3da, 0xbff7,
    +    0x8180, 0xd4c6, 0xbba5, 0xd8c1, 0xcee5, 0xbeae, 0x8181, 0x8182,
    +    0xd8a8, 0x8183, 0xd1c7, 0xd0a9, 0x8184, 0x8185, 0x8186, 0xd8bd,
    +    0xd9ef, 0xcdf6, 0xbfba, 0x8187, 0xbdbb, 0xbaa5, 0xd2e0, 0xb2fa,
    +    0xbae0, 0xc4b6, 0x8188, 0xcfed, 0xbea9, 0xcda4, 0xc1c1, 0x8189,
    +    0x818a, 0x818b, 0xc7d7, 0xd9f1, 0x818c, 0xd9f4, 0x818d, 0x818e,
    +    0x818f, 0x8190, 0xc8cb, 0xd8e9, 0x8191, 0x8192, 0x8193, 0xd2da,
    +    0xcab2, 0xc8ca, 0xd8ec, 0xd8ea, 0xd8c6, 0xbdf6, 0xc6cd, 0xb3f0,
    +    0x8194, 0xd8eb, 0xbdf1, 0xbde9, 0x8195, 0xc8d4, 0xb4d3, 0x8196,
    +    0x8197, 0xc2d8, 0x8198, 0xb2d6, 0xd7d0, 0xcacb, 0xcbfb, 0xd5cc,
    +    0xb8b6, 0xcfc9, 0x8199, 0x819a, 0x819b, 0xd9da, 0xd8f0, 0xc7aa,
    +    0x819c, 0xd8ee, 0x819d, 0xb4fa, 0xc1ee, 0xd2d4, 0x819e, 0x819f,
    +    0xd8ed, 0x81a0, 0xd2c7, 0xd8ef, 0xc3c7, 0x81a1, 0x81a2, 0x81a3,
    +    0xd1f6, 0x81a4, 0xd6d9, 0xd8f2, 0x81a5, 0xd8f5, 0xbcfe, 0xbcdb,
    +    0x81a6, 0x81a7, 0x81a8, 0xc8ce, 0x81a9, 0xb7dd, 0x81aa, 0xb7c2,
    +    /* 0x4f00 .. 0x4fff */
    +    0x81ab, 0xc6f3, 0x81ac, 0x81ad, 0x81ae, 0x81af, 0x81b0, 0x81b1,
    +    0x81b2, 0xd8f8, 0xd2c1, 0x81b3, 0x81b4, 0xcee9, 0xbcbf, 0xb7fc,
    +    0xb7a5, 0xd0dd, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9, 0xd6da,
    +    0xd3c5, 0xbbef, 0xbbe1, 0xd8f1, 0x81ba, 0x81bb, 0xc9a1, 0xceb0,
    +    0xb4ab, 0x81bc, 0xd8f3, 0x81bd, 0xc9cb, 0xd8f6, 0xc2d7, 0xd8f7,
    +    0x81be, 0x81bf, 0xceb1, 0xd8f9, 0x81c0, 0x81c1, 0x81c2, 0xb2ae,
    +    0xb9c0, 0x81c3, 0xd9a3, 0x81c4, 0xb0e9, 0x81c5, 0xc1e6, 0x81c6,
    +    0xc9ec, 0x81c7, 0xcbc5, 0x81c8, 0xcbc6, 0xd9a4, 0x81c9, 0x81ca,
    +    0x81cb, 0x81cc, 0x81cd, 0xb5e8, 0x81ce, 0x81cf, 0xb5ab, 0x81d0,
    +    0x81d1, 0x81d2, 0x81d3, 0x81d4, 0x81d5, 0xcebb, 0xb5cd, 0xd7a1,
    +    0xd7f4, 0xd3d3, 0x81d6, 0xcce5, 0x81d7, 0xbace, 0x81d8, 0xd9a2,
    +    0xd9dc, 0xd3e0, 0xd8fd, 0xb7f0, 0xd7f7, 0xd8fe, 0xd8fa, 0xd9a1,
    +    0xc4e3, 0x81d9, 0x81da, 0xd3b6, 0xd8f4, 0xd9dd, 0x81db, 0xd8fb,
    +    0x81dc, 0xc5e5, 0x81dd, 0x81de, 0xc0d0, 0x81df, 0x81e0, 0xd1f0,
    +    0xb0db, 0x81e1, 0x81e2, 0xbcd1, 0xd9a6, 0x81e3, 0xd9a5, 0x81e4,
    +    0x81e5, 0x81e6, 0x81e7, 0xd9ac, 0xd9ae, 0x81e8, 0xd9ab, 0xcab9,
    +    0x81e9, 0x81ea, 0x81eb, 0xd9a9, 0xd6b6, 0x81ec, 0x81ed, 0x81ee,
    +    0xb3de, 0xd9a8, 0x81ef, 0xc0fd, 0x81f0, 0xcacc, 0x81f1, 0xd9aa,
    +    0x81f2, 0xd9a7, 0x81f3, 0x81f4, 0xd9b0, 0x81f5, 0x81f6, 0xb6b1,
    +    0x81f7, 0x81f8, 0x81f9, 0xb9a9, 0x81fa, 0xd2c0, 0x81fb, 0x81fc,
    +    0xcfc0, 0x81fd, 0x81fe, 0xc2c2, 0x8240, 0xbdc4, 0xd5ec, 0xb2e0,
    +    0xc7c8, 0xbfeb, 0xd9ad, 0x8241, 0xd9af, 0x8242, 0xceea, 0xbaee,
    +    0x8243, 0x8244, 0x8245, 0x8246, 0x8247, 0xc7d6, 0x8248, 0x8249,
    +    0x824a, 0x824b, 0x824c, 0x824d, 0x824e, 0x824f, 0x8250, 0xb1e3,
    +    0x8251, 0x8252, 0x8253, 0xb4d9, 0xb6ed, 0xd9b4, 0x8254, 0x8255,
    +    0x8256, 0x8257, 0xbfa1, 0x8258, 0x8259, 0x825a, 0xd9de, 0xc7ce,
    +    0xc0fe, 0xd9b8, 0x825b, 0x825c, 0x825d, 0x825e, 0x825f, 0xcbd7,
    +    0xb7fd, 0x8260, 0xd9b5, 0x8261, 0xd9b7, 0xb1a3, 0xd3e1, 0xd9b9,
    +    0x8262, 0xd0c5, 0x8263, 0xd9b6, 0x8264, 0x8265, 0xd9b1, 0x8266,
    +    0xd9b2, 0xc1a9, 0xd9b3, 0x8267, 0x8268, 0xbcf3, 0xd0de, 0xb8a9,
    +    0x8269, 0xbee3, 0x826a, 0xd9bd, 0x826b, 0x826c, 0x826d, 0x826e,
    +    0xd9ba, 0x826f, 0xb0b3, 0x8270, 0x8271, 0x8272, 0xd9c2, 0x8273,
    +    /* 0x5000 .. 0x50ff */
    +    0x8274, 0x8275, 0x8276, 0x8277, 0x8278, 0x8279, 0x827a, 0x827b,
    +    0x827c, 0x827d, 0x827e, 0x8280, 0xd9c4, 0xb1b6, 0x8281, 0xd9bf,
    +    0x8282, 0x8283, 0xb5b9, 0x8284, 0xbef3, 0x8285, 0x8286, 0x8287,
    +    0xccc8, 0xbaf2, 0xd2d0, 0x8288, 0xd9c3, 0x8289, 0x828a, 0xbde8,
    +    0x828b, 0xb3ab, 0x828c, 0x828d, 0x828e, 0xd9c5, 0xbeeb, 0x828f,
    +    0xd9c6, 0xd9bb, 0xc4df, 0x8290, 0xd9be, 0xd9c1, 0xd9c0, 0x8291,
    +    0x8292, 0x8293, 0x8294, 0x8295, 0x8296, 0x8297, 0x8298, 0x8299,
    +    0x829a, 0x829b, 0xd5ae, 0x829c, 0xd6b5, 0x829d, 0xc7e3, 0x829e,
    +    0x829f, 0x82a0, 0x82a1, 0xd9c8, 0x82a2, 0x82a3, 0x82a4, 0xbcd9,
    +    0xd9ca, 0x82a5, 0x82a6, 0x82a7, 0xd9bc, 0x82a8, 0xd9cb, 0xc6ab,
    +    0x82a9, 0x82aa, 0x82ab, 0x82ac, 0x82ad, 0xd9c9, 0x82ae, 0x82af,
    +    0x82b0, 0x82b1, 0xd7f6, 0x82b2, 0xcda3, 0x82b3, 0x82b4, 0x82b5,
    +    0x82b6, 0x82b7, 0x82b8, 0x82b9, 0x82ba, 0xbda1, 0x82bb, 0x82bc,
    +    0x82bd, 0x82be, 0x82bf, 0x82c0, 0xd9cc, 0x82c1, 0x82c2, 0x82c3,
    +    0x82c4, 0x82c5, 0x82c6, 0x82c7, 0x82c8, 0x82c9, 0xc5bc, 0xcdb5,
    +    0x82ca, 0x82cb, 0x82cc, 0xd9cd, 0x82cd, 0x82ce, 0xd9c7, 0xb3a5,
    +    0xbffe, 0x82cf, 0x82d0, 0x82d1, 0x82d2, 0xb8b5, 0x82d3, 0x82d4,
    +    0xc0fc, 0x82d5, 0x82d6, 0x82d7, 0x82d8, 0xb0f8, 0x82d9, 0x82da,
    +    0x82db, 0x82dc, 0x82dd, 0x82de, 0x82df, 0x82e0, 0x82e1, 0x82e2,
    +    0x82e3, 0x82e4, 0x82e5, 0x82e6, 0x82e7, 0x82e8, 0x82e9, 0x82ea,
    +    0x82eb, 0x82ec, 0x82ed, 0xb4f6, 0x82ee, 0xd9ce, 0x82ef, 0xd9cf,
    +    0xb4a2, 0xd9d0, 0x82f0, 0x82f1, 0xb4df, 0x82f2, 0x82f3, 0x82f4,
    +    0x82f5, 0x82f6, 0xb0c1, 0x82f7, 0x82f8, 0x82f9, 0x82fa, 0x82fb,
    +    0x82fc, 0x82fd, 0xd9d1, 0xc9b5, 0x82fe, 0x8340, 0x8341, 0x8342,
    +    0x8343, 0x8344, 0x8345, 0x8346, 0x8347, 0x8348, 0x8349, 0x834a,
    +    0x834b, 0x834c, 0x834d, 0x834e, 0x834f, 0x8350, 0x8351, 0xcff1,
    +    0x8352, 0x8353, 0x8354, 0x8355, 0x8356, 0x8357, 0xd9d2, 0x8358,
    +    0x8359, 0x835a, 0xc1c5, 0x835b, 0x835c, 0x835d, 0x835e, 0x835f,
    +    0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0xd9d6, 0xc9ae,
    +    0x8366, 0x8367, 0x8368, 0x8369, 0xd9d5, 0xd9d4, 0xd9d7, 0x836a,
    +    0x836b, 0x836c, 0x836d, 0xcbdb, 0x836e, 0xbda9, 0x836f, 0x8370,
    +    0x8371, 0x8372, 0x8373, 0xc6a7, 0x8374, 0x8375, 0x8376, 0x8377,
    +    /* 0x5100 .. 0x51ff */
    +    0x8378, 0x8379, 0x837a, 0x837b, 0x837c, 0x837d, 0xd9d3, 0xd9d8,
    +    0x837e, 0x8380, 0x8381, 0xd9d9, 0x8382, 0x8383, 0x8384, 0x8385,
    +    0x8386, 0x8387, 0xc8e5, 0x8388, 0x8389, 0x838a, 0x838b, 0x838c,
    +    0x838d, 0x838e, 0x838f, 0x8390, 0x8391, 0x8392, 0x8393, 0x8394,
    +    0x8395, 0xc0dc, 0x8396, 0x8397, 0x8398, 0x8399, 0x839a, 0x839b,
    +    0x839c, 0x839d, 0x839e, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3,
    +    0x83a4, 0x83a5, 0x83a6, 0x83a7, 0x83a8, 0x83a9, 0x83aa, 0x83ab,
    +    0x83ac, 0x83ad, 0x83ae, 0x83af, 0x83b0, 0x83b1, 0x83b2, 0xb6f9,
    +    0xd8a3, 0xd4ca, 0x83b3, 0xd4aa, 0xd0d6, 0xb3e4, 0xd5d7, 0x83b4,
    +    0xcfc8, 0xb9e2, 0x83b5, 0xbfcb, 0x83b6, 0xc3e2, 0x83b7, 0x83b8,
    +    0x83b9, 0xb6d2, 0x83ba, 0x83bb, 0xcdc3, 0xd9ee, 0xd9f0, 0x83bc,
    +    0x83bd, 0x83be, 0xb5b3, 0x83bf, 0xb6b5, 0x83c0, 0x83c1, 0x83c2,
    +    0x83c3, 0x83c4, 0xbea4, 0x83c5, 0x83c6, 0xc8eb, 0x83c7, 0x83c8,
    +    0xc8ab, 0x83c9, 0x83ca, 0xb0cb, 0xb9ab, 0xc1f9, 0xd9e2, 0x83cb,
    +    0xc0bc, 0xb9b2, 0x83cc, 0xb9d8, 0xd0cb, 0xb1f8, 0xc6e4, 0xbedf,
    +    0xb5e4, 0xd7c8, 0x83cd, 0xd1f8, 0xbce6, 0xcade, 0x83ce, 0x83cf,
    +    0xbcbd, 0xd9e6, 0xd8e7, 0x83d0, 0x83d1, 0xc4da, 0x83d2, 0x83d3,
    +    0xb8d4, 0xc8bd, 0x83d4, 0x83d5, 0xb2e1, 0xd4d9, 0x83d6, 0x83d7,
    +    0x83d8, 0x83d9, 0xc3b0, 0x83da, 0x83db, 0xc3e1, 0xdaa2, 0xc8df,
    +    0x83dc, 0xd0b4, 0x83dd, 0xbefc, 0xc5a9, 0x83de, 0x83df, 0x83e0,
    +    0xb9da, 0x83e1, 0xdaa3, 0x83e2, 0xd4a9, 0xdaa4, 0x83e3, 0x83e4,
    +    0x83e5, 0x83e6, 0x83e7, 0xd9fb, 0xb6ac, 0x83e8, 0x83e9, 0xb7eb,
    +    0xb1f9, 0xd9fc, 0xb3e5, 0xbef6, 0x83ea, 0xbff6, 0xd2b1, 0xc0e4,
    +    0x83eb, 0x83ec, 0x83ed, 0xb6b3, 0xd9fe, 0xd9fd, 0x83ee, 0x83ef,
    +    0xbebb, 0x83f0, 0x83f1, 0x83f2, 0xc6e0, 0x83f3, 0xd7bc, 0xdaa1,
    +    0x83f4, 0xc1b9, 0x83f5, 0xb5f2, 0xc1e8, 0x83f6, 0x83f7, 0xbcf5,
    +    0x83f8, 0xb4d5, 0x83f9, 0x83fa, 0x83fb, 0x83fc, 0x83fd, 0x83fe,
    +    0x8440, 0x8441, 0x8442, 0xc1dd, 0x8443, 0xc4fd, 0x8444, 0x8445,
    +    0xbcb8, 0xb7b2, 0x8446, 0x8447, 0xb7ef, 0x8448, 0x8449, 0x844a,
    +    0x844b, 0x844c, 0x844d, 0xd9ec, 0x844e, 0xc6be, 0x844f, 0xbfad,
    +    0xbbcb, 0x8450, 0x8451, 0xb5ca, 0x8452, 0xdbc9, 0xd0d7, 0x8453,
    +    0xcdb9, 0xb0bc, 0xb3f6, 0xbbf7, 0xdbca, 0xbaaf, 0x8454, 0xd4e4,
    +    /* 0x5200 .. 0x52ff */
    +    0xb5b6, 0xb5f3, 0xd8d6, 0xc8d0, 0x8455, 0x8456, 0xb7d6, 0xc7d0,
    +    0xd8d7, 0x8457, 0xbfaf, 0x8458, 0x8459, 0xdbbb, 0xd8d8, 0x845a,
    +    0x845b, 0xd0cc, 0xbbae, 0x845c, 0x845d, 0x845e, 0xebbe, 0xc1d0,
    +    0xc1f5, 0xd4f2, 0xb8d5, 0xb4b4, 0x845f, 0xb3f5, 0x8460, 0x8461,
    +    0xc9be, 0x8462, 0x8463, 0x8464, 0xc5d0, 0x8465, 0x8466, 0x8467,
    +    0xc5d9, 0xc0fb, 0x8468, 0xb1f0, 0x8469, 0xd8d9, 0xb9ce, 0x846a,
    +    0xb5bd, 0x846b, 0x846c, 0xd8da, 0x846d, 0x846e, 0xd6c6, 0xcba2,
    +    0xc8af, 0xc9b2, 0xb4cc, 0xbfcc, 0x846f, 0xb9f4, 0x8470, 0xd8db,
    +    0xd8dc, 0xb6e7, 0xbcc1, 0xccea, 0x8471, 0x8472, 0x8473, 0x8474,
    +    0x8475, 0x8476, 0xcff7, 0x8477, 0xd8dd, 0xc7b0, 0x8478, 0x8479,
    +    0xb9d0, 0xbda3, 0x847a, 0x847b, 0xccde, 0x847c, 0xc6ca, 0x847d,
    +    0x847e, 0x8480, 0x8481, 0x8482, 0xd8e0, 0x8483, 0xd8de, 0x8484,
    +    0x8485, 0xd8df, 0x8486, 0x8487, 0x8488, 0xb0fe, 0x8489, 0xbee7,
    +    0x848a, 0xcaa3, 0xbcf4, 0x848b, 0x848c, 0x848d, 0x848e, 0xb8b1,
    +    0x848f, 0x8490, 0xb8ee, 0x8491, 0x8492, 0x8493, 0x8494, 0x8495,
    +    0x8496, 0x8497, 0x8498, 0x8499, 0x849a, 0xd8e2, 0x849b, 0xbdcb,
    +    0x849c, 0xd8e4, 0xd8e3, 0x849d, 0x849e, 0x849f, 0x84a0, 0x84a1,
    +    0xc5fc, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6, 0x84a7, 0x84a8,
    +    0xd8e5, 0x84a9, 0x84aa, 0xd8e6, 0x84ab, 0x84ac, 0x84ad, 0x84ae,
    +    0x84af, 0x84b0, 0x84b1, 0xc1a6, 0x84b2, 0xc8b0, 0xb0ec, 0xb9a6,
    +    0xbcd3, 0xcef1, 0xdbbd, 0xc1d3, 0x84b3, 0x84b4, 0x84b5, 0x84b6,
    +    0xb6af, 0xd6fa, 0xc5ac, 0xbdd9, 0xdbbe, 0xdbbf, 0x84b7, 0x84b8,
    +    0x84b9, 0xc0f8, 0xbea2, 0xc0cd, 0x84ba, 0x84bb, 0x84bc, 0x84bd,
    +    0x84be, 0x84bf, 0x84c0, 0x84c1, 0x84c2, 0x84c3, 0xdbc0, 0xcac6,
    +    0x84c4, 0x84c5, 0x84c6, 0xb2aa, 0x84c7, 0x84c8, 0x84c9, 0xd3c2,
    +    0x84ca, 0xc3e3, 0x84cb, 0xd1ab, 0x84cc, 0x84cd, 0x84ce, 0x84cf,
    +    0xdbc2, 0x84d0, 0xc0d5, 0x84d1, 0x84d2, 0x84d3, 0xdbc3, 0x84d4,
    +    0xbfb1, 0x84d5, 0x84d6, 0x84d7, 0x84d8, 0x84d9, 0x84da, 0xc4bc,
    +    0x84db, 0x84dc, 0x84dd, 0x84de, 0xc7da, 0x84df, 0x84e0, 0x84e1,
    +    0x84e2, 0x84e3, 0x84e4, 0x84e5, 0x84e6, 0x84e7, 0x84e8, 0x84e9,
    +    0xdbc4, 0x84ea, 0x84eb, 0x84ec, 0x84ed, 0x84ee, 0x84ef, 0x84f0,
    +    0x84f1, 0xd9e8, 0xc9d7, 0x84f2, 0x84f3, 0x84f4, 0xb9b4, 0xcef0,
    +    /* 0x5300 .. 0x53ff */
    +    0xd4c8, 0x84f5, 0x84f6, 0x84f7, 0x84f8, 0xb0fc, 0xb4d2, 0x84f9,
    +    0xd0d9, 0x84fa, 0x84fb, 0x84fc, 0x84fd, 0xd9e9, 0x84fe, 0xdecb,
    +    0xd9eb, 0x8540, 0x8541, 0x8542, 0x8543, 0xd8b0, 0xbbaf, 0xb1b1,
    +    0x8544, 0xb3d7, 0xd8ce, 0x8545, 0x8546, 0xd4d1, 0x8547, 0x8548,
    +    0xbdb3, 0xbfef, 0x8549, 0xcfbb, 0x854a, 0x854b, 0xd8d0, 0x854c,
    +    0x854d, 0x854e, 0xb7cb, 0x854f, 0x8550, 0x8551, 0xd8d1, 0x8552,
    +    0x8553, 0x8554, 0x8555, 0x8556, 0x8557, 0x8558, 0x8559, 0x855a,
    +    0x855b, 0xc6a5, 0xc7f8, 0xd2bd, 0x855c, 0x855d, 0xd8d2, 0xc4e4,
    +    0x855e, 0xcaae, 0x855f, 0xc7a7, 0x8560, 0xd8a6, 0x8561, 0xc9fd,
    +    0xcee7, 0xbbdc, 0xb0eb, 0x8562, 0x8563, 0x8564, 0xbbaa, 0xd0ad,
    +    0x8565, 0xb1b0, 0xd7e4, 0xd7bf, 0x8566, 0xb5a5, 0xc2f4, 0xc4cf,
    +    0x8567, 0x8568, 0xb2a9, 0x8569, 0xb2b7, 0x856a, 0xb1e5, 0xdfb2,
    +    0xd5bc, 0xbfa8, 0xc2ac, 0xd8d5, 0xc2b1, 0x856b, 0xd8d4, 0xced4,
    +    0x856c, 0xdae0, 0x856d, 0xcec0, 0x856e, 0x856f, 0xd8b4, 0xc3ae,
    +    0xd3a1, 0xcea3, 0x8570, 0xbcb4, 0xc8b4, 0xc2d1, 0x8571, 0xbeed,
    +    0xd0b6, 0x8572, 0xdae1, 0x8573, 0x8574, 0x8575, 0x8576, 0xc7e4,
    +    0x8577, 0x8578, 0xb3a7, 0x8579, 0xb6f2, 0xccfc, 0xc0fa, 0x857a,
    +    0x857b, 0xc0f7, 0x857c, 0xd1b9, 0xd1e1, 0xd8c7, 0x857d, 0x857e,
    +    0x8580, 0x8581, 0x8582, 0x8583, 0x8584, 0xb2de, 0x8585, 0x8586,
    +    0xc0e5, 0x8587, 0xbaf1, 0x8588, 0x8589, 0xd8c8, 0x858a, 0xd4ad,
    +    0x858b, 0x858c, 0xcfe1, 0xd8c9, 0x858d, 0xd8ca, 0xcfc3, 0x858e,
    +    0xb3f8, 0xbec7, 0x858f, 0x8590, 0x8591, 0x8592, 0xd8cb, 0x8593,
    +    0x8594, 0x8595, 0x8596, 0x8597, 0x8598, 0x8599, 0xdbcc, 0x859a,
    +    0x859b, 0x859c, 0x859d, 0xc8a5, 0x859e, 0x859f, 0x85a0, 0xcfd8,
    +    0x85a1, 0xc8fe, 0xb2ce, 0x85a2, 0x85a3, 0x85a4, 0x85a5, 0x85a6,
    +    0xd3d6, 0xb2e6, 0xbcb0, 0xd3d1, 0xcbab, 0xb7b4, 0x85a7, 0x85a8,
    +    0x85a9, 0xb7a2, 0x85aa, 0x85ab, 0xcae5, 0x85ac, 0xc8a1, 0xcadc,
    +    0xb1e4, 0xd0f0, 0x85ad, 0xc5d1, 0x85ae, 0x85af, 0x85b0, 0xdbc5,
    +    0xb5fe, 0x85b1, 0x85b2, 0xbfda, 0xb9c5, 0xbee4, 0xc1ed, 0x85b3,
    +    0xdfb6, 0xdfb5, 0xd6bb, 0xbdd0, 0xd5d9, 0xb0c8, 0xb6a3, 0xbfc9,
    +    0xcca8, 0xdfb3, 0xcab7, 0xd3d2, 0x85b4, 0xd8cf, 0xd2b6, 0xbac5,
    +    0xcbbe, 0xccbe, 0x85b5, 0xdfb7, 0xb5f0, 0xdfb4, 0x85b6, 0x85b7,
    +    /* 0x5400 .. 0x54ff */
    +    0x85b8, 0xd3f5, 0x85b9, 0xb3d4, 0xb8f7, 0x85ba, 0xdfba, 0x85bb,
    +    0xbacf, 0xbcaa, 0xb5f5, 0x85bc, 0xcdac, 0xc3fb, 0xbaf3, 0xc0f4,
    +    0xcdc2, 0xcff2, 0xdfb8, 0xcfc5, 0x85bd, 0xc2c0, 0xdfb9, 0xc2f0,
    +    0x85be, 0x85bf, 0x85c0, 0xbefd, 0x85c1, 0xc1df, 0xcdcc, 0xd2f7,
    +    0xb7cd, 0xdfc1, 0x85c2, 0xdfc4, 0x85c3, 0x85c4, 0xb7f1, 0xb0c9,
    +    0xb6d6, 0xb7d4, 0x85c5, 0xbaac, 0xccfd, 0xbfd4, 0xcbb1, 0xc6f4,
    +    0x85c6, 0xd6a8, 0xdfc5, 0x85c7, 0xcee2, 0xb3b3, 0x85c8, 0x85c9,
    +    0xcefc, 0xb4b5, 0x85ca, 0xcec7, 0xbaf0, 0x85cb, 0xcee1, 0x85cc,
    +    0xd1bd, 0x85cd, 0x85ce, 0xdfc0, 0x85cf, 0x85d0, 0xb4f4, 0x85d1,
    +    0xb3ca, 0x85d2, 0xb8e6, 0xdfbb, 0x85d3, 0x85d4, 0x85d5, 0x85d6,
    +    0xc4c5, 0x85d7, 0xdfbc, 0xdfbd, 0xdfbe, 0xc5bb, 0xdfbf, 0xdfc2,
    +    0xd4b1, 0xdfc3, 0x85d8, 0xc7ba, 0xced8, 0x85d9, 0x85da, 0x85db,
    +    0x85dc, 0x85dd, 0xc4d8, 0x85de, 0xdfca, 0x85df, 0xdfcf, 0x85e0,
    +    0xd6dc, 0x85e1, 0x85e2, 0x85e3, 0x85e4, 0x85e5, 0x85e6, 0x85e7,
    +    0x85e8, 0xdfc9, 0xdfda, 0xceb6, 0x85e9, 0xbac7, 0xdfce, 0xdfc8,
    +    0xc5de, 0x85ea, 0x85eb, 0xc9eb, 0xbaf4, 0xc3fc, 0x85ec, 0x85ed,
    +    0xbed7, 0x85ee, 0xdfc6, 0x85ef, 0xdfcd, 0x85f0, 0xc5d8, 0x85f1,
    +    0x85f2, 0x85f3, 0x85f4, 0xd5a6, 0xbacd, 0x85f5, 0xbecc, 0xd3bd,
    +    0xb8c0, 0x85f6, 0xd6e4, 0x85f7, 0xdfc7, 0xb9be, 0xbfa7, 0x85f8,
    +    0x85f9, 0xc1fc, 0xdfcb, 0xdfcc, 0x85fa, 0xdfd0, 0x85fb, 0x85fc,
    +    0x85fd, 0x85fe, 0x8640, 0xdfdb, 0xdfe5, 0x8641, 0xdfd7, 0xdfd6,
    +    0xd7c9, 0xdfe3, 0xdfe4, 0xe5eb, 0xd2a7, 0xdfd2, 0x8642, 0xbfa9,
    +    0x8643, 0xd4db, 0x8644, 0xbfc8, 0xdfd4, 0x8645, 0x8646, 0x8647,
    +    0xcfcc, 0x8648, 0x8649, 0xdfdd, 0x864a, 0xd1ca, 0x864b, 0xdfde,
    +    0xb0a7, 0xc6b7, 0xdfd3, 0x864c, 0xbae5, 0x864d, 0xb6df, 0xcddb,
    +    0xb9fe, 0xd4d5, 0x864e, 0x864f, 0xdfdf, 0xcfec, 0xb0a5, 0xdfe7,
    +    0xdfd1, 0xd1c6, 0xdfd5, 0xdfd8, 0xdfd9, 0xdfdc, 0x8650, 0xbba9,
    +    0x8651, 0xdfe0, 0xdfe1, 0x8652, 0xdfe2, 0xdfe6, 0xdfe8, 0xd3b4,
    +    0x8653, 0x8654, 0x8655, 0x8656, 0x8657, 0xb8e7, 0xc5b6, 0xdfea,
    +    0xc9da, 0xc1a8, 0xc4c4, 0x8658, 0x8659, 0xbfde, 0xcff8, 0x865a,
    +    0x865b, 0x865c, 0xd5dc, 0xdfee, 0x865d, 0x865e, 0x865f, 0x8660,
    +    0x8661, 0x8662, 0xb2b8, 0x8663, 0xbadf, 0xdfec, 0x8664, 0xdbc1,
    +    /* 0x5500 .. 0x55ff */
    +    0x8665, 0xd1e4, 0x8666, 0x8667, 0x8668, 0x8669, 0xcbf4, 0xb4bd,
    +    0x866a, 0xb0a6, 0x866b, 0x866c, 0x866d, 0x866e, 0x866f, 0xdff1,
    +    0xccc6, 0xdff2, 0x8670, 0x8671, 0xdfed, 0x8672, 0x8673, 0x8674,
    +    0x8675, 0x8676, 0x8677, 0xdfe9, 0x8678, 0x8679, 0x867a, 0x867b,
    +    0xdfeb, 0x867c, 0xdfef, 0xdff0, 0xbbbd, 0x867d, 0x867e, 0xdff3,
    +    0x8680, 0x8681, 0xdff4, 0x8682, 0xbba3, 0x8683, 0xcadb, 0xcea8,
    +    0xe0a7, 0xb3aa, 0x8684, 0xe0a6, 0x8685, 0x8686, 0x8687, 0xe0a1,
    +    0x8688, 0x8689, 0x868a, 0x868b, 0xdffe, 0x868c, 0xcdd9, 0xdffc,
    +    0x868d, 0xdffa, 0x868e, 0xbfd0, 0xd7c4, 0x868f, 0xc9cc, 0x8690,
    +    0x8691, 0xdff8, 0xb0a1, 0x8692, 0x8693, 0x8694, 0x8695, 0x8696,
    +    0xdffd, 0x8697, 0x8698, 0x8699, 0x869a, 0xdffb, 0xe0a2, 0x869b,
    +    0x869c, 0x869d, 0x869e, 0x869f, 0xe0a8, 0x86a0, 0x86a1, 0x86a2,
    +    0x86a3, 0xb7c8, 0x86a4, 0x86a5, 0xc6a1, 0xc9b6, 0xc0b2, 0xdff5,
    +    0x86a6, 0x86a7, 0xc5be, 0x86a8, 0xd8c4, 0xdff9, 0xc4f6, 0x86a9,
    +    0x86aa, 0x86ab, 0x86ac, 0x86ad, 0x86ae, 0xe0a3, 0xe0a4, 0xe0a5,
    +    0xd0a5, 0x86af, 0x86b0, 0xe0b4, 0xcce4, 0x86b1, 0xe0b1, 0x86b2,
    +    0xbfa6, 0xe0af, 0xceb9, 0xe0ab, 0xc9c6, 0x86b3, 0x86b4, 0xc0ae,
    +    0xe0ae, 0xbaed, 0xbab0, 0xe0a9, 0x86b5, 0x86b6, 0x86b7, 0xdff6,
    +    0x86b8, 0xe0b3, 0x86b9, 0x86ba, 0xe0b8, 0x86bb, 0x86bc, 0x86bd,
    +    0xb4ad, 0xe0b9, 0x86be, 0x86bf, 0xcfb2, 0xbac8, 0x86c0, 0xe0b0,
    +    0x86c1, 0x86c2, 0x86c3, 0x86c4, 0x86c5, 0x86c6, 0x86c7, 0xd0fa,
    +    0x86c8, 0x86c9, 0x86ca, 0x86cb, 0x86cc, 0x86cd, 0x86ce, 0x86cf,
    +    0x86d0, 0xe0ac, 0x86d1, 0xd4fb, 0x86d2, 0xdff7, 0x86d3, 0xc5e7,
    +    0x86d4, 0xe0ad, 0x86d5, 0xd3f7, 0x86d6, 0xe0b6, 0xe0b7, 0x86d7,
    +    0x86d8, 0x86d9, 0x86da, 0x86db, 0xe0c4, 0xd0e1, 0x86dc, 0x86dd,
    +    0x86de, 0xe0bc, 0x86df, 0x86e0, 0xe0c9, 0xe0ca, 0x86e1, 0x86e2,
    +    0x86e3, 0xe0be, 0xe0aa, 0xc9a4, 0xe0c1, 0x86e4, 0xe0b2, 0x86e5,
    +    0x86e6, 0x86e7, 0x86e8, 0x86e9, 0xcac8, 0xe0c3, 0x86ea, 0xe0b5,
    +    0x86eb, 0xcecb, 0x86ec, 0xcbc3, 0xe0cd, 0xe0c6, 0xe0c2, 0x86ed,
    +    0xe0cb, 0x86ee, 0xe0ba, 0xe0bf, 0xe0c0, 0x86ef, 0x86f0, 0xe0c5,
    +    0x86f1, 0x86f2, 0xe0c7, 0xe0c8, 0x86f3, 0xe0cc, 0x86f4, 0xe0bb,
    +    0x86f5, 0x86f6, 0x86f7, 0x86f8, 0x86f9, 0xcbd4, 0xe0d5, 0x86fa,
    +    /* 0x5600 .. 0x56ff */
    +    0xe0d6, 0xe0d2, 0x86fb, 0x86fc, 0x86fd, 0x86fe, 0x8740, 0x8741,
    +    0xe0d0, 0xbcce, 0x8742, 0x8743, 0xe0d1, 0x8744, 0xb8c2, 0xd8c5,
    +    0x8745, 0x8746, 0x8747, 0x8748, 0x8749, 0x874a, 0x874b, 0x874c,
    +    0xd0ea, 0x874d, 0x874e, 0xc2ef, 0x874f, 0x8750, 0xe0cf, 0xe0bd,
    +    0x8751, 0x8752, 0x8753, 0xe0d4, 0xe0d3, 0x8754, 0x8755, 0xe0d7,
    +    0x8756, 0x8757, 0x8758, 0x8759, 0xe0dc, 0xe0d8, 0x875a, 0x875b,
    +    0x875c, 0xd6f6, 0xb3b0, 0x875d, 0xd7ec, 0x875e, 0xcbbb, 0x875f,
    +    0x8760, 0xe0da, 0x8761, 0xcefb, 0x8762, 0x8763, 0x8764, 0xbad9,
    +    0x8765, 0x8766, 0x8767, 0x8768, 0x8769, 0x876a, 0x876b, 0x876c,
    +    0x876d, 0x876e, 0x876f, 0x8770, 0xe0e1, 0xe0dd, 0xd2ad, 0x8771,
    +    0x8772, 0x8773, 0x8774, 0x8775, 0xe0e2, 0x8776, 0x8777, 0xe0db,
    +    0xe0d9, 0xe0df, 0x8778, 0x8779, 0xe0e0, 0x877a, 0x877b, 0x877c,
    +    0x877d, 0x877e, 0xe0de, 0x8780, 0xe0e4, 0x8781, 0x8782, 0x8783,
    +    0xc6f7, 0xd8ac, 0xd4eb, 0xe0e6, 0xcac9, 0x8784, 0x8785, 0x8786,
    +    0x8787, 0xe0e5, 0x8788, 0x8789, 0x878a, 0x878b, 0xb8c1, 0x878c,
    +    0x878d, 0x878e, 0x878f, 0xe0e7, 0xe0e8, 0x8790, 0x8791, 0x8792,
    +    0x8793, 0x8794, 0x8795, 0x8796, 0x8797, 0xe0e9, 0xe0e3, 0x8798,
    +    0x8799, 0x879a, 0x879b, 0x879c, 0x879d, 0x879e, 0xbabf, 0xcce7,
    +    0x879f, 0x87a0, 0x87a1, 0xe0ea, 0x87a2, 0x87a3, 0x87a4, 0x87a5,
    +    0x87a6, 0x87a7, 0x87a8, 0x87a9, 0x87aa, 0x87ab, 0x87ac, 0x87ad,
    +    0x87ae, 0x87af, 0x87b0, 0xcff9, 0x87b1, 0x87b2, 0x87b3, 0x87b4,
    +    0x87b5, 0x87b6, 0x87b7, 0x87b8, 0x87b9, 0x87ba, 0x87bb, 0xe0eb,
    +    0x87bc, 0x87bd, 0x87be, 0x87bf, 0x87c0, 0x87c1, 0x87c2, 0xc8c2,
    +    0x87c3, 0x87c4, 0x87c5, 0x87c6, 0xbdc0, 0x87c7, 0x87c8, 0x87c9,
    +    0x87ca, 0x87cb, 0x87cc, 0x87cd, 0x87ce, 0x87cf, 0x87d0, 0x87d1,
    +    0x87d2, 0x87d3, 0xc4d2, 0x87d4, 0x87d5, 0x87d6, 0x87d7, 0x87d8,
    +    0x87d9, 0x87da, 0x87db, 0x87dc, 0xe0ec, 0x87dd, 0x87de, 0xe0ed,
    +    0x87df, 0x87e0, 0xc7f4, 0xcbc4, 0x87e1, 0xe0ee, 0xbbd8, 0xd8b6,
    +    0xd2f2, 0xe0ef, 0xcdc5, 0x87e2, 0xb6da, 0x87e3, 0x87e4, 0x87e5,
    +    0x87e6, 0x87e7, 0x87e8, 0xe0f1, 0x87e9, 0xd4b0, 0x87ea, 0x87eb,
    +    0xc0a7, 0xb4d1, 0x87ec, 0x87ed, 0xcea7, 0xe0f0, 0x87ee, 0x87ef,
    +    0x87f0, 0xe0f2, 0xb9cc, 0x87f1, 0x87f2, 0xb9fa, 0xcdbc, 0xe0f3,
    +    /* 0x5700 .. 0x57ff */
    +    0x87f3, 0x87f4, 0x87f5, 0xc6d4, 0xe0f4, 0x87f6, 0xd4b2, 0x87f7,
    +    0xc8a6, 0xe0f6, 0xe0f5, 0x87f8, 0x87f9, 0x87fa, 0x87fb, 0x87fc,
    +    0x87fd, 0x87fe, 0x8840, 0x8841, 0x8842, 0x8843, 0x8844, 0x8845,
    +    0x8846, 0x8847, 0x8848, 0x8849, 0xe0f7, 0x884a, 0x884b, 0xcdc1,
    +    0x884c, 0x884d, 0x884e, 0xcaa5, 0x884f, 0x8850, 0x8851, 0x8852,
    +    0xd4da, 0xdbd7, 0xdbd9, 0x8853, 0xdbd8, 0xb9e7, 0xdbdc, 0xdbdd,
    +    0xb5d8, 0x8854, 0x8855, 0xdbda, 0x8856, 0x8857, 0x8858, 0x8859,
    +    0x885a, 0xdbdb, 0xb3a1, 0xdbdf, 0x885b, 0x885c, 0xbbf8, 0x885d,
    +    0xd6b7, 0x885e, 0xdbe0, 0x885f, 0x8860, 0x8861, 0x8862, 0xbef9,
    +    0x8863, 0x8864, 0xb7bb, 0x8865, 0xdbd0, 0xccae, 0xbfb2, 0xbbb5,
    +    0xd7f8, 0xbfd3, 0x8866, 0x8867, 0x8868, 0x8869, 0x886a, 0xbfe9,
    +    0x886b, 0x886c, 0xbce1, 0xccb3, 0xdbde, 0xb0d3, 0xceeb, 0xb7d8,
    +    0xd7b9, 0xc6c2, 0x886d, 0x886e, 0xc0a4, 0x886f, 0xccb9, 0x8870,
    +    0xdbe7, 0xdbe1, 0xc6ba, 0xdbe3, 0x8871, 0xdbe8, 0x8872, 0xc5f7,
    +    0x8873, 0x8874, 0x8875, 0xdbea, 0x8876, 0x8877, 0xdbe9, 0xbfc0,
    +    0x8878, 0x8879, 0x887a, 0xdbe6, 0xdbe5, 0x887b, 0x887c, 0x887d,
    +    0x887e, 0x8880, 0xb4b9, 0xc0ac, 0xc2a2, 0xdbe2, 0xdbe4, 0x8881,
    +    0x8882, 0x8883, 0x8884, 0xd0cd, 0xdbed, 0x8885, 0x8886, 0x8887,
    +    0x8888, 0x8889, 0xc0dd, 0xdbf2, 0x888a, 0x888b, 0x888c, 0x888d,
    +    0x888e, 0x888f, 0x8890, 0xb6e2, 0x8891, 0x8892, 0x8893, 0x8894,
    +    0xdbf3, 0xdbd2, 0xb9b8, 0xd4ab, 0xdbec, 0x8895, 0xbfd1, 0xdbf0,
    +    0x8896, 0xdbd1, 0x8897, 0xb5e6, 0x8898, 0xdbeb, 0xbfe5, 0x8899,
    +    0x889a, 0x889b, 0xdbee, 0x889c, 0xdbf1, 0x889d, 0x889e, 0x889f,
    +    0xdbf9, 0x88a0, 0x88a1, 0x88a2, 0x88a3, 0x88a4, 0x88a5, 0x88a6,
    +    0x88a7, 0x88a8, 0xb9a1, 0xb0a3, 0x88a9, 0x88aa, 0x88ab, 0x88ac,
    +    0x88ad, 0x88ae, 0x88af, 0xc2f1, 0x88b0, 0x88b1, 0xb3c7, 0xdbef,
    +    0x88b2, 0x88b3, 0xdbf8, 0x88b4, 0xc6d2, 0xdbf4, 0x88b5, 0x88b6,
    +    0xdbf5, 0xdbf7, 0xdbf6, 0x88b7, 0x88b8, 0xdbfe, 0x88b9, 0xd3f2,
    +    0xb2ba, 0x88ba, 0x88bb, 0x88bc, 0xdbfd, 0x88bd, 0x88be, 0x88bf,
    +    0x88c0, 0x88c1, 0x88c2, 0x88c3, 0x88c4, 0xdca4, 0x88c5, 0xdbfb,
    +    0x88c6, 0x88c7, 0x88c8, 0x88c9, 0xdbfa, 0x88ca, 0x88cb, 0x88cc,
    +    0xdbfc, 0xc5e0, 0xbbf9, 0x88cd, 0x88ce, 0xdca3, 0x88cf, 0x88d0,
    +    /* 0x5800 .. 0x58ff */
    +    0xdca5, 0x88d1, 0xccc3, 0x88d2, 0x88d3, 0x88d4, 0xb6d1, 0xddc0,
    +    0x88d5, 0x88d6, 0x88d7, 0xdca1, 0x88d8, 0xdca2, 0x88d9, 0x88da,
    +    0x88db, 0xc7b5, 0x88dc, 0x88dd, 0x88de, 0xb6e9, 0x88df, 0x88e0,
    +    0x88e1, 0xdca7, 0x88e2, 0x88e3, 0x88e4, 0x88e5, 0xdca6, 0x88e6,
    +    0xdca9, 0xb1a4, 0x88e7, 0x88e8, 0xb5cc, 0x88e9, 0x88ea, 0x88eb,
    +    0x88ec, 0x88ed, 0xbfb0, 0x88ee, 0x88ef, 0x88f0, 0x88f1, 0x88f2,
    +    0xd1df, 0x88f3, 0x88f4, 0x88f5, 0x88f6, 0xb6c2, 0x88f7, 0x88f8,
    +    0x88f9, 0x88fa, 0x88fb, 0x88fc, 0x88fd, 0x88fe, 0x8940, 0x8941,
    +    0x8942, 0x8943, 0x8944, 0x8945, 0xdca8, 0x8946, 0x8947, 0x8948,
    +    0x8949, 0x894a, 0x894b, 0x894c, 0xcbfa, 0xebf3, 0x894d, 0x894e,
    +    0x894f, 0xcbdc, 0x8950, 0x8951, 0xcbfe, 0x8952, 0x8953, 0x8954,
    +    0xccc1, 0x8955, 0x8956, 0x8957, 0x8958, 0x8959, 0xc8fb, 0x895a,
    +    0x895b, 0x895c, 0x895d, 0x895e, 0x895f, 0xdcaa, 0x8960, 0x8961,
    +    0x8962, 0x8963, 0x8964, 0xccee, 0xdcab, 0x8965, 0x8966, 0x8967,
    +    0x8968, 0x8969, 0x896a, 0x896b, 0x896c, 0x896d, 0x896e, 0x896f,
    +    0x8970, 0x8971, 0x8972, 0x8973, 0x8974, 0x8975, 0xdbd3, 0x8976,
    +    0xdcaf, 0xdcac, 0x8977, 0xbeb3, 0x8978, 0xcafb, 0x8979, 0x897a,
    +    0x897b, 0xdcad, 0x897c, 0x897d, 0x897e, 0x8980, 0x8981, 0x8982,
    +    0x8983, 0x8984, 0xc9ca, 0xc4b9, 0x8985, 0x8986, 0x8987, 0x8988,
    +    0x8989, 0xc7bd, 0xdcae, 0x898a, 0x898b, 0x898c, 0xd4f6, 0xd0e6,
    +    0x898d, 0x898e, 0x898f, 0x8990, 0x8991, 0x8992, 0x8993, 0x8994,
    +    0xc4ab, 0xb6d5, 0x8995, 0x8996, 0x8997, 0x8998, 0x8999, 0x899a,
    +    0x899b, 0x899c, 0x899d, 0x899e, 0x899f, 0x89a0, 0x89a1, 0x89a2,
    +    0x89a3, 0x89a4, 0x89a5, 0x89a6, 0xdbd4, 0x89a7, 0x89a8, 0x89a9,
    +    0x89aa, 0xb1da, 0x89ab, 0x89ac, 0x89ad, 0xdbd5, 0x89ae, 0x89af,
    +    0x89b0, 0x89b1, 0x89b2, 0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7,
    +    0x89b8, 0xdbd6, 0x89b9, 0x89ba, 0x89bb, 0xbabe, 0x89bc, 0x89bd,
    +    0x89be, 0x89bf, 0x89c0, 0x89c1, 0x89c2, 0x89c3, 0x89c4, 0x89c5,
    +    0x89c6, 0x89c7, 0x89c8, 0x89c9, 0xc8c0, 0x89ca, 0x89cb, 0x89cc,
    +    0x89cd, 0x89ce, 0x89cf, 0xcabf, 0xc8c9, 0x89d0, 0xd7b3, 0x89d1,
    +    0xc9f9, 0x89d2, 0x89d3, 0xbfc7, 0x89d4, 0x89d5, 0xbaf8, 0x89d6,
    +    0x89d7, 0xd2bc, 0x89d8, 0x89d9, 0x89da, 0x89db, 0x89dc, 0x89dd,
    +    /* 0x5900 .. 0x59ff */
    +    0x89de, 0x89df, 0xe2ba, 0x89e0, 0xb4a6, 0x89e1, 0x89e2, 0xb1b8,
    +    0x89e3, 0x89e4, 0x89e5, 0x89e6, 0x89e7, 0xb8b4, 0x89e8, 0xcfc4,
    +    0x89e9, 0x89ea, 0x89eb, 0x89ec, 0xd9e7, 0xcfa6, 0xcde2, 0x89ed,
    +    0x89ee, 0xd9ed, 0xb6e0, 0x89ef, 0xd2b9, 0x89f0, 0x89f1, 0xb9bb,
    +    0x89f2, 0x89f3, 0x89f4, 0x89f5, 0xe2b9, 0xe2b7, 0x89f6, 0xb4f3,
    +    0x89f7, 0xccec, 0xccab, 0xb7f2, 0x89f8, 0xd8b2, 0xd1eb, 0xbabb,
    +    0x89f9, 0xcaa7, 0x89fa, 0x89fb, 0xcdb7, 0x89fc, 0x89fd, 0xd2c4,
    +    0xbfe4, 0xbcd0, 0xb6e1, 0x89fe, 0xdec5, 0x8a40, 0x8a41, 0x8a42,
    +    0x8a43, 0xdec6, 0xdbbc, 0x8a44, 0xd1d9, 0x8a45, 0x8a46, 0xc6e6,
    +    0xc4ce, 0xb7ee, 0x8a47, 0xb7dc, 0x8a48, 0x8a49, 0xbffc, 0xd7e0,
    +    0x8a4a, 0xc6f5, 0x8a4b, 0x8a4c, 0xb1bc, 0xdec8, 0xbdb1, 0xccd7,
    +    0xdeca, 0x8a4d, 0xdec9, 0x8a4e, 0x8a4f, 0x8a50, 0x8a51, 0x8a52,
    +    0xb5ec, 0x8a53, 0xc9dd, 0x8a54, 0x8a55, 0xb0c2, 0x8a56, 0x8a57,
    +    0x8a58, 0x8a59, 0x8a5a, 0x8a5b, 0x8a5c, 0x8a5d, 0x8a5e, 0x8a5f,
    +    0x8a60, 0x8a61, 0x8a62, 0xc5ae, 0xc5ab, 0x8a63, 0xc4cc, 0x8a64,
    +    0xbce9, 0xcbfd, 0x8a65, 0x8a66, 0x8a67, 0xbac3, 0x8a68, 0x8a69,
    +    0x8a6a, 0xe5f9, 0xc8e7, 0xe5fa, 0xcdfd, 0x8a6b, 0xd7b1, 0xb8be,
    +    0xc2e8, 0x8a6c, 0xc8d1, 0x8a6d, 0x8a6e, 0xe5fb, 0x8a6f, 0x8a70,
    +    0x8a71, 0x8a72, 0xb6ca, 0xbccb, 0x8a73, 0x8a74, 0xd1fd, 0xe6a1,
    +    0x8a75, 0xc3ee, 0x8a76, 0x8a77, 0x8a78, 0x8a79, 0xe6a4, 0x8a7a,
    +    0x8a7b, 0x8a7c, 0x8a7d, 0xe5fe, 0xe6a5, 0xcdd7, 0x8a7e, 0x8a80,
    +    0xb7c1, 0xe5fc, 0xe5fd, 0xe6a3, 0x8a81, 0x8a82, 0xc4dd, 0xe6a8,
    +    0x8a83, 0x8a84, 0xe6a7, 0x8a85, 0x8a86, 0x8a87, 0x8a88, 0x8a89,
    +    0x8a8a, 0xc3c3, 0x8a8b, 0xc6de, 0x8a8c, 0x8a8d, 0xe6aa, 0x8a8e,
    +    0x8a8f, 0x8a90, 0x8a91, 0x8a92, 0x8a93, 0x8a94, 0xc4b7, 0x8a95,
    +    0x8a96, 0x8a97, 0xe6a2, 0xcabc, 0x8a98, 0x8a99, 0x8a9a, 0x8a9b,
    +    0xbde3, 0xb9c3, 0xe6a6, 0xd0d5, 0xceaf, 0x8a9c, 0x8a9d, 0xe6a9,
    +    0xe6b0, 0x8a9e, 0xd2a6, 0x8a9f, 0xbdaa, 0xe6ad, 0x8aa0, 0x8aa1,
    +    0x8aa2, 0x8aa3, 0x8aa4, 0xe6af, 0x8aa5, 0xc0d1, 0x8aa6, 0x8aa7,
    +    0xd2cc, 0x8aa8, 0x8aa9, 0x8aaa, 0xbca7, 0x8aab, 0x8aac, 0x8aad,
    +    0x8aae, 0x8aaf, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3, 0x8ab4, 0x8ab5,
    +    0x8ab6, 0xe6b1, 0x8ab7, 0xd2f6, 0x8ab8, 0x8ab9, 0x8aba, 0xd7cb,
    +    /* 0x5a00 .. 0x5aff */
    +    0x8abb, 0xcdfe, 0x8abc, 0xcdde, 0xc2a6, 0xe6ab, 0xe6ac, 0xbdbf,
    +    0xe6ae, 0xe6b3, 0x8abd, 0x8abe, 0xe6b2, 0x8abf, 0x8ac0, 0x8ac1,
    +    0x8ac2, 0xe6b6, 0x8ac3, 0xe6b8, 0x8ac4, 0x8ac5, 0x8ac6, 0x8ac7,
    +    0xc4ef, 0x8ac8, 0x8ac9, 0x8aca, 0xc4c8, 0x8acb, 0x8acc, 0xbeea,
    +    0xc9ef, 0x8acd, 0x8ace, 0xe6b7, 0x8acf, 0xb6f0, 0x8ad0, 0x8ad1,
    +    0x8ad2, 0xc3e4, 0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0x8ad7, 0x8ad8,
    +    0x8ad9, 0xd3e9, 0xe6b4, 0x8ada, 0xe6b5, 0x8adb, 0xc8a2, 0x8adc,
    +    0x8add, 0x8ade, 0x8adf, 0x8ae0, 0xe6bd, 0x8ae1, 0x8ae2, 0x8ae3,
    +    0xe6b9, 0x8ae4, 0x8ae5, 0x8ae6, 0x8ae7, 0x8ae8, 0xc6c5, 0x8ae9,
    +    0x8aea, 0xcdf1, 0xe6bb, 0x8aeb, 0x8aec, 0x8aed, 0x8aee, 0x8aef,
    +    0x8af0, 0x8af1, 0x8af2, 0x8af3, 0x8af4, 0xe6bc, 0x8af5, 0x8af6,
    +    0x8af7, 0x8af8, 0xbbe9, 0x8af9, 0x8afa, 0x8afb, 0x8afc, 0x8afd,
    +    0x8afe, 0x8b40, 0xe6be, 0x8b41, 0x8b42, 0x8b43, 0x8b44, 0xe6ba,
    +    0x8b45, 0x8b46, 0xc0b7, 0x8b47, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b,
    +    0x8b4c, 0x8b4d, 0x8b4e, 0x8b4f, 0xd3a4, 0xe6bf, 0xc9f4, 0xe6c3,
    +    0x8b50, 0x8b51, 0xe6c4, 0x8b52, 0x8b53, 0x8b54, 0x8b55, 0xd0f6,
    +    0x8b56, 0x8b57, 0x8b58, 0x8b59, 0x8b5a, 0x8b5b, 0x8b5c, 0x8b5d,
    +    0x8b5e, 0x8b5f, 0x8b60, 0x8b61, 0x8b62, 0x8b63, 0x8b64, 0x8b65,
    +    0x8b66, 0x8b67, 0xc3bd, 0x8b68, 0x8b69, 0x8b6a, 0x8b6b, 0x8b6c,
    +    0x8b6d, 0x8b6e, 0xc3c4, 0xe6c2, 0x8b6f, 0x8b70, 0x8b71, 0x8b72,
    +    0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77, 0x8b78, 0x8b79, 0x8b7a,
    +    0x8b7b, 0x8b7c, 0xe6c1, 0x8b7d, 0x8b7e, 0x8b80, 0x8b81, 0x8b82,
    +    0x8b83, 0x8b84, 0xe6c7, 0xcfb1, 0x8b85, 0xebf4, 0x8b86, 0x8b87,
    +    0xe6ca, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0xe6c5, 0x8b8d,
    +    0x8b8e, 0xbcde, 0xc9a9, 0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93,
    +    0x8b94, 0xbcb5, 0x8b95, 0x8b96, 0xcfd3, 0x8b97, 0x8b98, 0x8b99,
    +    0x8b9a, 0x8b9b, 0xe6c8, 0x8b9c, 0xe6c9, 0x8b9d, 0xe6ce, 0x8b9e,
    +    0xe6d0, 0x8b9f, 0x8ba0, 0x8ba1, 0xe6d1, 0x8ba2, 0x8ba3, 0x8ba4,
    +    0xe6cb, 0xb5d5, 0x8ba5, 0xe6cc, 0x8ba6, 0x8ba7, 0xe6cf, 0x8ba8,
    +    0x8ba9, 0xc4db, 0x8baa, 0xe6c6, 0x8bab, 0x8bac, 0x8bad, 0x8bae,
    +    0x8baf, 0xe6cd, 0x8bb0, 0x8bb1, 0x8bb2, 0x8bb3, 0x8bb4, 0x8bb5,
    +    0x8bb6, 0x8bb7, 0x8bb8, 0x8bb9, 0x8bba, 0x8bbb, 0x8bbc, 0x8bbd,
    +    /* 0x5b00 .. 0x5bff */
    +    0x8bbe, 0x8bbf, 0x8bc0, 0x8bc1, 0x8bc2, 0x8bc3, 0x8bc4, 0x8bc5,
    +    0x8bc6, 0xe6d2, 0x8bc7, 0x8bc8, 0x8bc9, 0x8bca, 0x8bcb, 0x8bcc,
    +    0x8bcd, 0x8bce, 0x8bcf, 0x8bd0, 0x8bd1, 0x8bd2, 0xe6d4, 0xe6d3,
    +    0x8bd3, 0x8bd4, 0x8bd5, 0x8bd6, 0x8bd7, 0x8bd8, 0x8bd9, 0x8bda,
    +    0x8bdb, 0x8bdc, 0x8bdd, 0x8bde, 0x8bdf, 0x8be0, 0x8be1, 0x8be2,
    +    0x8be3, 0x8be4, 0x8be5, 0x8be6, 0x8be7, 0x8be8, 0x8be9, 0x8bea,
    +    0x8beb, 0x8bec, 0xe6d5, 0x8bed, 0xd9f8, 0x8bee, 0x8bef, 0xe6d6,
    +    0x8bf0, 0x8bf1, 0x8bf2, 0x8bf3, 0x8bf4, 0x8bf5, 0x8bf6, 0x8bf7,
    +    0xe6d7, 0x8bf8, 0x8bf9, 0x8bfa, 0x8bfb, 0x8bfc, 0x8bfd, 0x8bfe,
    +    0x8c40, 0x8c41, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c46, 0x8c47,
    +    0xd7d3, 0xe6dd, 0x8c48, 0xe6de, 0xbfd7, 0xd4d0, 0x8c49, 0xd7d6,
    +    0xb4e6, 0xcbef, 0xe6da, 0xd8c3, 0xd7ce, 0xd0a2, 0x8c4a, 0xc3cf,
    +    0x8c4b, 0x8c4c, 0xe6df, 0xbcbe, 0xb9c2, 0xe6db, 0xd1a7, 0x8c4d,
    +    0x8c4e, 0xbaa2, 0xc2cf, 0x8c4f, 0xd8ab, 0x8c50, 0x8c51, 0x8c52,
    +    0xcaeb, 0xe5ee, 0x8c53, 0xe6dc, 0x8c54, 0xb7f5, 0x8c55, 0x8c56,
    +    0x8c57, 0x8c58, 0xc8e6, 0x8c59, 0x8c5a, 0xc4f5, 0x8c5b, 0x8c5c,
    +    0xe5b2, 0xc4fe, 0x8c5d, 0xcbfc, 0xe5b3, 0xd5ac, 0x8c5e, 0xd3ee,
    +    0xcad8, 0xb0b2, 0x8c5f, 0xcbce, 0xcdea, 0x8c60, 0x8c61, 0xbaea,
    +    0x8c62, 0x8c63, 0x8c64, 0xe5b5, 0x8c65, 0xe5b4, 0x8c66, 0xd7da,
    +    0xb9d9, 0xd6e6, 0xb6a8, 0xcdf0, 0xd2cb, 0xb1a6, 0xcab5, 0x8c67,
    +    0xb3e8, 0xc9f3, 0xbfcd, 0xd0fb, 0xcad2, 0xe5b6, 0xbbc2, 0x8c68,
    +    0x8c69, 0x8c6a, 0xcfdc, 0xb9ac, 0x8c6b, 0x8c6c, 0x8c6d, 0x8c6e,
    +    0xd4d7, 0x8c6f, 0x8c70, 0xbaa6, 0xd1e7, 0xcffc, 0xbcd2, 0x8c71,
    +    0xe5b7, 0xc8dd, 0x8c72, 0x8c73, 0x8c74, 0xbfed, 0xb1f6, 0xcbde,
    +    0x8c75, 0x8c76, 0xbcc5, 0x8c77, 0xbcc4, 0xd2fa, 0xc3dc, 0xbfdc,
    +    0x8c78, 0x8c79, 0x8c7a, 0x8c7b, 0xb8bb, 0x8c7c, 0x8c7d, 0x8c7e,
    +    0xc3c2, 0x8c80, 0xbaae, 0xd4a2, 0x8c81, 0x8c82, 0x8c83, 0x8c84,
    +    0x8c85, 0x8c86, 0x8c87, 0x8c88, 0x8c89, 0xc7de, 0xc4af, 0xb2ec,
    +    0x8c8a, 0xb9d1, 0x8c8b, 0x8c8c, 0xe5bb, 0xc1c8, 0x8c8d, 0x8c8e,
    +    0xd5af, 0x8c8f, 0x8c90, 0x8c91, 0x8c92, 0x8c93, 0xe5bc, 0x8c94,
    +    0xe5be, 0x8c95, 0x8c96, 0x8c97, 0x8c98, 0x8c99, 0x8c9a, 0x8c9b,
    +    0xb4e7, 0xb6d4, 0xcbc2, 0xd1b0, 0xb5bc, 0x8c9c, 0x8c9d, 0xcad9,
    +    /* 0x5c00 .. 0x5cff */
    +    0x8c9e, 0xb7e2, 0x8c9f, 0x8ca0, 0xc9e4, 0x8ca1, 0xbdab, 0x8ca2,
    +    0x8ca3, 0xcebe, 0xd7f0, 0x8ca4, 0x8ca5, 0x8ca6, 0x8ca7, 0xd0a1,
    +    0x8ca8, 0xc9d9, 0x8ca9, 0x8caa, 0xb6fb, 0xe6d8, 0xbce2, 0x8cab,
    +    0xb3be, 0x8cac, 0xc9d0, 0x8cad, 0xe6d9, 0xb3a2, 0x8cae, 0x8caf,
    +    0x8cb0, 0x8cb1, 0xdecc, 0x8cb2, 0xd3c8, 0xdecd, 0x8cb3, 0xd2a2,
    +    0x8cb4, 0x8cb5, 0x8cb6, 0x8cb7, 0xdece, 0x8cb8, 0x8cb9, 0x8cba,
    +    0x8cbb, 0xbecd, 0x8cbc, 0x8cbd, 0xdecf, 0x8cbe, 0x8cbf, 0x8cc0,
    +    0xcaac, 0xd2fc, 0xb3df, 0xe5ea, 0xc4e1, 0xbea1, 0xceb2, 0xc4f2,
    +    0xbed6, 0xc6a8, 0xb2e3, 0x8cc1, 0x8cc2, 0xbed3, 0x8cc3, 0x8cc4,
    +    0xc7fc, 0xcceb, 0xbdec, 0xcedd, 0x8cc5, 0x8cc6, 0xcaba, 0xc6c1,
    +    0xe5ec, 0xd0bc, 0x8cc7, 0x8cc8, 0x8cc9, 0xd5b9, 0x8cca, 0x8ccb,
    +    0x8ccc, 0xe5ed, 0x8ccd, 0x8cce, 0x8ccf, 0x8cd0, 0xcaf4, 0x8cd1,
    +    0xcdc0, 0xc2c5, 0x8cd2, 0xe5ef, 0x8cd3, 0xc2c4, 0xe5f0, 0x8cd4,
    +    0x8cd5, 0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda, 0xe5f8, 0xcdcd,
    +    0x8cdb, 0xc9bd, 0x8cdc, 0x8cdd, 0x8cde, 0x8cdf, 0x8ce0, 0x8ce1,
    +    0x8ce2, 0xd2d9, 0xe1a8, 0x8ce3, 0x8ce4, 0x8ce5, 0x8ce6, 0xd3ec,
    +    0x8ce7, 0xcbea, 0xc6f1, 0x8ce8, 0x8ce9, 0x8cea, 0x8ceb, 0x8cec,
    +    0xe1ac, 0x8ced, 0x8cee, 0x8cef, 0xe1a7, 0xe1a9, 0x8cf0, 0x8cf1,
    +    0xe1aa, 0xe1af, 0x8cf2, 0x8cf3, 0xb2ed, 0x8cf4, 0xe1ab, 0xb8da,
    +    0xe1ad, 0xe1ae, 0xe1b0, 0xb5ba, 0xe1b1, 0x8cf5, 0x8cf6, 0x8cf7,
    +    0x8cf8, 0x8cf9, 0xe1b3, 0xe1b8, 0x8cfa, 0x8cfb, 0x8cfc, 0x8cfd,
    +    0x8cfe, 0xd1d2, 0x8d40, 0xe1b6, 0xe1b5, 0xc1eb, 0x8d41, 0x8d42,
    +    0x8d43, 0xe1b7, 0x8d44, 0xd4c0, 0x8d45, 0xe1b2, 0x8d46, 0xe1ba,
    +    0xb0b6, 0x8d47, 0x8d48, 0x8d49, 0x8d4a, 0xe1b4, 0x8d4b, 0xbff9,
    +    0x8d4c, 0xe1b9, 0x8d4d, 0x8d4e, 0xe1bb, 0x8d4f, 0x8d50, 0x8d51,
    +    0x8d52, 0x8d53, 0x8d54, 0xe1be, 0x8d55, 0x8d56, 0x8d57, 0x8d58,
    +    0x8d59, 0x8d5a, 0xe1bc, 0x8d5b, 0x8d5c, 0x8d5d, 0x8d5e, 0x8d5f,
    +    0x8d60, 0xd6c5, 0x8d61, 0x8d62, 0x8d63, 0x8d64, 0x8d65, 0x8d66,
    +    0x8d67, 0xcfbf, 0x8d68, 0x8d69, 0xe1bd, 0xe1bf, 0xc2cd, 0x8d6a,
    +    0xb6eb, 0x8d6b, 0xd3f8, 0x8d6c, 0x8d6d, 0xc7cd, 0x8d6e, 0x8d6f,
    +    0xb7e5, 0x8d70, 0x8d71, 0x8d72, 0x8d73, 0x8d74, 0x8d75, 0x8d76,
    +    0x8d77, 0x8d78, 0x8d79, 0xbefe, 0x8d7a, 0x8d7b, 0x8d7c, 0x8d7d,
    +    /* 0x5d00 .. 0x5dff */
    +    0x8d7e, 0x8d80, 0xe1c0, 0xe1c1, 0x8d81, 0x8d82, 0xe1c7, 0xb3e7,
    +    0x8d83, 0x8d84, 0x8d85, 0x8d86, 0x8d87, 0x8d88, 0xc6e9, 0x8d89,
    +    0x8d8a, 0x8d8b, 0x8d8c, 0x8d8d, 0xb4de, 0x8d8e, 0xd1c2, 0x8d8f,
    +    0x8d90, 0x8d91, 0x8d92, 0xe1c8, 0x8d93, 0x8d94, 0xe1c6, 0x8d95,
    +    0x8d96, 0x8d97, 0x8d98, 0x8d99, 0xe1c5, 0x8d9a, 0xe1c3, 0xe1c2,
    +    0x8d9b, 0xb1c0, 0x8d9c, 0x8d9d, 0x8d9e, 0xd5b8, 0xe1c4, 0x8d9f,
    +    0x8da0, 0x8da1, 0x8da2, 0x8da3, 0xe1cb, 0x8da4, 0x8da5, 0x8da6,
    +    0x8da7, 0x8da8, 0x8da9, 0x8daa, 0x8dab, 0xe1cc, 0xe1ca, 0x8dac,
    +    0x8dad, 0x8dae, 0x8daf, 0x8db0, 0x8db1, 0x8db2, 0x8db3, 0xeffa,
    +    0x8db4, 0x8db5, 0xe1d3, 0xe1d2, 0xc7b6, 0x8db6, 0x8db7, 0x8db8,
    +    0x8db9, 0x8dba, 0x8dbb, 0x8dbc, 0x8dbd, 0x8dbe, 0x8dbf, 0x8dc0,
    +    0xe1c9, 0x8dc1, 0x8dc2, 0xe1ce, 0x8dc3, 0xe1d0, 0x8dc4, 0x8dc5,
    +    0x8dc6, 0x8dc7, 0x8dc8, 0x8dc9, 0x8dca, 0x8dcb, 0x8dcc, 0x8dcd,
    +    0x8dce, 0xe1d4, 0x8dcf, 0xe1d1, 0xe1cd, 0x8dd0, 0x8dd1, 0xe1cf,
    +    0x8dd2, 0x8dd3, 0x8dd4, 0x8dd5, 0xe1d5, 0x8dd6, 0x8dd7, 0x8dd8,
    +    0x8dd9, 0x8dda, 0x8ddb, 0x8ddc, 0x8ddd, 0x8dde, 0x8ddf, 0x8de0,
    +    0x8de1, 0x8de2, 0xe1d6, 0x8de3, 0x8de4, 0x8de5, 0x8de6, 0x8de7,
    +    0x8de8, 0x8de9, 0x8dea, 0x8deb, 0x8dec, 0x8ded, 0x8dee, 0x8def,
    +    0x8df0, 0x8df1, 0x8df2, 0x8df3, 0x8df4, 0x8df5, 0x8df6, 0x8df7,
    +    0x8df8, 0xe1d7, 0x8df9, 0x8dfa, 0x8dfb, 0xe1d8, 0x8dfc, 0x8dfd,
    +    0x8dfe, 0x8e40, 0x8e41, 0x8e42, 0x8e43, 0x8e44, 0x8e45, 0x8e46,
    +    0x8e47, 0x8e48, 0x8e49, 0x8e4a, 0x8e4b, 0x8e4c, 0x8e4d, 0x8e4e,
    +    0x8e4f, 0x8e50, 0x8e51, 0x8e52, 0x8e53, 0x8e54, 0x8e55, 0xe1da,
    +    0x8e56, 0x8e57, 0x8e58, 0x8e59, 0x8e5a, 0x8e5b, 0x8e5c, 0x8e5d,
    +    0x8e5e, 0x8e5f, 0x8e60, 0x8e61, 0x8e62, 0xe1db, 0x8e63, 0x8e64,
    +    0x8e65, 0x8e66, 0x8e67, 0x8e68, 0x8e69, 0xcea1, 0x8e6a, 0x8e6b,
    +    0x8e6c, 0x8e6d, 0x8e6e, 0x8e6f, 0x8e70, 0x8e71, 0x8e72, 0x8e73,
    +    0x8e74, 0x8e75, 0x8e76, 0xe7dd, 0x8e77, 0xb4a8, 0xd6dd, 0x8e78,
    +    0x8e79, 0xd1b2, 0xb3b2, 0x8e7a, 0x8e7b, 0xb9a4, 0xd7f3, 0xc7c9,
    +    0xbede, 0xb9ae, 0x8e7c, 0xced7, 0x8e7d, 0x8e7e, 0xb2ee, 0xdbcf,
    +    0x8e80, 0xbcba, 0xd2d1, 0xcbc8, 0xb0cd, 0x8e81, 0x8e82, 0xcfef,
    +    0x8e83, 0x8e84, 0x8e85, 0x8e86, 0x8e87, 0xd9e3, 0xbded, 0x8e88,
    +    /* 0x5e00 .. 0x5eff */
    +    0x8e89, 0xb1d2, 0xcad0, 0xb2bc, 0x8e8a, 0xcba7, 0xb7ab, 0x8e8b,
    +    0xcaa6, 0x8e8c, 0x8e8d, 0x8e8e, 0xcfa3, 0x8e8f, 0x8e90, 0xe0f8,
    +    0xd5ca, 0xe0fb, 0x8e91, 0x8e92, 0xe0fa, 0xc5c1, 0xccfb, 0x8e93,
    +    0xc1b1, 0xe0f9, 0xd6e3, 0xb2af, 0xd6c4, 0xb5db, 0x8e94, 0x8e95,
    +    0x8e96, 0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0x8e9b, 0xb4f8, 0xd6a1,
    +    0x8e9c, 0x8e9d, 0x8e9e, 0x8e9f, 0x8ea0, 0xcfaf, 0xb0ef, 0x8ea1,
    +    0x8ea2, 0xe0fc, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7, 0xe1a1,
    +    0xb3a3, 0x8ea8, 0x8ea9, 0xe0fd, 0xe0fe, 0xc3b1, 0x8eaa, 0x8eab,
    +    0x8eac, 0x8ead, 0xc3dd, 0x8eae, 0xe1a2, 0xb7f9, 0x8eaf, 0x8eb0,
    +    0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0xbbcf, 0x8eb5, 0x8eb6, 0x8eb7,
    +    0x8eb8, 0x8eb9, 0x8eba, 0x8ebb, 0xe1a3, 0xc4bb, 0x8ebc, 0x8ebd,
    +    0x8ebe, 0x8ebf, 0x8ec0, 0xe1a4, 0x8ec1, 0x8ec2, 0xe1a5, 0x8ec3,
    +    0x8ec4, 0xe1a6, 0xb4b1, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8, 0x8ec9,
    +    0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf, 0x8ed0, 0x8ed1,
    +    0x8ed2, 0x8ed3, 0xb8c9, 0xc6bd, 0xc4ea, 0x8ed4, 0xb2a2, 0x8ed5,
    +    0xd0d2, 0x8ed6, 0xe7db, 0xbbc3, 0xd3d7, 0xd3c4, 0x8ed7, 0xb9e3,
    +    0xe2cf, 0x8ed8, 0x8ed9, 0x8eda, 0xd7af, 0x8edb, 0xc7ec, 0xb1d3,
    +    0x8edc, 0x8edd, 0xb4b2, 0xe2d1, 0x8ede, 0x8edf, 0x8ee0, 0xd0f2,
    +    0xc2ae, 0xe2d0, 0x8ee1, 0xbfe2, 0xd3a6, 0xb5d7, 0xe2d2, 0xb5ea,
    +    0x8ee2, 0xc3ed, 0xb8fd, 0x8ee3, 0xb8ae, 0x8ee4, 0xc5d3, 0xb7cf,
    +    0xe2d4, 0x8ee5, 0x8ee6, 0x8ee7, 0x8ee8, 0xe2d3, 0xb6c8, 0xd7f9,
    +    0x8ee9, 0x8eea, 0x8eeb, 0x8eec, 0x8eed, 0xcda5, 0x8eee, 0x8eef,
    +    0x8ef0, 0x8ef1, 0x8ef2, 0xe2d8, 0x8ef3, 0xe2d6, 0xcafc, 0xbfb5,
    +    0xd3b9, 0xe2d5, 0x8ef4, 0x8ef5, 0x8ef6, 0x8ef7, 0xe2d7, 0x8ef8,
    +    0x8ef9, 0x8efa, 0x8efb, 0x8efc, 0x8efd, 0x8efe, 0x8f40, 0x8f41,
    +    0x8f42, 0xc1ae, 0xc0c8, 0x8f43, 0x8f44, 0x8f45, 0x8f46, 0x8f47,
    +    0x8f48, 0xe2db, 0xe2da, 0xc0aa, 0x8f49, 0x8f4a, 0xc1ce, 0x8f4b,
    +    0x8f4c, 0x8f4d, 0x8f4e, 0xe2dc, 0x8f4f, 0x8f50, 0x8f51, 0x8f52,
    +    0x8f53, 0x8f54, 0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a,
    +    0xe2dd, 0x8f5b, 0xe2de, 0x8f5c, 0x8f5d, 0x8f5e, 0x8f5f, 0x8f60,
    +    0x8f61, 0x8f62, 0x8f63, 0x8f64, 0xdbc8, 0x8f65, 0xd1d3, 0xcda2,
    +    0x8f66, 0x8f67, 0xbda8, 0x8f68, 0x8f69, 0x8f6a, 0xdec3, 0xd8a5,
    +    /* 0x5f00 .. 0x5fff */
    +    0xbfaa, 0xdbcd, 0xd2ec, 0xc6fa, 0xc5aa, 0x8f6b, 0x8f6c, 0x8f6d,
    +    0xdec4, 0x8f6e, 0xb1d7, 0xdfae, 0x8f6f, 0x8f70, 0x8f71, 0xcabd,
    +    0x8f72, 0xdfb1, 0x8f73, 0xb9ad, 0x8f74, 0xd2fd, 0x8f75, 0xb8a5,
    +    0xbaeb, 0x8f76, 0x8f77, 0xb3da, 0x8f78, 0x8f79, 0x8f7a, 0xb5dc,
    +    0xd5c5, 0x8f7b, 0x8f7c, 0x8f7d, 0x8f7e, 0xc3d6, 0xcfd2, 0xbba1,
    +    0x8f80, 0xe5f3, 0xe5f2, 0x8f81, 0x8f82, 0xe5f4, 0x8f83, 0xcde4,
    +    0x8f84, 0xc8f5, 0x8f85, 0x8f86, 0x8f87, 0x8f88, 0x8f89, 0x8f8a,
    +    0x8f8b, 0xb5af, 0xc7bf, 0x8f8c, 0xe5f6, 0x8f8d, 0x8f8e, 0x8f8f,
    +    0xecb0, 0x8f90, 0x8f91, 0x8f92, 0x8f93, 0x8f94, 0x8f95, 0x8f96,
    +    0x8f97, 0x8f98, 0x8f99, 0x8f9a, 0x8f9b, 0x8f9c, 0x8f9d, 0x8f9e,
    +    0xe5e6, 0x8f9f, 0xb9e9, 0xb5b1, 0x8fa0, 0xc2bc, 0xe5e8, 0xe5e7,
    +    0xe5e9, 0x8fa1, 0x8fa2, 0x8fa3, 0x8fa4, 0xd2cd, 0x8fa5, 0x8fa6,
    +    0x8fa7, 0xe1ea, 0xd0ce, 0x8fa8, 0xcdae, 0x8fa9, 0xd1e5, 0x8faa,
    +    0x8fab, 0xb2ca, 0xb1eb, 0x8fac, 0xb1f2, 0xc5ed, 0x8fad, 0x8fae,
    +    0xd5c3, 0xd3b0, 0x8faf, 0xe1dc, 0x8fb0, 0x8fb1, 0x8fb2, 0xe1dd,
    +    0x8fb3, 0xd2db, 0x8fb4, 0xb3b9, 0xb1cb, 0x8fb5, 0x8fb6, 0x8fb7,
    +    0xcdf9, 0xd5f7, 0xe1de, 0x8fb8, 0xbeb6, 0xb4fd, 0x8fb9, 0xe1df,
    +    0xbadc, 0xe1e0, 0xbbb2, 0xc2c9, 0xe1e1, 0x8fba, 0x8fbb, 0x8fbc,
    +    0xd0ec, 0x8fbd, 0xcdbd, 0x8fbe, 0x8fbf, 0xe1e2, 0x8fc0, 0xb5c3,
    +    0xc5c7, 0xe1e3, 0x8fc1, 0x8fc2, 0xe1e4, 0x8fc3, 0x8fc4, 0x8fc5,
    +    0x8fc6, 0xd3f9, 0x8fc7, 0x8fc8, 0x8fc9, 0x8fca, 0x8fcb, 0x8fcc,
    +    0xe1e5, 0x8fcd, 0xd1ad, 0x8fce, 0x8fcf, 0xe1e6, 0xcea2, 0x8fd0,
    +    0x8fd1, 0x8fd2, 0x8fd3, 0x8fd4, 0x8fd5, 0xe1e7, 0x8fd6, 0xb5c2,
    +    0x8fd7, 0x8fd8, 0x8fd9, 0x8fda, 0xe1e8, 0xbbd5, 0x8fdb, 0x8fdc,
    +    0x8fdd, 0x8fde, 0x8fdf, 0xd0c4, 0xe2e0, 0xb1d8, 0xd2e4, 0x8fe0,
    +    0x8fe1, 0xe2e1, 0x8fe2, 0x8fe3, 0xbcc9, 0xc8cc, 0x8fe4, 0xe2e3,
    +    0xecfe, 0xecfd, 0xdfaf, 0x8fe5, 0x8fe6, 0x8fe7, 0xe2e2, 0xd6be,
    +    0xcdfc, 0xc3a6, 0x8fe8, 0x8fe9, 0x8fea, 0xe3c3, 0x8feb, 0x8fec,
    +    0xd6d2, 0xe2e7, 0x8fed, 0x8fee, 0xe2e8, 0x8fef, 0x8ff0, 0xd3c7,
    +    0x8ff1, 0x8ff2, 0xe2ec, 0xbfec, 0x8ff3, 0xe2ed, 0xe2e5, 0x8ff4,
    +    0x8ff5, 0xb3c0, 0x8ff6, 0x8ff7, 0x8ff8, 0xc4ee, 0x8ff9, 0x8ffa,
    +    0xe2ee, 0x8ffb, 0x8ffc, 0xd0c3, 0x8ffd, 0xbaf6, 0xe2e9, 0xb7de,
    +    /* 0x6000 .. 0x60ff */
    +    0xbbb3, 0xccac, 0xcbcb, 0xe2e4, 0xe2e6, 0xe2ea, 0xe2eb, 0x8ffe,
    +    0x9040, 0x9041, 0xe2f7, 0x9042, 0x9043, 0xe2f4, 0xd4f5, 0xe2f3,
    +    0x9044, 0x9045, 0xc5ad, 0x9046, 0xd5fa, 0xc5c2, 0xb2c0, 0x9047,
    +    0x9048, 0xe2ef, 0x9049, 0xe2f2, 0xc1af, 0xcbbc, 0x904a, 0x904b,
    +    0xb5a1, 0xe2f9, 0x904c, 0x904d, 0x904e, 0xbcb1, 0xe2f1, 0xd0d4,
    +    0xd4b9, 0xe2f5, 0xb9d6, 0xe2f6, 0x904f, 0x9050, 0x9051, 0xc7d3,
    +    0x9052, 0x9053, 0x9054, 0x9055, 0x9056, 0xe2f0, 0x9057, 0x9058,
    +    0x9059, 0x905a, 0x905b, 0xd7dc, 0xeda1, 0x905c, 0x905d, 0xe2f8,
    +    0x905e, 0xeda5, 0xe2fe, 0xcad1, 0x905f, 0x9060, 0x9061, 0x9062,
    +    0x9063, 0x9064, 0x9065, 0xc1b5, 0x9066, 0xbbd0, 0x9067, 0x9068,
    +    0xbfd6, 0x9069, 0xbae3, 0x906a, 0x906b, 0xcba1, 0x906c, 0x906d,
    +    0x906e, 0xeda6, 0xeda3, 0x906f, 0x9070, 0xeda2, 0x9071, 0x9072,
    +    0x9073, 0x9074, 0xbbd6, 0xeda7, 0xd0f4, 0x9075, 0x9076, 0xeda4,
    +    0xbade, 0xb6f7, 0xe3a1, 0xb6b2, 0xccf1, 0xb9a7, 0x9077, 0xcfa2,
    +    0xc7a1, 0x9078, 0x9079, 0xbfd2, 0x907a, 0x907b, 0xb6f1, 0x907c,
    +    0xe2fa, 0xe2fb, 0xe2fd, 0xe2fc, 0xc4d5, 0xe3a2, 0x907d, 0xd3c1,
    +    0x907e, 0x9080, 0x9081, 0xe3a7, 0xc7c4, 0x9082, 0x9083, 0x9084,
    +    0x9085, 0xcfa4, 0x9086, 0x9087, 0xe3a9, 0xbab7, 0x9088, 0x9089,
    +    0x908a, 0x908b, 0xe3a8, 0x908c, 0xbbda, 0x908d, 0xe3a3, 0x908e,
    +    0x908f, 0x9090, 0xe3a4, 0xe3aa, 0x9091, 0xe3a6, 0x9092, 0xcef2,
    +    0xd3c6, 0x9093, 0x9094, 0xbbbc, 0x9095, 0x9096, 0xd4c3, 0x9097,
    +    0xc4fa, 0x9098, 0x9099, 0xeda8, 0xd0fc, 0xe3a5, 0x909a, 0xc3f5,
    +    0x909b, 0xe3ad, 0xb1af, 0x909c, 0xe3b2, 0x909d, 0x909e, 0x909f,
    +    0xbcc2, 0x90a0, 0x90a1, 0xe3ac, 0xb5bf, 0x90a2, 0x90a3, 0x90a4,
    +    0x90a5, 0x90a6, 0x90a7, 0x90a8, 0x90a9, 0xc7e9, 0xe3b0, 0x90aa,
    +    0x90ab, 0x90ac, 0xbeaa, 0xcdef, 0x90ad, 0x90ae, 0x90af, 0x90b0,
    +    0x90b1, 0xbbf3, 0x90b2, 0x90b3, 0x90b4, 0xcce8, 0x90b5, 0x90b6,
    +    0xe3af, 0x90b7, 0xe3b1, 0x90b8, 0xcfa7, 0xe3ae, 0x90b9, 0xcea9,
    +    0xbbdd, 0x90ba, 0x90bb, 0x90bc, 0x90bd, 0x90be, 0xb5eb, 0xbee5,
    +    0xb2d2, 0xb3cd, 0x90bf, 0xb1b9, 0xe3ab, 0xb2d1, 0xb5ac, 0xb9df,
    +    0xb6e8, 0x90c0, 0x90c1, 0xcfeb, 0xe3b7, 0x90c2, 0xbbcc, 0x90c3,
    +    0x90c4, 0xc8c7, 0xd0ca, 0x90c5, 0x90c6, 0x90c7, 0x90c8, 0x90c9,
    +    /* 0x6100 .. 0x61ff */
    +    0xe3b8, 0xb3ee, 0x90ca, 0x90cb, 0x90cc, 0x90cd, 0xeda9, 0x90ce,
    +    0xd3fa, 0xd3e4, 0x90cf, 0x90d0, 0x90d1, 0xedaa, 0xe3b9, 0xd2e2,
    +    0x90d2, 0x90d3, 0x90d4, 0x90d5, 0x90d6, 0xe3b5, 0x90d7, 0x90d8,
    +    0x90d9, 0x90da, 0xd3de, 0x90db, 0x90dc, 0x90dd, 0x90de, 0xb8d0,
    +    0xe3b3, 0x90df, 0x90e0, 0xe3b6, 0xb7df, 0x90e1, 0xe3b4, 0xc0a2,
    +    0x90e2, 0x90e3, 0x90e4, 0xe3ba, 0x90e5, 0x90e6, 0x90e7, 0x90e8,
    +    0x90e9, 0x90ea, 0x90eb, 0x90ec, 0x90ed, 0x90ee, 0x90ef, 0x90f0,
    +    0x90f1, 0x90f2, 0x90f3, 0x90f4, 0x90f5, 0x90f6, 0x90f7, 0xd4b8,
    +    0x90f8, 0x90f9, 0x90fa, 0x90fb, 0x90fc, 0x90fd, 0x90fe, 0x9140,
    +    0xb4c8, 0x9141, 0xe3bb, 0x9142, 0xbbc5, 0x9143, 0xc9f7, 0x9144,
    +    0x9145, 0xc9e5, 0x9146, 0x9147, 0x9148, 0xc4bd, 0x9149, 0x914a,
    +    0x914b, 0x914c, 0x914d, 0x914e, 0x914f, 0xedab, 0x9150, 0x9151,
    +    0x9152, 0x9153, 0xc2fd, 0x9154, 0x9155, 0x9156, 0x9157, 0xbbdb,
    +    0xbfae, 0x9158, 0x9159, 0x915a, 0x915b, 0x915c, 0x915d, 0x915e,
    +    0xcebf, 0x915f, 0x9160, 0x9161, 0x9162, 0xe3bc, 0x9163, 0xbfb6,
    +    0x9164, 0x9165, 0x9166, 0x9167, 0x9168, 0x9169, 0x916a, 0x916b,
    +    0x916c, 0x916d, 0x916e, 0x916f, 0x9170, 0x9171, 0x9172, 0x9173,
    +    0x9174, 0x9175, 0x9176, 0xb1ef, 0x9177, 0x9178, 0xd4f7, 0x9179,
    +    0x917a, 0x917b, 0x917c, 0x917d, 0xe3be, 0x917e, 0x9180, 0x9181,
    +    0x9182, 0x9183, 0x9184, 0x9185, 0x9186, 0xedad, 0x9187, 0x9188,
    +    0x9189, 0x918a, 0x918b, 0x918c, 0x918d, 0x918e, 0x918f, 0xe3bf,
    +    0xbaa9, 0xedac, 0x9190, 0x9191, 0xe3bd, 0x9192, 0x9193, 0x9194,
    +    0x9195, 0x9196, 0x9197, 0x9198, 0x9199, 0x919a, 0x919b, 0xe3c0,
    +    0x919c, 0x919d, 0x919e, 0x919f, 0x91a0, 0x91a1, 0xbab6, 0x91a2,
    +    0x91a3, 0x91a4, 0xb6ae, 0x91a5, 0x91a6, 0x91a7, 0x91a8, 0x91a9,
    +    0xd0b8, 0x91aa, 0xb0c3, 0xedae, 0x91ab, 0x91ac, 0x91ad, 0x91ae,
    +    0x91af, 0xedaf, 0xc0c1, 0x91b0, 0xe3c1, 0x91b1, 0x91b2, 0x91b3,
    +    0x91b4, 0x91b5, 0x91b6, 0x91b7, 0x91b8, 0x91b9, 0x91ba, 0x91bb,
    +    0x91bc, 0x91bd, 0x91be, 0x91bf, 0x91c0, 0x91c1, 0xc5b3, 0x91c2,
    +    0x91c3, 0x91c4, 0x91c5, 0x91c6, 0x91c7, 0x91c8, 0x91c9, 0x91ca,
    +    0x91cb, 0x91cc, 0x91cd, 0x91ce, 0x91cf, 0xe3c2, 0x91d0, 0x91d1,
    +    0x91d2, 0x91d3, 0x91d4, 0x91d5, 0x91d6, 0x91d7, 0x91d8, 0xdcb2,
    +    /* 0x6200 .. 0x62ff */
    +    0x91d9, 0x91da, 0x91db, 0x91dc, 0x91dd, 0x91de, 0xedb0, 0x91df,
    +    0xb8ea, 0x91e0, 0xceec, 0xeaa7, 0xd0e7, 0xcaf9, 0xc8d6, 0xcfb7,
    +    0xb3c9, 0xced2, 0xbde4, 0x91e1, 0x91e2, 0xe3de, 0xbbf2, 0xeaa8,
    +    0xd5bd, 0x91e3, 0xc6dd, 0xeaa9, 0x91e4, 0x91e5, 0x91e6, 0xeaaa,
    +    0x91e7, 0xeaac, 0xeaab, 0x91e8, 0xeaae, 0xeaad, 0x91e9, 0x91ea,
    +    0x91eb, 0x91ec, 0xbdd8, 0x91ed, 0xeaaf, 0x91ee, 0xc2be, 0x91ef,
    +    0x91f0, 0x91f1, 0x91f2, 0xb4c1, 0xb4f7, 0x91f3, 0x91f4, 0xbba7,
    +    0x91f5, 0x91f6, 0x91f7, 0x91f8, 0x91f9, 0xece6, 0xece5, 0xb7bf,
    +    0xcbf9, 0xb1e2, 0x91fa, 0xece7, 0x91fb, 0x91fc, 0x91fd, 0xc9c8,
    +    0xece8, 0xece9, 0x91fe, 0xcad6, 0xded0, 0xb2c5, 0xd4fa, 0x9240,
    +    0x9241, 0xc6cb, 0xb0c7, 0xb4f2, 0xc8d3, 0x9242, 0x9243, 0x9244,
    +    0xcdd0, 0x9245, 0x9246, 0xbfb8, 0x9247, 0x9248, 0x9249, 0x924a,
    +    0x924b, 0x924c, 0x924d, 0xbfdb, 0x924e, 0x924f, 0xc7a4, 0xd6b4,
    +    0x9250, 0xc0a9, 0xded1, 0xc9a8, 0xd1ef, 0xc5a4, 0xb0e7, 0xb3b6,
    +    0xc8c5, 0x9251, 0x9252, 0xb0e2, 0x9253, 0x9254, 0xb7f6, 0x9255,
    +    0x9256, 0xc5fa, 0x9257, 0x9258, 0xb6f3, 0x9259, 0xd5d2, 0xb3d0,
    +    0xbcbc, 0x925a, 0x925b, 0x925c, 0xb3ad, 0x925d, 0x925e, 0x925f,
    +    0x9260, 0xbef1, 0xb0d1, 0x9261, 0x9262, 0x9263, 0x9264, 0x9265,
    +    0x9266, 0xd2d6, 0xcae3, 0xd7a5, 0x9267, 0xcdb6, 0xb6b6, 0xbfb9,
    +    0xd5db, 0x9268, 0xb8a7, 0xc5d7, 0x9269, 0x926a, 0x926b, 0xded2,
    +    0xbfd9, 0xc2d5, 0xc7c0, 0x926c, 0xbba4, 0xb1a8, 0x926d, 0x926e,
    +    0xc5ea, 0x926f, 0x9270, 0xc5fb, 0xcca7, 0x9271, 0x9272, 0x9273,
    +    0x9274, 0xb1a7, 0x9275, 0x9276, 0x9277, 0xb5d6, 0x9278, 0x9279,
    +    0x927a, 0xc4a8, 0x927b, 0xded3, 0xd1ba, 0xb3e9, 0x927c, 0xc3f2,
    +    0x927d, 0x927e, 0xb7f7, 0x9280, 0xd6f4, 0xb5a3, 0xb2f0, 0xc4b4,
    +    0xc4e9, 0xc0ad, 0xded4, 0x9281, 0xb0e8, 0xc5c4, 0xc1e0, 0x9282,
    +    0xb9d5, 0x9283, 0xbedc, 0xcdd8, 0xb0ce, 0x9284, 0xcdcf, 0xded6,
    +    0xbed0, 0xd7be, 0xded5, 0xd5d0, 0xb0dd, 0x9285, 0x9286, 0xc4e2,
    +    0x9287, 0x9288, 0xc2a3, 0xbcf0, 0x9289, 0xd3b5, 0xc0b9, 0xc5a1,
    +    0xb2a6, 0xd4f1, 0x928a, 0x928b, 0xc0a8, 0xcac3, 0xded7, 0xd5fc,
    +    0x928c, 0xb9b0, 0x928d, 0xc8ad, 0xcba9, 0x928e, 0xded9, 0xbfbd,
    +    0x928f, 0x9290, 0x9291, 0x9292, 0xc6b4, 0xd7a7, 0xcab0, 0xc4c3,
    +    /* 0x6300 .. 0x63ff */
    +    0x9293, 0xb3d6, 0xb9d2, 0x9294, 0x9295, 0x9296, 0x9297, 0xd6b8,
    +    0xeafc, 0xb0b4, 0x9298, 0x9299, 0x929a, 0x929b, 0xbfe6, 0x929c,
    +    0x929d, 0xccf4, 0x929e, 0x929f, 0x92a0, 0x92a1, 0xcdda, 0x92a2,
    +    0x92a3, 0x92a4, 0xd6bf, 0xc2ce, 0x92a5, 0xcece, 0xcca2, 0xd0ae,
    +    0xc4d3, 0xb5b2, 0xded8, 0xd5f5, 0xbcb7, 0xbbd3, 0x92a6, 0x92a7,
    +    0xb0a4, 0x92a8, 0xc5b2, 0xb4ec, 0x92a9, 0x92aa, 0x92ab, 0xd5f1,
    +    0x92ac, 0x92ad, 0xeafd, 0x92ae, 0x92af, 0x92b0, 0x92b1, 0x92b2,
    +    0x92b3, 0xdeda, 0xcda6, 0x92b4, 0x92b5, 0xcdec, 0x92b6, 0x92b7,
    +    0x92b8, 0x92b9, 0xcee6, 0xdedc, 0x92ba, 0xcdb1, 0xc0a6, 0x92bb,
    +    0x92bc, 0xd7bd, 0x92bd, 0xdedb, 0xb0c6, 0xbab4, 0xc9d3, 0xc4f3,
    +    0xbee8, 0x92be, 0x92bf, 0x92c0, 0x92c1, 0xb2b6, 0x92c2, 0x92c3,
    +    0x92c4, 0x92c5, 0x92c6, 0x92c7, 0x92c8, 0x92c9, 0xc0cc, 0xcbf0,
    +    0x92ca, 0xbcf1, 0xbbbb, 0xb5b7, 0x92cb, 0x92cc, 0x92cd, 0xc5f5,
    +    0x92ce, 0xdee6, 0x92cf, 0x92d0, 0x92d1, 0xdee3, 0xbedd, 0x92d2,
    +    0x92d3, 0xdedf, 0x92d4, 0x92d5, 0x92d6, 0x92d7, 0xb4b7, 0xbddd,
    +    0x92d8, 0x92d9, 0xdee0, 0xc4ed, 0x92da, 0x92db, 0x92dc, 0x92dd,
    +    0xcfc6, 0x92de, 0xb5e0, 0x92df, 0x92e0, 0x92e1, 0x92e2, 0xb6de,
    +    0xcada, 0xb5f4, 0xdee5, 0x92e3, 0xd5c6, 0x92e4, 0xdee1, 0xcccd,
    +    0xc6fe, 0x92e5, 0xc5c5, 0x92e6, 0x92e7, 0x92e8, 0xd2b4, 0x92e9,
    +    0xbef2, 0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0,
    +    0xc2d3, 0x92f1, 0xccbd, 0xb3b8, 0x92f2, 0xbdd3, 0x92f3, 0xbfd8,
    +    0xcdc6, 0xd1da, 0xb4eb, 0x92f4, 0xdee4, 0xdedd, 0xdee7, 0x92f5,
    +    0xeafe, 0x92f6, 0x92f7, 0xc2b0, 0xdee2, 0x92f8, 0x92f9, 0xd6c0,
    +    0xb5a7, 0x92fa, 0xb2f4, 0x92fb, 0xdee8, 0x92fc, 0xdef2, 0x92fd,
    +    0x92fe, 0x9340, 0x9341, 0x9342, 0xdeed, 0x9343, 0xdef1, 0x9344,
    +    0x9345, 0xc8e0, 0x9346, 0x9347, 0x9348, 0xd7e1, 0xdeef, 0xc3e8,
    +    0xcce1, 0x9349, 0xb2e5, 0x934a, 0x934b, 0x934c, 0xd2be, 0x934d,
    +    0x934e, 0x934f, 0x9350, 0x9351, 0x9352, 0x9353, 0xdeee, 0x9354,
    +    0xdeeb, 0xced5, 0x9355, 0xb4a7, 0x9356, 0x9357, 0x9358, 0x9359,
    +    0x935a, 0xbfab, 0xbebe, 0x935b, 0x935c, 0xbdd2, 0x935d, 0x935e,
    +    0x935f, 0x9360, 0xdee9, 0x9361, 0xd4ae, 0x9362, 0xdede, 0x9363,
    +    0xdeea, 0x9364, 0x9365, 0x9366, 0x9367, 0xc0bf, 0x9368, 0xdeec,
    +    /* 0x6400 .. 0x64ff */
    +    0xb2f3, 0xb8e9, 0xc2a7, 0x9369, 0x936a, 0xbdc1, 0x936b, 0x936c,
    +    0x936d, 0x936e, 0x936f, 0xdef5, 0xdef8, 0x9370, 0x9371, 0xb2ab,
    +    0xb4a4, 0x9372, 0x9373, 0xb4ea, 0xc9a6, 0x9374, 0x9375, 0x9376,
    +    0x9377, 0x9378, 0x9379, 0xdef6, 0xcbd1, 0x937a, 0xb8e3, 0x937b,
    +    0xdef7, 0xdefa, 0x937c, 0x937d, 0x937e, 0x9380, 0xdef9, 0x9381,
    +    0x9382, 0x9383, 0xccc2, 0x9384, 0xb0e1, 0xb4ee, 0x9385, 0x9386,
    +    0x9387, 0x9388, 0x9389, 0x938a, 0xe5ba, 0x938b, 0x938c, 0x938d,
    +    0x938e, 0x938f, 0xd0af, 0x9390, 0x9391, 0xb2eb, 0x9392, 0xeba1,
    +    0x9393, 0xdef4, 0x9394, 0x9395, 0xc9e3, 0xdef3, 0xb0da, 0xd2a1,
    +    0xb1f7, 0x9396, 0xccaf, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b,
    +    0x939c, 0x939d, 0xdef0, 0x939e, 0xcba4, 0x939f, 0x93a0, 0x93a1,
    +    0xd5aa, 0x93a2, 0x93a3, 0x93a4, 0x93a5, 0x93a6, 0xdefb, 0x93a7,
    +    0x93a8, 0x93a9, 0x93aa, 0x93ab, 0x93ac, 0x93ad, 0x93ae, 0xb4dd,
    +    0x93af, 0xc4a6, 0x93b0, 0x93b1, 0x93b2, 0xdefd, 0x93b3, 0x93b4,
    +    0x93b5, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba, 0x93bb, 0x93bc,
    +    0xc3fe, 0xc4a1, 0xdfa1, 0x93bd, 0x93be, 0x93bf, 0x93c0, 0x93c1,
    +    0x93c2, 0x93c3, 0xc1cc, 0x93c4, 0xdefc, 0xbeef, 0x93c5, 0xc6b2,
    +    0x93c6, 0x93c7, 0x93c8, 0x93c9, 0x93ca, 0x93cb, 0x93cc, 0x93cd,
    +    0x93ce, 0xb3c5, 0xc8f6, 0x93cf, 0x93d0, 0xcbba, 0xdefe, 0x93d1,
    +    0x93d2, 0xdfa4, 0x93d3, 0x93d4, 0x93d5, 0x93d6, 0xd7b2, 0x93d7,
    +    0x93d8, 0x93d9, 0x93da, 0x93db, 0xb3b7, 0x93dc, 0x93dd, 0x93de,
    +    0x93df, 0xc1c3, 0x93e0, 0x93e1, 0xc7cb, 0xb2a5, 0xb4e9, 0x93e2,
    +    0xd7ab, 0x93e3, 0x93e4, 0x93e5, 0x93e6, 0xc4ec, 0x93e7, 0xdfa2,
    +    0xdfa3, 0x93e8, 0xdfa5, 0x93e9, 0xbab3, 0x93ea, 0x93eb, 0x93ec,
    +    0xdfa6, 0x93ed, 0xc0de, 0x93ee, 0x93ef, 0xc9c3, 0x93f0, 0x93f1,
    +    0x93f2, 0x93f3, 0x93f4, 0x93f5, 0x93f6, 0xb2d9, 0xc7e6, 0x93f7,
    +    0xdfa7, 0x93f8, 0xc7dc, 0x93f9, 0x93fa, 0x93fb, 0x93fc, 0xdfa8,
    +    0xeba2, 0x93fd, 0x93fe, 0x9440, 0x9441, 0x9442, 0xcbd3, 0x9443,
    +    0x9444, 0x9445, 0xdfaa, 0x9446, 0xdfa9, 0x9447, 0xb2c1, 0x9448,
    +    0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e, 0x944f, 0x9450,
    +    0x9451, 0x9452, 0x9453, 0x9454, 0x9455, 0x9456, 0x9457, 0x9458,
    +    0x9459, 0x945a, 0x945b, 0x945c, 0x945d, 0x945e, 0x945f, 0x9460,
    +    /* 0x6500 .. 0x65ff */
    +    0xc5ca, 0x9461, 0x9462, 0x9463, 0x9464, 0x9465, 0x9466, 0x9467,
    +    0x9468, 0xdfab, 0x9469, 0x946a, 0x946b, 0x946c, 0x946d, 0x946e,
    +    0x946f, 0x9470, 0xd4dc, 0x9471, 0x9472, 0x9473, 0x9474, 0x9475,
    +    0xc8c1, 0x9476, 0x9477, 0x9478, 0x9479, 0x947a, 0x947b, 0x947c,
    +    0x947d, 0x947e, 0x9480, 0x9481, 0x9482, 0xdfac, 0x9483, 0x9484,
    +    0x9485, 0x9486, 0x9487, 0xbef0, 0x9488, 0x9489, 0xdfad, 0xd6a7,
    +    0x948a, 0x948b, 0x948c, 0x948d, 0xeab7, 0xebb6, 0xcad5, 0x948e,
    +    0xd8fc, 0xb8c4, 0x948f, 0xb9a5, 0x9490, 0x9491, 0xb7c5, 0xd5fe,
    +    0x9492, 0x9493, 0x9494, 0x9495, 0x9496, 0xb9ca, 0x9497, 0x9498,
    +    0xd0a7, 0xf4cd, 0x9499, 0x949a, 0xb5d0, 0x949b, 0x949c, 0xc3f4,
    +    0x949d, 0xbec8, 0x949e, 0x949f, 0x94a0, 0xebb7, 0xb0bd, 0x94a1,
    +    0x94a2, 0xbdcc, 0x94a3, 0xc1b2, 0x94a4, 0xb1d6, 0xb3a8, 0x94a5,
    +    0x94a6, 0x94a7, 0xb8d2, 0xc9a2, 0x94a8, 0x94a9, 0xb6d8, 0x94aa,
    +    0x94ab, 0x94ac, 0x94ad, 0xebb8, 0xbeb4, 0x94ae, 0x94af, 0x94b0,
    +    0xcafd, 0x94b1, 0xc7c3, 0x94b2, 0xd5fb, 0x94b3, 0x94b4, 0xb7f3,
    +    0x94b5, 0x94b6, 0x94b7, 0x94b8, 0x94b9, 0x94ba, 0x94bb, 0x94bc,
    +    0x94bd, 0x94be, 0x94bf, 0x94c0, 0x94c1, 0x94c2, 0x94c3, 0xcec4,
    +    0x94c4, 0x94c5, 0x94c6, 0xd5ab, 0xb1f3, 0x94c7, 0x94c8, 0x94c9,
    +    0xecb3, 0xb0df, 0x94ca, 0xecb5, 0x94cb, 0x94cc, 0x94cd, 0xb6b7,
    +    0x94ce, 0xc1cf, 0x94cf, 0xf5fa, 0xd0b1, 0x94d0, 0x94d1, 0xd5e5,
    +    0x94d2, 0xced3, 0x94d3, 0x94d4, 0xbdef, 0xb3e2, 0x94d5, 0xb8ab,
    +    0x94d6, 0xd5b6, 0x94d7, 0xedbd, 0x94d8, 0xb6cf, 0x94d9, 0xcbb9,
    +    0xd0c2, 0x94da, 0x94db, 0x94dc, 0x94dd, 0x94de, 0x94df, 0x94e0,
    +    0x94e1, 0xb7bd, 0x94e2, 0x94e3, 0xecb6, 0xcaa9, 0x94e4, 0x94e5,
    +    0x94e6, 0xc5d4, 0x94e7, 0xecb9, 0xecb8, 0xc2c3, 0xecb7, 0x94e8,
    +    0x94e9, 0x94ea, 0x94eb, 0xd0fd, 0xecba, 0x94ec, 0xecbb, 0xd7e5,
    +    0x94ed, 0x94ee, 0xecbc, 0x94ef, 0x94f0, 0x94f1, 0xecbd, 0xc6ec,
    +    0x94f2, 0x94f3, 0x94f4, 0x94f5, 0x94f6, 0x94f7, 0x94f8, 0x94f9,
    +    0xcede, 0x94fa, 0xbcc8, 0x94fb, 0x94fc, 0xc8d5, 0xb5a9, 0xbec9,
    +    0xd6bc, 0xd4e7, 0x94fd, 0x94fe, 0xd1ae, 0xd0f1, 0xeab8, 0xeab9,
    +    0xeaba, 0xbab5, 0x9540, 0x9541, 0x9542, 0x9543, 0xcab1, 0xbff5,
    +    0x9544, 0x9545, 0xcdfa, 0x9546, 0x9547, 0x9548, 0x9549, 0x954a,
    +    /* 0x6600 .. 0x66ff */
    +    0xeac0, 0x954b, 0xb0ba, 0xeabe, 0x954c, 0x954d, 0xc0a5, 0x954e,
    +    0x954f, 0x9550, 0xeabb, 0x9551, 0xb2fd, 0x9552, 0xc3f7, 0xbbe8,
    +    0x9553, 0x9554, 0x9555, 0xd2d7, 0xcef4, 0xeabf, 0x9556, 0x9557,
    +    0x9558, 0xeabc, 0x9559, 0x955a, 0x955b, 0xeac3, 0x955c, 0xd0c7,
    +    0xd3b3, 0x955d, 0x955e, 0x955f, 0x9560, 0xb4ba, 0x9561, 0xc3c1,
    +    0xd7f2, 0x9562, 0x9563, 0x9564, 0x9565, 0xd5d1, 0x9566, 0xcac7,
    +    0x9567, 0xeac5, 0x9568, 0x9569, 0xeac4, 0xeac7, 0xeac6, 0x956a,
    +    0x956b, 0x956c, 0x956d, 0x956e, 0xd6e7, 0x956f, 0xcfd4, 0x9570,
    +    0x9571, 0xeacb, 0x9572, 0xbbce, 0x9573, 0x9574, 0x9575, 0x9576,
    +    0x9577, 0x9578, 0x9579, 0xbdfa, 0xc9ce, 0x957a, 0x957b, 0xeacc,
    +    0x957c, 0x957d, 0xc9b9, 0xcffe, 0xeaca, 0xd4ce, 0xeacd, 0xeacf,
    +    0x957e, 0x9580, 0xcded, 0x9581, 0x9582, 0x9583, 0x9584, 0xeac9,
    +    0x9585, 0xeace, 0x9586, 0x9587, 0xceee, 0x9588, 0xbbde, 0x9589,
    +    0xb3bf, 0x958a, 0x958b, 0x958c, 0x958d, 0x958e, 0xc6d5, 0xbeb0,
    +    0xcefa, 0x958f, 0x9590, 0x9591, 0xc7e7, 0x9592, 0xbea7, 0xead0,
    +    0x9593, 0x9594, 0xd6c7, 0x9595, 0x9596, 0x9597, 0xc1c0, 0x9598,
    +    0x9599, 0x959a, 0xd4dd, 0x959b, 0xead1, 0x959c, 0x959d, 0xcfbe,
    +    0x959e, 0x959f, 0x95a0, 0x95a1, 0xead2, 0x95a2, 0x95a3, 0x95a4,
    +    0x95a5, 0xcaee, 0x95a6, 0x95a7, 0x95a8, 0x95a9, 0xc5af, 0xb0b5,
    +    0x95aa, 0x95ab, 0x95ac, 0x95ad, 0x95ae, 0xead4, 0x95af, 0x95b0,
    +    0x95b1, 0x95b2, 0x95b3, 0x95b4, 0x95b5, 0x95b6, 0x95b7, 0xead3,
    +    0xf4df, 0x95b8, 0x95b9, 0x95ba, 0x95bb, 0x95bc, 0xc4ba, 0x95bd,
    +    0x95be, 0x95bf, 0x95c0, 0x95c1, 0xb1a9, 0x95c2, 0x95c3, 0x95c4,
    +    0x95c5, 0xe5df, 0x95c6, 0x95c7, 0x95c8, 0x95c9, 0xead5, 0x95ca,
    +    0x95cb, 0x95cc, 0x95cd, 0x95ce, 0x95cf, 0x95d0, 0x95d1, 0x95d2,
    +    0x95d3, 0x95d4, 0x95d5, 0x95d6, 0x95d7, 0x95d8, 0x95d9, 0x95da,
    +    0x95db, 0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1, 0x95e2,
    +    0x95e3, 0xcaef, 0x95e4, 0xead6, 0xead7, 0xc6d8, 0x95e5, 0x95e6,
    +    0x95e7, 0x95e8, 0x95e9, 0x95ea, 0x95eb, 0x95ec, 0xead8, 0x95ed,
    +    0x95ee, 0xead9, 0x95ef, 0x95f0, 0x95f1, 0x95f2, 0x95f3, 0x95f4,
    +    0xd4bb, 0x95f5, 0xc7fa, 0xd2b7, 0xb8fc, 0x95f6, 0x95f7, 0xeac2,
    +    0x95f8, 0xb2dc, 0x95f9, 0x95fa, 0xc2fc, 0x95fb, 0xd4f8, 0xcce6,
    +    /* 0x6700 .. 0x67ff */
    +    0xd7ee, 0x95fc, 0x95fd, 0x95fe, 0x9640, 0x9641, 0x9642, 0x9643,
    +    0xd4c2, 0xd3d0, 0xebc3, 0xc5f3, 0x9644, 0xb7fe, 0x9645, 0x9646,
    +    0xebd4, 0x9647, 0x9648, 0x9649, 0xcbb7, 0xebde, 0x964a, 0xc0ca,
    +    0x964b, 0x964c, 0x964d, 0xcdfb, 0x964e, 0xb3af, 0x964f, 0xc6da,
    +    0x9650, 0x9651, 0x9652, 0x9653, 0x9654, 0x9655, 0xebfc, 0x9656,
    +    0xc4be, 0x9657, 0xceb4, 0xc4a9, 0xb1be, 0xd4fd, 0x9658, 0xcaf5,
    +    0x9659, 0xd6ec, 0x965a, 0x965b, 0xc6d3, 0xb6e4, 0x965c, 0x965d,
    +    0x965e, 0x965f, 0xbbfa, 0x9660, 0x9661, 0xd0e0, 0x9662, 0x9663,
    +    0xc9b1, 0x9664, 0xd4d3, 0xc8a8, 0x9665, 0x9666, 0xb8cb, 0x9667,
    +    0xe8be, 0xc9bc, 0x9668, 0x9669, 0xe8bb, 0x966a, 0xc0ee, 0xd0d3,
    +    0xb2c4, 0xb4e5, 0x966b, 0xe8bc, 0x966c, 0x966d, 0xd5c8, 0x966e,
    +    0x966f, 0x9670, 0x9671, 0x9672, 0xb6c5, 0x9673, 0xe8bd, 0xcaf8,
    +    0xb8dc, 0xccf5, 0x9674, 0x9675, 0x9676, 0xc0b4, 0x9677, 0x9678,
    +    0xd1ee, 0xe8bf, 0xe8c2, 0x9679, 0x967a, 0xbabc, 0x967b, 0xb1ad,
    +    0xbddc, 0x967c, 0xeabd, 0xe8c3, 0x967d, 0xe8c6, 0x967e, 0xe8cb,
    +    0x9680, 0x9681, 0x9682, 0x9683, 0xe8cc, 0x9684, 0xcbc9, 0xb0e5,
    +    0x9685, 0xbcab, 0x9686, 0x9687, 0xb9b9, 0x9688, 0x9689, 0xe8c1,
    +    0x968a, 0xcdf7, 0x968b, 0xe8ca, 0x968c, 0x968d, 0x968e, 0x968f,
    +    0xcef6, 0x9690, 0x9691, 0x9692, 0x9693, 0xd5ed, 0x9694, 0xc1d6,
    +    0xe8c4, 0x9695, 0xc3b6, 0x9696, 0xb9fb, 0xd6a6, 0xe8c8, 0x9697,
    +    0x9698, 0x9699, 0xcae0, 0xd4e6, 0x969a, 0xe8c0, 0x969b, 0xe8c5,
    +    0xe8c7, 0x969c, 0xc7b9, 0xb7e3, 0x969d, 0xe8c9, 0x969e, 0xbfdd,
    +    0xe8d2, 0x969f, 0x96a0, 0xe8d7, 0x96a1, 0xe8d5, 0xbcdc, 0xbccf,
    +    0xe8db, 0x96a2, 0x96a3, 0x96a4, 0x96a5, 0x96a6, 0x96a7, 0x96a8,
    +    0x96a9, 0xe8de, 0x96aa, 0xe8da, 0xb1fa, 0x96ab, 0x96ac, 0x96ad,
    +    0x96ae, 0x96af, 0x96b0, 0x96b1, 0x96b2, 0x96b3, 0x96b4, 0xb0d8,
    +    0xc4b3, 0xb8cc, 0xc6e2, 0xc8be, 0xc8e1, 0x96b5, 0x96b6, 0x96b7,
    +    0xe8cf, 0xe8d4, 0xe8d6, 0x96b8, 0xb9f1, 0xe8d8, 0xd7f5, 0x96b9,
    +    0xc4fb, 0x96ba, 0xe8dc, 0x96bb, 0x96bc, 0xb2e9, 0x96bd, 0x96be,
    +    0x96bf, 0xe8d1, 0x96c0, 0x96c1, 0xbced, 0x96c2, 0x96c3, 0xbfc2,
    +    0xe8cd, 0xd6f9, 0x96c4, 0xc1f8, 0xb2f1, 0x96c5, 0x96c6, 0x96c7,
    +    0x96c8, 0x96c9, 0x96ca, 0x96cb, 0x96cc, 0xe8df, 0x96cd, 0xcac1,
    +    /* 0x6800 .. 0x68ff */
    +    0xe8d9, 0x96ce, 0x96cf, 0x96d0, 0x96d1, 0xd5a4, 0x96d2, 0xb1ea,
    +    0xd5bb, 0xe8ce, 0xe8d0, 0xb6b0, 0xe8d3, 0x96d3, 0xe8dd, 0xc0b8,
    +    0x96d4, 0xcaf7, 0x96d5, 0xcba8, 0x96d6, 0x96d7, 0xc6dc, 0xc0f5,
    +    0x96d8, 0x96d9, 0x96da, 0x96db, 0x96dc, 0xe8e9, 0x96dd, 0x96de,
    +    0x96df, 0xd0a3, 0x96e0, 0x96e1, 0x96e2, 0x96e3, 0x96e4, 0x96e5,
    +    0x96e6, 0xe8f2, 0xd6ea, 0x96e7, 0x96e8, 0x96e9, 0x96ea, 0x96eb,
    +    0x96ec, 0x96ed, 0xe8e0, 0xe8e1, 0x96ee, 0x96ef, 0x96f0, 0xd1f9,
    +    0xbacb, 0xb8f9, 0x96f1, 0x96f2, 0xb8f1, 0xd4d4, 0xe8ef, 0x96f3,
    +    0xe8ee, 0xe8ec, 0xb9f0, 0xccd2, 0xe8e6, 0xcea6, 0xbff2, 0x96f4,
    +    0xb0b8, 0xe8f1, 0xe8f0, 0x96f5, 0xd7c0, 0x96f6, 0xe8e4, 0x96f7,
    +    0xcda9, 0xc9a3, 0x96f8, 0xbbb8, 0xbddb, 0xe8ea, 0x96f9, 0x96fa,
    +    0x96fb, 0x96fc, 0x96fd, 0x96fe, 0x9740, 0x9741, 0x9742, 0x9743,
    +    0xe8e2, 0xe8e3, 0xe8e5, 0xb5b5, 0xe8e7, 0xc7c5, 0xe8eb, 0xe8ed,
    +    0xbdb0, 0xd7ae, 0x9744, 0xe8f8, 0x9745, 0x9746, 0x9747, 0x9748,
    +    0x9749, 0x974a, 0x974b, 0x974c, 0xe8f5, 0x974d, 0xcdb0, 0xe8f6,
    +    0x974e, 0x974f, 0x9750, 0x9751, 0x9752, 0x9753, 0x9754, 0x9755,
    +    0x9756, 0xc1ba, 0x9757, 0xe8e8, 0x9758, 0xc3b7, 0xb0f0, 0x9759,
    +    0x975a, 0x975b, 0x975c, 0x975d, 0x975e, 0x975f, 0x9760, 0xe8f4,
    +    0x9761, 0x9762, 0x9763, 0xe8f7, 0x9764, 0x9765, 0x9766, 0xb9a3,
    +    0x9767, 0x9768, 0x9769, 0x976a, 0x976b, 0x976c, 0x976d, 0x976e,
    +    0x976f, 0x9770, 0xc9d2, 0x9771, 0x9772, 0x9773, 0xc3ce, 0xcee0,
    +    0xc0e6, 0x9774, 0x9775, 0x9776, 0x9777, 0xcbf3, 0x9778, 0xccdd,
    +    0xd0b5, 0x9779, 0x977a, 0xcae1, 0x977b, 0xe8f3, 0x977c, 0x977d,
    +    0x977e, 0x9780, 0x9781, 0x9782, 0x9783, 0x9784, 0x9785, 0x9786,
    +    0xbcec, 0x9787, 0xe8f9, 0x9788, 0x9789, 0x978a, 0x978b, 0x978c,
    +    0x978d, 0xc3de, 0x978e, 0xc6e5, 0x978f, 0xb9f7, 0x9790, 0x9791,
    +    0x9792, 0x9793, 0xb0f4, 0x9794, 0x9795, 0xd7d8, 0x9796, 0x9797,
    +    0xbcac, 0x9798, 0xc5ef, 0x9799, 0x979a, 0x979b, 0x979c, 0x979d,
    +    0xccc4, 0x979e, 0x979f, 0xe9a6, 0x97a0, 0x97a1, 0x97a2, 0x97a3,
    +    0x97a4, 0x97a5, 0x97a6, 0x97a7, 0x97a8, 0x97a9, 0xc9ad, 0x97aa,
    +    0xe9a2, 0xc0e2, 0x97ab, 0x97ac, 0x97ad, 0xbfc3, 0x97ae, 0x97af,
    +    0x97b0, 0xe8fe, 0xb9d7, 0x97b1, 0xe8fb, 0x97b2, 0x97b3, 0x97b4,
    +    /* 0x6900 .. 0x69ff */
    +    0x97b5, 0xe9a4, 0x97b6, 0x97b7, 0x97b8, 0xd2ce, 0x97b9, 0x97ba,
    +    0x97bb, 0x97bc, 0x97bd, 0xe9a3, 0x97be, 0xd6b2, 0xd7b5, 0x97bf,
    +    0xe9a7, 0x97c0, 0xbdb7, 0x97c1, 0x97c2, 0x97c3, 0x97c4, 0x97c5,
    +    0x97c6, 0x97c7, 0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc, 0xe8fc,
    +    0xe8fd, 0x97cd, 0x97ce, 0x97cf, 0xe9a1, 0x97d0, 0x97d1, 0x97d2,
    +    0x97d3, 0x97d4, 0x97d5, 0x97d6, 0x97d7, 0xcdd6, 0x97d8, 0x97d9,
    +    0xd2ac, 0x97da, 0x97db, 0x97dc, 0xe9b2, 0x97dd, 0x97de, 0x97df,
    +    0x97e0, 0xe9a9, 0x97e1, 0x97e2, 0x97e3, 0xb4aa, 0x97e4, 0xb4bb,
    +    0x97e5, 0x97e6, 0xe9ab, 0x97e7, 0x97e8, 0x97e9, 0x97ea, 0x97eb,
    +    0x97ec, 0x97ed, 0x97ee, 0x97ef, 0x97f0, 0x97f1, 0x97f2, 0x97f3,
    +    0x97f4, 0x97f5, 0x97f6, 0x97f7, 0xd0a8, 0x97f8, 0x97f9, 0xe9a5,
    +    0x97fa, 0x97fb, 0xb3fe, 0x97fc, 0x97fd, 0xe9ac, 0xc0e3, 0x97fe,
    +    0xe9aa, 0x9840, 0x9841, 0xe9b9, 0x9842, 0x9843, 0xe9b8, 0x9844,
    +    0x9845, 0x9846, 0x9847, 0xe9ae, 0x9848, 0x9849, 0xe8fa, 0x984a,
    +    0x984b, 0xe9a8, 0x984c, 0x984d, 0x984e, 0x984f, 0x9850, 0xbfac,
    +    0xe9b1, 0xe9ba, 0x9851, 0x9852, 0xc2a5, 0x9853, 0x9854, 0x9855,
    +    0xe9af, 0x9856, 0xb8c5, 0x9857, 0xe9ad, 0x9858, 0xd3dc, 0xe9b4,
    +    0xe9b5, 0xe9b7, 0x9859, 0x985a, 0x985b, 0xe9c7, 0x985c, 0x985d,
    +    0x985e, 0x985f, 0x9860, 0x9861, 0xc0c6, 0xe9c5, 0x9862, 0x9863,
    +    0xe9b0, 0x9864, 0x9865, 0xe9bb, 0xb0f1, 0x9866, 0x9867, 0x9868,
    +    0x9869, 0x986a, 0x986b, 0x986c, 0x986d, 0x986e, 0x986f, 0xe9bc,
    +    0xd5a5, 0x9870, 0x9871, 0xe9be, 0x9872, 0xe9bf, 0x9873, 0x9874,
    +    0x9875, 0xe9c1, 0x9876, 0x9877, 0xc1f1, 0x9878, 0x9879, 0xc8b6,
    +    0x987a, 0x987b, 0x987c, 0xe9bd, 0x987d, 0x987e, 0x9880, 0x9881,
    +    0x9882, 0xe9c2, 0x9883, 0x9884, 0x9885, 0x9886, 0x9887, 0x9888,
    +    0x9889, 0x988a, 0xe9c3, 0x988b, 0xe9b3, 0x988c, 0xe9b6, 0x988d,
    +    0xbbb1, 0x988e, 0x988f, 0x9890, 0xe9c0, 0x9891, 0x9892, 0x9893,
    +    0x9894, 0x9895, 0x9896, 0xbcf7, 0x9897, 0x9898, 0x9899, 0xe9c4,
    +    0xe9c6, 0x989a, 0x989b, 0x989c, 0x989d, 0x989e, 0x989f, 0x98a0,
    +    0x98a1, 0x98a2, 0x98a3, 0x98a4, 0x98a5, 0xe9ca, 0x98a6, 0x98a7,
    +    0x98a8, 0x98a9, 0xe9ce, 0x98aa, 0x98ab, 0x98ac, 0x98ad, 0x98ae,
    +    0x98af, 0x98b0, 0x98b1, 0x98b2, 0x98b3, 0xb2db, 0x98b4, 0xe9c8,
    +    /* 0x6a00 .. 0x6aff */
    +    0x98b5, 0x98b6, 0x98b7, 0x98b8, 0x98b9, 0x98ba, 0x98bb, 0x98bc,
    +    0x98bd, 0x98be, 0xb7ae, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3,
    +    0x98c4, 0x98c5, 0x98c6, 0x98c7, 0x98c8, 0x98c9, 0x98ca, 0xe9cb,
    +    0xe9cc, 0x98cb, 0x98cc, 0x98cd, 0x98ce, 0x98cf, 0x98d0, 0xd5c1,
    +    0x98d1, 0xc4a3, 0x98d2, 0x98d3, 0x98d4, 0x98d5, 0x98d6, 0x98d7,
    +    0xe9d8, 0x98d8, 0xbae1, 0x98d9, 0x98da, 0x98db, 0x98dc, 0xe9c9,
    +    0x98dd, 0xd3a3, 0x98de, 0x98df, 0x98e0, 0xe9d4, 0x98e1, 0x98e2,
    +    0x98e3, 0x98e4, 0x98e5, 0x98e6, 0x98e7, 0xe9d7, 0xe9d0, 0x98e8,
    +    0x98e9, 0x98ea, 0x98eb, 0x98ec, 0xe9cf, 0x98ed, 0x98ee, 0xc7c1,
    +    0x98ef, 0x98f0, 0x98f1, 0x98f2, 0x98f3, 0x98f4, 0x98f5, 0x98f6,
    +    0xe9d2, 0x98f7, 0x98f8, 0x98f9, 0x98fa, 0x98fb, 0x98fc, 0x98fd,
    +    0xe9d9, 0xb3c8, 0x98fe, 0xe9d3, 0x9940, 0x9941, 0x9942, 0x9943,
    +    0x9944, 0xcff0, 0x9945, 0x9946, 0x9947, 0xe9cd, 0x9948, 0x9949,
    +    0x994a, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,
    +    0x9952, 0xb3f7, 0x9953, 0x9954, 0x9955, 0x9956, 0x9957, 0x9958,
    +    0x9959, 0xe9d6, 0x995a, 0x995b, 0xe9da, 0x995c, 0x995d, 0x995e,
    +    0xccb4, 0x995f, 0x9960, 0x9961, 0xcfad, 0x9962, 0x9963, 0x9964,
    +    0x9965, 0x9966, 0x9967, 0x9968, 0x9969, 0x996a, 0xe9d5, 0x996b,
    +    0xe9dc, 0xe9db, 0x996c, 0x996d, 0x996e, 0x996f, 0x9970, 0xe9de,
    +    0x9971, 0x9972, 0x9973, 0x9974, 0x9975, 0x9976, 0x9977, 0x9978,
    +    0xe9d1, 0x9979, 0x997a, 0x997b, 0x997c, 0x997d, 0x997e, 0x9980,
    +    0x9981, 0xe9dd, 0x9982, 0xe9df, 0xc3ca, 0x9983, 0x9984, 0x9985,
    +    0x9986, 0x9987, 0x9988, 0x9989, 0x998a, 0x998b, 0x998c, 0x998d,
    +    0x998e, 0x998f, 0x9990, 0x9991, 0x9992, 0x9993, 0x9994, 0x9995,
    +    0x9996, 0x9997, 0x9998, 0x9999, 0x999a, 0x999b, 0x999c, 0x999d,
    +    0x999e, 0x999f, 0x99a0, 0x99a1, 0x99a2, 0x99a3, 0x99a4, 0x99a5,
    +    0x99a6, 0x99a7, 0x99a8, 0x99a9, 0x99aa, 0x99ab, 0x99ac, 0x99ad,
    +    0x99ae, 0x99af, 0x99b0, 0x99b1, 0x99b2, 0x99b3, 0x99b4, 0x99b5,
    +    0x99b6, 0x99b7, 0x99b8, 0x99b9, 0x99ba, 0x99bb, 0x99bc, 0x99bd,
    +    0x99be, 0x99bf, 0x99c0, 0x99c1, 0x99c2, 0x99c3, 0x99c4, 0x99c5,
    +    0x99c6, 0x99c7, 0x99c8, 0x99c9, 0x99ca, 0x99cb, 0x99cc, 0x99cd,
    +    0x99ce, 0x99cf, 0x99d0, 0x99d1, 0x99d2, 0x99d3, 0x99d4, 0x99d5,
    +    /* 0x6b00 .. 0x6bff */
    +    0x99d6, 0x99d7, 0x99d8, 0x99d9, 0x99da, 0x99db, 0x99dc, 0x99dd,
    +    0x99de, 0x99df, 0x99e0, 0x99e1, 0x99e2, 0x99e3, 0x99e4, 0x99e5,
    +    0x99e6, 0x99e7, 0x99e8, 0x99e9, 0x99ea, 0x99eb, 0x99ec, 0x99ed,
    +    0x99ee, 0x99ef, 0x99f0, 0x99f1, 0x99f2, 0x99f3, 0x99f4, 0x99f5,
    +    0xc7b7, 0xb4ce, 0xbbb6, 0xd0c0, 0xeca3, 0x99f6, 0x99f7, 0xc5b7,
    +    0x99f8, 0x99f9, 0x99fa, 0x99fb, 0x99fc, 0x99fd, 0x99fe, 0x9a40,
    +    0x9a41, 0x9a42, 0xd3fb, 0x9a43, 0x9a44, 0x9a45, 0x9a46, 0xeca4,
    +    0x9a47, 0xeca5, 0xc6db, 0x9a48, 0x9a49, 0x9a4a, 0xbfee, 0x9a4b,
    +    0x9a4c, 0x9a4d, 0x9a4e, 0xeca6, 0x9a4f, 0x9a50, 0xeca7, 0xd0aa,
    +    0x9a51, 0xc7b8, 0x9a52, 0x9a53, 0xb8e8, 0x9a54, 0x9a55, 0x9a56,
    +    0x9a57, 0x9a58, 0x9a59, 0x9a5a, 0x9a5b, 0x9a5c, 0x9a5d, 0x9a5e,
    +    0x9a5f, 0xeca8, 0x9a60, 0x9a61, 0x9a62, 0x9a63, 0x9a64, 0x9a65,
    +    0x9a66, 0x9a67, 0xd6b9, 0xd5fd, 0xb4cb, 0xb2bd, 0xcee4, 0xc6e7,
    +    0x9a68, 0x9a69, 0xcde1, 0x9a6a, 0x9a6b, 0x9a6c, 0x9a6d, 0x9a6e,
    +    0x9a6f, 0x9a70, 0x9a71, 0x9a72, 0x9a73, 0x9a74, 0x9a75, 0x9a76,
    +    0x9a77, 0xb4f5, 0x9a78, 0xcbc0, 0xbcdf, 0x9a79, 0x9a7a, 0x9a7b,
    +    0x9a7c, 0xe9e2, 0xe9e3, 0xd1ea, 0xe9e5, 0x9a7d, 0xb4f9, 0xe9e4,
    +    0x9a7e, 0xd1b3, 0xcae2, 0xb2d0, 0x9a80, 0xe9e8, 0x9a81, 0x9a82,
    +    0x9a83, 0x9a84, 0xe9e6, 0xe9e7, 0x9a85, 0x9a86, 0xd6b3, 0x9a87,
    +    0x9a88, 0x9a89, 0xe9e9, 0xe9ea, 0x9a8a, 0x9a8b, 0x9a8c, 0x9a8d,
    +    0x9a8e, 0xe9eb, 0x9a8f, 0x9a90, 0x9a91, 0x9a92, 0x9a93, 0x9a94,
    +    0x9a95, 0x9a96, 0xe9ec, 0x9a97, 0x9a98, 0x9a99, 0x9a9a, 0x9a9b,
    +    0x9a9c, 0x9a9d, 0x9a9e, 0xecaf, 0xc5b9, 0xb6ce, 0x9a9f, 0xd2f3,
    +    0x9aa0, 0x9aa1, 0x9aa2, 0x9aa3, 0x9aa4, 0x9aa5, 0x9aa6, 0xb5ee,
    +    0x9aa7, 0xbbd9, 0xecb1, 0x9aa8, 0x9aa9, 0xd2e3, 0x9aaa, 0x9aab,
    +    0x9aac, 0x9aad, 0x9aae, 0xcee3, 0x9aaf, 0xc4b8, 0x9ab0, 0xc3bf,
    +    0x9ab1, 0x9ab2, 0xb6be, 0xd8b9, 0xb1c8, 0xb1cf, 0xb1d1, 0xc5fe,
    +    0x9ab3, 0xb1d0, 0x9ab4, 0xc3ab, 0x9ab5, 0x9ab6, 0x9ab7, 0x9ab8,
    +    0x9ab9, 0xd5b1, 0x9aba, 0x9abb, 0x9abc, 0x9abd, 0x9abe, 0x9abf,
    +    0x9ac0, 0x9ac1, 0xeba4, 0xbac1, 0x9ac2, 0x9ac3, 0x9ac4, 0xccba,
    +    0x9ac5, 0x9ac6, 0x9ac7, 0xeba5, 0x9ac8, 0xeba7, 0x9ac9, 0x9aca,
    +    0x9acb, 0xeba8, 0x9acc, 0x9acd, 0x9ace, 0xeba6, 0x9acf, 0x9ad0,
    +    /* 0x6c00 .. 0x6cff */
    +    0x9ad1, 0x9ad2, 0x9ad3, 0x9ad4, 0x9ad5, 0xeba9, 0xebab, 0xebaa,
    +    0x9ad6, 0x9ad7, 0x9ad8, 0x9ad9, 0x9ada, 0xebac, 0x9adb, 0xcacf,
    +    0xd8b5, 0xc3f1, 0x9adc, 0xc3a5, 0xc6f8, 0xebad, 0xc4ca, 0x9add,
    +    0xebae, 0xebaf, 0xebb0, 0xb7d5, 0x9ade, 0x9adf, 0x9ae0, 0xb7fa,
    +    0x9ae1, 0xebb1, 0xc7e2, 0x9ae2, 0xebb3, 0x9ae3, 0xbaa4, 0xd1f5,
    +    0xb0b1, 0xebb2, 0xebb4, 0x9ae4, 0x9ae5, 0x9ae6, 0xb5aa, 0xc2c8,
    +    0xc7e8, 0x9ae7, 0xebb5, 0x9ae8, 0xcbae, 0xe3df, 0x9ae9, 0x9aea,
    +    0xd3c0, 0x9aeb, 0x9aec, 0x9aed, 0x9aee, 0xd9db, 0x9aef, 0x9af0,
    +    0xcda1, 0xd6ad, 0xc7f3, 0x9af1, 0x9af2, 0x9af3, 0xd9e0, 0xbbe3,
    +    0x9af4, 0xbaba, 0xe3e2, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9af9,
    +    0xcfab, 0x9afa, 0x9afb, 0x9afc, 0xe3e0, 0xc9c7, 0x9afd, 0xbab9,
    +    0x9afe, 0x9b40, 0x9b41, 0xd1b4, 0xe3e1, 0xc8ea, 0xb9af, 0xbdad,
    +    0xb3d8, 0xcedb, 0x9b42, 0x9b43, 0xccc0, 0x9b44, 0x9b45, 0x9b46,
    +    0xe3e8, 0xe3e9, 0xcdf4, 0x9b47, 0x9b48, 0x9b49, 0x9b4a, 0x9b4b,
    +    0xccad, 0x9b4c, 0xbcb3, 0x9b4d, 0xe3ea, 0x9b4e, 0xe3eb, 0x9b4f,
    +    0x9b50, 0xd0da, 0x9b51, 0x9b52, 0x9b53, 0xc6fb, 0xb7da, 0x9b54,
    +    0x9b55, 0xc7df, 0xd2ca, 0xced6, 0x9b56, 0xe3e4, 0xe3ec, 0x9b57,
    +    0xc9f2, 0xb3c1, 0x9b58, 0x9b59, 0xe3e7, 0x9b5a, 0x9b5b, 0xc6e3,
    +    0xe3e5, 0x9b5c, 0x9b5d, 0xedb3, 0xe3e6, 0x9b5e, 0x9b5f, 0x9b60,
    +    0x9b61, 0xc9b3, 0x9b62, 0xc5e6, 0x9b63, 0x9b64, 0x9b65, 0xb9b5,
    +    0x9b66, 0xc3bb, 0x9b67, 0xe3e3, 0xc5bd, 0xc1a4, 0xc2d9, 0xb2d7,
    +    0x9b68, 0xe3ed, 0xbba6, 0xc4ad, 0x9b69, 0xe3f0, 0xbeda, 0x9b6a,
    +    0x9b6b, 0xe3fb, 0xe3f5, 0xbad3, 0x9b6c, 0x9b6d, 0x9b6e, 0x9b6f,
    +    0xb7d0, 0xd3cd, 0x9b70, 0xd6ce, 0xd5d3, 0xb9c1, 0xd5b4, 0xd1d8,
    +    0x9b71, 0x9b72, 0x9b73, 0x9b74, 0xd0b9, 0xc7f6, 0x9b75, 0x9b76,
    +    0x9b77, 0xc8aa, 0xb2b4, 0x9b78, 0xc3da, 0x9b79, 0x9b7a, 0x9b7b,
    +    0xe3ee, 0x9b7c, 0x9b7d, 0xe3fc, 0xe3ef, 0xb7a8, 0xe3f7, 0xe3f4,
    +    0x9b7e, 0x9b80, 0x9b81, 0xb7ba, 0x9b82, 0x9b83, 0xc5a2, 0x9b84,
    +    0xe3f6, 0xc5dd, 0xb2a8, 0xc6fc, 0x9b85, 0xc4e0, 0x9b86, 0x9b87,
    +    0xd7a2, 0x9b88, 0xc0e1, 0xe3f9, 0x9b89, 0x9b8a, 0xe3fa, 0xe3fd,
    +    0xcca9, 0xe3f3, 0x9b8b, 0xd3be, 0x9b8c, 0xb1c3, 0xedb4, 0xe3f1,
    +    0xe3f2, 0x9b8d, 0xe3f8, 0xd0ba, 0xc6c3, 0xd4f3, 0xe3fe, 0x9b8e,
    +    /* 0x6d00 .. 0x6dff */
    +    0x9b8f, 0xbde0, 0x9b90, 0x9b91, 0xe4a7, 0x9b92, 0x9b93, 0xe4a6,
    +    0x9b94, 0x9b95, 0x9b96, 0xd1f3, 0xe4a3, 0x9b97, 0xe4a9, 0x9b98,
    +    0x9b99, 0x9b9a, 0xc8f7, 0x9b9b, 0x9b9c, 0x9b9d, 0x9b9e, 0xcfb4,
    +    0x9b9f, 0xe4a8, 0xe4ae, 0xc2e5, 0x9ba0, 0x9ba1, 0xb6b4, 0x9ba2,
    +    0x9ba3, 0x9ba4, 0x9ba5, 0x9ba6, 0x9ba7, 0xbdf2, 0x9ba8, 0xe4a2,
    +    0x9ba9, 0x9baa, 0xbae9, 0xe4aa, 0x9bab, 0x9bac, 0xe4ac, 0x9bad,
    +    0x9bae, 0xb6fd, 0xd6de, 0xe4b2, 0x9baf, 0xe4ad, 0x9bb0, 0x9bb1,
    +    0x9bb2, 0xe4a1, 0x9bb3, 0xbbee, 0xcddd, 0xc7a2, 0xc5c9, 0x9bb4,
    +    0x9bb5, 0xc1f7, 0x9bb6, 0xe4a4, 0x9bb7, 0xc7b3, 0xbdac, 0xbdbd,
    +    0xe4a5, 0x9bb8, 0xd7c7, 0xb2e2, 0x9bb9, 0xe4ab, 0xbcc3, 0xe4af,
    +    0x9bba, 0xbbeb, 0xe4b0, 0xc5a8, 0xe4b1, 0x9bbb, 0x9bbc, 0x9bbd,
    +    0x9bbe, 0xd5e3, 0xbfa3, 0x9bbf, 0xe4ba, 0x9bc0, 0xe4b7, 0x9bc1,
    +    0xe4bb, 0x9bc2, 0x9bc3, 0xe4bd, 0x9bc4, 0x9bc5, 0xc6d6, 0x9bc6,
    +    0x9bc7, 0xbac6, 0xc0cb, 0x9bc8, 0x9bc9, 0x9bca, 0xb8a1, 0xe4b4,
    +    0x9bcb, 0x9bcc, 0x9bcd, 0x9bce, 0xd4a1, 0x9bcf, 0x9bd0, 0xbaa3,
    +    0xbdfe, 0x9bd1, 0x9bd2, 0x9bd3, 0xe4bc, 0x9bd4, 0x9bd5, 0x9bd6,
    +    0x9bd7, 0x9bd8, 0xcdbf, 0x9bd9, 0x9bda, 0xc4f9, 0x9bdb, 0x9bdc,
    +    0xcffb, 0xc9e6, 0x9bdd, 0x9bde, 0xd3bf, 0x9bdf, 0xcfd1, 0x9be0,
    +    0x9be1, 0xe4b3, 0x9be2, 0xe4b8, 0xe4b9, 0xcce9, 0x9be3, 0x9be4,
    +    0x9be5, 0x9be6, 0x9be7, 0xccce, 0x9be8, 0xc0d4, 0xe4b5, 0xc1b0,
    +    0xe4b6, 0xced0, 0x9be9, 0xbbc1, 0xb5d3, 0x9bea, 0xc8f3, 0xbda7,
    +    0xd5c7, 0xc9ac, 0xb8a2, 0xe4ca, 0x9beb, 0x9bec, 0xe4cc, 0xd1c4,
    +    0x9bed, 0x9bee, 0xd2ba, 0x9bef, 0x9bf0, 0xbaad, 0x9bf1, 0x9bf2,
    +    0xbad4, 0x9bf3, 0x9bf4, 0x9bf5, 0x9bf6, 0x9bf7, 0x9bf8, 0xe4c3,
    +    0xb5ed, 0x9bf9, 0x9bfa, 0x9bfb, 0xd7cd, 0xe4c0, 0xcffd, 0xe4bf,
    +    0x9bfc, 0x9bfd, 0x9bfe, 0xc1dc, 0xccca, 0x9c40, 0x9c41, 0x9c42,
    +    0x9c43, 0xcae7, 0x9c44, 0x9c45, 0x9c46, 0x9c47, 0xc4d7, 0x9c48,
    +    0xccd4, 0xe4c8, 0x9c49, 0x9c4a, 0x9c4b, 0xe4c7, 0xe4c1, 0x9c4c,
    +    0xe4c4, 0xb5ad, 0x9c4d, 0x9c4e, 0xd3d9, 0x9c4f, 0xe4c6, 0x9c50,
    +    0x9c51, 0x9c52, 0x9c53, 0xd2f9, 0xb4e3, 0x9c54, 0xbbb4, 0x9c55,
    +    0x9c56, 0xc9ee, 0x9c57, 0xb4be, 0x9c58, 0x9c59, 0x9c5a, 0xbbec,
    +    0x9c5b, 0xd1cd, 0x9c5c, 0xcced, 0xedb5, 0x9c5d, 0x9c5e, 0x9c5f,
    +    /* 0x6e00 .. 0x6eff */
    +    0x9c60, 0x9c61, 0x9c62, 0x9c63, 0x9c64, 0xc7e5, 0x9c65, 0x9c66,
    +    0x9c67, 0x9c68, 0xd4a8, 0x9c69, 0xe4cb, 0xd7d5, 0xe4c2, 0x9c6a,
    +    0xbda5, 0xe4c5, 0x9c6b, 0x9c6c, 0xd3e6, 0x9c6d, 0xe4c9, 0xc9f8,
    +    0x9c6e, 0x9c6f, 0xe4be, 0x9c70, 0x9c71, 0xd3e5, 0x9c72, 0x9c73,
    +    0xc7fe, 0xb6c9, 0x9c74, 0xd4fc, 0xb2b3, 0xe4d7, 0x9c75, 0x9c76,
    +    0x9c77, 0xcec2, 0x9c78, 0xe4cd, 0x9c79, 0xcebc, 0x9c7a, 0xb8db,
    +    0x9c7b, 0x9c7c, 0xe4d6, 0x9c7d, 0xbfca, 0x9c7e, 0x9c80, 0x9c81,
    +    0xd3ce, 0x9c82, 0xc3ec, 0x9c83, 0x9c84, 0x9c85, 0x9c86, 0x9c87,
    +    0x9c88, 0x9c89, 0x9c8a, 0xc5c8, 0xe4d8, 0x9c8b, 0x9c8c, 0x9c8d,
    +    0x9c8e, 0x9c8f, 0x9c90, 0x9c91, 0x9c92, 0xcdc4, 0xe4cf, 0x9c93,
    +    0x9c94, 0x9c95, 0x9c96, 0xe4d4, 0xe4d5, 0x9c97, 0xbafe, 0x9c98,
    +    0xcfe6, 0x9c99, 0x9c9a, 0xd5bf, 0x9c9b, 0x9c9c, 0x9c9d, 0xe4d2,
    +    0x9c9e, 0x9c9f, 0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca4, 0x9ca5,
    +    0x9ca6, 0x9ca7, 0x9ca8, 0xe4d0, 0x9ca9, 0x9caa, 0xe4ce, 0x9cab,
    +    0x9cac, 0x9cad, 0x9cae, 0x9caf, 0x9cb0, 0x9cb1, 0x9cb2, 0x9cb3,
    +    0x9cb4, 0x9cb5, 0x9cb6, 0x9cb7, 0x9cb8, 0x9cb9, 0xcde5, 0xcaaa,
    +    0x9cba, 0x9cbb, 0x9cbc, 0xc0a3, 0x9cbd, 0xbda6, 0xe4d3, 0x9cbe,
    +    0x9cbf, 0xb8c8, 0x9cc0, 0x9cc1, 0x9cc2, 0x9cc3, 0x9cc4, 0xe4e7,
    +    0xd4b4, 0x9cc5, 0x9cc6, 0x9cc7, 0x9cc8, 0x9cc9, 0x9cca, 0x9ccb,
    +    0xe4db, 0x9ccc, 0x9ccd, 0x9cce, 0xc1ef, 0x9ccf, 0x9cd0, 0xe4e9,
    +    0x9cd1, 0x9cd2, 0xd2e7, 0x9cd3, 0x9cd4, 0xe4df, 0x9cd5, 0xe4e0,
    +    0x9cd6, 0x9cd7, 0xcfaa, 0x9cd8, 0x9cd9, 0x9cda, 0x9cdb, 0xcbdd,
    +    0x9cdc, 0xe4da, 0xe4d1, 0x9cdd, 0xe4e5, 0x9cde, 0xc8dc, 0xe4e3,
    +    0x9cdf, 0x9ce0, 0xc4e7, 0xe4e2, 0x9ce1, 0xe4e1, 0x9ce2, 0x9ce3,
    +    0x9ce4, 0xb3fc, 0xe4e8, 0x9ce5, 0x9ce6, 0x9ce7, 0x9ce8, 0xb5e1,
    +    0x9ce9, 0x9cea, 0x9ceb, 0xd7cc, 0x9cec, 0x9ced, 0x9cee, 0xe4e6,
    +    0x9cef, 0xbbac, 0x9cf0, 0xd7d2, 0xcccf, 0xebf8, 0x9cf1, 0xe4e4,
    +    0x9cf2, 0x9cf3, 0xb9f6, 0x9cf4, 0x9cf5, 0x9cf6, 0xd6cd, 0xe4d9,
    +    0xe4dc, 0xc2fa, 0xe4de, 0x9cf7, 0xc2cb, 0xc0c4, 0xc2d0, 0x9cf8,
    +    0xb1f5, 0xccb2, 0x9cf9, 0x9cfa, 0x9cfb, 0x9cfc, 0x9cfd, 0x9cfe,
    +    0x9d40, 0x9d41, 0x9d42, 0x9d43, 0xb5ce, 0x9d44, 0x9d45, 0x9d46,
    +    0x9d47, 0xe4ef, 0x9d48, 0x9d49, 0x9d4a, 0x9d4b, 0x9d4c, 0x9d4d,
    +    /* 0x6f00 .. 0x6fff */
    +    0x9d4e, 0x9d4f, 0xc6af, 0x9d50, 0x9d51, 0x9d52, 0xc6e1, 0x9d53,
    +    0x9d54, 0xe4f5, 0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0xc2a9,
    +    0x9d5a, 0x9d5b, 0x9d5c, 0xc0ec, 0xd1dd, 0xe4ee, 0x9d5d, 0x9d5e,
    +    0x9d5f, 0x9d60, 0x9d61, 0x9d62, 0x9d63, 0x9d64, 0x9d65, 0x9d66,
    +    0xc4ae, 0x9d67, 0x9d68, 0x9d69, 0xe4ed, 0x9d6a, 0x9d6b, 0x9d6c,
    +    0x9d6d, 0xe4f6, 0xe4f4, 0xc2fe, 0x9d6e, 0xe4dd, 0x9d6f, 0xe4f0,
    +    0x9d70, 0xcafe, 0x9d71, 0xd5c4, 0x9d72, 0x9d73, 0xe4f1, 0x9d74,
    +    0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a, 0xd1fa, 0x9d7b,
    +    0x9d7c, 0x9d7d, 0x9d7e, 0x9d80, 0x9d81, 0x9d82, 0xe4eb, 0xe4ec,
    +    0x9d83, 0x9d84, 0x9d85, 0xe4f2, 0x9d86, 0xceab, 0x9d87, 0x9d88,
    +    0x9d89, 0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f, 0x9d90,
    +    0xc5cb, 0x9d91, 0x9d92, 0x9d93, 0xc7b1, 0x9d94, 0xc2ba, 0x9d95,
    +    0x9d96, 0x9d97, 0xe4ea, 0x9d98, 0x9d99, 0x9d9a, 0xc1ca, 0x9d9b,
    +    0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f, 0x9da0, 0xccb6, 0xb3b1, 0x9da1,
    +    0x9da2, 0x9da3, 0xe4fb, 0x9da4, 0xe4f3, 0x9da5, 0x9da6, 0x9da7,
    +    0xe4fa, 0x9da8, 0xe4fd, 0x9da9, 0xe4fc, 0x9daa, 0x9dab, 0x9dac,
    +    0x9dad, 0x9dae, 0x9daf, 0x9db0, 0xb3ce, 0x9db1, 0x9db2, 0x9db3,
    +    0xb3ba, 0xe4f7, 0x9db4, 0x9db5, 0xe4f9, 0xe4f8, 0xc5ec, 0x9db6,
    +    0x9db7, 0x9db8, 0x9db9, 0x9dba, 0x9dbb, 0x9dbc, 0x9dbd, 0x9dbe,
    +    0x9dbf, 0x9dc0, 0x9dc1, 0x9dc2, 0xc0bd, 0x9dc3, 0x9dc4, 0x9dc5,
    +    0x9dc6, 0xd4e8, 0x9dc7, 0x9dc8, 0x9dc9, 0x9dca, 0x9dcb, 0xe5a2,
    +    0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0x9dd0, 0x9dd1, 0x9dd2, 0x9dd3,
    +    0x9dd4, 0x9dd5, 0x9dd6, 0xb0c4, 0x9dd7, 0x9dd8, 0xe5a4, 0x9dd9,
    +    0x9dda, 0xe5a3, 0x9ddb, 0x9ddc, 0x9ddd, 0x9dde, 0x9ddf, 0x9de0,
    +    0xbca4, 0x9de1, 0xe5a5, 0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6,
    +    0x9de7, 0xe5a1, 0x9de8, 0x9de9, 0x9dea, 0x9deb, 0x9dec, 0x9ded,
    +    0x9dee, 0xe4fe, 0xb1f4, 0x9def, 0x9df0, 0x9df1, 0x9df2, 0x9df3,
    +    0x9df4, 0x9df5, 0x9df6, 0x9df7, 0x9df8, 0x9df9, 0xe5a8, 0x9dfa,
    +    0xe5a9, 0xe5a6, 0x9dfb, 0x9dfc, 0x9dfd, 0x9dfe, 0x9e40, 0x9e41,
    +    0x9e42, 0x9e43, 0x9e44, 0x9e45, 0x9e46, 0x9e47, 0xe5a7, 0xe5aa,
    +    0x9e48, 0x9e49, 0x9e4a, 0x9e4b, 0x9e4c, 0x9e4d, 0x9e4e, 0x9e4f,
    +    0x9e50, 0x9e51, 0x9e52, 0x9e53, 0x9e54, 0x9e55, 0x9e56, 0x9e57,
    +    /* 0x7000 .. 0x70ff */
    +    0x9e58, 0x9e59, 0x9e5a, 0x9e5b, 0x9e5c, 0x9e5d, 0x9e5e, 0x9e5f,
    +    0x9e60, 0x9e61, 0x9e62, 0x9e63, 0x9e64, 0x9e65, 0x9e66, 0x9e67,
    +    0x9e68, 0xc6d9, 0x9e69, 0x9e6a, 0x9e6b, 0x9e6c, 0x9e6d, 0x9e6e,
    +    0x9e6f, 0x9e70, 0xe5ab, 0xe5ad, 0x9e71, 0x9e72, 0x9e73, 0x9e74,
    +    0x9e75, 0x9e76, 0x9e77, 0xe5ac, 0x9e78, 0x9e79, 0x9e7a, 0x9e7b,
    +    0x9e7c, 0x9e7d, 0x9e7e, 0x9e80, 0x9e81, 0x9e82, 0x9e83, 0x9e84,
    +    0x9e85, 0x9e86, 0x9e87, 0x9e88, 0x9e89, 0xe5af, 0x9e8a, 0x9e8b,
    +    0x9e8c, 0xe5ae, 0x9e8d, 0x9e8e, 0x9e8f, 0x9e90, 0x9e91, 0x9e92,
    +    0x9e93, 0x9e94, 0x9e95, 0x9e96, 0x9e97, 0x9e98, 0x9e99, 0x9e9a,
    +    0x9e9b, 0x9e9c, 0x9e9d, 0x9e9e, 0xb9e0, 0x9e9f, 0x9ea0, 0xe5b0,
    +    0x9ea1, 0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0x9ea6, 0x9ea7, 0x9ea8,
    +    0x9ea9, 0x9eaa, 0x9eab, 0x9eac, 0x9ead, 0x9eae, 0xe5b1, 0x9eaf,
    +    0x9eb0, 0x9eb1, 0x9eb2, 0x9eb3, 0x9eb4, 0x9eb5, 0x9eb6, 0x9eb7,
    +    0x9eb8, 0x9eb9, 0x9eba, 0xbbf0, 0xece1, 0xc3f0, 0x9ebb, 0xb5c6,
    +    0xbbd2, 0x9ebc, 0x9ebd, 0x9ebe, 0x9ebf, 0xc1e9, 0xd4ee, 0x9ec0,
    +    0xbec4, 0x9ec1, 0x9ec2, 0x9ec3, 0xd7c6, 0x9ec4, 0xd4d6, 0xb2d3,
    +    0xecbe, 0x9ec5, 0x9ec6, 0x9ec7, 0x9ec8, 0xeac1, 0x9ec9, 0x9eca,
    +    0x9ecb, 0xc2af, 0xb4b6, 0x9ecc, 0x9ecd, 0x9ece, 0xd1d7, 0x9ecf,
    +    0x9ed0, 0x9ed1, 0xb3b4, 0x9ed2, 0xc8b2, 0xbfbb, 0xecc0, 0x9ed3,
    +    0x9ed4, 0xd6cb, 0x9ed5, 0x9ed6, 0xecbf, 0xecc1, 0x9ed7, 0x9ed8,
    +    0x9ed9, 0x9eda, 0x9edb, 0x9edc, 0x9edd, 0x9ede, 0x9edf, 0x9ee0,
    +    0x9ee1, 0x9ee2, 0x9ee3, 0xecc5, 0xbee6, 0xccbf, 0xc5da, 0xbebc,
    +    0x9ee4, 0xecc6, 0x9ee5, 0xb1fe, 0x9ee6, 0x9ee7, 0x9ee8, 0xecc4,
    +    0xd5a8, 0xb5e3, 0x9ee9, 0xecc2, 0xc1b6, 0xb3e3, 0x9eea, 0x9eeb,
    +    0xecc3, 0xcbb8, 0xc0c3, 0xccfe, 0x9eec, 0x9eed, 0x9eee, 0x9eef,
    +    0xc1d2, 0x9ef0, 0xecc8, 0x9ef1, 0x9ef2, 0x9ef3, 0x9ef4, 0x9ef5,
    +    0x9ef6, 0x9ef7, 0x9ef8, 0x9ef9, 0x9efa, 0x9efb, 0x9efc, 0x9efd,
    +    0xbae6, 0xc0d3, 0x9efe, 0xd6f2, 0x9f40, 0x9f41, 0x9f42, 0xd1cc,
    +    0x9f43, 0x9f44, 0x9f45, 0x9f46, 0xbfbe, 0x9f47, 0xb7b3, 0xc9d5,
    +    0xecc7, 0xbbe2, 0x9f48, 0xcccc, 0xbdfd, 0xc8c8, 0x9f49, 0xcfa9,
    +    0x9f4a, 0x9f4b, 0x9f4c, 0x9f4d, 0x9f4e, 0x9f4f, 0x9f50, 0xcde9,
    +    0x9f51, 0xc5eb, 0x9f52, 0x9f53, 0x9f54, 0xb7e9, 0x9f55, 0x9f56,
    +    /* 0x7100 .. 0x71ff */
    +    0x9f57, 0x9f58, 0x9f59, 0x9f5a, 0x9f5b, 0x9f5c, 0x9f5d, 0x9f5e,
    +    0x9f5f, 0xd1c9, 0xbab8, 0x9f60, 0x9f61, 0x9f62, 0x9f63, 0x9f64,
    +    0xecc9, 0x9f65, 0x9f66, 0xecca, 0x9f67, 0xbbc0, 0xeccb, 0x9f68,
    +    0xece2, 0xb1ba, 0xb7d9, 0x9f69, 0x9f6a, 0x9f6b, 0x9f6c, 0x9f6d,
    +    0x9f6e, 0x9f6f, 0x9f70, 0x9f71, 0x9f72, 0x9f73, 0xbdb9, 0x9f74,
    +    0x9f75, 0x9f76, 0x9f77, 0x9f78, 0x9f79, 0x9f7a, 0x9f7b, 0xeccc,
    +    0xd1e6, 0xeccd, 0x9f7c, 0x9f7d, 0x9f7e, 0x9f80, 0xc8bb, 0x9f81,
    +    0x9f82, 0x9f83, 0x9f84, 0x9f85, 0x9f86, 0x9f87, 0x9f88, 0x9f89,
    +    0x9f8a, 0x9f8b, 0x9f8c, 0x9f8d, 0x9f8e, 0xecd1, 0x9f8f, 0x9f90,
    +    0x9f91, 0x9f92, 0xecd3, 0x9f93, 0xbbcd, 0x9f94, 0xbce5, 0x9f95,
    +    0x9f96, 0x9f97, 0x9f98, 0x9f99, 0x9f9a, 0x9f9b, 0x9f9c, 0x9f9d,
    +    0x9f9e, 0x9f9f, 0x9fa0, 0x9fa1, 0xeccf, 0x9fa2, 0xc9b7, 0x9fa3,
    +    0x9fa4, 0x9fa5, 0x9fa6, 0x9fa7, 0xc3ba, 0x9fa8, 0xece3, 0xd5d5,
    +    0xecd0, 0x9fa9, 0x9faa, 0x9fab, 0x9fac, 0x9fad, 0xd6f3, 0x9fae,
    +    0x9faf, 0x9fb0, 0xecd2, 0xecce, 0x9fb1, 0x9fb2, 0x9fb3, 0x9fb4,
    +    0xecd4, 0x9fb5, 0xecd5, 0x9fb6, 0x9fb7, 0xc9bf, 0x9fb8, 0x9fb9,
    +    0x9fba, 0x9fbb, 0x9fbc, 0x9fbd, 0xcfa8, 0x9fbe, 0x9fbf, 0x9fc0,
    +    0x9fc1, 0x9fc2, 0xd0dc, 0x9fc3, 0x9fc4, 0x9fc5, 0x9fc6, 0xd1ac,
    +    0x9fc7, 0x9fc8, 0x9fc9, 0x9fca, 0xc8db, 0x9fcb, 0x9fcc, 0x9fcd,
    +    0xecd6, 0xcef5, 0x9fce, 0x9fcf, 0x9fd0, 0x9fd1, 0x9fd2, 0xcaec,
    +    0xecda, 0x9fd3, 0x9fd4, 0x9fd5, 0x9fd6, 0x9fd7, 0x9fd8, 0x9fd9,
    +    0xecd9, 0x9fda, 0x9fdb, 0x9fdc, 0xb0be, 0x9fdd, 0x9fde, 0x9fdf,
    +    0x9fe0, 0x9fe1, 0x9fe2, 0xecd7, 0x9fe3, 0xecd8, 0x9fe4, 0x9fe5,
    +    0x9fe6, 0xece4, 0x9fe7, 0x9fe8, 0x9fe9, 0x9fea, 0x9feb, 0x9fec,
    +    0x9fed, 0x9fee, 0x9fef, 0xc8bc, 0x9ff0, 0x9ff1, 0x9ff2, 0x9ff3,
    +    0x9ff4, 0x9ff5, 0x9ff6, 0x9ff7, 0x9ff8, 0x9ff9, 0xc1c7, 0x9ffa,
    +    0x9ffb, 0x9ffc, 0x9ffd, 0x9ffe, 0xecdc, 0xd1e0, 0xa040, 0xa041,
    +    0xa042, 0xa043, 0xa044, 0xa045, 0xa046, 0xa047, 0xa048, 0xa049,
    +    0xecdb, 0xa04a, 0xa04b, 0xa04c, 0xa04d, 0xd4ef, 0xa04e, 0xecdd,
    +    0xa04f, 0xa050, 0xa051, 0xa052, 0xa053, 0xa054, 0xdbc6, 0xa055,
    +    0xa056, 0xa057, 0xa058, 0xa059, 0xa05a, 0xa05b, 0xa05c, 0xa05d,
    +    0xa05e, 0xecde, 0xa05f, 0xa060, 0xa061, 0xa062, 0xa063, 0xa064,
    +    /* 0x7200 .. 0x72ff */
    +    0xa065, 0xa066, 0xa067, 0xa068, 0xa069, 0xa06a, 0xb1ac, 0xa06b,
    +    0xa06c, 0xa06d, 0xa06e, 0xa06f, 0xa070, 0xa071, 0xa072, 0xa073,
    +    0xa074, 0xa075, 0xa076, 0xa077, 0xa078, 0xa079, 0xa07a, 0xa07b,
    +    0xa07c, 0xa07d, 0xa07e, 0xa080, 0xa081, 0xecdf, 0xa082, 0xa083,
    +    0xa084, 0xa085, 0xa086, 0xa087, 0xa088, 0xa089, 0xa08a, 0xa08b,
    +    0xece0, 0xa08c, 0xd7a6, 0xa08d, 0xc5c0, 0xa08e, 0xa08f, 0xa090,
    +    0xebbc, 0xb0ae, 0xa091, 0xa092, 0xa093, 0xbef4, 0xb8b8, 0xd2af,
    +    0xb0d6, 0xb5f9, 0xa094, 0xd8b3, 0xa095, 0xcbac, 0xa096, 0xe3dd,
    +    0xa097, 0xa098, 0xa099, 0xa09a, 0xa09b, 0xa09c, 0xa09d, 0xc6ac,
    +    0xb0e6, 0xa09e, 0xa09f, 0xa0a0, 0xc5c6, 0xebb9, 0xa0a1, 0xa0a2,
    +    0xa0a3, 0xa0a4, 0xebba, 0xa0a5, 0xa0a6, 0xa0a7, 0xebbb, 0xa0a8,
    +    0xa0a9, 0xd1c0, 0xa0aa, 0xc5a3, 0xa0ab, 0xeaf2, 0xa0ac, 0xc4b2,
    +    0xa0ad, 0xc4b5, 0xc0ce, 0xa0ae, 0xa0af, 0xa0b0, 0xeaf3, 0xc4c1,
    +    0xa0b1, 0xceef, 0xa0b2, 0xa0b3, 0xa0b4, 0xa0b5, 0xeaf0, 0xeaf4,
    +    0xa0b6, 0xa0b7, 0xc9fc, 0xa0b8, 0xa0b9, 0xc7a3, 0xa0ba, 0xa0bb,
    +    0xa0bc, 0xccd8, 0xcefe, 0xa0bd, 0xa0be, 0xa0bf, 0xeaf5, 0xeaf6,
    +    0xcfac, 0xc0e7, 0xa0c0, 0xa0c1, 0xeaf7, 0xa0c2, 0xa0c3, 0xa0c4,
    +    0xa0c5, 0xa0c6, 0xb6bf, 0xeaf8, 0xa0c7, 0xeaf9, 0xa0c8, 0xeafa,
    +    0xa0c9, 0xa0ca, 0xeafb, 0xa0cb, 0xa0cc, 0xa0cd, 0xa0ce, 0xa0cf,
    +    0xa0d0, 0xa0d1, 0xa0d2, 0xa0d3, 0xa0d4, 0xa0d5, 0xa0d6, 0xeaf1,
    +    0xa0d7, 0xa0d8, 0xa0d9, 0xa0da, 0xa0db, 0xa0dc, 0xa0dd, 0xa0de,
    +    0xa0df, 0xa0e0, 0xa0e1, 0xa0e2, 0xc8ae, 0xe1eb, 0xa0e3, 0xb7b8,
    +    0xe1ec, 0xa0e4, 0xa0e5, 0xa0e6, 0xe1ed, 0xa0e7, 0xd7b4, 0xe1ee,
    +    0xe1ef, 0xd3cc, 0xa0e8, 0xa0e9, 0xa0ea, 0xa0eb, 0xa0ec, 0xa0ed,
    +    0xa0ee, 0xe1f1, 0xbff1, 0xe1f0, 0xb5d2, 0xa0ef, 0xa0f0, 0xa0f1,
    +    0xb1b7, 0xa0f2, 0xa0f3, 0xa0f4, 0xa0f5, 0xe1f3, 0xe1f2, 0xa0f6,
    +    0xbafc, 0xa0f7, 0xe1f4, 0xa0f8, 0xa0f9, 0xa0fa, 0xa0fb, 0xb9b7,
    +    0xa0fc, 0xbed1, 0xa0fd, 0xa0fe, 0xaa40, 0xaa41, 0xc4fc, 0xaa42,
    +    0xbadd, 0xbdc6, 0xaa43, 0xaa44, 0xaa45, 0xaa46, 0xaa47, 0xaa48,
    +    0xe1f5, 0xe1f7, 0xaa49, 0xaa4a, 0xb6c0, 0xcfc1, 0xcaa8, 0xe1f6,
    +    0xd5f8, 0xd3fc, 0xe1f8, 0xe1fc, 0xe1f9, 0xaa4b, 0xaa4c, 0xe1fa,
    +    0xc0ea, 0xaa4d, 0xe1fe, 0xe2a1, 0xc0c7, 0xaa4e, 0xaa4f, 0xaa50,
    +    /* 0x7300 .. 0x73ff */
    +    0xaa51, 0xe1fb, 0xaa52, 0xe1fd, 0xaa53, 0xaa54, 0xaa55, 0xaa56,
    +    0xaa57, 0xaa58, 0xe2a5, 0xaa59, 0xaa5a, 0xaa5b, 0xc1d4, 0xaa5c,
    +    0xaa5d, 0xaa5e, 0xaa5f, 0xe2a3, 0xaa60, 0xe2a8, 0xb2fe, 0xe2a2,
    +    0xaa61, 0xaa62, 0xaa63, 0xc3cd, 0xb2c2, 0xe2a7, 0xe2a6, 0xaa64,
    +    0xaa65, 0xe2a4, 0xe2a9, 0xaa66, 0xaa67, 0xe2ab, 0xaa68, 0xaa69,
    +    0xaa6a, 0xd0c9, 0xd6ed, 0xc3a8, 0xe2ac, 0xaa6b, 0xcfd7, 0xaa6c,
    +    0xaa6d, 0xe2ae, 0xaa6e, 0xaa6f, 0xbaef, 0xaa70, 0xaa71, 0xe9e0,
    +    0xe2ad, 0xe2aa, 0xaa72, 0xaa73, 0xaa74, 0xaa75, 0xbbab, 0xd4b3,
    +    0xaa76, 0xaa77, 0xaa78, 0xaa79, 0xaa7a, 0xaa7b, 0xaa7c, 0xaa7d,
    +    0xaa7e, 0xaa80, 0xaa81, 0xaa82, 0xaa83, 0xe2b0, 0xaa84, 0xaa85,
    +    0xe2af, 0xaa86, 0xe9e1, 0xaa87, 0xaa88, 0xaa89, 0xaa8a, 0xe2b1,
    +    0xaa8b, 0xaa8c, 0xaa8d, 0xaa8e, 0xaa8f, 0xaa90, 0xaa91, 0xaa92,
    +    0xe2b2, 0xaa93, 0xaa94, 0xaa95, 0xaa96, 0xaa97, 0xaa98, 0xaa99,
    +    0xaa9a, 0xaa9b, 0xaa9c, 0xaa9d, 0xe2b3, 0xcca1, 0xaa9e, 0xe2b4,
    +    0xaa9f, 0xaaa0, 0xab40, 0xab41, 0xab42, 0xab43, 0xab44, 0xab45,
    +    0xab46, 0xab47, 0xab48, 0xab49, 0xab4a, 0xab4b, 0xe2b5, 0xab4c,
    +    0xab4d, 0xab4e, 0xab4f, 0xab50, 0xd0fe, 0xab51, 0xab52, 0xc2ca,
    +    0xab53, 0xd3f1, 0xab54, 0xcdf5, 0xab55, 0xab56, 0xe7e0, 0xab57,
    +    0xab58, 0xe7e1, 0xab59, 0xab5a, 0xab5b, 0xab5c, 0xbec1, 0xab5d,
    +    0xab5e, 0xab5f, 0xab60, 0xc2ea, 0xab61, 0xab62, 0xab63, 0xe7e4,
    +    0xab64, 0xab65, 0xe7e3, 0xab66, 0xab67, 0xab68, 0xab69, 0xab6a,
    +    0xab6b, 0xcde6, 0xab6c, 0xc3b5, 0xab6d, 0xab6e, 0xe7e2, 0xbbb7,
    +    0xcfd6, 0xab6f, 0xc1e1, 0xe7e9, 0xab70, 0xab71, 0xab72, 0xe7e8,
    +    0xab73, 0xab74, 0xe7f4, 0xb2a3, 0xab75, 0xab76, 0xab77, 0xab78,
    +    0xe7ea, 0xab79, 0xe7e6, 0xab7a, 0xab7b, 0xab7c, 0xab7d, 0xab7e,
    +    0xe7ec, 0xe7eb, 0xc9ba, 0xab80, 0xab81, 0xd5e4, 0xab82, 0xe7e5,
    +    0xb7a9, 0xe7e7, 0xab83, 0xab84, 0xab85, 0xab86, 0xab87, 0xab88,
    +    0xab89, 0xe7ee, 0xab8a, 0xab8b, 0xab8c, 0xab8d, 0xe7f3, 0xab8e,
    +    0xd6e9, 0xab8f, 0xab90, 0xab91, 0xab92, 0xe7ed, 0xab93, 0xe7f2,
    +    0xab94, 0xe7f1, 0xab95, 0xab96, 0xab97, 0xb0e0, 0xab98, 0xab99,
    +    0xab9a, 0xab9b, 0xe7f5, 0xab9c, 0xab9d, 0xab9e, 0xab9f, 0xaba0,
    +    0xac40, 0xac41, 0xac42, 0xac43, 0xac44, 0xac45, 0xac46, 0xac47,
    +    /* 0x7400 .. 0x74ff */
    +    0xac48, 0xac49, 0xac4a, 0xc7f2, 0xac4b, 0xc0c5, 0xc0ed, 0xac4c,
    +    0xac4d, 0xc1f0, 0xe7f0, 0xac4e, 0xac4f, 0xac50, 0xac51, 0xe7f6,
    +    0xcbf6, 0xac52, 0xac53, 0xac54, 0xac55, 0xac56, 0xac57, 0xac58,
    +    0xac59, 0xac5a, 0xe8a2, 0xe8a1, 0xac5b, 0xac5c, 0xac5d, 0xac5e,
    +    0xac5f, 0xac60, 0xd7c1, 0xac61, 0xac62, 0xe7fa, 0xe7f9, 0xac63,
    +    0xe7fb, 0xac64, 0xe7f7, 0xac65, 0xe7fe, 0xac66, 0xe7fd, 0xac67,
    +    0xe7fc, 0xac68, 0xac69, 0xc1d5, 0xc7d9, 0xc5fd, 0xc5c3, 0xac6a,
    +    0xac6b, 0xac6c, 0xac6d, 0xac6e, 0xc7ed, 0xac6f, 0xac70, 0xac71,
    +    0xac72, 0xe8a3, 0xac73, 0xac74, 0xac75, 0xac76, 0xac77, 0xac78,
    +    0xac79, 0xac7a, 0xac7b, 0xac7c, 0xac7d, 0xac7e, 0xac80, 0xac81,
    +    0xac82, 0xac83, 0xac84, 0xac85, 0xac86, 0xe8a6, 0xac87, 0xe8a5,
    +    0xac88, 0xe8a7, 0xbaf7, 0xe7f8, 0xe8a4, 0xac89, 0xc8f0, 0xc9aa,
    +    0xac8a, 0xac8b, 0xac8c, 0xac8d, 0xac8e, 0xac8f, 0xac90, 0xac91,
    +    0xac92, 0xac93, 0xac94, 0xac95, 0xac96, 0xe8a9, 0xac97, 0xac98,
    +    0xb9e5, 0xac99, 0xac9a, 0xac9b, 0xac9c, 0xac9d, 0xd1fe, 0xe8a8,
    +    0xac9e, 0xac9f, 0xaca0, 0xad40, 0xad41, 0xad42, 0xe8aa, 0xad43,
    +    0xe8ad, 0xe8ae, 0xad44, 0xc1a7, 0xad45, 0xad46, 0xad47, 0xe8af,
    +    0xad48, 0xad49, 0xad4a, 0xe8b0, 0xad4b, 0xad4c, 0xe8ac, 0xad4d,
    +    0xe8b4, 0xad4e, 0xad4f, 0xad50, 0xad51, 0xad52, 0xad53, 0xad54,
    +    0xad55, 0xad56, 0xad57, 0xad58, 0xe8ab, 0xad59, 0xe8b1, 0xad5a,
    +    0xad5b, 0xad5c, 0xad5d, 0xad5e, 0xad5f, 0xad60, 0xad61, 0xe8b5,
    +    0xe8b2, 0xe8b3, 0xad62, 0xad63, 0xad64, 0xad65, 0xad66, 0xad67,
    +    0xad68, 0xad69, 0xad6a, 0xad6b, 0xad6c, 0xad6d, 0xad6e, 0xad6f,
    +    0xad70, 0xad71, 0xe8b7, 0xad72, 0xad73, 0xad74, 0xad75, 0xad76,
    +    0xad77, 0xad78, 0xad79, 0xad7a, 0xad7b, 0xad7c, 0xad7d, 0xad7e,
    +    0xad80, 0xad81, 0xad82, 0xad83, 0xad84, 0xad85, 0xad86, 0xad87,
    +    0xad88, 0xad89, 0xe8b6, 0xad8a, 0xad8b, 0xad8c, 0xad8d, 0xad8e,
    +    0xad8f, 0xad90, 0xad91, 0xad92, 0xb9cf, 0xad93, 0xf0ac, 0xad94,
    +    0xf0ad, 0xad95, 0xc6b0, 0xb0ea, 0xc8bf, 0xad96, 0xcddf, 0xad97,
    +    0xad98, 0xad99, 0xad9a, 0xad9b, 0xad9c, 0xad9d, 0xcecd, 0xeab1,
    +    0xad9e, 0xad9f, 0xada0, 0xae40, 0xeab2, 0xae41, 0xc6bf, 0xb4c9,
    +    0xae42, 0xae43, 0xae44, 0xae45, 0xae46, 0xae47, 0xae48, 0xeab3,
    +    /* 0x7500 .. 0x75ff */
    +    0xae49, 0xae4a, 0xae4b, 0xae4c, 0xd5e7, 0xae4d, 0xae4e, 0xae4f,
    +    0xae50, 0xae51, 0xae52, 0xae53, 0xae54, 0xddf9, 0xae55, 0xeab4,
    +    0xae56, 0xeab5, 0xae57, 0xeab6, 0xae58, 0xae59, 0xae5a, 0xae5b,
    +    0xb8ca, 0xdfb0, 0xc9f5, 0xae5c, 0xccf0, 0xae5d, 0xae5e, 0xc9fa,
    +    0xae5f, 0xae60, 0xae61, 0xae62, 0xae63, 0xc9fb, 0xae64, 0xae65,
    +    0xd3c3, 0xcba6, 0xae66, 0xb8a6, 0xf0ae, 0xb1c2, 0xae67, 0xe5b8,
    +    0xccef, 0xd3c9, 0xbcd7, 0xc9ea, 0xae68, 0xb5e7, 0xae69, 0xc4d0,
    +    0xb5e9, 0xae6a, 0xeeae, 0xbbad, 0xae6b, 0xae6c, 0xe7de, 0xae6d,
    +    0xeeaf, 0xae6e, 0xae6f, 0xae70, 0xae71, 0xb3a9, 0xae72, 0xae73,
    +    0xeeb2, 0xae74, 0xae75, 0xeeb1, 0xbde7, 0xae76, 0xeeb0, 0xceb7,
    +    0xae77, 0xae78, 0xae79, 0xae7a, 0xc5cf, 0xae7b, 0xae7c, 0xae7d,
    +    0xae7e, 0xc1f4, 0xdbce, 0xeeb3, 0xd0f3, 0xae80, 0xae81, 0xae82,
    +    0xae83, 0xae84, 0xae85, 0xae86, 0xae87, 0xc2d4, 0xc6e8, 0xae88,
    +    0xae89, 0xae8a, 0xb7ac, 0xae8b, 0xae8c, 0xae8d, 0xae8e, 0xae8f,
    +    0xae90, 0xae91, 0xeeb4, 0xae92, 0xb3eb, 0xae93, 0xae94, 0xae95,
    +    0xbbfb, 0xeeb5, 0xae96, 0xae97, 0xae98, 0xae99, 0xae9a, 0xe7dc,
    +    0xae9b, 0xae9c, 0xae9d, 0xeeb6, 0xae9e, 0xae9f, 0xbdae, 0xaea0,
    +    0xaf40, 0xaf41, 0xaf42, 0xf1e2, 0xaf43, 0xaf44, 0xaf45, 0xcae8,
    +    0xaf46, 0xd2c9, 0xf0da, 0xaf47, 0xf0db, 0xaf48, 0xf0dc, 0xc1c6,
    +    0xaf49, 0xb8ed, 0xbece, 0xaf4a, 0xaf4b, 0xf0de, 0xaf4c, 0xc5b1,
    +    0xf0dd, 0xd1f1, 0xaf4d, 0xf0e0, 0xb0cc, 0xbdea, 0xaf4e, 0xaf4f,
    +    0xaf50, 0xaf51, 0xaf52, 0xd2df, 0xf0df, 0xaf53, 0xb4af, 0xb7e8,
    +    0xf0e6, 0xf0e5, 0xc6a3, 0xf0e1, 0xf0e2, 0xb4c3, 0xaf54, 0xaf55,
    +    0xf0e3, 0xd5ee, 0xaf56, 0xaf57, 0xccdb, 0xbed2, 0xbcb2, 0xaf58,
    +    0xaf59, 0xaf5a, 0xf0e8, 0xf0e7, 0xf0e4, 0xb2a1, 0xaf5b, 0xd6a2,
    +    0xd3b8, 0xbeb7, 0xc8ac, 0xaf5c, 0xaf5d, 0xf0ea, 0xaf5e, 0xaf5f,
    +    0xaf60, 0xaf61, 0xd1f7, 0xaf62, 0xd6cc, 0xbadb, 0xf0e9, 0xaf63,
    +    0xb6bb, 0xaf64, 0xaf65, 0xcdb4, 0xaf66, 0xaf67, 0xc6a6, 0xaf68,
    +    0xaf69, 0xaf6a, 0xc1a1, 0xf0eb, 0xf0ee, 0xaf6b, 0xf0ed, 0xf0f0,
    +    0xf0ec, 0xaf6c, 0xbbbe, 0xf0ef, 0xaf6d, 0xaf6e, 0xaf6f, 0xaf70,
    +    0xccb5, 0xf0f2, 0xaf71, 0xaf72, 0xb3d5, 0xaf73, 0xaf74, 0xaf75,
    +    0xaf76, 0xb1d4, 0xaf77, 0xaf78, 0xf0f3, 0xaf79, 0xaf7a, 0xf0f4,
    +    /* 0x7600 .. 0x76ff */
    +    0xf0f6, 0xb4e1, 0xaf7b, 0xf0f1, 0xaf7c, 0xf0f7, 0xaf7d, 0xaf7e,
    +    0xaf80, 0xaf81, 0xf0fa, 0xaf82, 0xf0f8, 0xaf83, 0xaf84, 0xaf85,
    +    0xf0f5, 0xaf86, 0xaf87, 0xaf88, 0xaf89, 0xf0fd, 0xaf8a, 0xf0f9,
    +    0xf0fc, 0xf0fe, 0xaf8b, 0xf1a1, 0xaf8c, 0xaf8d, 0xaf8e, 0xcec1,
    +    0xf1a4, 0xaf8f, 0xf1a3, 0xaf90, 0xc1f6, 0xf0fb, 0xcadd, 0xaf91,
    +    0xaf92, 0xb4f1, 0xb1f1, 0xccb1, 0xaf93, 0xf1a6, 0xaf94, 0xaf95,
    +    0xf1a7, 0xaf96, 0xaf97, 0xf1ac, 0xd5ce, 0xf1a9, 0xaf98, 0xaf99,
    +    0xc8b3, 0xaf9a, 0xaf9b, 0xaf9c, 0xf1a2, 0xaf9d, 0xf1ab, 0xf1a8,
    +    0xf1a5, 0xaf9e, 0xaf9f, 0xf1aa, 0xafa0, 0xb040, 0xb041, 0xb042,
    +    0xb043, 0xb044, 0xb045, 0xb046, 0xb0a9, 0xf1ad, 0xb047, 0xb048,
    +    0xb049, 0xb04a, 0xb04b, 0xb04c, 0xf1af, 0xb04d, 0xf1b1, 0xb04e,
    +    0xb04f, 0xb050, 0xb051, 0xb052, 0xf1b0, 0xb053, 0xf1ae, 0xb054,
    +    0xb055, 0xb056, 0xb057, 0xd1a2, 0xb058, 0xb059, 0xb05a, 0xb05b,
    +    0xb05c, 0xb05d, 0xb05e, 0xf1b2, 0xb05f, 0xb060, 0xb061, 0xf1b3,
    +    0xb062, 0xb063, 0xb064, 0xb065, 0xb066, 0xb067, 0xb068, 0xb069,
    +    0xb9ef, 0xb06a, 0xb06b, 0xb5c7, 0xb06c, 0xb0d7, 0xb0d9, 0xb06d,
    +    0xb06e, 0xb06f, 0xd4ed, 0xb070, 0xb5c4, 0xb071, 0xbdd4, 0xbbca,
    +    0xf0a7, 0xb072, 0xb073, 0xb8de, 0xb074, 0xb075, 0xf0a8, 0xb076,
    +    0xb077, 0xb0a8, 0xb078, 0xf0a9, 0xb079, 0xb07a, 0xcdee, 0xb07b,
    +    0xb07c, 0xf0aa, 0xb07d, 0xb07e, 0xb080, 0xb081, 0xb082, 0xb083,
    +    0xb084, 0xb085, 0xb086, 0xb087, 0xf0ab, 0xb088, 0xb089, 0xb08a,
    +    0xb08b, 0xb08c, 0xb08d, 0xb08e, 0xb08f, 0xb090, 0xc6a4, 0xb091,
    +    0xb092, 0xd6e5, 0xf1e4, 0xb093, 0xf1e5, 0xb094, 0xb095, 0xb096,
    +    0xb097, 0xb098, 0xb099, 0xb09a, 0xb09b, 0xb09c, 0xb09d, 0xc3f3,
    +    0xb09e, 0xb09f, 0xd3db, 0xb0a0, 0xb140, 0xd6d1, 0xc5e8, 0xb141,
    +    0xd3af, 0xb142, 0xd2e6, 0xb143, 0xb144, 0xeec1, 0xb0bb, 0xd5b5,
    +    0xd1ce, 0xbce0, 0xbad0, 0xb145, 0xbff8, 0xb146, 0xb8c7, 0xb5c1,
    +    0xc5cc, 0xb147, 0xb148, 0xcaa2, 0xb149, 0xb14a, 0xb14b, 0xc3cb,
    +    0xb14c, 0xb14d, 0xb14e, 0xb14f, 0xb150, 0xeec2, 0xb151, 0xb152,
    +    0xb153, 0xb154, 0xb155, 0xb156, 0xb157, 0xb158, 0xc4bf, 0xb6a2,
    +    0xb159, 0xedec, 0xc3a4, 0xb15a, 0xd6b1, 0xb15b, 0xb15c, 0xb15d,
    +    0xcfe0, 0xedef, 0xb15e, 0xb15f, 0xc5ce, 0xb160, 0xb6dc, 0xb161,
    +    /* 0x7700 .. 0x77ff */
    +    0xb162, 0xcaa1, 0xb163, 0xb164, 0xeded, 0xb165, 0xb166, 0xedf0,
    +    0xedf1, 0xc3bc, 0xb167, 0xbfb4, 0xb168, 0xedee, 0xb169, 0xb16a,
    +    0xb16b, 0xb16c, 0xb16d, 0xb16e, 0xb16f, 0xb170, 0xb171, 0xb172,
    +    0xb173, 0xedf4, 0xedf2, 0xb174, 0xb175, 0xb176, 0xb177, 0xd5e6,
    +    0xc3df, 0xb178, 0xedf3, 0xb179, 0xb17a, 0xb17b, 0xedf6, 0xb17c,
    +    0xd5a3, 0xd1a3, 0xb17d, 0xb17e, 0xb180, 0xedf5, 0xb181, 0xc3d0,
    +    0xb182, 0xb183, 0xb184, 0xb185, 0xb186, 0xedf7, 0xbff4, 0xbeec,
    +    0xedf8, 0xb187, 0xccf7, 0xb188, 0xd1db, 0xb189, 0xb18a, 0xb18b,
    +    0xd7c5, 0xd5f6, 0xb18c, 0xedfc, 0xb18d, 0xb18e, 0xb18f, 0xedfb,
    +    0xb190, 0xb191, 0xb192, 0xb193, 0xb194, 0xb195, 0xb196, 0xb197,
    +    0xedf9, 0xedfa, 0xb198, 0xb199, 0xb19a, 0xb19b, 0xb19c, 0xb19d,
    +    0xb19e, 0xb19f, 0xedfd, 0xbea6, 0xb1a0, 0xb240, 0xb241, 0xb242,
    +    0xb243, 0xcbaf, 0xeea1, 0xb6bd, 0xb244, 0xeea2, 0xc4c0, 0xb245,
    +    0xedfe, 0xb246, 0xb247, 0xbdde, 0xb2c7, 0xb248, 0xb249, 0xb24a,
    +    0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f, 0xb250, 0xb251, 0xb252,
    +    0xb253, 0xb6c3, 0xb254, 0xb255, 0xb256, 0xeea5, 0xd8ba, 0xeea3,
    +    0xeea6, 0xb257, 0xb258, 0xb259, 0xc3e9, 0xb3f2, 0xb25a, 0xb25b,
    +    0xb25c, 0xb25d, 0xb25e, 0xb25f, 0xeea7, 0xeea4, 0xcfb9, 0xb260,
    +    0xb261, 0xeea8, 0xc2f7, 0xb262, 0xb263, 0xb264, 0xb265, 0xb266,
    +    0xb267, 0xb268, 0xb269, 0xb26a, 0xb26b, 0xb26c, 0xb26d, 0xeea9,
    +    0xeeaa, 0xb26e, 0xdeab, 0xb26f, 0xb270, 0xc6b3, 0xb271, 0xc7c6,
    +    0xb272, 0xd6f5, 0xb5c9, 0xb273, 0xcbb2, 0xb274, 0xb275, 0xb276,
    +    0xeeab, 0xb277, 0xb278, 0xcdab, 0xb279, 0xeeac, 0xb27a, 0xb27b,
    +    0xb27c, 0xb27d, 0xb27e, 0xd5b0, 0xb280, 0xeead, 0xb281, 0xf6c4,
    +    0xb282, 0xb283, 0xb284, 0xb285, 0xb286, 0xb287, 0xb288, 0xb289,
    +    0xb28a, 0xb28b, 0xb28c, 0xb28d, 0xb28e, 0xdbc7, 0xb28f, 0xb290,
    +    0xb291, 0xb292, 0xb293, 0xb294, 0xb295, 0xb296, 0xb297, 0xb4a3,
    +    0xb298, 0xb299, 0xb29a, 0xc3ac, 0xf1e6, 0xb29b, 0xb29c, 0xb29d,
    +    0xb29e, 0xb29f, 0xcab8, 0xd2d3, 0xb2a0, 0xd6aa, 0xb340, 0xeff2,
    +    0xb341, 0xbed8, 0xb342, 0xbdc3, 0xeff3, 0xb6cc, 0xb0ab, 0xb343,
    +    0xb344, 0xb345, 0xb346, 0xcaaf, 0xb347, 0xb348, 0xedb6, 0xb349,
    +    0xedb7, 0xb34a, 0xb34b, 0xb34c, 0xb34d, 0xcef9, 0xb7af, 0xbff3,
    +    /* 0x7800 .. 0x78ff */
    +    0xedb8, 0xc2eb, 0xc9b0, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352,
    +    0xb353, 0xedb9, 0xb354, 0xb355, 0xc6f6, 0xbfb3, 0xb356, 0xb357,
    +    0xb358, 0xedbc, 0xc5f8, 0xb359, 0xd1d0, 0xb35a, 0xd7a9, 0xedba,
    +    0xedbb, 0xb35b, 0xd1e2, 0xb35c, 0xedbf, 0xedc0, 0xb35d, 0xedc4,
    +    0xb35e, 0xb35f, 0xb360, 0xedc8, 0xb361, 0xedc6, 0xedce, 0xd5e8,
    +    0xb362, 0xedc9, 0xb363, 0xb364, 0xedc7, 0xedbe, 0xb365, 0xb366,
    +    0xc5e9, 0xb367, 0xb368, 0xb369, 0xc6c6, 0xb36a, 0xb36b, 0xc9e9,
    +    0xd4d2, 0xedc1, 0xedc2, 0xedc3, 0xedc5, 0xb36c, 0xc0f9, 0xb36d,
    +    0xb4a1, 0xb36e, 0xb36f, 0xb370, 0xb371, 0xb9e8, 0xb372, 0xedd0,
    +    0xb373, 0xb374, 0xb375, 0xb376, 0xedd1, 0xb377, 0xedca, 0xb378,
    +    0xedcf, 0xb379, 0xcef8, 0xb37a, 0xb37b, 0xcbb6, 0xedcc, 0xedcd,
    +    0xb37c, 0xb37d, 0xb37e, 0xb380, 0xb381, 0xcff5, 0xb382, 0xb383,
    +    0xb384, 0xb385, 0xb386, 0xb387, 0xb388, 0xb389, 0xb38a, 0xb38b,
    +    0xb38c, 0xb38d, 0xedd2, 0xc1f2, 0xd3b2, 0xedcb, 0xc8b7, 0xb38e,
    +    0xb38f, 0xb390, 0xb391, 0xb392, 0xb393, 0xb394, 0xb395, 0xbcef,
    +    0xb396, 0xb397, 0xb398, 0xb399, 0xc5f0, 0xb39a, 0xb39b, 0xb39c,
    +    0xb39d, 0xb39e, 0xb39f, 0xb3a0, 0xb440, 0xb441, 0xb442, 0xedd6,
    +    0xb443, 0xb5ef, 0xb444, 0xb445, 0xc2b5, 0xb0ad, 0xcbe9, 0xb446,
    +    0xb447, 0xb1ae, 0xb448, 0xedd4, 0xb449, 0xb44a, 0xb44b, 0xcdeb,
    +    0xb5e2, 0xb44c, 0xedd5, 0xedd3, 0xedd7, 0xb44d, 0xb44e, 0xb5fa,
    +    0xb44f, 0xedd8, 0xb450, 0xedd9, 0xb451, 0xeddc, 0xb452, 0xb1cc,
    +    0xb453, 0xb454, 0xb455, 0xb456, 0xb457, 0xb458, 0xb459, 0xb45a,
    +    0xc5f6, 0xbcee, 0xedda, 0xccbc, 0xb2ea, 0xb45b, 0xb45c, 0xb45d,
    +    0xb45e, 0xeddb, 0xb45f, 0xb460, 0xb461, 0xb462, 0xc4eb, 0xb463,
    +    0xb464, 0xb4c5, 0xb465, 0xb466, 0xb467, 0xb0f5, 0xb468, 0xb469,
    +    0xb46a, 0xeddf, 0xc0da, 0xb4e8, 0xb46b, 0xb46c, 0xb46d, 0xb46e,
    +    0xc5cd, 0xb46f, 0xb470, 0xb471, 0xeddd, 0xbfc4, 0xb472, 0xb473,
    +    0xb474, 0xedde, 0xb475, 0xb476, 0xb477, 0xb478, 0xb479, 0xb47a,
    +    0xb47b, 0xb47c, 0xb47d, 0xb47e, 0xb480, 0xb481, 0xb482, 0xb483,
    +    0xc4a5, 0xb484, 0xb485, 0xb486, 0xede0, 0xb487, 0xb488, 0xb489,
    +    0xb48a, 0xb48b, 0xede1, 0xb48c, 0xede3, 0xb48d, 0xb48e, 0xc1d7,
    +    0xb48f, 0xb490, 0xbbc7, 0xb491, 0xb492, 0xb493, 0xb494, 0xb495,
    +    /* 0x7900 .. 0x79ff */
    +    0xb496, 0xbdb8, 0xb497, 0xb498, 0xb499, 0xede2, 0xb49a, 0xb49b,
    +    0xb49c, 0xb49d, 0xb49e, 0xb49f, 0xb4a0, 0xb540, 0xb541, 0xb542,
    +    0xb543, 0xb544, 0xb545, 0xede4, 0xb546, 0xb547, 0xb548, 0xb549,
    +    0xb54a, 0xb54b, 0xb54c, 0xb54d, 0xb54e, 0xb54f, 0xede6, 0xb550,
    +    0xb551, 0xb552, 0xb553, 0xb554, 0xede5, 0xb555, 0xb556, 0xb557,
    +    0xb558, 0xb559, 0xb55a, 0xb55b, 0xb55c, 0xb55d, 0xb55e, 0xb55f,
    +    0xb560, 0xb561, 0xb562, 0xb563, 0xede7, 0xb564, 0xb565, 0xb566,
    +    0xb567, 0xb568, 0xcabe, 0xecea, 0xc0f1, 0xb569, 0xc9e7, 0xb56a,
    +    0xeceb, 0xc6ee, 0xb56b, 0xb56c, 0xb56d, 0xb56e, 0xecec, 0xb56f,
    +    0xc6ed, 0xeced, 0xb570, 0xb571, 0xb572, 0xb573, 0xb574, 0xb575,
    +    0xb576, 0xb577, 0xb578, 0xecf0, 0xb579, 0xb57a, 0xd7e6, 0xecf3,
    +    0xb57b, 0xb57c, 0xecf1, 0xecee, 0xecef, 0xd7a3, 0xc9f1, 0xcbee,
    +    0xecf4, 0xb57d, 0xecf2, 0xb57e, 0xb580, 0xcfe9, 0xb581, 0xecf6,
    +    0xc6b1, 0xb582, 0xb583, 0xb584, 0xb585, 0xbcc0, 0xb586, 0xecf5,
    +    0xb587, 0xb588, 0xb589, 0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xb5bb,
    +    0xbbf6, 0xb58e, 0xecf7, 0xb58f, 0xb590, 0xb591, 0xb592, 0xb593,
    +    0xd9f7, 0xbdfb, 0xb594, 0xb595, 0xc2bb, 0xecf8, 0xb596, 0xb597,
    +    0xb598, 0xb599, 0xecf9, 0xb59a, 0xb59b, 0xb59c, 0xb59d, 0xb8a3,
    +    0xb59e, 0xb59f, 0xb5a0, 0xb640, 0xb641, 0xb642, 0xb643, 0xb644,
    +    0xb645, 0xb646, 0xecfa, 0xb647, 0xb648, 0xb649, 0xb64a, 0xb64b,
    +    0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652, 0xecfb,
    +    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,
    +    0xb65b, 0xb65c, 0xb65d, 0xecfc, 0xb65e, 0xb65f, 0xb660, 0xb661,
    +    0xb662, 0xd3ed, 0xd8ae, 0xc0eb, 0xb663, 0xc7dd, 0xbacc, 0xb664,
    +    0xd0e3, 0xcbbd, 0xb665, 0xcdba, 0xb666, 0xb667, 0xb8d1, 0xb668,
    +    0xb669, 0xb1fc, 0xb66a, 0xc7ef, 0xb66b, 0xd6d6, 0xb66c, 0xb66d,
    +    0xb66e, 0xbfc6, 0xc3eb, 0xb66f, 0xb670, 0xeff5, 0xb671, 0xb672,
    +    0xc3d8, 0xb673, 0xb674, 0xb675, 0xb676, 0xb677, 0xb678, 0xd7e2,
    +    0xb679, 0xb67a, 0xb67b, 0xeff7, 0xb3d3, 0xb67c, 0xc7d8, 0xd1ed,
    +    0xb67d, 0xd6c8, 0xb67e, 0xeff8, 0xb680, 0xeff6, 0xb681, 0xbbfd,
    +    0xb3c6, 0xb682, 0xb683, 0xb684, 0xb685, 0xb686, 0xb687, 0xb688,
    +    0xbdd5, 0xb689, 0xb68a, 0xd2c6, 0xb68b, 0xbbe0, 0xb68c, 0xb68d,
    +    /* 0x7a00 .. 0x7aff */
    +    0xcfa1, 0xb68e, 0xeffc, 0xeffb, 0xb68f, 0xb690, 0xeff9, 0xb691,
    +    0xb692, 0xb693, 0xb694, 0xb3cc, 0xb695, 0xc9d4, 0xcbb0, 0xb696,
    +    0xb697, 0xb698, 0xb699, 0xb69a, 0xeffe, 0xb69b, 0xb69c, 0xb0de,
    +    0xb69d, 0xb69e, 0xd6c9, 0xb69f, 0xb6a0, 0xb740, 0xeffd, 0xb741,
    +    0xb3ed, 0xb742, 0xb743, 0xf6d5, 0xb744, 0xb745, 0xb746, 0xb747,
    +    0xb748, 0xb749, 0xb74a, 0xb74b, 0xb74c, 0xb74d, 0xb74e, 0xb74f,
    +    0xb750, 0xb751, 0xb752, 0xcec8, 0xb753, 0xb754, 0xb755, 0xf0a2,
    +    0xb756, 0xf0a1, 0xb757, 0xb5be, 0xbcda, 0xbbfc, 0xb758, 0xb8e5,
    +    0xb759, 0xb75a, 0xb75b, 0xb75c, 0xb75d, 0xb75e, 0xc4c2, 0xb75f,
    +    0xb760, 0xb761, 0xb762, 0xb763, 0xb764, 0xb765, 0xb766, 0xb767,
    +    0xb768, 0xf0a3, 0xb769, 0xb76a, 0xb76b, 0xb76c, 0xb76d, 0xcbeb,
    +    0xb76e, 0xb76f, 0xb770, 0xb771, 0xb772, 0xb773, 0xb774, 0xb775,
    +    0xb776, 0xb777, 0xb778, 0xb779, 0xb77a, 0xb77b, 0xb77c, 0xb77d,
    +    0xb77e, 0xb780, 0xb781, 0xb782, 0xb783, 0xb784, 0xb785, 0xb786,
    +    0xf0a6, 0xb787, 0xb788, 0xb789, 0xd1a8, 0xb78a, 0xbebf, 0xc7ee,
    +    0xf1b6, 0xf1b7, 0xbfd5, 0xb78b, 0xb78c, 0xb78d, 0xb78e, 0xb4a9,
    +    0xf1b8, 0xcdbb, 0xb78f, 0xc7d4, 0xd5ad, 0xb790, 0xf1b9, 0xb791,
    +    0xf1ba, 0xb792, 0xb793, 0xb794, 0xb795, 0xc7cf, 0xb796, 0xb797,
    +    0xb798, 0xd2a4, 0xd6cf, 0xb799, 0xb79a, 0xf1bb, 0xbdd1, 0xb4b0,
    +    0xbebd, 0xb79b, 0xb79c, 0xb79d, 0xb4dc, 0xced1, 0xb79e, 0xbfdf,
    +    0xf1bd, 0xb79f, 0xb7a0, 0xb840, 0xb841, 0xbffa, 0xf1bc, 0xb842,
    +    0xf1bf, 0xb843, 0xb844, 0xb845, 0xf1be, 0xf1c0, 0xb846, 0xb847,
    +    0xb848, 0xb849, 0xb84a, 0xf1c1, 0xb84b, 0xb84c, 0xb84d, 0xb84e,
    +    0xb84f, 0xb850, 0xb851, 0xb852, 0xb853, 0xb854, 0xb855, 0xc1fe,
    +    0xb856, 0xb857, 0xb858, 0xb859, 0xb85a, 0xb85b, 0xb85c, 0xb85d,
    +    0xb85e, 0xb85f, 0xb860, 0xc1a2, 0xb861, 0xb862, 0xb863, 0xb864,
    +    0xb865, 0xb866, 0xb867, 0xb868, 0xb869, 0xb86a, 0xcafa, 0xb86b,
    +    0xb86c, 0xd5be, 0xb86d, 0xb86e, 0xb86f, 0xb870, 0xbeba, 0xbeb9,
    +    0xd5c2, 0xb871, 0xb872, 0xbfa2, 0xb873, 0xcdaf, 0xf1b5, 0xb874,
    +    0xb875, 0xb876, 0xb877, 0xb878, 0xb879, 0xbddf, 0xb87a, 0xb6cb,
    +    0xb87b, 0xb87c, 0xb87d, 0xb87e, 0xb880, 0xb881, 0xb882, 0xb883,
    +    0xb884, 0xd6f1, 0xf3c3, 0xb885, 0xb886, 0xf3c4, 0xb887, 0xb8cd,
    +    /* 0x7b00 .. 0x7bff */
    +    0xb888, 0xb889, 0xb88a, 0xf3c6, 0xf3c7, 0xb88b, 0xb0ca, 0xb88c,
    +    0xf3c5, 0xb88d, 0xf3c9, 0xcbf1, 0xb88e, 0xb88f, 0xb890, 0xf3cb,
    +    0xb891, 0xd0a6, 0xb892, 0xb893, 0xb1ca, 0xf3c8, 0xb894, 0xb895,
    +    0xb896, 0xf3cf, 0xb897, 0xb5d1, 0xb898, 0xb899, 0xf3d7, 0xb89a,
    +    0xf3d2, 0xb89b, 0xb89c, 0xb89d, 0xf3d4, 0xf3d3, 0xb7fb, 0xb89e,
    +    0xb1bf, 0xb89f, 0xf3ce, 0xf3ca, 0xb5da, 0xb8a0, 0xf3d0, 0xb940,
    +    0xb941, 0xf3d1, 0xb942, 0xf3d5, 0xb943, 0xb944, 0xb945, 0xb946,
    +    0xf3cd, 0xb947, 0xbce3, 0xb948, 0xc1fd, 0xb949, 0xf3d6, 0xb94a,
    +    0xb94b, 0xb94c, 0xb94d, 0xb94e, 0xb94f, 0xf3da, 0xb950, 0xf3cc,
    +    0xb951, 0xb5c8, 0xb952, 0xbdee, 0xf3dc, 0xb953, 0xb954, 0xb7a4,
    +    0xbff0, 0xd6fe, 0xcdb2, 0xb955, 0xb4f0, 0xb956, 0xb2df, 0xb957,
    +    0xf3d8, 0xb958, 0xf3d9, 0xc9b8, 0xb959, 0xf3dd, 0xb95a, 0xb95b,
    +    0xf3de, 0xb95c, 0xf3e1, 0xb95d, 0xb95e, 0xb95f, 0xb960, 0xb961,
    +    0xb962, 0xb963, 0xb964, 0xb965, 0xb966, 0xb967, 0xf3df, 0xb968,
    +    0xb969, 0xf3e3, 0xf3e2, 0xb96a, 0xb96b, 0xf3db, 0xb96c, 0xbfea,
    +    0xb96d, 0xb3ef, 0xb96e, 0xf3e0, 0xb96f, 0xb970, 0xc7a9, 0xb971,
    +    0xbcf2, 0xb972, 0xb973, 0xb974, 0xb975, 0xf3eb, 0xb976, 0xb977,
    +    0xb978, 0xb979, 0xb97a, 0xb97b, 0xb97c, 0xb9bf, 0xb97d, 0xb97e,
    +    0xf3e4, 0xb980, 0xb981, 0xb982, 0xb2ad, 0xbbfe, 0xb983, 0xcbe3,
    +    0xb984, 0xb985, 0xb986, 0xb987, 0xf3ed, 0xf3e9, 0xb988, 0xb989,
    +    0xb98a, 0xb9dc, 0xf3ee, 0xb98b, 0xb98c, 0xb98d, 0xf3e5, 0xf3e6,
    +    0xf3ea, 0xc2e1, 0xf3ec, 0xf3ef, 0xf3e8, 0xbcfd, 0xb98e, 0xb98f,
    +    0xb990, 0xcfe4, 0xb991, 0xb992, 0xf3f0, 0xb993, 0xb994, 0xb995,
    +    0xf3e7, 0xb996, 0xb997, 0xb998, 0xb999, 0xb99a, 0xb99b, 0xb99c,
    +    0xb99d, 0xf3f2, 0xb99e, 0xb99f, 0xb9a0, 0xba40, 0xd7ad, 0xc6aa,
    +    0xba41, 0xba42, 0xba43, 0xba44, 0xf3f3, 0xba45, 0xba46, 0xba47,
    +    0xba48, 0xf3f1, 0xba49, 0xc2a8, 0xba4a, 0xba4b, 0xba4c, 0xba4d,
    +    0xba4e, 0xb8dd, 0xf3f5, 0xba4f, 0xba50, 0xf3f4, 0xba51, 0xba52,
    +    0xba53, 0xb4db, 0xba54, 0xba55, 0xba56, 0xf3f6, 0xf3f7, 0xba57,
    +    0xba58, 0xba59, 0xf3f8, 0xba5a, 0xba5b, 0xba5c, 0xc0ba, 0xba5d,
    +    0xba5e, 0xc0e9, 0xba5f, 0xba60, 0xba61, 0xba62, 0xba63, 0xc5f1,
    +    0xba64, 0xba65, 0xba66, 0xba67, 0xf3fb, 0xba68, 0xf3fa, 0xba69,
    +    /* 0x7c00 .. 0x7cff */
    +    0xba6a, 0xba6b, 0xba6c, 0xba6d, 0xba6e, 0xba6f, 0xba70, 0xb4d8,
    +    0xba71, 0xba72, 0xba73, 0xf3fe, 0xf3f9, 0xba74, 0xba75, 0xf3fc,
    +    0xba76, 0xba77, 0xba78, 0xba79, 0xba7a, 0xba7b, 0xf3fd, 0xba7c,
    +    0xba7d, 0xba7e, 0xba80, 0xba81, 0xba82, 0xba83, 0xba84, 0xf4a1,
    +    0xba85, 0xba86, 0xba87, 0xba88, 0xba89, 0xba8a, 0xf4a3, 0xbbc9,
    +    0xba8b, 0xba8c, 0xf4a2, 0xba8d, 0xba8e, 0xba8f, 0xba90, 0xba91,
    +    0xba92, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,
    +    0xf4a4, 0xba9a, 0xba9b, 0xba9c, 0xba9d, 0xba9e, 0xba9f, 0xb2be,
    +    0xf4a6, 0xf4a5, 0xbaa0, 0xbb40, 0xbb41, 0xbb42, 0xbb43, 0xbb44,
    +    0xbb45, 0xbb46, 0xbb47, 0xbb48, 0xbb49, 0xbcae, 0xbb4a, 0xbb4b,
    +    0xbb4c, 0xbb4d, 0xbb4e, 0xbb4f, 0xbb50, 0xbb51, 0xbb52, 0xbb53,
    +    0xbb54, 0xbb55, 0xbb56, 0xbb57, 0xbb58, 0xbb59, 0xbb5a, 0xbb5b,
    +    0xbb5c, 0xbb5d, 0xbb5e, 0xbb5f, 0xbb60, 0xbb61, 0xbb62, 0xbb63,
    +    0xbb64, 0xbb65, 0xbb66, 0xbb67, 0xbb68, 0xbb69, 0xbb6a, 0xbb6b,
    +    0xbb6c, 0xbb6d, 0xbb6e, 0xc3d7, 0xd9e1, 0xbb6f, 0xbb70, 0xbb71,
    +    0xbb72, 0xbb73, 0xbb74, 0xc0e0, 0xf4cc, 0xd7d1, 0xbb75, 0xbb76,
    +    0xbb77, 0xbb78, 0xbb79, 0xbb7a, 0xbb7b, 0xbb7c, 0xbb7d, 0xbb7e,
    +    0xbb80, 0xb7db, 0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86,
    +    0xbb87, 0xf4ce, 0xc1a3, 0xbb88, 0xbb89, 0xc6c9, 0xbb8a, 0xb4d6,
    +    0xd5b3, 0xbb8b, 0xbb8c, 0xbb8d, 0xf4d0, 0xf4cf, 0xf4d1, 0xcbda,
    +    0xbb8e, 0xbb8f, 0xf4d2, 0xbb90, 0xd4c1, 0xd6e0, 0xbb91, 0xbb92,
    +    0xbb93, 0xbb94, 0xb7e0, 0xbb95, 0xbb96, 0xbb97, 0xc1b8, 0xbb98,
    +    0xbb99, 0xc1bb, 0xf4d3, 0xbeac, 0xbb9a, 0xbb9b, 0xbb9c, 0xbb9d,
    +    0xbb9e, 0xb4e2, 0xbb9f, 0xbba0, 0xf4d4, 0xf4d5, 0xbeab, 0xbc40,
    +    0xbc41, 0xf4d6, 0xbc42, 0xbc43, 0xbc44, 0xf4db, 0xbc45, 0xf4d7,
    +    0xf4da, 0xbc46, 0xbafd, 0xbc47, 0xf4d8, 0xf4d9, 0xbc48, 0xbc49,
    +    0xbc4a, 0xbc4b, 0xbc4c, 0xbc4d, 0xbc4e, 0xb8e2, 0xccc7, 0xf4dc,
    +    0xbc4f, 0xb2da, 0xbc50, 0xbc51, 0xc3d3, 0xbc52, 0xbc53, 0xd4e3,
    +    0xbfb7, 0xbc54, 0xbc55, 0xbc56, 0xbc57, 0xbc58, 0xbc59, 0xbc5a,
    +    0xf4dd, 0xbc5b, 0xbc5c, 0xbc5d, 0xbc5e, 0xbc5f, 0xbc60, 0xc5b4,
    +    0xbc61, 0xbc62, 0xbc63, 0xbc64, 0xbc65, 0xbc66, 0xbc67, 0xbc68,
    +    0xf4e9, 0xbc69, 0xbc6a, 0xcfb5, 0xbc6b, 0xbc6c, 0xbc6d, 0xbc6e,
    +    /* 0x7d00 .. 0x7dff */
    +    0xbc6f, 0xbc70, 0xbc71, 0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76,
    +    0xbc77, 0xbc78, 0xcec9, 0xbc79, 0xbc7a, 0xbc7b, 0xbc7c, 0xbc7d,
    +    0xbc7e, 0xbc80, 0xbc81, 0xbc82, 0xbc83, 0xbc84, 0xbc85, 0xbc86,
    +    0xbc87, 0xbc88, 0xbc89, 0xbc8a, 0xbc8b, 0xbc8c, 0xbc8d, 0xbc8e,
    +    0xcbd8, 0xbc8f, 0xcbf7, 0xbc90, 0xbc91, 0xbc92, 0xbc93, 0xbdf4,
    +    0xbc94, 0xbc95, 0xbc96, 0xd7cf, 0xbc97, 0xbc98, 0xbc99, 0xc0db,
    +    0xbc9a, 0xbc9b, 0xbc9c, 0xbc9d, 0xbc9e, 0xbc9f, 0xbca0, 0xbd40,
    +    0xbd41, 0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd48,
    +    0xbd49, 0xbd4a, 0xbd4b, 0xbd4c, 0xbd4d, 0xbd4e, 0xbd4f, 0xbd50,
    +    0xbd51, 0xbd52, 0xbd53, 0xbd54, 0xbd55, 0xbd56, 0xbd57, 0xbd58,
    +    0xbd59, 0xbd5a, 0xbd5b, 0xbd5c, 0xbd5d, 0xbd5e, 0xbd5f, 0xbd60,
    +    0xbd61, 0xbd62, 0xbd63, 0xbd64, 0xbd65, 0xbd66, 0xbd67, 0xbd68,
    +    0xbd69, 0xbd6a, 0xbd6b, 0xbd6c, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70,
    +    0xbd71, 0xbd72, 0xbd73, 0xbd74, 0xbd75, 0xbd76, 0xd0f5, 0xbd77,
    +    0xbd78, 0xbd79, 0xbd7a, 0xbd7b, 0xbd7c, 0xbd7d, 0xbd7e, 0xf4ea,
    +    0xbd80, 0xbd81, 0xbd82, 0xbd83, 0xbd84, 0xbd85, 0xbd86, 0xbd87,
    +    0xbd88, 0xbd89, 0xbd8a, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f,
    +    0xbd90, 0xbd91, 0xbd92, 0xbd93, 0xbd94, 0xbd95, 0xbd96, 0xbd97,
    +    0xbd98, 0xbd99, 0xbd9a, 0xbd9b, 0xbd9c, 0xbd9d, 0xbd9e, 0xbd9f,
    +    0xbda0, 0xbe40, 0xbe41, 0xbe42, 0xbe43, 0xbe44, 0xbe45, 0xbe46,
    +    0xbe47, 0xbe48, 0xbe49, 0xbe4a, 0xbe4b, 0xbe4c, 0xf4eb, 0xbe4d,
    +    0xbe4e, 0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53, 0xf4ec, 0xbe54,
    +    0xbe55, 0xbe56, 0xbe57, 0xbe58, 0xbe59, 0xbe5a, 0xbe5b, 0xbe5c,
    +    0xbe5d, 0xbe5e, 0xbe5f, 0xbe60, 0xbe61, 0xbe62, 0xbe63, 0xbe64,
    +    0xbe65, 0xbe66, 0xbe67, 0xbe68, 0xbe69, 0xbe6a, 0xbe6b, 0xbe6c,
    +    0xbe6d, 0xbe6e, 0xbe6f, 0xbe70, 0xbe71, 0xbe72, 0xbe73, 0xbe74,
    +    0xbe75, 0xbe76, 0xbe77, 0xbe78, 0xbe79, 0xbe7a, 0xbe7b, 0xbe7c,
    +    0xbe7d, 0xbe7e, 0xbe80, 0xbe81, 0xbe82, 0xbe83, 0xbe84, 0xbe85,
    +    0xbe86, 0xbe87, 0xbe88, 0xbe89, 0xbe8a, 0xbe8b, 0xbe8c, 0xbe8d,
    +    0xbe8e, 0xbe8f, 0xbe90, 0xbe91, 0xbe92, 0xbe93, 0xbe94, 0xbe95,
    +    0xbe96, 0xbe97, 0xbe98, 0xbe99, 0xbe9a, 0xbe9b, 0xbe9c, 0xbe9d,
    +    0xbe9e, 0xbe9f, 0xbea0, 0xbf40, 0xbf41, 0xbf42, 0xbf43, 0xbf44,
    +    /* 0x7e00 .. 0x7eff */
    +    0xbf45, 0xbf46, 0xbf47, 0xbf48, 0xbf49, 0xbf4a, 0xbf4b, 0xbf4c,
    +    0xbf4d, 0xbf4e, 0xbf4f, 0xbf50, 0xbf51, 0xbf52, 0xbf53, 0xbf54,
    +    0xbf55, 0xbf56, 0xbf57, 0xbf58, 0xbf59, 0xbf5a, 0xbf5b, 0xbf5c,
    +    0xbf5d, 0xbf5e, 0xbf5f, 0xbf60, 0xbf61, 0xbf62, 0xbf63, 0xbf64,
    +    0xbf65, 0xbf66, 0xbf67, 0xbf68, 0xbf69, 0xbf6a, 0xbf6b, 0xbf6c,
    +    0xbf6d, 0xbf6e, 0xbf6f, 0xbf70, 0xbf71, 0xbf72, 0xbf73, 0xbf74,
    +    0xbf75, 0xbf76, 0xbf77, 0xbf78, 0xbf79, 0xbf7a, 0xbf7b, 0xbf7c,
    +    0xbf7d, 0xbf7e, 0xbf80, 0xf7e3, 0xbf81, 0xbf82, 0xbf83, 0xbf84,
    +    0xbf85, 0xb7b1, 0xbf86, 0xbf87, 0xbf88, 0xbf89, 0xbf8a, 0xf4ed,
    +    0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90, 0xbf91, 0xbf92,
    +    0xbf93, 0xbf94, 0xbf95, 0xbf96, 0xbf97, 0xbf98, 0xbf99, 0xbf9a,
    +    0xbf9b, 0xbf9c, 0xbf9d, 0xbf9e, 0xbf9f, 0xbfa0, 0xc040, 0xc041,
    +    0xc042, 0xc043, 0xc044, 0xc045, 0xc046, 0xc047, 0xc048, 0xc049,
    +    0xc04a, 0xc04b, 0xc04c, 0xc04d, 0xc04e, 0xc04f, 0xc050, 0xc051,
    +    0xc052, 0xc053, 0xc054, 0xc055, 0xc056, 0xc057, 0xc058, 0xc059,
    +    0xc05a, 0xc05b, 0xc05c, 0xc05d, 0xc05e, 0xc05f, 0xc060, 0xc061,
    +    0xc062, 0xc063, 0xd7eb, 0xc064, 0xc065, 0xc066, 0xc067, 0xc068,
    +    0xc069, 0xc06a, 0xc06b, 0xc06c, 0xc06d, 0xc06e, 0xc06f, 0xc070,
    +    0xc071, 0xc072, 0xc073, 0xc074, 0xc075, 0xc076, 0xc077, 0xc078,
    +    0xc079, 0xc07a, 0xc07b, 0xf4ee, 0xc07c, 0xc07d, 0xc07e, 0xe6f9,
    +    0xbec0, 0xe6fa, 0xbaec, 0xe6fb, 0xcfcb, 0xe6fc, 0xd4bc, 0xbcb6,
    +    0xe6fd, 0xe6fe, 0xbccd, 0xc8d2, 0xceb3, 0xe7a1, 0xc080, 0xb4bf,
    +    0xe7a2, 0xc9b4, 0xb8d9, 0xc4c9, 0xc081, 0xd7dd, 0xc2da, 0xb7d7,
    +    0xd6bd, 0xcec6, 0xb7c4, 0xc082, 0xc083, 0xc5a6, 0xe7a3, 0xcfdf,
    +    0xe7a4, 0xe7a5, 0xe7a6, 0xc1b7, 0xd7e9, 0xc9f0, 0xcfb8, 0xd6af,
    +    0xd6d5, 0xe7a7, 0xb0ed, 0xe7a8, 0xe7a9, 0xc9dc, 0xd2ef, 0xbead,
    +    0xe7aa, 0xb0f3, 0xc8de, 0xbde1, 0xe7ab, 0xc8c6, 0xc084, 0xe7ac,
    +    0xbbe6, 0xb8f8, 0xd1a4, 0xe7ad, 0xc2e7, 0xbef8, 0xbdca, 0xcdb3,
    +    0xe7ae, 0xe7af, 0xbeee, 0xd0e5, 0xc085, 0xcbe7, 0xccd0, 0xbccc,
    +    0xe7b0, 0xbca8, 0xd0f7, 0xe7b1, 0xc086, 0xd0f8, 0xe7b2, 0xe7b3,
    +    0xb4c2, 0xe7b4, 0xe7b5, 0xc9fe, 0xceac, 0xc3e0, 0xe7b7, 0xb1c1,
    +    0xb3f1, 0xc087, 0xe7b8, 0xe7b9, 0xd7db, 0xd5c0, 0xe7ba, 0xc2cc,
    +    /* 0x7f00 .. 0x7fff */
    +    0xd7ba, 0xe7bb, 0xe7bc, 0xe7bd, 0xbcea, 0xc3e5, 0xc0c2, 0xe7be,
    +    0xe7bf, 0xbca9, 0xc088, 0xe7c0, 0xe7c1, 0xe7b6, 0xb6d0, 0xe7c2,
    +    0xc089, 0xe7c3, 0xe7c4, 0xbbba, 0xb5de, 0xc2c6, 0xb1e0, 0xe7c5,
    +    0xd4b5, 0xe7c6, 0xb8bf, 0xe7c8, 0xe7c7, 0xb7ec, 0xc08a, 0xe7c9,
    +    0xb2f8, 0xe7ca, 0xe7cb, 0xe7cc, 0xe7cd, 0xe7ce, 0xe7cf, 0xe7d0,
    +    0xd3a7, 0xcbf5, 0xe7d1, 0xe7d2, 0xe7d3, 0xe7d4, 0xc9c9, 0xe7d5,
    +    0xe7d6, 0xe7d7, 0xe7d8, 0xe7d9, 0xbdc9, 0xe7da, 0xf3be, 0xc08b,
    +    0xb8d7, 0xc08c, 0xc8b1, 0xc08d, 0xc08e, 0xc08f, 0xc090, 0xc091,
    +    0xc092, 0xc093, 0xf3bf, 0xc094, 0xf3c0, 0xf3c1, 0xc095, 0xc096,
    +    0xc097, 0xc098, 0xc099, 0xc09a, 0xc09b, 0xc09c, 0xc09d, 0xc09e,
    +    0xb9de, 0xcdf8, 0xc09f, 0xc0a0, 0xd8e8, 0xbab1, 0xc140, 0xc2de,
    +    0xeeb7, 0xc141, 0xb7a3, 0xc142, 0xc143, 0xc144, 0xc145, 0xeeb9,
    +    0xc146, 0xeeb8, 0xb0d5, 0xc147, 0xc148, 0xc149, 0xc14a, 0xc14b,
    +    0xeebb, 0xd5d6, 0xd7ef, 0xc14c, 0xc14d, 0xc14e, 0xd6c3, 0xc14f,
    +    0xc150, 0xeebd, 0xcaf0, 0xc151, 0xeebc, 0xc152, 0xc153, 0xc154,
    +    0xc155, 0xeebe, 0xc156, 0xc157, 0xc158, 0xc159, 0xeec0, 0xc15a,
    +    0xc15b, 0xeebf, 0xc15c, 0xc15d, 0xc15e, 0xc15f, 0xc160, 0xc161,
    +    0xc162, 0xc163, 0xd1f2, 0xc164, 0xc7bc, 0xc165, 0xc3c0, 0xc166,
    +    0xc167, 0xc168, 0xc169, 0xc16a, 0xb8e1, 0xc16b, 0xc16c, 0xc16d,
    +    0xc16e, 0xc16f, 0xc1e7, 0xc170, 0xc171, 0xf4c6, 0xd0df, 0xf4c7,
    +    0xc172, 0xcfdb, 0xc173, 0xc174, 0xc8ba, 0xc175, 0xc176, 0xf4c8,
    +    0xc177, 0xc178, 0xc179, 0xc17a, 0xc17b, 0xc17c, 0xc17d, 0xf4c9,
    +    0xf4ca, 0xc17e, 0xf4cb, 0xc180, 0xc181, 0xc182, 0xc183, 0xc184,
    +    0xd9fa, 0xb8fe, 0xc185, 0xc186, 0xe5f1, 0xd3f0, 0xc187, 0xf4e0,
    +    0xc188, 0xcecc, 0xc189, 0xc18a, 0xc18b, 0xb3e1, 0xc18c, 0xc18d,
    +    0xc18e, 0xc18f, 0xf1b4, 0xc190, 0xd2ee, 0xc191, 0xf4e1, 0xc192,
    +    0xc193, 0xc194, 0xc195, 0xc196, 0xcfe8, 0xf4e2, 0xc197, 0xc198,
    +    0xc7cc, 0xc199, 0xc19a, 0xc19b, 0xc19c, 0xc19d, 0xc19e, 0xb5d4,
    +    0xb4e4, 0xf4e4, 0xc19f, 0xc1a0, 0xc240, 0xf4e3, 0xf4e5, 0xc241,
    +    0xc242, 0xf4e6, 0xc243, 0xc244, 0xc245, 0xc246, 0xf4e7, 0xc247,
    +    0xbab2, 0xb0bf, 0xc248, 0xf4e8, 0xc249, 0xc24a, 0xc24b, 0xc24c,
    +    0xc24d, 0xc24e, 0xc24f, 0xb7ad, 0xd2ed, 0xc250, 0xc251, 0xc252,
    +    /* 0x8000 .. 0x80ff */
    +    0xd2ab, 0xc0cf, 0xc253, 0xbfbc, 0xeba3, 0xd5df, 0xeac8, 0xc254,
    +    0xc255, 0xc256, 0xc257, 0xf1f3, 0xb6f8, 0xcba3, 0xc258, 0xc259,
    +    0xc4cd, 0xc25a, 0xf1e7, 0xc25b, 0xf1e8, 0xb8fb, 0xf1e9, 0xbac4,
    +    0xd4c5, 0xb0d2, 0xc25c, 0xc25d, 0xf1ea, 0xc25e, 0xc25f, 0xc260,
    +    0xf1eb, 0xc261, 0xf1ec, 0xc262, 0xc263, 0xf1ed, 0xf1ee, 0xf1ef,
    +    0xf1f1, 0xf1f0, 0xc5d5, 0xc264, 0xc265, 0xc266, 0xc267, 0xc268,
    +    0xc269, 0xf1f2, 0xc26a, 0xb6fa, 0xc26b, 0xf1f4, 0xd2ae, 0xdec7,
    +    0xcbca, 0xc26c, 0xc26d, 0xb3dc, 0xc26e, 0xb5a2, 0xc26f, 0xb9a2,
    +    0xc270, 0xc271, 0xc4f4, 0xf1f5, 0xc272, 0xc273, 0xf1f6, 0xc274,
    +    0xc275, 0xc276, 0xc1c4, 0xc1fb, 0xd6b0, 0xf1f7, 0xc277, 0xc278,
    +    0xc279, 0xc27a, 0xf1f8, 0xc27b, 0xc1aa, 0xc27c, 0xc27d, 0xc27e,
    +    0xc6b8, 0xc280, 0xbedb, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285,
    +    0xc286, 0xc287, 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d,
    +    0xc28e, 0xf1f9, 0xb4cf, 0xc28f, 0xc290, 0xc291, 0xc292, 0xc293,
    +    0xc294, 0xf1fa, 0xc295, 0xc296, 0xc297, 0xc298, 0xc299, 0xc29a,
    +    0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f, 0xc2a0, 0xc340, 0xedb2,
    +    0xedb1, 0xc341, 0xc342, 0xcbe0, 0xd2de, 0xc343, 0xcbc1, 0xd5d8,
    +    0xc344, 0xc8e2, 0xc345, 0xc0df, 0xbca1, 0xc346, 0xc347, 0xc348,
    +    0xc349, 0xc34a, 0xc34b, 0xebc1, 0xc34c, 0xc34d, 0xd0a4, 0xc34e,
    +    0xd6e2, 0xc34f, 0xb6c7, 0xb8d8, 0xebc0, 0xb8ce, 0xc350, 0xebbf,
    +    0xb3a6, 0xb9c9, 0xd6ab, 0xc351, 0xb7f4, 0xb7ca, 0xc352, 0xc353,
    +    0xc354, 0xbce7, 0xb7be, 0xebc6, 0xc355, 0xebc7, 0xb0b9, 0xbfcf,
    +    0xc356, 0xebc5, 0xd3fd, 0xc357, 0xebc8, 0xc358, 0xc359, 0xebc9,
    +    0xc35a, 0xc35b, 0xb7ce, 0xc35c, 0xebc2, 0xebc4, 0xc9f6, 0xd6d7,
    +    0xd5cd, 0xd0b2, 0xebcf, 0xceb8, 0xebd0, 0xc35d, 0xb5a8, 0xc35e,
    +    0xc35f, 0xc360, 0xc361, 0xc362, 0xb1b3, 0xebd2, 0xcca5, 0xc363,
    +    0xc364, 0xc365, 0xc366, 0xc367, 0xc368, 0xc369, 0xc5d6, 0xebd3,
    +    0xc36a, 0xebd1, 0xc5df, 0xebce, 0xcaa4, 0xebd5, 0xb0fb, 0xc36b,
    +    0xc36c, 0xbafa, 0xc36d, 0xc36e, 0xd8b7, 0xf1e3, 0xc36f, 0xebca,
    +    0xebcb, 0xebcc, 0xebcd, 0xebd6, 0xe6c0, 0xebd9, 0xc370, 0xbfe8,
    +    0xd2c8, 0xebd7, 0xebdc, 0xb8ec, 0xebd8, 0xc371, 0xbdba, 0xc372,
    +    0xd0d8, 0xc373, 0xb0b7, 0xc374, 0xebdd, 0xc4dc, 0xc375, 0xc376,
    +    /* 0x8100 .. 0x81ff */
    +    0xc377, 0xc378, 0xd6ac, 0xc379, 0xc37a, 0xc37b, 0xb4e0, 0xc37c,
    +    0xc37d, 0xc2f6, 0xbcb9, 0xc37e, 0xc380, 0xebda, 0xebdb, 0xd4e0,
    +    0xc6ea, 0xc4d4, 0xebdf, 0xc5a7, 0xd9f5, 0xc381, 0xb2b1, 0xc382,
    +    0xebe4, 0xc383, 0xbdc5, 0xc384, 0xc385, 0xc386, 0xebe2, 0xc387,
    +    0xc388, 0xc389, 0xc38a, 0xc38b, 0xc38c, 0xc38d, 0xc38e, 0xc38f,
    +    0xc390, 0xc391, 0xc392, 0xc393, 0xebe3, 0xc394, 0xc395, 0xb8ac,
    +    0xc396, 0xcdd1, 0xebe5, 0xc397, 0xc398, 0xc399, 0xebe1, 0xc39a,
    +    0xc1b3, 0xc39b, 0xc39c, 0xc39d, 0xc39e, 0xc39f, 0xc6a2, 0xc3a0,
    +    0xc440, 0xc441, 0xc442, 0xc443, 0xc444, 0xc445, 0xccf3, 0xc446,
    +    0xebe6, 0xc447, 0xc0b0, 0xd2b8, 0xebe7, 0xc448, 0xc449, 0xc44a,
    +    0xb8af, 0xb8ad, 0xc44b, 0xebe8, 0xc7bb, 0xcdf3, 0xc44c, 0xc44d,
    +    0xc44e, 0xebea, 0xebeb, 0xc44f, 0xc450, 0xc451, 0xc452, 0xc453,
    +    0xebed, 0xc454, 0xc455, 0xc456, 0xc457, 0xd0c8, 0xc458, 0xebf2,
    +    0xc459, 0xebee, 0xc45a, 0xc45b, 0xc45c, 0xebf1, 0xc8f9, 0xc45d,
    +    0xd1fc, 0xebec, 0xc45e, 0xc45f, 0xebe9, 0xc460, 0xc461, 0xc462,
    +    0xc463, 0xb8b9, 0xcfd9, 0xc4e5, 0xebef, 0xebf0, 0xccda, 0xcdc8,
    +    0xb0f2, 0xc464, 0xebf6, 0xc465, 0xc466, 0xc467, 0xc468, 0xc469,
    +    0xebf5, 0xc46a, 0xb2b2, 0xc46b, 0xc46c, 0xc46d, 0xc46e, 0xb8e0,
    +    0xc46f, 0xebf7, 0xc470, 0xc471, 0xc472, 0xc473, 0xc474, 0xc475,
    +    0xb1ec, 0xc476, 0xc477, 0xccc5, 0xc4a4, 0xcfa5, 0xc478, 0xc479,
    +    0xc47a, 0xc47b, 0xc47c, 0xebf9, 0xc47d, 0xc47e, 0xeca2, 0xc480,
    +    0xc5f2, 0xc481, 0xebfa, 0xc482, 0xc483, 0xc484, 0xc485, 0xc486,
    +    0xc487, 0xc488, 0xc489, 0xc9c5, 0xc48a, 0xc48b, 0xc48c, 0xc48d,
    +    0xc48e, 0xc48f, 0xe2df, 0xebfe, 0xc490, 0xc491, 0xc492, 0xc493,
    +    0xcdce, 0xeca1, 0xb1db, 0xd3b7, 0xc494, 0xc495, 0xd2dc, 0xc496,
    +    0xc497, 0xc498, 0xebfd, 0xc499, 0xebfb, 0xc49a, 0xc49b, 0xc49c,
    +    0xc49d, 0xc49e, 0xc49f, 0xc4a0, 0xc540, 0xc541, 0xc542, 0xc543,
    +    0xc544, 0xc545, 0xc546, 0xc547, 0xc548, 0xc549, 0xc54a, 0xc54b,
    +    0xc54c, 0xc54d, 0xc54e, 0xb3bc, 0xc54f, 0xc550, 0xc551, 0xeab0,
    +    0xc552, 0xc553, 0xd7d4, 0xc554, 0xf4ab, 0xb3f4, 0xc555, 0xc556,
    +    0xc557, 0xc558, 0xc559, 0xd6c1, 0xd6c2, 0xc55a, 0xc55b, 0xc55c,
    +    0xc55d, 0xc55e, 0xc55f, 0xd5e9, 0xbeca, 0xc560, 0xf4a7, 0xc561,
    +    /* 0x8200 .. 0x82ff */
    +    0xd2a8, 0xf4a8, 0xf4a9, 0xc562, 0xf4aa, 0xbecb, 0xd3df, 0xc563,
    +    0xc564, 0xc565, 0xc566, 0xc567, 0xc9e0, 0xc9e1, 0xc568, 0xc569,
    +    0xf3c2, 0xc56a, 0xcae6, 0xc56b, 0xccf2, 0xc56c, 0xc56d, 0xc56e,
    +    0xc56f, 0xc570, 0xc571, 0xe2b6, 0xcbb4, 0xc572, 0xcee8, 0xd6db,
    +    0xc573, 0xf4ad, 0xf4ae, 0xf4af, 0xc574, 0xc575, 0xc576, 0xc577,
    +    0xf4b2, 0xc578, 0xbabd, 0xf4b3, 0xb0e3, 0xf4b0, 0xc579, 0xf4b1,
    +    0xbda2, 0xb2d5, 0xc57a, 0xf4b6, 0xf4b7, 0xb6e6, 0xb2b0, 0xcfcf,
    +    0xf4b4, 0xb4ac, 0xc57b, 0xf4b5, 0xc57c, 0xc57d, 0xf4b8, 0xc57e,
    +    0xc580, 0xc581, 0xc582, 0xc583, 0xf4b9, 0xc584, 0xc585, 0xcda7,
    +    0xc586, 0xf4ba, 0xc587, 0xf4bb, 0xc588, 0xc589, 0xc58a, 0xf4bc,
    +    0xc58b, 0xc58c, 0xc58d, 0xc58e, 0xc58f, 0xc590, 0xc591, 0xc592,
    +    0xcbd2, 0xc593, 0xf4bd, 0xc594, 0xc595, 0xc596, 0xc597, 0xf4be,
    +    0xc598, 0xc599, 0xc59a, 0xc59b, 0xc59c, 0xc59d, 0xc59e, 0xc59f,
    +    0xf4bf, 0xc5a0, 0xc640, 0xc641, 0xc642, 0xc643, 0xf4de, 0xc1bc,
    +    0xbce8, 0xc644, 0xc9ab, 0xd1de, 0xe5f5, 0xc645, 0xc646, 0xc647,
    +    0xc648, 0xdcb3, 0xd2d5, 0xc649, 0xc64a, 0xdcb4, 0xb0ac, 0xdcb5,
    +    0xc64b, 0xc64c, 0xbdda, 0xc64d, 0xdcb9, 0xc64e, 0xc64f, 0xc650,
    +    0xd8c2, 0xc651, 0xdcb7, 0xd3f3, 0xc652, 0xc9d6, 0xdcba, 0xdcb6,
    +    0xc653, 0xdcbb, 0xc3a2, 0xc654, 0xc655, 0xc656, 0xc657, 0xdcbc,
    +    0xdcc5, 0xdcbd, 0xc658, 0xc659, 0xcedf, 0xd6a5, 0xc65a, 0xdccf,
    +    0xc65b, 0xdccd, 0xc65c, 0xc65d, 0xdcd2, 0xbde6, 0xc2ab, 0xc65e,
    +    0xdcb8, 0xdccb, 0xdcce, 0xdcbe, 0xb7d2, 0xb0c5, 0xdcc7, 0xd0be,
    +    0xdcc1, 0xbba8, 0xc65f, 0xb7bc, 0xdccc, 0xc660, 0xc661, 0xdcc6,
    +    0xdcbf, 0xc7db, 0xc662, 0xc663, 0xc664, 0xd1bf, 0xdcc0, 0xc665,
    +    0xc666, 0xdcca, 0xc667, 0xc668, 0xdcd0, 0xc669, 0xc66a, 0xcead,
    +    0xdcc2, 0xc66b, 0xdcc3, 0xdcc8, 0xdcc9, 0xb2d4, 0xdcd1, 0xcbd5,
    +    0xc66c, 0xd4b7, 0xdcdb, 0xdcdf, 0xcca6, 0xdce6, 0xc66d, 0xc3e7,
    +    0xdcdc, 0xc66e, 0xc66f, 0xbfc1, 0xdcd9, 0xc670, 0xb0fa, 0xb9b6,
    +    0xdce5, 0xdcd3, 0xc671, 0xdcc4, 0xdcd6, 0xc8f4, 0xbfe0, 0xc672,
    +    0xc673, 0xc674, 0xc675, 0xc9bb, 0xc676, 0xc677, 0xc678, 0xb1bd,
    +    0xc679, 0xd3a2, 0xc67a, 0xc67b, 0xdcda, 0xc67c, 0xc67d, 0xdcd5,
    +    0xc67e, 0xc6bb, 0xc680, 0xdcde, 0xc681, 0xc682, 0xc683, 0xc684,
    +    /* 0x8300 .. 0x83ff */
    +    0xc685, 0xd7c2, 0xc3af, 0xb7b6, 0xc7d1, 0xc3a9, 0xdce2, 0xdcd8,
    +    0xdceb, 0xdcd4, 0xc686, 0xc687, 0xdcdd, 0xc688, 0xbea5, 0xdcd7,
    +    0xc689, 0xdce0, 0xc68a, 0xc68b, 0xdce3, 0xdce4, 0xc68c, 0xdcf8,
    +    0xc68d, 0xc68e, 0xdce1, 0xdda2, 0xdce7, 0xc68f, 0xc690, 0xc691,
    +    0xc692, 0xc693, 0xc694, 0xc695, 0xc696, 0xc697, 0xc698, 0xbceb,
    +    0xb4c4, 0xc699, 0xc69a, 0xc3a3, 0xb2e7, 0xdcfa, 0xc69b, 0xdcf2,
    +    0xc69c, 0xdcef, 0xc69d, 0xdcfc, 0xdcee, 0xd2f0, 0xb2e8, 0xc69e,
    +    0xc8d7, 0xc8e3, 0xdcfb, 0xc69f, 0xdced, 0xc6a0, 0xc740, 0xc741,
    +    0xdcf7, 0xc742, 0xc743, 0xdcf5, 0xc744, 0xc745, 0xbea3, 0xdcf4,
    +    0xc746, 0xb2dd, 0xc747, 0xc748, 0xc749, 0xc74a, 0xc74b, 0xdcf3,
    +    0xbcf6, 0xdce8, 0xbbc4, 0xc74c, 0xc0f3, 0xc74d, 0xc74e, 0xc74f,
    +    0xc750, 0xc751, 0xbcd4, 0xdce9, 0xdcea, 0xc752, 0xdcf1, 0xdcf6,
    +    0xdcf9, 0xb5b4, 0xc753, 0xc8d9, 0xbbe7, 0xdcfe, 0xdcfd, 0xd3ab,
    +    0xdda1, 0xdda3, 0xdda5, 0xd2f1, 0xdda4, 0xdda6, 0xdda7, 0xd2a9,
    +    0xc754, 0xc755, 0xc756, 0xc757, 0xc758, 0xc759, 0xc75a, 0xbac9,
    +    0xdda9, 0xc75b, 0xc75c, 0xddb6, 0xddb1, 0xddb4, 0xc75d, 0xc75e,
    +    0xc75f, 0xc760, 0xc761, 0xc762, 0xc763, 0xddb0, 0xc6ce, 0xc764,
    +    0xc765, 0xc0f2, 0xc766, 0xc767, 0xc768, 0xc769, 0xc9af, 0xc76a,
    +    0xc76b, 0xc76c, 0xdcec, 0xddae, 0xc76d, 0xc76e, 0xc76f, 0xc770,
    +    0xddb7, 0xc771, 0xc772, 0xdcf0, 0xddaf, 0xc773, 0xddb8, 0xc774,
    +    0xddac, 0xc775, 0xc776, 0xc777, 0xc778, 0xc779, 0xc77a, 0xc77b,
    +    0xddb9, 0xddb3, 0xddad, 0xc4aa, 0xc77c, 0xc77d, 0xc77e, 0xc780,
    +    0xdda8, 0xc0b3, 0xc1ab, 0xddaa, 0xddab, 0xc781, 0xddb2, 0xbbf1,
    +    0xddb5, 0xd3a8, 0xddba, 0xc782, 0xddbb, 0xc3a7, 0xc783, 0xc784,
    +    0xddd2, 0xddbc, 0xc785, 0xc786, 0xc787, 0xddd1, 0xc788, 0xb9bd,
    +    0xc789, 0xc78a, 0xbed5, 0xc78b, 0xbefa, 0xc78c, 0xc78d, 0xbaca,
    +    0xc78e, 0xc78f, 0xc790, 0xc791, 0xddca, 0xc792, 0xddc5, 0xc793,
    +    0xddbf, 0xc794, 0xc795, 0xc796, 0xb2cb, 0xddc3, 0xc797, 0xddcb,
    +    0xb2a4, 0xddd5, 0xc798, 0xc799, 0xc79a, 0xddbe, 0xc79b, 0xc79c,
    +    0xc79d, 0xc6d0, 0xddd0, 0xc79e, 0xc79f, 0xc7a0, 0xc840, 0xc841,
    +    0xddd4, 0xc1e2, 0xb7c6, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846,
    +    0xddce, 0xddcf, 0xc847, 0xc848, 0xc849, 0xddc4, 0xc84a, 0xc84b,
    +    /* 0x8400 .. 0x84ff */
    +    0xc84c, 0xddbd, 0xc84d, 0xddcd, 0xccd1, 0xc84e, 0xddc9, 0xc84f,
    +    0xc850, 0xc851, 0xc852, 0xddc2, 0xc3c8, 0xc6bc, 0xceae, 0xddcc,
    +    0xc853, 0xddc8, 0xc854, 0xc855, 0xc856, 0xc857, 0xc858, 0xc859,
    +    0xddc1, 0xc85a, 0xc85b, 0xc85c, 0xddc6, 0xc2dc, 0xc85d, 0xc85e,
    +    0xc85f, 0xc860, 0xc861, 0xc862, 0xd3a9, 0xd3aa, 0xddd3, 0xcff4,
    +    0xc8f8, 0xc863, 0xc864, 0xc865, 0xc866, 0xc867, 0xc868, 0xc869,
    +    0xc86a, 0xdde6, 0xc86b, 0xc86c, 0xc86d, 0xc86e, 0xc86f, 0xc870,
    +    0xddc7, 0xc871, 0xc872, 0xc873, 0xdde0, 0xc2e4, 0xc874, 0xc875,
    +    0xc876, 0xc877, 0xc878, 0xc879, 0xc87a, 0xc87b, 0xdde1, 0xc87c,
    +    0xc87d, 0xc87e, 0xc880, 0xc881, 0xc882, 0xc883, 0xc884, 0xc885,
    +    0xc886, 0xddd7, 0xc887, 0xc888, 0xc889, 0xc88a, 0xc88b, 0xd6f8,
    +    0xc88c, 0xddd9, 0xddd8, 0xb8f0, 0xddd6, 0xc88d, 0xc88e, 0xc88f,
    +    0xc890, 0xc6cf, 0xc891, 0xb6ad, 0xc892, 0xc893, 0xc894, 0xc895,
    +    0xc896, 0xdde2, 0xc897, 0xbaf9, 0xd4e1, 0xdde7, 0xc898, 0xc899,
    +    0xc89a, 0xb4d0, 0xc89b, 0xddda, 0xc89c, 0xbffb, 0xdde3, 0xc89d,
    +    0xdddf, 0xc89e, 0xdddd, 0xc89f, 0xc8a0, 0xc940, 0xc941, 0xc942,
    +    0xc943, 0xc944, 0xb5d9, 0xc945, 0xc946, 0xc947, 0xc948, 0xdddb,
    +    0xdddc, 0xddde, 0xc949, 0xbdaf, 0xdde4, 0xc94a, 0xdde5, 0xc94b,
    +    0xc94c, 0xc94d, 0xc94e, 0xc94f, 0xc950, 0xc951, 0xc952, 0xddf5,
    +    0xc953, 0xc3c9, 0xc954, 0xc955, 0xcbe2, 0xc956, 0xc957, 0xc958,
    +    0xc959, 0xddf2, 0xc95a, 0xc95b, 0xc95c, 0xc95d, 0xc95e, 0xc95f,
    +    0xc960, 0xc961, 0xc962, 0xc963, 0xc964, 0xc965, 0xc966, 0xd8e1,
    +    0xc967, 0xc968, 0xc6d1, 0xc969, 0xddf4, 0xc96a, 0xc96b, 0xc96c,
    +    0xd5f4, 0xddf3, 0xddf0, 0xc96d, 0xc96e, 0xddec, 0xc96f, 0xddef,
    +    0xc970, 0xdde8, 0xc971, 0xc972, 0xd0ee, 0xc973, 0xc974, 0xc975,
    +    0xc976, 0xc8d8, 0xddee, 0xc977, 0xc978, 0xdde9, 0xc979, 0xc97a,
    +    0xddea, 0xcbf2, 0xc97b, 0xdded, 0xc97c, 0xc97d, 0xb1cd, 0xc97e,
    +    0xc980, 0xc981, 0xc982, 0xc983, 0xc984, 0xc0b6, 0xc985, 0xbcbb,
    +    0xddf1, 0xc986, 0xc987, 0xddf7, 0xc988, 0xddf6, 0xddeb, 0xc989,
    +    0xc98a, 0xc98b, 0xc98c, 0xc98d, 0xc5ee, 0xc98e, 0xc98f, 0xc990,
    +    0xddfb, 0xc991, 0xc992, 0xc993, 0xc994, 0xc995, 0xc996, 0xc997,
    +    0xc998, 0xc999, 0xc99a, 0xc99b, 0xdea4, 0xc99c, 0xc99d, 0xdea3,
    +    /* 0x8500 .. 0x85ff */
    +    0xc99e, 0xc99f, 0xc9a0, 0xca40, 0xca41, 0xca42, 0xca43, 0xca44,
    +    0xca45, 0xca46, 0xca47, 0xca48, 0xddf8, 0xca49, 0xca4a, 0xca4b,
    +    0xca4c, 0xc3ef, 0xca4d, 0xc2fb, 0xca4e, 0xca4f, 0xca50, 0xd5e1,
    +    0xca51, 0xca52, 0xceb5, 0xca53, 0xca54, 0xca55, 0xca56, 0xddfd,
    +    0xca57, 0xb2cc, 0xca58, 0xca59, 0xca5a, 0xca5b, 0xca5c, 0xca5d,
    +    0xca5e, 0xca5f, 0xca60, 0xc4e8, 0xcadf, 0xca61, 0xca62, 0xca63,
    +    0xca64, 0xca65, 0xca66, 0xca67, 0xca68, 0xca69, 0xca6a, 0xc7be,
    +    0xddfa, 0xddfc, 0xddfe, 0xdea2, 0xb0aa, 0xb1ce, 0xca6b, 0xca6c,
    +    0xca6d, 0xca6e, 0xca6f, 0xdeac, 0xca70, 0xca71, 0xca72, 0xca73,
    +    0xdea6, 0xbdb6, 0xc8ef, 0xca74, 0xca75, 0xca76, 0xca77, 0xca78,
    +    0xca79, 0xca7a, 0xca7b, 0xca7c, 0xca7d, 0xca7e, 0xdea1, 0xca80,
    +    0xca81, 0xdea5, 0xca82, 0xca83, 0xca84, 0xca85, 0xdea9, 0xca86,
    +    0xca87, 0xca88, 0xca89, 0xca8a, 0xdea8, 0xca8b, 0xca8c, 0xca8d,
    +    0xdea7, 0xca8e, 0xca8f, 0xca90, 0xca91, 0xca92, 0xca93, 0xca94,
    +    0xca95, 0xca96, 0xdead, 0xca97, 0xd4cc, 0xca98, 0xca99, 0xca9a,
    +    0xca9b, 0xdeb3, 0xdeaa, 0xdeae, 0xca9c, 0xca9d, 0xc0d9, 0xca9e,
    +    0xca9f, 0xcaa0, 0xcb40, 0xcb41, 0xb1a1, 0xdeb6, 0xcb42, 0xdeb1,
    +    0xcb43, 0xcb44, 0xcb45, 0xcb46, 0xcb47, 0xcb48, 0xcb49, 0xdeb2,
    +    0xcb4a, 0xcb4b, 0xcb4c, 0xcb4d, 0xcb4e, 0xcb4f, 0xcb50, 0xcb51,
    +    0xcb52, 0xcb53, 0xcb54, 0xd1a6, 0xdeb5, 0xcb55, 0xcb56, 0xcb57,
    +    0xcb58, 0xcb59, 0xcb5a, 0xcb5b, 0xdeaf, 0xcb5c, 0xcb5d, 0xcb5e,
    +    0xdeb0, 0xcb5f, 0xd0bd, 0xcb60, 0xcb61, 0xcb62, 0xdeb4, 0xcaed,
    +    0xdeb9, 0xcb63, 0xcb64, 0xcb65, 0xcb66, 0xcb67, 0xcb68, 0xdeb8,
    +    0xcb69, 0xdeb7, 0xcb6a, 0xcb6b, 0xcb6c, 0xcb6d, 0xcb6e, 0xcb6f,
    +    0xcb70, 0xdebb, 0xcb71, 0xcb72, 0xcb73, 0xcb74, 0xcb75, 0xcb76,
    +    0xcb77, 0xbde5, 0xcb78, 0xcb79, 0xcb7a, 0xcb7b, 0xcb7c, 0xb2d8,
    +    0xc3ea, 0xcb7d, 0xcb7e, 0xdeba, 0xcb80, 0xc5ba, 0xcb81, 0xcb82,
    +    0xcb83, 0xcb84, 0xcb85, 0xcb86, 0xdebc, 0xcb87, 0xcb88, 0xcb89,
    +    0xcb8a, 0xcb8b, 0xcb8c, 0xcb8d, 0xccd9, 0xcb8e, 0xcb8f, 0xcb90,
    +    0xcb91, 0xb7aa, 0xcb92, 0xcb93, 0xcb94, 0xcb95, 0xcb96, 0xcb97,
    +    0xcb98, 0xcb99, 0xcb9a, 0xcb9b, 0xcb9c, 0xcb9d, 0xcb9e, 0xcb9f,
    +    0xcba0, 0xcc40, 0xcc41, 0xd4e5, 0xcc42, 0xcc43, 0xcc44, 0xdebd,
    +    /* 0x8600 .. 0x86ff */
    +    0xcc45, 0xcc46, 0xcc47, 0xcc48, 0xcc49, 0xdebf, 0xcc4a, 0xcc4b,
    +    0xcc4c, 0xcc4d, 0xcc4e, 0xcc4f, 0xcc50, 0xcc51, 0xcc52, 0xcc53,
    +    0xcc54, 0xc4a2, 0xcc55, 0xcc56, 0xcc57, 0xcc58, 0xdec1, 0xcc59,
    +    0xcc5a, 0xcc5b, 0xcc5c, 0xcc5d, 0xcc5e, 0xcc5f, 0xcc60, 0xcc61,
    +    0xcc62, 0xcc63, 0xcc64, 0xcc65, 0xcc66, 0xcc67, 0xcc68, 0xdebe,
    +    0xcc69, 0xdec0, 0xcc6a, 0xcc6b, 0xcc6c, 0xcc6d, 0xcc6e, 0xcc6f,
    +    0xcc70, 0xcc71, 0xcc72, 0xcc73, 0xcc74, 0xcc75, 0xcc76, 0xcc77,
    +    0xd5ba, 0xcc78, 0xcc79, 0xcc7a, 0xdec2, 0xcc7b, 0xcc7c, 0xcc7d,
    +    0xcc7e, 0xcc80, 0xcc81, 0xcc82, 0xcc83, 0xcc84, 0xcc85, 0xcc86,
    +    0xcc87, 0xcc88, 0xcc89, 0xcc8a, 0xcc8b, 0xf2ae, 0xbba2, 0xc2b2,
    +    0xc5b0, 0xc2c7, 0xcc8c, 0xcc8d, 0xf2af, 0xcc8e, 0xcc8f, 0xcc90,
    +    0xcc91, 0xcc92, 0xd0e9, 0xcc93, 0xcc94, 0xcc95, 0xd3dd, 0xcc96,
    +    0xcc97, 0xcc98, 0xebbd, 0xcc99, 0xcc9a, 0xcc9b, 0xcc9c, 0xcc9d,
    +    0xcc9e, 0xcc9f, 0xcca0, 0xb3e6, 0xf2b0, 0xcd40, 0xf2b1, 0xcd41,
    +    0xcd42, 0xcaad, 0xcd43, 0xcd44, 0xcd45, 0xcd46, 0xcd47, 0xcd48,
    +    0xcd49, 0xbae7, 0xf2b3, 0xf2b5, 0xf2b4, 0xcbe4, 0xcfba, 0xf2b2,
    +    0xcab4, 0xd2cf, 0xc2ec, 0xcd4a, 0xcd4b, 0xcd4c, 0xcd4d, 0xcd4e,
    +    0xcd4f, 0xcd50, 0xcec3, 0xf2b8, 0xb0f6, 0xf2b7, 0xcd51, 0xcd52,
    +    0xcd53, 0xcd54, 0xcd55, 0xf2be, 0xcd56, 0xb2cf, 0xcd57, 0xcd58,
    +    0xcd59, 0xcd5a, 0xcd5b, 0xcd5c, 0xd1c1, 0xf2ba, 0xcd5d, 0xcd5e,
    +    0xcd5f, 0xcd60, 0xcd61, 0xf2bc, 0xd4e9, 0xcd62, 0xcd63, 0xf2bb,
    +    0xf2b6, 0xf2bf, 0xf2bd, 0xcd64, 0xf2b9, 0xcd65, 0xcd66, 0xf2c7,
    +    0xf2c4, 0xf2c6, 0xcd67, 0xcd68, 0xf2ca, 0xf2c2, 0xf2c0, 0xcd69,
    +    0xcd6a, 0xcd6b, 0xf2c5, 0xcd6c, 0xcd6d, 0xcd6e, 0xcd6f, 0xcd70,
    +    0xd6fb, 0xcd71, 0xcd72, 0xcd73, 0xf2c1, 0xcd74, 0xc7f9, 0xc9df,
    +    0xcd75, 0xf2c8, 0xb9c6, 0xb5b0, 0xcd76, 0xcd77, 0xf2c3, 0xf2c9,
    +    0xf2d0, 0xf2d6, 0xcd78, 0xcd79, 0xbbd7, 0xcd7a, 0xcd7b, 0xcd7c,
    +    0xf2d5, 0xcddc, 0xcd7d, 0xd6eb, 0xcd7e, 0xcd80, 0xf2d2, 0xf2d4,
    +    0xcd81, 0xcd82, 0xcd83, 0xcd84, 0xb8f2, 0xcd85, 0xcd86, 0xcd87,
    +    0xcd88, 0xf2cb, 0xcd89, 0xcd8a, 0xcd8b, 0xf2ce, 0xc2f9, 0xcd8c,
    +    0xd5dd, 0xf2cc, 0xf2cd, 0xf2cf, 0xf2d3, 0xcd8d, 0xcd8e, 0xcd8f,
    +    0xf2d9, 0xd3bc, 0xcd90, 0xcd91, 0xcd92, 0xcd93, 0xb6ea, 0xcd94,
    +    /* 0x8700 .. 0x87ff */
    +    0xcaf1, 0xcd95, 0xb7e4, 0xf2d7, 0xcd96, 0xcd97, 0xcd98, 0xf2d8,
    +    0xf2da, 0xf2dd, 0xf2db, 0xcd99, 0xcd9a, 0xf2dc, 0xcd9b, 0xcd9c,
    +    0xcd9d, 0xcd9e, 0xd1d1, 0xf2d1, 0xcd9f, 0xcdc9, 0xcda0, 0xcecf,
    +    0xd6a9, 0xce40, 0xf2e3, 0xce41, 0xc3db, 0xce42, 0xf2e0, 0xce43,
    +    0xce44, 0xc0af, 0xf2ec, 0xf2de, 0xce45, 0xf2e1, 0xce46, 0xce47,
    +    0xce48, 0xf2e8, 0xce49, 0xce4a, 0xce4b, 0xce4c, 0xf2e2, 0xce4d,
    +    0xce4e, 0xf2e7, 0xce4f, 0xce50, 0xf2e6, 0xce51, 0xce52, 0xf2e9,
    +    0xce53, 0xce54, 0xce55, 0xf2df, 0xce56, 0xce57, 0xf2e4, 0xf2ea,
    +    0xce58, 0xce59, 0xce5a, 0xce5b, 0xce5c, 0xce5d, 0xce5e, 0xd3ac,
    +    0xf2e5, 0xb2f5, 0xce5f, 0xce60, 0xf2f2, 0xce61, 0xd0ab, 0xce62,
    +    0xce63, 0xce64, 0xce65, 0xf2f5, 0xce66, 0xce67, 0xce68, 0xbbc8,
    +    0xce69, 0xf2f9, 0xce6a, 0xce6b, 0xce6c, 0xce6d, 0xce6e, 0xce6f,
    +    0xf2f0, 0xce70, 0xce71, 0xf2f6, 0xf2f8, 0xf2fa, 0xce72, 0xce73,
    +    0xce74, 0xce75, 0xce76, 0xce77, 0xce78, 0xce79, 0xf2f3, 0xce7a,
    +    0xf2f1, 0xce7b, 0xce7c, 0xce7d, 0xbafb, 0xce7e, 0xb5fb, 0xce80,
    +    0xce81, 0xce82, 0xce83, 0xf2ef, 0xf2f7, 0xf2ed, 0xf2ee, 0xce84,
    +    0xce85, 0xce86, 0xf2eb, 0xf3a6, 0xce87, 0xf3a3, 0xce88, 0xce89,
    +    0xf3a2, 0xce8a, 0xce8b, 0xf2f4, 0xce8c, 0xc8da, 0xce8d, 0xce8e,
    +    0xce8f, 0xce90, 0xce91, 0xf2fb, 0xce92, 0xce93, 0xce94, 0xf3a5,
    +    0xce95, 0xce96, 0xce97, 0xce98, 0xce99, 0xce9a, 0xce9b, 0xc3f8,
    +    0xce9c, 0xce9d, 0xce9e, 0xce9f, 0xcea0, 0xcf40, 0xcf41, 0xcf42,
    +    0xf2fd, 0xcf43, 0xcf44, 0xf3a7, 0xf3a9, 0xf3a4, 0xcf45, 0xf2fc,
    +    0xcf46, 0xcf47, 0xcf48, 0xf3ab, 0xcf49, 0xf3aa, 0xcf4a, 0xcf4b,
    +    0xcf4c, 0xcf4d, 0xc2dd, 0xcf4e, 0xcf4f, 0xf3ae, 0xcf50, 0xcf51,
    +    0xf3b0, 0xcf52, 0xcf53, 0xcf54, 0xcf55, 0xcf56, 0xf3a1, 0xcf57,
    +    0xcf58, 0xcf59, 0xf3b1, 0xf3ac, 0xcf5a, 0xcf5b, 0xcf5c, 0xcf5d,
    +    0xcf5e, 0xf3af, 0xf2fe, 0xf3ad, 0xcf5f, 0xcf60, 0xcf61, 0xcf62,
    +    0xcf63, 0xcf64, 0xcf65, 0xf3b2, 0xcf66, 0xcf67, 0xcf68, 0xcf69,
    +    0xf3b4, 0xcf6a, 0xcf6b, 0xcf6c, 0xcf6d, 0xf3a8, 0xcf6e, 0xcf6f,
    +    0xcf70, 0xcf71, 0xf3b3, 0xcf72, 0xcf73, 0xcf74, 0xf3b5, 0xcf75,
    +    0xcf76, 0xcf77, 0xcf78, 0xcf79, 0xcf7a, 0xcf7b, 0xcf7c, 0xcf7d,
    +    0xcf7e, 0xd0b7, 0xcf80, 0xcf81, 0xcf82, 0xcf83, 0xf3b8, 0xcf84,
    +    /* 0x8800 .. 0x88ff */
    +    0xcf85, 0xcf86, 0xcf87, 0xd9f9, 0xcf88, 0xcf89, 0xcf8a, 0xcf8b,
    +    0xcf8c, 0xcf8d, 0xf3b9, 0xcf8e, 0xcf8f, 0xcf90, 0xcf91, 0xcf92,
    +    0xcf93, 0xcf94, 0xcf95, 0xf3b7, 0xcf96, 0xc8e4, 0xf3b6, 0xcf97,
    +    0xcf98, 0xcf99, 0xcf9a, 0xf3ba, 0xcf9b, 0xcf9c, 0xcf9d, 0xcf9e,
    +    0xcf9f, 0xf3bb, 0xb4c0, 0xcfa0, 0xd040, 0xd041, 0xd042, 0xd043,
    +    0xd044, 0xd045, 0xd046, 0xd047, 0xd048, 0xd049, 0xd04a, 0xd04b,
    +    0xd04c, 0xd04d, 0xeec3, 0xd04e, 0xd04f, 0xd050, 0xd051, 0xd052,
    +    0xd053, 0xf3bc, 0xd054, 0xd055, 0xf3bd, 0xd056, 0xd057, 0xd058,
    +    0xd1aa, 0xd059, 0xd05a, 0xd05b, 0xf4ac, 0xd0c6, 0xd05c, 0xd05d,
    +    0xd05e, 0xd05f, 0xd060, 0xd061, 0xd0d0, 0xd1dc, 0xd062, 0xd063,
    +    0xd064, 0xd065, 0xd066, 0xd067, 0xcfce, 0xd068, 0xd069, 0xbdd6,
    +    0xd06a, 0xd1c3, 0xd06b, 0xd06c, 0xd06d, 0xd06e, 0xd06f, 0xd070,
    +    0xd071, 0xbae2, 0xe1e9, 0xd2c2, 0xf1c2, 0xb2b9, 0xd072, 0xd073,
    +    0xb1ed, 0xf1c3, 0xd074, 0xc9c0, 0xb3c4, 0xd075, 0xd9f2, 0xd076,
    +    0xcba5, 0xd077, 0xf1c4, 0xd078, 0xd079, 0xd07a, 0xd07b, 0xd6d4,
    +    0xd07c, 0xd07d, 0xd07e, 0xd080, 0xd081, 0xf1c5, 0xf4c0, 0xf1c6,
    +    0xd082, 0xd4ac, 0xf1c7, 0xd083, 0xb0c0, 0xf4c1, 0xd084, 0xd085,
    +    0xf4c2, 0xd086, 0xd087, 0xb4fc, 0xd088, 0xc5db, 0xd089, 0xd08a,
    +    0xd08b, 0xd08c, 0xccbb, 0xd08d, 0xd08e, 0xd08f, 0xd0e4, 0xd090,
    +    0xd091, 0xd092, 0xd093, 0xd094, 0xcde0, 0xd095, 0xd096, 0xd097,
    +    0xd098, 0xd099, 0xf1c8, 0xd09a, 0xd9f3, 0xd09b, 0xd09c, 0xd09d,
    +    0xd09e, 0xd09f, 0xd0a0, 0xb1bb, 0xd140, 0xcfae, 0xd141, 0xd142,
    +    0xd143, 0xb8a4, 0xd144, 0xd145, 0xd146, 0xd147, 0xd148, 0xf1ca,
    +    0xd149, 0xd14a, 0xd14b, 0xd14c, 0xf1cb, 0xd14d, 0xd14e, 0xd14f,
    +    0xd150, 0xb2c3, 0xc1d1, 0xd151, 0xd152, 0xd7b0, 0xf1c9, 0xd153,
    +    0xd154, 0xf1cc, 0xd155, 0xd156, 0xd157, 0xd158, 0xf1ce, 0xd159,
    +    0xd15a, 0xd15b, 0xd9f6, 0xd15c, 0xd2e1, 0xd4a3, 0xd15d, 0xd15e,
    +    0xf4c3, 0xc8b9, 0xd15f, 0xd160, 0xd161, 0xd162, 0xd163, 0xf4c4,
    +    0xd164, 0xd165, 0xf1cd, 0xf1cf, 0xbfe3, 0xf1d0, 0xd166, 0xd167,
    +    0xf1d4, 0xd168, 0xd169, 0xd16a, 0xd16b, 0xd16c, 0xd16d, 0xd16e,
    +    0xf1d6, 0xf1d1, 0xd16f, 0xc9d1, 0xc5e1, 0xd170, 0xd171, 0xd172,
    +    0xc2e3, 0xb9fc, 0xd173, 0xd174, 0xf1d3, 0xd175, 0xf1d5, 0xd176,
    +    /* 0x8900 .. 0x89ff */
    +    0xd177, 0xd178, 0xb9d3, 0xd179, 0xd17a, 0xd17b, 0xd17c, 0xd17d,
    +    0xd17e, 0xd180, 0xf1db, 0xd181, 0xd182, 0xd183, 0xd184, 0xd185,
    +    0xbad6, 0xd186, 0xb0fd, 0xf1d9, 0xd187, 0xd188, 0xd189, 0xd18a,
    +    0xd18b, 0xf1d8, 0xf1d2, 0xf1da, 0xd18c, 0xd18d, 0xd18e, 0xd18f,
    +    0xd190, 0xf1d7, 0xd191, 0xd192, 0xd193, 0xc8ec, 0xd194, 0xd195,
    +    0xd196, 0xd197, 0xcdca, 0xf1dd, 0xd198, 0xd199, 0xd19a, 0xd19b,
    +    0xe5bd, 0xd19c, 0xd19d, 0xd19e, 0xf1dc, 0xd19f, 0xf1de, 0xd1a0,
    +    0xd240, 0xd241, 0xd242, 0xd243, 0xd244, 0xd245, 0xd246, 0xd247,
    +    0xd248, 0xf1df, 0xd249, 0xd24a, 0xcfe5, 0xd24b, 0xd24c, 0xd24d,
    +    0xd24e, 0xd24f, 0xd250, 0xd251, 0xd252, 0xd253, 0xd254, 0xd255,
    +    0xd256, 0xd257, 0xd258, 0xd259, 0xd25a, 0xd25b, 0xd25c, 0xd25d,
    +    0xd25e, 0xd25f, 0xd260, 0xd261, 0xd262, 0xd263, 0xf4c5, 0xbdf3,
    +    0xd264, 0xd265, 0xd266, 0xd267, 0xd268, 0xd269, 0xf1e0, 0xd26a,
    +    0xd26b, 0xd26c, 0xd26d, 0xd26e, 0xd26f, 0xd270, 0xd271, 0xd272,
    +    0xd273, 0xd274, 0xd275, 0xd276, 0xd277, 0xd278, 0xd279, 0xd27a,
    +    0xd27b, 0xd27c, 0xd27d, 0xf1e1, 0xd27e, 0xd280, 0xd281, 0xcef7,
    +    0xd282, 0xd2aa, 0xd283, 0xf1fb, 0xd284, 0xd285, 0xb8b2, 0xd286,
    +    0xd287, 0xd288, 0xd289, 0xd28a, 0xd28b, 0xd28c, 0xd28d, 0xd28e,
    +    0xd28f, 0xd290, 0xd291, 0xd292, 0xd293, 0xd294, 0xd295, 0xd296,
    +    0xd297, 0xd298, 0xd299, 0xd29a, 0xd29b, 0xd29c, 0xd29d, 0xd29e,
    +    0xd29f, 0xd2a0, 0xd340, 0xd341, 0xd342, 0xd343, 0xd344, 0xd345,
    +    0xd346, 0xd347, 0xd348, 0xd349, 0xd34a, 0xd34b, 0xd34c, 0xd34d,
    +    0xd34e, 0xd34f, 0xd350, 0xd351, 0xd352, 0xd353, 0xd354, 0xd355,
    +    0xd356, 0xd357, 0xd358, 0xd359, 0xd35a, 0xd35b, 0xd35c, 0xd35d,
    +    0xd35e, 0xbcfb, 0xb9db, 0xd35f, 0xb9e6, 0xc3d9, 0xcad3, 0xeae8,
    +    0xc0c0, 0xbef5, 0xeae9, 0xeaea, 0xeaeb, 0xd360, 0xeaec, 0xeaed,
    +    0xeaee, 0xeaef, 0xbdc7, 0xd361, 0xd362, 0xd363, 0xf5fb, 0xd364,
    +    0xd365, 0xd366, 0xf5fd, 0xd367, 0xf5fe, 0xd368, 0xf5fc, 0xd369,
    +    0xd36a, 0xd36b, 0xd36c, 0xbde2, 0xd36d, 0xf6a1, 0xb4a5, 0xd36e,
    +    0xd36f, 0xd370, 0xd371, 0xf6a2, 0xd372, 0xd373, 0xd374, 0xf6a3,
    +    0xd375, 0xd376, 0xd377, 0xecb2, 0xd378, 0xd379, 0xd37a, 0xd37b,
    +    0xd37c, 0xd37d, 0xd37e, 0xd380, 0xd381, 0xd382, 0xd383, 0xd384,
    +    /* 0x8a00 .. 0x8aff */
    +    0xd1d4, 0xd385, 0xd386, 0xd387, 0xd388, 0xd389, 0xd38a, 0xd9ea,
    +    0xd38b, 0xd38c, 0xd38d, 0xd38e, 0xd38f, 0xd390, 0xd391, 0xd392,
    +    0xd393, 0xd394, 0xd395, 0xd396, 0xd397, 0xd398, 0xd399, 0xd39a,
    +    0xd39b, 0xd39c, 0xd39d, 0xd39e, 0xd39f, 0xd3a0, 0xd440, 0xd441,
    +    0xd442, 0xd443, 0xd444, 0xd445, 0xd446, 0xd447, 0xd448, 0xd449,
    +    0xd44a, 0xd44b, 0xd44c, 0xd44d, 0xd44e, 0xd44f, 0xd450, 0xd451,
    +    0xd452, 0xd453, 0xd454, 0xd455, 0xd456, 0xd457, 0xd458, 0xd459,
    +    0xd45a, 0xd45b, 0xd45c, 0xd45d, 0xd45e, 0xd45f, 0xf6a4, 0xd460,
    +    0xd461, 0xd462, 0xd463, 0xd464, 0xd465, 0xd466, 0xd467, 0xd468,
    +    0xeeba, 0xd469, 0xd46a, 0xd46b, 0xd46c, 0xd46d, 0xd46e, 0xd46f,
    +    0xd470, 0xd471, 0xd472, 0xd473, 0xd474, 0xd475, 0xd476, 0xd477,
    +    0xd478, 0xd479, 0xd47a, 0xd47b, 0xd47c, 0xd47d, 0xd47e, 0xd480,
    +    0xd481, 0xd482, 0xd483, 0xd484, 0xd485, 0xd486, 0xd487, 0xd488,
    +    0xd489, 0xd48a, 0xd48b, 0xd48c, 0xd48d, 0xd48e, 0xd48f, 0xd490,
    +    0xd491, 0xd492, 0xd493, 0xd494, 0xd495, 0xd496, 0xd497, 0xd498,
    +    0xd499, 0xd5b2, 0xd49a, 0xd49b, 0xd49c, 0xd49d, 0xd49e, 0xd49f,
    +    0xd4a0, 0xd540, 0xd541, 0xd542, 0xd543, 0xd544, 0xd545, 0xd546,
    +    0xd547, 0xd3fe, 0xccdc, 0xd548, 0xd549, 0xd54a, 0xd54b, 0xd54c,
    +    0xd54d, 0xd54e, 0xd54f, 0xcac4, 0xd550, 0xd551, 0xd552, 0xd553,
    +    0xd554, 0xd555, 0xd556, 0xd557, 0xd558, 0xd559, 0xd55a, 0xd55b,
    +    0xd55c, 0xd55d, 0xd55e, 0xd55f, 0xd560, 0xd561, 0xd562, 0xd563,
    +    0xd564, 0xd565, 0xd566, 0xd567, 0xd568, 0xd569, 0xd56a, 0xd56b,
    +    0xd56c, 0xd56d, 0xd56e, 0xd56f, 0xd570, 0xd571, 0xd572, 0xd573,
    +    0xd574, 0xd575, 0xd576, 0xd577, 0xd578, 0xd579, 0xd57a, 0xd57b,
    +    0xd57c, 0xd57d, 0xd57e, 0xd580, 0xd581, 0xd582, 0xd583, 0xd584,
    +    0xd585, 0xd586, 0xd587, 0xd588, 0xd589, 0xd58a, 0xd58b, 0xd58c,
    +    0xd58d, 0xd58e, 0xd58f, 0xd590, 0xd591, 0xd592, 0xd593, 0xd594,
    +    0xd595, 0xd596, 0xd597, 0xd598, 0xd599, 0xd59a, 0xd59b, 0xd59c,
    +    0xd59d, 0xd59e, 0xd59f, 0xd5a0, 0xd640, 0xd641, 0xd642, 0xd643,
    +    0xd644, 0xd645, 0xd646, 0xd647, 0xd648, 0xd649, 0xd64a, 0xd64b,
    +    0xd64c, 0xd64d, 0xd64e, 0xd64f, 0xd650, 0xd651, 0xd652, 0xd653,
    +    0xd654, 0xd655, 0xd656, 0xd657, 0xd658, 0xd659, 0xd65a, 0xd65b,
    +    /* 0x8b00 .. 0x8bff */
    +    0xd65c, 0xd65d, 0xd65e, 0xd65f, 0xd660, 0xd661, 0xd662, 0xe5c0,
    +    0xd663, 0xd664, 0xd665, 0xd666, 0xd667, 0xd668, 0xd669, 0xd66a,
    +    0xd66b, 0xd66c, 0xd66d, 0xd66e, 0xd66f, 0xd670, 0xd671, 0xd672,
    +    0xd673, 0xd674, 0xd675, 0xd676, 0xd677, 0xd678, 0xd679, 0xd67a,
    +    0xd67b, 0xd67c, 0xd67d, 0xd67e, 0xd680, 0xd681, 0xf6a5, 0xd682,
    +    0xd683, 0xd684, 0xd685, 0xd686, 0xd687, 0xd688, 0xd689, 0xd68a,
    +    0xd68b, 0xd68c, 0xd68d, 0xd68e, 0xd68f, 0xd690, 0xd691, 0xd692,
    +    0xd693, 0xd694, 0xd695, 0xd696, 0xd697, 0xd698, 0xd699, 0xd69a,
    +    0xd69b, 0xd69c, 0xd69d, 0xd69e, 0xd69f, 0xd6a0, 0xd740, 0xd741,
    +    0xd742, 0xd743, 0xd744, 0xd745, 0xd746, 0xd747, 0xd748, 0xd749,
    +    0xd74a, 0xd74b, 0xd74c, 0xd74d, 0xd74e, 0xd74f, 0xd750, 0xd751,
    +    0xd752, 0xd753, 0xd754, 0xd755, 0xd756, 0xd757, 0xd758, 0xd759,
    +    0xd75a, 0xd75b, 0xd75c, 0xd75d, 0xd75e, 0xd75f, 0xbeaf, 0xd760,
    +    0xd761, 0xd762, 0xd763, 0xd764, 0xc6a9, 0xd765, 0xd766, 0xd767,
    +    0xd768, 0xd769, 0xd76a, 0xd76b, 0xd76c, 0xd76d, 0xd76e, 0xd76f,
    +    0xd770, 0xd771, 0xd772, 0xd773, 0xd774, 0xd775, 0xd776, 0xd777,
    +    0xd778, 0xd779, 0xd77a, 0xd77b, 0xd77c, 0xd77d, 0xd77e, 0xd780,
    +    0xd781, 0xd782, 0xd783, 0xd784, 0xd785, 0xd786, 0xd787, 0xd788,
    +    0xd789, 0xd78a, 0xd78b, 0xd78c, 0xd78d, 0xd78e, 0xd78f, 0xd790,
    +    0xd791, 0xd792, 0xd793, 0xd794, 0xd795, 0xd796, 0xd797, 0xd798,
    +    0xdaa5, 0xbcc6, 0xb6a9, 0xb8bc, 0xc8cf, 0xbca5, 0xdaa6, 0xdaa7,
    +    0xccd6, 0xc8c3, 0xdaa8, 0xc6fd, 0xd799, 0xd1b5, 0xd2e9, 0xd1b6,
    +    0xbcc7, 0xd79a, 0xbdb2, 0xbbe4, 0xdaa9, 0xdaaa, 0xd1c8, 0xdaab,
    +    0xd0ed, 0xb6ef, 0xc2db, 0xd79b, 0xcbcf, 0xb7ed, 0xc9e8, 0xb7c3,
    +    0xbef7, 0xd6a4, 0xdaac, 0xdaad, 0xc6c0, 0xd7e7, 0xcab6, 0xd79c,
    +    0xd5a9, 0xcbdf, 0xd5ef, 0xdaae, 0xd6df, 0xb4ca, 0xdab0, 0xdaaf,
    +    0xd79d, 0xd2eb, 0xdab1, 0xdab2, 0xdab3, 0xcad4, 0xdab4, 0xcaab,
    +    0xdab5, 0xdab6, 0xb3cf, 0xd6ef, 0xdab7, 0xbbb0, 0xb5ae, 0xdab8,
    +    0xdab9, 0xb9ee, 0xd1af, 0xd2e8, 0xdaba, 0xb8c3, 0xcfea, 0xb2ef,
    +    0xdabb, 0xdabc, 0xd79e, 0xbdeb, 0xcedc, 0xd3ef, 0xdabd, 0xcef3,
    +    0xdabe, 0xd3d5, 0xbbe5, 0xdabf, 0xcbb5, 0xcbd0, 0xdac0, 0xc7eb,
    +    0xd6ee, 0xdac1, 0xc5b5, 0xb6c1, 0xdac2, 0xb7cc, 0xbfce, 0xdac3,
    +    /* 0x8c00 .. 0x8cff */
    +    0xdac4, 0xcbad, 0xdac5, 0xb5f7, 0xdac6, 0xc1c2, 0xd7bb, 0xdac7,
    +    0xccb8, 0xd79f, 0xd2ea, 0xc4b1, 0xdac8, 0xb5fd, 0xbbd1, 0xdac9,
    +    0xd0b3, 0xdaca, 0xdacb, 0xcebd, 0xdacc, 0xdacd, 0xdace, 0xb2f7,
    +    0xdad1, 0xdacf, 0xd1e8, 0xdad0, 0xc3d5, 0xdad2, 0xd7a0, 0xdad3,
    +    0xdad4, 0xdad5, 0xd0bb, 0xd2a5, 0xb0f9, 0xdad6, 0xc7ab, 0xdad7,
    +    0xbdf7, 0xc3a1, 0xdad8, 0xdad9, 0xc3fd, 0xccb7, 0xdada, 0xdadb,
    +    0xc0be, 0xc6d7, 0xdadc, 0xdadd, 0xc7b4, 0xdade, 0xdadf, 0xb9c8,
    +    0xd840, 0xd841, 0xd842, 0xd843, 0xd844, 0xd845, 0xd846, 0xd847,
    +    0xd848, 0xbbed, 0xd849, 0xd84a, 0xd84b, 0xd84c, 0xb6b9, 0xf4f8,
    +    0xd84d, 0xf4f9, 0xd84e, 0xd84f, 0xcde3, 0xd850, 0xd851, 0xd852,
    +    0xd853, 0xd854, 0xd855, 0xd856, 0xd857, 0xf5b9, 0xd858, 0xd859,
    +    0xd85a, 0xd85b, 0xebe0, 0xd85c, 0xd85d, 0xd85e, 0xd85f, 0xd860,
    +    0xd861, 0xcff3, 0xbbbf, 0xd862, 0xd863, 0xd864, 0xd865, 0xd866,
    +    0xd867, 0xd868, 0xbac0, 0xd4a5, 0xd869, 0xd86a, 0xd86b, 0xd86c,
    +    0xd86d, 0xd86e, 0xd86f, 0xe1d9, 0xd870, 0xd871, 0xd872, 0xd873,
    +    0xf5f4, 0xb1aa, 0xb2f2, 0xd874, 0xd875, 0xd876, 0xd877, 0xd878,
    +    0xd879, 0xd87a, 0xf5f5, 0xd87b, 0xd87c, 0xf5f7, 0xd87d, 0xd87e,
    +    0xd880, 0xbad1, 0xf5f6, 0xd881, 0xc3b2, 0xd882, 0xd883, 0xd884,
    +    0xd885, 0xd886, 0xd887, 0xd888, 0xf5f9, 0xd889, 0xd88a, 0xd88b,
    +    0xf5f8, 0xd88c, 0xd88d, 0xd88e, 0xd88f, 0xd890, 0xd891, 0xd892,
    +    0xd893, 0xd894, 0xd895, 0xd896, 0xd897, 0xd898, 0xd899, 0xd89a,
    +    0xd89b, 0xd89c, 0xd89d, 0xd89e, 0xd89f, 0xd8a0, 0xd940, 0xd941,
    +    0xd942, 0xd943, 0xd944, 0xd945, 0xd946, 0xd947, 0xd948, 0xd949,
    +    0xd94a, 0xd94b, 0xd94c, 0xd94d, 0xd94e, 0xd94f, 0xd950, 0xd951,
    +    0xd952, 0xd953, 0xd954, 0xd955, 0xd956, 0xd957, 0xd958, 0xd959,
    +    0xd95a, 0xd95b, 0xd95c, 0xd95d, 0xd95e, 0xd95f, 0xd960, 0xd961,
    +    0xd962, 0xd963, 0xd964, 0xd965, 0xd966, 0xd967, 0xd968, 0xd969,
    +    0xd96a, 0xd96b, 0xd96c, 0xd96d, 0xd96e, 0xd96f, 0xd970, 0xd971,
    +    0xd972, 0xd973, 0xd974, 0xd975, 0xd976, 0xd977, 0xd978, 0xd979,
    +    0xd97a, 0xd97b, 0xd97c, 0xd97d, 0xd97e, 0xd980, 0xd981, 0xd982,
    +    0xd983, 0xd984, 0xd985, 0xd986, 0xd987, 0xd988, 0xd989, 0xd98a,
    +    0xd98b, 0xd98c, 0xd98d, 0xd98e, 0xd98f, 0xd990, 0xd991, 0xd992,
    +    /* 0x8d00 .. 0x8dff */
    +    0xd993, 0xd994, 0xd995, 0xd996, 0xd997, 0xd998, 0xd999, 0xd99a,
    +    0xd99b, 0xd99c, 0xd99d, 0xd99e, 0xd99f, 0xd9a0, 0xda40, 0xda41,
    +    0xda42, 0xda43, 0xda44, 0xda45, 0xda46, 0xda47, 0xda48, 0xda49,
    +    0xda4a, 0xda4b, 0xda4c, 0xda4d, 0xda4e, 0xb1b4, 0xd5ea, 0xb8ba,
    +    0xda4f, 0xb9b1, 0xb2c6, 0xd4f0, 0xcfcd, 0xb0dc, 0xd5cb, 0xbbf5,
    +    0xd6ca, 0xb7b7, 0xccb0, 0xc6b6, 0xb1e1, 0xb9ba, 0xd6fc, 0xb9e1,
    +    0xb7a1, 0xbcfa, 0xeada, 0xeadb, 0xccf9, 0xb9f3, 0xeadc, 0xb4fb,
    +    0xc3b3, 0xb7d1, 0xbad8, 0xeadd, 0xd4f4, 0xeade, 0xbcd6, 0xbbdf,
    +    0xeadf, 0xc1de, 0xc2b8, 0xd4df, 0xd7ca, 0xeae0, 0xeae1, 0xeae4,
    +    0xeae2, 0xeae3, 0xc9de, 0xb8b3, 0xb6c4, 0xeae5, 0xcaea, 0xc9cd,
    +    0xb4cd, 0xda50, 0xda51, 0xe2d9, 0xc5e2, 0xeae6, 0xc0b5, 0xda52,
    +    0xd7b8, 0xeae7, 0xd7ac, 0xc8fc, 0xd8d3, 0xd8cd, 0xd4de, 0xda53,
    +    0xd4f9, 0xc9c4, 0xd3ae, 0xb8d3, 0xb3e0, 0xda54, 0xc9e2, 0xf4f6,
    +    0xda55, 0xda56, 0xda57, 0xbad5, 0xda58, 0xf4f7, 0xda59, 0xda5a,
    +    0xd7df, 0xda5b, 0xda5c, 0xf4f1, 0xb8b0, 0xd5d4, 0xb8cf, 0xc6f0,
    +    0xda5d, 0xda5e, 0xda5f, 0xda60, 0xda61, 0xda62, 0xda63, 0xda64,
    +    0xda65, 0xb3c3, 0xda66, 0xda67, 0xf4f2, 0xb3ac, 0xda68, 0xda69,
    +    0xda6a, 0xda6b, 0xd4bd, 0xc7f7, 0xda6c, 0xda6d, 0xda6e, 0xda6f,
    +    0xda70, 0xf4f4, 0xda71, 0xda72, 0xf4f3, 0xda73, 0xda74, 0xda75,
    +    0xda76, 0xda77, 0xda78, 0xda79, 0xda7a, 0xda7b, 0xda7c, 0xcccb,
    +    0xda7d, 0xda7e, 0xda80, 0xc8a4, 0xda81, 0xda82, 0xda83, 0xda84,
    +    0xda85, 0xda86, 0xda87, 0xda88, 0xda89, 0xda8a, 0xda8b, 0xda8c,
    +    0xda8d, 0xf4f5, 0xda8e, 0xd7e3, 0xc5bf, 0xf5c0, 0xda8f, 0xda90,
    +    0xf5bb, 0xda91, 0xf5c3, 0xda92, 0xf5c2, 0xda93, 0xd6ba, 0xf5c1,
    +    0xda94, 0xda95, 0xda96, 0xd4be, 0xf5c4, 0xda97, 0xf5cc, 0xda98,
    +    0xda99, 0xda9a, 0xda9b, 0xb0cf, 0xb5f8, 0xda9c, 0xf5c9, 0xf5ca,
    +    0xda9d, 0xc5dc, 0xda9e, 0xda9f, 0xdaa0, 0xdb40, 0xf5c5, 0xf5c6,
    +    0xdb41, 0xdb42, 0xf5c7, 0xf5cb, 0xdb43, 0xbee0, 0xf5c8, 0xb8fa,
    +    0xdb44, 0xdb45, 0xdb46, 0xf5d0, 0xf5d3, 0xdb47, 0xdb48, 0xdb49,
    +    0xbfe7, 0xdb4a, 0xb9f2, 0xf5bc, 0xf5cd, 0xdb4b, 0xdb4c, 0xc2b7,
    +    0xdb4d, 0xdb4e, 0xdb4f, 0xccf8, 0xdb50, 0xbcf9, 0xdb51, 0xf5ce,
    +    0xf5cf, 0xf5d1, 0xb6e5, 0xf5d2, 0xdb52, 0xf5d5, 0xdb53, 0xdb54,
    +    /* 0x8e00 .. 0x8eff */
    +    0xdb55, 0xdb56, 0xdb57, 0xdb58, 0xdb59, 0xf5bd, 0xdb5a, 0xdb5b,
    +    0xdb5c, 0xf5d4, 0xd3bb, 0xdb5d, 0xb3ec, 0xdb5e, 0xdb5f, 0xcca4,
    +    0xdb60, 0xdb61, 0xdb62, 0xdb63, 0xf5d6, 0xdb64, 0xdb65, 0xdb66,
    +    0xdb67, 0xdb68, 0xdb69, 0xdb6a, 0xdb6b, 0xf5d7, 0xbee1, 0xf5d8,
    +    0xdb6c, 0xdb6d, 0xccdf, 0xf5db, 0xdb6e, 0xdb6f, 0xdb70, 0xdb71,
    +    0xdb72, 0xb2c8, 0xd7d9, 0xdb73, 0xf5d9, 0xdb74, 0xf5da, 0xf5dc,
    +    0xdb75, 0xf5e2, 0xdb76, 0xdb77, 0xdb78, 0xf5e0, 0xdb79, 0xdb7a,
    +    0xdb7b, 0xf5df, 0xf5dd, 0xdb7c, 0xdb7d, 0xf5e1, 0xdb7e, 0xdb80,
    +    0xf5de, 0xf5e4, 0xf5e5, 0xdb81, 0xcce3, 0xdb82, 0xdb83, 0xe5bf,
    +    0xb5b8, 0xf5e3, 0xf5e8, 0xcca3, 0xdb84, 0xdb85, 0xdb86, 0xdb87,
    +    0xdb88, 0xf5e6, 0xf5e7, 0xdb89, 0xdb8a, 0xdb8b, 0xdb8c, 0xdb8d,
    +    0xdb8e, 0xf5be, 0xdb8f, 0xdb90, 0xdb91, 0xdb92, 0xdb93, 0xdb94,
    +    0xdb95, 0xdb96, 0xdb97, 0xdb98, 0xdb99, 0xdb9a, 0xb1c4, 0xdb9b,
    +    0xdb9c, 0xf5bf, 0xdb9d, 0xdb9e, 0xb5c5, 0xb2e4, 0xdb9f, 0xf5ec,
    +    0xf5e9, 0xdba0, 0xb6d7, 0xdc40, 0xf5ed, 0xdc41, 0xf5ea, 0xdc42,
    +    0xdc43, 0xdc44, 0xdc45, 0xdc46, 0xf5eb, 0xdc47, 0xdc48, 0xb4da,
    +    0xdc49, 0xd4ea, 0xdc4a, 0xdc4b, 0xdc4c, 0xf5ee, 0xdc4d, 0xb3f9,
    +    0xdc4e, 0xdc4f, 0xdc50, 0xdc51, 0xdc52, 0xdc53, 0xdc54, 0xf5ef,
    +    0xf5f1, 0xdc55, 0xdc56, 0xdc57, 0xf5f0, 0xdc58, 0xdc59, 0xdc5a,
    +    0xdc5b, 0xdc5c, 0xdc5d, 0xdc5e, 0xf5f2, 0xdc5f, 0xf5f3, 0xdc60,
    +    0xdc61, 0xdc62, 0xdc63, 0xdc64, 0xdc65, 0xdc66, 0xdc67, 0xdc68,
    +    0xdc69, 0xdc6a, 0xdc6b, 0xc9ed, 0xb9aa, 0xdc6c, 0xdc6d, 0xc7fb,
    +    0xdc6e, 0xdc6f, 0xb6e3, 0xdc70, 0xdc71, 0xdc72, 0xdc73, 0xdc74,
    +    0xdc75, 0xdc76, 0xccc9, 0xdc77, 0xdc78, 0xdc79, 0xdc7a, 0xdc7b,
    +    0xdc7c, 0xdc7d, 0xdc7e, 0xdc80, 0xdc81, 0xdc82, 0xdc83, 0xdc84,
    +    0xdc85, 0xdc86, 0xdc87, 0xdc88, 0xdc89, 0xdc8a, 0xeaa6, 0xdc8b,
    +    0xdc8c, 0xdc8d, 0xdc8e, 0xdc8f, 0xdc90, 0xdc91, 0xdc92, 0xdc93,
    +    0xdc94, 0xdc95, 0xdc96, 0xdc97, 0xdc98, 0xdc99, 0xdc9a, 0xdc9b,
    +    0xdc9c, 0xdc9d, 0xdc9e, 0xdc9f, 0xdca0, 0xdd40, 0xdd41, 0xdd42,
    +    0xdd43, 0xdd44, 0xdd45, 0xdd46, 0xdd47, 0xdd48, 0xdd49, 0xdd4a,
    +    0xdd4b, 0xdd4c, 0xdd4d, 0xdd4e, 0xdd4f, 0xdd50, 0xdd51, 0xdd52,
    +    0xdd53, 0xdd54, 0xdd55, 0xdd56, 0xdd57, 0xdd58, 0xdd59, 0xdd5a,
    +    /* 0x8f00 .. 0x8fff */
    +    0xdd5b, 0xdd5c, 0xdd5d, 0xdd5e, 0xdd5f, 0xdd60, 0xdd61, 0xdd62,
    +    0xdd63, 0xdd64, 0xdd65, 0xdd66, 0xdd67, 0xdd68, 0xdd69, 0xdd6a,
    +    0xdd6b, 0xdd6c, 0xdd6d, 0xdd6e, 0xdd6f, 0xdd70, 0xdd71, 0xdd72,
    +    0xdd73, 0xdd74, 0xdd75, 0xdd76, 0xdd77, 0xdd78, 0xdd79, 0xdd7a,
    +    0xdd7b, 0xdd7c, 0xdd7d, 0xdd7e, 0xdd80, 0xdd81, 0xdd82, 0xdd83,
    +    0xdd84, 0xdd85, 0xdd86, 0xdd87, 0xdd88, 0xdd89, 0xdd8a, 0xdd8b,
    +    0xdd8c, 0xdd8d, 0xdd8e, 0xdd8f, 0xdd90, 0xdd91, 0xdd92, 0xdd93,
    +    0xdd94, 0xdd95, 0xdd96, 0xdd97, 0xdd98, 0xdd99, 0xdd9a, 0xdd9b,
    +    0xdd9c, 0xdd9d, 0xdd9e, 0xdd9f, 0xdda0, 0xde40, 0xde41, 0xde42,
    +    0xde43, 0xde44, 0xde45, 0xde46, 0xde47, 0xde48, 0xde49, 0xde4a,
    +    0xde4b, 0xde4c, 0xde4d, 0xde4e, 0xde4f, 0xde50, 0xde51, 0xde52,
    +    0xde53, 0xde54, 0xde55, 0xde56, 0xde57, 0xde58, 0xde59, 0xde5a,
    +    0xde5b, 0xde5c, 0xde5d, 0xde5e, 0xde5f, 0xde60, 0xb3b5, 0xd4fe,
    +    0xb9ec, 0xd0f9, 0xde61, 0xe9ed, 0xd7aa, 0xe9ee, 0xc2d6, 0xc8ed,
    +    0xbae4, 0xe9ef, 0xe9f0, 0xe9f1, 0xd6e1, 0xe9f2, 0xe9f3, 0xe9f5,
    +    0xe9f4, 0xe9f6, 0xe9f7, 0xc7e1, 0xe9f8, 0xd4d8, 0xe9f9, 0xbdce,
    +    0xde62, 0xe9fa, 0xe9fb, 0xbdcf, 0xe9fc, 0xb8a8, 0xc1be, 0xe9fd,
    +    0xb1b2, 0xbbd4, 0xb9f5, 0xe9fe, 0xde63, 0xeaa1, 0xeaa2, 0xeaa3,
    +    0xb7f8, 0xbcad, 0xde64, 0xcae4, 0xe0ce, 0xd4af, 0xcfbd, 0xd5b7,
    +    0xeaa4, 0xd5de, 0xeaa5, 0xd0c1, 0xb9bc, 0xde65, 0xb4c7, 0xb1d9,
    +    0xde66, 0xde67, 0xde68, 0xc0b1, 0xde69, 0xde6a, 0xde6b, 0xde6c,
    +    0xb1e6, 0xb1e7, 0xde6d, 0xb1e8, 0xde6e, 0xde6f, 0xde70, 0xde71,
    +    0xb3bd, 0xc8e8, 0xde72, 0xde73, 0xde74, 0xde75, 0xe5c1, 0xde76,
    +    0xde77, 0xb1df, 0xde78, 0xde79, 0xde7a, 0xc1c9, 0xb4ef, 0xde7b,
    +    0xde7c, 0xc7a8, 0xd3d8, 0xde7d, 0xc6f9, 0xd1b8, 0xde7e, 0xb9fd,
    +    0xc2f5, 0xde80, 0xde81, 0xde82, 0xde83, 0xde84, 0xd3ad, 0xde85,
    +    0xd4cb, 0xbdfc, 0xde86, 0xe5c2, 0xb7b5, 0xe5c3, 0xde87, 0xde88,
    +    0xbbb9, 0xd5e2, 0xde89, 0xbdf8, 0xd4b6, 0xcea5, 0xc1ac, 0xb3d9,
    +    0xde8a, 0xde8b, 0xccf6, 0xde8c, 0xe5c6, 0xe5c4, 0xe5c8, 0xde8d,
    +    0xe5ca, 0xe5c7, 0xb5cf, 0xc6c8, 0xde8e, 0xb5fc, 0xe5c5, 0xde8f,
    +    0xcaf6, 0xde90, 0xde91, 0xe5c9, 0xde92, 0xde93, 0xde94, 0xc3d4,
    +    0xb1c5, 0xbca3, 0xde95, 0xde96, 0xde97, 0xd7b7, 0xde98, 0xde99,
    +    /* 0x9000 .. 0x90ff */
    +    0xcdcb, 0xcbcd, 0xcaca, 0xccd3, 0xe5cc, 0xe5cb, 0xc4e6, 0xde9a,
    +    0xde9b, 0xd1a1, 0xd1b7, 0xe5cd, 0xde9c, 0xe5d0, 0xde9d, 0xcdb8,
    +    0xd6f0, 0xe5cf, 0xb5dd, 0xde9e, 0xcdbe, 0xde9f, 0xe5d1, 0xb6ba,
    +    0xdea0, 0xdf40, 0xcda8, 0xb9e4, 0xdf41, 0xcac5, 0xb3d1, 0xcbd9,
    +    0xd4ec, 0xe5d2, 0xb7ea, 0xdf42, 0xdf43, 0xdf44, 0xe5ce, 0xdf45,
    +    0xdf46, 0xdf47, 0xdf48, 0xdf49, 0xdf4a, 0xe5d5, 0xb4fe, 0xe5d6,
    +    0xdf4b, 0xdf4c, 0xdf4d, 0xdf4e, 0xdf4f, 0xe5d3, 0xe5d4, 0xdf50,
    +    0xd2dd, 0xdf51, 0xdf52, 0xc2df, 0xb1c6, 0xdf53, 0xd3e2, 0xdf54,
    +    0xdf55, 0xb6dd, 0xcbec, 0xdf56, 0xe5d7, 0xdf57, 0xdf58, 0xd3f6,
    +    0xdf59, 0xdf5a, 0xdf5b, 0xdf5c, 0xdf5d, 0xb1e9, 0xdf5e, 0xb6f4,
    +    0xe5da, 0xe5d8, 0xe5d9, 0xb5c0, 0xdf5f, 0xdf60, 0xdf61, 0xd2c5,
    +    0xe5dc, 0xdf62, 0xdf63, 0xe5de, 0xdf64, 0xdf65, 0xdf66, 0xdf67,
    +    0xdf68, 0xdf69, 0xe5dd, 0xc7b2, 0xdf6a, 0xd2a3, 0xdf6b, 0xdf6c,
    +    0xe5db, 0xdf6d, 0xdf6e, 0xdf6f, 0xdf70, 0xd4e2, 0xd5da, 0xdf71,
    +    0xdf72, 0xdf73, 0xdf74, 0xdf75, 0xe5e0, 0xd7f1, 0xdf76, 0xdf77,
    +    0xdf78, 0xdf79, 0xdf7a, 0xdf7b, 0xdf7c, 0xe5e1, 0xdf7d, 0xb1dc,
    +    0xd1fb, 0xdf7e, 0xe5e2, 0xe5e4, 0xdf80, 0xdf81, 0xdf82, 0xdf83,
    +    0xe5e3, 0xdf84, 0xdf85, 0xe5e5, 0xdf86, 0xdf87, 0xdf88, 0xdf89,
    +    0xdf8a, 0xd2d8, 0xdf8b, 0xb5cb, 0xdf8c, 0xe7df, 0xdf8d, 0xdaf5,
    +    0xdf8e, 0xdaf8, 0xdf8f, 0xdaf6, 0xdf90, 0xdaf7, 0xdf91, 0xdf92,
    +    0xdf93, 0xdafa, 0xd0cf, 0xc4c7, 0xdf94, 0xdf95, 0xb0ee, 0xdf96,
    +    0xdf97, 0xdf98, 0xd0b0, 0xdf99, 0xdaf9, 0xdf9a, 0xd3ca, 0xbaaa,
    +    0xdba2, 0xc7f1, 0xdf9b, 0xdafc, 0xdafb, 0xc9db, 0xdafd, 0xdf9c,
    +    0xdba1, 0xd7de, 0xdafe, 0xc1da, 0xdf9d, 0xdf9e, 0xdba5, 0xdf9f,
    +    0xdfa0, 0xd3f4, 0xe040, 0xe041, 0xdba7, 0xdba4, 0xe042, 0xdba8,
    +    0xe043, 0xe044, 0xbdbc, 0xe045, 0xe046, 0xe047, 0xc0c9, 0xdba3,
    +    0xdba6, 0xd6a3, 0xe048, 0xdba9, 0xe049, 0xe04a, 0xe04b, 0xdbad,
    +    0xe04c, 0xe04d, 0xe04e, 0xdbae, 0xdbac, 0xbac2, 0xe04f, 0xe050,
    +    0xe051, 0xbfa4, 0xdbab, 0xe052, 0xe053, 0xe054, 0xdbaa, 0xd4c7,
    +    0xb2bf, 0xe055, 0xe056, 0xdbaf, 0xe057, 0xb9f9, 0xe058, 0xdbb0,
    +    0xe059, 0xe05a, 0xe05b, 0xe05c, 0xb3bb, 0xe05d, 0xe05e, 0xe05f,
    +    0xb5a6, 0xe060, 0xe061, 0xe062, 0xe063, 0xb6bc, 0xdbb1, 0xe064,
    +    /* 0x9100 .. 0x91ff */
    +    0xe065, 0xe066, 0xb6f5, 0xe067, 0xdbb2, 0xe068, 0xe069, 0xe06a,
    +    0xe06b, 0xe06c, 0xe06d, 0xe06e, 0xe06f, 0xe070, 0xe071, 0xe072,
    +    0xe073, 0xe074, 0xe075, 0xe076, 0xe077, 0xe078, 0xe079, 0xe07a,
    +    0xe07b, 0xb1c9, 0xe07c, 0xe07d, 0xe07e, 0xe080, 0xdbb4, 0xe081,
    +    0xe082, 0xe083, 0xdbb3, 0xdbb5, 0xe084, 0xe085, 0xe086, 0xe087,
    +    0xe088, 0xe089, 0xe08a, 0xe08b, 0xe08c, 0xe08d, 0xe08e, 0xdbb7,
    +    0xe08f, 0xdbb6, 0xe090, 0xe091, 0xe092, 0xe093, 0xe094, 0xe095,
    +    0xe096, 0xdbb8, 0xe097, 0xe098, 0xe099, 0xe09a, 0xe09b, 0xe09c,
    +    0xe09d, 0xe09e, 0xe09f, 0xdbb9, 0xe0a0, 0xe140, 0xdbba, 0xe141,
    +    0xe142, 0xd3cf, 0xf4fa, 0xc7f5, 0xd7c3, 0xc5e4, 0xf4fc, 0xf4fd,
    +    0xf4fb, 0xe143, 0xbec6, 0xe144, 0xe145, 0xe146, 0xe147, 0xd0ef,
    +    0xe148, 0xe149, 0xb7d3, 0xe14a, 0xe14b, 0xd4cd, 0xccaa, 0xe14c,
    +    0xe14d, 0xf5a2, 0xf5a1, 0xbaa8, 0xf4fe, 0xcbd6, 0xe14e, 0xe14f,
    +    0xe150, 0xf5a4, 0xc0d2, 0xe151, 0xb3ea, 0xe152, 0xcdaa, 0xf5a5,
    +    0xf5a3, 0xbdb4, 0xf5a8, 0xe153, 0xf5a9, 0xbdcd, 0xc3b8, 0xbfe1,
    +    0xcbe1, 0xf5aa, 0xe154, 0xe155, 0xe156, 0xf5a6, 0xf5a7, 0xc4f0,
    +    0xe157, 0xe158, 0xe159, 0xe15a, 0xe15b, 0xf5ac, 0xe15c, 0xb4bc,
    +    0xe15d, 0xd7ed, 0xe15e, 0xb4d7, 0xf5ab, 0xf5ae, 0xe15f, 0xe160,
    +    0xf5ad, 0xf5af, 0xd0d1, 0xe161, 0xe162, 0xe163, 0xe164, 0xe165,
    +    0xe166, 0xe167, 0xc3d1, 0xc8a9, 0xe168, 0xe169, 0xe16a, 0xe16b,
    +    0xe16c, 0xe16d, 0xf5b0, 0xf5b1, 0xe16e, 0xe16f, 0xe170, 0xe171,
    +    0xe172, 0xe173, 0xf5b2, 0xe174, 0xe175, 0xf5b3, 0xf5b4, 0xf5b5,
    +    0xe176, 0xe177, 0xe178, 0xe179, 0xf5b7, 0xf5b6, 0xe17a, 0xe17b,
    +    0xe17c, 0xe17d, 0xf5b8, 0xe17e, 0xe180, 0xe181, 0xe182, 0xe183,
    +    0xe184, 0xe185, 0xe186, 0xe187, 0xe188, 0xe189, 0xe18a, 0xb2c9,
    +    0xe18b, 0xd3d4, 0xcacd, 0xe18c, 0xc0ef, 0xd6d8, 0xd2b0, 0xc1bf,
    +    0xe18d, 0xbdf0, 0xe18e, 0xe18f, 0xe190, 0xe191, 0xe192, 0xe193,
    +    0xe194, 0xe195, 0xe196, 0xe197, 0xb8aa, 0xe198, 0xe199, 0xe19a,
    +    0xe19b, 0xe19c, 0xe19d, 0xe19e, 0xe19f, 0xe1a0, 0xe240, 0xe241,
    +    0xe242, 0xe243, 0xe244, 0xe245, 0xe246, 0xe247, 0xe248, 0xe249,
    +    0xe24a, 0xe24b, 0xe24c, 0xe24d, 0xe24e, 0xe24f, 0xe250, 0xe251,
    +    0xe252, 0xe253, 0xe254, 0xe255, 0xe256, 0xe257, 0xe258, 0xe259,
    +    /* 0x9200 .. 0x92ff */
    +    0xe25a, 0xe25b, 0xe25c, 0xe25d, 0xe25e, 0xe25f, 0xe260, 0xe261,
    +    0xe262, 0xe263, 0xe264, 0xe265, 0xe266, 0xe267, 0xe268, 0xe269,
    +    0xe26a, 0xe26b, 0xe26c, 0xe26d, 0xe26e, 0xe26f, 0xe270, 0xe271,
    +    0xe272, 0xe273, 0xe274, 0xe275, 0xe276, 0xe277, 0xe278, 0xe279,
    +    0xe27a, 0xe27b, 0xe27c, 0xe27d, 0xe27e, 0xe280, 0xe281, 0xe282,
    +    0xe283, 0xe284, 0xe285, 0xe286, 0xe287, 0xe288, 0xe289, 0xe28a,
    +    0xe28b, 0xe28c, 0xe28d, 0xe28e, 0xe28f, 0xe290, 0xe291, 0xe292,
    +    0xe293, 0xe294, 0xe295, 0xe296, 0xe297, 0xe298, 0xe299, 0xe29a,
    +    0xe29b, 0xe29c, 0xe29d, 0xe29e, 0xe29f, 0xe2a0, 0xe340, 0xe341,
    +    0xe342, 0xe343, 0xe344, 0xe345, 0xe346, 0xe347, 0xe348, 0xe349,
    +    0xe34a, 0xe34b, 0xe34c, 0xe34d, 0xe34e, 0xe34f, 0xe350, 0xe351,
    +    0xe352, 0xe353, 0xe354, 0xe355, 0xe356, 0xe357, 0xe358, 0xe359,
    +    0xe35a, 0xe35b, 0xe35c, 0xe35d, 0xe35e, 0xe35f, 0xe360, 0xe361,
    +    0xe362, 0xe363, 0xe364, 0xe365, 0xe366, 0xe367, 0xe368, 0xe369,
    +    0xe36a, 0xe36b, 0xe36c, 0xe36d, 0xbcf8, 0xe36e, 0xe36f, 0xe370,
    +    0xe371, 0xe372, 0xe373, 0xe374, 0xe375, 0xe376, 0xe377, 0xe378,
    +    0xe379, 0xe37a, 0xe37b, 0xe37c, 0xe37d, 0xe37e, 0xe380, 0xe381,
    +    0xe382, 0xe383, 0xe384, 0xe385, 0xe386, 0xe387, 0xf6c6, 0xe388,
    +    0xe389, 0xe38a, 0xe38b, 0xe38c, 0xe38d, 0xe38e, 0xe38f, 0xe390,
    +    0xe391, 0xe392, 0xe393, 0xe394, 0xe395, 0xe396, 0xe397, 0xe398,
    +    0xe399, 0xe39a, 0xe39b, 0xe39c, 0xe39d, 0xe39e, 0xe39f, 0xe3a0,
    +    0xe440, 0xe441, 0xe442, 0xe443, 0xe444, 0xe445, 0xf6c7, 0xe446,
    +    0xe447, 0xe448, 0xe449, 0xe44a, 0xe44b, 0xe44c, 0xe44d, 0xe44e,
    +    0xe44f, 0xe450, 0xe451, 0xe452, 0xe453, 0xe454, 0xe455, 0xe456,
    +    0xe457, 0xe458, 0xe459, 0xe45a, 0xe45b, 0xe45c, 0xe45d, 0xe45e,
    +    0xf6c8, 0xe45f, 0xe460, 0xe461, 0xe462, 0xe463, 0xe464, 0xe465,
    +    0xe466, 0xe467, 0xe468, 0xe469, 0xe46a, 0xe46b, 0xe46c, 0xe46d,
    +    0xe46e, 0xe46f, 0xe470, 0xe471, 0xe472, 0xe473, 0xe474, 0xe475,
    +    0xe476, 0xe477, 0xe478, 0xe479, 0xe47a, 0xe47b, 0xe47c, 0xe47d,
    +    0xe47e, 0xe480, 0xe481, 0xe482, 0xe483, 0xe484, 0xe485, 0xe486,
    +    0xe487, 0xe488, 0xe489, 0xe48a, 0xe48b, 0xe48c, 0xe48d, 0xe48e,
    +    0xe48f, 0xe490, 0xe491, 0xe492, 0xe493, 0xe494, 0xe495, 0xe496,
    +    /* 0x9300 .. 0x93ff */
    +    0xe497, 0xe498, 0xe499, 0xe49a, 0xe49b, 0xe49c, 0xe49d, 0xe49e,
    +    0xe49f, 0xe4a0, 0xe540, 0xe541, 0xe542, 0xe543, 0xe544, 0xe545,
    +    0xe546, 0xe547, 0xe548, 0xe549, 0xe54a, 0xe54b, 0xe54c, 0xe54d,
    +    0xe54e, 0xe54f, 0xe550, 0xe551, 0xe552, 0xe553, 0xe554, 0xe555,
    +    0xe556, 0xe557, 0xe558, 0xe559, 0xe55a, 0xe55b, 0xe55c, 0xe55d,
    +    0xe55e, 0xe55f, 0xe560, 0xe561, 0xe562, 0xe563, 0xe564, 0xe565,
    +    0xe566, 0xe567, 0xe568, 0xe569, 0xe56a, 0xe56b, 0xe56c, 0xe56d,
    +    0xe56e, 0xe56f, 0xe570, 0xe571, 0xe572, 0xe573, 0xf6c9, 0xe574,
    +    0xe575, 0xe576, 0xe577, 0xe578, 0xe579, 0xe57a, 0xe57b, 0xe57c,
    +    0xe57d, 0xe57e, 0xe580, 0xe581, 0xe582, 0xe583, 0xe584, 0xe585,
    +    0xe586, 0xe587, 0xe588, 0xe589, 0xe58a, 0xe58b, 0xe58c, 0xe58d,
    +    0xe58e, 0xe58f, 0xe590, 0xe591, 0xe592, 0xe593, 0xe594, 0xe595,
    +    0xe596, 0xe597, 0xe598, 0xe599, 0xe59a, 0xe59b, 0xe59c, 0xe59d,
    +    0xe59e, 0xe59f, 0xf6ca, 0xe5a0, 0xe640, 0xe641, 0xe642, 0xe643,
    +    0xe644, 0xe645, 0xe646, 0xe647, 0xe648, 0xe649, 0xe64a, 0xe64b,
    +    0xe64c, 0xe64d, 0xe64e, 0xe64f, 0xe650, 0xe651, 0xe652, 0xe653,
    +    0xe654, 0xe655, 0xe656, 0xe657, 0xe658, 0xe659, 0xe65a, 0xe65b,
    +    0xe65c, 0xe65d, 0xe65e, 0xe65f, 0xe660, 0xe661, 0xe662, 0xf6cc,
    +    0xe663, 0xe664, 0xe665, 0xe666, 0xe667, 0xe668, 0xe669, 0xe66a,
    +    0xe66b, 0xe66c, 0xe66d, 0xe66e, 0xe66f, 0xe670, 0xe671, 0xe672,
    +    0xe673, 0xe674, 0xe675, 0xe676, 0xe677, 0xe678, 0xe679, 0xe67a,
    +    0xe67b, 0xe67c, 0xe67d, 0xe67e, 0xe680, 0xe681, 0xe682, 0xe683,
    +    0xe684, 0xe685, 0xe686, 0xe687, 0xe688, 0xe689, 0xe68a, 0xe68b,
    +    0xe68c, 0xe68d, 0xe68e, 0xe68f, 0xe690, 0xe691, 0xe692, 0xe693,
    +    0xe694, 0xe695, 0xe696, 0xe697, 0xe698, 0xe699, 0xe69a, 0xe69b,
    +    0xe69c, 0xe69d, 0xf6cb, 0xe69e, 0xe69f, 0xe6a0, 0xe740, 0xe741,
    +    0xe742, 0xe743, 0xe744, 0xe745, 0xe746, 0xe747, 0xf7e9, 0xe748,
    +    0xe749, 0xe74a, 0xe74b, 0xe74c, 0xe74d, 0xe74e, 0xe74f, 0xe750,
    +    0xe751, 0xe752, 0xe753, 0xe754, 0xe755, 0xe756, 0xe757, 0xe758,
    +    0xe759, 0xe75a, 0xe75b, 0xe75c, 0xe75d, 0xe75e, 0xe75f, 0xe760,
    +    0xe761, 0xe762, 0xe763, 0xe764, 0xe765, 0xe766, 0xe767, 0xe768,
    +    0xe769, 0xe76a, 0xe76b, 0xe76c, 0xe76d, 0xe76e, 0xe76f, 0xe770,
    +    /* 0x9400 .. 0x94ff */
    +    0xe771, 0xe772, 0xe773, 0xe774, 0xe775, 0xe776, 0xe777, 0xe778,
    +    0xe779, 0xe77a, 0xe77b, 0xe77c, 0xe77d, 0xe77e, 0xe780, 0xe781,
    +    0xe782, 0xe783, 0xe784, 0xe785, 0xe786, 0xe787, 0xe788, 0xe789,
    +    0xe78a, 0xe78b, 0xe78c, 0xe78d, 0xe78e, 0xe78f, 0xe790, 0xe791,
    +    0xe792, 0xe793, 0xe794, 0xe795, 0xe796, 0xe797, 0xe798, 0xe799,
    +    0xe79a, 0xe79b, 0xe79c, 0xe79d, 0xe79e, 0xe79f, 0xe7a0, 0xe840,
    +    0xe841, 0xe842, 0xe843, 0xe844, 0xe845, 0xe846, 0xe847, 0xe848,
    +    0xe849, 0xe84a, 0xe84b, 0xe84c, 0xe84d, 0xe84e, 0xf6cd, 0xe84f,
    +    0xe850, 0xe851, 0xe852, 0xe853, 0xe854, 0xe855, 0xe856, 0xe857,
    +    0xe858, 0xe859, 0xe85a, 0xe85b, 0xe85c, 0xe85d, 0xe85e, 0xe85f,
    +    0xe860, 0xe861, 0xe862, 0xe863, 0xe864, 0xe865, 0xe866, 0xe867,
    +    0xe868, 0xe869, 0xe86a, 0xe86b, 0xe86c, 0xe86d, 0xe86e, 0xe86f,
    +    0xe870, 0xe871, 0xe872, 0xe873, 0xe874, 0xe875, 0xe876, 0xe877,
    +    0xe878, 0xe879, 0xe87a, 0xf6ce, 0xe87b, 0xe87c, 0xe87d, 0xe87e,
    +    0xe880, 0xe881, 0xe882, 0xe883, 0xe884, 0xe885, 0xe886, 0xe887,
    +    0xe888, 0xe889, 0xe88a, 0xe88b, 0xe88c, 0xe88d, 0xe88e, 0xe88f,
    +    0xe890, 0xe891, 0xe892, 0xe893, 0xe894, 0xeec4, 0xeec5, 0xeec6,
    +    0xd5eb, 0xb6a4, 0xeec8, 0xeec7, 0xeec9, 0xeeca, 0xc7a5, 0xeecb,
    +    0xeecc, 0xe895, 0xb7b0, 0xb5f6, 0xeecd, 0xeecf, 0xe896, 0xeece,
    +    0xe897, 0xb8c6, 0xeed0, 0xeed1, 0xeed2, 0xb6db, 0xb3ae, 0xd6d3,
    +    0xc4c6, 0xb1b5, 0xb8d6, 0xeed3, 0xeed4, 0xd4bf, 0xc7d5, 0xbefb,
    +    0xced9, 0xb9b3, 0xeed6, 0xeed5, 0xeed8, 0xeed7, 0xc5a5, 0xeed9,
    +    0xeeda, 0xc7ae, 0xeedb, 0xc7af, 0xeedc, 0xb2a7, 0xeedd, 0xeede,
    +    0xeedf, 0xeee0, 0xeee1, 0xd7ea, 0xeee2, 0xeee3, 0xbcd8, 0xeee4,
    +    0xd3cb, 0xccfa, 0xb2ac, 0xc1e5, 0xeee5, 0xc7a6, 0xc3ad, 0xe898,
    +    0xeee6, 0xeee7, 0xeee8, 0xeee9, 0xeeea, 0xeeeb, 0xeeec, 0xe899,
    +    0xeeed, 0xeeee, 0xeeef, 0xe89a, 0xe89b, 0xeef0, 0xeef1, 0xeef2,
    +    0xeef4, 0xeef3, 0xe89c, 0xeef5, 0xcdad, 0xc2c1, 0xeef6, 0xeef7,
    +    0xeef8, 0xd5a1, 0xeef9, 0xcfb3, 0xeefa, 0xeefb, 0xe89d, 0xeefc,
    +    0xeefd, 0xefa1, 0xeefe, 0xefa2, 0xb8f5, 0xc3fa, 0xefa3, 0xefa4,
    +    0xbdc2, 0xd2bf, 0xb2f9, 0xefa5, 0xefa6, 0xefa7, 0xd2f8, 0xefa8,
    +    0xd6fd, 0xefa9, 0xc6cc, 0xe89e, 0xefaa, 0xefab, 0xc1b4, 0xefac,
    +    /* 0x9500 .. 0x95ff */
    +    0xcffa, 0xcbf8, 0xefae, 0xefad, 0xb3fa, 0xb9f8, 0xefaf, 0xefb0,
    +    0xd0e2, 0xefb1, 0xefb2, 0xb7e6, 0xd0bf, 0xefb3, 0xefb4, 0xefb5,
    +    0xc8f1, 0xcce0, 0xefb6, 0xefb7, 0xefb8, 0xefb9, 0xefba, 0xd5e0,
    +    0xefbb, 0xb4ed, 0xc3aa, 0xefbc, 0xe89f, 0xefbd, 0xefbe, 0xefbf,
    +    0xe8a0, 0xcefd, 0xefc0, 0xc2e0, 0xb4b8, 0xd7b6, 0xbdf5, 0xe940,
    +    0xcfc7, 0xefc3, 0xefc1, 0xefc2, 0xefc4, 0xb6a7, 0xbcfc, 0xbee2,
    +    0xc3cc, 0xefc5, 0xefc6, 0xe941, 0xefc7, 0xefcf, 0xefc8, 0xefc9,
    +    0xefca, 0xc7c2, 0xeff1, 0xb6cd, 0xefcb, 0xe942, 0xefcc, 0xefcd,
    +    0xb6c6, 0xc3be, 0xefce, 0xe943, 0xefd0, 0xefd1, 0xefd2, 0xd5f2,
    +    0xe944, 0xefd3, 0xc4f7, 0xe945, 0xefd4, 0xc4f8, 0xefd5, 0xefd6,
    +    0xb8e4, 0xb0f7, 0xefd7, 0xefd8, 0xefd9, 0xe946, 0xefda, 0xefdb,
    +    0xefdc, 0xefdd, 0xe947, 0xefde, 0xbeb5, 0xefe1, 0xefdf, 0xefe0,
    +    0xe948, 0xefe2, 0xefe3, 0xc1cd, 0xefe4, 0xefe5, 0xefe6, 0xefe7,
    +    0xefe8, 0xefe9, 0xefea, 0xefeb, 0xefec, 0xc0d8, 0xe949, 0xefed,
    +    0xc1ad, 0xefee, 0xefef, 0xeff0, 0xe94a, 0xe94b, 0xcfe2, 0xe94c,
    +    0xe94d, 0xe94e, 0xe94f, 0xe950, 0xe951, 0xe952, 0xe953, 0xb3a4,
    +    0xe954, 0xe955, 0xe956, 0xe957, 0xe958, 0xe959, 0xe95a, 0xe95b,
    +    0xe95c, 0xe95d, 0xe95e, 0xe95f, 0xe960, 0xe961, 0xe962, 0xe963,
    +    0xe964, 0xe965, 0xe966, 0xe967, 0xe968, 0xe969, 0xe96a, 0xe96b,
    +    0xe96c, 0xe96d, 0xe96e, 0xe96f, 0xe970, 0xe971, 0xe972, 0xe973,
    +    0xe974, 0xe975, 0xe976, 0xe977, 0xe978, 0xe979, 0xe97a, 0xe97b,
    +    0xe97c, 0xe97d, 0xe97e, 0xe980, 0xe981, 0xe982, 0xe983, 0xe984,
    +    0xe985, 0xe986, 0xe987, 0xe988, 0xe989, 0xe98a, 0xe98b, 0xe98c,
    +    0xe98d, 0xe98e, 0xe98f, 0xe990, 0xe991, 0xe992, 0xe993, 0xe994,
    +    0xe995, 0xe996, 0xe997, 0xe998, 0xe999, 0xe99a, 0xe99b, 0xe99c,
    +    0xe99d, 0xe99e, 0xe99f, 0xe9a0, 0xea40, 0xea41, 0xea42, 0xea43,
    +    0xea44, 0xea45, 0xea46, 0xea47, 0xea48, 0xea49, 0xea4a, 0xea4b,
    +    0xea4c, 0xea4d, 0xea4e, 0xea4f, 0xea50, 0xea51, 0xea52, 0xea53,
    +    0xea54, 0xea55, 0xea56, 0xea57, 0xea58, 0xea59, 0xea5a, 0xea5b,
    +    0xc3c5, 0xe3c5, 0xc9c1, 0xe3c6, 0xea5c, 0xb1d5, 0xceca, 0xb4b3,
    +    0xc8f2, 0xe3c7, 0xcfd0, 0xe3c8, 0xbce4, 0xe3c9, 0xe3ca, 0xc3c6,
    +    0xd5a2, 0xc4d6, 0xb9eb, 0xcec5, 0xe3cb, 0xc3f6, 0xe3cc, 0xea5d,
    +    /* 0x9600 .. 0x96ff */
    +    0xb7a7, 0xb8f3, 0xbad2, 0xe3cd, 0xe3ce, 0xd4c4, 0xe3cf, 0xea5e,
    +    0xe3d0, 0xd1cb, 0xe3d1, 0xe3d2, 0xe3d3, 0xe3d4, 0xd1d6, 0xe3d5,
    +    0xb2fb, 0xc0bb, 0xe3d6, 0xea5f, 0xc0ab, 0xe3d7, 0xe3d8, 0xe3d9,
    +    0xea60, 0xe3da, 0xe3db, 0xea61, 0xb8b7, 0xdae2, 0xea62, 0xb6d3,
    +    0xea63, 0xdae4, 0xdae3, 0xea64, 0xea65, 0xea66, 0xea67, 0xea68,
    +    0xea69, 0xea6a, 0xdae6, 0xea6b, 0xea6c, 0xea6d, 0xc8ee, 0xea6e,
    +    0xea6f, 0xdae5, 0xb7c0, 0xd1f4, 0xd2f5, 0xd5f3, 0xbdd7, 0xea70,
    +    0xea71, 0xea72, 0xea73, 0xd7e8, 0xdae8, 0xdae7, 0xea74, 0xb0a2,
    +    0xcdd3, 0xea75, 0xdae9, 0xea76, 0xb8bd, 0xbcca, 0xc2bd, 0xc2a4,
    +    0xb3c2, 0xdaea, 0xea77, 0xc2aa, 0xc4b0, 0xbdb5, 0xea78, 0xea79,
    +    0xcfde, 0xea7a, 0xea7b, 0xea7c, 0xdaeb, 0xc9c2, 0xea7d, 0xea7e,
    +    0xea80, 0xea81, 0xea82, 0xb1dd, 0xea83, 0xea84, 0xea85, 0xdaec,
    +    0xea86, 0xb6b8, 0xd4ba, 0xea87, 0xb3fd, 0xea88, 0xea89, 0xdaed,
    +    0xd4c9, 0xcfd5, 0xc5e3, 0xea8a, 0xdaee, 0xea8b, 0xea8c, 0xea8d,
    +    0xea8e, 0xea8f, 0xdaef, 0xea90, 0xdaf0, 0xc1ea, 0xccd5, 0xcfdd,
    +    0xea91, 0xea92, 0xea93, 0xea94, 0xea95, 0xea96, 0xea97, 0xea98,
    +    0xea99, 0xea9a, 0xea9b, 0xea9c, 0xea9d, 0xd3e7, 0xc2a1, 0xea9e,
    +    0xdaf1, 0xea9f, 0xeaa0, 0xcbe5, 0xeb40, 0xdaf2, 0xeb41, 0xcbe6,
    +    0xd2fe, 0xeb42, 0xeb43, 0xeb44, 0xb8f4, 0xeb45, 0xeb46, 0xdaf3,
    +    0xb0af, 0xcfb6, 0xeb47, 0xeb48, 0xd5cf, 0xeb49, 0xeb4a, 0xeb4b,
    +    0xeb4c, 0xeb4d, 0xeb4e, 0xeb4f, 0xeb50, 0xeb51, 0xeb52, 0xcbed,
    +    0xeb53, 0xeb54, 0xeb55, 0xeb56, 0xeb57, 0xeb58, 0xeb59, 0xeb5a,
    +    0xdaf4, 0xeb5b, 0xeb5c, 0xe3c4, 0xeb5d, 0xeb5e, 0xc1a5, 0xeb5f,
    +    0xeb60, 0xf6bf, 0xeb61, 0xeb62, 0xf6c0, 0xf6c1, 0xc4d1, 0xeb63,
    +    0xc8b8, 0xd1e3, 0xeb64, 0xeb65, 0xd0db, 0xd1c5, 0xbcaf, 0xb9cd,
    +    0xeb66, 0xeff4, 0xeb67, 0xeb68, 0xb4c6, 0xd3ba, 0xf6c2, 0xb3fb,
    +    0xeb69, 0xeb6a, 0xf6c3, 0xeb6b, 0xeb6c, 0xb5f1, 0xeb6d, 0xeb6e,
    +    0xeb6f, 0xeb70, 0xeb71, 0xeb72, 0xeb73, 0xeb74, 0xeb75, 0xeb76,
    +    0xf6c5, 0xeb77, 0xeb78, 0xeb79, 0xeb7a, 0xeb7b, 0xeb7c, 0xeb7d,
    +    0xd3ea, 0xf6a7, 0xd1a9, 0xeb7e, 0xeb80, 0xeb81, 0xeb82, 0xf6a9,
    +    0xeb83, 0xeb84, 0xeb85, 0xf6a8, 0xeb86, 0xeb87, 0xc1e3, 0xc0d7,
    +    0xeb88, 0xb1a2, 0xeb89, 0xeb8a, 0xeb8b, 0xeb8c, 0xceed, 0xeb8d,
    +    /* 0x9700 .. 0x97ff */
    +    0xd0e8, 0xf6ab, 0xeb8e, 0xeb8f, 0xcff6, 0xeb90, 0xf6aa, 0xd5f0,
    +    0xf6ac, 0xc3b9, 0xeb91, 0xeb92, 0xeb93, 0xbbf4, 0xf6ae, 0xf6ad,
    +    0xeb94, 0xeb95, 0xeb96, 0xc4de, 0xeb97, 0xeb98, 0xc1d8, 0xeb99,
    +    0xeb9a, 0xeb9b, 0xeb9c, 0xeb9d, 0xcbaa, 0xeb9e, 0xcfbc, 0xeb9f,
    +    0xeba0, 0xec40, 0xec41, 0xec42, 0xec43, 0xec44, 0xec45, 0xec46,
    +    0xec47, 0xec48, 0xf6af, 0xec49, 0xec4a, 0xf6b0, 0xec4b, 0xec4c,
    +    0xf6b1, 0xec4d, 0xc2b6, 0xec4e, 0xec4f, 0xec50, 0xec51, 0xec52,
    +    0xb0d4, 0xc5f9, 0xec53, 0xec54, 0xec55, 0xec56, 0xf6b2, 0xec57,
    +    0xec58, 0xec59, 0xec5a, 0xec5b, 0xec5c, 0xec5d, 0xec5e, 0xec5f,
    +    0xec60, 0xec61, 0xec62, 0xec63, 0xec64, 0xec65, 0xec66, 0xec67,
    +    0xec68, 0xec69, 0xc7e0, 0xf6a6, 0xec6a, 0xec6b, 0xbeb8, 0xec6c,
    +    0xec6d, 0xbeb2, 0xec6e, 0xb5e5, 0xec6f, 0xec70, 0xb7c7, 0xec71,
    +    0xbfbf, 0xc3d2, 0xc3e6, 0xec72, 0xec73, 0xd8cc, 0xec74, 0xec75,
    +    0xec76, 0xb8ef, 0xec77, 0xec78, 0xec79, 0xec7a, 0xec7b, 0xec7c,
    +    0xec7d, 0xec7e, 0xec80, 0xbdf9, 0xd1a5, 0xec81, 0xb0d0, 0xec82,
    +    0xec83, 0xec84, 0xec85, 0xec86, 0xf7b0, 0xec87, 0xec88, 0xec89,
    +    0xec8a, 0xec8b, 0xec8c, 0xec8d, 0xec8e, 0xf7b1, 0xec8f, 0xec90,
    +    0xec91, 0xec92, 0xec93, 0xd0ac, 0xec94, 0xb0b0, 0xec95, 0xec96,
    +    0xec97, 0xf7b2, 0xf7b3, 0xec98, 0xf7b4, 0xec99, 0xec9a, 0xec9b,
    +    0xc7ca, 0xec9c, 0xec9d, 0xec9e, 0xec9f, 0xeca0, 0xed40, 0xed41,
    +    0xbecf, 0xed42, 0xed43, 0xf7b7, 0xed44, 0xed45, 0xed46, 0xed47,
    +    0xed48, 0xed49, 0xed4a, 0xf7b6, 0xed4b, 0xb1de, 0xed4c, 0xf7b5,
    +    0xed4d, 0xed4e, 0xf7b8, 0xed4f, 0xf7b9, 0xed50, 0xed51, 0xed52,
    +    0xed53, 0xed54, 0xed55, 0xed56, 0xed57, 0xed58, 0xed59, 0xed5a,
    +    0xed5b, 0xed5c, 0xed5d, 0xed5e, 0xed5f, 0xed60, 0xed61, 0xed62,
    +    0xed63, 0xed64, 0xed65, 0xed66, 0xed67, 0xed68, 0xed69, 0xed6a,
    +    0xed6b, 0xed6c, 0xed6d, 0xed6e, 0xed6f, 0xed70, 0xed71, 0xed72,
    +    0xed73, 0xed74, 0xed75, 0xed76, 0xed77, 0xed78, 0xed79, 0xed7a,
    +    0xed7b, 0xed7c, 0xed7d, 0xed7e, 0xed80, 0xed81, 0xcea4, 0xc8cd,
    +    0xed82, 0xbaab, 0xe8b8, 0xe8b9, 0xe8ba, 0xbec2, 0xed83, 0xed84,
    +    0xed85, 0xed86, 0xed87, 0xd2f4, 0xed88, 0xd4cf, 0xc9d8, 0xed89,
    +    0xed8a, 0xed8b, 0xed8c, 0xed8d, 0xed8e, 0xed8f, 0xed90, 0xed91,
    +    /* 0x9800 .. 0x98ff */
    +    0xed92, 0xed93, 0xed94, 0xed95, 0xed96, 0xed97, 0xed98, 0xed99,
    +    0xed9a, 0xed9b, 0xed9c, 0xed9d, 0xed9e, 0xed9f, 0xeda0, 0xee40,
    +    0xee41, 0xee42, 0xee43, 0xee44, 0xee45, 0xee46, 0xee47, 0xee48,
    +    0xee49, 0xee4a, 0xee4b, 0xee4c, 0xee4d, 0xee4e, 0xee4f, 0xee50,
    +    0xee51, 0xee52, 0xee53, 0xee54, 0xee55, 0xee56, 0xee57, 0xee58,
    +    0xee59, 0xee5a, 0xee5b, 0xee5c, 0xee5d, 0xee5e, 0xee5f, 0xee60,
    +    0xee61, 0xee62, 0xee63, 0xee64, 0xee65, 0xee66, 0xee67, 0xee68,
    +    0xee69, 0xee6a, 0xee6b, 0xee6c, 0xee6d, 0xee6e, 0xee6f, 0xee70,
    +    0xee71, 0xee72, 0xee73, 0xee74, 0xee75, 0xee76, 0xee77, 0xee78,
    +    0xee79, 0xee7a, 0xee7b, 0xee7c, 0xee7d, 0xee7e, 0xee80, 0xee81,
    +    0xee82, 0xee83, 0xee84, 0xee85, 0xee86, 0xee87, 0xee88, 0xee89,
    +    0xee8a, 0xee8b, 0xee8c, 0xee8d, 0xee8e, 0xee8f, 0xee90, 0xee91,
    +    0xee92, 0xee93, 0xee94, 0xee95, 0xee96, 0xee97, 0xee98, 0xee99,
    +    0xee9a, 0xee9b, 0xee9c, 0xee9d, 0xee9e, 0xee9f, 0xeea0, 0xef40,
    +    0xef41, 0xef42, 0xef43, 0xef44, 0xef45, 0xd2b3, 0xb6a5, 0xc7ea,
    +    0xf1fc, 0xcfee, 0xcbb3, 0xd0eb, 0xe7ef, 0xcde7, 0xb9cb, 0xb6d9,
    +    0xf1fd, 0xb0e4, 0xcbcc, 0xf1fe, 0xd4a4, 0xc2ad, 0xc1ec, 0xc6c4,
    +    0xbeb1, 0xf2a1, 0xbcd5, 0xef46, 0xf2a2, 0xf2a3, 0xef47, 0xf2a4,
    +    0xd2c3, 0xc6b5, 0xef48, 0xcdc7, 0xf2a5, 0xef49, 0xd3b1, 0xbfc5,
    +    0xcce2, 0xef4a, 0xf2a6, 0xf2a7, 0xd1d5, 0xb6ee, 0xf2a8, 0xf2a9,
    +    0xb5df, 0xf2aa, 0xf2ab, 0xef4b, 0xb2fc, 0xf2ac, 0xf2ad, 0xc8a7,
    +    0xef4c, 0xef4d, 0xef4e, 0xef4f, 0xef50, 0xef51, 0xef52, 0xef53,
    +    0xef54, 0xef55, 0xef56, 0xef57, 0xef58, 0xef59, 0xef5a, 0xef5b,
    +    0xef5c, 0xef5d, 0xef5e, 0xef5f, 0xef60, 0xef61, 0xef62, 0xef63,
    +    0xef64, 0xef65, 0xef66, 0xef67, 0xef68, 0xef69, 0xef6a, 0xef6b,
    +    0xef6c, 0xef6d, 0xef6e, 0xef6f, 0xef70, 0xef71, 0xb7e7, 0xef72,
    +    0xef73, 0xeca9, 0xecaa, 0xecab, 0xef74, 0xecac, 0xef75, 0xef76,
    +    0xc6ae, 0xecad, 0xecae, 0xef77, 0xef78, 0xef79, 0xb7c9, 0xcab3,
    +    0xef7a, 0xef7b, 0xef7c, 0xef7d, 0xef7e, 0xef80, 0xef81, 0xe2b8,
    +    0xf7cf, 0xef82, 0xef83, 0xef84, 0xef85, 0xef86, 0xef87, 0xef88,
    +    0xef89, 0xef8a, 0xef8b, 0xef8c, 0xef8d, 0xef8e, 0xef8f, 0xef90,
    +    0xef91, 0xef92, 0xef93, 0xef94, 0xef95, 0xef96, 0xef97, 0xef98,
    +    /* 0x9900 .. 0x99ff */
    +    0xef99, 0xef9a, 0xef9b, 0xef9c, 0xef9d, 0xef9e, 0xef9f, 0xefa0,
    +    0xf040, 0xf041, 0xf042, 0xf043, 0xf044, 0xf7d0, 0xf045, 0xf046,
    +    0xb2cd, 0xf047, 0xf048, 0xf049, 0xf04a, 0xf04b, 0xf04c, 0xf04d,
    +    0xf04e, 0xf04f, 0xf050, 0xf051, 0xf052, 0xf053, 0xf054, 0xf055,
    +    0xf056, 0xf057, 0xf058, 0xf059, 0xf05a, 0xf05b, 0xf05c, 0xf05d,
    +    0xf05e, 0xf05f, 0xf060, 0xf061, 0xf062, 0xf063, 0xf7d1, 0xf064,
    +    0xf065, 0xf066, 0xf067, 0xf068, 0xf069, 0xf06a, 0xf06b, 0xf06c,
    +    0xf06d, 0xf06e, 0xf06f, 0xf070, 0xf071, 0xf072, 0xf073, 0xf074,
    +    0xf075, 0xf076, 0xf077, 0xf078, 0xf079, 0xf07a, 0xf07b, 0xf07c,
    +    0xf07d, 0xf07e, 0xf080, 0xf081, 0xf082, 0xf083, 0xf084, 0xf085,
    +    0xf086, 0xf087, 0xf088, 0xf089, 0xf7d3, 0xf7d2, 0xf08a, 0xf08b,
    +    0xf08c, 0xf08d, 0xf08e, 0xf08f, 0xf090, 0xf091, 0xf092, 0xf093,
    +    0xf094, 0xf095, 0xf096, 0xe2bb, 0xf097, 0xbca2, 0xf098, 0xe2bc,
    +    0xe2bd, 0xe2be, 0xe2bf, 0xe2c0, 0xe2c1, 0xb7b9, 0xd2fb, 0xbda4,
    +    0xcace, 0xb1a5, 0xcbc7, 0xf099, 0xe2c2, 0xb6fc, 0xc8c4, 0xe2c3,
    +    0xf09a, 0xf09b, 0xbdc8, 0xf09c, 0xb1fd, 0xe2c4, 0xf09d, 0xb6f6,
    +    0xe2c5, 0xc4d9, 0xf09e, 0xf09f, 0xe2c6, 0xcfda, 0xb9dd, 0xe2c7,
    +    0xc0a1, 0xf0a0, 0xe2c8, 0xb2f6, 0xf140, 0xe2c9, 0xf141, 0xc1f3,
    +    0xe2ca, 0xe2cb, 0xc2f8, 0xe2cc, 0xe2cd, 0xe2ce, 0xcad7, 0xd8b8,
    +    0xd9e5, 0xcfe3, 0xf142, 0xf143, 0xf144, 0xf145, 0xf146, 0xf147,
    +    0xf148, 0xf149, 0xf14a, 0xf14b, 0xf14c, 0xf0a5, 0xf14d, 0xf14e,
    +    0xdcb0, 0xf14f, 0xf150, 0xf151, 0xf152, 0xf153, 0xf154, 0xf155,
    +    0xf156, 0xf157, 0xf158, 0xf159, 0xf15a, 0xf15b, 0xf15c, 0xf15d,
    +    0xf15e, 0xf15f, 0xf160, 0xf161, 0xf162, 0xf163, 0xf164, 0xf165,
    +    0xf166, 0xf167, 0xf168, 0xf169, 0xf16a, 0xf16b, 0xf16c, 0xf16d,
    +    0xf16e, 0xf16f, 0xf170, 0xf171, 0xf172, 0xf173, 0xf174, 0xf175,
    +    0xf176, 0xf177, 0xf178, 0xf179, 0xf17a, 0xf17b, 0xf17c, 0xf17d,
    +    0xf17e, 0xf180, 0xf181, 0xf182, 0xf183, 0xf184, 0xf185, 0xf186,
    +    0xf187, 0xf188, 0xf189, 0xf18a, 0xf18b, 0xf18c, 0xf18d, 0xf18e,
    +    0xf18f, 0xf190, 0xf191, 0xf192, 0xf193, 0xf194, 0xf195, 0xf196,
    +    0xf197, 0xf198, 0xf199, 0xf19a, 0xf19b, 0xf19c, 0xf19d, 0xf19e,
    +    0xf19f, 0xf1a0, 0xf240, 0xf241, 0xf242, 0xf243, 0xf244, 0xf245,
    +    /* 0x9a00 .. 0x9aff */
    +    0xf246, 0xf247, 0xf248, 0xf249, 0xf24a, 0xf24b, 0xf24c, 0xf24d,
    +    0xf24e, 0xf24f, 0xf250, 0xf251, 0xf252, 0xf253, 0xf254, 0xf255,
    +    0xf256, 0xf257, 0xf258, 0xf259, 0xf25a, 0xf25b, 0xf25c, 0xf25d,
    +    0xf25e, 0xf25f, 0xf260, 0xf261, 0xf262, 0xf263, 0xf264, 0xf265,
    +    0xf266, 0xf267, 0xf268, 0xf269, 0xf26a, 0xf26b, 0xf26c, 0xf26d,
    +    0xf26e, 0xf26f, 0xf270, 0xf271, 0xf272, 0xf273, 0xf274, 0xf275,
    +    0xf276, 0xf277, 0xf278, 0xf279, 0xf27a, 0xf27b, 0xf27c, 0xf27d,
    +    0xf27e, 0xf280, 0xf281, 0xf282, 0xf283, 0xf284, 0xf285, 0xf286,
    +    0xf287, 0xf288, 0xf289, 0xf28a, 0xf28b, 0xf28c, 0xf28d, 0xf28e,
    +    0xf28f, 0xf290, 0xf291, 0xf292, 0xf293, 0xf294, 0xf295, 0xf296,
    +    0xf297, 0xf298, 0xf299, 0xf29a, 0xf29b, 0xf29c, 0xf29d, 0xf29e,
    +    0xf29f, 0xf2a0, 0xf340, 0xf341, 0xf342, 0xf343, 0xf344, 0xf345,
    +    0xf346, 0xf347, 0xf348, 0xf349, 0xf34a, 0xf34b, 0xf34c, 0xf34d,
    +    0xf34e, 0xf34f, 0xf350, 0xf351, 0xc2ed, 0xd4a6, 0xcdd4, 0xd1b1,
    +    0xb3db, 0xc7fd, 0xf352, 0xb2b5, 0xc2bf, 0xe6e0, 0xcabb, 0xe6e1,
    +    0xe6e2, 0xbed4, 0xe6e3, 0xd7a4, 0xcdd5, 0xe6e5, 0xbcdd, 0xe6e4,
    +    0xe6e6, 0xe6e7, 0xc2ee, 0xf353, 0xbdbe, 0xe6e8, 0xc2e6, 0xbaa7,
    +    0xe6e9, 0xf354, 0xe6ea, 0xb3d2, 0xd1e9, 0xf355, 0xf356, 0xbfa5,
    +    0xe6eb, 0xc6ef, 0xe6ec, 0xe6ed, 0xf357, 0xf358, 0xe6ee, 0xc6ad,
    +    0xe6ef, 0xf359, 0xc9a7, 0xe6f0, 0xe6f1, 0xe6f2, 0xe5b9, 0xe6f3,
    +    0xe6f4, 0xc2e2, 0xe6f5, 0xe6f6, 0xd6e8, 0xe6f7, 0xf35a, 0xe6f8,
    +    0xb9c7, 0xf35b, 0xf35c, 0xf35d, 0xf35e, 0xf35f, 0xf360, 0xf361,
    +    0xf7bb, 0xf7ba, 0xf362, 0xf363, 0xf364, 0xf365, 0xf7be, 0xf7bc,
    +    0xbaa1, 0xf366, 0xf7bf, 0xf367, 0xf7c0, 0xf368, 0xf369, 0xf36a,
    +    0xf7c2, 0xf7c1, 0xf7c4, 0xf36b, 0xf36c, 0xf7c3, 0xf36d, 0xf36e,
    +    0xf36f, 0xf370, 0xf371, 0xf7c5, 0xf7c6, 0xf372, 0xf373, 0xf374,
    +    0xf375, 0xf7c7, 0xf376, 0xcbe8, 0xf377, 0xf378, 0xf379, 0xf37a,
    +    0xb8df, 0xf37b, 0xf37c, 0xf37d, 0xf37e, 0xf380, 0xf381, 0xf7d4,
    +    0xf382, 0xf7d5, 0xf383, 0xf384, 0xf385, 0xf386, 0xf7d6, 0xf387,
    +    0xf388, 0xf389, 0xf38a, 0xf7d8, 0xf38b, 0xf7da, 0xf38c, 0xf7d7,
    +    0xf38d, 0xf38e, 0xf38f, 0xf390, 0xf391, 0xf392, 0xf393, 0xf394,
    +    0xf395, 0xf7db, 0xf396, 0xf7d9, 0xf397, 0xf398, 0xf399, 0xf39a,
    +    /* 0x9b00 .. 0x9bff */
    +    0xf39b, 0xf39c, 0xf39d, 0xd7d7, 0xf39e, 0xf39f, 0xf3a0, 0xf440,
    +    0xf7dc, 0xf441, 0xf442, 0xf443, 0xf444, 0xf445, 0xf446, 0xf7dd,
    +    0xf447, 0xf448, 0xf449, 0xf7de, 0xf44a, 0xf44b, 0xf44c, 0xf44d,
    +    0xf44e, 0xf44f, 0xf450, 0xf451, 0xf452, 0xf453, 0xf454, 0xf7df,
    +    0xf455, 0xf456, 0xf457, 0xf7e0, 0xf458, 0xf459, 0xf45a, 0xf45b,
    +    0xf45c, 0xf45d, 0xf45e, 0xf45f, 0xf460, 0xf461, 0xf462, 0xdbcb,
    +    0xf463, 0xf464, 0xd8aa, 0xf465, 0xf466, 0xf467, 0xf468, 0xf469,
    +    0xf46a, 0xf46b, 0xf46c, 0xe5f7, 0xb9ed, 0xf46d, 0xf46e, 0xf46f,
    +    0xf470, 0xbffd, 0xbbea, 0xf7c9, 0xc6c7, 0xf7c8, 0xf471, 0xf7ca,
    +    0xf7cc, 0xf7cb, 0xf472, 0xf473, 0xf474, 0xf7cd, 0xf475, 0xceba,
    +    0xf476, 0xf7ce, 0xf477, 0xf478, 0xc4a7, 0xf479, 0xf47a, 0xf47b,
    +    0xf47c, 0xf47d, 0xf47e, 0xf480, 0xf481, 0xf482, 0xf483, 0xf484,
    +    0xf485, 0xf486, 0xf487, 0xf488, 0xf489, 0xf48a, 0xf48b, 0xf48c,
    +    0xf48d, 0xf48e, 0xf48f, 0xf490, 0xf491, 0xf492, 0xf493, 0xf494,
    +    0xf495, 0xf496, 0xf497, 0xf498, 0xf499, 0xf49a, 0xf49b, 0xf49c,
    +    0xf49d, 0xf49e, 0xf49f, 0xf4a0, 0xf540, 0xf541, 0xf542, 0xf543,
    +    0xf544, 0xf545, 0xf546, 0xf547, 0xf548, 0xf549, 0xf54a, 0xf54b,
    +    0xf54c, 0xf54d, 0xf54e, 0xf54f, 0xf550, 0xf551, 0xf552, 0xf553,
    +    0xf554, 0xf555, 0xf556, 0xf557, 0xf558, 0xf559, 0xf55a, 0xf55b,
    +    0xf55c, 0xf55d, 0xf55e, 0xf55f, 0xf560, 0xf561, 0xf562, 0xf563,
    +    0xf564, 0xf565, 0xf566, 0xf567, 0xf568, 0xf569, 0xf56a, 0xf56b,
    +    0xf56c, 0xf56d, 0xf56e, 0xf56f, 0xf570, 0xf571, 0xf572, 0xf573,
    +    0xf574, 0xf575, 0xf576, 0xf577, 0xf578, 0xf579, 0xf57a, 0xf57b,
    +    0xf57c, 0xf57d, 0xf57e, 0xf580, 0xf581, 0xf582, 0xf583, 0xf584,
    +    0xf585, 0xf586, 0xf587, 0xf588, 0xf589, 0xf58a, 0xf58b, 0xf58c,
    +    0xf58d, 0xf58e, 0xf58f, 0xf590, 0xf591, 0xf592, 0xf593, 0xf594,
    +    0xf595, 0xf596, 0xf597, 0xf598, 0xf599, 0xf59a, 0xf59b, 0xf59c,
    +    0xf59d, 0xf59e, 0xf59f, 0xf5a0, 0xf640, 0xf641, 0xf642, 0xf643,
    +    0xf644, 0xf645, 0xf646, 0xf647, 0xf648, 0xf649, 0xf64a, 0xf64b,
    +    0xf64c, 0xf64d, 0xf64e, 0xf64f, 0xf650, 0xf651, 0xf652, 0xf653,
    +    0xf654, 0xf655, 0xf656, 0xf657, 0xf658, 0xf659, 0xf65a, 0xf65b,
    +    0xf65c, 0xf65d, 0xf65e, 0xf65f, 0xf660, 0xf661, 0xf662, 0xf663,
    +    /* 0x9c00 .. 0x9cff */
    +    0xf664, 0xf665, 0xf666, 0xf667, 0xf668, 0xf669, 0xf66a, 0xf66b,
    +    0xf66c, 0xf66d, 0xf66e, 0xf66f, 0xf670, 0xf671, 0xf672, 0xf673,
    +    0xf674, 0xf675, 0xf676, 0xf677, 0xf678, 0xf679, 0xf67a, 0xf67b,
    +    0xf67c, 0xf67d, 0xf67e, 0xf680, 0xf681, 0xf682, 0xf683, 0xf684,
    +    0xf685, 0xf686, 0xf687, 0xf688, 0xf689, 0xf68a, 0xf68b, 0xf68c,
    +    0xf68d, 0xf68e, 0xf68f, 0xf690, 0xf691, 0xf692, 0xf693, 0xf694,
    +    0xf695, 0xf696, 0xf697, 0xf698, 0xf699, 0xf69a, 0xf69b, 0xf69c,
    +    0xf69d, 0xf69e, 0xf69f, 0xf6a0, 0xf740, 0xf741, 0xf742, 0xf743,
    +    0xf744, 0xf745, 0xf746, 0xf747, 0xf748, 0xf749, 0xf74a, 0xf74b,
    +    0xf74c, 0xf74d, 0xf74e, 0xf74f, 0xf750, 0xf751, 0xf752, 0xf753,
    +    0xf754, 0xf755, 0xf756, 0xf757, 0xf758, 0xf759, 0xf75a, 0xf75b,
    +    0xf75c, 0xf75d, 0xf75e, 0xf75f, 0xf760, 0xf761, 0xf762, 0xf763,
    +    0xf764, 0xf765, 0xf766, 0xf767, 0xf768, 0xf769, 0xf76a, 0xf76b,
    +    0xf76c, 0xf76d, 0xf76e, 0xf76f, 0xf770, 0xf771, 0xf772, 0xf773,
    +    0xf774, 0xf775, 0xf776, 0xf777, 0xf778, 0xf779, 0xf77a, 0xf77b,
    +    0xf77c, 0xf77d, 0xf77e, 0xf780, 0xd3e3, 0xf781, 0xf782, 0xf6cf,
    +    0xf783, 0xc2b3, 0xf6d0, 0xf784, 0xf785, 0xf6d1, 0xf6d2, 0xf6d3,
    +    0xf6d4, 0xf786, 0xf787, 0xf6d6, 0xf788, 0xb1ab, 0xf6d7, 0xf789,
    +    0xf6d8, 0xf6d9, 0xf6da, 0xf78a, 0xf6db, 0xf6dc, 0xf78b, 0xf78c,
    +    0xf78d, 0xf78e, 0xf6dd, 0xf6de, 0xcfca, 0xf78f, 0xf6df, 0xf6e0,
    +    0xf6e1, 0xf6e2, 0xf6e3, 0xf6e4, 0xc0f0, 0xf6e5, 0xf6e6, 0xf6e7,
    +    0xf6e8, 0xf6e9, 0xf790, 0xf6ea, 0xf791, 0xf6eb, 0xf6ec, 0xf792,
    +    0xf6ed, 0xf6ee, 0xf6ef, 0xf6f0, 0xf6f1, 0xf6f2, 0xf6f3, 0xf6f4,
    +    0xbea8, 0xf793, 0xf6f5, 0xf6f6, 0xf6f7, 0xf6f8, 0xf794, 0xf795,
    +    0xf796, 0xf797, 0xf798, 0xc8fa, 0xf6f9, 0xf6fa, 0xf6fb, 0xf6fc,
    +    0xf799, 0xf79a, 0xf6fd, 0xf6fe, 0xf7a1, 0xf7a2, 0xf7a3, 0xf7a4,
    +    0xf7a5, 0xf79b, 0xf79c, 0xf7a6, 0xf7a7, 0xf7a8, 0xb1ee, 0xf7a9,
    +    0xf7aa, 0xf7ab, 0xf79d, 0xf79e, 0xf7ac, 0xf7ad, 0xc1db, 0xf7ae,
    +    0xf79f, 0xf7a0, 0xf7af, 0xf840, 0xf841, 0xf842, 0xf843, 0xf844,
    +    0xf845, 0xf846, 0xf847, 0xf848, 0xf849, 0xf84a, 0xf84b, 0xf84c,
    +    0xf84d, 0xf84e, 0xf84f, 0xf850, 0xf851, 0xf852, 0xf853, 0xf854,
    +    0xf855, 0xf856, 0xf857, 0xf858, 0xf859, 0xf85a, 0xf85b, 0xf85c,
    +    /* 0x9d00 .. 0x9dff */
    +    0xf85d, 0xf85e, 0xf85f, 0xf860, 0xf861, 0xf862, 0xf863, 0xf864,
    +    0xf865, 0xf866, 0xf867, 0xf868, 0xf869, 0xf86a, 0xf86b, 0xf86c,
    +    0xf86d, 0xf86e, 0xf86f, 0xf870, 0xf871, 0xf872, 0xf873, 0xf874,
    +    0xf875, 0xf876, 0xf877, 0xf878, 0xf879, 0xf87a, 0xf87b, 0xf87c,
    +    0xf87d, 0xf87e, 0xf880, 0xf881, 0xf882, 0xf883, 0xf884, 0xf885,
    +    0xf886, 0xf887, 0xf888, 0xf889, 0xf88a, 0xf88b, 0xf88c, 0xf88d,
    +    0xf88e, 0xf88f, 0xf890, 0xf891, 0xf892, 0xf893, 0xf894, 0xf895,
    +    0xf896, 0xf897, 0xf898, 0xf899, 0xf89a, 0xf89b, 0xf89c, 0xf89d,
    +    0xf89e, 0xf89f, 0xf8a0, 0xf940, 0xf941, 0xf942, 0xf943, 0xf944,
    +    0xf945, 0xf946, 0xf947, 0xf948, 0xf949, 0xf94a, 0xf94b, 0xf94c,
    +    0xf94d, 0xf94e, 0xf94f, 0xf950, 0xf951, 0xf952, 0xf953, 0xf954,
    +    0xf955, 0xf956, 0xf957, 0xf958, 0xf959, 0xf95a, 0xf95b, 0xf95c,
    +    0xf95d, 0xf95e, 0xf95f, 0xf960, 0xf961, 0xf962, 0xf963, 0xf964,
    +    0xf965, 0xf966, 0xf967, 0xf968, 0xf969, 0xf96a, 0xf96b, 0xf96c,
    +    0xf96d, 0xf96e, 0xf96f, 0xf970, 0xf971, 0xf972, 0xf973, 0xf974,
    +    0xf975, 0xf976, 0xf977, 0xf978, 0xf979, 0xf97a, 0xf97b, 0xf97c,
    +    0xf97d, 0xf97e, 0xf980, 0xf981, 0xf982, 0xf983, 0xf984, 0xf985,
    +    0xf986, 0xf987, 0xf988, 0xf989, 0xf98a, 0xf98b, 0xf98c, 0xf98d,
    +    0xf98e, 0xf98f, 0xf990, 0xf991, 0xf992, 0xf993, 0xf994, 0xf995,
    +    0xf996, 0xf997, 0xf998, 0xf999, 0xf99a, 0xf99b, 0xf99c, 0xf99d,
    +    0xf99e, 0xf99f, 0xf9a0, 0xfa40, 0xfa41, 0xfa42, 0xfa43, 0xfa44,
    +    0xfa45, 0xfa46, 0xfa47, 0xfa48, 0xfa49, 0xfa4a, 0xfa4b, 0xfa4c,
    +    0xfa4d, 0xfa4e, 0xfa4f, 0xfa50, 0xfa51, 0xfa52, 0xfa53, 0xfa54,
    +    0xfa55, 0xfa56, 0xfa57, 0xfa58, 0xfa59, 0xfa5a, 0xfa5b, 0xfa5c,
    +    0xfa5d, 0xfa5e, 0xfa5f, 0xfa60, 0xfa61, 0xfa62, 0xfa63, 0xfa64,
    +    0xfa65, 0xfa66, 0xfa67, 0xfa68, 0xfa69, 0xfa6a, 0xfa6b, 0xfa6c,
    +    0xfa6d, 0xfa6e, 0xfa6f, 0xfa70, 0xfa71, 0xfa72, 0xfa73, 0xfa74,
    +    0xfa75, 0xfa76, 0xfa77, 0xfa78, 0xfa79, 0xfa7a, 0xfa7b, 0xfa7c,
    +    0xfa7d, 0xfa7e, 0xfa80, 0xfa81, 0xfa82, 0xfa83, 0xfa84, 0xfa85,
    +    0xfa86, 0xfa87, 0xfa88, 0xfa89, 0xfa8a, 0xfa8b, 0xfa8c, 0xfa8d,
    +    0xfa8e, 0xfa8f, 0xfa90, 0xfa91, 0xfa92, 0xfa93, 0xfa94, 0xfa95,
    +    0xfa96, 0xfa97, 0xfa98, 0xfa99, 0xfa9a, 0xfa9b, 0xfa9c, 0xfa9d,
    +    /* 0x9e00 .. 0x9eff */
    +    0xfa9e, 0xfa9f, 0xfaa0, 0xfb40, 0xfb41, 0xfb42, 0xfb43, 0xfb44,
    +    0xfb45, 0xfb46, 0xfb47, 0xfb48, 0xfb49, 0xfb4a, 0xfb4b, 0xfb4c,
    +    0xfb4d, 0xfb4e, 0xfb4f, 0xfb50, 0xfb51, 0xfb52, 0xfb53, 0xfb54,
    +    0xfb55, 0xfb56, 0xfb57, 0xfb58, 0xfb59, 0xfb5a, 0xfb5b, 0xc4f1,
    +    0xf0af, 0xbca6, 0xf0b0, 0xc3f9, 0xfb5c, 0xc5b8, 0xd1bb, 0xfb5d,
    +    0xf0b1, 0xf0b2, 0xf0b3, 0xf0b4, 0xf0b5, 0xd1bc, 0xfb5e, 0xd1ec,
    +    0xfb5f, 0xf0b7, 0xf0b6, 0xd4a7, 0xfb60, 0xcdd2, 0xf0b8, 0xf0ba,
    +    0xf0b9, 0xf0bb, 0xf0bc, 0xfb61, 0xfb62, 0xb8eb, 0xf0bd, 0xbae8,
    +    0xfb63, 0xf0be, 0xf0bf, 0xbee9, 0xf0c0, 0xb6ec, 0xf0c1, 0xf0c2,
    +    0xf0c3, 0xf0c4, 0xc8b5, 0xf0c5, 0xf0c6, 0xfb64, 0xf0c7, 0xc5f4,
    +    0xfb65, 0xf0c8, 0xfb66, 0xfb67, 0xfb68, 0xf0c9, 0xfb69, 0xf0ca,
    +    0xf7bd, 0xfb6a, 0xf0cb, 0xf0cc, 0xf0cd, 0xfb6b, 0xf0ce, 0xfb6c,
    +    0xfb6d, 0xfb6e, 0xfb6f, 0xf0cf, 0xbad7, 0xfb70, 0xf0d0, 0xf0d1,
    +    0xf0d2, 0xf0d3, 0xf0d4, 0xf0d5, 0xf0d6, 0xf0d8, 0xfb71, 0xfb72,
    +    0xd3a5, 0xf0d7, 0xfb73, 0xf0d9, 0xfb74, 0xfb75, 0xfb76, 0xfb77,
    +    0xfb78, 0xfb79, 0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d, 0xf5ba, 0xc2b9,
    +    0xfb7e, 0xfb80, 0xf7e4, 0xfb81, 0xfb82, 0xfb83, 0xfb84, 0xf7e5,
    +    0xf7e6, 0xfb85, 0xfb86, 0xf7e7, 0xfb87, 0xfb88, 0xfb89, 0xfb8a,
    +    0xfb8b, 0xfb8c, 0xf7e8, 0xc2b4, 0xfb8d, 0xfb8e, 0xfb8f, 0xfb90,
    +    0xfb91, 0xfb92, 0xfb93, 0xfb94, 0xfb95, 0xf7ea, 0xfb96, 0xf7eb,
    +    0xfb97, 0xfb98, 0xfb99, 0xfb9a, 0xfb9b, 0xfb9c, 0xc2f3, 0xfb9d,
    +    0xfb9e, 0xfb9f, 0xfba0, 0xfc40, 0xfc41, 0xfc42, 0xfc43, 0xfc44,
    +    0xfc45, 0xfc46, 0xfc47, 0xfc48, 0xf4f0, 0xfc49, 0xfc4a, 0xfc4b,
    +    0xf4ef, 0xfc4c, 0xfc4d, 0xc2e9, 0xfc4e, 0xf7e1, 0xf7e2, 0xfc4f,
    +    0xfc50, 0xfc51, 0xfc52, 0xfc53, 0xbbc6, 0xfc54, 0xfc55, 0xfc56,
    +    0xfc57, 0xd9e4, 0xfc58, 0xfc59, 0xfc5a, 0xcaf2, 0xc0e8, 0xf0a4,
    +    0xfc5b, 0xbada, 0xfc5c, 0xfc5d, 0xc7ad, 0xfc5e, 0xfc5f, 0xfc60,
    +    0xc4ac, 0xfc61, 0xfc62, 0xf7ec, 0xf7ed, 0xf7ee, 0xfc63, 0xf7f0,
    +    0xf7ef, 0xfc64, 0xf7f1, 0xfc65, 0xfc66, 0xf7f4, 0xfc67, 0xf7f3,
    +    0xfc68, 0xf7f2, 0xf7f5, 0xfc69, 0xfc6a, 0xfc6b, 0xfc6c, 0xf7f6,
    +    0xfc6d, 0xfc6e, 0xfc6f, 0xfc70, 0xfc71, 0xfc72, 0xfc73, 0xfc74,
    +    0xfc75, 0xede9, 0xfc76, 0xedea, 0xedeb, 0xfc77, 0xf6bc, 0xfc78,
    +    /* 0x9f00 .. 0x9fff */
    +    0xfc79, 0xfc7a, 0xfc7b, 0xfc7c, 0xfc7d, 0xfc7e, 0xfc80, 0xfc81,
    +    0xfc82, 0xfc83, 0xfc84, 0xf6bd, 0xfc85, 0xf6be, 0xb6a6, 0xfc86,
    +    0xd8be, 0xfc87, 0xfc88, 0xb9c4, 0xfc89, 0xfc8a, 0xfc8b, 0xd8bb,
    +    0xfc8c, 0xdcb1, 0xfc8d, 0xfc8e, 0xfc8f, 0xfc90, 0xfc91, 0xfc92,
    +    0xcaf3, 0xfc93, 0xf7f7, 0xfc94, 0xfc95, 0xfc96, 0xfc97, 0xfc98,
    +    0xfc99, 0xfc9a, 0xfc9b, 0xfc9c, 0xf7f8, 0xfc9d, 0xfc9e, 0xf7f9,
    +    0xfc9f, 0xfca0, 0xfd40, 0xfd41, 0xfd42, 0xfd43, 0xfd44, 0xf7fb,
    +    0xfd45, 0xf7fa, 0xfd46, 0xb1c7, 0xfd47, 0xf7fc, 0xf7fd, 0xfd48,
    +    0xfd49, 0xfd4a, 0xfd4b, 0xfd4c, 0xf7fe, 0xfd4d, 0xfd4e, 0xfd4f,
    +    0xfd50, 0xfd51, 0xfd52, 0xfd53, 0xfd54, 0xfd55, 0xfd56, 0xfd57,
    +    0xc6eb, 0xecb4, 0xfd58, 0xfd59, 0xfd5a, 0xfd5b, 0xfd5c, 0xfd5d,
    +    0xfd5e, 0xfd5f, 0xfd60, 0xfd61, 0xfd62, 0xfd63, 0xfd64, 0xfd65,
    +    0xfd66, 0xfd67, 0xfd68, 0xfd69, 0xfd6a, 0xfd6b, 0xfd6c, 0xfd6d,
    +    0xfd6e, 0xfd6f, 0xfd70, 0xfd71, 0xfd72, 0xfd73, 0xfd74, 0xfd75,
    +    0xfd76, 0xfd77, 0xfd78, 0xfd79, 0xfd7a, 0xfd7b, 0xfd7c, 0xfd7d,
    +    0xfd7e, 0xfd80, 0xfd81, 0xfd82, 0xfd83, 0xfd84, 0xfd85, 0xb3dd,
    +    0xf6b3, 0xfd86, 0xfd87, 0xf6b4, 0xc1e4, 0xf6b5, 0xf6b6, 0xf6b7,
    +    0xf6b8, 0xf6b9, 0xf6ba, 0xc8a3, 0xf6bb, 0xfd88, 0xfd89, 0xfd8a,
    +    0xfd8b, 0xfd8c, 0xfd8d, 0xfd8e, 0xfd8f, 0xfd90, 0xfd91, 0xfd92,
    +    0xfd93, 0xc1fa, 0xb9a8, 0xede8, 0xfd94, 0xfd95, 0xfd96, 0xb9ea,
    +    0xd9df, 0xfd97, 0xfd98, 0xfd99, 0xfd9a, 0xfd9b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xf900 .. 0xf9ff */
    +    0xd84d, 0xb8fc, 0xdc87, 0xd95a, 0xbbac, 0xb4ae, 0xbee4, 0xfd94,
    +    0xfd94, 0xc6f5, 0xbdf0, 0xc0ae, 0xc4ce, 0x91d0, 0xb05d, 0xc15f,
    +    0xcc7d, 0xc2dd, 0xc2e3, 0xdf89, 0x98b7, 0xc2e5, 0xc0d3, 0xe7f3,
    +    0xc2e4, 0xc0d2, 0xf198, 0x8179, 0xc2d1, 0x99da, 0xa080, 0xcc6d,
    +    0xfb5b, 0x8db9, 0x9e45, 0xcb7b, 0xd268, 0xc0ad, 0xc544, 0xcf9e,
    +    0xc0c8, 0xc0ca, 0xc0cb, 0xc0c7, 0xfd9c, 0x81ed, 0xc0e4, 0x84da,
    +    0x93ef, 0x99a9, 0xa074, 0xb152, 0xc0cf, 0xcc4a, 0xcc94, 0xc2b7,
    +    0xc2b6, 0xf494, 0xfa98, 0xc2b5, 0xb593, 0xbe47, 0xc78a, 0xe49b,
    +    0xc2b9, 0xd593, 0x89c5, 0xc5aa, 0xbb5c, 0xc340, 0xc0ce, 0xc0da,
    +    0xd954, 0xc0d7, 0x89be, 0x8cd2, 0x98c7, 0x9c49, 0xc2a9, 0xc0db,
    +    0xbf7c, 0xc2aa, 0xc0d5, 0xc0df, 0x8443, 0xc1e8, 0xb6a0, 0xbe63,
    +    0xc1e2, 0xc1ea, 0xd778, 0x9282, 0x98b7, 0xd65a, 0xb5a4, 0x8c8e,
    +    0xc5ad, 0xc2ca, 0xae90, 0xb1b1, 0xb491, 0xb1e3, 0x8fcd, 0xb2bb,
    +    0xc3da, 0x94b5, 0xcbf7, 0x85a2, 0xc8fb, 0xcaa1, 0xc87e, 0xd566,
    +    0x9aa2, 0xb3bd, 0xc9f2, 0xcab0, 0xc8f4, 0xc2d3, 0xc2d4, 0xc1c1,
    +    0x83c9, 0xfd9d, 0xc1ba, 0xbc5a, 0xc1bc, 0xd58f, 0xc1bf, 0x84ee,
    +    0x85ce, 0xc5ae, 0x8f5d, 0xc2c3, 0x9e56, 0xb55a, 0xe982, 0xf350,
    +    0xfb90, 0xc0e8, 0xc1a6, 0x95d1, 0x9a76, 0xde5d, 0xc4ea, 0x917a,
    +    0x91d9, 0x93d3, 0x9d69, 0x9f92, 0xad49, 0xfd9e, 0xbe9a, 0xc293,
    +    0xdd82, 0xc98f, 0xdf42, 0xe580, 0xc1d0, 0xc1d3, 0xd1ca, 0xc1d2,
    +    0xc1d1, 0xd566, 0xc1ae, 0xc4ee, 0xc4ed, 0x9a9a, 0xba9f, 0xab43,
    +    0xc1ee, 0xe0f2, 0x8c8e, 0x8e58, 0xc1af, 0xc1e1, 0xac93, 0xc1e7,
    +    0xf1f6, 0xe28f, 0xc1e3, 0xec60, 0xee49, 0xc0fd, 0xb659, 0xf5b7,
    +    0xeb60, 0x90ba, 0xc1cb, 0xc1c5, 0xe5bc, 0xc4f2, 0xc1cf, 0x98b7,
    +    0xc1c7, 0xaf9f, 0xdea4, 0xdf7c, 0xfd88, 0x959e, 0xc8ee, 0x84a2,
    +    0x9683, 0xc1f8, 0xc1f7, 0xc1ef, 0xc1f0, 0xc1f4, 0xc1f2, 0xbc7e,
    +    0xee90, 0xc1f9, 0xc2be, 0xea91, 0x8290, 0x8d91, 0x9c53, 0xdd86,
    +    0xc2c9, 0x90fc, 0xc0f5, 0xc2ca, 0xc2a1, 0xc0fb, 0xc0f4, 0xc2c4,
    +    0xd2d7, 0xc0ee, 0xc0e6, 0xc4e0, 0xc0ed, 0xc1a1, 0xeebe, 0xfd9f,
    +    0xd165, 0xc0ef, 0xeb78, 0xc4e4, 0xc4e7, 0xc1df, 0x9ffb, 0xad55,
    +    0xcc41, 0xfda0, 0xf75b, 0xf7eb, 0xc1d6, 0xc1dc, 0xc552, 0xc1a2,
    +    0xf3d2, 0xc1a3, 0xa0ee, 0xd6cb, 0xd752, 0xcab2, 0xb2e8, 0xb4cc,
    +    /* 0xfa00 .. 0xfaff */
    +    0xc7d0, 0xb6c8, 0xcdd8, 0xccc7, 0xd5ac, 0xb6b4, 0xb1a9, 0xdd97,
    +    0xd0d0, 0xbdb5, 0xd28a, 0xc0aa, 0xfe40, 0xfe41, 0xfe42, 0xfe43,
    +    0x8956, 0xfe44, 0xc7e7, 0xfe45, 0xfe46, 0x8444, 0xd6ed, 0xd2e6,
    +    0xfe47, 0xc9f1, 0xcfe9, 0xb8a3, 0xbeb8, 0xbeab, 0xd3f0, 0xfe48,
    +    0xfe49, 0xfe4a, 0xd654, 0xfe4b, 0xfe4c, 0xd2dd, 0xb6bc, 0xfe4d,
    +    0xfe4e, 0xfe4f, 0xef88, 0xef95, 0xf05e, 0xfa51, 0x003f, 0x003f,
    +    0xceea, 0xc9ae, 0xc3e2, 0xc3e3, 0xc7da, 0xb1b0, 0xbac8, 0x8740,
    +    0xc6f7, 0x8942, 0xc4ab, 0x8cd3, 0xe5f8, 0xbbda, 0xbfae, 0xd4f7,
    +    0x91cd, 0xc3f4, 0xbcc8, 0xcaee, 0xc3b7, 0xbaa3, 0xe4be, 0x9d68,
    +    0xd6f3, 0xa08d, 0xd7c1, 0xb1ae, 0xc9e7, 0xeced, 0xc6ed, 0xb576,
    +    0xd7e6, 0xd7a3, 0xb59c, 0xb59d, 0xb759, 0xcdbb, 0xb99d, 0xbe9a,
    +    0xbf4e, 0xb7b1, 0xcaf0, 0xd5df, 0xb3f4, 0xdcb3, 0xdcb3, 0xd6f8,
    +    0xbad6, 0xd295, 0xd65d, 0xd694, 0xd965, 0xd99b, 0xe5c1, 0xd2dd,
    +    0xeb79, 0xed91, 0xee6c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa955, 0xa6f2, 0x003f, 0xa6f4, 0xa6f5, 0xa6e0, 0xa6e1, 0xa6f0,
    +    0xa6f1, 0xa6e2, 0xa6e3, 0xa6ee, 0xa6ef, 0xa6e6, 0xa6e7, 0xa6e4,
    +    0xa6e5, 0xa6e8, 0xa6e9, 0xa6ea, 0xa6eb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa968, 0xa969, 0xa96a, 0xa96b, 0xa96c, 0xa96d, 0xa96e,
    +    0xa96f, 0xa970, 0xa971, 0x003f, 0xa972, 0xa973, 0xa974, 0xa975,
    +    0xa1aa, 0xa976, 0xa977, 0xa978, 0xa979, 0xa97a, 0xa97b, 0xa97c,
    +    0xa97d, 0xa97e, 0xa980, 0xa981, 0xa982, 0xa983, 0xa984, 0x003f,
    +    0xa985, 0xa986, 0xa987, 0xa988, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xff00 .. 0xffff */
    +    0x003f, 0xa3a1, 0xa3a2, 0xa3a3, 0xa1e7, 0xa3a5, 0xa3a6, 0xa3a7,
    +    0xa3a8, 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af,
    +    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,
    +    0xa3b8, 0xa3b9, 0xa3ba, 0xa3bb, 0xa3bc, 0xa3bd, 0xa3be, 0xa3bf,
    +    0xa3c0, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,
    +    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,
    +    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,
    +    0xa3d8, 0xa3d9, 0xa3da, 0xa3db, 0xa3dc, 0xa3dd, 0xa3de, 0xa3df,
    +    0xa3e0, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,
    +    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,
    +    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,
    +    0xa3f8, 0xa3f9, 0xa3fa, 0xa3fb, 0xa3fc, 0xa3fd, 0xa1ab, 0x003f,
    +    0x003f, 0xa1a3, 0xa1b8, 0xa1b9, 0xa1a2, 0x003f, 0xa5f2, 0xa5a1,
    +    0xa5a3, 0xa5a5, 0xa5a7, 0xa5a9, 0xa5e3, 0xa5e5, 0xa5e7, 0xa5c3,
    +    0xa960, 0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad,
    +    0xa5af, 0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd,
    +    0xa5bf, 0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc,
    +    0xa5cd, 0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de,
    +    0xa5df, 0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9,
    +    0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1e9, 0xa1ea, 0xa956, 0xa3fe, 0xa957, 0xa3a4, 0x003f, 0x003f,
    +    0xa9a6, 0xa1fb, 0xa1fc, 0xa1fa, 0xa1fd, 0xa1f6, 0xa1f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* defaults */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x0f00, 0x1000,
    +    0x1100, 0x1200, 0x1300, 0x1400, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x1500, 0x1600,
    +    0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00, 0x1e00,
    +    0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500, 0x2600,
    +    0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00, 0x2e00,
    +    0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600,
    +    0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00, 0x3e00,
    +    0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600,
    +    0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00, 0x4e00,
    +    0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600,
    +    0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00, 0x5e00,
    +    0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500, 0x6600,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00, 0x6c00,
    +    0x6c00, 0x6700, 0x6800, 0x6900, 0x6c00, 0x6c00, 0x6a00, 0x6b00
    +};
    +
    +const struct dbcs_table cptable_936 =
    +{
    +    { 936, 2, 0x003f, 0x003f, "ANSI/OEM Simplified Chinese GBK" },
    +    cp2uni,
    +    cp2uni_leadbytes,
    +    uni2cp_low,
    +    uni2cp_high,
    +    { 0x81, 0xfe, 0x00, 0x00 }
    +};
    diff --git a/reactos/lib/unicode/c_949.c b/reactos/tools/unicode/c_949.c
    similarity index 98%
    rename from reactos/lib/unicode/c_949.c
    rename to reactos/tools/unicode/c_949.c
    index 5711c8b4bed..556c10e5177 100644
    --- a/reactos/lib/unicode/c_949.c
    +++ b/reactos/tools/unicode/c_949.c
    @@ -1,9301 +1,9301 @@
    -/* code page 949 (ANSI/OEM Korean Unified Hangul) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[32256] =
    -{
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 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, 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, 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, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,
    -    /* unused lead bytes */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte 81 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xac02, 0xac03, 0xac05, 0xac06, 0xac0b, 0xac0c, 0xac0d,
    -    0xac0e, 0xac0f, 0xac18, 0xac1e, 0xac1f, 0xac21, 0xac22, 0xac23,
    -    0xac25, 0xac26, 0xac27, 0xac28, 0xac29, 0xac2a, 0xac2b, 0xac2e,
    -    0xac32, 0xac33, 0xac34, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xac35, 0xac36, 0xac37, 0xac3a, 0xac3b, 0xac3d, 0xac3e,
    -    0xac3f, 0xac41, 0xac42, 0xac43, 0xac44, 0xac45, 0xac46, 0xac47,
    -    0xac48, 0xac49, 0xac4a, 0xac4c, 0xac4e, 0xac4f, 0xac50, 0xac51,
    -    0xac52, 0xac53, 0xac55, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xac56, 0xac57, 0xac59, 0xac5a, 0xac5b, 0xac5d, 0xac5e,
    -    0xac5f, 0xac60, 0xac61, 0xac62, 0xac63, 0xac64, 0xac65, 0xac66,
    -    0xac67, 0xac68, 0xac69, 0xac6a, 0xac6b, 0xac6c, 0xac6d, 0xac6e,
    -    0xac6f, 0xac72, 0xac73, 0xac75, 0xac76, 0xac79, 0xac7b, 0xac7c,
    -    0xac7d, 0xac7e, 0xac7f, 0xac82, 0xac87, 0xac88, 0xac8d, 0xac8e,
    -    0xac8f, 0xac91, 0xac92, 0xac93, 0xac95, 0xac96, 0xac97, 0xac98,
    -    0xac99, 0xac9a, 0xac9b, 0xac9e, 0xaca2, 0xaca3, 0xaca4, 0xaca5,
    -    0xaca6, 0xaca7, 0xacab, 0xacad, 0xacae, 0xacb1, 0xacb2, 0xacb3,
    -    0xacb4, 0xacb5, 0xacb6, 0xacb7, 0xacba, 0xacbe, 0xacbf, 0xacc0,
    -    0xacc2, 0xacc3, 0xacc5, 0xacc6, 0xacc7, 0xacc9, 0xacca, 0xaccb,
    -    0xaccd, 0xacce, 0xaccf, 0xacd0, 0xacd1, 0xacd2, 0xacd3, 0xacd4,
    -    0xacd6, 0xacd8, 0xacd9, 0xacda, 0xacdb, 0xacdc, 0xacdd, 0xacde,
    -    0xacdf, 0xace2, 0xace3, 0xace5, 0xace6, 0xace9, 0xaceb, 0xaced,
    -    0xacee, 0xacf2, 0xacf4, 0xacf7, 0xacf8, 0xacf9, 0xacfa, 0xacfb,
    -    0xacfe, 0xacff, 0xad01, 0xad02, 0xad03, 0xad05, 0xad07, 0xad08,
    -    0xad09, 0xad0a, 0xad0b, 0xad0e, 0xad10, 0xad12, 0xad13, 0x003f,
    -    /* lead byte 82 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xad14, 0xad15, 0xad16, 0xad17, 0xad19, 0xad1a, 0xad1b,
    -    0xad1d, 0xad1e, 0xad1f, 0xad21, 0xad22, 0xad23, 0xad24, 0xad25,
    -    0xad26, 0xad27, 0xad28, 0xad2a, 0xad2b, 0xad2e, 0xad2f, 0xad30,
    -    0xad31, 0xad32, 0xad33, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xad36, 0xad37, 0xad39, 0xad3a, 0xad3b, 0xad3d, 0xad3e,
    -    0xad3f, 0xad40, 0xad41, 0xad42, 0xad43, 0xad46, 0xad48, 0xad4a,
    -    0xad4b, 0xad4c, 0xad4d, 0xad4e, 0xad4f, 0xad51, 0xad52, 0xad53,
    -    0xad55, 0xad56, 0xad57, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xad59, 0xad5a, 0xad5b, 0xad5c, 0xad5d, 0xad5e, 0xad5f,
    -    0xad60, 0xad62, 0xad64, 0xad65, 0xad66, 0xad67, 0xad68, 0xad69,
    -    0xad6a, 0xad6b, 0xad6e, 0xad6f, 0xad71, 0xad72, 0xad77, 0xad78,
    -    0xad79, 0xad7a, 0xad7e, 0xad80, 0xad83, 0xad84, 0xad85, 0xad86,
    -    0xad87, 0xad8a, 0xad8b, 0xad8d, 0xad8e, 0xad8f, 0xad91, 0xad92,
    -    0xad93, 0xad94, 0xad95, 0xad96, 0xad97, 0xad98, 0xad99, 0xad9a,
    -    0xad9b, 0xad9e, 0xad9f, 0xada0, 0xada1, 0xada2, 0xada3, 0xada5,
    -    0xada6, 0xada7, 0xada8, 0xada9, 0xadaa, 0xadab, 0xadac, 0xadad,
    -    0xadae, 0xadaf, 0xadb0, 0xadb1, 0xadb2, 0xadb3, 0xadb4, 0xadb5,
    -    0xadb6, 0xadb8, 0xadb9, 0xadba, 0xadbb, 0xadbc, 0xadbd, 0xadbe,
    -    0xadbf, 0xadc2, 0xadc3, 0xadc5, 0xadc6, 0xadc7, 0xadc9, 0xadca,
    -    0xadcb, 0xadcc, 0xadcd, 0xadce, 0xadcf, 0xadd2, 0xadd4, 0xadd5,
    -    0xadd6, 0xadd7, 0xadd8, 0xadd9, 0xadda, 0xaddb, 0xaddd, 0xadde,
    -    0xaddf, 0xade1, 0xade2, 0xade3, 0xade5, 0xade6, 0xade7, 0xade8,
    -    0xade9, 0xadea, 0xadeb, 0xadec, 0xaded, 0xadee, 0xadef, 0xadf0,
    -    0xadf1, 0xadf2, 0xadf3, 0xadf4, 0xadf5, 0xadf6, 0xadf7, 0x003f,
    -    /* lead byte 83 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xadfa, 0xadfb, 0xadfd, 0xadfe, 0xae02, 0xae03, 0xae04,
    -    0xae05, 0xae06, 0xae07, 0xae0a, 0xae0c, 0xae0e, 0xae0f, 0xae10,
    -    0xae11, 0xae12, 0xae13, 0xae15, 0xae16, 0xae17, 0xae18, 0xae19,
    -    0xae1a, 0xae1b, 0xae1c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xae1d, 0xae1e, 0xae1f, 0xae20, 0xae21, 0xae22, 0xae23,
    -    0xae24, 0xae25, 0xae26, 0xae27, 0xae28, 0xae29, 0xae2a, 0xae2b,
    -    0xae2c, 0xae2d, 0xae2e, 0xae2f, 0xae32, 0xae33, 0xae35, 0xae36,
    -    0xae39, 0xae3b, 0xae3c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xae3d, 0xae3e, 0xae3f, 0xae42, 0xae44, 0xae47, 0xae48,
    -    0xae49, 0xae4b, 0xae4f, 0xae51, 0xae52, 0xae53, 0xae55, 0xae57,
    -    0xae58, 0xae59, 0xae5a, 0xae5b, 0xae5e, 0xae62, 0xae63, 0xae64,
    -    0xae66, 0xae67, 0xae6a, 0xae6b, 0xae6d, 0xae6e, 0xae6f, 0xae71,
    -    0xae72, 0xae73, 0xae74, 0xae75, 0xae76, 0xae77, 0xae7a, 0xae7e,
    -    0xae7f, 0xae80, 0xae81, 0xae82, 0xae83, 0xae86, 0xae87, 0xae88,
    -    0xae89, 0xae8a, 0xae8b, 0xae8d, 0xae8e, 0xae8f, 0xae90, 0xae91,
    -    0xae92, 0xae93, 0xae94, 0xae95, 0xae96, 0xae97, 0xae98, 0xae99,
    -    0xae9a, 0xae9b, 0xae9c, 0xae9d, 0xae9e, 0xae9f, 0xaea0, 0xaea1,
    -    0xaea2, 0xaea3, 0xaea4, 0xaea5, 0xaea6, 0xaea7, 0xaea8, 0xaea9,
    -    0xaeaa, 0xaeab, 0xaeac, 0xaead, 0xaeae, 0xaeaf, 0xaeb0, 0xaeb1,
    -    0xaeb2, 0xaeb3, 0xaeb4, 0xaeb5, 0xaeb6, 0xaeb7, 0xaeb8, 0xaeb9,
    -    0xaeba, 0xaebb, 0xaebf, 0xaec1, 0xaec2, 0xaec3, 0xaec5, 0xaec6,
    -    0xaec7, 0xaec8, 0xaec9, 0xaeca, 0xaecb, 0xaece, 0xaed2, 0xaed3,
    -    0xaed4, 0xaed5, 0xaed6, 0xaed7, 0xaeda, 0xaedb, 0xaedd, 0xaede,
    -    0xaedf, 0xaee0, 0xaee1, 0xaee2, 0xaee3, 0xaee4, 0xaee5, 0x003f,
    -    /* lead byte 84 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaee6, 0xaee7, 0xaee9, 0xaeea, 0xaeec, 0xaeee, 0xaeef,
    -    0xaef0, 0xaef1, 0xaef2, 0xaef3, 0xaef5, 0xaef6, 0xaef7, 0xaef9,
    -    0xaefa, 0xaefb, 0xaefd, 0xaefe, 0xaeff, 0xaf00, 0xaf01, 0xaf02,
    -    0xaf03, 0xaf04, 0xaf05, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaf06, 0xaf09, 0xaf0a, 0xaf0b, 0xaf0c, 0xaf0e, 0xaf0f,
    -    0xaf11, 0xaf12, 0xaf13, 0xaf14, 0xaf15, 0xaf16, 0xaf17, 0xaf18,
    -    0xaf19, 0xaf1a, 0xaf1b, 0xaf1c, 0xaf1d, 0xaf1e, 0xaf1f, 0xaf20,
    -    0xaf21, 0xaf22, 0xaf23, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaf24, 0xaf25, 0xaf26, 0xaf27, 0xaf28, 0xaf29, 0xaf2a,
    -    0xaf2b, 0xaf2e, 0xaf2f, 0xaf31, 0xaf33, 0xaf35, 0xaf36, 0xaf37,
    -    0xaf38, 0xaf39, 0xaf3a, 0xaf3b, 0xaf3e, 0xaf40, 0xaf44, 0xaf45,
    -    0xaf46, 0xaf47, 0xaf4a, 0xaf4b, 0xaf4c, 0xaf4d, 0xaf4e, 0xaf4f,
    -    0xaf51, 0xaf52, 0xaf53, 0xaf54, 0xaf55, 0xaf56, 0xaf57, 0xaf58,
    -    0xaf59, 0xaf5a, 0xaf5b, 0xaf5e, 0xaf5f, 0xaf60, 0xaf61, 0xaf62,
    -    0xaf63, 0xaf66, 0xaf67, 0xaf68, 0xaf69, 0xaf6a, 0xaf6b, 0xaf6c,
    -    0xaf6d, 0xaf6e, 0xaf6f, 0xaf70, 0xaf71, 0xaf72, 0xaf73, 0xaf74,
    -    0xaf75, 0xaf76, 0xaf77, 0xaf78, 0xaf7a, 0xaf7b, 0xaf7c, 0xaf7d,
    -    0xaf7e, 0xaf7f, 0xaf81, 0xaf82, 0xaf83, 0xaf85, 0xaf86, 0xaf87,
    -    0xaf89, 0xaf8a, 0xaf8b, 0xaf8c, 0xaf8d, 0xaf8e, 0xaf8f, 0xaf92,
    -    0xaf93, 0xaf94, 0xaf96, 0xaf97, 0xaf98, 0xaf99, 0xaf9a, 0xaf9b,
    -    0xaf9d, 0xaf9e, 0xaf9f, 0xafa0, 0xafa1, 0xafa2, 0xafa3, 0xafa4,
    -    0xafa5, 0xafa6, 0xafa7, 0xafa8, 0xafa9, 0xafaa, 0xafab, 0xafac,
    -    0xafad, 0xafae, 0xafaf, 0xafb0, 0xafb1, 0xafb2, 0xafb3, 0xafb4,
    -    0xafb5, 0xafb6, 0xafb7, 0xafba, 0xafbb, 0xafbd, 0xafbe, 0x003f,
    -    /* lead byte 85 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xafbf, 0xafc1, 0xafc2, 0xafc3, 0xafc4, 0xafc5, 0xafc6,
    -    0xafca, 0xafcc, 0xafcf, 0xafd0, 0xafd1, 0xafd2, 0xafd3, 0xafd5,
    -    0xafd6, 0xafd7, 0xafd8, 0xafd9, 0xafda, 0xafdb, 0xafdd, 0xafde,
    -    0xafdf, 0xafe0, 0xafe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xafe2, 0xafe3, 0xafe4, 0xafe5, 0xafe6, 0xafe7, 0xafea,
    -    0xafeb, 0xafec, 0xafed, 0xafee, 0xafef, 0xaff2, 0xaff3, 0xaff5,
    -    0xaff6, 0xaff7, 0xaff9, 0xaffa, 0xaffb, 0xaffc, 0xaffd, 0xaffe,
    -    0xafff, 0xb002, 0xb003, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb005, 0xb006, 0xb007, 0xb008, 0xb009, 0xb00a, 0xb00b,
    -    0xb00d, 0xb00e, 0xb00f, 0xb011, 0xb012, 0xb013, 0xb015, 0xb016,
    -    0xb017, 0xb018, 0xb019, 0xb01a, 0xb01b, 0xb01e, 0xb01f, 0xb020,
    -    0xb021, 0xb022, 0xb023, 0xb024, 0xb025, 0xb026, 0xb027, 0xb029,
    -    0xb02a, 0xb02b, 0xb02c, 0xb02d, 0xb02e, 0xb02f, 0xb030, 0xb031,
    -    0xb032, 0xb033, 0xb034, 0xb035, 0xb036, 0xb037, 0xb038, 0xb039,
    -    0xb03a, 0xb03b, 0xb03c, 0xb03d, 0xb03e, 0xb03f, 0xb040, 0xb041,
    -    0xb042, 0xb043, 0xb046, 0xb047, 0xb049, 0xb04b, 0xb04d, 0xb04f,
    -    0xb050, 0xb051, 0xb052, 0xb056, 0xb058, 0xb05a, 0xb05b, 0xb05c,
    -    0xb05e, 0xb05f, 0xb060, 0xb061, 0xb062, 0xb063, 0xb064, 0xb065,
    -    0xb066, 0xb067, 0xb068, 0xb069, 0xb06a, 0xb06b, 0xb06c, 0xb06d,
    -    0xb06e, 0xb06f, 0xb070, 0xb071, 0xb072, 0xb073, 0xb074, 0xb075,
    -    0xb076, 0xb077, 0xb078, 0xb079, 0xb07a, 0xb07b, 0xb07e, 0xb07f,
    -    0xb081, 0xb082, 0xb083, 0xb085, 0xb086, 0xb087, 0xb088, 0xb089,
    -    0xb08a, 0xb08b, 0xb08e, 0xb090, 0xb092, 0xb093, 0xb094, 0xb095,
    -    0xb096, 0xb097, 0xb09b, 0xb09d, 0xb09e, 0xb0a3, 0xb0a4, 0x003f,
    -    /* lead byte 86 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb0a5, 0xb0a6, 0xb0a7, 0xb0aa, 0xb0b0, 0xb0b2, 0xb0b6,
    -    0xb0b7, 0xb0b9, 0xb0ba, 0xb0bb, 0xb0bd, 0xb0be, 0xb0bf, 0xb0c0,
    -    0xb0c1, 0xb0c2, 0xb0c3, 0xb0c6, 0xb0ca, 0xb0cb, 0xb0cc, 0xb0cd,
    -    0xb0ce, 0xb0cf, 0xb0d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb0d3, 0xb0d5, 0xb0d6, 0xb0d7, 0xb0d9, 0xb0da, 0xb0db,
    -    0xb0dc, 0xb0dd, 0xb0de, 0xb0df, 0xb0e1, 0xb0e2, 0xb0e3, 0xb0e4,
    -    0xb0e6, 0xb0e7, 0xb0e8, 0xb0e9, 0xb0ea, 0xb0eb, 0xb0ec, 0xb0ed,
    -    0xb0ee, 0xb0ef, 0xb0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb0f1, 0xb0f2, 0xb0f3, 0xb0f4, 0xb0f5, 0xb0f6, 0xb0f7,
    -    0xb0f8, 0xb0f9, 0xb0fa, 0xb0fb, 0xb0fc, 0xb0fd, 0xb0fe, 0xb0ff,
    -    0xb100, 0xb101, 0xb102, 0xb103, 0xb104, 0xb105, 0xb106, 0xb107,
    -    0xb10a, 0xb10d, 0xb10e, 0xb10f, 0xb111, 0xb114, 0xb115, 0xb116,
    -    0xb117, 0xb11a, 0xb11e, 0xb11f, 0xb120, 0xb121, 0xb122, 0xb126,
    -    0xb127, 0xb129, 0xb12a, 0xb12b, 0xb12d, 0xb12e, 0xb12f, 0xb130,
    -    0xb131, 0xb132, 0xb133, 0xb136, 0xb13a, 0xb13b, 0xb13c, 0xb13d,
    -    0xb13e, 0xb13f, 0xb142, 0xb143, 0xb145, 0xb146, 0xb147, 0xb149,
    -    0xb14a, 0xb14b, 0xb14c, 0xb14d, 0xb14e, 0xb14f, 0xb152, 0xb153,
    -    0xb156, 0xb157, 0xb159, 0xb15a, 0xb15b, 0xb15d, 0xb15e, 0xb15f,
    -    0xb161, 0xb162, 0xb163, 0xb164, 0xb165, 0xb166, 0xb167, 0xb168,
    -    0xb169, 0xb16a, 0xb16b, 0xb16c, 0xb16d, 0xb16e, 0xb16f, 0xb170,
    -    0xb171, 0xb172, 0xb173, 0xb174, 0xb175, 0xb176, 0xb177, 0xb17a,
    -    0xb17b, 0xb17d, 0xb17e, 0xb17f, 0xb181, 0xb183, 0xb184, 0xb185,
    -    0xb186, 0xb187, 0xb18a, 0xb18c, 0xb18e, 0xb18f, 0xb190, 0xb191,
    -    0xb195, 0xb196, 0xb197, 0xb199, 0xb19a, 0xb19b, 0xb19d, 0x003f,
    -    /* lead byte 87 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb19e, 0xb19f, 0xb1a0, 0xb1a1, 0xb1a2, 0xb1a3, 0xb1a4,
    -    0xb1a5, 0xb1a6, 0xb1a7, 0xb1a9, 0xb1aa, 0xb1ab, 0xb1ac, 0xb1ad,
    -    0xb1ae, 0xb1af, 0xb1b0, 0xb1b1, 0xb1b2, 0xb1b3, 0xb1b4, 0xb1b5,
    -    0xb1b6, 0xb1b7, 0xb1b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb1b9, 0xb1ba, 0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0xb1bf,
    -    0xb1c0, 0xb1c1, 0xb1c2, 0xb1c3, 0xb1c4, 0xb1c5, 0xb1c6, 0xb1c7,
    -    0xb1c8, 0xb1c9, 0xb1ca, 0xb1cb, 0xb1cd, 0xb1ce, 0xb1cf, 0xb1d1,
    -    0xb1d2, 0xb1d3, 0xb1d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb1d6, 0xb1d7, 0xb1d8, 0xb1d9, 0xb1da, 0xb1db, 0xb1de,
    -    0xb1e0, 0xb1e1, 0xb1e2, 0xb1e3, 0xb1e4, 0xb1e5, 0xb1e6, 0xb1e7,
    -    0xb1ea, 0xb1eb, 0xb1ed, 0xb1ee, 0xb1ef, 0xb1f1, 0xb1f2, 0xb1f3,
    -    0xb1f4, 0xb1f5, 0xb1f6, 0xb1f7, 0xb1f8, 0xb1fa, 0xb1fc, 0xb1fe,
    -    0xb1ff, 0xb200, 0xb201, 0xb202, 0xb203, 0xb206, 0xb207, 0xb209,
    -    0xb20a, 0xb20d, 0xb20e, 0xb20f, 0xb210, 0xb211, 0xb212, 0xb213,
    -    0xb216, 0xb218, 0xb21a, 0xb21b, 0xb21c, 0xb21d, 0xb21e, 0xb21f,
    -    0xb221, 0xb222, 0xb223, 0xb224, 0xb225, 0xb226, 0xb227, 0xb228,
    -    0xb229, 0xb22a, 0xb22b, 0xb22c, 0xb22d, 0xb22e, 0xb22f, 0xb230,
    -    0xb231, 0xb232, 0xb233, 0xb235, 0xb236, 0xb237, 0xb238, 0xb239,
    -    0xb23a, 0xb23b, 0xb23d, 0xb23e, 0xb23f, 0xb240, 0xb241, 0xb242,
    -    0xb243, 0xb244, 0xb245, 0xb246, 0xb247, 0xb248, 0xb249, 0xb24a,
    -    0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f, 0xb250, 0xb251, 0xb252,
    -    0xb253, 0xb254, 0xb255, 0xb256, 0xb257, 0xb259, 0xb25a, 0xb25b,
    -    0xb25d, 0xb25e, 0xb25f, 0xb261, 0xb262, 0xb263, 0xb264, 0xb265,
    -    0xb266, 0xb267, 0xb26a, 0xb26b, 0xb26c, 0xb26d, 0xb26e, 0x003f,
    -    /* lead byte 88 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb26f, 0xb270, 0xb271, 0xb272, 0xb273, 0xb276, 0xb277,
    -    0xb278, 0xb279, 0xb27a, 0xb27b, 0xb27d, 0xb27e, 0xb27f, 0xb280,
    -    0xb281, 0xb282, 0xb283, 0xb286, 0xb287, 0xb288, 0xb28a, 0xb28b,
    -    0xb28c, 0xb28d, 0xb28e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb28f, 0xb292, 0xb293, 0xb295, 0xb296, 0xb297, 0xb29b,
    -    0xb29c, 0xb29d, 0xb29e, 0xb29f, 0xb2a2, 0xb2a4, 0xb2a7, 0xb2a8,
    -    0xb2a9, 0xb2ab, 0xb2ad, 0xb2ae, 0xb2af, 0xb2b1, 0xb2b2, 0xb2b3,
    -    0xb2b5, 0xb2b6, 0xb2b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb2b8, 0xb2b9, 0xb2ba, 0xb2bb, 0xb2bc, 0xb2bd, 0xb2be,
    -    0xb2bf, 0xb2c0, 0xb2c1, 0xb2c2, 0xb2c3, 0xb2c4, 0xb2c5, 0xb2c6,
    -    0xb2c7, 0xb2ca, 0xb2cb, 0xb2cd, 0xb2ce, 0xb2cf, 0xb2d1, 0xb2d3,
    -    0xb2d4, 0xb2d5, 0xb2d6, 0xb2d7, 0xb2da, 0xb2dc, 0xb2de, 0xb2df,
    -    0xb2e0, 0xb2e1, 0xb2e3, 0xb2e7, 0xb2e9, 0xb2ea, 0xb2f0, 0xb2f1,
    -    0xb2f2, 0xb2f6, 0xb2fc, 0xb2fd, 0xb2fe, 0xb302, 0xb303, 0xb305,
    -    0xb306, 0xb307, 0xb309, 0xb30a, 0xb30b, 0xb30c, 0xb30d, 0xb30e,
    -    0xb30f, 0xb312, 0xb316, 0xb317, 0xb318, 0xb319, 0xb31a, 0xb31b,
    -    0xb31d, 0xb31e, 0xb31f, 0xb320, 0xb321, 0xb322, 0xb323, 0xb324,
    -    0xb325, 0xb326, 0xb327, 0xb328, 0xb329, 0xb32a, 0xb32b, 0xb32c,
    -    0xb32d, 0xb32e, 0xb32f, 0xb330, 0xb331, 0xb332, 0xb333, 0xb334,
    -    0xb335, 0xb336, 0xb337, 0xb338, 0xb339, 0xb33a, 0xb33b, 0xb33c,
    -    0xb33d, 0xb33e, 0xb33f, 0xb340, 0xb341, 0xb342, 0xb343, 0xb344,
    -    0xb345, 0xb346, 0xb347, 0xb348, 0xb349, 0xb34a, 0xb34b, 0xb34c,
    -    0xb34d, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352, 0xb353, 0xb357,
    -    0xb359, 0xb35a, 0xb35d, 0xb360, 0xb361, 0xb362, 0xb363, 0x003f,
    -    /* lead byte 89 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb366, 0xb368, 0xb36a, 0xb36c, 0xb36d, 0xb36f, 0xb372,
    -    0xb373, 0xb375, 0xb376, 0xb377, 0xb379, 0xb37a, 0xb37b, 0xb37c,
    -    0xb37d, 0xb37e, 0xb37f, 0xb382, 0xb386, 0xb387, 0xb388, 0xb389,
    -    0xb38a, 0xb38b, 0xb38d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb38e, 0xb38f, 0xb391, 0xb392, 0xb393, 0xb395, 0xb396,
    -    0xb397, 0xb398, 0xb399, 0xb39a, 0xb39b, 0xb39c, 0xb39d, 0xb39e,
    -    0xb39f, 0xb3a2, 0xb3a3, 0xb3a4, 0xb3a5, 0xb3a6, 0xb3a7, 0xb3a9,
    -    0xb3aa, 0xb3ab, 0xb3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3ae, 0xb3af, 0xb3b0, 0xb3b1, 0xb3b2, 0xb3b3, 0xb3b4,
    -    0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8, 0xb3b9, 0xb3ba, 0xb3bb, 0xb3bc,
    -    0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2, 0xb3c3, 0xb3c6,
    -    0xb3c7, 0xb3c9, 0xb3ca, 0xb3cd, 0xb3cf, 0xb3d1, 0xb3d2, 0xb3d3,
    -    0xb3d6, 0xb3d8, 0xb3da, 0xb3dc, 0xb3de, 0xb3df, 0xb3e1, 0xb3e2,
    -    0xb3e3, 0xb3e5, 0xb3e6, 0xb3e7, 0xb3e9, 0xb3ea, 0xb3eb, 0xb3ec,
    -    0xb3ed, 0xb3ee, 0xb3ef, 0xb3f0, 0xb3f1, 0xb3f2, 0xb3f3, 0xb3f4,
    -    0xb3f5, 0xb3f6, 0xb3f7, 0xb3f8, 0xb3f9, 0xb3fa, 0xb3fb, 0xb3fd,
    -    0xb3fe, 0xb3ff, 0xb400, 0xb401, 0xb402, 0xb403, 0xb404, 0xb405,
    -    0xb406, 0xb407, 0xb408, 0xb409, 0xb40a, 0xb40b, 0xb40c, 0xb40d,
    -    0xb40e, 0xb40f, 0xb411, 0xb412, 0xb413, 0xb414, 0xb415, 0xb416,
    -    0xb417, 0xb419, 0xb41a, 0xb41b, 0xb41d, 0xb41e, 0xb41f, 0xb421,
    -    0xb422, 0xb423, 0xb424, 0xb425, 0xb426, 0xb427, 0xb42a, 0xb42c,
    -    0xb42d, 0xb42e, 0xb42f, 0xb430, 0xb431, 0xb432, 0xb433, 0xb435,
    -    0xb436, 0xb437, 0xb438, 0xb439, 0xb43a, 0xb43b, 0xb43c, 0xb43d,
    -    0xb43e, 0xb43f, 0xb440, 0xb441, 0xb442, 0xb443, 0xb444, 0x003f,
    -    /* lead byte 8a */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb445, 0xb446, 0xb447, 0xb448, 0xb449, 0xb44a, 0xb44b,
    -    0xb44c, 0xb44d, 0xb44e, 0xb44f, 0xb452, 0xb453, 0xb455, 0xb456,
    -    0xb457, 0xb459, 0xb45a, 0xb45b, 0xb45c, 0xb45d, 0xb45e, 0xb45f,
    -    0xb462, 0xb464, 0xb466, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb467, 0xb468, 0xb469, 0xb46a, 0xb46b, 0xb46d, 0xb46e,
    -    0xb46f, 0xb470, 0xb471, 0xb472, 0xb473, 0xb474, 0xb475, 0xb476,
    -    0xb477, 0xb478, 0xb479, 0xb47a, 0xb47b, 0xb47c, 0xb47d, 0xb47e,
    -    0xb47f, 0xb481, 0xb482, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb483, 0xb484, 0xb485, 0xb486, 0xb487, 0xb489, 0xb48a,
    -    0xb48b, 0xb48c, 0xb48d, 0xb48e, 0xb48f, 0xb490, 0xb491, 0xb492,
    -    0xb493, 0xb494, 0xb495, 0xb496, 0xb497, 0xb498, 0xb499, 0xb49a,
    -    0xb49b, 0xb49c, 0xb49e, 0xb49f, 0xb4a0, 0xb4a1, 0xb4a2, 0xb4a3,
    -    0xb4a5, 0xb4a6, 0xb4a7, 0xb4a9, 0xb4aa, 0xb4ab, 0xb4ad, 0xb4ae,
    -    0xb4af, 0xb4b0, 0xb4b1, 0xb4b2, 0xb4b3, 0xb4b4, 0xb4b6, 0xb4b8,
    -    0xb4ba, 0xb4bb, 0xb4bc, 0xb4bd, 0xb4be, 0xb4bf, 0xb4c1, 0xb4c2,
    -    0xb4c3, 0xb4c5, 0xb4c6, 0xb4c7, 0xb4c9, 0xb4ca, 0xb4cb, 0xb4cc,
    -    0xb4cd, 0xb4ce, 0xb4cf, 0xb4d1, 0xb4d2, 0xb4d3, 0xb4d4, 0xb4d6,
    -    0xb4d7, 0xb4d8, 0xb4d9, 0xb4da, 0xb4db, 0xb4de, 0xb4df, 0xb4e1,
    -    0xb4e2, 0xb4e5, 0xb4e7, 0xb4e8, 0xb4e9, 0xb4ea, 0xb4eb, 0xb4ee,
    -    0xb4f0, 0xb4f2, 0xb4f3, 0xb4f4, 0xb4f5, 0xb4f6, 0xb4f7, 0xb4f9,
    -    0xb4fa, 0xb4fb, 0xb4fc, 0xb4fd, 0xb4fe, 0xb4ff, 0xb500, 0xb501,
    -    0xb502, 0xb503, 0xb504, 0xb505, 0xb506, 0xb507, 0xb508, 0xb509,
    -    0xb50a, 0xb50b, 0xb50c, 0xb50d, 0xb50e, 0xb50f, 0xb510, 0xb511,
    -    0xb512, 0xb513, 0xb516, 0xb517, 0xb519, 0xb51a, 0xb51d, 0x003f,
    -    /* lead byte 8b */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb51e, 0xb51f, 0xb520, 0xb521, 0xb522, 0xb523, 0xb526,
    -    0xb52b, 0xb52c, 0xb52d, 0xb52e, 0xb52f, 0xb532, 0xb533, 0xb535,
    -    0xb536, 0xb537, 0xb539, 0xb53a, 0xb53b, 0xb53c, 0xb53d, 0xb53e,
    -    0xb53f, 0xb542, 0xb546, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb547, 0xb548, 0xb549, 0xb54a, 0xb54e, 0xb54f, 0xb551,
    -    0xb552, 0xb553, 0xb555, 0xb556, 0xb557, 0xb558, 0xb559, 0xb55a,
    -    0xb55b, 0xb55e, 0xb562, 0xb563, 0xb564, 0xb565, 0xb566, 0xb567,
    -    0xb568, 0xb569, 0xb56a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb56b, 0xb56c, 0xb56d, 0xb56e, 0xb56f, 0xb570, 0xb571,
    -    0xb572, 0xb573, 0xb574, 0xb575, 0xb576, 0xb577, 0xb578, 0xb579,
    -    0xb57a, 0xb57b, 0xb57c, 0xb57d, 0xb57e, 0xb57f, 0xb580, 0xb581,
    -    0xb582, 0xb583, 0xb584, 0xb585, 0xb586, 0xb587, 0xb588, 0xb589,
    -    0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xb58e, 0xb58f, 0xb590, 0xb591,
    -    0xb592, 0xb593, 0xb594, 0xb595, 0xb596, 0xb597, 0xb598, 0xb599,
    -    0xb59a, 0xb59b, 0xb59c, 0xb59d, 0xb59e, 0xb59f, 0xb5a2, 0xb5a3,
    -    0xb5a5, 0xb5a6, 0xb5a7, 0xb5a9, 0xb5ac, 0xb5ad, 0xb5ae, 0xb5af,
    -    0xb5b2, 0xb5b6, 0xb5b7, 0xb5b8, 0xb5b9, 0xb5ba, 0xb5be, 0xb5bf,
    -    0xb5c1, 0xb5c2, 0xb5c3, 0xb5c5, 0xb5c6, 0xb5c7, 0xb5c8, 0xb5c9,
    -    0xb5ca, 0xb5cb, 0xb5ce, 0xb5d2, 0xb5d3, 0xb5d4, 0xb5d5, 0xb5d6,
    -    0xb5d7, 0xb5d9, 0xb5da, 0xb5db, 0xb5dc, 0xb5dd, 0xb5de, 0xb5df,
    -    0xb5e0, 0xb5e1, 0xb5e2, 0xb5e3, 0xb5e4, 0xb5e5, 0xb5e6, 0xb5e7,
    -    0xb5e8, 0xb5e9, 0xb5ea, 0xb5eb, 0xb5ed, 0xb5ee, 0xb5ef, 0xb5f0,
    -    0xb5f1, 0xb5f2, 0xb5f3, 0xb5f4, 0xb5f5, 0xb5f6, 0xb5f7, 0xb5f8,
    -    0xb5f9, 0xb5fa, 0xb5fb, 0xb5fc, 0xb5fd, 0xb5fe, 0xb5ff, 0x003f,
    -    /* lead byte 8c */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb600, 0xb601, 0xb602, 0xb603, 0xb604, 0xb605, 0xb606,
    -    0xb607, 0xb608, 0xb609, 0xb60a, 0xb60b, 0xb60c, 0xb60d, 0xb60e,
    -    0xb60f, 0xb612, 0xb613, 0xb615, 0xb616, 0xb617, 0xb619, 0xb61a,
    -    0xb61b, 0xb61c, 0xb61d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb61e, 0xb61f, 0xb620, 0xb621, 0xb622, 0xb623, 0xb624,
    -    0xb626, 0xb627, 0xb628, 0xb629, 0xb62a, 0xb62b, 0xb62d, 0xb62e,
    -    0xb62f, 0xb630, 0xb631, 0xb632, 0xb633, 0xb635, 0xb636, 0xb637,
    -    0xb638, 0xb639, 0xb63a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb63b, 0xb63c, 0xb63d, 0xb63e, 0xb63f, 0xb640, 0xb641,
    -    0xb642, 0xb643, 0xb644, 0xb645, 0xb646, 0xb647, 0xb649, 0xb64a,
    -    0xb64b, 0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652,
    -    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,
    -    0xb65b, 0xb65c, 0xb65d, 0xb65e, 0xb65f, 0xb660, 0xb661, 0xb662,
    -    0xb663, 0xb665, 0xb666, 0xb667, 0xb669, 0xb66a, 0xb66b, 0xb66c,
    -    0xb66d, 0xb66e, 0xb66f, 0xb670, 0xb671, 0xb672, 0xb673, 0xb674,
    -    0xb675, 0xb676, 0xb677, 0xb678, 0xb679, 0xb67a, 0xb67b, 0xb67c,
    -    0xb67d, 0xb67e, 0xb67f, 0xb680, 0xb681, 0xb682, 0xb683, 0xb684,
    -    0xb685, 0xb686, 0xb687, 0xb688, 0xb689, 0xb68a, 0xb68b, 0xb68c,
    -    0xb68d, 0xb68e, 0xb68f, 0xb690, 0xb691, 0xb692, 0xb693, 0xb694,
    -    0xb695, 0xb696, 0xb697, 0xb698, 0xb699, 0xb69a, 0xb69b, 0xb69e,
    -    0xb69f, 0xb6a1, 0xb6a2, 0xb6a3, 0xb6a5, 0xb6a6, 0xb6a7, 0xb6a8,
    -    0xb6a9, 0xb6aa, 0xb6ad, 0xb6ae, 0xb6af, 0xb6b0, 0xb6b2, 0xb6b3,
    -    0xb6b4, 0xb6b5, 0xb6b6, 0xb6b7, 0xb6b8, 0xb6b9, 0xb6ba, 0xb6bb,
    -    0xb6bc, 0xb6bd, 0xb6be, 0xb6bf, 0xb6c0, 0xb6c1, 0xb6c2, 0x003f,
    -    /* lead byte 8d */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb6c3, 0xb6c4, 0xb6c5, 0xb6c6, 0xb6c7, 0xb6c8, 0xb6c9,
    -    0xb6ca, 0xb6cb, 0xb6cc, 0xb6cd, 0xb6ce, 0xb6cf, 0xb6d0, 0xb6d1,
    -    0xb6d2, 0xb6d3, 0xb6d5, 0xb6d6, 0xb6d7, 0xb6d8, 0xb6d9, 0xb6da,
    -    0xb6db, 0xb6dc, 0xb6dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb6de, 0xb6df, 0xb6e0, 0xb6e1, 0xb6e2, 0xb6e3, 0xb6e4,
    -    0xb6e5, 0xb6e6, 0xb6e7, 0xb6e8, 0xb6e9, 0xb6ea, 0xb6eb, 0xb6ec,
    -    0xb6ed, 0xb6ee, 0xb6ef, 0xb6f1, 0xb6f2, 0xb6f3, 0xb6f5, 0xb6f6,
    -    0xb6f7, 0xb6f9, 0xb6fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb6fb, 0xb6fc, 0xb6fd, 0xb6fe, 0xb6ff, 0xb702, 0xb703,
    -    0xb704, 0xb706, 0xb707, 0xb708, 0xb709, 0xb70a, 0xb70b, 0xb70c,
    -    0xb70d, 0xb70e, 0xb70f, 0xb710, 0xb711, 0xb712, 0xb713, 0xb714,
    -    0xb715, 0xb716, 0xb717, 0xb718, 0xb719, 0xb71a, 0xb71b, 0xb71c,
    -    0xb71d, 0xb71e, 0xb71f, 0xb720, 0xb721, 0xb722, 0xb723, 0xb724,
    -    0xb725, 0xb726, 0xb727, 0xb72a, 0xb72b, 0xb72d, 0xb72e, 0xb731,
    -    0xb732, 0xb733, 0xb734, 0xb735, 0xb736, 0xb737, 0xb73a, 0xb73c,
    -    0xb73d, 0xb73e, 0xb73f, 0xb740, 0xb741, 0xb742, 0xb743, 0xb745,
    -    0xb746, 0xb747, 0xb749, 0xb74a, 0xb74b, 0xb74d, 0xb74e, 0xb74f,
    -    0xb750, 0xb751, 0xb752, 0xb753, 0xb756, 0xb757, 0xb758, 0xb759,
    -    0xb75a, 0xb75b, 0xb75c, 0xb75d, 0xb75e, 0xb75f, 0xb761, 0xb762,
    -    0xb763, 0xb765, 0xb766, 0xb767, 0xb769, 0xb76a, 0xb76b, 0xb76c,
    -    0xb76d, 0xb76e, 0xb76f, 0xb772, 0xb774, 0xb776, 0xb777, 0xb778,
    -    0xb779, 0xb77a, 0xb77b, 0xb77e, 0xb77f, 0xb781, 0xb782, 0xb783,
    -    0xb785, 0xb786, 0xb787, 0xb788, 0xb789, 0xb78a, 0xb78b, 0xb78e,
    -    0xb793, 0xb794, 0xb795, 0xb79a, 0xb79b, 0xb79d, 0xb79e, 0x003f,
    -    /* lead byte 8e */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb79f, 0xb7a1, 0xb7a2, 0xb7a3, 0xb7a4, 0xb7a5, 0xb7a6,
    -    0xb7a7, 0xb7aa, 0xb7ae, 0xb7af, 0xb7b0, 0xb7b1, 0xb7b2, 0xb7b3,
    -    0xb7b6, 0xb7b7, 0xb7b9, 0xb7ba, 0xb7bb, 0xb7bc, 0xb7bd, 0xb7be,
    -    0xb7bf, 0xb7c0, 0xb7c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb7c2, 0xb7c3, 0xb7c4, 0xb7c5, 0xb7c6, 0xb7c8, 0xb7ca,
    -    0xb7cb, 0xb7cc, 0xb7cd, 0xb7ce, 0xb7cf, 0xb7d0, 0xb7d1, 0xb7d2,
    -    0xb7d3, 0xb7d4, 0xb7d5, 0xb7d6, 0xb7d7, 0xb7d8, 0xb7d9, 0xb7da,
    -    0xb7db, 0xb7dc, 0xb7dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb7de, 0xb7df, 0xb7e0, 0xb7e1, 0xb7e2, 0xb7e3, 0xb7e4,
    -    0xb7e5, 0xb7e6, 0xb7e7, 0xb7e8, 0xb7e9, 0xb7ea, 0xb7eb, 0xb7ee,
    -    0xb7ef, 0xb7f1, 0xb7f2, 0xb7f3, 0xb7f5, 0xb7f6, 0xb7f7, 0xb7f8,
    -    0xb7f9, 0xb7fa, 0xb7fb, 0xb7fe, 0xb802, 0xb803, 0xb804, 0xb805,
    -    0xb806, 0xb80a, 0xb80b, 0xb80d, 0xb80e, 0xb80f, 0xb811, 0xb812,
    -    0xb813, 0xb814, 0xb815, 0xb816, 0xb817, 0xb81a, 0xb81c, 0xb81e,
    -    0xb81f, 0xb820, 0xb821, 0xb822, 0xb823, 0xb826, 0xb827, 0xb829,
    -    0xb82a, 0xb82b, 0xb82d, 0xb82e, 0xb82f, 0xb830, 0xb831, 0xb832,
    -    0xb833, 0xb836, 0xb83a, 0xb83b, 0xb83c, 0xb83d, 0xb83e, 0xb83f,
    -    0xb841, 0xb842, 0xb843, 0xb845, 0xb846, 0xb847, 0xb848, 0xb849,
    -    0xb84a, 0xb84b, 0xb84c, 0xb84d, 0xb84e, 0xb84f, 0xb850, 0xb852,
    -    0xb854, 0xb855, 0xb856, 0xb857, 0xb858, 0xb859, 0xb85a, 0xb85b,
    -    0xb85e, 0xb85f, 0xb861, 0xb862, 0xb863, 0xb865, 0xb866, 0xb867,
    -    0xb868, 0xb869, 0xb86a, 0xb86b, 0xb86e, 0xb870, 0xb872, 0xb873,
    -    0xb874, 0xb875, 0xb876, 0xb877, 0xb879, 0xb87a, 0xb87b, 0xb87d,
    -    0xb87e, 0xb87f, 0xb880, 0xb881, 0xb882, 0xb883, 0xb884, 0x003f,
    -    /* lead byte 8f */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb885, 0xb886, 0xb887, 0xb888, 0xb889, 0xb88a, 0xb88b,
    -    0xb88c, 0xb88e, 0xb88f, 0xb890, 0xb891, 0xb892, 0xb893, 0xb894,
    -    0xb895, 0xb896, 0xb897, 0xb898, 0xb899, 0xb89a, 0xb89b, 0xb89c,
    -    0xb89d, 0xb89e, 0xb89f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb8a0, 0xb8a1, 0xb8a2, 0xb8a3, 0xb8a4, 0xb8a5, 0xb8a6,
    -    0xb8a7, 0xb8a9, 0xb8aa, 0xb8ab, 0xb8ac, 0xb8ad, 0xb8ae, 0xb8af,
    -    0xb8b1, 0xb8b2, 0xb8b3, 0xb8b5, 0xb8b6, 0xb8b7, 0xb8b9, 0xb8ba,
    -    0xb8bb, 0xb8bc, 0xb8bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb8be, 0xb8bf, 0xb8c2, 0xb8c4, 0xb8c6, 0xb8c7, 0xb8c8,
    -    0xb8c9, 0xb8ca, 0xb8cb, 0xb8cd, 0xb8ce, 0xb8cf, 0xb8d1, 0xb8d2,
    -    0xb8d3, 0xb8d5, 0xb8d6, 0xb8d7, 0xb8d8, 0xb8d9, 0xb8da, 0xb8db,
    -    0xb8dc, 0xb8de, 0xb8e0, 0xb8e2, 0xb8e3, 0xb8e4, 0xb8e5, 0xb8e6,
    -    0xb8e7, 0xb8ea, 0xb8eb, 0xb8ed, 0xb8ee, 0xb8ef, 0xb8f1, 0xb8f2,
    -    0xb8f3, 0xb8f4, 0xb8f5, 0xb8f6, 0xb8f7, 0xb8fa, 0xb8fc, 0xb8fe,
    -    0xb8ff, 0xb900, 0xb901, 0xb902, 0xb903, 0xb905, 0xb906, 0xb907,
    -    0xb908, 0xb909, 0xb90a, 0xb90b, 0xb90c, 0xb90d, 0xb90e, 0xb90f,
    -    0xb910, 0xb911, 0xb912, 0xb913, 0xb914, 0xb915, 0xb916, 0xb917,
    -    0xb919, 0xb91a, 0xb91b, 0xb91c, 0xb91d, 0xb91e, 0xb91f, 0xb921,
    -    0xb922, 0xb923, 0xb924, 0xb925, 0xb926, 0xb927, 0xb928, 0xb929,
    -    0xb92a, 0xb92b, 0xb92c, 0xb92d, 0xb92e, 0xb92f, 0xb930, 0xb931,
    -    0xb932, 0xb933, 0xb934, 0xb935, 0xb936, 0xb937, 0xb938, 0xb939,
    -    0xb93a, 0xb93b, 0xb93e, 0xb93f, 0xb941, 0xb942, 0xb943, 0xb945,
    -    0xb946, 0xb947, 0xb948, 0xb949, 0xb94a, 0xb94b, 0xb94d, 0xb94e,
    -    0xb950, 0xb952, 0xb953, 0xb954, 0xb955, 0xb956, 0xb957, 0x003f,
    -    /* lead byte 90 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb95a, 0xb95b, 0xb95d, 0xb95e, 0xb95f, 0xb961, 0xb962,
    -    0xb963, 0xb964, 0xb965, 0xb966, 0xb967, 0xb96a, 0xb96c, 0xb96e,
    -    0xb96f, 0xb970, 0xb971, 0xb972, 0xb973, 0xb976, 0xb977, 0xb979,
    -    0xb97a, 0xb97b, 0xb97d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb97e, 0xb97f, 0xb980, 0xb981, 0xb982, 0xb983, 0xb986,
    -    0xb988, 0xb98b, 0xb98c, 0xb98f, 0xb990, 0xb991, 0xb992, 0xb993,
    -    0xb994, 0xb995, 0xb996, 0xb997, 0xb998, 0xb999, 0xb99a, 0xb99b,
    -    0xb99c, 0xb99d, 0xb99e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb99f, 0xb9a0, 0xb9a1, 0xb9a2, 0xb9a3, 0xb9a4, 0xb9a5,
    -    0xb9a6, 0xb9a7, 0xb9a8, 0xb9a9, 0xb9aa, 0xb9ab, 0xb9ae, 0xb9af,
    -    0xb9b1, 0xb9b2, 0xb9b3, 0xb9b5, 0xb9b6, 0xb9b7, 0xb9b8, 0xb9b9,
    -    0xb9ba, 0xb9bb, 0xb9be, 0xb9c0, 0xb9c2, 0xb9c3, 0xb9c4, 0xb9c5,
    -    0xb9c6, 0xb9c7, 0xb9ca, 0xb9cb, 0xb9cd, 0xb9d3, 0xb9d4, 0xb9d5,
    -    0xb9d6, 0xb9d7, 0xb9da, 0xb9dc, 0xb9df, 0xb9e0, 0xb9e2, 0xb9e6,
    -    0xb9e7, 0xb9e9, 0xb9ea, 0xb9eb, 0xb9ed, 0xb9ee, 0xb9ef, 0xb9f0,
    -    0xb9f1, 0xb9f2, 0xb9f3, 0xb9f6, 0xb9fb, 0xb9fc, 0xb9fd, 0xb9fe,
    -    0xb9ff, 0xba02, 0xba03, 0xba04, 0xba05, 0xba06, 0xba07, 0xba09,
    -    0xba0a, 0xba0b, 0xba0c, 0xba0d, 0xba0e, 0xba0f, 0xba10, 0xba11,
    -    0xba12, 0xba13, 0xba14, 0xba16, 0xba17, 0xba18, 0xba19, 0xba1a,
    -    0xba1b, 0xba1c, 0xba1d, 0xba1e, 0xba1f, 0xba20, 0xba21, 0xba22,
    -    0xba23, 0xba24, 0xba25, 0xba26, 0xba27, 0xba28, 0xba29, 0xba2a,
    -    0xba2b, 0xba2c, 0xba2d, 0xba2e, 0xba2f, 0xba30, 0xba31, 0xba32,
    -    0xba33, 0xba34, 0xba35, 0xba36, 0xba37, 0xba3a, 0xba3b, 0xba3d,
    -    0xba3e, 0xba3f, 0xba41, 0xba43, 0xba44, 0xba45, 0xba46, 0x003f,
    -    /* lead byte 91 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xba47, 0xba4a, 0xba4c, 0xba4f, 0xba50, 0xba51, 0xba52,
    -    0xba56, 0xba57, 0xba59, 0xba5a, 0xba5b, 0xba5d, 0xba5e, 0xba5f,
    -    0xba60, 0xba61, 0xba62, 0xba63, 0xba66, 0xba6a, 0xba6b, 0xba6c,
    -    0xba6d, 0xba6e, 0xba6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xba72, 0xba73, 0xba75, 0xba76, 0xba77, 0xba79, 0xba7a,
    -    0xba7b, 0xba7c, 0xba7d, 0xba7e, 0xba7f, 0xba80, 0xba81, 0xba82,
    -    0xba86, 0xba88, 0xba89, 0xba8a, 0xba8b, 0xba8d, 0xba8e, 0xba8f,
    -    0xba90, 0xba91, 0xba92, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,
    -    0xba9a, 0xba9b, 0xba9c, 0xba9d, 0xba9e, 0xba9f, 0xbaa0, 0xbaa1,
    -    0xbaa2, 0xbaa3, 0xbaa4, 0xbaa5, 0xbaa6, 0xbaa7, 0xbaaa, 0xbaad,
    -    0xbaae, 0xbaaf, 0xbab1, 0xbab3, 0xbab4, 0xbab5, 0xbab6, 0xbab7,
    -    0xbaba, 0xbabc, 0xbabe, 0xbabf, 0xbac0, 0xbac1, 0xbac2, 0xbac3,
    -    0xbac5, 0xbac6, 0xbac7, 0xbac9, 0xbaca, 0xbacb, 0xbacc, 0xbacd,
    -    0xbace, 0xbacf, 0xbad0, 0xbad1, 0xbad2, 0xbad3, 0xbad4, 0xbad5,
    -    0xbad6, 0xbad7, 0xbada, 0xbadb, 0xbadc, 0xbadd, 0xbade, 0xbadf,
    -    0xbae0, 0xbae1, 0xbae2, 0xbae3, 0xbae4, 0xbae5, 0xbae6, 0xbae7,
    -    0xbae8, 0xbae9, 0xbaea, 0xbaeb, 0xbaec, 0xbaed, 0xbaee, 0xbaef,
    -    0xbaf0, 0xbaf1, 0xbaf2, 0xbaf3, 0xbaf4, 0xbaf5, 0xbaf6, 0xbaf7,
    -    0xbaf8, 0xbaf9, 0xbafa, 0xbafb, 0xbafd, 0xbafe, 0xbaff, 0xbb01,
    -    0xbb02, 0xbb03, 0xbb05, 0xbb06, 0xbb07, 0xbb08, 0xbb09, 0xbb0a,
    -    0xbb0b, 0xbb0c, 0xbb0e, 0xbb10, 0xbb12, 0xbb13, 0xbb14, 0xbb15,
    -    0xbb16, 0xbb17, 0xbb19, 0xbb1a, 0xbb1b, 0xbb1d, 0xbb1e, 0xbb1f,
    -    0xbb21, 0xbb22, 0xbb23, 0xbb24, 0xbb25, 0xbb26, 0xbb27, 0x003f,
    -    /* lead byte 92 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbb28, 0xbb2a, 0xbb2c, 0xbb2d, 0xbb2e, 0xbb2f, 0xbb30,
    -    0xbb31, 0xbb32, 0xbb33, 0xbb37, 0xbb39, 0xbb3a, 0xbb3f, 0xbb40,
    -    0xbb41, 0xbb42, 0xbb43, 0xbb46, 0xbb48, 0xbb4a, 0xbb4b, 0xbb4c,
    -    0xbb4e, 0xbb51, 0xbb52, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbb53, 0xbb55, 0xbb56, 0xbb57, 0xbb59, 0xbb5a, 0xbb5b,
    -    0xbb5c, 0xbb5d, 0xbb5e, 0xbb5f, 0xbb60, 0xbb62, 0xbb64, 0xbb65,
    -    0xbb66, 0xbb67, 0xbb68, 0xbb69, 0xbb6a, 0xbb6b, 0xbb6d, 0xbb6e,
    -    0xbb6f, 0xbb70, 0xbb71, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbb72, 0xbb73, 0xbb74, 0xbb75, 0xbb76, 0xbb77, 0xbb78,
    -    0xbb79, 0xbb7a, 0xbb7b, 0xbb7c, 0xbb7d, 0xbb7e, 0xbb7f, 0xbb80,
    -    0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86, 0xbb87, 0xbb89,
    -    0xbb8a, 0xbb8b, 0xbb8d, 0xbb8e, 0xbb8f, 0xbb91, 0xbb92, 0xbb93,
    -    0xbb94, 0xbb95, 0xbb96, 0xbb97, 0xbb98, 0xbb99, 0xbb9a, 0xbb9b,
    -    0xbb9c, 0xbb9d, 0xbb9e, 0xbb9f, 0xbba0, 0xbba1, 0xbba2, 0xbba3,
    -    0xbba5, 0xbba6, 0xbba7, 0xbba9, 0xbbaa, 0xbbab, 0xbbad, 0xbbae,
    -    0xbbaf, 0xbbb0, 0xbbb1, 0xbbb2, 0xbbb3, 0xbbb5, 0xbbb6, 0xbbb8,
    -    0xbbb9, 0xbbba, 0xbbbb, 0xbbbc, 0xbbbd, 0xbbbe, 0xbbbf, 0xbbc1,
    -    0xbbc2, 0xbbc3, 0xbbc5, 0xbbc6, 0xbbc7, 0xbbc9, 0xbbca, 0xbbcb,
    -    0xbbcc, 0xbbcd, 0xbbce, 0xbbcf, 0xbbd1, 0xbbd2, 0xbbd4, 0xbbd5,
    -    0xbbd6, 0xbbd7, 0xbbd8, 0xbbd9, 0xbbda, 0xbbdb, 0xbbdc, 0xbbdd,
    -    0xbbde, 0xbbdf, 0xbbe0, 0xbbe1, 0xbbe2, 0xbbe3, 0xbbe4, 0xbbe5,
    -    0xbbe6, 0xbbe7, 0xbbe8, 0xbbe9, 0xbbea, 0xbbeb, 0xbbec, 0xbbed,
    -    0xbbee, 0xbbef, 0xbbf0, 0xbbf1, 0xbbf2, 0xbbf3, 0xbbf4, 0xbbf5,
    -    0xbbf6, 0xbbf7, 0xbbfa, 0xbbfb, 0xbbfd, 0xbbfe, 0xbc01, 0x003f,
    -    /* lead byte 93 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbc03, 0xbc04, 0xbc05, 0xbc06, 0xbc07, 0xbc0a, 0xbc0e,
    -    0xbc10, 0xbc12, 0xbc13, 0xbc19, 0xbc1a, 0xbc20, 0xbc21, 0xbc22,
    -    0xbc23, 0xbc26, 0xbc28, 0xbc2a, 0xbc2b, 0xbc2c, 0xbc2e, 0xbc2f,
    -    0xbc32, 0xbc33, 0xbc35, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbc36, 0xbc37, 0xbc39, 0xbc3a, 0xbc3b, 0xbc3c, 0xbc3d,
    -    0xbc3e, 0xbc3f, 0xbc42, 0xbc46, 0xbc47, 0xbc48, 0xbc4a, 0xbc4b,
    -    0xbc4e, 0xbc4f, 0xbc51, 0xbc52, 0xbc53, 0xbc54, 0xbc55, 0xbc56,
    -    0xbc57, 0xbc58, 0xbc59, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbc5a, 0xbc5b, 0xbc5c, 0xbc5e, 0xbc5f, 0xbc60, 0xbc61,
    -    0xbc62, 0xbc63, 0xbc64, 0xbc65, 0xbc66, 0xbc67, 0xbc68, 0xbc69,
    -    0xbc6a, 0xbc6b, 0xbc6c, 0xbc6d, 0xbc6e, 0xbc6f, 0xbc70, 0xbc71,
    -    0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76, 0xbc77, 0xbc78, 0xbc79,
    -    0xbc7a, 0xbc7b, 0xbc7c, 0xbc7d, 0xbc7e, 0xbc7f, 0xbc80, 0xbc81,
    -    0xbc82, 0xbc83, 0xbc86, 0xbc87, 0xbc89, 0xbc8a, 0xbc8d, 0xbc8f,
    -    0xbc90, 0xbc91, 0xbc92, 0xbc93, 0xbc96, 0xbc98, 0xbc9b, 0xbc9c,
    -    0xbc9d, 0xbc9e, 0xbc9f, 0xbca2, 0xbca3, 0xbca5, 0xbca6, 0xbca9,
    -    0xbcaa, 0xbcab, 0xbcac, 0xbcad, 0xbcae, 0xbcaf, 0xbcb2, 0xbcb6,
    -    0xbcb7, 0xbcb8, 0xbcb9, 0xbcba, 0xbcbb, 0xbcbe, 0xbcbf, 0xbcc1,
    -    0xbcc2, 0xbcc3, 0xbcc5, 0xbcc6, 0xbcc7, 0xbcc8, 0xbcc9, 0xbcca,
    -    0xbccb, 0xbccc, 0xbcce, 0xbcd2, 0xbcd3, 0xbcd4, 0xbcd6, 0xbcd7,
    -    0xbcd9, 0xbcda, 0xbcdb, 0xbcdd, 0xbcde, 0xbcdf, 0xbce0, 0xbce1,
    -    0xbce2, 0xbce3, 0xbce4, 0xbce5, 0xbce6, 0xbce7, 0xbce8, 0xbce9,
    -    0xbcea, 0xbceb, 0xbcec, 0xbced, 0xbcee, 0xbcef, 0xbcf0, 0xbcf1,
    -    0xbcf2, 0xbcf3, 0xbcf7, 0xbcf9, 0xbcfa, 0xbcfb, 0xbcfd, 0x003f,
    -    /* lead byte 94 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbcfe, 0xbcff, 0xbd00, 0xbd01, 0xbd02, 0xbd03, 0xbd06,
    -    0xbd08, 0xbd0a, 0xbd0b, 0xbd0c, 0xbd0d, 0xbd0e, 0xbd0f, 0xbd11,
    -    0xbd12, 0xbd13, 0xbd15, 0xbd16, 0xbd17, 0xbd18, 0xbd19, 0xbd1a,
    -    0xbd1b, 0xbd1c, 0xbd1d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbd1e, 0xbd1f, 0xbd20, 0xbd21, 0xbd22, 0xbd23, 0xbd25,
    -    0xbd26, 0xbd27, 0xbd28, 0xbd29, 0xbd2a, 0xbd2b, 0xbd2d, 0xbd2e,
    -    0xbd2f, 0xbd30, 0xbd31, 0xbd32, 0xbd33, 0xbd34, 0xbd35, 0xbd36,
    -    0xbd37, 0xbd38, 0xbd39, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbd3a, 0xbd3b, 0xbd3c, 0xbd3d, 0xbd3e, 0xbd3f, 0xbd41,
    -    0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd4a, 0xbd4b,
    -    0xbd4d, 0xbd4e, 0xbd4f, 0xbd51, 0xbd52, 0xbd53, 0xbd54, 0xbd55,
    -    0xbd56, 0xbd57, 0xbd5a, 0xbd5b, 0xbd5c, 0xbd5d, 0xbd5e, 0xbd5f,
    -    0xbd60, 0xbd61, 0xbd62, 0xbd63, 0xbd65, 0xbd66, 0xbd67, 0xbd69,
    -    0xbd6a, 0xbd6b, 0xbd6c, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70, 0xbd71,
    -    0xbd72, 0xbd73, 0xbd74, 0xbd75, 0xbd76, 0xbd77, 0xbd78, 0xbd79,
    -    0xbd7a, 0xbd7b, 0xbd7c, 0xbd7d, 0xbd7e, 0xbd7f, 0xbd82, 0xbd83,
    -    0xbd85, 0xbd86, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f, 0xbd92,
    -    0xbd94, 0xbd96, 0xbd97, 0xbd98, 0xbd9b, 0xbd9d, 0xbd9e, 0xbd9f,
    -    0xbda0, 0xbda1, 0xbda2, 0xbda3, 0xbda5, 0xbda6, 0xbda7, 0xbda8,
    -    0xbda9, 0xbdaa, 0xbdab, 0xbdac, 0xbdad, 0xbdae, 0xbdaf, 0xbdb1,
    -    0xbdb2, 0xbdb3, 0xbdb4, 0xbdb5, 0xbdb6, 0xbdb7, 0xbdb9, 0xbdba,
    -    0xbdbb, 0xbdbc, 0xbdbd, 0xbdbe, 0xbdbf, 0xbdc0, 0xbdc1, 0xbdc2,
    -    0xbdc3, 0xbdc4, 0xbdc5, 0xbdc6, 0xbdc7, 0xbdc8, 0xbdc9, 0xbdca,
    -    0xbdcb, 0xbdcc, 0xbdcd, 0xbdce, 0xbdcf, 0xbdd0, 0xbdd1, 0x003f,
    -    /* lead byte 95 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbdd2, 0xbdd3, 0xbdd6, 0xbdd7, 0xbdd9, 0xbdda, 0xbddb,
    -    0xbddd, 0xbdde, 0xbddf, 0xbde0, 0xbde1, 0xbde2, 0xbde3, 0xbde4,
    -    0xbde5, 0xbde6, 0xbde7, 0xbde8, 0xbdea, 0xbdeb, 0xbdec, 0xbded,
    -    0xbdee, 0xbdef, 0xbdf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbdf2, 0xbdf3, 0xbdf5, 0xbdf6, 0xbdf7, 0xbdf9, 0xbdfa,
    -    0xbdfb, 0xbdfc, 0xbdfd, 0xbdfe, 0xbdff, 0xbe01, 0xbe02, 0xbe04,
    -    0xbe06, 0xbe07, 0xbe08, 0xbe09, 0xbe0a, 0xbe0b, 0xbe0e, 0xbe0f,
    -    0xbe11, 0xbe12, 0xbe13, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbe15, 0xbe16, 0xbe17, 0xbe18, 0xbe19, 0xbe1a, 0xbe1b,
    -    0xbe1e, 0xbe20, 0xbe21, 0xbe22, 0xbe23, 0xbe24, 0xbe25, 0xbe26,
    -    0xbe27, 0xbe28, 0xbe29, 0xbe2a, 0xbe2b, 0xbe2c, 0xbe2d, 0xbe2e,
    -    0xbe2f, 0xbe30, 0xbe31, 0xbe32, 0xbe33, 0xbe34, 0xbe35, 0xbe36,
    -    0xbe37, 0xbe38, 0xbe39, 0xbe3a, 0xbe3b, 0xbe3c, 0xbe3d, 0xbe3e,
    -    0xbe3f, 0xbe40, 0xbe41, 0xbe42, 0xbe43, 0xbe46, 0xbe47, 0xbe49,
    -    0xbe4a, 0xbe4b, 0xbe4d, 0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53,
    -    0xbe56, 0xbe58, 0xbe5c, 0xbe5d, 0xbe5e, 0xbe5f, 0xbe62, 0xbe63,
    -    0xbe65, 0xbe66, 0xbe67, 0xbe69, 0xbe6b, 0xbe6c, 0xbe6d, 0xbe6e,
    -    0xbe6f, 0xbe72, 0xbe76, 0xbe77, 0xbe78, 0xbe79, 0xbe7a, 0xbe7e,
    -    0xbe7f, 0xbe81, 0xbe82, 0xbe83, 0xbe85, 0xbe86, 0xbe87, 0xbe88,
    -    0xbe89, 0xbe8a, 0xbe8b, 0xbe8e, 0xbe92, 0xbe93, 0xbe94, 0xbe95,
    -    0xbe96, 0xbe97, 0xbe9a, 0xbe9b, 0xbe9c, 0xbe9d, 0xbe9e, 0xbe9f,
    -    0xbea0, 0xbea1, 0xbea2, 0xbea3, 0xbea4, 0xbea5, 0xbea6, 0xbea7,
    -    0xbea9, 0xbeaa, 0xbeab, 0xbeac, 0xbead, 0xbeae, 0xbeaf, 0xbeb0,
    -    0xbeb1, 0xbeb2, 0xbeb3, 0xbeb4, 0xbeb5, 0xbeb6, 0xbeb7, 0x003f,
    -    /* lead byte 96 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbeb8, 0xbeb9, 0xbeba, 0xbebb, 0xbebc, 0xbebd, 0xbebe,
    -    0xbebf, 0xbec0, 0xbec1, 0xbec2, 0xbec3, 0xbec4, 0xbec5, 0xbec6,
    -    0xbec7, 0xbec8, 0xbec9, 0xbeca, 0xbecb, 0xbecc, 0xbecd, 0xbece,
    -    0xbecf, 0xbed2, 0xbed3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbed5, 0xbed6, 0xbed9, 0xbeda, 0xbedb, 0xbedc, 0xbedd,
    -    0xbede, 0xbedf, 0xbee1, 0xbee2, 0xbee6, 0xbee7, 0xbee8, 0xbee9,
    -    0xbeea, 0xbeeb, 0xbeed, 0xbeee, 0xbeef, 0xbef0, 0xbef1, 0xbef2,
    -    0xbef3, 0xbef4, 0xbef5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbef6, 0xbef7, 0xbef8, 0xbef9, 0xbefa, 0xbefb, 0xbefc,
    -    0xbefd, 0xbefe, 0xbeff, 0xbf00, 0xbf02, 0xbf03, 0xbf04, 0xbf05,
    -    0xbf06, 0xbf07, 0xbf0a, 0xbf0b, 0xbf0c, 0xbf0d, 0xbf0e, 0xbf0f,
    -    0xbf10, 0xbf11, 0xbf12, 0xbf13, 0xbf14, 0xbf15, 0xbf16, 0xbf17,
    -    0xbf1a, 0xbf1e, 0xbf1f, 0xbf20, 0xbf21, 0xbf22, 0xbf23, 0xbf24,
    -    0xbf25, 0xbf26, 0xbf27, 0xbf28, 0xbf29, 0xbf2a, 0xbf2b, 0xbf2c,
    -    0xbf2d, 0xbf2e, 0xbf2f, 0xbf30, 0xbf31, 0xbf32, 0xbf33, 0xbf34,
    -    0xbf35, 0xbf36, 0xbf37, 0xbf38, 0xbf39, 0xbf3a, 0xbf3b, 0xbf3c,
    -    0xbf3d, 0xbf3e, 0xbf3f, 0xbf42, 0xbf43, 0xbf45, 0xbf46, 0xbf47,
    -    0xbf49, 0xbf4a, 0xbf4b, 0xbf4c, 0xbf4d, 0xbf4e, 0xbf4f, 0xbf52,
    -    0xbf53, 0xbf54, 0xbf56, 0xbf57, 0xbf58, 0xbf59, 0xbf5a, 0xbf5b,
    -    0xbf5c, 0xbf5d, 0xbf5e, 0xbf5f, 0xbf60, 0xbf61, 0xbf62, 0xbf63,
    -    0xbf64, 0xbf65, 0xbf66, 0xbf67, 0xbf68, 0xbf69, 0xbf6a, 0xbf6b,
    -    0xbf6c, 0xbf6d, 0xbf6e, 0xbf6f, 0xbf70, 0xbf71, 0xbf72, 0xbf73,
    -    0xbf74, 0xbf75, 0xbf76, 0xbf77, 0xbf78, 0xbf79, 0xbf7a, 0xbf7b,
    -    0xbf7c, 0xbf7d, 0xbf7e, 0xbf7f, 0xbf80, 0xbf81, 0xbf82, 0x003f,
    -    /* lead byte 97 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbf83, 0xbf84, 0xbf85, 0xbf86, 0xbf87, 0xbf88, 0xbf89,
    -    0xbf8a, 0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90, 0xbf91,
    -    0xbf92, 0xbf93, 0xbf95, 0xbf96, 0xbf97, 0xbf98, 0xbf99, 0xbf9a,
    -    0xbf9b, 0xbf9c, 0xbf9d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbf9e, 0xbf9f, 0xbfa0, 0xbfa1, 0xbfa2, 0xbfa3, 0xbfa4,
    -    0xbfa5, 0xbfa6, 0xbfa7, 0xbfa8, 0xbfa9, 0xbfaa, 0xbfab, 0xbfac,
    -    0xbfad, 0xbfae, 0xbfaf, 0xbfb1, 0xbfb2, 0xbfb3, 0xbfb4, 0xbfb5,
    -    0xbfb6, 0xbfb7, 0xbfb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xbfb9, 0xbfba, 0xbfbb, 0xbfbc, 0xbfbd, 0xbfbe, 0xbfbf,
    -    0xbfc0, 0xbfc1, 0xbfc2, 0xbfc3, 0xbfc4, 0xbfc6, 0xbfc7, 0xbfc8,
    -    0xbfc9, 0xbfca, 0xbfcb, 0xbfce, 0xbfcf, 0xbfd1, 0xbfd2, 0xbfd3,
    -    0xbfd5, 0xbfd6, 0xbfd7, 0xbfd8, 0xbfd9, 0xbfda, 0xbfdb, 0xbfdd,
    -    0xbfde, 0xbfe0, 0xbfe2, 0xbfe3, 0xbfe4, 0xbfe5, 0xbfe6, 0xbfe7,
    -    0xbfe8, 0xbfe9, 0xbfea, 0xbfeb, 0xbfec, 0xbfed, 0xbfee, 0xbfef,
    -    0xbff0, 0xbff1, 0xbff2, 0xbff3, 0xbff4, 0xbff5, 0xbff6, 0xbff7,
    -    0xbff8, 0xbff9, 0xbffa, 0xbffb, 0xbffc, 0xbffd, 0xbffe, 0xbfff,
    -    0xc000, 0xc001, 0xc002, 0xc003, 0xc004, 0xc005, 0xc006, 0xc007,
    -    0xc008, 0xc009, 0xc00a, 0xc00b, 0xc00c, 0xc00d, 0xc00e, 0xc00f,
    -    0xc010, 0xc011, 0xc012, 0xc013, 0xc014, 0xc015, 0xc016, 0xc017,
    -    0xc018, 0xc019, 0xc01a, 0xc01b, 0xc01c, 0xc01d, 0xc01e, 0xc01f,
    -    0xc020, 0xc021, 0xc022, 0xc023, 0xc024, 0xc025, 0xc026, 0xc027,
    -    0xc028, 0xc029, 0xc02a, 0xc02b, 0xc02c, 0xc02d, 0xc02e, 0xc02f,
    -    0xc030, 0xc031, 0xc032, 0xc033, 0xc034, 0xc035, 0xc036, 0xc037,
    -    0xc038, 0xc039, 0xc03a, 0xc03b, 0xc03d, 0xc03e, 0xc03f, 0x003f,
    -    /* lead byte 98 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc040, 0xc041, 0xc042, 0xc043, 0xc044, 0xc045, 0xc046,
    -    0xc047, 0xc048, 0xc049, 0xc04a, 0xc04b, 0xc04c, 0xc04d, 0xc04e,
    -    0xc04f, 0xc050, 0xc052, 0xc053, 0xc054, 0xc055, 0xc056, 0xc057,
    -    0xc059, 0xc05a, 0xc05b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc05d, 0xc05e, 0xc05f, 0xc061, 0xc062, 0xc063, 0xc064,
    -    0xc065, 0xc066, 0xc067, 0xc06a, 0xc06b, 0xc06c, 0xc06d, 0xc06e,
    -    0xc06f, 0xc070, 0xc071, 0xc072, 0xc073, 0xc074, 0xc075, 0xc076,
    -    0xc077, 0xc078, 0xc079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc07a, 0xc07b, 0xc07c, 0xc07d, 0xc07e, 0xc07f, 0xc080,
    -    0xc081, 0xc082, 0xc083, 0xc084, 0xc085, 0xc086, 0xc087, 0xc088,
    -    0xc089, 0xc08a, 0xc08b, 0xc08c, 0xc08d, 0xc08e, 0xc08f, 0xc092,
    -    0xc093, 0xc095, 0xc096, 0xc097, 0xc099, 0xc09a, 0xc09b, 0xc09c,
    -    0xc09d, 0xc09e, 0xc09f, 0xc0a2, 0xc0a4, 0xc0a6, 0xc0a7, 0xc0a8,
    -    0xc0a9, 0xc0aa, 0xc0ab, 0xc0ae, 0xc0b1, 0xc0b2, 0xc0b7, 0xc0b8,
    -    0xc0b9, 0xc0ba, 0xc0bb, 0xc0be, 0xc0c2, 0xc0c3, 0xc0c4, 0xc0c6,
    -    0xc0c7, 0xc0ca, 0xc0cb, 0xc0cd, 0xc0ce, 0xc0cf, 0xc0d1, 0xc0d2,
    -    0xc0d3, 0xc0d4, 0xc0d5, 0xc0d6, 0xc0d7, 0xc0da, 0xc0de, 0xc0df,
    -    0xc0e0, 0xc0e1, 0xc0e2, 0xc0e3, 0xc0e6, 0xc0e7, 0xc0e9, 0xc0ea,
    -    0xc0eb, 0xc0ed, 0xc0ee, 0xc0ef, 0xc0f0, 0xc0f1, 0xc0f2, 0xc0f3,
    -    0xc0f6, 0xc0f8, 0xc0fa, 0xc0fb, 0xc0fc, 0xc0fd, 0xc0fe, 0xc0ff,
    -    0xc101, 0xc102, 0xc103, 0xc105, 0xc106, 0xc107, 0xc109, 0xc10a,
    -    0xc10b, 0xc10c, 0xc10d, 0xc10e, 0xc10f, 0xc111, 0xc112, 0xc113,
    -    0xc114, 0xc116, 0xc117, 0xc118, 0xc119, 0xc11a, 0xc11b, 0xc121,
    -    0xc122, 0xc125, 0xc128, 0xc129, 0xc12a, 0xc12b, 0xc12e, 0x003f,
    -    /* lead byte 99 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc132, 0xc133, 0xc134, 0xc135, 0xc137, 0xc13a, 0xc13b,
    -    0xc13d, 0xc13e, 0xc13f, 0xc141, 0xc142, 0xc143, 0xc144, 0xc145,
    -    0xc146, 0xc147, 0xc14a, 0xc14e, 0xc14f, 0xc150, 0xc151, 0xc152,
    -    0xc153, 0xc156, 0xc157, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc159, 0xc15a, 0xc15b, 0xc15d, 0xc15e, 0xc15f, 0xc160,
    -    0xc161, 0xc162, 0xc163, 0xc166, 0xc16a, 0xc16b, 0xc16c, 0xc16d,
    -    0xc16e, 0xc16f, 0xc171, 0xc172, 0xc173, 0xc175, 0xc176, 0xc177,
    -    0xc179, 0xc17a, 0xc17b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc17c, 0xc17d, 0xc17e, 0xc17f, 0xc180, 0xc181, 0xc182,
    -    0xc183, 0xc184, 0xc186, 0xc187, 0xc188, 0xc189, 0xc18a, 0xc18b,
    -    0xc18f, 0xc191, 0xc192, 0xc193, 0xc195, 0xc197, 0xc198, 0xc199,
    -    0xc19a, 0xc19b, 0xc19e, 0xc1a0, 0xc1a2, 0xc1a3, 0xc1a4, 0xc1a6,
    -    0xc1a7, 0xc1aa, 0xc1ab, 0xc1ad, 0xc1ae, 0xc1af, 0xc1b1, 0xc1b2,
    -    0xc1b3, 0xc1b4, 0xc1b5, 0xc1b6, 0xc1b7, 0xc1b8, 0xc1b9, 0xc1ba,
    -    0xc1bb, 0xc1bc, 0xc1be, 0xc1bf, 0xc1c0, 0xc1c1, 0xc1c2, 0xc1c3,
    -    0xc1c5, 0xc1c6, 0xc1c7, 0xc1c9, 0xc1ca, 0xc1cb, 0xc1cd, 0xc1ce,
    -    0xc1cf, 0xc1d0, 0xc1d1, 0xc1d2, 0xc1d3, 0xc1d5, 0xc1d6, 0xc1d9,
    -    0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de, 0xc1df, 0xc1e1, 0xc1e2,
    -    0xc1e3, 0xc1e5, 0xc1e6, 0xc1e7, 0xc1e9, 0xc1ea, 0xc1eb, 0xc1ec,
    -    0xc1ed, 0xc1ee, 0xc1ef, 0xc1f2, 0xc1f4, 0xc1f5, 0xc1f6, 0xc1f7,
    -    0xc1f8, 0xc1f9, 0xc1fa, 0xc1fb, 0xc1fe, 0xc1ff, 0xc201, 0xc202,
    -    0xc203, 0xc205, 0xc206, 0xc207, 0xc208, 0xc209, 0xc20a, 0xc20b,
    -    0xc20e, 0xc210, 0xc212, 0xc213, 0xc214, 0xc215, 0xc216, 0xc217,
    -    0xc21a, 0xc21b, 0xc21d, 0xc21e, 0xc221, 0xc222, 0xc223, 0x003f,
    -    /* lead byte 9a */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc224, 0xc225, 0xc226, 0xc227, 0xc22a, 0xc22c, 0xc22e,
    -    0xc230, 0xc233, 0xc235, 0xc236, 0xc237, 0xc238, 0xc239, 0xc23a,
    -    0xc23b, 0xc23c, 0xc23d, 0xc23e, 0xc23f, 0xc240, 0xc241, 0xc242,
    -    0xc243, 0xc244, 0xc245, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc246, 0xc247, 0xc249, 0xc24a, 0xc24b, 0xc24c, 0xc24d,
    -    0xc24e, 0xc24f, 0xc252, 0xc253, 0xc255, 0xc256, 0xc257, 0xc259,
    -    0xc25a, 0xc25b, 0xc25c, 0xc25d, 0xc25e, 0xc25f, 0xc261, 0xc262,
    -    0xc263, 0xc264, 0xc266, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc267, 0xc268, 0xc269, 0xc26a, 0xc26b, 0xc26e, 0xc26f,
    -    0xc271, 0xc272, 0xc273, 0xc275, 0xc276, 0xc277, 0xc278, 0xc279,
    -    0xc27a, 0xc27b, 0xc27e, 0xc280, 0xc282, 0xc283, 0xc284, 0xc285,
    -    0xc286, 0xc287, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
    -    0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297, 0xc299,
    -    0xc29a, 0xc29c, 0xc29e, 0xc29f, 0xc2a0, 0xc2a1, 0xc2a2, 0xc2a3,
    -    0xc2a6, 0xc2a7, 0xc2a9, 0xc2aa, 0xc2ab, 0xc2ae, 0xc2af, 0xc2b0,
    -    0xc2b1, 0xc2b2, 0xc2b3, 0xc2b6, 0xc2b8, 0xc2ba, 0xc2bb, 0xc2bc,
    -    0xc2bd, 0xc2be, 0xc2bf, 0xc2c0, 0xc2c1, 0xc2c2, 0xc2c3, 0xc2c4,
    -    0xc2c5, 0xc2c6, 0xc2c7, 0xc2c8, 0xc2c9, 0xc2ca, 0xc2cb, 0xc2cc,
    -    0xc2cd, 0xc2ce, 0xc2cf, 0xc2d0, 0xc2d1, 0xc2d2, 0xc2d3, 0xc2d4,
    -    0xc2d5, 0xc2d6, 0xc2d7, 0xc2d8, 0xc2d9, 0xc2da, 0xc2db, 0xc2de,
    -    0xc2df, 0xc2e1, 0xc2e2, 0xc2e5, 0xc2e6, 0xc2e7, 0xc2e8, 0xc2e9,
    -    0xc2ea, 0xc2ee, 0xc2f0, 0xc2f2, 0xc2f3, 0xc2f4, 0xc2f5, 0xc2f7,
    -    0xc2fa, 0xc2fd, 0xc2fe, 0xc2ff, 0xc301, 0xc302, 0xc303, 0xc304,
    -    0xc305, 0xc306, 0xc307, 0xc30a, 0xc30b, 0xc30e, 0xc30f, 0x003f,
    -    /* lead byte 9b */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc310, 0xc311, 0xc312, 0xc316, 0xc317, 0xc319, 0xc31a,
    -    0xc31b, 0xc31d, 0xc31e, 0xc31f, 0xc320, 0xc321, 0xc322, 0xc323,
    -    0xc326, 0xc327, 0xc32a, 0xc32b, 0xc32c, 0xc32d, 0xc32e, 0xc32f,
    -    0xc330, 0xc331, 0xc332, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc333, 0xc334, 0xc335, 0xc336, 0xc337, 0xc338, 0xc339,
    -    0xc33a, 0xc33b, 0xc33c, 0xc33d, 0xc33e, 0xc33f, 0xc340, 0xc341,
    -    0xc342, 0xc343, 0xc344, 0xc346, 0xc347, 0xc348, 0xc349, 0xc34a,
    -    0xc34b, 0xc34c, 0xc34d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc34e, 0xc34f, 0xc350, 0xc351, 0xc352, 0xc353, 0xc354,
    -    0xc355, 0xc356, 0xc357, 0xc358, 0xc359, 0xc35a, 0xc35b, 0xc35c,
    -    0xc35d, 0xc35e, 0xc35f, 0xc360, 0xc361, 0xc362, 0xc363, 0xc364,
    -    0xc365, 0xc366, 0xc367, 0xc36a, 0xc36b, 0xc36d, 0xc36e, 0xc36f,
    -    0xc371, 0xc373, 0xc374, 0xc375, 0xc376, 0xc377, 0xc37a, 0xc37b,
    -    0xc37e, 0xc37f, 0xc380, 0xc381, 0xc382, 0xc383, 0xc385, 0xc386,
    -    0xc387, 0xc389, 0xc38a, 0xc38b, 0xc38d, 0xc38e, 0xc38f, 0xc390,
    -    0xc391, 0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc397, 0xc398,
    -    0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc39d, 0xc39e, 0xc39f, 0xc3a0,
    -    0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4, 0xc3a5, 0xc3a6, 0xc3a7, 0xc3a8,
    -    0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae, 0xc3af, 0xc3b0,
    -    0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7, 0xc3b8,
    -    0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc3bd, 0xc3be, 0xc3bf, 0xc3c1,
    -    0xc3c2, 0xc3c3, 0xc3c4, 0xc3c5, 0xc3c6, 0xc3c7, 0xc3c8, 0xc3c9,
    -    0xc3ca, 0xc3cb, 0xc3cc, 0xc3cd, 0xc3ce, 0xc3cf, 0xc3d0, 0xc3d1,
    -    0xc3d2, 0xc3d3, 0xc3d4, 0xc3d5, 0xc3d6, 0xc3d7, 0xc3da, 0x003f,
    -    /* lead byte 9c */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc3db, 0xc3dd, 0xc3de, 0xc3e1, 0xc3e3, 0xc3e4, 0xc3e5,
    -    0xc3e6, 0xc3e7, 0xc3ea, 0xc3eb, 0xc3ec, 0xc3ee, 0xc3ef, 0xc3f0,
    -    0xc3f1, 0xc3f2, 0xc3f3, 0xc3f6, 0xc3f7, 0xc3f9, 0xc3fa, 0xc3fb,
    -    0xc3fc, 0xc3fd, 0xc3fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc3ff, 0xc400, 0xc401, 0xc402, 0xc403, 0xc404, 0xc405,
    -    0xc406, 0xc407, 0xc409, 0xc40a, 0xc40b, 0xc40c, 0xc40d, 0xc40e,
    -    0xc40f, 0xc411, 0xc412, 0xc413, 0xc414, 0xc415, 0xc416, 0xc417,
    -    0xc418, 0xc419, 0xc41a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc41b, 0xc41c, 0xc41d, 0xc41e, 0xc41f, 0xc420, 0xc421,
    -    0xc422, 0xc423, 0xc425, 0xc426, 0xc427, 0xc428, 0xc429, 0xc42a,
    -    0xc42b, 0xc42d, 0xc42e, 0xc42f, 0xc431, 0xc432, 0xc433, 0xc435,
    -    0xc436, 0xc437, 0xc438, 0xc439, 0xc43a, 0xc43b, 0xc43e, 0xc43f,
    -    0xc440, 0xc441, 0xc442, 0xc443, 0xc444, 0xc445, 0xc446, 0xc447,
    -    0xc449, 0xc44a, 0xc44b, 0xc44c, 0xc44d, 0xc44e, 0xc44f, 0xc450,
    -    0xc451, 0xc452, 0xc453, 0xc454, 0xc455, 0xc456, 0xc457, 0xc458,
    -    0xc459, 0xc45a, 0xc45b, 0xc45c, 0xc45d, 0xc45e, 0xc45f, 0xc460,
    -    0xc461, 0xc462, 0xc463, 0xc466, 0xc467, 0xc469, 0xc46a, 0xc46b,
    -    0xc46d, 0xc46e, 0xc46f, 0xc470, 0xc471, 0xc472, 0xc473, 0xc476,
    -    0xc477, 0xc478, 0xc47a, 0xc47b, 0xc47c, 0xc47d, 0xc47e, 0xc47f,
    -    0xc481, 0xc482, 0xc483, 0xc484, 0xc485, 0xc486, 0xc487, 0xc488,
    -    0xc489, 0xc48a, 0xc48b, 0xc48c, 0xc48d, 0xc48e, 0xc48f, 0xc490,
    -    0xc491, 0xc492, 0xc493, 0xc495, 0xc496, 0xc497, 0xc498, 0xc499,
    -    0xc49a, 0xc49b, 0xc49d, 0xc49e, 0xc49f, 0xc4a0, 0xc4a1, 0xc4a2,
    -    0xc4a3, 0xc4a4, 0xc4a5, 0xc4a6, 0xc4a7, 0xc4a8, 0xc4a9, 0x003f,
    -    /* lead byte 9d */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc4aa, 0xc4ab, 0xc4ac, 0xc4ad, 0xc4ae, 0xc4af, 0xc4b0,
    -    0xc4b1, 0xc4b2, 0xc4b3, 0xc4b4, 0xc4b5, 0xc4b6, 0xc4b7, 0xc4b9,
    -    0xc4ba, 0xc4bb, 0xc4bd, 0xc4be, 0xc4bf, 0xc4c0, 0xc4c1, 0xc4c2,
    -    0xc4c3, 0xc4c4, 0xc4c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc4c6, 0xc4c7, 0xc4c8, 0xc4c9, 0xc4ca, 0xc4cb, 0xc4cc,
    -    0xc4cd, 0xc4ce, 0xc4cf, 0xc4d0, 0xc4d1, 0xc4d2, 0xc4d3, 0xc4d4,
    -    0xc4d5, 0xc4d6, 0xc4d7, 0xc4d8, 0xc4d9, 0xc4da, 0xc4db, 0xc4dc,
    -    0xc4dd, 0xc4de, 0xc4df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc4e0, 0xc4e1, 0xc4e2, 0xc4e3, 0xc4e4, 0xc4e5, 0xc4e6,
    -    0xc4e7, 0xc4e8, 0xc4ea, 0xc4eb, 0xc4ec, 0xc4ed, 0xc4ee, 0xc4ef,
    -    0xc4f2, 0xc4f3, 0xc4f5, 0xc4f6, 0xc4f7, 0xc4f9, 0xc4fb, 0xc4fc,
    -    0xc4fd, 0xc4fe, 0xc502, 0xc503, 0xc504, 0xc505, 0xc506, 0xc507,
    -    0xc508, 0xc509, 0xc50a, 0xc50b, 0xc50d, 0xc50e, 0xc50f, 0xc511,
    -    0xc512, 0xc513, 0xc515, 0xc516, 0xc517, 0xc518, 0xc519, 0xc51a,
    -    0xc51b, 0xc51d, 0xc51e, 0xc51f, 0xc520, 0xc521, 0xc522, 0xc523,
    -    0xc524, 0xc525, 0xc526, 0xc527, 0xc52a, 0xc52b, 0xc52d, 0xc52e,
    -    0xc52f, 0xc531, 0xc532, 0xc533, 0xc534, 0xc535, 0xc536, 0xc537,
    -    0xc53a, 0xc53c, 0xc53e, 0xc53f, 0xc540, 0xc541, 0xc542, 0xc543,
    -    0xc546, 0xc547, 0xc54b, 0xc54f, 0xc550, 0xc551, 0xc552, 0xc556,
    -    0xc55a, 0xc55b, 0xc55c, 0xc55f, 0xc562, 0xc563, 0xc565, 0xc566,
    -    0xc567, 0xc569, 0xc56a, 0xc56b, 0xc56c, 0xc56d, 0xc56e, 0xc56f,
    -    0xc572, 0xc576, 0xc577, 0xc578, 0xc579, 0xc57a, 0xc57b, 0xc57e,
    -    0xc57f, 0xc581, 0xc582, 0xc583, 0xc585, 0xc586, 0xc588, 0xc589,
    -    0xc58a, 0xc58b, 0xc58e, 0xc590, 0xc592, 0xc593, 0xc594, 0x003f,
    -    /* lead byte 9e */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc596, 0xc599, 0xc59a, 0xc59b, 0xc59d, 0xc59e, 0xc59f,
    -    0xc5a1, 0xc5a2, 0xc5a3, 0xc5a4, 0xc5a5, 0xc5a6, 0xc5a7, 0xc5a8,
    -    0xc5aa, 0xc5ab, 0xc5ac, 0xc5ad, 0xc5ae, 0xc5af, 0xc5b0, 0xc5b1,
    -    0xc5b2, 0xc5b3, 0xc5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc5b7, 0xc5ba, 0xc5bf, 0xc5c0, 0xc5c1, 0xc5c2, 0xc5c3,
    -    0xc5cb, 0xc5cd, 0xc5cf, 0xc5d2, 0xc5d3, 0xc5d5, 0xc5d6, 0xc5d7,
    -    0xc5d9, 0xc5da, 0xc5db, 0xc5dc, 0xc5dd, 0xc5de, 0xc5df, 0xc5e2,
    -    0xc5e4, 0xc5e6, 0xc5e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc5e8, 0xc5e9, 0xc5ea, 0xc5eb, 0xc5ef, 0xc5f1, 0xc5f2,
    -    0xc5f3, 0xc5f5, 0xc5f8, 0xc5f9, 0xc5fa, 0xc5fb, 0xc602, 0xc603,
    -    0xc604, 0xc609, 0xc60a, 0xc60b, 0xc60d, 0xc60e, 0xc60f, 0xc611,
    -    0xc612, 0xc613, 0xc614, 0xc615, 0xc616, 0xc617, 0xc61a, 0xc61d,
    -    0xc61e, 0xc61f, 0xc620, 0xc621, 0xc622, 0xc623, 0xc626, 0xc627,
    -    0xc629, 0xc62a, 0xc62b, 0xc62f, 0xc631, 0xc632, 0xc636, 0xc638,
    -    0xc63a, 0xc63c, 0xc63d, 0xc63e, 0xc63f, 0xc642, 0xc643, 0xc645,
    -    0xc646, 0xc647, 0xc649, 0xc64a, 0xc64b, 0xc64c, 0xc64d, 0xc64e,
    -    0xc64f, 0xc652, 0xc656, 0xc657, 0xc658, 0xc659, 0xc65a, 0xc65b,
    -    0xc65e, 0xc65f, 0xc661, 0xc662, 0xc663, 0xc664, 0xc665, 0xc666,
    -    0xc667, 0xc668, 0xc669, 0xc66a, 0xc66b, 0xc66d, 0xc66e, 0xc670,
    -    0xc672, 0xc673, 0xc674, 0xc675, 0xc676, 0xc677, 0xc67a, 0xc67b,
    -    0xc67d, 0xc67e, 0xc67f, 0xc681, 0xc682, 0xc683, 0xc684, 0xc685,
    -    0xc686, 0xc687, 0xc68a, 0xc68c, 0xc68e, 0xc68f, 0xc690, 0xc691,
    -    0xc692, 0xc693, 0xc696, 0xc697, 0xc699, 0xc69a, 0xc69b, 0xc69d,
    -    0xc69e, 0xc69f, 0xc6a0, 0xc6a1, 0xc6a2, 0xc6a3, 0xc6a6, 0x003f,
    -    /* lead byte 9f */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc6a8, 0xc6aa, 0xc6ab, 0xc6ac, 0xc6ad, 0xc6ae, 0xc6af,
    -    0xc6b2, 0xc6b3, 0xc6b5, 0xc6b6, 0xc6b7, 0xc6bb, 0xc6bc, 0xc6bd,
    -    0xc6be, 0xc6bf, 0xc6c2, 0xc6c4, 0xc6c6, 0xc6c7, 0xc6c8, 0xc6c9,
    -    0xc6ca, 0xc6cb, 0xc6ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc6cf, 0xc6d1, 0xc6d2, 0xc6d3, 0xc6d5, 0xc6d6, 0xc6d7,
    -    0xc6d8, 0xc6d9, 0xc6da, 0xc6db, 0xc6de, 0xc6df, 0xc6e2, 0xc6e3,
    -    0xc6e4, 0xc6e5, 0xc6e6, 0xc6e7, 0xc6ea, 0xc6eb, 0xc6ed, 0xc6ee,
    -    0xc6ef, 0xc6f1, 0xc6f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc6f3, 0xc6f4, 0xc6f5, 0xc6f6, 0xc6f7, 0xc6fa, 0xc6fb,
    -    0xc6fc, 0xc6fe, 0xc6ff, 0xc700, 0xc701, 0xc702, 0xc703, 0xc706,
    -    0xc707, 0xc709, 0xc70a, 0xc70b, 0xc70d, 0xc70e, 0xc70f, 0xc710,
    -    0xc711, 0xc712, 0xc713, 0xc716, 0xc718, 0xc71a, 0xc71b, 0xc71c,
    -    0xc71d, 0xc71e, 0xc71f, 0xc722, 0xc723, 0xc725, 0xc726, 0xc727,
    -    0xc729, 0xc72a, 0xc72b, 0xc72c, 0xc72d, 0xc72e, 0xc72f, 0xc732,
    -    0xc734, 0xc736, 0xc738, 0xc739, 0xc73a, 0xc73b, 0xc73e, 0xc73f,
    -    0xc741, 0xc742, 0xc743, 0xc745, 0xc746, 0xc747, 0xc748, 0xc749,
    -    0xc74b, 0xc74e, 0xc750, 0xc759, 0xc75a, 0xc75b, 0xc75d, 0xc75e,
    -    0xc75f, 0xc761, 0xc762, 0xc763, 0xc764, 0xc765, 0xc766, 0xc767,
    -    0xc769, 0xc76a, 0xc76c, 0xc76d, 0xc76e, 0xc76f, 0xc770, 0xc771,
    -    0xc772, 0xc773, 0xc776, 0xc777, 0xc779, 0xc77a, 0xc77b, 0xc77f,
    -    0xc780, 0xc781, 0xc782, 0xc786, 0xc78b, 0xc78c, 0xc78d, 0xc78f,
    -    0xc792, 0xc793, 0xc795, 0xc799, 0xc79b, 0xc79c, 0xc79d, 0xc79e,
    -    0xc79f, 0xc7a2, 0xc7a7, 0xc7a8, 0xc7a9, 0xc7aa, 0xc7ab, 0xc7ae,
    -    0xc7af, 0xc7b1, 0xc7b2, 0xc7b3, 0xc7b5, 0xc7b6, 0xc7b7, 0x003f,
    -    /* lead byte a0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc7b8, 0xc7b9, 0xc7ba, 0xc7bb, 0xc7be, 0xc7c2, 0xc7c3,
    -    0xc7c4, 0xc7c5, 0xc7c6, 0xc7c7, 0xc7ca, 0xc7cb, 0xc7cd, 0xc7cf,
    -    0xc7d1, 0xc7d2, 0xc7d3, 0xc7d4, 0xc7d5, 0xc7d6, 0xc7d7, 0xc7d9,
    -    0xc7da, 0xc7db, 0xc7dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc7de, 0xc7df, 0xc7e0, 0xc7e1, 0xc7e2, 0xc7e3, 0xc7e5,
    -    0xc7e6, 0xc7e7, 0xc7e9, 0xc7ea, 0xc7eb, 0xc7ed, 0xc7ee, 0xc7ef,
    -    0xc7f0, 0xc7f1, 0xc7f2, 0xc7f3, 0xc7f4, 0xc7f5, 0xc7f6, 0xc7f7,
    -    0xc7f8, 0xc7f9, 0xc7fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc7fb, 0xc7fc, 0xc7fd, 0xc7fe, 0xc7ff, 0xc802, 0xc803,
    -    0xc805, 0xc806, 0xc807, 0xc809, 0xc80b, 0xc80c, 0xc80d, 0xc80e,
    -    0xc80f, 0xc812, 0xc814, 0xc817, 0xc818, 0xc819, 0xc81a, 0xc81b,
    -    0xc81e, 0xc81f, 0xc821, 0xc822, 0xc823, 0xc825, 0xc826, 0xc827,
    -    0xc828, 0xc829, 0xc82a, 0xc82b, 0xc82e, 0xc830, 0xc832, 0xc833,
    -    0xc834, 0xc835, 0xc836, 0xc837, 0xc839, 0xc83a, 0xc83b, 0xc83d,
    -    0xc83e, 0xc83f, 0xc841, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846,
    -    0xc847, 0xc84a, 0xc84b, 0xc84e, 0xc84f, 0xc850, 0xc851, 0xc852,
    -    0xc853, 0xc855, 0xc856, 0xc857, 0xc858, 0xc859, 0xc85a, 0xc85b,
    -    0xc85c, 0xc85d, 0xc85e, 0xc85f, 0xc860, 0xc861, 0xc862, 0xc863,
    -    0xc864, 0xc865, 0xc866, 0xc867, 0xc868, 0xc869, 0xc86a, 0xc86b,
    -    0xc86c, 0xc86d, 0xc86e, 0xc86f, 0xc872, 0xc873, 0xc875, 0xc876,
    -    0xc877, 0xc879, 0xc87b, 0xc87c, 0xc87d, 0xc87e, 0xc87f, 0xc882,
    -    0xc884, 0xc888, 0xc889, 0xc88a, 0xc88e, 0xc88f, 0xc890, 0xc891,
    -    0xc892, 0xc893, 0xc895, 0xc896, 0xc897, 0xc898, 0xc899, 0xc89a,
    -    0xc89b, 0xc89c, 0xc89e, 0xc8a0, 0xc8a2, 0xc8a3, 0xc8a4, 0x003f,
    -    /* lead byte a1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc8a5, 0xc8a6, 0xc8a7, 0xc8a9, 0xc8aa, 0xc8ab, 0xc8ac,
    -    0xc8ad, 0xc8ae, 0xc8af, 0xc8b0, 0xc8b1, 0xc8b2, 0xc8b3, 0xc8b4,
    -    0xc8b5, 0xc8b6, 0xc8b7, 0xc8b8, 0xc8b9, 0xc8ba, 0xc8bb, 0xc8be,
    -    0xc8bf, 0xc8c0, 0xc8c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc8c2, 0xc8c3, 0xc8c5, 0xc8c6, 0xc8c7, 0xc8c9, 0xc8ca,
    -    0xc8cb, 0xc8cd, 0xc8ce, 0xc8cf, 0xc8d0, 0xc8d1, 0xc8d2, 0xc8d3,
    -    0xc8d6, 0xc8d8, 0xc8da, 0xc8db, 0xc8dc, 0xc8dd, 0xc8de, 0xc8df,
    -    0xc8e2, 0xc8e3, 0xc8e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc8e6, 0xc8e7, 0xc8e8, 0xc8e9, 0xc8ea, 0xc8eb, 0xc8ec,
    -    0xc8ed, 0xc8ee, 0xc8ef, 0xc8f0, 0xc8f1, 0xc8f2, 0xc8f3, 0xc8f4,
    -    0xc8f6, 0xc8f7, 0xc8f8, 0xc8f9, 0xc8fa, 0xc8fb, 0xc8fe, 0xc8ff,
    -    0xc901, 0xc902, 0xc903, 0xc907, 0xc908, 0xc909, 0xc90a, 0xc90b,
    -    0xc90e, 0x3000, 0x3001, 0x3002, 0x00b7, 0x2025, 0x2026, 0x00a8,
    -    0x3003, 0x00ad, 0x2015, 0x2225, 0xff3c, 0x223c, 0x2018, 0x2019,
    -    0x201c, 0x201d, 0x3014, 0x3015, 0x3008, 0x3009, 0x300a, 0x300b,
    -    0x300c, 0x300d, 0x300e, 0x300f, 0x3010, 0x3011, 0x00b1, 0x00d7,
    -    0x00f7, 0x2260, 0x2264, 0x2265, 0x221e, 0x2234, 0x00b0, 0x2032,
    -    0x2033, 0x2103, 0x212b, 0xffe0, 0xffe1, 0xffe5, 0x2642, 0x2640,
    -    0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x00a7,
    -    0x203b, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6,
    -    0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x2192, 0x2190,
    -    0x2191, 0x2193, 0x2194, 0x3013, 0x226a, 0x226b, 0x221a, 0x223d,
    -    0x221d, 0x2235, 0x222b, 0x222c, 0x2208, 0x220b, 0x2286, 0x2287,
    -    0x2282, 0x2283, 0x222a, 0x2229, 0x2227, 0x2228, 0xffe2, 0x003f,
    -    /* lead byte a2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc910, 0xc912, 0xc913, 0xc914, 0xc915, 0xc916, 0xc917,
    -    0xc919, 0xc91a, 0xc91b, 0xc91c, 0xc91d, 0xc91e, 0xc91f, 0xc920,
    -    0xc921, 0xc922, 0xc923, 0xc924, 0xc925, 0xc926, 0xc927, 0xc928,
    -    0xc929, 0xc92a, 0xc92b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc92d, 0xc92e, 0xc92f, 0xc930, 0xc931, 0xc932, 0xc933,
    -    0xc935, 0xc936, 0xc937, 0xc938, 0xc939, 0xc93a, 0xc93b, 0xc93c,
    -    0xc93d, 0xc93e, 0xc93f, 0xc940, 0xc941, 0xc942, 0xc943, 0xc944,
    -    0xc945, 0xc946, 0xc947, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc948, 0xc949, 0xc94a, 0xc94b, 0xc94c, 0xc94d, 0xc94e,
    -    0xc94f, 0xc952, 0xc953, 0xc955, 0xc956, 0xc957, 0xc959, 0xc95a,
    -    0xc95b, 0xc95c, 0xc95d, 0xc95e, 0xc95f, 0xc962, 0xc964, 0xc965,
    -    0xc966, 0xc967, 0xc968, 0xc969, 0xc96a, 0xc96b, 0xc96d, 0xc96e,
    -    0xc96f, 0x21d2, 0x21d4, 0x2200, 0x2203, 0x00b4, 0xff5e, 0x02c7,
    -    0x02d8, 0x02dd, 0x02da, 0x02d9, 0x00b8, 0x02db, 0x00a1, 0x00bf,
    -    0x02d0, 0x222e, 0x2211, 0x220f, 0x00a4, 0x2109, 0x2030, 0x25c1,
    -    0x25c0, 0x25b7, 0x25b6, 0x2664, 0x2660, 0x2661, 0x2665, 0x2667,
    -    0x2663, 0x2299, 0x25c8, 0x25a3, 0x25d0, 0x25d1, 0x2592, 0x25a4,
    -    0x25a5, 0x25a8, 0x25a7, 0x25a6, 0x25a9, 0x2668, 0x260f, 0x260e,
    -    0x261c, 0x261e, 0x00b6, 0x2020, 0x2021, 0x2195, 0x2197, 0x2199,
    -    0x2196, 0x2198, 0x266d, 0x2669, 0x266a, 0x266c, 0x327f, 0x321c,
    -    0x2116, 0x33c7, 0x2122, 0x33c2, 0x33d8, 0x2121, 0x20ac, 0x00ae,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc971, 0xc972, 0xc973, 0xc975, 0xc976, 0xc977, 0xc978,
    -    0xc979, 0xc97a, 0xc97b, 0xc97d, 0xc97e, 0xc97f, 0xc980, 0xc981,
    -    0xc982, 0xc983, 0xc984, 0xc985, 0xc986, 0xc987, 0xc98a, 0xc98b,
    -    0xc98d, 0xc98e, 0xc98f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc991, 0xc992, 0xc993, 0xc994, 0xc995, 0xc996, 0xc997,
    -    0xc99a, 0xc99c, 0xc99e, 0xc99f, 0xc9a0, 0xc9a1, 0xc9a2, 0xc9a3,
    -    0xc9a4, 0xc9a5, 0xc9a6, 0xc9a7, 0xc9a8, 0xc9a9, 0xc9aa, 0xc9ab,
    -    0xc9ac, 0xc9ad, 0xc9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc9af, 0xc9b0, 0xc9b1, 0xc9b2, 0xc9b3, 0xc9b4, 0xc9b5,
    -    0xc9b6, 0xc9b7, 0xc9b8, 0xc9b9, 0xc9ba, 0xc9bb, 0xc9bc, 0xc9bd,
    -    0xc9be, 0xc9bf, 0xc9c2, 0xc9c3, 0xc9c5, 0xc9c6, 0xc9c9, 0xc9cb,
    -    0xc9cc, 0xc9cd, 0xc9ce, 0xc9cf, 0xc9d2, 0xc9d4, 0xc9d7, 0xc9d8,
    -    0xc9db, 0xff01, 0xff02, 0xff03, 0xff04, 0xff05, 0xff06, 0xff07,
    -    0xff08, 0xff09, 0xff0a, 0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f,
    -    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,
    -    0xff18, 0xff19, 0xff1a, 0xff1b, 0xff1c, 0xff1d, 0xff1e, 0xff1f,
    -    0xff20, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,
    -    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,
    -    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
    -    0xff38, 0xff39, 0xff3a, 0xff3b, 0xffe6, 0xff3d, 0xff3e, 0xff3f,
    -    0xff40, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    -    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    -    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    -    0xff58, 0xff59, 0xff5a, 0xff5b, 0xff5c, 0xff5d, 0xffe3, 0x003f,
    -    /* lead byte a4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc9de, 0xc9df, 0xc9e1, 0xc9e3, 0xc9e5, 0xc9e6, 0xc9e8,
    -    0xc9e9, 0xc9ea, 0xc9eb, 0xc9ee, 0xc9f2, 0xc9f3, 0xc9f4, 0xc9f5,
    -    0xc9f6, 0xc9f7, 0xc9fa, 0xc9fb, 0xc9fd, 0xc9fe, 0xc9ff, 0xca01,
    -    0xca02, 0xca03, 0xca04, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xca05, 0xca06, 0xca07, 0xca0a, 0xca0e, 0xca0f, 0xca10,
    -    0xca11, 0xca12, 0xca13, 0xca15, 0xca16, 0xca17, 0xca19, 0xca1a,
    -    0xca1b, 0xca1c, 0xca1d, 0xca1e, 0xca1f, 0xca20, 0xca21, 0xca22,
    -    0xca23, 0xca24, 0xca25, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xca26, 0xca27, 0xca28, 0xca2a, 0xca2b, 0xca2c, 0xca2d,
    -    0xca2e, 0xca2f, 0xca30, 0xca31, 0xca32, 0xca33, 0xca34, 0xca35,
    -    0xca36, 0xca37, 0xca38, 0xca39, 0xca3a, 0xca3b, 0xca3c, 0xca3d,
    -    0xca3e, 0xca3f, 0xca40, 0xca41, 0xca42, 0xca43, 0xca44, 0xca45,
    -    0xca46, 0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136, 0x3137,
    -    0x3138, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d, 0x313e, 0x313f,
    -    0x3140, 0x3141, 0x3142, 0x3143, 0x3144, 0x3145, 0x3146, 0x3147,
    -    0x3148, 0x3149, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e, 0x314f,
    -    0x3150, 0x3151, 0x3152, 0x3153, 0x3154, 0x3155, 0x3156, 0x3157,
    -    0x3158, 0x3159, 0x315a, 0x315b, 0x315c, 0x315d, 0x315e, 0x315f,
    -    0x3160, 0x3161, 0x3162, 0x3163, 0x3164, 0x3165, 0x3166, 0x3167,
    -    0x3168, 0x3169, 0x316a, 0x316b, 0x316c, 0x316d, 0x316e, 0x316f,
    -    0x3170, 0x3171, 0x3172, 0x3173, 0x3174, 0x3175, 0x3176, 0x3177,
    -    0x3178, 0x3179, 0x317a, 0x317b, 0x317c, 0x317d, 0x317e, 0x317f,
    -    0x3180, 0x3181, 0x3182, 0x3183, 0x3184, 0x3185, 0x3186, 0x3187,
    -    0x3188, 0x3189, 0x318a, 0x318b, 0x318c, 0x318d, 0x318e, 0x003f,
    -    /* lead byte a5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xca47, 0xca48, 0xca49, 0xca4a, 0xca4b, 0xca4e, 0xca4f,
    -    0xca51, 0xca52, 0xca53, 0xca55, 0xca56, 0xca57, 0xca58, 0xca59,
    -    0xca5a, 0xca5b, 0xca5e, 0xca62, 0xca63, 0xca64, 0xca65, 0xca66,
    -    0xca67, 0xca69, 0xca6a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xca6b, 0xca6c, 0xca6d, 0xca6e, 0xca6f, 0xca70, 0xca71,
    -    0xca72, 0xca73, 0xca74, 0xca75, 0xca76, 0xca77, 0xca78, 0xca79,
    -    0xca7a, 0xca7b, 0xca7c, 0xca7e, 0xca7f, 0xca80, 0xca81, 0xca82,
    -    0xca83, 0xca85, 0xca86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xca87, 0xca88, 0xca89, 0xca8a, 0xca8b, 0xca8c, 0xca8d,
    -    0xca8e, 0xca8f, 0xca90, 0xca91, 0xca92, 0xca93, 0xca94, 0xca95,
    -    0xca96, 0xca97, 0xca99, 0xca9a, 0xca9b, 0xca9c, 0xca9d, 0xca9e,
    -    0xca9f, 0xcaa0, 0xcaa1, 0xcaa2, 0xcaa3, 0xcaa4, 0xcaa5, 0xcaa6,
    -    0xcaa7, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176,
    -    0x2177, 0x2178, 0x2179, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167,
    -    0x2168, 0x2169, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    -    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    -    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,
    -    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    -    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    -    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    -    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcaa8, 0xcaa9, 0xcaaa, 0xcaab, 0xcaac, 0xcaad, 0xcaae,
    -    0xcaaf, 0xcab0, 0xcab1, 0xcab2, 0xcab3, 0xcab4, 0xcab5, 0xcab6,
    -    0xcab7, 0xcab8, 0xcab9, 0xcaba, 0xcabb, 0xcabe, 0xcabf, 0xcac1,
    -    0xcac2, 0xcac3, 0xcac5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcac6, 0xcac7, 0xcac8, 0xcac9, 0xcaca, 0xcacb, 0xcace,
    -    0xcad0, 0xcad2, 0xcad4, 0xcad5, 0xcad6, 0xcad7, 0xcada, 0xcadb,
    -    0xcadc, 0xcadd, 0xcade, 0xcadf, 0xcae1, 0xcae2, 0xcae3, 0xcae4,
    -    0xcae5, 0xcae6, 0xcae7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcae8, 0xcae9, 0xcaea, 0xcaeb, 0xcaed, 0xcaee, 0xcaef,
    -    0xcaf0, 0xcaf1, 0xcaf2, 0xcaf3, 0xcaf5, 0xcaf6, 0xcaf7, 0xcaf8,
    -    0xcaf9, 0xcafa, 0xcafb, 0xcafc, 0xcafd, 0xcafe, 0xcaff, 0xcb00,
    -    0xcb01, 0xcb02, 0xcb03, 0xcb04, 0xcb05, 0xcb06, 0xcb07, 0xcb09,
    -    0xcb0a, 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c,
    -    0x252c, 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513,
    -    0x251b, 0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520,
    -    0x252f, 0x2528, 0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538,
    -    0x2542, 0x2512, 0x2511, 0x251a, 0x2519, 0x2516, 0x2515, 0x250e,
    -    0x250d, 0x251e, 0x251f, 0x2521, 0x2522, 0x2526, 0x2527, 0x2529,
    -    0x252a, 0x252d, 0x252e, 0x2531, 0x2532, 0x2535, 0x2536, 0x2539,
    -    0x253a, 0x253d, 0x253e, 0x2540, 0x2541, 0x2543, 0x2544, 0x2545,
    -    0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcb0b, 0xcb0c, 0xcb0d, 0xcb0e, 0xcb0f, 0xcb11, 0xcb12,
    -    0xcb13, 0xcb15, 0xcb16, 0xcb17, 0xcb19, 0xcb1a, 0xcb1b, 0xcb1c,
    -    0xcb1d, 0xcb1e, 0xcb1f, 0xcb22, 0xcb23, 0xcb24, 0xcb25, 0xcb26,
    -    0xcb27, 0xcb28, 0xcb29, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcb2a, 0xcb2b, 0xcb2c, 0xcb2d, 0xcb2e, 0xcb2f, 0xcb30,
    -    0xcb31, 0xcb32, 0xcb33, 0xcb34, 0xcb35, 0xcb36, 0xcb37, 0xcb38,
    -    0xcb39, 0xcb3a, 0xcb3b, 0xcb3c, 0xcb3d, 0xcb3e, 0xcb3f, 0xcb40,
    -    0xcb42, 0xcb43, 0xcb44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcb45, 0xcb46, 0xcb47, 0xcb4a, 0xcb4b, 0xcb4d, 0xcb4e,
    -    0xcb4f, 0xcb51, 0xcb52, 0xcb53, 0xcb54, 0xcb55, 0xcb56, 0xcb57,
    -    0xcb5a, 0xcb5b, 0xcb5c, 0xcb5e, 0xcb5f, 0xcb60, 0xcb61, 0xcb62,
    -    0xcb63, 0xcb65, 0xcb66, 0xcb67, 0xcb68, 0xcb69, 0xcb6a, 0xcb6b,
    -    0xcb6c, 0x3395, 0x3396, 0x3397, 0x2113, 0x3398, 0x33c4, 0x33a3,
    -    0x33a4, 0x33a5, 0x33a6, 0x3399, 0x339a, 0x339b, 0x339c, 0x339d,
    -    0x339e, 0x339f, 0x33a0, 0x33a1, 0x33a2, 0x33ca, 0x338d, 0x338e,
    -    0x338f, 0x33cf, 0x3388, 0x3389, 0x33c8, 0x33a7, 0x33a8, 0x33b0,
    -    0x33b1, 0x33b2, 0x33b3, 0x33b4, 0x33b5, 0x33b6, 0x33b7, 0x33b8,
    -    0x33b9, 0x3380, 0x3381, 0x3382, 0x3383, 0x3384, 0x33ba, 0x33bb,
    -    0x33bc, 0x33bd, 0x33be, 0x33bf, 0x3390, 0x3391, 0x3392, 0x3393,
    -    0x3394, 0x2126, 0x33c0, 0x33c1, 0x338a, 0x338b, 0x338c, 0x33d6,
    -    0x33c5, 0x33ad, 0x33ae, 0x33af, 0x33db, 0x33a9, 0x33aa, 0x33ab,
    -    0x33ac, 0x33dd, 0x33d0, 0x33d3, 0x33c3, 0x33c9, 0x33dc, 0x33c6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcb6d, 0xcb6e, 0xcb6f, 0xcb70, 0xcb71, 0xcb72, 0xcb73,
    -    0xcb74, 0xcb75, 0xcb76, 0xcb77, 0xcb7a, 0xcb7b, 0xcb7c, 0xcb7d,
    -    0xcb7e, 0xcb7f, 0xcb80, 0xcb81, 0xcb82, 0xcb83, 0xcb84, 0xcb85,
    -    0xcb86, 0xcb87, 0xcb88, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcb89, 0xcb8a, 0xcb8b, 0xcb8c, 0xcb8d, 0xcb8e, 0xcb8f,
    -    0xcb90, 0xcb91, 0xcb92, 0xcb93, 0xcb94, 0xcb95, 0xcb96, 0xcb97,
    -    0xcb98, 0xcb99, 0xcb9a, 0xcb9b, 0xcb9d, 0xcb9e, 0xcb9f, 0xcba0,
    -    0xcba1, 0xcba2, 0xcba3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcba4, 0xcba5, 0xcba6, 0xcba7, 0xcba8, 0xcba9, 0xcbaa,
    -    0xcbab, 0xcbac, 0xcbad, 0xcbae, 0xcbaf, 0xcbb0, 0xcbb1, 0xcbb2,
    -    0xcbb3, 0xcbb4, 0xcbb5, 0xcbb6, 0xcbb7, 0xcbb9, 0xcbba, 0xcbbb,
    -    0xcbbc, 0xcbbd, 0xcbbe, 0xcbbf, 0xcbc0, 0xcbc1, 0xcbc2, 0xcbc3,
    -    0xcbc4, 0x00c6, 0x00d0, 0x00aa, 0x0126, 0x003f, 0x0132, 0x003f,
    -    0x013f, 0x0141, 0x00d8, 0x0152, 0x00ba, 0x00de, 0x0166, 0x014a,
    -    0x003f, 0x3260, 0x3261, 0x3262, 0x3263, 0x3264, 0x3265, 0x3266,
    -    0x3267, 0x3268, 0x3269, 0x326a, 0x326b, 0x326c, 0x326d, 0x326e,
    -    0x326f, 0x3270, 0x3271, 0x3272, 0x3273, 0x3274, 0x3275, 0x3276,
    -    0x3277, 0x3278, 0x3279, 0x327a, 0x327b, 0x24d0, 0x24d1, 0x24d2,
    -    0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8, 0x24d9, 0x24da,
    -    0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1, 0x24e2,
    -    0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, 0x2460,
    -    0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468,
    -    0x2469, 0x246a, 0x246b, 0x246c, 0x246d, 0x246e, 0x00bd, 0x2153,
    -    0x2154, 0x00bc, 0x00be, 0x215b, 0x215c, 0x215d, 0x215e, 0x003f,
    -    /* lead byte a9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcbc5, 0xcbc6, 0xcbc7, 0xcbc8, 0xcbc9, 0xcbca, 0xcbcb,
    -    0xcbcc, 0xcbcd, 0xcbce, 0xcbcf, 0xcbd0, 0xcbd1, 0xcbd2, 0xcbd3,
    -    0xcbd5, 0xcbd6, 0xcbd7, 0xcbd8, 0xcbd9, 0xcbda, 0xcbdb, 0xcbdc,
    -    0xcbdd, 0xcbde, 0xcbdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcbe0, 0xcbe1, 0xcbe2, 0xcbe3, 0xcbe5, 0xcbe6, 0xcbe8,
    -    0xcbea, 0xcbeb, 0xcbec, 0xcbed, 0xcbee, 0xcbef, 0xcbf0, 0xcbf1,
    -    0xcbf2, 0xcbf3, 0xcbf4, 0xcbf5, 0xcbf6, 0xcbf7, 0xcbf8, 0xcbf9,
    -    0xcbfa, 0xcbfb, 0xcbfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcbfd, 0xcbfe, 0xcbff, 0xcc00, 0xcc01, 0xcc02, 0xcc03,
    -    0xcc04, 0xcc05, 0xcc06, 0xcc07, 0xcc08, 0xcc09, 0xcc0a, 0xcc0b,
    -    0xcc0e, 0xcc0f, 0xcc11, 0xcc12, 0xcc13, 0xcc15, 0xcc16, 0xcc17,
    -    0xcc18, 0xcc19, 0xcc1a, 0xcc1b, 0xcc1e, 0xcc1f, 0xcc20, 0xcc23,
    -    0xcc24, 0x00e6, 0x0111, 0x00f0, 0x0127, 0x0131, 0x0133, 0x0138,
    -    0x0140, 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x0167, 0x014b,
    -    0x0149, 0x3200, 0x3201, 0x3202, 0x3203, 0x3204, 0x3205, 0x3206,
    -    0x3207, 0x3208, 0x3209, 0x320a, 0x320b, 0x320c, 0x320d, 0x320e,
    -    0x320f, 0x3210, 0x3211, 0x3212, 0x3213, 0x3214, 0x3215, 0x3216,
    -    0x3217, 0x3218, 0x3219, 0x321a, 0x321b, 0x249c, 0x249d, 0x249e,
    -    0x249f, 0x24a0, 0x24a1, 0x24a2, 0x24a3, 0x24a4, 0x24a5, 0x24a6,
    -    0x24a7, 0x24a8, 0x24a9, 0x24aa, 0x24ab, 0x24ac, 0x24ad, 0x24ae,
    -    0x24af, 0x24b0, 0x24b1, 0x24b2, 0x24b3, 0x24b4, 0x24b5, 0x2474,
    -    0x2475, 0x2476, 0x2477, 0x2478, 0x2479, 0x247a, 0x247b, 0x247c,
    -    0x247d, 0x247e, 0x247f, 0x2480, 0x2481, 0x2482, 0x00b9, 0x00b2,
    -    0x00b3, 0x2074, 0x207f, 0x2081, 0x2082, 0x2083, 0x2084, 0x003f,
    -    /* lead byte aa */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcc25, 0xcc26, 0xcc2a, 0xcc2b, 0xcc2d, 0xcc2f, 0xcc31,
    -    0xcc32, 0xcc33, 0xcc34, 0xcc35, 0xcc36, 0xcc37, 0xcc3a, 0xcc3f,
    -    0xcc40, 0xcc41, 0xcc42, 0xcc43, 0xcc46, 0xcc47, 0xcc49, 0xcc4a,
    -    0xcc4b, 0xcc4d, 0xcc4e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcc4f, 0xcc50, 0xcc51, 0xcc52, 0xcc53, 0xcc56, 0xcc5a,
    -    0xcc5b, 0xcc5c, 0xcc5d, 0xcc5e, 0xcc5f, 0xcc61, 0xcc62, 0xcc63,
    -    0xcc65, 0xcc67, 0xcc69, 0xcc6a, 0xcc6b, 0xcc6c, 0xcc6d, 0xcc6e,
    -    0xcc6f, 0xcc71, 0xcc72, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcc73, 0xcc74, 0xcc76, 0xcc77, 0xcc78, 0xcc79, 0xcc7a,
    -    0xcc7b, 0xcc7c, 0xcc7d, 0xcc7e, 0xcc7f, 0xcc80, 0xcc81, 0xcc82,
    -    0xcc83, 0xcc84, 0xcc85, 0xcc86, 0xcc87, 0xcc88, 0xcc89, 0xcc8a,
    -    0xcc8b, 0xcc8c, 0xcc8d, 0xcc8e, 0xcc8f, 0xcc90, 0xcc91, 0xcc92,
    -    0xcc93, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,
    -    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
    -    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
    -    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
    -    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,
    -    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,
    -    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,
    -    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
    -    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,
    -    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,
    -    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ab */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcc94, 0xcc95, 0xcc96, 0xcc97, 0xcc9a, 0xcc9b, 0xcc9d,
    -    0xcc9e, 0xcc9f, 0xcca1, 0xcca2, 0xcca3, 0xcca4, 0xcca5, 0xcca6,
    -    0xcca7, 0xccaa, 0xccae, 0xccaf, 0xccb0, 0xccb1, 0xccb2, 0xccb3,
    -    0xccb6, 0xccb7, 0xccb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccba, 0xccbb, 0xccbd, 0xccbe, 0xccbf, 0xccc0, 0xccc1,
    -    0xccc2, 0xccc3, 0xccc6, 0xccc8, 0xccca, 0xcccb, 0xcccc, 0xcccd,
    -    0xccce, 0xcccf, 0xccd1, 0xccd2, 0xccd3, 0xccd5, 0xccd6, 0xccd7,
    -    0xccd8, 0xccd9, 0xccda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccdb, 0xccdc, 0xccdd, 0xccde, 0xccdf, 0xcce0, 0xcce1,
    -    0xcce2, 0xcce3, 0xcce5, 0xcce6, 0xcce7, 0xcce8, 0xcce9, 0xccea,
    -    0xcceb, 0xcced, 0xccee, 0xccef, 0xccf1, 0xccf2, 0xccf3, 0xccf4,
    -    0xccf5, 0xccf6, 0xccf7, 0xccf8, 0xccf9, 0xccfa, 0xccfb, 0xccfc,
    -    0xccfd, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,
    -    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,
    -    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,
    -    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,
    -    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,
    -    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,
    -    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,
    -    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,
    -    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    -    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    -    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ac */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccfe, 0xccff, 0xcd00, 0xcd02, 0xcd03, 0xcd04, 0xcd05,
    -    0xcd06, 0xcd07, 0xcd0a, 0xcd0b, 0xcd0d, 0xcd0e, 0xcd0f, 0xcd11,
    -    0xcd12, 0xcd13, 0xcd14, 0xcd15, 0xcd16, 0xcd17, 0xcd1a, 0xcd1c,
    -    0xcd1e, 0xcd1f, 0xcd20, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcd21, 0xcd22, 0xcd23, 0xcd25, 0xcd26, 0xcd27, 0xcd29,
    -    0xcd2a, 0xcd2b, 0xcd2d, 0xcd2e, 0xcd2f, 0xcd30, 0xcd31, 0xcd32,
    -    0xcd33, 0xcd34, 0xcd35, 0xcd36, 0xcd37, 0xcd38, 0xcd3a, 0xcd3b,
    -    0xcd3c, 0xcd3d, 0xcd3e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcd3f, 0xcd40, 0xcd41, 0xcd42, 0xcd43, 0xcd44, 0xcd45,
    -    0xcd46, 0xcd47, 0xcd48, 0xcd49, 0xcd4a, 0xcd4b, 0xcd4c, 0xcd4d,
    -    0xcd4e, 0xcd4f, 0xcd50, 0xcd51, 0xcd52, 0xcd53, 0xcd54, 0xcd55,
    -    0xcd56, 0xcd57, 0xcd58, 0xcd59, 0xcd5a, 0xcd5b, 0xcd5d, 0xcd5e,
    -    0xcd5f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,
    -    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,
    -    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,
    -    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,
    -    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,
    -    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,
    -    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    -    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    -    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ad */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcd61, 0xcd62, 0xcd63, 0xcd65, 0xcd66, 0xcd67, 0xcd68,
    -    0xcd69, 0xcd6a, 0xcd6b, 0xcd6e, 0xcd70, 0xcd72, 0xcd73, 0xcd74,
    -    0xcd75, 0xcd76, 0xcd77, 0xcd79, 0xcd7a, 0xcd7b, 0xcd7c, 0xcd7d,
    -    0xcd7e, 0xcd7f, 0xcd80, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcd81, 0xcd82, 0xcd83, 0xcd84, 0xcd85, 0xcd86, 0xcd87,
    -    0xcd89, 0xcd8a, 0xcd8b, 0xcd8c, 0xcd8d, 0xcd8e, 0xcd8f, 0xcd90,
    -    0xcd91, 0xcd92, 0xcd93, 0xcd96, 0xcd97, 0xcd99, 0xcd9a, 0xcd9b,
    -    0xcd9d, 0xcd9e, 0xcd9f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcda0, 0xcda1, 0xcda2, 0xcda3, 0xcda6, 0xcda8, 0xcdaa,
    -    0xcdab, 0xcdac, 0xcdad, 0xcdae, 0xcdaf, 0xcdb1, 0xcdb2, 0xcdb3,
    -    0xcdb4, 0xcdb5, 0xcdb6, 0xcdb7, 0xcdb8, 0xcdb9, 0xcdba, 0xcdbb,
    -    0xcdbc, 0xcdbd, 0xcdbe, 0xcdbf, 0xcdc0, 0xcdc1, 0xcdc2, 0xcdc3,
    -    0xcdc5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte ae */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdc6, 0xcdc7, 0xcdc8, 0xcdc9, 0xcdca, 0xcdcb, 0xcdcd,
    -    0xcdce, 0xcdcf, 0xcdd1, 0xcdd2, 0xcdd3, 0xcdd4, 0xcdd5, 0xcdd6,
    -    0xcdd7, 0xcdd8, 0xcdd9, 0xcdda, 0xcddb, 0xcddc, 0xcddd, 0xcdde,
    -    0xcddf, 0xcde0, 0xcde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcde2, 0xcde3, 0xcde4, 0xcde5, 0xcde6, 0xcde7, 0xcde9,
    -    0xcdea, 0xcdeb, 0xcded, 0xcdee, 0xcdef, 0xcdf1, 0xcdf2, 0xcdf3,
    -    0xcdf4, 0xcdf5, 0xcdf6, 0xcdf7, 0xcdfa, 0xcdfc, 0xcdfe, 0xcdff,
    -    0xce00, 0xce01, 0xce02, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xce03, 0xce05, 0xce06, 0xce07, 0xce09, 0xce0a, 0xce0b,
    -    0xce0d, 0xce0e, 0xce0f, 0xce10, 0xce11, 0xce12, 0xce13, 0xce15,
    -    0xce16, 0xce17, 0xce18, 0xce1a, 0xce1b, 0xce1c, 0xce1d, 0xce1e,
    -    0xce1f, 0xce22, 0xce23, 0xce25, 0xce26, 0xce27, 0xce29, 0xce2a,
    -    0xce2b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte af */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xce2c, 0xce2d, 0xce2e, 0xce2f, 0xce32, 0xce34, 0xce36,
    -    0xce37, 0xce38, 0xce39, 0xce3a, 0xce3b, 0xce3c, 0xce3d, 0xce3e,
    -    0xce3f, 0xce40, 0xce41, 0xce42, 0xce43, 0xce44, 0xce45, 0xce46,
    -    0xce47, 0xce48, 0xce49, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xce4a, 0xce4b, 0xce4c, 0xce4d, 0xce4e, 0xce4f, 0xce50,
    -    0xce51, 0xce52, 0xce53, 0xce54, 0xce55, 0xce56, 0xce57, 0xce5a,
    -    0xce5b, 0xce5d, 0xce5e, 0xce62, 0xce63, 0xce64, 0xce65, 0xce66,
    -    0xce67, 0xce6a, 0xce6c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xce6e, 0xce6f, 0xce70, 0xce71, 0xce72, 0xce73, 0xce76,
    -    0xce77, 0xce79, 0xce7a, 0xce7b, 0xce7d, 0xce7e, 0xce7f, 0xce80,
    -    0xce81, 0xce82, 0xce83, 0xce86, 0xce88, 0xce8a, 0xce8b, 0xce8c,
    -    0xce8d, 0xce8e, 0xce8f, 0xce92, 0xce93, 0xce95, 0xce96, 0xce97,
    -    0xce99, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte b0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xce9a, 0xce9b, 0xce9c, 0xce9d, 0xce9e, 0xce9f, 0xcea2,
    -    0xcea6, 0xcea7, 0xcea8, 0xcea9, 0xceaa, 0xceab, 0xceae, 0xceaf,
    -    0xceb0, 0xceb1, 0xceb2, 0xceb3, 0xceb4, 0xceb5, 0xceb6, 0xceb7,
    -    0xceb8, 0xceb9, 0xceba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcebb, 0xcebc, 0xcebd, 0xcebe, 0xcebf, 0xcec0, 0xcec2,
    -    0xcec3, 0xcec4, 0xcec5, 0xcec6, 0xcec7, 0xcec8, 0xcec9, 0xceca,
    -    0xcecb, 0xcecc, 0xcecd, 0xcece, 0xcecf, 0xced0, 0xced1, 0xced2,
    -    0xced3, 0xced4, 0xced5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xced6, 0xced7, 0xced8, 0xced9, 0xceda, 0xcedb, 0xcedc,
    -    0xcedd, 0xcede, 0xcedf, 0xcee0, 0xcee1, 0xcee2, 0xcee3, 0xcee6,
    -    0xcee7, 0xcee9, 0xceea, 0xceed, 0xceee, 0xceef, 0xcef0, 0xcef1,
    -    0xcef2, 0xcef3, 0xcef6, 0xcefa, 0xcefb, 0xcefc, 0xcefd, 0xcefe,
    -    0xceff, 0xac00, 0xac01, 0xac04, 0xac07, 0xac08, 0xac09, 0xac0a,
    -    0xac10, 0xac11, 0xac12, 0xac13, 0xac14, 0xac15, 0xac16, 0xac17,
    -    0xac19, 0xac1a, 0xac1b, 0xac1c, 0xac1d, 0xac20, 0xac24, 0xac2c,
    -    0xac2d, 0xac2f, 0xac30, 0xac31, 0xac38, 0xac39, 0xac3c, 0xac40,
    -    0xac4b, 0xac4d, 0xac54, 0xac58, 0xac5c, 0xac70, 0xac71, 0xac74,
    -    0xac77, 0xac78, 0xac7a, 0xac80, 0xac81, 0xac83, 0xac84, 0xac85,
    -    0xac86, 0xac89, 0xac8a, 0xac8b, 0xac8c, 0xac90, 0xac94, 0xac9c,
    -    0xac9d, 0xac9f, 0xaca0, 0xaca1, 0xaca8, 0xaca9, 0xacaa, 0xacac,
    -    0xacaf, 0xacb0, 0xacb8, 0xacb9, 0xacbb, 0xacbc, 0xacbd, 0xacc1,
    -    0xacc4, 0xacc8, 0xaccc, 0xacd5, 0xacd7, 0xace0, 0xace1, 0xace4,
    -    0xace7, 0xace8, 0xacea, 0xacec, 0xacef, 0xacf0, 0xacf1, 0xacf3,
    -    0xacf5, 0xacf6, 0xacfc, 0xacfd, 0xad00, 0xad04, 0xad06, 0x003f,
    -    /* lead byte b1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcf02, 0xcf03, 0xcf05, 0xcf06, 0xcf07, 0xcf09, 0xcf0a,
    -    0xcf0b, 0xcf0c, 0xcf0d, 0xcf0e, 0xcf0f, 0xcf12, 0xcf14, 0xcf16,
    -    0xcf17, 0xcf18, 0xcf19, 0xcf1a, 0xcf1b, 0xcf1d, 0xcf1e, 0xcf1f,
    -    0xcf21, 0xcf22, 0xcf23, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcf25, 0xcf26, 0xcf27, 0xcf28, 0xcf29, 0xcf2a, 0xcf2b,
    -    0xcf2e, 0xcf32, 0xcf33, 0xcf34, 0xcf35, 0xcf36, 0xcf37, 0xcf39,
    -    0xcf3a, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf3f, 0xcf40, 0xcf41,
    -    0xcf42, 0xcf43, 0xcf44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcf45, 0xcf46, 0xcf47, 0xcf48, 0xcf49, 0xcf4a, 0xcf4b,
    -    0xcf4c, 0xcf4d, 0xcf4e, 0xcf4f, 0xcf50, 0xcf51, 0xcf52, 0xcf53,
    -    0xcf56, 0xcf57, 0xcf59, 0xcf5a, 0xcf5b, 0xcf5d, 0xcf5e, 0xcf5f,
    -    0xcf60, 0xcf61, 0xcf62, 0xcf63, 0xcf66, 0xcf68, 0xcf6a, 0xcf6b,
    -    0xcf6c, 0xad0c, 0xad0d, 0xad0f, 0xad11, 0xad18, 0xad1c, 0xad20,
    -    0xad29, 0xad2c, 0xad2d, 0xad34, 0xad35, 0xad38, 0xad3c, 0xad44,
    -    0xad45, 0xad47, 0xad49, 0xad50, 0xad54, 0xad58, 0xad61, 0xad63,
    -    0xad6c, 0xad6d, 0xad70, 0xad73, 0xad74, 0xad75, 0xad76, 0xad7b,
    -    0xad7c, 0xad7d, 0xad7f, 0xad81, 0xad82, 0xad88, 0xad89, 0xad8c,
    -    0xad90, 0xad9c, 0xad9d, 0xada4, 0xadb7, 0xadc0, 0xadc1, 0xadc4,
    -    0xadc8, 0xadd0, 0xadd1, 0xadd3, 0xaddc, 0xade0, 0xade4, 0xadf8,
    -    0xadf9, 0xadfc, 0xadff, 0xae00, 0xae01, 0xae08, 0xae09, 0xae0b,
    -    0xae0d, 0xae14, 0xae30, 0xae31, 0xae34, 0xae37, 0xae38, 0xae3a,
    -    0xae40, 0xae41, 0xae43, 0xae45, 0xae46, 0xae4a, 0xae4c, 0xae4d,
    -    0xae4e, 0xae50, 0xae54, 0xae56, 0xae5c, 0xae5d, 0xae5f, 0xae60,
    -    0xae61, 0xae65, 0xae68, 0xae69, 0xae6c, 0xae70, 0xae78, 0x003f,
    -    /* lead byte b2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcf6d, 0xcf6e, 0xcf6f, 0xcf72, 0xcf73, 0xcf75, 0xcf76,
    -    0xcf77, 0xcf79, 0xcf7a, 0xcf7b, 0xcf7c, 0xcf7d, 0xcf7e, 0xcf7f,
    -    0xcf81, 0xcf82, 0xcf83, 0xcf84, 0xcf86, 0xcf87, 0xcf88, 0xcf89,
    -    0xcf8a, 0xcf8b, 0xcf8d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcf8e, 0xcf8f, 0xcf90, 0xcf91, 0xcf92, 0xcf93, 0xcf94,
    -    0xcf95, 0xcf96, 0xcf97, 0xcf98, 0xcf99, 0xcf9a, 0xcf9b, 0xcf9c,
    -    0xcf9d, 0xcf9e, 0xcf9f, 0xcfa0, 0xcfa2, 0xcfa3, 0xcfa4, 0xcfa5,
    -    0xcfa6, 0xcfa7, 0xcfa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfaa, 0xcfab, 0xcfac, 0xcfad, 0xcfae, 0xcfaf, 0xcfb1,
    -    0xcfb2, 0xcfb3, 0xcfb4, 0xcfb5, 0xcfb6, 0xcfb7, 0xcfb8, 0xcfb9,
    -    0xcfba, 0xcfbb, 0xcfbc, 0xcfbd, 0xcfbe, 0xcfbf, 0xcfc0, 0xcfc1,
    -    0xcfc2, 0xcfc3, 0xcfc5, 0xcfc6, 0xcfc7, 0xcfc8, 0xcfc9, 0xcfca,
    -    0xcfcb, 0xae79, 0xae7b, 0xae7c, 0xae7d, 0xae84, 0xae85, 0xae8c,
    -    0xaebc, 0xaebd, 0xaebe, 0xaec0, 0xaec4, 0xaecc, 0xaecd, 0xaecf,
    -    0xaed0, 0xaed1, 0xaed8, 0xaed9, 0xaedc, 0xaee8, 0xaeeb, 0xaeed,
    -    0xaef4, 0xaef8, 0xaefc, 0xaf07, 0xaf08, 0xaf0d, 0xaf10, 0xaf2c,
    -    0xaf2d, 0xaf30, 0xaf32, 0xaf34, 0xaf3c, 0xaf3d, 0xaf3f, 0xaf41,
    -    0xaf42, 0xaf43, 0xaf48, 0xaf49, 0xaf50, 0xaf5c, 0xaf5d, 0xaf64,
    -    0xaf65, 0xaf79, 0xaf80, 0xaf84, 0xaf88, 0xaf90, 0xaf91, 0xaf95,
    -    0xaf9c, 0xafb8, 0xafb9, 0xafbc, 0xafc0, 0xafc7, 0xafc8, 0xafc9,
    -    0xafcb, 0xafcd, 0xafce, 0xafd4, 0xafdc, 0xafe8, 0xafe9, 0xaff0,
    -    0xaff1, 0xaff4, 0xaff8, 0xb000, 0xb001, 0xb004, 0xb00c, 0xb010,
    -    0xb014, 0xb01c, 0xb01d, 0xb028, 0xb044, 0xb045, 0xb048, 0xb04a,
    -    0xb04c, 0xb04e, 0xb053, 0xb054, 0xb055, 0xb057, 0xb059, 0x003f,
    -    /* lead byte b3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfcc, 0xcfcd, 0xcfce, 0xcfcf, 0xcfd0, 0xcfd1, 0xcfd2,
    -    0xcfd3, 0xcfd4, 0xcfd5, 0xcfd6, 0xcfd7, 0xcfd8, 0xcfd9, 0xcfda,
    -    0xcfdb, 0xcfdc, 0xcfdd, 0xcfde, 0xcfdf, 0xcfe2, 0xcfe3, 0xcfe5,
    -    0xcfe6, 0xcfe7, 0xcfe9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfea, 0xcfeb, 0xcfec, 0xcfed, 0xcfee, 0xcfef, 0xcff2,
    -    0xcff4, 0xcff6, 0xcff7, 0xcff8, 0xcff9, 0xcffa, 0xcffb, 0xcffd,
    -    0xcffe, 0xcfff, 0xd001, 0xd002, 0xd003, 0xd005, 0xd006, 0xd007,
    -    0xd008, 0xd009, 0xd00a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd00b, 0xd00c, 0xd00d, 0xd00e, 0xd00f, 0xd010, 0xd012,
    -    0xd013, 0xd014, 0xd015, 0xd016, 0xd017, 0xd019, 0xd01a, 0xd01b,
    -    0xd01c, 0xd01d, 0xd01e, 0xd01f, 0xd020, 0xd021, 0xd022, 0xd023,
    -    0xd024, 0xd025, 0xd026, 0xd027, 0xd028, 0xd029, 0xd02a, 0xd02b,
    -    0xd02c, 0xb05d, 0xb07c, 0xb07d, 0xb080, 0xb084, 0xb08c, 0xb08d,
    -    0xb08f, 0xb091, 0xb098, 0xb099, 0xb09a, 0xb09c, 0xb09f, 0xb0a0,
    -    0xb0a1, 0xb0a2, 0xb0a8, 0xb0a9, 0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae,
    -    0xb0af, 0xb0b1, 0xb0b3, 0xb0b4, 0xb0b5, 0xb0b8, 0xb0bc, 0xb0c4,
    -    0xb0c5, 0xb0c7, 0xb0c8, 0xb0c9, 0xb0d0, 0xb0d1, 0xb0d4, 0xb0d8,
    -    0xb0e0, 0xb0e5, 0xb108, 0xb109, 0xb10b, 0xb10c, 0xb110, 0xb112,
    -    0xb113, 0xb118, 0xb119, 0xb11b, 0xb11c, 0xb11d, 0xb123, 0xb124,
    -    0xb125, 0xb128, 0xb12c, 0xb134, 0xb135, 0xb137, 0xb138, 0xb139,
    -    0xb140, 0xb141, 0xb144, 0xb148, 0xb150, 0xb151, 0xb154, 0xb155,
    -    0xb158, 0xb15c, 0xb160, 0xb178, 0xb179, 0xb17c, 0xb180, 0xb182,
    -    0xb188, 0xb189, 0xb18b, 0xb18d, 0xb192, 0xb193, 0xb194, 0xb198,
    -    0xb19c, 0xb1a8, 0xb1cc, 0xb1d0, 0xb1d4, 0xb1dc, 0xb1dd, 0x003f,
    -    /* lead byte b4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd02e, 0xd02f, 0xd030, 0xd031, 0xd032, 0xd033, 0xd036,
    -    0xd037, 0xd039, 0xd03a, 0xd03b, 0xd03d, 0xd03e, 0xd03f, 0xd040,
    -    0xd041, 0xd042, 0xd043, 0xd046, 0xd048, 0xd04a, 0xd04b, 0xd04c,
    -    0xd04d, 0xd04e, 0xd04f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd051, 0xd052, 0xd053, 0xd055, 0xd056, 0xd057, 0xd059,
    -    0xd05a, 0xd05b, 0xd05c, 0xd05d, 0xd05e, 0xd05f, 0xd061, 0xd062,
    -    0xd063, 0xd064, 0xd065, 0xd066, 0xd067, 0xd068, 0xd069, 0xd06a,
    -    0xd06b, 0xd06e, 0xd06f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd071, 0xd072, 0xd073, 0xd075, 0xd076, 0xd077, 0xd078,
    -    0xd079, 0xd07a, 0xd07b, 0xd07e, 0xd07f, 0xd080, 0xd082, 0xd083,
    -    0xd084, 0xd085, 0xd086, 0xd087, 0xd088, 0xd089, 0xd08a, 0xd08b,
    -    0xd08c, 0xd08d, 0xd08e, 0xd08f, 0xd090, 0xd091, 0xd092, 0xd093,
    -    0xd094, 0xb1df, 0xb1e8, 0xb1e9, 0xb1ec, 0xb1f0, 0xb1f9, 0xb1fb,
    -    0xb1fd, 0xb204, 0xb205, 0xb208, 0xb20b, 0xb20c, 0xb214, 0xb215,
    -    0xb217, 0xb219, 0xb220, 0xb234, 0xb23c, 0xb258, 0xb25c, 0xb260,
    -    0xb268, 0xb269, 0xb274, 0xb275, 0xb27c, 0xb284, 0xb285, 0xb289,
    -    0xb290, 0xb291, 0xb294, 0xb298, 0xb299, 0xb29a, 0xb2a0, 0xb2a1,
    -    0xb2a3, 0xb2a5, 0xb2a6, 0xb2aa, 0xb2ac, 0xb2b0, 0xb2b4, 0xb2c8,
    -    0xb2c9, 0xb2cc, 0xb2d0, 0xb2d2, 0xb2d8, 0xb2d9, 0xb2db, 0xb2dd,
    -    0xb2e2, 0xb2e4, 0xb2e5, 0xb2e6, 0xb2e8, 0xb2eb, 0xb2ec, 0xb2ed,
    -    0xb2ee, 0xb2ef, 0xb2f3, 0xb2f4, 0xb2f5, 0xb2f7, 0xb2f8, 0xb2f9,
    -    0xb2fa, 0xb2fb, 0xb2ff, 0xb300, 0xb301, 0xb304, 0xb308, 0xb310,
    -    0xb311, 0xb313, 0xb314, 0xb315, 0xb31c, 0xb354, 0xb355, 0xb356,
    -    0xb358, 0xb35b, 0xb35c, 0xb35e, 0xb35f, 0xb364, 0xb365, 0x003f,
    -    /* lead byte b5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd095, 0xd096, 0xd097, 0xd098, 0xd099, 0xd09a, 0xd09b,
    -    0xd09c, 0xd09d, 0xd09e, 0xd09f, 0xd0a0, 0xd0a1, 0xd0a2, 0xd0a3,
    -    0xd0a6, 0xd0a7, 0xd0a9, 0xd0aa, 0xd0ab, 0xd0ad, 0xd0ae, 0xd0af,
    -    0xd0b0, 0xd0b1, 0xd0b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd0b3, 0xd0b6, 0xd0b8, 0xd0ba, 0xd0bb, 0xd0bc, 0xd0bd,
    -    0xd0be, 0xd0bf, 0xd0c2, 0xd0c3, 0xd0c5, 0xd0c6, 0xd0c7, 0xd0ca,
    -    0xd0cb, 0xd0cc, 0xd0cd, 0xd0ce, 0xd0cf, 0xd0d2, 0xd0d6, 0xd0d7,
    -    0xd0d8, 0xd0d9, 0xd0da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd0db, 0xd0de, 0xd0df, 0xd0e1, 0xd0e2, 0xd0e3, 0xd0e5,
    -    0xd0e6, 0xd0e7, 0xd0e8, 0xd0e9, 0xd0ea, 0xd0eb, 0xd0ee, 0xd0f2,
    -    0xd0f3, 0xd0f4, 0xd0f5, 0xd0f6, 0xd0f7, 0xd0f9, 0xd0fa, 0xd0fb,
    -    0xd0fc, 0xd0fd, 0xd0fe, 0xd0ff, 0xd100, 0xd101, 0xd102, 0xd103,
    -    0xd104, 0xb367, 0xb369, 0xb36b, 0xb36e, 0xb370, 0xb371, 0xb374,
    -    0xb378, 0xb380, 0xb381, 0xb383, 0xb384, 0xb385, 0xb38c, 0xb390,
    -    0xb394, 0xb3a0, 0xb3a1, 0xb3a8, 0xb3ac, 0xb3c4, 0xb3c5, 0xb3c8,
    -    0xb3cb, 0xb3cc, 0xb3ce, 0xb3d0, 0xb3d4, 0xb3d5, 0xb3d7, 0xb3d9,
    -    0xb3db, 0xb3dd, 0xb3e0, 0xb3e4, 0xb3e8, 0xb3fc, 0xb410, 0xb418,
    -    0xb41c, 0xb420, 0xb428, 0xb429, 0xb42b, 0xb434, 0xb450, 0xb451,
    -    0xb454, 0xb458, 0xb460, 0xb461, 0xb463, 0xb465, 0xb46c, 0xb480,
    -    0xb488, 0xb49d, 0xb4a4, 0xb4a8, 0xb4ac, 0xb4b5, 0xb4b7, 0xb4b9,
    -    0xb4c0, 0xb4c4, 0xb4c8, 0xb4d0, 0xb4d5, 0xb4dc, 0xb4dd, 0xb4e0,
    -    0xb4e3, 0xb4e4, 0xb4e6, 0xb4ec, 0xb4ed, 0xb4ef, 0xb4f1, 0xb4f8,
    -    0xb514, 0xb515, 0xb518, 0xb51b, 0xb51c, 0xb524, 0xb525, 0xb527,
    -    0xb528, 0xb529, 0xb52a, 0xb530, 0xb531, 0xb534, 0xb538, 0x003f,
    -    /* lead byte b6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd105, 0xd106, 0xd107, 0xd108, 0xd109, 0xd10a, 0xd10b,
    -    0xd10c, 0xd10e, 0xd10f, 0xd110, 0xd111, 0xd112, 0xd113, 0xd114,
    -    0xd115, 0xd116, 0xd117, 0xd118, 0xd119, 0xd11a, 0xd11b, 0xd11c,
    -    0xd11d, 0xd11e, 0xd11f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd120, 0xd121, 0xd122, 0xd123, 0xd124, 0xd125, 0xd126,
    -    0xd127, 0xd128, 0xd129, 0xd12a, 0xd12b, 0xd12c, 0xd12d, 0xd12e,
    -    0xd12f, 0xd132, 0xd133, 0xd135, 0xd136, 0xd137, 0xd139, 0xd13b,
    -    0xd13c, 0xd13d, 0xd13e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd13f, 0xd142, 0xd146, 0xd147, 0xd148, 0xd149, 0xd14a,
    -    0xd14b, 0xd14e, 0xd14f, 0xd151, 0xd152, 0xd153, 0xd155, 0xd156,
    -    0xd157, 0xd158, 0xd159, 0xd15a, 0xd15b, 0xd15e, 0xd160, 0xd162,
    -    0xd163, 0xd164, 0xd165, 0xd166, 0xd167, 0xd169, 0xd16a, 0xd16b,
    -    0xd16d, 0xb540, 0xb541, 0xb543, 0xb544, 0xb545, 0xb54b, 0xb54c,
    -    0xb54d, 0xb550, 0xb554, 0xb55c, 0xb55d, 0xb55f, 0xb560, 0xb561,
    -    0xb5a0, 0xb5a1, 0xb5a4, 0xb5a8, 0xb5aa, 0xb5ab, 0xb5b0, 0xb5b1,
    -    0xb5b3, 0xb5b4, 0xb5b5, 0xb5bb, 0xb5bc, 0xb5bd, 0xb5c0, 0xb5c4,
    -    0xb5cc, 0xb5cd, 0xb5cf, 0xb5d0, 0xb5d1, 0xb5d8, 0xb5ec, 0xb610,
    -    0xb611, 0xb614, 0xb618, 0xb625, 0xb62c, 0xb634, 0xb648, 0xb664,
    -    0xb668, 0xb69c, 0xb69d, 0xb6a0, 0xb6a4, 0xb6ab, 0xb6ac, 0xb6b1,
    -    0xb6d4, 0xb6f0, 0xb6f4, 0xb6f8, 0xb700, 0xb701, 0xb705, 0xb728,
    -    0xb729, 0xb72c, 0xb72f, 0xb730, 0xb738, 0xb739, 0xb73b, 0xb744,
    -    0xb748, 0xb74c, 0xb754, 0xb755, 0xb760, 0xb764, 0xb768, 0xb770,
    -    0xb771, 0xb773, 0xb775, 0xb77c, 0xb77d, 0xb780, 0xb784, 0xb78c,
    -    0xb78d, 0xb78f, 0xb790, 0xb791, 0xb792, 0xb796, 0xb797, 0x003f,
    -    /* lead byte b7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd16e, 0xd16f, 0xd170, 0xd171, 0xd172, 0xd173, 0xd174,
    -    0xd175, 0xd176, 0xd177, 0xd178, 0xd179, 0xd17a, 0xd17b, 0xd17d,
    -    0xd17e, 0xd17f, 0xd180, 0xd181, 0xd182, 0xd183, 0xd185, 0xd186,
    -    0xd187, 0xd189, 0xd18a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd18b, 0xd18c, 0xd18d, 0xd18e, 0xd18f, 0xd190, 0xd191,
    -    0xd192, 0xd193, 0xd194, 0xd195, 0xd196, 0xd197, 0xd198, 0xd199,
    -    0xd19a, 0xd19b, 0xd19c, 0xd19d, 0xd19e, 0xd19f, 0xd1a2, 0xd1a3,
    -    0xd1a5, 0xd1a6, 0xd1a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd1a9, 0xd1aa, 0xd1ab, 0xd1ac, 0xd1ad, 0xd1ae, 0xd1af,
    -    0xd1b2, 0xd1b4, 0xd1b6, 0xd1b7, 0xd1b8, 0xd1b9, 0xd1bb, 0xd1bd,
    -    0xd1be, 0xd1bf, 0xd1c1, 0xd1c2, 0xd1c3, 0xd1c4, 0xd1c5, 0xd1c6,
    -    0xd1c7, 0xd1c8, 0xd1c9, 0xd1ca, 0xd1cb, 0xd1cc, 0xd1cd, 0xd1ce,
    -    0xd1cf, 0xb798, 0xb799, 0xb79c, 0xb7a0, 0xb7a8, 0xb7a9, 0xb7ab,
    -    0xb7ac, 0xb7ad, 0xb7b4, 0xb7b5, 0xb7b8, 0xb7c7, 0xb7c9, 0xb7ec,
    -    0xb7ed, 0xb7f0, 0xb7f4, 0xb7fc, 0xb7fd, 0xb7ff, 0xb800, 0xb801,
    -    0xb807, 0xb808, 0xb809, 0xb80c, 0xb810, 0xb818, 0xb819, 0xb81b,
    -    0xb81d, 0xb824, 0xb825, 0xb828, 0xb82c, 0xb834, 0xb835, 0xb837,
    -    0xb838, 0xb839, 0xb840, 0xb844, 0xb851, 0xb853, 0xb85c, 0xb85d,
    -    0xb860, 0xb864, 0xb86c, 0xb86d, 0xb86f, 0xb871, 0xb878, 0xb87c,
    -    0xb88d, 0xb8a8, 0xb8b0, 0xb8b4, 0xb8b8, 0xb8c0, 0xb8c1, 0xb8c3,
    -    0xb8c5, 0xb8cc, 0xb8d0, 0xb8d4, 0xb8dd, 0xb8df, 0xb8e1, 0xb8e8,
    -    0xb8e9, 0xb8ec, 0xb8f0, 0xb8f8, 0xb8f9, 0xb8fb, 0xb8fd, 0xb904,
    -    0xb918, 0xb920, 0xb93c, 0xb93d, 0xb940, 0xb944, 0xb94c, 0xb94f,
    -    0xb951, 0xb958, 0xb959, 0xb95c, 0xb960, 0xb968, 0xb969, 0x003f,
    -    /* lead byte b8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd1d0, 0xd1d1, 0xd1d2, 0xd1d3, 0xd1d4, 0xd1d5, 0xd1d6,
    -    0xd1d7, 0xd1d9, 0xd1da, 0xd1db, 0xd1dc, 0xd1dd, 0xd1de, 0xd1df,
    -    0xd1e0, 0xd1e1, 0xd1e2, 0xd1e3, 0xd1e4, 0xd1e5, 0xd1e6, 0xd1e7,
    -    0xd1e8, 0xd1e9, 0xd1ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd1eb, 0xd1ec, 0xd1ed, 0xd1ee, 0xd1ef, 0xd1f0, 0xd1f1,
    -    0xd1f2, 0xd1f3, 0xd1f5, 0xd1f6, 0xd1f7, 0xd1f9, 0xd1fa, 0xd1fb,
    -    0xd1fc, 0xd1fd, 0xd1fe, 0xd1ff, 0xd200, 0xd201, 0xd202, 0xd203,
    -    0xd204, 0xd205, 0xd206, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd208, 0xd20a, 0xd20b, 0xd20c, 0xd20d, 0xd20e, 0xd20f,
    -    0xd211, 0xd212, 0xd213, 0xd214, 0xd215, 0xd216, 0xd217, 0xd218,
    -    0xd219, 0xd21a, 0xd21b, 0xd21c, 0xd21d, 0xd21e, 0xd21f, 0xd220,
    -    0xd221, 0xd222, 0xd223, 0xd224, 0xd225, 0xd226, 0xd227, 0xd228,
    -    0xd229, 0xb96b, 0xb96d, 0xb974, 0xb975, 0xb978, 0xb97c, 0xb984,
    -    0xb985, 0xb987, 0xb989, 0xb98a, 0xb98d, 0xb98e, 0xb9ac, 0xb9ad,
    -    0xb9b0, 0xb9b4, 0xb9bc, 0xb9bd, 0xb9bf, 0xb9c1, 0xb9c8, 0xb9c9,
    -    0xb9cc, 0xb9ce, 0xb9cf, 0xb9d0, 0xb9d1, 0xb9d2, 0xb9d8, 0xb9d9,
    -    0xb9db, 0xb9dd, 0xb9de, 0xb9e1, 0xb9e3, 0xb9e4, 0xb9e5, 0xb9e8,
    -    0xb9ec, 0xb9f4, 0xb9f5, 0xb9f7, 0xb9f8, 0xb9f9, 0xb9fa, 0xba00,
    -    0xba01, 0xba08, 0xba15, 0xba38, 0xba39, 0xba3c, 0xba40, 0xba42,
    -    0xba48, 0xba49, 0xba4b, 0xba4d, 0xba4e, 0xba53, 0xba54, 0xba55,
    -    0xba58, 0xba5c, 0xba64, 0xba65, 0xba67, 0xba68, 0xba69, 0xba70,
    -    0xba71, 0xba74, 0xba78, 0xba83, 0xba84, 0xba85, 0xba87, 0xba8c,
    -    0xbaa8, 0xbaa9, 0xbaab, 0xbaac, 0xbab0, 0xbab2, 0xbab8, 0xbab9,
    -    0xbabb, 0xbabd, 0xbac4, 0xbac8, 0xbad8, 0xbad9, 0xbafc, 0x003f,
    -    /* lead byte b9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd22a, 0xd22b, 0xd22e, 0xd22f, 0xd231, 0xd232, 0xd233,
    -    0xd235, 0xd236, 0xd237, 0xd238, 0xd239, 0xd23a, 0xd23b, 0xd23e,
    -    0xd240, 0xd242, 0xd243, 0xd244, 0xd245, 0xd246, 0xd247, 0xd249,
    -    0xd24a, 0xd24b, 0xd24c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd24d, 0xd24e, 0xd24f, 0xd250, 0xd251, 0xd252, 0xd253,
    -    0xd254, 0xd255, 0xd256, 0xd257, 0xd258, 0xd259, 0xd25a, 0xd25b,
    -    0xd25d, 0xd25e, 0xd25f, 0xd260, 0xd261, 0xd262, 0xd263, 0xd265,
    -    0xd266, 0xd267, 0xd268, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd269, 0xd26a, 0xd26b, 0xd26c, 0xd26d, 0xd26e, 0xd26f,
    -    0xd270, 0xd271, 0xd272, 0xd273, 0xd274, 0xd275, 0xd276, 0xd277,
    -    0xd278, 0xd279, 0xd27a, 0xd27b, 0xd27c, 0xd27d, 0xd27e, 0xd27f,
    -    0xd282, 0xd283, 0xd285, 0xd286, 0xd287, 0xd289, 0xd28a, 0xd28b,
    -    0xd28c, 0xbb00, 0xbb04, 0xbb0d, 0xbb0f, 0xbb11, 0xbb18, 0xbb1c,
    -    0xbb20, 0xbb29, 0xbb2b, 0xbb34, 0xbb35, 0xbb36, 0xbb38, 0xbb3b,
    -    0xbb3c, 0xbb3d, 0xbb3e, 0xbb44, 0xbb45, 0xbb47, 0xbb49, 0xbb4d,
    -    0xbb4f, 0xbb50, 0xbb54, 0xbb58, 0xbb61, 0xbb63, 0xbb6c, 0xbb88,
    -    0xbb8c, 0xbb90, 0xbba4, 0xbba8, 0xbbac, 0xbbb4, 0xbbb7, 0xbbc0,
    -    0xbbc4, 0xbbc8, 0xbbd0, 0xbbd3, 0xbbf8, 0xbbf9, 0xbbfc, 0xbbff,
    -    0xbc00, 0xbc02, 0xbc08, 0xbc09, 0xbc0b, 0xbc0c, 0xbc0d, 0xbc0f,
    -    0xbc11, 0xbc14, 0xbc15, 0xbc16, 0xbc17, 0xbc18, 0xbc1b, 0xbc1c,
    -    0xbc1d, 0xbc1e, 0xbc1f, 0xbc24, 0xbc25, 0xbc27, 0xbc29, 0xbc2d,
    -    0xbc30, 0xbc31, 0xbc34, 0xbc38, 0xbc40, 0xbc41, 0xbc43, 0xbc44,
    -    0xbc45, 0xbc49, 0xbc4c, 0xbc4d, 0xbc50, 0xbc5d, 0xbc84, 0xbc85,
    -    0xbc88, 0xbc8b, 0xbc8c, 0xbc8e, 0xbc94, 0xbc95, 0xbc97, 0x003f,
    -    /* lead byte ba */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd28d, 0xd28e, 0xd28f, 0xd292, 0xd293, 0xd294, 0xd296,
    -    0xd297, 0xd298, 0xd299, 0xd29a, 0xd29b, 0xd29d, 0xd29e, 0xd29f,
    -    0xd2a1, 0xd2a2, 0xd2a3, 0xd2a5, 0xd2a6, 0xd2a7, 0xd2a8, 0xd2a9,
    -    0xd2aa, 0xd2ab, 0xd2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd2ae, 0xd2af, 0xd2b0, 0xd2b2, 0xd2b3, 0xd2b4, 0xd2b5,
    -    0xd2b6, 0xd2b7, 0xd2ba, 0xd2bb, 0xd2bd, 0xd2be, 0xd2c1, 0xd2c3,
    -    0xd2c4, 0xd2c5, 0xd2c6, 0xd2c7, 0xd2ca, 0xd2cc, 0xd2cd, 0xd2ce,
    -    0xd2cf, 0xd2d0, 0xd2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd2d2, 0xd2d3, 0xd2d5, 0xd2d6, 0xd2d7, 0xd2d9, 0xd2da,
    -    0xd2db, 0xd2dd, 0xd2de, 0xd2df, 0xd2e0, 0xd2e1, 0xd2e2, 0xd2e3,
    -    0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9, 0xd2ea, 0xd2eb, 0xd2ec, 0xd2ed,
    -    0xd2ee, 0xd2ef, 0xd2f2, 0xd2f3, 0xd2f5, 0xd2f6, 0xd2f7, 0xd2f9,
    -    0xd2fa, 0xbc99, 0xbc9a, 0xbca0, 0xbca1, 0xbca4, 0xbca7, 0xbca8,
    -    0xbcb0, 0xbcb1, 0xbcb3, 0xbcb4, 0xbcb5, 0xbcbc, 0xbcbd, 0xbcc0,
    -    0xbcc4, 0xbccd, 0xbccf, 0xbcd0, 0xbcd1, 0xbcd5, 0xbcd8, 0xbcdc,
    -    0xbcf4, 0xbcf5, 0xbcf6, 0xbcf8, 0xbcfc, 0xbd04, 0xbd05, 0xbd07,
    -    0xbd09, 0xbd10, 0xbd14, 0xbd24, 0xbd2c, 0xbd40, 0xbd48, 0xbd49,
    -    0xbd4c, 0xbd50, 0xbd58, 0xbd59, 0xbd64, 0xbd68, 0xbd80, 0xbd81,
    -    0xbd84, 0xbd87, 0xbd88, 0xbd89, 0xbd8a, 0xbd90, 0xbd91, 0xbd93,
    -    0xbd95, 0xbd99, 0xbd9a, 0xbd9c, 0xbda4, 0xbdb0, 0xbdb8, 0xbdd4,
    -    0xbdd5, 0xbdd8, 0xbddc, 0xbde9, 0xbdf0, 0xbdf4, 0xbdf8, 0xbe00,
    -    0xbe03, 0xbe05, 0xbe0c, 0xbe0d, 0xbe10, 0xbe14, 0xbe1c, 0xbe1d,
    -    0xbe1f, 0xbe44, 0xbe45, 0xbe48, 0xbe4c, 0xbe4e, 0xbe54, 0xbe55,
    -    0xbe57, 0xbe59, 0xbe5a, 0xbe5b, 0xbe60, 0xbe61, 0xbe64, 0x003f,
    -    /* lead byte bb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd2fb, 0xd2fc, 0xd2fd, 0xd2fe, 0xd2ff, 0xd302, 0xd304,
    -    0xd306, 0xd307, 0xd308, 0xd309, 0xd30a, 0xd30b, 0xd30f, 0xd311,
    -    0xd312, 0xd313, 0xd315, 0xd317, 0xd318, 0xd319, 0xd31a, 0xd31b,
    -    0xd31e, 0xd322, 0xd323, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd324, 0xd326, 0xd327, 0xd32a, 0xd32b, 0xd32d, 0xd32e,
    -    0xd32f, 0xd331, 0xd332, 0xd333, 0xd334, 0xd335, 0xd336, 0xd337,
    -    0xd33a, 0xd33e, 0xd33f, 0xd340, 0xd341, 0xd342, 0xd343, 0xd346,
    -    0xd347, 0xd348, 0xd349, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd34a, 0xd34b, 0xd34c, 0xd34d, 0xd34e, 0xd34f, 0xd350,
    -    0xd351, 0xd352, 0xd353, 0xd354, 0xd355, 0xd356, 0xd357, 0xd358,
    -    0xd359, 0xd35a, 0xd35b, 0xd35c, 0xd35d, 0xd35e, 0xd35f, 0xd360,
    -    0xd361, 0xd362, 0xd363, 0xd364, 0xd365, 0xd366, 0xd367, 0xd368,
    -    0xd369, 0xbe68, 0xbe6a, 0xbe70, 0xbe71, 0xbe73, 0xbe74, 0xbe75,
    -    0xbe7b, 0xbe7c, 0xbe7d, 0xbe80, 0xbe84, 0xbe8c, 0xbe8d, 0xbe8f,
    -    0xbe90, 0xbe91, 0xbe98, 0xbe99, 0xbea8, 0xbed0, 0xbed1, 0xbed4,
    -    0xbed7, 0xbed8, 0xbee0, 0xbee3, 0xbee4, 0xbee5, 0xbeec, 0xbf01,
    -    0xbf08, 0xbf09, 0xbf18, 0xbf19, 0xbf1b, 0xbf1c, 0xbf1d, 0xbf40,
    -    0xbf41, 0xbf44, 0xbf48, 0xbf50, 0xbf51, 0xbf55, 0xbf94, 0xbfb0,
    -    0xbfc5, 0xbfcc, 0xbfcd, 0xbfd0, 0xbfd4, 0xbfdc, 0xbfdf, 0xbfe1,
    -    0xc03c, 0xc051, 0xc058, 0xc05c, 0xc060, 0xc068, 0xc069, 0xc090,
    -    0xc091, 0xc094, 0xc098, 0xc0a0, 0xc0a1, 0xc0a3, 0xc0a5, 0xc0ac,
    -    0xc0ad, 0xc0af, 0xc0b0, 0xc0b3, 0xc0b4, 0xc0b5, 0xc0b6, 0xc0bc,
    -    0xc0bd, 0xc0bf, 0xc0c0, 0xc0c1, 0xc0c5, 0xc0c8, 0xc0c9, 0xc0cc,
    -    0xc0d0, 0xc0d8, 0xc0d9, 0xc0db, 0xc0dc, 0xc0dd, 0xc0e4, 0x003f,
    -    /* lead byte bc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd36a, 0xd36b, 0xd36c, 0xd36d, 0xd36e, 0xd36f, 0xd370,
    -    0xd371, 0xd372, 0xd373, 0xd374, 0xd375, 0xd376, 0xd377, 0xd378,
    -    0xd379, 0xd37a, 0xd37b, 0xd37e, 0xd37f, 0xd381, 0xd382, 0xd383,
    -    0xd385, 0xd386, 0xd387, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd388, 0xd389, 0xd38a, 0xd38b, 0xd38e, 0xd392, 0xd393,
    -    0xd394, 0xd395, 0xd396, 0xd397, 0xd39a, 0xd39b, 0xd39d, 0xd39e,
    -    0xd39f, 0xd3a1, 0xd3a2, 0xd3a3, 0xd3a4, 0xd3a5, 0xd3a6, 0xd3a7,
    -    0xd3aa, 0xd3ac, 0xd3ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3af, 0xd3b0, 0xd3b1, 0xd3b2, 0xd3b3, 0xd3b5, 0xd3b6,
    -    0xd3b7, 0xd3b9, 0xd3ba, 0xd3bb, 0xd3bd, 0xd3be, 0xd3bf, 0xd3c0,
    -    0xd3c1, 0xd3c2, 0xd3c3, 0xd3c6, 0xd3c7, 0xd3ca, 0xd3cb, 0xd3cc,
    -    0xd3cd, 0xd3ce, 0xd3cf, 0xd3d1, 0xd3d2, 0xd3d3, 0xd3d4, 0xd3d5,
    -    0xd3d6, 0xc0e5, 0xc0e8, 0xc0ec, 0xc0f4, 0xc0f5, 0xc0f7, 0xc0f9,
    -    0xc100, 0xc104, 0xc108, 0xc110, 0xc115, 0xc11c, 0xc11d, 0xc11e,
    -    0xc11f, 0xc120, 0xc123, 0xc124, 0xc126, 0xc127, 0xc12c, 0xc12d,
    -    0xc12f, 0xc130, 0xc131, 0xc136, 0xc138, 0xc139, 0xc13c, 0xc140,
    -    0xc148, 0xc149, 0xc14b, 0xc14c, 0xc14d, 0xc154, 0xc155, 0xc158,
    -    0xc15c, 0xc164, 0xc165, 0xc167, 0xc168, 0xc169, 0xc170, 0xc174,
    -    0xc178, 0xc185, 0xc18c, 0xc18d, 0xc18e, 0xc190, 0xc194, 0xc196,
    -    0xc19c, 0xc19d, 0xc19f, 0xc1a1, 0xc1a5, 0xc1a8, 0xc1a9, 0xc1ac,
    -    0xc1b0, 0xc1bd, 0xc1c4, 0xc1c8, 0xc1cc, 0xc1d4, 0xc1d7, 0xc1d8,
    -    0xc1e0, 0xc1e4, 0xc1e8, 0xc1f0, 0xc1f1, 0xc1f3, 0xc1fc, 0xc1fd,
    -    0xc200, 0xc204, 0xc20c, 0xc20d, 0xc20f, 0xc211, 0xc218, 0xc219,
    -    0xc21c, 0xc21f, 0xc220, 0xc228, 0xc229, 0xc22b, 0xc22d, 0x003f,
    -    /* lead byte bd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3d7, 0xd3d9, 0xd3da, 0xd3db, 0xd3dc, 0xd3dd, 0xd3de,
    -    0xd3df, 0xd3e0, 0xd3e2, 0xd3e4, 0xd3e5, 0xd3e6, 0xd3e7, 0xd3e8,
    -    0xd3e9, 0xd3ea, 0xd3eb, 0xd3ee, 0xd3ef, 0xd3f1, 0xd3f2, 0xd3f3,
    -    0xd3f5, 0xd3f6, 0xd3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3f8, 0xd3f9, 0xd3fa, 0xd3fb, 0xd3fe, 0xd400, 0xd402,
    -    0xd403, 0xd404, 0xd405, 0xd406, 0xd407, 0xd409, 0xd40a, 0xd40b,
    -    0xd40c, 0xd40d, 0xd40e, 0xd40f, 0xd410, 0xd411, 0xd412, 0xd413,
    -    0xd414, 0xd415, 0xd416, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd417, 0xd418, 0xd419, 0xd41a, 0xd41b, 0xd41c, 0xd41e,
    -    0xd41f, 0xd420, 0xd421, 0xd422, 0xd423, 0xd424, 0xd425, 0xd426,
    -    0xd427, 0xd428, 0xd429, 0xd42a, 0xd42b, 0xd42c, 0xd42d, 0xd42e,
    -    0xd42f, 0xd430, 0xd431, 0xd432, 0xd433, 0xd434, 0xd435, 0xd436,
    -    0xd437, 0xc22f, 0xc231, 0xc232, 0xc234, 0xc248, 0xc250, 0xc251,
    -    0xc254, 0xc258, 0xc260, 0xc265, 0xc26c, 0xc26d, 0xc270, 0xc274,
    -    0xc27c, 0xc27d, 0xc27f, 0xc281, 0xc288, 0xc289, 0xc290, 0xc298,
    -    0xc29b, 0xc29d, 0xc2a4, 0xc2a5, 0xc2a8, 0xc2ac, 0xc2ad, 0xc2b4,
    -    0xc2b5, 0xc2b7, 0xc2b9, 0xc2dc, 0xc2dd, 0xc2e0, 0xc2e3, 0xc2e4,
    -    0xc2eb, 0xc2ec, 0xc2ed, 0xc2ef, 0xc2f1, 0xc2f6, 0xc2f8, 0xc2f9,
    -    0xc2fb, 0xc2fc, 0xc300, 0xc308, 0xc309, 0xc30c, 0xc30d, 0xc313,
    -    0xc314, 0xc315, 0xc318, 0xc31c, 0xc324, 0xc325, 0xc328, 0xc329,
    -    0xc345, 0xc368, 0xc369, 0xc36c, 0xc370, 0xc372, 0xc378, 0xc379,
    -    0xc37c, 0xc37d, 0xc384, 0xc388, 0xc38c, 0xc3c0, 0xc3d8, 0xc3d9,
    -    0xc3dc, 0xc3df, 0xc3e0, 0xc3e2, 0xc3e8, 0xc3e9, 0xc3ed, 0xc3f4,
    -    0xc3f5, 0xc3f8, 0xc408, 0xc410, 0xc424, 0xc42c, 0xc430, 0x003f,
    -    /* lead byte be */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd438, 0xd439, 0xd43a, 0xd43b, 0xd43c, 0xd43d, 0xd43e,
    -    0xd43f, 0xd441, 0xd442, 0xd443, 0xd445, 0xd446, 0xd447, 0xd448,
    -    0xd449, 0xd44a, 0xd44b, 0xd44c, 0xd44d, 0xd44e, 0xd44f, 0xd450,
    -    0xd451, 0xd452, 0xd453, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd454, 0xd455, 0xd456, 0xd457, 0xd458, 0xd459, 0xd45a,
    -    0xd45b, 0xd45d, 0xd45e, 0xd45f, 0xd461, 0xd462, 0xd463, 0xd465,
    -    0xd466, 0xd467, 0xd468, 0xd469, 0xd46a, 0xd46b, 0xd46c, 0xd46e,
    -    0xd470, 0xd471, 0xd472, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd473, 0xd474, 0xd475, 0xd476, 0xd477, 0xd47a, 0xd47b,
    -    0xd47d, 0xd47e, 0xd481, 0xd483, 0xd484, 0xd485, 0xd486, 0xd487,
    -    0xd48a, 0xd48c, 0xd48e, 0xd48f, 0xd490, 0xd491, 0xd492, 0xd493,
    -    0xd495, 0xd496, 0xd497, 0xd498, 0xd499, 0xd49a, 0xd49b, 0xd49c,
    -    0xd49d, 0xc434, 0xc43c, 0xc43d, 0xc448, 0xc464, 0xc465, 0xc468,
    -    0xc46c, 0xc474, 0xc475, 0xc479, 0xc480, 0xc494, 0xc49c, 0xc4b8,
    -    0xc4bc, 0xc4e9, 0xc4f0, 0xc4f1, 0xc4f4, 0xc4f8, 0xc4fa, 0xc4ff,
    -    0xc500, 0xc501, 0xc50c, 0xc510, 0xc514, 0xc51c, 0xc528, 0xc529,
    -    0xc52c, 0xc530, 0xc538, 0xc539, 0xc53b, 0xc53d, 0xc544, 0xc545,
    -    0xc548, 0xc549, 0xc54a, 0xc54c, 0xc54d, 0xc54e, 0xc553, 0xc554,
    -    0xc555, 0xc557, 0xc558, 0xc559, 0xc55d, 0xc55e, 0xc560, 0xc561,
    -    0xc564, 0xc568, 0xc570, 0xc571, 0xc573, 0xc574, 0xc575, 0xc57c,
    -    0xc57d, 0xc580, 0xc584, 0xc587, 0xc58c, 0xc58d, 0xc58f, 0xc591,
    -    0xc595, 0xc597, 0xc598, 0xc59c, 0xc5a0, 0xc5a9, 0xc5b4, 0xc5b5,
    -    0xc5b8, 0xc5b9, 0xc5bb, 0xc5bc, 0xc5bd, 0xc5be, 0xc5c4, 0xc5c5,
    -    0xc5c6, 0xc5c7, 0xc5c8, 0xc5c9, 0xc5ca, 0xc5cc, 0xc5ce, 0x003f,
    -    /* lead byte bf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd49e, 0xd49f, 0xd4a0, 0xd4a1, 0xd4a2, 0xd4a3, 0xd4a4,
    -    0xd4a5, 0xd4a6, 0xd4a7, 0xd4a8, 0xd4aa, 0xd4ab, 0xd4ac, 0xd4ad,
    -    0xd4ae, 0xd4af, 0xd4b0, 0xd4b1, 0xd4b2, 0xd4b3, 0xd4b4, 0xd4b5,
    -    0xd4b6, 0xd4b7, 0xd4b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4b9, 0xd4ba, 0xd4bb, 0xd4bc, 0xd4bd, 0xd4be, 0xd4bf,
    -    0xd4c0, 0xd4c1, 0xd4c2, 0xd4c3, 0xd4c4, 0xd4c5, 0xd4c6, 0xd4c7,
    -    0xd4c8, 0xd4c9, 0xd4ca, 0xd4cb, 0xd4cd, 0xd4ce, 0xd4cf, 0xd4d1,
    -    0xd4d2, 0xd4d3, 0xd4d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4d6, 0xd4d7, 0xd4d8, 0xd4d9, 0xd4da, 0xd4db, 0xd4dd,
    -    0xd4de, 0xd4e0, 0xd4e1, 0xd4e2, 0xd4e3, 0xd4e4, 0xd4e5, 0xd4e6,
    -    0xd4e7, 0xd4e9, 0xd4ea, 0xd4eb, 0xd4ed, 0xd4ee, 0xd4ef, 0xd4f1,
    -    0xd4f2, 0xd4f3, 0xd4f4, 0xd4f5, 0xd4f6, 0xd4f7, 0xd4f9, 0xd4fa,
    -    0xd4fc, 0xc5d0, 0xc5d1, 0xc5d4, 0xc5d8, 0xc5e0, 0xc5e1, 0xc5e3,
    -    0xc5e5, 0xc5ec, 0xc5ed, 0xc5ee, 0xc5f0, 0xc5f4, 0xc5f6, 0xc5f7,
    -    0xc5fc, 0xc5fd, 0xc5fe, 0xc5ff, 0xc600, 0xc601, 0xc605, 0xc606,
    -    0xc607, 0xc608, 0xc60c, 0xc610, 0xc618, 0xc619, 0xc61b, 0xc61c,
    -    0xc624, 0xc625, 0xc628, 0xc62c, 0xc62d, 0xc62e, 0xc630, 0xc633,
    -    0xc634, 0xc635, 0xc637, 0xc639, 0xc63b, 0xc640, 0xc641, 0xc644,
    -    0xc648, 0xc650, 0xc651, 0xc653, 0xc654, 0xc655, 0xc65c, 0xc65d,
    -    0xc660, 0xc66c, 0xc66f, 0xc671, 0xc678, 0xc679, 0xc67c, 0xc680,
    -    0xc688, 0xc689, 0xc68b, 0xc68d, 0xc694, 0xc695, 0xc698, 0xc69c,
    -    0xc6a4, 0xc6a5, 0xc6a7, 0xc6a9, 0xc6b0, 0xc6b1, 0xc6b4, 0xc6b8,
    -    0xc6b9, 0xc6ba, 0xc6c0, 0xc6c1, 0xc6c3, 0xc6c5, 0xc6cc, 0xc6cd,
    -    0xc6d0, 0xc6d4, 0xc6dc, 0xc6dd, 0xc6e0, 0xc6e1, 0xc6e8, 0x003f,
    -    /* lead byte c0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4fe, 0xd4ff, 0xd500, 0xd501, 0xd502, 0xd503, 0xd505,
    -    0xd506, 0xd507, 0xd509, 0xd50a, 0xd50b, 0xd50d, 0xd50e, 0xd50f,
    -    0xd510, 0xd511, 0xd512, 0xd513, 0xd516, 0xd518, 0xd519, 0xd51a,
    -    0xd51b, 0xd51c, 0xd51d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd51e, 0xd51f, 0xd520, 0xd521, 0xd522, 0xd523, 0xd524,
    -    0xd525, 0xd526, 0xd527, 0xd528, 0xd529, 0xd52a, 0xd52b, 0xd52c,
    -    0xd52d, 0xd52e, 0xd52f, 0xd530, 0xd531, 0xd532, 0xd533, 0xd534,
    -    0xd535, 0xd536, 0xd537, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd538, 0xd539, 0xd53a, 0xd53b, 0xd53e, 0xd53f, 0xd541,
    -    0xd542, 0xd543, 0xd545, 0xd546, 0xd547, 0xd548, 0xd549, 0xd54a,
    -    0xd54b, 0xd54e, 0xd550, 0xd552, 0xd553, 0xd554, 0xd555, 0xd556,
    -    0xd557, 0xd55a, 0xd55b, 0xd55d, 0xd55e, 0xd55f, 0xd561, 0xd562,
    -    0xd563, 0xc6e9, 0xc6ec, 0xc6f0, 0xc6f8, 0xc6f9, 0xc6fd, 0xc704,
    -    0xc705, 0xc708, 0xc70c, 0xc714, 0xc715, 0xc717, 0xc719, 0xc720,
    -    0xc721, 0xc724, 0xc728, 0xc730, 0xc731, 0xc733, 0xc735, 0xc737,
    -    0xc73c, 0xc73d, 0xc740, 0xc744, 0xc74a, 0xc74c, 0xc74d, 0xc74f,
    -    0xc751, 0xc752, 0xc753, 0xc754, 0xc755, 0xc756, 0xc757, 0xc758,
    -    0xc75c, 0xc760, 0xc768, 0xc76b, 0xc774, 0xc775, 0xc778, 0xc77c,
    -    0xc77d, 0xc77e, 0xc783, 0xc784, 0xc785, 0xc787, 0xc788, 0xc789,
    -    0xc78a, 0xc78e, 0xc790, 0xc791, 0xc794, 0xc796, 0xc797, 0xc798,
    -    0xc79a, 0xc7a0, 0xc7a1, 0xc7a3, 0xc7a4, 0xc7a5, 0xc7a6, 0xc7ac,
    -    0xc7ad, 0xc7b0, 0xc7b4, 0xc7bc, 0xc7bd, 0xc7bf, 0xc7c0, 0xc7c1,
    -    0xc7c8, 0xc7c9, 0xc7cc, 0xc7ce, 0xc7d0, 0xc7d8, 0xc7dd, 0xc7e4,
    -    0xc7e8, 0xc7ec, 0xc800, 0xc801, 0xc804, 0xc808, 0xc80a, 0x003f,
    -    /* lead byte c1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd564, 0xd566, 0xd567, 0xd56a, 0xd56c, 0xd56e, 0xd56f,
    -    0xd570, 0xd571, 0xd572, 0xd573, 0xd576, 0xd577, 0xd579, 0xd57a,
    -    0xd57b, 0xd57d, 0xd57e, 0xd57f, 0xd580, 0xd581, 0xd582, 0xd583,
    -    0xd586, 0xd58a, 0xd58b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd58c, 0xd58d, 0xd58e, 0xd58f, 0xd591, 0xd592, 0xd593,
    -    0xd594, 0xd595, 0xd596, 0xd597, 0xd598, 0xd599, 0xd59a, 0xd59b,
    -    0xd59c, 0xd59d, 0xd59e, 0xd59f, 0xd5a0, 0xd5a1, 0xd5a2, 0xd5a3,
    -    0xd5a4, 0xd5a6, 0xd5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5a8, 0xd5a9, 0xd5aa, 0xd5ab, 0xd5ac, 0xd5ad, 0xd5ae,
    -    0xd5af, 0xd5b0, 0xd5b1, 0xd5b2, 0xd5b3, 0xd5b4, 0xd5b5, 0xd5b6,
    -    0xd5b7, 0xd5b8, 0xd5b9, 0xd5ba, 0xd5bb, 0xd5bc, 0xd5bd, 0xd5be,
    -    0xd5bf, 0xd5c0, 0xd5c1, 0xd5c2, 0xd5c3, 0xd5c4, 0xd5c5, 0xd5c6,
    -    0xd5c7, 0xc810, 0xc811, 0xc813, 0xc815, 0xc816, 0xc81c, 0xc81d,
    -    0xc820, 0xc824, 0xc82c, 0xc82d, 0xc82f, 0xc831, 0xc838, 0xc83c,
    -    0xc840, 0xc848, 0xc849, 0xc84c, 0xc84d, 0xc854, 0xc870, 0xc871,
    -    0xc874, 0xc878, 0xc87a, 0xc880, 0xc881, 0xc883, 0xc885, 0xc886,
    -    0xc887, 0xc88b, 0xc88c, 0xc88d, 0xc894, 0xc89d, 0xc89f, 0xc8a1,
    -    0xc8a8, 0xc8bc, 0xc8bd, 0xc8c4, 0xc8c8, 0xc8cc, 0xc8d4, 0xc8d5,
    -    0xc8d7, 0xc8d9, 0xc8e0, 0xc8e1, 0xc8e4, 0xc8f5, 0xc8fc, 0xc8fd,
    -    0xc900, 0xc904, 0xc905, 0xc906, 0xc90c, 0xc90d, 0xc90f, 0xc911,
    -    0xc918, 0xc92c, 0xc934, 0xc950, 0xc951, 0xc954, 0xc958, 0xc960,
    -    0xc961, 0xc963, 0xc96c, 0xc970, 0xc974, 0xc97c, 0xc988, 0xc989,
    -    0xc98c, 0xc990, 0xc998, 0xc999, 0xc99b, 0xc99d, 0xc9c0, 0xc9c1,
    -    0xc9c4, 0xc9c7, 0xc9c8, 0xc9ca, 0xc9d0, 0xc9d1, 0xc9d3, 0x003f,
    -    /* lead byte c2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5ca, 0xd5cb, 0xd5cd, 0xd5ce, 0xd5cf, 0xd5d1, 0xd5d3,
    -    0xd5d4, 0xd5d5, 0xd5d6, 0xd5d7, 0xd5da, 0xd5dc, 0xd5de, 0xd5df,
    -    0xd5e0, 0xd5e1, 0xd5e2, 0xd5e3, 0xd5e6, 0xd5e7, 0xd5e9, 0xd5ea,
    -    0xd5eb, 0xd5ed, 0xd5ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5ef, 0xd5f0, 0xd5f1, 0xd5f2, 0xd5f3, 0xd5f6, 0xd5f8,
    -    0xd5fa, 0xd5fb, 0xd5fc, 0xd5fd, 0xd5fe, 0xd5ff, 0xd602, 0xd603,
    -    0xd605, 0xd606, 0xd607, 0xd609, 0xd60a, 0xd60b, 0xd60c, 0xd60d,
    -    0xd60e, 0xd60f, 0xd612, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd616, 0xd617, 0xd618, 0xd619, 0xd61a, 0xd61b, 0xd61d,
    -    0xd61e, 0xd61f, 0xd621, 0xd622, 0xd623, 0xd625, 0xd626, 0xd627,
    -    0xd628, 0xd629, 0xd62a, 0xd62b, 0xd62c, 0xd62e, 0xd62f, 0xd630,
    -    0xd631, 0xd632, 0xd633, 0xd634, 0xd635, 0xd636, 0xd637, 0xd63a,
    -    0xd63b, 0xc9d5, 0xc9d6, 0xc9d9, 0xc9da, 0xc9dc, 0xc9dd, 0xc9e0,
    -    0xc9e2, 0xc9e4, 0xc9e7, 0xc9ec, 0xc9ed, 0xc9ef, 0xc9f0, 0xc9f1,
    -    0xc9f8, 0xc9f9, 0xc9fc, 0xca00, 0xca08, 0xca09, 0xca0b, 0xca0c,
    -    0xca0d, 0xca14, 0xca18, 0xca29, 0xca4c, 0xca4d, 0xca50, 0xca54,
    -    0xca5c, 0xca5d, 0xca5f, 0xca60, 0xca61, 0xca68, 0xca7d, 0xca84,
    -    0xca98, 0xcabc, 0xcabd, 0xcac0, 0xcac4, 0xcacc, 0xcacd, 0xcacf,
    -    0xcad1, 0xcad3, 0xcad8, 0xcad9, 0xcae0, 0xcaec, 0xcaf4, 0xcb08,
    -    0xcb10, 0xcb14, 0xcb18, 0xcb20, 0xcb21, 0xcb41, 0xcb48, 0xcb49,
    -    0xcb4c, 0xcb50, 0xcb58, 0xcb59, 0xcb5d, 0xcb64, 0xcb78, 0xcb79,
    -    0xcb9c, 0xcbb8, 0xcbd4, 0xcbe4, 0xcbe7, 0xcbe9, 0xcc0c, 0xcc0d,
    -    0xcc10, 0xcc14, 0xcc1c, 0xcc1d, 0xcc21, 0xcc22, 0xcc27, 0xcc28,
    -    0xcc29, 0xcc2c, 0xcc2e, 0xcc30, 0xcc38, 0xcc39, 0xcc3b, 0x003f,
    -    /* lead byte c3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd63d, 0xd63e, 0xd63f, 0xd641, 0xd642, 0xd643, 0xd644,
    -    0xd646, 0xd647, 0xd64a, 0xd64c, 0xd64e, 0xd64f, 0xd650, 0xd652,
    -    0xd653, 0xd656, 0xd657, 0xd659, 0xd65a, 0xd65b, 0xd65d, 0xd65e,
    -    0xd65f, 0xd660, 0xd661, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd662, 0xd663, 0xd664, 0xd665, 0xd666, 0xd668, 0xd66a,
    -    0xd66b, 0xd66c, 0xd66d, 0xd66e, 0xd66f, 0xd672, 0xd673, 0xd675,
    -    0xd676, 0xd677, 0xd678, 0xd679, 0xd67a, 0xd67b, 0xd67c, 0xd67d,
    -    0xd67e, 0xd67f, 0xd680, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd681, 0xd682, 0xd684, 0xd686, 0xd687, 0xd688, 0xd689,
    -    0xd68a, 0xd68b, 0xd68e, 0xd68f, 0xd691, 0xd692, 0xd693, 0xd695,
    -    0xd696, 0xd697, 0xd698, 0xd699, 0xd69a, 0xd69b, 0xd69c, 0xd69e,
    -    0xd6a0, 0xd6a2, 0xd6a3, 0xd6a4, 0xd6a5, 0xd6a6, 0xd6a7, 0xd6a9,
    -    0xd6aa, 0xcc3c, 0xcc3d, 0xcc3e, 0xcc44, 0xcc45, 0xcc48, 0xcc4c,
    -    0xcc54, 0xcc55, 0xcc57, 0xcc58, 0xcc59, 0xcc60, 0xcc64, 0xcc66,
    -    0xcc68, 0xcc70, 0xcc75, 0xcc98, 0xcc99, 0xcc9c, 0xcca0, 0xcca8,
    -    0xcca9, 0xccab, 0xccac, 0xccad, 0xccb4, 0xccb5, 0xccb8, 0xccbc,
    -    0xccc4, 0xccc5, 0xccc7, 0xccc9, 0xccd0, 0xccd4, 0xcce4, 0xccec,
    -    0xccf0, 0xcd01, 0xcd08, 0xcd09, 0xcd0c, 0xcd10, 0xcd18, 0xcd19,
    -    0xcd1b, 0xcd1d, 0xcd24, 0xcd28, 0xcd2c, 0xcd39, 0xcd5c, 0xcd60,
    -    0xcd64, 0xcd6c, 0xcd6d, 0xcd6f, 0xcd71, 0xcd78, 0xcd88, 0xcd94,
    -    0xcd95, 0xcd98, 0xcd9c, 0xcda4, 0xcda5, 0xcda7, 0xcda9, 0xcdb0,
    -    0xcdc4, 0xcdcc, 0xcdd0, 0xcde8, 0xcdec, 0xcdf0, 0xcdf8, 0xcdf9,
    -    0xcdfb, 0xcdfd, 0xce04, 0xce08, 0xce0c, 0xce14, 0xce19, 0xce20,
    -    0xce21, 0xce24, 0xce28, 0xce30, 0xce31, 0xce33, 0xce35, 0x003f,
    -    /* lead byte c4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6ab, 0xd6ad, 0xd6ae, 0xd6af, 0xd6b1, 0xd6b2, 0xd6b3,
    -    0xd6b4, 0xd6b5, 0xd6b6, 0xd6b7, 0xd6b8, 0xd6ba, 0xd6bc, 0xd6bd,
    -    0xd6be, 0xd6bf, 0xd6c0, 0xd6c1, 0xd6c2, 0xd6c3, 0xd6c6, 0xd6c7,
    -    0xd6c9, 0xd6ca, 0xd6cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6cd, 0xd6ce, 0xd6cf, 0xd6d0, 0xd6d2, 0xd6d3, 0xd6d5,
    -    0xd6d6, 0xd6d8, 0xd6da, 0xd6db, 0xd6dc, 0xd6dd, 0xd6de, 0xd6df,
    -    0xd6e1, 0xd6e2, 0xd6e3, 0xd6e5, 0xd6e6, 0xd6e7, 0xd6e9, 0xd6ea,
    -    0xd6eb, 0xd6ec, 0xd6ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6ee, 0xd6ef, 0xd6f1, 0xd6f2, 0xd6f3, 0xd6f4, 0xd6f6,
    -    0xd6f7, 0xd6f8, 0xd6f9, 0xd6fa, 0xd6fb, 0xd6fe, 0xd6ff, 0xd701,
    -    0xd702, 0xd703, 0xd705, 0xd706, 0xd707, 0xd708, 0xd709, 0xd70a,
    -    0xd70b, 0xd70c, 0xd70d, 0xd70e, 0xd70f, 0xd710, 0xd712, 0xd713,
    -    0xd714, 0xce58, 0xce59, 0xce5c, 0xce5f, 0xce60, 0xce61, 0xce68,
    -    0xce69, 0xce6b, 0xce6d, 0xce74, 0xce75, 0xce78, 0xce7c, 0xce84,
    -    0xce85, 0xce87, 0xce89, 0xce90, 0xce91, 0xce94, 0xce98, 0xcea0,
    -    0xcea1, 0xcea3, 0xcea4, 0xcea5, 0xceac, 0xcead, 0xcec1, 0xcee4,
    -    0xcee5, 0xcee8, 0xceeb, 0xceec, 0xcef4, 0xcef5, 0xcef7, 0xcef8,
    -    0xcef9, 0xcf00, 0xcf01, 0xcf04, 0xcf08, 0xcf10, 0xcf11, 0xcf13,
    -    0xcf15, 0xcf1c, 0xcf20, 0xcf24, 0xcf2c, 0xcf2d, 0xcf2f, 0xcf30,
    -    0xcf31, 0xcf38, 0xcf54, 0xcf55, 0xcf58, 0xcf5c, 0xcf64, 0xcf65,
    -    0xcf67, 0xcf69, 0xcf70, 0xcf71, 0xcf74, 0xcf78, 0xcf80, 0xcf85,
    -    0xcf8c, 0xcfa1, 0xcfa8, 0xcfb0, 0xcfc4, 0xcfe0, 0xcfe1, 0xcfe4,
    -    0xcfe8, 0xcff0, 0xcff1, 0xcff3, 0xcff5, 0xcffc, 0xd000, 0xd004,
    -    0xd011, 0xd018, 0xd02d, 0xd034, 0xd035, 0xd038, 0xd03c, 0x003f,
    -    /* lead byte c5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd715, 0xd716, 0xd717, 0xd71a, 0xd71b, 0xd71d, 0xd71e,
    -    0xd71f, 0xd721, 0xd722, 0xd723, 0xd724, 0xd725, 0xd726, 0xd727,
    -    0xd72a, 0xd72c, 0xd72e, 0xd72f, 0xd730, 0xd731, 0xd732, 0xd733,
    -    0xd736, 0xd737, 0xd739, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd73a, 0xd73b, 0xd73d, 0xd73e, 0xd73f, 0xd740, 0xd741,
    -    0xd742, 0xd743, 0xd745, 0xd746, 0xd748, 0xd74a, 0xd74b, 0xd74c,
    -    0xd74d, 0xd74e, 0xd74f, 0xd752, 0xd753, 0xd755, 0xd75a, 0xd75b,
    -    0xd75c, 0xd75d, 0xd75e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd75f, 0xd762, 0xd764, 0xd766, 0xd767, 0xd768, 0xd76a,
    -    0xd76b, 0xd76d, 0xd76e, 0xd76f, 0xd771, 0xd772, 0xd773, 0xd775,
    -    0xd776, 0xd777, 0xd778, 0xd779, 0xd77a, 0xd77b, 0xd77e, 0xd77f,
    -    0xd780, 0xd782, 0xd783, 0xd784, 0xd785, 0xd786, 0xd787, 0xd78a,
    -    0xd78b, 0xd044, 0xd045, 0xd047, 0xd049, 0xd050, 0xd054, 0xd058,
    -    0xd060, 0xd06c, 0xd06d, 0xd070, 0xd074, 0xd07c, 0xd07d, 0xd081,
    -    0xd0a4, 0xd0a5, 0xd0a8, 0xd0ac, 0xd0b4, 0xd0b5, 0xd0b7, 0xd0b9,
    -    0xd0c0, 0xd0c1, 0xd0c4, 0xd0c8, 0xd0c9, 0xd0d0, 0xd0d1, 0xd0d3,
    -    0xd0d4, 0xd0d5, 0xd0dc, 0xd0dd, 0xd0e0, 0xd0e4, 0xd0ec, 0xd0ed,
    -    0xd0ef, 0xd0f0, 0xd0f1, 0xd0f8, 0xd10d, 0xd130, 0xd131, 0xd134,
    -    0xd138, 0xd13a, 0xd140, 0xd141, 0xd143, 0xd144, 0xd145, 0xd14c,
    -    0xd14d, 0xd150, 0xd154, 0xd15c, 0xd15d, 0xd15f, 0xd161, 0xd168,
    -    0xd16c, 0xd17c, 0xd184, 0xd188, 0xd1a0, 0xd1a1, 0xd1a4, 0xd1a8,
    -    0xd1b0, 0xd1b1, 0xd1b3, 0xd1b5, 0xd1ba, 0xd1bc, 0xd1c0, 0xd1d8,
    -    0xd1f4, 0xd1f8, 0xd207, 0xd209, 0xd210, 0xd22c, 0xd22d, 0xd230,
    -    0xd234, 0xd23c, 0xd23d, 0xd23f, 0xd241, 0xd248, 0xd25c, 0x003f,
    -    /* lead byte c6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd78d, 0xd78e, 0xd78f, 0xd791, 0xd792, 0xd793, 0xd794,
    -    0xd795, 0xd796, 0xd797, 0xd79a, 0xd79c, 0xd79e, 0xd79f, 0xd7a0,
    -    0xd7a1, 0xd7a2, 0xd7a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd264, 0xd280, 0xd281, 0xd284, 0xd288, 0xd290, 0xd291,
    -    0xd295, 0xd29c, 0xd2a0, 0xd2a4, 0xd2ac, 0xd2b1, 0xd2b8, 0xd2b9,
    -    0xd2bc, 0xd2bf, 0xd2c0, 0xd2c2, 0xd2c8, 0xd2c9, 0xd2cb, 0xd2d4,
    -    0xd2d8, 0xd2dc, 0xd2e4, 0xd2e5, 0xd2f0, 0xd2f1, 0xd2f4, 0xd2f8,
    -    0xd300, 0xd301, 0xd303, 0xd305, 0xd30c, 0xd30d, 0xd30e, 0xd310,
    -    0xd314, 0xd316, 0xd31c, 0xd31d, 0xd31f, 0xd320, 0xd321, 0xd325,
    -    0xd328, 0xd329, 0xd32c, 0xd330, 0xd338, 0xd339, 0xd33b, 0xd33c,
    -    0xd33d, 0xd344, 0xd345, 0xd37c, 0xd37d, 0xd380, 0xd384, 0xd38c,
    -    0xd38d, 0xd38f, 0xd390, 0xd391, 0xd398, 0xd399, 0xd39c, 0xd3a0,
    -    0xd3a8, 0xd3a9, 0xd3ab, 0xd3ad, 0xd3b4, 0xd3b8, 0xd3bc, 0xd3c4,
    -    0xd3c5, 0xd3c8, 0xd3c9, 0xd3d0, 0xd3d8, 0xd3e1, 0xd3e3, 0xd3ec,
    -    0xd3ed, 0xd3f0, 0xd3f4, 0xd3fc, 0xd3fd, 0xd3ff, 0xd401, 0x003f,
    -    /* lead byte c7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd408, 0xd41d, 0xd440, 0xd444, 0xd45c, 0xd460, 0xd464,
    -    0xd46d, 0xd46f, 0xd478, 0xd479, 0xd47c, 0xd47f, 0xd480, 0xd482,
    -    0xd488, 0xd489, 0xd48b, 0xd48d, 0xd494, 0xd4a9, 0xd4cc, 0xd4d0,
    -    0xd4d4, 0xd4dc, 0xd4df, 0xd4e8, 0xd4ec, 0xd4f0, 0xd4f8, 0xd4fb,
    -    0xd4fd, 0xd504, 0xd508, 0xd50c, 0xd514, 0xd515, 0xd517, 0xd53c,
    -    0xd53d, 0xd540, 0xd544, 0xd54c, 0xd54d, 0xd54f, 0xd551, 0xd558,
    -    0xd559, 0xd55c, 0xd560, 0xd565, 0xd568, 0xd569, 0xd56b, 0xd56d,
    -    0xd574, 0xd575, 0xd578, 0xd57c, 0xd584, 0xd585, 0xd587, 0xd588,
    -    0xd589, 0xd590, 0xd5a5, 0xd5c8, 0xd5c9, 0xd5cc, 0xd5d0, 0xd5d2,
    -    0xd5d8, 0xd5d9, 0xd5db, 0xd5dd, 0xd5e4, 0xd5e5, 0xd5e8, 0xd5ec,
    -    0xd5f4, 0xd5f5, 0xd5f7, 0xd5f9, 0xd600, 0xd601, 0xd604, 0xd608,
    -    0xd610, 0xd611, 0xd613, 0xd614, 0xd615, 0xd61c, 0xd620, 0x003f,
    -    /* lead byte c8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd624, 0xd62d, 0xd638, 0xd639, 0xd63c, 0xd640, 0xd645,
    -    0xd648, 0xd649, 0xd64b, 0xd64d, 0xd651, 0xd654, 0xd655, 0xd658,
    -    0xd65c, 0xd667, 0xd669, 0xd670, 0xd671, 0xd674, 0xd683, 0xd685,
    -    0xd68c, 0xd68d, 0xd690, 0xd694, 0xd69d, 0xd69f, 0xd6a1, 0xd6a8,
    -    0xd6ac, 0xd6b0, 0xd6b9, 0xd6bb, 0xd6c4, 0xd6c5, 0xd6c8, 0xd6cc,
    -    0xd6d1, 0xd6d4, 0xd6d7, 0xd6d9, 0xd6e0, 0xd6e4, 0xd6e8, 0xd6f0,
    -    0xd6f5, 0xd6fc, 0xd6fd, 0xd700, 0xd704, 0xd711, 0xd718, 0xd719,
    -    0xd71c, 0xd720, 0xd728, 0xd729, 0xd72b, 0xd72d, 0xd734, 0xd735,
    -    0xd738, 0xd73c, 0xd744, 0xd747, 0xd749, 0xd750, 0xd751, 0xd754,
    -    0xd756, 0xd757, 0xd758, 0xd759, 0xd760, 0xd761, 0xd763, 0xd765,
    -    0xd769, 0xd76c, 0xd770, 0xd774, 0xd77c, 0xd77d, 0xd781, 0xd788,
    -    0xd789, 0xd78c, 0xd790, 0xd798, 0xd799, 0xd79b, 0xd79d, 0x003f,
    -    /* lead byte ca */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x4f3d, 0x4f73, 0x5047, 0x50f9, 0x52a0, 0x53ef, 0x5475,
    -    0x54e5, 0x5609, 0x5ac1, 0x5bb6, 0x6687, 0x67b6, 0x67b7, 0x67ef,
    -    0x6b4c, 0x73c2, 0x75c2, 0x7a3c, 0x82db, 0x8304, 0x8857, 0x8888,
    -    0x8a36, 0x8cc8, 0x8dcf, 0x8efb, 0x8fe6, 0x99d5, 0x523b, 0x5374,
    -    0x5404, 0x606a, 0x6164, 0x6bbc, 0x73cf, 0x811a, 0x89ba, 0x89d2,
    -    0x95a3, 0x4f83, 0x520a, 0x58be, 0x5978, 0x59e6, 0x5e72, 0x5e79,
    -    0x61c7, 0x63c0, 0x6746, 0x67ec, 0x687f, 0x6f97, 0x764e, 0x770b,
    -    0x78f5, 0x7a08, 0x7aff, 0x7c21, 0x809d, 0x826e, 0x8271, 0x8aeb,
    -    0x9593, 0x4e6b, 0x559d, 0x66f7, 0x6e34, 0x78a3, 0x7aed, 0x845b,
    -    0x8910, 0x874e, 0x97a8, 0x52d8, 0x574e, 0x582a, 0x5d4c, 0x611f,
    -    0x61be, 0x6221, 0x6562, 0x67d1, 0x6a44, 0x6e1b, 0x7518, 0x75b3,
    -    0x76e3, 0x77b0, 0x7d3a, 0x90af, 0x9451, 0x9452, 0x9f95, 0x003f,
    -    /* lead byte cb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5323, 0x5cac, 0x7532, 0x80db, 0x9240, 0x9598, 0x525b,
    -    0x5808, 0x59dc, 0x5ca1, 0x5d17, 0x5eb7, 0x5f3a, 0x5f4a, 0x6177,
    -    0x6c5f, 0x757a, 0x7586, 0x7ce0, 0x7d73, 0x7db1, 0x7f8c, 0x8154,
    -    0x8221, 0x8591, 0x8941, 0x8b1b, 0x92fc, 0x964d, 0x9c47, 0x4ecb,
    -    0x4ef7, 0x500b, 0x51f1, 0x584f, 0x6137, 0x613e, 0x6168, 0x6539,
    -    0x69ea, 0x6f11, 0x75a5, 0x7686, 0x76d6, 0x7b87, 0x82a5, 0x84cb,
    -    0xf900, 0x93a7, 0x958b, 0x5580, 0x5ba2, 0x5751, 0xf901, 0x7cb3,
    -    0x7fb9, 0x91b5, 0x5028, 0x53bb, 0x5c45, 0x5de8, 0x62d2, 0x636e,
    -    0x64da, 0x64e7, 0x6e20, 0x70ac, 0x795b, 0x8ddd, 0x8e1e, 0xf902,
    -    0x907d, 0x9245, 0x92f8, 0x4e7e, 0x4ef6, 0x5065, 0x5dfe, 0x5efa,
    -    0x6106, 0x6957, 0x8171, 0x8654, 0x8e47, 0x9375, 0x9a2b, 0x4e5e,
    -    0x5091, 0x6770, 0x6840, 0x5109, 0x528d, 0x5292, 0x6aa2, 0x003f,
    -    /* lead byte cc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x77bc, 0x9210, 0x9ed4, 0x52ab, 0x602f, 0x8ff2, 0x5048,
    -    0x61a9, 0x63ed, 0x64ca, 0x683c, 0x6a84, 0x6fc0, 0x8188, 0x89a1,
    -    0x9694, 0x5805, 0x727d, 0x72ac, 0x7504, 0x7d79, 0x7e6d, 0x80a9,
    -    0x898b, 0x8b74, 0x9063, 0x9d51, 0x6289, 0x6c7a, 0x6f54, 0x7d50,
    -    0x7f3a, 0x8a23, 0x517c, 0x614a, 0x7b9d, 0x8b19, 0x9257, 0x938c,
    -    0x4eac, 0x4fd3, 0x501e, 0x50be, 0x5106, 0x52c1, 0x52cd, 0x537f,
    -    0x5770, 0x5883, 0x5e9a, 0x5f91, 0x6176, 0x61ac, 0x64ce, 0x656c,
    -    0x666f, 0x66bb, 0x66f4, 0x6897, 0x6d87, 0x7085, 0x70f1, 0x749f,
    -    0x74a5, 0x74ca, 0x75d9, 0x786c, 0x78ec, 0x7adf, 0x7af6, 0x7d45,
    -    0x7d93, 0x8015, 0x803f, 0x811b, 0x8396, 0x8b66, 0x8f15, 0x9015,
    -    0x93e1, 0x9803, 0x9838, 0x9a5a, 0x9be8, 0x4fc2, 0x5553, 0x583a,
    -    0x5951, 0x5b63, 0x5c46, 0x60b8, 0x6212, 0x6842, 0x68b0, 0x003f,
    -    /* lead byte cd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x68e8, 0x6eaa, 0x754c, 0x7678, 0x78ce, 0x7a3d, 0x7cfb,
    -    0x7e6b, 0x7e7c, 0x8a08, 0x8aa1, 0x8c3f, 0x968e, 0x9dc4, 0x53e4,
    -    0x53e9, 0x544a, 0x5471, 0x56fa, 0x59d1, 0x5b64, 0x5c3b, 0x5eab,
    -    0x62f7, 0x6537, 0x6545, 0x6572, 0x66a0, 0x67af, 0x69c1, 0x6cbd,
    -    0x75fc, 0x7690, 0x777e, 0x7a3f, 0x7f94, 0x8003, 0x80a1, 0x818f,
    -    0x82e6, 0x82fd, 0x83f0, 0x85c1, 0x8831, 0x88b4, 0x8aa5, 0xf903,
    -    0x8f9c, 0x932e, 0x96c7, 0x9867, 0x9ad8, 0x9f13, 0x54ed, 0x659b,
    -    0x66f2, 0x688f, 0x7a40, 0x8c37, 0x9d60, 0x56f0, 0x5764, 0x5d11,
    -    0x6606, 0x68b1, 0x68cd, 0x6efe, 0x7428, 0x889e, 0x9be4, 0x6c68,
    -    0xf904, 0x9aa8, 0x4f9b, 0x516c, 0x5171, 0x529f, 0x5b54, 0x5de5,
    -    0x6050, 0x606d, 0x62f1, 0x63a7, 0x653b, 0x73d9, 0x7a7a, 0x86a3,
    -    0x8ca2, 0x978f, 0x4e32, 0x5be1, 0x6208, 0x679c, 0x74dc, 0x003f,
    -    /* lead byte ce */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x79d1, 0x83d3, 0x8a87, 0x8ab2, 0x8de8, 0x904e, 0x934b,
    -    0x9846, 0x5ed3, 0x69e8, 0x85ff, 0x90ed, 0xf905, 0x51a0, 0x5b98,
    -    0x5bec, 0x6163, 0x68fa, 0x6b3e, 0x704c, 0x742f, 0x74d8, 0x7ba1,
    -    0x7f50, 0x83c5, 0x89c0, 0x8cab, 0x95dc, 0x9928, 0x522e, 0x605d,
    -    0x62ec, 0x9002, 0x4f8a, 0x5149, 0x5321, 0x58d9, 0x5ee3, 0x66e0,
    -    0x6d38, 0x709a, 0x72c2, 0x73d6, 0x7b50, 0x80f1, 0x945b, 0x5366,
    -    0x639b, 0x7f6b, 0x4e56, 0x5080, 0x584a, 0x58de, 0x602a, 0x6127,
    -    0x62d0, 0x69d0, 0x9b41, 0x5b8f, 0x7d18, 0x80b1, 0x8f5f, 0x4ea4,
    -    0x50d1, 0x54ac, 0x55ac, 0x5b0c, 0x5da0, 0x5de7, 0x652a, 0x654e,
    -    0x6821, 0x6a4b, 0x72e1, 0x768e, 0x77ef, 0x7d5e, 0x7ff9, 0x81a0,
    -    0x854e, 0x86df, 0x8f03, 0x8f4e, 0x90ca, 0x9903, 0x9a55, 0x9bab,
    -    0x4e18, 0x4e45, 0x4e5d, 0x4ec7, 0x4ff1, 0x5177, 0x52fe, 0x003f,
    -    /* lead byte cf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5340, 0x53e3, 0x53e5, 0x548e, 0x5614, 0x5775, 0x57a2,
    -    0x5bc7, 0x5d87, 0x5ed0, 0x61fc, 0x62d8, 0x6551, 0x67b8, 0x67e9,
    -    0x69cb, 0x6b50, 0x6bc6, 0x6bec, 0x6c42, 0x6e9d, 0x7078, 0x72d7,
    -    0x7396, 0x7403, 0x77bf, 0x77e9, 0x7a76, 0x7d7f, 0x8009, 0x81fc,
    -    0x8205, 0x820a, 0x82df, 0x8862, 0x8b33, 0x8cfc, 0x8ec0, 0x9011,
    -    0x90b1, 0x9264, 0x92b6, 0x99d2, 0x9a45, 0x9ce9, 0x9dd7, 0x9f9c,
    -    0x570b, 0x5c40, 0x83ca, 0x97a0, 0x97ab, 0x9eb4, 0x541b, 0x7a98,
    -    0x7fa4, 0x88d9, 0x8ecd, 0x90e1, 0x5800, 0x5c48, 0x6398, 0x7a9f,
    -    0x5bae, 0x5f13, 0x7a79, 0x7aae, 0x828e, 0x8eac, 0x5026, 0x5238,
    -    0x52f8, 0x5377, 0x5708, 0x62f3, 0x6372, 0x6b0a, 0x6dc3, 0x7737,
    -    0x53a5, 0x7357, 0x8568, 0x8e76, 0x95d5, 0x673a, 0x6ac3, 0x6f70,
    -    0x8a6d, 0x8ecc, 0x994b, 0xf906, 0x6677, 0x6b78, 0x8cb4, 0x003f,
    -    /* lead byte d0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9b3c, 0xf907, 0x53eb, 0x572d, 0x594e, 0x63c6, 0x69fb,
    -    0x73ea, 0x7845, 0x7aba, 0x7ac5, 0x7cfe, 0x8475, 0x898f, 0x8d73,
    -    0x9035, 0x95a8, 0x52fb, 0x5747, 0x7547, 0x7b60, 0x83cc, 0x921e,
    -    0xf908, 0x6a58, 0x514b, 0x524b, 0x5287, 0x621f, 0x68d8, 0x6975,
    -    0x9699, 0x50c5, 0x52a4, 0x52e4, 0x61c3, 0x65a4, 0x6839, 0x69ff,
    -    0x747e, 0x7b4b, 0x82b9, 0x83eb, 0x89b2, 0x8b39, 0x8fd1, 0x9949,
    -    0xf909, 0x4eca, 0x5997, 0x64d2, 0x6611, 0x6a8e, 0x7434, 0x7981,
    -    0x79bd, 0x82a9, 0x887e, 0x887f, 0x895f, 0xf90a, 0x9326, 0x4f0b,
    -    0x53ca, 0x6025, 0x6271, 0x6c72, 0x7d1a, 0x7d66, 0x4e98, 0x5162,
    -    0x77dc, 0x80af, 0x4f01, 0x4f0e, 0x5176, 0x5180, 0x55dc, 0x5668,
    -    0x573b, 0x57fa, 0x57fc, 0x5914, 0x5947, 0x5993, 0x5bc4, 0x5c90,
    -    0x5d0e, 0x5df1, 0x5e7e, 0x5fcc, 0x6280, 0x65d7, 0x65e3, 0x003f,
    -    /* lead byte d1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x671e, 0x671f, 0x675e, 0x68cb, 0x68c4, 0x6a5f, 0x6b3a,
    -    0x6c23, 0x6c7d, 0x6c82, 0x6dc7, 0x7398, 0x7426, 0x742a, 0x7482,
    -    0x74a3, 0x7578, 0x757f, 0x7881, 0x78ef, 0x7941, 0x7947, 0x7948,
    -    0x797a, 0x7b95, 0x7d00, 0x7dba, 0x7f88, 0x8006, 0x802d, 0x808c,
    -    0x8a18, 0x8b4f, 0x8c48, 0x8d77, 0x9321, 0x9324, 0x98e2, 0x9951,
    -    0x9a0e, 0x9a0f, 0x9a65, 0x9e92, 0x7dca, 0x4f76, 0x5409, 0x62ee,
    -    0x6854, 0x91d1, 0x55ab, 0x513a, 0xf90b, 0xf90c, 0x5a1c, 0x61e6,
    -    0xf90d, 0x62cf, 0x62ff, 0xf90e, 0xf90f, 0xf910, 0xf911, 0xf912,
    -    0xf913, 0x90a3, 0xf914, 0xf915, 0xf916, 0xf917, 0xf918, 0x8afe,
    -    0xf919, 0xf91a, 0xf91b, 0xf91c, 0x6696, 0xf91d, 0x7156, 0xf91e,
    -    0xf91f, 0x96e3, 0xf920, 0x634f, 0x637a, 0x5357, 0xf921, 0x678f,
    -    0x6960, 0x6e73, 0xf922, 0x7537, 0xf923, 0xf924, 0xf925, 0x003f,
    -    /* lead byte d2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7d0d, 0xf926, 0xf927, 0x8872, 0x56ca, 0x5a18, 0xf928,
    -    0xf929, 0xf92a, 0xf92b, 0xf92c, 0x4e43, 0xf92d, 0x5167, 0x5948,
    -    0x67f0, 0x8010, 0xf92e, 0x5973, 0x5e74, 0x649a, 0x79ca, 0x5ff5,
    -    0x606c, 0x62c8, 0x637b, 0x5be7, 0x5bd7, 0x52aa, 0xf92f, 0x5974,
    -    0x5f29, 0x6012, 0xf930, 0xf931, 0xf932, 0x7459, 0xf933, 0xf934,
    -    0xf935, 0xf936, 0xf937, 0xf938, 0x99d1, 0xf939, 0xf93a, 0xf93b,
    -    0xf93c, 0xf93d, 0xf93e, 0xf93f, 0xf940, 0xf941, 0xf942, 0xf943,
    -    0x6fc3, 0xf944, 0xf945, 0x81bf, 0x8fb2, 0x60f1, 0xf946, 0xf947,
    -    0x8166, 0xf948, 0xf949, 0x5c3f, 0xf94a, 0xf94b, 0xf94c, 0xf94d,
    -    0xf94e, 0xf94f, 0xf950, 0xf951, 0x5ae9, 0x8a25, 0x677b, 0x7d10,
    -    0xf952, 0xf953, 0xf954, 0xf955, 0xf956, 0xf957, 0x80fd, 0xf958,
    -    0xf959, 0x5c3c, 0x6ce5, 0x533f, 0x6eba, 0x591a, 0x8336, 0x003f,
    -    /* lead byte d3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x4e39, 0x4eb6, 0x4f46, 0x55ae, 0x5718, 0x58c7, 0x5f56,
    -    0x65b7, 0x65e6, 0x6a80, 0x6bb5, 0x6e4d, 0x77ed, 0x7aef, 0x7c1e,
    -    0x7dde, 0x86cb, 0x8892, 0x9132, 0x935b, 0x64bb, 0x6fbe, 0x737a,
    -    0x75b8, 0x9054, 0x5556, 0x574d, 0x61ba, 0x64d4, 0x66c7, 0x6de1,
    -    0x6e5b, 0x6f6d, 0x6fb9, 0x75f0, 0x8043, 0x81bd, 0x8541, 0x8983,
    -    0x8ac7, 0x8b5a, 0x931f, 0x6c93, 0x7553, 0x7b54, 0x8e0f, 0x905d,
    -    0x5510, 0x5802, 0x5858, 0x5e62, 0x6207, 0x649e, 0x68e0, 0x7576,
    -    0x7cd6, 0x87b3, 0x9ee8, 0x4ee3, 0x5788, 0x576e, 0x5927, 0x5c0d,
    -    0x5cb1, 0x5e36, 0x5f85, 0x6234, 0x64e1, 0x73b3, 0x81fa, 0x888b,
    -    0x8cb8, 0x968a, 0x9edb, 0x5b85, 0x5fb7, 0x60b3, 0x5012, 0x5200,
    -    0x5230, 0x5716, 0x5835, 0x5857, 0x5c0e, 0x5c60, 0x5cf6, 0x5d8b,
    -    0x5ea6, 0x5f92, 0x60bc, 0x6311, 0x6389, 0x6417, 0x6843, 0x003f,
    -    /* lead byte d4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x68f9, 0x6ac2, 0x6dd8, 0x6e21, 0x6ed4, 0x6fe4, 0x71fe,
    -    0x76dc, 0x7779, 0x79b1, 0x7a3b, 0x8404, 0x89a9, 0x8ced, 0x8df3,
    -    0x8e48, 0x9003, 0x9014, 0x9053, 0x90fd, 0x934d, 0x9676, 0x97dc,
    -    0x6bd2, 0x7006, 0x7258, 0x72a2, 0x7368, 0x7763, 0x79bf, 0x7be4,
    -    0x7e9b, 0x8b80, 0x58a9, 0x60c7, 0x6566, 0x65fd, 0x66be, 0x6c8c,
    -    0x711e, 0x71c9, 0x8c5a, 0x9813, 0x4e6d, 0x7a81, 0x4edd, 0x51ac,
    -    0x51cd, 0x52d5, 0x540c, 0x61a7, 0x6771, 0x6850, 0x68df, 0x6d1e,
    -    0x6f7c, 0x75bc, 0x77b3, 0x7ae5, 0x80f4, 0x8463, 0x9285, 0x515c,
    -    0x6597, 0x675c, 0x6793, 0x75d8, 0x7ac7, 0x8373, 0xf95a, 0x8c46,
    -    0x9017, 0x982d, 0x5c6f, 0x81c0, 0x829a, 0x9041, 0x906f, 0x920d,
    -    0x5f97, 0x5d9d, 0x6a59, 0x71c8, 0x767b, 0x7b49, 0x85e4, 0x8b04,
    -    0x9127, 0x9a30, 0x5587, 0x61f6, 0xf95b, 0x7669, 0x7f85, 0x003f,
    -    /* lead byte d5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x863f, 0x87ba, 0x88f8, 0x908f, 0xf95c, 0x6d1b, 0x70d9,
    -    0x73de, 0x7d61, 0x843d, 0xf95d, 0x916a, 0x99f1, 0xf95e, 0x4e82,
    -    0x5375, 0x6b04, 0x6b12, 0x703e, 0x721b, 0x862d, 0x9e1e, 0x524c,
    -    0x8fa3, 0x5d50, 0x64e5, 0x652c, 0x6b16, 0x6feb, 0x7c43, 0x7e9c,
    -    0x85cd, 0x8964, 0x89bd, 0x62c9, 0x81d8, 0x881f, 0x5eca, 0x6717,
    -    0x6d6a, 0x72fc, 0x7405, 0x746f, 0x8782, 0x90de, 0x4f86, 0x5d0d,
    -    0x5fa0, 0x840a, 0x51b7, 0x63a0, 0x7565, 0x4eae, 0x5006, 0x5169,
    -    0x51c9, 0x6881, 0x6a11, 0x7cae, 0x7cb1, 0x7ce7, 0x826f, 0x8ad2,
    -    0x8f1b, 0x91cf, 0x4fb6, 0x5137, 0x52f5, 0x5442, 0x5eec, 0x616e,
    -    0x623e, 0x65c5, 0x6ada, 0x6ffe, 0x792a, 0x85dc, 0x8823, 0x95ad,
    -    0x9a62, 0x9a6a, 0x9e97, 0x9ece, 0x529b, 0x66c6, 0x6b77, 0x701d,
    -    0x792b, 0x8f62, 0x9742, 0x6190, 0x6200, 0x6523, 0x6f23, 0x003f,
    -    /* lead byte d6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7149, 0x7489, 0x7df4, 0x806f, 0x84ee, 0x8f26, 0x9023,
    -    0x934a, 0x51bd, 0x5217, 0x52a3, 0x6d0c, 0x70c8, 0x88c2, 0x5ec9,
    -    0x6582, 0x6bae, 0x6fc2, 0x7c3e, 0x7375, 0x4ee4, 0x4f36, 0x56f9,
    -    0xf95f, 0x5cba, 0x5dba, 0x601c, 0x73b2, 0x7b2d, 0x7f9a, 0x7fce,
    -    0x8046, 0x901e, 0x9234, 0x96f6, 0x9748, 0x9818, 0x9f61, 0x4f8b,
    -    0x6fa7, 0x79ae, 0x91b4, 0x96b7, 0x52de, 0xf960, 0x6488, 0x64c4,
    -    0x6ad3, 0x6f5e, 0x7018, 0x7210, 0x76e7, 0x8001, 0x8606, 0x865c,
    -    0x8def, 0x8f05, 0x9732, 0x9b6f, 0x9dfa, 0x9e75, 0x788c, 0x797f,
    -    0x7da0, 0x83c9, 0x9304, 0x9e7f, 0x9e93, 0x8ad6, 0x58df, 0x5f04,
    -    0x6727, 0x7027, 0x74cf, 0x7c60, 0x807e, 0x5121, 0x7028, 0x7262,
    -    0x78ca, 0x8cc2, 0x8cda, 0x8cf4, 0x96f7, 0x4e86, 0x50da, 0x5bee,
    -    0x5ed6, 0x6599, 0x71ce, 0x7642, 0x77ad, 0x804a, 0x84fc, 0x003f,
    -    /* lead byte d7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x907c, 0x9b27, 0x9f8d, 0x58d8, 0x5a41, 0x5c62, 0x6a13,
    -    0x6dda, 0x6f0f, 0x763b, 0x7d2f, 0x7e37, 0x851e, 0x8938, 0x93e4,
    -    0x964b, 0x5289, 0x65d2, 0x67f3, 0x69b4, 0x6d41, 0x6e9c, 0x700f,
    -    0x7409, 0x7460, 0x7559, 0x7624, 0x786b, 0x8b2c, 0x985e, 0x516d,
    -    0x622e, 0x9678, 0x4f96, 0x502b, 0x5d19, 0x6dea, 0x7db8, 0x8f2a,
    -    0x5f8b, 0x6144, 0x6817, 0xf961, 0x9686, 0x52d2, 0x808b, 0x51dc,
    -    0x51cc, 0x695e, 0x7a1c, 0x7dbe, 0x83f1, 0x9675, 0x4fda, 0x5229,
    -    0x5398, 0x540f, 0x550e, 0x5c65, 0x60a7, 0x674e, 0x68a8, 0x6d6c,
    -    0x7281, 0x72f8, 0x7406, 0x7483, 0xf962, 0x75e2, 0x7c6c, 0x7f79,
    -    0x7fb8, 0x8389, 0x88cf, 0x88e1, 0x91cc, 0x91d0, 0x96e2, 0x9bc9,
    -    0x541d, 0x6f7e, 0x71d0, 0x7498, 0x85fa, 0x8eaa, 0x96a3, 0x9c57,
    -    0x9e9f, 0x6797, 0x6dcb, 0x7433, 0x81e8, 0x9716, 0x782c, 0x003f,
    -    /* lead byte d8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7acb, 0x7b20, 0x7c92, 0x6469, 0x746a, 0x75f2, 0x78bc,
    -    0x78e8, 0x99ac, 0x9b54, 0x9ebb, 0x5bde, 0x5e55, 0x6f20, 0x819c,
    -    0x83ab, 0x9088, 0x4e07, 0x534d, 0x5a29, 0x5dd2, 0x5f4e, 0x6162,
    -    0x633d, 0x6669, 0x66fc, 0x6eff, 0x6f2b, 0x7063, 0x779e, 0x842c,
    -    0x8513, 0x883b, 0x8f13, 0x9945, 0x9c3b, 0x551c, 0x62b9, 0x672b,
    -    0x6cab, 0x8309, 0x896a, 0x977a, 0x4ea1, 0x5984, 0x5fd8, 0x5fd9,
    -    0x671b, 0x7db2, 0x7f54, 0x8292, 0x832b, 0x83bd, 0x8f1e, 0x9099,
    -    0x57cb, 0x59b9, 0x5a92, 0x5bd0, 0x6627, 0x679a, 0x6885, 0x6bcf,
    -    0x7164, 0x7f75, 0x8cb7, 0x8ce3, 0x9081, 0x9b45, 0x8108, 0x8c8a,
    -    0x964c, 0x9a40, 0x9ea5, 0x5b5f, 0x6c13, 0x731b, 0x76f2, 0x76df,
    -    0x840c, 0x51aa, 0x8993, 0x514d, 0x5195, 0x52c9, 0x68c9, 0x6c94,
    -    0x7704, 0x7720, 0x7dbf, 0x7dec, 0x9762, 0x9eb5, 0x6ec5, 0x003f,
    -    /* lead byte d9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8511, 0x51a5, 0x540d, 0x547d, 0x660e, 0x669d, 0x6927,
    -    0x6e9f, 0x76bf, 0x7791, 0x8317, 0x84c2, 0x879f, 0x9169, 0x9298,
    -    0x9cf4, 0x8882, 0x4fae, 0x5192, 0x52df, 0x59c6, 0x5e3d, 0x6155,
    -    0x6478, 0x6479, 0x66ae, 0x67d0, 0x6a21, 0x6bcd, 0x6bdb, 0x725f,
    -    0x7261, 0x7441, 0x7738, 0x77db, 0x8017, 0x82bc, 0x8305, 0x8b00,
    -    0x8b28, 0x8c8c, 0x6728, 0x6c90, 0x7267, 0x76ee, 0x7766, 0x7a46,
    -    0x9da9, 0x6b7f, 0x6c92, 0x5922, 0x6726, 0x8499, 0x536f, 0x5893,
    -    0x5999, 0x5edf, 0x63cf, 0x6634, 0x6773, 0x6e3a, 0x732b, 0x7ad7,
    -    0x82d7, 0x9328, 0x52d9, 0x5deb, 0x61ae, 0x61cb, 0x620a, 0x62c7,
    -    0x64ab, 0x65e0, 0x6959, 0x6b66, 0x6bcb, 0x7121, 0x73f7, 0x755d,
    -    0x7e46, 0x821e, 0x8302, 0x856a, 0x8aa3, 0x8cbf, 0x9727, 0x9d61,
    -    0x58a8, 0x9ed8, 0x5011, 0x520e, 0x543b, 0x554f, 0x6587, 0x003f,
    -    /* lead byte da */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6c76, 0x7d0a, 0x7d0b, 0x805e, 0x868a, 0x9580, 0x96ef,
    -    0x52ff, 0x6c95, 0x7269, 0x5473, 0x5a9a, 0x5c3e, 0x5d4b, 0x5f4c,
    -    0x5fae, 0x672a, 0x68b6, 0x6963, 0x6e3c, 0x6e44, 0x7709, 0x7c73,
    -    0x7f8e, 0x8587, 0x8b0e, 0x8ff7, 0x9761, 0x9ef4, 0x5cb7, 0x60b6,
    -    0x610d, 0x61ab, 0x654f, 0x65fb, 0x65fc, 0x6c11, 0x6cef, 0x739f,
    -    0x73c9, 0x7de1, 0x9594, 0x5bc6, 0x871c, 0x8b10, 0x525d, 0x535a,
    -    0x62cd, 0x640f, 0x64b2, 0x6734, 0x6a38, 0x6cca, 0x73c0, 0x749e,
    -    0x7b94, 0x7c95, 0x7e1b, 0x818a, 0x8236, 0x8584, 0x8feb, 0x96f9,
    -    0x99c1, 0x4f34, 0x534a, 0x53cd, 0x53db, 0x62cc, 0x642c, 0x6500,
    -    0x6591, 0x69c3, 0x6cee, 0x6f58, 0x73ed, 0x7554, 0x7622, 0x76e4,
    -    0x76fc, 0x78d0, 0x78fb, 0x792c, 0x7d46, 0x822c, 0x87e0, 0x8fd4,
    -    0x9812, 0x98ef, 0x52c3, 0x62d4, 0x64a5, 0x6e24, 0x6f51, 0x003f,
    -    /* lead byte db */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x767c, 0x8dcb, 0x91b1, 0x9262, 0x9aee, 0x9b43, 0x5023,
    -    0x508d, 0x574a, 0x59a8, 0x5c28, 0x5e47, 0x5f77, 0x623f, 0x653e,
    -    0x65b9, 0x65c1, 0x6609, 0x678b, 0x699c, 0x6ec2, 0x78c5, 0x7d21,
    -    0x80aa, 0x8180, 0x822b, 0x82b3, 0x84a1, 0x868c, 0x8a2a, 0x8b17,
    -    0x90a6, 0x9632, 0x9f90, 0x500d, 0x4ff3, 0xf963, 0x57f9, 0x5f98,
    -    0x62dc, 0x6392, 0x676f, 0x6e43, 0x7119, 0x76c3, 0x80cc, 0x80da,
    -    0x88f4, 0x88f5, 0x8919, 0x8ce0, 0x8f29, 0x914d, 0x966a, 0x4f2f,
    -    0x4f70, 0x5e1b, 0x67cf, 0x6822, 0x767d, 0x767e, 0x9b44, 0x5e61,
    -    0x6a0a, 0x7169, 0x71d4, 0x756a, 0xf964, 0x7e41, 0x8543, 0x85e9,
    -    0x98dc, 0x4f10, 0x7b4f, 0x7f70, 0x95a5, 0x51e1, 0x5e06, 0x68b5,
    -    0x6c3e, 0x6c4e, 0x6cdb, 0x72af, 0x7bc4, 0x8303, 0x6cd5, 0x743a,
    -    0x50fb, 0x5288, 0x58c1, 0x64d8, 0x6a97, 0x74a7, 0x7656, 0x003f,
    -    /* lead byte dc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x78a7, 0x8617, 0x95e2, 0x9739, 0xf965, 0x535e, 0x5f01,
    -    0x8b8a, 0x8fa8, 0x8faf, 0x908a, 0x5225, 0x77a5, 0x9c49, 0x9f08,
    -    0x4e19, 0x5002, 0x5175, 0x5c5b, 0x5e77, 0x661e, 0x663a, 0x67c4,
    -    0x68c5, 0x70b3, 0x7501, 0x75c5, 0x79c9, 0x7add, 0x8f27, 0x9920,
    -    0x9a08, 0x4fdd, 0x5821, 0x5831, 0x5bf6, 0x666e, 0x6b65, 0x6d11,
    -    0x6e7a, 0x6f7d, 0x73e4, 0x752b, 0x83e9, 0x88dc, 0x8913, 0x8b5c,
    -    0x8f14, 0x4f0f, 0x50d5, 0x5310, 0x535c, 0x5b93, 0x5fa9, 0x670d,
    -    0x798f, 0x8179, 0x832f, 0x8514, 0x8907, 0x8986, 0x8f39, 0x8f3b,
    -    0x99a5, 0x9c12, 0x672c, 0x4e76, 0x4ff8, 0x5949, 0x5c01, 0x5cef,
    -    0x5cf0, 0x6367, 0x68d2, 0x70fd, 0x71a2, 0x742b, 0x7e2b, 0x84ec,
    -    0x8702, 0x9022, 0x92d2, 0x9cf3, 0x4e0d, 0x4ed8, 0x4fef, 0x5085,
    -    0x5256, 0x526f, 0x5426, 0x5490, 0x57e0, 0x592b, 0x5a66, 0x003f,
    -    /* lead byte dd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5b5a, 0x5b75, 0x5bcc, 0x5e9c, 0xf966, 0x6276, 0x6577,
    -    0x65a7, 0x6d6e, 0x6ea5, 0x7236, 0x7b26, 0x7c3f, 0x7f36, 0x8150,
    -    0x8151, 0x819a, 0x8240, 0x8299, 0x83a9, 0x8a03, 0x8ca0, 0x8ce6,
    -    0x8cfb, 0x8d74, 0x8dba, 0x90e8, 0x91dc, 0x961c, 0x9644, 0x99d9,
    -    0x9ce7, 0x5317, 0x5206, 0x5429, 0x5674, 0x58b3, 0x5954, 0x596e,
    -    0x5fff, 0x61a4, 0x626e, 0x6610, 0x6c7e, 0x711a, 0x76c6, 0x7c89,
    -    0x7cde, 0x7d1b, 0x82ac, 0x8cc1, 0x96f0, 0xf967, 0x4f5b, 0x5f17,
    -    0x5f7f, 0x62c2, 0x5d29, 0x670b, 0x68da, 0x787c, 0x7e43, 0x9d6c,
    -    0x4e15, 0x5099, 0x5315, 0x532a, 0x5351, 0x5983, 0x5a62, 0x5e87,
    -    0x60b2, 0x618a, 0x6249, 0x6279, 0x6590, 0x6787, 0x69a7, 0x6bd4,
    -    0x6bd6, 0x6bd7, 0x6bd8, 0x6cb8, 0xf968, 0x7435, 0x75fa, 0x7812,
    -    0x7891, 0x79d5, 0x79d8, 0x7c83, 0x7dcb, 0x7fe1, 0x80a5, 0x003f,
    -    /* lead byte de */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x813e, 0x81c2, 0x83f2, 0x871a, 0x88e8, 0x8ab9, 0x8b6c,
    -    0x8cbb, 0x9119, 0x975e, 0x98db, 0x9f3b, 0x56ac, 0x5b2a, 0x5f6c,
    -    0x658c, 0x6ab3, 0x6baf, 0x6d5c, 0x6ff1, 0x7015, 0x725d, 0x73ad,
    -    0x8ca7, 0x8cd3, 0x983b, 0x6191, 0x6c37, 0x8058, 0x9a01, 0x4e4d,
    -    0x4e8b, 0x4e9b, 0x4ed5, 0x4f3a, 0x4f3c, 0x4f7f, 0x4fdf, 0x50ff,
    -    0x53f2, 0x53f8, 0x5506, 0x55e3, 0x56db, 0x58eb, 0x5962, 0x5a11,
    -    0x5beb, 0x5bfa, 0x5c04, 0x5df3, 0x5e2b, 0x5f99, 0x601d, 0x6368,
    -    0x659c, 0x65af, 0x67f6, 0x67fb, 0x68ad, 0x6b7b, 0x6c99, 0x6cd7,
    -    0x6e23, 0x7009, 0x7345, 0x7802, 0x793e, 0x7940, 0x7960, 0x79c1,
    -    0x7be9, 0x7d17, 0x7d72, 0x8086, 0x820d, 0x838e, 0x84d1, 0x86c7,
    -    0x88df, 0x8a50, 0x8a5e, 0x8b1d, 0x8cdc, 0x8d66, 0x8fad, 0x90aa,
    -    0x98fc, 0x99df, 0x9e9d, 0x524a, 0xf969, 0x6714, 0xf96a, 0x003f,
    -    /* lead byte df */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5098, 0x522a, 0x5c71, 0x6563, 0x6c55, 0x73ca, 0x7523,
    -    0x759d, 0x7b97, 0x849c, 0x9178, 0x9730, 0x4e77, 0x6492, 0x6bba,
    -    0x715e, 0x85a9, 0x4e09, 0xf96b, 0x6749, 0x68ee, 0x6e17, 0x829f,
    -    0x8518, 0x886b, 0x63f7, 0x6f81, 0x9212, 0x98af, 0x4e0a, 0x50b7,
    -    0x50cf, 0x511f, 0x5546, 0x55aa, 0x5617, 0x5b40, 0x5c19, 0x5ce0,
    -    0x5e38, 0x5e8a, 0x5ea0, 0x5ec2, 0x60f3, 0x6851, 0x6a61, 0x6e58,
    -    0x723d, 0x7240, 0x72c0, 0x76f8, 0x7965, 0x7bb1, 0x7fd4, 0x88f3,
    -    0x89f4, 0x8a73, 0x8c61, 0x8cde, 0x971c, 0x585e, 0x74bd, 0x8cfd,
    -    0x55c7, 0xf96c, 0x7a61, 0x7d22, 0x8272, 0x7272, 0x751f, 0x7525,
    -    0xf96d, 0x7b19, 0x5885, 0x58fb, 0x5dbc, 0x5e8f, 0x5eb6, 0x5f90,
    -    0x6055, 0x6292, 0x637f, 0x654d, 0x6691, 0x66d9, 0x66f8, 0x6816,
    -    0x68f2, 0x7280, 0x745e, 0x7b6e, 0x7d6e, 0x7dd6, 0x7f72, 0x003f,
    -    /* lead byte e0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x80e5, 0x8212, 0x85af, 0x897f, 0x8a93, 0x901d, 0x92e4,
    -    0x9ecd, 0x9f20, 0x5915, 0x596d, 0x5e2d, 0x60dc, 0x6614, 0x6673,
    -    0x6790, 0x6c50, 0x6dc5, 0x6f5f, 0x77f3, 0x78a9, 0x84c6, 0x91cb,
    -    0x932b, 0x4ed9, 0x50ca, 0x5148, 0x5584, 0x5b0b, 0x5ba3, 0x6247,
    -    0x657e, 0x65cb, 0x6e32, 0x717d, 0x7401, 0x7444, 0x7487, 0x74bf,
    -    0x766c, 0x79aa, 0x7dda, 0x7e55, 0x7fa8, 0x817a, 0x81b3, 0x8239,
    -    0x861a, 0x87ec, 0x8a75, 0x8de3, 0x9078, 0x9291, 0x9425, 0x994d,
    -    0x9bae, 0x5368, 0x5c51, 0x6954, 0x6cc4, 0x6d29, 0x6e2b, 0x820c,
    -    0x859b, 0x893b, 0x8a2d, 0x8aaa, 0x96ea, 0x9f67, 0x5261, 0x66b9,
    -    0x6bb2, 0x7e96, 0x87fe, 0x8d0d, 0x9583, 0x965d, 0x651d, 0x6d89,
    -    0x71ee, 0xf96e, 0x57ce, 0x59d3, 0x5bac, 0x6027, 0x60fa, 0x6210,
    -    0x661f, 0x665f, 0x7329, 0x73f9, 0x76db, 0x7701, 0x7b6c, 0x003f,
    -    /* lead byte e1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8056, 0x8072, 0x8165, 0x8aa0, 0x9192, 0x4e16, 0x52e2,
    -    0x6b72, 0x6d17, 0x7a05, 0x7b39, 0x7d30, 0xf96f, 0x8cb0, 0x53ec,
    -    0x562f, 0x5851, 0x5bb5, 0x5c0f, 0x5c11, 0x5de2, 0x6240, 0x6383,
    -    0x6414, 0x662d, 0x68b3, 0x6cbc, 0x6d88, 0x6eaf, 0x701f, 0x70a4,
    -    0x71d2, 0x7526, 0x758f, 0x758e, 0x7619, 0x7b11, 0x7be0, 0x7c2b,
    -    0x7d20, 0x7d39, 0x852c, 0x856d, 0x8607, 0x8a34, 0x900d, 0x9061,
    -    0x90b5, 0x92b7, 0x97f6, 0x9a37, 0x4fd7, 0x5c6c, 0x675f, 0x6d91,
    -    0x7c9f, 0x7e8c, 0x8b16, 0x8d16, 0x901f, 0x5b6b, 0x5dfd, 0x640d,
    -    0x84c0, 0x905c, 0x98e1, 0x7387, 0x5b8b, 0x609a, 0x677e, 0x6dde,
    -    0x8a1f, 0x8aa6, 0x9001, 0x980c, 0x5237, 0xf970, 0x7051, 0x788e,
    -    0x9396, 0x8870, 0x91d7, 0x4fee, 0x53d7, 0x55fd, 0x56da, 0x5782,
    -    0x58fd, 0x5ac2, 0x5b88, 0x5cab, 0x5cc0, 0x5e25, 0x6101, 0x003f,
    -    /* lead byte e2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x620d, 0x624b, 0x6388, 0x641c, 0x6536, 0x6578, 0x6a39,
    -    0x6b8a, 0x6c34, 0x6d19, 0x6f31, 0x71e7, 0x72e9, 0x7378, 0x7407,
    -    0x74b2, 0x7626, 0x7761, 0x79c0, 0x7a57, 0x7aea, 0x7cb9, 0x7d8f,
    -    0x7dac, 0x7e61, 0x7f9e, 0x8129, 0x8331, 0x8490, 0x84da, 0x85ea,
    -    0x8896, 0x8ab0, 0x8b90, 0x8f38, 0x9042, 0x9083, 0x916c, 0x9296,
    -    0x92b9, 0x968b, 0x96a7, 0x96a8, 0x96d6, 0x9700, 0x9808, 0x9996,
    -    0x9ad3, 0x9b1a, 0x53d4, 0x587e, 0x5919, 0x5b70, 0x5bbf, 0x6dd1,
    -    0x6f5a, 0x719f, 0x7421, 0x74b9, 0x8085, 0x83fd, 0x5de1, 0x5f87,
    -    0x5faa, 0x6042, 0x65ec, 0x6812, 0x696f, 0x6a53, 0x6b89, 0x6d35,
    -    0x6df3, 0x73e3, 0x76fe, 0x77ac, 0x7b4d, 0x7d14, 0x8123, 0x821c,
    -    0x8340, 0x84f4, 0x8563, 0x8a62, 0x8ac4, 0x9187, 0x931e, 0x9806,
    -    0x99b4, 0x620c, 0x8853, 0x8ff0, 0x9265, 0x5d07, 0x5d27, 0x003f,
    -    /* lead byte e3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5d69, 0x745f, 0x819d, 0x8768, 0x6fd5, 0x62fe, 0x7fd2,
    -    0x8936, 0x8972, 0x4e1e, 0x4e58, 0x50e7, 0x52dd, 0x5347, 0x627f,
    -    0x6607, 0x7e69, 0x8805, 0x965e, 0x4f8d, 0x5319, 0x5636, 0x59cb,
    -    0x5aa4, 0x5c38, 0x5c4e, 0x5c4d, 0x5e02, 0x5f11, 0x6043, 0x65bd,
    -    0x662f, 0x6642, 0x67be, 0x67f4, 0x731c, 0x77e2, 0x793a, 0x7fc5,
    -    0x8494, 0x84cd, 0x8996, 0x8a66, 0x8a69, 0x8ae1, 0x8c55, 0x8c7a,
    -    0x57f4, 0x5bd4, 0x5f0f, 0x606f, 0x62ed, 0x690d, 0x6b96, 0x6e5c,
    -    0x7184, 0x7bd2, 0x8755, 0x8b58, 0x8efe, 0x98df, 0x98fe, 0x4f38,
    -    0x4f81, 0x4fe1, 0x547b, 0x5a20, 0x5bb8, 0x613c, 0x65b0, 0x6668,
    -    0x71fc, 0x7533, 0x795e, 0x7d33, 0x814e, 0x81e3, 0x8398, 0x85aa,
    -    0x85ce, 0x8703, 0x8a0a, 0x8eab, 0x8f9b, 0xf971, 0x8fc5, 0x5931,
    -    0x5ba4, 0x5be6, 0x6089, 0x5be9, 0x5c0b, 0x5fc3, 0x6c81, 0x003f,
    -    /* lead byte e4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf972, 0x6df1, 0x700b, 0x751a, 0x82af, 0x8af6, 0x4ec0,
    -    0x5341, 0xf973, 0x96d9, 0x6c0f, 0x4e9e, 0x4fc4, 0x5152, 0x555e,
    -    0x5a25, 0x5ce8, 0x6211, 0x7259, 0x82bd, 0x83aa, 0x86fe, 0x8859,
    -    0x8a1d, 0x963f, 0x96c5, 0x9913, 0x9d09, 0x9d5d, 0x580a, 0x5cb3,
    -    0x5dbd, 0x5e44, 0x60e1, 0x6115, 0x63e1, 0x6a02, 0x6e25, 0x9102,
    -    0x9354, 0x984e, 0x9c10, 0x9f77, 0x5b89, 0x5cb8, 0x6309, 0x664f,
    -    0x6848, 0x773c, 0x96c1, 0x978d, 0x9854, 0x9b9f, 0x65a1, 0x8b01,
    -    0x8ecb, 0x95bc, 0x5535, 0x5ca9, 0x5dd6, 0x5eb5, 0x6697, 0x764c,
    -    0x83f4, 0x95c7, 0x58d3, 0x62bc, 0x72ce, 0x9d28, 0x4ef0, 0x592e,
    -    0x600f, 0x663b, 0x6b83, 0x79e7, 0x9d26, 0x5393, 0x54c0, 0x57c3,
    -    0x5d16, 0x611b, 0x66d6, 0x6daf, 0x788d, 0x827e, 0x9698, 0x9744,
    -    0x5384, 0x627c, 0x6396, 0x6db2, 0x7e0a, 0x814b, 0x984d, 0x003f,
    -    /* lead byte e5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6afb, 0x7f4c, 0x9daf, 0x9e1a, 0x4e5f, 0x503b, 0x51b6,
    -    0x591c, 0x60f9, 0x63f6, 0x6930, 0x723a, 0x8036, 0xf974, 0x91ce,
    -    0x5f31, 0xf975, 0xf976, 0x7d04, 0x82e5, 0x846f, 0x84bb, 0x85e5,
    -    0x8e8d, 0xf977, 0x4f6f, 0xf978, 0xf979, 0x58e4, 0x5b43, 0x6059,
    -    0x63da, 0x6518, 0x656d, 0x6698, 0xf97a, 0x694a, 0x6a23, 0x6d0b,
    -    0x7001, 0x716c, 0x75d2, 0x760d, 0x79b3, 0x7a70, 0xf97b, 0x7f8a,
    -    0xf97c, 0x8944, 0xf97d, 0x8b93, 0x91c0, 0x967d, 0xf97e, 0x990a,
    -    0x5704, 0x5fa1, 0x65bc, 0x6f01, 0x7600, 0x79a6, 0x8a9e, 0x99ad,
    -    0x9b5a, 0x9f6c, 0x5104, 0x61b6, 0x6291, 0x6a8d, 0x81c6, 0x5043,
    -    0x5830, 0x5f66, 0x7109, 0x8a00, 0x8afa, 0x5b7c, 0x8616, 0x4ffa,
    -    0x513c, 0x56b4, 0x5944, 0x63a9, 0x6df9, 0x5daa, 0x696d, 0x5186,
    -    0x4e88, 0x4f59, 0xf97f, 0xf980, 0xf981, 0x5982, 0xf982, 0x003f,
    -    /* lead byte e6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf983, 0x6b5f, 0x6c5d, 0xf984, 0x74b5, 0x7916, 0xf985,
    -    0x8207, 0x8245, 0x8339, 0x8f3f, 0x8f5d, 0xf986, 0x9918, 0xf987,
    -    0xf988, 0xf989, 0x4ea6, 0xf98a, 0x57df, 0x5f79, 0x6613, 0xf98b,
    -    0xf98c, 0x75ab, 0x7e79, 0x8b6f, 0xf98d, 0x9006, 0x9a5b, 0x56a5,
    -    0x5827, 0x59f8, 0x5a1f, 0x5bb4, 0xf98e, 0x5ef6, 0xf98f, 0xf990,
    -    0x6350, 0x633b, 0xf991, 0x693d, 0x6c87, 0x6cbf, 0x6d8e, 0x6d93,
    -    0x6df5, 0x6f14, 0xf992, 0x70df, 0x7136, 0x7159, 0xf993, 0x71c3,
    -    0x71d5, 0xf994, 0x784f, 0x786f, 0xf995, 0x7b75, 0x7de3, 0xf996,
    -    0x7e2f, 0xf997, 0x884d, 0x8edf, 0xf998, 0xf999, 0xf99a, 0x925b,
    -    0xf99b, 0x9cf6, 0xf99c, 0xf99d, 0xf99e, 0x6085, 0x6d85, 0xf99f,
    -    0x71b1, 0xf9a0, 0xf9a1, 0x95b1, 0x53ad, 0xf9a2, 0xf9a3, 0xf9a4,
    -    0x67d3, 0xf9a5, 0x708e, 0x7130, 0x7430, 0x8276, 0x82d2, 0x003f,
    -    /* lead byte e7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf9a6, 0x95bb, 0x9ae5, 0x9e7d, 0x66c4, 0xf9a7, 0x71c1,
    -    0x8449, 0xf9a8, 0xf9a9, 0x584b, 0xf9aa, 0xf9ab, 0x5db8, 0x5f71,
    -    0xf9ac, 0x6620, 0x668e, 0x6979, 0x69ae, 0x6c38, 0x6cf3, 0x6e36,
    -    0x6f41, 0x6fda, 0x701b, 0x702f, 0x7150, 0x71df, 0x7370, 0xf9ad,
    -    0x745b, 0xf9ae, 0x74d4, 0x76c8, 0x7a4e, 0x7e93, 0xf9af, 0xf9b0,
    -    0x82f1, 0x8a60, 0x8fce, 0xf9b1, 0x9348, 0xf9b2, 0x9719, 0xf9b3,
    -    0xf9b4, 0x4e42, 0x502a, 0xf9b5, 0x5208, 0x53e1, 0x66f3, 0x6c6d,
    -    0x6fca, 0x730a, 0x777f, 0x7a62, 0x82ae, 0x85dd, 0x8602, 0xf9b6,
    -    0x88d4, 0x8a63, 0x8b7d, 0x8c6b, 0xf9b7, 0x92b3, 0xf9b8, 0x9713,
    -    0x9810, 0x4e94, 0x4f0d, 0x4fc9, 0x50b2, 0x5348, 0x543e, 0x5433,
    -    0x55da, 0x5862, 0x58ba, 0x5967, 0x5a1b, 0x5be4, 0x609f, 0xf9b9,
    -    0x61ca, 0x6556, 0x65ff, 0x6664, 0x68a7, 0x6c5a, 0x6fb3, 0x003f,
    -    /* lead byte e8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x70cf, 0x71ac, 0x7352, 0x7b7d, 0x8708, 0x8aa4, 0x9c32,
    -    0x9f07, 0x5c4b, 0x6c83, 0x7344, 0x7389, 0x923a, 0x6eab, 0x7465,
    -    0x761f, 0x7a69, 0x7e15, 0x860a, 0x5140, 0x58c5, 0x64c1, 0x74ee,
    -    0x7515, 0x7670, 0x7fc1, 0x9095, 0x96cd, 0x9954, 0x6e26, 0x74e6,
    -    0x7aa9, 0x7aaa, 0x81e5, 0x86d9, 0x8778, 0x8a1b, 0x5a49, 0x5b8c,
    -    0x5b9b, 0x68a1, 0x6900, 0x6d63, 0x73a9, 0x7413, 0x742c, 0x7897,
    -    0x7de9, 0x7feb, 0x8118, 0x8155, 0x839e, 0x8c4c, 0x962e, 0x9811,
    -    0x66f0, 0x5f80, 0x65fa, 0x6789, 0x6c6a, 0x738b, 0x502d, 0x5a03,
    -    0x6b6a, 0x77ee, 0x5916, 0x5d6c, 0x5dcd, 0x7325, 0x754f, 0xf9ba,
    -    0xf9bb, 0x50e5, 0x51f9, 0x582f, 0x592d, 0x5996, 0x59da, 0x5be5,
    -    0xf9bc, 0xf9bd, 0x5da2, 0x62d7, 0x6416, 0x6493, 0x64fe, 0xf9be,
    -    0x66dc, 0xf9bf, 0x6a48, 0xf9c0, 0x71ff, 0x7464, 0xf9c1, 0x003f,
    -    /* lead byte e9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7a88, 0x7aaf, 0x7e47, 0x7e5e, 0x8000, 0x8170, 0xf9c2,
    -    0x87ef, 0x8981, 0x8b20, 0x9059, 0xf9c3, 0x9080, 0x9952, 0x617e,
    -    0x6b32, 0x6d74, 0x7e1f, 0x8925, 0x8fb1, 0x4fd1, 0x50ad, 0x5197,
    -    0x52c7, 0x57c7, 0x5889, 0x5bb9, 0x5eb8, 0x6142, 0x6995, 0x6d8c,
    -    0x6e67, 0x6eb6, 0x7194, 0x7462, 0x7528, 0x752c, 0x8073, 0x8338,
    -    0x84c9, 0x8e0a, 0x9394, 0x93de, 0xf9c4, 0x4e8e, 0x4f51, 0x5076,
    -    0x512a, 0x53c8, 0x53cb, 0x53f3, 0x5b87, 0x5bd3, 0x5c24, 0x611a,
    -    0x6182, 0x65f4, 0x725b, 0x7397, 0x7440, 0x76c2, 0x7950, 0x7991,
    -    0x79b9, 0x7d06, 0x7fbd, 0x828b, 0x85d5, 0x865e, 0x8fc2, 0x9047,
    -    0x90f5, 0x91ea, 0x9685, 0x96e8, 0x96e9, 0x52d6, 0x5f67, 0x65ed,
    -    0x6631, 0x682f, 0x715c, 0x7a36, 0x90c1, 0x980a, 0x4e91, 0xf9c5,
    -    0x6a52, 0x6b9e, 0x6f90, 0x7189, 0x8018, 0x82b8, 0x8553, 0x003f,
    -    /* lead byte ea */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x904b, 0x9695, 0x96f2, 0x97fb, 0x851a, 0x9b31, 0x4e90,
    -    0x718a, 0x96c4, 0x5143, 0x539f, 0x54e1, 0x5713, 0x5712, 0x57a3,
    -    0x5a9b, 0x5ac4, 0x5bc3, 0x6028, 0x613f, 0x63f4, 0x6c85, 0x6d39,
    -    0x6e72, 0x6e90, 0x7230, 0x733f, 0x7457, 0x82d1, 0x8881, 0x8f45,
    -    0x9060, 0xf9c6, 0x9662, 0x9858, 0x9d1b, 0x6708, 0x8d8a, 0x925e,
    -    0x4f4d, 0x5049, 0x50de, 0x5371, 0x570d, 0x59d4, 0x5a01, 0x5c09,
    -    0x6170, 0x6690, 0x6e2d, 0x7232, 0x744b, 0x7def, 0x80c3, 0x840e,
    -    0x8466, 0x853f, 0x875f, 0x885b, 0x8918, 0x8b02, 0x9055, 0x97cb,
    -    0x9b4f, 0x4e73, 0x4f91, 0x5112, 0x516a, 0xf9c7, 0x552f, 0x55a9,
    -    0x5b7a, 0x5ba5, 0x5e7c, 0x5e7d, 0x5ebe, 0x60a0, 0x60df, 0x6108,
    -    0x6109, 0x63c4, 0x6538, 0x6709, 0xf9c8, 0x67d4, 0x67da, 0xf9c9,
    -    0x6961, 0x6962, 0x6cb9, 0x6d27, 0xf9ca, 0x6e38, 0xf9cb, 0x003f,
    -    /* lead byte eb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6fe1, 0x7336, 0x7337, 0xf9cc, 0x745c, 0x7531, 0xf9cd,
    -    0x7652, 0xf9ce, 0xf9cf, 0x7dad, 0x81fe, 0x8438, 0x88d5, 0x8a98,
    -    0x8adb, 0x8aed, 0x8e30, 0x8e42, 0x904a, 0x903e, 0x907a, 0x9149,
    -    0x91c9, 0x936e, 0xf9d0, 0xf9d1, 0x5809, 0xf9d2, 0x6bd3, 0x8089,
    -    0x80b2, 0xf9d3, 0xf9d4, 0x5141, 0x596b, 0x5c39, 0xf9d5, 0xf9d6,
    -    0x6f64, 0x73a7, 0x80e4, 0x8d07, 0xf9d7, 0x9217, 0x958f, 0xf9d8,
    -    0xf9d9, 0xf9da, 0xf9db, 0x807f, 0x620e, 0x701c, 0x7d68, 0x878d,
    -    0xf9dc, 0x57a0, 0x6069, 0x6147, 0x6bb7, 0x8abe, 0x9280, 0x96b1,
    -    0x4e59, 0x541f, 0x6deb, 0x852d, 0x9670, 0x97f3, 0x98ee, 0x63d6,
    -    0x6ce3, 0x9091, 0x51dd, 0x61c9, 0x81ba, 0x9df9, 0x4f9d, 0x501a,
    -    0x5100, 0x5b9c, 0x610f, 0x61ff, 0x64ec, 0x6905, 0x6bc5, 0x7591,
    -    0x77e3, 0x7fa9, 0x8264, 0x858f, 0x87fb, 0x8863, 0x8abc, 0x003f,
    -    /* lead byte ec */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8b70, 0x91ab, 0x4e8c, 0x4ee5, 0x4f0a, 0xf9dd, 0xf9de,
    -    0x5937, 0x59e8, 0xf9df, 0x5df2, 0x5f1b, 0x5f5b, 0x6021, 0xf9e0,
    -    0xf9e1, 0xf9e2, 0xf9e3, 0x723e, 0x73e5, 0xf9e4, 0x7570, 0x75cd,
    -    0xf9e5, 0x79fb, 0xf9e6, 0x800c, 0x8033, 0x8084, 0x82e1, 0x8351,
    -    0xf9e7, 0xf9e8, 0x8cbd, 0x8cb3, 0x9087, 0xf9e9, 0xf9ea, 0x98f4,
    -    0x990c, 0xf9eb, 0xf9ec, 0x7037, 0x76ca, 0x7fca, 0x7fcc, 0x7ffc,
    -    0x8b1a, 0x4eba, 0x4ec1, 0x5203, 0x5370, 0xf9ed, 0x54bd, 0x56e0,
    -    0x59fb, 0x5bc5, 0x5f15, 0x5fcd, 0x6e6e, 0xf9ee, 0xf9ef, 0x7d6a,
    -    0x8335, 0xf9f0, 0x8693, 0x8a8d, 0xf9f1, 0x976d, 0x9777, 0xf9f2,
    -    0xf9f3, 0x4e00, 0x4f5a, 0x4f7e, 0x58f9, 0x65e5, 0x6ea2, 0x9038,
    -    0x93b0, 0x99b9, 0x4efb, 0x58ec, 0x598a, 0x59d9, 0x6041, 0xf9f4,
    -    0xf9f5, 0x7a14, 0xf9f6, 0x834f, 0x8cc3, 0x5165, 0x5344, 0x003f,
    -    /* lead byte ed */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf9f7, 0xf9f8, 0xf9f9, 0x4ecd, 0x5269, 0x5b55, 0x82bf,
    -    0x4ed4, 0x523a, 0x54a8, 0x59c9, 0x59ff, 0x5b50, 0x5b57, 0x5b5c,
    -    0x6063, 0x6148, 0x6ecb, 0x7099, 0x716e, 0x7386, 0x74f7, 0x75b5,
    -    0x78c1, 0x7d2b, 0x8005, 0x81ea, 0x8328, 0x8517, 0x85c9, 0x8aee,
    -    0x8cc7, 0x96cc, 0x4f5c, 0x52fa, 0x56bc, 0x65ab, 0x6628, 0x707c,
    -    0x70b8, 0x7235, 0x7dbd, 0x828d, 0x914c, 0x96c0, 0x9d72, 0x5b71,
    -    0x68e7, 0x6b98, 0x6f7a, 0x76de, 0x5c91, 0x66ab, 0x6f5b, 0x7bb4,
    -    0x7c2a, 0x8836, 0x96dc, 0x4e08, 0x4ed7, 0x5320, 0x5834, 0x58bb,
    -    0x58ef, 0x596c, 0x5c07, 0x5e33, 0x5e84, 0x5f35, 0x638c, 0x66b2,
    -    0x6756, 0x6a1f, 0x6aa3, 0x6b0c, 0x6f3f, 0x7246, 0xf9fa, 0x7350,
    -    0x748b, 0x7ae0, 0x7ca7, 0x8178, 0x81df, 0x81e7, 0x838a, 0x846c,
    -    0x8523, 0x8594, 0x85cf, 0x88dd, 0x8d13, 0x91ac, 0x9577, 0x003f,
    -    /* lead byte ee */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x969c, 0x518d, 0x54c9, 0x5728, 0x5bb0, 0x624d, 0x6750,
    -    0x683d, 0x6893, 0x6e3d, 0x6ed3, 0x707d, 0x7e21, 0x88c1, 0x8ca1,
    -    0x8f09, 0x9f4b, 0x9f4e, 0x722d, 0x7b8f, 0x8acd, 0x931a, 0x4f47,
    -    0x4f4e, 0x5132, 0x5480, 0x59d0, 0x5e95, 0x62b5, 0x6775, 0x696e,
    -    0x6a17, 0x6cae, 0x6e1a, 0x72d9, 0x732a, 0x75bd, 0x7bb8, 0x7d35,
    -    0x82e7, 0x83f9, 0x8457, 0x85f7, 0x8a5b, 0x8caf, 0x8e87, 0x9019,
    -    0x90b8, 0x96ce, 0x9f5f, 0x52e3, 0x540a, 0x5ae1, 0x5bc2, 0x6458,
    -    0x6575, 0x6ef4, 0x72c4, 0xf9fb, 0x7684, 0x7a4d, 0x7b1b, 0x7c4d,
    -    0x7e3e, 0x7fdf, 0x837b, 0x8b2b, 0x8cca, 0x8d64, 0x8de1, 0x8e5f,
    -    0x8fea, 0x8ff9, 0x9069, 0x93d1, 0x4f43, 0x4f7a, 0x50b3, 0x5168,
    -    0x5178, 0x524d, 0x526a, 0x5861, 0x587c, 0x5960, 0x5c08, 0x5c55,
    -    0x5edb, 0x609b, 0x6230, 0x6813, 0x6bbf, 0x6c08, 0x6fb1, 0x003f,
    -    /* lead byte ef */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x714e, 0x7420, 0x7530, 0x7538, 0x7551, 0x7672, 0x7b4c,
    -    0x7b8b, 0x7bad, 0x7bc6, 0x7e8f, 0x8a6e, 0x8f3e, 0x8f49, 0x923f,
    -    0x9293, 0x9322, 0x942b, 0x96fb, 0x985a, 0x986b, 0x991e, 0x5207,
    -    0x622a, 0x6298, 0x6d59, 0x7664, 0x7aca, 0x7bc0, 0x7d76, 0x5360,
    -    0x5cbe, 0x5e97, 0x6f38, 0x70b9, 0x7c98, 0x9711, 0x9b8e, 0x9ede,
    -    0x63a5, 0x647a, 0x8776, 0x4e01, 0x4e95, 0x4ead, 0x505c, 0x5075,
    -    0x5448, 0x59c3, 0x5b9a, 0x5e40, 0x5ead, 0x5ef7, 0x5f81, 0x60c5,
    -    0x633a, 0x653f, 0x6574, 0x65cc, 0x6676, 0x6678, 0x67fe, 0x6968,
    -    0x6a89, 0x6b63, 0x6c40, 0x6dc0, 0x6de8, 0x6e1f, 0x6e5e, 0x701e,
    -    0x70a1, 0x738e, 0x73fd, 0x753a, 0x775b, 0x7887, 0x798e, 0x7a0b,
    -    0x7a7d, 0x7cbe, 0x7d8e, 0x8247, 0x8a02, 0x8aea, 0x8c9e, 0x912d,
    -    0x914a, 0x91d8, 0x9266, 0x92cc, 0x9320, 0x9706, 0x9756, 0x003f,
    -    /* lead byte f0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x975c, 0x9802, 0x9f0e, 0x5236, 0x5291, 0x557c, 0x5824,
    -    0x5e1d, 0x5f1f, 0x608c, 0x63d0, 0x68af, 0x6fdf, 0x796d, 0x7b2c,
    -    0x81cd, 0x85ba, 0x88fd, 0x8af8, 0x8e44, 0x918d, 0x9664, 0x969b,
    -    0x973d, 0x984c, 0x9f4a, 0x4fce, 0x5146, 0x51cb, 0x52a9, 0x5632,
    -    0x5f14, 0x5f6b, 0x63aa, 0x64cd, 0x65e9, 0x6641, 0x66fa, 0x66f9,
    -    0x671d, 0x689d, 0x68d7, 0x69fd, 0x6f15, 0x6f6e, 0x7167, 0x71e5,
    -    0x722a, 0x74aa, 0x773a, 0x7956, 0x795a, 0x79df, 0x7a20, 0x7a95,
    -    0x7c97, 0x7cdf, 0x7d44, 0x7e70, 0x8087, 0x85fb, 0x86a4, 0x8a54,
    -    0x8abf, 0x8d99, 0x8e81, 0x9020, 0x906d, 0x91e3, 0x963b, 0x96d5,
    -    0x9ce5, 0x65cf, 0x7c07, 0x8db3, 0x93c3, 0x5b58, 0x5c0a, 0x5352,
    -    0x62d9, 0x731d, 0x5027, 0x5b97, 0x5f9e, 0x60b0, 0x616b, 0x68d5,
    -    0x6dd9, 0x742e, 0x7a2e, 0x7d42, 0x7d9c, 0x7e31, 0x816b, 0x003f,
    -    /* lead byte f1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8e2a, 0x8e35, 0x937e, 0x9418, 0x4f50, 0x5750, 0x5de6,
    -    0x5ea7, 0x632b, 0x7f6a, 0x4e3b, 0x4f4f, 0x4f8f, 0x505a, 0x59dd,
    -    0x80c4, 0x546a, 0x5468, 0x55fe, 0x594f, 0x5b99, 0x5dde, 0x5eda,
    -    0x665d, 0x6731, 0x67f1, 0x682a, 0x6ce8, 0x6d32, 0x6e4a, 0x6f8d,
    -    0x70b7, 0x73e0, 0x7587, 0x7c4c, 0x7d02, 0x7d2c, 0x7da2, 0x821f,
    -    0x86db, 0x8a3b, 0x8a85, 0x8d70, 0x8e8a, 0x8f33, 0x9031, 0x914e,
    -    0x9152, 0x9444, 0x99d0, 0x7af9, 0x7ca5, 0x4fca, 0x5101, 0x51c6,
    -    0x57c8, 0x5bef, 0x5cfb, 0x6659, 0x6a3d, 0x6d5a, 0x6e96, 0x6fec,
    -    0x710c, 0x756f, 0x7ae3, 0x8822, 0x9021, 0x9075, 0x96cb, 0x99ff,
    -    0x8301, 0x4e2d, 0x4ef2, 0x8846, 0x91cd, 0x537d, 0x6adb, 0x696b,
    -    0x6c41, 0x847a, 0x589e, 0x618e, 0x66fe, 0x62ef, 0x70dd, 0x7511,
    -    0x75c7, 0x7e52, 0x84b8, 0x8b49, 0x8d08, 0x4e4b, 0x53ea, 0x003f,
    -    /* lead byte f2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x54ab, 0x5730, 0x5740, 0x5fd7, 0x6301, 0x6307, 0x646f,
    -    0x652f, 0x65e8, 0x667a, 0x679d, 0x67b3, 0x6b62, 0x6c60, 0x6c9a,
    -    0x6f2c, 0x77e5, 0x7825, 0x7949, 0x7957, 0x7d19, 0x80a2, 0x8102,
    -    0x81f3, 0x829d, 0x82b7, 0x8718, 0x8a8c, 0xf9fc, 0x8d04, 0x8dbe,
    -    0x9072, 0x76f4, 0x7a19, 0x7a37, 0x7e54, 0x8077, 0x5507, 0x55d4,
    -    0x5875, 0x632f, 0x6422, 0x6649, 0x664b, 0x686d, 0x699b, 0x6b84,
    -    0x6d25, 0x6eb1, 0x73cd, 0x7468, 0x74a1, 0x755b, 0x75b9, 0x76e1,
    -    0x771e, 0x778b, 0x79e6, 0x7e09, 0x7e1d, 0x81fb, 0x852f, 0x8897,
    -    0x8a3a, 0x8cd1, 0x8eeb, 0x8fb0, 0x9032, 0x93ad, 0x9663, 0x9673,
    -    0x9707, 0x4f84, 0x53f1, 0x59ea, 0x5ac9, 0x5e19, 0x684e, 0x74c6,
    -    0x75be, 0x79e9, 0x7a92, 0x81a3, 0x86ed, 0x8cea, 0x8dcc, 0x8fed,
    -    0x659f, 0x6715, 0xf9fd, 0x57f7, 0x6f57, 0x7ddd, 0x8f2f, 0x003f,
    -    /* lead byte f3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x93f6, 0x96c6, 0x5fb5, 0x61f2, 0x6f84, 0x4e14, 0x4f98,
    -    0x501f, 0x53c9, 0x55df, 0x5d6f, 0x5dee, 0x6b21, 0x6b64, 0x78cb,
    -    0x7b9a, 0xf9fe, 0x8e49, 0x8eca, 0x906e, 0x6349, 0x643e, 0x7740,
    -    0x7a84, 0x932f, 0x947f, 0x9f6a, 0x64b0, 0x6faf, 0x71e6, 0x74a8,
    -    0x74da, 0x7ac4, 0x7c12, 0x7e82, 0x7cb2, 0x7e98, 0x8b9a, 0x8d0a,
    -    0x947d, 0x9910, 0x994c, 0x5239, 0x5bdf, 0x64e6, 0x672d, 0x7d2e,
    -    0x50ed, 0x53c3, 0x5879, 0x6158, 0x6159, 0x61fa, 0x65ac, 0x7ad9,
    -    0x8b92, 0x8b96, 0x5009, 0x5021, 0x5275, 0x5531, 0x5a3c, 0x5ee0,
    -    0x5f70, 0x6134, 0x655e, 0x660c, 0x6636, 0x66a2, 0x69cd, 0x6ec4,
    -    0x6f32, 0x7316, 0x7621, 0x7a93, 0x8139, 0x8259, 0x83d6, 0x84bc,
    -    0x50b5, 0x57f0, 0x5bc0, 0x5be8, 0x5f69, 0x63a1, 0x7826, 0x7db5,
    -    0x83dc, 0x8521, 0x91c7, 0x91f5, 0x518a, 0x67f5, 0x7b56, 0x003f,
    -    /* lead byte f4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8cac, 0x51c4, 0x59bb, 0x60bd, 0x8655, 0x501c, 0xf9ff,
    -    0x5254, 0x5c3a, 0x617d, 0x621a, 0x62d3, 0x64f2, 0x65a5, 0x6ecc,
    -    0x7620, 0x810a, 0x8e60, 0x965f, 0x96bb, 0x4edf, 0x5343, 0x5598,
    -    0x5929, 0x5ddd, 0x64c5, 0x6cc9, 0x6dfa, 0x7394, 0x7a7f, 0x821b,
    -    0x85a6, 0x8ce4, 0x8e10, 0x9077, 0x91e7, 0x95e1, 0x9621, 0x97c6,
    -    0x51f8, 0x54f2, 0x5586, 0x5fb9, 0x64a4, 0x6f88, 0x7db4, 0x8f1f,
    -    0x8f4d, 0x9435, 0x50c9, 0x5c16, 0x6cbe, 0x6dfb, 0x751b, 0x77bb,
    -    0x7c3d, 0x7c64, 0x8a79, 0x8ac2, 0x581e, 0x59be, 0x5e16, 0x6377,
    -    0x7252, 0x758a, 0x776b, 0x8adc, 0x8cbc, 0x8f12, 0x5ef3, 0x6674,
    -    0x6df8, 0x807d, 0x83c1, 0x8acb, 0x9751, 0x9bd6, 0xfa00, 0x5243,
    -    0x66ff, 0x6d95, 0x6eef, 0x7de0, 0x8ae6, 0x902e, 0x905e, 0x9ad4,
    -    0x521d, 0x527f, 0x54e8, 0x6194, 0x6284, 0x62db, 0x68a2, 0x003f,
    -    /* lead byte f5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6912, 0x695a, 0x6a35, 0x7092, 0x7126, 0x785d, 0x7901,
    -    0x790e, 0x79d2, 0x7a0d, 0x8096, 0x8278, 0x82d5, 0x8349, 0x8549,
    -    0x8c82, 0x8d85, 0x9162, 0x918b, 0x91ae, 0x4fc3, 0x56d1, 0x71ed,
    -    0x77d7, 0x8700, 0x89f8, 0x5bf8, 0x5fd6, 0x6751, 0x90a8, 0x53e2,
    -    0x585a, 0x5bf5, 0x60a4, 0x6181, 0x6460, 0x7e3d, 0x8070, 0x8525,
    -    0x9283, 0x64ae, 0x50ac, 0x5d14, 0x6700, 0x589c, 0x62bd, 0x63a8,
    -    0x690e, 0x6978, 0x6a1e, 0x6e6b, 0x76ba, 0x79cb, 0x82bb, 0x8429,
    -    0x8acf, 0x8da8, 0x8ffd, 0x9112, 0x914b, 0x919c, 0x9310, 0x9318,
    -    0x939a, 0x96db, 0x9a36, 0x9c0d, 0x4e11, 0x755c, 0x795d, 0x7afa,
    -    0x7b51, 0x7bc9, 0x7e2e, 0x84c4, 0x8e59, 0x8e74, 0x8ef8, 0x9010,
    -    0x6625, 0x693f, 0x7443, 0x51fa, 0x672e, 0x9edc, 0x5145, 0x5fe0,
    -    0x6c96, 0x87f2, 0x885d, 0x8877, 0x60b4, 0x81b5, 0x8403, 0x003f,
    -    /* lead byte f6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8d05, 0x53d6, 0x5439, 0x5634, 0x5a36, 0x5c31, 0x708a,
    -    0x7fe0, 0x805a, 0x8106, 0x81ed, 0x8da3, 0x9189, 0x9a5f, 0x9df2,
    -    0x5074, 0x4ec4, 0x53a0, 0x60fb, 0x6e2c, 0x5c64, 0x4f88, 0x5024,
    -    0x55e4, 0x5cd9, 0x5e5f, 0x6065, 0x6894, 0x6cbb, 0x6dc4, 0x71be,
    -    0x75d4, 0x75f4, 0x7661, 0x7a1a, 0x7a49, 0x7dc7, 0x7dfb, 0x7f6e,
    -    0x81f4, 0x86a9, 0x8f1c, 0x96c9, 0x99b3, 0x9f52, 0x5247, 0x52c5,
    -    0x98ed, 0x89aa, 0x4e03, 0x67d2, 0x6f06, 0x4fb5, 0x5be2, 0x6795,
    -    0x6c88, 0x6d78, 0x741b, 0x7827, 0x91dd, 0x937c, 0x87c4, 0x79e4,
    -    0x7a31, 0x5feb, 0x4ed6, 0x54a4, 0x553e, 0x58ae, 0x59a5, 0x60f0,
    -    0x6253, 0x62d6, 0x6736, 0x6955, 0x8235, 0x9640, 0x99b1, 0x99dd,
    -    0x502c, 0x5353, 0x5544, 0x577c, 0xfa01, 0x6258, 0xfa02, 0x64e2,
    -    0x666b, 0x67dd, 0x6fc1, 0x6fef, 0x7422, 0x7438, 0x8a17, 0x003f,
    -    /* lead byte f7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9438, 0x5451, 0x5606, 0x5766, 0x5f48, 0x619a, 0x6b4e,
    -    0x7058, 0x70ad, 0x7dbb, 0x8a95, 0x596a, 0x812b, 0x63a2, 0x7708,
    -    0x803d, 0x8caa, 0x5854, 0x642d, 0x69bb, 0x5b95, 0x5e11, 0x6e6f,
    -    0xfa03, 0x8569, 0x514c, 0x53f0, 0x592a, 0x6020, 0x614b, 0x6b86,
    -    0x6c70, 0x6cf0, 0x7b1e, 0x80ce, 0x82d4, 0x8dc6, 0x90b0, 0x98b1,
    -    0xfa04, 0x64c7, 0x6fa4, 0x6491, 0x6504, 0x514e, 0x5410, 0x571f,
    -    0x8a0e, 0x615f, 0x6876, 0xfa05, 0x75db, 0x7b52, 0x7d71, 0x901a,
    -    0x5806, 0x69cc, 0x817f, 0x892a, 0x9000, 0x9839, 0x5078, 0x5957,
    -    0x59ac, 0x6295, 0x900f, 0x9b2a, 0x615d, 0x7279, 0x95d6, 0x5761,
    -    0x5a46, 0x5df4, 0x628a, 0x64ad, 0x64fa, 0x6777, 0x6ce2, 0x6d3e,
    -    0x722c, 0x7436, 0x7834, 0x7f77, 0x82ad, 0x8ddb, 0x9817, 0x5224,
    -    0x5742, 0x677f, 0x7248, 0x74e3, 0x8ca9, 0x8fa6, 0x9211, 0x003f,
    -    /* lead byte f8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x962a, 0x516b, 0x53ed, 0x634c, 0x4f69, 0x5504, 0x6096,
    -    0x6557, 0x6c9b, 0x6d7f, 0x724c, 0x72fd, 0x7a17, 0x8987, 0x8c9d,
    -    0x5f6d, 0x6f8e, 0x70f9, 0x81a8, 0x610e, 0x4fbf, 0x504f, 0x6241,
    -    0x7247, 0x7bc7, 0x7de8, 0x7fe9, 0x904d, 0x97ad, 0x9a19, 0x8cb6,
    -    0x576a, 0x5e73, 0x67b0, 0x840d, 0x8a55, 0x5420, 0x5b16, 0x5e63,
    -    0x5ee2, 0x5f0a, 0x6583, 0x80ba, 0x853d, 0x9589, 0x965b, 0x4f48,
    -    0x5305, 0x530d, 0x530f, 0x5486, 0x54fa, 0x5703, 0x5e03, 0x6016,
    -    0x629b, 0x62b1, 0x6355, 0xfa06, 0x6ce1, 0x6d66, 0x75b1, 0x7832,
    -    0x80de, 0x812f, 0x82de, 0x8461, 0x84b2, 0x888d, 0x8912, 0x900b,
    -    0x92ea, 0x98fd, 0x9b91, 0x5e45, 0x66b4, 0x66dd, 0x7011, 0x7206,
    -    0xfa07, 0x4ff5, 0x527d, 0x5f6a, 0x6153, 0x6753, 0x6a19, 0x6f02,
    -    0x74e2, 0x7968, 0x8868, 0x8c79, 0x98c7, 0x98c4, 0x9a43, 0x003f,
    -    /* lead byte f9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x54c1, 0x7a1f, 0x6953, 0x8af7, 0x8c4a, 0x98a8, 0x99ae,
    -    0x5f7c, 0x62ab, 0x75b2, 0x76ae, 0x88ab, 0x907f, 0x9642, 0x5339,
    -    0x5f3c, 0x5fc5, 0x6ccc, 0x73cc, 0x7562, 0x758b, 0x7b46, 0x82fe,
    -    0x999d, 0x4e4f, 0x903c, 0x4e0b, 0x4f55, 0x53a6, 0x590f, 0x5ec8,
    -    0x6630, 0x6cb3, 0x7455, 0x8377, 0x8766, 0x8cc0, 0x9050, 0x971e,
    -    0x9c15, 0x58d1, 0x5b78, 0x8650, 0x8b14, 0x9db4, 0x5bd2, 0x6068,
    -    0x608d, 0x65f1, 0x6c57, 0x6f22, 0x6fa3, 0x701a, 0x7f55, 0x7ff0,
    -    0x9591, 0x9592, 0x9650, 0x97d3, 0x5272, 0x8f44, 0x51fd, 0x542b,
    -    0x54b8, 0x5563, 0x558a, 0x6abb, 0x6db5, 0x7dd8, 0x8266, 0x929c,
    -    0x9677, 0x9e79, 0x5408, 0x54c8, 0x76d2, 0x86e4, 0x95a4, 0x95d4,
    -    0x965c, 0x4ea2, 0x4f09, 0x59ee, 0x5ae6, 0x5df7, 0x6052, 0x6297,
    -    0x676d, 0x6841, 0x6c86, 0x6e2f, 0x7f38, 0x809b, 0x822a, 0x003f,
    -    /* lead byte fa */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfa08, 0xfa09, 0x9805, 0x4ea5, 0x5055, 0x54b3, 0x5793,
    -    0x595a, 0x5b69, 0x5bb3, 0x61c8, 0x6977, 0x6d77, 0x7023, 0x87f9,
    -    0x89e3, 0x8a72, 0x8ae7, 0x9082, 0x99ed, 0x9ab8, 0x52be, 0x6838,
    -    0x5016, 0x5e78, 0x674f, 0x8347, 0x884c, 0x4eab, 0x5411, 0x56ae,
    -    0x73e6, 0x9115, 0x97ff, 0x9909, 0x9957, 0x9999, 0x5653, 0x589f,
    -    0x865b, 0x8a31, 0x61b2, 0x6af6, 0x737b, 0x8ed2, 0x6b47, 0x96aa,
    -    0x9a57, 0x5955, 0x7200, 0x8d6b, 0x9769, 0x4fd4, 0x5cf4, 0x5f26,
    -    0x61f8, 0x665b, 0x6ceb, 0x70ab, 0x7384, 0x73b9, 0x73fe, 0x7729,
    -    0x774d, 0x7d43, 0x7d62, 0x7e23, 0x8237, 0x8852, 0xfa0a, 0x8ce2,
    -    0x9249, 0x986f, 0x5b51, 0x7a74, 0x8840, 0x9801, 0x5acc, 0x4fe0,
    -    0x5354, 0x593e, 0x5cfd, 0x633e, 0x6d79, 0x72f9, 0x8105, 0x8107,
    -    0x83a2, 0x92cf, 0x9830, 0x4ea8, 0x5144, 0x5211, 0x578b, 0x003f,
    -    /* lead byte fb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5f62, 0x6cc2, 0x6ece, 0x7005, 0x7050, 0x70af, 0x7192,
    -    0x73e9, 0x7469, 0x834a, 0x87a2, 0x8861, 0x9008, 0x90a2, 0x93a3,
    -    0x99a8, 0x516e, 0x5f57, 0x60e0, 0x6167, 0x66b3, 0x8559, 0x8e4a,
    -    0x91af, 0x978b, 0x4e4e, 0x4e92, 0x547c, 0x58d5, 0x58fa, 0x597d,
    -    0x5cb5, 0x5f27, 0x6236, 0x6248, 0x660a, 0x6667, 0x6beb, 0x6d69,
    -    0x6dcf, 0x6e56, 0x6ef8, 0x6f94, 0x6fe0, 0x6fe9, 0x705d, 0x72d0,
    -    0x7425, 0x745a, 0x74e0, 0x7693, 0x795c, 0x7cca, 0x7e1e, 0x80e1,
    -    0x82a6, 0x846b, 0x84bf, 0x864e, 0x865f, 0x8774, 0x8b77, 0x8c6a,
    -    0x93ac, 0x9800, 0x9865, 0x60d1, 0x6216, 0x9177, 0x5a5a, 0x660f,
    -    0x6df7, 0x6e3e, 0x743f, 0x9b42, 0x5ffd, 0x60da, 0x7b0f, 0x54c4,
    -    0x5f18, 0x6c5e, 0x6cd3, 0x6d2a, 0x70d8, 0x7d05, 0x8679, 0x8a0c,
    -    0x9d3b, 0x5316, 0x548c, 0x5b05, 0x6a3a, 0x706b, 0x7575, 0x003f,
    -    /* lead byte fc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x798d, 0x79be, 0x82b1, 0x83ef, 0x8a71, 0x8b41, 0x8ca8,
    -    0x9774, 0xfa0b, 0x64f4, 0x652b, 0x78ba, 0x78bb, 0x7a6b, 0x4e38,
    -    0x559a, 0x5950, 0x5ba6, 0x5e7b, 0x60a3, 0x63db, 0x6b61, 0x6665,
    -    0x6853, 0x6e19, 0x7165, 0x74b0, 0x7d08, 0x9084, 0x9a69, 0x9c25,
    -    0x6d3b, 0x6ed1, 0x733e, 0x8c41, 0x95ca, 0x51f0, 0x5e4c, 0x5fa8,
    -    0x604d, 0x60f6, 0x6130, 0x614c, 0x6643, 0x6644, 0x69a5, 0x6cc1,
    -    0x6e5f, 0x6ec9, 0x6f62, 0x714c, 0x749c, 0x7687, 0x7bc1, 0x7c27,
    -    0x8352, 0x8757, 0x9051, 0x968d, 0x9ec3, 0x532f, 0x56de, 0x5efb,
    -    0x5f8a, 0x6062, 0x6094, 0x61f7, 0x6666, 0x6703, 0x6a9c, 0x6dee,
    -    0x6fae, 0x7070, 0x736a, 0x7e6a, 0x81be, 0x8334, 0x86d4, 0x8aa8,
    -    0x8cc4, 0x5283, 0x7372, 0x5b96, 0x6a6b, 0x9404, 0x54ee, 0x5686,
    -    0x5b5d, 0x6548, 0x6585, 0x66c9, 0x689f, 0x6d8d, 0x6dc6, 0x003f,
    -    /* lead byte fd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x723b, 0x80b4, 0x9175, 0x9a4d, 0x4faf, 0x5019, 0x539a,
    -    0x540e, 0x543c, 0x5589, 0x55c5, 0x5e3f, 0x5f8c, 0x673d, 0x7166,
    -    0x73dd, 0x9005, 0x52db, 0x52f3, 0x5864, 0x58ce, 0x7104, 0x718f,
    -    0x71fb, 0x85b0, 0x8a13, 0x6688, 0x85a8, 0x55a7, 0x6684, 0x714a,
    -    0x8431, 0x5349, 0x5599, 0x6bc1, 0x5f59, 0x5fbd, 0x63ee, 0x6689,
    -    0x7147, 0x8af1, 0x8f1d, 0x9ebe, 0x4f11, 0x643a, 0x70cb, 0x7566,
    -    0x8667, 0x6064, 0x8b4e, 0x9df8, 0x5147, 0x51f6, 0x5308, 0x6d36,
    -    0x80f8, 0x9ed1, 0x6615, 0x6b23, 0x7098, 0x75d5, 0x5403, 0x5c79,
    -    0x7d07, 0x8a16, 0x6b20, 0x6b3d, 0x6b46, 0x5438, 0x6070, 0x6d3d,
    -    0x7fd5, 0x8208, 0x50d6, 0x51de, 0x559c, 0x566b, 0x56cd, 0x59ec,
    -    0x5b09, 0x5e0c, 0x6199, 0x6198, 0x6231, 0x665e, 0x66e6, 0x7199,
    -    0x71b9, 0x71ba, 0x72a7, 0x79a7, 0x7a00, 0x7fb2, 0x8a70, 0x003f
    -};
    -
    -static const unsigned char cp2uni_leadbytes[256] =
    -{
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
    -    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
    -    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
    -    0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
    -    0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
    -    0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
    -    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    -    0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
    -    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
    -    0x49, 0x01, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x01, 0x00
    -};
    -
    -static const unsigned short uni2cp_low[39168] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0020, 0xa2ae, 0x0063, 0x004c, 0xa2b4, 0x0059, 0x007c, 0xa1d7,
    -    0xa1a7, 0x0063, 0xa8a3, 0xa1b6, 0x003f, 0xa1a9, 0xa2e7, 0xa1aa,
    -    0xa1c6, 0xa1be, 0xa9f7, 0xa9f8, 0xa2a5, 0xa5ec, 0xa2d2, 0xa1a4,
    -    0xa2ac, 0xa9f6, 0xa8ac, 0xa1b7, 0xa8f9, 0xa8f6, 0xa8fa, 0xa2af,
    -    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0xa8a1, 0x0043,
    -    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    -    0xa8a2, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1bf,
    -    0xa8aa, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0xa8ad, 0xa9ac,
    -    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0xa9a1, 0x0063,
    -    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    -    0xa9a3, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1c0,
    -    0xa9aa, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0xa9ad, 0x0079,
    -    /* 0x0100 .. 0x01ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    -    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    -    0xa8a2, 0xa9a2, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0xa8a4, 0xa9a4,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x0049, 0xa9a5, 0xa8a6, 0xa9a6, 0x004a, 0x006a, 0x004b, 0x006b,
    -    0xa9a7, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0xa8a8,
    -    0xa9a8, 0xa8a9, 0xa9a9, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    -    0x006e, 0xa9b0, 0xa8af, 0xa9af, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0xa8ab, 0xa9ab, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0xa8ae, 0xa9ae,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    -    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    -    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    -    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    -    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    -    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa6a2, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    -    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    -    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0xa8a1, 0xa9a1, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    -    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    -    0x004e, 0x006e, 0x0041, 0x0061, 0xa8a1, 0xa9a1, 0xa8aa, 0xa9aa,
    -    /* 0x0200 .. 0x02ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    -    0x0079, 0xa2a5, 0xa2a9, 0xa1ae, 0xa1af, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa2a7,
    -    0x0027, 0xa1aa, 0xa2a5, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,
    -    0xa2b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2a8, 0xa2ab, 0xa2aa, 0xa2ad, 0x007e, 0xa2a9, 0x003f, 0x003f,
    -    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0300 .. 0x03ff */
    -    0x0060, 0xa2a5, 0x005e, 0x007e, 0xa1aa, 0xa1aa, 0xa2a8, 0xa2ab,
    -    0xa1a7, 0x003f, 0xa2aa, 0xa2a9, 0xa2a7, 0x003f, 0x0022, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2ac,
    -    0xa2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0060, 0xa2a5, 0x003f, 0x003f, 0xa1a7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a5, 0xa1a7, 0xa5c1, 0xa1a4,
    -    0xa5c5, 0xa5c7, 0xa5c9, 0x003f, 0xa5cf, 0x003f, 0xa5d4, 0xa5d8,
    -    0xa5e9, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,
    -    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,
    -    0xa5d0, 0xa5d1, 0x003f, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6,
    -    0xa5d7, 0xa5d8, 0xa5c9, 0xa5d4, 0xa5e1, 0xa5e5, 0xa5e7, 0xa5e9,
    -    0xa5f4, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,
    -    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,
    -    0xa5f0, 0xa5f1, 0x003f, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6,
    -    0xa5f7, 0xa5f8, 0xa5e9, 0xa5f4, 0xa5ef, 0xa5f4, 0xa5f8, 0x003f,
    -    0xa5e2, 0xa5e8, 0xa5d4, 0xa5d4, 0xa5d4, 0xa5f5, 0xa5f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa5ea, 0xa5f1, 0x003f, 0x003f, 0xa5c8, 0xa5e5, 0x003f, 0x003f,
    -    0x003f, 0xa5d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0400 .. 0x04ff */
    -    0xaca6, 0xaca7, 0x003f, 0xaca4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xacac, 0xacaa, 0xacb5, 0x003f,
    -    0xaca1, 0xaca2, 0xaca3, 0xaca4, 0xaca5, 0xaca6, 0xaca8, 0xaca9,
    -    0xacaa, 0xacab, 0xacac, 0xacad, 0xacae, 0xacaf, 0xacb0, 0xacb1,
    -    0xacb2, 0xacb3, 0xacb4, 0xacb5, 0xacb6, 0xacb7, 0xacb8, 0xacb9,
    -    0xacba, 0xacbb, 0xacbc, 0xacbd, 0xacbe, 0xacbf, 0xacc0, 0xacc1,
    -    0xacd1, 0xacd2, 0xacd3, 0xacd4, 0xacd5, 0xacd6, 0xacd8, 0xacd9,
    -    0xacda, 0xacdb, 0xacdc, 0xacdd, 0xacde, 0xacdf, 0xace0, 0xace1,
    -    0xace2, 0xace3, 0xace4, 0xace5, 0xace6, 0xace7, 0xace8, 0xace9,
    -    0xacea, 0xaceb, 0xacec, 0xaced, 0xacee, 0xacef, 0xacf0, 0xacf1,
    -    0xacd6, 0xacd7, 0x003f, 0xacd4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xacdc, 0xacda, 0xace5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaca8, 0xacd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xaca1, 0xacd1, 0xaca1, 0xacd1, 0x003f, 0x003f, 0xaca6, 0xacd6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xaca8, 0xacd8, 0xaca9, 0xacd9,
    -    0x003f, 0x003f, 0xacaa, 0xacda, 0xacaa, 0xacda, 0xacb0, 0xace0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xacbf, 0xacef, 0xacb5, 0xace5,
    -    0xacb5, 0xace5, 0xacb5, 0xace5, 0xacb9, 0xace9, 0x003f, 0x003f,
    -    0xacbd, 0xaced, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0xa8a1, 0x0042, 0x003f,
    -    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    -    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    -    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    -    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    -    0x006d, 0xa9af, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    -    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa5e2, 0xa5e3, 0xa5e4,
    -    0xa5f5, 0xa5f6, 0x0069, 0x0072, 0x0075, 0x0076, 0xa5e2, 0xa5e3,
    -    0xa5f1, 0xa5f5, 0xa5f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    -    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    -    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    -    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    -    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    -    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    -    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    -    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    -    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    -    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    -    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1,
    -    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1,
    -    0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0x003f, 0x003f,
    -    0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0x003f, 0x003f,
    -    0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7,
    -    0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7,
    -    0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9,
    -    0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9,
    -    0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0x003f, 0x003f,
    -    0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0x003f, 0x003f,
    -    0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4,
    -    0x003f, 0xa5d4, 0x003f, 0xa5d4, 0x003f, 0xa5d4, 0x003f, 0xa5d4,
    -    0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8,
    -    0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8,
    -    0xa5e1, 0xa5e1, 0xa5e5, 0xa5e5, 0xa5e7, 0xa5e7, 0xa5e9, 0xa5e9,
    -    0xa5ef, 0xa5ef, 0xa5f4, 0xa5f4, 0xa5f8, 0xa5f8, 0x003f, 0x003f,
    -    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1,
    -    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1,
    -    0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7,
    -    0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7,
    -    0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8,
    -    0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8,
    -    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0x003f, 0xa5e1, 0xa5e1,
    -    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0x003f, 0xa5e9, 0x003f,
    -    0x003f, 0xa1a7, 0xa5e7, 0xa5e7, 0xa5e7, 0x003f, 0xa5e7, 0xa5e7,
    -    0xa5c5, 0xa5c5, 0xa5c7, 0xa5c7, 0xa5c7, 0x003f, 0x003f, 0x003f,
    -    0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0x003f, 0x003f, 0xa5e9, 0xa5e9,
    -    0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f1, 0xa5f1, 0xa5f4, 0xa5f4,
    -    0xa5d4, 0xa5d4, 0xa5d4, 0xa5d4, 0xa5d1, 0xa1a7, 0xa1a7, 0x0060,
    -    0x003f, 0x003f, 0xa5f8, 0xa5f8, 0xa5f8, 0x003f, 0xa5f8, 0xa5f8,
    -    0xa5cf, 0xa5cf, 0xa5d8, 0xa5d8, 0xa5d8, 0xa2a5, 0x003f, 0x003f,
    -    /* 0x2000 .. 0x20ff */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x002d, 0x002d, 0x003f, 0xa1aa, 0xa1aa, 0xa1aa, 0x003f, 0x005f,
    -    0xa1ae, 0xa1af, 0x002c, 0xa1ae, 0xa1b0, 0xa1b1, 0x002c, 0x003f,
    -    0xa2d3, 0xa2d4, 0x003f, 0x003f, 0x002e, 0xa1a5, 0xa1a6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0xa2b6, 0x003f, 0xa1c7, 0xa1c8, 0x003f, 0xa1ae, 0x003f, 0x003f,
    -    0x003f, 0xa1b4, 0xa1b5, 0xa1d8, 0x0021, 0x003f, 0xa1aa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2aa, 0x0069, 0x003f, 0x003f, 0xa9f9, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0xa9fa,
    -    0x0030, 0xa9fb, 0xa9fc, 0xa9fd, 0xa9fe, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa2e6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2100 .. 0x21ff */
    -    0x003f, 0x003f, 0x0043, 0xa1c9, 0x003f, 0x003f, 0x003f, 0x0045,
    -    0x003f, 0xa2b5, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0xa9a4,
    -    0x0049, 0x0049, 0x004c, 0xa7a4, 0x003f, 0x004e, 0xa2e0, 0x003f,
    -    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    -    0x003f, 0xa2e5, 0xa2e2, 0x003f, 0x005a, 0x003f, 0xa7d9, 0x003f,
    -    0x005a, 0x003f, 0x004b, 0xa1ca, 0x0042, 0x0043, 0x0065, 0x0065,
    -    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa5e3, 0xa5c3, 0xa5d0,
    -    0xa2b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    -    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa8f7, 0xa8f8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa8fb, 0xa8fc, 0xa8fd, 0xa8fe, 0x003f,
    -    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,
    -    0xa5b8, 0xa5b9, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    -    0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7, 0xa5a8,
    -    0xa5a9, 0xa5aa, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1e7, 0xa1e8, 0xa1e6, 0xa1e9, 0xa1ea, 0xa2d5, 0xa2d8, 0xa2d6,
    -    0xa2d9, 0xa2d7, 0xa1e7, 0xa1e6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1ea, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a2, 0xa2a1,
    -    0x003f, 0x003f, 0xa2a1, 0x003f, 0xa2a2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2200 .. 0x22ff */
    -    0xa2a3, 0x003f, 0xa1d3, 0xa2a4, 0xa2a4, 0xa8aa, 0x003f, 0xa1d4,
    -    0xa1f4, 0xa1f4, 0x003f, 0xa1f5, 0xa1f5, 0x003f, 0x003f, 0xa2b3,
    -    0x003f, 0xa2b2, 0x002d, 0xa1be, 0x003f, 0x002f, 0x005c, 0x002a,
    -    0xa2aa, 0x003f, 0xa1ee, 0x003f, 0x003f, 0xa1f0, 0xa1c4, 0x004c,
    -    0xa1d0, 0x003f, 0x003f, 0x007c, 0x007c, 0xa1ab, 0xa1ab, 0xa1fc,
    -    0xa1fd, 0xa1fb, 0xa1fa, 0xa1f2, 0xa1f3, 0x003f, 0xa2b1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1c5, 0xa1f1, 0x003a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0xa1ef, 0x003f, 0x003f,
    -    0x003f, 0xa1ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1c1, 0xa1d5, 0xa1d5, 0xa1d5, 0xa1c2, 0xa1c3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1ec, 0xa1ed, 0x003f, 0x003f, 0x003c, 0x003e,
    -    0xa1c2, 0xa1c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1f8, 0xa1f9, 0xa1f8, 0xa1f9, 0xa1f6, 0xa1f7,
    -    0xa1f6, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1d1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1a4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2300 .. 0x23ff */
    -    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa1b4, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2400 .. 0x24ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa8e7, 0xa8e8, 0xa8e9, 0xa8ea, 0xa8eb, 0xa8ec, 0xa8ed, 0xa8ee,
    -    0xa8ef, 0xa8f0, 0xa8f1, 0xa8f2, 0xa8f3, 0xa8f4, 0xa8f5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa9e7, 0xa9e8, 0xa9e9, 0xa9ea,
    -    0xa9eb, 0xa9ec, 0xa9ed, 0xa9ee, 0xa9ef, 0xa9f0, 0xa9f1, 0xa9f2,
    -    0xa9f3, 0xa9f4, 0xa9f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa9cd, 0xa9ce, 0xa9cf, 0xa9d0,
    -    0xa9d1, 0xa9d2, 0xa9d3, 0xa9d4, 0xa9d5, 0xa9d6, 0xa9d7, 0xa9d8,
    -    0xa9d9, 0xa9da, 0xa9db, 0xa9dc, 0xa9dd, 0xa9de, 0xa9df, 0xa9e0,
    -    0xa9e1, 0xa9e2, 0xa9e3, 0xa9e4, 0xa9e5, 0xa9e6, 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,
    -    0xa8cd, 0xa8ce, 0xa8cf, 0xa8d0, 0xa8d1, 0xa8d2, 0xa8d3, 0xa8d4,
    -    0xa8d5, 0xa8d6, 0xa8d7, 0xa8d8, 0xa8d9, 0xa8da, 0xa8db, 0xa8dc,
    -    0xa8dd, 0xa8de, 0xa8df, 0xa8e0, 0xa8e1, 0xa8e2, 0xa8e3, 0xa8e4,
    -    0xa8e5, 0xa8e6, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2500 .. 0x25ff */
    -    0xa6a1, 0xa6ac, 0xa6a2, 0xa6ad, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0x002d, 0x002d, 0x007c, 0x007c, 0xa6a3, 0xa6c8, 0xa6c7, 0xa6ae,
    -    0xa6a4, 0xa6c2, 0xa6c1, 0xa6af, 0xa6a6, 0xa6c6, 0xa6c5, 0xa6b1,
    -    0xa6a5, 0xa6c4, 0xa6c3, 0xa6b0, 0xa6a7, 0xa6bc, 0xa6c9, 0xa6ca,
    -    0xa6b7, 0xa6cb, 0xa6cc, 0xa6b2, 0xa6a9, 0xa6be, 0xa6cd, 0xa6ce,
    -    0xa6b9, 0xa6cf, 0xa6d0, 0xa6b4, 0xa6a8, 0xa6d1, 0xa6d2, 0xa6b8,
    -    0xa6bd, 0xa6d3, 0xa6d4, 0xa6b3, 0xa6aa, 0xa6d5, 0xa6d6, 0xa6ba,
    -    0xa6bf, 0xa6d7, 0xa6d8, 0xa6b5, 0xa6ab, 0xa6d9, 0xa6da, 0xa6bb,
    -    0xa6db, 0xa6dc, 0xa6c0, 0xa6dd, 0xa6de, 0xa6df, 0xa6e0, 0xa6e1,
    -    0xa6e2, 0xa6e3, 0xa6e4, 0xa6b6, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    -    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
    -    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,
    -    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1e1, 0xa1e0, 0x003f, 0xa2c3, 0xa2c7, 0xa2c8, 0xa2cb, 0xa2ca,
    -    0xa2c9, 0xa2cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1e3, 0xa1e2, 0x003f, 0x003f, 0xa2ba, 0xa2b9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e5, 0xa1e4, 0x003f, 0x003f,
    -    0xa2b8, 0xa2b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1df, 0xa1de,
    -    0xa2c2, 0x003f, 0x003f, 0xa1db, 0x003f, 0x003f, 0xa1dd, 0xa1dc,
    -    0xa2c4, 0xa2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1db,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2600 .. 0x26ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1da, 0xa1d9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2cf, 0xa2ce,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa2d0, 0x003f, 0xa2d1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1cf, 0x003f, 0xa1ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2bc, 0xa2bd, 0x003f, 0xa2c0, 0xa2bb, 0xa2be, 0x003f, 0xa2bf,
    -    0xa2cd, 0xa2db, 0xa2dc, 0x003f, 0xa2dd, 0xa2da, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2e00 .. 0x2eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9bd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2f00 .. 0x2fff */
    -    0xece9, 0x003f, 0x003f, 0x003f, 0xebe0, 0x003f, 0xeca3, 0x003f,
    -    0xecd1, 0x003f, 0xecfd, 0xf8a2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3ef, 0xd5f4, 0x003f, 0xdde2, 0x003f, 0x003f, 0xe4a8,
    -    0xdcd4, 0x003f, 0x003f, 0x003f, 0xe9d1, 0xcfa2, 0x003f, 0xf7cf,
    -    0xdecd, 0x003f, 0x003f, 0xe0aa, 0xd3de, 0xd2b3, 0xedad, 0x003f,
    -    0xf5bb, 0xe1b3, 0x003f, 0xe3b9, 0x003f, 0xdfa3, 0x003f, 0xcdef,
    -    0xd0f9, 0xcbee, 0xcace, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcfe1, 0x003f, 0x003f, 0x003f, 0xe3fd, 0xcdfc, 0xfbc2, 0xe2a2,
    -    0xf2a8, 0x003f, 0xd9fe, 0xd4e0, 0xd0c5, 0xdbb0, 0xd9e9, 0xeced,
    -    0xe8d8, 0xeac5, 0xd9ca, 0xfde2, 0xf2ad, 0x003f, 0x003f, 0xd9ec,
    -    0xddef, 0xd9be, 0xe4ab, 0x003f, 0xe2a9, 0xfbfd, 0xf0d0, 0xddab,
    -    0xfda1, 0x003f, 0xf8b8, 0xe4b3, 0xe9da, 0xccb3, 0xfadc, 0xe8ac,
    -    0xcdfe, 0xe8bf, 0xcaf6, 0xdfe6, 0xe9c4, 0xefa3, 0xf9b5, 0x003f,
    -    0x003f, 0xdbdc, 0xf9ab, 0xd9a9, 0xd9cd, 0xd9c3, 0xe3c5, 0xe0b4,
    -    0xe3c6, 0x003f, 0xfca2, 0xfaeb, 0xd8a1, 0xf1d3, 0xdab7, 0x003f,
    -    0xddae, 0x003f, 0xe5cf, 0xe9e2, 0xd6d5, 0xecbb, 0x003f, 0xecbc,
    -    0xebd3, 0xebbf, 0xe3ed, 0xedbb, 0xf2b8, 0xcfbf, 0xe0df, 0xf4bf,
    -    0xf1c7, 0xcadd, 0xdfe4, 0xf5ac, 0x003f, 0x003f, 0xfaec, 0xfabc,
    -    0xebfd, 0x003f, 0xccb8, 0xcac7, 0xe5eb, 0xcddb, 0xd4e7, 0xe3ce,
    -    0x003f, 0xf8af, 0xeee5, 0xf1cb, 0xf0eb, 0xe3f3, 0xf3b3, 0xe3f4,
    -    0xf2e3, 0x003f, 0xebe9, 0xebb7, 0x003f, 0xd7ec, 0xd1d1, 0xedfe,
    -    0xdaa6, 0xddbd, 0x003f, 0x003f, 0xe9eb, 0xf4ec, 0xdeaa, 0xd8fc,
    -    0xfad4, 0xeadf, 0x003f, 0xebe5, 0xfaed, 0xf9a6, 0xdeab, 0xe3dd,
    -    0xe2cf, 0xfac5, 0xd8a9, 0xcde9, 0xcdd4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd0a1, 0xe5e0, 0xf0e8, 0xd6dd, 0xd6e3, 0xd8ea, 0xd8ab,
    -    0xfcdc, 0xe0a8, 0xfdd9, 0x003f, 0x003f, 0xf0a3, 0xcdd5, 0xe0a9,
    -    0xdeac, 0xf0ba, 0xf6cd, 0xd7a3, 0xcfcf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3000 .. 0x30ff */
    -    0xa1a1, 0xa1a2, 0xa1a3, 0xa1a8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9, 0xa1ba, 0xa1bb,
    -    0xa1bc, 0xa1bd, 0x003f, 0xa1eb, 0xa1b2, 0xa1b3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa1b0, 0xa1b1, 0x002c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4a8, 0xecfe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaaa1, 0xaaa2, 0xaaa3, 0xaaa4, 0xaaa5, 0xaaa6, 0xaaa7,
    -    0xaaa8, 0xaaa9, 0xaaaa, 0xaaab, 0xaaac, 0xaaad, 0xaaae, 0xaaaf,
    -    0xaab0, 0xaab1, 0xaab2, 0xaab3, 0xaab4, 0xaab5, 0xaab6, 0xaab7,
    -    0xaab8, 0xaab9, 0xaaba, 0xaabb, 0xaabc, 0xaabd, 0xaabe, 0xaabf,
    -    0xaac0, 0xaac1, 0xaac2, 0xaac3, 0xaac4, 0xaac5, 0xaac6, 0xaac7,
    -    0xaac8, 0xaac9, 0xaaca, 0xaacb, 0xaacc, 0xaacd, 0xaace, 0xaacf,
    -    0xaad0, 0xaad1, 0xaad2, 0xaad3, 0xaad4, 0xaad5, 0xaad6, 0xaad7,
    -    0xaad8, 0xaad9, 0xaada, 0xaadb, 0xaadc, 0xaadd, 0xaade, 0xaadf,
    -    0xaae0, 0xaae1, 0xaae2, 0xaae3, 0xaae4, 0xaae5, 0xaae6, 0xaae7,
    -    0xaae8, 0xaae9, 0xaaea, 0xaaeb, 0xaaec, 0xaaed, 0xaaee, 0xaaef,
    -    0xaaf0, 0xaaf1, 0xaaf2, 0xaaf3, 0xaaa6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaba1, 0xaba2, 0xaba3, 0xaba4, 0xaba5, 0xaba6, 0xaba7,
    -    0xaba8, 0xaba9, 0xabaa, 0xabab, 0xabac, 0xabad, 0xabae, 0xabaf,
    -    0xabb0, 0xabb1, 0xabb2, 0xabb3, 0xabb4, 0xabb5, 0xabb6, 0xabb7,
    -    0xabb8, 0xabb9, 0xabba, 0xabbb, 0xabbc, 0xabbd, 0xabbe, 0xabbf,
    -    0xabc0, 0xabc1, 0xabc2, 0xabc3, 0xabc4, 0xabc5, 0xabc6, 0xabc7,
    -    0xabc8, 0xabc9, 0xabca, 0xabcb, 0xabcc, 0xabcd, 0xabce, 0xabcf,
    -    0xabd0, 0xabd1, 0xabd2, 0xabd3, 0xabd4, 0xabd5, 0xabd6, 0xabd7,
    -    0xabd8, 0xabd9, 0xabda, 0xabdb, 0xabdc, 0xabdd, 0xabde, 0xabdf,
    -    0xabe0, 0xabe1, 0xabe2, 0xabe3, 0xabe4, 0xabe5, 0xabe6, 0xabe7,
    -    0xabe8, 0xabe9, 0xabea, 0xabeb, 0xabec, 0xabed, 0xabee, 0xabef,
    -    0xabf0, 0xabf1, 0xabf2, 0xabf3, 0xabf4, 0xabf5, 0xabf6, 0xabef,
    -    0xabf0, 0xabf1, 0xabf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3100 .. 0x31ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    -    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    -    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    -    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,
    -    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,
    -    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,
    -    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,
    -    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,
    -    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,
    -    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,
    -    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4f4, 0xa4f5, 0xa4f6, 0xa4f7,
    -    0xa4f8, 0xa4f9, 0xa4fa, 0xa4fb, 0xa4fc, 0xa4fd, 0xa4fe, 0x003f,
    -    0x003f, 0x003f, 0xece9, 0xeca3, 0xdfb2, 0xdecc, 0xdfbe, 0xf1e9,
    -    0xf9bb, 0xcba3, 0xebe0, 0xdcb0, 0xefcb, 0xf4b8, 0xf2a2, 0xecd1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3200 .. 0x32ff */
    -    0xa9b1, 0xa9b2, 0xa9b3, 0xa9b4, 0xa9b5, 0xa9b6, 0xa9b7, 0xa9b8,
    -    0xa9b9, 0xa9ba, 0xa9bb, 0xa9bc, 0xa9bd, 0xa9be, 0xa9bf, 0xa9c0,
    -    0xa9c1, 0xa9c2, 0xa9c3, 0xa9c4, 0xa9c5, 0xa9c6, 0xa9c7, 0xa9c8,
    -    0xa9c9, 0xa9ca, 0xa9cb, 0xa9cc, 0xa2df, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa8b1, 0xa8b2, 0xa8b3, 0xa8b4, 0xa8b5, 0xa8b6, 0xa8b7, 0xa8b8,
    -    0xa8b9, 0xa8ba, 0xa8bb, 0xa8bc, 0xa8bd, 0xa8be, 0xa8bf, 0xa8c0,
    -    0xa8c1, 0xa8c2, 0xa8c3, 0xa8c4, 0xa8c5, 0xa8c6, 0xa8c7, 0xa8c8,
    -    0xa8c9, 0xa8ca, 0xa8cb, 0xa8cc, 0x003f, 0x003f, 0x003f, 0xa2de,
    -    0xece9, 0xeca3, 0xdfb2, 0xdecc, 0xe7e9, 0xd7bf, 0xf6d2, 0xf8a2,
    -    0xcefa, 0xe4a8, 0xeac5, 0xfbfd, 0xe2a9, 0xd9ca, 0xd1d1, 0xf7cf,
    -    0xeced, 0xf1bb, 0xeaf3, 0xdee4, 0xd9a3, 0xf7e5, 0xeeaf, 0xf5e6,
    -    0x003f, 0xddfa, 0xd1fb, 0xd2b3, 0xeeea, 0xe9d0, 0xecd4, 0xf1bc,
    -    0xfaa3, 0xfdcc, 0x003f, 0xefe1, 0xdfbe, 0xf1e9, 0xf9bb, 0xf1a7,
    -    0xe9d3, 0x003f, 0xf0f3, 0x003f, 0xcaf8, 0xd0ea, 0xedc0, 0xfaf0,
    -    0xe5a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xaba2, 0xaba4, 0xaba6, 0xaba8, 0xabaa, 0xabab, 0xabad, 0xabaf,
    -    0xabb1, 0xabb3, 0xabb5, 0xabb7, 0xabb9, 0xabbb, 0xabbd, 0xabbf,
    -    0xabc1, 0xabc4, 0xabc6, 0xabc8, 0xabca, 0xabcb, 0xabcc, 0xabcd,
    -    0xabce, 0xabcf, 0xabd2, 0xabd5, 0xabd8, 0xabdb, 0xabde, 0xabdf,
    -    0xabe0, 0xabe1, 0xabe2, 0xabe4, 0xabe6, 0xabe8, 0xabe9, 0xabea,
    -    0xabeb, 0xabec, 0xabed, 0xabef, 0xabf0, 0xabf1, 0xabf2, 0x003f,
    -    /* 0x3300 .. 0x33ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa7c9, 0xa7ca, 0xa7cb, 0xa7cc, 0xa7cd, 0x003f, 0x003f, 0x003f,
    -    0xa7ba, 0xa7bb, 0xa7dc, 0xa7dd, 0xa7de, 0xa7b6, 0xa7b7, 0xa7b8,
    -    0xa7d4, 0xa7d5, 0xa7d6, 0xa7d7, 0xa7d8, 0xa7a1, 0xa7a2, 0xa7a3,
    -    0xa7a5, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,
    -    0xa7b2, 0xa7b3, 0xa7b4, 0xa7a7, 0xa7a8, 0xa7a9, 0xa7aa, 0xa7bd,
    -    0xa7be, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e1, 0xa7e2, 0xa7e3,
    -    0xa7bf, 0xa7c0, 0xa7c1, 0xa7c2, 0xa7c3, 0xa7c4, 0xa7c5, 0xa7c6,
    -    0xa7c7, 0xa7c8, 0xa7ce, 0xa7cf, 0xa7d0, 0xa7d1, 0xa7d2, 0xa7d3,
    -    0xa7da, 0xa7db, 0xa2e3, 0xa7ec, 0xa7a6, 0xa7e0, 0xa7ef, 0xa2e1,
    -    0xa7bc, 0xa7ed, 0xa7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0xa7b9,
    -    0xa7ea, 0x003f, 0x003f, 0xa7eb, 0x003f, 0x003f, 0xa7df, 0x003f,
    -    0xa2e4, 0x003f, 0x003f, 0xa7e4, 0xa7ee, 0xa7e9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x4e00 .. 0x4eff */
    -    0xece9, 0xefcb, 0x003f, 0xf6d2, 0x003f, 0x003f, 0x003f, 0xd8b2,
    -    0xeddb, 0xdfb2, 0xdfbe, 0xf9bb, 0x003f, 0xdcf4, 0x003f, 0x003f,
    -    0x003f, 0xf5e4, 0x003f, 0x003f, 0xf3a6, 0xdde0, 0xe1a6, 0x003f,
    -    0xcef8, 0xdcb0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3aa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcdfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfcaf, 0xd3a1, 0x003f, 0xf1ab, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7d1, 0xd2ac, 0x003f, 0xcef9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf1fd, 0x003f, 0xdebf, 0xfbba, 0xf9b9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xced2, 0x003f,
    -    0xe3ab, 0xebe0, 0x003f, 0x003f, 0x003f, 0xcefa, 0xcbf7, 0xe5a5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcae1, 0x003f, 0xd4cc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeae1, 0x003f, 0x003f, 0xdce3, 0xdfad,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbeb, 0x003f,
    -    0x003f, 0x003f, 0xd5af, 0x003f, 0x003f, 0x003f, 0xd6f5, 0x003f,
    -    0xe5f8, 0x003f, 0x003f, 0xdec0, 0xeca3, 0x003f, 0xe9cd, 0x003f,
    -    0xeaa7, 0xe9f6, 0xfbbb, 0x003f, 0xe7e9, 0xefcc, 0x003f, 0x003f,
    -    0xd0e6, 0x003f, 0x003f, 0xdec1, 0x003f, 0x003f, 0xe4ac, 0x003f,
    -    0x003f, 0xd8cc, 0xf9f1, 0x003f, 0xcedf, 0xfaa4, 0xe6b2, 0x003f,
    -    0xfafb, 0x003f, 0x003f, 0xfabd, 0xccc8, 0xefcd, 0xd5d5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a2, 0x003f,
    -    0x003f, 0x003f, 0xecd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4a7, 0xecd2, 0x003f, 0x003f, 0xf6b1, 0x003f, 0x003f, 0xcefb,
    -    0x003f, 0x003f, 0xd0d1, 0xcbbf, 0x003f, 0xeda4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeda8, 0xdec2, 0xf6e2, 0xeddc,
    -    0xdcf5, 0xe0b9, 0x003f, 0x003f, 0x003f, 0xd4ce, 0x003f, 0xf4b5,
    -    0x003f, 0x003f, 0x003f, 0xd3db, 0xd6b5, 0xeca4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4e6, 0x003f, 0xf1ea, 0x003f, 0x003f, 0x003f, 0xcbec, 0xcbc0,
    -    0x003f, 0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x4f00 .. 0x4fff */
    -    0x003f, 0xd0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf9f2, 0xeca5, 0xd0df, 0x003f, 0xe7ea, 0xd0eb, 0xdcd1,
    -    0xdbe9, 0xfdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbd7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdae1, 0x003f, 0xd6b6, 0x003f,
    -    0xe3df, 0x003f, 0xdec3, 0x003f, 0xdec4, 0xcaa1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeeec, 0x003f, 0x003f, 0xd3a3, 0xeeb7,
    -    0xf8cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xeac8, 0xeeb8, 0xf1ac,
    -    0xf1a5, 0xe9ce, 0x003f, 0x003f, 0x003f, 0xf9bc, 0x003f, 0x003f,
    -    0x003f, 0xe5f9, 0xecea, 0xddd6, 0xedc2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ba,
    -    0xdbd8, 0x003f, 0x003f, 0xcaa2, 0x003f, 0x003f, 0xd1cd, 0x003f,
    -    0x003f, 0x003f, 0xeeed, 0x003f, 0x003f, 0x003f, 0xeceb, 0xdec5,
    -    0x003f, 0xe3e0, 0x003f, 0xcac9, 0xf2e9, 0x003f, 0xd5ce, 0x003f,
    -    0xf6b6, 0x003f, 0xcec2, 0xd6c7, 0x003f, 0xe3b4, 0x003f, 0xf1ad,
    -    0x003f, 0xeae2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7c2, 0x003f,
    -    0xf3a7, 0x003f, 0x003f, 0xcdea, 0x003f, 0xebee, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9b2, 0xfda5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6d5, 0xd5e2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8b5,
    -    0x003f, 0x003f, 0xccf5, 0xf5b5, 0xe4ad, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe7eb, 0xf1d5, 0x003f, 0x003f, 0x003f, 0xf0bb, 0x003f,
    -    0x003f, 0xe9b5, 0x003f, 0xccc9, 0xfad5, 0x003f, 0x003f, 0xe1d4,
    -    0x003f, 0x003f, 0xd7d6, 0x003f, 0x003f, 0xdcc1, 0x003f, 0xdec6,
    -    0xfaef, 0xe3e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f3, 0xdcf6,
    -    0x003f, 0xcefc, 0x003f, 0xdbc4, 0x003f, 0xf8f1, 0x003f, 0x003f,
    -    0xdce4, 0x003f, 0xe5ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5000 .. 0x50ff */
    -    0x003f, 0x003f, 0xdcb1, 0x003f, 0x003f, 0x003f, 0xd5d6, 0x003f,
    -    0x003f, 0xf3da, 0x003f, 0xcbc1, 0x003f, 0xdbc3, 0x003f, 0x003f,
    -    0x003f, 0xd9fa, 0xd3ee, 0x003f, 0x003f, 0x003f, 0xfab8, 0x003f,
    -    0x003f, 0xfda6, 0xebef, 0x003f, 0xf4a6, 0x003f, 0xccca, 0xf3a8,
    -    0x003f, 0xf3db, 0x003f, 0xdba7, 0xf6b7, 0x003f, 0xcfe6, 0xf0f2,
    -    0xcbda, 0x003f, 0xe7d2, 0xd7c3, 0xf6f0, 0xe8de, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5a6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5e7, 0x003f, 0x003f, 0x003f, 0xcaa3,
    -    0xcca7, 0xeac9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8b6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfaa5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1ae, 0x003f, 0xefce, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbed, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6b0, 0xefcf, 0xe9cf, 0x003f,
    -    0xf7de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xced3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcf7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba8, 0x003f, 0x003f,
    -    0x003f, 0xcbf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdfa1, 0xdde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf5ca, 0xe9b6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7ec, 0xeeee, 0x003f, 0xf3f0, 0x003f, 0xdfbf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcccb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c1, 0x003f, 0x003f,
    -    0x003f, 0xf4d2, 0xe0ba, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfc0,
    -    0x003f, 0xcee0, 0x003f, 0x003f, 0x003f, 0xdcd2, 0xfdea, 0x003f,
    -    0x003f, 0x003f, 0xd6f6, 0x003f, 0x003f, 0x003f, 0xeaca, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e9, 0x003f, 0xe3ac,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3d0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcaa4, 0x003f, 0xdbf8, 0x003f, 0x003f, 0x003f, 0xdec7,
    -    /* 0x5100 .. 0x51ff */
    -    0xebf0, 0xf1d6, 0x003f, 0x003f, 0xe5e2, 0x003f, 0xcccc, 0x003f,
    -    0x003f, 0xcbfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeae3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfc1,
    -    0x003f, 0xd6ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeeb9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5e3,
    -    0x003f, 0x003f, 0xd1d3, 0x003f, 0xe5f0, 0x003f, 0x003f, 0x003f,
    -    0xe8b4, 0xebc3, 0x003f, 0xeaaa, 0xfafc, 0xf5f6, 0xf0bc, 0xfdd4,
    -    0xe0bb, 0xcec3, 0x003f, 0xd0ba, 0xf7ba, 0xd8f3, 0xf7cd, 0x003f,
    -    0x003f, 0x003f, 0xe4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd4df, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd0e7, 0x003f, 0x003f, 0xecfd, 0x003f, 0xd2ae,
    -    0xeeef, 0xd5d7, 0xeae4, 0xf8a2, 0xcdeb, 0xd7bf, 0xfbb1, 0x003f,
    -    0x003f, 0xcdec, 0x003f, 0x003f, 0x003f, 0xdcb2, 0xd0ec, 0xcefd,
    -    0xeef0, 0x003f, 0x003f, 0x003f, 0xccc2, 0x003f, 0x003f, 0x003f,
    -    0xd0ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f7, 0x003f,
    -    0x003f, 0x003f, 0xf3fc, 0x003f, 0x003f, 0xeea2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd9b3, 0x003f, 0x003f, 0xd8f4, 0x003f, 0xe9b7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xceae, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8f1, 0x003f, 0xd4cf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a7, 0xd5d2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf4a2, 0x003f, 0xf1d7, 0x003f,
    -    0x003f, 0xd5d8, 0x003f, 0xf0bd, 0xd7d0, 0xd4d0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd7cf, 0xebea, 0xfdeb, 0x003f,
    -    0x003f, 0xdbed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfcc5, 0xcbc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd5, 0x003f,
    -    0xf4c8, 0xe8ea, 0xf5f3, 0x003f, 0x003f, 0xf9de, 0x003f, 0x003f,
    -    /* 0x5200 .. 0x52ff */
    -    0xd3ef, 0x003f, 0x003f, 0xecd3, 0x003f, 0x003f, 0xddc2, 0xefb7,
    -    0xe7d4, 0x003f, 0xcaca, 0x003f, 0x003f, 0x003f, 0xd9fb, 0x003f,
    -    0x003f, 0xfafd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6aa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf7f7, 0xdcac, 0x003f, 0x003f,
    -    0x003f, 0xd7d7, 0xdfa2, 0x003f, 0x003f, 0x003f, 0xcebe, 0x003f,
    -    0xd3f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0a4, 0xe1ec,
    -    0xcfe7, 0xf3cb, 0xeda9, 0xcabe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf4ef, 0x003f, 0x003f, 0x003f, 0xf6ce,
    -    0x003f, 0x003f, 0xdefb, 0xd0bb, 0xd5b7, 0xeef1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf4a8, 0x003f, 0xdcf8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcba7, 0x003f, 0xdace, 0x003f, 0x003f,
    -    0x003f, 0xe0e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeda5, 0xeef2, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcf9,
    -    0x003f, 0x003f, 0xf9dc, 0x003f, 0x003f, 0xf3dc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8f2, 0x003f, 0xf4f9,
    -    0x003f, 0x003f, 0x003f, 0xfcf1, 0x003f, 0x003f, 0x003f, 0xd0bc,
    -    0xdbf9, 0xd7b1, 0x003f, 0x003f, 0x003f, 0xcbfc, 0x003f, 0x003f,
    -    0x003f, 0xf0a5, 0xcbfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5f4, 0x003f, 0x003f, 0x003f, 0xcded,
    -    0xcaa5, 0x003f, 0x003f, 0xd6ab, 0xd0c2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf0be, 0xd2bd, 0xcca4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfab6, 0x003f,
    -    0x003f, 0xcccd, 0x003f, 0xdafa, 0x003f, 0xf6cf, 0x003f, 0xe9b8,
    -    0x003f, 0xd8f5, 0x003f, 0x003f, 0x003f, 0xccce, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd7cd, 0x003f, 0x003f, 0xd4d1, 0xe9ed, 0x003f,
    -    0xcaeb, 0xd9e2, 0x003f, 0xfdb2, 0x003f, 0xe3ad, 0xd6cc, 0xd9b4,
    -    0x003f, 0x003f, 0xe1a7, 0xeed3, 0xd0c3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfdb3, 0x003f, 0xd5e4, 0x003f, 0x003f,
    -    0xcfe8, 0x003f, 0xedc3, 0xd0b2, 0x003f, 0x003f, 0xcefe, 0xdaa8,
    -    /* 0x5300 .. 0x53ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d0, 0x003f, 0x003f,
    -    0xfdd6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d1, 0x003f, 0xf8d2,
    -    0xdcd3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdde2, 0xfbf9, 0xddc1,
    -    0x003f, 0xe3b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeddd, 0xcec4, 0x003f, 0xcba1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdde3, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcdd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf9af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2fb,
    -    0xcfa1, 0xe4a8, 0x003f, 0xf4b6, 0xecfe, 0x003f, 0x003f, 0xe3ae,
    -    0xe7ed, 0xfdc1, 0xdae2, 0x003f, 0x003f, 0xd8b3, 0x003f, 0x003f,
    -    0x003f, 0xdde4, 0xf0ef, 0xf6f1, 0xfaf0, 0x003f, 0x003f, 0xd1f5,
    -    0x003f, 0x003f, 0xdacf, 0x003f, 0xdcd4, 0x003f, 0xdca6, 0x003f,
    -    0xefbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcecf, 0x003f,
    -    0xe0d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d6,
    -    0xecd4, 0xeacb, 0x003f, 0x003f, 0xcabf, 0xd5b0, 0x003f, 0xcfe9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ed, 0x003f, 0xcccf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4ed, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd7d8, 0x003f, 0xfda7, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaab,
    -    0xf6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xcff0, 0xf9bd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcbdb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf3d1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9d1, 0xf3a9, 0xd0e0, 0xe9d2, 0x003f, 0xdae3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2d2, 0x003f, 0xf6a2, 0xe1f4,
    -    0x003f, 0x003f, 0x003f, 0xdae4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe7d5, 0xf5bf, 0xcfa2, 0xcdaf, 0xcfa3, 0x003f, 0x003f,
    -    0x003f, 0xcdb0, 0xf1fe, 0xd0a3, 0xe1af, 0xf8a3, 0x003f, 0xcaa6,
    -    0xf7bb, 0xf2ea, 0xdec8, 0xe9d3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdec9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5400 .. 0x54ff */
    -    0x003f, 0x003f, 0x003f, 0xfdde, 0xcac0, 0x003f, 0x003f, 0x003f,
    -    0xf9ea, 0xd1ce, 0xeed4, 0x003f, 0xd4d2, 0xd9a3, 0xfda8, 0xd7d9,
    -    0xf7ce, 0xfabe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcfd6, 0x003f, 0xd7f0, 0x003f, 0xebe1,
    -    0xf8c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcfa, 0x003f,
    -    0x003f, 0xddc3, 0x003f, 0xf9df, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe7ef, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfde5, 0xf6a3, 0x003f, 0xd9fc, 0xfda9, 0x003f, 0xe7ee, 0x003f,
    -    0x003f, 0x003f, 0xd5e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefd0, 0x003f, 0xcdb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf7a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf1b2, 0x003f, 0xf1b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdb2, 0x003f, 0xdaab, 0x003f, 0xcaa7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3e2, 0xfbbc, 0xd9a4, 0x003f, 0x003f,
    -    0xeeba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfbfa, 0x003f, 0xcfa4, 0x003f,
    -    0xdcfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6e3, 0x003f, 0x003f, 0x003f,
    -    0xedaa, 0x003f, 0x003f, 0xf2a1, 0xcee1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfaa6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf9e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xecd6, 0x003f, 0x003f,
    -    0xe4ee, 0xf9a1, 0x003f, 0x003f, 0xfbef, 0x003f, 0x003f, 0x003f,
    -    0xf9eb, 0xeea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeaac, 0x003f, 0x003f, 0x003f, 0xcaa8, 0x003f, 0x003f,
    -    0xf4fa, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd6, 0xfcf6, 0x003f,
    -    0x003f, 0x003f, 0xf4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf8d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5500 .. 0x55ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf8a6, 0x003f, 0xdeca, 0xf2c6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7da, 0x003f,
    -    0xd3d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeae6,
    -    0x003f, 0xf3dd, 0x003f, 0x003f, 0x003f, 0xe4da, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6f2, 0x003f, 0xdfc2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9fd,
    -    0x003f, 0x003f, 0x003f, 0xccf6, 0x003f, 0x003f, 0xd3ba, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4af, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9e1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf0a6, 0x003f, 0x003f, 0x003f,
    -    0xcbd3, 0x003f, 0x003f, 0x003f, 0xe0bc, 0x003f, 0xf4ca, 0xd4fa,
    -    0x003f, 0xfdaa, 0xf9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf4b7, 0xfdc2, 0xfcb0, 0x003f, 0xfdec, 0xcae2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdbd,
    -    0x003f, 0xeae7, 0xdfc3, 0xd1d2, 0xcee2, 0x003f, 0xd3a4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdab, 0x003f, 0xdfe0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf2c7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7f0, 0x003f, 0xd0ee, 0x003f, 0x003f, 0xf3aa,
    -    0x003f, 0x003f, 0x003f, 0xdecb, 0xf6b8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f5, 0xf1b3, 0x003f,
    -    /* 0x5600 .. 0x56ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7a3, 0x003f,
    -    0x003f, 0xcaa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcfa5, 0x003f, 0x003f, 0xdfc4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1b0,
    -    0x003f, 0x003f, 0xf0bf, 0x003f, 0xf6a4, 0x003f, 0xe3b6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfac6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd0ef, 0x003f, 0x003f, 0xfded, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xddc4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcf7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6bf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdead, 0x003f, 0xfabf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xedc4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd2a5, 0x003f, 0x003f, 0xfdee, 0x003f, 0x003f,
    -    0x003f, 0xf5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1f6, 0xdecc, 0x003f, 0x003f, 0xfcde, 0x003f,
    -    0xecd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcddd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd6b7, 0xcdb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5700 .. 0x57ff */
    -    0x003f, 0x003f, 0x003f, 0xf8d5, 0xe5d8, 0x003f, 0x003f, 0x003f,
    -    0xcfea, 0x003f, 0x003f, 0xcfd0, 0x003f, 0xeacc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeaae, 0xeaad, 0x003f, 0x003f, 0xd3f1, 0x003f,
    -    0xd3a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7cf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeea4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a4, 0x003f, 0x003f,
    -    0xf2a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd0f0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2a3, 0x003f, 0xf7f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b3,
    -    0x003f, 0x003f, 0xdba9, 0x003f, 0x003f, 0xd3bb, 0xcaec, 0x003f,
    -    0xf1a6, 0xcbd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf7e7, 0x003f, 0x003f, 0xcdde, 0x003f, 0xf7a4, 0x003f,
    -    0x003f, 0x003f, 0xf8c0, 0x003f, 0x003f, 0x003f, 0xd3dd, 0x003f,
    -    0xccd0, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6f3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3dc, 0x003f, 0x003f, 0xfafe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfaa7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xebd9, 0x003f, 0xcfa7, 0xeaaf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0xe9b9,
    -    0xf1d8, 0x003f, 0x003f, 0xd8d8, 0x003f, 0x003f, 0xe0f2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6b4,
    -    0xdcfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf3f1, 0x003f, 0x003f, 0x003f, 0xe3d0, 0x003f, 0x003f, 0xf2fb,
    -    0x003f, 0xdbc6, 0xd0f1, 0x003f, 0xd0f2, 0x003f, 0x003f, 0x003f,
    -    /* 0x5800 .. 0x58ff */
    -    0xcfdc, 0x003f, 0xd3d1, 0x003f, 0x003f, 0xccb1, 0xf7d8, 0x003f,
    -    0xcba8, 0xebbc, 0xe4be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4dc, 0x003f,
    -    0x003f, 0xdcc2, 0x003f, 0x003f, 0xf0a7, 0x003f, 0x003f, 0xe6c0,
    -    0x003f, 0x003f, 0xcaed, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8eb,
    -    0xe5e8, 0xdcc3, 0x003f, 0x003f, 0xedde, 0xd3f2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xccf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xced4, 0xe7ab, 0x003f, 0x003f, 0x003f, 0xcbc3,
    -    0x003f, 0xe1b1, 0x003f, 0x003f, 0xf7b2, 0x003f, 0x003f, 0xd3f3,
    -    0xd3d2, 0x003f, 0xf5c0, 0x003f, 0x003f, 0x003f, 0xdfdd, 0x003f,
    -    0x003f, 0xeef3, 0xe7f1, 0x003f, 0xfdb4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c8, 0x003f, 0x003f,
    -    0x003f, 0xf3d2, 0x003f, 0x003f, 0xeef4, 0x003f, 0xe2d3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xccd1, 0x003f, 0xdfea, 0x003f, 0x003f,
    -    0x003f, 0xe9ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd9d7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf5cd, 0x003f, 0xf1f2, 0xfac7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9f8, 0xd4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xddc5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7f2, 0xeddf, 0x003f, 0x003f, 0xcacb, 0x003f,
    -    0x003f, 0xdbfa, 0x003f, 0x003f, 0x003f, 0xe8b5, 0x003f, 0xd3a6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdb5, 0x003f,
    -    0x003f, 0xf9c9, 0x003f, 0xe4e2, 0x003f, 0xfbbd, 0x003f, 0x003f,
    -    0xd7a4, 0xcec5, 0x003f, 0x003f, 0x003f, 0x003f, 0xced5, 0xd6e6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe5bd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdecd, 0xecf3, 0x003f, 0x003f, 0xede0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xecec, 0xfbbe, 0xdfeb, 0x003f, 0xe1f8, 0x003f, 0x003f,
    -    /* 0x5900 .. 0x59ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9be,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd0f3, 0xe0aa, 0xe8e2, 0x003f,
    -    0x003f, 0xe2d4, 0xd2fd, 0x003f, 0xe5a8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd9d3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3de,
    -    0x003f, 0xf4b8, 0xf7bc, 0xdcfd, 0x003f, 0xe8ec, 0xe4e7, 0x003f,
    -    0x003f, 0xe3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeca8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfaf1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f2, 0x003f, 0x003f, 0xd0f4,
    -    0xd2af, 0xdce5, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a5, 0xf1b4,
    -    0xfcb1, 0xccf8, 0x003f, 0x003f, 0xddc6, 0xfad1, 0x003f, 0xf7df,
    -    0x003f, 0x003f, 0xfaa8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeef5, 0x003f, 0xdece, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f3,
    -    0x003f, 0x003f, 0xf7ac, 0xebc4, 0xede1, 0xe0ab, 0xddc7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd2b3, 0xd2bf, 0x003f, 0x003f, 0x003f,
    -    0xcacc, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbbf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5fd, 0xdde5, 0xd8cd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xecf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd0f5, 0x003f, 0x003f, 0xe8ed, 0xd0d2,
    -    0x003f, 0xd9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e6, 0x003f, 0x003f,
    -    0xdbaa, 0x003f, 0x003f, 0x003f, 0xf7e0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd8d9, 0x003f, 0xf4a3, 0x003f, 0x003f, 0xf4dd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xefd1, 0x003f, 0x003f, 0xd9b5, 0x003f,
    -    0x003f, 0xedab, 0x003f, 0xe3b7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeebb, 0xcdb4, 0x003f, 0xe0f3, 0xeacd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xecf5, 0xe8ee, 0x003f, 0xcba9, 0xf1af, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacd, 0x003f,
    -    0xeca9, 0x003f, 0xf2eb, 0x003f, 0xfdef, 0x003f, 0xf9f3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6c1, 0x003f, 0x003f, 0xecd8, 0x003f, 0x003f, 0x003f, 0xedac,
    -    /* 0x5a00 .. 0x5aff */
    -    0x003f, 0xeace, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdecf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2a6, 0x003f, 0x003f, 0xe7f4, 0xd1d6, 0x003f, 0x003f, 0xe6c2,
    -    0xe3e3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b0, 0x003f, 0x003f,
    -    0x003f, 0xd8b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6a5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3de, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd7a5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7e8, 0x003f,
    -    0x003f, 0xe8c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfbe6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdde6, 0x003f, 0x003f, 0x003f, 0xdcfe, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdaac, 0xeab0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe3b8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcaaa, 0xe1f9, 0x003f, 0xeab1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf2ec, 0x003f, 0x003f, 0xfaee, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeed5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9f4, 0x003f,
    -    0x003f, 0xd2ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5b00 .. 0x5bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbfb, 0x003f, 0x003f,
    -    0x003f, 0xfdf0, 0x003f, 0xe0bd, 0xcee3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8c6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdeae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdfc5, 0x003f, 0x003f, 0xe5be, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedad, 0xfaea, 0x003f, 0x003f, 0xcdee, 0xeda6, 0x003f, 0xedae,
    -    0xf0ed, 0x003f, 0xdda1, 0x003f, 0xedaf, 0xfcf8, 0x003f, 0xd8eb,
    -    0x003f, 0x003f, 0x003f, 0xccf9, 0xcdb5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfaa9, 0x003f, 0xe1dd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2d5, 0xedcf, 0x003f, 0x003f, 0x003f, 0xdda2, 0x003f, 0x003f,
    -    0xf9ca, 0x003f, 0xeae8, 0x003f, 0xe5ed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3eb, 0x003f, 0xe9d4,
    -    0xe1fa, 0xe4cc, 0x003f, 0xe1e4, 0xe8c7, 0x003f, 0x003f, 0xcedb,
    -    0x003f, 0x003f, 0x003f, 0xdcd5, 0x003f, 0xf7b5, 0xfcf3, 0xf0f3,
    -    0xceaf, 0xf1b5, 0xefd2, 0xe8c8, 0xebf1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcbd4, 0xe0be, 0xe3f8, 0xeae9, 0xfcb2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0f4, 0x003f, 0xcfe0, 0x003f,
    -    0xeea5, 0x003f, 0x003f, 0xfaaa, 0xe6c3, 0xe1b2, 0xcaab, 0x003f,
    -    0xe3e4, 0xe9bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d6,
    -    0xf3f2, 0x003f, 0xeed6, 0xeab2, 0xd0f6, 0xecd9, 0xdacb, 0xcfa8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdda3, 0x003f, 0x003f, 0x003f,
    -    0xd8db, 0x003f, 0xf9ce, 0xe9d5, 0xe3d1, 0x003f, 0x003f, 0xd2bc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ac, 0xf3cc,
    -    0x003f, 0xcdfb, 0xf6d6, 0x003f, 0xe7f5, 0xe8ef, 0xe3f9, 0xd2bb,
    -    0xf3f3, 0xe3fb, 0x003f, 0xded0, 0xceb0, 0x003f, 0xd6f7, 0xf1d9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5c1, 0xdcc4, 0x003f,
    -    0xf5bb, 0x003f, 0xded1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5c00 .. 0x5cff */
    -    0x003f, 0xdce6, 0x003f, 0x003f, 0xded2, 0x003f, 0x003f, 0xede2,
    -    0xeef6, 0xeacf, 0xf0ee, 0xe3fc, 0x003f, 0xd3df, 0xd3f4, 0xe1b3,
    -    0x003f, 0xe1b4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d3, 0x003f,
    -    0x003f, 0xdfc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9d6, 0x003f, 0x003f, 0x003f,
    -    0xdbab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf6a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe3b9, 0xebc5, 0xf4a9, 0xcdb6, 0xd2f9, 0x003f, 0xdaad, 0xd2e3,
    -    0xcfd1, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbdc, 0xccfa, 0x003f,
    -    0xcfdd, 0x003f, 0x003f, 0xe8a9, 0x003f, 0xe3bb, 0xe3ba, 0x003f,
    -    0x003f, 0xe0da, 0x003f, 0x003f, 0x003f, 0xeef7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdcb3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3f5, 0x003f, 0xd7a6, 0x003f, 0xf6b5, 0xd7db, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1d5, 0x003f, 0x003f, 0xd4ea,
    -    0x003f, 0xdfa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfddf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd0f7, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcbaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe4db, 0x003f, 0xe1fb, 0xcba2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3e0, 0x003f, 0xe4bf, 0x003f, 0xfbc0, 0x003f, 0xdabe,
    -    0xe4cd, 0x003f, 0xd6b9, 0x003f, 0x003f, 0x003f, 0xefc0, 0x003f,
    -    0xe1fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf6b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdfc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce7,
    -    0xdce8, 0x003f, 0x003f, 0x003f, 0xfad6, 0x003f, 0xd3f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf1da, 0x003f, 0xfaf2, 0x003f, 0x003f,
    -    /* 0x5d00 .. 0x5dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2fd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cf, 0xd0f8, 0x003f,
    -    0x003f, 0xcddf, 0x003f, 0x003f, 0xf5cb, 0x003f, 0xe4f0, 0xcbab,
    -    0x003f, 0xd7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2fe,
    -    0x003f, 0xddda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdaae, 0xcaee, 0x003f, 0x003f, 0x003f,
    -    0xd5b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3a1, 0x003f, 0x003f, 0xe8e3, 0x003f, 0x003f, 0xf3ab,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa9,
    -    0x003f, 0x003f, 0x003f, 0xd3f7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f1, 0x003f, 0x003f,
    -    0xcee4, 0x003f, 0xe8f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7ae, 0x003f, 0xd6ba, 0x003f, 0xdfec, 0xe4c0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8b5, 0x003f, 0x003f, 0x003f, 0xe4dc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4b9, 0xf1b6, 0x003f,
    -    0x003f, 0xe2de, 0xe1b5, 0x003f, 0x003f, 0xcdef, 0xf1a7, 0xcee5,
    -    0xcbdd, 0x003f, 0x003f, 0xd9e3, 0x003f, 0x003f, 0xf3ac, 0x003f,
    -    0x003f, 0xd0f9, 0xecab, 0xded3, 0xf7e9, 0x003f, 0x003f, 0xf9f5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1de, 0xcbee, 0x003f,
    -    /* 0x5e00 .. 0x5eff */
    -    0x003f, 0x003f, 0xe3bc, 0xf8d6, 0x003f, 0x003f, 0xdbee, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfdf1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf7b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4de, 0x003f,
    -    0x003f, 0xf2ed, 0x003f, 0xdbd9, 0x003f, 0xf0a8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1fd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xded4, 0x003f, 0xe0ac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xede3, 0x003f, 0x003f, 0xd3e1, 0x003f,
    -    0xdfc8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9b6, 0x003f, 0xfdac,
    -    0xefd3, 0x003f, 0x003f, 0x003f, 0xe4c1, 0xf8eb, 0x003f, 0xdbac,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfcc6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ad, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6ba,
    -    0x003f, 0xdbdf, 0xd3d3, 0xf8c7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcace, 0xf8c1, 0xd2b4, 0x003f, 0x003f, 0xdcb4,
    -    0xfab9, 0xcacf, 0x003f, 0xfcb3, 0xeaea, 0xeaeb, 0xd0fa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xede4, 0x003f, 0x003f, 0xdde7,
    -    0x003f, 0x003f, 0xdfc9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfed,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeebc, 0x003f, 0xefc1,
    -    0x003f, 0x003f, 0xccd2, 0x003f, 0xdda4, 0x003f, 0x003f, 0x003f,
    -    0xdfca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f8, 0xf1a8,
    -    0x003f, 0x003f, 0x003f, 0xcdb7, 0x003f, 0xefd4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dd, 0xdfee, 0xcbac,
    -    0xe9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaec, 0x003f,
    -    0x003f, 0x003f, 0xdfcb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf9bf, 0xd6af, 0xd5c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcfaa, 0x003f, 0x003f, 0xcea9, 0x003f, 0x003f, 0xd6f8, 0x003f,
    -    0x003f, 0x003f, 0xf1b7, 0xeef8, 0x003f, 0x003f, 0x003f, 0xd9d9,
    -    0xf3df, 0x003f, 0xf8c8, 0xcec6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd5e6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf4e6, 0x003f, 0x003f, 0xe6c5, 0xefd5,
    -    0x003f, 0x003f, 0xcbef, 0xfcdf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5f00 .. 0x5fff */
    -    0x003f, 0xdca7, 0x003f, 0x003f, 0xd6e7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf8c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d2,
    -    0x003f, 0xe3bd, 0x003f, 0xcfe1, 0xf0c0, 0xecda, 0x003f, 0xddd7,
    -    0xfbf0, 0x003f, 0x003f, 0xecac, 0x003f, 0x003f, 0x003f, 0xf0a9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfad7, 0xfbc1,
    -    0x003f, 0xd2c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5b0, 0x003f, 0x003f, 0x003f, 0xede5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcbad, 0x003f, 0xf9b0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf7a5, 0x003f, 0xcbae, 0x003f, 0xdaaf, 0x003f, 0xd8b6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a7, 0xfbb2,
    -    0x003f, 0xfdc4, 0x003f, 0xecad, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfba1, 0x003f, 0x003f, 0x003f, 0xe5e9, 0xe9ee,
    -    0x003f, 0xf3f4, 0xf8f3, 0xf0c1, 0xdeaf, 0xf8b0, 0x003f, 0x003f,
    -    0xf3e0, 0xe7af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbad,
    -    0x003f, 0xe6b5, 0x003f, 0x003f, 0xf9a8, 0x003f, 0x003f, 0xddd8,
    -    0xe8d9, 0xefd6, 0x003f, 0x003f, 0x003f, 0xd3e2, 0x003f, 0xe2df,
    -    0x003f, 0x003f, 0xfce0, 0xd7c8, 0xfdad, 0x003f, 0x003f, 0x003f,
    -    0xdfef, 0xccd3, 0xd3f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f0,
    -    0xdbc7, 0xded5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0f4, 0x003f,
    -    0xd5d0, 0xe5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfcc7, 0xdcd6, 0xe2e0, 0x003f, 0x003f, 0x003f, 0xdab0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a3, 0x003f, 0xd3ec,
    -    0x003f, 0xf4cb, 0x003f, 0x003f, 0x003f, 0xfdc5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3fd, 0x003f, 0xf9b1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd0fb, 0xecdb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5bc, 0xf2a4,
    -    0xd8ce, 0xd8cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf5f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf6e1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbec, 0x003f, 0xddc8,
    -    /* 0x6000 .. 0x60ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e8,
    -    0x003f, 0x003f, 0xd2c1, 0x003f, 0x003f, 0x003f, 0xf8d7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6bb, 0xded6, 0x003f, 0x003f,
    -    0xf7bd, 0xecae, 0x003f, 0x003f, 0x003f, 0xd0e1, 0x003f, 0xe0f5,
    -    0xeab3, 0x003f, 0xced6, 0x003f, 0x003f, 0x003f, 0x003f, 0xcca5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xecf6, 0xe2e1, 0xe3be, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcc8, 0x003f, 0x003f,
    -    0xcdf0, 0x003f, 0xf9f6, 0x003f, 0x003f, 0xdff0, 0x003f, 0x003f,
    -    0x003f, 0xe5bf, 0x003f, 0x003f, 0x003f, 0xcebf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfce1, 0xedb0, 0xfdd1, 0xf6bb, 0x003f, 0x003f,
    -    0xf9cf, 0xebda, 0xcac1, 0x003f, 0xd2b8, 0xcdf1, 0x003f, 0xe3d3,
    -    0xfde6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ed, 0x003f, 0x003f,
    -    0x003f, 0xe3fa, 0x003f, 0x003f, 0xf0aa, 0xf9d0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfce2, 0x003f, 0xf8a7, 0x003f,
    -    0x003f, 0x003f, 0xe1e5, 0xeef9, 0x003f, 0x003f, 0x003f, 0xe7f6,
    -    0xeaed, 0x003f, 0x003f, 0xfcb4, 0xf5c2, 0x003f, 0x003f, 0xd7dc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf0f5, 0x003f, 0xdde8, 0xd3ed, 0xf5fc, 0x003f, 0xdabf, 0x003f,
    -    0xccfb, 0x003f, 0x003f, 0x003f, 0xd3fa, 0xf4a4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefd7, 0x003f, 0xd4c3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfbed, 0x003f, 0xe0ad, 0x003f, 0x003f, 0xeaee,
    -    0xfbb3, 0xe4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf6e7, 0xd2dd, 0x003f, 0xdfcc, 0x003f, 0x003f, 0xfcc9, 0x003f,
    -    0x003f, 0xe5a9, 0xe0f6, 0xf6b3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6100 .. 0x61ff */
    -    0x003f, 0xe1fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf0, 0x003f,
    -    0xeaef, 0xeaf0, 0x003f, 0x003f, 0x003f, 0xdac0, 0xf8b4, 0xebf2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9d7, 0xe4f1, 0x003f, 0x003f, 0x003f, 0xcaef,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xced7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfcca, 0x003f, 0x003f, 0x003f, 0xf3e1, 0x003f, 0x003f, 0xcbc4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe3e5, 0x003f, 0xcbc5, 0xeab4,
    -    0x003f, 0x003f, 0xe9bd, 0x003f, 0xd7c9, 0x003f, 0x003f, 0xebdb,
    -    0xedb1, 0x003f, 0xccc3, 0xf7be, 0xfccb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf8f4, 0x003f, 0xd9b7, 0x003f, 0x003f,
    -    0xf3d3, 0xf3d4, 0x003f, 0x003f, 0x003f, 0xf7e4, 0x003f, 0xf7d1,
    -    0x003f, 0x003f, 0xd8b7, 0xceb1, 0xcac2, 0x003f, 0x003f, 0xfbb4,
    -    0xcbc6, 0x003f, 0x003f, 0xf0f6, 0x003f, 0x003f, 0xd5e7, 0x003f,
    -    0xead0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccd4, 0xcbaf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4aa, 0xe9af, 0x003f,
    -    0x003f, 0xf5c3, 0xe9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdde9, 0x003f, 0x003f, 0x003f, 0xf1f3, 0x003f,
    -    0xd5fb, 0xdebb, 0x003f, 0x003f, 0xf4fb, 0x003f, 0x003f, 0x003f,
    -    0xfdf3, 0xfdf2, 0xf7a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xddc9, 0x003f, 0x003f, 0xd4d3,
    -    0x003f, 0xcca8, 0x003f, 0xdac1, 0xccd5, 0x003f, 0xd9e4, 0x003f,
    -    0x003f, 0x003f, 0xfaca, 0x003f, 0x003f, 0x003f, 0xe5e3, 0x003f,
    -    0x003f, 0x003f, 0xd3bc, 0x003f, 0x003f, 0x003f, 0xcaf0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd0c4, 0x003f, 0x003f, 0x003f, 0xcad0,
    -    0xfaab, 0xebeb, 0xe7f8, 0xd9e5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1d7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3a4, 0x003f, 0x003f, 0x003f, 0xd4fb, 0xfce3,
    -    0xfad8, 0x003f, 0xf3d5, 0x003f, 0xcfab, 0x003f, 0x003f, 0xebf3,
    -    /* 0x6200 .. 0x62ff */
    -    0xd5fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d4,
    -    0xcdfc, 0x003f, 0xd9e6, 0x003f, 0xe2f9, 0xe2a1, 0xebd4, 0x003f,
    -    0xe0f7, 0xe4b2, 0xccfc, 0x003f, 0x003f, 0x003f, 0xfbe4, 0x003f,
    -    0x003f, 0x003f, 0xf4ab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0bd,
    -    0x003f, 0xcaf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xefb8, 0x003f, 0x003f, 0x003f, 0xd7c0, 0x003f,
    -    0xeefa, 0xfdf4, 0x003f, 0x003f, 0xd3e3, 0x003f, 0xfbc2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5e8, 0xdbae,
    -    0xe1b6, 0xf8b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0bf,
    -    0xfbc3, 0xddea, 0x003f, 0xe2a2, 0x003f, 0xeea6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf6e8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf6f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddca, 0x003f,
    -    0x003f, 0xd0e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xdda6, 0x003f,
    -    0x003f, 0xddeb, 0x003f, 0x003f, 0xe4f9, 0x003f, 0x003f, 0xe3af,
    -    0xd0fc, 0x003f, 0x003f, 0x003f, 0xf4fc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccbc, 0xf7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5e4, 0xdff1, 0x003f, 0x003f, 0xf7e1, 0x003f, 0xf9f7,
    -    0xefb9, 0x003f, 0x003f, 0xf8d8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9a9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8d9, 0x003f, 0x003f, 0x003f, 0xeebd, 0x003f, 0x003f,
    -    0x003f, 0xd8c6, 0x003f, 0x003f, 0xe4e3, 0xf5ce, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9e7,
    -    0xd2b9, 0xd5c3, 0x003f, 0x003f, 0xdae5, 0xdad0, 0x003f, 0xd1d9,
    -    0xced8, 0x003f, 0xcbde, 0xf4ac, 0xdafb, 0x003f, 0xf6e9, 0xe8f3,
    -    0xcfac, 0xf0f0, 0x003f, 0xf4fd, 0xdbc8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcec0, 0xe3d4, 0xd1cf, 0xf1f5,
    -    0x003f, 0xcdf2, 0x003f, 0xcfeb, 0x003f, 0x003f, 0x003f, 0xcdb8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a6, 0xd1da,
    -    /* 0x6300 .. 0x63ff */
    -    0x003f, 0xf2a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a6,
    -    0x003f, 0xe4ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf1a9, 0x003f, 0x003f, 0x003f, 0xf2c9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xefd8, 0xe6c9, 0x003f, 0xd8b8, 0xfaf3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3b5, 0x003f, 0x003f, 0xf8a4, 0x003f, 0x003f, 0xd1f3,
    -    0xe6c8, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8da, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce9,
    -    0xded7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbdf, 0x003f,
    -    0x003f, 0x003f, 0xcfec, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4df,
    -    0x003f, 0x003f, 0xd1f4, 0xd2ba, 0x003f, 0x003f, 0x003f, 0xdff2,
    -    0x003f, 0x003f, 0x003f, 0xe1b7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2a3, 0xd3fc, 0x003f, 0x003f, 0xede6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbc9, 0x003f, 0x003f, 0x003f, 0xe4fa, 0x003f,
    -    0xcfde, 0x003f, 0x003f, 0xced0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd5d3, 0xf3f5, 0xf7ae, 0x003f, 0x003f, 0xefc8, 0x003f, 0xcdf3,
    -    0xf5cf, 0xe5f3, 0xf0c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcad1, 0x003f, 0x003f, 0x003f, 0xeaf1, 0x003f, 0xd0a6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9da,
    -    0xf0ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebe7, 0x003f,
    -    0x003f, 0x003f, 0xe5c0, 0xfcb5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe4c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcca9, 0xfdc6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeab5, 0x003f, 0xe5aa, 0xdfba,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6400 .. 0x64ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1df, 0x003f, 0xdad1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1b8, 0x003f, 0xe8f4, 0xd3fd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2a4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf2ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdae6, 0xf7b3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfdcd, 0x003f, 0x003f, 0x003f, 0xf3b6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeed7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd8a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9b8, 0xd9b9, 0xefc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd6ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf7cb, 0xdfae, 0xe8f5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd2b5, 0x003f, 0x003f, 0x003f, 0xd3d5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf4cc, 0xdafc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd9e8, 0x003f, 0xf7eb, 0xf5c9, 0x003f,
    -    0xf3bc, 0x003f, 0xdad2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd3b5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe8b6, 0x003f, 0x003f, 0xd6cf, 0xf4ba, 0x003f, 0xf7c9,
    -    0x003f, 0x003f, 0xccaa, 0x003f, 0x003f, 0xf0c3, 0xccd6, 0x003f,
    -    0x003f, 0x003f, 0xd0d3, 0x003f, 0xd3bd, 0x003f, 0x003f, 0x003f,
    -    0xdbfb, 0x003f, 0xcbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3e4, 0xf6f7, 0x003f, 0x003f, 0xd5ba, 0xf3cd, 0xcbe1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xebf4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf4ad, 0x003f, 0xfcaa, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf7ec, 0x003f, 0x003f, 0x003f, 0xe8f6, 0x003f,
    -    /* 0x6500 .. 0x65ff */
    -    0xdae7, 0x003f, 0x003f, 0x003f, 0xf7cc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ee, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5fd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcee6, 0xfcab, 0xd5bb, 0x003f, 0x003f, 0xf2a8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a5, 0xcdb9,
    -    0xeaf2, 0xcbc7, 0x003f, 0xcdf4, 0x003f, 0x003f, 0xdbaf, 0xefd9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdba, 0x003f, 0x003f,
    -    0xfcf9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff3, 0xcee7, 0xdac2,
    -    0x003f, 0xcfad, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f9, 0xf8a8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e2, 0x003f,
    -    0x003f, 0x003f, 0xcaf2, 0xdfa4, 0x003f, 0x003f, 0xd4c4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xccd7, 0xe5c2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcdbb, 0x003f, 0xefda, 0xeed8, 0x003f, 0xdda7,
    -    0xe2a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c0, 0x003f,
    -    0x003f, 0x003f, 0xd6b0, 0xf8ca, 0x003f, 0xfcfa, 0x003f, 0xd9fe,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdeb0, 0x003f, 0x003f, 0x003f,
    -    0xddec, 0xdae8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e0,
    -    0x003f, 0xd6f9, 0x003f, 0xcdd7, 0xded8, 0x003f, 0x003f, 0xf2f8,
    -    0x003f, 0xe4d6, 0x003f, 0x003f, 0xd0c5, 0xf4ae, 0x003f, 0xdda8,
    -    0x003f, 0x003f, 0x003f, 0xedc5, 0xf3d6, 0x003f, 0x003f, 0xded9,
    -    0xe3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a8,
    -    0x003f, 0xdbb0, 0x003f, 0x003f, 0xe5da, 0xe3bf, 0x003f, 0x003f,
    -    0x003f, 0xdbb1, 0x003f, 0x003f, 0x003f, 0xd5e9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0c1, 0xefdb, 0x003f, 0x003f, 0xf0e9,
    -    0x003f, 0x003f, 0xd7b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0fd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9e9, 0x003f, 0x003f, 0xd0fe, 0x003f, 0xeced, 0xd3a9, 0x003f,
    -    0xf2a9, 0xf0c4, 0x003f, 0x003f, 0xe2e2, 0xe9ef, 0x003f, 0x003f,
    -    0x003f, 0xf9d1, 0x003f, 0x003f, 0xe9d9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe8da, 0xdac3, 0xdac4, 0xd4c5, 0x003f, 0xe7fa,
    -    /* 0x6600 .. 0x66ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde0, 0xe3b0,
    -    0x003f, 0xdbb2, 0xfbc4, 0x003f, 0xf3e3, 0x003f, 0xd9a5, 0xfbe7,
    -    0xddcb, 0xd0d4, 0x003f, 0xe6b6, 0xe0ae, 0xfdda, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcb5, 0xe0f8,
    -    0xe7b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5f0, 0x003f, 0xd8dc,
    -    0xedc6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1b9, 0x003f, 0xe3c0,
    -    0xf9c0, 0xe9f0, 0x003f, 0x003f, 0xd9db, 0x003f, 0xf3e4, 0x003f,
    -    0x003f, 0x003f, 0xdcb6, 0xe4e9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf0c5, 0xe3c1, 0xfccc, 0xfccd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf2cb, 0x003f, 0xf2cc, 0x003f, 0x003f, 0x003f, 0xe4cf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf1db, 0x003f, 0xfad9, 0x003f, 0xf1b8, 0xfdf5, 0xe0f9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe7fb, 0xfcb7, 0xfce4, 0xfbc5,
    -    0xe3e7, 0xd8b9, 0x003f, 0xf6f8, 0x003f, 0x003f, 0xdcc5, 0xccd8,
    -    0x003f, 0x003f, 0x003f, 0xe0af, 0xf4e7, 0x003f, 0xefdc, 0xcffc,
    -    0xefdd, 0x003f, 0xf2aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfdbe, 0x003f, 0x003f, 0xcaac,
    -    0xfdbb, 0xfdc7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b2, 0x003f,
    -    0xead1, 0xdff4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ec, 0xe4de,
    -    0xe5c3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a6, 0x003f, 0x003f,
    -    0xcdbc, 0x003f, 0xf3e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedd5, 0x003f, 0x003f, 0xd9ba, 0x003f,
    -    0x003f, 0x003f, 0xede7, 0xfbb5, 0xf8ec, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe0e7, 0x003f, 0xccd9, 0x003f, 0x003f, 0xd4c6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe7a5, 0x003f, 0xd5f5, 0xd3be,
    -    0x003f, 0xfcfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f2, 0x003f,
    -    0x003f, 0xdff5, 0x003f, 0x003f, 0xe8f8, 0xf8ed, 0x003f, 0x003f,
    -    0xcec7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdf6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8d8, 0x003f, 0xcdd8, 0xe7d6, 0xccda, 0x003f, 0x003f, 0xcae3,
    -    0xdff6, 0xf0c7, 0xf0c6, 0x003f, 0xd8ba, 0x003f, 0xf1f4, 0xf4f0,
    -    /* 0x6700 .. 0x67ff */
    -    0xf5cc, 0x003f, 0x003f, 0xfce5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeac5, 0xeaf3, 0x003f, 0xdddb, 0x003f, 0xdcd7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdefd, 0xf2f9, 0x003f, 0xd5c7,
    -    0x003f, 0x003f, 0x003f, 0xd8d0, 0x003f, 0xf0c8, 0xd1a1, 0xd1a2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d4, 0xd6e8,
    -    0xd9ca, 0x003f, 0xdab1, 0xd8c7, 0xdce2, 0xf3ce, 0xf5f4, 0x003f,
    -    0x003f, 0xf1b9, 0x003f, 0x003f, 0xdad3, 0x003f, 0xf6ea, 0x003f,
    -    0x003f, 0x003f, 0xcff5, 0x003f, 0x003f, 0xfdae, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad2, 0x003f,
    -    0x003f, 0xdfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7dd, 0xfaba,
    -    0xeea7, 0xf5bd, 0x003f, 0xf8f5, 0x003f, 0x003f, 0xede8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd4e1, 0x003f, 0xd1a3, 0xe1d6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9f8, 0x003f, 0xdbca,
    -    0xcbf9, 0xd4d4, 0x003f, 0xd9dc, 0x003f, 0xeebe, 0x003f, 0xf7ed,
    -    0x003f, 0x003f, 0x003f, 0xd2ee, 0x003f, 0x003f, 0xe1e6, 0xf7f9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdded,
    -    0x003f, 0xe8db, 0x003f, 0xdbb3, 0x003f, 0x003f, 0x003f, 0xd1f7,
    -    0xe0b0, 0x003f, 0x003f, 0xd4e2, 0x003f, 0xf6d7, 0x003f, 0xd7f9,
    -    0x003f, 0x003f, 0xd8dd, 0x003f, 0xcdfd, 0xf2ab, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbd,
    -    0xf8c2, 0x003f, 0x003f, 0xf2ac, 0x003f, 0x003f, 0xcaad, 0xcaae,
    -    0xcfae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3c2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdcb7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbda,
    -    0xd9bb, 0xcaf3, 0xf6d3, 0xe6f8, 0xeaf5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeaf6, 0x003f, 0x003f, 0xf6f9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfaf, 0x003f, 0x003f, 0xcad3, 0x003f, 0x003f, 0xcaaf,
    -    0xd2b0, 0xf1ba, 0x003f, 0xd7b3, 0xe3c3, 0xf3fd, 0xdeda, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdedb, 0x003f, 0x003f, 0xefde, 0x003f,
    -    /* 0x6800 .. 0x68ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe2e3, 0xeefb, 0x003f, 0x003f, 0xdff7, 0xd7ca,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcee8, 0xdbdb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1bb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfab7, 0xd0c6, 0x003f, 0x003f, 0xccab, 0xeea8, 0x003f, 0x003f,
    -    0xcbfa, 0xf9f9, 0xccfd, 0xd3fe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe4d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2ee, 0x003f,
    -    0xd4d5, 0xdfcd, 0x003f, 0xfcb8, 0xd1d0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2cd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7d2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad4,
    -    0x003f, 0xd5d9, 0x003f, 0x003f, 0x003f, 0xd8de, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd9,
    -    0x003f, 0x003f, 0x003f, 0xeea9, 0xf6bc, 0x003f, 0x003f, 0xccdb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0c9, 0x003f, 0xfcfc,
    -    0x003f, 0xe8c9, 0xf4fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7fc,
    -    0xd7de, 0x003f, 0x003f, 0x003f, 0x003f, 0xdedc, 0x003f, 0xf0ac,
    -    0xccfe, 0xcde1, 0x003f, 0xe1ba, 0x003f, 0xdbef, 0xdab2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd1a5, 0xdcb8, 0x003f, 0x003f,
    -    0x003f, 0xd8f6, 0x003f, 0xd1a4, 0x003f, 0xcde2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdcea, 0x003f, 0x003f, 0xf0f7, 0x003f, 0xf0ca,
    -    0xd0be, 0x003f, 0xdddc, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4d6,
    -    0xd3d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd0,
    -    0xcda1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb5, 0x003f,
    -    0x003f, 0x003f, 0xdff8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4a1, 0xceb2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6900 .. 0x69ff */
    -    0xe8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d5, 0xf5d0, 0x003f,
    -    0x003f, 0x003f, 0xf5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6cb, 0x003f, 0xf5f1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9a3, 0xe0db, 0xf6eb, 0x003f, 0xcbf1,
    -    0x003f, 0xd9ea, 0xf5a2, 0x003f, 0x003f, 0x003f, 0xd7d1, 0x003f,
    -    0xd1f8, 0xeaf8, 0xeaf9, 0xdab3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefdf, 0x003f, 0x003f, 0xf1ef, 0x003f, 0xe5f6, 0xeebf, 0xe2e4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0bf, 0x003f, 0xfaac,
    -    0xf5d1, 0xe7b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9be, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf2ce, 0xdbb4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcce, 0x003f, 0xddee,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd7b4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf7b4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdbe, 0x003f, 0xdae9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcfb0, 0xf7d9, 0xf3e6, 0x003f, 0x003f,
    -    0xced9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xceaa, 0x003f, 0xcbc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd0a7, 0x003f, 0xf0cb, 0x003f, 0xd0c7,
    -    /* 0x6a00 .. 0x6aff */
    -    0x003f, 0x003f, 0xe4c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5da, 0x003f, 0xd7a7, 0x003f, 0x003f, 0x003f, 0xeec0,
    -    0x003f, 0xf8f6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5d2, 0xede9,
    -    0x003f, 0xd9bc, 0x003f, 0xe5c6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a3, 0x003f, 0x003f,
    -    0xdad4, 0xe2a7, 0xfbfc, 0x003f, 0x003f, 0xf1dc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcaf4, 0x003f, 0x003f, 0x003f,
    -    0xe8fa, 0x003f, 0x003f, 0xcee9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9f8, 0xe2e5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd0b9, 0xd4f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1a6,
    -    0x003f, 0xdfce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfcf4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3aa, 0x003f, 0x003f, 0x003f, 0xccac, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefe0, 0x003f, 0x003f, 0x003f, 0xe5e5, 0xd0d5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbfc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfce6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcbfe, 0xedea, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdeb1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9e3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd4a2, 0xcff6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd6d0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5ea, 0xf1ee, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfacb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5a1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6b00 .. 0x6bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd5b1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcfed, 0x003f, 0xedeb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5b2, 0x003f, 0x003f, 0x003f, 0xd5bc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfde2, 0xf3ad, 0x003f, 0xfddb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd1a7, 0x003f, 0x003f, 0xfde3, 0xceb3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfde4, 0xface,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcab0, 0x003f, 0xf7a7, 0x003f,
    -    0xcfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a2,
    -    0x003f, 0xfcb6, 0xf2ad, 0xefe1, 0xf3ae, 0xdcc6, 0xd9eb, 0x003f,
    -    0x003f, 0x003f, 0xe8e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5f6,
    -    0xcffd, 0x003f, 0x003f, 0xdedd, 0x003f, 0x003f, 0x003f, 0xd9d1,
    -    0x003f, 0x003f, 0x003f, 0xe4ea, 0xf2cf, 0x003f, 0xf7bf, 0x003f,
    -    0x003f, 0xe2e6, 0xe2a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d6, 0x003f,
    -    0xedd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6b1, 0xdeb2,
    -    0x003f, 0x003f, 0xe0e8, 0x003f, 0x003f, 0xd3ab, 0x003f, 0xebdc,
    -    0x003f, 0x003f, 0xdfaf, 0x003f, 0xcac3, 0x003f, 0x003f, 0xeefc,
    -    0x003f, 0xfdc3, 0x003f, 0x003f, 0x003f, 0xebf6, 0xcfb2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd9ec, 0x003f, 0xd9bd, 0x003f, 0xd8df,
    -    0x003f, 0x003f, 0xd4b8, 0xebbe, 0xddef, 0x003f, 0xddf0, 0xddf1,
    -    0xddf2, 0x003f, 0x003f, 0xd9be, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfbc6, 0xcfb3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6c00 .. 0x6cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeefd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ab,
    -    0x003f, 0xdac5, 0x003f, 0xd8ec, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd1a8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2a9, 0x003f, 0x003f, 0xdebc,
    -    0xe7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf0, 0x003f,
    -    0xefe2, 0xf1f0, 0xcfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf1, 0x003f,
    -    0xe0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa5, 0x003f, 0xf9d2,
    -    0x003f, 0x003f, 0xe7fd, 0x003f, 0x003f, 0xe6a3, 0xfbf1, 0xcbb0,
    -    0xf2ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcde7, 0x003f, 0xe8dc, 0x003f, 0x003f, 0xe7d7, 0x003f, 0x003f,
    -    0xf7c0, 0x003f, 0xd0e3, 0x003f, 0x003f, 0x003f, 0xdaa1, 0x003f,
    -    0x003f, 0x003f, 0xccbd, 0x003f, 0x003f, 0xd1a9, 0xddcc, 0x003f,
    -    0x003f, 0xe3fe, 0xd1aa, 0xe8aa, 0x003f, 0xeab6, 0xf9fa, 0xe6cc,
    -    0xf6d8, 0x003f, 0x003f, 0x003f, 0xd4c7, 0x003f, 0x003f, 0x003f,
    -    0xd9cb, 0x003f, 0xd9d2, 0xd3cb, 0xd8f7, 0xdaa9, 0xf5f8, 0x003f,
    -    0x003f, 0xdede, 0xf2af, 0xf8a9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8c8, 0x003f, 0x003f, 0xeec1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9c1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xddf3, 0xeafa, 0x003f, 0xf6bd, 0xe1bb, 0xcdbf, 0xf4d4, 0xe6cd,
    -    0x003f, 0xfccf, 0xfba2, 0x003f, 0xe0dc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf4bb, 0xdad5, 0x003f, 0xf9b2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfbf2, 0x003f, 0xdbf6, 0x003f, 0xdedf,
    -    0x003f, 0x003f, 0x003f, 0xdbf2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8dc, 0xf7ee, 0xebe8, 0x003f, 0xd2fa, 0x003f, 0x003f,
    -    0xf1bc, 0x003f, 0x003f, 0xfada, 0x003f, 0x003f, 0xdaea, 0xdac6,
    -    0xf7c1, 0x003f, 0x003f, 0xe7b6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6d00 .. 0x6dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe5c7, 0xd6ac, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdcc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a9,
    -    0x003f, 0xe2aa, 0x003f, 0xd5a6, 0x003f, 0x003f, 0xd4d7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2d0, 0x003f, 0xeafb,
    -    0x003f, 0xe0dd, 0xfbf3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1bd, 0x003f, 0x003f, 0xe2e7, 0xfdd7, 0x003f,
    -    0xcec8, 0xeab7, 0x003f, 0xfcc0, 0x003f, 0xfde7, 0xf7ef, 0x003f,
    -    0x003f, 0xd7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefba, 0xf1dd, 0x003f, 0xdeb3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8cb, 0x003f, 0x003f, 0xf8dd, 0x003f,
    -    0x003f, 0xfbc7, 0xd5c8, 0x003f, 0xd7df, 0x003f, 0xdda9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1, 0x003f, 0x003f, 0xfaad,
    -    0xf6d9, 0xfaf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8aa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ee, 0x003f, 0xccdc,
    -    0xe1bc, 0xe0ef, 0x003f, 0x003f, 0xe9bf, 0xfcfd, 0xe6ce, 0x003f,
    -    0x003f, 0xe1d7, 0x003f, 0xe6cf, 0x003f, 0xf4f1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f3,
    -    0x003f, 0x003f, 0xe4fb, 0x003f, 0x003f, 0xf9e4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefe3, 0x003f, 0x003f, 0xcfee, 0xf6be, 0xe0b2, 0xfcfe, 0xd1ab,
    -    0x003f, 0x003f, 0x003f, 0xd7fa, 0x003f, 0x003f, 0x003f, 0xfbc8,
    -    0x003f, 0xe2d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4a3, 0xf0f8, 0xd7a8, 0x003f, 0x003f, 0x003f, 0xe1e7, 0x003f,
    -    0x003f, 0xd3bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefe4, 0x003f, 0xd7c5, 0xebe2, 0x003f, 0x003f, 0xfce7, 0x003f,
    -    0x003f, 0xe4a2, 0x003f, 0xe2e8, 0x003f, 0xe6d0, 0x003f, 0xfbe8,
    -    0xf4e8, 0xe5f4, 0xf4bc, 0xf4d5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6e00 .. 0x6eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb6,
    -    0x003f, 0xfcb9, 0xeec2, 0xcaf5, 0x003f, 0x003f, 0x003f, 0xefe5,
    -    0xcbe2, 0xd4a4, 0x003f, 0xdee0, 0xdafd, 0xe4c6, 0xe8be, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0de, 0xf6b4, 0xead2, 0x003f, 0xf9fb,
    -    0x003f, 0x003f, 0xe0c2, 0x003f, 0xcae4, 0x003f, 0xe7b7, 0x003f,
    -    0xeafd, 0x003f, 0xd9dd, 0x003f, 0xdab4, 0xeeaa, 0xfbe9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdbcb, 0xdab5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1be, 0x003f, 0x003f, 0xd3ac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbc9, 0x003f,
    -    0xdfcf, 0x003f, 0x003f, 0xd3c0, 0xe3d7, 0x003f, 0xefe6, 0xfcd0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c0,
    -    0x003f, 0x003f, 0x003f, 0xf5d3, 0x003f, 0x003f, 0xecdc, 0xf7b7,
    -    0x003f, 0x003f, 0xeab8, 0xd1f9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdcc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeab9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1de, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd7b6, 0xcfb5, 0x003f, 0xd9a8,
    -    0x003f, 0x003f, 0xecee, 0x003f, 0x003f, 0xddaa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcda2, 0xe8ae, 0x003f, 0x003f, 0x003f, 0xe1bd,
    -    0x003f, 0xf2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c1, 0x003f,
    -    0x003f, 0x003f, 0xd2fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbb5, 0x003f, 0xf3e7, 0xd8fe, 0x003f, 0x003f,
    -    0x003f, 0xfcd1, 0x003f, 0xedb2, 0xf4af, 0x003f, 0xfba3, 0x003f,
    -    0x003f, 0xfcc1, 0x003f, 0xeeab, 0xd4a5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeed9, 0x003f, 0x003f, 0x003f,
    -    0xfbca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde3, 0xd8bb,
    -    /* 0x6f00 .. 0x6fff */
    -    0x003f, 0xe5db, 0xf8f7, 0x003f, 0x003f, 0x003f, 0xf6d4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a9,
    -    0x003f, 0xcbc9, 0x003f, 0x003f, 0xe6d1, 0xf0cc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd8ae, 0x003f, 0xf9d3, 0xd5fe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8bc, 0xf2b0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe2ab, 0xf3e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefc2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedec,
    -    0x003f, 0xe7b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdafe, 0x003f, 0x003f, 0xccbe, 0x003f, 0x003f, 0xf2fc,
    -    0xdaeb, 0x003f, 0xe2d8, 0xedd6, 0x003f, 0x003f, 0xd6d1, 0xe0b3,
    -    0x003f, 0x003f, 0xfcd2, 0x003f, 0xebc8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3c1, 0xf0cd, 0x003f,
    -    0xcff7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xedd2, 0x003f, 0xd4d8, 0xdcc9, 0xd7f1, 0x003f,
    -    0x003f, 0xdfbb, 0x003f, 0x003f, 0xf3a5, 0x003f, 0x003f, 0x003f,
    -    0xf4cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1bf, 0xf8b1, 0x003f,
    -    0xe9fa, 0x003f, 0x003f, 0x003f, 0xfbcb, 0x003f, 0x003f, 0xcad5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9d4, 0xf7ca, 0x003f, 0x003f, 0xd6c8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfce8, 0xf3bd,
    -    0x003f, 0xeefe, 0x003f, 0xe7fe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd3c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3b6, 0x003f,
    -    0xccad, 0xf6fa, 0xd6b2, 0xd2d8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ad,
    -    0xfbcc, 0xeba1, 0x003f, 0x003f, 0xd4a6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfbcd, 0x003f, 0xd5bd, 0xf1df, 0x003f, 0x003f, 0xf6fb,
    -    0x003f, 0xdeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5eb, 0x003f,
    -    /* 0x7000 .. 0x70ff */
    -    0x003f, 0xe5c8, 0x003f, 0x003f, 0x003f, 0xfba4, 0xd4b9, 0x003f,
    -    0x003f, 0xdee1, 0x003f, 0xe4a3, 0x003f, 0x003f, 0x003f, 0xd7b7,
    -    0x003f, 0xf8ee, 0x003f, 0x003f, 0x003f, 0xdeb5, 0x003f, 0x003f,
    -    0xd6d2, 0x003f, 0xf9d5, 0xe7ba, 0xebd5, 0xd5f7, 0xefe7, 0xe1be,
    -    0x003f, 0x003f, 0x003f, 0xfaae, 0x003f, 0x003f, 0x003f, 0xd6e9,
    -    0xd6ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7bb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeccb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xceb4, 0x003f, 0x003f, 0x003f,
    -    0xfba5, 0xe1ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf7a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbce, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8bd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfbfd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfce9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcfb6, 0x003f, 0x003f, 0x003f, 0xedc7, 0xeeac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccdd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf6a7, 0x003f, 0x003f, 0x003f, 0xe6fa, 0x003f,
    -    0x003f, 0x003f, 0xf5a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfddc, 0xedb3, 0xcec9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefe8, 0x003f, 0x003f, 0xe1bf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfadb, 0xcbe3, 0xf7a9, 0x003f, 0xfba6,
    -    0x003f, 0x003f, 0x003f, 0xdcb9, 0x003f, 0x003f, 0x003f, 0xf1c0,
    -    0xedc8, 0xefc3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd6ad, 0x003f, 0x003f, 0xfdce, 0x003f, 0x003f, 0x003f, 0xe8a1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfbf4, 0xd5a7, 0x003f, 0x003f, 0x003f, 0xf1f6, 0x003f, 0xe6d3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccde, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8b2, 0x003f, 0x003f, 0x003f, 0xdceb, 0x003f, 0x003f,
    -    /* 0x7100 .. 0x71ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfdb6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe5ea, 0x003f, 0x003f, 0xf1e0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdbcc, 0xddcd, 0x003f, 0x003f, 0x003f, 0xd4c8, 0x003f,
    -    0x003f, 0xd9ed, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdc8,
    -    0x003f, 0xd6a1, 0xfdbf, 0x003f, 0xfcd3, 0x003f, 0xefa1, 0x003f,
    -    0xe7bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ee, 0x003f,
    -    0x003f, 0xe6d5, 0x003f, 0x003f, 0xe9f2, 0x003f, 0xdfb0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd8e0, 0xfcba, 0xfdaf, 0xf0ce,
    -    0x003f, 0xdbe1, 0x003f, 0x003f, 0xe5c9, 0x003f, 0xedb4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe3d8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9fb, 0xeaa8, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdb7,
    -    0x003f, 0x003f, 0xfba7, 0x003f, 0xe9c2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfdf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d9,
    -    0x003f, 0x003f, 0xdcec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe8a2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe6f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfdf8, 0xfdf9, 0x003f, 0x003f, 0x003f, 0xf6bf, 0x003f,
    -    0x003f, 0xe7a7, 0x003f, 0xe6d7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4f3, 0xd4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6fa, 0x003f,
    -    0xd7f2, 0x003f, 0xe1c0, 0x003f, 0xdbe2, 0xe6d8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7bd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0cf, 0xf3be, 0xe2ac,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b7, 0xe0f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfdb8, 0xe3e8, 0x003f, 0xd4a7, 0xe8fc,
    -    /* 0x7200 .. 0x72ff */
    -    0xfad2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8ef, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd6d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5b4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf0d0, 0x003f, 0xf7f0, 0xeeb3, 0x003f, 0x003f,
    -    0xeaba, 0x003f, 0xead3, 0x003f, 0x003f, 0xedc9, 0xddab, 0x003f,
    -    0x003f, 0x003f, 0xe5ac, 0xfda1, 0x003f, 0xdfd0, 0xecb3, 0x003f,
    -    0xdfd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeded, 0xf8b8,
    -    0xf7fa, 0x003f, 0x003f, 0x003f, 0xf8ab, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf4e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4ba, 0xe4b3, 0x003f, 0xe9da, 0x003f, 0xdeb6, 0x003f, 0xd9bf,
    -    0x003f, 0xd9c0, 0xd6ef, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cc,
    -    0x003f, 0xdaaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdfe5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf7e5, 0x003f, 0x003f, 0x003f, 0xccb2, 0x003f, 0x003f,
    -    0xdff9, 0xd7e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd4bb, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdfa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xccb3, 0x003f, 0x003f, 0xdbf3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdfd2, 0x003f, 0xceca, 0x003f, 0xeeda, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e4, 0x003f,
    -    0xfbcf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfb7,
    -    0x003f, 0xeec3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xceea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd7e1, 0xfaf5, 0x003f, 0x003f, 0xd5c9, 0xf8ac, 0x003f, 0x003f,
    -    /* 0x7300 .. 0x73ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8ed, 0xe3c4, 0xf0f1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e5, 0x003f, 0x003f,
    -    0x003f, 0xe0fa, 0xeec4, 0xd9de, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeba2, 0xeba3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcc2, 0xeabb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe8ab, 0xdee2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedef, 0x003f, 0xe8a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xcff1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4bc, 0x003f, 0xfcea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7be, 0x003f, 0xfcf2, 0x003f, 0x003f, 0xd6b4, 0x003f, 0x003f,
    -    0xe2ae, 0x003f, 0xd3b7, 0xfacc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfadc, 0x003f, 0xedb5, 0xe1e3,
    -    0x003f, 0xe8ac, 0x003f, 0xe8dd, 0x003f, 0x003f, 0xefe9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf4bd, 0x003f, 0xcfb8, 0xe9db,
    -    0xd1ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdac7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebc9,
    -    0x003f, 0xe8cc, 0x003f, 0x003f, 0x003f, 0xdeb7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6bc, 0xd3e5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfadd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdad6, 0x003f, 0xcab1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdac8, 0xdfa6, 0x003f, 0xf9b3, 0xf2d2, 0x003f, 0xcac4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcecb, 0x003f,
    -    0x003f, 0xcdf5, 0x003f, 0x003f, 0x003f, 0xfdb0, 0xd5a8, 0x003f,
    -    0xf1c1, 0x003f, 0x003f, 0xe2e9, 0xdcca, 0xecb4, 0xfac0, 0x003f,
    -    0x003f, 0xfba8, 0xd0a8, 0x003f, 0x003f, 0xdaec, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ee,
    -    0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f, 0xefea, 0xfade, 0x003f,
    -    /* 0x7400 .. 0x74ff */
    -    0x003f, 0xe0c4, 0x003f, 0xcfb9, 0x003f, 0xd5ca, 0xd7e2, 0xe2af,
    -    0x003f, 0xd7b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe8cd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf6da, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefa2, 0xe2da, 0xf6fc, 0x003f, 0x003f, 0xfbd0, 0xd1ad, 0x003f,
    -    0xcde4, 0x003f, 0xd1ae, 0xdced, 0xe8ce, 0x003f, 0xf0f9, 0xceb5,
    -    0xe6fc, 0x003f, 0x003f, 0xd7fb, 0xd0d6, 0xddf5, 0xf7f1, 0x003f,
    -    0xf6fd, 0x003f, 0xdbf7, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbea,
    -    0xe9dc, 0xd9c1, 0x003f, 0xf5f2, 0xe0c5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xead4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9c2, 0x003f, 0xeabc,
    -    0x003f, 0xd2c5, 0xfbd1, 0xe7c0, 0xeba5, 0x003f, 0xdffa, 0xe3a2,
    -    0xd7b9, 0x003f, 0xe9c3, 0x003f, 0xe8fd, 0xe8af, 0x003f, 0x003f,
    -    0xf2d3, 0xfba9, 0xd8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c8, 0x003f,
    -    0x003f, 0x003f, 0xd1af, 0xd7e3, 0x003f, 0x003f, 0x003f, 0xe0c6,
    -    0x003f, 0xd6a2, 0x003f, 0xedf0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd7f3, 0x003f, 0x003f, 0x003f, 0xfcd4, 0x003f, 0xdad7, 0xccdf,
    -    0x003f, 0xf2d4, 0x003f, 0xd1b0, 0x003f, 0xcce0, 0x003f, 0xdbfd,
    -    0xf3bf, 0x003f, 0xf0d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfcbb, 0x003f, 0xe2b0, 0x003f, 0x003f, 0xe6a5, 0x003f, 0x003f,
    -    0x003f, 0xe2db, 0x003f, 0x003f, 0x003f, 0xdfde, 0x003f, 0xe0c7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2ef, 0x003f,
    -    0x003f, 0x003f, 0xcce1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6ea,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe7c2, 0x003f, 0x003f, 0x003f,
    -    0xceb6, 0x003f, 0xf3c0, 0x003f, 0xcdfe, 0x003f, 0x003f, 0x003f,
    -    0xfbd2, 0x003f, 0xf8f8, 0xf7fb, 0x003f, 0x003f, 0xe8bf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedb6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7500 .. 0x75ff */
    -    0x003f, 0xdcba, 0x003f, 0x003f, 0xccb4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf1f7, 0x003f, 0x003f, 0x003f, 0xe8b8, 0x003f, 0x003f,
    -    0xcaf6, 0x003f, 0xe4a4, 0xf4d6, 0x003f, 0x003f, 0x003f, 0xdfe6,
    -    0x003f, 0x003f, 0x003f, 0xdfa7, 0x003f, 0xdfe7, 0xe1c1, 0x003f,
    -    0xe9c4, 0x003f, 0x003f, 0xdccb, 0xe9c5, 0x003f, 0x003f, 0x003f,
    -    0xefa3, 0xeba6, 0xcba3, 0xe3e9, 0x003f, 0x003f, 0x003f, 0xd1fb,
    -    0xefa4, 0x003f, 0xefeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcda3, 0x003f, 0x003f, 0xe8e6,
    -    0x003f, 0xefa5, 0x003f, 0xd3cc, 0xdaed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd7ba, 0x003f, 0xf2d5, 0xf5e5, 0xd9ef, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf9b4, 0x003f, 0x003f, 0xd5d4, 0xfdcf, 0x003f,
    -    0x003f, 0x003f, 0xdbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e1,
    -    0xecb6, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbfe, 0xd3d7, 0x003f,
    -    0xd1b1, 0x003f, 0xcbb1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb2, 0xf1c2,
    -    0x003f, 0x003f, 0xf4e1, 0xf9b5, 0x003f, 0x003f, 0xe1c3, 0xe1c2,
    -    0x003f, 0xebf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbca, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe6b9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8de, 0xf9aa, 0xcaf7, 0x003f, 0xedb7, 0x003f, 0x003f,
    -    0xd3b8, 0xf2d6, 0x003f, 0x003f, 0xd4d9, 0xeec5, 0xf2f0, 0x003f,
    -    0x003f, 0x003f, 0xcab2, 0x003f, 0x003f, 0xdcbb, 0x003f, 0xf1f8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5ca, 0x003f, 0xf6c0, 0xfddd, 0x003f, 0x003f,
    -    0xd4e3, 0xcce2, 0x003f, 0xf7d4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd7e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3c3, 0x003f, 0xd8a6, 0x003f, 0xf6c1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddf6, 0x003f, 0xcdc0, 0x003f, 0x003f, 0x003f,
    -    /* 0x7600 .. 0x76ff */
    -    0xe5dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5cb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe1c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b0,
    -    0xf4b0, 0xf3ea, 0xdaee, 0x003f, 0xd7bb, 0x003f, 0xe2b1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd7aa, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4df, 0x003f, 0xcad6, 0x003f,
    -    0x003f, 0x003f, 0xeba8, 0x003f, 0x003f, 0x003f, 0xdbfe, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf6c2, 0x003f, 0x003f, 0xefbb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4fd, 0x003f, 0x003f, 0xe0c8, 0x003f, 0x003f, 0x003f,
    -    0xe8b9, 0x003f, 0xefa6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcda4, 0x003f, 0x003f, 0xd4f4, 0xdba1, 0xdbdc, 0xdbdd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeedc, 0x003f, 0xcbcb, 0xfcd5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceeb, 0x003f,
    -    0xcdc1, 0x003f, 0x003f, 0xfbd3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9ab, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a9,
    -    0x003f, 0x003f, 0xe9dd, 0xdbcd, 0x003f, 0x003f, 0xddce, 0x003f,
    -    0xe7c3, 0x003f, 0xeccc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf9ec, 0x003f, 0x003f, 0x003f, 0xcbcc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0fc, 0xd4a8, 0x003f, 0xedd3, 0xd8ef,
    -    0x003f, 0xf2d7, 0x003f, 0xcaf8, 0xdaef, 0x003f, 0x003f, 0xd6d4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cd, 0x003f,
    -    0x003f, 0x003f, 0xd8ee, 0x003f, 0xf2c1, 0x003f, 0x003f, 0x003f,
    -    0xdfd3, 0x003f, 0x003f, 0x003f, 0xdaf0, 0x003f, 0xe2ea, 0x003f,
    -    /* 0x7700 .. 0x77ff */
    -    0x003f, 0xe0fd, 0x003f, 0x003f, 0xd8f8, 0x003f, 0x003f, 0x003f,
    -    0xf7af, 0xdab6, 0x003f, 0xcad7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2d8, 0x003f,
    -    0xd8f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfadf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfef,
    -    0xd9c2, 0x003f, 0xf0d2, 0x003f, 0xe4d1, 0x003f, 0x003f, 0x003f,
    -    0xf3b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfae0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xefec, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe2b2, 0x003f, 0xd4bd, 0x003f, 0x003f, 0xd9ce, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf4e2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4a9, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc2, 0xe7da,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf2d9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd9aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8be, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcad, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2eb, 0xd6fc, 0x003f, 0x003f,
    -    0xcaf9, 0x003f, 0x003f, 0xd4da, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf4d7, 0xcca1, 0x003f, 0x003f, 0xcfba,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b8,
    -    0x003f, 0x003f, 0x003f, 0xd9c3, 0xd0e8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3c5, 0xebf8, 0x003f, 0xf2b1, 0x003f, 0x003f,
    -    0x003f, 0xcfbb, 0x003f, 0x003f, 0x003f, 0xd3ad, 0xe8e1, 0xceec,
    -    0x003f, 0x003f, 0x003f, 0xe0b4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7800 .. 0x78ff */
    -    0x003f, 0x003f, 0xdee3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2b2, 0xf3f6, 0xf6db,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd7fe, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf8df, 0x003f, 0xf7f2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6da,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd7bc, 0xcce3, 0x003f, 0x003f, 0xe6db,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdddd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd1b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefed,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6de, 0xe4f4, 0xe1ef, 0x003f,
    -    0x003f, 0xddf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8cf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcae5, 0x003f, 0x003f, 0x003f, 0xdca1,
    -    0x003f, 0xe0b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfcac, 0xfcad, 0xd8a7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xedb8, 0x003f, 0x003f, 0x003f, 0xdbb6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6f0, 0xf3af, 0x003f, 0x003f, 0xcda5, 0x003f,
    -    0xdaf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd8a8, 0x003f, 0x003f, 0x003f, 0xcce4, 0x003f, 0x003f, 0xd1b4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdaf2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7900 .. 0x79ff */
    -    0x003f, 0xf5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5ec, 0xd5f8, 0xdaf3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3c6, 0x003f, 0x003f, 0x003f, 0xdee4, 0x003f,
    -    0xdee5, 0xd1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b6,
    -    0xd1b7, 0xf2b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0d3, 0xf2b4,
    -    0x003f, 0x003f, 0xf0d4, 0xcbe4, 0xfbd4, 0xf5e6, 0xe3ea, 0x003f,
    -    0xdee6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfd4, 0x003f, 0x003f,
    -    0xf8f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ae, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd1b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6df,
    -    0x003f, 0xd0d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfca1, 0xefee, 0xdcd8,
    -    0x003f, 0xe9df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5dd, 0xfdfb,
    -    0x003f, 0x003f, 0xe0c9, 0x003f, 0x003f, 0x003f, 0xd6c9, 0x003f,
    -    0x003f, 0xd4aa, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9e0, 0x003f, 0x003f, 0x003f, 0xd0d8, 0xfca2, 0xd4be,
    -    0xe2b3, 0xdee7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdcbc, 0xd2b6, 0xf5d5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcea1, 0xf5a9, 0x003f, 0x003f, 0xddf9, 0x003f, 0x003f,
    -    0xddfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0d5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6df, 0x003f, 0xf2da, 0xe4eb,
    -    0x003f, 0xf2f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xecb9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7a00 .. 0x7aff */
    -    0xfdfc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1aa, 0x003f, 0x003f,
    -    0xcad9, 0x003f, 0x003f, 0xefef, 0x003f, 0xf5aa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xecf9, 0x003f, 0x003f, 0xf8ad,
    -    0x003f, 0xf2c2, 0xf6c3, 0x003f, 0xd7d2, 0x003f, 0x003f, 0xf9a2,
    -    0xf0d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0fa, 0x003f,
    -    0x003f, 0xf6e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f3, 0xf2c3,
    -    0x003f, 0x003f, 0x003f, 0xd4ab, 0xcab3, 0xcda6, 0x003f, 0xcdc3,
    -    0xcdda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cf, 0x003f,
    -    0x003f, 0xf6c4, 0x003f, 0x003f, 0x003f, 0xeedd, 0xe7c4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2b4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfe2, 0xe7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe8b1, 0x003f, 0xfcae, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5cd, 0x003f, 0x003f, 0x003f, 0xfaeb, 0x003f, 0xcfbc, 0x003f,
    -    0x003f, 0xcfe2, 0xcdf6, 0x003f, 0x003f, 0xeff0, 0x003f, 0xf4be,
    -    0x003f, 0xd4cd, 0x003f, 0x003f, 0xf3b8, 0x003f, 0x003f, 0x003f,
    -    0xe9a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf2f2, 0xf3eb, 0x003f, 0xf0d7, 0x003f, 0x003f,
    -    0xcfd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfdf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe8c0, 0xe8c1, 0x003f, 0x003f, 0x003f, 0xcfe3, 0xe9a2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd0aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3c1, 0xd0ab, 0x003f, 0xd4e4,
    -    0x003f, 0x003f, 0xefbc, 0xd8a1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9df,
    -    0x003f, 0xf3d7, 0x003f, 0x003f, 0x003f, 0xdcbd, 0x003f, 0xcce5,
    -    0xedf1, 0x003f, 0x003f, 0xf1e2, 0x003f, 0xd4db, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe2b5, 0x003f, 0x003f, 0xcae6, 0x003f, 0xd3ae,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce6, 0x003f,
    -    0x003f, 0xf1d3, 0xf5e7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcada,
    -    /* 0x7b00 .. 0x7bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbee,
    -    0x003f, 0xe1c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfe9, 0x003f, 0xeede, 0x003f, 0x003f, 0xf7c2, 0x003f,
    -    0xd8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddac, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf0af, 0xd6bd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe1ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9b6, 0x003f,
    -    0x003f, 0xd4f5, 0x003f, 0xd0c9, 0xefa7, 0xe2ec, 0x003f, 0xdbea,
    -    0xcecc, 0xf5e8, 0xf7d5, 0x003f, 0xd3cd, 0x003f, 0xf3fe, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd0b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fe, 0x003f, 0xdffb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6dd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbcd,
    -    0x003f, 0x003f, 0x003f, 0xefa8, 0x003f, 0x003f, 0x003f, 0xeeb4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdad8, 0xd1b9, 0x003f, 0xdfa9,
    -    0x003f, 0x003f, 0xf3b0, 0x003f, 0x003f, 0xccc4, 0x003f, 0x003f,
    -    0x003f, 0xceb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefa9, 0x003f, 0x003f,
    -    0x003f, 0xdfd5, 0x003f, 0x003f, 0xedd7, 0x003f, 0x003f, 0x003f,
    -    0xeec6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefbd, 0xfcd6, 0x003f, 0x003f, 0xdbf4, 0x003f, 0xefaa, 0xf8b9,
    -    0x003f, 0xf5e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe1c6, 0x003f, 0x003f, 0x003f, 0xd4bf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdee8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7c00 .. 0x7cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ea,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3af, 0x003f,
    -    0x003f, 0xcadb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcd7,
    -    0x003f, 0x003f, 0xedd8, 0xe1c7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d8, 0xd6b3, 0xddad,
    -    0x003f, 0x003f, 0x003f, 0xd5be, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf1c3, 0xeedf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd6eb, 0x003f, 0x003f, 0x003f, 0xf4d9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd7e6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdab7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xddfb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xddcf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8a3, 0x003f, 0x003f, 0xdad9, 0x003f, 0xf0d8,
    -    0xefc4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1d8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1d4, 0x003f, 0xedf2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5db, 0x003f,
    -    0x003f, 0xd5dc, 0xf3c4, 0xcbd7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe2b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfbd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddd0, 0xf0d9,
    -    0xcbb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5dd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcda7, 0x003f, 0x003f, 0xd0ac, 0x003f,
    -    /* 0x7d00 .. 0x7dff */
    -    0xd1ba, 0x003f, 0xf1c4, 0x003f, 0xe5b3, 0xfbf5, 0xe9e1, 0xfde0,
    -    0xfcbc, 0x003f, 0xdaa2, 0xdaa3, 0x003f, 0xd2a1, 0x003f, 0x003f,
    -    0xd2ef, 0x003f, 0x003f, 0x003f, 0xe2ed, 0x003f, 0x003f, 0xdee9,
    -    0xcedc, 0xf2b5, 0xd0e4, 0xddd1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe1c8, 0xdbb7, 0xdfe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedb9, 0xf1c5, 0x003f, 0xf3cf, 0xd7ab,
    -    0xe1ac, 0x003f, 0x003f, 0xe3eb, 0x003f, 0xeec7, 0x003f, 0x003f,
    -    0x003f, 0xe1c9, 0xcafa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf0fb, 0xfae1, 0xf0da, 0xcce7, 0xdaf4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xccbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceed, 0x003f,
    -    0x003f, 0xd5a9, 0xfae2, 0x003f, 0x003f, 0x003f, 0xd0e5, 0x003f,
    -    0xebd6, 0x003f, 0xecdf, 0x003f, 0x003f, 0x003f, 0xdffc, 0x003f,
    -    0x003f, 0xf7d6, 0xdeea, 0xcbb4, 0x003f, 0x003f, 0xefbe, 0x003f,
    -    0x003f, 0xccb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfbd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff2, 0xe2b7,
    -    0x003f, 0x003f, 0x003f, 0xcce8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf0fc, 0x003f, 0x003f, 0x003f,
    -    0xd6e0, 0x003f, 0xf1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2b8, 0xebab, 0x003f, 0x003f,
    -    0x003f, 0xcbb5, 0xd8d1, 0x003f, 0xf4ce, 0xf3f7, 0x003f, 0x003f,
    -    0xd7c6, 0x003f, 0xd1bb, 0xf7aa, 0x003f, 0xedca, 0xd7d3, 0xd8fa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6c5,
    -    0x003f, 0x003f, 0xd1cc, 0xddfc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdffd, 0x003f,
    -    0xf9e5, 0x003f, 0xe0ca, 0x003f, 0x003f, 0xf2fd, 0xd3b0, 0x003f,
    -    0xf4f3, 0xdac9, 0x003f, 0xe6de, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf8ba, 0xe8d0, 0x003f, 0x003f, 0xd8fb, 0x003f, 0x003f, 0xead5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf6c6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7e00 .. 0x7eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf2db, 0xe4fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdada, 0x003f, 0xf2dc, 0xfbd6, 0xe9b2,
    -    0x003f, 0xeead, 0x003f, 0xfae3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdcee, 0x003f, 0x003f, 0xf5ea, 0xe6e0,
    -    0x003f, 0xf0fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ac,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5c5, 0xeee0, 0x003f,
    -    0x003f, 0xdbe5, 0x003f, 0xddde, 0x003f, 0x003f, 0xd9f0, 0xe9a3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1f9, 0x003f, 0xf2c4, 0xe0cb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a4, 0x003f,
    -    0x003f, 0xe2b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3b1, 0xfceb, 0xcda8, 0x003f, 0xccb6, 0x003f, 0x003f,
    -    0xf0db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe6ba, 0x003f, 0x003f, 0xcda9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1d9, 0x003f, 0x003f, 0xefab,
    -    0x003f, 0x003f, 0x003f, 0xe7c5, 0x003f, 0x003f, 0xe0e9, 0x003f,
    -    0xf3c5, 0x003f, 0x003f, 0xd4c0, 0xd5bf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7f00 .. 0x7fff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddae, 0x003f,
    -    0xf9fc, 0x003f, 0xccc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe5a2, 0x003f, 0x003f, 0x003f,
    -    0xceb8, 0x003f, 0x003f, 0x003f, 0xd8d2, 0xf9d6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1aa, 0xced1, 0x003f, 0x003f, 0xf6c7, 0x003f,
    -    0xdbeb, 0x003f, 0xdffe, 0x003f, 0x003f, 0xd8e1, 0x003f, 0xf7f3,
    -    0x003f, 0xd7e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4fe, 0x003f, 0x003f,
    -    0xd1bc, 0x003f, 0xe5cf, 0x003f, 0xcbb6, 0x003f, 0xdab8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcdc4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6be, 0x003f, 0x003f, 0x003f, 0xe2ba, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcfd8, 0x003f, 0x003f, 0x003f,
    -    0xe0cc, 0xebf9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfdfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd7e8, 0xcbd8, 0x003f, 0x003f, 0x003f, 0xe9e2, 0x003f, 0x003f,
    -    0x003f, 0xe8ba, 0x003f, 0x003f, 0x003f, 0xe3c7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeccd, 0x003f, 0xecce, 0x003f, 0xd6bf, 0x003f,
    -    0x003f, 0x003f, 0xe3a7, 0x003f, 0xdfd6, 0xfde8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee1,
    -    0xf6a8, 0xddfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8bb, 0x003f, 0xe8d1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf9d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xceee, 0x003f, 0x003f, 0xeccf, 0x003f, 0x003f, 0x003f,
    -    /* 0x8000 .. 0x80ff */
    -    0xe9a5, 0xd6d5, 0x003f, 0xcdc5, 0x003f, 0xedba, 0xd1bd, 0x003f,
    -    0x003f, 0xcfbe, 0x003f, 0x003f, 0xecbb, 0x003f, 0x003f, 0x003f,
    -    0xd2b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce9, 0x003f, 0xd9c4,
    -    0xe9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1be, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xecbc, 0x003f, 0x003f, 0xe5ad, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7b0, 0x003f, 0xccea,
    -    0x003f, 0x003f, 0x003f, 0xd3c4, 0x003f, 0x003f, 0xd6c0, 0x003f,
    -    0x003f, 0x003f, 0xd6fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a1, 0x003f,
    -    0xdebd, 0x003f, 0xf6a9, 0x003f, 0x003f, 0x003f, 0xdaa4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a4,
    -    0xf5c6, 0x003f, 0xe1a2, 0xe9c6, 0x003f, 0x003f, 0x003f, 0xf2c5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4e9, 0xd6ec, 0xebd3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xecbd, 0xe2dc, 0xdeeb, 0xf0dc,
    -    0x003f, 0xebbf, 0x003f, 0xd7ce, 0xd1bf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5ab, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9fd, 0x003f, 0xcadc, 0x003f, 0x003f,
    -    0x003f, 0xcdc6, 0xf2b6, 0x003f, 0x003f, 0xddfe, 0x003f, 0x003f,
    -    0x003f, 0xccb7, 0xdbb8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0e9,
    -    0x003f, 0xcedd, 0xebc0, 0x003f, 0xfda2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf8cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xead6, 0xf1b0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdbce, 0x003f, 0xf7c3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbcf, 0xcba4, 0x003f, 0x003f, 0xf8e0, 0x003f,
    -    0x003f, 0xfbd7, 0x003f, 0x003f, 0xebca, 0xe0a1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcecd, 0x003f, 0x003f, 0xd4dc, 0x003f, 0x003f, 0x003f,
    -    0xfdd8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2f6, 0x003f, 0x003f,
    -    /* 0x8100 .. 0x81ff */
    -    0x003f, 0x003f, 0xf2b7, 0x003f, 0x003f, 0xfaf6, 0xf6aa, 0xfaf7,
    -    0xd8e6, 0x003f, 0xf4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8d2, 0x003f, 0xcac5, 0xcceb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2ee, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe2bb, 0x003f, 0xf7ad, 0x003f, 0x003f, 0x003f, 0xf8e1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3ec, 0x003f, 0x003f, 0x003f, 0x003f, 0xdea1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe4fd, 0x003f, 0x003f, 0xe3ec, 0x003f,
    -    0xddaf, 0xddb0, 0x003f, 0x003f, 0xcbb7, 0xe8d3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a3, 0xd2e0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0fe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9a6, 0xcbf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedf3, 0xdcd9, 0xe0cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7da,
    -    0xdbb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xccae, 0x003f, 0xdadb, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddb1, 0x003f, 0xd8af, 0xe3a3, 0x003f, 0x003f,
    -    0xceef, 0x003f, 0x003f, 0xf2f3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf8b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0ce, 0x003f, 0xf5fd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xebec, 0x003f, 0x003f, 0xd3c5, 0xfcec, 0xd2db,
    -    0xd4eb, 0x003f, 0xdea2, 0x003f, 0x003f, 0x003f, 0xe5e6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0b0, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf4,
    -    0x003f, 0x003f, 0x003f, 0xe3ed, 0x003f, 0xe8c2, 0x003f, 0xedf5,
    -    0xd7fc, 0x003f, 0xedbb, 0x003f, 0x003f, 0xf6ab, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf2b8, 0xf6c8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd3e6, 0xf2dd, 0xcfbf, 0x003f, 0xebac, 0x003f,
    -    /* 0x8200 .. 0x82ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfc0, 0x003f, 0xe6a8,
    -    0xfde9, 0x003f, 0xcfc1, 0x003f, 0xe0df, 0xdeec, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf4bf, 0xe2ef, 0x003f, 0xd9f1, 0xf1c7,
    -    0x003f, 0xcbb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf9fe, 0xdbba, 0xdaf5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6ec, 0xdadc, 0xfae4,
    -    0x003f, 0xe0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xddb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a9, 0x003f, 0xeff3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf3ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xebfa, 0x003f, 0xf9e6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcadd, 0xd5de,
    -    0x003f, 0xcade, 0xdfe4, 0x003f, 0x003f, 0x003f, 0xe6fd, 0x003f,
    -    0xf5ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe9e3, 0x003f, 0xedcb, 0xcfe4, 0x003f,
    -    0x003f, 0x003f, 0xd8d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xddb3, 0xd4ec, 0x003f, 0x003f, 0xf2b9, 0x003f, 0xdfb7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbce, 0xfbd8, 0x003f,
    -    0x003f, 0xd0d9, 0x003f, 0x003f, 0xddd2, 0xf7f4, 0xe7dc, 0xe4a5,
    -    0x003f, 0xfca3, 0x003f, 0xdbbb, 0x003f, 0x003f, 0x003f, 0xf2ba,
    -    0xe9fd, 0xd0ca, 0x003f, 0xf5d6, 0xd9c5, 0xe4b4, 0x003f, 0xeda7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeabd, 0xe6fe, 0x003f, 0xf7c4, 0xf5ad, 0x003f, 0xd9e0,
    -    0x003f, 0x003f, 0x003f, 0xcab4, 0x003f, 0x003f, 0xf8e2, 0xcfc2,
    -    0x003f, 0xecbe, 0x003f, 0x003f, 0x003f, 0xe5b4, 0xcdc8, 0xeec8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe7c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc9, 0xf9b7, 0x003f,
    -    /* 0x8300 .. 0x83ff */
    -    0x003f, 0xf1e8, 0xd9f2, 0xdbf5, 0xcab5, 0xd9c6, 0x003f, 0x003f,
    -    0x003f, 0xd8c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ab,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedbc, 0x003f, 0x003f, 0xd8d4, 0x003f, 0x003f, 0x003f, 0xdcda,
    -    0x003f, 0xe2bc, 0x003f, 0x003f, 0xfced, 0xece0, 0xd2fe, 0x003f,
    -    0xe9c7, 0xe6aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfabb,
    -    0x003f, 0xf5ae, 0xfbaa, 0x003f, 0x003f, 0x003f, 0x003f, 0xecfb,
    -    0x003f, 0xecbf, 0xfcd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd4e5, 0x003f, 0x003f, 0x003f, 0xf9c3,
    -    0x003f, 0x003f, 0x003f, 0xeee2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd7e9, 0xedf6, 0x003f, 0x003f, 0x003f, 0xdeed, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccec, 0x003f,
    -    0xe3ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8d4, 0x003f,
    -    0x003f, 0x003f, 0xfaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xddb4, 0xe4b5, 0xd8b0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8d5, 0x003f, 0x003f,
    -    0x003f, 0xf4ea, 0x003f, 0x003f, 0x003f, 0xceb9, 0x003f, 0x003f,
    -    0x003f, 0xd6e1, 0xcfd2, 0x003f, 0xd0b6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcea2, 0x003f, 0x003f, 0xf3ee, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf3f8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdccc, 0x003f, 0xd0cb, 0x003f, 0x003f, 0x003f, 0xfca4,
    -    0xcdca, 0xd7d4, 0xdea3, 0x003f, 0xe4e0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeec9, 0x003f, 0x003f, 0x003f, 0xe2dd, 0x003f, 0x003f,
    -    /* 0x8400 .. 0x84ff */
    -    0x003f, 0x003f, 0x003f, 0xf5fe, 0xd4ac, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5d1, 0x003f, 0xd8f0, 0xf8c3, 0xead7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf5d7, 0x003f, 0x003f, 0xd8bf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfdc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xebad, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5aa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe7a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeca,
    -    0x003f, 0x003f, 0x003f, 0xcae7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8e3, 0x003f, 0xd4dd, 0x003f, 0x003f, 0xead8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfbd9, 0xedf7, 0x003f, 0x003f, 0xe5b5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0ad, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2bd, 0x003f, 0x003f, 0x003f, 0xe3c8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd9d5, 0x003f, 0x003f, 0xdfaa, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdbbc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf8e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf1fa, 0x003f, 0x003f, 0xe5b6, 0xf3ef, 0x003f, 0x003f, 0xfbda,
    -    0xe1e0, 0x003f, 0xd9ac, 0x003f, 0xf5eb, 0x003f, 0xe0b6, 0x003f,
    -    0x003f, 0xe9c8, 0x003f, 0xcbcf, 0x003f, 0xe3c9, 0x003f, 0x003f,
    -    0x003f, 0xdeee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe2be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdcef, 0x003f, 0xd6a5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe2f1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6fe, 0x003f, 0x003f, 0x003f,
    -    /* 0x8500 .. 0x85ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd9a1, 0x003f, 0xd8c0, 0xdcdb, 0x003f, 0x003f, 0xedbd,
    -    0xdfb8, 0x003f, 0xeaa5, 0x003f, 0x003f, 0x003f, 0xd7ad, 0x003f,
    -    0x003f, 0xf3f9, 0x003f, 0xedf8, 0x003f, 0xf5c7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ca, 0xebe3, 0x003f, 0xf2de,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8cc, 0x003f, 0xead9,
    -    0x003f, 0xd3c6, 0x003f, 0xdbe6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf5af, 0x003f, 0x003f, 0x003f, 0x003f, 0xcef0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe9fe, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfbb6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2f2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcff2, 0xf7b9, 0xd9f3, 0x003f, 0x003f, 0xe1cb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdadd, 0x003f, 0x003f, 0xdab9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebfb,
    -    0x003f, 0xcbb9, 0x003f, 0x003f, 0xedf9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0e0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4c0, 0x003f,
    -    0xfdbc, 0xdfb1, 0xe3ef, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a3,
    -    0xfdb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdcb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xedbe, 0x003f, 0x003f, 0x003f, 0xd5c0, 0xe3f0, 0xedfa,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd5ed, 0xe7dd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd4f6, 0xe5b7, 0x003f, 0x003f,
    -    0x003f, 0xdbe7, 0xe2bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeecb,
    -    0x003f, 0x003f, 0xd7f4, 0xf0dd, 0x003f, 0x003f, 0x003f, 0xceab,
    -    /* 0x8600 .. 0x86ff */
    -    0x003f, 0x003f, 0xe7de, 0x003f, 0x003f, 0x003f, 0xd6d6, 0xe1cc,
    -    0x003f, 0x003f, 0xe8b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ee, 0xdca2,
    -    0x003f, 0x003f, 0xe0d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbdb, 0x003f,
    -    0xf9cb, 0x003f, 0x003f, 0x003f, 0xcbf3, 0xf4a5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfac8, 0xd6d7, 0x003f, 0xe9e5, 0xfbdc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfbf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdaa5, 0x003f, 0xdbbd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xece2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcdf7, 0xf0de, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf6c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeef,
    -    0x003f, 0x003f, 0x003f, 0xd3b1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfcee, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe8c3, 0x003f, 0xf1c8, 0x003f, 0x003f, 0x003f, 0xcef1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf9ed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2f4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b6, 0x003f,
    -    /* 0x8700 .. 0x87ff */
    -    0xf5b9, 0x003f, 0xdcf0, 0xe3f1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2bb, 0x003f, 0xdea4, 0x003f, 0xdacc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcae9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3da, 0x003f, 0xfcd9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeada,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9c4, 0x003f,
    -    0xe3a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfbdd, 0x003f, 0xefca, 0x003f,
    -    0xe8c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebd7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ad,
    -    0x003f, 0x003f, 0xfbab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd3d9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6de, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0d1, 0x003f, 0x003f, 0xe9a8,
    -    0x003f, 0x003f, 0xf5f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfaaf, 0x003f, 0xebfc, 0x003f, 0x003f, 0xe0ea, 0x003f,
    -    /* 0x8800 .. 0x88ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5c5,
    -    0x003f, 0x003f, 0xf1e3, 0xd5ee, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8c1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfaec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1eb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfabc, 0xe6e2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfae5, 0xe2fa, 0x003f, 0x003f, 0x003f, 0xcab6,
    -    0x003f, 0xe4b7, 0x003f, 0xeadb, 0x003f, 0xf5fa, 0x003f, 0x003f,
    -    0x003f, 0xfbac, 0xcfc3, 0xebfd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf8fa, 0x003f, 0x003f, 0xdfb9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe1f1, 0x003f, 0xd2a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5fb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0da, 0xd0db,
    -    0x003f, 0xeabe, 0xd9b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcab7, 0x003f, 0x003f, 0xd3e7, 0x003f, 0xf8e5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd3b2, 0x003f, 0x003f, 0x003f, 0xe2c0, 0xf2df,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9ac, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcdcd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeeae, 0xd6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ea,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe7e0, 0xebae, 0x003f, 0x003f,
    -    0x003f, 0xcfd9, 0x003f, 0x003f, 0xdccd, 0xedfb, 0x003f, 0xdef0,
    -    0x003f, 0xd7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdea5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdfd7, 0xdbd0, 0xdbd1, 0x003f, 0x003f,
    -    0xd5a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0b2, 0x003f, 0x003f,
    -    /* 0x8900 .. 0x89ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcdc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcae8, 0x003f, 0xf8e6, 0xdcce, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xeadc, 0xdbd2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a8, 0x003f,
    -    0xd7ae, 0x003f, 0x003f, 0xe0e1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcbba, 0x003f, 0x003f, 0xe5d1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0dc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd5c1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe3a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a4,
    -    0x003f, 0xe9a9, 0x003f, 0xd3c7, 0x003f, 0x003f, 0xdcdd, 0xf8ae,
    -    0x003f, 0x003f, 0x003f, 0xccb8, 0x003f, 0x003f, 0x003f, 0xd0ae,
    -    0x003f, 0x003f, 0x003f, 0xd8f2, 0x003f, 0x003f, 0xe3ca, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd4ad, 0xf6d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd0cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcac6, 0x003f, 0x003f, 0xd5c2, 0x003f, 0x003f,
    -    0xceba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfab0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdfd8, 0x003f, 0x003f, 0x003f,
    -    0xf5ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8a00 .. 0x8aff */
    -    0xe5eb, 0x003f, 0xeff4, 0xddb5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcdaa, 0x003f, 0xe3f2, 0x003f, 0xfbf7, 0x003f, 0xf7d0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfdba, 0x003f, 0x003f, 0xfde1, 0xf6fe,
    -    0xd1c0, 0x003f, 0x003f, 0xe8c5, 0x003f, 0xe4b8, 0x003f, 0xe1e8,
    -    0x003f, 0x003f, 0x003f, 0xccc1, 0x003f, 0xd2ed, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbbe, 0x003f, 0x003f, 0xe0e2, 0x003f, 0x003f,
    -    0x003f, 0xfac9, 0x003f, 0x003f, 0xe1cd, 0x003f, 0xcab8, 0x003f,
    -    0x003f, 0x003f, 0xf2e0, 0xf1c9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdef1, 0x003f, 0x003f, 0x003f, 0xf0df, 0xf8c4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeecc, 0x003f, 0x003f, 0xdef2, 0x003f,
    -    0xe7c9, 0x003f, 0xe2f3, 0xe7e1, 0x003f, 0x003f, 0xe3cb, 0x003f,
    -    0x003f, 0xe3cc, 0x003f, 0x003f, 0x003f, 0xcff8, 0xefac, 0x003f,
    -    0xfdfe, 0xfca5, 0xfab1, 0xdfd9, 0x003f, 0xe0d2, 0x003f, 0x003f,
    -    0x003f, 0xf4da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ca, 0x003f, 0xcea3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf2bc, 0xece3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe0a5, 0x003f, 0xf7ab, 0x003f, 0x003f,
    -    0xebaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5de, 0x003f,
    -    0xe1a4, 0xcdab, 0x003f, 0xd9f4, 0xe8a6, 0xcdce, 0xe1e9, 0x003f,
    -    0xfcef, 0x003f, 0xe0e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2c1, 0x003f, 0xcea4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdea6, 0x003f, 0x003f, 0xebfe, 0x003f, 0xebdd, 0xf0e0,
    -    0x003f, 0x003f, 0xf4db, 0x003f, 0xe2f4, 0x003f, 0x003f, 0xd3c8,
    -    0x003f, 0x003f, 0x003f, 0xf4eb, 0x003f, 0xeeb5, 0x003f, 0xf5d8,
    -    0x003f, 0x003f, 0xd5df, 0x003f, 0x003f, 0x003f, 0xd6e5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xebb0, 0xf4e3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe3cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f4, 0xfab2,
    -    0x003f, 0x003f, 0xeff5, 0xcadf, 0x003f, 0xebb1, 0xedbf, 0x003f,
    -    0x003f, 0xfdc9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a6, 0xf9a4,
    -    0xf0b3, 0x003f, 0xe5ec, 0x003f, 0x003f, 0x003f, 0xd1e7, 0x003f,
    -    /* 0x8b00 .. 0x8bff */
    -    0xd9c7, 0xe4d7, 0xeadd, 0x003f, 0xd4f7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaba, 0x003f,
    -    0xdacd, 0x003f, 0x003f, 0x003f, 0xf9cc, 0x003f, 0xe1da, 0xdbbf,
    -    0x003f, 0xccc5, 0xecd0, 0xcbbb, 0x003f, 0xdef3, 0x003f, 0x003f,
    -    0xe9aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9c8, 0x003f, 0x003f, 0xeee3, 0xd7bd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcfc4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd0cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfca6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf1fb, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd2, 0xd1c1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe3db, 0x003f, 0xd3c9, 0x003f, 0xdccf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcced, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdea7, 0x003f, 0x003f, 0xe6bb,
    -    0xeca1, 0x003f, 0x003f, 0x003f, 0xccb9, 0x003f, 0x003f, 0xfbde,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e2, 0x003f, 0x003f,
    -    0xd4c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdca8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2c2, 0x003f, 0xf3d8, 0xe5d3, 0x003f, 0x003f, 0xf3d9, 0x003f,
    -    0x003f, 0x003f, 0xf3c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8c00 .. 0x8cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcddb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdac,
    -    0x003f, 0xfcc3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e7, 0x003f,
    -    0xd1c2, 0x003f, 0xf9a5, 0x003f, 0xe8d5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3ce, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd4ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfbdf, 0xe7e3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8fb, 0xe3cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8e7, 0x003f, 0xd9c9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8af, 0xeff6, 0x003f,
    -    0xddb6, 0xeeaf, 0xcdf8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeb8,
    -    0xfca7, 0xf7fc, 0xf7b1, 0xcebb, 0xf4a1, 0x003f, 0x003f, 0xeecd,
    -    0xe1ae, 0x003f, 0x003f, 0xecc3, 0xcffe, 0x003f, 0xf8bf, 0xd8e2,
    -    0xd3e8, 0x003f, 0x003f, 0xdea8, 0xf4e4, 0xecc2, 0x003f, 0xd9f5,
    -    0xf9c5, 0xddd3, 0xd6f1, 0xecfc, 0xfcf0, 0x003f, 0x003f, 0xedc0,
    -    0xcab9, 0x003f, 0xeee4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf2e1, 0x003f, 0xdeb9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd6f2, 0x003f, 0xdef4, 0x003f, 0xdfdb, 0x003f,
    -    0xdbd3, 0x003f, 0xfae7, 0xd8e3, 0xf4c1, 0x003f, 0xddb7, 0x003f,
    -    0x003f, 0x003f, 0xf2f5, 0x003f, 0x003f, 0xd4ae, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6f3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xddb8, 0xcfc5, 0xdfdf, 0x003f, 0x003f,
    -    /* 0x8d00 .. 0x8dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf2be, 0xf6a1, 0x003f, 0xebcb,
    -    0xf1fc, 0x003f, 0xf3c7, 0x003f, 0x003f, 0xe0eb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xedfc, 0x003f, 0x003f, 0xe1db, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeee5, 0x003f, 0xdef5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfad3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf1cb, 0x003f, 0x003f, 0xd0af, 0xddb9, 0x003f, 0x003f, 0xd1c3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xeac6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf0e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf6ac, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0eb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xddba, 0x003f, 0x003f, 0x003f, 0xf2bf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7c5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdba2, 0xf2f6, 0x003f, 0x003f, 0xcaba,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf7f5, 0x003f, 0xcbe5, 0x003f, 0x003f,
    -    0x003f, 0xeee6, 0x003f, 0xe0d3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcea5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d8,
    -    0x003f, 0x003f, 0x003f, 0xd4af, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8e00 .. 0x8eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ce,
    -    0xf4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbe6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xebb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xebb3, 0x003f, 0xf0b4, 0x003f, 0x003f, 0xcbf4,
    -    0xd4b0, 0xf3b2, 0xfbb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf5ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee7,
    -    0xf4b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf5ed, 0x003f, 0xcff3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf0e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeece,
    -    0x003f, 0x003f, 0xf1cc, 0x003f, 0x003f, 0xe5b8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd7f5, 0xe3f3, 0xcfe5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcfc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf3b3, 0xe4d8, 0xcff9, 0xcfda, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfacd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf2e2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf5ee, 0x003f, 0x003f, 0xcabb, 0x003f, 0x003f, 0xe3dc, 0x003f,
    -    /* 0x8f00 .. 0x8fff */
    -    0x003f, 0x003f, 0x003f, 0xcef2, 0x003f, 0xd6d9, 0x003f, 0x003f,
    -    0x003f, 0xeeb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf4e5, 0xd8c2, 0xdcd0, 0xccee, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5e0, 0xf6ca, 0xfdca, 0xd8d6, 0xf4cf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a6, 0xdcbe,
    -    0x003f, 0xdbd4, 0xd7c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2fe,
    -    0x003f, 0x003f, 0x003f, 0xf1cd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2c3, 0xdcde, 0x003f, 0xdcdf, 0x003f, 0x003f, 0xefad, 0xe6ab,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf9dd, 0xeabf, 0x003f, 0x003f,
    -    0x003f, 0xefae, 0x003f, 0x003f, 0x003f, 0xf4d0, 0xcef3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ac, 0x003f, 0xcede,
    -    0x003f, 0x003f, 0xd5f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe3f4, 0xcdd0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5b8, 0x003f, 0x003f, 0xf7fd, 0x003f,
    -    0xdca9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdef6, 0x003f, 0xdcaa,
    -    0xf2e3, 0xe9b4, 0xd2dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9e6, 0x003f, 0x003f, 0xe3f6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7ca, 0x003f,
    -    0x003f, 0xd0ce, 0x003f, 0x003f, 0xdaf7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcabc, 0x003f,
    -    0x003f, 0x003f, 0xeee8, 0xdade, 0x003f, 0xf2f7, 0x003f, 0x003f,
    -    0xe2fb, 0x003f, 0xcca6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdabb,
    -    0x003f, 0xeee9, 0x003f, 0x003f, 0x003f, 0xf5da, 0x003f, 0x003f,
    -    /* 0x9000 .. 0x90ff */
    -    0xf7dc, 0xe1ea, 0xcec1, 0xd4b1, 0x003f, 0xfdb1, 0xe6bd, 0x003f,
    -    0xfbad, 0x003f, 0x003f, 0xf8e7, 0x003f, 0xe1ce, 0x003f, 0xf7e2,
    -    0xf5ef, 0xcfc7, 0x003f, 0x003f, 0xd4b2, 0xccef, 0x003f, 0xd4e8,
    -    0x003f, 0xeecf, 0xf7d7, 0x003f, 0x003f, 0xe0a6, 0xd6c1, 0xe1dc,
    -    0xf0e3, 0xf1e4, 0xdcf1, 0xd6a7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f5, 0x003f,
    -    0x003f, 0xf1ce, 0xf2e4, 0x003f, 0x003f, 0xd0b0, 0x003f, 0x003f,
    -    0xecef, 0x003f, 0x003f, 0x003f, 0xf9ba, 0x003f, 0xebb5, 0x003f,
    -    0x003f, 0xd4ed, 0xe2c4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e7,
    -    0x003f, 0x003f, 0xebb4, 0xeaa1, 0x003f, 0xf8bc, 0xcea6, 0x003f,
    -    0xf9c6, 0xfcda, 0x003f, 0xd4b3, 0xd3b9, 0xeade, 0x003f, 0x003f,
    -    0x003f, 0xe9ab, 0x003f, 0x003f, 0xe1e1, 0xd3cf, 0xf4f6, 0x003f,
    -    0xeac0, 0xe1cf, 0x003f, 0xccba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeeea, 0x003f, 0x003f, 0x003f, 0xf0e4, 0xf3b4, 0xd4ee,
    -    0x003f, 0x003f, 0xf2c0, 0x003f, 0x003f, 0xf1e5, 0x003f, 0xf4c3,
    -    0xe0d4, 0x003f, 0xebb6, 0x003f, 0xd7a1, 0xcbe8, 0x003f, 0xf9ad,
    -    0xe9ad, 0xd8e4, 0xfab3, 0xe2c5, 0xfcbd, 0x003f, 0x003f, 0xecc4,
    -    0xd8b1, 0x003f, 0xdcab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a4,
    -    0x003f, 0xebe9, 0x003f, 0x003f, 0x003f, 0xe8bb, 0x003f, 0x003f,
    -    0x003f, 0xd8d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xfbae, 0xd1e1, 0x003f, 0x003f, 0xdbc0, 0x003f,
    -    0xf5be, 0x003f, 0xdef7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafb,
    -    0xf7c6, 0xcfc8, 0x003f, 0x003f, 0x003f, 0xe1d0, 0x003f, 0x003f,
    -    0xeed0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe9f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cd, 0x003f,
    -    0x003f, 0xcfdb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xddbb, 0x003f, 0x003f, 0x003f, 0x003f, 0xceac, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4b4, 0x003f, 0x003f,
    -    /* 0x9100 .. 0x91ff */
    -    0x003f, 0x003f, 0xe4c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf5db, 0x003f, 0x003f, 0xfac1, 0x003f, 0x003f,
    -    0x003f, 0xdea9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd3b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xebb7, 0xeff8, 0xf5dc, 0xedcc, 0xdbd5, 0xf1cf, 0x003f,
    -    0x003f, 0x003f, 0xf1d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd9ae, 0xd5ac, 0x003f, 0xe2c6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfda3, 0x003f, 0xfbe5,
    -    0xdfab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f5,
    -    0x003f, 0xf6ad, 0x003f, 0xf5b3, 0x003f, 0xf0b5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe1a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf5dd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeca2, 0xedfd, 0x003f, 0xf5b4, 0xfbb8,
    -    0x003f, 0xdba3, 0x003f, 0x003f, 0xd6ca, 0xcbd9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fa,
    -    0x003f, 0xebb8, 0x003f, 0xe0b7, 0xd7ec, 0xf1ec, 0xe5af, 0xd5e1,
    -    0xd7ed, 0xd1d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f2,
    -    0xeff9, 0x003f, 0x003f, 0x003f, 0xddbc, 0xf6dc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0e5, 0x003f, 0x003f, 0x003f, 0xf4c4,
    -    0x003f, 0x003f, 0xe9e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9200 .. 0x92ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4ef, 0x003f, 0x003f,
    -    0xcca2, 0xf7fe, 0xdfbc, 0x003f, 0x003f, 0x003f, 0x003f, 0xebcd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6c2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe8ad, 0x003f, 0x003f, 0x003f, 0x003f, 0xefaf,
    -    0xcba5, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbe9, 0x003f, 0x003f,
    -    0x003f, 0xfae8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccc6,
    -    0x003f, 0x003f, 0x003f, 0xe6e7, 0x003f, 0x003f, 0xeac7, 0x003f,
    -    0x003f, 0x003f, 0xdba4, 0x003f, 0xcfc9, 0xe2fc, 0xeffa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xebde, 0x003f, 0x003f, 0xf5c8, 0x003f, 0xd4de, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe0d5, 0x003f, 0xefb0, 0x003f, 0x003f, 0xe2c7, 0x003f,
    -    0xd9af, 0x003f, 0x003f, 0x003f, 0xf9e7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe7e5, 0x003f, 0x003f, 0xcfca, 0xe1d1,
    -    0x003f, 0xe2c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeffb, 0x003f, 0x003f, 0xfaf9,
    -    0x003f, 0x003f, 0xdcf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0a7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf8e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcbea, 0x003f, 0x003f, 0x003f, 0xcbbc, 0x003f, 0x003f, 0x003f,
    -    /* 0x9300 .. 0x93ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd6e2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf5de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf5df, 0x003f, 0xeeb6, 0x003f, 0x003f, 0x003f, 0xe2f6, 0xd3ca,
    -    0xeffc, 0xd1c4, 0xefb1, 0x003f, 0xd1c5, 0x003f, 0xd0de, 0x003f,
    -    0xd9e1, 0x003f, 0x003f, 0xe0b8, 0x003f, 0x003f, 0xcdd1, 0xf3b9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe7cc, 0x003f, 0xd6a8, 0xcea7, 0x003f, 0xd4b5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4c8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd3b4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebb9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6dd, 0x003f, 0xf1a3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xccc7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe9ca, 0x003f, 0xe1f0, 0x003f,
    -    0x003f, 0x003f, 0xf5e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfbaf, 0x003f, 0x003f, 0x003f, 0xcbd1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfbe0, 0xf2e5, 0x003f, 0x003f,
    -    0xecf0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0ec, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeeeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9cb, 0x003f,
    -    0x003f, 0xccf0, 0x003f, 0x003f, 0xd7af, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9400 .. 0x94ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfcf5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xefb2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d1, 0x003f, 0x003f,
    -    0xf7a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf1d1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcafc, 0xcafd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcece, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3c8, 0x003f, 0xf3ba,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9500 .. 0x95ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedfe,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdaa6, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8cd, 0x003f, 0xcbd2, 0x003f, 0x003f, 0x003f, 0xebce,
    -    0x003f, 0xf9d8, 0xf9d9, 0xcae0, 0xdaca, 0x003f, 0x003f, 0x003f,
    -    0xcba6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcac8, 0xf9ee, 0xdbec, 0x003f, 0x003f,
    -    0xd0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ef, 0x003f, 0x003f,
    -    0x003f, 0xe6f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe7a2, 0xe4d9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e1,
    -    0x003f, 0x003f, 0xfcc4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf9ef, 0xcff4, 0xf7e6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcebc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf4c5, 0xdca3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9600 .. 0x96ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xddbd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf4c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf8a1, 0x003f, 0x003f, 0x003f, 0xe8d6, 0x003f,
    -    0x003f, 0x003f, 0xdbc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf0e6, 0x003f, 0x003f, 0x003f, 0xe4b9,
    -    0xf6ed, 0x003f, 0xf9ae, 0x003f, 0xddbe, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd7b0, 0xd8e8, 0xcbbd, 0x003f, 0x003f,
    -    0xf9da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf8ce, 0xf9f0, 0xe0ed, 0xe3b3, 0xf4b3,
    -    0x003f, 0x003f, 0xeac2, 0xf2e6, 0xf0b6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdbd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xebe4, 0x003f, 0x003f, 0xf2e7, 0x003f, 0xd7d5, 0xd4b6, 0xf9e8,
    -    0xd7c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5d5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9ea, 0xd7cc, 0x003f,
    -    0x003f, 0x003f, 0xd3e9, 0xe2c9, 0x003f, 0xfcdb, 0xcdad, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xccb0, 0xeaa2, 0x003f, 0x003f,
    -    0xe4f6, 0xd0c0, 0x003f, 0xf0b7, 0xeea1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd7f6, 0x003f, 0x003f, 0x003f, 0xe2ca,
    -    0xe2cb, 0x003f, 0xfacf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xebdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6cb,
    -    0x003f, 0x003f, 0x003f, 0xf4b4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedcd, 0xe4d2, 0x003f, 0x003f, 0xeaa9, 0xe4ba, 0xf3a2, 0xcdd2,
    -    0x003f, 0xf6cb, 0x003f, 0xf1e6, 0xedc1, 0xe8bc, 0xeed1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0e7, 0xe2cc, 0x003f,
    -    0x003f, 0xe4aa, 0x003f, 0xf5e1, 0xedda, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd7ee, 0xd1f1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe9eb, 0xe9ec, 0xe0e4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaa7,
    -    0xddd4, 0x003f, 0xeaa3, 0x003f, 0x003f, 0x003f, 0xd6c3, 0xd6f4,
    -    0x003f, 0xdadf, 0x003f, 0xefb3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9700 .. 0x97ff */
    -    0xe2cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeffd, 0xf2e8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xefc5, 0x003f, 0xe7e7, 0x003f, 0x003f, 0xd7fd, 0x003f,
    -    0x003f, 0xe7ce, 0x003f, 0x003f, 0xdfdc, 0x003f, 0xf9c7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f6,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdfac, 0x003f, 0xd6da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdca4, 0x003f, 0x003f, 0x003f, 0xf0b8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd5fa, 0x003f, 0xe4f7, 0x003f, 0x003f, 0x003f,
    -    0xd6c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf4ec, 0x003f, 0x003f, 0x003f, 0x003f, 0xeffe, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf0a1, 0x003f, 0xdeaa, 0x003f,
    -    0x003f, 0xdabc, 0xd8fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfad4, 0x003f, 0x003f, 0x003f, 0xece5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xfca8, 0x003f, 0x003f, 0xece6,
    -    0x003f, 0x003f, 0xd8cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfbb9, 0x003f, 0xe4d3, 0x003f, 0xcdf9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcfd3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcaea, 0x003f, 0x003f, 0xcfd4, 0x003f, 0xf8bd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4c7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeadf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf9db, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd4b7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xebe5, 0x003f, 0x003f, 0xe1d2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeaa4, 0x003f, 0x003f, 0x003f, 0xfac2,
    -    /* 0x9800 .. 0x98ff */
    -    0xfbe1, 0xfaed, 0xf0a2, 0xccf1, 0x003f, 0xfaa3, 0xe2f7, 0x003f,
    -    0xe2ce, 0x003f, 0xe9f5, 0x003f, 0xe1eb, 0x003f, 0x003f, 0x003f,
    -    0xe7e8, 0xe8d7, 0xdaf8, 0xd4cb, 0x003f, 0x003f, 0x003f, 0xf7f6,
    -    0xd6c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e9, 0x003f, 0x003f,
    -    0xfafa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xccf2, 0xf7dd, 0x003f, 0xdeba, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcea8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf0b9, 0xe4fe, 0xe4c9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe4d4, 0x003f, 0x003f, 0x003f,
    -    0xeac3, 0x003f, 0xefb4, 0x003f, 0x003f, 0x003f, 0xd7be, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbe2, 0x003f, 0xcdd3,
    -    0x003f, 0x003f, 0x003f, 0xefb5, 0x003f, 0x003f, 0x003f, 0xfae9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf9a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfbd,
    -    0x003f, 0xf7c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf8fd, 0x003f, 0x003f, 0xf8fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdeab, 0xdbe8, 0x003f, 0x003f, 0xe3dd,
    -    0x003f, 0xe1e2, 0xd1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6d0, 0xebe6, 0xdaf9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xecc7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdef8, 0xf8e9, 0xe3de, 0x003f,
    -    /* 0x9900 .. 0x99ff */
    -    0x003f, 0x003f, 0x003f, 0xcef5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfac3, 0xe5d7, 0x003f, 0xecc8, 0x003f, 0x003f, 0x003f,
    -    0xf3c9, 0x003f, 0x003f, 0xe4bb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb6, 0x003f,
    -    0xdcbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcebd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8c3, 0x003f, 0x003f,
    -    0x003f, 0xd0cf, 0x003f, 0xcffa, 0xf3ca, 0xe0d7, 0x003f, 0x003f,
    -    0x003f, 0xd1c7, 0xe9ae, 0x003f, 0xe8bd, 0x003f, 0x003f, 0xfac4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2cf, 0x003f,
    -    0x003f, 0xfac5, 0x003f, 0x003f, 0x003f, 0xf9b8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce0, 0x003f, 0x003f,
    -    0xfbb0, 0x003f, 0x003f, 0x003f, 0xd8a9, 0xe5df, 0xf9a7, 0x003f,
    -    0x003f, 0xf6ee, 0x003f, 0xf6cc, 0xe2f8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xecf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdae0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf1d2, 0xd2cc, 0xcfcb, 0x003f, 0x003f, 0xcabd, 0x003f, 0x003f,
    -    0x003f, 0xddbf, 0x003f, 0x003f, 0x003f, 0xf6ef, 0x003f, 0xdef9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfab4, 0x003f, 0x003f,
    -    0x003f, 0xd5ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e7,
    -    /* 0x9a00 .. 0x9aff */
    -    0x003f, 0xdebe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdcc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1c8, 0xd1c9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf8be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcbf6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd4f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5e2, 0xe1d3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd8e9, 0x003f, 0x003f, 0xf8fe, 0x003f, 0xcfcc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfda4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcef6, 0x003f, 0xfad0,
    -    0x003f, 0x003f, 0xccf3, 0xe6be, 0x003f, 0x003f, 0x003f, 0xf6ae,
    -    0x003f, 0x003f, 0xd5f0, 0x003f, 0x003f, 0xd1ca, 0x003f, 0x003f,
    -    0x003f, 0xfcbe, 0xd5f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcde9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfab5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2d0, 0xf4f7, 0x003f, 0x003f, 0x003f,
    -    0xcdd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9b00 .. 0x9bff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a2,
    -    0x003f, 0x003f, 0xf7e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeaa6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd0a1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xceda, 0xfbeb, 0xdba6, 0xdbde, 0xd8e5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeae0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd8aa, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6db,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefc6, 0x003f,
    -    0x003f, 0xf8ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcef7, 0x003f, 0x003f, 0xe0d8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd7ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4ed, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcde6, 0x003f, 0x003f, 0x003f,
    -    0xccf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9c00 .. 0x9cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5e3, 0x003f, 0x003f,
    -    0xe4ca, 0x003f, 0xdce1, 0x003f, 0x003f, 0xf9c8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcbf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe8a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8c4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbbe,
    -    0x003f, 0xdcae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7f7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0e8, 0x003f, 0xddc0,
    -    0x003f, 0xcfcd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdcf3, 0xd9b0, 0x003f, 0xe6e9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9d00 .. 0x9dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe4bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xeac4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ec, 0x003f,
    -    0xe4e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfbf8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccbb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4bd, 0x003f, 0x003f,
    -    0xcddc, 0xd9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdddf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xedce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf9cd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcdae, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfce,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf6af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xfdd3, 0xebed, 0xd6dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9e00 .. 0x9eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5a4, 0x003f, 0x003f, 0x003f, 0xd5b6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6dd, 0x003f, 0x003f,
    -    0x003f, 0xf9e9, 0x003f, 0x003f, 0x003f, 0xe7a4, 0x003f, 0xd6e3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd1cb, 0xd6e4, 0x003f, 0x003f, 0x003f, 0xd5f2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdefa, 0x003f, 0xd7f8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ea, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcfd5, 0xd8fd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd8ab, 0x003f, 0x003f, 0xfdcb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xfcdc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a8, 0xd5f3, 0x003f,
    -    0x003f, 0xfdd9, 0x003f, 0x003f, 0xcca3, 0x003f, 0x003f, 0x003f,
    -    0xd9f9, 0x003f, 0x003f, 0xd3ea, 0xf5f5, 0x003f, 0xefc7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd3da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdabd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9f00 .. 0x9fff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a8,
    -    0xdcaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0a3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xcdd5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe0a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdeac, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf0ba, 0xeeb1, 0x003f, 0x003f, 0xeeb2, 0x003f,
    -    0x003f, 0x003f, 0xf6cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed2,
    -    0x003f, 0xd6c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e5,
    -    0x003f, 0x003f, 0xf3bb, 0x003f, 0xe5e1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a3, 0x003f, 0x003f,
    -    0xdbc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafe, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcfcf, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xac00 .. 0xacff */
    -    0xb0a1, 0xb0a2, 0x8141, 0x8142, 0xb0a3, 0x8143, 0x8144, 0xb0a4,
    -    0xb0a5, 0xb0a6, 0xb0a7, 0x8145, 0x8146, 0x8147, 0x8148, 0x8149,
    -    0xb0a8, 0xb0a9, 0xb0aa, 0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae, 0xb0af,
    -    0x814a, 0xb0b0, 0xb0b1, 0xb0b2, 0xb0b3, 0xb0b4, 0x814b, 0x814c,
    -    0xb0b5, 0x814d, 0x814e, 0x814f, 0xb0b6, 0x8150, 0x8151, 0x8152,
    -    0x8153, 0x8154, 0x8155, 0x8156, 0xb0b7, 0xb0b8, 0x8157, 0xb0b9,
    -    0xb0ba, 0xb0bb, 0x8158, 0x8159, 0x815a, 0x8161, 0x8162, 0x8163,
    -    0xb0bc, 0xb0bd, 0x8164, 0x8165, 0xb0be, 0x8166, 0x8167, 0x8168,
    -    0xb0bf, 0x8169, 0x816a, 0x816b, 0x816c, 0x816d, 0x816e, 0x816f,
    -    0x8170, 0x8171, 0x8172, 0xb0c0, 0x8173, 0xb0c1, 0x8174, 0x8175,
    -    0x8176, 0x8177, 0x8178, 0x8179, 0xb0c2, 0x817a, 0x8181, 0x8182,
    -    0xb0c3, 0x8183, 0x8184, 0x8185, 0xb0c4, 0x8186, 0x8187, 0x8188,
    -    0x8189, 0x818a, 0x818b, 0x818c, 0x818d, 0x818e, 0x818f, 0x8190,
    -    0x8191, 0x8192, 0x8193, 0x8194, 0x8195, 0x8196, 0x8197, 0x8198,
    -    0xb0c5, 0xb0c6, 0x8199, 0x819a, 0xb0c7, 0x819b, 0x819c, 0xb0c8,
    -    0xb0c9, 0x819d, 0xb0ca, 0x819e, 0x819f, 0x81a0, 0x81a1, 0x81a2,
    -    0xb0cb, 0xb0cc, 0x81a3, 0xb0cd, 0xb0ce, 0xb0cf, 0xb0d0, 0x81a4,
    -    0x81a5, 0xb0d1, 0xb0d2, 0xb0d3, 0xb0d4, 0x81a6, 0x81a7, 0x81a8,
    -    0xb0d5, 0x81a9, 0x81aa, 0x81ab, 0xb0d6, 0x81ac, 0x81ad, 0x81ae,
    -    0x81af, 0x81b0, 0x81b1, 0x81b2, 0xb0d7, 0xb0d8, 0x81b3, 0xb0d9,
    -    0xb0da, 0xb0db, 0x81b4, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9,
    -    0xb0dc, 0xb0dd, 0xb0de, 0x81ba, 0xb0df, 0x81bb, 0x81bc, 0xb0e0,
    -    0xb0e1, 0x81bd, 0x81be, 0x81bf, 0x81c0, 0x81c1, 0x81c2, 0x81c3,
    -    0xb0e2, 0xb0e3, 0x81c4, 0xb0e4, 0xb0e5, 0xb0e6, 0x81c5, 0x81c6,
    -    0x81c7, 0xb0e7, 0x81c8, 0x81c9, 0xb0e8, 0x81ca, 0x81cb, 0x81cc,
    -    0xb0e9, 0x81cd, 0x81ce, 0x81cf, 0xb0ea, 0x81d0, 0x81d1, 0x81d2,
    -    0x81d3, 0x81d4, 0x81d5, 0x81d6, 0x81d7, 0xb0eb, 0x81d8, 0xb0ec,
    -    0x81d9, 0x81da, 0x81db, 0x81dc, 0x81dd, 0x81de, 0x81df, 0x81e0,
    -    0xb0ed, 0xb0ee, 0x81e1, 0x81e2, 0xb0ef, 0x81e3, 0x81e4, 0xb0f0,
    -    0xb0f1, 0x81e5, 0xb0f2, 0x81e6, 0xb0f3, 0x81e7, 0x81e8, 0xb0f4,
    -    0xb0f5, 0xb0f6, 0x81e9, 0xb0f7, 0x81ea, 0xb0f8, 0xb0f9, 0x81eb,
    -    0x81ec, 0x81ed, 0x81ee, 0x81ef, 0xb0fa, 0xb0fb, 0x81f0, 0x81f1,
    -    /* 0xad00 .. 0xadff */
    -    0xb0fc, 0x81f2, 0x81f3, 0x81f4, 0xb0fd, 0x81f5, 0xb0fe, 0x81f6,
    -    0x81f7, 0x81f8, 0x81f9, 0x81fa, 0xb1a1, 0xb1a2, 0x81fb, 0xb1a3,
    -    0x81fc, 0xb1a4, 0x81fd, 0x81fe, 0x8241, 0x8242, 0x8243, 0x8244,
    -    0xb1a5, 0x8245, 0x8246, 0x8247, 0xb1a6, 0x8248, 0x8249, 0x824a,
    -    0xb1a7, 0x824b, 0x824c, 0x824d, 0x824e, 0x824f, 0x8250, 0x8251,
    -    0x8252, 0xb1a8, 0x8253, 0x8254, 0xb1a9, 0xb1aa, 0x8255, 0x8256,
    -    0x8257, 0x8258, 0x8259, 0x825a, 0xb1ab, 0xb1ac, 0x8261, 0x8262,
    -    0xb1ad, 0x8263, 0x8264, 0x8265, 0xb1ae, 0x8266, 0x8267, 0x8268,
    -    0x8269, 0x826a, 0x826b, 0x826c, 0xb1af, 0xb1b0, 0x826d, 0xb1b1,
    -    0x826e, 0xb1b2, 0x826f, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274,
    -    0xb1b3, 0x8275, 0x8276, 0x8277, 0xb1b4, 0x8278, 0x8279, 0x827a,
    -    0xb1b5, 0x8281, 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287,
    -    0x8288, 0xb1b6, 0x8289, 0xb1b7, 0x828a, 0x828b, 0x828c, 0x828d,
    -    0x828e, 0x828f, 0x8290, 0x8291, 0xb1b8, 0xb1b9, 0x8292, 0x8293,
    -    0xb1ba, 0x8294, 0x8295, 0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0x8296,
    -    0x8297, 0x8298, 0x8299, 0xb1bf, 0xb1c0, 0xb1c1, 0x829a, 0xb1c2,
    -    0x829b, 0xb1c3, 0xb1c4, 0x829c, 0x829d, 0x829e, 0x829f, 0x82a0,
    -    0xb1c5, 0xb1c6, 0x82a1, 0x82a2, 0xb1c7, 0x82a3, 0x82a4, 0x82a5,
    -    0xb1c8, 0x82a6, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ab, 0x82ac,
    -    0x82ad, 0x82ae, 0x82af, 0x82b0, 0xb1c9, 0xb1ca, 0x82b1, 0x82b2,
    -    0x82b3, 0x82b4, 0x82b5, 0x82b6, 0xb1cb, 0x82b7, 0x82b8, 0x82b9,
    -    0x82ba, 0x82bb, 0x82bc, 0x82bd, 0x82be, 0x82bf, 0x82c0, 0x82c1,
    -    0x82c2, 0x82c3, 0x82c4, 0x82c5, 0x82c6, 0x82c7, 0x82c8, 0xb1cc,
    -    0x82c9, 0x82ca, 0x82cb, 0x82cc, 0x82cd, 0x82ce, 0x82cf, 0x82d0,
    -    0xb1cd, 0xb1ce, 0x82d1, 0x82d2, 0xb1cf, 0x82d3, 0x82d4, 0x82d5,
    -    0xb1d0, 0x82d6, 0x82d7, 0x82d8, 0x82d9, 0x82da, 0x82db, 0x82dc,
    -    0xb1d1, 0xb1d2, 0x82dd, 0xb1d3, 0x82de, 0x82df, 0x82e0, 0x82e1,
    -    0x82e2, 0x82e3, 0x82e4, 0x82e5, 0xb1d4, 0x82e6, 0x82e7, 0x82e8,
    -    0xb1d5, 0x82e9, 0x82ea, 0x82eb, 0xb1d6, 0x82ec, 0x82ed, 0x82ee,
    -    0x82ef, 0x82f0, 0x82f1, 0x82f2, 0x82f3, 0x82f4, 0x82f5, 0x82f6,
    -    0x82f7, 0x82f8, 0x82f9, 0x82fa, 0x82fb, 0x82fc, 0x82fd, 0x82fe,
    -    0xb1d7, 0xb1d8, 0x8341, 0x8342, 0xb1d9, 0x8343, 0x8344, 0xb1da,
    -    /* 0xae00 .. 0xaeff */
    -    0xb1db, 0xb1dc, 0x8345, 0x8346, 0x8347, 0x8348, 0x8349, 0x834a,
    -    0xb1dd, 0xb1de, 0x834b, 0xb1df, 0x834c, 0xb1e0, 0x834d, 0x834e,
    -    0x834f, 0x8350, 0x8351, 0x8352, 0xb1e1, 0x8353, 0x8354, 0x8355,
    -    0x8356, 0x8357, 0x8358, 0x8359, 0x835a, 0x8361, 0x8362, 0x8363,
    -    0x8364, 0x8365, 0x8366, 0x8367, 0x8368, 0x8369, 0x836a, 0x836b,
    -    0x836c, 0x836d, 0x836e, 0x836f, 0x8370, 0x8371, 0x8372, 0x8373,
    -    0xb1e2, 0xb1e3, 0x8374, 0x8375, 0xb1e4, 0x8376, 0x8377, 0xb1e5,
    -    0xb1e6, 0x8378, 0xb1e7, 0x8379, 0x837a, 0x8381, 0x8382, 0x8383,
    -    0xb1e8, 0xb1e9, 0x8384, 0xb1ea, 0x8385, 0xb1eb, 0xb1ec, 0x8386,
    -    0x8387, 0x8388, 0xb1ed, 0x8389, 0xb1ee, 0xb1ef, 0xb1f0, 0x838a,
    -    0xb1f1, 0x838b, 0x838c, 0x838d, 0xb1f2, 0x838e, 0xb1f3, 0x838f,
    -    0x8390, 0x8391, 0x8392, 0x8393, 0xb1f4, 0xb1f5, 0x8394, 0xb1f6,
    -    0xb1f7, 0xb1f8, 0x8395, 0x8396, 0x8397, 0xb1f9, 0x8398, 0x8399,
    -    0xb1fa, 0xb1fb, 0x839a, 0x839b, 0xb1fc, 0x839c, 0x839d, 0x839e,
    -    0xb1fd, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3, 0x83a4, 0x83a5,
    -    0xb1fe, 0xb2a1, 0x83a6, 0xb2a2, 0xb2a3, 0xb2a4, 0x83a7, 0x83a8,
    -    0x83a9, 0x83aa, 0x83ab, 0x83ac, 0xb2a5, 0xb2a6, 0x83ad, 0x83ae,
    -    0x83af, 0x83b0, 0x83b1, 0x83b2, 0xb2a7, 0x83b3, 0x83b4, 0x83b5,
    -    0x83b6, 0x83b7, 0x83b8, 0x83b9, 0x83ba, 0x83bb, 0x83bc, 0x83bd,
    -    0x83be, 0x83bf, 0x83c0, 0x83c1, 0x83c2, 0x83c3, 0x83c4, 0x83c5,
    -    0x83c6, 0x83c7, 0x83c8, 0x83c9, 0x83ca, 0x83cb, 0x83cc, 0x83cd,
    -    0x83ce, 0x83cf, 0x83d0, 0x83d1, 0x83d2, 0x83d3, 0x83d4, 0x83d5,
    -    0x83d6, 0x83d7, 0x83d8, 0x83d9, 0x83da, 0x83db, 0x83dc, 0x83dd,
    -    0x83de, 0x83df, 0x83e0, 0x83e1, 0xb2a8, 0xb2a9, 0xb2aa, 0x83e2,
    -    0xb2ab, 0x83e3, 0x83e4, 0x83e5, 0xb2ac, 0x83e6, 0x83e7, 0x83e8,
    -    0x83e9, 0x83ea, 0x83eb, 0x83ec, 0xb2ad, 0xb2ae, 0x83ed, 0xb2af,
    -    0xb2b0, 0xb2b1, 0x83ee, 0x83ef, 0x83f0, 0x83f1, 0x83f2, 0x83f3,
    -    0xb2b2, 0xb2b3, 0x83f4, 0x83f5, 0xb2b4, 0x83f6, 0x83f7, 0x83f8,
    -    0x83f9, 0x83fa, 0x83fb, 0x83fc, 0x83fd, 0x83fe, 0x8441, 0x8442,
    -    0xb2b5, 0x8443, 0x8444, 0xb2b6, 0x8445, 0xb2b7, 0x8446, 0x8447,
    -    0x8448, 0x8449, 0x844a, 0x844b, 0xb2b8, 0x844c, 0x844d, 0x844e,
    -    0xb2b9, 0x844f, 0x8450, 0x8451, 0xb2ba, 0x8452, 0x8453, 0x8454,
    -    /* 0xaf00 .. 0xafff */
    -    0x8455, 0x8456, 0x8457, 0x8458, 0x8459, 0x845a, 0x8461, 0xb2bb,
    -    0xb2bc, 0x8462, 0x8463, 0x8464, 0x8465, 0xb2bd, 0x8466, 0x8467,
    -    0xb2be, 0x8468, 0x8469, 0x846a, 0x846b, 0x846c, 0x846d, 0x846e,
    -    0x846f, 0x8470, 0x8471, 0x8472, 0x8473, 0x8474, 0x8475, 0x8476,
    -    0x8477, 0x8478, 0x8479, 0x847a, 0x8481, 0x8482, 0x8483, 0x8484,
    -    0x8485, 0x8486, 0x8487, 0x8488, 0xb2bf, 0xb2c0, 0x8489, 0x848a,
    -    0xb2c1, 0x848b, 0xb2c2, 0x848c, 0xb2c3, 0x848d, 0x848e, 0x848f,
    -    0x8490, 0x8491, 0x8492, 0x8493, 0xb2c4, 0xb2c5, 0x8494, 0xb2c6,
    -    0x8495, 0xb2c7, 0xb2c8, 0xb2c9, 0x8496, 0x8497, 0x8498, 0x8499,
    -    0xb2ca, 0xb2cb, 0x849a, 0x849b, 0x849c, 0x849d, 0x849e, 0x849f,
    -    0xb2cc, 0x84a0, 0x84a1, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6,
    -    0x84a7, 0x84a8, 0x84a9, 0x84aa, 0xb2cd, 0xb2ce, 0x84ab, 0x84ac,
    -    0x84ad, 0x84ae, 0x84af, 0x84b0, 0xb2cf, 0xb2d0, 0x84b1, 0x84b2,
    -    0x84b3, 0x84b4, 0x84b5, 0x84b6, 0x84b7, 0x84b8, 0x84b9, 0x84ba,
    -    0x84bb, 0x84bc, 0x84bd, 0x84be, 0x84bf, 0x84c0, 0x84c1, 0x84c2,
    -    0x84c3, 0xb2d1, 0x84c4, 0x84c5, 0x84c6, 0x84c7, 0x84c8, 0x84c9,
    -    0xb2d2, 0x84ca, 0x84cb, 0x84cc, 0xb2d3, 0x84cd, 0x84ce, 0x84cf,
    -    0xb2d4, 0x84d0, 0x84d1, 0x84d2, 0x84d3, 0x84d4, 0x84d5, 0x84d6,
    -    0xb2d5, 0xb2d6, 0x84d7, 0x84d8, 0x84d9, 0xb2d7, 0x84da, 0x84db,
    -    0x84dc, 0x84dd, 0x84de, 0x84df, 0xb2d8, 0x84e0, 0x84e1, 0x84e2,
    -    0x84e3, 0x84e4, 0x84e5, 0x84e6, 0x84e7, 0x84e8, 0x84e9, 0x84ea,
    -    0x84eb, 0x84ec, 0x84ed, 0x84ee, 0x84ef, 0x84f0, 0x84f1, 0x84f2,
    -    0x84f3, 0x84f4, 0x84f5, 0x84f6, 0x84f7, 0x84f8, 0x84f9, 0x84fa,
    -    0xb2d9, 0xb2da, 0x84fb, 0x84fc, 0xb2db, 0x84fd, 0x84fe, 0x8541,
    -    0xb2dc, 0x8542, 0x8543, 0x8544, 0x8545, 0x8546, 0x8547, 0xb2dd,
    -    0xb2de, 0xb2df, 0x8548, 0xb2e0, 0x8549, 0xb2e1, 0xb2e2, 0x854a,
    -    0x854b, 0x854c, 0x854d, 0x854e, 0xb2e3, 0x854f, 0x8550, 0x8551,
    -    0x8552, 0x8553, 0x8554, 0x8555, 0xb2e4, 0x8556, 0x8557, 0x8558,
    -    0x8559, 0x855a, 0x8561, 0x8562, 0x8563, 0x8564, 0x8565, 0x8566,
    -    0xb2e5, 0xb2e6, 0x8567, 0x8568, 0x8569, 0x856a, 0x856b, 0x856c,
    -    0xb2e7, 0xb2e8, 0x856d, 0x856e, 0xb2e9, 0x856f, 0x8570, 0x8571,
    -    0xb2ea, 0x8572, 0x8573, 0x8574, 0x8575, 0x8576, 0x8577, 0x8578,
    -    /* 0xb000 .. 0xb0ff */
    -    0xb2eb, 0xb2ec, 0x8579, 0x857a, 0xb2ed, 0x8581, 0x8582, 0x8583,
    -    0x8584, 0x8585, 0x8586, 0x8587, 0xb2ee, 0x8588, 0x8589, 0x858a,
    -    0xb2ef, 0x858b, 0x858c, 0x858d, 0xb2f0, 0x858e, 0x858f, 0x8590,
    -    0x8591, 0x8592, 0x8593, 0x8594, 0xb2f1, 0xb2f2, 0x8595, 0x8596,
    -    0x8597, 0x8598, 0x8599, 0x859a, 0x859b, 0x859c, 0x859d, 0x859e,
    -    0xb2f3, 0x859f, 0x85a0, 0x85a1, 0x85a2, 0x85a3, 0x85a4, 0x85a5,
    -    0x85a6, 0x85a7, 0x85a8, 0x85a9, 0x85aa, 0x85ab, 0x85ac, 0x85ad,
    -    0x85ae, 0x85af, 0x85b0, 0x85b1, 0x85b2, 0x85b3, 0x85b4, 0x85b5,
    -    0x85b6, 0x85b7, 0x85b8, 0x85b9, 0xb2f4, 0xb2f5, 0x85ba, 0x85bb,
    -    0xb2f6, 0x85bc, 0xb2f7, 0x85bd, 0xb2f8, 0x85be, 0xb2f9, 0x85bf,
    -    0x85c0, 0x85c1, 0x85c2, 0xb2fa, 0xb2fb, 0xb2fc, 0x85c3, 0xb2fd,
    -    0x85c4, 0xb2fe, 0x85c5, 0x85c6, 0x85c7, 0xb3a1, 0x85c8, 0x85c9,
    -    0x85ca, 0x85cb, 0x85cc, 0x85cd, 0x85ce, 0x85cf, 0x85d0, 0x85d1,
    -    0x85d2, 0x85d3, 0x85d4, 0x85d5, 0x85d6, 0x85d7, 0x85d8, 0x85d9,
    -    0x85da, 0x85db, 0x85dc, 0x85dd, 0x85de, 0x85df, 0x85e0, 0x85e1,
    -    0x85e2, 0x85e3, 0x85e4, 0x85e5, 0xb3a2, 0xb3a3, 0x85e6, 0x85e7,
    -    0xb3a4, 0x85e8, 0x85e9, 0x85ea, 0xb3a5, 0x85eb, 0x85ec, 0x85ed,
    -    0x85ee, 0x85ef, 0x85f0, 0x85f1, 0xb3a6, 0xb3a7, 0x85f2, 0xb3a8,
    -    0x85f3, 0xb3a9, 0x85f4, 0x85f5, 0x85f6, 0x85f7, 0x85f8, 0x85f9,
    -    0xb3aa, 0xb3ab, 0xb3ac, 0x85fa, 0xb3ad, 0x85fb, 0x85fc, 0xb3ae,
    -    0xb3af, 0xb3b0, 0xb3b1, 0x85fd, 0x85fe, 0x8641, 0x8642, 0x8643,
    -    0xb3b2, 0xb3b3, 0x8644, 0xb3b4, 0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8,
    -    0x8645, 0xb3b9, 0x8646, 0xb3ba, 0xb3bb, 0xb3bc, 0x8647, 0x8648,
    -    0xb3bd, 0x8649, 0x864a, 0x864b, 0xb3be, 0x864c, 0x864d, 0x864e,
    -    0x864f, 0x8650, 0x8651, 0x8652, 0xb3bf, 0xb3c0, 0x8653, 0xb3c1,
    -    0xb3c2, 0xb3c3, 0x8654, 0x8655, 0x8656, 0x8657, 0x8658, 0x8659,
    -    0xb3c4, 0xb3c5, 0x865a, 0x8661, 0xb3c6, 0x8662, 0x8663, 0x8664,
    -    0xb3c7, 0x8665, 0x8666, 0x8667, 0x8668, 0x8669, 0x866a, 0x866b,
    -    0xb3c8, 0x866c, 0x866d, 0x866e, 0x866f, 0xb3c9, 0x8670, 0x8671,
    -    0x8672, 0x8673, 0x8674, 0x8675, 0x8676, 0x8677, 0x8678, 0x8679,
    -    0x867a, 0x8681, 0x8682, 0x8683, 0x8684, 0x8685, 0x8686, 0x8687,
    -    0x8688, 0x8689, 0x868a, 0x868b, 0x868c, 0x868d, 0x868e, 0x868f,
    -    /* 0xb100 .. 0xb1ff */
    -    0x8690, 0x8691, 0x8692, 0x8693, 0x8694, 0x8695, 0x8696, 0x8697,
    -    0xb3ca, 0xb3cb, 0x8698, 0xb3cc, 0xb3cd, 0x8699, 0x869a, 0x869b,
    -    0xb3ce, 0x869c, 0xb3cf, 0xb3d0, 0x869d, 0x869e, 0x869f, 0x86a0,
    -    0xb3d1, 0xb3d2, 0x86a1, 0xb3d3, 0xb3d4, 0xb3d5, 0x86a2, 0x86a3,
    -    0x86a4, 0x86a5, 0x86a6, 0xb3d6, 0xb3d7, 0xb3d8, 0x86a7, 0x86a8,
    -    0xb3d9, 0x86a9, 0x86aa, 0x86ab, 0xb3da, 0x86ac, 0x86ad, 0x86ae,
    -    0x86af, 0x86b0, 0x86b1, 0x86b2, 0xb3db, 0xb3dc, 0x86b3, 0xb3dd,
    -    0xb3de, 0xb3df, 0x86b4, 0x86b5, 0x86b6, 0x86b7, 0x86b8, 0x86b9,
    -    0xb3e0, 0xb3e1, 0x86ba, 0x86bb, 0xb3e2, 0x86bc, 0x86bd, 0x86be,
    -    0xb3e3, 0x86bf, 0x86c0, 0x86c1, 0x86c2, 0x86c3, 0x86c4, 0x86c5,
    -    0xb3e4, 0xb3e5, 0x86c6, 0x86c7, 0xb3e6, 0xb3e7, 0x86c8, 0x86c9,
    -    0xb3e8, 0x86ca, 0x86cb, 0x86cc, 0xb3e9, 0x86cd, 0x86ce, 0x86cf,
    -    0xb3ea, 0x86d0, 0x86d1, 0x86d2, 0x86d3, 0x86d4, 0x86d5, 0x86d6,
    -    0x86d7, 0x86d8, 0x86d9, 0x86da, 0x86db, 0x86dc, 0x86dd, 0x86de,
    -    0x86df, 0x86e0, 0x86e1, 0x86e2, 0x86e3, 0x86e4, 0x86e5, 0x86e6,
    -    0xb3eb, 0xb3ec, 0x86e7, 0x86e8, 0xb3ed, 0x86e9, 0x86ea, 0x86eb,
    -    0xb3ee, 0x86ec, 0xb3ef, 0x86ed, 0x86ee, 0x86ef, 0x86f0, 0x86f1,
    -    0xb3f0, 0xb3f1, 0x86f2, 0xb3f2, 0x86f3, 0xb3f3, 0x86f4, 0x86f5,
    -    0x86f6, 0x86f7, 0xb3f4, 0xb3f5, 0xb3f6, 0x86f8, 0x86f9, 0x86fa,
    -    0xb3f7, 0x86fb, 0x86fc, 0x86fd, 0xb3f8, 0x86fe, 0x8741, 0x8742,
    -    0x8743, 0x8744, 0x8745, 0x8746, 0x8747, 0x8748, 0x8749, 0x874a,
    -    0xb3f9, 0x874b, 0x874c, 0x874d, 0x874e, 0x874f, 0x8750, 0x8751,
    -    0x8752, 0x8753, 0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759,
    -    0x875a, 0x8761, 0x8762, 0x8763, 0x8764, 0x8765, 0x8766, 0x8767,
    -    0x8768, 0x8769, 0x876a, 0x876b, 0x876c, 0x876d, 0x876e, 0x876f,
    -    0x8770, 0x8771, 0x8772, 0x8773, 0xb3fa, 0x8774, 0x8775, 0x8776,
    -    0xb3fb, 0x8777, 0x8778, 0x8779, 0xb3fc, 0x877a, 0x8781, 0x8782,
    -    0x8783, 0x8784, 0x8785, 0x8786, 0xb3fd, 0xb3fe, 0x8787, 0xb4a1,
    -    0x8788, 0x8789, 0x878a, 0x878b, 0x878c, 0x878d, 0x878e, 0x878f,
    -    0xb4a2, 0xb4a3, 0x8790, 0x8791, 0xb4a4, 0x8792, 0x8793, 0x8794,
    -    0xb4a5, 0x8795, 0x8796, 0x8797, 0x8798, 0x8799, 0x879a, 0x879b,
    -    0x879c, 0xb4a6, 0x879d, 0xb4a7, 0x879e, 0xb4a8, 0x879f, 0x87a0,
    -    /* 0xb200 .. 0xb2ff */
    -    0x87a1, 0x87a2, 0x87a3, 0x87a4, 0xb4a9, 0xb4aa, 0x87a5, 0x87a6,
    -    0xb4ab, 0x87a7, 0x87a8, 0xb4ac, 0xb4ad, 0x87a9, 0x87aa, 0x87ab,
    -    0x87ac, 0x87ad, 0x87ae, 0x87af, 0xb4ae, 0xb4af, 0x87b0, 0xb4b0,
    -    0x87b1, 0xb4b1, 0x87b2, 0x87b3, 0x87b4, 0x87b5, 0x87b6, 0x87b7,
    -    0xb4b2, 0x87b8, 0x87b9, 0x87ba, 0x87bb, 0x87bc, 0x87bd, 0x87be,
    -    0x87bf, 0x87c0, 0x87c1, 0x87c2, 0x87c3, 0x87c4, 0x87c5, 0x87c6,
    -    0x87c7, 0x87c8, 0x87c9, 0x87ca, 0xb4b3, 0x87cb, 0x87cc, 0x87cd,
    -    0x87ce, 0x87cf, 0x87d0, 0x87d1, 0xb4b4, 0x87d2, 0x87d3, 0x87d4,
    -    0x87d5, 0x87d6, 0x87d7, 0x87d8, 0x87d9, 0x87da, 0x87db, 0x87dc,
    -    0x87dd, 0x87de, 0x87df, 0x87e0, 0x87e1, 0x87e2, 0x87e3, 0x87e4,
    -    0x87e5, 0x87e6, 0x87e7, 0x87e8, 0x87e9, 0x87ea, 0x87eb, 0x87ec,
    -    0xb4b5, 0x87ed, 0x87ee, 0x87ef, 0xb4b6, 0x87f0, 0x87f1, 0x87f2,
    -    0xb4b7, 0x87f3, 0x87f4, 0x87f5, 0x87f6, 0x87f7, 0x87f8, 0x87f9,
    -    0xb4b8, 0xb4b9, 0x87fa, 0x87fb, 0x87fc, 0x87fd, 0x87fe, 0x8841,
    -    0x8842, 0x8843, 0x8844, 0x8845, 0xb4ba, 0xb4bb, 0x8846, 0x8847,
    -    0x8848, 0x8849, 0x884a, 0x884b, 0xb4bc, 0x884c, 0x884d, 0x884e,
    -    0x884f, 0x8850, 0x8851, 0x8852, 0xb4bd, 0xb4be, 0x8853, 0x8854,
    -    0x8855, 0xb4bf, 0x8856, 0x8857, 0x8858, 0x8859, 0x885a, 0x8861,
    -    0xb4c0, 0xb4c1, 0x8862, 0x8863, 0xb4c2, 0x8864, 0x8865, 0x8866,
    -    0xb4c3, 0xb4c4, 0xb4c5, 0x8867, 0x8868, 0x8869, 0x886a, 0x886b,
    -    0xb4c6, 0xb4c7, 0x886c, 0xb4c8, 0x886d, 0xb4c9, 0xb4ca, 0x886e,
    -    0x886f, 0x8870, 0xb4cb, 0x8871, 0xb4cc, 0x8872, 0x8873, 0x8874,
    -    0xb4cd, 0x8875, 0x8876, 0x8877, 0xb4ce, 0x8878, 0x8879, 0x887a,
    -    0x8881, 0x8882, 0x8883, 0x8884, 0x8885, 0x8886, 0x8887, 0x8888,
    -    0x8889, 0x888a, 0x888b, 0x888c, 0x888d, 0x888e, 0x888f, 0x8890,
    -    0xb4cf, 0xb4d0, 0x8891, 0x8892, 0xb4d1, 0x8893, 0x8894, 0x8895,
    -    0xb4d2, 0x8896, 0xb4d3, 0x8897, 0x8898, 0x8899, 0x889a, 0x889b,
    -    0xb4d4, 0xb4d5, 0x889c, 0xb4d6, 0x889d, 0xb4d7, 0x889e, 0x889f,
    -    0x88a0, 0x88a1, 0xb4d8, 0x88a2, 0xb4d9, 0xb4da, 0xb4db, 0x88a3,
    -    0xb4dc, 0x88a4, 0x88a5, 0xb4dd, 0xb4de, 0xb4df, 0xb4e0, 0xb4e1,
    -    0x88a6, 0x88a7, 0x88a8, 0xb4e2, 0xb4e3, 0xb4e4, 0x88a9, 0xb4e5,
    -    0xb4e6, 0xb4e7, 0xb4e8, 0xb4e9, 0x88aa, 0x88ab, 0x88ac, 0xb4ea,
    -    /* 0xb300 .. 0xb3ff */
    -    0xb4eb, 0xb4ec, 0x88ad, 0x88ae, 0xb4ed, 0x88af, 0x88b0, 0x88b1,
    -    0xb4ee, 0x88b2, 0x88b3, 0x88b4, 0x88b5, 0x88b6, 0x88b7, 0x88b8,
    -    0xb4ef, 0xb4f0, 0x88b9, 0xb4f1, 0xb4f2, 0xb4f3, 0x88ba, 0x88bb,
    -    0x88bc, 0x88bd, 0x88be, 0x88bf, 0xb4f4, 0x88c0, 0x88c1, 0x88c2,
    -    0x88c3, 0x88c4, 0x88c5, 0x88c6, 0x88c7, 0x88c8, 0x88c9, 0x88ca,
    -    0x88cb, 0x88cc, 0x88cd, 0x88ce, 0x88cf, 0x88d0, 0x88d1, 0x88d2,
    -    0x88d3, 0x88d4, 0x88d5, 0x88d6, 0x88d7, 0x88d8, 0x88d9, 0x88da,
    -    0x88db, 0x88dc, 0x88dd, 0x88de, 0x88df, 0x88e0, 0x88e1, 0x88e2,
    -    0x88e3, 0x88e4, 0x88e5, 0x88e6, 0x88e7, 0x88e8, 0x88e9, 0x88ea,
    -    0x88eb, 0x88ec, 0x88ed, 0x88ee, 0x88ef, 0x88f0, 0x88f1, 0x88f2,
    -    0x88f3, 0x88f4, 0x88f5, 0x88f6, 0xb4f5, 0xb4f6, 0xb4f7, 0x88f7,
    -    0xb4f8, 0x88f8, 0x88f9, 0xb4f9, 0xb4fa, 0x88fa, 0xb4fb, 0xb4fc,
    -    0x88fb, 0x88fc, 0x88fd, 0x88fe, 0xb4fd, 0xb4fe, 0x8941, 0xb5a1,
    -    0x8942, 0xb5a2, 0x8943, 0xb5a3, 0x8944, 0x8945, 0xb5a4, 0x8946,
    -    0xb5a5, 0xb5a6, 0x8947, 0x8948, 0xb5a7, 0x8949, 0x894a, 0x894b,
    -    0xb5a8, 0x894c, 0x894d, 0x894e, 0x894f, 0x8950, 0x8951, 0x8952,
    -    0xb5a9, 0xb5aa, 0x8953, 0xb5ab, 0xb5ac, 0xb5ad, 0x8954, 0x8955,
    -    0x8956, 0x8957, 0x8958, 0x8959, 0xb5ae, 0x895a, 0x8961, 0x8962,
    -    0xb5af, 0x8963, 0x8964, 0x8965, 0xb5b0, 0x8966, 0x8967, 0x8968,
    -    0x8969, 0x896a, 0x896b, 0x896c, 0x896d, 0x896e, 0x896f, 0x8970,
    -    0xb5b1, 0xb5b2, 0x8971, 0x8972, 0x8973, 0x8974, 0x8975, 0x8976,
    -    0xb5b3, 0x8977, 0x8978, 0x8979, 0xb5b4, 0x897a, 0x8981, 0x8982,
    -    0x8983, 0x8984, 0x8985, 0x8986, 0x8987, 0x8988, 0x8989, 0x898a,
    -    0x898b, 0x898c, 0x898d, 0x898e, 0x898f, 0x8990, 0x8991, 0x8992,
    -    0x8993, 0x8994, 0x8995, 0x8996, 0xb5b5, 0xb5b6, 0x8997, 0x8998,
    -    0xb5b7, 0x8999, 0x899a, 0xb5b8, 0xb5b9, 0x899b, 0xb5ba, 0x899c,
    -    0xb5bb, 0x899d, 0x899e, 0x899f, 0xb5bc, 0xb5bd, 0x89a0, 0xb5be,
    -    0x89a1, 0xb5bf, 0x89a2, 0xb5c0, 0x89a3, 0xb5c1, 0x89a4, 0x89a5,
    -    0xb5c2, 0x89a6, 0x89a7, 0x89a8, 0xb5c3, 0x89a9, 0x89aa, 0x89ab,
    -    0xb5c4, 0x89ac, 0x89ad, 0x89ae, 0x89af, 0x89b0, 0x89b1, 0x89b2,
    -    0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7, 0x89b8, 0x89b9, 0x89ba,
    -    0x89bb, 0x89bc, 0x89bd, 0x89be, 0xb5c5, 0x89bf, 0x89c0, 0x89c1,
    -    /* 0xb400 .. 0xb4ff */
    -    0x89c2, 0x89c3, 0x89c4, 0x89c5, 0x89c6, 0x89c7, 0x89c8, 0x89c9,
    -    0x89ca, 0x89cb, 0x89cc, 0x89cd, 0x89ce, 0x89cf, 0x89d0, 0x89d1,
    -    0xb5c6, 0x89d2, 0x89d3, 0x89d4, 0x89d5, 0x89d6, 0x89d7, 0x89d8,
    -    0xb5c7, 0x89d9, 0x89da, 0x89db, 0xb5c8, 0x89dc, 0x89dd, 0x89de,
    -    0xb5c9, 0x89df, 0x89e0, 0x89e1, 0x89e2, 0x89e3, 0x89e4, 0x89e5,
    -    0xb5ca, 0xb5cb, 0x89e6, 0xb5cc, 0x89e7, 0x89e8, 0x89e9, 0x89ea,
    -    0x89eb, 0x89ec, 0x89ed, 0x89ee, 0xb5cd, 0x89ef, 0x89f0, 0x89f1,
    -    0x89f2, 0x89f3, 0x89f4, 0x89f5, 0x89f6, 0x89f7, 0x89f8, 0x89f9,
    -    0x89fa, 0x89fb, 0x89fc, 0x89fd, 0x89fe, 0x8a41, 0x8a42, 0x8a43,
    -    0x8a44, 0x8a45, 0x8a46, 0x8a47, 0x8a48, 0x8a49, 0x8a4a, 0x8a4b,
    -    0xb5ce, 0xb5cf, 0x8a4c, 0x8a4d, 0xb5d0, 0x8a4e, 0x8a4f, 0x8a50,
    -    0xb5d1, 0x8a51, 0x8a52, 0x8a53, 0x8a54, 0x8a55, 0x8a56, 0x8a57,
    -    0xb5d2, 0xb5d3, 0x8a58, 0xb5d4, 0x8a59, 0xb5d5, 0x8a5a, 0x8a61,
    -    0x8a62, 0x8a63, 0x8a64, 0x8a65, 0xb5d6, 0x8a66, 0x8a67, 0x8a68,
    -    0x8a69, 0x8a6a, 0x8a6b, 0x8a6c, 0x8a6d, 0x8a6e, 0x8a6f, 0x8a70,
    -    0x8a71, 0x8a72, 0x8a73, 0x8a74, 0x8a75, 0x8a76, 0x8a77, 0x8a78,
    -    0xb5d7, 0x8a79, 0x8a7a, 0x8a81, 0x8a82, 0x8a83, 0x8a84, 0x8a85,
    -    0xb5d8, 0x8a86, 0x8a87, 0x8a88, 0x8a89, 0x8a8a, 0x8a8b, 0x8a8c,
    -    0x8a8d, 0x8a8e, 0x8a8f, 0x8a90, 0x8a91, 0x8a92, 0x8a93, 0x8a94,
    -    0x8a95, 0x8a96, 0x8a97, 0x8a98, 0x8a99, 0xb5d9, 0x8a9a, 0x8a9b,
    -    0x8a9c, 0x8a9d, 0x8a9e, 0x8a9f, 0xb5da, 0x8aa0, 0x8aa1, 0x8aa2,
    -    0xb5db, 0x8aa3, 0x8aa4, 0x8aa5, 0xb5dc, 0x8aa6, 0x8aa7, 0x8aa8,
    -    0x8aa9, 0x8aaa, 0x8aab, 0x8aac, 0x8aad, 0xb5dd, 0x8aae, 0xb5de,
    -    0x8aaf, 0xb5df, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3, 0x8ab4, 0x8ab5,
    -    0xb5e0, 0x8ab6, 0x8ab7, 0x8ab8, 0xb5e1, 0x8ab9, 0x8aba, 0x8abb,
    -    0xb5e2, 0x8abc, 0x8abd, 0x8abe, 0x8abf, 0x8ac0, 0x8ac1, 0x8ac2,
    -    0xb5e3, 0x8ac3, 0x8ac4, 0x8ac5, 0x8ac6, 0xb5e4, 0x8ac7, 0x8ac8,
    -    0x8ac9, 0x8aca, 0x8acb, 0x8acc, 0xb5e5, 0xb5e6, 0x8acd, 0x8ace,
    -    0xb5e7, 0x8acf, 0x8ad0, 0xb5e8, 0xb5e9, 0x8ad1, 0xb5ea, 0x8ad2,
    -    0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0xb5eb, 0xb5ec, 0x8ad7, 0xb5ed,
    -    0x8ad8, 0xb5ee, 0x8ad9, 0x8ada, 0x8adb, 0x8adc, 0x8add, 0x8ade,
    -    0xb5ef, 0x8adf, 0x8ae0, 0x8ae1, 0x8ae2, 0x8ae3, 0x8ae4, 0x8ae5,
    -    /* 0xb500 .. 0xb5ff */
    -    0x8ae6, 0x8ae7, 0x8ae8, 0x8ae9, 0x8aea, 0x8aeb, 0x8aec, 0x8aed,
    -    0x8aee, 0x8aef, 0x8af0, 0x8af1, 0x8af2, 0x8af3, 0x8af4, 0x8af5,
    -    0x8af6, 0x8af7, 0x8af8, 0x8af9, 0xb5f0, 0xb5f1, 0x8afa, 0x8afb,
    -    0xb5f2, 0x8afc, 0x8afd, 0xb5f3, 0xb5f4, 0x8afe, 0x8b41, 0x8b42,
    -    0x8b43, 0x8b44, 0x8b45, 0x8b46, 0xb5f5, 0xb5f6, 0x8b47, 0xb5f7,
    -    0xb5f8, 0xb5f9, 0xb5fa, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b, 0x8b4c,
    -    0xb5fb, 0xb5fc, 0x8b4d, 0x8b4e, 0xb5fd, 0x8b4f, 0x8b50, 0x8b51,
    -    0xb5fe, 0x8b52, 0x8b53, 0x8b54, 0x8b55, 0x8b56, 0x8b57, 0x8b58,
    -    0xb6a1, 0xb6a2, 0x8b59, 0xb6a3, 0xb6a4, 0xb6a5, 0x8b5a, 0x8b61,
    -    0x8b62, 0x8b63, 0x8b64, 0xb6a6, 0xb6a7, 0xb6a8, 0x8b65, 0x8b66,
    -    0xb6a9, 0x8b67, 0x8b68, 0x8b69, 0xb6aa, 0x8b6a, 0x8b6b, 0x8b6c,
    -    0x8b6d, 0x8b6e, 0x8b6f, 0x8b70, 0xb6ab, 0xb6ac, 0x8b71, 0xb6ad,
    -    0xb6ae, 0xb6af, 0x8b72, 0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77,
    -    0x8b78, 0x8b79, 0x8b7a, 0x8b81, 0x8b82, 0x8b83, 0x8b84, 0x8b85,
    -    0x8b86, 0x8b87, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0x8b8d,
    -    0x8b8e, 0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93, 0x8b94, 0x8b95,
    -    0x8b96, 0x8b97, 0x8b98, 0x8b99, 0x8b9a, 0x8b9b, 0x8b9c, 0x8b9d,
    -    0x8b9e, 0x8b9f, 0x8ba0, 0x8ba1, 0x8ba2, 0x8ba3, 0x8ba4, 0x8ba5,
    -    0x8ba6, 0x8ba7, 0x8ba8, 0x8ba9, 0x8baa, 0x8bab, 0x8bac, 0x8bad,
    -    0x8bae, 0x8baf, 0x8bb0, 0x8bb1, 0x8bb2, 0x8bb3, 0x8bb4, 0x8bb5,
    -    0xb6b0, 0xb6b1, 0x8bb6, 0x8bb7, 0xb6b2, 0x8bb8, 0x8bb9, 0x8bba,
    -    0xb6b3, 0x8bbb, 0xb6b4, 0xb6b5, 0x8bbc, 0x8bbd, 0x8bbe, 0x8bbf,
    -    0xb6b6, 0xb6b7, 0x8bc0, 0xb6b8, 0xb6b9, 0xb6ba, 0x8bc1, 0x8bc2,
    -    0x8bc3, 0x8bc4, 0x8bc5, 0xb6bb, 0xb6bc, 0xb6bd, 0x8bc6, 0x8bc7,
    -    0xb6be, 0x8bc8, 0x8bc9, 0x8bca, 0xb6bf, 0x8bcb, 0x8bcc, 0x8bcd,
    -    0x8bce, 0x8bcf, 0x8bd0, 0x8bd1, 0xb6c0, 0xb6c1, 0x8bd2, 0xb6c2,
    -    0xb6c3, 0xb6c4, 0x8bd3, 0x8bd4, 0x8bd5, 0x8bd6, 0x8bd7, 0x8bd8,
    -    0xb6c5, 0x8bd9, 0x8bda, 0x8bdb, 0x8bdc, 0x8bdd, 0x8bde, 0x8bdf,
    -    0x8be0, 0x8be1, 0x8be2, 0x8be3, 0x8be4, 0x8be5, 0x8be6, 0x8be7,
    -    0x8be8, 0x8be9, 0x8bea, 0x8beb, 0xb6c6, 0x8bec, 0x8bed, 0x8bee,
    -    0x8bef, 0x8bf0, 0x8bf1, 0x8bf2, 0x8bf3, 0x8bf4, 0x8bf5, 0x8bf6,
    -    0x8bf7, 0x8bf8, 0x8bf9, 0x8bfa, 0x8bfb, 0x8bfc, 0x8bfd, 0x8bfe,
    -    /* 0xb600 .. 0xb6ff */
    -    0x8c41, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c46, 0x8c47, 0x8c48,
    -    0x8c49, 0x8c4a, 0x8c4b, 0x8c4c, 0x8c4d, 0x8c4e, 0x8c4f, 0x8c50,
    -    0xb6c7, 0xb6c8, 0x8c51, 0x8c52, 0xb6c9, 0x8c53, 0x8c54, 0x8c55,
    -    0xb6ca, 0x8c56, 0x8c57, 0x8c58, 0x8c59, 0x8c5a, 0x8c61, 0x8c62,
    -    0x8c63, 0x8c64, 0x8c65, 0x8c66, 0x8c67, 0xb6cb, 0x8c68, 0x8c69,
    -    0x8c6a, 0x8c6b, 0x8c6c, 0x8c6d, 0xb6cc, 0x8c6e, 0x8c6f, 0x8c70,
    -    0x8c71, 0x8c72, 0x8c73, 0x8c74, 0xb6cd, 0x8c75, 0x8c76, 0x8c77,
    -    0x8c78, 0x8c79, 0x8c7a, 0x8c81, 0x8c82, 0x8c83, 0x8c84, 0x8c85,
    -    0x8c86, 0x8c87, 0x8c88, 0x8c89, 0x8c8a, 0x8c8b, 0x8c8c, 0x8c8d,
    -    0xb6ce, 0x8c8e, 0x8c8f, 0x8c90, 0x8c91, 0x8c92, 0x8c93, 0x8c94,
    -    0x8c95, 0x8c96, 0x8c97, 0x8c98, 0x8c99, 0x8c9a, 0x8c9b, 0x8c9c,
    -    0x8c9d, 0x8c9e, 0x8c9f, 0x8ca0, 0x8ca1, 0x8ca2, 0x8ca3, 0x8ca4,
    -    0x8ca5, 0x8ca6, 0x8ca7, 0x8ca8, 0xb6cf, 0x8ca9, 0x8caa, 0x8cab,
    -    0xb6d0, 0x8cac, 0x8cad, 0x8cae, 0x8caf, 0x8cb0, 0x8cb1, 0x8cb2,
    -    0x8cb3, 0x8cb4, 0x8cb5, 0x8cb6, 0x8cb7, 0x8cb8, 0x8cb9, 0x8cba,
    -    0x8cbb, 0x8cbc, 0x8cbd, 0x8cbe, 0x8cbf, 0x8cc0, 0x8cc1, 0x8cc2,
    -    0x8cc3, 0x8cc4, 0x8cc5, 0x8cc6, 0x8cc7, 0x8cc8, 0x8cc9, 0x8cca,
    -    0x8ccb, 0x8ccc, 0x8ccd, 0x8cce, 0x8ccf, 0x8cd0, 0x8cd1, 0x8cd2,
    -    0x8cd3, 0x8cd4, 0x8cd5, 0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda,
    -    0x8cdb, 0x8cdc, 0x8cdd, 0x8cde, 0xb6d1, 0xb6d2, 0x8cdf, 0x8ce0,
    -    0xb6d3, 0x8ce1, 0x8ce2, 0x8ce3, 0xb6d4, 0x8ce4, 0x8ce5, 0x8ce6,
    -    0x8ce7, 0x8ce8, 0x8ce9, 0xb6d5, 0xb6d6, 0x8cea, 0x8ceb, 0x8cec,
    -    0x8ced, 0xb6d7, 0x8cee, 0x8cef, 0x8cf0, 0x8cf1, 0x8cf2, 0x8cf3,
    -    0x8cf4, 0x8cf5, 0x8cf6, 0x8cf7, 0x8cf8, 0x8cf9, 0x8cfa, 0x8cfb,
    -    0x8cfc, 0x8cfd, 0x8cfe, 0x8d41, 0x8d42, 0x8d43, 0x8d44, 0x8d45,
    -    0x8d46, 0x8d47, 0x8d48, 0x8d49, 0x8d4a, 0x8d4b, 0x8d4c, 0x8d4d,
    -    0x8d4e, 0x8d4f, 0x8d50, 0x8d51, 0xb6d8, 0x8d52, 0x8d53, 0x8d54,
    -    0x8d55, 0x8d56, 0x8d57, 0x8d58, 0x8d59, 0x8d5a, 0x8d61, 0x8d62,
    -    0x8d63, 0x8d64, 0x8d65, 0x8d66, 0x8d67, 0x8d68, 0x8d69, 0x8d6a,
    -    0x8d6b, 0x8d6c, 0x8d6d, 0x8d6e, 0x8d6f, 0x8d70, 0x8d71, 0x8d72,
    -    0xb6d9, 0x8d73, 0x8d74, 0x8d75, 0xb6da, 0x8d76, 0x8d77, 0x8d78,
    -    0xb6db, 0x8d79, 0x8d7a, 0x8d81, 0x8d82, 0x8d83, 0x8d84, 0x8d85,
    -    /* 0xb700 .. 0xb7ff */
    -    0xb6dc, 0xb6dd, 0x8d86, 0x8d87, 0x8d88, 0xb6de, 0x8d89, 0x8d8a,
    -    0x8d8b, 0x8d8c, 0x8d8d, 0x8d8e, 0x8d8f, 0x8d90, 0x8d91, 0x8d92,
    -    0x8d93, 0x8d94, 0x8d95, 0x8d96, 0x8d97, 0x8d98, 0x8d99, 0x8d9a,
    -    0x8d9b, 0x8d9c, 0x8d9d, 0x8d9e, 0x8d9f, 0x8da0, 0x8da1, 0x8da2,
    -    0x8da3, 0x8da4, 0x8da5, 0x8da6, 0x8da7, 0x8da8, 0x8da9, 0x8daa,
    -    0xb6df, 0xb6e0, 0x8dab, 0x8dac, 0xb6e1, 0x8dad, 0x8dae, 0xb6e2,
    -    0xb6e3, 0x8daf, 0x8db0, 0x8db1, 0x8db2, 0x8db3, 0x8db4, 0x8db5,
    -    0xb6e4, 0xb6e5, 0x8db6, 0xb6e6, 0x8db7, 0x8db8, 0x8db9, 0x8dba,
    -    0x8dbb, 0x8dbc, 0x8dbd, 0x8dbe, 0xb6e7, 0x8dbf, 0x8dc0, 0x8dc1,
    -    0xb6e8, 0x8dc2, 0x8dc3, 0x8dc4, 0xb6e9, 0x8dc5, 0x8dc6, 0x8dc7,
    -    0x8dc8, 0x8dc9, 0x8dca, 0x8dcb, 0xb6ea, 0xb6eb, 0x8dcc, 0x8dcd,
    -    0x8dce, 0x8dcf, 0x8dd0, 0x8dd1, 0x8dd2, 0x8dd3, 0x8dd4, 0x8dd5,
    -    0xb6ec, 0x8dd6, 0x8dd7, 0x8dd8, 0xb6ed, 0x8dd9, 0x8dda, 0x8ddb,
    -    0xb6ee, 0x8ddc, 0x8ddd, 0x8dde, 0x8ddf, 0x8de0, 0x8de1, 0x8de2,
    -    0xb6ef, 0xb6f0, 0x8de3, 0xb6f1, 0x8de4, 0xb6f2, 0x8de5, 0x8de6,
    -    0x8de7, 0x8de8, 0x8de9, 0x8dea, 0xb6f3, 0xb6f4, 0x8deb, 0x8dec,
    -    0xb6f5, 0x8ded, 0x8dee, 0x8def, 0xb6f6, 0x8df0, 0x8df1, 0x8df2,
    -    0x8df3, 0x8df4, 0x8df5, 0x8df6, 0xb6f7, 0xb6f8, 0x8df7, 0xb6f9,
    -    0xb6fa, 0xb6fb, 0xb6fc, 0x8df8, 0x8df9, 0x8dfa, 0xb6fd, 0xb6fe,
    -    0xb7a1, 0xb7a2, 0x8dfb, 0x8dfc, 0xb7a3, 0x8dfd, 0x8dfe, 0x8e41,
    -    0xb7a4, 0x8e42, 0x8e43, 0x8e44, 0x8e45, 0x8e46, 0x8e47, 0x8e48,
    -    0xb7a5, 0xb7a6, 0x8e49, 0xb7a7, 0xb7a8, 0xb7a9, 0x8e4a, 0x8e4b,
    -    0x8e4c, 0x8e4d, 0x8e4e, 0x8e4f, 0xb7aa, 0xb7ab, 0x8e50, 0x8e51,
    -    0xb7ac, 0x8e52, 0x8e53, 0x8e54, 0x8e55, 0x8e56, 0x8e57, 0x8e58,
    -    0x8e59, 0x8e5a, 0x8e61, 0x8e62, 0x8e63, 0x8e64, 0x8e65, 0xb7ad,
    -    0x8e66, 0xb7ae, 0x8e67, 0x8e68, 0x8e69, 0x8e6a, 0x8e6b, 0x8e6c,
    -    0x8e6d, 0x8e6e, 0x8e6f, 0x8e70, 0x8e71, 0x8e72, 0x8e73, 0x8e74,
    -    0x8e75, 0x8e76, 0x8e77, 0x8e78, 0x8e79, 0x8e7a, 0x8e81, 0x8e82,
    -    0x8e83, 0x8e84, 0x8e85, 0x8e86, 0x8e87, 0x8e88, 0x8e89, 0x8e8a,
    -    0x8e8b, 0x8e8c, 0x8e8d, 0x8e8e, 0xb7af, 0xb7b0, 0x8e8f, 0x8e90,
    -    0xb7b1, 0x8e91, 0x8e92, 0x8e93, 0xb7b2, 0x8e94, 0x8e95, 0x8e96,
    -    0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0xb7b3, 0xb7b4, 0x8e9b, 0xb7b5,
    -    /* 0xb800 .. 0xb8ff */
    -    0xb7b6, 0xb7b7, 0x8e9c, 0x8e9d, 0x8e9e, 0x8e9f, 0x8ea0, 0xb7b8,
    -    0xb7b9, 0xb7ba, 0x8ea1, 0x8ea2, 0xb7bb, 0x8ea3, 0x8ea4, 0x8ea5,
    -    0xb7bc, 0x8ea6, 0x8ea7, 0x8ea8, 0x8ea9, 0x8eaa, 0x8eab, 0x8eac,
    -    0xb7bd, 0xb7be, 0x8ead, 0xb7bf, 0x8eae, 0xb7c0, 0x8eaf, 0x8eb0,
    -    0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0xb7c1, 0xb7c2, 0x8eb5, 0x8eb6,
    -    0xb7c3, 0x8eb7, 0x8eb8, 0x8eb9, 0xb7c4, 0x8eba, 0x8ebb, 0x8ebc,
    -    0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0, 0xb7c5, 0xb7c6, 0x8ec1, 0xb7c7,
    -    0xb7c8, 0xb7c9, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7,
    -    0xb7ca, 0x8ec8, 0x8ec9, 0x8eca, 0xb7cb, 0x8ecb, 0x8ecc, 0x8ecd,
    -    0x8ece, 0x8ecf, 0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5,
    -    0x8ed6, 0xb7cc, 0x8ed7, 0xb7cd, 0x8ed8, 0x8ed9, 0x8eda, 0x8edb,
    -    0x8edc, 0x8edd, 0x8ede, 0x8edf, 0xb7ce, 0xb7cf, 0x8ee0, 0x8ee1,
    -    0xb7d0, 0x8ee2, 0x8ee3, 0x8ee4, 0xb7d1, 0x8ee5, 0x8ee6, 0x8ee7,
    -    0x8ee8, 0x8ee9, 0x8eea, 0x8eeb, 0xb7d2, 0xb7d3, 0x8eec, 0xb7d4,
    -    0x8eed, 0xb7d5, 0x8eee, 0x8eef, 0x8ef0, 0x8ef1, 0x8ef2, 0x8ef3,
    -    0xb7d6, 0x8ef4, 0x8ef5, 0x8ef6, 0xb7d7, 0x8ef7, 0x8ef8, 0x8ef9,
    -    0x8efa, 0x8efb, 0x8efc, 0x8efd, 0x8efe, 0x8f41, 0x8f42, 0x8f43,
    -    0x8f44, 0x8f45, 0x8f46, 0x8f47, 0x8f48, 0xb7d8, 0x8f49, 0x8f4a,
    -    0x8f4b, 0x8f4c, 0x8f4d, 0x8f4e, 0x8f4f, 0x8f50, 0x8f51, 0x8f52,
    -    0x8f53, 0x8f54, 0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a,
    -    0x8f61, 0x8f62, 0x8f63, 0x8f64, 0x8f65, 0x8f66, 0x8f67, 0x8f68,
    -    0xb7d9, 0x8f69, 0x8f6a, 0x8f6b, 0x8f6c, 0x8f6d, 0x8f6e, 0x8f6f,
    -    0xb7da, 0x8f70, 0x8f71, 0x8f72, 0xb7db, 0x8f73, 0x8f74, 0x8f75,
    -    0xb7dc, 0x8f76, 0x8f77, 0x8f78, 0x8f79, 0x8f7a, 0x8f81, 0x8f82,
    -    0xb7dd, 0xb7de, 0x8f83, 0xb7df, 0x8f84, 0xb7e0, 0x8f85, 0x8f86,
    -    0x8f87, 0x8f88, 0x8f89, 0x8f8a, 0xb7e1, 0x8f8b, 0x8f8c, 0x8f8d,
    -    0xb7e2, 0x8f8e, 0x8f8f, 0x8f90, 0xb7e3, 0x8f91, 0x8f92, 0x8f93,
    -    0x8f94, 0x8f95, 0x8f96, 0x8f97, 0x8f98, 0xb7e4, 0x8f99, 0xb7e5,
    -    0x8f9a, 0xb7e6, 0x8f9b, 0x8f9c, 0x8f9d, 0x8f9e, 0x8f9f, 0x8fa0,
    -    0xb7e7, 0xb7e8, 0x8fa1, 0x8fa2, 0xb7e9, 0x8fa3, 0x8fa4, 0x8fa5,
    -    0xb7ea, 0x8fa6, 0x8fa7, 0x8fa8, 0x8fa9, 0x8faa, 0x8fab, 0x8fac,
    -    0xb7eb, 0xb7ec, 0x8fad, 0xb7ed, 0x8fae, 0xb7ee, 0x8faf, 0x8fb0,
    -    /* 0xb900 .. 0xb9ff */
    -    0x8fb1, 0x8fb2, 0x8fb3, 0x8fb4, 0xb7ef, 0x8fb5, 0x8fb6, 0x8fb7,
    -    0x8fb8, 0x8fb9, 0x8fba, 0x8fbb, 0x8fbc, 0x8fbd, 0x8fbe, 0x8fbf,
    -    0x8fc0, 0x8fc1, 0x8fc2, 0x8fc3, 0x8fc4, 0x8fc5, 0x8fc6, 0x8fc7,
    -    0xb7f0, 0x8fc8, 0x8fc9, 0x8fca, 0x8fcb, 0x8fcc, 0x8fcd, 0x8fce,
    -    0xb7f1, 0x8fcf, 0x8fd0, 0x8fd1, 0x8fd2, 0x8fd3, 0x8fd4, 0x8fd5,
    -    0x8fd6, 0x8fd7, 0x8fd8, 0x8fd9, 0x8fda, 0x8fdb, 0x8fdc, 0x8fdd,
    -    0x8fde, 0x8fdf, 0x8fe0, 0x8fe1, 0x8fe2, 0x8fe3, 0x8fe4, 0x8fe5,
    -    0x8fe6, 0x8fe7, 0x8fe8, 0x8fe9, 0xb7f2, 0xb7f3, 0x8fea, 0x8feb,
    -    0xb7f4, 0x8fec, 0x8fed, 0x8fee, 0xb7f5, 0x8fef, 0x8ff0, 0x8ff1,
    -    0x8ff2, 0x8ff3, 0x8ff4, 0x8ff5, 0xb7f6, 0x8ff6, 0x8ff7, 0xb7f7,
    -    0x8ff8, 0xb7f8, 0x8ff9, 0x8ffa, 0x8ffb, 0x8ffc, 0x8ffd, 0x8ffe,
    -    0xb7f9, 0xb7fa, 0x9041, 0x9042, 0xb7fb, 0x9043, 0x9044, 0x9045,
    -    0xb7fc, 0x9046, 0x9047, 0x9048, 0x9049, 0x904a, 0x904b, 0x904c,
    -    0xb7fd, 0xb7fe, 0x904d, 0xb8a1, 0x904e, 0xb8a2, 0x904f, 0x9050,
    -    0x9051, 0x9052, 0x9053, 0x9054, 0xb8a3, 0xb8a4, 0x9055, 0x9056,
    -    0xb8a5, 0x9057, 0x9058, 0x9059, 0xb8a6, 0x905a, 0x9061, 0x9062,
    -    0x9063, 0x9064, 0x9065, 0x9066, 0xb8a7, 0xb8a8, 0x9067, 0xb8a9,
    -    0x9068, 0xb8aa, 0xb8ab, 0x9069, 0x906a, 0xb8ac, 0xb8ad, 0x906b,
    -    0x906c, 0x906d, 0x906e, 0x906f, 0x9070, 0x9071, 0x9072, 0x9073,
    -    0x9074, 0x9075, 0x9076, 0x9077, 0x9078, 0x9079, 0x907a, 0x9081,
    -    0x9082, 0x9083, 0x9084, 0x9085, 0x9086, 0x9087, 0x9088, 0x9089,
    -    0x908a, 0x908b, 0x908c, 0x908d, 0xb8ae, 0xb8af, 0x908e, 0x908f,
    -    0xb8b0, 0x9090, 0x9091, 0x9092, 0xb8b1, 0x9093, 0x9094, 0x9095,
    -    0x9096, 0x9097, 0x9098, 0x9099, 0xb8b2, 0xb8b3, 0x909a, 0xb8b4,
    -    0x909b, 0xb8b5, 0x909c, 0x909d, 0x909e, 0x909f, 0x90a0, 0x90a1,
    -    0xb8b6, 0xb8b7, 0x90a2, 0x90a3, 0xb8b8, 0x90a4, 0xb8b9, 0xb8ba,
    -    0xb8bb, 0xb8bc, 0xb8bd, 0x90a5, 0x90a6, 0x90a7, 0x90a8, 0x90a9,
    -    0xb8be, 0xb8bf, 0x90aa, 0xb8c0, 0x90ab, 0xb8c1, 0xb8c2, 0x90ac,
    -    0x90ad, 0xb8c3, 0x90ae, 0xb8c4, 0xb8c5, 0xb8c6, 0x90af, 0x90b0,
    -    0xb8c7, 0x90b1, 0x90b2, 0x90b3, 0xb8c8, 0x90b4, 0x90b5, 0x90b6,
    -    0x90b7, 0x90b8, 0x90b9, 0x90ba, 0xb8c9, 0xb8ca, 0x90bb, 0xb8cb,
    -    0xb8cc, 0xb8cd, 0xb8ce, 0x90bc, 0x90bd, 0x90be, 0x90bf, 0x90c0,
    -    /* 0xba00 .. 0xbaff */
    -    0xb8cf, 0xb8d0, 0x90c1, 0x90c2, 0x90c3, 0x90c4, 0x90c5, 0x90c6,
    -    0xb8d1, 0x90c7, 0x90c8, 0x90c9, 0x90ca, 0x90cb, 0x90cc, 0x90cd,
    -    0x90ce, 0x90cf, 0x90d0, 0x90d1, 0x90d2, 0xb8d2, 0x90d3, 0x90d4,
    -    0x90d5, 0x90d6, 0x90d7, 0x90d8, 0x90d9, 0x90da, 0x90db, 0x90dc,
    -    0x90dd, 0x90de, 0x90df, 0x90e0, 0x90e1, 0x90e2, 0x90e3, 0x90e4,
    -    0x90e5, 0x90e6, 0x90e7, 0x90e8, 0x90e9, 0x90ea, 0x90eb, 0x90ec,
    -    0x90ed, 0x90ee, 0x90ef, 0x90f0, 0x90f1, 0x90f2, 0x90f3, 0x90f4,
    -    0xb8d3, 0xb8d4, 0x90f5, 0x90f6, 0xb8d5, 0x90f7, 0x90f8, 0x90f9,
    -    0xb8d6, 0x90fa, 0xb8d7, 0x90fb, 0x90fc, 0x90fd, 0x90fe, 0x9141,
    -    0xb8d8, 0xb8d9, 0x9142, 0xb8da, 0x9143, 0xb8db, 0xb8dc, 0x9144,
    -    0x9145, 0x9146, 0x9147, 0xb8dd, 0xb8de, 0xb8df, 0x9148, 0x9149,
    -    0xb8e0, 0x914a, 0x914b, 0x914c, 0xb8e1, 0x914d, 0x914e, 0x914f,
    -    0x9150, 0x9151, 0x9152, 0x9153, 0xb8e2, 0xb8e3, 0x9154, 0xb8e4,
    -    0xb8e5, 0xb8e6, 0x9155, 0x9156, 0x9157, 0x9158, 0x9159, 0x915a,
    -    0xb8e7, 0xb8e8, 0x9161, 0x9162, 0xb8e9, 0x9163, 0x9164, 0x9165,
    -    0xb8ea, 0x9166, 0x9167, 0x9168, 0x9169, 0x916a, 0x916b, 0x916c,
    -    0x916d, 0x916e, 0x916f, 0xb8eb, 0xb8ec, 0xb8ed, 0x9170, 0xb8ee,
    -    0x9171, 0x9172, 0x9173, 0x9174, 0xb8ef, 0x9175, 0x9176, 0x9177,
    -    0x9178, 0x9179, 0x917a, 0x9181, 0x9182, 0x9183, 0x9184, 0x9185,
    -    0x9186, 0x9187, 0x9188, 0x9189, 0x918a, 0x918b, 0x918c, 0x918d,
    -    0x918e, 0x918f, 0x9190, 0x9191, 0x9192, 0x9193, 0x9194, 0x9195,
    -    0xb8f0, 0xb8f1, 0x9196, 0xb8f2, 0xb8f3, 0x9197, 0x9198, 0x9199,
    -    0xb8f4, 0x919a, 0xb8f5, 0x919b, 0x919c, 0x919d, 0x919e, 0x919f,
    -    0xb8f6, 0xb8f7, 0x91a0, 0xb8f8, 0x91a1, 0xb8f9, 0x91a2, 0x91a3,
    -    0x91a4, 0x91a5, 0x91a6, 0x91a7, 0xb8fa, 0x91a8, 0x91a9, 0x91aa,
    -    0xb8fb, 0x91ab, 0x91ac, 0x91ad, 0x91ae, 0x91af, 0x91b0, 0x91b1,
    -    0x91b2, 0x91b3, 0x91b4, 0x91b5, 0x91b6, 0x91b7, 0x91b8, 0x91b9,
    -    0xb8fc, 0xb8fd, 0x91ba, 0x91bb, 0x91bc, 0x91bd, 0x91be, 0x91bf,
    -    0x91c0, 0x91c1, 0x91c2, 0x91c3, 0x91c4, 0x91c5, 0x91c6, 0x91c7,
    -    0x91c8, 0x91c9, 0x91ca, 0x91cb, 0x91cc, 0x91cd, 0x91ce, 0x91cf,
    -    0x91d0, 0x91d1, 0x91d2, 0x91d3, 0x91d4, 0x91d5, 0x91d6, 0x91d7,
    -    0x91d8, 0x91d9, 0x91da, 0x91db, 0xb8fe, 0x91dc, 0x91dd, 0x91de,
    -    /* 0xbb00 .. 0xbbff */
    -    0xb9a1, 0x91df, 0x91e0, 0x91e1, 0xb9a2, 0x91e2, 0x91e3, 0x91e4,
    -    0x91e5, 0x91e6, 0x91e7, 0x91e8, 0x91e9, 0xb9a3, 0x91ea, 0xb9a4,
    -    0x91eb, 0xb9a5, 0x91ec, 0x91ed, 0x91ee, 0x91ef, 0x91f0, 0x91f1,
    -    0xb9a6, 0x91f2, 0x91f3, 0x91f4, 0xb9a7, 0x91f5, 0x91f6, 0x91f7,
    -    0xb9a8, 0x91f8, 0x91f9, 0x91fa, 0x91fb, 0x91fc, 0x91fd, 0x91fe,
    -    0x9241, 0xb9a9, 0x9242, 0xb9aa, 0x9243, 0x9244, 0x9245, 0x9246,
    -    0x9247, 0x9248, 0x9249, 0x924a, 0xb9ab, 0xb9ac, 0xb9ad, 0x924b,
    -    0xb9ae, 0x924c, 0x924d, 0xb9af, 0xb9b0, 0xb9b1, 0xb9b2, 0x924e,
    -    0x924f, 0x9250, 0x9251, 0x9252, 0xb9b3, 0xb9b4, 0x9253, 0xb9b5,
    -    0x9254, 0xb9b6, 0x9255, 0x9256, 0x9257, 0xb9b7, 0x9258, 0xb9b8,
    -    0xb9b9, 0x9259, 0x925a, 0x9261, 0xb9ba, 0x9262, 0x9263, 0x9264,
    -    0xb9bb, 0x9265, 0x9266, 0x9267, 0x9268, 0x9269, 0x926a, 0x926b,
    -    0x926c, 0xb9bc, 0x926d, 0xb9bd, 0x926e, 0x926f, 0x9270, 0x9271,
    -    0x9272, 0x9273, 0x9274, 0x9275, 0xb9be, 0x9276, 0x9277, 0x9278,
    -    0x9279, 0x927a, 0x9281, 0x9282, 0x9283, 0x9284, 0x9285, 0x9286,
    -    0x9287, 0x9288, 0x9289, 0x928a, 0x928b, 0x928c, 0x928d, 0x928e,
    -    0x928f, 0x9290, 0x9291, 0x9292, 0x9293, 0x9294, 0x9295, 0x9296,
    -    0xb9bf, 0x9297, 0x9298, 0x9299, 0xb9c0, 0x929a, 0x929b, 0x929c,
    -    0xb9c1, 0x929d, 0x929e, 0x929f, 0x92a0, 0x92a1, 0x92a2, 0x92a3,
    -    0x92a4, 0x92a5, 0x92a6, 0x92a7, 0x92a8, 0x92a9, 0x92aa, 0x92ab,
    -    0x92ac, 0x92ad, 0x92ae, 0x92af, 0xb9c2, 0x92b0, 0x92b1, 0x92b2,
    -    0xb9c3, 0x92b3, 0x92b4, 0x92b5, 0xb9c4, 0x92b6, 0x92b7, 0x92b8,
    -    0x92b9, 0x92ba, 0x92bb, 0x92bc, 0xb9c5, 0x92bd, 0x92be, 0xb9c6,
    -    0x92bf, 0x92c0, 0x92c1, 0x92c2, 0x92c3, 0x92c4, 0x92c5, 0x92c6,
    -    0xb9c7, 0x92c7, 0x92c8, 0x92c9, 0xb9c8, 0x92ca, 0x92cb, 0x92cc,
    -    0xb9c9, 0x92cd, 0x92ce, 0x92cf, 0x92d0, 0x92d1, 0x92d2, 0x92d3,
    -    0xb9ca, 0x92d4, 0x92d5, 0xb9cb, 0x92d6, 0x92d7, 0x92d8, 0x92d9,
    -    0x92da, 0x92db, 0x92dc, 0x92dd, 0x92de, 0x92df, 0x92e0, 0x92e1,
    -    0x92e2, 0x92e3, 0x92e4, 0x92e5, 0x92e6, 0x92e7, 0x92e8, 0x92e9,
    -    0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0, 0x92f1,
    -    0x92f2, 0x92f3, 0x92f4, 0x92f5, 0x92f6, 0x92f7, 0x92f8, 0x92f9,
    -    0xb9cc, 0xb9cd, 0x92fa, 0x92fb, 0xb9ce, 0x92fc, 0x92fd, 0xb9cf,
    -    /* 0xbc00 .. 0xbcff */
    -    0xb9d0, 0x92fe, 0xb9d1, 0x9341, 0x9342, 0x9343, 0x9344, 0x9345,
    -    0xb9d2, 0xb9d3, 0x9346, 0xb9d4, 0xb9d5, 0xb9d6, 0x9347, 0xb9d7,
    -    0x9348, 0xb9d8, 0x9349, 0x934a, 0xb9d9, 0xb9da, 0xb9db, 0xb9dc,
    -    0xb9dd, 0x934b, 0x934c, 0xb9de, 0xb9df, 0xb9e0, 0xb9e1, 0xb9e2,
    -    0x934d, 0x934e, 0x934f, 0x9350, 0xb9e3, 0xb9e4, 0x9351, 0xb9e5,
    -    0x9352, 0xb9e6, 0x9353, 0x9354, 0x9355, 0xb9e7, 0x9356, 0x9357,
    -    0xb9e8, 0xb9e9, 0x9358, 0x9359, 0xb9ea, 0x935a, 0x9361, 0x9362,
    -    0xb9eb, 0x9363, 0x9364, 0x9365, 0x9366, 0x9367, 0x9368, 0x9369,
    -    0xb9ec, 0xb9ed, 0x936a, 0xb9ee, 0xb9ef, 0xb9f0, 0x936b, 0x936c,
    -    0x936d, 0xb9f1, 0x936e, 0x936f, 0xb9f2, 0xb9f3, 0x9370, 0x9371,
    -    0xb9f4, 0x9372, 0x9373, 0x9374, 0x9375, 0x9376, 0x9377, 0x9378,
    -    0x9379, 0x937a, 0x9381, 0x9382, 0x9383, 0xb9f5, 0x9384, 0x9385,
    -    0x9386, 0x9387, 0x9388, 0x9389, 0x938a, 0x938b, 0x938c, 0x938d,
    -    0x938e, 0x938f, 0x9390, 0x9391, 0x9392, 0x9393, 0x9394, 0x9395,
    -    0x9396, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b, 0x939c, 0x939d,
    -    0x939e, 0x939f, 0x93a0, 0x93a1, 0x93a2, 0x93a3, 0x93a4, 0x93a5,
    -    0x93a6, 0x93a7, 0x93a8, 0x93a9, 0xb9f6, 0xb9f7, 0x93aa, 0x93ab,
    -    0xb9f8, 0x93ac, 0x93ad, 0xb9f9, 0xb9fa, 0x93ae, 0xb9fb, 0x93af,
    -    0x93b0, 0x93b1, 0x93b2, 0x93b3, 0xb9fc, 0xb9fd, 0x93b4, 0xb9fe,
    -    0x93b5, 0xbaa1, 0xbaa2, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba,
    -    0xbaa3, 0xbaa4, 0x93bb, 0x93bc, 0xbaa5, 0x93bd, 0x93be, 0xbaa6,
    -    0xbaa7, 0x93bf, 0x93c0, 0x93c1, 0x93c2, 0x93c3, 0x93c4, 0x93c5,
    -    0xbaa8, 0xbaa9, 0x93c6, 0xbaaa, 0xbaab, 0xbaac, 0x93c7, 0x93c8,
    -    0x93c9, 0x93ca, 0x93cb, 0x93cc, 0xbaad, 0xbaae, 0x93cd, 0x93ce,
    -    0xbaaf, 0x93cf, 0x93d0, 0x93d1, 0xbab0, 0x93d2, 0x93d3, 0x93d4,
    -    0x93d5, 0x93d6, 0x93d7, 0x93d8, 0x93d9, 0xbab1, 0x93da, 0xbab2,
    -    0xbab3, 0xbab4, 0x93db, 0x93dc, 0x93dd, 0xbab5, 0x93de, 0x93df,
    -    0xbab6, 0x93e0, 0x93e1, 0x93e2, 0xbab7, 0x93e3, 0x93e4, 0x93e5,
    -    0x93e6, 0x93e7, 0x93e8, 0x93e9, 0x93ea, 0x93eb, 0x93ec, 0x93ed,
    -    0x93ee, 0x93ef, 0x93f0, 0x93f1, 0x93f2, 0x93f3, 0x93f4, 0x93f5,
    -    0x93f6, 0x93f7, 0x93f8, 0x93f9, 0xbab8, 0xbab9, 0xbaba, 0x93fa,
    -    0xbabb, 0x93fb, 0x93fc, 0x93fd, 0xbabc, 0x93fe, 0x9441, 0x9442,
    -    /* 0xbd00 .. 0xbdff */
    -    0x9443, 0x9444, 0x9445, 0x9446, 0xbabd, 0xbabe, 0x9447, 0xbabf,
    -    0x9448, 0xbac0, 0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e,
    -    0xbac1, 0x944f, 0x9450, 0x9451, 0xbac2, 0x9452, 0x9453, 0x9454,
    -    0x9455, 0x9456, 0x9457, 0x9458, 0x9459, 0x945a, 0x9461, 0x9462,
    -    0x9463, 0x9464, 0x9465, 0x9466, 0xbac3, 0x9467, 0x9468, 0x9469,
    -    0x946a, 0x946b, 0x946c, 0x946d, 0xbac4, 0x946e, 0x946f, 0x9470,
    -    0x9471, 0x9472, 0x9473, 0x9474, 0x9475, 0x9476, 0x9477, 0x9478,
    -    0x9479, 0x947a, 0x9481, 0x9482, 0x9483, 0x9484, 0x9485, 0x9486,
    -    0xbac5, 0x9487, 0x9488, 0x9489, 0x948a, 0x948b, 0x948c, 0x948d,
    -    0xbac6, 0xbac7, 0x948e, 0x948f, 0xbac8, 0x9490, 0x9491, 0x9492,
    -    0xbac9, 0x9493, 0x9494, 0x9495, 0x9496, 0x9497, 0x9498, 0x9499,
    -    0xbaca, 0xbacb, 0x949a, 0x949b, 0x949c, 0x949d, 0x949e, 0x949f,
    -    0x94a0, 0x94a1, 0x94a2, 0x94a3, 0xbacc, 0x94a4, 0x94a5, 0x94a6,
    -    0xbacd, 0x94a7, 0x94a8, 0x94a9, 0x94aa, 0x94ab, 0x94ac, 0x94ad,
    -    0x94ae, 0x94af, 0x94b0, 0x94b1, 0x94b2, 0x94b3, 0x94b4, 0x94b5,
    -    0x94b6, 0x94b7, 0x94b8, 0x94b9, 0x94ba, 0x94bb, 0x94bc, 0x94bd,
    -    0xbace, 0xbacf, 0x94be, 0x94bf, 0xbad0, 0x94c0, 0x94c1, 0xbad1,
    -    0xbad2, 0xbad3, 0xbad4, 0x94c2, 0x94c3, 0x94c4, 0x94c5, 0x94c6,
    -    0xbad5, 0xbad6, 0x94c7, 0xbad7, 0x94c8, 0xbad8, 0x94c9, 0x94ca,
    -    0x94cb, 0xbad9, 0xbada, 0x94cc, 0xbadb, 0x94cd, 0x94ce, 0x94cf,
    -    0x94d0, 0x94d1, 0x94d2, 0x94d3, 0xbadc, 0x94d4, 0x94d5, 0x94d6,
    -    0x94d7, 0x94d8, 0x94d9, 0x94da, 0x94db, 0x94dc, 0x94dd, 0x94de,
    -    0xbadd, 0x94df, 0x94e0, 0x94e1, 0x94e2, 0x94e3, 0x94e4, 0x94e5,
    -    0xbade, 0x94e6, 0x94e7, 0x94e8, 0x94e9, 0x94ea, 0x94eb, 0x94ec,
    -    0x94ed, 0x94ee, 0x94ef, 0x94f0, 0x94f1, 0x94f2, 0x94f3, 0x94f4,
    -    0x94f5, 0x94f6, 0x94f7, 0x94f8, 0x94f9, 0x94fa, 0x94fb, 0x94fc,
    -    0x94fd, 0x94fe, 0x9541, 0x9542, 0xbadf, 0xbae0, 0x9543, 0x9544,
    -    0xbae1, 0x9545, 0x9546, 0x9547, 0xbae2, 0x9548, 0x9549, 0x954a,
    -    0x954b, 0x954c, 0x954d, 0x954e, 0x954f, 0x9550, 0x9551, 0x9552,
    -    0x9553, 0xbae3, 0x9554, 0x9555, 0x9556, 0x9557, 0x9558, 0x9559,
    -    0xbae4, 0x955a, 0x9561, 0x9562, 0xbae5, 0x9563, 0x9564, 0x9565,
    -    0xbae6, 0x9566, 0x9567, 0x9568, 0x9569, 0x956a, 0x956b, 0x956c,
    -    /* 0xbe00 .. 0xbeff */
    -    0xbae7, 0x956d, 0x956e, 0xbae8, 0x956f, 0xbae9, 0x9570, 0x9571,
    -    0x9572, 0x9573, 0x9574, 0x9575, 0xbaea, 0xbaeb, 0x9576, 0x9577,
    -    0xbaec, 0x9578, 0x9579, 0x957a, 0xbaed, 0x9581, 0x9582, 0x9583,
    -    0x9584, 0x9585, 0x9586, 0x9587, 0xbaee, 0xbaef, 0x9588, 0xbaf0,
    -    0x9589, 0x958a, 0x958b, 0x958c, 0x958d, 0x958e, 0x958f, 0x9590,
    -    0x9591, 0x9592, 0x9593, 0x9594, 0x9595, 0x9596, 0x9597, 0x9598,
    -    0x9599, 0x959a, 0x959b, 0x959c, 0x959d, 0x959e, 0x959f, 0x95a0,
    -    0x95a1, 0x95a2, 0x95a3, 0x95a4, 0x95a5, 0x95a6, 0x95a7, 0x95a8,
    -    0x95a9, 0x95aa, 0x95ab, 0x95ac, 0xbaf1, 0xbaf2, 0x95ad, 0x95ae,
    -    0xbaf3, 0x95af, 0x95b0, 0x95b1, 0xbaf4, 0x95b2, 0xbaf5, 0x95b3,
    -    0x95b4, 0x95b5, 0x95b6, 0x95b7, 0xbaf6, 0xbaf7, 0x95b8, 0xbaf8,
    -    0x95b9, 0xbaf9, 0xbafa, 0xbafb, 0x95ba, 0x95bb, 0x95bc, 0x95bd,
    -    0xbafc, 0xbafd, 0x95be, 0x95bf, 0xbafe, 0x95c0, 0x95c1, 0x95c2,
    -    0xbba1, 0x95c3, 0xbba2, 0x95c4, 0x95c5, 0x95c6, 0x95c7, 0x95c8,
    -    0xbba3, 0xbba4, 0x95c9, 0xbba5, 0xbba6, 0xbba7, 0x95ca, 0x95cb,
    -    0x95cc, 0x95cd, 0x95ce, 0xbba8, 0xbba9, 0xbbaa, 0x95cf, 0x95d0,
    -    0xbbab, 0x95d1, 0x95d2, 0x95d3, 0xbbac, 0x95d4, 0x95d5, 0x95d6,
    -    0x95d7, 0x95d8, 0x95d9, 0x95da, 0xbbad, 0xbbae, 0x95db, 0xbbaf,
    -    0xbbb0, 0xbbb1, 0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1,
    -    0xbbb2, 0xbbb3, 0x95e2, 0x95e3, 0x95e4, 0x95e5, 0x95e6, 0x95e7,
    -    0x95e8, 0x95e9, 0x95ea, 0x95eb, 0x95ec, 0x95ed, 0x95ee, 0x95ef,
    -    0xbbb4, 0x95f0, 0x95f1, 0x95f2, 0x95f3, 0x95f4, 0x95f5, 0x95f6,
    -    0x95f7, 0x95f8, 0x95f9, 0x95fa, 0x95fb, 0x95fc, 0x95fd, 0x95fe,
    -    0x9641, 0x9642, 0x9643, 0x9644, 0x9645, 0x9646, 0x9647, 0x9648,
    -    0x9649, 0x964a, 0x964b, 0x964c, 0x964d, 0x964e, 0x964f, 0x9650,
    -    0x9651, 0x9652, 0x9653, 0x9654, 0x9655, 0x9656, 0x9657, 0x9658,
    -    0xbbb5, 0xbbb6, 0x9659, 0x965a, 0xbbb7, 0x9661, 0x9662, 0xbbb8,
    -    0xbbb9, 0x9663, 0x9664, 0x9665, 0x9666, 0x9667, 0x9668, 0x9669,
    -    0xbbba, 0x966a, 0x966b, 0xbbbb, 0xbbbc, 0xbbbd, 0x966c, 0x966d,
    -    0x966e, 0x966f, 0x9670, 0x9671, 0xbbbe, 0x9672, 0x9673, 0x9674,
    -    0x9675, 0x9676, 0x9677, 0x9678, 0x9679, 0x967a, 0x9681, 0x9682,
    -    0x9683, 0x9684, 0x9685, 0x9686, 0x9687, 0x9688, 0x9689, 0x968a,
    -    /* 0xbf00 .. 0xbfff */
    -    0x968b, 0xbbbf, 0x968c, 0x968d, 0x968e, 0x968f, 0x9690, 0x9691,
    -    0xbbc0, 0xbbc1, 0x9692, 0x9693, 0x9694, 0x9695, 0x9696, 0x9697,
    -    0x9698, 0x9699, 0x969a, 0x969b, 0x969c, 0x969d, 0x969e, 0x969f,
    -    0xbbc2, 0xbbc3, 0x96a0, 0xbbc4, 0xbbc5, 0xbbc6, 0x96a1, 0x96a2,
    -    0x96a3, 0x96a4, 0x96a5, 0x96a6, 0x96a7, 0x96a8, 0x96a9, 0x96aa,
    -    0x96ab, 0x96ac, 0x96ad, 0x96ae, 0x96af, 0x96b0, 0x96b1, 0x96b2,
    -    0x96b3, 0x96b4, 0x96b5, 0x96b6, 0x96b7, 0x96b8, 0x96b9, 0x96ba,
    -    0x96bb, 0x96bc, 0x96bd, 0x96be, 0x96bf, 0x96c0, 0x96c1, 0x96c2,
    -    0xbbc7, 0xbbc8, 0x96c3, 0x96c4, 0xbbc9, 0x96c5, 0x96c6, 0x96c7,
    -    0xbbca, 0x96c8, 0x96c9, 0x96ca, 0x96cb, 0x96cc, 0x96cd, 0x96ce,
    -    0xbbcb, 0xbbcc, 0x96cf, 0x96d0, 0x96d1, 0xbbcd, 0x96d2, 0x96d3,
    -    0x96d4, 0x96d5, 0x96d6, 0x96d7, 0x96d8, 0x96d9, 0x96da, 0x96db,
    -    0x96dc, 0x96dd, 0x96de, 0x96df, 0x96e0, 0x96e1, 0x96e2, 0x96e3,
    -    0x96e4, 0x96e5, 0x96e6, 0x96e7, 0x96e8, 0x96e9, 0x96ea, 0x96eb,
    -    0x96ec, 0x96ed, 0x96ee, 0x96ef, 0x96f0, 0x96f1, 0x96f2, 0x96f3,
    -    0x96f4, 0x96f5, 0x96f6, 0x96f7, 0x96f8, 0x96f9, 0x96fa, 0x96fb,
    -    0x96fc, 0x96fd, 0x96fe, 0x9741, 0x9742, 0x9743, 0x9744, 0x9745,
    -    0x9746, 0x9747, 0x9748, 0x9749, 0x974a, 0x974b, 0x974c, 0x974d,
    -    0x974e, 0x974f, 0x9750, 0x9751, 0xbbce, 0x9752, 0x9753, 0x9754,
    -    0x9755, 0x9756, 0x9757, 0x9758, 0x9759, 0x975a, 0x9761, 0x9762,
    -    0x9763, 0x9764, 0x9765, 0x9766, 0x9767, 0x9768, 0x9769, 0x976a,
    -    0x976b, 0x976c, 0x976d, 0x976e, 0x976f, 0x9770, 0x9771, 0x9772,
    -    0xbbcf, 0x9773, 0x9774, 0x9775, 0x9776, 0x9777, 0x9778, 0x9779,
    -    0x977a, 0x9781, 0x9782, 0x9783, 0x9784, 0x9785, 0x9786, 0x9787,
    -    0x9788, 0x9789, 0x978a, 0x978b, 0x978c, 0xbbd0, 0x978d, 0x978e,
    -    0x978f, 0x9790, 0x9791, 0x9792, 0xbbd1, 0xbbd2, 0x9793, 0x9794,
    -    0xbbd3, 0x9795, 0x9796, 0x9797, 0xbbd4, 0x9798, 0x9799, 0x979a,
    -    0x979b, 0x979c, 0x979d, 0x979e, 0xbbd5, 0x979f, 0x97a0, 0xbbd6,
    -    0x97a1, 0xbbd7, 0x97a2, 0x97a3, 0x97a4, 0x97a5, 0x97a6, 0x97a7,
    -    0x97a8, 0x97a9, 0x97aa, 0x97ab, 0x97ac, 0x97ad, 0x97ae, 0x97af,
    -    0x97b0, 0x97b1, 0x97b2, 0x97b3, 0x97b4, 0x97b5, 0x97b6, 0x97b7,
    -    0x97b8, 0x97b9, 0x97ba, 0x97bb, 0x97bc, 0x97bd, 0x97be, 0x97bf,
    -    /* 0xc000 .. 0xc0ff */
    -    0x97c0, 0x97c1, 0x97c2, 0x97c3, 0x97c4, 0x97c5, 0x97c6, 0x97c7,
    -    0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc, 0x97cd, 0x97ce, 0x97cf,
    -    0x97d0, 0x97d1, 0x97d2, 0x97d3, 0x97d4, 0x97d5, 0x97d6, 0x97d7,
    -    0x97d8, 0x97d9, 0x97da, 0x97db, 0x97dc, 0x97dd, 0x97de, 0x97df,
    -    0x97e0, 0x97e1, 0x97e2, 0x97e3, 0x97e4, 0x97e5, 0x97e6, 0x97e7,
    -    0x97e8, 0x97e9, 0x97ea, 0x97eb, 0x97ec, 0x97ed, 0x97ee, 0x97ef,
    -    0x97f0, 0x97f1, 0x97f2, 0x97f3, 0x97f4, 0x97f5, 0x97f6, 0x97f7,
    -    0x97f8, 0x97f9, 0x97fa, 0x97fb, 0xbbd8, 0x97fc, 0x97fd, 0x97fe,
    -    0x9841, 0x9842, 0x9843, 0x9844, 0x9845, 0x9846, 0x9847, 0x9848,
    -    0x9849, 0x984a, 0x984b, 0x984c, 0x984d, 0x984e, 0x984f, 0x9850,
    -    0x9851, 0xbbd9, 0x9852, 0x9853, 0x9854, 0x9855, 0x9856, 0x9857,
    -    0xbbda, 0x9858, 0x9859, 0x985a, 0xbbdb, 0x9861, 0x9862, 0x9863,
    -    0xbbdc, 0x9864, 0x9865, 0x9866, 0x9867, 0x9868, 0x9869, 0x986a,
    -    0xbbdd, 0xbbde, 0x986b, 0x986c, 0x986d, 0x986e, 0x986f, 0x9870,
    -    0x9871, 0x9872, 0x9873, 0x9874, 0x9875, 0x9876, 0x9877, 0x9878,
    -    0x9879, 0x987a, 0x9881, 0x9882, 0x9883, 0x9884, 0x9885, 0x9886,
    -    0x9887, 0x9888, 0x9889, 0x988a, 0x988b, 0x988c, 0x988d, 0x988e,
    -    0x988f, 0x9890, 0x9891, 0x9892, 0x9893, 0x9894, 0x9895, 0x9896,
    -    0xbbdf, 0xbbe0, 0x9897, 0x9898, 0xbbe1, 0x9899, 0x989a, 0x989b,
    -    0xbbe2, 0x989c, 0x989d, 0x989e, 0x989f, 0x98a0, 0x98a1, 0x98a2,
    -    0xbbe3, 0xbbe4, 0x98a3, 0xbbe5, 0x98a4, 0xbbe6, 0x98a5, 0x98a6,
    -    0x98a7, 0x98a8, 0x98a9, 0x98aa, 0xbbe7, 0xbbe8, 0x98ab, 0xbbe9,
    -    0xbbea, 0x98ac, 0x98ad, 0xbbeb, 0xbbec, 0xbbed, 0xbbee, 0x98ae,
    -    0x98af, 0x98b0, 0x98b1, 0x98b2, 0xbbef, 0xbbf0, 0x98b3, 0xbbf1,
    -    0xbbf2, 0xbbf3, 0x98b4, 0x98b5, 0x98b6, 0xbbf4, 0x98b7, 0x98b8,
    -    0xbbf5, 0xbbf6, 0x98b9, 0x98ba, 0xbbf7, 0x98bb, 0x98bc, 0x98bd,
    -    0xbbf8, 0x98be, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3, 0x98c4,
    -    0xbbf9, 0xbbfa, 0x98c5, 0xbbfb, 0xbbfc, 0xbbfd, 0x98c6, 0x98c7,
    -    0x98c8, 0x98c9, 0x98ca, 0x98cb, 0xbbfe, 0xbca1, 0x98cc, 0x98cd,
    -    0xbca2, 0x98ce, 0x98cf, 0x98d0, 0xbca3, 0x98d1, 0x98d2, 0x98d3,
    -    0x98d4, 0x98d5, 0x98d6, 0x98d7, 0xbca4, 0xbca5, 0x98d8, 0xbca6,
    -    0x98d9, 0xbca7, 0x98da, 0x98db, 0x98dc, 0x98dd, 0x98de, 0x98df,
    -    /* 0xc100 .. 0xc1ff */
    -    0xbca8, 0x98e0, 0x98e1, 0x98e2, 0xbca9, 0x98e3, 0x98e4, 0x98e5,
    -    0xbcaa, 0x98e6, 0x98e7, 0x98e8, 0x98e9, 0x98ea, 0x98eb, 0x98ec,
    -    0xbcab, 0x98ed, 0x98ee, 0x98ef, 0x98f0, 0xbcac, 0x98f1, 0x98f2,
    -    0x98f3, 0x98f4, 0x98f5, 0x98f6, 0xbcad, 0xbcae, 0xbcaf, 0xbcb0,
    -    0xbcb1, 0x98f7, 0x98f8, 0xbcb2, 0xbcb3, 0x98f9, 0xbcb4, 0xbcb5,
    -    0x98fa, 0x98fb, 0x98fc, 0x98fd, 0xbcb6, 0xbcb7, 0x98fe, 0xbcb8,
    -    0xbcb9, 0xbcba, 0x9941, 0x9942, 0x9943, 0x9944, 0xbcbb, 0x9945,
    -    0xbcbc, 0xbcbd, 0x9946, 0x9947, 0xbcbe, 0x9948, 0x9949, 0x994a,
    -    0xbcbf, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,
    -    0xbcc0, 0xbcc1, 0x9952, 0xbcc2, 0xbcc3, 0xbcc4, 0x9953, 0x9954,
    -    0x9955, 0x9956, 0x9957, 0x9958, 0xbcc5, 0xbcc6, 0x9959, 0x995a,
    -    0xbcc7, 0x9961, 0x9962, 0x9963, 0xbcc8, 0x9964, 0x9965, 0x9966,
    -    0x9967, 0x9968, 0x9969, 0x996a, 0xbcc9, 0xbcca, 0x996b, 0xbccb,
    -    0xbccc, 0xbccd, 0x996c, 0x996d, 0x996e, 0x996f, 0x9970, 0x9971,
    -    0xbcce, 0x9972, 0x9973, 0x9974, 0xbccf, 0x9975, 0x9976, 0x9977,
    -    0xbcd0, 0x9978, 0x9979, 0x997a, 0x9981, 0x9982, 0x9983, 0x9984,
    -    0x9985, 0x9986, 0x9987, 0x9988, 0x9989, 0xbcd1, 0x998a, 0x998b,
    -    0x998c, 0x998d, 0x998e, 0x998f, 0xbcd2, 0xbcd3, 0xbcd4, 0x9990,
    -    0xbcd5, 0x9991, 0x9992, 0x9993, 0xbcd6, 0x9994, 0xbcd7, 0x9995,
    -    0x9996, 0x9997, 0x9998, 0x9999, 0xbcd8, 0xbcd9, 0x999a, 0xbcda,
    -    0x999b, 0xbcdb, 0x999c, 0x999d, 0x999e, 0xbcdc, 0x999f, 0x99a0,
    -    0xbcdd, 0xbcde, 0x99a1, 0x99a2, 0xbcdf, 0x99a3, 0x99a4, 0x99a5,
    -    0xbce0, 0x99a6, 0x99a7, 0x99a8, 0x99a9, 0x99aa, 0x99ab, 0x99ac,
    -    0x99ad, 0x99ae, 0x99af, 0x99b0, 0x99b1, 0xbce1, 0x99b2, 0x99b3,
    -    0x99b4, 0x99b5, 0x99b6, 0x99b7, 0xbce2, 0x99b8, 0x99b9, 0x99ba,
    -    0xbce3, 0x99bb, 0x99bc, 0x99bd, 0xbce4, 0x99be, 0x99bf, 0x99c0,
    -    0x99c1, 0x99c2, 0x99c3, 0x99c4, 0xbce5, 0x99c5, 0x99c6, 0xbce6,
    -    0xbce7, 0x99c7, 0x99c8, 0x99c9, 0x99ca, 0x99cb, 0x99cc, 0x99cd,
    -    0xbce8, 0x99ce, 0x99cf, 0x99d0, 0xbce9, 0x99d1, 0x99d2, 0x99d3,
    -    0xbcea, 0x99d4, 0x99d5, 0x99d6, 0x99d7, 0x99d8, 0x99d9, 0x99da,
    -    0xbceb, 0xbcec, 0x99db, 0xbced, 0x99dc, 0x99dd, 0x99de, 0x99df,
    -    0x99e0, 0x99e1, 0x99e2, 0x99e3, 0xbcee, 0xbcef, 0x99e4, 0x99e5,
    -    /* 0xc200 .. 0xc2ff */
    -    0xbcf0, 0x99e6, 0x99e7, 0x99e8, 0xbcf1, 0x99e9, 0x99ea, 0x99eb,
    -    0x99ec, 0x99ed, 0x99ee, 0x99ef, 0xbcf2, 0xbcf3, 0x99f0, 0xbcf4,
    -    0x99f1, 0xbcf5, 0x99f2, 0x99f3, 0x99f4, 0x99f5, 0x99f6, 0x99f7,
    -    0xbcf6, 0xbcf7, 0x99f8, 0x99f9, 0xbcf8, 0x99fa, 0x99fb, 0xbcf9,
    -    0xbcfa, 0x99fc, 0x99fd, 0x99fe, 0x9a41, 0x9a42, 0x9a43, 0x9a44,
    -    0xbcfb, 0xbcfc, 0x9a45, 0xbcfd, 0x9a46, 0xbcfe, 0x9a47, 0xbda1,
    -    0x9a48, 0xbda2, 0xbda3, 0x9a49, 0xbda4, 0x9a4a, 0x9a4b, 0x9a4c,
    -    0x9a4d, 0x9a4e, 0x9a4f, 0x9a50, 0x9a51, 0x9a52, 0x9a53, 0x9a54,
    -    0x9a55, 0x9a56, 0x9a57, 0x9a58, 0x9a59, 0x9a5a, 0x9a61, 0x9a62,
    -    0xbda5, 0x9a63, 0x9a64, 0x9a65, 0x9a66, 0x9a67, 0x9a68, 0x9a69,
    -    0xbda6, 0xbda7, 0x9a6a, 0x9a6b, 0xbda8, 0x9a6c, 0x9a6d, 0x9a6e,
    -    0xbda9, 0x9a6f, 0x9a70, 0x9a71, 0x9a72, 0x9a73, 0x9a74, 0x9a75,
    -    0xbdaa, 0x9a76, 0x9a77, 0x9a78, 0x9a79, 0xbdab, 0x9a7a, 0x9a81,
    -    0x9a82, 0x9a83, 0x9a84, 0x9a85, 0xbdac, 0xbdad, 0x9a86, 0x9a87,
    -    0xbdae, 0x9a88, 0x9a89, 0x9a8a, 0xbdaf, 0x9a8b, 0x9a8c, 0x9a8d,
    -    0x9a8e, 0x9a8f, 0x9a90, 0x9a91, 0xbdb0, 0xbdb1, 0x9a92, 0xbdb2,
    -    0x9a93, 0xbdb3, 0x9a94, 0x9a95, 0x9a96, 0x9a97, 0x9a98, 0x9a99,
    -    0xbdb4, 0xbdb5, 0x9a9a, 0x9a9b, 0x9a9c, 0x9a9d, 0x9a9e, 0x9a9f,
    -    0xbdb6, 0x9aa0, 0x9aa1, 0x9aa2, 0x9aa3, 0x9aa4, 0x9aa5, 0x9aa6,
    -    0xbdb7, 0x9aa7, 0x9aa8, 0xbdb8, 0x9aa9, 0xbdb9, 0x9aaa, 0x9aab,
    -    0x9aac, 0x9aad, 0x9aae, 0x9aaf, 0xbdba, 0xbdbb, 0x9ab0, 0x9ab1,
    -    0xbdbc, 0x9ab2, 0x9ab3, 0x9ab4, 0xbdbd, 0xbdbe, 0x9ab5, 0x9ab6,
    -    0x9ab7, 0x9ab8, 0x9ab9, 0x9aba, 0xbdbf, 0xbdc0, 0x9abb, 0xbdc1,
    -    0x9abc, 0xbdc2, 0x9abd, 0x9abe, 0x9abf, 0x9ac0, 0x9ac1, 0x9ac2,
    -    0x9ac3, 0x9ac4, 0x9ac5, 0x9ac6, 0x9ac7, 0x9ac8, 0x9ac9, 0x9aca,
    -    0x9acb, 0x9acc, 0x9acd, 0x9ace, 0x9acf, 0x9ad0, 0x9ad1, 0x9ad2,
    -    0x9ad3, 0x9ad4, 0x9ad5, 0x9ad6, 0x9ad7, 0x9ad8, 0x9ad9, 0x9ada,
    -    0x9adb, 0x9adc, 0x9add, 0x9ade, 0xbdc3, 0xbdc4, 0x9adf, 0x9ae0,
    -    0xbdc5, 0x9ae1, 0x9ae2, 0xbdc6, 0xbdc7, 0x9ae3, 0x9ae4, 0x9ae5,
    -    0x9ae6, 0x9ae7, 0x9ae8, 0xbdc8, 0xbdc9, 0xbdca, 0x9ae9, 0xbdcb,
    -    0x9aea, 0xbdcc, 0x9aeb, 0x9aec, 0x9aed, 0x9aee, 0xbdcd, 0x9aef,
    -    0xbdce, 0xbdcf, 0x9af0, 0xbdd0, 0xbdd1, 0x9af1, 0x9af2, 0x9af3,
    -    /* 0xc300 .. 0xc3ff */
    -    0xbdd2, 0x9af4, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9af9, 0x9afa,
    -    0xbdd3, 0xbdd4, 0x9afb, 0x9afc, 0xbdd5, 0xbdd6, 0x9afd, 0x9afe,
    -    0x9b41, 0x9b42, 0x9b43, 0xbdd7, 0xbdd8, 0xbdd9, 0x9b44, 0x9b45,
    -    0xbdda, 0x9b46, 0x9b47, 0x9b48, 0xbddb, 0x9b49, 0x9b4a, 0x9b4b,
    -    0x9b4c, 0x9b4d, 0x9b4e, 0x9b4f, 0xbddc, 0xbddd, 0x9b50, 0x9b51,
    -    0xbdde, 0xbddf, 0x9b52, 0x9b53, 0x9b54, 0x9b55, 0x9b56, 0x9b57,
    -    0x9b58, 0x9b59, 0x9b5a, 0x9b61, 0x9b62, 0x9b63, 0x9b64, 0x9b65,
    -    0x9b66, 0x9b67, 0x9b68, 0x9b69, 0x9b6a, 0x9b6b, 0x9b6c, 0x9b6d,
    -    0x9b6e, 0x9b6f, 0x9b70, 0x9b71, 0x9b72, 0xbde0, 0x9b73, 0x9b74,
    -    0x9b75, 0x9b76, 0x9b77, 0x9b78, 0x9b79, 0x9b7a, 0x9b81, 0x9b82,
    -    0x9b83, 0x9b84, 0x9b85, 0x9b86, 0x9b87, 0x9b88, 0x9b89, 0x9b8a,
    -    0x9b8b, 0x9b8c, 0x9b8d, 0x9b8e, 0x9b8f, 0x9b90, 0x9b91, 0x9b92,
    -    0x9b93, 0x9b94, 0x9b95, 0x9b96, 0x9b97, 0x9b98, 0x9b99, 0x9b9a,
    -    0xbde1, 0xbde2, 0x9b9b, 0x9b9c, 0xbde3, 0x9b9d, 0x9b9e, 0x9b9f,
    -    0xbde4, 0x9ba0, 0xbde5, 0x9ba1, 0x9ba2, 0x9ba3, 0x9ba4, 0x9ba5,
    -    0xbde6, 0xbde7, 0x9ba6, 0x9ba7, 0xbde8, 0xbde9, 0x9ba8, 0x9ba9,
    -    0x9baa, 0x9bab, 0x9bac, 0x9bad, 0xbdea, 0x9bae, 0x9baf, 0x9bb0,
    -    0xbdeb, 0x9bb1, 0x9bb2, 0x9bb3, 0xbdec, 0x9bb4, 0x9bb5, 0x9bb6,
    -    0x9bb7, 0x9bb8, 0x9bb9, 0x9bba, 0x9bbb, 0x9bbc, 0x9bbd, 0x9bbe,
    -    0x9bbf, 0x9bc0, 0x9bc1, 0x9bc2, 0x9bc3, 0x9bc4, 0x9bc5, 0x9bc6,
    -    0x9bc7, 0x9bc8, 0x9bc9, 0x9bca, 0x9bcb, 0x9bcc, 0x9bcd, 0x9bce,
    -    0x9bcf, 0x9bd0, 0x9bd1, 0x9bd2, 0x9bd3, 0x9bd4, 0x9bd5, 0x9bd6,
    -    0x9bd7, 0x9bd8, 0x9bd9, 0x9bda, 0x9bdb, 0x9bdc, 0x9bdd, 0x9bde,
    -    0x9bdf, 0x9be0, 0x9be1, 0x9be2, 0x9be3, 0x9be4, 0x9be5, 0x9be6,
    -    0xbded, 0x9be7, 0x9be8, 0x9be9, 0x9bea, 0x9beb, 0x9bec, 0x9bed,
    -    0x9bee, 0x9bef, 0x9bf0, 0x9bf1, 0x9bf2, 0x9bf3, 0x9bf4, 0x9bf5,
    -    0x9bf6, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfb, 0x9bfc, 0x9bfd,
    -    0xbdee, 0xbdef, 0x9bfe, 0x9c41, 0xbdf0, 0x9c42, 0x9c43, 0xbdf1,
    -    0xbdf2, 0x9c44, 0xbdf3, 0x9c45, 0x9c46, 0x9c47, 0x9c48, 0x9c49,
    -    0xbdf4, 0xbdf5, 0x9c4a, 0x9c4b, 0x9c4c, 0xbdf6, 0x9c4d, 0x9c4e,
    -    0x9c4f, 0x9c50, 0x9c51, 0x9c52, 0xbdf7, 0xbdf8, 0x9c53, 0x9c54,
    -    0xbdf9, 0x9c55, 0x9c56, 0x9c57, 0x9c58, 0x9c59, 0x9c5a, 0x9c61,
    -    /* 0xc400 .. 0xc4ff */
    -    0x9c62, 0x9c63, 0x9c64, 0x9c65, 0x9c66, 0x9c67, 0x9c68, 0x9c69,
    -    0xbdfa, 0x9c6a, 0x9c6b, 0x9c6c, 0x9c6d, 0x9c6e, 0x9c6f, 0x9c70,
    -    0xbdfb, 0x9c71, 0x9c72, 0x9c73, 0x9c74, 0x9c75, 0x9c76, 0x9c77,
    -    0x9c78, 0x9c79, 0x9c7a, 0x9c81, 0x9c82, 0x9c83, 0x9c84, 0x9c85,
    -    0x9c86, 0x9c87, 0x9c88, 0x9c89, 0xbdfc, 0x9c8a, 0x9c8b, 0x9c8c,
    -    0x9c8d, 0x9c8e, 0x9c8f, 0x9c90, 0xbdfd, 0x9c91, 0x9c92, 0x9c93,
    -    0xbdfe, 0x9c94, 0x9c95, 0x9c96, 0xbea1, 0x9c97, 0x9c98, 0x9c99,
    -    0x9c9a, 0x9c9b, 0x9c9c, 0x9c9d, 0xbea2, 0xbea3, 0x9c9e, 0x9c9f,
    -    0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca4, 0x9ca5, 0x9ca6, 0x9ca7,
    -    0xbea4, 0x9ca8, 0x9ca9, 0x9caa, 0x9cab, 0x9cac, 0x9cad, 0x9cae,
    -    0x9caf, 0x9cb0, 0x9cb1, 0x9cb2, 0x9cb3, 0x9cb4, 0x9cb5, 0x9cb6,
    -    0x9cb7, 0x9cb8, 0x9cb9, 0x9cba, 0x9cbb, 0x9cbc, 0x9cbd, 0x9cbe,
    -    0x9cbf, 0x9cc0, 0x9cc1, 0x9cc2, 0xbea5, 0xbea6, 0x9cc3, 0x9cc4,
    -    0xbea7, 0x9cc5, 0x9cc6, 0x9cc7, 0xbea8, 0x9cc8, 0x9cc9, 0x9cca,
    -    0x9ccb, 0x9ccc, 0x9ccd, 0x9cce, 0xbea9, 0xbeaa, 0x9ccf, 0x9cd0,
    -    0x9cd1, 0xbeab, 0x9cd2, 0x9cd3, 0x9cd4, 0x9cd5, 0x9cd6, 0x9cd7,
    -    0xbeac, 0x9cd8, 0x9cd9, 0x9cda, 0x9cdb, 0x9cdc, 0x9cdd, 0x9cde,
    -    0x9cdf, 0x9ce0, 0x9ce1, 0x9ce2, 0x9ce3, 0x9ce4, 0x9ce5, 0x9ce6,
    -    0x9ce7, 0x9ce8, 0x9ce9, 0x9cea, 0xbead, 0x9ceb, 0x9cec, 0x9ced,
    -    0x9cee, 0x9cef, 0x9cf0, 0x9cf1, 0xbeae, 0x9cf2, 0x9cf3, 0x9cf4,
    -    0x9cf5, 0x9cf6, 0x9cf7, 0x9cf8, 0x9cf9, 0x9cfa, 0x9cfb, 0x9cfc,
    -    0x9cfd, 0x9cfe, 0x9d41, 0x9d42, 0x9d43, 0x9d44, 0x9d45, 0x9d46,
    -    0x9d47, 0x9d48, 0x9d49, 0x9d4a, 0x9d4b, 0x9d4c, 0x9d4d, 0x9d4e,
    -    0xbeaf, 0x9d4f, 0x9d50, 0x9d51, 0xbeb0, 0x9d52, 0x9d53, 0x9d54,
    -    0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0x9d5a, 0x9d61, 0x9d62,
    -    0x9d63, 0x9d64, 0x9d65, 0x9d66, 0x9d67, 0x9d68, 0x9d69, 0x9d6a,
    -    0x9d6b, 0x9d6c, 0x9d6d, 0x9d6e, 0x9d6f, 0x9d70, 0x9d71, 0x9d72,
    -    0x9d73, 0x9d74, 0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a,
    -    0x9d81, 0x9d82, 0x9d83, 0x9d84, 0x9d85, 0x9d86, 0x9d87, 0x9d88,
    -    0x9d89, 0xbeb1, 0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f,
    -    0xbeb2, 0xbeb3, 0x9d90, 0x9d91, 0xbeb4, 0x9d92, 0x9d93, 0x9d94,
    -    0xbeb5, 0x9d95, 0xbeb6, 0x9d96, 0x9d97, 0x9d98, 0x9d99, 0xbeb7,
    -    /* 0xc500 .. 0xc5ff */
    -    0xbeb8, 0xbeb9, 0x9d9a, 0x9d9b, 0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f,
    -    0x9da0, 0x9da1, 0x9da2, 0x9da3, 0xbeba, 0x9da4, 0x9da5, 0x9da6,
    -    0xbebb, 0x9da7, 0x9da8, 0x9da9, 0xbebc, 0x9daa, 0x9dab, 0x9dac,
    -    0x9dad, 0x9dae, 0x9daf, 0x9db0, 0xbebd, 0x9db1, 0x9db2, 0x9db3,
    -    0x9db4, 0x9db5, 0x9db6, 0x9db7, 0x9db8, 0x9db9, 0x9dba, 0x9dbb,
    -    0xbebe, 0xbebf, 0x9dbc, 0x9dbd, 0xbec0, 0x9dbe, 0x9dbf, 0x9dc0,
    -    0xbec1, 0x9dc1, 0x9dc2, 0x9dc3, 0x9dc4, 0x9dc5, 0x9dc6, 0x9dc7,
    -    0xbec2, 0xbec3, 0x9dc8, 0xbec4, 0x9dc9, 0xbec5, 0x9dca, 0x9dcb,
    -    0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0xbec6, 0xbec7, 0x9dd0, 0x9dd1,
    -    0xbec8, 0xbec9, 0xbeca, 0x9dd2, 0xbecb, 0xbecc, 0xbecd, 0x9dd3,
    -    0x9dd4, 0x9dd5, 0x9dd6, 0xbece, 0xbecf, 0xbed0, 0x9dd7, 0xbed1,
    -    0xbed2, 0xbed3, 0x9dd8, 0x9dd9, 0x9dda, 0xbed4, 0xbed5, 0x9ddb,
    -    0xbed6, 0xbed7, 0x9ddc, 0x9ddd, 0xbed8, 0x9dde, 0x9ddf, 0x9de0,
    -    0xbed9, 0x9de1, 0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6, 0x9de7,
    -    0xbeda, 0xbedb, 0x9de8, 0xbedc, 0xbedd, 0xbede, 0x9de9, 0x9dea,
    -    0x9deb, 0x9dec, 0x9ded, 0x9dee, 0xbedf, 0xbee0, 0x9def, 0x9df0,
    -    0xbee1, 0x9df1, 0x9df2, 0x9df3, 0xbee2, 0x9df4, 0x9df5, 0xbee3,
    -    0x9df6, 0x9df7, 0x9df8, 0x9df9, 0xbee4, 0xbee5, 0x9dfa, 0xbee6,
    -    0x9dfb, 0xbee7, 0x9dfc, 0x9dfd, 0x9dfe, 0xbee8, 0x9e41, 0xbee9,
    -    0xbeea, 0x9e42, 0x9e43, 0x9e44, 0xbeeb, 0x9e45, 0x9e46, 0x9e47,
    -    0xbeec, 0x9e48, 0x9e49, 0x9e4a, 0x9e4b, 0x9e4c, 0x9e4d, 0x9e4e,
    -    0x9e4f, 0xbeed, 0x9e50, 0x9e51, 0x9e52, 0x9e53, 0x9e54, 0x9e55,
    -    0x9e56, 0x9e57, 0x9e58, 0x9e59, 0xbeee, 0xbeef, 0x9e5a, 0x9e61,
    -    0xbef0, 0xbef1, 0x9e62, 0xbef2, 0xbef3, 0xbef4, 0xbef5, 0x9e63,
    -    0x9e64, 0x9e65, 0x9e66, 0x9e67, 0xbef6, 0xbef7, 0xbef8, 0xbef9,
    -    0xbefa, 0xbefb, 0xbefc, 0x9e68, 0xbefd, 0x9e69, 0xbefe, 0x9e6a,
    -    0xbfa1, 0xbfa2, 0x9e6b, 0x9e6c, 0xbfa3, 0x9e6d, 0x9e6e, 0x9e6f,
    -    0xbfa4, 0x9e70, 0x9e71, 0x9e72, 0x9e73, 0x9e74, 0x9e75, 0x9e76,
    -    0xbfa5, 0xbfa6, 0x9e77, 0xbfa7, 0x9e78, 0xbfa8, 0x9e79, 0x9e7a,
    -    0x9e81, 0x9e82, 0x9e83, 0x9e84, 0xbfa9, 0xbfaa, 0xbfab, 0x9e85,
    -    0xbfac, 0x9e86, 0x9e87, 0x9e88, 0xbfad, 0x9e89, 0xbfae, 0xbfaf,
    -    0x9e8a, 0x9e8b, 0x9e8c, 0x9e8d, 0xbfb0, 0xbfb1, 0xbfb2, 0xbfb3,
    -    /* 0xc600 .. 0xc6ff */
    -    0xbfb4, 0xbfb5, 0x9e8e, 0x9e8f, 0x9e90, 0xbfb6, 0xbfb7, 0xbfb8,
    -    0xbfb9, 0x9e91, 0x9e92, 0x9e93, 0xbfba, 0x9e94, 0x9e95, 0x9e96,
    -    0xbfbb, 0x9e97, 0x9e98, 0x9e99, 0x9e9a, 0x9e9b, 0x9e9c, 0x9e9d,
    -    0xbfbc, 0xbfbd, 0x9e9e, 0xbfbe, 0xbfbf, 0x9e9f, 0x9ea0, 0x9ea1,
    -    0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0xbfc0, 0xbfc1, 0x9ea6, 0x9ea7,
    -    0xbfc2, 0x9ea8, 0x9ea9, 0x9eaa, 0xbfc3, 0xbfc4, 0xbfc5, 0x9eab,
    -    0xbfc6, 0x9eac, 0x9ead, 0xbfc7, 0xbfc8, 0xbfc9, 0x9eae, 0xbfca,
    -    0x9eaf, 0xbfcb, 0x9eb0, 0xbfcc, 0x9eb1, 0x9eb2, 0x9eb3, 0x9eb4,
    -    0xbfcd, 0xbfce, 0x9eb5, 0x9eb6, 0xbfcf, 0x9eb7, 0x9eb8, 0x9eb9,
    -    0xbfd0, 0x9eba, 0x9ebb, 0x9ebc, 0x9ebd, 0x9ebe, 0x9ebf, 0x9ec0,
    -    0xbfd1, 0xbfd2, 0x9ec1, 0xbfd3, 0xbfd4, 0xbfd5, 0x9ec2, 0x9ec3,
    -    0x9ec4, 0x9ec5, 0x9ec6, 0x9ec7, 0xbfd6, 0xbfd7, 0x9ec8, 0x9ec9,
    -    0xbfd8, 0x9eca, 0x9ecb, 0x9ecc, 0x9ecd, 0x9ece, 0x9ecf, 0x9ed0,
    -    0x9ed1, 0x9ed2, 0x9ed3, 0x9ed4, 0xbfd9, 0x9ed5, 0x9ed6, 0xbfda,
    -    0x9ed7, 0xbfdb, 0x9ed8, 0x9ed9, 0x9eda, 0x9edb, 0x9edc, 0x9edd,
    -    0xbfdc, 0xbfdd, 0x9ede, 0x9edf, 0xbfde, 0x9ee0, 0x9ee1, 0x9ee2,
    -    0xbfdf, 0x9ee3, 0x9ee4, 0x9ee5, 0x9ee6, 0x9ee7, 0x9ee8, 0x9ee9,
    -    0xbfe0, 0xbfe1, 0x9eea, 0xbfe2, 0x9eeb, 0xbfe3, 0x9eec, 0x9eed,
    -    0x9eee, 0x9eef, 0x9ef0, 0x9ef1, 0xbfe4, 0xbfe5, 0x9ef2, 0x9ef3,
    -    0xbfe6, 0x9ef4, 0x9ef5, 0x9ef6, 0xbfe7, 0x9ef7, 0x9ef8, 0x9ef9,
    -    0x9efa, 0x9efb, 0x9efc, 0x9efd, 0xbfe8, 0xbfe9, 0x9efe, 0xbfea,
    -    0x9f41, 0xbfeb, 0x9f42, 0x9f43, 0x9f44, 0x9f45, 0x9f46, 0x9f47,
    -    0xbfec, 0xbfed, 0x9f48, 0x9f49, 0xbfee, 0x9f4a, 0x9f4b, 0x9f4c,
    -    0xbfef, 0xbff0, 0xbff1, 0x9f4d, 0x9f4e, 0x9f4f, 0x9f50, 0x9f51,
    -    0xbff2, 0xbff3, 0x9f52, 0xbff4, 0x9f53, 0xbff5, 0x9f54, 0x9f55,
    -    0x9f56, 0x9f57, 0x9f58, 0x9f59, 0xbff6, 0xbff7, 0x9f5a, 0x9f61,
    -    0xbff8, 0x9f62, 0x9f63, 0x9f64, 0xbff9, 0x9f65, 0x9f66, 0x9f67,
    -    0x9f68, 0x9f69, 0x9f6a, 0x9f6b, 0xbffa, 0xbffb, 0x9f6c, 0x9f6d,
    -    0xbffc, 0xbffd, 0x9f6e, 0x9f6f, 0x9f70, 0x9f71, 0x9f72, 0x9f73,
    -    0xbffe, 0xc0a1, 0x9f74, 0x9f75, 0xc0a2, 0x9f76, 0x9f77, 0x9f78,
    -    0xc0a3, 0x9f79, 0x9f7a, 0x9f81, 0x9f82, 0x9f83, 0x9f84, 0x9f85,
    -    0xc0a4, 0xc0a5, 0x9f86, 0x9f87, 0x9f88, 0xc0a6, 0x9f89, 0x9f8a,
    -    /* 0xc700 .. 0xc7ff */
    -    0x9f8b, 0x9f8c, 0x9f8d, 0x9f8e, 0xc0a7, 0xc0a8, 0x9f8f, 0x9f90,
    -    0xc0a9, 0x9f91, 0x9f92, 0x9f93, 0xc0aa, 0x9f94, 0x9f95, 0x9f96,
    -    0x9f97, 0x9f98, 0x9f99, 0x9f9a, 0xc0ab, 0xc0ac, 0x9f9b, 0xc0ad,
    -    0x9f9c, 0xc0ae, 0x9f9d, 0x9f9e, 0x9f9f, 0x9fa0, 0x9fa1, 0x9fa2,
    -    0xc0af, 0xc0b0, 0x9fa3, 0x9fa4, 0xc0b1, 0x9fa5, 0x9fa6, 0x9fa7,
    -    0xc0b2, 0x9fa8, 0x9fa9, 0x9faa, 0x9fab, 0x9fac, 0x9fad, 0x9fae,
    -    0xc0b3, 0xc0b4, 0x9faf, 0xc0b5, 0x9fb0, 0xc0b6, 0x9fb1, 0xc0b7,
    -    0x9fb2, 0x9fb3, 0x9fb4, 0x9fb5, 0xc0b8, 0xc0b9, 0x9fb6, 0x9fb7,
    -    0xc0ba, 0x9fb8, 0x9fb9, 0x9fba, 0xc0bb, 0x9fbb, 0x9fbc, 0x9fbd,
    -    0x9fbe, 0x9fbf, 0xc0bc, 0x9fc0, 0xc0bd, 0xc0be, 0x9fc1, 0xc0bf,
    -    0x9fc2, 0xc0c0, 0xc0c1, 0xc0c2, 0xc0c3, 0xc0c4, 0xc0c5, 0xc0c6,
    -    0xc0c7, 0x9fc3, 0x9fc4, 0x9fc5, 0xc0c8, 0x9fc6, 0x9fc7, 0x9fc8,
    -    0xc0c9, 0x9fc9, 0x9fca, 0x9fcb, 0x9fcc, 0x9fcd, 0x9fce, 0x9fcf,
    -    0xc0ca, 0x9fd0, 0x9fd1, 0xc0cb, 0x9fd2, 0x9fd3, 0x9fd4, 0x9fd5,
    -    0x9fd6, 0x9fd7, 0x9fd8, 0x9fd9, 0xc0cc, 0xc0cd, 0x9fda, 0x9fdb,
    -    0xc0ce, 0x9fdc, 0x9fdd, 0x9fde, 0xc0cf, 0xc0d0, 0xc0d1, 0x9fdf,
    -    0x9fe0, 0x9fe1, 0x9fe2, 0xc0d2, 0xc0d3, 0xc0d4, 0x9fe3, 0xc0d5,
    -    0xc0d6, 0xc0d7, 0xc0d8, 0x9fe4, 0x9fe5, 0x9fe6, 0xc0d9, 0x9fe7,
    -    0xc0da, 0xc0db, 0x9fe8, 0x9fe9, 0xc0dc, 0x9fea, 0xc0dd, 0xc0de,
    -    0xc0df, 0x9feb, 0xc0e0, 0x9fec, 0x9fed, 0x9fee, 0x9fef, 0x9ff0,
    -    0xc0e1, 0xc0e2, 0x9ff1, 0xc0e3, 0xc0e4, 0xc0e5, 0xc0e6, 0x9ff2,
    -    0x9ff3, 0x9ff4, 0x9ff5, 0x9ff6, 0xc0e7, 0xc0e8, 0x9ff7, 0x9ff8,
    -    0xc0e9, 0x9ff9, 0x9ffa, 0x9ffb, 0xc0ea, 0x9ffc, 0x9ffd, 0x9ffe,
    -    0xa041, 0xa042, 0xa043, 0xa044, 0xc0eb, 0xc0ec, 0xa045, 0xc0ed,
    -    0xc0ee, 0xc0ef, 0xa046, 0xa047, 0xa048, 0xa049, 0xa04a, 0xa04b,
    -    0xc0f0, 0xc0f1, 0xa04c, 0xa04d, 0xc0f2, 0xa04e, 0xc0f3, 0xa04f,
    -    0xc0f4, 0xa050, 0xa051, 0xa052, 0xa053, 0xa054, 0xa055, 0xa056,
    -    0xc0f5, 0xa057, 0xa058, 0xa059, 0xa05a, 0xc0f6, 0xa061, 0xa062,
    -    0xa063, 0xa064, 0xa065, 0xa066, 0xc0f7, 0xa067, 0xa068, 0xa069,
    -    0xc0f8, 0xa06a, 0xa06b, 0xa06c, 0xc0f9, 0xa06d, 0xa06e, 0xa06f,
    -    0xa070, 0xa071, 0xa072, 0xa073, 0xa074, 0xa075, 0xa076, 0xa077,
    -    0xa078, 0xa079, 0xa07a, 0xa081, 0xa082, 0xa083, 0xa084, 0xa085,
    -    /* 0xc800 .. 0xc8ff */
    -    0xc0fa, 0xc0fb, 0xa086, 0xa087, 0xc0fc, 0xa088, 0xa089, 0xa08a,
    -    0xc0fd, 0xa08b, 0xc0fe, 0xa08c, 0xa08d, 0xa08e, 0xa08f, 0xa090,
    -    0xc1a1, 0xc1a2, 0xa091, 0xc1a3, 0xa092, 0xc1a4, 0xc1a5, 0xa093,
    -    0xa094, 0xa095, 0xa096, 0xa097, 0xc1a6, 0xc1a7, 0xa098, 0xa099,
    -    0xc1a8, 0xa09a, 0xa09b, 0xa09c, 0xc1a9, 0xa09d, 0xa09e, 0xa09f,
    -    0xa0a0, 0xa0a1, 0xa0a2, 0xa0a3, 0xc1aa, 0xc1ab, 0xa0a4, 0xc1ac,
    -    0xa0a5, 0xc1ad, 0xa0a6, 0xa0a7, 0xa0a8, 0xa0a9, 0xa0aa, 0xa0ab,
    -    0xc1ae, 0xa0ac, 0xa0ad, 0xa0ae, 0xc1af, 0xa0af, 0xa0b0, 0xa0b1,
    -    0xc1b0, 0xa0b2, 0xa0b3, 0xa0b4, 0xa0b5, 0xa0b6, 0xa0b7, 0xa0b8,
    -    0xc1b1, 0xc1b2, 0xa0b9, 0xa0ba, 0xc1b3, 0xc1b4, 0xa0bb, 0xa0bc,
    -    0xa0bd, 0xa0be, 0xa0bf, 0xa0c0, 0xc1b5, 0xa0c1, 0xa0c2, 0xa0c3,
    -    0xa0c4, 0xa0c5, 0xa0c6, 0xa0c7, 0xa0c8, 0xa0c9, 0xa0ca, 0xa0cb,
    -    0xa0cc, 0xa0cd, 0xa0ce, 0xa0cf, 0xa0d0, 0xa0d1, 0xa0d2, 0xa0d3,
    -    0xa0d4, 0xa0d5, 0xa0d6, 0xa0d7, 0xa0d8, 0xa0d9, 0xa0da, 0xa0db,
    -    0xc1b6, 0xc1b7, 0xa0dc, 0xa0dd, 0xc1b8, 0xa0de, 0xa0df, 0xa0e0,
    -    0xc1b9, 0xa0e1, 0xc1ba, 0xa0e2, 0xa0e3, 0xa0e4, 0xa0e5, 0xa0e6,
    -    0xc1bb, 0xc1bc, 0xa0e7, 0xc1bd, 0xa0e8, 0xc1be, 0xc1bf, 0xc1c0,
    -    0xa0e9, 0xa0ea, 0xa0eb, 0xc1c1, 0xc1c2, 0xc1c3, 0xa0ec, 0xa0ed,
    -    0xa0ee, 0xa0ef, 0xa0f0, 0xa0f1, 0xc1c4, 0xa0f2, 0xa0f3, 0xa0f4,
    -    0xa0f5, 0xa0f6, 0xa0f7, 0xa0f8, 0xa0f9, 0xc1c5, 0xa0fa, 0xc1c6,
    -    0xa0fb, 0xc1c7, 0xa0fc, 0xa0fd, 0xa0fe, 0xa141, 0xa142, 0xa143,
    -    0xc1c8, 0xa144, 0xa145, 0xa146, 0xa147, 0xa148, 0xa149, 0xa14a,
    -    0xa14b, 0xa14c, 0xa14d, 0xa14e, 0xa14f, 0xa150, 0xa151, 0xa152,
    -    0xa153, 0xa154, 0xa155, 0xa156, 0xc1c9, 0xc1ca, 0xa157, 0xa158,
    -    0xa159, 0xa15a, 0xa161, 0xa162, 0xc1cb, 0xa163, 0xa164, 0xa165,
    -    0xc1cc, 0xa166, 0xa167, 0xa168, 0xc1cd, 0xa169, 0xa16a, 0xa16b,
    -    0xa16c, 0xa16d, 0xa16e, 0xa16f, 0xc1ce, 0xc1cf, 0xa170, 0xc1d0,
    -    0xa171, 0xc1d1, 0xa172, 0xa173, 0xa174, 0xa175, 0xa176, 0xa177,
    -    0xc1d2, 0xc1d3, 0xa178, 0xa179, 0xc1d4, 0xa17a, 0xa181, 0xa182,
    -    0xa183, 0xa184, 0xa185, 0xa186, 0xa187, 0xa188, 0xa189, 0xa18a,
    -    0xa18b, 0xa18c, 0xa18d, 0xa18e, 0xa18f, 0xc1d5, 0xa190, 0xa191,
    -    0xa192, 0xa193, 0xa194, 0xa195, 0xc1d6, 0xc1d7, 0xa196, 0xa197,
    -    /* 0xc900 .. 0xc9ff */
    -    0xc1d8, 0xa198, 0xa199, 0xa19a, 0xc1d9, 0xc1da, 0xc1db, 0xa19b,
    -    0xa19c, 0xa19d, 0xa19e, 0xa19f, 0xc1dc, 0xc1dd, 0xa1a0, 0xc1de,
    -    0xa241, 0xc1df, 0xa242, 0xa243, 0xa244, 0xa245, 0xa246, 0xa247,
    -    0xc1e0, 0xa248, 0xa249, 0xa24a, 0xa24b, 0xa24c, 0xa24d, 0xa24e,
    -    0xa24f, 0xa250, 0xa251, 0xa252, 0xa253, 0xa254, 0xa255, 0xa256,
    -    0xa257, 0xa258, 0xa259, 0xa25a, 0xc1e1, 0xa261, 0xa262, 0xa263,
    -    0xa264, 0xa265, 0xa266, 0xa267, 0xc1e2, 0xa268, 0xa269, 0xa26a,
    -    0xa26b, 0xa26c, 0xa26d, 0xa26e, 0xa26f, 0xa270, 0xa271, 0xa272,
    -    0xa273, 0xa274, 0xa275, 0xa276, 0xa277, 0xa278, 0xa279, 0xa27a,
    -    0xa281, 0xa282, 0xa283, 0xa284, 0xa285, 0xa286, 0xa287, 0xa288,
    -    0xc1e3, 0xc1e4, 0xa289, 0xa28a, 0xc1e5, 0xa28b, 0xa28c, 0xa28d,
    -    0xc1e6, 0xa28e, 0xa28f, 0xa290, 0xa291, 0xa292, 0xa293, 0xa294,
    -    0xc1e7, 0xc1e8, 0xa295, 0xc1e9, 0xa296, 0xa297, 0xa298, 0xa299,
    -    0xa29a, 0xa29b, 0xa29c, 0xa29d, 0xc1ea, 0xa29e, 0xa29f, 0xa2a0,
    -    0xc1eb, 0xa341, 0xa342, 0xa343, 0xc1ec, 0xa344, 0xa345, 0xa346,
    -    0xa347, 0xa348, 0xa349, 0xa34a, 0xc1ed, 0xa34b, 0xa34c, 0xa34d,
    -    0xa34e, 0xa34f, 0xa350, 0xa351, 0xa352, 0xa353, 0xa354, 0xa355,
    -    0xc1ee, 0xc1ef, 0xa356, 0xa357, 0xc1f0, 0xa358, 0xa359, 0xa35a,
    -    0xc1f1, 0xa361, 0xa362, 0xa363, 0xa364, 0xa365, 0xa366, 0xa367,
    -    0xc1f2, 0xc1f3, 0xa368, 0xc1f4, 0xa369, 0xc1f5, 0xa36a, 0xa36b,
    -    0xa36c, 0xa36d, 0xa36e, 0xa36f, 0xa370, 0xa371, 0xa372, 0xa373,
    -    0xa374, 0xa375, 0xa376, 0xa377, 0xa378, 0xa379, 0xa37a, 0xa381,
    -    0xa382, 0xa383, 0xa384, 0xa385, 0xa386, 0xa387, 0xa388, 0xa389,
    -    0xa38a, 0xa38b, 0xa38c, 0xa38d, 0xa38e, 0xa38f, 0xa390, 0xa391,
    -    0xc1f6, 0xc1f7, 0xa392, 0xa393, 0xc1f8, 0xa394, 0xa395, 0xc1f9,
    -    0xc1fa, 0xa396, 0xc1fb, 0xa397, 0xa398, 0xa399, 0xa39a, 0xa39b,
    -    0xc1fc, 0xc1fd, 0xa39c, 0xc1fe, 0xa39d, 0xc2a1, 0xc2a2, 0xa39e,
    -    0xa39f, 0xc2a3, 0xc2a4, 0xa3a0, 0xc2a5, 0xc2a6, 0xa441, 0xa442,
    -    0xc2a7, 0xa443, 0xc2a8, 0xa444, 0xc2a9, 0xa445, 0xa446, 0xc2aa,
    -    0xa447, 0xa448, 0xa449, 0xa44a, 0xc2ab, 0xc2ac, 0xa44b, 0xc2ad,
    -    0xc2ae, 0xc2af, 0xa44c, 0xa44d, 0xa44e, 0xa44f, 0xa450, 0xa451,
    -    0xc2b0, 0xc2b1, 0xa452, 0xa453, 0xc2b2, 0xa454, 0xa455, 0xa456,
    -    /* 0xca00 .. 0xcaff */
    -    0xc2b3, 0xa457, 0xa458, 0xa459, 0xa45a, 0xa461, 0xa462, 0xa463,
    -    0xc2b4, 0xc2b5, 0xa464, 0xc2b6, 0xc2b7, 0xc2b8, 0xa465, 0xa466,
    -    0xa467, 0xa468, 0xa469, 0xa46a, 0xc2b9, 0xa46b, 0xa46c, 0xa46d,
    -    0xc2ba, 0xa46e, 0xa46f, 0xa470, 0xa471, 0xa472, 0xa473, 0xa474,
    -    0xa475, 0xa476, 0xa477, 0xa478, 0xa479, 0xa47a, 0xa481, 0xa482,
    -    0xa483, 0xc2bb, 0xa484, 0xa485, 0xa486, 0xa487, 0xa488, 0xa489,
    -    0xa48a, 0xa48b, 0xa48c, 0xa48d, 0xa48e, 0xa48f, 0xa490, 0xa491,
    -    0xa492, 0xa493, 0xa494, 0xa495, 0xa496, 0xa497, 0xa498, 0xa499,
    -    0xa49a, 0xa49b, 0xa49c, 0xa49d, 0xa49e, 0xa49f, 0xa4a0, 0xa541,
    -    0xa542, 0xa543, 0xa544, 0xa545, 0xc2bc, 0xc2bd, 0xa546, 0xa547,
    -    0xc2be, 0xa548, 0xa549, 0xa54a, 0xc2bf, 0xa54b, 0xa54c, 0xa54d,
    -    0xa54e, 0xa54f, 0xa550, 0xa551, 0xc2c0, 0xc2c1, 0xa552, 0xc2c2,
    -    0xc2c3, 0xc2c4, 0xa553, 0xa554, 0xa555, 0xa556, 0xa557, 0xa558,
    -    0xc2c5, 0xa559, 0xa55a, 0xa561, 0xa562, 0xa563, 0xa564, 0xa565,
    -    0xa566, 0xa567, 0xa568, 0xa569, 0xa56a, 0xa56b, 0xa56c, 0xa56d,
    -    0xa56e, 0xa56f, 0xa570, 0xa571, 0xa572, 0xc2c6, 0xa573, 0xa574,
    -    0xa575, 0xa576, 0xa577, 0xa578, 0xc2c7, 0xa579, 0xa57a, 0xa581,
    -    0xa582, 0xa583, 0xa584, 0xa585, 0xa586, 0xa587, 0xa588, 0xa589,
    -    0xa58a, 0xa58b, 0xa58c, 0xa58d, 0xa58e, 0xa58f, 0xa590, 0xa591,
    -    0xc2c8, 0xa592, 0xa593, 0xa594, 0xa595, 0xa596, 0xa597, 0xa598,
    -    0xa599, 0xa59a, 0xa59b, 0xa59c, 0xa59d, 0xa59e, 0xa59f, 0xa5a0,
    -    0xa641, 0xa642, 0xa643, 0xa644, 0xa645, 0xa646, 0xa647, 0xa648,
    -    0xa649, 0xa64a, 0xa64b, 0xa64c, 0xa64d, 0xa64e, 0xa64f, 0xa650,
    -    0xa651, 0xa652, 0xa653, 0xa654, 0xc2c9, 0xc2ca, 0xa655, 0xa656,
    -    0xc2cb, 0xa657, 0xa658, 0xa659, 0xc2cc, 0xa65a, 0xa661, 0xa662,
    -    0xa663, 0xa664, 0xa665, 0xa666, 0xc2cd, 0xc2ce, 0xa667, 0xc2cf,
    -    0xa668, 0xc2d0, 0xa669, 0xc2d1, 0xa66a, 0xa66b, 0xa66c, 0xa66d,
    -    0xc2d2, 0xc2d3, 0xa66e, 0xa66f, 0xa670, 0xa671, 0xa672, 0xa673,
    -    0xc2d4, 0xa674, 0xa675, 0xa676, 0xa677, 0xa678, 0xa679, 0xa67a,
    -    0xa681, 0xa682, 0xa683, 0xa684, 0xc2d5, 0xa685, 0xa686, 0xa687,
    -    0xa688, 0xa689, 0xa68a, 0xa68b, 0xc2d6, 0xa68c, 0xa68d, 0xa68e,
    -    0xa68f, 0xa690, 0xa691, 0xa692, 0xa693, 0xa694, 0xa695, 0xa696,
    -    /* 0xcb00 .. 0xcbff */
    -    0xa697, 0xa698, 0xa699, 0xa69a, 0xa69b, 0xa69c, 0xa69d, 0xa69e,
    -    0xc2d7, 0xa69f, 0xa6a0, 0xa741, 0xa742, 0xa743, 0xa744, 0xa745,
    -    0xc2d8, 0xa746, 0xa747, 0xa748, 0xc2d9, 0xa749, 0xa74a, 0xa74b,
    -    0xc2da, 0xa74c, 0xa74d, 0xa74e, 0xa74f, 0xa750, 0xa751, 0xa752,
    -    0xc2db, 0xc2dc, 0xa753, 0xa754, 0xa755, 0xa756, 0xa757, 0xa758,
    -    0xa759, 0xa75a, 0xa761, 0xa762, 0xa763, 0xa764, 0xa765, 0xa766,
    -    0xa767, 0xa768, 0xa769, 0xa76a, 0xa76b, 0xa76c, 0xa76d, 0xa76e,
    -    0xa76f, 0xa770, 0xa771, 0xa772, 0xa773, 0xa774, 0xa775, 0xa776,
    -    0xa777, 0xc2dd, 0xa778, 0xa779, 0xa77a, 0xa781, 0xa782, 0xa783,
    -    0xc2de, 0xc2df, 0xa784, 0xa785, 0xc2e0, 0xa786, 0xa787, 0xa788,
    -    0xc2e1, 0xa789, 0xa78a, 0xa78b, 0xa78c, 0xa78d, 0xa78e, 0xa78f,
    -    0xc2e2, 0xc2e3, 0xa790, 0xa791, 0xa792, 0xc2e4, 0xa793, 0xa794,
    -    0xa795, 0xa796, 0xa797, 0xa798, 0xc2e5, 0xa799, 0xa79a, 0xa79b,
    -    0xa79c, 0xa79d, 0xa79e, 0xa79f, 0xa7a0, 0xa841, 0xa842, 0xa843,
    -    0xa844, 0xa845, 0xa846, 0xa847, 0xa848, 0xa849, 0xa84a, 0xa84b,
    -    0xc2e6, 0xc2e7, 0xa84c, 0xa84d, 0xa84e, 0xa84f, 0xa850, 0xa851,
    -    0xa852, 0xa853, 0xa854, 0xa855, 0xa856, 0xa857, 0xa858, 0xa859,
    -    0xa85a, 0xa861, 0xa862, 0xa863, 0xa864, 0xa865, 0xa866, 0xa867,
    -    0xa868, 0xa869, 0xa86a, 0xa86b, 0xa86c, 0xa86d, 0xa86e, 0xa86f,
    -    0xa870, 0xa871, 0xa872, 0xa873, 0xc2e8, 0xa874, 0xa875, 0xa876,
    -    0xa877, 0xa878, 0xa879, 0xa87a, 0xa881, 0xa882, 0xa883, 0xa884,
    -    0xa885, 0xa886, 0xa887, 0xa888, 0xa889, 0xa88a, 0xa88b, 0xa88c,
    -    0xa88d, 0xa88e, 0xa88f, 0xa890, 0xa891, 0xa892, 0xa893, 0xa894,
    -    0xc2e9, 0xa895, 0xa896, 0xa897, 0xa898, 0xa899, 0xa89a, 0xa89b,
    -    0xa89c, 0xa89d, 0xa89e, 0xa89f, 0xa8a0, 0xa941, 0xa942, 0xa943,
    -    0xa944, 0xa945, 0xa946, 0xa947, 0xa948, 0xa949, 0xa94a, 0xa94b,
    -    0xa94c, 0xa94d, 0xa94e, 0xa94f, 0xc2ea, 0xa950, 0xa951, 0xa952,
    -    0xa953, 0xa954, 0xa955, 0xa956, 0xa957, 0xa958, 0xa959, 0xa95a,
    -    0xa961, 0xa962, 0xa963, 0xa964, 0xc2eb, 0xa965, 0xa966, 0xc2ec,
    -    0xa967, 0xc2ed, 0xa968, 0xa969, 0xa96a, 0xa96b, 0xa96c, 0xa96d,
    -    0xa96e, 0xa96f, 0xa970, 0xa971, 0xa972, 0xa973, 0xa974, 0xa975,
    -    0xa976, 0xa977, 0xa978, 0xa979, 0xa97a, 0xa981, 0xa982, 0xa983,
    -    /* 0xcc00 .. 0xccff */
    -    0xa984, 0xa985, 0xa986, 0xa987, 0xa988, 0xa989, 0xa98a, 0xa98b,
    -    0xa98c, 0xa98d, 0xa98e, 0xa98f, 0xc2ee, 0xc2ef, 0xa990, 0xa991,
    -    0xc2f0, 0xa992, 0xa993, 0xa994, 0xc2f1, 0xa995, 0xa996, 0xa997,
    -    0xa998, 0xa999, 0xa99a, 0xa99b, 0xc2f2, 0xc2f3, 0xa99c, 0xa99d,
    -    0xa99e, 0xc2f4, 0xc2f5, 0xa99f, 0xa9a0, 0xaa41, 0xaa42, 0xc2f6,
    -    0xc2f7, 0xc2f8, 0xaa43, 0xaa44, 0xc2f9, 0xaa45, 0xc2fa, 0xaa46,
    -    0xc2fb, 0xaa47, 0xaa48, 0xaa49, 0xaa4a, 0xaa4b, 0xaa4c, 0xaa4d,
    -    0xc2fc, 0xc2fd, 0xaa4e, 0xc2fe, 0xc3a1, 0xc3a2, 0xc3a3, 0xaa4f,
    -    0xaa50, 0xaa51, 0xaa52, 0xaa53, 0xc3a4, 0xc3a5, 0xaa54, 0xaa55,
    -    0xc3a6, 0xaa56, 0xaa57, 0xaa58, 0xc3a7, 0xaa59, 0xaa5a, 0xaa61,
    -    0xaa62, 0xaa63, 0xaa64, 0xaa65, 0xc3a8, 0xc3a9, 0xaa66, 0xc3aa,
    -    0xc3ab, 0xc3ac, 0xaa67, 0xaa68, 0xaa69, 0xaa6a, 0xaa6b, 0xaa6c,
    -    0xc3ad, 0xaa6d, 0xaa6e, 0xaa6f, 0xc3ae, 0xaa70, 0xc3af, 0xaa71,
    -    0xc3b0, 0xaa72, 0xaa73, 0xaa74, 0xaa75, 0xaa76, 0xaa77, 0xaa78,
    -    0xc3b1, 0xaa79, 0xaa7a, 0xaa81, 0xaa82, 0xc3b2, 0xaa83, 0xaa84,
    -    0xaa85, 0xaa86, 0xaa87, 0xaa88, 0xaa89, 0xaa8a, 0xaa8b, 0xaa8c,
    -    0xaa8d, 0xaa8e, 0xaa8f, 0xaa90, 0xaa91, 0xaa92, 0xaa93, 0xaa94,
    -    0xaa95, 0xaa96, 0xaa97, 0xaa98, 0xaa99, 0xaa9a, 0xaa9b, 0xaa9c,
    -    0xaa9d, 0xaa9e, 0xaa9f, 0xaaa0, 0xab41, 0xab42, 0xab43, 0xab44,
    -    0xc3b3, 0xc3b4, 0xab45, 0xab46, 0xc3b5, 0xab47, 0xab48, 0xab49,
    -    0xc3b6, 0xab4a, 0xab4b, 0xab4c, 0xab4d, 0xab4e, 0xab4f, 0xab50,
    -    0xc3b7, 0xc3b8, 0xab51, 0xc3b9, 0xc3ba, 0xc3bb, 0xab52, 0xab53,
    -    0xab54, 0xab55, 0xab56, 0xab57, 0xc3bc, 0xc3bd, 0xab58, 0xab59,
    -    0xc3be, 0xab5a, 0xab61, 0xab62, 0xc3bf, 0xab63, 0xab64, 0xab65,
    -    0xab66, 0xab67, 0xab68, 0xab69, 0xc3c0, 0xc3c1, 0xab6a, 0xc3c2,
    -    0xab6b, 0xc3c3, 0xab6c, 0xab6d, 0xab6e, 0xab6f, 0xab70, 0xab71,
    -    0xc3c4, 0xab72, 0xab73, 0xab74, 0xc3c5, 0xab75, 0xab76, 0xab77,
    -    0xab78, 0xab79, 0xab7a, 0xab81, 0xab82, 0xab83, 0xab84, 0xab85,
    -    0xab86, 0xab87, 0xab88, 0xab89, 0xc3c6, 0xab8a, 0xab8b, 0xab8c,
    -    0xab8d, 0xab8e, 0xab8f, 0xab90, 0xc3c7, 0xab91, 0xab92, 0xab93,
    -    0xc3c8, 0xab94, 0xab95, 0xab96, 0xab97, 0xab98, 0xab99, 0xab9a,
    -    0xab9b, 0xab9c, 0xab9d, 0xab9e, 0xab9f, 0xaba0, 0xac41, 0xac42,
    -    /* 0xcd00 .. 0xcdff */
    -    0xac43, 0xc3c9, 0xac44, 0xac45, 0xac46, 0xac47, 0xac48, 0xac49,
    -    0xc3ca, 0xc3cb, 0xac4a, 0xac4b, 0xc3cc, 0xac4c, 0xac4d, 0xac4e,
    -    0xc3cd, 0xac4f, 0xac50, 0xac51, 0xac52, 0xac53, 0xac54, 0xac55,
    -    0xc3ce, 0xc3cf, 0xac56, 0xc3d0, 0xac57, 0xc3d1, 0xac58, 0xac59,
    -    0xac5a, 0xac61, 0xac62, 0xac63, 0xc3d2, 0xac64, 0xac65, 0xac66,
    -    0xc3d3, 0xac67, 0xac68, 0xac69, 0xc3d4, 0xac6a, 0xac6b, 0xac6c,
    -    0xac6d, 0xac6e, 0xac6f, 0xac70, 0xac71, 0xac72, 0xac73, 0xac74,
    -    0xac75, 0xc3d5, 0xac76, 0xac77, 0xac78, 0xac79, 0xac7a, 0xac81,
    -    0xac82, 0xac83, 0xac84, 0xac85, 0xac86, 0xac87, 0xac88, 0xac89,
    -    0xac8a, 0xac8b, 0xac8c, 0xac8d, 0xac8e, 0xac8f, 0xac90, 0xac91,
    -    0xac92, 0xac93, 0xac94, 0xac95, 0xac96, 0xac97, 0xac98, 0xac99,
    -    0xac9a, 0xac9b, 0xac9c, 0xac9d, 0xc3d6, 0xac9e, 0xac9f, 0xaca0,
    -    0xc3d7, 0xad41, 0xad42, 0xad43, 0xc3d8, 0xad44, 0xad45, 0xad46,
    -    0xad47, 0xad48, 0xad49, 0xad4a, 0xc3d9, 0xc3da, 0xad4b, 0xc3db,
    -    0xad4c, 0xc3dc, 0xad4d, 0xad4e, 0xad4f, 0xad50, 0xad51, 0xad52,
    -    0xc3dd, 0xad53, 0xad54, 0xad55, 0xad56, 0xad57, 0xad58, 0xad59,
    -    0xad5a, 0xad61, 0xad62, 0xad63, 0xad64, 0xad65, 0xad66, 0xad67,
    -    0xc3de, 0xad68, 0xad69, 0xad6a, 0xad6b, 0xad6c, 0xad6d, 0xad6e,
    -    0xad6f, 0xad70, 0xad71, 0xad72, 0xc3df, 0xc3e0, 0xad73, 0xad74,
    -    0xc3e1, 0xad75, 0xad76, 0xad77, 0xc3e2, 0xad78, 0xad79, 0xad7a,
    -    0xad81, 0xad82, 0xad83, 0xad84, 0xc3e3, 0xc3e4, 0xad85, 0xc3e5,
    -    0xad86, 0xc3e6, 0xad87, 0xad88, 0xad89, 0xad8a, 0xad8b, 0xad8c,
    -    0xc3e7, 0xad8d, 0xad8e, 0xad8f, 0xad90, 0xad91, 0xad92, 0xad93,
    -    0xad94, 0xad95, 0xad96, 0xad97, 0xad98, 0xad99, 0xad9a, 0xad9b,
    -    0xad9c, 0xad9d, 0xad9e, 0xad9f, 0xc3e8, 0xada0, 0xae41, 0xae42,
    -    0xae43, 0xae44, 0xae45, 0xae46, 0xc3e9, 0xae47, 0xae48, 0xae49,
    -    0xc3ea, 0xae4a, 0xae4b, 0xae4c, 0xae4d, 0xae4e, 0xae4f, 0xae50,
    -    0xae51, 0xae52, 0xae53, 0xae54, 0xae55, 0xae56, 0xae57, 0xae58,
    -    0xae59, 0xae5a, 0xae61, 0xae62, 0xae63, 0xae64, 0xae65, 0xae66,
    -    0xc3eb, 0xae67, 0xae68, 0xae69, 0xc3ec, 0xae6a, 0xae6b, 0xae6c,
    -    0xc3ed, 0xae6d, 0xae6e, 0xae6f, 0xae70, 0xae71, 0xae72, 0xae73,
    -    0xc3ee, 0xc3ef, 0xae74, 0xc3f0, 0xae75, 0xc3f1, 0xae76, 0xae77,
    -    /* 0xce00 .. 0xceff */
    -    0xae78, 0xae79, 0xae7a, 0xae81, 0xc3f2, 0xae82, 0xae83, 0xae84,
    -    0xc3f3, 0xae85, 0xae86, 0xae87, 0xc3f4, 0xae88, 0xae89, 0xae8a,
    -    0xae8b, 0xae8c, 0xae8d, 0xae8e, 0xc3f5, 0xae8f, 0xae90, 0xae91,
    -    0xae92, 0xc3f6, 0xae93, 0xae94, 0xae95, 0xae96, 0xae97, 0xae98,
    -    0xc3f7, 0xc3f8, 0xae99, 0xae9a, 0xc3f9, 0xae9b, 0xae9c, 0xae9d,
    -    0xc3fa, 0xae9e, 0xae9f, 0xaea0, 0xaf41, 0xaf42, 0xaf43, 0xaf44,
    -    0xc3fb, 0xc3fc, 0xaf45, 0xc3fd, 0xaf46, 0xc3fe, 0xaf47, 0xaf48,
    -    0xaf49, 0xaf4a, 0xaf4b, 0xaf4c, 0xaf4d, 0xaf4e, 0xaf4f, 0xaf50,
    -    0xaf51, 0xaf52, 0xaf53, 0xaf54, 0xaf55, 0xaf56, 0xaf57, 0xaf58,
    -    0xaf59, 0xaf5a, 0xaf61, 0xaf62, 0xaf63, 0xaf64, 0xaf65, 0xaf66,
    -    0xaf67, 0xaf68, 0xaf69, 0xaf6a, 0xaf6b, 0xaf6c, 0xaf6d, 0xaf6e,
    -    0xc4a1, 0xc4a2, 0xaf6f, 0xaf70, 0xc4a3, 0xaf71, 0xaf72, 0xc4a4,
    -    0xc4a5, 0xc4a6, 0xaf73, 0xaf74, 0xaf75, 0xaf76, 0xaf77, 0xaf78,
    -    0xc4a7, 0xc4a8, 0xaf79, 0xc4a9, 0xaf7a, 0xc4aa, 0xaf81, 0xaf82,
    -    0xaf83, 0xaf84, 0xaf85, 0xaf86, 0xc4ab, 0xc4ac, 0xaf87, 0xaf88,
    -    0xc4ad, 0xaf89, 0xaf8a, 0xaf8b, 0xc4ae, 0xaf8c, 0xaf8d, 0xaf8e,
    -    0xaf8f, 0xaf90, 0xaf91, 0xaf92, 0xc4af, 0xc4b0, 0xaf93, 0xc4b1,
    -    0xaf94, 0xc4b2, 0xaf95, 0xaf96, 0xaf97, 0xaf98, 0xaf99, 0xaf9a,
    -    0xc4b3, 0xc4b4, 0xaf9b, 0xaf9c, 0xc4b5, 0xaf9d, 0xaf9e, 0xaf9f,
    -    0xc4b6, 0xafa0, 0xb041, 0xb042, 0xb043, 0xb044, 0xb045, 0xb046,
    -    0xc4b7, 0xc4b8, 0xb047, 0xc4b9, 0xc4ba, 0xc4bb, 0xb048, 0xb049,
    -    0xb04a, 0xb04b, 0xb04c, 0xb04d, 0xc4bc, 0xc4bd, 0xb04e, 0xb04f,
    -    0xb050, 0xb051, 0xb052, 0xb053, 0xb054, 0xb055, 0xb056, 0xb057,
    -    0xb058, 0xb059, 0xb05a, 0xb061, 0xb062, 0xb063, 0xb064, 0xb065,
    -    0xb066, 0xc4be, 0xb067, 0xb068, 0xb069, 0xb06a, 0xb06b, 0xb06c,
    -    0xb06d, 0xb06e, 0xb06f, 0xb070, 0xb071, 0xb072, 0xb073, 0xb074,
    -    0xb075, 0xb076, 0xb077, 0xb078, 0xb079, 0xb07a, 0xb081, 0xb082,
    -    0xb083, 0xb084, 0xb085, 0xb086, 0xb087, 0xb088, 0xb089, 0xb08a,
    -    0xb08b, 0xb08c, 0xb08d, 0xb08e, 0xc4bf, 0xc4c0, 0xb08f, 0xb090,
    -    0xc4c1, 0xb091, 0xb092, 0xc4c2, 0xc4c3, 0xb093, 0xb094, 0xb095,
    -    0xb096, 0xb097, 0xb098, 0xb099, 0xc4c4, 0xc4c5, 0xb09a, 0xc4c6,
    -    0xc4c7, 0xc4c8, 0xb09b, 0xb09c, 0xb09d, 0xb09e, 0xb09f, 0xb0a0,
    -    /* 0xcf00 .. 0xcfff */
    -    0xc4c9, 0xc4ca, 0xb141, 0xb142, 0xc4cb, 0xb143, 0xb144, 0xb145,
    -    0xc4cc, 0xb146, 0xb147, 0xb148, 0xb149, 0xb14a, 0xb14b, 0xb14c,
    -    0xc4cd, 0xc4ce, 0xb14d, 0xc4cf, 0xb14e, 0xc4d0, 0xb14f, 0xb150,
    -    0xb151, 0xb152, 0xb153, 0xb154, 0xc4d1, 0xb155, 0xb156, 0xb157,
    -    0xc4d2, 0xb158, 0xb159, 0xb15a, 0xc4d3, 0xb161, 0xb162, 0xb163,
    -    0xb164, 0xb165, 0xb166, 0xb167, 0xc4d4, 0xc4d5, 0xb168, 0xc4d6,
    -    0xc4d7, 0xc4d8, 0xb169, 0xb16a, 0xb16b, 0xb16c, 0xb16d, 0xb16e,
    -    0xc4d9, 0xb16f, 0xb170, 0xb171, 0xb172, 0xb173, 0xb174, 0xb175,
    -    0xb176, 0xb177, 0xb178, 0xb179, 0xb17a, 0xb181, 0xb182, 0xb183,
    -    0xb184, 0xb185, 0xb186, 0xb187, 0xb188, 0xb189, 0xb18a, 0xb18b,
    -    0xb18c, 0xb18d, 0xb18e, 0xb18f, 0xc4da, 0xc4db, 0xb190, 0xb191,
    -    0xc4dc, 0xb192, 0xb193, 0xb194, 0xc4dd, 0xb195, 0xb196, 0xb197,
    -    0xb198, 0xb199, 0xb19a, 0xb19b, 0xc4de, 0xc4df, 0xb19c, 0xc4e0,
    -    0xb19d, 0xc4e1, 0xb19e, 0xb19f, 0xb1a0, 0xb241, 0xb242, 0xb243,
    -    0xc4e2, 0xc4e3, 0xb244, 0xb245, 0xc4e4, 0xb246, 0xb247, 0xb248,
    -    0xc4e5, 0xb249, 0xb24a, 0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f,
    -    0xc4e6, 0xb250, 0xb251, 0xb252, 0xb253, 0xc4e7, 0xb254, 0xb255,
    -    0xb256, 0xb257, 0xb258, 0xb259, 0xc4e8, 0xb25a, 0xb261, 0xb262,
    -    0xb263, 0xb264, 0xb265, 0xb266, 0xb267, 0xb268, 0xb269, 0xb26a,
    -    0xb26b, 0xb26c, 0xb26d, 0xb26e, 0xb26f, 0xb270, 0xb271, 0xb272,
    -    0xb273, 0xc4e9, 0xb274, 0xb275, 0xb276, 0xb277, 0xb278, 0xb279,
    -    0xc4ea, 0xb27a, 0xb281, 0xb282, 0xb283, 0xb284, 0xb285, 0xb286,
    -    0xc4eb, 0xb287, 0xb288, 0xb289, 0xb28a, 0xb28b, 0xb28c, 0xb28d,
    -    0xb28e, 0xb28f, 0xb290, 0xb291, 0xb292, 0xb293, 0xb294, 0xb295,
    -    0xb296, 0xb297, 0xb298, 0xb299, 0xc4ec, 0xb29a, 0xb29b, 0xb29c,
    -    0xb29d, 0xb29e, 0xb29f, 0xb2a0, 0xb341, 0xb342, 0xb343, 0xb344,
    -    0xb345, 0xb346, 0xb347, 0xb348, 0xb349, 0xb34a, 0xb34b, 0xb34c,
    -    0xb34d, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352, 0xb353, 0xb354,
    -    0xc4ed, 0xc4ee, 0xb355, 0xb356, 0xc4ef, 0xb357, 0xb358, 0xb359,
    -    0xc4f0, 0xb35a, 0xb361, 0xb362, 0xb363, 0xb364, 0xb365, 0xb366,
    -    0xc4f1, 0xc4f2, 0xb367, 0xc4f3, 0xb368, 0xc4f4, 0xb369, 0xb36a,
    -    0xb36b, 0xb36c, 0xb36d, 0xb36e, 0xc4f5, 0xb36f, 0xb370, 0xb371,
    -    /* 0xd000 .. 0xd0ff */
    -    0xc4f6, 0xb372, 0xb373, 0xb374, 0xc4f7, 0xb375, 0xb376, 0xb377,
    -    0xb378, 0xb379, 0xb37a, 0xb381, 0xb382, 0xb383, 0xb384, 0xb385,
    -    0xb386, 0xc4f8, 0xb387, 0xb388, 0xb389, 0xb38a, 0xb38b, 0xb38c,
    -    0xc4f9, 0xb38d, 0xb38e, 0xb38f, 0xb390, 0xb391, 0xb392, 0xb393,
    -    0xb394, 0xb395, 0xb396, 0xb397, 0xb398, 0xb399, 0xb39a, 0xb39b,
    -    0xb39c, 0xb39d, 0xb39e, 0xb39f, 0xb3a0, 0xc4fa, 0xb441, 0xb442,
    -    0xb443, 0xb444, 0xb445, 0xb446, 0xc4fb, 0xc4fc, 0xb447, 0xb448,
    -    0xc4fd, 0xb449, 0xb44a, 0xb44b, 0xc4fe, 0xb44c, 0xb44d, 0xb44e,
    -    0xb44f, 0xb450, 0xb451, 0xb452, 0xc5a1, 0xc5a2, 0xb453, 0xc5a3,
    -    0xb454, 0xc5a4, 0xb455, 0xb456, 0xb457, 0xb458, 0xb459, 0xb45a,
    -    0xc5a5, 0xb461, 0xb462, 0xb463, 0xc5a6, 0xb464, 0xb465, 0xb466,
    -    0xc5a7, 0xb467, 0xb468, 0xb469, 0xb46a, 0xb46b, 0xb46c, 0xb46d,
    -    0xc5a8, 0xb46e, 0xb46f, 0xb470, 0xb471, 0xb472, 0xb473, 0xb474,
    -    0xb475, 0xb476, 0xb477, 0xb478, 0xc5a9, 0xc5aa, 0xb479, 0xb47a,
    -    0xc5ab, 0xb481, 0xb482, 0xb483, 0xc5ac, 0xb484, 0xb485, 0xb486,
    -    0xb487, 0xb488, 0xb489, 0xb48a, 0xc5ad, 0xc5ae, 0xb48b, 0xb48c,
    -    0xb48d, 0xc5af, 0xb48e, 0xb48f, 0xb490, 0xb491, 0xb492, 0xb493,
    -    0xb494, 0xb495, 0xb496, 0xb497, 0xb498, 0xb499, 0xb49a, 0xb49b,
    -    0xb49c, 0xb49d, 0xb49e, 0xb49f, 0xb4a0, 0xb541, 0xb542, 0xb543,
    -    0xb544, 0xb545, 0xb546, 0xb547, 0xb548, 0xb549, 0xb54a, 0xb54b,
    -    0xb54c, 0xb54d, 0xb54e, 0xb54f, 0xc5b0, 0xc5b1, 0xb550, 0xb551,
    -    0xc5b2, 0xb552, 0xb553, 0xb554, 0xc5b3, 0xb555, 0xb556, 0xb557,
    -    0xb558, 0xb559, 0xb55a, 0xb561, 0xc5b4, 0xc5b5, 0xb562, 0xc5b6,
    -    0xb563, 0xc5b7, 0xb564, 0xb565, 0xb566, 0xb567, 0xb568, 0xb569,
    -    0xc5b8, 0xc5b9, 0xb56a, 0xb56b, 0xc5ba, 0xb56c, 0xb56d, 0xb56e,
    -    0xc5bb, 0xc5bc, 0xb56f, 0xb570, 0xb571, 0xb572, 0xb573, 0xb574,
    -    0xc5bd, 0xc5be, 0xb575, 0xc5bf, 0xc5c0, 0xc5c1, 0xb576, 0xb577,
    -    0xb578, 0xb579, 0xb57a, 0xb581, 0xc5c2, 0xc5c3, 0xb582, 0xb583,
    -    0xc5c4, 0xb584, 0xb585, 0xb586, 0xc5c5, 0xb587, 0xb588, 0xb589,
    -    0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xc5c6, 0xc5c7, 0xb58e, 0xc5c8,
    -    0xc5c9, 0xc5ca, 0xb58f, 0xb590, 0xb591, 0xb592, 0xb593, 0xb594,
    -    0xc5cb, 0xb595, 0xb596, 0xb597, 0xb598, 0xb599, 0xb59a, 0xb59b,
    -    /* 0xd100 .. 0xd1ff */
    -    0xb59c, 0xb59d, 0xb59e, 0xb59f, 0xb5a0, 0xb641, 0xb642, 0xb643,
    -    0xb644, 0xb645, 0xb646, 0xb647, 0xb648, 0xc5cc, 0xb649, 0xb64a,
    -    0xb64b, 0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652,
    -    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,
    -    0xb661, 0xb662, 0xb663, 0xb664, 0xb665, 0xb666, 0xb667, 0xb668,
    -    0xb669, 0xb66a, 0xb66b, 0xb66c, 0xb66d, 0xb66e, 0xb66f, 0xb670,
    -    0xc5cd, 0xc5ce, 0xb671, 0xb672, 0xc5cf, 0xb673, 0xb674, 0xb675,
    -    0xc5d0, 0xb676, 0xc5d1, 0xb677, 0xb678, 0xb679, 0xb67a, 0xb681,
    -    0xc5d2, 0xc5d3, 0xb682, 0xc5d4, 0xc5d5, 0xc5d6, 0xb683, 0xb684,
    -    0xb685, 0xb686, 0xb687, 0xb688, 0xc5d7, 0xc5d8, 0xb689, 0xb68a,
    -    0xc5d9, 0xb68b, 0xb68c, 0xb68d, 0xc5da, 0xb68e, 0xb68f, 0xb690,
    -    0xb691, 0xb692, 0xb693, 0xb694, 0xc5db, 0xc5dc, 0xb695, 0xc5dd,
    -    0xb696, 0xc5de, 0xb697, 0xb698, 0xb699, 0xb69a, 0xb69b, 0xb69c,
    -    0xc5df, 0xb69d, 0xb69e, 0xb69f, 0xc5e0, 0xb6a0, 0xb741, 0xb742,
    -    0xb743, 0xb744, 0xb745, 0xb746, 0xb747, 0xb748, 0xb749, 0xb74a,
    -    0xb74b, 0xb74c, 0xb74d, 0xb74e, 0xc5e1, 0xb74f, 0xb750, 0xb751,
    -    0xb752, 0xb753, 0xb754, 0xb755, 0xc5e2, 0xb756, 0xb757, 0xb758,
    -    0xc5e3, 0xb759, 0xb75a, 0xb761, 0xb762, 0xb763, 0xb764, 0xb765,
    -    0xb766, 0xb767, 0xb768, 0xb769, 0xb76a, 0xb76b, 0xb76c, 0xb76d,
    -    0xb76e, 0xb76f, 0xb770, 0xb771, 0xb772, 0xb773, 0xb774, 0xb775,
    -    0xc5e4, 0xc5e5, 0xb776, 0xb777, 0xc5e6, 0xb778, 0xb779, 0xb77a,
    -    0xc5e7, 0xb781, 0xb782, 0xb783, 0xb784, 0xb785, 0xb786, 0xb787,
    -    0xc5e8, 0xc5e9, 0xb788, 0xc5ea, 0xb789, 0xc5eb, 0xb78a, 0xb78b,
    -    0xb78c, 0xb78d, 0xc5ec, 0xb78e, 0xc5ed, 0xb78f, 0xb790, 0xb791,
    -    0xc5ee, 0xb792, 0xb793, 0xb794, 0xb795, 0xb796, 0xb797, 0xb798,
    -    0xb799, 0xb79a, 0xb79b, 0xb79c, 0xb79d, 0xb79e, 0xb79f, 0xb7a0,
    -    0xb841, 0xb842, 0xb843, 0xb844, 0xb845, 0xb846, 0xb847, 0xb848,
    -    0xc5ef, 0xb849, 0xb84a, 0xb84b, 0xb84c, 0xb84d, 0xb84e, 0xb84f,
    -    0xb850, 0xb851, 0xb852, 0xb853, 0xb854, 0xb855, 0xb856, 0xb857,
    -    0xb858, 0xb859, 0xb85a, 0xb861, 0xb862, 0xb863, 0xb864, 0xb865,
    -    0xb866, 0xb867, 0xb868, 0xb869, 0xc5f0, 0xb86a, 0xb86b, 0xb86c,
    -    0xc5f1, 0xb86d, 0xb86e, 0xb86f, 0xb870, 0xb871, 0xb872, 0xb873,
    -    /* 0xd200 .. 0xd2ff */
    -    0xb874, 0xb875, 0xb876, 0xb877, 0xb878, 0xb879, 0xb87a, 0xc5f2,
    -    0xb881, 0xc5f3, 0xb882, 0xb883, 0xb884, 0xb885, 0xb886, 0xb887,
    -    0xc5f4, 0xb888, 0xb889, 0xb88a, 0xb88b, 0xb88c, 0xb88d, 0xb88e,
    -    0xb88f, 0xb890, 0xb891, 0xb892, 0xb893, 0xb894, 0xb895, 0xb896,
    -    0xb897, 0xb898, 0xb899, 0xb89a, 0xb89b, 0xb89c, 0xb89d, 0xb89e,
    -    0xb89f, 0xb8a0, 0xb941, 0xb942, 0xc5f5, 0xc5f6, 0xb943, 0xb944,
    -    0xc5f7, 0xb945, 0xb946, 0xb947, 0xc5f8, 0xb948, 0xb949, 0xb94a,
    -    0xb94b, 0xb94c, 0xb94d, 0xb94e, 0xc5f9, 0xc5fa, 0xb94f, 0xc5fb,
    -    0xb950, 0xc5fc, 0xb951, 0xb952, 0xb953, 0xb954, 0xb955, 0xb956,
    -    0xc5fd, 0xb957, 0xb958, 0xb959, 0xb95a, 0xb961, 0xb962, 0xb963,
    -    0xb964, 0xb965, 0xb966, 0xb967, 0xb968, 0xb969, 0xb96a, 0xb96b,
    -    0xb96c, 0xb96d, 0xb96e, 0xb96f, 0xc5fe, 0xb970, 0xb971, 0xb972,
    -    0xb973, 0xb974, 0xb975, 0xb976, 0xc6a1, 0xb977, 0xb978, 0xb979,
    -    0xb97a, 0xb981, 0xb982, 0xb983, 0xb984, 0xb985, 0xb986, 0xb987,
    -    0xb988, 0xb989, 0xb98a, 0xb98b, 0xb98c, 0xb98d, 0xb98e, 0xb98f,
    -    0xb990, 0xb991, 0xb992, 0xb993, 0xb994, 0xb995, 0xb996, 0xb997,
    -    0xc6a2, 0xc6a3, 0xb998, 0xb999, 0xc6a4, 0xb99a, 0xb99b, 0xb99c,
    -    0xc6a5, 0xb99d, 0xb99e, 0xb99f, 0xb9a0, 0xba41, 0xba42, 0xba43,
    -    0xc6a6, 0xc6a7, 0xba44, 0xba45, 0xba46, 0xc6a8, 0xba47, 0xba48,
    -    0xba49, 0xba4a, 0xba4b, 0xba4c, 0xc6a9, 0xba4d, 0xba4e, 0xba4f,
    -    0xc6aa, 0xba50, 0xba51, 0xba52, 0xc6ab, 0xba53, 0xba54, 0xba55,
    -    0xba56, 0xba57, 0xba58, 0xba59, 0xc6ac, 0xba5a, 0xba61, 0xba62,
    -    0xba63, 0xc6ad, 0xba64, 0xba65, 0xba66, 0xba67, 0xba68, 0xba69,
    -    0xc6ae, 0xc6af, 0xba6a, 0xba6b, 0xc6b0, 0xba6c, 0xba6d, 0xc6b1,
    -    0xc6b2, 0xba6e, 0xc6b3, 0xba6f, 0xba70, 0xba71, 0xba72, 0xba73,
    -    0xc6b4, 0xc6b5, 0xba74, 0xc6b6, 0xba75, 0xba76, 0xba77, 0xba78,
    -    0xba79, 0xba7a, 0xba81, 0xba82, 0xc6b7, 0xba83, 0xba84, 0xba85,
    -    0xc6b8, 0xba86, 0xba87, 0xba88, 0xc6b9, 0xba89, 0xba8a, 0xba8b,
    -    0xba8c, 0xba8d, 0xba8e, 0xba8f, 0xc6ba, 0xc6bb, 0xba90, 0xba91,
    -    0xba92, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,
    -    0xc6bc, 0xc6bd, 0xba9a, 0xba9b, 0xc6be, 0xba9c, 0xba9d, 0xba9e,
    -    0xc6bf, 0xba9f, 0xbaa0, 0xbb41, 0xbb42, 0xbb43, 0xbb44, 0xbb45,
    -    /* 0xd300 .. 0xd3ff */
    -    0xc6c0, 0xc6c1, 0xbb46, 0xc6c2, 0xbb47, 0xc6c3, 0xbb48, 0xbb49,
    -    0xbb4a, 0xbb4b, 0xbb4c, 0xbb4d, 0xc6c4, 0xc6c5, 0xc6c6, 0xbb4e,
    -    0xc6c7, 0xbb4f, 0xbb50, 0xbb51, 0xc6c8, 0xbb52, 0xc6c9, 0xbb53,
    -    0xbb54, 0xbb55, 0xbb56, 0xbb57, 0xc6ca, 0xc6cb, 0xbb58, 0xc6cc,
    -    0xc6cd, 0xc6ce, 0xbb59, 0xbb5a, 0xbb61, 0xc6cf, 0xbb62, 0xbb63,
    -    0xc6d0, 0xc6d1, 0xbb64, 0xbb65, 0xc6d2, 0xbb66, 0xbb67, 0xbb68,
    -    0xc6d3, 0xbb69, 0xbb6a, 0xbb6b, 0xbb6c, 0xbb6d, 0xbb6e, 0xbb6f,
    -    0xc6d4, 0xc6d5, 0xbb70, 0xc6d6, 0xc6d7, 0xc6d8, 0xbb71, 0xbb72,
    -    0xbb73, 0xbb74, 0xbb75, 0xbb76, 0xc6d9, 0xc6da, 0xbb77, 0xbb78,
    -    0xbb79, 0xbb7a, 0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86,
    -    0xbb87, 0xbb88, 0xbb89, 0xbb8a, 0xbb8b, 0xbb8c, 0xbb8d, 0xbb8e,
    -    0xbb8f, 0xbb90, 0xbb91, 0xbb92, 0xbb93, 0xbb94, 0xbb95, 0xbb96,
    -    0xbb97, 0xbb98, 0xbb99, 0xbb9a, 0xbb9b, 0xbb9c, 0xbb9d, 0xbb9e,
    -    0xbb9f, 0xbba0, 0xbc41, 0xbc42, 0xbc43, 0xbc44, 0xbc45, 0xbc46,
    -    0xbc47, 0xbc48, 0xbc49, 0xbc4a, 0xbc4b, 0xbc4c, 0xbc4d, 0xbc4e,
    -    0xbc4f, 0xbc50, 0xbc51, 0xbc52, 0xc6db, 0xc6dc, 0xbc53, 0xbc54,
    -    0xc6dd, 0xbc55, 0xbc56, 0xbc57, 0xc6de, 0xbc58, 0xbc59, 0xbc5a,
    -    0xbc61, 0xbc62, 0xbc63, 0xbc64, 0xc6df, 0xc6e0, 0xbc65, 0xc6e1,
    -    0xc6e2, 0xc6e3, 0xbc66, 0xbc67, 0xbc68, 0xbc69, 0xbc6a, 0xbc6b,
    -    0xc6e4, 0xc6e5, 0xbc6c, 0xbc6d, 0xc6e6, 0xbc6e, 0xbc6f, 0xbc70,
    -    0xc6e7, 0xbc71, 0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76, 0xbc77,
    -    0xc6e8, 0xc6e9, 0xbc78, 0xc6ea, 0xbc79, 0xc6eb, 0xbc7a, 0xbc81,
    -    0xbc82, 0xbc83, 0xbc84, 0xbc85, 0xc6ec, 0xbc86, 0xbc87, 0xbc88,
    -    0xc6ed, 0xbc89, 0xbc8a, 0xbc8b, 0xc6ee, 0xbc8c, 0xbc8d, 0xbc8e,
    -    0xbc8f, 0xbc90, 0xbc91, 0xbc92, 0xc6ef, 0xc6f0, 0xbc93, 0xbc94,
    -    0xc6f1, 0xc6f2, 0xbc95, 0xbc96, 0xbc97, 0xbc98, 0xbc99, 0xbc9a,
    -    0xc6f3, 0xbc9b, 0xbc9c, 0xbc9d, 0xbc9e, 0xbc9f, 0xbca0, 0xbd41,
    -    0xc6f4, 0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd48,
    -    0xbd49, 0xc6f5, 0xbd4a, 0xc6f6, 0xbd4b, 0xbd4c, 0xbd4d, 0xbd4e,
    -    0xbd4f, 0xbd50, 0xbd51, 0xbd52, 0xc6f7, 0xc6f8, 0xbd53, 0xbd54,
    -    0xc6f9, 0xbd55, 0xbd56, 0xbd57, 0xc6fa, 0xbd58, 0xbd59, 0xbd5a,
    -    0xbd61, 0xbd62, 0xbd63, 0xbd64, 0xc6fb, 0xc6fc, 0xbd65, 0xc6fd,
    -    /* 0xd400 .. 0xd4ff */
    -    0xbd66, 0xc6fe, 0xbd67, 0xbd68, 0xbd69, 0xbd6a, 0xbd6b, 0xbd6c,
    -    0xc7a1, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70, 0xbd71, 0xbd72, 0xbd73,
    -    0xbd74, 0xbd75, 0xbd76, 0xbd77, 0xbd78, 0xbd79, 0xbd7a, 0xbd81,
    -    0xbd82, 0xbd83, 0xbd84, 0xbd85, 0xbd86, 0xc7a2, 0xbd87, 0xbd88,
    -    0xbd89, 0xbd8a, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f, 0xbd90,
    -    0xbd91, 0xbd92, 0xbd93, 0xbd94, 0xbd95, 0xbd96, 0xbd97, 0xbd98,
    -    0xbd99, 0xbd9a, 0xbd9b, 0xbd9c, 0xbd9d, 0xbd9e, 0xbd9f, 0xbda0,
    -    0xbe41, 0xbe42, 0xbe43, 0xbe44, 0xbe45, 0xbe46, 0xbe47, 0xbe48,
    -    0xc7a3, 0xbe49, 0xbe4a, 0xbe4b, 0xc7a4, 0xbe4c, 0xbe4d, 0xbe4e,
    -    0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53, 0xbe54, 0xbe55, 0xbe56,
    -    0xbe57, 0xbe58, 0xbe59, 0xbe5a, 0xbe61, 0xbe62, 0xbe63, 0xbe64,
    -    0xbe65, 0xbe66, 0xbe67, 0xbe68, 0xc7a5, 0xbe69, 0xbe6a, 0xbe6b,
    -    0xc7a6, 0xbe6c, 0xbe6d, 0xbe6e, 0xc7a7, 0xbe6f, 0xbe70, 0xbe71,
    -    0xbe72, 0xbe73, 0xbe74, 0xbe75, 0xbe76, 0xc7a8, 0xbe77, 0xc7a9,
    -    0xbe78, 0xbe79, 0xbe7a, 0xbe81, 0xbe82, 0xbe83, 0xbe84, 0xbe85,
    -    0xc7aa, 0xc7ab, 0xbe86, 0xbe87, 0xc7ac, 0xbe88, 0xbe89, 0xc7ad,
    -    0xc7ae, 0xbe8a, 0xc7af, 0xbe8b, 0xbe8c, 0xbe8d, 0xbe8e, 0xbe8f,
    -    0xc7b0, 0xc7b1, 0xbe90, 0xc7b2, 0xbe91, 0xc7b3, 0xbe92, 0xbe93,
    -    0xbe94, 0xbe95, 0xbe96, 0xbe97, 0xc7b4, 0xbe98, 0xbe99, 0xbe9a,
    -    0xbe9b, 0xbe9c, 0xbe9d, 0xbe9e, 0xbe9f, 0xbea0, 0xbf41, 0xbf42,
    -    0xbf43, 0xbf44, 0xbf45, 0xbf46, 0xbf47, 0xbf48, 0xbf49, 0xbf4a,
    -    0xbf4b, 0xc7b5, 0xbf4c, 0xbf4d, 0xbf4e, 0xbf4f, 0xbf50, 0xbf51,
    -    0xbf52, 0xbf53, 0xbf54, 0xbf55, 0xbf56, 0xbf57, 0xbf58, 0xbf59,
    -    0xbf5a, 0xbf61, 0xbf62, 0xbf63, 0xbf64, 0xbf65, 0xbf66, 0xbf67,
    -    0xbf68, 0xbf69, 0xbf6a, 0xbf6b, 0xbf6c, 0xbf6d, 0xbf6e, 0xbf6f,
    -    0xbf70, 0xbf71, 0xbf72, 0xbf73, 0xc7b6, 0xbf74, 0xbf75, 0xbf76,
    -    0xc7b7, 0xbf77, 0xbf78, 0xbf79, 0xc7b8, 0xbf7a, 0xbf81, 0xbf82,
    -    0xbf83, 0xbf84, 0xbf85, 0xbf86, 0xc7b9, 0xbf87, 0xbf88, 0xc7ba,
    -    0xbf89, 0xbf8a, 0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90,
    -    0xc7bb, 0xbf91, 0xbf92, 0xbf93, 0xc7bc, 0xbf94, 0xbf95, 0xbf96,
    -    0xc7bd, 0xbf97, 0xbf98, 0xbf99, 0xbf9a, 0xbf9b, 0xbf9c, 0xbf9d,
    -    0xc7be, 0xbf9e, 0xbf9f, 0xc7bf, 0xbfa0, 0xc7c0, 0xc041, 0xc042,
    -    /* 0xd500 .. 0xd5ff */
    -    0xc043, 0xc044, 0xc045, 0xc046, 0xc7c1, 0xc047, 0xc048, 0xc049,
    -    0xc7c2, 0xc04a, 0xc04b, 0xc04c, 0xc7c3, 0xc04d, 0xc04e, 0xc04f,
    -    0xc050, 0xc051, 0xc052, 0xc053, 0xc7c4, 0xc7c5, 0xc054, 0xc7c6,
    -    0xc055, 0xc056, 0xc057, 0xc058, 0xc059, 0xc05a, 0xc061, 0xc062,
    -    0xc063, 0xc064, 0xc065, 0xc066, 0xc067, 0xc068, 0xc069, 0xc06a,
    -    0xc06b, 0xc06c, 0xc06d, 0xc06e, 0xc06f, 0xc070, 0xc071, 0xc072,
    -    0xc073, 0xc074, 0xc075, 0xc076, 0xc077, 0xc078, 0xc079, 0xc07a,
    -    0xc081, 0xc082, 0xc083, 0xc084, 0xc7c7, 0xc7c8, 0xc085, 0xc086,
    -    0xc7c9, 0xc087, 0xc088, 0xc089, 0xc7ca, 0xc08a, 0xc08b, 0xc08c,
    -    0xc08d, 0xc08e, 0xc08f, 0xc090, 0xc7cb, 0xc7cc, 0xc091, 0xc7cd,
    -    0xc092, 0xc7ce, 0xc093, 0xc094, 0xc095, 0xc096, 0xc097, 0xc098,
    -    0xc7cf, 0xc7d0, 0xc099, 0xc09a, 0xc7d1, 0xc09b, 0xc09c, 0xc09d,
    -    0xc7d2, 0xc09e, 0xc09f, 0xc0a0, 0xc141, 0xc7d3, 0xc142, 0xc143,
    -    0xc7d4, 0xc7d5, 0xc144, 0xc7d6, 0xc145, 0xc7d7, 0xc146, 0xc147,
    -    0xc148, 0xc149, 0xc14a, 0xc14b, 0xc7d8, 0xc7d9, 0xc14c, 0xc14d,
    -    0xc7da, 0xc14e, 0xc14f, 0xc150, 0xc7db, 0xc151, 0xc152, 0xc153,
    -    0xc154, 0xc155, 0xc156, 0xc157, 0xc7dc, 0xc7dd, 0xc158, 0xc7de,
    -    0xc7df, 0xc7e0, 0xc159, 0xc15a, 0xc161, 0xc162, 0xc163, 0xc164,
    -    0xc7e1, 0xc165, 0xc166, 0xc167, 0xc168, 0xc169, 0xc16a, 0xc16b,
    -    0xc16c, 0xc16d, 0xc16e, 0xc16f, 0xc170, 0xc171, 0xc172, 0xc173,
    -    0xc174, 0xc175, 0xc176, 0xc177, 0xc178, 0xc7e2, 0xc179, 0xc17a,
    -    0xc181, 0xc182, 0xc183, 0xc184, 0xc185, 0xc186, 0xc187, 0xc188,
    -    0xc189, 0xc18a, 0xc18b, 0xc18c, 0xc18d, 0xc18e, 0xc18f, 0xc190,
    -    0xc191, 0xc192, 0xc193, 0xc194, 0xc195, 0xc196, 0xc197, 0xc198,
    -    0xc199, 0xc19a, 0xc19b, 0xc19c, 0xc19d, 0xc19e, 0xc19f, 0xc1a0,
    -    0xc7e3, 0xc7e4, 0xc241, 0xc242, 0xc7e5, 0xc243, 0xc244, 0xc245,
    -    0xc7e6, 0xc246, 0xc7e7, 0xc247, 0xc248, 0xc249, 0xc24a, 0xc24b,
    -    0xc7e8, 0xc7e9, 0xc24c, 0xc7ea, 0xc24d, 0xc7eb, 0xc24e, 0xc24f,
    -    0xc250, 0xc251, 0xc252, 0xc253, 0xc7ec, 0xc7ed, 0xc254, 0xc255,
    -    0xc7ee, 0xc256, 0xc257, 0xc258, 0xc7ef, 0xc259, 0xc25a, 0xc261,
    -    0xc262, 0xc263, 0xc264, 0xc265, 0xc7f0, 0xc7f1, 0xc266, 0xc7f2,
    -    0xc267, 0xc7f3, 0xc268, 0xc269, 0xc26a, 0xc26b, 0xc26c, 0xc26d,
    -    /* 0xd600 .. 0xd6ff */
    -    0xc7f4, 0xc7f5, 0xc26e, 0xc26f, 0xc7f6, 0xc270, 0xc271, 0xc272,
    -    0xc7f7, 0xc273, 0xc274, 0xc275, 0xc276, 0xc277, 0xc278, 0xc279,
    -    0xc7f8, 0xc7f9, 0xc27a, 0xc7fa, 0xc7fb, 0xc7fc, 0xc281, 0xc282,
    -    0xc283, 0xc284, 0xc285, 0xc286, 0xc7fd, 0xc287, 0xc288, 0xc289,
    -    0xc7fe, 0xc28a, 0xc28b, 0xc28c, 0xc8a1, 0xc28d, 0xc28e, 0xc28f,
    -    0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc8a2, 0xc295, 0xc296,
    -    0xc297, 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e,
    -    0xc8a3, 0xc8a4, 0xc29f, 0xc2a0, 0xc8a5, 0xc341, 0xc342, 0xc343,
    -    0xc8a6, 0xc344, 0xc345, 0xc346, 0xc347, 0xc8a7, 0xc348, 0xc349,
    -    0xc8a8, 0xc8a9, 0xc34a, 0xc8aa, 0xc34b, 0xc8ab, 0xc34c, 0xc34d,
    -    0xc34e, 0xc8ac, 0xc34f, 0xc350, 0xc8ad, 0xc8ae, 0xc351, 0xc352,
    -    0xc8af, 0xc353, 0xc354, 0xc355, 0xc8b0, 0xc356, 0xc357, 0xc358,
    -    0xc359, 0xc35a, 0xc361, 0xc362, 0xc363, 0xc364, 0xc365, 0xc8b1,
    -    0xc366, 0xc8b2, 0xc367, 0xc368, 0xc369, 0xc36a, 0xc36b, 0xc36c,
    -    0xc8b3, 0xc8b4, 0xc36d, 0xc36e, 0xc8b5, 0xc36f, 0xc370, 0xc371,
    -    0xc372, 0xc373, 0xc374, 0xc375, 0xc376, 0xc377, 0xc378, 0xc379,
    -    0xc37a, 0xc381, 0xc382, 0xc8b6, 0xc383, 0xc8b7, 0xc384, 0xc385,
    -    0xc386, 0xc387, 0xc388, 0xc389, 0xc8b8, 0xc8b9, 0xc38a, 0xc38b,
    -    0xc8ba, 0xc38c, 0xc38d, 0xc38e, 0xc8bb, 0xc38f, 0xc390, 0xc391,
    -    0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc8bc, 0xc397, 0xc8bd,
    -    0xc398, 0xc8be, 0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc39d, 0xc39e,
    -    0xc8bf, 0xc39f, 0xc3a0, 0xc441, 0xc8c0, 0xc442, 0xc443, 0xc444,
    -    0xc8c1, 0xc445, 0xc446, 0xc447, 0xc448, 0xc449, 0xc44a, 0xc44b,
    -    0xc44c, 0xc8c2, 0xc44d, 0xc8c3, 0xc44e, 0xc44f, 0xc450, 0xc451,
    -    0xc452, 0xc453, 0xc454, 0xc455, 0xc8c4, 0xc8c5, 0xc456, 0xc457,
    -    0xc8c6, 0xc458, 0xc459, 0xc45a, 0xc8c7, 0xc461, 0xc462, 0xc463,
    -    0xc464, 0xc8c8, 0xc465, 0xc466, 0xc8c9, 0xc467, 0xc468, 0xc8ca,
    -    0xc469, 0xc8cb, 0xc46a, 0xc46b, 0xc46c, 0xc46d, 0xc46e, 0xc46f,
    -    0xc8cc, 0xc470, 0xc471, 0xc472, 0xc8cd, 0xc473, 0xc474, 0xc475,
    -    0xc8ce, 0xc476, 0xc477, 0xc478, 0xc479, 0xc47a, 0xc481, 0xc482,
    -    0xc8cf, 0xc483, 0xc484, 0xc485, 0xc486, 0xc8d0, 0xc487, 0xc488,
    -    0xc489, 0xc48a, 0xc48b, 0xc48c, 0xc8d1, 0xc8d2, 0xc48d, 0xc48e,
    -    /* 0xd700 .. 0xd7ff */
    -    0xc8d3, 0xc48f, 0xc490, 0xc491, 0xc8d4, 0xc492, 0xc493, 0xc494,
    -    0xc495, 0xc496, 0xc497, 0xc498, 0xc499, 0xc49a, 0xc49b, 0xc49c,
    -    0xc49d, 0xc8d5, 0xc49e, 0xc49f, 0xc4a0, 0xc541, 0xc542, 0xc543,
    -    0xc8d6, 0xc8d7, 0xc544, 0xc545, 0xc8d8, 0xc546, 0xc547, 0xc548,
    -    0xc8d9, 0xc549, 0xc54a, 0xc54b, 0xc54c, 0xc54d, 0xc54e, 0xc54f,
    -    0xc8da, 0xc8db, 0xc550, 0xc8dc, 0xc551, 0xc8dd, 0xc552, 0xc553,
    -    0xc554, 0xc555, 0xc556, 0xc557, 0xc8de, 0xc8df, 0xc558, 0xc559,
    -    0xc8e0, 0xc55a, 0xc561, 0xc562, 0xc8e1, 0xc563, 0xc564, 0xc565,
    -    0xc566, 0xc567, 0xc568, 0xc569, 0xc8e2, 0xc56a, 0xc56b, 0xc8e3,
    -    0xc56c, 0xc8e4, 0xc56d, 0xc56e, 0xc56f, 0xc570, 0xc571, 0xc572,
    -    0xc8e5, 0xc8e6, 0xc573, 0xc574, 0xc8e7, 0xc575, 0xc8e8, 0xc8e9,
    -    0xc8ea, 0xc8eb, 0xc576, 0xc577, 0xc578, 0xc579, 0xc57a, 0xc581,
    -    0xc8ec, 0xc8ed, 0xc582, 0xc8ee, 0xc583, 0xc8ef, 0xc584, 0xc585,
    -    0xc586, 0xc8f0, 0xc587, 0xc588, 0xc8f1, 0xc589, 0xc58a, 0xc58b,
    -    0xc8f2, 0xc58c, 0xc58d, 0xc58e, 0xc8f3, 0xc58f, 0xc590, 0xc591,
    -    0xc592, 0xc593, 0xc594, 0xc595, 0xc8f4, 0xc8f5, 0xc596, 0xc597,
    -    0xc598, 0xc8f6, 0xc599, 0xc59a, 0xc59b, 0xc59c, 0xc59d, 0xc59e,
    -    0xc8f7, 0xc8f8, 0xc59f, 0xc5a0, 0xc8f9, 0xc641, 0xc642, 0xc643,
    -    0xc8fa, 0xc644, 0xc645, 0xc646, 0xc647, 0xc648, 0xc649, 0xc64a,
    -    0xc8fb, 0xc8fc, 0xc64b, 0xc8fd, 0xc64c, 0xc8fe, 0xc64d, 0xc64e,
    -    0xc64f, 0xc650, 0xc651, 0xc652, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xf900 .. 0xf9ff */
    -    0xcbd0, 0xcbd6, 0xcbe7, 0xcdcf, 0xcde8, 0xcead, 0xcffb, 0xd0a2,
    -    0xd0b8, 0xd0d0, 0xd0dd, 0xd1d4, 0xd1d5, 0xd1d8, 0xd1db, 0xd1dc,
    -    0xd1dd, 0xd1de, 0xd1df, 0xd1e0, 0xd1e2, 0xd1e3, 0xd1e4, 0xd1e5,
    -    0xd1e6, 0xd1e8, 0xd1e9, 0xd1ea, 0xd1eb, 0xd1ed, 0xd1ef, 0xd1f0,
    -    0xd1f2, 0xd1f6, 0xd1fa, 0xd1fc, 0xd1fd, 0xd1fe, 0xd2a2, 0xd2a3,
    -    0xd2a7, 0xd2a8, 0xd2a9, 0xd2aa, 0xd2ab, 0xd2ad, 0xd2b2, 0xd2be,
    -    0xd2c2, 0xd2c3, 0xd2c4, 0xd2c6, 0xd2c7, 0xd2c8, 0xd2c9, 0xd2ca,
    -    0xd2cb, 0xd2cd, 0xd2ce, 0xd2cf, 0xd2d0, 0xd2d1, 0xd2d2, 0xd2d3,
    -    0xd2d4, 0xd2d5, 0xd2d6, 0xd2d7, 0xd2d9, 0xd2da, 0xd2de, 0xd2df,
    -    0xd2e1, 0xd2e2, 0xd2e4, 0xd2e5, 0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9,
    -    0xd2ea, 0xd2eb, 0xd2f0, 0xd2f1, 0xd2f2, 0xd2f3, 0xd2f4, 0xd2f5,
    -    0xd2f7, 0xd2f8, 0xd4e6, 0xd4fc, 0xd5a5, 0xd5ab, 0xd5ae, 0xd6b8,
    -    0xd6cd, 0xd7cb, 0xd7e4, 0xdbc5, 0xdbe4, 0xdca5, 0xdda5, 0xddd5,
    -    0xddf4, 0xdefc, 0xdefe, 0xdfb3, 0xdfe1, 0xdfe8, 0xe0f1, 0xe1ad,
    -    0xe1ed, 0xe3f5, 0xe4a1, 0xe4a9, 0xe5ae, 0xe5b1, 0xe5b2, 0xe5b9,
    -    0xe5bb, 0xe5bc, 0xe5c4, 0xe5ce, 0xe5d0, 0xe5d2, 0xe5d6, 0xe5fa,
    -    0xe5fb, 0xe5fc, 0xe5fe, 0xe6a1, 0xe6a4, 0xe6a7, 0xe6ad, 0xe6af,
    -    0xe6b0, 0xe6b1, 0xe6b3, 0xe6b7, 0xe6b8, 0xe6bc, 0xe6c4, 0xe6c6,
    -    0xe6c7, 0xe6ca, 0xe6d2, 0xe6d6, 0xe6d9, 0xe6dc, 0xe6df, 0xe6e1,
    -    0xe6e4, 0xe6e5, 0xe6e6, 0xe6e8, 0xe6ea, 0xe6eb, 0xe6ec, 0xe6ef,
    -    0xe6f1, 0xe6f2, 0xe6f5, 0xe6f6, 0xe6f7, 0xe6f9, 0xe7a1, 0xe7a6,
    -    0xe7a9, 0xe7aa, 0xe7ac, 0xe7ad, 0xe7b0, 0xe7bf, 0xe7c1, 0xe7c6,
    -    0xe7c7, 0xe7cb, 0xe7cd, 0xe7cf, 0xe7d0, 0xe7d3, 0xe7df, 0xe7e4,
    -    0xe7e6, 0xe7f7, 0xe8e7, 0xe8e8, 0xe8f0, 0xe8f1, 0xe8f7, 0xe8f9,
    -    0xe8fb, 0xe8fe, 0xe9a7, 0xe9ac, 0xe9cc, 0xe9f7, 0xeac1, 0xeae5,
    -    0xeaf4, 0xeaf7, 0xeafc, 0xeafe, 0xeba4, 0xeba7, 0xeba9, 0xebaa,
    -    0xebba, 0xebbb, 0xebbd, 0xebc1, 0xebc2, 0xebc6, 0xebc7, 0xebcc,
    -    0xebcf, 0xebd0, 0xebd1, 0xebd2, 0xebd8, 0xeca6, 0xeca7, 0xecaa,
    -    0xecaf, 0xecb0, 0xecb1, 0xecb2, 0xecb5, 0xecb8, 0xecba, 0xecc0,
    -    0xecc1, 0xecc5, 0xecc6, 0xecc9, 0xecca, 0xecd5, 0xecdd, 0xecde,
    -    0xece1, 0xece4, 0xece7, 0xece8, 0xecf7, 0xecf8, 0xecfa, 0xeda1,
    -    0xeda2, 0xeda3, 0xedee, 0xeedb, 0xf2bd, 0xf2fa, 0xf3b1, 0xf4a7,
    -    /* 0xfa00 .. 0xfaff */
    -    0xf4ee, 0xf6f4, 0xf6f6, 0xf7b8, 0xf7c8, 0xf7d3, 0xf8db, 0xf8f0,
    -    0xfaa1, 0xfaa2, 0xfae6, 0xfca9, 0xe8b4, 0x003f, 0x003f, 0x003f,
    -    0xf5c0, 0x003f, 0xf4e7, 0x003f, 0x003f, 0xfdeb, 0xeec4, 0xeccc,
    -    0x003f, 0xe3ea, 0xdfd4, 0xdcd8, 0xeffe, 0xeff1, 0xe9e2, 0x003f,
    -    0x003f, 0x003f, 0xf0b3, 0x003f, 0x003f, 0xecef, 0xd4b4, 0x003f,
    -    0x003f, 0x003f, 0xdaf9, 0xdef8, 0xcebd, 0xf9cd, 0x003f, 0x003f,
    -    0xd9b2, 0xe3ac, 0xd8f3, 0xd8f5, 0xd0c3, 0xdde4, 0xcae2, 0xf7a3,
    -    0xd0ef, 0x003f, 0xd9f8, 0xf6b5, 0x003f, 0xfce2, 0xcbc6, 0xf1f3,
    -    0xf3a4, 0xdac2, 0x003f, 0xdff4, 0xd8de, 0xfaad, 0xeec2, 0xf9d3,
    -    0xedb4, 0x003f, 0xf6fc, 0xddf8, 0xdee4, 0xf2b3, 0xd1b7, 0xe9de,
    -    0xf0d3, 0xf5e6, 0xfca1, 0xefee, 0xcdda, 0xd4cd, 0xefbd, 0xd6a3,
    -    0xf2db, 0xdbe5, 0xdffe, 0xedba, 0xf6ab, 0x003f, 0x003f, 0xeeca,
    -    0xcae8, 0xe3ca, 0xe4d7, 0xd0cd, 0xdeb9, 0xf1fc, 0x003f, 0xecef,
    -    0xd1f1, 0xfac2, 0xdeba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa1aa, 0xa1aa, 0xa1aa, 0xa1aa, 0x005f, 0x005f, 0x005f,
    -    0x002c, 0xa1a2, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,
    -    0xa1aa, 0x0028, 0x0029, 0x007b, 0x007d, 0xa1b2, 0xa1b3, 0x0023,
    -    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,
    -    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xff00 .. 0xffff */
    -    0x003f, 0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7,
    -    0xa3a8, 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af,
    -    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,
    -    0xa3b8, 0xa3b9, 0xa3ba, 0xa3bb, 0xa3bc, 0xa3bd, 0xa3be, 0xa3bf,
    -    0xa3c0, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,
    -    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,
    -    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,
    -    0xa3d8, 0xa3d9, 0xa3da, 0xa3db, 0xa1ac, 0xa3dd, 0xa3de, 0xa3df,
    -    0xa3e0, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,
    -    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,
    -    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,
    -    0xa3f8, 0xa3f9, 0xa3fa, 0xa3fb, 0xa3fc, 0xa3fd, 0xa2a6, 0x003f,
    -    0x003f, 0xa1a3, 0xa1b8, 0xa1b9, 0xa1a2, 0x003f, 0xabf2, 0xaba1,
    -    0xaba3, 0xaba5, 0xaba7, 0xaba9, 0xabe3, 0xabe5, 0xabe7, 0xabc3,
    -    0x003f, 0xaba2, 0xaba4, 0xaba6, 0xaba8, 0xabaa, 0xabab, 0xabad,
    -    0xabaf, 0xabb1, 0xabb3, 0xabb5, 0xabb7, 0xabb9, 0xabbb, 0xabbd,
    -    0xabbf, 0xabc1, 0xabc4, 0xabc6, 0xabc8, 0xabca, 0xabcb, 0xabcc,
    -    0xabcd, 0xabce, 0xabcf, 0xabd2, 0xabd5, 0xabd8, 0xabdb, 0xabde,
    -    0xabdf, 0xabe0, 0xabe1, 0xabe2, 0xabe4, 0xabe6, 0xabe8, 0xabe9,
    -    0xabea, 0xabeb, 0xabec, 0xabed, 0xabef, 0xabf3, 0x003f, 0x003f,
    -    0xa4d4, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    -    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    -    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    -    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0x003f,
    -    0x003f, 0x003f, 0xa4bf, 0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4,
    -    0x003f, 0x003f, 0xa4c5, 0xa4c6, 0xa4c7, 0xa4c8, 0xa4c9, 0xa4ca,
    -    0x003f, 0x003f, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf, 0xa4d0,
    -    0x003f, 0x003f, 0xa4d1, 0xa4d2, 0xa4d3, 0x003f, 0x003f, 0x003f,
    -    0xa1cb, 0xa1cc, 0xa1fe, 0xa3fe, 0x007c, 0xa1cd, 0xa3dc, 0x003f,
    -    0xa6a2, 0xa1e7, 0xa1e8, 0xa1e6, 0xa1e9, 0xa1e1, 0xa1db, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* defaults */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x0500, 0x0600, 0x0700,
    -    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x0f00, 0x1000,
    -    0x1100, 0x1200, 0x1300, 0x1400, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x1500, 0x1600,
    -    0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00, 0x1e00,
    -    0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500, 0x2600,
    -    0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00, 0x2e00,
    -    0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600,
    -    0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00, 0x3e00,
    -    0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600,
    -    0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00, 0x4e00,
    -    0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600,
    -    0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00, 0x5e00,
    -    0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500, 0x6600,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x6700, 0x6800, 0x6900, 0x6a00,
    -    0x6b00, 0x6c00, 0x6d00, 0x6e00, 0x6f00, 0x7000, 0x7100, 0x7200,
    -    0x7300, 0x7400, 0x7500, 0x7600, 0x7700, 0x7800, 0x7900, 0x7a00,
    -    0x7b00, 0x7c00, 0x7d00, 0x7e00, 0x7f00, 0x8000, 0x8100, 0x8200,
    -    0x8300, 0x8400, 0x8500, 0x8600, 0x8700, 0x8800, 0x8900, 0x8a00,
    -    0x8b00, 0x8c00, 0x8d00, 0x8e00, 0x8f00, 0x9000, 0x9100, 0x9200,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    -    0x9800, 0x9300, 0x9400, 0x9500, 0x9800, 0x9800, 0x9600, 0x9700
    -};
    -
    -const struct dbcs_table cptable_949 =
    -{
    -    { 949, 2, 0x003f, 0x003f, "ANSI/OEM Korean Unified Hangul" },
    -    cp2uni,
    -    cp2uni_leadbytes,
    -    uni2cp_low,
    -    uni2cp_high,
    -    { 0x81, 0xfe, 0x00, 0x00 }
    -};
    +/* code page 949 (ANSI/OEM Korean Unified Hangul) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[32256] =
    +{
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 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, 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, 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, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,
    +    /* unused lead bytes */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte 81 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xac02, 0xac03, 0xac05, 0xac06, 0xac0b, 0xac0c, 0xac0d,
    +    0xac0e, 0xac0f, 0xac18, 0xac1e, 0xac1f, 0xac21, 0xac22, 0xac23,
    +    0xac25, 0xac26, 0xac27, 0xac28, 0xac29, 0xac2a, 0xac2b, 0xac2e,
    +    0xac32, 0xac33, 0xac34, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xac35, 0xac36, 0xac37, 0xac3a, 0xac3b, 0xac3d, 0xac3e,
    +    0xac3f, 0xac41, 0xac42, 0xac43, 0xac44, 0xac45, 0xac46, 0xac47,
    +    0xac48, 0xac49, 0xac4a, 0xac4c, 0xac4e, 0xac4f, 0xac50, 0xac51,
    +    0xac52, 0xac53, 0xac55, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xac56, 0xac57, 0xac59, 0xac5a, 0xac5b, 0xac5d, 0xac5e,
    +    0xac5f, 0xac60, 0xac61, 0xac62, 0xac63, 0xac64, 0xac65, 0xac66,
    +    0xac67, 0xac68, 0xac69, 0xac6a, 0xac6b, 0xac6c, 0xac6d, 0xac6e,
    +    0xac6f, 0xac72, 0xac73, 0xac75, 0xac76, 0xac79, 0xac7b, 0xac7c,
    +    0xac7d, 0xac7e, 0xac7f, 0xac82, 0xac87, 0xac88, 0xac8d, 0xac8e,
    +    0xac8f, 0xac91, 0xac92, 0xac93, 0xac95, 0xac96, 0xac97, 0xac98,
    +    0xac99, 0xac9a, 0xac9b, 0xac9e, 0xaca2, 0xaca3, 0xaca4, 0xaca5,
    +    0xaca6, 0xaca7, 0xacab, 0xacad, 0xacae, 0xacb1, 0xacb2, 0xacb3,
    +    0xacb4, 0xacb5, 0xacb6, 0xacb7, 0xacba, 0xacbe, 0xacbf, 0xacc0,
    +    0xacc2, 0xacc3, 0xacc5, 0xacc6, 0xacc7, 0xacc9, 0xacca, 0xaccb,
    +    0xaccd, 0xacce, 0xaccf, 0xacd0, 0xacd1, 0xacd2, 0xacd3, 0xacd4,
    +    0xacd6, 0xacd8, 0xacd9, 0xacda, 0xacdb, 0xacdc, 0xacdd, 0xacde,
    +    0xacdf, 0xace2, 0xace3, 0xace5, 0xace6, 0xace9, 0xaceb, 0xaced,
    +    0xacee, 0xacf2, 0xacf4, 0xacf7, 0xacf8, 0xacf9, 0xacfa, 0xacfb,
    +    0xacfe, 0xacff, 0xad01, 0xad02, 0xad03, 0xad05, 0xad07, 0xad08,
    +    0xad09, 0xad0a, 0xad0b, 0xad0e, 0xad10, 0xad12, 0xad13, 0x003f,
    +    /* lead byte 82 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xad14, 0xad15, 0xad16, 0xad17, 0xad19, 0xad1a, 0xad1b,
    +    0xad1d, 0xad1e, 0xad1f, 0xad21, 0xad22, 0xad23, 0xad24, 0xad25,
    +    0xad26, 0xad27, 0xad28, 0xad2a, 0xad2b, 0xad2e, 0xad2f, 0xad30,
    +    0xad31, 0xad32, 0xad33, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xad36, 0xad37, 0xad39, 0xad3a, 0xad3b, 0xad3d, 0xad3e,
    +    0xad3f, 0xad40, 0xad41, 0xad42, 0xad43, 0xad46, 0xad48, 0xad4a,
    +    0xad4b, 0xad4c, 0xad4d, 0xad4e, 0xad4f, 0xad51, 0xad52, 0xad53,
    +    0xad55, 0xad56, 0xad57, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xad59, 0xad5a, 0xad5b, 0xad5c, 0xad5d, 0xad5e, 0xad5f,
    +    0xad60, 0xad62, 0xad64, 0xad65, 0xad66, 0xad67, 0xad68, 0xad69,
    +    0xad6a, 0xad6b, 0xad6e, 0xad6f, 0xad71, 0xad72, 0xad77, 0xad78,
    +    0xad79, 0xad7a, 0xad7e, 0xad80, 0xad83, 0xad84, 0xad85, 0xad86,
    +    0xad87, 0xad8a, 0xad8b, 0xad8d, 0xad8e, 0xad8f, 0xad91, 0xad92,
    +    0xad93, 0xad94, 0xad95, 0xad96, 0xad97, 0xad98, 0xad99, 0xad9a,
    +    0xad9b, 0xad9e, 0xad9f, 0xada0, 0xada1, 0xada2, 0xada3, 0xada5,
    +    0xada6, 0xada7, 0xada8, 0xada9, 0xadaa, 0xadab, 0xadac, 0xadad,
    +    0xadae, 0xadaf, 0xadb0, 0xadb1, 0xadb2, 0xadb3, 0xadb4, 0xadb5,
    +    0xadb6, 0xadb8, 0xadb9, 0xadba, 0xadbb, 0xadbc, 0xadbd, 0xadbe,
    +    0xadbf, 0xadc2, 0xadc3, 0xadc5, 0xadc6, 0xadc7, 0xadc9, 0xadca,
    +    0xadcb, 0xadcc, 0xadcd, 0xadce, 0xadcf, 0xadd2, 0xadd4, 0xadd5,
    +    0xadd6, 0xadd7, 0xadd8, 0xadd9, 0xadda, 0xaddb, 0xaddd, 0xadde,
    +    0xaddf, 0xade1, 0xade2, 0xade3, 0xade5, 0xade6, 0xade7, 0xade8,
    +    0xade9, 0xadea, 0xadeb, 0xadec, 0xaded, 0xadee, 0xadef, 0xadf0,
    +    0xadf1, 0xadf2, 0xadf3, 0xadf4, 0xadf5, 0xadf6, 0xadf7, 0x003f,
    +    /* lead byte 83 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xadfa, 0xadfb, 0xadfd, 0xadfe, 0xae02, 0xae03, 0xae04,
    +    0xae05, 0xae06, 0xae07, 0xae0a, 0xae0c, 0xae0e, 0xae0f, 0xae10,
    +    0xae11, 0xae12, 0xae13, 0xae15, 0xae16, 0xae17, 0xae18, 0xae19,
    +    0xae1a, 0xae1b, 0xae1c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xae1d, 0xae1e, 0xae1f, 0xae20, 0xae21, 0xae22, 0xae23,
    +    0xae24, 0xae25, 0xae26, 0xae27, 0xae28, 0xae29, 0xae2a, 0xae2b,
    +    0xae2c, 0xae2d, 0xae2e, 0xae2f, 0xae32, 0xae33, 0xae35, 0xae36,
    +    0xae39, 0xae3b, 0xae3c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xae3d, 0xae3e, 0xae3f, 0xae42, 0xae44, 0xae47, 0xae48,
    +    0xae49, 0xae4b, 0xae4f, 0xae51, 0xae52, 0xae53, 0xae55, 0xae57,
    +    0xae58, 0xae59, 0xae5a, 0xae5b, 0xae5e, 0xae62, 0xae63, 0xae64,
    +    0xae66, 0xae67, 0xae6a, 0xae6b, 0xae6d, 0xae6e, 0xae6f, 0xae71,
    +    0xae72, 0xae73, 0xae74, 0xae75, 0xae76, 0xae77, 0xae7a, 0xae7e,
    +    0xae7f, 0xae80, 0xae81, 0xae82, 0xae83, 0xae86, 0xae87, 0xae88,
    +    0xae89, 0xae8a, 0xae8b, 0xae8d, 0xae8e, 0xae8f, 0xae90, 0xae91,
    +    0xae92, 0xae93, 0xae94, 0xae95, 0xae96, 0xae97, 0xae98, 0xae99,
    +    0xae9a, 0xae9b, 0xae9c, 0xae9d, 0xae9e, 0xae9f, 0xaea0, 0xaea1,
    +    0xaea2, 0xaea3, 0xaea4, 0xaea5, 0xaea6, 0xaea7, 0xaea8, 0xaea9,
    +    0xaeaa, 0xaeab, 0xaeac, 0xaead, 0xaeae, 0xaeaf, 0xaeb0, 0xaeb1,
    +    0xaeb2, 0xaeb3, 0xaeb4, 0xaeb5, 0xaeb6, 0xaeb7, 0xaeb8, 0xaeb9,
    +    0xaeba, 0xaebb, 0xaebf, 0xaec1, 0xaec2, 0xaec3, 0xaec5, 0xaec6,
    +    0xaec7, 0xaec8, 0xaec9, 0xaeca, 0xaecb, 0xaece, 0xaed2, 0xaed3,
    +    0xaed4, 0xaed5, 0xaed6, 0xaed7, 0xaeda, 0xaedb, 0xaedd, 0xaede,
    +    0xaedf, 0xaee0, 0xaee1, 0xaee2, 0xaee3, 0xaee4, 0xaee5, 0x003f,
    +    /* lead byte 84 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaee6, 0xaee7, 0xaee9, 0xaeea, 0xaeec, 0xaeee, 0xaeef,
    +    0xaef0, 0xaef1, 0xaef2, 0xaef3, 0xaef5, 0xaef6, 0xaef7, 0xaef9,
    +    0xaefa, 0xaefb, 0xaefd, 0xaefe, 0xaeff, 0xaf00, 0xaf01, 0xaf02,
    +    0xaf03, 0xaf04, 0xaf05, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaf06, 0xaf09, 0xaf0a, 0xaf0b, 0xaf0c, 0xaf0e, 0xaf0f,
    +    0xaf11, 0xaf12, 0xaf13, 0xaf14, 0xaf15, 0xaf16, 0xaf17, 0xaf18,
    +    0xaf19, 0xaf1a, 0xaf1b, 0xaf1c, 0xaf1d, 0xaf1e, 0xaf1f, 0xaf20,
    +    0xaf21, 0xaf22, 0xaf23, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaf24, 0xaf25, 0xaf26, 0xaf27, 0xaf28, 0xaf29, 0xaf2a,
    +    0xaf2b, 0xaf2e, 0xaf2f, 0xaf31, 0xaf33, 0xaf35, 0xaf36, 0xaf37,
    +    0xaf38, 0xaf39, 0xaf3a, 0xaf3b, 0xaf3e, 0xaf40, 0xaf44, 0xaf45,
    +    0xaf46, 0xaf47, 0xaf4a, 0xaf4b, 0xaf4c, 0xaf4d, 0xaf4e, 0xaf4f,
    +    0xaf51, 0xaf52, 0xaf53, 0xaf54, 0xaf55, 0xaf56, 0xaf57, 0xaf58,
    +    0xaf59, 0xaf5a, 0xaf5b, 0xaf5e, 0xaf5f, 0xaf60, 0xaf61, 0xaf62,
    +    0xaf63, 0xaf66, 0xaf67, 0xaf68, 0xaf69, 0xaf6a, 0xaf6b, 0xaf6c,
    +    0xaf6d, 0xaf6e, 0xaf6f, 0xaf70, 0xaf71, 0xaf72, 0xaf73, 0xaf74,
    +    0xaf75, 0xaf76, 0xaf77, 0xaf78, 0xaf7a, 0xaf7b, 0xaf7c, 0xaf7d,
    +    0xaf7e, 0xaf7f, 0xaf81, 0xaf82, 0xaf83, 0xaf85, 0xaf86, 0xaf87,
    +    0xaf89, 0xaf8a, 0xaf8b, 0xaf8c, 0xaf8d, 0xaf8e, 0xaf8f, 0xaf92,
    +    0xaf93, 0xaf94, 0xaf96, 0xaf97, 0xaf98, 0xaf99, 0xaf9a, 0xaf9b,
    +    0xaf9d, 0xaf9e, 0xaf9f, 0xafa0, 0xafa1, 0xafa2, 0xafa3, 0xafa4,
    +    0xafa5, 0xafa6, 0xafa7, 0xafa8, 0xafa9, 0xafaa, 0xafab, 0xafac,
    +    0xafad, 0xafae, 0xafaf, 0xafb0, 0xafb1, 0xafb2, 0xafb3, 0xafb4,
    +    0xafb5, 0xafb6, 0xafb7, 0xafba, 0xafbb, 0xafbd, 0xafbe, 0x003f,
    +    /* lead byte 85 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xafbf, 0xafc1, 0xafc2, 0xafc3, 0xafc4, 0xafc5, 0xafc6,
    +    0xafca, 0xafcc, 0xafcf, 0xafd0, 0xafd1, 0xafd2, 0xafd3, 0xafd5,
    +    0xafd6, 0xafd7, 0xafd8, 0xafd9, 0xafda, 0xafdb, 0xafdd, 0xafde,
    +    0xafdf, 0xafe0, 0xafe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xafe2, 0xafe3, 0xafe4, 0xafe5, 0xafe6, 0xafe7, 0xafea,
    +    0xafeb, 0xafec, 0xafed, 0xafee, 0xafef, 0xaff2, 0xaff3, 0xaff5,
    +    0xaff6, 0xaff7, 0xaff9, 0xaffa, 0xaffb, 0xaffc, 0xaffd, 0xaffe,
    +    0xafff, 0xb002, 0xb003, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb005, 0xb006, 0xb007, 0xb008, 0xb009, 0xb00a, 0xb00b,
    +    0xb00d, 0xb00e, 0xb00f, 0xb011, 0xb012, 0xb013, 0xb015, 0xb016,
    +    0xb017, 0xb018, 0xb019, 0xb01a, 0xb01b, 0xb01e, 0xb01f, 0xb020,
    +    0xb021, 0xb022, 0xb023, 0xb024, 0xb025, 0xb026, 0xb027, 0xb029,
    +    0xb02a, 0xb02b, 0xb02c, 0xb02d, 0xb02e, 0xb02f, 0xb030, 0xb031,
    +    0xb032, 0xb033, 0xb034, 0xb035, 0xb036, 0xb037, 0xb038, 0xb039,
    +    0xb03a, 0xb03b, 0xb03c, 0xb03d, 0xb03e, 0xb03f, 0xb040, 0xb041,
    +    0xb042, 0xb043, 0xb046, 0xb047, 0xb049, 0xb04b, 0xb04d, 0xb04f,
    +    0xb050, 0xb051, 0xb052, 0xb056, 0xb058, 0xb05a, 0xb05b, 0xb05c,
    +    0xb05e, 0xb05f, 0xb060, 0xb061, 0xb062, 0xb063, 0xb064, 0xb065,
    +    0xb066, 0xb067, 0xb068, 0xb069, 0xb06a, 0xb06b, 0xb06c, 0xb06d,
    +    0xb06e, 0xb06f, 0xb070, 0xb071, 0xb072, 0xb073, 0xb074, 0xb075,
    +    0xb076, 0xb077, 0xb078, 0xb079, 0xb07a, 0xb07b, 0xb07e, 0xb07f,
    +    0xb081, 0xb082, 0xb083, 0xb085, 0xb086, 0xb087, 0xb088, 0xb089,
    +    0xb08a, 0xb08b, 0xb08e, 0xb090, 0xb092, 0xb093, 0xb094, 0xb095,
    +    0xb096, 0xb097, 0xb09b, 0xb09d, 0xb09e, 0xb0a3, 0xb0a4, 0x003f,
    +    /* lead byte 86 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb0a5, 0xb0a6, 0xb0a7, 0xb0aa, 0xb0b0, 0xb0b2, 0xb0b6,
    +    0xb0b7, 0xb0b9, 0xb0ba, 0xb0bb, 0xb0bd, 0xb0be, 0xb0bf, 0xb0c0,
    +    0xb0c1, 0xb0c2, 0xb0c3, 0xb0c6, 0xb0ca, 0xb0cb, 0xb0cc, 0xb0cd,
    +    0xb0ce, 0xb0cf, 0xb0d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb0d3, 0xb0d5, 0xb0d6, 0xb0d7, 0xb0d9, 0xb0da, 0xb0db,
    +    0xb0dc, 0xb0dd, 0xb0de, 0xb0df, 0xb0e1, 0xb0e2, 0xb0e3, 0xb0e4,
    +    0xb0e6, 0xb0e7, 0xb0e8, 0xb0e9, 0xb0ea, 0xb0eb, 0xb0ec, 0xb0ed,
    +    0xb0ee, 0xb0ef, 0xb0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb0f1, 0xb0f2, 0xb0f3, 0xb0f4, 0xb0f5, 0xb0f6, 0xb0f7,
    +    0xb0f8, 0xb0f9, 0xb0fa, 0xb0fb, 0xb0fc, 0xb0fd, 0xb0fe, 0xb0ff,
    +    0xb100, 0xb101, 0xb102, 0xb103, 0xb104, 0xb105, 0xb106, 0xb107,
    +    0xb10a, 0xb10d, 0xb10e, 0xb10f, 0xb111, 0xb114, 0xb115, 0xb116,
    +    0xb117, 0xb11a, 0xb11e, 0xb11f, 0xb120, 0xb121, 0xb122, 0xb126,
    +    0xb127, 0xb129, 0xb12a, 0xb12b, 0xb12d, 0xb12e, 0xb12f, 0xb130,
    +    0xb131, 0xb132, 0xb133, 0xb136, 0xb13a, 0xb13b, 0xb13c, 0xb13d,
    +    0xb13e, 0xb13f, 0xb142, 0xb143, 0xb145, 0xb146, 0xb147, 0xb149,
    +    0xb14a, 0xb14b, 0xb14c, 0xb14d, 0xb14e, 0xb14f, 0xb152, 0xb153,
    +    0xb156, 0xb157, 0xb159, 0xb15a, 0xb15b, 0xb15d, 0xb15e, 0xb15f,
    +    0xb161, 0xb162, 0xb163, 0xb164, 0xb165, 0xb166, 0xb167, 0xb168,
    +    0xb169, 0xb16a, 0xb16b, 0xb16c, 0xb16d, 0xb16e, 0xb16f, 0xb170,
    +    0xb171, 0xb172, 0xb173, 0xb174, 0xb175, 0xb176, 0xb177, 0xb17a,
    +    0xb17b, 0xb17d, 0xb17e, 0xb17f, 0xb181, 0xb183, 0xb184, 0xb185,
    +    0xb186, 0xb187, 0xb18a, 0xb18c, 0xb18e, 0xb18f, 0xb190, 0xb191,
    +    0xb195, 0xb196, 0xb197, 0xb199, 0xb19a, 0xb19b, 0xb19d, 0x003f,
    +    /* lead byte 87 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb19e, 0xb19f, 0xb1a0, 0xb1a1, 0xb1a2, 0xb1a3, 0xb1a4,
    +    0xb1a5, 0xb1a6, 0xb1a7, 0xb1a9, 0xb1aa, 0xb1ab, 0xb1ac, 0xb1ad,
    +    0xb1ae, 0xb1af, 0xb1b0, 0xb1b1, 0xb1b2, 0xb1b3, 0xb1b4, 0xb1b5,
    +    0xb1b6, 0xb1b7, 0xb1b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb1b9, 0xb1ba, 0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0xb1bf,
    +    0xb1c0, 0xb1c1, 0xb1c2, 0xb1c3, 0xb1c4, 0xb1c5, 0xb1c6, 0xb1c7,
    +    0xb1c8, 0xb1c9, 0xb1ca, 0xb1cb, 0xb1cd, 0xb1ce, 0xb1cf, 0xb1d1,
    +    0xb1d2, 0xb1d3, 0xb1d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb1d6, 0xb1d7, 0xb1d8, 0xb1d9, 0xb1da, 0xb1db, 0xb1de,
    +    0xb1e0, 0xb1e1, 0xb1e2, 0xb1e3, 0xb1e4, 0xb1e5, 0xb1e6, 0xb1e7,
    +    0xb1ea, 0xb1eb, 0xb1ed, 0xb1ee, 0xb1ef, 0xb1f1, 0xb1f2, 0xb1f3,
    +    0xb1f4, 0xb1f5, 0xb1f6, 0xb1f7, 0xb1f8, 0xb1fa, 0xb1fc, 0xb1fe,
    +    0xb1ff, 0xb200, 0xb201, 0xb202, 0xb203, 0xb206, 0xb207, 0xb209,
    +    0xb20a, 0xb20d, 0xb20e, 0xb20f, 0xb210, 0xb211, 0xb212, 0xb213,
    +    0xb216, 0xb218, 0xb21a, 0xb21b, 0xb21c, 0xb21d, 0xb21e, 0xb21f,
    +    0xb221, 0xb222, 0xb223, 0xb224, 0xb225, 0xb226, 0xb227, 0xb228,
    +    0xb229, 0xb22a, 0xb22b, 0xb22c, 0xb22d, 0xb22e, 0xb22f, 0xb230,
    +    0xb231, 0xb232, 0xb233, 0xb235, 0xb236, 0xb237, 0xb238, 0xb239,
    +    0xb23a, 0xb23b, 0xb23d, 0xb23e, 0xb23f, 0xb240, 0xb241, 0xb242,
    +    0xb243, 0xb244, 0xb245, 0xb246, 0xb247, 0xb248, 0xb249, 0xb24a,
    +    0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f, 0xb250, 0xb251, 0xb252,
    +    0xb253, 0xb254, 0xb255, 0xb256, 0xb257, 0xb259, 0xb25a, 0xb25b,
    +    0xb25d, 0xb25e, 0xb25f, 0xb261, 0xb262, 0xb263, 0xb264, 0xb265,
    +    0xb266, 0xb267, 0xb26a, 0xb26b, 0xb26c, 0xb26d, 0xb26e, 0x003f,
    +    /* lead byte 88 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb26f, 0xb270, 0xb271, 0xb272, 0xb273, 0xb276, 0xb277,
    +    0xb278, 0xb279, 0xb27a, 0xb27b, 0xb27d, 0xb27e, 0xb27f, 0xb280,
    +    0xb281, 0xb282, 0xb283, 0xb286, 0xb287, 0xb288, 0xb28a, 0xb28b,
    +    0xb28c, 0xb28d, 0xb28e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb28f, 0xb292, 0xb293, 0xb295, 0xb296, 0xb297, 0xb29b,
    +    0xb29c, 0xb29d, 0xb29e, 0xb29f, 0xb2a2, 0xb2a4, 0xb2a7, 0xb2a8,
    +    0xb2a9, 0xb2ab, 0xb2ad, 0xb2ae, 0xb2af, 0xb2b1, 0xb2b2, 0xb2b3,
    +    0xb2b5, 0xb2b6, 0xb2b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb2b8, 0xb2b9, 0xb2ba, 0xb2bb, 0xb2bc, 0xb2bd, 0xb2be,
    +    0xb2bf, 0xb2c0, 0xb2c1, 0xb2c2, 0xb2c3, 0xb2c4, 0xb2c5, 0xb2c6,
    +    0xb2c7, 0xb2ca, 0xb2cb, 0xb2cd, 0xb2ce, 0xb2cf, 0xb2d1, 0xb2d3,
    +    0xb2d4, 0xb2d5, 0xb2d6, 0xb2d7, 0xb2da, 0xb2dc, 0xb2de, 0xb2df,
    +    0xb2e0, 0xb2e1, 0xb2e3, 0xb2e7, 0xb2e9, 0xb2ea, 0xb2f0, 0xb2f1,
    +    0xb2f2, 0xb2f6, 0xb2fc, 0xb2fd, 0xb2fe, 0xb302, 0xb303, 0xb305,
    +    0xb306, 0xb307, 0xb309, 0xb30a, 0xb30b, 0xb30c, 0xb30d, 0xb30e,
    +    0xb30f, 0xb312, 0xb316, 0xb317, 0xb318, 0xb319, 0xb31a, 0xb31b,
    +    0xb31d, 0xb31e, 0xb31f, 0xb320, 0xb321, 0xb322, 0xb323, 0xb324,
    +    0xb325, 0xb326, 0xb327, 0xb328, 0xb329, 0xb32a, 0xb32b, 0xb32c,
    +    0xb32d, 0xb32e, 0xb32f, 0xb330, 0xb331, 0xb332, 0xb333, 0xb334,
    +    0xb335, 0xb336, 0xb337, 0xb338, 0xb339, 0xb33a, 0xb33b, 0xb33c,
    +    0xb33d, 0xb33e, 0xb33f, 0xb340, 0xb341, 0xb342, 0xb343, 0xb344,
    +    0xb345, 0xb346, 0xb347, 0xb348, 0xb349, 0xb34a, 0xb34b, 0xb34c,
    +    0xb34d, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352, 0xb353, 0xb357,
    +    0xb359, 0xb35a, 0xb35d, 0xb360, 0xb361, 0xb362, 0xb363, 0x003f,
    +    /* lead byte 89 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb366, 0xb368, 0xb36a, 0xb36c, 0xb36d, 0xb36f, 0xb372,
    +    0xb373, 0xb375, 0xb376, 0xb377, 0xb379, 0xb37a, 0xb37b, 0xb37c,
    +    0xb37d, 0xb37e, 0xb37f, 0xb382, 0xb386, 0xb387, 0xb388, 0xb389,
    +    0xb38a, 0xb38b, 0xb38d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb38e, 0xb38f, 0xb391, 0xb392, 0xb393, 0xb395, 0xb396,
    +    0xb397, 0xb398, 0xb399, 0xb39a, 0xb39b, 0xb39c, 0xb39d, 0xb39e,
    +    0xb39f, 0xb3a2, 0xb3a3, 0xb3a4, 0xb3a5, 0xb3a6, 0xb3a7, 0xb3a9,
    +    0xb3aa, 0xb3ab, 0xb3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3ae, 0xb3af, 0xb3b0, 0xb3b1, 0xb3b2, 0xb3b3, 0xb3b4,
    +    0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8, 0xb3b9, 0xb3ba, 0xb3bb, 0xb3bc,
    +    0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2, 0xb3c3, 0xb3c6,
    +    0xb3c7, 0xb3c9, 0xb3ca, 0xb3cd, 0xb3cf, 0xb3d1, 0xb3d2, 0xb3d3,
    +    0xb3d6, 0xb3d8, 0xb3da, 0xb3dc, 0xb3de, 0xb3df, 0xb3e1, 0xb3e2,
    +    0xb3e3, 0xb3e5, 0xb3e6, 0xb3e7, 0xb3e9, 0xb3ea, 0xb3eb, 0xb3ec,
    +    0xb3ed, 0xb3ee, 0xb3ef, 0xb3f0, 0xb3f1, 0xb3f2, 0xb3f3, 0xb3f4,
    +    0xb3f5, 0xb3f6, 0xb3f7, 0xb3f8, 0xb3f9, 0xb3fa, 0xb3fb, 0xb3fd,
    +    0xb3fe, 0xb3ff, 0xb400, 0xb401, 0xb402, 0xb403, 0xb404, 0xb405,
    +    0xb406, 0xb407, 0xb408, 0xb409, 0xb40a, 0xb40b, 0xb40c, 0xb40d,
    +    0xb40e, 0xb40f, 0xb411, 0xb412, 0xb413, 0xb414, 0xb415, 0xb416,
    +    0xb417, 0xb419, 0xb41a, 0xb41b, 0xb41d, 0xb41e, 0xb41f, 0xb421,
    +    0xb422, 0xb423, 0xb424, 0xb425, 0xb426, 0xb427, 0xb42a, 0xb42c,
    +    0xb42d, 0xb42e, 0xb42f, 0xb430, 0xb431, 0xb432, 0xb433, 0xb435,
    +    0xb436, 0xb437, 0xb438, 0xb439, 0xb43a, 0xb43b, 0xb43c, 0xb43d,
    +    0xb43e, 0xb43f, 0xb440, 0xb441, 0xb442, 0xb443, 0xb444, 0x003f,
    +    /* lead byte 8a */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb445, 0xb446, 0xb447, 0xb448, 0xb449, 0xb44a, 0xb44b,
    +    0xb44c, 0xb44d, 0xb44e, 0xb44f, 0xb452, 0xb453, 0xb455, 0xb456,
    +    0xb457, 0xb459, 0xb45a, 0xb45b, 0xb45c, 0xb45d, 0xb45e, 0xb45f,
    +    0xb462, 0xb464, 0xb466, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb467, 0xb468, 0xb469, 0xb46a, 0xb46b, 0xb46d, 0xb46e,
    +    0xb46f, 0xb470, 0xb471, 0xb472, 0xb473, 0xb474, 0xb475, 0xb476,
    +    0xb477, 0xb478, 0xb479, 0xb47a, 0xb47b, 0xb47c, 0xb47d, 0xb47e,
    +    0xb47f, 0xb481, 0xb482, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb483, 0xb484, 0xb485, 0xb486, 0xb487, 0xb489, 0xb48a,
    +    0xb48b, 0xb48c, 0xb48d, 0xb48e, 0xb48f, 0xb490, 0xb491, 0xb492,
    +    0xb493, 0xb494, 0xb495, 0xb496, 0xb497, 0xb498, 0xb499, 0xb49a,
    +    0xb49b, 0xb49c, 0xb49e, 0xb49f, 0xb4a0, 0xb4a1, 0xb4a2, 0xb4a3,
    +    0xb4a5, 0xb4a6, 0xb4a7, 0xb4a9, 0xb4aa, 0xb4ab, 0xb4ad, 0xb4ae,
    +    0xb4af, 0xb4b0, 0xb4b1, 0xb4b2, 0xb4b3, 0xb4b4, 0xb4b6, 0xb4b8,
    +    0xb4ba, 0xb4bb, 0xb4bc, 0xb4bd, 0xb4be, 0xb4bf, 0xb4c1, 0xb4c2,
    +    0xb4c3, 0xb4c5, 0xb4c6, 0xb4c7, 0xb4c9, 0xb4ca, 0xb4cb, 0xb4cc,
    +    0xb4cd, 0xb4ce, 0xb4cf, 0xb4d1, 0xb4d2, 0xb4d3, 0xb4d4, 0xb4d6,
    +    0xb4d7, 0xb4d8, 0xb4d9, 0xb4da, 0xb4db, 0xb4de, 0xb4df, 0xb4e1,
    +    0xb4e2, 0xb4e5, 0xb4e7, 0xb4e8, 0xb4e9, 0xb4ea, 0xb4eb, 0xb4ee,
    +    0xb4f0, 0xb4f2, 0xb4f3, 0xb4f4, 0xb4f5, 0xb4f6, 0xb4f7, 0xb4f9,
    +    0xb4fa, 0xb4fb, 0xb4fc, 0xb4fd, 0xb4fe, 0xb4ff, 0xb500, 0xb501,
    +    0xb502, 0xb503, 0xb504, 0xb505, 0xb506, 0xb507, 0xb508, 0xb509,
    +    0xb50a, 0xb50b, 0xb50c, 0xb50d, 0xb50e, 0xb50f, 0xb510, 0xb511,
    +    0xb512, 0xb513, 0xb516, 0xb517, 0xb519, 0xb51a, 0xb51d, 0x003f,
    +    /* lead byte 8b */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb51e, 0xb51f, 0xb520, 0xb521, 0xb522, 0xb523, 0xb526,
    +    0xb52b, 0xb52c, 0xb52d, 0xb52e, 0xb52f, 0xb532, 0xb533, 0xb535,
    +    0xb536, 0xb537, 0xb539, 0xb53a, 0xb53b, 0xb53c, 0xb53d, 0xb53e,
    +    0xb53f, 0xb542, 0xb546, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb547, 0xb548, 0xb549, 0xb54a, 0xb54e, 0xb54f, 0xb551,
    +    0xb552, 0xb553, 0xb555, 0xb556, 0xb557, 0xb558, 0xb559, 0xb55a,
    +    0xb55b, 0xb55e, 0xb562, 0xb563, 0xb564, 0xb565, 0xb566, 0xb567,
    +    0xb568, 0xb569, 0xb56a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb56b, 0xb56c, 0xb56d, 0xb56e, 0xb56f, 0xb570, 0xb571,
    +    0xb572, 0xb573, 0xb574, 0xb575, 0xb576, 0xb577, 0xb578, 0xb579,
    +    0xb57a, 0xb57b, 0xb57c, 0xb57d, 0xb57e, 0xb57f, 0xb580, 0xb581,
    +    0xb582, 0xb583, 0xb584, 0xb585, 0xb586, 0xb587, 0xb588, 0xb589,
    +    0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xb58e, 0xb58f, 0xb590, 0xb591,
    +    0xb592, 0xb593, 0xb594, 0xb595, 0xb596, 0xb597, 0xb598, 0xb599,
    +    0xb59a, 0xb59b, 0xb59c, 0xb59d, 0xb59e, 0xb59f, 0xb5a2, 0xb5a3,
    +    0xb5a5, 0xb5a6, 0xb5a7, 0xb5a9, 0xb5ac, 0xb5ad, 0xb5ae, 0xb5af,
    +    0xb5b2, 0xb5b6, 0xb5b7, 0xb5b8, 0xb5b9, 0xb5ba, 0xb5be, 0xb5bf,
    +    0xb5c1, 0xb5c2, 0xb5c3, 0xb5c5, 0xb5c6, 0xb5c7, 0xb5c8, 0xb5c9,
    +    0xb5ca, 0xb5cb, 0xb5ce, 0xb5d2, 0xb5d3, 0xb5d4, 0xb5d5, 0xb5d6,
    +    0xb5d7, 0xb5d9, 0xb5da, 0xb5db, 0xb5dc, 0xb5dd, 0xb5de, 0xb5df,
    +    0xb5e0, 0xb5e1, 0xb5e2, 0xb5e3, 0xb5e4, 0xb5e5, 0xb5e6, 0xb5e7,
    +    0xb5e8, 0xb5e9, 0xb5ea, 0xb5eb, 0xb5ed, 0xb5ee, 0xb5ef, 0xb5f0,
    +    0xb5f1, 0xb5f2, 0xb5f3, 0xb5f4, 0xb5f5, 0xb5f6, 0xb5f7, 0xb5f8,
    +    0xb5f9, 0xb5fa, 0xb5fb, 0xb5fc, 0xb5fd, 0xb5fe, 0xb5ff, 0x003f,
    +    /* lead byte 8c */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb600, 0xb601, 0xb602, 0xb603, 0xb604, 0xb605, 0xb606,
    +    0xb607, 0xb608, 0xb609, 0xb60a, 0xb60b, 0xb60c, 0xb60d, 0xb60e,
    +    0xb60f, 0xb612, 0xb613, 0xb615, 0xb616, 0xb617, 0xb619, 0xb61a,
    +    0xb61b, 0xb61c, 0xb61d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb61e, 0xb61f, 0xb620, 0xb621, 0xb622, 0xb623, 0xb624,
    +    0xb626, 0xb627, 0xb628, 0xb629, 0xb62a, 0xb62b, 0xb62d, 0xb62e,
    +    0xb62f, 0xb630, 0xb631, 0xb632, 0xb633, 0xb635, 0xb636, 0xb637,
    +    0xb638, 0xb639, 0xb63a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb63b, 0xb63c, 0xb63d, 0xb63e, 0xb63f, 0xb640, 0xb641,
    +    0xb642, 0xb643, 0xb644, 0xb645, 0xb646, 0xb647, 0xb649, 0xb64a,
    +    0xb64b, 0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652,
    +    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,
    +    0xb65b, 0xb65c, 0xb65d, 0xb65e, 0xb65f, 0xb660, 0xb661, 0xb662,
    +    0xb663, 0xb665, 0xb666, 0xb667, 0xb669, 0xb66a, 0xb66b, 0xb66c,
    +    0xb66d, 0xb66e, 0xb66f, 0xb670, 0xb671, 0xb672, 0xb673, 0xb674,
    +    0xb675, 0xb676, 0xb677, 0xb678, 0xb679, 0xb67a, 0xb67b, 0xb67c,
    +    0xb67d, 0xb67e, 0xb67f, 0xb680, 0xb681, 0xb682, 0xb683, 0xb684,
    +    0xb685, 0xb686, 0xb687, 0xb688, 0xb689, 0xb68a, 0xb68b, 0xb68c,
    +    0xb68d, 0xb68e, 0xb68f, 0xb690, 0xb691, 0xb692, 0xb693, 0xb694,
    +    0xb695, 0xb696, 0xb697, 0xb698, 0xb699, 0xb69a, 0xb69b, 0xb69e,
    +    0xb69f, 0xb6a1, 0xb6a2, 0xb6a3, 0xb6a5, 0xb6a6, 0xb6a7, 0xb6a8,
    +    0xb6a9, 0xb6aa, 0xb6ad, 0xb6ae, 0xb6af, 0xb6b0, 0xb6b2, 0xb6b3,
    +    0xb6b4, 0xb6b5, 0xb6b6, 0xb6b7, 0xb6b8, 0xb6b9, 0xb6ba, 0xb6bb,
    +    0xb6bc, 0xb6bd, 0xb6be, 0xb6bf, 0xb6c0, 0xb6c1, 0xb6c2, 0x003f,
    +    /* lead byte 8d */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb6c3, 0xb6c4, 0xb6c5, 0xb6c6, 0xb6c7, 0xb6c8, 0xb6c9,
    +    0xb6ca, 0xb6cb, 0xb6cc, 0xb6cd, 0xb6ce, 0xb6cf, 0xb6d0, 0xb6d1,
    +    0xb6d2, 0xb6d3, 0xb6d5, 0xb6d6, 0xb6d7, 0xb6d8, 0xb6d9, 0xb6da,
    +    0xb6db, 0xb6dc, 0xb6dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb6de, 0xb6df, 0xb6e0, 0xb6e1, 0xb6e2, 0xb6e3, 0xb6e4,
    +    0xb6e5, 0xb6e6, 0xb6e7, 0xb6e8, 0xb6e9, 0xb6ea, 0xb6eb, 0xb6ec,
    +    0xb6ed, 0xb6ee, 0xb6ef, 0xb6f1, 0xb6f2, 0xb6f3, 0xb6f5, 0xb6f6,
    +    0xb6f7, 0xb6f9, 0xb6fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb6fb, 0xb6fc, 0xb6fd, 0xb6fe, 0xb6ff, 0xb702, 0xb703,
    +    0xb704, 0xb706, 0xb707, 0xb708, 0xb709, 0xb70a, 0xb70b, 0xb70c,
    +    0xb70d, 0xb70e, 0xb70f, 0xb710, 0xb711, 0xb712, 0xb713, 0xb714,
    +    0xb715, 0xb716, 0xb717, 0xb718, 0xb719, 0xb71a, 0xb71b, 0xb71c,
    +    0xb71d, 0xb71e, 0xb71f, 0xb720, 0xb721, 0xb722, 0xb723, 0xb724,
    +    0xb725, 0xb726, 0xb727, 0xb72a, 0xb72b, 0xb72d, 0xb72e, 0xb731,
    +    0xb732, 0xb733, 0xb734, 0xb735, 0xb736, 0xb737, 0xb73a, 0xb73c,
    +    0xb73d, 0xb73e, 0xb73f, 0xb740, 0xb741, 0xb742, 0xb743, 0xb745,
    +    0xb746, 0xb747, 0xb749, 0xb74a, 0xb74b, 0xb74d, 0xb74e, 0xb74f,
    +    0xb750, 0xb751, 0xb752, 0xb753, 0xb756, 0xb757, 0xb758, 0xb759,
    +    0xb75a, 0xb75b, 0xb75c, 0xb75d, 0xb75e, 0xb75f, 0xb761, 0xb762,
    +    0xb763, 0xb765, 0xb766, 0xb767, 0xb769, 0xb76a, 0xb76b, 0xb76c,
    +    0xb76d, 0xb76e, 0xb76f, 0xb772, 0xb774, 0xb776, 0xb777, 0xb778,
    +    0xb779, 0xb77a, 0xb77b, 0xb77e, 0xb77f, 0xb781, 0xb782, 0xb783,
    +    0xb785, 0xb786, 0xb787, 0xb788, 0xb789, 0xb78a, 0xb78b, 0xb78e,
    +    0xb793, 0xb794, 0xb795, 0xb79a, 0xb79b, 0xb79d, 0xb79e, 0x003f,
    +    /* lead byte 8e */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb79f, 0xb7a1, 0xb7a2, 0xb7a3, 0xb7a4, 0xb7a5, 0xb7a6,
    +    0xb7a7, 0xb7aa, 0xb7ae, 0xb7af, 0xb7b0, 0xb7b1, 0xb7b2, 0xb7b3,
    +    0xb7b6, 0xb7b7, 0xb7b9, 0xb7ba, 0xb7bb, 0xb7bc, 0xb7bd, 0xb7be,
    +    0xb7bf, 0xb7c0, 0xb7c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb7c2, 0xb7c3, 0xb7c4, 0xb7c5, 0xb7c6, 0xb7c8, 0xb7ca,
    +    0xb7cb, 0xb7cc, 0xb7cd, 0xb7ce, 0xb7cf, 0xb7d0, 0xb7d1, 0xb7d2,
    +    0xb7d3, 0xb7d4, 0xb7d5, 0xb7d6, 0xb7d7, 0xb7d8, 0xb7d9, 0xb7da,
    +    0xb7db, 0xb7dc, 0xb7dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb7de, 0xb7df, 0xb7e0, 0xb7e1, 0xb7e2, 0xb7e3, 0xb7e4,
    +    0xb7e5, 0xb7e6, 0xb7e7, 0xb7e8, 0xb7e9, 0xb7ea, 0xb7eb, 0xb7ee,
    +    0xb7ef, 0xb7f1, 0xb7f2, 0xb7f3, 0xb7f5, 0xb7f6, 0xb7f7, 0xb7f8,
    +    0xb7f9, 0xb7fa, 0xb7fb, 0xb7fe, 0xb802, 0xb803, 0xb804, 0xb805,
    +    0xb806, 0xb80a, 0xb80b, 0xb80d, 0xb80e, 0xb80f, 0xb811, 0xb812,
    +    0xb813, 0xb814, 0xb815, 0xb816, 0xb817, 0xb81a, 0xb81c, 0xb81e,
    +    0xb81f, 0xb820, 0xb821, 0xb822, 0xb823, 0xb826, 0xb827, 0xb829,
    +    0xb82a, 0xb82b, 0xb82d, 0xb82e, 0xb82f, 0xb830, 0xb831, 0xb832,
    +    0xb833, 0xb836, 0xb83a, 0xb83b, 0xb83c, 0xb83d, 0xb83e, 0xb83f,
    +    0xb841, 0xb842, 0xb843, 0xb845, 0xb846, 0xb847, 0xb848, 0xb849,
    +    0xb84a, 0xb84b, 0xb84c, 0xb84d, 0xb84e, 0xb84f, 0xb850, 0xb852,
    +    0xb854, 0xb855, 0xb856, 0xb857, 0xb858, 0xb859, 0xb85a, 0xb85b,
    +    0xb85e, 0xb85f, 0xb861, 0xb862, 0xb863, 0xb865, 0xb866, 0xb867,
    +    0xb868, 0xb869, 0xb86a, 0xb86b, 0xb86e, 0xb870, 0xb872, 0xb873,
    +    0xb874, 0xb875, 0xb876, 0xb877, 0xb879, 0xb87a, 0xb87b, 0xb87d,
    +    0xb87e, 0xb87f, 0xb880, 0xb881, 0xb882, 0xb883, 0xb884, 0x003f,
    +    /* lead byte 8f */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb885, 0xb886, 0xb887, 0xb888, 0xb889, 0xb88a, 0xb88b,
    +    0xb88c, 0xb88e, 0xb88f, 0xb890, 0xb891, 0xb892, 0xb893, 0xb894,
    +    0xb895, 0xb896, 0xb897, 0xb898, 0xb899, 0xb89a, 0xb89b, 0xb89c,
    +    0xb89d, 0xb89e, 0xb89f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb8a0, 0xb8a1, 0xb8a2, 0xb8a3, 0xb8a4, 0xb8a5, 0xb8a6,
    +    0xb8a7, 0xb8a9, 0xb8aa, 0xb8ab, 0xb8ac, 0xb8ad, 0xb8ae, 0xb8af,
    +    0xb8b1, 0xb8b2, 0xb8b3, 0xb8b5, 0xb8b6, 0xb8b7, 0xb8b9, 0xb8ba,
    +    0xb8bb, 0xb8bc, 0xb8bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb8be, 0xb8bf, 0xb8c2, 0xb8c4, 0xb8c6, 0xb8c7, 0xb8c8,
    +    0xb8c9, 0xb8ca, 0xb8cb, 0xb8cd, 0xb8ce, 0xb8cf, 0xb8d1, 0xb8d2,
    +    0xb8d3, 0xb8d5, 0xb8d6, 0xb8d7, 0xb8d8, 0xb8d9, 0xb8da, 0xb8db,
    +    0xb8dc, 0xb8de, 0xb8e0, 0xb8e2, 0xb8e3, 0xb8e4, 0xb8e5, 0xb8e6,
    +    0xb8e7, 0xb8ea, 0xb8eb, 0xb8ed, 0xb8ee, 0xb8ef, 0xb8f1, 0xb8f2,
    +    0xb8f3, 0xb8f4, 0xb8f5, 0xb8f6, 0xb8f7, 0xb8fa, 0xb8fc, 0xb8fe,
    +    0xb8ff, 0xb900, 0xb901, 0xb902, 0xb903, 0xb905, 0xb906, 0xb907,
    +    0xb908, 0xb909, 0xb90a, 0xb90b, 0xb90c, 0xb90d, 0xb90e, 0xb90f,
    +    0xb910, 0xb911, 0xb912, 0xb913, 0xb914, 0xb915, 0xb916, 0xb917,
    +    0xb919, 0xb91a, 0xb91b, 0xb91c, 0xb91d, 0xb91e, 0xb91f, 0xb921,
    +    0xb922, 0xb923, 0xb924, 0xb925, 0xb926, 0xb927, 0xb928, 0xb929,
    +    0xb92a, 0xb92b, 0xb92c, 0xb92d, 0xb92e, 0xb92f, 0xb930, 0xb931,
    +    0xb932, 0xb933, 0xb934, 0xb935, 0xb936, 0xb937, 0xb938, 0xb939,
    +    0xb93a, 0xb93b, 0xb93e, 0xb93f, 0xb941, 0xb942, 0xb943, 0xb945,
    +    0xb946, 0xb947, 0xb948, 0xb949, 0xb94a, 0xb94b, 0xb94d, 0xb94e,
    +    0xb950, 0xb952, 0xb953, 0xb954, 0xb955, 0xb956, 0xb957, 0x003f,
    +    /* lead byte 90 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb95a, 0xb95b, 0xb95d, 0xb95e, 0xb95f, 0xb961, 0xb962,
    +    0xb963, 0xb964, 0xb965, 0xb966, 0xb967, 0xb96a, 0xb96c, 0xb96e,
    +    0xb96f, 0xb970, 0xb971, 0xb972, 0xb973, 0xb976, 0xb977, 0xb979,
    +    0xb97a, 0xb97b, 0xb97d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb97e, 0xb97f, 0xb980, 0xb981, 0xb982, 0xb983, 0xb986,
    +    0xb988, 0xb98b, 0xb98c, 0xb98f, 0xb990, 0xb991, 0xb992, 0xb993,
    +    0xb994, 0xb995, 0xb996, 0xb997, 0xb998, 0xb999, 0xb99a, 0xb99b,
    +    0xb99c, 0xb99d, 0xb99e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb99f, 0xb9a0, 0xb9a1, 0xb9a2, 0xb9a3, 0xb9a4, 0xb9a5,
    +    0xb9a6, 0xb9a7, 0xb9a8, 0xb9a9, 0xb9aa, 0xb9ab, 0xb9ae, 0xb9af,
    +    0xb9b1, 0xb9b2, 0xb9b3, 0xb9b5, 0xb9b6, 0xb9b7, 0xb9b8, 0xb9b9,
    +    0xb9ba, 0xb9bb, 0xb9be, 0xb9c0, 0xb9c2, 0xb9c3, 0xb9c4, 0xb9c5,
    +    0xb9c6, 0xb9c7, 0xb9ca, 0xb9cb, 0xb9cd, 0xb9d3, 0xb9d4, 0xb9d5,
    +    0xb9d6, 0xb9d7, 0xb9da, 0xb9dc, 0xb9df, 0xb9e0, 0xb9e2, 0xb9e6,
    +    0xb9e7, 0xb9e9, 0xb9ea, 0xb9eb, 0xb9ed, 0xb9ee, 0xb9ef, 0xb9f0,
    +    0xb9f1, 0xb9f2, 0xb9f3, 0xb9f6, 0xb9fb, 0xb9fc, 0xb9fd, 0xb9fe,
    +    0xb9ff, 0xba02, 0xba03, 0xba04, 0xba05, 0xba06, 0xba07, 0xba09,
    +    0xba0a, 0xba0b, 0xba0c, 0xba0d, 0xba0e, 0xba0f, 0xba10, 0xba11,
    +    0xba12, 0xba13, 0xba14, 0xba16, 0xba17, 0xba18, 0xba19, 0xba1a,
    +    0xba1b, 0xba1c, 0xba1d, 0xba1e, 0xba1f, 0xba20, 0xba21, 0xba22,
    +    0xba23, 0xba24, 0xba25, 0xba26, 0xba27, 0xba28, 0xba29, 0xba2a,
    +    0xba2b, 0xba2c, 0xba2d, 0xba2e, 0xba2f, 0xba30, 0xba31, 0xba32,
    +    0xba33, 0xba34, 0xba35, 0xba36, 0xba37, 0xba3a, 0xba3b, 0xba3d,
    +    0xba3e, 0xba3f, 0xba41, 0xba43, 0xba44, 0xba45, 0xba46, 0x003f,
    +    /* lead byte 91 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xba47, 0xba4a, 0xba4c, 0xba4f, 0xba50, 0xba51, 0xba52,
    +    0xba56, 0xba57, 0xba59, 0xba5a, 0xba5b, 0xba5d, 0xba5e, 0xba5f,
    +    0xba60, 0xba61, 0xba62, 0xba63, 0xba66, 0xba6a, 0xba6b, 0xba6c,
    +    0xba6d, 0xba6e, 0xba6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xba72, 0xba73, 0xba75, 0xba76, 0xba77, 0xba79, 0xba7a,
    +    0xba7b, 0xba7c, 0xba7d, 0xba7e, 0xba7f, 0xba80, 0xba81, 0xba82,
    +    0xba86, 0xba88, 0xba89, 0xba8a, 0xba8b, 0xba8d, 0xba8e, 0xba8f,
    +    0xba90, 0xba91, 0xba92, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,
    +    0xba9a, 0xba9b, 0xba9c, 0xba9d, 0xba9e, 0xba9f, 0xbaa0, 0xbaa1,
    +    0xbaa2, 0xbaa3, 0xbaa4, 0xbaa5, 0xbaa6, 0xbaa7, 0xbaaa, 0xbaad,
    +    0xbaae, 0xbaaf, 0xbab1, 0xbab3, 0xbab4, 0xbab5, 0xbab6, 0xbab7,
    +    0xbaba, 0xbabc, 0xbabe, 0xbabf, 0xbac0, 0xbac1, 0xbac2, 0xbac3,
    +    0xbac5, 0xbac6, 0xbac7, 0xbac9, 0xbaca, 0xbacb, 0xbacc, 0xbacd,
    +    0xbace, 0xbacf, 0xbad0, 0xbad1, 0xbad2, 0xbad3, 0xbad4, 0xbad5,
    +    0xbad6, 0xbad7, 0xbada, 0xbadb, 0xbadc, 0xbadd, 0xbade, 0xbadf,
    +    0xbae0, 0xbae1, 0xbae2, 0xbae3, 0xbae4, 0xbae5, 0xbae6, 0xbae7,
    +    0xbae8, 0xbae9, 0xbaea, 0xbaeb, 0xbaec, 0xbaed, 0xbaee, 0xbaef,
    +    0xbaf0, 0xbaf1, 0xbaf2, 0xbaf3, 0xbaf4, 0xbaf5, 0xbaf6, 0xbaf7,
    +    0xbaf8, 0xbaf9, 0xbafa, 0xbafb, 0xbafd, 0xbafe, 0xbaff, 0xbb01,
    +    0xbb02, 0xbb03, 0xbb05, 0xbb06, 0xbb07, 0xbb08, 0xbb09, 0xbb0a,
    +    0xbb0b, 0xbb0c, 0xbb0e, 0xbb10, 0xbb12, 0xbb13, 0xbb14, 0xbb15,
    +    0xbb16, 0xbb17, 0xbb19, 0xbb1a, 0xbb1b, 0xbb1d, 0xbb1e, 0xbb1f,
    +    0xbb21, 0xbb22, 0xbb23, 0xbb24, 0xbb25, 0xbb26, 0xbb27, 0x003f,
    +    /* lead byte 92 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbb28, 0xbb2a, 0xbb2c, 0xbb2d, 0xbb2e, 0xbb2f, 0xbb30,
    +    0xbb31, 0xbb32, 0xbb33, 0xbb37, 0xbb39, 0xbb3a, 0xbb3f, 0xbb40,
    +    0xbb41, 0xbb42, 0xbb43, 0xbb46, 0xbb48, 0xbb4a, 0xbb4b, 0xbb4c,
    +    0xbb4e, 0xbb51, 0xbb52, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbb53, 0xbb55, 0xbb56, 0xbb57, 0xbb59, 0xbb5a, 0xbb5b,
    +    0xbb5c, 0xbb5d, 0xbb5e, 0xbb5f, 0xbb60, 0xbb62, 0xbb64, 0xbb65,
    +    0xbb66, 0xbb67, 0xbb68, 0xbb69, 0xbb6a, 0xbb6b, 0xbb6d, 0xbb6e,
    +    0xbb6f, 0xbb70, 0xbb71, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbb72, 0xbb73, 0xbb74, 0xbb75, 0xbb76, 0xbb77, 0xbb78,
    +    0xbb79, 0xbb7a, 0xbb7b, 0xbb7c, 0xbb7d, 0xbb7e, 0xbb7f, 0xbb80,
    +    0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86, 0xbb87, 0xbb89,
    +    0xbb8a, 0xbb8b, 0xbb8d, 0xbb8e, 0xbb8f, 0xbb91, 0xbb92, 0xbb93,
    +    0xbb94, 0xbb95, 0xbb96, 0xbb97, 0xbb98, 0xbb99, 0xbb9a, 0xbb9b,
    +    0xbb9c, 0xbb9d, 0xbb9e, 0xbb9f, 0xbba0, 0xbba1, 0xbba2, 0xbba3,
    +    0xbba5, 0xbba6, 0xbba7, 0xbba9, 0xbbaa, 0xbbab, 0xbbad, 0xbbae,
    +    0xbbaf, 0xbbb0, 0xbbb1, 0xbbb2, 0xbbb3, 0xbbb5, 0xbbb6, 0xbbb8,
    +    0xbbb9, 0xbbba, 0xbbbb, 0xbbbc, 0xbbbd, 0xbbbe, 0xbbbf, 0xbbc1,
    +    0xbbc2, 0xbbc3, 0xbbc5, 0xbbc6, 0xbbc7, 0xbbc9, 0xbbca, 0xbbcb,
    +    0xbbcc, 0xbbcd, 0xbbce, 0xbbcf, 0xbbd1, 0xbbd2, 0xbbd4, 0xbbd5,
    +    0xbbd6, 0xbbd7, 0xbbd8, 0xbbd9, 0xbbda, 0xbbdb, 0xbbdc, 0xbbdd,
    +    0xbbde, 0xbbdf, 0xbbe0, 0xbbe1, 0xbbe2, 0xbbe3, 0xbbe4, 0xbbe5,
    +    0xbbe6, 0xbbe7, 0xbbe8, 0xbbe9, 0xbbea, 0xbbeb, 0xbbec, 0xbbed,
    +    0xbbee, 0xbbef, 0xbbf0, 0xbbf1, 0xbbf2, 0xbbf3, 0xbbf4, 0xbbf5,
    +    0xbbf6, 0xbbf7, 0xbbfa, 0xbbfb, 0xbbfd, 0xbbfe, 0xbc01, 0x003f,
    +    /* lead byte 93 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbc03, 0xbc04, 0xbc05, 0xbc06, 0xbc07, 0xbc0a, 0xbc0e,
    +    0xbc10, 0xbc12, 0xbc13, 0xbc19, 0xbc1a, 0xbc20, 0xbc21, 0xbc22,
    +    0xbc23, 0xbc26, 0xbc28, 0xbc2a, 0xbc2b, 0xbc2c, 0xbc2e, 0xbc2f,
    +    0xbc32, 0xbc33, 0xbc35, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbc36, 0xbc37, 0xbc39, 0xbc3a, 0xbc3b, 0xbc3c, 0xbc3d,
    +    0xbc3e, 0xbc3f, 0xbc42, 0xbc46, 0xbc47, 0xbc48, 0xbc4a, 0xbc4b,
    +    0xbc4e, 0xbc4f, 0xbc51, 0xbc52, 0xbc53, 0xbc54, 0xbc55, 0xbc56,
    +    0xbc57, 0xbc58, 0xbc59, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbc5a, 0xbc5b, 0xbc5c, 0xbc5e, 0xbc5f, 0xbc60, 0xbc61,
    +    0xbc62, 0xbc63, 0xbc64, 0xbc65, 0xbc66, 0xbc67, 0xbc68, 0xbc69,
    +    0xbc6a, 0xbc6b, 0xbc6c, 0xbc6d, 0xbc6e, 0xbc6f, 0xbc70, 0xbc71,
    +    0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76, 0xbc77, 0xbc78, 0xbc79,
    +    0xbc7a, 0xbc7b, 0xbc7c, 0xbc7d, 0xbc7e, 0xbc7f, 0xbc80, 0xbc81,
    +    0xbc82, 0xbc83, 0xbc86, 0xbc87, 0xbc89, 0xbc8a, 0xbc8d, 0xbc8f,
    +    0xbc90, 0xbc91, 0xbc92, 0xbc93, 0xbc96, 0xbc98, 0xbc9b, 0xbc9c,
    +    0xbc9d, 0xbc9e, 0xbc9f, 0xbca2, 0xbca3, 0xbca5, 0xbca6, 0xbca9,
    +    0xbcaa, 0xbcab, 0xbcac, 0xbcad, 0xbcae, 0xbcaf, 0xbcb2, 0xbcb6,
    +    0xbcb7, 0xbcb8, 0xbcb9, 0xbcba, 0xbcbb, 0xbcbe, 0xbcbf, 0xbcc1,
    +    0xbcc2, 0xbcc3, 0xbcc5, 0xbcc6, 0xbcc7, 0xbcc8, 0xbcc9, 0xbcca,
    +    0xbccb, 0xbccc, 0xbcce, 0xbcd2, 0xbcd3, 0xbcd4, 0xbcd6, 0xbcd7,
    +    0xbcd9, 0xbcda, 0xbcdb, 0xbcdd, 0xbcde, 0xbcdf, 0xbce0, 0xbce1,
    +    0xbce2, 0xbce3, 0xbce4, 0xbce5, 0xbce6, 0xbce7, 0xbce8, 0xbce9,
    +    0xbcea, 0xbceb, 0xbcec, 0xbced, 0xbcee, 0xbcef, 0xbcf0, 0xbcf1,
    +    0xbcf2, 0xbcf3, 0xbcf7, 0xbcf9, 0xbcfa, 0xbcfb, 0xbcfd, 0x003f,
    +    /* lead byte 94 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbcfe, 0xbcff, 0xbd00, 0xbd01, 0xbd02, 0xbd03, 0xbd06,
    +    0xbd08, 0xbd0a, 0xbd0b, 0xbd0c, 0xbd0d, 0xbd0e, 0xbd0f, 0xbd11,
    +    0xbd12, 0xbd13, 0xbd15, 0xbd16, 0xbd17, 0xbd18, 0xbd19, 0xbd1a,
    +    0xbd1b, 0xbd1c, 0xbd1d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbd1e, 0xbd1f, 0xbd20, 0xbd21, 0xbd22, 0xbd23, 0xbd25,
    +    0xbd26, 0xbd27, 0xbd28, 0xbd29, 0xbd2a, 0xbd2b, 0xbd2d, 0xbd2e,
    +    0xbd2f, 0xbd30, 0xbd31, 0xbd32, 0xbd33, 0xbd34, 0xbd35, 0xbd36,
    +    0xbd37, 0xbd38, 0xbd39, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbd3a, 0xbd3b, 0xbd3c, 0xbd3d, 0xbd3e, 0xbd3f, 0xbd41,
    +    0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd4a, 0xbd4b,
    +    0xbd4d, 0xbd4e, 0xbd4f, 0xbd51, 0xbd52, 0xbd53, 0xbd54, 0xbd55,
    +    0xbd56, 0xbd57, 0xbd5a, 0xbd5b, 0xbd5c, 0xbd5d, 0xbd5e, 0xbd5f,
    +    0xbd60, 0xbd61, 0xbd62, 0xbd63, 0xbd65, 0xbd66, 0xbd67, 0xbd69,
    +    0xbd6a, 0xbd6b, 0xbd6c, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70, 0xbd71,
    +    0xbd72, 0xbd73, 0xbd74, 0xbd75, 0xbd76, 0xbd77, 0xbd78, 0xbd79,
    +    0xbd7a, 0xbd7b, 0xbd7c, 0xbd7d, 0xbd7e, 0xbd7f, 0xbd82, 0xbd83,
    +    0xbd85, 0xbd86, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f, 0xbd92,
    +    0xbd94, 0xbd96, 0xbd97, 0xbd98, 0xbd9b, 0xbd9d, 0xbd9e, 0xbd9f,
    +    0xbda0, 0xbda1, 0xbda2, 0xbda3, 0xbda5, 0xbda6, 0xbda7, 0xbda8,
    +    0xbda9, 0xbdaa, 0xbdab, 0xbdac, 0xbdad, 0xbdae, 0xbdaf, 0xbdb1,
    +    0xbdb2, 0xbdb3, 0xbdb4, 0xbdb5, 0xbdb6, 0xbdb7, 0xbdb9, 0xbdba,
    +    0xbdbb, 0xbdbc, 0xbdbd, 0xbdbe, 0xbdbf, 0xbdc0, 0xbdc1, 0xbdc2,
    +    0xbdc3, 0xbdc4, 0xbdc5, 0xbdc6, 0xbdc7, 0xbdc8, 0xbdc9, 0xbdca,
    +    0xbdcb, 0xbdcc, 0xbdcd, 0xbdce, 0xbdcf, 0xbdd0, 0xbdd1, 0x003f,
    +    /* lead byte 95 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbdd2, 0xbdd3, 0xbdd6, 0xbdd7, 0xbdd9, 0xbdda, 0xbddb,
    +    0xbddd, 0xbdde, 0xbddf, 0xbde0, 0xbde1, 0xbde2, 0xbde3, 0xbde4,
    +    0xbde5, 0xbde6, 0xbde7, 0xbde8, 0xbdea, 0xbdeb, 0xbdec, 0xbded,
    +    0xbdee, 0xbdef, 0xbdf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbdf2, 0xbdf3, 0xbdf5, 0xbdf6, 0xbdf7, 0xbdf9, 0xbdfa,
    +    0xbdfb, 0xbdfc, 0xbdfd, 0xbdfe, 0xbdff, 0xbe01, 0xbe02, 0xbe04,
    +    0xbe06, 0xbe07, 0xbe08, 0xbe09, 0xbe0a, 0xbe0b, 0xbe0e, 0xbe0f,
    +    0xbe11, 0xbe12, 0xbe13, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbe15, 0xbe16, 0xbe17, 0xbe18, 0xbe19, 0xbe1a, 0xbe1b,
    +    0xbe1e, 0xbe20, 0xbe21, 0xbe22, 0xbe23, 0xbe24, 0xbe25, 0xbe26,
    +    0xbe27, 0xbe28, 0xbe29, 0xbe2a, 0xbe2b, 0xbe2c, 0xbe2d, 0xbe2e,
    +    0xbe2f, 0xbe30, 0xbe31, 0xbe32, 0xbe33, 0xbe34, 0xbe35, 0xbe36,
    +    0xbe37, 0xbe38, 0xbe39, 0xbe3a, 0xbe3b, 0xbe3c, 0xbe3d, 0xbe3e,
    +    0xbe3f, 0xbe40, 0xbe41, 0xbe42, 0xbe43, 0xbe46, 0xbe47, 0xbe49,
    +    0xbe4a, 0xbe4b, 0xbe4d, 0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53,
    +    0xbe56, 0xbe58, 0xbe5c, 0xbe5d, 0xbe5e, 0xbe5f, 0xbe62, 0xbe63,
    +    0xbe65, 0xbe66, 0xbe67, 0xbe69, 0xbe6b, 0xbe6c, 0xbe6d, 0xbe6e,
    +    0xbe6f, 0xbe72, 0xbe76, 0xbe77, 0xbe78, 0xbe79, 0xbe7a, 0xbe7e,
    +    0xbe7f, 0xbe81, 0xbe82, 0xbe83, 0xbe85, 0xbe86, 0xbe87, 0xbe88,
    +    0xbe89, 0xbe8a, 0xbe8b, 0xbe8e, 0xbe92, 0xbe93, 0xbe94, 0xbe95,
    +    0xbe96, 0xbe97, 0xbe9a, 0xbe9b, 0xbe9c, 0xbe9d, 0xbe9e, 0xbe9f,
    +    0xbea0, 0xbea1, 0xbea2, 0xbea3, 0xbea4, 0xbea5, 0xbea6, 0xbea7,
    +    0xbea9, 0xbeaa, 0xbeab, 0xbeac, 0xbead, 0xbeae, 0xbeaf, 0xbeb0,
    +    0xbeb1, 0xbeb2, 0xbeb3, 0xbeb4, 0xbeb5, 0xbeb6, 0xbeb7, 0x003f,
    +    /* lead byte 96 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbeb8, 0xbeb9, 0xbeba, 0xbebb, 0xbebc, 0xbebd, 0xbebe,
    +    0xbebf, 0xbec0, 0xbec1, 0xbec2, 0xbec3, 0xbec4, 0xbec5, 0xbec6,
    +    0xbec7, 0xbec8, 0xbec9, 0xbeca, 0xbecb, 0xbecc, 0xbecd, 0xbece,
    +    0xbecf, 0xbed2, 0xbed3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbed5, 0xbed6, 0xbed9, 0xbeda, 0xbedb, 0xbedc, 0xbedd,
    +    0xbede, 0xbedf, 0xbee1, 0xbee2, 0xbee6, 0xbee7, 0xbee8, 0xbee9,
    +    0xbeea, 0xbeeb, 0xbeed, 0xbeee, 0xbeef, 0xbef0, 0xbef1, 0xbef2,
    +    0xbef3, 0xbef4, 0xbef5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbef6, 0xbef7, 0xbef8, 0xbef9, 0xbefa, 0xbefb, 0xbefc,
    +    0xbefd, 0xbefe, 0xbeff, 0xbf00, 0xbf02, 0xbf03, 0xbf04, 0xbf05,
    +    0xbf06, 0xbf07, 0xbf0a, 0xbf0b, 0xbf0c, 0xbf0d, 0xbf0e, 0xbf0f,
    +    0xbf10, 0xbf11, 0xbf12, 0xbf13, 0xbf14, 0xbf15, 0xbf16, 0xbf17,
    +    0xbf1a, 0xbf1e, 0xbf1f, 0xbf20, 0xbf21, 0xbf22, 0xbf23, 0xbf24,
    +    0xbf25, 0xbf26, 0xbf27, 0xbf28, 0xbf29, 0xbf2a, 0xbf2b, 0xbf2c,
    +    0xbf2d, 0xbf2e, 0xbf2f, 0xbf30, 0xbf31, 0xbf32, 0xbf33, 0xbf34,
    +    0xbf35, 0xbf36, 0xbf37, 0xbf38, 0xbf39, 0xbf3a, 0xbf3b, 0xbf3c,
    +    0xbf3d, 0xbf3e, 0xbf3f, 0xbf42, 0xbf43, 0xbf45, 0xbf46, 0xbf47,
    +    0xbf49, 0xbf4a, 0xbf4b, 0xbf4c, 0xbf4d, 0xbf4e, 0xbf4f, 0xbf52,
    +    0xbf53, 0xbf54, 0xbf56, 0xbf57, 0xbf58, 0xbf59, 0xbf5a, 0xbf5b,
    +    0xbf5c, 0xbf5d, 0xbf5e, 0xbf5f, 0xbf60, 0xbf61, 0xbf62, 0xbf63,
    +    0xbf64, 0xbf65, 0xbf66, 0xbf67, 0xbf68, 0xbf69, 0xbf6a, 0xbf6b,
    +    0xbf6c, 0xbf6d, 0xbf6e, 0xbf6f, 0xbf70, 0xbf71, 0xbf72, 0xbf73,
    +    0xbf74, 0xbf75, 0xbf76, 0xbf77, 0xbf78, 0xbf79, 0xbf7a, 0xbf7b,
    +    0xbf7c, 0xbf7d, 0xbf7e, 0xbf7f, 0xbf80, 0xbf81, 0xbf82, 0x003f,
    +    /* lead byte 97 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbf83, 0xbf84, 0xbf85, 0xbf86, 0xbf87, 0xbf88, 0xbf89,
    +    0xbf8a, 0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90, 0xbf91,
    +    0xbf92, 0xbf93, 0xbf95, 0xbf96, 0xbf97, 0xbf98, 0xbf99, 0xbf9a,
    +    0xbf9b, 0xbf9c, 0xbf9d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbf9e, 0xbf9f, 0xbfa0, 0xbfa1, 0xbfa2, 0xbfa3, 0xbfa4,
    +    0xbfa5, 0xbfa6, 0xbfa7, 0xbfa8, 0xbfa9, 0xbfaa, 0xbfab, 0xbfac,
    +    0xbfad, 0xbfae, 0xbfaf, 0xbfb1, 0xbfb2, 0xbfb3, 0xbfb4, 0xbfb5,
    +    0xbfb6, 0xbfb7, 0xbfb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xbfb9, 0xbfba, 0xbfbb, 0xbfbc, 0xbfbd, 0xbfbe, 0xbfbf,
    +    0xbfc0, 0xbfc1, 0xbfc2, 0xbfc3, 0xbfc4, 0xbfc6, 0xbfc7, 0xbfc8,
    +    0xbfc9, 0xbfca, 0xbfcb, 0xbfce, 0xbfcf, 0xbfd1, 0xbfd2, 0xbfd3,
    +    0xbfd5, 0xbfd6, 0xbfd7, 0xbfd8, 0xbfd9, 0xbfda, 0xbfdb, 0xbfdd,
    +    0xbfde, 0xbfe0, 0xbfe2, 0xbfe3, 0xbfe4, 0xbfe5, 0xbfe6, 0xbfe7,
    +    0xbfe8, 0xbfe9, 0xbfea, 0xbfeb, 0xbfec, 0xbfed, 0xbfee, 0xbfef,
    +    0xbff0, 0xbff1, 0xbff2, 0xbff3, 0xbff4, 0xbff5, 0xbff6, 0xbff7,
    +    0xbff8, 0xbff9, 0xbffa, 0xbffb, 0xbffc, 0xbffd, 0xbffe, 0xbfff,
    +    0xc000, 0xc001, 0xc002, 0xc003, 0xc004, 0xc005, 0xc006, 0xc007,
    +    0xc008, 0xc009, 0xc00a, 0xc00b, 0xc00c, 0xc00d, 0xc00e, 0xc00f,
    +    0xc010, 0xc011, 0xc012, 0xc013, 0xc014, 0xc015, 0xc016, 0xc017,
    +    0xc018, 0xc019, 0xc01a, 0xc01b, 0xc01c, 0xc01d, 0xc01e, 0xc01f,
    +    0xc020, 0xc021, 0xc022, 0xc023, 0xc024, 0xc025, 0xc026, 0xc027,
    +    0xc028, 0xc029, 0xc02a, 0xc02b, 0xc02c, 0xc02d, 0xc02e, 0xc02f,
    +    0xc030, 0xc031, 0xc032, 0xc033, 0xc034, 0xc035, 0xc036, 0xc037,
    +    0xc038, 0xc039, 0xc03a, 0xc03b, 0xc03d, 0xc03e, 0xc03f, 0x003f,
    +    /* lead byte 98 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc040, 0xc041, 0xc042, 0xc043, 0xc044, 0xc045, 0xc046,
    +    0xc047, 0xc048, 0xc049, 0xc04a, 0xc04b, 0xc04c, 0xc04d, 0xc04e,
    +    0xc04f, 0xc050, 0xc052, 0xc053, 0xc054, 0xc055, 0xc056, 0xc057,
    +    0xc059, 0xc05a, 0xc05b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc05d, 0xc05e, 0xc05f, 0xc061, 0xc062, 0xc063, 0xc064,
    +    0xc065, 0xc066, 0xc067, 0xc06a, 0xc06b, 0xc06c, 0xc06d, 0xc06e,
    +    0xc06f, 0xc070, 0xc071, 0xc072, 0xc073, 0xc074, 0xc075, 0xc076,
    +    0xc077, 0xc078, 0xc079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc07a, 0xc07b, 0xc07c, 0xc07d, 0xc07e, 0xc07f, 0xc080,
    +    0xc081, 0xc082, 0xc083, 0xc084, 0xc085, 0xc086, 0xc087, 0xc088,
    +    0xc089, 0xc08a, 0xc08b, 0xc08c, 0xc08d, 0xc08e, 0xc08f, 0xc092,
    +    0xc093, 0xc095, 0xc096, 0xc097, 0xc099, 0xc09a, 0xc09b, 0xc09c,
    +    0xc09d, 0xc09e, 0xc09f, 0xc0a2, 0xc0a4, 0xc0a6, 0xc0a7, 0xc0a8,
    +    0xc0a9, 0xc0aa, 0xc0ab, 0xc0ae, 0xc0b1, 0xc0b2, 0xc0b7, 0xc0b8,
    +    0xc0b9, 0xc0ba, 0xc0bb, 0xc0be, 0xc0c2, 0xc0c3, 0xc0c4, 0xc0c6,
    +    0xc0c7, 0xc0ca, 0xc0cb, 0xc0cd, 0xc0ce, 0xc0cf, 0xc0d1, 0xc0d2,
    +    0xc0d3, 0xc0d4, 0xc0d5, 0xc0d6, 0xc0d7, 0xc0da, 0xc0de, 0xc0df,
    +    0xc0e0, 0xc0e1, 0xc0e2, 0xc0e3, 0xc0e6, 0xc0e7, 0xc0e9, 0xc0ea,
    +    0xc0eb, 0xc0ed, 0xc0ee, 0xc0ef, 0xc0f0, 0xc0f1, 0xc0f2, 0xc0f3,
    +    0xc0f6, 0xc0f8, 0xc0fa, 0xc0fb, 0xc0fc, 0xc0fd, 0xc0fe, 0xc0ff,
    +    0xc101, 0xc102, 0xc103, 0xc105, 0xc106, 0xc107, 0xc109, 0xc10a,
    +    0xc10b, 0xc10c, 0xc10d, 0xc10e, 0xc10f, 0xc111, 0xc112, 0xc113,
    +    0xc114, 0xc116, 0xc117, 0xc118, 0xc119, 0xc11a, 0xc11b, 0xc121,
    +    0xc122, 0xc125, 0xc128, 0xc129, 0xc12a, 0xc12b, 0xc12e, 0x003f,
    +    /* lead byte 99 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc132, 0xc133, 0xc134, 0xc135, 0xc137, 0xc13a, 0xc13b,
    +    0xc13d, 0xc13e, 0xc13f, 0xc141, 0xc142, 0xc143, 0xc144, 0xc145,
    +    0xc146, 0xc147, 0xc14a, 0xc14e, 0xc14f, 0xc150, 0xc151, 0xc152,
    +    0xc153, 0xc156, 0xc157, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc159, 0xc15a, 0xc15b, 0xc15d, 0xc15e, 0xc15f, 0xc160,
    +    0xc161, 0xc162, 0xc163, 0xc166, 0xc16a, 0xc16b, 0xc16c, 0xc16d,
    +    0xc16e, 0xc16f, 0xc171, 0xc172, 0xc173, 0xc175, 0xc176, 0xc177,
    +    0xc179, 0xc17a, 0xc17b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc17c, 0xc17d, 0xc17e, 0xc17f, 0xc180, 0xc181, 0xc182,
    +    0xc183, 0xc184, 0xc186, 0xc187, 0xc188, 0xc189, 0xc18a, 0xc18b,
    +    0xc18f, 0xc191, 0xc192, 0xc193, 0xc195, 0xc197, 0xc198, 0xc199,
    +    0xc19a, 0xc19b, 0xc19e, 0xc1a0, 0xc1a2, 0xc1a3, 0xc1a4, 0xc1a6,
    +    0xc1a7, 0xc1aa, 0xc1ab, 0xc1ad, 0xc1ae, 0xc1af, 0xc1b1, 0xc1b2,
    +    0xc1b3, 0xc1b4, 0xc1b5, 0xc1b6, 0xc1b7, 0xc1b8, 0xc1b9, 0xc1ba,
    +    0xc1bb, 0xc1bc, 0xc1be, 0xc1bf, 0xc1c0, 0xc1c1, 0xc1c2, 0xc1c3,
    +    0xc1c5, 0xc1c6, 0xc1c7, 0xc1c9, 0xc1ca, 0xc1cb, 0xc1cd, 0xc1ce,
    +    0xc1cf, 0xc1d0, 0xc1d1, 0xc1d2, 0xc1d3, 0xc1d5, 0xc1d6, 0xc1d9,
    +    0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de, 0xc1df, 0xc1e1, 0xc1e2,
    +    0xc1e3, 0xc1e5, 0xc1e6, 0xc1e7, 0xc1e9, 0xc1ea, 0xc1eb, 0xc1ec,
    +    0xc1ed, 0xc1ee, 0xc1ef, 0xc1f2, 0xc1f4, 0xc1f5, 0xc1f6, 0xc1f7,
    +    0xc1f8, 0xc1f9, 0xc1fa, 0xc1fb, 0xc1fe, 0xc1ff, 0xc201, 0xc202,
    +    0xc203, 0xc205, 0xc206, 0xc207, 0xc208, 0xc209, 0xc20a, 0xc20b,
    +    0xc20e, 0xc210, 0xc212, 0xc213, 0xc214, 0xc215, 0xc216, 0xc217,
    +    0xc21a, 0xc21b, 0xc21d, 0xc21e, 0xc221, 0xc222, 0xc223, 0x003f,
    +    /* lead byte 9a */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc224, 0xc225, 0xc226, 0xc227, 0xc22a, 0xc22c, 0xc22e,
    +    0xc230, 0xc233, 0xc235, 0xc236, 0xc237, 0xc238, 0xc239, 0xc23a,
    +    0xc23b, 0xc23c, 0xc23d, 0xc23e, 0xc23f, 0xc240, 0xc241, 0xc242,
    +    0xc243, 0xc244, 0xc245, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc246, 0xc247, 0xc249, 0xc24a, 0xc24b, 0xc24c, 0xc24d,
    +    0xc24e, 0xc24f, 0xc252, 0xc253, 0xc255, 0xc256, 0xc257, 0xc259,
    +    0xc25a, 0xc25b, 0xc25c, 0xc25d, 0xc25e, 0xc25f, 0xc261, 0xc262,
    +    0xc263, 0xc264, 0xc266, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc267, 0xc268, 0xc269, 0xc26a, 0xc26b, 0xc26e, 0xc26f,
    +    0xc271, 0xc272, 0xc273, 0xc275, 0xc276, 0xc277, 0xc278, 0xc279,
    +    0xc27a, 0xc27b, 0xc27e, 0xc280, 0xc282, 0xc283, 0xc284, 0xc285,
    +    0xc286, 0xc287, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,
    +    0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297, 0xc299,
    +    0xc29a, 0xc29c, 0xc29e, 0xc29f, 0xc2a0, 0xc2a1, 0xc2a2, 0xc2a3,
    +    0xc2a6, 0xc2a7, 0xc2a9, 0xc2aa, 0xc2ab, 0xc2ae, 0xc2af, 0xc2b0,
    +    0xc2b1, 0xc2b2, 0xc2b3, 0xc2b6, 0xc2b8, 0xc2ba, 0xc2bb, 0xc2bc,
    +    0xc2bd, 0xc2be, 0xc2bf, 0xc2c0, 0xc2c1, 0xc2c2, 0xc2c3, 0xc2c4,
    +    0xc2c5, 0xc2c6, 0xc2c7, 0xc2c8, 0xc2c9, 0xc2ca, 0xc2cb, 0xc2cc,
    +    0xc2cd, 0xc2ce, 0xc2cf, 0xc2d0, 0xc2d1, 0xc2d2, 0xc2d3, 0xc2d4,
    +    0xc2d5, 0xc2d6, 0xc2d7, 0xc2d8, 0xc2d9, 0xc2da, 0xc2db, 0xc2de,
    +    0xc2df, 0xc2e1, 0xc2e2, 0xc2e5, 0xc2e6, 0xc2e7, 0xc2e8, 0xc2e9,
    +    0xc2ea, 0xc2ee, 0xc2f0, 0xc2f2, 0xc2f3, 0xc2f4, 0xc2f5, 0xc2f7,
    +    0xc2fa, 0xc2fd, 0xc2fe, 0xc2ff, 0xc301, 0xc302, 0xc303, 0xc304,
    +    0xc305, 0xc306, 0xc307, 0xc30a, 0xc30b, 0xc30e, 0xc30f, 0x003f,
    +    /* lead byte 9b */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc310, 0xc311, 0xc312, 0xc316, 0xc317, 0xc319, 0xc31a,
    +    0xc31b, 0xc31d, 0xc31e, 0xc31f, 0xc320, 0xc321, 0xc322, 0xc323,
    +    0xc326, 0xc327, 0xc32a, 0xc32b, 0xc32c, 0xc32d, 0xc32e, 0xc32f,
    +    0xc330, 0xc331, 0xc332, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc333, 0xc334, 0xc335, 0xc336, 0xc337, 0xc338, 0xc339,
    +    0xc33a, 0xc33b, 0xc33c, 0xc33d, 0xc33e, 0xc33f, 0xc340, 0xc341,
    +    0xc342, 0xc343, 0xc344, 0xc346, 0xc347, 0xc348, 0xc349, 0xc34a,
    +    0xc34b, 0xc34c, 0xc34d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc34e, 0xc34f, 0xc350, 0xc351, 0xc352, 0xc353, 0xc354,
    +    0xc355, 0xc356, 0xc357, 0xc358, 0xc359, 0xc35a, 0xc35b, 0xc35c,
    +    0xc35d, 0xc35e, 0xc35f, 0xc360, 0xc361, 0xc362, 0xc363, 0xc364,
    +    0xc365, 0xc366, 0xc367, 0xc36a, 0xc36b, 0xc36d, 0xc36e, 0xc36f,
    +    0xc371, 0xc373, 0xc374, 0xc375, 0xc376, 0xc377, 0xc37a, 0xc37b,
    +    0xc37e, 0xc37f, 0xc380, 0xc381, 0xc382, 0xc383, 0xc385, 0xc386,
    +    0xc387, 0xc389, 0xc38a, 0xc38b, 0xc38d, 0xc38e, 0xc38f, 0xc390,
    +    0xc391, 0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc397, 0xc398,
    +    0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc39d, 0xc39e, 0xc39f, 0xc3a0,
    +    0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4, 0xc3a5, 0xc3a6, 0xc3a7, 0xc3a8,
    +    0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae, 0xc3af, 0xc3b0,
    +    0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7, 0xc3b8,
    +    0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc3bd, 0xc3be, 0xc3bf, 0xc3c1,
    +    0xc3c2, 0xc3c3, 0xc3c4, 0xc3c5, 0xc3c6, 0xc3c7, 0xc3c8, 0xc3c9,
    +    0xc3ca, 0xc3cb, 0xc3cc, 0xc3cd, 0xc3ce, 0xc3cf, 0xc3d0, 0xc3d1,
    +    0xc3d2, 0xc3d3, 0xc3d4, 0xc3d5, 0xc3d6, 0xc3d7, 0xc3da, 0x003f,
    +    /* lead byte 9c */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc3db, 0xc3dd, 0xc3de, 0xc3e1, 0xc3e3, 0xc3e4, 0xc3e5,
    +    0xc3e6, 0xc3e7, 0xc3ea, 0xc3eb, 0xc3ec, 0xc3ee, 0xc3ef, 0xc3f0,
    +    0xc3f1, 0xc3f2, 0xc3f3, 0xc3f6, 0xc3f7, 0xc3f9, 0xc3fa, 0xc3fb,
    +    0xc3fc, 0xc3fd, 0xc3fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc3ff, 0xc400, 0xc401, 0xc402, 0xc403, 0xc404, 0xc405,
    +    0xc406, 0xc407, 0xc409, 0xc40a, 0xc40b, 0xc40c, 0xc40d, 0xc40e,
    +    0xc40f, 0xc411, 0xc412, 0xc413, 0xc414, 0xc415, 0xc416, 0xc417,
    +    0xc418, 0xc419, 0xc41a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc41b, 0xc41c, 0xc41d, 0xc41e, 0xc41f, 0xc420, 0xc421,
    +    0xc422, 0xc423, 0xc425, 0xc426, 0xc427, 0xc428, 0xc429, 0xc42a,
    +    0xc42b, 0xc42d, 0xc42e, 0xc42f, 0xc431, 0xc432, 0xc433, 0xc435,
    +    0xc436, 0xc437, 0xc438, 0xc439, 0xc43a, 0xc43b, 0xc43e, 0xc43f,
    +    0xc440, 0xc441, 0xc442, 0xc443, 0xc444, 0xc445, 0xc446, 0xc447,
    +    0xc449, 0xc44a, 0xc44b, 0xc44c, 0xc44d, 0xc44e, 0xc44f, 0xc450,
    +    0xc451, 0xc452, 0xc453, 0xc454, 0xc455, 0xc456, 0xc457, 0xc458,
    +    0xc459, 0xc45a, 0xc45b, 0xc45c, 0xc45d, 0xc45e, 0xc45f, 0xc460,
    +    0xc461, 0xc462, 0xc463, 0xc466, 0xc467, 0xc469, 0xc46a, 0xc46b,
    +    0xc46d, 0xc46e, 0xc46f, 0xc470, 0xc471, 0xc472, 0xc473, 0xc476,
    +    0xc477, 0xc478, 0xc47a, 0xc47b, 0xc47c, 0xc47d, 0xc47e, 0xc47f,
    +    0xc481, 0xc482, 0xc483, 0xc484, 0xc485, 0xc486, 0xc487, 0xc488,
    +    0xc489, 0xc48a, 0xc48b, 0xc48c, 0xc48d, 0xc48e, 0xc48f, 0xc490,
    +    0xc491, 0xc492, 0xc493, 0xc495, 0xc496, 0xc497, 0xc498, 0xc499,
    +    0xc49a, 0xc49b, 0xc49d, 0xc49e, 0xc49f, 0xc4a0, 0xc4a1, 0xc4a2,
    +    0xc4a3, 0xc4a4, 0xc4a5, 0xc4a6, 0xc4a7, 0xc4a8, 0xc4a9, 0x003f,
    +    /* lead byte 9d */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc4aa, 0xc4ab, 0xc4ac, 0xc4ad, 0xc4ae, 0xc4af, 0xc4b0,
    +    0xc4b1, 0xc4b2, 0xc4b3, 0xc4b4, 0xc4b5, 0xc4b6, 0xc4b7, 0xc4b9,
    +    0xc4ba, 0xc4bb, 0xc4bd, 0xc4be, 0xc4bf, 0xc4c0, 0xc4c1, 0xc4c2,
    +    0xc4c3, 0xc4c4, 0xc4c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc4c6, 0xc4c7, 0xc4c8, 0xc4c9, 0xc4ca, 0xc4cb, 0xc4cc,
    +    0xc4cd, 0xc4ce, 0xc4cf, 0xc4d0, 0xc4d1, 0xc4d2, 0xc4d3, 0xc4d4,
    +    0xc4d5, 0xc4d6, 0xc4d7, 0xc4d8, 0xc4d9, 0xc4da, 0xc4db, 0xc4dc,
    +    0xc4dd, 0xc4de, 0xc4df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc4e0, 0xc4e1, 0xc4e2, 0xc4e3, 0xc4e4, 0xc4e5, 0xc4e6,
    +    0xc4e7, 0xc4e8, 0xc4ea, 0xc4eb, 0xc4ec, 0xc4ed, 0xc4ee, 0xc4ef,
    +    0xc4f2, 0xc4f3, 0xc4f5, 0xc4f6, 0xc4f7, 0xc4f9, 0xc4fb, 0xc4fc,
    +    0xc4fd, 0xc4fe, 0xc502, 0xc503, 0xc504, 0xc505, 0xc506, 0xc507,
    +    0xc508, 0xc509, 0xc50a, 0xc50b, 0xc50d, 0xc50e, 0xc50f, 0xc511,
    +    0xc512, 0xc513, 0xc515, 0xc516, 0xc517, 0xc518, 0xc519, 0xc51a,
    +    0xc51b, 0xc51d, 0xc51e, 0xc51f, 0xc520, 0xc521, 0xc522, 0xc523,
    +    0xc524, 0xc525, 0xc526, 0xc527, 0xc52a, 0xc52b, 0xc52d, 0xc52e,
    +    0xc52f, 0xc531, 0xc532, 0xc533, 0xc534, 0xc535, 0xc536, 0xc537,
    +    0xc53a, 0xc53c, 0xc53e, 0xc53f, 0xc540, 0xc541, 0xc542, 0xc543,
    +    0xc546, 0xc547, 0xc54b, 0xc54f, 0xc550, 0xc551, 0xc552, 0xc556,
    +    0xc55a, 0xc55b, 0xc55c, 0xc55f, 0xc562, 0xc563, 0xc565, 0xc566,
    +    0xc567, 0xc569, 0xc56a, 0xc56b, 0xc56c, 0xc56d, 0xc56e, 0xc56f,
    +    0xc572, 0xc576, 0xc577, 0xc578, 0xc579, 0xc57a, 0xc57b, 0xc57e,
    +    0xc57f, 0xc581, 0xc582, 0xc583, 0xc585, 0xc586, 0xc588, 0xc589,
    +    0xc58a, 0xc58b, 0xc58e, 0xc590, 0xc592, 0xc593, 0xc594, 0x003f,
    +    /* lead byte 9e */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc596, 0xc599, 0xc59a, 0xc59b, 0xc59d, 0xc59e, 0xc59f,
    +    0xc5a1, 0xc5a2, 0xc5a3, 0xc5a4, 0xc5a5, 0xc5a6, 0xc5a7, 0xc5a8,
    +    0xc5aa, 0xc5ab, 0xc5ac, 0xc5ad, 0xc5ae, 0xc5af, 0xc5b0, 0xc5b1,
    +    0xc5b2, 0xc5b3, 0xc5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc5b7, 0xc5ba, 0xc5bf, 0xc5c0, 0xc5c1, 0xc5c2, 0xc5c3,
    +    0xc5cb, 0xc5cd, 0xc5cf, 0xc5d2, 0xc5d3, 0xc5d5, 0xc5d6, 0xc5d7,
    +    0xc5d9, 0xc5da, 0xc5db, 0xc5dc, 0xc5dd, 0xc5de, 0xc5df, 0xc5e2,
    +    0xc5e4, 0xc5e6, 0xc5e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc5e8, 0xc5e9, 0xc5ea, 0xc5eb, 0xc5ef, 0xc5f1, 0xc5f2,
    +    0xc5f3, 0xc5f5, 0xc5f8, 0xc5f9, 0xc5fa, 0xc5fb, 0xc602, 0xc603,
    +    0xc604, 0xc609, 0xc60a, 0xc60b, 0xc60d, 0xc60e, 0xc60f, 0xc611,
    +    0xc612, 0xc613, 0xc614, 0xc615, 0xc616, 0xc617, 0xc61a, 0xc61d,
    +    0xc61e, 0xc61f, 0xc620, 0xc621, 0xc622, 0xc623, 0xc626, 0xc627,
    +    0xc629, 0xc62a, 0xc62b, 0xc62f, 0xc631, 0xc632, 0xc636, 0xc638,
    +    0xc63a, 0xc63c, 0xc63d, 0xc63e, 0xc63f, 0xc642, 0xc643, 0xc645,
    +    0xc646, 0xc647, 0xc649, 0xc64a, 0xc64b, 0xc64c, 0xc64d, 0xc64e,
    +    0xc64f, 0xc652, 0xc656, 0xc657, 0xc658, 0xc659, 0xc65a, 0xc65b,
    +    0xc65e, 0xc65f, 0xc661, 0xc662, 0xc663, 0xc664, 0xc665, 0xc666,
    +    0xc667, 0xc668, 0xc669, 0xc66a, 0xc66b, 0xc66d, 0xc66e, 0xc670,
    +    0xc672, 0xc673, 0xc674, 0xc675, 0xc676, 0xc677, 0xc67a, 0xc67b,
    +    0xc67d, 0xc67e, 0xc67f, 0xc681, 0xc682, 0xc683, 0xc684, 0xc685,
    +    0xc686, 0xc687, 0xc68a, 0xc68c, 0xc68e, 0xc68f, 0xc690, 0xc691,
    +    0xc692, 0xc693, 0xc696, 0xc697, 0xc699, 0xc69a, 0xc69b, 0xc69d,
    +    0xc69e, 0xc69f, 0xc6a0, 0xc6a1, 0xc6a2, 0xc6a3, 0xc6a6, 0x003f,
    +    /* lead byte 9f */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc6a8, 0xc6aa, 0xc6ab, 0xc6ac, 0xc6ad, 0xc6ae, 0xc6af,
    +    0xc6b2, 0xc6b3, 0xc6b5, 0xc6b6, 0xc6b7, 0xc6bb, 0xc6bc, 0xc6bd,
    +    0xc6be, 0xc6bf, 0xc6c2, 0xc6c4, 0xc6c6, 0xc6c7, 0xc6c8, 0xc6c9,
    +    0xc6ca, 0xc6cb, 0xc6ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc6cf, 0xc6d1, 0xc6d2, 0xc6d3, 0xc6d5, 0xc6d6, 0xc6d7,
    +    0xc6d8, 0xc6d9, 0xc6da, 0xc6db, 0xc6de, 0xc6df, 0xc6e2, 0xc6e3,
    +    0xc6e4, 0xc6e5, 0xc6e6, 0xc6e7, 0xc6ea, 0xc6eb, 0xc6ed, 0xc6ee,
    +    0xc6ef, 0xc6f1, 0xc6f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc6f3, 0xc6f4, 0xc6f5, 0xc6f6, 0xc6f7, 0xc6fa, 0xc6fb,
    +    0xc6fc, 0xc6fe, 0xc6ff, 0xc700, 0xc701, 0xc702, 0xc703, 0xc706,
    +    0xc707, 0xc709, 0xc70a, 0xc70b, 0xc70d, 0xc70e, 0xc70f, 0xc710,
    +    0xc711, 0xc712, 0xc713, 0xc716, 0xc718, 0xc71a, 0xc71b, 0xc71c,
    +    0xc71d, 0xc71e, 0xc71f, 0xc722, 0xc723, 0xc725, 0xc726, 0xc727,
    +    0xc729, 0xc72a, 0xc72b, 0xc72c, 0xc72d, 0xc72e, 0xc72f, 0xc732,
    +    0xc734, 0xc736, 0xc738, 0xc739, 0xc73a, 0xc73b, 0xc73e, 0xc73f,
    +    0xc741, 0xc742, 0xc743, 0xc745, 0xc746, 0xc747, 0xc748, 0xc749,
    +    0xc74b, 0xc74e, 0xc750, 0xc759, 0xc75a, 0xc75b, 0xc75d, 0xc75e,
    +    0xc75f, 0xc761, 0xc762, 0xc763, 0xc764, 0xc765, 0xc766, 0xc767,
    +    0xc769, 0xc76a, 0xc76c, 0xc76d, 0xc76e, 0xc76f, 0xc770, 0xc771,
    +    0xc772, 0xc773, 0xc776, 0xc777, 0xc779, 0xc77a, 0xc77b, 0xc77f,
    +    0xc780, 0xc781, 0xc782, 0xc786, 0xc78b, 0xc78c, 0xc78d, 0xc78f,
    +    0xc792, 0xc793, 0xc795, 0xc799, 0xc79b, 0xc79c, 0xc79d, 0xc79e,
    +    0xc79f, 0xc7a2, 0xc7a7, 0xc7a8, 0xc7a9, 0xc7aa, 0xc7ab, 0xc7ae,
    +    0xc7af, 0xc7b1, 0xc7b2, 0xc7b3, 0xc7b5, 0xc7b6, 0xc7b7, 0x003f,
    +    /* lead byte a0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc7b8, 0xc7b9, 0xc7ba, 0xc7bb, 0xc7be, 0xc7c2, 0xc7c3,
    +    0xc7c4, 0xc7c5, 0xc7c6, 0xc7c7, 0xc7ca, 0xc7cb, 0xc7cd, 0xc7cf,
    +    0xc7d1, 0xc7d2, 0xc7d3, 0xc7d4, 0xc7d5, 0xc7d6, 0xc7d7, 0xc7d9,
    +    0xc7da, 0xc7db, 0xc7dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc7de, 0xc7df, 0xc7e0, 0xc7e1, 0xc7e2, 0xc7e3, 0xc7e5,
    +    0xc7e6, 0xc7e7, 0xc7e9, 0xc7ea, 0xc7eb, 0xc7ed, 0xc7ee, 0xc7ef,
    +    0xc7f0, 0xc7f1, 0xc7f2, 0xc7f3, 0xc7f4, 0xc7f5, 0xc7f6, 0xc7f7,
    +    0xc7f8, 0xc7f9, 0xc7fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc7fb, 0xc7fc, 0xc7fd, 0xc7fe, 0xc7ff, 0xc802, 0xc803,
    +    0xc805, 0xc806, 0xc807, 0xc809, 0xc80b, 0xc80c, 0xc80d, 0xc80e,
    +    0xc80f, 0xc812, 0xc814, 0xc817, 0xc818, 0xc819, 0xc81a, 0xc81b,
    +    0xc81e, 0xc81f, 0xc821, 0xc822, 0xc823, 0xc825, 0xc826, 0xc827,
    +    0xc828, 0xc829, 0xc82a, 0xc82b, 0xc82e, 0xc830, 0xc832, 0xc833,
    +    0xc834, 0xc835, 0xc836, 0xc837, 0xc839, 0xc83a, 0xc83b, 0xc83d,
    +    0xc83e, 0xc83f, 0xc841, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846,
    +    0xc847, 0xc84a, 0xc84b, 0xc84e, 0xc84f, 0xc850, 0xc851, 0xc852,
    +    0xc853, 0xc855, 0xc856, 0xc857, 0xc858, 0xc859, 0xc85a, 0xc85b,
    +    0xc85c, 0xc85d, 0xc85e, 0xc85f, 0xc860, 0xc861, 0xc862, 0xc863,
    +    0xc864, 0xc865, 0xc866, 0xc867, 0xc868, 0xc869, 0xc86a, 0xc86b,
    +    0xc86c, 0xc86d, 0xc86e, 0xc86f, 0xc872, 0xc873, 0xc875, 0xc876,
    +    0xc877, 0xc879, 0xc87b, 0xc87c, 0xc87d, 0xc87e, 0xc87f, 0xc882,
    +    0xc884, 0xc888, 0xc889, 0xc88a, 0xc88e, 0xc88f, 0xc890, 0xc891,
    +    0xc892, 0xc893, 0xc895, 0xc896, 0xc897, 0xc898, 0xc899, 0xc89a,
    +    0xc89b, 0xc89c, 0xc89e, 0xc8a0, 0xc8a2, 0xc8a3, 0xc8a4, 0x003f,
    +    /* lead byte a1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc8a5, 0xc8a6, 0xc8a7, 0xc8a9, 0xc8aa, 0xc8ab, 0xc8ac,
    +    0xc8ad, 0xc8ae, 0xc8af, 0xc8b0, 0xc8b1, 0xc8b2, 0xc8b3, 0xc8b4,
    +    0xc8b5, 0xc8b6, 0xc8b7, 0xc8b8, 0xc8b9, 0xc8ba, 0xc8bb, 0xc8be,
    +    0xc8bf, 0xc8c0, 0xc8c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc8c2, 0xc8c3, 0xc8c5, 0xc8c6, 0xc8c7, 0xc8c9, 0xc8ca,
    +    0xc8cb, 0xc8cd, 0xc8ce, 0xc8cf, 0xc8d0, 0xc8d1, 0xc8d2, 0xc8d3,
    +    0xc8d6, 0xc8d8, 0xc8da, 0xc8db, 0xc8dc, 0xc8dd, 0xc8de, 0xc8df,
    +    0xc8e2, 0xc8e3, 0xc8e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc8e6, 0xc8e7, 0xc8e8, 0xc8e9, 0xc8ea, 0xc8eb, 0xc8ec,
    +    0xc8ed, 0xc8ee, 0xc8ef, 0xc8f0, 0xc8f1, 0xc8f2, 0xc8f3, 0xc8f4,
    +    0xc8f6, 0xc8f7, 0xc8f8, 0xc8f9, 0xc8fa, 0xc8fb, 0xc8fe, 0xc8ff,
    +    0xc901, 0xc902, 0xc903, 0xc907, 0xc908, 0xc909, 0xc90a, 0xc90b,
    +    0xc90e, 0x3000, 0x3001, 0x3002, 0x00b7, 0x2025, 0x2026, 0x00a8,
    +    0x3003, 0x00ad, 0x2015, 0x2225, 0xff3c, 0x223c, 0x2018, 0x2019,
    +    0x201c, 0x201d, 0x3014, 0x3015, 0x3008, 0x3009, 0x300a, 0x300b,
    +    0x300c, 0x300d, 0x300e, 0x300f, 0x3010, 0x3011, 0x00b1, 0x00d7,
    +    0x00f7, 0x2260, 0x2264, 0x2265, 0x221e, 0x2234, 0x00b0, 0x2032,
    +    0x2033, 0x2103, 0x212b, 0xffe0, 0xffe1, 0xffe5, 0x2642, 0x2640,
    +    0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x00a7,
    +    0x203b, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6,
    +    0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x2192, 0x2190,
    +    0x2191, 0x2193, 0x2194, 0x3013, 0x226a, 0x226b, 0x221a, 0x223d,
    +    0x221d, 0x2235, 0x222b, 0x222c, 0x2208, 0x220b, 0x2286, 0x2287,
    +    0x2282, 0x2283, 0x222a, 0x2229, 0x2227, 0x2228, 0xffe2, 0x003f,
    +    /* lead byte a2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc910, 0xc912, 0xc913, 0xc914, 0xc915, 0xc916, 0xc917,
    +    0xc919, 0xc91a, 0xc91b, 0xc91c, 0xc91d, 0xc91e, 0xc91f, 0xc920,
    +    0xc921, 0xc922, 0xc923, 0xc924, 0xc925, 0xc926, 0xc927, 0xc928,
    +    0xc929, 0xc92a, 0xc92b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc92d, 0xc92e, 0xc92f, 0xc930, 0xc931, 0xc932, 0xc933,
    +    0xc935, 0xc936, 0xc937, 0xc938, 0xc939, 0xc93a, 0xc93b, 0xc93c,
    +    0xc93d, 0xc93e, 0xc93f, 0xc940, 0xc941, 0xc942, 0xc943, 0xc944,
    +    0xc945, 0xc946, 0xc947, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc948, 0xc949, 0xc94a, 0xc94b, 0xc94c, 0xc94d, 0xc94e,
    +    0xc94f, 0xc952, 0xc953, 0xc955, 0xc956, 0xc957, 0xc959, 0xc95a,
    +    0xc95b, 0xc95c, 0xc95d, 0xc95e, 0xc95f, 0xc962, 0xc964, 0xc965,
    +    0xc966, 0xc967, 0xc968, 0xc969, 0xc96a, 0xc96b, 0xc96d, 0xc96e,
    +    0xc96f, 0x21d2, 0x21d4, 0x2200, 0x2203, 0x00b4, 0xff5e, 0x02c7,
    +    0x02d8, 0x02dd, 0x02da, 0x02d9, 0x00b8, 0x02db, 0x00a1, 0x00bf,
    +    0x02d0, 0x222e, 0x2211, 0x220f, 0x00a4, 0x2109, 0x2030, 0x25c1,
    +    0x25c0, 0x25b7, 0x25b6, 0x2664, 0x2660, 0x2661, 0x2665, 0x2667,
    +    0x2663, 0x2299, 0x25c8, 0x25a3, 0x25d0, 0x25d1, 0x2592, 0x25a4,
    +    0x25a5, 0x25a8, 0x25a7, 0x25a6, 0x25a9, 0x2668, 0x260f, 0x260e,
    +    0x261c, 0x261e, 0x00b6, 0x2020, 0x2021, 0x2195, 0x2197, 0x2199,
    +    0x2196, 0x2198, 0x266d, 0x2669, 0x266a, 0x266c, 0x327f, 0x321c,
    +    0x2116, 0x33c7, 0x2122, 0x33c2, 0x33d8, 0x2121, 0x20ac, 0x00ae,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc971, 0xc972, 0xc973, 0xc975, 0xc976, 0xc977, 0xc978,
    +    0xc979, 0xc97a, 0xc97b, 0xc97d, 0xc97e, 0xc97f, 0xc980, 0xc981,
    +    0xc982, 0xc983, 0xc984, 0xc985, 0xc986, 0xc987, 0xc98a, 0xc98b,
    +    0xc98d, 0xc98e, 0xc98f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc991, 0xc992, 0xc993, 0xc994, 0xc995, 0xc996, 0xc997,
    +    0xc99a, 0xc99c, 0xc99e, 0xc99f, 0xc9a0, 0xc9a1, 0xc9a2, 0xc9a3,
    +    0xc9a4, 0xc9a5, 0xc9a6, 0xc9a7, 0xc9a8, 0xc9a9, 0xc9aa, 0xc9ab,
    +    0xc9ac, 0xc9ad, 0xc9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc9af, 0xc9b0, 0xc9b1, 0xc9b2, 0xc9b3, 0xc9b4, 0xc9b5,
    +    0xc9b6, 0xc9b7, 0xc9b8, 0xc9b9, 0xc9ba, 0xc9bb, 0xc9bc, 0xc9bd,
    +    0xc9be, 0xc9bf, 0xc9c2, 0xc9c3, 0xc9c5, 0xc9c6, 0xc9c9, 0xc9cb,
    +    0xc9cc, 0xc9cd, 0xc9ce, 0xc9cf, 0xc9d2, 0xc9d4, 0xc9d7, 0xc9d8,
    +    0xc9db, 0xff01, 0xff02, 0xff03, 0xff04, 0xff05, 0xff06, 0xff07,
    +    0xff08, 0xff09, 0xff0a, 0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f,
    +    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,
    +    0xff18, 0xff19, 0xff1a, 0xff1b, 0xff1c, 0xff1d, 0xff1e, 0xff1f,
    +    0xff20, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,
    +    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,
    +    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
    +    0xff38, 0xff39, 0xff3a, 0xff3b, 0xffe6, 0xff3d, 0xff3e, 0xff3f,
    +    0xff40, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    +    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    +    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,
    +    0xff58, 0xff59, 0xff5a, 0xff5b, 0xff5c, 0xff5d, 0xffe3, 0x003f,
    +    /* lead byte a4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc9de, 0xc9df, 0xc9e1, 0xc9e3, 0xc9e5, 0xc9e6, 0xc9e8,
    +    0xc9e9, 0xc9ea, 0xc9eb, 0xc9ee, 0xc9f2, 0xc9f3, 0xc9f4, 0xc9f5,
    +    0xc9f6, 0xc9f7, 0xc9fa, 0xc9fb, 0xc9fd, 0xc9fe, 0xc9ff, 0xca01,
    +    0xca02, 0xca03, 0xca04, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xca05, 0xca06, 0xca07, 0xca0a, 0xca0e, 0xca0f, 0xca10,
    +    0xca11, 0xca12, 0xca13, 0xca15, 0xca16, 0xca17, 0xca19, 0xca1a,
    +    0xca1b, 0xca1c, 0xca1d, 0xca1e, 0xca1f, 0xca20, 0xca21, 0xca22,
    +    0xca23, 0xca24, 0xca25, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xca26, 0xca27, 0xca28, 0xca2a, 0xca2b, 0xca2c, 0xca2d,
    +    0xca2e, 0xca2f, 0xca30, 0xca31, 0xca32, 0xca33, 0xca34, 0xca35,
    +    0xca36, 0xca37, 0xca38, 0xca39, 0xca3a, 0xca3b, 0xca3c, 0xca3d,
    +    0xca3e, 0xca3f, 0xca40, 0xca41, 0xca42, 0xca43, 0xca44, 0xca45,
    +    0xca46, 0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136, 0x3137,
    +    0x3138, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d, 0x313e, 0x313f,
    +    0x3140, 0x3141, 0x3142, 0x3143, 0x3144, 0x3145, 0x3146, 0x3147,
    +    0x3148, 0x3149, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e, 0x314f,
    +    0x3150, 0x3151, 0x3152, 0x3153, 0x3154, 0x3155, 0x3156, 0x3157,
    +    0x3158, 0x3159, 0x315a, 0x315b, 0x315c, 0x315d, 0x315e, 0x315f,
    +    0x3160, 0x3161, 0x3162, 0x3163, 0x3164, 0x3165, 0x3166, 0x3167,
    +    0x3168, 0x3169, 0x316a, 0x316b, 0x316c, 0x316d, 0x316e, 0x316f,
    +    0x3170, 0x3171, 0x3172, 0x3173, 0x3174, 0x3175, 0x3176, 0x3177,
    +    0x3178, 0x3179, 0x317a, 0x317b, 0x317c, 0x317d, 0x317e, 0x317f,
    +    0x3180, 0x3181, 0x3182, 0x3183, 0x3184, 0x3185, 0x3186, 0x3187,
    +    0x3188, 0x3189, 0x318a, 0x318b, 0x318c, 0x318d, 0x318e, 0x003f,
    +    /* lead byte a5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xca47, 0xca48, 0xca49, 0xca4a, 0xca4b, 0xca4e, 0xca4f,
    +    0xca51, 0xca52, 0xca53, 0xca55, 0xca56, 0xca57, 0xca58, 0xca59,
    +    0xca5a, 0xca5b, 0xca5e, 0xca62, 0xca63, 0xca64, 0xca65, 0xca66,
    +    0xca67, 0xca69, 0xca6a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xca6b, 0xca6c, 0xca6d, 0xca6e, 0xca6f, 0xca70, 0xca71,
    +    0xca72, 0xca73, 0xca74, 0xca75, 0xca76, 0xca77, 0xca78, 0xca79,
    +    0xca7a, 0xca7b, 0xca7c, 0xca7e, 0xca7f, 0xca80, 0xca81, 0xca82,
    +    0xca83, 0xca85, 0xca86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xca87, 0xca88, 0xca89, 0xca8a, 0xca8b, 0xca8c, 0xca8d,
    +    0xca8e, 0xca8f, 0xca90, 0xca91, 0xca92, 0xca93, 0xca94, 0xca95,
    +    0xca96, 0xca97, 0xca99, 0xca9a, 0xca9b, 0xca9c, 0xca9d, 0xca9e,
    +    0xca9f, 0xcaa0, 0xcaa1, 0xcaa2, 0xcaa3, 0xcaa4, 0xcaa5, 0xcaa6,
    +    0xcaa7, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176,
    +    0x2177, 0x2178, 0x2179, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167,
    +    0x2168, 0x2169, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
    +    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
    +    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,
    +    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
    +    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
    +    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,
    +    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcaa8, 0xcaa9, 0xcaaa, 0xcaab, 0xcaac, 0xcaad, 0xcaae,
    +    0xcaaf, 0xcab0, 0xcab1, 0xcab2, 0xcab3, 0xcab4, 0xcab5, 0xcab6,
    +    0xcab7, 0xcab8, 0xcab9, 0xcaba, 0xcabb, 0xcabe, 0xcabf, 0xcac1,
    +    0xcac2, 0xcac3, 0xcac5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcac6, 0xcac7, 0xcac8, 0xcac9, 0xcaca, 0xcacb, 0xcace,
    +    0xcad0, 0xcad2, 0xcad4, 0xcad5, 0xcad6, 0xcad7, 0xcada, 0xcadb,
    +    0xcadc, 0xcadd, 0xcade, 0xcadf, 0xcae1, 0xcae2, 0xcae3, 0xcae4,
    +    0xcae5, 0xcae6, 0xcae7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcae8, 0xcae9, 0xcaea, 0xcaeb, 0xcaed, 0xcaee, 0xcaef,
    +    0xcaf0, 0xcaf1, 0xcaf2, 0xcaf3, 0xcaf5, 0xcaf6, 0xcaf7, 0xcaf8,
    +    0xcaf9, 0xcafa, 0xcafb, 0xcafc, 0xcafd, 0xcafe, 0xcaff, 0xcb00,
    +    0xcb01, 0xcb02, 0xcb03, 0xcb04, 0xcb05, 0xcb06, 0xcb07, 0xcb09,
    +    0xcb0a, 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c,
    +    0x252c, 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513,
    +    0x251b, 0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520,
    +    0x252f, 0x2528, 0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538,
    +    0x2542, 0x2512, 0x2511, 0x251a, 0x2519, 0x2516, 0x2515, 0x250e,
    +    0x250d, 0x251e, 0x251f, 0x2521, 0x2522, 0x2526, 0x2527, 0x2529,
    +    0x252a, 0x252d, 0x252e, 0x2531, 0x2532, 0x2535, 0x2536, 0x2539,
    +    0x253a, 0x253d, 0x253e, 0x2540, 0x2541, 0x2543, 0x2544, 0x2545,
    +    0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcb0b, 0xcb0c, 0xcb0d, 0xcb0e, 0xcb0f, 0xcb11, 0xcb12,
    +    0xcb13, 0xcb15, 0xcb16, 0xcb17, 0xcb19, 0xcb1a, 0xcb1b, 0xcb1c,
    +    0xcb1d, 0xcb1e, 0xcb1f, 0xcb22, 0xcb23, 0xcb24, 0xcb25, 0xcb26,
    +    0xcb27, 0xcb28, 0xcb29, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcb2a, 0xcb2b, 0xcb2c, 0xcb2d, 0xcb2e, 0xcb2f, 0xcb30,
    +    0xcb31, 0xcb32, 0xcb33, 0xcb34, 0xcb35, 0xcb36, 0xcb37, 0xcb38,
    +    0xcb39, 0xcb3a, 0xcb3b, 0xcb3c, 0xcb3d, 0xcb3e, 0xcb3f, 0xcb40,
    +    0xcb42, 0xcb43, 0xcb44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcb45, 0xcb46, 0xcb47, 0xcb4a, 0xcb4b, 0xcb4d, 0xcb4e,
    +    0xcb4f, 0xcb51, 0xcb52, 0xcb53, 0xcb54, 0xcb55, 0xcb56, 0xcb57,
    +    0xcb5a, 0xcb5b, 0xcb5c, 0xcb5e, 0xcb5f, 0xcb60, 0xcb61, 0xcb62,
    +    0xcb63, 0xcb65, 0xcb66, 0xcb67, 0xcb68, 0xcb69, 0xcb6a, 0xcb6b,
    +    0xcb6c, 0x3395, 0x3396, 0x3397, 0x2113, 0x3398, 0x33c4, 0x33a3,
    +    0x33a4, 0x33a5, 0x33a6, 0x3399, 0x339a, 0x339b, 0x339c, 0x339d,
    +    0x339e, 0x339f, 0x33a0, 0x33a1, 0x33a2, 0x33ca, 0x338d, 0x338e,
    +    0x338f, 0x33cf, 0x3388, 0x3389, 0x33c8, 0x33a7, 0x33a8, 0x33b0,
    +    0x33b1, 0x33b2, 0x33b3, 0x33b4, 0x33b5, 0x33b6, 0x33b7, 0x33b8,
    +    0x33b9, 0x3380, 0x3381, 0x3382, 0x3383, 0x3384, 0x33ba, 0x33bb,
    +    0x33bc, 0x33bd, 0x33be, 0x33bf, 0x3390, 0x3391, 0x3392, 0x3393,
    +    0x3394, 0x2126, 0x33c0, 0x33c1, 0x338a, 0x338b, 0x338c, 0x33d6,
    +    0x33c5, 0x33ad, 0x33ae, 0x33af, 0x33db, 0x33a9, 0x33aa, 0x33ab,
    +    0x33ac, 0x33dd, 0x33d0, 0x33d3, 0x33c3, 0x33c9, 0x33dc, 0x33c6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcb6d, 0xcb6e, 0xcb6f, 0xcb70, 0xcb71, 0xcb72, 0xcb73,
    +    0xcb74, 0xcb75, 0xcb76, 0xcb77, 0xcb7a, 0xcb7b, 0xcb7c, 0xcb7d,
    +    0xcb7e, 0xcb7f, 0xcb80, 0xcb81, 0xcb82, 0xcb83, 0xcb84, 0xcb85,
    +    0xcb86, 0xcb87, 0xcb88, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcb89, 0xcb8a, 0xcb8b, 0xcb8c, 0xcb8d, 0xcb8e, 0xcb8f,
    +    0xcb90, 0xcb91, 0xcb92, 0xcb93, 0xcb94, 0xcb95, 0xcb96, 0xcb97,
    +    0xcb98, 0xcb99, 0xcb9a, 0xcb9b, 0xcb9d, 0xcb9e, 0xcb9f, 0xcba0,
    +    0xcba1, 0xcba2, 0xcba3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcba4, 0xcba5, 0xcba6, 0xcba7, 0xcba8, 0xcba9, 0xcbaa,
    +    0xcbab, 0xcbac, 0xcbad, 0xcbae, 0xcbaf, 0xcbb0, 0xcbb1, 0xcbb2,
    +    0xcbb3, 0xcbb4, 0xcbb5, 0xcbb6, 0xcbb7, 0xcbb9, 0xcbba, 0xcbbb,
    +    0xcbbc, 0xcbbd, 0xcbbe, 0xcbbf, 0xcbc0, 0xcbc1, 0xcbc2, 0xcbc3,
    +    0xcbc4, 0x00c6, 0x00d0, 0x00aa, 0x0126, 0x003f, 0x0132, 0x003f,
    +    0x013f, 0x0141, 0x00d8, 0x0152, 0x00ba, 0x00de, 0x0166, 0x014a,
    +    0x003f, 0x3260, 0x3261, 0x3262, 0x3263, 0x3264, 0x3265, 0x3266,
    +    0x3267, 0x3268, 0x3269, 0x326a, 0x326b, 0x326c, 0x326d, 0x326e,
    +    0x326f, 0x3270, 0x3271, 0x3272, 0x3273, 0x3274, 0x3275, 0x3276,
    +    0x3277, 0x3278, 0x3279, 0x327a, 0x327b, 0x24d0, 0x24d1, 0x24d2,
    +    0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8, 0x24d9, 0x24da,
    +    0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1, 0x24e2,
    +    0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, 0x2460,
    +    0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468,
    +    0x2469, 0x246a, 0x246b, 0x246c, 0x246d, 0x246e, 0x00bd, 0x2153,
    +    0x2154, 0x00bc, 0x00be, 0x215b, 0x215c, 0x215d, 0x215e, 0x003f,
    +    /* lead byte a9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcbc5, 0xcbc6, 0xcbc7, 0xcbc8, 0xcbc9, 0xcbca, 0xcbcb,
    +    0xcbcc, 0xcbcd, 0xcbce, 0xcbcf, 0xcbd0, 0xcbd1, 0xcbd2, 0xcbd3,
    +    0xcbd5, 0xcbd6, 0xcbd7, 0xcbd8, 0xcbd9, 0xcbda, 0xcbdb, 0xcbdc,
    +    0xcbdd, 0xcbde, 0xcbdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcbe0, 0xcbe1, 0xcbe2, 0xcbe3, 0xcbe5, 0xcbe6, 0xcbe8,
    +    0xcbea, 0xcbeb, 0xcbec, 0xcbed, 0xcbee, 0xcbef, 0xcbf0, 0xcbf1,
    +    0xcbf2, 0xcbf3, 0xcbf4, 0xcbf5, 0xcbf6, 0xcbf7, 0xcbf8, 0xcbf9,
    +    0xcbfa, 0xcbfb, 0xcbfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcbfd, 0xcbfe, 0xcbff, 0xcc00, 0xcc01, 0xcc02, 0xcc03,
    +    0xcc04, 0xcc05, 0xcc06, 0xcc07, 0xcc08, 0xcc09, 0xcc0a, 0xcc0b,
    +    0xcc0e, 0xcc0f, 0xcc11, 0xcc12, 0xcc13, 0xcc15, 0xcc16, 0xcc17,
    +    0xcc18, 0xcc19, 0xcc1a, 0xcc1b, 0xcc1e, 0xcc1f, 0xcc20, 0xcc23,
    +    0xcc24, 0x00e6, 0x0111, 0x00f0, 0x0127, 0x0131, 0x0133, 0x0138,
    +    0x0140, 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x0167, 0x014b,
    +    0x0149, 0x3200, 0x3201, 0x3202, 0x3203, 0x3204, 0x3205, 0x3206,
    +    0x3207, 0x3208, 0x3209, 0x320a, 0x320b, 0x320c, 0x320d, 0x320e,
    +    0x320f, 0x3210, 0x3211, 0x3212, 0x3213, 0x3214, 0x3215, 0x3216,
    +    0x3217, 0x3218, 0x3219, 0x321a, 0x321b, 0x249c, 0x249d, 0x249e,
    +    0x249f, 0x24a0, 0x24a1, 0x24a2, 0x24a3, 0x24a4, 0x24a5, 0x24a6,
    +    0x24a7, 0x24a8, 0x24a9, 0x24aa, 0x24ab, 0x24ac, 0x24ad, 0x24ae,
    +    0x24af, 0x24b0, 0x24b1, 0x24b2, 0x24b3, 0x24b4, 0x24b5, 0x2474,
    +    0x2475, 0x2476, 0x2477, 0x2478, 0x2479, 0x247a, 0x247b, 0x247c,
    +    0x247d, 0x247e, 0x247f, 0x2480, 0x2481, 0x2482, 0x00b9, 0x00b2,
    +    0x00b3, 0x2074, 0x207f, 0x2081, 0x2082, 0x2083, 0x2084, 0x003f,
    +    /* lead byte aa */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcc25, 0xcc26, 0xcc2a, 0xcc2b, 0xcc2d, 0xcc2f, 0xcc31,
    +    0xcc32, 0xcc33, 0xcc34, 0xcc35, 0xcc36, 0xcc37, 0xcc3a, 0xcc3f,
    +    0xcc40, 0xcc41, 0xcc42, 0xcc43, 0xcc46, 0xcc47, 0xcc49, 0xcc4a,
    +    0xcc4b, 0xcc4d, 0xcc4e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcc4f, 0xcc50, 0xcc51, 0xcc52, 0xcc53, 0xcc56, 0xcc5a,
    +    0xcc5b, 0xcc5c, 0xcc5d, 0xcc5e, 0xcc5f, 0xcc61, 0xcc62, 0xcc63,
    +    0xcc65, 0xcc67, 0xcc69, 0xcc6a, 0xcc6b, 0xcc6c, 0xcc6d, 0xcc6e,
    +    0xcc6f, 0xcc71, 0xcc72, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcc73, 0xcc74, 0xcc76, 0xcc77, 0xcc78, 0xcc79, 0xcc7a,
    +    0xcc7b, 0xcc7c, 0xcc7d, 0xcc7e, 0xcc7f, 0xcc80, 0xcc81, 0xcc82,
    +    0xcc83, 0xcc84, 0xcc85, 0xcc86, 0xcc87, 0xcc88, 0xcc89, 0xcc8a,
    +    0xcc8b, 0xcc8c, 0xcc8d, 0xcc8e, 0xcc8f, 0xcc90, 0xcc91, 0xcc92,
    +    0xcc93, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,
    +    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,
    +    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,
    +    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,
    +    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,
    +    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,
    +    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,
    +    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
    +    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,
    +    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,
    +    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ab */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcc94, 0xcc95, 0xcc96, 0xcc97, 0xcc9a, 0xcc9b, 0xcc9d,
    +    0xcc9e, 0xcc9f, 0xcca1, 0xcca2, 0xcca3, 0xcca4, 0xcca5, 0xcca6,
    +    0xcca7, 0xccaa, 0xccae, 0xccaf, 0xccb0, 0xccb1, 0xccb2, 0xccb3,
    +    0xccb6, 0xccb7, 0xccb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccba, 0xccbb, 0xccbd, 0xccbe, 0xccbf, 0xccc0, 0xccc1,
    +    0xccc2, 0xccc3, 0xccc6, 0xccc8, 0xccca, 0xcccb, 0xcccc, 0xcccd,
    +    0xccce, 0xcccf, 0xccd1, 0xccd2, 0xccd3, 0xccd5, 0xccd6, 0xccd7,
    +    0xccd8, 0xccd9, 0xccda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccdb, 0xccdc, 0xccdd, 0xccde, 0xccdf, 0xcce0, 0xcce1,
    +    0xcce2, 0xcce3, 0xcce5, 0xcce6, 0xcce7, 0xcce8, 0xcce9, 0xccea,
    +    0xcceb, 0xcced, 0xccee, 0xccef, 0xccf1, 0xccf2, 0xccf3, 0xccf4,
    +    0xccf5, 0xccf6, 0xccf7, 0xccf8, 0xccf9, 0xccfa, 0xccfb, 0xccfc,
    +    0xccfd, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,
    +    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,
    +    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,
    +    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,
    +    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,
    +    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,
    +    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,
    +    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,
    +    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,
    +    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,
    +    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ac */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccfe, 0xccff, 0xcd00, 0xcd02, 0xcd03, 0xcd04, 0xcd05,
    +    0xcd06, 0xcd07, 0xcd0a, 0xcd0b, 0xcd0d, 0xcd0e, 0xcd0f, 0xcd11,
    +    0xcd12, 0xcd13, 0xcd14, 0xcd15, 0xcd16, 0xcd17, 0xcd1a, 0xcd1c,
    +    0xcd1e, 0xcd1f, 0xcd20, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcd21, 0xcd22, 0xcd23, 0xcd25, 0xcd26, 0xcd27, 0xcd29,
    +    0xcd2a, 0xcd2b, 0xcd2d, 0xcd2e, 0xcd2f, 0xcd30, 0xcd31, 0xcd32,
    +    0xcd33, 0xcd34, 0xcd35, 0xcd36, 0xcd37, 0xcd38, 0xcd3a, 0xcd3b,
    +    0xcd3c, 0xcd3d, 0xcd3e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcd3f, 0xcd40, 0xcd41, 0xcd42, 0xcd43, 0xcd44, 0xcd45,
    +    0xcd46, 0xcd47, 0xcd48, 0xcd49, 0xcd4a, 0xcd4b, 0xcd4c, 0xcd4d,
    +    0xcd4e, 0xcd4f, 0xcd50, 0xcd51, 0xcd52, 0xcd53, 0xcd54, 0xcd55,
    +    0xcd56, 0xcd57, 0xcd58, 0xcd59, 0xcd5a, 0xcd5b, 0xcd5d, 0xcd5e,
    +    0xcd5f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,
    +    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,
    +    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,
    +    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,
    +    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,
    +    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,
    +    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,
    +    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,
    +    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ad */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcd61, 0xcd62, 0xcd63, 0xcd65, 0xcd66, 0xcd67, 0xcd68,
    +    0xcd69, 0xcd6a, 0xcd6b, 0xcd6e, 0xcd70, 0xcd72, 0xcd73, 0xcd74,
    +    0xcd75, 0xcd76, 0xcd77, 0xcd79, 0xcd7a, 0xcd7b, 0xcd7c, 0xcd7d,
    +    0xcd7e, 0xcd7f, 0xcd80, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcd81, 0xcd82, 0xcd83, 0xcd84, 0xcd85, 0xcd86, 0xcd87,
    +    0xcd89, 0xcd8a, 0xcd8b, 0xcd8c, 0xcd8d, 0xcd8e, 0xcd8f, 0xcd90,
    +    0xcd91, 0xcd92, 0xcd93, 0xcd96, 0xcd97, 0xcd99, 0xcd9a, 0xcd9b,
    +    0xcd9d, 0xcd9e, 0xcd9f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcda0, 0xcda1, 0xcda2, 0xcda3, 0xcda6, 0xcda8, 0xcdaa,
    +    0xcdab, 0xcdac, 0xcdad, 0xcdae, 0xcdaf, 0xcdb1, 0xcdb2, 0xcdb3,
    +    0xcdb4, 0xcdb5, 0xcdb6, 0xcdb7, 0xcdb8, 0xcdb9, 0xcdba, 0xcdbb,
    +    0xcdbc, 0xcdbd, 0xcdbe, 0xcdbf, 0xcdc0, 0xcdc1, 0xcdc2, 0xcdc3,
    +    0xcdc5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte ae */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdc6, 0xcdc7, 0xcdc8, 0xcdc9, 0xcdca, 0xcdcb, 0xcdcd,
    +    0xcdce, 0xcdcf, 0xcdd1, 0xcdd2, 0xcdd3, 0xcdd4, 0xcdd5, 0xcdd6,
    +    0xcdd7, 0xcdd8, 0xcdd9, 0xcdda, 0xcddb, 0xcddc, 0xcddd, 0xcdde,
    +    0xcddf, 0xcde0, 0xcde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcde2, 0xcde3, 0xcde4, 0xcde5, 0xcde6, 0xcde7, 0xcde9,
    +    0xcdea, 0xcdeb, 0xcded, 0xcdee, 0xcdef, 0xcdf1, 0xcdf2, 0xcdf3,
    +    0xcdf4, 0xcdf5, 0xcdf6, 0xcdf7, 0xcdfa, 0xcdfc, 0xcdfe, 0xcdff,
    +    0xce00, 0xce01, 0xce02, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xce03, 0xce05, 0xce06, 0xce07, 0xce09, 0xce0a, 0xce0b,
    +    0xce0d, 0xce0e, 0xce0f, 0xce10, 0xce11, 0xce12, 0xce13, 0xce15,
    +    0xce16, 0xce17, 0xce18, 0xce1a, 0xce1b, 0xce1c, 0xce1d, 0xce1e,
    +    0xce1f, 0xce22, 0xce23, 0xce25, 0xce26, 0xce27, 0xce29, 0xce2a,
    +    0xce2b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte af */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xce2c, 0xce2d, 0xce2e, 0xce2f, 0xce32, 0xce34, 0xce36,
    +    0xce37, 0xce38, 0xce39, 0xce3a, 0xce3b, 0xce3c, 0xce3d, 0xce3e,
    +    0xce3f, 0xce40, 0xce41, 0xce42, 0xce43, 0xce44, 0xce45, 0xce46,
    +    0xce47, 0xce48, 0xce49, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xce4a, 0xce4b, 0xce4c, 0xce4d, 0xce4e, 0xce4f, 0xce50,
    +    0xce51, 0xce52, 0xce53, 0xce54, 0xce55, 0xce56, 0xce57, 0xce5a,
    +    0xce5b, 0xce5d, 0xce5e, 0xce62, 0xce63, 0xce64, 0xce65, 0xce66,
    +    0xce67, 0xce6a, 0xce6c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xce6e, 0xce6f, 0xce70, 0xce71, 0xce72, 0xce73, 0xce76,
    +    0xce77, 0xce79, 0xce7a, 0xce7b, 0xce7d, 0xce7e, 0xce7f, 0xce80,
    +    0xce81, 0xce82, 0xce83, 0xce86, 0xce88, 0xce8a, 0xce8b, 0xce8c,
    +    0xce8d, 0xce8e, 0xce8f, 0xce92, 0xce93, 0xce95, 0xce96, 0xce97,
    +    0xce99, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte b0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xce9a, 0xce9b, 0xce9c, 0xce9d, 0xce9e, 0xce9f, 0xcea2,
    +    0xcea6, 0xcea7, 0xcea8, 0xcea9, 0xceaa, 0xceab, 0xceae, 0xceaf,
    +    0xceb0, 0xceb1, 0xceb2, 0xceb3, 0xceb4, 0xceb5, 0xceb6, 0xceb7,
    +    0xceb8, 0xceb9, 0xceba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcebb, 0xcebc, 0xcebd, 0xcebe, 0xcebf, 0xcec0, 0xcec2,
    +    0xcec3, 0xcec4, 0xcec5, 0xcec6, 0xcec7, 0xcec8, 0xcec9, 0xceca,
    +    0xcecb, 0xcecc, 0xcecd, 0xcece, 0xcecf, 0xced0, 0xced1, 0xced2,
    +    0xced3, 0xced4, 0xced5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xced6, 0xced7, 0xced8, 0xced9, 0xceda, 0xcedb, 0xcedc,
    +    0xcedd, 0xcede, 0xcedf, 0xcee0, 0xcee1, 0xcee2, 0xcee3, 0xcee6,
    +    0xcee7, 0xcee9, 0xceea, 0xceed, 0xceee, 0xceef, 0xcef0, 0xcef1,
    +    0xcef2, 0xcef3, 0xcef6, 0xcefa, 0xcefb, 0xcefc, 0xcefd, 0xcefe,
    +    0xceff, 0xac00, 0xac01, 0xac04, 0xac07, 0xac08, 0xac09, 0xac0a,
    +    0xac10, 0xac11, 0xac12, 0xac13, 0xac14, 0xac15, 0xac16, 0xac17,
    +    0xac19, 0xac1a, 0xac1b, 0xac1c, 0xac1d, 0xac20, 0xac24, 0xac2c,
    +    0xac2d, 0xac2f, 0xac30, 0xac31, 0xac38, 0xac39, 0xac3c, 0xac40,
    +    0xac4b, 0xac4d, 0xac54, 0xac58, 0xac5c, 0xac70, 0xac71, 0xac74,
    +    0xac77, 0xac78, 0xac7a, 0xac80, 0xac81, 0xac83, 0xac84, 0xac85,
    +    0xac86, 0xac89, 0xac8a, 0xac8b, 0xac8c, 0xac90, 0xac94, 0xac9c,
    +    0xac9d, 0xac9f, 0xaca0, 0xaca1, 0xaca8, 0xaca9, 0xacaa, 0xacac,
    +    0xacaf, 0xacb0, 0xacb8, 0xacb9, 0xacbb, 0xacbc, 0xacbd, 0xacc1,
    +    0xacc4, 0xacc8, 0xaccc, 0xacd5, 0xacd7, 0xace0, 0xace1, 0xace4,
    +    0xace7, 0xace8, 0xacea, 0xacec, 0xacef, 0xacf0, 0xacf1, 0xacf3,
    +    0xacf5, 0xacf6, 0xacfc, 0xacfd, 0xad00, 0xad04, 0xad06, 0x003f,
    +    /* lead byte b1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcf02, 0xcf03, 0xcf05, 0xcf06, 0xcf07, 0xcf09, 0xcf0a,
    +    0xcf0b, 0xcf0c, 0xcf0d, 0xcf0e, 0xcf0f, 0xcf12, 0xcf14, 0xcf16,
    +    0xcf17, 0xcf18, 0xcf19, 0xcf1a, 0xcf1b, 0xcf1d, 0xcf1e, 0xcf1f,
    +    0xcf21, 0xcf22, 0xcf23, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcf25, 0xcf26, 0xcf27, 0xcf28, 0xcf29, 0xcf2a, 0xcf2b,
    +    0xcf2e, 0xcf32, 0xcf33, 0xcf34, 0xcf35, 0xcf36, 0xcf37, 0xcf39,
    +    0xcf3a, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf3f, 0xcf40, 0xcf41,
    +    0xcf42, 0xcf43, 0xcf44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcf45, 0xcf46, 0xcf47, 0xcf48, 0xcf49, 0xcf4a, 0xcf4b,
    +    0xcf4c, 0xcf4d, 0xcf4e, 0xcf4f, 0xcf50, 0xcf51, 0xcf52, 0xcf53,
    +    0xcf56, 0xcf57, 0xcf59, 0xcf5a, 0xcf5b, 0xcf5d, 0xcf5e, 0xcf5f,
    +    0xcf60, 0xcf61, 0xcf62, 0xcf63, 0xcf66, 0xcf68, 0xcf6a, 0xcf6b,
    +    0xcf6c, 0xad0c, 0xad0d, 0xad0f, 0xad11, 0xad18, 0xad1c, 0xad20,
    +    0xad29, 0xad2c, 0xad2d, 0xad34, 0xad35, 0xad38, 0xad3c, 0xad44,
    +    0xad45, 0xad47, 0xad49, 0xad50, 0xad54, 0xad58, 0xad61, 0xad63,
    +    0xad6c, 0xad6d, 0xad70, 0xad73, 0xad74, 0xad75, 0xad76, 0xad7b,
    +    0xad7c, 0xad7d, 0xad7f, 0xad81, 0xad82, 0xad88, 0xad89, 0xad8c,
    +    0xad90, 0xad9c, 0xad9d, 0xada4, 0xadb7, 0xadc0, 0xadc1, 0xadc4,
    +    0xadc8, 0xadd0, 0xadd1, 0xadd3, 0xaddc, 0xade0, 0xade4, 0xadf8,
    +    0xadf9, 0xadfc, 0xadff, 0xae00, 0xae01, 0xae08, 0xae09, 0xae0b,
    +    0xae0d, 0xae14, 0xae30, 0xae31, 0xae34, 0xae37, 0xae38, 0xae3a,
    +    0xae40, 0xae41, 0xae43, 0xae45, 0xae46, 0xae4a, 0xae4c, 0xae4d,
    +    0xae4e, 0xae50, 0xae54, 0xae56, 0xae5c, 0xae5d, 0xae5f, 0xae60,
    +    0xae61, 0xae65, 0xae68, 0xae69, 0xae6c, 0xae70, 0xae78, 0x003f,
    +    /* lead byte b2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcf6d, 0xcf6e, 0xcf6f, 0xcf72, 0xcf73, 0xcf75, 0xcf76,
    +    0xcf77, 0xcf79, 0xcf7a, 0xcf7b, 0xcf7c, 0xcf7d, 0xcf7e, 0xcf7f,
    +    0xcf81, 0xcf82, 0xcf83, 0xcf84, 0xcf86, 0xcf87, 0xcf88, 0xcf89,
    +    0xcf8a, 0xcf8b, 0xcf8d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcf8e, 0xcf8f, 0xcf90, 0xcf91, 0xcf92, 0xcf93, 0xcf94,
    +    0xcf95, 0xcf96, 0xcf97, 0xcf98, 0xcf99, 0xcf9a, 0xcf9b, 0xcf9c,
    +    0xcf9d, 0xcf9e, 0xcf9f, 0xcfa0, 0xcfa2, 0xcfa3, 0xcfa4, 0xcfa5,
    +    0xcfa6, 0xcfa7, 0xcfa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfaa, 0xcfab, 0xcfac, 0xcfad, 0xcfae, 0xcfaf, 0xcfb1,
    +    0xcfb2, 0xcfb3, 0xcfb4, 0xcfb5, 0xcfb6, 0xcfb7, 0xcfb8, 0xcfb9,
    +    0xcfba, 0xcfbb, 0xcfbc, 0xcfbd, 0xcfbe, 0xcfbf, 0xcfc0, 0xcfc1,
    +    0xcfc2, 0xcfc3, 0xcfc5, 0xcfc6, 0xcfc7, 0xcfc8, 0xcfc9, 0xcfca,
    +    0xcfcb, 0xae79, 0xae7b, 0xae7c, 0xae7d, 0xae84, 0xae85, 0xae8c,
    +    0xaebc, 0xaebd, 0xaebe, 0xaec0, 0xaec4, 0xaecc, 0xaecd, 0xaecf,
    +    0xaed0, 0xaed1, 0xaed8, 0xaed9, 0xaedc, 0xaee8, 0xaeeb, 0xaeed,
    +    0xaef4, 0xaef8, 0xaefc, 0xaf07, 0xaf08, 0xaf0d, 0xaf10, 0xaf2c,
    +    0xaf2d, 0xaf30, 0xaf32, 0xaf34, 0xaf3c, 0xaf3d, 0xaf3f, 0xaf41,
    +    0xaf42, 0xaf43, 0xaf48, 0xaf49, 0xaf50, 0xaf5c, 0xaf5d, 0xaf64,
    +    0xaf65, 0xaf79, 0xaf80, 0xaf84, 0xaf88, 0xaf90, 0xaf91, 0xaf95,
    +    0xaf9c, 0xafb8, 0xafb9, 0xafbc, 0xafc0, 0xafc7, 0xafc8, 0xafc9,
    +    0xafcb, 0xafcd, 0xafce, 0xafd4, 0xafdc, 0xafe8, 0xafe9, 0xaff0,
    +    0xaff1, 0xaff4, 0xaff8, 0xb000, 0xb001, 0xb004, 0xb00c, 0xb010,
    +    0xb014, 0xb01c, 0xb01d, 0xb028, 0xb044, 0xb045, 0xb048, 0xb04a,
    +    0xb04c, 0xb04e, 0xb053, 0xb054, 0xb055, 0xb057, 0xb059, 0x003f,
    +    /* lead byte b3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfcc, 0xcfcd, 0xcfce, 0xcfcf, 0xcfd0, 0xcfd1, 0xcfd2,
    +    0xcfd3, 0xcfd4, 0xcfd5, 0xcfd6, 0xcfd7, 0xcfd8, 0xcfd9, 0xcfda,
    +    0xcfdb, 0xcfdc, 0xcfdd, 0xcfde, 0xcfdf, 0xcfe2, 0xcfe3, 0xcfe5,
    +    0xcfe6, 0xcfe7, 0xcfe9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfea, 0xcfeb, 0xcfec, 0xcfed, 0xcfee, 0xcfef, 0xcff2,
    +    0xcff4, 0xcff6, 0xcff7, 0xcff8, 0xcff9, 0xcffa, 0xcffb, 0xcffd,
    +    0xcffe, 0xcfff, 0xd001, 0xd002, 0xd003, 0xd005, 0xd006, 0xd007,
    +    0xd008, 0xd009, 0xd00a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd00b, 0xd00c, 0xd00d, 0xd00e, 0xd00f, 0xd010, 0xd012,
    +    0xd013, 0xd014, 0xd015, 0xd016, 0xd017, 0xd019, 0xd01a, 0xd01b,
    +    0xd01c, 0xd01d, 0xd01e, 0xd01f, 0xd020, 0xd021, 0xd022, 0xd023,
    +    0xd024, 0xd025, 0xd026, 0xd027, 0xd028, 0xd029, 0xd02a, 0xd02b,
    +    0xd02c, 0xb05d, 0xb07c, 0xb07d, 0xb080, 0xb084, 0xb08c, 0xb08d,
    +    0xb08f, 0xb091, 0xb098, 0xb099, 0xb09a, 0xb09c, 0xb09f, 0xb0a0,
    +    0xb0a1, 0xb0a2, 0xb0a8, 0xb0a9, 0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae,
    +    0xb0af, 0xb0b1, 0xb0b3, 0xb0b4, 0xb0b5, 0xb0b8, 0xb0bc, 0xb0c4,
    +    0xb0c5, 0xb0c7, 0xb0c8, 0xb0c9, 0xb0d0, 0xb0d1, 0xb0d4, 0xb0d8,
    +    0xb0e0, 0xb0e5, 0xb108, 0xb109, 0xb10b, 0xb10c, 0xb110, 0xb112,
    +    0xb113, 0xb118, 0xb119, 0xb11b, 0xb11c, 0xb11d, 0xb123, 0xb124,
    +    0xb125, 0xb128, 0xb12c, 0xb134, 0xb135, 0xb137, 0xb138, 0xb139,
    +    0xb140, 0xb141, 0xb144, 0xb148, 0xb150, 0xb151, 0xb154, 0xb155,
    +    0xb158, 0xb15c, 0xb160, 0xb178, 0xb179, 0xb17c, 0xb180, 0xb182,
    +    0xb188, 0xb189, 0xb18b, 0xb18d, 0xb192, 0xb193, 0xb194, 0xb198,
    +    0xb19c, 0xb1a8, 0xb1cc, 0xb1d0, 0xb1d4, 0xb1dc, 0xb1dd, 0x003f,
    +    /* lead byte b4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd02e, 0xd02f, 0xd030, 0xd031, 0xd032, 0xd033, 0xd036,
    +    0xd037, 0xd039, 0xd03a, 0xd03b, 0xd03d, 0xd03e, 0xd03f, 0xd040,
    +    0xd041, 0xd042, 0xd043, 0xd046, 0xd048, 0xd04a, 0xd04b, 0xd04c,
    +    0xd04d, 0xd04e, 0xd04f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd051, 0xd052, 0xd053, 0xd055, 0xd056, 0xd057, 0xd059,
    +    0xd05a, 0xd05b, 0xd05c, 0xd05d, 0xd05e, 0xd05f, 0xd061, 0xd062,
    +    0xd063, 0xd064, 0xd065, 0xd066, 0xd067, 0xd068, 0xd069, 0xd06a,
    +    0xd06b, 0xd06e, 0xd06f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd071, 0xd072, 0xd073, 0xd075, 0xd076, 0xd077, 0xd078,
    +    0xd079, 0xd07a, 0xd07b, 0xd07e, 0xd07f, 0xd080, 0xd082, 0xd083,
    +    0xd084, 0xd085, 0xd086, 0xd087, 0xd088, 0xd089, 0xd08a, 0xd08b,
    +    0xd08c, 0xd08d, 0xd08e, 0xd08f, 0xd090, 0xd091, 0xd092, 0xd093,
    +    0xd094, 0xb1df, 0xb1e8, 0xb1e9, 0xb1ec, 0xb1f0, 0xb1f9, 0xb1fb,
    +    0xb1fd, 0xb204, 0xb205, 0xb208, 0xb20b, 0xb20c, 0xb214, 0xb215,
    +    0xb217, 0xb219, 0xb220, 0xb234, 0xb23c, 0xb258, 0xb25c, 0xb260,
    +    0xb268, 0xb269, 0xb274, 0xb275, 0xb27c, 0xb284, 0xb285, 0xb289,
    +    0xb290, 0xb291, 0xb294, 0xb298, 0xb299, 0xb29a, 0xb2a0, 0xb2a1,
    +    0xb2a3, 0xb2a5, 0xb2a6, 0xb2aa, 0xb2ac, 0xb2b0, 0xb2b4, 0xb2c8,
    +    0xb2c9, 0xb2cc, 0xb2d0, 0xb2d2, 0xb2d8, 0xb2d9, 0xb2db, 0xb2dd,
    +    0xb2e2, 0xb2e4, 0xb2e5, 0xb2e6, 0xb2e8, 0xb2eb, 0xb2ec, 0xb2ed,
    +    0xb2ee, 0xb2ef, 0xb2f3, 0xb2f4, 0xb2f5, 0xb2f7, 0xb2f8, 0xb2f9,
    +    0xb2fa, 0xb2fb, 0xb2ff, 0xb300, 0xb301, 0xb304, 0xb308, 0xb310,
    +    0xb311, 0xb313, 0xb314, 0xb315, 0xb31c, 0xb354, 0xb355, 0xb356,
    +    0xb358, 0xb35b, 0xb35c, 0xb35e, 0xb35f, 0xb364, 0xb365, 0x003f,
    +    /* lead byte b5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd095, 0xd096, 0xd097, 0xd098, 0xd099, 0xd09a, 0xd09b,
    +    0xd09c, 0xd09d, 0xd09e, 0xd09f, 0xd0a0, 0xd0a1, 0xd0a2, 0xd0a3,
    +    0xd0a6, 0xd0a7, 0xd0a9, 0xd0aa, 0xd0ab, 0xd0ad, 0xd0ae, 0xd0af,
    +    0xd0b0, 0xd0b1, 0xd0b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd0b3, 0xd0b6, 0xd0b8, 0xd0ba, 0xd0bb, 0xd0bc, 0xd0bd,
    +    0xd0be, 0xd0bf, 0xd0c2, 0xd0c3, 0xd0c5, 0xd0c6, 0xd0c7, 0xd0ca,
    +    0xd0cb, 0xd0cc, 0xd0cd, 0xd0ce, 0xd0cf, 0xd0d2, 0xd0d6, 0xd0d7,
    +    0xd0d8, 0xd0d9, 0xd0da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd0db, 0xd0de, 0xd0df, 0xd0e1, 0xd0e2, 0xd0e3, 0xd0e5,
    +    0xd0e6, 0xd0e7, 0xd0e8, 0xd0e9, 0xd0ea, 0xd0eb, 0xd0ee, 0xd0f2,
    +    0xd0f3, 0xd0f4, 0xd0f5, 0xd0f6, 0xd0f7, 0xd0f9, 0xd0fa, 0xd0fb,
    +    0xd0fc, 0xd0fd, 0xd0fe, 0xd0ff, 0xd100, 0xd101, 0xd102, 0xd103,
    +    0xd104, 0xb367, 0xb369, 0xb36b, 0xb36e, 0xb370, 0xb371, 0xb374,
    +    0xb378, 0xb380, 0xb381, 0xb383, 0xb384, 0xb385, 0xb38c, 0xb390,
    +    0xb394, 0xb3a0, 0xb3a1, 0xb3a8, 0xb3ac, 0xb3c4, 0xb3c5, 0xb3c8,
    +    0xb3cb, 0xb3cc, 0xb3ce, 0xb3d0, 0xb3d4, 0xb3d5, 0xb3d7, 0xb3d9,
    +    0xb3db, 0xb3dd, 0xb3e0, 0xb3e4, 0xb3e8, 0xb3fc, 0xb410, 0xb418,
    +    0xb41c, 0xb420, 0xb428, 0xb429, 0xb42b, 0xb434, 0xb450, 0xb451,
    +    0xb454, 0xb458, 0xb460, 0xb461, 0xb463, 0xb465, 0xb46c, 0xb480,
    +    0xb488, 0xb49d, 0xb4a4, 0xb4a8, 0xb4ac, 0xb4b5, 0xb4b7, 0xb4b9,
    +    0xb4c0, 0xb4c4, 0xb4c8, 0xb4d0, 0xb4d5, 0xb4dc, 0xb4dd, 0xb4e0,
    +    0xb4e3, 0xb4e4, 0xb4e6, 0xb4ec, 0xb4ed, 0xb4ef, 0xb4f1, 0xb4f8,
    +    0xb514, 0xb515, 0xb518, 0xb51b, 0xb51c, 0xb524, 0xb525, 0xb527,
    +    0xb528, 0xb529, 0xb52a, 0xb530, 0xb531, 0xb534, 0xb538, 0x003f,
    +    /* lead byte b6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd105, 0xd106, 0xd107, 0xd108, 0xd109, 0xd10a, 0xd10b,
    +    0xd10c, 0xd10e, 0xd10f, 0xd110, 0xd111, 0xd112, 0xd113, 0xd114,
    +    0xd115, 0xd116, 0xd117, 0xd118, 0xd119, 0xd11a, 0xd11b, 0xd11c,
    +    0xd11d, 0xd11e, 0xd11f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd120, 0xd121, 0xd122, 0xd123, 0xd124, 0xd125, 0xd126,
    +    0xd127, 0xd128, 0xd129, 0xd12a, 0xd12b, 0xd12c, 0xd12d, 0xd12e,
    +    0xd12f, 0xd132, 0xd133, 0xd135, 0xd136, 0xd137, 0xd139, 0xd13b,
    +    0xd13c, 0xd13d, 0xd13e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd13f, 0xd142, 0xd146, 0xd147, 0xd148, 0xd149, 0xd14a,
    +    0xd14b, 0xd14e, 0xd14f, 0xd151, 0xd152, 0xd153, 0xd155, 0xd156,
    +    0xd157, 0xd158, 0xd159, 0xd15a, 0xd15b, 0xd15e, 0xd160, 0xd162,
    +    0xd163, 0xd164, 0xd165, 0xd166, 0xd167, 0xd169, 0xd16a, 0xd16b,
    +    0xd16d, 0xb540, 0xb541, 0xb543, 0xb544, 0xb545, 0xb54b, 0xb54c,
    +    0xb54d, 0xb550, 0xb554, 0xb55c, 0xb55d, 0xb55f, 0xb560, 0xb561,
    +    0xb5a0, 0xb5a1, 0xb5a4, 0xb5a8, 0xb5aa, 0xb5ab, 0xb5b0, 0xb5b1,
    +    0xb5b3, 0xb5b4, 0xb5b5, 0xb5bb, 0xb5bc, 0xb5bd, 0xb5c0, 0xb5c4,
    +    0xb5cc, 0xb5cd, 0xb5cf, 0xb5d0, 0xb5d1, 0xb5d8, 0xb5ec, 0xb610,
    +    0xb611, 0xb614, 0xb618, 0xb625, 0xb62c, 0xb634, 0xb648, 0xb664,
    +    0xb668, 0xb69c, 0xb69d, 0xb6a0, 0xb6a4, 0xb6ab, 0xb6ac, 0xb6b1,
    +    0xb6d4, 0xb6f0, 0xb6f4, 0xb6f8, 0xb700, 0xb701, 0xb705, 0xb728,
    +    0xb729, 0xb72c, 0xb72f, 0xb730, 0xb738, 0xb739, 0xb73b, 0xb744,
    +    0xb748, 0xb74c, 0xb754, 0xb755, 0xb760, 0xb764, 0xb768, 0xb770,
    +    0xb771, 0xb773, 0xb775, 0xb77c, 0xb77d, 0xb780, 0xb784, 0xb78c,
    +    0xb78d, 0xb78f, 0xb790, 0xb791, 0xb792, 0xb796, 0xb797, 0x003f,
    +    /* lead byte b7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd16e, 0xd16f, 0xd170, 0xd171, 0xd172, 0xd173, 0xd174,
    +    0xd175, 0xd176, 0xd177, 0xd178, 0xd179, 0xd17a, 0xd17b, 0xd17d,
    +    0xd17e, 0xd17f, 0xd180, 0xd181, 0xd182, 0xd183, 0xd185, 0xd186,
    +    0xd187, 0xd189, 0xd18a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd18b, 0xd18c, 0xd18d, 0xd18e, 0xd18f, 0xd190, 0xd191,
    +    0xd192, 0xd193, 0xd194, 0xd195, 0xd196, 0xd197, 0xd198, 0xd199,
    +    0xd19a, 0xd19b, 0xd19c, 0xd19d, 0xd19e, 0xd19f, 0xd1a2, 0xd1a3,
    +    0xd1a5, 0xd1a6, 0xd1a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd1a9, 0xd1aa, 0xd1ab, 0xd1ac, 0xd1ad, 0xd1ae, 0xd1af,
    +    0xd1b2, 0xd1b4, 0xd1b6, 0xd1b7, 0xd1b8, 0xd1b9, 0xd1bb, 0xd1bd,
    +    0xd1be, 0xd1bf, 0xd1c1, 0xd1c2, 0xd1c3, 0xd1c4, 0xd1c5, 0xd1c6,
    +    0xd1c7, 0xd1c8, 0xd1c9, 0xd1ca, 0xd1cb, 0xd1cc, 0xd1cd, 0xd1ce,
    +    0xd1cf, 0xb798, 0xb799, 0xb79c, 0xb7a0, 0xb7a8, 0xb7a9, 0xb7ab,
    +    0xb7ac, 0xb7ad, 0xb7b4, 0xb7b5, 0xb7b8, 0xb7c7, 0xb7c9, 0xb7ec,
    +    0xb7ed, 0xb7f0, 0xb7f4, 0xb7fc, 0xb7fd, 0xb7ff, 0xb800, 0xb801,
    +    0xb807, 0xb808, 0xb809, 0xb80c, 0xb810, 0xb818, 0xb819, 0xb81b,
    +    0xb81d, 0xb824, 0xb825, 0xb828, 0xb82c, 0xb834, 0xb835, 0xb837,
    +    0xb838, 0xb839, 0xb840, 0xb844, 0xb851, 0xb853, 0xb85c, 0xb85d,
    +    0xb860, 0xb864, 0xb86c, 0xb86d, 0xb86f, 0xb871, 0xb878, 0xb87c,
    +    0xb88d, 0xb8a8, 0xb8b0, 0xb8b4, 0xb8b8, 0xb8c0, 0xb8c1, 0xb8c3,
    +    0xb8c5, 0xb8cc, 0xb8d0, 0xb8d4, 0xb8dd, 0xb8df, 0xb8e1, 0xb8e8,
    +    0xb8e9, 0xb8ec, 0xb8f0, 0xb8f8, 0xb8f9, 0xb8fb, 0xb8fd, 0xb904,
    +    0xb918, 0xb920, 0xb93c, 0xb93d, 0xb940, 0xb944, 0xb94c, 0xb94f,
    +    0xb951, 0xb958, 0xb959, 0xb95c, 0xb960, 0xb968, 0xb969, 0x003f,
    +    /* lead byte b8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd1d0, 0xd1d1, 0xd1d2, 0xd1d3, 0xd1d4, 0xd1d5, 0xd1d6,
    +    0xd1d7, 0xd1d9, 0xd1da, 0xd1db, 0xd1dc, 0xd1dd, 0xd1de, 0xd1df,
    +    0xd1e0, 0xd1e1, 0xd1e2, 0xd1e3, 0xd1e4, 0xd1e5, 0xd1e6, 0xd1e7,
    +    0xd1e8, 0xd1e9, 0xd1ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd1eb, 0xd1ec, 0xd1ed, 0xd1ee, 0xd1ef, 0xd1f0, 0xd1f1,
    +    0xd1f2, 0xd1f3, 0xd1f5, 0xd1f6, 0xd1f7, 0xd1f9, 0xd1fa, 0xd1fb,
    +    0xd1fc, 0xd1fd, 0xd1fe, 0xd1ff, 0xd200, 0xd201, 0xd202, 0xd203,
    +    0xd204, 0xd205, 0xd206, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd208, 0xd20a, 0xd20b, 0xd20c, 0xd20d, 0xd20e, 0xd20f,
    +    0xd211, 0xd212, 0xd213, 0xd214, 0xd215, 0xd216, 0xd217, 0xd218,
    +    0xd219, 0xd21a, 0xd21b, 0xd21c, 0xd21d, 0xd21e, 0xd21f, 0xd220,
    +    0xd221, 0xd222, 0xd223, 0xd224, 0xd225, 0xd226, 0xd227, 0xd228,
    +    0xd229, 0xb96b, 0xb96d, 0xb974, 0xb975, 0xb978, 0xb97c, 0xb984,
    +    0xb985, 0xb987, 0xb989, 0xb98a, 0xb98d, 0xb98e, 0xb9ac, 0xb9ad,
    +    0xb9b0, 0xb9b4, 0xb9bc, 0xb9bd, 0xb9bf, 0xb9c1, 0xb9c8, 0xb9c9,
    +    0xb9cc, 0xb9ce, 0xb9cf, 0xb9d0, 0xb9d1, 0xb9d2, 0xb9d8, 0xb9d9,
    +    0xb9db, 0xb9dd, 0xb9de, 0xb9e1, 0xb9e3, 0xb9e4, 0xb9e5, 0xb9e8,
    +    0xb9ec, 0xb9f4, 0xb9f5, 0xb9f7, 0xb9f8, 0xb9f9, 0xb9fa, 0xba00,
    +    0xba01, 0xba08, 0xba15, 0xba38, 0xba39, 0xba3c, 0xba40, 0xba42,
    +    0xba48, 0xba49, 0xba4b, 0xba4d, 0xba4e, 0xba53, 0xba54, 0xba55,
    +    0xba58, 0xba5c, 0xba64, 0xba65, 0xba67, 0xba68, 0xba69, 0xba70,
    +    0xba71, 0xba74, 0xba78, 0xba83, 0xba84, 0xba85, 0xba87, 0xba8c,
    +    0xbaa8, 0xbaa9, 0xbaab, 0xbaac, 0xbab0, 0xbab2, 0xbab8, 0xbab9,
    +    0xbabb, 0xbabd, 0xbac4, 0xbac8, 0xbad8, 0xbad9, 0xbafc, 0x003f,
    +    /* lead byte b9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd22a, 0xd22b, 0xd22e, 0xd22f, 0xd231, 0xd232, 0xd233,
    +    0xd235, 0xd236, 0xd237, 0xd238, 0xd239, 0xd23a, 0xd23b, 0xd23e,
    +    0xd240, 0xd242, 0xd243, 0xd244, 0xd245, 0xd246, 0xd247, 0xd249,
    +    0xd24a, 0xd24b, 0xd24c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd24d, 0xd24e, 0xd24f, 0xd250, 0xd251, 0xd252, 0xd253,
    +    0xd254, 0xd255, 0xd256, 0xd257, 0xd258, 0xd259, 0xd25a, 0xd25b,
    +    0xd25d, 0xd25e, 0xd25f, 0xd260, 0xd261, 0xd262, 0xd263, 0xd265,
    +    0xd266, 0xd267, 0xd268, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd269, 0xd26a, 0xd26b, 0xd26c, 0xd26d, 0xd26e, 0xd26f,
    +    0xd270, 0xd271, 0xd272, 0xd273, 0xd274, 0xd275, 0xd276, 0xd277,
    +    0xd278, 0xd279, 0xd27a, 0xd27b, 0xd27c, 0xd27d, 0xd27e, 0xd27f,
    +    0xd282, 0xd283, 0xd285, 0xd286, 0xd287, 0xd289, 0xd28a, 0xd28b,
    +    0xd28c, 0xbb00, 0xbb04, 0xbb0d, 0xbb0f, 0xbb11, 0xbb18, 0xbb1c,
    +    0xbb20, 0xbb29, 0xbb2b, 0xbb34, 0xbb35, 0xbb36, 0xbb38, 0xbb3b,
    +    0xbb3c, 0xbb3d, 0xbb3e, 0xbb44, 0xbb45, 0xbb47, 0xbb49, 0xbb4d,
    +    0xbb4f, 0xbb50, 0xbb54, 0xbb58, 0xbb61, 0xbb63, 0xbb6c, 0xbb88,
    +    0xbb8c, 0xbb90, 0xbba4, 0xbba8, 0xbbac, 0xbbb4, 0xbbb7, 0xbbc0,
    +    0xbbc4, 0xbbc8, 0xbbd0, 0xbbd3, 0xbbf8, 0xbbf9, 0xbbfc, 0xbbff,
    +    0xbc00, 0xbc02, 0xbc08, 0xbc09, 0xbc0b, 0xbc0c, 0xbc0d, 0xbc0f,
    +    0xbc11, 0xbc14, 0xbc15, 0xbc16, 0xbc17, 0xbc18, 0xbc1b, 0xbc1c,
    +    0xbc1d, 0xbc1e, 0xbc1f, 0xbc24, 0xbc25, 0xbc27, 0xbc29, 0xbc2d,
    +    0xbc30, 0xbc31, 0xbc34, 0xbc38, 0xbc40, 0xbc41, 0xbc43, 0xbc44,
    +    0xbc45, 0xbc49, 0xbc4c, 0xbc4d, 0xbc50, 0xbc5d, 0xbc84, 0xbc85,
    +    0xbc88, 0xbc8b, 0xbc8c, 0xbc8e, 0xbc94, 0xbc95, 0xbc97, 0x003f,
    +    /* lead byte ba */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd28d, 0xd28e, 0xd28f, 0xd292, 0xd293, 0xd294, 0xd296,
    +    0xd297, 0xd298, 0xd299, 0xd29a, 0xd29b, 0xd29d, 0xd29e, 0xd29f,
    +    0xd2a1, 0xd2a2, 0xd2a3, 0xd2a5, 0xd2a6, 0xd2a7, 0xd2a8, 0xd2a9,
    +    0xd2aa, 0xd2ab, 0xd2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd2ae, 0xd2af, 0xd2b0, 0xd2b2, 0xd2b3, 0xd2b4, 0xd2b5,
    +    0xd2b6, 0xd2b7, 0xd2ba, 0xd2bb, 0xd2bd, 0xd2be, 0xd2c1, 0xd2c3,
    +    0xd2c4, 0xd2c5, 0xd2c6, 0xd2c7, 0xd2ca, 0xd2cc, 0xd2cd, 0xd2ce,
    +    0xd2cf, 0xd2d0, 0xd2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd2d2, 0xd2d3, 0xd2d5, 0xd2d6, 0xd2d7, 0xd2d9, 0xd2da,
    +    0xd2db, 0xd2dd, 0xd2de, 0xd2df, 0xd2e0, 0xd2e1, 0xd2e2, 0xd2e3,
    +    0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9, 0xd2ea, 0xd2eb, 0xd2ec, 0xd2ed,
    +    0xd2ee, 0xd2ef, 0xd2f2, 0xd2f3, 0xd2f5, 0xd2f6, 0xd2f7, 0xd2f9,
    +    0xd2fa, 0xbc99, 0xbc9a, 0xbca0, 0xbca1, 0xbca4, 0xbca7, 0xbca8,
    +    0xbcb0, 0xbcb1, 0xbcb3, 0xbcb4, 0xbcb5, 0xbcbc, 0xbcbd, 0xbcc0,
    +    0xbcc4, 0xbccd, 0xbccf, 0xbcd0, 0xbcd1, 0xbcd5, 0xbcd8, 0xbcdc,
    +    0xbcf4, 0xbcf5, 0xbcf6, 0xbcf8, 0xbcfc, 0xbd04, 0xbd05, 0xbd07,
    +    0xbd09, 0xbd10, 0xbd14, 0xbd24, 0xbd2c, 0xbd40, 0xbd48, 0xbd49,
    +    0xbd4c, 0xbd50, 0xbd58, 0xbd59, 0xbd64, 0xbd68, 0xbd80, 0xbd81,
    +    0xbd84, 0xbd87, 0xbd88, 0xbd89, 0xbd8a, 0xbd90, 0xbd91, 0xbd93,
    +    0xbd95, 0xbd99, 0xbd9a, 0xbd9c, 0xbda4, 0xbdb0, 0xbdb8, 0xbdd4,
    +    0xbdd5, 0xbdd8, 0xbddc, 0xbde9, 0xbdf0, 0xbdf4, 0xbdf8, 0xbe00,
    +    0xbe03, 0xbe05, 0xbe0c, 0xbe0d, 0xbe10, 0xbe14, 0xbe1c, 0xbe1d,
    +    0xbe1f, 0xbe44, 0xbe45, 0xbe48, 0xbe4c, 0xbe4e, 0xbe54, 0xbe55,
    +    0xbe57, 0xbe59, 0xbe5a, 0xbe5b, 0xbe60, 0xbe61, 0xbe64, 0x003f,
    +    /* lead byte bb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd2fb, 0xd2fc, 0xd2fd, 0xd2fe, 0xd2ff, 0xd302, 0xd304,
    +    0xd306, 0xd307, 0xd308, 0xd309, 0xd30a, 0xd30b, 0xd30f, 0xd311,
    +    0xd312, 0xd313, 0xd315, 0xd317, 0xd318, 0xd319, 0xd31a, 0xd31b,
    +    0xd31e, 0xd322, 0xd323, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd324, 0xd326, 0xd327, 0xd32a, 0xd32b, 0xd32d, 0xd32e,
    +    0xd32f, 0xd331, 0xd332, 0xd333, 0xd334, 0xd335, 0xd336, 0xd337,
    +    0xd33a, 0xd33e, 0xd33f, 0xd340, 0xd341, 0xd342, 0xd343, 0xd346,
    +    0xd347, 0xd348, 0xd349, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd34a, 0xd34b, 0xd34c, 0xd34d, 0xd34e, 0xd34f, 0xd350,
    +    0xd351, 0xd352, 0xd353, 0xd354, 0xd355, 0xd356, 0xd357, 0xd358,
    +    0xd359, 0xd35a, 0xd35b, 0xd35c, 0xd35d, 0xd35e, 0xd35f, 0xd360,
    +    0xd361, 0xd362, 0xd363, 0xd364, 0xd365, 0xd366, 0xd367, 0xd368,
    +    0xd369, 0xbe68, 0xbe6a, 0xbe70, 0xbe71, 0xbe73, 0xbe74, 0xbe75,
    +    0xbe7b, 0xbe7c, 0xbe7d, 0xbe80, 0xbe84, 0xbe8c, 0xbe8d, 0xbe8f,
    +    0xbe90, 0xbe91, 0xbe98, 0xbe99, 0xbea8, 0xbed0, 0xbed1, 0xbed4,
    +    0xbed7, 0xbed8, 0xbee0, 0xbee3, 0xbee4, 0xbee5, 0xbeec, 0xbf01,
    +    0xbf08, 0xbf09, 0xbf18, 0xbf19, 0xbf1b, 0xbf1c, 0xbf1d, 0xbf40,
    +    0xbf41, 0xbf44, 0xbf48, 0xbf50, 0xbf51, 0xbf55, 0xbf94, 0xbfb0,
    +    0xbfc5, 0xbfcc, 0xbfcd, 0xbfd0, 0xbfd4, 0xbfdc, 0xbfdf, 0xbfe1,
    +    0xc03c, 0xc051, 0xc058, 0xc05c, 0xc060, 0xc068, 0xc069, 0xc090,
    +    0xc091, 0xc094, 0xc098, 0xc0a0, 0xc0a1, 0xc0a3, 0xc0a5, 0xc0ac,
    +    0xc0ad, 0xc0af, 0xc0b0, 0xc0b3, 0xc0b4, 0xc0b5, 0xc0b6, 0xc0bc,
    +    0xc0bd, 0xc0bf, 0xc0c0, 0xc0c1, 0xc0c5, 0xc0c8, 0xc0c9, 0xc0cc,
    +    0xc0d0, 0xc0d8, 0xc0d9, 0xc0db, 0xc0dc, 0xc0dd, 0xc0e4, 0x003f,
    +    /* lead byte bc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd36a, 0xd36b, 0xd36c, 0xd36d, 0xd36e, 0xd36f, 0xd370,
    +    0xd371, 0xd372, 0xd373, 0xd374, 0xd375, 0xd376, 0xd377, 0xd378,
    +    0xd379, 0xd37a, 0xd37b, 0xd37e, 0xd37f, 0xd381, 0xd382, 0xd383,
    +    0xd385, 0xd386, 0xd387, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd388, 0xd389, 0xd38a, 0xd38b, 0xd38e, 0xd392, 0xd393,
    +    0xd394, 0xd395, 0xd396, 0xd397, 0xd39a, 0xd39b, 0xd39d, 0xd39e,
    +    0xd39f, 0xd3a1, 0xd3a2, 0xd3a3, 0xd3a4, 0xd3a5, 0xd3a6, 0xd3a7,
    +    0xd3aa, 0xd3ac, 0xd3ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3af, 0xd3b0, 0xd3b1, 0xd3b2, 0xd3b3, 0xd3b5, 0xd3b6,
    +    0xd3b7, 0xd3b9, 0xd3ba, 0xd3bb, 0xd3bd, 0xd3be, 0xd3bf, 0xd3c0,
    +    0xd3c1, 0xd3c2, 0xd3c3, 0xd3c6, 0xd3c7, 0xd3ca, 0xd3cb, 0xd3cc,
    +    0xd3cd, 0xd3ce, 0xd3cf, 0xd3d1, 0xd3d2, 0xd3d3, 0xd3d4, 0xd3d5,
    +    0xd3d6, 0xc0e5, 0xc0e8, 0xc0ec, 0xc0f4, 0xc0f5, 0xc0f7, 0xc0f9,
    +    0xc100, 0xc104, 0xc108, 0xc110, 0xc115, 0xc11c, 0xc11d, 0xc11e,
    +    0xc11f, 0xc120, 0xc123, 0xc124, 0xc126, 0xc127, 0xc12c, 0xc12d,
    +    0xc12f, 0xc130, 0xc131, 0xc136, 0xc138, 0xc139, 0xc13c, 0xc140,
    +    0xc148, 0xc149, 0xc14b, 0xc14c, 0xc14d, 0xc154, 0xc155, 0xc158,
    +    0xc15c, 0xc164, 0xc165, 0xc167, 0xc168, 0xc169, 0xc170, 0xc174,
    +    0xc178, 0xc185, 0xc18c, 0xc18d, 0xc18e, 0xc190, 0xc194, 0xc196,
    +    0xc19c, 0xc19d, 0xc19f, 0xc1a1, 0xc1a5, 0xc1a8, 0xc1a9, 0xc1ac,
    +    0xc1b0, 0xc1bd, 0xc1c4, 0xc1c8, 0xc1cc, 0xc1d4, 0xc1d7, 0xc1d8,
    +    0xc1e0, 0xc1e4, 0xc1e8, 0xc1f0, 0xc1f1, 0xc1f3, 0xc1fc, 0xc1fd,
    +    0xc200, 0xc204, 0xc20c, 0xc20d, 0xc20f, 0xc211, 0xc218, 0xc219,
    +    0xc21c, 0xc21f, 0xc220, 0xc228, 0xc229, 0xc22b, 0xc22d, 0x003f,
    +    /* lead byte bd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3d7, 0xd3d9, 0xd3da, 0xd3db, 0xd3dc, 0xd3dd, 0xd3de,
    +    0xd3df, 0xd3e0, 0xd3e2, 0xd3e4, 0xd3e5, 0xd3e6, 0xd3e7, 0xd3e8,
    +    0xd3e9, 0xd3ea, 0xd3eb, 0xd3ee, 0xd3ef, 0xd3f1, 0xd3f2, 0xd3f3,
    +    0xd3f5, 0xd3f6, 0xd3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3f8, 0xd3f9, 0xd3fa, 0xd3fb, 0xd3fe, 0xd400, 0xd402,
    +    0xd403, 0xd404, 0xd405, 0xd406, 0xd407, 0xd409, 0xd40a, 0xd40b,
    +    0xd40c, 0xd40d, 0xd40e, 0xd40f, 0xd410, 0xd411, 0xd412, 0xd413,
    +    0xd414, 0xd415, 0xd416, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd417, 0xd418, 0xd419, 0xd41a, 0xd41b, 0xd41c, 0xd41e,
    +    0xd41f, 0xd420, 0xd421, 0xd422, 0xd423, 0xd424, 0xd425, 0xd426,
    +    0xd427, 0xd428, 0xd429, 0xd42a, 0xd42b, 0xd42c, 0xd42d, 0xd42e,
    +    0xd42f, 0xd430, 0xd431, 0xd432, 0xd433, 0xd434, 0xd435, 0xd436,
    +    0xd437, 0xc22f, 0xc231, 0xc232, 0xc234, 0xc248, 0xc250, 0xc251,
    +    0xc254, 0xc258, 0xc260, 0xc265, 0xc26c, 0xc26d, 0xc270, 0xc274,
    +    0xc27c, 0xc27d, 0xc27f, 0xc281, 0xc288, 0xc289, 0xc290, 0xc298,
    +    0xc29b, 0xc29d, 0xc2a4, 0xc2a5, 0xc2a8, 0xc2ac, 0xc2ad, 0xc2b4,
    +    0xc2b5, 0xc2b7, 0xc2b9, 0xc2dc, 0xc2dd, 0xc2e0, 0xc2e3, 0xc2e4,
    +    0xc2eb, 0xc2ec, 0xc2ed, 0xc2ef, 0xc2f1, 0xc2f6, 0xc2f8, 0xc2f9,
    +    0xc2fb, 0xc2fc, 0xc300, 0xc308, 0xc309, 0xc30c, 0xc30d, 0xc313,
    +    0xc314, 0xc315, 0xc318, 0xc31c, 0xc324, 0xc325, 0xc328, 0xc329,
    +    0xc345, 0xc368, 0xc369, 0xc36c, 0xc370, 0xc372, 0xc378, 0xc379,
    +    0xc37c, 0xc37d, 0xc384, 0xc388, 0xc38c, 0xc3c0, 0xc3d8, 0xc3d9,
    +    0xc3dc, 0xc3df, 0xc3e0, 0xc3e2, 0xc3e8, 0xc3e9, 0xc3ed, 0xc3f4,
    +    0xc3f5, 0xc3f8, 0xc408, 0xc410, 0xc424, 0xc42c, 0xc430, 0x003f,
    +    /* lead byte be */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd438, 0xd439, 0xd43a, 0xd43b, 0xd43c, 0xd43d, 0xd43e,
    +    0xd43f, 0xd441, 0xd442, 0xd443, 0xd445, 0xd446, 0xd447, 0xd448,
    +    0xd449, 0xd44a, 0xd44b, 0xd44c, 0xd44d, 0xd44e, 0xd44f, 0xd450,
    +    0xd451, 0xd452, 0xd453, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd454, 0xd455, 0xd456, 0xd457, 0xd458, 0xd459, 0xd45a,
    +    0xd45b, 0xd45d, 0xd45e, 0xd45f, 0xd461, 0xd462, 0xd463, 0xd465,
    +    0xd466, 0xd467, 0xd468, 0xd469, 0xd46a, 0xd46b, 0xd46c, 0xd46e,
    +    0xd470, 0xd471, 0xd472, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd473, 0xd474, 0xd475, 0xd476, 0xd477, 0xd47a, 0xd47b,
    +    0xd47d, 0xd47e, 0xd481, 0xd483, 0xd484, 0xd485, 0xd486, 0xd487,
    +    0xd48a, 0xd48c, 0xd48e, 0xd48f, 0xd490, 0xd491, 0xd492, 0xd493,
    +    0xd495, 0xd496, 0xd497, 0xd498, 0xd499, 0xd49a, 0xd49b, 0xd49c,
    +    0xd49d, 0xc434, 0xc43c, 0xc43d, 0xc448, 0xc464, 0xc465, 0xc468,
    +    0xc46c, 0xc474, 0xc475, 0xc479, 0xc480, 0xc494, 0xc49c, 0xc4b8,
    +    0xc4bc, 0xc4e9, 0xc4f0, 0xc4f1, 0xc4f4, 0xc4f8, 0xc4fa, 0xc4ff,
    +    0xc500, 0xc501, 0xc50c, 0xc510, 0xc514, 0xc51c, 0xc528, 0xc529,
    +    0xc52c, 0xc530, 0xc538, 0xc539, 0xc53b, 0xc53d, 0xc544, 0xc545,
    +    0xc548, 0xc549, 0xc54a, 0xc54c, 0xc54d, 0xc54e, 0xc553, 0xc554,
    +    0xc555, 0xc557, 0xc558, 0xc559, 0xc55d, 0xc55e, 0xc560, 0xc561,
    +    0xc564, 0xc568, 0xc570, 0xc571, 0xc573, 0xc574, 0xc575, 0xc57c,
    +    0xc57d, 0xc580, 0xc584, 0xc587, 0xc58c, 0xc58d, 0xc58f, 0xc591,
    +    0xc595, 0xc597, 0xc598, 0xc59c, 0xc5a0, 0xc5a9, 0xc5b4, 0xc5b5,
    +    0xc5b8, 0xc5b9, 0xc5bb, 0xc5bc, 0xc5bd, 0xc5be, 0xc5c4, 0xc5c5,
    +    0xc5c6, 0xc5c7, 0xc5c8, 0xc5c9, 0xc5ca, 0xc5cc, 0xc5ce, 0x003f,
    +    /* lead byte bf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd49e, 0xd49f, 0xd4a0, 0xd4a1, 0xd4a2, 0xd4a3, 0xd4a4,
    +    0xd4a5, 0xd4a6, 0xd4a7, 0xd4a8, 0xd4aa, 0xd4ab, 0xd4ac, 0xd4ad,
    +    0xd4ae, 0xd4af, 0xd4b0, 0xd4b1, 0xd4b2, 0xd4b3, 0xd4b4, 0xd4b5,
    +    0xd4b6, 0xd4b7, 0xd4b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4b9, 0xd4ba, 0xd4bb, 0xd4bc, 0xd4bd, 0xd4be, 0xd4bf,
    +    0xd4c0, 0xd4c1, 0xd4c2, 0xd4c3, 0xd4c4, 0xd4c5, 0xd4c6, 0xd4c7,
    +    0xd4c8, 0xd4c9, 0xd4ca, 0xd4cb, 0xd4cd, 0xd4ce, 0xd4cf, 0xd4d1,
    +    0xd4d2, 0xd4d3, 0xd4d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4d6, 0xd4d7, 0xd4d8, 0xd4d9, 0xd4da, 0xd4db, 0xd4dd,
    +    0xd4de, 0xd4e0, 0xd4e1, 0xd4e2, 0xd4e3, 0xd4e4, 0xd4e5, 0xd4e6,
    +    0xd4e7, 0xd4e9, 0xd4ea, 0xd4eb, 0xd4ed, 0xd4ee, 0xd4ef, 0xd4f1,
    +    0xd4f2, 0xd4f3, 0xd4f4, 0xd4f5, 0xd4f6, 0xd4f7, 0xd4f9, 0xd4fa,
    +    0xd4fc, 0xc5d0, 0xc5d1, 0xc5d4, 0xc5d8, 0xc5e0, 0xc5e1, 0xc5e3,
    +    0xc5e5, 0xc5ec, 0xc5ed, 0xc5ee, 0xc5f0, 0xc5f4, 0xc5f6, 0xc5f7,
    +    0xc5fc, 0xc5fd, 0xc5fe, 0xc5ff, 0xc600, 0xc601, 0xc605, 0xc606,
    +    0xc607, 0xc608, 0xc60c, 0xc610, 0xc618, 0xc619, 0xc61b, 0xc61c,
    +    0xc624, 0xc625, 0xc628, 0xc62c, 0xc62d, 0xc62e, 0xc630, 0xc633,
    +    0xc634, 0xc635, 0xc637, 0xc639, 0xc63b, 0xc640, 0xc641, 0xc644,
    +    0xc648, 0xc650, 0xc651, 0xc653, 0xc654, 0xc655, 0xc65c, 0xc65d,
    +    0xc660, 0xc66c, 0xc66f, 0xc671, 0xc678, 0xc679, 0xc67c, 0xc680,
    +    0xc688, 0xc689, 0xc68b, 0xc68d, 0xc694, 0xc695, 0xc698, 0xc69c,
    +    0xc6a4, 0xc6a5, 0xc6a7, 0xc6a9, 0xc6b0, 0xc6b1, 0xc6b4, 0xc6b8,
    +    0xc6b9, 0xc6ba, 0xc6c0, 0xc6c1, 0xc6c3, 0xc6c5, 0xc6cc, 0xc6cd,
    +    0xc6d0, 0xc6d4, 0xc6dc, 0xc6dd, 0xc6e0, 0xc6e1, 0xc6e8, 0x003f,
    +    /* lead byte c0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4fe, 0xd4ff, 0xd500, 0xd501, 0xd502, 0xd503, 0xd505,
    +    0xd506, 0xd507, 0xd509, 0xd50a, 0xd50b, 0xd50d, 0xd50e, 0xd50f,
    +    0xd510, 0xd511, 0xd512, 0xd513, 0xd516, 0xd518, 0xd519, 0xd51a,
    +    0xd51b, 0xd51c, 0xd51d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd51e, 0xd51f, 0xd520, 0xd521, 0xd522, 0xd523, 0xd524,
    +    0xd525, 0xd526, 0xd527, 0xd528, 0xd529, 0xd52a, 0xd52b, 0xd52c,
    +    0xd52d, 0xd52e, 0xd52f, 0xd530, 0xd531, 0xd532, 0xd533, 0xd534,
    +    0xd535, 0xd536, 0xd537, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd538, 0xd539, 0xd53a, 0xd53b, 0xd53e, 0xd53f, 0xd541,
    +    0xd542, 0xd543, 0xd545, 0xd546, 0xd547, 0xd548, 0xd549, 0xd54a,
    +    0xd54b, 0xd54e, 0xd550, 0xd552, 0xd553, 0xd554, 0xd555, 0xd556,
    +    0xd557, 0xd55a, 0xd55b, 0xd55d, 0xd55e, 0xd55f, 0xd561, 0xd562,
    +    0xd563, 0xc6e9, 0xc6ec, 0xc6f0, 0xc6f8, 0xc6f9, 0xc6fd, 0xc704,
    +    0xc705, 0xc708, 0xc70c, 0xc714, 0xc715, 0xc717, 0xc719, 0xc720,
    +    0xc721, 0xc724, 0xc728, 0xc730, 0xc731, 0xc733, 0xc735, 0xc737,
    +    0xc73c, 0xc73d, 0xc740, 0xc744, 0xc74a, 0xc74c, 0xc74d, 0xc74f,
    +    0xc751, 0xc752, 0xc753, 0xc754, 0xc755, 0xc756, 0xc757, 0xc758,
    +    0xc75c, 0xc760, 0xc768, 0xc76b, 0xc774, 0xc775, 0xc778, 0xc77c,
    +    0xc77d, 0xc77e, 0xc783, 0xc784, 0xc785, 0xc787, 0xc788, 0xc789,
    +    0xc78a, 0xc78e, 0xc790, 0xc791, 0xc794, 0xc796, 0xc797, 0xc798,
    +    0xc79a, 0xc7a0, 0xc7a1, 0xc7a3, 0xc7a4, 0xc7a5, 0xc7a6, 0xc7ac,
    +    0xc7ad, 0xc7b0, 0xc7b4, 0xc7bc, 0xc7bd, 0xc7bf, 0xc7c0, 0xc7c1,
    +    0xc7c8, 0xc7c9, 0xc7cc, 0xc7ce, 0xc7d0, 0xc7d8, 0xc7dd, 0xc7e4,
    +    0xc7e8, 0xc7ec, 0xc800, 0xc801, 0xc804, 0xc808, 0xc80a, 0x003f,
    +    /* lead byte c1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd564, 0xd566, 0xd567, 0xd56a, 0xd56c, 0xd56e, 0xd56f,
    +    0xd570, 0xd571, 0xd572, 0xd573, 0xd576, 0xd577, 0xd579, 0xd57a,
    +    0xd57b, 0xd57d, 0xd57e, 0xd57f, 0xd580, 0xd581, 0xd582, 0xd583,
    +    0xd586, 0xd58a, 0xd58b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd58c, 0xd58d, 0xd58e, 0xd58f, 0xd591, 0xd592, 0xd593,
    +    0xd594, 0xd595, 0xd596, 0xd597, 0xd598, 0xd599, 0xd59a, 0xd59b,
    +    0xd59c, 0xd59d, 0xd59e, 0xd59f, 0xd5a0, 0xd5a1, 0xd5a2, 0xd5a3,
    +    0xd5a4, 0xd5a6, 0xd5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5a8, 0xd5a9, 0xd5aa, 0xd5ab, 0xd5ac, 0xd5ad, 0xd5ae,
    +    0xd5af, 0xd5b0, 0xd5b1, 0xd5b2, 0xd5b3, 0xd5b4, 0xd5b5, 0xd5b6,
    +    0xd5b7, 0xd5b8, 0xd5b9, 0xd5ba, 0xd5bb, 0xd5bc, 0xd5bd, 0xd5be,
    +    0xd5bf, 0xd5c0, 0xd5c1, 0xd5c2, 0xd5c3, 0xd5c4, 0xd5c5, 0xd5c6,
    +    0xd5c7, 0xc810, 0xc811, 0xc813, 0xc815, 0xc816, 0xc81c, 0xc81d,
    +    0xc820, 0xc824, 0xc82c, 0xc82d, 0xc82f, 0xc831, 0xc838, 0xc83c,
    +    0xc840, 0xc848, 0xc849, 0xc84c, 0xc84d, 0xc854, 0xc870, 0xc871,
    +    0xc874, 0xc878, 0xc87a, 0xc880, 0xc881, 0xc883, 0xc885, 0xc886,
    +    0xc887, 0xc88b, 0xc88c, 0xc88d, 0xc894, 0xc89d, 0xc89f, 0xc8a1,
    +    0xc8a8, 0xc8bc, 0xc8bd, 0xc8c4, 0xc8c8, 0xc8cc, 0xc8d4, 0xc8d5,
    +    0xc8d7, 0xc8d9, 0xc8e0, 0xc8e1, 0xc8e4, 0xc8f5, 0xc8fc, 0xc8fd,
    +    0xc900, 0xc904, 0xc905, 0xc906, 0xc90c, 0xc90d, 0xc90f, 0xc911,
    +    0xc918, 0xc92c, 0xc934, 0xc950, 0xc951, 0xc954, 0xc958, 0xc960,
    +    0xc961, 0xc963, 0xc96c, 0xc970, 0xc974, 0xc97c, 0xc988, 0xc989,
    +    0xc98c, 0xc990, 0xc998, 0xc999, 0xc99b, 0xc99d, 0xc9c0, 0xc9c1,
    +    0xc9c4, 0xc9c7, 0xc9c8, 0xc9ca, 0xc9d0, 0xc9d1, 0xc9d3, 0x003f,
    +    /* lead byte c2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5ca, 0xd5cb, 0xd5cd, 0xd5ce, 0xd5cf, 0xd5d1, 0xd5d3,
    +    0xd5d4, 0xd5d5, 0xd5d6, 0xd5d7, 0xd5da, 0xd5dc, 0xd5de, 0xd5df,
    +    0xd5e0, 0xd5e1, 0xd5e2, 0xd5e3, 0xd5e6, 0xd5e7, 0xd5e9, 0xd5ea,
    +    0xd5eb, 0xd5ed, 0xd5ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5ef, 0xd5f0, 0xd5f1, 0xd5f2, 0xd5f3, 0xd5f6, 0xd5f8,
    +    0xd5fa, 0xd5fb, 0xd5fc, 0xd5fd, 0xd5fe, 0xd5ff, 0xd602, 0xd603,
    +    0xd605, 0xd606, 0xd607, 0xd609, 0xd60a, 0xd60b, 0xd60c, 0xd60d,
    +    0xd60e, 0xd60f, 0xd612, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd616, 0xd617, 0xd618, 0xd619, 0xd61a, 0xd61b, 0xd61d,
    +    0xd61e, 0xd61f, 0xd621, 0xd622, 0xd623, 0xd625, 0xd626, 0xd627,
    +    0xd628, 0xd629, 0xd62a, 0xd62b, 0xd62c, 0xd62e, 0xd62f, 0xd630,
    +    0xd631, 0xd632, 0xd633, 0xd634, 0xd635, 0xd636, 0xd637, 0xd63a,
    +    0xd63b, 0xc9d5, 0xc9d6, 0xc9d9, 0xc9da, 0xc9dc, 0xc9dd, 0xc9e0,
    +    0xc9e2, 0xc9e4, 0xc9e7, 0xc9ec, 0xc9ed, 0xc9ef, 0xc9f0, 0xc9f1,
    +    0xc9f8, 0xc9f9, 0xc9fc, 0xca00, 0xca08, 0xca09, 0xca0b, 0xca0c,
    +    0xca0d, 0xca14, 0xca18, 0xca29, 0xca4c, 0xca4d, 0xca50, 0xca54,
    +    0xca5c, 0xca5d, 0xca5f, 0xca60, 0xca61, 0xca68, 0xca7d, 0xca84,
    +    0xca98, 0xcabc, 0xcabd, 0xcac0, 0xcac4, 0xcacc, 0xcacd, 0xcacf,
    +    0xcad1, 0xcad3, 0xcad8, 0xcad9, 0xcae0, 0xcaec, 0xcaf4, 0xcb08,
    +    0xcb10, 0xcb14, 0xcb18, 0xcb20, 0xcb21, 0xcb41, 0xcb48, 0xcb49,
    +    0xcb4c, 0xcb50, 0xcb58, 0xcb59, 0xcb5d, 0xcb64, 0xcb78, 0xcb79,
    +    0xcb9c, 0xcbb8, 0xcbd4, 0xcbe4, 0xcbe7, 0xcbe9, 0xcc0c, 0xcc0d,
    +    0xcc10, 0xcc14, 0xcc1c, 0xcc1d, 0xcc21, 0xcc22, 0xcc27, 0xcc28,
    +    0xcc29, 0xcc2c, 0xcc2e, 0xcc30, 0xcc38, 0xcc39, 0xcc3b, 0x003f,
    +    /* lead byte c3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd63d, 0xd63e, 0xd63f, 0xd641, 0xd642, 0xd643, 0xd644,
    +    0xd646, 0xd647, 0xd64a, 0xd64c, 0xd64e, 0xd64f, 0xd650, 0xd652,
    +    0xd653, 0xd656, 0xd657, 0xd659, 0xd65a, 0xd65b, 0xd65d, 0xd65e,
    +    0xd65f, 0xd660, 0xd661, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd662, 0xd663, 0xd664, 0xd665, 0xd666, 0xd668, 0xd66a,
    +    0xd66b, 0xd66c, 0xd66d, 0xd66e, 0xd66f, 0xd672, 0xd673, 0xd675,
    +    0xd676, 0xd677, 0xd678, 0xd679, 0xd67a, 0xd67b, 0xd67c, 0xd67d,
    +    0xd67e, 0xd67f, 0xd680, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd681, 0xd682, 0xd684, 0xd686, 0xd687, 0xd688, 0xd689,
    +    0xd68a, 0xd68b, 0xd68e, 0xd68f, 0xd691, 0xd692, 0xd693, 0xd695,
    +    0xd696, 0xd697, 0xd698, 0xd699, 0xd69a, 0xd69b, 0xd69c, 0xd69e,
    +    0xd6a0, 0xd6a2, 0xd6a3, 0xd6a4, 0xd6a5, 0xd6a6, 0xd6a7, 0xd6a9,
    +    0xd6aa, 0xcc3c, 0xcc3d, 0xcc3e, 0xcc44, 0xcc45, 0xcc48, 0xcc4c,
    +    0xcc54, 0xcc55, 0xcc57, 0xcc58, 0xcc59, 0xcc60, 0xcc64, 0xcc66,
    +    0xcc68, 0xcc70, 0xcc75, 0xcc98, 0xcc99, 0xcc9c, 0xcca0, 0xcca8,
    +    0xcca9, 0xccab, 0xccac, 0xccad, 0xccb4, 0xccb5, 0xccb8, 0xccbc,
    +    0xccc4, 0xccc5, 0xccc7, 0xccc9, 0xccd0, 0xccd4, 0xcce4, 0xccec,
    +    0xccf0, 0xcd01, 0xcd08, 0xcd09, 0xcd0c, 0xcd10, 0xcd18, 0xcd19,
    +    0xcd1b, 0xcd1d, 0xcd24, 0xcd28, 0xcd2c, 0xcd39, 0xcd5c, 0xcd60,
    +    0xcd64, 0xcd6c, 0xcd6d, 0xcd6f, 0xcd71, 0xcd78, 0xcd88, 0xcd94,
    +    0xcd95, 0xcd98, 0xcd9c, 0xcda4, 0xcda5, 0xcda7, 0xcda9, 0xcdb0,
    +    0xcdc4, 0xcdcc, 0xcdd0, 0xcde8, 0xcdec, 0xcdf0, 0xcdf8, 0xcdf9,
    +    0xcdfb, 0xcdfd, 0xce04, 0xce08, 0xce0c, 0xce14, 0xce19, 0xce20,
    +    0xce21, 0xce24, 0xce28, 0xce30, 0xce31, 0xce33, 0xce35, 0x003f,
    +    /* lead byte c4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6ab, 0xd6ad, 0xd6ae, 0xd6af, 0xd6b1, 0xd6b2, 0xd6b3,
    +    0xd6b4, 0xd6b5, 0xd6b6, 0xd6b7, 0xd6b8, 0xd6ba, 0xd6bc, 0xd6bd,
    +    0xd6be, 0xd6bf, 0xd6c0, 0xd6c1, 0xd6c2, 0xd6c3, 0xd6c6, 0xd6c7,
    +    0xd6c9, 0xd6ca, 0xd6cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6cd, 0xd6ce, 0xd6cf, 0xd6d0, 0xd6d2, 0xd6d3, 0xd6d5,
    +    0xd6d6, 0xd6d8, 0xd6da, 0xd6db, 0xd6dc, 0xd6dd, 0xd6de, 0xd6df,
    +    0xd6e1, 0xd6e2, 0xd6e3, 0xd6e5, 0xd6e6, 0xd6e7, 0xd6e9, 0xd6ea,
    +    0xd6eb, 0xd6ec, 0xd6ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6ee, 0xd6ef, 0xd6f1, 0xd6f2, 0xd6f3, 0xd6f4, 0xd6f6,
    +    0xd6f7, 0xd6f8, 0xd6f9, 0xd6fa, 0xd6fb, 0xd6fe, 0xd6ff, 0xd701,
    +    0xd702, 0xd703, 0xd705, 0xd706, 0xd707, 0xd708, 0xd709, 0xd70a,
    +    0xd70b, 0xd70c, 0xd70d, 0xd70e, 0xd70f, 0xd710, 0xd712, 0xd713,
    +    0xd714, 0xce58, 0xce59, 0xce5c, 0xce5f, 0xce60, 0xce61, 0xce68,
    +    0xce69, 0xce6b, 0xce6d, 0xce74, 0xce75, 0xce78, 0xce7c, 0xce84,
    +    0xce85, 0xce87, 0xce89, 0xce90, 0xce91, 0xce94, 0xce98, 0xcea0,
    +    0xcea1, 0xcea3, 0xcea4, 0xcea5, 0xceac, 0xcead, 0xcec1, 0xcee4,
    +    0xcee5, 0xcee8, 0xceeb, 0xceec, 0xcef4, 0xcef5, 0xcef7, 0xcef8,
    +    0xcef9, 0xcf00, 0xcf01, 0xcf04, 0xcf08, 0xcf10, 0xcf11, 0xcf13,
    +    0xcf15, 0xcf1c, 0xcf20, 0xcf24, 0xcf2c, 0xcf2d, 0xcf2f, 0xcf30,
    +    0xcf31, 0xcf38, 0xcf54, 0xcf55, 0xcf58, 0xcf5c, 0xcf64, 0xcf65,
    +    0xcf67, 0xcf69, 0xcf70, 0xcf71, 0xcf74, 0xcf78, 0xcf80, 0xcf85,
    +    0xcf8c, 0xcfa1, 0xcfa8, 0xcfb0, 0xcfc4, 0xcfe0, 0xcfe1, 0xcfe4,
    +    0xcfe8, 0xcff0, 0xcff1, 0xcff3, 0xcff5, 0xcffc, 0xd000, 0xd004,
    +    0xd011, 0xd018, 0xd02d, 0xd034, 0xd035, 0xd038, 0xd03c, 0x003f,
    +    /* lead byte c5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd715, 0xd716, 0xd717, 0xd71a, 0xd71b, 0xd71d, 0xd71e,
    +    0xd71f, 0xd721, 0xd722, 0xd723, 0xd724, 0xd725, 0xd726, 0xd727,
    +    0xd72a, 0xd72c, 0xd72e, 0xd72f, 0xd730, 0xd731, 0xd732, 0xd733,
    +    0xd736, 0xd737, 0xd739, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd73a, 0xd73b, 0xd73d, 0xd73e, 0xd73f, 0xd740, 0xd741,
    +    0xd742, 0xd743, 0xd745, 0xd746, 0xd748, 0xd74a, 0xd74b, 0xd74c,
    +    0xd74d, 0xd74e, 0xd74f, 0xd752, 0xd753, 0xd755, 0xd75a, 0xd75b,
    +    0xd75c, 0xd75d, 0xd75e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd75f, 0xd762, 0xd764, 0xd766, 0xd767, 0xd768, 0xd76a,
    +    0xd76b, 0xd76d, 0xd76e, 0xd76f, 0xd771, 0xd772, 0xd773, 0xd775,
    +    0xd776, 0xd777, 0xd778, 0xd779, 0xd77a, 0xd77b, 0xd77e, 0xd77f,
    +    0xd780, 0xd782, 0xd783, 0xd784, 0xd785, 0xd786, 0xd787, 0xd78a,
    +    0xd78b, 0xd044, 0xd045, 0xd047, 0xd049, 0xd050, 0xd054, 0xd058,
    +    0xd060, 0xd06c, 0xd06d, 0xd070, 0xd074, 0xd07c, 0xd07d, 0xd081,
    +    0xd0a4, 0xd0a5, 0xd0a8, 0xd0ac, 0xd0b4, 0xd0b5, 0xd0b7, 0xd0b9,
    +    0xd0c0, 0xd0c1, 0xd0c4, 0xd0c8, 0xd0c9, 0xd0d0, 0xd0d1, 0xd0d3,
    +    0xd0d4, 0xd0d5, 0xd0dc, 0xd0dd, 0xd0e0, 0xd0e4, 0xd0ec, 0xd0ed,
    +    0xd0ef, 0xd0f0, 0xd0f1, 0xd0f8, 0xd10d, 0xd130, 0xd131, 0xd134,
    +    0xd138, 0xd13a, 0xd140, 0xd141, 0xd143, 0xd144, 0xd145, 0xd14c,
    +    0xd14d, 0xd150, 0xd154, 0xd15c, 0xd15d, 0xd15f, 0xd161, 0xd168,
    +    0xd16c, 0xd17c, 0xd184, 0xd188, 0xd1a0, 0xd1a1, 0xd1a4, 0xd1a8,
    +    0xd1b0, 0xd1b1, 0xd1b3, 0xd1b5, 0xd1ba, 0xd1bc, 0xd1c0, 0xd1d8,
    +    0xd1f4, 0xd1f8, 0xd207, 0xd209, 0xd210, 0xd22c, 0xd22d, 0xd230,
    +    0xd234, 0xd23c, 0xd23d, 0xd23f, 0xd241, 0xd248, 0xd25c, 0x003f,
    +    /* lead byte c6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd78d, 0xd78e, 0xd78f, 0xd791, 0xd792, 0xd793, 0xd794,
    +    0xd795, 0xd796, 0xd797, 0xd79a, 0xd79c, 0xd79e, 0xd79f, 0xd7a0,
    +    0xd7a1, 0xd7a2, 0xd7a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd264, 0xd280, 0xd281, 0xd284, 0xd288, 0xd290, 0xd291,
    +    0xd295, 0xd29c, 0xd2a0, 0xd2a4, 0xd2ac, 0xd2b1, 0xd2b8, 0xd2b9,
    +    0xd2bc, 0xd2bf, 0xd2c0, 0xd2c2, 0xd2c8, 0xd2c9, 0xd2cb, 0xd2d4,
    +    0xd2d8, 0xd2dc, 0xd2e4, 0xd2e5, 0xd2f0, 0xd2f1, 0xd2f4, 0xd2f8,
    +    0xd300, 0xd301, 0xd303, 0xd305, 0xd30c, 0xd30d, 0xd30e, 0xd310,
    +    0xd314, 0xd316, 0xd31c, 0xd31d, 0xd31f, 0xd320, 0xd321, 0xd325,
    +    0xd328, 0xd329, 0xd32c, 0xd330, 0xd338, 0xd339, 0xd33b, 0xd33c,
    +    0xd33d, 0xd344, 0xd345, 0xd37c, 0xd37d, 0xd380, 0xd384, 0xd38c,
    +    0xd38d, 0xd38f, 0xd390, 0xd391, 0xd398, 0xd399, 0xd39c, 0xd3a0,
    +    0xd3a8, 0xd3a9, 0xd3ab, 0xd3ad, 0xd3b4, 0xd3b8, 0xd3bc, 0xd3c4,
    +    0xd3c5, 0xd3c8, 0xd3c9, 0xd3d0, 0xd3d8, 0xd3e1, 0xd3e3, 0xd3ec,
    +    0xd3ed, 0xd3f0, 0xd3f4, 0xd3fc, 0xd3fd, 0xd3ff, 0xd401, 0x003f,
    +    /* lead byte c7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd408, 0xd41d, 0xd440, 0xd444, 0xd45c, 0xd460, 0xd464,
    +    0xd46d, 0xd46f, 0xd478, 0xd479, 0xd47c, 0xd47f, 0xd480, 0xd482,
    +    0xd488, 0xd489, 0xd48b, 0xd48d, 0xd494, 0xd4a9, 0xd4cc, 0xd4d0,
    +    0xd4d4, 0xd4dc, 0xd4df, 0xd4e8, 0xd4ec, 0xd4f0, 0xd4f8, 0xd4fb,
    +    0xd4fd, 0xd504, 0xd508, 0xd50c, 0xd514, 0xd515, 0xd517, 0xd53c,
    +    0xd53d, 0xd540, 0xd544, 0xd54c, 0xd54d, 0xd54f, 0xd551, 0xd558,
    +    0xd559, 0xd55c, 0xd560, 0xd565, 0xd568, 0xd569, 0xd56b, 0xd56d,
    +    0xd574, 0xd575, 0xd578, 0xd57c, 0xd584, 0xd585, 0xd587, 0xd588,
    +    0xd589, 0xd590, 0xd5a5, 0xd5c8, 0xd5c9, 0xd5cc, 0xd5d0, 0xd5d2,
    +    0xd5d8, 0xd5d9, 0xd5db, 0xd5dd, 0xd5e4, 0xd5e5, 0xd5e8, 0xd5ec,
    +    0xd5f4, 0xd5f5, 0xd5f7, 0xd5f9, 0xd600, 0xd601, 0xd604, 0xd608,
    +    0xd610, 0xd611, 0xd613, 0xd614, 0xd615, 0xd61c, 0xd620, 0x003f,
    +    /* lead byte c8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd624, 0xd62d, 0xd638, 0xd639, 0xd63c, 0xd640, 0xd645,
    +    0xd648, 0xd649, 0xd64b, 0xd64d, 0xd651, 0xd654, 0xd655, 0xd658,
    +    0xd65c, 0xd667, 0xd669, 0xd670, 0xd671, 0xd674, 0xd683, 0xd685,
    +    0xd68c, 0xd68d, 0xd690, 0xd694, 0xd69d, 0xd69f, 0xd6a1, 0xd6a8,
    +    0xd6ac, 0xd6b0, 0xd6b9, 0xd6bb, 0xd6c4, 0xd6c5, 0xd6c8, 0xd6cc,
    +    0xd6d1, 0xd6d4, 0xd6d7, 0xd6d9, 0xd6e0, 0xd6e4, 0xd6e8, 0xd6f0,
    +    0xd6f5, 0xd6fc, 0xd6fd, 0xd700, 0xd704, 0xd711, 0xd718, 0xd719,
    +    0xd71c, 0xd720, 0xd728, 0xd729, 0xd72b, 0xd72d, 0xd734, 0xd735,
    +    0xd738, 0xd73c, 0xd744, 0xd747, 0xd749, 0xd750, 0xd751, 0xd754,
    +    0xd756, 0xd757, 0xd758, 0xd759, 0xd760, 0xd761, 0xd763, 0xd765,
    +    0xd769, 0xd76c, 0xd770, 0xd774, 0xd77c, 0xd77d, 0xd781, 0xd788,
    +    0xd789, 0xd78c, 0xd790, 0xd798, 0xd799, 0xd79b, 0xd79d, 0x003f,
    +    /* lead byte ca */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x4f3d, 0x4f73, 0x5047, 0x50f9, 0x52a0, 0x53ef, 0x5475,
    +    0x54e5, 0x5609, 0x5ac1, 0x5bb6, 0x6687, 0x67b6, 0x67b7, 0x67ef,
    +    0x6b4c, 0x73c2, 0x75c2, 0x7a3c, 0x82db, 0x8304, 0x8857, 0x8888,
    +    0x8a36, 0x8cc8, 0x8dcf, 0x8efb, 0x8fe6, 0x99d5, 0x523b, 0x5374,
    +    0x5404, 0x606a, 0x6164, 0x6bbc, 0x73cf, 0x811a, 0x89ba, 0x89d2,
    +    0x95a3, 0x4f83, 0x520a, 0x58be, 0x5978, 0x59e6, 0x5e72, 0x5e79,
    +    0x61c7, 0x63c0, 0x6746, 0x67ec, 0x687f, 0x6f97, 0x764e, 0x770b,
    +    0x78f5, 0x7a08, 0x7aff, 0x7c21, 0x809d, 0x826e, 0x8271, 0x8aeb,
    +    0x9593, 0x4e6b, 0x559d, 0x66f7, 0x6e34, 0x78a3, 0x7aed, 0x845b,
    +    0x8910, 0x874e, 0x97a8, 0x52d8, 0x574e, 0x582a, 0x5d4c, 0x611f,
    +    0x61be, 0x6221, 0x6562, 0x67d1, 0x6a44, 0x6e1b, 0x7518, 0x75b3,
    +    0x76e3, 0x77b0, 0x7d3a, 0x90af, 0x9451, 0x9452, 0x9f95, 0x003f,
    +    /* lead byte cb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5323, 0x5cac, 0x7532, 0x80db, 0x9240, 0x9598, 0x525b,
    +    0x5808, 0x59dc, 0x5ca1, 0x5d17, 0x5eb7, 0x5f3a, 0x5f4a, 0x6177,
    +    0x6c5f, 0x757a, 0x7586, 0x7ce0, 0x7d73, 0x7db1, 0x7f8c, 0x8154,
    +    0x8221, 0x8591, 0x8941, 0x8b1b, 0x92fc, 0x964d, 0x9c47, 0x4ecb,
    +    0x4ef7, 0x500b, 0x51f1, 0x584f, 0x6137, 0x613e, 0x6168, 0x6539,
    +    0x69ea, 0x6f11, 0x75a5, 0x7686, 0x76d6, 0x7b87, 0x82a5, 0x84cb,
    +    0xf900, 0x93a7, 0x958b, 0x5580, 0x5ba2, 0x5751, 0xf901, 0x7cb3,
    +    0x7fb9, 0x91b5, 0x5028, 0x53bb, 0x5c45, 0x5de8, 0x62d2, 0x636e,
    +    0x64da, 0x64e7, 0x6e20, 0x70ac, 0x795b, 0x8ddd, 0x8e1e, 0xf902,
    +    0x907d, 0x9245, 0x92f8, 0x4e7e, 0x4ef6, 0x5065, 0x5dfe, 0x5efa,
    +    0x6106, 0x6957, 0x8171, 0x8654, 0x8e47, 0x9375, 0x9a2b, 0x4e5e,
    +    0x5091, 0x6770, 0x6840, 0x5109, 0x528d, 0x5292, 0x6aa2, 0x003f,
    +    /* lead byte cc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x77bc, 0x9210, 0x9ed4, 0x52ab, 0x602f, 0x8ff2, 0x5048,
    +    0x61a9, 0x63ed, 0x64ca, 0x683c, 0x6a84, 0x6fc0, 0x8188, 0x89a1,
    +    0x9694, 0x5805, 0x727d, 0x72ac, 0x7504, 0x7d79, 0x7e6d, 0x80a9,
    +    0x898b, 0x8b74, 0x9063, 0x9d51, 0x6289, 0x6c7a, 0x6f54, 0x7d50,
    +    0x7f3a, 0x8a23, 0x517c, 0x614a, 0x7b9d, 0x8b19, 0x9257, 0x938c,
    +    0x4eac, 0x4fd3, 0x501e, 0x50be, 0x5106, 0x52c1, 0x52cd, 0x537f,
    +    0x5770, 0x5883, 0x5e9a, 0x5f91, 0x6176, 0x61ac, 0x64ce, 0x656c,
    +    0x666f, 0x66bb, 0x66f4, 0x6897, 0x6d87, 0x7085, 0x70f1, 0x749f,
    +    0x74a5, 0x74ca, 0x75d9, 0x786c, 0x78ec, 0x7adf, 0x7af6, 0x7d45,
    +    0x7d93, 0x8015, 0x803f, 0x811b, 0x8396, 0x8b66, 0x8f15, 0x9015,
    +    0x93e1, 0x9803, 0x9838, 0x9a5a, 0x9be8, 0x4fc2, 0x5553, 0x583a,
    +    0x5951, 0x5b63, 0x5c46, 0x60b8, 0x6212, 0x6842, 0x68b0, 0x003f,
    +    /* lead byte cd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x68e8, 0x6eaa, 0x754c, 0x7678, 0x78ce, 0x7a3d, 0x7cfb,
    +    0x7e6b, 0x7e7c, 0x8a08, 0x8aa1, 0x8c3f, 0x968e, 0x9dc4, 0x53e4,
    +    0x53e9, 0x544a, 0x5471, 0x56fa, 0x59d1, 0x5b64, 0x5c3b, 0x5eab,
    +    0x62f7, 0x6537, 0x6545, 0x6572, 0x66a0, 0x67af, 0x69c1, 0x6cbd,
    +    0x75fc, 0x7690, 0x777e, 0x7a3f, 0x7f94, 0x8003, 0x80a1, 0x818f,
    +    0x82e6, 0x82fd, 0x83f0, 0x85c1, 0x8831, 0x88b4, 0x8aa5, 0xf903,
    +    0x8f9c, 0x932e, 0x96c7, 0x9867, 0x9ad8, 0x9f13, 0x54ed, 0x659b,
    +    0x66f2, 0x688f, 0x7a40, 0x8c37, 0x9d60, 0x56f0, 0x5764, 0x5d11,
    +    0x6606, 0x68b1, 0x68cd, 0x6efe, 0x7428, 0x889e, 0x9be4, 0x6c68,
    +    0xf904, 0x9aa8, 0x4f9b, 0x516c, 0x5171, 0x529f, 0x5b54, 0x5de5,
    +    0x6050, 0x606d, 0x62f1, 0x63a7, 0x653b, 0x73d9, 0x7a7a, 0x86a3,
    +    0x8ca2, 0x978f, 0x4e32, 0x5be1, 0x6208, 0x679c, 0x74dc, 0x003f,
    +    /* lead byte ce */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x79d1, 0x83d3, 0x8a87, 0x8ab2, 0x8de8, 0x904e, 0x934b,
    +    0x9846, 0x5ed3, 0x69e8, 0x85ff, 0x90ed, 0xf905, 0x51a0, 0x5b98,
    +    0x5bec, 0x6163, 0x68fa, 0x6b3e, 0x704c, 0x742f, 0x74d8, 0x7ba1,
    +    0x7f50, 0x83c5, 0x89c0, 0x8cab, 0x95dc, 0x9928, 0x522e, 0x605d,
    +    0x62ec, 0x9002, 0x4f8a, 0x5149, 0x5321, 0x58d9, 0x5ee3, 0x66e0,
    +    0x6d38, 0x709a, 0x72c2, 0x73d6, 0x7b50, 0x80f1, 0x945b, 0x5366,
    +    0x639b, 0x7f6b, 0x4e56, 0x5080, 0x584a, 0x58de, 0x602a, 0x6127,
    +    0x62d0, 0x69d0, 0x9b41, 0x5b8f, 0x7d18, 0x80b1, 0x8f5f, 0x4ea4,
    +    0x50d1, 0x54ac, 0x55ac, 0x5b0c, 0x5da0, 0x5de7, 0x652a, 0x654e,
    +    0x6821, 0x6a4b, 0x72e1, 0x768e, 0x77ef, 0x7d5e, 0x7ff9, 0x81a0,
    +    0x854e, 0x86df, 0x8f03, 0x8f4e, 0x90ca, 0x9903, 0x9a55, 0x9bab,
    +    0x4e18, 0x4e45, 0x4e5d, 0x4ec7, 0x4ff1, 0x5177, 0x52fe, 0x003f,
    +    /* lead byte cf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5340, 0x53e3, 0x53e5, 0x548e, 0x5614, 0x5775, 0x57a2,
    +    0x5bc7, 0x5d87, 0x5ed0, 0x61fc, 0x62d8, 0x6551, 0x67b8, 0x67e9,
    +    0x69cb, 0x6b50, 0x6bc6, 0x6bec, 0x6c42, 0x6e9d, 0x7078, 0x72d7,
    +    0x7396, 0x7403, 0x77bf, 0x77e9, 0x7a76, 0x7d7f, 0x8009, 0x81fc,
    +    0x8205, 0x820a, 0x82df, 0x8862, 0x8b33, 0x8cfc, 0x8ec0, 0x9011,
    +    0x90b1, 0x9264, 0x92b6, 0x99d2, 0x9a45, 0x9ce9, 0x9dd7, 0x9f9c,
    +    0x570b, 0x5c40, 0x83ca, 0x97a0, 0x97ab, 0x9eb4, 0x541b, 0x7a98,
    +    0x7fa4, 0x88d9, 0x8ecd, 0x90e1, 0x5800, 0x5c48, 0x6398, 0x7a9f,
    +    0x5bae, 0x5f13, 0x7a79, 0x7aae, 0x828e, 0x8eac, 0x5026, 0x5238,
    +    0x52f8, 0x5377, 0x5708, 0x62f3, 0x6372, 0x6b0a, 0x6dc3, 0x7737,
    +    0x53a5, 0x7357, 0x8568, 0x8e76, 0x95d5, 0x673a, 0x6ac3, 0x6f70,
    +    0x8a6d, 0x8ecc, 0x994b, 0xf906, 0x6677, 0x6b78, 0x8cb4, 0x003f,
    +    /* lead byte d0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9b3c, 0xf907, 0x53eb, 0x572d, 0x594e, 0x63c6, 0x69fb,
    +    0x73ea, 0x7845, 0x7aba, 0x7ac5, 0x7cfe, 0x8475, 0x898f, 0x8d73,
    +    0x9035, 0x95a8, 0x52fb, 0x5747, 0x7547, 0x7b60, 0x83cc, 0x921e,
    +    0xf908, 0x6a58, 0x514b, 0x524b, 0x5287, 0x621f, 0x68d8, 0x6975,
    +    0x9699, 0x50c5, 0x52a4, 0x52e4, 0x61c3, 0x65a4, 0x6839, 0x69ff,
    +    0x747e, 0x7b4b, 0x82b9, 0x83eb, 0x89b2, 0x8b39, 0x8fd1, 0x9949,
    +    0xf909, 0x4eca, 0x5997, 0x64d2, 0x6611, 0x6a8e, 0x7434, 0x7981,
    +    0x79bd, 0x82a9, 0x887e, 0x887f, 0x895f, 0xf90a, 0x9326, 0x4f0b,
    +    0x53ca, 0x6025, 0x6271, 0x6c72, 0x7d1a, 0x7d66, 0x4e98, 0x5162,
    +    0x77dc, 0x80af, 0x4f01, 0x4f0e, 0x5176, 0x5180, 0x55dc, 0x5668,
    +    0x573b, 0x57fa, 0x57fc, 0x5914, 0x5947, 0x5993, 0x5bc4, 0x5c90,
    +    0x5d0e, 0x5df1, 0x5e7e, 0x5fcc, 0x6280, 0x65d7, 0x65e3, 0x003f,
    +    /* lead byte d1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x671e, 0x671f, 0x675e, 0x68cb, 0x68c4, 0x6a5f, 0x6b3a,
    +    0x6c23, 0x6c7d, 0x6c82, 0x6dc7, 0x7398, 0x7426, 0x742a, 0x7482,
    +    0x74a3, 0x7578, 0x757f, 0x7881, 0x78ef, 0x7941, 0x7947, 0x7948,
    +    0x797a, 0x7b95, 0x7d00, 0x7dba, 0x7f88, 0x8006, 0x802d, 0x808c,
    +    0x8a18, 0x8b4f, 0x8c48, 0x8d77, 0x9321, 0x9324, 0x98e2, 0x9951,
    +    0x9a0e, 0x9a0f, 0x9a65, 0x9e92, 0x7dca, 0x4f76, 0x5409, 0x62ee,
    +    0x6854, 0x91d1, 0x55ab, 0x513a, 0xf90b, 0xf90c, 0x5a1c, 0x61e6,
    +    0xf90d, 0x62cf, 0x62ff, 0xf90e, 0xf90f, 0xf910, 0xf911, 0xf912,
    +    0xf913, 0x90a3, 0xf914, 0xf915, 0xf916, 0xf917, 0xf918, 0x8afe,
    +    0xf919, 0xf91a, 0xf91b, 0xf91c, 0x6696, 0xf91d, 0x7156, 0xf91e,
    +    0xf91f, 0x96e3, 0xf920, 0x634f, 0x637a, 0x5357, 0xf921, 0x678f,
    +    0x6960, 0x6e73, 0xf922, 0x7537, 0xf923, 0xf924, 0xf925, 0x003f,
    +    /* lead byte d2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7d0d, 0xf926, 0xf927, 0x8872, 0x56ca, 0x5a18, 0xf928,
    +    0xf929, 0xf92a, 0xf92b, 0xf92c, 0x4e43, 0xf92d, 0x5167, 0x5948,
    +    0x67f0, 0x8010, 0xf92e, 0x5973, 0x5e74, 0x649a, 0x79ca, 0x5ff5,
    +    0x606c, 0x62c8, 0x637b, 0x5be7, 0x5bd7, 0x52aa, 0xf92f, 0x5974,
    +    0x5f29, 0x6012, 0xf930, 0xf931, 0xf932, 0x7459, 0xf933, 0xf934,
    +    0xf935, 0xf936, 0xf937, 0xf938, 0x99d1, 0xf939, 0xf93a, 0xf93b,
    +    0xf93c, 0xf93d, 0xf93e, 0xf93f, 0xf940, 0xf941, 0xf942, 0xf943,
    +    0x6fc3, 0xf944, 0xf945, 0x81bf, 0x8fb2, 0x60f1, 0xf946, 0xf947,
    +    0x8166, 0xf948, 0xf949, 0x5c3f, 0xf94a, 0xf94b, 0xf94c, 0xf94d,
    +    0xf94e, 0xf94f, 0xf950, 0xf951, 0x5ae9, 0x8a25, 0x677b, 0x7d10,
    +    0xf952, 0xf953, 0xf954, 0xf955, 0xf956, 0xf957, 0x80fd, 0xf958,
    +    0xf959, 0x5c3c, 0x6ce5, 0x533f, 0x6eba, 0x591a, 0x8336, 0x003f,
    +    /* lead byte d3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x4e39, 0x4eb6, 0x4f46, 0x55ae, 0x5718, 0x58c7, 0x5f56,
    +    0x65b7, 0x65e6, 0x6a80, 0x6bb5, 0x6e4d, 0x77ed, 0x7aef, 0x7c1e,
    +    0x7dde, 0x86cb, 0x8892, 0x9132, 0x935b, 0x64bb, 0x6fbe, 0x737a,
    +    0x75b8, 0x9054, 0x5556, 0x574d, 0x61ba, 0x64d4, 0x66c7, 0x6de1,
    +    0x6e5b, 0x6f6d, 0x6fb9, 0x75f0, 0x8043, 0x81bd, 0x8541, 0x8983,
    +    0x8ac7, 0x8b5a, 0x931f, 0x6c93, 0x7553, 0x7b54, 0x8e0f, 0x905d,
    +    0x5510, 0x5802, 0x5858, 0x5e62, 0x6207, 0x649e, 0x68e0, 0x7576,
    +    0x7cd6, 0x87b3, 0x9ee8, 0x4ee3, 0x5788, 0x576e, 0x5927, 0x5c0d,
    +    0x5cb1, 0x5e36, 0x5f85, 0x6234, 0x64e1, 0x73b3, 0x81fa, 0x888b,
    +    0x8cb8, 0x968a, 0x9edb, 0x5b85, 0x5fb7, 0x60b3, 0x5012, 0x5200,
    +    0x5230, 0x5716, 0x5835, 0x5857, 0x5c0e, 0x5c60, 0x5cf6, 0x5d8b,
    +    0x5ea6, 0x5f92, 0x60bc, 0x6311, 0x6389, 0x6417, 0x6843, 0x003f,
    +    /* lead byte d4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x68f9, 0x6ac2, 0x6dd8, 0x6e21, 0x6ed4, 0x6fe4, 0x71fe,
    +    0x76dc, 0x7779, 0x79b1, 0x7a3b, 0x8404, 0x89a9, 0x8ced, 0x8df3,
    +    0x8e48, 0x9003, 0x9014, 0x9053, 0x90fd, 0x934d, 0x9676, 0x97dc,
    +    0x6bd2, 0x7006, 0x7258, 0x72a2, 0x7368, 0x7763, 0x79bf, 0x7be4,
    +    0x7e9b, 0x8b80, 0x58a9, 0x60c7, 0x6566, 0x65fd, 0x66be, 0x6c8c,
    +    0x711e, 0x71c9, 0x8c5a, 0x9813, 0x4e6d, 0x7a81, 0x4edd, 0x51ac,
    +    0x51cd, 0x52d5, 0x540c, 0x61a7, 0x6771, 0x6850, 0x68df, 0x6d1e,
    +    0x6f7c, 0x75bc, 0x77b3, 0x7ae5, 0x80f4, 0x8463, 0x9285, 0x515c,
    +    0x6597, 0x675c, 0x6793, 0x75d8, 0x7ac7, 0x8373, 0xf95a, 0x8c46,
    +    0x9017, 0x982d, 0x5c6f, 0x81c0, 0x829a, 0x9041, 0x906f, 0x920d,
    +    0x5f97, 0x5d9d, 0x6a59, 0x71c8, 0x767b, 0x7b49, 0x85e4, 0x8b04,
    +    0x9127, 0x9a30, 0x5587, 0x61f6, 0xf95b, 0x7669, 0x7f85, 0x003f,
    +    /* lead byte d5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x863f, 0x87ba, 0x88f8, 0x908f, 0xf95c, 0x6d1b, 0x70d9,
    +    0x73de, 0x7d61, 0x843d, 0xf95d, 0x916a, 0x99f1, 0xf95e, 0x4e82,
    +    0x5375, 0x6b04, 0x6b12, 0x703e, 0x721b, 0x862d, 0x9e1e, 0x524c,
    +    0x8fa3, 0x5d50, 0x64e5, 0x652c, 0x6b16, 0x6feb, 0x7c43, 0x7e9c,
    +    0x85cd, 0x8964, 0x89bd, 0x62c9, 0x81d8, 0x881f, 0x5eca, 0x6717,
    +    0x6d6a, 0x72fc, 0x7405, 0x746f, 0x8782, 0x90de, 0x4f86, 0x5d0d,
    +    0x5fa0, 0x840a, 0x51b7, 0x63a0, 0x7565, 0x4eae, 0x5006, 0x5169,
    +    0x51c9, 0x6881, 0x6a11, 0x7cae, 0x7cb1, 0x7ce7, 0x826f, 0x8ad2,
    +    0x8f1b, 0x91cf, 0x4fb6, 0x5137, 0x52f5, 0x5442, 0x5eec, 0x616e,
    +    0x623e, 0x65c5, 0x6ada, 0x6ffe, 0x792a, 0x85dc, 0x8823, 0x95ad,
    +    0x9a62, 0x9a6a, 0x9e97, 0x9ece, 0x529b, 0x66c6, 0x6b77, 0x701d,
    +    0x792b, 0x8f62, 0x9742, 0x6190, 0x6200, 0x6523, 0x6f23, 0x003f,
    +    /* lead byte d6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7149, 0x7489, 0x7df4, 0x806f, 0x84ee, 0x8f26, 0x9023,
    +    0x934a, 0x51bd, 0x5217, 0x52a3, 0x6d0c, 0x70c8, 0x88c2, 0x5ec9,
    +    0x6582, 0x6bae, 0x6fc2, 0x7c3e, 0x7375, 0x4ee4, 0x4f36, 0x56f9,
    +    0xf95f, 0x5cba, 0x5dba, 0x601c, 0x73b2, 0x7b2d, 0x7f9a, 0x7fce,
    +    0x8046, 0x901e, 0x9234, 0x96f6, 0x9748, 0x9818, 0x9f61, 0x4f8b,
    +    0x6fa7, 0x79ae, 0x91b4, 0x96b7, 0x52de, 0xf960, 0x6488, 0x64c4,
    +    0x6ad3, 0x6f5e, 0x7018, 0x7210, 0x76e7, 0x8001, 0x8606, 0x865c,
    +    0x8def, 0x8f05, 0x9732, 0x9b6f, 0x9dfa, 0x9e75, 0x788c, 0x797f,
    +    0x7da0, 0x83c9, 0x9304, 0x9e7f, 0x9e93, 0x8ad6, 0x58df, 0x5f04,
    +    0x6727, 0x7027, 0x74cf, 0x7c60, 0x807e, 0x5121, 0x7028, 0x7262,
    +    0x78ca, 0x8cc2, 0x8cda, 0x8cf4, 0x96f7, 0x4e86, 0x50da, 0x5bee,
    +    0x5ed6, 0x6599, 0x71ce, 0x7642, 0x77ad, 0x804a, 0x84fc, 0x003f,
    +    /* lead byte d7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x907c, 0x9b27, 0x9f8d, 0x58d8, 0x5a41, 0x5c62, 0x6a13,
    +    0x6dda, 0x6f0f, 0x763b, 0x7d2f, 0x7e37, 0x851e, 0x8938, 0x93e4,
    +    0x964b, 0x5289, 0x65d2, 0x67f3, 0x69b4, 0x6d41, 0x6e9c, 0x700f,
    +    0x7409, 0x7460, 0x7559, 0x7624, 0x786b, 0x8b2c, 0x985e, 0x516d,
    +    0x622e, 0x9678, 0x4f96, 0x502b, 0x5d19, 0x6dea, 0x7db8, 0x8f2a,
    +    0x5f8b, 0x6144, 0x6817, 0xf961, 0x9686, 0x52d2, 0x808b, 0x51dc,
    +    0x51cc, 0x695e, 0x7a1c, 0x7dbe, 0x83f1, 0x9675, 0x4fda, 0x5229,
    +    0x5398, 0x540f, 0x550e, 0x5c65, 0x60a7, 0x674e, 0x68a8, 0x6d6c,
    +    0x7281, 0x72f8, 0x7406, 0x7483, 0xf962, 0x75e2, 0x7c6c, 0x7f79,
    +    0x7fb8, 0x8389, 0x88cf, 0x88e1, 0x91cc, 0x91d0, 0x96e2, 0x9bc9,
    +    0x541d, 0x6f7e, 0x71d0, 0x7498, 0x85fa, 0x8eaa, 0x96a3, 0x9c57,
    +    0x9e9f, 0x6797, 0x6dcb, 0x7433, 0x81e8, 0x9716, 0x782c, 0x003f,
    +    /* lead byte d8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7acb, 0x7b20, 0x7c92, 0x6469, 0x746a, 0x75f2, 0x78bc,
    +    0x78e8, 0x99ac, 0x9b54, 0x9ebb, 0x5bde, 0x5e55, 0x6f20, 0x819c,
    +    0x83ab, 0x9088, 0x4e07, 0x534d, 0x5a29, 0x5dd2, 0x5f4e, 0x6162,
    +    0x633d, 0x6669, 0x66fc, 0x6eff, 0x6f2b, 0x7063, 0x779e, 0x842c,
    +    0x8513, 0x883b, 0x8f13, 0x9945, 0x9c3b, 0x551c, 0x62b9, 0x672b,
    +    0x6cab, 0x8309, 0x896a, 0x977a, 0x4ea1, 0x5984, 0x5fd8, 0x5fd9,
    +    0x671b, 0x7db2, 0x7f54, 0x8292, 0x832b, 0x83bd, 0x8f1e, 0x9099,
    +    0x57cb, 0x59b9, 0x5a92, 0x5bd0, 0x6627, 0x679a, 0x6885, 0x6bcf,
    +    0x7164, 0x7f75, 0x8cb7, 0x8ce3, 0x9081, 0x9b45, 0x8108, 0x8c8a,
    +    0x964c, 0x9a40, 0x9ea5, 0x5b5f, 0x6c13, 0x731b, 0x76f2, 0x76df,
    +    0x840c, 0x51aa, 0x8993, 0x514d, 0x5195, 0x52c9, 0x68c9, 0x6c94,
    +    0x7704, 0x7720, 0x7dbf, 0x7dec, 0x9762, 0x9eb5, 0x6ec5, 0x003f,
    +    /* lead byte d9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8511, 0x51a5, 0x540d, 0x547d, 0x660e, 0x669d, 0x6927,
    +    0x6e9f, 0x76bf, 0x7791, 0x8317, 0x84c2, 0x879f, 0x9169, 0x9298,
    +    0x9cf4, 0x8882, 0x4fae, 0x5192, 0x52df, 0x59c6, 0x5e3d, 0x6155,
    +    0x6478, 0x6479, 0x66ae, 0x67d0, 0x6a21, 0x6bcd, 0x6bdb, 0x725f,
    +    0x7261, 0x7441, 0x7738, 0x77db, 0x8017, 0x82bc, 0x8305, 0x8b00,
    +    0x8b28, 0x8c8c, 0x6728, 0x6c90, 0x7267, 0x76ee, 0x7766, 0x7a46,
    +    0x9da9, 0x6b7f, 0x6c92, 0x5922, 0x6726, 0x8499, 0x536f, 0x5893,
    +    0x5999, 0x5edf, 0x63cf, 0x6634, 0x6773, 0x6e3a, 0x732b, 0x7ad7,
    +    0x82d7, 0x9328, 0x52d9, 0x5deb, 0x61ae, 0x61cb, 0x620a, 0x62c7,
    +    0x64ab, 0x65e0, 0x6959, 0x6b66, 0x6bcb, 0x7121, 0x73f7, 0x755d,
    +    0x7e46, 0x821e, 0x8302, 0x856a, 0x8aa3, 0x8cbf, 0x9727, 0x9d61,
    +    0x58a8, 0x9ed8, 0x5011, 0x520e, 0x543b, 0x554f, 0x6587, 0x003f,
    +    /* lead byte da */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6c76, 0x7d0a, 0x7d0b, 0x805e, 0x868a, 0x9580, 0x96ef,
    +    0x52ff, 0x6c95, 0x7269, 0x5473, 0x5a9a, 0x5c3e, 0x5d4b, 0x5f4c,
    +    0x5fae, 0x672a, 0x68b6, 0x6963, 0x6e3c, 0x6e44, 0x7709, 0x7c73,
    +    0x7f8e, 0x8587, 0x8b0e, 0x8ff7, 0x9761, 0x9ef4, 0x5cb7, 0x60b6,
    +    0x610d, 0x61ab, 0x654f, 0x65fb, 0x65fc, 0x6c11, 0x6cef, 0x739f,
    +    0x73c9, 0x7de1, 0x9594, 0x5bc6, 0x871c, 0x8b10, 0x525d, 0x535a,
    +    0x62cd, 0x640f, 0x64b2, 0x6734, 0x6a38, 0x6cca, 0x73c0, 0x749e,
    +    0x7b94, 0x7c95, 0x7e1b, 0x818a, 0x8236, 0x8584, 0x8feb, 0x96f9,
    +    0x99c1, 0x4f34, 0x534a, 0x53cd, 0x53db, 0x62cc, 0x642c, 0x6500,
    +    0x6591, 0x69c3, 0x6cee, 0x6f58, 0x73ed, 0x7554, 0x7622, 0x76e4,
    +    0x76fc, 0x78d0, 0x78fb, 0x792c, 0x7d46, 0x822c, 0x87e0, 0x8fd4,
    +    0x9812, 0x98ef, 0x52c3, 0x62d4, 0x64a5, 0x6e24, 0x6f51, 0x003f,
    +    /* lead byte db */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x767c, 0x8dcb, 0x91b1, 0x9262, 0x9aee, 0x9b43, 0x5023,
    +    0x508d, 0x574a, 0x59a8, 0x5c28, 0x5e47, 0x5f77, 0x623f, 0x653e,
    +    0x65b9, 0x65c1, 0x6609, 0x678b, 0x699c, 0x6ec2, 0x78c5, 0x7d21,
    +    0x80aa, 0x8180, 0x822b, 0x82b3, 0x84a1, 0x868c, 0x8a2a, 0x8b17,
    +    0x90a6, 0x9632, 0x9f90, 0x500d, 0x4ff3, 0xf963, 0x57f9, 0x5f98,
    +    0x62dc, 0x6392, 0x676f, 0x6e43, 0x7119, 0x76c3, 0x80cc, 0x80da,
    +    0x88f4, 0x88f5, 0x8919, 0x8ce0, 0x8f29, 0x914d, 0x966a, 0x4f2f,
    +    0x4f70, 0x5e1b, 0x67cf, 0x6822, 0x767d, 0x767e, 0x9b44, 0x5e61,
    +    0x6a0a, 0x7169, 0x71d4, 0x756a, 0xf964, 0x7e41, 0x8543, 0x85e9,
    +    0x98dc, 0x4f10, 0x7b4f, 0x7f70, 0x95a5, 0x51e1, 0x5e06, 0x68b5,
    +    0x6c3e, 0x6c4e, 0x6cdb, 0x72af, 0x7bc4, 0x8303, 0x6cd5, 0x743a,
    +    0x50fb, 0x5288, 0x58c1, 0x64d8, 0x6a97, 0x74a7, 0x7656, 0x003f,
    +    /* lead byte dc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x78a7, 0x8617, 0x95e2, 0x9739, 0xf965, 0x535e, 0x5f01,
    +    0x8b8a, 0x8fa8, 0x8faf, 0x908a, 0x5225, 0x77a5, 0x9c49, 0x9f08,
    +    0x4e19, 0x5002, 0x5175, 0x5c5b, 0x5e77, 0x661e, 0x663a, 0x67c4,
    +    0x68c5, 0x70b3, 0x7501, 0x75c5, 0x79c9, 0x7add, 0x8f27, 0x9920,
    +    0x9a08, 0x4fdd, 0x5821, 0x5831, 0x5bf6, 0x666e, 0x6b65, 0x6d11,
    +    0x6e7a, 0x6f7d, 0x73e4, 0x752b, 0x83e9, 0x88dc, 0x8913, 0x8b5c,
    +    0x8f14, 0x4f0f, 0x50d5, 0x5310, 0x535c, 0x5b93, 0x5fa9, 0x670d,
    +    0x798f, 0x8179, 0x832f, 0x8514, 0x8907, 0x8986, 0x8f39, 0x8f3b,
    +    0x99a5, 0x9c12, 0x672c, 0x4e76, 0x4ff8, 0x5949, 0x5c01, 0x5cef,
    +    0x5cf0, 0x6367, 0x68d2, 0x70fd, 0x71a2, 0x742b, 0x7e2b, 0x84ec,
    +    0x8702, 0x9022, 0x92d2, 0x9cf3, 0x4e0d, 0x4ed8, 0x4fef, 0x5085,
    +    0x5256, 0x526f, 0x5426, 0x5490, 0x57e0, 0x592b, 0x5a66, 0x003f,
    +    /* lead byte dd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5b5a, 0x5b75, 0x5bcc, 0x5e9c, 0xf966, 0x6276, 0x6577,
    +    0x65a7, 0x6d6e, 0x6ea5, 0x7236, 0x7b26, 0x7c3f, 0x7f36, 0x8150,
    +    0x8151, 0x819a, 0x8240, 0x8299, 0x83a9, 0x8a03, 0x8ca0, 0x8ce6,
    +    0x8cfb, 0x8d74, 0x8dba, 0x90e8, 0x91dc, 0x961c, 0x9644, 0x99d9,
    +    0x9ce7, 0x5317, 0x5206, 0x5429, 0x5674, 0x58b3, 0x5954, 0x596e,
    +    0x5fff, 0x61a4, 0x626e, 0x6610, 0x6c7e, 0x711a, 0x76c6, 0x7c89,
    +    0x7cde, 0x7d1b, 0x82ac, 0x8cc1, 0x96f0, 0xf967, 0x4f5b, 0x5f17,
    +    0x5f7f, 0x62c2, 0x5d29, 0x670b, 0x68da, 0x787c, 0x7e43, 0x9d6c,
    +    0x4e15, 0x5099, 0x5315, 0x532a, 0x5351, 0x5983, 0x5a62, 0x5e87,
    +    0x60b2, 0x618a, 0x6249, 0x6279, 0x6590, 0x6787, 0x69a7, 0x6bd4,
    +    0x6bd6, 0x6bd7, 0x6bd8, 0x6cb8, 0xf968, 0x7435, 0x75fa, 0x7812,
    +    0x7891, 0x79d5, 0x79d8, 0x7c83, 0x7dcb, 0x7fe1, 0x80a5, 0x003f,
    +    /* lead byte de */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x813e, 0x81c2, 0x83f2, 0x871a, 0x88e8, 0x8ab9, 0x8b6c,
    +    0x8cbb, 0x9119, 0x975e, 0x98db, 0x9f3b, 0x56ac, 0x5b2a, 0x5f6c,
    +    0x658c, 0x6ab3, 0x6baf, 0x6d5c, 0x6ff1, 0x7015, 0x725d, 0x73ad,
    +    0x8ca7, 0x8cd3, 0x983b, 0x6191, 0x6c37, 0x8058, 0x9a01, 0x4e4d,
    +    0x4e8b, 0x4e9b, 0x4ed5, 0x4f3a, 0x4f3c, 0x4f7f, 0x4fdf, 0x50ff,
    +    0x53f2, 0x53f8, 0x5506, 0x55e3, 0x56db, 0x58eb, 0x5962, 0x5a11,
    +    0x5beb, 0x5bfa, 0x5c04, 0x5df3, 0x5e2b, 0x5f99, 0x601d, 0x6368,
    +    0x659c, 0x65af, 0x67f6, 0x67fb, 0x68ad, 0x6b7b, 0x6c99, 0x6cd7,
    +    0x6e23, 0x7009, 0x7345, 0x7802, 0x793e, 0x7940, 0x7960, 0x79c1,
    +    0x7be9, 0x7d17, 0x7d72, 0x8086, 0x820d, 0x838e, 0x84d1, 0x86c7,
    +    0x88df, 0x8a50, 0x8a5e, 0x8b1d, 0x8cdc, 0x8d66, 0x8fad, 0x90aa,
    +    0x98fc, 0x99df, 0x9e9d, 0x524a, 0xf969, 0x6714, 0xf96a, 0x003f,
    +    /* lead byte df */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5098, 0x522a, 0x5c71, 0x6563, 0x6c55, 0x73ca, 0x7523,
    +    0x759d, 0x7b97, 0x849c, 0x9178, 0x9730, 0x4e77, 0x6492, 0x6bba,
    +    0x715e, 0x85a9, 0x4e09, 0xf96b, 0x6749, 0x68ee, 0x6e17, 0x829f,
    +    0x8518, 0x886b, 0x63f7, 0x6f81, 0x9212, 0x98af, 0x4e0a, 0x50b7,
    +    0x50cf, 0x511f, 0x5546, 0x55aa, 0x5617, 0x5b40, 0x5c19, 0x5ce0,
    +    0x5e38, 0x5e8a, 0x5ea0, 0x5ec2, 0x60f3, 0x6851, 0x6a61, 0x6e58,
    +    0x723d, 0x7240, 0x72c0, 0x76f8, 0x7965, 0x7bb1, 0x7fd4, 0x88f3,
    +    0x89f4, 0x8a73, 0x8c61, 0x8cde, 0x971c, 0x585e, 0x74bd, 0x8cfd,
    +    0x55c7, 0xf96c, 0x7a61, 0x7d22, 0x8272, 0x7272, 0x751f, 0x7525,
    +    0xf96d, 0x7b19, 0x5885, 0x58fb, 0x5dbc, 0x5e8f, 0x5eb6, 0x5f90,
    +    0x6055, 0x6292, 0x637f, 0x654d, 0x6691, 0x66d9, 0x66f8, 0x6816,
    +    0x68f2, 0x7280, 0x745e, 0x7b6e, 0x7d6e, 0x7dd6, 0x7f72, 0x003f,
    +    /* lead byte e0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x80e5, 0x8212, 0x85af, 0x897f, 0x8a93, 0x901d, 0x92e4,
    +    0x9ecd, 0x9f20, 0x5915, 0x596d, 0x5e2d, 0x60dc, 0x6614, 0x6673,
    +    0x6790, 0x6c50, 0x6dc5, 0x6f5f, 0x77f3, 0x78a9, 0x84c6, 0x91cb,
    +    0x932b, 0x4ed9, 0x50ca, 0x5148, 0x5584, 0x5b0b, 0x5ba3, 0x6247,
    +    0x657e, 0x65cb, 0x6e32, 0x717d, 0x7401, 0x7444, 0x7487, 0x74bf,
    +    0x766c, 0x79aa, 0x7dda, 0x7e55, 0x7fa8, 0x817a, 0x81b3, 0x8239,
    +    0x861a, 0x87ec, 0x8a75, 0x8de3, 0x9078, 0x9291, 0x9425, 0x994d,
    +    0x9bae, 0x5368, 0x5c51, 0x6954, 0x6cc4, 0x6d29, 0x6e2b, 0x820c,
    +    0x859b, 0x893b, 0x8a2d, 0x8aaa, 0x96ea, 0x9f67, 0x5261, 0x66b9,
    +    0x6bb2, 0x7e96, 0x87fe, 0x8d0d, 0x9583, 0x965d, 0x651d, 0x6d89,
    +    0x71ee, 0xf96e, 0x57ce, 0x59d3, 0x5bac, 0x6027, 0x60fa, 0x6210,
    +    0x661f, 0x665f, 0x7329, 0x73f9, 0x76db, 0x7701, 0x7b6c, 0x003f,
    +    /* lead byte e1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8056, 0x8072, 0x8165, 0x8aa0, 0x9192, 0x4e16, 0x52e2,
    +    0x6b72, 0x6d17, 0x7a05, 0x7b39, 0x7d30, 0xf96f, 0x8cb0, 0x53ec,
    +    0x562f, 0x5851, 0x5bb5, 0x5c0f, 0x5c11, 0x5de2, 0x6240, 0x6383,
    +    0x6414, 0x662d, 0x68b3, 0x6cbc, 0x6d88, 0x6eaf, 0x701f, 0x70a4,
    +    0x71d2, 0x7526, 0x758f, 0x758e, 0x7619, 0x7b11, 0x7be0, 0x7c2b,
    +    0x7d20, 0x7d39, 0x852c, 0x856d, 0x8607, 0x8a34, 0x900d, 0x9061,
    +    0x90b5, 0x92b7, 0x97f6, 0x9a37, 0x4fd7, 0x5c6c, 0x675f, 0x6d91,
    +    0x7c9f, 0x7e8c, 0x8b16, 0x8d16, 0x901f, 0x5b6b, 0x5dfd, 0x640d,
    +    0x84c0, 0x905c, 0x98e1, 0x7387, 0x5b8b, 0x609a, 0x677e, 0x6dde,
    +    0x8a1f, 0x8aa6, 0x9001, 0x980c, 0x5237, 0xf970, 0x7051, 0x788e,
    +    0x9396, 0x8870, 0x91d7, 0x4fee, 0x53d7, 0x55fd, 0x56da, 0x5782,
    +    0x58fd, 0x5ac2, 0x5b88, 0x5cab, 0x5cc0, 0x5e25, 0x6101, 0x003f,
    +    /* lead byte e2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x620d, 0x624b, 0x6388, 0x641c, 0x6536, 0x6578, 0x6a39,
    +    0x6b8a, 0x6c34, 0x6d19, 0x6f31, 0x71e7, 0x72e9, 0x7378, 0x7407,
    +    0x74b2, 0x7626, 0x7761, 0x79c0, 0x7a57, 0x7aea, 0x7cb9, 0x7d8f,
    +    0x7dac, 0x7e61, 0x7f9e, 0x8129, 0x8331, 0x8490, 0x84da, 0x85ea,
    +    0x8896, 0x8ab0, 0x8b90, 0x8f38, 0x9042, 0x9083, 0x916c, 0x9296,
    +    0x92b9, 0x968b, 0x96a7, 0x96a8, 0x96d6, 0x9700, 0x9808, 0x9996,
    +    0x9ad3, 0x9b1a, 0x53d4, 0x587e, 0x5919, 0x5b70, 0x5bbf, 0x6dd1,
    +    0x6f5a, 0x719f, 0x7421, 0x74b9, 0x8085, 0x83fd, 0x5de1, 0x5f87,
    +    0x5faa, 0x6042, 0x65ec, 0x6812, 0x696f, 0x6a53, 0x6b89, 0x6d35,
    +    0x6df3, 0x73e3, 0x76fe, 0x77ac, 0x7b4d, 0x7d14, 0x8123, 0x821c,
    +    0x8340, 0x84f4, 0x8563, 0x8a62, 0x8ac4, 0x9187, 0x931e, 0x9806,
    +    0x99b4, 0x620c, 0x8853, 0x8ff0, 0x9265, 0x5d07, 0x5d27, 0x003f,
    +    /* lead byte e3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5d69, 0x745f, 0x819d, 0x8768, 0x6fd5, 0x62fe, 0x7fd2,
    +    0x8936, 0x8972, 0x4e1e, 0x4e58, 0x50e7, 0x52dd, 0x5347, 0x627f,
    +    0x6607, 0x7e69, 0x8805, 0x965e, 0x4f8d, 0x5319, 0x5636, 0x59cb,
    +    0x5aa4, 0x5c38, 0x5c4e, 0x5c4d, 0x5e02, 0x5f11, 0x6043, 0x65bd,
    +    0x662f, 0x6642, 0x67be, 0x67f4, 0x731c, 0x77e2, 0x793a, 0x7fc5,
    +    0x8494, 0x84cd, 0x8996, 0x8a66, 0x8a69, 0x8ae1, 0x8c55, 0x8c7a,
    +    0x57f4, 0x5bd4, 0x5f0f, 0x606f, 0x62ed, 0x690d, 0x6b96, 0x6e5c,
    +    0x7184, 0x7bd2, 0x8755, 0x8b58, 0x8efe, 0x98df, 0x98fe, 0x4f38,
    +    0x4f81, 0x4fe1, 0x547b, 0x5a20, 0x5bb8, 0x613c, 0x65b0, 0x6668,
    +    0x71fc, 0x7533, 0x795e, 0x7d33, 0x814e, 0x81e3, 0x8398, 0x85aa,
    +    0x85ce, 0x8703, 0x8a0a, 0x8eab, 0x8f9b, 0xf971, 0x8fc5, 0x5931,
    +    0x5ba4, 0x5be6, 0x6089, 0x5be9, 0x5c0b, 0x5fc3, 0x6c81, 0x003f,
    +    /* lead byte e4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf972, 0x6df1, 0x700b, 0x751a, 0x82af, 0x8af6, 0x4ec0,
    +    0x5341, 0xf973, 0x96d9, 0x6c0f, 0x4e9e, 0x4fc4, 0x5152, 0x555e,
    +    0x5a25, 0x5ce8, 0x6211, 0x7259, 0x82bd, 0x83aa, 0x86fe, 0x8859,
    +    0x8a1d, 0x963f, 0x96c5, 0x9913, 0x9d09, 0x9d5d, 0x580a, 0x5cb3,
    +    0x5dbd, 0x5e44, 0x60e1, 0x6115, 0x63e1, 0x6a02, 0x6e25, 0x9102,
    +    0x9354, 0x984e, 0x9c10, 0x9f77, 0x5b89, 0x5cb8, 0x6309, 0x664f,
    +    0x6848, 0x773c, 0x96c1, 0x978d, 0x9854, 0x9b9f, 0x65a1, 0x8b01,
    +    0x8ecb, 0x95bc, 0x5535, 0x5ca9, 0x5dd6, 0x5eb5, 0x6697, 0x764c,
    +    0x83f4, 0x95c7, 0x58d3, 0x62bc, 0x72ce, 0x9d28, 0x4ef0, 0x592e,
    +    0x600f, 0x663b, 0x6b83, 0x79e7, 0x9d26, 0x5393, 0x54c0, 0x57c3,
    +    0x5d16, 0x611b, 0x66d6, 0x6daf, 0x788d, 0x827e, 0x9698, 0x9744,
    +    0x5384, 0x627c, 0x6396, 0x6db2, 0x7e0a, 0x814b, 0x984d, 0x003f,
    +    /* lead byte e5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6afb, 0x7f4c, 0x9daf, 0x9e1a, 0x4e5f, 0x503b, 0x51b6,
    +    0x591c, 0x60f9, 0x63f6, 0x6930, 0x723a, 0x8036, 0xf974, 0x91ce,
    +    0x5f31, 0xf975, 0xf976, 0x7d04, 0x82e5, 0x846f, 0x84bb, 0x85e5,
    +    0x8e8d, 0xf977, 0x4f6f, 0xf978, 0xf979, 0x58e4, 0x5b43, 0x6059,
    +    0x63da, 0x6518, 0x656d, 0x6698, 0xf97a, 0x694a, 0x6a23, 0x6d0b,
    +    0x7001, 0x716c, 0x75d2, 0x760d, 0x79b3, 0x7a70, 0xf97b, 0x7f8a,
    +    0xf97c, 0x8944, 0xf97d, 0x8b93, 0x91c0, 0x967d, 0xf97e, 0x990a,
    +    0x5704, 0x5fa1, 0x65bc, 0x6f01, 0x7600, 0x79a6, 0x8a9e, 0x99ad,
    +    0x9b5a, 0x9f6c, 0x5104, 0x61b6, 0x6291, 0x6a8d, 0x81c6, 0x5043,
    +    0x5830, 0x5f66, 0x7109, 0x8a00, 0x8afa, 0x5b7c, 0x8616, 0x4ffa,
    +    0x513c, 0x56b4, 0x5944, 0x63a9, 0x6df9, 0x5daa, 0x696d, 0x5186,
    +    0x4e88, 0x4f59, 0xf97f, 0xf980, 0xf981, 0x5982, 0xf982, 0x003f,
    +    /* lead byte e6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf983, 0x6b5f, 0x6c5d, 0xf984, 0x74b5, 0x7916, 0xf985,
    +    0x8207, 0x8245, 0x8339, 0x8f3f, 0x8f5d, 0xf986, 0x9918, 0xf987,
    +    0xf988, 0xf989, 0x4ea6, 0xf98a, 0x57df, 0x5f79, 0x6613, 0xf98b,
    +    0xf98c, 0x75ab, 0x7e79, 0x8b6f, 0xf98d, 0x9006, 0x9a5b, 0x56a5,
    +    0x5827, 0x59f8, 0x5a1f, 0x5bb4, 0xf98e, 0x5ef6, 0xf98f, 0xf990,
    +    0x6350, 0x633b, 0xf991, 0x693d, 0x6c87, 0x6cbf, 0x6d8e, 0x6d93,
    +    0x6df5, 0x6f14, 0xf992, 0x70df, 0x7136, 0x7159, 0xf993, 0x71c3,
    +    0x71d5, 0xf994, 0x784f, 0x786f, 0xf995, 0x7b75, 0x7de3, 0xf996,
    +    0x7e2f, 0xf997, 0x884d, 0x8edf, 0xf998, 0xf999, 0xf99a, 0x925b,
    +    0xf99b, 0x9cf6, 0xf99c, 0xf99d, 0xf99e, 0x6085, 0x6d85, 0xf99f,
    +    0x71b1, 0xf9a0, 0xf9a1, 0x95b1, 0x53ad, 0xf9a2, 0xf9a3, 0xf9a4,
    +    0x67d3, 0xf9a5, 0x708e, 0x7130, 0x7430, 0x8276, 0x82d2, 0x003f,
    +    /* lead byte e7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf9a6, 0x95bb, 0x9ae5, 0x9e7d, 0x66c4, 0xf9a7, 0x71c1,
    +    0x8449, 0xf9a8, 0xf9a9, 0x584b, 0xf9aa, 0xf9ab, 0x5db8, 0x5f71,
    +    0xf9ac, 0x6620, 0x668e, 0x6979, 0x69ae, 0x6c38, 0x6cf3, 0x6e36,
    +    0x6f41, 0x6fda, 0x701b, 0x702f, 0x7150, 0x71df, 0x7370, 0xf9ad,
    +    0x745b, 0xf9ae, 0x74d4, 0x76c8, 0x7a4e, 0x7e93, 0xf9af, 0xf9b0,
    +    0x82f1, 0x8a60, 0x8fce, 0xf9b1, 0x9348, 0xf9b2, 0x9719, 0xf9b3,
    +    0xf9b4, 0x4e42, 0x502a, 0xf9b5, 0x5208, 0x53e1, 0x66f3, 0x6c6d,
    +    0x6fca, 0x730a, 0x777f, 0x7a62, 0x82ae, 0x85dd, 0x8602, 0xf9b6,
    +    0x88d4, 0x8a63, 0x8b7d, 0x8c6b, 0xf9b7, 0x92b3, 0xf9b8, 0x9713,
    +    0x9810, 0x4e94, 0x4f0d, 0x4fc9, 0x50b2, 0x5348, 0x543e, 0x5433,
    +    0x55da, 0x5862, 0x58ba, 0x5967, 0x5a1b, 0x5be4, 0x609f, 0xf9b9,
    +    0x61ca, 0x6556, 0x65ff, 0x6664, 0x68a7, 0x6c5a, 0x6fb3, 0x003f,
    +    /* lead byte e8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x70cf, 0x71ac, 0x7352, 0x7b7d, 0x8708, 0x8aa4, 0x9c32,
    +    0x9f07, 0x5c4b, 0x6c83, 0x7344, 0x7389, 0x923a, 0x6eab, 0x7465,
    +    0x761f, 0x7a69, 0x7e15, 0x860a, 0x5140, 0x58c5, 0x64c1, 0x74ee,
    +    0x7515, 0x7670, 0x7fc1, 0x9095, 0x96cd, 0x9954, 0x6e26, 0x74e6,
    +    0x7aa9, 0x7aaa, 0x81e5, 0x86d9, 0x8778, 0x8a1b, 0x5a49, 0x5b8c,
    +    0x5b9b, 0x68a1, 0x6900, 0x6d63, 0x73a9, 0x7413, 0x742c, 0x7897,
    +    0x7de9, 0x7feb, 0x8118, 0x8155, 0x839e, 0x8c4c, 0x962e, 0x9811,
    +    0x66f0, 0x5f80, 0x65fa, 0x6789, 0x6c6a, 0x738b, 0x502d, 0x5a03,
    +    0x6b6a, 0x77ee, 0x5916, 0x5d6c, 0x5dcd, 0x7325, 0x754f, 0xf9ba,
    +    0xf9bb, 0x50e5, 0x51f9, 0x582f, 0x592d, 0x5996, 0x59da, 0x5be5,
    +    0xf9bc, 0xf9bd, 0x5da2, 0x62d7, 0x6416, 0x6493, 0x64fe, 0xf9be,
    +    0x66dc, 0xf9bf, 0x6a48, 0xf9c0, 0x71ff, 0x7464, 0xf9c1, 0x003f,
    +    /* lead byte e9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7a88, 0x7aaf, 0x7e47, 0x7e5e, 0x8000, 0x8170, 0xf9c2,
    +    0x87ef, 0x8981, 0x8b20, 0x9059, 0xf9c3, 0x9080, 0x9952, 0x617e,
    +    0x6b32, 0x6d74, 0x7e1f, 0x8925, 0x8fb1, 0x4fd1, 0x50ad, 0x5197,
    +    0x52c7, 0x57c7, 0x5889, 0x5bb9, 0x5eb8, 0x6142, 0x6995, 0x6d8c,
    +    0x6e67, 0x6eb6, 0x7194, 0x7462, 0x7528, 0x752c, 0x8073, 0x8338,
    +    0x84c9, 0x8e0a, 0x9394, 0x93de, 0xf9c4, 0x4e8e, 0x4f51, 0x5076,
    +    0x512a, 0x53c8, 0x53cb, 0x53f3, 0x5b87, 0x5bd3, 0x5c24, 0x611a,
    +    0x6182, 0x65f4, 0x725b, 0x7397, 0x7440, 0x76c2, 0x7950, 0x7991,
    +    0x79b9, 0x7d06, 0x7fbd, 0x828b, 0x85d5, 0x865e, 0x8fc2, 0x9047,
    +    0x90f5, 0x91ea, 0x9685, 0x96e8, 0x96e9, 0x52d6, 0x5f67, 0x65ed,
    +    0x6631, 0x682f, 0x715c, 0x7a36, 0x90c1, 0x980a, 0x4e91, 0xf9c5,
    +    0x6a52, 0x6b9e, 0x6f90, 0x7189, 0x8018, 0x82b8, 0x8553, 0x003f,
    +    /* lead byte ea */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x904b, 0x9695, 0x96f2, 0x97fb, 0x851a, 0x9b31, 0x4e90,
    +    0x718a, 0x96c4, 0x5143, 0x539f, 0x54e1, 0x5713, 0x5712, 0x57a3,
    +    0x5a9b, 0x5ac4, 0x5bc3, 0x6028, 0x613f, 0x63f4, 0x6c85, 0x6d39,
    +    0x6e72, 0x6e90, 0x7230, 0x733f, 0x7457, 0x82d1, 0x8881, 0x8f45,
    +    0x9060, 0xf9c6, 0x9662, 0x9858, 0x9d1b, 0x6708, 0x8d8a, 0x925e,
    +    0x4f4d, 0x5049, 0x50de, 0x5371, 0x570d, 0x59d4, 0x5a01, 0x5c09,
    +    0x6170, 0x6690, 0x6e2d, 0x7232, 0x744b, 0x7def, 0x80c3, 0x840e,
    +    0x8466, 0x853f, 0x875f, 0x885b, 0x8918, 0x8b02, 0x9055, 0x97cb,
    +    0x9b4f, 0x4e73, 0x4f91, 0x5112, 0x516a, 0xf9c7, 0x552f, 0x55a9,
    +    0x5b7a, 0x5ba5, 0x5e7c, 0x5e7d, 0x5ebe, 0x60a0, 0x60df, 0x6108,
    +    0x6109, 0x63c4, 0x6538, 0x6709, 0xf9c8, 0x67d4, 0x67da, 0xf9c9,
    +    0x6961, 0x6962, 0x6cb9, 0x6d27, 0xf9ca, 0x6e38, 0xf9cb, 0x003f,
    +    /* lead byte eb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6fe1, 0x7336, 0x7337, 0xf9cc, 0x745c, 0x7531, 0xf9cd,
    +    0x7652, 0xf9ce, 0xf9cf, 0x7dad, 0x81fe, 0x8438, 0x88d5, 0x8a98,
    +    0x8adb, 0x8aed, 0x8e30, 0x8e42, 0x904a, 0x903e, 0x907a, 0x9149,
    +    0x91c9, 0x936e, 0xf9d0, 0xf9d1, 0x5809, 0xf9d2, 0x6bd3, 0x8089,
    +    0x80b2, 0xf9d3, 0xf9d4, 0x5141, 0x596b, 0x5c39, 0xf9d5, 0xf9d6,
    +    0x6f64, 0x73a7, 0x80e4, 0x8d07, 0xf9d7, 0x9217, 0x958f, 0xf9d8,
    +    0xf9d9, 0xf9da, 0xf9db, 0x807f, 0x620e, 0x701c, 0x7d68, 0x878d,
    +    0xf9dc, 0x57a0, 0x6069, 0x6147, 0x6bb7, 0x8abe, 0x9280, 0x96b1,
    +    0x4e59, 0x541f, 0x6deb, 0x852d, 0x9670, 0x97f3, 0x98ee, 0x63d6,
    +    0x6ce3, 0x9091, 0x51dd, 0x61c9, 0x81ba, 0x9df9, 0x4f9d, 0x501a,
    +    0x5100, 0x5b9c, 0x610f, 0x61ff, 0x64ec, 0x6905, 0x6bc5, 0x7591,
    +    0x77e3, 0x7fa9, 0x8264, 0x858f, 0x87fb, 0x8863, 0x8abc, 0x003f,
    +    /* lead byte ec */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8b70, 0x91ab, 0x4e8c, 0x4ee5, 0x4f0a, 0xf9dd, 0xf9de,
    +    0x5937, 0x59e8, 0xf9df, 0x5df2, 0x5f1b, 0x5f5b, 0x6021, 0xf9e0,
    +    0xf9e1, 0xf9e2, 0xf9e3, 0x723e, 0x73e5, 0xf9e4, 0x7570, 0x75cd,
    +    0xf9e5, 0x79fb, 0xf9e6, 0x800c, 0x8033, 0x8084, 0x82e1, 0x8351,
    +    0xf9e7, 0xf9e8, 0x8cbd, 0x8cb3, 0x9087, 0xf9e9, 0xf9ea, 0x98f4,
    +    0x990c, 0xf9eb, 0xf9ec, 0x7037, 0x76ca, 0x7fca, 0x7fcc, 0x7ffc,
    +    0x8b1a, 0x4eba, 0x4ec1, 0x5203, 0x5370, 0xf9ed, 0x54bd, 0x56e0,
    +    0x59fb, 0x5bc5, 0x5f15, 0x5fcd, 0x6e6e, 0xf9ee, 0xf9ef, 0x7d6a,
    +    0x8335, 0xf9f0, 0x8693, 0x8a8d, 0xf9f1, 0x976d, 0x9777, 0xf9f2,
    +    0xf9f3, 0x4e00, 0x4f5a, 0x4f7e, 0x58f9, 0x65e5, 0x6ea2, 0x9038,
    +    0x93b0, 0x99b9, 0x4efb, 0x58ec, 0x598a, 0x59d9, 0x6041, 0xf9f4,
    +    0xf9f5, 0x7a14, 0xf9f6, 0x834f, 0x8cc3, 0x5165, 0x5344, 0x003f,
    +    /* lead byte ed */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf9f7, 0xf9f8, 0xf9f9, 0x4ecd, 0x5269, 0x5b55, 0x82bf,
    +    0x4ed4, 0x523a, 0x54a8, 0x59c9, 0x59ff, 0x5b50, 0x5b57, 0x5b5c,
    +    0x6063, 0x6148, 0x6ecb, 0x7099, 0x716e, 0x7386, 0x74f7, 0x75b5,
    +    0x78c1, 0x7d2b, 0x8005, 0x81ea, 0x8328, 0x8517, 0x85c9, 0x8aee,
    +    0x8cc7, 0x96cc, 0x4f5c, 0x52fa, 0x56bc, 0x65ab, 0x6628, 0x707c,
    +    0x70b8, 0x7235, 0x7dbd, 0x828d, 0x914c, 0x96c0, 0x9d72, 0x5b71,
    +    0x68e7, 0x6b98, 0x6f7a, 0x76de, 0x5c91, 0x66ab, 0x6f5b, 0x7bb4,
    +    0x7c2a, 0x8836, 0x96dc, 0x4e08, 0x4ed7, 0x5320, 0x5834, 0x58bb,
    +    0x58ef, 0x596c, 0x5c07, 0x5e33, 0x5e84, 0x5f35, 0x638c, 0x66b2,
    +    0x6756, 0x6a1f, 0x6aa3, 0x6b0c, 0x6f3f, 0x7246, 0xf9fa, 0x7350,
    +    0x748b, 0x7ae0, 0x7ca7, 0x8178, 0x81df, 0x81e7, 0x838a, 0x846c,
    +    0x8523, 0x8594, 0x85cf, 0x88dd, 0x8d13, 0x91ac, 0x9577, 0x003f,
    +    /* lead byte ee */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x969c, 0x518d, 0x54c9, 0x5728, 0x5bb0, 0x624d, 0x6750,
    +    0x683d, 0x6893, 0x6e3d, 0x6ed3, 0x707d, 0x7e21, 0x88c1, 0x8ca1,
    +    0x8f09, 0x9f4b, 0x9f4e, 0x722d, 0x7b8f, 0x8acd, 0x931a, 0x4f47,
    +    0x4f4e, 0x5132, 0x5480, 0x59d0, 0x5e95, 0x62b5, 0x6775, 0x696e,
    +    0x6a17, 0x6cae, 0x6e1a, 0x72d9, 0x732a, 0x75bd, 0x7bb8, 0x7d35,
    +    0x82e7, 0x83f9, 0x8457, 0x85f7, 0x8a5b, 0x8caf, 0x8e87, 0x9019,
    +    0x90b8, 0x96ce, 0x9f5f, 0x52e3, 0x540a, 0x5ae1, 0x5bc2, 0x6458,
    +    0x6575, 0x6ef4, 0x72c4, 0xf9fb, 0x7684, 0x7a4d, 0x7b1b, 0x7c4d,
    +    0x7e3e, 0x7fdf, 0x837b, 0x8b2b, 0x8cca, 0x8d64, 0x8de1, 0x8e5f,
    +    0x8fea, 0x8ff9, 0x9069, 0x93d1, 0x4f43, 0x4f7a, 0x50b3, 0x5168,
    +    0x5178, 0x524d, 0x526a, 0x5861, 0x587c, 0x5960, 0x5c08, 0x5c55,
    +    0x5edb, 0x609b, 0x6230, 0x6813, 0x6bbf, 0x6c08, 0x6fb1, 0x003f,
    +    /* lead byte ef */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x714e, 0x7420, 0x7530, 0x7538, 0x7551, 0x7672, 0x7b4c,
    +    0x7b8b, 0x7bad, 0x7bc6, 0x7e8f, 0x8a6e, 0x8f3e, 0x8f49, 0x923f,
    +    0x9293, 0x9322, 0x942b, 0x96fb, 0x985a, 0x986b, 0x991e, 0x5207,
    +    0x622a, 0x6298, 0x6d59, 0x7664, 0x7aca, 0x7bc0, 0x7d76, 0x5360,
    +    0x5cbe, 0x5e97, 0x6f38, 0x70b9, 0x7c98, 0x9711, 0x9b8e, 0x9ede,
    +    0x63a5, 0x647a, 0x8776, 0x4e01, 0x4e95, 0x4ead, 0x505c, 0x5075,
    +    0x5448, 0x59c3, 0x5b9a, 0x5e40, 0x5ead, 0x5ef7, 0x5f81, 0x60c5,
    +    0x633a, 0x653f, 0x6574, 0x65cc, 0x6676, 0x6678, 0x67fe, 0x6968,
    +    0x6a89, 0x6b63, 0x6c40, 0x6dc0, 0x6de8, 0x6e1f, 0x6e5e, 0x701e,
    +    0x70a1, 0x738e, 0x73fd, 0x753a, 0x775b, 0x7887, 0x798e, 0x7a0b,
    +    0x7a7d, 0x7cbe, 0x7d8e, 0x8247, 0x8a02, 0x8aea, 0x8c9e, 0x912d,
    +    0x914a, 0x91d8, 0x9266, 0x92cc, 0x9320, 0x9706, 0x9756, 0x003f,
    +    /* lead byte f0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x975c, 0x9802, 0x9f0e, 0x5236, 0x5291, 0x557c, 0x5824,
    +    0x5e1d, 0x5f1f, 0x608c, 0x63d0, 0x68af, 0x6fdf, 0x796d, 0x7b2c,
    +    0x81cd, 0x85ba, 0x88fd, 0x8af8, 0x8e44, 0x918d, 0x9664, 0x969b,
    +    0x973d, 0x984c, 0x9f4a, 0x4fce, 0x5146, 0x51cb, 0x52a9, 0x5632,
    +    0x5f14, 0x5f6b, 0x63aa, 0x64cd, 0x65e9, 0x6641, 0x66fa, 0x66f9,
    +    0x671d, 0x689d, 0x68d7, 0x69fd, 0x6f15, 0x6f6e, 0x7167, 0x71e5,
    +    0x722a, 0x74aa, 0x773a, 0x7956, 0x795a, 0x79df, 0x7a20, 0x7a95,
    +    0x7c97, 0x7cdf, 0x7d44, 0x7e70, 0x8087, 0x85fb, 0x86a4, 0x8a54,
    +    0x8abf, 0x8d99, 0x8e81, 0x9020, 0x906d, 0x91e3, 0x963b, 0x96d5,
    +    0x9ce5, 0x65cf, 0x7c07, 0x8db3, 0x93c3, 0x5b58, 0x5c0a, 0x5352,
    +    0x62d9, 0x731d, 0x5027, 0x5b97, 0x5f9e, 0x60b0, 0x616b, 0x68d5,
    +    0x6dd9, 0x742e, 0x7a2e, 0x7d42, 0x7d9c, 0x7e31, 0x816b, 0x003f,
    +    /* lead byte f1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8e2a, 0x8e35, 0x937e, 0x9418, 0x4f50, 0x5750, 0x5de6,
    +    0x5ea7, 0x632b, 0x7f6a, 0x4e3b, 0x4f4f, 0x4f8f, 0x505a, 0x59dd,
    +    0x80c4, 0x546a, 0x5468, 0x55fe, 0x594f, 0x5b99, 0x5dde, 0x5eda,
    +    0x665d, 0x6731, 0x67f1, 0x682a, 0x6ce8, 0x6d32, 0x6e4a, 0x6f8d,
    +    0x70b7, 0x73e0, 0x7587, 0x7c4c, 0x7d02, 0x7d2c, 0x7da2, 0x821f,
    +    0x86db, 0x8a3b, 0x8a85, 0x8d70, 0x8e8a, 0x8f33, 0x9031, 0x914e,
    +    0x9152, 0x9444, 0x99d0, 0x7af9, 0x7ca5, 0x4fca, 0x5101, 0x51c6,
    +    0x57c8, 0x5bef, 0x5cfb, 0x6659, 0x6a3d, 0x6d5a, 0x6e96, 0x6fec,
    +    0x710c, 0x756f, 0x7ae3, 0x8822, 0x9021, 0x9075, 0x96cb, 0x99ff,
    +    0x8301, 0x4e2d, 0x4ef2, 0x8846, 0x91cd, 0x537d, 0x6adb, 0x696b,
    +    0x6c41, 0x847a, 0x589e, 0x618e, 0x66fe, 0x62ef, 0x70dd, 0x7511,
    +    0x75c7, 0x7e52, 0x84b8, 0x8b49, 0x8d08, 0x4e4b, 0x53ea, 0x003f,
    +    /* lead byte f2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x54ab, 0x5730, 0x5740, 0x5fd7, 0x6301, 0x6307, 0x646f,
    +    0x652f, 0x65e8, 0x667a, 0x679d, 0x67b3, 0x6b62, 0x6c60, 0x6c9a,
    +    0x6f2c, 0x77e5, 0x7825, 0x7949, 0x7957, 0x7d19, 0x80a2, 0x8102,
    +    0x81f3, 0x829d, 0x82b7, 0x8718, 0x8a8c, 0xf9fc, 0x8d04, 0x8dbe,
    +    0x9072, 0x76f4, 0x7a19, 0x7a37, 0x7e54, 0x8077, 0x5507, 0x55d4,
    +    0x5875, 0x632f, 0x6422, 0x6649, 0x664b, 0x686d, 0x699b, 0x6b84,
    +    0x6d25, 0x6eb1, 0x73cd, 0x7468, 0x74a1, 0x755b, 0x75b9, 0x76e1,
    +    0x771e, 0x778b, 0x79e6, 0x7e09, 0x7e1d, 0x81fb, 0x852f, 0x8897,
    +    0x8a3a, 0x8cd1, 0x8eeb, 0x8fb0, 0x9032, 0x93ad, 0x9663, 0x9673,
    +    0x9707, 0x4f84, 0x53f1, 0x59ea, 0x5ac9, 0x5e19, 0x684e, 0x74c6,
    +    0x75be, 0x79e9, 0x7a92, 0x81a3, 0x86ed, 0x8cea, 0x8dcc, 0x8fed,
    +    0x659f, 0x6715, 0xf9fd, 0x57f7, 0x6f57, 0x7ddd, 0x8f2f, 0x003f,
    +    /* lead byte f3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x93f6, 0x96c6, 0x5fb5, 0x61f2, 0x6f84, 0x4e14, 0x4f98,
    +    0x501f, 0x53c9, 0x55df, 0x5d6f, 0x5dee, 0x6b21, 0x6b64, 0x78cb,
    +    0x7b9a, 0xf9fe, 0x8e49, 0x8eca, 0x906e, 0x6349, 0x643e, 0x7740,
    +    0x7a84, 0x932f, 0x947f, 0x9f6a, 0x64b0, 0x6faf, 0x71e6, 0x74a8,
    +    0x74da, 0x7ac4, 0x7c12, 0x7e82, 0x7cb2, 0x7e98, 0x8b9a, 0x8d0a,
    +    0x947d, 0x9910, 0x994c, 0x5239, 0x5bdf, 0x64e6, 0x672d, 0x7d2e,
    +    0x50ed, 0x53c3, 0x5879, 0x6158, 0x6159, 0x61fa, 0x65ac, 0x7ad9,
    +    0x8b92, 0x8b96, 0x5009, 0x5021, 0x5275, 0x5531, 0x5a3c, 0x5ee0,
    +    0x5f70, 0x6134, 0x655e, 0x660c, 0x6636, 0x66a2, 0x69cd, 0x6ec4,
    +    0x6f32, 0x7316, 0x7621, 0x7a93, 0x8139, 0x8259, 0x83d6, 0x84bc,
    +    0x50b5, 0x57f0, 0x5bc0, 0x5be8, 0x5f69, 0x63a1, 0x7826, 0x7db5,
    +    0x83dc, 0x8521, 0x91c7, 0x91f5, 0x518a, 0x67f5, 0x7b56, 0x003f,
    +    /* lead byte f4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8cac, 0x51c4, 0x59bb, 0x60bd, 0x8655, 0x501c, 0xf9ff,
    +    0x5254, 0x5c3a, 0x617d, 0x621a, 0x62d3, 0x64f2, 0x65a5, 0x6ecc,
    +    0x7620, 0x810a, 0x8e60, 0x965f, 0x96bb, 0x4edf, 0x5343, 0x5598,
    +    0x5929, 0x5ddd, 0x64c5, 0x6cc9, 0x6dfa, 0x7394, 0x7a7f, 0x821b,
    +    0x85a6, 0x8ce4, 0x8e10, 0x9077, 0x91e7, 0x95e1, 0x9621, 0x97c6,
    +    0x51f8, 0x54f2, 0x5586, 0x5fb9, 0x64a4, 0x6f88, 0x7db4, 0x8f1f,
    +    0x8f4d, 0x9435, 0x50c9, 0x5c16, 0x6cbe, 0x6dfb, 0x751b, 0x77bb,
    +    0x7c3d, 0x7c64, 0x8a79, 0x8ac2, 0x581e, 0x59be, 0x5e16, 0x6377,
    +    0x7252, 0x758a, 0x776b, 0x8adc, 0x8cbc, 0x8f12, 0x5ef3, 0x6674,
    +    0x6df8, 0x807d, 0x83c1, 0x8acb, 0x9751, 0x9bd6, 0xfa00, 0x5243,
    +    0x66ff, 0x6d95, 0x6eef, 0x7de0, 0x8ae6, 0x902e, 0x905e, 0x9ad4,
    +    0x521d, 0x527f, 0x54e8, 0x6194, 0x6284, 0x62db, 0x68a2, 0x003f,
    +    /* lead byte f5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6912, 0x695a, 0x6a35, 0x7092, 0x7126, 0x785d, 0x7901,
    +    0x790e, 0x79d2, 0x7a0d, 0x8096, 0x8278, 0x82d5, 0x8349, 0x8549,
    +    0x8c82, 0x8d85, 0x9162, 0x918b, 0x91ae, 0x4fc3, 0x56d1, 0x71ed,
    +    0x77d7, 0x8700, 0x89f8, 0x5bf8, 0x5fd6, 0x6751, 0x90a8, 0x53e2,
    +    0x585a, 0x5bf5, 0x60a4, 0x6181, 0x6460, 0x7e3d, 0x8070, 0x8525,
    +    0x9283, 0x64ae, 0x50ac, 0x5d14, 0x6700, 0x589c, 0x62bd, 0x63a8,
    +    0x690e, 0x6978, 0x6a1e, 0x6e6b, 0x76ba, 0x79cb, 0x82bb, 0x8429,
    +    0x8acf, 0x8da8, 0x8ffd, 0x9112, 0x914b, 0x919c, 0x9310, 0x9318,
    +    0x939a, 0x96db, 0x9a36, 0x9c0d, 0x4e11, 0x755c, 0x795d, 0x7afa,
    +    0x7b51, 0x7bc9, 0x7e2e, 0x84c4, 0x8e59, 0x8e74, 0x8ef8, 0x9010,
    +    0x6625, 0x693f, 0x7443, 0x51fa, 0x672e, 0x9edc, 0x5145, 0x5fe0,
    +    0x6c96, 0x87f2, 0x885d, 0x8877, 0x60b4, 0x81b5, 0x8403, 0x003f,
    +    /* lead byte f6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8d05, 0x53d6, 0x5439, 0x5634, 0x5a36, 0x5c31, 0x708a,
    +    0x7fe0, 0x805a, 0x8106, 0x81ed, 0x8da3, 0x9189, 0x9a5f, 0x9df2,
    +    0x5074, 0x4ec4, 0x53a0, 0x60fb, 0x6e2c, 0x5c64, 0x4f88, 0x5024,
    +    0x55e4, 0x5cd9, 0x5e5f, 0x6065, 0x6894, 0x6cbb, 0x6dc4, 0x71be,
    +    0x75d4, 0x75f4, 0x7661, 0x7a1a, 0x7a49, 0x7dc7, 0x7dfb, 0x7f6e,
    +    0x81f4, 0x86a9, 0x8f1c, 0x96c9, 0x99b3, 0x9f52, 0x5247, 0x52c5,
    +    0x98ed, 0x89aa, 0x4e03, 0x67d2, 0x6f06, 0x4fb5, 0x5be2, 0x6795,
    +    0x6c88, 0x6d78, 0x741b, 0x7827, 0x91dd, 0x937c, 0x87c4, 0x79e4,
    +    0x7a31, 0x5feb, 0x4ed6, 0x54a4, 0x553e, 0x58ae, 0x59a5, 0x60f0,
    +    0x6253, 0x62d6, 0x6736, 0x6955, 0x8235, 0x9640, 0x99b1, 0x99dd,
    +    0x502c, 0x5353, 0x5544, 0x577c, 0xfa01, 0x6258, 0xfa02, 0x64e2,
    +    0x666b, 0x67dd, 0x6fc1, 0x6fef, 0x7422, 0x7438, 0x8a17, 0x003f,
    +    /* lead byte f7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9438, 0x5451, 0x5606, 0x5766, 0x5f48, 0x619a, 0x6b4e,
    +    0x7058, 0x70ad, 0x7dbb, 0x8a95, 0x596a, 0x812b, 0x63a2, 0x7708,
    +    0x803d, 0x8caa, 0x5854, 0x642d, 0x69bb, 0x5b95, 0x5e11, 0x6e6f,
    +    0xfa03, 0x8569, 0x514c, 0x53f0, 0x592a, 0x6020, 0x614b, 0x6b86,
    +    0x6c70, 0x6cf0, 0x7b1e, 0x80ce, 0x82d4, 0x8dc6, 0x90b0, 0x98b1,
    +    0xfa04, 0x64c7, 0x6fa4, 0x6491, 0x6504, 0x514e, 0x5410, 0x571f,
    +    0x8a0e, 0x615f, 0x6876, 0xfa05, 0x75db, 0x7b52, 0x7d71, 0x901a,
    +    0x5806, 0x69cc, 0x817f, 0x892a, 0x9000, 0x9839, 0x5078, 0x5957,
    +    0x59ac, 0x6295, 0x900f, 0x9b2a, 0x615d, 0x7279, 0x95d6, 0x5761,
    +    0x5a46, 0x5df4, 0x628a, 0x64ad, 0x64fa, 0x6777, 0x6ce2, 0x6d3e,
    +    0x722c, 0x7436, 0x7834, 0x7f77, 0x82ad, 0x8ddb, 0x9817, 0x5224,
    +    0x5742, 0x677f, 0x7248, 0x74e3, 0x8ca9, 0x8fa6, 0x9211, 0x003f,
    +    /* lead byte f8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x962a, 0x516b, 0x53ed, 0x634c, 0x4f69, 0x5504, 0x6096,
    +    0x6557, 0x6c9b, 0x6d7f, 0x724c, 0x72fd, 0x7a17, 0x8987, 0x8c9d,
    +    0x5f6d, 0x6f8e, 0x70f9, 0x81a8, 0x610e, 0x4fbf, 0x504f, 0x6241,
    +    0x7247, 0x7bc7, 0x7de8, 0x7fe9, 0x904d, 0x97ad, 0x9a19, 0x8cb6,
    +    0x576a, 0x5e73, 0x67b0, 0x840d, 0x8a55, 0x5420, 0x5b16, 0x5e63,
    +    0x5ee2, 0x5f0a, 0x6583, 0x80ba, 0x853d, 0x9589, 0x965b, 0x4f48,
    +    0x5305, 0x530d, 0x530f, 0x5486, 0x54fa, 0x5703, 0x5e03, 0x6016,
    +    0x629b, 0x62b1, 0x6355, 0xfa06, 0x6ce1, 0x6d66, 0x75b1, 0x7832,
    +    0x80de, 0x812f, 0x82de, 0x8461, 0x84b2, 0x888d, 0x8912, 0x900b,
    +    0x92ea, 0x98fd, 0x9b91, 0x5e45, 0x66b4, 0x66dd, 0x7011, 0x7206,
    +    0xfa07, 0x4ff5, 0x527d, 0x5f6a, 0x6153, 0x6753, 0x6a19, 0x6f02,
    +    0x74e2, 0x7968, 0x8868, 0x8c79, 0x98c7, 0x98c4, 0x9a43, 0x003f,
    +    /* lead byte f9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x54c1, 0x7a1f, 0x6953, 0x8af7, 0x8c4a, 0x98a8, 0x99ae,
    +    0x5f7c, 0x62ab, 0x75b2, 0x76ae, 0x88ab, 0x907f, 0x9642, 0x5339,
    +    0x5f3c, 0x5fc5, 0x6ccc, 0x73cc, 0x7562, 0x758b, 0x7b46, 0x82fe,
    +    0x999d, 0x4e4f, 0x903c, 0x4e0b, 0x4f55, 0x53a6, 0x590f, 0x5ec8,
    +    0x6630, 0x6cb3, 0x7455, 0x8377, 0x8766, 0x8cc0, 0x9050, 0x971e,
    +    0x9c15, 0x58d1, 0x5b78, 0x8650, 0x8b14, 0x9db4, 0x5bd2, 0x6068,
    +    0x608d, 0x65f1, 0x6c57, 0x6f22, 0x6fa3, 0x701a, 0x7f55, 0x7ff0,
    +    0x9591, 0x9592, 0x9650, 0x97d3, 0x5272, 0x8f44, 0x51fd, 0x542b,
    +    0x54b8, 0x5563, 0x558a, 0x6abb, 0x6db5, 0x7dd8, 0x8266, 0x929c,
    +    0x9677, 0x9e79, 0x5408, 0x54c8, 0x76d2, 0x86e4, 0x95a4, 0x95d4,
    +    0x965c, 0x4ea2, 0x4f09, 0x59ee, 0x5ae6, 0x5df7, 0x6052, 0x6297,
    +    0x676d, 0x6841, 0x6c86, 0x6e2f, 0x7f38, 0x809b, 0x822a, 0x003f,
    +    /* lead byte fa */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfa08, 0xfa09, 0x9805, 0x4ea5, 0x5055, 0x54b3, 0x5793,
    +    0x595a, 0x5b69, 0x5bb3, 0x61c8, 0x6977, 0x6d77, 0x7023, 0x87f9,
    +    0x89e3, 0x8a72, 0x8ae7, 0x9082, 0x99ed, 0x9ab8, 0x52be, 0x6838,
    +    0x5016, 0x5e78, 0x674f, 0x8347, 0x884c, 0x4eab, 0x5411, 0x56ae,
    +    0x73e6, 0x9115, 0x97ff, 0x9909, 0x9957, 0x9999, 0x5653, 0x589f,
    +    0x865b, 0x8a31, 0x61b2, 0x6af6, 0x737b, 0x8ed2, 0x6b47, 0x96aa,
    +    0x9a57, 0x5955, 0x7200, 0x8d6b, 0x9769, 0x4fd4, 0x5cf4, 0x5f26,
    +    0x61f8, 0x665b, 0x6ceb, 0x70ab, 0x7384, 0x73b9, 0x73fe, 0x7729,
    +    0x774d, 0x7d43, 0x7d62, 0x7e23, 0x8237, 0x8852, 0xfa0a, 0x8ce2,
    +    0x9249, 0x986f, 0x5b51, 0x7a74, 0x8840, 0x9801, 0x5acc, 0x4fe0,
    +    0x5354, 0x593e, 0x5cfd, 0x633e, 0x6d79, 0x72f9, 0x8105, 0x8107,
    +    0x83a2, 0x92cf, 0x9830, 0x4ea8, 0x5144, 0x5211, 0x578b, 0x003f,
    +    /* lead byte fb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5f62, 0x6cc2, 0x6ece, 0x7005, 0x7050, 0x70af, 0x7192,
    +    0x73e9, 0x7469, 0x834a, 0x87a2, 0x8861, 0x9008, 0x90a2, 0x93a3,
    +    0x99a8, 0x516e, 0x5f57, 0x60e0, 0x6167, 0x66b3, 0x8559, 0x8e4a,
    +    0x91af, 0x978b, 0x4e4e, 0x4e92, 0x547c, 0x58d5, 0x58fa, 0x597d,
    +    0x5cb5, 0x5f27, 0x6236, 0x6248, 0x660a, 0x6667, 0x6beb, 0x6d69,
    +    0x6dcf, 0x6e56, 0x6ef8, 0x6f94, 0x6fe0, 0x6fe9, 0x705d, 0x72d0,
    +    0x7425, 0x745a, 0x74e0, 0x7693, 0x795c, 0x7cca, 0x7e1e, 0x80e1,
    +    0x82a6, 0x846b, 0x84bf, 0x864e, 0x865f, 0x8774, 0x8b77, 0x8c6a,
    +    0x93ac, 0x9800, 0x9865, 0x60d1, 0x6216, 0x9177, 0x5a5a, 0x660f,
    +    0x6df7, 0x6e3e, 0x743f, 0x9b42, 0x5ffd, 0x60da, 0x7b0f, 0x54c4,
    +    0x5f18, 0x6c5e, 0x6cd3, 0x6d2a, 0x70d8, 0x7d05, 0x8679, 0x8a0c,
    +    0x9d3b, 0x5316, 0x548c, 0x5b05, 0x6a3a, 0x706b, 0x7575, 0x003f,
    +    /* lead byte fc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x798d, 0x79be, 0x82b1, 0x83ef, 0x8a71, 0x8b41, 0x8ca8,
    +    0x9774, 0xfa0b, 0x64f4, 0x652b, 0x78ba, 0x78bb, 0x7a6b, 0x4e38,
    +    0x559a, 0x5950, 0x5ba6, 0x5e7b, 0x60a3, 0x63db, 0x6b61, 0x6665,
    +    0x6853, 0x6e19, 0x7165, 0x74b0, 0x7d08, 0x9084, 0x9a69, 0x9c25,
    +    0x6d3b, 0x6ed1, 0x733e, 0x8c41, 0x95ca, 0x51f0, 0x5e4c, 0x5fa8,
    +    0x604d, 0x60f6, 0x6130, 0x614c, 0x6643, 0x6644, 0x69a5, 0x6cc1,
    +    0x6e5f, 0x6ec9, 0x6f62, 0x714c, 0x749c, 0x7687, 0x7bc1, 0x7c27,
    +    0x8352, 0x8757, 0x9051, 0x968d, 0x9ec3, 0x532f, 0x56de, 0x5efb,
    +    0x5f8a, 0x6062, 0x6094, 0x61f7, 0x6666, 0x6703, 0x6a9c, 0x6dee,
    +    0x6fae, 0x7070, 0x736a, 0x7e6a, 0x81be, 0x8334, 0x86d4, 0x8aa8,
    +    0x8cc4, 0x5283, 0x7372, 0x5b96, 0x6a6b, 0x9404, 0x54ee, 0x5686,
    +    0x5b5d, 0x6548, 0x6585, 0x66c9, 0x689f, 0x6d8d, 0x6dc6, 0x003f,
    +    /* lead byte fd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x723b, 0x80b4, 0x9175, 0x9a4d, 0x4faf, 0x5019, 0x539a,
    +    0x540e, 0x543c, 0x5589, 0x55c5, 0x5e3f, 0x5f8c, 0x673d, 0x7166,
    +    0x73dd, 0x9005, 0x52db, 0x52f3, 0x5864, 0x58ce, 0x7104, 0x718f,
    +    0x71fb, 0x85b0, 0x8a13, 0x6688, 0x85a8, 0x55a7, 0x6684, 0x714a,
    +    0x8431, 0x5349, 0x5599, 0x6bc1, 0x5f59, 0x5fbd, 0x63ee, 0x6689,
    +    0x7147, 0x8af1, 0x8f1d, 0x9ebe, 0x4f11, 0x643a, 0x70cb, 0x7566,
    +    0x8667, 0x6064, 0x8b4e, 0x9df8, 0x5147, 0x51f6, 0x5308, 0x6d36,
    +    0x80f8, 0x9ed1, 0x6615, 0x6b23, 0x7098, 0x75d5, 0x5403, 0x5c79,
    +    0x7d07, 0x8a16, 0x6b20, 0x6b3d, 0x6b46, 0x5438, 0x6070, 0x6d3d,
    +    0x7fd5, 0x8208, 0x50d6, 0x51de, 0x559c, 0x566b, 0x56cd, 0x59ec,
    +    0x5b09, 0x5e0c, 0x6199, 0x6198, 0x6231, 0x665e, 0x66e6, 0x7199,
    +    0x71b9, 0x71ba, 0x72a7, 0x79a7, 0x7a00, 0x7fb2, 0x8a70, 0x003f
    +};
    +
    +static const unsigned char cp2uni_leadbytes[256] =
    +{
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
    +    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
    +    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
    +    0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
    +    0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
    +    0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
    +    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
    +    0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
    +    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
    +    0x49, 0x01, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    +    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    +    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    +    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    +    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    +    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    +    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x01, 0x00
    +};
    +
    +static const unsigned short uni2cp_low[39168] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0020, 0xa2ae, 0x0063, 0x004c, 0xa2b4, 0x0059, 0x007c, 0xa1d7,
    +    0xa1a7, 0x0063, 0xa8a3, 0xa1b6, 0x003f, 0xa1a9, 0xa2e7, 0xa1aa,
    +    0xa1c6, 0xa1be, 0xa9f7, 0xa9f8, 0xa2a5, 0xa5ec, 0xa2d2, 0xa1a4,
    +    0xa2ac, 0xa9f6, 0xa8ac, 0xa1b7, 0xa8f9, 0xa8f6, 0xa8fa, 0xa2af,
    +    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0xa8a1, 0x0043,
    +    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    +    0xa8a2, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1bf,
    +    0xa8aa, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0xa8ad, 0xa9ac,
    +    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0xa9a1, 0x0063,
    +    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    +    0xa9a3, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1c0,
    +    0xa9aa, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0xa9ad, 0x0079,
    +    /* 0x0100 .. 0x01ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    +    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    +    0xa8a2, 0xa9a2, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0xa8a4, 0xa9a4,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x0049, 0xa9a5, 0xa8a6, 0xa9a6, 0x004a, 0x006a, 0x004b, 0x006b,
    +    0xa9a7, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0xa8a8,
    +    0xa9a8, 0xa8a9, 0xa9a9, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    +    0x006e, 0xa9b0, 0xa8af, 0xa9af, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0xa8ab, 0xa9ab, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0xa8ae, 0xa9ae,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    +    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    +    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    +    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    +    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    +    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa6a2, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    +    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    +    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0xa8a1, 0xa9a1, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    +    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    +    0x004e, 0x006e, 0x0041, 0x0061, 0xa8a1, 0xa9a1, 0xa8aa, 0xa9aa,
    +    /* 0x0200 .. 0x02ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    +    0x0079, 0xa2a5, 0xa2a9, 0xa1ae, 0xa1af, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa2a7,
    +    0x0027, 0xa1aa, 0xa2a5, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,
    +    0xa2b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2a8, 0xa2ab, 0xa2aa, 0xa2ad, 0x007e, 0xa2a9, 0x003f, 0x003f,
    +    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0300 .. 0x03ff */
    +    0x0060, 0xa2a5, 0x005e, 0x007e, 0xa1aa, 0xa1aa, 0xa2a8, 0xa2ab,
    +    0xa1a7, 0x003f, 0xa2aa, 0xa2a9, 0xa2a7, 0x003f, 0x0022, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2ac,
    +    0xa2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0060, 0xa2a5, 0x003f, 0x003f, 0xa1a7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a5, 0xa1a7, 0xa5c1, 0xa1a4,
    +    0xa5c5, 0xa5c7, 0xa5c9, 0x003f, 0xa5cf, 0x003f, 0xa5d4, 0xa5d8,
    +    0xa5e9, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,
    +    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,
    +    0xa5d0, 0xa5d1, 0x003f, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6,
    +    0xa5d7, 0xa5d8, 0xa5c9, 0xa5d4, 0xa5e1, 0xa5e5, 0xa5e7, 0xa5e9,
    +    0xa5f4, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,
    +    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,
    +    0xa5f0, 0xa5f1, 0x003f, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6,
    +    0xa5f7, 0xa5f8, 0xa5e9, 0xa5f4, 0xa5ef, 0xa5f4, 0xa5f8, 0x003f,
    +    0xa5e2, 0xa5e8, 0xa5d4, 0xa5d4, 0xa5d4, 0xa5f5, 0xa5f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa5ea, 0xa5f1, 0x003f, 0x003f, 0xa5c8, 0xa5e5, 0x003f, 0x003f,
    +    0x003f, 0xa5d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0400 .. 0x04ff */
    +    0xaca6, 0xaca7, 0x003f, 0xaca4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xacac, 0xacaa, 0xacb5, 0x003f,
    +    0xaca1, 0xaca2, 0xaca3, 0xaca4, 0xaca5, 0xaca6, 0xaca8, 0xaca9,
    +    0xacaa, 0xacab, 0xacac, 0xacad, 0xacae, 0xacaf, 0xacb0, 0xacb1,
    +    0xacb2, 0xacb3, 0xacb4, 0xacb5, 0xacb6, 0xacb7, 0xacb8, 0xacb9,
    +    0xacba, 0xacbb, 0xacbc, 0xacbd, 0xacbe, 0xacbf, 0xacc0, 0xacc1,
    +    0xacd1, 0xacd2, 0xacd3, 0xacd4, 0xacd5, 0xacd6, 0xacd8, 0xacd9,
    +    0xacda, 0xacdb, 0xacdc, 0xacdd, 0xacde, 0xacdf, 0xace0, 0xace1,
    +    0xace2, 0xace3, 0xace4, 0xace5, 0xace6, 0xace7, 0xace8, 0xace9,
    +    0xacea, 0xaceb, 0xacec, 0xaced, 0xacee, 0xacef, 0xacf0, 0xacf1,
    +    0xacd6, 0xacd7, 0x003f, 0xacd4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xacdc, 0xacda, 0xace5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaca8, 0xacd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xaca1, 0xacd1, 0xaca1, 0xacd1, 0x003f, 0x003f, 0xaca6, 0xacd6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xaca8, 0xacd8, 0xaca9, 0xacd9,
    +    0x003f, 0x003f, 0xacaa, 0xacda, 0xacaa, 0xacda, 0xacb0, 0xace0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xacbf, 0xacef, 0xacb5, 0xace5,
    +    0xacb5, 0xace5, 0xacb5, 0xace5, 0xacb9, 0xace9, 0x003f, 0x003f,
    +    0xacbd, 0xaced, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0xa8a1, 0x0042, 0x003f,
    +    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    +    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    +    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    +    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    +    0x006d, 0xa9af, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    +    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa5e2, 0xa5e3, 0xa5e4,
    +    0xa5f5, 0xa5f6, 0x0069, 0x0072, 0x0075, 0x0076, 0xa5e2, 0xa5e3,
    +    0xa5f1, 0xa5f5, 0xa5f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    +    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    +    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    +    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    +    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    +    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    +    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    +    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    +    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    +    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    +    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1,
    +    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1,
    +    0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0x003f, 0x003f,
    +    0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0x003f, 0x003f,
    +    0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7,
    +    0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7,
    +    0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9,
    +    0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9,
    +    0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0x003f, 0x003f,
    +    0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0x003f, 0x003f,
    +    0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4,
    +    0x003f, 0xa5d4, 0x003f, 0xa5d4, 0x003f, 0xa5d4, 0x003f, 0xa5d4,
    +    0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8,
    +    0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8,
    +    0xa5e1, 0xa5e1, 0xa5e5, 0xa5e5, 0xa5e7, 0xa5e7, 0xa5e9, 0xa5e9,
    +    0xa5ef, 0xa5ef, 0xa5f4, 0xa5f4, 0xa5f8, 0xa5f8, 0x003f, 0x003f,
    +    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1,
    +    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1,
    +    0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7,
    +    0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7,
    +    0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8,
    +    0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8,
    +    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0x003f, 0xa5e1, 0xa5e1,
    +    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0x003f, 0xa5e9, 0x003f,
    +    0x003f, 0xa1a7, 0xa5e7, 0xa5e7, 0xa5e7, 0x003f, 0xa5e7, 0xa5e7,
    +    0xa5c5, 0xa5c5, 0xa5c7, 0xa5c7, 0xa5c7, 0x003f, 0x003f, 0x003f,
    +    0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0x003f, 0x003f, 0xa5e9, 0xa5e9,
    +    0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f1, 0xa5f1, 0xa5f4, 0xa5f4,
    +    0xa5d4, 0xa5d4, 0xa5d4, 0xa5d4, 0xa5d1, 0xa1a7, 0xa1a7, 0x0060,
    +    0x003f, 0x003f, 0xa5f8, 0xa5f8, 0xa5f8, 0x003f, 0xa5f8, 0xa5f8,
    +    0xa5cf, 0xa5cf, 0xa5d8, 0xa5d8, 0xa5d8, 0xa2a5, 0x003f, 0x003f,
    +    /* 0x2000 .. 0x20ff */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x002d, 0x002d, 0x003f, 0xa1aa, 0xa1aa, 0xa1aa, 0x003f, 0x005f,
    +    0xa1ae, 0xa1af, 0x002c, 0xa1ae, 0xa1b0, 0xa1b1, 0x002c, 0x003f,
    +    0xa2d3, 0xa2d4, 0x003f, 0x003f, 0x002e, 0xa1a5, 0xa1a6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0xa2b6, 0x003f, 0xa1c7, 0xa1c8, 0x003f, 0xa1ae, 0x003f, 0x003f,
    +    0x003f, 0xa1b4, 0xa1b5, 0xa1d8, 0x0021, 0x003f, 0xa1aa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2aa, 0x0069, 0x003f, 0x003f, 0xa9f9, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0xa9fa,
    +    0x0030, 0xa9fb, 0xa9fc, 0xa9fd, 0xa9fe, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa2e6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2100 .. 0x21ff */
    +    0x003f, 0x003f, 0x0043, 0xa1c9, 0x003f, 0x003f, 0x003f, 0x0045,
    +    0x003f, 0xa2b5, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0xa9a4,
    +    0x0049, 0x0049, 0x004c, 0xa7a4, 0x003f, 0x004e, 0xa2e0, 0x003f,
    +    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    +    0x003f, 0xa2e5, 0xa2e2, 0x003f, 0x005a, 0x003f, 0xa7d9, 0x003f,
    +    0x005a, 0x003f, 0x004b, 0xa1ca, 0x0042, 0x0043, 0x0065, 0x0065,
    +    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa5e3, 0xa5c3, 0xa5d0,
    +    0xa2b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    +    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa8f7, 0xa8f8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa8fb, 0xa8fc, 0xa8fd, 0xa8fe, 0x003f,
    +    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,
    +    0xa5b8, 0xa5b9, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    +    0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7, 0xa5a8,
    +    0xa5a9, 0xa5aa, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1e7, 0xa1e8, 0xa1e6, 0xa1e9, 0xa1ea, 0xa2d5, 0xa2d8, 0xa2d6,
    +    0xa2d9, 0xa2d7, 0xa1e7, 0xa1e6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1ea, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a2, 0xa2a1,
    +    0x003f, 0x003f, 0xa2a1, 0x003f, 0xa2a2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2200 .. 0x22ff */
    +    0xa2a3, 0x003f, 0xa1d3, 0xa2a4, 0xa2a4, 0xa8aa, 0x003f, 0xa1d4,
    +    0xa1f4, 0xa1f4, 0x003f, 0xa1f5, 0xa1f5, 0x003f, 0x003f, 0xa2b3,
    +    0x003f, 0xa2b2, 0x002d, 0xa1be, 0x003f, 0x002f, 0x005c, 0x002a,
    +    0xa2aa, 0x003f, 0xa1ee, 0x003f, 0x003f, 0xa1f0, 0xa1c4, 0x004c,
    +    0xa1d0, 0x003f, 0x003f, 0x007c, 0x007c, 0xa1ab, 0xa1ab, 0xa1fc,
    +    0xa1fd, 0xa1fb, 0xa1fa, 0xa1f2, 0xa1f3, 0x003f, 0xa2b1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1c5, 0xa1f1, 0x003a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0xa1ef, 0x003f, 0x003f,
    +    0x003f, 0xa1ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1c1, 0xa1d5, 0xa1d5, 0xa1d5, 0xa1c2, 0xa1c3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1ec, 0xa1ed, 0x003f, 0x003f, 0x003c, 0x003e,
    +    0xa1c2, 0xa1c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1f8, 0xa1f9, 0xa1f8, 0xa1f9, 0xa1f6, 0xa1f7,
    +    0xa1f6, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1d1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1a4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2300 .. 0x23ff */
    +    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa1b4, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2400 .. 0x24ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa8e7, 0xa8e8, 0xa8e9, 0xa8ea, 0xa8eb, 0xa8ec, 0xa8ed, 0xa8ee,
    +    0xa8ef, 0xa8f0, 0xa8f1, 0xa8f2, 0xa8f3, 0xa8f4, 0xa8f5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa9e7, 0xa9e8, 0xa9e9, 0xa9ea,
    +    0xa9eb, 0xa9ec, 0xa9ed, 0xa9ee, 0xa9ef, 0xa9f0, 0xa9f1, 0xa9f2,
    +    0xa9f3, 0xa9f4, 0xa9f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa9cd, 0xa9ce, 0xa9cf, 0xa9d0,
    +    0xa9d1, 0xa9d2, 0xa9d3, 0xa9d4, 0xa9d5, 0xa9d6, 0xa9d7, 0xa9d8,
    +    0xa9d9, 0xa9da, 0xa9db, 0xa9dc, 0xa9dd, 0xa9de, 0xa9df, 0xa9e0,
    +    0xa9e1, 0xa9e2, 0xa9e3, 0xa9e4, 0xa9e5, 0xa9e6, 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,
    +    0xa8cd, 0xa8ce, 0xa8cf, 0xa8d0, 0xa8d1, 0xa8d2, 0xa8d3, 0xa8d4,
    +    0xa8d5, 0xa8d6, 0xa8d7, 0xa8d8, 0xa8d9, 0xa8da, 0xa8db, 0xa8dc,
    +    0xa8dd, 0xa8de, 0xa8df, 0xa8e0, 0xa8e1, 0xa8e2, 0xa8e3, 0xa8e4,
    +    0xa8e5, 0xa8e6, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2500 .. 0x25ff */
    +    0xa6a1, 0xa6ac, 0xa6a2, 0xa6ad, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0x002d, 0x002d, 0x007c, 0x007c, 0xa6a3, 0xa6c8, 0xa6c7, 0xa6ae,
    +    0xa6a4, 0xa6c2, 0xa6c1, 0xa6af, 0xa6a6, 0xa6c6, 0xa6c5, 0xa6b1,
    +    0xa6a5, 0xa6c4, 0xa6c3, 0xa6b0, 0xa6a7, 0xa6bc, 0xa6c9, 0xa6ca,
    +    0xa6b7, 0xa6cb, 0xa6cc, 0xa6b2, 0xa6a9, 0xa6be, 0xa6cd, 0xa6ce,
    +    0xa6b9, 0xa6cf, 0xa6d0, 0xa6b4, 0xa6a8, 0xa6d1, 0xa6d2, 0xa6b8,
    +    0xa6bd, 0xa6d3, 0xa6d4, 0xa6b3, 0xa6aa, 0xa6d5, 0xa6d6, 0xa6ba,
    +    0xa6bf, 0xa6d7, 0xa6d8, 0xa6b5, 0xa6ab, 0xa6d9, 0xa6da, 0xa6bb,
    +    0xa6db, 0xa6dc, 0xa6c0, 0xa6dd, 0xa6de, 0xa6df, 0xa6e0, 0xa6e1,
    +    0xa6e2, 0xa6e3, 0xa6e4, 0xa6b6, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    +    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,
    +    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,
    +    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1e1, 0xa1e0, 0x003f, 0xa2c3, 0xa2c7, 0xa2c8, 0xa2cb, 0xa2ca,
    +    0xa2c9, 0xa2cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1e3, 0xa1e2, 0x003f, 0x003f, 0xa2ba, 0xa2b9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e5, 0xa1e4, 0x003f, 0x003f,
    +    0xa2b8, 0xa2b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1df, 0xa1de,
    +    0xa2c2, 0x003f, 0x003f, 0xa1db, 0x003f, 0x003f, 0xa1dd, 0xa1dc,
    +    0xa2c4, 0xa2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1db,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2600 .. 0x26ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1da, 0xa1d9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2cf, 0xa2ce,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa2d0, 0x003f, 0xa2d1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1cf, 0x003f, 0xa1ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2bc, 0xa2bd, 0x003f, 0xa2c0, 0xa2bb, 0xa2be, 0x003f, 0xa2bf,
    +    0xa2cd, 0xa2db, 0xa2dc, 0x003f, 0xa2dd, 0xa2da, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2e00 .. 0x2eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9bd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2f00 .. 0x2fff */
    +    0xece9, 0x003f, 0x003f, 0x003f, 0xebe0, 0x003f, 0xeca3, 0x003f,
    +    0xecd1, 0x003f, 0xecfd, 0xf8a2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3ef, 0xd5f4, 0x003f, 0xdde2, 0x003f, 0x003f, 0xe4a8,
    +    0xdcd4, 0x003f, 0x003f, 0x003f, 0xe9d1, 0xcfa2, 0x003f, 0xf7cf,
    +    0xdecd, 0x003f, 0x003f, 0xe0aa, 0xd3de, 0xd2b3, 0xedad, 0x003f,
    +    0xf5bb, 0xe1b3, 0x003f, 0xe3b9, 0x003f, 0xdfa3, 0x003f, 0xcdef,
    +    0xd0f9, 0xcbee, 0xcace, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcfe1, 0x003f, 0x003f, 0x003f, 0xe3fd, 0xcdfc, 0xfbc2, 0xe2a2,
    +    0xf2a8, 0x003f, 0xd9fe, 0xd4e0, 0xd0c5, 0xdbb0, 0xd9e9, 0xeced,
    +    0xe8d8, 0xeac5, 0xd9ca, 0xfde2, 0xf2ad, 0x003f, 0x003f, 0xd9ec,
    +    0xddef, 0xd9be, 0xe4ab, 0x003f, 0xe2a9, 0xfbfd, 0xf0d0, 0xddab,
    +    0xfda1, 0x003f, 0xf8b8, 0xe4b3, 0xe9da, 0xccb3, 0xfadc, 0xe8ac,
    +    0xcdfe, 0xe8bf, 0xcaf6, 0xdfe6, 0xe9c4, 0xefa3, 0xf9b5, 0x003f,
    +    0x003f, 0xdbdc, 0xf9ab, 0xd9a9, 0xd9cd, 0xd9c3, 0xe3c5, 0xe0b4,
    +    0xe3c6, 0x003f, 0xfca2, 0xfaeb, 0xd8a1, 0xf1d3, 0xdab7, 0x003f,
    +    0xddae, 0x003f, 0xe5cf, 0xe9e2, 0xd6d5, 0xecbb, 0x003f, 0xecbc,
    +    0xebd3, 0xebbf, 0xe3ed, 0xedbb, 0xf2b8, 0xcfbf, 0xe0df, 0xf4bf,
    +    0xf1c7, 0xcadd, 0xdfe4, 0xf5ac, 0x003f, 0x003f, 0xfaec, 0xfabc,
    +    0xebfd, 0x003f, 0xccb8, 0xcac7, 0xe5eb, 0xcddb, 0xd4e7, 0xe3ce,
    +    0x003f, 0xf8af, 0xeee5, 0xf1cb, 0xf0eb, 0xe3f3, 0xf3b3, 0xe3f4,
    +    0xf2e3, 0x003f, 0xebe9, 0xebb7, 0x003f, 0xd7ec, 0xd1d1, 0xedfe,
    +    0xdaa6, 0xddbd, 0x003f, 0x003f, 0xe9eb, 0xf4ec, 0xdeaa, 0xd8fc,
    +    0xfad4, 0xeadf, 0x003f, 0xebe5, 0xfaed, 0xf9a6, 0xdeab, 0xe3dd,
    +    0xe2cf, 0xfac5, 0xd8a9, 0xcde9, 0xcdd4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd0a1, 0xe5e0, 0xf0e8, 0xd6dd, 0xd6e3, 0xd8ea, 0xd8ab,
    +    0xfcdc, 0xe0a8, 0xfdd9, 0x003f, 0x003f, 0xf0a3, 0xcdd5, 0xe0a9,
    +    0xdeac, 0xf0ba, 0xf6cd, 0xd7a3, 0xcfcf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3000 .. 0x30ff */
    +    0xa1a1, 0xa1a2, 0xa1a3, 0xa1a8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9, 0xa1ba, 0xa1bb,
    +    0xa1bc, 0xa1bd, 0x003f, 0xa1eb, 0xa1b2, 0xa1b3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa1b0, 0xa1b1, 0x002c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4a8, 0xecfe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaaa1, 0xaaa2, 0xaaa3, 0xaaa4, 0xaaa5, 0xaaa6, 0xaaa7,
    +    0xaaa8, 0xaaa9, 0xaaaa, 0xaaab, 0xaaac, 0xaaad, 0xaaae, 0xaaaf,
    +    0xaab0, 0xaab1, 0xaab2, 0xaab3, 0xaab4, 0xaab5, 0xaab6, 0xaab7,
    +    0xaab8, 0xaab9, 0xaaba, 0xaabb, 0xaabc, 0xaabd, 0xaabe, 0xaabf,
    +    0xaac0, 0xaac1, 0xaac2, 0xaac3, 0xaac4, 0xaac5, 0xaac6, 0xaac7,
    +    0xaac8, 0xaac9, 0xaaca, 0xaacb, 0xaacc, 0xaacd, 0xaace, 0xaacf,
    +    0xaad0, 0xaad1, 0xaad2, 0xaad3, 0xaad4, 0xaad5, 0xaad6, 0xaad7,
    +    0xaad8, 0xaad9, 0xaada, 0xaadb, 0xaadc, 0xaadd, 0xaade, 0xaadf,
    +    0xaae0, 0xaae1, 0xaae2, 0xaae3, 0xaae4, 0xaae5, 0xaae6, 0xaae7,
    +    0xaae8, 0xaae9, 0xaaea, 0xaaeb, 0xaaec, 0xaaed, 0xaaee, 0xaaef,
    +    0xaaf0, 0xaaf1, 0xaaf2, 0xaaf3, 0xaaa6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaba1, 0xaba2, 0xaba3, 0xaba4, 0xaba5, 0xaba6, 0xaba7,
    +    0xaba8, 0xaba9, 0xabaa, 0xabab, 0xabac, 0xabad, 0xabae, 0xabaf,
    +    0xabb0, 0xabb1, 0xabb2, 0xabb3, 0xabb4, 0xabb5, 0xabb6, 0xabb7,
    +    0xabb8, 0xabb9, 0xabba, 0xabbb, 0xabbc, 0xabbd, 0xabbe, 0xabbf,
    +    0xabc0, 0xabc1, 0xabc2, 0xabc3, 0xabc4, 0xabc5, 0xabc6, 0xabc7,
    +    0xabc8, 0xabc9, 0xabca, 0xabcb, 0xabcc, 0xabcd, 0xabce, 0xabcf,
    +    0xabd0, 0xabd1, 0xabd2, 0xabd3, 0xabd4, 0xabd5, 0xabd6, 0xabd7,
    +    0xabd8, 0xabd9, 0xabda, 0xabdb, 0xabdc, 0xabdd, 0xabde, 0xabdf,
    +    0xabe0, 0xabe1, 0xabe2, 0xabe3, 0xabe4, 0xabe5, 0xabe6, 0xabe7,
    +    0xabe8, 0xabe9, 0xabea, 0xabeb, 0xabec, 0xabed, 0xabee, 0xabef,
    +    0xabf0, 0xabf1, 0xabf2, 0xabf3, 0xabf4, 0xabf5, 0xabf6, 0xabef,
    +    0xabf0, 0xabf1, 0xabf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3100 .. 0x31ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    +    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    +    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    +    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,
    +    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,
    +    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,
    +    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,
    +    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,
    +    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,
    +    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,
    +    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4f4, 0xa4f5, 0xa4f6, 0xa4f7,
    +    0xa4f8, 0xa4f9, 0xa4fa, 0xa4fb, 0xa4fc, 0xa4fd, 0xa4fe, 0x003f,
    +    0x003f, 0x003f, 0xece9, 0xeca3, 0xdfb2, 0xdecc, 0xdfbe, 0xf1e9,
    +    0xf9bb, 0xcba3, 0xebe0, 0xdcb0, 0xefcb, 0xf4b8, 0xf2a2, 0xecd1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3200 .. 0x32ff */
    +    0xa9b1, 0xa9b2, 0xa9b3, 0xa9b4, 0xa9b5, 0xa9b6, 0xa9b7, 0xa9b8,
    +    0xa9b9, 0xa9ba, 0xa9bb, 0xa9bc, 0xa9bd, 0xa9be, 0xa9bf, 0xa9c0,
    +    0xa9c1, 0xa9c2, 0xa9c3, 0xa9c4, 0xa9c5, 0xa9c6, 0xa9c7, 0xa9c8,
    +    0xa9c9, 0xa9ca, 0xa9cb, 0xa9cc, 0xa2df, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa8b1, 0xa8b2, 0xa8b3, 0xa8b4, 0xa8b5, 0xa8b6, 0xa8b7, 0xa8b8,
    +    0xa8b9, 0xa8ba, 0xa8bb, 0xa8bc, 0xa8bd, 0xa8be, 0xa8bf, 0xa8c0,
    +    0xa8c1, 0xa8c2, 0xa8c3, 0xa8c4, 0xa8c5, 0xa8c6, 0xa8c7, 0xa8c8,
    +    0xa8c9, 0xa8ca, 0xa8cb, 0xa8cc, 0x003f, 0x003f, 0x003f, 0xa2de,
    +    0xece9, 0xeca3, 0xdfb2, 0xdecc, 0xe7e9, 0xd7bf, 0xf6d2, 0xf8a2,
    +    0xcefa, 0xe4a8, 0xeac5, 0xfbfd, 0xe2a9, 0xd9ca, 0xd1d1, 0xf7cf,
    +    0xeced, 0xf1bb, 0xeaf3, 0xdee4, 0xd9a3, 0xf7e5, 0xeeaf, 0xf5e6,
    +    0x003f, 0xddfa, 0xd1fb, 0xd2b3, 0xeeea, 0xe9d0, 0xecd4, 0xf1bc,
    +    0xfaa3, 0xfdcc, 0x003f, 0xefe1, 0xdfbe, 0xf1e9, 0xf9bb, 0xf1a7,
    +    0xe9d3, 0x003f, 0xf0f3, 0x003f, 0xcaf8, 0xd0ea, 0xedc0, 0xfaf0,
    +    0xe5a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xaba2, 0xaba4, 0xaba6, 0xaba8, 0xabaa, 0xabab, 0xabad, 0xabaf,
    +    0xabb1, 0xabb3, 0xabb5, 0xabb7, 0xabb9, 0xabbb, 0xabbd, 0xabbf,
    +    0xabc1, 0xabc4, 0xabc6, 0xabc8, 0xabca, 0xabcb, 0xabcc, 0xabcd,
    +    0xabce, 0xabcf, 0xabd2, 0xabd5, 0xabd8, 0xabdb, 0xabde, 0xabdf,
    +    0xabe0, 0xabe1, 0xabe2, 0xabe4, 0xabe6, 0xabe8, 0xabe9, 0xabea,
    +    0xabeb, 0xabec, 0xabed, 0xabef, 0xabf0, 0xabf1, 0xabf2, 0x003f,
    +    /* 0x3300 .. 0x33ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa7c9, 0xa7ca, 0xa7cb, 0xa7cc, 0xa7cd, 0x003f, 0x003f, 0x003f,
    +    0xa7ba, 0xa7bb, 0xa7dc, 0xa7dd, 0xa7de, 0xa7b6, 0xa7b7, 0xa7b8,
    +    0xa7d4, 0xa7d5, 0xa7d6, 0xa7d7, 0xa7d8, 0xa7a1, 0xa7a2, 0xa7a3,
    +    0xa7a5, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,
    +    0xa7b2, 0xa7b3, 0xa7b4, 0xa7a7, 0xa7a8, 0xa7a9, 0xa7aa, 0xa7bd,
    +    0xa7be, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e1, 0xa7e2, 0xa7e3,
    +    0xa7bf, 0xa7c0, 0xa7c1, 0xa7c2, 0xa7c3, 0xa7c4, 0xa7c5, 0xa7c6,
    +    0xa7c7, 0xa7c8, 0xa7ce, 0xa7cf, 0xa7d0, 0xa7d1, 0xa7d2, 0xa7d3,
    +    0xa7da, 0xa7db, 0xa2e3, 0xa7ec, 0xa7a6, 0xa7e0, 0xa7ef, 0xa2e1,
    +    0xa7bc, 0xa7ed, 0xa7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0xa7b9,
    +    0xa7ea, 0x003f, 0x003f, 0xa7eb, 0x003f, 0x003f, 0xa7df, 0x003f,
    +    0xa2e4, 0x003f, 0x003f, 0xa7e4, 0xa7ee, 0xa7e9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x4e00 .. 0x4eff */
    +    0xece9, 0xefcb, 0x003f, 0xf6d2, 0x003f, 0x003f, 0x003f, 0xd8b2,
    +    0xeddb, 0xdfb2, 0xdfbe, 0xf9bb, 0x003f, 0xdcf4, 0x003f, 0x003f,
    +    0x003f, 0xf5e4, 0x003f, 0x003f, 0xf3a6, 0xdde0, 0xe1a6, 0x003f,
    +    0xcef8, 0xdcb0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3aa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcdfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfcaf, 0xd3a1, 0x003f, 0xf1ab, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7d1, 0xd2ac, 0x003f, 0xcef9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf1fd, 0x003f, 0xdebf, 0xfbba, 0xf9b9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xced2, 0x003f,
    +    0xe3ab, 0xebe0, 0x003f, 0x003f, 0x003f, 0xcefa, 0xcbf7, 0xe5a5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcae1, 0x003f, 0xd4cc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeae1, 0x003f, 0x003f, 0xdce3, 0xdfad,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbeb, 0x003f,
    +    0x003f, 0x003f, 0xd5af, 0x003f, 0x003f, 0x003f, 0xd6f5, 0x003f,
    +    0xe5f8, 0x003f, 0x003f, 0xdec0, 0xeca3, 0x003f, 0xe9cd, 0x003f,
    +    0xeaa7, 0xe9f6, 0xfbbb, 0x003f, 0xe7e9, 0xefcc, 0x003f, 0x003f,
    +    0xd0e6, 0x003f, 0x003f, 0xdec1, 0x003f, 0x003f, 0xe4ac, 0x003f,
    +    0x003f, 0xd8cc, 0xf9f1, 0x003f, 0xcedf, 0xfaa4, 0xe6b2, 0x003f,
    +    0xfafb, 0x003f, 0x003f, 0xfabd, 0xccc8, 0xefcd, 0xd5d5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a2, 0x003f,
    +    0x003f, 0x003f, 0xecd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4a7, 0xecd2, 0x003f, 0x003f, 0xf6b1, 0x003f, 0x003f, 0xcefb,
    +    0x003f, 0x003f, 0xd0d1, 0xcbbf, 0x003f, 0xeda4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeda8, 0xdec2, 0xf6e2, 0xeddc,
    +    0xdcf5, 0xe0b9, 0x003f, 0x003f, 0x003f, 0xd4ce, 0x003f, 0xf4b5,
    +    0x003f, 0x003f, 0x003f, 0xd3db, 0xd6b5, 0xeca4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4e6, 0x003f, 0xf1ea, 0x003f, 0x003f, 0x003f, 0xcbec, 0xcbc0,
    +    0x003f, 0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x4f00 .. 0x4fff */
    +    0x003f, 0xd0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf9f2, 0xeca5, 0xd0df, 0x003f, 0xe7ea, 0xd0eb, 0xdcd1,
    +    0xdbe9, 0xfdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbd7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdae1, 0x003f, 0xd6b6, 0x003f,
    +    0xe3df, 0x003f, 0xdec3, 0x003f, 0xdec4, 0xcaa1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeeec, 0x003f, 0x003f, 0xd3a3, 0xeeb7,
    +    0xf8cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xeac8, 0xeeb8, 0xf1ac,
    +    0xf1a5, 0xe9ce, 0x003f, 0x003f, 0x003f, 0xf9bc, 0x003f, 0x003f,
    +    0x003f, 0xe5f9, 0xecea, 0xddd6, 0xedc2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ba,
    +    0xdbd8, 0x003f, 0x003f, 0xcaa2, 0x003f, 0x003f, 0xd1cd, 0x003f,
    +    0x003f, 0x003f, 0xeeed, 0x003f, 0x003f, 0x003f, 0xeceb, 0xdec5,
    +    0x003f, 0xe3e0, 0x003f, 0xcac9, 0xf2e9, 0x003f, 0xd5ce, 0x003f,
    +    0xf6b6, 0x003f, 0xcec2, 0xd6c7, 0x003f, 0xe3b4, 0x003f, 0xf1ad,
    +    0x003f, 0xeae2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7c2, 0x003f,
    +    0xf3a7, 0x003f, 0x003f, 0xcdea, 0x003f, 0xebee, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9b2, 0xfda5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6d5, 0xd5e2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8b5,
    +    0x003f, 0x003f, 0xccf5, 0xf5b5, 0xe4ad, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe7eb, 0xf1d5, 0x003f, 0x003f, 0x003f, 0xf0bb, 0x003f,
    +    0x003f, 0xe9b5, 0x003f, 0xccc9, 0xfad5, 0x003f, 0x003f, 0xe1d4,
    +    0x003f, 0x003f, 0xd7d6, 0x003f, 0x003f, 0xdcc1, 0x003f, 0xdec6,
    +    0xfaef, 0xe3e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f3, 0xdcf6,
    +    0x003f, 0xcefc, 0x003f, 0xdbc4, 0x003f, 0xf8f1, 0x003f, 0x003f,
    +    0xdce4, 0x003f, 0xe5ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5000 .. 0x50ff */
    +    0x003f, 0x003f, 0xdcb1, 0x003f, 0x003f, 0x003f, 0xd5d6, 0x003f,
    +    0x003f, 0xf3da, 0x003f, 0xcbc1, 0x003f, 0xdbc3, 0x003f, 0x003f,
    +    0x003f, 0xd9fa, 0xd3ee, 0x003f, 0x003f, 0x003f, 0xfab8, 0x003f,
    +    0x003f, 0xfda6, 0xebef, 0x003f, 0xf4a6, 0x003f, 0xccca, 0xf3a8,
    +    0x003f, 0xf3db, 0x003f, 0xdba7, 0xf6b7, 0x003f, 0xcfe6, 0xf0f2,
    +    0xcbda, 0x003f, 0xe7d2, 0xd7c3, 0xf6f0, 0xe8de, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5a6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5e7, 0x003f, 0x003f, 0x003f, 0xcaa3,
    +    0xcca7, 0xeac9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8b6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfaa5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1ae, 0x003f, 0xefce, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbed, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6b0, 0xefcf, 0xe9cf, 0x003f,
    +    0xf7de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xced3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcf7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba8, 0x003f, 0x003f,
    +    0x003f, 0xcbf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdfa1, 0xdde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf5ca, 0xe9b6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7ec, 0xeeee, 0x003f, 0xf3f0, 0x003f, 0xdfbf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcccb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c1, 0x003f, 0x003f,
    +    0x003f, 0xf4d2, 0xe0ba, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfc0,
    +    0x003f, 0xcee0, 0x003f, 0x003f, 0x003f, 0xdcd2, 0xfdea, 0x003f,
    +    0x003f, 0x003f, 0xd6f6, 0x003f, 0x003f, 0x003f, 0xeaca, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e9, 0x003f, 0xe3ac,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3d0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcaa4, 0x003f, 0xdbf8, 0x003f, 0x003f, 0x003f, 0xdec7,
    +    /* 0x5100 .. 0x51ff */
    +    0xebf0, 0xf1d6, 0x003f, 0x003f, 0xe5e2, 0x003f, 0xcccc, 0x003f,
    +    0x003f, 0xcbfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeae3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfc1,
    +    0x003f, 0xd6ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeeb9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5e3,
    +    0x003f, 0x003f, 0xd1d3, 0x003f, 0xe5f0, 0x003f, 0x003f, 0x003f,
    +    0xe8b4, 0xebc3, 0x003f, 0xeaaa, 0xfafc, 0xf5f6, 0xf0bc, 0xfdd4,
    +    0xe0bb, 0xcec3, 0x003f, 0xd0ba, 0xf7ba, 0xd8f3, 0xf7cd, 0x003f,
    +    0x003f, 0x003f, 0xe4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd4df, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd0e7, 0x003f, 0x003f, 0xecfd, 0x003f, 0xd2ae,
    +    0xeeef, 0xd5d7, 0xeae4, 0xf8a2, 0xcdeb, 0xd7bf, 0xfbb1, 0x003f,
    +    0x003f, 0xcdec, 0x003f, 0x003f, 0x003f, 0xdcb2, 0xd0ec, 0xcefd,
    +    0xeef0, 0x003f, 0x003f, 0x003f, 0xccc2, 0x003f, 0x003f, 0x003f,
    +    0xd0ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f7, 0x003f,
    +    0x003f, 0x003f, 0xf3fc, 0x003f, 0x003f, 0xeea2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd9b3, 0x003f, 0x003f, 0xd8f4, 0x003f, 0xe9b7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xceae, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8f1, 0x003f, 0xd4cf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a7, 0xd5d2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf4a2, 0x003f, 0xf1d7, 0x003f,
    +    0x003f, 0xd5d8, 0x003f, 0xf0bd, 0xd7d0, 0xd4d0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd7cf, 0xebea, 0xfdeb, 0x003f,
    +    0x003f, 0xdbed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfcc5, 0xcbc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd5, 0x003f,
    +    0xf4c8, 0xe8ea, 0xf5f3, 0x003f, 0x003f, 0xf9de, 0x003f, 0x003f,
    +    /* 0x5200 .. 0x52ff */
    +    0xd3ef, 0x003f, 0x003f, 0xecd3, 0x003f, 0x003f, 0xddc2, 0xefb7,
    +    0xe7d4, 0x003f, 0xcaca, 0x003f, 0x003f, 0x003f, 0xd9fb, 0x003f,
    +    0x003f, 0xfafd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6aa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf7f7, 0xdcac, 0x003f, 0x003f,
    +    0x003f, 0xd7d7, 0xdfa2, 0x003f, 0x003f, 0x003f, 0xcebe, 0x003f,
    +    0xd3f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0a4, 0xe1ec,
    +    0xcfe7, 0xf3cb, 0xeda9, 0xcabe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf4ef, 0x003f, 0x003f, 0x003f, 0xf6ce,
    +    0x003f, 0x003f, 0xdefb, 0xd0bb, 0xd5b7, 0xeef1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf4a8, 0x003f, 0xdcf8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcba7, 0x003f, 0xdace, 0x003f, 0x003f,
    +    0x003f, 0xe0e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeda5, 0xeef2, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcf9,
    +    0x003f, 0x003f, 0xf9dc, 0x003f, 0x003f, 0xf3dc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8f2, 0x003f, 0xf4f9,
    +    0x003f, 0x003f, 0x003f, 0xfcf1, 0x003f, 0x003f, 0x003f, 0xd0bc,
    +    0xdbf9, 0xd7b1, 0x003f, 0x003f, 0x003f, 0xcbfc, 0x003f, 0x003f,
    +    0x003f, 0xf0a5, 0xcbfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5f4, 0x003f, 0x003f, 0x003f, 0xcded,
    +    0xcaa5, 0x003f, 0x003f, 0xd6ab, 0xd0c2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf0be, 0xd2bd, 0xcca4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfab6, 0x003f,
    +    0x003f, 0xcccd, 0x003f, 0xdafa, 0x003f, 0xf6cf, 0x003f, 0xe9b8,
    +    0x003f, 0xd8f5, 0x003f, 0x003f, 0x003f, 0xccce, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd7cd, 0x003f, 0x003f, 0xd4d1, 0xe9ed, 0x003f,
    +    0xcaeb, 0xd9e2, 0x003f, 0xfdb2, 0x003f, 0xe3ad, 0xd6cc, 0xd9b4,
    +    0x003f, 0x003f, 0xe1a7, 0xeed3, 0xd0c3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfdb3, 0x003f, 0xd5e4, 0x003f, 0x003f,
    +    0xcfe8, 0x003f, 0xedc3, 0xd0b2, 0x003f, 0x003f, 0xcefe, 0xdaa8,
    +    /* 0x5300 .. 0x53ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d0, 0x003f, 0x003f,
    +    0xfdd6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d1, 0x003f, 0xf8d2,
    +    0xdcd3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdde2, 0xfbf9, 0xddc1,
    +    0x003f, 0xe3b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeddd, 0xcec4, 0x003f, 0xcba1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdde3, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcdd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf9af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2fb,
    +    0xcfa1, 0xe4a8, 0x003f, 0xf4b6, 0xecfe, 0x003f, 0x003f, 0xe3ae,
    +    0xe7ed, 0xfdc1, 0xdae2, 0x003f, 0x003f, 0xd8b3, 0x003f, 0x003f,
    +    0x003f, 0xdde4, 0xf0ef, 0xf6f1, 0xfaf0, 0x003f, 0x003f, 0xd1f5,
    +    0x003f, 0x003f, 0xdacf, 0x003f, 0xdcd4, 0x003f, 0xdca6, 0x003f,
    +    0xefbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcecf, 0x003f,
    +    0xe0d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d6,
    +    0xecd4, 0xeacb, 0x003f, 0x003f, 0xcabf, 0xd5b0, 0x003f, 0xcfe9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ed, 0x003f, 0xcccf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4ed, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd7d8, 0x003f, 0xfda7, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaab,
    +    0xf6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xcff0, 0xf9bd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcbdb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf3d1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9d1, 0xf3a9, 0xd0e0, 0xe9d2, 0x003f, 0xdae3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2d2, 0x003f, 0xf6a2, 0xe1f4,
    +    0x003f, 0x003f, 0x003f, 0xdae4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe7d5, 0xf5bf, 0xcfa2, 0xcdaf, 0xcfa3, 0x003f, 0x003f,
    +    0x003f, 0xcdb0, 0xf1fe, 0xd0a3, 0xe1af, 0xf8a3, 0x003f, 0xcaa6,
    +    0xf7bb, 0xf2ea, 0xdec8, 0xe9d3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdec9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5400 .. 0x54ff */
    +    0x003f, 0x003f, 0x003f, 0xfdde, 0xcac0, 0x003f, 0x003f, 0x003f,
    +    0xf9ea, 0xd1ce, 0xeed4, 0x003f, 0xd4d2, 0xd9a3, 0xfda8, 0xd7d9,
    +    0xf7ce, 0xfabe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcfd6, 0x003f, 0xd7f0, 0x003f, 0xebe1,
    +    0xf8c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcfa, 0x003f,
    +    0x003f, 0xddc3, 0x003f, 0xf9df, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe7ef, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfde5, 0xf6a3, 0x003f, 0xd9fc, 0xfda9, 0x003f, 0xe7ee, 0x003f,
    +    0x003f, 0x003f, 0xd5e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefd0, 0x003f, 0xcdb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf7a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf1b2, 0x003f, 0xf1b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdb2, 0x003f, 0xdaab, 0x003f, 0xcaa7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3e2, 0xfbbc, 0xd9a4, 0x003f, 0x003f,
    +    0xeeba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfbfa, 0x003f, 0xcfa4, 0x003f,
    +    0xdcfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6e3, 0x003f, 0x003f, 0x003f,
    +    0xedaa, 0x003f, 0x003f, 0xf2a1, 0xcee1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfaa6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf9e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xecd6, 0x003f, 0x003f,
    +    0xe4ee, 0xf9a1, 0x003f, 0x003f, 0xfbef, 0x003f, 0x003f, 0x003f,
    +    0xf9eb, 0xeea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeaac, 0x003f, 0x003f, 0x003f, 0xcaa8, 0x003f, 0x003f,
    +    0xf4fa, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd6, 0xfcf6, 0x003f,
    +    0x003f, 0x003f, 0xf4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf8d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5500 .. 0x55ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf8a6, 0x003f, 0xdeca, 0xf2c6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7da, 0x003f,
    +    0xd3d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeae6,
    +    0x003f, 0xf3dd, 0x003f, 0x003f, 0x003f, 0xe4da, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6f2, 0x003f, 0xdfc2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9fd,
    +    0x003f, 0x003f, 0x003f, 0xccf6, 0x003f, 0x003f, 0xd3ba, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4af, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9e1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf0a6, 0x003f, 0x003f, 0x003f,
    +    0xcbd3, 0x003f, 0x003f, 0x003f, 0xe0bc, 0x003f, 0xf4ca, 0xd4fa,
    +    0x003f, 0xfdaa, 0xf9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf4b7, 0xfdc2, 0xfcb0, 0x003f, 0xfdec, 0xcae2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdbd,
    +    0x003f, 0xeae7, 0xdfc3, 0xd1d2, 0xcee2, 0x003f, 0xd3a4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdab, 0x003f, 0xdfe0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf2c7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7f0, 0x003f, 0xd0ee, 0x003f, 0x003f, 0xf3aa,
    +    0x003f, 0x003f, 0x003f, 0xdecb, 0xf6b8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f5, 0xf1b3, 0x003f,
    +    /* 0x5600 .. 0x56ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7a3, 0x003f,
    +    0x003f, 0xcaa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcfa5, 0x003f, 0x003f, 0xdfc4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1b0,
    +    0x003f, 0x003f, 0xf0bf, 0x003f, 0xf6a4, 0x003f, 0xe3b6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfac6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd0ef, 0x003f, 0x003f, 0xfded, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xddc4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcf7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6bf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdead, 0x003f, 0xfabf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xedc4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd2a5, 0x003f, 0x003f, 0xfdee, 0x003f, 0x003f,
    +    0x003f, 0xf5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1f6, 0xdecc, 0x003f, 0x003f, 0xfcde, 0x003f,
    +    0xecd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcddd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd6b7, 0xcdb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5700 .. 0x57ff */
    +    0x003f, 0x003f, 0x003f, 0xf8d5, 0xe5d8, 0x003f, 0x003f, 0x003f,
    +    0xcfea, 0x003f, 0x003f, 0xcfd0, 0x003f, 0xeacc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeaae, 0xeaad, 0x003f, 0x003f, 0xd3f1, 0x003f,
    +    0xd3a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7cf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeea4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a4, 0x003f, 0x003f,
    +    0xf2a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd0f0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2a3, 0x003f, 0xf7f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b3,
    +    0x003f, 0x003f, 0xdba9, 0x003f, 0x003f, 0xd3bb, 0xcaec, 0x003f,
    +    0xf1a6, 0xcbd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf7e7, 0x003f, 0x003f, 0xcdde, 0x003f, 0xf7a4, 0x003f,
    +    0x003f, 0x003f, 0xf8c0, 0x003f, 0x003f, 0x003f, 0xd3dd, 0x003f,
    +    0xccd0, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6f3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3dc, 0x003f, 0x003f, 0xfafe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfaa7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xebd9, 0x003f, 0xcfa7, 0xeaaf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0xe9b9,
    +    0xf1d8, 0x003f, 0x003f, 0xd8d8, 0x003f, 0x003f, 0xe0f2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6b4,
    +    0xdcfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf3f1, 0x003f, 0x003f, 0x003f, 0xe3d0, 0x003f, 0x003f, 0xf2fb,
    +    0x003f, 0xdbc6, 0xd0f1, 0x003f, 0xd0f2, 0x003f, 0x003f, 0x003f,
    +    /* 0x5800 .. 0x58ff */
    +    0xcfdc, 0x003f, 0xd3d1, 0x003f, 0x003f, 0xccb1, 0xf7d8, 0x003f,
    +    0xcba8, 0xebbc, 0xe4be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4dc, 0x003f,
    +    0x003f, 0xdcc2, 0x003f, 0x003f, 0xf0a7, 0x003f, 0x003f, 0xe6c0,
    +    0x003f, 0x003f, 0xcaed, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8eb,
    +    0xe5e8, 0xdcc3, 0x003f, 0x003f, 0xedde, 0xd3f2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xccf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xced4, 0xe7ab, 0x003f, 0x003f, 0x003f, 0xcbc3,
    +    0x003f, 0xe1b1, 0x003f, 0x003f, 0xf7b2, 0x003f, 0x003f, 0xd3f3,
    +    0xd3d2, 0x003f, 0xf5c0, 0x003f, 0x003f, 0x003f, 0xdfdd, 0x003f,
    +    0x003f, 0xeef3, 0xe7f1, 0x003f, 0xfdb4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c8, 0x003f, 0x003f,
    +    0x003f, 0xf3d2, 0x003f, 0x003f, 0xeef4, 0x003f, 0xe2d3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xccd1, 0x003f, 0xdfea, 0x003f, 0x003f,
    +    0x003f, 0xe9ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd9d7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf5cd, 0x003f, 0xf1f2, 0xfac7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9f8, 0xd4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xddc5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7f2, 0xeddf, 0x003f, 0x003f, 0xcacb, 0x003f,
    +    0x003f, 0xdbfa, 0x003f, 0x003f, 0x003f, 0xe8b5, 0x003f, 0xd3a6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdb5, 0x003f,
    +    0x003f, 0xf9c9, 0x003f, 0xe4e2, 0x003f, 0xfbbd, 0x003f, 0x003f,
    +    0xd7a4, 0xcec5, 0x003f, 0x003f, 0x003f, 0x003f, 0xced5, 0xd6e6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe5bd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdecd, 0xecf3, 0x003f, 0x003f, 0xede0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xecec, 0xfbbe, 0xdfeb, 0x003f, 0xe1f8, 0x003f, 0x003f,
    +    /* 0x5900 .. 0x59ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9be,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd0f3, 0xe0aa, 0xe8e2, 0x003f,
    +    0x003f, 0xe2d4, 0xd2fd, 0x003f, 0xe5a8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd9d3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3de,
    +    0x003f, 0xf4b8, 0xf7bc, 0xdcfd, 0x003f, 0xe8ec, 0xe4e7, 0x003f,
    +    0x003f, 0xe3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeca8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfaf1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f2, 0x003f, 0x003f, 0xd0f4,
    +    0xd2af, 0xdce5, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a5, 0xf1b4,
    +    0xfcb1, 0xccf8, 0x003f, 0x003f, 0xddc6, 0xfad1, 0x003f, 0xf7df,
    +    0x003f, 0x003f, 0xfaa8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeef5, 0x003f, 0xdece, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f3,
    +    0x003f, 0x003f, 0xf7ac, 0xebc4, 0xede1, 0xe0ab, 0xddc7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd2b3, 0xd2bf, 0x003f, 0x003f, 0x003f,
    +    0xcacc, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbbf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5fd, 0xdde5, 0xd8cd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xecf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd0f5, 0x003f, 0x003f, 0xe8ed, 0xd0d2,
    +    0x003f, 0xd9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e6, 0x003f, 0x003f,
    +    0xdbaa, 0x003f, 0x003f, 0x003f, 0xf7e0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd8d9, 0x003f, 0xf4a3, 0x003f, 0x003f, 0xf4dd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xefd1, 0x003f, 0x003f, 0xd9b5, 0x003f,
    +    0x003f, 0xedab, 0x003f, 0xe3b7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeebb, 0xcdb4, 0x003f, 0xe0f3, 0xeacd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xecf5, 0xe8ee, 0x003f, 0xcba9, 0xf1af, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacd, 0x003f,
    +    0xeca9, 0x003f, 0xf2eb, 0x003f, 0xfdef, 0x003f, 0xf9f3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6c1, 0x003f, 0x003f, 0xecd8, 0x003f, 0x003f, 0x003f, 0xedac,
    +    /* 0x5a00 .. 0x5aff */
    +    0x003f, 0xeace, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdecf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2a6, 0x003f, 0x003f, 0xe7f4, 0xd1d6, 0x003f, 0x003f, 0xe6c2,
    +    0xe3e3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b0, 0x003f, 0x003f,
    +    0x003f, 0xd8b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6a5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3de, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd7a5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7e8, 0x003f,
    +    0x003f, 0xe8c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfbe6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdde6, 0x003f, 0x003f, 0x003f, 0xdcfe, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdaac, 0xeab0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe3b8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcaaa, 0xe1f9, 0x003f, 0xeab1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf2ec, 0x003f, 0x003f, 0xfaee, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeed5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9f4, 0x003f,
    +    0x003f, 0xd2ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5b00 .. 0x5bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbfb, 0x003f, 0x003f,
    +    0x003f, 0xfdf0, 0x003f, 0xe0bd, 0xcee3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8c6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdeae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdfc5, 0x003f, 0x003f, 0xe5be, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedad, 0xfaea, 0x003f, 0x003f, 0xcdee, 0xeda6, 0x003f, 0xedae,
    +    0xf0ed, 0x003f, 0xdda1, 0x003f, 0xedaf, 0xfcf8, 0x003f, 0xd8eb,
    +    0x003f, 0x003f, 0x003f, 0xccf9, 0xcdb5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfaa9, 0x003f, 0xe1dd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2d5, 0xedcf, 0x003f, 0x003f, 0x003f, 0xdda2, 0x003f, 0x003f,
    +    0xf9ca, 0x003f, 0xeae8, 0x003f, 0xe5ed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3eb, 0x003f, 0xe9d4,
    +    0xe1fa, 0xe4cc, 0x003f, 0xe1e4, 0xe8c7, 0x003f, 0x003f, 0xcedb,
    +    0x003f, 0x003f, 0x003f, 0xdcd5, 0x003f, 0xf7b5, 0xfcf3, 0xf0f3,
    +    0xceaf, 0xf1b5, 0xefd2, 0xe8c8, 0xebf1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcbd4, 0xe0be, 0xe3f8, 0xeae9, 0xfcb2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0f4, 0x003f, 0xcfe0, 0x003f,
    +    0xeea5, 0x003f, 0x003f, 0xfaaa, 0xe6c3, 0xe1b2, 0xcaab, 0x003f,
    +    0xe3e4, 0xe9bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d6,
    +    0xf3f2, 0x003f, 0xeed6, 0xeab2, 0xd0f6, 0xecd9, 0xdacb, 0xcfa8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdda3, 0x003f, 0x003f, 0x003f,
    +    0xd8db, 0x003f, 0xf9ce, 0xe9d5, 0xe3d1, 0x003f, 0x003f, 0xd2bc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ac, 0xf3cc,
    +    0x003f, 0xcdfb, 0xf6d6, 0x003f, 0xe7f5, 0xe8ef, 0xe3f9, 0xd2bb,
    +    0xf3f3, 0xe3fb, 0x003f, 0xded0, 0xceb0, 0x003f, 0xd6f7, 0xf1d9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5c1, 0xdcc4, 0x003f,
    +    0xf5bb, 0x003f, 0xded1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5c00 .. 0x5cff */
    +    0x003f, 0xdce6, 0x003f, 0x003f, 0xded2, 0x003f, 0x003f, 0xede2,
    +    0xeef6, 0xeacf, 0xf0ee, 0xe3fc, 0x003f, 0xd3df, 0xd3f4, 0xe1b3,
    +    0x003f, 0xe1b4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d3, 0x003f,
    +    0x003f, 0xdfc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9d6, 0x003f, 0x003f, 0x003f,
    +    0xdbab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf6a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe3b9, 0xebc5, 0xf4a9, 0xcdb6, 0xd2f9, 0x003f, 0xdaad, 0xd2e3,
    +    0xcfd1, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbdc, 0xccfa, 0x003f,
    +    0xcfdd, 0x003f, 0x003f, 0xe8a9, 0x003f, 0xe3bb, 0xe3ba, 0x003f,
    +    0x003f, 0xe0da, 0x003f, 0x003f, 0x003f, 0xeef7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdcb3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3f5, 0x003f, 0xd7a6, 0x003f, 0xf6b5, 0xd7db, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1d5, 0x003f, 0x003f, 0xd4ea,
    +    0x003f, 0xdfa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfddf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd0f7, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcbaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe4db, 0x003f, 0xe1fb, 0xcba2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3e0, 0x003f, 0xe4bf, 0x003f, 0xfbc0, 0x003f, 0xdabe,
    +    0xe4cd, 0x003f, 0xd6b9, 0x003f, 0x003f, 0x003f, 0xefc0, 0x003f,
    +    0xe1fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf6b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdfc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce7,
    +    0xdce8, 0x003f, 0x003f, 0x003f, 0xfad6, 0x003f, 0xd3f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf1da, 0x003f, 0xfaf2, 0x003f, 0x003f,
    +    /* 0x5d00 .. 0x5dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2fd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cf, 0xd0f8, 0x003f,
    +    0x003f, 0xcddf, 0x003f, 0x003f, 0xf5cb, 0x003f, 0xe4f0, 0xcbab,
    +    0x003f, 0xd7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2fe,
    +    0x003f, 0xddda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdaae, 0xcaee, 0x003f, 0x003f, 0x003f,
    +    0xd5b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3a1, 0x003f, 0x003f, 0xe8e3, 0x003f, 0x003f, 0xf3ab,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa9,
    +    0x003f, 0x003f, 0x003f, 0xd3f7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f1, 0x003f, 0x003f,
    +    0xcee4, 0x003f, 0xe8f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7ae, 0x003f, 0xd6ba, 0x003f, 0xdfec, 0xe4c0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8b5, 0x003f, 0x003f, 0x003f, 0xe4dc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4b9, 0xf1b6, 0x003f,
    +    0x003f, 0xe2de, 0xe1b5, 0x003f, 0x003f, 0xcdef, 0xf1a7, 0xcee5,
    +    0xcbdd, 0x003f, 0x003f, 0xd9e3, 0x003f, 0x003f, 0xf3ac, 0x003f,
    +    0x003f, 0xd0f9, 0xecab, 0xded3, 0xf7e9, 0x003f, 0x003f, 0xf9f5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1de, 0xcbee, 0x003f,
    +    /* 0x5e00 .. 0x5eff */
    +    0x003f, 0x003f, 0xe3bc, 0xf8d6, 0x003f, 0x003f, 0xdbee, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfdf1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf7b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4de, 0x003f,
    +    0x003f, 0xf2ed, 0x003f, 0xdbd9, 0x003f, 0xf0a8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1fd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xded4, 0x003f, 0xe0ac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xede3, 0x003f, 0x003f, 0xd3e1, 0x003f,
    +    0xdfc8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9b6, 0x003f, 0xfdac,
    +    0xefd3, 0x003f, 0x003f, 0x003f, 0xe4c1, 0xf8eb, 0x003f, 0xdbac,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfcc6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ad, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6ba,
    +    0x003f, 0xdbdf, 0xd3d3, 0xf8c7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcace, 0xf8c1, 0xd2b4, 0x003f, 0x003f, 0xdcb4,
    +    0xfab9, 0xcacf, 0x003f, 0xfcb3, 0xeaea, 0xeaeb, 0xd0fa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xede4, 0x003f, 0x003f, 0xdde7,
    +    0x003f, 0x003f, 0xdfc9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfed,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeebc, 0x003f, 0xefc1,
    +    0x003f, 0x003f, 0xccd2, 0x003f, 0xdda4, 0x003f, 0x003f, 0x003f,
    +    0xdfca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f8, 0xf1a8,
    +    0x003f, 0x003f, 0x003f, 0xcdb7, 0x003f, 0xefd4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dd, 0xdfee, 0xcbac,
    +    0xe9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaec, 0x003f,
    +    0x003f, 0x003f, 0xdfcb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf9bf, 0xd6af, 0xd5c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcfaa, 0x003f, 0x003f, 0xcea9, 0x003f, 0x003f, 0xd6f8, 0x003f,
    +    0x003f, 0x003f, 0xf1b7, 0xeef8, 0x003f, 0x003f, 0x003f, 0xd9d9,
    +    0xf3df, 0x003f, 0xf8c8, 0xcec6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd5e6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf4e6, 0x003f, 0x003f, 0xe6c5, 0xefd5,
    +    0x003f, 0x003f, 0xcbef, 0xfcdf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5f00 .. 0x5fff */
    +    0x003f, 0xdca7, 0x003f, 0x003f, 0xd6e7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf8c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d2,
    +    0x003f, 0xe3bd, 0x003f, 0xcfe1, 0xf0c0, 0xecda, 0x003f, 0xddd7,
    +    0xfbf0, 0x003f, 0x003f, 0xecac, 0x003f, 0x003f, 0x003f, 0xf0a9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfad7, 0xfbc1,
    +    0x003f, 0xd2c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5b0, 0x003f, 0x003f, 0x003f, 0xede5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcbad, 0x003f, 0xf9b0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf7a5, 0x003f, 0xcbae, 0x003f, 0xdaaf, 0x003f, 0xd8b6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a7, 0xfbb2,
    +    0x003f, 0xfdc4, 0x003f, 0xecad, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfba1, 0x003f, 0x003f, 0x003f, 0xe5e9, 0xe9ee,
    +    0x003f, 0xf3f4, 0xf8f3, 0xf0c1, 0xdeaf, 0xf8b0, 0x003f, 0x003f,
    +    0xf3e0, 0xe7af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbad,
    +    0x003f, 0xe6b5, 0x003f, 0x003f, 0xf9a8, 0x003f, 0x003f, 0xddd8,
    +    0xe8d9, 0xefd6, 0x003f, 0x003f, 0x003f, 0xd3e2, 0x003f, 0xe2df,
    +    0x003f, 0x003f, 0xfce0, 0xd7c8, 0xfdad, 0x003f, 0x003f, 0x003f,
    +    0xdfef, 0xccd3, 0xd3f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f0,
    +    0xdbc7, 0xded5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0f4, 0x003f,
    +    0xd5d0, 0xe5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfcc7, 0xdcd6, 0xe2e0, 0x003f, 0x003f, 0x003f, 0xdab0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a3, 0x003f, 0xd3ec,
    +    0x003f, 0xf4cb, 0x003f, 0x003f, 0x003f, 0xfdc5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3fd, 0x003f, 0xf9b1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd0fb, 0xecdb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5bc, 0xf2a4,
    +    0xd8ce, 0xd8cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf5f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf6e1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbec, 0x003f, 0xddc8,
    +    /* 0x6000 .. 0x60ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e8,
    +    0x003f, 0x003f, 0xd2c1, 0x003f, 0x003f, 0x003f, 0xf8d7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6bb, 0xded6, 0x003f, 0x003f,
    +    0xf7bd, 0xecae, 0x003f, 0x003f, 0x003f, 0xd0e1, 0x003f, 0xe0f5,
    +    0xeab3, 0x003f, 0xced6, 0x003f, 0x003f, 0x003f, 0x003f, 0xcca5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xecf6, 0xe2e1, 0xe3be, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcc8, 0x003f, 0x003f,
    +    0xcdf0, 0x003f, 0xf9f6, 0x003f, 0x003f, 0xdff0, 0x003f, 0x003f,
    +    0x003f, 0xe5bf, 0x003f, 0x003f, 0x003f, 0xcebf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfce1, 0xedb0, 0xfdd1, 0xf6bb, 0x003f, 0x003f,
    +    0xf9cf, 0xebda, 0xcac1, 0x003f, 0xd2b8, 0xcdf1, 0x003f, 0xe3d3,
    +    0xfde6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ed, 0x003f, 0x003f,
    +    0x003f, 0xe3fa, 0x003f, 0x003f, 0xf0aa, 0xf9d0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfce2, 0x003f, 0xf8a7, 0x003f,
    +    0x003f, 0x003f, 0xe1e5, 0xeef9, 0x003f, 0x003f, 0x003f, 0xe7f6,
    +    0xeaed, 0x003f, 0x003f, 0xfcb4, 0xf5c2, 0x003f, 0x003f, 0xd7dc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf0f5, 0x003f, 0xdde8, 0xd3ed, 0xf5fc, 0x003f, 0xdabf, 0x003f,
    +    0xccfb, 0x003f, 0x003f, 0x003f, 0xd3fa, 0xf4a4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefd7, 0x003f, 0xd4c3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfbed, 0x003f, 0xe0ad, 0x003f, 0x003f, 0xeaee,
    +    0xfbb3, 0xe4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf6e7, 0xd2dd, 0x003f, 0xdfcc, 0x003f, 0x003f, 0xfcc9, 0x003f,
    +    0x003f, 0xe5a9, 0xe0f6, 0xf6b3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6100 .. 0x61ff */
    +    0x003f, 0xe1fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf0, 0x003f,
    +    0xeaef, 0xeaf0, 0x003f, 0x003f, 0x003f, 0xdac0, 0xf8b4, 0xebf2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9d7, 0xe4f1, 0x003f, 0x003f, 0x003f, 0xcaef,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xced7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfcca, 0x003f, 0x003f, 0x003f, 0xf3e1, 0x003f, 0x003f, 0xcbc4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe3e5, 0x003f, 0xcbc5, 0xeab4,
    +    0x003f, 0x003f, 0xe9bd, 0x003f, 0xd7c9, 0x003f, 0x003f, 0xebdb,
    +    0xedb1, 0x003f, 0xccc3, 0xf7be, 0xfccb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf8f4, 0x003f, 0xd9b7, 0x003f, 0x003f,
    +    0xf3d3, 0xf3d4, 0x003f, 0x003f, 0x003f, 0xf7e4, 0x003f, 0xf7d1,
    +    0x003f, 0x003f, 0xd8b7, 0xceb1, 0xcac2, 0x003f, 0x003f, 0xfbb4,
    +    0xcbc6, 0x003f, 0x003f, 0xf0f6, 0x003f, 0x003f, 0xd5e7, 0x003f,
    +    0xead0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccd4, 0xcbaf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4aa, 0xe9af, 0x003f,
    +    0x003f, 0xf5c3, 0xe9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdde9, 0x003f, 0x003f, 0x003f, 0xf1f3, 0x003f,
    +    0xd5fb, 0xdebb, 0x003f, 0x003f, 0xf4fb, 0x003f, 0x003f, 0x003f,
    +    0xfdf3, 0xfdf2, 0xf7a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xddc9, 0x003f, 0x003f, 0xd4d3,
    +    0x003f, 0xcca8, 0x003f, 0xdac1, 0xccd5, 0x003f, 0xd9e4, 0x003f,
    +    0x003f, 0x003f, 0xfaca, 0x003f, 0x003f, 0x003f, 0xe5e3, 0x003f,
    +    0x003f, 0x003f, 0xd3bc, 0x003f, 0x003f, 0x003f, 0xcaf0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd0c4, 0x003f, 0x003f, 0x003f, 0xcad0,
    +    0xfaab, 0xebeb, 0xe7f8, 0xd9e5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1d7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3a4, 0x003f, 0x003f, 0x003f, 0xd4fb, 0xfce3,
    +    0xfad8, 0x003f, 0xf3d5, 0x003f, 0xcfab, 0x003f, 0x003f, 0xebf3,
    +    /* 0x6200 .. 0x62ff */
    +    0xd5fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d4,
    +    0xcdfc, 0x003f, 0xd9e6, 0x003f, 0xe2f9, 0xe2a1, 0xebd4, 0x003f,
    +    0xe0f7, 0xe4b2, 0xccfc, 0x003f, 0x003f, 0x003f, 0xfbe4, 0x003f,
    +    0x003f, 0x003f, 0xf4ab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0bd,
    +    0x003f, 0xcaf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xefb8, 0x003f, 0x003f, 0x003f, 0xd7c0, 0x003f,
    +    0xeefa, 0xfdf4, 0x003f, 0x003f, 0xd3e3, 0x003f, 0xfbc2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5e8, 0xdbae,
    +    0xe1b6, 0xf8b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0bf,
    +    0xfbc3, 0xddea, 0x003f, 0xe2a2, 0x003f, 0xeea6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf6e8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf6f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddca, 0x003f,
    +    0x003f, 0xd0e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xdda6, 0x003f,
    +    0x003f, 0xddeb, 0x003f, 0x003f, 0xe4f9, 0x003f, 0x003f, 0xe3af,
    +    0xd0fc, 0x003f, 0x003f, 0x003f, 0xf4fc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccbc, 0xf7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5e4, 0xdff1, 0x003f, 0x003f, 0xf7e1, 0x003f, 0xf9f7,
    +    0xefb9, 0x003f, 0x003f, 0xf8d8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9a9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8d9, 0x003f, 0x003f, 0x003f, 0xeebd, 0x003f, 0x003f,
    +    0x003f, 0xd8c6, 0x003f, 0x003f, 0xe4e3, 0xf5ce, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9e7,
    +    0xd2b9, 0xd5c3, 0x003f, 0x003f, 0xdae5, 0xdad0, 0x003f, 0xd1d9,
    +    0xced8, 0x003f, 0xcbde, 0xf4ac, 0xdafb, 0x003f, 0xf6e9, 0xe8f3,
    +    0xcfac, 0xf0f0, 0x003f, 0xf4fd, 0xdbc8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcec0, 0xe3d4, 0xd1cf, 0xf1f5,
    +    0x003f, 0xcdf2, 0x003f, 0xcfeb, 0x003f, 0x003f, 0x003f, 0xcdb8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a6, 0xd1da,
    +    /* 0x6300 .. 0x63ff */
    +    0x003f, 0xf2a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a6,
    +    0x003f, 0xe4ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf1a9, 0x003f, 0x003f, 0x003f, 0xf2c9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xefd8, 0xe6c9, 0x003f, 0xd8b8, 0xfaf3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3b5, 0x003f, 0x003f, 0xf8a4, 0x003f, 0x003f, 0xd1f3,
    +    0xe6c8, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8da, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce9,
    +    0xded7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbdf, 0x003f,
    +    0x003f, 0x003f, 0xcfec, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4df,
    +    0x003f, 0x003f, 0xd1f4, 0xd2ba, 0x003f, 0x003f, 0x003f, 0xdff2,
    +    0x003f, 0x003f, 0x003f, 0xe1b7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2a3, 0xd3fc, 0x003f, 0x003f, 0xede6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbc9, 0x003f, 0x003f, 0x003f, 0xe4fa, 0x003f,
    +    0xcfde, 0x003f, 0x003f, 0xced0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd5d3, 0xf3f5, 0xf7ae, 0x003f, 0x003f, 0xefc8, 0x003f, 0xcdf3,
    +    0xf5cf, 0xe5f3, 0xf0c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcad1, 0x003f, 0x003f, 0x003f, 0xeaf1, 0x003f, 0xd0a6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9da,
    +    0xf0ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebe7, 0x003f,
    +    0x003f, 0x003f, 0xe5c0, 0xfcb5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe4c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcca9, 0xfdc6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeab5, 0x003f, 0xe5aa, 0xdfba,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6400 .. 0x64ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1df, 0x003f, 0xdad1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1b8, 0x003f, 0xe8f4, 0xd3fd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2a4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf2ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdae6, 0xf7b3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfdcd, 0x003f, 0x003f, 0x003f, 0xf3b6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeed7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd8a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9b8, 0xd9b9, 0xefc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd6ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf7cb, 0xdfae, 0xe8f5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd2b5, 0x003f, 0x003f, 0x003f, 0xd3d5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf4cc, 0xdafc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd9e8, 0x003f, 0xf7eb, 0xf5c9, 0x003f,
    +    0xf3bc, 0x003f, 0xdad2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd3b5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe8b6, 0x003f, 0x003f, 0xd6cf, 0xf4ba, 0x003f, 0xf7c9,
    +    0x003f, 0x003f, 0xccaa, 0x003f, 0x003f, 0xf0c3, 0xccd6, 0x003f,
    +    0x003f, 0x003f, 0xd0d3, 0x003f, 0xd3bd, 0x003f, 0x003f, 0x003f,
    +    0xdbfb, 0x003f, 0xcbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3e4, 0xf6f7, 0x003f, 0x003f, 0xd5ba, 0xf3cd, 0xcbe1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xebf4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf4ad, 0x003f, 0xfcaa, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf7ec, 0x003f, 0x003f, 0x003f, 0xe8f6, 0x003f,
    +    /* 0x6500 .. 0x65ff */
    +    0xdae7, 0x003f, 0x003f, 0x003f, 0xf7cc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ee, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5fd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcee6, 0xfcab, 0xd5bb, 0x003f, 0x003f, 0xf2a8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a5, 0xcdb9,
    +    0xeaf2, 0xcbc7, 0x003f, 0xcdf4, 0x003f, 0x003f, 0xdbaf, 0xefd9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdba, 0x003f, 0x003f,
    +    0xfcf9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff3, 0xcee7, 0xdac2,
    +    0x003f, 0xcfad, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f9, 0xf8a8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e2, 0x003f,
    +    0x003f, 0x003f, 0xcaf2, 0xdfa4, 0x003f, 0x003f, 0xd4c4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xccd7, 0xe5c2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcdbb, 0x003f, 0xefda, 0xeed8, 0x003f, 0xdda7,
    +    0xe2a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c0, 0x003f,
    +    0x003f, 0x003f, 0xd6b0, 0xf8ca, 0x003f, 0xfcfa, 0x003f, 0xd9fe,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdeb0, 0x003f, 0x003f, 0x003f,
    +    0xddec, 0xdae8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e0,
    +    0x003f, 0xd6f9, 0x003f, 0xcdd7, 0xded8, 0x003f, 0x003f, 0xf2f8,
    +    0x003f, 0xe4d6, 0x003f, 0x003f, 0xd0c5, 0xf4ae, 0x003f, 0xdda8,
    +    0x003f, 0x003f, 0x003f, 0xedc5, 0xf3d6, 0x003f, 0x003f, 0xded9,
    +    0xe3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a8,
    +    0x003f, 0xdbb0, 0x003f, 0x003f, 0xe5da, 0xe3bf, 0x003f, 0x003f,
    +    0x003f, 0xdbb1, 0x003f, 0x003f, 0x003f, 0xd5e9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0c1, 0xefdb, 0x003f, 0x003f, 0xf0e9,
    +    0x003f, 0x003f, 0xd7b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0fd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9e9, 0x003f, 0x003f, 0xd0fe, 0x003f, 0xeced, 0xd3a9, 0x003f,
    +    0xf2a9, 0xf0c4, 0x003f, 0x003f, 0xe2e2, 0xe9ef, 0x003f, 0x003f,
    +    0x003f, 0xf9d1, 0x003f, 0x003f, 0xe9d9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe8da, 0xdac3, 0xdac4, 0xd4c5, 0x003f, 0xe7fa,
    +    /* 0x6600 .. 0x66ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde0, 0xe3b0,
    +    0x003f, 0xdbb2, 0xfbc4, 0x003f, 0xf3e3, 0x003f, 0xd9a5, 0xfbe7,
    +    0xddcb, 0xd0d4, 0x003f, 0xe6b6, 0xe0ae, 0xfdda, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcb5, 0xe0f8,
    +    0xe7b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5f0, 0x003f, 0xd8dc,
    +    0xedc6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1b9, 0x003f, 0xe3c0,
    +    0xf9c0, 0xe9f0, 0x003f, 0x003f, 0xd9db, 0x003f, 0xf3e4, 0x003f,
    +    0x003f, 0x003f, 0xdcb6, 0xe4e9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf0c5, 0xe3c1, 0xfccc, 0xfccd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf2cb, 0x003f, 0xf2cc, 0x003f, 0x003f, 0x003f, 0xe4cf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf1db, 0x003f, 0xfad9, 0x003f, 0xf1b8, 0xfdf5, 0xe0f9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe7fb, 0xfcb7, 0xfce4, 0xfbc5,
    +    0xe3e7, 0xd8b9, 0x003f, 0xf6f8, 0x003f, 0x003f, 0xdcc5, 0xccd8,
    +    0x003f, 0x003f, 0x003f, 0xe0af, 0xf4e7, 0x003f, 0xefdc, 0xcffc,
    +    0xefdd, 0x003f, 0xf2aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfdbe, 0x003f, 0x003f, 0xcaac,
    +    0xfdbb, 0xfdc7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b2, 0x003f,
    +    0xead1, 0xdff4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ec, 0xe4de,
    +    0xe5c3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a6, 0x003f, 0x003f,
    +    0xcdbc, 0x003f, 0xf3e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedd5, 0x003f, 0x003f, 0xd9ba, 0x003f,
    +    0x003f, 0x003f, 0xede7, 0xfbb5, 0xf8ec, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe0e7, 0x003f, 0xccd9, 0x003f, 0x003f, 0xd4c6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe7a5, 0x003f, 0xd5f5, 0xd3be,
    +    0x003f, 0xfcfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f2, 0x003f,
    +    0x003f, 0xdff5, 0x003f, 0x003f, 0xe8f8, 0xf8ed, 0x003f, 0x003f,
    +    0xcec7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdf6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8d8, 0x003f, 0xcdd8, 0xe7d6, 0xccda, 0x003f, 0x003f, 0xcae3,
    +    0xdff6, 0xf0c7, 0xf0c6, 0x003f, 0xd8ba, 0x003f, 0xf1f4, 0xf4f0,
    +    /* 0x6700 .. 0x67ff */
    +    0xf5cc, 0x003f, 0x003f, 0xfce5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeac5, 0xeaf3, 0x003f, 0xdddb, 0x003f, 0xdcd7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdefd, 0xf2f9, 0x003f, 0xd5c7,
    +    0x003f, 0x003f, 0x003f, 0xd8d0, 0x003f, 0xf0c8, 0xd1a1, 0xd1a2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d4, 0xd6e8,
    +    0xd9ca, 0x003f, 0xdab1, 0xd8c7, 0xdce2, 0xf3ce, 0xf5f4, 0x003f,
    +    0x003f, 0xf1b9, 0x003f, 0x003f, 0xdad3, 0x003f, 0xf6ea, 0x003f,
    +    0x003f, 0x003f, 0xcff5, 0x003f, 0x003f, 0xfdae, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad2, 0x003f,
    +    0x003f, 0xdfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7dd, 0xfaba,
    +    0xeea7, 0xf5bd, 0x003f, 0xf8f5, 0x003f, 0x003f, 0xede8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd4e1, 0x003f, 0xd1a3, 0xe1d6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9f8, 0x003f, 0xdbca,
    +    0xcbf9, 0xd4d4, 0x003f, 0xd9dc, 0x003f, 0xeebe, 0x003f, 0xf7ed,
    +    0x003f, 0x003f, 0x003f, 0xd2ee, 0x003f, 0x003f, 0xe1e6, 0xf7f9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdded,
    +    0x003f, 0xe8db, 0x003f, 0xdbb3, 0x003f, 0x003f, 0x003f, 0xd1f7,
    +    0xe0b0, 0x003f, 0x003f, 0xd4e2, 0x003f, 0xf6d7, 0x003f, 0xd7f9,
    +    0x003f, 0x003f, 0xd8dd, 0x003f, 0xcdfd, 0xf2ab, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbd,
    +    0xf8c2, 0x003f, 0x003f, 0xf2ac, 0x003f, 0x003f, 0xcaad, 0xcaae,
    +    0xcfae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3c2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdcb7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbda,
    +    0xd9bb, 0xcaf3, 0xf6d3, 0xe6f8, 0xeaf5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeaf6, 0x003f, 0x003f, 0xf6f9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfaf, 0x003f, 0x003f, 0xcad3, 0x003f, 0x003f, 0xcaaf,
    +    0xd2b0, 0xf1ba, 0x003f, 0xd7b3, 0xe3c3, 0xf3fd, 0xdeda, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdedb, 0x003f, 0x003f, 0xefde, 0x003f,
    +    /* 0x6800 .. 0x68ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe2e3, 0xeefb, 0x003f, 0x003f, 0xdff7, 0xd7ca,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcee8, 0xdbdb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1bb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfab7, 0xd0c6, 0x003f, 0x003f, 0xccab, 0xeea8, 0x003f, 0x003f,
    +    0xcbfa, 0xf9f9, 0xccfd, 0xd3fe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe4d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2ee, 0x003f,
    +    0xd4d5, 0xdfcd, 0x003f, 0xfcb8, 0xd1d0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2cd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7d2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad4,
    +    0x003f, 0xd5d9, 0x003f, 0x003f, 0x003f, 0xd8de, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd9,
    +    0x003f, 0x003f, 0x003f, 0xeea9, 0xf6bc, 0x003f, 0x003f, 0xccdb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0c9, 0x003f, 0xfcfc,
    +    0x003f, 0xe8c9, 0xf4fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7fc,
    +    0xd7de, 0x003f, 0x003f, 0x003f, 0x003f, 0xdedc, 0x003f, 0xf0ac,
    +    0xccfe, 0xcde1, 0x003f, 0xe1ba, 0x003f, 0xdbef, 0xdab2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd1a5, 0xdcb8, 0x003f, 0x003f,
    +    0x003f, 0xd8f6, 0x003f, 0xd1a4, 0x003f, 0xcde2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdcea, 0x003f, 0x003f, 0xf0f7, 0x003f, 0xf0ca,
    +    0xd0be, 0x003f, 0xdddc, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4d6,
    +    0xd3d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd0,
    +    0xcda1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb5, 0x003f,
    +    0x003f, 0x003f, 0xdff8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4a1, 0xceb2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6900 .. 0x69ff */
    +    0xe8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d5, 0xf5d0, 0x003f,
    +    0x003f, 0x003f, 0xf5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6cb, 0x003f, 0xf5f1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9a3, 0xe0db, 0xf6eb, 0x003f, 0xcbf1,
    +    0x003f, 0xd9ea, 0xf5a2, 0x003f, 0x003f, 0x003f, 0xd7d1, 0x003f,
    +    0xd1f8, 0xeaf8, 0xeaf9, 0xdab3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefdf, 0x003f, 0x003f, 0xf1ef, 0x003f, 0xe5f6, 0xeebf, 0xe2e4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0bf, 0x003f, 0xfaac,
    +    0xf5d1, 0xe7b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9be, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf2ce, 0xdbb4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcce, 0x003f, 0xddee,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd7b4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf7b4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdbe, 0x003f, 0xdae9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcfb0, 0xf7d9, 0xf3e6, 0x003f, 0x003f,
    +    0xced9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xceaa, 0x003f, 0xcbc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd0a7, 0x003f, 0xf0cb, 0x003f, 0xd0c7,
    +    /* 0x6a00 .. 0x6aff */
    +    0x003f, 0x003f, 0xe4c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5da, 0x003f, 0xd7a7, 0x003f, 0x003f, 0x003f, 0xeec0,
    +    0x003f, 0xf8f6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5d2, 0xede9,
    +    0x003f, 0xd9bc, 0x003f, 0xe5c6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a3, 0x003f, 0x003f,
    +    0xdad4, 0xe2a7, 0xfbfc, 0x003f, 0x003f, 0xf1dc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcaf4, 0x003f, 0x003f, 0x003f,
    +    0xe8fa, 0x003f, 0x003f, 0xcee9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9f8, 0xe2e5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd0b9, 0xd4f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1a6,
    +    0x003f, 0xdfce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfcf4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3aa, 0x003f, 0x003f, 0x003f, 0xccac, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefe0, 0x003f, 0x003f, 0x003f, 0xe5e5, 0xd0d5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbfc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfce6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcbfe, 0xedea, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdeb1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9e3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd4a2, 0xcff6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd6d0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5ea, 0xf1ee, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfacb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5a1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6b00 .. 0x6bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd5b1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcfed, 0x003f, 0xedeb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5b2, 0x003f, 0x003f, 0x003f, 0xd5bc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfde2, 0xf3ad, 0x003f, 0xfddb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd1a7, 0x003f, 0x003f, 0xfde3, 0xceb3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfde4, 0xface,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcab0, 0x003f, 0xf7a7, 0x003f,
    +    0xcfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a2,
    +    0x003f, 0xfcb6, 0xf2ad, 0xefe1, 0xf3ae, 0xdcc6, 0xd9eb, 0x003f,
    +    0x003f, 0x003f, 0xe8e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5f6,
    +    0xcffd, 0x003f, 0x003f, 0xdedd, 0x003f, 0x003f, 0x003f, 0xd9d1,
    +    0x003f, 0x003f, 0x003f, 0xe4ea, 0xf2cf, 0x003f, 0xf7bf, 0x003f,
    +    0x003f, 0xe2e6, 0xe2a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d6, 0x003f,
    +    0xedd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6b1, 0xdeb2,
    +    0x003f, 0x003f, 0xe0e8, 0x003f, 0x003f, 0xd3ab, 0x003f, 0xebdc,
    +    0x003f, 0x003f, 0xdfaf, 0x003f, 0xcac3, 0x003f, 0x003f, 0xeefc,
    +    0x003f, 0xfdc3, 0x003f, 0x003f, 0x003f, 0xebf6, 0xcfb2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd9ec, 0x003f, 0xd9bd, 0x003f, 0xd8df,
    +    0x003f, 0x003f, 0xd4b8, 0xebbe, 0xddef, 0x003f, 0xddf0, 0xddf1,
    +    0xddf2, 0x003f, 0x003f, 0xd9be, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfbc6, 0xcfb3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6c00 .. 0x6cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeefd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ab,
    +    0x003f, 0xdac5, 0x003f, 0xd8ec, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd1a8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2a9, 0x003f, 0x003f, 0xdebc,
    +    0xe7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf0, 0x003f,
    +    0xefe2, 0xf1f0, 0xcfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf1, 0x003f,
    +    0xe0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa5, 0x003f, 0xf9d2,
    +    0x003f, 0x003f, 0xe7fd, 0x003f, 0x003f, 0xe6a3, 0xfbf1, 0xcbb0,
    +    0xf2ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcde7, 0x003f, 0xe8dc, 0x003f, 0x003f, 0xe7d7, 0x003f, 0x003f,
    +    0xf7c0, 0x003f, 0xd0e3, 0x003f, 0x003f, 0x003f, 0xdaa1, 0x003f,
    +    0x003f, 0x003f, 0xccbd, 0x003f, 0x003f, 0xd1a9, 0xddcc, 0x003f,
    +    0x003f, 0xe3fe, 0xd1aa, 0xe8aa, 0x003f, 0xeab6, 0xf9fa, 0xe6cc,
    +    0xf6d8, 0x003f, 0x003f, 0x003f, 0xd4c7, 0x003f, 0x003f, 0x003f,
    +    0xd9cb, 0x003f, 0xd9d2, 0xd3cb, 0xd8f7, 0xdaa9, 0xf5f8, 0x003f,
    +    0x003f, 0xdede, 0xf2af, 0xf8a9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8c8, 0x003f, 0x003f, 0xeec1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9c1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xddf3, 0xeafa, 0x003f, 0xf6bd, 0xe1bb, 0xcdbf, 0xf4d4, 0xe6cd,
    +    0x003f, 0xfccf, 0xfba2, 0x003f, 0xe0dc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf4bb, 0xdad5, 0x003f, 0xf9b2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfbf2, 0x003f, 0xdbf6, 0x003f, 0xdedf,
    +    0x003f, 0x003f, 0x003f, 0xdbf2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8dc, 0xf7ee, 0xebe8, 0x003f, 0xd2fa, 0x003f, 0x003f,
    +    0xf1bc, 0x003f, 0x003f, 0xfada, 0x003f, 0x003f, 0xdaea, 0xdac6,
    +    0xf7c1, 0x003f, 0x003f, 0xe7b6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6d00 .. 0x6dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe5c7, 0xd6ac, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdcc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a9,
    +    0x003f, 0xe2aa, 0x003f, 0xd5a6, 0x003f, 0x003f, 0xd4d7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2d0, 0x003f, 0xeafb,
    +    0x003f, 0xe0dd, 0xfbf3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1bd, 0x003f, 0x003f, 0xe2e7, 0xfdd7, 0x003f,
    +    0xcec8, 0xeab7, 0x003f, 0xfcc0, 0x003f, 0xfde7, 0xf7ef, 0x003f,
    +    0x003f, 0xd7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefba, 0xf1dd, 0x003f, 0xdeb3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8cb, 0x003f, 0x003f, 0xf8dd, 0x003f,
    +    0x003f, 0xfbc7, 0xd5c8, 0x003f, 0xd7df, 0x003f, 0xdda9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1, 0x003f, 0x003f, 0xfaad,
    +    0xf6d9, 0xfaf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8aa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ee, 0x003f, 0xccdc,
    +    0xe1bc, 0xe0ef, 0x003f, 0x003f, 0xe9bf, 0xfcfd, 0xe6ce, 0x003f,
    +    0x003f, 0xe1d7, 0x003f, 0xe6cf, 0x003f, 0xf4f1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f3,
    +    0x003f, 0x003f, 0xe4fb, 0x003f, 0x003f, 0xf9e4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefe3, 0x003f, 0x003f, 0xcfee, 0xf6be, 0xe0b2, 0xfcfe, 0xd1ab,
    +    0x003f, 0x003f, 0x003f, 0xd7fa, 0x003f, 0x003f, 0x003f, 0xfbc8,
    +    0x003f, 0xe2d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4a3, 0xf0f8, 0xd7a8, 0x003f, 0x003f, 0x003f, 0xe1e7, 0x003f,
    +    0x003f, 0xd3bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefe4, 0x003f, 0xd7c5, 0xebe2, 0x003f, 0x003f, 0xfce7, 0x003f,
    +    0x003f, 0xe4a2, 0x003f, 0xe2e8, 0x003f, 0xe6d0, 0x003f, 0xfbe8,
    +    0xf4e8, 0xe5f4, 0xf4bc, 0xf4d5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6e00 .. 0x6eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb6,
    +    0x003f, 0xfcb9, 0xeec2, 0xcaf5, 0x003f, 0x003f, 0x003f, 0xefe5,
    +    0xcbe2, 0xd4a4, 0x003f, 0xdee0, 0xdafd, 0xe4c6, 0xe8be, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0de, 0xf6b4, 0xead2, 0x003f, 0xf9fb,
    +    0x003f, 0x003f, 0xe0c2, 0x003f, 0xcae4, 0x003f, 0xe7b7, 0x003f,
    +    0xeafd, 0x003f, 0xd9dd, 0x003f, 0xdab4, 0xeeaa, 0xfbe9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdbcb, 0xdab5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1be, 0x003f, 0x003f, 0xd3ac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbc9, 0x003f,
    +    0xdfcf, 0x003f, 0x003f, 0xd3c0, 0xe3d7, 0x003f, 0xefe6, 0xfcd0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c0,
    +    0x003f, 0x003f, 0x003f, 0xf5d3, 0x003f, 0x003f, 0xecdc, 0xf7b7,
    +    0x003f, 0x003f, 0xeab8, 0xd1f9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdcc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeab9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1de, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd7b6, 0xcfb5, 0x003f, 0xd9a8,
    +    0x003f, 0x003f, 0xecee, 0x003f, 0x003f, 0xddaa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcda2, 0xe8ae, 0x003f, 0x003f, 0x003f, 0xe1bd,
    +    0x003f, 0xf2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c1, 0x003f,
    +    0x003f, 0x003f, 0xd2fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbb5, 0x003f, 0xf3e7, 0xd8fe, 0x003f, 0x003f,
    +    0x003f, 0xfcd1, 0x003f, 0xedb2, 0xf4af, 0x003f, 0xfba3, 0x003f,
    +    0x003f, 0xfcc1, 0x003f, 0xeeab, 0xd4a5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeed9, 0x003f, 0x003f, 0x003f,
    +    0xfbca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde3, 0xd8bb,
    +    /* 0x6f00 .. 0x6fff */
    +    0x003f, 0xe5db, 0xf8f7, 0x003f, 0x003f, 0x003f, 0xf6d4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a9,
    +    0x003f, 0xcbc9, 0x003f, 0x003f, 0xe6d1, 0xf0cc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd8ae, 0x003f, 0xf9d3, 0xd5fe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8bc, 0xf2b0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe2ab, 0xf3e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefc2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedec,
    +    0x003f, 0xe7b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdafe, 0x003f, 0x003f, 0xccbe, 0x003f, 0x003f, 0xf2fc,
    +    0xdaeb, 0x003f, 0xe2d8, 0xedd6, 0x003f, 0x003f, 0xd6d1, 0xe0b3,
    +    0x003f, 0x003f, 0xfcd2, 0x003f, 0xebc8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3c1, 0xf0cd, 0x003f,
    +    0xcff7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xedd2, 0x003f, 0xd4d8, 0xdcc9, 0xd7f1, 0x003f,
    +    0x003f, 0xdfbb, 0x003f, 0x003f, 0xf3a5, 0x003f, 0x003f, 0x003f,
    +    0xf4cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1bf, 0xf8b1, 0x003f,
    +    0xe9fa, 0x003f, 0x003f, 0x003f, 0xfbcb, 0x003f, 0x003f, 0xcad5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9d4, 0xf7ca, 0x003f, 0x003f, 0xd6c8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfce8, 0xf3bd,
    +    0x003f, 0xeefe, 0x003f, 0xe7fe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd3c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3b6, 0x003f,
    +    0xccad, 0xf6fa, 0xd6b2, 0xd2d8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ad,
    +    0xfbcc, 0xeba1, 0x003f, 0x003f, 0xd4a6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfbcd, 0x003f, 0xd5bd, 0xf1df, 0x003f, 0x003f, 0xf6fb,
    +    0x003f, 0xdeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5eb, 0x003f,
    +    /* 0x7000 .. 0x70ff */
    +    0x003f, 0xe5c8, 0x003f, 0x003f, 0x003f, 0xfba4, 0xd4b9, 0x003f,
    +    0x003f, 0xdee1, 0x003f, 0xe4a3, 0x003f, 0x003f, 0x003f, 0xd7b7,
    +    0x003f, 0xf8ee, 0x003f, 0x003f, 0x003f, 0xdeb5, 0x003f, 0x003f,
    +    0xd6d2, 0x003f, 0xf9d5, 0xe7ba, 0xebd5, 0xd5f7, 0xefe7, 0xe1be,
    +    0x003f, 0x003f, 0x003f, 0xfaae, 0x003f, 0x003f, 0x003f, 0xd6e9,
    +    0xd6ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7bb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeccb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xceb4, 0x003f, 0x003f, 0x003f,
    +    0xfba5, 0xe1ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf7a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbce, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8bd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfbfd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfce9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcfb6, 0x003f, 0x003f, 0x003f, 0xedc7, 0xeeac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccdd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf6a7, 0x003f, 0x003f, 0x003f, 0xe6fa, 0x003f,
    +    0x003f, 0x003f, 0xf5a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfddc, 0xedb3, 0xcec9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefe8, 0x003f, 0x003f, 0xe1bf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfadb, 0xcbe3, 0xf7a9, 0x003f, 0xfba6,
    +    0x003f, 0x003f, 0x003f, 0xdcb9, 0x003f, 0x003f, 0x003f, 0xf1c0,
    +    0xedc8, 0xefc3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd6ad, 0x003f, 0x003f, 0xfdce, 0x003f, 0x003f, 0x003f, 0xe8a1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfbf4, 0xd5a7, 0x003f, 0x003f, 0x003f, 0xf1f6, 0x003f, 0xe6d3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccde, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8b2, 0x003f, 0x003f, 0x003f, 0xdceb, 0x003f, 0x003f,
    +    /* 0x7100 .. 0x71ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfdb6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe5ea, 0x003f, 0x003f, 0xf1e0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdbcc, 0xddcd, 0x003f, 0x003f, 0x003f, 0xd4c8, 0x003f,
    +    0x003f, 0xd9ed, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdc8,
    +    0x003f, 0xd6a1, 0xfdbf, 0x003f, 0xfcd3, 0x003f, 0xefa1, 0x003f,
    +    0xe7bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ee, 0x003f,
    +    0x003f, 0xe6d5, 0x003f, 0x003f, 0xe9f2, 0x003f, 0xdfb0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd8e0, 0xfcba, 0xfdaf, 0xf0ce,
    +    0x003f, 0xdbe1, 0x003f, 0x003f, 0xe5c9, 0x003f, 0xedb4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe3d8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9fb, 0xeaa8, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdb7,
    +    0x003f, 0x003f, 0xfba7, 0x003f, 0xe9c2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfdf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d9,
    +    0x003f, 0x003f, 0xdcec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe8a2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe6f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfdf8, 0xfdf9, 0x003f, 0x003f, 0x003f, 0xf6bf, 0x003f,
    +    0x003f, 0xe7a7, 0x003f, 0xe6d7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4f3, 0xd4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6fa, 0x003f,
    +    0xd7f2, 0x003f, 0xe1c0, 0x003f, 0xdbe2, 0xe6d8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7bd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0cf, 0xf3be, 0xe2ac,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b7, 0xe0f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfdb8, 0xe3e8, 0x003f, 0xd4a7, 0xe8fc,
    +    /* 0x7200 .. 0x72ff */
    +    0xfad2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8ef, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd6d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5b4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf0d0, 0x003f, 0xf7f0, 0xeeb3, 0x003f, 0x003f,
    +    0xeaba, 0x003f, 0xead3, 0x003f, 0x003f, 0xedc9, 0xddab, 0x003f,
    +    0x003f, 0x003f, 0xe5ac, 0xfda1, 0x003f, 0xdfd0, 0xecb3, 0x003f,
    +    0xdfd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeded, 0xf8b8,
    +    0xf7fa, 0x003f, 0x003f, 0x003f, 0xf8ab, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf4e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4ba, 0xe4b3, 0x003f, 0xe9da, 0x003f, 0xdeb6, 0x003f, 0xd9bf,
    +    0x003f, 0xd9c0, 0xd6ef, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cc,
    +    0x003f, 0xdaaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdfe5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf7e5, 0x003f, 0x003f, 0x003f, 0xccb2, 0x003f, 0x003f,
    +    0xdff9, 0xd7e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd4bb, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdfa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xccb3, 0x003f, 0x003f, 0xdbf3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdfd2, 0x003f, 0xceca, 0x003f, 0xeeda, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e4, 0x003f,
    +    0xfbcf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfb7,
    +    0x003f, 0xeec3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xceea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd7e1, 0xfaf5, 0x003f, 0x003f, 0xd5c9, 0xf8ac, 0x003f, 0x003f,
    +    /* 0x7300 .. 0x73ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8ed, 0xe3c4, 0xf0f1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e5, 0x003f, 0x003f,
    +    0x003f, 0xe0fa, 0xeec4, 0xd9de, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeba2, 0xeba3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcc2, 0xeabb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe8ab, 0xdee2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedef, 0x003f, 0xe8a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xcff1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4bc, 0x003f, 0xfcea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7be, 0x003f, 0xfcf2, 0x003f, 0x003f, 0xd6b4, 0x003f, 0x003f,
    +    0xe2ae, 0x003f, 0xd3b7, 0xfacc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfadc, 0x003f, 0xedb5, 0xe1e3,
    +    0x003f, 0xe8ac, 0x003f, 0xe8dd, 0x003f, 0x003f, 0xefe9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf4bd, 0x003f, 0xcfb8, 0xe9db,
    +    0xd1ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdac7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebc9,
    +    0x003f, 0xe8cc, 0x003f, 0x003f, 0x003f, 0xdeb7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6bc, 0xd3e5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfadd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdad6, 0x003f, 0xcab1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdac8, 0xdfa6, 0x003f, 0xf9b3, 0xf2d2, 0x003f, 0xcac4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcecb, 0x003f,
    +    0x003f, 0xcdf5, 0x003f, 0x003f, 0x003f, 0xfdb0, 0xd5a8, 0x003f,
    +    0xf1c1, 0x003f, 0x003f, 0xe2e9, 0xdcca, 0xecb4, 0xfac0, 0x003f,
    +    0x003f, 0xfba8, 0xd0a8, 0x003f, 0x003f, 0xdaec, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ee,
    +    0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f, 0xefea, 0xfade, 0x003f,
    +    /* 0x7400 .. 0x74ff */
    +    0x003f, 0xe0c4, 0x003f, 0xcfb9, 0x003f, 0xd5ca, 0xd7e2, 0xe2af,
    +    0x003f, 0xd7b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe8cd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf6da, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefa2, 0xe2da, 0xf6fc, 0x003f, 0x003f, 0xfbd0, 0xd1ad, 0x003f,
    +    0xcde4, 0x003f, 0xd1ae, 0xdced, 0xe8ce, 0x003f, 0xf0f9, 0xceb5,
    +    0xe6fc, 0x003f, 0x003f, 0xd7fb, 0xd0d6, 0xddf5, 0xf7f1, 0x003f,
    +    0xf6fd, 0x003f, 0xdbf7, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbea,
    +    0xe9dc, 0xd9c1, 0x003f, 0xf5f2, 0xe0c5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xead4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9c2, 0x003f, 0xeabc,
    +    0x003f, 0xd2c5, 0xfbd1, 0xe7c0, 0xeba5, 0x003f, 0xdffa, 0xe3a2,
    +    0xd7b9, 0x003f, 0xe9c3, 0x003f, 0xe8fd, 0xe8af, 0x003f, 0x003f,
    +    0xf2d3, 0xfba9, 0xd8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c8, 0x003f,
    +    0x003f, 0x003f, 0xd1af, 0xd7e3, 0x003f, 0x003f, 0x003f, 0xe0c6,
    +    0x003f, 0xd6a2, 0x003f, 0xedf0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd7f3, 0x003f, 0x003f, 0x003f, 0xfcd4, 0x003f, 0xdad7, 0xccdf,
    +    0x003f, 0xf2d4, 0x003f, 0xd1b0, 0x003f, 0xcce0, 0x003f, 0xdbfd,
    +    0xf3bf, 0x003f, 0xf0d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfcbb, 0x003f, 0xe2b0, 0x003f, 0x003f, 0xe6a5, 0x003f, 0x003f,
    +    0x003f, 0xe2db, 0x003f, 0x003f, 0x003f, 0xdfde, 0x003f, 0xe0c7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2ef, 0x003f,
    +    0x003f, 0x003f, 0xcce1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6ea,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe7c2, 0x003f, 0x003f, 0x003f,
    +    0xceb6, 0x003f, 0xf3c0, 0x003f, 0xcdfe, 0x003f, 0x003f, 0x003f,
    +    0xfbd2, 0x003f, 0xf8f8, 0xf7fb, 0x003f, 0x003f, 0xe8bf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedb6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7500 .. 0x75ff */
    +    0x003f, 0xdcba, 0x003f, 0x003f, 0xccb4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf1f7, 0x003f, 0x003f, 0x003f, 0xe8b8, 0x003f, 0x003f,
    +    0xcaf6, 0x003f, 0xe4a4, 0xf4d6, 0x003f, 0x003f, 0x003f, 0xdfe6,
    +    0x003f, 0x003f, 0x003f, 0xdfa7, 0x003f, 0xdfe7, 0xe1c1, 0x003f,
    +    0xe9c4, 0x003f, 0x003f, 0xdccb, 0xe9c5, 0x003f, 0x003f, 0x003f,
    +    0xefa3, 0xeba6, 0xcba3, 0xe3e9, 0x003f, 0x003f, 0x003f, 0xd1fb,
    +    0xefa4, 0x003f, 0xefeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcda3, 0x003f, 0x003f, 0xe8e6,
    +    0x003f, 0xefa5, 0x003f, 0xd3cc, 0xdaed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd7ba, 0x003f, 0xf2d5, 0xf5e5, 0xd9ef, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf9b4, 0x003f, 0x003f, 0xd5d4, 0xfdcf, 0x003f,
    +    0x003f, 0x003f, 0xdbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e1,
    +    0xecb6, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbfe, 0xd3d7, 0x003f,
    +    0xd1b1, 0x003f, 0xcbb1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb2, 0xf1c2,
    +    0x003f, 0x003f, 0xf4e1, 0xf9b5, 0x003f, 0x003f, 0xe1c3, 0xe1c2,
    +    0x003f, 0xebf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbca, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe6b9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8de, 0xf9aa, 0xcaf7, 0x003f, 0xedb7, 0x003f, 0x003f,
    +    0xd3b8, 0xf2d6, 0x003f, 0x003f, 0xd4d9, 0xeec5, 0xf2f0, 0x003f,
    +    0x003f, 0x003f, 0xcab2, 0x003f, 0x003f, 0xdcbb, 0x003f, 0xf1f8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5ca, 0x003f, 0xf6c0, 0xfddd, 0x003f, 0x003f,
    +    0xd4e3, 0xcce2, 0x003f, 0xf7d4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd7e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3c3, 0x003f, 0xd8a6, 0x003f, 0xf6c1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddf6, 0x003f, 0xcdc0, 0x003f, 0x003f, 0x003f,
    +    /* 0x7600 .. 0x76ff */
    +    0xe5dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5cb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe1c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b0,
    +    0xf4b0, 0xf3ea, 0xdaee, 0x003f, 0xd7bb, 0x003f, 0xe2b1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd7aa, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4df, 0x003f, 0xcad6, 0x003f,
    +    0x003f, 0x003f, 0xeba8, 0x003f, 0x003f, 0x003f, 0xdbfe, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf6c2, 0x003f, 0x003f, 0xefbb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4fd, 0x003f, 0x003f, 0xe0c8, 0x003f, 0x003f, 0x003f,
    +    0xe8b9, 0x003f, 0xefa6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcda4, 0x003f, 0x003f, 0xd4f4, 0xdba1, 0xdbdc, 0xdbdd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeedc, 0x003f, 0xcbcb, 0xfcd5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceeb, 0x003f,
    +    0xcdc1, 0x003f, 0x003f, 0xfbd3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9ab, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a9,
    +    0x003f, 0x003f, 0xe9dd, 0xdbcd, 0x003f, 0x003f, 0xddce, 0x003f,
    +    0xe7c3, 0x003f, 0xeccc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf9ec, 0x003f, 0x003f, 0x003f, 0xcbcc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0fc, 0xd4a8, 0x003f, 0xedd3, 0xd8ef,
    +    0x003f, 0xf2d7, 0x003f, 0xcaf8, 0xdaef, 0x003f, 0x003f, 0xd6d4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cd, 0x003f,
    +    0x003f, 0x003f, 0xd8ee, 0x003f, 0xf2c1, 0x003f, 0x003f, 0x003f,
    +    0xdfd3, 0x003f, 0x003f, 0x003f, 0xdaf0, 0x003f, 0xe2ea, 0x003f,
    +    /* 0x7700 .. 0x77ff */
    +    0x003f, 0xe0fd, 0x003f, 0x003f, 0xd8f8, 0x003f, 0x003f, 0x003f,
    +    0xf7af, 0xdab6, 0x003f, 0xcad7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2d8, 0x003f,
    +    0xd8f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfadf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfef,
    +    0xd9c2, 0x003f, 0xf0d2, 0x003f, 0xe4d1, 0x003f, 0x003f, 0x003f,
    +    0xf3b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfae0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xefec, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe2b2, 0x003f, 0xd4bd, 0x003f, 0x003f, 0xd9ce, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf4e2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4a9, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc2, 0xe7da,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf2d9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd9aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8be, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcad, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2eb, 0xd6fc, 0x003f, 0x003f,
    +    0xcaf9, 0x003f, 0x003f, 0xd4da, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf4d7, 0xcca1, 0x003f, 0x003f, 0xcfba,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b8,
    +    0x003f, 0x003f, 0x003f, 0xd9c3, 0xd0e8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3c5, 0xebf8, 0x003f, 0xf2b1, 0x003f, 0x003f,
    +    0x003f, 0xcfbb, 0x003f, 0x003f, 0x003f, 0xd3ad, 0xe8e1, 0xceec,
    +    0x003f, 0x003f, 0x003f, 0xe0b4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7800 .. 0x78ff */
    +    0x003f, 0x003f, 0xdee3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2b2, 0xf3f6, 0xf6db,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd7fe, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf8df, 0x003f, 0xf7f2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6da,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd7bc, 0xcce3, 0x003f, 0x003f, 0xe6db,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdddd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd1b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefed,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6de, 0xe4f4, 0xe1ef, 0x003f,
    +    0x003f, 0xddf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8cf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcae5, 0x003f, 0x003f, 0x003f, 0xdca1,
    +    0x003f, 0xe0b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfcac, 0xfcad, 0xd8a7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xedb8, 0x003f, 0x003f, 0x003f, 0xdbb6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6f0, 0xf3af, 0x003f, 0x003f, 0xcda5, 0x003f,
    +    0xdaf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd8a8, 0x003f, 0x003f, 0x003f, 0xcce4, 0x003f, 0x003f, 0xd1b4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdaf2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7900 .. 0x79ff */
    +    0x003f, 0xf5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5ec, 0xd5f8, 0xdaf3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3c6, 0x003f, 0x003f, 0x003f, 0xdee4, 0x003f,
    +    0xdee5, 0xd1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b6,
    +    0xd1b7, 0xf2b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0d3, 0xf2b4,
    +    0x003f, 0x003f, 0xf0d4, 0xcbe4, 0xfbd4, 0xf5e6, 0xe3ea, 0x003f,
    +    0xdee6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfd4, 0x003f, 0x003f,
    +    0xf8f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ae, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd1b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6df,
    +    0x003f, 0xd0d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfca1, 0xefee, 0xdcd8,
    +    0x003f, 0xe9df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5dd, 0xfdfb,
    +    0x003f, 0x003f, 0xe0c9, 0x003f, 0x003f, 0x003f, 0xd6c9, 0x003f,
    +    0x003f, 0xd4aa, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9e0, 0x003f, 0x003f, 0x003f, 0xd0d8, 0xfca2, 0xd4be,
    +    0xe2b3, 0xdee7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdcbc, 0xd2b6, 0xf5d5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcea1, 0xf5a9, 0x003f, 0x003f, 0xddf9, 0x003f, 0x003f,
    +    0xddfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0d5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6df, 0x003f, 0xf2da, 0xe4eb,
    +    0x003f, 0xf2f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xecb9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7a00 .. 0x7aff */
    +    0xfdfc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1aa, 0x003f, 0x003f,
    +    0xcad9, 0x003f, 0x003f, 0xefef, 0x003f, 0xf5aa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xecf9, 0x003f, 0x003f, 0xf8ad,
    +    0x003f, 0xf2c2, 0xf6c3, 0x003f, 0xd7d2, 0x003f, 0x003f, 0xf9a2,
    +    0xf0d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0fa, 0x003f,
    +    0x003f, 0xf6e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f3, 0xf2c3,
    +    0x003f, 0x003f, 0x003f, 0xd4ab, 0xcab3, 0xcda6, 0x003f, 0xcdc3,
    +    0xcdda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cf, 0x003f,
    +    0x003f, 0xf6c4, 0x003f, 0x003f, 0x003f, 0xeedd, 0xe7c4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2b4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfe2, 0xe7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe8b1, 0x003f, 0xfcae, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5cd, 0x003f, 0x003f, 0x003f, 0xfaeb, 0x003f, 0xcfbc, 0x003f,
    +    0x003f, 0xcfe2, 0xcdf6, 0x003f, 0x003f, 0xeff0, 0x003f, 0xf4be,
    +    0x003f, 0xd4cd, 0x003f, 0x003f, 0xf3b8, 0x003f, 0x003f, 0x003f,
    +    0xe9a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf2f2, 0xf3eb, 0x003f, 0xf0d7, 0x003f, 0x003f,
    +    0xcfd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfdf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe8c0, 0xe8c1, 0x003f, 0x003f, 0x003f, 0xcfe3, 0xe9a2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd0aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3c1, 0xd0ab, 0x003f, 0xd4e4,
    +    0x003f, 0x003f, 0xefbc, 0xd8a1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9df,
    +    0x003f, 0xf3d7, 0x003f, 0x003f, 0x003f, 0xdcbd, 0x003f, 0xcce5,
    +    0xedf1, 0x003f, 0x003f, 0xf1e2, 0x003f, 0xd4db, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe2b5, 0x003f, 0x003f, 0xcae6, 0x003f, 0xd3ae,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce6, 0x003f,
    +    0x003f, 0xf1d3, 0xf5e7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcada,
    +    /* 0x7b00 .. 0x7bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbee,
    +    0x003f, 0xe1c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfe9, 0x003f, 0xeede, 0x003f, 0x003f, 0xf7c2, 0x003f,
    +    0xd8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddac, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf0af, 0xd6bd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe1ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9b6, 0x003f,
    +    0x003f, 0xd4f5, 0x003f, 0xd0c9, 0xefa7, 0xe2ec, 0x003f, 0xdbea,
    +    0xcecc, 0xf5e8, 0xf7d5, 0x003f, 0xd3cd, 0x003f, 0xf3fe, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd0b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fe, 0x003f, 0xdffb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6dd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbcd,
    +    0x003f, 0x003f, 0x003f, 0xefa8, 0x003f, 0x003f, 0x003f, 0xeeb4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdad8, 0xd1b9, 0x003f, 0xdfa9,
    +    0x003f, 0x003f, 0xf3b0, 0x003f, 0x003f, 0xccc4, 0x003f, 0x003f,
    +    0x003f, 0xceb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefa9, 0x003f, 0x003f,
    +    0x003f, 0xdfd5, 0x003f, 0x003f, 0xedd7, 0x003f, 0x003f, 0x003f,
    +    0xeec6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefbd, 0xfcd6, 0x003f, 0x003f, 0xdbf4, 0x003f, 0xefaa, 0xf8b9,
    +    0x003f, 0xf5e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe1c6, 0x003f, 0x003f, 0x003f, 0xd4bf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdee8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7c00 .. 0x7cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ea,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3af, 0x003f,
    +    0x003f, 0xcadb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcd7,
    +    0x003f, 0x003f, 0xedd8, 0xe1c7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d8, 0xd6b3, 0xddad,
    +    0x003f, 0x003f, 0x003f, 0xd5be, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf1c3, 0xeedf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd6eb, 0x003f, 0x003f, 0x003f, 0xf4d9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd7e6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdab7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xddfb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xddcf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8a3, 0x003f, 0x003f, 0xdad9, 0x003f, 0xf0d8,
    +    0xefc4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1d8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1d4, 0x003f, 0xedf2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5db, 0x003f,
    +    0x003f, 0xd5dc, 0xf3c4, 0xcbd7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe2b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfbd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddd0, 0xf0d9,
    +    0xcbb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5dd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcda7, 0x003f, 0x003f, 0xd0ac, 0x003f,
    +    /* 0x7d00 .. 0x7dff */
    +    0xd1ba, 0x003f, 0xf1c4, 0x003f, 0xe5b3, 0xfbf5, 0xe9e1, 0xfde0,
    +    0xfcbc, 0x003f, 0xdaa2, 0xdaa3, 0x003f, 0xd2a1, 0x003f, 0x003f,
    +    0xd2ef, 0x003f, 0x003f, 0x003f, 0xe2ed, 0x003f, 0x003f, 0xdee9,
    +    0xcedc, 0xf2b5, 0xd0e4, 0xddd1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe1c8, 0xdbb7, 0xdfe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedb9, 0xf1c5, 0x003f, 0xf3cf, 0xd7ab,
    +    0xe1ac, 0x003f, 0x003f, 0xe3eb, 0x003f, 0xeec7, 0x003f, 0x003f,
    +    0x003f, 0xe1c9, 0xcafa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf0fb, 0xfae1, 0xf0da, 0xcce7, 0xdaf4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xccbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceed, 0x003f,
    +    0x003f, 0xd5a9, 0xfae2, 0x003f, 0x003f, 0x003f, 0xd0e5, 0x003f,
    +    0xebd6, 0x003f, 0xecdf, 0x003f, 0x003f, 0x003f, 0xdffc, 0x003f,
    +    0x003f, 0xf7d6, 0xdeea, 0xcbb4, 0x003f, 0x003f, 0xefbe, 0x003f,
    +    0x003f, 0xccb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfbd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff2, 0xe2b7,
    +    0x003f, 0x003f, 0x003f, 0xcce8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf0fc, 0x003f, 0x003f, 0x003f,
    +    0xd6e0, 0x003f, 0xf1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2b8, 0xebab, 0x003f, 0x003f,
    +    0x003f, 0xcbb5, 0xd8d1, 0x003f, 0xf4ce, 0xf3f7, 0x003f, 0x003f,
    +    0xd7c6, 0x003f, 0xd1bb, 0xf7aa, 0x003f, 0xedca, 0xd7d3, 0xd8fa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6c5,
    +    0x003f, 0x003f, 0xd1cc, 0xddfc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdffd, 0x003f,
    +    0xf9e5, 0x003f, 0xe0ca, 0x003f, 0x003f, 0xf2fd, 0xd3b0, 0x003f,
    +    0xf4f3, 0xdac9, 0x003f, 0xe6de, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf8ba, 0xe8d0, 0x003f, 0x003f, 0xd8fb, 0x003f, 0x003f, 0xead5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf6c6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7e00 .. 0x7eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf2db, 0xe4fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdada, 0x003f, 0xf2dc, 0xfbd6, 0xe9b2,
    +    0x003f, 0xeead, 0x003f, 0xfae3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdcee, 0x003f, 0x003f, 0xf5ea, 0xe6e0,
    +    0x003f, 0xf0fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ac,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5c5, 0xeee0, 0x003f,
    +    0x003f, 0xdbe5, 0x003f, 0xddde, 0x003f, 0x003f, 0xd9f0, 0xe9a3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1f9, 0x003f, 0xf2c4, 0xe0cb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a4, 0x003f,
    +    0x003f, 0xe2b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3b1, 0xfceb, 0xcda8, 0x003f, 0xccb6, 0x003f, 0x003f,
    +    0xf0db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe6ba, 0x003f, 0x003f, 0xcda9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1d9, 0x003f, 0x003f, 0xefab,
    +    0x003f, 0x003f, 0x003f, 0xe7c5, 0x003f, 0x003f, 0xe0e9, 0x003f,
    +    0xf3c5, 0x003f, 0x003f, 0xd4c0, 0xd5bf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7f00 .. 0x7fff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddae, 0x003f,
    +    0xf9fc, 0x003f, 0xccc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe5a2, 0x003f, 0x003f, 0x003f,
    +    0xceb8, 0x003f, 0x003f, 0x003f, 0xd8d2, 0xf9d6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1aa, 0xced1, 0x003f, 0x003f, 0xf6c7, 0x003f,
    +    0xdbeb, 0x003f, 0xdffe, 0x003f, 0x003f, 0xd8e1, 0x003f, 0xf7f3,
    +    0x003f, 0xd7e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4fe, 0x003f, 0x003f,
    +    0xd1bc, 0x003f, 0xe5cf, 0x003f, 0xcbb6, 0x003f, 0xdab8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcdc4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6be, 0x003f, 0x003f, 0x003f, 0xe2ba, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcfd8, 0x003f, 0x003f, 0x003f,
    +    0xe0cc, 0xebf9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfdfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd7e8, 0xcbd8, 0x003f, 0x003f, 0x003f, 0xe9e2, 0x003f, 0x003f,
    +    0x003f, 0xe8ba, 0x003f, 0x003f, 0x003f, 0xe3c7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeccd, 0x003f, 0xecce, 0x003f, 0xd6bf, 0x003f,
    +    0x003f, 0x003f, 0xe3a7, 0x003f, 0xdfd6, 0xfde8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee1,
    +    0xf6a8, 0xddfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8bb, 0x003f, 0xe8d1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf9d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xceee, 0x003f, 0x003f, 0xeccf, 0x003f, 0x003f, 0x003f,
    +    /* 0x8000 .. 0x80ff */
    +    0xe9a5, 0xd6d5, 0x003f, 0xcdc5, 0x003f, 0xedba, 0xd1bd, 0x003f,
    +    0x003f, 0xcfbe, 0x003f, 0x003f, 0xecbb, 0x003f, 0x003f, 0x003f,
    +    0xd2b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce9, 0x003f, 0xd9c4,
    +    0xe9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1be, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xecbc, 0x003f, 0x003f, 0xe5ad, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7b0, 0x003f, 0xccea,
    +    0x003f, 0x003f, 0x003f, 0xd3c4, 0x003f, 0x003f, 0xd6c0, 0x003f,
    +    0x003f, 0x003f, 0xd6fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a1, 0x003f,
    +    0xdebd, 0x003f, 0xf6a9, 0x003f, 0x003f, 0x003f, 0xdaa4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a4,
    +    0xf5c6, 0x003f, 0xe1a2, 0xe9c6, 0x003f, 0x003f, 0x003f, 0xf2c5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4e9, 0xd6ec, 0xebd3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xecbd, 0xe2dc, 0xdeeb, 0xf0dc,
    +    0x003f, 0xebbf, 0x003f, 0xd7ce, 0xd1bf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5ab, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9fd, 0x003f, 0xcadc, 0x003f, 0x003f,
    +    0x003f, 0xcdc6, 0xf2b6, 0x003f, 0x003f, 0xddfe, 0x003f, 0x003f,
    +    0x003f, 0xccb7, 0xdbb8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0e9,
    +    0x003f, 0xcedd, 0xebc0, 0x003f, 0xfda2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf8cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xead6, 0xf1b0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdbce, 0x003f, 0xf7c3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbcf, 0xcba4, 0x003f, 0x003f, 0xf8e0, 0x003f,
    +    0x003f, 0xfbd7, 0x003f, 0x003f, 0xebca, 0xe0a1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcecd, 0x003f, 0x003f, 0xd4dc, 0x003f, 0x003f, 0x003f,
    +    0xfdd8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2f6, 0x003f, 0x003f,
    +    /* 0x8100 .. 0x81ff */
    +    0x003f, 0x003f, 0xf2b7, 0x003f, 0x003f, 0xfaf6, 0xf6aa, 0xfaf7,
    +    0xd8e6, 0x003f, 0xf4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8d2, 0x003f, 0xcac5, 0xcceb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2ee, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe2bb, 0x003f, 0xf7ad, 0x003f, 0x003f, 0x003f, 0xf8e1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3ec, 0x003f, 0x003f, 0x003f, 0x003f, 0xdea1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe4fd, 0x003f, 0x003f, 0xe3ec, 0x003f,
    +    0xddaf, 0xddb0, 0x003f, 0x003f, 0xcbb7, 0xe8d3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a3, 0xd2e0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0fe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9a6, 0xcbf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedf3, 0xdcd9, 0xe0cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7da,
    +    0xdbb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xccae, 0x003f, 0xdadb, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddb1, 0x003f, 0xd8af, 0xe3a3, 0x003f, 0x003f,
    +    0xceef, 0x003f, 0x003f, 0xf2f3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf8b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0ce, 0x003f, 0xf5fd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xebec, 0x003f, 0x003f, 0xd3c5, 0xfcec, 0xd2db,
    +    0xd4eb, 0x003f, 0xdea2, 0x003f, 0x003f, 0x003f, 0xe5e6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0b0, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf4,
    +    0x003f, 0x003f, 0x003f, 0xe3ed, 0x003f, 0xe8c2, 0x003f, 0xedf5,
    +    0xd7fc, 0x003f, 0xedbb, 0x003f, 0x003f, 0xf6ab, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf2b8, 0xf6c8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd3e6, 0xf2dd, 0xcfbf, 0x003f, 0xebac, 0x003f,
    +    /* 0x8200 .. 0x82ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfc0, 0x003f, 0xe6a8,
    +    0xfde9, 0x003f, 0xcfc1, 0x003f, 0xe0df, 0xdeec, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf4bf, 0xe2ef, 0x003f, 0xd9f1, 0xf1c7,
    +    0x003f, 0xcbb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf9fe, 0xdbba, 0xdaf5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6ec, 0xdadc, 0xfae4,
    +    0x003f, 0xe0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xddb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a9, 0x003f, 0xeff3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf3ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xebfa, 0x003f, 0xf9e6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcadd, 0xd5de,
    +    0x003f, 0xcade, 0xdfe4, 0x003f, 0x003f, 0x003f, 0xe6fd, 0x003f,
    +    0xf5ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe9e3, 0x003f, 0xedcb, 0xcfe4, 0x003f,
    +    0x003f, 0x003f, 0xd8d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xddb3, 0xd4ec, 0x003f, 0x003f, 0xf2b9, 0x003f, 0xdfb7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbce, 0xfbd8, 0x003f,
    +    0x003f, 0xd0d9, 0x003f, 0x003f, 0xddd2, 0xf7f4, 0xe7dc, 0xe4a5,
    +    0x003f, 0xfca3, 0x003f, 0xdbbb, 0x003f, 0x003f, 0x003f, 0xf2ba,
    +    0xe9fd, 0xd0ca, 0x003f, 0xf5d6, 0xd9c5, 0xe4b4, 0x003f, 0xeda7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeabd, 0xe6fe, 0x003f, 0xf7c4, 0xf5ad, 0x003f, 0xd9e0,
    +    0x003f, 0x003f, 0x003f, 0xcab4, 0x003f, 0x003f, 0xf8e2, 0xcfc2,
    +    0x003f, 0xecbe, 0x003f, 0x003f, 0x003f, 0xe5b4, 0xcdc8, 0xeec8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe7c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc9, 0xf9b7, 0x003f,
    +    /* 0x8300 .. 0x83ff */
    +    0x003f, 0xf1e8, 0xd9f2, 0xdbf5, 0xcab5, 0xd9c6, 0x003f, 0x003f,
    +    0x003f, 0xd8c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ab,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedbc, 0x003f, 0x003f, 0xd8d4, 0x003f, 0x003f, 0x003f, 0xdcda,
    +    0x003f, 0xe2bc, 0x003f, 0x003f, 0xfced, 0xece0, 0xd2fe, 0x003f,
    +    0xe9c7, 0xe6aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfabb,
    +    0x003f, 0xf5ae, 0xfbaa, 0x003f, 0x003f, 0x003f, 0x003f, 0xecfb,
    +    0x003f, 0xecbf, 0xfcd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd4e5, 0x003f, 0x003f, 0x003f, 0xf9c3,
    +    0x003f, 0x003f, 0x003f, 0xeee2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd7e9, 0xedf6, 0x003f, 0x003f, 0x003f, 0xdeed, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccec, 0x003f,
    +    0xe3ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8d4, 0x003f,
    +    0x003f, 0x003f, 0xfaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xddb4, 0xe4b5, 0xd8b0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8d5, 0x003f, 0x003f,
    +    0x003f, 0xf4ea, 0x003f, 0x003f, 0x003f, 0xceb9, 0x003f, 0x003f,
    +    0x003f, 0xd6e1, 0xcfd2, 0x003f, 0xd0b6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcea2, 0x003f, 0x003f, 0xf3ee, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf3f8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdccc, 0x003f, 0xd0cb, 0x003f, 0x003f, 0x003f, 0xfca4,
    +    0xcdca, 0xd7d4, 0xdea3, 0x003f, 0xe4e0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeec9, 0x003f, 0x003f, 0x003f, 0xe2dd, 0x003f, 0x003f,
    +    /* 0x8400 .. 0x84ff */
    +    0x003f, 0x003f, 0x003f, 0xf5fe, 0xd4ac, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5d1, 0x003f, 0xd8f0, 0xf8c3, 0xead7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf5d7, 0x003f, 0x003f, 0xd8bf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfdc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xebad, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5aa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe7a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeca,
    +    0x003f, 0x003f, 0x003f, 0xcae7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8e3, 0x003f, 0xd4dd, 0x003f, 0x003f, 0xead8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfbd9, 0xedf7, 0x003f, 0x003f, 0xe5b5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0ad, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2bd, 0x003f, 0x003f, 0x003f, 0xe3c8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd9d5, 0x003f, 0x003f, 0xdfaa, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdbbc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf8e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf1fa, 0x003f, 0x003f, 0xe5b6, 0xf3ef, 0x003f, 0x003f, 0xfbda,
    +    0xe1e0, 0x003f, 0xd9ac, 0x003f, 0xf5eb, 0x003f, 0xe0b6, 0x003f,
    +    0x003f, 0xe9c8, 0x003f, 0xcbcf, 0x003f, 0xe3c9, 0x003f, 0x003f,
    +    0x003f, 0xdeee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe2be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdcef, 0x003f, 0xd6a5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe2f1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6fe, 0x003f, 0x003f, 0x003f,
    +    /* 0x8500 .. 0x85ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd9a1, 0x003f, 0xd8c0, 0xdcdb, 0x003f, 0x003f, 0xedbd,
    +    0xdfb8, 0x003f, 0xeaa5, 0x003f, 0x003f, 0x003f, 0xd7ad, 0x003f,
    +    0x003f, 0xf3f9, 0x003f, 0xedf8, 0x003f, 0xf5c7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ca, 0xebe3, 0x003f, 0xf2de,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8cc, 0x003f, 0xead9,
    +    0x003f, 0xd3c6, 0x003f, 0xdbe6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf5af, 0x003f, 0x003f, 0x003f, 0x003f, 0xcef0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe9fe, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfbb6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2f2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcff2, 0xf7b9, 0xd9f3, 0x003f, 0x003f, 0xe1cb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdadd, 0x003f, 0x003f, 0xdab9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebfb,
    +    0x003f, 0xcbb9, 0x003f, 0x003f, 0xedf9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0e0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4c0, 0x003f,
    +    0xfdbc, 0xdfb1, 0xe3ef, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a3,
    +    0xfdb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdcb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xedbe, 0x003f, 0x003f, 0x003f, 0xd5c0, 0xe3f0, 0xedfa,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd5ed, 0xe7dd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd4f6, 0xe5b7, 0x003f, 0x003f,
    +    0x003f, 0xdbe7, 0xe2bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeecb,
    +    0x003f, 0x003f, 0xd7f4, 0xf0dd, 0x003f, 0x003f, 0x003f, 0xceab,
    +    /* 0x8600 .. 0x86ff */
    +    0x003f, 0x003f, 0xe7de, 0x003f, 0x003f, 0x003f, 0xd6d6, 0xe1cc,
    +    0x003f, 0x003f, 0xe8b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ee, 0xdca2,
    +    0x003f, 0x003f, 0xe0d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbdb, 0x003f,
    +    0xf9cb, 0x003f, 0x003f, 0x003f, 0xcbf3, 0xf4a5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfac8, 0xd6d7, 0x003f, 0xe9e5, 0xfbdc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfbf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdaa5, 0x003f, 0xdbbd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xece2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcdf7, 0xf0de, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf6c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeef,
    +    0x003f, 0x003f, 0x003f, 0xd3b1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfcee, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe8c3, 0x003f, 0xf1c8, 0x003f, 0x003f, 0x003f, 0xcef1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf9ed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2f4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b6, 0x003f,
    +    /* 0x8700 .. 0x87ff */
    +    0xf5b9, 0x003f, 0xdcf0, 0xe3f1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2bb, 0x003f, 0xdea4, 0x003f, 0xdacc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcae9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3da, 0x003f, 0xfcd9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeada,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9c4, 0x003f,
    +    0xe3a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfbdd, 0x003f, 0xefca, 0x003f,
    +    0xe8c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebd7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ad,
    +    0x003f, 0x003f, 0xfbab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd3d9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6de, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0d1, 0x003f, 0x003f, 0xe9a8,
    +    0x003f, 0x003f, 0xf5f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfaaf, 0x003f, 0xebfc, 0x003f, 0x003f, 0xe0ea, 0x003f,
    +    /* 0x8800 .. 0x88ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5c5,
    +    0x003f, 0x003f, 0xf1e3, 0xd5ee, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8c1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfaec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1eb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfabc, 0xe6e2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfae5, 0xe2fa, 0x003f, 0x003f, 0x003f, 0xcab6,
    +    0x003f, 0xe4b7, 0x003f, 0xeadb, 0x003f, 0xf5fa, 0x003f, 0x003f,
    +    0x003f, 0xfbac, 0xcfc3, 0xebfd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf8fa, 0x003f, 0x003f, 0xdfb9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe1f1, 0x003f, 0xd2a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5fb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0da, 0xd0db,
    +    0x003f, 0xeabe, 0xd9b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcab7, 0x003f, 0x003f, 0xd3e7, 0x003f, 0xf8e5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd3b2, 0x003f, 0x003f, 0x003f, 0xe2c0, 0xf2df,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9ac, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcdcd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeeae, 0xd6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ea,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe7e0, 0xebae, 0x003f, 0x003f,
    +    0x003f, 0xcfd9, 0x003f, 0x003f, 0xdccd, 0xedfb, 0x003f, 0xdef0,
    +    0x003f, 0xd7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdea5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdfd7, 0xdbd0, 0xdbd1, 0x003f, 0x003f,
    +    0xd5a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0b2, 0x003f, 0x003f,
    +    /* 0x8900 .. 0x89ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcdc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcae8, 0x003f, 0xf8e6, 0xdcce, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xeadc, 0xdbd2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a8, 0x003f,
    +    0xd7ae, 0x003f, 0x003f, 0xe0e1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcbba, 0x003f, 0x003f, 0xe5d1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0dc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd5c1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe3a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a4,
    +    0x003f, 0xe9a9, 0x003f, 0xd3c7, 0x003f, 0x003f, 0xdcdd, 0xf8ae,
    +    0x003f, 0x003f, 0x003f, 0xccb8, 0x003f, 0x003f, 0x003f, 0xd0ae,
    +    0x003f, 0x003f, 0x003f, 0xd8f2, 0x003f, 0x003f, 0xe3ca, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd4ad, 0xf6d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd0cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcac6, 0x003f, 0x003f, 0xd5c2, 0x003f, 0x003f,
    +    0xceba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfab0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdfd8, 0x003f, 0x003f, 0x003f,
    +    0xf5ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8a00 .. 0x8aff */
    +    0xe5eb, 0x003f, 0xeff4, 0xddb5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcdaa, 0x003f, 0xe3f2, 0x003f, 0xfbf7, 0x003f, 0xf7d0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfdba, 0x003f, 0x003f, 0xfde1, 0xf6fe,
    +    0xd1c0, 0x003f, 0x003f, 0xe8c5, 0x003f, 0xe4b8, 0x003f, 0xe1e8,
    +    0x003f, 0x003f, 0x003f, 0xccc1, 0x003f, 0xd2ed, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbbe, 0x003f, 0x003f, 0xe0e2, 0x003f, 0x003f,
    +    0x003f, 0xfac9, 0x003f, 0x003f, 0xe1cd, 0x003f, 0xcab8, 0x003f,
    +    0x003f, 0x003f, 0xf2e0, 0xf1c9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdef1, 0x003f, 0x003f, 0x003f, 0xf0df, 0xf8c4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeecc, 0x003f, 0x003f, 0xdef2, 0x003f,
    +    0xe7c9, 0x003f, 0xe2f3, 0xe7e1, 0x003f, 0x003f, 0xe3cb, 0x003f,
    +    0x003f, 0xe3cc, 0x003f, 0x003f, 0x003f, 0xcff8, 0xefac, 0x003f,
    +    0xfdfe, 0xfca5, 0xfab1, 0xdfd9, 0x003f, 0xe0d2, 0x003f, 0x003f,
    +    0x003f, 0xf4da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ca, 0x003f, 0xcea3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf2bc, 0xece3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe0a5, 0x003f, 0xf7ab, 0x003f, 0x003f,
    +    0xebaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5de, 0x003f,
    +    0xe1a4, 0xcdab, 0x003f, 0xd9f4, 0xe8a6, 0xcdce, 0xe1e9, 0x003f,
    +    0xfcef, 0x003f, 0xe0e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2c1, 0x003f, 0xcea4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdea6, 0x003f, 0x003f, 0xebfe, 0x003f, 0xebdd, 0xf0e0,
    +    0x003f, 0x003f, 0xf4db, 0x003f, 0xe2f4, 0x003f, 0x003f, 0xd3c8,
    +    0x003f, 0x003f, 0x003f, 0xf4eb, 0x003f, 0xeeb5, 0x003f, 0xf5d8,
    +    0x003f, 0x003f, 0xd5df, 0x003f, 0x003f, 0x003f, 0xd6e5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xebb0, 0xf4e3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe3cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f4, 0xfab2,
    +    0x003f, 0x003f, 0xeff5, 0xcadf, 0x003f, 0xebb1, 0xedbf, 0x003f,
    +    0x003f, 0xfdc9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a6, 0xf9a4,
    +    0xf0b3, 0x003f, 0xe5ec, 0x003f, 0x003f, 0x003f, 0xd1e7, 0x003f,
    +    /* 0x8b00 .. 0x8bff */
    +    0xd9c7, 0xe4d7, 0xeadd, 0x003f, 0xd4f7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaba, 0x003f,
    +    0xdacd, 0x003f, 0x003f, 0x003f, 0xf9cc, 0x003f, 0xe1da, 0xdbbf,
    +    0x003f, 0xccc5, 0xecd0, 0xcbbb, 0x003f, 0xdef3, 0x003f, 0x003f,
    +    0xe9aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9c8, 0x003f, 0x003f, 0xeee3, 0xd7bd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcfc4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd0cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfca6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf1fb, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd2, 0xd1c1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe3db, 0x003f, 0xd3c9, 0x003f, 0xdccf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcced, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdea7, 0x003f, 0x003f, 0xe6bb,
    +    0xeca1, 0x003f, 0x003f, 0x003f, 0xccb9, 0x003f, 0x003f, 0xfbde,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e2, 0x003f, 0x003f,
    +    0xd4c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdca8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2c2, 0x003f, 0xf3d8, 0xe5d3, 0x003f, 0x003f, 0xf3d9, 0x003f,
    +    0x003f, 0x003f, 0xf3c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8c00 .. 0x8cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcddb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdac,
    +    0x003f, 0xfcc3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e7, 0x003f,
    +    0xd1c2, 0x003f, 0xf9a5, 0x003f, 0xe8d5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3ce, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd4ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfbdf, 0xe7e3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8fb, 0xe3cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8e7, 0x003f, 0xd9c9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8af, 0xeff6, 0x003f,
    +    0xddb6, 0xeeaf, 0xcdf8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeb8,
    +    0xfca7, 0xf7fc, 0xf7b1, 0xcebb, 0xf4a1, 0x003f, 0x003f, 0xeecd,
    +    0xe1ae, 0x003f, 0x003f, 0xecc3, 0xcffe, 0x003f, 0xf8bf, 0xd8e2,
    +    0xd3e8, 0x003f, 0x003f, 0xdea8, 0xf4e4, 0xecc2, 0x003f, 0xd9f5,
    +    0xf9c5, 0xddd3, 0xd6f1, 0xecfc, 0xfcf0, 0x003f, 0x003f, 0xedc0,
    +    0xcab9, 0x003f, 0xeee4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf2e1, 0x003f, 0xdeb9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd6f2, 0x003f, 0xdef4, 0x003f, 0xdfdb, 0x003f,
    +    0xdbd3, 0x003f, 0xfae7, 0xd8e3, 0xf4c1, 0x003f, 0xddb7, 0x003f,
    +    0x003f, 0x003f, 0xf2f5, 0x003f, 0x003f, 0xd4ae, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6f3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xddb8, 0xcfc5, 0xdfdf, 0x003f, 0x003f,
    +    /* 0x8d00 .. 0x8dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf2be, 0xf6a1, 0x003f, 0xebcb,
    +    0xf1fc, 0x003f, 0xf3c7, 0x003f, 0x003f, 0xe0eb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xedfc, 0x003f, 0x003f, 0xe1db, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeee5, 0x003f, 0xdef5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfad3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf1cb, 0x003f, 0x003f, 0xd0af, 0xddb9, 0x003f, 0x003f, 0xd1c3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xeac6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf0e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf6ac, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0eb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xddba, 0x003f, 0x003f, 0x003f, 0xf2bf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7c5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdba2, 0xf2f6, 0x003f, 0x003f, 0xcaba,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf7f5, 0x003f, 0xcbe5, 0x003f, 0x003f,
    +    0x003f, 0xeee6, 0x003f, 0xe0d3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcea5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d8,
    +    0x003f, 0x003f, 0x003f, 0xd4af, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8e00 .. 0x8eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ce,
    +    0xf4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbe6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xebb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xebb3, 0x003f, 0xf0b4, 0x003f, 0x003f, 0xcbf4,
    +    0xd4b0, 0xf3b2, 0xfbb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf5ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee7,
    +    0xf4b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf5ed, 0x003f, 0xcff3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf0e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeece,
    +    0x003f, 0x003f, 0xf1cc, 0x003f, 0x003f, 0xe5b8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd7f5, 0xe3f3, 0xcfe5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcfc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf3b3, 0xe4d8, 0xcff9, 0xcfda, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfacd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf2e2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf5ee, 0x003f, 0x003f, 0xcabb, 0x003f, 0x003f, 0xe3dc, 0x003f,
    +    /* 0x8f00 .. 0x8fff */
    +    0x003f, 0x003f, 0x003f, 0xcef2, 0x003f, 0xd6d9, 0x003f, 0x003f,
    +    0x003f, 0xeeb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf4e5, 0xd8c2, 0xdcd0, 0xccee, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5e0, 0xf6ca, 0xfdca, 0xd8d6, 0xf4cf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a6, 0xdcbe,
    +    0x003f, 0xdbd4, 0xd7c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2fe,
    +    0x003f, 0x003f, 0x003f, 0xf1cd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2c3, 0xdcde, 0x003f, 0xdcdf, 0x003f, 0x003f, 0xefad, 0xe6ab,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf9dd, 0xeabf, 0x003f, 0x003f,
    +    0x003f, 0xefae, 0x003f, 0x003f, 0x003f, 0xf4d0, 0xcef3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ac, 0x003f, 0xcede,
    +    0x003f, 0x003f, 0xd5f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe3f4, 0xcdd0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5b8, 0x003f, 0x003f, 0xf7fd, 0x003f,
    +    0xdca9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdef6, 0x003f, 0xdcaa,
    +    0xf2e3, 0xe9b4, 0xd2dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9e6, 0x003f, 0x003f, 0xe3f6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7ca, 0x003f,
    +    0x003f, 0xd0ce, 0x003f, 0x003f, 0xdaf7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcabc, 0x003f,
    +    0x003f, 0x003f, 0xeee8, 0xdade, 0x003f, 0xf2f7, 0x003f, 0x003f,
    +    0xe2fb, 0x003f, 0xcca6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdabb,
    +    0x003f, 0xeee9, 0x003f, 0x003f, 0x003f, 0xf5da, 0x003f, 0x003f,
    +    /* 0x9000 .. 0x90ff */
    +    0xf7dc, 0xe1ea, 0xcec1, 0xd4b1, 0x003f, 0xfdb1, 0xe6bd, 0x003f,
    +    0xfbad, 0x003f, 0x003f, 0xf8e7, 0x003f, 0xe1ce, 0x003f, 0xf7e2,
    +    0xf5ef, 0xcfc7, 0x003f, 0x003f, 0xd4b2, 0xccef, 0x003f, 0xd4e8,
    +    0x003f, 0xeecf, 0xf7d7, 0x003f, 0x003f, 0xe0a6, 0xd6c1, 0xe1dc,
    +    0xf0e3, 0xf1e4, 0xdcf1, 0xd6a7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f5, 0x003f,
    +    0x003f, 0xf1ce, 0xf2e4, 0x003f, 0x003f, 0xd0b0, 0x003f, 0x003f,
    +    0xecef, 0x003f, 0x003f, 0x003f, 0xf9ba, 0x003f, 0xebb5, 0x003f,
    +    0x003f, 0xd4ed, 0xe2c4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e7,
    +    0x003f, 0x003f, 0xebb4, 0xeaa1, 0x003f, 0xf8bc, 0xcea6, 0x003f,
    +    0xf9c6, 0xfcda, 0x003f, 0xd4b3, 0xd3b9, 0xeade, 0x003f, 0x003f,
    +    0x003f, 0xe9ab, 0x003f, 0x003f, 0xe1e1, 0xd3cf, 0xf4f6, 0x003f,
    +    0xeac0, 0xe1cf, 0x003f, 0xccba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeeea, 0x003f, 0x003f, 0x003f, 0xf0e4, 0xf3b4, 0xd4ee,
    +    0x003f, 0x003f, 0xf2c0, 0x003f, 0x003f, 0xf1e5, 0x003f, 0xf4c3,
    +    0xe0d4, 0x003f, 0xebb6, 0x003f, 0xd7a1, 0xcbe8, 0x003f, 0xf9ad,
    +    0xe9ad, 0xd8e4, 0xfab3, 0xe2c5, 0xfcbd, 0x003f, 0x003f, 0xecc4,
    +    0xd8b1, 0x003f, 0xdcab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a4,
    +    0x003f, 0xebe9, 0x003f, 0x003f, 0x003f, 0xe8bb, 0x003f, 0x003f,
    +    0x003f, 0xd8d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xfbae, 0xd1e1, 0x003f, 0x003f, 0xdbc0, 0x003f,
    +    0xf5be, 0x003f, 0xdef7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafb,
    +    0xf7c6, 0xcfc8, 0x003f, 0x003f, 0x003f, 0xe1d0, 0x003f, 0x003f,
    +    0xeed0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe9f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cd, 0x003f,
    +    0x003f, 0xcfdb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xddbb, 0x003f, 0x003f, 0x003f, 0x003f, 0xceac, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4b4, 0x003f, 0x003f,
    +    /* 0x9100 .. 0x91ff */
    +    0x003f, 0x003f, 0xe4c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf5db, 0x003f, 0x003f, 0xfac1, 0x003f, 0x003f,
    +    0x003f, 0xdea9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd3b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xebb7, 0xeff8, 0xf5dc, 0xedcc, 0xdbd5, 0xf1cf, 0x003f,
    +    0x003f, 0x003f, 0xf1d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd9ae, 0xd5ac, 0x003f, 0xe2c6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfda3, 0x003f, 0xfbe5,
    +    0xdfab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f5,
    +    0x003f, 0xf6ad, 0x003f, 0xf5b3, 0x003f, 0xf0b5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe1a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf5dd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeca2, 0xedfd, 0x003f, 0xf5b4, 0xfbb8,
    +    0x003f, 0xdba3, 0x003f, 0x003f, 0xd6ca, 0xcbd9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fa,
    +    0x003f, 0xebb8, 0x003f, 0xe0b7, 0xd7ec, 0xf1ec, 0xe5af, 0xd5e1,
    +    0xd7ed, 0xd1d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f2,
    +    0xeff9, 0x003f, 0x003f, 0x003f, 0xddbc, 0xf6dc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0e5, 0x003f, 0x003f, 0x003f, 0xf4c4,
    +    0x003f, 0x003f, 0xe9e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9200 .. 0x92ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4ef, 0x003f, 0x003f,
    +    0xcca2, 0xf7fe, 0xdfbc, 0x003f, 0x003f, 0x003f, 0x003f, 0xebcd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6c2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe8ad, 0x003f, 0x003f, 0x003f, 0x003f, 0xefaf,
    +    0xcba5, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbe9, 0x003f, 0x003f,
    +    0x003f, 0xfae8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccc6,
    +    0x003f, 0x003f, 0x003f, 0xe6e7, 0x003f, 0x003f, 0xeac7, 0x003f,
    +    0x003f, 0x003f, 0xdba4, 0x003f, 0xcfc9, 0xe2fc, 0xeffa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xebde, 0x003f, 0x003f, 0xf5c8, 0x003f, 0xd4de, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe0d5, 0x003f, 0xefb0, 0x003f, 0x003f, 0xe2c7, 0x003f,
    +    0xd9af, 0x003f, 0x003f, 0x003f, 0xf9e7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe7e5, 0x003f, 0x003f, 0xcfca, 0xe1d1,
    +    0x003f, 0xe2c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeffb, 0x003f, 0x003f, 0xfaf9,
    +    0x003f, 0x003f, 0xdcf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0a7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf8e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcbea, 0x003f, 0x003f, 0x003f, 0xcbbc, 0x003f, 0x003f, 0x003f,
    +    /* 0x9300 .. 0x93ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd6e2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf5de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf5df, 0x003f, 0xeeb6, 0x003f, 0x003f, 0x003f, 0xe2f6, 0xd3ca,
    +    0xeffc, 0xd1c4, 0xefb1, 0x003f, 0xd1c5, 0x003f, 0xd0de, 0x003f,
    +    0xd9e1, 0x003f, 0x003f, 0xe0b8, 0x003f, 0x003f, 0xcdd1, 0xf3b9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe7cc, 0x003f, 0xd6a8, 0xcea7, 0x003f, 0xd4b5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4c8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd3b4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebb9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6dd, 0x003f, 0xf1a3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xccc7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe9ca, 0x003f, 0xe1f0, 0x003f,
    +    0x003f, 0x003f, 0xf5e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfbaf, 0x003f, 0x003f, 0x003f, 0xcbd1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfbe0, 0xf2e5, 0x003f, 0x003f,
    +    0xecf0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0ec, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeeeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9cb, 0x003f,
    +    0x003f, 0xccf0, 0x003f, 0x003f, 0xd7af, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9400 .. 0x94ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfcf5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xefb2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d1, 0x003f, 0x003f,
    +    0xf7a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf1d1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcafc, 0xcafd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcece, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3c8, 0x003f, 0xf3ba,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9500 .. 0x95ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedfe,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdaa6, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8cd, 0x003f, 0xcbd2, 0x003f, 0x003f, 0x003f, 0xebce,
    +    0x003f, 0xf9d8, 0xf9d9, 0xcae0, 0xdaca, 0x003f, 0x003f, 0x003f,
    +    0xcba6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcac8, 0xf9ee, 0xdbec, 0x003f, 0x003f,
    +    0xd0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ef, 0x003f, 0x003f,
    +    0x003f, 0xe6f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe7a2, 0xe4d9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e1,
    +    0x003f, 0x003f, 0xfcc4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf9ef, 0xcff4, 0xf7e6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcebc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf4c5, 0xdca3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9600 .. 0x96ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xddbd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf4c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf8a1, 0x003f, 0x003f, 0x003f, 0xe8d6, 0x003f,
    +    0x003f, 0x003f, 0xdbc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf0e6, 0x003f, 0x003f, 0x003f, 0xe4b9,
    +    0xf6ed, 0x003f, 0xf9ae, 0x003f, 0xddbe, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd7b0, 0xd8e8, 0xcbbd, 0x003f, 0x003f,
    +    0xf9da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf8ce, 0xf9f0, 0xe0ed, 0xe3b3, 0xf4b3,
    +    0x003f, 0x003f, 0xeac2, 0xf2e6, 0xf0b6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdbd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xebe4, 0x003f, 0x003f, 0xf2e7, 0x003f, 0xd7d5, 0xd4b6, 0xf9e8,
    +    0xd7c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5d5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9ea, 0xd7cc, 0x003f,
    +    0x003f, 0x003f, 0xd3e9, 0xe2c9, 0x003f, 0xfcdb, 0xcdad, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xccb0, 0xeaa2, 0x003f, 0x003f,
    +    0xe4f6, 0xd0c0, 0x003f, 0xf0b7, 0xeea1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd7f6, 0x003f, 0x003f, 0x003f, 0xe2ca,
    +    0xe2cb, 0x003f, 0xfacf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xebdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6cb,
    +    0x003f, 0x003f, 0x003f, 0xf4b4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedcd, 0xe4d2, 0x003f, 0x003f, 0xeaa9, 0xe4ba, 0xf3a2, 0xcdd2,
    +    0x003f, 0xf6cb, 0x003f, 0xf1e6, 0xedc1, 0xe8bc, 0xeed1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0e7, 0xe2cc, 0x003f,
    +    0x003f, 0xe4aa, 0x003f, 0xf5e1, 0xedda, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd7ee, 0xd1f1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe9eb, 0xe9ec, 0xe0e4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaa7,
    +    0xddd4, 0x003f, 0xeaa3, 0x003f, 0x003f, 0x003f, 0xd6c3, 0xd6f4,
    +    0x003f, 0xdadf, 0x003f, 0xefb3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9700 .. 0x97ff */
    +    0xe2cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeffd, 0xf2e8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xefc5, 0x003f, 0xe7e7, 0x003f, 0x003f, 0xd7fd, 0x003f,
    +    0x003f, 0xe7ce, 0x003f, 0x003f, 0xdfdc, 0x003f, 0xf9c7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f6,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdfac, 0x003f, 0xd6da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdca4, 0x003f, 0x003f, 0x003f, 0xf0b8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd5fa, 0x003f, 0xe4f7, 0x003f, 0x003f, 0x003f,
    +    0xd6c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf4ec, 0x003f, 0x003f, 0x003f, 0x003f, 0xeffe, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf0a1, 0x003f, 0xdeaa, 0x003f,
    +    0x003f, 0xdabc, 0xd8fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfad4, 0x003f, 0x003f, 0x003f, 0xece5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xfca8, 0x003f, 0x003f, 0xece6,
    +    0x003f, 0x003f, 0xd8cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfbb9, 0x003f, 0xe4d3, 0x003f, 0xcdf9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcfd3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcaea, 0x003f, 0x003f, 0xcfd4, 0x003f, 0xf8bd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4c7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeadf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf9db, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd4b7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xebe5, 0x003f, 0x003f, 0xe1d2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeaa4, 0x003f, 0x003f, 0x003f, 0xfac2,
    +    /* 0x9800 .. 0x98ff */
    +    0xfbe1, 0xfaed, 0xf0a2, 0xccf1, 0x003f, 0xfaa3, 0xe2f7, 0x003f,
    +    0xe2ce, 0x003f, 0xe9f5, 0x003f, 0xe1eb, 0x003f, 0x003f, 0x003f,
    +    0xe7e8, 0xe8d7, 0xdaf8, 0xd4cb, 0x003f, 0x003f, 0x003f, 0xf7f6,
    +    0xd6c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e9, 0x003f, 0x003f,
    +    0xfafa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xccf2, 0xf7dd, 0x003f, 0xdeba, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcea8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf0b9, 0xe4fe, 0xe4c9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe4d4, 0x003f, 0x003f, 0x003f,
    +    0xeac3, 0x003f, 0xefb4, 0x003f, 0x003f, 0x003f, 0xd7be, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbe2, 0x003f, 0xcdd3,
    +    0x003f, 0x003f, 0x003f, 0xefb5, 0x003f, 0x003f, 0x003f, 0xfae9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf9a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfbd,
    +    0x003f, 0xf7c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf8fd, 0x003f, 0x003f, 0xf8fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdeab, 0xdbe8, 0x003f, 0x003f, 0xe3dd,
    +    0x003f, 0xe1e2, 0xd1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6d0, 0xebe6, 0xdaf9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xecc7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdef8, 0xf8e9, 0xe3de, 0x003f,
    +    /* 0x9900 .. 0x99ff */
    +    0x003f, 0x003f, 0x003f, 0xcef5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfac3, 0xe5d7, 0x003f, 0xecc8, 0x003f, 0x003f, 0x003f,
    +    0xf3c9, 0x003f, 0x003f, 0xe4bb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb6, 0x003f,
    +    0xdcbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcebd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8c3, 0x003f, 0x003f,
    +    0x003f, 0xd0cf, 0x003f, 0xcffa, 0xf3ca, 0xe0d7, 0x003f, 0x003f,
    +    0x003f, 0xd1c7, 0xe9ae, 0x003f, 0xe8bd, 0x003f, 0x003f, 0xfac4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2cf, 0x003f,
    +    0x003f, 0xfac5, 0x003f, 0x003f, 0x003f, 0xf9b8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce0, 0x003f, 0x003f,
    +    0xfbb0, 0x003f, 0x003f, 0x003f, 0xd8a9, 0xe5df, 0xf9a7, 0x003f,
    +    0x003f, 0xf6ee, 0x003f, 0xf6cc, 0xe2f8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xecf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdae0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf1d2, 0xd2cc, 0xcfcb, 0x003f, 0x003f, 0xcabd, 0x003f, 0x003f,
    +    0x003f, 0xddbf, 0x003f, 0x003f, 0x003f, 0xf6ef, 0x003f, 0xdef9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfab4, 0x003f, 0x003f,
    +    0x003f, 0xd5ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e7,
    +    /* 0x9a00 .. 0x9aff */
    +    0x003f, 0xdebe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdcc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1c8, 0xd1c9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf8be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcbf6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd4f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5e2, 0xe1d3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd8e9, 0x003f, 0x003f, 0xf8fe, 0x003f, 0xcfcc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfda4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcef6, 0x003f, 0xfad0,
    +    0x003f, 0x003f, 0xccf3, 0xe6be, 0x003f, 0x003f, 0x003f, 0xf6ae,
    +    0x003f, 0x003f, 0xd5f0, 0x003f, 0x003f, 0xd1ca, 0x003f, 0x003f,
    +    0x003f, 0xfcbe, 0xd5f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcde9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfab5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2d0, 0xf4f7, 0x003f, 0x003f, 0x003f,
    +    0xcdd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9b00 .. 0x9bff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a2,
    +    0x003f, 0x003f, 0xf7e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeaa6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd0a1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xceda, 0xfbeb, 0xdba6, 0xdbde, 0xd8e5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeae0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd8aa, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6db,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefc6, 0x003f,
    +    0x003f, 0xf8ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcef7, 0x003f, 0x003f, 0xe0d8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd7ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4ed, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcde6, 0x003f, 0x003f, 0x003f,
    +    0xccf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9c00 .. 0x9cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5e3, 0x003f, 0x003f,
    +    0xe4ca, 0x003f, 0xdce1, 0x003f, 0x003f, 0xf9c8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcbf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe8a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8c4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbbe,
    +    0x003f, 0xdcae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7f7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0e8, 0x003f, 0xddc0,
    +    0x003f, 0xcfcd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdcf3, 0xd9b0, 0x003f, 0xe6e9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9d00 .. 0x9dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe4bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xeac4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ec, 0x003f,
    +    0xe4e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfbf8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccbb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4bd, 0x003f, 0x003f,
    +    0xcddc, 0xd9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdddf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xedce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf9cd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcdae, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfce,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf6af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xfdd3, 0xebed, 0xd6dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9e00 .. 0x9eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5a4, 0x003f, 0x003f, 0x003f, 0xd5b6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6dd, 0x003f, 0x003f,
    +    0x003f, 0xf9e9, 0x003f, 0x003f, 0x003f, 0xe7a4, 0x003f, 0xd6e3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd1cb, 0xd6e4, 0x003f, 0x003f, 0x003f, 0xd5f2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdefa, 0x003f, 0xd7f8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ea, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcfd5, 0xd8fd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd8ab, 0x003f, 0x003f, 0xfdcb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xfcdc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a8, 0xd5f3, 0x003f,
    +    0x003f, 0xfdd9, 0x003f, 0x003f, 0xcca3, 0x003f, 0x003f, 0x003f,
    +    0xd9f9, 0x003f, 0x003f, 0xd3ea, 0xf5f5, 0x003f, 0xefc7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd3da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdabd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9f00 .. 0x9fff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a8,
    +    0xdcaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0a3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xcdd5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe0a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdeac, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf0ba, 0xeeb1, 0x003f, 0x003f, 0xeeb2, 0x003f,
    +    0x003f, 0x003f, 0xf6cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed2,
    +    0x003f, 0xd6c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e5,
    +    0x003f, 0x003f, 0xf3bb, 0x003f, 0xe5e1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a3, 0x003f, 0x003f,
    +    0xdbc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafe, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcfcf, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xac00 .. 0xacff */
    +    0xb0a1, 0xb0a2, 0x8141, 0x8142, 0xb0a3, 0x8143, 0x8144, 0xb0a4,
    +    0xb0a5, 0xb0a6, 0xb0a7, 0x8145, 0x8146, 0x8147, 0x8148, 0x8149,
    +    0xb0a8, 0xb0a9, 0xb0aa, 0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae, 0xb0af,
    +    0x814a, 0xb0b0, 0xb0b1, 0xb0b2, 0xb0b3, 0xb0b4, 0x814b, 0x814c,
    +    0xb0b5, 0x814d, 0x814e, 0x814f, 0xb0b6, 0x8150, 0x8151, 0x8152,
    +    0x8153, 0x8154, 0x8155, 0x8156, 0xb0b7, 0xb0b8, 0x8157, 0xb0b9,
    +    0xb0ba, 0xb0bb, 0x8158, 0x8159, 0x815a, 0x8161, 0x8162, 0x8163,
    +    0xb0bc, 0xb0bd, 0x8164, 0x8165, 0xb0be, 0x8166, 0x8167, 0x8168,
    +    0xb0bf, 0x8169, 0x816a, 0x816b, 0x816c, 0x816d, 0x816e, 0x816f,
    +    0x8170, 0x8171, 0x8172, 0xb0c0, 0x8173, 0xb0c1, 0x8174, 0x8175,
    +    0x8176, 0x8177, 0x8178, 0x8179, 0xb0c2, 0x817a, 0x8181, 0x8182,
    +    0xb0c3, 0x8183, 0x8184, 0x8185, 0xb0c4, 0x8186, 0x8187, 0x8188,
    +    0x8189, 0x818a, 0x818b, 0x818c, 0x818d, 0x818e, 0x818f, 0x8190,
    +    0x8191, 0x8192, 0x8193, 0x8194, 0x8195, 0x8196, 0x8197, 0x8198,
    +    0xb0c5, 0xb0c6, 0x8199, 0x819a, 0xb0c7, 0x819b, 0x819c, 0xb0c8,
    +    0xb0c9, 0x819d, 0xb0ca, 0x819e, 0x819f, 0x81a0, 0x81a1, 0x81a2,
    +    0xb0cb, 0xb0cc, 0x81a3, 0xb0cd, 0xb0ce, 0xb0cf, 0xb0d0, 0x81a4,
    +    0x81a5, 0xb0d1, 0xb0d2, 0xb0d3, 0xb0d4, 0x81a6, 0x81a7, 0x81a8,
    +    0xb0d5, 0x81a9, 0x81aa, 0x81ab, 0xb0d6, 0x81ac, 0x81ad, 0x81ae,
    +    0x81af, 0x81b0, 0x81b1, 0x81b2, 0xb0d7, 0xb0d8, 0x81b3, 0xb0d9,
    +    0xb0da, 0xb0db, 0x81b4, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9,
    +    0xb0dc, 0xb0dd, 0xb0de, 0x81ba, 0xb0df, 0x81bb, 0x81bc, 0xb0e0,
    +    0xb0e1, 0x81bd, 0x81be, 0x81bf, 0x81c0, 0x81c1, 0x81c2, 0x81c3,
    +    0xb0e2, 0xb0e3, 0x81c4, 0xb0e4, 0xb0e5, 0xb0e6, 0x81c5, 0x81c6,
    +    0x81c7, 0xb0e7, 0x81c8, 0x81c9, 0xb0e8, 0x81ca, 0x81cb, 0x81cc,
    +    0xb0e9, 0x81cd, 0x81ce, 0x81cf, 0xb0ea, 0x81d0, 0x81d1, 0x81d2,
    +    0x81d3, 0x81d4, 0x81d5, 0x81d6, 0x81d7, 0xb0eb, 0x81d8, 0xb0ec,
    +    0x81d9, 0x81da, 0x81db, 0x81dc, 0x81dd, 0x81de, 0x81df, 0x81e0,
    +    0xb0ed, 0xb0ee, 0x81e1, 0x81e2, 0xb0ef, 0x81e3, 0x81e4, 0xb0f0,
    +    0xb0f1, 0x81e5, 0xb0f2, 0x81e6, 0xb0f3, 0x81e7, 0x81e8, 0xb0f4,
    +    0xb0f5, 0xb0f6, 0x81e9, 0xb0f7, 0x81ea, 0xb0f8, 0xb0f9, 0x81eb,
    +    0x81ec, 0x81ed, 0x81ee, 0x81ef, 0xb0fa, 0xb0fb, 0x81f0, 0x81f1,
    +    /* 0xad00 .. 0xadff */
    +    0xb0fc, 0x81f2, 0x81f3, 0x81f4, 0xb0fd, 0x81f5, 0xb0fe, 0x81f6,
    +    0x81f7, 0x81f8, 0x81f9, 0x81fa, 0xb1a1, 0xb1a2, 0x81fb, 0xb1a3,
    +    0x81fc, 0xb1a4, 0x81fd, 0x81fe, 0x8241, 0x8242, 0x8243, 0x8244,
    +    0xb1a5, 0x8245, 0x8246, 0x8247, 0xb1a6, 0x8248, 0x8249, 0x824a,
    +    0xb1a7, 0x824b, 0x824c, 0x824d, 0x824e, 0x824f, 0x8250, 0x8251,
    +    0x8252, 0xb1a8, 0x8253, 0x8254, 0xb1a9, 0xb1aa, 0x8255, 0x8256,
    +    0x8257, 0x8258, 0x8259, 0x825a, 0xb1ab, 0xb1ac, 0x8261, 0x8262,
    +    0xb1ad, 0x8263, 0x8264, 0x8265, 0xb1ae, 0x8266, 0x8267, 0x8268,
    +    0x8269, 0x826a, 0x826b, 0x826c, 0xb1af, 0xb1b0, 0x826d, 0xb1b1,
    +    0x826e, 0xb1b2, 0x826f, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274,
    +    0xb1b3, 0x8275, 0x8276, 0x8277, 0xb1b4, 0x8278, 0x8279, 0x827a,
    +    0xb1b5, 0x8281, 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287,
    +    0x8288, 0xb1b6, 0x8289, 0xb1b7, 0x828a, 0x828b, 0x828c, 0x828d,
    +    0x828e, 0x828f, 0x8290, 0x8291, 0xb1b8, 0xb1b9, 0x8292, 0x8293,
    +    0xb1ba, 0x8294, 0x8295, 0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0x8296,
    +    0x8297, 0x8298, 0x8299, 0xb1bf, 0xb1c0, 0xb1c1, 0x829a, 0xb1c2,
    +    0x829b, 0xb1c3, 0xb1c4, 0x829c, 0x829d, 0x829e, 0x829f, 0x82a0,
    +    0xb1c5, 0xb1c6, 0x82a1, 0x82a2, 0xb1c7, 0x82a3, 0x82a4, 0x82a5,
    +    0xb1c8, 0x82a6, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ab, 0x82ac,
    +    0x82ad, 0x82ae, 0x82af, 0x82b0, 0xb1c9, 0xb1ca, 0x82b1, 0x82b2,
    +    0x82b3, 0x82b4, 0x82b5, 0x82b6, 0xb1cb, 0x82b7, 0x82b8, 0x82b9,
    +    0x82ba, 0x82bb, 0x82bc, 0x82bd, 0x82be, 0x82bf, 0x82c0, 0x82c1,
    +    0x82c2, 0x82c3, 0x82c4, 0x82c5, 0x82c6, 0x82c7, 0x82c8, 0xb1cc,
    +    0x82c9, 0x82ca, 0x82cb, 0x82cc, 0x82cd, 0x82ce, 0x82cf, 0x82d0,
    +    0xb1cd, 0xb1ce, 0x82d1, 0x82d2, 0xb1cf, 0x82d3, 0x82d4, 0x82d5,
    +    0xb1d0, 0x82d6, 0x82d7, 0x82d8, 0x82d9, 0x82da, 0x82db, 0x82dc,
    +    0xb1d1, 0xb1d2, 0x82dd, 0xb1d3, 0x82de, 0x82df, 0x82e0, 0x82e1,
    +    0x82e2, 0x82e3, 0x82e4, 0x82e5, 0xb1d4, 0x82e6, 0x82e7, 0x82e8,
    +    0xb1d5, 0x82e9, 0x82ea, 0x82eb, 0xb1d6, 0x82ec, 0x82ed, 0x82ee,
    +    0x82ef, 0x82f0, 0x82f1, 0x82f2, 0x82f3, 0x82f4, 0x82f5, 0x82f6,
    +    0x82f7, 0x82f8, 0x82f9, 0x82fa, 0x82fb, 0x82fc, 0x82fd, 0x82fe,
    +    0xb1d7, 0xb1d8, 0x8341, 0x8342, 0xb1d9, 0x8343, 0x8344, 0xb1da,
    +    /* 0xae00 .. 0xaeff */
    +    0xb1db, 0xb1dc, 0x8345, 0x8346, 0x8347, 0x8348, 0x8349, 0x834a,
    +    0xb1dd, 0xb1de, 0x834b, 0xb1df, 0x834c, 0xb1e0, 0x834d, 0x834e,
    +    0x834f, 0x8350, 0x8351, 0x8352, 0xb1e1, 0x8353, 0x8354, 0x8355,
    +    0x8356, 0x8357, 0x8358, 0x8359, 0x835a, 0x8361, 0x8362, 0x8363,
    +    0x8364, 0x8365, 0x8366, 0x8367, 0x8368, 0x8369, 0x836a, 0x836b,
    +    0x836c, 0x836d, 0x836e, 0x836f, 0x8370, 0x8371, 0x8372, 0x8373,
    +    0xb1e2, 0xb1e3, 0x8374, 0x8375, 0xb1e4, 0x8376, 0x8377, 0xb1e5,
    +    0xb1e6, 0x8378, 0xb1e7, 0x8379, 0x837a, 0x8381, 0x8382, 0x8383,
    +    0xb1e8, 0xb1e9, 0x8384, 0xb1ea, 0x8385, 0xb1eb, 0xb1ec, 0x8386,
    +    0x8387, 0x8388, 0xb1ed, 0x8389, 0xb1ee, 0xb1ef, 0xb1f0, 0x838a,
    +    0xb1f1, 0x838b, 0x838c, 0x838d, 0xb1f2, 0x838e, 0xb1f3, 0x838f,
    +    0x8390, 0x8391, 0x8392, 0x8393, 0xb1f4, 0xb1f5, 0x8394, 0xb1f6,
    +    0xb1f7, 0xb1f8, 0x8395, 0x8396, 0x8397, 0xb1f9, 0x8398, 0x8399,
    +    0xb1fa, 0xb1fb, 0x839a, 0x839b, 0xb1fc, 0x839c, 0x839d, 0x839e,
    +    0xb1fd, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3, 0x83a4, 0x83a5,
    +    0xb1fe, 0xb2a1, 0x83a6, 0xb2a2, 0xb2a3, 0xb2a4, 0x83a7, 0x83a8,
    +    0x83a9, 0x83aa, 0x83ab, 0x83ac, 0xb2a5, 0xb2a6, 0x83ad, 0x83ae,
    +    0x83af, 0x83b0, 0x83b1, 0x83b2, 0xb2a7, 0x83b3, 0x83b4, 0x83b5,
    +    0x83b6, 0x83b7, 0x83b8, 0x83b9, 0x83ba, 0x83bb, 0x83bc, 0x83bd,
    +    0x83be, 0x83bf, 0x83c0, 0x83c1, 0x83c2, 0x83c3, 0x83c4, 0x83c5,
    +    0x83c6, 0x83c7, 0x83c8, 0x83c9, 0x83ca, 0x83cb, 0x83cc, 0x83cd,
    +    0x83ce, 0x83cf, 0x83d0, 0x83d1, 0x83d2, 0x83d3, 0x83d4, 0x83d5,
    +    0x83d6, 0x83d7, 0x83d8, 0x83d9, 0x83da, 0x83db, 0x83dc, 0x83dd,
    +    0x83de, 0x83df, 0x83e0, 0x83e1, 0xb2a8, 0xb2a9, 0xb2aa, 0x83e2,
    +    0xb2ab, 0x83e3, 0x83e4, 0x83e5, 0xb2ac, 0x83e6, 0x83e7, 0x83e8,
    +    0x83e9, 0x83ea, 0x83eb, 0x83ec, 0xb2ad, 0xb2ae, 0x83ed, 0xb2af,
    +    0xb2b0, 0xb2b1, 0x83ee, 0x83ef, 0x83f0, 0x83f1, 0x83f2, 0x83f3,
    +    0xb2b2, 0xb2b3, 0x83f4, 0x83f5, 0xb2b4, 0x83f6, 0x83f7, 0x83f8,
    +    0x83f9, 0x83fa, 0x83fb, 0x83fc, 0x83fd, 0x83fe, 0x8441, 0x8442,
    +    0xb2b5, 0x8443, 0x8444, 0xb2b6, 0x8445, 0xb2b7, 0x8446, 0x8447,
    +    0x8448, 0x8449, 0x844a, 0x844b, 0xb2b8, 0x844c, 0x844d, 0x844e,
    +    0xb2b9, 0x844f, 0x8450, 0x8451, 0xb2ba, 0x8452, 0x8453, 0x8454,
    +    /* 0xaf00 .. 0xafff */
    +    0x8455, 0x8456, 0x8457, 0x8458, 0x8459, 0x845a, 0x8461, 0xb2bb,
    +    0xb2bc, 0x8462, 0x8463, 0x8464, 0x8465, 0xb2bd, 0x8466, 0x8467,
    +    0xb2be, 0x8468, 0x8469, 0x846a, 0x846b, 0x846c, 0x846d, 0x846e,
    +    0x846f, 0x8470, 0x8471, 0x8472, 0x8473, 0x8474, 0x8475, 0x8476,
    +    0x8477, 0x8478, 0x8479, 0x847a, 0x8481, 0x8482, 0x8483, 0x8484,
    +    0x8485, 0x8486, 0x8487, 0x8488, 0xb2bf, 0xb2c0, 0x8489, 0x848a,
    +    0xb2c1, 0x848b, 0xb2c2, 0x848c, 0xb2c3, 0x848d, 0x848e, 0x848f,
    +    0x8490, 0x8491, 0x8492, 0x8493, 0xb2c4, 0xb2c5, 0x8494, 0xb2c6,
    +    0x8495, 0xb2c7, 0xb2c8, 0xb2c9, 0x8496, 0x8497, 0x8498, 0x8499,
    +    0xb2ca, 0xb2cb, 0x849a, 0x849b, 0x849c, 0x849d, 0x849e, 0x849f,
    +    0xb2cc, 0x84a0, 0x84a1, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6,
    +    0x84a7, 0x84a8, 0x84a9, 0x84aa, 0xb2cd, 0xb2ce, 0x84ab, 0x84ac,
    +    0x84ad, 0x84ae, 0x84af, 0x84b0, 0xb2cf, 0xb2d0, 0x84b1, 0x84b2,
    +    0x84b3, 0x84b4, 0x84b5, 0x84b6, 0x84b7, 0x84b8, 0x84b9, 0x84ba,
    +    0x84bb, 0x84bc, 0x84bd, 0x84be, 0x84bf, 0x84c0, 0x84c1, 0x84c2,
    +    0x84c3, 0xb2d1, 0x84c4, 0x84c5, 0x84c6, 0x84c7, 0x84c8, 0x84c9,
    +    0xb2d2, 0x84ca, 0x84cb, 0x84cc, 0xb2d3, 0x84cd, 0x84ce, 0x84cf,
    +    0xb2d4, 0x84d0, 0x84d1, 0x84d2, 0x84d3, 0x84d4, 0x84d5, 0x84d6,
    +    0xb2d5, 0xb2d6, 0x84d7, 0x84d8, 0x84d9, 0xb2d7, 0x84da, 0x84db,
    +    0x84dc, 0x84dd, 0x84de, 0x84df, 0xb2d8, 0x84e0, 0x84e1, 0x84e2,
    +    0x84e3, 0x84e4, 0x84e5, 0x84e6, 0x84e7, 0x84e8, 0x84e9, 0x84ea,
    +    0x84eb, 0x84ec, 0x84ed, 0x84ee, 0x84ef, 0x84f0, 0x84f1, 0x84f2,
    +    0x84f3, 0x84f4, 0x84f5, 0x84f6, 0x84f7, 0x84f8, 0x84f9, 0x84fa,
    +    0xb2d9, 0xb2da, 0x84fb, 0x84fc, 0xb2db, 0x84fd, 0x84fe, 0x8541,
    +    0xb2dc, 0x8542, 0x8543, 0x8544, 0x8545, 0x8546, 0x8547, 0xb2dd,
    +    0xb2de, 0xb2df, 0x8548, 0xb2e0, 0x8549, 0xb2e1, 0xb2e2, 0x854a,
    +    0x854b, 0x854c, 0x854d, 0x854e, 0xb2e3, 0x854f, 0x8550, 0x8551,
    +    0x8552, 0x8553, 0x8554, 0x8555, 0xb2e4, 0x8556, 0x8557, 0x8558,
    +    0x8559, 0x855a, 0x8561, 0x8562, 0x8563, 0x8564, 0x8565, 0x8566,
    +    0xb2e5, 0xb2e6, 0x8567, 0x8568, 0x8569, 0x856a, 0x856b, 0x856c,
    +    0xb2e7, 0xb2e8, 0x856d, 0x856e, 0xb2e9, 0x856f, 0x8570, 0x8571,
    +    0xb2ea, 0x8572, 0x8573, 0x8574, 0x8575, 0x8576, 0x8577, 0x8578,
    +    /* 0xb000 .. 0xb0ff */
    +    0xb2eb, 0xb2ec, 0x8579, 0x857a, 0xb2ed, 0x8581, 0x8582, 0x8583,
    +    0x8584, 0x8585, 0x8586, 0x8587, 0xb2ee, 0x8588, 0x8589, 0x858a,
    +    0xb2ef, 0x858b, 0x858c, 0x858d, 0xb2f0, 0x858e, 0x858f, 0x8590,
    +    0x8591, 0x8592, 0x8593, 0x8594, 0xb2f1, 0xb2f2, 0x8595, 0x8596,
    +    0x8597, 0x8598, 0x8599, 0x859a, 0x859b, 0x859c, 0x859d, 0x859e,
    +    0xb2f3, 0x859f, 0x85a0, 0x85a1, 0x85a2, 0x85a3, 0x85a4, 0x85a5,
    +    0x85a6, 0x85a7, 0x85a8, 0x85a9, 0x85aa, 0x85ab, 0x85ac, 0x85ad,
    +    0x85ae, 0x85af, 0x85b0, 0x85b1, 0x85b2, 0x85b3, 0x85b4, 0x85b5,
    +    0x85b6, 0x85b7, 0x85b8, 0x85b9, 0xb2f4, 0xb2f5, 0x85ba, 0x85bb,
    +    0xb2f6, 0x85bc, 0xb2f7, 0x85bd, 0xb2f8, 0x85be, 0xb2f9, 0x85bf,
    +    0x85c0, 0x85c1, 0x85c2, 0xb2fa, 0xb2fb, 0xb2fc, 0x85c3, 0xb2fd,
    +    0x85c4, 0xb2fe, 0x85c5, 0x85c6, 0x85c7, 0xb3a1, 0x85c8, 0x85c9,
    +    0x85ca, 0x85cb, 0x85cc, 0x85cd, 0x85ce, 0x85cf, 0x85d0, 0x85d1,
    +    0x85d2, 0x85d3, 0x85d4, 0x85d5, 0x85d6, 0x85d7, 0x85d8, 0x85d9,
    +    0x85da, 0x85db, 0x85dc, 0x85dd, 0x85de, 0x85df, 0x85e0, 0x85e1,
    +    0x85e2, 0x85e3, 0x85e4, 0x85e5, 0xb3a2, 0xb3a3, 0x85e6, 0x85e7,
    +    0xb3a4, 0x85e8, 0x85e9, 0x85ea, 0xb3a5, 0x85eb, 0x85ec, 0x85ed,
    +    0x85ee, 0x85ef, 0x85f0, 0x85f1, 0xb3a6, 0xb3a7, 0x85f2, 0xb3a8,
    +    0x85f3, 0xb3a9, 0x85f4, 0x85f5, 0x85f6, 0x85f7, 0x85f8, 0x85f9,
    +    0xb3aa, 0xb3ab, 0xb3ac, 0x85fa, 0xb3ad, 0x85fb, 0x85fc, 0xb3ae,
    +    0xb3af, 0xb3b0, 0xb3b1, 0x85fd, 0x85fe, 0x8641, 0x8642, 0x8643,
    +    0xb3b2, 0xb3b3, 0x8644, 0xb3b4, 0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8,
    +    0x8645, 0xb3b9, 0x8646, 0xb3ba, 0xb3bb, 0xb3bc, 0x8647, 0x8648,
    +    0xb3bd, 0x8649, 0x864a, 0x864b, 0xb3be, 0x864c, 0x864d, 0x864e,
    +    0x864f, 0x8650, 0x8651, 0x8652, 0xb3bf, 0xb3c0, 0x8653, 0xb3c1,
    +    0xb3c2, 0xb3c3, 0x8654, 0x8655, 0x8656, 0x8657, 0x8658, 0x8659,
    +    0xb3c4, 0xb3c5, 0x865a, 0x8661, 0xb3c6, 0x8662, 0x8663, 0x8664,
    +    0xb3c7, 0x8665, 0x8666, 0x8667, 0x8668, 0x8669, 0x866a, 0x866b,
    +    0xb3c8, 0x866c, 0x866d, 0x866e, 0x866f, 0xb3c9, 0x8670, 0x8671,
    +    0x8672, 0x8673, 0x8674, 0x8675, 0x8676, 0x8677, 0x8678, 0x8679,
    +    0x867a, 0x8681, 0x8682, 0x8683, 0x8684, 0x8685, 0x8686, 0x8687,
    +    0x8688, 0x8689, 0x868a, 0x868b, 0x868c, 0x868d, 0x868e, 0x868f,
    +    /* 0xb100 .. 0xb1ff */
    +    0x8690, 0x8691, 0x8692, 0x8693, 0x8694, 0x8695, 0x8696, 0x8697,
    +    0xb3ca, 0xb3cb, 0x8698, 0xb3cc, 0xb3cd, 0x8699, 0x869a, 0x869b,
    +    0xb3ce, 0x869c, 0xb3cf, 0xb3d0, 0x869d, 0x869e, 0x869f, 0x86a0,
    +    0xb3d1, 0xb3d2, 0x86a1, 0xb3d3, 0xb3d4, 0xb3d5, 0x86a2, 0x86a3,
    +    0x86a4, 0x86a5, 0x86a6, 0xb3d6, 0xb3d7, 0xb3d8, 0x86a7, 0x86a8,
    +    0xb3d9, 0x86a9, 0x86aa, 0x86ab, 0xb3da, 0x86ac, 0x86ad, 0x86ae,
    +    0x86af, 0x86b0, 0x86b1, 0x86b2, 0xb3db, 0xb3dc, 0x86b3, 0xb3dd,
    +    0xb3de, 0xb3df, 0x86b4, 0x86b5, 0x86b6, 0x86b7, 0x86b8, 0x86b9,
    +    0xb3e0, 0xb3e1, 0x86ba, 0x86bb, 0xb3e2, 0x86bc, 0x86bd, 0x86be,
    +    0xb3e3, 0x86bf, 0x86c0, 0x86c1, 0x86c2, 0x86c3, 0x86c4, 0x86c5,
    +    0xb3e4, 0xb3e5, 0x86c6, 0x86c7, 0xb3e6, 0xb3e7, 0x86c8, 0x86c9,
    +    0xb3e8, 0x86ca, 0x86cb, 0x86cc, 0xb3e9, 0x86cd, 0x86ce, 0x86cf,
    +    0xb3ea, 0x86d0, 0x86d1, 0x86d2, 0x86d3, 0x86d4, 0x86d5, 0x86d6,
    +    0x86d7, 0x86d8, 0x86d9, 0x86da, 0x86db, 0x86dc, 0x86dd, 0x86de,
    +    0x86df, 0x86e0, 0x86e1, 0x86e2, 0x86e3, 0x86e4, 0x86e5, 0x86e6,
    +    0xb3eb, 0xb3ec, 0x86e7, 0x86e8, 0xb3ed, 0x86e9, 0x86ea, 0x86eb,
    +    0xb3ee, 0x86ec, 0xb3ef, 0x86ed, 0x86ee, 0x86ef, 0x86f0, 0x86f1,
    +    0xb3f0, 0xb3f1, 0x86f2, 0xb3f2, 0x86f3, 0xb3f3, 0x86f4, 0x86f5,
    +    0x86f6, 0x86f7, 0xb3f4, 0xb3f5, 0xb3f6, 0x86f8, 0x86f9, 0x86fa,
    +    0xb3f7, 0x86fb, 0x86fc, 0x86fd, 0xb3f8, 0x86fe, 0x8741, 0x8742,
    +    0x8743, 0x8744, 0x8745, 0x8746, 0x8747, 0x8748, 0x8749, 0x874a,
    +    0xb3f9, 0x874b, 0x874c, 0x874d, 0x874e, 0x874f, 0x8750, 0x8751,
    +    0x8752, 0x8753, 0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759,
    +    0x875a, 0x8761, 0x8762, 0x8763, 0x8764, 0x8765, 0x8766, 0x8767,
    +    0x8768, 0x8769, 0x876a, 0x876b, 0x876c, 0x876d, 0x876e, 0x876f,
    +    0x8770, 0x8771, 0x8772, 0x8773, 0xb3fa, 0x8774, 0x8775, 0x8776,
    +    0xb3fb, 0x8777, 0x8778, 0x8779, 0xb3fc, 0x877a, 0x8781, 0x8782,
    +    0x8783, 0x8784, 0x8785, 0x8786, 0xb3fd, 0xb3fe, 0x8787, 0xb4a1,
    +    0x8788, 0x8789, 0x878a, 0x878b, 0x878c, 0x878d, 0x878e, 0x878f,
    +    0xb4a2, 0xb4a3, 0x8790, 0x8791, 0xb4a4, 0x8792, 0x8793, 0x8794,
    +    0xb4a5, 0x8795, 0x8796, 0x8797, 0x8798, 0x8799, 0x879a, 0x879b,
    +    0x879c, 0xb4a6, 0x879d, 0xb4a7, 0x879e, 0xb4a8, 0x879f, 0x87a0,
    +    /* 0xb200 .. 0xb2ff */
    +    0x87a1, 0x87a2, 0x87a3, 0x87a4, 0xb4a9, 0xb4aa, 0x87a5, 0x87a6,
    +    0xb4ab, 0x87a7, 0x87a8, 0xb4ac, 0xb4ad, 0x87a9, 0x87aa, 0x87ab,
    +    0x87ac, 0x87ad, 0x87ae, 0x87af, 0xb4ae, 0xb4af, 0x87b0, 0xb4b0,
    +    0x87b1, 0xb4b1, 0x87b2, 0x87b3, 0x87b4, 0x87b5, 0x87b6, 0x87b7,
    +    0xb4b2, 0x87b8, 0x87b9, 0x87ba, 0x87bb, 0x87bc, 0x87bd, 0x87be,
    +    0x87bf, 0x87c0, 0x87c1, 0x87c2, 0x87c3, 0x87c4, 0x87c5, 0x87c6,
    +    0x87c7, 0x87c8, 0x87c9, 0x87ca, 0xb4b3, 0x87cb, 0x87cc, 0x87cd,
    +    0x87ce, 0x87cf, 0x87d0, 0x87d1, 0xb4b4, 0x87d2, 0x87d3, 0x87d4,
    +    0x87d5, 0x87d6, 0x87d7, 0x87d8, 0x87d9, 0x87da, 0x87db, 0x87dc,
    +    0x87dd, 0x87de, 0x87df, 0x87e0, 0x87e1, 0x87e2, 0x87e3, 0x87e4,
    +    0x87e5, 0x87e6, 0x87e7, 0x87e8, 0x87e9, 0x87ea, 0x87eb, 0x87ec,
    +    0xb4b5, 0x87ed, 0x87ee, 0x87ef, 0xb4b6, 0x87f0, 0x87f1, 0x87f2,
    +    0xb4b7, 0x87f3, 0x87f4, 0x87f5, 0x87f6, 0x87f7, 0x87f8, 0x87f9,
    +    0xb4b8, 0xb4b9, 0x87fa, 0x87fb, 0x87fc, 0x87fd, 0x87fe, 0x8841,
    +    0x8842, 0x8843, 0x8844, 0x8845, 0xb4ba, 0xb4bb, 0x8846, 0x8847,
    +    0x8848, 0x8849, 0x884a, 0x884b, 0xb4bc, 0x884c, 0x884d, 0x884e,
    +    0x884f, 0x8850, 0x8851, 0x8852, 0xb4bd, 0xb4be, 0x8853, 0x8854,
    +    0x8855, 0xb4bf, 0x8856, 0x8857, 0x8858, 0x8859, 0x885a, 0x8861,
    +    0xb4c0, 0xb4c1, 0x8862, 0x8863, 0xb4c2, 0x8864, 0x8865, 0x8866,
    +    0xb4c3, 0xb4c4, 0xb4c5, 0x8867, 0x8868, 0x8869, 0x886a, 0x886b,
    +    0xb4c6, 0xb4c7, 0x886c, 0xb4c8, 0x886d, 0xb4c9, 0xb4ca, 0x886e,
    +    0x886f, 0x8870, 0xb4cb, 0x8871, 0xb4cc, 0x8872, 0x8873, 0x8874,
    +    0xb4cd, 0x8875, 0x8876, 0x8877, 0xb4ce, 0x8878, 0x8879, 0x887a,
    +    0x8881, 0x8882, 0x8883, 0x8884, 0x8885, 0x8886, 0x8887, 0x8888,
    +    0x8889, 0x888a, 0x888b, 0x888c, 0x888d, 0x888e, 0x888f, 0x8890,
    +    0xb4cf, 0xb4d0, 0x8891, 0x8892, 0xb4d1, 0x8893, 0x8894, 0x8895,
    +    0xb4d2, 0x8896, 0xb4d3, 0x8897, 0x8898, 0x8899, 0x889a, 0x889b,
    +    0xb4d4, 0xb4d5, 0x889c, 0xb4d6, 0x889d, 0xb4d7, 0x889e, 0x889f,
    +    0x88a0, 0x88a1, 0xb4d8, 0x88a2, 0xb4d9, 0xb4da, 0xb4db, 0x88a3,
    +    0xb4dc, 0x88a4, 0x88a5, 0xb4dd, 0xb4de, 0xb4df, 0xb4e0, 0xb4e1,
    +    0x88a6, 0x88a7, 0x88a8, 0xb4e2, 0xb4e3, 0xb4e4, 0x88a9, 0xb4e5,
    +    0xb4e6, 0xb4e7, 0xb4e8, 0xb4e9, 0x88aa, 0x88ab, 0x88ac, 0xb4ea,
    +    /* 0xb300 .. 0xb3ff */
    +    0xb4eb, 0xb4ec, 0x88ad, 0x88ae, 0xb4ed, 0x88af, 0x88b0, 0x88b1,
    +    0xb4ee, 0x88b2, 0x88b3, 0x88b4, 0x88b5, 0x88b6, 0x88b7, 0x88b8,
    +    0xb4ef, 0xb4f0, 0x88b9, 0xb4f1, 0xb4f2, 0xb4f3, 0x88ba, 0x88bb,
    +    0x88bc, 0x88bd, 0x88be, 0x88bf, 0xb4f4, 0x88c0, 0x88c1, 0x88c2,
    +    0x88c3, 0x88c4, 0x88c5, 0x88c6, 0x88c7, 0x88c8, 0x88c9, 0x88ca,
    +    0x88cb, 0x88cc, 0x88cd, 0x88ce, 0x88cf, 0x88d0, 0x88d1, 0x88d2,
    +    0x88d3, 0x88d4, 0x88d5, 0x88d6, 0x88d7, 0x88d8, 0x88d9, 0x88da,
    +    0x88db, 0x88dc, 0x88dd, 0x88de, 0x88df, 0x88e0, 0x88e1, 0x88e2,
    +    0x88e3, 0x88e4, 0x88e5, 0x88e6, 0x88e7, 0x88e8, 0x88e9, 0x88ea,
    +    0x88eb, 0x88ec, 0x88ed, 0x88ee, 0x88ef, 0x88f0, 0x88f1, 0x88f2,
    +    0x88f3, 0x88f4, 0x88f5, 0x88f6, 0xb4f5, 0xb4f6, 0xb4f7, 0x88f7,
    +    0xb4f8, 0x88f8, 0x88f9, 0xb4f9, 0xb4fa, 0x88fa, 0xb4fb, 0xb4fc,
    +    0x88fb, 0x88fc, 0x88fd, 0x88fe, 0xb4fd, 0xb4fe, 0x8941, 0xb5a1,
    +    0x8942, 0xb5a2, 0x8943, 0xb5a3, 0x8944, 0x8945, 0xb5a4, 0x8946,
    +    0xb5a5, 0xb5a6, 0x8947, 0x8948, 0xb5a7, 0x8949, 0x894a, 0x894b,
    +    0xb5a8, 0x894c, 0x894d, 0x894e, 0x894f, 0x8950, 0x8951, 0x8952,
    +    0xb5a9, 0xb5aa, 0x8953, 0xb5ab, 0xb5ac, 0xb5ad, 0x8954, 0x8955,
    +    0x8956, 0x8957, 0x8958, 0x8959, 0xb5ae, 0x895a, 0x8961, 0x8962,
    +    0xb5af, 0x8963, 0x8964, 0x8965, 0xb5b0, 0x8966, 0x8967, 0x8968,
    +    0x8969, 0x896a, 0x896b, 0x896c, 0x896d, 0x896e, 0x896f, 0x8970,
    +    0xb5b1, 0xb5b2, 0x8971, 0x8972, 0x8973, 0x8974, 0x8975, 0x8976,
    +    0xb5b3, 0x8977, 0x8978, 0x8979, 0xb5b4, 0x897a, 0x8981, 0x8982,
    +    0x8983, 0x8984, 0x8985, 0x8986, 0x8987, 0x8988, 0x8989, 0x898a,
    +    0x898b, 0x898c, 0x898d, 0x898e, 0x898f, 0x8990, 0x8991, 0x8992,
    +    0x8993, 0x8994, 0x8995, 0x8996, 0xb5b5, 0xb5b6, 0x8997, 0x8998,
    +    0xb5b7, 0x8999, 0x899a, 0xb5b8, 0xb5b9, 0x899b, 0xb5ba, 0x899c,
    +    0xb5bb, 0x899d, 0x899e, 0x899f, 0xb5bc, 0xb5bd, 0x89a0, 0xb5be,
    +    0x89a1, 0xb5bf, 0x89a2, 0xb5c0, 0x89a3, 0xb5c1, 0x89a4, 0x89a5,
    +    0xb5c2, 0x89a6, 0x89a7, 0x89a8, 0xb5c3, 0x89a9, 0x89aa, 0x89ab,
    +    0xb5c4, 0x89ac, 0x89ad, 0x89ae, 0x89af, 0x89b0, 0x89b1, 0x89b2,
    +    0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7, 0x89b8, 0x89b9, 0x89ba,
    +    0x89bb, 0x89bc, 0x89bd, 0x89be, 0xb5c5, 0x89bf, 0x89c0, 0x89c1,
    +    /* 0xb400 .. 0xb4ff */
    +    0x89c2, 0x89c3, 0x89c4, 0x89c5, 0x89c6, 0x89c7, 0x89c8, 0x89c9,
    +    0x89ca, 0x89cb, 0x89cc, 0x89cd, 0x89ce, 0x89cf, 0x89d0, 0x89d1,
    +    0xb5c6, 0x89d2, 0x89d3, 0x89d4, 0x89d5, 0x89d6, 0x89d7, 0x89d8,
    +    0xb5c7, 0x89d9, 0x89da, 0x89db, 0xb5c8, 0x89dc, 0x89dd, 0x89de,
    +    0xb5c9, 0x89df, 0x89e0, 0x89e1, 0x89e2, 0x89e3, 0x89e4, 0x89e5,
    +    0xb5ca, 0xb5cb, 0x89e6, 0xb5cc, 0x89e7, 0x89e8, 0x89e9, 0x89ea,
    +    0x89eb, 0x89ec, 0x89ed, 0x89ee, 0xb5cd, 0x89ef, 0x89f0, 0x89f1,
    +    0x89f2, 0x89f3, 0x89f4, 0x89f5, 0x89f6, 0x89f7, 0x89f8, 0x89f9,
    +    0x89fa, 0x89fb, 0x89fc, 0x89fd, 0x89fe, 0x8a41, 0x8a42, 0x8a43,
    +    0x8a44, 0x8a45, 0x8a46, 0x8a47, 0x8a48, 0x8a49, 0x8a4a, 0x8a4b,
    +    0xb5ce, 0xb5cf, 0x8a4c, 0x8a4d, 0xb5d0, 0x8a4e, 0x8a4f, 0x8a50,
    +    0xb5d1, 0x8a51, 0x8a52, 0x8a53, 0x8a54, 0x8a55, 0x8a56, 0x8a57,
    +    0xb5d2, 0xb5d3, 0x8a58, 0xb5d4, 0x8a59, 0xb5d5, 0x8a5a, 0x8a61,
    +    0x8a62, 0x8a63, 0x8a64, 0x8a65, 0xb5d6, 0x8a66, 0x8a67, 0x8a68,
    +    0x8a69, 0x8a6a, 0x8a6b, 0x8a6c, 0x8a6d, 0x8a6e, 0x8a6f, 0x8a70,
    +    0x8a71, 0x8a72, 0x8a73, 0x8a74, 0x8a75, 0x8a76, 0x8a77, 0x8a78,
    +    0xb5d7, 0x8a79, 0x8a7a, 0x8a81, 0x8a82, 0x8a83, 0x8a84, 0x8a85,
    +    0xb5d8, 0x8a86, 0x8a87, 0x8a88, 0x8a89, 0x8a8a, 0x8a8b, 0x8a8c,
    +    0x8a8d, 0x8a8e, 0x8a8f, 0x8a90, 0x8a91, 0x8a92, 0x8a93, 0x8a94,
    +    0x8a95, 0x8a96, 0x8a97, 0x8a98, 0x8a99, 0xb5d9, 0x8a9a, 0x8a9b,
    +    0x8a9c, 0x8a9d, 0x8a9e, 0x8a9f, 0xb5da, 0x8aa0, 0x8aa1, 0x8aa2,
    +    0xb5db, 0x8aa3, 0x8aa4, 0x8aa5, 0xb5dc, 0x8aa6, 0x8aa7, 0x8aa8,
    +    0x8aa9, 0x8aaa, 0x8aab, 0x8aac, 0x8aad, 0xb5dd, 0x8aae, 0xb5de,
    +    0x8aaf, 0xb5df, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3, 0x8ab4, 0x8ab5,
    +    0xb5e0, 0x8ab6, 0x8ab7, 0x8ab8, 0xb5e1, 0x8ab9, 0x8aba, 0x8abb,
    +    0xb5e2, 0x8abc, 0x8abd, 0x8abe, 0x8abf, 0x8ac0, 0x8ac1, 0x8ac2,
    +    0xb5e3, 0x8ac3, 0x8ac4, 0x8ac5, 0x8ac6, 0xb5e4, 0x8ac7, 0x8ac8,
    +    0x8ac9, 0x8aca, 0x8acb, 0x8acc, 0xb5e5, 0xb5e6, 0x8acd, 0x8ace,
    +    0xb5e7, 0x8acf, 0x8ad0, 0xb5e8, 0xb5e9, 0x8ad1, 0xb5ea, 0x8ad2,
    +    0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0xb5eb, 0xb5ec, 0x8ad7, 0xb5ed,
    +    0x8ad8, 0xb5ee, 0x8ad9, 0x8ada, 0x8adb, 0x8adc, 0x8add, 0x8ade,
    +    0xb5ef, 0x8adf, 0x8ae0, 0x8ae1, 0x8ae2, 0x8ae3, 0x8ae4, 0x8ae5,
    +    /* 0xb500 .. 0xb5ff */
    +    0x8ae6, 0x8ae7, 0x8ae8, 0x8ae9, 0x8aea, 0x8aeb, 0x8aec, 0x8aed,
    +    0x8aee, 0x8aef, 0x8af0, 0x8af1, 0x8af2, 0x8af3, 0x8af4, 0x8af5,
    +    0x8af6, 0x8af7, 0x8af8, 0x8af9, 0xb5f0, 0xb5f1, 0x8afa, 0x8afb,
    +    0xb5f2, 0x8afc, 0x8afd, 0xb5f3, 0xb5f4, 0x8afe, 0x8b41, 0x8b42,
    +    0x8b43, 0x8b44, 0x8b45, 0x8b46, 0xb5f5, 0xb5f6, 0x8b47, 0xb5f7,
    +    0xb5f8, 0xb5f9, 0xb5fa, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b, 0x8b4c,
    +    0xb5fb, 0xb5fc, 0x8b4d, 0x8b4e, 0xb5fd, 0x8b4f, 0x8b50, 0x8b51,
    +    0xb5fe, 0x8b52, 0x8b53, 0x8b54, 0x8b55, 0x8b56, 0x8b57, 0x8b58,
    +    0xb6a1, 0xb6a2, 0x8b59, 0xb6a3, 0xb6a4, 0xb6a5, 0x8b5a, 0x8b61,
    +    0x8b62, 0x8b63, 0x8b64, 0xb6a6, 0xb6a7, 0xb6a8, 0x8b65, 0x8b66,
    +    0xb6a9, 0x8b67, 0x8b68, 0x8b69, 0xb6aa, 0x8b6a, 0x8b6b, 0x8b6c,
    +    0x8b6d, 0x8b6e, 0x8b6f, 0x8b70, 0xb6ab, 0xb6ac, 0x8b71, 0xb6ad,
    +    0xb6ae, 0xb6af, 0x8b72, 0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77,
    +    0x8b78, 0x8b79, 0x8b7a, 0x8b81, 0x8b82, 0x8b83, 0x8b84, 0x8b85,
    +    0x8b86, 0x8b87, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0x8b8d,
    +    0x8b8e, 0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93, 0x8b94, 0x8b95,
    +    0x8b96, 0x8b97, 0x8b98, 0x8b99, 0x8b9a, 0x8b9b, 0x8b9c, 0x8b9d,
    +    0x8b9e, 0x8b9f, 0x8ba0, 0x8ba1, 0x8ba2, 0x8ba3, 0x8ba4, 0x8ba5,
    +    0x8ba6, 0x8ba7, 0x8ba8, 0x8ba9, 0x8baa, 0x8bab, 0x8bac, 0x8bad,
    +    0x8bae, 0x8baf, 0x8bb0, 0x8bb1, 0x8bb2, 0x8bb3, 0x8bb4, 0x8bb5,
    +    0xb6b0, 0xb6b1, 0x8bb6, 0x8bb7, 0xb6b2, 0x8bb8, 0x8bb9, 0x8bba,
    +    0xb6b3, 0x8bbb, 0xb6b4, 0xb6b5, 0x8bbc, 0x8bbd, 0x8bbe, 0x8bbf,
    +    0xb6b6, 0xb6b7, 0x8bc0, 0xb6b8, 0xb6b9, 0xb6ba, 0x8bc1, 0x8bc2,
    +    0x8bc3, 0x8bc4, 0x8bc5, 0xb6bb, 0xb6bc, 0xb6bd, 0x8bc6, 0x8bc7,
    +    0xb6be, 0x8bc8, 0x8bc9, 0x8bca, 0xb6bf, 0x8bcb, 0x8bcc, 0x8bcd,
    +    0x8bce, 0x8bcf, 0x8bd0, 0x8bd1, 0xb6c0, 0xb6c1, 0x8bd2, 0xb6c2,
    +    0xb6c3, 0xb6c4, 0x8bd3, 0x8bd4, 0x8bd5, 0x8bd6, 0x8bd7, 0x8bd8,
    +    0xb6c5, 0x8bd9, 0x8bda, 0x8bdb, 0x8bdc, 0x8bdd, 0x8bde, 0x8bdf,
    +    0x8be0, 0x8be1, 0x8be2, 0x8be3, 0x8be4, 0x8be5, 0x8be6, 0x8be7,
    +    0x8be8, 0x8be9, 0x8bea, 0x8beb, 0xb6c6, 0x8bec, 0x8bed, 0x8bee,
    +    0x8bef, 0x8bf0, 0x8bf1, 0x8bf2, 0x8bf3, 0x8bf4, 0x8bf5, 0x8bf6,
    +    0x8bf7, 0x8bf8, 0x8bf9, 0x8bfa, 0x8bfb, 0x8bfc, 0x8bfd, 0x8bfe,
    +    /* 0xb600 .. 0xb6ff */
    +    0x8c41, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c46, 0x8c47, 0x8c48,
    +    0x8c49, 0x8c4a, 0x8c4b, 0x8c4c, 0x8c4d, 0x8c4e, 0x8c4f, 0x8c50,
    +    0xb6c7, 0xb6c8, 0x8c51, 0x8c52, 0xb6c9, 0x8c53, 0x8c54, 0x8c55,
    +    0xb6ca, 0x8c56, 0x8c57, 0x8c58, 0x8c59, 0x8c5a, 0x8c61, 0x8c62,
    +    0x8c63, 0x8c64, 0x8c65, 0x8c66, 0x8c67, 0xb6cb, 0x8c68, 0x8c69,
    +    0x8c6a, 0x8c6b, 0x8c6c, 0x8c6d, 0xb6cc, 0x8c6e, 0x8c6f, 0x8c70,
    +    0x8c71, 0x8c72, 0x8c73, 0x8c74, 0xb6cd, 0x8c75, 0x8c76, 0x8c77,
    +    0x8c78, 0x8c79, 0x8c7a, 0x8c81, 0x8c82, 0x8c83, 0x8c84, 0x8c85,
    +    0x8c86, 0x8c87, 0x8c88, 0x8c89, 0x8c8a, 0x8c8b, 0x8c8c, 0x8c8d,
    +    0xb6ce, 0x8c8e, 0x8c8f, 0x8c90, 0x8c91, 0x8c92, 0x8c93, 0x8c94,
    +    0x8c95, 0x8c96, 0x8c97, 0x8c98, 0x8c99, 0x8c9a, 0x8c9b, 0x8c9c,
    +    0x8c9d, 0x8c9e, 0x8c9f, 0x8ca0, 0x8ca1, 0x8ca2, 0x8ca3, 0x8ca4,
    +    0x8ca5, 0x8ca6, 0x8ca7, 0x8ca8, 0xb6cf, 0x8ca9, 0x8caa, 0x8cab,
    +    0xb6d0, 0x8cac, 0x8cad, 0x8cae, 0x8caf, 0x8cb0, 0x8cb1, 0x8cb2,
    +    0x8cb3, 0x8cb4, 0x8cb5, 0x8cb6, 0x8cb7, 0x8cb8, 0x8cb9, 0x8cba,
    +    0x8cbb, 0x8cbc, 0x8cbd, 0x8cbe, 0x8cbf, 0x8cc0, 0x8cc1, 0x8cc2,
    +    0x8cc3, 0x8cc4, 0x8cc5, 0x8cc6, 0x8cc7, 0x8cc8, 0x8cc9, 0x8cca,
    +    0x8ccb, 0x8ccc, 0x8ccd, 0x8cce, 0x8ccf, 0x8cd0, 0x8cd1, 0x8cd2,
    +    0x8cd3, 0x8cd4, 0x8cd5, 0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda,
    +    0x8cdb, 0x8cdc, 0x8cdd, 0x8cde, 0xb6d1, 0xb6d2, 0x8cdf, 0x8ce0,
    +    0xb6d3, 0x8ce1, 0x8ce2, 0x8ce3, 0xb6d4, 0x8ce4, 0x8ce5, 0x8ce6,
    +    0x8ce7, 0x8ce8, 0x8ce9, 0xb6d5, 0xb6d6, 0x8cea, 0x8ceb, 0x8cec,
    +    0x8ced, 0xb6d7, 0x8cee, 0x8cef, 0x8cf0, 0x8cf1, 0x8cf2, 0x8cf3,
    +    0x8cf4, 0x8cf5, 0x8cf6, 0x8cf7, 0x8cf8, 0x8cf9, 0x8cfa, 0x8cfb,
    +    0x8cfc, 0x8cfd, 0x8cfe, 0x8d41, 0x8d42, 0x8d43, 0x8d44, 0x8d45,
    +    0x8d46, 0x8d47, 0x8d48, 0x8d49, 0x8d4a, 0x8d4b, 0x8d4c, 0x8d4d,
    +    0x8d4e, 0x8d4f, 0x8d50, 0x8d51, 0xb6d8, 0x8d52, 0x8d53, 0x8d54,
    +    0x8d55, 0x8d56, 0x8d57, 0x8d58, 0x8d59, 0x8d5a, 0x8d61, 0x8d62,
    +    0x8d63, 0x8d64, 0x8d65, 0x8d66, 0x8d67, 0x8d68, 0x8d69, 0x8d6a,
    +    0x8d6b, 0x8d6c, 0x8d6d, 0x8d6e, 0x8d6f, 0x8d70, 0x8d71, 0x8d72,
    +    0xb6d9, 0x8d73, 0x8d74, 0x8d75, 0xb6da, 0x8d76, 0x8d77, 0x8d78,
    +    0xb6db, 0x8d79, 0x8d7a, 0x8d81, 0x8d82, 0x8d83, 0x8d84, 0x8d85,
    +    /* 0xb700 .. 0xb7ff */
    +    0xb6dc, 0xb6dd, 0x8d86, 0x8d87, 0x8d88, 0xb6de, 0x8d89, 0x8d8a,
    +    0x8d8b, 0x8d8c, 0x8d8d, 0x8d8e, 0x8d8f, 0x8d90, 0x8d91, 0x8d92,
    +    0x8d93, 0x8d94, 0x8d95, 0x8d96, 0x8d97, 0x8d98, 0x8d99, 0x8d9a,
    +    0x8d9b, 0x8d9c, 0x8d9d, 0x8d9e, 0x8d9f, 0x8da0, 0x8da1, 0x8da2,
    +    0x8da3, 0x8da4, 0x8da5, 0x8da6, 0x8da7, 0x8da8, 0x8da9, 0x8daa,
    +    0xb6df, 0xb6e0, 0x8dab, 0x8dac, 0xb6e1, 0x8dad, 0x8dae, 0xb6e2,
    +    0xb6e3, 0x8daf, 0x8db0, 0x8db1, 0x8db2, 0x8db3, 0x8db4, 0x8db5,
    +    0xb6e4, 0xb6e5, 0x8db6, 0xb6e6, 0x8db7, 0x8db8, 0x8db9, 0x8dba,
    +    0x8dbb, 0x8dbc, 0x8dbd, 0x8dbe, 0xb6e7, 0x8dbf, 0x8dc0, 0x8dc1,
    +    0xb6e8, 0x8dc2, 0x8dc3, 0x8dc4, 0xb6e9, 0x8dc5, 0x8dc6, 0x8dc7,
    +    0x8dc8, 0x8dc9, 0x8dca, 0x8dcb, 0xb6ea, 0xb6eb, 0x8dcc, 0x8dcd,
    +    0x8dce, 0x8dcf, 0x8dd0, 0x8dd1, 0x8dd2, 0x8dd3, 0x8dd4, 0x8dd5,
    +    0xb6ec, 0x8dd6, 0x8dd7, 0x8dd8, 0xb6ed, 0x8dd9, 0x8dda, 0x8ddb,
    +    0xb6ee, 0x8ddc, 0x8ddd, 0x8dde, 0x8ddf, 0x8de0, 0x8de1, 0x8de2,
    +    0xb6ef, 0xb6f0, 0x8de3, 0xb6f1, 0x8de4, 0xb6f2, 0x8de5, 0x8de6,
    +    0x8de7, 0x8de8, 0x8de9, 0x8dea, 0xb6f3, 0xb6f4, 0x8deb, 0x8dec,
    +    0xb6f5, 0x8ded, 0x8dee, 0x8def, 0xb6f6, 0x8df0, 0x8df1, 0x8df2,
    +    0x8df3, 0x8df4, 0x8df5, 0x8df6, 0xb6f7, 0xb6f8, 0x8df7, 0xb6f9,
    +    0xb6fa, 0xb6fb, 0xb6fc, 0x8df8, 0x8df9, 0x8dfa, 0xb6fd, 0xb6fe,
    +    0xb7a1, 0xb7a2, 0x8dfb, 0x8dfc, 0xb7a3, 0x8dfd, 0x8dfe, 0x8e41,
    +    0xb7a4, 0x8e42, 0x8e43, 0x8e44, 0x8e45, 0x8e46, 0x8e47, 0x8e48,
    +    0xb7a5, 0xb7a6, 0x8e49, 0xb7a7, 0xb7a8, 0xb7a9, 0x8e4a, 0x8e4b,
    +    0x8e4c, 0x8e4d, 0x8e4e, 0x8e4f, 0xb7aa, 0xb7ab, 0x8e50, 0x8e51,
    +    0xb7ac, 0x8e52, 0x8e53, 0x8e54, 0x8e55, 0x8e56, 0x8e57, 0x8e58,
    +    0x8e59, 0x8e5a, 0x8e61, 0x8e62, 0x8e63, 0x8e64, 0x8e65, 0xb7ad,
    +    0x8e66, 0xb7ae, 0x8e67, 0x8e68, 0x8e69, 0x8e6a, 0x8e6b, 0x8e6c,
    +    0x8e6d, 0x8e6e, 0x8e6f, 0x8e70, 0x8e71, 0x8e72, 0x8e73, 0x8e74,
    +    0x8e75, 0x8e76, 0x8e77, 0x8e78, 0x8e79, 0x8e7a, 0x8e81, 0x8e82,
    +    0x8e83, 0x8e84, 0x8e85, 0x8e86, 0x8e87, 0x8e88, 0x8e89, 0x8e8a,
    +    0x8e8b, 0x8e8c, 0x8e8d, 0x8e8e, 0xb7af, 0xb7b0, 0x8e8f, 0x8e90,
    +    0xb7b1, 0x8e91, 0x8e92, 0x8e93, 0xb7b2, 0x8e94, 0x8e95, 0x8e96,
    +    0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0xb7b3, 0xb7b4, 0x8e9b, 0xb7b5,
    +    /* 0xb800 .. 0xb8ff */
    +    0xb7b6, 0xb7b7, 0x8e9c, 0x8e9d, 0x8e9e, 0x8e9f, 0x8ea0, 0xb7b8,
    +    0xb7b9, 0xb7ba, 0x8ea1, 0x8ea2, 0xb7bb, 0x8ea3, 0x8ea4, 0x8ea5,
    +    0xb7bc, 0x8ea6, 0x8ea7, 0x8ea8, 0x8ea9, 0x8eaa, 0x8eab, 0x8eac,
    +    0xb7bd, 0xb7be, 0x8ead, 0xb7bf, 0x8eae, 0xb7c0, 0x8eaf, 0x8eb0,
    +    0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0xb7c1, 0xb7c2, 0x8eb5, 0x8eb6,
    +    0xb7c3, 0x8eb7, 0x8eb8, 0x8eb9, 0xb7c4, 0x8eba, 0x8ebb, 0x8ebc,
    +    0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0, 0xb7c5, 0xb7c6, 0x8ec1, 0xb7c7,
    +    0xb7c8, 0xb7c9, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7,
    +    0xb7ca, 0x8ec8, 0x8ec9, 0x8eca, 0xb7cb, 0x8ecb, 0x8ecc, 0x8ecd,
    +    0x8ece, 0x8ecf, 0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5,
    +    0x8ed6, 0xb7cc, 0x8ed7, 0xb7cd, 0x8ed8, 0x8ed9, 0x8eda, 0x8edb,
    +    0x8edc, 0x8edd, 0x8ede, 0x8edf, 0xb7ce, 0xb7cf, 0x8ee0, 0x8ee1,
    +    0xb7d0, 0x8ee2, 0x8ee3, 0x8ee4, 0xb7d1, 0x8ee5, 0x8ee6, 0x8ee7,
    +    0x8ee8, 0x8ee9, 0x8eea, 0x8eeb, 0xb7d2, 0xb7d3, 0x8eec, 0xb7d4,
    +    0x8eed, 0xb7d5, 0x8eee, 0x8eef, 0x8ef0, 0x8ef1, 0x8ef2, 0x8ef3,
    +    0xb7d6, 0x8ef4, 0x8ef5, 0x8ef6, 0xb7d7, 0x8ef7, 0x8ef8, 0x8ef9,
    +    0x8efa, 0x8efb, 0x8efc, 0x8efd, 0x8efe, 0x8f41, 0x8f42, 0x8f43,
    +    0x8f44, 0x8f45, 0x8f46, 0x8f47, 0x8f48, 0xb7d8, 0x8f49, 0x8f4a,
    +    0x8f4b, 0x8f4c, 0x8f4d, 0x8f4e, 0x8f4f, 0x8f50, 0x8f51, 0x8f52,
    +    0x8f53, 0x8f54, 0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a,
    +    0x8f61, 0x8f62, 0x8f63, 0x8f64, 0x8f65, 0x8f66, 0x8f67, 0x8f68,
    +    0xb7d9, 0x8f69, 0x8f6a, 0x8f6b, 0x8f6c, 0x8f6d, 0x8f6e, 0x8f6f,
    +    0xb7da, 0x8f70, 0x8f71, 0x8f72, 0xb7db, 0x8f73, 0x8f74, 0x8f75,
    +    0xb7dc, 0x8f76, 0x8f77, 0x8f78, 0x8f79, 0x8f7a, 0x8f81, 0x8f82,
    +    0xb7dd, 0xb7de, 0x8f83, 0xb7df, 0x8f84, 0xb7e0, 0x8f85, 0x8f86,
    +    0x8f87, 0x8f88, 0x8f89, 0x8f8a, 0xb7e1, 0x8f8b, 0x8f8c, 0x8f8d,
    +    0xb7e2, 0x8f8e, 0x8f8f, 0x8f90, 0xb7e3, 0x8f91, 0x8f92, 0x8f93,
    +    0x8f94, 0x8f95, 0x8f96, 0x8f97, 0x8f98, 0xb7e4, 0x8f99, 0xb7e5,
    +    0x8f9a, 0xb7e6, 0x8f9b, 0x8f9c, 0x8f9d, 0x8f9e, 0x8f9f, 0x8fa0,
    +    0xb7e7, 0xb7e8, 0x8fa1, 0x8fa2, 0xb7e9, 0x8fa3, 0x8fa4, 0x8fa5,
    +    0xb7ea, 0x8fa6, 0x8fa7, 0x8fa8, 0x8fa9, 0x8faa, 0x8fab, 0x8fac,
    +    0xb7eb, 0xb7ec, 0x8fad, 0xb7ed, 0x8fae, 0xb7ee, 0x8faf, 0x8fb0,
    +    /* 0xb900 .. 0xb9ff */
    +    0x8fb1, 0x8fb2, 0x8fb3, 0x8fb4, 0xb7ef, 0x8fb5, 0x8fb6, 0x8fb7,
    +    0x8fb8, 0x8fb9, 0x8fba, 0x8fbb, 0x8fbc, 0x8fbd, 0x8fbe, 0x8fbf,
    +    0x8fc0, 0x8fc1, 0x8fc2, 0x8fc3, 0x8fc4, 0x8fc5, 0x8fc6, 0x8fc7,
    +    0xb7f0, 0x8fc8, 0x8fc9, 0x8fca, 0x8fcb, 0x8fcc, 0x8fcd, 0x8fce,
    +    0xb7f1, 0x8fcf, 0x8fd0, 0x8fd1, 0x8fd2, 0x8fd3, 0x8fd4, 0x8fd5,
    +    0x8fd6, 0x8fd7, 0x8fd8, 0x8fd9, 0x8fda, 0x8fdb, 0x8fdc, 0x8fdd,
    +    0x8fde, 0x8fdf, 0x8fe0, 0x8fe1, 0x8fe2, 0x8fe3, 0x8fe4, 0x8fe5,
    +    0x8fe6, 0x8fe7, 0x8fe8, 0x8fe9, 0xb7f2, 0xb7f3, 0x8fea, 0x8feb,
    +    0xb7f4, 0x8fec, 0x8fed, 0x8fee, 0xb7f5, 0x8fef, 0x8ff0, 0x8ff1,
    +    0x8ff2, 0x8ff3, 0x8ff4, 0x8ff5, 0xb7f6, 0x8ff6, 0x8ff7, 0xb7f7,
    +    0x8ff8, 0xb7f8, 0x8ff9, 0x8ffa, 0x8ffb, 0x8ffc, 0x8ffd, 0x8ffe,
    +    0xb7f9, 0xb7fa, 0x9041, 0x9042, 0xb7fb, 0x9043, 0x9044, 0x9045,
    +    0xb7fc, 0x9046, 0x9047, 0x9048, 0x9049, 0x904a, 0x904b, 0x904c,
    +    0xb7fd, 0xb7fe, 0x904d, 0xb8a1, 0x904e, 0xb8a2, 0x904f, 0x9050,
    +    0x9051, 0x9052, 0x9053, 0x9054, 0xb8a3, 0xb8a4, 0x9055, 0x9056,
    +    0xb8a5, 0x9057, 0x9058, 0x9059, 0xb8a6, 0x905a, 0x9061, 0x9062,
    +    0x9063, 0x9064, 0x9065, 0x9066, 0xb8a7, 0xb8a8, 0x9067, 0xb8a9,
    +    0x9068, 0xb8aa, 0xb8ab, 0x9069, 0x906a, 0xb8ac, 0xb8ad, 0x906b,
    +    0x906c, 0x906d, 0x906e, 0x906f, 0x9070, 0x9071, 0x9072, 0x9073,
    +    0x9074, 0x9075, 0x9076, 0x9077, 0x9078, 0x9079, 0x907a, 0x9081,
    +    0x9082, 0x9083, 0x9084, 0x9085, 0x9086, 0x9087, 0x9088, 0x9089,
    +    0x908a, 0x908b, 0x908c, 0x908d, 0xb8ae, 0xb8af, 0x908e, 0x908f,
    +    0xb8b0, 0x9090, 0x9091, 0x9092, 0xb8b1, 0x9093, 0x9094, 0x9095,
    +    0x9096, 0x9097, 0x9098, 0x9099, 0xb8b2, 0xb8b3, 0x909a, 0xb8b4,
    +    0x909b, 0xb8b5, 0x909c, 0x909d, 0x909e, 0x909f, 0x90a0, 0x90a1,
    +    0xb8b6, 0xb8b7, 0x90a2, 0x90a3, 0xb8b8, 0x90a4, 0xb8b9, 0xb8ba,
    +    0xb8bb, 0xb8bc, 0xb8bd, 0x90a5, 0x90a6, 0x90a7, 0x90a8, 0x90a9,
    +    0xb8be, 0xb8bf, 0x90aa, 0xb8c0, 0x90ab, 0xb8c1, 0xb8c2, 0x90ac,
    +    0x90ad, 0xb8c3, 0x90ae, 0xb8c4, 0xb8c5, 0xb8c6, 0x90af, 0x90b0,
    +    0xb8c7, 0x90b1, 0x90b2, 0x90b3, 0xb8c8, 0x90b4, 0x90b5, 0x90b6,
    +    0x90b7, 0x90b8, 0x90b9, 0x90ba, 0xb8c9, 0xb8ca, 0x90bb, 0xb8cb,
    +    0xb8cc, 0xb8cd, 0xb8ce, 0x90bc, 0x90bd, 0x90be, 0x90bf, 0x90c0,
    +    /* 0xba00 .. 0xbaff */
    +    0xb8cf, 0xb8d0, 0x90c1, 0x90c2, 0x90c3, 0x90c4, 0x90c5, 0x90c6,
    +    0xb8d1, 0x90c7, 0x90c8, 0x90c9, 0x90ca, 0x90cb, 0x90cc, 0x90cd,
    +    0x90ce, 0x90cf, 0x90d0, 0x90d1, 0x90d2, 0xb8d2, 0x90d3, 0x90d4,
    +    0x90d5, 0x90d6, 0x90d7, 0x90d8, 0x90d9, 0x90da, 0x90db, 0x90dc,
    +    0x90dd, 0x90de, 0x90df, 0x90e0, 0x90e1, 0x90e2, 0x90e3, 0x90e4,
    +    0x90e5, 0x90e6, 0x90e7, 0x90e8, 0x90e9, 0x90ea, 0x90eb, 0x90ec,
    +    0x90ed, 0x90ee, 0x90ef, 0x90f0, 0x90f1, 0x90f2, 0x90f3, 0x90f4,
    +    0xb8d3, 0xb8d4, 0x90f5, 0x90f6, 0xb8d5, 0x90f7, 0x90f8, 0x90f9,
    +    0xb8d6, 0x90fa, 0xb8d7, 0x90fb, 0x90fc, 0x90fd, 0x90fe, 0x9141,
    +    0xb8d8, 0xb8d9, 0x9142, 0xb8da, 0x9143, 0xb8db, 0xb8dc, 0x9144,
    +    0x9145, 0x9146, 0x9147, 0xb8dd, 0xb8de, 0xb8df, 0x9148, 0x9149,
    +    0xb8e0, 0x914a, 0x914b, 0x914c, 0xb8e1, 0x914d, 0x914e, 0x914f,
    +    0x9150, 0x9151, 0x9152, 0x9153, 0xb8e2, 0xb8e3, 0x9154, 0xb8e4,
    +    0xb8e5, 0xb8e6, 0x9155, 0x9156, 0x9157, 0x9158, 0x9159, 0x915a,
    +    0xb8e7, 0xb8e8, 0x9161, 0x9162, 0xb8e9, 0x9163, 0x9164, 0x9165,
    +    0xb8ea, 0x9166, 0x9167, 0x9168, 0x9169, 0x916a, 0x916b, 0x916c,
    +    0x916d, 0x916e, 0x916f, 0xb8eb, 0xb8ec, 0xb8ed, 0x9170, 0xb8ee,
    +    0x9171, 0x9172, 0x9173, 0x9174, 0xb8ef, 0x9175, 0x9176, 0x9177,
    +    0x9178, 0x9179, 0x917a, 0x9181, 0x9182, 0x9183, 0x9184, 0x9185,
    +    0x9186, 0x9187, 0x9188, 0x9189, 0x918a, 0x918b, 0x918c, 0x918d,
    +    0x918e, 0x918f, 0x9190, 0x9191, 0x9192, 0x9193, 0x9194, 0x9195,
    +    0xb8f0, 0xb8f1, 0x9196, 0xb8f2, 0xb8f3, 0x9197, 0x9198, 0x9199,
    +    0xb8f4, 0x919a, 0xb8f5, 0x919b, 0x919c, 0x919d, 0x919e, 0x919f,
    +    0xb8f6, 0xb8f7, 0x91a0, 0xb8f8, 0x91a1, 0xb8f9, 0x91a2, 0x91a3,
    +    0x91a4, 0x91a5, 0x91a6, 0x91a7, 0xb8fa, 0x91a8, 0x91a9, 0x91aa,
    +    0xb8fb, 0x91ab, 0x91ac, 0x91ad, 0x91ae, 0x91af, 0x91b0, 0x91b1,
    +    0x91b2, 0x91b3, 0x91b4, 0x91b5, 0x91b6, 0x91b7, 0x91b8, 0x91b9,
    +    0xb8fc, 0xb8fd, 0x91ba, 0x91bb, 0x91bc, 0x91bd, 0x91be, 0x91bf,
    +    0x91c0, 0x91c1, 0x91c2, 0x91c3, 0x91c4, 0x91c5, 0x91c6, 0x91c7,
    +    0x91c8, 0x91c9, 0x91ca, 0x91cb, 0x91cc, 0x91cd, 0x91ce, 0x91cf,
    +    0x91d0, 0x91d1, 0x91d2, 0x91d3, 0x91d4, 0x91d5, 0x91d6, 0x91d7,
    +    0x91d8, 0x91d9, 0x91da, 0x91db, 0xb8fe, 0x91dc, 0x91dd, 0x91de,
    +    /* 0xbb00 .. 0xbbff */
    +    0xb9a1, 0x91df, 0x91e0, 0x91e1, 0xb9a2, 0x91e2, 0x91e3, 0x91e4,
    +    0x91e5, 0x91e6, 0x91e7, 0x91e8, 0x91e9, 0xb9a3, 0x91ea, 0xb9a4,
    +    0x91eb, 0xb9a5, 0x91ec, 0x91ed, 0x91ee, 0x91ef, 0x91f0, 0x91f1,
    +    0xb9a6, 0x91f2, 0x91f3, 0x91f4, 0xb9a7, 0x91f5, 0x91f6, 0x91f7,
    +    0xb9a8, 0x91f8, 0x91f9, 0x91fa, 0x91fb, 0x91fc, 0x91fd, 0x91fe,
    +    0x9241, 0xb9a9, 0x9242, 0xb9aa, 0x9243, 0x9244, 0x9245, 0x9246,
    +    0x9247, 0x9248, 0x9249, 0x924a, 0xb9ab, 0xb9ac, 0xb9ad, 0x924b,
    +    0xb9ae, 0x924c, 0x924d, 0xb9af, 0xb9b0, 0xb9b1, 0xb9b2, 0x924e,
    +    0x924f, 0x9250, 0x9251, 0x9252, 0xb9b3, 0xb9b4, 0x9253, 0xb9b5,
    +    0x9254, 0xb9b6, 0x9255, 0x9256, 0x9257, 0xb9b7, 0x9258, 0xb9b8,
    +    0xb9b9, 0x9259, 0x925a, 0x9261, 0xb9ba, 0x9262, 0x9263, 0x9264,
    +    0xb9bb, 0x9265, 0x9266, 0x9267, 0x9268, 0x9269, 0x926a, 0x926b,
    +    0x926c, 0xb9bc, 0x926d, 0xb9bd, 0x926e, 0x926f, 0x9270, 0x9271,
    +    0x9272, 0x9273, 0x9274, 0x9275, 0xb9be, 0x9276, 0x9277, 0x9278,
    +    0x9279, 0x927a, 0x9281, 0x9282, 0x9283, 0x9284, 0x9285, 0x9286,
    +    0x9287, 0x9288, 0x9289, 0x928a, 0x928b, 0x928c, 0x928d, 0x928e,
    +    0x928f, 0x9290, 0x9291, 0x9292, 0x9293, 0x9294, 0x9295, 0x9296,
    +    0xb9bf, 0x9297, 0x9298, 0x9299, 0xb9c0, 0x929a, 0x929b, 0x929c,
    +    0xb9c1, 0x929d, 0x929e, 0x929f, 0x92a0, 0x92a1, 0x92a2, 0x92a3,
    +    0x92a4, 0x92a5, 0x92a6, 0x92a7, 0x92a8, 0x92a9, 0x92aa, 0x92ab,
    +    0x92ac, 0x92ad, 0x92ae, 0x92af, 0xb9c2, 0x92b0, 0x92b1, 0x92b2,
    +    0xb9c3, 0x92b3, 0x92b4, 0x92b5, 0xb9c4, 0x92b6, 0x92b7, 0x92b8,
    +    0x92b9, 0x92ba, 0x92bb, 0x92bc, 0xb9c5, 0x92bd, 0x92be, 0xb9c6,
    +    0x92bf, 0x92c0, 0x92c1, 0x92c2, 0x92c3, 0x92c4, 0x92c5, 0x92c6,
    +    0xb9c7, 0x92c7, 0x92c8, 0x92c9, 0xb9c8, 0x92ca, 0x92cb, 0x92cc,
    +    0xb9c9, 0x92cd, 0x92ce, 0x92cf, 0x92d0, 0x92d1, 0x92d2, 0x92d3,
    +    0xb9ca, 0x92d4, 0x92d5, 0xb9cb, 0x92d6, 0x92d7, 0x92d8, 0x92d9,
    +    0x92da, 0x92db, 0x92dc, 0x92dd, 0x92de, 0x92df, 0x92e0, 0x92e1,
    +    0x92e2, 0x92e3, 0x92e4, 0x92e5, 0x92e6, 0x92e7, 0x92e8, 0x92e9,
    +    0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0, 0x92f1,
    +    0x92f2, 0x92f3, 0x92f4, 0x92f5, 0x92f6, 0x92f7, 0x92f8, 0x92f9,
    +    0xb9cc, 0xb9cd, 0x92fa, 0x92fb, 0xb9ce, 0x92fc, 0x92fd, 0xb9cf,
    +    /* 0xbc00 .. 0xbcff */
    +    0xb9d0, 0x92fe, 0xb9d1, 0x9341, 0x9342, 0x9343, 0x9344, 0x9345,
    +    0xb9d2, 0xb9d3, 0x9346, 0xb9d4, 0xb9d5, 0xb9d6, 0x9347, 0xb9d7,
    +    0x9348, 0xb9d8, 0x9349, 0x934a, 0xb9d9, 0xb9da, 0xb9db, 0xb9dc,
    +    0xb9dd, 0x934b, 0x934c, 0xb9de, 0xb9df, 0xb9e0, 0xb9e1, 0xb9e2,
    +    0x934d, 0x934e, 0x934f, 0x9350, 0xb9e3, 0xb9e4, 0x9351, 0xb9e5,
    +    0x9352, 0xb9e6, 0x9353, 0x9354, 0x9355, 0xb9e7, 0x9356, 0x9357,
    +    0xb9e8, 0xb9e9, 0x9358, 0x9359, 0xb9ea, 0x935a, 0x9361, 0x9362,
    +    0xb9eb, 0x9363, 0x9364, 0x9365, 0x9366, 0x9367, 0x9368, 0x9369,
    +    0xb9ec, 0xb9ed, 0x936a, 0xb9ee, 0xb9ef, 0xb9f0, 0x936b, 0x936c,
    +    0x936d, 0xb9f1, 0x936e, 0x936f, 0xb9f2, 0xb9f3, 0x9370, 0x9371,
    +    0xb9f4, 0x9372, 0x9373, 0x9374, 0x9375, 0x9376, 0x9377, 0x9378,
    +    0x9379, 0x937a, 0x9381, 0x9382, 0x9383, 0xb9f5, 0x9384, 0x9385,
    +    0x9386, 0x9387, 0x9388, 0x9389, 0x938a, 0x938b, 0x938c, 0x938d,
    +    0x938e, 0x938f, 0x9390, 0x9391, 0x9392, 0x9393, 0x9394, 0x9395,
    +    0x9396, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b, 0x939c, 0x939d,
    +    0x939e, 0x939f, 0x93a0, 0x93a1, 0x93a2, 0x93a3, 0x93a4, 0x93a5,
    +    0x93a6, 0x93a7, 0x93a8, 0x93a9, 0xb9f6, 0xb9f7, 0x93aa, 0x93ab,
    +    0xb9f8, 0x93ac, 0x93ad, 0xb9f9, 0xb9fa, 0x93ae, 0xb9fb, 0x93af,
    +    0x93b0, 0x93b1, 0x93b2, 0x93b3, 0xb9fc, 0xb9fd, 0x93b4, 0xb9fe,
    +    0x93b5, 0xbaa1, 0xbaa2, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba,
    +    0xbaa3, 0xbaa4, 0x93bb, 0x93bc, 0xbaa5, 0x93bd, 0x93be, 0xbaa6,
    +    0xbaa7, 0x93bf, 0x93c0, 0x93c1, 0x93c2, 0x93c3, 0x93c4, 0x93c5,
    +    0xbaa8, 0xbaa9, 0x93c6, 0xbaaa, 0xbaab, 0xbaac, 0x93c7, 0x93c8,
    +    0x93c9, 0x93ca, 0x93cb, 0x93cc, 0xbaad, 0xbaae, 0x93cd, 0x93ce,
    +    0xbaaf, 0x93cf, 0x93d0, 0x93d1, 0xbab0, 0x93d2, 0x93d3, 0x93d4,
    +    0x93d5, 0x93d6, 0x93d7, 0x93d8, 0x93d9, 0xbab1, 0x93da, 0xbab2,
    +    0xbab3, 0xbab4, 0x93db, 0x93dc, 0x93dd, 0xbab5, 0x93de, 0x93df,
    +    0xbab6, 0x93e0, 0x93e1, 0x93e2, 0xbab7, 0x93e3, 0x93e4, 0x93e5,
    +    0x93e6, 0x93e7, 0x93e8, 0x93e9, 0x93ea, 0x93eb, 0x93ec, 0x93ed,
    +    0x93ee, 0x93ef, 0x93f0, 0x93f1, 0x93f2, 0x93f3, 0x93f4, 0x93f5,
    +    0x93f6, 0x93f7, 0x93f8, 0x93f9, 0xbab8, 0xbab9, 0xbaba, 0x93fa,
    +    0xbabb, 0x93fb, 0x93fc, 0x93fd, 0xbabc, 0x93fe, 0x9441, 0x9442,
    +    /* 0xbd00 .. 0xbdff */
    +    0x9443, 0x9444, 0x9445, 0x9446, 0xbabd, 0xbabe, 0x9447, 0xbabf,
    +    0x9448, 0xbac0, 0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e,
    +    0xbac1, 0x944f, 0x9450, 0x9451, 0xbac2, 0x9452, 0x9453, 0x9454,
    +    0x9455, 0x9456, 0x9457, 0x9458, 0x9459, 0x945a, 0x9461, 0x9462,
    +    0x9463, 0x9464, 0x9465, 0x9466, 0xbac3, 0x9467, 0x9468, 0x9469,
    +    0x946a, 0x946b, 0x946c, 0x946d, 0xbac4, 0x946e, 0x946f, 0x9470,
    +    0x9471, 0x9472, 0x9473, 0x9474, 0x9475, 0x9476, 0x9477, 0x9478,
    +    0x9479, 0x947a, 0x9481, 0x9482, 0x9483, 0x9484, 0x9485, 0x9486,
    +    0xbac5, 0x9487, 0x9488, 0x9489, 0x948a, 0x948b, 0x948c, 0x948d,
    +    0xbac6, 0xbac7, 0x948e, 0x948f, 0xbac8, 0x9490, 0x9491, 0x9492,
    +    0xbac9, 0x9493, 0x9494, 0x9495, 0x9496, 0x9497, 0x9498, 0x9499,
    +    0xbaca, 0xbacb, 0x949a, 0x949b, 0x949c, 0x949d, 0x949e, 0x949f,
    +    0x94a0, 0x94a1, 0x94a2, 0x94a3, 0xbacc, 0x94a4, 0x94a5, 0x94a6,
    +    0xbacd, 0x94a7, 0x94a8, 0x94a9, 0x94aa, 0x94ab, 0x94ac, 0x94ad,
    +    0x94ae, 0x94af, 0x94b0, 0x94b1, 0x94b2, 0x94b3, 0x94b4, 0x94b5,
    +    0x94b6, 0x94b7, 0x94b8, 0x94b9, 0x94ba, 0x94bb, 0x94bc, 0x94bd,
    +    0xbace, 0xbacf, 0x94be, 0x94bf, 0xbad0, 0x94c0, 0x94c1, 0xbad1,
    +    0xbad2, 0xbad3, 0xbad4, 0x94c2, 0x94c3, 0x94c4, 0x94c5, 0x94c6,
    +    0xbad5, 0xbad6, 0x94c7, 0xbad7, 0x94c8, 0xbad8, 0x94c9, 0x94ca,
    +    0x94cb, 0xbad9, 0xbada, 0x94cc, 0xbadb, 0x94cd, 0x94ce, 0x94cf,
    +    0x94d0, 0x94d1, 0x94d2, 0x94d3, 0xbadc, 0x94d4, 0x94d5, 0x94d6,
    +    0x94d7, 0x94d8, 0x94d9, 0x94da, 0x94db, 0x94dc, 0x94dd, 0x94de,
    +    0xbadd, 0x94df, 0x94e0, 0x94e1, 0x94e2, 0x94e3, 0x94e4, 0x94e5,
    +    0xbade, 0x94e6, 0x94e7, 0x94e8, 0x94e9, 0x94ea, 0x94eb, 0x94ec,
    +    0x94ed, 0x94ee, 0x94ef, 0x94f0, 0x94f1, 0x94f2, 0x94f3, 0x94f4,
    +    0x94f5, 0x94f6, 0x94f7, 0x94f8, 0x94f9, 0x94fa, 0x94fb, 0x94fc,
    +    0x94fd, 0x94fe, 0x9541, 0x9542, 0xbadf, 0xbae0, 0x9543, 0x9544,
    +    0xbae1, 0x9545, 0x9546, 0x9547, 0xbae2, 0x9548, 0x9549, 0x954a,
    +    0x954b, 0x954c, 0x954d, 0x954e, 0x954f, 0x9550, 0x9551, 0x9552,
    +    0x9553, 0xbae3, 0x9554, 0x9555, 0x9556, 0x9557, 0x9558, 0x9559,
    +    0xbae4, 0x955a, 0x9561, 0x9562, 0xbae5, 0x9563, 0x9564, 0x9565,
    +    0xbae6, 0x9566, 0x9567, 0x9568, 0x9569, 0x956a, 0x956b, 0x956c,
    +    /* 0xbe00 .. 0xbeff */
    +    0xbae7, 0x956d, 0x956e, 0xbae8, 0x956f, 0xbae9, 0x9570, 0x9571,
    +    0x9572, 0x9573, 0x9574, 0x9575, 0xbaea, 0xbaeb, 0x9576, 0x9577,
    +    0xbaec, 0x9578, 0x9579, 0x957a, 0xbaed, 0x9581, 0x9582, 0x9583,
    +    0x9584, 0x9585, 0x9586, 0x9587, 0xbaee, 0xbaef, 0x9588, 0xbaf0,
    +    0x9589, 0x958a, 0x958b, 0x958c, 0x958d, 0x958e, 0x958f, 0x9590,
    +    0x9591, 0x9592, 0x9593, 0x9594, 0x9595, 0x9596, 0x9597, 0x9598,
    +    0x9599, 0x959a, 0x959b, 0x959c, 0x959d, 0x959e, 0x959f, 0x95a0,
    +    0x95a1, 0x95a2, 0x95a3, 0x95a4, 0x95a5, 0x95a6, 0x95a7, 0x95a8,
    +    0x95a9, 0x95aa, 0x95ab, 0x95ac, 0xbaf1, 0xbaf2, 0x95ad, 0x95ae,
    +    0xbaf3, 0x95af, 0x95b0, 0x95b1, 0xbaf4, 0x95b2, 0xbaf5, 0x95b3,
    +    0x95b4, 0x95b5, 0x95b6, 0x95b7, 0xbaf6, 0xbaf7, 0x95b8, 0xbaf8,
    +    0x95b9, 0xbaf9, 0xbafa, 0xbafb, 0x95ba, 0x95bb, 0x95bc, 0x95bd,
    +    0xbafc, 0xbafd, 0x95be, 0x95bf, 0xbafe, 0x95c0, 0x95c1, 0x95c2,
    +    0xbba1, 0x95c3, 0xbba2, 0x95c4, 0x95c5, 0x95c6, 0x95c7, 0x95c8,
    +    0xbba3, 0xbba4, 0x95c9, 0xbba5, 0xbba6, 0xbba7, 0x95ca, 0x95cb,
    +    0x95cc, 0x95cd, 0x95ce, 0xbba8, 0xbba9, 0xbbaa, 0x95cf, 0x95d0,
    +    0xbbab, 0x95d1, 0x95d2, 0x95d3, 0xbbac, 0x95d4, 0x95d5, 0x95d6,
    +    0x95d7, 0x95d8, 0x95d9, 0x95da, 0xbbad, 0xbbae, 0x95db, 0xbbaf,
    +    0xbbb0, 0xbbb1, 0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1,
    +    0xbbb2, 0xbbb3, 0x95e2, 0x95e3, 0x95e4, 0x95e5, 0x95e6, 0x95e7,
    +    0x95e8, 0x95e9, 0x95ea, 0x95eb, 0x95ec, 0x95ed, 0x95ee, 0x95ef,
    +    0xbbb4, 0x95f0, 0x95f1, 0x95f2, 0x95f3, 0x95f4, 0x95f5, 0x95f6,
    +    0x95f7, 0x95f8, 0x95f9, 0x95fa, 0x95fb, 0x95fc, 0x95fd, 0x95fe,
    +    0x9641, 0x9642, 0x9643, 0x9644, 0x9645, 0x9646, 0x9647, 0x9648,
    +    0x9649, 0x964a, 0x964b, 0x964c, 0x964d, 0x964e, 0x964f, 0x9650,
    +    0x9651, 0x9652, 0x9653, 0x9654, 0x9655, 0x9656, 0x9657, 0x9658,
    +    0xbbb5, 0xbbb6, 0x9659, 0x965a, 0xbbb7, 0x9661, 0x9662, 0xbbb8,
    +    0xbbb9, 0x9663, 0x9664, 0x9665, 0x9666, 0x9667, 0x9668, 0x9669,
    +    0xbbba, 0x966a, 0x966b, 0xbbbb, 0xbbbc, 0xbbbd, 0x966c, 0x966d,
    +    0x966e, 0x966f, 0x9670, 0x9671, 0xbbbe, 0x9672, 0x9673, 0x9674,
    +    0x9675, 0x9676, 0x9677, 0x9678, 0x9679, 0x967a, 0x9681, 0x9682,
    +    0x9683, 0x9684, 0x9685, 0x9686, 0x9687, 0x9688, 0x9689, 0x968a,
    +    /* 0xbf00 .. 0xbfff */
    +    0x968b, 0xbbbf, 0x968c, 0x968d, 0x968e, 0x968f, 0x9690, 0x9691,
    +    0xbbc0, 0xbbc1, 0x9692, 0x9693, 0x9694, 0x9695, 0x9696, 0x9697,
    +    0x9698, 0x9699, 0x969a, 0x969b, 0x969c, 0x969d, 0x969e, 0x969f,
    +    0xbbc2, 0xbbc3, 0x96a0, 0xbbc4, 0xbbc5, 0xbbc6, 0x96a1, 0x96a2,
    +    0x96a3, 0x96a4, 0x96a5, 0x96a6, 0x96a7, 0x96a8, 0x96a9, 0x96aa,
    +    0x96ab, 0x96ac, 0x96ad, 0x96ae, 0x96af, 0x96b0, 0x96b1, 0x96b2,
    +    0x96b3, 0x96b4, 0x96b5, 0x96b6, 0x96b7, 0x96b8, 0x96b9, 0x96ba,
    +    0x96bb, 0x96bc, 0x96bd, 0x96be, 0x96bf, 0x96c0, 0x96c1, 0x96c2,
    +    0xbbc7, 0xbbc8, 0x96c3, 0x96c4, 0xbbc9, 0x96c5, 0x96c6, 0x96c7,
    +    0xbbca, 0x96c8, 0x96c9, 0x96ca, 0x96cb, 0x96cc, 0x96cd, 0x96ce,
    +    0xbbcb, 0xbbcc, 0x96cf, 0x96d0, 0x96d1, 0xbbcd, 0x96d2, 0x96d3,
    +    0x96d4, 0x96d5, 0x96d6, 0x96d7, 0x96d8, 0x96d9, 0x96da, 0x96db,
    +    0x96dc, 0x96dd, 0x96de, 0x96df, 0x96e0, 0x96e1, 0x96e2, 0x96e3,
    +    0x96e4, 0x96e5, 0x96e6, 0x96e7, 0x96e8, 0x96e9, 0x96ea, 0x96eb,
    +    0x96ec, 0x96ed, 0x96ee, 0x96ef, 0x96f0, 0x96f1, 0x96f2, 0x96f3,
    +    0x96f4, 0x96f5, 0x96f6, 0x96f7, 0x96f8, 0x96f9, 0x96fa, 0x96fb,
    +    0x96fc, 0x96fd, 0x96fe, 0x9741, 0x9742, 0x9743, 0x9744, 0x9745,
    +    0x9746, 0x9747, 0x9748, 0x9749, 0x974a, 0x974b, 0x974c, 0x974d,
    +    0x974e, 0x974f, 0x9750, 0x9751, 0xbbce, 0x9752, 0x9753, 0x9754,
    +    0x9755, 0x9756, 0x9757, 0x9758, 0x9759, 0x975a, 0x9761, 0x9762,
    +    0x9763, 0x9764, 0x9765, 0x9766, 0x9767, 0x9768, 0x9769, 0x976a,
    +    0x976b, 0x976c, 0x976d, 0x976e, 0x976f, 0x9770, 0x9771, 0x9772,
    +    0xbbcf, 0x9773, 0x9774, 0x9775, 0x9776, 0x9777, 0x9778, 0x9779,
    +    0x977a, 0x9781, 0x9782, 0x9783, 0x9784, 0x9785, 0x9786, 0x9787,
    +    0x9788, 0x9789, 0x978a, 0x978b, 0x978c, 0xbbd0, 0x978d, 0x978e,
    +    0x978f, 0x9790, 0x9791, 0x9792, 0xbbd1, 0xbbd2, 0x9793, 0x9794,
    +    0xbbd3, 0x9795, 0x9796, 0x9797, 0xbbd4, 0x9798, 0x9799, 0x979a,
    +    0x979b, 0x979c, 0x979d, 0x979e, 0xbbd5, 0x979f, 0x97a0, 0xbbd6,
    +    0x97a1, 0xbbd7, 0x97a2, 0x97a3, 0x97a4, 0x97a5, 0x97a6, 0x97a7,
    +    0x97a8, 0x97a9, 0x97aa, 0x97ab, 0x97ac, 0x97ad, 0x97ae, 0x97af,
    +    0x97b0, 0x97b1, 0x97b2, 0x97b3, 0x97b4, 0x97b5, 0x97b6, 0x97b7,
    +    0x97b8, 0x97b9, 0x97ba, 0x97bb, 0x97bc, 0x97bd, 0x97be, 0x97bf,
    +    /* 0xc000 .. 0xc0ff */
    +    0x97c0, 0x97c1, 0x97c2, 0x97c3, 0x97c4, 0x97c5, 0x97c6, 0x97c7,
    +    0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc, 0x97cd, 0x97ce, 0x97cf,
    +    0x97d0, 0x97d1, 0x97d2, 0x97d3, 0x97d4, 0x97d5, 0x97d6, 0x97d7,
    +    0x97d8, 0x97d9, 0x97da, 0x97db, 0x97dc, 0x97dd, 0x97de, 0x97df,
    +    0x97e0, 0x97e1, 0x97e2, 0x97e3, 0x97e4, 0x97e5, 0x97e6, 0x97e7,
    +    0x97e8, 0x97e9, 0x97ea, 0x97eb, 0x97ec, 0x97ed, 0x97ee, 0x97ef,
    +    0x97f0, 0x97f1, 0x97f2, 0x97f3, 0x97f4, 0x97f5, 0x97f6, 0x97f7,
    +    0x97f8, 0x97f9, 0x97fa, 0x97fb, 0xbbd8, 0x97fc, 0x97fd, 0x97fe,
    +    0x9841, 0x9842, 0x9843, 0x9844, 0x9845, 0x9846, 0x9847, 0x9848,
    +    0x9849, 0x984a, 0x984b, 0x984c, 0x984d, 0x984e, 0x984f, 0x9850,
    +    0x9851, 0xbbd9, 0x9852, 0x9853, 0x9854, 0x9855, 0x9856, 0x9857,
    +    0xbbda, 0x9858, 0x9859, 0x985a, 0xbbdb, 0x9861, 0x9862, 0x9863,
    +    0xbbdc, 0x9864, 0x9865, 0x9866, 0x9867, 0x9868, 0x9869, 0x986a,
    +    0xbbdd, 0xbbde, 0x986b, 0x986c, 0x986d, 0x986e, 0x986f, 0x9870,
    +    0x9871, 0x9872, 0x9873, 0x9874, 0x9875, 0x9876, 0x9877, 0x9878,
    +    0x9879, 0x987a, 0x9881, 0x9882, 0x9883, 0x9884, 0x9885, 0x9886,
    +    0x9887, 0x9888, 0x9889, 0x988a, 0x988b, 0x988c, 0x988d, 0x988e,
    +    0x988f, 0x9890, 0x9891, 0x9892, 0x9893, 0x9894, 0x9895, 0x9896,
    +    0xbbdf, 0xbbe0, 0x9897, 0x9898, 0xbbe1, 0x9899, 0x989a, 0x989b,
    +    0xbbe2, 0x989c, 0x989d, 0x989e, 0x989f, 0x98a0, 0x98a1, 0x98a2,
    +    0xbbe3, 0xbbe4, 0x98a3, 0xbbe5, 0x98a4, 0xbbe6, 0x98a5, 0x98a6,
    +    0x98a7, 0x98a8, 0x98a9, 0x98aa, 0xbbe7, 0xbbe8, 0x98ab, 0xbbe9,
    +    0xbbea, 0x98ac, 0x98ad, 0xbbeb, 0xbbec, 0xbbed, 0xbbee, 0x98ae,
    +    0x98af, 0x98b0, 0x98b1, 0x98b2, 0xbbef, 0xbbf0, 0x98b3, 0xbbf1,
    +    0xbbf2, 0xbbf3, 0x98b4, 0x98b5, 0x98b6, 0xbbf4, 0x98b7, 0x98b8,
    +    0xbbf5, 0xbbf6, 0x98b9, 0x98ba, 0xbbf7, 0x98bb, 0x98bc, 0x98bd,
    +    0xbbf8, 0x98be, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3, 0x98c4,
    +    0xbbf9, 0xbbfa, 0x98c5, 0xbbfb, 0xbbfc, 0xbbfd, 0x98c6, 0x98c7,
    +    0x98c8, 0x98c9, 0x98ca, 0x98cb, 0xbbfe, 0xbca1, 0x98cc, 0x98cd,
    +    0xbca2, 0x98ce, 0x98cf, 0x98d0, 0xbca3, 0x98d1, 0x98d2, 0x98d3,
    +    0x98d4, 0x98d5, 0x98d6, 0x98d7, 0xbca4, 0xbca5, 0x98d8, 0xbca6,
    +    0x98d9, 0xbca7, 0x98da, 0x98db, 0x98dc, 0x98dd, 0x98de, 0x98df,
    +    /* 0xc100 .. 0xc1ff */
    +    0xbca8, 0x98e0, 0x98e1, 0x98e2, 0xbca9, 0x98e3, 0x98e4, 0x98e5,
    +    0xbcaa, 0x98e6, 0x98e7, 0x98e8, 0x98e9, 0x98ea, 0x98eb, 0x98ec,
    +    0xbcab, 0x98ed, 0x98ee, 0x98ef, 0x98f0, 0xbcac, 0x98f1, 0x98f2,
    +    0x98f3, 0x98f4, 0x98f5, 0x98f6, 0xbcad, 0xbcae, 0xbcaf, 0xbcb0,
    +    0xbcb1, 0x98f7, 0x98f8, 0xbcb2, 0xbcb3, 0x98f9, 0xbcb4, 0xbcb5,
    +    0x98fa, 0x98fb, 0x98fc, 0x98fd, 0xbcb6, 0xbcb7, 0x98fe, 0xbcb8,
    +    0xbcb9, 0xbcba, 0x9941, 0x9942, 0x9943, 0x9944, 0xbcbb, 0x9945,
    +    0xbcbc, 0xbcbd, 0x9946, 0x9947, 0xbcbe, 0x9948, 0x9949, 0x994a,
    +    0xbcbf, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,
    +    0xbcc0, 0xbcc1, 0x9952, 0xbcc2, 0xbcc3, 0xbcc4, 0x9953, 0x9954,
    +    0x9955, 0x9956, 0x9957, 0x9958, 0xbcc5, 0xbcc6, 0x9959, 0x995a,
    +    0xbcc7, 0x9961, 0x9962, 0x9963, 0xbcc8, 0x9964, 0x9965, 0x9966,
    +    0x9967, 0x9968, 0x9969, 0x996a, 0xbcc9, 0xbcca, 0x996b, 0xbccb,
    +    0xbccc, 0xbccd, 0x996c, 0x996d, 0x996e, 0x996f, 0x9970, 0x9971,
    +    0xbcce, 0x9972, 0x9973, 0x9974, 0xbccf, 0x9975, 0x9976, 0x9977,
    +    0xbcd0, 0x9978, 0x9979, 0x997a, 0x9981, 0x9982, 0x9983, 0x9984,
    +    0x9985, 0x9986, 0x9987, 0x9988, 0x9989, 0xbcd1, 0x998a, 0x998b,
    +    0x998c, 0x998d, 0x998e, 0x998f, 0xbcd2, 0xbcd3, 0xbcd4, 0x9990,
    +    0xbcd5, 0x9991, 0x9992, 0x9993, 0xbcd6, 0x9994, 0xbcd7, 0x9995,
    +    0x9996, 0x9997, 0x9998, 0x9999, 0xbcd8, 0xbcd9, 0x999a, 0xbcda,
    +    0x999b, 0xbcdb, 0x999c, 0x999d, 0x999e, 0xbcdc, 0x999f, 0x99a0,
    +    0xbcdd, 0xbcde, 0x99a1, 0x99a2, 0xbcdf, 0x99a3, 0x99a4, 0x99a5,
    +    0xbce0, 0x99a6, 0x99a7, 0x99a8, 0x99a9, 0x99aa, 0x99ab, 0x99ac,
    +    0x99ad, 0x99ae, 0x99af, 0x99b0, 0x99b1, 0xbce1, 0x99b2, 0x99b3,
    +    0x99b4, 0x99b5, 0x99b6, 0x99b7, 0xbce2, 0x99b8, 0x99b9, 0x99ba,
    +    0xbce3, 0x99bb, 0x99bc, 0x99bd, 0xbce4, 0x99be, 0x99bf, 0x99c0,
    +    0x99c1, 0x99c2, 0x99c3, 0x99c4, 0xbce5, 0x99c5, 0x99c6, 0xbce6,
    +    0xbce7, 0x99c7, 0x99c8, 0x99c9, 0x99ca, 0x99cb, 0x99cc, 0x99cd,
    +    0xbce8, 0x99ce, 0x99cf, 0x99d0, 0xbce9, 0x99d1, 0x99d2, 0x99d3,
    +    0xbcea, 0x99d4, 0x99d5, 0x99d6, 0x99d7, 0x99d8, 0x99d9, 0x99da,
    +    0xbceb, 0xbcec, 0x99db, 0xbced, 0x99dc, 0x99dd, 0x99de, 0x99df,
    +    0x99e0, 0x99e1, 0x99e2, 0x99e3, 0xbcee, 0xbcef, 0x99e4, 0x99e5,
    +    /* 0xc200 .. 0xc2ff */
    +    0xbcf0, 0x99e6, 0x99e7, 0x99e8, 0xbcf1, 0x99e9, 0x99ea, 0x99eb,
    +    0x99ec, 0x99ed, 0x99ee, 0x99ef, 0xbcf2, 0xbcf3, 0x99f0, 0xbcf4,
    +    0x99f1, 0xbcf5, 0x99f2, 0x99f3, 0x99f4, 0x99f5, 0x99f6, 0x99f7,
    +    0xbcf6, 0xbcf7, 0x99f8, 0x99f9, 0xbcf8, 0x99fa, 0x99fb, 0xbcf9,
    +    0xbcfa, 0x99fc, 0x99fd, 0x99fe, 0x9a41, 0x9a42, 0x9a43, 0x9a44,
    +    0xbcfb, 0xbcfc, 0x9a45, 0xbcfd, 0x9a46, 0xbcfe, 0x9a47, 0xbda1,
    +    0x9a48, 0xbda2, 0xbda3, 0x9a49, 0xbda4, 0x9a4a, 0x9a4b, 0x9a4c,
    +    0x9a4d, 0x9a4e, 0x9a4f, 0x9a50, 0x9a51, 0x9a52, 0x9a53, 0x9a54,
    +    0x9a55, 0x9a56, 0x9a57, 0x9a58, 0x9a59, 0x9a5a, 0x9a61, 0x9a62,
    +    0xbda5, 0x9a63, 0x9a64, 0x9a65, 0x9a66, 0x9a67, 0x9a68, 0x9a69,
    +    0xbda6, 0xbda7, 0x9a6a, 0x9a6b, 0xbda8, 0x9a6c, 0x9a6d, 0x9a6e,
    +    0xbda9, 0x9a6f, 0x9a70, 0x9a71, 0x9a72, 0x9a73, 0x9a74, 0x9a75,
    +    0xbdaa, 0x9a76, 0x9a77, 0x9a78, 0x9a79, 0xbdab, 0x9a7a, 0x9a81,
    +    0x9a82, 0x9a83, 0x9a84, 0x9a85, 0xbdac, 0xbdad, 0x9a86, 0x9a87,
    +    0xbdae, 0x9a88, 0x9a89, 0x9a8a, 0xbdaf, 0x9a8b, 0x9a8c, 0x9a8d,
    +    0x9a8e, 0x9a8f, 0x9a90, 0x9a91, 0xbdb0, 0xbdb1, 0x9a92, 0xbdb2,
    +    0x9a93, 0xbdb3, 0x9a94, 0x9a95, 0x9a96, 0x9a97, 0x9a98, 0x9a99,
    +    0xbdb4, 0xbdb5, 0x9a9a, 0x9a9b, 0x9a9c, 0x9a9d, 0x9a9e, 0x9a9f,
    +    0xbdb6, 0x9aa0, 0x9aa1, 0x9aa2, 0x9aa3, 0x9aa4, 0x9aa5, 0x9aa6,
    +    0xbdb7, 0x9aa7, 0x9aa8, 0xbdb8, 0x9aa9, 0xbdb9, 0x9aaa, 0x9aab,
    +    0x9aac, 0x9aad, 0x9aae, 0x9aaf, 0xbdba, 0xbdbb, 0x9ab0, 0x9ab1,
    +    0xbdbc, 0x9ab2, 0x9ab3, 0x9ab4, 0xbdbd, 0xbdbe, 0x9ab5, 0x9ab6,
    +    0x9ab7, 0x9ab8, 0x9ab9, 0x9aba, 0xbdbf, 0xbdc0, 0x9abb, 0xbdc1,
    +    0x9abc, 0xbdc2, 0x9abd, 0x9abe, 0x9abf, 0x9ac0, 0x9ac1, 0x9ac2,
    +    0x9ac3, 0x9ac4, 0x9ac5, 0x9ac6, 0x9ac7, 0x9ac8, 0x9ac9, 0x9aca,
    +    0x9acb, 0x9acc, 0x9acd, 0x9ace, 0x9acf, 0x9ad0, 0x9ad1, 0x9ad2,
    +    0x9ad3, 0x9ad4, 0x9ad5, 0x9ad6, 0x9ad7, 0x9ad8, 0x9ad9, 0x9ada,
    +    0x9adb, 0x9adc, 0x9add, 0x9ade, 0xbdc3, 0xbdc4, 0x9adf, 0x9ae0,
    +    0xbdc5, 0x9ae1, 0x9ae2, 0xbdc6, 0xbdc7, 0x9ae3, 0x9ae4, 0x9ae5,
    +    0x9ae6, 0x9ae7, 0x9ae8, 0xbdc8, 0xbdc9, 0xbdca, 0x9ae9, 0xbdcb,
    +    0x9aea, 0xbdcc, 0x9aeb, 0x9aec, 0x9aed, 0x9aee, 0xbdcd, 0x9aef,
    +    0xbdce, 0xbdcf, 0x9af0, 0xbdd0, 0xbdd1, 0x9af1, 0x9af2, 0x9af3,
    +    /* 0xc300 .. 0xc3ff */
    +    0xbdd2, 0x9af4, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9af9, 0x9afa,
    +    0xbdd3, 0xbdd4, 0x9afb, 0x9afc, 0xbdd5, 0xbdd6, 0x9afd, 0x9afe,
    +    0x9b41, 0x9b42, 0x9b43, 0xbdd7, 0xbdd8, 0xbdd9, 0x9b44, 0x9b45,
    +    0xbdda, 0x9b46, 0x9b47, 0x9b48, 0xbddb, 0x9b49, 0x9b4a, 0x9b4b,
    +    0x9b4c, 0x9b4d, 0x9b4e, 0x9b4f, 0xbddc, 0xbddd, 0x9b50, 0x9b51,
    +    0xbdde, 0xbddf, 0x9b52, 0x9b53, 0x9b54, 0x9b55, 0x9b56, 0x9b57,
    +    0x9b58, 0x9b59, 0x9b5a, 0x9b61, 0x9b62, 0x9b63, 0x9b64, 0x9b65,
    +    0x9b66, 0x9b67, 0x9b68, 0x9b69, 0x9b6a, 0x9b6b, 0x9b6c, 0x9b6d,
    +    0x9b6e, 0x9b6f, 0x9b70, 0x9b71, 0x9b72, 0xbde0, 0x9b73, 0x9b74,
    +    0x9b75, 0x9b76, 0x9b77, 0x9b78, 0x9b79, 0x9b7a, 0x9b81, 0x9b82,
    +    0x9b83, 0x9b84, 0x9b85, 0x9b86, 0x9b87, 0x9b88, 0x9b89, 0x9b8a,
    +    0x9b8b, 0x9b8c, 0x9b8d, 0x9b8e, 0x9b8f, 0x9b90, 0x9b91, 0x9b92,
    +    0x9b93, 0x9b94, 0x9b95, 0x9b96, 0x9b97, 0x9b98, 0x9b99, 0x9b9a,
    +    0xbde1, 0xbde2, 0x9b9b, 0x9b9c, 0xbde3, 0x9b9d, 0x9b9e, 0x9b9f,
    +    0xbde4, 0x9ba0, 0xbde5, 0x9ba1, 0x9ba2, 0x9ba3, 0x9ba4, 0x9ba5,
    +    0xbde6, 0xbde7, 0x9ba6, 0x9ba7, 0xbde8, 0xbde9, 0x9ba8, 0x9ba9,
    +    0x9baa, 0x9bab, 0x9bac, 0x9bad, 0xbdea, 0x9bae, 0x9baf, 0x9bb0,
    +    0xbdeb, 0x9bb1, 0x9bb2, 0x9bb3, 0xbdec, 0x9bb4, 0x9bb5, 0x9bb6,
    +    0x9bb7, 0x9bb8, 0x9bb9, 0x9bba, 0x9bbb, 0x9bbc, 0x9bbd, 0x9bbe,
    +    0x9bbf, 0x9bc0, 0x9bc1, 0x9bc2, 0x9bc3, 0x9bc4, 0x9bc5, 0x9bc6,
    +    0x9bc7, 0x9bc8, 0x9bc9, 0x9bca, 0x9bcb, 0x9bcc, 0x9bcd, 0x9bce,
    +    0x9bcf, 0x9bd0, 0x9bd1, 0x9bd2, 0x9bd3, 0x9bd4, 0x9bd5, 0x9bd6,
    +    0x9bd7, 0x9bd8, 0x9bd9, 0x9bda, 0x9bdb, 0x9bdc, 0x9bdd, 0x9bde,
    +    0x9bdf, 0x9be0, 0x9be1, 0x9be2, 0x9be3, 0x9be4, 0x9be5, 0x9be6,
    +    0xbded, 0x9be7, 0x9be8, 0x9be9, 0x9bea, 0x9beb, 0x9bec, 0x9bed,
    +    0x9bee, 0x9bef, 0x9bf0, 0x9bf1, 0x9bf2, 0x9bf3, 0x9bf4, 0x9bf5,
    +    0x9bf6, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfb, 0x9bfc, 0x9bfd,
    +    0xbdee, 0xbdef, 0x9bfe, 0x9c41, 0xbdf0, 0x9c42, 0x9c43, 0xbdf1,
    +    0xbdf2, 0x9c44, 0xbdf3, 0x9c45, 0x9c46, 0x9c47, 0x9c48, 0x9c49,
    +    0xbdf4, 0xbdf5, 0x9c4a, 0x9c4b, 0x9c4c, 0xbdf6, 0x9c4d, 0x9c4e,
    +    0x9c4f, 0x9c50, 0x9c51, 0x9c52, 0xbdf7, 0xbdf8, 0x9c53, 0x9c54,
    +    0xbdf9, 0x9c55, 0x9c56, 0x9c57, 0x9c58, 0x9c59, 0x9c5a, 0x9c61,
    +    /* 0xc400 .. 0xc4ff */
    +    0x9c62, 0x9c63, 0x9c64, 0x9c65, 0x9c66, 0x9c67, 0x9c68, 0x9c69,
    +    0xbdfa, 0x9c6a, 0x9c6b, 0x9c6c, 0x9c6d, 0x9c6e, 0x9c6f, 0x9c70,
    +    0xbdfb, 0x9c71, 0x9c72, 0x9c73, 0x9c74, 0x9c75, 0x9c76, 0x9c77,
    +    0x9c78, 0x9c79, 0x9c7a, 0x9c81, 0x9c82, 0x9c83, 0x9c84, 0x9c85,
    +    0x9c86, 0x9c87, 0x9c88, 0x9c89, 0xbdfc, 0x9c8a, 0x9c8b, 0x9c8c,
    +    0x9c8d, 0x9c8e, 0x9c8f, 0x9c90, 0xbdfd, 0x9c91, 0x9c92, 0x9c93,
    +    0xbdfe, 0x9c94, 0x9c95, 0x9c96, 0xbea1, 0x9c97, 0x9c98, 0x9c99,
    +    0x9c9a, 0x9c9b, 0x9c9c, 0x9c9d, 0xbea2, 0xbea3, 0x9c9e, 0x9c9f,
    +    0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca4, 0x9ca5, 0x9ca6, 0x9ca7,
    +    0xbea4, 0x9ca8, 0x9ca9, 0x9caa, 0x9cab, 0x9cac, 0x9cad, 0x9cae,
    +    0x9caf, 0x9cb0, 0x9cb1, 0x9cb2, 0x9cb3, 0x9cb4, 0x9cb5, 0x9cb6,
    +    0x9cb7, 0x9cb8, 0x9cb9, 0x9cba, 0x9cbb, 0x9cbc, 0x9cbd, 0x9cbe,
    +    0x9cbf, 0x9cc0, 0x9cc1, 0x9cc2, 0xbea5, 0xbea6, 0x9cc3, 0x9cc4,
    +    0xbea7, 0x9cc5, 0x9cc6, 0x9cc7, 0xbea8, 0x9cc8, 0x9cc9, 0x9cca,
    +    0x9ccb, 0x9ccc, 0x9ccd, 0x9cce, 0xbea9, 0xbeaa, 0x9ccf, 0x9cd0,
    +    0x9cd1, 0xbeab, 0x9cd2, 0x9cd3, 0x9cd4, 0x9cd5, 0x9cd6, 0x9cd7,
    +    0xbeac, 0x9cd8, 0x9cd9, 0x9cda, 0x9cdb, 0x9cdc, 0x9cdd, 0x9cde,
    +    0x9cdf, 0x9ce0, 0x9ce1, 0x9ce2, 0x9ce3, 0x9ce4, 0x9ce5, 0x9ce6,
    +    0x9ce7, 0x9ce8, 0x9ce9, 0x9cea, 0xbead, 0x9ceb, 0x9cec, 0x9ced,
    +    0x9cee, 0x9cef, 0x9cf0, 0x9cf1, 0xbeae, 0x9cf2, 0x9cf3, 0x9cf4,
    +    0x9cf5, 0x9cf6, 0x9cf7, 0x9cf8, 0x9cf9, 0x9cfa, 0x9cfb, 0x9cfc,
    +    0x9cfd, 0x9cfe, 0x9d41, 0x9d42, 0x9d43, 0x9d44, 0x9d45, 0x9d46,
    +    0x9d47, 0x9d48, 0x9d49, 0x9d4a, 0x9d4b, 0x9d4c, 0x9d4d, 0x9d4e,
    +    0xbeaf, 0x9d4f, 0x9d50, 0x9d51, 0xbeb0, 0x9d52, 0x9d53, 0x9d54,
    +    0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0x9d5a, 0x9d61, 0x9d62,
    +    0x9d63, 0x9d64, 0x9d65, 0x9d66, 0x9d67, 0x9d68, 0x9d69, 0x9d6a,
    +    0x9d6b, 0x9d6c, 0x9d6d, 0x9d6e, 0x9d6f, 0x9d70, 0x9d71, 0x9d72,
    +    0x9d73, 0x9d74, 0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a,
    +    0x9d81, 0x9d82, 0x9d83, 0x9d84, 0x9d85, 0x9d86, 0x9d87, 0x9d88,
    +    0x9d89, 0xbeb1, 0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f,
    +    0xbeb2, 0xbeb3, 0x9d90, 0x9d91, 0xbeb4, 0x9d92, 0x9d93, 0x9d94,
    +    0xbeb5, 0x9d95, 0xbeb6, 0x9d96, 0x9d97, 0x9d98, 0x9d99, 0xbeb7,
    +    /* 0xc500 .. 0xc5ff */
    +    0xbeb8, 0xbeb9, 0x9d9a, 0x9d9b, 0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f,
    +    0x9da0, 0x9da1, 0x9da2, 0x9da3, 0xbeba, 0x9da4, 0x9da5, 0x9da6,
    +    0xbebb, 0x9da7, 0x9da8, 0x9da9, 0xbebc, 0x9daa, 0x9dab, 0x9dac,
    +    0x9dad, 0x9dae, 0x9daf, 0x9db0, 0xbebd, 0x9db1, 0x9db2, 0x9db3,
    +    0x9db4, 0x9db5, 0x9db6, 0x9db7, 0x9db8, 0x9db9, 0x9dba, 0x9dbb,
    +    0xbebe, 0xbebf, 0x9dbc, 0x9dbd, 0xbec0, 0x9dbe, 0x9dbf, 0x9dc0,
    +    0xbec1, 0x9dc1, 0x9dc2, 0x9dc3, 0x9dc4, 0x9dc5, 0x9dc6, 0x9dc7,
    +    0xbec2, 0xbec3, 0x9dc8, 0xbec4, 0x9dc9, 0xbec5, 0x9dca, 0x9dcb,
    +    0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0xbec6, 0xbec7, 0x9dd0, 0x9dd1,
    +    0xbec8, 0xbec9, 0xbeca, 0x9dd2, 0xbecb, 0xbecc, 0xbecd, 0x9dd3,
    +    0x9dd4, 0x9dd5, 0x9dd6, 0xbece, 0xbecf, 0xbed0, 0x9dd7, 0xbed1,
    +    0xbed2, 0xbed3, 0x9dd8, 0x9dd9, 0x9dda, 0xbed4, 0xbed5, 0x9ddb,
    +    0xbed6, 0xbed7, 0x9ddc, 0x9ddd, 0xbed8, 0x9dde, 0x9ddf, 0x9de0,
    +    0xbed9, 0x9de1, 0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6, 0x9de7,
    +    0xbeda, 0xbedb, 0x9de8, 0xbedc, 0xbedd, 0xbede, 0x9de9, 0x9dea,
    +    0x9deb, 0x9dec, 0x9ded, 0x9dee, 0xbedf, 0xbee0, 0x9def, 0x9df0,
    +    0xbee1, 0x9df1, 0x9df2, 0x9df3, 0xbee2, 0x9df4, 0x9df5, 0xbee3,
    +    0x9df6, 0x9df7, 0x9df8, 0x9df9, 0xbee4, 0xbee5, 0x9dfa, 0xbee6,
    +    0x9dfb, 0xbee7, 0x9dfc, 0x9dfd, 0x9dfe, 0xbee8, 0x9e41, 0xbee9,
    +    0xbeea, 0x9e42, 0x9e43, 0x9e44, 0xbeeb, 0x9e45, 0x9e46, 0x9e47,
    +    0xbeec, 0x9e48, 0x9e49, 0x9e4a, 0x9e4b, 0x9e4c, 0x9e4d, 0x9e4e,
    +    0x9e4f, 0xbeed, 0x9e50, 0x9e51, 0x9e52, 0x9e53, 0x9e54, 0x9e55,
    +    0x9e56, 0x9e57, 0x9e58, 0x9e59, 0xbeee, 0xbeef, 0x9e5a, 0x9e61,
    +    0xbef0, 0xbef1, 0x9e62, 0xbef2, 0xbef3, 0xbef4, 0xbef5, 0x9e63,
    +    0x9e64, 0x9e65, 0x9e66, 0x9e67, 0xbef6, 0xbef7, 0xbef8, 0xbef9,
    +    0xbefa, 0xbefb, 0xbefc, 0x9e68, 0xbefd, 0x9e69, 0xbefe, 0x9e6a,
    +    0xbfa1, 0xbfa2, 0x9e6b, 0x9e6c, 0xbfa3, 0x9e6d, 0x9e6e, 0x9e6f,
    +    0xbfa4, 0x9e70, 0x9e71, 0x9e72, 0x9e73, 0x9e74, 0x9e75, 0x9e76,
    +    0xbfa5, 0xbfa6, 0x9e77, 0xbfa7, 0x9e78, 0xbfa8, 0x9e79, 0x9e7a,
    +    0x9e81, 0x9e82, 0x9e83, 0x9e84, 0xbfa9, 0xbfaa, 0xbfab, 0x9e85,
    +    0xbfac, 0x9e86, 0x9e87, 0x9e88, 0xbfad, 0x9e89, 0xbfae, 0xbfaf,
    +    0x9e8a, 0x9e8b, 0x9e8c, 0x9e8d, 0xbfb0, 0xbfb1, 0xbfb2, 0xbfb3,
    +    /* 0xc600 .. 0xc6ff */
    +    0xbfb4, 0xbfb5, 0x9e8e, 0x9e8f, 0x9e90, 0xbfb6, 0xbfb7, 0xbfb8,
    +    0xbfb9, 0x9e91, 0x9e92, 0x9e93, 0xbfba, 0x9e94, 0x9e95, 0x9e96,
    +    0xbfbb, 0x9e97, 0x9e98, 0x9e99, 0x9e9a, 0x9e9b, 0x9e9c, 0x9e9d,
    +    0xbfbc, 0xbfbd, 0x9e9e, 0xbfbe, 0xbfbf, 0x9e9f, 0x9ea0, 0x9ea1,
    +    0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0xbfc0, 0xbfc1, 0x9ea6, 0x9ea7,
    +    0xbfc2, 0x9ea8, 0x9ea9, 0x9eaa, 0xbfc3, 0xbfc4, 0xbfc5, 0x9eab,
    +    0xbfc6, 0x9eac, 0x9ead, 0xbfc7, 0xbfc8, 0xbfc9, 0x9eae, 0xbfca,
    +    0x9eaf, 0xbfcb, 0x9eb0, 0xbfcc, 0x9eb1, 0x9eb2, 0x9eb3, 0x9eb4,
    +    0xbfcd, 0xbfce, 0x9eb5, 0x9eb6, 0xbfcf, 0x9eb7, 0x9eb8, 0x9eb9,
    +    0xbfd0, 0x9eba, 0x9ebb, 0x9ebc, 0x9ebd, 0x9ebe, 0x9ebf, 0x9ec0,
    +    0xbfd1, 0xbfd2, 0x9ec1, 0xbfd3, 0xbfd4, 0xbfd5, 0x9ec2, 0x9ec3,
    +    0x9ec4, 0x9ec5, 0x9ec6, 0x9ec7, 0xbfd6, 0xbfd7, 0x9ec8, 0x9ec9,
    +    0xbfd8, 0x9eca, 0x9ecb, 0x9ecc, 0x9ecd, 0x9ece, 0x9ecf, 0x9ed0,
    +    0x9ed1, 0x9ed2, 0x9ed3, 0x9ed4, 0xbfd9, 0x9ed5, 0x9ed6, 0xbfda,
    +    0x9ed7, 0xbfdb, 0x9ed8, 0x9ed9, 0x9eda, 0x9edb, 0x9edc, 0x9edd,
    +    0xbfdc, 0xbfdd, 0x9ede, 0x9edf, 0xbfde, 0x9ee0, 0x9ee1, 0x9ee2,
    +    0xbfdf, 0x9ee3, 0x9ee4, 0x9ee5, 0x9ee6, 0x9ee7, 0x9ee8, 0x9ee9,
    +    0xbfe0, 0xbfe1, 0x9eea, 0xbfe2, 0x9eeb, 0xbfe3, 0x9eec, 0x9eed,
    +    0x9eee, 0x9eef, 0x9ef0, 0x9ef1, 0xbfe4, 0xbfe5, 0x9ef2, 0x9ef3,
    +    0xbfe6, 0x9ef4, 0x9ef5, 0x9ef6, 0xbfe7, 0x9ef7, 0x9ef8, 0x9ef9,
    +    0x9efa, 0x9efb, 0x9efc, 0x9efd, 0xbfe8, 0xbfe9, 0x9efe, 0xbfea,
    +    0x9f41, 0xbfeb, 0x9f42, 0x9f43, 0x9f44, 0x9f45, 0x9f46, 0x9f47,
    +    0xbfec, 0xbfed, 0x9f48, 0x9f49, 0xbfee, 0x9f4a, 0x9f4b, 0x9f4c,
    +    0xbfef, 0xbff0, 0xbff1, 0x9f4d, 0x9f4e, 0x9f4f, 0x9f50, 0x9f51,
    +    0xbff2, 0xbff3, 0x9f52, 0xbff4, 0x9f53, 0xbff5, 0x9f54, 0x9f55,
    +    0x9f56, 0x9f57, 0x9f58, 0x9f59, 0xbff6, 0xbff7, 0x9f5a, 0x9f61,
    +    0xbff8, 0x9f62, 0x9f63, 0x9f64, 0xbff9, 0x9f65, 0x9f66, 0x9f67,
    +    0x9f68, 0x9f69, 0x9f6a, 0x9f6b, 0xbffa, 0xbffb, 0x9f6c, 0x9f6d,
    +    0xbffc, 0xbffd, 0x9f6e, 0x9f6f, 0x9f70, 0x9f71, 0x9f72, 0x9f73,
    +    0xbffe, 0xc0a1, 0x9f74, 0x9f75, 0xc0a2, 0x9f76, 0x9f77, 0x9f78,
    +    0xc0a3, 0x9f79, 0x9f7a, 0x9f81, 0x9f82, 0x9f83, 0x9f84, 0x9f85,
    +    0xc0a4, 0xc0a5, 0x9f86, 0x9f87, 0x9f88, 0xc0a6, 0x9f89, 0x9f8a,
    +    /* 0xc700 .. 0xc7ff */
    +    0x9f8b, 0x9f8c, 0x9f8d, 0x9f8e, 0xc0a7, 0xc0a8, 0x9f8f, 0x9f90,
    +    0xc0a9, 0x9f91, 0x9f92, 0x9f93, 0xc0aa, 0x9f94, 0x9f95, 0x9f96,
    +    0x9f97, 0x9f98, 0x9f99, 0x9f9a, 0xc0ab, 0xc0ac, 0x9f9b, 0xc0ad,
    +    0x9f9c, 0xc0ae, 0x9f9d, 0x9f9e, 0x9f9f, 0x9fa0, 0x9fa1, 0x9fa2,
    +    0xc0af, 0xc0b0, 0x9fa3, 0x9fa4, 0xc0b1, 0x9fa5, 0x9fa6, 0x9fa7,
    +    0xc0b2, 0x9fa8, 0x9fa9, 0x9faa, 0x9fab, 0x9fac, 0x9fad, 0x9fae,
    +    0xc0b3, 0xc0b4, 0x9faf, 0xc0b5, 0x9fb0, 0xc0b6, 0x9fb1, 0xc0b7,
    +    0x9fb2, 0x9fb3, 0x9fb4, 0x9fb5, 0xc0b8, 0xc0b9, 0x9fb6, 0x9fb7,
    +    0xc0ba, 0x9fb8, 0x9fb9, 0x9fba, 0xc0bb, 0x9fbb, 0x9fbc, 0x9fbd,
    +    0x9fbe, 0x9fbf, 0xc0bc, 0x9fc0, 0xc0bd, 0xc0be, 0x9fc1, 0xc0bf,
    +    0x9fc2, 0xc0c0, 0xc0c1, 0xc0c2, 0xc0c3, 0xc0c4, 0xc0c5, 0xc0c6,
    +    0xc0c7, 0x9fc3, 0x9fc4, 0x9fc5, 0xc0c8, 0x9fc6, 0x9fc7, 0x9fc8,
    +    0xc0c9, 0x9fc9, 0x9fca, 0x9fcb, 0x9fcc, 0x9fcd, 0x9fce, 0x9fcf,
    +    0xc0ca, 0x9fd0, 0x9fd1, 0xc0cb, 0x9fd2, 0x9fd3, 0x9fd4, 0x9fd5,
    +    0x9fd6, 0x9fd7, 0x9fd8, 0x9fd9, 0xc0cc, 0xc0cd, 0x9fda, 0x9fdb,
    +    0xc0ce, 0x9fdc, 0x9fdd, 0x9fde, 0xc0cf, 0xc0d0, 0xc0d1, 0x9fdf,
    +    0x9fe0, 0x9fe1, 0x9fe2, 0xc0d2, 0xc0d3, 0xc0d4, 0x9fe3, 0xc0d5,
    +    0xc0d6, 0xc0d7, 0xc0d8, 0x9fe4, 0x9fe5, 0x9fe6, 0xc0d9, 0x9fe7,
    +    0xc0da, 0xc0db, 0x9fe8, 0x9fe9, 0xc0dc, 0x9fea, 0xc0dd, 0xc0de,
    +    0xc0df, 0x9feb, 0xc0e0, 0x9fec, 0x9fed, 0x9fee, 0x9fef, 0x9ff0,
    +    0xc0e1, 0xc0e2, 0x9ff1, 0xc0e3, 0xc0e4, 0xc0e5, 0xc0e6, 0x9ff2,
    +    0x9ff3, 0x9ff4, 0x9ff5, 0x9ff6, 0xc0e7, 0xc0e8, 0x9ff7, 0x9ff8,
    +    0xc0e9, 0x9ff9, 0x9ffa, 0x9ffb, 0xc0ea, 0x9ffc, 0x9ffd, 0x9ffe,
    +    0xa041, 0xa042, 0xa043, 0xa044, 0xc0eb, 0xc0ec, 0xa045, 0xc0ed,
    +    0xc0ee, 0xc0ef, 0xa046, 0xa047, 0xa048, 0xa049, 0xa04a, 0xa04b,
    +    0xc0f0, 0xc0f1, 0xa04c, 0xa04d, 0xc0f2, 0xa04e, 0xc0f3, 0xa04f,
    +    0xc0f4, 0xa050, 0xa051, 0xa052, 0xa053, 0xa054, 0xa055, 0xa056,
    +    0xc0f5, 0xa057, 0xa058, 0xa059, 0xa05a, 0xc0f6, 0xa061, 0xa062,
    +    0xa063, 0xa064, 0xa065, 0xa066, 0xc0f7, 0xa067, 0xa068, 0xa069,
    +    0xc0f8, 0xa06a, 0xa06b, 0xa06c, 0xc0f9, 0xa06d, 0xa06e, 0xa06f,
    +    0xa070, 0xa071, 0xa072, 0xa073, 0xa074, 0xa075, 0xa076, 0xa077,
    +    0xa078, 0xa079, 0xa07a, 0xa081, 0xa082, 0xa083, 0xa084, 0xa085,
    +    /* 0xc800 .. 0xc8ff */
    +    0xc0fa, 0xc0fb, 0xa086, 0xa087, 0xc0fc, 0xa088, 0xa089, 0xa08a,
    +    0xc0fd, 0xa08b, 0xc0fe, 0xa08c, 0xa08d, 0xa08e, 0xa08f, 0xa090,
    +    0xc1a1, 0xc1a2, 0xa091, 0xc1a3, 0xa092, 0xc1a4, 0xc1a5, 0xa093,
    +    0xa094, 0xa095, 0xa096, 0xa097, 0xc1a6, 0xc1a7, 0xa098, 0xa099,
    +    0xc1a8, 0xa09a, 0xa09b, 0xa09c, 0xc1a9, 0xa09d, 0xa09e, 0xa09f,
    +    0xa0a0, 0xa0a1, 0xa0a2, 0xa0a3, 0xc1aa, 0xc1ab, 0xa0a4, 0xc1ac,
    +    0xa0a5, 0xc1ad, 0xa0a6, 0xa0a7, 0xa0a8, 0xa0a9, 0xa0aa, 0xa0ab,
    +    0xc1ae, 0xa0ac, 0xa0ad, 0xa0ae, 0xc1af, 0xa0af, 0xa0b0, 0xa0b1,
    +    0xc1b0, 0xa0b2, 0xa0b3, 0xa0b4, 0xa0b5, 0xa0b6, 0xa0b7, 0xa0b8,
    +    0xc1b1, 0xc1b2, 0xa0b9, 0xa0ba, 0xc1b3, 0xc1b4, 0xa0bb, 0xa0bc,
    +    0xa0bd, 0xa0be, 0xa0bf, 0xa0c0, 0xc1b5, 0xa0c1, 0xa0c2, 0xa0c3,
    +    0xa0c4, 0xa0c5, 0xa0c6, 0xa0c7, 0xa0c8, 0xa0c9, 0xa0ca, 0xa0cb,
    +    0xa0cc, 0xa0cd, 0xa0ce, 0xa0cf, 0xa0d0, 0xa0d1, 0xa0d2, 0xa0d3,
    +    0xa0d4, 0xa0d5, 0xa0d6, 0xa0d7, 0xa0d8, 0xa0d9, 0xa0da, 0xa0db,
    +    0xc1b6, 0xc1b7, 0xa0dc, 0xa0dd, 0xc1b8, 0xa0de, 0xa0df, 0xa0e0,
    +    0xc1b9, 0xa0e1, 0xc1ba, 0xa0e2, 0xa0e3, 0xa0e4, 0xa0e5, 0xa0e6,
    +    0xc1bb, 0xc1bc, 0xa0e7, 0xc1bd, 0xa0e8, 0xc1be, 0xc1bf, 0xc1c0,
    +    0xa0e9, 0xa0ea, 0xa0eb, 0xc1c1, 0xc1c2, 0xc1c3, 0xa0ec, 0xa0ed,
    +    0xa0ee, 0xa0ef, 0xa0f0, 0xa0f1, 0xc1c4, 0xa0f2, 0xa0f3, 0xa0f4,
    +    0xa0f5, 0xa0f6, 0xa0f7, 0xa0f8, 0xa0f9, 0xc1c5, 0xa0fa, 0xc1c6,
    +    0xa0fb, 0xc1c7, 0xa0fc, 0xa0fd, 0xa0fe, 0xa141, 0xa142, 0xa143,
    +    0xc1c8, 0xa144, 0xa145, 0xa146, 0xa147, 0xa148, 0xa149, 0xa14a,
    +    0xa14b, 0xa14c, 0xa14d, 0xa14e, 0xa14f, 0xa150, 0xa151, 0xa152,
    +    0xa153, 0xa154, 0xa155, 0xa156, 0xc1c9, 0xc1ca, 0xa157, 0xa158,
    +    0xa159, 0xa15a, 0xa161, 0xa162, 0xc1cb, 0xa163, 0xa164, 0xa165,
    +    0xc1cc, 0xa166, 0xa167, 0xa168, 0xc1cd, 0xa169, 0xa16a, 0xa16b,
    +    0xa16c, 0xa16d, 0xa16e, 0xa16f, 0xc1ce, 0xc1cf, 0xa170, 0xc1d0,
    +    0xa171, 0xc1d1, 0xa172, 0xa173, 0xa174, 0xa175, 0xa176, 0xa177,
    +    0xc1d2, 0xc1d3, 0xa178, 0xa179, 0xc1d4, 0xa17a, 0xa181, 0xa182,
    +    0xa183, 0xa184, 0xa185, 0xa186, 0xa187, 0xa188, 0xa189, 0xa18a,
    +    0xa18b, 0xa18c, 0xa18d, 0xa18e, 0xa18f, 0xc1d5, 0xa190, 0xa191,
    +    0xa192, 0xa193, 0xa194, 0xa195, 0xc1d6, 0xc1d7, 0xa196, 0xa197,
    +    /* 0xc900 .. 0xc9ff */
    +    0xc1d8, 0xa198, 0xa199, 0xa19a, 0xc1d9, 0xc1da, 0xc1db, 0xa19b,
    +    0xa19c, 0xa19d, 0xa19e, 0xa19f, 0xc1dc, 0xc1dd, 0xa1a0, 0xc1de,
    +    0xa241, 0xc1df, 0xa242, 0xa243, 0xa244, 0xa245, 0xa246, 0xa247,
    +    0xc1e0, 0xa248, 0xa249, 0xa24a, 0xa24b, 0xa24c, 0xa24d, 0xa24e,
    +    0xa24f, 0xa250, 0xa251, 0xa252, 0xa253, 0xa254, 0xa255, 0xa256,
    +    0xa257, 0xa258, 0xa259, 0xa25a, 0xc1e1, 0xa261, 0xa262, 0xa263,
    +    0xa264, 0xa265, 0xa266, 0xa267, 0xc1e2, 0xa268, 0xa269, 0xa26a,
    +    0xa26b, 0xa26c, 0xa26d, 0xa26e, 0xa26f, 0xa270, 0xa271, 0xa272,
    +    0xa273, 0xa274, 0xa275, 0xa276, 0xa277, 0xa278, 0xa279, 0xa27a,
    +    0xa281, 0xa282, 0xa283, 0xa284, 0xa285, 0xa286, 0xa287, 0xa288,
    +    0xc1e3, 0xc1e4, 0xa289, 0xa28a, 0xc1e5, 0xa28b, 0xa28c, 0xa28d,
    +    0xc1e6, 0xa28e, 0xa28f, 0xa290, 0xa291, 0xa292, 0xa293, 0xa294,
    +    0xc1e7, 0xc1e8, 0xa295, 0xc1e9, 0xa296, 0xa297, 0xa298, 0xa299,
    +    0xa29a, 0xa29b, 0xa29c, 0xa29d, 0xc1ea, 0xa29e, 0xa29f, 0xa2a0,
    +    0xc1eb, 0xa341, 0xa342, 0xa343, 0xc1ec, 0xa344, 0xa345, 0xa346,
    +    0xa347, 0xa348, 0xa349, 0xa34a, 0xc1ed, 0xa34b, 0xa34c, 0xa34d,
    +    0xa34e, 0xa34f, 0xa350, 0xa351, 0xa352, 0xa353, 0xa354, 0xa355,
    +    0xc1ee, 0xc1ef, 0xa356, 0xa357, 0xc1f0, 0xa358, 0xa359, 0xa35a,
    +    0xc1f1, 0xa361, 0xa362, 0xa363, 0xa364, 0xa365, 0xa366, 0xa367,
    +    0xc1f2, 0xc1f3, 0xa368, 0xc1f4, 0xa369, 0xc1f5, 0xa36a, 0xa36b,
    +    0xa36c, 0xa36d, 0xa36e, 0xa36f, 0xa370, 0xa371, 0xa372, 0xa373,
    +    0xa374, 0xa375, 0xa376, 0xa377, 0xa378, 0xa379, 0xa37a, 0xa381,
    +    0xa382, 0xa383, 0xa384, 0xa385, 0xa386, 0xa387, 0xa388, 0xa389,
    +    0xa38a, 0xa38b, 0xa38c, 0xa38d, 0xa38e, 0xa38f, 0xa390, 0xa391,
    +    0xc1f6, 0xc1f7, 0xa392, 0xa393, 0xc1f8, 0xa394, 0xa395, 0xc1f9,
    +    0xc1fa, 0xa396, 0xc1fb, 0xa397, 0xa398, 0xa399, 0xa39a, 0xa39b,
    +    0xc1fc, 0xc1fd, 0xa39c, 0xc1fe, 0xa39d, 0xc2a1, 0xc2a2, 0xa39e,
    +    0xa39f, 0xc2a3, 0xc2a4, 0xa3a0, 0xc2a5, 0xc2a6, 0xa441, 0xa442,
    +    0xc2a7, 0xa443, 0xc2a8, 0xa444, 0xc2a9, 0xa445, 0xa446, 0xc2aa,
    +    0xa447, 0xa448, 0xa449, 0xa44a, 0xc2ab, 0xc2ac, 0xa44b, 0xc2ad,
    +    0xc2ae, 0xc2af, 0xa44c, 0xa44d, 0xa44e, 0xa44f, 0xa450, 0xa451,
    +    0xc2b0, 0xc2b1, 0xa452, 0xa453, 0xc2b2, 0xa454, 0xa455, 0xa456,
    +    /* 0xca00 .. 0xcaff */
    +    0xc2b3, 0xa457, 0xa458, 0xa459, 0xa45a, 0xa461, 0xa462, 0xa463,
    +    0xc2b4, 0xc2b5, 0xa464, 0xc2b6, 0xc2b7, 0xc2b8, 0xa465, 0xa466,
    +    0xa467, 0xa468, 0xa469, 0xa46a, 0xc2b9, 0xa46b, 0xa46c, 0xa46d,
    +    0xc2ba, 0xa46e, 0xa46f, 0xa470, 0xa471, 0xa472, 0xa473, 0xa474,
    +    0xa475, 0xa476, 0xa477, 0xa478, 0xa479, 0xa47a, 0xa481, 0xa482,
    +    0xa483, 0xc2bb, 0xa484, 0xa485, 0xa486, 0xa487, 0xa488, 0xa489,
    +    0xa48a, 0xa48b, 0xa48c, 0xa48d, 0xa48e, 0xa48f, 0xa490, 0xa491,
    +    0xa492, 0xa493, 0xa494, 0xa495, 0xa496, 0xa497, 0xa498, 0xa499,
    +    0xa49a, 0xa49b, 0xa49c, 0xa49d, 0xa49e, 0xa49f, 0xa4a0, 0xa541,
    +    0xa542, 0xa543, 0xa544, 0xa545, 0xc2bc, 0xc2bd, 0xa546, 0xa547,
    +    0xc2be, 0xa548, 0xa549, 0xa54a, 0xc2bf, 0xa54b, 0xa54c, 0xa54d,
    +    0xa54e, 0xa54f, 0xa550, 0xa551, 0xc2c0, 0xc2c1, 0xa552, 0xc2c2,
    +    0xc2c3, 0xc2c4, 0xa553, 0xa554, 0xa555, 0xa556, 0xa557, 0xa558,
    +    0xc2c5, 0xa559, 0xa55a, 0xa561, 0xa562, 0xa563, 0xa564, 0xa565,
    +    0xa566, 0xa567, 0xa568, 0xa569, 0xa56a, 0xa56b, 0xa56c, 0xa56d,
    +    0xa56e, 0xa56f, 0xa570, 0xa571, 0xa572, 0xc2c6, 0xa573, 0xa574,
    +    0xa575, 0xa576, 0xa577, 0xa578, 0xc2c7, 0xa579, 0xa57a, 0xa581,
    +    0xa582, 0xa583, 0xa584, 0xa585, 0xa586, 0xa587, 0xa588, 0xa589,
    +    0xa58a, 0xa58b, 0xa58c, 0xa58d, 0xa58e, 0xa58f, 0xa590, 0xa591,
    +    0xc2c8, 0xa592, 0xa593, 0xa594, 0xa595, 0xa596, 0xa597, 0xa598,
    +    0xa599, 0xa59a, 0xa59b, 0xa59c, 0xa59d, 0xa59e, 0xa59f, 0xa5a0,
    +    0xa641, 0xa642, 0xa643, 0xa644, 0xa645, 0xa646, 0xa647, 0xa648,
    +    0xa649, 0xa64a, 0xa64b, 0xa64c, 0xa64d, 0xa64e, 0xa64f, 0xa650,
    +    0xa651, 0xa652, 0xa653, 0xa654, 0xc2c9, 0xc2ca, 0xa655, 0xa656,
    +    0xc2cb, 0xa657, 0xa658, 0xa659, 0xc2cc, 0xa65a, 0xa661, 0xa662,
    +    0xa663, 0xa664, 0xa665, 0xa666, 0xc2cd, 0xc2ce, 0xa667, 0xc2cf,
    +    0xa668, 0xc2d0, 0xa669, 0xc2d1, 0xa66a, 0xa66b, 0xa66c, 0xa66d,
    +    0xc2d2, 0xc2d3, 0xa66e, 0xa66f, 0xa670, 0xa671, 0xa672, 0xa673,
    +    0xc2d4, 0xa674, 0xa675, 0xa676, 0xa677, 0xa678, 0xa679, 0xa67a,
    +    0xa681, 0xa682, 0xa683, 0xa684, 0xc2d5, 0xa685, 0xa686, 0xa687,
    +    0xa688, 0xa689, 0xa68a, 0xa68b, 0xc2d6, 0xa68c, 0xa68d, 0xa68e,
    +    0xa68f, 0xa690, 0xa691, 0xa692, 0xa693, 0xa694, 0xa695, 0xa696,
    +    /* 0xcb00 .. 0xcbff */
    +    0xa697, 0xa698, 0xa699, 0xa69a, 0xa69b, 0xa69c, 0xa69d, 0xa69e,
    +    0xc2d7, 0xa69f, 0xa6a0, 0xa741, 0xa742, 0xa743, 0xa744, 0xa745,
    +    0xc2d8, 0xa746, 0xa747, 0xa748, 0xc2d9, 0xa749, 0xa74a, 0xa74b,
    +    0xc2da, 0xa74c, 0xa74d, 0xa74e, 0xa74f, 0xa750, 0xa751, 0xa752,
    +    0xc2db, 0xc2dc, 0xa753, 0xa754, 0xa755, 0xa756, 0xa757, 0xa758,
    +    0xa759, 0xa75a, 0xa761, 0xa762, 0xa763, 0xa764, 0xa765, 0xa766,
    +    0xa767, 0xa768, 0xa769, 0xa76a, 0xa76b, 0xa76c, 0xa76d, 0xa76e,
    +    0xa76f, 0xa770, 0xa771, 0xa772, 0xa773, 0xa774, 0xa775, 0xa776,
    +    0xa777, 0xc2dd, 0xa778, 0xa779, 0xa77a, 0xa781, 0xa782, 0xa783,
    +    0xc2de, 0xc2df, 0xa784, 0xa785, 0xc2e0, 0xa786, 0xa787, 0xa788,
    +    0xc2e1, 0xa789, 0xa78a, 0xa78b, 0xa78c, 0xa78d, 0xa78e, 0xa78f,
    +    0xc2e2, 0xc2e3, 0xa790, 0xa791, 0xa792, 0xc2e4, 0xa793, 0xa794,
    +    0xa795, 0xa796, 0xa797, 0xa798, 0xc2e5, 0xa799, 0xa79a, 0xa79b,
    +    0xa79c, 0xa79d, 0xa79e, 0xa79f, 0xa7a0, 0xa841, 0xa842, 0xa843,
    +    0xa844, 0xa845, 0xa846, 0xa847, 0xa848, 0xa849, 0xa84a, 0xa84b,
    +    0xc2e6, 0xc2e7, 0xa84c, 0xa84d, 0xa84e, 0xa84f, 0xa850, 0xa851,
    +    0xa852, 0xa853, 0xa854, 0xa855, 0xa856, 0xa857, 0xa858, 0xa859,
    +    0xa85a, 0xa861, 0xa862, 0xa863, 0xa864, 0xa865, 0xa866, 0xa867,
    +    0xa868, 0xa869, 0xa86a, 0xa86b, 0xa86c, 0xa86d, 0xa86e, 0xa86f,
    +    0xa870, 0xa871, 0xa872, 0xa873, 0xc2e8, 0xa874, 0xa875, 0xa876,
    +    0xa877, 0xa878, 0xa879, 0xa87a, 0xa881, 0xa882, 0xa883, 0xa884,
    +    0xa885, 0xa886, 0xa887, 0xa888, 0xa889, 0xa88a, 0xa88b, 0xa88c,
    +    0xa88d, 0xa88e, 0xa88f, 0xa890, 0xa891, 0xa892, 0xa893, 0xa894,
    +    0xc2e9, 0xa895, 0xa896, 0xa897, 0xa898, 0xa899, 0xa89a, 0xa89b,
    +    0xa89c, 0xa89d, 0xa89e, 0xa89f, 0xa8a0, 0xa941, 0xa942, 0xa943,
    +    0xa944, 0xa945, 0xa946, 0xa947, 0xa948, 0xa949, 0xa94a, 0xa94b,
    +    0xa94c, 0xa94d, 0xa94e, 0xa94f, 0xc2ea, 0xa950, 0xa951, 0xa952,
    +    0xa953, 0xa954, 0xa955, 0xa956, 0xa957, 0xa958, 0xa959, 0xa95a,
    +    0xa961, 0xa962, 0xa963, 0xa964, 0xc2eb, 0xa965, 0xa966, 0xc2ec,
    +    0xa967, 0xc2ed, 0xa968, 0xa969, 0xa96a, 0xa96b, 0xa96c, 0xa96d,
    +    0xa96e, 0xa96f, 0xa970, 0xa971, 0xa972, 0xa973, 0xa974, 0xa975,
    +    0xa976, 0xa977, 0xa978, 0xa979, 0xa97a, 0xa981, 0xa982, 0xa983,
    +    /* 0xcc00 .. 0xccff */
    +    0xa984, 0xa985, 0xa986, 0xa987, 0xa988, 0xa989, 0xa98a, 0xa98b,
    +    0xa98c, 0xa98d, 0xa98e, 0xa98f, 0xc2ee, 0xc2ef, 0xa990, 0xa991,
    +    0xc2f0, 0xa992, 0xa993, 0xa994, 0xc2f1, 0xa995, 0xa996, 0xa997,
    +    0xa998, 0xa999, 0xa99a, 0xa99b, 0xc2f2, 0xc2f3, 0xa99c, 0xa99d,
    +    0xa99e, 0xc2f4, 0xc2f5, 0xa99f, 0xa9a0, 0xaa41, 0xaa42, 0xc2f6,
    +    0xc2f7, 0xc2f8, 0xaa43, 0xaa44, 0xc2f9, 0xaa45, 0xc2fa, 0xaa46,
    +    0xc2fb, 0xaa47, 0xaa48, 0xaa49, 0xaa4a, 0xaa4b, 0xaa4c, 0xaa4d,
    +    0xc2fc, 0xc2fd, 0xaa4e, 0xc2fe, 0xc3a1, 0xc3a2, 0xc3a3, 0xaa4f,
    +    0xaa50, 0xaa51, 0xaa52, 0xaa53, 0xc3a4, 0xc3a5, 0xaa54, 0xaa55,
    +    0xc3a6, 0xaa56, 0xaa57, 0xaa58, 0xc3a7, 0xaa59, 0xaa5a, 0xaa61,
    +    0xaa62, 0xaa63, 0xaa64, 0xaa65, 0xc3a8, 0xc3a9, 0xaa66, 0xc3aa,
    +    0xc3ab, 0xc3ac, 0xaa67, 0xaa68, 0xaa69, 0xaa6a, 0xaa6b, 0xaa6c,
    +    0xc3ad, 0xaa6d, 0xaa6e, 0xaa6f, 0xc3ae, 0xaa70, 0xc3af, 0xaa71,
    +    0xc3b0, 0xaa72, 0xaa73, 0xaa74, 0xaa75, 0xaa76, 0xaa77, 0xaa78,
    +    0xc3b1, 0xaa79, 0xaa7a, 0xaa81, 0xaa82, 0xc3b2, 0xaa83, 0xaa84,
    +    0xaa85, 0xaa86, 0xaa87, 0xaa88, 0xaa89, 0xaa8a, 0xaa8b, 0xaa8c,
    +    0xaa8d, 0xaa8e, 0xaa8f, 0xaa90, 0xaa91, 0xaa92, 0xaa93, 0xaa94,
    +    0xaa95, 0xaa96, 0xaa97, 0xaa98, 0xaa99, 0xaa9a, 0xaa9b, 0xaa9c,
    +    0xaa9d, 0xaa9e, 0xaa9f, 0xaaa0, 0xab41, 0xab42, 0xab43, 0xab44,
    +    0xc3b3, 0xc3b4, 0xab45, 0xab46, 0xc3b5, 0xab47, 0xab48, 0xab49,
    +    0xc3b6, 0xab4a, 0xab4b, 0xab4c, 0xab4d, 0xab4e, 0xab4f, 0xab50,
    +    0xc3b7, 0xc3b8, 0xab51, 0xc3b9, 0xc3ba, 0xc3bb, 0xab52, 0xab53,
    +    0xab54, 0xab55, 0xab56, 0xab57, 0xc3bc, 0xc3bd, 0xab58, 0xab59,
    +    0xc3be, 0xab5a, 0xab61, 0xab62, 0xc3bf, 0xab63, 0xab64, 0xab65,
    +    0xab66, 0xab67, 0xab68, 0xab69, 0xc3c0, 0xc3c1, 0xab6a, 0xc3c2,
    +    0xab6b, 0xc3c3, 0xab6c, 0xab6d, 0xab6e, 0xab6f, 0xab70, 0xab71,
    +    0xc3c4, 0xab72, 0xab73, 0xab74, 0xc3c5, 0xab75, 0xab76, 0xab77,
    +    0xab78, 0xab79, 0xab7a, 0xab81, 0xab82, 0xab83, 0xab84, 0xab85,
    +    0xab86, 0xab87, 0xab88, 0xab89, 0xc3c6, 0xab8a, 0xab8b, 0xab8c,
    +    0xab8d, 0xab8e, 0xab8f, 0xab90, 0xc3c7, 0xab91, 0xab92, 0xab93,
    +    0xc3c8, 0xab94, 0xab95, 0xab96, 0xab97, 0xab98, 0xab99, 0xab9a,
    +    0xab9b, 0xab9c, 0xab9d, 0xab9e, 0xab9f, 0xaba0, 0xac41, 0xac42,
    +    /* 0xcd00 .. 0xcdff */
    +    0xac43, 0xc3c9, 0xac44, 0xac45, 0xac46, 0xac47, 0xac48, 0xac49,
    +    0xc3ca, 0xc3cb, 0xac4a, 0xac4b, 0xc3cc, 0xac4c, 0xac4d, 0xac4e,
    +    0xc3cd, 0xac4f, 0xac50, 0xac51, 0xac52, 0xac53, 0xac54, 0xac55,
    +    0xc3ce, 0xc3cf, 0xac56, 0xc3d0, 0xac57, 0xc3d1, 0xac58, 0xac59,
    +    0xac5a, 0xac61, 0xac62, 0xac63, 0xc3d2, 0xac64, 0xac65, 0xac66,
    +    0xc3d3, 0xac67, 0xac68, 0xac69, 0xc3d4, 0xac6a, 0xac6b, 0xac6c,
    +    0xac6d, 0xac6e, 0xac6f, 0xac70, 0xac71, 0xac72, 0xac73, 0xac74,
    +    0xac75, 0xc3d5, 0xac76, 0xac77, 0xac78, 0xac79, 0xac7a, 0xac81,
    +    0xac82, 0xac83, 0xac84, 0xac85, 0xac86, 0xac87, 0xac88, 0xac89,
    +    0xac8a, 0xac8b, 0xac8c, 0xac8d, 0xac8e, 0xac8f, 0xac90, 0xac91,
    +    0xac92, 0xac93, 0xac94, 0xac95, 0xac96, 0xac97, 0xac98, 0xac99,
    +    0xac9a, 0xac9b, 0xac9c, 0xac9d, 0xc3d6, 0xac9e, 0xac9f, 0xaca0,
    +    0xc3d7, 0xad41, 0xad42, 0xad43, 0xc3d8, 0xad44, 0xad45, 0xad46,
    +    0xad47, 0xad48, 0xad49, 0xad4a, 0xc3d9, 0xc3da, 0xad4b, 0xc3db,
    +    0xad4c, 0xc3dc, 0xad4d, 0xad4e, 0xad4f, 0xad50, 0xad51, 0xad52,
    +    0xc3dd, 0xad53, 0xad54, 0xad55, 0xad56, 0xad57, 0xad58, 0xad59,
    +    0xad5a, 0xad61, 0xad62, 0xad63, 0xad64, 0xad65, 0xad66, 0xad67,
    +    0xc3de, 0xad68, 0xad69, 0xad6a, 0xad6b, 0xad6c, 0xad6d, 0xad6e,
    +    0xad6f, 0xad70, 0xad71, 0xad72, 0xc3df, 0xc3e0, 0xad73, 0xad74,
    +    0xc3e1, 0xad75, 0xad76, 0xad77, 0xc3e2, 0xad78, 0xad79, 0xad7a,
    +    0xad81, 0xad82, 0xad83, 0xad84, 0xc3e3, 0xc3e4, 0xad85, 0xc3e5,
    +    0xad86, 0xc3e6, 0xad87, 0xad88, 0xad89, 0xad8a, 0xad8b, 0xad8c,
    +    0xc3e7, 0xad8d, 0xad8e, 0xad8f, 0xad90, 0xad91, 0xad92, 0xad93,
    +    0xad94, 0xad95, 0xad96, 0xad97, 0xad98, 0xad99, 0xad9a, 0xad9b,
    +    0xad9c, 0xad9d, 0xad9e, 0xad9f, 0xc3e8, 0xada0, 0xae41, 0xae42,
    +    0xae43, 0xae44, 0xae45, 0xae46, 0xc3e9, 0xae47, 0xae48, 0xae49,
    +    0xc3ea, 0xae4a, 0xae4b, 0xae4c, 0xae4d, 0xae4e, 0xae4f, 0xae50,
    +    0xae51, 0xae52, 0xae53, 0xae54, 0xae55, 0xae56, 0xae57, 0xae58,
    +    0xae59, 0xae5a, 0xae61, 0xae62, 0xae63, 0xae64, 0xae65, 0xae66,
    +    0xc3eb, 0xae67, 0xae68, 0xae69, 0xc3ec, 0xae6a, 0xae6b, 0xae6c,
    +    0xc3ed, 0xae6d, 0xae6e, 0xae6f, 0xae70, 0xae71, 0xae72, 0xae73,
    +    0xc3ee, 0xc3ef, 0xae74, 0xc3f0, 0xae75, 0xc3f1, 0xae76, 0xae77,
    +    /* 0xce00 .. 0xceff */
    +    0xae78, 0xae79, 0xae7a, 0xae81, 0xc3f2, 0xae82, 0xae83, 0xae84,
    +    0xc3f3, 0xae85, 0xae86, 0xae87, 0xc3f4, 0xae88, 0xae89, 0xae8a,
    +    0xae8b, 0xae8c, 0xae8d, 0xae8e, 0xc3f5, 0xae8f, 0xae90, 0xae91,
    +    0xae92, 0xc3f6, 0xae93, 0xae94, 0xae95, 0xae96, 0xae97, 0xae98,
    +    0xc3f7, 0xc3f8, 0xae99, 0xae9a, 0xc3f9, 0xae9b, 0xae9c, 0xae9d,
    +    0xc3fa, 0xae9e, 0xae9f, 0xaea0, 0xaf41, 0xaf42, 0xaf43, 0xaf44,
    +    0xc3fb, 0xc3fc, 0xaf45, 0xc3fd, 0xaf46, 0xc3fe, 0xaf47, 0xaf48,
    +    0xaf49, 0xaf4a, 0xaf4b, 0xaf4c, 0xaf4d, 0xaf4e, 0xaf4f, 0xaf50,
    +    0xaf51, 0xaf52, 0xaf53, 0xaf54, 0xaf55, 0xaf56, 0xaf57, 0xaf58,
    +    0xaf59, 0xaf5a, 0xaf61, 0xaf62, 0xaf63, 0xaf64, 0xaf65, 0xaf66,
    +    0xaf67, 0xaf68, 0xaf69, 0xaf6a, 0xaf6b, 0xaf6c, 0xaf6d, 0xaf6e,
    +    0xc4a1, 0xc4a2, 0xaf6f, 0xaf70, 0xc4a3, 0xaf71, 0xaf72, 0xc4a4,
    +    0xc4a5, 0xc4a6, 0xaf73, 0xaf74, 0xaf75, 0xaf76, 0xaf77, 0xaf78,
    +    0xc4a7, 0xc4a8, 0xaf79, 0xc4a9, 0xaf7a, 0xc4aa, 0xaf81, 0xaf82,
    +    0xaf83, 0xaf84, 0xaf85, 0xaf86, 0xc4ab, 0xc4ac, 0xaf87, 0xaf88,
    +    0xc4ad, 0xaf89, 0xaf8a, 0xaf8b, 0xc4ae, 0xaf8c, 0xaf8d, 0xaf8e,
    +    0xaf8f, 0xaf90, 0xaf91, 0xaf92, 0xc4af, 0xc4b0, 0xaf93, 0xc4b1,
    +    0xaf94, 0xc4b2, 0xaf95, 0xaf96, 0xaf97, 0xaf98, 0xaf99, 0xaf9a,
    +    0xc4b3, 0xc4b4, 0xaf9b, 0xaf9c, 0xc4b5, 0xaf9d, 0xaf9e, 0xaf9f,
    +    0xc4b6, 0xafa0, 0xb041, 0xb042, 0xb043, 0xb044, 0xb045, 0xb046,
    +    0xc4b7, 0xc4b8, 0xb047, 0xc4b9, 0xc4ba, 0xc4bb, 0xb048, 0xb049,
    +    0xb04a, 0xb04b, 0xb04c, 0xb04d, 0xc4bc, 0xc4bd, 0xb04e, 0xb04f,
    +    0xb050, 0xb051, 0xb052, 0xb053, 0xb054, 0xb055, 0xb056, 0xb057,
    +    0xb058, 0xb059, 0xb05a, 0xb061, 0xb062, 0xb063, 0xb064, 0xb065,
    +    0xb066, 0xc4be, 0xb067, 0xb068, 0xb069, 0xb06a, 0xb06b, 0xb06c,
    +    0xb06d, 0xb06e, 0xb06f, 0xb070, 0xb071, 0xb072, 0xb073, 0xb074,
    +    0xb075, 0xb076, 0xb077, 0xb078, 0xb079, 0xb07a, 0xb081, 0xb082,
    +    0xb083, 0xb084, 0xb085, 0xb086, 0xb087, 0xb088, 0xb089, 0xb08a,
    +    0xb08b, 0xb08c, 0xb08d, 0xb08e, 0xc4bf, 0xc4c0, 0xb08f, 0xb090,
    +    0xc4c1, 0xb091, 0xb092, 0xc4c2, 0xc4c3, 0xb093, 0xb094, 0xb095,
    +    0xb096, 0xb097, 0xb098, 0xb099, 0xc4c4, 0xc4c5, 0xb09a, 0xc4c6,
    +    0xc4c7, 0xc4c8, 0xb09b, 0xb09c, 0xb09d, 0xb09e, 0xb09f, 0xb0a0,
    +    /* 0xcf00 .. 0xcfff */
    +    0xc4c9, 0xc4ca, 0xb141, 0xb142, 0xc4cb, 0xb143, 0xb144, 0xb145,
    +    0xc4cc, 0xb146, 0xb147, 0xb148, 0xb149, 0xb14a, 0xb14b, 0xb14c,
    +    0xc4cd, 0xc4ce, 0xb14d, 0xc4cf, 0xb14e, 0xc4d0, 0xb14f, 0xb150,
    +    0xb151, 0xb152, 0xb153, 0xb154, 0xc4d1, 0xb155, 0xb156, 0xb157,
    +    0xc4d2, 0xb158, 0xb159, 0xb15a, 0xc4d3, 0xb161, 0xb162, 0xb163,
    +    0xb164, 0xb165, 0xb166, 0xb167, 0xc4d4, 0xc4d5, 0xb168, 0xc4d6,
    +    0xc4d7, 0xc4d8, 0xb169, 0xb16a, 0xb16b, 0xb16c, 0xb16d, 0xb16e,
    +    0xc4d9, 0xb16f, 0xb170, 0xb171, 0xb172, 0xb173, 0xb174, 0xb175,
    +    0xb176, 0xb177, 0xb178, 0xb179, 0xb17a, 0xb181, 0xb182, 0xb183,
    +    0xb184, 0xb185, 0xb186, 0xb187, 0xb188, 0xb189, 0xb18a, 0xb18b,
    +    0xb18c, 0xb18d, 0xb18e, 0xb18f, 0xc4da, 0xc4db, 0xb190, 0xb191,
    +    0xc4dc, 0xb192, 0xb193, 0xb194, 0xc4dd, 0xb195, 0xb196, 0xb197,
    +    0xb198, 0xb199, 0xb19a, 0xb19b, 0xc4de, 0xc4df, 0xb19c, 0xc4e0,
    +    0xb19d, 0xc4e1, 0xb19e, 0xb19f, 0xb1a0, 0xb241, 0xb242, 0xb243,
    +    0xc4e2, 0xc4e3, 0xb244, 0xb245, 0xc4e4, 0xb246, 0xb247, 0xb248,
    +    0xc4e5, 0xb249, 0xb24a, 0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f,
    +    0xc4e6, 0xb250, 0xb251, 0xb252, 0xb253, 0xc4e7, 0xb254, 0xb255,
    +    0xb256, 0xb257, 0xb258, 0xb259, 0xc4e8, 0xb25a, 0xb261, 0xb262,
    +    0xb263, 0xb264, 0xb265, 0xb266, 0xb267, 0xb268, 0xb269, 0xb26a,
    +    0xb26b, 0xb26c, 0xb26d, 0xb26e, 0xb26f, 0xb270, 0xb271, 0xb272,
    +    0xb273, 0xc4e9, 0xb274, 0xb275, 0xb276, 0xb277, 0xb278, 0xb279,
    +    0xc4ea, 0xb27a, 0xb281, 0xb282, 0xb283, 0xb284, 0xb285, 0xb286,
    +    0xc4eb, 0xb287, 0xb288, 0xb289, 0xb28a, 0xb28b, 0xb28c, 0xb28d,
    +    0xb28e, 0xb28f, 0xb290, 0xb291, 0xb292, 0xb293, 0xb294, 0xb295,
    +    0xb296, 0xb297, 0xb298, 0xb299, 0xc4ec, 0xb29a, 0xb29b, 0xb29c,
    +    0xb29d, 0xb29e, 0xb29f, 0xb2a0, 0xb341, 0xb342, 0xb343, 0xb344,
    +    0xb345, 0xb346, 0xb347, 0xb348, 0xb349, 0xb34a, 0xb34b, 0xb34c,
    +    0xb34d, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352, 0xb353, 0xb354,
    +    0xc4ed, 0xc4ee, 0xb355, 0xb356, 0xc4ef, 0xb357, 0xb358, 0xb359,
    +    0xc4f0, 0xb35a, 0xb361, 0xb362, 0xb363, 0xb364, 0xb365, 0xb366,
    +    0xc4f1, 0xc4f2, 0xb367, 0xc4f3, 0xb368, 0xc4f4, 0xb369, 0xb36a,
    +    0xb36b, 0xb36c, 0xb36d, 0xb36e, 0xc4f5, 0xb36f, 0xb370, 0xb371,
    +    /* 0xd000 .. 0xd0ff */
    +    0xc4f6, 0xb372, 0xb373, 0xb374, 0xc4f7, 0xb375, 0xb376, 0xb377,
    +    0xb378, 0xb379, 0xb37a, 0xb381, 0xb382, 0xb383, 0xb384, 0xb385,
    +    0xb386, 0xc4f8, 0xb387, 0xb388, 0xb389, 0xb38a, 0xb38b, 0xb38c,
    +    0xc4f9, 0xb38d, 0xb38e, 0xb38f, 0xb390, 0xb391, 0xb392, 0xb393,
    +    0xb394, 0xb395, 0xb396, 0xb397, 0xb398, 0xb399, 0xb39a, 0xb39b,
    +    0xb39c, 0xb39d, 0xb39e, 0xb39f, 0xb3a0, 0xc4fa, 0xb441, 0xb442,
    +    0xb443, 0xb444, 0xb445, 0xb446, 0xc4fb, 0xc4fc, 0xb447, 0xb448,
    +    0xc4fd, 0xb449, 0xb44a, 0xb44b, 0xc4fe, 0xb44c, 0xb44d, 0xb44e,
    +    0xb44f, 0xb450, 0xb451, 0xb452, 0xc5a1, 0xc5a2, 0xb453, 0xc5a3,
    +    0xb454, 0xc5a4, 0xb455, 0xb456, 0xb457, 0xb458, 0xb459, 0xb45a,
    +    0xc5a5, 0xb461, 0xb462, 0xb463, 0xc5a6, 0xb464, 0xb465, 0xb466,
    +    0xc5a7, 0xb467, 0xb468, 0xb469, 0xb46a, 0xb46b, 0xb46c, 0xb46d,
    +    0xc5a8, 0xb46e, 0xb46f, 0xb470, 0xb471, 0xb472, 0xb473, 0xb474,
    +    0xb475, 0xb476, 0xb477, 0xb478, 0xc5a9, 0xc5aa, 0xb479, 0xb47a,
    +    0xc5ab, 0xb481, 0xb482, 0xb483, 0xc5ac, 0xb484, 0xb485, 0xb486,
    +    0xb487, 0xb488, 0xb489, 0xb48a, 0xc5ad, 0xc5ae, 0xb48b, 0xb48c,
    +    0xb48d, 0xc5af, 0xb48e, 0xb48f, 0xb490, 0xb491, 0xb492, 0xb493,
    +    0xb494, 0xb495, 0xb496, 0xb497, 0xb498, 0xb499, 0xb49a, 0xb49b,
    +    0xb49c, 0xb49d, 0xb49e, 0xb49f, 0xb4a0, 0xb541, 0xb542, 0xb543,
    +    0xb544, 0xb545, 0xb546, 0xb547, 0xb548, 0xb549, 0xb54a, 0xb54b,
    +    0xb54c, 0xb54d, 0xb54e, 0xb54f, 0xc5b0, 0xc5b1, 0xb550, 0xb551,
    +    0xc5b2, 0xb552, 0xb553, 0xb554, 0xc5b3, 0xb555, 0xb556, 0xb557,
    +    0xb558, 0xb559, 0xb55a, 0xb561, 0xc5b4, 0xc5b5, 0xb562, 0xc5b6,
    +    0xb563, 0xc5b7, 0xb564, 0xb565, 0xb566, 0xb567, 0xb568, 0xb569,
    +    0xc5b8, 0xc5b9, 0xb56a, 0xb56b, 0xc5ba, 0xb56c, 0xb56d, 0xb56e,
    +    0xc5bb, 0xc5bc, 0xb56f, 0xb570, 0xb571, 0xb572, 0xb573, 0xb574,
    +    0xc5bd, 0xc5be, 0xb575, 0xc5bf, 0xc5c0, 0xc5c1, 0xb576, 0xb577,
    +    0xb578, 0xb579, 0xb57a, 0xb581, 0xc5c2, 0xc5c3, 0xb582, 0xb583,
    +    0xc5c4, 0xb584, 0xb585, 0xb586, 0xc5c5, 0xb587, 0xb588, 0xb589,
    +    0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xc5c6, 0xc5c7, 0xb58e, 0xc5c8,
    +    0xc5c9, 0xc5ca, 0xb58f, 0xb590, 0xb591, 0xb592, 0xb593, 0xb594,
    +    0xc5cb, 0xb595, 0xb596, 0xb597, 0xb598, 0xb599, 0xb59a, 0xb59b,
    +    /* 0xd100 .. 0xd1ff */
    +    0xb59c, 0xb59d, 0xb59e, 0xb59f, 0xb5a0, 0xb641, 0xb642, 0xb643,
    +    0xb644, 0xb645, 0xb646, 0xb647, 0xb648, 0xc5cc, 0xb649, 0xb64a,
    +    0xb64b, 0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652,
    +    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,
    +    0xb661, 0xb662, 0xb663, 0xb664, 0xb665, 0xb666, 0xb667, 0xb668,
    +    0xb669, 0xb66a, 0xb66b, 0xb66c, 0xb66d, 0xb66e, 0xb66f, 0xb670,
    +    0xc5cd, 0xc5ce, 0xb671, 0xb672, 0xc5cf, 0xb673, 0xb674, 0xb675,
    +    0xc5d0, 0xb676, 0xc5d1, 0xb677, 0xb678, 0xb679, 0xb67a, 0xb681,
    +    0xc5d2, 0xc5d3, 0xb682, 0xc5d4, 0xc5d5, 0xc5d6, 0xb683, 0xb684,
    +    0xb685, 0xb686, 0xb687, 0xb688, 0xc5d7, 0xc5d8, 0xb689, 0xb68a,
    +    0xc5d9, 0xb68b, 0xb68c, 0xb68d, 0xc5da, 0xb68e, 0xb68f, 0xb690,
    +    0xb691, 0xb692, 0xb693, 0xb694, 0xc5db, 0xc5dc, 0xb695, 0xc5dd,
    +    0xb696, 0xc5de, 0xb697, 0xb698, 0xb699, 0xb69a, 0xb69b, 0xb69c,
    +    0xc5df, 0xb69d, 0xb69e, 0xb69f, 0xc5e0, 0xb6a0, 0xb741, 0xb742,
    +    0xb743, 0xb744, 0xb745, 0xb746, 0xb747, 0xb748, 0xb749, 0xb74a,
    +    0xb74b, 0xb74c, 0xb74d, 0xb74e, 0xc5e1, 0xb74f, 0xb750, 0xb751,
    +    0xb752, 0xb753, 0xb754, 0xb755, 0xc5e2, 0xb756, 0xb757, 0xb758,
    +    0xc5e3, 0xb759, 0xb75a, 0xb761, 0xb762, 0xb763, 0xb764, 0xb765,
    +    0xb766, 0xb767, 0xb768, 0xb769, 0xb76a, 0xb76b, 0xb76c, 0xb76d,
    +    0xb76e, 0xb76f, 0xb770, 0xb771, 0xb772, 0xb773, 0xb774, 0xb775,
    +    0xc5e4, 0xc5e5, 0xb776, 0xb777, 0xc5e6, 0xb778, 0xb779, 0xb77a,
    +    0xc5e7, 0xb781, 0xb782, 0xb783, 0xb784, 0xb785, 0xb786, 0xb787,
    +    0xc5e8, 0xc5e9, 0xb788, 0xc5ea, 0xb789, 0xc5eb, 0xb78a, 0xb78b,
    +    0xb78c, 0xb78d, 0xc5ec, 0xb78e, 0xc5ed, 0xb78f, 0xb790, 0xb791,
    +    0xc5ee, 0xb792, 0xb793, 0xb794, 0xb795, 0xb796, 0xb797, 0xb798,
    +    0xb799, 0xb79a, 0xb79b, 0xb79c, 0xb79d, 0xb79e, 0xb79f, 0xb7a0,
    +    0xb841, 0xb842, 0xb843, 0xb844, 0xb845, 0xb846, 0xb847, 0xb848,
    +    0xc5ef, 0xb849, 0xb84a, 0xb84b, 0xb84c, 0xb84d, 0xb84e, 0xb84f,
    +    0xb850, 0xb851, 0xb852, 0xb853, 0xb854, 0xb855, 0xb856, 0xb857,
    +    0xb858, 0xb859, 0xb85a, 0xb861, 0xb862, 0xb863, 0xb864, 0xb865,
    +    0xb866, 0xb867, 0xb868, 0xb869, 0xc5f0, 0xb86a, 0xb86b, 0xb86c,
    +    0xc5f1, 0xb86d, 0xb86e, 0xb86f, 0xb870, 0xb871, 0xb872, 0xb873,
    +    /* 0xd200 .. 0xd2ff */
    +    0xb874, 0xb875, 0xb876, 0xb877, 0xb878, 0xb879, 0xb87a, 0xc5f2,
    +    0xb881, 0xc5f3, 0xb882, 0xb883, 0xb884, 0xb885, 0xb886, 0xb887,
    +    0xc5f4, 0xb888, 0xb889, 0xb88a, 0xb88b, 0xb88c, 0xb88d, 0xb88e,
    +    0xb88f, 0xb890, 0xb891, 0xb892, 0xb893, 0xb894, 0xb895, 0xb896,
    +    0xb897, 0xb898, 0xb899, 0xb89a, 0xb89b, 0xb89c, 0xb89d, 0xb89e,
    +    0xb89f, 0xb8a0, 0xb941, 0xb942, 0xc5f5, 0xc5f6, 0xb943, 0xb944,
    +    0xc5f7, 0xb945, 0xb946, 0xb947, 0xc5f8, 0xb948, 0xb949, 0xb94a,
    +    0xb94b, 0xb94c, 0xb94d, 0xb94e, 0xc5f9, 0xc5fa, 0xb94f, 0xc5fb,
    +    0xb950, 0xc5fc, 0xb951, 0xb952, 0xb953, 0xb954, 0xb955, 0xb956,
    +    0xc5fd, 0xb957, 0xb958, 0xb959, 0xb95a, 0xb961, 0xb962, 0xb963,
    +    0xb964, 0xb965, 0xb966, 0xb967, 0xb968, 0xb969, 0xb96a, 0xb96b,
    +    0xb96c, 0xb96d, 0xb96e, 0xb96f, 0xc5fe, 0xb970, 0xb971, 0xb972,
    +    0xb973, 0xb974, 0xb975, 0xb976, 0xc6a1, 0xb977, 0xb978, 0xb979,
    +    0xb97a, 0xb981, 0xb982, 0xb983, 0xb984, 0xb985, 0xb986, 0xb987,
    +    0xb988, 0xb989, 0xb98a, 0xb98b, 0xb98c, 0xb98d, 0xb98e, 0xb98f,
    +    0xb990, 0xb991, 0xb992, 0xb993, 0xb994, 0xb995, 0xb996, 0xb997,
    +    0xc6a2, 0xc6a3, 0xb998, 0xb999, 0xc6a4, 0xb99a, 0xb99b, 0xb99c,
    +    0xc6a5, 0xb99d, 0xb99e, 0xb99f, 0xb9a0, 0xba41, 0xba42, 0xba43,
    +    0xc6a6, 0xc6a7, 0xba44, 0xba45, 0xba46, 0xc6a8, 0xba47, 0xba48,
    +    0xba49, 0xba4a, 0xba4b, 0xba4c, 0xc6a9, 0xba4d, 0xba4e, 0xba4f,
    +    0xc6aa, 0xba50, 0xba51, 0xba52, 0xc6ab, 0xba53, 0xba54, 0xba55,
    +    0xba56, 0xba57, 0xba58, 0xba59, 0xc6ac, 0xba5a, 0xba61, 0xba62,
    +    0xba63, 0xc6ad, 0xba64, 0xba65, 0xba66, 0xba67, 0xba68, 0xba69,
    +    0xc6ae, 0xc6af, 0xba6a, 0xba6b, 0xc6b0, 0xba6c, 0xba6d, 0xc6b1,
    +    0xc6b2, 0xba6e, 0xc6b3, 0xba6f, 0xba70, 0xba71, 0xba72, 0xba73,
    +    0xc6b4, 0xc6b5, 0xba74, 0xc6b6, 0xba75, 0xba76, 0xba77, 0xba78,
    +    0xba79, 0xba7a, 0xba81, 0xba82, 0xc6b7, 0xba83, 0xba84, 0xba85,
    +    0xc6b8, 0xba86, 0xba87, 0xba88, 0xc6b9, 0xba89, 0xba8a, 0xba8b,
    +    0xba8c, 0xba8d, 0xba8e, 0xba8f, 0xc6ba, 0xc6bb, 0xba90, 0xba91,
    +    0xba92, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,
    +    0xc6bc, 0xc6bd, 0xba9a, 0xba9b, 0xc6be, 0xba9c, 0xba9d, 0xba9e,
    +    0xc6bf, 0xba9f, 0xbaa0, 0xbb41, 0xbb42, 0xbb43, 0xbb44, 0xbb45,
    +    /* 0xd300 .. 0xd3ff */
    +    0xc6c0, 0xc6c1, 0xbb46, 0xc6c2, 0xbb47, 0xc6c3, 0xbb48, 0xbb49,
    +    0xbb4a, 0xbb4b, 0xbb4c, 0xbb4d, 0xc6c4, 0xc6c5, 0xc6c6, 0xbb4e,
    +    0xc6c7, 0xbb4f, 0xbb50, 0xbb51, 0xc6c8, 0xbb52, 0xc6c9, 0xbb53,
    +    0xbb54, 0xbb55, 0xbb56, 0xbb57, 0xc6ca, 0xc6cb, 0xbb58, 0xc6cc,
    +    0xc6cd, 0xc6ce, 0xbb59, 0xbb5a, 0xbb61, 0xc6cf, 0xbb62, 0xbb63,
    +    0xc6d0, 0xc6d1, 0xbb64, 0xbb65, 0xc6d2, 0xbb66, 0xbb67, 0xbb68,
    +    0xc6d3, 0xbb69, 0xbb6a, 0xbb6b, 0xbb6c, 0xbb6d, 0xbb6e, 0xbb6f,
    +    0xc6d4, 0xc6d5, 0xbb70, 0xc6d6, 0xc6d7, 0xc6d8, 0xbb71, 0xbb72,
    +    0xbb73, 0xbb74, 0xbb75, 0xbb76, 0xc6d9, 0xc6da, 0xbb77, 0xbb78,
    +    0xbb79, 0xbb7a, 0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86,
    +    0xbb87, 0xbb88, 0xbb89, 0xbb8a, 0xbb8b, 0xbb8c, 0xbb8d, 0xbb8e,
    +    0xbb8f, 0xbb90, 0xbb91, 0xbb92, 0xbb93, 0xbb94, 0xbb95, 0xbb96,
    +    0xbb97, 0xbb98, 0xbb99, 0xbb9a, 0xbb9b, 0xbb9c, 0xbb9d, 0xbb9e,
    +    0xbb9f, 0xbba0, 0xbc41, 0xbc42, 0xbc43, 0xbc44, 0xbc45, 0xbc46,
    +    0xbc47, 0xbc48, 0xbc49, 0xbc4a, 0xbc4b, 0xbc4c, 0xbc4d, 0xbc4e,
    +    0xbc4f, 0xbc50, 0xbc51, 0xbc52, 0xc6db, 0xc6dc, 0xbc53, 0xbc54,
    +    0xc6dd, 0xbc55, 0xbc56, 0xbc57, 0xc6de, 0xbc58, 0xbc59, 0xbc5a,
    +    0xbc61, 0xbc62, 0xbc63, 0xbc64, 0xc6df, 0xc6e0, 0xbc65, 0xc6e1,
    +    0xc6e2, 0xc6e3, 0xbc66, 0xbc67, 0xbc68, 0xbc69, 0xbc6a, 0xbc6b,
    +    0xc6e4, 0xc6e5, 0xbc6c, 0xbc6d, 0xc6e6, 0xbc6e, 0xbc6f, 0xbc70,
    +    0xc6e7, 0xbc71, 0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76, 0xbc77,
    +    0xc6e8, 0xc6e9, 0xbc78, 0xc6ea, 0xbc79, 0xc6eb, 0xbc7a, 0xbc81,
    +    0xbc82, 0xbc83, 0xbc84, 0xbc85, 0xc6ec, 0xbc86, 0xbc87, 0xbc88,
    +    0xc6ed, 0xbc89, 0xbc8a, 0xbc8b, 0xc6ee, 0xbc8c, 0xbc8d, 0xbc8e,
    +    0xbc8f, 0xbc90, 0xbc91, 0xbc92, 0xc6ef, 0xc6f0, 0xbc93, 0xbc94,
    +    0xc6f1, 0xc6f2, 0xbc95, 0xbc96, 0xbc97, 0xbc98, 0xbc99, 0xbc9a,
    +    0xc6f3, 0xbc9b, 0xbc9c, 0xbc9d, 0xbc9e, 0xbc9f, 0xbca0, 0xbd41,
    +    0xc6f4, 0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd48,
    +    0xbd49, 0xc6f5, 0xbd4a, 0xc6f6, 0xbd4b, 0xbd4c, 0xbd4d, 0xbd4e,
    +    0xbd4f, 0xbd50, 0xbd51, 0xbd52, 0xc6f7, 0xc6f8, 0xbd53, 0xbd54,
    +    0xc6f9, 0xbd55, 0xbd56, 0xbd57, 0xc6fa, 0xbd58, 0xbd59, 0xbd5a,
    +    0xbd61, 0xbd62, 0xbd63, 0xbd64, 0xc6fb, 0xc6fc, 0xbd65, 0xc6fd,
    +    /* 0xd400 .. 0xd4ff */
    +    0xbd66, 0xc6fe, 0xbd67, 0xbd68, 0xbd69, 0xbd6a, 0xbd6b, 0xbd6c,
    +    0xc7a1, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70, 0xbd71, 0xbd72, 0xbd73,
    +    0xbd74, 0xbd75, 0xbd76, 0xbd77, 0xbd78, 0xbd79, 0xbd7a, 0xbd81,
    +    0xbd82, 0xbd83, 0xbd84, 0xbd85, 0xbd86, 0xc7a2, 0xbd87, 0xbd88,
    +    0xbd89, 0xbd8a, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f, 0xbd90,
    +    0xbd91, 0xbd92, 0xbd93, 0xbd94, 0xbd95, 0xbd96, 0xbd97, 0xbd98,
    +    0xbd99, 0xbd9a, 0xbd9b, 0xbd9c, 0xbd9d, 0xbd9e, 0xbd9f, 0xbda0,
    +    0xbe41, 0xbe42, 0xbe43, 0xbe44, 0xbe45, 0xbe46, 0xbe47, 0xbe48,
    +    0xc7a3, 0xbe49, 0xbe4a, 0xbe4b, 0xc7a4, 0xbe4c, 0xbe4d, 0xbe4e,
    +    0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53, 0xbe54, 0xbe55, 0xbe56,
    +    0xbe57, 0xbe58, 0xbe59, 0xbe5a, 0xbe61, 0xbe62, 0xbe63, 0xbe64,
    +    0xbe65, 0xbe66, 0xbe67, 0xbe68, 0xc7a5, 0xbe69, 0xbe6a, 0xbe6b,
    +    0xc7a6, 0xbe6c, 0xbe6d, 0xbe6e, 0xc7a7, 0xbe6f, 0xbe70, 0xbe71,
    +    0xbe72, 0xbe73, 0xbe74, 0xbe75, 0xbe76, 0xc7a8, 0xbe77, 0xc7a9,
    +    0xbe78, 0xbe79, 0xbe7a, 0xbe81, 0xbe82, 0xbe83, 0xbe84, 0xbe85,
    +    0xc7aa, 0xc7ab, 0xbe86, 0xbe87, 0xc7ac, 0xbe88, 0xbe89, 0xc7ad,
    +    0xc7ae, 0xbe8a, 0xc7af, 0xbe8b, 0xbe8c, 0xbe8d, 0xbe8e, 0xbe8f,
    +    0xc7b0, 0xc7b1, 0xbe90, 0xc7b2, 0xbe91, 0xc7b3, 0xbe92, 0xbe93,
    +    0xbe94, 0xbe95, 0xbe96, 0xbe97, 0xc7b4, 0xbe98, 0xbe99, 0xbe9a,
    +    0xbe9b, 0xbe9c, 0xbe9d, 0xbe9e, 0xbe9f, 0xbea0, 0xbf41, 0xbf42,
    +    0xbf43, 0xbf44, 0xbf45, 0xbf46, 0xbf47, 0xbf48, 0xbf49, 0xbf4a,
    +    0xbf4b, 0xc7b5, 0xbf4c, 0xbf4d, 0xbf4e, 0xbf4f, 0xbf50, 0xbf51,
    +    0xbf52, 0xbf53, 0xbf54, 0xbf55, 0xbf56, 0xbf57, 0xbf58, 0xbf59,
    +    0xbf5a, 0xbf61, 0xbf62, 0xbf63, 0xbf64, 0xbf65, 0xbf66, 0xbf67,
    +    0xbf68, 0xbf69, 0xbf6a, 0xbf6b, 0xbf6c, 0xbf6d, 0xbf6e, 0xbf6f,
    +    0xbf70, 0xbf71, 0xbf72, 0xbf73, 0xc7b6, 0xbf74, 0xbf75, 0xbf76,
    +    0xc7b7, 0xbf77, 0xbf78, 0xbf79, 0xc7b8, 0xbf7a, 0xbf81, 0xbf82,
    +    0xbf83, 0xbf84, 0xbf85, 0xbf86, 0xc7b9, 0xbf87, 0xbf88, 0xc7ba,
    +    0xbf89, 0xbf8a, 0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90,
    +    0xc7bb, 0xbf91, 0xbf92, 0xbf93, 0xc7bc, 0xbf94, 0xbf95, 0xbf96,
    +    0xc7bd, 0xbf97, 0xbf98, 0xbf99, 0xbf9a, 0xbf9b, 0xbf9c, 0xbf9d,
    +    0xc7be, 0xbf9e, 0xbf9f, 0xc7bf, 0xbfa0, 0xc7c0, 0xc041, 0xc042,
    +    /* 0xd500 .. 0xd5ff */
    +    0xc043, 0xc044, 0xc045, 0xc046, 0xc7c1, 0xc047, 0xc048, 0xc049,
    +    0xc7c2, 0xc04a, 0xc04b, 0xc04c, 0xc7c3, 0xc04d, 0xc04e, 0xc04f,
    +    0xc050, 0xc051, 0xc052, 0xc053, 0xc7c4, 0xc7c5, 0xc054, 0xc7c6,
    +    0xc055, 0xc056, 0xc057, 0xc058, 0xc059, 0xc05a, 0xc061, 0xc062,
    +    0xc063, 0xc064, 0xc065, 0xc066, 0xc067, 0xc068, 0xc069, 0xc06a,
    +    0xc06b, 0xc06c, 0xc06d, 0xc06e, 0xc06f, 0xc070, 0xc071, 0xc072,
    +    0xc073, 0xc074, 0xc075, 0xc076, 0xc077, 0xc078, 0xc079, 0xc07a,
    +    0xc081, 0xc082, 0xc083, 0xc084, 0xc7c7, 0xc7c8, 0xc085, 0xc086,
    +    0xc7c9, 0xc087, 0xc088, 0xc089, 0xc7ca, 0xc08a, 0xc08b, 0xc08c,
    +    0xc08d, 0xc08e, 0xc08f, 0xc090, 0xc7cb, 0xc7cc, 0xc091, 0xc7cd,
    +    0xc092, 0xc7ce, 0xc093, 0xc094, 0xc095, 0xc096, 0xc097, 0xc098,
    +    0xc7cf, 0xc7d0, 0xc099, 0xc09a, 0xc7d1, 0xc09b, 0xc09c, 0xc09d,
    +    0xc7d2, 0xc09e, 0xc09f, 0xc0a0, 0xc141, 0xc7d3, 0xc142, 0xc143,
    +    0xc7d4, 0xc7d5, 0xc144, 0xc7d6, 0xc145, 0xc7d7, 0xc146, 0xc147,
    +    0xc148, 0xc149, 0xc14a, 0xc14b, 0xc7d8, 0xc7d9, 0xc14c, 0xc14d,
    +    0xc7da, 0xc14e, 0xc14f, 0xc150, 0xc7db, 0xc151, 0xc152, 0xc153,
    +    0xc154, 0xc155, 0xc156, 0xc157, 0xc7dc, 0xc7dd, 0xc158, 0xc7de,
    +    0xc7df, 0xc7e0, 0xc159, 0xc15a, 0xc161, 0xc162, 0xc163, 0xc164,
    +    0xc7e1, 0xc165, 0xc166, 0xc167, 0xc168, 0xc169, 0xc16a, 0xc16b,
    +    0xc16c, 0xc16d, 0xc16e, 0xc16f, 0xc170, 0xc171, 0xc172, 0xc173,
    +    0xc174, 0xc175, 0xc176, 0xc177, 0xc178, 0xc7e2, 0xc179, 0xc17a,
    +    0xc181, 0xc182, 0xc183, 0xc184, 0xc185, 0xc186, 0xc187, 0xc188,
    +    0xc189, 0xc18a, 0xc18b, 0xc18c, 0xc18d, 0xc18e, 0xc18f, 0xc190,
    +    0xc191, 0xc192, 0xc193, 0xc194, 0xc195, 0xc196, 0xc197, 0xc198,
    +    0xc199, 0xc19a, 0xc19b, 0xc19c, 0xc19d, 0xc19e, 0xc19f, 0xc1a0,
    +    0xc7e3, 0xc7e4, 0xc241, 0xc242, 0xc7e5, 0xc243, 0xc244, 0xc245,
    +    0xc7e6, 0xc246, 0xc7e7, 0xc247, 0xc248, 0xc249, 0xc24a, 0xc24b,
    +    0xc7e8, 0xc7e9, 0xc24c, 0xc7ea, 0xc24d, 0xc7eb, 0xc24e, 0xc24f,
    +    0xc250, 0xc251, 0xc252, 0xc253, 0xc7ec, 0xc7ed, 0xc254, 0xc255,
    +    0xc7ee, 0xc256, 0xc257, 0xc258, 0xc7ef, 0xc259, 0xc25a, 0xc261,
    +    0xc262, 0xc263, 0xc264, 0xc265, 0xc7f0, 0xc7f1, 0xc266, 0xc7f2,
    +    0xc267, 0xc7f3, 0xc268, 0xc269, 0xc26a, 0xc26b, 0xc26c, 0xc26d,
    +    /* 0xd600 .. 0xd6ff */
    +    0xc7f4, 0xc7f5, 0xc26e, 0xc26f, 0xc7f6, 0xc270, 0xc271, 0xc272,
    +    0xc7f7, 0xc273, 0xc274, 0xc275, 0xc276, 0xc277, 0xc278, 0xc279,
    +    0xc7f8, 0xc7f9, 0xc27a, 0xc7fa, 0xc7fb, 0xc7fc, 0xc281, 0xc282,
    +    0xc283, 0xc284, 0xc285, 0xc286, 0xc7fd, 0xc287, 0xc288, 0xc289,
    +    0xc7fe, 0xc28a, 0xc28b, 0xc28c, 0xc8a1, 0xc28d, 0xc28e, 0xc28f,
    +    0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc8a2, 0xc295, 0xc296,
    +    0xc297, 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e,
    +    0xc8a3, 0xc8a4, 0xc29f, 0xc2a0, 0xc8a5, 0xc341, 0xc342, 0xc343,
    +    0xc8a6, 0xc344, 0xc345, 0xc346, 0xc347, 0xc8a7, 0xc348, 0xc349,
    +    0xc8a8, 0xc8a9, 0xc34a, 0xc8aa, 0xc34b, 0xc8ab, 0xc34c, 0xc34d,
    +    0xc34e, 0xc8ac, 0xc34f, 0xc350, 0xc8ad, 0xc8ae, 0xc351, 0xc352,
    +    0xc8af, 0xc353, 0xc354, 0xc355, 0xc8b0, 0xc356, 0xc357, 0xc358,
    +    0xc359, 0xc35a, 0xc361, 0xc362, 0xc363, 0xc364, 0xc365, 0xc8b1,
    +    0xc366, 0xc8b2, 0xc367, 0xc368, 0xc369, 0xc36a, 0xc36b, 0xc36c,
    +    0xc8b3, 0xc8b4, 0xc36d, 0xc36e, 0xc8b5, 0xc36f, 0xc370, 0xc371,
    +    0xc372, 0xc373, 0xc374, 0xc375, 0xc376, 0xc377, 0xc378, 0xc379,
    +    0xc37a, 0xc381, 0xc382, 0xc8b6, 0xc383, 0xc8b7, 0xc384, 0xc385,
    +    0xc386, 0xc387, 0xc388, 0xc389, 0xc8b8, 0xc8b9, 0xc38a, 0xc38b,
    +    0xc8ba, 0xc38c, 0xc38d, 0xc38e, 0xc8bb, 0xc38f, 0xc390, 0xc391,
    +    0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc8bc, 0xc397, 0xc8bd,
    +    0xc398, 0xc8be, 0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc39d, 0xc39e,
    +    0xc8bf, 0xc39f, 0xc3a0, 0xc441, 0xc8c0, 0xc442, 0xc443, 0xc444,
    +    0xc8c1, 0xc445, 0xc446, 0xc447, 0xc448, 0xc449, 0xc44a, 0xc44b,
    +    0xc44c, 0xc8c2, 0xc44d, 0xc8c3, 0xc44e, 0xc44f, 0xc450, 0xc451,
    +    0xc452, 0xc453, 0xc454, 0xc455, 0xc8c4, 0xc8c5, 0xc456, 0xc457,
    +    0xc8c6, 0xc458, 0xc459, 0xc45a, 0xc8c7, 0xc461, 0xc462, 0xc463,
    +    0xc464, 0xc8c8, 0xc465, 0xc466, 0xc8c9, 0xc467, 0xc468, 0xc8ca,
    +    0xc469, 0xc8cb, 0xc46a, 0xc46b, 0xc46c, 0xc46d, 0xc46e, 0xc46f,
    +    0xc8cc, 0xc470, 0xc471, 0xc472, 0xc8cd, 0xc473, 0xc474, 0xc475,
    +    0xc8ce, 0xc476, 0xc477, 0xc478, 0xc479, 0xc47a, 0xc481, 0xc482,
    +    0xc8cf, 0xc483, 0xc484, 0xc485, 0xc486, 0xc8d0, 0xc487, 0xc488,
    +    0xc489, 0xc48a, 0xc48b, 0xc48c, 0xc8d1, 0xc8d2, 0xc48d, 0xc48e,
    +    /* 0xd700 .. 0xd7ff */
    +    0xc8d3, 0xc48f, 0xc490, 0xc491, 0xc8d4, 0xc492, 0xc493, 0xc494,
    +    0xc495, 0xc496, 0xc497, 0xc498, 0xc499, 0xc49a, 0xc49b, 0xc49c,
    +    0xc49d, 0xc8d5, 0xc49e, 0xc49f, 0xc4a0, 0xc541, 0xc542, 0xc543,
    +    0xc8d6, 0xc8d7, 0xc544, 0xc545, 0xc8d8, 0xc546, 0xc547, 0xc548,
    +    0xc8d9, 0xc549, 0xc54a, 0xc54b, 0xc54c, 0xc54d, 0xc54e, 0xc54f,
    +    0xc8da, 0xc8db, 0xc550, 0xc8dc, 0xc551, 0xc8dd, 0xc552, 0xc553,
    +    0xc554, 0xc555, 0xc556, 0xc557, 0xc8de, 0xc8df, 0xc558, 0xc559,
    +    0xc8e0, 0xc55a, 0xc561, 0xc562, 0xc8e1, 0xc563, 0xc564, 0xc565,
    +    0xc566, 0xc567, 0xc568, 0xc569, 0xc8e2, 0xc56a, 0xc56b, 0xc8e3,
    +    0xc56c, 0xc8e4, 0xc56d, 0xc56e, 0xc56f, 0xc570, 0xc571, 0xc572,
    +    0xc8e5, 0xc8e6, 0xc573, 0xc574, 0xc8e7, 0xc575, 0xc8e8, 0xc8e9,
    +    0xc8ea, 0xc8eb, 0xc576, 0xc577, 0xc578, 0xc579, 0xc57a, 0xc581,
    +    0xc8ec, 0xc8ed, 0xc582, 0xc8ee, 0xc583, 0xc8ef, 0xc584, 0xc585,
    +    0xc586, 0xc8f0, 0xc587, 0xc588, 0xc8f1, 0xc589, 0xc58a, 0xc58b,
    +    0xc8f2, 0xc58c, 0xc58d, 0xc58e, 0xc8f3, 0xc58f, 0xc590, 0xc591,
    +    0xc592, 0xc593, 0xc594, 0xc595, 0xc8f4, 0xc8f5, 0xc596, 0xc597,
    +    0xc598, 0xc8f6, 0xc599, 0xc59a, 0xc59b, 0xc59c, 0xc59d, 0xc59e,
    +    0xc8f7, 0xc8f8, 0xc59f, 0xc5a0, 0xc8f9, 0xc641, 0xc642, 0xc643,
    +    0xc8fa, 0xc644, 0xc645, 0xc646, 0xc647, 0xc648, 0xc649, 0xc64a,
    +    0xc8fb, 0xc8fc, 0xc64b, 0xc8fd, 0xc64c, 0xc8fe, 0xc64d, 0xc64e,
    +    0xc64f, 0xc650, 0xc651, 0xc652, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xf900 .. 0xf9ff */
    +    0xcbd0, 0xcbd6, 0xcbe7, 0xcdcf, 0xcde8, 0xcead, 0xcffb, 0xd0a2,
    +    0xd0b8, 0xd0d0, 0xd0dd, 0xd1d4, 0xd1d5, 0xd1d8, 0xd1db, 0xd1dc,
    +    0xd1dd, 0xd1de, 0xd1df, 0xd1e0, 0xd1e2, 0xd1e3, 0xd1e4, 0xd1e5,
    +    0xd1e6, 0xd1e8, 0xd1e9, 0xd1ea, 0xd1eb, 0xd1ed, 0xd1ef, 0xd1f0,
    +    0xd1f2, 0xd1f6, 0xd1fa, 0xd1fc, 0xd1fd, 0xd1fe, 0xd2a2, 0xd2a3,
    +    0xd2a7, 0xd2a8, 0xd2a9, 0xd2aa, 0xd2ab, 0xd2ad, 0xd2b2, 0xd2be,
    +    0xd2c2, 0xd2c3, 0xd2c4, 0xd2c6, 0xd2c7, 0xd2c8, 0xd2c9, 0xd2ca,
    +    0xd2cb, 0xd2cd, 0xd2ce, 0xd2cf, 0xd2d0, 0xd2d1, 0xd2d2, 0xd2d3,
    +    0xd2d4, 0xd2d5, 0xd2d6, 0xd2d7, 0xd2d9, 0xd2da, 0xd2de, 0xd2df,
    +    0xd2e1, 0xd2e2, 0xd2e4, 0xd2e5, 0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9,
    +    0xd2ea, 0xd2eb, 0xd2f0, 0xd2f1, 0xd2f2, 0xd2f3, 0xd2f4, 0xd2f5,
    +    0xd2f7, 0xd2f8, 0xd4e6, 0xd4fc, 0xd5a5, 0xd5ab, 0xd5ae, 0xd6b8,
    +    0xd6cd, 0xd7cb, 0xd7e4, 0xdbc5, 0xdbe4, 0xdca5, 0xdda5, 0xddd5,
    +    0xddf4, 0xdefc, 0xdefe, 0xdfb3, 0xdfe1, 0xdfe8, 0xe0f1, 0xe1ad,
    +    0xe1ed, 0xe3f5, 0xe4a1, 0xe4a9, 0xe5ae, 0xe5b1, 0xe5b2, 0xe5b9,
    +    0xe5bb, 0xe5bc, 0xe5c4, 0xe5ce, 0xe5d0, 0xe5d2, 0xe5d6, 0xe5fa,
    +    0xe5fb, 0xe5fc, 0xe5fe, 0xe6a1, 0xe6a4, 0xe6a7, 0xe6ad, 0xe6af,
    +    0xe6b0, 0xe6b1, 0xe6b3, 0xe6b7, 0xe6b8, 0xe6bc, 0xe6c4, 0xe6c6,
    +    0xe6c7, 0xe6ca, 0xe6d2, 0xe6d6, 0xe6d9, 0xe6dc, 0xe6df, 0xe6e1,
    +    0xe6e4, 0xe6e5, 0xe6e6, 0xe6e8, 0xe6ea, 0xe6eb, 0xe6ec, 0xe6ef,
    +    0xe6f1, 0xe6f2, 0xe6f5, 0xe6f6, 0xe6f7, 0xe6f9, 0xe7a1, 0xe7a6,
    +    0xe7a9, 0xe7aa, 0xe7ac, 0xe7ad, 0xe7b0, 0xe7bf, 0xe7c1, 0xe7c6,
    +    0xe7c7, 0xe7cb, 0xe7cd, 0xe7cf, 0xe7d0, 0xe7d3, 0xe7df, 0xe7e4,
    +    0xe7e6, 0xe7f7, 0xe8e7, 0xe8e8, 0xe8f0, 0xe8f1, 0xe8f7, 0xe8f9,
    +    0xe8fb, 0xe8fe, 0xe9a7, 0xe9ac, 0xe9cc, 0xe9f7, 0xeac1, 0xeae5,
    +    0xeaf4, 0xeaf7, 0xeafc, 0xeafe, 0xeba4, 0xeba7, 0xeba9, 0xebaa,
    +    0xebba, 0xebbb, 0xebbd, 0xebc1, 0xebc2, 0xebc6, 0xebc7, 0xebcc,
    +    0xebcf, 0xebd0, 0xebd1, 0xebd2, 0xebd8, 0xeca6, 0xeca7, 0xecaa,
    +    0xecaf, 0xecb0, 0xecb1, 0xecb2, 0xecb5, 0xecb8, 0xecba, 0xecc0,
    +    0xecc1, 0xecc5, 0xecc6, 0xecc9, 0xecca, 0xecd5, 0xecdd, 0xecde,
    +    0xece1, 0xece4, 0xece7, 0xece8, 0xecf7, 0xecf8, 0xecfa, 0xeda1,
    +    0xeda2, 0xeda3, 0xedee, 0xeedb, 0xf2bd, 0xf2fa, 0xf3b1, 0xf4a7,
    +    /* 0xfa00 .. 0xfaff */
    +    0xf4ee, 0xf6f4, 0xf6f6, 0xf7b8, 0xf7c8, 0xf7d3, 0xf8db, 0xf8f0,
    +    0xfaa1, 0xfaa2, 0xfae6, 0xfca9, 0xe8b4, 0x003f, 0x003f, 0x003f,
    +    0xf5c0, 0x003f, 0xf4e7, 0x003f, 0x003f, 0xfdeb, 0xeec4, 0xeccc,
    +    0x003f, 0xe3ea, 0xdfd4, 0xdcd8, 0xeffe, 0xeff1, 0xe9e2, 0x003f,
    +    0x003f, 0x003f, 0xf0b3, 0x003f, 0x003f, 0xecef, 0xd4b4, 0x003f,
    +    0x003f, 0x003f, 0xdaf9, 0xdef8, 0xcebd, 0xf9cd, 0x003f, 0x003f,
    +    0xd9b2, 0xe3ac, 0xd8f3, 0xd8f5, 0xd0c3, 0xdde4, 0xcae2, 0xf7a3,
    +    0xd0ef, 0x003f, 0xd9f8, 0xf6b5, 0x003f, 0xfce2, 0xcbc6, 0xf1f3,
    +    0xf3a4, 0xdac2, 0x003f, 0xdff4, 0xd8de, 0xfaad, 0xeec2, 0xf9d3,
    +    0xedb4, 0x003f, 0xf6fc, 0xddf8, 0xdee4, 0xf2b3, 0xd1b7, 0xe9de,
    +    0xf0d3, 0xf5e6, 0xfca1, 0xefee, 0xcdda, 0xd4cd, 0xefbd, 0xd6a3,
    +    0xf2db, 0xdbe5, 0xdffe, 0xedba, 0xf6ab, 0x003f, 0x003f, 0xeeca,
    +    0xcae8, 0xe3ca, 0xe4d7, 0xd0cd, 0xdeb9, 0xf1fc, 0x003f, 0xecef,
    +    0xd1f1, 0xfac2, 0xdeba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa1aa, 0xa1aa, 0xa1aa, 0xa1aa, 0x005f, 0x005f, 0x005f,
    +    0x002c, 0xa1a2, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,
    +    0xa1aa, 0x0028, 0x0029, 0x007b, 0x007d, 0xa1b2, 0xa1b3, 0x0023,
    +    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,
    +    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xff00 .. 0xffff */
    +    0x003f, 0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7,
    +    0xa3a8, 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af,
    +    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,
    +    0xa3b8, 0xa3b9, 0xa3ba, 0xa3bb, 0xa3bc, 0xa3bd, 0xa3be, 0xa3bf,
    +    0xa3c0, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,
    +    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,
    +    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,
    +    0xa3d8, 0xa3d9, 0xa3da, 0xa3db, 0xa1ac, 0xa3dd, 0xa3de, 0xa3df,
    +    0xa3e0, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,
    +    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,
    +    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,
    +    0xa3f8, 0xa3f9, 0xa3fa, 0xa3fb, 0xa3fc, 0xa3fd, 0xa2a6, 0x003f,
    +    0x003f, 0xa1a3, 0xa1b8, 0xa1b9, 0xa1a2, 0x003f, 0xabf2, 0xaba1,
    +    0xaba3, 0xaba5, 0xaba7, 0xaba9, 0xabe3, 0xabe5, 0xabe7, 0xabc3,
    +    0x003f, 0xaba2, 0xaba4, 0xaba6, 0xaba8, 0xabaa, 0xabab, 0xabad,
    +    0xabaf, 0xabb1, 0xabb3, 0xabb5, 0xabb7, 0xabb9, 0xabbb, 0xabbd,
    +    0xabbf, 0xabc1, 0xabc4, 0xabc6, 0xabc8, 0xabca, 0xabcb, 0xabcc,
    +    0xabcd, 0xabce, 0xabcf, 0xabd2, 0xabd5, 0xabd8, 0xabdb, 0xabde,
    +    0xabdf, 0xabe0, 0xabe1, 0xabe2, 0xabe4, 0xabe6, 0xabe8, 0xabe9,
    +    0xabea, 0xabeb, 0xabec, 0xabed, 0xabef, 0xabf3, 0x003f, 0x003f,
    +    0xa4d4, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,
    +    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,
    +    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,
    +    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0x003f,
    +    0x003f, 0x003f, 0xa4bf, 0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4,
    +    0x003f, 0x003f, 0xa4c5, 0xa4c6, 0xa4c7, 0xa4c8, 0xa4c9, 0xa4ca,
    +    0x003f, 0x003f, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf, 0xa4d0,
    +    0x003f, 0x003f, 0xa4d1, 0xa4d2, 0xa4d3, 0x003f, 0x003f, 0x003f,
    +    0xa1cb, 0xa1cc, 0xa1fe, 0xa3fe, 0x007c, 0xa1cd, 0xa3dc, 0x003f,
    +    0xa6a2, 0xa1e7, 0xa1e8, 0xa1e6, 0xa1e9, 0xa1e1, 0xa1db, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* defaults */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x0500, 0x0600, 0x0700,
    +    0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x0f00, 0x1000,
    +    0x1100, 0x1200, 0x1300, 0x1400, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x1500, 0x1600,
    +    0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00, 0x1e00,
    +    0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500, 0x2600,
    +    0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00, 0x2e00,
    +    0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600,
    +    0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00, 0x3e00,
    +    0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500, 0x4600,
    +    0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00, 0x4e00,
    +    0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500, 0x5600,
    +    0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00, 0x5e00,
    +    0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500, 0x6600,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x6700, 0x6800, 0x6900, 0x6a00,
    +    0x6b00, 0x6c00, 0x6d00, 0x6e00, 0x6f00, 0x7000, 0x7100, 0x7200,
    +    0x7300, 0x7400, 0x7500, 0x7600, 0x7700, 0x7800, 0x7900, 0x7a00,
    +    0x7b00, 0x7c00, 0x7d00, 0x7e00, 0x7f00, 0x8000, 0x8100, 0x8200,
    +    0x8300, 0x8400, 0x8500, 0x8600, 0x8700, 0x8800, 0x8900, 0x8a00,
    +    0x8b00, 0x8c00, 0x8d00, 0x8e00, 0x8f00, 0x9000, 0x9100, 0x9200,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800, 0x9800,
    +    0x9800, 0x9300, 0x9400, 0x9500, 0x9800, 0x9800, 0x9600, 0x9700
    +};
    +
    +const struct dbcs_table cptable_949 =
    +{
    +    { 949, 2, 0x003f, 0x003f, "ANSI/OEM Korean Unified Hangul" },
    +    cp2uni,
    +    cp2uni_leadbytes,
    +    uni2cp_low,
    +    uni2cp_high,
    +    { 0x81, 0xfe, 0x00, 0x00 }
    +};
    diff --git a/reactos/lib/unicode/c_950.c b/reactos/tools/unicode/c_950.c
    similarity index 98%
    rename from reactos/lib/unicode/c_950.c
    rename to reactos/tools/unicode/c_950.c
    index bb0927e9570..3be56c3e673 100644
    --- a/reactos/lib/unicode/c_950.c
    +++ b/reactos/tools/unicode/c_950.c
    @@ -1,6595 +1,6595 @@
    -/* code page 950 (ANSI/OEM Traditional Chinese Big5) */
    -/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT */
    -/* DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -static const WCHAR cp2uni[22784] =
    -{
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 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, 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, 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, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,
    -    /* unused lead bytes */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x3000, 0xff0c, 0x3001, 0x3002, 0xff0e, 0x2027, 0xff1b, 0xff1a,
    -    0xff1f, 0xff01, 0xfe30, 0x2026, 0x2025, 0xfe50, 0xfe51, 0xfe52,
    -    0x00b7, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xff5c, 0x2013, 0xfe31,
    -    0x2014, 0xfe33, 0x2574, 0xfe34, 0xfe4f, 0xff08, 0xff09, 0xfe35,
    -    0xfe36, 0xff5b, 0xff5d, 0xfe37, 0xfe38, 0x3014, 0x3015, 0xfe39,
    -    0xfe3a, 0x3010, 0x3011, 0xfe3b, 0xfe3c, 0x300a, 0x300b, 0xfe3d,
    -    0xfe3e, 0x3008, 0x3009, 0xfe3f, 0xfe40, 0x300c, 0x300d, 0xfe41,
    -    0xfe42, 0x300e, 0x300f, 0xfe43, 0xfe44, 0xfe59, 0xfe5a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0x2018, 0x2019, 0x201c,
    -    0x201d, 0x301d, 0x301e, 0x2035, 0x2032, 0xff03, 0xff06, 0xff0a,
    -    0x203b, 0x00a7, 0x3003, 0x25cb, 0x25cf, 0x25b3, 0x25b2, 0x25ce,
    -    0x2606, 0x2605, 0x25c7, 0x25c6, 0x25a1, 0x25a0, 0x25bd, 0x25bc,
    -    0x32a3, 0x2105, 0x00af, 0xffe3, 0xff3f, 0x02cd, 0xfe49, 0xfe4a,
    -    0xfe4d, 0xfe4e, 0xfe4b, 0xfe4c, 0xfe5f, 0xfe60, 0xfe61, 0xff0b,
    -    0xff0d, 0x00d7, 0x00f7, 0x00b1, 0x221a, 0xff1c, 0xff1e, 0xff1d,
    -    0x2266, 0x2267, 0x2260, 0x221e, 0x2252, 0x2261, 0xfe62, 0xfe63,
    -    0xfe64, 0xfe65, 0xfe66, 0xff5e, 0x2229, 0x222a, 0x22a5, 0x2220,
    -    0x221f, 0x22bf, 0x33d2, 0x33d1, 0x222b, 0x222e, 0x2235, 0x2234,
    -    0x2640, 0x2642, 0x2295, 0x2299, 0x2191, 0x2193, 0x2190, 0x2192,
    -    0x2196, 0x2197, 0x2199, 0x2198, 0x2225, 0x2223, 0xff0f, 0x003f,
    -    /* lead byte a2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xff3c, 0x2215, 0xfe68, 0xff04, 0xffe5, 0x3012, 0xffe0, 0xffe1,
    -    0xff05, 0xff20, 0x2103, 0x2109, 0xfe69, 0xfe6a, 0xfe6b, 0x33d5,
    -    0x339c, 0x339d, 0x339e, 0x33ce, 0x33a1, 0x338e, 0x338f, 0x33c4,
    -    0x00b0, 0x5159, 0x515b, 0x515e, 0x515d, 0x5161, 0x5163, 0x55e7,
    -    0x74e9, 0x7cce, 0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586,
    -    0x2587, 0x2588, 0x258f, 0x258e, 0x258d, 0x258c, 0x258b, 0x258a,
    -    0x2589, 0x253c, 0x2534, 0x252c, 0x2524, 0x251c, 0x2594, 0x2500,
    -    0x2502, 0x2595, 0x250c, 0x2510, 0x2514, 0x2518, 0x256d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x256e, 0x2570, 0x256f, 0x2550, 0x255e, 0x256a, 0x2561,
    -    0x25e2, 0x25e3, 0x25e5, 0x25e4, 0x2571, 0x2572, 0x2573, 0xff10,
    -    0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18,
    -    0xff19, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,
    -    0x2167, 0x2168, 0x2169, 0x3021, 0x3022, 0x3023, 0x3024, 0x3025,
    -    0x3026, 0x3027, 0x3028, 0x3029, 0x5341, 0x5344, 0x5345, 0xff21,
    -    0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, 0xff29,
    -    0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30, 0xff31,
    -    0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, 0xff39,
    -    0xff3a, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    -    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    -    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0x003f,
    -    /* lead byte a3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xff57, 0xff58, 0xff59, 0xff5a, 0x0391, 0x0392, 0x0393, 0x0394,
    -    0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039a, 0x039b, 0x039c,
    -    0x039d, 0x039e, 0x039f, 0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5,
    -    0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2, 0x03b3, 0x03b4,
    -    0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc,
    -    0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5,
    -    0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x3105, 0x3106, 0x3107, 0x3108,
    -    0x3109, 0x310a, 0x310b, 0x310c, 0x310d, 0x310e, 0x310f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x3110, 0x3111, 0x3112, 0x3113, 0x3114, 0x3115, 0x3116,
    -    0x3117, 0x3118, 0x3119, 0x311a, 0x311b, 0x311c, 0x311d, 0x311e,
    -    0x311f, 0x3120, 0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126,
    -    0x3127, 0x3128, 0x3129, 0x02d9, 0x02c9, 0x02ca, 0x02c7, 0x02cb,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x20ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte a4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x4e00, 0x4e59, 0x4e01, 0x4e03, 0x4e43, 0x4e5d, 0x4e86, 0x4e8c,
    -    0x4eba, 0x513f, 0x5165, 0x516b, 0x51e0, 0x5200, 0x5201, 0x529b,
    -    0x5315, 0x5341, 0x535c, 0x53c8, 0x4e09, 0x4e0b, 0x4e08, 0x4e0a,
    -    0x4e2b, 0x4e38, 0x51e1, 0x4e45, 0x4e48, 0x4e5f, 0x4e5e, 0x4e8e,
    -    0x4ea1, 0x5140, 0x5203, 0x52fa, 0x5343, 0x53c9, 0x53e3, 0x571f,
    -    0x58eb, 0x5915, 0x5927, 0x5973, 0x5b50, 0x5b51, 0x5b53, 0x5bf8,
    -    0x5c0f, 0x5c22, 0x5c38, 0x5c71, 0x5ddd, 0x5de5, 0x5df1, 0x5df2,
    -    0x5df3, 0x5dfe, 0x5e72, 0x5efe, 0x5f0b, 0x5f13, 0x624d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x4e11, 0x4e10, 0x4e0d, 0x4e2d, 0x4e30, 0x4e39, 0x4e4b,
    -    0x5c39, 0x4e88, 0x4e91, 0x4e95, 0x4e92, 0x4e94, 0x4ea2, 0x4ec1,
    -    0x4ec0, 0x4ec3, 0x4ec6, 0x4ec7, 0x4ecd, 0x4eca, 0x4ecb, 0x4ec4,
    -    0x5143, 0x5141, 0x5167, 0x516d, 0x516e, 0x516c, 0x5197, 0x51f6,
    -    0x5206, 0x5207, 0x5208, 0x52fb, 0x52fe, 0x52ff, 0x5316, 0x5339,
    -    0x5348, 0x5347, 0x5345, 0x535e, 0x5384, 0x53cb, 0x53ca, 0x53cd,
    -    0x58ec, 0x5929, 0x592b, 0x592a, 0x592d, 0x5b54, 0x5c11, 0x5c24,
    -    0x5c3a, 0x5c6f, 0x5df4, 0x5e7b, 0x5eff, 0x5f14, 0x5f15, 0x5fc3,
    -    0x6208, 0x6236, 0x624b, 0x624e, 0x652f, 0x6587, 0x6597, 0x65a4,
    -    0x65b9, 0x65e5, 0x66f0, 0x6708, 0x6728, 0x6b20, 0x6b62, 0x6b79,
    -    0x6bcb, 0x6bd4, 0x6bdb, 0x6c0f, 0x6c34, 0x706b, 0x722a, 0x7236,
    -    0x723b, 0x7247, 0x7259, 0x725b, 0x72ac, 0x738b, 0x4e19, 0x003f,
    -    /* lead byte a5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x4e16, 0x4e15, 0x4e14, 0x4e18, 0x4e3b, 0x4e4d, 0x4e4f, 0x4e4e,
    -    0x4ee5, 0x4ed8, 0x4ed4, 0x4ed5, 0x4ed6, 0x4ed7, 0x4ee3, 0x4ee4,
    -    0x4ed9, 0x4ede, 0x5145, 0x5144, 0x5189, 0x518a, 0x51ac, 0x51f9,
    -    0x51fa, 0x51f8, 0x520a, 0x52a0, 0x529f, 0x5305, 0x5306, 0x5317,
    -    0x531d, 0x4edf, 0x534a, 0x5349, 0x5361, 0x5360, 0x536f, 0x536e,
    -    0x53bb, 0x53ef, 0x53e4, 0x53f3, 0x53ec, 0x53ee, 0x53e9, 0x53e8,
    -    0x53fc, 0x53f8, 0x53f5, 0x53eb, 0x53e6, 0x53ea, 0x53f2, 0x53f1,
    -    0x53f0, 0x53e5, 0x53ed, 0x53fb, 0x56db, 0x56da, 0x5916, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x592e, 0x5931, 0x5974, 0x5976, 0x5b55, 0x5b83, 0x5c3c,
    -    0x5de8, 0x5de7, 0x5de6, 0x5e02, 0x5e03, 0x5e73, 0x5e7c, 0x5f01,
    -    0x5f18, 0x5f17, 0x5fc5, 0x620a, 0x6253, 0x6254, 0x6252, 0x6251,
    -    0x65a5, 0x65e6, 0x672e, 0x672c, 0x672a, 0x672b, 0x672d, 0x6b63,
    -    0x6bcd, 0x6c11, 0x6c10, 0x6c38, 0x6c41, 0x6c40, 0x6c3e, 0x72af,
    -    0x7384, 0x7389, 0x74dc, 0x74e6, 0x7518, 0x751f, 0x7528, 0x7529,
    -    0x7530, 0x7531, 0x7532, 0x7533, 0x758b, 0x767d, 0x76ae, 0x76bf,
    -    0x76ee, 0x77db, 0x77e2, 0x77f3, 0x793a, 0x79be, 0x7a74, 0x7acb,
    -    0x4e1e, 0x4e1f, 0x4e52, 0x4e53, 0x4e69, 0x4e99, 0x4ea4, 0x4ea6,
    -    0x4ea5, 0x4eff, 0x4f09, 0x4f19, 0x4f0a, 0x4f15, 0x4f0d, 0x4f10,
    -    0x4f11, 0x4f0f, 0x4ef2, 0x4ef6, 0x4efb, 0x4ef0, 0x4ef3, 0x4efd,
    -    0x4f01, 0x4f0b, 0x5149, 0x5147, 0x5146, 0x5148, 0x5168, 0x003f,
    -    /* lead byte a6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5171, 0x518d, 0x51b0, 0x5217, 0x5211, 0x5212, 0x520e, 0x5216,
    -    0x52a3, 0x5308, 0x5321, 0x5320, 0x5370, 0x5371, 0x5409, 0x540f,
    -    0x540c, 0x540a, 0x5410, 0x5401, 0x540b, 0x5404, 0x5411, 0x540d,
    -    0x5408, 0x5403, 0x540e, 0x5406, 0x5412, 0x56e0, 0x56de, 0x56dd,
    -    0x5733, 0x5730, 0x5728, 0x572d, 0x572c, 0x572f, 0x5729, 0x5919,
    -    0x591a, 0x5937, 0x5938, 0x5984, 0x5978, 0x5983, 0x597d, 0x5979,
    -    0x5982, 0x5981, 0x5b57, 0x5b58, 0x5b87, 0x5b88, 0x5b85, 0x5b89,
    -    0x5bfa, 0x5c16, 0x5c79, 0x5dde, 0x5e06, 0x5e76, 0x5e74, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5f0f, 0x5f1b, 0x5fd9, 0x5fd6, 0x620e, 0x620c, 0x620d,
    -    0x6210, 0x6263, 0x625b, 0x6258, 0x6536, 0x65e9, 0x65e8, 0x65ec,
    -    0x65ed, 0x66f2, 0x66f3, 0x6709, 0x673d, 0x6734, 0x6731, 0x6735,
    -    0x6b21, 0x6b64, 0x6b7b, 0x6c16, 0x6c5d, 0x6c57, 0x6c59, 0x6c5f,
    -    0x6c60, 0x6c50, 0x6c55, 0x6c61, 0x6c5b, 0x6c4d, 0x6c4e, 0x7070,
    -    0x725f, 0x725d, 0x767e, 0x7af9, 0x7c73, 0x7cf8, 0x7f36, 0x7f8a,
    -    0x7fbd, 0x8001, 0x8003, 0x800c, 0x8012, 0x8033, 0x807f, 0x8089,
    -    0x808b, 0x808c, 0x81e3, 0x81ea, 0x81f3, 0x81fc, 0x820c, 0x821b,
    -    0x821f, 0x826e, 0x8272, 0x827e, 0x866b, 0x8840, 0x884c, 0x8863,
    -    0x897f, 0x9621, 0x4e32, 0x4ea8, 0x4f4d, 0x4f4f, 0x4f47, 0x4f57,
    -    0x4f5e, 0x4f34, 0x4f5b, 0x4f55, 0x4f30, 0x4f50, 0x4f51, 0x4f3d,
    -    0x4f3a, 0x4f38, 0x4f43, 0x4f54, 0x4f3c, 0x4f46, 0x4f63, 0x003f,
    -    /* lead byte a7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x4f5c, 0x4f60, 0x4f2f, 0x4f4e, 0x4f36, 0x4f59, 0x4f5d, 0x4f48,
    -    0x4f5a, 0x514c, 0x514b, 0x514d, 0x5175, 0x51b6, 0x51b7, 0x5225,
    -    0x5224, 0x5229, 0x522a, 0x5228, 0x52ab, 0x52a9, 0x52aa, 0x52ac,
    -    0x5323, 0x5373, 0x5375, 0x541d, 0x542d, 0x541e, 0x543e, 0x5426,
    -    0x544e, 0x5427, 0x5446, 0x5443, 0x5433, 0x5448, 0x5442, 0x541b,
    -    0x5429, 0x544a, 0x5439, 0x543b, 0x5438, 0x542e, 0x5435, 0x5436,
    -    0x5420, 0x543c, 0x5440, 0x5431, 0x542b, 0x541f, 0x542c, 0x56ea,
    -    0x56f0, 0x56e4, 0x56eb, 0x574a, 0x5751, 0x5740, 0x574d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5747, 0x574e, 0x573e, 0x5750, 0x574f, 0x573b, 0x58ef,
    -    0x593e, 0x599d, 0x5992, 0x59a8, 0x599e, 0x59a3, 0x5999, 0x5996,
    -    0x598d, 0x59a4, 0x5993, 0x598a, 0x59a5, 0x5b5d, 0x5b5c, 0x5b5a,
    -    0x5b5b, 0x5b8c, 0x5b8b, 0x5b8f, 0x5c2c, 0x5c40, 0x5c41, 0x5c3f,
    -    0x5c3e, 0x5c90, 0x5c91, 0x5c94, 0x5c8c, 0x5deb, 0x5e0c, 0x5e8f,
    -    0x5e87, 0x5e8a, 0x5ef7, 0x5f04, 0x5f1f, 0x5f64, 0x5f62, 0x5f77,
    -    0x5f79, 0x5fd8, 0x5fcc, 0x5fd7, 0x5fcd, 0x5ff1, 0x5feb, 0x5ff8,
    -    0x5fea, 0x6212, 0x6211, 0x6284, 0x6297, 0x6296, 0x6280, 0x6276,
    -    0x6289, 0x626d, 0x628a, 0x627c, 0x627e, 0x6279, 0x6273, 0x6292,
    -    0x626f, 0x6298, 0x626e, 0x6295, 0x6293, 0x6291, 0x6286, 0x6539,
    -    0x653b, 0x6538, 0x65f1, 0x66f4, 0x675f, 0x674e, 0x674f, 0x6750,
    -    0x6751, 0x675c, 0x6756, 0x675e, 0x6749, 0x6746, 0x6760, 0x003f,
    -    /* lead byte a8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6753, 0x6757, 0x6b65, 0x6bcf, 0x6c42, 0x6c5e, 0x6c99, 0x6c81,
    -    0x6c88, 0x6c89, 0x6c85, 0x6c9b, 0x6c6a, 0x6c7a, 0x6c90, 0x6c70,
    -    0x6c8c, 0x6c68, 0x6c96, 0x6c92, 0x6c7d, 0x6c83, 0x6c72, 0x6c7e,
    -    0x6c74, 0x6c86, 0x6c76, 0x6c8d, 0x6c94, 0x6c98, 0x6c82, 0x7076,
    -    0x707c, 0x707d, 0x7078, 0x7262, 0x7261, 0x7260, 0x72c4, 0x72c2,
    -    0x7396, 0x752c, 0x752b, 0x7537, 0x7538, 0x7682, 0x76ef, 0x77e3,
    -    0x79c1, 0x79c0, 0x79bf, 0x7a76, 0x7cfb, 0x7f55, 0x8096, 0x8093,
    -    0x809d, 0x8098, 0x809b, 0x809a, 0x80b2, 0x826f, 0x8292, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x828b, 0x828d, 0x898b, 0x89d2, 0x8a00, 0x8c37, 0x8c46,
    -    0x8c55, 0x8c9d, 0x8d64, 0x8d70, 0x8db3, 0x8eab, 0x8eca, 0x8f9b,
    -    0x8fb0, 0x8fc2, 0x8fc6, 0x8fc5, 0x8fc4, 0x5de1, 0x9091, 0x90a2,
    -    0x90aa, 0x90a6, 0x90a3, 0x9149, 0x91c6, 0x91cc, 0x9632, 0x962e,
    -    0x9631, 0x962a, 0x962c, 0x4e26, 0x4e56, 0x4e73, 0x4e8b, 0x4e9b,
    -    0x4e9e, 0x4eab, 0x4eac, 0x4f6f, 0x4f9d, 0x4f8d, 0x4f73, 0x4f7f,
    -    0x4f6c, 0x4f9b, 0x4f8b, 0x4f86, 0x4f83, 0x4f70, 0x4f75, 0x4f88,
    -    0x4f69, 0x4f7b, 0x4f96, 0x4f7e, 0x4f8f, 0x4f91, 0x4f7a, 0x5154,
    -    0x5152, 0x5155, 0x5169, 0x5177, 0x5176, 0x5178, 0x51bd, 0x51fd,
    -    0x523b, 0x5238, 0x5237, 0x523a, 0x5230, 0x522e, 0x5236, 0x5241,
    -    0x52be, 0x52bb, 0x5352, 0x5354, 0x5353, 0x5351, 0x5366, 0x5377,
    -    0x5378, 0x5379, 0x53d6, 0x53d4, 0x53d7, 0x5473, 0x5475, 0x003f,
    -    /* lead byte a9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5496, 0x5478, 0x5495, 0x5480, 0x547b, 0x5477, 0x5484, 0x5492,
    -    0x5486, 0x547c, 0x5490, 0x5471, 0x5476, 0x548c, 0x549a, 0x5462,
    -    0x5468, 0x548b, 0x547d, 0x548e, 0x56fa, 0x5783, 0x5777, 0x576a,
    -    0x5769, 0x5761, 0x5766, 0x5764, 0x577c, 0x591c, 0x5949, 0x5947,
    -    0x5948, 0x5944, 0x5954, 0x59be, 0x59bb, 0x59d4, 0x59b9, 0x59ae,
    -    0x59d1, 0x59c6, 0x59d0, 0x59cd, 0x59cb, 0x59d3, 0x59ca, 0x59af,
    -    0x59b3, 0x59d2, 0x59c5, 0x5b5f, 0x5b64, 0x5b63, 0x5b97, 0x5b9a,
    -    0x5b98, 0x5b9c, 0x5b99, 0x5b9b, 0x5c1a, 0x5c48, 0x5c45, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5c46, 0x5cb7, 0x5ca1, 0x5cb8, 0x5ca9, 0x5cab, 0x5cb1,
    -    0x5cb3, 0x5e18, 0x5e1a, 0x5e16, 0x5e15, 0x5e1b, 0x5e11, 0x5e78,
    -    0x5e9a, 0x5e97, 0x5e9c, 0x5e95, 0x5e96, 0x5ef6, 0x5f26, 0x5f27,
    -    0x5f29, 0x5f80, 0x5f81, 0x5f7f, 0x5f7c, 0x5fdd, 0x5fe0, 0x5ffd,
    -    0x5ff5, 0x5fff, 0x600f, 0x6014, 0x602f, 0x6035, 0x6016, 0x602a,
    -    0x6015, 0x6021, 0x6027, 0x6029, 0x602b, 0x601b, 0x6216, 0x6215,
    -    0x623f, 0x623e, 0x6240, 0x627f, 0x62c9, 0x62cc, 0x62c4, 0x62bf,
    -    0x62c2, 0x62b9, 0x62d2, 0x62db, 0x62ab, 0x62d3, 0x62d4, 0x62cb,
    -    0x62c8, 0x62a8, 0x62bd, 0x62bc, 0x62d0, 0x62d9, 0x62c7, 0x62cd,
    -    0x62b5, 0x62da, 0x62b1, 0x62d8, 0x62d6, 0x62d7, 0x62c6, 0x62ac,
    -    0x62ce, 0x653e, 0x65a7, 0x65bc, 0x65fa, 0x6614, 0x6613, 0x660c,
    -    0x6606, 0x6602, 0x660e, 0x6600, 0x660f, 0x6615, 0x660a, 0x003f,
    -    /* lead byte aa */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6607, 0x670d, 0x670b, 0x676d, 0x678b, 0x6795, 0x6771, 0x679c,
    -    0x6773, 0x6777, 0x6787, 0x679d, 0x6797, 0x676f, 0x6770, 0x677f,
    -    0x6789, 0x677e, 0x6790, 0x6775, 0x679a, 0x6793, 0x677c, 0x676a,
    -    0x6772, 0x6b23, 0x6b66, 0x6b67, 0x6b7f, 0x6c13, 0x6c1b, 0x6ce3,
    -    0x6ce8, 0x6cf3, 0x6cb1, 0x6ccc, 0x6ce5, 0x6cb3, 0x6cbd, 0x6cbe,
    -    0x6cbc, 0x6ce2, 0x6cab, 0x6cd5, 0x6cd3, 0x6cb8, 0x6cc4, 0x6cb9,
    -    0x6cc1, 0x6cae, 0x6cd7, 0x6cc5, 0x6cf1, 0x6cbf, 0x6cbb, 0x6ce1,
    -    0x6cdb, 0x6cca, 0x6cac, 0x6cef, 0x6cdc, 0x6cd6, 0x6ce0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7095, 0x708e, 0x7092, 0x708a, 0x7099, 0x722c, 0x722d,
    -    0x7238, 0x7248, 0x7267, 0x7269, 0x72c0, 0x72ce, 0x72d9, 0x72d7,
    -    0x72d0, 0x73a9, 0x73a8, 0x739f, 0x73ab, 0x73a5, 0x753d, 0x759d,
    -    0x7599, 0x759a, 0x7684, 0x76c2, 0x76f2, 0x76f4, 0x77e5, 0x77fd,
    -    0x793e, 0x7940, 0x7941, 0x79c9, 0x79c8, 0x7a7a, 0x7a79, 0x7afa,
    -    0x7cfe, 0x7f54, 0x7f8c, 0x7f8b, 0x8005, 0x80ba, 0x80a5, 0x80a2,
    -    0x80b1, 0x80a1, 0x80ab, 0x80a9, 0x80b4, 0x80aa, 0x80af, 0x81e5,
    -    0x81fe, 0x820d, 0x82b3, 0x829d, 0x8299, 0x82ad, 0x82bd, 0x829f,
    -    0x82b9, 0x82b1, 0x82ac, 0x82a5, 0x82af, 0x82b8, 0x82a3, 0x82b0,
    -    0x82be, 0x82b7, 0x864e, 0x8671, 0x521d, 0x8868, 0x8ecb, 0x8fce,
    -    0x8fd4, 0x8fd1, 0x90b5, 0x90b8, 0x90b1, 0x90b6, 0x91c7, 0x91d1,
    -    0x9577, 0x9580, 0x961c, 0x9640, 0x963f, 0x963b, 0x9644, 0x003f,
    -    /* lead byte ab */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9642, 0x96b9, 0x96e8, 0x9752, 0x975e, 0x4e9f, 0x4ead, 0x4eae,
    -    0x4fe1, 0x4fb5, 0x4faf, 0x4fbf, 0x4fe0, 0x4fd1, 0x4fcf, 0x4fdd,
    -    0x4fc3, 0x4fb6, 0x4fd8, 0x4fdf, 0x4fca, 0x4fd7, 0x4fae, 0x4fd0,
    -    0x4fc4, 0x4fc2, 0x4fda, 0x4fce, 0x4fde, 0x4fb7, 0x5157, 0x5192,
    -    0x5191, 0x51a0, 0x524e, 0x5243, 0x524a, 0x524d, 0x524c, 0x524b,
    -    0x5247, 0x52c7, 0x52c9, 0x52c3, 0x52c1, 0x530d, 0x5357, 0x537b,
    -    0x539a, 0x53db, 0x54ac, 0x54c0, 0x54a8, 0x54ce, 0x54c9, 0x54b8,
    -    0x54a6, 0x54b3, 0x54c7, 0x54c2, 0x54bd, 0x54aa, 0x54c1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x54c4, 0x54c8, 0x54af, 0x54ab, 0x54b1, 0x54bb, 0x54a9,
    -    0x54a7, 0x54bf, 0x56ff, 0x5782, 0x578b, 0x57a0, 0x57a3, 0x57a2,
    -    0x57ce, 0x57ae, 0x5793, 0x5955, 0x5951, 0x594f, 0x594e, 0x5950,
    -    0x59dc, 0x59d8, 0x59ff, 0x59e3, 0x59e8, 0x5a03, 0x59e5, 0x59ea,
    -    0x59da, 0x59e6, 0x5a01, 0x59fb, 0x5b69, 0x5ba3, 0x5ba6, 0x5ba4,
    -    0x5ba2, 0x5ba5, 0x5c01, 0x5c4e, 0x5c4f, 0x5c4d, 0x5c4b, 0x5cd9,
    -    0x5cd2, 0x5df7, 0x5e1d, 0x5e25, 0x5e1f, 0x5e7d, 0x5ea0, 0x5ea6,
    -    0x5efa, 0x5f08, 0x5f2d, 0x5f65, 0x5f88, 0x5f85, 0x5f8a, 0x5f8b,
    -    0x5f87, 0x5f8c, 0x5f89, 0x6012, 0x601d, 0x6020, 0x6025, 0x600e,
    -    0x6028, 0x604d, 0x6070, 0x6068, 0x6062, 0x6046, 0x6043, 0x606c,
    -    0x606b, 0x606a, 0x6064, 0x6241, 0x62dc, 0x6316, 0x6309, 0x62fc,
    -    0x62ed, 0x6301, 0x62ee, 0x62fd, 0x6307, 0x62f1, 0x62f7, 0x003f,
    -    /* lead byte ac */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x62ef, 0x62ec, 0x62fe, 0x62f4, 0x6311, 0x6302, 0x653f, 0x6545,
    -    0x65ab, 0x65bd, 0x65e2, 0x6625, 0x662d, 0x6620, 0x6627, 0x662f,
    -    0x661f, 0x6628, 0x6631, 0x6624, 0x66f7, 0x67ff, 0x67d3, 0x67f1,
    -    0x67d4, 0x67d0, 0x67ec, 0x67b6, 0x67af, 0x67f5, 0x67e9, 0x67ef,
    -    0x67c4, 0x67d1, 0x67b4, 0x67da, 0x67e5, 0x67b8, 0x67cf, 0x67de,
    -    0x67f3, 0x67b0, 0x67d9, 0x67e2, 0x67dd, 0x67d2, 0x6b6a, 0x6b83,
    -    0x6b86, 0x6bb5, 0x6bd2, 0x6bd7, 0x6c1f, 0x6cc9, 0x6d0b, 0x6d32,
    -    0x6d2a, 0x6d41, 0x6d25, 0x6d0c, 0x6d31, 0x6d1e, 0x6d17, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6d3b, 0x6d3d, 0x6d3e, 0x6d36, 0x6d1b, 0x6cf5, 0x6d39,
    -    0x6d27, 0x6d38, 0x6d29, 0x6d2e, 0x6d35, 0x6d0e, 0x6d2b, 0x70ab,
    -    0x70ba, 0x70b3, 0x70ac, 0x70af, 0x70ad, 0x70b8, 0x70ae, 0x70a4,
    -    0x7230, 0x7272, 0x726f, 0x7274, 0x72e9, 0x72e0, 0x72e1, 0x73b7,
    -    0x73ca, 0x73bb, 0x73b2, 0x73cd, 0x73c0, 0x73b3, 0x751a, 0x752d,
    -    0x754f, 0x754c, 0x754e, 0x754b, 0x75ab, 0x75a4, 0x75a5, 0x75a2,
    -    0x75a3, 0x7678, 0x7686, 0x7687, 0x7688, 0x76c8, 0x76c6, 0x76c3,
    -    0x76c5, 0x7701, 0x76f9, 0x76f8, 0x7709, 0x770b, 0x76fe, 0x76fc,
    -    0x7707, 0x77dc, 0x7802, 0x7814, 0x780c, 0x780d, 0x7946, 0x7949,
    -    0x7948, 0x7947, 0x79b9, 0x79ba, 0x79d1, 0x79d2, 0x79cb, 0x7a7f,
    -    0x7a81, 0x7aff, 0x7afd, 0x7c7d, 0x7d02, 0x7d05, 0x7d00, 0x7d09,
    -    0x7d07, 0x7d04, 0x7d06, 0x7f38, 0x7f8e, 0x7fbf, 0x8004, 0x003f,
    -    /* lead byte ad */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8010, 0x800d, 0x8011, 0x8036, 0x80d6, 0x80e5, 0x80da, 0x80c3,
    -    0x80c4, 0x80cc, 0x80e1, 0x80db, 0x80ce, 0x80de, 0x80e4, 0x80dd,
    -    0x81f4, 0x8222, 0x82e7, 0x8303, 0x8305, 0x82e3, 0x82db, 0x82e6,
    -    0x8304, 0x82e5, 0x8302, 0x8309, 0x82d2, 0x82d7, 0x82f1, 0x8301,
    -    0x82dc, 0x82d4, 0x82d1, 0x82de, 0x82d3, 0x82df, 0x82ef, 0x8306,
    -    0x8650, 0x8679, 0x867b, 0x867a, 0x884d, 0x886b, 0x8981, 0x89d4,
    -    0x8a08, 0x8a02, 0x8a03, 0x8c9e, 0x8ca0, 0x8d74, 0x8d73, 0x8db4,
    -    0x8ecd, 0x8ecc, 0x8ff0, 0x8fe6, 0x8fe2, 0x8fea, 0x8fe5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8fed, 0x8feb, 0x8fe4, 0x8fe8, 0x90ca, 0x90ce, 0x90c1,
    -    0x90c3, 0x914b, 0x914a, 0x91cd, 0x9582, 0x9650, 0x964b, 0x964c,
    -    0x964d, 0x9762, 0x9769, 0x97cb, 0x97ed, 0x97f3, 0x9801, 0x98a8,
    -    0x98db, 0x98df, 0x9996, 0x9999, 0x4e58, 0x4eb3, 0x500c, 0x500d,
    -    0x5023, 0x4fef, 0x5026, 0x5025, 0x4ff8, 0x5029, 0x5016, 0x5006,
    -    0x503c, 0x501f, 0x501a, 0x5012, 0x5011, 0x4ffa, 0x5000, 0x5014,
    -    0x5028, 0x4ff1, 0x5021, 0x500b, 0x5019, 0x5018, 0x4ff3, 0x4fee,
    -    0x502d, 0x502a, 0x4ffe, 0x502b, 0x5009, 0x517c, 0x51a4, 0x51a5,
    -    0x51a2, 0x51cd, 0x51cc, 0x51c6, 0x51cb, 0x5256, 0x525c, 0x5254,
    -    0x525b, 0x525d, 0x532a, 0x537f, 0x539f, 0x539d, 0x53df, 0x54e8,
    -    0x5510, 0x5501, 0x5537, 0x54fc, 0x54e5, 0x54f2, 0x5506, 0x54fa,
    -    0x5514, 0x54e9, 0x54ed, 0x54e1, 0x5509, 0x54ee, 0x54ea, 0x003f,
    -    /* lead byte ae */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x54e6, 0x5527, 0x5507, 0x54fd, 0x550f, 0x5703, 0x5704, 0x57c2,
    -    0x57d4, 0x57cb, 0x57c3, 0x5809, 0x590f, 0x5957, 0x5958, 0x595a,
    -    0x5a11, 0x5a18, 0x5a1c, 0x5a1f, 0x5a1b, 0x5a13, 0x59ec, 0x5a20,
    -    0x5a23, 0x5a29, 0x5a25, 0x5a0c, 0x5a09, 0x5b6b, 0x5c58, 0x5bb0,
    -    0x5bb3, 0x5bb6, 0x5bb4, 0x5bae, 0x5bb5, 0x5bb9, 0x5bb8, 0x5c04,
    -    0x5c51, 0x5c55, 0x5c50, 0x5ced, 0x5cfd, 0x5cfb, 0x5cea, 0x5ce8,
    -    0x5cf0, 0x5cf6, 0x5d01, 0x5cf4, 0x5dee, 0x5e2d, 0x5e2b, 0x5eab,
    -    0x5ead, 0x5ea7, 0x5f31, 0x5f92, 0x5f91, 0x5f90, 0x6059, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6063, 0x6065, 0x6050, 0x6055, 0x606d, 0x6069, 0x606f,
    -    0x6084, 0x609f, 0x609a, 0x608d, 0x6094, 0x608c, 0x6085, 0x6096,
    -    0x6247, 0x62f3, 0x6308, 0x62ff, 0x634e, 0x633e, 0x632f, 0x6355,
    -    0x6342, 0x6346, 0x634f, 0x6349, 0x633a, 0x6350, 0x633d, 0x632a,
    -    0x632b, 0x6328, 0x634d, 0x634c, 0x6548, 0x6549, 0x6599, 0x65c1,
    -    0x65c5, 0x6642, 0x6649, 0x664f, 0x6643, 0x6652, 0x664c, 0x6645,
    -    0x6641, 0x66f8, 0x6714, 0x6715, 0x6717, 0x6821, 0x6838, 0x6848,
    -    0x6846, 0x6853, 0x6839, 0x6842, 0x6854, 0x6829, 0x68b3, 0x6817,
    -    0x684c, 0x6851, 0x683d, 0x67f4, 0x6850, 0x6840, 0x683c, 0x6843,
    -    0x682a, 0x6845, 0x6813, 0x6818, 0x6841, 0x6b8a, 0x6b89, 0x6bb7,
    -    0x6c23, 0x6c27, 0x6c28, 0x6c26, 0x6c24, 0x6cf0, 0x6d6a, 0x6d95,
    -    0x6d88, 0x6d87, 0x6d66, 0x6d78, 0x6d77, 0x6d59, 0x6d93, 0x003f,
    -    /* lead byte af */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6d6c, 0x6d89, 0x6d6e, 0x6d5a, 0x6d74, 0x6d69, 0x6d8c, 0x6d8a,
    -    0x6d79, 0x6d85, 0x6d65, 0x6d94, 0x70ca, 0x70d8, 0x70e4, 0x70d9,
    -    0x70c8, 0x70cf, 0x7239, 0x7279, 0x72fc, 0x72f9, 0x72fd, 0x72f8,
    -    0x72f7, 0x7386, 0x73ed, 0x7409, 0x73ee, 0x73e0, 0x73ea, 0x73de,
    -    0x7554, 0x755d, 0x755c, 0x755a, 0x7559, 0x75be, 0x75c5, 0x75c7,
    -    0x75b2, 0x75b3, 0x75bd, 0x75bc, 0x75b9, 0x75c2, 0x75b8, 0x768b,
    -    0x76b0, 0x76ca, 0x76cd, 0x76ce, 0x7729, 0x771f, 0x7720, 0x7728,
    -    0x77e9, 0x7830, 0x7827, 0x7838, 0x781d, 0x7834, 0x7837, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7825, 0x782d, 0x7820, 0x781f, 0x7832, 0x7955, 0x7950,
    -    0x7960, 0x795f, 0x7956, 0x795e, 0x795d, 0x7957, 0x795a, 0x79e4,
    -    0x79e3, 0x79e7, 0x79df, 0x79e6, 0x79e9, 0x79d8, 0x7a84, 0x7a88,
    -    0x7ad9, 0x7b06, 0x7b11, 0x7c89, 0x7d21, 0x7d17, 0x7d0b, 0x7d0a,
    -    0x7d20, 0x7d22, 0x7d14, 0x7d10, 0x7d15, 0x7d1a, 0x7d1c, 0x7d0d,
    -    0x7d19, 0x7d1b, 0x7f3a, 0x7f5f, 0x7f94, 0x7fc5, 0x7fc1, 0x8006,
    -    0x8018, 0x8015, 0x8019, 0x8017, 0x803d, 0x803f, 0x80f1, 0x8102,
    -    0x80f0, 0x8105, 0x80ed, 0x80f4, 0x8106, 0x80f8, 0x80f3, 0x8108,
    -    0x80fd, 0x810a, 0x80fc, 0x80ef, 0x81ed, 0x81ec, 0x8200, 0x8210,
    -    0x822a, 0x822b, 0x8228, 0x822c, 0x82bb, 0x832b, 0x8352, 0x8354,
    -    0x834a, 0x8338, 0x8350, 0x8349, 0x8335, 0x8334, 0x834f, 0x8332,
    -    0x8339, 0x8336, 0x8317, 0x8340, 0x8331, 0x8328, 0x8343, 0x003f,
    -    /* lead byte b0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8654, 0x868a, 0x86aa, 0x8693, 0x86a4, 0x86a9, 0x868c, 0x86a3,
    -    0x869c, 0x8870, 0x8877, 0x8881, 0x8882, 0x887d, 0x8879, 0x8a18,
    -    0x8a10, 0x8a0e, 0x8a0c, 0x8a15, 0x8a0a, 0x8a17, 0x8a13, 0x8a16,
    -    0x8a0f, 0x8a11, 0x8c48, 0x8c7a, 0x8c79, 0x8ca1, 0x8ca2, 0x8d77,
    -    0x8eac, 0x8ed2, 0x8ed4, 0x8ecf, 0x8fb1, 0x9001, 0x9006, 0x8ff7,
    -    0x9000, 0x8ffa, 0x8ff4, 0x9003, 0x8ffd, 0x9005, 0x8ff8, 0x9095,
    -    0x90e1, 0x90dd, 0x90e2, 0x9152, 0x914d, 0x914c, 0x91d8, 0x91dd,
    -    0x91d7, 0x91dc, 0x91d9, 0x9583, 0x9662, 0x9663, 0x9661, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x965b, 0x965d, 0x9664, 0x9658, 0x965e, 0x96bb, 0x98e2,
    -    0x99ac, 0x9aa8, 0x9ad8, 0x9b25, 0x9b32, 0x9b3c, 0x4e7e, 0x507a,
    -    0x507d, 0x505c, 0x5047, 0x5043, 0x504c, 0x505a, 0x5049, 0x5065,
    -    0x5076, 0x504e, 0x5055, 0x5075, 0x5074, 0x5077, 0x504f, 0x500f,
    -    0x506f, 0x506d, 0x515c, 0x5195, 0x51f0, 0x526a, 0x526f, 0x52d2,
    -    0x52d9, 0x52d8, 0x52d5, 0x5310, 0x530f, 0x5319, 0x533f, 0x5340,
    -    0x533e, 0x53c3, 0x66fc, 0x5546, 0x556a, 0x5566, 0x5544, 0x555e,
    -    0x5561, 0x5543, 0x554a, 0x5531, 0x5556, 0x554f, 0x5555, 0x552f,
    -    0x5564, 0x5538, 0x552e, 0x555c, 0x552c, 0x5563, 0x5533, 0x5541,
    -    0x5557, 0x5708, 0x570b, 0x5709, 0x57df, 0x5805, 0x580a, 0x5806,
    -    0x57e0, 0x57e4, 0x57fa, 0x5802, 0x5835, 0x57f7, 0x57f9, 0x5920,
    -    0x5962, 0x5a36, 0x5a41, 0x5a49, 0x5a66, 0x5a6a, 0x5a40, 0x003f,
    -    /* lead byte b1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5a3c, 0x5a62, 0x5a5a, 0x5a46, 0x5a4a, 0x5b70, 0x5bc7, 0x5bc5,
    -    0x5bc4, 0x5bc2, 0x5bbf, 0x5bc6, 0x5c09, 0x5c08, 0x5c07, 0x5c60,
    -    0x5c5c, 0x5c5d, 0x5d07, 0x5d06, 0x5d0e, 0x5d1b, 0x5d16, 0x5d22,
    -    0x5d11, 0x5d29, 0x5d14, 0x5d19, 0x5d24, 0x5d27, 0x5d17, 0x5de2,
    -    0x5e38, 0x5e36, 0x5e33, 0x5e37, 0x5eb7, 0x5eb8, 0x5eb6, 0x5eb5,
    -    0x5ebe, 0x5f35, 0x5f37, 0x5f57, 0x5f6c, 0x5f69, 0x5f6b, 0x5f97,
    -    0x5f99, 0x5f9e, 0x5f98, 0x5fa1, 0x5fa0, 0x5f9c, 0x607f, 0x60a3,
    -    0x6089, 0x60a0, 0x60a8, 0x60cb, 0x60b4, 0x60e6, 0x60bd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x60c5, 0x60bb, 0x60b5, 0x60dc, 0x60bc, 0x60d8, 0x60d5,
    -    0x60c6, 0x60df, 0x60b8, 0x60da, 0x60c7, 0x621a, 0x621b, 0x6248,
    -    0x63a0, 0x63a7, 0x6372, 0x6396, 0x63a2, 0x63a5, 0x6377, 0x6367,
    -    0x6398, 0x63aa, 0x6371, 0x63a9, 0x6389, 0x6383, 0x639b, 0x636b,
    -    0x63a8, 0x6384, 0x6388, 0x6399, 0x63a1, 0x63ac, 0x6392, 0x638f,
    -    0x6380, 0x637b, 0x6369, 0x6368, 0x637a, 0x655d, 0x6556, 0x6551,
    -    0x6559, 0x6557, 0x555f, 0x654f, 0x6558, 0x6555, 0x6554, 0x659c,
    -    0x659b, 0x65ac, 0x65cf, 0x65cb, 0x65cc, 0x65ce, 0x665d, 0x665a,
    -    0x6664, 0x6668, 0x6666, 0x665e, 0x66f9, 0x52d7, 0x671b, 0x6881,
    -    0x68af, 0x68a2, 0x6893, 0x68b5, 0x687f, 0x6876, 0x68b1, 0x68a7,
    -    0x6897, 0x68b0, 0x6883, 0x68c4, 0x68ad, 0x6886, 0x6885, 0x6894,
    -    0x689d, 0x68a8, 0x689f, 0x68a1, 0x6882, 0x6b32, 0x6bba, 0x003f,
    -    /* lead byte b2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6beb, 0x6bec, 0x6c2b, 0x6d8e, 0x6dbc, 0x6df3, 0x6dd9, 0x6db2,
    -    0x6de1, 0x6dcc, 0x6de4, 0x6dfb, 0x6dfa, 0x6e05, 0x6dc7, 0x6dcb,
    -    0x6daf, 0x6dd1, 0x6dae, 0x6dde, 0x6df9, 0x6db8, 0x6df7, 0x6df5,
    -    0x6dc5, 0x6dd2, 0x6e1a, 0x6db5, 0x6dda, 0x6deb, 0x6dd8, 0x6dea,
    -    0x6df1, 0x6dee, 0x6de8, 0x6dc6, 0x6dc4, 0x6daa, 0x6dec, 0x6dbf,
    -    0x6de6, 0x70f9, 0x7109, 0x710a, 0x70fd, 0x70ef, 0x723d, 0x727d,
    -    0x7281, 0x731c, 0x731b, 0x7316, 0x7313, 0x7319, 0x7387, 0x7405,
    -    0x740a, 0x7403, 0x7406, 0x73fe, 0x740d, 0x74e0, 0x74f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x74f7, 0x751c, 0x7522, 0x7565, 0x7566, 0x7562, 0x7570,
    -    0x758f, 0x75d4, 0x75d5, 0x75b5, 0x75ca, 0x75cd, 0x768e, 0x76d4,
    -    0x76d2, 0x76db, 0x7737, 0x773e, 0x773c, 0x7736, 0x7738, 0x773a,
    -    0x786b, 0x7843, 0x784e, 0x7965, 0x7968, 0x796d, 0x79fb, 0x7a92,
    -    0x7a95, 0x7b20, 0x7b28, 0x7b1b, 0x7b2c, 0x7b26, 0x7b19, 0x7b1e,
    -    0x7b2e, 0x7c92, 0x7c97, 0x7c95, 0x7d46, 0x7d43, 0x7d71, 0x7d2e,
    -    0x7d39, 0x7d3c, 0x7d40, 0x7d30, 0x7d33, 0x7d44, 0x7d2f, 0x7d42,
    -    0x7d32, 0x7d31, 0x7f3d, 0x7f9e, 0x7f9a, 0x7fcc, 0x7fce, 0x7fd2,
    -    0x801c, 0x804a, 0x8046, 0x812f, 0x8116, 0x8123, 0x812b, 0x8129,
    -    0x8130, 0x8124, 0x8202, 0x8235, 0x8237, 0x8236, 0x8239, 0x838e,
    -    0x839e, 0x8398, 0x8378, 0x83a2, 0x8396, 0x83bd, 0x83ab, 0x8392,
    -    0x838a, 0x8393, 0x8389, 0x83a0, 0x8377, 0x837b, 0x837c, 0x003f,
    -    /* lead byte b3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8386, 0x83a7, 0x8655, 0x5f6a, 0x86c7, 0x86c0, 0x86b6, 0x86c4,
    -    0x86b5, 0x86c6, 0x86cb, 0x86b1, 0x86af, 0x86c9, 0x8853, 0x889e,
    -    0x8888, 0x88ab, 0x8892, 0x8896, 0x888d, 0x888b, 0x8993, 0x898f,
    -    0x8a2a, 0x8a1d, 0x8a23, 0x8a25, 0x8a31, 0x8a2d, 0x8a1f, 0x8a1b,
    -    0x8a22, 0x8c49, 0x8c5a, 0x8ca9, 0x8cac, 0x8cab, 0x8ca8, 0x8caa,
    -    0x8ca7, 0x8d67, 0x8d66, 0x8dbe, 0x8dba, 0x8edb, 0x8edf, 0x9019,
    -    0x900d, 0x901a, 0x9017, 0x9023, 0x901f, 0x901d, 0x9010, 0x9015,
    -    0x901e, 0x9020, 0x900f, 0x9022, 0x9016, 0x901b, 0x9014, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x90e8, 0x90ed, 0x90fd, 0x9157, 0x91ce, 0x91f5, 0x91e6,
    -    0x91e3, 0x91e7, 0x91ed, 0x91e9, 0x9589, 0x966a, 0x9675, 0x9673,
    -    0x9678, 0x9670, 0x9674, 0x9676, 0x9677, 0x966c, 0x96c0, 0x96ea,
    -    0x96e9, 0x7ae0, 0x7adf, 0x9802, 0x9803, 0x9b5a, 0x9ce5, 0x9e75,
    -    0x9e7f, 0x9ea5, 0x9ebb, 0x50a2, 0x508d, 0x5085, 0x5099, 0x5091,
    -    0x5080, 0x5096, 0x5098, 0x509a, 0x6700, 0x51f1, 0x5272, 0x5274,
    -    0x5275, 0x5269, 0x52de, 0x52dd, 0x52db, 0x535a, 0x53a5, 0x557b,
    -    0x5580, 0x55a7, 0x557c, 0x558a, 0x559d, 0x5598, 0x5582, 0x559c,
    -    0x55aa, 0x5594, 0x5587, 0x558b, 0x5583, 0x55b3, 0x55ae, 0x559f,
    -    0x553e, 0x55b2, 0x559a, 0x55bb, 0x55ac, 0x55b1, 0x557e, 0x5589,
    -    0x55ab, 0x5599, 0x570d, 0x582f, 0x582a, 0x5834, 0x5824, 0x5830,
    -    0x5831, 0x5821, 0x581d, 0x5820, 0x58f9, 0x58fa, 0x5960, 0x003f,
    -    /* lead byte b4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5a77, 0x5a9a, 0x5a7f, 0x5a92, 0x5a9b, 0x5aa7, 0x5b73, 0x5b71,
    -    0x5bd2, 0x5bcc, 0x5bd3, 0x5bd0, 0x5c0a, 0x5c0b, 0x5c31, 0x5d4c,
    -    0x5d50, 0x5d34, 0x5d47, 0x5dfd, 0x5e45, 0x5e3d, 0x5e40, 0x5e43,
    -    0x5e7e, 0x5eca, 0x5ec1, 0x5ec2, 0x5ec4, 0x5f3c, 0x5f6d, 0x5fa9,
    -    0x5faa, 0x5fa8, 0x60d1, 0x60e1, 0x60b2, 0x60b6, 0x60e0, 0x611c,
    -    0x6123, 0x60fa, 0x6115, 0x60f0, 0x60fb, 0x60f4, 0x6168, 0x60f1,
    -    0x610e, 0x60f6, 0x6109, 0x6100, 0x6112, 0x621f, 0x6249, 0x63a3,
    -    0x638c, 0x63cf, 0x63c0, 0x63e9, 0x63c9, 0x63c6, 0x63cd, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x63d2, 0x63e3, 0x63d0, 0x63e1, 0x63d6, 0x63ed, 0x63ee,
    -    0x6376, 0x63f4, 0x63ea, 0x63db, 0x6452, 0x63da, 0x63f9, 0x655e,
    -    0x6566, 0x6562, 0x6563, 0x6591, 0x6590, 0x65af, 0x666e, 0x6670,
    -    0x6674, 0x6676, 0x666f, 0x6691, 0x667a, 0x667e, 0x6677, 0x66fe,
    -    0x66ff, 0x671f, 0x671d, 0x68fa, 0x68d5, 0x68e0, 0x68d8, 0x68d7,
    -    0x6905, 0x68df, 0x68f5, 0x68ee, 0x68e7, 0x68f9, 0x68d2, 0x68f2,
    -    0x68e3, 0x68cb, 0x68cd, 0x690d, 0x6912, 0x690e, 0x68c9, 0x68da,
    -    0x696e, 0x68fb, 0x6b3e, 0x6b3a, 0x6b3d, 0x6b98, 0x6b96, 0x6bbc,
    -    0x6bef, 0x6c2e, 0x6c2f, 0x6c2c, 0x6e2f, 0x6e38, 0x6e54, 0x6e21,
    -    0x6e32, 0x6e67, 0x6e4a, 0x6e20, 0x6e25, 0x6e23, 0x6e1b, 0x6e5b,
    -    0x6e58, 0x6e24, 0x6e56, 0x6e6e, 0x6e2d, 0x6e26, 0x6e6f, 0x6e34,
    -    0x6e4d, 0x6e3a, 0x6e2c, 0x6e43, 0x6e1d, 0x6e3e, 0x6ecb, 0x003f,
    -    /* lead byte b5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6e89, 0x6e19, 0x6e4e, 0x6e63, 0x6e44, 0x6e72, 0x6e69, 0x6e5f,
    -    0x7119, 0x711a, 0x7126, 0x7130, 0x7121, 0x7136, 0x716e, 0x711c,
    -    0x724c, 0x7284, 0x7280, 0x7336, 0x7325, 0x7334, 0x7329, 0x743a,
    -    0x742a, 0x7433, 0x7422, 0x7425, 0x7435, 0x7436, 0x7434, 0x742f,
    -    0x741b, 0x7426, 0x7428, 0x7525, 0x7526, 0x756b, 0x756a, 0x75e2,
    -    0x75db, 0x75e3, 0x75d9, 0x75d8, 0x75de, 0x75e0, 0x767b, 0x767c,
    -    0x7696, 0x7693, 0x76b4, 0x76dc, 0x774f, 0x77ed, 0x785d, 0x786c,
    -    0x786f, 0x7a0d, 0x7a08, 0x7a0b, 0x7a05, 0x7a00, 0x7a98, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7a97, 0x7a96, 0x7ae5, 0x7ae3, 0x7b49, 0x7b56, 0x7b46,
    -    0x7b50, 0x7b52, 0x7b54, 0x7b4d, 0x7b4b, 0x7b4f, 0x7b51, 0x7c9f,
    -    0x7ca5, 0x7d5e, 0x7d50, 0x7d68, 0x7d55, 0x7d2b, 0x7d6e, 0x7d72,
    -    0x7d61, 0x7d66, 0x7d62, 0x7d70, 0x7d73, 0x5584, 0x7fd4, 0x7fd5,
    -    0x800b, 0x8052, 0x8085, 0x8155, 0x8154, 0x814b, 0x8151, 0x814e,
    -    0x8139, 0x8146, 0x813e, 0x814c, 0x8153, 0x8174, 0x8212, 0x821c,
    -    0x83e9, 0x8403, 0x83f8, 0x840d, 0x83e0, 0x83c5, 0x840b, 0x83c1,
    -    0x83ef, 0x83f1, 0x83f4, 0x8457, 0x840a, 0x83f0, 0x840c, 0x83cc,
    -    0x83fd, 0x83f2, 0x83ca, 0x8438, 0x840e, 0x8404, 0x83dc, 0x8407,
    -    0x83d4, 0x83df, 0x865b, 0x86df, 0x86d9, 0x86ed, 0x86d4, 0x86db,
    -    0x86e4, 0x86d0, 0x86de, 0x8857, 0x88c1, 0x88c2, 0x88b1, 0x8983,
    -    0x8996, 0x8a3b, 0x8a60, 0x8a55, 0x8a5e, 0x8a3c, 0x8a41, 0x003f,
    -    /* lead byte b6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8a54, 0x8a5b, 0x8a50, 0x8a46, 0x8a34, 0x8a3a, 0x8a36, 0x8a56,
    -    0x8c61, 0x8c82, 0x8caf, 0x8cbc, 0x8cb3, 0x8cbd, 0x8cc1, 0x8cbb,
    -    0x8cc0, 0x8cb4, 0x8cb7, 0x8cb6, 0x8cbf, 0x8cb8, 0x8d8a, 0x8d85,
    -    0x8d81, 0x8dce, 0x8ddd, 0x8dcb, 0x8dda, 0x8dd1, 0x8dcc, 0x8ddb,
    -    0x8dc6, 0x8efb, 0x8ef8, 0x8efc, 0x8f9c, 0x902e, 0x9035, 0x9031,
    -    0x9038, 0x9032, 0x9036, 0x9102, 0x90f5, 0x9109, 0x90fe, 0x9163,
    -    0x9165, 0x91cf, 0x9214, 0x9215, 0x9223, 0x9209, 0x921e, 0x920d,
    -    0x9210, 0x9207, 0x9211, 0x9594, 0x958f, 0x958b, 0x9591, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9593, 0x9592, 0x958e, 0x968a, 0x968e, 0x968b, 0x967d,
    -    0x9685, 0x9686, 0x968d, 0x9672, 0x9684, 0x96c1, 0x96c5, 0x96c4,
    -    0x96c6, 0x96c7, 0x96ef, 0x96f2, 0x97cc, 0x9805, 0x9806, 0x9808,
    -    0x98e7, 0x98ea, 0x98ef, 0x98e9, 0x98f2, 0x98ed, 0x99ae, 0x99ad,
    -    0x9ec3, 0x9ecd, 0x9ed1, 0x4e82, 0x50ad, 0x50b5, 0x50b2, 0x50b3,
    -    0x50c5, 0x50be, 0x50ac, 0x50b7, 0x50bb, 0x50af, 0x50c7, 0x527f,
    -    0x5277, 0x527d, 0x52df, 0x52e6, 0x52e4, 0x52e2, 0x52e3, 0x532f,
    -    0x55df, 0x55e8, 0x55d3, 0x55e6, 0x55ce, 0x55dc, 0x55c7, 0x55d1,
    -    0x55e3, 0x55e4, 0x55ef, 0x55da, 0x55e1, 0x55c5, 0x55c6, 0x55e5,
    -    0x55c9, 0x5712, 0x5713, 0x585e, 0x5851, 0x5858, 0x5857, 0x585a,
    -    0x5854, 0x586b, 0x584c, 0x586d, 0x584a, 0x5862, 0x5852, 0x584b,
    -    0x5967, 0x5ac1, 0x5ac9, 0x5acc, 0x5abe, 0x5abd, 0x5abc, 0x003f,
    -    /* lead byte b7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5ab3, 0x5ac2, 0x5ab2, 0x5d69, 0x5d6f, 0x5e4c, 0x5e79, 0x5ec9,
    -    0x5ec8, 0x5f12, 0x5f59, 0x5fac, 0x5fae, 0x611a, 0x610f, 0x6148,
    -    0x611f, 0x60f3, 0x611b, 0x60f9, 0x6101, 0x6108, 0x614e, 0x614c,
    -    0x6144, 0x614d, 0x613e, 0x6134, 0x6127, 0x610d, 0x6106, 0x6137,
    -    0x6221, 0x6222, 0x6413, 0x643e, 0x641e, 0x642a, 0x642d, 0x643d,
    -    0x642c, 0x640f, 0x641c, 0x6414, 0x640d, 0x6436, 0x6416, 0x6417,
    -    0x6406, 0x656c, 0x659f, 0x65b0, 0x6697, 0x6689, 0x6687, 0x6688,
    -    0x6696, 0x6684, 0x6698, 0x668d, 0x6703, 0x6994, 0x696d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x695a, 0x6977, 0x6960, 0x6954, 0x6975, 0x6930, 0x6982,
    -    0x694a, 0x6968, 0x696b, 0x695e, 0x6953, 0x6979, 0x6986, 0x695d,
    -    0x6963, 0x695b, 0x6b47, 0x6b72, 0x6bc0, 0x6bbf, 0x6bd3, 0x6bfd,
    -    0x6ea2, 0x6eaf, 0x6ed3, 0x6eb6, 0x6ec2, 0x6e90, 0x6e9d, 0x6ec7,
    -    0x6ec5, 0x6ea5, 0x6e98, 0x6ebc, 0x6eba, 0x6eab, 0x6ed1, 0x6e96,
    -    0x6e9c, 0x6ec4, 0x6ed4, 0x6eaa, 0x6ea7, 0x6eb4, 0x714e, 0x7159,
    -    0x7169, 0x7164, 0x7149, 0x7167, 0x715c, 0x716c, 0x7166, 0x714c,
    -    0x7165, 0x715e, 0x7146, 0x7168, 0x7156, 0x723a, 0x7252, 0x7337,
    -    0x7345, 0x733f, 0x733e, 0x746f, 0x745a, 0x7455, 0x745f, 0x745e,
    -    0x7441, 0x743f, 0x7459, 0x745b, 0x745c, 0x7576, 0x7578, 0x7600,
    -    0x75f0, 0x7601, 0x75f2, 0x75f1, 0x75fa, 0x75ff, 0x75f4, 0x75f3,
    -    0x76de, 0x76df, 0x775b, 0x776b, 0x7766, 0x775e, 0x7763, 0x003f,
    -    /* lead byte b8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7779, 0x776a, 0x776c, 0x775c, 0x7765, 0x7768, 0x7762, 0x77ee,
    -    0x788e, 0x78b0, 0x7897, 0x7898, 0x788c, 0x7889, 0x787c, 0x7891,
    -    0x7893, 0x787f, 0x797a, 0x797f, 0x7981, 0x842c, 0x79bd, 0x7a1c,
    -    0x7a1a, 0x7a20, 0x7a14, 0x7a1f, 0x7a1e, 0x7a9f, 0x7aa0, 0x7b77,
    -    0x7bc0, 0x7b60, 0x7b6e, 0x7b67, 0x7cb1, 0x7cb3, 0x7cb5, 0x7d93,
    -    0x7d79, 0x7d91, 0x7d81, 0x7d8f, 0x7d5b, 0x7f6e, 0x7f69, 0x7f6a,
    -    0x7f72, 0x7fa9, 0x7fa8, 0x7fa4, 0x8056, 0x8058, 0x8086, 0x8084,
    -    0x8171, 0x8170, 0x8178, 0x8165, 0x816e, 0x8173, 0x816b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8179, 0x817a, 0x8166, 0x8205, 0x8247, 0x8482, 0x8477,
    -    0x843d, 0x8431, 0x8475, 0x8466, 0x846b, 0x8449, 0x846c, 0x845b,
    -    0x843c, 0x8435, 0x8461, 0x8463, 0x8469, 0x846d, 0x8446, 0x865e,
    -    0x865c, 0x865f, 0x86f9, 0x8713, 0x8708, 0x8707, 0x8700, 0x86fe,
    -    0x86fb, 0x8702, 0x8703, 0x8706, 0x870a, 0x8859, 0x88df, 0x88d4,
    -    0x88d9, 0x88dc, 0x88d8, 0x88dd, 0x88e1, 0x88ca, 0x88d5, 0x88d2,
    -    0x899c, 0x89e3, 0x8a6b, 0x8a72, 0x8a73, 0x8a66, 0x8a69, 0x8a70,
    -    0x8a87, 0x8a7c, 0x8a63, 0x8aa0, 0x8a71, 0x8a85, 0x8a6d, 0x8a62,
    -    0x8a6e, 0x8a6c, 0x8a79, 0x8a7b, 0x8a3e, 0x8a68, 0x8c62, 0x8c8a,
    -    0x8c89, 0x8cca, 0x8cc7, 0x8cc8, 0x8cc4, 0x8cb2, 0x8cc3, 0x8cc2,
    -    0x8cc5, 0x8de1, 0x8ddf, 0x8de8, 0x8def, 0x8df3, 0x8dfa, 0x8dea,
    -    0x8de4, 0x8de6, 0x8eb2, 0x8f03, 0x8f09, 0x8efe, 0x8f0a, 0x003f,
    -    /* lead byte b9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8f9f, 0x8fb2, 0x904b, 0x904a, 0x9053, 0x9042, 0x9054, 0x903c,
    -    0x9055, 0x9050, 0x9047, 0x904f, 0x904e, 0x904d, 0x9051, 0x903e,
    -    0x9041, 0x9112, 0x9117, 0x916c, 0x916a, 0x9169, 0x91c9, 0x9237,
    -    0x9257, 0x9238, 0x923d, 0x9240, 0x923e, 0x925b, 0x924b, 0x9264,
    -    0x9251, 0x9234, 0x9249, 0x924d, 0x9245, 0x9239, 0x923f, 0x925a,
    -    0x9598, 0x9698, 0x9694, 0x9695, 0x96cd, 0x96cb, 0x96c9, 0x96ca,
    -    0x96f7, 0x96fb, 0x96f9, 0x96f6, 0x9756, 0x9774, 0x9776, 0x9810,
    -    0x9811, 0x9813, 0x980a, 0x9812, 0x980c, 0x98fc, 0x98f4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x98fd, 0x98fe, 0x99b3, 0x99b1, 0x99b4, 0x9ae1, 0x9ce9,
    -    0x9e82, 0x9f0e, 0x9f13, 0x9f20, 0x50e7, 0x50ee, 0x50e5, 0x50d6,
    -    0x50ed, 0x50da, 0x50d5, 0x50cf, 0x50d1, 0x50f1, 0x50ce, 0x50e9,
    -    0x5162, 0x51f3, 0x5283, 0x5282, 0x5331, 0x53ad, 0x55fe, 0x5600,
    -    0x561b, 0x5617, 0x55fd, 0x5614, 0x5606, 0x5609, 0x560d, 0x560e,
    -    0x55f7, 0x5616, 0x561f, 0x5608, 0x5610, 0x55f6, 0x5718, 0x5716,
    -    0x5875, 0x587e, 0x5883, 0x5893, 0x588a, 0x5879, 0x5885, 0x587d,
    -    0x58fd, 0x5925, 0x5922, 0x5924, 0x596a, 0x5969, 0x5ae1, 0x5ae6,
    -    0x5ae9, 0x5ad7, 0x5ad6, 0x5ad8, 0x5ae3, 0x5b75, 0x5bde, 0x5be7,
    -    0x5be1, 0x5be5, 0x5be6, 0x5be8, 0x5be2, 0x5be4, 0x5bdf, 0x5c0d,
    -    0x5c62, 0x5d84, 0x5d87, 0x5e5b, 0x5e63, 0x5e55, 0x5e57, 0x5e54,
    -    0x5ed3, 0x5ed6, 0x5f0a, 0x5f46, 0x5f70, 0x5fb9, 0x6147, 0x003f,
    -    /* lead byte ba */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x613f, 0x614b, 0x6177, 0x6162, 0x6163, 0x615f, 0x615a, 0x6158,
    -    0x6175, 0x622a, 0x6487, 0x6458, 0x6454, 0x64a4, 0x6478, 0x645f,
    -    0x647a, 0x6451, 0x6467, 0x6434, 0x646d, 0x647b, 0x6572, 0x65a1,
    -    0x65d7, 0x65d6, 0x66a2, 0x66a8, 0x669d, 0x699c, 0x69a8, 0x6995,
    -    0x69c1, 0x69ae, 0x69d3, 0x69cb, 0x699b, 0x69b7, 0x69bb, 0x69ab,
    -    0x69b4, 0x69d0, 0x69cd, 0x69ad, 0x69cc, 0x69a6, 0x69c3, 0x69a3,
    -    0x6b49, 0x6b4c, 0x6c33, 0x6f33, 0x6f14, 0x6efe, 0x6f13, 0x6ef4,
    -    0x6f29, 0x6f3e, 0x6f20, 0x6f2c, 0x6f0f, 0x6f02, 0x6f22, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6eff, 0x6eef, 0x6f06, 0x6f31, 0x6f38, 0x6f32, 0x6f23,
    -    0x6f15, 0x6f2b, 0x6f2f, 0x6f88, 0x6f2a, 0x6eec, 0x6f01, 0x6ef2,
    -    0x6ecc, 0x6ef7, 0x7194, 0x7199, 0x717d, 0x718a, 0x7184, 0x7192,
    -    0x723e, 0x7292, 0x7296, 0x7344, 0x7350, 0x7464, 0x7463, 0x746a,
    -    0x7470, 0x746d, 0x7504, 0x7591, 0x7627, 0x760d, 0x760b, 0x7609,
    -    0x7613, 0x76e1, 0x76e3, 0x7784, 0x777d, 0x777f, 0x7761, 0x78c1,
    -    0x789f, 0x78a7, 0x78b3, 0x78a9, 0x78a3, 0x798e, 0x798f, 0x798d,
    -    0x7a2e, 0x7a31, 0x7aaa, 0x7aa9, 0x7aed, 0x7aef, 0x7ba1, 0x7b95,
    -    0x7b8b, 0x7b75, 0x7b97, 0x7b9d, 0x7b94, 0x7b8f, 0x7bb8, 0x7b87,
    -    0x7b84, 0x7cb9, 0x7cbd, 0x7cbe, 0x7dbb, 0x7db0, 0x7d9c, 0x7dbd,
    -    0x7dbe, 0x7da0, 0x7dca, 0x7db4, 0x7db2, 0x7db1, 0x7dba, 0x7da2,
    -    0x7dbf, 0x7db5, 0x7db8, 0x7dad, 0x7dd2, 0x7dc7, 0x7dac, 0x003f,
    -    /* lead byte bb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7f70, 0x7fe0, 0x7fe1, 0x7fdf, 0x805e, 0x805a, 0x8087, 0x8150,
    -    0x8180, 0x818f, 0x8188, 0x818a, 0x817f, 0x8182, 0x81e7, 0x81fa,
    -    0x8207, 0x8214, 0x821e, 0x824b, 0x84c9, 0x84bf, 0x84c6, 0x84c4,
    -    0x8499, 0x849e, 0x84b2, 0x849c, 0x84cb, 0x84b8, 0x84c0, 0x84d3,
    -    0x8490, 0x84bc, 0x84d1, 0x84ca, 0x873f, 0x871c, 0x873b, 0x8722,
    -    0x8725, 0x8734, 0x8718, 0x8755, 0x8737, 0x8729, 0x88f3, 0x8902,
    -    0x88f4, 0x88f9, 0x88f8, 0x88fd, 0x88e8, 0x891a, 0x88ef, 0x8aa6,
    -    0x8a8c, 0x8a9e, 0x8aa3, 0x8a8d, 0x8aa1, 0x8a93, 0x8aa4, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8aaa, 0x8aa5, 0x8aa8, 0x8a98, 0x8a91, 0x8a9a, 0x8aa7,
    -    0x8c6a, 0x8c8d, 0x8c8c, 0x8cd3, 0x8cd1, 0x8cd2, 0x8d6b, 0x8d99,
    -    0x8d95, 0x8dfc, 0x8f14, 0x8f12, 0x8f15, 0x8f13, 0x8fa3, 0x9060,
    -    0x9058, 0x905c, 0x9063, 0x9059, 0x905e, 0x9062, 0x905d, 0x905b,
    -    0x9119, 0x9118, 0x911e, 0x9175, 0x9178, 0x9177, 0x9174, 0x9278,
    -    0x9280, 0x9285, 0x9298, 0x9296, 0x927b, 0x9293, 0x929c, 0x92a8,
    -    0x927c, 0x9291, 0x95a1, 0x95a8, 0x95a9, 0x95a3, 0x95a5, 0x95a4,
    -    0x9699, 0x969c, 0x969b, 0x96cc, 0x96d2, 0x9700, 0x977c, 0x9785,
    -    0x97f6, 0x9817, 0x9818, 0x98af, 0x98b1, 0x9903, 0x9905, 0x990c,
    -    0x9909, 0x99c1, 0x9aaf, 0x9ab0, 0x9ae6, 0x9b41, 0x9b42, 0x9cf4,
    -    0x9cf6, 0x9cf3, 0x9ebc, 0x9f3b, 0x9f4a, 0x5104, 0x5100, 0x50fb,
    -    0x50f5, 0x50f9, 0x5102, 0x5108, 0x5109, 0x5105, 0x51dc, 0x003f,
    -    /* lead byte bc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5287, 0x5288, 0x5289, 0x528d, 0x528a, 0x52f0, 0x53b2, 0x562e,
    -    0x563b, 0x5639, 0x5632, 0x563f, 0x5634, 0x5629, 0x5653, 0x564e,
    -    0x5657, 0x5674, 0x5636, 0x562f, 0x5630, 0x5880, 0x589f, 0x589e,
    -    0x58b3, 0x589c, 0x58ae, 0x58a9, 0x58a6, 0x596d, 0x5b09, 0x5afb,
    -    0x5b0b, 0x5af5, 0x5b0c, 0x5b08, 0x5bee, 0x5bec, 0x5be9, 0x5beb,
    -    0x5c64, 0x5c65, 0x5d9d, 0x5d94, 0x5e62, 0x5e5f, 0x5e61, 0x5ee2,
    -    0x5eda, 0x5edf, 0x5edd, 0x5ee3, 0x5ee0, 0x5f48, 0x5f71, 0x5fb7,
    -    0x5fb5, 0x6176, 0x6167, 0x616e, 0x615d, 0x6155, 0x6182, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x617c, 0x6170, 0x616b, 0x617e, 0x61a7, 0x6190, 0x61ab,
    -    0x618e, 0x61ac, 0x619a, 0x61a4, 0x6194, 0x61ae, 0x622e, 0x6469,
    -    0x646f, 0x6479, 0x649e, 0x64b2, 0x6488, 0x6490, 0x64b0, 0x64a5,
    -    0x6493, 0x6495, 0x64a9, 0x6492, 0x64ae, 0x64ad, 0x64ab, 0x649a,
    -    0x64ac, 0x6499, 0x64a2, 0x64b3, 0x6575, 0x6577, 0x6578, 0x66ae,
    -    0x66ab, 0x66b4, 0x66b1, 0x6a23, 0x6a1f, 0x69e8, 0x6a01, 0x6a1e,
    -    0x6a19, 0x69fd, 0x6a21, 0x6a13, 0x6a0a, 0x69f3, 0x6a02, 0x6a05,
    -    0x69ed, 0x6a11, 0x6b50, 0x6b4e, 0x6ba4, 0x6bc5, 0x6bc6, 0x6f3f,
    -    0x6f7c, 0x6f84, 0x6f51, 0x6f66, 0x6f54, 0x6f86, 0x6f6d, 0x6f5b,
    -    0x6f78, 0x6f6e, 0x6f8e, 0x6f7a, 0x6f70, 0x6f64, 0x6f97, 0x6f58,
    -    0x6ed5, 0x6f6f, 0x6f60, 0x6f5f, 0x719f, 0x71ac, 0x71b1, 0x71a8,
    -    0x7256, 0x729b, 0x734e, 0x7357, 0x7469, 0x748b, 0x7483, 0x003f,
    -    /* lead byte bd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x747e, 0x7480, 0x757f, 0x7620, 0x7629, 0x761f, 0x7624, 0x7626,
    -    0x7621, 0x7622, 0x769a, 0x76ba, 0x76e4, 0x778e, 0x7787, 0x778c,
    -    0x7791, 0x778b, 0x78cb, 0x78c5, 0x78ba, 0x78ca, 0x78be, 0x78d5,
    -    0x78bc, 0x78d0, 0x7a3f, 0x7a3c, 0x7a40, 0x7a3d, 0x7a37, 0x7a3b,
    -    0x7aaf, 0x7aae, 0x7bad, 0x7bb1, 0x7bc4, 0x7bb4, 0x7bc6, 0x7bc7,
    -    0x7bc1, 0x7ba0, 0x7bcc, 0x7cca, 0x7de0, 0x7df4, 0x7def, 0x7dfb,
    -    0x7dd8, 0x7dec, 0x7ddd, 0x7de8, 0x7de3, 0x7dda, 0x7dde, 0x7de9,
    -    0x7d9e, 0x7dd9, 0x7df2, 0x7df9, 0x7f75, 0x7f77, 0x7faf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7fe9, 0x8026, 0x819b, 0x819c, 0x819d, 0x81a0, 0x819a,
    -    0x8198, 0x8517, 0x853d, 0x851a, 0x84ee, 0x852c, 0x852d, 0x8513,
    -    0x8511, 0x8523, 0x8521, 0x8514, 0x84ec, 0x8525, 0x84ff, 0x8506,
    -    0x8782, 0x8774, 0x8776, 0x8760, 0x8766, 0x8778, 0x8768, 0x8759,
    -    0x8757, 0x874c, 0x8753, 0x885b, 0x885d, 0x8910, 0x8907, 0x8912,
    -    0x8913, 0x8915, 0x890a, 0x8abc, 0x8ad2, 0x8ac7, 0x8ac4, 0x8a95,
    -    0x8acb, 0x8af8, 0x8ab2, 0x8ac9, 0x8ac2, 0x8abf, 0x8ab0, 0x8ad6,
    -    0x8acd, 0x8ab6, 0x8ab9, 0x8adb, 0x8c4c, 0x8c4e, 0x8c6c, 0x8ce0,
    -    0x8cde, 0x8ce6, 0x8ce4, 0x8cec, 0x8ced, 0x8ce2, 0x8ce3, 0x8cdc,
    -    0x8cea, 0x8ce1, 0x8d6d, 0x8d9f, 0x8da3, 0x8e2b, 0x8e10, 0x8e1d,
    -    0x8e22, 0x8e0f, 0x8e29, 0x8e1f, 0x8e21, 0x8e1e, 0x8eba, 0x8f1d,
    -    0x8f1b, 0x8f1f, 0x8f29, 0x8f26, 0x8f2a, 0x8f1c, 0x8f1e, 0x003f,
    -    /* lead byte be */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8f25, 0x9069, 0x906e, 0x9068, 0x906d, 0x9077, 0x9130, 0x912d,
    -    0x9127, 0x9131, 0x9187, 0x9189, 0x918b, 0x9183, 0x92c5, 0x92bb,
    -    0x92b7, 0x92ea, 0x92ac, 0x92e4, 0x92c1, 0x92b3, 0x92bc, 0x92d2,
    -    0x92c7, 0x92f0, 0x92b2, 0x95ad, 0x95b1, 0x9704, 0x9706, 0x9707,
    -    0x9709, 0x9760, 0x978d, 0x978b, 0x978f, 0x9821, 0x982b, 0x981c,
    -    0x98b3, 0x990a, 0x9913, 0x9912, 0x9918, 0x99dd, 0x99d0, 0x99df,
    -    0x99db, 0x99d1, 0x99d5, 0x99d2, 0x99d9, 0x9ab7, 0x9aee, 0x9aef,
    -    0x9b27, 0x9b45, 0x9b44, 0x9b77, 0x9b6f, 0x9d06, 0x9d09, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9d03, 0x9ea9, 0x9ebe, 0x9ece, 0x58a8, 0x9f52, 0x5112,
    -    0x5118, 0x5114, 0x5110, 0x5115, 0x5180, 0x51aa, 0x51dd, 0x5291,
    -    0x5293, 0x52f3, 0x5659, 0x566b, 0x5679, 0x5669, 0x5664, 0x5678,
    -    0x566a, 0x5668, 0x5665, 0x5671, 0x566f, 0x566c, 0x5662, 0x5676,
    -    0x58c1, 0x58be, 0x58c7, 0x58c5, 0x596e, 0x5b1d, 0x5b34, 0x5b78,
    -    0x5bf0, 0x5c0e, 0x5f4a, 0x61b2, 0x6191, 0x61a9, 0x618a, 0x61cd,
    -    0x61b6, 0x61be, 0x61ca, 0x61c8, 0x6230, 0x64c5, 0x64c1, 0x64cb,
    -    0x64bb, 0x64bc, 0x64da, 0x64c4, 0x64c7, 0x64c2, 0x64cd, 0x64bf,
    -    0x64d2, 0x64d4, 0x64be, 0x6574, 0x66c6, 0x66c9, 0x66b9, 0x66c4,
    -    0x66c7, 0x66b8, 0x6a3d, 0x6a38, 0x6a3a, 0x6a59, 0x6a6b, 0x6a58,
    -    0x6a39, 0x6a44, 0x6a62, 0x6a61, 0x6a4b, 0x6a47, 0x6a35, 0x6a5f,
    -    0x6a48, 0x6b59, 0x6b77, 0x6c05, 0x6fc2, 0x6fb1, 0x6fa1, 0x003f,
    -    /* lead byte bf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6fc3, 0x6fa4, 0x6fc1, 0x6fa7, 0x6fb3, 0x6fc0, 0x6fb9, 0x6fb6,
    -    0x6fa6, 0x6fa0, 0x6fb4, 0x71be, 0x71c9, 0x71d0, 0x71d2, 0x71c8,
    -    0x71d5, 0x71b9, 0x71ce, 0x71d9, 0x71dc, 0x71c3, 0x71c4, 0x7368,
    -    0x749c, 0x74a3, 0x7498, 0x749f, 0x749e, 0x74e2, 0x750c, 0x750d,
    -    0x7634, 0x7638, 0x763a, 0x76e7, 0x76e5, 0x77a0, 0x779e, 0x779f,
    -    0x77a5, 0x78e8, 0x78da, 0x78ec, 0x78e7, 0x79a6, 0x7a4d, 0x7a4e,
    -    0x7a46, 0x7a4c, 0x7a4b, 0x7aba, 0x7bd9, 0x7c11, 0x7bc9, 0x7be4,
    -    0x7bdb, 0x7be1, 0x7be9, 0x7be6, 0x7cd5, 0x7cd6, 0x7e0a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7e11, 0x7e08, 0x7e1b, 0x7e23, 0x7e1e, 0x7e1d, 0x7e09,
    -    0x7e10, 0x7f79, 0x7fb2, 0x7ff0, 0x7ff1, 0x7fee, 0x8028, 0x81b3,
    -    0x81a9, 0x81a8, 0x81fb, 0x8208, 0x8258, 0x8259, 0x854a, 0x8559,
    -    0x8548, 0x8568, 0x8569, 0x8543, 0x8549, 0x856d, 0x856a, 0x855e,
    -    0x8783, 0x879f, 0x879e, 0x87a2, 0x878d, 0x8861, 0x892a, 0x8932,
    -    0x8925, 0x892b, 0x8921, 0x89aa, 0x89a6, 0x8ae6, 0x8afa, 0x8aeb,
    -    0x8af1, 0x8b00, 0x8adc, 0x8ae7, 0x8aee, 0x8afe, 0x8b01, 0x8b02,
    -    0x8af7, 0x8aed, 0x8af3, 0x8af6, 0x8afc, 0x8c6b, 0x8c6d, 0x8c93,
    -    0x8cf4, 0x8e44, 0x8e31, 0x8e34, 0x8e42, 0x8e39, 0x8e35, 0x8f3b,
    -    0x8f2f, 0x8f38, 0x8f33, 0x8fa8, 0x8fa6, 0x9075, 0x9074, 0x9078,
    -    0x9072, 0x907c, 0x907a, 0x9134, 0x9192, 0x9320, 0x9336, 0x92f8,
    -    0x9333, 0x932f, 0x9322, 0x92fc, 0x932b, 0x9304, 0x931a, 0x003f,
    -    /* lead byte c0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9310, 0x9326, 0x9321, 0x9315, 0x932e, 0x9319, 0x95bb, 0x96a7,
    -    0x96a8, 0x96aa, 0x96d5, 0x970e, 0x9711, 0x9716, 0x970d, 0x9713,
    -    0x970f, 0x975b, 0x975c, 0x9766, 0x9798, 0x9830, 0x9838, 0x983b,
    -    0x9837, 0x982d, 0x9839, 0x9824, 0x9910, 0x9928, 0x991e, 0x991b,
    -    0x9921, 0x991a, 0x99ed, 0x99e2, 0x99f1, 0x9ab8, 0x9abc, 0x9afb,
    -    0x9aed, 0x9b28, 0x9b91, 0x9d15, 0x9d23, 0x9d26, 0x9d28, 0x9d12,
    -    0x9d1b, 0x9ed8, 0x9ed4, 0x9f8d, 0x9f9c, 0x512a, 0x511f, 0x5121,
    -    0x5132, 0x52f5, 0x568e, 0x5680, 0x5690, 0x5685, 0x5687, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x568f, 0x58d5, 0x58d3, 0x58d1, 0x58ce, 0x5b30, 0x5b2a,
    -    0x5b24, 0x5b7a, 0x5c37, 0x5c68, 0x5dbc, 0x5dba, 0x5dbd, 0x5db8,
    -    0x5e6b, 0x5f4c, 0x5fbd, 0x61c9, 0x61c2, 0x61c7, 0x61e6, 0x61cb,
    -    0x6232, 0x6234, 0x64ce, 0x64ca, 0x64d8, 0x64e0, 0x64f0, 0x64e6,
    -    0x64ec, 0x64f1, 0x64e2, 0x64ed, 0x6582, 0x6583, 0x66d9, 0x66d6,
    -    0x6a80, 0x6a94, 0x6a84, 0x6aa2, 0x6a9c, 0x6adb, 0x6aa3, 0x6a7e,
    -    0x6a97, 0x6a90, 0x6aa0, 0x6b5c, 0x6bae, 0x6bda, 0x6c08, 0x6fd8,
    -    0x6ff1, 0x6fdf, 0x6fe0, 0x6fdb, 0x6fe4, 0x6feb, 0x6fef, 0x6f80,
    -    0x6fec, 0x6fe1, 0x6fe9, 0x6fd5, 0x6fee, 0x6ff0, 0x71e7, 0x71df,
    -    0x71ee, 0x71e6, 0x71e5, 0x71ed, 0x71ec, 0x71f4, 0x71e0, 0x7235,
    -    0x7246, 0x7370, 0x7372, 0x74a9, 0x74b0, 0x74a6, 0x74a8, 0x7646,
    -    0x7642, 0x764c, 0x76ea, 0x77b3, 0x77aa, 0x77b0, 0x77ac, 0x003f,
    -    /* lead byte c1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x77a7, 0x77ad, 0x77ef, 0x78f7, 0x78fa, 0x78f4, 0x78ef, 0x7901,
    -    0x79a7, 0x79aa, 0x7a57, 0x7abf, 0x7c07, 0x7c0d, 0x7bfe, 0x7bf7,
    -    0x7c0c, 0x7be0, 0x7ce0, 0x7cdc, 0x7cde, 0x7ce2, 0x7cdf, 0x7cd9,
    -    0x7cdd, 0x7e2e, 0x7e3e, 0x7e46, 0x7e37, 0x7e32, 0x7e43, 0x7e2b,
    -    0x7e3d, 0x7e31, 0x7e45, 0x7e41, 0x7e34, 0x7e39, 0x7e48, 0x7e35,
    -    0x7e3f, 0x7e2f, 0x7f44, 0x7ff3, 0x7ffc, 0x8071, 0x8072, 0x8070,
    -    0x806f, 0x8073, 0x81c6, 0x81c3, 0x81ba, 0x81c2, 0x81c0, 0x81bf,
    -    0x81bd, 0x81c9, 0x81be, 0x81e8, 0x8209, 0x8271, 0x85aa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8584, 0x857e, 0x859c, 0x8591, 0x8594, 0x85af, 0x859b,
    -    0x8587, 0x85a8, 0x858a, 0x8667, 0x87c0, 0x87d1, 0x87b3, 0x87d2,
    -    0x87c6, 0x87ab, 0x87bb, 0x87ba, 0x87c8, 0x87cb, 0x893b, 0x8936,
    -    0x8944, 0x8938, 0x893d, 0x89ac, 0x8b0e, 0x8b17, 0x8b19, 0x8b1b,
    -    0x8b0a, 0x8b20, 0x8b1d, 0x8b04, 0x8b10, 0x8c41, 0x8c3f, 0x8c73,
    -    0x8cfa, 0x8cfd, 0x8cfc, 0x8cf8, 0x8cfb, 0x8da8, 0x8e49, 0x8e4b,
    -    0x8e48, 0x8e4a, 0x8f44, 0x8f3e, 0x8f42, 0x8f45, 0x8f3f, 0x907f,
    -    0x907d, 0x9084, 0x9081, 0x9082, 0x9080, 0x9139, 0x91a3, 0x919e,
    -    0x919c, 0x934d, 0x9382, 0x9328, 0x9375, 0x934a, 0x9365, 0x934b,
    -    0x9318, 0x937e, 0x936c, 0x935b, 0x9370, 0x935a, 0x9354, 0x95ca,
    -    0x95cb, 0x95cc, 0x95c8, 0x95c6, 0x96b1, 0x96b8, 0x96d6, 0x971c,
    -    0x971e, 0x97a0, 0x97d3, 0x9846, 0x98b6, 0x9935, 0x9a01, 0x003f,
    -    /* lead byte c2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x99ff, 0x9bae, 0x9bab, 0x9baa, 0x9bad, 0x9d3b, 0x9d3f, 0x9e8b,
    -    0x9ecf, 0x9ede, 0x9edc, 0x9edd, 0x9edb, 0x9f3e, 0x9f4b, 0x53e2,
    -    0x5695, 0x56ae, 0x58d9, 0x58d8, 0x5b38, 0x5f5d, 0x61e3, 0x6233,
    -    0x64f4, 0x64f2, 0x64fe, 0x6506, 0x64fa, 0x64fb, 0x64f7, 0x65b7,
    -    0x66dc, 0x6726, 0x6ab3, 0x6aac, 0x6ac3, 0x6abb, 0x6ab8, 0x6ac2,
    -    0x6aae, 0x6aaf, 0x6b5f, 0x6b78, 0x6baf, 0x7009, 0x700b, 0x6ffe,
    -    0x7006, 0x6ffa, 0x7011, 0x700f, 0x71fb, 0x71fc, 0x71fe, 0x71f8,
    -    0x7377, 0x7375, 0x74a7, 0x74bf, 0x7515, 0x7656, 0x7658, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7652, 0x77bd, 0x77bf, 0x77bb, 0x77bc, 0x790e, 0x79ae,
    -    0x7a61, 0x7a62, 0x7a60, 0x7ac4, 0x7ac5, 0x7c2b, 0x7c27, 0x7c2a,
    -    0x7c1e, 0x7c23, 0x7c21, 0x7ce7, 0x7e54, 0x7e55, 0x7e5e, 0x7e5a,
    -    0x7e61, 0x7e52, 0x7e59, 0x7f48, 0x7ff9, 0x7ffb, 0x8077, 0x8076,
    -    0x81cd, 0x81cf, 0x820a, 0x85cf, 0x85a9, 0x85cd, 0x85d0, 0x85c9,
    -    0x85b0, 0x85ba, 0x85b9, 0x85a6, 0x87ef, 0x87ec, 0x87f2, 0x87e0,
    -    0x8986, 0x89b2, 0x89f4, 0x8b28, 0x8b39, 0x8b2c, 0x8b2b, 0x8c50,
    -    0x8d05, 0x8e59, 0x8e63, 0x8e66, 0x8e64, 0x8e5f, 0x8e55, 0x8ec0,
    -    0x8f49, 0x8f4d, 0x9087, 0x9083, 0x9088, 0x91ab, 0x91ac, 0x91d0,
    -    0x9394, 0x938a, 0x9396, 0x93a2, 0x93b3, 0x93ae, 0x93ac, 0x93b0,
    -    0x9398, 0x939a, 0x9397, 0x95d4, 0x95d6, 0x95d0, 0x95d5, 0x96e2,
    -    0x96dc, 0x96d9, 0x96db, 0x96de, 0x9724, 0x97a3, 0x97a6, 0x003f,
    -    /* lead byte c3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x97ad, 0x97f9, 0x984d, 0x984f, 0x984c, 0x984e, 0x9853, 0x98ba,
    -    0x993e, 0x993f, 0x993d, 0x992e, 0x99a5, 0x9a0e, 0x9ac1, 0x9b03,
    -    0x9b06, 0x9b4f, 0x9b4e, 0x9b4d, 0x9bca, 0x9bc9, 0x9bfd, 0x9bc8,
    -    0x9bc0, 0x9d51, 0x9d5d, 0x9d60, 0x9ee0, 0x9f15, 0x9f2c, 0x5133,
    -    0x56a5, 0x58de, 0x58df, 0x58e2, 0x5bf5, 0x9f90, 0x5eec, 0x61f2,
    -    0x61f7, 0x61f6, 0x61f5, 0x6500, 0x650f, 0x66e0, 0x66dd, 0x6ae5,
    -    0x6add, 0x6ada, 0x6ad3, 0x701b, 0x701f, 0x7028, 0x701a, 0x701d,
    -    0x7015, 0x7018, 0x7206, 0x720d, 0x7258, 0x72a2, 0x7378, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x737a, 0x74bd, 0x74ca, 0x74e3, 0x7587, 0x7586, 0x765f,
    -    0x7661, 0x77c7, 0x7919, 0x79b1, 0x7a6b, 0x7a69, 0x7c3e, 0x7c3f,
    -    0x7c38, 0x7c3d, 0x7c37, 0x7c40, 0x7e6b, 0x7e6d, 0x7e79, 0x7e69,
    -    0x7e6a, 0x7f85, 0x7e73, 0x7fb6, 0x7fb9, 0x7fb8, 0x81d8, 0x85e9,
    -    0x85dd, 0x85ea, 0x85d5, 0x85e4, 0x85e5, 0x85f7, 0x87fb, 0x8805,
    -    0x880d, 0x87f9, 0x87fe, 0x8960, 0x895f, 0x8956, 0x895e, 0x8b41,
    -    0x8b5c, 0x8b58, 0x8b49, 0x8b5a, 0x8b4e, 0x8b4f, 0x8b46, 0x8b59,
    -    0x8d08, 0x8d0a, 0x8e7c, 0x8e72, 0x8e87, 0x8e76, 0x8e6c, 0x8e7a,
    -    0x8e74, 0x8f54, 0x8f4e, 0x8fad, 0x908a, 0x908b, 0x91b1, 0x91ae,
    -    0x93e1, 0x93d1, 0x93df, 0x93c3, 0x93c8, 0x93dc, 0x93dd, 0x93d6,
    -    0x93e2, 0x93cd, 0x93d8, 0x93e4, 0x93d7, 0x93e8, 0x95dc, 0x96b4,
    -    0x96e3, 0x972a, 0x9727, 0x9761, 0x97dc, 0x97fb, 0x985e, 0x003f,
    -    /* lead byte c4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x9858, 0x985b, 0x98bc, 0x9945, 0x9949, 0x9a16, 0x9a19, 0x9b0d,
    -    0x9be8, 0x9be7, 0x9bd6, 0x9bdb, 0x9d89, 0x9d61, 0x9d72, 0x9d6a,
    -    0x9d6c, 0x9e92, 0x9e97, 0x9e93, 0x9eb4, 0x52f8, 0x56a8, 0x56b7,
    -    0x56b6, 0x56b4, 0x56bc, 0x58e4, 0x5b40, 0x5b43, 0x5b7d, 0x5bf6,
    -    0x5dc9, 0x61f8, 0x61fa, 0x6518, 0x6514, 0x6519, 0x66e6, 0x6727,
    -    0x6aec, 0x703e, 0x7030, 0x7032, 0x7210, 0x737b, 0x74cf, 0x7662,
    -    0x7665, 0x7926, 0x792a, 0x792c, 0x792b, 0x7ac7, 0x7af6, 0x7c4c,
    -    0x7c43, 0x7c4d, 0x7cef, 0x7cf0, 0x8fae, 0x7e7d, 0x7e7c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7e82, 0x7f4c, 0x8000, 0x81da, 0x8266, 0x85fb, 0x85f9,
    -    0x8611, 0x85fa, 0x8606, 0x860b, 0x8607, 0x860a, 0x8814, 0x8815,
    -    0x8964, 0x89ba, 0x89f8, 0x8b70, 0x8b6c, 0x8b66, 0x8b6f, 0x8b5f,
    -    0x8b6b, 0x8d0f, 0x8d0d, 0x8e89, 0x8e81, 0x8e85, 0x8e82, 0x91b4,
    -    0x91cb, 0x9418, 0x9403, 0x93fd, 0x95e1, 0x9730, 0x98c4, 0x9952,
    -    0x9951, 0x99a8, 0x9a2b, 0x9a30, 0x9a37, 0x9a35, 0x9c13, 0x9c0d,
    -    0x9e79, 0x9eb5, 0x9ee8, 0x9f2f, 0x9f5f, 0x9f63, 0x9f61, 0x5137,
    -    0x5138, 0x56c1, 0x56c0, 0x56c2, 0x5914, 0x5c6c, 0x5dcd, 0x61fc,
    -    0x61fe, 0x651d, 0x651c, 0x6595, 0x66e9, 0x6afb, 0x6b04, 0x6afa,
    -    0x6bb2, 0x704c, 0x721b, 0x72a7, 0x74d6, 0x74d4, 0x7669, 0x77d3,
    -    0x7c50, 0x7e8f, 0x7e8c, 0x7fbc, 0x8617, 0x862d, 0x861a, 0x8823,
    -    0x8822, 0x8821, 0x881f, 0x896a, 0x896c, 0x89bd, 0x8b74, 0x003f,
    -    /* lead byte c5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b77, 0x8b7d, 0x8d13, 0x8e8a, 0x8e8d, 0x8e8b, 0x8f5f, 0x8faf,
    -    0x91ba, 0x942e, 0x9433, 0x9435, 0x943a, 0x9438, 0x9432, 0x942b,
    -    0x95e2, 0x9738, 0x9739, 0x9732, 0x97ff, 0x9867, 0x9865, 0x9957,
    -    0x9a45, 0x9a43, 0x9a40, 0x9a3e, 0x9acf, 0x9b54, 0x9b51, 0x9c2d,
    -    0x9c25, 0x9daf, 0x9db4, 0x9dc2, 0x9db8, 0x9e9d, 0x9eef, 0x9f19,
    -    0x9f5c, 0x9f66, 0x9f67, 0x513c, 0x513b, 0x56c8, 0x56ca, 0x56c9,
    -    0x5b7f, 0x5dd4, 0x5dd2, 0x5f4e, 0x61ff, 0x6524, 0x6b0a, 0x6b61,
    -    0x7051, 0x7058, 0x7380, 0x74e4, 0x758a, 0x766e, 0x766c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x79b3, 0x7c60, 0x7c5f, 0x807e, 0x807d, 0x81df, 0x8972,
    -    0x896f, 0x89fc, 0x8b80, 0x8d16, 0x8d17, 0x8e91, 0x8e93, 0x8f61,
    -    0x9148, 0x9444, 0x9451, 0x9452, 0x973d, 0x973e, 0x97c3, 0x97c1,
    -    0x986b, 0x9955, 0x9a55, 0x9a4d, 0x9ad2, 0x9b1a, 0x9c49, 0x9c31,
    -    0x9c3e, 0x9c3b, 0x9dd3, 0x9dd7, 0x9f34, 0x9f6c, 0x9f6a, 0x9f94,
    -    0x56cc, 0x5dd6, 0x6200, 0x6523, 0x652b, 0x652a, 0x66ec, 0x6b10,
    -    0x74da, 0x7aca, 0x7c64, 0x7c63, 0x7c65, 0x7e93, 0x7e96, 0x7e94,
    -    0x81e2, 0x8638, 0x863f, 0x8831, 0x8b8a, 0x9090, 0x908f, 0x9463,
    -    0x9460, 0x9464, 0x9768, 0x986f, 0x995c, 0x9a5a, 0x9a5b, 0x9a57,
    -    0x9ad3, 0x9ad4, 0x9ad1, 0x9c54, 0x9c57, 0x9c56, 0x9de5, 0x9e9f,
    -    0x9ef4, 0x56d1, 0x58e9, 0x652c, 0x705e, 0x7671, 0x7672, 0x77d7,
    -    0x7f50, 0x7f88, 0x8836, 0x8839, 0x8862, 0x8b93, 0x8b92, 0x003f,
    -    /* lead byte c6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b96, 0x8277, 0x8d1b, 0x91c0, 0x946a, 0x9742, 0x9748, 0x9744,
    -    0x97c6, 0x9870, 0x9a5f, 0x9b22, 0x9b58, 0x9c5f, 0x9df9, 0x9dfa,
    -    0x9e7c, 0x9e7d, 0x9f07, 0x9f77, 0x9f72, 0x5ef3, 0x6b16, 0x7063,
    -    0x7c6c, 0x7c6e, 0x883b, 0x89c0, 0x8ea1, 0x91c1, 0x9472, 0x9470,
    -    0x9871, 0x995e, 0x9ad6, 0x9b23, 0x9ecc, 0x7064, 0x77da, 0x8b9a,
    -    0x9477, 0x97c9, 0x9a62, 0x9a65, 0x7e9c, 0x8b9c, 0x8eaa, 0x91c5,
    -    0x947d, 0x947e, 0x947c, 0x9c77, 0x9c78, 0x9ef7, 0x8c54, 0x947f,
    -    0x9e1a, 0x7228, 0x9a6a, 0x9b31, 0x9e1b, 0x9e1e, 0x7c72, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* lead byte c9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x4e42, 0x4e5c, 0x51f5, 0x531a, 0x5382, 0x4e07, 0x4e0c, 0x4e47,
    -    0x4e8d, 0x56d7, 0xfa0c, 0x5c6e, 0x5f73, 0x4e0f, 0x5187, 0x4e0e,
    -    0x4e2e, 0x4e93, 0x4ec2, 0x4ec9, 0x4ec8, 0x5198, 0x52fc, 0x536c,
    -    0x53b9, 0x5720, 0x5903, 0x592c, 0x5c10, 0x5dff, 0x65e1, 0x6bb3,
    -    0x6bcc, 0x6c14, 0x723f, 0x4e31, 0x4e3c, 0x4ee8, 0x4edc, 0x4ee9,
    -    0x4ee1, 0x4edd, 0x4eda, 0x520c, 0x531c, 0x534c, 0x5722, 0x5723,
    -    0x5917, 0x592f, 0x5b81, 0x5b84, 0x5c12, 0x5c3b, 0x5c74, 0x5c73,
    -    0x5e04, 0x5e80, 0x5e82, 0x5fc9, 0x6209, 0x6250, 0x6c15, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6c36, 0x6c43, 0x6c3f, 0x6c3b, 0x72ae, 0x72b0, 0x738a,
    -    0x79b8, 0x808a, 0x961e, 0x4f0e, 0x4f18, 0x4f2c, 0x4ef5, 0x4f14,
    -    0x4ef1, 0x4f00, 0x4ef7, 0x4f08, 0x4f1d, 0x4f02, 0x4f05, 0x4f22,
    -    0x4f13, 0x4f04, 0x4ef4, 0x4f12, 0x51b1, 0x5213, 0x5209, 0x5210,
    -    0x52a6, 0x5322, 0x531f, 0x534d, 0x538a, 0x5407, 0x56e1, 0x56df,
    -    0x572e, 0x572a, 0x5734, 0x593c, 0x5980, 0x597c, 0x5985, 0x597b,
    -    0x597e, 0x5977, 0x597f, 0x5b56, 0x5c15, 0x5c25, 0x5c7c, 0x5c7a,
    -    0x5c7b, 0x5c7e, 0x5ddf, 0x5e75, 0x5e84, 0x5f02, 0x5f1a, 0x5f74,
    -    0x5fd5, 0x5fd4, 0x5fcf, 0x625c, 0x625e, 0x6264, 0x6261, 0x6266,
    -    0x6262, 0x6259, 0x6260, 0x625a, 0x6265, 0x65ef, 0x65ee, 0x673e,
    -    0x6739, 0x6738, 0x673b, 0x673a, 0x673f, 0x673c, 0x6733, 0x6c18,
    -    0x6c46, 0x6c52, 0x6c5c, 0x6c4f, 0x6c4a, 0x6c54, 0x6c4b, 0x003f,
    -    /* lead byte ca */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6c4c, 0x7071, 0x725e, 0x72b4, 0x72b5, 0x738e, 0x752a, 0x767f,
    -    0x7a75, 0x7f51, 0x8278, 0x827c, 0x8280, 0x827d, 0x827f, 0x864d,
    -    0x897e, 0x9099, 0x9097, 0x9098, 0x909b, 0x9094, 0x9622, 0x9624,
    -    0x9620, 0x9623, 0x4f56, 0x4f3b, 0x4f62, 0x4f49, 0x4f53, 0x4f64,
    -    0x4f3e, 0x4f67, 0x4f52, 0x4f5f, 0x4f41, 0x4f58, 0x4f2d, 0x4f33,
    -    0x4f3f, 0x4f61, 0x518f, 0x51b9, 0x521c, 0x521e, 0x5221, 0x52ad,
    -    0x52ae, 0x5309, 0x5363, 0x5372, 0x538e, 0x538f, 0x5430, 0x5437,
    -    0x542a, 0x5454, 0x5445, 0x5419, 0x541c, 0x5425, 0x5418, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x543d, 0x544f, 0x5441, 0x5428, 0x5424, 0x5447, 0x56ee,
    -    0x56e7, 0x56e5, 0x5741, 0x5745, 0x574c, 0x5749, 0x574b, 0x5752,
    -    0x5906, 0x5940, 0x59a6, 0x5998, 0x59a0, 0x5997, 0x598e, 0x59a2,
    -    0x5990, 0x598f, 0x59a7, 0x59a1, 0x5b8e, 0x5b92, 0x5c28, 0x5c2a,
    -    0x5c8d, 0x5c8f, 0x5c88, 0x5c8b, 0x5c89, 0x5c92, 0x5c8a, 0x5c86,
    -    0x5c93, 0x5c95, 0x5de0, 0x5e0a, 0x5e0e, 0x5e8b, 0x5e89, 0x5e8c,
    -    0x5e88, 0x5e8d, 0x5f05, 0x5f1d, 0x5f78, 0x5f76, 0x5fd2, 0x5fd1,
    -    0x5fd0, 0x5fed, 0x5fe8, 0x5fee, 0x5ff3, 0x5fe1, 0x5fe4, 0x5fe3,
    -    0x5ffa, 0x5fef, 0x5ff7, 0x5ffb, 0x6000, 0x5ff4, 0x623a, 0x6283,
    -    0x628c, 0x628e, 0x628f, 0x6294, 0x6287, 0x6271, 0x627b, 0x627a,
    -    0x6270, 0x6281, 0x6288, 0x6277, 0x627d, 0x6272, 0x6274, 0x6537,
    -    0x65f0, 0x65f4, 0x65f3, 0x65f2, 0x65f5, 0x6745, 0x6747, 0x003f,
    -    /* lead byte cb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6759, 0x6755, 0x674c, 0x6748, 0x675d, 0x674d, 0x675a, 0x674b,
    -    0x6bd0, 0x6c19, 0x6c1a, 0x6c78, 0x6c67, 0x6c6b, 0x6c84, 0x6c8b,
    -    0x6c8f, 0x6c71, 0x6c6f, 0x6c69, 0x6c9a, 0x6c6d, 0x6c87, 0x6c95,
    -    0x6c9c, 0x6c66, 0x6c73, 0x6c65, 0x6c7b, 0x6c8e, 0x7074, 0x707a,
    -    0x7263, 0x72bf, 0x72bd, 0x72c3, 0x72c6, 0x72c1, 0x72ba, 0x72c5,
    -    0x7395, 0x7397, 0x7393, 0x7394, 0x7392, 0x753a, 0x7539, 0x7594,
    -    0x7595, 0x7681, 0x793d, 0x8034, 0x8095, 0x8099, 0x8090, 0x8092,
    -    0x809c, 0x8290, 0x828f, 0x8285, 0x828e, 0x8291, 0x8293, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x828a, 0x8283, 0x8284, 0x8c78, 0x8fc9, 0x8fbf, 0x909f,
    -    0x90a1, 0x90a5, 0x909e, 0x90a7, 0x90a0, 0x9630, 0x9628, 0x962f,
    -    0x962d, 0x4e33, 0x4f98, 0x4f7c, 0x4f85, 0x4f7d, 0x4f80, 0x4f87,
    -    0x4f76, 0x4f74, 0x4f89, 0x4f84, 0x4f77, 0x4f4c, 0x4f97, 0x4f6a,
    -    0x4f9a, 0x4f79, 0x4f81, 0x4f78, 0x4f90, 0x4f9c, 0x4f94, 0x4f9e,
    -    0x4f92, 0x4f82, 0x4f95, 0x4f6b, 0x4f6e, 0x519e, 0x51bc, 0x51be,
    -    0x5235, 0x5232, 0x5233, 0x5246, 0x5231, 0x52bc, 0x530a, 0x530b,
    -    0x533c, 0x5392, 0x5394, 0x5487, 0x547f, 0x5481, 0x5491, 0x5482,
    -    0x5488, 0x546b, 0x547a, 0x547e, 0x5465, 0x546c, 0x5474, 0x5466,
    -    0x548d, 0x546f, 0x5461, 0x5460, 0x5498, 0x5463, 0x5467, 0x5464,
    -    0x56f7, 0x56f9, 0x576f, 0x5772, 0x576d, 0x576b, 0x5771, 0x5770,
    -    0x5776, 0x5780, 0x5775, 0x577b, 0x5773, 0x5774, 0x5762, 0x003f,
    -    /* lead byte cc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5768, 0x577d, 0x590c, 0x5945, 0x59b5, 0x59ba, 0x59cf, 0x59ce,
    -    0x59b2, 0x59cc, 0x59c1, 0x59b6, 0x59bc, 0x59c3, 0x59d6, 0x59b1,
    -    0x59bd, 0x59c0, 0x59c8, 0x59b4, 0x59c7, 0x5b62, 0x5b65, 0x5b93,
    -    0x5b95, 0x5c44, 0x5c47, 0x5cae, 0x5ca4, 0x5ca0, 0x5cb5, 0x5caf,
    -    0x5ca8, 0x5cac, 0x5c9f, 0x5ca3, 0x5cad, 0x5ca2, 0x5caa, 0x5ca7,
    -    0x5c9d, 0x5ca5, 0x5cb6, 0x5cb0, 0x5ca6, 0x5e17, 0x5e14, 0x5e19,
    -    0x5f28, 0x5f22, 0x5f23, 0x5f24, 0x5f54, 0x5f82, 0x5f7e, 0x5f7d,
    -    0x5fde, 0x5fe5, 0x602d, 0x6026, 0x6019, 0x6032, 0x600b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6034, 0x600a, 0x6017, 0x6033, 0x601a, 0x601e, 0x602c,
    -    0x6022, 0x600d, 0x6010, 0x602e, 0x6013, 0x6011, 0x600c, 0x6009,
    -    0x601c, 0x6214, 0x623d, 0x62ad, 0x62b4, 0x62d1, 0x62be, 0x62aa,
    -    0x62b6, 0x62ca, 0x62ae, 0x62b3, 0x62af, 0x62bb, 0x62a9, 0x62b0,
    -    0x62b8, 0x653d, 0x65a8, 0x65bb, 0x6609, 0x65fc, 0x6604, 0x6612,
    -    0x6608, 0x65fb, 0x6603, 0x660b, 0x660d, 0x6605, 0x65fd, 0x6611,
    -    0x6610, 0x66f6, 0x670a, 0x6785, 0x676c, 0x678e, 0x6792, 0x6776,
    -    0x677b, 0x6798, 0x6786, 0x6784, 0x6774, 0x678d, 0x678c, 0x677a,
    -    0x679f, 0x6791, 0x6799, 0x6783, 0x677d, 0x6781, 0x6778, 0x6779,
    -    0x6794, 0x6b25, 0x6b80, 0x6b7e, 0x6bde, 0x6c1d, 0x6c93, 0x6cec,
    -    0x6ceb, 0x6cee, 0x6cd9, 0x6cb6, 0x6cd4, 0x6cad, 0x6ce7, 0x6cb7,
    -    0x6cd0, 0x6cc2, 0x6cba, 0x6cc3, 0x6cc6, 0x6ced, 0x6cf2, 0x003f,
    -    /* lead byte cd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6cd2, 0x6cdd, 0x6cb4, 0x6c8a, 0x6c9d, 0x6c80, 0x6cde, 0x6cc0,
    -    0x6d30, 0x6ccd, 0x6cc7, 0x6cb0, 0x6cf9, 0x6ccf, 0x6ce9, 0x6cd1,
    -    0x7094, 0x7098, 0x7085, 0x7093, 0x7086, 0x7084, 0x7091, 0x7096,
    -    0x7082, 0x709a, 0x7083, 0x726a, 0x72d6, 0x72cb, 0x72d8, 0x72c9,
    -    0x72dc, 0x72d2, 0x72d4, 0x72da, 0x72cc, 0x72d1, 0x73a4, 0x73a1,
    -    0x73ad, 0x73a6, 0x73a2, 0x73a0, 0x73ac, 0x739d, 0x74dd, 0x74e8,
    -    0x753f, 0x7540, 0x753e, 0x758c, 0x7598, 0x76af, 0x76f3, 0x76f1,
    -    0x76f0, 0x76f5, 0x77f8, 0x77fc, 0x77f9, 0x77fb, 0x77fa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x77f7, 0x7942, 0x793f, 0x79c5, 0x7a78, 0x7a7b, 0x7afb,
    -    0x7c75, 0x7cfd, 0x8035, 0x808f, 0x80ae, 0x80a3, 0x80b8, 0x80b5,
    -    0x80ad, 0x8220, 0x82a0, 0x82c0, 0x82ab, 0x829a, 0x8298, 0x829b,
    -    0x82b5, 0x82a7, 0x82ae, 0x82bc, 0x829e, 0x82ba, 0x82b4, 0x82a8,
    -    0x82a1, 0x82a9, 0x82c2, 0x82a4, 0x82c3, 0x82b6, 0x82a2, 0x8670,
    -    0x866f, 0x866d, 0x866e, 0x8c56, 0x8fd2, 0x8fcb, 0x8fd3, 0x8fcd,
    -    0x8fd6, 0x8fd5, 0x8fd7, 0x90b2, 0x90b4, 0x90af, 0x90b3, 0x90b0,
    -    0x9639, 0x963d, 0x963c, 0x963a, 0x9643, 0x4fcd, 0x4fc5, 0x4fd3,
    -    0x4fb2, 0x4fc9, 0x4fcb, 0x4fc1, 0x4fd4, 0x4fdc, 0x4fd9, 0x4fbb,
    -    0x4fb3, 0x4fdb, 0x4fc7, 0x4fd6, 0x4fba, 0x4fc0, 0x4fb9, 0x4fec,
    -    0x5244, 0x5249, 0x52c0, 0x52c2, 0x533d, 0x537c, 0x5397, 0x5396,
    -    0x5399, 0x5398, 0x54ba, 0x54a1, 0x54ad, 0x54a5, 0x54cf, 0x003f,
    -    /* lead byte ce */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x54c3, 0x830d, 0x54b7, 0x54ae, 0x54d6, 0x54b6, 0x54c5, 0x54c6,
    -    0x54a0, 0x5470, 0x54bc, 0x54a2, 0x54be, 0x5472, 0x54de, 0x54b0,
    -    0x57b5, 0x579e, 0x579f, 0x57a4, 0x578c, 0x5797, 0x579d, 0x579b,
    -    0x5794, 0x5798, 0x578f, 0x5799, 0x57a5, 0x579a, 0x5795, 0x58f4,
    -    0x590d, 0x5953, 0x59e1, 0x59de, 0x59ee, 0x5a00, 0x59f1, 0x59dd,
    -    0x59fa, 0x59fd, 0x59fc, 0x59f6, 0x59e4, 0x59f2, 0x59f7, 0x59db,
    -    0x59e9, 0x59f3, 0x59f5, 0x59e0, 0x59fe, 0x59f4, 0x59ed, 0x5ba8,
    -    0x5c4c, 0x5cd0, 0x5cd8, 0x5ccc, 0x5cd7, 0x5ccb, 0x5cdb, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5cde, 0x5cda, 0x5cc9, 0x5cc7, 0x5cca, 0x5cd6, 0x5cd3,
    -    0x5cd4, 0x5ccf, 0x5cc8, 0x5cc6, 0x5cce, 0x5cdf, 0x5cf8, 0x5df9,
    -    0x5e21, 0x5e22, 0x5e23, 0x5e20, 0x5e24, 0x5eb0, 0x5ea4, 0x5ea2,
    -    0x5e9b, 0x5ea3, 0x5ea5, 0x5f07, 0x5f2e, 0x5f56, 0x5f86, 0x6037,
    -    0x6039, 0x6054, 0x6072, 0x605e, 0x6045, 0x6053, 0x6047, 0x6049,
    -    0x605b, 0x604c, 0x6040, 0x6042, 0x605f, 0x6024, 0x6044, 0x6058,
    -    0x6066, 0x606e, 0x6242, 0x6243, 0x62cf, 0x630d, 0x630b, 0x62f5,
    -    0x630e, 0x6303, 0x62eb, 0x62f9, 0x630f, 0x630c, 0x62f8, 0x62f6,
    -    0x6300, 0x6313, 0x6314, 0x62fa, 0x6315, 0x62fb, 0x62f0, 0x6541,
    -    0x6543, 0x65aa, 0x65bf, 0x6636, 0x6621, 0x6632, 0x6635, 0x661c,
    -    0x6626, 0x6622, 0x6633, 0x662b, 0x663a, 0x661d, 0x6634, 0x6639,
    -    0x662e, 0x670f, 0x6710, 0x67c1, 0x67f2, 0x67c8, 0x67ba, 0x003f,
    -    /* lead byte cf */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x67dc, 0x67bb, 0x67f8, 0x67d8, 0x67c0, 0x67b7, 0x67c5, 0x67eb,
    -    0x67e4, 0x67df, 0x67b5, 0x67cd, 0x67b3, 0x67f7, 0x67f6, 0x67ee,
    -    0x67e3, 0x67c2, 0x67b9, 0x67ce, 0x67e7, 0x67f0, 0x67b2, 0x67fc,
    -    0x67c6, 0x67ed, 0x67cc, 0x67ae, 0x67e6, 0x67db, 0x67fa, 0x67c9,
    -    0x67ca, 0x67c3, 0x67ea, 0x67cb, 0x6b28, 0x6b82, 0x6b84, 0x6bb6,
    -    0x6bd6, 0x6bd8, 0x6be0, 0x6c20, 0x6c21, 0x6d28, 0x6d34, 0x6d2d,
    -    0x6d1f, 0x6d3c, 0x6d3f, 0x6d12, 0x6d0a, 0x6cda, 0x6d33, 0x6d04,
    -    0x6d19, 0x6d3a, 0x6d1a, 0x6d11, 0x6d00, 0x6d1d, 0x6d42, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6d01, 0x6d18, 0x6d37, 0x6d03, 0x6d0f, 0x6d40, 0x6d07,
    -    0x6d20, 0x6d2c, 0x6d08, 0x6d22, 0x6d09, 0x6d10, 0x70b7, 0x709f,
    -    0x70be, 0x70b1, 0x70b0, 0x70a1, 0x70b4, 0x70b5, 0x70a9, 0x7241,
    -    0x7249, 0x724a, 0x726c, 0x7270, 0x7273, 0x726e, 0x72ca, 0x72e4,
    -    0x72e8, 0x72eb, 0x72df, 0x72ea, 0x72e6, 0x72e3, 0x7385, 0x73cc,
    -    0x73c2, 0x73c8, 0x73c5, 0x73b9, 0x73b6, 0x73b5, 0x73b4, 0x73eb,
    -    0x73bf, 0x73c7, 0x73be, 0x73c3, 0x73c6, 0x73b8, 0x73cb, 0x74ec,
    -    0x74ee, 0x752e, 0x7547, 0x7548, 0x75a7, 0x75aa, 0x7679, 0x76c4,
    -    0x7708, 0x7703, 0x7704, 0x7705, 0x770a, 0x76f7, 0x76fb, 0x76fa,
    -    0x77e7, 0x77e8, 0x7806, 0x7811, 0x7812, 0x7805, 0x7810, 0x780f,
    -    0x780e, 0x7809, 0x7803, 0x7813, 0x794a, 0x794c, 0x794b, 0x7945,
    -    0x7944, 0x79d5, 0x79cd, 0x79cf, 0x79d6, 0x79ce, 0x7a80, 0x003f,
    -    /* lead byte d0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7a7e, 0x7ad1, 0x7b00, 0x7b01, 0x7c7a, 0x7c78, 0x7c79, 0x7c7f,
    -    0x7c80, 0x7c81, 0x7d03, 0x7d08, 0x7d01, 0x7f58, 0x7f91, 0x7f8d,
    -    0x7fbe, 0x8007, 0x800e, 0x800f, 0x8014, 0x8037, 0x80d8, 0x80c7,
    -    0x80e0, 0x80d1, 0x80c8, 0x80c2, 0x80d0, 0x80c5, 0x80e3, 0x80d9,
    -    0x80dc, 0x80ca, 0x80d5, 0x80c9, 0x80cf, 0x80d7, 0x80e6, 0x80cd,
    -    0x81ff, 0x8221, 0x8294, 0x82d9, 0x82fe, 0x82f9, 0x8307, 0x82e8,
    -    0x8300, 0x82d5, 0x833a, 0x82eb, 0x82d6, 0x82f4, 0x82ec, 0x82e1,
    -    0x82f2, 0x82f5, 0x830c, 0x82fb, 0x82f6, 0x82f0, 0x82ea, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x82e4, 0x82e0, 0x82fa, 0x82f3, 0x82ed, 0x8677, 0x8674,
    -    0x867c, 0x8673, 0x8841, 0x884e, 0x8867, 0x886a, 0x8869, 0x89d3,
    -    0x8a04, 0x8a07, 0x8d72, 0x8fe3, 0x8fe1, 0x8fee, 0x8fe0, 0x90f1,
    -    0x90bd, 0x90bf, 0x90d5, 0x90c5, 0x90be, 0x90c7, 0x90cb, 0x90c8,
    -    0x91d4, 0x91d3, 0x9654, 0x964f, 0x9651, 0x9653, 0x964a, 0x964e,
    -    0x501e, 0x5005, 0x5007, 0x5013, 0x5022, 0x5030, 0x501b, 0x4ff5,
    -    0x4ff4, 0x5033, 0x5037, 0x502c, 0x4ff6, 0x4ff7, 0x5017, 0x501c,
    -    0x5020, 0x5027, 0x5035, 0x502f, 0x5031, 0x500e, 0x515a, 0x5194,
    -    0x5193, 0x51ca, 0x51c4, 0x51c5, 0x51c8, 0x51ce, 0x5261, 0x525a,
    -    0x5252, 0x525e, 0x525f, 0x5255, 0x5262, 0x52cd, 0x530e, 0x539e,
    -    0x5526, 0x54e2, 0x5517, 0x5512, 0x54e7, 0x54f3, 0x54e4, 0x551a,
    -    0x54ff, 0x5504, 0x5508, 0x54eb, 0x5511, 0x5505, 0x54f1, 0x003f,
    -    /* lead byte d1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x550a, 0x54fb, 0x54f7, 0x54f8, 0x54e0, 0x550e, 0x5503, 0x550b,
    -    0x5701, 0x5702, 0x57cc, 0x5832, 0x57d5, 0x57d2, 0x57ba, 0x57c6,
    -    0x57bd, 0x57bc, 0x57b8, 0x57b6, 0x57bf, 0x57c7, 0x57d0, 0x57b9,
    -    0x57c1, 0x590e, 0x594a, 0x5a19, 0x5a16, 0x5a2d, 0x5a2e, 0x5a15,
    -    0x5a0f, 0x5a17, 0x5a0a, 0x5a1e, 0x5a33, 0x5b6c, 0x5ba7, 0x5bad,
    -    0x5bac, 0x5c03, 0x5c56, 0x5c54, 0x5cec, 0x5cff, 0x5cee, 0x5cf1,
    -    0x5cf7, 0x5d00, 0x5cf9, 0x5e29, 0x5e28, 0x5ea8, 0x5eae, 0x5eaa,
    -    0x5eac, 0x5f33, 0x5f30, 0x5f67, 0x605d, 0x605a, 0x6067, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6041, 0x60a2, 0x6088, 0x6080, 0x6092, 0x6081, 0x609d,
    -    0x6083, 0x6095, 0x609b, 0x6097, 0x6087, 0x609c, 0x608e, 0x6219,
    -    0x6246, 0x62f2, 0x6310, 0x6356, 0x632c, 0x6344, 0x6345, 0x6336,
    -    0x6343, 0x63e4, 0x6339, 0x634b, 0x634a, 0x633c, 0x6329, 0x6341,
    -    0x6334, 0x6358, 0x6354, 0x6359, 0x632d, 0x6347, 0x6333, 0x635a,
    -    0x6351, 0x6338, 0x6357, 0x6340, 0x6348, 0x654a, 0x6546, 0x65c6,
    -    0x65c3, 0x65c4, 0x65c2, 0x664a, 0x665f, 0x6647, 0x6651, 0x6712,
    -    0x6713, 0x681f, 0x681a, 0x6849, 0x6832, 0x6833, 0x683b, 0x684b,
    -    0x684f, 0x6816, 0x6831, 0x681c, 0x6835, 0x682b, 0x682d, 0x682f,
    -    0x684e, 0x6844, 0x6834, 0x681d, 0x6812, 0x6814, 0x6826, 0x6828,
    -    0x682e, 0x684d, 0x683a, 0x6825, 0x6820, 0x6b2c, 0x6b2f, 0x6b2d,
    -    0x6b31, 0x6b34, 0x6b6d, 0x8082, 0x6b88, 0x6be6, 0x6be4, 0x003f,
    -    /* lead byte d2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6be8, 0x6be3, 0x6be2, 0x6be7, 0x6c25, 0x6d7a, 0x6d63, 0x6d64,
    -    0x6d76, 0x6d0d, 0x6d61, 0x6d92, 0x6d58, 0x6d62, 0x6d6d, 0x6d6f,
    -    0x6d91, 0x6d8d, 0x6def, 0x6d7f, 0x6d86, 0x6d5e, 0x6d67, 0x6d60,
    -    0x6d97, 0x6d70, 0x6d7c, 0x6d5f, 0x6d82, 0x6d98, 0x6d2f, 0x6d68,
    -    0x6d8b, 0x6d7e, 0x6d80, 0x6d84, 0x6d16, 0x6d83, 0x6d7b, 0x6d7d,
    -    0x6d75, 0x6d90, 0x70dc, 0x70d3, 0x70d1, 0x70dd, 0x70cb, 0x7f39,
    -    0x70e2, 0x70d7, 0x70d2, 0x70de, 0x70e0, 0x70d4, 0x70cd, 0x70c5,
    -    0x70c6, 0x70c7, 0x70da, 0x70ce, 0x70e1, 0x7242, 0x7278, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7277, 0x7276, 0x7300, 0x72fa, 0x72f4, 0x72fe, 0x72f6,
    -    0x72f3, 0x72fb, 0x7301, 0x73d3, 0x73d9, 0x73e5, 0x73d6, 0x73bc,
    -    0x73e7, 0x73e3, 0x73e9, 0x73dc, 0x73d2, 0x73db, 0x73d4, 0x73dd,
    -    0x73da, 0x73d7, 0x73d8, 0x73e8, 0x74de, 0x74df, 0x74f4, 0x74f5,
    -    0x7521, 0x755b, 0x755f, 0x75b0, 0x75c1, 0x75bb, 0x75c4, 0x75c0,
    -    0x75bf, 0x75b6, 0x75ba, 0x768a, 0x76c9, 0x771d, 0x771b, 0x7710,
    -    0x7713, 0x7712, 0x7723, 0x7711, 0x7715, 0x7719, 0x771a, 0x7722,
    -    0x7727, 0x7823, 0x782c, 0x7822, 0x7835, 0x782f, 0x7828, 0x782e,
    -    0x782b, 0x7821, 0x7829, 0x7833, 0x782a, 0x7831, 0x7954, 0x795b,
    -    0x794f, 0x795c, 0x7953, 0x7952, 0x7951, 0x79eb, 0x79ec, 0x79e0,
    -    0x79ee, 0x79ed, 0x79ea, 0x79dc, 0x79de, 0x79dd, 0x7a86, 0x7a89,
    -    0x7a85, 0x7a8b, 0x7a8c, 0x7a8a, 0x7a87, 0x7ad8, 0x7b10, 0x003f,
    -    /* lead byte d3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7b04, 0x7b13, 0x7b05, 0x7b0f, 0x7b08, 0x7b0a, 0x7b0e, 0x7b09,
    -    0x7b12, 0x7c84, 0x7c91, 0x7c8a, 0x7c8c, 0x7c88, 0x7c8d, 0x7c85,
    -    0x7d1e, 0x7d1d, 0x7d11, 0x7d0e, 0x7d18, 0x7d16, 0x7d13, 0x7d1f,
    -    0x7d12, 0x7d0f, 0x7d0c, 0x7f5c, 0x7f61, 0x7f5e, 0x7f60, 0x7f5d,
    -    0x7f5b, 0x7f96, 0x7f92, 0x7fc3, 0x7fc2, 0x7fc0, 0x8016, 0x803e,
    -    0x8039, 0x80fa, 0x80f2, 0x80f9, 0x80f5, 0x8101, 0x80fb, 0x8100,
    -    0x8201, 0x822f, 0x8225, 0x8333, 0x832d, 0x8344, 0x8319, 0x8351,
    -    0x8325, 0x8356, 0x833f, 0x8341, 0x8326, 0x831c, 0x8322, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8342, 0x834e, 0x831b, 0x832a, 0x8308, 0x833c, 0x834d,
    -    0x8316, 0x8324, 0x8320, 0x8337, 0x832f, 0x8329, 0x8347, 0x8345,
    -    0x834c, 0x8353, 0x831e, 0x832c, 0x834b, 0x8327, 0x8348, 0x8653,
    -    0x8652, 0x86a2, 0x86a8, 0x8696, 0x868d, 0x8691, 0x869e, 0x8687,
    -    0x8697, 0x8686, 0x868b, 0x869a, 0x8685, 0x86a5, 0x8699, 0x86a1,
    -    0x86a7, 0x8695, 0x8698, 0x868e, 0x869d, 0x8690, 0x8694, 0x8843,
    -    0x8844, 0x886d, 0x8875, 0x8876, 0x8872, 0x8880, 0x8871, 0x887f,
    -    0x886f, 0x8883, 0x887e, 0x8874, 0x887c, 0x8a12, 0x8c47, 0x8c57,
    -    0x8c7b, 0x8ca4, 0x8ca3, 0x8d76, 0x8d78, 0x8db5, 0x8db7, 0x8db6,
    -    0x8ed1, 0x8ed3, 0x8ffe, 0x8ff5, 0x9002, 0x8fff, 0x8ffb, 0x9004,
    -    0x8ffc, 0x8ff6, 0x90d6, 0x90e0, 0x90d9, 0x90da, 0x90e3, 0x90df,
    -    0x90e5, 0x90d8, 0x90db, 0x90d7, 0x90dc, 0x90e4, 0x9150, 0x003f,
    -    /* lead byte d4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x914e, 0x914f, 0x91d5, 0x91e2, 0x91da, 0x965c, 0x965f, 0x96bc,
    -    0x98e3, 0x9adf, 0x9b2f, 0x4e7f, 0x5070, 0x506a, 0x5061, 0x505e,
    -    0x5060, 0x5053, 0x504b, 0x505d, 0x5072, 0x5048, 0x504d, 0x5041,
    -    0x505b, 0x504a, 0x5062, 0x5015, 0x5045, 0x505f, 0x5069, 0x506b,
    -    0x5063, 0x5064, 0x5046, 0x5040, 0x506e, 0x5073, 0x5057, 0x5051,
    -    0x51d0, 0x526b, 0x526d, 0x526c, 0x526e, 0x52d6, 0x52d3, 0x532d,
    -    0x539c, 0x5575, 0x5576, 0x553c, 0x554d, 0x5550, 0x5534, 0x552a,
    -    0x5551, 0x5562, 0x5536, 0x5535, 0x5530, 0x5552, 0x5545, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x550c, 0x5532, 0x5565, 0x554e, 0x5539, 0x5548, 0x552d,
    -    0x553b, 0x5540, 0x554b, 0x570a, 0x5707, 0x57fb, 0x5814, 0x57e2,
    -    0x57f6, 0x57dc, 0x57f4, 0x5800, 0x57ed, 0x57fd, 0x5808, 0x57f8,
    -    0x580b, 0x57f3, 0x57cf, 0x5807, 0x57ee, 0x57e3, 0x57f2, 0x57e5,
    -    0x57ec, 0x57e1, 0x580e, 0x57fc, 0x5810, 0x57e7, 0x5801, 0x580c,
    -    0x57f1, 0x57e9, 0x57f0, 0x580d, 0x5804, 0x595c, 0x5a60, 0x5a58,
    -    0x5a55, 0x5a67, 0x5a5e, 0x5a38, 0x5a35, 0x5a6d, 0x5a50, 0x5a5f,
    -    0x5a65, 0x5a6c, 0x5a53, 0x5a64, 0x5a57, 0x5a43, 0x5a5d, 0x5a52,
    -    0x5a44, 0x5a5b, 0x5a48, 0x5a8e, 0x5a3e, 0x5a4d, 0x5a39, 0x5a4c,
    -    0x5a70, 0x5a69, 0x5a47, 0x5a51, 0x5a56, 0x5a42, 0x5a5c, 0x5b72,
    -    0x5b6e, 0x5bc1, 0x5bc0, 0x5c59, 0x5d1e, 0x5d0b, 0x5d1d, 0x5d1a,
    -    0x5d20, 0x5d0c, 0x5d28, 0x5d0d, 0x5d26, 0x5d25, 0x5d0f, 0x003f,
    -    /* lead byte d5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5d30, 0x5d12, 0x5d23, 0x5d1f, 0x5d2e, 0x5e3e, 0x5e34, 0x5eb1,
    -    0x5eb4, 0x5eb9, 0x5eb2, 0x5eb3, 0x5f36, 0x5f38, 0x5f9b, 0x5f96,
    -    0x5f9f, 0x608a, 0x6090, 0x6086, 0x60be, 0x60b0, 0x60ba, 0x60d3,
    -    0x60d4, 0x60cf, 0x60e4, 0x60d9, 0x60dd, 0x60c8, 0x60b1, 0x60db,
    -    0x60b7, 0x60ca, 0x60bf, 0x60c3, 0x60cd, 0x60c0, 0x6332, 0x6365,
    -    0x638a, 0x6382, 0x637d, 0x63bd, 0x639e, 0x63ad, 0x639d, 0x6397,
    -    0x63ab, 0x638e, 0x636f, 0x6387, 0x6390, 0x636e, 0x63af, 0x6375,
    -    0x639c, 0x636d, 0x63ae, 0x637c, 0x63a4, 0x633b, 0x639f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6378, 0x6385, 0x6381, 0x6391, 0x638d, 0x6370, 0x6553,
    -    0x65cd, 0x6665, 0x6661, 0x665b, 0x6659, 0x665c, 0x6662, 0x6718,
    -    0x6879, 0x6887, 0x6890, 0x689c, 0x686d, 0x686e, 0x68ae, 0x68ab,
    -    0x6956, 0x686f, 0x68a3, 0x68ac, 0x68a9, 0x6875, 0x6874, 0x68b2,
    -    0x688f, 0x6877, 0x6892, 0x687c, 0x686b, 0x6872, 0x68aa, 0x6880,
    -    0x6871, 0x687e, 0x689b, 0x6896, 0x688b, 0x68a0, 0x6889, 0x68a4,
    -    0x6878, 0x687b, 0x6891, 0x688c, 0x688a, 0x687d, 0x6b36, 0x6b33,
    -    0x6b37, 0x6b38, 0x6b91, 0x6b8f, 0x6b8d, 0x6b8e, 0x6b8c, 0x6c2a,
    -    0x6dc0, 0x6dab, 0x6db4, 0x6db3, 0x6e74, 0x6dac, 0x6de9, 0x6de2,
    -    0x6db7, 0x6df6, 0x6dd4, 0x6e00, 0x6dc8, 0x6de0, 0x6ddf, 0x6dd6,
    -    0x6dbe, 0x6de5, 0x6ddc, 0x6ddd, 0x6ddb, 0x6df4, 0x6dca, 0x6dbd,
    -    0x6ded, 0x6df0, 0x6dba, 0x6dd5, 0x6dc2, 0x6dcf, 0x6dc9, 0x003f,
    -    /* lead byte d6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6dd0, 0x6df2, 0x6dd3, 0x6dfd, 0x6dd7, 0x6dcd, 0x6de3, 0x6dbb,
    -    0x70fa, 0x710d, 0x70f7, 0x7117, 0x70f4, 0x710c, 0x70f0, 0x7104,
    -    0x70f3, 0x7110, 0x70fc, 0x70ff, 0x7106, 0x7113, 0x7100, 0x70f8,
    -    0x70f6, 0x710b, 0x7102, 0x710e, 0x727e, 0x727b, 0x727c, 0x727f,
    -    0x731d, 0x7317, 0x7307, 0x7311, 0x7318, 0x730a, 0x7308, 0x72ff,
    -    0x730f, 0x731e, 0x7388, 0x73f6, 0x73f8, 0x73f5, 0x7404, 0x7401,
    -    0x73fd, 0x7407, 0x7400, 0x73fa, 0x73fc, 0x73ff, 0x740c, 0x740b,
    -    0x73f4, 0x7408, 0x7564, 0x7563, 0x75ce, 0x75d2, 0x75cf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x75cb, 0x75cc, 0x75d1, 0x75d0, 0x768f, 0x7689, 0x76d3,
    -    0x7739, 0x772f, 0x772d, 0x7731, 0x7732, 0x7734, 0x7733, 0x773d,
    -    0x7725, 0x773b, 0x7735, 0x7848, 0x7852, 0x7849, 0x784d, 0x784a,
    -    0x784c, 0x7826, 0x7845, 0x7850, 0x7964, 0x7967, 0x7969, 0x796a,
    -    0x7963, 0x796b, 0x7961, 0x79bb, 0x79fa, 0x79f8, 0x79f6, 0x79f7,
    -    0x7a8f, 0x7a94, 0x7a90, 0x7b35, 0x7b47, 0x7b34, 0x7b25, 0x7b30,
    -    0x7b22, 0x7b24, 0x7b33, 0x7b18, 0x7b2a, 0x7b1d, 0x7b31, 0x7b2b,
    -    0x7b2d, 0x7b2f, 0x7b32, 0x7b38, 0x7b1a, 0x7b23, 0x7c94, 0x7c98,
    -    0x7c96, 0x7ca3, 0x7d35, 0x7d3d, 0x7d38, 0x7d36, 0x7d3a, 0x7d45,
    -    0x7d2c, 0x7d29, 0x7d41, 0x7d47, 0x7d3e, 0x7d3f, 0x7d4a, 0x7d3b,
    -    0x7d28, 0x7f63, 0x7f95, 0x7f9c, 0x7f9d, 0x7f9b, 0x7fca, 0x7fcb,
    -    0x7fcd, 0x7fd0, 0x7fd1, 0x7fc7, 0x7fcf, 0x7fc9, 0x801f, 0x003f,
    -    /* lead byte d7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x801e, 0x801b, 0x8047, 0x8043, 0x8048, 0x8118, 0x8125, 0x8119,
    -    0x811b, 0x812d, 0x811f, 0x812c, 0x811e, 0x8121, 0x8115, 0x8127,
    -    0x811d, 0x8122, 0x8211, 0x8238, 0x8233, 0x823a, 0x8234, 0x8232,
    -    0x8274, 0x8390, 0x83a3, 0x83a8, 0x838d, 0x837a, 0x8373, 0x83a4,
    -    0x8374, 0x838f, 0x8381, 0x8395, 0x8399, 0x8375, 0x8394, 0x83a9,
    -    0x837d, 0x8383, 0x838c, 0x839d, 0x839b, 0x83aa, 0x838b, 0x837e,
    -    0x83a5, 0x83af, 0x8388, 0x8397, 0x83b0, 0x837f, 0x83a6, 0x8387,
    -    0x83ae, 0x8376, 0x839a, 0x8659, 0x8656, 0x86bf, 0x86b7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x86c2, 0x86c1, 0x86c5, 0x86ba, 0x86b0, 0x86c8, 0x86b9,
    -    0x86b3, 0x86b8, 0x86cc, 0x86b4, 0x86bb, 0x86bc, 0x86c3, 0x86bd,
    -    0x86be, 0x8852, 0x8889, 0x8895, 0x88a8, 0x88a2, 0x88aa, 0x889a,
    -    0x8891, 0x88a1, 0x889f, 0x8898, 0x88a7, 0x8899, 0x889b, 0x8897,
    -    0x88a4, 0x88ac, 0x888c, 0x8893, 0x888e, 0x8982, 0x89d6, 0x89d9,
    -    0x89d5, 0x8a30, 0x8a27, 0x8a2c, 0x8a1e, 0x8c39, 0x8c3b, 0x8c5c,
    -    0x8c5d, 0x8c7d, 0x8ca5, 0x8d7d, 0x8d7b, 0x8d79, 0x8dbc, 0x8dc2,
    -    0x8db9, 0x8dbf, 0x8dc1, 0x8ed8, 0x8ede, 0x8edd, 0x8edc, 0x8ed7,
    -    0x8ee0, 0x8ee1, 0x9024, 0x900b, 0x9011, 0x901c, 0x900c, 0x9021,
    -    0x90ef, 0x90ea, 0x90f0, 0x90f4, 0x90f2, 0x90f3, 0x90d4, 0x90eb,
    -    0x90ec, 0x90e9, 0x9156, 0x9158, 0x915a, 0x9153, 0x9155, 0x91ec,
    -    0x91f4, 0x91f1, 0x91f3, 0x91f8, 0x91e4, 0x91f9, 0x91ea, 0x003f,
    -    /* lead byte d8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x91eb, 0x91f7, 0x91e8, 0x91ee, 0x957a, 0x9586, 0x9588, 0x967c,
    -    0x966d, 0x966b, 0x9671, 0x966f, 0x96bf, 0x976a, 0x9804, 0x98e5,
    -    0x9997, 0x509b, 0x5095, 0x5094, 0x509e, 0x508b, 0x50a3, 0x5083,
    -    0x508c, 0x508e, 0x509d, 0x5068, 0x509c, 0x5092, 0x5082, 0x5087,
    -    0x515f, 0x51d4, 0x5312, 0x5311, 0x53a4, 0x53a7, 0x5591, 0x55a8,
    -    0x55a5, 0x55ad, 0x5577, 0x5645, 0x55a2, 0x5593, 0x5588, 0x558f,
    -    0x55b5, 0x5581, 0x55a3, 0x5592, 0x55a4, 0x557d, 0x558c, 0x55a6,
    -    0x557f, 0x5595, 0x55a1, 0x558e, 0x570c, 0x5829, 0x5837, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5819, 0x581e, 0x5827, 0x5823, 0x5828, 0x57f5, 0x5848,
    -    0x5825, 0x581c, 0x581b, 0x5833, 0x583f, 0x5836, 0x582e, 0x5839,
    -    0x5838, 0x582d, 0x582c, 0x583b, 0x5961, 0x5aaf, 0x5a94, 0x5a9f,
    -    0x5a7a, 0x5aa2, 0x5a9e, 0x5a78, 0x5aa6, 0x5a7c, 0x5aa5, 0x5aac,
    -    0x5a95, 0x5aae, 0x5a37, 0x5a84, 0x5a8a, 0x5a97, 0x5a83, 0x5a8b,
    -    0x5aa9, 0x5a7b, 0x5a7d, 0x5a8c, 0x5a9c, 0x5a8f, 0x5a93, 0x5a9d,
    -    0x5bea, 0x5bcd, 0x5bcb, 0x5bd4, 0x5bd1, 0x5bca, 0x5bce, 0x5c0c,
    -    0x5c30, 0x5d37, 0x5d43, 0x5d6b, 0x5d41, 0x5d4b, 0x5d3f, 0x5d35,
    -    0x5d51, 0x5d4e, 0x5d55, 0x5d33, 0x5d3a, 0x5d52, 0x5d3d, 0x5d31,
    -    0x5d59, 0x5d42, 0x5d39, 0x5d49, 0x5d38, 0x5d3c, 0x5d32, 0x5d36,
    -    0x5d40, 0x5d45, 0x5e44, 0x5e41, 0x5f58, 0x5fa6, 0x5fa5, 0x5fab,
    -    0x60c9, 0x60b9, 0x60cc, 0x60e2, 0x60ce, 0x60c4, 0x6114, 0x003f,
    -    /* lead byte d9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x60f2, 0x610a, 0x6116, 0x6105, 0x60f5, 0x6113, 0x60f8, 0x60fc,
    -    0x60fe, 0x60c1, 0x6103, 0x6118, 0x611d, 0x6110, 0x60ff, 0x6104,
    -    0x610b, 0x624a, 0x6394, 0x63b1, 0x63b0, 0x63ce, 0x63e5, 0x63e8,
    -    0x63ef, 0x63c3, 0x649d, 0x63f3, 0x63ca, 0x63e0, 0x63f6, 0x63d5,
    -    0x63f2, 0x63f5, 0x6461, 0x63df, 0x63be, 0x63dd, 0x63dc, 0x63c4,
    -    0x63d8, 0x63d3, 0x63c2, 0x63c7, 0x63cc, 0x63cb, 0x63c8, 0x63f0,
    -    0x63d7, 0x63d9, 0x6532, 0x6567, 0x656a, 0x6564, 0x655c, 0x6568,
    -    0x6565, 0x658c, 0x659d, 0x659e, 0x65ae, 0x65d0, 0x65d2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x667c, 0x666c, 0x667b, 0x6680, 0x6671, 0x6679, 0x666a,
    -    0x6672, 0x6701, 0x690c, 0x68d3, 0x6904, 0x68dc, 0x692a, 0x68ec,
    -    0x68ea, 0x68f1, 0x690f, 0x68d6, 0x68f7, 0x68eb, 0x68e4, 0x68f6,
    -    0x6913, 0x6910, 0x68f3, 0x68e1, 0x6907, 0x68cc, 0x6908, 0x6970,
    -    0x68b4, 0x6911, 0x68ef, 0x68c6, 0x6914, 0x68f8, 0x68d0, 0x68fd,
    -    0x68fc, 0x68e8, 0x690b, 0x690a, 0x6917, 0x68ce, 0x68c8, 0x68dd,
    -    0x68de, 0x68e6, 0x68f4, 0x68d1, 0x6906, 0x68d4, 0x68e9, 0x6915,
    -    0x6925, 0x68c7, 0x6b39, 0x6b3b, 0x6b3f, 0x6b3c, 0x6b94, 0x6b97,
    -    0x6b99, 0x6b95, 0x6bbd, 0x6bf0, 0x6bf2, 0x6bf3, 0x6c30, 0x6dfc,
    -    0x6e46, 0x6e47, 0x6e1f, 0x6e49, 0x6e88, 0x6e3c, 0x6e3d, 0x6e45,
    -    0x6e62, 0x6e2b, 0x6e3f, 0x6e41, 0x6e5d, 0x6e73, 0x6e1c, 0x6e33,
    -    0x6e4b, 0x6e40, 0x6e51, 0x6e3b, 0x6e03, 0x6e2e, 0x6e5e, 0x003f,
    -    /* lead byte da */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6e68, 0x6e5c, 0x6e61, 0x6e31, 0x6e28, 0x6e60, 0x6e71, 0x6e6b,
    -    0x6e39, 0x6e22, 0x6e30, 0x6e53, 0x6e65, 0x6e27, 0x6e78, 0x6e64,
    -    0x6e77, 0x6e55, 0x6e79, 0x6e52, 0x6e66, 0x6e35, 0x6e36, 0x6e5a,
    -    0x7120, 0x711e, 0x712f, 0x70fb, 0x712e, 0x7131, 0x7123, 0x7125,
    -    0x7122, 0x7132, 0x711f, 0x7128, 0x713a, 0x711b, 0x724b, 0x725a,
    -    0x7288, 0x7289, 0x7286, 0x7285, 0x728b, 0x7312, 0x730b, 0x7330,
    -    0x7322, 0x7331, 0x7333, 0x7327, 0x7332, 0x732d, 0x7326, 0x7323,
    -    0x7335, 0x730c, 0x742e, 0x742c, 0x7430, 0x742b, 0x7416, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x741a, 0x7421, 0x742d, 0x7431, 0x7424, 0x7423, 0x741d,
    -    0x7429, 0x7420, 0x7432, 0x74fb, 0x752f, 0x756f, 0x756c, 0x75e7,
    -    0x75da, 0x75e1, 0x75e6, 0x75dd, 0x75df, 0x75e4, 0x75d7, 0x7695,
    -    0x7692, 0x76da, 0x7746, 0x7747, 0x7744, 0x774d, 0x7745, 0x774a,
    -    0x774e, 0x774b, 0x774c, 0x77de, 0x77ec, 0x7860, 0x7864, 0x7865,
    -    0x785c, 0x786d, 0x7871, 0x786a, 0x786e, 0x7870, 0x7869, 0x7868,
    -    0x785e, 0x7862, 0x7974, 0x7973, 0x7972, 0x7970, 0x7a02, 0x7a0a,
    -    0x7a03, 0x7a0c, 0x7a04, 0x7a99, 0x7ae6, 0x7ae4, 0x7b4a, 0x7b3b,
    -    0x7b44, 0x7b48, 0x7b4c, 0x7b4e, 0x7b40, 0x7b58, 0x7b45, 0x7ca2,
    -    0x7c9e, 0x7ca8, 0x7ca1, 0x7d58, 0x7d6f, 0x7d63, 0x7d53, 0x7d56,
    -    0x7d67, 0x7d6a, 0x7d4f, 0x7d6d, 0x7d5c, 0x7d6b, 0x7d52, 0x7d54,
    -    0x7d69, 0x7d51, 0x7d5f, 0x7d4e, 0x7f3e, 0x7f3f, 0x7f65, 0x003f,
    -    /* lead byte db */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7f66, 0x7fa2, 0x7fa0, 0x7fa1, 0x7fd7, 0x8051, 0x804f, 0x8050,
    -    0x80fe, 0x80d4, 0x8143, 0x814a, 0x8152, 0x814f, 0x8147, 0x813d,
    -    0x814d, 0x813a, 0x81e6, 0x81ee, 0x81f7, 0x81f8, 0x81f9, 0x8204,
    -    0x823c, 0x823d, 0x823f, 0x8275, 0x833b, 0x83cf, 0x83f9, 0x8423,
    -    0x83c0, 0x83e8, 0x8412, 0x83e7, 0x83e4, 0x83fc, 0x83f6, 0x8410,
    -    0x83c6, 0x83c8, 0x83eb, 0x83e3, 0x83bf, 0x8401, 0x83dd, 0x83e5,
    -    0x83d8, 0x83ff, 0x83e1, 0x83cb, 0x83ce, 0x83d6, 0x83f5, 0x83c9,
    -    0x8409, 0x840f, 0x83de, 0x8411, 0x8406, 0x83c2, 0x83f3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x83d5, 0x83fa, 0x83c7, 0x83d1, 0x83ea, 0x8413, 0x83c3,
    -    0x83ec, 0x83ee, 0x83c4, 0x83fb, 0x83d7, 0x83e2, 0x841b, 0x83db,
    -    0x83fe, 0x86d8, 0x86e2, 0x86e6, 0x86d3, 0x86e3, 0x86da, 0x86ea,
    -    0x86dd, 0x86eb, 0x86dc, 0x86ec, 0x86e9, 0x86d7, 0x86e8, 0x86d1,
    -    0x8848, 0x8856, 0x8855, 0x88ba, 0x88d7, 0x88b9, 0x88b8, 0x88c0,
    -    0x88be, 0x88b6, 0x88bc, 0x88b7, 0x88bd, 0x88b2, 0x8901, 0x88c9,
    -    0x8995, 0x8998, 0x8997, 0x89dd, 0x89da, 0x89db, 0x8a4e, 0x8a4d,
    -    0x8a39, 0x8a59, 0x8a40, 0x8a57, 0x8a58, 0x8a44, 0x8a45, 0x8a52,
    -    0x8a48, 0x8a51, 0x8a4a, 0x8a4c, 0x8a4f, 0x8c5f, 0x8c81, 0x8c80,
    -    0x8cba, 0x8cbe, 0x8cb0, 0x8cb9, 0x8cb5, 0x8d84, 0x8d80, 0x8d89,
    -    0x8dd8, 0x8dd3, 0x8dcd, 0x8dc7, 0x8dd6, 0x8ddc, 0x8dcf, 0x8dd5,
    -    0x8dd9, 0x8dc8, 0x8dd7, 0x8dc5, 0x8eef, 0x8ef7, 0x8efa, 0x003f,
    -    /* lead byte dc */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8ef9, 0x8ee6, 0x8eee, 0x8ee5, 0x8ef5, 0x8ee7, 0x8ee8, 0x8ef6,
    -    0x8eeb, 0x8ef1, 0x8eec, 0x8ef4, 0x8ee9, 0x902d, 0x9034, 0x902f,
    -    0x9106, 0x912c, 0x9104, 0x90ff, 0x90fc, 0x9108, 0x90f9, 0x90fb,
    -    0x9101, 0x9100, 0x9107, 0x9105, 0x9103, 0x9161, 0x9164, 0x915f,
    -    0x9162, 0x9160, 0x9201, 0x920a, 0x9225, 0x9203, 0x921a, 0x9226,
    -    0x920f, 0x920c, 0x9200, 0x9212, 0x91ff, 0x91fd, 0x9206, 0x9204,
    -    0x9227, 0x9202, 0x921c, 0x9224, 0x9219, 0x9217, 0x9205, 0x9216,
    -    0x957b, 0x958d, 0x958c, 0x9590, 0x9687, 0x967e, 0x9688, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9689, 0x9683, 0x9680, 0x96c2, 0x96c8, 0x96c3, 0x96f1,
    -    0x96f0, 0x976c, 0x9770, 0x976e, 0x9807, 0x98a9, 0x98eb, 0x9ce6,
    -    0x9ef9, 0x4e83, 0x4e84, 0x4eb6, 0x50bd, 0x50bf, 0x50c6, 0x50ae,
    -    0x50c4, 0x50ca, 0x50b4, 0x50c8, 0x50c2, 0x50b0, 0x50c1, 0x50ba,
    -    0x50b1, 0x50cb, 0x50c9, 0x50b6, 0x50b8, 0x51d7, 0x527a, 0x5278,
    -    0x527b, 0x527c, 0x55c3, 0x55db, 0x55cc, 0x55d0, 0x55cb, 0x55ca,
    -    0x55dd, 0x55c0, 0x55d4, 0x55c4, 0x55e9, 0x55bf, 0x55d2, 0x558d,
    -    0x55cf, 0x55d5, 0x55e2, 0x55d6, 0x55c8, 0x55f2, 0x55cd, 0x55d9,
    -    0x55c2, 0x5714, 0x5853, 0x5868, 0x5864, 0x584f, 0x584d, 0x5849,
    -    0x586f, 0x5855, 0x584e, 0x585d, 0x5859, 0x5865, 0x585b, 0x583d,
    -    0x5863, 0x5871, 0x58fc, 0x5ac7, 0x5ac4, 0x5acb, 0x5aba, 0x5ab8,
    -    0x5ab1, 0x5ab5, 0x5ab0, 0x5abf, 0x5ac8, 0x5abb, 0x5ac6, 0x003f,
    -    /* lead byte dd */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5ab7, 0x5ac0, 0x5aca, 0x5ab4, 0x5ab6, 0x5acd, 0x5ab9, 0x5a90,
    -    0x5bd6, 0x5bd8, 0x5bd9, 0x5c1f, 0x5c33, 0x5d71, 0x5d63, 0x5d4a,
    -    0x5d65, 0x5d72, 0x5d6c, 0x5d5e, 0x5d68, 0x5d67, 0x5d62, 0x5df0,
    -    0x5e4f, 0x5e4e, 0x5e4a, 0x5e4d, 0x5e4b, 0x5ec5, 0x5ecc, 0x5ec6,
    -    0x5ecb, 0x5ec7, 0x5f40, 0x5faf, 0x5fad, 0x60f7, 0x6149, 0x614a,
    -    0x612b, 0x6145, 0x6136, 0x6132, 0x612e, 0x6146, 0x612f, 0x614f,
    -    0x6129, 0x6140, 0x6220, 0x9168, 0x6223, 0x6225, 0x6224, 0x63c5,
    -    0x63f1, 0x63eb, 0x6410, 0x6412, 0x6409, 0x6420, 0x6424, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6433, 0x6443, 0x641f, 0x6415, 0x6418, 0x6439, 0x6437,
    -    0x6422, 0x6423, 0x640c, 0x6426, 0x6430, 0x6428, 0x6441, 0x6435,
    -    0x642f, 0x640a, 0x641a, 0x6440, 0x6425, 0x6427, 0x640b, 0x63e7,
    -    0x641b, 0x642e, 0x6421, 0x640e, 0x656f, 0x6592, 0x65d3, 0x6686,
    -    0x668c, 0x6695, 0x6690, 0x668b, 0x668a, 0x6699, 0x6694, 0x6678,
    -    0x6720, 0x6966, 0x695f, 0x6938, 0x694e, 0x6962, 0x6971, 0x693f,
    -    0x6945, 0x696a, 0x6939, 0x6942, 0x6957, 0x6959, 0x697a, 0x6948,
    -    0x6949, 0x6935, 0x696c, 0x6933, 0x693d, 0x6965, 0x68f0, 0x6978,
    -    0x6934, 0x6969, 0x6940, 0x696f, 0x6944, 0x6976, 0x6958, 0x6941,
    -    0x6974, 0x694c, 0x693b, 0x694b, 0x6937, 0x695c, 0x694f, 0x6951,
    -    0x6932, 0x6952, 0x692f, 0x697b, 0x693c, 0x6b46, 0x6b45, 0x6b43,
    -    0x6b42, 0x6b48, 0x6b41, 0x6b9b, 0xfa0d, 0x6bfb, 0x6bfc, 0x003f,
    -    /* lead byte de */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6bf9, 0x6bf7, 0x6bf8, 0x6e9b, 0x6ed6, 0x6ec8, 0x6e8f, 0x6ec0,
    -    0x6e9f, 0x6e93, 0x6e94, 0x6ea0, 0x6eb1, 0x6eb9, 0x6ec6, 0x6ed2,
    -    0x6ebd, 0x6ec1, 0x6e9e, 0x6ec9, 0x6eb7, 0x6eb0, 0x6ecd, 0x6ea6,
    -    0x6ecf, 0x6eb2, 0x6ebe, 0x6ec3, 0x6edc, 0x6ed8, 0x6e99, 0x6e92,
    -    0x6e8e, 0x6e8d, 0x6ea4, 0x6ea1, 0x6ebf, 0x6eb3, 0x6ed0, 0x6eca,
    -    0x6e97, 0x6eae, 0x6ea3, 0x7147, 0x7154, 0x7152, 0x7163, 0x7160,
    -    0x7141, 0x715d, 0x7162, 0x7172, 0x7178, 0x716a, 0x7161, 0x7142,
    -    0x7158, 0x7143, 0x714b, 0x7170, 0x715f, 0x7150, 0x7153, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7144, 0x714d, 0x715a, 0x724f, 0x728d, 0x728c, 0x7291,
    -    0x7290, 0x728e, 0x733c, 0x7342, 0x733b, 0x733a, 0x7340, 0x734a,
    -    0x7349, 0x7444, 0x744a, 0x744b, 0x7452, 0x7451, 0x7457, 0x7440,
    -    0x744f, 0x7450, 0x744e, 0x7442, 0x7446, 0x744d, 0x7454, 0x74e1,
    -    0x74ff, 0x74fe, 0x74fd, 0x751d, 0x7579, 0x7577, 0x6983, 0x75ef,
    -    0x760f, 0x7603, 0x75f7, 0x75fe, 0x75fc, 0x75f9, 0x75f8, 0x7610,
    -    0x75fb, 0x75f6, 0x75ed, 0x75f5, 0x75fd, 0x7699, 0x76b5, 0x76dd,
    -    0x7755, 0x775f, 0x7760, 0x7752, 0x7756, 0x775a, 0x7769, 0x7767,
    -    0x7754, 0x7759, 0x776d, 0x77e0, 0x7887, 0x789a, 0x7894, 0x788f,
    -    0x7884, 0x7895, 0x7885, 0x7886, 0x78a1, 0x7883, 0x7879, 0x7899,
    -    0x7880, 0x7896, 0x787b, 0x797c, 0x7982, 0x797d, 0x7979, 0x7a11,
    -    0x7a18, 0x7a19, 0x7a12, 0x7a17, 0x7a15, 0x7a22, 0x7a13, 0x003f,
    -    /* lead byte df */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7a1b, 0x7a10, 0x7aa3, 0x7aa2, 0x7a9e, 0x7aeb, 0x7b66, 0x7b64,
    -    0x7b6d, 0x7b74, 0x7b69, 0x7b72, 0x7b65, 0x7b73, 0x7b71, 0x7b70,
    -    0x7b61, 0x7b78, 0x7b76, 0x7b63, 0x7cb2, 0x7cb4, 0x7caf, 0x7d88,
    -    0x7d86, 0x7d80, 0x7d8d, 0x7d7f, 0x7d85, 0x7d7a, 0x7d8e, 0x7d7b,
    -    0x7d83, 0x7d7c, 0x7d8c, 0x7d94, 0x7d84, 0x7d7d, 0x7d92, 0x7f6d,
    -    0x7f6b, 0x7f67, 0x7f68, 0x7f6c, 0x7fa6, 0x7fa5, 0x7fa7, 0x7fdb,
    -    0x7fdc, 0x8021, 0x8164, 0x8160, 0x8177, 0x815c, 0x8169, 0x815b,
    -    0x8162, 0x8172, 0x6721, 0x815e, 0x8176, 0x8167, 0x816f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8144, 0x8161, 0x821d, 0x8249, 0x8244, 0x8240, 0x8242,
    -    0x8245, 0x84f1, 0x843f, 0x8456, 0x8476, 0x8479, 0x848f, 0x848d,
    -    0x8465, 0x8451, 0x8440, 0x8486, 0x8467, 0x8430, 0x844d, 0x847d,
    -    0x845a, 0x8459, 0x8474, 0x8473, 0x845d, 0x8507, 0x845e, 0x8437,
    -    0x843a, 0x8434, 0x847a, 0x8443, 0x8478, 0x8432, 0x8445, 0x8429,
    -    0x83d9, 0x844b, 0x842f, 0x8442, 0x842d, 0x845f, 0x8470, 0x8439,
    -    0x844e, 0x844c, 0x8452, 0x846f, 0x84c5, 0x848e, 0x843b, 0x8447,
    -    0x8436, 0x8433, 0x8468, 0x847e, 0x8444, 0x842b, 0x8460, 0x8454,
    -    0x846e, 0x8450, 0x870b, 0x8704, 0x86f7, 0x870c, 0x86fa, 0x86d6,
    -    0x86f5, 0x874d, 0x86f8, 0x870e, 0x8709, 0x8701, 0x86f6, 0x870d,
    -    0x8705, 0x88d6, 0x88cb, 0x88cd, 0x88ce, 0x88de, 0x88db, 0x88da,
    -    0x88cc, 0x88d0, 0x8985, 0x899b, 0x89df, 0x89e5, 0x89e4, 0x003f,
    -    /* lead byte e0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x89e1, 0x89e0, 0x89e2, 0x89dc, 0x89e6, 0x8a76, 0x8a86, 0x8a7f,
    -    0x8a61, 0x8a3f, 0x8a77, 0x8a82, 0x8a84, 0x8a75, 0x8a83, 0x8a81,
    -    0x8a74, 0x8a7a, 0x8c3c, 0x8c4b, 0x8c4a, 0x8c65, 0x8c64, 0x8c66,
    -    0x8c86, 0x8c84, 0x8c85, 0x8ccc, 0x8d68, 0x8d69, 0x8d91, 0x8d8c,
    -    0x8d8e, 0x8d8f, 0x8d8d, 0x8d93, 0x8d94, 0x8d90, 0x8d92, 0x8df0,
    -    0x8de0, 0x8dec, 0x8df1, 0x8dee, 0x8dd0, 0x8de9, 0x8de3, 0x8de2,
    -    0x8de7, 0x8df2, 0x8deb, 0x8df4, 0x8f06, 0x8eff, 0x8f01, 0x8f00,
    -    0x8f05, 0x8f07, 0x8f08, 0x8f02, 0x8f0b, 0x9052, 0x903f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9044, 0x9049, 0x903d, 0x9110, 0x910d, 0x910f, 0x9111,
    -    0x9116, 0x9114, 0x910b, 0x910e, 0x916e, 0x916f, 0x9248, 0x9252,
    -    0x9230, 0x923a, 0x9266, 0x9233, 0x9265, 0x925e, 0x9283, 0x922e,
    -    0x924a, 0x9246, 0x926d, 0x926c, 0x924f, 0x9260, 0x9267, 0x926f,
    -    0x9236, 0x9261, 0x9270, 0x9231, 0x9254, 0x9263, 0x9250, 0x9272,
    -    0x924e, 0x9253, 0x924c, 0x9256, 0x9232, 0x959f, 0x959c, 0x959e,
    -    0x959b, 0x9692, 0x9693, 0x9691, 0x9697, 0x96ce, 0x96fa, 0x96fd,
    -    0x96f8, 0x96f5, 0x9773, 0x9777, 0x9778, 0x9772, 0x980f, 0x980d,
    -    0x980e, 0x98ac, 0x98f6, 0x98f9, 0x99af, 0x99b2, 0x99b0, 0x99b5,
    -    0x9aad, 0x9aab, 0x9b5b, 0x9cea, 0x9ced, 0x9ce7, 0x9e80, 0x9efd,
    -    0x50e6, 0x50d4, 0x50d7, 0x50e8, 0x50f3, 0x50db, 0x50ea, 0x50dd,
    -    0x50e4, 0x50d3, 0x50ec, 0x50f0, 0x50ef, 0x50e3, 0x50e0, 0x003f,
    -    /* lead byte e1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x51d8, 0x5280, 0x5281, 0x52e9, 0x52eb, 0x5330, 0x53ac, 0x5627,
    -    0x5615, 0x560c, 0x5612, 0x55fc, 0x560f, 0x561c, 0x5601, 0x5613,
    -    0x5602, 0x55fa, 0x561d, 0x5604, 0x55ff, 0x55f9, 0x5889, 0x587c,
    -    0x5890, 0x5898, 0x5886, 0x5881, 0x587f, 0x5874, 0x588b, 0x587a,
    -    0x5887, 0x5891, 0x588e, 0x5876, 0x5882, 0x5888, 0x587b, 0x5894,
    -    0x588f, 0x58fe, 0x596b, 0x5adc, 0x5aee, 0x5ae5, 0x5ad5, 0x5aea,
    -    0x5ada, 0x5aed, 0x5aeb, 0x5af3, 0x5ae2, 0x5ae0, 0x5adb, 0x5aec,
    -    0x5ade, 0x5add, 0x5ad9, 0x5ae8, 0x5adf, 0x5b77, 0x5be0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x5be3, 0x5c63, 0x5d82, 0x5d80, 0x5d7d, 0x5d86, 0x5d7a,
    -    0x5d81, 0x5d77, 0x5d8a, 0x5d89, 0x5d88, 0x5d7e, 0x5d7c, 0x5d8d,
    -    0x5d79, 0x5d7f, 0x5e58, 0x5e59, 0x5e53, 0x5ed8, 0x5ed1, 0x5ed7,
    -    0x5ece, 0x5edc, 0x5ed5, 0x5ed9, 0x5ed2, 0x5ed4, 0x5f44, 0x5f43,
    -    0x5f6f, 0x5fb6, 0x612c, 0x6128, 0x6141, 0x615e, 0x6171, 0x6173,
    -    0x6152, 0x6153, 0x6172, 0x616c, 0x6180, 0x6174, 0x6154, 0x617a,
    -    0x615b, 0x6165, 0x613b, 0x616a, 0x6161, 0x6156, 0x6229, 0x6227,
    -    0x622b, 0x642b, 0x644d, 0x645b, 0x645d, 0x6474, 0x6476, 0x6472,
    -    0x6473, 0x647d, 0x6475, 0x6466, 0x64a6, 0x644e, 0x6482, 0x645e,
    -    0x645c, 0x644b, 0x6453, 0x6460, 0x6450, 0x647f, 0x643f, 0x646c,
    -    0x646b, 0x6459, 0x6465, 0x6477, 0x6573, 0x65a0, 0x66a1, 0x66a0,
    -    0x669f, 0x6705, 0x6704, 0x6722, 0x69b1, 0x69b6, 0x69c9, 0x003f,
    -    /* lead byte e2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x69a0, 0x69ce, 0x6996, 0x69b0, 0x69ac, 0x69bc, 0x6991, 0x6999,
    -    0x698e, 0x69a7, 0x698d, 0x69a9, 0x69be, 0x69af, 0x69bf, 0x69c4,
    -    0x69bd, 0x69a4, 0x69d4, 0x69b9, 0x69ca, 0x699a, 0x69cf, 0x69b3,
    -    0x6993, 0x69aa, 0x69a1, 0x699e, 0x69d9, 0x6997, 0x6990, 0x69c2,
    -    0x69b5, 0x69a5, 0x69c6, 0x6b4a, 0x6b4d, 0x6b4b, 0x6b9e, 0x6b9f,
    -    0x6ba0, 0x6bc3, 0x6bc4, 0x6bfe, 0x6ece, 0x6ef5, 0x6ef1, 0x6f03,
    -    0x6f25, 0x6ef8, 0x6f37, 0x6efb, 0x6f2e, 0x6f09, 0x6f4e, 0x6f19,
    -    0x6f1a, 0x6f27, 0x6f18, 0x6f3b, 0x6f12, 0x6eed, 0x6f0a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x6f36, 0x6f73, 0x6ef9, 0x6eee, 0x6f2d, 0x6f40, 0x6f30,
    -    0x6f3c, 0x6f35, 0x6eeb, 0x6f07, 0x6f0e, 0x6f43, 0x6f05, 0x6efd,
    -    0x6ef6, 0x6f39, 0x6f1c, 0x6efc, 0x6f3a, 0x6f1f, 0x6f0d, 0x6f1e,
    -    0x6f08, 0x6f21, 0x7187, 0x7190, 0x7189, 0x7180, 0x7185, 0x7182,
    -    0x718f, 0x717b, 0x7186, 0x7181, 0x7197, 0x7244, 0x7253, 0x7297,
    -    0x7295, 0x7293, 0x7343, 0x734d, 0x7351, 0x734c, 0x7462, 0x7473,
    -    0x7471, 0x7475, 0x7472, 0x7467, 0x746e, 0x7500, 0x7502, 0x7503,
    -    0x757d, 0x7590, 0x7616, 0x7608, 0x760c, 0x7615, 0x7611, 0x760a,
    -    0x7614, 0x76b8, 0x7781, 0x777c, 0x7785, 0x7782, 0x776e, 0x7780,
    -    0x776f, 0x777e, 0x7783, 0x78b2, 0x78aa, 0x78b4, 0x78ad, 0x78a8,
    -    0x787e, 0x78ab, 0x789e, 0x78a5, 0x78a0, 0x78ac, 0x78a2, 0x78a4,
    -    0x7998, 0x798a, 0x798b, 0x7996, 0x7995, 0x7994, 0x7993, 0x003f,
    -    /* lead byte e3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7997, 0x7988, 0x7992, 0x7990, 0x7a2b, 0x7a4a, 0x7a30, 0x7a2f,
    -    0x7a28, 0x7a26, 0x7aa8, 0x7aab, 0x7aac, 0x7aee, 0x7b88, 0x7b9c,
    -    0x7b8a, 0x7b91, 0x7b90, 0x7b96, 0x7b8d, 0x7b8c, 0x7b9b, 0x7b8e,
    -    0x7b85, 0x7b98, 0x5284, 0x7b99, 0x7ba4, 0x7b82, 0x7cbb, 0x7cbf,
    -    0x7cbc, 0x7cba, 0x7da7, 0x7db7, 0x7dc2, 0x7da3, 0x7daa, 0x7dc1,
    -    0x7dc0, 0x7dc5, 0x7d9d, 0x7dce, 0x7dc4, 0x7dc6, 0x7dcb, 0x7dcc,
    -    0x7daf, 0x7db9, 0x7d96, 0x7dbc, 0x7d9f, 0x7da6, 0x7dae, 0x7da9,
    -    0x7da1, 0x7dc9, 0x7f73, 0x7fe2, 0x7fe3, 0x7fe5, 0x7fde, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8024, 0x805d, 0x805c, 0x8189, 0x8186, 0x8183, 0x8187,
    -    0x818d, 0x818c, 0x818b, 0x8215, 0x8497, 0x84a4, 0x84a1, 0x849f,
    -    0x84ba, 0x84ce, 0x84c2, 0x84ac, 0x84ae, 0x84ab, 0x84b9, 0x84b4,
    -    0x84c1, 0x84cd, 0x84aa, 0x849a, 0x84b1, 0x84d0, 0x849d, 0x84a7,
    -    0x84bb, 0x84a2, 0x8494, 0x84c7, 0x84cc, 0x849b, 0x84a9, 0x84af,
    -    0x84a8, 0x84d6, 0x8498, 0x84b6, 0x84cf, 0x84a0, 0x84d7, 0x84d4,
    -    0x84d2, 0x84db, 0x84b0, 0x8491, 0x8661, 0x8733, 0x8723, 0x8728,
    -    0x876b, 0x8740, 0x872e, 0x871e, 0x8721, 0x8719, 0x871b, 0x8743,
    -    0x872c, 0x8741, 0x873e, 0x8746, 0x8720, 0x8732, 0x872a, 0x872d,
    -    0x873c, 0x8712, 0x873a, 0x8731, 0x8735, 0x8742, 0x8726, 0x8727,
    -    0x8738, 0x8724, 0x871a, 0x8730, 0x8711, 0x88f7, 0x88e7, 0x88f1,
    -    0x88f2, 0x88fa, 0x88fe, 0x88ee, 0x88fc, 0x88f6, 0x88fb, 0x003f,
    -    /* lead byte e4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x88f0, 0x88ec, 0x88eb, 0x899d, 0x89a1, 0x899f, 0x899e, 0x89e9,
    -    0x89eb, 0x89e8, 0x8aab, 0x8a99, 0x8a8b, 0x8a92, 0x8a8f, 0x8a96,
    -    0x8c3d, 0x8c68, 0x8c69, 0x8cd5, 0x8ccf, 0x8cd7, 0x8d96, 0x8e09,
    -    0x8e02, 0x8dff, 0x8e0d, 0x8dfd, 0x8e0a, 0x8e03, 0x8e07, 0x8e06,
    -    0x8e05, 0x8dfe, 0x8e00, 0x8e04, 0x8f10, 0x8f11, 0x8f0e, 0x8f0d,
    -    0x9123, 0x911c, 0x9120, 0x9122, 0x911f, 0x911d, 0x911a, 0x9124,
    -    0x9121, 0x911b, 0x917a, 0x9172, 0x9179, 0x9173, 0x92a5, 0x92a4,
    -    0x9276, 0x929b, 0x927a, 0x92a0, 0x9294, 0x92aa, 0x928d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x92a6, 0x929a, 0x92ab, 0x9279, 0x9297, 0x927f, 0x92a3,
    -    0x92ee, 0x928e, 0x9282, 0x9295, 0x92a2, 0x927d, 0x9288, 0x92a1,
    -    0x928a, 0x9286, 0x928c, 0x9299, 0x92a7, 0x927e, 0x9287, 0x92a9,
    -    0x929d, 0x928b, 0x922d, 0x969e, 0x96a1, 0x96ff, 0x9758, 0x977d,
    -    0x977a, 0x977e, 0x9783, 0x9780, 0x9782, 0x977b, 0x9784, 0x9781,
    -    0x977f, 0x97ce, 0x97cd, 0x9816, 0x98ad, 0x98ae, 0x9902, 0x9900,
    -    0x9907, 0x999d, 0x999c, 0x99c3, 0x99b9, 0x99bb, 0x99ba, 0x99c2,
    -    0x99bd, 0x99c7, 0x9ab1, 0x9ae3, 0x9ae7, 0x9b3e, 0x9b3f, 0x9b60,
    -    0x9b61, 0x9b5f, 0x9cf1, 0x9cf2, 0x9cf5, 0x9ea7, 0x50ff, 0x5103,
    -    0x5130, 0x50f8, 0x5106, 0x5107, 0x50f6, 0x50fe, 0x510b, 0x510c,
    -    0x50fd, 0x510a, 0x528b, 0x528c, 0x52f1, 0x52ef, 0x5648, 0x5642,
    -    0x564c, 0x5635, 0x5641, 0x564a, 0x5649, 0x5646, 0x5658, 0x003f,
    -    /* lead byte e5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x565a, 0x5640, 0x5633, 0x563d, 0x562c, 0x563e, 0x5638, 0x562a,
    -    0x563a, 0x571a, 0x58ab, 0x589d, 0x58b1, 0x58a0, 0x58a3, 0x58af,
    -    0x58ac, 0x58a5, 0x58a1, 0x58ff, 0x5aff, 0x5af4, 0x5afd, 0x5af7,
    -    0x5af6, 0x5b03, 0x5af8, 0x5b02, 0x5af9, 0x5b01, 0x5b07, 0x5b05,
    -    0x5b0f, 0x5c67, 0x5d99, 0x5d97, 0x5d9f, 0x5d92, 0x5da2, 0x5d93,
    -    0x5d95, 0x5da0, 0x5d9c, 0x5da1, 0x5d9a, 0x5d9e, 0x5e69, 0x5e5d,
    -    0x5e60, 0x5e5c, 0x7df3, 0x5edb, 0x5ede, 0x5ee1, 0x5f49, 0x5fb2,
    -    0x618b, 0x6183, 0x6179, 0x61b1, 0x61b0, 0x61a2, 0x6189, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x619b, 0x6193, 0x61af, 0x61ad, 0x619f, 0x6192, 0x61aa,
    -    0x61a1, 0x618d, 0x6166, 0x61b3, 0x622d, 0x646e, 0x6470, 0x6496,
    -    0x64a0, 0x6485, 0x6497, 0x649c, 0x648f, 0x648b, 0x648a, 0x648c,
    -    0x64a3, 0x649f, 0x6468, 0x64b1, 0x6498, 0x6576, 0x657a, 0x6579,
    -    0x657b, 0x65b2, 0x65b3, 0x66b5, 0x66b0, 0x66a9, 0x66b2, 0x66b7,
    -    0x66aa, 0x66af, 0x6a00, 0x6a06, 0x6a17, 0x69e5, 0x69f8, 0x6a15,
    -    0x69f1, 0x69e4, 0x6a20, 0x69ff, 0x69ec, 0x69e2, 0x6a1b, 0x6a1d,
    -    0x69fe, 0x6a27, 0x69f2, 0x69ee, 0x6a14, 0x69f7, 0x69e7, 0x6a40,
    -    0x6a08, 0x69e6, 0x69fb, 0x6a0d, 0x69fc, 0x69eb, 0x6a09, 0x6a04,
    -    0x6a18, 0x6a25, 0x6a0f, 0x69f6, 0x6a26, 0x6a07, 0x69f4, 0x6a16,
    -    0x6b51, 0x6ba5, 0x6ba3, 0x6ba2, 0x6ba6, 0x6c01, 0x6c00, 0x6bff,
    -    0x6c02, 0x6f41, 0x6f26, 0x6f7e, 0x6f87, 0x6fc6, 0x6f92, 0x003f,
    -    /* lead byte e6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6f8d, 0x6f89, 0x6f8c, 0x6f62, 0x6f4f, 0x6f85, 0x6f5a, 0x6f96,
    -    0x6f76, 0x6f6c, 0x6f82, 0x6f55, 0x6f72, 0x6f52, 0x6f50, 0x6f57,
    -    0x6f94, 0x6f93, 0x6f5d, 0x6f00, 0x6f61, 0x6f6b, 0x6f7d, 0x6f67,
    -    0x6f90, 0x6f53, 0x6f8b, 0x6f69, 0x6f7f, 0x6f95, 0x6f63, 0x6f77,
    -    0x6f6a, 0x6f7b, 0x71b2, 0x71af, 0x719b, 0x71b0, 0x71a0, 0x719a,
    -    0x71a9, 0x71b5, 0x719d, 0x71a5, 0x719e, 0x71a4, 0x71a1, 0x71aa,
    -    0x719c, 0x71a7, 0x71b3, 0x7298, 0x729a, 0x7358, 0x7352, 0x735e,
    -    0x735f, 0x7360, 0x735d, 0x735b, 0x7361, 0x735a, 0x7359, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7362, 0x7487, 0x7489, 0x748a, 0x7486, 0x7481, 0x747d,
    -    0x7485, 0x7488, 0x747c, 0x7479, 0x7508, 0x7507, 0x757e, 0x7625,
    -    0x761e, 0x7619, 0x761d, 0x761c, 0x7623, 0x761a, 0x7628, 0x761b,
    -    0x769c, 0x769d, 0x769e, 0x769b, 0x778d, 0x778f, 0x7789, 0x7788,
    -    0x78cd, 0x78bb, 0x78cf, 0x78cc, 0x78d1, 0x78ce, 0x78d4, 0x78c8,
    -    0x78c3, 0x78c4, 0x78c9, 0x799a, 0x79a1, 0x79a0, 0x799c, 0x79a2,
    -    0x799b, 0x6b76, 0x7a39, 0x7ab2, 0x7ab4, 0x7ab3, 0x7bb7, 0x7bcb,
    -    0x7bbe, 0x7bac, 0x7bce, 0x7baf, 0x7bb9, 0x7bca, 0x7bb5, 0x7cc5,
    -    0x7cc8, 0x7ccc, 0x7ccb, 0x7df7, 0x7ddb, 0x7dea, 0x7de7, 0x7dd7,
    -    0x7de1, 0x7e03, 0x7dfa, 0x7de6, 0x7df6, 0x7df1, 0x7df0, 0x7dee,
    -    0x7ddf, 0x7f76, 0x7fac, 0x7fb0, 0x7fad, 0x7fed, 0x7feb, 0x7fea,
    -    0x7fec, 0x7fe6, 0x7fe8, 0x8064, 0x8067, 0x81a3, 0x819f, 0x003f,
    -    /* lead byte e7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x819e, 0x8195, 0x81a2, 0x8199, 0x8197, 0x8216, 0x824f, 0x8253,
    -    0x8252, 0x8250, 0x824e, 0x8251, 0x8524, 0x853b, 0x850f, 0x8500,
    -    0x8529, 0x850e, 0x8509, 0x850d, 0x851f, 0x850a, 0x8527, 0x851c,
    -    0x84fb, 0x852b, 0x84fa, 0x8508, 0x850c, 0x84f4, 0x852a, 0x84f2,
    -    0x8515, 0x84f7, 0x84eb, 0x84f3, 0x84fc, 0x8512, 0x84ea, 0x84e9,
    -    0x8516, 0x84fe, 0x8528, 0x851d, 0x852e, 0x8502, 0x84fd, 0x851e,
    -    0x84f6, 0x8531, 0x8526, 0x84e7, 0x84e8, 0x84f0, 0x84ef, 0x84f9,
    -    0x8518, 0x8520, 0x8530, 0x850b, 0x8519, 0x852f, 0x8662, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8756, 0x8763, 0x8764, 0x8777, 0x87e1, 0x8773, 0x8758,
    -    0x8754, 0x875b, 0x8752, 0x8761, 0x875a, 0x8751, 0x875e, 0x876d,
    -    0x876a, 0x8750, 0x874e, 0x875f, 0x875d, 0x876f, 0x876c, 0x877a,
    -    0x876e, 0x875c, 0x8765, 0x874f, 0x877b, 0x8775, 0x8762, 0x8767,
    -    0x8769, 0x885a, 0x8905, 0x890c, 0x8914, 0x890b, 0x8917, 0x8918,
    -    0x8919, 0x8906, 0x8916, 0x8911, 0x890e, 0x8909, 0x89a2, 0x89a4,
    -    0x89a3, 0x89ed, 0x89f0, 0x89ec, 0x8acf, 0x8ac6, 0x8ab8, 0x8ad3,
    -    0x8ad1, 0x8ad4, 0x8ad5, 0x8abb, 0x8ad7, 0x8abe, 0x8ac0, 0x8ac5,
    -    0x8ad8, 0x8ac3, 0x8aba, 0x8abd, 0x8ad9, 0x8c3e, 0x8c4d, 0x8c8f,
    -    0x8ce5, 0x8cdf, 0x8cd9, 0x8ce8, 0x8cda, 0x8cdd, 0x8ce7, 0x8da0,
    -    0x8d9c, 0x8da1, 0x8d9b, 0x8e20, 0x8e23, 0x8e25, 0x8e24, 0x8e2e,
    -    0x8e15, 0x8e1b, 0x8e16, 0x8e11, 0x8e19, 0x8e26, 0x8e27, 0x003f,
    -    /* lead byte e8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8e14, 0x8e12, 0x8e18, 0x8e13, 0x8e1c, 0x8e17, 0x8e1a, 0x8f2c,
    -    0x8f24, 0x8f18, 0x8f1a, 0x8f20, 0x8f23, 0x8f16, 0x8f17, 0x9073,
    -    0x9070, 0x906f, 0x9067, 0x906b, 0x912f, 0x912b, 0x9129, 0x912a,
    -    0x9132, 0x9126, 0x912e, 0x9185, 0x9186, 0x918a, 0x9181, 0x9182,
    -    0x9184, 0x9180, 0x92d0, 0x92c3, 0x92c4, 0x92c0, 0x92d9, 0x92b6,
    -    0x92cf, 0x92f1, 0x92df, 0x92d8, 0x92e9, 0x92d7, 0x92dd, 0x92cc,
    -    0x92ef, 0x92c2, 0x92e8, 0x92ca, 0x92c8, 0x92ce, 0x92e6, 0x92cd,
    -    0x92d5, 0x92c9, 0x92e0, 0x92de, 0x92e7, 0x92d1, 0x92d3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x92b5, 0x92e1, 0x92c6, 0x92b4, 0x957c, 0x95ac, 0x95ab,
    -    0x95ae, 0x95b0, 0x96a4, 0x96a2, 0x96d3, 0x9705, 0x9708, 0x9702,
    -    0x975a, 0x978a, 0x978e, 0x9788, 0x97d0, 0x97cf, 0x981e, 0x981d,
    -    0x9826, 0x9829, 0x9828, 0x9820, 0x981b, 0x9827, 0x98b2, 0x9908,
    -    0x98fa, 0x9911, 0x9914, 0x9916, 0x9917, 0x9915, 0x99dc, 0x99cd,
    -    0x99cf, 0x99d3, 0x99d4, 0x99ce, 0x99c9, 0x99d6, 0x99d8, 0x99cb,
    -    0x99d7, 0x99cc, 0x9ab3, 0x9aec, 0x9aeb, 0x9af3, 0x9af2, 0x9af1,
    -    0x9b46, 0x9b43, 0x9b67, 0x9b74, 0x9b71, 0x9b66, 0x9b76, 0x9b75,
    -    0x9b70, 0x9b68, 0x9b64, 0x9b6c, 0x9cfc, 0x9cfa, 0x9cfd, 0x9cff,
    -    0x9cf7, 0x9d07, 0x9d00, 0x9cf9, 0x9cfb, 0x9d08, 0x9d05, 0x9d04,
    -    0x9e83, 0x9ed3, 0x9f0f, 0x9f10, 0x511c, 0x5113, 0x5117, 0x511a,
    -    0x5111, 0x51de, 0x5334, 0x53e1, 0x5670, 0x5660, 0x566e, 0x003f,
    -    /* lead byte e9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5673, 0x5666, 0x5663, 0x566d, 0x5672, 0x565e, 0x5677, 0x571c,
    -    0x571b, 0x58c8, 0x58bd, 0x58c9, 0x58bf, 0x58ba, 0x58c2, 0x58bc,
    -    0x58c6, 0x5b17, 0x5b19, 0x5b1b, 0x5b21, 0x5b14, 0x5b13, 0x5b10,
    -    0x5b16, 0x5b28, 0x5b1a, 0x5b20, 0x5b1e, 0x5bef, 0x5dac, 0x5db1,
    -    0x5da9, 0x5da7, 0x5db5, 0x5db0, 0x5dae, 0x5daa, 0x5da8, 0x5db2,
    -    0x5dad, 0x5daf, 0x5db4, 0x5e67, 0x5e68, 0x5e66, 0x5e6f, 0x5ee9,
    -    0x5ee7, 0x5ee6, 0x5ee8, 0x5ee5, 0x5f4b, 0x5fbc, 0x619d, 0x61a8,
    -    0x6196, 0x61c5, 0x61b4, 0x61c6, 0x61c1, 0x61cc, 0x61ba, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x61bf, 0x61b8, 0x618c, 0x64d7, 0x64d6, 0x64d0, 0x64cf,
    -    0x64c9, 0x64bd, 0x6489, 0x64c3, 0x64db, 0x64f3, 0x64d9, 0x6533,
    -    0x657f, 0x657c, 0x65a2, 0x66c8, 0x66be, 0x66c0, 0x66ca, 0x66cb,
    -    0x66cf, 0x66bd, 0x66bb, 0x66ba, 0x66cc, 0x6723, 0x6a34, 0x6a66,
    -    0x6a49, 0x6a67, 0x6a32, 0x6a68, 0x6a3e, 0x6a5d, 0x6a6d, 0x6a76,
    -    0x6a5b, 0x6a51, 0x6a28, 0x6a5a, 0x6a3b, 0x6a3f, 0x6a41, 0x6a6a,
    -    0x6a64, 0x6a50, 0x6a4f, 0x6a54, 0x6a6f, 0x6a69, 0x6a60, 0x6a3c,
    -    0x6a5e, 0x6a56, 0x6a55, 0x6a4d, 0x6a4e, 0x6a46, 0x6b55, 0x6b54,
    -    0x6b56, 0x6ba7, 0x6baa, 0x6bab, 0x6bc8, 0x6bc7, 0x6c04, 0x6c03,
    -    0x6c06, 0x6fad, 0x6fcb, 0x6fa3, 0x6fc7, 0x6fbc, 0x6fce, 0x6fc8,
    -    0x6f5e, 0x6fc4, 0x6fbd, 0x6f9e, 0x6fca, 0x6fa8, 0x7004, 0x6fa5,
    -    0x6fae, 0x6fba, 0x6fac, 0x6faa, 0x6fcf, 0x6fbf, 0x6fb8, 0x003f,
    -    /* lead byte ea */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6fa2, 0x6fc9, 0x6fab, 0x6fcd, 0x6faf, 0x6fb2, 0x6fb0, 0x71c5,
    -    0x71c2, 0x71bf, 0x71b8, 0x71d6, 0x71c0, 0x71c1, 0x71cb, 0x71d4,
    -    0x71ca, 0x71c7, 0x71cf, 0x71bd, 0x71d8, 0x71bc, 0x71c6, 0x71da,
    -    0x71db, 0x729d, 0x729e, 0x7369, 0x7366, 0x7367, 0x736c, 0x7365,
    -    0x736b, 0x736a, 0x747f, 0x749a, 0x74a0, 0x7494, 0x7492, 0x7495,
    -    0x74a1, 0x750b, 0x7580, 0x762f, 0x762d, 0x7631, 0x763d, 0x7633,
    -    0x763c, 0x7635, 0x7632, 0x7630, 0x76bb, 0x76e6, 0x779a, 0x779d,
    -    0x77a1, 0x779c, 0x779b, 0x77a2, 0x77a3, 0x7795, 0x7799, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7797, 0x78dd, 0x78e9, 0x78e5, 0x78ea, 0x78de, 0x78e3,
    -    0x78db, 0x78e1, 0x78e2, 0x78ed, 0x78df, 0x78e0, 0x79a4, 0x7a44,
    -    0x7a48, 0x7a47, 0x7ab6, 0x7ab8, 0x7ab5, 0x7ab1, 0x7ab7, 0x7bde,
    -    0x7be3, 0x7be7, 0x7bdd, 0x7bd5, 0x7be5, 0x7bda, 0x7be8, 0x7bf9,
    -    0x7bd4, 0x7bea, 0x7be2, 0x7bdc, 0x7beb, 0x7bd8, 0x7bdf, 0x7cd2,
    -    0x7cd4, 0x7cd7, 0x7cd0, 0x7cd1, 0x7e12, 0x7e21, 0x7e17, 0x7e0c,
    -    0x7e1f, 0x7e20, 0x7e13, 0x7e0e, 0x7e1c, 0x7e15, 0x7e1a, 0x7e22,
    -    0x7e0b, 0x7e0f, 0x7e16, 0x7e0d, 0x7e14, 0x7e25, 0x7e24, 0x7f43,
    -    0x7f7b, 0x7f7c, 0x7f7a, 0x7fb1, 0x7fef, 0x802a, 0x8029, 0x806c,
    -    0x81b1, 0x81a6, 0x81ae, 0x81b9, 0x81b5, 0x81ab, 0x81b0, 0x81ac,
    -    0x81b4, 0x81b2, 0x81b7, 0x81a7, 0x81f2, 0x8255, 0x8256, 0x8257,
    -    0x8556, 0x8545, 0x856b, 0x854d, 0x8553, 0x8561, 0x8558, 0x003f,
    -    /* lead byte eb */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8540, 0x8546, 0x8564, 0x8541, 0x8562, 0x8544, 0x8551, 0x8547,
    -    0x8563, 0x853e, 0x855b, 0x8571, 0x854e, 0x856e, 0x8575, 0x8555,
    -    0x8567, 0x8560, 0x858c, 0x8566, 0x855d, 0x8554, 0x8565, 0x856c,
    -    0x8663, 0x8665, 0x8664, 0x879b, 0x878f, 0x8797, 0x8793, 0x8792,
    -    0x8788, 0x8781, 0x8796, 0x8798, 0x8779, 0x8787, 0x87a3, 0x8785,
    -    0x8790, 0x8791, 0x879d, 0x8784, 0x8794, 0x879c, 0x879a, 0x8789,
    -    0x891e, 0x8926, 0x8930, 0x892d, 0x892e, 0x8927, 0x8931, 0x8922,
    -    0x8929, 0x8923, 0x892f, 0x892c, 0x891f, 0x89f1, 0x8ae0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8ae2, 0x8af2, 0x8af4, 0x8af5, 0x8add, 0x8b14, 0x8ae4,
    -    0x8adf, 0x8af0, 0x8ac8, 0x8ade, 0x8ae1, 0x8ae8, 0x8aff, 0x8aef,
    -    0x8afb, 0x8c91, 0x8c92, 0x8c90, 0x8cf5, 0x8cee, 0x8cf1, 0x8cf0,
    -    0x8cf3, 0x8d6c, 0x8d6e, 0x8da5, 0x8da7, 0x8e33, 0x8e3e, 0x8e38,
    -    0x8e40, 0x8e45, 0x8e36, 0x8e3c, 0x8e3d, 0x8e41, 0x8e30, 0x8e3f,
    -    0x8ebd, 0x8f36, 0x8f2e, 0x8f35, 0x8f32, 0x8f39, 0x8f37, 0x8f34,
    -    0x9076, 0x9079, 0x907b, 0x9086, 0x90fa, 0x9133, 0x9135, 0x9136,
    -    0x9193, 0x9190, 0x9191, 0x918d, 0x918f, 0x9327, 0x931e, 0x9308,
    -    0x931f, 0x9306, 0x930f, 0x937a, 0x9338, 0x933c, 0x931b, 0x9323,
    -    0x9312, 0x9301, 0x9346, 0x932d, 0x930e, 0x930d, 0x92cb, 0x931d,
    -    0x92fa, 0x9325, 0x9313, 0x92f9, 0x92f7, 0x9334, 0x9302, 0x9324,
    -    0x92ff, 0x9329, 0x9339, 0x9335, 0x932a, 0x9314, 0x930c, 0x003f,
    -    /* lead byte ec */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x930b, 0x92fe, 0x9309, 0x9300, 0x92fb, 0x9316, 0x95bc, 0x95cd,
    -    0x95be, 0x95b9, 0x95ba, 0x95b6, 0x95bf, 0x95b5, 0x95bd, 0x96a9,
    -    0x96d4, 0x970b, 0x9712, 0x9710, 0x9799, 0x9797, 0x9794, 0x97f0,
    -    0x97f8, 0x9835, 0x982f, 0x9832, 0x9924, 0x991f, 0x9927, 0x9929,
    -    0x999e, 0x99ee, 0x99ec, 0x99e5, 0x99e4, 0x99f0, 0x99e3, 0x99ea,
    -    0x99e9, 0x99e7, 0x9ab9, 0x9abf, 0x9ab4, 0x9abb, 0x9af6, 0x9afa,
    -    0x9af9, 0x9af7, 0x9b33, 0x9b80, 0x9b85, 0x9b87, 0x9b7c, 0x9b7e,
    -    0x9b7b, 0x9b82, 0x9b93, 0x9b92, 0x9b90, 0x9b7a, 0x9b95, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9b7d, 0x9b88, 0x9d25, 0x9d17, 0x9d20, 0x9d1e, 0x9d14,
    -    0x9d29, 0x9d1d, 0x9d18, 0x9d22, 0x9d10, 0x9d19, 0x9d1f, 0x9e88,
    -    0x9e86, 0x9e87, 0x9eae, 0x9ead, 0x9ed5, 0x9ed6, 0x9efa, 0x9f12,
    -    0x9f3d, 0x5126, 0x5125, 0x5122, 0x5124, 0x5120, 0x5129, 0x52f4,
    -    0x5693, 0x568c, 0x568d, 0x5686, 0x5684, 0x5683, 0x567e, 0x5682,
    -    0x567f, 0x5681, 0x58d6, 0x58d4, 0x58cf, 0x58d2, 0x5b2d, 0x5b25,
    -    0x5b32, 0x5b23, 0x5b2c, 0x5b27, 0x5b26, 0x5b2f, 0x5b2e, 0x5b7b,
    -    0x5bf1, 0x5bf2, 0x5db7, 0x5e6c, 0x5e6a, 0x5fbe, 0x5fbb, 0x61c3,
    -    0x61b5, 0x61bc, 0x61e7, 0x61e0, 0x61e5, 0x61e4, 0x61e8, 0x61de,
    -    0x64ef, 0x64e9, 0x64e3, 0x64eb, 0x64e4, 0x64e8, 0x6581, 0x6580,
    -    0x65b6, 0x65da, 0x66d2, 0x6a8d, 0x6a96, 0x6a81, 0x6aa5, 0x6a89,
    -    0x6a9f, 0x6a9b, 0x6aa1, 0x6a9e, 0x6a87, 0x6a93, 0x6a8e, 0x003f,
    -    /* lead byte ed */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x6a95, 0x6a83, 0x6aa8, 0x6aa4, 0x6a91, 0x6a7f, 0x6aa6, 0x6a9a,
    -    0x6a85, 0x6a8c, 0x6a92, 0x6b5b, 0x6bad, 0x6c09, 0x6fcc, 0x6fa9,
    -    0x6ff4, 0x6fd4, 0x6fe3, 0x6fdc, 0x6fed, 0x6fe7, 0x6fe6, 0x6fde,
    -    0x6ff2, 0x6fdd, 0x6fe2, 0x6fe8, 0x71e1, 0x71f1, 0x71e8, 0x71f2,
    -    0x71e4, 0x71f0, 0x71e2, 0x7373, 0x736e, 0x736f, 0x7497, 0x74b2,
    -    0x74ab, 0x7490, 0x74aa, 0x74ad, 0x74b1, 0x74a5, 0x74af, 0x7510,
    -    0x7511, 0x7512, 0x750f, 0x7584, 0x7643, 0x7648, 0x7649, 0x7647,
    -    0x76a4, 0x76e9, 0x77b5, 0x77ab, 0x77b2, 0x77b7, 0x77b6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x77b4, 0x77b1, 0x77a8, 0x77f0, 0x78f3, 0x78fd, 0x7902,
    -    0x78fb, 0x78fc, 0x78f2, 0x7905, 0x78f9, 0x78fe, 0x7904, 0x79ab,
    -    0x79a8, 0x7a5c, 0x7a5b, 0x7a56, 0x7a58, 0x7a54, 0x7a5a, 0x7abe,
    -    0x7ac0, 0x7ac1, 0x7c05, 0x7c0f, 0x7bf2, 0x7c00, 0x7bff, 0x7bfb,
    -    0x7c0e, 0x7bf4, 0x7c0b, 0x7bf3, 0x7c02, 0x7c09, 0x7c03, 0x7c01,
    -    0x7bf8, 0x7bfd, 0x7c06, 0x7bf0, 0x7bf1, 0x7c10, 0x7c0a, 0x7ce8,
    -    0x7e2d, 0x7e3c, 0x7e42, 0x7e33, 0x9848, 0x7e38, 0x7e2a, 0x7e49,
    -    0x7e40, 0x7e47, 0x7e29, 0x7e4c, 0x7e30, 0x7e3b, 0x7e36, 0x7e44,
    -    0x7e3a, 0x7f45, 0x7f7f, 0x7f7e, 0x7f7d, 0x7ff4, 0x7ff2, 0x802c,
    -    0x81bb, 0x81c4, 0x81cc, 0x81ca, 0x81c5, 0x81c7, 0x81bc, 0x81e9,
    -    0x825b, 0x825a, 0x825c, 0x8583, 0x8580, 0x858f, 0x85a7, 0x8595,
    -    0x85a0, 0x858b, 0x85a3, 0x857b, 0x85a4, 0x859a, 0x859e, 0x003f,
    -    /* lead byte ee */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8577, 0x857c, 0x8589, 0x85a1, 0x857a, 0x8578, 0x8557, 0x858e,
    -    0x8596, 0x8586, 0x858d, 0x8599, 0x859d, 0x8581, 0x85a2, 0x8582,
    -    0x8588, 0x8585, 0x8579, 0x8576, 0x8598, 0x8590, 0x859f, 0x8668,
    -    0x87be, 0x87aa, 0x87ad, 0x87c5, 0x87b0, 0x87ac, 0x87b9, 0x87b5,
    -    0x87bc, 0x87ae, 0x87c9, 0x87c3, 0x87c2, 0x87cc, 0x87b7, 0x87af,
    -    0x87c4, 0x87ca, 0x87b4, 0x87b6, 0x87bf, 0x87b8, 0x87bd, 0x87de,
    -    0x87b2, 0x8935, 0x8933, 0x893c, 0x893e, 0x8941, 0x8952, 0x8937,
    -    0x8942, 0x89ad, 0x89af, 0x89ae, 0x89f2, 0x89f3, 0x8b1e, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x8b18, 0x8b16, 0x8b11, 0x8b05, 0x8b0b, 0x8b22, 0x8b0f,
    -    0x8b12, 0x8b15, 0x8b07, 0x8b0d, 0x8b08, 0x8b06, 0x8b1c, 0x8b13,
    -    0x8b1a, 0x8c4f, 0x8c70, 0x8c72, 0x8c71, 0x8c6f, 0x8c95, 0x8c94,
    -    0x8cf9, 0x8d6f, 0x8e4e, 0x8e4d, 0x8e53, 0x8e50, 0x8e4c, 0x8e47,
    -    0x8f43, 0x8f40, 0x9085, 0x907e, 0x9138, 0x919a, 0x91a2, 0x919b,
    -    0x9199, 0x919f, 0x91a1, 0x919d, 0x91a0, 0x93a1, 0x9383, 0x93af,
    -    0x9364, 0x9356, 0x9347, 0x937c, 0x9358, 0x935c, 0x9376, 0x9349,
    -    0x9350, 0x9351, 0x9360, 0x936d, 0x938f, 0x934c, 0x936a, 0x9379,
    -    0x9357, 0x9355, 0x9352, 0x934f, 0x9371, 0x9377, 0x937b, 0x9361,
    -    0x935e, 0x9363, 0x9367, 0x9380, 0x934e, 0x9359, 0x95c7, 0x95c0,
    -    0x95c9, 0x95c3, 0x95c5, 0x95b7, 0x96ae, 0x96b0, 0x96ac, 0x9720,
    -    0x971f, 0x9718, 0x971d, 0x9719, 0x979a, 0x97a1, 0x979c, 0x003f,
    -    /* lead byte ef */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x979e, 0x979d, 0x97d5, 0x97d4, 0x97f1, 0x9841, 0x9844, 0x984a,
    -    0x9849, 0x9845, 0x9843, 0x9925, 0x992b, 0x992c, 0x992a, 0x9933,
    -    0x9932, 0x992f, 0x992d, 0x9931, 0x9930, 0x9998, 0x99a3, 0x99a1,
    -    0x9a02, 0x99fa, 0x99f4, 0x99f7, 0x99f9, 0x99f8, 0x99f6, 0x99fb,
    -    0x99fd, 0x99fe, 0x99fc, 0x9a03, 0x9abe, 0x9afe, 0x9afd, 0x9b01,
    -    0x9afc, 0x9b48, 0x9b9a, 0x9ba8, 0x9b9e, 0x9b9b, 0x9ba6, 0x9ba1,
    -    0x9ba5, 0x9ba4, 0x9b86, 0x9ba2, 0x9ba0, 0x9baf, 0x9d33, 0x9d41,
    -    0x9d67, 0x9d36, 0x9d2e, 0x9d2f, 0x9d31, 0x9d38, 0x9d30, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9d45, 0x9d42, 0x9d43, 0x9d3e, 0x9d37, 0x9d40, 0x9d3d,
    -    0x7ff5, 0x9d2d, 0x9e8a, 0x9e89, 0x9e8d, 0x9eb0, 0x9ec8, 0x9eda,
    -    0x9efb, 0x9eff, 0x9f24, 0x9f23, 0x9f22, 0x9f54, 0x9fa0, 0x5131,
    -    0x512d, 0x512e, 0x5698, 0x569c, 0x5697, 0x569a, 0x569d, 0x5699,
    -    0x5970, 0x5b3c, 0x5c69, 0x5c6a, 0x5dc0, 0x5e6d, 0x5e6e, 0x61d8,
    -    0x61df, 0x61ed, 0x61ee, 0x61f1, 0x61ea, 0x61f0, 0x61eb, 0x61d6,
    -    0x61e9, 0x64ff, 0x6504, 0x64fd, 0x64f8, 0x6501, 0x6503, 0x64fc,
    -    0x6594, 0x65db, 0x66da, 0x66db, 0x66d8, 0x6ac5, 0x6ab9, 0x6abd,
    -    0x6ae1, 0x6ac6, 0x6aba, 0x6ab6, 0x6ab7, 0x6ac7, 0x6ab4, 0x6aad,
    -    0x6b5e, 0x6bc9, 0x6c0b, 0x7007, 0x700c, 0x700d, 0x7001, 0x7005,
    -    0x7014, 0x700e, 0x6fff, 0x7000, 0x6ffb, 0x7026, 0x6ffc, 0x6ff7,
    -    0x700a, 0x7201, 0x71ff, 0x71f9, 0x7203, 0x71fd, 0x7376, 0x003f,
    -    /* lead byte f0 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x74b8, 0x74c0, 0x74b5, 0x74c1, 0x74be, 0x74b6, 0x74bb, 0x74c2,
    -    0x7514, 0x7513, 0x765c, 0x7664, 0x7659, 0x7650, 0x7653, 0x7657,
    -    0x765a, 0x76a6, 0x76bd, 0x76ec, 0x77c2, 0x77ba, 0x78ff, 0x790c,
    -    0x7913, 0x7914, 0x7909, 0x7910, 0x7912, 0x7911, 0x79ad, 0x79ac,
    -    0x7a5f, 0x7c1c, 0x7c29, 0x7c19, 0x7c20, 0x7c1f, 0x7c2d, 0x7c1d,
    -    0x7c26, 0x7c28, 0x7c22, 0x7c25, 0x7c30, 0x7e5c, 0x7e50, 0x7e56,
    -    0x7e63, 0x7e58, 0x7e62, 0x7e5f, 0x7e51, 0x7e60, 0x7e57, 0x7e53,
    -    0x7fb5, 0x7fb3, 0x7ff7, 0x7ff8, 0x8075, 0x81d1, 0x81d2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x81d0, 0x825f, 0x825e, 0x85b4, 0x85c6, 0x85c0, 0x85c3,
    -    0x85c2, 0x85b3, 0x85b5, 0x85bd, 0x85c7, 0x85c4, 0x85bf, 0x85cb,
    -    0x85ce, 0x85c8, 0x85c5, 0x85b1, 0x85b6, 0x85d2, 0x8624, 0x85b8,
    -    0x85b7, 0x85be, 0x8669, 0x87e7, 0x87e6, 0x87e2, 0x87db, 0x87eb,
    -    0x87ea, 0x87e5, 0x87df, 0x87f3, 0x87e4, 0x87d4, 0x87dc, 0x87d3,
    -    0x87ed, 0x87d8, 0x87e3, 0x87a4, 0x87d7, 0x87d9, 0x8801, 0x87f4,
    -    0x87e8, 0x87dd, 0x8953, 0x894b, 0x894f, 0x894c, 0x8946, 0x8950,
    -    0x8951, 0x8949, 0x8b2a, 0x8b27, 0x8b23, 0x8b33, 0x8b30, 0x8b35,
    -    0x8b47, 0x8b2f, 0x8b3c, 0x8b3e, 0x8b31, 0x8b25, 0x8b37, 0x8b26,
    -    0x8b36, 0x8b2e, 0x8b24, 0x8b3b, 0x8b3d, 0x8b3a, 0x8c42, 0x8c75,
    -    0x8c99, 0x8c98, 0x8c97, 0x8cfe, 0x8d04, 0x8d02, 0x8d00, 0x8e5c,
    -    0x8e62, 0x8e60, 0x8e57, 0x8e56, 0x8e5e, 0x8e65, 0x8e67, 0x003f,
    -    /* lead byte f1 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8e5b, 0x8e5a, 0x8e61, 0x8e5d, 0x8e69, 0x8e54, 0x8f46, 0x8f47,
    -    0x8f48, 0x8f4b, 0x9128, 0x913a, 0x913b, 0x913e, 0x91a8, 0x91a5,
    -    0x91a7, 0x91af, 0x91aa, 0x93b5, 0x938c, 0x9392, 0x93b7, 0x939b,
    -    0x939d, 0x9389, 0x93a7, 0x938e, 0x93aa, 0x939e, 0x93a6, 0x9395,
    -    0x9388, 0x9399, 0x939f, 0x938d, 0x93b1, 0x9391, 0x93b2, 0x93a4,
    -    0x93a8, 0x93b4, 0x93a3, 0x93a5, 0x95d2, 0x95d3, 0x95d1, 0x96b3,
    -    0x96d7, 0x96da, 0x5dc2, 0x96df, 0x96d8, 0x96dd, 0x9723, 0x9722,
    -    0x9725, 0x97ac, 0x97ae, 0x97a8, 0x97ab, 0x97a4, 0x97aa, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x97a2, 0x97a5, 0x97d7, 0x97d9, 0x97d6, 0x97d8, 0x97fa,
    -    0x9850, 0x9851, 0x9852, 0x98b8, 0x9941, 0x993c, 0x993a, 0x9a0f,
    -    0x9a0b, 0x9a09, 0x9a0d, 0x9a04, 0x9a11, 0x9a0a, 0x9a05, 0x9a07,
    -    0x9a06, 0x9ac0, 0x9adc, 0x9b08, 0x9b04, 0x9b05, 0x9b29, 0x9b35,
    -    0x9b4a, 0x9b4c, 0x9b4b, 0x9bc7, 0x9bc6, 0x9bc3, 0x9bbf, 0x9bc1,
    -    0x9bb5, 0x9bb8, 0x9bd3, 0x9bb6, 0x9bc4, 0x9bb9, 0x9bbd, 0x9d5c,
    -    0x9d53, 0x9d4f, 0x9d4a, 0x9d5b, 0x9d4b, 0x9d59, 0x9d56, 0x9d4c,
    -    0x9d57, 0x9d52, 0x9d54, 0x9d5f, 0x9d58, 0x9d5a, 0x9e8e, 0x9e8c,
    -    0x9edf, 0x9f01, 0x9f00, 0x9f16, 0x9f25, 0x9f2b, 0x9f2a, 0x9f29,
    -    0x9f28, 0x9f4c, 0x9f55, 0x5134, 0x5135, 0x5296, 0x52f7, 0x53b4,
    -    0x56ab, 0x56ad, 0x56a6, 0x56a7, 0x56aa, 0x56ac, 0x58da, 0x58dd,
    -    0x58db, 0x5912, 0x5b3d, 0x5b3e, 0x5b3f, 0x5dc3, 0x5e70, 0x003f,
    -    /* lead byte f2 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x5fbf, 0x61fb, 0x6507, 0x6510, 0x650d, 0x6509, 0x650c, 0x650e,
    -    0x6584, 0x65de, 0x65dd, 0x66de, 0x6ae7, 0x6ae0, 0x6acc, 0x6ad1,
    -    0x6ad9, 0x6acb, 0x6adf, 0x6adc, 0x6ad0, 0x6aeb, 0x6acf, 0x6acd,
    -    0x6ade, 0x6b60, 0x6bb0, 0x6c0c, 0x7019, 0x7027, 0x7020, 0x7016,
    -    0x702b, 0x7021, 0x7022, 0x7023, 0x7029, 0x7017, 0x7024, 0x701c,
    -    0x702a, 0x720c, 0x720a, 0x7207, 0x7202, 0x7205, 0x72a5, 0x72a6,
    -    0x72a4, 0x72a3, 0x72a1, 0x74cb, 0x74c5, 0x74b7, 0x74c3, 0x7516,
    -    0x7660, 0x77c9, 0x77ca, 0x77c4, 0x77f1, 0x791d, 0x791b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x7921, 0x791c, 0x7917, 0x791e, 0x79b0, 0x7a67, 0x7a68,
    -    0x7c33, 0x7c3c, 0x7c39, 0x7c2c, 0x7c3b, 0x7cec, 0x7cea, 0x7e76,
    -    0x7e75, 0x7e78, 0x7e70, 0x7e77, 0x7e6f, 0x7e7a, 0x7e72, 0x7e74,
    -    0x7e68, 0x7f4b, 0x7f4a, 0x7f83, 0x7f86, 0x7fb7, 0x7ffd, 0x7ffe,
    -    0x8078, 0x81d7, 0x81d5, 0x8264, 0x8261, 0x8263, 0x85eb, 0x85f1,
    -    0x85ed, 0x85d9, 0x85e1, 0x85e8, 0x85da, 0x85d7, 0x85ec, 0x85f2,
    -    0x85f8, 0x85d8, 0x85df, 0x85e3, 0x85dc, 0x85d1, 0x85f0, 0x85e6,
    -    0x85ef, 0x85de, 0x85e2, 0x8800, 0x87fa, 0x8803, 0x87f6, 0x87f7,
    -    0x8809, 0x880c, 0x880b, 0x8806, 0x87fc, 0x8808, 0x87ff, 0x880a,
    -    0x8802, 0x8962, 0x895a, 0x895b, 0x8957, 0x8961, 0x895c, 0x8958,
    -    0x895d, 0x8959, 0x8988, 0x89b7, 0x89b6, 0x89f6, 0x8b50, 0x8b48,
    -    0x8b4a, 0x8b40, 0x8b53, 0x8b56, 0x8b54, 0x8b4b, 0x8b55, 0x003f,
    -    /* lead byte f3 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b51, 0x8b42, 0x8b52, 0x8b57, 0x8c43, 0x8c77, 0x8c76, 0x8c9a,
    -    0x8d06, 0x8d07, 0x8d09, 0x8dac, 0x8daa, 0x8dad, 0x8dab, 0x8e6d,
    -    0x8e78, 0x8e73, 0x8e6a, 0x8e6f, 0x8e7b, 0x8ec2, 0x8f52, 0x8f51,
    -    0x8f4f, 0x8f50, 0x8f53, 0x8fb4, 0x9140, 0x913f, 0x91b0, 0x91ad,
    -    0x93de, 0x93c7, 0x93cf, 0x93c2, 0x93da, 0x93d0, 0x93f9, 0x93ec,
    -    0x93cc, 0x93d9, 0x93a9, 0x93e6, 0x93ca, 0x93d4, 0x93ee, 0x93e3,
    -    0x93d5, 0x93c4, 0x93ce, 0x93c0, 0x93d2, 0x93e7, 0x957d, 0x95da,
    -    0x95db, 0x96e1, 0x9729, 0x972b, 0x972c, 0x9728, 0x9726, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x97b3, 0x97b7, 0x97b6, 0x97dd, 0x97de, 0x97df, 0x985c,
    -    0x9859, 0x985d, 0x9857, 0x98bf, 0x98bd, 0x98bb, 0x98be, 0x9948,
    -    0x9947, 0x9943, 0x99a6, 0x99a7, 0x9a1a, 0x9a15, 0x9a25, 0x9a1d,
    -    0x9a24, 0x9a1b, 0x9a22, 0x9a20, 0x9a27, 0x9a23, 0x9a1e, 0x9a1c,
    -    0x9a14, 0x9ac2, 0x9b0b, 0x9b0a, 0x9b0e, 0x9b0c, 0x9b37, 0x9bea,
    -    0x9beb, 0x9be0, 0x9bde, 0x9be4, 0x9be6, 0x9be2, 0x9bf0, 0x9bd4,
    -    0x9bd7, 0x9bec, 0x9bdc, 0x9bd9, 0x9be5, 0x9bd5, 0x9be1, 0x9bda,
    -    0x9d77, 0x9d81, 0x9d8a, 0x9d84, 0x9d88, 0x9d71, 0x9d80, 0x9d78,
    -    0x9d86, 0x9d8b, 0x9d8c, 0x9d7d, 0x9d6b, 0x9d74, 0x9d75, 0x9d70,
    -    0x9d69, 0x9d85, 0x9d73, 0x9d7b, 0x9d82, 0x9d6f, 0x9d79, 0x9d7f,
    -    0x9d87, 0x9d68, 0x9e94, 0x9e91, 0x9ec0, 0x9efc, 0x9f2d, 0x9f40,
    -    0x9f41, 0x9f4d, 0x9f56, 0x9f57, 0x9f58, 0x5337, 0x56b2, 0x003f,
    -    /* lead byte f4 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x56b5, 0x56b3, 0x58e3, 0x5b45, 0x5dc6, 0x5dc7, 0x5eee, 0x5eef,
    -    0x5fc0, 0x5fc1, 0x61f9, 0x6517, 0x6516, 0x6515, 0x6513, 0x65df,
    -    0x66e8, 0x66e3, 0x66e4, 0x6af3, 0x6af0, 0x6aea, 0x6ae8, 0x6af9,
    -    0x6af1, 0x6aee, 0x6aef, 0x703c, 0x7035, 0x702f, 0x7037, 0x7034,
    -    0x7031, 0x7042, 0x7038, 0x703f, 0x703a, 0x7039, 0x7040, 0x703b,
    -    0x7033, 0x7041, 0x7213, 0x7214, 0x72a8, 0x737d, 0x737c, 0x74ba,
    -    0x76ab, 0x76aa, 0x76be, 0x76ed, 0x77cc, 0x77ce, 0x77cf, 0x77cd,
    -    0x77f2, 0x7925, 0x7923, 0x7927, 0x7928, 0x7924, 0x7929, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x79b2, 0x7a6e, 0x7a6c, 0x7a6d, 0x7af7, 0x7c49, 0x7c48,
    -    0x7c4a, 0x7c47, 0x7c45, 0x7cee, 0x7e7b, 0x7e7e, 0x7e81, 0x7e80,
    -    0x7fba, 0x7fff, 0x8079, 0x81db, 0x81d9, 0x820b, 0x8268, 0x8269,
    -    0x8622, 0x85ff, 0x8601, 0x85fe, 0x861b, 0x8600, 0x85f6, 0x8604,
    -    0x8609, 0x8605, 0x860c, 0x85fd, 0x8819, 0x8810, 0x8811, 0x8817,
    -    0x8813, 0x8816, 0x8963, 0x8966, 0x89b9, 0x89f7, 0x8b60, 0x8b6a,
    -    0x8b5d, 0x8b68, 0x8b63, 0x8b65, 0x8b67, 0x8b6d, 0x8dae, 0x8e86,
    -    0x8e88, 0x8e84, 0x8f59, 0x8f56, 0x8f57, 0x8f55, 0x8f58, 0x8f5a,
    -    0x908d, 0x9143, 0x9141, 0x91b7, 0x91b5, 0x91b2, 0x91b3, 0x940b,
    -    0x9413, 0x93fb, 0x9420, 0x940f, 0x9414, 0x93fe, 0x9415, 0x9410,
    -    0x9428, 0x9419, 0x940d, 0x93f5, 0x9400, 0x93f7, 0x9407, 0x940e,
    -    0x9416, 0x9412, 0x93fa, 0x9409, 0x93f8, 0x940a, 0x93ff, 0x003f,
    -    /* lead byte f5 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x93fc, 0x940c, 0x93f6, 0x9411, 0x9406, 0x95de, 0x95e0, 0x95df,
    -    0x972e, 0x972f, 0x97b9, 0x97bb, 0x97fd, 0x97fe, 0x9860, 0x9862,
    -    0x9863, 0x985f, 0x98c1, 0x98c2, 0x9950, 0x994e, 0x9959, 0x994c,
    -    0x994b, 0x9953, 0x9a32, 0x9a34, 0x9a31, 0x9a2c, 0x9a2a, 0x9a36,
    -    0x9a29, 0x9a2e, 0x9a38, 0x9a2d, 0x9ac7, 0x9aca, 0x9ac6, 0x9b10,
    -    0x9b12, 0x9b11, 0x9c0b, 0x9c08, 0x9bf7, 0x9c05, 0x9c12, 0x9bf8,
    -    0x9c40, 0x9c07, 0x9c0e, 0x9c06, 0x9c17, 0x9c14, 0x9c09, 0x9d9f,
    -    0x9d99, 0x9da4, 0x9d9d, 0x9d92, 0x9d98, 0x9d90, 0x9d9b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9da0, 0x9d94, 0x9d9c, 0x9daa, 0x9d97, 0x9da1, 0x9d9a,
    -    0x9da2, 0x9da8, 0x9d9e, 0x9da3, 0x9dbf, 0x9da9, 0x9d96, 0x9da6,
    -    0x9da7, 0x9e99, 0x9e9b, 0x9e9a, 0x9ee5, 0x9ee4, 0x9ee7, 0x9ee6,
    -    0x9f30, 0x9f2e, 0x9f5b, 0x9f60, 0x9f5e, 0x9f5d, 0x9f59, 0x9f91,
    -    0x513a, 0x5139, 0x5298, 0x5297, 0x56c3, 0x56bd, 0x56be, 0x5b48,
    -    0x5b47, 0x5dcb, 0x5dcf, 0x5ef1, 0x61fd, 0x651b, 0x6b02, 0x6afc,
    -    0x6b03, 0x6af8, 0x6b00, 0x7043, 0x7044, 0x704a, 0x7048, 0x7049,
    -    0x7045, 0x7046, 0x721d, 0x721a, 0x7219, 0x737e, 0x7517, 0x766a,
    -    0x77d0, 0x792d, 0x7931, 0x792f, 0x7c54, 0x7c53, 0x7cf2, 0x7e8a,
    -    0x7e87, 0x7e88, 0x7e8b, 0x7e86, 0x7e8d, 0x7f4d, 0x7fbb, 0x8030,
    -    0x81dd, 0x8618, 0x862a, 0x8626, 0x861f, 0x8623, 0x861c, 0x8619,
    -    0x8627, 0x862e, 0x8621, 0x8620, 0x8629, 0x861e, 0x8625, 0x003f,
    -    /* lead byte f6 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8829, 0x881d, 0x881b, 0x8820, 0x8824, 0x881c, 0x882b, 0x884a,
    -    0x896d, 0x8969, 0x896e, 0x896b, 0x89fa, 0x8b79, 0x8b78, 0x8b45,
    -    0x8b7a, 0x8b7b, 0x8d10, 0x8d14, 0x8daf, 0x8e8e, 0x8e8c, 0x8f5e,
    -    0x8f5b, 0x8f5d, 0x9146, 0x9144, 0x9145, 0x91b9, 0x943f, 0x943b,
    -    0x9436, 0x9429, 0x943d, 0x943c, 0x9430, 0x9439, 0x942a, 0x9437,
    -    0x942c, 0x9440, 0x9431, 0x95e5, 0x95e4, 0x95e3, 0x9735, 0x973a,
    -    0x97bf, 0x97e1, 0x9864, 0x98c9, 0x98c6, 0x98c0, 0x9958, 0x9956,
    -    0x9a39, 0x9a3d, 0x9a46, 0x9a44, 0x9a42, 0x9a41, 0x9a3a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9a3f, 0x9acd, 0x9b15, 0x9b17, 0x9b18, 0x9b16, 0x9b3a,
    -    0x9b52, 0x9c2b, 0x9c1d, 0x9c1c, 0x9c2c, 0x9c23, 0x9c28, 0x9c29,
    -    0x9c24, 0x9c21, 0x9db7, 0x9db6, 0x9dbc, 0x9dc1, 0x9dc7, 0x9dca,
    -    0x9dcf, 0x9dbe, 0x9dc5, 0x9dc3, 0x9dbb, 0x9db5, 0x9dce, 0x9db9,
    -    0x9dba, 0x9dac, 0x9dc8, 0x9db1, 0x9dad, 0x9dcc, 0x9db3, 0x9dcd,
    -    0x9db2, 0x9e7a, 0x9e9c, 0x9eeb, 0x9eee, 0x9eed, 0x9f1b, 0x9f18,
    -    0x9f1a, 0x9f31, 0x9f4e, 0x9f65, 0x9f64, 0x9f92, 0x4eb9, 0x56c6,
    -    0x56c5, 0x56cb, 0x5971, 0x5b4b, 0x5b4c, 0x5dd5, 0x5dd1, 0x5ef2,
    -    0x6521, 0x6520, 0x6526, 0x6522, 0x6b0b, 0x6b08, 0x6b09, 0x6c0d,
    -    0x7055, 0x7056, 0x7057, 0x7052, 0x721e, 0x721f, 0x72a9, 0x737f,
    -    0x74d8, 0x74d5, 0x74d9, 0x74d7, 0x766d, 0x76ad, 0x7935, 0x79b4,
    -    0x7a70, 0x7a71, 0x7c57, 0x7c5c, 0x7c59, 0x7c5b, 0x7c5a, 0x003f,
    -    /* lead byte f7 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7cf4, 0x7cf1, 0x7e91, 0x7f4f, 0x7f87, 0x81de, 0x826b, 0x8634,
    -    0x8635, 0x8633, 0x862c, 0x8632, 0x8636, 0x882c, 0x8828, 0x8826,
    -    0x882a, 0x8825, 0x8971, 0x89bf, 0x89be, 0x89fb, 0x8b7e, 0x8b84,
    -    0x8b82, 0x8b86, 0x8b85, 0x8b7f, 0x8d15, 0x8e95, 0x8e94, 0x8e9a,
    -    0x8e92, 0x8e90, 0x8e96, 0x8e97, 0x8f60, 0x8f62, 0x9147, 0x944c,
    -    0x9450, 0x944a, 0x944b, 0x944f, 0x9447, 0x9445, 0x9448, 0x9449,
    -    0x9446, 0x973f, 0x97e3, 0x986a, 0x9869, 0x98cb, 0x9954, 0x995b,
    -    0x9a4e, 0x9a53, 0x9a54, 0x9a4c, 0x9a4f, 0x9a48, 0x9a4a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9a49, 0x9a52, 0x9a50, 0x9ad0, 0x9b19, 0x9b2b, 0x9b3b,
    -    0x9b56, 0x9b55, 0x9c46, 0x9c48, 0x9c3f, 0x9c44, 0x9c39, 0x9c33,
    -    0x9c41, 0x9c3c, 0x9c37, 0x9c34, 0x9c32, 0x9c3d, 0x9c36, 0x9ddb,
    -    0x9dd2, 0x9dde, 0x9dda, 0x9dcb, 0x9dd0, 0x9ddc, 0x9dd1, 0x9ddf,
    -    0x9de9, 0x9dd9, 0x9dd8, 0x9dd6, 0x9df5, 0x9dd5, 0x9ddd, 0x9eb6,
    -    0x9ef0, 0x9f35, 0x9f33, 0x9f32, 0x9f42, 0x9f6b, 0x9f95, 0x9fa2,
    -    0x513d, 0x5299, 0x58e8, 0x58e7, 0x5972, 0x5b4d, 0x5dd8, 0x882f,
    -    0x5f4f, 0x6201, 0x6203, 0x6204, 0x6529, 0x6525, 0x6596, 0x66eb,
    -    0x6b11, 0x6b12, 0x6b0f, 0x6bca, 0x705b, 0x705a, 0x7222, 0x7382,
    -    0x7381, 0x7383, 0x7670, 0x77d4, 0x7c67, 0x7c66, 0x7e95, 0x826c,
    -    0x863a, 0x8640, 0x8639, 0x863c, 0x8631, 0x863b, 0x863e, 0x8830,
    -    0x8832, 0x882e, 0x8833, 0x8976, 0x8974, 0x8973, 0x89fe, 0x003f,
    -    /* lead byte f8 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x8b8c, 0x8b8e, 0x8b8b, 0x8b88, 0x8c45, 0x8d19, 0x8e98, 0x8f64,
    -    0x8f63, 0x91bc, 0x9462, 0x9455, 0x945d, 0x9457, 0x945e, 0x97c4,
    -    0x97c5, 0x9800, 0x9a56, 0x9a59, 0x9b1e, 0x9b1f, 0x9b20, 0x9c52,
    -    0x9c58, 0x9c50, 0x9c4a, 0x9c4d, 0x9c4b, 0x9c55, 0x9c59, 0x9c4c,
    -    0x9c4e, 0x9dfb, 0x9df7, 0x9def, 0x9de3, 0x9deb, 0x9df8, 0x9de4,
    -    0x9df6, 0x9de1, 0x9dee, 0x9de6, 0x9df2, 0x9df0, 0x9de2, 0x9dec,
    -    0x9df4, 0x9df3, 0x9de8, 0x9ded, 0x9ec2, 0x9ed0, 0x9ef2, 0x9ef3,
    -    0x9f06, 0x9f1c, 0x9f38, 0x9f37, 0x9f36, 0x9f43, 0x9f4f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9f71, 0x9f70, 0x9f6e, 0x9f6f, 0x56d3, 0x56cd, 0x5b4e,
    -    0x5c6d, 0x652d, 0x66ed, 0x66ee, 0x6b13, 0x705f, 0x7061, 0x705d,
    -    0x7060, 0x7223, 0x74db, 0x74e5, 0x77d5, 0x7938, 0x79b7, 0x79b6,
    -    0x7c6a, 0x7e97, 0x7f89, 0x826d, 0x8643, 0x8838, 0x8837, 0x8835,
    -    0x884b, 0x8b94, 0x8b95, 0x8e9e, 0x8e9f, 0x8ea0, 0x8e9d, 0x91be,
    -    0x91bd, 0x91c2, 0x946b, 0x9468, 0x9469, 0x96e5, 0x9746, 0x9743,
    -    0x9747, 0x97c7, 0x97e5, 0x9a5e, 0x9ad5, 0x9b59, 0x9c63, 0x9c67,
    -    0x9c66, 0x9c62, 0x9c5e, 0x9c60, 0x9e02, 0x9dfe, 0x9e07, 0x9e03,
    -    0x9e06, 0x9e05, 0x9e00, 0x9e01, 0x9e09, 0x9dff, 0x9dfd, 0x9e04,
    -    0x9ea0, 0x9f1e, 0x9f46, 0x9f74, 0x9f75, 0x9f76, 0x56d4, 0x652e,
    -    0x65b8, 0x6b18, 0x6b19, 0x6b17, 0x6b1a, 0x7062, 0x7226, 0x72aa,
    -    0x77d8, 0x77d9, 0x7939, 0x7c69, 0x7c6b, 0x7cf6, 0x7e9a, 0x003f,
    -    /* lead byte f9 */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x7e98, 0x7e9b, 0x7e99, 0x81e0, 0x81e1, 0x8646, 0x8647, 0x8648,
    -    0x8979, 0x897a, 0x897c, 0x897b, 0x89ff, 0x8b98, 0x8b99, 0x8ea5,
    -    0x8ea4, 0x8ea3, 0x946e, 0x946d, 0x946f, 0x9471, 0x9473, 0x9749,
    -    0x9872, 0x995f, 0x9c68, 0x9c6e, 0x9c6d, 0x9e0b, 0x9e0d, 0x9e10,
    -    0x9e0f, 0x9e12, 0x9e11, 0x9ea1, 0x9ef5, 0x9f09, 0x9f47, 0x9f78,
    -    0x9f7b, 0x9f7a, 0x9f79, 0x571e, 0x7066, 0x7c6f, 0x883c, 0x8db2,
    -    0x8ea6, 0x91c3, 0x9474, 0x9478, 0x9476, 0x9475, 0x9a60, 0x9c74,
    -    0x9c73, 0x9c71, 0x9c75, 0x9e14, 0x9e13, 0x9ef6, 0x9f0a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x9fa4, 0x7068, 0x7065, 0x7cf7, 0x866a, 0x883e, 0x883d,
    -    0x883f, 0x8b9e, 0x8c9c, 0x8ea9, 0x8ec9, 0x974b, 0x9873, 0x9874,
    -    0x98cc, 0x9961, 0x99ab, 0x9a64, 0x9a66, 0x9a67, 0x9b24, 0x9e15,
    -    0x9e17, 0x9f48, 0x6207, 0x6b1e, 0x7227, 0x864c, 0x8ea8, 0x9482,
    -    0x9480, 0x9481, 0x9a69, 0x9a68, 0x9b2e, 0x9e19, 0x7229, 0x864b,
    -    0x8b9f, 0x9483, 0x9c79, 0x9eb7, 0x7675, 0x9a6b, 0x9c7a, 0x9e1d,
    -    0x7069, 0x706a, 0x9ea4, 0x9f7e, 0x9f49, 0x9f98, 0x7881, 0x92b9,
    -    0x88cf, 0x58bb, 0x6052, 0x7ca7, 0x5afa, 0x2554, 0x2566, 0x2557,
    -    0x2560, 0x256c, 0x2563, 0x255a, 0x2569, 0x255d, 0x2552, 0x2564,
    -    0x2555, 0x255e, 0x256a, 0x2561, 0x2558, 0x2567, 0x255b, 0x2553,
    -    0x2565, 0x2556, 0x255f, 0x256b, 0x2562, 0x2559, 0x2568, 0x255c,
    -    0x2551, 0x2550, 0x256d, 0x256e, 0x2570, 0x256f, 0x2593, 0x003f
    -};
    -
    -static const unsigned char cp2uni_leadbytes[256] =
    -{
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    -    0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    -    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    -    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    -    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    -    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
    -    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
    -    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
    -    0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
    -    0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x01,
    -    0x01, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
    -    0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
    -    0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
    -    0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46,
    -    0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e,
    -    0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
    -    0x57, 0x58, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00
    -};
    -
    -static const unsigned short uni2cp_low[27648] =
    -{
    -    /* 0x0000 .. 0x00ff */
    -    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, 0x005c, 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, 0x007e, 0x007f,
    -    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0020, 0x0021, 0x0063, 0x004c, 0x003f, 0x0059, 0x007c, 0xa1b1,
    -    0x0022, 0x0063, 0x0061, 0xa16d, 0x003f, 0x002d, 0x0072, 0xa1c2,
    -    0xa258, 0xa1d3, 0x0032, 0x0033, 0xa3bd, 0xa367, 0x003f, 0xa150,
    -    0x002c, 0x0031, 0x006f, 0xa16e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    -    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    -    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1d1,
    -    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa35d,
    -    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    -    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    -    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1d2,
    -    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x003f, 0x0079,
    -    /* 0x0100 .. 0x01ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    -    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    -    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    -    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    -    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    -    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    -    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    -    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    -    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    -    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa278, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    -    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    -    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    -    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    -    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    -    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    -    /* 0x0200 .. 0x02ff */
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    -    0x0079, 0xa3bd, 0x0022, 0xa1a5, 0xa1a6, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa3be,
    -    0x0027, 0xa3bc, 0xa3bd, 0xa3bf, 0x003f, 0xa1c5, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa3bb, 0xa258, 0x003f, 0x007e, 0x0022, 0x003f, 0x003f,
    -    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x0300 .. 0x03ff */
    -    0xa3bf, 0xa3bd, 0x005e, 0x007e, 0xa1c2, 0xa1c2, 0x003f, 0xa3bb,
    -    0x0022, 0x003f, 0xa258, 0x0022, 0xa3be, 0x003f, 0x0022, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa1c5, 0xa1c5, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa3bf, 0xa3bd, 0x003f, 0x003f, 0x0022, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa3bd, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa3bd, 0x0022, 0xa344, 0xa150,
    -    0xa348, 0xa34a, 0xa34c, 0x003f, 0xa352, 0x003f, 0xa357, 0xa35b,
    -    0xa364, 0xa344, 0xa345, 0xa346, 0xa347, 0xa348, 0xa349, 0xa34a,
    -    0xa34b, 0xa34c, 0xa34d, 0xa34e, 0xa34f, 0xa350, 0xa351, 0xa352,
    -    0xa353, 0xa354, 0x003f, 0xa355, 0xa356, 0xa357, 0xa358, 0xa359,
    -    0xa35a, 0xa35b, 0xa34c, 0xa357, 0xa35c, 0xa360, 0xa362, 0xa364,
    -    0xa36f, 0xa35c, 0xa35d, 0xa35e, 0xa35f, 0xa360, 0xa361, 0xa362,
    -    0xa363, 0xa364, 0xa365, 0xa366, 0xa367, 0xa368, 0xa369, 0xa36a,
    -    0xa36b, 0xa36c, 0x003f, 0xa36d, 0xa36e, 0xa36f, 0xa370, 0xa371,
    -    0xa372, 0xa373, 0xa364, 0xa36f, 0xa36a, 0xa36f, 0xa373, 0x003f,
    -    0xa35d, 0xa363, 0xa357, 0xa357, 0xa357, 0xa370, 0xa36b, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa365, 0xa36c, 0x003f, 0x003f, 0xa34b, 0xa360, 0x003f, 0x003f,
    -    0x003f, 0xa355, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1d00 .. 0x1dff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    -    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    -    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    -    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    -    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    -    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    -    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa35d, 0xa35e, 0xa35f,
    -    0xa370, 0xa371, 0x0069, 0x0072, 0x0075, 0x0076, 0xa35d, 0xa35e,
    -    0xa36c, 0xa370, 0xa371, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1e00 .. 0x1eff */
    -    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    -    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    -    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    -    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    -    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    -    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    -    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    -    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    -    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    -    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    -    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    -    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    -    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    -    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    -    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    -    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    -    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    -    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    -    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    -    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    -    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x1f00 .. 0x1fff */
    -    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c,
    -    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344,
    -    0xa360, 0xa360, 0xa360, 0xa360, 0xa360, 0xa360, 0x003f, 0x003f,
    -    0xa348, 0xa348, 0xa348, 0xa348, 0xa348, 0xa348, 0x003f, 0x003f,
    -    0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362,
    -    0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a,
    -    0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364,
    -    0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c,
    -    0xa36a, 0xa36a, 0xa36a, 0xa36a, 0xa36a, 0xa36a, 0x003f, 0x003f,
    -    0xa352, 0xa352, 0xa352, 0xa352, 0xa352, 0xa352, 0x003f, 0x003f,
    -    0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f,
    -    0x003f, 0xa357, 0x003f, 0xa357, 0x003f, 0xa357, 0x003f, 0xa357,
    -    0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373,
    -    0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b,
    -    0xa35c, 0xa35c, 0xa360, 0xa360, 0xa362, 0xa362, 0xa364, 0xa364,
    -    0xa36a, 0xa36a, 0xa36f, 0xa36f, 0xa373, 0xa373, 0x003f, 0x003f,
    -    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c,
    -    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344,
    -    0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362,
    -    0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a,
    -    0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373,
    -    0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b,
    -    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0x003f, 0xa35c, 0xa35c,
    -    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0x003f, 0xa364, 0x003f,
    -    0x003f, 0x0022, 0xa362, 0xa362, 0xa362, 0x003f, 0xa362, 0xa362,
    -    0xa348, 0xa348, 0xa34a, 0xa34a, 0xa34a, 0x003f, 0x003f, 0x003f,
    -    0xa364, 0xa364, 0xa364, 0xa364, 0x003f, 0x003f, 0xa364, 0xa364,
    -    0xa34c, 0xa34c, 0xa34c, 0xa34c, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36c, 0xa36c, 0xa36f, 0xa36f,
    -    0xa357, 0xa357, 0xa357, 0xa357, 0xa354, 0x0022, 0x0022, 0x0060,
    -    0x003f, 0x003f, 0xa373, 0xa373, 0xa373, 0x003f, 0xa373, 0xa373,
    -    0xa352, 0xa352, 0xa35b, 0xa35b, 0xa35b, 0xa3bd, 0x003f, 0x003f,
    -    /* 0x2000 .. 0x20ff */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x002d, 0x002d, 0x003f, 0xa156, 0xa158, 0xa156, 0x003f, 0x005f,
    -    0xa1a5, 0xa1a6, 0x002c, 0xa1a5, 0xa1a7, 0xa1a8, 0x002c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x002e, 0xa14c, 0xa14b, 0xa145,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0x003f, 0x003f, 0xa1ac, 0x0022, 0x003f, 0xa1ab, 0x003f, 0x003f,
    -    0x003f, 0xa171, 0xa172, 0xa1b0, 0x0021, 0x003f, 0xa1c2, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa241, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa258, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x006e,
    -    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    -    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa3e1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2100 .. 0x21ff */
    -    0x003f, 0x003f, 0x0043, 0xa24a, 0x003f, 0xa1c1, 0x003f, 0x0045,
    -    0x003f, 0xa24b, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    -    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x003f, 0x003f,
    -    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x005a, 0x003f, 0xa35b, 0x003f,
    -    0x005a, 0x003f, 0x004b, 0x0041, 0x0042, 0x0043, 0x0065, 0x0065,
    -    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa35e, 0xa346, 0xa353,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    -    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0,
    -    0xa2c1, 0xa2c2, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    -    0x0069, 0x003f, 0x003f, 0x003f, 0x0076, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x0078, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1f6, 0xa1f4, 0xa1f7, 0xa1f5, 0x002d, 0x007c, 0xa1f8, 0xa1f9,
    -    0xa1fb, 0xa1fa, 0xa1f6, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2200 .. 0x22ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x002d, 0xa1d3, 0x003f, 0xa241, 0x005c, 0x002a,
    -    0xa258, 0x003f, 0xa1d4, 0x003f, 0x003f, 0x003f, 0xa1db, 0xa1e8,
    -    0xa1e7, 0x003f, 0x003f, 0xa1fd, 0xa1fd, 0xa1fc, 0xa1fc, 0x003f,
    -    0x003f, 0xa1e4, 0xa1e5, 0xa1ec, 0x003f, 0x003f, 0xa1ed, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ef, 0xa1ee, 0x003a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1da, 0xa1dd, 0xa1dd, 0xa1dd, 0x003f, 0x003f, 0xa1d8, 0xa1d9,
    -    0x003f, 0x003f, 0xa16d, 0xa16e, 0x003f, 0x003f, 0x003c, 0x003e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f2, 0x003f, 0x003f,
    -    0x003f, 0xa1f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1e6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1e9,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa150, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2300 .. 0x23ff */
    -    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa171, 0xa172, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2400 .. 0x24ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038,
    -    0x0039, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    -    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2500 .. 0x25ff */
    -    0xa277, 0xa277, 0xa278, 0xa278, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0x002d, 0x002d, 0x007c, 0x007c, 0xa27a, 0xa27a, 0xa27a, 0xa27a,
    -    0xa27b, 0xa27b, 0xa27b, 0xa27b, 0xa27c, 0xa27c, 0xa27c, 0xa27c,
    -    0xa27d, 0xa27d, 0xa27d, 0xa27d, 0xa275, 0xa275, 0xa275, 0xa275,
    -    0xa275, 0xa275, 0xa275, 0xa275, 0xa274, 0xa274, 0xa274, 0xa274,
    -    0xa274, 0xa274, 0xa274, 0xa274, 0xa273, 0xa273, 0xa273, 0xa273,
    -    0xa273, 0xa273, 0xa273, 0xa273, 0xa272, 0xa272, 0xa272, 0xa272,
    -    0xa272, 0xa272, 0xa272, 0xa272, 0xa271, 0xa271, 0xa271, 0xa271,
    -    0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271,
    -    0xa271, 0xa271, 0xa271, 0xa271, 0x002d, 0x002d, 0x007c, 0x007c,
    -    0xa2a4, 0xf9f8, 0xf9e6, 0xf9ef, 0xf9dd, 0xf9e8, 0xf9f1, 0xf9df,
    -    0xf9ec, 0xf9f5, 0xf9e3, 0xf9ee, 0xf9f7, 0xf9e5, 0xa2a5, 0xf9f2,
    -    0xf9e0, 0xa2a7, 0xf9f4, 0xf9e2, 0xf9e7, 0xf9f0, 0xf9de, 0xf9ed,
    -    0xf9f6, 0xf9e4, 0xa2a6, 0xf9f3, 0xf9e1, 0xa27e, 0xa2a1, 0xa2a3,
    -    0xa2a2, 0xa2ac, 0xa2ad, 0xa2ae, 0xa15a, 0x007c, 0xa15a, 0x007c,
    -    0xa15a, 0x007c, 0xa15a, 0x007c, 0xa15a, 0x007c, 0xa15a, 0x007c,
    -    0x003f, 0xa262, 0xa263, 0xa264, 0xa265, 0xa266, 0xa267, 0xa268,
    -    0xa269, 0xa270, 0xa26f, 0xa26e, 0xa26d, 0xa26c, 0xa26b, 0xa26a,
    -    0x003f, 0x003f, 0x003f, 0xf9fe, 0xa276, 0xa279, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1bd, 0xa1bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa1b6, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa1bf, 0xa1be, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1bb, 0xa1ba,
    -    0x003f, 0x003f, 0x003f, 0xa1b3, 0x003f, 0x003f, 0xa1b7, 0xa1b4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa2a8, 0xa2a9, 0xa2ab, 0xa2aa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1b3,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2600 .. 0x26ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1b9, 0xa1b8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa1f0, 0x003f, 0xa1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2e00 .. 0x2eff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa5c0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x2f00 .. 0x2fff */
    -    0xa440, 0x003f, 0x003f, 0x003f, 0xa441, 0x003f, 0xa447, 0x003f,
    -    0xa448, 0xa449, 0xa44a, 0xa44b, 0x003f, 0x003f, 0x003f, 0xa44c,
    -    0xc942, 0xa44d, 0xa44f, 0x003f, 0xa450, 0xc943, 0x003f, 0xa2cc,
    -    0xa452, 0x003f, 0xc944, 0x003f, 0xa453, 0xa466, 0xc949, 0xa467,
    -    0xa468, 0x003f, 0x003f, 0xa469, 0xa46a, 0xa46b, 0xa46c, 0x003f,
    -    0xa46f, 0xa470, 0xa471, 0xa472, 0xc94b, 0xa473, 0x003f, 0xa475,
    -    0xa476, 0xa479, 0xa47a, 0x003f, 0x003f, 0x003f, 0xa47b, 0xa47c,
    -    0xa47d, 0x003f, 0x003f, 0xc94c, 0xa4df, 0xa4e0, 0xa4e1, 0xa4e2,
    -    0xa4e4, 0x003f, 0xa4e5, 0xa4e6, 0xa4e7, 0xa4e8, 0x003f, 0xa4e9,
    -    0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef, 0xc95f, 0xa4f0,
    -    0xa4f1, 0xa4f2, 0xa4f3, 0xc961, 0xa4f4, 0xa4f5, 0xa4f6, 0xa4f7,
    -    0xa4f8, 0xc962, 0xa4f9, 0xa4fa, 0xa4fb, 0xa4fc, 0xa5c8, 0xa5c9,
    -    0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5d0, 0xa5d4, 0x003f,
    -    0x003f, 0xa5d5, 0xa5d6, 0xa5d7, 0xa5d8, 0xa5d9, 0xa5da, 0xa5db,
    -    0xa5dc, 0xc9a8, 0xa5dd, 0xa5de, 0xa5df, 0xa6cb, 0xa6cc, 0xa6cd,
    -    0xa6ce, 0xca49, 0xa6cf, 0xa6d0, 0xa6d1, 0xa6d3, 0xa6d4, 0xa6d5,
    -    0xa6d6, 0xa6d7, 0xa6da, 0xa6db, 0xa6dc, 0xa6dd, 0xa6de, 0xa6df,
    -    0xa6e0, 0xa6e1, 0xa6e2, 0xca4a, 0xca4f, 0xa6e4, 0xa6e5, 0xa6e6,
    -    0xa6e7, 0xca50, 0xa8a3, 0xa8a4, 0xa8a5, 0xa8a6, 0xa8a7, 0xa8a8,
    -    0xcba4, 0xa8a9, 0xa8aa, 0xa8ab, 0xa8ac, 0xa8ad, 0xa8ae, 0xa8af,
    -    0xa8b0, 0x003f, 0xa8b6, 0xa8bb, 0xa8bc, 0xa8bd, 0xaaf7, 0xaaf8,
    -    0xaaf9, 0xaafa, 0x003f, 0xab41, 0xab42, 0x003f, 0xab44, 0xadb1,
    -    0xadb2, 0xadb3, 0xadb4, 0xadb5, 0xadb6, 0xadb7, 0xadb8, 0xadb9,
    -    0xadba, 0xadbb, 0xb0a8, 0xb0a9, 0xb0aa, 0xd449, 0xb0ab, 0xd44a,
    -    0xb0ac, 0xb0ad, 0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2,
    -    0xb6c0, 0xb6c1, 0xb6c2, 0xdcb0, 0xe0ef, 0xb9a9, 0xb9aa, 0xb9ab,
    -    0xbbf3, 0xbbf4, 0xbea6, 0xc073, 0xc074, 0xefb6, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3000 .. 0x30ff */
    -    0xa140, 0xa142, 0xa143, 0xa1b2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa171, 0xa172, 0xa16d, 0xa16e, 0xa175, 0xa176, 0xa179, 0xa17a,
    -    0xa169, 0xa16a, 0xa245, 0x003f, 0xa165, 0xa166, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa1a9, 0xa1aa, 0x002c,
    -    0x003f, 0xa2c3, 0xa2c4, 0xa2c5, 0xa2c6, 0xa2c7, 0xa2c8, 0xa2c9,
    -    0xa2ca, 0xa2cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa245, 0x003f,
    -    0xa2cc, 0xa2cd, 0xa2ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3100 .. 0x31ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa374, 0xa375, 0xa376,
    -    0xa377, 0xa378, 0xa379, 0xa37a, 0xa37b, 0xa37c, 0xa37d, 0xa37e,
    -    0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7, 0xa3a8,
    -    0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af, 0xa3b0,
    -    0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8,
    -    0xa3b9, 0xa3ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa440, 0xa447, 0xa454, 0xa57c, 0xa457, 0xa4a4,
    -    0xa455, 0xa5d2, 0xa441, 0xa4fe, 0xa442, 0xa4d1, 0xa661, 0xa448,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3200 .. 0x32ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa440, 0xa447, 0xa454, 0xa57c, 0xa4ad, 0xa4bb, 0xa443, 0xa44b,
    -    0xa445, 0xa2cc, 0xa4eb, 0xa4f5, 0xa4f4, 0xa4ec, 0xaaf7, 0xa467,
    -    0xa4e9, 0xaee8, 0xa6b3, 0xaac0, 0xa657, 0xaf53, 0xb05d, 0xafac,
    -    0x003f, 0xafb5, 0xa86b, 0xa46b, 0xbe41, 0xc075, 0xa64c, 0xaa60,
    -    0xb6b5, 0xa5f0, 0x003f, 0xa1c0, 0xa457, 0xa4a4, 0xa455, 0xa5aa,
    -    0xa56b, 0x003f, 0xa976, 0x003f, 0xbaca, 0xa5f8, 0xb8ea, 0xa8f3,
    -    0xa95d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x3300 .. 0x33ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa255, 0xa256,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa250, 0xa251, 0xa252, 0x003f,
    -    0x003f, 0xa254, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa257, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa253, 0x003f,
    -    0x003f, 0xa1eb, 0xa1ea, 0x003f, 0x003f, 0xa24f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x4e00 .. 0x4eff */
    -    0xa440, 0xa442, 0x003f, 0xa443, 0x003f, 0x003f, 0x003f, 0xc945,
    -    0xa456, 0xa454, 0xa457, 0xa455, 0xc946, 0xa4a3, 0xc94f, 0xc94d,
    -    0xa4a2, 0xa4a1, 0x003f, 0x003f, 0xa542, 0xa541, 0xa540, 0x003f,
    -    0xa543, 0xa4fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xa5e0, 0xa5e1,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8c3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa458, 0x003f, 0xa4a4, 0xc950, 0x003f,
    -    0xa4a5, 0xc963, 0xa6ea, 0xcbb1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa459, 0xa4a6, 0x003f, 0xa544, 0xc964, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc940, 0xa444, 0x003f, 0xa45b, 0x003f, 0xc947,
    -    0xa45c, 0x003f, 0x003f, 0xa4a7, 0x003f, 0xa545, 0xa547, 0xa546,
    -    0x003f, 0x003f, 0xa5e2, 0xa5e3, 0x003f, 0x003f, 0xa8c4, 0x003f,
    -    0xadbc, 0xa441, 0x003f, 0x003f, 0xc941, 0xa445, 0xa45e, 0xa45d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa5e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa8c5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0ae, 0xd44b,
    -    0x003f, 0x003f, 0xb6c3, 0xdcb1, 0xdcb2, 0x003f, 0xa446, 0x003f,
    -    0xa4a9, 0x003f, 0x003f, 0xa8c6, 0xa447, 0xc948, 0xa45f, 0x003f,
    -    0x003f, 0xa4aa, 0xa4ac, 0xc951, 0xa4ad, 0xa4ab, 0x003f, 0x003f,
    -    0x003f, 0xa5e5, 0x003f, 0xa8c7, 0x003f, 0x003f, 0xa8c8, 0xab45,
    -    0x003f, 0xa460, 0xa4ae, 0x003f, 0xa5e6, 0xa5e8, 0xa5e7, 0x003f,
    -    0xa6eb, 0x003f, 0x003f, 0xa8c9, 0xa8ca, 0xab46, 0xab47, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xadbd, 0x003f, 0x003f, 0xdcb3, 0x003f,
    -    0x003f, 0xf6d6, 0xa448, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa4b0, 0xa4af, 0xc952, 0xa4b1, 0xa4b7, 0x003f, 0xa4b2, 0xa4b3,
    -    0xc954, 0xc953, 0xa4b5, 0xa4b6, 0x003f, 0xa4b4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa54a, 0xa54b, 0xa54c, 0xa54d,
    -    0xa549, 0xa550, 0xc96a, 0x003f, 0xc966, 0xc969, 0xa551, 0xa561,
    -    0x003f, 0xc968, 0x003f, 0xa54e, 0xa54f, 0xa548, 0x003f, 0x003f,
    -    0xc965, 0xc967, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa5f5, 0xc9b0, 0xa5f2, 0xa5f6, 0xc9ba, 0xc9ae, 0xa5f3, 0xc9b2,
    -    0x003f, 0x003f, 0x003f, 0xa5f4, 0x003f, 0xa5f7, 0x003f, 0xa5e9,
    -    /* 0x4f00 .. 0x4fff */
    -    0xc9b1, 0xa5f8, 0xc9b5, 0x003f, 0xc9b9, 0xc9b6, 0x003f, 0x003f,
    -    0xc9b3, 0xa5ea, 0xa5ec, 0xa5f9, 0x003f, 0xa5ee, 0xc9ab, 0xa5f1,
    -    0xa5ef, 0xa5f0, 0xc9bb, 0xc9b8, 0xc9af, 0xa5ed, 0x003f, 0x003f,
    -    0xc9ac, 0xa5eb, 0x003f, 0x003f, 0x003f, 0xc9b4, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc9b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc9ad, 0xca66, 0x003f, 0xa742,
    -    0xa6f4, 0x003f, 0x003f, 0xca67, 0xa6f1, 0x003f, 0xa744, 0x003f,
    -    0xa6f9, 0x003f, 0xa6f8, 0xca5b, 0xa6fc, 0xa6f7, 0xca60, 0xca68,
    -    0x003f, 0xca64, 0x003f, 0xa6fa, 0x003f, 0x003f, 0xa6fd, 0xa6ee,
    -    0xa747, 0xca5d, 0x003f, 0x003f, 0xcbbd, 0xa6ec, 0xa743, 0xa6ed,
    -    0xa6f5, 0xa6f6, 0xca62, 0xca5e, 0xa6fb, 0xa6f3, 0xca5a, 0xa6ef,
    -    0xca65, 0xa745, 0xa748, 0xa6f2, 0xa740, 0xa746, 0xa6f0, 0xca63,
    -    0xa741, 0xca69, 0xca5c, 0xa6fe, 0xca5f, 0x003f, 0x003f, 0xca61,
    -    0x003f, 0xa8d8, 0xcbbf, 0xcbcb, 0xa8d0, 0x003f, 0xcbcc, 0xa8cb,
    -    0xa8d5, 0x003f, 0x003f, 0xa8ce, 0xcbb9, 0xa8d6, 0xcbb8, 0xcbbc,
    -    0xcbc3, 0xcbc1, 0xa8de, 0xa8d9, 0xcbb3, 0xcbb5, 0xa8db, 0xa8cf,
    -    0xcbb6, 0xcbc2, 0xcbc9, 0xa8d4, 0xcbbb, 0xcbb4, 0xa8d3, 0xcbb7,
    -    0xa8d7, 0xcbba, 0x003f, 0xa8d2, 0x003f, 0xa8cd, 0x003f, 0xa8dc,
    -    0xcbc4, 0xa8dd, 0xcbc8, 0x003f, 0xcbc6, 0xcbca, 0xa8da, 0xcbbe,
    -    0xcbb2, 0x003f, 0xcbc0, 0xa8d1, 0xcbc5, 0xa8cc, 0xcbc7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xab56, 0xab4a,
    -    0x003f, 0x003f, 0xcde0, 0xcde8, 0x003f, 0xab49, 0xab51, 0xab5d,
    -    0x003f, 0xcdee, 0xcdec, 0xcde7, 0x003f, 0x003f, 0x003f, 0xab4b,
    -    0xcded, 0xcde3, 0xab59, 0xab50, 0xab58, 0xcdde, 0x003f, 0xcdea,
    -    0x003f, 0xcde1, 0xab54, 0xcde2, 0x003f, 0xcddd, 0xab5b, 0xab4e,
    -    0xab57, 0xab4d, 0x003f, 0xcddf, 0xcde4, 0x003f, 0xcdeb, 0xab55,
    -    0xab52, 0xcde6, 0xab5a, 0xcde9, 0xcde5, 0xab4f, 0xab5c, 0xab53,
    -    0xab4c, 0xab48, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcdef, 0x003f, 0xadd7, 0xadc1,
    -    0x003f, 0xadd1, 0x003f, 0xadd6, 0xd0d0, 0xd0cf, 0xd0d4, 0xd0d5,
    -    0xadc4, 0x003f, 0xadcd, 0x003f, 0x003f, 0x003f, 0xadda, 0x003f,
    -    /* 0x5000 .. 0x50ff */
    -    0xadce, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c9, 0xadc7, 0xd0ca,
    -    0x003f, 0xaddc, 0x003f, 0xadd3, 0xadbe, 0xadbf, 0xd0dd, 0xb0bf,
    -    0x003f, 0xadcc, 0xadcb, 0xd0cb, 0xadcf, 0xd45b, 0xadc6, 0xd0d6,
    -    0xadd5, 0xadd4, 0xadca, 0xd0ce, 0xd0d7, 0x003f, 0xd0c8, 0xadc9,
    -    0xd0d8, 0xadd2, 0xd0cc, 0xadc0, 0x003f, 0xadc3, 0xadc2, 0xd0d9,
    -    0xadd0, 0xadc5, 0xadd9, 0xaddb, 0xd0d3, 0xadd8, 0x003f, 0xd0db,
    -    0xd0cd, 0xd0dc, 0x003f, 0xd0d1, 0x003f, 0xd0da, 0x003f, 0xd0d2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xadc8, 0x003f, 0x003f, 0x003f,
    -    0xd463, 0xd457, 0x003f, 0xb0b3, 0x003f, 0xd45c, 0xd462, 0xb0b2,
    -    0xd455, 0xb0b6, 0xd459, 0xd452, 0xb0b4, 0xd456, 0xb0b9, 0xb0be,
    -    0x003f, 0xd467, 0x003f, 0xd451, 0x003f, 0xb0ba, 0x003f, 0xd466,
    -    0x003f, 0x003f, 0xb0b5, 0xd458, 0xb0b1, 0xd453, 0xd44f, 0xd45d,
    -    0xd450, 0xd44e, 0xd45a, 0xd460, 0xd461, 0xb0b7, 0x003f, 0x003f,
    -    0xd85b, 0xd45e, 0xd44d, 0xd45f, 0x003f, 0xb0c1, 0xd464, 0xb0c0,
    -    0xd44c, 0x003f, 0xd454, 0xd465, 0xb0bc, 0xb0bb, 0xb0b8, 0xb0bd,
    -    0x003f, 0x003f, 0xb0af, 0x003f, 0x003f, 0xb0b0, 0x003f, 0x003f,
    -    0xb3c8, 0x003f, 0xd85e, 0xd857, 0x003f, 0xb3c5, 0x003f, 0xd85f,
    -    0x003f, 0x003f, 0x003f, 0xd855, 0xd858, 0xb3c4, 0xd859, 0x003f,
    -    0x003f, 0xb3c7, 0xd85d, 0x003f, 0xd853, 0xd852, 0xb3c9, 0x003f,
    -    0xb3ca, 0xb3c6, 0xb3cb, 0xd851, 0xd85c, 0xd85a, 0xd854, 0x003f,
    -    0x003f, 0x003f, 0xb3c3, 0xd856, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb6ca, 0xb6c4, 0xdcb7, 0xb6cd,
    -    0xdcbd, 0xdcc0, 0xb6c6, 0xb6c7, 0xdcba, 0xb6c5, 0xdcc3, 0xb6cb,
    -    0xdcc4, 0x003f, 0xdcbf, 0xb6cc, 0x003f, 0xdcb4, 0xb6c9, 0xdcb5,
    -    0x003f, 0xdcbe, 0xdcbc, 0x003f, 0xdcb8, 0xb6c8, 0xdcb6, 0xb6ce,
    -    0xdcbb, 0xdcc2, 0xdcb9, 0xdcc1, 0x003f, 0x003f, 0xb9b6, 0xb9b3,
    -    0x003f, 0xb9b4, 0x003f, 0xe0f9, 0xe0f1, 0xb9b2, 0xb9af, 0xe0f2,
    -    0x003f, 0x003f, 0xb9b1, 0xe0f5, 0x003f, 0xe0f7, 0x003f, 0x003f,
    -    0xe0fe, 0x003f, 0x003f, 0xe0fd, 0xe0f8, 0xb9ae, 0xe0f0, 0xb9ac,
    -    0xe0f3, 0xb9b7, 0xe0f6, 0x003f, 0xe0fa, 0xb9b0, 0xb9ad, 0xe0fc,
    -    0xe0fb, 0xb9b5, 0x003f, 0xe0f4, 0x003f, 0xbbf8, 0xe4ec, 0x003f,
    -    0xe4e9, 0xbbf9, 0x003f, 0xbbf7, 0x003f, 0xe4f0, 0xe4ed, 0xe4e6,
    -    /* 0x5100 .. 0x51ff */
    -    0xbbf6, 0x003f, 0xbbfa, 0xe4e7, 0xbbf5, 0xbbfd, 0xe4ea, 0xe4eb,
    -    0xbbfb, 0xbbfc, 0xe4f1, 0xe4ee, 0xe4ef, 0x003f, 0x003f, 0x003f,
    -    0xbeaa, 0xe8f8, 0xbea7, 0xe8f5, 0xbea9, 0xbeab, 0x003f, 0xe8f6,
    -    0xbea8, 0x003f, 0xe8f7, 0x003f, 0xe8f4, 0x003f, 0x003f, 0xc076,
    -    0xecbd, 0xc077, 0xecbb, 0x003f, 0xecbc, 0xecba, 0xecb9, 0x003f,
    -    0x003f, 0xecbe, 0xc075, 0x003f, 0x003f, 0xefb8, 0xefb9, 0x003f,
    -    0xe4e8, 0xefb7, 0xc078, 0xc35f, 0xf1eb, 0xf1ec, 0x003f, 0xc4d7,
    -    0xc4d8, 0xf5c1, 0xf5c0, 0xc56c, 0xc56b, 0xf7d0, 0x003f, 0xa449,
    -    0xa461, 0xa4b9, 0x003f, 0xa4b8, 0xa553, 0xa552, 0xa5fc, 0xa5fb,
    -    0xa5fd, 0xa5fa, 0x003f, 0xa74a, 0xa749, 0xa74b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa8e0, 0x003f, 0xa8df, 0xa8e1, 0x003f, 0xab5e,
    -    0x003f, 0xa259, 0xd0de, 0xa25a, 0xb0c2, 0xa25c, 0xa25b, 0xd860,
    -    0x003f, 0xa25d, 0xb9b8, 0xa25e, 0x003f, 0xa44a, 0x003f, 0xa4ba,
    -    0xa5fe, 0xa8e2, 0x003f, 0xa44b, 0xa4bd, 0xa4bb, 0xa4bc, 0x003f,
    -    0x003f, 0xa640, 0x003f, 0x003f, 0x003f, 0xa74c, 0xa8e4, 0xa8e3,
    -    0xa8e5, 0x003f, 0x003f, 0x003f, 0xaddd, 0x003f, 0x003f, 0x003f,
    -    0xbeac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc94e,
    -    0x003f, 0xa554, 0xa555, 0x003f, 0x003f, 0xa641, 0x003f, 0xca6a,
    -    0x003f, 0xab60, 0xab5f, 0xd0e0, 0xd0df, 0xb0c3, 0x003f, 0xa4be,
    -    0xc955, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbcd, 0x003f,
    -    0xab61, 0x003f, 0xade0, 0x003f, 0xadde, 0xaddf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbead, 0x003f, 0xa556, 0x003f, 0x003f, 0x003f,
    -    0xa642, 0xc9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0xa74d, 0xa74e,
    -    0x003f, 0xca6b, 0x003f, 0x003f, 0xcbce, 0xa8e6, 0xcbcf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd0e2, 0xd0e3, 0xade3, 0x003f,
    -    0xd0e4, 0x003f, 0xd0e1, 0xade4, 0xade2, 0xade1, 0xd0e5, 0x003f,
    -    0xd468, 0x003f, 0x003f, 0x003f, 0xd861, 0x003f, 0x003f, 0xdcc5,
    -    0xe140, 0x003f, 0x003f, 0x003f, 0xbbfe, 0xbeae, 0xe8f9, 0x003f,
    -    0xa44c, 0xa45a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb0c4, 0xb3cd, 0x003f, 0xb9b9, 0x003f, 0xc942, 0xa4bf, 0x003f,
    -    0xa559, 0xa557, 0xa558, 0x003f, 0x003f, 0xa8e7, 0x003f, 0x003f,
    -    /* 0x5200 .. 0x52ff */
    -    0xa44d, 0xa44e, 0x003f, 0xa462, 0x003f, 0x003f, 0xa4c0, 0xa4c1,
    -    0xa4c2, 0xc9be, 0xa55a, 0x003f, 0xc96b, 0x003f, 0xa646, 0x003f,
    -    0xc9bf, 0xa644, 0xa645, 0xc9bd, 0x003f, 0x003f, 0xa647, 0xa643,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xca6c, 0xaaec, 0xca6d, 0x003f,
    -    0x003f, 0xca6e, 0x003f, 0x003f, 0xa750, 0xa74f, 0x003f, 0x003f,
    -    0xa753, 0xa751, 0xa752, 0x003f, 0x003f, 0x003f, 0xa8ed, 0x003f,
    -    0xa8ec, 0xcbd4, 0xcbd1, 0xcbd2, 0x003f, 0xcbd0, 0xa8ee, 0xa8ea,
    -    0xa8e9, 0x003f, 0xa8eb, 0xa8e8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa8ef, 0x003f, 0xab63, 0xcdf0, 0x003f, 0xcbd3, 0xab68,
    -    0x003f, 0xcdf1, 0xab64, 0xab67, 0xab66, 0xab65, 0xab62, 0x003f,
    -    0x003f, 0x003f, 0xd0e8, 0x003f, 0xade7, 0xd0eb, 0xade5, 0x003f,
    -    0x003f, 0x003f, 0xd0e7, 0xade8, 0xade6, 0xade9, 0xd0e9, 0xd0ea,
    -    0x003f, 0xd0e6, 0xd0ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3d1, 0xb0c5, 0xd469, 0xd46b, 0xd46a, 0xd46c, 0xb0c6,
    -    0x003f, 0x003f, 0xb3ce, 0x003f, 0xb3cf, 0xb3d0, 0x003f, 0xb6d0,
    -    0xdcc7, 0x003f, 0xdcc6, 0xdcc8, 0xdcc9, 0xb6d1, 0x003f, 0xb6cf,
    -    0xe141, 0xe142, 0xb9bb, 0xb9ba, 0xe35a, 0x003f, 0x003f, 0xbc40,
    -    0xbc41, 0xbc42, 0xbc44, 0xe4f2, 0xe4f3, 0xbc43, 0x003f, 0x003f,
    -    0x003f, 0xbeaf, 0x003f, 0xbeb0, 0x003f, 0x003f, 0xf1ed, 0xf5c3,
    -    0xf5c2, 0xf7d1, 0x003f, 0xa44f, 0x003f, 0x003f, 0x003f, 0xa55c,
    -    0xa55b, 0x003f, 0x003f, 0xa648, 0x003f, 0x003f, 0xc9c0, 0x003f,
    -    0x003f, 0xa755, 0xa756, 0xa754, 0xa757, 0xca6f, 0xca70, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa8f1, 0xcbd5, 0x003f, 0xa8f0, 0x003f,
    -    0xcdf2, 0xab6c, 0xcdf3, 0xab6b, 0x003f, 0x003f, 0x003f, 0xab69,
    -    0x003f, 0xab6a, 0x003f, 0x003f, 0x003f, 0xd0ed, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb0c7, 0xd46e, 0x003f, 0xb0ca, 0xd46d, 0xb1e5,
    -    0xb0c9, 0xb0c8, 0x003f, 0xb3d4, 0x003f, 0xb3d3, 0xb3d2, 0xb6d2,
    -    0x003f, 0x003f, 0xb6d5, 0xb6d6, 0xb6d4, 0x003f, 0xb6d3, 0x003f,
    -    0x003f, 0xe143, 0x003f, 0xe144, 0x003f, 0x003f, 0x003f, 0xe4f5,
    -    0xbc45, 0xe4f4, 0x003f, 0xbeb1, 0xecbf, 0xc079, 0x003f, 0xf1ee,
    -    0xc455, 0x003f, 0xa463, 0xa4c3, 0xc956, 0x003f, 0xa4c4, 0xa4c5,
    -    /* 0x5300 .. 0x53ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa55d, 0xa55e, 0x003f,
    -    0xa649, 0xca71, 0xcbd6, 0xcbd7, 0x003f, 0xab6d, 0xd0ee, 0xb0cc,
    -    0xb0cb, 0xd863, 0xd862, 0x003f, 0x003f, 0xa450, 0xa4c6, 0xa55f,
    -    0x003f, 0xb0cd, 0xc943, 0x003f, 0xc96c, 0xa560, 0x003f, 0xc9c2,
    -    0xa64b, 0xa64a, 0xc9c1, 0xa758, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xadea, 0x003f, 0x003f, 0xd46f, 0x003f, 0xb6d7,
    -    0xe145, 0xb9bc, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0xf3fd,
    -    0x003f, 0xa4c7, 0x003f, 0x003f, 0xcbd8, 0xcdf4, 0xb0d0, 0xb0ce,
    -    0xb0cf, 0xa2cc, 0x003f, 0xa464, 0xa2cd, 0xa2ce, 0x003f, 0xa4c9,
    -    0xa4c8, 0xa563, 0xa562, 0x003f, 0xc96d, 0xc9c3, 0x003f, 0x003f,
    -    0x003f, 0xa8f5, 0xa8f2, 0xa8f4, 0xa8f3, 0x003f, 0x003f, 0xab6e,
    -    0x003f, 0x003f, 0xb3d5, 0x003f, 0xa452, 0x003f, 0xa4cb, 0x003f,
    -    0xa565, 0xa564, 0x003f, 0xca72, 0x003f, 0x003f, 0xa8f6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc957, 0x003f, 0xa567, 0xa566,
    -    0xa64c, 0xa64d, 0xca73, 0xa759, 0x003f, 0xa75a, 0x003f, 0xa8f7,
    -    0xa8f8, 0xa8f9, 0x003f, 0xab6f, 0xcdf5, 0x003f, 0x003f, 0xadeb,
    -    0x003f, 0x003f, 0xc944, 0x003f, 0xa4cc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc9c4, 0x003f, 0x003f, 0x003f, 0xca74, 0xca75,
    -    0x003f, 0x003f, 0xcbd9, 0x003f, 0xcbda, 0x003f, 0xcdf7, 0xcdf6,
    -    0xcdf9, 0xcdf8, 0xab70, 0x003f, 0xd470, 0xaded, 0xd0ef, 0xadec,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd864, 0xb3d6, 0x003f, 0xd865,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe146, 0xb9bd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbc46, 0x003f, 0xf1ef, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc958, 0x003f, 0xa568, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb0d1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa453, 0xa465, 0xa4ce, 0xa4cd, 0x003f, 0xa4cf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa8fb, 0x003f, 0xa8fa, 0xa8fc,
    -    0x003f, 0x003f, 0x003f, 0xab71, 0x003f, 0x003f, 0x003f, 0xadee,
    -    0x003f, 0xe8fb, 0xc24f, 0xa466, 0xa56a, 0xa579, 0xa574, 0x003f,
    -    0xa56f, 0xa56e, 0xa575, 0xa573, 0xa56c, 0xa57a, 0xa56d, 0xa569,
    -    0xa578, 0xa577, 0xa576, 0xa56b, 0x003f, 0xa572, 0x003f, 0x003f,
    -    0xa571, 0x003f, 0x003f, 0xa57b, 0xa570, 0x003f, 0x003f, 0x003f,
    -    /* 0x5400 .. 0x54ff */
    -    0x003f, 0xa653, 0x003f, 0xa659, 0xa655, 0x003f, 0xa65b, 0xc9c5,
    -    0xa658, 0xa64e, 0xa651, 0xa654, 0xa650, 0xa657, 0xa65a, 0xa64f,
    -    0xa652, 0xa656, 0xa65c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xca7e, 0xca7b, 0x003f, 0xa767, 0xca7c, 0xa75b, 0xa75d, 0xa775,
    -    0xa770, 0x003f, 0x003f, 0x003f, 0xcaa5, 0xca7d, 0xa75f, 0xa761,
    -    0xcaa4, 0xa768, 0xca78, 0xa774, 0xa776, 0xa75c, 0xa76d, 0x003f,
    -    0xca76, 0xa773, 0x003f, 0xa764, 0x003f, 0xa76e, 0xa76f, 0xca77,
    -    0xa76c, 0xa76a, 0x003f, 0xa76b, 0xa771, 0xcaa1, 0xa75e, 0x003f,
    -    0xa772, 0xcaa3, 0xa766, 0xa763, 0x003f, 0xca7a, 0xa762, 0xcaa6,
    -    0xa765, 0x003f, 0xa769, 0x003f, 0x003f, 0x003f, 0xa760, 0xcaa2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xca79, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcbeb, 0xcbea, 0xa94f, 0xcbed, 0xcbef, 0xcbe4, 0xcbe7, 0xcbee,
    -    0xa950, 0x003f, 0x003f, 0xcbe1, 0xcbe5, 0x003f, 0x003f, 0xcbe9,
    -    0xce49, 0xa94b, 0xce4d, 0xa8fd, 0xcbe6, 0xa8fe, 0xa94c, 0xa945,
    -    0xa941, 0x003f, 0xcbe2, 0xa944, 0xa949, 0xa952, 0xcbe3, 0xcbdc,
    -    0xa943, 0xcbdd, 0xcbdf, 0x003f, 0xa946, 0x003f, 0xa948, 0xcbdb,
    -    0xcbe0, 0x003f, 0x003f, 0xa951, 0xa94d, 0xcbe8, 0xa953, 0x003f,
    -    0xa94a, 0xcbde, 0xa947, 0x003f, 0x003f, 0xa942, 0xa940, 0x003f,
    -    0xcbec, 0x003f, 0xa94e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xce48, 0xcdfb, 0xce4b, 0x003f, 0x003f, 0xcdfd, 0xab78, 0xaba8,
    -    0xab74, 0xaba7, 0xab7d, 0xaba4, 0xab72, 0xcdfc, 0xce43, 0xaba3,
    -    0xce4f, 0xaba5, 0x003f, 0xab79, 0x003f, 0x003f, 0xce45, 0xce42,
    -    0xab77, 0x003f, 0xcdfa, 0xaba6, 0xce4a, 0xab7c, 0xce4c, 0xaba9,
    -    0xab73, 0xab7e, 0xab7b, 0xce40, 0xaba1, 0xce46, 0xce47, 0xab7a,
    -    0xaba2, 0xab76, 0x003f, 0x003f, 0x003f, 0x003f, 0xab75, 0xcdfe,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce44, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce4e, 0x003f,
    -    0xd144, 0xadfb, 0xd0f1, 0x003f, 0xd0f6, 0xadf4, 0xae40, 0xd0f4,
    -    0xadef, 0xadf9, 0xadfe, 0xd0fb, 0x003f, 0xadfa, 0xadfd, 0x003f,
    -    0x003f, 0xd0fe, 0xadf5, 0xd0f5, 0x003f, 0x003f, 0x003f, 0xd142,
    -    0xd143, 0x003f, 0xadf7, 0xd141, 0xadf3, 0xae43, 0x003f, 0xd0f8,
    -    /* 0x5500 .. 0x55ff */
    -    0x003f, 0xadf1, 0x003f, 0xd146, 0xd0f9, 0xd0fd, 0xadf6, 0xae42,
    -    0xd0fa, 0xadfc, 0xd140, 0xd147, 0xd4a1, 0x003f, 0xd145, 0xae44,
    -    0xadf0, 0xd0fc, 0xd0f3, 0x003f, 0xadf8, 0x003f, 0x003f, 0xd0f2,
    -    0x003f, 0x003f, 0xd0f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0f0, 0xae41,
    -    0x003f, 0x003f, 0xd477, 0x003f, 0xb0e4, 0xd4a7, 0xb0e2, 0xb0df,
    -    0xd47c, 0xb0db, 0xd4a2, 0xb0e6, 0xd476, 0xd47b, 0xd47a, 0xadf2,
    -    0xb0e1, 0xd4a5, 0x003f, 0xd4a8, 0xd473, 0x003f, 0xb3e8, 0x003f,
    -    0xd4a9, 0xb0e7, 0x003f, 0xb0d9, 0xb0d6, 0xd47e, 0xb0d3, 0x003f,
    -    0xd4a6, 0x003f, 0xb0da, 0xd4aa, 0x003f, 0xd474, 0xd4a4, 0xb0dd,
    -    0xd475, 0xd478, 0xd47d, 0x003f, 0x003f, 0xb0de, 0xb0dc, 0xb0e8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb0e3, 0x003f, 0xb0d7, 0xb1d2,
    -    0x003f, 0xb0d8, 0xd479, 0xb0e5, 0xb0e0, 0xd4a3, 0xb0d5, 0x003f,
    -    0x003f, 0x003f, 0xb0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd471, 0xd472, 0xd86a,
    -    0x003f, 0x003f, 0x003f, 0xb3d7, 0xb3da, 0xd875, 0xb3ee, 0xd878,
    -    0xb3d8, 0xd871, 0xb3de, 0xb3e4, 0xb5bd, 0x003f, 0x003f, 0xb3e2,
    -    0xd86e, 0xb3ef, 0xb3db, 0xb3e3, 0xd876, 0xdcd7, 0xd87b, 0xd86f,
    -    0x003f, 0xd866, 0xd873, 0xd86d, 0xb3e1, 0xd879, 0x003f, 0x003f,
    -    0xb3dd, 0xb3f1, 0xb3ea, 0x003f, 0xb3df, 0xb3dc, 0x003f, 0xb3e7,
    -    0x003f, 0xd87a, 0xd86c, 0xd872, 0xd874, 0xd868, 0xd877, 0xb3d9,
    -    0xd867, 0x003f, 0xb3e0, 0xb3f0, 0xb3ec, 0xd869, 0xb3e6, 0x003f,
    -    0x003f, 0xb3ed, 0xb3e9, 0xb3e5, 0x003f, 0xd870, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb3eb, 0x003f, 0x003f, 0x003f, 0xdcd5,
    -    0xdcd1, 0x003f, 0xdce0, 0xdcca, 0xdcd3, 0xb6e5, 0xb6e6, 0xb6de,
    -    0xdcdc, 0xb6e8, 0xdccf, 0xdcce, 0xdccc, 0xdcde, 0xb6dc, 0xdcd8,
    -    0xdccd, 0xb6df, 0xdcd6, 0xb6da, 0xdcd2, 0xdcd9, 0xdcdb, 0x003f,
    -    0x003f, 0xdcdf, 0xb6e3, 0xdccb, 0xb6dd, 0xdcd0, 0x003f, 0xb6d8,
    -    0x003f, 0xb6e4, 0xdcda, 0xb6e0, 0xb6e1, 0xb6e7, 0xb6db, 0xa25f,
    -    0xb6d9, 0xdcd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e2,
    -    0x003f, 0x003f, 0xdcdd, 0x003f, 0x003f, 0x003f, 0xb9cd, 0xb9c8,
    -    0x003f, 0xe155, 0xe151, 0x003f, 0xe14b, 0xb9c2, 0xb9be, 0xe154,
    -    /* 0x5600 .. 0x56ff */
    -    0xb9bf, 0xe14e, 0xe150, 0x003f, 0xe153, 0x003f, 0xb9c4, 0x003f,
    -    0xb9cb, 0xb9c5, 0x003f, 0x003f, 0xe149, 0xb9c6, 0xb9c7, 0xe14c,
    -    0xb9cc, 0x003f, 0xe14a, 0xe14f, 0xb9c3, 0xe148, 0xb9c9, 0xb9c1,
    -    0x003f, 0x003f, 0x003f, 0xb9c0, 0xe14d, 0xe152, 0x003f, 0xb9ca,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe147,
    -    0x003f, 0xbc4d, 0xe547, 0x003f, 0xe544, 0x003f, 0xbc47, 0xbc53,
    -    0xbc54, 0x003f, 0xbc4a, 0xe542, 0xbc4c, 0xe4f9, 0xbc52, 0x003f,
    -    0xe546, 0xbc49, 0xe548, 0xbc48, 0x003f, 0xe543, 0xe545, 0xbc4b,
    -    0xe541, 0xe4fa, 0xe4f7, 0x003f, 0x003f, 0xd86b, 0xe4fd, 0x003f,
    -    0xe4f6, 0xe4fc, 0xe4fb, 0x003f, 0xe4f8, 0x003f, 0xbc4f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbc4e, 0x003f, 0x003f, 0x003f, 0xbc50,
    -    0xe4fe, 0xbeb2, 0xe540, 0x003f, 0x003f, 0x003f, 0xe945, 0x003f,
    -    0xe8fd, 0x003f, 0xbebe, 0xe942, 0xbeb6, 0xbeba, 0xe941, 0x003f,
    -    0xbeb9, 0xbeb5, 0xbeb8, 0xbeb3, 0xbebd, 0xe943, 0xe8fe, 0xbebc,
    -    0xe8fc, 0xbebb, 0xe944, 0xe940, 0xbc51, 0x003f, 0xbebf, 0xe946,
    -    0xbeb7, 0xbeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xecc6, 0xecc8,
    -    0xc07b, 0xecc9, 0xecc7, 0xecc5, 0xecc4, 0xc07d, 0xecc3, 0xc07e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xecc1, 0xecc2, 0xc07a, 0xc0a1,
    -    0xc07c, 0x003f, 0x003f, 0xecc0, 0x003f, 0xc250, 0x003f, 0xefbc,
    -    0xefba, 0xefbf, 0xefbd, 0x003f, 0xefbb, 0xefbe, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc360, 0xf1f2, 0xf1f3,
    -    0xc456, 0x003f, 0xf1f4, 0xf1f0, 0xf1f5, 0xf1f1, 0xc251, 0x003f,
    -    0x003f, 0x003f, 0xf3fe, 0xf441, 0xc459, 0xf440, 0xc458, 0xc457,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc45a, 0xf5c5, 0xf5c6, 0x003f,
    -    0xc4da, 0xc4d9, 0xc4db, 0xf5c4, 0x003f, 0xf6d8, 0xf6d7, 0x003f,
    -    0xc56d, 0xc56f, 0xc56e, 0xf6d9, 0xc5c8, 0xf8a6, 0x003f, 0x003f,
    -    0x003f, 0xc5f1, 0x003f, 0xf8a5, 0xf8ee, 0x003f, 0x003f, 0xc949,
    -    0x003f, 0x003f, 0xa57d, 0xa57c, 0x003f, 0xa65f, 0xa65e, 0xc9c7,
    -    0xa65d, 0xc9c6, 0x003f, 0x003f, 0xa779, 0xcaa9, 0x003f, 0xcaa8,
    -    0x003f, 0x003f, 0xa777, 0xa77a, 0x003f, 0x003f, 0xcaa7, 0x003f,
    -    0xa778, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf0,
    -    0x003f, 0xcbf1, 0xa954, 0x003f, 0x003f, 0x003f, 0x003f, 0xabaa,
    -    /* 0x5700 .. 0x57ff */
    -    0x003f, 0xd148, 0xd149, 0xae45, 0xae46, 0x003f, 0x003f, 0xd4ac,
    -    0xb0e9, 0xb0eb, 0xd4ab, 0xb0ea, 0xd87c, 0xb3f2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb6e9, 0xb6ea, 0xdce1, 0x003f, 0xb9cf, 0x003f,
    -    0xb9ce, 0x003f, 0xe549, 0xe948, 0xe947, 0x003f, 0xf96b, 0xa467,
    -    0xc959, 0x003f, 0xc96e, 0xc96f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa662, 0xa666, 0xc9c9, 0x003f, 0xa664, 0xa663, 0xc9c8, 0xa665,
    -    0xa661, 0x003f, 0x003f, 0xa660, 0xc9ca, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa7a6, 0x003f, 0x003f, 0xa7a3, 0x003f,
    -    0xa77d, 0xcaaa, 0x003f, 0x003f, 0x003f, 0xcaab, 0x003f, 0xa7a1,
    -    0x003f, 0xcaad, 0xa77b, 0xcaae, 0xcaac, 0xa77e, 0xa7a2, 0xa7a5,
    -    0xa7a4, 0xa77c, 0xcaaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa959, 0xcbfe, 0x003f, 0xa95b, 0x003f, 0xa95a, 0x003f,
    -    0xcc40, 0xa958, 0xa957, 0xcbf5, 0x003f, 0xcbf4, 0x003f, 0xcbf2,
    -    0xcbf7, 0xcbf6, 0xcbf3, 0xcbfc, 0xcbfd, 0xcbfa, 0xcbf8, 0xa956,
    -    0x003f, 0x003f, 0x003f, 0xcbfb, 0xa95c, 0xcc41, 0x003f, 0x003f,
    -    0xcbf9, 0x003f, 0xabab, 0xa955, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xabac, 0xce54, 0x003f, 0x003f, 0xce5a,
    -    0x003f, 0x003f, 0x003f, 0xabb2, 0xce58, 0xce5e, 0x003f, 0xce55,
    -    0xce59, 0xce5b, 0xce5d, 0xce57, 0x003f, 0xce56, 0xce51, 0xce52,
    -    0xabad, 0x003f, 0xabaf, 0xabae, 0xce53, 0xce5c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xabb1, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce50, 0xd153, 0x003f,
    -    0xd152, 0xd157, 0xd14e, 0x003f, 0xd151, 0xd150, 0x003f, 0xd154,
    -    0x003f, 0xd158, 0xae47, 0xae4a, 0x003f, 0x003f, 0xd14f, 0xd155,
    -    0x003f, 0x003f, 0x003f, 0xae49, 0xd14a, 0x003f, 0xabb0, 0xd4ba,
    -    0xd156, 0x003f, 0xd14d, 0x003f, 0xae48, 0xd14c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd4b1, 0x003f, 0x003f, 0xb0ec,
    -    0xb0f0, 0xd4c1, 0xd4af, 0xd4bd, 0xb0f1, 0xd4bf, 0x003f, 0xd4c5,
    -    0x003f, 0xd4c9, 0x003f, 0x003f, 0xd4c0, 0xd4b4, 0xd4bc, 0x003f,
    -    0xd4ca, 0xd4c8, 0xd4be, 0xd4b9, 0xd4b2, 0xd8a6, 0xd4b0, 0xb0f5,
    -    0xd4b7, 0xb0f6, 0xb0f2, 0xd4ad, 0xd4c3, 0xd4b5, 0x003f, 0x003f,
    -    /* 0x5800 .. 0x58ff */
    -    0xd4b3, 0xd4c6, 0xb0f3, 0x003f, 0xd4cc, 0xb0ed, 0xb0ef, 0xd4bb,
    -    0xd4b6, 0xae4b, 0xb0ee, 0xd4b8, 0xd4c7, 0xd4cb, 0xd4c2, 0x003f,
    -    0xd4c4, 0x003f, 0x003f, 0x003f, 0xd4ae, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd8a1, 0x003f, 0xd8aa, 0xd8a9, 0xb3fa, 0xd8a2, 0x003f,
    -    0xb3fb, 0xb3f9, 0x003f, 0xd8a4, 0xb3f6, 0xd8a8, 0x003f, 0xd8a3,
    -    0xd8a5, 0xd87d, 0xb3f4, 0x003f, 0xd8b2, 0xd8b1, 0xd8ae, 0xb3f3,
    -    0xb3f7, 0xb3f8, 0xd14b, 0xd8ab, 0xb3f5, 0xb0f4, 0xd8ad, 0xd87e,
    -    0xd8b0, 0xd8af, 0x003f, 0xd8b3, 0x003f, 0xdcef, 0x003f, 0xd8ac,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd8a7, 0xdce7, 0xb6f4, 0xb6f7, 0xb6f2, 0xdce6, 0xdcea, 0xdce5,
    -    0x003f, 0xb6ec, 0xb6f6, 0xdce2, 0xb6f0, 0xdce9, 0x003f, 0xb6ee,
    -    0xb6ed, 0xdcec, 0xb6ef, 0xdcee, 0x003f, 0xdceb, 0xb6eb, 0x003f,
    -    0x003f, 0x003f, 0xb6f5, 0xdcf0, 0xdce4, 0xdced, 0x003f, 0x003f,
    -    0xdce3, 0x003f, 0x003f, 0xb6f1, 0x003f, 0xb6f3, 0x003f, 0xdce8,
    -    0x003f, 0xdcf1, 0x003f, 0x003f, 0xe15d, 0xb9d0, 0xe163, 0x003f,
    -    0x003f, 0xb9d5, 0xe15f, 0xe166, 0xe157, 0xb9d7, 0xb9d1, 0xe15c,
    -    0xbc55, 0xe15b, 0xe164, 0xb9d2, 0x003f, 0xb9d6, 0xe15a, 0xe160,
    -    0xe165, 0xe156, 0xb9d4, 0xe15e, 0x003f, 0x003f, 0xe162, 0xe168,
    -    0xe158, 0xe161, 0x003f, 0xb9d3, 0xe167, 0x003f, 0x003f, 0x003f,
    -    0xe159, 0x003f, 0x003f, 0x003f, 0xbc59, 0xe54b, 0xbc57, 0xbc56,
    -    0xe54d, 0xe552, 0x003f, 0xe54e, 0x003f, 0xe551, 0xbc5c, 0x003f,
    -    0xbea5, 0xbc5b, 0x003f, 0xe54a, 0xe550, 0x003f, 0xbc5a, 0xe54f,
    -    0x003f, 0xe54c, 0x003f, 0xbc58, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe94d, 0xf9d9, 0xe94f, 0xe94a, 0xbec1, 0xe94c,
    -    0x003f, 0xbec0, 0xe94e, 0x003f, 0x003f, 0xbec3, 0xe950, 0xbec2,
    -    0xe949, 0xe94b, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0a5, 0xeccc,
    -    0x003f, 0xc0a4, 0xeccd, 0xc0a3, 0xeccb, 0xc0a2, 0xecca, 0x003f,
    -    0xc253, 0xc252, 0xf1f6, 0xf1f8, 0x003f, 0xf1f7, 0xc361, 0xc362,
    -    0x003f, 0x003f, 0xc363, 0xf442, 0xc45b, 0x003f, 0x003f, 0xf7d3,
    -    0xf7d2, 0xc5f2, 0x003f, 0xa468, 0xa4d0, 0x003f, 0x003f, 0xa7a7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xce5f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb3fc, 0xb3fd, 0x003f, 0xdcf2, 0xb9d8, 0xe169, 0xe553,
    -    /* 0x5900 .. 0x59ff */
    -    0x003f, 0x003f, 0x003f, 0xc95a, 0x003f, 0x003f, 0xcab0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcc42, 0xce60, 0xd159, 0xae4c,
    -    0x003f, 0x003f, 0xf1f9, 0x003f, 0xc4dc, 0xa469, 0xa57e, 0xc970,
    -    0x003f, 0xa667, 0xa668, 0x003f, 0xa95d, 0x003f, 0x003f, 0x003f,
    -    0xb0f7, 0x003f, 0xb9da, 0x003f, 0xb9db, 0xb9d9, 0x003f, 0xa46a,
    -    0x003f, 0xa4d1, 0xa4d3, 0xa4d2, 0xc95b, 0xa4d4, 0xa5a1, 0xc971,
    -    0x003f, 0xa5a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa669,
    -    0xa66a, 0x003f, 0x003f, 0x003f, 0xc9cb, 0x003f, 0xa7a8, 0x003f,
    -    0xcab1, 0x003f, 0x003f, 0x003f, 0xa961, 0xcc43, 0x003f, 0xa95f,
    -    0xa960, 0xa95e, 0xd15a, 0x003f, 0x003f, 0x003f, 0xabb6, 0xabb5,
    -    0xabb7, 0xabb4, 0x003f, 0xce61, 0xa962, 0xabb3, 0x003f, 0xae4d,
    -    0xae4e, 0x003f, 0xae4f, 0x003f, 0xd4cd, 0x003f, 0x003f, 0x003f,
    -    0xb3fe, 0xd8b4, 0xb0f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6f8,
    -    0x003f, 0xb9dd, 0xb9dc, 0xe16a, 0x003f, 0xbc5d, 0xbec4, 0x003f,
    -    0xefc0, 0xf6da, 0xf7d4, 0xa46b, 0xa5a3, 0x003f, 0xa5a4, 0xc9d1,
    -    0xa66c, 0xa66f, 0x003f, 0xc9cf, 0xc9cd, 0xa66e, 0xc9d0, 0xc9d2,
    -    0xc9cc, 0xa671, 0xa670, 0xa66d, 0xa66b, 0xc9ce, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa7b3, 0x003f, 0x003f, 0xa7b0, 0xcab6, 0xcab9,
    -    0xcab8, 0x003f, 0xa7aa, 0xa7b2, 0x003f, 0x003f, 0xa7af, 0xcab5,
    -    0xcab3, 0xa7ae, 0x003f, 0x003f, 0x003f, 0xa7a9, 0xa7ac, 0x003f,
    -    0xcab4, 0xcabb, 0xcab7, 0xa7ad, 0xa7b1, 0xa7b4, 0xcab2, 0xcaba,
    -    0xa7ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa967, 0xa96f,
    -    0x003f, 0xcc4f, 0xcc48, 0xa970, 0xcc53, 0xcc44, 0xcc4b, 0x003f,
    -    0x003f, 0xa966, 0xcc45, 0xa964, 0xcc4c, 0xcc50, 0xa963, 0x003f,
    -    0xcc51, 0xcc4a, 0x003f, 0xcc4d, 0x003f, 0xa972, 0xa969, 0xcc54,
    -    0xcc52, 0x003f, 0xa96e, 0xa96c, 0xcc49, 0xa96b, 0xcc47, 0xcc46,
    -    0xa96a, 0xa968, 0xa971, 0xa96d, 0xa965, 0x003f, 0xcc4e, 0x003f,
    -    0xabb9, 0x003f, 0xabc0, 0xce6f, 0xabb8, 0xce67, 0xce63, 0x003f,
    -    0xce73, 0xce62, 0x003f, 0xabbb, 0xce6c, 0xabbe, 0xabc1, 0x003f,
    -    0xabbc, 0xce70, 0xabbf, 0x003f, 0xae56, 0xce76, 0xce64, 0x003f,
    -    0x003f, 0xce66, 0xce6d, 0xce71, 0xce75, 0xce72, 0xce6b, 0xce6e,
    -    0x003f, 0x003f, 0xce68, 0xabc3, 0xce6a, 0xce69, 0xce74, 0xabba,
    -    /* 0x5a00 .. 0x5aff */
    -    0xce65, 0xabc2, 0x003f, 0xabbd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xae5c, 0xd162, 0x003f, 0xae5b, 0x003f, 0x003f, 0xd160,
    -    0x003f, 0xae50, 0x003f, 0xae55, 0x003f, 0xd15f, 0xd15c, 0xd161,
    -    0xae51, 0xd15b, 0x003f, 0xae54, 0xae52, 0x003f, 0xd163, 0xae53,
    -    0xae57, 0x003f, 0x003f, 0xae58, 0x003f, 0xae5a, 0x003f, 0x003f,
    -    0x003f, 0xae59, 0x003f, 0x003f, 0x003f, 0xd15d, 0xd15e, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd164, 0x003f, 0xd4d4, 0xb0f9, 0xd8c2,
    -    0xd4d3, 0xd4e6, 0x003f, 0x003f, 0xb140, 0x003f, 0xd4e4, 0x003f,
    -    0xb0fe, 0xb0fa, 0xd4ed, 0xd4dd, 0xd4e0, 0x003f, 0xb143, 0xd4ea,
    -    0xd4e2, 0xb0fb, 0xb144, 0x003f, 0xd4e7, 0xd4e5, 0x003f, 0x003f,
    -    0xd4d6, 0xd4eb, 0xd4df, 0xd4da, 0x003f, 0xd4d0, 0xd4ec, 0xd4dc,
    -    0xd4cf, 0x003f, 0xb142, 0xd4e1, 0xd4ee, 0xd4de, 0xd4d2, 0xd4d7,
    -    0xd4ce, 0x003f, 0xb141, 0x003f, 0xd4db, 0xd4d8, 0xb0fc, 0xd4d1,
    -    0x003f, 0xd4e9, 0xb0fd, 0x003f, 0xd4d9, 0xd4d5, 0x003f, 0x003f,
    -    0xd4e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb440,
    -    0xd8bb, 0x003f, 0xd8b8, 0xd8c9, 0xd8bd, 0xd8ca, 0x003f, 0xb442,
    -    0x003f, 0x003f, 0x003f, 0xd8c6, 0xd8c3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd8c4, 0xd8c7, 0xd8cb, 0x003f, 0xd4e3, 0xd8cd,
    -    0xdd47, 0x003f, 0xb443, 0xd8ce, 0xd8b6, 0xd8c0, 0x003f, 0xd8c5,
    -    0x003f, 0x003f, 0xb441, 0xb444, 0xd8cc, 0xd8cf, 0xd8ba, 0xd8b7,
    -    0x003f, 0x003f, 0xd8b9, 0x003f, 0x003f, 0xd8be, 0xd8bc, 0xb445,
    -    0x003f, 0xd8c8, 0x003f, 0x003f, 0xd8bf, 0x003f, 0xd8c1, 0xd8b5,
    -    0xdcfa, 0xdcf8, 0xb742, 0xb740, 0xdd43, 0xdcf9, 0xdd44, 0xdd40,
    -    0xdcf7, 0xdd46, 0xdcf6, 0xdcfd, 0xb6fe, 0xb6fd, 0xb6fc, 0xdcfb,
    -    0xdd41, 0xb6f9, 0xb741, 0x003f, 0xdcf4, 0x003f, 0xdcfe, 0xdcf3,
    -    0xdcfc, 0xb6fa, 0xdd42, 0xdcf5, 0xb6fb, 0xdd45, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe16e, 0xb9e2, 0xb9e1,
    -    0xb9e3, 0xe17a, 0xe170, 0xe176, 0xe16b, 0xe179, 0xe178, 0xe17c,
    -    0xe175, 0xb9de, 0xe174, 0xb9e4, 0x003f, 0xe16d, 0xb9df, 0x003f,
    -    0xe17b, 0xb9e0, 0xe16f, 0xe172, 0xe177, 0xe171, 0xe16c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe173, 0xe555, 0xbc61, 0xe558, 0xe557,
    -    0xe55a, 0xe55c, 0xf9dc, 0xbc5f, 0x003f, 0xe556, 0x003f, 0xe554,
    -    /* 0x5b00 .. 0x5bff */
    -    0x003f, 0xe55d, 0xe55b, 0xe559, 0x003f, 0xe55f, 0x003f, 0xe55e,
    -    0xbc63, 0xbc5e, 0x003f, 0xbc60, 0xbc62, 0x003f, 0x003f, 0xe560,
    -    0xe957, 0x003f, 0x003f, 0xe956, 0xe955, 0x003f, 0xe958, 0xe951,
    -    0x003f, 0xe952, 0xe95a, 0xe953, 0x003f, 0xbec5, 0xe95c, 0x003f,
    -    0xe95b, 0xe954, 0x003f, 0xecd1, 0xc0a8, 0xeccf, 0xecd4, 0xecd3,
    -    0xe959, 0x003f, 0xc0a7, 0x003f, 0xecd2, 0xecce, 0xecd6, 0xecd5,
    -    0xc0a6, 0x003f, 0xecd0, 0x003f, 0xbec6, 0x003f, 0x003f, 0x003f,
    -    0xc254, 0x003f, 0x003f, 0x003f, 0xefc1, 0xf1fa, 0xf1fb, 0xf1fc,
    -    0xc45c, 0x003f, 0x003f, 0xc45d, 0x003f, 0xf443, 0x003f, 0xf5c8,
    -    0xf5c7, 0x003f, 0x003f, 0xf6db, 0xf6dc, 0xf7d5, 0xf8a7, 0x003f,
    -    0xa46c, 0xa46d, 0x003f, 0xa46e, 0xa4d5, 0xa5a5, 0xc9d3, 0xa672,
    -    0xa673, 0x003f, 0xa7b7, 0xa7b8, 0xa7b6, 0xa7b5, 0x003f, 0xa973,
    -    0x003f, 0x003f, 0xcc55, 0xa975, 0xa974, 0xcc56, 0x003f, 0x003f,
    -    0x003f, 0xabc4, 0x003f, 0xae5d, 0xd165, 0x003f, 0xd4f0, 0x003f,
    -    0xb145, 0xb447, 0xd4ef, 0xb446, 0x003f, 0xb9e5, 0x003f, 0xe17d,
    -    0xbec7, 0x003f, 0xc0a9, 0xecd7, 0x003f, 0xc45e, 0x003f, 0xc570,
    -    0x003f, 0xc972, 0x003f, 0xa5a6, 0xc973, 0xa676, 0x003f, 0xa674,
    -    0xa675, 0xa677, 0x003f, 0xa7ba, 0xa7b9, 0x003f, 0xcabc, 0xa7bb,
    -    0x003f, 0x003f, 0xcabd, 0xcc57, 0x003f, 0xcc58, 0x003f, 0xa976,
    -    0xa978, 0xa97a, 0xa977, 0xa97b, 0xa979, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xabc8, 0xabc5, 0xabc7, 0xabc9, 0xabc6, 0xd166,
    -    0xce77, 0x003f, 0x003f, 0x003f, 0xd168, 0xd167, 0xae63, 0x003f,
    -    0xae5f, 0x003f, 0x003f, 0xae60, 0xae62, 0xae64, 0xae61, 0x003f,
    -    0xae66, 0xae65, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb14a,
    -    0xd4f2, 0xd4f1, 0xb149, 0x003f, 0xb148, 0xb147, 0xb14b, 0xb146,
    -    0x003f, 0x003f, 0xd8d5, 0xd8d2, 0xb449, 0xd8d1, 0xd8d6, 0x003f,
    -    0xb44b, 0xd8d4, 0xb448, 0xb44a, 0xd8d3, 0x003f, 0xdd48, 0x003f,
    -    0xdd49, 0xdd4a, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9e6, 0xb9ee,
    -    0xe17e, 0xb9e8, 0xb9ec, 0xe1a1, 0xb9ed, 0xb9e9, 0xb9ea, 0xb9e7,
    -    0xb9eb, 0xbc66, 0xd8d0, 0xbc67, 0xbc65, 0x003f, 0xbc64, 0xe95d,
    -    0xbec8, 0xecd8, 0xecd9, 0x003f, 0x003f, 0xc364, 0xc45f, 0x003f,
    -    0xa46f, 0x003f, 0xa678, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x5c00 .. 0x5cff */
    -    0x003f, 0xabca, 0x003f, 0xd169, 0xae67, 0x003f, 0x003f, 0xb14e,
    -    0xb14d, 0xb14c, 0xb44c, 0xb44d, 0xd8d7, 0xb9ef, 0xbec9, 0xa470,
    -    0xc95c, 0xa4d6, 0xc974, 0x003f, 0x003f, 0xc9d4, 0xa679, 0x003f,
    -    0x003f, 0x003f, 0xa97c, 0x003f, 0x003f, 0x003f, 0x003f, 0xdd4b,
    -    0x003f, 0x003f, 0xa471, 0x003f, 0xa4d7, 0xc9d5, 0x003f, 0x003f,
    -    0xcabe, 0x003f, 0xcabf, 0x003f, 0xa7bc, 0x003f, 0x003f, 0x003f,
    -    0xd8d8, 0xb44e, 0x003f, 0xdd4c, 0x003f, 0x003f, 0x003f, 0xc0aa,
    -    0xa472, 0xa4a8, 0xa4d8, 0xc975, 0xa5a7, 0x003f, 0xa7c0, 0xa7bf,
    -    0xa7bd, 0xa7be, 0x003f, 0x003f, 0xcc59, 0xa97e, 0xa9a1, 0xcc5a,
    -    0xa97d, 0x003f, 0x003f, 0xabce, 0xce78, 0xabcd, 0xabcb, 0xabcc,
    -    0xae6a, 0xae68, 0x003f, 0x003f, 0xd16b, 0xae69, 0xd16a, 0x003f,
    -    0xae5e, 0xd4f3, 0x003f, 0x003f, 0xb150, 0xb151, 0x003f, 0x003f,
    -    0xb14f, 0x003f, 0xb9f0, 0xe1a2, 0xbc68, 0xbc69, 0x003f, 0xe561,
    -    0xc0ab, 0xefc2, 0xefc3, 0x003f, 0xc4dd, 0xf8a8, 0xc94b, 0xa4d9,
    -    0x003f, 0xa473, 0x003f, 0xc977, 0xc976, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa67a, 0xc9d7, 0xc9d8, 0xc9d6, 0x003f, 0xc9d9, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac7, 0x003f,
    -    0xcac2, 0xcac4, 0xcac6, 0xcac3, 0xa7c4, 0xcac0, 0x003f, 0xcac1,
    -    0xa7c1, 0xa7c2, 0xcac5, 0xcac8, 0xa7c3, 0xcac9, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcc68, 0x003f, 0xcc62,
    -    0xcc5d, 0xa9a3, 0xcc65, 0xcc63, 0xcc5c, 0xcc69, 0xcc6c, 0xcc67,
    -    0xcc60, 0xa9a5, 0xcc66, 0xa9a6, 0xcc61, 0xcc64, 0xcc5b, 0xcc5f,
    -    0xcc6b, 0xa9a7, 0x003f, 0xa9a8, 0x003f, 0xcc5e, 0xcc6a, 0xa9a2,
    -    0xa9a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceab, 0xcea4,
    -    0xceaa, 0xcea3, 0xcea5, 0xce7d, 0xce7b, 0x003f, 0xceac, 0xcea9,
    -    0xce79, 0x003f, 0xabd0, 0xcea7, 0xcea8, 0x003f, 0xcea6, 0xce7c,
    -    0xce7a, 0xabcf, 0xcea2, 0xce7e, 0x003f, 0x003f, 0xcea1, 0xcead,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xae6f, 0x003f, 0xae6e, 0x003f, 0xd16c, 0xae6b, 0xd16e, 0x003f,
    -    0xae70, 0xd16f, 0x003f, 0x003f, 0xae73, 0x003f, 0xae71, 0xd170,
    -    0xceae, 0xd172, 0x003f, 0xae6d, 0x003f, 0xae6c, 0x003f, 0xd16d,
    -    /* 0x5d00 .. 0x5dff */
    -    0xd171, 0xae72, 0x003f, 0x003f, 0x003f, 0x003f, 0xb153, 0xb152,
    -    0x003f, 0x003f, 0x003f, 0xd4f5, 0xd4f9, 0xd4fb, 0xb154, 0xd4fe,
    -    0x003f, 0xb158, 0xd541, 0x003f, 0xb15a, 0x003f, 0xb156, 0xb15e,
    -    0x003f, 0xb15b, 0xd4f7, 0xb155, 0x003f, 0xd4f6, 0xd4f4, 0xd543,
    -    0xd4f8, 0x003f, 0xb157, 0xd542, 0xb15c, 0xd4fd, 0xd4fc, 0xb15d,
    -    0xd4fa, 0xb159, 0x003f, 0x003f, 0x003f, 0x003f, 0xd544, 0x003f,
    -    0xd540, 0xd8e7, 0xd8ee, 0xd8e3, 0xb451, 0xd8df, 0xd8ef, 0xd8d9,
    -    0xd8ec, 0xd8ea, 0xd8e4, 0x003f, 0xd8ed, 0xd8e6, 0x003f, 0xd8de,
    -    0xd8f0, 0xd8dc, 0xd8e9, 0xd8da, 0x003f, 0xd8f1, 0x003f, 0xb452,
    -    0x003f, 0xd8eb, 0xdd4f, 0xd8dd, 0xb44f, 0x003f, 0xd8e1, 0x003f,
    -    0xb450, 0xd8e0, 0xd8e5, 0x003f, 0x003f, 0xd8e2, 0x003f, 0x003f,
    -    0x003f, 0xd8e8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdd53, 0x003f,
    -    0x003f, 0x003f, 0xdd56, 0xdd4e, 0x003f, 0xdd50, 0x003f, 0xdd55,
    -    0xdd54, 0xb743, 0x003f, 0xd8db, 0xdd52, 0x003f, 0x003f, 0xb744,
    -    0x003f, 0xdd4d, 0xdd51, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a9,
    -    0x003f, 0xe1b0, 0xe1a7, 0x003f, 0xe1ae, 0xe1a5, 0xe1ad, 0xe1b1,
    -    0xe1a4, 0xe1a8, 0xe1a3, 0x003f, 0xb9f1, 0x003f, 0xe1a6, 0xb9f2,
    -    0xe1ac, 0xe1ab, 0xe1aa, 0x003f, 0x003f, 0xe1af, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe565, 0xe567, 0xbc6b, 0xe568, 0x003f, 0xe563,
    -    0x003f, 0xe562, 0xe56c, 0x003f, 0xe56a, 0xbc6a, 0xe56d, 0xe564,
    -    0xe569, 0xe56b, 0xe566, 0x003f, 0x003f, 0x003f, 0x003f, 0xe961,
    -    0xe966, 0xe960, 0xe965, 0x003f, 0xe95e, 0xe968, 0xe964, 0xe969,
    -    0xe963, 0xe95f, 0xe967, 0x003f, 0xe96a, 0xe962, 0x003f, 0xecda,
    -    0xc0af, 0x003f, 0xc0ad, 0x003f, 0xc0ac, 0xc0ae, 0x003f, 0x003f,
    -    0xefc4, 0x003f, 0xf172, 0xf1fd, 0x003f, 0x003f, 0xf444, 0xf445,
    -    0x003f, 0xc460, 0x003f, 0xf5c9, 0x003f, 0xc4de, 0x003f, 0xf5ca,
    -    0x003f, 0xf6de, 0xc572, 0x003f, 0xc571, 0xf6dd, 0xc5c9, 0x003f,
    -    0xf7d6, 0x003f, 0x003f, 0x003f, 0x003f, 0xa474, 0xa67b, 0xc9da,
    -    0xcaca, 0xa8b5, 0xb15f, 0x003f, 0x003f, 0xa475, 0xa5aa, 0xa5a9,
    -    0xa5a8, 0x003f, 0x003f, 0xa7c5, 0x003f, 0x003f, 0xae74, 0x003f,
    -    0xdd57, 0xa476, 0xa477, 0xa478, 0xa4da, 0x003f, 0x003f, 0xabd1,
    -    0x003f, 0xceaf, 0x003f, 0x003f, 0x003f, 0xb453, 0xa479, 0xc95d,
    -    /* 0x5e00 .. 0x5eff */
    -    0x003f, 0x003f, 0xa5ab, 0xa5ac, 0xc978, 0x003f, 0xa67c, 0x003f,
    -    0x003f, 0x003f, 0xcacb, 0x003f, 0xa7c6, 0x003f, 0xcacc, 0x003f,
    -    0x003f, 0xa9ae, 0x003f, 0x003f, 0xcc6e, 0xa9ac, 0xa9ab, 0xcc6d,
    -    0xa9a9, 0xcc6f, 0xa9aa, 0xa9ad, 0x003f, 0xabd2, 0x003f, 0xabd4,
    -    0xceb3, 0xceb0, 0xceb1, 0xceb2, 0xceb4, 0xabd3, 0x003f, 0x003f,
    -    0xd174, 0xd173, 0x003f, 0xae76, 0x003f, 0xae75, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb162, 0xd546, 0x003f, 0xb161, 0xb163,
    -    0xb160, 0x003f, 0x003f, 0x003f, 0x003f, 0xb455, 0xd545, 0x003f,
    -    0xb456, 0xd8f3, 0x003f, 0xb457, 0xd8f2, 0xb454, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdd5a, 0xdd5c, 0xb745, 0xdd5b, 0xdd59, 0xdd58,
    -    0x003f, 0x003f, 0x003f, 0xe1b4, 0xb9f7, 0xb9f5, 0x003f, 0xb9f6,
    -    0xe1b2, 0xe1b3, 0x003f, 0xb9f3, 0xe571, 0xe56f, 0x003f, 0xbc6d,
    -    0xe570, 0xbc6e, 0xbc6c, 0xb9f4, 0x003f, 0x003f, 0xe96d, 0xe96b,
    -    0xe96c, 0xe56e, 0xecdc, 0xc0b0, 0xecdb, 0xefc5, 0xefc6, 0xe96e,
    -    0xf1fe, 0x003f, 0xa47a, 0xa5ad, 0xa67e, 0xc9db, 0xa67d, 0x003f,
    -    0xa9af, 0xb746, 0x003f, 0xa4db, 0xa5ae, 0xabd5, 0xb458, 0x003f,
    -    0xc979, 0x003f, 0xc97a, 0x003f, 0xc9dc, 0x003f, 0x003f, 0xa7c8,
    -    0xcad0, 0xcace, 0xa7c9, 0xcacd, 0xcacf, 0xcad1, 0x003f, 0xa7c7,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa9b3, 0xa9b4, 0xa9b1,
    -    0x003f, 0x003f, 0xa9b0, 0xceb8, 0xa9b2, 0x003f, 0x003f, 0x003f,
    -    0xabd6, 0x003f, 0xceb7, 0xceb9, 0xceb6, 0xceba, 0xabd7, 0xae79,
    -    0xd175, 0x003f, 0xd177, 0xae77, 0xd178, 0xae78, 0xd176, 0x003f,
    -    0xceb5, 0xd547, 0xd54a, 0xd54b, 0xd548, 0xb167, 0xb166, 0xb164,
    -    0xb165, 0xd549, 0x003f, 0x003f, 0x003f, 0x003f, 0xb168, 0x003f,
    -    0x003f, 0xb45a, 0xb45b, 0x003f, 0xb45c, 0xdd5d, 0xdd5f, 0xdd61,
    -    0xb748, 0xb747, 0xb459, 0xdd60, 0xdd5e, 0x003f, 0xe1b8, 0x003f,
    -    0x003f, 0xe1b6, 0xe1bc, 0xb9f8, 0xe1bd, 0xe1ba, 0xb9f9, 0xe1b7,
    -    0xe1b5, 0xe1bb, 0xbc70, 0xe573, 0xe1b9, 0xbc72, 0xe574, 0xbc71,
    -    0xbc74, 0xe575, 0xbc6f, 0xbc73, 0x003f, 0xe973, 0xe971, 0xe970,
    -    0xe972, 0xe96f, 0x003f, 0x003f, 0xc366, 0x003f, 0xf446, 0xf447,
    -    0x003f, 0xf5cb, 0xf6df, 0xc655, 0x003f, 0x003f, 0xa9b5, 0xa7ca,
    -    0x003f, 0x003f, 0xabd8, 0x003f, 0x003f, 0x003f, 0xa47b, 0xa4dc,
    -    /* 0x5f00 .. 0x5fff */
    -    0x003f, 0xa5af, 0xc9dd, 0x003f, 0xa7cb, 0xcad2, 0x003f, 0xcebb,
    -    0xabd9, 0x003f, 0xb9fa, 0xa47c, 0x003f, 0x003f, 0x003f, 0xa6a1,
    -    0x003f, 0x003f, 0xb749, 0xa47d, 0xa4dd, 0xa4de, 0x003f, 0xa5b1,
    -    0xa5b0, 0x003f, 0xc9de, 0xa6a2, 0x003f, 0xcad3, 0x003f, 0xa7cc,
    -    0x003f, 0x003f, 0xcc71, 0xcc72, 0xcc73, 0x003f, 0xa9b6, 0xa9b7,
    -    0xcc70, 0xa9b8, 0x003f, 0x003f, 0x003f, 0xabda, 0xcebc, 0x003f,
    -    0xd17a, 0xae7a, 0x003f, 0xd179, 0x003f, 0xb169, 0xd54c, 0xb16a,
    -    0xd54d, 0x003f, 0x003f, 0x003f, 0xb45d, 0x003f, 0x003f, 0x003f,
    -    0xdd62, 0x003f, 0x003f, 0xe1bf, 0xe1be, 0x003f, 0xb9fb, 0x003f,
    -    0xbc75, 0xe576, 0xbeca, 0xe974, 0xc0b1, 0x003f, 0xc573, 0xf7d8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xcc74, 0x003f, 0xcebd, 0xb16b,
    -    0xd8f4, 0xb74a, 0x003f, 0x003f, 0x003f, 0xc255, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa7ce, 0x003f, 0xa7cd, 0xabdb, 0x003f, 0xd17b,
    -    0x003f, 0xb16d, 0xb343, 0xb16e, 0xb16c, 0xb45e, 0x003f, 0xe1c0,
    -    0xb9fc, 0xbc76, 0x003f, 0xc94c, 0xc9df, 0x003f, 0xcad5, 0xa7cf,
    -    0xcad4, 0xa7d0, 0x003f, 0x003f, 0xa9bc, 0xcc77, 0xcc76, 0xa9bb,
    -    0xa9b9, 0xa9ba, 0xcc75, 0x003f, 0x003f, 0xabdd, 0xcebe, 0xabe0,
    -    0xabdc, 0xabe2, 0xabde, 0xabdf, 0xabe1, 0x003f, 0x003f, 0x003f,
    -    0xae7d, 0xae7c, 0xae7b, 0x003f, 0x003f, 0x003f, 0xd54f, 0xb16f,
    -    0xb172, 0xb170, 0x003f, 0xd54e, 0xb175, 0x003f, 0xb171, 0xd550,
    -    0xb174, 0xb173, 0x003f, 0x003f, 0x003f, 0xd8f6, 0xd8f5, 0x003f,
    -    0xb461, 0xb45f, 0xb460, 0xd8f7, 0xb74b, 0xdd64, 0xb74c, 0xdd63,
    -    0x003f, 0x003f, 0xe577, 0x003f, 0x003f, 0xbc78, 0xe1c1, 0xbc77,
    -    0x003f, 0xb9fd, 0x003f, 0xecde, 0xe975, 0xc0b2, 0xecdd, 0xf240,
    -    0xf448, 0xf449, 0x003f, 0xa4df, 0x003f, 0xa5b2, 0x003f, 0x003f,
    -    0x003f, 0xc97b, 0x003f, 0x003f, 0xa7d2, 0xa7d4, 0x003f, 0xc9e2,
    -    0xcad8, 0xcad7, 0xcad6, 0x003f, 0xc9e1, 0xc9e0, 0xa6a4, 0xa7d3,
    -    0xa7d1, 0xa6a3, 0x003f, 0x003f, 0x003f, 0xa9bd, 0xcc78, 0x003f,
    -    0xa9be, 0xcadd, 0x003f, 0xcadf, 0xcade, 0xcc79, 0x003f, 0x003f,
    -    0xcada, 0x003f, 0xa7d8, 0xa7d6, 0x003f, 0xcad9, 0xcadb, 0xcae1,
    -    0x003f, 0xa7d5, 0x003f, 0xcadc, 0xcae5, 0xa9c0, 0x003f, 0xcae2,
    -    0xa7d7, 0x003f, 0xcae0, 0xcae3, 0x003f, 0xa9bf, 0x003f, 0xa9c1,
    -    /* 0x6000 .. 0x60ff */
    -    0xcae4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xccaf, 0xcca2, 0xcc7e, 0xccae, 0xcca9, 0xabe7, 0xa9c2,
    -    0xccaa, 0xccad, 0xabe3, 0xccac, 0xa9c3, 0xa9c8, 0xa9c6, 0xcca3,
    -    0x003f, 0xcc7c, 0xcca5, 0xa9cd, 0xccb0, 0xabe4, 0xcca6, 0x003f,
    -    0xabe5, 0xa9c9, 0xcca8, 0x003f, 0xcecd, 0xabe6, 0xcc7b, 0xa9ca,
    -    0xabe8, 0xa9cb, 0xa9c7, 0xa9cc, 0xcca7, 0xcc7a, 0xccab, 0xa9c4,
    -    0x003f, 0x003f, 0xcc7d, 0xcca4, 0xcca1, 0xa9c5, 0x003f, 0xcebf,
    -    0x003f, 0xcec0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xceca, 0xd1a1, 0xcecb, 0xabee, 0xcece, 0xcec4, 0xabed, 0xcec6,
    -    0x003f, 0xcec7, 0x003f, 0x003f, 0xcec9, 0xabe9, 0x003f, 0x003f,
    -    0xaea3, 0x003f, 0xf9da, 0xcec5, 0xcec1, 0xaea4, 0x003f, 0x003f,
    -    0xcecf, 0xae7e, 0xd17d, 0xcec8, 0x003f, 0xd17c, 0xcec3, 0xcecc,
    -    0x003f, 0x003f, 0xabec, 0xaea1, 0xabf2, 0xaea2, 0xced0, 0xd17e,
    -    0xabeb, 0xaea6, 0xabf1, 0xabf0, 0xabef, 0xaea5, 0xced1, 0xaea7,
    -    0xabea, 0x003f, 0xcec2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb176,
    -    0xd1a4, 0xd1a6, 0x003f, 0xd1a8, 0xaea8, 0xaeae, 0xd553, 0xd1ac,
    -    0xd1a3, 0xb178, 0xd551, 0x003f, 0xaead, 0xaeab, 0xd1ae, 0x003f,
    -    0xd552, 0x003f, 0xd1a5, 0x003f, 0xaeac, 0xd1a9, 0xaeaf, 0xd1ab,
    -    0x003f, 0x003f, 0xaeaa, 0xd1aa, 0xd1ad, 0xd1a7, 0x003f, 0xaea9,
    -    0xb179, 0x003f, 0xd1a2, 0xb177, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb17a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd555, 0xd55e, 0xb464, 0x003f, 0xb17c, 0xb1a3, 0xb465, 0xd560,
    -    0xb1aa, 0xd8f9, 0xd556, 0xb1a2, 0xb1a5, 0xb17e, 0xd554, 0xd562,
    -    0xd565, 0xd949, 0x003f, 0xd563, 0xd8fd, 0xb1a1, 0xb1a8, 0xb1ac,
    -    0xd55d, 0xd8f8, 0xd561, 0xb17b, 0xd8fa, 0xd564, 0xd8fc, 0xd559,
    -    0x003f, 0xb462, 0x003f, 0xd557, 0xd558, 0xb1a7, 0x003f, 0x003f,
    -    0xb1a6, 0xd55b, 0xb1ab, 0xd55f, 0xb1a4, 0xd55c, 0x003f, 0xb1a9,
    -    0xb466, 0xb463, 0xd8fb, 0x003f, 0xd55a, 0x003f, 0xb17d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb46b, 0xb46f, 0xd940, 0xb751, 0xb46d, 0xd944, 0xb471, 0xdd65,
    -    0xd946, 0xb753, 0xb469, 0xb46c, 0xd947, 0x003f, 0xd948, 0xd94e,
    -    /* 0x6100 .. 0x61ff */
    -    0xb473, 0xb754, 0x003f, 0xd94a, 0xd94f, 0xd943, 0xb75e, 0x003f,
    -    0xb755, 0xb472, 0xd941, 0xd950, 0x003f, 0xb75d, 0xb470, 0xb74e,
    -    0xd94d, 0x003f, 0xb474, 0xd945, 0xd8fe, 0xb46a, 0xd942, 0x003f,
    -    0xd94b, 0x003f, 0xb74d, 0xb752, 0xb467, 0xd94c, 0x003f, 0xb750,
    -    0x003f, 0x003f, 0x003f, 0xb468, 0x003f, 0x003f, 0x003f, 0xb75c,
    -    0xe1c3, 0xdd70, 0x003f, 0xdd68, 0xe1c2, 0x003f, 0xdd6c, 0xdd6e,
    -    0x003f, 0x003f, 0xdd6b, 0x003f, 0xb75b, 0x003f, 0xdd6a, 0xb75f,
    -    0x003f, 0x003f, 0x003f, 0xe1d2, 0x003f, 0x003f, 0xb75a, 0xba40,
    -    0xdd71, 0xe1c4, 0x003f, 0x003f, 0xb758, 0xdd69, 0xdd6d, 0xb9fe,
    -    0xb74f, 0xdd66, 0xdd67, 0xba41, 0xb757, 0xb759, 0xb756, 0xdd6f,
    -    0x003f, 0x003f, 0xe1c8, 0xe1c9, 0xe1ce, 0xbc7d, 0xe1d5, 0x003f,
    -    0xba47, 0x003f, 0xba46, 0xe1d0, 0x003f, 0xbc7c, 0xe1c5, 0xba45,
    -    0x003f, 0xe1d4, 0xba43, 0xba44, 0x003f, 0xe1d1, 0xe5aa, 0xbc7a,
    -    0xb46e, 0x003f, 0xe1d3, 0xbca3, 0xe1cb, 0x003f, 0xbc7b, 0x003f,
    -    0xbca2, 0xe1c6, 0xe1ca, 0xe1c7, 0xe1cd, 0xba48, 0xbc79, 0xba42,
    -    0x003f, 0xe57a, 0xe1cf, 0x003f, 0xbca1, 0x003f, 0xbca4, 0x003f,
    -    0xe1cc, 0x003f, 0xbc7e, 0xe579, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe57e, 0xbece, 0xe578, 0xe9a3, 0xe5a9, 0xbca8, 0x003f,
    -    0xbca6, 0xbecc, 0xe5a6, 0xe5a2, 0xbcac, 0x003f, 0xe978, 0x003f,
    -    0x003f, 0x003f, 0xbcaa, 0xe5a1, 0x003f, 0xe976, 0x003f, 0xe5a5,
    -    0x003f, 0xe5a8, 0xe57d, 0x003f, 0xbcab, 0x003f, 0x003f, 0xbca5,
    -    0xe977, 0xbecd, 0xe5a7, 0xbca7, 0xbca9, 0xe5a4, 0xbcad, 0xe5a3,
    -    0xe57c, 0xe57b, 0xbecb, 0xe5ab, 0xe97a, 0xece0, 0xbed0, 0x003f,
    -    0xe9a2, 0x003f, 0xe97e, 0x003f, 0xece1, 0x003f, 0xbed1, 0xe9a1,
    -    0x003f, 0xe97c, 0xc0b4, 0xecdf, 0x003f, 0xe979, 0xe97b, 0xc0b5,
    -    0xbed3, 0xc0b3, 0xbed2, 0xc0b7, 0xe97d, 0xbecf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefcf, 0x003f,
    -    0xefc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xece7, 0xefc8,
    -    0xece3, 0x003f, 0x003f, 0xc256, 0xece5, 0xece4, 0xc0b6, 0xece2,
    -    0xece6, 0xefd0, 0xefcc, 0xefce, 0x003f, 0xefc9, 0xefca, 0x003f,
    -    0xefcd, 0xefcb, 0xc367, 0x003f, 0x003f, 0xc36a, 0xc369, 0xc368,
    -    0xc461, 0xf44a, 0xc462, 0xf241, 0xc4df, 0xf5cc, 0xc4e0, 0xc574,
    -    /* 0x6200 .. 0x62ff */
    -    0xc5ca, 0xf7d9, 0x003f, 0xf7da, 0xf7db, 0x003f, 0x003f, 0xf9ba,
    -    0xa4e0, 0xc97c, 0xa5b3, 0x003f, 0xa6a6, 0xa6a7, 0xa6a5, 0x003f,
    -    0xa6a8, 0xa7da, 0xa7d9, 0x003f, 0xccb1, 0xa9cf, 0xa9ce, 0x003f,
    -    0x003f, 0xd1af, 0xb1ad, 0xb1ae, 0x003f, 0x003f, 0x003f, 0xb475,
    -    0xdd72, 0xb760, 0xb761, 0xdd74, 0xdd76, 0xdd75, 0x003f, 0xe1d7,
    -    0x003f, 0xe1d6, 0xba49, 0xe1d8, 0x003f, 0xe5ac, 0xbcae, 0x003f,
    -    0xbed4, 0x003f, 0xc0b8, 0xc257, 0xc0b9, 0x003f, 0xa4e1, 0x003f,
    -    0x003f, 0x003f, 0xcae6, 0x003f, 0x003f, 0xccb2, 0xa9d1, 0xa9d0,
    -    0xa9d2, 0xabf3, 0xced2, 0xced3, 0x003f, 0x003f, 0xd1b0, 0xaeb0,
    -    0xb1af, 0xb476, 0xd951, 0xa4e2, 0x003f, 0xa47e, 0xa4e3, 0x003f,
    -    0xc97d, 0xa5b7, 0xa5b6, 0xa5b4, 0xa5b5, 0x003f, 0x003f, 0x003f,
    -    0xa6ab, 0xc9e9, 0xc9eb, 0xa6aa, 0xc9e3, 0x003f, 0xc9e4, 0x003f,
    -    0xc9ea, 0xc9e6, 0xc9e8, 0xa6a9, 0xc9e5, 0xc9ec, 0xc9e7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa7e1, 0xa7ea, 0xa7e8,
    -    0xcaf0, 0xcaed, 0xcaf5, 0xa7e6, 0xcaf6, 0x003f, 0xa7df, 0xcaf3,
    -    0x003f, 0xa7e5, 0xcaef, 0xcaee, 0xa7e3, 0xcaf4, 0xa7e4, 0xa9d3,
    -    0xa7de, 0xcaf1, 0x003f, 0xcae7, 0xa7db, 0x003f, 0xa7ee, 0xcaec,
    -    0xcaf2, 0xa7e0, 0xa7e2, 0x003f, 0xcae8, 0x003f, 0xcae9, 0xcaea,
    -    0x003f, 0xa7ed, 0xa7e7, 0xa7ec, 0xcaeb, 0xa7eb, 0xa7dd, 0xa7dc,
    -    0xa7e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa9e1, 0xccbe, 0xccb7, 0xa9dc, 0xa9ef, 0xccb3, 0xccba, 0xccbc,
    -    0xccbf, 0xa9ea, 0x003f, 0xccbb, 0xccb4, 0xa9e8, 0xccb8, 0x003f,
    -    0xccc0, 0xa9d9, 0x003f, 0xccbd, 0xa9e3, 0xa9e2, 0xccb6, 0xa9d7,
    -    0x003f, 0x003f, 0xa9d8, 0x003f, 0xa9d6, 0x003f, 0xa9ee, 0xa9e6,
    -    0xa9e0, 0xa9d4, 0xccb9, 0xa9df, 0xa9d5, 0xa9e7, 0xa9f0, 0xced4,
    -    0xa9e4, 0xccb5, 0xa9da, 0xa9dd, 0xa9de, 0x003f, 0xa9ec, 0xa9ed,
    -    0xa9eb, 0xa9e5, 0xa9e9, 0xa9db, 0xabf4, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xceda, 0xac41, 0xabf8, 0xabfa, 0xac40,
    -    0xcee6, 0xabfd, 0xd1b1, 0xaeb1, 0xac43, 0xced7, 0xcedf, 0xabfe,
    -    0xcede, 0xcedb, 0xcee3, 0xcee5, 0xabf7, 0xabfb, 0xac42, 0xaeb3,
    -    /* 0x6300 .. 0x63ff */
    -    0xcee0, 0xabf9, 0xac45, 0xced9, 0x003f, 0x003f, 0x003f, 0xabfc,
    -    0xaeb2, 0xabf6, 0x003f, 0xced6, 0xcedd, 0xced5, 0xced8, 0xcedc,
    -    0xd1b2, 0xac44, 0x003f, 0xcee1, 0xcee2, 0xcee4, 0xabf5, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xaec1, 0xd1be, 0xaebf, 0xaec0, 0xd1b4, 0xd1c4, 0x003f, 0xaeb6,
    -    0x003f, 0x003f, 0xd566, 0xd1c6, 0xd1c0, 0x003f, 0xd1b7, 0x003f,
    -    0xd1c9, 0xd1ba, 0xaebc, 0xd57d, 0xd1bd, 0xaebe, 0xaeb5, 0x003f,
    -    0xd1cb, 0xd1bf, 0xaeb8, 0xd1b8, 0xd1b5, 0xd1b6, 0xaeb9, 0xd1c5,
    -    0xd1cc, 0xaebb, 0xd1bc, 0xd1bb, 0xaec3, 0xaec2, 0xaeb4, 0xaeba,
    -    0xaebd, 0xd1c8, 0x003f, 0x003f, 0xd1c2, 0xaeb7, 0xd1b3, 0xd1ca,
    -    0xd1c1, 0xd1c3, 0xd1c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd567, 0x003f, 0xb1b7,
    -    0xb1cb, 0xb1ca, 0x003f, 0xb1bf, 0x003f, 0xd579, 0xd575, 0xd572,
    -    0xd5a6, 0xb1ba, 0xb1b2, 0x003f, 0x003f, 0xd577, 0xb4a8, 0xb1b6,
    -    0xd5a1, 0x003f, 0xb1cc, 0xb1c9, 0xd57b, 0xd56a, 0x003f, 0x003f,
    -    0xb1c8, 0xd5a3, 0xd569, 0xb1bd, 0xb1c1, 0xd5a2, 0x003f, 0xd573,
    -    0xb1c2, 0xb1bc, 0xd568, 0x003f, 0xb478, 0xd5a5, 0xd571, 0xb1c7,
    -    0xd574, 0xd5a4, 0xb1c6, 0x003f, 0xd952, 0x003f, 0xb1b3, 0xd56f,
    -    0xb1b8, 0xb1c3, 0x003f, 0xb1be, 0xd578, 0xd56e, 0xd56c, 0xd57e,
    -    0xb1b0, 0xb1c4, 0xb1b4, 0xb477, 0xd57c, 0xb1b5, 0x003f, 0xb1b1,
    -    0xb1c0, 0xb1bb, 0xb1b9, 0xd570, 0xb1c5, 0xd56d, 0xd57a, 0xd576,
    -    0xd954, 0xd953, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd56b, 0xd964, 0x003f,
    -    0xb47a, 0x003f, 0xd96a, 0xd959, 0xd967, 0xdd77, 0xb47d, 0xd96b,
    -    0xd96e, 0xb47c, 0xd95c, 0xd96d, 0xd96c, 0xb47e, 0xd955, 0xb479,
    -    0xb4a3, 0x003f, 0xb4a1, 0xd969, 0x003f, 0xd95f, 0xb4a5, 0xd970,
    -    0xd968, 0xd971, 0xb4ad, 0xb4ab, 0xd966, 0xd965, 0x003f, 0xd963,
    -    0xd95d, 0xb4a4, 0x003f, 0xb4a2, 0xd1b9, 0xd956, 0x003f, 0xddb7,
    -    0xd957, 0xb47b, 0xb4aa, 0xdd79, 0x003f, 0xb4a6, 0xb4a7, 0xd958,
    -    0xd96f, 0xdd78, 0xd960, 0xd95b, 0xb4a9, 0xd961, 0xd95e, 0x003f,
    -    0x003f, 0xb4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6400 .. 0x64ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb770, 0x003f,
    -    0x003f, 0xdd7c, 0xddb1, 0xddb6, 0xddaa, 0xb76c, 0xddbb, 0xb769,
    -    0xdd7a, 0x003f, 0xdd7b, 0xb762, 0xb76b, 0xdda4, 0xb76e, 0xb76f,
    -    0xdda5, 0x003f, 0xddb2, 0xddb8, 0xb76a, 0x003f, 0xb764, 0xdda3,
    -    0xdd7d, 0xddba, 0xdda8, 0xdda9, 0xdd7e, 0xddb4, 0xddab, 0xddb5,
    -    0xddad, 0x003f, 0xb765, 0xe1d9, 0xb768, 0xb766, 0xddb9, 0xddb0,
    -    0xddac, 0x003f, 0x003f, 0xdda1, 0xba53, 0xddaf, 0xb76d, 0xdda7,
    -    0x003f, 0xdda6, 0x003f, 0x003f, 0x003f, 0xb767, 0xb763, 0xe1ee,
    -    0xddb3, 0xddae, 0x003f, 0xdda2, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe1e9, 0x003f, 0xe1da, 0xe1e5, 0x003f,
    -    0xe1ec, 0xba51, 0xb4ac, 0xe1ea, 0xba4c, 0x003f, 0x003f, 0x003f,
    -    0xba4b, 0xe1f1, 0x003f, 0xe1db, 0xe1e8, 0xe1dc, 0xe1e7, 0xba4f,
    -    0xe1eb, 0xd962, 0x003f, 0x003f, 0x003f, 0xe1f2, 0xe1e3, 0xba52,
    -    0xe5ba, 0xbcaf, 0x003f, 0xe1f0, 0xe1ef, 0xba54, 0xe5ad, 0xbcb0,
    -    0xe5ae, 0x003f, 0xe1df, 0xe1e0, 0xe1dd, 0xe1e2, 0xe1de, 0xe1f3,
    -    0xba4e, 0xbcb1, 0xba50, 0xba55, 0x003f, 0xe1e1, 0x003f, 0xe1ed,
    -    0x003f, 0x003f, 0xe1e6, 0x003f, 0x003f, 0xe5b1, 0x003f, 0xba4a,
    -    0xbcb4, 0xe9aa, 0xe5b6, 0xe5b5, 0xe5b7, 0x003f, 0x003f, 0xe5b4,
    -    0xbcb5, 0x003f, 0xbcbb, 0xbcb8, 0x003f, 0xbcb9, 0xe5af, 0xe5b2,
    -    0xe5bc, 0xbcc1, 0xbcbf, 0x003f, 0xe5b3, 0xd95a, 0xbcb2, 0xe5b9,
    -    0xe5b0, 0x003f, 0xbcc2, 0xe5b8, 0xba4d, 0xbcb7, 0xe1e4, 0x003f,
    -    0x003f, 0xbcba, 0x003f, 0xbcbe, 0xbcc0, 0xbcbd, 0xbcbc, 0x003f,
    -    0xbcb6, 0xe5bb, 0xbcb3, 0xbcc3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xbed8, 0xbed9, 0xe9a9, 0xbee2, 0xbedf,
    -    0x003f, 0xbed6, 0xbedd, 0xe9ab, 0xbedb, 0xbed5, 0x003f, 0xbedc,
    -    0x003f, 0xe9a8, 0xc0bb, 0xbed7, 0x003f, 0xbede, 0xc0ba, 0xe9a7,
    -    0xe9a6, 0x003f, 0xbee0, 0x003f, 0xbee1, 0x003f, 0xe9a5, 0xe9a4,
    -    0xc0bc, 0xe9ae, 0xbeda, 0xe9ac, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xc0bd, 0x003f, 0xc0c2, 0xecea, 0xecec, 0x003f, 0xc0bf, 0x003f,
    -    0xeced, 0xece9, 0x003f, 0xeceb, 0xc0c0, 0xc0c3, 0x003f, 0xece8,
    -    0xc0be, 0xc0c1, 0xc259, 0xe9ad, 0xc258, 0x003f, 0x003f, 0xc25e,
    -    0xefd4, 0x003f, 0xc25c, 0xc25d, 0xefd7, 0xefd3, 0xc25a, 0xefd1,
    -    /* 0x6500 .. 0x65ff */
    -    0xc36b, 0xefd5, 0x003f, 0xefd6, 0xefd2, 0x003f, 0xc25b, 0xf242,
    -    0x003f, 0xf245, 0x003f, 0x003f, 0xf246, 0xf244, 0xf247, 0xc36c,
    -    0xf243, 0x003f, 0x003f, 0xf44e, 0xc464, 0xf44d, 0xf44c, 0xf44b,
    -    0xc463, 0xc465, 0x003f, 0xf5cd, 0xc4e2, 0xc4e1, 0x003f, 0x003f,
    -    0xf6e1, 0xf6e0, 0xf6e3, 0xc5cb, 0xc575, 0xf7dd, 0xf6e2, 0x003f,
    -    0x003f, 0xf7dc, 0xc5cd, 0xc5cc, 0xc5f3, 0xf8a9, 0xf8ef, 0xa4e4,
    -    0x003f, 0x003f, 0xd972, 0xe9af, 0x003f, 0x003f, 0xa6ac, 0xcaf7,
    -    0xa7f1, 0xa7ef, 0x003f, 0xa7f0, 0x003f, 0xccc1, 0xa9f1, 0xac46,
    -    0x003f, 0xcee7, 0x003f, 0xcee8, 0x003f, 0xac47, 0xd1ce, 0x003f,
    -    0xaec4, 0xaec5, 0xd1cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1d3,
    -    0x003f, 0xb1cf, 0x003f, 0xd5a7, 0xb1d6, 0xb1d5, 0xb1ce, 0xb1d1,
    -    0xb1d4, 0xb1d0, 0x003f, 0x003f, 0xd976, 0xb1cd, 0xb4af, 0x003f,
    -    0x003f, 0x003f, 0xb4b1, 0xb4b2, 0xd975, 0xd978, 0xb4b0, 0xd973,
    -    0xd977, 0x003f, 0xd974, 0x003f, 0xb771, 0x003f, 0x003f, 0xddbc,
    -    0x003f, 0x003f, 0xba56, 0xe1f4, 0xbee3, 0xbcc4, 0xe5bd, 0xbcc5,
    -    0xbcc6, 0xe5bf, 0xe5be, 0xe5c0, 0xe9b1, 0x003f, 0x003f, 0xe9b0,
    -    0xecef, 0xecee, 0xc0c4, 0xc0c5, 0xf248, 0x003f, 0x003f, 0xa4e5,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd979, 0x003f, 0x003f, 0x003f,
    -    0xb4b4, 0xb4b3, 0xddbd, 0x003f, 0xefd8, 0xc4e3, 0xf7de, 0xa4e6,
    -    0x003f, 0xaec6, 0x003f, 0xb1d8, 0xb1d7, 0xd97a, 0xd97b, 0xb772,
    -    0xe1f5, 0xba57, 0xe9b2, 0x003f, 0xa4e7, 0xa5b8, 0x003f, 0xa9f2,
    -    0xccc2, 0x003f, 0xcee9, 0xac48, 0xb1d9, 0x003f, 0xd97c, 0xb4b5,
    -    0xb773, 0x003f, 0xe5c1, 0xe5c2, 0x003f, 0x003f, 0xecf0, 0xc25f,
    -    0xf8f0, 0xa4e8, 0x003f, 0xccc3, 0xa9f3, 0xac49, 0x003f, 0xceea,
    -    0x003f, 0xaec7, 0xd1d2, 0xd1d0, 0xd1d1, 0xaec8, 0xd1cf, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb1db, 0xb1dc, 0xd5a8, 0xb1dd, 0xb1da,
    -    0xd97d, 0x003f, 0xd97e, 0xddbe, 0x003f, 0x003f, 0xba59, 0xba58,
    -    0x003f, 0x003f, 0xecf1, 0xefd9, 0x003f, 0xf24a, 0xf249, 0xf44f,
    -    0x003f, 0xc95e, 0xac4a, 0x003f, 0x003f, 0xa4e9, 0xa5b9, 0x003f,
    -    0xa6ae, 0xa6ad, 0x003f, 0x003f, 0xa6af, 0xa6b0, 0xc9ee, 0xc9ed,
    -    0xcaf8, 0xa7f2, 0xcafb, 0xcafa, 0xcaf9, 0xcafc, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa9f4, 0xccc9, 0xccc5, 0xccce, 0x003f, 0x003f,
    -    /* 0x6600 .. 0x66ff */
    -    0xa9fb, 0x003f, 0xa9f9, 0xccca, 0xccc6, 0xcccd, 0xa9f8, 0xaa40,
    -    0xccc8, 0xccc4, 0xa9fe, 0xcccb, 0xa9f7, 0xcccc, 0xa9fa, 0xa9fc,
    -    0xccd0, 0xcccf, 0xccc7, 0xa9f6, 0xa9f5, 0xa9fd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xceef, 0xcef5, 0x003f, 0xac50,
    -    0xac4d, 0xceec, 0xcef1, 0x003f, 0xac53, 0xac4b, 0xcef0, 0xac4e,
    -    0xac51, 0x003f, 0x003f, 0xcef3, 0x003f, 0xac4c, 0xcef8, 0xac4f,
    -    0x003f, 0xac52, 0xceed, 0xcef2, 0xcef6, 0xceee, 0xceeb, 0x003f,
    -    0x003f, 0xcef7, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaed0, 0xaec9, 0xaecc, 0x003f, 0xaecf, 0x003f, 0xd1d5,
    -    0x003f, 0xaeca, 0xd1d3, 0x003f, 0xaece, 0x003f, 0x003f, 0xaecb,
    -    0x003f, 0xd1d6, 0xaecd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd5ac, 0xb1df, 0xd5ab, 0xd5ad, 0xb1de, 0xb1e3, 0xd1d4,
    -    0x003f, 0xd5aa, 0xd5ae, 0x003f, 0xb1e0, 0xd5a9, 0xb1e2, 0x003f,
    -    0xb1e1, 0x003f, 0xd9a7, 0x003f, 0xd9a2, 0x003f, 0xb4b6, 0xb4ba,
    -    0xb4b7, 0xd9a5, 0xd9a8, 0x003f, 0xb4b8, 0x003f, 0xb4b9, 0xb4be,
    -    0xddc7, 0xd9a6, 0xb4bc, 0xd9a3, 0xd9a1, 0x003f, 0xb4bd, 0x003f,
    -    0xd9a4, 0x003f, 0x003f, 0x003f, 0xb779, 0x003f, 0xddbf, 0xb776,
    -    0xb777, 0xb775, 0xddc4, 0xddc3, 0xddc0, 0xb77b, 0x003f, 0x003f,
    -    0xddc2, 0xb4bb, 0x003f, 0x003f, 0xddc6, 0xddc1, 0xb778, 0xb774,
    -    0xb77a, 0xddc5, 0x003f, 0x003f, 0x003f, 0xba5c, 0x003f, 0xe1f8,
    -    0xe1f7, 0xe1f6, 0xba5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xba5b, 0xe5c5, 0xe5c8, 0xbcc8, 0x003f, 0x003f, 0xbcc7, 0xe5c9,
    -    0xe5c4, 0xbcca, 0xe5c6, 0x003f, 0xbcc9, 0xe5c3, 0x003f, 0xe5c7,
    -    0xbee9, 0xbee6, 0xe9bb, 0xe9ba, 0x003f, 0xe9b9, 0xe9b4, 0x003f,
    -    0xe9b5, 0x003f, 0x003f, 0x003f, 0xbee7, 0x003f, 0xbee4, 0xbee8,
    -    0xe9b3, 0xbee5, 0xe9b6, 0xe9b7, 0xe9bc, 0x003f, 0x003f, 0xe9b8,
    -    0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0x003f, 0xc0c7, 0x003f,
    -    0xefdc, 0xc0c6, 0xefda, 0xefdb, 0xc260, 0xc36e, 0xf24b, 0x003f,
    -    0xc36d, 0x003f, 0x003f, 0xf451, 0xf452, 0x003f, 0xc466, 0x003f,
    -    0xf450, 0xc4e4, 0x003f, 0xf7df, 0xc5ce, 0xf8aa, 0xf8ab, 0x003f,
    -    0xa4ea, 0x003f, 0xa6b1, 0xa6b2, 0xa7f3, 0x003f, 0xccd1, 0xac54,
    -    0xaed1, 0xb1e4, 0x003f, 0x003f, 0xb0d2, 0x003f, 0xb4bf, 0xb4c0,
    -    /* 0x6700 .. 0x67ff */
    -    0xb3cc, 0xd9a9, 0x003f, 0xb77c, 0xe1fa, 0xe1f9, 0x003f, 0x003f,
    -    0xa4eb, 0xa6b3, 0xccd2, 0xaa42, 0x003f, 0xaa41, 0x003f, 0xcef9,
    -    0xcefa, 0x003f, 0xd1d7, 0xd1d8, 0xaed2, 0xaed3, 0x003f, 0xaed4,
    -    0xd5af, 0x003f, 0x003f, 0xb1e6, 0x003f, 0xb4c2, 0x003f, 0xb4c1,
    -    0xddc8, 0xdf7a, 0xe1fb, 0xe9bd, 0x003f, 0x003f, 0xc261, 0xc467,
    -    0xa4ec, 0x003f, 0xa5bc, 0xa5bd, 0xa5bb, 0xa5be, 0xa5ba, 0x003f,
    -    0x003f, 0xa6b6, 0x003f, 0xc9f6, 0xa6b5, 0xa6b7, 0x003f, 0x003f,
    -    0xc9f1, 0xc9f0, 0xc9f3, 0xc9f2, 0xc9f5, 0xa6b4, 0xc9ef, 0xc9f4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafd, 0xa7fd, 0xcafe,
    -    0xcb43, 0xa7fc, 0x003f, 0xcb47, 0xcb42, 0xcb45, 0xa7f5, 0xa7f6,
    -    0xa7f7, 0xa7f8, 0x003f, 0xa840, 0x003f, 0xcb41, 0xa7fa, 0xa841,
    -    0x003f, 0xcb40, 0xcb46, 0x003f, 0xa7f9, 0xcb44, 0xa7fb, 0xa7f4,
    -    0xa7fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xaa57, 0x003f, 0xccd4, 0xaa43, 0x003f, 0xaa4d,
    -    0xaa4e, 0xaa46, 0xaa58, 0xaa48, 0xccdc, 0xaa53, 0xccd7, 0xaa49,
    -    0xcce6, 0xcce7, 0xccdf, 0xccd8, 0xaa56, 0xcce4, 0xaa51, 0xaa4f,
    -    0x003f, 0xcce5, 0x003f, 0xcce3, 0xccdb, 0xccd3, 0xccda, 0xaa4a,
    -    0x003f, 0xaa50, 0x003f, 0xaa44, 0xccde, 0xccdd, 0xccd5, 0x003f,
    -    0xaa52, 0xcce1, 0xccd6, 0xaa55, 0xcce8, 0xaa45, 0x003f, 0xaa4c,
    -    0xccd9, 0xcce2, 0xaa54, 0x003f, 0xaa47, 0xaa4b, 0x003f, 0xcce0,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcf5b, 0xac5c,
    -    0xac69, 0x003f, 0xcf56, 0xcf4c, 0xac62, 0xcf4a, 0xac5b, 0xcf45,
    -    0xac65, 0xcf52, 0xcefe, 0xcf41, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xcf44, 0xcefb, 0xcf51, 0xcf61, 0xac60, 0xcf46, 0xcf58, 0x003f,
    -    0xcefd, 0xcf5f, 0xcf60, 0xcf63, 0xcf5a, 0xcf4b, 0xcf53, 0xac66,
    -    0xac59, 0xac61, 0xac6d, 0xac56, 0xac58, 0x003f, 0x003f, 0x003f,
    -    0xcf43, 0xac6a, 0xac63, 0xcf5d, 0xcf40, 0xac6c, 0xac67, 0xcf49,
    -    0x003f, 0x003f, 0xac6b, 0xcf50, 0xcf48, 0xac64, 0xcf5c, 0xcf54,
    -    0x003f, 0xac5e, 0xcf62, 0xcf47, 0xac5a, 0xcf59, 0xcf4f, 0xac5f,
    -    0xcf55, 0xac57, 0xcefc, 0xac68, 0xaee3, 0xac5d, 0xcf4e, 0xcf4d,
    -    0xcf42, 0x003f, 0xcf5e, 0x003f, 0xcf57, 0x003f, 0x003f, 0xac55,
    -    /* 0x6800 .. 0x68ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd1ec, 0xaeea, 0xd1ed, 0x003f, 0xd1e1, 0xaedf,
    -    0xaeeb, 0x003f, 0xd1da, 0x003f, 0xd1e3, 0xd1eb, 0x003f, 0xd1d9,
    -    0xd1f4, 0xaed5, 0x003f, 0x003f, 0x003f, 0xd1f3, 0xd1ee, 0x003f,
    -    0xd1ef, 0xaedd, 0xaee8, 0xd1e5, 0x003f, 0xd1e6, 0xd1f0, 0xd1e7,
    -    0x003f, 0xd1e2, 0xd1dc, 0xd1dd, 0xd1ea, 0xd1e4, 0x003f, 0x003f,
    -    0xaed6, 0xaeda, 0xd1f2, 0xd1de, 0xaee6, 0xaee2, 0x003f, 0x003f,
    -    0xaee5, 0xaeec, 0xaedb, 0xaee7, 0xd1e9, 0xaee9, 0xaed8, 0x003f,
    -    0xaed7, 0xd1db, 0x003f, 0xd1df, 0xaee0, 0xd1f1, 0xd1e8, 0xd1e0,
    -    0xaee4, 0xaee1, 0x003f, 0xaed9, 0xaedc, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd5c4, 0x003f, 0xd5b4, 0xd5b5, 0xd5b9,
    -    0x003f, 0xd5c8, 0xd5c5, 0x003f, 0xd5be, 0xd5bd, 0xb1ed, 0xd5c1,
    -    0xd5d0, 0xd5b0, 0x003f, 0xd5d1, 0xd5c3, 0xd5d5, 0xd5c9, 0xb1ec,
    -    0xd5c7, 0xb1e7, 0xb1fc, 0xb1f2, 0x003f, 0xb1f6, 0xb1f5, 0xd5b1,
    -    0x003f, 0xd5ce, 0xd5d4, 0xd5cc, 0xd5d3, 0x003f, 0x003f, 0xd5c0,
    -    0xd5b2, 0xd5d2, 0xd5c2, 0xb1ea, 0xb1f7, 0x003f, 0xd5cb, 0xb1f0,
    -    0x003f, 0x003f, 0x003f, 0xd5ca, 0xd5b3, 0xb1f8, 0x003f, 0xb1fa,
    -    0xd5cd, 0xb1fb, 0xb1e9, 0xd5ba, 0xd5cf, 0x003f, 0x003f, 0xb1ef,
    -    0xb1f9, 0xd5bc, 0xd5c6, 0xd5b7, 0xd5bb, 0xb1f4, 0xd5b6, 0xb1e8,
    -    0xb1f1, 0xb1ee, 0xd5bf, 0xaede, 0xd9c0, 0xb1eb, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xb1f3, 0x003f, 0xd9c3, 0xd9d9,
    -    0xd9ce, 0xb4d6, 0x003f, 0xb4d1, 0xd9bd, 0xb4d2, 0xd9cd, 0x003f,
    -    0xd9c6, 0xd9d3, 0xb4ce, 0xd9ab, 0xd9d5, 0xb4c4, 0xd9b3, 0xb4c7,
    -    0xb4c6, 0x003f, 0xb4d7, 0x003f, 0xd9ad, 0xd9cf, 0xd9d0, 0xb4c9,
    -    0xb4c5, 0xd9bb, 0x003f, 0xb4d0, 0xd9b6, 0x003f, 0xd9d1, 0xb4cc,
    -    0xd9c9, 0xd9d6, 0xd9b0, 0xd9b5, 0xd9af, 0x003f, 0xb4cb, 0xd9c2,
    -    0xddde, 0xd9b1, 0xb4cf, 0xd9ba, 0xd9d2, 0xb4ca, 0xd9b7, 0xd9b4,
    -    0xd9c5, 0xb4cd, 0xb4c3, 0xb4d9, 0xd9c8, 0xd9c7, 0x003f, 0x003f,
    -    /* 0x6900 .. 0x69ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd9ac, 0xb4c8, 0xd9d4, 0xd9bc,
    -    0xd9be, 0x003f, 0xd9cb, 0xd9ca, 0xd9aa, 0xb4d3, 0xb4d5, 0xd9b2,
    -    0xd9b9, 0xd9c1, 0xb4d4, 0xd9b8, 0xd9c4, 0xd9d7, 0x003f, 0xd9cc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d8, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xddf2,
    -    0xb7a6, 0x003f, 0xddf0, 0xdddb, 0xdde0, 0xddd9, 0x003f, 0xddec,
    -    0xddcb, 0xddd2, 0x003f, 0xddea, 0xddf4, 0xdddc, 0x003f, 0xddcf,
    -    0xdde2, 0xdde7, 0xddd3, 0x003f, 0xdde4, 0xddd0, 0x003f, 0x003f,
    -    0xddd7, 0xddd8, 0xb7a8, 0xddeb, 0xdde9, 0x003f, 0xddcc, 0xddee,
    -    0x003f, 0xddef, 0xddf1, 0xb7ac, 0xb7a4, 0x003f, 0xd5b8, 0xddd4,
    -    0xdde6, 0xddd5, 0xb7a1, 0xb7b1, 0xdded, 0xb7af, 0xb7ab, 0xddca,
    -    0xb7a3, 0x003f, 0xddcd, 0xb7b0, 0x003f, 0xdddd, 0xddc9, 0x003f,
    -    0xb7a9, 0xdde1, 0xddd1, 0xb7aa, 0xddda, 0xb77e, 0xb4d8, 0xdde3,
    -    0xd9bf, 0xddce, 0x003f, 0x003f, 0xdde8, 0xb7a5, 0xdde5, 0xb7a2,
    -    0xdddf, 0xb7ad, 0xddd6, 0xddf3, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb7a7, 0xdec6, 0x003f, 0x003f, 0xb7ae, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe24a, 0xe248, 0x003f,
    -    0xe25e, 0xe246, 0x003f, 0xe258, 0xb77d, 0xba5f, 0xe242, 0xe25d,
    -    0x003f, 0xe247, 0xe255, 0xba64, 0xba5d, 0x003f, 0xe25b, 0x003f,
    -    0xe240, 0xe25a, 0x003f, 0xba6f, 0xe251, 0xe261, 0xba6d, 0xe249,
    -    0xba5e, 0xe24b, 0xe259, 0xba67, 0xe244, 0xba6b, 0xba61, 0xe24d,
    -    0xe243, 0xe1fc, 0x003f, 0xe257, 0xba68, 0xe260, 0xe1fd, 0xba65,
    -    0x003f, 0xe253, 0x003f, 0xba66, 0xe245, 0xe250, 0xe24c, 0xe24e,
    -    0x003f, 0xba60, 0xe25f, 0xba6e, 0xe24f, 0x003f, 0xe262, 0x003f,
    -    0x003f, 0xe1fe, 0xe254, 0xba63, 0xba6c, 0xba6a, 0xe241, 0xe256,
    -    0xba69, 0x003f, 0x003f, 0xba62, 0xe252, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xe25c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe5d5, 0x003f, 0xe5d1, 0xe5cd, 0xe5e1, 0xe5de,
    -    0xbccd, 0x003f, 0x003f, 0xe5e5, 0xe5d4, 0xbcd8, 0xe5db, 0x003f,
    -    0x003f, 0xe5d0, 0xe5da, 0xbcd5, 0xe5ee, 0x003f, 0xe5eb, 0xe5dd,
    -    0xe5ce, 0x003f, 0x003f, 0xe5e2, 0xe5e4, 0xbcd1, 0xe5d8, 0xe5d3,
    -    /* 0x6a00 .. 0x6aff */
    -    0xe5ca, 0xbcce, 0xbcd6, 0x003f, 0xe5e7, 0xbcd7, 0xe5cb, 0xe5ed,
    -    0xe5e0, 0xe5e6, 0xbcd4, 0x003f, 0x003f, 0xe5e3, 0x003f, 0xe5ea,
    -    0x003f, 0xbcd9, 0x003f, 0xbcd3, 0xe5dc, 0xe5cf, 0xe5ef, 0xe5cc,
    -    0xe5e8, 0xbcd0, 0x003f, 0xe5d6, 0x003f, 0xe5d7, 0xbccf, 0xbccc,
    -    0xe5d2, 0xbcd2, 0x003f, 0xbccb, 0x003f, 0xe5e9, 0xe5ec, 0xe5d9,
    -    0xe9ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe9c2, 0x003f, 0xe9be, 0xbef6, 0x003f, 0x003f,
    -    0xbeeb, 0xbef0, 0xbeec, 0xe9cc, 0xe9d7, 0xbeea, 0xe9c4, 0xe9cd,
    -    0xe5df, 0xe9ce, 0x003f, 0x003f, 0xbef1, 0x003f, 0xe9dd, 0xbef5,
    -    0xbef8, 0xe9c0, 0x003f, 0xbef4, 0x003f, 0xe9db, 0xe9dc, 0xe9d2,
    -    0xe9d1, 0xe9c9, 0x003f, 0x003f, 0xe9d3, 0xe9da, 0xe9d9, 0x003f,
    -    0xbeef, 0xbeed, 0xe9cb, 0xe9c8, 0x003f, 0xe9c5, 0xe9d8, 0xbef7,
    -    0xe9d6, 0xbef3, 0xbef2, 0x003f, 0xe9d0, 0x003f, 0xe9bf, 0xe9c1,
    -    0xe9c3, 0xe9d5, 0xe9cf, 0xbeee, 0x003f, 0xe9c6, 0x003f, 0xe9d4,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c7, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0cf, 0xed45,
    -    0xc0c8, 0xecf5, 0x003f, 0xed41, 0xc0ca, 0xed48, 0x003f, 0xecfc,
    -    0x003f, 0xecf7, 0x003f, 0x003f, 0xed49, 0xecf3, 0xecfe, 0x003f,
    -    0xc0d1, 0xed44, 0xed4a, 0xecfd, 0xc0c9, 0xed40, 0xecf4, 0xc0d0,
    -    0x003f, 0x003f, 0xed47, 0xecf9, 0xc0cc, 0x003f, 0xecfb, 0xecf8,
    -    0xc0d2, 0xecfa, 0xc0cb, 0xc0ce, 0xed43, 0xecf6, 0xed46, 0x003f,
    -    0xed42, 0x003f, 0x003f, 0x003f, 0xc263, 0xefe7, 0xc268, 0xc269,
    -    0x003f, 0x003f, 0x003f, 0xc262, 0xefe6, 0x003f, 0xefe3, 0xefe4,
    -    0xc266, 0xefde, 0xefe2, 0xc265, 0x003f, 0xefdf, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc267, 0xc264, 0x003f, 0xefdd, 0xefe1, 0xefe5,
    -    0x003f, 0x003f, 0x003f, 0xf251, 0xf24e, 0xf257, 0x003f, 0xf256,
    -    0xf254, 0xf24f, 0x003f, 0xc372, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf250, 0xc371, 0xc0cd, 0xf253, 0xc370, 0xf258, 0xf252,
    -    0xf24d, 0xefe0, 0x003f, 0x003f, 0x003f, 0xc36f, 0x003f, 0xf24c,
    -    0xf456, 0x003f, 0xf455, 0xf255, 0xc468, 0x003f, 0xf459, 0xf45a,
    -    0xf454, 0xf458, 0x003f, 0xf453, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf5d1, 0xf457, 0xc4e7, 0xc4e5, 0xf5cf, 0x003f, 0x003f, 0x003f,
    -    /* 0x6b00 .. 0x6bff */
    -    0xf5d2, 0x003f, 0xf5ce, 0xf5d0, 0xc4e6, 0x003f, 0x003f, 0x003f,
    -    0xf6e5, 0xf6e6, 0xc576, 0xf6e4, 0x003f, 0x003f, 0x003f, 0xf7e2,
    -    0xc5cf, 0xf7e0, 0xf7e1, 0xf8ac, 0x003f, 0x003f, 0xc656, 0xf8f3,
    -    0xf8f1, 0xf8f2, 0xf8f4, 0x003f, 0x003f, 0x003f, 0xf9bb, 0x003f,
    -    0xa4ed, 0xa6b8, 0x003f, 0xaa59, 0x003f, 0xcce9, 0x003f, 0x003f,
    -    0xcf64, 0x003f, 0x003f, 0x003f, 0xd1f5, 0xd1f7, 0x003f, 0xd1f6,
    -    0x003f, 0xd1f8, 0xb1fd, 0xd5d7, 0xd1f9, 0x003f, 0xd5d6, 0xd5d8,
    -    0xd5d9, 0xd9da, 0xb4db, 0xd9db, 0xd9dd, 0xb4dc, 0xb4da, 0xd9dc,
    -    0x003f, 0xddfa, 0xddf8, 0xddf7, 0x003f, 0xddf6, 0xddf5, 0xb7b2,
    -    0xddf9, 0xba70, 0xe263, 0xe265, 0xba71, 0xe264, 0xbcdb, 0x003f,
    -    0xbcda, 0xe5f0, 0x003f, 0x003f, 0xe9df, 0xe9de, 0xe9e0, 0x003f,
    -    0x003f, 0xbef9, 0x003f, 0xed4b, 0xc0d3, 0x003f, 0xefe8, 0xc26a,
    -    0xf259, 0xc577, 0xa4ee, 0xa5bf, 0xa6b9, 0xa842, 0xaa5a, 0xaa5b,
    -    0x003f, 0x003f, 0xac6e, 0x003f, 0x003f, 0xd1fa, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb7b3, 0x003f, 0x003f, 0x003f, 0xe6d1, 0xbefa,
    -    0xc26b, 0xa4ef, 0x003f, 0xa6ba, 0x003f, 0x003f, 0xcceb, 0xaa5c,
    -    0xccea, 0x003f, 0xcf65, 0xac6f, 0xcf66, 0x003f, 0xac70, 0x003f,
    -    0xd1fc, 0xaeee, 0xaeed, 0x003f, 0xd5de, 0xd5dc, 0xd5dd, 0xd5db,
    -    0x003f, 0xd5da, 0x003f, 0x003f, 0xd9de, 0xd9e1, 0xb4de, 0xd9df,
    -    0xb4dd, 0xd9e0, 0x003f, 0xddfb, 0x003f, 0x003f, 0xe266, 0xe267,
    -    0xe268, 0x003f, 0xe5f3, 0xe5f2, 0xbcdc, 0xe5f1, 0xe5f4, 0xe9e1,
    -    0x003f, 0x003f, 0xe9e2, 0xe9e3, 0x003f, 0xed4c, 0xc0d4, 0xc26c,
    -    0xf25a, 0x003f, 0xc4e8, 0xc95f, 0x003f, 0xac71, 0xcf67, 0xaeef,
    -    0x003f, 0x003f, 0xb1fe, 0x003f, 0xb4df, 0xd9e2, 0x003f, 0xb7b5,
    -    0xb7b4, 0x003f, 0x003f, 0xe269, 0xe26a, 0xbcdd, 0xbcde, 0xe9e5,
    -    0xe9e4, 0xefe9, 0xf7e3, 0xa4f0, 0xc960, 0xa5c0, 0x003f, 0xa843,
    -    0xcb48, 0x003f, 0xac72, 0xb7b6, 0xa4f1, 0x003f, 0xcf68, 0xac73,
    -    0xcf69, 0x003f, 0xc0d5, 0xa4f2, 0x003f, 0x003f, 0xccec, 0x003f,
    -    0xcf6a, 0x003f, 0xd242, 0xd241, 0xd1fe, 0x003f, 0xd1fd, 0xd243,
    -    0xd240, 0x003f, 0x003f, 0xb240, 0xb241, 0x003f, 0x003f, 0xb4e0,
    -    0xd9e3, 0x003f, 0xd9e4, 0xd9e5, 0x003f, 0x003f, 0x003f, 0xde41,
    -    0xde42, 0xde40, 0x003f, 0xddfd, 0xddfe, 0xb7b7, 0xe26b, 0xe5f7,
    -    /* 0x6c00 .. 0x6cff */
    -    0xe5f6, 0xe5f5, 0xe5f8, 0xe9e7, 0xe9e6, 0xbefb, 0xe9e8, 0x003f,
    -    0xc0d6, 0xed4d, 0x003f, 0xefea, 0xf25b, 0xf6e7, 0x003f, 0xa4f3,
    -    0xa5c2, 0xa5c1, 0x003f, 0xaa5d, 0xc961, 0xc97e, 0xa6bb, 0x003f,
    -    0xc9f7, 0xcb49, 0xcb4a, 0xaa5e, 0x003f, 0xcced, 0x003f, 0xac74,
    -    0xcf6b, 0xcf6c, 0x003f, 0xaef0, 0xaef4, 0xd244, 0xaef3, 0xaef1,
    -    0xaef2, 0x003f, 0xd5df, 0xb242, 0xb4e3, 0x003f, 0xb4e1, 0xb4e2,
    -    0xd9e6, 0x003f, 0x003f, 0xba72, 0xa4f4, 0x003f, 0xc9a1, 0x003f,
    -    0xa5c3, 0x003f, 0x003f, 0xc9a4, 0x003f, 0x003f, 0xa5c6, 0xc9a3,
    -    0xa5c5, 0xa5c4, 0xa844, 0xc9a2, 0x003f, 0x003f, 0xc9f8, 0x003f,
    -    0x003f, 0x003f, 0xc9fc, 0xc9fe, 0xca40, 0xa6c5, 0xa6c6, 0xc9fb,
    -    0xa6c1, 0x003f, 0xc9f9, 0x003f, 0xc9fd, 0xa6c2, 0x003f, 0xa6bd,
    -    0x003f, 0xa6be, 0x003f, 0xa6c4, 0xc9fa, 0xa6bc, 0xa845, 0xa6bf,
    -    0xa6c0, 0xa6c3, 0x003f, 0x003f, 0x003f, 0xcb5b, 0xcb59, 0xcb4c,
    -    0xa851, 0xcb53, 0xa84c, 0xcb4d, 0x003f, 0xcb55, 0x003f, 0xcb52,
    -    0xa84f, 0xcb51, 0xa856, 0xcb5a, 0xa858, 0x003f, 0xa85a, 0x003f,
    -    0xcb4b, 0x003f, 0xa84d, 0xcb5c, 0x003f, 0xa854, 0xa857, 0x003f,
    -    0xcd45, 0xa847, 0xa85e, 0xa855, 0xcb4e, 0xa84a, 0xa859, 0xcb56,
    -    0xa848, 0xa849, 0xcd43, 0xcb4f, 0xa850, 0xa85b, 0xcb5d, 0xcb50,
    -    0xa84e, 0x003f, 0xa853, 0xccee, 0xa85c, 0xcb57, 0xa852, 0x003f,
    -    0xa85d, 0xa846, 0xcb54, 0xa84b, 0xcb58, 0xcd44, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xaa6a, 0xaa7a, 0xccf5, 0xaa71, 0x003f,
    -    0xcd4b, 0xaa62, 0x003f, 0xaa65, 0xcd42, 0x003f, 0xccf3, 0xccf7,
    -    0xaa6d, 0xaa6f, 0xccfa, 0xaa76, 0xaa68, 0xaa66, 0xaa67, 0xaa75,
    -    0xcd47, 0xaa70, 0xccf9, 0xccfb, 0xaa6e, 0xaa73, 0xccfc, 0xcd4a,
    -    0x003f, 0xac75, 0xaa79, 0x003f, 0xaa63, 0xcd49, 0x003f, 0xcd4d,
    -    0xccf8, 0xcd4f, 0xcd40, 0xaa6c, 0xccf4, 0xaa6b, 0xaa7d, 0xaa72,
    -    0x003f, 0xccf2, 0xcf75, 0xaa78, 0xaa7c, 0xcd41, 0xcd46, 0x003f,
    -    0xaa7e, 0xaa77, 0xaa69, 0xaa5f, 0x003f, 0xaa64, 0x003f, 0xccf6,
    -    0xaa60, 0xcd4e, 0x003f, 0xccf0, 0xccef, 0xccfd, 0xccf1, 0xaa7b,
    -    0xaef5, 0xaa74, 0xccfe, 0xaa61, 0x003f, 0xaca6, 0x003f, 0x003f,
    -    0x003f, 0xcd4c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x6d00 .. 0x6dff */
    -    0xcf7c, 0xcfa1, 0x003f, 0xcfa4, 0xcf77, 0x003f, 0x003f, 0xcfa7,
    -    0xcfaa, 0xcfac, 0xcf74, 0xac76, 0xac7b, 0xd249, 0xacad, 0xcfa5,
    -    0xcfad, 0xcf7b, 0xcf73, 0x003f, 0x003f, 0x003f, 0xd264, 0xac7e,
    -    0xcfa2, 0xcf78, 0xcf7a, 0xaca5, 0x003f, 0xcf7d, 0xac7d, 0xcf70,
    -    0xcfa8, 0x003f, 0xcfab, 0x003f, 0x003f, 0xac7a, 0x003f, 0xaca8,
    -    0xcf6d, 0xacaa, 0xac78, 0xacae, 0xcfa9, 0xcf6f, 0xacab, 0xd25e,
    -    0xcd48, 0xac7c, 0xac77, 0xcf76, 0xcf6e, 0xacac, 0xaca4, 0xcfa3,
    -    0xaca9, 0xaca7, 0xcf79, 0xaca1, 0xcf71, 0xaca2, 0xaca3, 0xcf72,
    -    0xcfa6, 0xac79, 0xcf7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd24c, 0xaefd, 0xaf43, 0x003f, 0x003f, 0x003f, 0xd255, 0xd25b,
    -    0xd257, 0xd24a, 0xd24d, 0xd246, 0xd247, 0xaf4a, 0xaefa, 0xd256,
    -    0xd25f, 0xaf45, 0xaef6, 0x003f, 0xaf40, 0xd24e, 0xaf42, 0xd24f,
    -    0xd259, 0x003f, 0x003f, 0x003f, 0xaf44, 0xd268, 0xd248, 0xaefc,
    -    0xaefb, 0xaf48, 0xd245, 0xd266, 0xd25a, 0xd267, 0xd261, 0xd253,
    -    0xd262, 0x003f, 0xd25c, 0xd265, 0xd263, 0xaf49, 0xd254, 0xaef9,
    -    0xaef8, 0xaf41, 0xaf47, 0xd260, 0xaf46, 0xd251, 0xb243, 0x003f,
    -    0xd269, 0xd250, 0xd24b, 0xaefe, 0xaf4b, 0xaef7, 0x003f, 0xd258,
    -    0xd25d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb265, 0xd5e1, 0xd5e5, 0x003f, 0xb252, 0xb250,
    -    0x003f, 0x003f, 0xb247, 0xd5e3, 0xd5e2, 0xb25b, 0x003f, 0xd5e8,
    -    0xb255, 0x003f, 0xd5fa, 0xd647, 0xb244, 0xd5f7, 0xd5f0, 0xb267,
    -    0xd5e0, 0x003f, 0xd5fc, 0x003f, 0xb264, 0xb258, 0xb263, 0xb24e,
    -    0xd5ec, 0xd5fe, 0xd5f6, 0xb24f, 0xb249, 0xd645, 0x003f, 0xd5fd,
    -    0xd640, 0xb251, 0xb259, 0xd642, 0xd5ea, 0xd5fb, 0xd5ef, 0xd644,
    -    0xb25e, 0xb246, 0xb25c, 0xd5f4, 0xd5f2, 0xd5f3, 0xb253, 0xd5ee,
    -    0xd5ed, 0xb248, 0xd5e7, 0xd646, 0xb24a, 0xd5f1, 0xb268, 0x003f,
    -    0xb262, 0xd5e6, 0xb25f, 0xb25d, 0xb266, 0xd5f8, 0xb261, 0xd252,
    -    0xd5f9, 0xb260, 0xd641, 0xb245, 0xd5f5, 0xb257, 0xd5e9, 0xb256,
    -    0x003f, 0xb254, 0xb24c, 0xb24b, 0xd9e7, 0xd643, 0x003f, 0x003f,
    -    /* 0x6e00 .. 0x6eff */
    -    0xd5eb, 0x003f, 0x003f, 0xd9fc, 0x003f, 0xb24d, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb541, 0xb25a, 0xb4ee, 0xd9f6, 0xb4fc, 0x003f, 0xd9ea,
    -    0xb4eb, 0xb4e7, 0xda49, 0xb4ed, 0xb4f1, 0xb4ec, 0xb4f5, 0xda4d,
    -    0xda44, 0x003f, 0x003f, 0xd9f1, 0xb4fa, 0xb4f4, 0xd9fd, 0xb4e4,
    -    0xda4a, 0xda43, 0xb4e8, 0xd9f7, 0xb4f7, 0xda55, 0xda56, 0x003f,
    -    0xb4e5, 0xda48, 0xb4f9, 0xd9fb, 0xd9ed, 0xd9ee, 0xb4fd, 0xd9f2,
    -    0xd9f9, 0xd9f3, 0x003f, 0xb4fb, 0xb544, 0xd9ef, 0xd9e8, 0xd9e9,
    -    0x003f, 0xd9eb, 0xb4ea, 0xd9f8, 0x003f, 0xb4f8, 0xb542, 0x003f,
    -    0x003f, 0xd9fa, 0xda53, 0xda4b, 0xb4e6, 0xda51, 0xb4f2, 0x003f,
    -    0xb4f0, 0x003f, 0xda57, 0xb4ef, 0xda41, 0xd9f4, 0xd9fe, 0xb547,
    -    0xda45, 0xda42, 0xd9f0, 0xb543, 0xda4f, 0xda4c, 0xda54, 0xb4e9,
    -    0xda40, 0xb546, 0x003f, 0xda47, 0x003f, 0x003f, 0xb4f3, 0xb4f6,
    -    0x003f, 0xda46, 0xb545, 0xd9f5, 0xd5e4, 0x003f, 0x003f, 0xda50,
    -    0xda4e, 0xda52, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd9ec, 0xb540, 0x003f, 0x003f, 0x003f, 0xde61, 0xde60, 0xde46,
    -    0xb7bd, 0x003f, 0xde5f, 0xde49, 0xde4a, 0x003f, 0xb7c7, 0xde68,
    -    0xb7c2, 0xde5e, 0x003f, 0xde43, 0xb7c8, 0xb7be, 0xde52, 0xde48,
    -    0xde4b, 0xde63, 0xb7b8, 0xde6a, 0xde62, 0xb7c1, 0xde57, 0xb7cc,
    -    0x003f, 0x003f, 0xb7cb, 0xb7c5, 0x003f, 0x003f, 0xde69, 0xb7b9,
    -    0xde55, 0xde4c, 0xde59, 0xde65, 0xb7cd, 0x003f, 0xb7bb, 0xde54,
    -    0x003f, 0xde4d, 0xb7c4, 0x003f, 0xb7c3, 0xde50, 0xde5a, 0xde64,
    -    0xde47, 0xde51, 0xb7bc, 0xde5b, 0xb7c9, 0xb7c0, 0xde4e, 0xb7bf,
    -    0xde45, 0xde53, 0xde67, 0xb4fe, 0xbab0, 0xde56, 0xe26c, 0xde58,
    -    0xde66, 0xb7c6, 0xde4f, 0xb7ba, 0xb7ca, 0xbcf0, 0xde44, 0x003f,
    -    0xde5d, 0x003f, 0x003f, 0x003f, 0xde5c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe2aa, 0xbaad, 0xe27d, 0xe2a4, 0xbaa2,
    -    0x003f, 0xe26e, 0xbaaf, 0x003f, 0xba77, 0xe26d, 0xe2b0, 0xbab1,
    -    0xe271, 0xe2a3, 0x003f, 0xe273, 0xe2b3, 0xe2af, 0xba75, 0xbaa1,
    -    /* 0x6f00 .. 0x6fff */
    -    0xe653, 0xbaae, 0xba7d, 0xe26f, 0x003f, 0xe2ae, 0xbaa3, 0xe2ab,
    -    0xe2b8, 0xe275, 0xe27e, 0x003f, 0x003f, 0xe2b6, 0xe2ac, 0xba7c,
    -    0x003f, 0x003f, 0xe27c, 0xba76, 0xba74, 0xbaa8, 0x003f, 0x003f,
    -    0xe27a, 0xe277, 0xe278, 0x003f, 0xe2b2, 0x003f, 0xe2b7, 0xe2b5,
    -    0xba7a, 0xe2b9, 0xba7e, 0xbaa7, 0x003f, 0xe270, 0xe5fa, 0xe279,
    -    0x003f, 0xba78, 0xbaac, 0xbaa9, 0xba7b, 0xe2a5, 0xe274, 0xbaaa,
    -    0xe2a7, 0xbaa4, 0xbaa6, 0xba73, 0x003f, 0xe2a9, 0xe2a1, 0xe272,
    -    0xbaa5, 0xe2b1, 0xe2b4, 0xe27b, 0xe2a8, 0x003f, 0xba79, 0xbcdf,
    -    0xe2a6, 0xe5f9, 0x003f, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe276, 0xe644,
    -    0xe64e, 0xbce2, 0xe64d, 0xe659, 0xbce4, 0xe64b, 0x003f, 0xe64f,
    -    0xbcef, 0x003f, 0xe646, 0xbce7, 0x003f, 0xe652, 0xe9f0, 0xbcf3,
    -    0xbcf2, 0xe654, 0xe643, 0xe65e, 0xbced, 0x003f, 0xbce3, 0xe657,
    -    0x003f, 0xe65b, 0xe660, 0xe655, 0xe649, 0xbce6, 0xbce9, 0xbcf1,
    -    0xbcec, 0x003f, 0xe64c, 0xe2a2, 0x003f, 0x003f, 0xe648, 0xe65f,
    -    0xbce8, 0x003f, 0xbceb, 0xe661, 0xbce0, 0xe656, 0xe5fb, 0xe65c,
    -    0xc0df, 0x003f, 0xe64a, 0x003f, 0xbce1, 0xe645, 0xbce5, 0xe5fc,
    -    0xbaab, 0xe641, 0x003f, 0xe65a, 0xe642, 0xe640, 0xbcea, 0x003f,
    -    0xe658, 0x003f, 0xe5fe, 0xe651, 0xe650, 0xe65d, 0xe647, 0xbcee,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f3, 0x003f,
    -    0xbf49, 0xbefe, 0xea40, 0xe9eb, 0xbf41, 0xe9f7, 0xbf48, 0xbf43,
    -    0xe9f5, 0xed4f, 0xe9fb, 0xea42, 0xe9fa, 0xe9e9, 0xe9f8, 0xea44,
    -    0xea46, 0xbefd, 0xea45, 0xbf44, 0xbf4a, 0x003f, 0xbf47, 0x003f,
    -    0xe9fe, 0xbf46, 0xe9f9, 0x003f, 0xe9ed, 0xe9f2, 0x003f, 0xe9fd,
    -    0xbf45, 0xbf42, 0xbefc, 0xbf40, 0xe9f1, 0x003f, 0xe5fd, 0xe9ec,
    -    0xe9ef, 0xea41, 0xe9f4, 0xe9ea, 0xed4e, 0xea43, 0xe9ee, 0xe9fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xed51, 0xc0e3, 0x003f, 0x003f,
    -    0xc0d7, 0x003f, 0x003f, 0xc0db, 0xed53, 0xed59, 0xed57, 0xc0d9,
    -    0xc0da, 0xc0e1, 0xed5a, 0xed52, 0xc0dc, 0x003f, 0xed56, 0xed55,
    -    0xed5b, 0xc0e2, 0x003f, 0xc0dd, 0xc0e0, 0xed54, 0xc0e4, 0xc0de,
    -    0xc0e5, 0xc0d8, 0xed58, 0x003f, 0xed50, 0x003f, 0x003f, 0xeff7,
    -    0x003f, 0x003f, 0xc271, 0xeff4, 0xeff6, 0x003f, 0xc26f, 0xeff2,
    -    /* 0x7000 .. 0x70ff */
    -    0xeff3, 0xefee, 0x003f, 0x003f, 0xe9f6, 0xefef, 0xc270, 0xefeb,
    -    0x003f, 0xc26d, 0xeff8, 0xc26e, 0xefec, 0xefed, 0xeff1, 0xc273,
    -    0x003f, 0xc272, 0x003f, 0x003f, 0xeff0, 0xc378, 0xf25f, 0xf265,
    -    0xc379, 0xf25c, 0xc376, 0xc373, 0xf267, 0xc377, 0x003f, 0xc374,
    -    0xf25e, 0xf261, 0xf262, 0xf263, 0xf266, 0x003f, 0xeff5, 0xf25d,
    -    0xc375, 0xf264, 0xf268, 0xf260, 0x003f, 0x003f, 0x003f, 0xf45d,
    -    0xc46a, 0xf460, 0xc46b, 0xf468, 0xf45f, 0xf45c, 0x003f, 0xf45e,
    -    0xf462, 0xf465, 0xf464, 0xf467, 0xf45b, 0x003f, 0xc469, 0xf463,
    -    0xf466, 0xf469, 0xf461, 0xf5d3, 0xf5d4, 0xf5d8, 0xf5d9, 0x003f,
    -    0xf5d6, 0xf5d7, 0xf5d5, 0x003f, 0xc4e9, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc578, 0xf6eb, 0x003f, 0x003f, 0xf6e8, 0xf6e9, 0xf6ea,
    -    0xc579, 0x003f, 0xf7e5, 0xf7e4, 0x003f, 0xf8af, 0xc5f4, 0xf8ad,
    -    0xf8b0, 0xf8ae, 0xf8f5, 0xc657, 0xc665, 0xf9a3, 0xf96c, 0x003f,
    -    0xf9a2, 0xf9d0, 0xf9d1, 0xa4f5, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa6c7, 0xca41, 0x003f, 0x003f, 0xcb5e, 0x003f, 0xa85f, 0x003f,
    -    0xa862, 0x003f, 0xcb5f, 0x003f, 0xa860, 0xa861, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcd58, 0xcd5a, 0xcd55, 0xcd52, 0xcd54, 0x003f,
    -    0x003f, 0x003f, 0xaaa4, 0x003f, 0x003f, 0x003f, 0xaaa2, 0x003f,
    -    0x003f, 0xcd56, 0xaaa3, 0xcd53, 0xcd50, 0xaaa1, 0xcd57, 0x003f,
    -    0xcd51, 0xaaa5, 0xcd59, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfaf,
    -    0x003f, 0xcfb3, 0x003f, 0x003f, 0xacb7, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcfb6, 0x003f, 0xacaf, 0xacb2, 0xacb4, 0xacb6, 0xacb3,
    -    0xcfb2, 0xcfb1, 0x003f, 0xacb1, 0xcfb4, 0xcfb5, 0x003f, 0xcfae,
    -    0xacb5, 0x003f, 0xacb0, 0x003f, 0x003f, 0x003f, 0xcfb0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd277, 0xd278, 0xd279,
    -    0xaf50, 0x003f, 0xaf4c, 0xd26e, 0x003f, 0xd276, 0xd27b, 0xaf51,
    -    0x003f, 0xd26c, 0xd272, 0xd26b, 0xd275, 0x003f, 0x003f, 0xd271,
    -    0xaf4d, 0xaf4f, 0xd27a, 0x003f, 0xd26a, 0xd26d, 0xd273, 0x003f,
    -    0xd274, 0xd27c, 0xd270, 0x003f, 0xaf4e, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb26d,
    -    0xd64e, 0x003f, 0x003f, 0xd650, 0xd64c, 0x003f, 0xd658, 0xd64a,
    -    0xd657, 0xb269, 0xd648, 0xda5b, 0xd652, 0xb26c, 0x003f, 0xd653,
    -    /* 0x7100 .. 0x71ff */
    -    0xd656, 0x003f, 0xd65a, 0x003f, 0xd64f, 0x003f, 0xd654, 0x003f,
    -    0x003f, 0xb26a, 0xb26b, 0xd659, 0xd64d, 0xd649, 0xd65b, 0x003f,
    -    0xd651, 0x003f, 0x003f, 0xd655, 0x003f, 0x003f, 0x003f, 0xd64b,
    -    0x003f, 0xb548, 0xb549, 0xda65, 0xb54f, 0x003f, 0xda59, 0xda62,
    -    0xda58, 0xb54c, 0xda60, 0xda5e, 0x003f, 0xda5f, 0xb54a, 0x003f,
    -    0xda63, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xda5c, 0xda5a,
    -    0xb54b, 0xda5d, 0xda61, 0x003f, 0x003f, 0x003f, 0xb54d, 0x003f,
    -    0x003f, 0x003f, 0xda64, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xde70, 0xde77, 0xde79, 0xdea1, 0x003f, 0xb7da, 0xde6b,
    -    0x003f, 0xb7d2, 0x003f, 0xde7a, 0xb7d7, 0xdea2, 0xb7ce, 0x003f,
    -    0xde7d, 0x003f, 0xde6d, 0xde7e, 0xde6c, 0x003f, 0xb7dc, 0x003f,
    -    0xde78, 0xb7cf, 0xdea3, 0x003f, 0xb7d4, 0xde71, 0xb7d9, 0xde7c,
    -    0xde6f, 0xde76, 0xde72, 0xde6e, 0xb7d1, 0xb7d8, 0xb7d6, 0xb7d3,
    -    0xb7db, 0xb7d0, 0xde75, 0x003f, 0xb7d5, 0x003f, 0xb54e, 0x003f,
    -    0xde7b, 0x003f, 0xde73, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xde74, 0x003f, 0x003f, 0xe2c1, 0x003f, 0xbab4, 0x003f, 0x003f,
    -    0xe2bd, 0xe2c3, 0xe2bf, 0x003f, 0xbab6, 0xe2be, 0xe2c2, 0xe2ba,
    -    0x003f, 0xe2bc, 0xbab5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c0,
    -    0xe2bb, 0x003f, 0xbab7, 0x003f, 0xbab2, 0x003f, 0x003f, 0xe2c4,
    -    0x003f, 0xbab3, 0xe667, 0xe664, 0xe670, 0xe66a, 0xe66c, 0xbcf4,
    -    0xe666, 0xe66e, 0x003f, 0x003f, 0xe66d, 0xe66b, 0x003f, 0xe671,
    -    0xbcf7, 0xe668, 0xe66f, 0x003f, 0xbcf5, 0x003f, 0x003f, 0xe663,
    -    0xe665, 0xbcf6, 0xe662, 0xe672, 0x003f, 0xe669, 0x003f, 0x003f,
    -    0xea4a, 0xbf51, 0x003f, 0x003f, 0xea55, 0xea53, 0xbf4b, 0xea49,
    -    0xea4c, 0xea4d, 0xea48, 0xbf55, 0xbf56, 0xea47, 0xea56, 0xea51,
    -    0xbf4f, 0xbf4c, 0xea50, 0xea4e, 0x003f, 0x003f, 0xbf52, 0xea52,
    -    0xbf4d, 0x003f, 0xbf4e, 0x003f, 0xea4f, 0xbf50, 0xea4b, 0x003f,
    -    0xea54, 0xbf53, 0xea57, 0xea58, 0xbf54, 0x003f, 0x003f, 0xc0e7,
    -    0xc0ee, 0xed5c, 0xed62, 0x003f, 0xed60, 0xc0ea, 0xc0e9, 0xc0e6,
    -    0xed5e, 0x003f, 0x003f, 0x003f, 0xc0ec, 0xc0eb, 0xc0e8, 0x003f,
    -    0xed61, 0xed5d, 0xed5f, 0x003f, 0xc0ed, 0x003f, 0x003f, 0x003f,
    -    0xc277, 0xeffb, 0x003f, 0xc274, 0xc275, 0xeffd, 0xc276, 0xeffa,
    -    /* 0x7200 .. 0x72ff */
    -    0x003f, 0xeff9, 0xf26c, 0xeffc, 0x003f, 0xf26d, 0xc37a, 0xf26b,
    -    0x003f, 0x003f, 0xf26a, 0x003f, 0xf269, 0xc37b, 0x003f, 0x003f,
    -    0xc46c, 0x003f, 0x003f, 0xf46a, 0xf46b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf5dc, 0xf5db, 0xc4ea, 0x003f, 0xf5da, 0xf6ec, 0xf6ed,
    -    0x003f, 0x003f, 0xf7e6, 0xf8b1, 0x003f, 0x003f, 0xf8f6, 0xf9bc,
    -    0xc679, 0xf9c6, 0xa4f6, 0x003f, 0xaaa6, 0xaaa7, 0x003f, 0x003f,
    -    0xacb8, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0ef, 0xa4f7, 0x003f,
    -    0xaaa8, 0xaf52, 0xb7dd, 0xa4f8, 0x003f, 0xb26e, 0xbab8, 0xc962,
    -    0x003f, 0xcfb7, 0xd27d, 0x003f, 0xe2c5, 0x003f, 0xc0f0, 0xa4f9,
    -    0xaaa9, 0xcfb8, 0xcfb9, 0xda66, 0xb550, 0x003f, 0x003f, 0xdea4,
    -    0x003f, 0x003f, 0xb7de, 0xe2c6, 0x003f, 0x003f, 0xbcf8, 0x003f,
    -    0xc37c, 0xa4fa, 0xda67, 0xa4fb, 0x003f, 0xa6c9, 0xca42, 0xa6c8,
    -    0xa865, 0xa864, 0xa863, 0xcb60, 0x003f, 0x003f, 0x003f, 0xaaaa,
    -    0x003f, 0xaaab, 0xcd5b, 0x003f, 0xcfba, 0x003f, 0xcfbd, 0xacba,
    -    0xcfbb, 0x003f, 0xacb9, 0xcfbc, 0xacbb, 0x003f, 0xd2a2, 0xd2a1,
    -    0xd27e, 0xaf53, 0x003f, 0xd65d, 0xd65e, 0xb26f, 0xd65c, 0xd65f,
    -    0xb552, 0xb270, 0x003f, 0x003f, 0xb551, 0xda6b, 0xda6a, 0x003f,
    -    0xda68, 0xda69, 0x003f, 0xda6c, 0xdea6, 0xdea5, 0xdea9, 0x003f,
    -    0xdea8, 0xdea7, 0xbab9, 0xe2c9, 0x003f, 0xe2c8, 0xbaba, 0xe2c7,
    -    0xe673, 0x003f, 0xe674, 0xbcf9, 0x003f, 0xea59, 0xea5a, 0x003f,
    -    0x003f, 0xf272, 0xc37d, 0xf271, 0xf270, 0xf26e, 0xf26f, 0xc4eb,
    -    0xf46c, 0xf6ee, 0xf8f7, 0x003f, 0xa4fc, 0x003f, 0xc9a5, 0xa5c7,
    -    0xc9a6, 0x003f, 0x003f, 0x003f, 0xca43, 0xca44, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcb66, 0x003f, 0x003f, 0xcb62, 0x003f, 0xcb61,
    -    0xaaac, 0xcb65, 0xa867, 0xcb63, 0xa866, 0xcb67, 0xcb64, 0x003f,
    -    0x003f, 0xcd5f, 0xcfbe, 0xcd5d, 0xcd64, 0x003f, 0xaaad, 0x003f,
    -    0xaab0, 0xcd65, 0xcd61, 0x003f, 0xcd62, 0x003f, 0xcd5c, 0xaaaf,
    -    0xcd5e, 0xaaae, 0xcd63, 0x003f, 0xcd60, 0x003f, 0x003f, 0xcfc2,
    -    0xacbd, 0xacbe, 0x003f, 0xcfc5, 0xcfbf, 0x003f, 0xcfc4, 0x003f,
    -    0xcfc0, 0xacbc, 0xcfc3, 0xcfc1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd2a8, 0xd2a5, 0x003f, 0xd2a7, 0xaf58,
    -    0xaf57, 0xaf55, 0xd2a4, 0xd2a9, 0xaf54, 0xaf56, 0xd2a6, 0xd667,
    -    /* 0x7300 .. 0x73ff */
    -    0xd2a3, 0xd2aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd662,
    -    0xd666, 0x003f, 0xd665, 0xda6e, 0xda79, 0x003f, 0x003f, 0xd668,
    -    0x003f, 0xd663, 0xda6d, 0xb274, 0x003f, 0x003f, 0xb273, 0xd661,
    -    0xd664, 0xb275, 0x003f, 0xb272, 0xb271, 0xd660, 0xd669, 0x003f,
    -    0x003f, 0x003f, 0xda70, 0xda77, 0x003f, 0xb554, 0xda76, 0xda73,
    -    0x003f, 0xb556, 0x003f, 0x003f, 0x003f, 0xda75, 0x003f, 0x003f,
    -    0xda6f, 0xda71, 0xda74, 0xda72, 0xb555, 0xda78, 0xb553, 0xb7df,
    -    0x003f, 0x003f, 0xdead, 0xdeac, 0xdeaa, 0x003f, 0xb7e2, 0xb7e1,
    -    0xdeae, 0x003f, 0xdeab, 0xe2ca, 0xbabb, 0xb7e0, 0x003f, 0x003f,
    -    0x003f, 0xdeb0, 0xdeaf, 0x003f, 0xe2cd, 0xe2cb, 0xbcfa, 0x003f,
    -    0xbabc, 0xe2cc, 0xe676, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcfb,
    -    0xe675, 0xe67e, 0xe67d, 0xe67b, 0x003f, 0xe67a, 0xe677, 0xe678,
    -    0xe679, 0xe67c, 0xe6a1, 0x003f, 0x003f, 0xea5f, 0xea5c, 0xea5d,
    -    0xbf57, 0xea5b, 0xea61, 0xea60, 0xea5e, 0x003f, 0xed64, 0xed65,
    -    0xc0f1, 0x003f, 0xc0f2, 0xed63, 0x003f, 0xc279, 0xeffe, 0xc278,
    -    0xc37e, 0x003f, 0xc3a1, 0xc46d, 0xf46e, 0xf46d, 0xf5dd, 0xf6ef,
    -    0xc57a, 0xf7e8, 0xf7e7, 0xf7e9, 0xa5c8, 0xcfc6, 0xaf59, 0xb276,
    -    0xd66a, 0xa5c9, 0xc9a7, 0xa4fd, 0x003f, 0x003f, 0xca45, 0x003f,
    -    0x003f, 0x003f, 0xcb6c, 0xcb6a, 0xcb6b, 0xcb68, 0xa868, 0xcb69,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcd6d, 0x003f, 0xaab3,
    -    0xcd6b, 0xcd67, 0xcd6a, 0x003f, 0xcd66, 0xaab5, 0xcd69, 0x003f,
    -    0xaab2, 0xaab1, 0x003f, 0xaab4, 0xcd6c, 0xcd68, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xacc2, 0xacc5, 0xcfce, 0xcfcd, 0xcfcc, 0xacbf,
    -    0xcfd5, 0xcfcb, 0x003f, 0xacc1, 0xd2af, 0x003f, 0xcfd2, 0xcfd0,
    -    0xacc4, 0x003f, 0xcfc8, 0xcfd3, 0x003f, 0xcfca, 0xcfd4, 0xcfd1,
    -    0xcfc9, 0x003f, 0xacc0, 0xcfd6, 0xcfc7, 0xacc3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd2b4, 0xd2ab, 0xd2b6, 0x003f, 0xd2ae, 0xd2b9,
    -    0xd2ba, 0xd2ac, 0xd2b8, 0xd2b5, 0xd2b3, 0xd2b7, 0xaf5f, 0x003f,
    -    0xaf5d, 0x003f, 0x003f, 0xd2b1, 0x003f, 0xd2ad, 0x003f, 0xd2b0,
    -    0xd2bb, 0xd2b2, 0xaf5e, 0xcfcf, 0x003f, 0xaf5a, 0xaf5c, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd678, 0xd66d, 0xd66b, 0x003f,
    -    0xd66c, 0x003f, 0xd673, 0x003f, 0xd674, 0xd670, 0xb27b, 0xd675,
    -    /* 0x7400 .. 0x74ff */
    -    0xd672, 0xd66f, 0x003f, 0xb279, 0xd66e, 0xb277, 0xb27a, 0xd671,
    -    0xd679, 0xaf5b, 0xb278, 0xd677, 0xd676, 0xb27c, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xda7e, 0x003f,
    -    0x003f, 0x003f, 0xdaa1, 0xb560, 0x003f, 0xdaa7, 0x003f, 0x003f,
    -    0xdaa9, 0xdaa2, 0xb55a, 0xdaa6, 0xdaa5, 0xb55b, 0xb561, 0x003f,
    -    0xb562, 0xdaa8, 0xb558, 0xda7d, 0xda7b, 0xdaa3, 0xda7a, 0xb55f,
    -    0xda7c, 0xdaa4, 0xdaaa, 0xb559, 0xb55e, 0xb55c, 0xb55d, 0x003f,
    -    0x003f, 0x003f, 0xb557, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7e9,
    -    0xdeb7, 0xb7e8, 0xdebb, 0x003f, 0xdeb1, 0x003f, 0xdebc, 0x003f,
    -    0x003f, 0x003f, 0xdeb2, 0xdeb3, 0x003f, 0xdebd, 0xdeba, 0xdeb8,
    -    0xdeb9, 0xdeb5, 0xdeb4, 0x003f, 0xdebe, 0xb7e5, 0x003f, 0xdeb6,
    -    0x003f, 0xb7ea, 0xb7e4, 0xb7eb, 0xb7ec, 0x003f, 0xb7e7, 0xb7e6,
    -    0x003f, 0x003f, 0xe2ce, 0xbabe, 0xbabd, 0x003f, 0x003f, 0xe2d3,
    -    0x003f, 0xbcfc, 0xbabf, 0x003f, 0x003f, 0xbac1, 0xe2d4, 0xb7e3,
    -    0xbac0, 0xe2d0, 0xe2d2, 0xe2cf, 0x003f, 0xe2d1, 0x003f, 0x003f,
    -    0x003f, 0xe6ab, 0x003f, 0x003f, 0xe6aa, 0xe6a7, 0xbd40, 0xea62,
    -    0xbd41, 0xe6a6, 0x003f, 0xbcfe, 0x003f, 0xe6a8, 0xe6a5, 0xe6a2,
    -    0xe6a9, 0xe6a3, 0xe6a4, 0xbcfd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xed69, 0x003f, 0xea66, 0x003f, 0xea65, 0xea67, 0x003f, 0xed66,
    -    0xbf5a, 0x003f, 0xea63, 0x003f, 0xbf58, 0x003f, 0xbf5c, 0xbf5b,
    -    0xea64, 0xea68, 0x003f, 0xbf59, 0x003f, 0xed6d, 0xc0f5, 0xc27a,
    -    0xc0f6, 0xc0f3, 0xed6a, 0xed68, 0x003f, 0xed6b, 0x003f, 0xed6e,
    -    0xc0f4, 0xed6c, 0xed67, 0x003f, 0x003f, 0xf042, 0xf045, 0xf275,
    -    0xf040, 0x003f, 0xf46f, 0xf046, 0x003f, 0xc3a2, 0xf044, 0xc27b,
    -    0xf041, 0xf043, 0xf047, 0xf276, 0x003f, 0xf274, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc3a3, 0xf273, 0x003f, 0x003f, 0x003f, 0xc46e,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xc4ed, 0xf6f1, 0xc4ec, 0xf6f3,
    -    0xf6f0, 0xf6f2, 0xc5d0, 0xf8b2, 0xa5ca, 0xcd6e, 0xd2bc, 0xd2bd,
    -    0xb27d, 0xdebf, 0xbf5d, 0xc3a4, 0xc57b, 0xf8b3, 0xa5cb, 0x003f,
    -    0xcd6f, 0xa260, 0x003f, 0x003f, 0xcfd7, 0x003f, 0xcfd8, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd2be, 0xd2bf, 0xb27e, 0xb2a1,
    -    0x003f, 0x003f, 0x003f, 0xdaab, 0x003f, 0xdec2, 0xdec1, 0xdec0,
    -    /* 0x7500 .. 0x75ff */
    -    0xe2d5, 0x003f, 0xe2d6, 0xe2d7, 0xbac2, 0x003f, 0x003f, 0xe6ad,
    -    0xe6ac, 0x003f, 0x003f, 0xea69, 0xbf5e, 0xbf5f, 0x003f, 0xed72,
    -    0xed6f, 0xed70, 0xed71, 0xf049, 0xf048, 0xc27c, 0xf277, 0xf5de,
    -    0xa5cc, 0x003f, 0xacc6, 0x003f, 0xb2a2, 0xdec3, 0x003f, 0xa5cd,
    -    0x003f, 0xd2c0, 0xb2a3, 0x003f, 0x003f, 0xb563, 0xb564, 0x003f,
    -    0xa5ce, 0xa5cf, 0xca46, 0xa86a, 0xa869, 0xacc7, 0xcfd9, 0xdaac,
    -    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0x003f, 0x003f, 0x003f, 0xa86b,
    -    0xa86c, 0xcb6e, 0xcb6d, 0x003f, 0x003f, 0xaab6, 0xcd72, 0xcd70,
    -    0xcd71, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfda,
    -    0xcfdb, 0x003f, 0x003f, 0xaccb, 0xacc9, 0x003f, 0xacca, 0xacc8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xaf60, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xaf64, 0xaf63, 0xd2c1, 0xaf62, 0xaf61, 0x003f, 0xd2c2,
    -    0x003f, 0x003f, 0xb2a6, 0xd67b, 0xd67a, 0xb2a4, 0xb2a5, 0x003f,
    -    0x003f, 0x003f, 0xb566, 0xb565, 0xdaae, 0x003f, 0x003f, 0xdaad,
    -    0xb2a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7ed, 0xdec5,
    -    0xb7ee, 0xdec4, 0x003f, 0x003f, 0x003f, 0xe2d8, 0xe6ae, 0xbd42,
    -    0xea6a, 0x003f, 0x003f, 0x003f, 0xed73, 0x003f, 0xc3a6, 0xc3a5,
    -    0x003f, 0x003f, 0xc57c, 0xa5d4, 0xcd73, 0x003f, 0x003f, 0xb2a8,
    -    0xe2d9, 0xbac3, 0x003f, 0x003f, 0xcb6f, 0xcb70, 0x003f, 0x003f,
    -    0xcd74, 0xaab8, 0xaab9, 0x003f, 0x003f, 0xaab7, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xaccf, 0xacd0, 0xaccd, 0xacce, 0x003f, 0xcfdc,
    -    0x003f, 0x003f, 0xcfdd, 0xaccc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2c3, 0x003f, 0xaf68, 0xaf69, 0x003f, 0xb2ab, 0xd2c9, 0x003f,
    -    0xaf6e, 0xaf6c, 0xd2ca, 0xd2c5, 0xaf6b, 0xaf6a, 0xaf65, 0xd2c8,
    -    0xd2c7, 0xd2c4, 0xaf6d, 0x003f, 0xd2c6, 0xaf66, 0x003f, 0xaf67,
    -    0x003f, 0x003f, 0xb2ac, 0xd6a1, 0xd6a2, 0xb2ad, 0xd67c, 0xd67e,
    -    0xd6a4, 0xd6a3, 0xd67d, 0x003f, 0xb2a9, 0xb2aa, 0x003f, 0xdab6,
    -    0xb56b, 0xb56a, 0xdab0, 0xb568, 0x003f, 0xdab3, 0xb56c, 0xdab4,
    -    0xb56d, 0xdab1, 0xb567, 0xb569, 0xdab5, 0x003f, 0xdab2, 0xdaaf,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xded2, 0x003f, 0xdec7,
    -    0xb7f0, 0xb7f3, 0xb7f2, 0xb7f7, 0xb7f6, 0xded3, 0xded1, 0xdeca,
    -    0xdece, 0xdecd, 0xb7f4, 0xded0, 0xdecc, 0xded4, 0xdecb, 0xb7f5,
    -    /* 0x7600 .. 0x76ff */
    -    0xb7ef, 0xb7f1, 0x003f, 0xdec9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe2db, 0xbac7, 0xe2df, 0xbac6, 0xe2dc, 0xbac5, 0x003f, 0xdec8,
    -    0xdecf, 0xe2de, 0x003f, 0xbac8, 0xe2e0, 0xe2dd, 0xe2da, 0x003f,
    -    0x003f, 0xe6b1, 0xe6b5, 0xe6b7, 0xe6b3, 0xe6b2, 0xe6b0, 0xbd45,
    -    0xbd43, 0xbd48, 0xbd49, 0xe6b4, 0xbd46, 0xe6af, 0xbd47, 0xbac4,
    -    0xe6b6, 0xbd44, 0x003f, 0x003f, 0x003f, 0xea6c, 0x003f, 0xea6b,
    -    0xea73, 0xea6d, 0xea72, 0xea6f, 0xbf60, 0xea71, 0x003f, 0x003f,
    -    0xbf61, 0x003f, 0xbf62, 0x003f, 0xea70, 0xea6e, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xc0f8, 0xed74, 0x003f, 0x003f, 0xc0f7, 0xed77,
    -    0xed75, 0xed76, 0x003f, 0x003f, 0xc0f9, 0x003f, 0x003f, 0x003f,
    -    0xf04d, 0x003f, 0xc2a1, 0xf04e, 0x003f, 0x003f, 0xc27d, 0xf04f,
    -    0xc27e, 0xf04c, 0xf050, 0x003f, 0xf04a, 0x003f, 0x003f, 0xc3a7,
    -    0xf278, 0xc3a8, 0xc46f, 0x003f, 0xf04b, 0xc470, 0x003f, 0x003f,
    -    0x003f, 0xc4ee, 0xf5df, 0x003f, 0xc57e, 0xf6f4, 0xc57d, 0x003f,
    -    0xf7ea, 0xc5f5, 0xc5f6, 0x003f, 0x003f, 0xf9cc, 0x003f, 0x003f,
    -    0xacd1, 0xcfde, 0x003f, 0xb56e, 0xb56f, 0xa5d5, 0xa6ca, 0xca47,
    -    0x003f, 0xcb71, 0xa86d, 0x003f, 0xaaba, 0x003f, 0xacd2, 0xacd3,
    -    0xacd4, 0xd6a6, 0xd2cb, 0xaf6f, 0x003f, 0x003f, 0xb2ae, 0xd6a5,
    -    0x003f, 0x003f, 0xdab8, 0xb571, 0x003f, 0xdab7, 0xb570, 0x003f,
    -    0x003f, 0xded5, 0xbd4a, 0xe6bb, 0xe6b8, 0xe6b9, 0xe6ba, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xed78, 0x003f, 0xf051, 0x003f,
    -    0x003f, 0x003f, 0xf471, 0xf470, 0x003f, 0xf6f5, 0xa5d6, 0xcd75,
    -    0xaf70, 0x003f, 0x003f, 0x003f, 0xb572, 0xded6, 0x003f, 0x003f,
    -    0xe2e1, 0x003f, 0xbd4b, 0xea74, 0x003f, 0xf052, 0xf472, 0xa5d7,
    -    0x003f, 0x003f, 0xaabb, 0xacd7, 0xcfdf, 0xacd8, 0xacd6, 0x003f,
    -    0xacd5, 0xd2cc, 0xaf71, 0x003f, 0x003f, 0xaf72, 0xaf73, 0x003f,
    -    0x003f, 0x003f, 0xb2b0, 0xd6a7, 0xb2af, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xdab9, 0xb2b1, 0xb573, 0xded7, 0xb7f8, 0xb7f9,
    -    0x003f, 0xbac9, 0x003f, 0xbaca, 0xbd4c, 0xbf64, 0xea75, 0xbf63,
    -    0x003f, 0xed79, 0xc0fa, 0x003f, 0xf053, 0xf473, 0xa5d8, 0xa86e,
    -    0xcd78, 0xcd77, 0xaabc, 0xcd76, 0xaabd, 0xcd79, 0x003f, 0xcfe5,
    -    0xacdb, 0xacda, 0xcfe7, 0xcfe6, 0xacdf, 0x003f, 0xacde, 0x003f,
    -    /* 0x7700 .. 0x77ff */
    -    0x003f, 0xacd9, 0x003f, 0xcfe1, 0xcfe2, 0xcfe3, 0x003f, 0xace0,
    -    0xcfe0, 0xacdc, 0xcfe4, 0xacdd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2cf, 0xd2d3, 0xd2d1, 0xd2d0, 0x003f, 0xd2d4, 0x003f, 0x003f,
    -    0x003f, 0xd2d5, 0xd2d6, 0xd2ce, 0x003f, 0xd2cd, 0x003f, 0xaf75,
    -    0xaf76, 0x003f, 0xd2d7, 0xd2d2, 0x003f, 0xd6b0, 0x003f, 0xd2d8,
    -    0xaf77, 0xaf74, 0x003f, 0x003f, 0x003f, 0xd6aa, 0x003f, 0xd6a9,
    -    0x003f, 0xd6ab, 0xd6ac, 0xd6ae, 0xd6ad, 0xd6b2, 0xb2b5, 0xb2b2,
    -    0xb2b6, 0xd6a8, 0xb2b7, 0xd6b1, 0xb2b4, 0xd6af, 0xb2b3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdabc, 0xdabe, 0xdaba, 0xdabb,
    -    0x003f, 0x003f, 0xdabf, 0xdac1, 0xdac2, 0xdabd, 0xdac0, 0xb574,
    -    0x003f, 0x003f, 0xdedb, 0x003f, 0xdee0, 0xded8, 0xdedc, 0x003f,
    -    0x003f, 0xdee1, 0xdedd, 0xb7fa, 0xb843, 0x003f, 0xb7fd, 0xded9,
    -    0xdeda, 0xbace, 0xb846, 0xb7fe, 0x003f, 0xb844, 0xb7fc, 0xdedf,
    -    0xb845, 0xdede, 0xb841, 0xb7fb, 0xb842, 0xdee2, 0xe2e6, 0xe2e8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb840, 0x003f, 0x003f, 0xe2e3, 0xbacc, 0xe2e9, 0xbacd,
    -    0xe2e7, 0xe2e2, 0xe2e5, 0xe2ea, 0xbacb, 0xe2e4, 0x003f, 0xbd4e,
    -    0xe6bf, 0xe6be, 0x003f, 0xbd51, 0xbd4f, 0xe6bc, 0xbd4d, 0xe6bd,
    -    0x003f, 0xbd50, 0x003f, 0x003f, 0x003f, 0xea7d, 0x003f, 0xeaa1,
    -    0x003f, 0xea7e, 0xea76, 0xea7a, 0xea79, 0xea77, 0xbf66, 0xbf67,
    -    0xbf65, 0xea78, 0xea7b, 0xea7c, 0x003f, 0xbf68, 0x003f, 0xc140,
    -    0xeda3, 0x003f, 0xc0fc, 0xed7b, 0xc0fe, 0xc141, 0x003f, 0x003f,
    -    0xc0fd, 0xeda2, 0xed7c, 0xc0fb, 0xeda1, 0xed7a, 0xed7e, 0xed7d,
    -    0x003f, 0x003f, 0xf055, 0xc2a4, 0xc2a5, 0xc2a2, 0x003f, 0xc2a3,
    -    0x003f, 0x003f, 0xf054, 0x003f, 0xf27b, 0x003f, 0x003f, 0xc3a9,
    -    0x003f, 0xf279, 0xf27a, 0x003f, 0xf474, 0xf477, 0xf475, 0xf476,
    -    0xf5e0, 0x003f, 0x003f, 0xc4ef, 0xf7eb, 0xf8b4, 0x003f, 0xc5f7,
    -    0xf8f8, 0xf8f9, 0xc666, 0xa5d9, 0xace1, 0x003f, 0xdac3, 0x003f,
    -    0xdee3, 0x003f, 0xa5da, 0xa86f, 0x003f, 0xaabe, 0x003f, 0xcfe8,
    -    0xcfe9, 0xaf78, 0x003f, 0x003f, 0xdac4, 0xb575, 0xb847, 0xc142,
    -    0xeda4, 0xf27c, 0xf478, 0xa5db, 0x003f, 0x003f, 0x003f, 0xcda1,
    -    0xcd7a, 0xcd7c, 0xcd7e, 0xcd7d, 0xcd7b, 0xaabf, 0x003f, 0x003f,
    -    /* 0x7800 .. 0x78ff */
    -    0x003f, 0x003f, 0xace2, 0xcff2, 0x003f, 0xcfed, 0xcfea, 0x003f,
    -    0x003f, 0xcff1, 0x003f, 0x003f, 0xace4, 0xace5, 0xcff0, 0xcfef,
    -    0xcfee, 0xcfeb, 0xcfec, 0xcff3, 0xace3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xaf7c, 0x003f, 0xafa4,
    -    0xafa3, 0xd2e1, 0xd2db, 0xd2d9, 0x003f, 0xafa1, 0xd6b9, 0xaf7a,
    -    0xd2de, 0xd2e2, 0xd2e4, 0xd2e0, 0xd2da, 0xafa2, 0xd2df, 0xd2dd,
    -    0xaf79, 0xd2e5, 0xafa5, 0xd2e3, 0xaf7d, 0xd2dc, 0x003f, 0xaf7e,
    -    0xaf7b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb2b9, 0x003f, 0xd6ba, 0x003f, 0x003f,
    -    0xd6b3, 0xd6b5, 0xd6b7, 0x003f, 0xd6b8, 0xd6b6, 0xb2ba, 0x003f,
    -    0xd6bb, 0x003f, 0xd6b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xdac8, 0xb576, 0xdad0, 0x003f,
    -    0xdac5, 0x003f, 0xdad1, 0x003f, 0xdac6, 0xdac7, 0x003f, 0x003f,
    -    0xdacf, 0xdace, 0xdacb, 0xb2b8, 0xb577, 0xdac9, 0xdacc, 0xb578,
    -    0xdacd, 0xdaca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdeee, 0x003f, 0xdef2, 0xb84e, 0x003f, 0xe2f0, 0xb851,
    -    0xdef0, 0xf9d6, 0x003f, 0xdeed, 0xdee8, 0xdeea, 0xdeeb, 0xdee4,
    -    0x003f, 0xb84d, 0x003f, 0x003f, 0xb84c, 0x003f, 0xb848, 0xdee7,
    -    0x003f, 0xb84f, 0x003f, 0xb850, 0xdee6, 0xdee9, 0xdef1, 0xb84a,
    -    0xb84b, 0xdeef, 0xdee5, 0x003f, 0x003f, 0x003f, 0xe2f2, 0xbad0,
    -    0xe2f4, 0xdeec, 0xe2f6, 0xbad4, 0xe2f7, 0xe2f3, 0x003f, 0xbad1,
    -    0xe2ef, 0xbad3, 0xe2ec, 0xe2f1, 0xe2f5, 0xe2ee, 0x003f, 0x003f,
    -    0xb849, 0x003f, 0xe2eb, 0xbad2, 0xe2ed, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbd54, 0xe6c1, 0xbd58, 0x003f, 0xbd56, 0x003f,
    -    0x003f, 0xbacf, 0x003f, 0xe6c8, 0xe6c9, 0xbd53, 0x003f, 0x003f,
    -    0xe6c7, 0xe6ca, 0xbd55, 0xbd52, 0xe6c3, 0xe6c0, 0xe6c5, 0xe6c2,
    -    0xbd59, 0xe6c4, 0x003f, 0x003f, 0xe6c6, 0xbd57, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbf6a, 0xeaa8, 0x003f, 0xeaa2, 0xeaa6, 0xeaac,
    -    0xeaad, 0xeaa9, 0xeaaa, 0xeaa7, 0x003f, 0xeaa4, 0x003f, 0xbf6c,
    -    0xbf69, 0xeaa3, 0xeaa5, 0x003f, 0xbf6b, 0xeaab, 0x003f, 0xc146,
    -    0x003f, 0x003f, 0xedaa, 0xeda5, 0xc145, 0x003f, 0x003f, 0xc143,
    -    0x003f, 0xedac, 0xc144, 0xeda8, 0xeda9, 0xeda6, 0xedad, 0xf056,
    -    /* 0x7900 .. 0x79ff */
    -    0x003f, 0xc147, 0xeda7, 0x003f, 0xedae, 0xedab, 0x003f, 0x003f,
    -    0x003f, 0xf05a, 0x003f, 0x003f, 0xf057, 0x003f, 0xc2a6, 0x003f,
    -    0xf05b, 0xf05d, 0xf05c, 0xf058, 0xf059, 0x003f, 0x003f, 0xf2a3,
    -    0x003f, 0xc3aa, 0x003f, 0xf27e, 0xf2a2, 0xf27d, 0xf2a4, 0x003f,
    -    0x003f, 0xf2a1, 0x003f, 0xf47a, 0xf47d, 0xf479, 0xc471, 0xf47b,
    -    0xf47c, 0xf47e, 0xc472, 0xc474, 0xc473, 0xf5e1, 0x003f, 0xf5e3,
    -    0x003f, 0xf5e2, 0x003f, 0x003f, 0x003f, 0xf6f6, 0x003f, 0x003f,
    -    0xf8b5, 0xf8fa, 0xa5dc, 0x003f, 0x003f, 0xcb72, 0xaac0, 0xcda3,
    -    0xaac1, 0xaac2, 0xcda2, 0x003f, 0xcff8, 0xcff7, 0xace6, 0xace9,
    -    0xace8, 0xace7, 0xcff4, 0xcff6, 0xcff5, 0x003f, 0x003f, 0xd2e8,
    -    0xafa7, 0xd2ec, 0xd2eb, 0xd2ea, 0xd2e6, 0xafa6, 0xafaa, 0xafad,
    -    0x003f, 0x003f, 0xafae, 0xd2e7, 0xd2e9, 0xafac, 0xafab, 0xafa9,
    -    0xafa8, 0xd6c2, 0x003f, 0xd6c0, 0xd6bc, 0xb2bb, 0x003f, 0xd6bd,
    -    0xb2bc, 0xd6be, 0xd6bf, 0xd6c1, 0x003f, 0xb2bd, 0x003f, 0x003f,
    -    0xdad5, 0x003f, 0xdad4, 0xdad3, 0xdad2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdef6, 0xb852, 0x003f, 0xdef3, 0xdef5, 0x003f, 0xb853,
    -    0x003f, 0xb854, 0xdef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe341, 0x003f, 0xe2f9, 0xe2fa, 0x003f, 0xbad7, 0xbad5, 0xbad6,
    -    0xe343, 0x003f, 0xe342, 0xe2fe, 0xe2fd, 0xe2fc, 0xe2fb, 0xe340,
    -    0xe2f8, 0x003f, 0xe6cb, 0xe6d0, 0xe6ce, 0x003f, 0x003f, 0x003f,
    -    0xe6cd, 0xe6cc, 0xe6cf, 0x003f, 0xeaae, 0x003f, 0xbf6d, 0xc148,
    -    0xedb0, 0x003f, 0xc149, 0xedaf, 0xf05f, 0xf05e, 0xc2a7, 0x003f,
    -    0xf2a5, 0xc3ab, 0xf4a1, 0xc5a1, 0xf6f7, 0x003f, 0xf8b7, 0xf8b6,
    -    0xc9a8, 0xacea, 0xaceb, 0xd6c3, 0x003f, 0xb856, 0xa5dd, 0xa872,
    -    0xa871, 0xa870, 0x003f, 0x003f, 0x003f, 0xcda4, 0x003f, 0x003f,
    -    0xaac4, 0xaac3, 0x003f, 0xacee, 0x003f, 0xcffa, 0xcffd, 0xcffb,
    -    0x003f, 0xacec, 0xaced, 0x003f, 0x003f, 0xcff9, 0xcffc, 0x003f,
    -    0xafb5, 0x003f, 0x003f, 0x003f, 0xd2f3, 0xd2f5, 0xd2f4, 0xafb2,
    -    0xd2ef, 0x003f, 0x003f, 0xafb0, 0xafaf, 0x003f, 0xafb3, 0xafb1,
    -    0x003f, 0xafb4, 0xd2f2, 0xd2ed, 0xd2ee, 0xd2f1, 0xd2f0, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6c6, 0xd6c7,
    -    0xd6c5, 0x003f, 0xd6c4, 0xb2be, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7a00 .. 0x7aff */
    -    0xb57d, 0x003f, 0xdad6, 0xdad8, 0xdada, 0xb57c, 0x003f, 0x003f,
    -    0xb57a, 0x003f, 0xdad7, 0xb57b, 0xdad9, 0xb579, 0x003f, 0x003f,
    -    0xdf41, 0xdef7, 0xdefa, 0xdefe, 0xb85a, 0xdefc, 0x003f, 0xdefb,
    -    0xdef8, 0xdef9, 0xb858, 0xdf40, 0xb857, 0x003f, 0xb85c, 0xb85b,
    -    0xb859, 0x003f, 0xdefd, 0x003f, 0x003f, 0x003f, 0xe349, 0x003f,
    -    0xe348, 0x003f, 0x003f, 0xe344, 0x003f, 0x003f, 0xbad8, 0xe347,
    -    0xe346, 0xbad9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbd5e,
    -    0x003f, 0xe6d2, 0x003f, 0xbd5f, 0xbd5b, 0xbd5d, 0x003f, 0xbd5a,
    -    0xbd5c, 0x003f, 0x003f, 0x003f, 0xeaaf, 0x003f, 0xbf70, 0xeab1,
    -    0xeab0, 0x003f, 0xe345, 0xbf72, 0xbf71, 0xbf6e, 0xbf6f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xedb5, 0x003f, 0xedb3, 0xc14a,
    -    0xedb4, 0x003f, 0xedb6, 0xedb2, 0xedb1, 0x003f, 0x003f, 0xf060,
    -    0xc2aa, 0xc2a8, 0xc2a9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a6,
    -    0xf2a7, 0xc3ad, 0x003f, 0xc3ac, 0xf4a3, 0xf4a4, 0xf4a2, 0x003f,
    -    0xf6f8, 0xf6f9, 0x003f, 0x003f, 0xa5de, 0xca48, 0xa873, 0x003f,
    -    0xcda5, 0xaac6, 0xaac5, 0xcda6, 0x003f, 0x003f, 0xd040, 0xacef,
    -    0xcffe, 0xacf0, 0x003f, 0x003f, 0xafb6, 0xd2f8, 0xd2f6, 0xd2fc,
    -    0xafb7, 0xd2f7, 0xd2fb, 0xd2f9, 0xd2fa, 0x003f, 0x003f, 0xd6c8,
    -    0xd6ca, 0x003f, 0xb2bf, 0x003f, 0xd6c9, 0xb2c0, 0xb5a2, 0xb5a1,
    -    0xb57e, 0xdadb, 0x003f, 0x003f, 0x003f, 0x003f, 0xdf44, 0xb85d,
    -    0xb85e, 0x003f, 0xdf43, 0xdf42, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe34a, 0xbadb, 0xbada, 0xe34b, 0xe34c, 0x003f, 0xbd61, 0xbd60,
    -    0x003f, 0xeab5, 0xe6d3, 0xe6d5, 0xe6d4, 0xeab4, 0xeab2, 0xeab6,
    -    0xeab3, 0x003f, 0xbf73, 0x003f, 0x003f, 0x003f, 0xedb7, 0xc14b,
    -    0xedb8, 0xedb9, 0x003f, 0x003f, 0xc2ab, 0xc2ac, 0x003f, 0xc475,
    -    0x003f, 0x003f, 0xc5d1, 0xa5df, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xd041, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd2fd, 0xafb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3ba,
    -    0xb3b9, 0x003f, 0x003f, 0xb5a4, 0xdadd, 0xb5a3, 0xdadc, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdf45, 0x003f, 0xbadc, 0xe34d, 0xbadd,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc476, 0xf4a5,
    -    0x003f, 0xa6cb, 0xaac7, 0xcda7, 0x003f, 0xacf2, 0x003f, 0xacf1,
    -    /* 0x7b00 .. 0x7bff */
    -    0xd042, 0xd043, 0x003f, 0x003f, 0xd340, 0xd342, 0xafb9, 0x003f,
    -    0xd344, 0xd347, 0xd345, 0x003f, 0x003f, 0x003f, 0xd346, 0xd343,
    -    0xd2fe, 0xafba, 0xd348, 0xd341, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd6d3, 0xb2c6, 0xd6dc, 0xb2c3, 0x003f, 0xd6d5, 0xb2c7, 0x003f,
    -    0xb2c1, 0x003f, 0xd6d0, 0xd6dd, 0xd6d1, 0xd6ce, 0xb2c5, 0x003f,
    -    0xb2c2, 0x003f, 0xd6d4, 0xd6d7, 0xb2c4, 0xd6d8, 0xb2c8, 0xd6d9,
    -    0xd6cf, 0xd6d6, 0xd6da, 0xd6d2, 0xd6cd, 0xd6cb, 0x003f, 0x003f,
    -    0xd6db, 0x003f, 0x003f, 0xdadf, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xdae4, 0x003f, 0x003f, 0x003f, 0xdae0, 0xdae6, 0xb5a7, 0xd6cc,
    -    0xdae1, 0xb5a5, 0xdade, 0xb5ac, 0xdae2, 0xb5ab, 0xdae3, 0xb5ad,
    -    0xb5a8, 0xb5ae, 0xb5a9, 0x003f, 0xb5aa, 0x003f, 0xb5a6, 0x003f,
    -    0xdae5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb861, 0xdf50, 0x003f, 0xdf53, 0xdf47, 0xdf4c, 0xdf46, 0xb863,
    -    0x003f, 0xdf4a, 0x003f, 0x003f, 0x003f, 0xdf48, 0xb862, 0x003f,
    -    0xdf4f, 0xdf4e, 0xdf4b, 0xdf4d, 0xdf49, 0xbae1, 0xdf52, 0xb85f,
    -    0xdf51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xe35d, 0x003f, 0xbae8, 0xe358, 0x003f, 0xbae7,
    -    0xe34e, 0x003f, 0xe350, 0xbae0, 0xe355, 0xe354, 0xe357, 0xbae5,
    -    0xe352, 0xe351, 0x003f, 0x003f, 0xbae4, 0xbadf, 0xe353, 0xbae2,
    -    0xe359, 0xe35b, 0x003f, 0xe356, 0xe34f, 0xbae3, 0x003f, 0x003f,
    -    0xbd69, 0xbade, 0x003f, 0x003f, 0xe35c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6d9, 0xbd62, 0x003f, 0xe6db,
    -    0x003f, 0xbd63, 0x003f, 0x003f, 0xbd65, 0xe6de, 0x003f, 0xe6d6,
    -    0xbae6, 0xe6dc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d8, 0x003f,
    -    0xb860, 0xbd68, 0x003f, 0x003f, 0xbd64, 0x003f, 0xbd66, 0xbd67,
    -    0x003f, 0xbf76, 0xe6dd, 0xe6d7, 0xbd6a, 0x003f, 0xe6da, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeac0, 0xeabb, 0x003f, 0x003f,
    -    0xeac5, 0xbf74, 0xeabd, 0xbf78, 0xeac3, 0xeaba, 0xeab7, 0xeac6,
    -    0xc151, 0xbf79, 0xeac2, 0xeab8, 0xbf77, 0xeabc, 0xbf7b, 0xeab9,
    -    0xeabe, 0xbf7a, 0xeac1, 0xeac4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xedcb, 0xedcc, 0xedbc, 0xedc3, 0xedc1, 0x003f, 0x003f, 0xc14f,
    -    0xedc8, 0xeabf, 0x003f, 0xedbf, 0x003f, 0xedc9, 0xc14e, 0xedbe,
    -    /* 0x7c00 .. 0x7cff */
    -    0xedbd, 0xedc7, 0xedc4, 0xedc6, 0x003f, 0xedba, 0xedca, 0xc14c,
    -    0x003f, 0xedc5, 0xedce, 0xedc2, 0xc150, 0xc14d, 0xedc0, 0xedbb,
    -    0xedcd, 0xbf75, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf063, 0x003f, 0x003f, 0xf061, 0xf067, 0xc2b0, 0xf065,
    -    0xf064, 0xc2b2, 0xf06a, 0xc2b1, 0x003f, 0xf06b, 0xf068, 0xc2ae,
    -    0xf069, 0xf062, 0xc2af, 0xc2ad, 0xf2ab, 0xf066, 0x003f, 0x003f,
    -    0xf06c, 0x003f, 0x003f, 0xf2a8, 0x003f, 0x003f, 0x003f, 0xc3b2,
    -    0xc3b0, 0xf2aa, 0x003f, 0xf2ac, 0xf2a9, 0xc3b1, 0xc3ae, 0xc3af,
    -    0xc3b3, 0x003f, 0x003f, 0xc478, 0x003f, 0xf4aa, 0x003f, 0xf4a9,
    -    0xf4a7, 0xf4a6, 0xf4a8, 0x003f, 0xc477, 0xc479, 0x003f, 0x003f,
    -    0xc4f0, 0x003f, 0x003f, 0xf5e5, 0xf5e4, 0x003f, 0x003f, 0xf6fa,
    -    0x003f, 0xf6fc, 0xf6fe, 0xf6fd, 0xf6fb, 0x003f, 0x003f, 0xc5a3,
    -    0xc5a2, 0x003f, 0x003f, 0xc5d3, 0xc5d2, 0xc5d4, 0xf7ed, 0xf7ec,
    -    0x003f, 0xf8fb, 0xf8b8, 0xf8fc, 0xc658, 0x003f, 0xc659, 0xf96d,
    -    0x003f, 0x003f, 0xc67e, 0xa6cc, 0x003f, 0xcda8, 0x003f, 0x003f,
    -    0xd045, 0xd046, 0xd044, 0x003f, 0x003f, 0xacf3, 0x003f, 0xd047,
    -    0xd048, 0xd049, 0x003f, 0x003f, 0xd349, 0xd34f, 0x003f, 0x003f,
    -    0xd34d, 0xafbb, 0xd34b, 0x003f, 0xd34c, 0xd34e, 0x003f, 0x003f,
    -    0x003f, 0xd34a, 0xb2c9, 0x003f, 0xd6de, 0xb2cb, 0xd6e0, 0xb2ca,
    -    0xd6df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdae8, 0xb5af,
    -    0x003f, 0xdaea, 0xdae7, 0xd6e1, 0x003f, 0xb5b0, 0x003f, 0xf9db,
    -    0xdae9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdf56,
    -    0x003f, 0xb864, 0xdf54, 0xb865, 0xdf55, 0xb866, 0x003f, 0x003f,
    -    0x003f, 0xbae9, 0xe361, 0xe35e, 0xe360, 0xbaea, 0xbaeb, 0xe35f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6df, 0x003f, 0x003f,
    -    0xe6e0, 0x003f, 0xbd6b, 0xe6e2, 0xe6e1, 0x003f, 0xa261, 0x003f,
    -    0xeaca, 0xeacb, 0xeac7, 0x003f, 0xeac8, 0xbf7c, 0xbf7d, 0xeac9,
    -    0x003f, 0xc157, 0x003f, 0x003f, 0xc153, 0xc158, 0xc154, 0xc156,
    -    0xc152, 0x003f, 0xc155, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2b3,
    -    0xedcf, 0x003f, 0xf2ae, 0x003f, 0xf2ad, 0x003f, 0xf4ab, 0xc47a,
    -    0xc47b, 0xf741, 0xf5e6, 0x003f, 0xf740, 0x003f, 0xf8fd, 0xf9a4,
    -    0xa6cd, 0x003f, 0x003f, 0xa874, 0x003f, 0xcda9, 0xaac8, 0x003f,
    -    /* 0x7d00 .. 0x7dff */
    -    0xacf6, 0xd04c, 0xacf4, 0xd04a, 0xacf9, 0xacf5, 0xacfa, 0xacf8,
    -    0xd04b, 0xacf7, 0xafbf, 0xafbe, 0xd35a, 0xafc7, 0xd353, 0xd359,
    -    0xafc3, 0xd352, 0xd358, 0xd356, 0xafc2, 0xafc4, 0xd355, 0xafbd,
    -    0xd354, 0xafc8, 0xafc5, 0xafc9, 0xafc6, 0xd351, 0xd350, 0xd357,
    -    0xafc0, 0xafbc, 0xafc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd6f0, 0xd6e9, 0x003f, 0xb5b5, 0xd6e8, 0x003f, 0xb2cf, 0xb2d6,
    -    0xb2d3, 0xb2d9, 0xb2d8, 0xb2d4, 0x003f, 0xd6e2, 0xd6e5, 0x003f,
    -    0xd6e4, 0xb2d0, 0xd6e6, 0xd6ef, 0xb2d1, 0xd6e3, 0xd6ec, 0xd6ed,
    -    0xb2d2, 0xd6ea, 0xb2d7, 0xb2cd, 0xb2d5, 0xd6e7, 0xb2cc, 0xd6eb,
    -    0x003f, 0x003f, 0xd6ee, 0x003f, 0x003f, 0x003f, 0xdafb, 0xdaf2,
    -    0xb5b2, 0xdaf9, 0xdaf6, 0xdaee, 0xdaf7, 0xb5b4, 0xdaef, 0x003f,
    -    0xdaeb, 0x003f, 0x003f, 0xb86c, 0xdaf4, 0x003f, 0xb5b1, 0xdafa,
    -    0x003f, 0xb5b8, 0xb5ba, 0xdaed, 0x003f, 0x003f, 0xb5b9, 0xdaf0,
    -    0xb5b3, 0xdaf8, 0xdaf1, 0xdaf5, 0x003f, 0xdaf3, 0xb5b6, 0xdaec,
    -    0xb5bb, 0xb2ce, 0xb5b7, 0xb5bc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb868, 0xdf5d, 0xdf5f, 0xdf61, 0xdf65, 0x003f, 0xdf5b,
    -    0xdf59, 0xb86a, 0x003f, 0xdf60, 0xdf64, 0xdf5c, 0xdf58, 0x003f,
    -    0xdf57, 0x003f, 0x003f, 0x003f, 0xdf62, 0xdf5a, 0xdf5e, 0xb86b,
    -    0x003f, 0xb869, 0xdf66, 0xb867, 0xdf63, 0x003f, 0xe372, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbaee, 0xe36a, 0xbd78, 0xe374,
    -    0xbaf1, 0xe378, 0xbaf7, 0xe365, 0x003f, 0x003f, 0xe375, 0xe362,
    -    0x003f, 0xe377, 0xe366, 0x003f, 0xbafe, 0xbafb, 0xe376, 0xe370,
    -    0xbaed, 0xbaf5, 0xbaf4, 0x003f, 0xbaf3, 0xbaf9, 0x003f, 0xe363,
    -    0xbafa, 0xe371, 0xbaf6, 0xbaec, 0xe373, 0xbaef, 0xbaf0, 0xbaf8,
    -    0xe368, 0xe367, 0xe364, 0x003f, 0xe36c, 0xe369, 0xe36d, 0xbafd,
    -    0x003f, 0xe379, 0xbaf2, 0xe36e, 0xe36f, 0x003f, 0xe36b, 0x003f,
    -    0x003f, 0x003f, 0xbafc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e7,
    -    0xbd70, 0xbd79, 0xbd75, 0xe6e4, 0x003f, 0xbd72, 0xbd76, 0xe6f0,
    -    0xbd6c, 0xe6e8, 0x003f, 0xbd74, 0x003f, 0x003f, 0xe6eb, 0xe6e6,
    -    0xbd73, 0xbd77, 0xe6e5, 0x003f, 0xbd71, 0x003f, 0xe6ef, 0xbd6e,
    -    0xe6ee, 0xe6ed, 0xbd7a, 0xe572, 0xbd6d, 0x003f, 0xe6ec, 0xe6e3,
    -    0x003f, 0xbd7b, 0xe6ea, 0xbd6f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7e00 .. 0x7eff */
    -    0x003f, 0x003f, 0x003f, 0xe6e9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbfa2, 0xbfa7, 0xbf7e, 0xead8, 0xeacf, 0xeadb, 0xead3, 0xead9,
    -    0xbfa8, 0xbfa1, 0xeacc, 0xead2, 0xeadc, 0xead5, 0xeada, 0xeace,
    -    0x003f, 0x003f, 0xead6, 0xbfa3, 0xead4, 0xbfa6, 0xbfa5, 0xead0,
    -    0xead1, 0xeacd, 0xead7, 0xbfa4, 0xeade, 0xeadd, 0x003f, 0x003f,
    -    0x003f, 0xedda, 0xedd6, 0xc15f, 0x003f, 0xedd0, 0xc159, 0xc169,
    -    0xeddc, 0xc161, 0xc15d, 0xedd3, 0xc164, 0xc167, 0xedde, 0xc15c,
    -    0xedd5, 0xc165, 0xede0, 0xeddd, 0xedd1, 0xc160, 0xc15a, 0xc168,
    -    0xedd8, 0xc163, 0xedd2, 0xc15e, 0xeddf, 0xc162, 0xc15b, 0xedd9,
    -    0xc166, 0xedd7, 0x003f, 0x003f, 0xeddb, 0x003f, 0x003f, 0x003f,
    -    0xf06e, 0xf074, 0xc2b9, 0xf077, 0xc2b4, 0xc2b5, 0xf06f, 0xf076,
    -    0xf071, 0xc2ba, 0xc2b7, 0x003f, 0xf06d, 0x003f, 0xc2b6, 0xf073,
    -    0xf075, 0xc2b8, 0xf072, 0xf070, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf2b8, 0xc3b7, 0xc3b8, 0xc3b4, 0x003f, 0xc3b5, 0x003f, 0xf2b4,
    -    0xf2b2, 0x003f, 0xf2b6, 0xc3ba, 0xf2b7, 0xf2b0, 0xf2af, 0xf2b3,
    -    0xf2b1, 0xc3b6, 0xf2b5, 0xf4ac, 0xc47e, 0xc47d, 0xf4ad, 0x003f,
    -    0xf4af, 0xf4ae, 0xc4a1, 0x003f, 0x003f, 0x003f, 0xf5eb, 0xf5e8,
    -    0xf5e9, 0x003f, 0xf5e7, 0xf5ea, 0xc4f2, 0xf5ec, 0x003f, 0xc4f1,
    -    0x003f, 0xf742, 0x003f, 0xc5d5, 0xc5d7, 0xf7ee, 0xc5d6, 0xf8b9,
    -    0xf940, 0xf942, 0xf8fe, 0xf941, 0xc66c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x7f00 .. 0x7fff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa6ce, 0x003f,
    -    0xacfb, 0xd26f, 0xafca, 0x003f, 0x003f, 0xb2da, 0xdafc, 0xdafd,
    -    0x003f, 0x003f, 0x003f, 0xeadf, 0xc16a, 0xede1, 0x003f, 0x003f,
    -    0xc2bb, 0x003f, 0xf2ba, 0xf2b9, 0xc4a2, 0xf5ed, 0x003f, 0xf743,
    -    0xc5f8, 0xca49, 0x003f, 0x003f, 0xaac9, 0xa875, 0x003f, 0x003f,
    -    0xd04d, 0x003f, 0x003f, 0xd360, 0xd35b, 0xd35f, 0xd35d, 0xafcb,
    -    0xd35e, 0xd35c, 0x003f, 0xd6f1, 0x003f, 0xdafe, 0xdb40, 0xdf69,
    -    0xdf6a, 0xb86e, 0xb86f, 0xdf68, 0xdf6b, 0xdf67, 0xb86d, 0x003f,
    -    0xbb40, 0x003f, 0xb870, 0xe37a, 0x003f, 0xbd7c, 0xe6f1, 0xbd7d,
    -    0x003f, 0xbfa9, 0xeae2, 0xeae0, 0xeae1, 0xede4, 0xede3, 0xede2,
    -    0x003f, 0x003f, 0x003f, 0xf2bb, 0x003f, 0xc3b9, 0xf2bc, 0xf744,
    -    0xc5f9, 0xf8ba, 0xa6cf, 0xaacb, 0xaaca, 0xd04f, 0xacfc, 0x003f,
    -    0x003f, 0xd04e, 0xd362, 0x003f, 0xafcc, 0xd6f2, 0xd361, 0x003f,
    -    0x003f, 0x003f, 0xb2dc, 0xd6f5, 0xd6f3, 0xd6f4, 0xb2db, 0x003f,
    -    0xdb42, 0xdb43, 0xdb41, 0x003f, 0xb873, 0xdf6d, 0xdf6c, 0xdf6e,
    -    0xb872, 0xb871, 0x003f, 0x003f, 0xe6f2, 0xe6f4, 0x003f, 0xbd7e,
    -    0xe6f3, 0xeae3, 0xbfaa, 0xf079, 0x003f, 0xf078, 0xc3bb, 0xf2bd,
    -    0xc3bd, 0xc3bc, 0xf4b0, 0xf5ee, 0xc4f3, 0xa6d0, 0xd050, 0xacfd,
    -    0xd365, 0xafce, 0xd364, 0xd363, 0x003f, 0xafcd, 0x003f, 0xd6fb,
    -    0x003f, 0xd6fd, 0xd6f6, 0xd6f7, 0xb2dd, 0xd6f8, 0xb2de, 0xd6fc,
    -    0xd6f9, 0xd6fa, 0xb2df, 0x003f, 0xb5be, 0xb5bf, 0x003f, 0xdb44,
    -    0x003f, 0x003f, 0x003f, 0xdf6f, 0xdf70, 0x003f, 0xe37e, 0xbb43,
    -    0xbb41, 0xbb42, 0xe37b, 0xe37c, 0x003f, 0xe37d, 0xe6f9, 0x003f,
    -    0xe6fa, 0xbda1, 0xe6f7, 0xe6f6, 0xe6f8, 0xe6f5, 0xbfad, 0xeae4,
    -    0xbfab, 0xbfac, 0xede6, 0xc16b, 0xede5, 0xefa8, 0x003f, 0xf07a,
    -    0xf07b, 0xc2bc, 0x003f, 0xc2bd, 0xc16c, 0xf2be, 0xf2bf, 0xf4b1,
    -    /* 0x8000 .. 0x80ff */
    -    0xc4a3, 0xa6d1, 0x003f, 0xa6d2, 0xacfe, 0xaacc, 0xafcf, 0xd051,
    -    0x003f, 0x003f, 0x003f, 0xb5c0, 0xa6d3, 0xad41, 0xd052, 0xd053,
    -    0xad40, 0xad42, 0xa6d4, 0x003f, 0xd054, 0xafd1, 0xd366, 0xafd3,
    -    0xafd0, 0xafd2, 0x003f, 0xd741, 0xb2e0, 0x003f, 0xd740, 0xd6fe,
    -    0x003f, 0xdf71, 0x003f, 0x003f, 0xe3a1, 0x003f, 0xbda2, 0x003f,
    -    0xbfae, 0xeae6, 0xeae5, 0x003f, 0xede7, 0x003f, 0x003f, 0x003f,
    -    0xf5ef, 0x003f, 0x003f, 0xa6d5, 0xcb73, 0xcdaa, 0xad43, 0xd055,
    -    0x003f, 0xd368, 0x003f, 0x003f, 0x003f, 0xafd4, 0xd367, 0xafd5,
    -    0x003f, 0x003f, 0x003f, 0xd743, 0x003f, 0x003f, 0xb2e2, 0xd742,
    -    0xd744, 0x003f, 0xb2e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xdb46,
    -    0xdb47, 0xdb45, 0xb5c1, 0x003f, 0x003f, 0x003f, 0xb874, 0x003f,
    -    0xb875, 0x003f, 0xbb45, 0x003f, 0xe3a3, 0xe3a2, 0xbb44, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe6fb, 0x003f, 0x003f, 0xe6fc,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xeae7, 0x003f, 0x003f, 0xc170,
    -    0xc16f, 0xc16d, 0xc16e, 0xc171, 0x003f, 0xf07c, 0xc2bf, 0xc2be,
    -    0xf2c0, 0xf4b2, 0x003f, 0x003f, 0x003f, 0xc5a5, 0xc5a4, 0xa6d6,
    -    0x003f, 0x003f, 0xd1fb, 0x003f, 0xb877, 0xb5c2, 0xb876, 0xbb46,
    -    0x003f, 0xa6d7, 0xc9a9, 0xa6d8, 0xa6d9, 0x003f, 0x003f, 0xcdab,
    -    0xcb76, 0x003f, 0xcb77, 0xa877, 0x003f, 0xcb74, 0xa876, 0x003f,
    -    0xa879, 0xcb75, 0xa87b, 0xa87a, 0xcb78, 0xa878, 0x003f, 0x003f,
    -    0x003f, 0xaad1, 0xaacf, 0xcdad, 0x003f, 0xaace, 0x003f, 0x003f,
    -    0x003f, 0xaad3, 0xaad5, 0xaad2, 0x003f, 0xcdb0, 0xcdac, 0xaad6,
    -    0x003f, 0xaad0, 0xa87c, 0x003f, 0xaad4, 0xcdaf, 0x003f, 0x003f,
    -    0xcdae, 0x003f, 0xaacd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd05b, 0xad47, 0xad48, 0xd05d, 0x003f, 0xd057,
    -    0xd05a, 0xd063, 0xd061, 0x003f, 0xad49, 0xd067, 0xad4c, 0xd064,
    -    0xd05c, 0xd059, 0x003f, 0x003f, 0xdb49, 0xd062, 0xad44, 0xd065,
    -    0xd056, 0xd05f, 0xad46, 0xad4b, 0xd060, 0xad4f, 0xad4d, 0x003f,
    -    0xd058, 0xad4a, 0x003f, 0xd05e, 0xad4e, 0xad45, 0xd066, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xafda, 0x003f, 0xafe3,
    -    0xafd8, 0xafd6, 0xd36a, 0xafde, 0xafdb, 0xd36c, 0x003f, 0x003f,
    -    0xafdd, 0xd36b, 0xd369, 0xd36e, 0xafe2, 0xafe0, 0xdb48, 0x003f,
    -    /* 0x8100 .. 0x81ff */
    -    0xd36f, 0xd36d, 0xafd7, 0x003f, 0x003f, 0xafd9, 0xafdc, 0x003f,
    -    0xafdf, 0x003f, 0xafe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd74e, 0xb2e4, 0x003f,
    -    0xd745, 0xd747, 0x003f, 0xd748, 0x003f, 0xd750, 0xd74c, 0xd74a,
    -    0x003f, 0xd74d, 0xd751, 0xb2e5, 0xb2e9, 0xd746, 0x003f, 0xd74f,
    -    0x003f, 0xb2e7, 0x003f, 0xb2e6, 0xd74b, 0xd749, 0x003f, 0xb2e3,
    -    0xb2e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb5c8, 0xdb51, 0x003f, 0x003f, 0xdb4f, 0xb5ca, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdb4a, 0xdfa1, 0x003f, 0xb5c9, 0xdb4e,
    -    0x003f, 0x003f, 0xdb4b, 0xb5c5, 0xb5cb, 0xdb50, 0xb5c7, 0xdb4d,
    -    0xbb47, 0xb5c6, 0xdb4c, 0xb5cc, 0xb5c4, 0xb5c3, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdf77, 0xdf75, 0x003f, 0xdf7b, 0x003f,
    -    0xdf73, 0xdfa2, 0xdf78, 0x003f, 0xdf72, 0xb87b, 0xb8a3, 0xdf7d,
    -    0x003f, 0xdf76, 0x003f, 0xb87e, 0x003f, 0x003f, 0xb87c, 0xdf7e,
    -    0xb879, 0xb878, 0xdf79, 0xb87d, 0xb5cd, 0x003f, 0xdf7c, 0xdf74,
    -    0xb87a, 0xb8a1, 0xb8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbb4c,
    -    0xbb48, 0x003f, 0xbb4d, 0xe3a6, 0x003f, 0x003f, 0xe3a5, 0xe3a7,
    -    0xbb4a, 0xe3a4, 0xbb4b, 0xe3aa, 0xe3a9, 0xe3a8, 0x003f, 0xbb49,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe741, 0x003f, 0xe744,
    -    0xbda8, 0xe743, 0xbda7, 0xbda3, 0xbda4, 0xbda5, 0xe740, 0xe6fe,
    -    0xbda6, 0x003f, 0xe742, 0xe6fd, 0x003f, 0x003f, 0xeae9, 0xeaf3,
    -    0xbfb1, 0xbfb0, 0x003f, 0xeaed, 0xeaef, 0x003f, 0xeaea, 0x003f,
    -    0xeaee, 0xeae8, 0xeaf1, 0xbfaf, 0xeaf0, 0xeaec, 0x003f, 0xeaf2,
    -    0x003f, 0xeaeb, 0xc174, 0xede8, 0xedee, 0xc178, 0xc17a, 0xc177,
    -    0xc176, 0x003f, 0xc175, 0xc173, 0xede9, 0xedec, 0xc172, 0xeded,
    -    0x003f, 0xc179, 0xedeb, 0x003f, 0xedea, 0xc2c0, 0x003f, 0xc2c1,
    -    0xf0a1, 0xf07d, 0xf07e, 0x003f, 0x003f, 0xf2c2, 0x003f, 0xf2c1,
    -    0xc3be, 0xf4b4, 0xc4a4, 0xf4b3, 0x003f, 0xf5f0, 0xf745, 0xc5a6,
    -    0xf943, 0xf944, 0xc5d8, 0xa6da, 0x003f, 0xaad7, 0xdb52, 0xbb4e,
    -    0xc17b, 0xedef, 0xa6db, 0x003f, 0xafe5, 0xafe4, 0xdb53, 0x003f,
    -    0x003f, 0x003f, 0xeaf4, 0xa6dc, 0xad50, 0x003f, 0x003f, 0xdb54,
    -    0xdb55, 0xdb56, 0xbb4f, 0xbfb2, 0xa6dd, 0x003f, 0xaad8, 0xd068,
    -    /* 0x8200 .. 0x82ff */
    -    0xafe6, 0xd370, 0xb2ea, 0x003f, 0xdb57, 0xb8a4, 0x003f, 0xbb50,
    -    0xbfb3, 0xc17c, 0xc2c2, 0xf4b5, 0xa6de, 0xaad9, 0x003f, 0x003f,
    -    0xafe7, 0xd752, 0xb5ce, 0x003f, 0xbb51, 0xe3ab, 0xe745, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa6df, 0xb5cf, 0xdfa3, 0xbb52, 0xa6e0,
    -    0xcdb1, 0xd069, 0xad51, 0x003f, 0x003f, 0xd372, 0x003f, 0x003f,
    -    0xafea, 0x003f, 0xafe8, 0xafe9, 0xafeb, 0x003f, 0x003f, 0xd371,
    -    0x003f, 0x003f, 0xd757, 0xd754, 0xd756, 0xb2eb, 0xb2ed, 0xb2ec,
    -    0xd753, 0xb2ee, 0xd755, 0x003f, 0xdb58, 0xdb59, 0x003f, 0xdb5a,
    -    0xdfa6, 0x003f, 0xdfa7, 0x003f, 0xdfa5, 0xdfa8, 0x003f, 0xb8a5,
    -    0x003f, 0xdfa4, 0x003f, 0xbb53, 0x003f, 0x003f, 0xe74a, 0xe746,
    -    0xe749, 0xe74b, 0xe748, 0xe747, 0x003f, 0xeaf5, 0xeaf6, 0xeaf7,
    -    0xbfb4, 0xbfb5, 0xedf1, 0xedf0, 0xedf2, 0x003f, 0xf0a3, 0xf0a2,
    -    0x003f, 0xf2c4, 0x003f, 0xf2c5, 0xf2c3, 0x003f, 0xc4a5, 0x003f,
    -    0xf4b6, 0xf4b7, 0x003f, 0xf746, 0xf7ef, 0xf8bb, 0xa6e1, 0xa87d,
    -    0x003f, 0xc17d, 0xa6e2, 0x003f, 0xd758, 0xdb5b, 0x003f, 0xc641,
    -    0xca4a, 0x003f, 0x003f, 0x003f, 0xca4b, 0xca4d, 0xa6e3, 0xca4e,
    -    0xca4c, 0x003f, 0x003f, 0xcba2, 0xcba3, 0xcb7b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xcba1, 0xa8a1, 0x003f, 0xa8a2, 0xcb7c, 0xcb7a,
    -    0xcb79, 0xcb7d, 0xa87e, 0xcb7e, 0xd06a, 0x003f, 0x003f, 0x003f,
    -    0xcdb6, 0xaadc, 0xcdb5, 0xcdb7, 0x003f, 0xaadb, 0xcdbc, 0xaadf,
    -    0xcdb2, 0xcdc0, 0xcdc6, 0xaae6, 0xcdc3, 0xaae3, 0x003f, 0xcdb9,
    -    0xcdbf, 0xcdc1, 0x003f, 0xcdb4, 0xaae2, 0xaadd, 0xcdba, 0xaae4,
    -    0xaae7, 0xaae1, 0x003f, 0xaada, 0xcdbe, 0xcdb8, 0xcdc5, 0xaae9,
    -    0xaae5, 0xaae0, 0xcdbd, 0xafec, 0xcdbb, 0xaade, 0xaae8, 0x003f,
    -    0xcdb3, 0x003f, 0xcdc2, 0xcdc4, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xad62, 0xad5c, 0xad64, 0xad61, 0xd071, 0xd074, 0xad5d,
    -    0x003f, 0xd06b, 0x003f, 0xad56, 0xad60, 0x003f, 0xad63, 0xad65,
    -    0xd0a2, 0xd077, 0x003f, 0xad55, 0xd0a1, 0xad59, 0xad57, 0xad52,
    -    0xd06f, 0x003f, 0xd07e, 0xd073, 0xd076, 0xd0a5, 0x003f, 0xad66,
    -    0xd07d, 0xad5e, 0xd078, 0xd0a4, 0xd075, 0xd079, 0xd07c, 0x003f,
    -    0x003f, 0xd06d, 0xd0a3, 0xd07b, 0x003f, 0x003f, 0xd06c, 0x003f,
    -    /* 0x8300 .. 0x83ff */
    -    0xd070, 0xad5f, 0xad5a, 0xad53, 0xad58, 0xad54, 0xad67, 0xd06e,
    -    0xd3a5, 0xad5b, 0x003f, 0x003f, 0xd07a, 0xce41, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a8, 0xaffa,
    -    0x003f, 0xd376, 0x003f, 0xd3a3, 0xd37d, 0x003f, 0xd3b2, 0x003f,
    -    0xd3aa, 0x003f, 0xd37e, 0x003f, 0xd3a9, 0xd378, 0xd37c, 0xd3b5,
    -    0xaffd, 0xd3ad, 0xd3a4, 0xafed, 0xd3b3, 0xd374, 0x003f, 0xd3ac,
    -    0x003f, 0xaffc, 0xaff7, 0xd373, 0xaff5, 0xaff4, 0xaff9, 0xd3ab,
    -    0xaff1, 0xaff8, 0xd072, 0xdb5c, 0xd3a6, 0x003f, 0x003f, 0xd37a,
    -    0xaffb, 0xd37b, 0xd3a1, 0xaffe, 0xd375, 0xd3af, 0x003f, 0xd3ae,
    -    0xd3b6, 0xaff3, 0xaff0, 0xd3b4, 0xd3b0, 0xd3a7, 0xd3a2, 0xaff6,
    -    0xaff2, 0xd377, 0xafee, 0xd3b1, 0xafef, 0x003f, 0xd379, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd75e, 0xd760, 0xd765, 0xd779, 0xb2fc,
    -    0xb2f2, 0x003f, 0xd75d, 0xb2fd, 0xb2fe, 0xd768, 0xd76f, 0xd775,
    -    0x003f, 0xd762, 0x003f, 0xd769, 0x003f, 0x003f, 0xb340, 0xd777,
    -    0xd772, 0xb2fa, 0xb2f8, 0xd76e, 0xd76a, 0xd75c, 0xb2ef, 0xd761,
    -    0xd759, 0x003f, 0xb2f7, 0xb2f9, 0xd766, 0xd763, 0xb2f4, 0xd773,
    -    0xb2f1, 0xd764, 0xd77a, 0xd76c, 0x003f, 0xd76b, 0xb2f0, 0x003f,
    -    0xb2fb, 0x003f, 0xb2f3, 0xd75a, 0xd75f, 0xd770, 0xd776, 0xb341,
    -    0xd75b, 0xd767, 0xd76d, 0xb2f6, 0x003f, 0x003f, 0xd778, 0xd771,
    -    0xd774, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2f5, 0x003f, 0xdb6c,
    -    0xdb60, 0xb5d7, 0xdb7d, 0xdba7, 0xdbaa, 0xb5d5, 0xdb68, 0xdba3,
    -    0xdb69, 0xdb77, 0xb5e2, 0xdb73, 0xb5df, 0x003f, 0xdb74, 0xdb5d,
    -    0x003f, 0xdba4, 0x003f, 0x003f, 0xb5e8, 0xdba1, 0xdb75, 0xdbac,
    -    0xdb70, 0xdfc8, 0x003f, 0xdbaf, 0xb5e6, 0xdb6e, 0xdb7a, 0xb5e9,
    -    0xb5d4, 0xdb72, 0xdbad, 0xdb6b, 0xdb64, 0xdb6f, 0x003f, 0xdb63,
    -    0xdb61, 0xb5d0, 0xdba5, 0xdb6a, 0xdba8, 0x003f, 0xdba9, 0xb5d8,
    -    0xb5dd, 0xb5d9, 0xb5e1, 0xdb7e, 0xb5da, 0xdb76, 0xdb66, 0x003f,
    -    0xb5d2, 0xdb5e, 0xdba2, 0xdbab, 0xdb65, 0xb5e0, 0xdbb0, 0xdb71,
    -    /* 0x8400 .. 0x84ff */
    -    0x003f, 0xdb6d, 0x003f, 0xb5d1, 0xb5e5, 0x003f, 0xdb7c, 0xb5e7,
    -    0x003f, 0xdb78, 0xb5dc, 0xb5d6, 0xb5de, 0xb5d3, 0xb5e4, 0xdb79,
    -    0xdb67, 0xdb7b, 0xdb62, 0xdba6, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdbae, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xdb5f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdfc7, 0x003f, 0xdfdd, 0xb855, 0xdfcc, 0x003f, 0xdfca,
    -    0xdfb5, 0xb8a9, 0xdfc5, 0xdfd9, 0xdfc1, 0xb8b1, 0xdfd8, 0xdfbf,
    -    0xb5e3, 0xdfcf, 0xdfc0, 0xdfd6, 0xb8b0, 0xb8a8, 0x003f, 0xdfaa,
    -    0xdfb2, 0x003f, 0xdfcb, 0xdfc3, 0xdfdc, 0xdfc6, 0xb8b6, 0xdfd7,
    -    0x003f, 0xb8ad, 0x003f, 0xdfc9, 0xdfd1, 0xdfb6, 0xdfd0, 0x003f,
    -    0xdfe1, 0xdfb1, 0xdfd2, 0x003f, 0xdfdf, 0x003f, 0xdfab, 0xb5db,
    -    0x003f, 0xdfb9, 0xdfb8, 0xb8af, 0x003f, 0xdfbc, 0xdfbe, 0xdfcd,
    -    0xdfde, 0xb8b2, 0x003f, 0xb8b3, 0x003f, 0xdfb0, 0xb8ab, 0xdfb4,
    -    0xdfda, 0xb8b4, 0x003f, 0xb8ac, 0xb8ae, 0xb8b5, 0xdfe0, 0xdfd3,
    -    0xdfce, 0x003f, 0x003f, 0xdfbb, 0xdfba, 0xb8aa, 0xdfac, 0xb8a7,
    -    0xdfc4, 0xdfad, 0xdfc2, 0x003f, 0x003f, 0xdfb7, 0xdfdb, 0x003f,
    -    0x003f, 0x003f, 0xb8a6, 0x003f, 0x003f, 0x003f, 0xdfb3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfaf, 0xdfd5, 0xdfae,
    -    0xbb60, 0xe3d3, 0x003f, 0x003f, 0xe3c2, 0x003f, 0x003f, 0xe3ac,
    -    0xe3ca, 0xbb58, 0xe3bb, 0xe3c5, 0xbb5b, 0xe3be, 0xbb59, 0xe3af,
    -    0xe3cd, 0xe3ae, 0xe3c1, 0x003f, 0xe3ad, 0x003f, 0x003f, 0xe3bf,
    -    0xe3c8, 0xe3c6, 0xe3ba, 0xe3b5, 0xe3b3, 0x003f, 0xe3b4, 0xe3c7,
    -    0xe3d2, 0xe3bc, 0xbb5a, 0x003f, 0xe3b7, 0x003f, 0xe3cb, 0x003f,
    -    0xbb5d, 0xe3b6, 0xe3b0, 0xe3c0, 0xbb61, 0x003f, 0x003f, 0xbb55,
    -    0xbb5e, 0xe3b8, 0xe3b2, 0x003f, 0xbb57, 0xdfd4, 0xbb56, 0xe3c3,
    -    0x003f, 0xbb54, 0xbb63, 0xbb5c, 0xe3c4, 0xe3b9, 0xe3b1, 0xe3cc,
    -    0xe3bd, 0xbb62, 0xe3d0, 0xbb5f, 0xe3cf, 0x003f, 0xe3c9, 0xe3ce,
    -    0x003f, 0x003f, 0x003f, 0xe3d1, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe773,
    -    0xe774, 0xe767, 0xe766, 0xe762, 0xbdb4, 0x003f, 0xbdac, 0xe776,
    -    0xe775, 0xdfa9, 0xe75f, 0xe763, 0xe75d, 0x003f, 0xe770, 0xe761,
    -    0x003f, 0xe777, 0xe75a, 0xe758, 0xe764, 0xe76e, 0xe769, 0xbdb6,
    -    /* 0x8500 .. 0x85ff */
    -    0xe74f, 0x003f, 0xe76d, 0x003f, 0x003f, 0x003f, 0xbdb7, 0xdfbd,
    -    0xe75b, 0xe752, 0xe755, 0xe77b, 0xe75c, 0xe753, 0xe751, 0xe74e,
    -    0x003f, 0xbdb0, 0xe765, 0xbdaf, 0xbdb3, 0xe760, 0xe768, 0xbda9,
    -    0xe778, 0xe77c, 0xbdab, 0x003f, 0xe757, 0xe76b, 0xe76f, 0xe754,
    -    0xe779, 0xbdb2, 0x003f, 0xbdb1, 0xe74c, 0xbdb5, 0xe772, 0xe756,
    -    0xe76a, 0xe750, 0xe75e, 0xe759, 0xbdad, 0xbdae, 0xe76c, 0xe77d,
    -    0xe77a, 0xe771, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xe74d, 0x003f, 0xbdaa, 0xeb49, 0x003f,
    -    0xeb40, 0xeb43, 0x003f, 0xbfbb, 0xeb45, 0xeaf9, 0xeb41, 0xeb47,
    -    0xbfb8, 0xbfbc, 0xbfb6, 0x003f, 0x003f, 0xeafb, 0xeb4c, 0x003f,
    -    0x003f, 0xeb46, 0x003f, 0xeafc, 0xeb55, 0xeb4f, 0xeaf8, 0xee46,
    -    0xeafe, 0xbfb7, 0x003f, 0xeb4a, 0x003f, 0xeb54, 0xbfbf, 0x003f,
    -    0xeb51, 0xeafd, 0xeb44, 0xeb48, 0xeb42, 0xeb56, 0xeb53, 0xeb50,
    -    0xbfb9, 0xbfba, 0xbfbe, 0xeafa, 0xeb57, 0xbfbd, 0xeb4d, 0x003f,
    -    0x003f, 0xeb4b, 0x003f, 0x003f, 0x003f, 0xeb4e, 0xee53, 0xee40,
    -    0xee45, 0xee52, 0xee44, 0xedfb, 0xee41, 0x003f, 0xc1a2, 0x003f,
    -    0xedf4, 0xee4d, 0xee4f, 0xedf3, 0xc1a1, 0xee51, 0xee49, 0xc1a8,
    -    0xee50, 0xee42, 0xc1aa, 0xedf9, 0xeb52, 0xee4a, 0xee47, 0xedf5,
    -    0xee55, 0xc1a4, 0x003f, 0x003f, 0xc1a5, 0xedf7, 0xee48, 0x003f,
    -    0xee54, 0xee4b, 0xedfd, 0xc1a7, 0xc1a3, 0xee4c, 0xedfe, 0xee56,
    -    0xedf8, 0xee43, 0xee4e, 0xedfa, 0xedfc, 0x003f, 0xc2cb, 0xedf6,
    -    0xc1a9, 0xc2c4, 0xc17e, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1a6,
    -    0xc2c8, 0xf0b3, 0x003f, 0xf0a9, 0xf0a4, 0xf0aa, 0xf0b4, 0xf0b8,
    -    0xf0b7, 0xc2ca, 0xc2c9, 0x003f, 0x003f, 0xf0ab, 0xf0b9, 0xf0ae,
    -    0xf0a6, 0x003f, 0xf0a8, 0xf0a7, 0xf0ad, 0xf0b2, 0xf0a5, 0xf0ac,
    -    0xf0b1, 0xc2c7, 0x003f, 0xf0af, 0x003f, 0xc2c5, 0xf0b0, 0xc2c3,
    -    0xc2c6, 0xf2d5, 0xf0b5, 0x003f, 0x003f, 0xc3c2, 0x003f, 0xf2cd,
    -    0xf2d1, 0xf2c9, 0xf2cc, 0x003f, 0xf2d4, 0xc3c0, 0xf2d9, 0xf2d2,
    -    0x003f, 0xf2ca, 0xf2da, 0xf2d3, 0xc3c3, 0xc3c4, 0xf2d7, 0x003f,
    -    0xf2cb, 0xc3bf, 0xc3c1, 0xf2c6, 0xf2ce, 0xf2c8, 0x003f, 0xf2d8,
    -    0xf2d6, 0xf2c7, 0xf2cf, 0x003f, 0x003f, 0x003f, 0xf4be, 0xc3c5,
    -    0xf2d0, 0xc4a7, 0xc4a9, 0xc4a6, 0x003f, 0xf4c3, 0xf4bb, 0xf4b9,
    -    /* 0x8600 .. 0x86ff */
    -    0xf4bd, 0xf4ba, 0x003f, 0x003f, 0xf4bf, 0xf4c1, 0xc4aa, 0xc4ac,
    -    0x003f, 0xf4c0, 0xc4ad, 0xc4ab, 0xf4c2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc4a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4f4,
    -    0xf5f1, 0xf5f7, 0xc4f6, 0xf4bc, 0xf5f6, 0x003f, 0xf5fd, 0xf5f4,
    -    0xf5fb, 0xf5fa, 0xf4b8, 0xf5f5, 0xf0b6, 0xf5fe, 0xf5f3, 0xf5f8,
    -    0x003f, 0xf5fc, 0xf5f2, 0x003f, 0xf74a, 0xc4f5, 0xf5f9, 0x003f,
    -    0x003f, 0xf7f4, 0xf74b, 0xf749, 0xf747, 0xf748, 0xf74c, 0x003f,
    -    0xc5d9, 0xf7f2, 0xf7f0, 0xf7f5, 0xf7f3, 0x003f, 0xf7f6, 0xc5da,
    -    0xf7f1, 0x003f, 0x003f, 0xf8bc, 0x003f, 0x003f, 0xf945, 0xf946,
    -    0xf947, 0x003f, 0x003f, 0xf9c7, 0xf9bd, 0xca4f, 0xaaea, 0x003f,
    -    0xad68, 0x003f, 0xd3b8, 0xd3b7, 0xb040, 0xb342, 0xd77c, 0x003f,
    -    0x003f, 0xd77b, 0x003f, 0xb5ea, 0xb8b8, 0x003f, 0xb8b7, 0xb8b9,
    -    0x003f, 0xe3d4, 0xe77e, 0xeb58, 0xeb5a, 0xeb59, 0x003f, 0xc1ab,
    -    0xee57, 0xf0ba, 0xf9a5, 0xa6e4, 0x003f, 0xcdc9, 0xcdca, 0xcdc8,
    -    0xcdc7, 0xaaeb, 0x003f, 0xd0a9, 0xd0a7, 0x003f, 0x003f, 0xd0a6,
    -    0x003f, 0xad69, 0xad6b, 0xad6a, 0xd0a8, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3c4, 0xd3c1, 0xd3bf,
    -    0x003f, 0x003f, 0xb041, 0xd3c2, 0xb046, 0xd3bc, 0xd3cb, 0x003f,
    -    0xd3cd, 0xd3bd, 0x003f, 0xb043, 0xd3ce, 0xd3c9, 0xd3bb, 0xd3c0,
    -    0xd3ca, 0xd3c6, 0xd3c3, 0x003f, 0xb048, 0xd3cc, 0xd3be, 0x003f,
    -    0x003f, 0xd3c7, 0xd3b9, 0xb047, 0xb044, 0xd3c5, 0x003f, 0xd3c8,
    -    0xd3ba, 0xb045, 0xb042, 0x003f, 0x003f, 0x003f, 0x003f, 0xb34c,
    -    0xd7a5, 0xb34b, 0x003f, 0xd7a8, 0xd7ab, 0xb348, 0xb346, 0xd77e,
    -    0xd7a9, 0xd7a7, 0xd7a4, 0xd7ac, 0xd7ad, 0xd7af, 0xd7b0, 0xd77d,
    -    0xb345, 0xd7a2, 0xd7a1, 0xd7ae, 0xb347, 0xd7a3, 0xb349, 0xb344,
    -    0xd7a6, 0xb34d, 0x003f, 0xb34a, 0xd7aa, 0x003f, 0x003f, 0x003f,
    -    0xb5f1, 0xdbbf, 0x003f, 0xdbb4, 0xb5ee, 0x003f, 0xdfe7, 0xdbbd,
    -    0xdbb1, 0xb5ec, 0xdbb6, 0xb5ef, 0xdbba, 0xdbb8, 0xb5f2, 0xb5eb,
    -    0x003f, 0x003f, 0xdbb2, 0xdbb5, 0xb5f0, 0x003f, 0xdbb3, 0x003f,
    -    0xdbbe, 0xdbbc, 0xdbb7, 0xdbb9, 0xdbbb, 0xb5ed, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfe8, 0xdfee, 0xdfe4,
    -    0xdfea, 0xb8ba, 0xdfe6, 0xb8c0, 0x003f, 0x003f, 0xb8bf, 0x003f,
    -    /* 0x8700 .. 0x87ff */
    -    0xb8be, 0xdfed, 0xb8c1, 0xb8c2, 0xdfe3, 0xdff0, 0xb8c3, 0xb8bd,
    -    0xb8bc, 0xdfec, 0xb8c4, 0xdfe2, 0xdfe5, 0xdfef, 0xdfeb, 0x003f,
    -    0x003f, 0xe3f4, 0xe3e9, 0xb8bb, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbb6a, 0xe3dd, 0xe3f2, 0xe3de, 0xbb65, 0x003f, 0xe3db, 0x003f,
    -    0xe3e4, 0xe3dc, 0xbb67, 0xe3d6, 0xe3f1, 0xbb68, 0xe3ee, 0xe3ef,
    -    0xe3d7, 0xbb6d, 0xe3e6, 0x003f, 0xe3e0, 0xe3e7, 0xe3da, 0x003f,
    -    0xe3f3, 0xe3eb, 0xe3e5, 0xe3d5, 0xbb69, 0xe3ec, 0x003f, 0xbb6c,
    -    0xe3f0, 0x003f, 0xe3ea, 0xbb66, 0xe3e8, 0x003f, 0xe3e2, 0xbb64,
    -    0xe3d9, 0xe3e1, 0xe3ed, 0xe3df, 0x003f, 0x003f, 0xe3e3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xbdc1, 0xdfe9, 0xe7b2, 0xe7bb,
    -    0xe7b1, 0xe7ad, 0xe7aa, 0xbdc2, 0xe7a8, 0xbb6b, 0xe7a1, 0xbdc0,
    -    0xe7a7, 0xbdbf, 0xe7ac, 0xe7a9, 0xe7b9, 0xe7b4, 0xe7ae, 0xe7b3,
    -    0xbdbb, 0xe7ab, 0xe7be, 0xe7a2, 0xe7a3, 0xe7ba, 0xbdbc, 0xe7bf,
    -    0xbdbe, 0xe7c0, 0xe7b0, 0xe3d8, 0xe7b6, 0xe7af, 0xe7b8, 0xe7b5,
    -    0x003f, 0x003f, 0x003f, 0xe7a6, 0xbdb9, 0xe7bd, 0xbdba, 0xe7a4,
    -    0xbdbd, 0xeb64, 0xe7b7, 0xe7bc, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeb61, 0xbdb8, 0xbfc0, 0xeb6b, 0xeb67, 0x003f, 0xeb65,
    -    0xeb60, 0xeb6f, 0x003f, 0x003f, 0x003f, 0xbfc4, 0x003f, 0xeb5c,
    -    0xeb68, 0xeb69, 0xeb5f, 0xeb5e, 0xeb6c, 0x003f, 0xeb62, 0xeb5d,
    -    0xeb63, 0x003f, 0xeb6e, 0xeb5b, 0xeb6d, 0xeb6a, 0xbfc2, 0xbfc1,
    -    0x003f, 0x003f, 0xbfc3, 0xeb66, 0xf0cb, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xee59, 0xc1b1, 0xee5d, 0xee5a, 0xee61, 0xee67,
    -    0xee5c, 0x003f, 0xee70, 0xc1ae, 0xee6a, 0xee5f, 0xee6b, 0xee66,
    -    0xee6d, 0xee5e, 0xc1b3, 0xc1b2, 0xee60, 0xee6e, 0xee58, 0xee6c,
    -    0xc1ac, 0x003f, 0xee64, 0xee63, 0xee68, 0xee5b, 0xc1b0, 0x003f,
    -    0xc1b4, 0xee62, 0xee69, 0xc1b5, 0xee65, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc1ad, 0xc1af, 0xf0c7, 0xf0c5, 0x003f, 0x003f, 0xf0cc,
    -    0xf0c9, 0xf0cd, 0x003f, 0xf0be, 0xf0c6, 0xf0d1, 0xee6f, 0xf0c2,
    -    0xc2cf, 0xe7a5, 0xf0bd, 0xf0ca, 0xf0c4, 0xf0c1, 0xf0bc, 0xf0bb,
    -    0xf0d0, 0x003f, 0xf0c0, 0xf0bf, 0xc2cd, 0xf0c8, 0x003f, 0xc2cc,
    -    0x003f, 0x003f, 0xc2ce, 0xf0c3, 0xf0cf, 0x003f, 0xf2de, 0xf2df,
    -    0x003f, 0xc3c9, 0xf2dc, 0xc3c6, 0xf2e4, 0x003f, 0xc3ca, 0xf2e6,
    -    /* 0x8800 .. 0x88ff */
    -    0xf2db, 0xf0ce, 0xf2e8, 0xf2dd, 0x003f, 0xc3c7, 0xf2e3, 0x003f,
    -    0xf2e5, 0xf2e0, 0xf2e7, 0xf2e2, 0xf2e1, 0xc3c8, 0x003f, 0x003f,
    -    0xf4c5, 0xf4c6, 0x003f, 0xf4c8, 0xc4ae, 0xc4af, 0xf4c9, 0xf4c7,
    -    0x003f, 0xf4c4, 0x003f, 0xf642, 0xf645, 0xf641, 0x003f, 0xc4fa,
    -    0xf643, 0xc4f9, 0xc4f8, 0xc4f7, 0xf644, 0xf751, 0xf74f, 0x003f,
    -    0xf74e, 0xf640, 0xf750, 0xf646, 0xf74d, 0x003f, 0xf7f9, 0xf7d7,
    -    0xf7f7, 0xc5db, 0xf7f8, 0xf7fa, 0x003f, 0xf8bf, 0xc5fa, 0xf8be,
    -    0xf8bd, 0xc5fb, 0x003f, 0xc65a, 0xf96e, 0xf9a7, 0xf9a6, 0xf9a8,
    -    0xa6e5, 0xd0aa, 0x003f, 0xd3cf, 0xd3d0, 0x003f, 0x003f, 0x003f,
    -    0xdbc0, 0x003f, 0xf647, 0xf8c0, 0xa6e6, 0xad6c, 0xd0ab, 0x003f,
    -    0x003f, 0x003f, 0xd7b1, 0xb34e, 0x003f, 0xdbc2, 0xdbc1, 0xb5f3,
    -    0x003f, 0xb8c5, 0xe7c1, 0xbdc3, 0x003f, 0xbdc4, 0x003f, 0x003f,
    -    0x003f, 0xbfc5, 0xc5fc, 0xa6e7, 0x003f, 0x003f, 0x003f, 0xd0ac,
    -    0xaaed, 0xd0ae, 0xd0ad, 0xad6d, 0x003f, 0xd3d1, 0x003f, 0xd3d8,
    -    0xb049, 0xd3d6, 0xd3d4, 0x003f, 0xd3db, 0xd3d2, 0xd3d3, 0xb04a,
    -    0x003f, 0xb04e, 0x003f, 0x003f, 0xd3dc, 0xb04d, 0xd3da, 0xd3d7,
    -    0xd3d5, 0xb04b, 0xb04c, 0xd3d9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb350, 0xd7b2, 0x003f, 0xb355, 0xd7c2, 0xb354, 0xd7c4, 0x003f,
    -    0x003f, 0xd7b8, 0xb352, 0xd7c3, 0x003f, 0xd7b3, 0xb353, 0xd7bf,
    -    0xd7bb, 0xd7bd, 0xd7b7, 0xd7be, 0x003f, 0x003f, 0xb34f, 0xd7ba,
    -    0x003f, 0xd7b9, 0xd7b5, 0x003f, 0xd7c0, 0x003f, 0x003f, 0xd7bc,
    -    0xd7b4, 0x003f, 0xd7b6, 0xb351, 0xd7c1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xb5f6, 0xdbcd, 0x003f, 0x003f, 0x003f, 0xdbc9, 0xdbcb,
    -    0xdbc6, 0xdbc5, 0xdbc3, 0x003f, 0xdbca, 0xdbcc, 0xdbc8, 0x003f,
    -    0xdbc7, 0xb5f4, 0xb5f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xdbcf, 0xb8cd, 0xdff2, 0xdff8, 0xdff3, 0xdff4, 0xf9d8,
    -    0xdff9, 0x003f, 0xb8cf, 0x003f, 0xb8c7, 0xb8ce, 0xdff1, 0xdbc4,
    -    0xb8ca, 0xb8c8, 0xdff7, 0xdff6, 0xb8c9, 0xb8cb, 0xdff5, 0xb8c6,
    -    0x003f, 0xb8cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f6,
    -    0xbb74, 0x003f, 0x003f, 0xe442, 0xe441, 0x003f, 0xe3fb, 0xbb76,
    -    0xe440, 0xe3f7, 0xe3f8, 0xbb6e, 0xbb70, 0x003f, 0xe3fd, 0xe3f5,
    -    0xbb72, 0xbb71, 0xe3f9, 0xe3fe, 0xe3fc, 0xbb73, 0xe3fa, 0x003f,
    -    /* 0x8900 .. 0x89ff */
    -    0x003f, 0xdbce, 0xbb6f, 0x003f, 0x003f, 0xe7c2, 0xe7c9, 0xbdc6,
    -    0x003f, 0xe7cd, 0xbdca, 0xe7c5, 0xe7c3, 0x003f, 0xe7cc, 0x003f,
    -    0xbdc5, 0xe7cb, 0xbdc7, 0xbdc8, 0xe7c4, 0xbdc9, 0xe7ca, 0xe7c6,
    -    0xe7c7, 0xe7c8, 0xbb75, 0x003f, 0x003f, 0x003f, 0xeb70, 0xeb7c,
    -    0x003f, 0xbfca, 0xeb77, 0xeb79, 0x003f, 0xbfc8, 0xeb71, 0xeb75,
    -    0x003f, 0xeb78, 0xbfc6, 0xbfc9, 0xeb7b, 0xeb73, 0xeb74, 0xeb7a,
    -    0xeb72, 0xeb76, 0xbfc7, 0xee72, 0x003f, 0xee71, 0xc1b7, 0xee77,
    -    0xc1b9, 0x003f, 0x003f, 0xc1b6, 0xee73, 0xc1ba, 0xee74, 0x003f,
    -    0x003f, 0xee75, 0xee78, 0x003f, 0xc1b8, 0x003f, 0xf0d6, 0x003f,
    -    0x003f, 0xf0d9, 0x003f, 0xf0d3, 0xf0d5, 0x003f, 0x003f, 0xf0d4,
    -    0xf0d7, 0xf0d8, 0xee76, 0xf0d2, 0x003f, 0x003f, 0xc3cd, 0xf2ec,
    -    0xf2ef, 0xf2f1, 0xf2ea, 0xf2eb, 0xf2ee, 0xf2f0, 0xc3ce, 0xc3cc,
    -    0xc3cb, 0xf2ed, 0xf2e9, 0xf4ca, 0xc4b0, 0x003f, 0xf4cb, 0x003f,
    -    0x003f, 0xf649, 0xc4fb, 0xf64b, 0xc4fc, 0xf648, 0xf64a, 0xc5a8,
    -    0x003f, 0xf752, 0xc5a7, 0xf7fd, 0xf7fc, 0x003f, 0xf7fb, 0x003f,
    -    0x003f, 0xf948, 0xf949, 0xf94b, 0xf94a, 0x003f, 0xca50, 0xa6e8,
    -    0x003f, 0xad6e, 0xd7c5, 0xb5f7, 0x003f, 0xdffa, 0xc2d0, 0x003f,
    -    0xf2f2, 0x003f, 0x003f, 0xa8a3, 0x003f, 0x003f, 0x003f, 0xb357,
    -    0x003f, 0x003f, 0x003f, 0xb356, 0x003f, 0xdbd0, 0xb5f8, 0xdbd2,
    -    0xdbd1, 0x003f, 0x003f, 0xdffb, 0xb8d0, 0xe443, 0xe446, 0xe445,
    -    0x003f, 0xe444, 0xe7ce, 0xe7d0, 0xe7cf, 0x003f, 0xbfcc, 0x003f,
    -    0x003f, 0x003f, 0xbfcb, 0x003f, 0xc1bb, 0xee79, 0xee7b, 0xee7a,
    -    0x003f, 0x003f, 0xc2d1, 0x003f, 0x003f, 0x003f, 0xf2f4, 0xf2f3,
    -    0x003f, 0xf4cc, 0xc4b1, 0x003f, 0x003f, 0xc4fd, 0xf754, 0xf753,
    -    0xc65b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xa8a4, 0xd0af, 0xad6f, 0xd7c8, 0xd7c6, 0x003f,
    -    0x003f, 0xd7c7, 0xdbd4, 0xdbd5, 0xe043, 0xdbd3, 0x003f, 0xdffc,
    -    0xe041, 0xe040, 0xe042, 0xb8d1, 0xdffe, 0xdffd, 0xe044, 0x003f,
    -    0xe449, 0xe447, 0x003f, 0xe448, 0xe7d3, 0xe7d1, 0x003f, 0x003f,
    -    0xe7d2, 0xeb7d, 0xee7c, 0xee7d, 0xc2d2, 0x003f, 0xf2f5, 0xf4cd,
    -    0xc4b2, 0x003f, 0xf64c, 0xf755, 0xc5a9, 0x003f, 0xf7fe, 0xf94c,
    -    /* 0x8a00 .. 0x8aff */
    -    0xa8a5, 0x003f, 0xad71, 0xad72, 0xd0b0, 0x003f, 0x003f, 0xd0b1,
    -    0xad70, 0x003f, 0xb054, 0x003f, 0xb052, 0x003f, 0xb051, 0xb058,
    -    0xb050, 0xb059, 0xd3dd, 0xb056, 0x003f, 0xb053, 0xb057, 0xb055,
    -    0xb04f, 0x003f, 0x003f, 0xb35f, 0x003f, 0xb359, 0xd7cc, 0xb35e,
    -    0x003f, 0x003f, 0xb360, 0xb35a, 0x003f, 0xb35b, 0x003f, 0xd7ca,
    -    0x003f, 0x003f, 0xb358, 0x003f, 0xd7cb, 0xb35d, 0x003f, 0x003f,
    -    0xd7c9, 0xb35c, 0x003f, 0x003f, 0xb644, 0x003f, 0xb646, 0x003f,
    -    0x003f, 0xdbd8, 0xb645, 0xb5f9, 0xb5fd, 0x003f, 0xb8e4, 0xe049,
    -    0xdbda, 0xb5fe, 0x003f, 0x003f, 0xdbdd, 0xdbde, 0xb643, 0x003f,
    -    0xdbe0, 0x003f, 0xdbe2, 0x003f, 0xdbe3, 0xdbd7, 0xdbd6, 0xdbe4,
    -    0xb642, 0xdbe1, 0xdbdf, 0x003f, 0xb640, 0xb5fb, 0xb647, 0xdbdb,
    -    0xdbdc, 0xdbd9, 0x003f, 0xb641, 0x003f, 0x003f, 0xb5fc, 0x003f,
    -    0xb5fa, 0xe048, 0xb8df, 0xb8da, 0x003f, 0x003f, 0xb8d5, 0x003f,
    -    0xb8e5, 0xb8d6, 0x003f, 0xb8d2, 0xb8e1, 0xb8de, 0xb8e0, 0x003f,
    -    0xb8d7, 0xb8dc, 0xb8d3, 0xb8d4, 0xe050, 0xe04d, 0xe045, 0xe04a,
    -    0x003f, 0xb8e2, 0xe051, 0xb8e3, 0xb8d9, 0x003f, 0x003f, 0xe047,
    -    0x003f, 0xe04f, 0xe04b, 0xe04e, 0xe04c, 0xb8dd, 0xe046, 0xb8d8,
    -    0x003f, 0x003f, 0x003f, 0xe44c, 0xbb78, 0xbb7b, 0x003f, 0xe44e,
    -    0x003f, 0xbba5, 0xe44d, 0xbb7d, 0x003f, 0xbdcf, 0xe44f, 0x003f,
    -    0xbba4, 0xe44b, 0xbba6, 0x003f, 0x003f, 0x003f, 0xbb79, 0x003f,
    -    0xb8db, 0xbb7c, 0x003f, 0xbb7a, 0xbb7e, 0xbba2, 0xbb77, 0xbba7,
    -    0xbba3, 0x003f, 0xbba1, 0xe44a, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xbdd6, 0x003f, 0xbdd2, 0x003f, 0x003f, 0x003f, 0xbdd9, 0x003f,
    -    0xe7d6, 0xbdda, 0xe7e2, 0xe7db, 0xbdcb, 0xe7e3, 0xe7dd, 0xbdd5,
    -    0xe7de, 0x003f, 0xbdd4, 0xe7e1, 0xbdce, 0xe7df, 0xe7d5, 0xbdcd,
    -    0xebaa, 0xbdd3, 0x003f, 0xbdd0, 0x003f, 0xbdd8, 0x003f, 0xe7d4,
    -    0x003f, 0xe7d8, 0xbdcc, 0xe7d7, 0xe7d9, 0xe7da, 0xbdd7, 0xe7dc,
    -    0xe7e0, 0xe7e4, 0x003f, 0xbddb, 0xbfd2, 0xeba5, 0xebab, 0xeba8,
    -    0xeb7e, 0xebac, 0xeba1, 0x003f, 0xeba7, 0x003f, 0xbfcd, 0xbfd3,
    -    0xebad, 0x003f, 0x003f, 0xbfcf, 0x003f, 0xbfd9, 0xbfd4, 0xebaf,
    -    0xeba9, 0xbfd0, 0xeba2, 0xbfda, 0xeba3, 0xeba4, 0xbfdb, 0xbfd8,
    -    0xbdd1, 0x003f, 0xbfce, 0xebb0, 0xbfdc, 0x003f, 0xbfd5, 0xebae,
    -    /* 0x8b00 .. 0x8bff */
    -    0xbfd1, 0xbfd6, 0xbfd7, 0x003f, 0xc1c3, 0xeea4, 0xeead, 0xeeaa,
    -    0xeeac, 0x003f, 0xc1c0, 0xeea5, 0x003f, 0xeeab, 0xc1bc, 0xeea7,
    -    0xc1c4, 0xeea3, 0xeea8, 0xeeaf, 0xeba6, 0xeea9, 0xeea2, 0xc1bd,
    -    0xeea1, 0xc1be, 0xeeb0, 0xc1bf, 0xeeae, 0xc1c2, 0xee7e, 0x003f,
    -    0xc1c1, 0x003f, 0xeea6, 0xf0dc, 0xf0ea, 0xf0e5, 0xf0e7, 0xf0db,
    -    0xc2d3, 0x003f, 0xf0da, 0xc2d6, 0xc2d5, 0x003f, 0xf0e9, 0xf0e1,
    -    0xf0de, 0xf0e4, 0x003f, 0xf0dd, 0x003f, 0xf0df, 0xf0e8, 0xf0e6,
    -    0x003f, 0xc2d4, 0xf0ed, 0xf0eb, 0xf0e2, 0xf0ec, 0xf0e3, 0x003f,
    -    0xf2f9, 0xc3cf, 0xf341, 0x003f, 0x003f, 0xf64f, 0xc3d6, 0xf0e0,
    -    0xf2f7, 0xc3d2, 0xf2f8, 0xf2fd, 0x003f, 0x003f, 0xc3d4, 0xc3d5,
    -    0xf2f6, 0xf340, 0xf342, 0xf2fa, 0xf2fc, 0xf2fe, 0xf2fb, 0xf343,
    -    0xc3d1, 0xc3d7, 0xc3d3, 0x003f, 0xc3d0, 0xf4d0, 0x003f, 0xc4b7,
    -    0xf4ce, 0x003f, 0x003f, 0xf4d2, 0x003f, 0xf4d3, 0xc4b5, 0xf4d4,
    -    0xf4d1, 0x003f, 0xf4cf, 0xc4b8, 0xc4b4, 0xf4d5, 0x003f, 0xc4b6,
    -    0xc4b3, 0x003f, 0x003f, 0x003f, 0xc4fe, 0x003f, 0x003f, 0xc540,
    -    0xf64e, 0xf64d, 0xf650, 0xf651, 0x003f, 0xc541, 0xf756, 0xf75b,
    -    0xc5aa, 0x003f, 0xf758, 0x003f, 0xf757, 0xf75a, 0xf759, 0x003f,
    -    0xf843, 0x003f, 0xc5dc, 0xf842, 0xf840, 0x003f, 0xf841, 0x003f,
    -    0x003f, 0x003f, 0xc5fe, 0xc5fd, 0xf8c1, 0xf8c2, 0xc640, 0x003f,
    -    0xf94d, 0xf94e, 0xc667, 0x003f, 0xc66d, 0x003f, 0xf9a9, 0xf9c8,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x8c00 .. 0x8cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8a6,
    -    0x003f, 0xd7cd, 0x003f, 0xd7ce, 0xe052, 0xe450, 0xe7e5, 0xc1c6,
    -    0x003f, 0xc1c5, 0xf0ee, 0xf344, 0x003f, 0xf844, 0xa8a7, 0xd3de,
    -    0xb05a, 0xb361, 0xe054, 0xe053, 0xbddc, 0xe7e6, 0xbddd, 0xeeb1,
    -    0xc2d7, 0x003f, 0x003f, 0x003f, 0xc676, 0xa8a8, 0xcdcb, 0xd3df,
    -    0x003f, 0x003f, 0xb362, 0x003f, 0xd7cf, 0xd7d0, 0x003f, 0xdbe5,
    -    0x003f, 0xb648, 0xb8e6, 0x003f, 0xe056, 0xe055, 0xe057, 0x003f,
    -    0xe451, 0xe452, 0xbba8, 0xbfdd, 0xbdde, 0xbfde, 0x003f, 0xeeb5,
    -    0xeeb2, 0xeeb4, 0xeeb3, 0xc1c7, 0x003f, 0xf0ef, 0xf346, 0xf345,
    -    0xcba4, 0xb05c, 0xb05b, 0xd3e0, 0x003f, 0xd7d1, 0x003f, 0x003f,
    -    0xdbe7, 0xdbe6, 0xb649, 0x003f, 0xe059, 0xe05a, 0xe058, 0x003f,
    -    0x003f, 0xb8e8, 0xb8e7, 0x003f, 0xbbaa, 0xbba9, 0x003f, 0xe7e7,
    -    0xebb3, 0xebb1, 0xebb2, 0xbfdf, 0xeeb7, 0xeeb6, 0x003f, 0xf0f2,
    -    0xf0f1, 0xf0f0, 0xf347, 0x003f, 0xf9aa, 0xa8a9, 0xad73, 0x003f,
    -    0xad74, 0xb05d, 0xb05e, 0xd3e2, 0xd3e1, 0xd7d2, 0x003f, 0xb368,
    -    0xb366, 0xb363, 0xb367, 0xb365, 0xb364, 0x003f, 0x003f, 0xb64a,
    -    0xdbea, 0x003f, 0xb8ed, 0xb64c, 0xb651, 0xdbec, 0xb653, 0xb652,
    -    0xb655, 0xdbeb, 0xdbe8, 0xb64f, 0xb64b, 0xb64d, 0xdbe9, 0xb654,
    -    0xb650, 0xb64e, 0xb8ef, 0xb8ee, 0xb8ec, 0xb8f0, 0x003f, 0xb8ea,
    -    0xb8eb, 0x003f, 0xb8e9, 0x003f, 0xe05b, 0x003f, 0x003f, 0xe454,
    -    0x003f, 0xbbac, 0xbbad, 0xbbab, 0x003f, 0xe453, 0x003f, 0xe455,
    -    0x003f, 0xe7ea, 0xe7ec, 0x003f, 0xbde7, 0xe7ed, 0xbde0, 0xe7e9,
    -    0xbddf, 0xbde9, 0xbde5, 0xbde6, 0xbde2, 0xe7e8, 0xbde1, 0xe7ee,
    -    0xe7eb, 0x003f, 0xbde8, 0x003f, 0xbde3, 0xbde4, 0xebb5, 0x003f,
    -    0xebb7, 0xebb6, 0x003f, 0xebb8, 0xbfe0, 0xebb4, 0x003f, 0x003f,
    -    0xc1cb, 0xeeb8, 0xc1c8, 0xc1cc, 0xc1ca, 0xc1c9, 0xf0f3, 0x003f,
    -    /* 0x8d00 .. 0x8dff */
    -    0xf0f6, 0x003f, 0xf0f5, 0x003f, 0xf0f4, 0xc2d8, 0xf348, 0xf349,
    -    0xc3d8, 0xf34a, 0xc3d9, 0x003f, 0x003f, 0xc4ba, 0x003f, 0xc4b9,
    -    0xf652, 0x003f, 0x003f, 0xc542, 0xf653, 0xf75c, 0xc5ab, 0xc5ac,
    -    0x003f, 0xf845, 0x003f, 0xc642, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xa8aa, 0x003f, 0xb36a, 0xb369,
    -    0xe05c, 0xe05d, 0x003f, 0xbbae, 0xebb9, 0xbdea, 0xebba, 0xeeb9,
    -    0xa8ab, 0x003f, 0xd0b2, 0xad76, 0xad75, 0x003f, 0xd3e3, 0xb05f,
    -    0xd3e4, 0xd7d5, 0x003f, 0xd7d4, 0x003f, 0xd7d3, 0x003f, 0x003f,
    -    0xdbee, 0xb658, 0x003f, 0x003f, 0xdbed, 0xb657, 0x003f, 0x003f,
    -    0x003f, 0xdbef, 0xb656, 0x003f, 0xe05f, 0xe062, 0xe060, 0xe061,
    -    0xe065, 0xe05e, 0xe066, 0xe063, 0xe064, 0xbbb0, 0xe456, 0x003f,
    -    0x003f, 0xbbaf, 0x003f, 0xe7f2, 0xe7f0, 0x003f, 0x003f, 0xbdeb,
    -    0xe7ef, 0xe7f1, 0x003f, 0xbdec, 0x003f, 0xebbb, 0x003f, 0xebbc,
    -    0xc1cd, 0x003f, 0xf34c, 0xf34e, 0xf34b, 0xf34d, 0xf4d6, 0xf654,
    -    0x003f, 0x003f, 0xf96f, 0xa8ac, 0xad77, 0xd3e5, 0xd3e7, 0xd3e6,
    -    0x003f, 0xd7d8, 0xb36c, 0x003f, 0xd7d6, 0x003f, 0xb36b, 0xd7d9,
    -    0x003f, 0xd7da, 0xd7d7, 0x003f, 0x003f, 0xdbfb, 0xb660, 0xdbf3,
    -    0xdbf9, 0x003f, 0x003f, 0xb65b, 0xb65e, 0xdbf2, 0xb659, 0xdbf6,
    -    0xe06c, 0xb65d, 0x003f, 0xdbf1, 0x003f, 0xdbf7, 0xdbf4, 0xdbfa,
    -    0xdbf0, 0xdbf8, 0xb65c, 0xb65f, 0xdbf5, 0xb65a, 0x003f, 0xb8f2,
    -    0xe068, 0xb8f1, 0xe06f, 0xe06e, 0xb8f8, 0x003f, 0xb8f9, 0xe070,
    -    0xb8f3, 0xe06d, 0xb8f7, 0xe072, 0xe069, 0x003f, 0xe06b, 0xb8f4,
    -    0xe067, 0xe06a, 0xe071, 0xb8f5, 0xe073, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb8f6, 0x003f, 0xbbb1, 0xe45b, 0xe461, 0xe459,
    -    /* 0x8e00 .. 0x8eff */
    -    0xe462, 0x003f, 0xe458, 0xe45d, 0xe463, 0xe460, 0xe45f, 0xe45e,
    -    0x003f, 0xe457, 0xe45c, 0x003f, 0x003f, 0xe45a, 0x003f, 0xbdf1,
    -    0xbdee, 0xe7fb, 0xe841, 0xe843, 0xe840, 0xe7f8, 0xe7fa, 0xe845,
    -    0xe842, 0xe7fc, 0xe846, 0xe7f9, 0xe844, 0xbdef, 0xbdf5, 0xbdf3,
    -    0xe7f3, 0xbdf4, 0xbdf0, 0xe7f4, 0xe7f6, 0xe7f5, 0xe7fd, 0xe7fe,
    -    0x003f, 0xbdf2, 0x003f, 0xbded, 0x003f, 0x003f, 0xe7f7, 0x003f,
    -    0xebc6, 0xbfe2, 0x003f, 0xebbd, 0xbfe3, 0xbfe6, 0xebc2, 0x003f,
    -    0xebbf, 0xbfe5, 0x003f, 0x003f, 0xebc3, 0xebc4, 0xebbe, 0xebc7,
    -    0xebc0, 0xebc5, 0xbfe4, 0x003f, 0xbfe1, 0xebc1, 0x003f, 0xeebf,
    -    0xc1d0, 0xc1ce, 0xc1d1, 0xc1cf, 0xeebe, 0xeebb, 0xeeba, 0x003f,
    -    0xeebd, 0x003f, 0x003f, 0xeebc, 0xf145, 0xc2de, 0xf0fb, 0xf0fa,
    -    0x003f, 0xc2d9, 0xf141, 0xf140, 0xf0f7, 0xf143, 0xf0fc, 0xc2dd,
    -    0xf0f9, 0xf142, 0xf0f8, 0xc2da, 0xc2dc, 0xf0fd, 0xc2db, 0xf0fe,
    -    0x003f, 0xf144, 0xf352, 0x003f, 0xc3de, 0xf34f, 0x003f, 0xf353,
    -    0x003f, 0x003f, 0xc3db, 0xf351, 0xc3e0, 0x003f, 0xc3dd, 0x003f,
    -    0xf350, 0x003f, 0xc3df, 0xf354, 0xc3da, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xc4bc, 0xc4be, 0x003f, 0xf4d9, 0xc4bd, 0xf4d7, 0xc3dc,
    -    0xf4d8, 0xc4bb, 0xc543, 0xc545, 0xf656, 0xc544, 0xf655, 0x003f,
    -    0xf761, 0xc5ad, 0xf760, 0xc5ae, 0xf75e, 0xf75d, 0xf762, 0xf763,
    -    0xf846, 0x003f, 0xf75f, 0x003f, 0x003f, 0xf8c6, 0xf8c3, 0xf8c4,
    -    0xf8c5, 0xc65c, 0x003f, 0xf951, 0xf950, 0xf94f, 0xf970, 0x003f,
    -    0xf9be, 0xf9ab, 0xc66e, 0xa8ad, 0xb060, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb8fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbdf6, 0x003f, 0x003f, 0xebc8, 0x003f, 0x003f,
    -    0xc2df, 0x003f, 0xf355, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xf9ac, 0xa8ae, 0xaaee, 0xad79, 0xad78, 0x003f, 0xb063,
    -    0x003f, 0xd3e8, 0xb061, 0xd3e9, 0xb062, 0x003f, 0x003f, 0xd7df,
    -    0xd7db, 0x003f, 0x003f, 0xb36d, 0xd7de, 0xd7dd, 0xd7dc, 0xb36e,
    -    0xd7e0, 0xd7e1, 0x003f, 0x003f, 0x003f, 0xdc43, 0xdc41, 0xdc45,
    -    0xdc46, 0xdc4c, 0x003f, 0xdc48, 0xdc4a, 0x003f, 0xdc42, 0xdbfc,
    -    0x003f, 0xdc49, 0x003f, 0x003f, 0xdc4b, 0xdc44, 0xdc47, 0xdbfd,
    -    0xb662, 0xdc40, 0xdbfe, 0xb661, 0xb663, 0x003f, 0xb8fd, 0xe075,
    -    /* 0x8f00 .. 0x8fff */
    -    0xe077, 0xe076, 0xe07b, 0xb8fb, 0x003f, 0xe078, 0xe074, 0xe079,
    -    0xe07a, 0xb8fc, 0xb8fe, 0xe07c, 0x003f, 0xe467, 0xe466, 0x003f,
    -    0xe464, 0xe465, 0xbbb3, 0xbbb5, 0xbbb2, 0xbbb4, 0xe84d, 0xe84e,
    -    0xe849, 0x003f, 0xe84a, 0xbdf8, 0xbdfd, 0xbdf7, 0xbdfe, 0xbdf9,
    -    0xe84b, 0x003f, 0x003f, 0xe84c, 0xe848, 0xbe40, 0xbdfb, 0x003f,
    -    0x003f, 0xbdfa, 0xbdfc, 0x003f, 0xe847, 0x003f, 0xebca, 0xbfe8,
    -    0x003f, 0x003f, 0xebcc, 0xbfea, 0xebcf, 0xebcb, 0xebc9, 0xebce,
    -    0xbfe9, 0xebcd, 0x003f, 0xbfe7, 0x003f, 0x003f, 0xc1d3, 0xc1d6,
    -    0xeec1, 0x003f, 0xc1d4, 0xeec0, 0xc1d2, 0xc1d5, 0xf146, 0xf147,
    -    0xf148, 0xc2e0, 0x003f, 0xf149, 0x003f, 0xc2e1, 0xc3e2, 0xf358,
    -    0xf359, 0xf357, 0xf356, 0xf35a, 0xc3e1, 0xf4dd, 0xf4db, 0xf4dc,
    -    0xf4de, 0xf4da, 0xf4df, 0xf658, 0x003f, 0xf659, 0xf657, 0xc546,
    -    0xf764, 0xc5af, 0xf765, 0xf848, 0xf847, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xa8af, 0xb664, 0x003f, 0x003f, 0xb940,
    -    0x003f, 0x003f, 0x003f, 0xbbb6, 0x003f, 0x003f, 0xbfec, 0x003f,
    -    0xbfeb, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3e3, 0xc47c, 0xc547,
    -    0xa8b0, 0xb064, 0xb941, 0x003f, 0xf35b, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcba6,
    -    0x003f, 0x003f, 0xa8b1, 0x003f, 0xa8b4, 0xa8b3, 0xa8b2, 0x003f,
    -    0x003f, 0xcba5, 0x003f, 0xcdcd, 0x003f, 0xcdcf, 0xaaef, 0x003f,
    -    0x003f, 0xaaf1, 0xcdcc, 0xcdce, 0xaaf0, 0xcdd1, 0xcdd0, 0xcdd2,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xd0b6, 0xd0b4, 0xad7c, 0xd0b3, 0xada3, 0xad7e, 0xad7b, 0x003f,
    -    0xada4, 0x003f, 0xad7d, 0xada2, 0x003f, 0xada1, 0xd0b5, 0x003f,
    -    0xad7a, 0x003f, 0x003f, 0x003f, 0xb06a, 0xd3eb, 0xd3f1, 0xb067,
    -    0xb06e, 0x003f, 0xb069, 0xd3ee, 0xd3f0, 0xb06c, 0xd3ea, 0xd3ed,
    -    /* 0x9000 .. 0x90ff */
    -    0xb068, 0xb065, 0xd3ec, 0xb06b, 0xd3ef, 0xb06d, 0xb066, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xd7e3, 0xd7e6, 0xb370, 0x003f, 0xb37a,
    -    0xb376, 0xd7e4, 0x003f, 0x003f, 0xb37e, 0xb377, 0xb37c, 0xb372,
    -    0x003f, 0xb36f, 0xb371, 0xb37d, 0xd7e5, 0xb375, 0xb378, 0xb374,
    -    0xb379, 0xd7e7, 0xb37b, 0xb373, 0xd7e2, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdc4d, 0xb665, 0xdc4f,
    -    0x003f, 0xb667, 0xb669, 0x003f, 0xdc4e, 0xb666, 0xb66a, 0x003f,
    -    0xb668, 0x003f, 0x003f, 0x003f, 0xb947, 0xe0a3, 0xb94f, 0xe07e,
    -    0x003f, 0xb950, 0xb945, 0x003f, 0xe0a1, 0x003f, 0x003f, 0xb94a,
    -    0x003f, 0xe0a2, 0xb943, 0xb942, 0x003f, 0xb94d, 0xb94c, 0xb94b,
    -    0xb949, 0xb94e, 0xe07d, 0xb944, 0xb946, 0xb948, 0x003f, 0x003f,
    -    0xbbb8, 0xbbbb, 0x003f, 0xbbbf, 0xbbb9, 0xbbbe, 0xbbbc, 0x003f,
    -    0xbbb7, 0x003f, 0xbbbd, 0xbbba, 0x003f, 0x003f, 0x003f, 0xe852,
    -    0xbe43, 0xbe41, 0x003f, 0xe853, 0x003f, 0xbe44, 0xbe42, 0xe851,
    -    0xe850, 0x003f, 0xbff0, 0xe84f, 0xbfee, 0xbfed, 0xebd0, 0xbe45,
    -    0xbfef, 0xebd1, 0xbff2, 0xebd2, 0xbff1, 0xc1d8, 0xeec3, 0xc1d7,
    -    0xc1dc, 0xc1da, 0xc1db, 0xc2e3, 0xc1d9, 0xeec2, 0xebd3, 0xc2e2,
    -    0xc2e4, 0x003f, 0xc3e4, 0xc3e5, 0x003f, 0xf4e0, 0x003f, 0xc5de,
    -    0xc5dd, 0xa8b6, 0x003f, 0x003f, 0xca55, 0xb06f, 0x003f, 0xca52,
    -    0xca53, 0xca51, 0x003f, 0xca54, 0x003f, 0x003f, 0xcbaa, 0xcba7,
    -    0xcbac, 0xcba8, 0xa8b7, 0xa8ba, 0x003f, 0xcba9, 0xa8b9, 0xcbab,
    -    0x003f, 0x003f, 0xa8b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd5,
    -    0xcdd7, 0xaaf4, 0xcdd3, 0xcdd6, 0xcdd4, 0xaaf2, 0xaaf5, 0x003f,
    -    0xaaf3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b8, 0xd0bc, 0xd0b9,
    -    0x003f, 0xada7, 0x003f, 0xada8, 0x003f, 0xd0bb, 0x003f, 0xd0bd,
    -    0xd0bf, 0x003f, 0xada5, 0xd0be, 0x003f, 0x003f, 0xada6, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xd7ee, 0xd0ba, 0xd3f2, 0xd3fb,
    -    0xd3f9, 0xd3f4, 0xd3f5, 0xd3fa, 0xd3fc, 0xb071, 0x003f, 0xd3f7,
    -    0xd3f3, 0xb070, 0xb072, 0xd3f6, 0xd3fd, 0xd3f8, 0x003f, 0x003f,
    -    0xb3a1, 0xd7f1, 0xd7e9, 0xd7ef, 0xd7f0, 0xb3a2, 0x003f, 0xd7e8,
    -    0xd7ea, 0xd0b7, 0xd7ec, 0xd7ed, 0xd7eb, 0xb66c, 0x003f, 0x003f,
    -    0x003f, 0xdc56, 0xebd4, 0xdc57, 0xdc54, 0xb3a3, 0xb66e, 0xdc53,
    -    /* 0x9100 .. 0x91ff */
    -    0xdc59, 0xdc58, 0xb66b, 0xdc5c, 0xdc52, 0xdc5b, 0xdc50, 0xdc5a,
    -    0xdc55, 0xb66d, 0x003f, 0xe0aa, 0x003f, 0xe0a5, 0xe0ab, 0xe0a6,
    -    0xe0a4, 0xe0a7, 0xb951, 0x003f, 0xe0a9, 0x003f, 0xe0a8, 0xb952,
    -    0xbbc1, 0xbbc0, 0xe46e, 0xe471, 0xe469, 0xe46d, 0xbbc2, 0xe46c,
    -    0xe46a, 0xe470, 0xe46b, 0xe468, 0xe46f, 0x003f, 0xe859, 0xbe48,
    -    0xf14a, 0xe856, 0xe857, 0xe855, 0xdc51, 0xbe47, 0xe85a, 0xe854,
    -    0xbe46, 0xbe49, 0xe858, 0xebd5, 0xbff3, 0xebd6, 0xebd7, 0x003f,
    -    0xeec4, 0xc1dd, 0xf14b, 0xf14c, 0x003f, 0x003f, 0xf14d, 0xf35d,
    -    0xf35c, 0xf4e2, 0x003f, 0xf4e1, 0xf65b, 0xf65c, 0xf65a, 0xf766,
    -    0xc5b0, 0xa8bb, 0xadaa, 0xada9, 0xb075, 0xb074, 0xd440, 0xd441,
    -    0xd3fe, 0x003f, 0xb073, 0xd7f5, 0x003f, 0xd7f6, 0xd7f2, 0xb3a4,
    -    0xd7f3, 0x003f, 0xd7f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdc5f,
    -    0xdc61, 0xdc5d, 0xdc60, 0xb66f, 0xdc5e, 0xb670, 0x003f, 0x003f,
    -    0xdd73, 0xb955, 0xb954, 0x003f, 0xb953, 0x003f, 0xe0ac, 0xe0ad,
    -    0x003f, 0x003f, 0xe473, 0xe475, 0xbbc6, 0xbbc3, 0x003f, 0xbbc5,
    -    0xbbc4, 0xe474, 0xe472, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xe861, 0xe85e, 0xe85f, 0xbe4d, 0xe860, 0xe85b, 0xe85c, 0xbe4a,
    -    0x003f, 0xbe4b, 0xe85d, 0xbe4c, 0x003f, 0xebdb, 0x003f, 0xebdc,
    -    0xebd9, 0xebda, 0xbff4, 0xebd8, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xeec8, 0xeec5, 0xeec7, 0xc1e0, 0xeecb, 0xc1df, 0xeec9,
    -    0xeecc, 0xeeca, 0xeec6, 0xc1de, 0x003f, 0xf14f, 0x003f, 0xf150,
    -    0xf14e, 0x003f, 0xf152, 0xc2e5, 0xc2e6, 0xf35f, 0xc3e7, 0xf151,
    -    0xf35e, 0xc3e6, 0xf4e5, 0xf4e6, 0xc4bf, 0xf4e4, 0x003f, 0xf4e3,
    -    0x003f, 0xf65d, 0xc548, 0x003f, 0xf849, 0xf8c8, 0xf8c7, 0x003f,
    -    0xc643, 0xc65d, 0xf8c9, 0xf971, 0x003f, 0xc66f, 0xa8bc, 0xaaf6,
    -    0x003f, 0xb956, 0x003f, 0xc4c0, 0xa8bd, 0xadab, 0xb3a5, 0xb671,
    -    0xc2e7, 0xaaf7, 0x003f, 0xd0c1, 0xd0c0, 0xd442, 0x003f, 0xb078,
    -    0xb076, 0xb07a, 0xd444, 0x003f, 0xb079, 0xb077, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd443, 0xb3a8, 0xd7fc, 0x003f, 0xb3a7, 0xb3a9,
    -    0xd842, 0xb3ab, 0xd7fe, 0xd840, 0xd7f7, 0xb3aa, 0xd843, 0x003f,
    -    0x003f, 0xd7f9, 0x003f, 0xd7fa, 0xd7f8, 0xb3a6, 0x003f, 0xd841,
    -    0xd7fb, 0xd7fd, 0x003f, 0x003f, 0x003f, 0xdc6d, 0x003f, 0xdc6c,
    -    /* 0x9200 .. 0x92ff */
    -    0xdc6a, 0xdc62, 0xdc71, 0xdc65, 0xdc6f, 0xdc76, 0xdc6e, 0xb679,
    -    0x003f, 0xb675, 0xdc63, 0x003f, 0xdc69, 0xb677, 0x003f, 0xdc68,
    -    0xb678, 0xb67a, 0xdc6b, 0x003f, 0xb672, 0xb673, 0xdc77, 0xdc75,
    -    0x003f, 0xdc74, 0xdc66, 0x003f, 0xdc72, 0x003f, 0xb676, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xb674, 0xdc73, 0xdc64, 0xdc67, 0xdc70,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ba, 0xe0b7, 0x003f,
    -    0xe0b0, 0xe0c3, 0xe0cc, 0xe0b3, 0xb961, 0x003f, 0xe0c0, 0xb957,
    -    0xb959, 0xb965, 0xe0b1, 0x003f, 0x003f, 0xb95a, 0xb95c, 0xb966,
    -    0xb95b, 0x003f, 0x003f, 0x003f, 0x003f, 0xb964, 0xe0b9, 0x003f,
    -    0xe0ae, 0xb962, 0xe0b8, 0xb95e, 0xe0ca, 0xb963, 0xe0c8, 0xe0bc,
    -    0xe0c6, 0xb960, 0xe0af, 0xe0c9, 0xe0c4, 0x003f, 0xe0cb, 0xb958,
    -    0x003f, 0x003f, 0xb967, 0xb95d, 0x003f, 0x003f, 0xe0b5, 0x003f,
    -    0xe0bd, 0xe0c1, 0x003f, 0xe0c5, 0xb95f, 0xe0b4, 0xe0b2, 0xe0be,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xe0bb, 0xe0ba, 0x003f, 0xe0bf,
    -    0xe0c2, 0x003f, 0xe0c7, 0x003f, 0x003f, 0x003f, 0xe478, 0x003f,
    -    0xbbc7, 0xe4a4, 0xe47a, 0xbbcc, 0xbbd0, 0xe4ad, 0xe4b5, 0xe4a6,
    -    0xbbc8, 0x003f, 0xe4aa, 0xe0b6, 0x003f, 0xbbc9, 0xe4b1, 0xe4b6,
    -    0xe4ae, 0x003f, 0xe4b0, 0xe4b9, 0xe4b2, 0xe47e, 0xe4a9, 0x003f,
    -    0x003f, 0xbbd1, 0x003f, 0xbbcd, 0xe47c, 0xe4ab, 0xbbcb, 0xe4a5,
    -    0xbbca, 0xe4b3, 0xe4a2, 0xe479, 0xbbce, 0xe4b8, 0x003f, 0x003f,
    -    0xe47b, 0xe4af, 0xe4ac, 0xe4a7, 0xe477, 0xe476, 0xe4a1, 0xe4b4,
    -    0xbbcf, 0xe4b7, 0xe47d, 0xe4a3, 0xbe52, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xbe5a, 0xbe55, 0xe8a4, 0xe8a1, 0xe867, 0xbe50,
    -    0x003f, 0xf9d7, 0x003f, 0xbe4f, 0xbe56, 0x003f, 0x003f, 0x003f,
    -    0xe865, 0xbe54, 0xe871, 0xe863, 0xe864, 0xbe4e, 0xe8a3, 0xbe58,
    -    0xe874, 0xe879, 0xe873, 0xebee, 0xe86f, 0xe877, 0xe875, 0xe868,
    -    0xe862, 0xe87d, 0xbe57, 0xe87e, 0x003f, 0xe878, 0x003f, 0xe86d,
    -    0xe86b, 0xe866, 0x003f, 0x003f, 0x003f, 0xe86e, 0xe87b, 0xe86a,
    -    0xe87a, 0xe8a2, 0x003f, 0x003f, 0xbe53, 0x003f, 0xe876, 0xe87c,
    -    0xe872, 0xe86c, 0xbe51, 0x003f, 0x003f, 0x003f, 0xe4a8, 0xe870,
    -    0xbe59, 0xe869, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf4,
    -    0xbff7, 0xebf3, 0xebf0, 0xec44, 0xbffb, 0x003f, 0xec41, 0xebf8,
    -    /* 0x9300 .. 0x93ff */
    -    0xec43, 0xebe9, 0xebf6, 0x003f, 0xbffd, 0x003f, 0xebe1, 0x003f,
    -    0xebdf, 0xec42, 0x003f, 0xec40, 0xebfe, 0xebed, 0xebec, 0xebe2,
    -    0xc040, 0x003f, 0xebe8, 0xebf2, 0xebfd, 0xc043, 0xec45, 0x003f,
    -    0xc1e8, 0xc045, 0xbffe, 0xebe6, 0x003f, 0xebef, 0xebde, 0xebe0,
    -    0xbff5, 0xc042, 0xbffa, 0xebe7, 0xebf7, 0xebf1, 0xc041, 0xebdd,
    -    0xc1e3, 0xebf9, 0xebfc, 0xbffc, 0x003f, 0xebeb, 0xc044, 0xbff9,
    -    0x003f, 0x003f, 0x003f, 0xbff8, 0xebf5, 0xebfb, 0xbff6, 0x003f,
    -    0xebe4, 0xebfa, 0x003f, 0x003f, 0xebe5, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebea, 0xeed2,
    -    0x003f, 0xeed7, 0xc1e5, 0xc1e7, 0xeedd, 0xc1e1, 0xeeec, 0xeee3,
    -    0xeed8, 0xeed9, 0xeee2, 0x003f, 0xc1ee, 0xeee1, 0xeed1, 0xeee0,
    -    0xeed4, 0xeeed, 0xc1ed, 0xc1eb, 0xeed5, 0x003f, 0xeee8, 0x003f,
    -    0xeeda, 0xeee7, 0x003f, 0xeee9, 0xeed0, 0xc1e6, 0x003f, 0xeeea,
    -    0x003f, 0x003f, 0xeede, 0x003f, 0xc1ea, 0xeedb, 0x003f, 0x003f,
    -    0xc1ec, 0xeee4, 0x003f, 0x003f, 0x003f, 0xc1e4, 0xeed6, 0xeee5,
    -    0x003f, 0xeedf, 0xebe3, 0xeee6, 0xeed3, 0x003f, 0xc1e9, 0x003f,
    -    0xeeeb, 0x003f, 0xc1e2, 0xeece, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf160, 0xf159, 0xc2e9, 0x003f, 0xf154, 0xf163, 0xf15b, 0xeedc,
    -    0x003f, 0xf165, 0xf155, 0x003f, 0xc2e8, 0xf15f, 0xc2ea, 0xc2f2,
    -    0xc2f0, 0xf161, 0xc2f1, 0xf157, 0x003f, 0xf158, 0xf15d, 0xf162,
    -    0x003f, 0xeecd, 0xc2eb, 0xf16a, 0xf167, 0xf16b, 0xf15e, 0xf15a,
    -    0xf168, 0xf36a, 0xf15c, 0x003f, 0xc2ee, 0x003f, 0xc2ed, 0xeecf,
    -    0xc2ef, 0xf164, 0xf166, 0xc2ec, 0xf169, 0xf153, 0x003f, 0xf156,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf373, 0x003f, 0xf363, 0xc3eb, 0xf371, 0x003f, 0x003f, 0xf361,
    -    0xc3ec, 0x003f, 0xf36c, 0x003f, 0xf368, 0xc3f1, 0xf372, 0xf362,
    -    0xf365, 0xc3e9, 0xf374, 0x003f, 0xf36d, 0xf370, 0xc3ef, 0xc3f4,
    -    0xc3f2, 0xf369, 0xf364, 0x003f, 0xc3ed, 0xc3ee, 0xf360, 0xc3ea,
    -    0x003f, 0xc3e8, 0xc3f0, 0xf36f, 0xc3f3, 0x003f, 0xf36b, 0xf375,
    -    0xc3f5, 0x003f, 0x003f, 0x003f, 0xf367, 0x003f, 0xf36e, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f3, 0xf542, 0xf4f5,
    -    0xf4fc, 0xf366, 0xf4fa, 0xf4e9, 0xf540, 0xc4c3, 0xf4ed, 0xf4fe,
    -    /* 0x9400 .. 0x94ff */
    -    0xf4f4, 0x003f, 0x003f, 0xc4c2, 0x003f, 0x003f, 0xf544, 0xf4f6,
    -    0x003f, 0xf4fb, 0xf4fd, 0xf4e7, 0xf541, 0xf4f2, 0xf4f7, 0xf4eb,
    -    0xf4ef, 0xf543, 0xf4f9, 0xf4e8, 0xf4ec, 0xf4ee, 0xf4f8, 0x003f,
    -    0xc4c1, 0xf4f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf4ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xf4f0, 0xf661, 0xf666, 0xc54f, 0xf668, 0x003f, 0xc549, 0x003f,
    -    0xf664, 0xf66a, 0xc54e, 0xc54a, 0x003f, 0xc54b, 0xf660, 0xf667,
    -    0xc54d, 0xf665, 0xc54c, 0xf65f, 0xf663, 0xf662, 0x003f, 0xf65e,
    -    0xf669, 0x003f, 0x003f, 0x003f, 0xc5b1, 0xf76d, 0xf770, 0xf76c,
    -    0xf76e, 0xf76f, 0xf769, 0xf76a, 0xf767, 0x003f, 0x003f, 0xf76b,
    -    0xf768, 0xc5b2, 0xc5b3, 0x003f, 0x003f, 0xf84b, 0x003f, 0xf84d,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf84c, 0xf84e, 0x003f,
    -    0xc5e0, 0x003f, 0xf84a, 0xc5df, 0xc5e1, 0x003f, 0x003f, 0x003f,
    -    0xf8cb, 0xf8cc, 0xc644, 0xf8ca, 0x003f, 0xf953, 0xf952, 0xf954,
    -    0xc65f, 0xf955, 0xc65e, 0xf956, 0xf972, 0xf975, 0xf974, 0xc668,
    -    0xf973, 0x003f, 0x003f, 0x003f, 0xc672, 0xc670, 0xc671, 0xc677,
    -    0xf9c0, 0xf9c1, 0xf9bf, 0xf9c9, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9500 .. 0x95ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xaaf8,
    -    0x003f, 0x003f, 0xd844, 0xdc78, 0xe8a5, 0xf376, 0x003f, 0x003f,
    -    0xaaf9, 0x003f, 0xadac, 0xb07b, 0x003f, 0x003f, 0xd845, 0x003f,
    -    0xd846, 0xb3ac, 0x003f, 0xb67d, 0xdc7a, 0xdc79, 0xb6a3, 0xb67c,
    -    0xdc7b, 0xb67e, 0xb6a2, 0xb6a1, 0xb67b, 0x003f, 0x003f, 0x003f,
    -    0xb968, 0x003f, 0x003f, 0xe0d0, 0xe0ce, 0x003f, 0xe0cf, 0xe0cd,
    -    0x003f, 0xbbd2, 0x003f, 0xbbd5, 0xbbd7, 0xbbd6, 0x003f, 0x003f,
    -    0xbbd3, 0xbbd4, 0x003f, 0xe8a7, 0xe8a6, 0xbe5b, 0xe8a8, 0x003f,
    -    0xe8a9, 0xbe5c, 0x003f, 0x003f, 0x003f, 0xec4d, 0xec4b, 0xeef3,
    -    0x003f, 0xec49, 0xec4a, 0xc046, 0xec46, 0xec4e, 0xec48, 0xec4c,
    -    0xeeef, 0x003f, 0x003f, 0xeef1, 0x003f, 0xeef2, 0xc1f3, 0xeeee,
    -    0xc1f2, 0xeef0, 0xc1ef, 0xc1f0, 0xc1f1, 0xec47, 0x003f, 0x003f,
    -    0xc2f5, 0xf16e, 0xf16c, 0xf16d, 0xc2f3, 0xc2f6, 0xc2f4, 0x003f,
    -    0x003f, 0x003f, 0xf377, 0xf378, 0xc3f6, 0x003f, 0xf545, 0xf547,
    -    0xf546, 0xc4c4, 0xc550, 0xf66d, 0xf66c, 0xf66b, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0x9600 .. 0x96ff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xaafa, 0x003f, 0xc9aa, 0x003f,
    -    0xca58, 0xa6e9, 0xca56, 0xca59, 0xca57, 0x003f, 0x003f, 0x003f,
    -    0xcbae, 0x003f, 0xa8c1, 0x003f, 0xa8c2, 0xcbb0, 0xa8bf, 0xcbaf,
    -    0xcbad, 0xa8c0, 0xa8be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xcdd8, 0xcddb, 0xaafd, 0xcdda, 0xcdd9, 0x003f, 0xaafc,
    -    0xaafb, 0x003f, 0xab40, 0xcddc, 0xaafe, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xd0c6, 0xadae, 0xadaf, 0xadb0, 0xd0c7, 0xd0c3,
    -    0xadad, 0xd0c4, 0x003f, 0xd0c5, 0xd0c2, 0x003f, 0x003f, 0x003f,
    -    0xb0a4, 0x003f, 0x003f, 0xb0a1, 0xd445, 0xb0a2, 0xb0a5, 0xd446,
    -    0x003f, 0xb07e, 0xb07c, 0xb07d, 0xb0a3, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xb3ad, 0xd849, 0xb3b5, 0xd848, 0x003f, 0xd84b,
    -    0xb3b1, 0xd84a, 0xb6ab, 0xb3af, 0xb3b2, 0xb3ae, 0xb3b3, 0xb3b4,
    -    0xb3b0, 0x003f, 0x003f, 0x003f, 0xd847, 0xb6a7, 0xdc7d, 0x003f,
    -    0xdca3, 0x003f, 0x003f, 0xdca2, 0xb6ac, 0xb6a8, 0xb6a9, 0xdc7c,
    -    0xdc7e, 0xdca1, 0xb6a4, 0xb6a6, 0x003f, 0xb6aa, 0xb6a5, 0x003f,
    -    0x003f, 0xe0d3, 0xe0d1, 0xe0d2, 0xb96a, 0xb96b, 0x003f, 0xe0d4,
    -    0xb969, 0xbbd8, 0x003f, 0xbbda, 0xbbd9, 0x003f, 0xe4bb, 0x003f,
    -    0x003f, 0xe4bc, 0xe8ab, 0x003f, 0xe8aa, 0x003f, 0x003f, 0xc047,
    -    0xc048, 0xec4f, 0xc049, 0x003f, 0xeef6, 0x003f, 0xeef4, 0x003f,
    -    0xeef5, 0xc1f4, 0x003f, 0xf16f, 0xc3f7, 0x003f, 0x003f, 0x003f,
    -    0xc1f5, 0xab41, 0x003f, 0xb0a6, 0xd447, 0x003f, 0x003f, 0xd84c,
    -    0xb3b6, 0xb6ad, 0xdca4, 0xdca6, 0xb6af, 0xb6ae, 0xb6b0, 0xb6b1,
    -    0xdca5, 0xb96e, 0xb96f, 0xb96d, 0xbbdb, 0xb96c, 0xe0d5, 0x003f,
    -    0x003f, 0x003f, 0xbbdc, 0xe8ac, 0xec50, 0xc04a, 0xc1f6, 0xf170,
    -    0xf174, 0xc2f9, 0xf171, 0xc2fa, 0xc2f8, 0xf175, 0xc2fb, 0xf173,
    -    0x003f, 0xf379, 0xc2f7, 0xc3f8, 0x003f, 0xf8cd, 0x003f, 0x003f,
    -    0xab42, 0xb3b8, 0xb3b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6b2,
    -    0xdca8, 0xdca7, 0xb6b3, 0x003f, 0x003f, 0xe0d9, 0xb973, 0xb970,
    -    0xe0d8, 0xb972, 0xe0d6, 0xb971, 0x003f, 0xe0d7, 0x003f, 0xe4bd,
    -    /* 0x9700 .. 0x97ff */
    -    0xbbdd, 0x003f, 0xe8af, 0x003f, 0xbe5d, 0xe8ad, 0xbe5e, 0xbe5f,
    -    0xe8ae, 0xbe60, 0x003f, 0xec51, 0x003f, 0xc04e, 0xc04b, 0xc050,
    -    0xec53, 0xc04c, 0xec52, 0xc04f, 0x003f, 0x003f, 0xc04d, 0x003f,
    -    0xeef9, 0xeefb, 0x003f, 0x003f, 0xc1f7, 0xeefa, 0xc1f8, 0xeef8,
    -    0xeef7, 0x003f, 0xf177, 0xf176, 0xc2fc, 0xf178, 0xf37e, 0xc3fa,
    -    0xf37d, 0xf37a, 0xc3f9, 0xf37b, 0xf37c, 0x003f, 0xf548, 0xf549,
    -    0xc4c5, 0x003f, 0xc553, 0x003f, 0x003f, 0xf66e, 0x003f, 0x003f,
    -    0xc551, 0xc552, 0xf66f, 0x003f, 0x003f, 0xc5b4, 0xc5b5, 0xf771,
    -    0x003f, 0x003f, 0xc645, 0xf8cf, 0xc647, 0x003f, 0xf8ce, 0xf8d0,
    -    0xc646, 0xf957, 0x003f, 0xf9ad, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xab43, 0x003f, 0x003f, 0x003f, 0xb974, 0x003f,
    -    0xe4be, 0x003f, 0xe8b0, 0xc051, 0xc052, 0x003f, 0xab44, 0x003f,
    -    0xbe61, 0xc3fb, 0xadb1, 0x003f, 0x003f, 0x003f, 0xc053, 0x003f,
    -    0xc5e2, 0xadb2, 0xd84d, 0x003f, 0xdca9, 0x003f, 0xdcab, 0x003f,
    -    0xdcaa, 0x003f, 0xe0dd, 0xe0da, 0xb975, 0x003f, 0xb976, 0xe0db,
    -    0xe0dc, 0x003f, 0xe4c0, 0xe4c5, 0xbbde, 0xe4bf, 0xe4c1, 0xe4c8,
    -    0xe4c3, 0xe4c7, 0xe4c4, 0xe4c2, 0xe4c6, 0xbbdf, 0x003f, 0x003f,
    -    0xe8b3, 0x003f, 0xe8b1, 0xbe63, 0x003f, 0xbe62, 0xe8b2, 0xbe64,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xec56, 0x003f, 0x003f, 0xec55,
    -    0xc054, 0xec54, 0xeefc, 0x003f, 0xeefe, 0xef41, 0xef40, 0x003f,
    -    0xc1f9, 0xeefd, 0xf1a1, 0xc2fd, 0xf17d, 0xf1a2, 0xc2fe, 0x003f,
    -    0xf17b, 0x003f, 0xf17e, 0xf17c, 0xf179, 0xc340, 0xf17a, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf3a1, 0x003f, 0x003f, 0xf3a3, 0xf3a2,
    -    0x003f, 0xf54a, 0x003f, 0xf54b, 0x003f, 0x003f, 0x003f, 0xf670,
    -    0x003f, 0xc5b7, 0x003f, 0xc5b6, 0xf84f, 0xf850, 0xc648, 0xf8d1,
    -    0x003f, 0xc669, 0x003f, 0xadb3, 0xb6b4, 0xe4ca, 0xe4c9, 0xe8b5,
    -    0xe8b4, 0x003f, 0x003f, 0xc1fa, 0xef43, 0xef42, 0xf1a5, 0xf1a3,
    -    0xf1a6, 0xf1a4, 0x003f, 0x003f, 0xc3fc, 0xf3a4, 0xf3a5, 0xf3a6,
    -    0x003f, 0xf671, 0x003f, 0xf772, 0x003f, 0xf8d2, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xadb4, 0x003f, 0x003f,
    -    0xec57, 0xef44, 0x003f, 0xadb5, 0x003f, 0x003f, 0xbbe0, 0x003f,
    -    0xec58, 0xc341, 0xf1a7, 0xc3fd, 0x003f, 0xf54c, 0xf54d, 0xc554,
    -    /* 0x9800 .. 0x98ff */
    -    0xf851, 0xadb6, 0xb3bb, 0xb3bc, 0xd84e, 0xb6b5, 0xb6b6, 0xdcac,
    -    0xb6b7, 0x003f, 0xb97a, 0x003f, 0xb97c, 0xe0df, 0xe0e0, 0xe0de,
    -    0xb977, 0xb978, 0xb97b, 0xb979, 0x003f, 0x003f, 0xe4cb, 0xbbe1,
    -    0xbbe2, 0x003f, 0x003f, 0xe8bc, 0xbe67, 0xe8b7, 0xe8b6, 0x003f,
    -    0xe8bb, 0xbe65, 0x003f, 0x003f, 0xc05b, 0x003f, 0xe8b8, 0xe8bd,
    -    0xe8ba, 0xe8b9, 0x003f, 0xbe66, 0x003f, 0xc059, 0x003f, 0xec5a,
    -    0xc055, 0x003f, 0xec5b, 0x003f, 0x003f, 0xec59, 0x003f, 0xc058,
    -    0xc056, 0xc05a, 0x003f, 0xc057, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xef45, 0x003f, 0xef4a, 0xef46, 0xef49, 0xc1fb, 0x003f,
    -    0xedd4, 0xef48, 0xef47, 0x003f, 0xc344, 0xc342, 0xc345, 0xc343,
    -    0xf1a8, 0xf1a9, 0xf1aa, 0xc346, 0x003f, 0x003f, 0x003f, 0xf3aa,
    -    0xc440, 0xf3a8, 0x003f, 0xc441, 0xf3a7, 0xf3a9, 0xc3fe, 0xf551,
    -    0xf54e, 0x003f, 0xf54f, 0xf550, 0xf672, 0xc556, 0x003f, 0xc555,
    -    0x003f, 0xf774, 0xf773, 0xc5b8, 0x003f, 0x003f, 0x003f, 0xc5e3,
    -    0xc649, 0xc660, 0xf958, 0xf9ae, 0xf9af, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xadb7, 0xdcad, 0x003f, 0x003f, 0xe0e1, 0xe4cc, 0xe4cd, 0xbbe3,
    -    0x003f, 0xbbe4, 0xe8be, 0xbe68, 0x003f, 0x003f, 0xc1fc, 0x003f,
    -    0xf1ab, 0x003f, 0xc347, 0xf3ad, 0xc442, 0xf3ac, 0xf3ae, 0xf3ab,
    -    0xf675, 0xf552, 0xf553, 0x003f, 0xc4c6, 0x003f, 0xf674, 0x003f,
    -    0x003f, 0xf673, 0x003f, 0xf775, 0xf9b0, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xadb8, 0x003f, 0x003f, 0x003f, 0xadb9,
    -    0x003f, 0x003f, 0xb0a7, 0xd448, 0x003f, 0xd84f, 0x003f, 0xb6b8,
    -    0x003f, 0xb6bb, 0xb6b9, 0xdcae, 0x003f, 0xb6bd, 0x003f, 0xb6ba,
    -    0x003f, 0x003f, 0xb6bc, 0x003f, 0xb97e, 0x003f, 0xe0e2, 0x003f,
    -    0x003f, 0xe0e3, 0xe8c0, 0x003f, 0xb97d, 0xb9a1, 0xb9a2, 0x003f,
    -    /* 0x9900 .. 0x99ff */
    -    0xe4cf, 0x003f, 0xe4ce, 0xbbe5, 0x003f, 0xbbe6, 0x003f, 0xe4d0,
    -    0xe8bf, 0xbbe8, 0xbe69, 0x003f, 0xbbe7, 0x003f, 0x003f, 0x003f,
    -    0xc05c, 0xe8c1, 0xbe6b, 0xbe6a, 0xe8c2, 0xe8c5, 0xe8c3, 0xe8c4,
    -    0xbe6c, 0x003f, 0xc061, 0xc05f, 0x003f, 0x003f, 0xc05e, 0xec5d,
    -    0x003f, 0xc060, 0x003f, 0x003f, 0xec5c, 0xef4b, 0x003f, 0xec5e,
    -    0xc05d, 0xec5f, 0xef4e, 0xef4c, 0xef4d, 0xef52, 0xc34b, 0xef51,
    -    0xef54, 0xef53, 0xef50, 0xef4f, 0x003f, 0xc1fd, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1ae, 0x003f, 0xf1ad, 0xc34a, 0xc348, 0xc349,
    -    0x003f, 0xf1ac, 0x003f, 0xf3b1, 0x003f, 0xc443, 0x003f, 0xf3b0,
    -    0xf3af, 0xc444, 0x003f, 0xf558, 0xf557, 0x003f, 0xf555, 0x003f,
    -    0xf554, 0xc4c8, 0xc4c7, 0xf559, 0xf776, 0xc5b9, 0xf677, 0xc557,
    -    0xf676, 0xf556, 0x003f, 0xf777, 0xc5e4, 0x003f, 0xc661, 0xf959,
    -    0x003f, 0xf9b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xadba, 0xd850,
    -    0xef55, 0xadbb, 0x003f, 0x003f, 0xe4d2, 0xe4d1, 0xec60, 0x003f,
    -    0x003f, 0xef57, 0x003f, 0xef56, 0x003f, 0xc34c, 0xf3b2, 0xf3b3,
    -    0xc4c9, 0x003f, 0x003f, 0xf9b2, 0xb0a8, 0xb6bf, 0xb6be, 0xe0e4,
    -    0xe0e6, 0xb9a4, 0xe0e5, 0xb9a3, 0xb9a5, 0xe0e7, 0x003f, 0x003f,
    -    0x003f, 0xe4d4, 0xe4d6, 0xe4d5, 0x003f, 0xe4d8, 0x003f, 0x003f,
    -    0x003f, 0xbbe9, 0xe4d7, 0xe4d3, 0x003f, 0x003f, 0x003f, 0xe4d9,
    -    0x003f, 0xe8cc, 0x003f, 0xe8cf, 0xe8d1, 0xe8c7, 0xe8cb, 0xe8c8,
    -    0xbe6e, 0xbe71, 0xbe73, 0xe8c9, 0xe8ca, 0xbe72, 0xe8cd, 0xe8d0,
    -    0xe8ce, 0xbe74, 0x003f, 0xbe70, 0xe8c6, 0xbe6d, 0x003f, 0xbe6f,
    -    0x003f, 0x003f, 0xc063, 0xec66, 0xec64, 0xec63, 0x003f, 0xec69,
    -    0x003f, 0xec68, 0xec67, 0x003f, 0xec62, 0xc062, 0xec61, 0x003f,
    -    0xec65, 0xc064, 0x003f, 0x003f, 0xef5a, 0x003f, 0xef5e, 0xef5b,
    -    0xef5d, 0xef5c, 0xef59, 0xef5f, 0xef62, 0xef60, 0xef61, 0xc240,
    -    /* 0x9a00 .. 0x9aff */
    -    0x003f, 0xc1fe, 0xef58, 0xef63, 0xf1b3, 0xf1b6, 0xf1b8, 0xf1b7,
    -    0x003f, 0xf1b1, 0xf1b5, 0xf1b0, 0x003f, 0xf1b2, 0xc34d, 0xf1af,
    -    0x003f, 0xf1b4, 0x003f, 0x003f, 0xf3c0, 0xf3b5, 0xc445, 0x003f,
    -    0x003f, 0xc446, 0xf3b4, 0xf3b9, 0xf3bf, 0xf3b7, 0xf3be, 0x003f,
    -    0xf3bb, 0x003f, 0xf3ba, 0xf3bd, 0xf3b8, 0xf3b6, 0x003f, 0xf3bc,
    -    0x003f, 0xf560, 0xf55e, 0xc4ca, 0xf55d, 0xf563, 0xf561, 0x003f,
    -    0xc4cb, 0xf55c, 0xf55a, 0x003f, 0xf55b, 0xc4cd, 0xf55f, 0xc4cc,
    -    0xf562, 0xf678, 0xf67e, 0x003f, 0x003f, 0xf679, 0xc55b, 0xf6a1,
    -    0xc55a, 0xf67d, 0xf67c, 0xc559, 0xf67b, 0xc558, 0xf67a, 0x003f,
    -    0xf77d, 0xf7a1, 0xf77e, 0x003f, 0xf77b, 0xc5bb, 0xf778, 0xf77c,
    -    0xf7a3, 0x003f, 0xf7a2, 0xf779, 0xf77a, 0xc5ba, 0xf852, 0xc5e7,
    -    0x003f, 0xf853, 0xc5e5, 0xc5e6, 0x003f, 0x003f, 0xf8d3, 0xc64a,
    -    0xf976, 0x003f, 0xc66a, 0x003f, 0xf9b3, 0xc66b, 0xf9b4, 0xf9b5,
    -    0xf9c3, 0xf9c2, 0xc67a, 0xf9cd, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xb0a9, 0x003f, 0x003f, 0xe0e9, 0x003f, 0xe0e8, 0x003f, 0xbbea,
    -    0xbbeb, 0xe4da, 0x003f, 0xe8d2, 0xec6c, 0x003f, 0x003f, 0xbe75,
    -    0xc065, 0xec6a, 0x003f, 0xec6d, 0xc066, 0x003f, 0xef64, 0xec6b,
    -    0xf1b9, 0xc34e, 0xf3c1, 0x003f, 0x003f, 0x003f, 0xf566, 0xf564,
    -    0x003f, 0x003f, 0xf565, 0x003f, 0x003f, 0xf6a2, 0x003f, 0xc55c,
    -    0xf7a4, 0xc5ea, 0xc5bc, 0xc5e8, 0xc5e9, 0xf8d4, 0xc662, 0x003f,
    -    0xb0aa, 0x003f, 0x003f, 0x003f, 0xf1ba, 0x003f, 0x003f, 0xd449,
    -    0x003f, 0xb9a6, 0x003f, 0xe4db, 0x003f, 0x003f, 0xbbec, 0xe4dc,
    -    0x003f, 0x003f, 0x003f, 0xe8d4, 0xe8d3, 0xc068, 0xbe76, 0xbe77,
    -    0x003f, 0xe8d7, 0xe8d6, 0xe8d5, 0x003f, 0x003f, 0xec6e, 0xec71,
    -    0x003f, 0xec70, 0xec6f, 0xc067, 0xef68, 0xef66, 0xef65, 0x003f,
    -    /* 0x9b00 .. 0x9bff */
    -    0x003f, 0xef67, 0x003f, 0xc34f, 0xf1bc, 0xf1bd, 0xc350, 0x003f,
    -    0xf1bb, 0x003f, 0xf3c3, 0xf3c2, 0xf3c5, 0xc447, 0xf3c4, 0x003f,
    -    0xf567, 0xf569, 0xf568, 0x003f, 0x003f, 0xf6a3, 0xf6a6, 0xf6a4,
    -    0xf6a5, 0xf7a5, 0xc5bd, 0x003f, 0x003f, 0x003f, 0xf854, 0xf855,
    -    0xf856, 0x003f, 0xc64b, 0xc663, 0xf9b6, 0xb0ab, 0x003f, 0xbe78,
    -    0xc069, 0xf1be, 0x003f, 0xf7a6, 0x003f, 0x003f, 0xf9c4, 0xd44a,
    -    0x003f, 0xc67b, 0xb0ac, 0xec72, 0x003f, 0xf1bf, 0x003f, 0xf3c6,
    -    0x003f, 0x003f, 0xf6a7, 0xf7a7, 0xb0ad, 0x003f, 0xe4dd, 0xe4de,
    -    0x003f, 0xbbed, 0xbbee, 0xe8d9, 0xbe7a, 0xbe79, 0xe8d8, 0x003f,
    -    0xef69, 0x003f, 0xf1c0, 0xf1c2, 0xf1c1, 0xc353, 0xc352, 0xc351,
    -    0x003f, 0xc55e, 0xf6a8, 0x003f, 0xc55d, 0xf7a9, 0xf7a8, 0x003f,
    -    0xc64c, 0xf8d5, 0xb3bd, 0xe0ea, 0x003f, 0x003f, 0x003f, 0xe4e1,
    -    0xe4df, 0xe4e0, 0x003f, 0x003f, 0xe8e2, 0x003f, 0xe8dd, 0xe8da,
    -    0xe8e1, 0x003f, 0x003f, 0x003f, 0xe8e3, 0x003f, 0x003f, 0xbe7c,
    -    0xe8e0, 0xe8dc, 0x003f, 0x003f, 0xe8db, 0xe8df, 0xe8de, 0xbe7b,
    -    0x003f, 0x003f, 0xec7d, 0xec78, 0xec76, 0xeca1, 0xec77, 0x003f,
    -    0xec73, 0x003f, 0xec79, 0x003f, 0x003f, 0xec74, 0xef72, 0xec75,
    -    0xeca2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xec7c, 0xc06a, 0xec7b, 0xec7a, 0x003f, 0xec7e, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xef6a, 0xef6d, 0x003f, 0x003f, 0xef6c, 0x003f,
    -    0xef74, 0xef6f, 0xef73, 0x003f, 0xef71, 0xef70, 0xef6e, 0x003f,
    -    0xef6b, 0x003f, 0xc243, 0xc242, 0x003f, 0xc244, 0xc241, 0xef75,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1c8, 0xf1cb, 0x003f,
    -    0xf1c9, 0xf1cd, 0x003f, 0x003f, 0x003f, 0xf1ce, 0x003f, 0xf1c6,
    -    0xc358, 0xf1c7, 0x003f, 0xf1c5, 0xf1cc, 0x003f, 0xf1c4, 0xf1c3,
    -    0xc357, 0xc355, 0xc354, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0xf1ca, 0xf3cf, 0xf3d5, 0xc44a, 0xf3d0,
    -    0x003f, 0xf3d3, 0xf3d7, 0xc44b, 0xf3d2, 0x003f, 0xf3ca, 0x003f,
    -    0xf3c9, 0xf3d6, 0xf3cd, 0x003f, 0xf3cb, 0xf3d4, 0xf3cc, 0xc449,
    -    0xc448, 0x003f, 0xf3c7, 0xf3c8, 0xf3d1, 0x003f, 0x003f, 0x003f,
    -    0xf3ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf56c,
    -    0xf56f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc356, 0x003f, 0x003f,
    -    /* 0x9c00 .. 0x9cff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf56d, 0xf573, 0xf571,
    -    0xf56b, 0xf576, 0x003f, 0xf56a, 0x003f, 0xc4cf, 0xf572, 0x003f,
    -    0x003f, 0x003f, 0xf56e, 0xc4ce, 0xf575, 0x003f, 0x003f, 0xf574,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0xf6ab, 0xf6aa, 0x003f, 0x003f,
    -    0x003f, 0xf6b1, 0x003f, 0xf6ad, 0xf6b0, 0xc560, 0x003f, 0x003f,
    -    0xf6ae, 0xf6af, 0x003f, 0xf6a9, 0xf6ac, 0xc55f, 0x003f, 0x003f,
    -    0x003f, 0xc5bf, 0xf7b4, 0xf7af, 0xf7b3, 0x003f, 0xf7b6, 0xf7b2,
    -    0x003f, 0xf7ae, 0x003f, 0xc5c1, 0xf7b1, 0xf7b5, 0xc5c0, 0xf7ac,
    -    0xf570, 0xf7b0, 0x003f, 0x003f, 0xf7ad, 0x003f, 0xf7aa, 0x003f,
    -    0xf7ab, 0xc5be, 0xf85a, 0xf85c, 0xf85f, 0xf85b, 0xf860, 0x003f,
    -    0xf859, 0x003f, 0xf857, 0x003f, 0xc5eb, 0xf85d, 0xc5ed, 0xc5ec,
    -    0xf858, 0xf85e, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8da, 0xc64d,
    -    0xf8db, 0x003f, 0xf8d9, 0xf8d6, 0x003f, 0x003f, 0xf8d8, 0xf8d7,
    -    0xf95a, 0x003f, 0x003f, 0x003f, 0x003f, 0xf95c, 0xf95b, 0x003f,
    -    0x003f, 0xf979, 0x003f, 0xf978, 0xf977, 0xf97a, 0x003f, 0xc673,
    -    0xc674, 0xf9ca, 0xf9ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3be, 0xdcaf, 0xe0ed,
    -    0x003f, 0xb9a7, 0xe0eb, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f,
    -    0x003f, 0xe4e2, 0xe4e3, 0xbbf1, 0xbbef, 0xe4e4, 0xbbf0, 0xe8e8,
    -    0x003f, 0xe8eb, 0xe8e5, 0xe8ec, 0xe8e4, 0xe8e6, 0x003f, 0xe8e7,
    -    /* 0x9d00 .. 0x9dff */
    -    0xe8ea, 0x003f, 0x003f, 0xbea1, 0xe8ef, 0xe8ee, 0xbe7d, 0xe8e9,
    -    0xe8ed, 0xbe7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xecac, 0x003f, 0xc06f, 0x003f, 0xeca7, 0xc06b, 0x003f, 0xeca4,
    -    0xecaa, 0xecad, 0x003f, 0xc070, 0x003f, 0xeca9, 0xeca6, 0xecae,
    -    0xeca5, 0x003f, 0xecab, 0xc06c, 0x003f, 0xeca3, 0xc06d, 0x003f,
    -    0xc06e, 0xeca8, 0x003f, 0x003f, 0x003f, 0xefa9, 0xef7a, 0xef7b,
    -    0xef7e, 0xef7c, 0x003f, 0xef76, 0x003f, 0x003f, 0xef79, 0xefa5,
    -    0xef7d, 0x003f, 0x003f, 0xc245, 0x003f, 0xefa7, 0xefa4, 0xc246,
    -    0xefa6, 0xef77, 0xefa2, 0xefa3, 0x003f, 0xefa1, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0xf1d2, 0xf1d4, 0xf1d7, 0x003f, 0x003f, 0xf1d1,
    -    0x003f, 0xc359, 0xf1d9, 0xf1d0, 0xf1da, 0x003f, 0xf1d6, 0xf1d8,
    -    0xf1dc, 0xf1d5, 0xf1dd, 0xf1d3, 0xf1cf, 0xc35a, 0x003f, 0xf1db,
    -    0xc35b, 0xc44d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xef78,
    -    0xf3f1, 0xf3e8, 0xc44f, 0xf3e4, 0xc450, 0x003f, 0x003f, 0xf3ed,
    -    0xf3e7, 0xf3dd, 0xc44e, 0xf3ea, 0xf3e5, 0xf3e6, 0x003f, 0xf3d8,
    -    0xf3df, 0xf3ee, 0x003f, 0xf3eb, 0x003f, 0xf3e3, 0x003f, 0xf3ef,
    -    0xf3de, 0xf3d9, 0xf3ec, 0x003f, 0xf3db, 0xf3e9, 0xf3e0, 0xf3f0,
    -    0xf3dc, 0xc44c, 0xf3da, 0xf3e1, 0xf3e2, 0x003f, 0x003f, 0x003f,
    -    0xf57d, 0x003f, 0xf57b, 0x003f, 0xf5a2, 0x003f, 0xf5ae, 0xf5a5,
    -    0xf57c, 0xf578, 0xf5a7, 0xf57e, 0xf5a3, 0xf57a, 0xf5aa, 0xf577,
    -    0xf5a1, 0xf5a6, 0xf5a8, 0xf5ab, 0xf579, 0x003f, 0xf5af, 0xf5b0,
    -    0xf5a9, 0xf5ad, 0xf5a4, 0x003f, 0xf6c1, 0xf6c4, 0x003f, 0xc561,
    -    0x003f, 0xf6c3, 0xf6c8, 0xf6c6, 0xc562, 0xf6bd, 0xf6b3, 0xf6b2,
    -    0xc564, 0xf6bf, 0xf6c0, 0xf6bc, 0xf6b4, 0x003f, 0xf6b9, 0xf5ac,
    -    0x003f, 0xf6b5, 0xc563, 0xf6bb, 0x003f, 0xf6ba, 0x003f, 0xf6b6,
    -    0xf6c2, 0x003f, 0xf6b7, 0xf7bb, 0xf6c5, 0xf6c7, 0xf6be, 0xf6b8,
    -    0xf7bc, 0xf7be, 0xf7b8, 0xc5c2, 0x003f, 0xf7c5, 0xf7c3, 0xc5c3,
    -    0xf7c2, 0xf7c1, 0xf7ba, 0xf7b7, 0xf7bd, 0xf7c6, 0xf7b9, 0xf7bf,
    -    0x003f, 0xf869, 0xf86e, 0xf864, 0xf867, 0xc5ee, 0xf86b, 0x003f,
    -    0xf872, 0xf7c0, 0x003f, 0xf865, 0xf86f, 0xf873, 0xf86a, 0xf863,
    -    0xf86d, 0x003f, 0xf86c, 0xf871, 0xf870, 0xf7c4, 0xf868, 0xf862,
    -    0xf866, 0xc64e, 0xc64f, 0xf861, 0x003f, 0xf8e6, 0xf8dd, 0xf8e5,
    -    /* 0x9e00 .. 0x9eff */
    -    0xf8e2, 0xf8e3, 0xf8dc, 0xf8df, 0xf8e7, 0xf8e1, 0xf8e0, 0xf8de,
    -    0x003f, 0xf8e4, 0x003f, 0xf95d, 0x003f, 0xf95e, 0x003f, 0xf960,
    -    0xf95f, 0xf962, 0xf961, 0xf97c, 0xf97b, 0xf9b7, 0x003f, 0xf9b8,
    -    0x003f, 0xf9c5, 0xc678, 0xc67c, 0x003f, 0xf9cf, 0xc67d, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3bf, 0x003f, 0x003f,
    -    0x003f, 0xc4d0, 0xf6c9, 0x003f, 0xc650, 0xc651, 0x003f, 0xb3c0,
    -    0xe0ee, 0x003f, 0xb9a8, 0xe8f0, 0x003f, 0x003f, 0xecb0, 0xecb1,
    -    0xecaf, 0xefab, 0xefaa, 0xc247, 0xf1df, 0xefac, 0xf1de, 0x003f,
    -    0x003f, 0xf3f3, 0xc451, 0xc453, 0xf3f2, 0x003f, 0x003f, 0xc452,
    -    0x003f, 0xf5b1, 0xf5b3, 0xf5b2, 0xf6ca, 0xc565, 0x003f, 0xc5ef,
    -    0xf8e8, 0xf963, 0x003f, 0x003f, 0xf9d2, 0xb3c1, 0x003f, 0xe4e5,
    -    0x003f, 0xbea2, 0x003f, 0x003f, 0x003f, 0xecb3, 0xecb2, 0x003f,
    -    0xefad, 0x003f, 0x003f, 0x003f, 0xc454, 0xc4d1, 0xf7c7, 0xf9cb,
    -    0x003f, 0x003f, 0x003f, 0xb3c2, 0xbbf2, 0x003f, 0xbea3, 0x003f,
    -    0xf3f4, 0x003f, 0xf874, 0xb6c0, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xefae, 0x003f, 0x003f, 0x003f, 0xc664, 0xb6c1, 0xbea4, 0xc248,
    -    0xf875, 0xb6c2, 0x003f, 0xe8f1, 0xc072, 0xecb4, 0xecb5, 0x003f,
    -    0xc071, 0x003f, 0xefaf, 0xc24c, 0xc24a, 0xc24b, 0xc249, 0xf1e0,
    -    0xc35c, 0x003f, 0x003f, 0x003f, 0xf5b5, 0xf5b4, 0xf5b7, 0xf5b6,
    -    0xc4d2, 0x003f, 0x003f, 0xf6cb, 0x003f, 0xf6cd, 0xf6cc, 0xc566,
    -    0xf7c8, 0x003f, 0xf876, 0xf877, 0xc5f0, 0xf964, 0xf97d, 0xc675,
    -    0x003f, 0xdcb0, 0xecb6, 0xefb0, 0xf3f5, 0xe0ef, 0x003f, 0xefb1,
    -    /* 0x9f00 .. 0x9fff */
    -    0xf1e2, 0xf1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf878, 0xc652,
    -    0x003f, 0xf965, 0xf97e, 0x003f, 0x003f, 0x003f, 0xb9a9, 0xe8f2,
    -    0xe8f3, 0x003f, 0xecb7, 0xb9aa, 0x003f, 0xc35d, 0xf1e3, 0x003f,
    -    0xf6cf, 0xc567, 0xf6d0, 0xf6ce, 0xf879, 0x003f, 0xf8e9, 0x003f,
    -    0xb9ab, 0x003f, 0xefb4, 0xefb3, 0xefb2, 0xf1e4, 0x003f, 0x003f,
    -    0xf1e8, 0xf1e7, 0xf1e6, 0xf1e5, 0xc35e, 0xf3f6, 0xf5b9, 0xc4d3,
    -    0xf5b8, 0xf6d1, 0xf7cb, 0xf7ca, 0xc5c4, 0xf7c9, 0xf87c, 0xf87b,
    -    0xf87a, 0x003f, 0x003f, 0xbbf3, 0x003f, 0xecb8, 0xc24d, 0x003f,
    -    0xf3f7, 0xf3f8, 0xf7cc, 0xf87d, 0x003f, 0x003f, 0xf8ea, 0xf966,
    -    0xf9b9, 0xf9d4, 0xbbf4, 0xc24e, 0xf1e9, 0xf3f9, 0xf6d2, 0xf87e,
    -    0x003f, 0x003f, 0xbea6, 0x003f, 0xefb5, 0xf1ea, 0xf3fa, 0xf3fb,
    -    0xf3fc, 0xf5be, 0x003f, 0xf5ba, 0xc568, 0xf5bd, 0xf5bc, 0xc4d4,
    -    0xf5bb, 0xc4d6, 0x003f, 0xc4d5, 0xf6d4, 0xf6d3, 0xc569, 0xc56a,
    -    0x003f, 0x003f, 0xc5c6, 0xf7cd, 0xc5c5, 0x003f, 0xf8a3, 0xf8a4,
    -    0xf8a2, 0xf8a1, 0xc654, 0x003f, 0xf8eb, 0xf8ec, 0xf8ed, 0xc653,
    -    0xf967, 0xf96a, 0xf969, 0xf968, 0x003f, 0x003f, 0xf9d3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc073, 0x003f, 0x003f,
    -    0xc365, 0xf5bf, 0xf6d5, 0x003f, 0xc5c7, 0xf7ce, 0x003f, 0x003f,
    -    0xf9d5, 0x003f, 0x003f, 0x003f, 0xc074, 0x003f, 0x003f, 0x003f,
    -    0xefb6, 0x003f, 0xf7cf, 0x003f, 0xf9a1, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xf900 .. 0xf9ff */
    -    0xb05a, 0xa7f3, 0xa8ae, 0xb8eb, 0xb7c6, 0xa6ea, 0xa579, 0xc074,
    -    0xc074, 0xabb4, 0xaaf7, 0xb3e2, 0xa960, 0xc369, 0xc4ee, 0xc3b9,
    -    0xc5da, 0xc1b3, 0xbb72, 0xc5de, 0xbcd6, 0xaca5, 0xaf4f, 0xaf5f,
    -    0xb8a8, 0xb954, 0xc064, 0xb6c3, 0xa75a, 0xc4e6, 0xc4ea, 0xc4f5,
    -    0xc67d, 0xb450, 0xc0dd, 0xc2c5, 0xc4b0, 0xa9d4, 0xc3be, 0xc4fa,
    -    0xb459, 0xaed4, 0xaef6, 0xaf54, 0xada6, 0xa8d3, 0xa74e, 0xb3d2,
    -    0xbedb, 0xc372, 0xc46c, 0xbf63, 0xa6d1, 0xc4aa, 0xb8b8, 0xb8f4,
    -    0xc553, 0xbe7c, 0xc64f, 0xb84c, 0xb853, 0xbaf1, 0xdb77, 0xbffd,
    -    0xb3c0, 0xbdd7, 0xc362, 0xa7cb, 0xc5a2, 0xc5a4, 0xa863, 0xbd55,
    -    0xb8ef, 0xb970, 0xc253, 0xb9f0, 0xbcd3, 0xb25c, 0xba7c, 0xb2d6,
    -    0xc15c, 0xadae, 0xb0c7, 0xa6d8, 0xbbfe, 0xade2, 0xb857, 0xbaf0,
    -    0xb5d9, 0xb3ae, 0xc5aa, 0xced4, 0xbcd6, 0xbfd5, 0xa4a6, 0xb9e7,
    -    0xabe3, 0xb276, 0xb2a7, 0xa55f, 0xeda8, 0xab4b, 0xb45f, 0xa4a3,
    -    0xaa63, 0xbcc6, 0xafc1, 0xb0d1, 0xb6eb, 0xacd9, 0xb8ad, 0xbba1,
    -    0xb1fe, 0xa8b0, 0xa848, 0xac42, 0xad59, 0xb1b0, 0xb2a4, 0xab47,
    -    0xa8e2, 0x003f, 0xb1e7, 0xc2b3, 0xa87d, 0xbdcc, 0xb671, 0xc079,
    -    0xa766, 0xa46b, 0xc366, 0xaec8, 0xc26f, 0xc472, 0xbe5b, 0xc67a,
    -    0xc452, 0xbea4, 0xa44f, 0xbee4, 0xbefa, 0xf765, 0xa67e, 0xbca6,
    -    0xc5ca, 0xbcbf, 0xbaa7, 0xb7d2, 0xe6a3, 0x003f, 0xbd6d, 0xc170,
    -    0xbdfb, 0xbdac, 0xb373, 0xc1e5, 0xa643, 0xa648, 0xab7c, 0xaf50,
    -    0xb5f5, 0xbba1, 0xb747, 0xa9c0, 0xb1c9, 0xc0d4, 0xc3ae, 0xc279,
    -    0xa54f, 0xcbf1, 0xb9e7, 0xc0ad, 0xccb0, 0xacc2, 0xbcfc, 0xb2dc,
    -    0xb2e2, 0xb961, 0xb973, 0xc646, 0xbbe2, 0xa8d2, 0xc2a7, 0xc4bf,
    -    0xc1f5, 0xb463, 0xa446, 0xb9b1, 0xbc64, 0xa7bf, 0xaec6, 0xbcd6,
    -    0xbf52, 0xc0f8, 0xe764, 0xbff1, 0xc073, 0xb777, 0xa8bf, 0xbc42,
    -    0xccd8, 0xac68, 0xac79, 0xb7c8, 0xaf5b, 0xaf64, 0xb2b8, 0xafc3,
    -    0xc3fe, 0xa4bb, 0xbcae, 0xb3b0, 0xaddb, 0xb15b, 0xb25f, 0xbdfc,
    -    0xabdf, 0xb758, 0xaedf, 0xb276, 0xb6a9, 0xa751, 0xa64f, 0xbc69,
    -    0xa9f6, 0xa7f5, 0xb1f9, 0xaa64, 0xb27a, 0xb567, 0xbfa9, 0xf9d8,
    -    0xb8cc, 0xa8bd, 0xc2f7, 0xb0ce, 0xb7c4, 0xa75b, 0xbf4d, 0xbf5a,
    -    0xc4a9, 0x003f, 0xc5ec, 0xc5ef, 0xaa4c, 0xb24f, 0xc17b, 0xa5df,
    -    0xb2c1, 0xb2c9, 0xaaac, 0xaaa5, 0xc3d1, 0xa4b0, 0xaff9, 0xa8eb,
    -    /* 0xfa00 .. 0xfaff */
    -    0xa4c1, 0xabd7, 0xa9dd, 0xbf7d, 0xa676, 0xac7d, 0xbcc9, 0xbfe7,
    -    0xa6e6, 0xadb0, 0xa8a3, 0xb9f8, 0xc94a, 0xddfc, 0x003f, 0x003f,
    -    0xb6ef, 0x003f, 0xb4b8, 0x003f, 0x003f, 0xe8f9, 0x003f, 0xaf71,
    -    0x003f, 0xafab, 0xb2bb, 0xbad6, 0xb974, 0xbaeb, 0xa6d0, 0x003f,
    -    0x003f, 0x003f, 0xbdd1, 0x003f, 0x003f, 0xb668, 0xb3a3, 0x003f,
    -    0x003f, 0x003f, 0xb6ba, 0xb97d, 0xc05d, 0xc562, 0x003f, 0x003f,
    -    0xab56, 0xb9ac, 0xa74b, 0xab6a, 0xb6d4, 0xa8f5, 0xb3dc, 0xb9c4,
    -    0xbeb9, 0x003f, 0xbea5, 0xbc68, 0xc94b, 0xaeac, 0xb46e, 0xbca8,
    -    0xc367, 0xb1d3, 0xac4a, 0xb4bb, 0xb1f6, 0xaefc, 0xb25a, 0xba7e,
    -    0xb54e, 0x003f, 0xb55a, 0xb84f, 0xaac0, 0xace7, 0xace8, 0xafa7,
    -    0xafaa, 0xafac, 0xbad7, 0xbad5, 0xbd5c, 0xacf0, 0xb860, 0xbd6d,
    -    0xbfa7, 0xc163, 0xb870, 0xaacc, 0xafe4, 0x003f, 0x003f, 0xb5db,
    -    0xbdc5, 0xb5f8, 0xbfd6, 0xc2d4, 0xbbab, 0xc3d8, 0x003f, 0xb668,
    -    0xc3f8, 0xc554, 0xc057, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfb00 .. 0xfbff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xfe00 .. 0xfeff */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa14a, 0xa157, 0x003f, 0xa159, 0xa15b, 0xa15f, 0xa160, 0xa163,
    -    0xa164, 0xa167, 0xa168, 0xa16b, 0xa16c, 0xa16f, 0xa170, 0xa173,
    -    0xa174, 0xa177, 0xa178, 0xa17b, 0xa17c, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0xa1c6, 0xa1c7, 0xa1ca, 0xa1cb, 0xa1c8, 0xa1c9, 0xa15c,
    -    0xa14d, 0xa14e, 0xa14f, 0x003f, 0xa151, 0xa152, 0xa153, 0xa154,
    -    0xa158, 0xa17d, 0xa17e, 0xa1a1, 0xa1a2, 0xa1a3, 0xa1a4, 0xa1cc,
    -    0xa1cd, 0xa1ce, 0xa1de, 0xa1df, 0xa1e0, 0xa1e1, 0xa1e2, 0x003f,
    -    0xa242, 0xa24c, 0xa24d, 0xa24e, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* 0xff00 .. 0xffff */
    -    0x003f, 0xa149, 0x0022, 0xa1ad, 0xa243, 0xa248, 0xa1ae, 0x0027,
    -    0xa15d, 0xa15e, 0xa1af, 0xa1cf, 0xa141, 0xa1d0, 0xa144, 0xa1fe,
    -    0xa2af, 0xa2b0, 0xa2b1, 0xa2b2, 0xa2b3, 0xa2b4, 0xa2b5, 0xa2b6,
    -    0xa2b7, 0xa2b8, 0xa147, 0xa146, 0xa1d5, 0xa1d7, 0xa1d6, 0xa148,
    -    0xa249, 0xa2cf, 0xa2d0, 0xa2d1, 0xa2d2, 0xa2d3, 0xa2d4, 0xa2d5,
    -    0xa2d6, 0xa2d7, 0xa2d8, 0xa2d9, 0xa2da, 0xa2db, 0xa2dc, 0xa2dd,
    -    0xa2de, 0xa2df, 0xa2e0, 0xa2e1, 0xa2e2, 0xa2e3, 0xa2e4, 0xa2e5,
    -    0xa2e6, 0xa2e7, 0xa2e8, 0x005b, 0xa240, 0x005d, 0x005e, 0xa1c4,
    -    0x0060, 0xa2e9, 0xa2ea, 0xa2eb, 0xa2ec, 0xa2ed, 0xa2ee, 0xa2ef,
    -    0xa2f0, 0xa2f1, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7,
    -    0xa2f8, 0xa2f9, 0xa2fa, 0xa2fb, 0xa2fc, 0xa2fd, 0xa2fe, 0xa340,
    -    0xa341, 0xa342, 0xa343, 0xa161, 0xa155, 0xa162, 0xa1e3, 0x003f,
    -    0x003f, 0xa143, 0xa175, 0xa176, 0xa142, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0xa246, 0xa247, 0x003f, 0xa1c3, 0x007c, 0xa244, 0x003f, 0x003f,
    -    0xa278, 0xa1f6, 0xa1f4, 0xa1f7, 0xa1f5, 0xa1bd, 0xa1b3, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    /* defaults */
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    -    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    -};
    -
    -static const unsigned short uni2cp_high[256] =
    -{
    -    0x0000, 0x0100, 0x0200, 0x0300, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0400, 0x0500, 0x0600,
    -    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0e00, 0x0f00,
    -    0x1000, 0x1100, 0x1200, 0x1300, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x1400, 0x1500,
    -    0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00,
    -    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,
    -    0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00,
    -    0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500,
    -    0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00,
    -    0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500,
    -    0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00,
    -    0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500,
    -    0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00,
    -    0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    -    0x6b00, 0x6600, 0x6700, 0x6800, 0x6b00, 0x6b00, 0x6900, 0x6a00
    -};
    -
    -const struct dbcs_table cptable_950 =
    -{
    -    { 950, 2, 0x003f, 0x003f, "ANSI/OEM Traditional Chinese Big5" },
    -    cp2uni,
    -    cp2uni_leadbytes,
    -    uni2cp_low,
    -    uni2cp_high,
    -    { 0x81, 0xfe, 0x00, 0x00 }
    -};
    +/* code page 950 (ANSI/OEM Traditional Chinese Big5) */
    +/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT */
    +/* DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +static const WCHAR cp2uni[22784] =
    +{
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 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, 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, 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, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,
    +    /* unused lead bytes */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x3000, 0xff0c, 0x3001, 0x3002, 0xff0e, 0x2027, 0xff1b, 0xff1a,
    +    0xff1f, 0xff01, 0xfe30, 0x2026, 0x2025, 0xfe50, 0xfe51, 0xfe52,
    +    0x00b7, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xff5c, 0x2013, 0xfe31,
    +    0x2014, 0xfe33, 0x2574, 0xfe34, 0xfe4f, 0xff08, 0xff09, 0xfe35,
    +    0xfe36, 0xff5b, 0xff5d, 0xfe37, 0xfe38, 0x3014, 0x3015, 0xfe39,
    +    0xfe3a, 0x3010, 0x3011, 0xfe3b, 0xfe3c, 0x300a, 0x300b, 0xfe3d,
    +    0xfe3e, 0x3008, 0x3009, 0xfe3f, 0xfe40, 0x300c, 0x300d, 0xfe41,
    +    0xfe42, 0x300e, 0x300f, 0xfe43, 0xfe44, 0xfe59, 0xfe5a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0x2018, 0x2019, 0x201c,
    +    0x201d, 0x301d, 0x301e, 0x2035, 0x2032, 0xff03, 0xff06, 0xff0a,
    +    0x203b, 0x00a7, 0x3003, 0x25cb, 0x25cf, 0x25b3, 0x25b2, 0x25ce,
    +    0x2606, 0x2605, 0x25c7, 0x25c6, 0x25a1, 0x25a0, 0x25bd, 0x25bc,
    +    0x32a3, 0x2105, 0x00af, 0xffe3, 0xff3f, 0x02cd, 0xfe49, 0xfe4a,
    +    0xfe4d, 0xfe4e, 0xfe4b, 0xfe4c, 0xfe5f, 0xfe60, 0xfe61, 0xff0b,
    +    0xff0d, 0x00d7, 0x00f7, 0x00b1, 0x221a, 0xff1c, 0xff1e, 0xff1d,
    +    0x2266, 0x2267, 0x2260, 0x221e, 0x2252, 0x2261, 0xfe62, 0xfe63,
    +    0xfe64, 0xfe65, 0xfe66, 0xff5e, 0x2229, 0x222a, 0x22a5, 0x2220,
    +    0x221f, 0x22bf, 0x33d2, 0x33d1, 0x222b, 0x222e, 0x2235, 0x2234,
    +    0x2640, 0x2642, 0x2295, 0x2299, 0x2191, 0x2193, 0x2190, 0x2192,
    +    0x2196, 0x2197, 0x2199, 0x2198, 0x2225, 0x2223, 0xff0f, 0x003f,
    +    /* lead byte a2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xff3c, 0x2215, 0xfe68, 0xff04, 0xffe5, 0x3012, 0xffe0, 0xffe1,
    +    0xff05, 0xff20, 0x2103, 0x2109, 0xfe69, 0xfe6a, 0xfe6b, 0x33d5,
    +    0x339c, 0x339d, 0x339e, 0x33ce, 0x33a1, 0x338e, 0x338f, 0x33c4,
    +    0x00b0, 0x5159, 0x515b, 0x515e, 0x515d, 0x5161, 0x5163, 0x55e7,
    +    0x74e9, 0x7cce, 0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586,
    +    0x2587, 0x2588, 0x258f, 0x258e, 0x258d, 0x258c, 0x258b, 0x258a,
    +    0x2589, 0x253c, 0x2534, 0x252c, 0x2524, 0x251c, 0x2594, 0x2500,
    +    0x2502, 0x2595, 0x250c, 0x2510, 0x2514, 0x2518, 0x256d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x256e, 0x2570, 0x256f, 0x2550, 0x255e, 0x256a, 0x2561,
    +    0x25e2, 0x25e3, 0x25e5, 0x25e4, 0x2571, 0x2572, 0x2573, 0xff10,
    +    0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18,
    +    0xff19, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,
    +    0x2167, 0x2168, 0x2169, 0x3021, 0x3022, 0x3023, 0x3024, 0x3025,
    +    0x3026, 0x3027, 0x3028, 0x3029, 0x5341, 0x5344, 0x5345, 0xff21,
    +    0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, 0xff29,
    +    0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30, 0xff31,
    +    0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, 0xff39,
    +    0xff3a, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,
    +    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,
    +    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0x003f,
    +    /* lead byte a3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xff57, 0xff58, 0xff59, 0xff5a, 0x0391, 0x0392, 0x0393, 0x0394,
    +    0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039a, 0x039b, 0x039c,
    +    0x039d, 0x039e, 0x039f, 0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5,
    +    0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2, 0x03b3, 0x03b4,
    +    0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc,
    +    0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5,
    +    0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x3105, 0x3106, 0x3107, 0x3108,
    +    0x3109, 0x310a, 0x310b, 0x310c, 0x310d, 0x310e, 0x310f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x3110, 0x3111, 0x3112, 0x3113, 0x3114, 0x3115, 0x3116,
    +    0x3117, 0x3118, 0x3119, 0x311a, 0x311b, 0x311c, 0x311d, 0x311e,
    +    0x311f, 0x3120, 0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126,
    +    0x3127, 0x3128, 0x3129, 0x02d9, 0x02c9, 0x02ca, 0x02c7, 0x02cb,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x20ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte a4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x4e00, 0x4e59, 0x4e01, 0x4e03, 0x4e43, 0x4e5d, 0x4e86, 0x4e8c,
    +    0x4eba, 0x513f, 0x5165, 0x516b, 0x51e0, 0x5200, 0x5201, 0x529b,
    +    0x5315, 0x5341, 0x535c, 0x53c8, 0x4e09, 0x4e0b, 0x4e08, 0x4e0a,
    +    0x4e2b, 0x4e38, 0x51e1, 0x4e45, 0x4e48, 0x4e5f, 0x4e5e, 0x4e8e,
    +    0x4ea1, 0x5140, 0x5203, 0x52fa, 0x5343, 0x53c9, 0x53e3, 0x571f,
    +    0x58eb, 0x5915, 0x5927, 0x5973, 0x5b50, 0x5b51, 0x5b53, 0x5bf8,
    +    0x5c0f, 0x5c22, 0x5c38, 0x5c71, 0x5ddd, 0x5de5, 0x5df1, 0x5df2,
    +    0x5df3, 0x5dfe, 0x5e72, 0x5efe, 0x5f0b, 0x5f13, 0x624d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x4e11, 0x4e10, 0x4e0d, 0x4e2d, 0x4e30, 0x4e39, 0x4e4b,
    +    0x5c39, 0x4e88, 0x4e91, 0x4e95, 0x4e92, 0x4e94, 0x4ea2, 0x4ec1,
    +    0x4ec0, 0x4ec3, 0x4ec6, 0x4ec7, 0x4ecd, 0x4eca, 0x4ecb, 0x4ec4,
    +    0x5143, 0x5141, 0x5167, 0x516d, 0x516e, 0x516c, 0x5197, 0x51f6,
    +    0x5206, 0x5207, 0x5208, 0x52fb, 0x52fe, 0x52ff, 0x5316, 0x5339,
    +    0x5348, 0x5347, 0x5345, 0x535e, 0x5384, 0x53cb, 0x53ca, 0x53cd,
    +    0x58ec, 0x5929, 0x592b, 0x592a, 0x592d, 0x5b54, 0x5c11, 0x5c24,
    +    0x5c3a, 0x5c6f, 0x5df4, 0x5e7b, 0x5eff, 0x5f14, 0x5f15, 0x5fc3,
    +    0x6208, 0x6236, 0x624b, 0x624e, 0x652f, 0x6587, 0x6597, 0x65a4,
    +    0x65b9, 0x65e5, 0x66f0, 0x6708, 0x6728, 0x6b20, 0x6b62, 0x6b79,
    +    0x6bcb, 0x6bd4, 0x6bdb, 0x6c0f, 0x6c34, 0x706b, 0x722a, 0x7236,
    +    0x723b, 0x7247, 0x7259, 0x725b, 0x72ac, 0x738b, 0x4e19, 0x003f,
    +    /* lead byte a5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x4e16, 0x4e15, 0x4e14, 0x4e18, 0x4e3b, 0x4e4d, 0x4e4f, 0x4e4e,
    +    0x4ee5, 0x4ed8, 0x4ed4, 0x4ed5, 0x4ed6, 0x4ed7, 0x4ee3, 0x4ee4,
    +    0x4ed9, 0x4ede, 0x5145, 0x5144, 0x5189, 0x518a, 0x51ac, 0x51f9,
    +    0x51fa, 0x51f8, 0x520a, 0x52a0, 0x529f, 0x5305, 0x5306, 0x5317,
    +    0x531d, 0x4edf, 0x534a, 0x5349, 0x5361, 0x5360, 0x536f, 0x536e,
    +    0x53bb, 0x53ef, 0x53e4, 0x53f3, 0x53ec, 0x53ee, 0x53e9, 0x53e8,
    +    0x53fc, 0x53f8, 0x53f5, 0x53eb, 0x53e6, 0x53ea, 0x53f2, 0x53f1,
    +    0x53f0, 0x53e5, 0x53ed, 0x53fb, 0x56db, 0x56da, 0x5916, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x592e, 0x5931, 0x5974, 0x5976, 0x5b55, 0x5b83, 0x5c3c,
    +    0x5de8, 0x5de7, 0x5de6, 0x5e02, 0x5e03, 0x5e73, 0x5e7c, 0x5f01,
    +    0x5f18, 0x5f17, 0x5fc5, 0x620a, 0x6253, 0x6254, 0x6252, 0x6251,
    +    0x65a5, 0x65e6, 0x672e, 0x672c, 0x672a, 0x672b, 0x672d, 0x6b63,
    +    0x6bcd, 0x6c11, 0x6c10, 0x6c38, 0x6c41, 0x6c40, 0x6c3e, 0x72af,
    +    0x7384, 0x7389, 0x74dc, 0x74e6, 0x7518, 0x751f, 0x7528, 0x7529,
    +    0x7530, 0x7531, 0x7532, 0x7533, 0x758b, 0x767d, 0x76ae, 0x76bf,
    +    0x76ee, 0x77db, 0x77e2, 0x77f3, 0x793a, 0x79be, 0x7a74, 0x7acb,
    +    0x4e1e, 0x4e1f, 0x4e52, 0x4e53, 0x4e69, 0x4e99, 0x4ea4, 0x4ea6,
    +    0x4ea5, 0x4eff, 0x4f09, 0x4f19, 0x4f0a, 0x4f15, 0x4f0d, 0x4f10,
    +    0x4f11, 0x4f0f, 0x4ef2, 0x4ef6, 0x4efb, 0x4ef0, 0x4ef3, 0x4efd,
    +    0x4f01, 0x4f0b, 0x5149, 0x5147, 0x5146, 0x5148, 0x5168, 0x003f,
    +    /* lead byte a6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5171, 0x518d, 0x51b0, 0x5217, 0x5211, 0x5212, 0x520e, 0x5216,
    +    0x52a3, 0x5308, 0x5321, 0x5320, 0x5370, 0x5371, 0x5409, 0x540f,
    +    0x540c, 0x540a, 0x5410, 0x5401, 0x540b, 0x5404, 0x5411, 0x540d,
    +    0x5408, 0x5403, 0x540e, 0x5406, 0x5412, 0x56e0, 0x56de, 0x56dd,
    +    0x5733, 0x5730, 0x5728, 0x572d, 0x572c, 0x572f, 0x5729, 0x5919,
    +    0x591a, 0x5937, 0x5938, 0x5984, 0x5978, 0x5983, 0x597d, 0x5979,
    +    0x5982, 0x5981, 0x5b57, 0x5b58, 0x5b87, 0x5b88, 0x5b85, 0x5b89,
    +    0x5bfa, 0x5c16, 0x5c79, 0x5dde, 0x5e06, 0x5e76, 0x5e74, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5f0f, 0x5f1b, 0x5fd9, 0x5fd6, 0x620e, 0x620c, 0x620d,
    +    0x6210, 0x6263, 0x625b, 0x6258, 0x6536, 0x65e9, 0x65e8, 0x65ec,
    +    0x65ed, 0x66f2, 0x66f3, 0x6709, 0x673d, 0x6734, 0x6731, 0x6735,
    +    0x6b21, 0x6b64, 0x6b7b, 0x6c16, 0x6c5d, 0x6c57, 0x6c59, 0x6c5f,
    +    0x6c60, 0x6c50, 0x6c55, 0x6c61, 0x6c5b, 0x6c4d, 0x6c4e, 0x7070,
    +    0x725f, 0x725d, 0x767e, 0x7af9, 0x7c73, 0x7cf8, 0x7f36, 0x7f8a,
    +    0x7fbd, 0x8001, 0x8003, 0x800c, 0x8012, 0x8033, 0x807f, 0x8089,
    +    0x808b, 0x808c, 0x81e3, 0x81ea, 0x81f3, 0x81fc, 0x820c, 0x821b,
    +    0x821f, 0x826e, 0x8272, 0x827e, 0x866b, 0x8840, 0x884c, 0x8863,
    +    0x897f, 0x9621, 0x4e32, 0x4ea8, 0x4f4d, 0x4f4f, 0x4f47, 0x4f57,
    +    0x4f5e, 0x4f34, 0x4f5b, 0x4f55, 0x4f30, 0x4f50, 0x4f51, 0x4f3d,
    +    0x4f3a, 0x4f38, 0x4f43, 0x4f54, 0x4f3c, 0x4f46, 0x4f63, 0x003f,
    +    /* lead byte a7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x4f5c, 0x4f60, 0x4f2f, 0x4f4e, 0x4f36, 0x4f59, 0x4f5d, 0x4f48,
    +    0x4f5a, 0x514c, 0x514b, 0x514d, 0x5175, 0x51b6, 0x51b7, 0x5225,
    +    0x5224, 0x5229, 0x522a, 0x5228, 0x52ab, 0x52a9, 0x52aa, 0x52ac,
    +    0x5323, 0x5373, 0x5375, 0x541d, 0x542d, 0x541e, 0x543e, 0x5426,
    +    0x544e, 0x5427, 0x5446, 0x5443, 0x5433, 0x5448, 0x5442, 0x541b,
    +    0x5429, 0x544a, 0x5439, 0x543b, 0x5438, 0x542e, 0x5435, 0x5436,
    +    0x5420, 0x543c, 0x5440, 0x5431, 0x542b, 0x541f, 0x542c, 0x56ea,
    +    0x56f0, 0x56e4, 0x56eb, 0x574a, 0x5751, 0x5740, 0x574d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5747, 0x574e, 0x573e, 0x5750, 0x574f, 0x573b, 0x58ef,
    +    0x593e, 0x599d, 0x5992, 0x59a8, 0x599e, 0x59a3, 0x5999, 0x5996,
    +    0x598d, 0x59a4, 0x5993, 0x598a, 0x59a5, 0x5b5d, 0x5b5c, 0x5b5a,
    +    0x5b5b, 0x5b8c, 0x5b8b, 0x5b8f, 0x5c2c, 0x5c40, 0x5c41, 0x5c3f,
    +    0x5c3e, 0x5c90, 0x5c91, 0x5c94, 0x5c8c, 0x5deb, 0x5e0c, 0x5e8f,
    +    0x5e87, 0x5e8a, 0x5ef7, 0x5f04, 0x5f1f, 0x5f64, 0x5f62, 0x5f77,
    +    0x5f79, 0x5fd8, 0x5fcc, 0x5fd7, 0x5fcd, 0x5ff1, 0x5feb, 0x5ff8,
    +    0x5fea, 0x6212, 0x6211, 0x6284, 0x6297, 0x6296, 0x6280, 0x6276,
    +    0x6289, 0x626d, 0x628a, 0x627c, 0x627e, 0x6279, 0x6273, 0x6292,
    +    0x626f, 0x6298, 0x626e, 0x6295, 0x6293, 0x6291, 0x6286, 0x6539,
    +    0x653b, 0x6538, 0x65f1, 0x66f4, 0x675f, 0x674e, 0x674f, 0x6750,
    +    0x6751, 0x675c, 0x6756, 0x675e, 0x6749, 0x6746, 0x6760, 0x003f,
    +    /* lead byte a8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6753, 0x6757, 0x6b65, 0x6bcf, 0x6c42, 0x6c5e, 0x6c99, 0x6c81,
    +    0x6c88, 0x6c89, 0x6c85, 0x6c9b, 0x6c6a, 0x6c7a, 0x6c90, 0x6c70,
    +    0x6c8c, 0x6c68, 0x6c96, 0x6c92, 0x6c7d, 0x6c83, 0x6c72, 0x6c7e,
    +    0x6c74, 0x6c86, 0x6c76, 0x6c8d, 0x6c94, 0x6c98, 0x6c82, 0x7076,
    +    0x707c, 0x707d, 0x7078, 0x7262, 0x7261, 0x7260, 0x72c4, 0x72c2,
    +    0x7396, 0x752c, 0x752b, 0x7537, 0x7538, 0x7682, 0x76ef, 0x77e3,
    +    0x79c1, 0x79c0, 0x79bf, 0x7a76, 0x7cfb, 0x7f55, 0x8096, 0x8093,
    +    0x809d, 0x8098, 0x809b, 0x809a, 0x80b2, 0x826f, 0x8292, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x828b, 0x828d, 0x898b, 0x89d2, 0x8a00, 0x8c37, 0x8c46,
    +    0x8c55, 0x8c9d, 0x8d64, 0x8d70, 0x8db3, 0x8eab, 0x8eca, 0x8f9b,
    +    0x8fb0, 0x8fc2, 0x8fc6, 0x8fc5, 0x8fc4, 0x5de1, 0x9091, 0x90a2,
    +    0x90aa, 0x90a6, 0x90a3, 0x9149, 0x91c6, 0x91cc, 0x9632, 0x962e,
    +    0x9631, 0x962a, 0x962c, 0x4e26, 0x4e56, 0x4e73, 0x4e8b, 0x4e9b,
    +    0x4e9e, 0x4eab, 0x4eac, 0x4f6f, 0x4f9d, 0x4f8d, 0x4f73, 0x4f7f,
    +    0x4f6c, 0x4f9b, 0x4f8b, 0x4f86, 0x4f83, 0x4f70, 0x4f75, 0x4f88,
    +    0x4f69, 0x4f7b, 0x4f96, 0x4f7e, 0x4f8f, 0x4f91, 0x4f7a, 0x5154,
    +    0x5152, 0x5155, 0x5169, 0x5177, 0x5176, 0x5178, 0x51bd, 0x51fd,
    +    0x523b, 0x5238, 0x5237, 0x523a, 0x5230, 0x522e, 0x5236, 0x5241,
    +    0x52be, 0x52bb, 0x5352, 0x5354, 0x5353, 0x5351, 0x5366, 0x5377,
    +    0x5378, 0x5379, 0x53d6, 0x53d4, 0x53d7, 0x5473, 0x5475, 0x003f,
    +    /* lead byte a9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5496, 0x5478, 0x5495, 0x5480, 0x547b, 0x5477, 0x5484, 0x5492,
    +    0x5486, 0x547c, 0x5490, 0x5471, 0x5476, 0x548c, 0x549a, 0x5462,
    +    0x5468, 0x548b, 0x547d, 0x548e, 0x56fa, 0x5783, 0x5777, 0x576a,
    +    0x5769, 0x5761, 0x5766, 0x5764, 0x577c, 0x591c, 0x5949, 0x5947,
    +    0x5948, 0x5944, 0x5954, 0x59be, 0x59bb, 0x59d4, 0x59b9, 0x59ae,
    +    0x59d1, 0x59c6, 0x59d0, 0x59cd, 0x59cb, 0x59d3, 0x59ca, 0x59af,
    +    0x59b3, 0x59d2, 0x59c5, 0x5b5f, 0x5b64, 0x5b63, 0x5b97, 0x5b9a,
    +    0x5b98, 0x5b9c, 0x5b99, 0x5b9b, 0x5c1a, 0x5c48, 0x5c45, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5c46, 0x5cb7, 0x5ca1, 0x5cb8, 0x5ca9, 0x5cab, 0x5cb1,
    +    0x5cb3, 0x5e18, 0x5e1a, 0x5e16, 0x5e15, 0x5e1b, 0x5e11, 0x5e78,
    +    0x5e9a, 0x5e97, 0x5e9c, 0x5e95, 0x5e96, 0x5ef6, 0x5f26, 0x5f27,
    +    0x5f29, 0x5f80, 0x5f81, 0x5f7f, 0x5f7c, 0x5fdd, 0x5fe0, 0x5ffd,
    +    0x5ff5, 0x5fff, 0x600f, 0x6014, 0x602f, 0x6035, 0x6016, 0x602a,
    +    0x6015, 0x6021, 0x6027, 0x6029, 0x602b, 0x601b, 0x6216, 0x6215,
    +    0x623f, 0x623e, 0x6240, 0x627f, 0x62c9, 0x62cc, 0x62c4, 0x62bf,
    +    0x62c2, 0x62b9, 0x62d2, 0x62db, 0x62ab, 0x62d3, 0x62d4, 0x62cb,
    +    0x62c8, 0x62a8, 0x62bd, 0x62bc, 0x62d0, 0x62d9, 0x62c7, 0x62cd,
    +    0x62b5, 0x62da, 0x62b1, 0x62d8, 0x62d6, 0x62d7, 0x62c6, 0x62ac,
    +    0x62ce, 0x653e, 0x65a7, 0x65bc, 0x65fa, 0x6614, 0x6613, 0x660c,
    +    0x6606, 0x6602, 0x660e, 0x6600, 0x660f, 0x6615, 0x660a, 0x003f,
    +    /* lead byte aa */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6607, 0x670d, 0x670b, 0x676d, 0x678b, 0x6795, 0x6771, 0x679c,
    +    0x6773, 0x6777, 0x6787, 0x679d, 0x6797, 0x676f, 0x6770, 0x677f,
    +    0x6789, 0x677e, 0x6790, 0x6775, 0x679a, 0x6793, 0x677c, 0x676a,
    +    0x6772, 0x6b23, 0x6b66, 0x6b67, 0x6b7f, 0x6c13, 0x6c1b, 0x6ce3,
    +    0x6ce8, 0x6cf3, 0x6cb1, 0x6ccc, 0x6ce5, 0x6cb3, 0x6cbd, 0x6cbe,
    +    0x6cbc, 0x6ce2, 0x6cab, 0x6cd5, 0x6cd3, 0x6cb8, 0x6cc4, 0x6cb9,
    +    0x6cc1, 0x6cae, 0x6cd7, 0x6cc5, 0x6cf1, 0x6cbf, 0x6cbb, 0x6ce1,
    +    0x6cdb, 0x6cca, 0x6cac, 0x6cef, 0x6cdc, 0x6cd6, 0x6ce0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7095, 0x708e, 0x7092, 0x708a, 0x7099, 0x722c, 0x722d,
    +    0x7238, 0x7248, 0x7267, 0x7269, 0x72c0, 0x72ce, 0x72d9, 0x72d7,
    +    0x72d0, 0x73a9, 0x73a8, 0x739f, 0x73ab, 0x73a5, 0x753d, 0x759d,
    +    0x7599, 0x759a, 0x7684, 0x76c2, 0x76f2, 0x76f4, 0x77e5, 0x77fd,
    +    0x793e, 0x7940, 0x7941, 0x79c9, 0x79c8, 0x7a7a, 0x7a79, 0x7afa,
    +    0x7cfe, 0x7f54, 0x7f8c, 0x7f8b, 0x8005, 0x80ba, 0x80a5, 0x80a2,
    +    0x80b1, 0x80a1, 0x80ab, 0x80a9, 0x80b4, 0x80aa, 0x80af, 0x81e5,
    +    0x81fe, 0x820d, 0x82b3, 0x829d, 0x8299, 0x82ad, 0x82bd, 0x829f,
    +    0x82b9, 0x82b1, 0x82ac, 0x82a5, 0x82af, 0x82b8, 0x82a3, 0x82b0,
    +    0x82be, 0x82b7, 0x864e, 0x8671, 0x521d, 0x8868, 0x8ecb, 0x8fce,
    +    0x8fd4, 0x8fd1, 0x90b5, 0x90b8, 0x90b1, 0x90b6, 0x91c7, 0x91d1,
    +    0x9577, 0x9580, 0x961c, 0x9640, 0x963f, 0x963b, 0x9644, 0x003f,
    +    /* lead byte ab */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9642, 0x96b9, 0x96e8, 0x9752, 0x975e, 0x4e9f, 0x4ead, 0x4eae,
    +    0x4fe1, 0x4fb5, 0x4faf, 0x4fbf, 0x4fe0, 0x4fd1, 0x4fcf, 0x4fdd,
    +    0x4fc3, 0x4fb6, 0x4fd8, 0x4fdf, 0x4fca, 0x4fd7, 0x4fae, 0x4fd0,
    +    0x4fc4, 0x4fc2, 0x4fda, 0x4fce, 0x4fde, 0x4fb7, 0x5157, 0x5192,
    +    0x5191, 0x51a0, 0x524e, 0x5243, 0x524a, 0x524d, 0x524c, 0x524b,
    +    0x5247, 0x52c7, 0x52c9, 0x52c3, 0x52c1, 0x530d, 0x5357, 0x537b,
    +    0x539a, 0x53db, 0x54ac, 0x54c0, 0x54a8, 0x54ce, 0x54c9, 0x54b8,
    +    0x54a6, 0x54b3, 0x54c7, 0x54c2, 0x54bd, 0x54aa, 0x54c1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x54c4, 0x54c8, 0x54af, 0x54ab, 0x54b1, 0x54bb, 0x54a9,
    +    0x54a7, 0x54bf, 0x56ff, 0x5782, 0x578b, 0x57a0, 0x57a3, 0x57a2,
    +    0x57ce, 0x57ae, 0x5793, 0x5955, 0x5951, 0x594f, 0x594e, 0x5950,
    +    0x59dc, 0x59d8, 0x59ff, 0x59e3, 0x59e8, 0x5a03, 0x59e5, 0x59ea,
    +    0x59da, 0x59e6, 0x5a01, 0x59fb, 0x5b69, 0x5ba3, 0x5ba6, 0x5ba4,
    +    0x5ba2, 0x5ba5, 0x5c01, 0x5c4e, 0x5c4f, 0x5c4d, 0x5c4b, 0x5cd9,
    +    0x5cd2, 0x5df7, 0x5e1d, 0x5e25, 0x5e1f, 0x5e7d, 0x5ea0, 0x5ea6,
    +    0x5efa, 0x5f08, 0x5f2d, 0x5f65, 0x5f88, 0x5f85, 0x5f8a, 0x5f8b,
    +    0x5f87, 0x5f8c, 0x5f89, 0x6012, 0x601d, 0x6020, 0x6025, 0x600e,
    +    0x6028, 0x604d, 0x6070, 0x6068, 0x6062, 0x6046, 0x6043, 0x606c,
    +    0x606b, 0x606a, 0x6064, 0x6241, 0x62dc, 0x6316, 0x6309, 0x62fc,
    +    0x62ed, 0x6301, 0x62ee, 0x62fd, 0x6307, 0x62f1, 0x62f7, 0x003f,
    +    /* lead byte ac */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x62ef, 0x62ec, 0x62fe, 0x62f4, 0x6311, 0x6302, 0x653f, 0x6545,
    +    0x65ab, 0x65bd, 0x65e2, 0x6625, 0x662d, 0x6620, 0x6627, 0x662f,
    +    0x661f, 0x6628, 0x6631, 0x6624, 0x66f7, 0x67ff, 0x67d3, 0x67f1,
    +    0x67d4, 0x67d0, 0x67ec, 0x67b6, 0x67af, 0x67f5, 0x67e9, 0x67ef,
    +    0x67c4, 0x67d1, 0x67b4, 0x67da, 0x67e5, 0x67b8, 0x67cf, 0x67de,
    +    0x67f3, 0x67b0, 0x67d9, 0x67e2, 0x67dd, 0x67d2, 0x6b6a, 0x6b83,
    +    0x6b86, 0x6bb5, 0x6bd2, 0x6bd7, 0x6c1f, 0x6cc9, 0x6d0b, 0x6d32,
    +    0x6d2a, 0x6d41, 0x6d25, 0x6d0c, 0x6d31, 0x6d1e, 0x6d17, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6d3b, 0x6d3d, 0x6d3e, 0x6d36, 0x6d1b, 0x6cf5, 0x6d39,
    +    0x6d27, 0x6d38, 0x6d29, 0x6d2e, 0x6d35, 0x6d0e, 0x6d2b, 0x70ab,
    +    0x70ba, 0x70b3, 0x70ac, 0x70af, 0x70ad, 0x70b8, 0x70ae, 0x70a4,
    +    0x7230, 0x7272, 0x726f, 0x7274, 0x72e9, 0x72e0, 0x72e1, 0x73b7,
    +    0x73ca, 0x73bb, 0x73b2, 0x73cd, 0x73c0, 0x73b3, 0x751a, 0x752d,
    +    0x754f, 0x754c, 0x754e, 0x754b, 0x75ab, 0x75a4, 0x75a5, 0x75a2,
    +    0x75a3, 0x7678, 0x7686, 0x7687, 0x7688, 0x76c8, 0x76c6, 0x76c3,
    +    0x76c5, 0x7701, 0x76f9, 0x76f8, 0x7709, 0x770b, 0x76fe, 0x76fc,
    +    0x7707, 0x77dc, 0x7802, 0x7814, 0x780c, 0x780d, 0x7946, 0x7949,
    +    0x7948, 0x7947, 0x79b9, 0x79ba, 0x79d1, 0x79d2, 0x79cb, 0x7a7f,
    +    0x7a81, 0x7aff, 0x7afd, 0x7c7d, 0x7d02, 0x7d05, 0x7d00, 0x7d09,
    +    0x7d07, 0x7d04, 0x7d06, 0x7f38, 0x7f8e, 0x7fbf, 0x8004, 0x003f,
    +    /* lead byte ad */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8010, 0x800d, 0x8011, 0x8036, 0x80d6, 0x80e5, 0x80da, 0x80c3,
    +    0x80c4, 0x80cc, 0x80e1, 0x80db, 0x80ce, 0x80de, 0x80e4, 0x80dd,
    +    0x81f4, 0x8222, 0x82e7, 0x8303, 0x8305, 0x82e3, 0x82db, 0x82e6,
    +    0x8304, 0x82e5, 0x8302, 0x8309, 0x82d2, 0x82d7, 0x82f1, 0x8301,
    +    0x82dc, 0x82d4, 0x82d1, 0x82de, 0x82d3, 0x82df, 0x82ef, 0x8306,
    +    0x8650, 0x8679, 0x867b, 0x867a, 0x884d, 0x886b, 0x8981, 0x89d4,
    +    0x8a08, 0x8a02, 0x8a03, 0x8c9e, 0x8ca0, 0x8d74, 0x8d73, 0x8db4,
    +    0x8ecd, 0x8ecc, 0x8ff0, 0x8fe6, 0x8fe2, 0x8fea, 0x8fe5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8fed, 0x8feb, 0x8fe4, 0x8fe8, 0x90ca, 0x90ce, 0x90c1,
    +    0x90c3, 0x914b, 0x914a, 0x91cd, 0x9582, 0x9650, 0x964b, 0x964c,
    +    0x964d, 0x9762, 0x9769, 0x97cb, 0x97ed, 0x97f3, 0x9801, 0x98a8,
    +    0x98db, 0x98df, 0x9996, 0x9999, 0x4e58, 0x4eb3, 0x500c, 0x500d,
    +    0x5023, 0x4fef, 0x5026, 0x5025, 0x4ff8, 0x5029, 0x5016, 0x5006,
    +    0x503c, 0x501f, 0x501a, 0x5012, 0x5011, 0x4ffa, 0x5000, 0x5014,
    +    0x5028, 0x4ff1, 0x5021, 0x500b, 0x5019, 0x5018, 0x4ff3, 0x4fee,
    +    0x502d, 0x502a, 0x4ffe, 0x502b, 0x5009, 0x517c, 0x51a4, 0x51a5,
    +    0x51a2, 0x51cd, 0x51cc, 0x51c6, 0x51cb, 0x5256, 0x525c, 0x5254,
    +    0x525b, 0x525d, 0x532a, 0x537f, 0x539f, 0x539d, 0x53df, 0x54e8,
    +    0x5510, 0x5501, 0x5537, 0x54fc, 0x54e5, 0x54f2, 0x5506, 0x54fa,
    +    0x5514, 0x54e9, 0x54ed, 0x54e1, 0x5509, 0x54ee, 0x54ea, 0x003f,
    +    /* lead byte ae */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x54e6, 0x5527, 0x5507, 0x54fd, 0x550f, 0x5703, 0x5704, 0x57c2,
    +    0x57d4, 0x57cb, 0x57c3, 0x5809, 0x590f, 0x5957, 0x5958, 0x595a,
    +    0x5a11, 0x5a18, 0x5a1c, 0x5a1f, 0x5a1b, 0x5a13, 0x59ec, 0x5a20,
    +    0x5a23, 0x5a29, 0x5a25, 0x5a0c, 0x5a09, 0x5b6b, 0x5c58, 0x5bb0,
    +    0x5bb3, 0x5bb6, 0x5bb4, 0x5bae, 0x5bb5, 0x5bb9, 0x5bb8, 0x5c04,
    +    0x5c51, 0x5c55, 0x5c50, 0x5ced, 0x5cfd, 0x5cfb, 0x5cea, 0x5ce8,
    +    0x5cf0, 0x5cf6, 0x5d01, 0x5cf4, 0x5dee, 0x5e2d, 0x5e2b, 0x5eab,
    +    0x5ead, 0x5ea7, 0x5f31, 0x5f92, 0x5f91, 0x5f90, 0x6059, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6063, 0x6065, 0x6050, 0x6055, 0x606d, 0x6069, 0x606f,
    +    0x6084, 0x609f, 0x609a, 0x608d, 0x6094, 0x608c, 0x6085, 0x6096,
    +    0x6247, 0x62f3, 0x6308, 0x62ff, 0x634e, 0x633e, 0x632f, 0x6355,
    +    0x6342, 0x6346, 0x634f, 0x6349, 0x633a, 0x6350, 0x633d, 0x632a,
    +    0x632b, 0x6328, 0x634d, 0x634c, 0x6548, 0x6549, 0x6599, 0x65c1,
    +    0x65c5, 0x6642, 0x6649, 0x664f, 0x6643, 0x6652, 0x664c, 0x6645,
    +    0x6641, 0x66f8, 0x6714, 0x6715, 0x6717, 0x6821, 0x6838, 0x6848,
    +    0x6846, 0x6853, 0x6839, 0x6842, 0x6854, 0x6829, 0x68b3, 0x6817,
    +    0x684c, 0x6851, 0x683d, 0x67f4, 0x6850, 0x6840, 0x683c, 0x6843,
    +    0x682a, 0x6845, 0x6813, 0x6818, 0x6841, 0x6b8a, 0x6b89, 0x6bb7,
    +    0x6c23, 0x6c27, 0x6c28, 0x6c26, 0x6c24, 0x6cf0, 0x6d6a, 0x6d95,
    +    0x6d88, 0x6d87, 0x6d66, 0x6d78, 0x6d77, 0x6d59, 0x6d93, 0x003f,
    +    /* lead byte af */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6d6c, 0x6d89, 0x6d6e, 0x6d5a, 0x6d74, 0x6d69, 0x6d8c, 0x6d8a,
    +    0x6d79, 0x6d85, 0x6d65, 0x6d94, 0x70ca, 0x70d8, 0x70e4, 0x70d9,
    +    0x70c8, 0x70cf, 0x7239, 0x7279, 0x72fc, 0x72f9, 0x72fd, 0x72f8,
    +    0x72f7, 0x7386, 0x73ed, 0x7409, 0x73ee, 0x73e0, 0x73ea, 0x73de,
    +    0x7554, 0x755d, 0x755c, 0x755a, 0x7559, 0x75be, 0x75c5, 0x75c7,
    +    0x75b2, 0x75b3, 0x75bd, 0x75bc, 0x75b9, 0x75c2, 0x75b8, 0x768b,
    +    0x76b0, 0x76ca, 0x76cd, 0x76ce, 0x7729, 0x771f, 0x7720, 0x7728,
    +    0x77e9, 0x7830, 0x7827, 0x7838, 0x781d, 0x7834, 0x7837, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7825, 0x782d, 0x7820, 0x781f, 0x7832, 0x7955, 0x7950,
    +    0x7960, 0x795f, 0x7956, 0x795e, 0x795d, 0x7957, 0x795a, 0x79e4,
    +    0x79e3, 0x79e7, 0x79df, 0x79e6, 0x79e9, 0x79d8, 0x7a84, 0x7a88,
    +    0x7ad9, 0x7b06, 0x7b11, 0x7c89, 0x7d21, 0x7d17, 0x7d0b, 0x7d0a,
    +    0x7d20, 0x7d22, 0x7d14, 0x7d10, 0x7d15, 0x7d1a, 0x7d1c, 0x7d0d,
    +    0x7d19, 0x7d1b, 0x7f3a, 0x7f5f, 0x7f94, 0x7fc5, 0x7fc1, 0x8006,
    +    0x8018, 0x8015, 0x8019, 0x8017, 0x803d, 0x803f, 0x80f1, 0x8102,
    +    0x80f0, 0x8105, 0x80ed, 0x80f4, 0x8106, 0x80f8, 0x80f3, 0x8108,
    +    0x80fd, 0x810a, 0x80fc, 0x80ef, 0x81ed, 0x81ec, 0x8200, 0x8210,
    +    0x822a, 0x822b, 0x8228, 0x822c, 0x82bb, 0x832b, 0x8352, 0x8354,
    +    0x834a, 0x8338, 0x8350, 0x8349, 0x8335, 0x8334, 0x834f, 0x8332,
    +    0x8339, 0x8336, 0x8317, 0x8340, 0x8331, 0x8328, 0x8343, 0x003f,
    +    /* lead byte b0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8654, 0x868a, 0x86aa, 0x8693, 0x86a4, 0x86a9, 0x868c, 0x86a3,
    +    0x869c, 0x8870, 0x8877, 0x8881, 0x8882, 0x887d, 0x8879, 0x8a18,
    +    0x8a10, 0x8a0e, 0x8a0c, 0x8a15, 0x8a0a, 0x8a17, 0x8a13, 0x8a16,
    +    0x8a0f, 0x8a11, 0x8c48, 0x8c7a, 0x8c79, 0x8ca1, 0x8ca2, 0x8d77,
    +    0x8eac, 0x8ed2, 0x8ed4, 0x8ecf, 0x8fb1, 0x9001, 0x9006, 0x8ff7,
    +    0x9000, 0x8ffa, 0x8ff4, 0x9003, 0x8ffd, 0x9005, 0x8ff8, 0x9095,
    +    0x90e1, 0x90dd, 0x90e2, 0x9152, 0x914d, 0x914c, 0x91d8, 0x91dd,
    +    0x91d7, 0x91dc, 0x91d9, 0x9583, 0x9662, 0x9663, 0x9661, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x965b, 0x965d, 0x9664, 0x9658, 0x965e, 0x96bb, 0x98e2,
    +    0x99ac, 0x9aa8, 0x9ad8, 0x9b25, 0x9b32, 0x9b3c, 0x4e7e, 0x507a,
    +    0x507d, 0x505c, 0x5047, 0x5043, 0x504c, 0x505a, 0x5049, 0x5065,
    +    0x5076, 0x504e, 0x5055, 0x5075, 0x5074, 0x5077, 0x504f, 0x500f,
    +    0x506f, 0x506d, 0x515c, 0x5195, 0x51f0, 0x526a, 0x526f, 0x52d2,
    +    0x52d9, 0x52d8, 0x52d5, 0x5310, 0x530f, 0x5319, 0x533f, 0x5340,
    +    0x533e, 0x53c3, 0x66fc, 0x5546, 0x556a, 0x5566, 0x5544, 0x555e,
    +    0x5561, 0x5543, 0x554a, 0x5531, 0x5556, 0x554f, 0x5555, 0x552f,
    +    0x5564, 0x5538, 0x552e, 0x555c, 0x552c, 0x5563, 0x5533, 0x5541,
    +    0x5557, 0x5708, 0x570b, 0x5709, 0x57df, 0x5805, 0x580a, 0x5806,
    +    0x57e0, 0x57e4, 0x57fa, 0x5802, 0x5835, 0x57f7, 0x57f9, 0x5920,
    +    0x5962, 0x5a36, 0x5a41, 0x5a49, 0x5a66, 0x5a6a, 0x5a40, 0x003f,
    +    /* lead byte b1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5a3c, 0x5a62, 0x5a5a, 0x5a46, 0x5a4a, 0x5b70, 0x5bc7, 0x5bc5,
    +    0x5bc4, 0x5bc2, 0x5bbf, 0x5bc6, 0x5c09, 0x5c08, 0x5c07, 0x5c60,
    +    0x5c5c, 0x5c5d, 0x5d07, 0x5d06, 0x5d0e, 0x5d1b, 0x5d16, 0x5d22,
    +    0x5d11, 0x5d29, 0x5d14, 0x5d19, 0x5d24, 0x5d27, 0x5d17, 0x5de2,
    +    0x5e38, 0x5e36, 0x5e33, 0x5e37, 0x5eb7, 0x5eb8, 0x5eb6, 0x5eb5,
    +    0x5ebe, 0x5f35, 0x5f37, 0x5f57, 0x5f6c, 0x5f69, 0x5f6b, 0x5f97,
    +    0x5f99, 0x5f9e, 0x5f98, 0x5fa1, 0x5fa0, 0x5f9c, 0x607f, 0x60a3,
    +    0x6089, 0x60a0, 0x60a8, 0x60cb, 0x60b4, 0x60e6, 0x60bd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x60c5, 0x60bb, 0x60b5, 0x60dc, 0x60bc, 0x60d8, 0x60d5,
    +    0x60c6, 0x60df, 0x60b8, 0x60da, 0x60c7, 0x621a, 0x621b, 0x6248,
    +    0x63a0, 0x63a7, 0x6372, 0x6396, 0x63a2, 0x63a5, 0x6377, 0x6367,
    +    0x6398, 0x63aa, 0x6371, 0x63a9, 0x6389, 0x6383, 0x639b, 0x636b,
    +    0x63a8, 0x6384, 0x6388, 0x6399, 0x63a1, 0x63ac, 0x6392, 0x638f,
    +    0x6380, 0x637b, 0x6369, 0x6368, 0x637a, 0x655d, 0x6556, 0x6551,
    +    0x6559, 0x6557, 0x555f, 0x654f, 0x6558, 0x6555, 0x6554, 0x659c,
    +    0x659b, 0x65ac, 0x65cf, 0x65cb, 0x65cc, 0x65ce, 0x665d, 0x665a,
    +    0x6664, 0x6668, 0x6666, 0x665e, 0x66f9, 0x52d7, 0x671b, 0x6881,
    +    0x68af, 0x68a2, 0x6893, 0x68b5, 0x687f, 0x6876, 0x68b1, 0x68a7,
    +    0x6897, 0x68b0, 0x6883, 0x68c4, 0x68ad, 0x6886, 0x6885, 0x6894,
    +    0x689d, 0x68a8, 0x689f, 0x68a1, 0x6882, 0x6b32, 0x6bba, 0x003f,
    +    /* lead byte b2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6beb, 0x6bec, 0x6c2b, 0x6d8e, 0x6dbc, 0x6df3, 0x6dd9, 0x6db2,
    +    0x6de1, 0x6dcc, 0x6de4, 0x6dfb, 0x6dfa, 0x6e05, 0x6dc7, 0x6dcb,
    +    0x6daf, 0x6dd1, 0x6dae, 0x6dde, 0x6df9, 0x6db8, 0x6df7, 0x6df5,
    +    0x6dc5, 0x6dd2, 0x6e1a, 0x6db5, 0x6dda, 0x6deb, 0x6dd8, 0x6dea,
    +    0x6df1, 0x6dee, 0x6de8, 0x6dc6, 0x6dc4, 0x6daa, 0x6dec, 0x6dbf,
    +    0x6de6, 0x70f9, 0x7109, 0x710a, 0x70fd, 0x70ef, 0x723d, 0x727d,
    +    0x7281, 0x731c, 0x731b, 0x7316, 0x7313, 0x7319, 0x7387, 0x7405,
    +    0x740a, 0x7403, 0x7406, 0x73fe, 0x740d, 0x74e0, 0x74f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x74f7, 0x751c, 0x7522, 0x7565, 0x7566, 0x7562, 0x7570,
    +    0x758f, 0x75d4, 0x75d5, 0x75b5, 0x75ca, 0x75cd, 0x768e, 0x76d4,
    +    0x76d2, 0x76db, 0x7737, 0x773e, 0x773c, 0x7736, 0x7738, 0x773a,
    +    0x786b, 0x7843, 0x784e, 0x7965, 0x7968, 0x796d, 0x79fb, 0x7a92,
    +    0x7a95, 0x7b20, 0x7b28, 0x7b1b, 0x7b2c, 0x7b26, 0x7b19, 0x7b1e,
    +    0x7b2e, 0x7c92, 0x7c97, 0x7c95, 0x7d46, 0x7d43, 0x7d71, 0x7d2e,
    +    0x7d39, 0x7d3c, 0x7d40, 0x7d30, 0x7d33, 0x7d44, 0x7d2f, 0x7d42,
    +    0x7d32, 0x7d31, 0x7f3d, 0x7f9e, 0x7f9a, 0x7fcc, 0x7fce, 0x7fd2,
    +    0x801c, 0x804a, 0x8046, 0x812f, 0x8116, 0x8123, 0x812b, 0x8129,
    +    0x8130, 0x8124, 0x8202, 0x8235, 0x8237, 0x8236, 0x8239, 0x838e,
    +    0x839e, 0x8398, 0x8378, 0x83a2, 0x8396, 0x83bd, 0x83ab, 0x8392,
    +    0x838a, 0x8393, 0x8389, 0x83a0, 0x8377, 0x837b, 0x837c, 0x003f,
    +    /* lead byte b3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8386, 0x83a7, 0x8655, 0x5f6a, 0x86c7, 0x86c0, 0x86b6, 0x86c4,
    +    0x86b5, 0x86c6, 0x86cb, 0x86b1, 0x86af, 0x86c9, 0x8853, 0x889e,
    +    0x8888, 0x88ab, 0x8892, 0x8896, 0x888d, 0x888b, 0x8993, 0x898f,
    +    0x8a2a, 0x8a1d, 0x8a23, 0x8a25, 0x8a31, 0x8a2d, 0x8a1f, 0x8a1b,
    +    0x8a22, 0x8c49, 0x8c5a, 0x8ca9, 0x8cac, 0x8cab, 0x8ca8, 0x8caa,
    +    0x8ca7, 0x8d67, 0x8d66, 0x8dbe, 0x8dba, 0x8edb, 0x8edf, 0x9019,
    +    0x900d, 0x901a, 0x9017, 0x9023, 0x901f, 0x901d, 0x9010, 0x9015,
    +    0x901e, 0x9020, 0x900f, 0x9022, 0x9016, 0x901b, 0x9014, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x90e8, 0x90ed, 0x90fd, 0x9157, 0x91ce, 0x91f5, 0x91e6,
    +    0x91e3, 0x91e7, 0x91ed, 0x91e9, 0x9589, 0x966a, 0x9675, 0x9673,
    +    0x9678, 0x9670, 0x9674, 0x9676, 0x9677, 0x966c, 0x96c0, 0x96ea,
    +    0x96e9, 0x7ae0, 0x7adf, 0x9802, 0x9803, 0x9b5a, 0x9ce5, 0x9e75,
    +    0x9e7f, 0x9ea5, 0x9ebb, 0x50a2, 0x508d, 0x5085, 0x5099, 0x5091,
    +    0x5080, 0x5096, 0x5098, 0x509a, 0x6700, 0x51f1, 0x5272, 0x5274,
    +    0x5275, 0x5269, 0x52de, 0x52dd, 0x52db, 0x535a, 0x53a5, 0x557b,
    +    0x5580, 0x55a7, 0x557c, 0x558a, 0x559d, 0x5598, 0x5582, 0x559c,
    +    0x55aa, 0x5594, 0x5587, 0x558b, 0x5583, 0x55b3, 0x55ae, 0x559f,
    +    0x553e, 0x55b2, 0x559a, 0x55bb, 0x55ac, 0x55b1, 0x557e, 0x5589,
    +    0x55ab, 0x5599, 0x570d, 0x582f, 0x582a, 0x5834, 0x5824, 0x5830,
    +    0x5831, 0x5821, 0x581d, 0x5820, 0x58f9, 0x58fa, 0x5960, 0x003f,
    +    /* lead byte b4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5a77, 0x5a9a, 0x5a7f, 0x5a92, 0x5a9b, 0x5aa7, 0x5b73, 0x5b71,
    +    0x5bd2, 0x5bcc, 0x5bd3, 0x5bd0, 0x5c0a, 0x5c0b, 0x5c31, 0x5d4c,
    +    0x5d50, 0x5d34, 0x5d47, 0x5dfd, 0x5e45, 0x5e3d, 0x5e40, 0x5e43,
    +    0x5e7e, 0x5eca, 0x5ec1, 0x5ec2, 0x5ec4, 0x5f3c, 0x5f6d, 0x5fa9,
    +    0x5faa, 0x5fa8, 0x60d1, 0x60e1, 0x60b2, 0x60b6, 0x60e0, 0x611c,
    +    0x6123, 0x60fa, 0x6115, 0x60f0, 0x60fb, 0x60f4, 0x6168, 0x60f1,
    +    0x610e, 0x60f6, 0x6109, 0x6100, 0x6112, 0x621f, 0x6249, 0x63a3,
    +    0x638c, 0x63cf, 0x63c0, 0x63e9, 0x63c9, 0x63c6, 0x63cd, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x63d2, 0x63e3, 0x63d0, 0x63e1, 0x63d6, 0x63ed, 0x63ee,
    +    0x6376, 0x63f4, 0x63ea, 0x63db, 0x6452, 0x63da, 0x63f9, 0x655e,
    +    0x6566, 0x6562, 0x6563, 0x6591, 0x6590, 0x65af, 0x666e, 0x6670,
    +    0x6674, 0x6676, 0x666f, 0x6691, 0x667a, 0x667e, 0x6677, 0x66fe,
    +    0x66ff, 0x671f, 0x671d, 0x68fa, 0x68d5, 0x68e0, 0x68d8, 0x68d7,
    +    0x6905, 0x68df, 0x68f5, 0x68ee, 0x68e7, 0x68f9, 0x68d2, 0x68f2,
    +    0x68e3, 0x68cb, 0x68cd, 0x690d, 0x6912, 0x690e, 0x68c9, 0x68da,
    +    0x696e, 0x68fb, 0x6b3e, 0x6b3a, 0x6b3d, 0x6b98, 0x6b96, 0x6bbc,
    +    0x6bef, 0x6c2e, 0x6c2f, 0x6c2c, 0x6e2f, 0x6e38, 0x6e54, 0x6e21,
    +    0x6e32, 0x6e67, 0x6e4a, 0x6e20, 0x6e25, 0x6e23, 0x6e1b, 0x6e5b,
    +    0x6e58, 0x6e24, 0x6e56, 0x6e6e, 0x6e2d, 0x6e26, 0x6e6f, 0x6e34,
    +    0x6e4d, 0x6e3a, 0x6e2c, 0x6e43, 0x6e1d, 0x6e3e, 0x6ecb, 0x003f,
    +    /* lead byte b5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6e89, 0x6e19, 0x6e4e, 0x6e63, 0x6e44, 0x6e72, 0x6e69, 0x6e5f,
    +    0x7119, 0x711a, 0x7126, 0x7130, 0x7121, 0x7136, 0x716e, 0x711c,
    +    0x724c, 0x7284, 0x7280, 0x7336, 0x7325, 0x7334, 0x7329, 0x743a,
    +    0x742a, 0x7433, 0x7422, 0x7425, 0x7435, 0x7436, 0x7434, 0x742f,
    +    0x741b, 0x7426, 0x7428, 0x7525, 0x7526, 0x756b, 0x756a, 0x75e2,
    +    0x75db, 0x75e3, 0x75d9, 0x75d8, 0x75de, 0x75e0, 0x767b, 0x767c,
    +    0x7696, 0x7693, 0x76b4, 0x76dc, 0x774f, 0x77ed, 0x785d, 0x786c,
    +    0x786f, 0x7a0d, 0x7a08, 0x7a0b, 0x7a05, 0x7a00, 0x7a98, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7a97, 0x7a96, 0x7ae5, 0x7ae3, 0x7b49, 0x7b56, 0x7b46,
    +    0x7b50, 0x7b52, 0x7b54, 0x7b4d, 0x7b4b, 0x7b4f, 0x7b51, 0x7c9f,
    +    0x7ca5, 0x7d5e, 0x7d50, 0x7d68, 0x7d55, 0x7d2b, 0x7d6e, 0x7d72,
    +    0x7d61, 0x7d66, 0x7d62, 0x7d70, 0x7d73, 0x5584, 0x7fd4, 0x7fd5,
    +    0x800b, 0x8052, 0x8085, 0x8155, 0x8154, 0x814b, 0x8151, 0x814e,
    +    0x8139, 0x8146, 0x813e, 0x814c, 0x8153, 0x8174, 0x8212, 0x821c,
    +    0x83e9, 0x8403, 0x83f8, 0x840d, 0x83e0, 0x83c5, 0x840b, 0x83c1,
    +    0x83ef, 0x83f1, 0x83f4, 0x8457, 0x840a, 0x83f0, 0x840c, 0x83cc,
    +    0x83fd, 0x83f2, 0x83ca, 0x8438, 0x840e, 0x8404, 0x83dc, 0x8407,
    +    0x83d4, 0x83df, 0x865b, 0x86df, 0x86d9, 0x86ed, 0x86d4, 0x86db,
    +    0x86e4, 0x86d0, 0x86de, 0x8857, 0x88c1, 0x88c2, 0x88b1, 0x8983,
    +    0x8996, 0x8a3b, 0x8a60, 0x8a55, 0x8a5e, 0x8a3c, 0x8a41, 0x003f,
    +    /* lead byte b6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8a54, 0x8a5b, 0x8a50, 0x8a46, 0x8a34, 0x8a3a, 0x8a36, 0x8a56,
    +    0x8c61, 0x8c82, 0x8caf, 0x8cbc, 0x8cb3, 0x8cbd, 0x8cc1, 0x8cbb,
    +    0x8cc0, 0x8cb4, 0x8cb7, 0x8cb6, 0x8cbf, 0x8cb8, 0x8d8a, 0x8d85,
    +    0x8d81, 0x8dce, 0x8ddd, 0x8dcb, 0x8dda, 0x8dd1, 0x8dcc, 0x8ddb,
    +    0x8dc6, 0x8efb, 0x8ef8, 0x8efc, 0x8f9c, 0x902e, 0x9035, 0x9031,
    +    0x9038, 0x9032, 0x9036, 0x9102, 0x90f5, 0x9109, 0x90fe, 0x9163,
    +    0x9165, 0x91cf, 0x9214, 0x9215, 0x9223, 0x9209, 0x921e, 0x920d,
    +    0x9210, 0x9207, 0x9211, 0x9594, 0x958f, 0x958b, 0x9591, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9593, 0x9592, 0x958e, 0x968a, 0x968e, 0x968b, 0x967d,
    +    0x9685, 0x9686, 0x968d, 0x9672, 0x9684, 0x96c1, 0x96c5, 0x96c4,
    +    0x96c6, 0x96c7, 0x96ef, 0x96f2, 0x97cc, 0x9805, 0x9806, 0x9808,
    +    0x98e7, 0x98ea, 0x98ef, 0x98e9, 0x98f2, 0x98ed, 0x99ae, 0x99ad,
    +    0x9ec3, 0x9ecd, 0x9ed1, 0x4e82, 0x50ad, 0x50b5, 0x50b2, 0x50b3,
    +    0x50c5, 0x50be, 0x50ac, 0x50b7, 0x50bb, 0x50af, 0x50c7, 0x527f,
    +    0x5277, 0x527d, 0x52df, 0x52e6, 0x52e4, 0x52e2, 0x52e3, 0x532f,
    +    0x55df, 0x55e8, 0x55d3, 0x55e6, 0x55ce, 0x55dc, 0x55c7, 0x55d1,
    +    0x55e3, 0x55e4, 0x55ef, 0x55da, 0x55e1, 0x55c5, 0x55c6, 0x55e5,
    +    0x55c9, 0x5712, 0x5713, 0x585e, 0x5851, 0x5858, 0x5857, 0x585a,
    +    0x5854, 0x586b, 0x584c, 0x586d, 0x584a, 0x5862, 0x5852, 0x584b,
    +    0x5967, 0x5ac1, 0x5ac9, 0x5acc, 0x5abe, 0x5abd, 0x5abc, 0x003f,
    +    /* lead byte b7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5ab3, 0x5ac2, 0x5ab2, 0x5d69, 0x5d6f, 0x5e4c, 0x5e79, 0x5ec9,
    +    0x5ec8, 0x5f12, 0x5f59, 0x5fac, 0x5fae, 0x611a, 0x610f, 0x6148,
    +    0x611f, 0x60f3, 0x611b, 0x60f9, 0x6101, 0x6108, 0x614e, 0x614c,
    +    0x6144, 0x614d, 0x613e, 0x6134, 0x6127, 0x610d, 0x6106, 0x6137,
    +    0x6221, 0x6222, 0x6413, 0x643e, 0x641e, 0x642a, 0x642d, 0x643d,
    +    0x642c, 0x640f, 0x641c, 0x6414, 0x640d, 0x6436, 0x6416, 0x6417,
    +    0x6406, 0x656c, 0x659f, 0x65b0, 0x6697, 0x6689, 0x6687, 0x6688,
    +    0x6696, 0x6684, 0x6698, 0x668d, 0x6703, 0x6994, 0x696d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x695a, 0x6977, 0x6960, 0x6954, 0x6975, 0x6930, 0x6982,
    +    0x694a, 0x6968, 0x696b, 0x695e, 0x6953, 0x6979, 0x6986, 0x695d,
    +    0x6963, 0x695b, 0x6b47, 0x6b72, 0x6bc0, 0x6bbf, 0x6bd3, 0x6bfd,
    +    0x6ea2, 0x6eaf, 0x6ed3, 0x6eb6, 0x6ec2, 0x6e90, 0x6e9d, 0x6ec7,
    +    0x6ec5, 0x6ea5, 0x6e98, 0x6ebc, 0x6eba, 0x6eab, 0x6ed1, 0x6e96,
    +    0x6e9c, 0x6ec4, 0x6ed4, 0x6eaa, 0x6ea7, 0x6eb4, 0x714e, 0x7159,
    +    0x7169, 0x7164, 0x7149, 0x7167, 0x715c, 0x716c, 0x7166, 0x714c,
    +    0x7165, 0x715e, 0x7146, 0x7168, 0x7156, 0x723a, 0x7252, 0x7337,
    +    0x7345, 0x733f, 0x733e, 0x746f, 0x745a, 0x7455, 0x745f, 0x745e,
    +    0x7441, 0x743f, 0x7459, 0x745b, 0x745c, 0x7576, 0x7578, 0x7600,
    +    0x75f0, 0x7601, 0x75f2, 0x75f1, 0x75fa, 0x75ff, 0x75f4, 0x75f3,
    +    0x76de, 0x76df, 0x775b, 0x776b, 0x7766, 0x775e, 0x7763, 0x003f,
    +    /* lead byte b8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7779, 0x776a, 0x776c, 0x775c, 0x7765, 0x7768, 0x7762, 0x77ee,
    +    0x788e, 0x78b0, 0x7897, 0x7898, 0x788c, 0x7889, 0x787c, 0x7891,
    +    0x7893, 0x787f, 0x797a, 0x797f, 0x7981, 0x842c, 0x79bd, 0x7a1c,
    +    0x7a1a, 0x7a20, 0x7a14, 0x7a1f, 0x7a1e, 0x7a9f, 0x7aa0, 0x7b77,
    +    0x7bc0, 0x7b60, 0x7b6e, 0x7b67, 0x7cb1, 0x7cb3, 0x7cb5, 0x7d93,
    +    0x7d79, 0x7d91, 0x7d81, 0x7d8f, 0x7d5b, 0x7f6e, 0x7f69, 0x7f6a,
    +    0x7f72, 0x7fa9, 0x7fa8, 0x7fa4, 0x8056, 0x8058, 0x8086, 0x8084,
    +    0x8171, 0x8170, 0x8178, 0x8165, 0x816e, 0x8173, 0x816b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8179, 0x817a, 0x8166, 0x8205, 0x8247, 0x8482, 0x8477,
    +    0x843d, 0x8431, 0x8475, 0x8466, 0x846b, 0x8449, 0x846c, 0x845b,
    +    0x843c, 0x8435, 0x8461, 0x8463, 0x8469, 0x846d, 0x8446, 0x865e,
    +    0x865c, 0x865f, 0x86f9, 0x8713, 0x8708, 0x8707, 0x8700, 0x86fe,
    +    0x86fb, 0x8702, 0x8703, 0x8706, 0x870a, 0x8859, 0x88df, 0x88d4,
    +    0x88d9, 0x88dc, 0x88d8, 0x88dd, 0x88e1, 0x88ca, 0x88d5, 0x88d2,
    +    0x899c, 0x89e3, 0x8a6b, 0x8a72, 0x8a73, 0x8a66, 0x8a69, 0x8a70,
    +    0x8a87, 0x8a7c, 0x8a63, 0x8aa0, 0x8a71, 0x8a85, 0x8a6d, 0x8a62,
    +    0x8a6e, 0x8a6c, 0x8a79, 0x8a7b, 0x8a3e, 0x8a68, 0x8c62, 0x8c8a,
    +    0x8c89, 0x8cca, 0x8cc7, 0x8cc8, 0x8cc4, 0x8cb2, 0x8cc3, 0x8cc2,
    +    0x8cc5, 0x8de1, 0x8ddf, 0x8de8, 0x8def, 0x8df3, 0x8dfa, 0x8dea,
    +    0x8de4, 0x8de6, 0x8eb2, 0x8f03, 0x8f09, 0x8efe, 0x8f0a, 0x003f,
    +    /* lead byte b9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8f9f, 0x8fb2, 0x904b, 0x904a, 0x9053, 0x9042, 0x9054, 0x903c,
    +    0x9055, 0x9050, 0x9047, 0x904f, 0x904e, 0x904d, 0x9051, 0x903e,
    +    0x9041, 0x9112, 0x9117, 0x916c, 0x916a, 0x9169, 0x91c9, 0x9237,
    +    0x9257, 0x9238, 0x923d, 0x9240, 0x923e, 0x925b, 0x924b, 0x9264,
    +    0x9251, 0x9234, 0x9249, 0x924d, 0x9245, 0x9239, 0x923f, 0x925a,
    +    0x9598, 0x9698, 0x9694, 0x9695, 0x96cd, 0x96cb, 0x96c9, 0x96ca,
    +    0x96f7, 0x96fb, 0x96f9, 0x96f6, 0x9756, 0x9774, 0x9776, 0x9810,
    +    0x9811, 0x9813, 0x980a, 0x9812, 0x980c, 0x98fc, 0x98f4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x98fd, 0x98fe, 0x99b3, 0x99b1, 0x99b4, 0x9ae1, 0x9ce9,
    +    0x9e82, 0x9f0e, 0x9f13, 0x9f20, 0x50e7, 0x50ee, 0x50e5, 0x50d6,
    +    0x50ed, 0x50da, 0x50d5, 0x50cf, 0x50d1, 0x50f1, 0x50ce, 0x50e9,
    +    0x5162, 0x51f3, 0x5283, 0x5282, 0x5331, 0x53ad, 0x55fe, 0x5600,
    +    0x561b, 0x5617, 0x55fd, 0x5614, 0x5606, 0x5609, 0x560d, 0x560e,
    +    0x55f7, 0x5616, 0x561f, 0x5608, 0x5610, 0x55f6, 0x5718, 0x5716,
    +    0x5875, 0x587e, 0x5883, 0x5893, 0x588a, 0x5879, 0x5885, 0x587d,
    +    0x58fd, 0x5925, 0x5922, 0x5924, 0x596a, 0x5969, 0x5ae1, 0x5ae6,
    +    0x5ae9, 0x5ad7, 0x5ad6, 0x5ad8, 0x5ae3, 0x5b75, 0x5bde, 0x5be7,
    +    0x5be1, 0x5be5, 0x5be6, 0x5be8, 0x5be2, 0x5be4, 0x5bdf, 0x5c0d,
    +    0x5c62, 0x5d84, 0x5d87, 0x5e5b, 0x5e63, 0x5e55, 0x5e57, 0x5e54,
    +    0x5ed3, 0x5ed6, 0x5f0a, 0x5f46, 0x5f70, 0x5fb9, 0x6147, 0x003f,
    +    /* lead byte ba */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x613f, 0x614b, 0x6177, 0x6162, 0x6163, 0x615f, 0x615a, 0x6158,
    +    0x6175, 0x622a, 0x6487, 0x6458, 0x6454, 0x64a4, 0x6478, 0x645f,
    +    0x647a, 0x6451, 0x6467, 0x6434, 0x646d, 0x647b, 0x6572, 0x65a1,
    +    0x65d7, 0x65d6, 0x66a2, 0x66a8, 0x669d, 0x699c, 0x69a8, 0x6995,
    +    0x69c1, 0x69ae, 0x69d3, 0x69cb, 0x699b, 0x69b7, 0x69bb, 0x69ab,
    +    0x69b4, 0x69d0, 0x69cd, 0x69ad, 0x69cc, 0x69a6, 0x69c3, 0x69a3,
    +    0x6b49, 0x6b4c, 0x6c33, 0x6f33, 0x6f14, 0x6efe, 0x6f13, 0x6ef4,
    +    0x6f29, 0x6f3e, 0x6f20, 0x6f2c, 0x6f0f, 0x6f02, 0x6f22, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6eff, 0x6eef, 0x6f06, 0x6f31, 0x6f38, 0x6f32, 0x6f23,
    +    0x6f15, 0x6f2b, 0x6f2f, 0x6f88, 0x6f2a, 0x6eec, 0x6f01, 0x6ef2,
    +    0x6ecc, 0x6ef7, 0x7194, 0x7199, 0x717d, 0x718a, 0x7184, 0x7192,
    +    0x723e, 0x7292, 0x7296, 0x7344, 0x7350, 0x7464, 0x7463, 0x746a,
    +    0x7470, 0x746d, 0x7504, 0x7591, 0x7627, 0x760d, 0x760b, 0x7609,
    +    0x7613, 0x76e1, 0x76e3, 0x7784, 0x777d, 0x777f, 0x7761, 0x78c1,
    +    0x789f, 0x78a7, 0x78b3, 0x78a9, 0x78a3, 0x798e, 0x798f, 0x798d,
    +    0x7a2e, 0x7a31, 0x7aaa, 0x7aa9, 0x7aed, 0x7aef, 0x7ba1, 0x7b95,
    +    0x7b8b, 0x7b75, 0x7b97, 0x7b9d, 0x7b94, 0x7b8f, 0x7bb8, 0x7b87,
    +    0x7b84, 0x7cb9, 0x7cbd, 0x7cbe, 0x7dbb, 0x7db0, 0x7d9c, 0x7dbd,
    +    0x7dbe, 0x7da0, 0x7dca, 0x7db4, 0x7db2, 0x7db1, 0x7dba, 0x7da2,
    +    0x7dbf, 0x7db5, 0x7db8, 0x7dad, 0x7dd2, 0x7dc7, 0x7dac, 0x003f,
    +    /* lead byte bb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7f70, 0x7fe0, 0x7fe1, 0x7fdf, 0x805e, 0x805a, 0x8087, 0x8150,
    +    0x8180, 0x818f, 0x8188, 0x818a, 0x817f, 0x8182, 0x81e7, 0x81fa,
    +    0x8207, 0x8214, 0x821e, 0x824b, 0x84c9, 0x84bf, 0x84c6, 0x84c4,
    +    0x8499, 0x849e, 0x84b2, 0x849c, 0x84cb, 0x84b8, 0x84c0, 0x84d3,
    +    0x8490, 0x84bc, 0x84d1, 0x84ca, 0x873f, 0x871c, 0x873b, 0x8722,
    +    0x8725, 0x8734, 0x8718, 0x8755, 0x8737, 0x8729, 0x88f3, 0x8902,
    +    0x88f4, 0x88f9, 0x88f8, 0x88fd, 0x88e8, 0x891a, 0x88ef, 0x8aa6,
    +    0x8a8c, 0x8a9e, 0x8aa3, 0x8a8d, 0x8aa1, 0x8a93, 0x8aa4, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8aaa, 0x8aa5, 0x8aa8, 0x8a98, 0x8a91, 0x8a9a, 0x8aa7,
    +    0x8c6a, 0x8c8d, 0x8c8c, 0x8cd3, 0x8cd1, 0x8cd2, 0x8d6b, 0x8d99,
    +    0x8d95, 0x8dfc, 0x8f14, 0x8f12, 0x8f15, 0x8f13, 0x8fa3, 0x9060,
    +    0x9058, 0x905c, 0x9063, 0x9059, 0x905e, 0x9062, 0x905d, 0x905b,
    +    0x9119, 0x9118, 0x911e, 0x9175, 0x9178, 0x9177, 0x9174, 0x9278,
    +    0x9280, 0x9285, 0x9298, 0x9296, 0x927b, 0x9293, 0x929c, 0x92a8,
    +    0x927c, 0x9291, 0x95a1, 0x95a8, 0x95a9, 0x95a3, 0x95a5, 0x95a4,
    +    0x9699, 0x969c, 0x969b, 0x96cc, 0x96d2, 0x9700, 0x977c, 0x9785,
    +    0x97f6, 0x9817, 0x9818, 0x98af, 0x98b1, 0x9903, 0x9905, 0x990c,
    +    0x9909, 0x99c1, 0x9aaf, 0x9ab0, 0x9ae6, 0x9b41, 0x9b42, 0x9cf4,
    +    0x9cf6, 0x9cf3, 0x9ebc, 0x9f3b, 0x9f4a, 0x5104, 0x5100, 0x50fb,
    +    0x50f5, 0x50f9, 0x5102, 0x5108, 0x5109, 0x5105, 0x51dc, 0x003f,
    +    /* lead byte bc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5287, 0x5288, 0x5289, 0x528d, 0x528a, 0x52f0, 0x53b2, 0x562e,
    +    0x563b, 0x5639, 0x5632, 0x563f, 0x5634, 0x5629, 0x5653, 0x564e,
    +    0x5657, 0x5674, 0x5636, 0x562f, 0x5630, 0x5880, 0x589f, 0x589e,
    +    0x58b3, 0x589c, 0x58ae, 0x58a9, 0x58a6, 0x596d, 0x5b09, 0x5afb,
    +    0x5b0b, 0x5af5, 0x5b0c, 0x5b08, 0x5bee, 0x5bec, 0x5be9, 0x5beb,
    +    0x5c64, 0x5c65, 0x5d9d, 0x5d94, 0x5e62, 0x5e5f, 0x5e61, 0x5ee2,
    +    0x5eda, 0x5edf, 0x5edd, 0x5ee3, 0x5ee0, 0x5f48, 0x5f71, 0x5fb7,
    +    0x5fb5, 0x6176, 0x6167, 0x616e, 0x615d, 0x6155, 0x6182, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x617c, 0x6170, 0x616b, 0x617e, 0x61a7, 0x6190, 0x61ab,
    +    0x618e, 0x61ac, 0x619a, 0x61a4, 0x6194, 0x61ae, 0x622e, 0x6469,
    +    0x646f, 0x6479, 0x649e, 0x64b2, 0x6488, 0x6490, 0x64b0, 0x64a5,
    +    0x6493, 0x6495, 0x64a9, 0x6492, 0x64ae, 0x64ad, 0x64ab, 0x649a,
    +    0x64ac, 0x6499, 0x64a2, 0x64b3, 0x6575, 0x6577, 0x6578, 0x66ae,
    +    0x66ab, 0x66b4, 0x66b1, 0x6a23, 0x6a1f, 0x69e8, 0x6a01, 0x6a1e,
    +    0x6a19, 0x69fd, 0x6a21, 0x6a13, 0x6a0a, 0x69f3, 0x6a02, 0x6a05,
    +    0x69ed, 0x6a11, 0x6b50, 0x6b4e, 0x6ba4, 0x6bc5, 0x6bc6, 0x6f3f,
    +    0x6f7c, 0x6f84, 0x6f51, 0x6f66, 0x6f54, 0x6f86, 0x6f6d, 0x6f5b,
    +    0x6f78, 0x6f6e, 0x6f8e, 0x6f7a, 0x6f70, 0x6f64, 0x6f97, 0x6f58,
    +    0x6ed5, 0x6f6f, 0x6f60, 0x6f5f, 0x719f, 0x71ac, 0x71b1, 0x71a8,
    +    0x7256, 0x729b, 0x734e, 0x7357, 0x7469, 0x748b, 0x7483, 0x003f,
    +    /* lead byte bd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x747e, 0x7480, 0x757f, 0x7620, 0x7629, 0x761f, 0x7624, 0x7626,
    +    0x7621, 0x7622, 0x769a, 0x76ba, 0x76e4, 0x778e, 0x7787, 0x778c,
    +    0x7791, 0x778b, 0x78cb, 0x78c5, 0x78ba, 0x78ca, 0x78be, 0x78d5,
    +    0x78bc, 0x78d0, 0x7a3f, 0x7a3c, 0x7a40, 0x7a3d, 0x7a37, 0x7a3b,
    +    0x7aaf, 0x7aae, 0x7bad, 0x7bb1, 0x7bc4, 0x7bb4, 0x7bc6, 0x7bc7,
    +    0x7bc1, 0x7ba0, 0x7bcc, 0x7cca, 0x7de0, 0x7df4, 0x7def, 0x7dfb,
    +    0x7dd8, 0x7dec, 0x7ddd, 0x7de8, 0x7de3, 0x7dda, 0x7dde, 0x7de9,
    +    0x7d9e, 0x7dd9, 0x7df2, 0x7df9, 0x7f75, 0x7f77, 0x7faf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7fe9, 0x8026, 0x819b, 0x819c, 0x819d, 0x81a0, 0x819a,
    +    0x8198, 0x8517, 0x853d, 0x851a, 0x84ee, 0x852c, 0x852d, 0x8513,
    +    0x8511, 0x8523, 0x8521, 0x8514, 0x84ec, 0x8525, 0x84ff, 0x8506,
    +    0x8782, 0x8774, 0x8776, 0x8760, 0x8766, 0x8778, 0x8768, 0x8759,
    +    0x8757, 0x874c, 0x8753, 0x885b, 0x885d, 0x8910, 0x8907, 0x8912,
    +    0x8913, 0x8915, 0x890a, 0x8abc, 0x8ad2, 0x8ac7, 0x8ac4, 0x8a95,
    +    0x8acb, 0x8af8, 0x8ab2, 0x8ac9, 0x8ac2, 0x8abf, 0x8ab0, 0x8ad6,
    +    0x8acd, 0x8ab6, 0x8ab9, 0x8adb, 0x8c4c, 0x8c4e, 0x8c6c, 0x8ce0,
    +    0x8cde, 0x8ce6, 0x8ce4, 0x8cec, 0x8ced, 0x8ce2, 0x8ce3, 0x8cdc,
    +    0x8cea, 0x8ce1, 0x8d6d, 0x8d9f, 0x8da3, 0x8e2b, 0x8e10, 0x8e1d,
    +    0x8e22, 0x8e0f, 0x8e29, 0x8e1f, 0x8e21, 0x8e1e, 0x8eba, 0x8f1d,
    +    0x8f1b, 0x8f1f, 0x8f29, 0x8f26, 0x8f2a, 0x8f1c, 0x8f1e, 0x003f,
    +    /* lead byte be */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8f25, 0x9069, 0x906e, 0x9068, 0x906d, 0x9077, 0x9130, 0x912d,
    +    0x9127, 0x9131, 0x9187, 0x9189, 0x918b, 0x9183, 0x92c5, 0x92bb,
    +    0x92b7, 0x92ea, 0x92ac, 0x92e4, 0x92c1, 0x92b3, 0x92bc, 0x92d2,
    +    0x92c7, 0x92f0, 0x92b2, 0x95ad, 0x95b1, 0x9704, 0x9706, 0x9707,
    +    0x9709, 0x9760, 0x978d, 0x978b, 0x978f, 0x9821, 0x982b, 0x981c,
    +    0x98b3, 0x990a, 0x9913, 0x9912, 0x9918, 0x99dd, 0x99d0, 0x99df,
    +    0x99db, 0x99d1, 0x99d5, 0x99d2, 0x99d9, 0x9ab7, 0x9aee, 0x9aef,
    +    0x9b27, 0x9b45, 0x9b44, 0x9b77, 0x9b6f, 0x9d06, 0x9d09, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9d03, 0x9ea9, 0x9ebe, 0x9ece, 0x58a8, 0x9f52, 0x5112,
    +    0x5118, 0x5114, 0x5110, 0x5115, 0x5180, 0x51aa, 0x51dd, 0x5291,
    +    0x5293, 0x52f3, 0x5659, 0x566b, 0x5679, 0x5669, 0x5664, 0x5678,
    +    0x566a, 0x5668, 0x5665, 0x5671, 0x566f, 0x566c, 0x5662, 0x5676,
    +    0x58c1, 0x58be, 0x58c7, 0x58c5, 0x596e, 0x5b1d, 0x5b34, 0x5b78,
    +    0x5bf0, 0x5c0e, 0x5f4a, 0x61b2, 0x6191, 0x61a9, 0x618a, 0x61cd,
    +    0x61b6, 0x61be, 0x61ca, 0x61c8, 0x6230, 0x64c5, 0x64c1, 0x64cb,
    +    0x64bb, 0x64bc, 0x64da, 0x64c4, 0x64c7, 0x64c2, 0x64cd, 0x64bf,
    +    0x64d2, 0x64d4, 0x64be, 0x6574, 0x66c6, 0x66c9, 0x66b9, 0x66c4,
    +    0x66c7, 0x66b8, 0x6a3d, 0x6a38, 0x6a3a, 0x6a59, 0x6a6b, 0x6a58,
    +    0x6a39, 0x6a44, 0x6a62, 0x6a61, 0x6a4b, 0x6a47, 0x6a35, 0x6a5f,
    +    0x6a48, 0x6b59, 0x6b77, 0x6c05, 0x6fc2, 0x6fb1, 0x6fa1, 0x003f,
    +    /* lead byte bf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6fc3, 0x6fa4, 0x6fc1, 0x6fa7, 0x6fb3, 0x6fc0, 0x6fb9, 0x6fb6,
    +    0x6fa6, 0x6fa0, 0x6fb4, 0x71be, 0x71c9, 0x71d0, 0x71d2, 0x71c8,
    +    0x71d5, 0x71b9, 0x71ce, 0x71d9, 0x71dc, 0x71c3, 0x71c4, 0x7368,
    +    0x749c, 0x74a3, 0x7498, 0x749f, 0x749e, 0x74e2, 0x750c, 0x750d,
    +    0x7634, 0x7638, 0x763a, 0x76e7, 0x76e5, 0x77a0, 0x779e, 0x779f,
    +    0x77a5, 0x78e8, 0x78da, 0x78ec, 0x78e7, 0x79a6, 0x7a4d, 0x7a4e,
    +    0x7a46, 0x7a4c, 0x7a4b, 0x7aba, 0x7bd9, 0x7c11, 0x7bc9, 0x7be4,
    +    0x7bdb, 0x7be1, 0x7be9, 0x7be6, 0x7cd5, 0x7cd6, 0x7e0a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7e11, 0x7e08, 0x7e1b, 0x7e23, 0x7e1e, 0x7e1d, 0x7e09,
    +    0x7e10, 0x7f79, 0x7fb2, 0x7ff0, 0x7ff1, 0x7fee, 0x8028, 0x81b3,
    +    0x81a9, 0x81a8, 0x81fb, 0x8208, 0x8258, 0x8259, 0x854a, 0x8559,
    +    0x8548, 0x8568, 0x8569, 0x8543, 0x8549, 0x856d, 0x856a, 0x855e,
    +    0x8783, 0x879f, 0x879e, 0x87a2, 0x878d, 0x8861, 0x892a, 0x8932,
    +    0x8925, 0x892b, 0x8921, 0x89aa, 0x89a6, 0x8ae6, 0x8afa, 0x8aeb,
    +    0x8af1, 0x8b00, 0x8adc, 0x8ae7, 0x8aee, 0x8afe, 0x8b01, 0x8b02,
    +    0x8af7, 0x8aed, 0x8af3, 0x8af6, 0x8afc, 0x8c6b, 0x8c6d, 0x8c93,
    +    0x8cf4, 0x8e44, 0x8e31, 0x8e34, 0x8e42, 0x8e39, 0x8e35, 0x8f3b,
    +    0x8f2f, 0x8f38, 0x8f33, 0x8fa8, 0x8fa6, 0x9075, 0x9074, 0x9078,
    +    0x9072, 0x907c, 0x907a, 0x9134, 0x9192, 0x9320, 0x9336, 0x92f8,
    +    0x9333, 0x932f, 0x9322, 0x92fc, 0x932b, 0x9304, 0x931a, 0x003f,
    +    /* lead byte c0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9310, 0x9326, 0x9321, 0x9315, 0x932e, 0x9319, 0x95bb, 0x96a7,
    +    0x96a8, 0x96aa, 0x96d5, 0x970e, 0x9711, 0x9716, 0x970d, 0x9713,
    +    0x970f, 0x975b, 0x975c, 0x9766, 0x9798, 0x9830, 0x9838, 0x983b,
    +    0x9837, 0x982d, 0x9839, 0x9824, 0x9910, 0x9928, 0x991e, 0x991b,
    +    0x9921, 0x991a, 0x99ed, 0x99e2, 0x99f1, 0x9ab8, 0x9abc, 0x9afb,
    +    0x9aed, 0x9b28, 0x9b91, 0x9d15, 0x9d23, 0x9d26, 0x9d28, 0x9d12,
    +    0x9d1b, 0x9ed8, 0x9ed4, 0x9f8d, 0x9f9c, 0x512a, 0x511f, 0x5121,
    +    0x5132, 0x52f5, 0x568e, 0x5680, 0x5690, 0x5685, 0x5687, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x568f, 0x58d5, 0x58d3, 0x58d1, 0x58ce, 0x5b30, 0x5b2a,
    +    0x5b24, 0x5b7a, 0x5c37, 0x5c68, 0x5dbc, 0x5dba, 0x5dbd, 0x5db8,
    +    0x5e6b, 0x5f4c, 0x5fbd, 0x61c9, 0x61c2, 0x61c7, 0x61e6, 0x61cb,
    +    0x6232, 0x6234, 0x64ce, 0x64ca, 0x64d8, 0x64e0, 0x64f0, 0x64e6,
    +    0x64ec, 0x64f1, 0x64e2, 0x64ed, 0x6582, 0x6583, 0x66d9, 0x66d6,
    +    0x6a80, 0x6a94, 0x6a84, 0x6aa2, 0x6a9c, 0x6adb, 0x6aa3, 0x6a7e,
    +    0x6a97, 0x6a90, 0x6aa0, 0x6b5c, 0x6bae, 0x6bda, 0x6c08, 0x6fd8,
    +    0x6ff1, 0x6fdf, 0x6fe0, 0x6fdb, 0x6fe4, 0x6feb, 0x6fef, 0x6f80,
    +    0x6fec, 0x6fe1, 0x6fe9, 0x6fd5, 0x6fee, 0x6ff0, 0x71e7, 0x71df,
    +    0x71ee, 0x71e6, 0x71e5, 0x71ed, 0x71ec, 0x71f4, 0x71e0, 0x7235,
    +    0x7246, 0x7370, 0x7372, 0x74a9, 0x74b0, 0x74a6, 0x74a8, 0x7646,
    +    0x7642, 0x764c, 0x76ea, 0x77b3, 0x77aa, 0x77b0, 0x77ac, 0x003f,
    +    /* lead byte c1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x77a7, 0x77ad, 0x77ef, 0x78f7, 0x78fa, 0x78f4, 0x78ef, 0x7901,
    +    0x79a7, 0x79aa, 0x7a57, 0x7abf, 0x7c07, 0x7c0d, 0x7bfe, 0x7bf7,
    +    0x7c0c, 0x7be0, 0x7ce0, 0x7cdc, 0x7cde, 0x7ce2, 0x7cdf, 0x7cd9,
    +    0x7cdd, 0x7e2e, 0x7e3e, 0x7e46, 0x7e37, 0x7e32, 0x7e43, 0x7e2b,
    +    0x7e3d, 0x7e31, 0x7e45, 0x7e41, 0x7e34, 0x7e39, 0x7e48, 0x7e35,
    +    0x7e3f, 0x7e2f, 0x7f44, 0x7ff3, 0x7ffc, 0x8071, 0x8072, 0x8070,
    +    0x806f, 0x8073, 0x81c6, 0x81c3, 0x81ba, 0x81c2, 0x81c0, 0x81bf,
    +    0x81bd, 0x81c9, 0x81be, 0x81e8, 0x8209, 0x8271, 0x85aa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8584, 0x857e, 0x859c, 0x8591, 0x8594, 0x85af, 0x859b,
    +    0x8587, 0x85a8, 0x858a, 0x8667, 0x87c0, 0x87d1, 0x87b3, 0x87d2,
    +    0x87c6, 0x87ab, 0x87bb, 0x87ba, 0x87c8, 0x87cb, 0x893b, 0x8936,
    +    0x8944, 0x8938, 0x893d, 0x89ac, 0x8b0e, 0x8b17, 0x8b19, 0x8b1b,
    +    0x8b0a, 0x8b20, 0x8b1d, 0x8b04, 0x8b10, 0x8c41, 0x8c3f, 0x8c73,
    +    0x8cfa, 0x8cfd, 0x8cfc, 0x8cf8, 0x8cfb, 0x8da8, 0x8e49, 0x8e4b,
    +    0x8e48, 0x8e4a, 0x8f44, 0x8f3e, 0x8f42, 0x8f45, 0x8f3f, 0x907f,
    +    0x907d, 0x9084, 0x9081, 0x9082, 0x9080, 0x9139, 0x91a3, 0x919e,
    +    0x919c, 0x934d, 0x9382, 0x9328, 0x9375, 0x934a, 0x9365, 0x934b,
    +    0x9318, 0x937e, 0x936c, 0x935b, 0x9370, 0x935a, 0x9354, 0x95ca,
    +    0x95cb, 0x95cc, 0x95c8, 0x95c6, 0x96b1, 0x96b8, 0x96d6, 0x971c,
    +    0x971e, 0x97a0, 0x97d3, 0x9846, 0x98b6, 0x9935, 0x9a01, 0x003f,
    +    /* lead byte c2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x99ff, 0x9bae, 0x9bab, 0x9baa, 0x9bad, 0x9d3b, 0x9d3f, 0x9e8b,
    +    0x9ecf, 0x9ede, 0x9edc, 0x9edd, 0x9edb, 0x9f3e, 0x9f4b, 0x53e2,
    +    0x5695, 0x56ae, 0x58d9, 0x58d8, 0x5b38, 0x5f5d, 0x61e3, 0x6233,
    +    0x64f4, 0x64f2, 0x64fe, 0x6506, 0x64fa, 0x64fb, 0x64f7, 0x65b7,
    +    0x66dc, 0x6726, 0x6ab3, 0x6aac, 0x6ac3, 0x6abb, 0x6ab8, 0x6ac2,
    +    0x6aae, 0x6aaf, 0x6b5f, 0x6b78, 0x6baf, 0x7009, 0x700b, 0x6ffe,
    +    0x7006, 0x6ffa, 0x7011, 0x700f, 0x71fb, 0x71fc, 0x71fe, 0x71f8,
    +    0x7377, 0x7375, 0x74a7, 0x74bf, 0x7515, 0x7656, 0x7658, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7652, 0x77bd, 0x77bf, 0x77bb, 0x77bc, 0x790e, 0x79ae,
    +    0x7a61, 0x7a62, 0x7a60, 0x7ac4, 0x7ac5, 0x7c2b, 0x7c27, 0x7c2a,
    +    0x7c1e, 0x7c23, 0x7c21, 0x7ce7, 0x7e54, 0x7e55, 0x7e5e, 0x7e5a,
    +    0x7e61, 0x7e52, 0x7e59, 0x7f48, 0x7ff9, 0x7ffb, 0x8077, 0x8076,
    +    0x81cd, 0x81cf, 0x820a, 0x85cf, 0x85a9, 0x85cd, 0x85d0, 0x85c9,
    +    0x85b0, 0x85ba, 0x85b9, 0x85a6, 0x87ef, 0x87ec, 0x87f2, 0x87e0,
    +    0x8986, 0x89b2, 0x89f4, 0x8b28, 0x8b39, 0x8b2c, 0x8b2b, 0x8c50,
    +    0x8d05, 0x8e59, 0x8e63, 0x8e66, 0x8e64, 0x8e5f, 0x8e55, 0x8ec0,
    +    0x8f49, 0x8f4d, 0x9087, 0x9083, 0x9088, 0x91ab, 0x91ac, 0x91d0,
    +    0x9394, 0x938a, 0x9396, 0x93a2, 0x93b3, 0x93ae, 0x93ac, 0x93b0,
    +    0x9398, 0x939a, 0x9397, 0x95d4, 0x95d6, 0x95d0, 0x95d5, 0x96e2,
    +    0x96dc, 0x96d9, 0x96db, 0x96de, 0x9724, 0x97a3, 0x97a6, 0x003f,
    +    /* lead byte c3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x97ad, 0x97f9, 0x984d, 0x984f, 0x984c, 0x984e, 0x9853, 0x98ba,
    +    0x993e, 0x993f, 0x993d, 0x992e, 0x99a5, 0x9a0e, 0x9ac1, 0x9b03,
    +    0x9b06, 0x9b4f, 0x9b4e, 0x9b4d, 0x9bca, 0x9bc9, 0x9bfd, 0x9bc8,
    +    0x9bc0, 0x9d51, 0x9d5d, 0x9d60, 0x9ee0, 0x9f15, 0x9f2c, 0x5133,
    +    0x56a5, 0x58de, 0x58df, 0x58e2, 0x5bf5, 0x9f90, 0x5eec, 0x61f2,
    +    0x61f7, 0x61f6, 0x61f5, 0x6500, 0x650f, 0x66e0, 0x66dd, 0x6ae5,
    +    0x6add, 0x6ada, 0x6ad3, 0x701b, 0x701f, 0x7028, 0x701a, 0x701d,
    +    0x7015, 0x7018, 0x7206, 0x720d, 0x7258, 0x72a2, 0x7378, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x737a, 0x74bd, 0x74ca, 0x74e3, 0x7587, 0x7586, 0x765f,
    +    0x7661, 0x77c7, 0x7919, 0x79b1, 0x7a6b, 0x7a69, 0x7c3e, 0x7c3f,
    +    0x7c38, 0x7c3d, 0x7c37, 0x7c40, 0x7e6b, 0x7e6d, 0x7e79, 0x7e69,
    +    0x7e6a, 0x7f85, 0x7e73, 0x7fb6, 0x7fb9, 0x7fb8, 0x81d8, 0x85e9,
    +    0x85dd, 0x85ea, 0x85d5, 0x85e4, 0x85e5, 0x85f7, 0x87fb, 0x8805,
    +    0x880d, 0x87f9, 0x87fe, 0x8960, 0x895f, 0x8956, 0x895e, 0x8b41,
    +    0x8b5c, 0x8b58, 0x8b49, 0x8b5a, 0x8b4e, 0x8b4f, 0x8b46, 0x8b59,
    +    0x8d08, 0x8d0a, 0x8e7c, 0x8e72, 0x8e87, 0x8e76, 0x8e6c, 0x8e7a,
    +    0x8e74, 0x8f54, 0x8f4e, 0x8fad, 0x908a, 0x908b, 0x91b1, 0x91ae,
    +    0x93e1, 0x93d1, 0x93df, 0x93c3, 0x93c8, 0x93dc, 0x93dd, 0x93d6,
    +    0x93e2, 0x93cd, 0x93d8, 0x93e4, 0x93d7, 0x93e8, 0x95dc, 0x96b4,
    +    0x96e3, 0x972a, 0x9727, 0x9761, 0x97dc, 0x97fb, 0x985e, 0x003f,
    +    /* lead byte c4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x9858, 0x985b, 0x98bc, 0x9945, 0x9949, 0x9a16, 0x9a19, 0x9b0d,
    +    0x9be8, 0x9be7, 0x9bd6, 0x9bdb, 0x9d89, 0x9d61, 0x9d72, 0x9d6a,
    +    0x9d6c, 0x9e92, 0x9e97, 0x9e93, 0x9eb4, 0x52f8, 0x56a8, 0x56b7,
    +    0x56b6, 0x56b4, 0x56bc, 0x58e4, 0x5b40, 0x5b43, 0x5b7d, 0x5bf6,
    +    0x5dc9, 0x61f8, 0x61fa, 0x6518, 0x6514, 0x6519, 0x66e6, 0x6727,
    +    0x6aec, 0x703e, 0x7030, 0x7032, 0x7210, 0x737b, 0x74cf, 0x7662,
    +    0x7665, 0x7926, 0x792a, 0x792c, 0x792b, 0x7ac7, 0x7af6, 0x7c4c,
    +    0x7c43, 0x7c4d, 0x7cef, 0x7cf0, 0x8fae, 0x7e7d, 0x7e7c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7e82, 0x7f4c, 0x8000, 0x81da, 0x8266, 0x85fb, 0x85f9,
    +    0x8611, 0x85fa, 0x8606, 0x860b, 0x8607, 0x860a, 0x8814, 0x8815,
    +    0x8964, 0x89ba, 0x89f8, 0x8b70, 0x8b6c, 0x8b66, 0x8b6f, 0x8b5f,
    +    0x8b6b, 0x8d0f, 0x8d0d, 0x8e89, 0x8e81, 0x8e85, 0x8e82, 0x91b4,
    +    0x91cb, 0x9418, 0x9403, 0x93fd, 0x95e1, 0x9730, 0x98c4, 0x9952,
    +    0x9951, 0x99a8, 0x9a2b, 0x9a30, 0x9a37, 0x9a35, 0x9c13, 0x9c0d,
    +    0x9e79, 0x9eb5, 0x9ee8, 0x9f2f, 0x9f5f, 0x9f63, 0x9f61, 0x5137,
    +    0x5138, 0x56c1, 0x56c0, 0x56c2, 0x5914, 0x5c6c, 0x5dcd, 0x61fc,
    +    0x61fe, 0x651d, 0x651c, 0x6595, 0x66e9, 0x6afb, 0x6b04, 0x6afa,
    +    0x6bb2, 0x704c, 0x721b, 0x72a7, 0x74d6, 0x74d4, 0x7669, 0x77d3,
    +    0x7c50, 0x7e8f, 0x7e8c, 0x7fbc, 0x8617, 0x862d, 0x861a, 0x8823,
    +    0x8822, 0x8821, 0x881f, 0x896a, 0x896c, 0x89bd, 0x8b74, 0x003f,
    +    /* lead byte c5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b77, 0x8b7d, 0x8d13, 0x8e8a, 0x8e8d, 0x8e8b, 0x8f5f, 0x8faf,
    +    0x91ba, 0x942e, 0x9433, 0x9435, 0x943a, 0x9438, 0x9432, 0x942b,
    +    0x95e2, 0x9738, 0x9739, 0x9732, 0x97ff, 0x9867, 0x9865, 0x9957,
    +    0x9a45, 0x9a43, 0x9a40, 0x9a3e, 0x9acf, 0x9b54, 0x9b51, 0x9c2d,
    +    0x9c25, 0x9daf, 0x9db4, 0x9dc2, 0x9db8, 0x9e9d, 0x9eef, 0x9f19,
    +    0x9f5c, 0x9f66, 0x9f67, 0x513c, 0x513b, 0x56c8, 0x56ca, 0x56c9,
    +    0x5b7f, 0x5dd4, 0x5dd2, 0x5f4e, 0x61ff, 0x6524, 0x6b0a, 0x6b61,
    +    0x7051, 0x7058, 0x7380, 0x74e4, 0x758a, 0x766e, 0x766c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x79b3, 0x7c60, 0x7c5f, 0x807e, 0x807d, 0x81df, 0x8972,
    +    0x896f, 0x89fc, 0x8b80, 0x8d16, 0x8d17, 0x8e91, 0x8e93, 0x8f61,
    +    0x9148, 0x9444, 0x9451, 0x9452, 0x973d, 0x973e, 0x97c3, 0x97c1,
    +    0x986b, 0x9955, 0x9a55, 0x9a4d, 0x9ad2, 0x9b1a, 0x9c49, 0x9c31,
    +    0x9c3e, 0x9c3b, 0x9dd3, 0x9dd7, 0x9f34, 0x9f6c, 0x9f6a, 0x9f94,
    +    0x56cc, 0x5dd6, 0x6200, 0x6523, 0x652b, 0x652a, 0x66ec, 0x6b10,
    +    0x74da, 0x7aca, 0x7c64, 0x7c63, 0x7c65, 0x7e93, 0x7e96, 0x7e94,
    +    0x81e2, 0x8638, 0x863f, 0x8831, 0x8b8a, 0x9090, 0x908f, 0x9463,
    +    0x9460, 0x9464, 0x9768, 0x986f, 0x995c, 0x9a5a, 0x9a5b, 0x9a57,
    +    0x9ad3, 0x9ad4, 0x9ad1, 0x9c54, 0x9c57, 0x9c56, 0x9de5, 0x9e9f,
    +    0x9ef4, 0x56d1, 0x58e9, 0x652c, 0x705e, 0x7671, 0x7672, 0x77d7,
    +    0x7f50, 0x7f88, 0x8836, 0x8839, 0x8862, 0x8b93, 0x8b92, 0x003f,
    +    /* lead byte c6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b96, 0x8277, 0x8d1b, 0x91c0, 0x946a, 0x9742, 0x9748, 0x9744,
    +    0x97c6, 0x9870, 0x9a5f, 0x9b22, 0x9b58, 0x9c5f, 0x9df9, 0x9dfa,
    +    0x9e7c, 0x9e7d, 0x9f07, 0x9f77, 0x9f72, 0x5ef3, 0x6b16, 0x7063,
    +    0x7c6c, 0x7c6e, 0x883b, 0x89c0, 0x8ea1, 0x91c1, 0x9472, 0x9470,
    +    0x9871, 0x995e, 0x9ad6, 0x9b23, 0x9ecc, 0x7064, 0x77da, 0x8b9a,
    +    0x9477, 0x97c9, 0x9a62, 0x9a65, 0x7e9c, 0x8b9c, 0x8eaa, 0x91c5,
    +    0x947d, 0x947e, 0x947c, 0x9c77, 0x9c78, 0x9ef7, 0x8c54, 0x947f,
    +    0x9e1a, 0x7228, 0x9a6a, 0x9b31, 0x9e1b, 0x9e1e, 0x7c72, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* lead byte c9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x4e42, 0x4e5c, 0x51f5, 0x531a, 0x5382, 0x4e07, 0x4e0c, 0x4e47,
    +    0x4e8d, 0x56d7, 0xfa0c, 0x5c6e, 0x5f73, 0x4e0f, 0x5187, 0x4e0e,
    +    0x4e2e, 0x4e93, 0x4ec2, 0x4ec9, 0x4ec8, 0x5198, 0x52fc, 0x536c,
    +    0x53b9, 0x5720, 0x5903, 0x592c, 0x5c10, 0x5dff, 0x65e1, 0x6bb3,
    +    0x6bcc, 0x6c14, 0x723f, 0x4e31, 0x4e3c, 0x4ee8, 0x4edc, 0x4ee9,
    +    0x4ee1, 0x4edd, 0x4eda, 0x520c, 0x531c, 0x534c, 0x5722, 0x5723,
    +    0x5917, 0x592f, 0x5b81, 0x5b84, 0x5c12, 0x5c3b, 0x5c74, 0x5c73,
    +    0x5e04, 0x5e80, 0x5e82, 0x5fc9, 0x6209, 0x6250, 0x6c15, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6c36, 0x6c43, 0x6c3f, 0x6c3b, 0x72ae, 0x72b0, 0x738a,
    +    0x79b8, 0x808a, 0x961e, 0x4f0e, 0x4f18, 0x4f2c, 0x4ef5, 0x4f14,
    +    0x4ef1, 0x4f00, 0x4ef7, 0x4f08, 0x4f1d, 0x4f02, 0x4f05, 0x4f22,
    +    0x4f13, 0x4f04, 0x4ef4, 0x4f12, 0x51b1, 0x5213, 0x5209, 0x5210,
    +    0x52a6, 0x5322, 0x531f, 0x534d, 0x538a, 0x5407, 0x56e1, 0x56df,
    +    0x572e, 0x572a, 0x5734, 0x593c, 0x5980, 0x597c, 0x5985, 0x597b,
    +    0x597e, 0x5977, 0x597f, 0x5b56, 0x5c15, 0x5c25, 0x5c7c, 0x5c7a,
    +    0x5c7b, 0x5c7e, 0x5ddf, 0x5e75, 0x5e84, 0x5f02, 0x5f1a, 0x5f74,
    +    0x5fd5, 0x5fd4, 0x5fcf, 0x625c, 0x625e, 0x6264, 0x6261, 0x6266,
    +    0x6262, 0x6259, 0x6260, 0x625a, 0x6265, 0x65ef, 0x65ee, 0x673e,
    +    0x6739, 0x6738, 0x673b, 0x673a, 0x673f, 0x673c, 0x6733, 0x6c18,
    +    0x6c46, 0x6c52, 0x6c5c, 0x6c4f, 0x6c4a, 0x6c54, 0x6c4b, 0x003f,
    +    /* lead byte ca */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6c4c, 0x7071, 0x725e, 0x72b4, 0x72b5, 0x738e, 0x752a, 0x767f,
    +    0x7a75, 0x7f51, 0x8278, 0x827c, 0x8280, 0x827d, 0x827f, 0x864d,
    +    0x897e, 0x9099, 0x9097, 0x9098, 0x909b, 0x9094, 0x9622, 0x9624,
    +    0x9620, 0x9623, 0x4f56, 0x4f3b, 0x4f62, 0x4f49, 0x4f53, 0x4f64,
    +    0x4f3e, 0x4f67, 0x4f52, 0x4f5f, 0x4f41, 0x4f58, 0x4f2d, 0x4f33,
    +    0x4f3f, 0x4f61, 0x518f, 0x51b9, 0x521c, 0x521e, 0x5221, 0x52ad,
    +    0x52ae, 0x5309, 0x5363, 0x5372, 0x538e, 0x538f, 0x5430, 0x5437,
    +    0x542a, 0x5454, 0x5445, 0x5419, 0x541c, 0x5425, 0x5418, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x543d, 0x544f, 0x5441, 0x5428, 0x5424, 0x5447, 0x56ee,
    +    0x56e7, 0x56e5, 0x5741, 0x5745, 0x574c, 0x5749, 0x574b, 0x5752,
    +    0x5906, 0x5940, 0x59a6, 0x5998, 0x59a0, 0x5997, 0x598e, 0x59a2,
    +    0x5990, 0x598f, 0x59a7, 0x59a1, 0x5b8e, 0x5b92, 0x5c28, 0x5c2a,
    +    0x5c8d, 0x5c8f, 0x5c88, 0x5c8b, 0x5c89, 0x5c92, 0x5c8a, 0x5c86,
    +    0x5c93, 0x5c95, 0x5de0, 0x5e0a, 0x5e0e, 0x5e8b, 0x5e89, 0x5e8c,
    +    0x5e88, 0x5e8d, 0x5f05, 0x5f1d, 0x5f78, 0x5f76, 0x5fd2, 0x5fd1,
    +    0x5fd0, 0x5fed, 0x5fe8, 0x5fee, 0x5ff3, 0x5fe1, 0x5fe4, 0x5fe3,
    +    0x5ffa, 0x5fef, 0x5ff7, 0x5ffb, 0x6000, 0x5ff4, 0x623a, 0x6283,
    +    0x628c, 0x628e, 0x628f, 0x6294, 0x6287, 0x6271, 0x627b, 0x627a,
    +    0x6270, 0x6281, 0x6288, 0x6277, 0x627d, 0x6272, 0x6274, 0x6537,
    +    0x65f0, 0x65f4, 0x65f3, 0x65f2, 0x65f5, 0x6745, 0x6747, 0x003f,
    +    /* lead byte cb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6759, 0x6755, 0x674c, 0x6748, 0x675d, 0x674d, 0x675a, 0x674b,
    +    0x6bd0, 0x6c19, 0x6c1a, 0x6c78, 0x6c67, 0x6c6b, 0x6c84, 0x6c8b,
    +    0x6c8f, 0x6c71, 0x6c6f, 0x6c69, 0x6c9a, 0x6c6d, 0x6c87, 0x6c95,
    +    0x6c9c, 0x6c66, 0x6c73, 0x6c65, 0x6c7b, 0x6c8e, 0x7074, 0x707a,
    +    0x7263, 0x72bf, 0x72bd, 0x72c3, 0x72c6, 0x72c1, 0x72ba, 0x72c5,
    +    0x7395, 0x7397, 0x7393, 0x7394, 0x7392, 0x753a, 0x7539, 0x7594,
    +    0x7595, 0x7681, 0x793d, 0x8034, 0x8095, 0x8099, 0x8090, 0x8092,
    +    0x809c, 0x8290, 0x828f, 0x8285, 0x828e, 0x8291, 0x8293, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x828a, 0x8283, 0x8284, 0x8c78, 0x8fc9, 0x8fbf, 0x909f,
    +    0x90a1, 0x90a5, 0x909e, 0x90a7, 0x90a0, 0x9630, 0x9628, 0x962f,
    +    0x962d, 0x4e33, 0x4f98, 0x4f7c, 0x4f85, 0x4f7d, 0x4f80, 0x4f87,
    +    0x4f76, 0x4f74, 0x4f89, 0x4f84, 0x4f77, 0x4f4c, 0x4f97, 0x4f6a,
    +    0x4f9a, 0x4f79, 0x4f81, 0x4f78, 0x4f90, 0x4f9c, 0x4f94, 0x4f9e,
    +    0x4f92, 0x4f82, 0x4f95, 0x4f6b, 0x4f6e, 0x519e, 0x51bc, 0x51be,
    +    0x5235, 0x5232, 0x5233, 0x5246, 0x5231, 0x52bc, 0x530a, 0x530b,
    +    0x533c, 0x5392, 0x5394, 0x5487, 0x547f, 0x5481, 0x5491, 0x5482,
    +    0x5488, 0x546b, 0x547a, 0x547e, 0x5465, 0x546c, 0x5474, 0x5466,
    +    0x548d, 0x546f, 0x5461, 0x5460, 0x5498, 0x5463, 0x5467, 0x5464,
    +    0x56f7, 0x56f9, 0x576f, 0x5772, 0x576d, 0x576b, 0x5771, 0x5770,
    +    0x5776, 0x5780, 0x5775, 0x577b, 0x5773, 0x5774, 0x5762, 0x003f,
    +    /* lead byte cc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5768, 0x577d, 0x590c, 0x5945, 0x59b5, 0x59ba, 0x59cf, 0x59ce,
    +    0x59b2, 0x59cc, 0x59c1, 0x59b6, 0x59bc, 0x59c3, 0x59d6, 0x59b1,
    +    0x59bd, 0x59c0, 0x59c8, 0x59b4, 0x59c7, 0x5b62, 0x5b65, 0x5b93,
    +    0x5b95, 0x5c44, 0x5c47, 0x5cae, 0x5ca4, 0x5ca0, 0x5cb5, 0x5caf,
    +    0x5ca8, 0x5cac, 0x5c9f, 0x5ca3, 0x5cad, 0x5ca2, 0x5caa, 0x5ca7,
    +    0x5c9d, 0x5ca5, 0x5cb6, 0x5cb0, 0x5ca6, 0x5e17, 0x5e14, 0x5e19,
    +    0x5f28, 0x5f22, 0x5f23, 0x5f24, 0x5f54, 0x5f82, 0x5f7e, 0x5f7d,
    +    0x5fde, 0x5fe5, 0x602d, 0x6026, 0x6019, 0x6032, 0x600b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6034, 0x600a, 0x6017, 0x6033, 0x601a, 0x601e, 0x602c,
    +    0x6022, 0x600d, 0x6010, 0x602e, 0x6013, 0x6011, 0x600c, 0x6009,
    +    0x601c, 0x6214, 0x623d, 0x62ad, 0x62b4, 0x62d1, 0x62be, 0x62aa,
    +    0x62b6, 0x62ca, 0x62ae, 0x62b3, 0x62af, 0x62bb, 0x62a9, 0x62b0,
    +    0x62b8, 0x653d, 0x65a8, 0x65bb, 0x6609, 0x65fc, 0x6604, 0x6612,
    +    0x6608, 0x65fb, 0x6603, 0x660b, 0x660d, 0x6605, 0x65fd, 0x6611,
    +    0x6610, 0x66f6, 0x670a, 0x6785, 0x676c, 0x678e, 0x6792, 0x6776,
    +    0x677b, 0x6798, 0x6786, 0x6784, 0x6774, 0x678d, 0x678c, 0x677a,
    +    0x679f, 0x6791, 0x6799, 0x6783, 0x677d, 0x6781, 0x6778, 0x6779,
    +    0x6794, 0x6b25, 0x6b80, 0x6b7e, 0x6bde, 0x6c1d, 0x6c93, 0x6cec,
    +    0x6ceb, 0x6cee, 0x6cd9, 0x6cb6, 0x6cd4, 0x6cad, 0x6ce7, 0x6cb7,
    +    0x6cd0, 0x6cc2, 0x6cba, 0x6cc3, 0x6cc6, 0x6ced, 0x6cf2, 0x003f,
    +    /* lead byte cd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6cd2, 0x6cdd, 0x6cb4, 0x6c8a, 0x6c9d, 0x6c80, 0x6cde, 0x6cc0,
    +    0x6d30, 0x6ccd, 0x6cc7, 0x6cb0, 0x6cf9, 0x6ccf, 0x6ce9, 0x6cd1,
    +    0x7094, 0x7098, 0x7085, 0x7093, 0x7086, 0x7084, 0x7091, 0x7096,
    +    0x7082, 0x709a, 0x7083, 0x726a, 0x72d6, 0x72cb, 0x72d8, 0x72c9,
    +    0x72dc, 0x72d2, 0x72d4, 0x72da, 0x72cc, 0x72d1, 0x73a4, 0x73a1,
    +    0x73ad, 0x73a6, 0x73a2, 0x73a0, 0x73ac, 0x739d, 0x74dd, 0x74e8,
    +    0x753f, 0x7540, 0x753e, 0x758c, 0x7598, 0x76af, 0x76f3, 0x76f1,
    +    0x76f0, 0x76f5, 0x77f8, 0x77fc, 0x77f9, 0x77fb, 0x77fa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x77f7, 0x7942, 0x793f, 0x79c5, 0x7a78, 0x7a7b, 0x7afb,
    +    0x7c75, 0x7cfd, 0x8035, 0x808f, 0x80ae, 0x80a3, 0x80b8, 0x80b5,
    +    0x80ad, 0x8220, 0x82a0, 0x82c0, 0x82ab, 0x829a, 0x8298, 0x829b,
    +    0x82b5, 0x82a7, 0x82ae, 0x82bc, 0x829e, 0x82ba, 0x82b4, 0x82a8,
    +    0x82a1, 0x82a9, 0x82c2, 0x82a4, 0x82c3, 0x82b6, 0x82a2, 0x8670,
    +    0x866f, 0x866d, 0x866e, 0x8c56, 0x8fd2, 0x8fcb, 0x8fd3, 0x8fcd,
    +    0x8fd6, 0x8fd5, 0x8fd7, 0x90b2, 0x90b4, 0x90af, 0x90b3, 0x90b0,
    +    0x9639, 0x963d, 0x963c, 0x963a, 0x9643, 0x4fcd, 0x4fc5, 0x4fd3,
    +    0x4fb2, 0x4fc9, 0x4fcb, 0x4fc1, 0x4fd4, 0x4fdc, 0x4fd9, 0x4fbb,
    +    0x4fb3, 0x4fdb, 0x4fc7, 0x4fd6, 0x4fba, 0x4fc0, 0x4fb9, 0x4fec,
    +    0x5244, 0x5249, 0x52c0, 0x52c2, 0x533d, 0x537c, 0x5397, 0x5396,
    +    0x5399, 0x5398, 0x54ba, 0x54a1, 0x54ad, 0x54a5, 0x54cf, 0x003f,
    +    /* lead byte ce */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x54c3, 0x830d, 0x54b7, 0x54ae, 0x54d6, 0x54b6, 0x54c5, 0x54c6,
    +    0x54a0, 0x5470, 0x54bc, 0x54a2, 0x54be, 0x5472, 0x54de, 0x54b0,
    +    0x57b5, 0x579e, 0x579f, 0x57a4, 0x578c, 0x5797, 0x579d, 0x579b,
    +    0x5794, 0x5798, 0x578f, 0x5799, 0x57a5, 0x579a, 0x5795, 0x58f4,
    +    0x590d, 0x5953, 0x59e1, 0x59de, 0x59ee, 0x5a00, 0x59f1, 0x59dd,
    +    0x59fa, 0x59fd, 0x59fc, 0x59f6, 0x59e4, 0x59f2, 0x59f7, 0x59db,
    +    0x59e9, 0x59f3, 0x59f5, 0x59e0, 0x59fe, 0x59f4, 0x59ed, 0x5ba8,
    +    0x5c4c, 0x5cd0, 0x5cd8, 0x5ccc, 0x5cd7, 0x5ccb, 0x5cdb, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5cde, 0x5cda, 0x5cc9, 0x5cc7, 0x5cca, 0x5cd6, 0x5cd3,
    +    0x5cd4, 0x5ccf, 0x5cc8, 0x5cc6, 0x5cce, 0x5cdf, 0x5cf8, 0x5df9,
    +    0x5e21, 0x5e22, 0x5e23, 0x5e20, 0x5e24, 0x5eb0, 0x5ea4, 0x5ea2,
    +    0x5e9b, 0x5ea3, 0x5ea5, 0x5f07, 0x5f2e, 0x5f56, 0x5f86, 0x6037,
    +    0x6039, 0x6054, 0x6072, 0x605e, 0x6045, 0x6053, 0x6047, 0x6049,
    +    0x605b, 0x604c, 0x6040, 0x6042, 0x605f, 0x6024, 0x6044, 0x6058,
    +    0x6066, 0x606e, 0x6242, 0x6243, 0x62cf, 0x630d, 0x630b, 0x62f5,
    +    0x630e, 0x6303, 0x62eb, 0x62f9, 0x630f, 0x630c, 0x62f8, 0x62f6,
    +    0x6300, 0x6313, 0x6314, 0x62fa, 0x6315, 0x62fb, 0x62f0, 0x6541,
    +    0x6543, 0x65aa, 0x65bf, 0x6636, 0x6621, 0x6632, 0x6635, 0x661c,
    +    0x6626, 0x6622, 0x6633, 0x662b, 0x663a, 0x661d, 0x6634, 0x6639,
    +    0x662e, 0x670f, 0x6710, 0x67c1, 0x67f2, 0x67c8, 0x67ba, 0x003f,
    +    /* lead byte cf */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x67dc, 0x67bb, 0x67f8, 0x67d8, 0x67c0, 0x67b7, 0x67c5, 0x67eb,
    +    0x67e4, 0x67df, 0x67b5, 0x67cd, 0x67b3, 0x67f7, 0x67f6, 0x67ee,
    +    0x67e3, 0x67c2, 0x67b9, 0x67ce, 0x67e7, 0x67f0, 0x67b2, 0x67fc,
    +    0x67c6, 0x67ed, 0x67cc, 0x67ae, 0x67e6, 0x67db, 0x67fa, 0x67c9,
    +    0x67ca, 0x67c3, 0x67ea, 0x67cb, 0x6b28, 0x6b82, 0x6b84, 0x6bb6,
    +    0x6bd6, 0x6bd8, 0x6be0, 0x6c20, 0x6c21, 0x6d28, 0x6d34, 0x6d2d,
    +    0x6d1f, 0x6d3c, 0x6d3f, 0x6d12, 0x6d0a, 0x6cda, 0x6d33, 0x6d04,
    +    0x6d19, 0x6d3a, 0x6d1a, 0x6d11, 0x6d00, 0x6d1d, 0x6d42, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6d01, 0x6d18, 0x6d37, 0x6d03, 0x6d0f, 0x6d40, 0x6d07,
    +    0x6d20, 0x6d2c, 0x6d08, 0x6d22, 0x6d09, 0x6d10, 0x70b7, 0x709f,
    +    0x70be, 0x70b1, 0x70b0, 0x70a1, 0x70b4, 0x70b5, 0x70a9, 0x7241,
    +    0x7249, 0x724a, 0x726c, 0x7270, 0x7273, 0x726e, 0x72ca, 0x72e4,
    +    0x72e8, 0x72eb, 0x72df, 0x72ea, 0x72e6, 0x72e3, 0x7385, 0x73cc,
    +    0x73c2, 0x73c8, 0x73c5, 0x73b9, 0x73b6, 0x73b5, 0x73b4, 0x73eb,
    +    0x73bf, 0x73c7, 0x73be, 0x73c3, 0x73c6, 0x73b8, 0x73cb, 0x74ec,
    +    0x74ee, 0x752e, 0x7547, 0x7548, 0x75a7, 0x75aa, 0x7679, 0x76c4,
    +    0x7708, 0x7703, 0x7704, 0x7705, 0x770a, 0x76f7, 0x76fb, 0x76fa,
    +    0x77e7, 0x77e8, 0x7806, 0x7811, 0x7812, 0x7805, 0x7810, 0x780f,
    +    0x780e, 0x7809, 0x7803, 0x7813, 0x794a, 0x794c, 0x794b, 0x7945,
    +    0x7944, 0x79d5, 0x79cd, 0x79cf, 0x79d6, 0x79ce, 0x7a80, 0x003f,
    +    /* lead byte d0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7a7e, 0x7ad1, 0x7b00, 0x7b01, 0x7c7a, 0x7c78, 0x7c79, 0x7c7f,
    +    0x7c80, 0x7c81, 0x7d03, 0x7d08, 0x7d01, 0x7f58, 0x7f91, 0x7f8d,
    +    0x7fbe, 0x8007, 0x800e, 0x800f, 0x8014, 0x8037, 0x80d8, 0x80c7,
    +    0x80e0, 0x80d1, 0x80c8, 0x80c2, 0x80d0, 0x80c5, 0x80e3, 0x80d9,
    +    0x80dc, 0x80ca, 0x80d5, 0x80c9, 0x80cf, 0x80d7, 0x80e6, 0x80cd,
    +    0x81ff, 0x8221, 0x8294, 0x82d9, 0x82fe, 0x82f9, 0x8307, 0x82e8,
    +    0x8300, 0x82d5, 0x833a, 0x82eb, 0x82d6, 0x82f4, 0x82ec, 0x82e1,
    +    0x82f2, 0x82f5, 0x830c, 0x82fb, 0x82f6, 0x82f0, 0x82ea, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x82e4, 0x82e0, 0x82fa, 0x82f3, 0x82ed, 0x8677, 0x8674,
    +    0x867c, 0x8673, 0x8841, 0x884e, 0x8867, 0x886a, 0x8869, 0x89d3,
    +    0x8a04, 0x8a07, 0x8d72, 0x8fe3, 0x8fe1, 0x8fee, 0x8fe0, 0x90f1,
    +    0x90bd, 0x90bf, 0x90d5, 0x90c5, 0x90be, 0x90c7, 0x90cb, 0x90c8,
    +    0x91d4, 0x91d3, 0x9654, 0x964f, 0x9651, 0x9653, 0x964a, 0x964e,
    +    0x501e, 0x5005, 0x5007, 0x5013, 0x5022, 0x5030, 0x501b, 0x4ff5,
    +    0x4ff4, 0x5033, 0x5037, 0x502c, 0x4ff6, 0x4ff7, 0x5017, 0x501c,
    +    0x5020, 0x5027, 0x5035, 0x502f, 0x5031, 0x500e, 0x515a, 0x5194,
    +    0x5193, 0x51ca, 0x51c4, 0x51c5, 0x51c8, 0x51ce, 0x5261, 0x525a,
    +    0x5252, 0x525e, 0x525f, 0x5255, 0x5262, 0x52cd, 0x530e, 0x539e,
    +    0x5526, 0x54e2, 0x5517, 0x5512, 0x54e7, 0x54f3, 0x54e4, 0x551a,
    +    0x54ff, 0x5504, 0x5508, 0x54eb, 0x5511, 0x5505, 0x54f1, 0x003f,
    +    /* lead byte d1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x550a, 0x54fb, 0x54f7, 0x54f8, 0x54e0, 0x550e, 0x5503, 0x550b,
    +    0x5701, 0x5702, 0x57cc, 0x5832, 0x57d5, 0x57d2, 0x57ba, 0x57c6,
    +    0x57bd, 0x57bc, 0x57b8, 0x57b6, 0x57bf, 0x57c7, 0x57d0, 0x57b9,
    +    0x57c1, 0x590e, 0x594a, 0x5a19, 0x5a16, 0x5a2d, 0x5a2e, 0x5a15,
    +    0x5a0f, 0x5a17, 0x5a0a, 0x5a1e, 0x5a33, 0x5b6c, 0x5ba7, 0x5bad,
    +    0x5bac, 0x5c03, 0x5c56, 0x5c54, 0x5cec, 0x5cff, 0x5cee, 0x5cf1,
    +    0x5cf7, 0x5d00, 0x5cf9, 0x5e29, 0x5e28, 0x5ea8, 0x5eae, 0x5eaa,
    +    0x5eac, 0x5f33, 0x5f30, 0x5f67, 0x605d, 0x605a, 0x6067, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6041, 0x60a2, 0x6088, 0x6080, 0x6092, 0x6081, 0x609d,
    +    0x6083, 0x6095, 0x609b, 0x6097, 0x6087, 0x609c, 0x608e, 0x6219,
    +    0x6246, 0x62f2, 0x6310, 0x6356, 0x632c, 0x6344, 0x6345, 0x6336,
    +    0x6343, 0x63e4, 0x6339, 0x634b, 0x634a, 0x633c, 0x6329, 0x6341,
    +    0x6334, 0x6358, 0x6354, 0x6359, 0x632d, 0x6347, 0x6333, 0x635a,
    +    0x6351, 0x6338, 0x6357, 0x6340, 0x6348, 0x654a, 0x6546, 0x65c6,
    +    0x65c3, 0x65c4, 0x65c2, 0x664a, 0x665f, 0x6647, 0x6651, 0x6712,
    +    0x6713, 0x681f, 0x681a, 0x6849, 0x6832, 0x6833, 0x683b, 0x684b,
    +    0x684f, 0x6816, 0x6831, 0x681c, 0x6835, 0x682b, 0x682d, 0x682f,
    +    0x684e, 0x6844, 0x6834, 0x681d, 0x6812, 0x6814, 0x6826, 0x6828,
    +    0x682e, 0x684d, 0x683a, 0x6825, 0x6820, 0x6b2c, 0x6b2f, 0x6b2d,
    +    0x6b31, 0x6b34, 0x6b6d, 0x8082, 0x6b88, 0x6be6, 0x6be4, 0x003f,
    +    /* lead byte d2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6be8, 0x6be3, 0x6be2, 0x6be7, 0x6c25, 0x6d7a, 0x6d63, 0x6d64,
    +    0x6d76, 0x6d0d, 0x6d61, 0x6d92, 0x6d58, 0x6d62, 0x6d6d, 0x6d6f,
    +    0x6d91, 0x6d8d, 0x6def, 0x6d7f, 0x6d86, 0x6d5e, 0x6d67, 0x6d60,
    +    0x6d97, 0x6d70, 0x6d7c, 0x6d5f, 0x6d82, 0x6d98, 0x6d2f, 0x6d68,
    +    0x6d8b, 0x6d7e, 0x6d80, 0x6d84, 0x6d16, 0x6d83, 0x6d7b, 0x6d7d,
    +    0x6d75, 0x6d90, 0x70dc, 0x70d3, 0x70d1, 0x70dd, 0x70cb, 0x7f39,
    +    0x70e2, 0x70d7, 0x70d2, 0x70de, 0x70e0, 0x70d4, 0x70cd, 0x70c5,
    +    0x70c6, 0x70c7, 0x70da, 0x70ce, 0x70e1, 0x7242, 0x7278, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7277, 0x7276, 0x7300, 0x72fa, 0x72f4, 0x72fe, 0x72f6,
    +    0x72f3, 0x72fb, 0x7301, 0x73d3, 0x73d9, 0x73e5, 0x73d6, 0x73bc,
    +    0x73e7, 0x73e3, 0x73e9, 0x73dc, 0x73d2, 0x73db, 0x73d4, 0x73dd,
    +    0x73da, 0x73d7, 0x73d8, 0x73e8, 0x74de, 0x74df, 0x74f4, 0x74f5,
    +    0x7521, 0x755b, 0x755f, 0x75b0, 0x75c1, 0x75bb, 0x75c4, 0x75c0,
    +    0x75bf, 0x75b6, 0x75ba, 0x768a, 0x76c9, 0x771d, 0x771b, 0x7710,
    +    0x7713, 0x7712, 0x7723, 0x7711, 0x7715, 0x7719, 0x771a, 0x7722,
    +    0x7727, 0x7823, 0x782c, 0x7822, 0x7835, 0x782f, 0x7828, 0x782e,
    +    0x782b, 0x7821, 0x7829, 0x7833, 0x782a, 0x7831, 0x7954, 0x795b,
    +    0x794f, 0x795c, 0x7953, 0x7952, 0x7951, 0x79eb, 0x79ec, 0x79e0,
    +    0x79ee, 0x79ed, 0x79ea, 0x79dc, 0x79de, 0x79dd, 0x7a86, 0x7a89,
    +    0x7a85, 0x7a8b, 0x7a8c, 0x7a8a, 0x7a87, 0x7ad8, 0x7b10, 0x003f,
    +    /* lead byte d3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7b04, 0x7b13, 0x7b05, 0x7b0f, 0x7b08, 0x7b0a, 0x7b0e, 0x7b09,
    +    0x7b12, 0x7c84, 0x7c91, 0x7c8a, 0x7c8c, 0x7c88, 0x7c8d, 0x7c85,
    +    0x7d1e, 0x7d1d, 0x7d11, 0x7d0e, 0x7d18, 0x7d16, 0x7d13, 0x7d1f,
    +    0x7d12, 0x7d0f, 0x7d0c, 0x7f5c, 0x7f61, 0x7f5e, 0x7f60, 0x7f5d,
    +    0x7f5b, 0x7f96, 0x7f92, 0x7fc3, 0x7fc2, 0x7fc0, 0x8016, 0x803e,
    +    0x8039, 0x80fa, 0x80f2, 0x80f9, 0x80f5, 0x8101, 0x80fb, 0x8100,
    +    0x8201, 0x822f, 0x8225, 0x8333, 0x832d, 0x8344, 0x8319, 0x8351,
    +    0x8325, 0x8356, 0x833f, 0x8341, 0x8326, 0x831c, 0x8322, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8342, 0x834e, 0x831b, 0x832a, 0x8308, 0x833c, 0x834d,
    +    0x8316, 0x8324, 0x8320, 0x8337, 0x832f, 0x8329, 0x8347, 0x8345,
    +    0x834c, 0x8353, 0x831e, 0x832c, 0x834b, 0x8327, 0x8348, 0x8653,
    +    0x8652, 0x86a2, 0x86a8, 0x8696, 0x868d, 0x8691, 0x869e, 0x8687,
    +    0x8697, 0x8686, 0x868b, 0x869a, 0x8685, 0x86a5, 0x8699, 0x86a1,
    +    0x86a7, 0x8695, 0x8698, 0x868e, 0x869d, 0x8690, 0x8694, 0x8843,
    +    0x8844, 0x886d, 0x8875, 0x8876, 0x8872, 0x8880, 0x8871, 0x887f,
    +    0x886f, 0x8883, 0x887e, 0x8874, 0x887c, 0x8a12, 0x8c47, 0x8c57,
    +    0x8c7b, 0x8ca4, 0x8ca3, 0x8d76, 0x8d78, 0x8db5, 0x8db7, 0x8db6,
    +    0x8ed1, 0x8ed3, 0x8ffe, 0x8ff5, 0x9002, 0x8fff, 0x8ffb, 0x9004,
    +    0x8ffc, 0x8ff6, 0x90d6, 0x90e0, 0x90d9, 0x90da, 0x90e3, 0x90df,
    +    0x90e5, 0x90d8, 0x90db, 0x90d7, 0x90dc, 0x90e4, 0x9150, 0x003f,
    +    /* lead byte d4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x914e, 0x914f, 0x91d5, 0x91e2, 0x91da, 0x965c, 0x965f, 0x96bc,
    +    0x98e3, 0x9adf, 0x9b2f, 0x4e7f, 0x5070, 0x506a, 0x5061, 0x505e,
    +    0x5060, 0x5053, 0x504b, 0x505d, 0x5072, 0x5048, 0x504d, 0x5041,
    +    0x505b, 0x504a, 0x5062, 0x5015, 0x5045, 0x505f, 0x5069, 0x506b,
    +    0x5063, 0x5064, 0x5046, 0x5040, 0x506e, 0x5073, 0x5057, 0x5051,
    +    0x51d0, 0x526b, 0x526d, 0x526c, 0x526e, 0x52d6, 0x52d3, 0x532d,
    +    0x539c, 0x5575, 0x5576, 0x553c, 0x554d, 0x5550, 0x5534, 0x552a,
    +    0x5551, 0x5562, 0x5536, 0x5535, 0x5530, 0x5552, 0x5545, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x550c, 0x5532, 0x5565, 0x554e, 0x5539, 0x5548, 0x552d,
    +    0x553b, 0x5540, 0x554b, 0x570a, 0x5707, 0x57fb, 0x5814, 0x57e2,
    +    0x57f6, 0x57dc, 0x57f4, 0x5800, 0x57ed, 0x57fd, 0x5808, 0x57f8,
    +    0x580b, 0x57f3, 0x57cf, 0x5807, 0x57ee, 0x57e3, 0x57f2, 0x57e5,
    +    0x57ec, 0x57e1, 0x580e, 0x57fc, 0x5810, 0x57e7, 0x5801, 0x580c,
    +    0x57f1, 0x57e9, 0x57f0, 0x580d, 0x5804, 0x595c, 0x5a60, 0x5a58,
    +    0x5a55, 0x5a67, 0x5a5e, 0x5a38, 0x5a35, 0x5a6d, 0x5a50, 0x5a5f,
    +    0x5a65, 0x5a6c, 0x5a53, 0x5a64, 0x5a57, 0x5a43, 0x5a5d, 0x5a52,
    +    0x5a44, 0x5a5b, 0x5a48, 0x5a8e, 0x5a3e, 0x5a4d, 0x5a39, 0x5a4c,
    +    0x5a70, 0x5a69, 0x5a47, 0x5a51, 0x5a56, 0x5a42, 0x5a5c, 0x5b72,
    +    0x5b6e, 0x5bc1, 0x5bc0, 0x5c59, 0x5d1e, 0x5d0b, 0x5d1d, 0x5d1a,
    +    0x5d20, 0x5d0c, 0x5d28, 0x5d0d, 0x5d26, 0x5d25, 0x5d0f, 0x003f,
    +    /* lead byte d5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5d30, 0x5d12, 0x5d23, 0x5d1f, 0x5d2e, 0x5e3e, 0x5e34, 0x5eb1,
    +    0x5eb4, 0x5eb9, 0x5eb2, 0x5eb3, 0x5f36, 0x5f38, 0x5f9b, 0x5f96,
    +    0x5f9f, 0x608a, 0x6090, 0x6086, 0x60be, 0x60b0, 0x60ba, 0x60d3,
    +    0x60d4, 0x60cf, 0x60e4, 0x60d9, 0x60dd, 0x60c8, 0x60b1, 0x60db,
    +    0x60b7, 0x60ca, 0x60bf, 0x60c3, 0x60cd, 0x60c0, 0x6332, 0x6365,
    +    0x638a, 0x6382, 0x637d, 0x63bd, 0x639e, 0x63ad, 0x639d, 0x6397,
    +    0x63ab, 0x638e, 0x636f, 0x6387, 0x6390, 0x636e, 0x63af, 0x6375,
    +    0x639c, 0x636d, 0x63ae, 0x637c, 0x63a4, 0x633b, 0x639f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6378, 0x6385, 0x6381, 0x6391, 0x638d, 0x6370, 0x6553,
    +    0x65cd, 0x6665, 0x6661, 0x665b, 0x6659, 0x665c, 0x6662, 0x6718,
    +    0x6879, 0x6887, 0x6890, 0x689c, 0x686d, 0x686e, 0x68ae, 0x68ab,
    +    0x6956, 0x686f, 0x68a3, 0x68ac, 0x68a9, 0x6875, 0x6874, 0x68b2,
    +    0x688f, 0x6877, 0x6892, 0x687c, 0x686b, 0x6872, 0x68aa, 0x6880,
    +    0x6871, 0x687e, 0x689b, 0x6896, 0x688b, 0x68a0, 0x6889, 0x68a4,
    +    0x6878, 0x687b, 0x6891, 0x688c, 0x688a, 0x687d, 0x6b36, 0x6b33,
    +    0x6b37, 0x6b38, 0x6b91, 0x6b8f, 0x6b8d, 0x6b8e, 0x6b8c, 0x6c2a,
    +    0x6dc0, 0x6dab, 0x6db4, 0x6db3, 0x6e74, 0x6dac, 0x6de9, 0x6de2,
    +    0x6db7, 0x6df6, 0x6dd4, 0x6e00, 0x6dc8, 0x6de0, 0x6ddf, 0x6dd6,
    +    0x6dbe, 0x6de5, 0x6ddc, 0x6ddd, 0x6ddb, 0x6df4, 0x6dca, 0x6dbd,
    +    0x6ded, 0x6df0, 0x6dba, 0x6dd5, 0x6dc2, 0x6dcf, 0x6dc9, 0x003f,
    +    /* lead byte d6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6dd0, 0x6df2, 0x6dd3, 0x6dfd, 0x6dd7, 0x6dcd, 0x6de3, 0x6dbb,
    +    0x70fa, 0x710d, 0x70f7, 0x7117, 0x70f4, 0x710c, 0x70f0, 0x7104,
    +    0x70f3, 0x7110, 0x70fc, 0x70ff, 0x7106, 0x7113, 0x7100, 0x70f8,
    +    0x70f6, 0x710b, 0x7102, 0x710e, 0x727e, 0x727b, 0x727c, 0x727f,
    +    0x731d, 0x7317, 0x7307, 0x7311, 0x7318, 0x730a, 0x7308, 0x72ff,
    +    0x730f, 0x731e, 0x7388, 0x73f6, 0x73f8, 0x73f5, 0x7404, 0x7401,
    +    0x73fd, 0x7407, 0x7400, 0x73fa, 0x73fc, 0x73ff, 0x740c, 0x740b,
    +    0x73f4, 0x7408, 0x7564, 0x7563, 0x75ce, 0x75d2, 0x75cf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x75cb, 0x75cc, 0x75d1, 0x75d0, 0x768f, 0x7689, 0x76d3,
    +    0x7739, 0x772f, 0x772d, 0x7731, 0x7732, 0x7734, 0x7733, 0x773d,
    +    0x7725, 0x773b, 0x7735, 0x7848, 0x7852, 0x7849, 0x784d, 0x784a,
    +    0x784c, 0x7826, 0x7845, 0x7850, 0x7964, 0x7967, 0x7969, 0x796a,
    +    0x7963, 0x796b, 0x7961, 0x79bb, 0x79fa, 0x79f8, 0x79f6, 0x79f7,
    +    0x7a8f, 0x7a94, 0x7a90, 0x7b35, 0x7b47, 0x7b34, 0x7b25, 0x7b30,
    +    0x7b22, 0x7b24, 0x7b33, 0x7b18, 0x7b2a, 0x7b1d, 0x7b31, 0x7b2b,
    +    0x7b2d, 0x7b2f, 0x7b32, 0x7b38, 0x7b1a, 0x7b23, 0x7c94, 0x7c98,
    +    0x7c96, 0x7ca3, 0x7d35, 0x7d3d, 0x7d38, 0x7d36, 0x7d3a, 0x7d45,
    +    0x7d2c, 0x7d29, 0x7d41, 0x7d47, 0x7d3e, 0x7d3f, 0x7d4a, 0x7d3b,
    +    0x7d28, 0x7f63, 0x7f95, 0x7f9c, 0x7f9d, 0x7f9b, 0x7fca, 0x7fcb,
    +    0x7fcd, 0x7fd0, 0x7fd1, 0x7fc7, 0x7fcf, 0x7fc9, 0x801f, 0x003f,
    +    /* lead byte d7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x801e, 0x801b, 0x8047, 0x8043, 0x8048, 0x8118, 0x8125, 0x8119,
    +    0x811b, 0x812d, 0x811f, 0x812c, 0x811e, 0x8121, 0x8115, 0x8127,
    +    0x811d, 0x8122, 0x8211, 0x8238, 0x8233, 0x823a, 0x8234, 0x8232,
    +    0x8274, 0x8390, 0x83a3, 0x83a8, 0x838d, 0x837a, 0x8373, 0x83a4,
    +    0x8374, 0x838f, 0x8381, 0x8395, 0x8399, 0x8375, 0x8394, 0x83a9,
    +    0x837d, 0x8383, 0x838c, 0x839d, 0x839b, 0x83aa, 0x838b, 0x837e,
    +    0x83a5, 0x83af, 0x8388, 0x8397, 0x83b0, 0x837f, 0x83a6, 0x8387,
    +    0x83ae, 0x8376, 0x839a, 0x8659, 0x8656, 0x86bf, 0x86b7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x86c2, 0x86c1, 0x86c5, 0x86ba, 0x86b0, 0x86c8, 0x86b9,
    +    0x86b3, 0x86b8, 0x86cc, 0x86b4, 0x86bb, 0x86bc, 0x86c3, 0x86bd,
    +    0x86be, 0x8852, 0x8889, 0x8895, 0x88a8, 0x88a2, 0x88aa, 0x889a,
    +    0x8891, 0x88a1, 0x889f, 0x8898, 0x88a7, 0x8899, 0x889b, 0x8897,
    +    0x88a4, 0x88ac, 0x888c, 0x8893, 0x888e, 0x8982, 0x89d6, 0x89d9,
    +    0x89d5, 0x8a30, 0x8a27, 0x8a2c, 0x8a1e, 0x8c39, 0x8c3b, 0x8c5c,
    +    0x8c5d, 0x8c7d, 0x8ca5, 0x8d7d, 0x8d7b, 0x8d79, 0x8dbc, 0x8dc2,
    +    0x8db9, 0x8dbf, 0x8dc1, 0x8ed8, 0x8ede, 0x8edd, 0x8edc, 0x8ed7,
    +    0x8ee0, 0x8ee1, 0x9024, 0x900b, 0x9011, 0x901c, 0x900c, 0x9021,
    +    0x90ef, 0x90ea, 0x90f0, 0x90f4, 0x90f2, 0x90f3, 0x90d4, 0x90eb,
    +    0x90ec, 0x90e9, 0x9156, 0x9158, 0x915a, 0x9153, 0x9155, 0x91ec,
    +    0x91f4, 0x91f1, 0x91f3, 0x91f8, 0x91e4, 0x91f9, 0x91ea, 0x003f,
    +    /* lead byte d8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x91eb, 0x91f7, 0x91e8, 0x91ee, 0x957a, 0x9586, 0x9588, 0x967c,
    +    0x966d, 0x966b, 0x9671, 0x966f, 0x96bf, 0x976a, 0x9804, 0x98e5,
    +    0x9997, 0x509b, 0x5095, 0x5094, 0x509e, 0x508b, 0x50a3, 0x5083,
    +    0x508c, 0x508e, 0x509d, 0x5068, 0x509c, 0x5092, 0x5082, 0x5087,
    +    0x515f, 0x51d4, 0x5312, 0x5311, 0x53a4, 0x53a7, 0x5591, 0x55a8,
    +    0x55a5, 0x55ad, 0x5577, 0x5645, 0x55a2, 0x5593, 0x5588, 0x558f,
    +    0x55b5, 0x5581, 0x55a3, 0x5592, 0x55a4, 0x557d, 0x558c, 0x55a6,
    +    0x557f, 0x5595, 0x55a1, 0x558e, 0x570c, 0x5829, 0x5837, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5819, 0x581e, 0x5827, 0x5823, 0x5828, 0x57f5, 0x5848,
    +    0x5825, 0x581c, 0x581b, 0x5833, 0x583f, 0x5836, 0x582e, 0x5839,
    +    0x5838, 0x582d, 0x582c, 0x583b, 0x5961, 0x5aaf, 0x5a94, 0x5a9f,
    +    0x5a7a, 0x5aa2, 0x5a9e, 0x5a78, 0x5aa6, 0x5a7c, 0x5aa5, 0x5aac,
    +    0x5a95, 0x5aae, 0x5a37, 0x5a84, 0x5a8a, 0x5a97, 0x5a83, 0x5a8b,
    +    0x5aa9, 0x5a7b, 0x5a7d, 0x5a8c, 0x5a9c, 0x5a8f, 0x5a93, 0x5a9d,
    +    0x5bea, 0x5bcd, 0x5bcb, 0x5bd4, 0x5bd1, 0x5bca, 0x5bce, 0x5c0c,
    +    0x5c30, 0x5d37, 0x5d43, 0x5d6b, 0x5d41, 0x5d4b, 0x5d3f, 0x5d35,
    +    0x5d51, 0x5d4e, 0x5d55, 0x5d33, 0x5d3a, 0x5d52, 0x5d3d, 0x5d31,
    +    0x5d59, 0x5d42, 0x5d39, 0x5d49, 0x5d38, 0x5d3c, 0x5d32, 0x5d36,
    +    0x5d40, 0x5d45, 0x5e44, 0x5e41, 0x5f58, 0x5fa6, 0x5fa5, 0x5fab,
    +    0x60c9, 0x60b9, 0x60cc, 0x60e2, 0x60ce, 0x60c4, 0x6114, 0x003f,
    +    /* lead byte d9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x60f2, 0x610a, 0x6116, 0x6105, 0x60f5, 0x6113, 0x60f8, 0x60fc,
    +    0x60fe, 0x60c1, 0x6103, 0x6118, 0x611d, 0x6110, 0x60ff, 0x6104,
    +    0x610b, 0x624a, 0x6394, 0x63b1, 0x63b0, 0x63ce, 0x63e5, 0x63e8,
    +    0x63ef, 0x63c3, 0x649d, 0x63f3, 0x63ca, 0x63e0, 0x63f6, 0x63d5,
    +    0x63f2, 0x63f5, 0x6461, 0x63df, 0x63be, 0x63dd, 0x63dc, 0x63c4,
    +    0x63d8, 0x63d3, 0x63c2, 0x63c7, 0x63cc, 0x63cb, 0x63c8, 0x63f0,
    +    0x63d7, 0x63d9, 0x6532, 0x6567, 0x656a, 0x6564, 0x655c, 0x6568,
    +    0x6565, 0x658c, 0x659d, 0x659e, 0x65ae, 0x65d0, 0x65d2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x667c, 0x666c, 0x667b, 0x6680, 0x6671, 0x6679, 0x666a,
    +    0x6672, 0x6701, 0x690c, 0x68d3, 0x6904, 0x68dc, 0x692a, 0x68ec,
    +    0x68ea, 0x68f1, 0x690f, 0x68d6, 0x68f7, 0x68eb, 0x68e4, 0x68f6,
    +    0x6913, 0x6910, 0x68f3, 0x68e1, 0x6907, 0x68cc, 0x6908, 0x6970,
    +    0x68b4, 0x6911, 0x68ef, 0x68c6, 0x6914, 0x68f8, 0x68d0, 0x68fd,
    +    0x68fc, 0x68e8, 0x690b, 0x690a, 0x6917, 0x68ce, 0x68c8, 0x68dd,
    +    0x68de, 0x68e6, 0x68f4, 0x68d1, 0x6906, 0x68d4, 0x68e9, 0x6915,
    +    0x6925, 0x68c7, 0x6b39, 0x6b3b, 0x6b3f, 0x6b3c, 0x6b94, 0x6b97,
    +    0x6b99, 0x6b95, 0x6bbd, 0x6bf0, 0x6bf2, 0x6bf3, 0x6c30, 0x6dfc,
    +    0x6e46, 0x6e47, 0x6e1f, 0x6e49, 0x6e88, 0x6e3c, 0x6e3d, 0x6e45,
    +    0x6e62, 0x6e2b, 0x6e3f, 0x6e41, 0x6e5d, 0x6e73, 0x6e1c, 0x6e33,
    +    0x6e4b, 0x6e40, 0x6e51, 0x6e3b, 0x6e03, 0x6e2e, 0x6e5e, 0x003f,
    +    /* lead byte da */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6e68, 0x6e5c, 0x6e61, 0x6e31, 0x6e28, 0x6e60, 0x6e71, 0x6e6b,
    +    0x6e39, 0x6e22, 0x6e30, 0x6e53, 0x6e65, 0x6e27, 0x6e78, 0x6e64,
    +    0x6e77, 0x6e55, 0x6e79, 0x6e52, 0x6e66, 0x6e35, 0x6e36, 0x6e5a,
    +    0x7120, 0x711e, 0x712f, 0x70fb, 0x712e, 0x7131, 0x7123, 0x7125,
    +    0x7122, 0x7132, 0x711f, 0x7128, 0x713a, 0x711b, 0x724b, 0x725a,
    +    0x7288, 0x7289, 0x7286, 0x7285, 0x728b, 0x7312, 0x730b, 0x7330,
    +    0x7322, 0x7331, 0x7333, 0x7327, 0x7332, 0x732d, 0x7326, 0x7323,
    +    0x7335, 0x730c, 0x742e, 0x742c, 0x7430, 0x742b, 0x7416, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x741a, 0x7421, 0x742d, 0x7431, 0x7424, 0x7423, 0x741d,
    +    0x7429, 0x7420, 0x7432, 0x74fb, 0x752f, 0x756f, 0x756c, 0x75e7,
    +    0x75da, 0x75e1, 0x75e6, 0x75dd, 0x75df, 0x75e4, 0x75d7, 0x7695,
    +    0x7692, 0x76da, 0x7746, 0x7747, 0x7744, 0x774d, 0x7745, 0x774a,
    +    0x774e, 0x774b, 0x774c, 0x77de, 0x77ec, 0x7860, 0x7864, 0x7865,
    +    0x785c, 0x786d, 0x7871, 0x786a, 0x786e, 0x7870, 0x7869, 0x7868,
    +    0x785e, 0x7862, 0x7974, 0x7973, 0x7972, 0x7970, 0x7a02, 0x7a0a,
    +    0x7a03, 0x7a0c, 0x7a04, 0x7a99, 0x7ae6, 0x7ae4, 0x7b4a, 0x7b3b,
    +    0x7b44, 0x7b48, 0x7b4c, 0x7b4e, 0x7b40, 0x7b58, 0x7b45, 0x7ca2,
    +    0x7c9e, 0x7ca8, 0x7ca1, 0x7d58, 0x7d6f, 0x7d63, 0x7d53, 0x7d56,
    +    0x7d67, 0x7d6a, 0x7d4f, 0x7d6d, 0x7d5c, 0x7d6b, 0x7d52, 0x7d54,
    +    0x7d69, 0x7d51, 0x7d5f, 0x7d4e, 0x7f3e, 0x7f3f, 0x7f65, 0x003f,
    +    /* lead byte db */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7f66, 0x7fa2, 0x7fa0, 0x7fa1, 0x7fd7, 0x8051, 0x804f, 0x8050,
    +    0x80fe, 0x80d4, 0x8143, 0x814a, 0x8152, 0x814f, 0x8147, 0x813d,
    +    0x814d, 0x813a, 0x81e6, 0x81ee, 0x81f7, 0x81f8, 0x81f9, 0x8204,
    +    0x823c, 0x823d, 0x823f, 0x8275, 0x833b, 0x83cf, 0x83f9, 0x8423,
    +    0x83c0, 0x83e8, 0x8412, 0x83e7, 0x83e4, 0x83fc, 0x83f6, 0x8410,
    +    0x83c6, 0x83c8, 0x83eb, 0x83e3, 0x83bf, 0x8401, 0x83dd, 0x83e5,
    +    0x83d8, 0x83ff, 0x83e1, 0x83cb, 0x83ce, 0x83d6, 0x83f5, 0x83c9,
    +    0x8409, 0x840f, 0x83de, 0x8411, 0x8406, 0x83c2, 0x83f3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x83d5, 0x83fa, 0x83c7, 0x83d1, 0x83ea, 0x8413, 0x83c3,
    +    0x83ec, 0x83ee, 0x83c4, 0x83fb, 0x83d7, 0x83e2, 0x841b, 0x83db,
    +    0x83fe, 0x86d8, 0x86e2, 0x86e6, 0x86d3, 0x86e3, 0x86da, 0x86ea,
    +    0x86dd, 0x86eb, 0x86dc, 0x86ec, 0x86e9, 0x86d7, 0x86e8, 0x86d1,
    +    0x8848, 0x8856, 0x8855, 0x88ba, 0x88d7, 0x88b9, 0x88b8, 0x88c0,
    +    0x88be, 0x88b6, 0x88bc, 0x88b7, 0x88bd, 0x88b2, 0x8901, 0x88c9,
    +    0x8995, 0x8998, 0x8997, 0x89dd, 0x89da, 0x89db, 0x8a4e, 0x8a4d,
    +    0x8a39, 0x8a59, 0x8a40, 0x8a57, 0x8a58, 0x8a44, 0x8a45, 0x8a52,
    +    0x8a48, 0x8a51, 0x8a4a, 0x8a4c, 0x8a4f, 0x8c5f, 0x8c81, 0x8c80,
    +    0x8cba, 0x8cbe, 0x8cb0, 0x8cb9, 0x8cb5, 0x8d84, 0x8d80, 0x8d89,
    +    0x8dd8, 0x8dd3, 0x8dcd, 0x8dc7, 0x8dd6, 0x8ddc, 0x8dcf, 0x8dd5,
    +    0x8dd9, 0x8dc8, 0x8dd7, 0x8dc5, 0x8eef, 0x8ef7, 0x8efa, 0x003f,
    +    /* lead byte dc */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8ef9, 0x8ee6, 0x8eee, 0x8ee5, 0x8ef5, 0x8ee7, 0x8ee8, 0x8ef6,
    +    0x8eeb, 0x8ef1, 0x8eec, 0x8ef4, 0x8ee9, 0x902d, 0x9034, 0x902f,
    +    0x9106, 0x912c, 0x9104, 0x90ff, 0x90fc, 0x9108, 0x90f9, 0x90fb,
    +    0x9101, 0x9100, 0x9107, 0x9105, 0x9103, 0x9161, 0x9164, 0x915f,
    +    0x9162, 0x9160, 0x9201, 0x920a, 0x9225, 0x9203, 0x921a, 0x9226,
    +    0x920f, 0x920c, 0x9200, 0x9212, 0x91ff, 0x91fd, 0x9206, 0x9204,
    +    0x9227, 0x9202, 0x921c, 0x9224, 0x9219, 0x9217, 0x9205, 0x9216,
    +    0x957b, 0x958d, 0x958c, 0x9590, 0x9687, 0x967e, 0x9688, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9689, 0x9683, 0x9680, 0x96c2, 0x96c8, 0x96c3, 0x96f1,
    +    0x96f0, 0x976c, 0x9770, 0x976e, 0x9807, 0x98a9, 0x98eb, 0x9ce6,
    +    0x9ef9, 0x4e83, 0x4e84, 0x4eb6, 0x50bd, 0x50bf, 0x50c6, 0x50ae,
    +    0x50c4, 0x50ca, 0x50b4, 0x50c8, 0x50c2, 0x50b0, 0x50c1, 0x50ba,
    +    0x50b1, 0x50cb, 0x50c9, 0x50b6, 0x50b8, 0x51d7, 0x527a, 0x5278,
    +    0x527b, 0x527c, 0x55c3, 0x55db, 0x55cc, 0x55d0, 0x55cb, 0x55ca,
    +    0x55dd, 0x55c0, 0x55d4, 0x55c4, 0x55e9, 0x55bf, 0x55d2, 0x558d,
    +    0x55cf, 0x55d5, 0x55e2, 0x55d6, 0x55c8, 0x55f2, 0x55cd, 0x55d9,
    +    0x55c2, 0x5714, 0x5853, 0x5868, 0x5864, 0x584f, 0x584d, 0x5849,
    +    0x586f, 0x5855, 0x584e, 0x585d, 0x5859, 0x5865, 0x585b, 0x583d,
    +    0x5863, 0x5871, 0x58fc, 0x5ac7, 0x5ac4, 0x5acb, 0x5aba, 0x5ab8,
    +    0x5ab1, 0x5ab5, 0x5ab0, 0x5abf, 0x5ac8, 0x5abb, 0x5ac6, 0x003f,
    +    /* lead byte dd */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5ab7, 0x5ac0, 0x5aca, 0x5ab4, 0x5ab6, 0x5acd, 0x5ab9, 0x5a90,
    +    0x5bd6, 0x5bd8, 0x5bd9, 0x5c1f, 0x5c33, 0x5d71, 0x5d63, 0x5d4a,
    +    0x5d65, 0x5d72, 0x5d6c, 0x5d5e, 0x5d68, 0x5d67, 0x5d62, 0x5df0,
    +    0x5e4f, 0x5e4e, 0x5e4a, 0x5e4d, 0x5e4b, 0x5ec5, 0x5ecc, 0x5ec6,
    +    0x5ecb, 0x5ec7, 0x5f40, 0x5faf, 0x5fad, 0x60f7, 0x6149, 0x614a,
    +    0x612b, 0x6145, 0x6136, 0x6132, 0x612e, 0x6146, 0x612f, 0x614f,
    +    0x6129, 0x6140, 0x6220, 0x9168, 0x6223, 0x6225, 0x6224, 0x63c5,
    +    0x63f1, 0x63eb, 0x6410, 0x6412, 0x6409, 0x6420, 0x6424, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6433, 0x6443, 0x641f, 0x6415, 0x6418, 0x6439, 0x6437,
    +    0x6422, 0x6423, 0x640c, 0x6426, 0x6430, 0x6428, 0x6441, 0x6435,
    +    0x642f, 0x640a, 0x641a, 0x6440, 0x6425, 0x6427, 0x640b, 0x63e7,
    +    0x641b, 0x642e, 0x6421, 0x640e, 0x656f, 0x6592, 0x65d3, 0x6686,
    +    0x668c, 0x6695, 0x6690, 0x668b, 0x668a, 0x6699, 0x6694, 0x6678,
    +    0x6720, 0x6966, 0x695f, 0x6938, 0x694e, 0x6962, 0x6971, 0x693f,
    +    0x6945, 0x696a, 0x6939, 0x6942, 0x6957, 0x6959, 0x697a, 0x6948,
    +    0x6949, 0x6935, 0x696c, 0x6933, 0x693d, 0x6965, 0x68f0, 0x6978,
    +    0x6934, 0x6969, 0x6940, 0x696f, 0x6944, 0x6976, 0x6958, 0x6941,
    +    0x6974, 0x694c, 0x693b, 0x694b, 0x6937, 0x695c, 0x694f, 0x6951,
    +    0x6932, 0x6952, 0x692f, 0x697b, 0x693c, 0x6b46, 0x6b45, 0x6b43,
    +    0x6b42, 0x6b48, 0x6b41, 0x6b9b, 0xfa0d, 0x6bfb, 0x6bfc, 0x003f,
    +    /* lead byte de */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6bf9, 0x6bf7, 0x6bf8, 0x6e9b, 0x6ed6, 0x6ec8, 0x6e8f, 0x6ec0,
    +    0x6e9f, 0x6e93, 0x6e94, 0x6ea0, 0x6eb1, 0x6eb9, 0x6ec6, 0x6ed2,
    +    0x6ebd, 0x6ec1, 0x6e9e, 0x6ec9, 0x6eb7, 0x6eb0, 0x6ecd, 0x6ea6,
    +    0x6ecf, 0x6eb2, 0x6ebe, 0x6ec3, 0x6edc, 0x6ed8, 0x6e99, 0x6e92,
    +    0x6e8e, 0x6e8d, 0x6ea4, 0x6ea1, 0x6ebf, 0x6eb3, 0x6ed0, 0x6eca,
    +    0x6e97, 0x6eae, 0x6ea3, 0x7147, 0x7154, 0x7152, 0x7163, 0x7160,
    +    0x7141, 0x715d, 0x7162, 0x7172, 0x7178, 0x716a, 0x7161, 0x7142,
    +    0x7158, 0x7143, 0x714b, 0x7170, 0x715f, 0x7150, 0x7153, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7144, 0x714d, 0x715a, 0x724f, 0x728d, 0x728c, 0x7291,
    +    0x7290, 0x728e, 0x733c, 0x7342, 0x733b, 0x733a, 0x7340, 0x734a,
    +    0x7349, 0x7444, 0x744a, 0x744b, 0x7452, 0x7451, 0x7457, 0x7440,
    +    0x744f, 0x7450, 0x744e, 0x7442, 0x7446, 0x744d, 0x7454, 0x74e1,
    +    0x74ff, 0x74fe, 0x74fd, 0x751d, 0x7579, 0x7577, 0x6983, 0x75ef,
    +    0x760f, 0x7603, 0x75f7, 0x75fe, 0x75fc, 0x75f9, 0x75f8, 0x7610,
    +    0x75fb, 0x75f6, 0x75ed, 0x75f5, 0x75fd, 0x7699, 0x76b5, 0x76dd,
    +    0x7755, 0x775f, 0x7760, 0x7752, 0x7756, 0x775a, 0x7769, 0x7767,
    +    0x7754, 0x7759, 0x776d, 0x77e0, 0x7887, 0x789a, 0x7894, 0x788f,
    +    0x7884, 0x7895, 0x7885, 0x7886, 0x78a1, 0x7883, 0x7879, 0x7899,
    +    0x7880, 0x7896, 0x787b, 0x797c, 0x7982, 0x797d, 0x7979, 0x7a11,
    +    0x7a18, 0x7a19, 0x7a12, 0x7a17, 0x7a15, 0x7a22, 0x7a13, 0x003f,
    +    /* lead byte df */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7a1b, 0x7a10, 0x7aa3, 0x7aa2, 0x7a9e, 0x7aeb, 0x7b66, 0x7b64,
    +    0x7b6d, 0x7b74, 0x7b69, 0x7b72, 0x7b65, 0x7b73, 0x7b71, 0x7b70,
    +    0x7b61, 0x7b78, 0x7b76, 0x7b63, 0x7cb2, 0x7cb4, 0x7caf, 0x7d88,
    +    0x7d86, 0x7d80, 0x7d8d, 0x7d7f, 0x7d85, 0x7d7a, 0x7d8e, 0x7d7b,
    +    0x7d83, 0x7d7c, 0x7d8c, 0x7d94, 0x7d84, 0x7d7d, 0x7d92, 0x7f6d,
    +    0x7f6b, 0x7f67, 0x7f68, 0x7f6c, 0x7fa6, 0x7fa5, 0x7fa7, 0x7fdb,
    +    0x7fdc, 0x8021, 0x8164, 0x8160, 0x8177, 0x815c, 0x8169, 0x815b,
    +    0x8162, 0x8172, 0x6721, 0x815e, 0x8176, 0x8167, 0x816f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8144, 0x8161, 0x821d, 0x8249, 0x8244, 0x8240, 0x8242,
    +    0x8245, 0x84f1, 0x843f, 0x8456, 0x8476, 0x8479, 0x848f, 0x848d,
    +    0x8465, 0x8451, 0x8440, 0x8486, 0x8467, 0x8430, 0x844d, 0x847d,
    +    0x845a, 0x8459, 0x8474, 0x8473, 0x845d, 0x8507, 0x845e, 0x8437,
    +    0x843a, 0x8434, 0x847a, 0x8443, 0x8478, 0x8432, 0x8445, 0x8429,
    +    0x83d9, 0x844b, 0x842f, 0x8442, 0x842d, 0x845f, 0x8470, 0x8439,
    +    0x844e, 0x844c, 0x8452, 0x846f, 0x84c5, 0x848e, 0x843b, 0x8447,
    +    0x8436, 0x8433, 0x8468, 0x847e, 0x8444, 0x842b, 0x8460, 0x8454,
    +    0x846e, 0x8450, 0x870b, 0x8704, 0x86f7, 0x870c, 0x86fa, 0x86d6,
    +    0x86f5, 0x874d, 0x86f8, 0x870e, 0x8709, 0x8701, 0x86f6, 0x870d,
    +    0x8705, 0x88d6, 0x88cb, 0x88cd, 0x88ce, 0x88de, 0x88db, 0x88da,
    +    0x88cc, 0x88d0, 0x8985, 0x899b, 0x89df, 0x89e5, 0x89e4, 0x003f,
    +    /* lead byte e0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x89e1, 0x89e0, 0x89e2, 0x89dc, 0x89e6, 0x8a76, 0x8a86, 0x8a7f,
    +    0x8a61, 0x8a3f, 0x8a77, 0x8a82, 0x8a84, 0x8a75, 0x8a83, 0x8a81,
    +    0x8a74, 0x8a7a, 0x8c3c, 0x8c4b, 0x8c4a, 0x8c65, 0x8c64, 0x8c66,
    +    0x8c86, 0x8c84, 0x8c85, 0x8ccc, 0x8d68, 0x8d69, 0x8d91, 0x8d8c,
    +    0x8d8e, 0x8d8f, 0x8d8d, 0x8d93, 0x8d94, 0x8d90, 0x8d92, 0x8df0,
    +    0x8de0, 0x8dec, 0x8df1, 0x8dee, 0x8dd0, 0x8de9, 0x8de3, 0x8de2,
    +    0x8de7, 0x8df2, 0x8deb, 0x8df4, 0x8f06, 0x8eff, 0x8f01, 0x8f00,
    +    0x8f05, 0x8f07, 0x8f08, 0x8f02, 0x8f0b, 0x9052, 0x903f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9044, 0x9049, 0x903d, 0x9110, 0x910d, 0x910f, 0x9111,
    +    0x9116, 0x9114, 0x910b, 0x910e, 0x916e, 0x916f, 0x9248, 0x9252,
    +    0x9230, 0x923a, 0x9266, 0x9233, 0x9265, 0x925e, 0x9283, 0x922e,
    +    0x924a, 0x9246, 0x926d, 0x926c, 0x924f, 0x9260, 0x9267, 0x926f,
    +    0x9236, 0x9261, 0x9270, 0x9231, 0x9254, 0x9263, 0x9250, 0x9272,
    +    0x924e, 0x9253, 0x924c, 0x9256, 0x9232, 0x959f, 0x959c, 0x959e,
    +    0x959b, 0x9692, 0x9693, 0x9691, 0x9697, 0x96ce, 0x96fa, 0x96fd,
    +    0x96f8, 0x96f5, 0x9773, 0x9777, 0x9778, 0x9772, 0x980f, 0x980d,
    +    0x980e, 0x98ac, 0x98f6, 0x98f9, 0x99af, 0x99b2, 0x99b0, 0x99b5,
    +    0x9aad, 0x9aab, 0x9b5b, 0x9cea, 0x9ced, 0x9ce7, 0x9e80, 0x9efd,
    +    0x50e6, 0x50d4, 0x50d7, 0x50e8, 0x50f3, 0x50db, 0x50ea, 0x50dd,
    +    0x50e4, 0x50d3, 0x50ec, 0x50f0, 0x50ef, 0x50e3, 0x50e0, 0x003f,
    +    /* lead byte e1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x51d8, 0x5280, 0x5281, 0x52e9, 0x52eb, 0x5330, 0x53ac, 0x5627,
    +    0x5615, 0x560c, 0x5612, 0x55fc, 0x560f, 0x561c, 0x5601, 0x5613,
    +    0x5602, 0x55fa, 0x561d, 0x5604, 0x55ff, 0x55f9, 0x5889, 0x587c,
    +    0x5890, 0x5898, 0x5886, 0x5881, 0x587f, 0x5874, 0x588b, 0x587a,
    +    0x5887, 0x5891, 0x588e, 0x5876, 0x5882, 0x5888, 0x587b, 0x5894,
    +    0x588f, 0x58fe, 0x596b, 0x5adc, 0x5aee, 0x5ae5, 0x5ad5, 0x5aea,
    +    0x5ada, 0x5aed, 0x5aeb, 0x5af3, 0x5ae2, 0x5ae0, 0x5adb, 0x5aec,
    +    0x5ade, 0x5add, 0x5ad9, 0x5ae8, 0x5adf, 0x5b77, 0x5be0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x5be3, 0x5c63, 0x5d82, 0x5d80, 0x5d7d, 0x5d86, 0x5d7a,
    +    0x5d81, 0x5d77, 0x5d8a, 0x5d89, 0x5d88, 0x5d7e, 0x5d7c, 0x5d8d,
    +    0x5d79, 0x5d7f, 0x5e58, 0x5e59, 0x5e53, 0x5ed8, 0x5ed1, 0x5ed7,
    +    0x5ece, 0x5edc, 0x5ed5, 0x5ed9, 0x5ed2, 0x5ed4, 0x5f44, 0x5f43,
    +    0x5f6f, 0x5fb6, 0x612c, 0x6128, 0x6141, 0x615e, 0x6171, 0x6173,
    +    0x6152, 0x6153, 0x6172, 0x616c, 0x6180, 0x6174, 0x6154, 0x617a,
    +    0x615b, 0x6165, 0x613b, 0x616a, 0x6161, 0x6156, 0x6229, 0x6227,
    +    0x622b, 0x642b, 0x644d, 0x645b, 0x645d, 0x6474, 0x6476, 0x6472,
    +    0x6473, 0x647d, 0x6475, 0x6466, 0x64a6, 0x644e, 0x6482, 0x645e,
    +    0x645c, 0x644b, 0x6453, 0x6460, 0x6450, 0x647f, 0x643f, 0x646c,
    +    0x646b, 0x6459, 0x6465, 0x6477, 0x6573, 0x65a0, 0x66a1, 0x66a0,
    +    0x669f, 0x6705, 0x6704, 0x6722, 0x69b1, 0x69b6, 0x69c9, 0x003f,
    +    /* lead byte e2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x69a0, 0x69ce, 0x6996, 0x69b0, 0x69ac, 0x69bc, 0x6991, 0x6999,
    +    0x698e, 0x69a7, 0x698d, 0x69a9, 0x69be, 0x69af, 0x69bf, 0x69c4,
    +    0x69bd, 0x69a4, 0x69d4, 0x69b9, 0x69ca, 0x699a, 0x69cf, 0x69b3,
    +    0x6993, 0x69aa, 0x69a1, 0x699e, 0x69d9, 0x6997, 0x6990, 0x69c2,
    +    0x69b5, 0x69a5, 0x69c6, 0x6b4a, 0x6b4d, 0x6b4b, 0x6b9e, 0x6b9f,
    +    0x6ba0, 0x6bc3, 0x6bc4, 0x6bfe, 0x6ece, 0x6ef5, 0x6ef1, 0x6f03,
    +    0x6f25, 0x6ef8, 0x6f37, 0x6efb, 0x6f2e, 0x6f09, 0x6f4e, 0x6f19,
    +    0x6f1a, 0x6f27, 0x6f18, 0x6f3b, 0x6f12, 0x6eed, 0x6f0a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x6f36, 0x6f73, 0x6ef9, 0x6eee, 0x6f2d, 0x6f40, 0x6f30,
    +    0x6f3c, 0x6f35, 0x6eeb, 0x6f07, 0x6f0e, 0x6f43, 0x6f05, 0x6efd,
    +    0x6ef6, 0x6f39, 0x6f1c, 0x6efc, 0x6f3a, 0x6f1f, 0x6f0d, 0x6f1e,
    +    0x6f08, 0x6f21, 0x7187, 0x7190, 0x7189, 0x7180, 0x7185, 0x7182,
    +    0x718f, 0x717b, 0x7186, 0x7181, 0x7197, 0x7244, 0x7253, 0x7297,
    +    0x7295, 0x7293, 0x7343, 0x734d, 0x7351, 0x734c, 0x7462, 0x7473,
    +    0x7471, 0x7475, 0x7472, 0x7467, 0x746e, 0x7500, 0x7502, 0x7503,
    +    0x757d, 0x7590, 0x7616, 0x7608, 0x760c, 0x7615, 0x7611, 0x760a,
    +    0x7614, 0x76b8, 0x7781, 0x777c, 0x7785, 0x7782, 0x776e, 0x7780,
    +    0x776f, 0x777e, 0x7783, 0x78b2, 0x78aa, 0x78b4, 0x78ad, 0x78a8,
    +    0x787e, 0x78ab, 0x789e, 0x78a5, 0x78a0, 0x78ac, 0x78a2, 0x78a4,
    +    0x7998, 0x798a, 0x798b, 0x7996, 0x7995, 0x7994, 0x7993, 0x003f,
    +    /* lead byte e3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7997, 0x7988, 0x7992, 0x7990, 0x7a2b, 0x7a4a, 0x7a30, 0x7a2f,
    +    0x7a28, 0x7a26, 0x7aa8, 0x7aab, 0x7aac, 0x7aee, 0x7b88, 0x7b9c,
    +    0x7b8a, 0x7b91, 0x7b90, 0x7b96, 0x7b8d, 0x7b8c, 0x7b9b, 0x7b8e,
    +    0x7b85, 0x7b98, 0x5284, 0x7b99, 0x7ba4, 0x7b82, 0x7cbb, 0x7cbf,
    +    0x7cbc, 0x7cba, 0x7da7, 0x7db7, 0x7dc2, 0x7da3, 0x7daa, 0x7dc1,
    +    0x7dc0, 0x7dc5, 0x7d9d, 0x7dce, 0x7dc4, 0x7dc6, 0x7dcb, 0x7dcc,
    +    0x7daf, 0x7db9, 0x7d96, 0x7dbc, 0x7d9f, 0x7da6, 0x7dae, 0x7da9,
    +    0x7da1, 0x7dc9, 0x7f73, 0x7fe2, 0x7fe3, 0x7fe5, 0x7fde, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8024, 0x805d, 0x805c, 0x8189, 0x8186, 0x8183, 0x8187,
    +    0x818d, 0x818c, 0x818b, 0x8215, 0x8497, 0x84a4, 0x84a1, 0x849f,
    +    0x84ba, 0x84ce, 0x84c2, 0x84ac, 0x84ae, 0x84ab, 0x84b9, 0x84b4,
    +    0x84c1, 0x84cd, 0x84aa, 0x849a, 0x84b1, 0x84d0, 0x849d, 0x84a7,
    +    0x84bb, 0x84a2, 0x8494, 0x84c7, 0x84cc, 0x849b, 0x84a9, 0x84af,
    +    0x84a8, 0x84d6, 0x8498, 0x84b6, 0x84cf, 0x84a0, 0x84d7, 0x84d4,
    +    0x84d2, 0x84db, 0x84b0, 0x8491, 0x8661, 0x8733, 0x8723, 0x8728,
    +    0x876b, 0x8740, 0x872e, 0x871e, 0x8721, 0x8719, 0x871b, 0x8743,
    +    0x872c, 0x8741, 0x873e, 0x8746, 0x8720, 0x8732, 0x872a, 0x872d,
    +    0x873c, 0x8712, 0x873a, 0x8731, 0x8735, 0x8742, 0x8726, 0x8727,
    +    0x8738, 0x8724, 0x871a, 0x8730, 0x8711, 0x88f7, 0x88e7, 0x88f1,
    +    0x88f2, 0x88fa, 0x88fe, 0x88ee, 0x88fc, 0x88f6, 0x88fb, 0x003f,
    +    /* lead byte e4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x88f0, 0x88ec, 0x88eb, 0x899d, 0x89a1, 0x899f, 0x899e, 0x89e9,
    +    0x89eb, 0x89e8, 0x8aab, 0x8a99, 0x8a8b, 0x8a92, 0x8a8f, 0x8a96,
    +    0x8c3d, 0x8c68, 0x8c69, 0x8cd5, 0x8ccf, 0x8cd7, 0x8d96, 0x8e09,
    +    0x8e02, 0x8dff, 0x8e0d, 0x8dfd, 0x8e0a, 0x8e03, 0x8e07, 0x8e06,
    +    0x8e05, 0x8dfe, 0x8e00, 0x8e04, 0x8f10, 0x8f11, 0x8f0e, 0x8f0d,
    +    0x9123, 0x911c, 0x9120, 0x9122, 0x911f, 0x911d, 0x911a, 0x9124,
    +    0x9121, 0x911b, 0x917a, 0x9172, 0x9179, 0x9173, 0x92a5, 0x92a4,
    +    0x9276, 0x929b, 0x927a, 0x92a0, 0x9294, 0x92aa, 0x928d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x92a6, 0x929a, 0x92ab, 0x9279, 0x9297, 0x927f, 0x92a3,
    +    0x92ee, 0x928e, 0x9282, 0x9295, 0x92a2, 0x927d, 0x9288, 0x92a1,
    +    0x928a, 0x9286, 0x928c, 0x9299, 0x92a7, 0x927e, 0x9287, 0x92a9,
    +    0x929d, 0x928b, 0x922d, 0x969e, 0x96a1, 0x96ff, 0x9758, 0x977d,
    +    0x977a, 0x977e, 0x9783, 0x9780, 0x9782, 0x977b, 0x9784, 0x9781,
    +    0x977f, 0x97ce, 0x97cd, 0x9816, 0x98ad, 0x98ae, 0x9902, 0x9900,
    +    0x9907, 0x999d, 0x999c, 0x99c3, 0x99b9, 0x99bb, 0x99ba, 0x99c2,
    +    0x99bd, 0x99c7, 0x9ab1, 0x9ae3, 0x9ae7, 0x9b3e, 0x9b3f, 0x9b60,
    +    0x9b61, 0x9b5f, 0x9cf1, 0x9cf2, 0x9cf5, 0x9ea7, 0x50ff, 0x5103,
    +    0x5130, 0x50f8, 0x5106, 0x5107, 0x50f6, 0x50fe, 0x510b, 0x510c,
    +    0x50fd, 0x510a, 0x528b, 0x528c, 0x52f1, 0x52ef, 0x5648, 0x5642,
    +    0x564c, 0x5635, 0x5641, 0x564a, 0x5649, 0x5646, 0x5658, 0x003f,
    +    /* lead byte e5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x565a, 0x5640, 0x5633, 0x563d, 0x562c, 0x563e, 0x5638, 0x562a,
    +    0x563a, 0x571a, 0x58ab, 0x589d, 0x58b1, 0x58a0, 0x58a3, 0x58af,
    +    0x58ac, 0x58a5, 0x58a1, 0x58ff, 0x5aff, 0x5af4, 0x5afd, 0x5af7,
    +    0x5af6, 0x5b03, 0x5af8, 0x5b02, 0x5af9, 0x5b01, 0x5b07, 0x5b05,
    +    0x5b0f, 0x5c67, 0x5d99, 0x5d97, 0x5d9f, 0x5d92, 0x5da2, 0x5d93,
    +    0x5d95, 0x5da0, 0x5d9c, 0x5da1, 0x5d9a, 0x5d9e, 0x5e69, 0x5e5d,
    +    0x5e60, 0x5e5c, 0x7df3, 0x5edb, 0x5ede, 0x5ee1, 0x5f49, 0x5fb2,
    +    0x618b, 0x6183, 0x6179, 0x61b1, 0x61b0, 0x61a2, 0x6189, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x619b, 0x6193, 0x61af, 0x61ad, 0x619f, 0x6192, 0x61aa,
    +    0x61a1, 0x618d, 0x6166, 0x61b3, 0x622d, 0x646e, 0x6470, 0x6496,
    +    0x64a0, 0x6485, 0x6497, 0x649c, 0x648f, 0x648b, 0x648a, 0x648c,
    +    0x64a3, 0x649f, 0x6468, 0x64b1, 0x6498, 0x6576, 0x657a, 0x6579,
    +    0x657b, 0x65b2, 0x65b3, 0x66b5, 0x66b0, 0x66a9, 0x66b2, 0x66b7,
    +    0x66aa, 0x66af, 0x6a00, 0x6a06, 0x6a17, 0x69e5, 0x69f8, 0x6a15,
    +    0x69f1, 0x69e4, 0x6a20, 0x69ff, 0x69ec, 0x69e2, 0x6a1b, 0x6a1d,
    +    0x69fe, 0x6a27, 0x69f2, 0x69ee, 0x6a14, 0x69f7, 0x69e7, 0x6a40,
    +    0x6a08, 0x69e6, 0x69fb, 0x6a0d, 0x69fc, 0x69eb, 0x6a09, 0x6a04,
    +    0x6a18, 0x6a25, 0x6a0f, 0x69f6, 0x6a26, 0x6a07, 0x69f4, 0x6a16,
    +    0x6b51, 0x6ba5, 0x6ba3, 0x6ba2, 0x6ba6, 0x6c01, 0x6c00, 0x6bff,
    +    0x6c02, 0x6f41, 0x6f26, 0x6f7e, 0x6f87, 0x6fc6, 0x6f92, 0x003f,
    +    /* lead byte e6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6f8d, 0x6f89, 0x6f8c, 0x6f62, 0x6f4f, 0x6f85, 0x6f5a, 0x6f96,
    +    0x6f76, 0x6f6c, 0x6f82, 0x6f55, 0x6f72, 0x6f52, 0x6f50, 0x6f57,
    +    0x6f94, 0x6f93, 0x6f5d, 0x6f00, 0x6f61, 0x6f6b, 0x6f7d, 0x6f67,
    +    0x6f90, 0x6f53, 0x6f8b, 0x6f69, 0x6f7f, 0x6f95, 0x6f63, 0x6f77,
    +    0x6f6a, 0x6f7b, 0x71b2, 0x71af, 0x719b, 0x71b0, 0x71a0, 0x719a,
    +    0x71a9, 0x71b5, 0x719d, 0x71a5, 0x719e, 0x71a4, 0x71a1, 0x71aa,
    +    0x719c, 0x71a7, 0x71b3, 0x7298, 0x729a, 0x7358, 0x7352, 0x735e,
    +    0x735f, 0x7360, 0x735d, 0x735b, 0x7361, 0x735a, 0x7359, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7362, 0x7487, 0x7489, 0x748a, 0x7486, 0x7481, 0x747d,
    +    0x7485, 0x7488, 0x747c, 0x7479, 0x7508, 0x7507, 0x757e, 0x7625,
    +    0x761e, 0x7619, 0x761d, 0x761c, 0x7623, 0x761a, 0x7628, 0x761b,
    +    0x769c, 0x769d, 0x769e, 0x769b, 0x778d, 0x778f, 0x7789, 0x7788,
    +    0x78cd, 0x78bb, 0x78cf, 0x78cc, 0x78d1, 0x78ce, 0x78d4, 0x78c8,
    +    0x78c3, 0x78c4, 0x78c9, 0x799a, 0x79a1, 0x79a0, 0x799c, 0x79a2,
    +    0x799b, 0x6b76, 0x7a39, 0x7ab2, 0x7ab4, 0x7ab3, 0x7bb7, 0x7bcb,
    +    0x7bbe, 0x7bac, 0x7bce, 0x7baf, 0x7bb9, 0x7bca, 0x7bb5, 0x7cc5,
    +    0x7cc8, 0x7ccc, 0x7ccb, 0x7df7, 0x7ddb, 0x7dea, 0x7de7, 0x7dd7,
    +    0x7de1, 0x7e03, 0x7dfa, 0x7de6, 0x7df6, 0x7df1, 0x7df0, 0x7dee,
    +    0x7ddf, 0x7f76, 0x7fac, 0x7fb0, 0x7fad, 0x7fed, 0x7feb, 0x7fea,
    +    0x7fec, 0x7fe6, 0x7fe8, 0x8064, 0x8067, 0x81a3, 0x819f, 0x003f,
    +    /* lead byte e7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x819e, 0x8195, 0x81a2, 0x8199, 0x8197, 0x8216, 0x824f, 0x8253,
    +    0x8252, 0x8250, 0x824e, 0x8251, 0x8524, 0x853b, 0x850f, 0x8500,
    +    0x8529, 0x850e, 0x8509, 0x850d, 0x851f, 0x850a, 0x8527, 0x851c,
    +    0x84fb, 0x852b, 0x84fa, 0x8508, 0x850c, 0x84f4, 0x852a, 0x84f2,
    +    0x8515, 0x84f7, 0x84eb, 0x84f3, 0x84fc, 0x8512, 0x84ea, 0x84e9,
    +    0x8516, 0x84fe, 0x8528, 0x851d, 0x852e, 0x8502, 0x84fd, 0x851e,
    +    0x84f6, 0x8531, 0x8526, 0x84e7, 0x84e8, 0x84f0, 0x84ef, 0x84f9,
    +    0x8518, 0x8520, 0x8530, 0x850b, 0x8519, 0x852f, 0x8662, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8756, 0x8763, 0x8764, 0x8777, 0x87e1, 0x8773, 0x8758,
    +    0x8754, 0x875b, 0x8752, 0x8761, 0x875a, 0x8751, 0x875e, 0x876d,
    +    0x876a, 0x8750, 0x874e, 0x875f, 0x875d, 0x876f, 0x876c, 0x877a,
    +    0x876e, 0x875c, 0x8765, 0x874f, 0x877b, 0x8775, 0x8762, 0x8767,
    +    0x8769, 0x885a, 0x8905, 0x890c, 0x8914, 0x890b, 0x8917, 0x8918,
    +    0x8919, 0x8906, 0x8916, 0x8911, 0x890e, 0x8909, 0x89a2, 0x89a4,
    +    0x89a3, 0x89ed, 0x89f0, 0x89ec, 0x8acf, 0x8ac6, 0x8ab8, 0x8ad3,
    +    0x8ad1, 0x8ad4, 0x8ad5, 0x8abb, 0x8ad7, 0x8abe, 0x8ac0, 0x8ac5,
    +    0x8ad8, 0x8ac3, 0x8aba, 0x8abd, 0x8ad9, 0x8c3e, 0x8c4d, 0x8c8f,
    +    0x8ce5, 0x8cdf, 0x8cd9, 0x8ce8, 0x8cda, 0x8cdd, 0x8ce7, 0x8da0,
    +    0x8d9c, 0x8da1, 0x8d9b, 0x8e20, 0x8e23, 0x8e25, 0x8e24, 0x8e2e,
    +    0x8e15, 0x8e1b, 0x8e16, 0x8e11, 0x8e19, 0x8e26, 0x8e27, 0x003f,
    +    /* lead byte e8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8e14, 0x8e12, 0x8e18, 0x8e13, 0x8e1c, 0x8e17, 0x8e1a, 0x8f2c,
    +    0x8f24, 0x8f18, 0x8f1a, 0x8f20, 0x8f23, 0x8f16, 0x8f17, 0x9073,
    +    0x9070, 0x906f, 0x9067, 0x906b, 0x912f, 0x912b, 0x9129, 0x912a,
    +    0x9132, 0x9126, 0x912e, 0x9185, 0x9186, 0x918a, 0x9181, 0x9182,
    +    0x9184, 0x9180, 0x92d0, 0x92c3, 0x92c4, 0x92c0, 0x92d9, 0x92b6,
    +    0x92cf, 0x92f1, 0x92df, 0x92d8, 0x92e9, 0x92d7, 0x92dd, 0x92cc,
    +    0x92ef, 0x92c2, 0x92e8, 0x92ca, 0x92c8, 0x92ce, 0x92e6, 0x92cd,
    +    0x92d5, 0x92c9, 0x92e0, 0x92de, 0x92e7, 0x92d1, 0x92d3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x92b5, 0x92e1, 0x92c6, 0x92b4, 0x957c, 0x95ac, 0x95ab,
    +    0x95ae, 0x95b0, 0x96a4, 0x96a2, 0x96d3, 0x9705, 0x9708, 0x9702,
    +    0x975a, 0x978a, 0x978e, 0x9788, 0x97d0, 0x97cf, 0x981e, 0x981d,
    +    0x9826, 0x9829, 0x9828, 0x9820, 0x981b, 0x9827, 0x98b2, 0x9908,
    +    0x98fa, 0x9911, 0x9914, 0x9916, 0x9917, 0x9915, 0x99dc, 0x99cd,
    +    0x99cf, 0x99d3, 0x99d4, 0x99ce, 0x99c9, 0x99d6, 0x99d8, 0x99cb,
    +    0x99d7, 0x99cc, 0x9ab3, 0x9aec, 0x9aeb, 0x9af3, 0x9af2, 0x9af1,
    +    0x9b46, 0x9b43, 0x9b67, 0x9b74, 0x9b71, 0x9b66, 0x9b76, 0x9b75,
    +    0x9b70, 0x9b68, 0x9b64, 0x9b6c, 0x9cfc, 0x9cfa, 0x9cfd, 0x9cff,
    +    0x9cf7, 0x9d07, 0x9d00, 0x9cf9, 0x9cfb, 0x9d08, 0x9d05, 0x9d04,
    +    0x9e83, 0x9ed3, 0x9f0f, 0x9f10, 0x511c, 0x5113, 0x5117, 0x511a,
    +    0x5111, 0x51de, 0x5334, 0x53e1, 0x5670, 0x5660, 0x566e, 0x003f,
    +    /* lead byte e9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5673, 0x5666, 0x5663, 0x566d, 0x5672, 0x565e, 0x5677, 0x571c,
    +    0x571b, 0x58c8, 0x58bd, 0x58c9, 0x58bf, 0x58ba, 0x58c2, 0x58bc,
    +    0x58c6, 0x5b17, 0x5b19, 0x5b1b, 0x5b21, 0x5b14, 0x5b13, 0x5b10,
    +    0x5b16, 0x5b28, 0x5b1a, 0x5b20, 0x5b1e, 0x5bef, 0x5dac, 0x5db1,
    +    0x5da9, 0x5da7, 0x5db5, 0x5db0, 0x5dae, 0x5daa, 0x5da8, 0x5db2,
    +    0x5dad, 0x5daf, 0x5db4, 0x5e67, 0x5e68, 0x5e66, 0x5e6f, 0x5ee9,
    +    0x5ee7, 0x5ee6, 0x5ee8, 0x5ee5, 0x5f4b, 0x5fbc, 0x619d, 0x61a8,
    +    0x6196, 0x61c5, 0x61b4, 0x61c6, 0x61c1, 0x61cc, 0x61ba, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x61bf, 0x61b8, 0x618c, 0x64d7, 0x64d6, 0x64d0, 0x64cf,
    +    0x64c9, 0x64bd, 0x6489, 0x64c3, 0x64db, 0x64f3, 0x64d9, 0x6533,
    +    0x657f, 0x657c, 0x65a2, 0x66c8, 0x66be, 0x66c0, 0x66ca, 0x66cb,
    +    0x66cf, 0x66bd, 0x66bb, 0x66ba, 0x66cc, 0x6723, 0x6a34, 0x6a66,
    +    0x6a49, 0x6a67, 0x6a32, 0x6a68, 0x6a3e, 0x6a5d, 0x6a6d, 0x6a76,
    +    0x6a5b, 0x6a51, 0x6a28, 0x6a5a, 0x6a3b, 0x6a3f, 0x6a41, 0x6a6a,
    +    0x6a64, 0x6a50, 0x6a4f, 0x6a54, 0x6a6f, 0x6a69, 0x6a60, 0x6a3c,
    +    0x6a5e, 0x6a56, 0x6a55, 0x6a4d, 0x6a4e, 0x6a46, 0x6b55, 0x6b54,
    +    0x6b56, 0x6ba7, 0x6baa, 0x6bab, 0x6bc8, 0x6bc7, 0x6c04, 0x6c03,
    +    0x6c06, 0x6fad, 0x6fcb, 0x6fa3, 0x6fc7, 0x6fbc, 0x6fce, 0x6fc8,
    +    0x6f5e, 0x6fc4, 0x6fbd, 0x6f9e, 0x6fca, 0x6fa8, 0x7004, 0x6fa5,
    +    0x6fae, 0x6fba, 0x6fac, 0x6faa, 0x6fcf, 0x6fbf, 0x6fb8, 0x003f,
    +    /* lead byte ea */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6fa2, 0x6fc9, 0x6fab, 0x6fcd, 0x6faf, 0x6fb2, 0x6fb0, 0x71c5,
    +    0x71c2, 0x71bf, 0x71b8, 0x71d6, 0x71c0, 0x71c1, 0x71cb, 0x71d4,
    +    0x71ca, 0x71c7, 0x71cf, 0x71bd, 0x71d8, 0x71bc, 0x71c6, 0x71da,
    +    0x71db, 0x729d, 0x729e, 0x7369, 0x7366, 0x7367, 0x736c, 0x7365,
    +    0x736b, 0x736a, 0x747f, 0x749a, 0x74a0, 0x7494, 0x7492, 0x7495,
    +    0x74a1, 0x750b, 0x7580, 0x762f, 0x762d, 0x7631, 0x763d, 0x7633,
    +    0x763c, 0x7635, 0x7632, 0x7630, 0x76bb, 0x76e6, 0x779a, 0x779d,
    +    0x77a1, 0x779c, 0x779b, 0x77a2, 0x77a3, 0x7795, 0x7799, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7797, 0x78dd, 0x78e9, 0x78e5, 0x78ea, 0x78de, 0x78e3,
    +    0x78db, 0x78e1, 0x78e2, 0x78ed, 0x78df, 0x78e0, 0x79a4, 0x7a44,
    +    0x7a48, 0x7a47, 0x7ab6, 0x7ab8, 0x7ab5, 0x7ab1, 0x7ab7, 0x7bde,
    +    0x7be3, 0x7be7, 0x7bdd, 0x7bd5, 0x7be5, 0x7bda, 0x7be8, 0x7bf9,
    +    0x7bd4, 0x7bea, 0x7be2, 0x7bdc, 0x7beb, 0x7bd8, 0x7bdf, 0x7cd2,
    +    0x7cd4, 0x7cd7, 0x7cd0, 0x7cd1, 0x7e12, 0x7e21, 0x7e17, 0x7e0c,
    +    0x7e1f, 0x7e20, 0x7e13, 0x7e0e, 0x7e1c, 0x7e15, 0x7e1a, 0x7e22,
    +    0x7e0b, 0x7e0f, 0x7e16, 0x7e0d, 0x7e14, 0x7e25, 0x7e24, 0x7f43,
    +    0x7f7b, 0x7f7c, 0x7f7a, 0x7fb1, 0x7fef, 0x802a, 0x8029, 0x806c,
    +    0x81b1, 0x81a6, 0x81ae, 0x81b9, 0x81b5, 0x81ab, 0x81b0, 0x81ac,
    +    0x81b4, 0x81b2, 0x81b7, 0x81a7, 0x81f2, 0x8255, 0x8256, 0x8257,
    +    0x8556, 0x8545, 0x856b, 0x854d, 0x8553, 0x8561, 0x8558, 0x003f,
    +    /* lead byte eb */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8540, 0x8546, 0x8564, 0x8541, 0x8562, 0x8544, 0x8551, 0x8547,
    +    0x8563, 0x853e, 0x855b, 0x8571, 0x854e, 0x856e, 0x8575, 0x8555,
    +    0x8567, 0x8560, 0x858c, 0x8566, 0x855d, 0x8554, 0x8565, 0x856c,
    +    0x8663, 0x8665, 0x8664, 0x879b, 0x878f, 0x8797, 0x8793, 0x8792,
    +    0x8788, 0x8781, 0x8796, 0x8798, 0x8779, 0x8787, 0x87a3, 0x8785,
    +    0x8790, 0x8791, 0x879d, 0x8784, 0x8794, 0x879c, 0x879a, 0x8789,
    +    0x891e, 0x8926, 0x8930, 0x892d, 0x892e, 0x8927, 0x8931, 0x8922,
    +    0x8929, 0x8923, 0x892f, 0x892c, 0x891f, 0x89f1, 0x8ae0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8ae2, 0x8af2, 0x8af4, 0x8af5, 0x8add, 0x8b14, 0x8ae4,
    +    0x8adf, 0x8af0, 0x8ac8, 0x8ade, 0x8ae1, 0x8ae8, 0x8aff, 0x8aef,
    +    0x8afb, 0x8c91, 0x8c92, 0x8c90, 0x8cf5, 0x8cee, 0x8cf1, 0x8cf0,
    +    0x8cf3, 0x8d6c, 0x8d6e, 0x8da5, 0x8da7, 0x8e33, 0x8e3e, 0x8e38,
    +    0x8e40, 0x8e45, 0x8e36, 0x8e3c, 0x8e3d, 0x8e41, 0x8e30, 0x8e3f,
    +    0x8ebd, 0x8f36, 0x8f2e, 0x8f35, 0x8f32, 0x8f39, 0x8f37, 0x8f34,
    +    0x9076, 0x9079, 0x907b, 0x9086, 0x90fa, 0x9133, 0x9135, 0x9136,
    +    0x9193, 0x9190, 0x9191, 0x918d, 0x918f, 0x9327, 0x931e, 0x9308,
    +    0x931f, 0x9306, 0x930f, 0x937a, 0x9338, 0x933c, 0x931b, 0x9323,
    +    0x9312, 0x9301, 0x9346, 0x932d, 0x930e, 0x930d, 0x92cb, 0x931d,
    +    0x92fa, 0x9325, 0x9313, 0x92f9, 0x92f7, 0x9334, 0x9302, 0x9324,
    +    0x92ff, 0x9329, 0x9339, 0x9335, 0x932a, 0x9314, 0x930c, 0x003f,
    +    /* lead byte ec */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x930b, 0x92fe, 0x9309, 0x9300, 0x92fb, 0x9316, 0x95bc, 0x95cd,
    +    0x95be, 0x95b9, 0x95ba, 0x95b6, 0x95bf, 0x95b5, 0x95bd, 0x96a9,
    +    0x96d4, 0x970b, 0x9712, 0x9710, 0x9799, 0x9797, 0x9794, 0x97f0,
    +    0x97f8, 0x9835, 0x982f, 0x9832, 0x9924, 0x991f, 0x9927, 0x9929,
    +    0x999e, 0x99ee, 0x99ec, 0x99e5, 0x99e4, 0x99f0, 0x99e3, 0x99ea,
    +    0x99e9, 0x99e7, 0x9ab9, 0x9abf, 0x9ab4, 0x9abb, 0x9af6, 0x9afa,
    +    0x9af9, 0x9af7, 0x9b33, 0x9b80, 0x9b85, 0x9b87, 0x9b7c, 0x9b7e,
    +    0x9b7b, 0x9b82, 0x9b93, 0x9b92, 0x9b90, 0x9b7a, 0x9b95, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9b7d, 0x9b88, 0x9d25, 0x9d17, 0x9d20, 0x9d1e, 0x9d14,
    +    0x9d29, 0x9d1d, 0x9d18, 0x9d22, 0x9d10, 0x9d19, 0x9d1f, 0x9e88,
    +    0x9e86, 0x9e87, 0x9eae, 0x9ead, 0x9ed5, 0x9ed6, 0x9efa, 0x9f12,
    +    0x9f3d, 0x5126, 0x5125, 0x5122, 0x5124, 0x5120, 0x5129, 0x52f4,
    +    0x5693, 0x568c, 0x568d, 0x5686, 0x5684, 0x5683, 0x567e, 0x5682,
    +    0x567f, 0x5681, 0x58d6, 0x58d4, 0x58cf, 0x58d2, 0x5b2d, 0x5b25,
    +    0x5b32, 0x5b23, 0x5b2c, 0x5b27, 0x5b26, 0x5b2f, 0x5b2e, 0x5b7b,
    +    0x5bf1, 0x5bf2, 0x5db7, 0x5e6c, 0x5e6a, 0x5fbe, 0x5fbb, 0x61c3,
    +    0x61b5, 0x61bc, 0x61e7, 0x61e0, 0x61e5, 0x61e4, 0x61e8, 0x61de,
    +    0x64ef, 0x64e9, 0x64e3, 0x64eb, 0x64e4, 0x64e8, 0x6581, 0x6580,
    +    0x65b6, 0x65da, 0x66d2, 0x6a8d, 0x6a96, 0x6a81, 0x6aa5, 0x6a89,
    +    0x6a9f, 0x6a9b, 0x6aa1, 0x6a9e, 0x6a87, 0x6a93, 0x6a8e, 0x003f,
    +    /* lead byte ed */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x6a95, 0x6a83, 0x6aa8, 0x6aa4, 0x6a91, 0x6a7f, 0x6aa6, 0x6a9a,
    +    0x6a85, 0x6a8c, 0x6a92, 0x6b5b, 0x6bad, 0x6c09, 0x6fcc, 0x6fa9,
    +    0x6ff4, 0x6fd4, 0x6fe3, 0x6fdc, 0x6fed, 0x6fe7, 0x6fe6, 0x6fde,
    +    0x6ff2, 0x6fdd, 0x6fe2, 0x6fe8, 0x71e1, 0x71f1, 0x71e8, 0x71f2,
    +    0x71e4, 0x71f0, 0x71e2, 0x7373, 0x736e, 0x736f, 0x7497, 0x74b2,
    +    0x74ab, 0x7490, 0x74aa, 0x74ad, 0x74b1, 0x74a5, 0x74af, 0x7510,
    +    0x7511, 0x7512, 0x750f, 0x7584, 0x7643, 0x7648, 0x7649, 0x7647,
    +    0x76a4, 0x76e9, 0x77b5, 0x77ab, 0x77b2, 0x77b7, 0x77b6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x77b4, 0x77b1, 0x77a8, 0x77f0, 0x78f3, 0x78fd, 0x7902,
    +    0x78fb, 0x78fc, 0x78f2, 0x7905, 0x78f9, 0x78fe, 0x7904, 0x79ab,
    +    0x79a8, 0x7a5c, 0x7a5b, 0x7a56, 0x7a58, 0x7a54, 0x7a5a, 0x7abe,
    +    0x7ac0, 0x7ac1, 0x7c05, 0x7c0f, 0x7bf2, 0x7c00, 0x7bff, 0x7bfb,
    +    0x7c0e, 0x7bf4, 0x7c0b, 0x7bf3, 0x7c02, 0x7c09, 0x7c03, 0x7c01,
    +    0x7bf8, 0x7bfd, 0x7c06, 0x7bf0, 0x7bf1, 0x7c10, 0x7c0a, 0x7ce8,
    +    0x7e2d, 0x7e3c, 0x7e42, 0x7e33, 0x9848, 0x7e38, 0x7e2a, 0x7e49,
    +    0x7e40, 0x7e47, 0x7e29, 0x7e4c, 0x7e30, 0x7e3b, 0x7e36, 0x7e44,
    +    0x7e3a, 0x7f45, 0x7f7f, 0x7f7e, 0x7f7d, 0x7ff4, 0x7ff2, 0x802c,
    +    0x81bb, 0x81c4, 0x81cc, 0x81ca, 0x81c5, 0x81c7, 0x81bc, 0x81e9,
    +    0x825b, 0x825a, 0x825c, 0x8583, 0x8580, 0x858f, 0x85a7, 0x8595,
    +    0x85a0, 0x858b, 0x85a3, 0x857b, 0x85a4, 0x859a, 0x859e, 0x003f,
    +    /* lead byte ee */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8577, 0x857c, 0x8589, 0x85a1, 0x857a, 0x8578, 0x8557, 0x858e,
    +    0x8596, 0x8586, 0x858d, 0x8599, 0x859d, 0x8581, 0x85a2, 0x8582,
    +    0x8588, 0x8585, 0x8579, 0x8576, 0x8598, 0x8590, 0x859f, 0x8668,
    +    0x87be, 0x87aa, 0x87ad, 0x87c5, 0x87b0, 0x87ac, 0x87b9, 0x87b5,
    +    0x87bc, 0x87ae, 0x87c9, 0x87c3, 0x87c2, 0x87cc, 0x87b7, 0x87af,
    +    0x87c4, 0x87ca, 0x87b4, 0x87b6, 0x87bf, 0x87b8, 0x87bd, 0x87de,
    +    0x87b2, 0x8935, 0x8933, 0x893c, 0x893e, 0x8941, 0x8952, 0x8937,
    +    0x8942, 0x89ad, 0x89af, 0x89ae, 0x89f2, 0x89f3, 0x8b1e, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x8b18, 0x8b16, 0x8b11, 0x8b05, 0x8b0b, 0x8b22, 0x8b0f,
    +    0x8b12, 0x8b15, 0x8b07, 0x8b0d, 0x8b08, 0x8b06, 0x8b1c, 0x8b13,
    +    0x8b1a, 0x8c4f, 0x8c70, 0x8c72, 0x8c71, 0x8c6f, 0x8c95, 0x8c94,
    +    0x8cf9, 0x8d6f, 0x8e4e, 0x8e4d, 0x8e53, 0x8e50, 0x8e4c, 0x8e47,
    +    0x8f43, 0x8f40, 0x9085, 0x907e, 0x9138, 0x919a, 0x91a2, 0x919b,
    +    0x9199, 0x919f, 0x91a1, 0x919d, 0x91a0, 0x93a1, 0x9383, 0x93af,
    +    0x9364, 0x9356, 0x9347, 0x937c, 0x9358, 0x935c, 0x9376, 0x9349,
    +    0x9350, 0x9351, 0x9360, 0x936d, 0x938f, 0x934c, 0x936a, 0x9379,
    +    0x9357, 0x9355, 0x9352, 0x934f, 0x9371, 0x9377, 0x937b, 0x9361,
    +    0x935e, 0x9363, 0x9367, 0x9380, 0x934e, 0x9359, 0x95c7, 0x95c0,
    +    0x95c9, 0x95c3, 0x95c5, 0x95b7, 0x96ae, 0x96b0, 0x96ac, 0x9720,
    +    0x971f, 0x9718, 0x971d, 0x9719, 0x979a, 0x97a1, 0x979c, 0x003f,
    +    /* lead byte ef */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x979e, 0x979d, 0x97d5, 0x97d4, 0x97f1, 0x9841, 0x9844, 0x984a,
    +    0x9849, 0x9845, 0x9843, 0x9925, 0x992b, 0x992c, 0x992a, 0x9933,
    +    0x9932, 0x992f, 0x992d, 0x9931, 0x9930, 0x9998, 0x99a3, 0x99a1,
    +    0x9a02, 0x99fa, 0x99f4, 0x99f7, 0x99f9, 0x99f8, 0x99f6, 0x99fb,
    +    0x99fd, 0x99fe, 0x99fc, 0x9a03, 0x9abe, 0x9afe, 0x9afd, 0x9b01,
    +    0x9afc, 0x9b48, 0x9b9a, 0x9ba8, 0x9b9e, 0x9b9b, 0x9ba6, 0x9ba1,
    +    0x9ba5, 0x9ba4, 0x9b86, 0x9ba2, 0x9ba0, 0x9baf, 0x9d33, 0x9d41,
    +    0x9d67, 0x9d36, 0x9d2e, 0x9d2f, 0x9d31, 0x9d38, 0x9d30, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9d45, 0x9d42, 0x9d43, 0x9d3e, 0x9d37, 0x9d40, 0x9d3d,
    +    0x7ff5, 0x9d2d, 0x9e8a, 0x9e89, 0x9e8d, 0x9eb0, 0x9ec8, 0x9eda,
    +    0x9efb, 0x9eff, 0x9f24, 0x9f23, 0x9f22, 0x9f54, 0x9fa0, 0x5131,
    +    0x512d, 0x512e, 0x5698, 0x569c, 0x5697, 0x569a, 0x569d, 0x5699,
    +    0x5970, 0x5b3c, 0x5c69, 0x5c6a, 0x5dc0, 0x5e6d, 0x5e6e, 0x61d8,
    +    0x61df, 0x61ed, 0x61ee, 0x61f1, 0x61ea, 0x61f0, 0x61eb, 0x61d6,
    +    0x61e9, 0x64ff, 0x6504, 0x64fd, 0x64f8, 0x6501, 0x6503, 0x64fc,
    +    0x6594, 0x65db, 0x66da, 0x66db, 0x66d8, 0x6ac5, 0x6ab9, 0x6abd,
    +    0x6ae1, 0x6ac6, 0x6aba, 0x6ab6, 0x6ab7, 0x6ac7, 0x6ab4, 0x6aad,
    +    0x6b5e, 0x6bc9, 0x6c0b, 0x7007, 0x700c, 0x700d, 0x7001, 0x7005,
    +    0x7014, 0x700e, 0x6fff, 0x7000, 0x6ffb, 0x7026, 0x6ffc, 0x6ff7,
    +    0x700a, 0x7201, 0x71ff, 0x71f9, 0x7203, 0x71fd, 0x7376, 0x003f,
    +    /* lead byte f0 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x74b8, 0x74c0, 0x74b5, 0x74c1, 0x74be, 0x74b6, 0x74bb, 0x74c2,
    +    0x7514, 0x7513, 0x765c, 0x7664, 0x7659, 0x7650, 0x7653, 0x7657,
    +    0x765a, 0x76a6, 0x76bd, 0x76ec, 0x77c2, 0x77ba, 0x78ff, 0x790c,
    +    0x7913, 0x7914, 0x7909, 0x7910, 0x7912, 0x7911, 0x79ad, 0x79ac,
    +    0x7a5f, 0x7c1c, 0x7c29, 0x7c19, 0x7c20, 0x7c1f, 0x7c2d, 0x7c1d,
    +    0x7c26, 0x7c28, 0x7c22, 0x7c25, 0x7c30, 0x7e5c, 0x7e50, 0x7e56,
    +    0x7e63, 0x7e58, 0x7e62, 0x7e5f, 0x7e51, 0x7e60, 0x7e57, 0x7e53,
    +    0x7fb5, 0x7fb3, 0x7ff7, 0x7ff8, 0x8075, 0x81d1, 0x81d2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x81d0, 0x825f, 0x825e, 0x85b4, 0x85c6, 0x85c0, 0x85c3,
    +    0x85c2, 0x85b3, 0x85b5, 0x85bd, 0x85c7, 0x85c4, 0x85bf, 0x85cb,
    +    0x85ce, 0x85c8, 0x85c5, 0x85b1, 0x85b6, 0x85d2, 0x8624, 0x85b8,
    +    0x85b7, 0x85be, 0x8669, 0x87e7, 0x87e6, 0x87e2, 0x87db, 0x87eb,
    +    0x87ea, 0x87e5, 0x87df, 0x87f3, 0x87e4, 0x87d4, 0x87dc, 0x87d3,
    +    0x87ed, 0x87d8, 0x87e3, 0x87a4, 0x87d7, 0x87d9, 0x8801, 0x87f4,
    +    0x87e8, 0x87dd, 0x8953, 0x894b, 0x894f, 0x894c, 0x8946, 0x8950,
    +    0x8951, 0x8949, 0x8b2a, 0x8b27, 0x8b23, 0x8b33, 0x8b30, 0x8b35,
    +    0x8b47, 0x8b2f, 0x8b3c, 0x8b3e, 0x8b31, 0x8b25, 0x8b37, 0x8b26,
    +    0x8b36, 0x8b2e, 0x8b24, 0x8b3b, 0x8b3d, 0x8b3a, 0x8c42, 0x8c75,
    +    0x8c99, 0x8c98, 0x8c97, 0x8cfe, 0x8d04, 0x8d02, 0x8d00, 0x8e5c,
    +    0x8e62, 0x8e60, 0x8e57, 0x8e56, 0x8e5e, 0x8e65, 0x8e67, 0x003f,
    +    /* lead byte f1 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8e5b, 0x8e5a, 0x8e61, 0x8e5d, 0x8e69, 0x8e54, 0x8f46, 0x8f47,
    +    0x8f48, 0x8f4b, 0x9128, 0x913a, 0x913b, 0x913e, 0x91a8, 0x91a5,
    +    0x91a7, 0x91af, 0x91aa, 0x93b5, 0x938c, 0x9392, 0x93b7, 0x939b,
    +    0x939d, 0x9389, 0x93a7, 0x938e, 0x93aa, 0x939e, 0x93a6, 0x9395,
    +    0x9388, 0x9399, 0x939f, 0x938d, 0x93b1, 0x9391, 0x93b2, 0x93a4,
    +    0x93a8, 0x93b4, 0x93a3, 0x93a5, 0x95d2, 0x95d3, 0x95d1, 0x96b3,
    +    0x96d7, 0x96da, 0x5dc2, 0x96df, 0x96d8, 0x96dd, 0x9723, 0x9722,
    +    0x9725, 0x97ac, 0x97ae, 0x97a8, 0x97ab, 0x97a4, 0x97aa, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x97a2, 0x97a5, 0x97d7, 0x97d9, 0x97d6, 0x97d8, 0x97fa,
    +    0x9850, 0x9851, 0x9852, 0x98b8, 0x9941, 0x993c, 0x993a, 0x9a0f,
    +    0x9a0b, 0x9a09, 0x9a0d, 0x9a04, 0x9a11, 0x9a0a, 0x9a05, 0x9a07,
    +    0x9a06, 0x9ac0, 0x9adc, 0x9b08, 0x9b04, 0x9b05, 0x9b29, 0x9b35,
    +    0x9b4a, 0x9b4c, 0x9b4b, 0x9bc7, 0x9bc6, 0x9bc3, 0x9bbf, 0x9bc1,
    +    0x9bb5, 0x9bb8, 0x9bd3, 0x9bb6, 0x9bc4, 0x9bb9, 0x9bbd, 0x9d5c,
    +    0x9d53, 0x9d4f, 0x9d4a, 0x9d5b, 0x9d4b, 0x9d59, 0x9d56, 0x9d4c,
    +    0x9d57, 0x9d52, 0x9d54, 0x9d5f, 0x9d58, 0x9d5a, 0x9e8e, 0x9e8c,
    +    0x9edf, 0x9f01, 0x9f00, 0x9f16, 0x9f25, 0x9f2b, 0x9f2a, 0x9f29,
    +    0x9f28, 0x9f4c, 0x9f55, 0x5134, 0x5135, 0x5296, 0x52f7, 0x53b4,
    +    0x56ab, 0x56ad, 0x56a6, 0x56a7, 0x56aa, 0x56ac, 0x58da, 0x58dd,
    +    0x58db, 0x5912, 0x5b3d, 0x5b3e, 0x5b3f, 0x5dc3, 0x5e70, 0x003f,
    +    /* lead byte f2 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x5fbf, 0x61fb, 0x6507, 0x6510, 0x650d, 0x6509, 0x650c, 0x650e,
    +    0x6584, 0x65de, 0x65dd, 0x66de, 0x6ae7, 0x6ae0, 0x6acc, 0x6ad1,
    +    0x6ad9, 0x6acb, 0x6adf, 0x6adc, 0x6ad0, 0x6aeb, 0x6acf, 0x6acd,
    +    0x6ade, 0x6b60, 0x6bb0, 0x6c0c, 0x7019, 0x7027, 0x7020, 0x7016,
    +    0x702b, 0x7021, 0x7022, 0x7023, 0x7029, 0x7017, 0x7024, 0x701c,
    +    0x702a, 0x720c, 0x720a, 0x7207, 0x7202, 0x7205, 0x72a5, 0x72a6,
    +    0x72a4, 0x72a3, 0x72a1, 0x74cb, 0x74c5, 0x74b7, 0x74c3, 0x7516,
    +    0x7660, 0x77c9, 0x77ca, 0x77c4, 0x77f1, 0x791d, 0x791b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x7921, 0x791c, 0x7917, 0x791e, 0x79b0, 0x7a67, 0x7a68,
    +    0x7c33, 0x7c3c, 0x7c39, 0x7c2c, 0x7c3b, 0x7cec, 0x7cea, 0x7e76,
    +    0x7e75, 0x7e78, 0x7e70, 0x7e77, 0x7e6f, 0x7e7a, 0x7e72, 0x7e74,
    +    0x7e68, 0x7f4b, 0x7f4a, 0x7f83, 0x7f86, 0x7fb7, 0x7ffd, 0x7ffe,
    +    0x8078, 0x81d7, 0x81d5, 0x8264, 0x8261, 0x8263, 0x85eb, 0x85f1,
    +    0x85ed, 0x85d9, 0x85e1, 0x85e8, 0x85da, 0x85d7, 0x85ec, 0x85f2,
    +    0x85f8, 0x85d8, 0x85df, 0x85e3, 0x85dc, 0x85d1, 0x85f0, 0x85e6,
    +    0x85ef, 0x85de, 0x85e2, 0x8800, 0x87fa, 0x8803, 0x87f6, 0x87f7,
    +    0x8809, 0x880c, 0x880b, 0x8806, 0x87fc, 0x8808, 0x87ff, 0x880a,
    +    0x8802, 0x8962, 0x895a, 0x895b, 0x8957, 0x8961, 0x895c, 0x8958,
    +    0x895d, 0x8959, 0x8988, 0x89b7, 0x89b6, 0x89f6, 0x8b50, 0x8b48,
    +    0x8b4a, 0x8b40, 0x8b53, 0x8b56, 0x8b54, 0x8b4b, 0x8b55, 0x003f,
    +    /* lead byte f3 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b51, 0x8b42, 0x8b52, 0x8b57, 0x8c43, 0x8c77, 0x8c76, 0x8c9a,
    +    0x8d06, 0x8d07, 0x8d09, 0x8dac, 0x8daa, 0x8dad, 0x8dab, 0x8e6d,
    +    0x8e78, 0x8e73, 0x8e6a, 0x8e6f, 0x8e7b, 0x8ec2, 0x8f52, 0x8f51,
    +    0x8f4f, 0x8f50, 0x8f53, 0x8fb4, 0x9140, 0x913f, 0x91b0, 0x91ad,
    +    0x93de, 0x93c7, 0x93cf, 0x93c2, 0x93da, 0x93d0, 0x93f9, 0x93ec,
    +    0x93cc, 0x93d9, 0x93a9, 0x93e6, 0x93ca, 0x93d4, 0x93ee, 0x93e3,
    +    0x93d5, 0x93c4, 0x93ce, 0x93c0, 0x93d2, 0x93e7, 0x957d, 0x95da,
    +    0x95db, 0x96e1, 0x9729, 0x972b, 0x972c, 0x9728, 0x9726, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x97b3, 0x97b7, 0x97b6, 0x97dd, 0x97de, 0x97df, 0x985c,
    +    0x9859, 0x985d, 0x9857, 0x98bf, 0x98bd, 0x98bb, 0x98be, 0x9948,
    +    0x9947, 0x9943, 0x99a6, 0x99a7, 0x9a1a, 0x9a15, 0x9a25, 0x9a1d,
    +    0x9a24, 0x9a1b, 0x9a22, 0x9a20, 0x9a27, 0x9a23, 0x9a1e, 0x9a1c,
    +    0x9a14, 0x9ac2, 0x9b0b, 0x9b0a, 0x9b0e, 0x9b0c, 0x9b37, 0x9bea,
    +    0x9beb, 0x9be0, 0x9bde, 0x9be4, 0x9be6, 0x9be2, 0x9bf0, 0x9bd4,
    +    0x9bd7, 0x9bec, 0x9bdc, 0x9bd9, 0x9be5, 0x9bd5, 0x9be1, 0x9bda,
    +    0x9d77, 0x9d81, 0x9d8a, 0x9d84, 0x9d88, 0x9d71, 0x9d80, 0x9d78,
    +    0x9d86, 0x9d8b, 0x9d8c, 0x9d7d, 0x9d6b, 0x9d74, 0x9d75, 0x9d70,
    +    0x9d69, 0x9d85, 0x9d73, 0x9d7b, 0x9d82, 0x9d6f, 0x9d79, 0x9d7f,
    +    0x9d87, 0x9d68, 0x9e94, 0x9e91, 0x9ec0, 0x9efc, 0x9f2d, 0x9f40,
    +    0x9f41, 0x9f4d, 0x9f56, 0x9f57, 0x9f58, 0x5337, 0x56b2, 0x003f,
    +    /* lead byte f4 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x56b5, 0x56b3, 0x58e3, 0x5b45, 0x5dc6, 0x5dc7, 0x5eee, 0x5eef,
    +    0x5fc0, 0x5fc1, 0x61f9, 0x6517, 0x6516, 0x6515, 0x6513, 0x65df,
    +    0x66e8, 0x66e3, 0x66e4, 0x6af3, 0x6af0, 0x6aea, 0x6ae8, 0x6af9,
    +    0x6af1, 0x6aee, 0x6aef, 0x703c, 0x7035, 0x702f, 0x7037, 0x7034,
    +    0x7031, 0x7042, 0x7038, 0x703f, 0x703a, 0x7039, 0x7040, 0x703b,
    +    0x7033, 0x7041, 0x7213, 0x7214, 0x72a8, 0x737d, 0x737c, 0x74ba,
    +    0x76ab, 0x76aa, 0x76be, 0x76ed, 0x77cc, 0x77ce, 0x77cf, 0x77cd,
    +    0x77f2, 0x7925, 0x7923, 0x7927, 0x7928, 0x7924, 0x7929, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x79b2, 0x7a6e, 0x7a6c, 0x7a6d, 0x7af7, 0x7c49, 0x7c48,
    +    0x7c4a, 0x7c47, 0x7c45, 0x7cee, 0x7e7b, 0x7e7e, 0x7e81, 0x7e80,
    +    0x7fba, 0x7fff, 0x8079, 0x81db, 0x81d9, 0x820b, 0x8268, 0x8269,
    +    0x8622, 0x85ff, 0x8601, 0x85fe, 0x861b, 0x8600, 0x85f6, 0x8604,
    +    0x8609, 0x8605, 0x860c, 0x85fd, 0x8819, 0x8810, 0x8811, 0x8817,
    +    0x8813, 0x8816, 0x8963, 0x8966, 0x89b9, 0x89f7, 0x8b60, 0x8b6a,
    +    0x8b5d, 0x8b68, 0x8b63, 0x8b65, 0x8b67, 0x8b6d, 0x8dae, 0x8e86,
    +    0x8e88, 0x8e84, 0x8f59, 0x8f56, 0x8f57, 0x8f55, 0x8f58, 0x8f5a,
    +    0x908d, 0x9143, 0x9141, 0x91b7, 0x91b5, 0x91b2, 0x91b3, 0x940b,
    +    0x9413, 0x93fb, 0x9420, 0x940f, 0x9414, 0x93fe, 0x9415, 0x9410,
    +    0x9428, 0x9419, 0x940d, 0x93f5, 0x9400, 0x93f7, 0x9407, 0x940e,
    +    0x9416, 0x9412, 0x93fa, 0x9409, 0x93f8, 0x940a, 0x93ff, 0x003f,
    +    /* lead byte f5 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x93fc, 0x940c, 0x93f6, 0x9411, 0x9406, 0x95de, 0x95e0, 0x95df,
    +    0x972e, 0x972f, 0x97b9, 0x97bb, 0x97fd, 0x97fe, 0x9860, 0x9862,
    +    0x9863, 0x985f, 0x98c1, 0x98c2, 0x9950, 0x994e, 0x9959, 0x994c,
    +    0x994b, 0x9953, 0x9a32, 0x9a34, 0x9a31, 0x9a2c, 0x9a2a, 0x9a36,
    +    0x9a29, 0x9a2e, 0x9a38, 0x9a2d, 0x9ac7, 0x9aca, 0x9ac6, 0x9b10,
    +    0x9b12, 0x9b11, 0x9c0b, 0x9c08, 0x9bf7, 0x9c05, 0x9c12, 0x9bf8,
    +    0x9c40, 0x9c07, 0x9c0e, 0x9c06, 0x9c17, 0x9c14, 0x9c09, 0x9d9f,
    +    0x9d99, 0x9da4, 0x9d9d, 0x9d92, 0x9d98, 0x9d90, 0x9d9b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9da0, 0x9d94, 0x9d9c, 0x9daa, 0x9d97, 0x9da1, 0x9d9a,
    +    0x9da2, 0x9da8, 0x9d9e, 0x9da3, 0x9dbf, 0x9da9, 0x9d96, 0x9da6,
    +    0x9da7, 0x9e99, 0x9e9b, 0x9e9a, 0x9ee5, 0x9ee4, 0x9ee7, 0x9ee6,
    +    0x9f30, 0x9f2e, 0x9f5b, 0x9f60, 0x9f5e, 0x9f5d, 0x9f59, 0x9f91,
    +    0x513a, 0x5139, 0x5298, 0x5297, 0x56c3, 0x56bd, 0x56be, 0x5b48,
    +    0x5b47, 0x5dcb, 0x5dcf, 0x5ef1, 0x61fd, 0x651b, 0x6b02, 0x6afc,
    +    0x6b03, 0x6af8, 0x6b00, 0x7043, 0x7044, 0x704a, 0x7048, 0x7049,
    +    0x7045, 0x7046, 0x721d, 0x721a, 0x7219, 0x737e, 0x7517, 0x766a,
    +    0x77d0, 0x792d, 0x7931, 0x792f, 0x7c54, 0x7c53, 0x7cf2, 0x7e8a,
    +    0x7e87, 0x7e88, 0x7e8b, 0x7e86, 0x7e8d, 0x7f4d, 0x7fbb, 0x8030,
    +    0x81dd, 0x8618, 0x862a, 0x8626, 0x861f, 0x8623, 0x861c, 0x8619,
    +    0x8627, 0x862e, 0x8621, 0x8620, 0x8629, 0x861e, 0x8625, 0x003f,
    +    /* lead byte f6 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8829, 0x881d, 0x881b, 0x8820, 0x8824, 0x881c, 0x882b, 0x884a,
    +    0x896d, 0x8969, 0x896e, 0x896b, 0x89fa, 0x8b79, 0x8b78, 0x8b45,
    +    0x8b7a, 0x8b7b, 0x8d10, 0x8d14, 0x8daf, 0x8e8e, 0x8e8c, 0x8f5e,
    +    0x8f5b, 0x8f5d, 0x9146, 0x9144, 0x9145, 0x91b9, 0x943f, 0x943b,
    +    0x9436, 0x9429, 0x943d, 0x943c, 0x9430, 0x9439, 0x942a, 0x9437,
    +    0x942c, 0x9440, 0x9431, 0x95e5, 0x95e4, 0x95e3, 0x9735, 0x973a,
    +    0x97bf, 0x97e1, 0x9864, 0x98c9, 0x98c6, 0x98c0, 0x9958, 0x9956,
    +    0x9a39, 0x9a3d, 0x9a46, 0x9a44, 0x9a42, 0x9a41, 0x9a3a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9a3f, 0x9acd, 0x9b15, 0x9b17, 0x9b18, 0x9b16, 0x9b3a,
    +    0x9b52, 0x9c2b, 0x9c1d, 0x9c1c, 0x9c2c, 0x9c23, 0x9c28, 0x9c29,
    +    0x9c24, 0x9c21, 0x9db7, 0x9db6, 0x9dbc, 0x9dc1, 0x9dc7, 0x9dca,
    +    0x9dcf, 0x9dbe, 0x9dc5, 0x9dc3, 0x9dbb, 0x9db5, 0x9dce, 0x9db9,
    +    0x9dba, 0x9dac, 0x9dc8, 0x9db1, 0x9dad, 0x9dcc, 0x9db3, 0x9dcd,
    +    0x9db2, 0x9e7a, 0x9e9c, 0x9eeb, 0x9eee, 0x9eed, 0x9f1b, 0x9f18,
    +    0x9f1a, 0x9f31, 0x9f4e, 0x9f65, 0x9f64, 0x9f92, 0x4eb9, 0x56c6,
    +    0x56c5, 0x56cb, 0x5971, 0x5b4b, 0x5b4c, 0x5dd5, 0x5dd1, 0x5ef2,
    +    0x6521, 0x6520, 0x6526, 0x6522, 0x6b0b, 0x6b08, 0x6b09, 0x6c0d,
    +    0x7055, 0x7056, 0x7057, 0x7052, 0x721e, 0x721f, 0x72a9, 0x737f,
    +    0x74d8, 0x74d5, 0x74d9, 0x74d7, 0x766d, 0x76ad, 0x7935, 0x79b4,
    +    0x7a70, 0x7a71, 0x7c57, 0x7c5c, 0x7c59, 0x7c5b, 0x7c5a, 0x003f,
    +    /* lead byte f7 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7cf4, 0x7cf1, 0x7e91, 0x7f4f, 0x7f87, 0x81de, 0x826b, 0x8634,
    +    0x8635, 0x8633, 0x862c, 0x8632, 0x8636, 0x882c, 0x8828, 0x8826,
    +    0x882a, 0x8825, 0x8971, 0x89bf, 0x89be, 0x89fb, 0x8b7e, 0x8b84,
    +    0x8b82, 0x8b86, 0x8b85, 0x8b7f, 0x8d15, 0x8e95, 0x8e94, 0x8e9a,
    +    0x8e92, 0x8e90, 0x8e96, 0x8e97, 0x8f60, 0x8f62, 0x9147, 0x944c,
    +    0x9450, 0x944a, 0x944b, 0x944f, 0x9447, 0x9445, 0x9448, 0x9449,
    +    0x9446, 0x973f, 0x97e3, 0x986a, 0x9869, 0x98cb, 0x9954, 0x995b,
    +    0x9a4e, 0x9a53, 0x9a54, 0x9a4c, 0x9a4f, 0x9a48, 0x9a4a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9a49, 0x9a52, 0x9a50, 0x9ad0, 0x9b19, 0x9b2b, 0x9b3b,
    +    0x9b56, 0x9b55, 0x9c46, 0x9c48, 0x9c3f, 0x9c44, 0x9c39, 0x9c33,
    +    0x9c41, 0x9c3c, 0x9c37, 0x9c34, 0x9c32, 0x9c3d, 0x9c36, 0x9ddb,
    +    0x9dd2, 0x9dde, 0x9dda, 0x9dcb, 0x9dd0, 0x9ddc, 0x9dd1, 0x9ddf,
    +    0x9de9, 0x9dd9, 0x9dd8, 0x9dd6, 0x9df5, 0x9dd5, 0x9ddd, 0x9eb6,
    +    0x9ef0, 0x9f35, 0x9f33, 0x9f32, 0x9f42, 0x9f6b, 0x9f95, 0x9fa2,
    +    0x513d, 0x5299, 0x58e8, 0x58e7, 0x5972, 0x5b4d, 0x5dd8, 0x882f,
    +    0x5f4f, 0x6201, 0x6203, 0x6204, 0x6529, 0x6525, 0x6596, 0x66eb,
    +    0x6b11, 0x6b12, 0x6b0f, 0x6bca, 0x705b, 0x705a, 0x7222, 0x7382,
    +    0x7381, 0x7383, 0x7670, 0x77d4, 0x7c67, 0x7c66, 0x7e95, 0x826c,
    +    0x863a, 0x8640, 0x8639, 0x863c, 0x8631, 0x863b, 0x863e, 0x8830,
    +    0x8832, 0x882e, 0x8833, 0x8976, 0x8974, 0x8973, 0x89fe, 0x003f,
    +    /* lead byte f8 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x8b8c, 0x8b8e, 0x8b8b, 0x8b88, 0x8c45, 0x8d19, 0x8e98, 0x8f64,
    +    0x8f63, 0x91bc, 0x9462, 0x9455, 0x945d, 0x9457, 0x945e, 0x97c4,
    +    0x97c5, 0x9800, 0x9a56, 0x9a59, 0x9b1e, 0x9b1f, 0x9b20, 0x9c52,
    +    0x9c58, 0x9c50, 0x9c4a, 0x9c4d, 0x9c4b, 0x9c55, 0x9c59, 0x9c4c,
    +    0x9c4e, 0x9dfb, 0x9df7, 0x9def, 0x9de3, 0x9deb, 0x9df8, 0x9de4,
    +    0x9df6, 0x9de1, 0x9dee, 0x9de6, 0x9df2, 0x9df0, 0x9de2, 0x9dec,
    +    0x9df4, 0x9df3, 0x9de8, 0x9ded, 0x9ec2, 0x9ed0, 0x9ef2, 0x9ef3,
    +    0x9f06, 0x9f1c, 0x9f38, 0x9f37, 0x9f36, 0x9f43, 0x9f4f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9f71, 0x9f70, 0x9f6e, 0x9f6f, 0x56d3, 0x56cd, 0x5b4e,
    +    0x5c6d, 0x652d, 0x66ed, 0x66ee, 0x6b13, 0x705f, 0x7061, 0x705d,
    +    0x7060, 0x7223, 0x74db, 0x74e5, 0x77d5, 0x7938, 0x79b7, 0x79b6,
    +    0x7c6a, 0x7e97, 0x7f89, 0x826d, 0x8643, 0x8838, 0x8837, 0x8835,
    +    0x884b, 0x8b94, 0x8b95, 0x8e9e, 0x8e9f, 0x8ea0, 0x8e9d, 0x91be,
    +    0x91bd, 0x91c2, 0x946b, 0x9468, 0x9469, 0x96e5, 0x9746, 0x9743,
    +    0x9747, 0x97c7, 0x97e5, 0x9a5e, 0x9ad5, 0x9b59, 0x9c63, 0x9c67,
    +    0x9c66, 0x9c62, 0x9c5e, 0x9c60, 0x9e02, 0x9dfe, 0x9e07, 0x9e03,
    +    0x9e06, 0x9e05, 0x9e00, 0x9e01, 0x9e09, 0x9dff, 0x9dfd, 0x9e04,
    +    0x9ea0, 0x9f1e, 0x9f46, 0x9f74, 0x9f75, 0x9f76, 0x56d4, 0x652e,
    +    0x65b8, 0x6b18, 0x6b19, 0x6b17, 0x6b1a, 0x7062, 0x7226, 0x72aa,
    +    0x77d8, 0x77d9, 0x7939, 0x7c69, 0x7c6b, 0x7cf6, 0x7e9a, 0x003f,
    +    /* lead byte f9 */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x7e98, 0x7e9b, 0x7e99, 0x81e0, 0x81e1, 0x8646, 0x8647, 0x8648,
    +    0x8979, 0x897a, 0x897c, 0x897b, 0x89ff, 0x8b98, 0x8b99, 0x8ea5,
    +    0x8ea4, 0x8ea3, 0x946e, 0x946d, 0x946f, 0x9471, 0x9473, 0x9749,
    +    0x9872, 0x995f, 0x9c68, 0x9c6e, 0x9c6d, 0x9e0b, 0x9e0d, 0x9e10,
    +    0x9e0f, 0x9e12, 0x9e11, 0x9ea1, 0x9ef5, 0x9f09, 0x9f47, 0x9f78,
    +    0x9f7b, 0x9f7a, 0x9f79, 0x571e, 0x7066, 0x7c6f, 0x883c, 0x8db2,
    +    0x8ea6, 0x91c3, 0x9474, 0x9478, 0x9476, 0x9475, 0x9a60, 0x9c74,
    +    0x9c73, 0x9c71, 0x9c75, 0x9e14, 0x9e13, 0x9ef6, 0x9f0a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x9fa4, 0x7068, 0x7065, 0x7cf7, 0x866a, 0x883e, 0x883d,
    +    0x883f, 0x8b9e, 0x8c9c, 0x8ea9, 0x8ec9, 0x974b, 0x9873, 0x9874,
    +    0x98cc, 0x9961, 0x99ab, 0x9a64, 0x9a66, 0x9a67, 0x9b24, 0x9e15,
    +    0x9e17, 0x9f48, 0x6207, 0x6b1e, 0x7227, 0x864c, 0x8ea8, 0x9482,
    +    0x9480, 0x9481, 0x9a69, 0x9a68, 0x9b2e, 0x9e19, 0x7229, 0x864b,
    +    0x8b9f, 0x9483, 0x9c79, 0x9eb7, 0x7675, 0x9a6b, 0x9c7a, 0x9e1d,
    +    0x7069, 0x706a, 0x9ea4, 0x9f7e, 0x9f49, 0x9f98, 0x7881, 0x92b9,
    +    0x88cf, 0x58bb, 0x6052, 0x7ca7, 0x5afa, 0x2554, 0x2566, 0x2557,
    +    0x2560, 0x256c, 0x2563, 0x255a, 0x2569, 0x255d, 0x2552, 0x2564,
    +    0x2555, 0x255e, 0x256a, 0x2561, 0x2558, 0x2567, 0x255b, 0x2553,
    +    0x2565, 0x2556, 0x255f, 0x256b, 0x2562, 0x2559, 0x2568, 0x255c,
    +    0x2551, 0x2550, 0x256d, 0x256e, 0x2570, 0x256f, 0x2593, 0x003f
    +};
    +
    +static const unsigned char cp2uni_leadbytes[256] =
    +{
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +    0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    +    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    +    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
    +    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
    +    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
    +    0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
    +    0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x01,
    +    0x01, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
    +    0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
    +    0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
    +    0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46,
    +    0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e,
    +    0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
    +    0x57, 0x58, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00
    +};
    +
    +static const unsigned short uni2cp_low[27648] =
    +{
    +    /* 0x0000 .. 0x00ff */
    +    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, 0x005c, 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, 0x007e, 0x007f,
    +    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0020, 0x0021, 0x0063, 0x004c, 0x003f, 0x0059, 0x007c, 0xa1b1,
    +    0x0022, 0x0063, 0x0061, 0xa16d, 0x003f, 0x002d, 0x0072, 0xa1c2,
    +    0xa258, 0xa1d3, 0x0032, 0x0033, 0xa3bd, 0xa367, 0x003f, 0xa150,
    +    0x002c, 0x0031, 0x006f, 0xa16e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,
    +    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
    +    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1d1,
    +    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa35d,
    +    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,
    +    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
    +    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1d2,
    +    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x003f, 0x0079,
    +    /* 0x0100 .. 0x01ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
    +    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,
    +    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,
    +    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
    +    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
    +    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
    +    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,
    +    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,
    +    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,
    +    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa278, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,
    +    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,
    +    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,
    +    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,
    +    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,
    +    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,
    +    /* 0x0200 .. 0x02ff */
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,
    +    0x0079, 0xa3bd, 0x0022, 0xa1a5, 0xa1a6, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa3be,
    +    0x0027, 0xa3bc, 0xa3bd, 0xa3bf, 0x003f, 0xa1c5, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa3bb, 0xa258, 0x003f, 0x007e, 0x0022, 0x003f, 0x003f,
    +    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x0300 .. 0x03ff */
    +    0xa3bf, 0xa3bd, 0x005e, 0x007e, 0xa1c2, 0xa1c2, 0x003f, 0xa3bb,
    +    0x0022, 0x003f, 0xa258, 0x0022, 0xa3be, 0x003f, 0x0022, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa1c5, 0xa1c5, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa3bf, 0xa3bd, 0x003f, 0x003f, 0x0022, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa3bd, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa3bd, 0x0022, 0xa344, 0xa150,
    +    0xa348, 0xa34a, 0xa34c, 0x003f, 0xa352, 0x003f, 0xa357, 0xa35b,
    +    0xa364, 0xa344, 0xa345, 0xa346, 0xa347, 0xa348, 0xa349, 0xa34a,
    +    0xa34b, 0xa34c, 0xa34d, 0xa34e, 0xa34f, 0xa350, 0xa351, 0xa352,
    +    0xa353, 0xa354, 0x003f, 0xa355, 0xa356, 0xa357, 0xa358, 0xa359,
    +    0xa35a, 0xa35b, 0xa34c, 0xa357, 0xa35c, 0xa360, 0xa362, 0xa364,
    +    0xa36f, 0xa35c, 0xa35d, 0xa35e, 0xa35f, 0xa360, 0xa361, 0xa362,
    +    0xa363, 0xa364, 0xa365, 0xa366, 0xa367, 0xa368, 0xa369, 0xa36a,
    +    0xa36b, 0xa36c, 0x003f, 0xa36d, 0xa36e, 0xa36f, 0xa370, 0xa371,
    +    0xa372, 0xa373, 0xa364, 0xa36f, 0xa36a, 0xa36f, 0xa373, 0x003f,
    +    0xa35d, 0xa363, 0xa357, 0xa357, 0xa357, 0xa370, 0xa36b, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa365, 0xa36c, 0x003f, 0x003f, 0xa34b, 0xa360, 0x003f, 0x003f,
    +    0x003f, 0xa355, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1d00 .. 0x1dff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0041, 0x0042, 0x003f,
    +    0x0044, 0x0045, 0x003f, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b,
    +    0x004c, 0x004d, 0x004e, 0x003f, 0x004f, 0x003f, 0x0050, 0x0052,
    +    0x0054, 0x0055, 0x0057, 0x0061, 0x003f, 0x003f, 0x003f, 0x0062,
    +    0x0064, 0x0065, 0x003f, 0x003f, 0x003f, 0x0067, 0x003f, 0x006b,
    +    0x006d, 0x003f, 0x006f, 0x003f, 0x003f, 0x003f, 0x0070, 0x0074,
    +    0x0075, 0x003f, 0x003f, 0x0076, 0x003f, 0xa35d, 0xa35e, 0xa35f,
    +    0xa370, 0xa371, 0x0069, 0x0072, 0x0075, 0x0076, 0xa35d, 0xa35e,
    +    0xa36c, 0xa370, 0xa371, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1e00 .. 0x1eff */
    +    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,
    +    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,
    +    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,
    +    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,
    +    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,
    +    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,
    +    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,
    +    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,
    +    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,
    +    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,
    +    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
    +    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,
    +    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,
    +    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,
    +    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,
    +    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,
    +    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
    +    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,
    +    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
    +    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,
    +    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x1f00 .. 0x1fff */
    +    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c,
    +    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344,
    +    0xa360, 0xa360, 0xa360, 0xa360, 0xa360, 0xa360, 0x003f, 0x003f,
    +    0xa348, 0xa348, 0xa348, 0xa348, 0xa348, 0xa348, 0x003f, 0x003f,
    +    0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362,
    +    0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a,
    +    0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364,
    +    0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c,
    +    0xa36a, 0xa36a, 0xa36a, 0xa36a, 0xa36a, 0xa36a, 0x003f, 0x003f,
    +    0xa352, 0xa352, 0xa352, 0xa352, 0xa352, 0xa352, 0x003f, 0x003f,
    +    0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f,
    +    0x003f, 0xa357, 0x003f, 0xa357, 0x003f, 0xa357, 0x003f, 0xa357,
    +    0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373,
    +    0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b,
    +    0xa35c, 0xa35c, 0xa360, 0xa360, 0xa362, 0xa362, 0xa364, 0xa364,
    +    0xa36a, 0xa36a, 0xa36f, 0xa36f, 0xa373, 0xa373, 0x003f, 0x003f,
    +    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c,
    +    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344,
    +    0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362,
    +    0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a,
    +    0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373,
    +    0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b,
    +    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0x003f, 0xa35c, 0xa35c,
    +    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0x003f, 0xa364, 0x003f,
    +    0x003f, 0x0022, 0xa362, 0xa362, 0xa362, 0x003f, 0xa362, 0xa362,
    +    0xa348, 0xa348, 0xa34a, 0xa34a, 0xa34a, 0x003f, 0x003f, 0x003f,
    +    0xa364, 0xa364, 0xa364, 0xa364, 0x003f, 0x003f, 0xa364, 0xa364,
    +    0xa34c, 0xa34c, 0xa34c, 0xa34c, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36c, 0xa36c, 0xa36f, 0xa36f,
    +    0xa357, 0xa357, 0xa357, 0xa357, 0xa354, 0x0022, 0x0022, 0x0060,
    +    0x003f, 0x003f, 0xa373, 0xa373, 0xa373, 0x003f, 0xa373, 0xa373,
    +    0xa352, 0xa352, 0xa35b, 0xa35b, 0xa35b, 0xa3bd, 0x003f, 0x003f,
    +    /* 0x2000 .. 0x20ff */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x002d, 0x002d, 0x003f, 0xa156, 0xa158, 0xa156, 0x003f, 0x005f,
    +    0xa1a5, 0xa1a6, 0x002c, 0xa1a5, 0xa1a7, 0xa1a8, 0x002c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x002e, 0xa14c, 0xa14b, 0xa145,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0x003f, 0x003f, 0xa1ac, 0x0022, 0x003f, 0xa1ab, 0x003f, 0x003f,
    +    0x003f, 0xa171, 0xa172, 0xa1b0, 0x0021, 0x003f, 0xa1c2, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa241, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa258, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x006e,
    +    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
    +    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa3e1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2100 .. 0x21ff */
    +    0x003f, 0x003f, 0x0043, 0xa24a, 0x003f, 0xa1c1, 0x003f, 0x0045,
    +    0x003f, 0xa24b, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,
    +    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x003f, 0x003f,
    +    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x005a, 0x003f, 0xa35b, 0x003f,
    +    0x005a, 0x003f, 0x004b, 0x0041, 0x0042, 0x0043, 0x0065, 0x0065,
    +    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa35e, 0xa346, 0xa353,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,
    +    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0,
    +    0xa2c1, 0xa2c2, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,
    +    0x0069, 0x003f, 0x003f, 0x003f, 0x0076, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x0078, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1f6, 0xa1f4, 0xa1f7, 0xa1f5, 0x002d, 0x007c, 0xa1f8, 0xa1f9,
    +    0xa1fb, 0xa1fa, 0xa1f6, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2200 .. 0x22ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x002d, 0xa1d3, 0x003f, 0xa241, 0x005c, 0x002a,
    +    0xa258, 0x003f, 0xa1d4, 0x003f, 0x003f, 0x003f, 0xa1db, 0xa1e8,
    +    0xa1e7, 0x003f, 0x003f, 0xa1fd, 0xa1fd, 0xa1fc, 0xa1fc, 0x003f,
    +    0x003f, 0xa1e4, 0xa1e5, 0xa1ec, 0x003f, 0x003f, 0xa1ed, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ef, 0xa1ee, 0x003a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1da, 0xa1dd, 0xa1dd, 0xa1dd, 0x003f, 0x003f, 0xa1d8, 0xa1d9,
    +    0x003f, 0x003f, 0xa16d, 0xa16e, 0x003f, 0x003f, 0x003c, 0x003e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f2, 0x003f, 0x003f,
    +    0x003f, 0xa1f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1e6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1e9,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa150, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2300 .. 0x23ff */
    +    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa171, 0xa172, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2400 .. 0x24ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038,
    +    0x0039, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 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,
    +    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, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2500 .. 0x25ff */
    +    0xa277, 0xa277, 0xa278, 0xa278, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0x002d, 0x002d, 0x007c, 0x007c, 0xa27a, 0xa27a, 0xa27a, 0xa27a,
    +    0xa27b, 0xa27b, 0xa27b, 0xa27b, 0xa27c, 0xa27c, 0xa27c, 0xa27c,
    +    0xa27d, 0xa27d, 0xa27d, 0xa27d, 0xa275, 0xa275, 0xa275, 0xa275,
    +    0xa275, 0xa275, 0xa275, 0xa275, 0xa274, 0xa274, 0xa274, 0xa274,
    +    0xa274, 0xa274, 0xa274, 0xa274, 0xa273, 0xa273, 0xa273, 0xa273,
    +    0xa273, 0xa273, 0xa273, 0xa273, 0xa272, 0xa272, 0xa272, 0xa272,
    +    0xa272, 0xa272, 0xa272, 0xa272, 0xa271, 0xa271, 0xa271, 0xa271,
    +    0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271,
    +    0xa271, 0xa271, 0xa271, 0xa271, 0x002d, 0x002d, 0x007c, 0x007c,
    +    0xa2a4, 0xf9f8, 0xf9e6, 0xf9ef, 0xf9dd, 0xf9e8, 0xf9f1, 0xf9df,
    +    0xf9ec, 0xf9f5, 0xf9e3, 0xf9ee, 0xf9f7, 0xf9e5, 0xa2a5, 0xf9f2,
    +    0xf9e0, 0xa2a7, 0xf9f4, 0xf9e2, 0xf9e7, 0xf9f0, 0xf9de, 0xf9ed,
    +    0xf9f6, 0xf9e4, 0xa2a6, 0xf9f3, 0xf9e1, 0xa27e, 0xa2a1, 0xa2a3,
    +    0xa2a2, 0xa2ac, 0xa2ad, 0xa2ae, 0xa15a, 0x007c, 0xa15a, 0x007c,
    +    0xa15a, 0x007c, 0xa15a, 0x007c, 0xa15a, 0x007c, 0xa15a, 0x007c,
    +    0x003f, 0xa262, 0xa263, 0xa264, 0xa265, 0xa266, 0xa267, 0xa268,
    +    0xa269, 0xa270, 0xa26f, 0xa26e, 0xa26d, 0xa26c, 0xa26b, 0xa26a,
    +    0x003f, 0x003f, 0x003f, 0xf9fe, 0xa276, 0xa279, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1bd, 0xa1bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa1b6, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa1bf, 0xa1be, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1bb, 0xa1ba,
    +    0x003f, 0x003f, 0x003f, 0xa1b3, 0x003f, 0x003f, 0xa1b7, 0xa1b4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa2a8, 0xa2a9, 0xa2ab, 0xa2aa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1b3,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2600 .. 0x26ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1b9, 0xa1b8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa1f0, 0x003f, 0xa1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2e00 .. 0x2eff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa5c0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x2f00 .. 0x2fff */
    +    0xa440, 0x003f, 0x003f, 0x003f, 0xa441, 0x003f, 0xa447, 0x003f,
    +    0xa448, 0xa449, 0xa44a, 0xa44b, 0x003f, 0x003f, 0x003f, 0xa44c,
    +    0xc942, 0xa44d, 0xa44f, 0x003f, 0xa450, 0xc943, 0x003f, 0xa2cc,
    +    0xa452, 0x003f, 0xc944, 0x003f, 0xa453, 0xa466, 0xc949, 0xa467,
    +    0xa468, 0x003f, 0x003f, 0xa469, 0xa46a, 0xa46b, 0xa46c, 0x003f,
    +    0xa46f, 0xa470, 0xa471, 0xa472, 0xc94b, 0xa473, 0x003f, 0xa475,
    +    0xa476, 0xa479, 0xa47a, 0x003f, 0x003f, 0x003f, 0xa47b, 0xa47c,
    +    0xa47d, 0x003f, 0x003f, 0xc94c, 0xa4df, 0xa4e0, 0xa4e1, 0xa4e2,
    +    0xa4e4, 0x003f, 0xa4e5, 0xa4e6, 0xa4e7, 0xa4e8, 0x003f, 0xa4e9,
    +    0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef, 0xc95f, 0xa4f0,
    +    0xa4f1, 0xa4f2, 0xa4f3, 0xc961, 0xa4f4, 0xa4f5, 0xa4f6, 0xa4f7,
    +    0xa4f8, 0xc962, 0xa4f9, 0xa4fa, 0xa4fb, 0xa4fc, 0xa5c8, 0xa5c9,
    +    0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5d0, 0xa5d4, 0x003f,
    +    0x003f, 0xa5d5, 0xa5d6, 0xa5d7, 0xa5d8, 0xa5d9, 0xa5da, 0xa5db,
    +    0xa5dc, 0xc9a8, 0xa5dd, 0xa5de, 0xa5df, 0xa6cb, 0xa6cc, 0xa6cd,
    +    0xa6ce, 0xca49, 0xa6cf, 0xa6d0, 0xa6d1, 0xa6d3, 0xa6d4, 0xa6d5,
    +    0xa6d6, 0xa6d7, 0xa6da, 0xa6db, 0xa6dc, 0xa6dd, 0xa6de, 0xa6df,
    +    0xa6e0, 0xa6e1, 0xa6e2, 0xca4a, 0xca4f, 0xa6e4, 0xa6e5, 0xa6e6,
    +    0xa6e7, 0xca50, 0xa8a3, 0xa8a4, 0xa8a5, 0xa8a6, 0xa8a7, 0xa8a8,
    +    0xcba4, 0xa8a9, 0xa8aa, 0xa8ab, 0xa8ac, 0xa8ad, 0xa8ae, 0xa8af,
    +    0xa8b0, 0x003f, 0xa8b6, 0xa8bb, 0xa8bc, 0xa8bd, 0xaaf7, 0xaaf8,
    +    0xaaf9, 0xaafa, 0x003f, 0xab41, 0xab42, 0x003f, 0xab44, 0xadb1,
    +    0xadb2, 0xadb3, 0xadb4, 0xadb5, 0xadb6, 0xadb7, 0xadb8, 0xadb9,
    +    0xadba, 0xadbb, 0xb0a8, 0xb0a9, 0xb0aa, 0xd449, 0xb0ab, 0xd44a,
    +    0xb0ac, 0xb0ad, 0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2,
    +    0xb6c0, 0xb6c1, 0xb6c2, 0xdcb0, 0xe0ef, 0xb9a9, 0xb9aa, 0xb9ab,
    +    0xbbf3, 0xbbf4, 0xbea6, 0xc073, 0xc074, 0xefb6, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3000 .. 0x30ff */
    +    0xa140, 0xa142, 0xa143, 0xa1b2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa171, 0xa172, 0xa16d, 0xa16e, 0xa175, 0xa176, 0xa179, 0xa17a,
    +    0xa169, 0xa16a, 0xa245, 0x003f, 0xa165, 0xa166, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa1a9, 0xa1aa, 0x002c,
    +    0x003f, 0xa2c3, 0xa2c4, 0xa2c5, 0xa2c6, 0xa2c7, 0xa2c8, 0xa2c9,
    +    0xa2ca, 0xa2cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa245, 0x003f,
    +    0xa2cc, 0xa2cd, 0xa2ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3100 .. 0x31ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa374, 0xa375, 0xa376,
    +    0xa377, 0xa378, 0xa379, 0xa37a, 0xa37b, 0xa37c, 0xa37d, 0xa37e,
    +    0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7, 0xa3a8,
    +    0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af, 0xa3b0,
    +    0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8,
    +    0xa3b9, 0xa3ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa440, 0xa447, 0xa454, 0xa57c, 0xa457, 0xa4a4,
    +    0xa455, 0xa5d2, 0xa441, 0xa4fe, 0xa442, 0xa4d1, 0xa661, 0xa448,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3200 .. 0x32ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa440, 0xa447, 0xa454, 0xa57c, 0xa4ad, 0xa4bb, 0xa443, 0xa44b,
    +    0xa445, 0xa2cc, 0xa4eb, 0xa4f5, 0xa4f4, 0xa4ec, 0xaaf7, 0xa467,
    +    0xa4e9, 0xaee8, 0xa6b3, 0xaac0, 0xa657, 0xaf53, 0xb05d, 0xafac,
    +    0x003f, 0xafb5, 0xa86b, 0xa46b, 0xbe41, 0xc075, 0xa64c, 0xaa60,
    +    0xb6b5, 0xa5f0, 0x003f, 0xa1c0, 0xa457, 0xa4a4, 0xa455, 0xa5aa,
    +    0xa56b, 0x003f, 0xa976, 0x003f, 0xbaca, 0xa5f8, 0xb8ea, 0xa8f3,
    +    0xa95d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x3300 .. 0x33ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa255, 0xa256,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa250, 0xa251, 0xa252, 0x003f,
    +    0x003f, 0xa254, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa257, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa253, 0x003f,
    +    0x003f, 0xa1eb, 0xa1ea, 0x003f, 0x003f, 0xa24f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x4e00 .. 0x4eff */
    +    0xa440, 0xa442, 0x003f, 0xa443, 0x003f, 0x003f, 0x003f, 0xc945,
    +    0xa456, 0xa454, 0xa457, 0xa455, 0xc946, 0xa4a3, 0xc94f, 0xc94d,
    +    0xa4a2, 0xa4a1, 0x003f, 0x003f, 0xa542, 0xa541, 0xa540, 0x003f,
    +    0xa543, 0xa4fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xa5e0, 0xa5e1,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8c3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa458, 0x003f, 0xa4a4, 0xc950, 0x003f,
    +    0xa4a5, 0xc963, 0xa6ea, 0xcbb1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa459, 0xa4a6, 0x003f, 0xa544, 0xc964, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc940, 0xa444, 0x003f, 0xa45b, 0x003f, 0xc947,
    +    0xa45c, 0x003f, 0x003f, 0xa4a7, 0x003f, 0xa545, 0xa547, 0xa546,
    +    0x003f, 0x003f, 0xa5e2, 0xa5e3, 0x003f, 0x003f, 0xa8c4, 0x003f,
    +    0xadbc, 0xa441, 0x003f, 0x003f, 0xc941, 0xa445, 0xa45e, 0xa45d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa5e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa8c5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0ae, 0xd44b,
    +    0x003f, 0x003f, 0xb6c3, 0xdcb1, 0xdcb2, 0x003f, 0xa446, 0x003f,
    +    0xa4a9, 0x003f, 0x003f, 0xa8c6, 0xa447, 0xc948, 0xa45f, 0x003f,
    +    0x003f, 0xa4aa, 0xa4ac, 0xc951, 0xa4ad, 0xa4ab, 0x003f, 0x003f,
    +    0x003f, 0xa5e5, 0x003f, 0xa8c7, 0x003f, 0x003f, 0xa8c8, 0xab45,
    +    0x003f, 0xa460, 0xa4ae, 0x003f, 0xa5e6, 0xa5e8, 0xa5e7, 0x003f,
    +    0xa6eb, 0x003f, 0x003f, 0xa8c9, 0xa8ca, 0xab46, 0xab47, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xadbd, 0x003f, 0x003f, 0xdcb3, 0x003f,
    +    0x003f, 0xf6d6, 0xa448, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa4b0, 0xa4af, 0xc952, 0xa4b1, 0xa4b7, 0x003f, 0xa4b2, 0xa4b3,
    +    0xc954, 0xc953, 0xa4b5, 0xa4b6, 0x003f, 0xa4b4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa54a, 0xa54b, 0xa54c, 0xa54d,
    +    0xa549, 0xa550, 0xc96a, 0x003f, 0xc966, 0xc969, 0xa551, 0xa561,
    +    0x003f, 0xc968, 0x003f, 0xa54e, 0xa54f, 0xa548, 0x003f, 0x003f,
    +    0xc965, 0xc967, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa5f5, 0xc9b0, 0xa5f2, 0xa5f6, 0xc9ba, 0xc9ae, 0xa5f3, 0xc9b2,
    +    0x003f, 0x003f, 0x003f, 0xa5f4, 0x003f, 0xa5f7, 0x003f, 0xa5e9,
    +    /* 0x4f00 .. 0x4fff */
    +    0xc9b1, 0xa5f8, 0xc9b5, 0x003f, 0xc9b9, 0xc9b6, 0x003f, 0x003f,
    +    0xc9b3, 0xa5ea, 0xa5ec, 0xa5f9, 0x003f, 0xa5ee, 0xc9ab, 0xa5f1,
    +    0xa5ef, 0xa5f0, 0xc9bb, 0xc9b8, 0xc9af, 0xa5ed, 0x003f, 0x003f,
    +    0xc9ac, 0xa5eb, 0x003f, 0x003f, 0x003f, 0xc9b4, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc9b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc9ad, 0xca66, 0x003f, 0xa742,
    +    0xa6f4, 0x003f, 0x003f, 0xca67, 0xa6f1, 0x003f, 0xa744, 0x003f,
    +    0xa6f9, 0x003f, 0xa6f8, 0xca5b, 0xa6fc, 0xa6f7, 0xca60, 0xca68,
    +    0x003f, 0xca64, 0x003f, 0xa6fa, 0x003f, 0x003f, 0xa6fd, 0xa6ee,
    +    0xa747, 0xca5d, 0x003f, 0x003f, 0xcbbd, 0xa6ec, 0xa743, 0xa6ed,
    +    0xa6f5, 0xa6f6, 0xca62, 0xca5e, 0xa6fb, 0xa6f3, 0xca5a, 0xa6ef,
    +    0xca65, 0xa745, 0xa748, 0xa6f2, 0xa740, 0xa746, 0xa6f0, 0xca63,
    +    0xa741, 0xca69, 0xca5c, 0xa6fe, 0xca5f, 0x003f, 0x003f, 0xca61,
    +    0x003f, 0xa8d8, 0xcbbf, 0xcbcb, 0xa8d0, 0x003f, 0xcbcc, 0xa8cb,
    +    0xa8d5, 0x003f, 0x003f, 0xa8ce, 0xcbb9, 0xa8d6, 0xcbb8, 0xcbbc,
    +    0xcbc3, 0xcbc1, 0xa8de, 0xa8d9, 0xcbb3, 0xcbb5, 0xa8db, 0xa8cf,
    +    0xcbb6, 0xcbc2, 0xcbc9, 0xa8d4, 0xcbbb, 0xcbb4, 0xa8d3, 0xcbb7,
    +    0xa8d7, 0xcbba, 0x003f, 0xa8d2, 0x003f, 0xa8cd, 0x003f, 0xa8dc,
    +    0xcbc4, 0xa8dd, 0xcbc8, 0x003f, 0xcbc6, 0xcbca, 0xa8da, 0xcbbe,
    +    0xcbb2, 0x003f, 0xcbc0, 0xa8d1, 0xcbc5, 0xa8cc, 0xcbc7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xab56, 0xab4a,
    +    0x003f, 0x003f, 0xcde0, 0xcde8, 0x003f, 0xab49, 0xab51, 0xab5d,
    +    0x003f, 0xcdee, 0xcdec, 0xcde7, 0x003f, 0x003f, 0x003f, 0xab4b,
    +    0xcded, 0xcde3, 0xab59, 0xab50, 0xab58, 0xcdde, 0x003f, 0xcdea,
    +    0x003f, 0xcde1, 0xab54, 0xcde2, 0x003f, 0xcddd, 0xab5b, 0xab4e,
    +    0xab57, 0xab4d, 0x003f, 0xcddf, 0xcde4, 0x003f, 0xcdeb, 0xab55,
    +    0xab52, 0xcde6, 0xab5a, 0xcde9, 0xcde5, 0xab4f, 0xab5c, 0xab53,
    +    0xab4c, 0xab48, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcdef, 0x003f, 0xadd7, 0xadc1,
    +    0x003f, 0xadd1, 0x003f, 0xadd6, 0xd0d0, 0xd0cf, 0xd0d4, 0xd0d5,
    +    0xadc4, 0x003f, 0xadcd, 0x003f, 0x003f, 0x003f, 0xadda, 0x003f,
    +    /* 0x5000 .. 0x50ff */
    +    0xadce, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c9, 0xadc7, 0xd0ca,
    +    0x003f, 0xaddc, 0x003f, 0xadd3, 0xadbe, 0xadbf, 0xd0dd, 0xb0bf,
    +    0x003f, 0xadcc, 0xadcb, 0xd0cb, 0xadcf, 0xd45b, 0xadc6, 0xd0d6,
    +    0xadd5, 0xadd4, 0xadca, 0xd0ce, 0xd0d7, 0x003f, 0xd0c8, 0xadc9,
    +    0xd0d8, 0xadd2, 0xd0cc, 0xadc0, 0x003f, 0xadc3, 0xadc2, 0xd0d9,
    +    0xadd0, 0xadc5, 0xadd9, 0xaddb, 0xd0d3, 0xadd8, 0x003f, 0xd0db,
    +    0xd0cd, 0xd0dc, 0x003f, 0xd0d1, 0x003f, 0xd0da, 0x003f, 0xd0d2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xadc8, 0x003f, 0x003f, 0x003f,
    +    0xd463, 0xd457, 0x003f, 0xb0b3, 0x003f, 0xd45c, 0xd462, 0xb0b2,
    +    0xd455, 0xb0b6, 0xd459, 0xd452, 0xb0b4, 0xd456, 0xb0b9, 0xb0be,
    +    0x003f, 0xd467, 0x003f, 0xd451, 0x003f, 0xb0ba, 0x003f, 0xd466,
    +    0x003f, 0x003f, 0xb0b5, 0xd458, 0xb0b1, 0xd453, 0xd44f, 0xd45d,
    +    0xd450, 0xd44e, 0xd45a, 0xd460, 0xd461, 0xb0b7, 0x003f, 0x003f,
    +    0xd85b, 0xd45e, 0xd44d, 0xd45f, 0x003f, 0xb0c1, 0xd464, 0xb0c0,
    +    0xd44c, 0x003f, 0xd454, 0xd465, 0xb0bc, 0xb0bb, 0xb0b8, 0xb0bd,
    +    0x003f, 0x003f, 0xb0af, 0x003f, 0x003f, 0xb0b0, 0x003f, 0x003f,
    +    0xb3c8, 0x003f, 0xd85e, 0xd857, 0x003f, 0xb3c5, 0x003f, 0xd85f,
    +    0x003f, 0x003f, 0x003f, 0xd855, 0xd858, 0xb3c4, 0xd859, 0x003f,
    +    0x003f, 0xb3c7, 0xd85d, 0x003f, 0xd853, 0xd852, 0xb3c9, 0x003f,
    +    0xb3ca, 0xb3c6, 0xb3cb, 0xd851, 0xd85c, 0xd85a, 0xd854, 0x003f,
    +    0x003f, 0x003f, 0xb3c3, 0xd856, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb6ca, 0xb6c4, 0xdcb7, 0xb6cd,
    +    0xdcbd, 0xdcc0, 0xb6c6, 0xb6c7, 0xdcba, 0xb6c5, 0xdcc3, 0xb6cb,
    +    0xdcc4, 0x003f, 0xdcbf, 0xb6cc, 0x003f, 0xdcb4, 0xb6c9, 0xdcb5,
    +    0x003f, 0xdcbe, 0xdcbc, 0x003f, 0xdcb8, 0xb6c8, 0xdcb6, 0xb6ce,
    +    0xdcbb, 0xdcc2, 0xdcb9, 0xdcc1, 0x003f, 0x003f, 0xb9b6, 0xb9b3,
    +    0x003f, 0xb9b4, 0x003f, 0xe0f9, 0xe0f1, 0xb9b2, 0xb9af, 0xe0f2,
    +    0x003f, 0x003f, 0xb9b1, 0xe0f5, 0x003f, 0xe0f7, 0x003f, 0x003f,
    +    0xe0fe, 0x003f, 0x003f, 0xe0fd, 0xe0f8, 0xb9ae, 0xe0f0, 0xb9ac,
    +    0xe0f3, 0xb9b7, 0xe0f6, 0x003f, 0xe0fa, 0xb9b0, 0xb9ad, 0xe0fc,
    +    0xe0fb, 0xb9b5, 0x003f, 0xe0f4, 0x003f, 0xbbf8, 0xe4ec, 0x003f,
    +    0xe4e9, 0xbbf9, 0x003f, 0xbbf7, 0x003f, 0xe4f0, 0xe4ed, 0xe4e6,
    +    /* 0x5100 .. 0x51ff */
    +    0xbbf6, 0x003f, 0xbbfa, 0xe4e7, 0xbbf5, 0xbbfd, 0xe4ea, 0xe4eb,
    +    0xbbfb, 0xbbfc, 0xe4f1, 0xe4ee, 0xe4ef, 0x003f, 0x003f, 0x003f,
    +    0xbeaa, 0xe8f8, 0xbea7, 0xe8f5, 0xbea9, 0xbeab, 0x003f, 0xe8f6,
    +    0xbea8, 0x003f, 0xe8f7, 0x003f, 0xe8f4, 0x003f, 0x003f, 0xc076,
    +    0xecbd, 0xc077, 0xecbb, 0x003f, 0xecbc, 0xecba, 0xecb9, 0x003f,
    +    0x003f, 0xecbe, 0xc075, 0x003f, 0x003f, 0xefb8, 0xefb9, 0x003f,
    +    0xe4e8, 0xefb7, 0xc078, 0xc35f, 0xf1eb, 0xf1ec, 0x003f, 0xc4d7,
    +    0xc4d8, 0xf5c1, 0xf5c0, 0xc56c, 0xc56b, 0xf7d0, 0x003f, 0xa449,
    +    0xa461, 0xa4b9, 0x003f, 0xa4b8, 0xa553, 0xa552, 0xa5fc, 0xa5fb,
    +    0xa5fd, 0xa5fa, 0x003f, 0xa74a, 0xa749, 0xa74b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa8e0, 0x003f, 0xa8df, 0xa8e1, 0x003f, 0xab5e,
    +    0x003f, 0xa259, 0xd0de, 0xa25a, 0xb0c2, 0xa25c, 0xa25b, 0xd860,
    +    0x003f, 0xa25d, 0xb9b8, 0xa25e, 0x003f, 0xa44a, 0x003f, 0xa4ba,
    +    0xa5fe, 0xa8e2, 0x003f, 0xa44b, 0xa4bd, 0xa4bb, 0xa4bc, 0x003f,
    +    0x003f, 0xa640, 0x003f, 0x003f, 0x003f, 0xa74c, 0xa8e4, 0xa8e3,
    +    0xa8e5, 0x003f, 0x003f, 0x003f, 0xaddd, 0x003f, 0x003f, 0x003f,
    +    0xbeac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc94e,
    +    0x003f, 0xa554, 0xa555, 0x003f, 0x003f, 0xa641, 0x003f, 0xca6a,
    +    0x003f, 0xab60, 0xab5f, 0xd0e0, 0xd0df, 0xb0c3, 0x003f, 0xa4be,
    +    0xc955, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbcd, 0x003f,
    +    0xab61, 0x003f, 0xade0, 0x003f, 0xadde, 0xaddf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbead, 0x003f, 0xa556, 0x003f, 0x003f, 0x003f,
    +    0xa642, 0xc9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0xa74d, 0xa74e,
    +    0x003f, 0xca6b, 0x003f, 0x003f, 0xcbce, 0xa8e6, 0xcbcf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd0e2, 0xd0e3, 0xade3, 0x003f,
    +    0xd0e4, 0x003f, 0xd0e1, 0xade4, 0xade2, 0xade1, 0xd0e5, 0x003f,
    +    0xd468, 0x003f, 0x003f, 0x003f, 0xd861, 0x003f, 0x003f, 0xdcc5,
    +    0xe140, 0x003f, 0x003f, 0x003f, 0xbbfe, 0xbeae, 0xe8f9, 0x003f,
    +    0xa44c, 0xa45a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb0c4, 0xb3cd, 0x003f, 0xb9b9, 0x003f, 0xc942, 0xa4bf, 0x003f,
    +    0xa559, 0xa557, 0xa558, 0x003f, 0x003f, 0xa8e7, 0x003f, 0x003f,
    +    /* 0x5200 .. 0x52ff */
    +    0xa44d, 0xa44e, 0x003f, 0xa462, 0x003f, 0x003f, 0xa4c0, 0xa4c1,
    +    0xa4c2, 0xc9be, 0xa55a, 0x003f, 0xc96b, 0x003f, 0xa646, 0x003f,
    +    0xc9bf, 0xa644, 0xa645, 0xc9bd, 0x003f, 0x003f, 0xa647, 0xa643,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xca6c, 0xaaec, 0xca6d, 0x003f,
    +    0x003f, 0xca6e, 0x003f, 0x003f, 0xa750, 0xa74f, 0x003f, 0x003f,
    +    0xa753, 0xa751, 0xa752, 0x003f, 0x003f, 0x003f, 0xa8ed, 0x003f,
    +    0xa8ec, 0xcbd4, 0xcbd1, 0xcbd2, 0x003f, 0xcbd0, 0xa8ee, 0xa8ea,
    +    0xa8e9, 0x003f, 0xa8eb, 0xa8e8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa8ef, 0x003f, 0xab63, 0xcdf0, 0x003f, 0xcbd3, 0xab68,
    +    0x003f, 0xcdf1, 0xab64, 0xab67, 0xab66, 0xab65, 0xab62, 0x003f,
    +    0x003f, 0x003f, 0xd0e8, 0x003f, 0xade7, 0xd0eb, 0xade5, 0x003f,
    +    0x003f, 0x003f, 0xd0e7, 0xade8, 0xade6, 0xade9, 0xd0e9, 0xd0ea,
    +    0x003f, 0xd0e6, 0xd0ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3d1, 0xb0c5, 0xd469, 0xd46b, 0xd46a, 0xd46c, 0xb0c6,
    +    0x003f, 0x003f, 0xb3ce, 0x003f, 0xb3cf, 0xb3d0, 0x003f, 0xb6d0,
    +    0xdcc7, 0x003f, 0xdcc6, 0xdcc8, 0xdcc9, 0xb6d1, 0x003f, 0xb6cf,
    +    0xe141, 0xe142, 0xb9bb, 0xb9ba, 0xe35a, 0x003f, 0x003f, 0xbc40,
    +    0xbc41, 0xbc42, 0xbc44, 0xe4f2, 0xe4f3, 0xbc43, 0x003f, 0x003f,
    +    0x003f, 0xbeaf, 0x003f, 0xbeb0, 0x003f, 0x003f, 0xf1ed, 0xf5c3,
    +    0xf5c2, 0xf7d1, 0x003f, 0xa44f, 0x003f, 0x003f, 0x003f, 0xa55c,
    +    0xa55b, 0x003f, 0x003f, 0xa648, 0x003f, 0x003f, 0xc9c0, 0x003f,
    +    0x003f, 0xa755, 0xa756, 0xa754, 0xa757, 0xca6f, 0xca70, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa8f1, 0xcbd5, 0x003f, 0xa8f0, 0x003f,
    +    0xcdf2, 0xab6c, 0xcdf3, 0xab6b, 0x003f, 0x003f, 0x003f, 0xab69,
    +    0x003f, 0xab6a, 0x003f, 0x003f, 0x003f, 0xd0ed, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb0c7, 0xd46e, 0x003f, 0xb0ca, 0xd46d, 0xb1e5,
    +    0xb0c9, 0xb0c8, 0x003f, 0xb3d4, 0x003f, 0xb3d3, 0xb3d2, 0xb6d2,
    +    0x003f, 0x003f, 0xb6d5, 0xb6d6, 0xb6d4, 0x003f, 0xb6d3, 0x003f,
    +    0x003f, 0xe143, 0x003f, 0xe144, 0x003f, 0x003f, 0x003f, 0xe4f5,
    +    0xbc45, 0xe4f4, 0x003f, 0xbeb1, 0xecbf, 0xc079, 0x003f, 0xf1ee,
    +    0xc455, 0x003f, 0xa463, 0xa4c3, 0xc956, 0x003f, 0xa4c4, 0xa4c5,
    +    /* 0x5300 .. 0x53ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa55d, 0xa55e, 0x003f,
    +    0xa649, 0xca71, 0xcbd6, 0xcbd7, 0x003f, 0xab6d, 0xd0ee, 0xb0cc,
    +    0xb0cb, 0xd863, 0xd862, 0x003f, 0x003f, 0xa450, 0xa4c6, 0xa55f,
    +    0x003f, 0xb0cd, 0xc943, 0x003f, 0xc96c, 0xa560, 0x003f, 0xc9c2,
    +    0xa64b, 0xa64a, 0xc9c1, 0xa758, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xadea, 0x003f, 0x003f, 0xd46f, 0x003f, 0xb6d7,
    +    0xe145, 0xb9bc, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0xf3fd,
    +    0x003f, 0xa4c7, 0x003f, 0x003f, 0xcbd8, 0xcdf4, 0xb0d0, 0xb0ce,
    +    0xb0cf, 0xa2cc, 0x003f, 0xa464, 0xa2cd, 0xa2ce, 0x003f, 0xa4c9,
    +    0xa4c8, 0xa563, 0xa562, 0x003f, 0xc96d, 0xc9c3, 0x003f, 0x003f,
    +    0x003f, 0xa8f5, 0xa8f2, 0xa8f4, 0xa8f3, 0x003f, 0x003f, 0xab6e,
    +    0x003f, 0x003f, 0xb3d5, 0x003f, 0xa452, 0x003f, 0xa4cb, 0x003f,
    +    0xa565, 0xa564, 0x003f, 0xca72, 0x003f, 0x003f, 0xa8f6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc957, 0x003f, 0xa567, 0xa566,
    +    0xa64c, 0xa64d, 0xca73, 0xa759, 0x003f, 0xa75a, 0x003f, 0xa8f7,
    +    0xa8f8, 0xa8f9, 0x003f, 0xab6f, 0xcdf5, 0x003f, 0x003f, 0xadeb,
    +    0x003f, 0x003f, 0xc944, 0x003f, 0xa4cc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc9c4, 0x003f, 0x003f, 0x003f, 0xca74, 0xca75,
    +    0x003f, 0x003f, 0xcbd9, 0x003f, 0xcbda, 0x003f, 0xcdf7, 0xcdf6,
    +    0xcdf9, 0xcdf8, 0xab70, 0x003f, 0xd470, 0xaded, 0xd0ef, 0xadec,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd864, 0xb3d6, 0x003f, 0xd865,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe146, 0xb9bd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbc46, 0x003f, 0xf1ef, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc958, 0x003f, 0xa568, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb0d1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa453, 0xa465, 0xa4ce, 0xa4cd, 0x003f, 0xa4cf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa8fb, 0x003f, 0xa8fa, 0xa8fc,
    +    0x003f, 0x003f, 0x003f, 0xab71, 0x003f, 0x003f, 0x003f, 0xadee,
    +    0x003f, 0xe8fb, 0xc24f, 0xa466, 0xa56a, 0xa579, 0xa574, 0x003f,
    +    0xa56f, 0xa56e, 0xa575, 0xa573, 0xa56c, 0xa57a, 0xa56d, 0xa569,
    +    0xa578, 0xa577, 0xa576, 0xa56b, 0x003f, 0xa572, 0x003f, 0x003f,
    +    0xa571, 0x003f, 0x003f, 0xa57b, 0xa570, 0x003f, 0x003f, 0x003f,
    +    /* 0x5400 .. 0x54ff */
    +    0x003f, 0xa653, 0x003f, 0xa659, 0xa655, 0x003f, 0xa65b, 0xc9c5,
    +    0xa658, 0xa64e, 0xa651, 0xa654, 0xa650, 0xa657, 0xa65a, 0xa64f,
    +    0xa652, 0xa656, 0xa65c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xca7e, 0xca7b, 0x003f, 0xa767, 0xca7c, 0xa75b, 0xa75d, 0xa775,
    +    0xa770, 0x003f, 0x003f, 0x003f, 0xcaa5, 0xca7d, 0xa75f, 0xa761,
    +    0xcaa4, 0xa768, 0xca78, 0xa774, 0xa776, 0xa75c, 0xa76d, 0x003f,
    +    0xca76, 0xa773, 0x003f, 0xa764, 0x003f, 0xa76e, 0xa76f, 0xca77,
    +    0xa76c, 0xa76a, 0x003f, 0xa76b, 0xa771, 0xcaa1, 0xa75e, 0x003f,
    +    0xa772, 0xcaa3, 0xa766, 0xa763, 0x003f, 0xca7a, 0xa762, 0xcaa6,
    +    0xa765, 0x003f, 0xa769, 0x003f, 0x003f, 0x003f, 0xa760, 0xcaa2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xca79, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcbeb, 0xcbea, 0xa94f, 0xcbed, 0xcbef, 0xcbe4, 0xcbe7, 0xcbee,
    +    0xa950, 0x003f, 0x003f, 0xcbe1, 0xcbe5, 0x003f, 0x003f, 0xcbe9,
    +    0xce49, 0xa94b, 0xce4d, 0xa8fd, 0xcbe6, 0xa8fe, 0xa94c, 0xa945,
    +    0xa941, 0x003f, 0xcbe2, 0xa944, 0xa949, 0xa952, 0xcbe3, 0xcbdc,
    +    0xa943, 0xcbdd, 0xcbdf, 0x003f, 0xa946, 0x003f, 0xa948, 0xcbdb,
    +    0xcbe0, 0x003f, 0x003f, 0xa951, 0xa94d, 0xcbe8, 0xa953, 0x003f,
    +    0xa94a, 0xcbde, 0xa947, 0x003f, 0x003f, 0xa942, 0xa940, 0x003f,
    +    0xcbec, 0x003f, 0xa94e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xce48, 0xcdfb, 0xce4b, 0x003f, 0x003f, 0xcdfd, 0xab78, 0xaba8,
    +    0xab74, 0xaba7, 0xab7d, 0xaba4, 0xab72, 0xcdfc, 0xce43, 0xaba3,
    +    0xce4f, 0xaba5, 0x003f, 0xab79, 0x003f, 0x003f, 0xce45, 0xce42,
    +    0xab77, 0x003f, 0xcdfa, 0xaba6, 0xce4a, 0xab7c, 0xce4c, 0xaba9,
    +    0xab73, 0xab7e, 0xab7b, 0xce40, 0xaba1, 0xce46, 0xce47, 0xab7a,
    +    0xaba2, 0xab76, 0x003f, 0x003f, 0x003f, 0x003f, 0xab75, 0xcdfe,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce44, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce4e, 0x003f,
    +    0xd144, 0xadfb, 0xd0f1, 0x003f, 0xd0f6, 0xadf4, 0xae40, 0xd0f4,
    +    0xadef, 0xadf9, 0xadfe, 0xd0fb, 0x003f, 0xadfa, 0xadfd, 0x003f,
    +    0x003f, 0xd0fe, 0xadf5, 0xd0f5, 0x003f, 0x003f, 0x003f, 0xd142,
    +    0xd143, 0x003f, 0xadf7, 0xd141, 0xadf3, 0xae43, 0x003f, 0xd0f8,
    +    /* 0x5500 .. 0x55ff */
    +    0x003f, 0xadf1, 0x003f, 0xd146, 0xd0f9, 0xd0fd, 0xadf6, 0xae42,
    +    0xd0fa, 0xadfc, 0xd140, 0xd147, 0xd4a1, 0x003f, 0xd145, 0xae44,
    +    0xadf0, 0xd0fc, 0xd0f3, 0x003f, 0xadf8, 0x003f, 0x003f, 0xd0f2,
    +    0x003f, 0x003f, 0xd0f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0f0, 0xae41,
    +    0x003f, 0x003f, 0xd477, 0x003f, 0xb0e4, 0xd4a7, 0xb0e2, 0xb0df,
    +    0xd47c, 0xb0db, 0xd4a2, 0xb0e6, 0xd476, 0xd47b, 0xd47a, 0xadf2,
    +    0xb0e1, 0xd4a5, 0x003f, 0xd4a8, 0xd473, 0x003f, 0xb3e8, 0x003f,
    +    0xd4a9, 0xb0e7, 0x003f, 0xb0d9, 0xb0d6, 0xd47e, 0xb0d3, 0x003f,
    +    0xd4a6, 0x003f, 0xb0da, 0xd4aa, 0x003f, 0xd474, 0xd4a4, 0xb0dd,
    +    0xd475, 0xd478, 0xd47d, 0x003f, 0x003f, 0xb0de, 0xb0dc, 0xb0e8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb0e3, 0x003f, 0xb0d7, 0xb1d2,
    +    0x003f, 0xb0d8, 0xd479, 0xb0e5, 0xb0e0, 0xd4a3, 0xb0d5, 0x003f,
    +    0x003f, 0x003f, 0xb0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd471, 0xd472, 0xd86a,
    +    0x003f, 0x003f, 0x003f, 0xb3d7, 0xb3da, 0xd875, 0xb3ee, 0xd878,
    +    0xb3d8, 0xd871, 0xb3de, 0xb3e4, 0xb5bd, 0x003f, 0x003f, 0xb3e2,
    +    0xd86e, 0xb3ef, 0xb3db, 0xb3e3, 0xd876, 0xdcd7, 0xd87b, 0xd86f,
    +    0x003f, 0xd866, 0xd873, 0xd86d, 0xb3e1, 0xd879, 0x003f, 0x003f,
    +    0xb3dd, 0xb3f1, 0xb3ea, 0x003f, 0xb3df, 0xb3dc, 0x003f, 0xb3e7,
    +    0x003f, 0xd87a, 0xd86c, 0xd872, 0xd874, 0xd868, 0xd877, 0xb3d9,
    +    0xd867, 0x003f, 0xb3e0, 0xb3f0, 0xb3ec, 0xd869, 0xb3e6, 0x003f,
    +    0x003f, 0xb3ed, 0xb3e9, 0xb3e5, 0x003f, 0xd870, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb3eb, 0x003f, 0x003f, 0x003f, 0xdcd5,
    +    0xdcd1, 0x003f, 0xdce0, 0xdcca, 0xdcd3, 0xb6e5, 0xb6e6, 0xb6de,
    +    0xdcdc, 0xb6e8, 0xdccf, 0xdcce, 0xdccc, 0xdcde, 0xb6dc, 0xdcd8,
    +    0xdccd, 0xb6df, 0xdcd6, 0xb6da, 0xdcd2, 0xdcd9, 0xdcdb, 0x003f,
    +    0x003f, 0xdcdf, 0xb6e3, 0xdccb, 0xb6dd, 0xdcd0, 0x003f, 0xb6d8,
    +    0x003f, 0xb6e4, 0xdcda, 0xb6e0, 0xb6e1, 0xb6e7, 0xb6db, 0xa25f,
    +    0xb6d9, 0xdcd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e2,
    +    0x003f, 0x003f, 0xdcdd, 0x003f, 0x003f, 0x003f, 0xb9cd, 0xb9c8,
    +    0x003f, 0xe155, 0xe151, 0x003f, 0xe14b, 0xb9c2, 0xb9be, 0xe154,
    +    /* 0x5600 .. 0x56ff */
    +    0xb9bf, 0xe14e, 0xe150, 0x003f, 0xe153, 0x003f, 0xb9c4, 0x003f,
    +    0xb9cb, 0xb9c5, 0x003f, 0x003f, 0xe149, 0xb9c6, 0xb9c7, 0xe14c,
    +    0xb9cc, 0x003f, 0xe14a, 0xe14f, 0xb9c3, 0xe148, 0xb9c9, 0xb9c1,
    +    0x003f, 0x003f, 0x003f, 0xb9c0, 0xe14d, 0xe152, 0x003f, 0xb9ca,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe147,
    +    0x003f, 0xbc4d, 0xe547, 0x003f, 0xe544, 0x003f, 0xbc47, 0xbc53,
    +    0xbc54, 0x003f, 0xbc4a, 0xe542, 0xbc4c, 0xe4f9, 0xbc52, 0x003f,
    +    0xe546, 0xbc49, 0xe548, 0xbc48, 0x003f, 0xe543, 0xe545, 0xbc4b,
    +    0xe541, 0xe4fa, 0xe4f7, 0x003f, 0x003f, 0xd86b, 0xe4fd, 0x003f,
    +    0xe4f6, 0xe4fc, 0xe4fb, 0x003f, 0xe4f8, 0x003f, 0xbc4f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbc4e, 0x003f, 0x003f, 0x003f, 0xbc50,
    +    0xe4fe, 0xbeb2, 0xe540, 0x003f, 0x003f, 0x003f, 0xe945, 0x003f,
    +    0xe8fd, 0x003f, 0xbebe, 0xe942, 0xbeb6, 0xbeba, 0xe941, 0x003f,
    +    0xbeb9, 0xbeb5, 0xbeb8, 0xbeb3, 0xbebd, 0xe943, 0xe8fe, 0xbebc,
    +    0xe8fc, 0xbebb, 0xe944, 0xe940, 0xbc51, 0x003f, 0xbebf, 0xe946,
    +    0xbeb7, 0xbeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xecc6, 0xecc8,
    +    0xc07b, 0xecc9, 0xecc7, 0xecc5, 0xecc4, 0xc07d, 0xecc3, 0xc07e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xecc1, 0xecc2, 0xc07a, 0xc0a1,
    +    0xc07c, 0x003f, 0x003f, 0xecc0, 0x003f, 0xc250, 0x003f, 0xefbc,
    +    0xefba, 0xefbf, 0xefbd, 0x003f, 0xefbb, 0xefbe, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc360, 0xf1f2, 0xf1f3,
    +    0xc456, 0x003f, 0xf1f4, 0xf1f0, 0xf1f5, 0xf1f1, 0xc251, 0x003f,
    +    0x003f, 0x003f, 0xf3fe, 0xf441, 0xc459, 0xf440, 0xc458, 0xc457,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc45a, 0xf5c5, 0xf5c6, 0x003f,
    +    0xc4da, 0xc4d9, 0xc4db, 0xf5c4, 0x003f, 0xf6d8, 0xf6d7, 0x003f,
    +    0xc56d, 0xc56f, 0xc56e, 0xf6d9, 0xc5c8, 0xf8a6, 0x003f, 0x003f,
    +    0x003f, 0xc5f1, 0x003f, 0xf8a5, 0xf8ee, 0x003f, 0x003f, 0xc949,
    +    0x003f, 0x003f, 0xa57d, 0xa57c, 0x003f, 0xa65f, 0xa65e, 0xc9c7,
    +    0xa65d, 0xc9c6, 0x003f, 0x003f, 0xa779, 0xcaa9, 0x003f, 0xcaa8,
    +    0x003f, 0x003f, 0xa777, 0xa77a, 0x003f, 0x003f, 0xcaa7, 0x003f,
    +    0xa778, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf0,
    +    0x003f, 0xcbf1, 0xa954, 0x003f, 0x003f, 0x003f, 0x003f, 0xabaa,
    +    /* 0x5700 .. 0x57ff */
    +    0x003f, 0xd148, 0xd149, 0xae45, 0xae46, 0x003f, 0x003f, 0xd4ac,
    +    0xb0e9, 0xb0eb, 0xd4ab, 0xb0ea, 0xd87c, 0xb3f2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb6e9, 0xb6ea, 0xdce1, 0x003f, 0xb9cf, 0x003f,
    +    0xb9ce, 0x003f, 0xe549, 0xe948, 0xe947, 0x003f, 0xf96b, 0xa467,
    +    0xc959, 0x003f, 0xc96e, 0xc96f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa662, 0xa666, 0xc9c9, 0x003f, 0xa664, 0xa663, 0xc9c8, 0xa665,
    +    0xa661, 0x003f, 0x003f, 0xa660, 0xc9ca, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa7a6, 0x003f, 0x003f, 0xa7a3, 0x003f,
    +    0xa77d, 0xcaaa, 0x003f, 0x003f, 0x003f, 0xcaab, 0x003f, 0xa7a1,
    +    0x003f, 0xcaad, 0xa77b, 0xcaae, 0xcaac, 0xa77e, 0xa7a2, 0xa7a5,
    +    0xa7a4, 0xa77c, 0xcaaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa959, 0xcbfe, 0x003f, 0xa95b, 0x003f, 0xa95a, 0x003f,
    +    0xcc40, 0xa958, 0xa957, 0xcbf5, 0x003f, 0xcbf4, 0x003f, 0xcbf2,
    +    0xcbf7, 0xcbf6, 0xcbf3, 0xcbfc, 0xcbfd, 0xcbfa, 0xcbf8, 0xa956,
    +    0x003f, 0x003f, 0x003f, 0xcbfb, 0xa95c, 0xcc41, 0x003f, 0x003f,
    +    0xcbf9, 0x003f, 0xabab, 0xa955, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xabac, 0xce54, 0x003f, 0x003f, 0xce5a,
    +    0x003f, 0x003f, 0x003f, 0xabb2, 0xce58, 0xce5e, 0x003f, 0xce55,
    +    0xce59, 0xce5b, 0xce5d, 0xce57, 0x003f, 0xce56, 0xce51, 0xce52,
    +    0xabad, 0x003f, 0xabaf, 0xabae, 0xce53, 0xce5c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xabb1, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce50, 0xd153, 0x003f,
    +    0xd152, 0xd157, 0xd14e, 0x003f, 0xd151, 0xd150, 0x003f, 0xd154,
    +    0x003f, 0xd158, 0xae47, 0xae4a, 0x003f, 0x003f, 0xd14f, 0xd155,
    +    0x003f, 0x003f, 0x003f, 0xae49, 0xd14a, 0x003f, 0xabb0, 0xd4ba,
    +    0xd156, 0x003f, 0xd14d, 0x003f, 0xae48, 0xd14c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd4b1, 0x003f, 0x003f, 0xb0ec,
    +    0xb0f0, 0xd4c1, 0xd4af, 0xd4bd, 0xb0f1, 0xd4bf, 0x003f, 0xd4c5,
    +    0x003f, 0xd4c9, 0x003f, 0x003f, 0xd4c0, 0xd4b4, 0xd4bc, 0x003f,
    +    0xd4ca, 0xd4c8, 0xd4be, 0xd4b9, 0xd4b2, 0xd8a6, 0xd4b0, 0xb0f5,
    +    0xd4b7, 0xb0f6, 0xb0f2, 0xd4ad, 0xd4c3, 0xd4b5, 0x003f, 0x003f,
    +    /* 0x5800 .. 0x58ff */
    +    0xd4b3, 0xd4c6, 0xb0f3, 0x003f, 0xd4cc, 0xb0ed, 0xb0ef, 0xd4bb,
    +    0xd4b6, 0xae4b, 0xb0ee, 0xd4b8, 0xd4c7, 0xd4cb, 0xd4c2, 0x003f,
    +    0xd4c4, 0x003f, 0x003f, 0x003f, 0xd4ae, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd8a1, 0x003f, 0xd8aa, 0xd8a9, 0xb3fa, 0xd8a2, 0x003f,
    +    0xb3fb, 0xb3f9, 0x003f, 0xd8a4, 0xb3f6, 0xd8a8, 0x003f, 0xd8a3,
    +    0xd8a5, 0xd87d, 0xb3f4, 0x003f, 0xd8b2, 0xd8b1, 0xd8ae, 0xb3f3,
    +    0xb3f7, 0xb3f8, 0xd14b, 0xd8ab, 0xb3f5, 0xb0f4, 0xd8ad, 0xd87e,
    +    0xd8b0, 0xd8af, 0x003f, 0xd8b3, 0x003f, 0xdcef, 0x003f, 0xd8ac,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd8a7, 0xdce7, 0xb6f4, 0xb6f7, 0xb6f2, 0xdce6, 0xdcea, 0xdce5,
    +    0x003f, 0xb6ec, 0xb6f6, 0xdce2, 0xb6f0, 0xdce9, 0x003f, 0xb6ee,
    +    0xb6ed, 0xdcec, 0xb6ef, 0xdcee, 0x003f, 0xdceb, 0xb6eb, 0x003f,
    +    0x003f, 0x003f, 0xb6f5, 0xdcf0, 0xdce4, 0xdced, 0x003f, 0x003f,
    +    0xdce3, 0x003f, 0x003f, 0xb6f1, 0x003f, 0xb6f3, 0x003f, 0xdce8,
    +    0x003f, 0xdcf1, 0x003f, 0x003f, 0xe15d, 0xb9d0, 0xe163, 0x003f,
    +    0x003f, 0xb9d5, 0xe15f, 0xe166, 0xe157, 0xb9d7, 0xb9d1, 0xe15c,
    +    0xbc55, 0xe15b, 0xe164, 0xb9d2, 0x003f, 0xb9d6, 0xe15a, 0xe160,
    +    0xe165, 0xe156, 0xb9d4, 0xe15e, 0x003f, 0x003f, 0xe162, 0xe168,
    +    0xe158, 0xe161, 0x003f, 0xb9d3, 0xe167, 0x003f, 0x003f, 0x003f,
    +    0xe159, 0x003f, 0x003f, 0x003f, 0xbc59, 0xe54b, 0xbc57, 0xbc56,
    +    0xe54d, 0xe552, 0x003f, 0xe54e, 0x003f, 0xe551, 0xbc5c, 0x003f,
    +    0xbea5, 0xbc5b, 0x003f, 0xe54a, 0xe550, 0x003f, 0xbc5a, 0xe54f,
    +    0x003f, 0xe54c, 0x003f, 0xbc58, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe94d, 0xf9d9, 0xe94f, 0xe94a, 0xbec1, 0xe94c,
    +    0x003f, 0xbec0, 0xe94e, 0x003f, 0x003f, 0xbec3, 0xe950, 0xbec2,
    +    0xe949, 0xe94b, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0a5, 0xeccc,
    +    0x003f, 0xc0a4, 0xeccd, 0xc0a3, 0xeccb, 0xc0a2, 0xecca, 0x003f,
    +    0xc253, 0xc252, 0xf1f6, 0xf1f8, 0x003f, 0xf1f7, 0xc361, 0xc362,
    +    0x003f, 0x003f, 0xc363, 0xf442, 0xc45b, 0x003f, 0x003f, 0xf7d3,
    +    0xf7d2, 0xc5f2, 0x003f, 0xa468, 0xa4d0, 0x003f, 0x003f, 0xa7a7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xce5f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb3fc, 0xb3fd, 0x003f, 0xdcf2, 0xb9d8, 0xe169, 0xe553,
    +    /* 0x5900 .. 0x59ff */
    +    0x003f, 0x003f, 0x003f, 0xc95a, 0x003f, 0x003f, 0xcab0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcc42, 0xce60, 0xd159, 0xae4c,
    +    0x003f, 0x003f, 0xf1f9, 0x003f, 0xc4dc, 0xa469, 0xa57e, 0xc970,
    +    0x003f, 0xa667, 0xa668, 0x003f, 0xa95d, 0x003f, 0x003f, 0x003f,
    +    0xb0f7, 0x003f, 0xb9da, 0x003f, 0xb9db, 0xb9d9, 0x003f, 0xa46a,
    +    0x003f, 0xa4d1, 0xa4d3, 0xa4d2, 0xc95b, 0xa4d4, 0xa5a1, 0xc971,
    +    0x003f, 0xa5a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa669,
    +    0xa66a, 0x003f, 0x003f, 0x003f, 0xc9cb, 0x003f, 0xa7a8, 0x003f,
    +    0xcab1, 0x003f, 0x003f, 0x003f, 0xa961, 0xcc43, 0x003f, 0xa95f,
    +    0xa960, 0xa95e, 0xd15a, 0x003f, 0x003f, 0x003f, 0xabb6, 0xabb5,
    +    0xabb7, 0xabb4, 0x003f, 0xce61, 0xa962, 0xabb3, 0x003f, 0xae4d,
    +    0xae4e, 0x003f, 0xae4f, 0x003f, 0xd4cd, 0x003f, 0x003f, 0x003f,
    +    0xb3fe, 0xd8b4, 0xb0f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6f8,
    +    0x003f, 0xb9dd, 0xb9dc, 0xe16a, 0x003f, 0xbc5d, 0xbec4, 0x003f,
    +    0xefc0, 0xf6da, 0xf7d4, 0xa46b, 0xa5a3, 0x003f, 0xa5a4, 0xc9d1,
    +    0xa66c, 0xa66f, 0x003f, 0xc9cf, 0xc9cd, 0xa66e, 0xc9d0, 0xc9d2,
    +    0xc9cc, 0xa671, 0xa670, 0xa66d, 0xa66b, 0xc9ce, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa7b3, 0x003f, 0x003f, 0xa7b0, 0xcab6, 0xcab9,
    +    0xcab8, 0x003f, 0xa7aa, 0xa7b2, 0x003f, 0x003f, 0xa7af, 0xcab5,
    +    0xcab3, 0xa7ae, 0x003f, 0x003f, 0x003f, 0xa7a9, 0xa7ac, 0x003f,
    +    0xcab4, 0xcabb, 0xcab7, 0xa7ad, 0xa7b1, 0xa7b4, 0xcab2, 0xcaba,
    +    0xa7ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa967, 0xa96f,
    +    0x003f, 0xcc4f, 0xcc48, 0xa970, 0xcc53, 0xcc44, 0xcc4b, 0x003f,
    +    0x003f, 0xa966, 0xcc45, 0xa964, 0xcc4c, 0xcc50, 0xa963, 0x003f,
    +    0xcc51, 0xcc4a, 0x003f, 0xcc4d, 0x003f, 0xa972, 0xa969, 0xcc54,
    +    0xcc52, 0x003f, 0xa96e, 0xa96c, 0xcc49, 0xa96b, 0xcc47, 0xcc46,
    +    0xa96a, 0xa968, 0xa971, 0xa96d, 0xa965, 0x003f, 0xcc4e, 0x003f,
    +    0xabb9, 0x003f, 0xabc0, 0xce6f, 0xabb8, 0xce67, 0xce63, 0x003f,
    +    0xce73, 0xce62, 0x003f, 0xabbb, 0xce6c, 0xabbe, 0xabc1, 0x003f,
    +    0xabbc, 0xce70, 0xabbf, 0x003f, 0xae56, 0xce76, 0xce64, 0x003f,
    +    0x003f, 0xce66, 0xce6d, 0xce71, 0xce75, 0xce72, 0xce6b, 0xce6e,
    +    0x003f, 0x003f, 0xce68, 0xabc3, 0xce6a, 0xce69, 0xce74, 0xabba,
    +    /* 0x5a00 .. 0x5aff */
    +    0xce65, 0xabc2, 0x003f, 0xabbd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xae5c, 0xd162, 0x003f, 0xae5b, 0x003f, 0x003f, 0xd160,
    +    0x003f, 0xae50, 0x003f, 0xae55, 0x003f, 0xd15f, 0xd15c, 0xd161,
    +    0xae51, 0xd15b, 0x003f, 0xae54, 0xae52, 0x003f, 0xd163, 0xae53,
    +    0xae57, 0x003f, 0x003f, 0xae58, 0x003f, 0xae5a, 0x003f, 0x003f,
    +    0x003f, 0xae59, 0x003f, 0x003f, 0x003f, 0xd15d, 0xd15e, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd164, 0x003f, 0xd4d4, 0xb0f9, 0xd8c2,
    +    0xd4d3, 0xd4e6, 0x003f, 0x003f, 0xb140, 0x003f, 0xd4e4, 0x003f,
    +    0xb0fe, 0xb0fa, 0xd4ed, 0xd4dd, 0xd4e0, 0x003f, 0xb143, 0xd4ea,
    +    0xd4e2, 0xb0fb, 0xb144, 0x003f, 0xd4e7, 0xd4e5, 0x003f, 0x003f,
    +    0xd4d6, 0xd4eb, 0xd4df, 0xd4da, 0x003f, 0xd4d0, 0xd4ec, 0xd4dc,
    +    0xd4cf, 0x003f, 0xb142, 0xd4e1, 0xd4ee, 0xd4de, 0xd4d2, 0xd4d7,
    +    0xd4ce, 0x003f, 0xb141, 0x003f, 0xd4db, 0xd4d8, 0xb0fc, 0xd4d1,
    +    0x003f, 0xd4e9, 0xb0fd, 0x003f, 0xd4d9, 0xd4d5, 0x003f, 0x003f,
    +    0xd4e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb440,
    +    0xd8bb, 0x003f, 0xd8b8, 0xd8c9, 0xd8bd, 0xd8ca, 0x003f, 0xb442,
    +    0x003f, 0x003f, 0x003f, 0xd8c6, 0xd8c3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd8c4, 0xd8c7, 0xd8cb, 0x003f, 0xd4e3, 0xd8cd,
    +    0xdd47, 0x003f, 0xb443, 0xd8ce, 0xd8b6, 0xd8c0, 0x003f, 0xd8c5,
    +    0x003f, 0x003f, 0xb441, 0xb444, 0xd8cc, 0xd8cf, 0xd8ba, 0xd8b7,
    +    0x003f, 0x003f, 0xd8b9, 0x003f, 0x003f, 0xd8be, 0xd8bc, 0xb445,
    +    0x003f, 0xd8c8, 0x003f, 0x003f, 0xd8bf, 0x003f, 0xd8c1, 0xd8b5,
    +    0xdcfa, 0xdcf8, 0xb742, 0xb740, 0xdd43, 0xdcf9, 0xdd44, 0xdd40,
    +    0xdcf7, 0xdd46, 0xdcf6, 0xdcfd, 0xb6fe, 0xb6fd, 0xb6fc, 0xdcfb,
    +    0xdd41, 0xb6f9, 0xb741, 0x003f, 0xdcf4, 0x003f, 0xdcfe, 0xdcf3,
    +    0xdcfc, 0xb6fa, 0xdd42, 0xdcf5, 0xb6fb, 0xdd45, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe16e, 0xb9e2, 0xb9e1,
    +    0xb9e3, 0xe17a, 0xe170, 0xe176, 0xe16b, 0xe179, 0xe178, 0xe17c,
    +    0xe175, 0xb9de, 0xe174, 0xb9e4, 0x003f, 0xe16d, 0xb9df, 0x003f,
    +    0xe17b, 0xb9e0, 0xe16f, 0xe172, 0xe177, 0xe171, 0xe16c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe173, 0xe555, 0xbc61, 0xe558, 0xe557,
    +    0xe55a, 0xe55c, 0xf9dc, 0xbc5f, 0x003f, 0xe556, 0x003f, 0xe554,
    +    /* 0x5b00 .. 0x5bff */
    +    0x003f, 0xe55d, 0xe55b, 0xe559, 0x003f, 0xe55f, 0x003f, 0xe55e,
    +    0xbc63, 0xbc5e, 0x003f, 0xbc60, 0xbc62, 0x003f, 0x003f, 0xe560,
    +    0xe957, 0x003f, 0x003f, 0xe956, 0xe955, 0x003f, 0xe958, 0xe951,
    +    0x003f, 0xe952, 0xe95a, 0xe953, 0x003f, 0xbec5, 0xe95c, 0x003f,
    +    0xe95b, 0xe954, 0x003f, 0xecd1, 0xc0a8, 0xeccf, 0xecd4, 0xecd3,
    +    0xe959, 0x003f, 0xc0a7, 0x003f, 0xecd2, 0xecce, 0xecd6, 0xecd5,
    +    0xc0a6, 0x003f, 0xecd0, 0x003f, 0xbec6, 0x003f, 0x003f, 0x003f,
    +    0xc254, 0x003f, 0x003f, 0x003f, 0xefc1, 0xf1fa, 0xf1fb, 0xf1fc,
    +    0xc45c, 0x003f, 0x003f, 0xc45d, 0x003f, 0xf443, 0x003f, 0xf5c8,
    +    0xf5c7, 0x003f, 0x003f, 0xf6db, 0xf6dc, 0xf7d5, 0xf8a7, 0x003f,
    +    0xa46c, 0xa46d, 0x003f, 0xa46e, 0xa4d5, 0xa5a5, 0xc9d3, 0xa672,
    +    0xa673, 0x003f, 0xa7b7, 0xa7b8, 0xa7b6, 0xa7b5, 0x003f, 0xa973,
    +    0x003f, 0x003f, 0xcc55, 0xa975, 0xa974, 0xcc56, 0x003f, 0x003f,
    +    0x003f, 0xabc4, 0x003f, 0xae5d, 0xd165, 0x003f, 0xd4f0, 0x003f,
    +    0xb145, 0xb447, 0xd4ef, 0xb446, 0x003f, 0xb9e5, 0x003f, 0xe17d,
    +    0xbec7, 0x003f, 0xc0a9, 0xecd7, 0x003f, 0xc45e, 0x003f, 0xc570,
    +    0x003f, 0xc972, 0x003f, 0xa5a6, 0xc973, 0xa676, 0x003f, 0xa674,
    +    0xa675, 0xa677, 0x003f, 0xa7ba, 0xa7b9, 0x003f, 0xcabc, 0xa7bb,
    +    0x003f, 0x003f, 0xcabd, 0xcc57, 0x003f, 0xcc58, 0x003f, 0xa976,
    +    0xa978, 0xa97a, 0xa977, 0xa97b, 0xa979, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xabc8, 0xabc5, 0xabc7, 0xabc9, 0xabc6, 0xd166,
    +    0xce77, 0x003f, 0x003f, 0x003f, 0xd168, 0xd167, 0xae63, 0x003f,
    +    0xae5f, 0x003f, 0x003f, 0xae60, 0xae62, 0xae64, 0xae61, 0x003f,
    +    0xae66, 0xae65, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb14a,
    +    0xd4f2, 0xd4f1, 0xb149, 0x003f, 0xb148, 0xb147, 0xb14b, 0xb146,
    +    0x003f, 0x003f, 0xd8d5, 0xd8d2, 0xb449, 0xd8d1, 0xd8d6, 0x003f,
    +    0xb44b, 0xd8d4, 0xb448, 0xb44a, 0xd8d3, 0x003f, 0xdd48, 0x003f,
    +    0xdd49, 0xdd4a, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9e6, 0xb9ee,
    +    0xe17e, 0xb9e8, 0xb9ec, 0xe1a1, 0xb9ed, 0xb9e9, 0xb9ea, 0xb9e7,
    +    0xb9eb, 0xbc66, 0xd8d0, 0xbc67, 0xbc65, 0x003f, 0xbc64, 0xe95d,
    +    0xbec8, 0xecd8, 0xecd9, 0x003f, 0x003f, 0xc364, 0xc45f, 0x003f,
    +    0xa46f, 0x003f, 0xa678, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x5c00 .. 0x5cff */
    +    0x003f, 0xabca, 0x003f, 0xd169, 0xae67, 0x003f, 0x003f, 0xb14e,
    +    0xb14d, 0xb14c, 0xb44c, 0xb44d, 0xd8d7, 0xb9ef, 0xbec9, 0xa470,
    +    0xc95c, 0xa4d6, 0xc974, 0x003f, 0x003f, 0xc9d4, 0xa679, 0x003f,
    +    0x003f, 0x003f, 0xa97c, 0x003f, 0x003f, 0x003f, 0x003f, 0xdd4b,
    +    0x003f, 0x003f, 0xa471, 0x003f, 0xa4d7, 0xc9d5, 0x003f, 0x003f,
    +    0xcabe, 0x003f, 0xcabf, 0x003f, 0xa7bc, 0x003f, 0x003f, 0x003f,
    +    0xd8d8, 0xb44e, 0x003f, 0xdd4c, 0x003f, 0x003f, 0x003f, 0xc0aa,
    +    0xa472, 0xa4a8, 0xa4d8, 0xc975, 0xa5a7, 0x003f, 0xa7c0, 0xa7bf,
    +    0xa7bd, 0xa7be, 0x003f, 0x003f, 0xcc59, 0xa97e, 0xa9a1, 0xcc5a,
    +    0xa97d, 0x003f, 0x003f, 0xabce, 0xce78, 0xabcd, 0xabcb, 0xabcc,
    +    0xae6a, 0xae68, 0x003f, 0x003f, 0xd16b, 0xae69, 0xd16a, 0x003f,
    +    0xae5e, 0xd4f3, 0x003f, 0x003f, 0xb150, 0xb151, 0x003f, 0x003f,
    +    0xb14f, 0x003f, 0xb9f0, 0xe1a2, 0xbc68, 0xbc69, 0x003f, 0xe561,
    +    0xc0ab, 0xefc2, 0xefc3, 0x003f, 0xc4dd, 0xf8a8, 0xc94b, 0xa4d9,
    +    0x003f, 0xa473, 0x003f, 0xc977, 0xc976, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa67a, 0xc9d7, 0xc9d8, 0xc9d6, 0x003f, 0xc9d9, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac7, 0x003f,
    +    0xcac2, 0xcac4, 0xcac6, 0xcac3, 0xa7c4, 0xcac0, 0x003f, 0xcac1,
    +    0xa7c1, 0xa7c2, 0xcac5, 0xcac8, 0xa7c3, 0xcac9, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcc68, 0x003f, 0xcc62,
    +    0xcc5d, 0xa9a3, 0xcc65, 0xcc63, 0xcc5c, 0xcc69, 0xcc6c, 0xcc67,
    +    0xcc60, 0xa9a5, 0xcc66, 0xa9a6, 0xcc61, 0xcc64, 0xcc5b, 0xcc5f,
    +    0xcc6b, 0xa9a7, 0x003f, 0xa9a8, 0x003f, 0xcc5e, 0xcc6a, 0xa9a2,
    +    0xa9a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceab, 0xcea4,
    +    0xceaa, 0xcea3, 0xcea5, 0xce7d, 0xce7b, 0x003f, 0xceac, 0xcea9,
    +    0xce79, 0x003f, 0xabd0, 0xcea7, 0xcea8, 0x003f, 0xcea6, 0xce7c,
    +    0xce7a, 0xabcf, 0xcea2, 0xce7e, 0x003f, 0x003f, 0xcea1, 0xcead,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xae6f, 0x003f, 0xae6e, 0x003f, 0xd16c, 0xae6b, 0xd16e, 0x003f,
    +    0xae70, 0xd16f, 0x003f, 0x003f, 0xae73, 0x003f, 0xae71, 0xd170,
    +    0xceae, 0xd172, 0x003f, 0xae6d, 0x003f, 0xae6c, 0x003f, 0xd16d,
    +    /* 0x5d00 .. 0x5dff */
    +    0xd171, 0xae72, 0x003f, 0x003f, 0x003f, 0x003f, 0xb153, 0xb152,
    +    0x003f, 0x003f, 0x003f, 0xd4f5, 0xd4f9, 0xd4fb, 0xb154, 0xd4fe,
    +    0x003f, 0xb158, 0xd541, 0x003f, 0xb15a, 0x003f, 0xb156, 0xb15e,
    +    0x003f, 0xb15b, 0xd4f7, 0xb155, 0x003f, 0xd4f6, 0xd4f4, 0xd543,
    +    0xd4f8, 0x003f, 0xb157, 0xd542, 0xb15c, 0xd4fd, 0xd4fc, 0xb15d,
    +    0xd4fa, 0xb159, 0x003f, 0x003f, 0x003f, 0x003f, 0xd544, 0x003f,
    +    0xd540, 0xd8e7, 0xd8ee, 0xd8e3, 0xb451, 0xd8df, 0xd8ef, 0xd8d9,
    +    0xd8ec, 0xd8ea, 0xd8e4, 0x003f, 0xd8ed, 0xd8e6, 0x003f, 0xd8de,
    +    0xd8f0, 0xd8dc, 0xd8e9, 0xd8da, 0x003f, 0xd8f1, 0x003f, 0xb452,
    +    0x003f, 0xd8eb, 0xdd4f, 0xd8dd, 0xb44f, 0x003f, 0xd8e1, 0x003f,
    +    0xb450, 0xd8e0, 0xd8e5, 0x003f, 0x003f, 0xd8e2, 0x003f, 0x003f,
    +    0x003f, 0xd8e8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdd53, 0x003f,
    +    0x003f, 0x003f, 0xdd56, 0xdd4e, 0x003f, 0xdd50, 0x003f, 0xdd55,
    +    0xdd54, 0xb743, 0x003f, 0xd8db, 0xdd52, 0x003f, 0x003f, 0xb744,
    +    0x003f, 0xdd4d, 0xdd51, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a9,
    +    0x003f, 0xe1b0, 0xe1a7, 0x003f, 0xe1ae, 0xe1a5, 0xe1ad, 0xe1b1,
    +    0xe1a4, 0xe1a8, 0xe1a3, 0x003f, 0xb9f1, 0x003f, 0xe1a6, 0xb9f2,
    +    0xe1ac, 0xe1ab, 0xe1aa, 0x003f, 0x003f, 0xe1af, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe565, 0xe567, 0xbc6b, 0xe568, 0x003f, 0xe563,
    +    0x003f, 0xe562, 0xe56c, 0x003f, 0xe56a, 0xbc6a, 0xe56d, 0xe564,
    +    0xe569, 0xe56b, 0xe566, 0x003f, 0x003f, 0x003f, 0x003f, 0xe961,
    +    0xe966, 0xe960, 0xe965, 0x003f, 0xe95e, 0xe968, 0xe964, 0xe969,
    +    0xe963, 0xe95f, 0xe967, 0x003f, 0xe96a, 0xe962, 0x003f, 0xecda,
    +    0xc0af, 0x003f, 0xc0ad, 0x003f, 0xc0ac, 0xc0ae, 0x003f, 0x003f,
    +    0xefc4, 0x003f, 0xf172, 0xf1fd, 0x003f, 0x003f, 0xf444, 0xf445,
    +    0x003f, 0xc460, 0x003f, 0xf5c9, 0x003f, 0xc4de, 0x003f, 0xf5ca,
    +    0x003f, 0xf6de, 0xc572, 0x003f, 0xc571, 0xf6dd, 0xc5c9, 0x003f,
    +    0xf7d6, 0x003f, 0x003f, 0x003f, 0x003f, 0xa474, 0xa67b, 0xc9da,
    +    0xcaca, 0xa8b5, 0xb15f, 0x003f, 0x003f, 0xa475, 0xa5aa, 0xa5a9,
    +    0xa5a8, 0x003f, 0x003f, 0xa7c5, 0x003f, 0x003f, 0xae74, 0x003f,
    +    0xdd57, 0xa476, 0xa477, 0xa478, 0xa4da, 0x003f, 0x003f, 0xabd1,
    +    0x003f, 0xceaf, 0x003f, 0x003f, 0x003f, 0xb453, 0xa479, 0xc95d,
    +    /* 0x5e00 .. 0x5eff */
    +    0x003f, 0x003f, 0xa5ab, 0xa5ac, 0xc978, 0x003f, 0xa67c, 0x003f,
    +    0x003f, 0x003f, 0xcacb, 0x003f, 0xa7c6, 0x003f, 0xcacc, 0x003f,
    +    0x003f, 0xa9ae, 0x003f, 0x003f, 0xcc6e, 0xa9ac, 0xa9ab, 0xcc6d,
    +    0xa9a9, 0xcc6f, 0xa9aa, 0xa9ad, 0x003f, 0xabd2, 0x003f, 0xabd4,
    +    0xceb3, 0xceb0, 0xceb1, 0xceb2, 0xceb4, 0xabd3, 0x003f, 0x003f,
    +    0xd174, 0xd173, 0x003f, 0xae76, 0x003f, 0xae75, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb162, 0xd546, 0x003f, 0xb161, 0xb163,
    +    0xb160, 0x003f, 0x003f, 0x003f, 0x003f, 0xb455, 0xd545, 0x003f,
    +    0xb456, 0xd8f3, 0x003f, 0xb457, 0xd8f2, 0xb454, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdd5a, 0xdd5c, 0xb745, 0xdd5b, 0xdd59, 0xdd58,
    +    0x003f, 0x003f, 0x003f, 0xe1b4, 0xb9f7, 0xb9f5, 0x003f, 0xb9f6,
    +    0xe1b2, 0xe1b3, 0x003f, 0xb9f3, 0xe571, 0xe56f, 0x003f, 0xbc6d,
    +    0xe570, 0xbc6e, 0xbc6c, 0xb9f4, 0x003f, 0x003f, 0xe96d, 0xe96b,
    +    0xe96c, 0xe56e, 0xecdc, 0xc0b0, 0xecdb, 0xefc5, 0xefc6, 0xe96e,
    +    0xf1fe, 0x003f, 0xa47a, 0xa5ad, 0xa67e, 0xc9db, 0xa67d, 0x003f,
    +    0xa9af, 0xb746, 0x003f, 0xa4db, 0xa5ae, 0xabd5, 0xb458, 0x003f,
    +    0xc979, 0x003f, 0xc97a, 0x003f, 0xc9dc, 0x003f, 0x003f, 0xa7c8,
    +    0xcad0, 0xcace, 0xa7c9, 0xcacd, 0xcacf, 0xcad1, 0x003f, 0xa7c7,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa9b3, 0xa9b4, 0xa9b1,
    +    0x003f, 0x003f, 0xa9b0, 0xceb8, 0xa9b2, 0x003f, 0x003f, 0x003f,
    +    0xabd6, 0x003f, 0xceb7, 0xceb9, 0xceb6, 0xceba, 0xabd7, 0xae79,
    +    0xd175, 0x003f, 0xd177, 0xae77, 0xd178, 0xae78, 0xd176, 0x003f,
    +    0xceb5, 0xd547, 0xd54a, 0xd54b, 0xd548, 0xb167, 0xb166, 0xb164,
    +    0xb165, 0xd549, 0x003f, 0x003f, 0x003f, 0x003f, 0xb168, 0x003f,
    +    0x003f, 0xb45a, 0xb45b, 0x003f, 0xb45c, 0xdd5d, 0xdd5f, 0xdd61,
    +    0xb748, 0xb747, 0xb459, 0xdd60, 0xdd5e, 0x003f, 0xe1b8, 0x003f,
    +    0x003f, 0xe1b6, 0xe1bc, 0xb9f8, 0xe1bd, 0xe1ba, 0xb9f9, 0xe1b7,
    +    0xe1b5, 0xe1bb, 0xbc70, 0xe573, 0xe1b9, 0xbc72, 0xe574, 0xbc71,
    +    0xbc74, 0xe575, 0xbc6f, 0xbc73, 0x003f, 0xe973, 0xe971, 0xe970,
    +    0xe972, 0xe96f, 0x003f, 0x003f, 0xc366, 0x003f, 0xf446, 0xf447,
    +    0x003f, 0xf5cb, 0xf6df, 0xc655, 0x003f, 0x003f, 0xa9b5, 0xa7ca,
    +    0x003f, 0x003f, 0xabd8, 0x003f, 0x003f, 0x003f, 0xa47b, 0xa4dc,
    +    /* 0x5f00 .. 0x5fff */
    +    0x003f, 0xa5af, 0xc9dd, 0x003f, 0xa7cb, 0xcad2, 0x003f, 0xcebb,
    +    0xabd9, 0x003f, 0xb9fa, 0xa47c, 0x003f, 0x003f, 0x003f, 0xa6a1,
    +    0x003f, 0x003f, 0xb749, 0xa47d, 0xa4dd, 0xa4de, 0x003f, 0xa5b1,
    +    0xa5b0, 0x003f, 0xc9de, 0xa6a2, 0x003f, 0xcad3, 0x003f, 0xa7cc,
    +    0x003f, 0x003f, 0xcc71, 0xcc72, 0xcc73, 0x003f, 0xa9b6, 0xa9b7,
    +    0xcc70, 0xa9b8, 0x003f, 0x003f, 0x003f, 0xabda, 0xcebc, 0x003f,
    +    0xd17a, 0xae7a, 0x003f, 0xd179, 0x003f, 0xb169, 0xd54c, 0xb16a,
    +    0xd54d, 0x003f, 0x003f, 0x003f, 0xb45d, 0x003f, 0x003f, 0x003f,
    +    0xdd62, 0x003f, 0x003f, 0xe1bf, 0xe1be, 0x003f, 0xb9fb, 0x003f,
    +    0xbc75, 0xe576, 0xbeca, 0xe974, 0xc0b1, 0x003f, 0xc573, 0xf7d8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xcc74, 0x003f, 0xcebd, 0xb16b,
    +    0xd8f4, 0xb74a, 0x003f, 0x003f, 0x003f, 0xc255, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa7ce, 0x003f, 0xa7cd, 0xabdb, 0x003f, 0xd17b,
    +    0x003f, 0xb16d, 0xb343, 0xb16e, 0xb16c, 0xb45e, 0x003f, 0xe1c0,
    +    0xb9fc, 0xbc76, 0x003f, 0xc94c, 0xc9df, 0x003f, 0xcad5, 0xa7cf,
    +    0xcad4, 0xa7d0, 0x003f, 0x003f, 0xa9bc, 0xcc77, 0xcc76, 0xa9bb,
    +    0xa9b9, 0xa9ba, 0xcc75, 0x003f, 0x003f, 0xabdd, 0xcebe, 0xabe0,
    +    0xabdc, 0xabe2, 0xabde, 0xabdf, 0xabe1, 0x003f, 0x003f, 0x003f,
    +    0xae7d, 0xae7c, 0xae7b, 0x003f, 0x003f, 0x003f, 0xd54f, 0xb16f,
    +    0xb172, 0xb170, 0x003f, 0xd54e, 0xb175, 0x003f, 0xb171, 0xd550,
    +    0xb174, 0xb173, 0x003f, 0x003f, 0x003f, 0xd8f6, 0xd8f5, 0x003f,
    +    0xb461, 0xb45f, 0xb460, 0xd8f7, 0xb74b, 0xdd64, 0xb74c, 0xdd63,
    +    0x003f, 0x003f, 0xe577, 0x003f, 0x003f, 0xbc78, 0xe1c1, 0xbc77,
    +    0x003f, 0xb9fd, 0x003f, 0xecde, 0xe975, 0xc0b2, 0xecdd, 0xf240,
    +    0xf448, 0xf449, 0x003f, 0xa4df, 0x003f, 0xa5b2, 0x003f, 0x003f,
    +    0x003f, 0xc97b, 0x003f, 0x003f, 0xa7d2, 0xa7d4, 0x003f, 0xc9e2,
    +    0xcad8, 0xcad7, 0xcad6, 0x003f, 0xc9e1, 0xc9e0, 0xa6a4, 0xa7d3,
    +    0xa7d1, 0xa6a3, 0x003f, 0x003f, 0x003f, 0xa9bd, 0xcc78, 0x003f,
    +    0xa9be, 0xcadd, 0x003f, 0xcadf, 0xcade, 0xcc79, 0x003f, 0x003f,
    +    0xcada, 0x003f, 0xa7d8, 0xa7d6, 0x003f, 0xcad9, 0xcadb, 0xcae1,
    +    0x003f, 0xa7d5, 0x003f, 0xcadc, 0xcae5, 0xa9c0, 0x003f, 0xcae2,
    +    0xa7d7, 0x003f, 0xcae0, 0xcae3, 0x003f, 0xa9bf, 0x003f, 0xa9c1,
    +    /* 0x6000 .. 0x60ff */
    +    0xcae4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xccaf, 0xcca2, 0xcc7e, 0xccae, 0xcca9, 0xabe7, 0xa9c2,
    +    0xccaa, 0xccad, 0xabe3, 0xccac, 0xa9c3, 0xa9c8, 0xa9c6, 0xcca3,
    +    0x003f, 0xcc7c, 0xcca5, 0xa9cd, 0xccb0, 0xabe4, 0xcca6, 0x003f,
    +    0xabe5, 0xa9c9, 0xcca8, 0x003f, 0xcecd, 0xabe6, 0xcc7b, 0xa9ca,
    +    0xabe8, 0xa9cb, 0xa9c7, 0xa9cc, 0xcca7, 0xcc7a, 0xccab, 0xa9c4,
    +    0x003f, 0x003f, 0xcc7d, 0xcca4, 0xcca1, 0xa9c5, 0x003f, 0xcebf,
    +    0x003f, 0xcec0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xceca, 0xd1a1, 0xcecb, 0xabee, 0xcece, 0xcec4, 0xabed, 0xcec6,
    +    0x003f, 0xcec7, 0x003f, 0x003f, 0xcec9, 0xabe9, 0x003f, 0x003f,
    +    0xaea3, 0x003f, 0xf9da, 0xcec5, 0xcec1, 0xaea4, 0x003f, 0x003f,
    +    0xcecf, 0xae7e, 0xd17d, 0xcec8, 0x003f, 0xd17c, 0xcec3, 0xcecc,
    +    0x003f, 0x003f, 0xabec, 0xaea1, 0xabf2, 0xaea2, 0xced0, 0xd17e,
    +    0xabeb, 0xaea6, 0xabf1, 0xabf0, 0xabef, 0xaea5, 0xced1, 0xaea7,
    +    0xabea, 0x003f, 0xcec2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb176,
    +    0xd1a4, 0xd1a6, 0x003f, 0xd1a8, 0xaea8, 0xaeae, 0xd553, 0xd1ac,
    +    0xd1a3, 0xb178, 0xd551, 0x003f, 0xaead, 0xaeab, 0xd1ae, 0x003f,
    +    0xd552, 0x003f, 0xd1a5, 0x003f, 0xaeac, 0xd1a9, 0xaeaf, 0xd1ab,
    +    0x003f, 0x003f, 0xaeaa, 0xd1aa, 0xd1ad, 0xd1a7, 0x003f, 0xaea9,
    +    0xb179, 0x003f, 0xd1a2, 0xb177, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb17a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd555, 0xd55e, 0xb464, 0x003f, 0xb17c, 0xb1a3, 0xb465, 0xd560,
    +    0xb1aa, 0xd8f9, 0xd556, 0xb1a2, 0xb1a5, 0xb17e, 0xd554, 0xd562,
    +    0xd565, 0xd949, 0x003f, 0xd563, 0xd8fd, 0xb1a1, 0xb1a8, 0xb1ac,
    +    0xd55d, 0xd8f8, 0xd561, 0xb17b, 0xd8fa, 0xd564, 0xd8fc, 0xd559,
    +    0x003f, 0xb462, 0x003f, 0xd557, 0xd558, 0xb1a7, 0x003f, 0x003f,
    +    0xb1a6, 0xd55b, 0xb1ab, 0xd55f, 0xb1a4, 0xd55c, 0x003f, 0xb1a9,
    +    0xb466, 0xb463, 0xd8fb, 0x003f, 0xd55a, 0x003f, 0xb17d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb46b, 0xb46f, 0xd940, 0xb751, 0xb46d, 0xd944, 0xb471, 0xdd65,
    +    0xd946, 0xb753, 0xb469, 0xb46c, 0xd947, 0x003f, 0xd948, 0xd94e,
    +    /* 0x6100 .. 0x61ff */
    +    0xb473, 0xb754, 0x003f, 0xd94a, 0xd94f, 0xd943, 0xb75e, 0x003f,
    +    0xb755, 0xb472, 0xd941, 0xd950, 0x003f, 0xb75d, 0xb470, 0xb74e,
    +    0xd94d, 0x003f, 0xb474, 0xd945, 0xd8fe, 0xb46a, 0xd942, 0x003f,
    +    0xd94b, 0x003f, 0xb74d, 0xb752, 0xb467, 0xd94c, 0x003f, 0xb750,
    +    0x003f, 0x003f, 0x003f, 0xb468, 0x003f, 0x003f, 0x003f, 0xb75c,
    +    0xe1c3, 0xdd70, 0x003f, 0xdd68, 0xe1c2, 0x003f, 0xdd6c, 0xdd6e,
    +    0x003f, 0x003f, 0xdd6b, 0x003f, 0xb75b, 0x003f, 0xdd6a, 0xb75f,
    +    0x003f, 0x003f, 0x003f, 0xe1d2, 0x003f, 0x003f, 0xb75a, 0xba40,
    +    0xdd71, 0xe1c4, 0x003f, 0x003f, 0xb758, 0xdd69, 0xdd6d, 0xb9fe,
    +    0xb74f, 0xdd66, 0xdd67, 0xba41, 0xb757, 0xb759, 0xb756, 0xdd6f,
    +    0x003f, 0x003f, 0xe1c8, 0xe1c9, 0xe1ce, 0xbc7d, 0xe1d5, 0x003f,
    +    0xba47, 0x003f, 0xba46, 0xe1d0, 0x003f, 0xbc7c, 0xe1c5, 0xba45,
    +    0x003f, 0xe1d4, 0xba43, 0xba44, 0x003f, 0xe1d1, 0xe5aa, 0xbc7a,
    +    0xb46e, 0x003f, 0xe1d3, 0xbca3, 0xe1cb, 0x003f, 0xbc7b, 0x003f,
    +    0xbca2, 0xe1c6, 0xe1ca, 0xe1c7, 0xe1cd, 0xba48, 0xbc79, 0xba42,
    +    0x003f, 0xe57a, 0xe1cf, 0x003f, 0xbca1, 0x003f, 0xbca4, 0x003f,
    +    0xe1cc, 0x003f, 0xbc7e, 0xe579, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe57e, 0xbece, 0xe578, 0xe9a3, 0xe5a9, 0xbca8, 0x003f,
    +    0xbca6, 0xbecc, 0xe5a6, 0xe5a2, 0xbcac, 0x003f, 0xe978, 0x003f,
    +    0x003f, 0x003f, 0xbcaa, 0xe5a1, 0x003f, 0xe976, 0x003f, 0xe5a5,
    +    0x003f, 0xe5a8, 0xe57d, 0x003f, 0xbcab, 0x003f, 0x003f, 0xbca5,
    +    0xe977, 0xbecd, 0xe5a7, 0xbca7, 0xbca9, 0xe5a4, 0xbcad, 0xe5a3,
    +    0xe57c, 0xe57b, 0xbecb, 0xe5ab, 0xe97a, 0xece0, 0xbed0, 0x003f,
    +    0xe9a2, 0x003f, 0xe97e, 0x003f, 0xece1, 0x003f, 0xbed1, 0xe9a1,
    +    0x003f, 0xe97c, 0xc0b4, 0xecdf, 0x003f, 0xe979, 0xe97b, 0xc0b5,
    +    0xbed3, 0xc0b3, 0xbed2, 0xc0b7, 0xe97d, 0xbecf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefcf, 0x003f,
    +    0xefc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xece7, 0xefc8,
    +    0xece3, 0x003f, 0x003f, 0xc256, 0xece5, 0xece4, 0xc0b6, 0xece2,
    +    0xece6, 0xefd0, 0xefcc, 0xefce, 0x003f, 0xefc9, 0xefca, 0x003f,
    +    0xefcd, 0xefcb, 0xc367, 0x003f, 0x003f, 0xc36a, 0xc369, 0xc368,
    +    0xc461, 0xf44a, 0xc462, 0xf241, 0xc4df, 0xf5cc, 0xc4e0, 0xc574,
    +    /* 0x6200 .. 0x62ff */
    +    0xc5ca, 0xf7d9, 0x003f, 0xf7da, 0xf7db, 0x003f, 0x003f, 0xf9ba,
    +    0xa4e0, 0xc97c, 0xa5b3, 0x003f, 0xa6a6, 0xa6a7, 0xa6a5, 0x003f,
    +    0xa6a8, 0xa7da, 0xa7d9, 0x003f, 0xccb1, 0xa9cf, 0xa9ce, 0x003f,
    +    0x003f, 0xd1af, 0xb1ad, 0xb1ae, 0x003f, 0x003f, 0x003f, 0xb475,
    +    0xdd72, 0xb760, 0xb761, 0xdd74, 0xdd76, 0xdd75, 0x003f, 0xe1d7,
    +    0x003f, 0xe1d6, 0xba49, 0xe1d8, 0x003f, 0xe5ac, 0xbcae, 0x003f,
    +    0xbed4, 0x003f, 0xc0b8, 0xc257, 0xc0b9, 0x003f, 0xa4e1, 0x003f,
    +    0x003f, 0x003f, 0xcae6, 0x003f, 0x003f, 0xccb2, 0xa9d1, 0xa9d0,
    +    0xa9d2, 0xabf3, 0xced2, 0xced3, 0x003f, 0x003f, 0xd1b0, 0xaeb0,
    +    0xb1af, 0xb476, 0xd951, 0xa4e2, 0x003f, 0xa47e, 0xa4e3, 0x003f,
    +    0xc97d, 0xa5b7, 0xa5b6, 0xa5b4, 0xa5b5, 0x003f, 0x003f, 0x003f,
    +    0xa6ab, 0xc9e9, 0xc9eb, 0xa6aa, 0xc9e3, 0x003f, 0xc9e4, 0x003f,
    +    0xc9ea, 0xc9e6, 0xc9e8, 0xa6a9, 0xc9e5, 0xc9ec, 0xc9e7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa7e1, 0xa7ea, 0xa7e8,
    +    0xcaf0, 0xcaed, 0xcaf5, 0xa7e6, 0xcaf6, 0x003f, 0xa7df, 0xcaf3,
    +    0x003f, 0xa7e5, 0xcaef, 0xcaee, 0xa7e3, 0xcaf4, 0xa7e4, 0xa9d3,
    +    0xa7de, 0xcaf1, 0x003f, 0xcae7, 0xa7db, 0x003f, 0xa7ee, 0xcaec,
    +    0xcaf2, 0xa7e0, 0xa7e2, 0x003f, 0xcae8, 0x003f, 0xcae9, 0xcaea,
    +    0x003f, 0xa7ed, 0xa7e7, 0xa7ec, 0xcaeb, 0xa7eb, 0xa7dd, 0xa7dc,
    +    0xa7e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa9e1, 0xccbe, 0xccb7, 0xa9dc, 0xa9ef, 0xccb3, 0xccba, 0xccbc,
    +    0xccbf, 0xa9ea, 0x003f, 0xccbb, 0xccb4, 0xa9e8, 0xccb8, 0x003f,
    +    0xccc0, 0xa9d9, 0x003f, 0xccbd, 0xa9e3, 0xa9e2, 0xccb6, 0xa9d7,
    +    0x003f, 0x003f, 0xa9d8, 0x003f, 0xa9d6, 0x003f, 0xa9ee, 0xa9e6,
    +    0xa9e0, 0xa9d4, 0xccb9, 0xa9df, 0xa9d5, 0xa9e7, 0xa9f0, 0xced4,
    +    0xa9e4, 0xccb5, 0xa9da, 0xa9dd, 0xa9de, 0x003f, 0xa9ec, 0xa9ed,
    +    0xa9eb, 0xa9e5, 0xa9e9, 0xa9db, 0xabf4, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xceda, 0xac41, 0xabf8, 0xabfa, 0xac40,
    +    0xcee6, 0xabfd, 0xd1b1, 0xaeb1, 0xac43, 0xced7, 0xcedf, 0xabfe,
    +    0xcede, 0xcedb, 0xcee3, 0xcee5, 0xabf7, 0xabfb, 0xac42, 0xaeb3,
    +    /* 0x6300 .. 0x63ff */
    +    0xcee0, 0xabf9, 0xac45, 0xced9, 0x003f, 0x003f, 0x003f, 0xabfc,
    +    0xaeb2, 0xabf6, 0x003f, 0xced6, 0xcedd, 0xced5, 0xced8, 0xcedc,
    +    0xd1b2, 0xac44, 0x003f, 0xcee1, 0xcee2, 0xcee4, 0xabf5, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xaec1, 0xd1be, 0xaebf, 0xaec0, 0xd1b4, 0xd1c4, 0x003f, 0xaeb6,
    +    0x003f, 0x003f, 0xd566, 0xd1c6, 0xd1c0, 0x003f, 0xd1b7, 0x003f,
    +    0xd1c9, 0xd1ba, 0xaebc, 0xd57d, 0xd1bd, 0xaebe, 0xaeb5, 0x003f,
    +    0xd1cb, 0xd1bf, 0xaeb8, 0xd1b8, 0xd1b5, 0xd1b6, 0xaeb9, 0xd1c5,
    +    0xd1cc, 0xaebb, 0xd1bc, 0xd1bb, 0xaec3, 0xaec2, 0xaeb4, 0xaeba,
    +    0xaebd, 0xd1c8, 0x003f, 0x003f, 0xd1c2, 0xaeb7, 0xd1b3, 0xd1ca,
    +    0xd1c1, 0xd1c3, 0xd1c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd567, 0x003f, 0xb1b7,
    +    0xb1cb, 0xb1ca, 0x003f, 0xb1bf, 0x003f, 0xd579, 0xd575, 0xd572,
    +    0xd5a6, 0xb1ba, 0xb1b2, 0x003f, 0x003f, 0xd577, 0xb4a8, 0xb1b6,
    +    0xd5a1, 0x003f, 0xb1cc, 0xb1c9, 0xd57b, 0xd56a, 0x003f, 0x003f,
    +    0xb1c8, 0xd5a3, 0xd569, 0xb1bd, 0xb1c1, 0xd5a2, 0x003f, 0xd573,
    +    0xb1c2, 0xb1bc, 0xd568, 0x003f, 0xb478, 0xd5a5, 0xd571, 0xb1c7,
    +    0xd574, 0xd5a4, 0xb1c6, 0x003f, 0xd952, 0x003f, 0xb1b3, 0xd56f,
    +    0xb1b8, 0xb1c3, 0x003f, 0xb1be, 0xd578, 0xd56e, 0xd56c, 0xd57e,
    +    0xb1b0, 0xb1c4, 0xb1b4, 0xb477, 0xd57c, 0xb1b5, 0x003f, 0xb1b1,
    +    0xb1c0, 0xb1bb, 0xb1b9, 0xd570, 0xb1c5, 0xd56d, 0xd57a, 0xd576,
    +    0xd954, 0xd953, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd56b, 0xd964, 0x003f,
    +    0xb47a, 0x003f, 0xd96a, 0xd959, 0xd967, 0xdd77, 0xb47d, 0xd96b,
    +    0xd96e, 0xb47c, 0xd95c, 0xd96d, 0xd96c, 0xb47e, 0xd955, 0xb479,
    +    0xb4a3, 0x003f, 0xb4a1, 0xd969, 0x003f, 0xd95f, 0xb4a5, 0xd970,
    +    0xd968, 0xd971, 0xb4ad, 0xb4ab, 0xd966, 0xd965, 0x003f, 0xd963,
    +    0xd95d, 0xb4a4, 0x003f, 0xb4a2, 0xd1b9, 0xd956, 0x003f, 0xddb7,
    +    0xd957, 0xb47b, 0xb4aa, 0xdd79, 0x003f, 0xb4a6, 0xb4a7, 0xd958,
    +    0xd96f, 0xdd78, 0xd960, 0xd95b, 0xb4a9, 0xd961, 0xd95e, 0x003f,
    +    0x003f, 0xb4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6400 .. 0x64ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb770, 0x003f,
    +    0x003f, 0xdd7c, 0xddb1, 0xddb6, 0xddaa, 0xb76c, 0xddbb, 0xb769,
    +    0xdd7a, 0x003f, 0xdd7b, 0xb762, 0xb76b, 0xdda4, 0xb76e, 0xb76f,
    +    0xdda5, 0x003f, 0xddb2, 0xddb8, 0xb76a, 0x003f, 0xb764, 0xdda3,
    +    0xdd7d, 0xddba, 0xdda8, 0xdda9, 0xdd7e, 0xddb4, 0xddab, 0xddb5,
    +    0xddad, 0x003f, 0xb765, 0xe1d9, 0xb768, 0xb766, 0xddb9, 0xddb0,
    +    0xddac, 0x003f, 0x003f, 0xdda1, 0xba53, 0xddaf, 0xb76d, 0xdda7,
    +    0x003f, 0xdda6, 0x003f, 0x003f, 0x003f, 0xb767, 0xb763, 0xe1ee,
    +    0xddb3, 0xddae, 0x003f, 0xdda2, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe1e9, 0x003f, 0xe1da, 0xe1e5, 0x003f,
    +    0xe1ec, 0xba51, 0xb4ac, 0xe1ea, 0xba4c, 0x003f, 0x003f, 0x003f,
    +    0xba4b, 0xe1f1, 0x003f, 0xe1db, 0xe1e8, 0xe1dc, 0xe1e7, 0xba4f,
    +    0xe1eb, 0xd962, 0x003f, 0x003f, 0x003f, 0xe1f2, 0xe1e3, 0xba52,
    +    0xe5ba, 0xbcaf, 0x003f, 0xe1f0, 0xe1ef, 0xba54, 0xe5ad, 0xbcb0,
    +    0xe5ae, 0x003f, 0xe1df, 0xe1e0, 0xe1dd, 0xe1e2, 0xe1de, 0xe1f3,
    +    0xba4e, 0xbcb1, 0xba50, 0xba55, 0x003f, 0xe1e1, 0x003f, 0xe1ed,
    +    0x003f, 0x003f, 0xe1e6, 0x003f, 0x003f, 0xe5b1, 0x003f, 0xba4a,
    +    0xbcb4, 0xe9aa, 0xe5b6, 0xe5b5, 0xe5b7, 0x003f, 0x003f, 0xe5b4,
    +    0xbcb5, 0x003f, 0xbcbb, 0xbcb8, 0x003f, 0xbcb9, 0xe5af, 0xe5b2,
    +    0xe5bc, 0xbcc1, 0xbcbf, 0x003f, 0xe5b3, 0xd95a, 0xbcb2, 0xe5b9,
    +    0xe5b0, 0x003f, 0xbcc2, 0xe5b8, 0xba4d, 0xbcb7, 0xe1e4, 0x003f,
    +    0x003f, 0xbcba, 0x003f, 0xbcbe, 0xbcc0, 0xbcbd, 0xbcbc, 0x003f,
    +    0xbcb6, 0xe5bb, 0xbcb3, 0xbcc3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xbed8, 0xbed9, 0xe9a9, 0xbee2, 0xbedf,
    +    0x003f, 0xbed6, 0xbedd, 0xe9ab, 0xbedb, 0xbed5, 0x003f, 0xbedc,
    +    0x003f, 0xe9a8, 0xc0bb, 0xbed7, 0x003f, 0xbede, 0xc0ba, 0xe9a7,
    +    0xe9a6, 0x003f, 0xbee0, 0x003f, 0xbee1, 0x003f, 0xe9a5, 0xe9a4,
    +    0xc0bc, 0xe9ae, 0xbeda, 0xe9ac, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xc0bd, 0x003f, 0xc0c2, 0xecea, 0xecec, 0x003f, 0xc0bf, 0x003f,
    +    0xeced, 0xece9, 0x003f, 0xeceb, 0xc0c0, 0xc0c3, 0x003f, 0xece8,
    +    0xc0be, 0xc0c1, 0xc259, 0xe9ad, 0xc258, 0x003f, 0x003f, 0xc25e,
    +    0xefd4, 0x003f, 0xc25c, 0xc25d, 0xefd7, 0xefd3, 0xc25a, 0xefd1,
    +    /* 0x6500 .. 0x65ff */
    +    0xc36b, 0xefd5, 0x003f, 0xefd6, 0xefd2, 0x003f, 0xc25b, 0xf242,
    +    0x003f, 0xf245, 0x003f, 0x003f, 0xf246, 0xf244, 0xf247, 0xc36c,
    +    0xf243, 0x003f, 0x003f, 0xf44e, 0xc464, 0xf44d, 0xf44c, 0xf44b,
    +    0xc463, 0xc465, 0x003f, 0xf5cd, 0xc4e2, 0xc4e1, 0x003f, 0x003f,
    +    0xf6e1, 0xf6e0, 0xf6e3, 0xc5cb, 0xc575, 0xf7dd, 0xf6e2, 0x003f,
    +    0x003f, 0xf7dc, 0xc5cd, 0xc5cc, 0xc5f3, 0xf8a9, 0xf8ef, 0xa4e4,
    +    0x003f, 0x003f, 0xd972, 0xe9af, 0x003f, 0x003f, 0xa6ac, 0xcaf7,
    +    0xa7f1, 0xa7ef, 0x003f, 0xa7f0, 0x003f, 0xccc1, 0xa9f1, 0xac46,
    +    0x003f, 0xcee7, 0x003f, 0xcee8, 0x003f, 0xac47, 0xd1ce, 0x003f,
    +    0xaec4, 0xaec5, 0xd1cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1d3,
    +    0x003f, 0xb1cf, 0x003f, 0xd5a7, 0xb1d6, 0xb1d5, 0xb1ce, 0xb1d1,
    +    0xb1d4, 0xb1d0, 0x003f, 0x003f, 0xd976, 0xb1cd, 0xb4af, 0x003f,
    +    0x003f, 0x003f, 0xb4b1, 0xb4b2, 0xd975, 0xd978, 0xb4b0, 0xd973,
    +    0xd977, 0x003f, 0xd974, 0x003f, 0xb771, 0x003f, 0x003f, 0xddbc,
    +    0x003f, 0x003f, 0xba56, 0xe1f4, 0xbee3, 0xbcc4, 0xe5bd, 0xbcc5,
    +    0xbcc6, 0xe5bf, 0xe5be, 0xe5c0, 0xe9b1, 0x003f, 0x003f, 0xe9b0,
    +    0xecef, 0xecee, 0xc0c4, 0xc0c5, 0xf248, 0x003f, 0x003f, 0xa4e5,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd979, 0x003f, 0x003f, 0x003f,
    +    0xb4b4, 0xb4b3, 0xddbd, 0x003f, 0xefd8, 0xc4e3, 0xf7de, 0xa4e6,
    +    0x003f, 0xaec6, 0x003f, 0xb1d8, 0xb1d7, 0xd97a, 0xd97b, 0xb772,
    +    0xe1f5, 0xba57, 0xe9b2, 0x003f, 0xa4e7, 0xa5b8, 0x003f, 0xa9f2,
    +    0xccc2, 0x003f, 0xcee9, 0xac48, 0xb1d9, 0x003f, 0xd97c, 0xb4b5,
    +    0xb773, 0x003f, 0xe5c1, 0xe5c2, 0x003f, 0x003f, 0xecf0, 0xc25f,
    +    0xf8f0, 0xa4e8, 0x003f, 0xccc3, 0xa9f3, 0xac49, 0x003f, 0xceea,
    +    0x003f, 0xaec7, 0xd1d2, 0xd1d0, 0xd1d1, 0xaec8, 0xd1cf, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb1db, 0xb1dc, 0xd5a8, 0xb1dd, 0xb1da,
    +    0xd97d, 0x003f, 0xd97e, 0xddbe, 0x003f, 0x003f, 0xba59, 0xba58,
    +    0x003f, 0x003f, 0xecf1, 0xefd9, 0x003f, 0xf24a, 0xf249, 0xf44f,
    +    0x003f, 0xc95e, 0xac4a, 0x003f, 0x003f, 0xa4e9, 0xa5b9, 0x003f,
    +    0xa6ae, 0xa6ad, 0x003f, 0x003f, 0xa6af, 0xa6b0, 0xc9ee, 0xc9ed,
    +    0xcaf8, 0xa7f2, 0xcafb, 0xcafa, 0xcaf9, 0xcafc, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa9f4, 0xccc9, 0xccc5, 0xccce, 0x003f, 0x003f,
    +    /* 0x6600 .. 0x66ff */
    +    0xa9fb, 0x003f, 0xa9f9, 0xccca, 0xccc6, 0xcccd, 0xa9f8, 0xaa40,
    +    0xccc8, 0xccc4, 0xa9fe, 0xcccb, 0xa9f7, 0xcccc, 0xa9fa, 0xa9fc,
    +    0xccd0, 0xcccf, 0xccc7, 0xa9f6, 0xa9f5, 0xa9fd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xceef, 0xcef5, 0x003f, 0xac50,
    +    0xac4d, 0xceec, 0xcef1, 0x003f, 0xac53, 0xac4b, 0xcef0, 0xac4e,
    +    0xac51, 0x003f, 0x003f, 0xcef3, 0x003f, 0xac4c, 0xcef8, 0xac4f,
    +    0x003f, 0xac52, 0xceed, 0xcef2, 0xcef6, 0xceee, 0xceeb, 0x003f,
    +    0x003f, 0xcef7, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaed0, 0xaec9, 0xaecc, 0x003f, 0xaecf, 0x003f, 0xd1d5,
    +    0x003f, 0xaeca, 0xd1d3, 0x003f, 0xaece, 0x003f, 0x003f, 0xaecb,
    +    0x003f, 0xd1d6, 0xaecd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd5ac, 0xb1df, 0xd5ab, 0xd5ad, 0xb1de, 0xb1e3, 0xd1d4,
    +    0x003f, 0xd5aa, 0xd5ae, 0x003f, 0xb1e0, 0xd5a9, 0xb1e2, 0x003f,
    +    0xb1e1, 0x003f, 0xd9a7, 0x003f, 0xd9a2, 0x003f, 0xb4b6, 0xb4ba,
    +    0xb4b7, 0xd9a5, 0xd9a8, 0x003f, 0xb4b8, 0x003f, 0xb4b9, 0xb4be,
    +    0xddc7, 0xd9a6, 0xb4bc, 0xd9a3, 0xd9a1, 0x003f, 0xb4bd, 0x003f,
    +    0xd9a4, 0x003f, 0x003f, 0x003f, 0xb779, 0x003f, 0xddbf, 0xb776,
    +    0xb777, 0xb775, 0xddc4, 0xddc3, 0xddc0, 0xb77b, 0x003f, 0x003f,
    +    0xddc2, 0xb4bb, 0x003f, 0x003f, 0xddc6, 0xddc1, 0xb778, 0xb774,
    +    0xb77a, 0xddc5, 0x003f, 0x003f, 0x003f, 0xba5c, 0x003f, 0xe1f8,
    +    0xe1f7, 0xe1f6, 0xba5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xba5b, 0xe5c5, 0xe5c8, 0xbcc8, 0x003f, 0x003f, 0xbcc7, 0xe5c9,
    +    0xe5c4, 0xbcca, 0xe5c6, 0x003f, 0xbcc9, 0xe5c3, 0x003f, 0xe5c7,
    +    0xbee9, 0xbee6, 0xe9bb, 0xe9ba, 0x003f, 0xe9b9, 0xe9b4, 0x003f,
    +    0xe9b5, 0x003f, 0x003f, 0x003f, 0xbee7, 0x003f, 0xbee4, 0xbee8,
    +    0xe9b3, 0xbee5, 0xe9b6, 0xe9b7, 0xe9bc, 0x003f, 0x003f, 0xe9b8,
    +    0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0x003f, 0xc0c7, 0x003f,
    +    0xefdc, 0xc0c6, 0xefda, 0xefdb, 0xc260, 0xc36e, 0xf24b, 0x003f,
    +    0xc36d, 0x003f, 0x003f, 0xf451, 0xf452, 0x003f, 0xc466, 0x003f,
    +    0xf450, 0xc4e4, 0x003f, 0xf7df, 0xc5ce, 0xf8aa, 0xf8ab, 0x003f,
    +    0xa4ea, 0x003f, 0xa6b1, 0xa6b2, 0xa7f3, 0x003f, 0xccd1, 0xac54,
    +    0xaed1, 0xb1e4, 0x003f, 0x003f, 0xb0d2, 0x003f, 0xb4bf, 0xb4c0,
    +    /* 0x6700 .. 0x67ff */
    +    0xb3cc, 0xd9a9, 0x003f, 0xb77c, 0xe1fa, 0xe1f9, 0x003f, 0x003f,
    +    0xa4eb, 0xa6b3, 0xccd2, 0xaa42, 0x003f, 0xaa41, 0x003f, 0xcef9,
    +    0xcefa, 0x003f, 0xd1d7, 0xd1d8, 0xaed2, 0xaed3, 0x003f, 0xaed4,
    +    0xd5af, 0x003f, 0x003f, 0xb1e6, 0x003f, 0xb4c2, 0x003f, 0xb4c1,
    +    0xddc8, 0xdf7a, 0xe1fb, 0xe9bd, 0x003f, 0x003f, 0xc261, 0xc467,
    +    0xa4ec, 0x003f, 0xa5bc, 0xa5bd, 0xa5bb, 0xa5be, 0xa5ba, 0x003f,
    +    0x003f, 0xa6b6, 0x003f, 0xc9f6, 0xa6b5, 0xa6b7, 0x003f, 0x003f,
    +    0xc9f1, 0xc9f0, 0xc9f3, 0xc9f2, 0xc9f5, 0xa6b4, 0xc9ef, 0xc9f4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafd, 0xa7fd, 0xcafe,
    +    0xcb43, 0xa7fc, 0x003f, 0xcb47, 0xcb42, 0xcb45, 0xa7f5, 0xa7f6,
    +    0xa7f7, 0xa7f8, 0x003f, 0xa840, 0x003f, 0xcb41, 0xa7fa, 0xa841,
    +    0x003f, 0xcb40, 0xcb46, 0x003f, 0xa7f9, 0xcb44, 0xa7fb, 0xa7f4,
    +    0xa7fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xaa57, 0x003f, 0xccd4, 0xaa43, 0x003f, 0xaa4d,
    +    0xaa4e, 0xaa46, 0xaa58, 0xaa48, 0xccdc, 0xaa53, 0xccd7, 0xaa49,
    +    0xcce6, 0xcce7, 0xccdf, 0xccd8, 0xaa56, 0xcce4, 0xaa51, 0xaa4f,
    +    0x003f, 0xcce5, 0x003f, 0xcce3, 0xccdb, 0xccd3, 0xccda, 0xaa4a,
    +    0x003f, 0xaa50, 0x003f, 0xaa44, 0xccde, 0xccdd, 0xccd5, 0x003f,
    +    0xaa52, 0xcce1, 0xccd6, 0xaa55, 0xcce8, 0xaa45, 0x003f, 0xaa4c,
    +    0xccd9, 0xcce2, 0xaa54, 0x003f, 0xaa47, 0xaa4b, 0x003f, 0xcce0,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcf5b, 0xac5c,
    +    0xac69, 0x003f, 0xcf56, 0xcf4c, 0xac62, 0xcf4a, 0xac5b, 0xcf45,
    +    0xac65, 0xcf52, 0xcefe, 0xcf41, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xcf44, 0xcefb, 0xcf51, 0xcf61, 0xac60, 0xcf46, 0xcf58, 0x003f,
    +    0xcefd, 0xcf5f, 0xcf60, 0xcf63, 0xcf5a, 0xcf4b, 0xcf53, 0xac66,
    +    0xac59, 0xac61, 0xac6d, 0xac56, 0xac58, 0x003f, 0x003f, 0x003f,
    +    0xcf43, 0xac6a, 0xac63, 0xcf5d, 0xcf40, 0xac6c, 0xac67, 0xcf49,
    +    0x003f, 0x003f, 0xac6b, 0xcf50, 0xcf48, 0xac64, 0xcf5c, 0xcf54,
    +    0x003f, 0xac5e, 0xcf62, 0xcf47, 0xac5a, 0xcf59, 0xcf4f, 0xac5f,
    +    0xcf55, 0xac57, 0xcefc, 0xac68, 0xaee3, 0xac5d, 0xcf4e, 0xcf4d,
    +    0xcf42, 0x003f, 0xcf5e, 0x003f, 0xcf57, 0x003f, 0x003f, 0xac55,
    +    /* 0x6800 .. 0x68ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd1ec, 0xaeea, 0xd1ed, 0x003f, 0xd1e1, 0xaedf,
    +    0xaeeb, 0x003f, 0xd1da, 0x003f, 0xd1e3, 0xd1eb, 0x003f, 0xd1d9,
    +    0xd1f4, 0xaed5, 0x003f, 0x003f, 0x003f, 0xd1f3, 0xd1ee, 0x003f,
    +    0xd1ef, 0xaedd, 0xaee8, 0xd1e5, 0x003f, 0xd1e6, 0xd1f0, 0xd1e7,
    +    0x003f, 0xd1e2, 0xd1dc, 0xd1dd, 0xd1ea, 0xd1e4, 0x003f, 0x003f,
    +    0xaed6, 0xaeda, 0xd1f2, 0xd1de, 0xaee6, 0xaee2, 0x003f, 0x003f,
    +    0xaee5, 0xaeec, 0xaedb, 0xaee7, 0xd1e9, 0xaee9, 0xaed8, 0x003f,
    +    0xaed7, 0xd1db, 0x003f, 0xd1df, 0xaee0, 0xd1f1, 0xd1e8, 0xd1e0,
    +    0xaee4, 0xaee1, 0x003f, 0xaed9, 0xaedc, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd5c4, 0x003f, 0xd5b4, 0xd5b5, 0xd5b9,
    +    0x003f, 0xd5c8, 0xd5c5, 0x003f, 0xd5be, 0xd5bd, 0xb1ed, 0xd5c1,
    +    0xd5d0, 0xd5b0, 0x003f, 0xd5d1, 0xd5c3, 0xd5d5, 0xd5c9, 0xb1ec,
    +    0xd5c7, 0xb1e7, 0xb1fc, 0xb1f2, 0x003f, 0xb1f6, 0xb1f5, 0xd5b1,
    +    0x003f, 0xd5ce, 0xd5d4, 0xd5cc, 0xd5d3, 0x003f, 0x003f, 0xd5c0,
    +    0xd5b2, 0xd5d2, 0xd5c2, 0xb1ea, 0xb1f7, 0x003f, 0xd5cb, 0xb1f0,
    +    0x003f, 0x003f, 0x003f, 0xd5ca, 0xd5b3, 0xb1f8, 0x003f, 0xb1fa,
    +    0xd5cd, 0xb1fb, 0xb1e9, 0xd5ba, 0xd5cf, 0x003f, 0x003f, 0xb1ef,
    +    0xb1f9, 0xd5bc, 0xd5c6, 0xd5b7, 0xd5bb, 0xb1f4, 0xd5b6, 0xb1e8,
    +    0xb1f1, 0xb1ee, 0xd5bf, 0xaede, 0xd9c0, 0xb1eb, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xb1f3, 0x003f, 0xd9c3, 0xd9d9,
    +    0xd9ce, 0xb4d6, 0x003f, 0xb4d1, 0xd9bd, 0xb4d2, 0xd9cd, 0x003f,
    +    0xd9c6, 0xd9d3, 0xb4ce, 0xd9ab, 0xd9d5, 0xb4c4, 0xd9b3, 0xb4c7,
    +    0xb4c6, 0x003f, 0xb4d7, 0x003f, 0xd9ad, 0xd9cf, 0xd9d0, 0xb4c9,
    +    0xb4c5, 0xd9bb, 0x003f, 0xb4d0, 0xd9b6, 0x003f, 0xd9d1, 0xb4cc,
    +    0xd9c9, 0xd9d6, 0xd9b0, 0xd9b5, 0xd9af, 0x003f, 0xb4cb, 0xd9c2,
    +    0xddde, 0xd9b1, 0xb4cf, 0xd9ba, 0xd9d2, 0xb4ca, 0xd9b7, 0xd9b4,
    +    0xd9c5, 0xb4cd, 0xb4c3, 0xb4d9, 0xd9c8, 0xd9c7, 0x003f, 0x003f,
    +    /* 0x6900 .. 0x69ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd9ac, 0xb4c8, 0xd9d4, 0xd9bc,
    +    0xd9be, 0x003f, 0xd9cb, 0xd9ca, 0xd9aa, 0xb4d3, 0xb4d5, 0xd9b2,
    +    0xd9b9, 0xd9c1, 0xb4d4, 0xd9b8, 0xd9c4, 0xd9d7, 0x003f, 0xd9cc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d8, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xddf2,
    +    0xb7a6, 0x003f, 0xddf0, 0xdddb, 0xdde0, 0xddd9, 0x003f, 0xddec,
    +    0xddcb, 0xddd2, 0x003f, 0xddea, 0xddf4, 0xdddc, 0x003f, 0xddcf,
    +    0xdde2, 0xdde7, 0xddd3, 0x003f, 0xdde4, 0xddd0, 0x003f, 0x003f,
    +    0xddd7, 0xddd8, 0xb7a8, 0xddeb, 0xdde9, 0x003f, 0xddcc, 0xddee,
    +    0x003f, 0xddef, 0xddf1, 0xb7ac, 0xb7a4, 0x003f, 0xd5b8, 0xddd4,
    +    0xdde6, 0xddd5, 0xb7a1, 0xb7b1, 0xdded, 0xb7af, 0xb7ab, 0xddca,
    +    0xb7a3, 0x003f, 0xddcd, 0xb7b0, 0x003f, 0xdddd, 0xddc9, 0x003f,
    +    0xb7a9, 0xdde1, 0xddd1, 0xb7aa, 0xddda, 0xb77e, 0xb4d8, 0xdde3,
    +    0xd9bf, 0xddce, 0x003f, 0x003f, 0xdde8, 0xb7a5, 0xdde5, 0xb7a2,
    +    0xdddf, 0xb7ad, 0xddd6, 0xddf3, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb7a7, 0xdec6, 0x003f, 0x003f, 0xb7ae, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe24a, 0xe248, 0x003f,
    +    0xe25e, 0xe246, 0x003f, 0xe258, 0xb77d, 0xba5f, 0xe242, 0xe25d,
    +    0x003f, 0xe247, 0xe255, 0xba64, 0xba5d, 0x003f, 0xe25b, 0x003f,
    +    0xe240, 0xe25a, 0x003f, 0xba6f, 0xe251, 0xe261, 0xba6d, 0xe249,
    +    0xba5e, 0xe24b, 0xe259, 0xba67, 0xe244, 0xba6b, 0xba61, 0xe24d,
    +    0xe243, 0xe1fc, 0x003f, 0xe257, 0xba68, 0xe260, 0xe1fd, 0xba65,
    +    0x003f, 0xe253, 0x003f, 0xba66, 0xe245, 0xe250, 0xe24c, 0xe24e,
    +    0x003f, 0xba60, 0xe25f, 0xba6e, 0xe24f, 0x003f, 0xe262, 0x003f,
    +    0x003f, 0xe1fe, 0xe254, 0xba63, 0xba6c, 0xba6a, 0xe241, 0xe256,
    +    0xba69, 0x003f, 0x003f, 0xba62, 0xe252, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xe25c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe5d5, 0x003f, 0xe5d1, 0xe5cd, 0xe5e1, 0xe5de,
    +    0xbccd, 0x003f, 0x003f, 0xe5e5, 0xe5d4, 0xbcd8, 0xe5db, 0x003f,
    +    0x003f, 0xe5d0, 0xe5da, 0xbcd5, 0xe5ee, 0x003f, 0xe5eb, 0xe5dd,
    +    0xe5ce, 0x003f, 0x003f, 0xe5e2, 0xe5e4, 0xbcd1, 0xe5d8, 0xe5d3,
    +    /* 0x6a00 .. 0x6aff */
    +    0xe5ca, 0xbcce, 0xbcd6, 0x003f, 0xe5e7, 0xbcd7, 0xe5cb, 0xe5ed,
    +    0xe5e0, 0xe5e6, 0xbcd4, 0x003f, 0x003f, 0xe5e3, 0x003f, 0xe5ea,
    +    0x003f, 0xbcd9, 0x003f, 0xbcd3, 0xe5dc, 0xe5cf, 0xe5ef, 0xe5cc,
    +    0xe5e8, 0xbcd0, 0x003f, 0xe5d6, 0x003f, 0xe5d7, 0xbccf, 0xbccc,
    +    0xe5d2, 0xbcd2, 0x003f, 0xbccb, 0x003f, 0xe5e9, 0xe5ec, 0xe5d9,
    +    0xe9ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe9c2, 0x003f, 0xe9be, 0xbef6, 0x003f, 0x003f,
    +    0xbeeb, 0xbef0, 0xbeec, 0xe9cc, 0xe9d7, 0xbeea, 0xe9c4, 0xe9cd,
    +    0xe5df, 0xe9ce, 0x003f, 0x003f, 0xbef1, 0x003f, 0xe9dd, 0xbef5,
    +    0xbef8, 0xe9c0, 0x003f, 0xbef4, 0x003f, 0xe9db, 0xe9dc, 0xe9d2,
    +    0xe9d1, 0xe9c9, 0x003f, 0x003f, 0xe9d3, 0xe9da, 0xe9d9, 0x003f,
    +    0xbeef, 0xbeed, 0xe9cb, 0xe9c8, 0x003f, 0xe9c5, 0xe9d8, 0xbef7,
    +    0xe9d6, 0xbef3, 0xbef2, 0x003f, 0xe9d0, 0x003f, 0xe9bf, 0xe9c1,
    +    0xe9c3, 0xe9d5, 0xe9cf, 0xbeee, 0x003f, 0xe9c6, 0x003f, 0xe9d4,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c7, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0cf, 0xed45,
    +    0xc0c8, 0xecf5, 0x003f, 0xed41, 0xc0ca, 0xed48, 0x003f, 0xecfc,
    +    0x003f, 0xecf7, 0x003f, 0x003f, 0xed49, 0xecf3, 0xecfe, 0x003f,
    +    0xc0d1, 0xed44, 0xed4a, 0xecfd, 0xc0c9, 0xed40, 0xecf4, 0xc0d0,
    +    0x003f, 0x003f, 0xed47, 0xecf9, 0xc0cc, 0x003f, 0xecfb, 0xecf8,
    +    0xc0d2, 0xecfa, 0xc0cb, 0xc0ce, 0xed43, 0xecf6, 0xed46, 0x003f,
    +    0xed42, 0x003f, 0x003f, 0x003f, 0xc263, 0xefe7, 0xc268, 0xc269,
    +    0x003f, 0x003f, 0x003f, 0xc262, 0xefe6, 0x003f, 0xefe3, 0xefe4,
    +    0xc266, 0xefde, 0xefe2, 0xc265, 0x003f, 0xefdf, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc267, 0xc264, 0x003f, 0xefdd, 0xefe1, 0xefe5,
    +    0x003f, 0x003f, 0x003f, 0xf251, 0xf24e, 0xf257, 0x003f, 0xf256,
    +    0xf254, 0xf24f, 0x003f, 0xc372, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf250, 0xc371, 0xc0cd, 0xf253, 0xc370, 0xf258, 0xf252,
    +    0xf24d, 0xefe0, 0x003f, 0x003f, 0x003f, 0xc36f, 0x003f, 0xf24c,
    +    0xf456, 0x003f, 0xf455, 0xf255, 0xc468, 0x003f, 0xf459, 0xf45a,
    +    0xf454, 0xf458, 0x003f, 0xf453, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf5d1, 0xf457, 0xc4e7, 0xc4e5, 0xf5cf, 0x003f, 0x003f, 0x003f,
    +    /* 0x6b00 .. 0x6bff */
    +    0xf5d2, 0x003f, 0xf5ce, 0xf5d0, 0xc4e6, 0x003f, 0x003f, 0x003f,
    +    0xf6e5, 0xf6e6, 0xc576, 0xf6e4, 0x003f, 0x003f, 0x003f, 0xf7e2,
    +    0xc5cf, 0xf7e0, 0xf7e1, 0xf8ac, 0x003f, 0x003f, 0xc656, 0xf8f3,
    +    0xf8f1, 0xf8f2, 0xf8f4, 0x003f, 0x003f, 0x003f, 0xf9bb, 0x003f,
    +    0xa4ed, 0xa6b8, 0x003f, 0xaa59, 0x003f, 0xcce9, 0x003f, 0x003f,
    +    0xcf64, 0x003f, 0x003f, 0x003f, 0xd1f5, 0xd1f7, 0x003f, 0xd1f6,
    +    0x003f, 0xd1f8, 0xb1fd, 0xd5d7, 0xd1f9, 0x003f, 0xd5d6, 0xd5d8,
    +    0xd5d9, 0xd9da, 0xb4db, 0xd9db, 0xd9dd, 0xb4dc, 0xb4da, 0xd9dc,
    +    0x003f, 0xddfa, 0xddf8, 0xddf7, 0x003f, 0xddf6, 0xddf5, 0xb7b2,
    +    0xddf9, 0xba70, 0xe263, 0xe265, 0xba71, 0xe264, 0xbcdb, 0x003f,
    +    0xbcda, 0xe5f0, 0x003f, 0x003f, 0xe9df, 0xe9de, 0xe9e0, 0x003f,
    +    0x003f, 0xbef9, 0x003f, 0xed4b, 0xc0d3, 0x003f, 0xefe8, 0xc26a,
    +    0xf259, 0xc577, 0xa4ee, 0xa5bf, 0xa6b9, 0xa842, 0xaa5a, 0xaa5b,
    +    0x003f, 0x003f, 0xac6e, 0x003f, 0x003f, 0xd1fa, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb7b3, 0x003f, 0x003f, 0x003f, 0xe6d1, 0xbefa,
    +    0xc26b, 0xa4ef, 0x003f, 0xa6ba, 0x003f, 0x003f, 0xcceb, 0xaa5c,
    +    0xccea, 0x003f, 0xcf65, 0xac6f, 0xcf66, 0x003f, 0xac70, 0x003f,
    +    0xd1fc, 0xaeee, 0xaeed, 0x003f, 0xd5de, 0xd5dc, 0xd5dd, 0xd5db,
    +    0x003f, 0xd5da, 0x003f, 0x003f, 0xd9de, 0xd9e1, 0xb4de, 0xd9df,
    +    0xb4dd, 0xd9e0, 0x003f, 0xddfb, 0x003f, 0x003f, 0xe266, 0xe267,
    +    0xe268, 0x003f, 0xe5f3, 0xe5f2, 0xbcdc, 0xe5f1, 0xe5f4, 0xe9e1,
    +    0x003f, 0x003f, 0xe9e2, 0xe9e3, 0x003f, 0xed4c, 0xc0d4, 0xc26c,
    +    0xf25a, 0x003f, 0xc4e8, 0xc95f, 0x003f, 0xac71, 0xcf67, 0xaeef,
    +    0x003f, 0x003f, 0xb1fe, 0x003f, 0xb4df, 0xd9e2, 0x003f, 0xb7b5,
    +    0xb7b4, 0x003f, 0x003f, 0xe269, 0xe26a, 0xbcdd, 0xbcde, 0xe9e5,
    +    0xe9e4, 0xefe9, 0xf7e3, 0xa4f0, 0xc960, 0xa5c0, 0x003f, 0xa843,
    +    0xcb48, 0x003f, 0xac72, 0xb7b6, 0xa4f1, 0x003f, 0xcf68, 0xac73,
    +    0xcf69, 0x003f, 0xc0d5, 0xa4f2, 0x003f, 0x003f, 0xccec, 0x003f,
    +    0xcf6a, 0x003f, 0xd242, 0xd241, 0xd1fe, 0x003f, 0xd1fd, 0xd243,
    +    0xd240, 0x003f, 0x003f, 0xb240, 0xb241, 0x003f, 0x003f, 0xb4e0,
    +    0xd9e3, 0x003f, 0xd9e4, 0xd9e5, 0x003f, 0x003f, 0x003f, 0xde41,
    +    0xde42, 0xde40, 0x003f, 0xddfd, 0xddfe, 0xb7b7, 0xe26b, 0xe5f7,
    +    /* 0x6c00 .. 0x6cff */
    +    0xe5f6, 0xe5f5, 0xe5f8, 0xe9e7, 0xe9e6, 0xbefb, 0xe9e8, 0x003f,
    +    0xc0d6, 0xed4d, 0x003f, 0xefea, 0xf25b, 0xf6e7, 0x003f, 0xa4f3,
    +    0xa5c2, 0xa5c1, 0x003f, 0xaa5d, 0xc961, 0xc97e, 0xa6bb, 0x003f,
    +    0xc9f7, 0xcb49, 0xcb4a, 0xaa5e, 0x003f, 0xcced, 0x003f, 0xac74,
    +    0xcf6b, 0xcf6c, 0x003f, 0xaef0, 0xaef4, 0xd244, 0xaef3, 0xaef1,
    +    0xaef2, 0x003f, 0xd5df, 0xb242, 0xb4e3, 0x003f, 0xb4e1, 0xb4e2,
    +    0xd9e6, 0x003f, 0x003f, 0xba72, 0xa4f4, 0x003f, 0xc9a1, 0x003f,
    +    0xa5c3, 0x003f, 0x003f, 0xc9a4, 0x003f, 0x003f, 0xa5c6, 0xc9a3,
    +    0xa5c5, 0xa5c4, 0xa844, 0xc9a2, 0x003f, 0x003f, 0xc9f8, 0x003f,
    +    0x003f, 0x003f, 0xc9fc, 0xc9fe, 0xca40, 0xa6c5, 0xa6c6, 0xc9fb,
    +    0xa6c1, 0x003f, 0xc9f9, 0x003f, 0xc9fd, 0xa6c2, 0x003f, 0xa6bd,
    +    0x003f, 0xa6be, 0x003f, 0xa6c4, 0xc9fa, 0xa6bc, 0xa845, 0xa6bf,
    +    0xa6c0, 0xa6c3, 0x003f, 0x003f, 0x003f, 0xcb5b, 0xcb59, 0xcb4c,
    +    0xa851, 0xcb53, 0xa84c, 0xcb4d, 0x003f, 0xcb55, 0x003f, 0xcb52,
    +    0xa84f, 0xcb51, 0xa856, 0xcb5a, 0xa858, 0x003f, 0xa85a, 0x003f,
    +    0xcb4b, 0x003f, 0xa84d, 0xcb5c, 0x003f, 0xa854, 0xa857, 0x003f,
    +    0xcd45, 0xa847, 0xa85e, 0xa855, 0xcb4e, 0xa84a, 0xa859, 0xcb56,
    +    0xa848, 0xa849, 0xcd43, 0xcb4f, 0xa850, 0xa85b, 0xcb5d, 0xcb50,
    +    0xa84e, 0x003f, 0xa853, 0xccee, 0xa85c, 0xcb57, 0xa852, 0x003f,
    +    0xa85d, 0xa846, 0xcb54, 0xa84b, 0xcb58, 0xcd44, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xaa6a, 0xaa7a, 0xccf5, 0xaa71, 0x003f,
    +    0xcd4b, 0xaa62, 0x003f, 0xaa65, 0xcd42, 0x003f, 0xccf3, 0xccf7,
    +    0xaa6d, 0xaa6f, 0xccfa, 0xaa76, 0xaa68, 0xaa66, 0xaa67, 0xaa75,
    +    0xcd47, 0xaa70, 0xccf9, 0xccfb, 0xaa6e, 0xaa73, 0xccfc, 0xcd4a,
    +    0x003f, 0xac75, 0xaa79, 0x003f, 0xaa63, 0xcd49, 0x003f, 0xcd4d,
    +    0xccf8, 0xcd4f, 0xcd40, 0xaa6c, 0xccf4, 0xaa6b, 0xaa7d, 0xaa72,
    +    0x003f, 0xccf2, 0xcf75, 0xaa78, 0xaa7c, 0xcd41, 0xcd46, 0x003f,
    +    0xaa7e, 0xaa77, 0xaa69, 0xaa5f, 0x003f, 0xaa64, 0x003f, 0xccf6,
    +    0xaa60, 0xcd4e, 0x003f, 0xccf0, 0xccef, 0xccfd, 0xccf1, 0xaa7b,
    +    0xaef5, 0xaa74, 0xccfe, 0xaa61, 0x003f, 0xaca6, 0x003f, 0x003f,
    +    0x003f, 0xcd4c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x6d00 .. 0x6dff */
    +    0xcf7c, 0xcfa1, 0x003f, 0xcfa4, 0xcf77, 0x003f, 0x003f, 0xcfa7,
    +    0xcfaa, 0xcfac, 0xcf74, 0xac76, 0xac7b, 0xd249, 0xacad, 0xcfa5,
    +    0xcfad, 0xcf7b, 0xcf73, 0x003f, 0x003f, 0x003f, 0xd264, 0xac7e,
    +    0xcfa2, 0xcf78, 0xcf7a, 0xaca5, 0x003f, 0xcf7d, 0xac7d, 0xcf70,
    +    0xcfa8, 0x003f, 0xcfab, 0x003f, 0x003f, 0xac7a, 0x003f, 0xaca8,
    +    0xcf6d, 0xacaa, 0xac78, 0xacae, 0xcfa9, 0xcf6f, 0xacab, 0xd25e,
    +    0xcd48, 0xac7c, 0xac77, 0xcf76, 0xcf6e, 0xacac, 0xaca4, 0xcfa3,
    +    0xaca9, 0xaca7, 0xcf79, 0xaca1, 0xcf71, 0xaca2, 0xaca3, 0xcf72,
    +    0xcfa6, 0xac79, 0xcf7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd24c, 0xaefd, 0xaf43, 0x003f, 0x003f, 0x003f, 0xd255, 0xd25b,
    +    0xd257, 0xd24a, 0xd24d, 0xd246, 0xd247, 0xaf4a, 0xaefa, 0xd256,
    +    0xd25f, 0xaf45, 0xaef6, 0x003f, 0xaf40, 0xd24e, 0xaf42, 0xd24f,
    +    0xd259, 0x003f, 0x003f, 0x003f, 0xaf44, 0xd268, 0xd248, 0xaefc,
    +    0xaefb, 0xaf48, 0xd245, 0xd266, 0xd25a, 0xd267, 0xd261, 0xd253,
    +    0xd262, 0x003f, 0xd25c, 0xd265, 0xd263, 0xaf49, 0xd254, 0xaef9,
    +    0xaef8, 0xaf41, 0xaf47, 0xd260, 0xaf46, 0xd251, 0xb243, 0x003f,
    +    0xd269, 0xd250, 0xd24b, 0xaefe, 0xaf4b, 0xaef7, 0x003f, 0xd258,
    +    0xd25d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb265, 0xd5e1, 0xd5e5, 0x003f, 0xb252, 0xb250,
    +    0x003f, 0x003f, 0xb247, 0xd5e3, 0xd5e2, 0xb25b, 0x003f, 0xd5e8,
    +    0xb255, 0x003f, 0xd5fa, 0xd647, 0xb244, 0xd5f7, 0xd5f0, 0xb267,
    +    0xd5e0, 0x003f, 0xd5fc, 0x003f, 0xb264, 0xb258, 0xb263, 0xb24e,
    +    0xd5ec, 0xd5fe, 0xd5f6, 0xb24f, 0xb249, 0xd645, 0x003f, 0xd5fd,
    +    0xd640, 0xb251, 0xb259, 0xd642, 0xd5ea, 0xd5fb, 0xd5ef, 0xd644,
    +    0xb25e, 0xb246, 0xb25c, 0xd5f4, 0xd5f2, 0xd5f3, 0xb253, 0xd5ee,
    +    0xd5ed, 0xb248, 0xd5e7, 0xd646, 0xb24a, 0xd5f1, 0xb268, 0x003f,
    +    0xb262, 0xd5e6, 0xb25f, 0xb25d, 0xb266, 0xd5f8, 0xb261, 0xd252,
    +    0xd5f9, 0xb260, 0xd641, 0xb245, 0xd5f5, 0xb257, 0xd5e9, 0xb256,
    +    0x003f, 0xb254, 0xb24c, 0xb24b, 0xd9e7, 0xd643, 0x003f, 0x003f,
    +    /* 0x6e00 .. 0x6eff */
    +    0xd5eb, 0x003f, 0x003f, 0xd9fc, 0x003f, 0xb24d, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb541, 0xb25a, 0xb4ee, 0xd9f6, 0xb4fc, 0x003f, 0xd9ea,
    +    0xb4eb, 0xb4e7, 0xda49, 0xb4ed, 0xb4f1, 0xb4ec, 0xb4f5, 0xda4d,
    +    0xda44, 0x003f, 0x003f, 0xd9f1, 0xb4fa, 0xb4f4, 0xd9fd, 0xb4e4,
    +    0xda4a, 0xda43, 0xb4e8, 0xd9f7, 0xb4f7, 0xda55, 0xda56, 0x003f,
    +    0xb4e5, 0xda48, 0xb4f9, 0xd9fb, 0xd9ed, 0xd9ee, 0xb4fd, 0xd9f2,
    +    0xd9f9, 0xd9f3, 0x003f, 0xb4fb, 0xb544, 0xd9ef, 0xd9e8, 0xd9e9,
    +    0x003f, 0xd9eb, 0xb4ea, 0xd9f8, 0x003f, 0xb4f8, 0xb542, 0x003f,
    +    0x003f, 0xd9fa, 0xda53, 0xda4b, 0xb4e6, 0xda51, 0xb4f2, 0x003f,
    +    0xb4f0, 0x003f, 0xda57, 0xb4ef, 0xda41, 0xd9f4, 0xd9fe, 0xb547,
    +    0xda45, 0xda42, 0xd9f0, 0xb543, 0xda4f, 0xda4c, 0xda54, 0xb4e9,
    +    0xda40, 0xb546, 0x003f, 0xda47, 0x003f, 0x003f, 0xb4f3, 0xb4f6,
    +    0x003f, 0xda46, 0xb545, 0xd9f5, 0xd5e4, 0x003f, 0x003f, 0xda50,
    +    0xda4e, 0xda52, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd9ec, 0xb540, 0x003f, 0x003f, 0x003f, 0xde61, 0xde60, 0xde46,
    +    0xb7bd, 0x003f, 0xde5f, 0xde49, 0xde4a, 0x003f, 0xb7c7, 0xde68,
    +    0xb7c2, 0xde5e, 0x003f, 0xde43, 0xb7c8, 0xb7be, 0xde52, 0xde48,
    +    0xde4b, 0xde63, 0xb7b8, 0xde6a, 0xde62, 0xb7c1, 0xde57, 0xb7cc,
    +    0x003f, 0x003f, 0xb7cb, 0xb7c5, 0x003f, 0x003f, 0xde69, 0xb7b9,
    +    0xde55, 0xde4c, 0xde59, 0xde65, 0xb7cd, 0x003f, 0xb7bb, 0xde54,
    +    0x003f, 0xde4d, 0xb7c4, 0x003f, 0xb7c3, 0xde50, 0xde5a, 0xde64,
    +    0xde47, 0xde51, 0xb7bc, 0xde5b, 0xb7c9, 0xb7c0, 0xde4e, 0xb7bf,
    +    0xde45, 0xde53, 0xde67, 0xb4fe, 0xbab0, 0xde56, 0xe26c, 0xde58,
    +    0xde66, 0xb7c6, 0xde4f, 0xb7ba, 0xb7ca, 0xbcf0, 0xde44, 0x003f,
    +    0xde5d, 0x003f, 0x003f, 0x003f, 0xde5c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe2aa, 0xbaad, 0xe27d, 0xe2a4, 0xbaa2,
    +    0x003f, 0xe26e, 0xbaaf, 0x003f, 0xba77, 0xe26d, 0xe2b0, 0xbab1,
    +    0xe271, 0xe2a3, 0x003f, 0xe273, 0xe2b3, 0xe2af, 0xba75, 0xbaa1,
    +    /* 0x6f00 .. 0x6fff */
    +    0xe653, 0xbaae, 0xba7d, 0xe26f, 0x003f, 0xe2ae, 0xbaa3, 0xe2ab,
    +    0xe2b8, 0xe275, 0xe27e, 0x003f, 0x003f, 0xe2b6, 0xe2ac, 0xba7c,
    +    0x003f, 0x003f, 0xe27c, 0xba76, 0xba74, 0xbaa8, 0x003f, 0x003f,
    +    0xe27a, 0xe277, 0xe278, 0x003f, 0xe2b2, 0x003f, 0xe2b7, 0xe2b5,
    +    0xba7a, 0xe2b9, 0xba7e, 0xbaa7, 0x003f, 0xe270, 0xe5fa, 0xe279,
    +    0x003f, 0xba78, 0xbaac, 0xbaa9, 0xba7b, 0xe2a5, 0xe274, 0xbaaa,
    +    0xe2a7, 0xbaa4, 0xbaa6, 0xba73, 0x003f, 0xe2a9, 0xe2a1, 0xe272,
    +    0xbaa5, 0xe2b1, 0xe2b4, 0xe27b, 0xe2a8, 0x003f, 0xba79, 0xbcdf,
    +    0xe2a6, 0xe5f9, 0x003f, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe276, 0xe644,
    +    0xe64e, 0xbce2, 0xe64d, 0xe659, 0xbce4, 0xe64b, 0x003f, 0xe64f,
    +    0xbcef, 0x003f, 0xe646, 0xbce7, 0x003f, 0xe652, 0xe9f0, 0xbcf3,
    +    0xbcf2, 0xe654, 0xe643, 0xe65e, 0xbced, 0x003f, 0xbce3, 0xe657,
    +    0x003f, 0xe65b, 0xe660, 0xe655, 0xe649, 0xbce6, 0xbce9, 0xbcf1,
    +    0xbcec, 0x003f, 0xe64c, 0xe2a2, 0x003f, 0x003f, 0xe648, 0xe65f,
    +    0xbce8, 0x003f, 0xbceb, 0xe661, 0xbce0, 0xe656, 0xe5fb, 0xe65c,
    +    0xc0df, 0x003f, 0xe64a, 0x003f, 0xbce1, 0xe645, 0xbce5, 0xe5fc,
    +    0xbaab, 0xe641, 0x003f, 0xe65a, 0xe642, 0xe640, 0xbcea, 0x003f,
    +    0xe658, 0x003f, 0xe5fe, 0xe651, 0xe650, 0xe65d, 0xe647, 0xbcee,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f3, 0x003f,
    +    0xbf49, 0xbefe, 0xea40, 0xe9eb, 0xbf41, 0xe9f7, 0xbf48, 0xbf43,
    +    0xe9f5, 0xed4f, 0xe9fb, 0xea42, 0xe9fa, 0xe9e9, 0xe9f8, 0xea44,
    +    0xea46, 0xbefd, 0xea45, 0xbf44, 0xbf4a, 0x003f, 0xbf47, 0x003f,
    +    0xe9fe, 0xbf46, 0xe9f9, 0x003f, 0xe9ed, 0xe9f2, 0x003f, 0xe9fd,
    +    0xbf45, 0xbf42, 0xbefc, 0xbf40, 0xe9f1, 0x003f, 0xe5fd, 0xe9ec,
    +    0xe9ef, 0xea41, 0xe9f4, 0xe9ea, 0xed4e, 0xea43, 0xe9ee, 0xe9fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xed51, 0xc0e3, 0x003f, 0x003f,
    +    0xc0d7, 0x003f, 0x003f, 0xc0db, 0xed53, 0xed59, 0xed57, 0xc0d9,
    +    0xc0da, 0xc0e1, 0xed5a, 0xed52, 0xc0dc, 0x003f, 0xed56, 0xed55,
    +    0xed5b, 0xc0e2, 0x003f, 0xc0dd, 0xc0e0, 0xed54, 0xc0e4, 0xc0de,
    +    0xc0e5, 0xc0d8, 0xed58, 0x003f, 0xed50, 0x003f, 0x003f, 0xeff7,
    +    0x003f, 0x003f, 0xc271, 0xeff4, 0xeff6, 0x003f, 0xc26f, 0xeff2,
    +    /* 0x7000 .. 0x70ff */
    +    0xeff3, 0xefee, 0x003f, 0x003f, 0xe9f6, 0xefef, 0xc270, 0xefeb,
    +    0x003f, 0xc26d, 0xeff8, 0xc26e, 0xefec, 0xefed, 0xeff1, 0xc273,
    +    0x003f, 0xc272, 0x003f, 0x003f, 0xeff0, 0xc378, 0xf25f, 0xf265,
    +    0xc379, 0xf25c, 0xc376, 0xc373, 0xf267, 0xc377, 0x003f, 0xc374,
    +    0xf25e, 0xf261, 0xf262, 0xf263, 0xf266, 0x003f, 0xeff5, 0xf25d,
    +    0xc375, 0xf264, 0xf268, 0xf260, 0x003f, 0x003f, 0x003f, 0xf45d,
    +    0xc46a, 0xf460, 0xc46b, 0xf468, 0xf45f, 0xf45c, 0x003f, 0xf45e,
    +    0xf462, 0xf465, 0xf464, 0xf467, 0xf45b, 0x003f, 0xc469, 0xf463,
    +    0xf466, 0xf469, 0xf461, 0xf5d3, 0xf5d4, 0xf5d8, 0xf5d9, 0x003f,
    +    0xf5d6, 0xf5d7, 0xf5d5, 0x003f, 0xc4e9, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc578, 0xf6eb, 0x003f, 0x003f, 0xf6e8, 0xf6e9, 0xf6ea,
    +    0xc579, 0x003f, 0xf7e5, 0xf7e4, 0x003f, 0xf8af, 0xc5f4, 0xf8ad,
    +    0xf8b0, 0xf8ae, 0xf8f5, 0xc657, 0xc665, 0xf9a3, 0xf96c, 0x003f,
    +    0xf9a2, 0xf9d0, 0xf9d1, 0xa4f5, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa6c7, 0xca41, 0x003f, 0x003f, 0xcb5e, 0x003f, 0xa85f, 0x003f,
    +    0xa862, 0x003f, 0xcb5f, 0x003f, 0xa860, 0xa861, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcd58, 0xcd5a, 0xcd55, 0xcd52, 0xcd54, 0x003f,
    +    0x003f, 0x003f, 0xaaa4, 0x003f, 0x003f, 0x003f, 0xaaa2, 0x003f,
    +    0x003f, 0xcd56, 0xaaa3, 0xcd53, 0xcd50, 0xaaa1, 0xcd57, 0x003f,
    +    0xcd51, 0xaaa5, 0xcd59, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfaf,
    +    0x003f, 0xcfb3, 0x003f, 0x003f, 0xacb7, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcfb6, 0x003f, 0xacaf, 0xacb2, 0xacb4, 0xacb6, 0xacb3,
    +    0xcfb2, 0xcfb1, 0x003f, 0xacb1, 0xcfb4, 0xcfb5, 0x003f, 0xcfae,
    +    0xacb5, 0x003f, 0xacb0, 0x003f, 0x003f, 0x003f, 0xcfb0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd277, 0xd278, 0xd279,
    +    0xaf50, 0x003f, 0xaf4c, 0xd26e, 0x003f, 0xd276, 0xd27b, 0xaf51,
    +    0x003f, 0xd26c, 0xd272, 0xd26b, 0xd275, 0x003f, 0x003f, 0xd271,
    +    0xaf4d, 0xaf4f, 0xd27a, 0x003f, 0xd26a, 0xd26d, 0xd273, 0x003f,
    +    0xd274, 0xd27c, 0xd270, 0x003f, 0xaf4e, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb26d,
    +    0xd64e, 0x003f, 0x003f, 0xd650, 0xd64c, 0x003f, 0xd658, 0xd64a,
    +    0xd657, 0xb269, 0xd648, 0xda5b, 0xd652, 0xb26c, 0x003f, 0xd653,
    +    /* 0x7100 .. 0x71ff */
    +    0xd656, 0x003f, 0xd65a, 0x003f, 0xd64f, 0x003f, 0xd654, 0x003f,
    +    0x003f, 0xb26a, 0xb26b, 0xd659, 0xd64d, 0xd649, 0xd65b, 0x003f,
    +    0xd651, 0x003f, 0x003f, 0xd655, 0x003f, 0x003f, 0x003f, 0xd64b,
    +    0x003f, 0xb548, 0xb549, 0xda65, 0xb54f, 0x003f, 0xda59, 0xda62,
    +    0xda58, 0xb54c, 0xda60, 0xda5e, 0x003f, 0xda5f, 0xb54a, 0x003f,
    +    0xda63, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xda5c, 0xda5a,
    +    0xb54b, 0xda5d, 0xda61, 0x003f, 0x003f, 0x003f, 0xb54d, 0x003f,
    +    0x003f, 0x003f, 0xda64, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xde70, 0xde77, 0xde79, 0xdea1, 0x003f, 0xb7da, 0xde6b,
    +    0x003f, 0xb7d2, 0x003f, 0xde7a, 0xb7d7, 0xdea2, 0xb7ce, 0x003f,
    +    0xde7d, 0x003f, 0xde6d, 0xde7e, 0xde6c, 0x003f, 0xb7dc, 0x003f,
    +    0xde78, 0xb7cf, 0xdea3, 0x003f, 0xb7d4, 0xde71, 0xb7d9, 0xde7c,
    +    0xde6f, 0xde76, 0xde72, 0xde6e, 0xb7d1, 0xb7d8, 0xb7d6, 0xb7d3,
    +    0xb7db, 0xb7d0, 0xde75, 0x003f, 0xb7d5, 0x003f, 0xb54e, 0x003f,
    +    0xde7b, 0x003f, 0xde73, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xde74, 0x003f, 0x003f, 0xe2c1, 0x003f, 0xbab4, 0x003f, 0x003f,
    +    0xe2bd, 0xe2c3, 0xe2bf, 0x003f, 0xbab6, 0xe2be, 0xe2c2, 0xe2ba,
    +    0x003f, 0xe2bc, 0xbab5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c0,
    +    0xe2bb, 0x003f, 0xbab7, 0x003f, 0xbab2, 0x003f, 0x003f, 0xe2c4,
    +    0x003f, 0xbab3, 0xe667, 0xe664, 0xe670, 0xe66a, 0xe66c, 0xbcf4,
    +    0xe666, 0xe66e, 0x003f, 0x003f, 0xe66d, 0xe66b, 0x003f, 0xe671,
    +    0xbcf7, 0xe668, 0xe66f, 0x003f, 0xbcf5, 0x003f, 0x003f, 0xe663,
    +    0xe665, 0xbcf6, 0xe662, 0xe672, 0x003f, 0xe669, 0x003f, 0x003f,
    +    0xea4a, 0xbf51, 0x003f, 0x003f, 0xea55, 0xea53, 0xbf4b, 0xea49,
    +    0xea4c, 0xea4d, 0xea48, 0xbf55, 0xbf56, 0xea47, 0xea56, 0xea51,
    +    0xbf4f, 0xbf4c, 0xea50, 0xea4e, 0x003f, 0x003f, 0xbf52, 0xea52,
    +    0xbf4d, 0x003f, 0xbf4e, 0x003f, 0xea4f, 0xbf50, 0xea4b, 0x003f,
    +    0xea54, 0xbf53, 0xea57, 0xea58, 0xbf54, 0x003f, 0x003f, 0xc0e7,
    +    0xc0ee, 0xed5c, 0xed62, 0x003f, 0xed60, 0xc0ea, 0xc0e9, 0xc0e6,
    +    0xed5e, 0x003f, 0x003f, 0x003f, 0xc0ec, 0xc0eb, 0xc0e8, 0x003f,
    +    0xed61, 0xed5d, 0xed5f, 0x003f, 0xc0ed, 0x003f, 0x003f, 0x003f,
    +    0xc277, 0xeffb, 0x003f, 0xc274, 0xc275, 0xeffd, 0xc276, 0xeffa,
    +    /* 0x7200 .. 0x72ff */
    +    0x003f, 0xeff9, 0xf26c, 0xeffc, 0x003f, 0xf26d, 0xc37a, 0xf26b,
    +    0x003f, 0x003f, 0xf26a, 0x003f, 0xf269, 0xc37b, 0x003f, 0x003f,
    +    0xc46c, 0x003f, 0x003f, 0xf46a, 0xf46b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf5dc, 0xf5db, 0xc4ea, 0x003f, 0xf5da, 0xf6ec, 0xf6ed,
    +    0x003f, 0x003f, 0xf7e6, 0xf8b1, 0x003f, 0x003f, 0xf8f6, 0xf9bc,
    +    0xc679, 0xf9c6, 0xa4f6, 0x003f, 0xaaa6, 0xaaa7, 0x003f, 0x003f,
    +    0xacb8, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0ef, 0xa4f7, 0x003f,
    +    0xaaa8, 0xaf52, 0xb7dd, 0xa4f8, 0x003f, 0xb26e, 0xbab8, 0xc962,
    +    0x003f, 0xcfb7, 0xd27d, 0x003f, 0xe2c5, 0x003f, 0xc0f0, 0xa4f9,
    +    0xaaa9, 0xcfb8, 0xcfb9, 0xda66, 0xb550, 0x003f, 0x003f, 0xdea4,
    +    0x003f, 0x003f, 0xb7de, 0xe2c6, 0x003f, 0x003f, 0xbcf8, 0x003f,
    +    0xc37c, 0xa4fa, 0xda67, 0xa4fb, 0x003f, 0xa6c9, 0xca42, 0xa6c8,
    +    0xa865, 0xa864, 0xa863, 0xcb60, 0x003f, 0x003f, 0x003f, 0xaaaa,
    +    0x003f, 0xaaab, 0xcd5b, 0x003f, 0xcfba, 0x003f, 0xcfbd, 0xacba,
    +    0xcfbb, 0x003f, 0xacb9, 0xcfbc, 0xacbb, 0x003f, 0xd2a2, 0xd2a1,
    +    0xd27e, 0xaf53, 0x003f, 0xd65d, 0xd65e, 0xb26f, 0xd65c, 0xd65f,
    +    0xb552, 0xb270, 0x003f, 0x003f, 0xb551, 0xda6b, 0xda6a, 0x003f,
    +    0xda68, 0xda69, 0x003f, 0xda6c, 0xdea6, 0xdea5, 0xdea9, 0x003f,
    +    0xdea8, 0xdea7, 0xbab9, 0xe2c9, 0x003f, 0xe2c8, 0xbaba, 0xe2c7,
    +    0xe673, 0x003f, 0xe674, 0xbcf9, 0x003f, 0xea59, 0xea5a, 0x003f,
    +    0x003f, 0xf272, 0xc37d, 0xf271, 0xf270, 0xf26e, 0xf26f, 0xc4eb,
    +    0xf46c, 0xf6ee, 0xf8f7, 0x003f, 0xa4fc, 0x003f, 0xc9a5, 0xa5c7,
    +    0xc9a6, 0x003f, 0x003f, 0x003f, 0xca43, 0xca44, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcb66, 0x003f, 0x003f, 0xcb62, 0x003f, 0xcb61,
    +    0xaaac, 0xcb65, 0xa867, 0xcb63, 0xa866, 0xcb67, 0xcb64, 0x003f,
    +    0x003f, 0xcd5f, 0xcfbe, 0xcd5d, 0xcd64, 0x003f, 0xaaad, 0x003f,
    +    0xaab0, 0xcd65, 0xcd61, 0x003f, 0xcd62, 0x003f, 0xcd5c, 0xaaaf,
    +    0xcd5e, 0xaaae, 0xcd63, 0x003f, 0xcd60, 0x003f, 0x003f, 0xcfc2,
    +    0xacbd, 0xacbe, 0x003f, 0xcfc5, 0xcfbf, 0x003f, 0xcfc4, 0x003f,
    +    0xcfc0, 0xacbc, 0xcfc3, 0xcfc1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd2a8, 0xd2a5, 0x003f, 0xd2a7, 0xaf58,
    +    0xaf57, 0xaf55, 0xd2a4, 0xd2a9, 0xaf54, 0xaf56, 0xd2a6, 0xd667,
    +    /* 0x7300 .. 0x73ff */
    +    0xd2a3, 0xd2aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd662,
    +    0xd666, 0x003f, 0xd665, 0xda6e, 0xda79, 0x003f, 0x003f, 0xd668,
    +    0x003f, 0xd663, 0xda6d, 0xb274, 0x003f, 0x003f, 0xb273, 0xd661,
    +    0xd664, 0xb275, 0x003f, 0xb272, 0xb271, 0xd660, 0xd669, 0x003f,
    +    0x003f, 0x003f, 0xda70, 0xda77, 0x003f, 0xb554, 0xda76, 0xda73,
    +    0x003f, 0xb556, 0x003f, 0x003f, 0x003f, 0xda75, 0x003f, 0x003f,
    +    0xda6f, 0xda71, 0xda74, 0xda72, 0xb555, 0xda78, 0xb553, 0xb7df,
    +    0x003f, 0x003f, 0xdead, 0xdeac, 0xdeaa, 0x003f, 0xb7e2, 0xb7e1,
    +    0xdeae, 0x003f, 0xdeab, 0xe2ca, 0xbabb, 0xb7e0, 0x003f, 0x003f,
    +    0x003f, 0xdeb0, 0xdeaf, 0x003f, 0xe2cd, 0xe2cb, 0xbcfa, 0x003f,
    +    0xbabc, 0xe2cc, 0xe676, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcfb,
    +    0xe675, 0xe67e, 0xe67d, 0xe67b, 0x003f, 0xe67a, 0xe677, 0xe678,
    +    0xe679, 0xe67c, 0xe6a1, 0x003f, 0x003f, 0xea5f, 0xea5c, 0xea5d,
    +    0xbf57, 0xea5b, 0xea61, 0xea60, 0xea5e, 0x003f, 0xed64, 0xed65,
    +    0xc0f1, 0x003f, 0xc0f2, 0xed63, 0x003f, 0xc279, 0xeffe, 0xc278,
    +    0xc37e, 0x003f, 0xc3a1, 0xc46d, 0xf46e, 0xf46d, 0xf5dd, 0xf6ef,
    +    0xc57a, 0xf7e8, 0xf7e7, 0xf7e9, 0xa5c8, 0xcfc6, 0xaf59, 0xb276,
    +    0xd66a, 0xa5c9, 0xc9a7, 0xa4fd, 0x003f, 0x003f, 0xca45, 0x003f,
    +    0x003f, 0x003f, 0xcb6c, 0xcb6a, 0xcb6b, 0xcb68, 0xa868, 0xcb69,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcd6d, 0x003f, 0xaab3,
    +    0xcd6b, 0xcd67, 0xcd6a, 0x003f, 0xcd66, 0xaab5, 0xcd69, 0x003f,
    +    0xaab2, 0xaab1, 0x003f, 0xaab4, 0xcd6c, 0xcd68, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xacc2, 0xacc5, 0xcfce, 0xcfcd, 0xcfcc, 0xacbf,
    +    0xcfd5, 0xcfcb, 0x003f, 0xacc1, 0xd2af, 0x003f, 0xcfd2, 0xcfd0,
    +    0xacc4, 0x003f, 0xcfc8, 0xcfd3, 0x003f, 0xcfca, 0xcfd4, 0xcfd1,
    +    0xcfc9, 0x003f, 0xacc0, 0xcfd6, 0xcfc7, 0xacc3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd2b4, 0xd2ab, 0xd2b6, 0x003f, 0xd2ae, 0xd2b9,
    +    0xd2ba, 0xd2ac, 0xd2b8, 0xd2b5, 0xd2b3, 0xd2b7, 0xaf5f, 0x003f,
    +    0xaf5d, 0x003f, 0x003f, 0xd2b1, 0x003f, 0xd2ad, 0x003f, 0xd2b0,
    +    0xd2bb, 0xd2b2, 0xaf5e, 0xcfcf, 0x003f, 0xaf5a, 0xaf5c, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd678, 0xd66d, 0xd66b, 0x003f,
    +    0xd66c, 0x003f, 0xd673, 0x003f, 0xd674, 0xd670, 0xb27b, 0xd675,
    +    /* 0x7400 .. 0x74ff */
    +    0xd672, 0xd66f, 0x003f, 0xb279, 0xd66e, 0xb277, 0xb27a, 0xd671,
    +    0xd679, 0xaf5b, 0xb278, 0xd677, 0xd676, 0xb27c, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xda7e, 0x003f,
    +    0x003f, 0x003f, 0xdaa1, 0xb560, 0x003f, 0xdaa7, 0x003f, 0x003f,
    +    0xdaa9, 0xdaa2, 0xb55a, 0xdaa6, 0xdaa5, 0xb55b, 0xb561, 0x003f,
    +    0xb562, 0xdaa8, 0xb558, 0xda7d, 0xda7b, 0xdaa3, 0xda7a, 0xb55f,
    +    0xda7c, 0xdaa4, 0xdaaa, 0xb559, 0xb55e, 0xb55c, 0xb55d, 0x003f,
    +    0x003f, 0x003f, 0xb557, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7e9,
    +    0xdeb7, 0xb7e8, 0xdebb, 0x003f, 0xdeb1, 0x003f, 0xdebc, 0x003f,
    +    0x003f, 0x003f, 0xdeb2, 0xdeb3, 0x003f, 0xdebd, 0xdeba, 0xdeb8,
    +    0xdeb9, 0xdeb5, 0xdeb4, 0x003f, 0xdebe, 0xb7e5, 0x003f, 0xdeb6,
    +    0x003f, 0xb7ea, 0xb7e4, 0xb7eb, 0xb7ec, 0x003f, 0xb7e7, 0xb7e6,
    +    0x003f, 0x003f, 0xe2ce, 0xbabe, 0xbabd, 0x003f, 0x003f, 0xe2d3,
    +    0x003f, 0xbcfc, 0xbabf, 0x003f, 0x003f, 0xbac1, 0xe2d4, 0xb7e3,
    +    0xbac0, 0xe2d0, 0xe2d2, 0xe2cf, 0x003f, 0xe2d1, 0x003f, 0x003f,
    +    0x003f, 0xe6ab, 0x003f, 0x003f, 0xe6aa, 0xe6a7, 0xbd40, 0xea62,
    +    0xbd41, 0xe6a6, 0x003f, 0xbcfe, 0x003f, 0xe6a8, 0xe6a5, 0xe6a2,
    +    0xe6a9, 0xe6a3, 0xe6a4, 0xbcfd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xed69, 0x003f, 0xea66, 0x003f, 0xea65, 0xea67, 0x003f, 0xed66,
    +    0xbf5a, 0x003f, 0xea63, 0x003f, 0xbf58, 0x003f, 0xbf5c, 0xbf5b,
    +    0xea64, 0xea68, 0x003f, 0xbf59, 0x003f, 0xed6d, 0xc0f5, 0xc27a,
    +    0xc0f6, 0xc0f3, 0xed6a, 0xed68, 0x003f, 0xed6b, 0x003f, 0xed6e,
    +    0xc0f4, 0xed6c, 0xed67, 0x003f, 0x003f, 0xf042, 0xf045, 0xf275,
    +    0xf040, 0x003f, 0xf46f, 0xf046, 0x003f, 0xc3a2, 0xf044, 0xc27b,
    +    0xf041, 0xf043, 0xf047, 0xf276, 0x003f, 0xf274, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc3a3, 0xf273, 0x003f, 0x003f, 0x003f, 0xc46e,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xc4ed, 0xf6f1, 0xc4ec, 0xf6f3,
    +    0xf6f0, 0xf6f2, 0xc5d0, 0xf8b2, 0xa5ca, 0xcd6e, 0xd2bc, 0xd2bd,
    +    0xb27d, 0xdebf, 0xbf5d, 0xc3a4, 0xc57b, 0xf8b3, 0xa5cb, 0x003f,
    +    0xcd6f, 0xa260, 0x003f, 0x003f, 0xcfd7, 0x003f, 0xcfd8, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd2be, 0xd2bf, 0xb27e, 0xb2a1,
    +    0x003f, 0x003f, 0x003f, 0xdaab, 0x003f, 0xdec2, 0xdec1, 0xdec0,
    +    /* 0x7500 .. 0x75ff */
    +    0xe2d5, 0x003f, 0xe2d6, 0xe2d7, 0xbac2, 0x003f, 0x003f, 0xe6ad,
    +    0xe6ac, 0x003f, 0x003f, 0xea69, 0xbf5e, 0xbf5f, 0x003f, 0xed72,
    +    0xed6f, 0xed70, 0xed71, 0xf049, 0xf048, 0xc27c, 0xf277, 0xf5de,
    +    0xa5cc, 0x003f, 0xacc6, 0x003f, 0xb2a2, 0xdec3, 0x003f, 0xa5cd,
    +    0x003f, 0xd2c0, 0xb2a3, 0x003f, 0x003f, 0xb563, 0xb564, 0x003f,
    +    0xa5ce, 0xa5cf, 0xca46, 0xa86a, 0xa869, 0xacc7, 0xcfd9, 0xdaac,
    +    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0x003f, 0x003f, 0x003f, 0xa86b,
    +    0xa86c, 0xcb6e, 0xcb6d, 0x003f, 0x003f, 0xaab6, 0xcd72, 0xcd70,
    +    0xcd71, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfda,
    +    0xcfdb, 0x003f, 0x003f, 0xaccb, 0xacc9, 0x003f, 0xacca, 0xacc8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xaf60, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xaf64, 0xaf63, 0xd2c1, 0xaf62, 0xaf61, 0x003f, 0xd2c2,
    +    0x003f, 0x003f, 0xb2a6, 0xd67b, 0xd67a, 0xb2a4, 0xb2a5, 0x003f,
    +    0x003f, 0x003f, 0xb566, 0xb565, 0xdaae, 0x003f, 0x003f, 0xdaad,
    +    0xb2a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7ed, 0xdec5,
    +    0xb7ee, 0xdec4, 0x003f, 0x003f, 0x003f, 0xe2d8, 0xe6ae, 0xbd42,
    +    0xea6a, 0x003f, 0x003f, 0x003f, 0xed73, 0x003f, 0xc3a6, 0xc3a5,
    +    0x003f, 0x003f, 0xc57c, 0xa5d4, 0xcd73, 0x003f, 0x003f, 0xb2a8,
    +    0xe2d9, 0xbac3, 0x003f, 0x003f, 0xcb6f, 0xcb70, 0x003f, 0x003f,
    +    0xcd74, 0xaab8, 0xaab9, 0x003f, 0x003f, 0xaab7, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xaccf, 0xacd0, 0xaccd, 0xacce, 0x003f, 0xcfdc,
    +    0x003f, 0x003f, 0xcfdd, 0xaccc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2c3, 0x003f, 0xaf68, 0xaf69, 0x003f, 0xb2ab, 0xd2c9, 0x003f,
    +    0xaf6e, 0xaf6c, 0xd2ca, 0xd2c5, 0xaf6b, 0xaf6a, 0xaf65, 0xd2c8,
    +    0xd2c7, 0xd2c4, 0xaf6d, 0x003f, 0xd2c6, 0xaf66, 0x003f, 0xaf67,
    +    0x003f, 0x003f, 0xb2ac, 0xd6a1, 0xd6a2, 0xb2ad, 0xd67c, 0xd67e,
    +    0xd6a4, 0xd6a3, 0xd67d, 0x003f, 0xb2a9, 0xb2aa, 0x003f, 0xdab6,
    +    0xb56b, 0xb56a, 0xdab0, 0xb568, 0x003f, 0xdab3, 0xb56c, 0xdab4,
    +    0xb56d, 0xdab1, 0xb567, 0xb569, 0xdab5, 0x003f, 0xdab2, 0xdaaf,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xded2, 0x003f, 0xdec7,
    +    0xb7f0, 0xb7f3, 0xb7f2, 0xb7f7, 0xb7f6, 0xded3, 0xded1, 0xdeca,
    +    0xdece, 0xdecd, 0xb7f4, 0xded0, 0xdecc, 0xded4, 0xdecb, 0xb7f5,
    +    /* 0x7600 .. 0x76ff */
    +    0xb7ef, 0xb7f1, 0x003f, 0xdec9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe2db, 0xbac7, 0xe2df, 0xbac6, 0xe2dc, 0xbac5, 0x003f, 0xdec8,
    +    0xdecf, 0xe2de, 0x003f, 0xbac8, 0xe2e0, 0xe2dd, 0xe2da, 0x003f,
    +    0x003f, 0xe6b1, 0xe6b5, 0xe6b7, 0xe6b3, 0xe6b2, 0xe6b0, 0xbd45,
    +    0xbd43, 0xbd48, 0xbd49, 0xe6b4, 0xbd46, 0xe6af, 0xbd47, 0xbac4,
    +    0xe6b6, 0xbd44, 0x003f, 0x003f, 0x003f, 0xea6c, 0x003f, 0xea6b,
    +    0xea73, 0xea6d, 0xea72, 0xea6f, 0xbf60, 0xea71, 0x003f, 0x003f,
    +    0xbf61, 0x003f, 0xbf62, 0x003f, 0xea70, 0xea6e, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xc0f8, 0xed74, 0x003f, 0x003f, 0xc0f7, 0xed77,
    +    0xed75, 0xed76, 0x003f, 0x003f, 0xc0f9, 0x003f, 0x003f, 0x003f,
    +    0xf04d, 0x003f, 0xc2a1, 0xf04e, 0x003f, 0x003f, 0xc27d, 0xf04f,
    +    0xc27e, 0xf04c, 0xf050, 0x003f, 0xf04a, 0x003f, 0x003f, 0xc3a7,
    +    0xf278, 0xc3a8, 0xc46f, 0x003f, 0xf04b, 0xc470, 0x003f, 0x003f,
    +    0x003f, 0xc4ee, 0xf5df, 0x003f, 0xc57e, 0xf6f4, 0xc57d, 0x003f,
    +    0xf7ea, 0xc5f5, 0xc5f6, 0x003f, 0x003f, 0xf9cc, 0x003f, 0x003f,
    +    0xacd1, 0xcfde, 0x003f, 0xb56e, 0xb56f, 0xa5d5, 0xa6ca, 0xca47,
    +    0x003f, 0xcb71, 0xa86d, 0x003f, 0xaaba, 0x003f, 0xacd2, 0xacd3,
    +    0xacd4, 0xd6a6, 0xd2cb, 0xaf6f, 0x003f, 0x003f, 0xb2ae, 0xd6a5,
    +    0x003f, 0x003f, 0xdab8, 0xb571, 0x003f, 0xdab7, 0xb570, 0x003f,
    +    0x003f, 0xded5, 0xbd4a, 0xe6bb, 0xe6b8, 0xe6b9, 0xe6ba, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xed78, 0x003f, 0xf051, 0x003f,
    +    0x003f, 0x003f, 0xf471, 0xf470, 0x003f, 0xf6f5, 0xa5d6, 0xcd75,
    +    0xaf70, 0x003f, 0x003f, 0x003f, 0xb572, 0xded6, 0x003f, 0x003f,
    +    0xe2e1, 0x003f, 0xbd4b, 0xea74, 0x003f, 0xf052, 0xf472, 0xa5d7,
    +    0x003f, 0x003f, 0xaabb, 0xacd7, 0xcfdf, 0xacd8, 0xacd6, 0x003f,
    +    0xacd5, 0xd2cc, 0xaf71, 0x003f, 0x003f, 0xaf72, 0xaf73, 0x003f,
    +    0x003f, 0x003f, 0xb2b0, 0xd6a7, 0xb2af, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xdab9, 0xb2b1, 0xb573, 0xded7, 0xb7f8, 0xb7f9,
    +    0x003f, 0xbac9, 0x003f, 0xbaca, 0xbd4c, 0xbf64, 0xea75, 0xbf63,
    +    0x003f, 0xed79, 0xc0fa, 0x003f, 0xf053, 0xf473, 0xa5d8, 0xa86e,
    +    0xcd78, 0xcd77, 0xaabc, 0xcd76, 0xaabd, 0xcd79, 0x003f, 0xcfe5,
    +    0xacdb, 0xacda, 0xcfe7, 0xcfe6, 0xacdf, 0x003f, 0xacde, 0x003f,
    +    /* 0x7700 .. 0x77ff */
    +    0x003f, 0xacd9, 0x003f, 0xcfe1, 0xcfe2, 0xcfe3, 0x003f, 0xace0,
    +    0xcfe0, 0xacdc, 0xcfe4, 0xacdd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2cf, 0xd2d3, 0xd2d1, 0xd2d0, 0x003f, 0xd2d4, 0x003f, 0x003f,
    +    0x003f, 0xd2d5, 0xd2d6, 0xd2ce, 0x003f, 0xd2cd, 0x003f, 0xaf75,
    +    0xaf76, 0x003f, 0xd2d7, 0xd2d2, 0x003f, 0xd6b0, 0x003f, 0xd2d8,
    +    0xaf77, 0xaf74, 0x003f, 0x003f, 0x003f, 0xd6aa, 0x003f, 0xd6a9,
    +    0x003f, 0xd6ab, 0xd6ac, 0xd6ae, 0xd6ad, 0xd6b2, 0xb2b5, 0xb2b2,
    +    0xb2b6, 0xd6a8, 0xb2b7, 0xd6b1, 0xb2b4, 0xd6af, 0xb2b3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdabc, 0xdabe, 0xdaba, 0xdabb,
    +    0x003f, 0x003f, 0xdabf, 0xdac1, 0xdac2, 0xdabd, 0xdac0, 0xb574,
    +    0x003f, 0x003f, 0xdedb, 0x003f, 0xdee0, 0xded8, 0xdedc, 0x003f,
    +    0x003f, 0xdee1, 0xdedd, 0xb7fa, 0xb843, 0x003f, 0xb7fd, 0xded9,
    +    0xdeda, 0xbace, 0xb846, 0xb7fe, 0x003f, 0xb844, 0xb7fc, 0xdedf,
    +    0xb845, 0xdede, 0xb841, 0xb7fb, 0xb842, 0xdee2, 0xe2e6, 0xe2e8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb840, 0x003f, 0x003f, 0xe2e3, 0xbacc, 0xe2e9, 0xbacd,
    +    0xe2e7, 0xe2e2, 0xe2e5, 0xe2ea, 0xbacb, 0xe2e4, 0x003f, 0xbd4e,
    +    0xe6bf, 0xe6be, 0x003f, 0xbd51, 0xbd4f, 0xe6bc, 0xbd4d, 0xe6bd,
    +    0x003f, 0xbd50, 0x003f, 0x003f, 0x003f, 0xea7d, 0x003f, 0xeaa1,
    +    0x003f, 0xea7e, 0xea76, 0xea7a, 0xea79, 0xea77, 0xbf66, 0xbf67,
    +    0xbf65, 0xea78, 0xea7b, 0xea7c, 0x003f, 0xbf68, 0x003f, 0xc140,
    +    0xeda3, 0x003f, 0xc0fc, 0xed7b, 0xc0fe, 0xc141, 0x003f, 0x003f,
    +    0xc0fd, 0xeda2, 0xed7c, 0xc0fb, 0xeda1, 0xed7a, 0xed7e, 0xed7d,
    +    0x003f, 0x003f, 0xf055, 0xc2a4, 0xc2a5, 0xc2a2, 0x003f, 0xc2a3,
    +    0x003f, 0x003f, 0xf054, 0x003f, 0xf27b, 0x003f, 0x003f, 0xc3a9,
    +    0x003f, 0xf279, 0xf27a, 0x003f, 0xf474, 0xf477, 0xf475, 0xf476,
    +    0xf5e0, 0x003f, 0x003f, 0xc4ef, 0xf7eb, 0xf8b4, 0x003f, 0xc5f7,
    +    0xf8f8, 0xf8f9, 0xc666, 0xa5d9, 0xace1, 0x003f, 0xdac3, 0x003f,
    +    0xdee3, 0x003f, 0xa5da, 0xa86f, 0x003f, 0xaabe, 0x003f, 0xcfe8,
    +    0xcfe9, 0xaf78, 0x003f, 0x003f, 0xdac4, 0xb575, 0xb847, 0xc142,
    +    0xeda4, 0xf27c, 0xf478, 0xa5db, 0x003f, 0x003f, 0x003f, 0xcda1,
    +    0xcd7a, 0xcd7c, 0xcd7e, 0xcd7d, 0xcd7b, 0xaabf, 0x003f, 0x003f,
    +    /* 0x7800 .. 0x78ff */
    +    0x003f, 0x003f, 0xace2, 0xcff2, 0x003f, 0xcfed, 0xcfea, 0x003f,
    +    0x003f, 0xcff1, 0x003f, 0x003f, 0xace4, 0xace5, 0xcff0, 0xcfef,
    +    0xcfee, 0xcfeb, 0xcfec, 0xcff3, 0xace3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xaf7c, 0x003f, 0xafa4,
    +    0xafa3, 0xd2e1, 0xd2db, 0xd2d9, 0x003f, 0xafa1, 0xd6b9, 0xaf7a,
    +    0xd2de, 0xd2e2, 0xd2e4, 0xd2e0, 0xd2da, 0xafa2, 0xd2df, 0xd2dd,
    +    0xaf79, 0xd2e5, 0xafa5, 0xd2e3, 0xaf7d, 0xd2dc, 0x003f, 0xaf7e,
    +    0xaf7b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb2b9, 0x003f, 0xd6ba, 0x003f, 0x003f,
    +    0xd6b3, 0xd6b5, 0xd6b7, 0x003f, 0xd6b8, 0xd6b6, 0xb2ba, 0x003f,
    +    0xd6bb, 0x003f, 0xd6b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xdac8, 0xb576, 0xdad0, 0x003f,
    +    0xdac5, 0x003f, 0xdad1, 0x003f, 0xdac6, 0xdac7, 0x003f, 0x003f,
    +    0xdacf, 0xdace, 0xdacb, 0xb2b8, 0xb577, 0xdac9, 0xdacc, 0xb578,
    +    0xdacd, 0xdaca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdeee, 0x003f, 0xdef2, 0xb84e, 0x003f, 0xe2f0, 0xb851,
    +    0xdef0, 0xf9d6, 0x003f, 0xdeed, 0xdee8, 0xdeea, 0xdeeb, 0xdee4,
    +    0x003f, 0xb84d, 0x003f, 0x003f, 0xb84c, 0x003f, 0xb848, 0xdee7,
    +    0x003f, 0xb84f, 0x003f, 0xb850, 0xdee6, 0xdee9, 0xdef1, 0xb84a,
    +    0xb84b, 0xdeef, 0xdee5, 0x003f, 0x003f, 0x003f, 0xe2f2, 0xbad0,
    +    0xe2f4, 0xdeec, 0xe2f6, 0xbad4, 0xe2f7, 0xe2f3, 0x003f, 0xbad1,
    +    0xe2ef, 0xbad3, 0xe2ec, 0xe2f1, 0xe2f5, 0xe2ee, 0x003f, 0x003f,
    +    0xb849, 0x003f, 0xe2eb, 0xbad2, 0xe2ed, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbd54, 0xe6c1, 0xbd58, 0x003f, 0xbd56, 0x003f,
    +    0x003f, 0xbacf, 0x003f, 0xe6c8, 0xe6c9, 0xbd53, 0x003f, 0x003f,
    +    0xe6c7, 0xe6ca, 0xbd55, 0xbd52, 0xe6c3, 0xe6c0, 0xe6c5, 0xe6c2,
    +    0xbd59, 0xe6c4, 0x003f, 0x003f, 0xe6c6, 0xbd57, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbf6a, 0xeaa8, 0x003f, 0xeaa2, 0xeaa6, 0xeaac,
    +    0xeaad, 0xeaa9, 0xeaaa, 0xeaa7, 0x003f, 0xeaa4, 0x003f, 0xbf6c,
    +    0xbf69, 0xeaa3, 0xeaa5, 0x003f, 0xbf6b, 0xeaab, 0x003f, 0xc146,
    +    0x003f, 0x003f, 0xedaa, 0xeda5, 0xc145, 0x003f, 0x003f, 0xc143,
    +    0x003f, 0xedac, 0xc144, 0xeda8, 0xeda9, 0xeda6, 0xedad, 0xf056,
    +    /* 0x7900 .. 0x79ff */
    +    0x003f, 0xc147, 0xeda7, 0x003f, 0xedae, 0xedab, 0x003f, 0x003f,
    +    0x003f, 0xf05a, 0x003f, 0x003f, 0xf057, 0x003f, 0xc2a6, 0x003f,
    +    0xf05b, 0xf05d, 0xf05c, 0xf058, 0xf059, 0x003f, 0x003f, 0xf2a3,
    +    0x003f, 0xc3aa, 0x003f, 0xf27e, 0xf2a2, 0xf27d, 0xf2a4, 0x003f,
    +    0x003f, 0xf2a1, 0x003f, 0xf47a, 0xf47d, 0xf479, 0xc471, 0xf47b,
    +    0xf47c, 0xf47e, 0xc472, 0xc474, 0xc473, 0xf5e1, 0x003f, 0xf5e3,
    +    0x003f, 0xf5e2, 0x003f, 0x003f, 0x003f, 0xf6f6, 0x003f, 0x003f,
    +    0xf8b5, 0xf8fa, 0xa5dc, 0x003f, 0x003f, 0xcb72, 0xaac0, 0xcda3,
    +    0xaac1, 0xaac2, 0xcda2, 0x003f, 0xcff8, 0xcff7, 0xace6, 0xace9,
    +    0xace8, 0xace7, 0xcff4, 0xcff6, 0xcff5, 0x003f, 0x003f, 0xd2e8,
    +    0xafa7, 0xd2ec, 0xd2eb, 0xd2ea, 0xd2e6, 0xafa6, 0xafaa, 0xafad,
    +    0x003f, 0x003f, 0xafae, 0xd2e7, 0xd2e9, 0xafac, 0xafab, 0xafa9,
    +    0xafa8, 0xd6c2, 0x003f, 0xd6c0, 0xd6bc, 0xb2bb, 0x003f, 0xd6bd,
    +    0xb2bc, 0xd6be, 0xd6bf, 0xd6c1, 0x003f, 0xb2bd, 0x003f, 0x003f,
    +    0xdad5, 0x003f, 0xdad4, 0xdad3, 0xdad2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdef6, 0xb852, 0x003f, 0xdef3, 0xdef5, 0x003f, 0xb853,
    +    0x003f, 0xb854, 0xdef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe341, 0x003f, 0xe2f9, 0xe2fa, 0x003f, 0xbad7, 0xbad5, 0xbad6,
    +    0xe343, 0x003f, 0xe342, 0xe2fe, 0xe2fd, 0xe2fc, 0xe2fb, 0xe340,
    +    0xe2f8, 0x003f, 0xe6cb, 0xe6d0, 0xe6ce, 0x003f, 0x003f, 0x003f,
    +    0xe6cd, 0xe6cc, 0xe6cf, 0x003f, 0xeaae, 0x003f, 0xbf6d, 0xc148,
    +    0xedb0, 0x003f, 0xc149, 0xedaf, 0xf05f, 0xf05e, 0xc2a7, 0x003f,
    +    0xf2a5, 0xc3ab, 0xf4a1, 0xc5a1, 0xf6f7, 0x003f, 0xf8b7, 0xf8b6,
    +    0xc9a8, 0xacea, 0xaceb, 0xd6c3, 0x003f, 0xb856, 0xa5dd, 0xa872,
    +    0xa871, 0xa870, 0x003f, 0x003f, 0x003f, 0xcda4, 0x003f, 0x003f,
    +    0xaac4, 0xaac3, 0x003f, 0xacee, 0x003f, 0xcffa, 0xcffd, 0xcffb,
    +    0x003f, 0xacec, 0xaced, 0x003f, 0x003f, 0xcff9, 0xcffc, 0x003f,
    +    0xafb5, 0x003f, 0x003f, 0x003f, 0xd2f3, 0xd2f5, 0xd2f4, 0xafb2,
    +    0xd2ef, 0x003f, 0x003f, 0xafb0, 0xafaf, 0x003f, 0xafb3, 0xafb1,
    +    0x003f, 0xafb4, 0xd2f2, 0xd2ed, 0xd2ee, 0xd2f1, 0xd2f0, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6c6, 0xd6c7,
    +    0xd6c5, 0x003f, 0xd6c4, 0xb2be, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7a00 .. 0x7aff */
    +    0xb57d, 0x003f, 0xdad6, 0xdad8, 0xdada, 0xb57c, 0x003f, 0x003f,
    +    0xb57a, 0x003f, 0xdad7, 0xb57b, 0xdad9, 0xb579, 0x003f, 0x003f,
    +    0xdf41, 0xdef7, 0xdefa, 0xdefe, 0xb85a, 0xdefc, 0x003f, 0xdefb,
    +    0xdef8, 0xdef9, 0xb858, 0xdf40, 0xb857, 0x003f, 0xb85c, 0xb85b,
    +    0xb859, 0x003f, 0xdefd, 0x003f, 0x003f, 0x003f, 0xe349, 0x003f,
    +    0xe348, 0x003f, 0x003f, 0xe344, 0x003f, 0x003f, 0xbad8, 0xe347,
    +    0xe346, 0xbad9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbd5e,
    +    0x003f, 0xe6d2, 0x003f, 0xbd5f, 0xbd5b, 0xbd5d, 0x003f, 0xbd5a,
    +    0xbd5c, 0x003f, 0x003f, 0x003f, 0xeaaf, 0x003f, 0xbf70, 0xeab1,
    +    0xeab0, 0x003f, 0xe345, 0xbf72, 0xbf71, 0xbf6e, 0xbf6f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xedb5, 0x003f, 0xedb3, 0xc14a,
    +    0xedb4, 0x003f, 0xedb6, 0xedb2, 0xedb1, 0x003f, 0x003f, 0xf060,
    +    0xc2aa, 0xc2a8, 0xc2a9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a6,
    +    0xf2a7, 0xc3ad, 0x003f, 0xc3ac, 0xf4a3, 0xf4a4, 0xf4a2, 0x003f,
    +    0xf6f8, 0xf6f9, 0x003f, 0x003f, 0xa5de, 0xca48, 0xa873, 0x003f,
    +    0xcda5, 0xaac6, 0xaac5, 0xcda6, 0x003f, 0x003f, 0xd040, 0xacef,
    +    0xcffe, 0xacf0, 0x003f, 0x003f, 0xafb6, 0xd2f8, 0xd2f6, 0xd2fc,
    +    0xafb7, 0xd2f7, 0xd2fb, 0xd2f9, 0xd2fa, 0x003f, 0x003f, 0xd6c8,
    +    0xd6ca, 0x003f, 0xb2bf, 0x003f, 0xd6c9, 0xb2c0, 0xb5a2, 0xb5a1,
    +    0xb57e, 0xdadb, 0x003f, 0x003f, 0x003f, 0x003f, 0xdf44, 0xb85d,
    +    0xb85e, 0x003f, 0xdf43, 0xdf42, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe34a, 0xbadb, 0xbada, 0xe34b, 0xe34c, 0x003f, 0xbd61, 0xbd60,
    +    0x003f, 0xeab5, 0xe6d3, 0xe6d5, 0xe6d4, 0xeab4, 0xeab2, 0xeab6,
    +    0xeab3, 0x003f, 0xbf73, 0x003f, 0x003f, 0x003f, 0xedb7, 0xc14b,
    +    0xedb8, 0xedb9, 0x003f, 0x003f, 0xc2ab, 0xc2ac, 0x003f, 0xc475,
    +    0x003f, 0x003f, 0xc5d1, 0xa5df, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xd041, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd2fd, 0xafb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3ba,
    +    0xb3b9, 0x003f, 0x003f, 0xb5a4, 0xdadd, 0xb5a3, 0xdadc, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdf45, 0x003f, 0xbadc, 0xe34d, 0xbadd,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc476, 0xf4a5,
    +    0x003f, 0xa6cb, 0xaac7, 0xcda7, 0x003f, 0xacf2, 0x003f, 0xacf1,
    +    /* 0x7b00 .. 0x7bff */
    +    0xd042, 0xd043, 0x003f, 0x003f, 0xd340, 0xd342, 0xafb9, 0x003f,
    +    0xd344, 0xd347, 0xd345, 0x003f, 0x003f, 0x003f, 0xd346, 0xd343,
    +    0xd2fe, 0xafba, 0xd348, 0xd341, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd6d3, 0xb2c6, 0xd6dc, 0xb2c3, 0x003f, 0xd6d5, 0xb2c7, 0x003f,
    +    0xb2c1, 0x003f, 0xd6d0, 0xd6dd, 0xd6d1, 0xd6ce, 0xb2c5, 0x003f,
    +    0xb2c2, 0x003f, 0xd6d4, 0xd6d7, 0xb2c4, 0xd6d8, 0xb2c8, 0xd6d9,
    +    0xd6cf, 0xd6d6, 0xd6da, 0xd6d2, 0xd6cd, 0xd6cb, 0x003f, 0x003f,
    +    0xd6db, 0x003f, 0x003f, 0xdadf, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xdae4, 0x003f, 0x003f, 0x003f, 0xdae0, 0xdae6, 0xb5a7, 0xd6cc,
    +    0xdae1, 0xb5a5, 0xdade, 0xb5ac, 0xdae2, 0xb5ab, 0xdae3, 0xb5ad,
    +    0xb5a8, 0xb5ae, 0xb5a9, 0x003f, 0xb5aa, 0x003f, 0xb5a6, 0x003f,
    +    0xdae5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb861, 0xdf50, 0x003f, 0xdf53, 0xdf47, 0xdf4c, 0xdf46, 0xb863,
    +    0x003f, 0xdf4a, 0x003f, 0x003f, 0x003f, 0xdf48, 0xb862, 0x003f,
    +    0xdf4f, 0xdf4e, 0xdf4b, 0xdf4d, 0xdf49, 0xbae1, 0xdf52, 0xb85f,
    +    0xdf51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xe35d, 0x003f, 0xbae8, 0xe358, 0x003f, 0xbae7,
    +    0xe34e, 0x003f, 0xe350, 0xbae0, 0xe355, 0xe354, 0xe357, 0xbae5,
    +    0xe352, 0xe351, 0x003f, 0x003f, 0xbae4, 0xbadf, 0xe353, 0xbae2,
    +    0xe359, 0xe35b, 0x003f, 0xe356, 0xe34f, 0xbae3, 0x003f, 0x003f,
    +    0xbd69, 0xbade, 0x003f, 0x003f, 0xe35c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6d9, 0xbd62, 0x003f, 0xe6db,
    +    0x003f, 0xbd63, 0x003f, 0x003f, 0xbd65, 0xe6de, 0x003f, 0xe6d6,
    +    0xbae6, 0xe6dc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d8, 0x003f,
    +    0xb860, 0xbd68, 0x003f, 0x003f, 0xbd64, 0x003f, 0xbd66, 0xbd67,
    +    0x003f, 0xbf76, 0xe6dd, 0xe6d7, 0xbd6a, 0x003f, 0xe6da, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeac0, 0xeabb, 0x003f, 0x003f,
    +    0xeac5, 0xbf74, 0xeabd, 0xbf78, 0xeac3, 0xeaba, 0xeab7, 0xeac6,
    +    0xc151, 0xbf79, 0xeac2, 0xeab8, 0xbf77, 0xeabc, 0xbf7b, 0xeab9,
    +    0xeabe, 0xbf7a, 0xeac1, 0xeac4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xedcb, 0xedcc, 0xedbc, 0xedc3, 0xedc1, 0x003f, 0x003f, 0xc14f,
    +    0xedc8, 0xeabf, 0x003f, 0xedbf, 0x003f, 0xedc9, 0xc14e, 0xedbe,
    +    /* 0x7c00 .. 0x7cff */
    +    0xedbd, 0xedc7, 0xedc4, 0xedc6, 0x003f, 0xedba, 0xedca, 0xc14c,
    +    0x003f, 0xedc5, 0xedce, 0xedc2, 0xc150, 0xc14d, 0xedc0, 0xedbb,
    +    0xedcd, 0xbf75, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf063, 0x003f, 0x003f, 0xf061, 0xf067, 0xc2b0, 0xf065,
    +    0xf064, 0xc2b2, 0xf06a, 0xc2b1, 0x003f, 0xf06b, 0xf068, 0xc2ae,
    +    0xf069, 0xf062, 0xc2af, 0xc2ad, 0xf2ab, 0xf066, 0x003f, 0x003f,
    +    0xf06c, 0x003f, 0x003f, 0xf2a8, 0x003f, 0x003f, 0x003f, 0xc3b2,
    +    0xc3b0, 0xf2aa, 0x003f, 0xf2ac, 0xf2a9, 0xc3b1, 0xc3ae, 0xc3af,
    +    0xc3b3, 0x003f, 0x003f, 0xc478, 0x003f, 0xf4aa, 0x003f, 0xf4a9,
    +    0xf4a7, 0xf4a6, 0xf4a8, 0x003f, 0xc477, 0xc479, 0x003f, 0x003f,
    +    0xc4f0, 0x003f, 0x003f, 0xf5e5, 0xf5e4, 0x003f, 0x003f, 0xf6fa,
    +    0x003f, 0xf6fc, 0xf6fe, 0xf6fd, 0xf6fb, 0x003f, 0x003f, 0xc5a3,
    +    0xc5a2, 0x003f, 0x003f, 0xc5d3, 0xc5d2, 0xc5d4, 0xf7ed, 0xf7ec,
    +    0x003f, 0xf8fb, 0xf8b8, 0xf8fc, 0xc658, 0x003f, 0xc659, 0xf96d,
    +    0x003f, 0x003f, 0xc67e, 0xa6cc, 0x003f, 0xcda8, 0x003f, 0x003f,
    +    0xd045, 0xd046, 0xd044, 0x003f, 0x003f, 0xacf3, 0x003f, 0xd047,
    +    0xd048, 0xd049, 0x003f, 0x003f, 0xd349, 0xd34f, 0x003f, 0x003f,
    +    0xd34d, 0xafbb, 0xd34b, 0x003f, 0xd34c, 0xd34e, 0x003f, 0x003f,
    +    0x003f, 0xd34a, 0xb2c9, 0x003f, 0xd6de, 0xb2cb, 0xd6e0, 0xb2ca,
    +    0xd6df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdae8, 0xb5af,
    +    0x003f, 0xdaea, 0xdae7, 0xd6e1, 0x003f, 0xb5b0, 0x003f, 0xf9db,
    +    0xdae9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdf56,
    +    0x003f, 0xb864, 0xdf54, 0xb865, 0xdf55, 0xb866, 0x003f, 0x003f,
    +    0x003f, 0xbae9, 0xe361, 0xe35e, 0xe360, 0xbaea, 0xbaeb, 0xe35f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6df, 0x003f, 0x003f,
    +    0xe6e0, 0x003f, 0xbd6b, 0xe6e2, 0xe6e1, 0x003f, 0xa261, 0x003f,
    +    0xeaca, 0xeacb, 0xeac7, 0x003f, 0xeac8, 0xbf7c, 0xbf7d, 0xeac9,
    +    0x003f, 0xc157, 0x003f, 0x003f, 0xc153, 0xc158, 0xc154, 0xc156,
    +    0xc152, 0x003f, 0xc155, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2b3,
    +    0xedcf, 0x003f, 0xf2ae, 0x003f, 0xf2ad, 0x003f, 0xf4ab, 0xc47a,
    +    0xc47b, 0xf741, 0xf5e6, 0x003f, 0xf740, 0x003f, 0xf8fd, 0xf9a4,
    +    0xa6cd, 0x003f, 0x003f, 0xa874, 0x003f, 0xcda9, 0xaac8, 0x003f,
    +    /* 0x7d00 .. 0x7dff */
    +    0xacf6, 0xd04c, 0xacf4, 0xd04a, 0xacf9, 0xacf5, 0xacfa, 0xacf8,
    +    0xd04b, 0xacf7, 0xafbf, 0xafbe, 0xd35a, 0xafc7, 0xd353, 0xd359,
    +    0xafc3, 0xd352, 0xd358, 0xd356, 0xafc2, 0xafc4, 0xd355, 0xafbd,
    +    0xd354, 0xafc8, 0xafc5, 0xafc9, 0xafc6, 0xd351, 0xd350, 0xd357,
    +    0xafc0, 0xafbc, 0xafc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd6f0, 0xd6e9, 0x003f, 0xb5b5, 0xd6e8, 0x003f, 0xb2cf, 0xb2d6,
    +    0xb2d3, 0xb2d9, 0xb2d8, 0xb2d4, 0x003f, 0xd6e2, 0xd6e5, 0x003f,
    +    0xd6e4, 0xb2d0, 0xd6e6, 0xd6ef, 0xb2d1, 0xd6e3, 0xd6ec, 0xd6ed,
    +    0xb2d2, 0xd6ea, 0xb2d7, 0xb2cd, 0xb2d5, 0xd6e7, 0xb2cc, 0xd6eb,
    +    0x003f, 0x003f, 0xd6ee, 0x003f, 0x003f, 0x003f, 0xdafb, 0xdaf2,
    +    0xb5b2, 0xdaf9, 0xdaf6, 0xdaee, 0xdaf7, 0xb5b4, 0xdaef, 0x003f,
    +    0xdaeb, 0x003f, 0x003f, 0xb86c, 0xdaf4, 0x003f, 0xb5b1, 0xdafa,
    +    0x003f, 0xb5b8, 0xb5ba, 0xdaed, 0x003f, 0x003f, 0xb5b9, 0xdaf0,
    +    0xb5b3, 0xdaf8, 0xdaf1, 0xdaf5, 0x003f, 0xdaf3, 0xb5b6, 0xdaec,
    +    0xb5bb, 0xb2ce, 0xb5b7, 0xb5bc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb868, 0xdf5d, 0xdf5f, 0xdf61, 0xdf65, 0x003f, 0xdf5b,
    +    0xdf59, 0xb86a, 0x003f, 0xdf60, 0xdf64, 0xdf5c, 0xdf58, 0x003f,
    +    0xdf57, 0x003f, 0x003f, 0x003f, 0xdf62, 0xdf5a, 0xdf5e, 0xb86b,
    +    0x003f, 0xb869, 0xdf66, 0xb867, 0xdf63, 0x003f, 0xe372, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbaee, 0xe36a, 0xbd78, 0xe374,
    +    0xbaf1, 0xe378, 0xbaf7, 0xe365, 0x003f, 0x003f, 0xe375, 0xe362,
    +    0x003f, 0xe377, 0xe366, 0x003f, 0xbafe, 0xbafb, 0xe376, 0xe370,
    +    0xbaed, 0xbaf5, 0xbaf4, 0x003f, 0xbaf3, 0xbaf9, 0x003f, 0xe363,
    +    0xbafa, 0xe371, 0xbaf6, 0xbaec, 0xe373, 0xbaef, 0xbaf0, 0xbaf8,
    +    0xe368, 0xe367, 0xe364, 0x003f, 0xe36c, 0xe369, 0xe36d, 0xbafd,
    +    0x003f, 0xe379, 0xbaf2, 0xe36e, 0xe36f, 0x003f, 0xe36b, 0x003f,
    +    0x003f, 0x003f, 0xbafc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e7,
    +    0xbd70, 0xbd79, 0xbd75, 0xe6e4, 0x003f, 0xbd72, 0xbd76, 0xe6f0,
    +    0xbd6c, 0xe6e8, 0x003f, 0xbd74, 0x003f, 0x003f, 0xe6eb, 0xe6e6,
    +    0xbd73, 0xbd77, 0xe6e5, 0x003f, 0xbd71, 0x003f, 0xe6ef, 0xbd6e,
    +    0xe6ee, 0xe6ed, 0xbd7a, 0xe572, 0xbd6d, 0x003f, 0xe6ec, 0xe6e3,
    +    0x003f, 0xbd7b, 0xe6ea, 0xbd6f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7e00 .. 0x7eff */
    +    0x003f, 0x003f, 0x003f, 0xe6e9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbfa2, 0xbfa7, 0xbf7e, 0xead8, 0xeacf, 0xeadb, 0xead3, 0xead9,
    +    0xbfa8, 0xbfa1, 0xeacc, 0xead2, 0xeadc, 0xead5, 0xeada, 0xeace,
    +    0x003f, 0x003f, 0xead6, 0xbfa3, 0xead4, 0xbfa6, 0xbfa5, 0xead0,
    +    0xead1, 0xeacd, 0xead7, 0xbfa4, 0xeade, 0xeadd, 0x003f, 0x003f,
    +    0x003f, 0xedda, 0xedd6, 0xc15f, 0x003f, 0xedd0, 0xc159, 0xc169,
    +    0xeddc, 0xc161, 0xc15d, 0xedd3, 0xc164, 0xc167, 0xedde, 0xc15c,
    +    0xedd5, 0xc165, 0xede0, 0xeddd, 0xedd1, 0xc160, 0xc15a, 0xc168,
    +    0xedd8, 0xc163, 0xedd2, 0xc15e, 0xeddf, 0xc162, 0xc15b, 0xedd9,
    +    0xc166, 0xedd7, 0x003f, 0x003f, 0xeddb, 0x003f, 0x003f, 0x003f,
    +    0xf06e, 0xf074, 0xc2b9, 0xf077, 0xc2b4, 0xc2b5, 0xf06f, 0xf076,
    +    0xf071, 0xc2ba, 0xc2b7, 0x003f, 0xf06d, 0x003f, 0xc2b6, 0xf073,
    +    0xf075, 0xc2b8, 0xf072, 0xf070, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf2b8, 0xc3b7, 0xc3b8, 0xc3b4, 0x003f, 0xc3b5, 0x003f, 0xf2b4,
    +    0xf2b2, 0x003f, 0xf2b6, 0xc3ba, 0xf2b7, 0xf2b0, 0xf2af, 0xf2b3,
    +    0xf2b1, 0xc3b6, 0xf2b5, 0xf4ac, 0xc47e, 0xc47d, 0xf4ad, 0x003f,
    +    0xf4af, 0xf4ae, 0xc4a1, 0x003f, 0x003f, 0x003f, 0xf5eb, 0xf5e8,
    +    0xf5e9, 0x003f, 0xf5e7, 0xf5ea, 0xc4f2, 0xf5ec, 0x003f, 0xc4f1,
    +    0x003f, 0xf742, 0x003f, 0xc5d5, 0xc5d7, 0xf7ee, 0xc5d6, 0xf8b9,
    +    0xf940, 0xf942, 0xf8fe, 0xf941, 0xc66c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x7f00 .. 0x7fff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa6ce, 0x003f,
    +    0xacfb, 0xd26f, 0xafca, 0x003f, 0x003f, 0xb2da, 0xdafc, 0xdafd,
    +    0x003f, 0x003f, 0x003f, 0xeadf, 0xc16a, 0xede1, 0x003f, 0x003f,
    +    0xc2bb, 0x003f, 0xf2ba, 0xf2b9, 0xc4a2, 0xf5ed, 0x003f, 0xf743,
    +    0xc5f8, 0xca49, 0x003f, 0x003f, 0xaac9, 0xa875, 0x003f, 0x003f,
    +    0xd04d, 0x003f, 0x003f, 0xd360, 0xd35b, 0xd35f, 0xd35d, 0xafcb,
    +    0xd35e, 0xd35c, 0x003f, 0xd6f1, 0x003f, 0xdafe, 0xdb40, 0xdf69,
    +    0xdf6a, 0xb86e, 0xb86f, 0xdf68, 0xdf6b, 0xdf67, 0xb86d, 0x003f,
    +    0xbb40, 0x003f, 0xb870, 0xe37a, 0x003f, 0xbd7c, 0xe6f1, 0xbd7d,
    +    0x003f, 0xbfa9, 0xeae2, 0xeae0, 0xeae1, 0xede4, 0xede3, 0xede2,
    +    0x003f, 0x003f, 0x003f, 0xf2bb, 0x003f, 0xc3b9, 0xf2bc, 0xf744,
    +    0xc5f9, 0xf8ba, 0xa6cf, 0xaacb, 0xaaca, 0xd04f, 0xacfc, 0x003f,
    +    0x003f, 0xd04e, 0xd362, 0x003f, 0xafcc, 0xd6f2, 0xd361, 0x003f,
    +    0x003f, 0x003f, 0xb2dc, 0xd6f5, 0xd6f3, 0xd6f4, 0xb2db, 0x003f,
    +    0xdb42, 0xdb43, 0xdb41, 0x003f, 0xb873, 0xdf6d, 0xdf6c, 0xdf6e,
    +    0xb872, 0xb871, 0x003f, 0x003f, 0xe6f2, 0xe6f4, 0x003f, 0xbd7e,
    +    0xe6f3, 0xeae3, 0xbfaa, 0xf079, 0x003f, 0xf078, 0xc3bb, 0xf2bd,
    +    0xc3bd, 0xc3bc, 0xf4b0, 0xf5ee, 0xc4f3, 0xa6d0, 0xd050, 0xacfd,
    +    0xd365, 0xafce, 0xd364, 0xd363, 0x003f, 0xafcd, 0x003f, 0xd6fb,
    +    0x003f, 0xd6fd, 0xd6f6, 0xd6f7, 0xb2dd, 0xd6f8, 0xb2de, 0xd6fc,
    +    0xd6f9, 0xd6fa, 0xb2df, 0x003f, 0xb5be, 0xb5bf, 0x003f, 0xdb44,
    +    0x003f, 0x003f, 0x003f, 0xdf6f, 0xdf70, 0x003f, 0xe37e, 0xbb43,
    +    0xbb41, 0xbb42, 0xe37b, 0xe37c, 0x003f, 0xe37d, 0xe6f9, 0x003f,
    +    0xe6fa, 0xbda1, 0xe6f7, 0xe6f6, 0xe6f8, 0xe6f5, 0xbfad, 0xeae4,
    +    0xbfab, 0xbfac, 0xede6, 0xc16b, 0xede5, 0xefa8, 0x003f, 0xf07a,
    +    0xf07b, 0xc2bc, 0x003f, 0xc2bd, 0xc16c, 0xf2be, 0xf2bf, 0xf4b1,
    +    /* 0x8000 .. 0x80ff */
    +    0xc4a3, 0xa6d1, 0x003f, 0xa6d2, 0xacfe, 0xaacc, 0xafcf, 0xd051,
    +    0x003f, 0x003f, 0x003f, 0xb5c0, 0xa6d3, 0xad41, 0xd052, 0xd053,
    +    0xad40, 0xad42, 0xa6d4, 0x003f, 0xd054, 0xafd1, 0xd366, 0xafd3,
    +    0xafd0, 0xafd2, 0x003f, 0xd741, 0xb2e0, 0x003f, 0xd740, 0xd6fe,
    +    0x003f, 0xdf71, 0x003f, 0x003f, 0xe3a1, 0x003f, 0xbda2, 0x003f,
    +    0xbfae, 0xeae6, 0xeae5, 0x003f, 0xede7, 0x003f, 0x003f, 0x003f,
    +    0xf5ef, 0x003f, 0x003f, 0xa6d5, 0xcb73, 0xcdaa, 0xad43, 0xd055,
    +    0x003f, 0xd368, 0x003f, 0x003f, 0x003f, 0xafd4, 0xd367, 0xafd5,
    +    0x003f, 0x003f, 0x003f, 0xd743, 0x003f, 0x003f, 0xb2e2, 0xd742,
    +    0xd744, 0x003f, 0xb2e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xdb46,
    +    0xdb47, 0xdb45, 0xb5c1, 0x003f, 0x003f, 0x003f, 0xb874, 0x003f,
    +    0xb875, 0x003f, 0xbb45, 0x003f, 0xe3a3, 0xe3a2, 0xbb44, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe6fb, 0x003f, 0x003f, 0xe6fc,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xeae7, 0x003f, 0x003f, 0xc170,
    +    0xc16f, 0xc16d, 0xc16e, 0xc171, 0x003f, 0xf07c, 0xc2bf, 0xc2be,
    +    0xf2c0, 0xf4b2, 0x003f, 0x003f, 0x003f, 0xc5a5, 0xc5a4, 0xa6d6,
    +    0x003f, 0x003f, 0xd1fb, 0x003f, 0xb877, 0xb5c2, 0xb876, 0xbb46,
    +    0x003f, 0xa6d7, 0xc9a9, 0xa6d8, 0xa6d9, 0x003f, 0x003f, 0xcdab,
    +    0xcb76, 0x003f, 0xcb77, 0xa877, 0x003f, 0xcb74, 0xa876, 0x003f,
    +    0xa879, 0xcb75, 0xa87b, 0xa87a, 0xcb78, 0xa878, 0x003f, 0x003f,
    +    0x003f, 0xaad1, 0xaacf, 0xcdad, 0x003f, 0xaace, 0x003f, 0x003f,
    +    0x003f, 0xaad3, 0xaad5, 0xaad2, 0x003f, 0xcdb0, 0xcdac, 0xaad6,
    +    0x003f, 0xaad0, 0xa87c, 0x003f, 0xaad4, 0xcdaf, 0x003f, 0x003f,
    +    0xcdae, 0x003f, 0xaacd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd05b, 0xad47, 0xad48, 0xd05d, 0x003f, 0xd057,
    +    0xd05a, 0xd063, 0xd061, 0x003f, 0xad49, 0xd067, 0xad4c, 0xd064,
    +    0xd05c, 0xd059, 0x003f, 0x003f, 0xdb49, 0xd062, 0xad44, 0xd065,
    +    0xd056, 0xd05f, 0xad46, 0xad4b, 0xd060, 0xad4f, 0xad4d, 0x003f,
    +    0xd058, 0xad4a, 0x003f, 0xd05e, 0xad4e, 0xad45, 0xd066, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xafda, 0x003f, 0xafe3,
    +    0xafd8, 0xafd6, 0xd36a, 0xafde, 0xafdb, 0xd36c, 0x003f, 0x003f,
    +    0xafdd, 0xd36b, 0xd369, 0xd36e, 0xafe2, 0xafe0, 0xdb48, 0x003f,
    +    /* 0x8100 .. 0x81ff */
    +    0xd36f, 0xd36d, 0xafd7, 0x003f, 0x003f, 0xafd9, 0xafdc, 0x003f,
    +    0xafdf, 0x003f, 0xafe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd74e, 0xb2e4, 0x003f,
    +    0xd745, 0xd747, 0x003f, 0xd748, 0x003f, 0xd750, 0xd74c, 0xd74a,
    +    0x003f, 0xd74d, 0xd751, 0xb2e5, 0xb2e9, 0xd746, 0x003f, 0xd74f,
    +    0x003f, 0xb2e7, 0x003f, 0xb2e6, 0xd74b, 0xd749, 0x003f, 0xb2e3,
    +    0xb2e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb5c8, 0xdb51, 0x003f, 0x003f, 0xdb4f, 0xb5ca, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdb4a, 0xdfa1, 0x003f, 0xb5c9, 0xdb4e,
    +    0x003f, 0x003f, 0xdb4b, 0xb5c5, 0xb5cb, 0xdb50, 0xb5c7, 0xdb4d,
    +    0xbb47, 0xb5c6, 0xdb4c, 0xb5cc, 0xb5c4, 0xb5c3, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdf77, 0xdf75, 0x003f, 0xdf7b, 0x003f,
    +    0xdf73, 0xdfa2, 0xdf78, 0x003f, 0xdf72, 0xb87b, 0xb8a3, 0xdf7d,
    +    0x003f, 0xdf76, 0x003f, 0xb87e, 0x003f, 0x003f, 0xb87c, 0xdf7e,
    +    0xb879, 0xb878, 0xdf79, 0xb87d, 0xb5cd, 0x003f, 0xdf7c, 0xdf74,
    +    0xb87a, 0xb8a1, 0xb8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbb4c,
    +    0xbb48, 0x003f, 0xbb4d, 0xe3a6, 0x003f, 0x003f, 0xe3a5, 0xe3a7,
    +    0xbb4a, 0xe3a4, 0xbb4b, 0xe3aa, 0xe3a9, 0xe3a8, 0x003f, 0xbb49,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe741, 0x003f, 0xe744,
    +    0xbda8, 0xe743, 0xbda7, 0xbda3, 0xbda4, 0xbda5, 0xe740, 0xe6fe,
    +    0xbda6, 0x003f, 0xe742, 0xe6fd, 0x003f, 0x003f, 0xeae9, 0xeaf3,
    +    0xbfb1, 0xbfb0, 0x003f, 0xeaed, 0xeaef, 0x003f, 0xeaea, 0x003f,
    +    0xeaee, 0xeae8, 0xeaf1, 0xbfaf, 0xeaf0, 0xeaec, 0x003f, 0xeaf2,
    +    0x003f, 0xeaeb, 0xc174, 0xede8, 0xedee, 0xc178, 0xc17a, 0xc177,
    +    0xc176, 0x003f, 0xc175, 0xc173, 0xede9, 0xedec, 0xc172, 0xeded,
    +    0x003f, 0xc179, 0xedeb, 0x003f, 0xedea, 0xc2c0, 0x003f, 0xc2c1,
    +    0xf0a1, 0xf07d, 0xf07e, 0x003f, 0x003f, 0xf2c2, 0x003f, 0xf2c1,
    +    0xc3be, 0xf4b4, 0xc4a4, 0xf4b3, 0x003f, 0xf5f0, 0xf745, 0xc5a6,
    +    0xf943, 0xf944, 0xc5d8, 0xa6da, 0x003f, 0xaad7, 0xdb52, 0xbb4e,
    +    0xc17b, 0xedef, 0xa6db, 0x003f, 0xafe5, 0xafe4, 0xdb53, 0x003f,
    +    0x003f, 0x003f, 0xeaf4, 0xa6dc, 0xad50, 0x003f, 0x003f, 0xdb54,
    +    0xdb55, 0xdb56, 0xbb4f, 0xbfb2, 0xa6dd, 0x003f, 0xaad8, 0xd068,
    +    /* 0x8200 .. 0x82ff */
    +    0xafe6, 0xd370, 0xb2ea, 0x003f, 0xdb57, 0xb8a4, 0x003f, 0xbb50,
    +    0xbfb3, 0xc17c, 0xc2c2, 0xf4b5, 0xa6de, 0xaad9, 0x003f, 0x003f,
    +    0xafe7, 0xd752, 0xb5ce, 0x003f, 0xbb51, 0xe3ab, 0xe745, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa6df, 0xb5cf, 0xdfa3, 0xbb52, 0xa6e0,
    +    0xcdb1, 0xd069, 0xad51, 0x003f, 0x003f, 0xd372, 0x003f, 0x003f,
    +    0xafea, 0x003f, 0xafe8, 0xafe9, 0xafeb, 0x003f, 0x003f, 0xd371,
    +    0x003f, 0x003f, 0xd757, 0xd754, 0xd756, 0xb2eb, 0xb2ed, 0xb2ec,
    +    0xd753, 0xb2ee, 0xd755, 0x003f, 0xdb58, 0xdb59, 0x003f, 0xdb5a,
    +    0xdfa6, 0x003f, 0xdfa7, 0x003f, 0xdfa5, 0xdfa8, 0x003f, 0xb8a5,
    +    0x003f, 0xdfa4, 0x003f, 0xbb53, 0x003f, 0x003f, 0xe74a, 0xe746,
    +    0xe749, 0xe74b, 0xe748, 0xe747, 0x003f, 0xeaf5, 0xeaf6, 0xeaf7,
    +    0xbfb4, 0xbfb5, 0xedf1, 0xedf0, 0xedf2, 0x003f, 0xf0a3, 0xf0a2,
    +    0x003f, 0xf2c4, 0x003f, 0xf2c5, 0xf2c3, 0x003f, 0xc4a5, 0x003f,
    +    0xf4b6, 0xf4b7, 0x003f, 0xf746, 0xf7ef, 0xf8bb, 0xa6e1, 0xa87d,
    +    0x003f, 0xc17d, 0xa6e2, 0x003f, 0xd758, 0xdb5b, 0x003f, 0xc641,
    +    0xca4a, 0x003f, 0x003f, 0x003f, 0xca4b, 0xca4d, 0xa6e3, 0xca4e,
    +    0xca4c, 0x003f, 0x003f, 0xcba2, 0xcba3, 0xcb7b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xcba1, 0xa8a1, 0x003f, 0xa8a2, 0xcb7c, 0xcb7a,
    +    0xcb79, 0xcb7d, 0xa87e, 0xcb7e, 0xd06a, 0x003f, 0x003f, 0x003f,
    +    0xcdb6, 0xaadc, 0xcdb5, 0xcdb7, 0x003f, 0xaadb, 0xcdbc, 0xaadf,
    +    0xcdb2, 0xcdc0, 0xcdc6, 0xaae6, 0xcdc3, 0xaae3, 0x003f, 0xcdb9,
    +    0xcdbf, 0xcdc1, 0x003f, 0xcdb4, 0xaae2, 0xaadd, 0xcdba, 0xaae4,
    +    0xaae7, 0xaae1, 0x003f, 0xaada, 0xcdbe, 0xcdb8, 0xcdc5, 0xaae9,
    +    0xaae5, 0xaae0, 0xcdbd, 0xafec, 0xcdbb, 0xaade, 0xaae8, 0x003f,
    +    0xcdb3, 0x003f, 0xcdc2, 0xcdc4, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xad62, 0xad5c, 0xad64, 0xad61, 0xd071, 0xd074, 0xad5d,
    +    0x003f, 0xd06b, 0x003f, 0xad56, 0xad60, 0x003f, 0xad63, 0xad65,
    +    0xd0a2, 0xd077, 0x003f, 0xad55, 0xd0a1, 0xad59, 0xad57, 0xad52,
    +    0xd06f, 0x003f, 0xd07e, 0xd073, 0xd076, 0xd0a5, 0x003f, 0xad66,
    +    0xd07d, 0xad5e, 0xd078, 0xd0a4, 0xd075, 0xd079, 0xd07c, 0x003f,
    +    0x003f, 0xd06d, 0xd0a3, 0xd07b, 0x003f, 0x003f, 0xd06c, 0x003f,
    +    /* 0x8300 .. 0x83ff */
    +    0xd070, 0xad5f, 0xad5a, 0xad53, 0xad58, 0xad54, 0xad67, 0xd06e,
    +    0xd3a5, 0xad5b, 0x003f, 0x003f, 0xd07a, 0xce41, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a8, 0xaffa,
    +    0x003f, 0xd376, 0x003f, 0xd3a3, 0xd37d, 0x003f, 0xd3b2, 0x003f,
    +    0xd3aa, 0x003f, 0xd37e, 0x003f, 0xd3a9, 0xd378, 0xd37c, 0xd3b5,
    +    0xaffd, 0xd3ad, 0xd3a4, 0xafed, 0xd3b3, 0xd374, 0x003f, 0xd3ac,
    +    0x003f, 0xaffc, 0xaff7, 0xd373, 0xaff5, 0xaff4, 0xaff9, 0xd3ab,
    +    0xaff1, 0xaff8, 0xd072, 0xdb5c, 0xd3a6, 0x003f, 0x003f, 0xd37a,
    +    0xaffb, 0xd37b, 0xd3a1, 0xaffe, 0xd375, 0xd3af, 0x003f, 0xd3ae,
    +    0xd3b6, 0xaff3, 0xaff0, 0xd3b4, 0xd3b0, 0xd3a7, 0xd3a2, 0xaff6,
    +    0xaff2, 0xd377, 0xafee, 0xd3b1, 0xafef, 0x003f, 0xd379, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd75e, 0xd760, 0xd765, 0xd779, 0xb2fc,
    +    0xb2f2, 0x003f, 0xd75d, 0xb2fd, 0xb2fe, 0xd768, 0xd76f, 0xd775,
    +    0x003f, 0xd762, 0x003f, 0xd769, 0x003f, 0x003f, 0xb340, 0xd777,
    +    0xd772, 0xb2fa, 0xb2f8, 0xd76e, 0xd76a, 0xd75c, 0xb2ef, 0xd761,
    +    0xd759, 0x003f, 0xb2f7, 0xb2f9, 0xd766, 0xd763, 0xb2f4, 0xd773,
    +    0xb2f1, 0xd764, 0xd77a, 0xd76c, 0x003f, 0xd76b, 0xb2f0, 0x003f,
    +    0xb2fb, 0x003f, 0xb2f3, 0xd75a, 0xd75f, 0xd770, 0xd776, 0xb341,
    +    0xd75b, 0xd767, 0xd76d, 0xb2f6, 0x003f, 0x003f, 0xd778, 0xd771,
    +    0xd774, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2f5, 0x003f, 0xdb6c,
    +    0xdb60, 0xb5d7, 0xdb7d, 0xdba7, 0xdbaa, 0xb5d5, 0xdb68, 0xdba3,
    +    0xdb69, 0xdb77, 0xb5e2, 0xdb73, 0xb5df, 0x003f, 0xdb74, 0xdb5d,
    +    0x003f, 0xdba4, 0x003f, 0x003f, 0xb5e8, 0xdba1, 0xdb75, 0xdbac,
    +    0xdb70, 0xdfc8, 0x003f, 0xdbaf, 0xb5e6, 0xdb6e, 0xdb7a, 0xb5e9,
    +    0xb5d4, 0xdb72, 0xdbad, 0xdb6b, 0xdb64, 0xdb6f, 0x003f, 0xdb63,
    +    0xdb61, 0xb5d0, 0xdba5, 0xdb6a, 0xdba8, 0x003f, 0xdba9, 0xb5d8,
    +    0xb5dd, 0xb5d9, 0xb5e1, 0xdb7e, 0xb5da, 0xdb76, 0xdb66, 0x003f,
    +    0xb5d2, 0xdb5e, 0xdba2, 0xdbab, 0xdb65, 0xb5e0, 0xdbb0, 0xdb71,
    +    /* 0x8400 .. 0x84ff */
    +    0x003f, 0xdb6d, 0x003f, 0xb5d1, 0xb5e5, 0x003f, 0xdb7c, 0xb5e7,
    +    0x003f, 0xdb78, 0xb5dc, 0xb5d6, 0xb5de, 0xb5d3, 0xb5e4, 0xdb79,
    +    0xdb67, 0xdb7b, 0xdb62, 0xdba6, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdbae, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xdb5f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdfc7, 0x003f, 0xdfdd, 0xb855, 0xdfcc, 0x003f, 0xdfca,
    +    0xdfb5, 0xb8a9, 0xdfc5, 0xdfd9, 0xdfc1, 0xb8b1, 0xdfd8, 0xdfbf,
    +    0xb5e3, 0xdfcf, 0xdfc0, 0xdfd6, 0xb8b0, 0xb8a8, 0x003f, 0xdfaa,
    +    0xdfb2, 0x003f, 0xdfcb, 0xdfc3, 0xdfdc, 0xdfc6, 0xb8b6, 0xdfd7,
    +    0x003f, 0xb8ad, 0x003f, 0xdfc9, 0xdfd1, 0xdfb6, 0xdfd0, 0x003f,
    +    0xdfe1, 0xdfb1, 0xdfd2, 0x003f, 0xdfdf, 0x003f, 0xdfab, 0xb5db,
    +    0x003f, 0xdfb9, 0xdfb8, 0xb8af, 0x003f, 0xdfbc, 0xdfbe, 0xdfcd,
    +    0xdfde, 0xb8b2, 0x003f, 0xb8b3, 0x003f, 0xdfb0, 0xb8ab, 0xdfb4,
    +    0xdfda, 0xb8b4, 0x003f, 0xb8ac, 0xb8ae, 0xb8b5, 0xdfe0, 0xdfd3,
    +    0xdfce, 0x003f, 0x003f, 0xdfbb, 0xdfba, 0xb8aa, 0xdfac, 0xb8a7,
    +    0xdfc4, 0xdfad, 0xdfc2, 0x003f, 0x003f, 0xdfb7, 0xdfdb, 0x003f,
    +    0x003f, 0x003f, 0xb8a6, 0x003f, 0x003f, 0x003f, 0xdfb3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfaf, 0xdfd5, 0xdfae,
    +    0xbb60, 0xe3d3, 0x003f, 0x003f, 0xe3c2, 0x003f, 0x003f, 0xe3ac,
    +    0xe3ca, 0xbb58, 0xe3bb, 0xe3c5, 0xbb5b, 0xe3be, 0xbb59, 0xe3af,
    +    0xe3cd, 0xe3ae, 0xe3c1, 0x003f, 0xe3ad, 0x003f, 0x003f, 0xe3bf,
    +    0xe3c8, 0xe3c6, 0xe3ba, 0xe3b5, 0xe3b3, 0x003f, 0xe3b4, 0xe3c7,
    +    0xe3d2, 0xe3bc, 0xbb5a, 0x003f, 0xe3b7, 0x003f, 0xe3cb, 0x003f,
    +    0xbb5d, 0xe3b6, 0xe3b0, 0xe3c0, 0xbb61, 0x003f, 0x003f, 0xbb55,
    +    0xbb5e, 0xe3b8, 0xe3b2, 0x003f, 0xbb57, 0xdfd4, 0xbb56, 0xe3c3,
    +    0x003f, 0xbb54, 0xbb63, 0xbb5c, 0xe3c4, 0xe3b9, 0xe3b1, 0xe3cc,
    +    0xe3bd, 0xbb62, 0xe3d0, 0xbb5f, 0xe3cf, 0x003f, 0xe3c9, 0xe3ce,
    +    0x003f, 0x003f, 0x003f, 0xe3d1, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe773,
    +    0xe774, 0xe767, 0xe766, 0xe762, 0xbdb4, 0x003f, 0xbdac, 0xe776,
    +    0xe775, 0xdfa9, 0xe75f, 0xe763, 0xe75d, 0x003f, 0xe770, 0xe761,
    +    0x003f, 0xe777, 0xe75a, 0xe758, 0xe764, 0xe76e, 0xe769, 0xbdb6,
    +    /* 0x8500 .. 0x85ff */
    +    0xe74f, 0x003f, 0xe76d, 0x003f, 0x003f, 0x003f, 0xbdb7, 0xdfbd,
    +    0xe75b, 0xe752, 0xe755, 0xe77b, 0xe75c, 0xe753, 0xe751, 0xe74e,
    +    0x003f, 0xbdb0, 0xe765, 0xbdaf, 0xbdb3, 0xe760, 0xe768, 0xbda9,
    +    0xe778, 0xe77c, 0xbdab, 0x003f, 0xe757, 0xe76b, 0xe76f, 0xe754,
    +    0xe779, 0xbdb2, 0x003f, 0xbdb1, 0xe74c, 0xbdb5, 0xe772, 0xe756,
    +    0xe76a, 0xe750, 0xe75e, 0xe759, 0xbdad, 0xbdae, 0xe76c, 0xe77d,
    +    0xe77a, 0xe771, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xe74d, 0x003f, 0xbdaa, 0xeb49, 0x003f,
    +    0xeb40, 0xeb43, 0x003f, 0xbfbb, 0xeb45, 0xeaf9, 0xeb41, 0xeb47,
    +    0xbfb8, 0xbfbc, 0xbfb6, 0x003f, 0x003f, 0xeafb, 0xeb4c, 0x003f,
    +    0x003f, 0xeb46, 0x003f, 0xeafc, 0xeb55, 0xeb4f, 0xeaf8, 0xee46,
    +    0xeafe, 0xbfb7, 0x003f, 0xeb4a, 0x003f, 0xeb54, 0xbfbf, 0x003f,
    +    0xeb51, 0xeafd, 0xeb44, 0xeb48, 0xeb42, 0xeb56, 0xeb53, 0xeb50,
    +    0xbfb9, 0xbfba, 0xbfbe, 0xeafa, 0xeb57, 0xbfbd, 0xeb4d, 0x003f,
    +    0x003f, 0xeb4b, 0x003f, 0x003f, 0x003f, 0xeb4e, 0xee53, 0xee40,
    +    0xee45, 0xee52, 0xee44, 0xedfb, 0xee41, 0x003f, 0xc1a2, 0x003f,
    +    0xedf4, 0xee4d, 0xee4f, 0xedf3, 0xc1a1, 0xee51, 0xee49, 0xc1a8,
    +    0xee50, 0xee42, 0xc1aa, 0xedf9, 0xeb52, 0xee4a, 0xee47, 0xedf5,
    +    0xee55, 0xc1a4, 0x003f, 0x003f, 0xc1a5, 0xedf7, 0xee48, 0x003f,
    +    0xee54, 0xee4b, 0xedfd, 0xc1a7, 0xc1a3, 0xee4c, 0xedfe, 0xee56,
    +    0xedf8, 0xee43, 0xee4e, 0xedfa, 0xedfc, 0x003f, 0xc2cb, 0xedf6,
    +    0xc1a9, 0xc2c4, 0xc17e, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1a6,
    +    0xc2c8, 0xf0b3, 0x003f, 0xf0a9, 0xf0a4, 0xf0aa, 0xf0b4, 0xf0b8,
    +    0xf0b7, 0xc2ca, 0xc2c9, 0x003f, 0x003f, 0xf0ab, 0xf0b9, 0xf0ae,
    +    0xf0a6, 0x003f, 0xf0a8, 0xf0a7, 0xf0ad, 0xf0b2, 0xf0a5, 0xf0ac,
    +    0xf0b1, 0xc2c7, 0x003f, 0xf0af, 0x003f, 0xc2c5, 0xf0b0, 0xc2c3,
    +    0xc2c6, 0xf2d5, 0xf0b5, 0x003f, 0x003f, 0xc3c2, 0x003f, 0xf2cd,
    +    0xf2d1, 0xf2c9, 0xf2cc, 0x003f, 0xf2d4, 0xc3c0, 0xf2d9, 0xf2d2,
    +    0x003f, 0xf2ca, 0xf2da, 0xf2d3, 0xc3c3, 0xc3c4, 0xf2d7, 0x003f,
    +    0xf2cb, 0xc3bf, 0xc3c1, 0xf2c6, 0xf2ce, 0xf2c8, 0x003f, 0xf2d8,
    +    0xf2d6, 0xf2c7, 0xf2cf, 0x003f, 0x003f, 0x003f, 0xf4be, 0xc3c5,
    +    0xf2d0, 0xc4a7, 0xc4a9, 0xc4a6, 0x003f, 0xf4c3, 0xf4bb, 0xf4b9,
    +    /* 0x8600 .. 0x86ff */
    +    0xf4bd, 0xf4ba, 0x003f, 0x003f, 0xf4bf, 0xf4c1, 0xc4aa, 0xc4ac,
    +    0x003f, 0xf4c0, 0xc4ad, 0xc4ab, 0xf4c2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc4a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4f4,
    +    0xf5f1, 0xf5f7, 0xc4f6, 0xf4bc, 0xf5f6, 0x003f, 0xf5fd, 0xf5f4,
    +    0xf5fb, 0xf5fa, 0xf4b8, 0xf5f5, 0xf0b6, 0xf5fe, 0xf5f3, 0xf5f8,
    +    0x003f, 0xf5fc, 0xf5f2, 0x003f, 0xf74a, 0xc4f5, 0xf5f9, 0x003f,
    +    0x003f, 0xf7f4, 0xf74b, 0xf749, 0xf747, 0xf748, 0xf74c, 0x003f,
    +    0xc5d9, 0xf7f2, 0xf7f0, 0xf7f5, 0xf7f3, 0x003f, 0xf7f6, 0xc5da,
    +    0xf7f1, 0x003f, 0x003f, 0xf8bc, 0x003f, 0x003f, 0xf945, 0xf946,
    +    0xf947, 0x003f, 0x003f, 0xf9c7, 0xf9bd, 0xca4f, 0xaaea, 0x003f,
    +    0xad68, 0x003f, 0xd3b8, 0xd3b7, 0xb040, 0xb342, 0xd77c, 0x003f,
    +    0x003f, 0xd77b, 0x003f, 0xb5ea, 0xb8b8, 0x003f, 0xb8b7, 0xb8b9,
    +    0x003f, 0xe3d4, 0xe77e, 0xeb58, 0xeb5a, 0xeb59, 0x003f, 0xc1ab,
    +    0xee57, 0xf0ba, 0xf9a5, 0xa6e4, 0x003f, 0xcdc9, 0xcdca, 0xcdc8,
    +    0xcdc7, 0xaaeb, 0x003f, 0xd0a9, 0xd0a7, 0x003f, 0x003f, 0xd0a6,
    +    0x003f, 0xad69, 0xad6b, 0xad6a, 0xd0a8, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3c4, 0xd3c1, 0xd3bf,
    +    0x003f, 0x003f, 0xb041, 0xd3c2, 0xb046, 0xd3bc, 0xd3cb, 0x003f,
    +    0xd3cd, 0xd3bd, 0x003f, 0xb043, 0xd3ce, 0xd3c9, 0xd3bb, 0xd3c0,
    +    0xd3ca, 0xd3c6, 0xd3c3, 0x003f, 0xb048, 0xd3cc, 0xd3be, 0x003f,
    +    0x003f, 0xd3c7, 0xd3b9, 0xb047, 0xb044, 0xd3c5, 0x003f, 0xd3c8,
    +    0xd3ba, 0xb045, 0xb042, 0x003f, 0x003f, 0x003f, 0x003f, 0xb34c,
    +    0xd7a5, 0xb34b, 0x003f, 0xd7a8, 0xd7ab, 0xb348, 0xb346, 0xd77e,
    +    0xd7a9, 0xd7a7, 0xd7a4, 0xd7ac, 0xd7ad, 0xd7af, 0xd7b0, 0xd77d,
    +    0xb345, 0xd7a2, 0xd7a1, 0xd7ae, 0xb347, 0xd7a3, 0xb349, 0xb344,
    +    0xd7a6, 0xb34d, 0x003f, 0xb34a, 0xd7aa, 0x003f, 0x003f, 0x003f,
    +    0xb5f1, 0xdbbf, 0x003f, 0xdbb4, 0xb5ee, 0x003f, 0xdfe7, 0xdbbd,
    +    0xdbb1, 0xb5ec, 0xdbb6, 0xb5ef, 0xdbba, 0xdbb8, 0xb5f2, 0xb5eb,
    +    0x003f, 0x003f, 0xdbb2, 0xdbb5, 0xb5f0, 0x003f, 0xdbb3, 0x003f,
    +    0xdbbe, 0xdbbc, 0xdbb7, 0xdbb9, 0xdbbb, 0xb5ed, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfe8, 0xdfee, 0xdfe4,
    +    0xdfea, 0xb8ba, 0xdfe6, 0xb8c0, 0x003f, 0x003f, 0xb8bf, 0x003f,
    +    /* 0x8700 .. 0x87ff */
    +    0xb8be, 0xdfed, 0xb8c1, 0xb8c2, 0xdfe3, 0xdff0, 0xb8c3, 0xb8bd,
    +    0xb8bc, 0xdfec, 0xb8c4, 0xdfe2, 0xdfe5, 0xdfef, 0xdfeb, 0x003f,
    +    0x003f, 0xe3f4, 0xe3e9, 0xb8bb, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbb6a, 0xe3dd, 0xe3f2, 0xe3de, 0xbb65, 0x003f, 0xe3db, 0x003f,
    +    0xe3e4, 0xe3dc, 0xbb67, 0xe3d6, 0xe3f1, 0xbb68, 0xe3ee, 0xe3ef,
    +    0xe3d7, 0xbb6d, 0xe3e6, 0x003f, 0xe3e0, 0xe3e7, 0xe3da, 0x003f,
    +    0xe3f3, 0xe3eb, 0xe3e5, 0xe3d5, 0xbb69, 0xe3ec, 0x003f, 0xbb6c,
    +    0xe3f0, 0x003f, 0xe3ea, 0xbb66, 0xe3e8, 0x003f, 0xe3e2, 0xbb64,
    +    0xe3d9, 0xe3e1, 0xe3ed, 0xe3df, 0x003f, 0x003f, 0xe3e3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xbdc1, 0xdfe9, 0xe7b2, 0xe7bb,
    +    0xe7b1, 0xe7ad, 0xe7aa, 0xbdc2, 0xe7a8, 0xbb6b, 0xe7a1, 0xbdc0,
    +    0xe7a7, 0xbdbf, 0xe7ac, 0xe7a9, 0xe7b9, 0xe7b4, 0xe7ae, 0xe7b3,
    +    0xbdbb, 0xe7ab, 0xe7be, 0xe7a2, 0xe7a3, 0xe7ba, 0xbdbc, 0xe7bf,
    +    0xbdbe, 0xe7c0, 0xe7b0, 0xe3d8, 0xe7b6, 0xe7af, 0xe7b8, 0xe7b5,
    +    0x003f, 0x003f, 0x003f, 0xe7a6, 0xbdb9, 0xe7bd, 0xbdba, 0xe7a4,
    +    0xbdbd, 0xeb64, 0xe7b7, 0xe7bc, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeb61, 0xbdb8, 0xbfc0, 0xeb6b, 0xeb67, 0x003f, 0xeb65,
    +    0xeb60, 0xeb6f, 0x003f, 0x003f, 0x003f, 0xbfc4, 0x003f, 0xeb5c,
    +    0xeb68, 0xeb69, 0xeb5f, 0xeb5e, 0xeb6c, 0x003f, 0xeb62, 0xeb5d,
    +    0xeb63, 0x003f, 0xeb6e, 0xeb5b, 0xeb6d, 0xeb6a, 0xbfc2, 0xbfc1,
    +    0x003f, 0x003f, 0xbfc3, 0xeb66, 0xf0cb, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xee59, 0xc1b1, 0xee5d, 0xee5a, 0xee61, 0xee67,
    +    0xee5c, 0x003f, 0xee70, 0xc1ae, 0xee6a, 0xee5f, 0xee6b, 0xee66,
    +    0xee6d, 0xee5e, 0xc1b3, 0xc1b2, 0xee60, 0xee6e, 0xee58, 0xee6c,
    +    0xc1ac, 0x003f, 0xee64, 0xee63, 0xee68, 0xee5b, 0xc1b0, 0x003f,
    +    0xc1b4, 0xee62, 0xee69, 0xc1b5, 0xee65, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc1ad, 0xc1af, 0xf0c7, 0xf0c5, 0x003f, 0x003f, 0xf0cc,
    +    0xf0c9, 0xf0cd, 0x003f, 0xf0be, 0xf0c6, 0xf0d1, 0xee6f, 0xf0c2,
    +    0xc2cf, 0xe7a5, 0xf0bd, 0xf0ca, 0xf0c4, 0xf0c1, 0xf0bc, 0xf0bb,
    +    0xf0d0, 0x003f, 0xf0c0, 0xf0bf, 0xc2cd, 0xf0c8, 0x003f, 0xc2cc,
    +    0x003f, 0x003f, 0xc2ce, 0xf0c3, 0xf0cf, 0x003f, 0xf2de, 0xf2df,
    +    0x003f, 0xc3c9, 0xf2dc, 0xc3c6, 0xf2e4, 0x003f, 0xc3ca, 0xf2e6,
    +    /* 0x8800 .. 0x88ff */
    +    0xf2db, 0xf0ce, 0xf2e8, 0xf2dd, 0x003f, 0xc3c7, 0xf2e3, 0x003f,
    +    0xf2e5, 0xf2e0, 0xf2e7, 0xf2e2, 0xf2e1, 0xc3c8, 0x003f, 0x003f,
    +    0xf4c5, 0xf4c6, 0x003f, 0xf4c8, 0xc4ae, 0xc4af, 0xf4c9, 0xf4c7,
    +    0x003f, 0xf4c4, 0x003f, 0xf642, 0xf645, 0xf641, 0x003f, 0xc4fa,
    +    0xf643, 0xc4f9, 0xc4f8, 0xc4f7, 0xf644, 0xf751, 0xf74f, 0x003f,
    +    0xf74e, 0xf640, 0xf750, 0xf646, 0xf74d, 0x003f, 0xf7f9, 0xf7d7,
    +    0xf7f7, 0xc5db, 0xf7f8, 0xf7fa, 0x003f, 0xf8bf, 0xc5fa, 0xf8be,
    +    0xf8bd, 0xc5fb, 0x003f, 0xc65a, 0xf96e, 0xf9a7, 0xf9a6, 0xf9a8,
    +    0xa6e5, 0xd0aa, 0x003f, 0xd3cf, 0xd3d0, 0x003f, 0x003f, 0x003f,
    +    0xdbc0, 0x003f, 0xf647, 0xf8c0, 0xa6e6, 0xad6c, 0xd0ab, 0x003f,
    +    0x003f, 0x003f, 0xd7b1, 0xb34e, 0x003f, 0xdbc2, 0xdbc1, 0xb5f3,
    +    0x003f, 0xb8c5, 0xe7c1, 0xbdc3, 0x003f, 0xbdc4, 0x003f, 0x003f,
    +    0x003f, 0xbfc5, 0xc5fc, 0xa6e7, 0x003f, 0x003f, 0x003f, 0xd0ac,
    +    0xaaed, 0xd0ae, 0xd0ad, 0xad6d, 0x003f, 0xd3d1, 0x003f, 0xd3d8,
    +    0xb049, 0xd3d6, 0xd3d4, 0x003f, 0xd3db, 0xd3d2, 0xd3d3, 0xb04a,
    +    0x003f, 0xb04e, 0x003f, 0x003f, 0xd3dc, 0xb04d, 0xd3da, 0xd3d7,
    +    0xd3d5, 0xb04b, 0xb04c, 0xd3d9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb350, 0xd7b2, 0x003f, 0xb355, 0xd7c2, 0xb354, 0xd7c4, 0x003f,
    +    0x003f, 0xd7b8, 0xb352, 0xd7c3, 0x003f, 0xd7b3, 0xb353, 0xd7bf,
    +    0xd7bb, 0xd7bd, 0xd7b7, 0xd7be, 0x003f, 0x003f, 0xb34f, 0xd7ba,
    +    0x003f, 0xd7b9, 0xd7b5, 0x003f, 0xd7c0, 0x003f, 0x003f, 0xd7bc,
    +    0xd7b4, 0x003f, 0xd7b6, 0xb351, 0xd7c1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xb5f6, 0xdbcd, 0x003f, 0x003f, 0x003f, 0xdbc9, 0xdbcb,
    +    0xdbc6, 0xdbc5, 0xdbc3, 0x003f, 0xdbca, 0xdbcc, 0xdbc8, 0x003f,
    +    0xdbc7, 0xb5f4, 0xb5f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xdbcf, 0xb8cd, 0xdff2, 0xdff8, 0xdff3, 0xdff4, 0xf9d8,
    +    0xdff9, 0x003f, 0xb8cf, 0x003f, 0xb8c7, 0xb8ce, 0xdff1, 0xdbc4,
    +    0xb8ca, 0xb8c8, 0xdff7, 0xdff6, 0xb8c9, 0xb8cb, 0xdff5, 0xb8c6,
    +    0x003f, 0xb8cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f6,
    +    0xbb74, 0x003f, 0x003f, 0xe442, 0xe441, 0x003f, 0xe3fb, 0xbb76,
    +    0xe440, 0xe3f7, 0xe3f8, 0xbb6e, 0xbb70, 0x003f, 0xe3fd, 0xe3f5,
    +    0xbb72, 0xbb71, 0xe3f9, 0xe3fe, 0xe3fc, 0xbb73, 0xe3fa, 0x003f,
    +    /* 0x8900 .. 0x89ff */
    +    0x003f, 0xdbce, 0xbb6f, 0x003f, 0x003f, 0xe7c2, 0xe7c9, 0xbdc6,
    +    0x003f, 0xe7cd, 0xbdca, 0xe7c5, 0xe7c3, 0x003f, 0xe7cc, 0x003f,
    +    0xbdc5, 0xe7cb, 0xbdc7, 0xbdc8, 0xe7c4, 0xbdc9, 0xe7ca, 0xe7c6,
    +    0xe7c7, 0xe7c8, 0xbb75, 0x003f, 0x003f, 0x003f, 0xeb70, 0xeb7c,
    +    0x003f, 0xbfca, 0xeb77, 0xeb79, 0x003f, 0xbfc8, 0xeb71, 0xeb75,
    +    0x003f, 0xeb78, 0xbfc6, 0xbfc9, 0xeb7b, 0xeb73, 0xeb74, 0xeb7a,
    +    0xeb72, 0xeb76, 0xbfc7, 0xee72, 0x003f, 0xee71, 0xc1b7, 0xee77,
    +    0xc1b9, 0x003f, 0x003f, 0xc1b6, 0xee73, 0xc1ba, 0xee74, 0x003f,
    +    0x003f, 0xee75, 0xee78, 0x003f, 0xc1b8, 0x003f, 0xf0d6, 0x003f,
    +    0x003f, 0xf0d9, 0x003f, 0xf0d3, 0xf0d5, 0x003f, 0x003f, 0xf0d4,
    +    0xf0d7, 0xf0d8, 0xee76, 0xf0d2, 0x003f, 0x003f, 0xc3cd, 0xf2ec,
    +    0xf2ef, 0xf2f1, 0xf2ea, 0xf2eb, 0xf2ee, 0xf2f0, 0xc3ce, 0xc3cc,
    +    0xc3cb, 0xf2ed, 0xf2e9, 0xf4ca, 0xc4b0, 0x003f, 0xf4cb, 0x003f,
    +    0x003f, 0xf649, 0xc4fb, 0xf64b, 0xc4fc, 0xf648, 0xf64a, 0xc5a8,
    +    0x003f, 0xf752, 0xc5a7, 0xf7fd, 0xf7fc, 0x003f, 0xf7fb, 0x003f,
    +    0x003f, 0xf948, 0xf949, 0xf94b, 0xf94a, 0x003f, 0xca50, 0xa6e8,
    +    0x003f, 0xad6e, 0xd7c5, 0xb5f7, 0x003f, 0xdffa, 0xc2d0, 0x003f,
    +    0xf2f2, 0x003f, 0x003f, 0xa8a3, 0x003f, 0x003f, 0x003f, 0xb357,
    +    0x003f, 0x003f, 0x003f, 0xb356, 0x003f, 0xdbd0, 0xb5f8, 0xdbd2,
    +    0xdbd1, 0x003f, 0x003f, 0xdffb, 0xb8d0, 0xe443, 0xe446, 0xe445,
    +    0x003f, 0xe444, 0xe7ce, 0xe7d0, 0xe7cf, 0x003f, 0xbfcc, 0x003f,
    +    0x003f, 0x003f, 0xbfcb, 0x003f, 0xc1bb, 0xee79, 0xee7b, 0xee7a,
    +    0x003f, 0x003f, 0xc2d1, 0x003f, 0x003f, 0x003f, 0xf2f4, 0xf2f3,
    +    0x003f, 0xf4cc, 0xc4b1, 0x003f, 0x003f, 0xc4fd, 0xf754, 0xf753,
    +    0xc65b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xa8a4, 0xd0af, 0xad6f, 0xd7c8, 0xd7c6, 0x003f,
    +    0x003f, 0xd7c7, 0xdbd4, 0xdbd5, 0xe043, 0xdbd3, 0x003f, 0xdffc,
    +    0xe041, 0xe040, 0xe042, 0xb8d1, 0xdffe, 0xdffd, 0xe044, 0x003f,
    +    0xe449, 0xe447, 0x003f, 0xe448, 0xe7d3, 0xe7d1, 0x003f, 0x003f,
    +    0xe7d2, 0xeb7d, 0xee7c, 0xee7d, 0xc2d2, 0x003f, 0xf2f5, 0xf4cd,
    +    0xc4b2, 0x003f, 0xf64c, 0xf755, 0xc5a9, 0x003f, 0xf7fe, 0xf94c,
    +    /* 0x8a00 .. 0x8aff */
    +    0xa8a5, 0x003f, 0xad71, 0xad72, 0xd0b0, 0x003f, 0x003f, 0xd0b1,
    +    0xad70, 0x003f, 0xb054, 0x003f, 0xb052, 0x003f, 0xb051, 0xb058,
    +    0xb050, 0xb059, 0xd3dd, 0xb056, 0x003f, 0xb053, 0xb057, 0xb055,
    +    0xb04f, 0x003f, 0x003f, 0xb35f, 0x003f, 0xb359, 0xd7cc, 0xb35e,
    +    0x003f, 0x003f, 0xb360, 0xb35a, 0x003f, 0xb35b, 0x003f, 0xd7ca,
    +    0x003f, 0x003f, 0xb358, 0x003f, 0xd7cb, 0xb35d, 0x003f, 0x003f,
    +    0xd7c9, 0xb35c, 0x003f, 0x003f, 0xb644, 0x003f, 0xb646, 0x003f,
    +    0x003f, 0xdbd8, 0xb645, 0xb5f9, 0xb5fd, 0x003f, 0xb8e4, 0xe049,
    +    0xdbda, 0xb5fe, 0x003f, 0x003f, 0xdbdd, 0xdbde, 0xb643, 0x003f,
    +    0xdbe0, 0x003f, 0xdbe2, 0x003f, 0xdbe3, 0xdbd7, 0xdbd6, 0xdbe4,
    +    0xb642, 0xdbe1, 0xdbdf, 0x003f, 0xb640, 0xb5fb, 0xb647, 0xdbdb,
    +    0xdbdc, 0xdbd9, 0x003f, 0xb641, 0x003f, 0x003f, 0xb5fc, 0x003f,
    +    0xb5fa, 0xe048, 0xb8df, 0xb8da, 0x003f, 0x003f, 0xb8d5, 0x003f,
    +    0xb8e5, 0xb8d6, 0x003f, 0xb8d2, 0xb8e1, 0xb8de, 0xb8e0, 0x003f,
    +    0xb8d7, 0xb8dc, 0xb8d3, 0xb8d4, 0xe050, 0xe04d, 0xe045, 0xe04a,
    +    0x003f, 0xb8e2, 0xe051, 0xb8e3, 0xb8d9, 0x003f, 0x003f, 0xe047,
    +    0x003f, 0xe04f, 0xe04b, 0xe04e, 0xe04c, 0xb8dd, 0xe046, 0xb8d8,
    +    0x003f, 0x003f, 0x003f, 0xe44c, 0xbb78, 0xbb7b, 0x003f, 0xe44e,
    +    0x003f, 0xbba5, 0xe44d, 0xbb7d, 0x003f, 0xbdcf, 0xe44f, 0x003f,
    +    0xbba4, 0xe44b, 0xbba6, 0x003f, 0x003f, 0x003f, 0xbb79, 0x003f,
    +    0xb8db, 0xbb7c, 0x003f, 0xbb7a, 0xbb7e, 0xbba2, 0xbb77, 0xbba7,
    +    0xbba3, 0x003f, 0xbba1, 0xe44a, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xbdd6, 0x003f, 0xbdd2, 0x003f, 0x003f, 0x003f, 0xbdd9, 0x003f,
    +    0xe7d6, 0xbdda, 0xe7e2, 0xe7db, 0xbdcb, 0xe7e3, 0xe7dd, 0xbdd5,
    +    0xe7de, 0x003f, 0xbdd4, 0xe7e1, 0xbdce, 0xe7df, 0xe7d5, 0xbdcd,
    +    0xebaa, 0xbdd3, 0x003f, 0xbdd0, 0x003f, 0xbdd8, 0x003f, 0xe7d4,
    +    0x003f, 0xe7d8, 0xbdcc, 0xe7d7, 0xe7d9, 0xe7da, 0xbdd7, 0xe7dc,
    +    0xe7e0, 0xe7e4, 0x003f, 0xbddb, 0xbfd2, 0xeba5, 0xebab, 0xeba8,
    +    0xeb7e, 0xebac, 0xeba1, 0x003f, 0xeba7, 0x003f, 0xbfcd, 0xbfd3,
    +    0xebad, 0x003f, 0x003f, 0xbfcf, 0x003f, 0xbfd9, 0xbfd4, 0xebaf,
    +    0xeba9, 0xbfd0, 0xeba2, 0xbfda, 0xeba3, 0xeba4, 0xbfdb, 0xbfd8,
    +    0xbdd1, 0x003f, 0xbfce, 0xebb0, 0xbfdc, 0x003f, 0xbfd5, 0xebae,
    +    /* 0x8b00 .. 0x8bff */
    +    0xbfd1, 0xbfd6, 0xbfd7, 0x003f, 0xc1c3, 0xeea4, 0xeead, 0xeeaa,
    +    0xeeac, 0x003f, 0xc1c0, 0xeea5, 0x003f, 0xeeab, 0xc1bc, 0xeea7,
    +    0xc1c4, 0xeea3, 0xeea8, 0xeeaf, 0xeba6, 0xeea9, 0xeea2, 0xc1bd,
    +    0xeea1, 0xc1be, 0xeeb0, 0xc1bf, 0xeeae, 0xc1c2, 0xee7e, 0x003f,
    +    0xc1c1, 0x003f, 0xeea6, 0xf0dc, 0xf0ea, 0xf0e5, 0xf0e7, 0xf0db,
    +    0xc2d3, 0x003f, 0xf0da, 0xc2d6, 0xc2d5, 0x003f, 0xf0e9, 0xf0e1,
    +    0xf0de, 0xf0e4, 0x003f, 0xf0dd, 0x003f, 0xf0df, 0xf0e8, 0xf0e6,
    +    0x003f, 0xc2d4, 0xf0ed, 0xf0eb, 0xf0e2, 0xf0ec, 0xf0e3, 0x003f,
    +    0xf2f9, 0xc3cf, 0xf341, 0x003f, 0x003f, 0xf64f, 0xc3d6, 0xf0e0,
    +    0xf2f7, 0xc3d2, 0xf2f8, 0xf2fd, 0x003f, 0x003f, 0xc3d4, 0xc3d5,
    +    0xf2f6, 0xf340, 0xf342, 0xf2fa, 0xf2fc, 0xf2fe, 0xf2fb, 0xf343,
    +    0xc3d1, 0xc3d7, 0xc3d3, 0x003f, 0xc3d0, 0xf4d0, 0x003f, 0xc4b7,
    +    0xf4ce, 0x003f, 0x003f, 0xf4d2, 0x003f, 0xf4d3, 0xc4b5, 0xf4d4,
    +    0xf4d1, 0x003f, 0xf4cf, 0xc4b8, 0xc4b4, 0xf4d5, 0x003f, 0xc4b6,
    +    0xc4b3, 0x003f, 0x003f, 0x003f, 0xc4fe, 0x003f, 0x003f, 0xc540,
    +    0xf64e, 0xf64d, 0xf650, 0xf651, 0x003f, 0xc541, 0xf756, 0xf75b,
    +    0xc5aa, 0x003f, 0xf758, 0x003f, 0xf757, 0xf75a, 0xf759, 0x003f,
    +    0xf843, 0x003f, 0xc5dc, 0xf842, 0xf840, 0x003f, 0xf841, 0x003f,
    +    0x003f, 0x003f, 0xc5fe, 0xc5fd, 0xf8c1, 0xf8c2, 0xc640, 0x003f,
    +    0xf94d, 0xf94e, 0xc667, 0x003f, 0xc66d, 0x003f, 0xf9a9, 0xf9c8,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x8c00 .. 0x8cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8a6,
    +    0x003f, 0xd7cd, 0x003f, 0xd7ce, 0xe052, 0xe450, 0xe7e5, 0xc1c6,
    +    0x003f, 0xc1c5, 0xf0ee, 0xf344, 0x003f, 0xf844, 0xa8a7, 0xd3de,
    +    0xb05a, 0xb361, 0xe054, 0xe053, 0xbddc, 0xe7e6, 0xbddd, 0xeeb1,
    +    0xc2d7, 0x003f, 0x003f, 0x003f, 0xc676, 0xa8a8, 0xcdcb, 0xd3df,
    +    0x003f, 0x003f, 0xb362, 0x003f, 0xd7cf, 0xd7d0, 0x003f, 0xdbe5,
    +    0x003f, 0xb648, 0xb8e6, 0x003f, 0xe056, 0xe055, 0xe057, 0x003f,
    +    0xe451, 0xe452, 0xbba8, 0xbfdd, 0xbdde, 0xbfde, 0x003f, 0xeeb5,
    +    0xeeb2, 0xeeb4, 0xeeb3, 0xc1c7, 0x003f, 0xf0ef, 0xf346, 0xf345,
    +    0xcba4, 0xb05c, 0xb05b, 0xd3e0, 0x003f, 0xd7d1, 0x003f, 0x003f,
    +    0xdbe7, 0xdbe6, 0xb649, 0x003f, 0xe059, 0xe05a, 0xe058, 0x003f,
    +    0x003f, 0xb8e8, 0xb8e7, 0x003f, 0xbbaa, 0xbba9, 0x003f, 0xe7e7,
    +    0xebb3, 0xebb1, 0xebb2, 0xbfdf, 0xeeb7, 0xeeb6, 0x003f, 0xf0f2,
    +    0xf0f1, 0xf0f0, 0xf347, 0x003f, 0xf9aa, 0xa8a9, 0xad73, 0x003f,
    +    0xad74, 0xb05d, 0xb05e, 0xd3e2, 0xd3e1, 0xd7d2, 0x003f, 0xb368,
    +    0xb366, 0xb363, 0xb367, 0xb365, 0xb364, 0x003f, 0x003f, 0xb64a,
    +    0xdbea, 0x003f, 0xb8ed, 0xb64c, 0xb651, 0xdbec, 0xb653, 0xb652,
    +    0xb655, 0xdbeb, 0xdbe8, 0xb64f, 0xb64b, 0xb64d, 0xdbe9, 0xb654,
    +    0xb650, 0xb64e, 0xb8ef, 0xb8ee, 0xb8ec, 0xb8f0, 0x003f, 0xb8ea,
    +    0xb8eb, 0x003f, 0xb8e9, 0x003f, 0xe05b, 0x003f, 0x003f, 0xe454,
    +    0x003f, 0xbbac, 0xbbad, 0xbbab, 0x003f, 0xe453, 0x003f, 0xe455,
    +    0x003f, 0xe7ea, 0xe7ec, 0x003f, 0xbde7, 0xe7ed, 0xbde0, 0xe7e9,
    +    0xbddf, 0xbde9, 0xbde5, 0xbde6, 0xbde2, 0xe7e8, 0xbde1, 0xe7ee,
    +    0xe7eb, 0x003f, 0xbde8, 0x003f, 0xbde3, 0xbde4, 0xebb5, 0x003f,
    +    0xebb7, 0xebb6, 0x003f, 0xebb8, 0xbfe0, 0xebb4, 0x003f, 0x003f,
    +    0xc1cb, 0xeeb8, 0xc1c8, 0xc1cc, 0xc1ca, 0xc1c9, 0xf0f3, 0x003f,
    +    /* 0x8d00 .. 0x8dff */
    +    0xf0f6, 0x003f, 0xf0f5, 0x003f, 0xf0f4, 0xc2d8, 0xf348, 0xf349,
    +    0xc3d8, 0xf34a, 0xc3d9, 0x003f, 0x003f, 0xc4ba, 0x003f, 0xc4b9,
    +    0xf652, 0x003f, 0x003f, 0xc542, 0xf653, 0xf75c, 0xc5ab, 0xc5ac,
    +    0x003f, 0xf845, 0x003f, 0xc642, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xa8aa, 0x003f, 0xb36a, 0xb369,
    +    0xe05c, 0xe05d, 0x003f, 0xbbae, 0xebb9, 0xbdea, 0xebba, 0xeeb9,
    +    0xa8ab, 0x003f, 0xd0b2, 0xad76, 0xad75, 0x003f, 0xd3e3, 0xb05f,
    +    0xd3e4, 0xd7d5, 0x003f, 0xd7d4, 0x003f, 0xd7d3, 0x003f, 0x003f,
    +    0xdbee, 0xb658, 0x003f, 0x003f, 0xdbed, 0xb657, 0x003f, 0x003f,
    +    0x003f, 0xdbef, 0xb656, 0x003f, 0xe05f, 0xe062, 0xe060, 0xe061,
    +    0xe065, 0xe05e, 0xe066, 0xe063, 0xe064, 0xbbb0, 0xe456, 0x003f,
    +    0x003f, 0xbbaf, 0x003f, 0xe7f2, 0xe7f0, 0x003f, 0x003f, 0xbdeb,
    +    0xe7ef, 0xe7f1, 0x003f, 0xbdec, 0x003f, 0xebbb, 0x003f, 0xebbc,
    +    0xc1cd, 0x003f, 0xf34c, 0xf34e, 0xf34b, 0xf34d, 0xf4d6, 0xf654,
    +    0x003f, 0x003f, 0xf96f, 0xa8ac, 0xad77, 0xd3e5, 0xd3e7, 0xd3e6,
    +    0x003f, 0xd7d8, 0xb36c, 0x003f, 0xd7d6, 0x003f, 0xb36b, 0xd7d9,
    +    0x003f, 0xd7da, 0xd7d7, 0x003f, 0x003f, 0xdbfb, 0xb660, 0xdbf3,
    +    0xdbf9, 0x003f, 0x003f, 0xb65b, 0xb65e, 0xdbf2, 0xb659, 0xdbf6,
    +    0xe06c, 0xb65d, 0x003f, 0xdbf1, 0x003f, 0xdbf7, 0xdbf4, 0xdbfa,
    +    0xdbf0, 0xdbf8, 0xb65c, 0xb65f, 0xdbf5, 0xb65a, 0x003f, 0xb8f2,
    +    0xe068, 0xb8f1, 0xe06f, 0xe06e, 0xb8f8, 0x003f, 0xb8f9, 0xe070,
    +    0xb8f3, 0xe06d, 0xb8f7, 0xe072, 0xe069, 0x003f, 0xe06b, 0xb8f4,
    +    0xe067, 0xe06a, 0xe071, 0xb8f5, 0xe073, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb8f6, 0x003f, 0xbbb1, 0xe45b, 0xe461, 0xe459,
    +    /* 0x8e00 .. 0x8eff */
    +    0xe462, 0x003f, 0xe458, 0xe45d, 0xe463, 0xe460, 0xe45f, 0xe45e,
    +    0x003f, 0xe457, 0xe45c, 0x003f, 0x003f, 0xe45a, 0x003f, 0xbdf1,
    +    0xbdee, 0xe7fb, 0xe841, 0xe843, 0xe840, 0xe7f8, 0xe7fa, 0xe845,
    +    0xe842, 0xe7fc, 0xe846, 0xe7f9, 0xe844, 0xbdef, 0xbdf5, 0xbdf3,
    +    0xe7f3, 0xbdf4, 0xbdf0, 0xe7f4, 0xe7f6, 0xe7f5, 0xe7fd, 0xe7fe,
    +    0x003f, 0xbdf2, 0x003f, 0xbded, 0x003f, 0x003f, 0xe7f7, 0x003f,
    +    0xebc6, 0xbfe2, 0x003f, 0xebbd, 0xbfe3, 0xbfe6, 0xebc2, 0x003f,
    +    0xebbf, 0xbfe5, 0x003f, 0x003f, 0xebc3, 0xebc4, 0xebbe, 0xebc7,
    +    0xebc0, 0xebc5, 0xbfe4, 0x003f, 0xbfe1, 0xebc1, 0x003f, 0xeebf,
    +    0xc1d0, 0xc1ce, 0xc1d1, 0xc1cf, 0xeebe, 0xeebb, 0xeeba, 0x003f,
    +    0xeebd, 0x003f, 0x003f, 0xeebc, 0xf145, 0xc2de, 0xf0fb, 0xf0fa,
    +    0x003f, 0xc2d9, 0xf141, 0xf140, 0xf0f7, 0xf143, 0xf0fc, 0xc2dd,
    +    0xf0f9, 0xf142, 0xf0f8, 0xc2da, 0xc2dc, 0xf0fd, 0xc2db, 0xf0fe,
    +    0x003f, 0xf144, 0xf352, 0x003f, 0xc3de, 0xf34f, 0x003f, 0xf353,
    +    0x003f, 0x003f, 0xc3db, 0xf351, 0xc3e0, 0x003f, 0xc3dd, 0x003f,
    +    0xf350, 0x003f, 0xc3df, 0xf354, 0xc3da, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xc4bc, 0xc4be, 0x003f, 0xf4d9, 0xc4bd, 0xf4d7, 0xc3dc,
    +    0xf4d8, 0xc4bb, 0xc543, 0xc545, 0xf656, 0xc544, 0xf655, 0x003f,
    +    0xf761, 0xc5ad, 0xf760, 0xc5ae, 0xf75e, 0xf75d, 0xf762, 0xf763,
    +    0xf846, 0x003f, 0xf75f, 0x003f, 0x003f, 0xf8c6, 0xf8c3, 0xf8c4,
    +    0xf8c5, 0xc65c, 0x003f, 0xf951, 0xf950, 0xf94f, 0xf970, 0x003f,
    +    0xf9be, 0xf9ab, 0xc66e, 0xa8ad, 0xb060, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb8fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbdf6, 0x003f, 0x003f, 0xebc8, 0x003f, 0x003f,
    +    0xc2df, 0x003f, 0xf355, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xf9ac, 0xa8ae, 0xaaee, 0xad79, 0xad78, 0x003f, 0xb063,
    +    0x003f, 0xd3e8, 0xb061, 0xd3e9, 0xb062, 0x003f, 0x003f, 0xd7df,
    +    0xd7db, 0x003f, 0x003f, 0xb36d, 0xd7de, 0xd7dd, 0xd7dc, 0xb36e,
    +    0xd7e0, 0xd7e1, 0x003f, 0x003f, 0x003f, 0xdc43, 0xdc41, 0xdc45,
    +    0xdc46, 0xdc4c, 0x003f, 0xdc48, 0xdc4a, 0x003f, 0xdc42, 0xdbfc,
    +    0x003f, 0xdc49, 0x003f, 0x003f, 0xdc4b, 0xdc44, 0xdc47, 0xdbfd,
    +    0xb662, 0xdc40, 0xdbfe, 0xb661, 0xb663, 0x003f, 0xb8fd, 0xe075,
    +    /* 0x8f00 .. 0x8fff */
    +    0xe077, 0xe076, 0xe07b, 0xb8fb, 0x003f, 0xe078, 0xe074, 0xe079,
    +    0xe07a, 0xb8fc, 0xb8fe, 0xe07c, 0x003f, 0xe467, 0xe466, 0x003f,
    +    0xe464, 0xe465, 0xbbb3, 0xbbb5, 0xbbb2, 0xbbb4, 0xe84d, 0xe84e,
    +    0xe849, 0x003f, 0xe84a, 0xbdf8, 0xbdfd, 0xbdf7, 0xbdfe, 0xbdf9,
    +    0xe84b, 0x003f, 0x003f, 0xe84c, 0xe848, 0xbe40, 0xbdfb, 0x003f,
    +    0x003f, 0xbdfa, 0xbdfc, 0x003f, 0xe847, 0x003f, 0xebca, 0xbfe8,
    +    0x003f, 0x003f, 0xebcc, 0xbfea, 0xebcf, 0xebcb, 0xebc9, 0xebce,
    +    0xbfe9, 0xebcd, 0x003f, 0xbfe7, 0x003f, 0x003f, 0xc1d3, 0xc1d6,
    +    0xeec1, 0x003f, 0xc1d4, 0xeec0, 0xc1d2, 0xc1d5, 0xf146, 0xf147,
    +    0xf148, 0xc2e0, 0x003f, 0xf149, 0x003f, 0xc2e1, 0xc3e2, 0xf358,
    +    0xf359, 0xf357, 0xf356, 0xf35a, 0xc3e1, 0xf4dd, 0xf4db, 0xf4dc,
    +    0xf4de, 0xf4da, 0xf4df, 0xf658, 0x003f, 0xf659, 0xf657, 0xc546,
    +    0xf764, 0xc5af, 0xf765, 0xf848, 0xf847, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xa8af, 0xb664, 0x003f, 0x003f, 0xb940,
    +    0x003f, 0x003f, 0x003f, 0xbbb6, 0x003f, 0x003f, 0xbfec, 0x003f,
    +    0xbfeb, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3e3, 0xc47c, 0xc547,
    +    0xa8b0, 0xb064, 0xb941, 0x003f, 0xf35b, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcba6,
    +    0x003f, 0x003f, 0xa8b1, 0x003f, 0xa8b4, 0xa8b3, 0xa8b2, 0x003f,
    +    0x003f, 0xcba5, 0x003f, 0xcdcd, 0x003f, 0xcdcf, 0xaaef, 0x003f,
    +    0x003f, 0xaaf1, 0xcdcc, 0xcdce, 0xaaf0, 0xcdd1, 0xcdd0, 0xcdd2,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xd0b6, 0xd0b4, 0xad7c, 0xd0b3, 0xada3, 0xad7e, 0xad7b, 0x003f,
    +    0xada4, 0x003f, 0xad7d, 0xada2, 0x003f, 0xada1, 0xd0b5, 0x003f,
    +    0xad7a, 0x003f, 0x003f, 0x003f, 0xb06a, 0xd3eb, 0xd3f1, 0xb067,
    +    0xb06e, 0x003f, 0xb069, 0xd3ee, 0xd3f0, 0xb06c, 0xd3ea, 0xd3ed,
    +    /* 0x9000 .. 0x90ff */
    +    0xb068, 0xb065, 0xd3ec, 0xb06b, 0xd3ef, 0xb06d, 0xb066, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xd7e3, 0xd7e6, 0xb370, 0x003f, 0xb37a,
    +    0xb376, 0xd7e4, 0x003f, 0x003f, 0xb37e, 0xb377, 0xb37c, 0xb372,
    +    0x003f, 0xb36f, 0xb371, 0xb37d, 0xd7e5, 0xb375, 0xb378, 0xb374,
    +    0xb379, 0xd7e7, 0xb37b, 0xb373, 0xd7e2, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdc4d, 0xb665, 0xdc4f,
    +    0x003f, 0xb667, 0xb669, 0x003f, 0xdc4e, 0xb666, 0xb66a, 0x003f,
    +    0xb668, 0x003f, 0x003f, 0x003f, 0xb947, 0xe0a3, 0xb94f, 0xe07e,
    +    0x003f, 0xb950, 0xb945, 0x003f, 0xe0a1, 0x003f, 0x003f, 0xb94a,
    +    0x003f, 0xe0a2, 0xb943, 0xb942, 0x003f, 0xb94d, 0xb94c, 0xb94b,
    +    0xb949, 0xb94e, 0xe07d, 0xb944, 0xb946, 0xb948, 0x003f, 0x003f,
    +    0xbbb8, 0xbbbb, 0x003f, 0xbbbf, 0xbbb9, 0xbbbe, 0xbbbc, 0x003f,
    +    0xbbb7, 0x003f, 0xbbbd, 0xbbba, 0x003f, 0x003f, 0x003f, 0xe852,
    +    0xbe43, 0xbe41, 0x003f, 0xe853, 0x003f, 0xbe44, 0xbe42, 0xe851,
    +    0xe850, 0x003f, 0xbff0, 0xe84f, 0xbfee, 0xbfed, 0xebd0, 0xbe45,
    +    0xbfef, 0xebd1, 0xbff2, 0xebd2, 0xbff1, 0xc1d8, 0xeec3, 0xc1d7,
    +    0xc1dc, 0xc1da, 0xc1db, 0xc2e3, 0xc1d9, 0xeec2, 0xebd3, 0xc2e2,
    +    0xc2e4, 0x003f, 0xc3e4, 0xc3e5, 0x003f, 0xf4e0, 0x003f, 0xc5de,
    +    0xc5dd, 0xa8b6, 0x003f, 0x003f, 0xca55, 0xb06f, 0x003f, 0xca52,
    +    0xca53, 0xca51, 0x003f, 0xca54, 0x003f, 0x003f, 0xcbaa, 0xcba7,
    +    0xcbac, 0xcba8, 0xa8b7, 0xa8ba, 0x003f, 0xcba9, 0xa8b9, 0xcbab,
    +    0x003f, 0x003f, 0xa8b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd5,
    +    0xcdd7, 0xaaf4, 0xcdd3, 0xcdd6, 0xcdd4, 0xaaf2, 0xaaf5, 0x003f,
    +    0xaaf3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b8, 0xd0bc, 0xd0b9,
    +    0x003f, 0xada7, 0x003f, 0xada8, 0x003f, 0xd0bb, 0x003f, 0xd0bd,
    +    0xd0bf, 0x003f, 0xada5, 0xd0be, 0x003f, 0x003f, 0xada6, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xd7ee, 0xd0ba, 0xd3f2, 0xd3fb,
    +    0xd3f9, 0xd3f4, 0xd3f5, 0xd3fa, 0xd3fc, 0xb071, 0x003f, 0xd3f7,
    +    0xd3f3, 0xb070, 0xb072, 0xd3f6, 0xd3fd, 0xd3f8, 0x003f, 0x003f,
    +    0xb3a1, 0xd7f1, 0xd7e9, 0xd7ef, 0xd7f0, 0xb3a2, 0x003f, 0xd7e8,
    +    0xd7ea, 0xd0b7, 0xd7ec, 0xd7ed, 0xd7eb, 0xb66c, 0x003f, 0x003f,
    +    0x003f, 0xdc56, 0xebd4, 0xdc57, 0xdc54, 0xb3a3, 0xb66e, 0xdc53,
    +    /* 0x9100 .. 0x91ff */
    +    0xdc59, 0xdc58, 0xb66b, 0xdc5c, 0xdc52, 0xdc5b, 0xdc50, 0xdc5a,
    +    0xdc55, 0xb66d, 0x003f, 0xe0aa, 0x003f, 0xe0a5, 0xe0ab, 0xe0a6,
    +    0xe0a4, 0xe0a7, 0xb951, 0x003f, 0xe0a9, 0x003f, 0xe0a8, 0xb952,
    +    0xbbc1, 0xbbc0, 0xe46e, 0xe471, 0xe469, 0xe46d, 0xbbc2, 0xe46c,
    +    0xe46a, 0xe470, 0xe46b, 0xe468, 0xe46f, 0x003f, 0xe859, 0xbe48,
    +    0xf14a, 0xe856, 0xe857, 0xe855, 0xdc51, 0xbe47, 0xe85a, 0xe854,
    +    0xbe46, 0xbe49, 0xe858, 0xebd5, 0xbff3, 0xebd6, 0xebd7, 0x003f,
    +    0xeec4, 0xc1dd, 0xf14b, 0xf14c, 0x003f, 0x003f, 0xf14d, 0xf35d,
    +    0xf35c, 0xf4e2, 0x003f, 0xf4e1, 0xf65b, 0xf65c, 0xf65a, 0xf766,
    +    0xc5b0, 0xa8bb, 0xadaa, 0xada9, 0xb075, 0xb074, 0xd440, 0xd441,
    +    0xd3fe, 0x003f, 0xb073, 0xd7f5, 0x003f, 0xd7f6, 0xd7f2, 0xb3a4,
    +    0xd7f3, 0x003f, 0xd7f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdc5f,
    +    0xdc61, 0xdc5d, 0xdc60, 0xb66f, 0xdc5e, 0xb670, 0x003f, 0x003f,
    +    0xdd73, 0xb955, 0xb954, 0x003f, 0xb953, 0x003f, 0xe0ac, 0xe0ad,
    +    0x003f, 0x003f, 0xe473, 0xe475, 0xbbc6, 0xbbc3, 0x003f, 0xbbc5,
    +    0xbbc4, 0xe474, 0xe472, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xe861, 0xe85e, 0xe85f, 0xbe4d, 0xe860, 0xe85b, 0xe85c, 0xbe4a,
    +    0x003f, 0xbe4b, 0xe85d, 0xbe4c, 0x003f, 0xebdb, 0x003f, 0xebdc,
    +    0xebd9, 0xebda, 0xbff4, 0xebd8, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xeec8, 0xeec5, 0xeec7, 0xc1e0, 0xeecb, 0xc1df, 0xeec9,
    +    0xeecc, 0xeeca, 0xeec6, 0xc1de, 0x003f, 0xf14f, 0x003f, 0xf150,
    +    0xf14e, 0x003f, 0xf152, 0xc2e5, 0xc2e6, 0xf35f, 0xc3e7, 0xf151,
    +    0xf35e, 0xc3e6, 0xf4e5, 0xf4e6, 0xc4bf, 0xf4e4, 0x003f, 0xf4e3,
    +    0x003f, 0xf65d, 0xc548, 0x003f, 0xf849, 0xf8c8, 0xf8c7, 0x003f,
    +    0xc643, 0xc65d, 0xf8c9, 0xf971, 0x003f, 0xc66f, 0xa8bc, 0xaaf6,
    +    0x003f, 0xb956, 0x003f, 0xc4c0, 0xa8bd, 0xadab, 0xb3a5, 0xb671,
    +    0xc2e7, 0xaaf7, 0x003f, 0xd0c1, 0xd0c0, 0xd442, 0x003f, 0xb078,
    +    0xb076, 0xb07a, 0xd444, 0x003f, 0xb079, 0xb077, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd443, 0xb3a8, 0xd7fc, 0x003f, 0xb3a7, 0xb3a9,
    +    0xd842, 0xb3ab, 0xd7fe, 0xd840, 0xd7f7, 0xb3aa, 0xd843, 0x003f,
    +    0x003f, 0xd7f9, 0x003f, 0xd7fa, 0xd7f8, 0xb3a6, 0x003f, 0xd841,
    +    0xd7fb, 0xd7fd, 0x003f, 0x003f, 0x003f, 0xdc6d, 0x003f, 0xdc6c,
    +    /* 0x9200 .. 0x92ff */
    +    0xdc6a, 0xdc62, 0xdc71, 0xdc65, 0xdc6f, 0xdc76, 0xdc6e, 0xb679,
    +    0x003f, 0xb675, 0xdc63, 0x003f, 0xdc69, 0xb677, 0x003f, 0xdc68,
    +    0xb678, 0xb67a, 0xdc6b, 0x003f, 0xb672, 0xb673, 0xdc77, 0xdc75,
    +    0x003f, 0xdc74, 0xdc66, 0x003f, 0xdc72, 0x003f, 0xb676, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xb674, 0xdc73, 0xdc64, 0xdc67, 0xdc70,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ba, 0xe0b7, 0x003f,
    +    0xe0b0, 0xe0c3, 0xe0cc, 0xe0b3, 0xb961, 0x003f, 0xe0c0, 0xb957,
    +    0xb959, 0xb965, 0xe0b1, 0x003f, 0x003f, 0xb95a, 0xb95c, 0xb966,
    +    0xb95b, 0x003f, 0x003f, 0x003f, 0x003f, 0xb964, 0xe0b9, 0x003f,
    +    0xe0ae, 0xb962, 0xe0b8, 0xb95e, 0xe0ca, 0xb963, 0xe0c8, 0xe0bc,
    +    0xe0c6, 0xb960, 0xe0af, 0xe0c9, 0xe0c4, 0x003f, 0xe0cb, 0xb958,
    +    0x003f, 0x003f, 0xb967, 0xb95d, 0x003f, 0x003f, 0xe0b5, 0x003f,
    +    0xe0bd, 0xe0c1, 0x003f, 0xe0c5, 0xb95f, 0xe0b4, 0xe0b2, 0xe0be,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xe0bb, 0xe0ba, 0x003f, 0xe0bf,
    +    0xe0c2, 0x003f, 0xe0c7, 0x003f, 0x003f, 0x003f, 0xe478, 0x003f,
    +    0xbbc7, 0xe4a4, 0xe47a, 0xbbcc, 0xbbd0, 0xe4ad, 0xe4b5, 0xe4a6,
    +    0xbbc8, 0x003f, 0xe4aa, 0xe0b6, 0x003f, 0xbbc9, 0xe4b1, 0xe4b6,
    +    0xe4ae, 0x003f, 0xe4b0, 0xe4b9, 0xe4b2, 0xe47e, 0xe4a9, 0x003f,
    +    0x003f, 0xbbd1, 0x003f, 0xbbcd, 0xe47c, 0xe4ab, 0xbbcb, 0xe4a5,
    +    0xbbca, 0xe4b3, 0xe4a2, 0xe479, 0xbbce, 0xe4b8, 0x003f, 0x003f,
    +    0xe47b, 0xe4af, 0xe4ac, 0xe4a7, 0xe477, 0xe476, 0xe4a1, 0xe4b4,
    +    0xbbcf, 0xe4b7, 0xe47d, 0xe4a3, 0xbe52, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xbe5a, 0xbe55, 0xe8a4, 0xe8a1, 0xe867, 0xbe50,
    +    0x003f, 0xf9d7, 0x003f, 0xbe4f, 0xbe56, 0x003f, 0x003f, 0x003f,
    +    0xe865, 0xbe54, 0xe871, 0xe863, 0xe864, 0xbe4e, 0xe8a3, 0xbe58,
    +    0xe874, 0xe879, 0xe873, 0xebee, 0xe86f, 0xe877, 0xe875, 0xe868,
    +    0xe862, 0xe87d, 0xbe57, 0xe87e, 0x003f, 0xe878, 0x003f, 0xe86d,
    +    0xe86b, 0xe866, 0x003f, 0x003f, 0x003f, 0xe86e, 0xe87b, 0xe86a,
    +    0xe87a, 0xe8a2, 0x003f, 0x003f, 0xbe53, 0x003f, 0xe876, 0xe87c,
    +    0xe872, 0xe86c, 0xbe51, 0x003f, 0x003f, 0x003f, 0xe4a8, 0xe870,
    +    0xbe59, 0xe869, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf4,
    +    0xbff7, 0xebf3, 0xebf0, 0xec44, 0xbffb, 0x003f, 0xec41, 0xebf8,
    +    /* 0x9300 .. 0x93ff */
    +    0xec43, 0xebe9, 0xebf6, 0x003f, 0xbffd, 0x003f, 0xebe1, 0x003f,
    +    0xebdf, 0xec42, 0x003f, 0xec40, 0xebfe, 0xebed, 0xebec, 0xebe2,
    +    0xc040, 0x003f, 0xebe8, 0xebf2, 0xebfd, 0xc043, 0xec45, 0x003f,
    +    0xc1e8, 0xc045, 0xbffe, 0xebe6, 0x003f, 0xebef, 0xebde, 0xebe0,
    +    0xbff5, 0xc042, 0xbffa, 0xebe7, 0xebf7, 0xebf1, 0xc041, 0xebdd,
    +    0xc1e3, 0xebf9, 0xebfc, 0xbffc, 0x003f, 0xebeb, 0xc044, 0xbff9,
    +    0x003f, 0x003f, 0x003f, 0xbff8, 0xebf5, 0xebfb, 0xbff6, 0x003f,
    +    0xebe4, 0xebfa, 0x003f, 0x003f, 0xebe5, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebea, 0xeed2,
    +    0x003f, 0xeed7, 0xc1e5, 0xc1e7, 0xeedd, 0xc1e1, 0xeeec, 0xeee3,
    +    0xeed8, 0xeed9, 0xeee2, 0x003f, 0xc1ee, 0xeee1, 0xeed1, 0xeee0,
    +    0xeed4, 0xeeed, 0xc1ed, 0xc1eb, 0xeed5, 0x003f, 0xeee8, 0x003f,
    +    0xeeda, 0xeee7, 0x003f, 0xeee9, 0xeed0, 0xc1e6, 0x003f, 0xeeea,
    +    0x003f, 0x003f, 0xeede, 0x003f, 0xc1ea, 0xeedb, 0x003f, 0x003f,
    +    0xc1ec, 0xeee4, 0x003f, 0x003f, 0x003f, 0xc1e4, 0xeed6, 0xeee5,
    +    0x003f, 0xeedf, 0xebe3, 0xeee6, 0xeed3, 0x003f, 0xc1e9, 0x003f,
    +    0xeeeb, 0x003f, 0xc1e2, 0xeece, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf160, 0xf159, 0xc2e9, 0x003f, 0xf154, 0xf163, 0xf15b, 0xeedc,
    +    0x003f, 0xf165, 0xf155, 0x003f, 0xc2e8, 0xf15f, 0xc2ea, 0xc2f2,
    +    0xc2f0, 0xf161, 0xc2f1, 0xf157, 0x003f, 0xf158, 0xf15d, 0xf162,
    +    0x003f, 0xeecd, 0xc2eb, 0xf16a, 0xf167, 0xf16b, 0xf15e, 0xf15a,
    +    0xf168, 0xf36a, 0xf15c, 0x003f, 0xc2ee, 0x003f, 0xc2ed, 0xeecf,
    +    0xc2ef, 0xf164, 0xf166, 0xc2ec, 0xf169, 0xf153, 0x003f, 0xf156,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf373, 0x003f, 0xf363, 0xc3eb, 0xf371, 0x003f, 0x003f, 0xf361,
    +    0xc3ec, 0x003f, 0xf36c, 0x003f, 0xf368, 0xc3f1, 0xf372, 0xf362,
    +    0xf365, 0xc3e9, 0xf374, 0x003f, 0xf36d, 0xf370, 0xc3ef, 0xc3f4,
    +    0xc3f2, 0xf369, 0xf364, 0x003f, 0xc3ed, 0xc3ee, 0xf360, 0xc3ea,
    +    0x003f, 0xc3e8, 0xc3f0, 0xf36f, 0xc3f3, 0x003f, 0xf36b, 0xf375,
    +    0xc3f5, 0x003f, 0x003f, 0x003f, 0xf367, 0x003f, 0xf36e, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f3, 0xf542, 0xf4f5,
    +    0xf4fc, 0xf366, 0xf4fa, 0xf4e9, 0xf540, 0xc4c3, 0xf4ed, 0xf4fe,
    +    /* 0x9400 .. 0x94ff */
    +    0xf4f4, 0x003f, 0x003f, 0xc4c2, 0x003f, 0x003f, 0xf544, 0xf4f6,
    +    0x003f, 0xf4fb, 0xf4fd, 0xf4e7, 0xf541, 0xf4f2, 0xf4f7, 0xf4eb,
    +    0xf4ef, 0xf543, 0xf4f9, 0xf4e8, 0xf4ec, 0xf4ee, 0xf4f8, 0x003f,
    +    0xc4c1, 0xf4f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf4ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xf4f0, 0xf661, 0xf666, 0xc54f, 0xf668, 0x003f, 0xc549, 0x003f,
    +    0xf664, 0xf66a, 0xc54e, 0xc54a, 0x003f, 0xc54b, 0xf660, 0xf667,
    +    0xc54d, 0xf665, 0xc54c, 0xf65f, 0xf663, 0xf662, 0x003f, 0xf65e,
    +    0xf669, 0x003f, 0x003f, 0x003f, 0xc5b1, 0xf76d, 0xf770, 0xf76c,
    +    0xf76e, 0xf76f, 0xf769, 0xf76a, 0xf767, 0x003f, 0x003f, 0xf76b,
    +    0xf768, 0xc5b2, 0xc5b3, 0x003f, 0x003f, 0xf84b, 0x003f, 0xf84d,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf84c, 0xf84e, 0x003f,
    +    0xc5e0, 0x003f, 0xf84a, 0xc5df, 0xc5e1, 0x003f, 0x003f, 0x003f,
    +    0xf8cb, 0xf8cc, 0xc644, 0xf8ca, 0x003f, 0xf953, 0xf952, 0xf954,
    +    0xc65f, 0xf955, 0xc65e, 0xf956, 0xf972, 0xf975, 0xf974, 0xc668,
    +    0xf973, 0x003f, 0x003f, 0x003f, 0xc672, 0xc670, 0xc671, 0xc677,
    +    0xf9c0, 0xf9c1, 0xf9bf, 0xf9c9, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9500 .. 0x95ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xaaf8,
    +    0x003f, 0x003f, 0xd844, 0xdc78, 0xe8a5, 0xf376, 0x003f, 0x003f,
    +    0xaaf9, 0x003f, 0xadac, 0xb07b, 0x003f, 0x003f, 0xd845, 0x003f,
    +    0xd846, 0xb3ac, 0x003f, 0xb67d, 0xdc7a, 0xdc79, 0xb6a3, 0xb67c,
    +    0xdc7b, 0xb67e, 0xb6a2, 0xb6a1, 0xb67b, 0x003f, 0x003f, 0x003f,
    +    0xb968, 0x003f, 0x003f, 0xe0d0, 0xe0ce, 0x003f, 0xe0cf, 0xe0cd,
    +    0x003f, 0xbbd2, 0x003f, 0xbbd5, 0xbbd7, 0xbbd6, 0x003f, 0x003f,
    +    0xbbd3, 0xbbd4, 0x003f, 0xe8a7, 0xe8a6, 0xbe5b, 0xe8a8, 0x003f,
    +    0xe8a9, 0xbe5c, 0x003f, 0x003f, 0x003f, 0xec4d, 0xec4b, 0xeef3,
    +    0x003f, 0xec49, 0xec4a, 0xc046, 0xec46, 0xec4e, 0xec48, 0xec4c,
    +    0xeeef, 0x003f, 0x003f, 0xeef1, 0x003f, 0xeef2, 0xc1f3, 0xeeee,
    +    0xc1f2, 0xeef0, 0xc1ef, 0xc1f0, 0xc1f1, 0xec47, 0x003f, 0x003f,
    +    0xc2f5, 0xf16e, 0xf16c, 0xf16d, 0xc2f3, 0xc2f6, 0xc2f4, 0x003f,
    +    0x003f, 0x003f, 0xf377, 0xf378, 0xc3f6, 0x003f, 0xf545, 0xf547,
    +    0xf546, 0xc4c4, 0xc550, 0xf66d, 0xf66c, 0xf66b, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0x9600 .. 0x96ff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xaafa, 0x003f, 0xc9aa, 0x003f,
    +    0xca58, 0xa6e9, 0xca56, 0xca59, 0xca57, 0x003f, 0x003f, 0x003f,
    +    0xcbae, 0x003f, 0xa8c1, 0x003f, 0xa8c2, 0xcbb0, 0xa8bf, 0xcbaf,
    +    0xcbad, 0xa8c0, 0xa8be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xcdd8, 0xcddb, 0xaafd, 0xcdda, 0xcdd9, 0x003f, 0xaafc,
    +    0xaafb, 0x003f, 0xab40, 0xcddc, 0xaafe, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xd0c6, 0xadae, 0xadaf, 0xadb0, 0xd0c7, 0xd0c3,
    +    0xadad, 0xd0c4, 0x003f, 0xd0c5, 0xd0c2, 0x003f, 0x003f, 0x003f,
    +    0xb0a4, 0x003f, 0x003f, 0xb0a1, 0xd445, 0xb0a2, 0xb0a5, 0xd446,
    +    0x003f, 0xb07e, 0xb07c, 0xb07d, 0xb0a3, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xb3ad, 0xd849, 0xb3b5, 0xd848, 0x003f, 0xd84b,
    +    0xb3b1, 0xd84a, 0xb6ab, 0xb3af, 0xb3b2, 0xb3ae, 0xb3b3, 0xb3b4,
    +    0xb3b0, 0x003f, 0x003f, 0x003f, 0xd847, 0xb6a7, 0xdc7d, 0x003f,
    +    0xdca3, 0x003f, 0x003f, 0xdca2, 0xb6ac, 0xb6a8, 0xb6a9, 0xdc7c,
    +    0xdc7e, 0xdca1, 0xb6a4, 0xb6a6, 0x003f, 0xb6aa, 0xb6a5, 0x003f,
    +    0x003f, 0xe0d3, 0xe0d1, 0xe0d2, 0xb96a, 0xb96b, 0x003f, 0xe0d4,
    +    0xb969, 0xbbd8, 0x003f, 0xbbda, 0xbbd9, 0x003f, 0xe4bb, 0x003f,
    +    0x003f, 0xe4bc, 0xe8ab, 0x003f, 0xe8aa, 0x003f, 0x003f, 0xc047,
    +    0xc048, 0xec4f, 0xc049, 0x003f, 0xeef6, 0x003f, 0xeef4, 0x003f,
    +    0xeef5, 0xc1f4, 0x003f, 0xf16f, 0xc3f7, 0x003f, 0x003f, 0x003f,
    +    0xc1f5, 0xab41, 0x003f, 0xb0a6, 0xd447, 0x003f, 0x003f, 0xd84c,
    +    0xb3b6, 0xb6ad, 0xdca4, 0xdca6, 0xb6af, 0xb6ae, 0xb6b0, 0xb6b1,
    +    0xdca5, 0xb96e, 0xb96f, 0xb96d, 0xbbdb, 0xb96c, 0xe0d5, 0x003f,
    +    0x003f, 0x003f, 0xbbdc, 0xe8ac, 0xec50, 0xc04a, 0xc1f6, 0xf170,
    +    0xf174, 0xc2f9, 0xf171, 0xc2fa, 0xc2f8, 0xf175, 0xc2fb, 0xf173,
    +    0x003f, 0xf379, 0xc2f7, 0xc3f8, 0x003f, 0xf8cd, 0x003f, 0x003f,
    +    0xab42, 0xb3b8, 0xb3b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6b2,
    +    0xdca8, 0xdca7, 0xb6b3, 0x003f, 0x003f, 0xe0d9, 0xb973, 0xb970,
    +    0xe0d8, 0xb972, 0xe0d6, 0xb971, 0x003f, 0xe0d7, 0x003f, 0xe4bd,
    +    /* 0x9700 .. 0x97ff */
    +    0xbbdd, 0x003f, 0xe8af, 0x003f, 0xbe5d, 0xe8ad, 0xbe5e, 0xbe5f,
    +    0xe8ae, 0xbe60, 0x003f, 0xec51, 0x003f, 0xc04e, 0xc04b, 0xc050,
    +    0xec53, 0xc04c, 0xec52, 0xc04f, 0x003f, 0x003f, 0xc04d, 0x003f,
    +    0xeef9, 0xeefb, 0x003f, 0x003f, 0xc1f7, 0xeefa, 0xc1f8, 0xeef8,
    +    0xeef7, 0x003f, 0xf177, 0xf176, 0xc2fc, 0xf178, 0xf37e, 0xc3fa,
    +    0xf37d, 0xf37a, 0xc3f9, 0xf37b, 0xf37c, 0x003f, 0xf548, 0xf549,
    +    0xc4c5, 0x003f, 0xc553, 0x003f, 0x003f, 0xf66e, 0x003f, 0x003f,
    +    0xc551, 0xc552, 0xf66f, 0x003f, 0x003f, 0xc5b4, 0xc5b5, 0xf771,
    +    0x003f, 0x003f, 0xc645, 0xf8cf, 0xc647, 0x003f, 0xf8ce, 0xf8d0,
    +    0xc646, 0xf957, 0x003f, 0xf9ad, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xab43, 0x003f, 0x003f, 0x003f, 0xb974, 0x003f,
    +    0xe4be, 0x003f, 0xe8b0, 0xc051, 0xc052, 0x003f, 0xab44, 0x003f,
    +    0xbe61, 0xc3fb, 0xadb1, 0x003f, 0x003f, 0x003f, 0xc053, 0x003f,
    +    0xc5e2, 0xadb2, 0xd84d, 0x003f, 0xdca9, 0x003f, 0xdcab, 0x003f,
    +    0xdcaa, 0x003f, 0xe0dd, 0xe0da, 0xb975, 0x003f, 0xb976, 0xe0db,
    +    0xe0dc, 0x003f, 0xe4c0, 0xe4c5, 0xbbde, 0xe4bf, 0xe4c1, 0xe4c8,
    +    0xe4c3, 0xe4c7, 0xe4c4, 0xe4c2, 0xe4c6, 0xbbdf, 0x003f, 0x003f,
    +    0xe8b3, 0x003f, 0xe8b1, 0xbe63, 0x003f, 0xbe62, 0xe8b2, 0xbe64,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xec56, 0x003f, 0x003f, 0xec55,
    +    0xc054, 0xec54, 0xeefc, 0x003f, 0xeefe, 0xef41, 0xef40, 0x003f,
    +    0xc1f9, 0xeefd, 0xf1a1, 0xc2fd, 0xf17d, 0xf1a2, 0xc2fe, 0x003f,
    +    0xf17b, 0x003f, 0xf17e, 0xf17c, 0xf179, 0xc340, 0xf17a, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf3a1, 0x003f, 0x003f, 0xf3a3, 0xf3a2,
    +    0x003f, 0xf54a, 0x003f, 0xf54b, 0x003f, 0x003f, 0x003f, 0xf670,
    +    0x003f, 0xc5b7, 0x003f, 0xc5b6, 0xf84f, 0xf850, 0xc648, 0xf8d1,
    +    0x003f, 0xc669, 0x003f, 0xadb3, 0xb6b4, 0xe4ca, 0xe4c9, 0xe8b5,
    +    0xe8b4, 0x003f, 0x003f, 0xc1fa, 0xef43, 0xef42, 0xf1a5, 0xf1a3,
    +    0xf1a6, 0xf1a4, 0x003f, 0x003f, 0xc3fc, 0xf3a4, 0xf3a5, 0xf3a6,
    +    0x003f, 0xf671, 0x003f, 0xf772, 0x003f, 0xf8d2, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xadb4, 0x003f, 0x003f,
    +    0xec57, 0xef44, 0x003f, 0xadb5, 0x003f, 0x003f, 0xbbe0, 0x003f,
    +    0xec58, 0xc341, 0xf1a7, 0xc3fd, 0x003f, 0xf54c, 0xf54d, 0xc554,
    +    /* 0x9800 .. 0x98ff */
    +    0xf851, 0xadb6, 0xb3bb, 0xb3bc, 0xd84e, 0xb6b5, 0xb6b6, 0xdcac,
    +    0xb6b7, 0x003f, 0xb97a, 0x003f, 0xb97c, 0xe0df, 0xe0e0, 0xe0de,
    +    0xb977, 0xb978, 0xb97b, 0xb979, 0x003f, 0x003f, 0xe4cb, 0xbbe1,
    +    0xbbe2, 0x003f, 0x003f, 0xe8bc, 0xbe67, 0xe8b7, 0xe8b6, 0x003f,
    +    0xe8bb, 0xbe65, 0x003f, 0x003f, 0xc05b, 0x003f, 0xe8b8, 0xe8bd,
    +    0xe8ba, 0xe8b9, 0x003f, 0xbe66, 0x003f, 0xc059, 0x003f, 0xec5a,
    +    0xc055, 0x003f, 0xec5b, 0x003f, 0x003f, 0xec59, 0x003f, 0xc058,
    +    0xc056, 0xc05a, 0x003f, 0xc057, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xef45, 0x003f, 0xef4a, 0xef46, 0xef49, 0xc1fb, 0x003f,
    +    0xedd4, 0xef48, 0xef47, 0x003f, 0xc344, 0xc342, 0xc345, 0xc343,
    +    0xf1a8, 0xf1a9, 0xf1aa, 0xc346, 0x003f, 0x003f, 0x003f, 0xf3aa,
    +    0xc440, 0xf3a8, 0x003f, 0xc441, 0xf3a7, 0xf3a9, 0xc3fe, 0xf551,
    +    0xf54e, 0x003f, 0xf54f, 0xf550, 0xf672, 0xc556, 0x003f, 0xc555,
    +    0x003f, 0xf774, 0xf773, 0xc5b8, 0x003f, 0x003f, 0x003f, 0xc5e3,
    +    0xc649, 0xc660, 0xf958, 0xf9ae, 0xf9af, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xadb7, 0xdcad, 0x003f, 0x003f, 0xe0e1, 0xe4cc, 0xe4cd, 0xbbe3,
    +    0x003f, 0xbbe4, 0xe8be, 0xbe68, 0x003f, 0x003f, 0xc1fc, 0x003f,
    +    0xf1ab, 0x003f, 0xc347, 0xf3ad, 0xc442, 0xf3ac, 0xf3ae, 0xf3ab,
    +    0xf675, 0xf552, 0xf553, 0x003f, 0xc4c6, 0x003f, 0xf674, 0x003f,
    +    0x003f, 0xf673, 0x003f, 0xf775, 0xf9b0, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xadb8, 0x003f, 0x003f, 0x003f, 0xadb9,
    +    0x003f, 0x003f, 0xb0a7, 0xd448, 0x003f, 0xd84f, 0x003f, 0xb6b8,
    +    0x003f, 0xb6bb, 0xb6b9, 0xdcae, 0x003f, 0xb6bd, 0x003f, 0xb6ba,
    +    0x003f, 0x003f, 0xb6bc, 0x003f, 0xb97e, 0x003f, 0xe0e2, 0x003f,
    +    0x003f, 0xe0e3, 0xe8c0, 0x003f, 0xb97d, 0xb9a1, 0xb9a2, 0x003f,
    +    /* 0x9900 .. 0x99ff */
    +    0xe4cf, 0x003f, 0xe4ce, 0xbbe5, 0x003f, 0xbbe6, 0x003f, 0xe4d0,
    +    0xe8bf, 0xbbe8, 0xbe69, 0x003f, 0xbbe7, 0x003f, 0x003f, 0x003f,
    +    0xc05c, 0xe8c1, 0xbe6b, 0xbe6a, 0xe8c2, 0xe8c5, 0xe8c3, 0xe8c4,
    +    0xbe6c, 0x003f, 0xc061, 0xc05f, 0x003f, 0x003f, 0xc05e, 0xec5d,
    +    0x003f, 0xc060, 0x003f, 0x003f, 0xec5c, 0xef4b, 0x003f, 0xec5e,
    +    0xc05d, 0xec5f, 0xef4e, 0xef4c, 0xef4d, 0xef52, 0xc34b, 0xef51,
    +    0xef54, 0xef53, 0xef50, 0xef4f, 0x003f, 0xc1fd, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1ae, 0x003f, 0xf1ad, 0xc34a, 0xc348, 0xc349,
    +    0x003f, 0xf1ac, 0x003f, 0xf3b1, 0x003f, 0xc443, 0x003f, 0xf3b0,
    +    0xf3af, 0xc444, 0x003f, 0xf558, 0xf557, 0x003f, 0xf555, 0x003f,
    +    0xf554, 0xc4c8, 0xc4c7, 0xf559, 0xf776, 0xc5b9, 0xf677, 0xc557,
    +    0xf676, 0xf556, 0x003f, 0xf777, 0xc5e4, 0x003f, 0xc661, 0xf959,
    +    0x003f, 0xf9b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xadba, 0xd850,
    +    0xef55, 0xadbb, 0x003f, 0x003f, 0xe4d2, 0xe4d1, 0xec60, 0x003f,
    +    0x003f, 0xef57, 0x003f, 0xef56, 0x003f, 0xc34c, 0xf3b2, 0xf3b3,
    +    0xc4c9, 0x003f, 0x003f, 0xf9b2, 0xb0a8, 0xb6bf, 0xb6be, 0xe0e4,
    +    0xe0e6, 0xb9a4, 0xe0e5, 0xb9a3, 0xb9a5, 0xe0e7, 0x003f, 0x003f,
    +    0x003f, 0xe4d4, 0xe4d6, 0xe4d5, 0x003f, 0xe4d8, 0x003f, 0x003f,
    +    0x003f, 0xbbe9, 0xe4d7, 0xe4d3, 0x003f, 0x003f, 0x003f, 0xe4d9,
    +    0x003f, 0xe8cc, 0x003f, 0xe8cf, 0xe8d1, 0xe8c7, 0xe8cb, 0xe8c8,
    +    0xbe6e, 0xbe71, 0xbe73, 0xe8c9, 0xe8ca, 0xbe72, 0xe8cd, 0xe8d0,
    +    0xe8ce, 0xbe74, 0x003f, 0xbe70, 0xe8c6, 0xbe6d, 0x003f, 0xbe6f,
    +    0x003f, 0x003f, 0xc063, 0xec66, 0xec64, 0xec63, 0x003f, 0xec69,
    +    0x003f, 0xec68, 0xec67, 0x003f, 0xec62, 0xc062, 0xec61, 0x003f,
    +    0xec65, 0xc064, 0x003f, 0x003f, 0xef5a, 0x003f, 0xef5e, 0xef5b,
    +    0xef5d, 0xef5c, 0xef59, 0xef5f, 0xef62, 0xef60, 0xef61, 0xc240,
    +    /* 0x9a00 .. 0x9aff */
    +    0x003f, 0xc1fe, 0xef58, 0xef63, 0xf1b3, 0xf1b6, 0xf1b8, 0xf1b7,
    +    0x003f, 0xf1b1, 0xf1b5, 0xf1b0, 0x003f, 0xf1b2, 0xc34d, 0xf1af,
    +    0x003f, 0xf1b4, 0x003f, 0x003f, 0xf3c0, 0xf3b5, 0xc445, 0x003f,
    +    0x003f, 0xc446, 0xf3b4, 0xf3b9, 0xf3bf, 0xf3b7, 0xf3be, 0x003f,
    +    0xf3bb, 0x003f, 0xf3ba, 0xf3bd, 0xf3b8, 0xf3b6, 0x003f, 0xf3bc,
    +    0x003f, 0xf560, 0xf55e, 0xc4ca, 0xf55d, 0xf563, 0xf561, 0x003f,
    +    0xc4cb, 0xf55c, 0xf55a, 0x003f, 0xf55b, 0xc4cd, 0xf55f, 0xc4cc,
    +    0xf562, 0xf678, 0xf67e, 0x003f, 0x003f, 0xf679, 0xc55b, 0xf6a1,
    +    0xc55a, 0xf67d, 0xf67c, 0xc559, 0xf67b, 0xc558, 0xf67a, 0x003f,
    +    0xf77d, 0xf7a1, 0xf77e, 0x003f, 0xf77b, 0xc5bb, 0xf778, 0xf77c,
    +    0xf7a3, 0x003f, 0xf7a2, 0xf779, 0xf77a, 0xc5ba, 0xf852, 0xc5e7,
    +    0x003f, 0xf853, 0xc5e5, 0xc5e6, 0x003f, 0x003f, 0xf8d3, 0xc64a,
    +    0xf976, 0x003f, 0xc66a, 0x003f, 0xf9b3, 0xc66b, 0xf9b4, 0xf9b5,
    +    0xf9c3, 0xf9c2, 0xc67a, 0xf9cd, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xb0a9, 0x003f, 0x003f, 0xe0e9, 0x003f, 0xe0e8, 0x003f, 0xbbea,
    +    0xbbeb, 0xe4da, 0x003f, 0xe8d2, 0xec6c, 0x003f, 0x003f, 0xbe75,
    +    0xc065, 0xec6a, 0x003f, 0xec6d, 0xc066, 0x003f, 0xef64, 0xec6b,
    +    0xf1b9, 0xc34e, 0xf3c1, 0x003f, 0x003f, 0x003f, 0xf566, 0xf564,
    +    0x003f, 0x003f, 0xf565, 0x003f, 0x003f, 0xf6a2, 0x003f, 0xc55c,
    +    0xf7a4, 0xc5ea, 0xc5bc, 0xc5e8, 0xc5e9, 0xf8d4, 0xc662, 0x003f,
    +    0xb0aa, 0x003f, 0x003f, 0x003f, 0xf1ba, 0x003f, 0x003f, 0xd449,
    +    0x003f, 0xb9a6, 0x003f, 0xe4db, 0x003f, 0x003f, 0xbbec, 0xe4dc,
    +    0x003f, 0x003f, 0x003f, 0xe8d4, 0xe8d3, 0xc068, 0xbe76, 0xbe77,
    +    0x003f, 0xe8d7, 0xe8d6, 0xe8d5, 0x003f, 0x003f, 0xec6e, 0xec71,
    +    0x003f, 0xec70, 0xec6f, 0xc067, 0xef68, 0xef66, 0xef65, 0x003f,
    +    /* 0x9b00 .. 0x9bff */
    +    0x003f, 0xef67, 0x003f, 0xc34f, 0xf1bc, 0xf1bd, 0xc350, 0x003f,
    +    0xf1bb, 0x003f, 0xf3c3, 0xf3c2, 0xf3c5, 0xc447, 0xf3c4, 0x003f,
    +    0xf567, 0xf569, 0xf568, 0x003f, 0x003f, 0xf6a3, 0xf6a6, 0xf6a4,
    +    0xf6a5, 0xf7a5, 0xc5bd, 0x003f, 0x003f, 0x003f, 0xf854, 0xf855,
    +    0xf856, 0x003f, 0xc64b, 0xc663, 0xf9b6, 0xb0ab, 0x003f, 0xbe78,
    +    0xc069, 0xf1be, 0x003f, 0xf7a6, 0x003f, 0x003f, 0xf9c4, 0xd44a,
    +    0x003f, 0xc67b, 0xb0ac, 0xec72, 0x003f, 0xf1bf, 0x003f, 0xf3c6,
    +    0x003f, 0x003f, 0xf6a7, 0xf7a7, 0xb0ad, 0x003f, 0xe4dd, 0xe4de,
    +    0x003f, 0xbbed, 0xbbee, 0xe8d9, 0xbe7a, 0xbe79, 0xe8d8, 0x003f,
    +    0xef69, 0x003f, 0xf1c0, 0xf1c2, 0xf1c1, 0xc353, 0xc352, 0xc351,
    +    0x003f, 0xc55e, 0xf6a8, 0x003f, 0xc55d, 0xf7a9, 0xf7a8, 0x003f,
    +    0xc64c, 0xf8d5, 0xb3bd, 0xe0ea, 0x003f, 0x003f, 0x003f, 0xe4e1,
    +    0xe4df, 0xe4e0, 0x003f, 0x003f, 0xe8e2, 0x003f, 0xe8dd, 0xe8da,
    +    0xe8e1, 0x003f, 0x003f, 0x003f, 0xe8e3, 0x003f, 0x003f, 0xbe7c,
    +    0xe8e0, 0xe8dc, 0x003f, 0x003f, 0xe8db, 0xe8df, 0xe8de, 0xbe7b,
    +    0x003f, 0x003f, 0xec7d, 0xec78, 0xec76, 0xeca1, 0xec77, 0x003f,
    +    0xec73, 0x003f, 0xec79, 0x003f, 0x003f, 0xec74, 0xef72, 0xec75,
    +    0xeca2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xec7c, 0xc06a, 0xec7b, 0xec7a, 0x003f, 0xec7e, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xef6a, 0xef6d, 0x003f, 0x003f, 0xef6c, 0x003f,
    +    0xef74, 0xef6f, 0xef73, 0x003f, 0xef71, 0xef70, 0xef6e, 0x003f,
    +    0xef6b, 0x003f, 0xc243, 0xc242, 0x003f, 0xc244, 0xc241, 0xef75,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1c8, 0xf1cb, 0x003f,
    +    0xf1c9, 0xf1cd, 0x003f, 0x003f, 0x003f, 0xf1ce, 0x003f, 0xf1c6,
    +    0xc358, 0xf1c7, 0x003f, 0xf1c5, 0xf1cc, 0x003f, 0xf1c4, 0xf1c3,
    +    0xc357, 0xc355, 0xc354, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0xf1ca, 0xf3cf, 0xf3d5, 0xc44a, 0xf3d0,
    +    0x003f, 0xf3d3, 0xf3d7, 0xc44b, 0xf3d2, 0x003f, 0xf3ca, 0x003f,
    +    0xf3c9, 0xf3d6, 0xf3cd, 0x003f, 0xf3cb, 0xf3d4, 0xf3cc, 0xc449,
    +    0xc448, 0x003f, 0xf3c7, 0xf3c8, 0xf3d1, 0x003f, 0x003f, 0x003f,
    +    0xf3ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf56c,
    +    0xf56f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc356, 0x003f, 0x003f,
    +    /* 0x9c00 .. 0x9cff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf56d, 0xf573, 0xf571,
    +    0xf56b, 0xf576, 0x003f, 0xf56a, 0x003f, 0xc4cf, 0xf572, 0x003f,
    +    0x003f, 0x003f, 0xf56e, 0xc4ce, 0xf575, 0x003f, 0x003f, 0xf574,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0xf6ab, 0xf6aa, 0x003f, 0x003f,
    +    0x003f, 0xf6b1, 0x003f, 0xf6ad, 0xf6b0, 0xc560, 0x003f, 0x003f,
    +    0xf6ae, 0xf6af, 0x003f, 0xf6a9, 0xf6ac, 0xc55f, 0x003f, 0x003f,
    +    0x003f, 0xc5bf, 0xf7b4, 0xf7af, 0xf7b3, 0x003f, 0xf7b6, 0xf7b2,
    +    0x003f, 0xf7ae, 0x003f, 0xc5c1, 0xf7b1, 0xf7b5, 0xc5c0, 0xf7ac,
    +    0xf570, 0xf7b0, 0x003f, 0x003f, 0xf7ad, 0x003f, 0xf7aa, 0x003f,
    +    0xf7ab, 0xc5be, 0xf85a, 0xf85c, 0xf85f, 0xf85b, 0xf860, 0x003f,
    +    0xf859, 0x003f, 0xf857, 0x003f, 0xc5eb, 0xf85d, 0xc5ed, 0xc5ec,
    +    0xf858, 0xf85e, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8da, 0xc64d,
    +    0xf8db, 0x003f, 0xf8d9, 0xf8d6, 0x003f, 0x003f, 0xf8d8, 0xf8d7,
    +    0xf95a, 0x003f, 0x003f, 0x003f, 0x003f, 0xf95c, 0xf95b, 0x003f,
    +    0x003f, 0xf979, 0x003f, 0xf978, 0xf977, 0xf97a, 0x003f, 0xc673,
    +    0xc674, 0xf9ca, 0xf9ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3be, 0xdcaf, 0xe0ed,
    +    0x003f, 0xb9a7, 0xe0eb, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f,
    +    0x003f, 0xe4e2, 0xe4e3, 0xbbf1, 0xbbef, 0xe4e4, 0xbbf0, 0xe8e8,
    +    0x003f, 0xe8eb, 0xe8e5, 0xe8ec, 0xe8e4, 0xe8e6, 0x003f, 0xe8e7,
    +    /* 0x9d00 .. 0x9dff */
    +    0xe8ea, 0x003f, 0x003f, 0xbea1, 0xe8ef, 0xe8ee, 0xbe7d, 0xe8e9,
    +    0xe8ed, 0xbe7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xecac, 0x003f, 0xc06f, 0x003f, 0xeca7, 0xc06b, 0x003f, 0xeca4,
    +    0xecaa, 0xecad, 0x003f, 0xc070, 0x003f, 0xeca9, 0xeca6, 0xecae,
    +    0xeca5, 0x003f, 0xecab, 0xc06c, 0x003f, 0xeca3, 0xc06d, 0x003f,
    +    0xc06e, 0xeca8, 0x003f, 0x003f, 0x003f, 0xefa9, 0xef7a, 0xef7b,
    +    0xef7e, 0xef7c, 0x003f, 0xef76, 0x003f, 0x003f, 0xef79, 0xefa5,
    +    0xef7d, 0x003f, 0x003f, 0xc245, 0x003f, 0xefa7, 0xefa4, 0xc246,
    +    0xefa6, 0xef77, 0xefa2, 0xefa3, 0x003f, 0xefa1, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0xf1d2, 0xf1d4, 0xf1d7, 0x003f, 0x003f, 0xf1d1,
    +    0x003f, 0xc359, 0xf1d9, 0xf1d0, 0xf1da, 0x003f, 0xf1d6, 0xf1d8,
    +    0xf1dc, 0xf1d5, 0xf1dd, 0xf1d3, 0xf1cf, 0xc35a, 0x003f, 0xf1db,
    +    0xc35b, 0xc44d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xef78,
    +    0xf3f1, 0xf3e8, 0xc44f, 0xf3e4, 0xc450, 0x003f, 0x003f, 0xf3ed,
    +    0xf3e7, 0xf3dd, 0xc44e, 0xf3ea, 0xf3e5, 0xf3e6, 0x003f, 0xf3d8,
    +    0xf3df, 0xf3ee, 0x003f, 0xf3eb, 0x003f, 0xf3e3, 0x003f, 0xf3ef,
    +    0xf3de, 0xf3d9, 0xf3ec, 0x003f, 0xf3db, 0xf3e9, 0xf3e0, 0xf3f0,
    +    0xf3dc, 0xc44c, 0xf3da, 0xf3e1, 0xf3e2, 0x003f, 0x003f, 0x003f,
    +    0xf57d, 0x003f, 0xf57b, 0x003f, 0xf5a2, 0x003f, 0xf5ae, 0xf5a5,
    +    0xf57c, 0xf578, 0xf5a7, 0xf57e, 0xf5a3, 0xf57a, 0xf5aa, 0xf577,
    +    0xf5a1, 0xf5a6, 0xf5a8, 0xf5ab, 0xf579, 0x003f, 0xf5af, 0xf5b0,
    +    0xf5a9, 0xf5ad, 0xf5a4, 0x003f, 0xf6c1, 0xf6c4, 0x003f, 0xc561,
    +    0x003f, 0xf6c3, 0xf6c8, 0xf6c6, 0xc562, 0xf6bd, 0xf6b3, 0xf6b2,
    +    0xc564, 0xf6bf, 0xf6c0, 0xf6bc, 0xf6b4, 0x003f, 0xf6b9, 0xf5ac,
    +    0x003f, 0xf6b5, 0xc563, 0xf6bb, 0x003f, 0xf6ba, 0x003f, 0xf6b6,
    +    0xf6c2, 0x003f, 0xf6b7, 0xf7bb, 0xf6c5, 0xf6c7, 0xf6be, 0xf6b8,
    +    0xf7bc, 0xf7be, 0xf7b8, 0xc5c2, 0x003f, 0xf7c5, 0xf7c3, 0xc5c3,
    +    0xf7c2, 0xf7c1, 0xf7ba, 0xf7b7, 0xf7bd, 0xf7c6, 0xf7b9, 0xf7bf,
    +    0x003f, 0xf869, 0xf86e, 0xf864, 0xf867, 0xc5ee, 0xf86b, 0x003f,
    +    0xf872, 0xf7c0, 0x003f, 0xf865, 0xf86f, 0xf873, 0xf86a, 0xf863,
    +    0xf86d, 0x003f, 0xf86c, 0xf871, 0xf870, 0xf7c4, 0xf868, 0xf862,
    +    0xf866, 0xc64e, 0xc64f, 0xf861, 0x003f, 0xf8e6, 0xf8dd, 0xf8e5,
    +    /* 0x9e00 .. 0x9eff */
    +    0xf8e2, 0xf8e3, 0xf8dc, 0xf8df, 0xf8e7, 0xf8e1, 0xf8e0, 0xf8de,
    +    0x003f, 0xf8e4, 0x003f, 0xf95d, 0x003f, 0xf95e, 0x003f, 0xf960,
    +    0xf95f, 0xf962, 0xf961, 0xf97c, 0xf97b, 0xf9b7, 0x003f, 0xf9b8,
    +    0x003f, 0xf9c5, 0xc678, 0xc67c, 0x003f, 0xf9cf, 0xc67d, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3bf, 0x003f, 0x003f,
    +    0x003f, 0xc4d0, 0xf6c9, 0x003f, 0xc650, 0xc651, 0x003f, 0xb3c0,
    +    0xe0ee, 0x003f, 0xb9a8, 0xe8f0, 0x003f, 0x003f, 0xecb0, 0xecb1,
    +    0xecaf, 0xefab, 0xefaa, 0xc247, 0xf1df, 0xefac, 0xf1de, 0x003f,
    +    0x003f, 0xf3f3, 0xc451, 0xc453, 0xf3f2, 0x003f, 0x003f, 0xc452,
    +    0x003f, 0xf5b1, 0xf5b3, 0xf5b2, 0xf6ca, 0xc565, 0x003f, 0xc5ef,
    +    0xf8e8, 0xf963, 0x003f, 0x003f, 0xf9d2, 0xb3c1, 0x003f, 0xe4e5,
    +    0x003f, 0xbea2, 0x003f, 0x003f, 0x003f, 0xecb3, 0xecb2, 0x003f,
    +    0xefad, 0x003f, 0x003f, 0x003f, 0xc454, 0xc4d1, 0xf7c7, 0xf9cb,
    +    0x003f, 0x003f, 0x003f, 0xb3c2, 0xbbf2, 0x003f, 0xbea3, 0x003f,
    +    0xf3f4, 0x003f, 0xf874, 0xb6c0, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xefae, 0x003f, 0x003f, 0x003f, 0xc664, 0xb6c1, 0xbea4, 0xc248,
    +    0xf875, 0xb6c2, 0x003f, 0xe8f1, 0xc072, 0xecb4, 0xecb5, 0x003f,
    +    0xc071, 0x003f, 0xefaf, 0xc24c, 0xc24a, 0xc24b, 0xc249, 0xf1e0,
    +    0xc35c, 0x003f, 0x003f, 0x003f, 0xf5b5, 0xf5b4, 0xf5b7, 0xf5b6,
    +    0xc4d2, 0x003f, 0x003f, 0xf6cb, 0x003f, 0xf6cd, 0xf6cc, 0xc566,
    +    0xf7c8, 0x003f, 0xf876, 0xf877, 0xc5f0, 0xf964, 0xf97d, 0xc675,
    +    0x003f, 0xdcb0, 0xecb6, 0xefb0, 0xf3f5, 0xe0ef, 0x003f, 0xefb1,
    +    /* 0x9f00 .. 0x9fff */
    +    0xf1e2, 0xf1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf878, 0xc652,
    +    0x003f, 0xf965, 0xf97e, 0x003f, 0x003f, 0x003f, 0xb9a9, 0xe8f2,
    +    0xe8f3, 0x003f, 0xecb7, 0xb9aa, 0x003f, 0xc35d, 0xf1e3, 0x003f,
    +    0xf6cf, 0xc567, 0xf6d0, 0xf6ce, 0xf879, 0x003f, 0xf8e9, 0x003f,
    +    0xb9ab, 0x003f, 0xefb4, 0xefb3, 0xefb2, 0xf1e4, 0x003f, 0x003f,
    +    0xf1e8, 0xf1e7, 0xf1e6, 0xf1e5, 0xc35e, 0xf3f6, 0xf5b9, 0xc4d3,
    +    0xf5b8, 0xf6d1, 0xf7cb, 0xf7ca, 0xc5c4, 0xf7c9, 0xf87c, 0xf87b,
    +    0xf87a, 0x003f, 0x003f, 0xbbf3, 0x003f, 0xecb8, 0xc24d, 0x003f,
    +    0xf3f7, 0xf3f8, 0xf7cc, 0xf87d, 0x003f, 0x003f, 0xf8ea, 0xf966,
    +    0xf9b9, 0xf9d4, 0xbbf4, 0xc24e, 0xf1e9, 0xf3f9, 0xf6d2, 0xf87e,
    +    0x003f, 0x003f, 0xbea6, 0x003f, 0xefb5, 0xf1ea, 0xf3fa, 0xf3fb,
    +    0xf3fc, 0xf5be, 0x003f, 0xf5ba, 0xc568, 0xf5bd, 0xf5bc, 0xc4d4,
    +    0xf5bb, 0xc4d6, 0x003f, 0xc4d5, 0xf6d4, 0xf6d3, 0xc569, 0xc56a,
    +    0x003f, 0x003f, 0xc5c6, 0xf7cd, 0xc5c5, 0x003f, 0xf8a3, 0xf8a4,
    +    0xf8a2, 0xf8a1, 0xc654, 0x003f, 0xf8eb, 0xf8ec, 0xf8ed, 0xc653,
    +    0xf967, 0xf96a, 0xf969, 0xf968, 0x003f, 0x003f, 0xf9d3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc073, 0x003f, 0x003f,
    +    0xc365, 0xf5bf, 0xf6d5, 0x003f, 0xc5c7, 0xf7ce, 0x003f, 0x003f,
    +    0xf9d5, 0x003f, 0x003f, 0x003f, 0xc074, 0x003f, 0x003f, 0x003f,
    +    0xefb6, 0x003f, 0xf7cf, 0x003f, 0xf9a1, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xf900 .. 0xf9ff */
    +    0xb05a, 0xa7f3, 0xa8ae, 0xb8eb, 0xb7c6, 0xa6ea, 0xa579, 0xc074,
    +    0xc074, 0xabb4, 0xaaf7, 0xb3e2, 0xa960, 0xc369, 0xc4ee, 0xc3b9,
    +    0xc5da, 0xc1b3, 0xbb72, 0xc5de, 0xbcd6, 0xaca5, 0xaf4f, 0xaf5f,
    +    0xb8a8, 0xb954, 0xc064, 0xb6c3, 0xa75a, 0xc4e6, 0xc4ea, 0xc4f5,
    +    0xc67d, 0xb450, 0xc0dd, 0xc2c5, 0xc4b0, 0xa9d4, 0xc3be, 0xc4fa,
    +    0xb459, 0xaed4, 0xaef6, 0xaf54, 0xada6, 0xa8d3, 0xa74e, 0xb3d2,
    +    0xbedb, 0xc372, 0xc46c, 0xbf63, 0xa6d1, 0xc4aa, 0xb8b8, 0xb8f4,
    +    0xc553, 0xbe7c, 0xc64f, 0xb84c, 0xb853, 0xbaf1, 0xdb77, 0xbffd,
    +    0xb3c0, 0xbdd7, 0xc362, 0xa7cb, 0xc5a2, 0xc5a4, 0xa863, 0xbd55,
    +    0xb8ef, 0xb970, 0xc253, 0xb9f0, 0xbcd3, 0xb25c, 0xba7c, 0xb2d6,
    +    0xc15c, 0xadae, 0xb0c7, 0xa6d8, 0xbbfe, 0xade2, 0xb857, 0xbaf0,
    +    0xb5d9, 0xb3ae, 0xc5aa, 0xced4, 0xbcd6, 0xbfd5, 0xa4a6, 0xb9e7,
    +    0xabe3, 0xb276, 0xb2a7, 0xa55f, 0xeda8, 0xab4b, 0xb45f, 0xa4a3,
    +    0xaa63, 0xbcc6, 0xafc1, 0xb0d1, 0xb6eb, 0xacd9, 0xb8ad, 0xbba1,
    +    0xb1fe, 0xa8b0, 0xa848, 0xac42, 0xad59, 0xb1b0, 0xb2a4, 0xab47,
    +    0xa8e2, 0x003f, 0xb1e7, 0xc2b3, 0xa87d, 0xbdcc, 0xb671, 0xc079,
    +    0xa766, 0xa46b, 0xc366, 0xaec8, 0xc26f, 0xc472, 0xbe5b, 0xc67a,
    +    0xc452, 0xbea4, 0xa44f, 0xbee4, 0xbefa, 0xf765, 0xa67e, 0xbca6,
    +    0xc5ca, 0xbcbf, 0xbaa7, 0xb7d2, 0xe6a3, 0x003f, 0xbd6d, 0xc170,
    +    0xbdfb, 0xbdac, 0xb373, 0xc1e5, 0xa643, 0xa648, 0xab7c, 0xaf50,
    +    0xb5f5, 0xbba1, 0xb747, 0xa9c0, 0xb1c9, 0xc0d4, 0xc3ae, 0xc279,
    +    0xa54f, 0xcbf1, 0xb9e7, 0xc0ad, 0xccb0, 0xacc2, 0xbcfc, 0xb2dc,
    +    0xb2e2, 0xb961, 0xb973, 0xc646, 0xbbe2, 0xa8d2, 0xc2a7, 0xc4bf,
    +    0xc1f5, 0xb463, 0xa446, 0xb9b1, 0xbc64, 0xa7bf, 0xaec6, 0xbcd6,
    +    0xbf52, 0xc0f8, 0xe764, 0xbff1, 0xc073, 0xb777, 0xa8bf, 0xbc42,
    +    0xccd8, 0xac68, 0xac79, 0xb7c8, 0xaf5b, 0xaf64, 0xb2b8, 0xafc3,
    +    0xc3fe, 0xa4bb, 0xbcae, 0xb3b0, 0xaddb, 0xb15b, 0xb25f, 0xbdfc,
    +    0xabdf, 0xb758, 0xaedf, 0xb276, 0xb6a9, 0xa751, 0xa64f, 0xbc69,
    +    0xa9f6, 0xa7f5, 0xb1f9, 0xaa64, 0xb27a, 0xb567, 0xbfa9, 0xf9d8,
    +    0xb8cc, 0xa8bd, 0xc2f7, 0xb0ce, 0xb7c4, 0xa75b, 0xbf4d, 0xbf5a,
    +    0xc4a9, 0x003f, 0xc5ec, 0xc5ef, 0xaa4c, 0xb24f, 0xc17b, 0xa5df,
    +    0xb2c1, 0xb2c9, 0xaaac, 0xaaa5, 0xc3d1, 0xa4b0, 0xaff9, 0xa8eb,
    +    /* 0xfa00 .. 0xfaff */
    +    0xa4c1, 0xabd7, 0xa9dd, 0xbf7d, 0xa676, 0xac7d, 0xbcc9, 0xbfe7,
    +    0xa6e6, 0xadb0, 0xa8a3, 0xb9f8, 0xc94a, 0xddfc, 0x003f, 0x003f,
    +    0xb6ef, 0x003f, 0xb4b8, 0x003f, 0x003f, 0xe8f9, 0x003f, 0xaf71,
    +    0x003f, 0xafab, 0xb2bb, 0xbad6, 0xb974, 0xbaeb, 0xa6d0, 0x003f,
    +    0x003f, 0x003f, 0xbdd1, 0x003f, 0x003f, 0xb668, 0xb3a3, 0x003f,
    +    0x003f, 0x003f, 0xb6ba, 0xb97d, 0xc05d, 0xc562, 0x003f, 0x003f,
    +    0xab56, 0xb9ac, 0xa74b, 0xab6a, 0xb6d4, 0xa8f5, 0xb3dc, 0xb9c4,
    +    0xbeb9, 0x003f, 0xbea5, 0xbc68, 0xc94b, 0xaeac, 0xb46e, 0xbca8,
    +    0xc367, 0xb1d3, 0xac4a, 0xb4bb, 0xb1f6, 0xaefc, 0xb25a, 0xba7e,
    +    0xb54e, 0x003f, 0xb55a, 0xb84f, 0xaac0, 0xace7, 0xace8, 0xafa7,
    +    0xafaa, 0xafac, 0xbad7, 0xbad5, 0xbd5c, 0xacf0, 0xb860, 0xbd6d,
    +    0xbfa7, 0xc163, 0xb870, 0xaacc, 0xafe4, 0x003f, 0x003f, 0xb5db,
    +    0xbdc5, 0xb5f8, 0xbfd6, 0xc2d4, 0xbbab, 0xc3d8, 0x003f, 0xb668,
    +    0xc3f8, 0xc554, 0xc057, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfb00 .. 0xfbff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xfe00 .. 0xfeff */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa14a, 0xa157, 0x003f, 0xa159, 0xa15b, 0xa15f, 0xa160, 0xa163,
    +    0xa164, 0xa167, 0xa168, 0xa16b, 0xa16c, 0xa16f, 0xa170, 0xa173,
    +    0xa174, 0xa177, 0xa178, 0xa17b, 0xa17c, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0xa1c6, 0xa1c7, 0xa1ca, 0xa1cb, 0xa1c8, 0xa1c9, 0xa15c,
    +    0xa14d, 0xa14e, 0xa14f, 0x003f, 0xa151, 0xa152, 0xa153, 0xa154,
    +    0xa158, 0xa17d, 0xa17e, 0xa1a1, 0xa1a2, 0xa1a3, 0xa1a4, 0xa1cc,
    +    0xa1cd, 0xa1ce, 0xa1de, 0xa1df, 0xa1e0, 0xa1e1, 0xa1e2, 0x003f,
    +    0xa242, 0xa24c, 0xa24d, 0xa24e, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* 0xff00 .. 0xffff */
    +    0x003f, 0xa149, 0x0022, 0xa1ad, 0xa243, 0xa248, 0xa1ae, 0x0027,
    +    0xa15d, 0xa15e, 0xa1af, 0xa1cf, 0xa141, 0xa1d0, 0xa144, 0xa1fe,
    +    0xa2af, 0xa2b0, 0xa2b1, 0xa2b2, 0xa2b3, 0xa2b4, 0xa2b5, 0xa2b6,
    +    0xa2b7, 0xa2b8, 0xa147, 0xa146, 0xa1d5, 0xa1d7, 0xa1d6, 0xa148,
    +    0xa249, 0xa2cf, 0xa2d0, 0xa2d1, 0xa2d2, 0xa2d3, 0xa2d4, 0xa2d5,
    +    0xa2d6, 0xa2d7, 0xa2d8, 0xa2d9, 0xa2da, 0xa2db, 0xa2dc, 0xa2dd,
    +    0xa2de, 0xa2df, 0xa2e0, 0xa2e1, 0xa2e2, 0xa2e3, 0xa2e4, 0xa2e5,
    +    0xa2e6, 0xa2e7, 0xa2e8, 0x005b, 0xa240, 0x005d, 0x005e, 0xa1c4,
    +    0x0060, 0xa2e9, 0xa2ea, 0xa2eb, 0xa2ec, 0xa2ed, 0xa2ee, 0xa2ef,
    +    0xa2f0, 0xa2f1, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7,
    +    0xa2f8, 0xa2f9, 0xa2fa, 0xa2fb, 0xa2fc, 0xa2fd, 0xa2fe, 0xa340,
    +    0xa341, 0xa342, 0xa343, 0xa161, 0xa155, 0xa162, 0xa1e3, 0x003f,
    +    0x003f, 0xa143, 0xa175, 0xa176, 0xa142, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0xa246, 0xa247, 0x003f, 0xa1c3, 0x007c, 0xa244, 0x003f, 0x003f,
    +    0xa278, 0xa1f6, 0xa1f4, 0xa1f7, 0xa1f5, 0xa1bd, 0xa1b3, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    /* defaults */
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,
    +    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f
    +};
    +
    +static const unsigned short uni2cp_high[256] =
    +{
    +    0x0000, 0x0100, 0x0200, 0x0300, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0400, 0x0500, 0x0600,
    +    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0e00, 0x0f00,
    +    0x1000, 0x1100, 0x1200, 0x1300, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x1400, 0x1500,
    +    0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00,
    +    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,
    +    0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00,
    +    0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500,
    +    0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00,
    +    0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500,
    +    0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00,
    +    0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500,
    +    0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00,
    +    0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,
    +    0x6b00, 0x6600, 0x6700, 0x6800, 0x6b00, 0x6b00, 0x6900, 0x6a00
    +};
    +
    +const struct dbcs_table cptable_950 =
    +{
    +    { 950, 2, 0x003f, 0x003f, "ANSI/OEM Traditional Chinese Big5" },
    +    cp2uni,
    +    cp2uni_leadbytes,
    +    uni2cp_low,
    +    uni2cp_high,
    +    { 0x81, 0xfe, 0x00, 0x00 }
    +};
    diff --git a/reactos/lib/unicode/casemap.c b/reactos/tools/unicode/casemap.c
    similarity index 98%
    rename from reactos/lib/unicode/casemap.c
    rename to reactos/tools/unicode/casemap.c
    index 9da8c2e1f95..3968b82c9c2 100644
    --- a/reactos/lib/unicode/casemap.c
    +++ b/reactos/tools/unicode/casemap.c
    @@ -1,1530 +1,1530 @@
    -/* Unicode case mappings */
    -/* Automatically generated; DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -const WCHAR wine_casemap_lower[2942] =
    -{
    -    /* index */
    -    0x01bf, 0x02bf, 0x03bf, 0x0439, 0x0539, 0x0639, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0739, 0x0832,
    -    0x0100, 0x092f, 0x0100, 0x0100, 0x099f, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0a7e,
    -    /* defaults */
    -    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, 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, 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, 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,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0041 .. 0x00ff */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 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, 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, 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, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 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,
    -    /* 0x0100 .. 0x01ff */
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0xff39, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    -    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    -    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0xff87, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
    -    0x0000, 0x00d2, 0x0001, 0x0000, 0x0001, 0x0000, 0x00ce, 0x0001,
    -    0x0000, 0x00cd, 0x00cd, 0x0001, 0x0000, 0x0000, 0x004f, 0x00ca,
    -    0x00cb, 0x0001, 0x0000, 0x00cd, 0x00cf, 0x0000, 0x00d3, 0x00d1,
    -    0x0001, 0x0000, 0x0000, 0x0000, 0x00d3, 0x00d5, 0x0000, 0x00d6,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x00da, 0x0001,
    -    0x0000, 0x00da, 0x0000, 0x0000, 0x0001, 0x0000, 0x00da, 0x0001,
    -    0x0000, 0x00d9, 0x00d9, 0x0001, 0x0000, 0x0001, 0x0000, 0x00db,
    -    0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0001, 0x0000, 0x0002,
    -    0x0001, 0x0000, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    -    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    -    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0000, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0xff9f, 0xffc8,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    /* 0x0200 .. 0x02ff */
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0xff7e, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 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, 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, 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, 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, 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, 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, 0x0000,
    -    /* 0x0386 .. 0x03ff */
    -    0x0026, 0x0000, 0x0025, 0x0025, 0x0025, 0x0000, 0x0040, 0x0000,
    -    0x003f, 0x003f, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 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,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc4, 0x0000,
    -    0x0000, 0x0001, 0x0000, 0xfff9, 0x0001, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000,
    -    /* 0x0400 .. 0x04ff */
    -    0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
    -    0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    -    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
    -    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0500 .. 0x05ff */
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 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, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    -    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    -    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    -    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    -    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 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, 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, 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, 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, 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,
    -    /* 0x1e00 .. 0x1eff */
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    -    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1f07 .. 0x1fff */
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0xfff8, 0x0000, 0xfff8, 0x0000, 0xfff8, 0x0000,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    -    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xffb6, 0xffb6, 0xfff7, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xffaa, 0xffaa, 0xffaa, 0xffaa, 0xfff7, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xff9c, 0xff9c, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xfff8, 0xfff8, 0xff90, 0xff90, 0xfff9, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xff80, 0xff80, 0xff82, 0xff82, 0xfff7, 0x0000, 0x0000,
    -    0x0000,
    -    /* 0x2103 .. 0x21ff */
    -    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, 0x0000, 0xe2a3, 0x0000, 0x0000, 0x0000, 0xdf41,
    -    0xdfba, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2490 .. 0x24ff */
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a, 0x001a,
    -    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,
    -    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,
    -    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0xff21 .. 0xffff */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 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, 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, 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,
    -    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, 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, 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
    -};
    -const WCHAR wine_casemap_upper[2994] =
    -{
    -    /* index */
    -    0x019f, 0x029f, 0x039f, 0x045a, 0x0556, 0x0655, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0754, 0x0854,
    -    0x0100, 0x0948, 0x0100, 0x0100, 0x09c8, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0ab2,
    -    /* defaults */
    -    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, 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, 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, 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,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0061 .. 0x00ff */
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x02e7, 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, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x0000, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x0079,
    -    /* 0x0100 .. 0x01ff */
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xff18, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0xfed4,
    -    0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,
    -    0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0061, 0x0000, 0x0000,
    -    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,
    -    0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000,
    -    0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0038,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xfffe, 0x0000,
    -    0xffff, 0xfffe, 0x0000, 0xffff, 0xfffe, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0xffb1, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0x0000, 0xffff, 0xfffe, 0x0000, 0xffff, 0x0000, 0x0000,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    /* 0x0200 .. 0x02ff */
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 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, 0xff2e, 0xff32, 0x0000, 0xff33, 0xff33,
    -    0x0000, 0xff36, 0x0000, 0xff35, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xff33, 0x0000, 0x0000, 0xff31, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xff2f, 0xff2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xff2d,
    -    0x0000, 0x0000, 0xff2b, 0x0000, 0x0000, 0xff2a, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xff26, 0x0000, 0x0000, 0xff26, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xff26, 0x0000, 0xff27, 0xff27, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0xff25, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0345 .. 0x03ff */
    -    0x0054, 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, 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, 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, 0xffda,
    -    0xffdb, 0xffdb, 0xffdb, 0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe1, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffc0,
    -    0xffc1, 0xffc1, 0x0000, 0xffc2, 0xffc7, 0x0000, 0x0000, 0x0000,
    -    0xffd1, 0xffca, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0xffaa, 0xffb0, 0x0007, 0x0000, 0x0000,
    -    0xffa0, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000,
    -    0x0000, 0x0000, 0x0000,
    -    /* 0x0404 .. 0x04ff */
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffb0, 0xffb0, 0xffb0, 0xffb0,
    -    0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0,
    -    0xffb0, 0xffb0, 0xffb0, 0xffb0, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    -    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0501 .. 0x05ff */
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    -    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    -    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    -    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    -    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 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,
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1e01 .. 0x1eff */
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0xffc5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    -    0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1f00 .. 0x1fff */
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0008, 0x0000, 0x0008, 0x0000, 0x0008, 0x0000, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x004a, 0x004a, 0x0056, 0x0056, 0x0056, 0x0056, 0x0064, 0x0064,
    -    0x0080, 0x0080, 0x0070, 0x0070, 0x007e, 0x007e, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe3db, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0007, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x210c .. 0x21ff */
    -    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, 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, 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, 0xfff0, 0xfff0, 0xfff0, 0xfff0,
    -    0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0,
    -    0xfff0, 0xfff0, 0xfff0, 0xfff0, 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, 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,
    -    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, 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,
    -    /* 0x2480 .. 0x24ff */
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,
    -    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,
    -    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,
    -    0xffe6, 0xffe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0xff16 .. 0xffff */
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    -    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 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, 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, 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, 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, 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
    -};
    -const WCHAR wine_digitmap[4199] =
    -{
    -    /* index */
    -    0x01d0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x028a, 0x0100,
    -    0x0100, 0x0384, 0x0474, 0x0564, 0x0654, 0x0744, 0x07f4, 0x08d4,
    -    0x0994, 0x0100, 0x0100, 0x0a2b, 0x0100, 0x0100, 0x0100, 0x0a9d,
    -    0x0b8d, 0x0c47, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0cd7, 0x0100, 0x0100, 0x0100, 0x0d77, 0x0100, 0x0100, 0x0e77,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0f67,
    -    /* defaults */
    -    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, 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, 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, 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,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0030 .. 0x00ff */
    -    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, 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, 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, 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, 0xff80, 0xff80, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0xff78, 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, 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, 0x0000, 0x0000,
    -    /* 0x0646 .. 0x06ff */
    -    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, 0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0,
    -    0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0, 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, 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,
    -    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, 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, 0xf940, 0xf940, 0xf940, 0xf940, 0xf940, 0xf940,
    -    0xf940, 0xf940, 0xf940, 0xf940, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000,
    -    /* 0x0906 .. 0x09ff */
    -    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, 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, 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,
    -    0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca,
    -    0xf6ca, 0xf6ca, 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, 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, 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,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a,
    -    0xf64a, 0xf64a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000,
    -    /* 0x0a10 .. 0x0aff */
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf5ca, 0xf5ca,
    -    0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf54a, 0xf54a,
    -    0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0b10 .. 0x0bff */
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf4ca, 0xf4ca,
    -    0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf44a,
    -    0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0c10 .. 0x0cff */
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf3ca, 0xf3ca,
    -    0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf34a, 0xf34a,
    -    0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0d10 .. 0x0dff */
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf2ca, 0xf2ca,
    -    0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca,
    -    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, 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, 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, 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,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0e50 .. 0x0eff */
    -    0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0,
    -    0xf1e0, 0xf1e0, 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, 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, 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,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xf160, 0xf160, 0xf160, 0xf160, 0xf160, 0xf160, 0xf160, 0xf160,
    -    0xf160, 0xf160, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0f20 .. 0x0fff */
    -    0xf110, 0xf110, 0xf110, 0xf110, 0xf110, 0xf110, 0xf110, 0xf110,
    -    0xf110, 0xf110, 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, 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, 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,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1040 .. 0x10ff */
    -    0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0,
    -    0xeff0, 0xeff0, 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, 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, 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,
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1369 .. 0x13ff */
    -    0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8,
    -    0xecc8, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x178e .. 0x17ff */
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0xe850, 0xe850, 0xe850, 0xe850, 0xe850, 0xe850,
    -    0xe850, 0xe850, 0xe850, 0xe850, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000,
    -    /* 0x1810 .. 0x18ff */
    -    0xe820, 0xe820, 0xe820, 0xe820, 0xe820, 0xe820, 0xe820, 0xe820,
    -    0xe820, 0xe820, 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, 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, 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,
    -    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, 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, 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, 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,
    -    /* 0x1946 .. 0x19ff */
    -    0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea,
    -    0xe6ea, 0xe6ea, 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, 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, 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,
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000,
    -    /* 0x2070 .. 0x20ff */
    -    0xdfc0, 0x0000, 0x0000, 0x0000, 0xdfc0, 0xdfc0, 0xdfc0, 0xdfc0,
    -    0xdfc0, 0xdfc0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0,
    -    0xdfb0, 0xdfb0, 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, 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, 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,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2460 .. 0x24ff */
    -    0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1,
    -    0xdbd1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0xdbbd, 0xdbbd, 0xdbbd, 0xdbbd,
    -    0xdbbd, 0xdbbd, 0xdbbd, 0xdbbd, 0xdbbd, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9,
    -    0xdba9, 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, 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, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0xdb46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdb3c, 0xdb3c, 0xdb3c,
    -    0xdb3c, 0xdb3c, 0xdb3c, 0xdb3c, 0xdb3c, 0xdb3c, 0x0000, 0xdb31,
    -    /* 0x2700 .. 0x27ff */
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd8bb, 0xd8bb,
    -    0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0x0000,
    -    0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1,
    -    0xd8b1, 0x0000, 0xd8a7, 0xd8a7, 0xd8a7, 0xd8a7, 0xd8a7, 0xd8a7,
    -    0xd8a7, 0xd8a7, 0xd8a7, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0xff10 .. 0xffff */
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 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, 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, 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,
    -    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, 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, 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, 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
    -};
    -const WCHAR wine_compatmap[1487] =
    -{
    -    /* index */
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0200, 0x0300, 0x0100, 0x0100, 0x0100, 0x03d0, 0x04cf,
    -    /* defaults */
    -    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, 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, 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, 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,
    -    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, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0xf900 .. 0xf9ff */
    -    0x9348, 0x6df3, 0x95c8, 0x93c5, 0x75cd, 0x552d, 0x5adf, 0xa695,
    -    0xa694, 0x6048, 0x98c7, 0x5c7c, 0x603c, 0x68e9, 0x7d5b, 0x8676,
    -    0x8d2f, 0x8ea9, 0x8fe6, 0x977c, 0x70ee, 0x7406, 0x77c3, 0x7ac7,
    -    0x8b25, 0x9851, 0xa0d7, 0x5567, 0x5a59, 0x71e7, 0x78fd, 0x8d0e,
    -    0xa4fe, 0x642f, 0x76c9, 0x8caa, 0x9040, 0x69a4, 0x88b2, 0x8ef8,
    -    0x65a2, 0x6dee, 0x7440, 0x79d1, 0x97a2, 0x5659, 0x5889, 0x59af,
    -    0x6b94, 0x71a2, 0x78de, 0x7db4, 0x86cd, 0x8cd1, 0x8d26, 0x94b8,
    -    0x9dfa, 0xa236, 0xa4c0, 0x7f51, 0x8043, 0x8463, 0x8a8b, 0x99c5,
    -    0xa53f, 0x9195, 0x5f9d, 0x65c1, 0x831c, 0x8739, 0x791c, 0x7f83,
    -    0x937a, 0x9dae, 0x5f8e, 0x6317, 0x70c7, 0x748d, 0x75c1, 0x83e0,
    -    0x84e7, 0x9cfa, 0x5980, 0x8738, 0x5888, 0x5877, 0x80c6, 0x8467,
    -    0x8a99, 0x9d1c, 0x9226, 0x6974, 0x70a6, 0x91a1, 0x54db, 0x6288,
    -    0x66b2, 0x7a26, 0x7c0e, 0x59b4, 0x7f97, 0x565a, 0x6643, 0x54a6,
    -    0x7364, 0x6c0f, 0x83b8, 0x5a58, 0x5ef2, 0x7d94, 0x8adb, 0x913b,
    -    0x724a, 0x963f, 0x7316, 0x698b, 0x8971, 0x6a2b, 0x7bef, 0x5537,
    -    0x57f1, 0x5850, 0x6f07, 0x836c, 0x88f3, 0x9155, 0x9851, 0x5976,
    -    0x5ac2, 0x5ff2, 0x656a, 0x6c42, 0x767a, 0x7fa5, 0x9c27, 0xa0e3,
    -    0xa50f, 0xa545, 0x5911, 0x6d3b, 0x71eb, 0x95d5, 0x64e6, 0x6801,
    -    0x6870, 0x6b09, 0x7591, 0x77b6, 0x7af5, 0x8035, 0x845e, 0x86d8,
    -    0x958e, 0x8b55, 0x9689, 0x99af, 0x587b, 0x5906, 0x5b1f, 0x7729,
    -    0x8f22, 0x9109, 0x6527, 0x6652, 0x69d7, 0x7209, 0x8298, 0x79ce,
    -    0x553c, 0x5d50, 0x623d, 0x640f, 0x6670, 0x7a05, 0x7abb, 0x85eb,
    -    0x8696, 0x9883, 0x9d44, 0x9d95, 0x9e64, 0x55d6, 0x7ff8, 0x97fd,
    -    0x9d00, 0x6728, 0x54cc, 0x571f, 0x6232, 0x6282, 0x6bdb, 0x7043,
    -    0x780e, 0x7c81, 0x8b3a, 0x96b9, 0xa5c9, 0x6cc3, 0x9c68, 0x58c2,
    -    0x6db3, 0x6e2a, 0x7377, 0x74d1, 0x7a3d, 0x7b8c, 0x7e9d, 0x8341,
    -    0x9e8e, 0x579c, 0x685c, 0x9ca5, 0x5657, 0x6344, 0x7414, 0x9553,
    -    0x65b3, 0x676b, 0x6e3d, 0x79ac, 0x9caa, 0x584c, 0x5a31, 0x6286,
    -    0x6c33, 0x6d6d, 0x6ec6, 0x7302, 0x7a22, 0x7bfd, 0x8593, 0x8ee8,
    -    0x8ef9, 0x97e3, 0x9cf8, 0x5954, 0x74ce, 0x5a30, 0x77e2, 0x7aa9,
    -    0x8c0a, 0x9cb2, 0xa265, 0xa4ac, 0x6da3, 0x73d6, 0x87f2, 0x80d4,
    -    0x8128, 0x8299, 0x78c6, 0x769e, 0x915c, 0x54c3, 0x8938, 0x583b,
    -    /* 0xfa00 .. 0xfaff */
    -    0x5807, 0x64a5, 0x68d1, 0x82d3, 0x6181, 0x7319, 0x6cae, 0x9534,
    -    0x8e44, 0x9c44, 0x8f81, 0x64c8, 0x5734, 0x5bb3, 0x0000, 0x0000,
    -    0x5e4a, 0x0000, 0x6c62, 0x0000, 0x0000, 0x57c9, 0x7914, 0x7cb3,
    -    0x7f24, 0x7f45, 0x7f4b, 0x7f74, 0x9d3a, 0x82a1, 0x859f, 0x0000,
    -    0x8bf2, 0x0000, 0x90d6, 0x0000, 0x0000, 0x9613, 0x96d7, 0x0000,
    -    0x0000, 0x0000, 0x9ec5, 0x9ed1, 0x9efc, 0xa387, 0x0000, 0x0000,
    -    0x557e, 0x56b6, 0x571b, 0x5896, 0x58b0, 0x591c, 0x5b67, 0x5bcf,
    -    0x5c30, 0x5e07, 0x5e6e, 0x6229, 0x6232, 0x6657, 0x672a, 0x674f,
    -    0x67b2, 0x6b0e, 0x6ba0, 0x6c4e, 0x6e41, 0x7332, 0x73d4, 0x74db,
    -    0x7726, 0x77e2, 0x79d8, 0x7e46, 0x7ef2, 0x7efc, 0x7efa, 0x7f01,
    -    0x7f06, 0x7f0c, 0x7f3b, 0x7f3b, 0x7fec, 0x802c, 0x816a, 0x839d,
    -    0x83b1, 0x83e8, 0x8518, 0x85aa, 0x8791, 0x881c, 0x881b, 0x89f8,
    -    0x8eb0, 0x8f35, 0x909f, 0x90d6, 0x926f, 0x92a3, 0x9550, 0x95d1,
    -    0x9c7b, 0x9d96, 0x9dd1, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0xfe30 .. 0xfeff */
    -    0x21f5, 0x21e3, 0x21e1, 0x022c, 0x022b, 0x01f3, 0x01f3, 0x0244,
    -    0x0245, 0x31db, 0x31db, 0x31d5, 0x31d5, 0x31cd, 0x31cd, 0x31c9,
    -    0x31c9, 0x31cb, 0x31cb, 0x31cb, 0x31cb, 0x0000, 0x0000, 0x0214,
    -    0x0215, 0x21f5, 0x21f4, 0x21f3, 0x21f2, 0x0212, 0x0211, 0x0210,
    -    0x01dc, 0x31b0, 0x01dc, 0x0000, 0x01e7, 0x01e5, 0x01e9, 0x01ca,
    -    0x21bc, 0x01cf, 0x01cf, 0x0220, 0x0221, 0x31b7, 0x31b7, 0x01c4,
    -    0x01c6, 0x01c9, 0x01c9, 0x01ca, 0x01d8, 0x01d9, 0x01d7, 0x0000,
    -    0x01f4, 0x01bb, 0x01bb, 0x01d5, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x07a1, 0x07a1, 0x07a0, 0x07a0, 0x079f, 0x079f, 0x079e, 0x079e,
    -    0x079d, 0x079d, 0x079c, 0x079b, 0x079a, 0x079a, 0x0799, 0x0799,
    -    0x0798, 0x0797, 0x0796, 0x0796, 0x0795, 0x0795, 0x0794, 0x0793,
    -    0x0792, 0x0792, 0x0791, 0x0790, 0x078f, 0x078f, 0x078e, 0x078d,
    -    0x078c, 0x078c, 0x078b, 0x078a, 0x0789, 0x0789, 0x0788, 0x0787,
    -    0x0786, 0x0786, 0x0785, 0x0785, 0x0784, 0x0784, 0x0783, 0x0783,
    -    0x0782, 0x0782, 0x0781, 0x0780, 0x077f, 0x077f, 0x077e, 0x077d,
    -    0x077c, 0x077c, 0x077b, 0x077a, 0x0779, 0x0779, 0x0778, 0x0777,
    -    0x0776, 0x0776, 0x0775, 0x0774, 0x0773, 0x0773, 0x0772, 0x0771,
    -    0x0770, 0x0770, 0x076f, 0x076e, 0x076d, 0x076d, 0x076c, 0x076b,
    -    0x076a, 0x0770, 0x076f, 0x076e, 0x076d, 0x076d, 0x076c, 0x076b,
    -    0x076a, 0x076a, 0x0769, 0x0768, 0x0767, 0x0767, 0x0766, 0x0765,
    -    0x0764, 0x0764, 0x0763, 0x0762, 0x0761, 0x0761, 0x0760, 0x075f,
    -    0x075e, 0x075e, 0x075d, 0x075c, 0x075b, 0x075b, 0x075a, 0x075a,
    -    0x0759, 0x0759, 0x0758, 0x0757, 0x0756, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0xff01 .. 0xffff */
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    -    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x2a26, 0x2a26,
    -    0x30a1, 0x30aa, 0x30aa, 0x309d, 0x3196, 0x318c, 0x313a, 0x313b,
    -    0x313c, 0x313d, 0x313e, 0x3177, 0x3178, 0x3179, 0x3154, 0x318c,
    -    0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3135, 0x3136, 0x3137,
    -    0x3138, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d, 0x313e, 0x313f,
    -    0x3140, 0x3142, 0x3143, 0x3144, 0x3145, 0x3145, 0x3145, 0x3145,
    -    0x3145, 0x3145, 0x3147, 0x3149, 0x314b, 0x314d, 0x314f, 0x314f,
    -    0x314f, 0x314f, 0x314f, 0x3150, 0x3151, 0x3152, 0x3152, 0x3152,
    -    0x3152, 0x3152, 0x3152, 0x3153, 0x3156, 0x30fb, 0x30fb, 0x31c4,
    -    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190,
    -    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190,
    -    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190,
    -    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x0000, 0x0000,
    -    0x0000, 0x318d, 0x318d, 0x318d, 0x318d, 0x318d, 0x318d, 0x0000,
    -    0x0000, 0x318b, 0x318b, 0x318b, 0x318b, 0x318b, 0x318b, 0x0000,
    -    0x0000, 0x3189, 0x3189, 0x3189, 0x3189, 0x3189, 0x3189, 0x0000,
    -    0x0000, 0x3187, 0x3187, 0x3187, 0x0000, 0x0000, 0x0000, 0x00c2,
    -    0x00c2, 0x00ca, 0x00cc, 0x00c2, 0x00c0, 0x20c3, 0x0000, 0x251a,
    -    0x21a7, 0x21a7, 0x21a7, 0x21a7, 0x25b3, 0x25dd, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
    -};
    +/* Unicode case mappings */
    +/* Automatically generated; DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +const WCHAR wine_casemap_lower[2942] =
    +{
    +    /* index */
    +    0x01bf, 0x02bf, 0x03bf, 0x0439, 0x0539, 0x0639, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0739, 0x0832,
    +    0x0100, 0x092f, 0x0100, 0x0100, 0x099f, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0a7e,
    +    /* defaults */
    +    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, 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, 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, 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,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0041 .. 0x00ff */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 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, 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, 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, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 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,
    +    /* 0x0100 .. 0x01ff */
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0xff39, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    +    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    +    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0xff87, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
    +    0x0000, 0x00d2, 0x0001, 0x0000, 0x0001, 0x0000, 0x00ce, 0x0001,
    +    0x0000, 0x00cd, 0x00cd, 0x0001, 0x0000, 0x0000, 0x004f, 0x00ca,
    +    0x00cb, 0x0001, 0x0000, 0x00cd, 0x00cf, 0x0000, 0x00d3, 0x00d1,
    +    0x0001, 0x0000, 0x0000, 0x0000, 0x00d3, 0x00d5, 0x0000, 0x00d6,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x00da, 0x0001,
    +    0x0000, 0x00da, 0x0000, 0x0000, 0x0001, 0x0000, 0x00da, 0x0001,
    +    0x0000, 0x00d9, 0x00d9, 0x0001, 0x0000, 0x0001, 0x0000, 0x00db,
    +    0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0001, 0x0000, 0x0002,
    +    0x0001, 0x0000, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    +    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    +    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0000, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0xff9f, 0xffc8,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    /* 0x0200 .. 0x02ff */
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0xff7e, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 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, 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, 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, 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, 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, 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, 0x0000,
    +    /* 0x0386 .. 0x03ff */
    +    0x0026, 0x0000, 0x0025, 0x0025, 0x0025, 0x0000, 0x0040, 0x0000,
    +    0x003f, 0x003f, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 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,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc4, 0x0000,
    +    0x0000, 0x0001, 0x0000, 0xfff9, 0x0001, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000,
    +    /* 0x0400 .. 0x04ff */
    +    0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
    +    0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,
    +    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
    +    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0500 .. 0x05ff */
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 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, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    +    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    +    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    +    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,
    +    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 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, 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, 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, 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, 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,
    +    /* 0x1e00 .. 0x1eff */
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
    +    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1f07 .. 0x1fff */
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0xfff8, 0x0000, 0xfff8, 0x0000, 0xfff8, 0x0000,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,
    +    0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xffb6, 0xffb6, 0xfff7, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xffaa, 0xffaa, 0xffaa, 0xffaa, 0xfff7, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xff9c, 0xff9c, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xfff8, 0xfff8, 0xff90, 0xff90, 0xfff9, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xff80, 0xff80, 0xff82, 0xff82, 0xfff7, 0x0000, 0x0000,
    +    0x0000,
    +    /* 0x2103 .. 0x21ff */
    +    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, 0x0000, 0xe2a3, 0x0000, 0x0000, 0x0000, 0xdf41,
    +    0xdfba, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2490 .. 0x24ff */
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a, 0x001a,
    +    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,
    +    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,
    +    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0xff21 .. 0xffff */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 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, 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, 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,
    +    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, 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, 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
    +};
    +const WCHAR wine_casemap_upper[2994] =
    +{
    +    /* index */
    +    0x019f, 0x029f, 0x039f, 0x045a, 0x0556, 0x0655, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0754, 0x0854,
    +    0x0100, 0x0948, 0x0100, 0x0100, 0x09c8, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0ab2,
    +    /* defaults */
    +    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, 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, 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, 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,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0061 .. 0x00ff */
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x02e7, 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, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x0000, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x0079,
    +    /* 0x0100 .. 0x01ff */
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xff18, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0xfed4,
    +    0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,
    +    0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0061, 0x0000, 0x0000,
    +    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,
    +    0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000,
    +    0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0038,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xfffe, 0x0000,
    +    0xffff, 0xfffe, 0x0000, 0xffff, 0xfffe, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0xffb1, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0x0000, 0xffff, 0xfffe, 0x0000, 0xffff, 0x0000, 0x0000,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    /* 0x0200 .. 0x02ff */
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 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, 0xff2e, 0xff32, 0x0000, 0xff33, 0xff33,
    +    0x0000, 0xff36, 0x0000, 0xff35, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xff33, 0x0000, 0x0000, 0xff31, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xff2f, 0xff2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xff2d,
    +    0x0000, 0x0000, 0xff2b, 0x0000, 0x0000, 0xff2a, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xff26, 0x0000, 0x0000, 0xff26, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xff26, 0x0000, 0xff27, 0xff27, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0xff25, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0345 .. 0x03ff */
    +    0x0054, 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, 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, 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, 0xffda,
    +    0xffdb, 0xffdb, 0xffdb, 0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe1, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffc0,
    +    0xffc1, 0xffc1, 0x0000, 0xffc2, 0xffc7, 0x0000, 0x0000, 0x0000,
    +    0xffd1, 0xffca, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0xffaa, 0xffb0, 0x0007, 0x0000, 0x0000,
    +    0xffa0, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000,
    +    0x0000, 0x0000, 0x0000,
    +    /* 0x0404 .. 0x04ff */
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffb0, 0xffb0, 0xffb0, 0xffb0,
    +    0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0,
    +    0xffb0, 0xffb0, 0xffb0, 0xffb0, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,
    +    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0501 .. 0x05ff */
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    +    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    +    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    +    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,
    +    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 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,
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1e01 .. 0x1eff */
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0xffc5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,
    +    0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1f00 .. 0x1fff */
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0008, 0x0000, 0x0008, 0x0000, 0x0008, 0x0000, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x004a, 0x004a, 0x0056, 0x0056, 0x0056, 0x0056, 0x0064, 0x0064,
    +    0x0080, 0x0080, 0x0070, 0x0070, 0x007e, 0x007e, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe3db, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0007, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x210c .. 0x21ff */
    +    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, 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, 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, 0xfff0, 0xfff0, 0xfff0, 0xfff0,
    +    0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0,
    +    0xfff0, 0xfff0, 0xfff0, 0xfff0, 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, 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,
    +    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, 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,
    +    /* 0x2480 .. 0x24ff */
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,
    +    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,
    +    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,
    +    0xffe6, 0xffe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0xff16 .. 0xffff */
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,
    +    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 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, 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, 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, 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, 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
    +};
    +const WCHAR wine_digitmap[4199] =
    +{
    +    /* index */
    +    0x01d0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x028a, 0x0100,
    +    0x0100, 0x0384, 0x0474, 0x0564, 0x0654, 0x0744, 0x07f4, 0x08d4,
    +    0x0994, 0x0100, 0x0100, 0x0a2b, 0x0100, 0x0100, 0x0100, 0x0a9d,
    +    0x0b8d, 0x0c47, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0cd7, 0x0100, 0x0100, 0x0100, 0x0d77, 0x0100, 0x0100, 0x0e77,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0f67,
    +    /* defaults */
    +    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, 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, 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, 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,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0030 .. 0x00ff */
    +    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, 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, 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, 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, 0xff80, 0xff80, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0xff78, 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, 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, 0x0000, 0x0000,
    +    /* 0x0646 .. 0x06ff */
    +    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, 0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0,
    +    0xf9d0, 0xf9d0, 0xf9d0, 0xf9d0, 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, 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,
    +    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, 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, 0xf940, 0xf940, 0xf940, 0xf940, 0xf940, 0xf940,
    +    0xf940, 0xf940, 0xf940, 0xf940, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000,
    +    /* 0x0906 .. 0x09ff */
    +    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, 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, 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,
    +    0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca, 0xf6ca,
    +    0xf6ca, 0xf6ca, 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, 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, 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,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a, 0xf64a,
    +    0xf64a, 0xf64a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000,
    +    /* 0x0a10 .. 0x0aff */
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf5ca, 0xf5ca,
    +    0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca, 0xf5ca,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf54a, 0xf54a,
    +    0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a, 0xf54a,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0b10 .. 0x0bff */
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf4ca, 0xf4ca,
    +    0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca, 0xf4ca,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf44a,
    +    0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a, 0xf44a,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0c10 .. 0x0cff */
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf3ca, 0xf3ca,
    +    0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca, 0xf3ca,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf34a, 0xf34a,
    +    0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a, 0xf34a,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0d10 .. 0x0dff */
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf2ca, 0xf2ca,
    +    0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca, 0xf2ca,
    +    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, 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, 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, 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,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0e50 .. 0x0eff */
    +    0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0, 0xf1e0,
    +    0xf1e0, 0xf1e0, 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, 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, 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,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xf160, 0xf160, 0xf160, 0xf160, 0xf160, 0xf160, 0xf160, 0xf160,
    +    0xf160, 0xf160, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0f20 .. 0x0fff */
    +    0xf110, 0xf110, 0xf110, 0xf110, 0xf110, 0xf110, 0xf110, 0xf110,
    +    0xf110, 0xf110, 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, 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, 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,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1040 .. 0x10ff */
    +    0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0, 0xeff0,
    +    0xeff0, 0xeff0, 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, 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, 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,
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1369 .. 0x13ff */
    +    0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8, 0xecc8,
    +    0xecc8, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x178e .. 0x17ff */
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0xe850, 0xe850, 0xe850, 0xe850, 0xe850, 0xe850,
    +    0xe850, 0xe850, 0xe850, 0xe850, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000,
    +    /* 0x1810 .. 0x18ff */
    +    0xe820, 0xe820, 0xe820, 0xe820, 0xe820, 0xe820, 0xe820, 0xe820,
    +    0xe820, 0xe820, 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, 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, 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,
    +    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, 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, 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, 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,
    +    /* 0x1946 .. 0x19ff */
    +    0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea, 0xe6ea,
    +    0xe6ea, 0xe6ea, 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, 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, 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,
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000,
    +    /* 0x2070 .. 0x20ff */
    +    0xdfc0, 0x0000, 0x0000, 0x0000, 0xdfc0, 0xdfc0, 0xdfc0, 0xdfc0,
    +    0xdfc0, 0xdfc0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0, 0xdfb0,
    +    0xdfb0, 0xdfb0, 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, 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, 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,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2460 .. 0x24ff */
    +    0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1, 0xdbd1,
    +    0xdbd1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0xdbbd, 0xdbbd, 0xdbbd, 0xdbbd,
    +    0xdbbd, 0xdbbd, 0xdbbd, 0xdbbd, 0xdbbd, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9, 0xdba9,
    +    0xdba9, 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, 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, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0xdb46, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdb3c, 0xdb3c, 0xdb3c,
    +    0xdb3c, 0xdb3c, 0xdb3c, 0xdb3c, 0xdb3c, 0xdb3c, 0x0000, 0xdb31,
    +    /* 0x2700 .. 0x27ff */
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd8bb, 0xd8bb,
    +    0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0xd8bb, 0x0000,
    +    0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1, 0xd8b1,
    +    0xd8b1, 0x0000, 0xd8a7, 0xd8a7, 0xd8a7, 0xd8a7, 0xd8a7, 0xd8a7,
    +    0xd8a7, 0xd8a7, 0xd8a7, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0xff10 .. 0xffff */
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 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, 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, 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,
    +    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, 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, 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, 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
    +};
    +const WCHAR wine_compatmap[1487] =
    +{
    +    /* index */
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0200, 0x0300, 0x0100, 0x0100, 0x0100, 0x03d0, 0x04cf,
    +    /* defaults */
    +    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, 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, 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, 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,
    +    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, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0xf900 .. 0xf9ff */
    +    0x9348, 0x6df3, 0x95c8, 0x93c5, 0x75cd, 0x552d, 0x5adf, 0xa695,
    +    0xa694, 0x6048, 0x98c7, 0x5c7c, 0x603c, 0x68e9, 0x7d5b, 0x8676,
    +    0x8d2f, 0x8ea9, 0x8fe6, 0x977c, 0x70ee, 0x7406, 0x77c3, 0x7ac7,
    +    0x8b25, 0x9851, 0xa0d7, 0x5567, 0x5a59, 0x71e7, 0x78fd, 0x8d0e,
    +    0xa4fe, 0x642f, 0x76c9, 0x8caa, 0x9040, 0x69a4, 0x88b2, 0x8ef8,
    +    0x65a2, 0x6dee, 0x7440, 0x79d1, 0x97a2, 0x5659, 0x5889, 0x59af,
    +    0x6b94, 0x71a2, 0x78de, 0x7db4, 0x86cd, 0x8cd1, 0x8d26, 0x94b8,
    +    0x9dfa, 0xa236, 0xa4c0, 0x7f51, 0x8043, 0x8463, 0x8a8b, 0x99c5,
    +    0xa53f, 0x9195, 0x5f9d, 0x65c1, 0x831c, 0x8739, 0x791c, 0x7f83,
    +    0x937a, 0x9dae, 0x5f8e, 0x6317, 0x70c7, 0x748d, 0x75c1, 0x83e0,
    +    0x84e7, 0x9cfa, 0x5980, 0x8738, 0x5888, 0x5877, 0x80c6, 0x8467,
    +    0x8a99, 0x9d1c, 0x9226, 0x6974, 0x70a6, 0x91a1, 0x54db, 0x6288,
    +    0x66b2, 0x7a26, 0x7c0e, 0x59b4, 0x7f97, 0x565a, 0x6643, 0x54a6,
    +    0x7364, 0x6c0f, 0x83b8, 0x5a58, 0x5ef2, 0x7d94, 0x8adb, 0x913b,
    +    0x724a, 0x963f, 0x7316, 0x698b, 0x8971, 0x6a2b, 0x7bef, 0x5537,
    +    0x57f1, 0x5850, 0x6f07, 0x836c, 0x88f3, 0x9155, 0x9851, 0x5976,
    +    0x5ac2, 0x5ff2, 0x656a, 0x6c42, 0x767a, 0x7fa5, 0x9c27, 0xa0e3,
    +    0xa50f, 0xa545, 0x5911, 0x6d3b, 0x71eb, 0x95d5, 0x64e6, 0x6801,
    +    0x6870, 0x6b09, 0x7591, 0x77b6, 0x7af5, 0x8035, 0x845e, 0x86d8,
    +    0x958e, 0x8b55, 0x9689, 0x99af, 0x587b, 0x5906, 0x5b1f, 0x7729,
    +    0x8f22, 0x9109, 0x6527, 0x6652, 0x69d7, 0x7209, 0x8298, 0x79ce,
    +    0x553c, 0x5d50, 0x623d, 0x640f, 0x6670, 0x7a05, 0x7abb, 0x85eb,
    +    0x8696, 0x9883, 0x9d44, 0x9d95, 0x9e64, 0x55d6, 0x7ff8, 0x97fd,
    +    0x9d00, 0x6728, 0x54cc, 0x571f, 0x6232, 0x6282, 0x6bdb, 0x7043,
    +    0x780e, 0x7c81, 0x8b3a, 0x96b9, 0xa5c9, 0x6cc3, 0x9c68, 0x58c2,
    +    0x6db3, 0x6e2a, 0x7377, 0x74d1, 0x7a3d, 0x7b8c, 0x7e9d, 0x8341,
    +    0x9e8e, 0x579c, 0x685c, 0x9ca5, 0x5657, 0x6344, 0x7414, 0x9553,
    +    0x65b3, 0x676b, 0x6e3d, 0x79ac, 0x9caa, 0x584c, 0x5a31, 0x6286,
    +    0x6c33, 0x6d6d, 0x6ec6, 0x7302, 0x7a22, 0x7bfd, 0x8593, 0x8ee8,
    +    0x8ef9, 0x97e3, 0x9cf8, 0x5954, 0x74ce, 0x5a30, 0x77e2, 0x7aa9,
    +    0x8c0a, 0x9cb2, 0xa265, 0xa4ac, 0x6da3, 0x73d6, 0x87f2, 0x80d4,
    +    0x8128, 0x8299, 0x78c6, 0x769e, 0x915c, 0x54c3, 0x8938, 0x583b,
    +    /* 0xfa00 .. 0xfaff */
    +    0x5807, 0x64a5, 0x68d1, 0x82d3, 0x6181, 0x7319, 0x6cae, 0x9534,
    +    0x8e44, 0x9c44, 0x8f81, 0x64c8, 0x5734, 0x5bb3, 0x0000, 0x0000,
    +    0x5e4a, 0x0000, 0x6c62, 0x0000, 0x0000, 0x57c9, 0x7914, 0x7cb3,
    +    0x7f24, 0x7f45, 0x7f4b, 0x7f74, 0x9d3a, 0x82a1, 0x859f, 0x0000,
    +    0x8bf2, 0x0000, 0x90d6, 0x0000, 0x0000, 0x9613, 0x96d7, 0x0000,
    +    0x0000, 0x0000, 0x9ec5, 0x9ed1, 0x9efc, 0xa387, 0x0000, 0x0000,
    +    0x557e, 0x56b6, 0x571b, 0x5896, 0x58b0, 0x591c, 0x5b67, 0x5bcf,
    +    0x5c30, 0x5e07, 0x5e6e, 0x6229, 0x6232, 0x6657, 0x672a, 0x674f,
    +    0x67b2, 0x6b0e, 0x6ba0, 0x6c4e, 0x6e41, 0x7332, 0x73d4, 0x74db,
    +    0x7726, 0x77e2, 0x79d8, 0x7e46, 0x7ef2, 0x7efc, 0x7efa, 0x7f01,
    +    0x7f06, 0x7f0c, 0x7f3b, 0x7f3b, 0x7fec, 0x802c, 0x816a, 0x839d,
    +    0x83b1, 0x83e8, 0x8518, 0x85aa, 0x8791, 0x881c, 0x881b, 0x89f8,
    +    0x8eb0, 0x8f35, 0x909f, 0x90d6, 0x926f, 0x92a3, 0x9550, 0x95d1,
    +    0x9c7b, 0x9d96, 0x9dd1, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0xfe30 .. 0xfeff */
    +    0x21f5, 0x21e3, 0x21e1, 0x022c, 0x022b, 0x01f3, 0x01f3, 0x0244,
    +    0x0245, 0x31db, 0x31db, 0x31d5, 0x31d5, 0x31cd, 0x31cd, 0x31c9,
    +    0x31c9, 0x31cb, 0x31cb, 0x31cb, 0x31cb, 0x0000, 0x0000, 0x0214,
    +    0x0215, 0x21f5, 0x21f4, 0x21f3, 0x21f2, 0x0212, 0x0211, 0x0210,
    +    0x01dc, 0x31b0, 0x01dc, 0x0000, 0x01e7, 0x01e5, 0x01e9, 0x01ca,
    +    0x21bc, 0x01cf, 0x01cf, 0x0220, 0x0221, 0x31b7, 0x31b7, 0x01c4,
    +    0x01c6, 0x01c9, 0x01c9, 0x01ca, 0x01d8, 0x01d9, 0x01d7, 0x0000,
    +    0x01f4, 0x01bb, 0x01bb, 0x01d5, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x07a1, 0x07a1, 0x07a0, 0x07a0, 0x079f, 0x079f, 0x079e, 0x079e,
    +    0x079d, 0x079d, 0x079c, 0x079b, 0x079a, 0x079a, 0x0799, 0x0799,
    +    0x0798, 0x0797, 0x0796, 0x0796, 0x0795, 0x0795, 0x0794, 0x0793,
    +    0x0792, 0x0792, 0x0791, 0x0790, 0x078f, 0x078f, 0x078e, 0x078d,
    +    0x078c, 0x078c, 0x078b, 0x078a, 0x0789, 0x0789, 0x0788, 0x0787,
    +    0x0786, 0x0786, 0x0785, 0x0785, 0x0784, 0x0784, 0x0783, 0x0783,
    +    0x0782, 0x0782, 0x0781, 0x0780, 0x077f, 0x077f, 0x077e, 0x077d,
    +    0x077c, 0x077c, 0x077b, 0x077a, 0x0779, 0x0779, 0x0778, 0x0777,
    +    0x0776, 0x0776, 0x0775, 0x0774, 0x0773, 0x0773, 0x0772, 0x0771,
    +    0x0770, 0x0770, 0x076f, 0x076e, 0x076d, 0x076d, 0x076c, 0x076b,
    +    0x076a, 0x0770, 0x076f, 0x076e, 0x076d, 0x076d, 0x076c, 0x076b,
    +    0x076a, 0x076a, 0x0769, 0x0768, 0x0767, 0x0767, 0x0766, 0x0765,
    +    0x0764, 0x0764, 0x0763, 0x0762, 0x0761, 0x0761, 0x0760, 0x075f,
    +    0x075e, 0x075e, 0x075d, 0x075c, 0x075b, 0x075b, 0x075a, 0x075a,
    +    0x0759, 0x0759, 0x0758, 0x0757, 0x0756, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0xff01 .. 0xffff */
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120,
    +    0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x0120, 0x2a26, 0x2a26,
    +    0x30a1, 0x30aa, 0x30aa, 0x309d, 0x3196, 0x318c, 0x313a, 0x313b,
    +    0x313c, 0x313d, 0x313e, 0x3177, 0x3178, 0x3179, 0x3154, 0x318c,
    +    0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3135, 0x3136, 0x3137,
    +    0x3138, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d, 0x313e, 0x313f,
    +    0x3140, 0x3142, 0x3143, 0x3144, 0x3145, 0x3145, 0x3145, 0x3145,
    +    0x3145, 0x3145, 0x3147, 0x3149, 0x314b, 0x314d, 0x314f, 0x314f,
    +    0x314f, 0x314f, 0x314f, 0x3150, 0x3151, 0x3152, 0x3152, 0x3152,
    +    0x3152, 0x3152, 0x3152, 0x3153, 0x3156, 0x30fb, 0x30fb, 0x31c4,
    +    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190,
    +    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190,
    +    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190,
    +    0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x3190, 0x0000, 0x0000,
    +    0x0000, 0x318d, 0x318d, 0x318d, 0x318d, 0x318d, 0x318d, 0x0000,
    +    0x0000, 0x318b, 0x318b, 0x318b, 0x318b, 0x318b, 0x318b, 0x0000,
    +    0x0000, 0x3189, 0x3189, 0x3189, 0x3189, 0x3189, 0x3189, 0x0000,
    +    0x0000, 0x3187, 0x3187, 0x3187, 0x0000, 0x0000, 0x0000, 0x00c2,
    +    0x00c2, 0x00ca, 0x00cc, 0x00c2, 0x00c0, 0x20c3, 0x0000, 0x251a,
    +    0x21a7, 0x21a7, 0x21a7, 0x21a7, 0x25b3, 0x25dd, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
    +};
    diff --git a/reactos/lib/unicode/collation.c b/reactos/tools/unicode/collation.c
    similarity index 98%
    rename from reactos/lib/unicode/collation.c
    rename to reactos/tools/unicode/collation.c
    index 3f4c0effa8c..446b03dc4e2 100644
    --- a/reactos/lib/unicode/collation.c
    +++ b/reactos/tools/unicode/collation.c
    @@ -1,1657 +1,1657 @@
    -/* Unicode collation element table */
    -/* generated from www.unicode.org/reports/tr10/allkeys.txt */
    -/* DO NOT EDIT!! */
    -
    -const unsigned int collation_table[12800] =
    -{
    -    /* index */
    -    0x00000200, 0x00000300, 0x00000400, 0x00000500, 0x00000600, 0x00000700, 0x00000800, 0x00000900,
    -    0x00000100, 0x00000a00, 0x00000b00, 0x00000c00, 0x00000d00, 0x00000e00, 0x00000f00, 0x00001000,
    -    0x00001100, 0x00001200, 0x00001300, 0x00001400, 0x00001500, 0x00001600, 0x00001700, 0x00001800,
    -    0x00001900, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00001a00, 0x00001b00,
    -    0x00001c00, 0x00001d00, 0x00001e00, 0x00001f00, 0x00002000, 0x00002100, 0x00002200, 0x00002300,
    -    0x00002400, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00002500, 0x00002600,
    -    0x00002700, 0x00002800, 0x00002900, 0x00002a00, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    -    0x00000100, 0x00002b00, 0x00002c00, 0x00002d00, 0x00002e00, 0x00002f00, 0x00003000, 0x00003100,
    -    /* defaults */
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0000 .. 0x00ff */
    -    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x00000000, 0x02010111, 0x02020111, 0x02030111, 0x02040111, 0x02050111, 0x00000000, 0x00000000,
    -    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x02090111, 0x024b0111, 0x02700111, 0x02a90111, 0x09e00111, 0x02aa0111, 0x02a70111, 0x02690111,
    -    0x027a0111, 0x027b0111, 0x02a20111, 0x039f0111, 0x022d0111, 0x02210111, 0x02550111, 0x02a40111,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x02370111, 0x02350111, 0x03a30111, 0x03a40111, 0x03a50111, 0x024e0111,
    -    0x02a10111, 0x0a150151, 0x0a290141, 0x0a3d0151, 0x0a490151, 0x0a650151, 0x0a910151, 0x0a990151,
    -    0x0ab90151, 0x0ad30161, 0x0ae70141, 0x0af70141, 0x0b030161, 0x0b2b0151, 0x0b330151, 0x0b4b0161,
    -    0x0b670141, 0x0b730141, 0x0b7f0141, 0x0ba70151, 0x0bbf0151, 0x0bd70141, 0x0bef0151, 0x0bfb0141,
    -    0x0c030151, 0x0c070141, 0x0c130141, 0x027c0111, 0x02a60111, 0x027d0111, 0x020f0111, 0x021b0111,
    -    0x020c0111, 0x0a150111, 0x0a290111, 0x0a3d0111, 0x0a490111, 0x0a650111, 0x0a910111, 0x0a990111,
    -    0x0ab90111, 0x0ad30111, 0x0ae70111, 0x0af70111, 0x0b030111, 0x0b2b0111, 0x0b330111, 0x0b4b0111,
    -    0x0b670111, 0x0b730111, 0x0b7f0111, 0x0ba70111, 0x0bbf0111, 0x0bd70111, 0x0bef0111, 0x0bfb0111,
    -    0x0c030111, 0x0c070111, 0x0c130111, 0x027e0111, 0x03a70111, 0x027f0111, 0x03aa0111, 0x00000000,
    -    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02060111, 0x00000000, 0x00000000,
    -    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x02090141, 0x024c0111, 0x09df0111, 0x09e10111, 0x09de0111, 0x09e20111, 0x03a80111, 0x029c0111,
    -    0x02140111, 0x029f0111, 0x0a150181, 0x02780111, 0x03a60111, 0x02200111, 0x02a00111, 0x02100111,
    -    0x030a0111, 0x03a00111, 0x0a0d0151, 0x0a0e0151, 0x020d0111, 0x0c9f0121, 0x029d0111, 0x025f0111,
    -    0x02190111, 0x0a0c0151, 0x0b4b01a1, 0x02790111, 0x0a0c0171, 0x0a0c0171, 0x0a0e0171, 0x024f0111,
    -    0x0a150151, 0x0a150151, 0x0a150151, 0x0a150151, 0x0a150151, 0x0a150151, 0x0a190121, 0x0a3d0151,
    -    0x0a650151, 0x0a650151, 0x0a650151, 0x0a650151, 0x0ad30161, 0x0ad30161, 0x0ad30161, 0x0ad30161,
    -    0x0a5d0121, 0x0b330151, 0x0b4b0161, 0x0b4b0161, 0x0b4b0161, 0x0b4b0161, 0x0b4b0161, 0x03a20111,
    -    0x0b530121, 0x0bd70141, 0x0bd70141, 0x0bd70141, 0x0bd70141, 0x0c070141, 0x0c3b0121, 0x0ba70131,
    -    0x0a150111, 0x0a150111, 0x0a150111, 0x0a150111, 0x0a150111, 0x0a150111, 0x0a190111, 0x0a3d0111,
    -    0x0a650111, 0x0a650111, 0x0a650111, 0x0a650111, 0x0ad30111, 0x0ad30111, 0x0ad30111, 0x0ad30111,
    -    0x0a5d0111, 0x0b330111, 0x0b4b0111, 0x0b4b0111, 0x0b4b0111, 0x0b4b0111, 0x0b4b0111, 0x03a10111,
    -    0x0b530111, 0x0bd70111, 0x0bd70111, 0x0bd70111, 0x0bd70111, 0x0c070111, 0x0c3b0111, 0x0c070111,
    -    /* 0x0100 .. 0x01ff */
    -    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a3d0151, 0x0a3d0111,
    -    0x0a3d0151, 0x0a3d0111, 0x0a3d0151, 0x0a3d0111, 0x0a3d0151, 0x0a3d0111, 0x0a490151, 0x0a490111,
    -    0x0a4d0121, 0x0a4d0111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    -    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a990151, 0x0a990111, 0x0a990151, 0x0a990111,
    -    0x0a990151, 0x0a990111, 0x0a990151, 0x0a990111, 0x0ab90151, 0x0ab90111, 0x0ac50131, 0x0ac50111,
    -    0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111,
    -    0x0ad30161, 0x0ad70111, 0x0ad30181, 0x0ad30131, 0x0ae70141, 0x0ae70111, 0x0af70141, 0x0af70111,
    -    0x0b7b0111, 0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b030181,
    -    0x0b030131, 0x0b0b0121, 0x0b0b0111, 0x0b330151, 0x0b330111, 0x0b330151, 0x0b330111, 0x0b330151,
    -    0x0b330111, 0x0c580121, 0x0b470121, 0x0b470111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    -    0x0b4b0161, 0x0b4b0111, 0x0b4b0181, 0x0b4b0131, 0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111,
    -    0x0b7f0141, 0x0b7f0111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111,
    -    0x0ba70151, 0x0ba70111, 0x0bbf0151, 0x0bbf0111, 0x0bbf0151, 0x0bbf0111, 0x0bc30121, 0x0bc30111,
    -    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    -    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bfb0141, 0x0bfb0111, 0x0c070141, 0x0c070111,
    -    0x0c070141, 0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0ba70131,
    -    0x0a310111, 0x0a350121, 0x0a390121, 0x0a390111, 0x0c4f0121, 0x0c4f0111, 0x0b570121, 0x0a410121,
    -    0x0a410111, 0x0a510121, 0x0a550121, 0x0a590121, 0x0a590111, 0x0a610111, 0x0a690121, 0x0a6d0121,
    -    0x0a710121, 0x0a950121, 0x0a950111, 0x0aa50121, 0x0aad0121, 0x0ac10111, 0x0ae30121, 0x0adf0121,
    -    0x0afb0121, 0x0afb0111, 0x0b0f0111, 0x0b230111, 0x0be30121, 0x0b3b0121, 0x0b3f0111, 0x0b5b0121,
    -    0x0b4b0161, 0x0b4b0111, 0x0ab50121, 0x0ab50111, 0x0b6b0121, 0x0b6b0111, 0x0b830121, 0x0c470121,
    -    0x0c470111, 0x0baf0121, 0x0bb30111, 0x0bc70111, 0x0bcb0121, 0x0bcb0111, 0x0bcf0121, 0x0bd70141,
    -    0x0bd70111, 0x0beb0121, 0x0bf30121, 0x0c0f0121, 0x0c0f0111, 0x0c170121, 0x0c170111, 0x0c270121,
    -    0x0c2b0121, 0x0c2b0111, 0x0c2f0111, 0x0c430111, 0x0c4b0121, 0x0c4b0111, 0x0c610111, 0x0c3f0111,
    -    0x0c710111, 0x0c750111, 0x0c790111, 0x0c7d0111, 0x0a490171, 0x0a490171, 0x0a490131, 0x0b030181,
    -    0x0b030181, 0x0b030131, 0x0b330171, 0x0b330171, 0x0b330131, 0x0a150151, 0x0a150111, 0x0ad30161,
    -    0x0ad30111, 0x0b4b0161, 0x0b4b0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141,
    -    0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0a690111, 0x0a150151, 0x0a150111,
    -    0x0a150151, 0x0a150111, 0x0a190121, 0x0a190111, 0x0aa10121, 0x0aa10111, 0x0a990151, 0x0a990111,
    -    0x0af70141, 0x0af70111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0c270121, 0x0c270111,
    -    0x0ae70111, 0x0a490171, 0x0a490171, 0x0a490131, 0x0a990151, 0x0a990111, 0x0ac10121, 0x0c3f0121,
    -    0x0b330151, 0x0b330111, 0x0a150151, 0x0a150111, 0x0a190121, 0x0a190111, 0x0b530121, 0x0b530111,
    -    /* 0x0200 .. 0x02ff */
    -    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    -    0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    -    0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    -    0x0ba70151, 0x0ba70111, 0x0bbf0151, 0x0bbf0111, 0x0c370121, 0x0c370111, 0x0ab90151, 0x0ab90111,
    -    0xffffffff, 0xffffffff, 0x0b630121, 0x0b630111, 0x0c1b0121, 0x0c1b0111, 0x0a150151, 0x0a150111,
    -    0x0a650151, 0x0a650111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    -    0x0b4b0161, 0x0b4b0111, 0x0c070141, 0x0c070111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0a1d0111, 0x0a210111, 0x0a250111, 0x0a350111, 0x0b570111, 0x0a450111, 0x0a510111, 0x0a550111,
    -    0x0a750111, 0x0a6d0111, 0x0a790111, 0x0a710111, 0x0a7d0111, 0x0a810111, 0x0a850111, 0x0aef0111,
    -    0x0aa50111, 0x0ab10111, 0x0a9d0111, 0x0aad0111, 0x0a8d0111, 0x0bdf0111, 0x0ac90111, 0x0acd0111,
    -    0x0adf0111, 0x0ae30111, 0x0adb0111, 0x0b130111, 0x0b170111, 0x0b1b0111, 0x0b1f0111, 0x0be30111,
    -    0x0be70111, 0x0b2f0111, 0x0b3b0111, 0x0b430111, 0x0b370111, 0x0b5b0111, 0x0b4f0111, 0x0b5f0111,
    -    0x0b6f0111, 0x0b870111, 0x0b8b0111, 0x0b8f0111, 0x0b930111, 0x0b970111, 0x0b9b0111, 0x0b9f0111,
    -    0x0b830111, 0x0ba30111, 0x0bab0111, 0x0baf0111, 0x0af30111, 0x0bb70111, 0x0bbb0111, 0x0bd30111,
    -    0x0bcf0111, 0x0bdb0111, 0x0beb0111, 0x0bf30111, 0x0bf70111, 0x0bff0111, 0x0b270111, 0x0c0b0111,
    -    0x0c1f0111, 0x0c230111, 0x0c270111, 0x0c330111, 0x0c530111, 0x0c5b0111, 0x0c6d0111, 0x0c810111,
    -    0x0c850111, 0x0a2d0111, 0x0a890111, 0x0aa90111, 0x0abd0111, 0x0aeb0111, 0x0aff0111, 0x0b070111,
    -    0x0b770111, 0x0c650111, 0x0c690111, 0x0a490131, 0x0a490131, 0x0a490131, 0x0bbf0131, 0x0bbf0131,
    -    0x0bbf0131, 0x0a910131, 0x0b030131, 0x0b030131, 0x0c890111, 0x0c8d0111, 0xffffffff, 0xffffffff,
    -    0x0ab90191, 0x0ac90121, 0x0ae70171, 0x0b7f0191, 0x0b870121, 0x0b8f0121, 0x0ba30121, 0x0bfb0171,
    -    0x0c070171, 0x02e90111, 0x02eb0111, 0x0ad10111, 0x0c580111, 0x0ad20111, 0x0c5a0111, 0x0c5f0111,
    -    0x0c570111, 0x0c600111, 0x02ec0111, 0x02ed0111, 0x02ee0111, 0x02ef0111, 0x02f00111, 0x02f10111,
    -    0x02f20111, 0x02f30111, 0x02f40111, 0x02f50111, 0x02f60111, 0x02f70111, 0x02f80111, 0x02f90111,
    -    0x09d30111, 0x09d40111, 0x02fa0111, 0x02fb0111, 0x02fc0111, 0x02fd0111, 0x02fe0111, 0x02ff0111,
    -    0x02120111, 0x02130111, 0x02150111, 0x021a0111, 0x020e0111, 0x02160111, 0x03000111, 0xffffffff,
    -    0x0aad0131, 0x0b0301b1, 0x0ba70181, 0x0c030191, 0x0c5b0121, 0x03010111, 0x03020111, 0x03030111,
    -    0x03040111, 0x03050111, 0x03060111, 0x03070111, 0x03080111, 0x03090111, 0x0c590111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0300 .. 0x03ff */
    -    0x00000611, 0x00000511, 0x00000811, 0x00000e11, 0x00001311, 0x00001411, 0x00000711, 0x00000f11,
    -    0x00000c11, 0x00001511, 0x00000a11, 0x00000d11, 0x00000911, 0x00001611, 0x00001711, 0x00001811,
    -    0x00001911, 0x00001a11, 0x00001b11, 0x00000311, 0x00000411, 0x00001c11, 0x00001d11, 0x00001e11,
    -    0x00001f11, 0x00002011, 0x00002111, 0x00002211, 0x00002311, 0x00002411, 0x00002511, 0x00002611,
    -    0x00002711, 0x00002811, 0x00002911, 0x00002a11, 0x00002b11, 0x00002c11, 0x00002d11, 0x00001111,
    -    0x00001211, 0x00002e11, 0x00002f11, 0x00003011, 0x00003111, 0x00003211, 0x00003311, 0x00003411,
    -    0x00003511, 0x00003611, 0x00000211, 0x00003711, 0x00003811, 0x00003911, 0x00003a11, 0x00003b11,
    -    0x00001011, 0x00003c11, 0x00003d11, 0x00003e11, 0x00003f11, 0x00004011, 0x00004111, 0x00004211,
    -    0x00000611, 0x00000511, 0x00000b11, 0x00000311, 0x00000c11, 0x00004311, 0x00004411, 0x00004511,
    -    0x00004611, 0x00004711, 0x00004811, 0x00004911, 0x00004a11, 0x00004b11, 0x00004c11, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x00004d11, 0x00004e11, 0x00004f11, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x02e90111, 0x02ea0111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x0c9b0111, 0xffffffff, 0xffffffff, 0xffffffff, 0x02350111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x020d0111, 0x02140111, 0x0c910121, 0x025f0111,
    -    0x0c950131, 0x0c990121, 0x0c9b0121, 0xffffffff, 0x0ca20121, 0xffffffff, 0x0ca80121, 0x0cac0121,
    -    0x0c9b0111, 0x0c910121, 0x0c920131, 0x0c930121, 0x0c940121, 0x0c950131, 0x0c980121, 0x0c990121,
    -    0x0c9a0131, 0x0c9b0121, 0x0c9d0131, 0x0c9e0121, 0x0c9f0131, 0x0ca00121, 0x0ca10121, 0x0ca20121,
    -    0x0ca30131, 0x0ca50131, 0xffffffff, 0x0ca60131, 0x0ca70121, 0x0ca80121, 0x0ca90131, 0x0caa0121,
    -    0x0cab0121, 0x0cac0121, 0x0c9b0121, 0x0ca80121, 0x0c910111, 0x0c950111, 0x0c990111, 0x0c9b0111,
    -    0x0ca80111, 0x0c910111, 0x0c920111, 0x0c930111, 0x0c940111, 0x0c950111, 0x0c980111, 0x0c990111,
    -    0x0c9a0111, 0x0c9b0111, 0x0c9d0111, 0x0c9e0111, 0x0c9f0111, 0x0ca00111, 0x0ca10111, 0x0ca20111,
    -    0x0ca30111, 0x0ca50111, 0x0ca60141, 0x0ca60111, 0x0ca70111, 0x0ca80111, 0x0ca90111, 0x0caa0111,
    -    0x0cab0111, 0x0cac0111, 0x0c9b0111, 0x0ca80111, 0x0ca20111, 0x0ca80111, 0x0cac0111, 0xffffffff,
    -    0x0c920121, 0x0c9a0121, 0x0ca80131, 0x0ca80131, 0x0ca80131, 0x0ca90121, 0x0ca30121, 0x0c9d0121,
    -    0xffffffff, 0xffffffff, 0x0c970121, 0x0c970111, 0x0c960121, 0x0c960111, 0x0ca40121, 0x0ca40111,
    -    0x0cad0121, 0x0cad0111, 0x0cae0121, 0x0cae0111, 0x0caf0121, 0x0caf0111, 0x0cb00121, 0x0cb00111,
    -    0x0cb10121, 0x0cb10111, 0x0cb20121, 0x0cb20111, 0x0cb30121, 0x0cb30111, 0x0cb40121, 0x0cb40111,
    -    0x0c9d0121, 0x0ca50121, 0x0ca60121, 0x0c9c0111, 0x0c9a0141, 0x0c950121, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0400 .. 0x04ff */
    -    0x0cf10121, 0x0cf10121, 0x0ce50121, 0x0ce90121, 0x0cf90121, 0x0d110121, 0x0d210121, 0x0d250121,
    -    0x0d2d0121, 0x0d4d0121, 0x0d650121, 0x0d9d0121, 0x0da10121, 0x0d190121, 0x0da90121, 0x0e050121,
    -    0x0cb50121, 0x0ccd0121, 0x0cd10121, 0x0cd50131, 0x0ce10121, 0x0cf10121, 0x0cfd0121, 0x0d090121,
    -    0x0d190121, 0x0d290121, 0x0d310121, 0x0d490121, 0x0d510121, 0x0d550121, 0x0d690121, 0x0d790121,
    -    0x0d850121, 0x0d8d0121, 0x0d950121, 0x0da50121, 0x0dc10121, 0x0dc50121, 0x0de10121, 0x0de90121,
    -    0x0e090121, 0x0e0d0121, 0x0e110121, 0x0e150121, 0x0e1d0121, 0x0e290121, 0x0e310121, 0x0e350121,
    -    0x0cb50111, 0x0ccd0111, 0x0cd10111, 0x0cd50111, 0x0ce10111, 0x0cf10111, 0x0cfd0111, 0x0d090111,
    -    0x0d190111, 0x0d290111, 0x0d310111, 0x0d490111, 0x0d510111, 0x0d550111, 0x0d690111, 0x0d790111,
    -    0x0d850111, 0x0d8d0111, 0x0d950111, 0x0da50111, 0x0dc10111, 0x0dc50111, 0x0de10111, 0x0de90111,
    -    0x0e090111, 0x0e0d0111, 0x0e110111, 0x0e150111, 0x0e1d0111, 0x0e290111, 0x0e310111, 0x0e350111,
    -    0x0cf10111, 0x0cf10111, 0x0ce50111, 0x0ce90111, 0x0cf90111, 0x0d110111, 0x0d210111, 0x0d250111,
    -    0x0d2d0111, 0x0d4d0111, 0x0d650111, 0x0d9d0111, 0x0da10111, 0x0d190111, 0x0da90111, 0x0e050111,
    -    0x0dd10121, 0x0dd10111, 0x0e250121, 0x0e250111, 0x0e390121, 0x0e390111, 0x0e3d0121, 0x0e3d0111,
    -    0x0e450121, 0x0e450111, 0x0e410121, 0x0e410111, 0x0e490121, 0x0e490111, 0x0e4d0121, 0x0e4d0111,
    -    0x0e510121, 0x0e510111, 0x0e550121, 0x0e550111, 0x0e590121, 0x0e590111, 0x0e5d0121, 0x0e5d0111,
    -    0x0dbd0121, 0x0dbd0111, 0x0ddd0121, 0x0ddd0111, 0x0dd90121, 0x0dd90111, 0x0dd50121, 0x0dd50111,
    -    0x0d810121, 0x0d810111, 0x030b0111, 0x00005411, 0x00005511, 0x00005611, 0x00005711, 0xffffffff,
    -    0x00000001, 0x00000001, 0xffffffff, 0xffffffff, 0x0e210121, 0x0e210111, 0x0d890121, 0x0d890111,
    -    0x0cd50141, 0x0cd50121, 0x0cd90121, 0x0cd90111, 0x0cdd0121, 0x0cdd0111, 0x0d050121, 0x0d050111,
    -    0x0ced0121, 0x0ced0111, 0x0d350121, 0x0d350111, 0x0d450121, 0x0d450111, 0x0d410121, 0x0d410111,
    -    0x0d3d0121, 0x0d3d0111, 0x0d590121, 0x0d590111, 0x0d610121, 0x0d610111, 0x0d7d0121, 0x0d7d0111,
    -    0x0e610121, 0x0e610111, 0x0d910121, 0x0d910111, 0x0d990121, 0x0d990111, 0x0db50121, 0x0db50111,
    -    0x0db90121, 0x0db90111, 0x0dc90121, 0x0dc90111, 0x0de50121, 0x0de50111, 0x0df10121, 0x0df10111,
    -    0x0df90121, 0x0df90111, 0x0dcd0121, 0x0dcd0111, 0x0dfd0121, 0x0dfd0111, 0x0e010121, 0x0e010111,
    -    0x0e650111, 0x0cfd0121, 0x0cfd0111, 0x0d390121, 0x0d390111, 0xffffffff, 0xffffffff, 0x0d5d0121,
    -    0x0d5d0111, 0xffffffff, 0xffffffff, 0x0df50121, 0x0df50111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0cb90121, 0x0cb90111, 0x0cbd0121, 0x0cbd0111, 0x0cc90121, 0x0cc90111, 0x0cf50121, 0x0cf50111,
    -    0x0cc10121, 0x0cc10111, 0x0cc50121, 0x0cc50111, 0x0d010121, 0x0d010111, 0x0d0d0121, 0x0d0d0111,
    -    0x0d150121, 0x0d150111, 0x0d190121, 0x0d190111, 0x0d1d0121, 0x0d1d0111, 0x0d6d0121, 0x0d6d0111,
    -    0x0d710121, 0x0d710111, 0x0d750121, 0x0d750111, 0x0e2d0121, 0x0e2d0111, 0x0da50121, 0x0da50111,
    -    0x0dad0121, 0x0dad0111, 0x0db10121, 0x0db10111, 0x0ded0121, 0x0ded0111, 0xffffffff, 0xffffffff,
    -    0x0e190121, 0x0e190111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0500 .. 0x05ff */
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x0e900121, 0x0e910121, 0x0e920121, 0x0e930121, 0x0e940131, 0x0e950121, 0x0e960121,
    -    0x0e970121, 0x0e980121, 0x0e990121, 0x0e9a0121, 0x0e9b0121, 0x0e9c0121, 0x0e9d0121, 0x0e9e0121,
    -    0x0e9f0121, 0x0ea00121, 0x0ea10121, 0x0ea20121, 0x0ea30131, 0x0ea40121, 0x0ea50121, 0x0ea60121,
    -    0x0ea70121, 0x0ea80121, 0x0ea90121, 0x0eaa0121, 0x0eab0121, 0x0eac0121, 0x0ead0131, 0x0eae0121,
    -    0x0eaf0121, 0x0eb00121, 0x0eb10121, 0x0eb20121, 0x0eb30121, 0x0eb40121, 0x0eb50121, 0xffffffff,
    -    0xffffffff, 0x0eb60111, 0x02bf0111, 0x02c00111, 0x024d0111, 0x022e0111, 0x02500111, 0x02c10111,
    -    0xffffffff, 0x0e900111, 0x0e910111, 0x0e920111, 0x0e930111, 0x0e940111, 0x0e950111, 0x0e960111,
    -    0x0e970111, 0x0e980111, 0x0e990111, 0x0e9a0111, 0x0e9b0111, 0x0e9c0111, 0x0e9d0111, 0x0e9e0111,
    -    0x0e9f0111, 0x0ea00111, 0x0ea10111, 0x0ea20111, 0x0ea30111, 0x0ea40111, 0x0ea50111, 0x0ea60111,
    -    0x0ea70111, 0x0ea80111, 0x0ea90111, 0x0eaa0111, 0x0eab0111, 0x0eac0111, 0x0ead0111, 0x0eae0111,
    -    0x0eaf0111, 0x0eb00111, 0x0eb10111, 0x0eb20111, 0x0eb30111, 0x0eb40111, 0x0eb50111, 0x0e940121,
    -    0xffffffff, 0x02380111, 0x02220111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    -    0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    -    0x00000001, 0x00000001, 0xffffffff, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    -    0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    -    0x00005811, 0x00005911, 0x00005a11, 0x00005b11, 0x00005c11, 0x00005d11, 0x00005e11, 0x00005f11,
    -    0x00006011, 0x00006111, 0xffffffff, 0x00006211, 0x00006311, 0x00000001, 0x02c20111, 0x00006411,
    -    0x02c30111, 0x00006511, 0x00006611, 0x02c40111, 0x00000001, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0eb70111, 0x0eb80111, 0x0eb90111, 0x0eba0111, 0x0ebb0111, 0x0ebc0111, 0x0ebd0111, 0x0ebe0111,
    -    0x0ebf0111, 0x0ec00111, 0x0ec10131, 0x0ec10111, 0x0ec20111, 0x0ec30131, 0x0ec30111, 0x0ec40121,
    -    0x0ec40111, 0x0ec50111, 0x0ec60111, 0x0ec70121, 0x0ec70111, 0x0ec80121, 0x0ec80111, 0x0ec90111,
    -    0x0eca0111, 0x0ecb0111, 0x0ecc0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0ebc0121, 0x0ebc0121, 0x0ec00121, 0x02c50111, 0x02c60111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0600 .. 0x06ff */
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x022f0111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0x02360111, 0xffffffff, 0xffffffff, 0xffffffff, 0x02510111,
    -    0xffffffff, 0x0ecd0111, 0x0ece0111, 0x0ecf0111, 0x0ed20111, 0x0ed30111, 0x0ed50111, 0x0ed60111,
    -    0x0ed70111, 0x0edb0111, 0x0edc0111, 0x0edd0111, 0x0ee30111, 0x0ee90111, 0x0eea0111, 0x0eee0111,
    -    0x0eef0111, 0x0ef90111, 0x0efa0111, 0x0f040111, 0x0f050111, 0x0f0a0111, 0x0f0b0111, 0x0f0f0111,
    -    0x0f100111, 0x0f120111, 0x0f130111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x020b0111, 0x0f160111, 0x0f1d0111, 0x0f200111, 0x0f2d0111, 0x0f320111, 0x0f330111, 0x0f390111,
    -    0x0f3e0111, 0x0f480111, 0x0f490111, 0x00006811, 0x00006911, 0x00006a11, 0x00006b11, 0x00006c11,
    -    0x00006d11, 0x00006e11, 0x00006f11, 0x00007011, 0x00007111, 0x00007211, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x02ab0111, 0x02300111, 0x02310111, 0x02a30111, 0xffffffff, 0xffffffff,
    -    0x00007311, 0x0ed10111, 0x0ed00111, 0x0ed40111, 0x0ecd0111, 0x0ed60121, 0x0f3e0121, 0x0f420121,
    -    0x0f490121, 0x0ede0111, 0x0edf0111, 0x0ed80111, 0x0ee00111, 0x0ee10111, 0x0ed90111, 0x0ee20111,
    -    0x0eda0111, 0x0eeb0111, 0x0eec0111, 0x0ee40111, 0x0ee50111, 0x0eed0111, 0x0ee60111, 0x0ee80111,
    -    0x0ef00111, 0x0ef10111, 0x0ef20111, 0x0ef30111, 0x0ef40111, 0x0ef50111, 0x0ef60111, 0x0ef70111,
    -    0x0ef80111, 0x0efb0111, 0x0efc0111, 0x0efd0111, 0x0efe0111, 0x0eff0111, 0x0f000111, 0x0f010111,
    -    0x0f020111, 0x0f030111, 0x0f060111, 0x0f070111, 0x0f080111, 0x0f0c0111, 0x0f0d0111, 0x0f110111,
    -    0x0f140111, 0x0f170111, 0x0f180111, 0x0f190111, 0x0f1a0111, 0x0f1b0111, 0x0f1c0111, 0x0f1e0111,
    -    0x0f1f0111, 0x0f210111, 0x0f220111, 0x0f230111, 0x0f240111, 0x0f250111, 0x0f260111, 0x0f270111,
    -    0x0f280111, 0x0f290111, 0x0f2a0111, 0x0f2b0111, 0x0f2c0111, 0x0f2e0111, 0x0f2f0111, 0x0f300111,
    -    0x0f310111, 0x0f380111, 0x0f340111, 0x0f350111, 0x0f360111, 0x0f370111, 0x0f3a0111, 0x0ee70111,
    -    0x0f3d0111, 0x0f3b0111, 0x0f3b0111, 0x0f3c0111, 0x0f3f0111, 0x0f400111, 0x0f410111, 0x0f420111,
    -    0x0f430111, 0x0f440111, 0x0f450111, 0x0f460111, 0x0f4a0111, 0x0f4b0111, 0x0f4c0111, 0x0f470111,
    -    0x0f4d0111, 0x0f4e0111, 0x0f4f0111, 0x0f4f0111, 0x02570111, 0x0f3d0111, 0x00007411, 0x00007511,
    -    0x00007611, 0x00007711, 0x00007811, 0x00007911, 0x00007a11, 0x00000001, 0x00000001, 0x00000001,
    -    0x00000001, 0x00007b11, 0x00007c11, 0x00007d11, 0x00007e11, 0x0f3e0121, 0x0f490121, 0x00007f11,
    -    0x00008011, 0x030c0111, 0x00000001, 0x00000001, 0x00000001, 0x00008111, 0xffffffff, 0xffffffff,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x0f090111, 0x0f0e0111, 0x0f150111, 0x0ecd0121, 0x0f320121, 0xffffffff,
    -    /* 0x0700 .. 0x07ff */
    -    0x02660111, 0x02580111, 0x02590111, 0x02390111, 0x023a0111, 0x023b0111, 0x023c0111, 0x023d0111,
    -    0x023e0111, 0x02520111, 0x02c70111, 0x02c80111, 0x02c90111, 0x02ca0111, 0xffffffff, 0x00000000,
    -    0x0f500111, 0x00008211, 0x0f510111, 0x0f520111, 0x0f520121, 0x0f530111, 0x0f540111, 0x0f550111,
    -    0x0f560111, 0x0f570111, 0x0f580111, 0x0f590111, 0x0f590121, 0x0f5a0111, 0x0f5b0111, 0x0f5c0111,
    -    0x0f5d0111, 0x0f5e0111, 0x0f5f0111, 0x0f600111, 0x0f600121, 0x0f610111, 0x0f620111, 0x0f620121,
    -    0x0f630111, 0x0f640111, 0x0f650111, 0x0f660111, 0x0f670111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x00008311, 0x00008411, 0x00008511, 0x00008611, 0x00008711, 0x00008811, 0x00008911, 0x00008a11,
    -    0x00008b11, 0x00008c11, 0x00008d11, 0x00008e11, 0x00008f11, 0x00009011, 0x00009111, 0x00009211,
    -    0x00009311, 0x00009411, 0x00009511, 0x00009611, 0x00009711, 0x00009811, 0x00009911, 0x00009a11,
    -    0x00009b11, 0x00009c11, 0x00009d11, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0f680111, 0x0f6b0111, 0x0f6c0111, 0x0f6d0111, 0x0f6f0111, 0x0f700111, 0x0f710111, 0x0f720111,
    -    0x0f750111, 0x0f770111, 0x0f780111, 0x0f790111, 0x0f7b0111, 0x0f7f0111, 0x0f800111, 0x0f820111,
    -    0x0f830111, 0x0f870111, 0x0f880111, 0x0f890111, 0x0f8a0111, 0x0f8b0111, 0x0f8c0111, 0x0f8d0111,
    -    0x0f7c0111, 0x0f690111, 0x0f6a0111, 0x0f7a0111, 0x0f6e0111, 0x0f840111, 0x0f850111, 0x0f860111,
    -    0x0f7d0111, 0x0f7e0111, 0x0f730111, 0x0f740111, 0x0f810111, 0x0f760111, 0x0f8e0111, 0x0f8f0111,
    -    0x0f900111, 0x0f910111, 0x0f920111, 0x0f930111, 0x0f940111, 0x0f950111, 0x0f960111, 0x0f970111,
    -    0x0f980111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0900 .. 0x09ff */
    -    0xffffffff, 0x00009f11, 0x0000a011, 0x0000a111, 0xffffffff, 0x10d70111, 0x10d80111, 0x10d90111,
    -    0x10da0111, 0x10db0111, 0x10dc0111, 0x10dd0111, 0x10df0111, 0x10e10111, 0x10e20111, 0x10e30111,
    -    0x10e40111, 0x10e50111, 0x10e60111, 0x10e70111, 0x10e80111, 0x10e90111, 0x10ea0111, 0x10eb0111,
    -    0x10ec0111, 0x10ed0111, 0x10ee0111, 0x10ef0111, 0x10f00111, 0x10f10111, 0x10f20111, 0x10f30111,
    -    0x10f40111, 0x10f50111, 0x10f60111, 0x10f70111, 0x10f80111, 0x10f90111, 0x10fa0111, 0x10fb0111,
    -    0x10fc0111, 0x10fc0111, 0x10fd0111, 0x10fe0111, 0x10ff0111, 0x11000111, 0x11010111, 0x11020111,
    -    0x11030111, 0x11030111, 0x11040111, 0x11050111, 0x11050111, 0x11060111, 0x11070111, 0x11080111,
    -    0x11090111, 0x110a0111, 0xffffffff, 0xffffffff, 0x00009e11, 0x110b0111, 0x110c0111, 0x110d0111,
    -    0x110e0111, 0x110f0111, 0x11100111, 0x11110111, 0x11120111, 0x11150111, 0x11160111, 0x11170111,
    -    0x11180111, 0x11190111, 0x111a0111, 0x111b0111, 0x111c0111, 0x111d0111, 0xffffffff, 0xffffffff,
    -    0x10d60111, 0x0000a211, 0x0000a311, 0x0000a411, 0x0000a511, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x10e90111, 0x10ea0111, 0x10eb0111, 0x10f00111, 0x10f50111, 0x10f60111, 0x10fe0111, 0x11020111,
    -    0x10de0111, 0x10e00111, 0x11130111, 0x11140111, 0x02600111, 0x02610111, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0x02cd0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x0000a711, 0x0000a811, 0x0000a911, 0xffffffff, 0x111e0111, 0x111f0111, 0x11200111,
    -    0x11210111, 0x11220111, 0x11230111, 0x11240111, 0x11260111, 0xffffffff, 0xffffffff, 0x11280111,
    -    0x11290111, 0xffffffff, 0xffffffff, 0x112a0111, 0x112b0111, 0x112c0111, 0x112d0111, 0x112e0111,
    -    0x112f0111, 0x11300111, 0x11310111, 0x11320111, 0x11330111, 0x11340111, 0x11350111, 0x11360111,
    -    0x11370111, 0x11380111, 0x11390111, 0x113a0111, 0x113b0111, 0x113c0111, 0x113d0111, 0x113e0111,
    -    0x113f0111, 0xffffffff, 0x11400111, 0x11410111, 0x11420111, 0x11430111, 0x11440111, 0x11450111,
    -    0x11460111, 0xffffffff, 0x11480111, 0xffffffff, 0xffffffff, 0xffffffff, 0x114a0111, 0x114b0111,
    -    0x114c0111, 0x114d0111, 0xffffffff, 0xffffffff, 0x0000a611, 0xffffffff, 0x114e0111, 0x114f0111,
    -    0x11500111, 0x11510111, 0x11520111, 0x11530111, 0x11540111, 0xffffffff, 0xffffffff, 0x11570111,
    -    0x11580111, 0xffffffff, 0xffffffff, 0x11590111, 0x115a0111, 0x115b0111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x115c0111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x11380111, 0x11390111, 0xffffffff, 0x11450111,
    -    0x11250111, 0x11270111, 0x11550111, 0x11560111, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0x11470111, 0x11490111, 0x09e30111, 0x09e40111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111,
    -    0x09c10111, 0x09c20111, 0x030d0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0a00 .. 0x0aff */
    -    0xffffffff, 0xffffffff, 0x0000ab11, 0xffffffff, 0xffffffff, 0x11620111, 0x11630111, 0x11670111,
    -    0x11680111, 0x115f0111, 0x11600111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x11690111,
    -    0x11640111, 0xffffffff, 0xffffffff, 0x11610111, 0x11650111, 0x116c0111, 0x116d0111, 0x116e0111,
    -    0x116f0111, 0x11700111, 0x11710111, 0x11720111, 0x11730111, 0x11740111, 0x11750111, 0x11760111,
    -    0x11770111, 0x11780111, 0x11790111, 0x117a0111, 0x117b0111, 0x117c0111, 0x117d0111, 0x117e0111,
    -    0x117f0111, 0xffffffff, 0x11800111, 0x11810111, 0x11820111, 0x11830111, 0x11840111, 0x11850111,
    -    0x11860111, 0xffffffff, 0x11870111, 0x11870111, 0xffffffff, 0x11880111, 0x116a0111, 0xffffffff,
    -    0x116a0111, 0x116b0111, 0xffffffff, 0xffffffff, 0x0000aa11, 0xffffffff, 0x118a0111, 0x118b0111,
    -    0x118c0111, 0x118d0111, 0x118e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x118f0111,
    -    0x11900111, 0xffffffff, 0xffffffff, 0x11910111, 0x11920111, 0x11930111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x116d0111, 0x116e0111, 0x11730111, 0x11890111, 0xffffffff, 0x11810111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0x0000ac11, 0x0000ad11, 0x11660111, 0x115e0111, 0x115d0111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x0000af11, 0x0000b011, 0x0000b111, 0xffffffff, 0x11950111, 0x11960111, 0x11970111,
    -    0x11980111, 0x11990111, 0x119a0111, 0x119b0111, 0xffffffff, 0x119d0111, 0xffffffff, 0x119e0111,
    -    0x119f0111, 0x11a00111, 0xffffffff, 0x11a10111, 0x11a20111, 0x11a30111, 0x11a40111, 0x11a50111,
    -    0x11a60111, 0x11a70111, 0x11a80111, 0x11a90111, 0x11aa0111, 0x11ab0111, 0x11ac0111, 0x11ad0111,
    -    0x11ae0111, 0x11af0111, 0x11b00111, 0x11b10111, 0x11b20111, 0x11b30111, 0x11b40111, 0x11b50111,
    -    0x11b60111, 0xffffffff, 0x11b70111, 0x11b80111, 0x11b90111, 0x11ba0111, 0x11bb0111, 0x11bc0111,
    -    0x11bd0111, 0xffffffff, 0x11be0111, 0x11bf0111, 0xffffffff, 0x11c00111, 0x11c10111, 0x11c20111,
    -    0x11c30111, 0x11c40111, 0xffffffff, 0xffffffff, 0x0000ae11, 0x11c50111, 0x11c60111, 0x11c70111,
    -    0x11c80111, 0x11c90111, 0x11ca0111, 0x11cb0111, 0x11cc0111, 0x11cd0111, 0xffffffff, 0x11ce0111,
    -    0x11cf0111, 0x11d00111, 0xffffffff, 0x11d10111, 0x11d20111, 0x11d30111, 0xffffffff, 0xffffffff,
    -    0x11940111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x119c0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0b00 .. 0x0bff */
    -    0xffffffff, 0x0000b311, 0x0000b411, 0x0000b511, 0xffffffff, 0x11d40111, 0x11d50111, 0x11d60111,
    -    0x11d70111, 0x11d80111, 0x11d90111, 0x11da0111, 0x11dc0111, 0xffffffff, 0xffffffff, 0x11de0111,
    -    0x11df0111, 0xffffffff, 0xffffffff, 0x11e00111, 0x11e10111, 0x11e20111, 0x11e30111, 0x11e40111,
    -    0x11e50111, 0x11e60111, 0x11e70111, 0x11e80111, 0x11e90111, 0x11ea0111, 0x11eb0111, 0x11ec0111,
    -    0x11ed0111, 0x11ee0111, 0x11ef0111, 0x11f00111, 0x11f10111, 0x11f20111, 0x11f30111, 0x11f40111,
    -    0x11f50111, 0xffffffff, 0x11f60111, 0x11f70111, 0x11f80111, 0x11f90111, 0x11fa0111, 0x11fb0111,
    -    0x11fd0111, 0xffffffff, 0x11fe0111, 0x11ff0111, 0xffffffff, 0xffffffff, 0x12000111, 0x12010111,
    -    0x12020111, 0x12030111, 0xffffffff, 0xffffffff, 0x0000b211, 0x12040111, 0x12050111, 0x12060111,
    -    0x12070111, 0x12080111, 0x12090111, 0x120a0111, 0xffffffff, 0xffffffff, 0xffffffff, 0x120b0111,
    -    0x120c0111, 0xffffffff, 0xffffffff, 0x120d0111, 0x120e0111, 0x120f0111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12100111, 0x12110111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x11ee0111, 0x11ef0111, 0xffffffff, 0x11fc0111,
    -    0x11db0111, 0x11dd0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0x030e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x0000b611, 0x12120111, 0xffffffff, 0x12130111, 0x12140111, 0x12150111,
    -    0x12160111, 0x12170111, 0x12180111, 0xffffffff, 0xffffffff, 0xffffffff, 0x12190111, 0x121a0111,
    -    0x121b0111, 0xffffffff, 0x121c0111, 0x121d0111, 0x121e0111, 0x121f0111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x12200111, 0x12210111, 0xffffffff, 0x12220111, 0xffffffff, 0x12230111, 0x12240111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0x12250111, 0x12260111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x12270111, 0x12280111, 0x12290111, 0xffffffff, 0xffffffff, 0xffffffff, 0x122a0111, 0x122b0111,
    -    0x122c0111, 0x122d0111, 0x122e0111, 0x122f0111, 0x12300111, 0x12310111, 0xffffffff, 0x12320111,
    -    0x12330111, 0x12340111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12350111, 0x12360111,
    -    0x12370111, 0x12380111, 0x12390111, 0xffffffff, 0xffffffff, 0xffffffff, 0x123a0111, 0x123b0111,
    -    0x123c0111, 0xffffffff, 0x123d0111, 0x123e0111, 0x123f0111, 0x12400111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12410111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0x09c30111, 0x09c40111, 0x09c50111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0c00 .. 0x0cff */
    -    0xffffffff, 0x0000b711, 0x0000b811, 0x0000b911, 0xffffffff, 0x12420111, 0x12430111, 0x12440111,
    -    0x12450111, 0x12460111, 0x12470111, 0x12480111, 0x124a0111, 0xffffffff, 0x124c0111, 0x124d0111,
    -    0x124e0111, 0xffffffff, 0x124f0111, 0x12500111, 0x12510111, 0x12520111, 0x12530111, 0x12540111,
    -    0x12550111, 0x12560111, 0x12570111, 0x12580111, 0x12590111, 0x125a0111, 0x125b0111, 0x125c0111,
    -    0x125d0111, 0x125e0111, 0x125f0111, 0x12600111, 0x12610111, 0x12620111, 0x12630111, 0x12640111,
    -    0x12650111, 0xffffffff, 0x12660111, 0x12670111, 0x12680111, 0x12690111, 0x126a0111, 0x126b0111,
    -    0x126c0111, 0x126d0111, 0x126e0111, 0x126f0111, 0xffffffff, 0x12700111, 0x12710111, 0x12720111,
    -    0x12730111, 0x12740111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12750111, 0x12760111,
    -    0x12770111, 0x12780111, 0x12790111, 0x127a0111, 0x127b0111, 0xffffffff, 0x127c0111, 0x127d0111,
    -    0x127e0111, 0xffffffff, 0x127f0111, 0x12800111, 0x12810111, 0x12820111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12830111, 0x12840111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x12490111, 0x124b0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x0000ba11, 0x0000bb11, 0xffffffff, 0x12850111, 0x12860111, 0x12870111,
    -    0x12880111, 0x12890111, 0x128a0111, 0x128b0111, 0x128d0111, 0xffffffff, 0x128f0111, 0x12900111,
    -    0x12910111, 0xffffffff, 0x12920111, 0x12930111, 0x12940111, 0x12950111, 0x12960111, 0x12970111,
    -    0x12980111, 0x12990111, 0x129a0111, 0x129b0111, 0x129c0111, 0x129d0111, 0x129e0111, 0x129f0111,
    -    0x12a00111, 0x12a10111, 0x12a20111, 0x12a30111, 0x12a40111, 0x12a50111, 0x12a60111, 0x12a70111,
    -    0x12a80111, 0xffffffff, 0x12a90111, 0x12aa0111, 0x12ab0111, 0x12ac0111, 0x12ad0111, 0x12ae0111,
    -    0x12af0111, 0x12b00111, 0x12b10111, 0x12b70111, 0xffffffff, 0x12b20111, 0x12b30111, 0x12b40111,
    -    0x12b50111, 0x12b60111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12b90111, 0x12ba0111,
    -    0x12bb0111, 0x12bc0111, 0x12bd0111, 0x12be0111, 0x12bf0111, 0xffffffff, 0x12c00111, 0x12c10111,
    -    0x12c20111, 0xffffffff, 0x12c30111, 0x12c40111, 0x12c50111, 0x12c60111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12c70111, 0x12c80111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12b80111, 0xffffffff,
    -    0x128c0111, 0x128e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0d00 .. 0x0dff */
    -    0xffffffff, 0xffffffff, 0x0000bc11, 0x0000bd11, 0xffffffff, 0x12c90111, 0x12ca0111, 0x12cb0111,
    -    0x12cc0111, 0x12cd0111, 0x12ce0111, 0x12cf0111, 0x12d10111, 0xffffffff, 0x12d30111, 0x12d40111,
    -    0x12d50111, 0xffffffff, 0x12d60111, 0x12d70111, 0x12d80111, 0x12d90111, 0x12da0111, 0x12db0111,
    -    0x12dc0111, 0x12dd0111, 0x12de0111, 0x12df0111, 0x12e00111, 0x12e10111, 0x12e20111, 0x12e30111,
    -    0x12e40111, 0x12e50111, 0x12e60111, 0x12e70111, 0x12e80111, 0x12e90111, 0x12ea0111, 0x12eb0111,
    -    0x12ec0111, 0xffffffff, 0x12ed0111, 0x12ee0111, 0x12ef0111, 0x12f00111, 0x12f10111, 0x12f20111,
    -    0x12f30111, 0x12f40111, 0x12f50111, 0x12f60111, 0x12f70111, 0x12f80111, 0x12f90111, 0x12fa0111,
    -    0x12fb0111, 0x12fc0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12fd0111, 0x12fe0111,
    -    0x12ff0111, 0x13000111, 0x13010111, 0x13020111, 0xffffffff, 0xffffffff, 0x13030111, 0x13040111,
    -    0x13050111, 0xffffffff, 0x13060111, 0x13070111, 0x13080111, 0x13090111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x130a0111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x12d00111, 0x12d20111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    -    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x0000be11, 0x0000bf11, 0xffffffff, 0x130b0111, 0x130c0111, 0x130d0111,
    -    0x130e0111, 0x130f0111, 0x13100111, 0x13110111, 0x13120111, 0x13130111, 0x13140111, 0x13150111,
    -    0x13160111, 0x13170111, 0x13180111, 0x13190111, 0x131a0111, 0x131b0111, 0x131c0111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x131d0111, 0x131e0111, 0x131f0111, 0x13200111, 0x13210111, 0x13220111,
    -    0x13230111, 0x13240111, 0x13250111, 0x13260111, 0x13270111, 0x13280111, 0x13290111, 0x132a0111,
    -    0x132b0111, 0x132c0111, 0x132d0111, 0x132e0111, 0x132f0111, 0x13300111, 0x13310111, 0x13320111,
    -    0x13330111, 0x13340111, 0xffffffff, 0x13350111, 0x13360111, 0x13370111, 0x13380111, 0x13390111,
    -    0x133a0111, 0x133b0111, 0x133c0111, 0x133d0111, 0xffffffff, 0x133e0111, 0xffffffff, 0xffffffff,
    -    0x133f0111, 0x13400111, 0x13410111, 0x13420111, 0x13430111, 0x13440111, 0x13450111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x13460111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x13470111,
    -    0x13480111, 0x13490111, 0x134a0111, 0x134b0111, 0x134c0111, 0xffffffff, 0x134d0111, 0xffffffff,
    -    0x134e0111, 0x134f0111, 0x13500111, 0x13510111, 0x13520111, 0x13530111, 0x13540111, 0x13550111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x13560111, 0x13570111, 0x02ce0111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0e00 .. 0x0eff */
    -    0xffffffff, 0x13580111, 0x13590111, 0x135a0111, 0x135b0111, 0x135c0111, 0x135d0111, 0x135e0111,
    -    0x135f0111, 0x13600111, 0x13610111, 0x13620111, 0x13630111, 0x13640111, 0x13650111, 0x13660111,
    -    0x13670111, 0x13680111, 0x13690111, 0x136a0111, 0x136b0111, 0x136c0111, 0x136d0111, 0x136e0111,
    -    0x136f0111, 0x13700111, 0x13710111, 0x13720111, 0x13730111, 0x13740111, 0x13750111, 0x13760111,
    -    0x13770111, 0x13780111, 0x13790111, 0x137a0111, 0x137b0111, 0x137c0111, 0x137d0111, 0x137e0111,
    -    0x137f0111, 0x13800111, 0x13810111, 0x13820111, 0x13830111, 0x13840111, 0x13850111, 0x13860111,
    -    0x13870111, 0x13880111, 0x13890111, 0x138a0111, 0x138b0111, 0x138c0111, 0x138d0111, 0x138e0111,
    -    0x138f0111, 0x13900111, 0x13910111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x09e50111,
    -    0x13920111, 0x13930111, 0x13940111, 0x13950111, 0x13960111, 0x13970111, 0x09d50111, 0x0000c011,
    -    0x0000c111, 0x0000c211, 0x0000c311, 0x0000c411, 0x13980111, 0x13990111, 0x00000001, 0x030f0111,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x02cf0111, 0x02d00111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x139a0111, 0x139b0111, 0xffffffff, 0x139c0111, 0xffffffff, 0xffffffff, 0x139d0111,
    -    0x139e0111, 0xffffffff, 0x139f0111, 0xffffffff, 0xffffffff, 0x13a00111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x13a10111, 0x13a20111, 0x13a30111, 0x13a40111,
    -    0xffffffff, 0x13a50111, 0x13a60111, 0x13a70111, 0x13a80111, 0x13a90111, 0x13aa0111, 0x13ab0111,
    -    0xffffffff, 0x13ac0111, 0x13ad0111, 0x13ae0111, 0xffffffff, 0x13af0111, 0xffffffff, 0x13b00111,
    -    0xffffffff, 0xffffffff, 0x13b10111, 0x13b20111, 0xffffffff, 0x13b30111, 0x13b40111, 0x13b50111,
    -    0x13b60111, 0x13b70111, 0x13b80111, 0x13b90111, 0x13ba0111, 0x13bb0111, 0x13bc0111, 0x13bd0111,
    -    0x13be0111, 0x13bf0111, 0xffffffff, 0x13c00111, 0x13c10111, 0x13c20111, 0xffffffff, 0xffffffff,
    -    0x13c30111, 0x13c40111, 0x13c50111, 0x13c60111, 0x13c70111, 0xffffffff, 0x09d60111, 0xffffffff,
    -    0x0000c511, 0x0000c611, 0x0000c711, 0x0000c811, 0x13c80111, 0x13c90111, 0xffffffff, 0xffffffff,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0xffffffff, 0xffffffff, 0x13b20121, 0x13b20121, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x0f00 .. 0x0fff */
    -    0x140e0121, 0x03100111, 0x03110111, 0x03120111, 0x02d10111, 0x02d20111, 0x02d30111, 0x02d40111,
    -    0x02d50111, 0x02d60111, 0x02d70111, 0x02d80111, 0x02d80121, 0x02d90111, 0x02da0111, 0x02db0111,
    -    0x02dc0111, 0x02dd0111, 0x02de0111, 0x03130111, 0x02460111, 0x03140111, 0x03150111, 0x03160111,
    -    0x00000001, 0x00000001, 0x03170111, 0x03180111, 0x03190111, 0x031a0111, 0x031b0111, 0x031c0111,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111,
    -    0x0a120111, 0x0a130111, 0x0a140111, 0x0a0b0111, 0x031d0111, 0x00000001, 0x031e0111, 0x00000001,
    -    0x031f0111, 0x0000c911, 0x02800111, 0x02810111, 0x02820111, 0x02830111, 0x03200111, 0x03210111,
    -    0x13ca0111, 0x13cc0111, 0x13ce0111, 0x13ce0111, 0x13d00111, 0x13d20111, 0x13d40111, 0x13d60111,
    -    0xffffffff, 0x13d80111, 0x13da0111, 0x13dc0111, 0x13de0111, 0x13de0111, 0x13e00111, 0x13e20111,
    -    0x13e40111, 0x13e60111, 0x13e60111, 0x13e80111, 0x13ea0111, 0x13ec0111, 0x13ee0111, 0x13ee0111,
    -    0x13f00111, 0x13f20111, 0x13f40111, 0x13f60111, 0x13f60111, 0x13f80111, 0x13fa0111, 0x13fc0111,
    -    0x13fe0111, 0x14000111, 0x14020111, 0x14040111, 0x14060111, 0x14080111, 0x140a0111, 0x140c0111,
    -    0x140e0111, 0x13ca0111, 0x14020121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x14140111, 0x14150111, 0x14160111, 0x14190111, 0x141a0111, 0x141b0111, 0x141c0111,
    -    0x141d0111, 0x141e0111, 0x141f0111, 0x14200111, 0x14210111, 0x14220111, 0x0000ca11, 0x0000cb11,
    -    0x14170111, 0x14180111, 0x00000001, 0x00000001, 0x14230111, 0x02df0111, 0x00000001, 0x00000001,
    -    0x14100111, 0x14110111, 0x14120111, 0x14130111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x13cb0111, 0x13cd0111, 0x13cf0111, 0x13cf0111, 0x13d10111, 0x13d30111, 0x13d50111, 0x13d70111,
    -    0xffffffff, 0x13d90111, 0x13db0111, 0x13dd0111, 0x13df0111, 0x13df0111, 0x13e10111, 0x13e30111,
    -    0x13e50111, 0x13e70111, 0x13e70111, 0x13e90111, 0x13eb0111, 0x13ed0111, 0x13ef0111, 0x13ef0111,
    -    0x13f10111, 0x13f30111, 0x13f50111, 0x13f70111, 0x13f70111, 0x13f90111, 0x13fb0111, 0x13fd0111,
    -    0x13ff0111, 0x14010111, 0x14030111, 0x14050111, 0x14070111, 0x14090111, 0x140b0111, 0x140d0111,
    -    0x140f0111, 0x13cb0111, 0x13f90121, 0x14010121, 0x14030121, 0xffffffff, 0x03220111, 0x03230111,
    -    0x03240111, 0x03250111, 0x03260111, 0x03270111, 0x03280111, 0x03290111, 0x00000001, 0x032a0111,
    -    0x032b0111, 0x032c0111, 0x032d0111, 0x032e0111, 0x032f0111, 0xffffffff, 0xffffffff, 0x03300111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1000 .. 0x10ff */
    -    0x14240111, 0x14250111, 0x14260111, 0x14270111, 0x14280111, 0x14290111, 0x142a0111, 0x142b0111,
    -    0x142c0111, 0x142d0111, 0x142e0111, 0x142f0111, 0x14300111, 0x14310111, 0x14320111, 0x14330111,
    -    0x14340111, 0x14350111, 0x14360111, 0x14370111, 0x14380111, 0x14390111, 0x143a0111, 0x143b0111,
    -    0x143c0111, 0x143d0111, 0x143e0111, 0x143f0111, 0x14400111, 0x14410111, 0x14440111, 0x14450111,
    -    0x14460111, 0x14470111, 0xffffffff, 0x14480111, 0x14490111, 0x144a0111, 0x144b0111, 0x144c0111,
    -    0xffffffff, 0x144d0111, 0x144e0111, 0xffffffff, 0x14530111, 0x14540111, 0x14550111, 0x14560111,
    -    0x14570111, 0x14580111, 0x14590111, 0xffffffff, 0xffffffff, 0xffffffff, 0x0000cc11, 0x0000cd11,
    -    0x0000ce11, 0x145e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x02620111, 0x02630111, 0x02e00111, 0x02e10111, 0x02e20111, 0x02e30111,
    -    0x14420111, 0x14430111, 0x144f0111, 0x14500111, 0x14510111, 0x14520111, 0x145a0111, 0x145b0111,
    -    0x145c0111, 0x145d0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0e690121, 0x0e6a0121, 0x0e6b0121, 0x0e6c0121, 0x0e6d0121, 0x0e6e0121, 0x0e6f0121, 0x0e710121,
    -    0x0e720121, 0x0e730121, 0x0e740121, 0x0e750121, 0x0e760121, 0x0e780121, 0x0e790121, 0x0e7a0121,
    -    0x0e7b0121, 0x0e7c0121, 0x0e7d0121, 0x0e7f0121, 0x0e800121, 0x0e810121, 0x0e820121, 0x0e830121,
    -    0x0e840121, 0x0e850121, 0x0e860121, 0x0e870121, 0x0e880121, 0x0e890121, 0x0e8a0121, 0x0e8c0121,
    -    0x0e8d0121, 0x0e700121, 0x0e770121, 0x0e7e0121, 0x0e8b0121, 0x0e8e0121, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0e690111, 0x0e6a0111, 0x0e6b0111, 0x0e6c0111, 0x0e6d0111, 0x0e6e0111, 0x0e6f0111, 0x0e710111,
    -    0x0e720111, 0x0e730111, 0x0e740111, 0x0e750111, 0x0e760111, 0x0e780111, 0x0e790111, 0x0e7a0111,
    -    0x0e7b0111, 0x0e7c0111, 0x0e7d0111, 0x0e7f0111, 0x0e800111, 0x0e810111, 0x0e820111, 0x0e830111,
    -    0x0e840111, 0x0e850111, 0x0e860111, 0x0e870111, 0x0e880111, 0x0e890111, 0x0e8a0111, 0x0e8c0111,
    -    0x0e8d0111, 0x0e700111, 0x0e770111, 0x0e7e0111, 0x0e8b0111, 0x0e8e0111, 0x0e8f0111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0x02670111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1100 .. 0x11ff */
    -    0x18310111, 0x18320111, 0x18330111, 0x18340111, 0x18350111, 0x18360111, 0x18370111, 0x18380111,
    -    0x18390111, 0x183a0111, 0x183b0111, 0x183c0111, 0x183d0111, 0x183e0111, 0x183f0111, 0x18400111,
    -    0x18410111, 0x18420111, 0x18430111, 0x18440111, 0x18450111, 0x18460111, 0x18470111, 0x18480111,
    -    0x18490111, 0x184a0111, 0x184b0111, 0x184c0111, 0x184d0111, 0x184e0111, 0x184f0111, 0x18500111,
    -    0x18510111, 0x18520111, 0x18530111, 0x18540111, 0x18550111, 0x18560111, 0x18570111, 0x18580111,
    -    0x18590111, 0x185a0111, 0x185b0111, 0x185c0111, 0x185d0111, 0x185e0111, 0x185f0111, 0x18600111,
    -    0x18610111, 0x18620111, 0x18630111, 0x18640111, 0x18650111, 0x18660111, 0x18670111, 0x18680111,
    -    0x18690111, 0x186a0111, 0x186b0111, 0x186c0111, 0x186d0111, 0x186e0111, 0x186f0111, 0x18700111,
    -    0x18710111, 0x18720111, 0x18730111, 0x18740111, 0x18750111, 0x18760111, 0x18770111, 0x18780111,
    -    0x18790111, 0x187a0111, 0x187b0111, 0x187c0111, 0x187d0111, 0x187e0111, 0x187f0111, 0x18800111,
    -    0x18810111, 0x18820111, 0x18830111, 0x18840111, 0x18850111, 0x18860111, 0x18870111, 0x18880111,
    -    0x18890111, 0x188a0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x188b0111,
    -    0x188c0111, 0x188d0111, 0x188e0111, 0x188f0111, 0x18900111, 0x18910111, 0x18920111, 0x18930111,
    -    0x18940111, 0x18950111, 0x18960111, 0x18970111, 0x18980111, 0x18990111, 0x189a0111, 0x189b0111,
    -    0x189c0111, 0x189d0111, 0x189e0111, 0x189f0111, 0x18a00111, 0x18a10111, 0x18a20111, 0x18a30111,
    -    0x18a40111, 0x18a50111, 0x18a60111, 0x18a70111, 0x18a80111, 0x18a90111, 0x18aa0111, 0x18ab0111,
    -    0x18ac0111, 0x18ad0111, 0x18ae0111, 0x18af0111, 0x18b00111, 0x18b10111, 0x18b20111, 0x18b30111,
    -    0x18b40111, 0x18b50111, 0x18b60111, 0x18b70111, 0x18b80111, 0x18b90111, 0x18ba0111, 0x18bb0111,
    -    0x18bc0111, 0x18bd0111, 0x18be0111, 0x18bf0111, 0x18c00111, 0x18c10111, 0x18c20111, 0x18c30111,
    -    0x18c40111, 0x18c50111, 0x18c60111, 0x18c70111, 0x18c80111, 0x18c90111, 0x18ca0111, 0x18cb0111,
    -    0x18cc0111, 0x18cd0111, 0x18ce0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x18cf0111, 0x18d00111, 0x18d10111, 0x18d20111, 0x18d30111, 0x18d40111, 0x18d50111, 0x18d60111,
    -    0x18d70111, 0x18d80111, 0x18d90111, 0x18da0111, 0x18db0111, 0x18dc0111, 0x18dd0111, 0x18de0111,
    -    0x18df0111, 0x18e00111, 0x18e10111, 0x18e20111, 0x18e30111, 0x18e40111, 0x18e50111, 0x18e60111,
    -    0x18e70111, 0x18e80111, 0x18e90111, 0x18ea0111, 0x18eb0111, 0x18ec0111, 0x18ed0111, 0x18ee0111,
    -    0x18ef0111, 0x18f00111, 0x18f10111, 0x18f20111, 0x18f30111, 0x18f40111, 0x18f50111, 0x18f60111,
    -    0x18f70111, 0x18f80111, 0x18f90111, 0x18fa0111, 0x18fb0111, 0x18fc0111, 0x18fd0111, 0x18fe0111,
    -    0x18ff0111, 0x19000111, 0x19010111, 0x19020111, 0x19030111, 0x19040111, 0x19050111, 0x19060111,
    -    0x19070111, 0x19080111, 0x19090111, 0x190a0111, 0x190b0111, 0x190c0111, 0x190d0111, 0x190e0111,
    -    0x190f0111, 0x19100111, 0x19110111, 0x19120111, 0x19130111, 0x19140111, 0x19150111, 0x19160111,
    -    0x19170111, 0x19180111, 0x19190111, 0x191a0111, 0x191b0111, 0x191c0111, 0x191d0111, 0x191e0111,
    -    0x191f0111, 0x19200111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1200 .. 0x12ff */
    -    0x0f990111, 0x0f9a0111, 0x0f9b0111, 0x0f9c0111, 0x0f9d0111, 0x0f9e0111, 0x0f9f0111, 0xffffffff,
    -    0x0fa00111, 0x0fa10111, 0x0fa20111, 0x0fa30111, 0x0fa40111, 0x0fa50111, 0x0fa60111, 0x0fa70111,
    -    0x0fa80111, 0x0fa90111, 0x0faa0111, 0x0fab0111, 0x0fac0111, 0x0fad0111, 0x0fae0111, 0x0faf0111,
    -    0x0fb00111, 0x0fb10111, 0x0fb20111, 0x0fb30111, 0x0fb40111, 0x0fb50111, 0x0fb60111, 0x0fb70111,
    -    0x0fb80111, 0x0fb90111, 0x0fba0111, 0x0fbb0111, 0x0fbc0111, 0x0fbd0111, 0x0fbe0111, 0x0fbf0111,
    -    0x0fc00111, 0x0fc10111, 0x0fc20111, 0x0fc30111, 0x0fc40111, 0x0fc50111, 0x0fc60111, 0x0fc70111,
    -    0x0fc80111, 0x0fc90111, 0x0fca0111, 0x0fcb0111, 0x0fcc0111, 0x0fcd0111, 0x0fce0111, 0x0fcf0111,
    -    0x0fd00111, 0x0fd10111, 0x0fd20111, 0x0fd30111, 0x0fd40111, 0x0fd50111, 0x0fd60111, 0x0fd70111,
    -    0x0fd80111, 0x0fd90111, 0x0fda0111, 0x0fdb0111, 0x0fdc0111, 0x0fdd0111, 0x0fde0111, 0xffffffff,
    -    0x0fdf0111, 0xffffffff, 0x0fe00111, 0x0fe10111, 0x0fe20111, 0x0fe30111, 0xffffffff, 0xffffffff,
    -    0x0fe40111, 0x0fe50111, 0x0fe60111, 0x0fe70111, 0x0fe80111, 0x0fe90111, 0x0fea0111, 0xffffffff,
    -    0x0feb0111, 0xffffffff, 0x0fec0111, 0x0fed0111, 0x0fee0111, 0x0fef0111, 0xffffffff, 0xffffffff,
    -    0x0ff00111, 0x0ff10111, 0x0ff20111, 0x0ff30111, 0x0ff40111, 0x0ff50111, 0x0ff60111, 0x0ff70111,
    -    0x0ff80111, 0x0ff90111, 0x0ffa0111, 0x0ffb0111, 0x0ffc0111, 0x0ffd0111, 0x0ffe0111, 0x0fff0111,
    -    0x10000111, 0x10010111, 0x10020111, 0x10030111, 0x10040111, 0x10050111, 0x10060111, 0x10070111,
    -    0x10080111, 0x10090111, 0x100a0111, 0x100b0111, 0x100c0111, 0x100d0111, 0x100e0111, 0x100f0111,
    -    0x10100111, 0x10110111, 0x10120111, 0x10130111, 0x10140111, 0x10150111, 0x10160111, 0xffffffff,
    -    0x10170111, 0xffffffff, 0x10180111, 0x10190111, 0x101a0111, 0x101b0111, 0xffffffff, 0xffffffff,
    -    0x101c0111, 0x101d0111, 0x101e0111, 0x101f0111, 0x10200111, 0x10210111, 0x10220111, 0x10230111,
    -    0x10240111, 0x10250111, 0x10260111, 0x10270111, 0x10280111, 0x10290111, 0x102a0111, 0x102b0111,
    -    0x102c0111, 0x102d0111, 0x102e0111, 0x102f0111, 0x10300111, 0x10310111, 0x10320111, 0x10330111,
    -    0x10340111, 0x10350111, 0x10360111, 0x10370111, 0x10380111, 0x10390111, 0x103a0111, 0xffffffff,
    -    0x103b0111, 0xffffffff, 0x103c0111, 0x103d0111, 0x103e0111, 0x103f0111, 0xffffffff, 0xffffffff,
    -    0x10400111, 0x10410111, 0x10420111, 0x10430111, 0x10440111, 0x10450111, 0x10460111, 0xffffffff,
    -    0x10470111, 0xffffffff, 0x10480111, 0x10490111, 0x104a0111, 0x104b0111, 0xffffffff, 0xffffffff,
    -    0x104c0111, 0x104d0111, 0x104e0111, 0x104f0111, 0x10500111, 0x10510111, 0x10520111, 0xffffffff,
    -    0x10530111, 0x10540111, 0x10550111, 0x10560111, 0x10570111, 0x10580111, 0x10590111, 0xffffffff,
    -    0x105a0111, 0x105b0111, 0x105c0111, 0x105d0111, 0x105e0111, 0x105f0111, 0x10600111, 0x10610111,
    -    0x10620111, 0x10630111, 0x10640111, 0x10650111, 0x10660111, 0x10670111, 0x10680111, 0x10690111,
    -    0x106a0111, 0x106b0111, 0x106c0111, 0x106d0111, 0x106e0111, 0x106f0111, 0x10700111, 0xffffffff,
    -    0x10710111, 0x10720111, 0x10730111, 0x10740111, 0x10750111, 0x10760111, 0x10770111, 0x10780111,
    -    0x10790111, 0x107a0111, 0x107b0111, 0x107c0111, 0x107d0111, 0x107e0111, 0x107f0111, 0x10800111,
    -    /* 0x1300 .. 0x13ff */
    -    0x10810111, 0x10820111, 0x10830111, 0x10840111, 0x10850111, 0x10860111, 0x10870111, 0x10880111,
    -    0x10890111, 0x108a0111, 0x108b0111, 0x108c0111, 0x108d0111, 0x108e0111, 0x108f0111, 0xffffffff,
    -    0x10900111, 0xffffffff, 0x10910111, 0x10920111, 0x10930111, 0x10940111, 0xffffffff, 0xffffffff,
    -    0x10950111, 0x10960111, 0x10970111, 0x10980111, 0x10990111, 0x109a0111, 0x109b0111, 0xffffffff,
    -    0x109c0111, 0x109d0111, 0x109e0111, 0x109f0111, 0x10a00111, 0x10a10111, 0x10a20111, 0x10a30111,
    -    0x10a40111, 0x10a50111, 0x10a60111, 0x10a70111, 0x10a80111, 0x10a90111, 0x10aa0111, 0x10ab0111,
    -    0x10ac0111, 0x10ad0111, 0x10ae0111, 0x10af0111, 0x10b00111, 0x10b10111, 0x10b20111, 0x10b30111,
    -    0x10b40111, 0x10b50111, 0x10b60111, 0x10b70111, 0x10b80111, 0x10b90111, 0x10ba0111, 0x10bb0111,
    -    0x10bc0111, 0x10bd0111, 0x10be0111, 0x10bf0111, 0x10c00111, 0x10c10111, 0x10c20111, 0xffffffff,
    -    0x10c30111, 0x10c40111, 0x10c50111, 0x10c60111, 0x10c70111, 0x10c80111, 0x10c90111, 0x10ca0111,
    -    0x10cb0111, 0x10cc0111, 0x10cd0111, 0x10ce0111, 0x10cf0111, 0x10d00111, 0x10d10111, 0x10d20111,
    -    0x10d30111, 0x10d40111, 0x10d50111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x023f0111, 0x025a0111, 0x02400111, 0x02410111, 0x02420111, 0x02430111, 0x02530111,
    -    0x02680111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x09c60111, 0x09c70111, 0x09c80111, 0x09c90111, 0x09ca0111, 0x09cb0111,
    -    0x09cc0111, 0x09cd0111, 0x09ce0111, 0x09cf0111, 0x09d00111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x15280111, 0x15290111, 0x152a0111, 0x152b0111, 0x152c0111, 0x152d0111, 0x152e0111, 0x152f0111,
    -    0x15300111, 0x15310111, 0x15320111, 0x15330111, 0x15340111, 0x15350111, 0x15360111, 0x15370111,
    -    0x15380111, 0x15390111, 0x153a0111, 0x153b0111, 0x153c0111, 0x153d0111, 0x153e0111, 0x153f0111,
    -    0x15400111, 0x15410111, 0x15420111, 0x15430111, 0x15440111, 0x15450111, 0x15460111, 0x15470111,
    -    0x15480111, 0x15490111, 0x154a0111, 0x154b0111, 0x154c0111, 0x154d0111, 0x154e0111, 0x154f0111,
    -    0x15500111, 0x15510111, 0x15520111, 0x15530111, 0x15540111, 0x15550111, 0x15560111, 0x15570111,
    -    0x15580111, 0x15590111, 0x155a0111, 0x155b0111, 0x155c0111, 0x155d0111, 0x155e0111, 0x155f0111,
    -    0x15600111, 0x15610111, 0x15620111, 0x15630111, 0x15640111, 0x15650111, 0x15660111, 0x15670111,
    -    0x15680111, 0x15690111, 0x156a0111, 0x156b0111, 0x156c0111, 0x156d0111, 0x156e0111, 0x156f0111,
    -    0x15700111, 0x15710111, 0x15720111, 0x15730111, 0x15740111, 0x15750111, 0x15760111, 0x15770111,
    -    0x15780111, 0x15790111, 0x157a0111, 0x157b0111, 0x157c0111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1400 .. 0x14ff */
    -    0xffffffff, 0x157d0111, 0x157e0111, 0x157f0111, 0x15800111, 0x15810111, 0x15820111, 0x15830111,
    -    0x15840111, 0x15850111, 0x15860111, 0x15870111, 0x15880111, 0x15890111, 0x158a0111, 0x158b0111,
    -    0x158c0111, 0x158d0111, 0x158e0111, 0x158f0111, 0x15900111, 0x15910111, 0x15920111, 0x15930111,
    -    0x15940111, 0x15950111, 0x15960111, 0x15970111, 0x15980111, 0x15990111, 0x159a0111, 0x159b0111,
    -    0x159c0111, 0x159d0111, 0x159e0111, 0x159f0111, 0x15a00111, 0x15a10111, 0x15a20111, 0x15a30111,
    -    0x15a40111, 0x15a50111, 0x15a60111, 0x15a70111, 0x15a80111, 0x15a90111, 0x15aa0111, 0x15ab0111,
    -    0x15ac0111, 0x15ad0111, 0x15ae0111, 0x15af0111, 0x15b00111, 0x15b10111, 0x15b20111, 0x15b30111,
    -    0x15b40111, 0x15b50111, 0x15b60111, 0x15b70111, 0x15b80111, 0x15b90111, 0x15ba0111, 0x15bb0111,
    -    0x15bc0111, 0x15bd0111, 0x15be0111, 0x15bf0111, 0x15c00111, 0x15c10111, 0x15c20111, 0x15c30111,
    -    0x15c40111, 0x15c50111, 0x15c60111, 0x15c70111, 0x15c80111, 0x15c90111, 0x15ca0111, 0x15cb0111,
    -    0x15cc0111, 0x15cd0111, 0x15ce0111, 0x15cf0111, 0x15d00111, 0x15d10111, 0x15d20111, 0x15d30111,
    -    0x15d40111, 0x15d50111, 0x15d60111, 0x15d70111, 0x15d80111, 0x15d90111, 0x15da0111, 0x15db0111,
    -    0x15dc0111, 0x15dd0111, 0x15de0111, 0x15df0111, 0x15e00111, 0x15e10111, 0x15e20111, 0x15e30111,
    -    0x15e40111, 0x15e50111, 0x15e60111, 0x15e70111, 0x15e80111, 0x15e90111, 0x15ea0111, 0x15eb0111,
    -    0x15ec0111, 0x15ed0111, 0x15ee0111, 0x15ef0111, 0x15f00111, 0x15f10111, 0x15f20111, 0x15f30111,
    -    0x15f40111, 0x15f50111, 0x15f60111, 0x15f70111, 0x15f80111, 0x15f90111, 0x15fa0111, 0x15fb0111,
    -    0x15fc0111, 0x15fd0111, 0x15fe0111, 0x15ff0111, 0x16000111, 0x16010111, 0x16020111, 0x16030111,
    -    0x16040111, 0x16050111, 0x16060111, 0x16070111, 0x16080111, 0x16090111, 0x160a0111, 0x160b0111,
    -    0x160c0111, 0x160d0111, 0x160e0111, 0x160f0111, 0x16100111, 0x16110111, 0x16120111, 0x16130111,
    -    0x16140111, 0x16150111, 0x16160111, 0x16170111, 0x16180111, 0x16190111, 0x161a0111, 0x161b0111,
    -    0x161c0111, 0x161d0111, 0x161e0111, 0x161f0111, 0x16200111, 0x16210111, 0x16220111, 0x16230111,
    -    0x16240111, 0x16250111, 0x16260111, 0x16270111, 0x16280111, 0x16290111, 0x162a0111, 0x162b0111,
    -    0x162c0111, 0x162d0111, 0x162e0111, 0x162f0111, 0x16300111, 0x16310111, 0x16320111, 0x16330111,
    -    0x16340111, 0x16350111, 0x16360111, 0x16370111, 0x16380111, 0x16390111, 0x163a0111, 0x163b0111,
    -    0x163c0111, 0x163d0111, 0x163e0111, 0x163f0111, 0x16400111, 0x16410111, 0x16420111, 0x16430111,
    -    0x16440111, 0x16450111, 0x16460111, 0x16470111, 0x16480111, 0x16490111, 0x164a0111, 0x164b0111,
    -    0x164c0111, 0x164d0111, 0x164e0111, 0x164f0111, 0x16500111, 0x16510111, 0x16520111, 0x16530111,
    -    0x16540111, 0x16550111, 0x16560111, 0x16570111, 0x16580111, 0x16590111, 0x165a0111, 0x165b0111,
    -    0x165c0111, 0x165d0111, 0x165e0111, 0x165f0111, 0x16600111, 0x16610111, 0x16620111, 0x16630111,
    -    0x16640111, 0x16650111, 0x16660111, 0x16670111, 0x16680111, 0x16690111, 0x166a0111, 0x166b0111,
    -    0x166c0111, 0x166d0111, 0x166e0111, 0x166f0111, 0x16700111, 0x16710111, 0x16720111, 0x16730111,
    -    0x16740111, 0x16750111, 0x16760111, 0x16770111, 0x16780111, 0x16790111, 0x167a0111, 0x167b0111,
    -    /* 0x1500 .. 0x15ff */
    -    0x167c0111, 0x167d0111, 0x167e0111, 0x167f0111, 0x16800111, 0x16810111, 0x16820111, 0x16830111,
    -    0x16840111, 0x16850111, 0x16860111, 0x16870111, 0x16880111, 0x16890111, 0x168a0111, 0x168b0111,
    -    0x168c0111, 0x168d0111, 0x168e0111, 0x168f0111, 0x16900111, 0x16910111, 0x16920111, 0x16930111,
    -    0x16940111, 0x16950111, 0x16960111, 0x16970111, 0x16980111, 0x16990111, 0x169a0111, 0x169b0111,
    -    0x169c0111, 0x169d0111, 0x169e0111, 0x169f0111, 0x16a00111, 0x16a10111, 0x16a20111, 0x16a30111,
    -    0x16a40111, 0x16a50111, 0x16a60111, 0x16a70111, 0x16a80111, 0x16a90111, 0x16aa0111, 0x16ab0111,
    -    0x16ac0111, 0x16ad0111, 0x16ae0111, 0x16af0111, 0x16b00111, 0x16b10111, 0x16b20111, 0x16b30111,
    -    0x16b40111, 0x16b50111, 0x16b60111, 0x16b70111, 0x16b80111, 0x16b90111, 0x16ba0111, 0x16bb0111,
    -    0x16bc0111, 0x16bd0111, 0x16be0111, 0x16bf0111, 0x16c00111, 0x16c10111, 0x16c20111, 0x16c30111,
    -    0x16c40111, 0x16c50111, 0x16c60111, 0x16c70111, 0x16c80111, 0x16c90111, 0x16ca0111, 0x16cb0111,
    -    0x16cc0111, 0x16cd0111, 0x16ce0111, 0x16cf0111, 0x16d00111, 0x16d10111, 0x16d20111, 0x16d30111,
    -    0x16d40111, 0x16d50111, 0x16d60111, 0x16d70111, 0x16d80111, 0x16d90111, 0x16da0111, 0x16db0111,
    -    0x16dc0111, 0x16dd0111, 0x16de0111, 0x16df0111, 0x16e00111, 0x16e10111, 0x16e20111, 0x16e30111,
    -    0x16e40111, 0x16e50111, 0x16e60111, 0x16e70111, 0x16e80111, 0x16e90111, 0x16ea0111, 0x16eb0111,
    -    0x16ec0111, 0x16ed0111, 0x16ee0111, 0x16ef0111, 0x16f00111, 0x16f10111, 0x16f20111, 0x16f30111,
    -    0x16f40111, 0x16f50111, 0x16f60111, 0x16f70111, 0x172a0111, 0x16f80111, 0x16fa0111, 0x16fb0111,
    -    0x16fc0111, 0x16fd0111, 0x16fe0111, 0x16ff0111, 0x17000111, 0x17010111, 0x17020111, 0x17030111,
    -    0x17040111, 0x17050111, 0x17060111, 0x17070111, 0x17080111, 0x17090111, 0x170b0111, 0x170c0111,
    -    0x170d0111, 0x170e0111, 0x170f0111, 0x17100111, 0x17110111, 0x17120111, 0x17190111, 0x171a0111,
    -    0x171b0111, 0x171c0111, 0x171d0111, 0x171e0111, 0x171f0111, 0x17200111, 0x17210111, 0x17220111,
    -    0x17230111, 0x17240111, 0x17250111, 0x17260111, 0x17270111, 0x17280111, 0x17290111, 0x172b0111,
    -    0x172c0111, 0x172d0111, 0x172e0111, 0x172f0111, 0x17300111, 0x17310111, 0x17320111, 0x17330111,
    -    0x17340111, 0x17350111, 0x17360111, 0x17370111, 0x17380111, 0x17390111, 0x173a0111, 0x173b0111,
    -    0x173c0111, 0x173d0111, 0x173e0111, 0x173f0111, 0x17400111, 0x17410111, 0x17420111, 0x17430111,
    -    0x17440111, 0x17450111, 0x17460111, 0x17470111, 0x17480111, 0x17490111, 0x174a0111, 0x174b0111,
    -    0x174c0111, 0x174d0111, 0x174e0111, 0x174f0111, 0x17500111, 0x17510111, 0x17520111, 0x17530111,
    -    0x17540111, 0x17550111, 0x17560111, 0x17570111, 0x17580111, 0x17590111, 0x175a0111, 0x175b0111,
    -    0x175c0111, 0x175d0111, 0x175e0111, 0x175f0111, 0x17600111, 0x17610111, 0x17620111, 0x17630111,
    -    0x17640111, 0x17650111, 0x17660111, 0x17670111, 0x17680111, 0x17690111, 0x176a0111, 0x176b0111,
    -    0x176c0111, 0x176d0111, 0x176e0111, 0x176f0111, 0x17700111, 0x17710111, 0x17720111, 0x17730111,
    -    0x17740111, 0x17750111, 0x17760111, 0x17770111, 0x17780111, 0x17790111, 0x177a0111, 0x177b0111,
    -    0x177c0111, 0x177d0111, 0x177e0111, 0x177f0111, 0x17800111, 0x17810111, 0x17820111, 0x17830111,
    -    /* 0x1600 .. 0x16ff */
    -    0x17840111, 0x17850111, 0x17860111, 0x17870111, 0x17880111, 0x17890111, 0x178a0111, 0x178b0111,
    -    0x178c0111, 0x178d0111, 0x178e0111, 0x178f0111, 0x17900111, 0x17910111, 0x17920111, 0x17930111,
    -    0x17940111, 0x17950111, 0x17960111, 0x17970111, 0x17980111, 0x17990111, 0x179a0111, 0x179b0111,
    -    0x179c0111, 0x179d0111, 0x179e0111, 0x179f0111, 0x17a00111, 0x17a10111, 0x17a20111, 0x17a30111,
    -    0x17a40111, 0x17a50111, 0x17a60111, 0x17a70111, 0x17a80111, 0x17a90111, 0x17aa0111, 0x17ab0111,
    -    0x17ac0111, 0x17ad0111, 0x17ae0111, 0x17af0111, 0x17b00111, 0x17b10111, 0x17b20111, 0x17b30111,
    -    0x17b40111, 0x17b50111, 0x17b60111, 0x17b70111, 0x17b80111, 0x17b90111, 0x17ba0111, 0x17bb0111,
    -    0x17bc0111, 0x17bd0111, 0x17be0111, 0x17bf0111, 0x17c00111, 0x17c10111, 0x17c20111, 0x17c30111,
    -    0x17c40111, 0x17c50111, 0x17c60111, 0x17c70111, 0x17c80111, 0x17c90111, 0x17ca0111, 0x17cb0111,
    -    0x17cc0111, 0x17cd0111, 0x17ce0111, 0x17cf0111, 0x17d00111, 0x17d10111, 0x17d20111, 0x17d30111,
    -    0x17d40111, 0x17d50111, 0x17d60111, 0x17d70111, 0x17d80111, 0x17d90111, 0x17da0111, 0x17db0111,
    -    0x17dc0111, 0x17dd0111, 0x17de0111, 0x17df0111, 0x17e00111, 0x17e10111, 0x17e20111, 0x17e30111,
    -    0x17e40111, 0x17e50111, 0x17e60111, 0x17e70111, 0x17e80111, 0x17e90111, 0x17ea0111, 0x17eb0111,
    -    0x17ec0111, 0x17ed0111, 0x17ee0111, 0x17ef0111, 0x17f00111, 0x03310111, 0x025d0111, 0x16f90111,
    -    0x170a0111, 0x17130111, 0x17140111, 0x17150111, 0x17160111, 0x17170111, 0x17180111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x020a0111, 0x17f10111, 0x17f20111, 0x17f30111, 0x17f40111, 0x17f50111, 0x17f60111, 0x17f70111,
    -    0x17f80111, 0x17f90111, 0x17fa0111, 0x17fb0111, 0x17fc0111, 0x17fd0111, 0x17fe0111, 0x17ff0111,
    -    0x18000111, 0x18010111, 0x18020111, 0x18030111, 0x18040111, 0x18050111, 0x18060111, 0x18070111,
    -    0x18080111, 0x18090111, 0x180a0111, 0x02840111, 0x02850111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x180b0111, 0x180b0121, 0x180c0111, 0x18280111, 0x180c0121, 0x180c0121, 0x180d0111, 0x180d0121,
    -    0x180e0111, 0x180e0121, 0x18260111, 0x18270111, 0x180e0121, 0x180e0121, 0x180e0121, 0x180f0111,
    -    0x18100111, 0x18110111, 0x18120111, 0x18120121, 0x18120121, 0x18120121, 0x18120121, 0x18130111,
    -    0x182b0111, 0x18140111, 0x18150111, 0x18150121, 0x18150121, 0x18150121, 0x18160111, 0x18160121,
    -    0x18160121, 0x18170111, 0x18170121, 0x18180111, 0x18180121, 0x18190111, 0x18190121, 0x181a0111,
    -    0x181b0111, 0x181c0111, 0x181d0111, 0x181d0121, 0x181d0121, 0x181d0121, 0x181d0121, 0x181e0111,
    -    0x181e0121, 0x181e0121, 0x181f0111, 0x181f0121, 0x181f0121, 0x181b0121, 0x18200111, 0x18210111,
    -    0x18210121, 0x18210121, 0x18220111, 0x18220121, 0x18230111, 0x18230121, 0x18240111, 0x18250111,
    -    0x18290111, 0x182d0111, 0x182e0111, 0x182a0111, 0x182c0111, 0x182f0111, 0x18300111, 0x18300121,
    -    0x18300121, 0x18140121, 0x181d0121, 0x02480111, 0x02490111, 0x024a0111, 0x18190121, 0x18210121,
    -    0x180d0121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1700 .. 0x17ff */
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x145f0111, 0x14600111, 0x14610111, 0x14620111, 0x14630111, 0x14640111, 0x14650111, 0x14660111,
    -    0x14670111, 0x14680111, 0x14690111, 0x146a0111, 0x146b0111, 0x146c0111, 0x146d0111, 0x146e0111,
    -    0x146f0111, 0x14700111, 0x14710111, 0x14720111, 0x14730111, 0x14740111, 0x14750111, 0x14760111,
    -    0x14770111, 0x14780111, 0x14790111, 0x147a0111, 0x147b0111, 0x147c0111, 0x147d0111, 0x147e0111,
    -    0x147f0111, 0x14800111, 0x14810111, 0x14820111, 0x14830111, 0x14840111, 0x14850111, 0x14860111,
    -    0x14870111, 0x14880111, 0x14890111, 0x148a0111, 0x148b0111, 0x148c0111, 0x148d0111, 0x148e0111,
    -    0x148f0111, 0x14900111, 0x14910111, 0x14920111, 0x14930111, 0x14940111, 0x14950111, 0x14960111,
    -    0x14970111, 0x14980111, 0x14990111, 0x149a0111, 0x149b0111, 0x149c0111, 0x149d0111, 0x149e0111,
    -    0x149f0111, 0x14a00111, 0x14a10111, 0x14a20111, 0x14a30111, 0x14a40111, 0x0000cf11, 0x0000d011,
    -    0x0000d111, 0x0000d211, 0x0000d311, 0x0000d411, 0x0000d511, 0x0000d611, 0x0000d711, 0x0000d811,
    -    0x0000d911, 0x0000da11, 0x14a50111, 0x0000db11, 0x02640111, 0x02650111, 0x02470111, 0x02e40111,
    -    0x02e50111, 0x02e60111, 0x02e70111, 0x09e60111, 0x02e80111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1800 .. 0x18ff */
    -    0x02cb0111, 0x02560111, 0x02320111, 0x025b0111, 0x02440111, 0x02450111, 0x02230111, 0x02240111,
    -    0x02330111, 0x025c0111, 0x02cc0111, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
    -    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x14ae0111, 0x14b00111, 0x14b30111, 0x14b90111, 0x14bb0111, 0x14be0111, 0x14c00111, 0x14c30111,
    -    0x14c40111, 0x14c50111, 0x14ca0111, 0x14cc0111, 0x14cf0111, 0x14d10111, 0x14d60111, 0x14d80111,
    -    0x14d90111, 0x14da0111, 0x14e10111, 0x14e40111, 0x14e70111, 0x14ec0111, 0x14f00111, 0x14f30111,
    -    0x14f50111, 0x14f70111, 0x14fa0111, 0x14ff0111, 0x15000111, 0x15030111, 0x15070111, 0x150a0111,
    -    0x150b0111, 0x150c0111, 0x150d0111, 0x14ad0111, 0x14b10111, 0x14b40111, 0x14ba0111, 0x14bc0111,
    -    0x14bf0111, 0x14c10111, 0x14c60111, 0x14cb0111, 0x14cd0111, 0x14d00111, 0x14d20111, 0x14d70111,
    -    0x14e20111, 0x14e50111, 0x14e80111, 0x14ed0111, 0x15010111, 0x14f10111, 0x14f60111, 0x14fb0111,
    -    0x15050111, 0x15080111, 0x150e0111, 0x150f0111, 0x14ea0111, 0x14b20111, 0x14b50111, 0x14b80111,
    -    0x14c20111, 0x14bd0111, 0x14c70111, 0x14fc0111, 0x14d30111, 0x14d50111, 0x14ce0111, 0x14db0111,
    -    0x14e30111, 0x14e60111, 0x14ee0111, 0x14f80111, 0x15060111, 0x15090111, 0x15020111, 0x15040111,
    -    0x15100111, 0x14e90111, 0x14f20111, 0x14b60111, 0x14fd0111, 0x14f40111, 0x14f90111, 0x14ef0111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x14a60111, 0x14a70111, 0x14a80111, 0x14a90111, 0x14aa0111, 0x14ab0111, 0x14ac0111, 0x14af0111,
    -    0x14b70111, 0x14fe0111, 0x14c80111, 0x14eb0111, 0x15110111, 0x15130111, 0x15140111, 0x15160111,
    -    0x15170111, 0x151a0111, 0x151c0111, 0x151d0111, 0x151f0111, 0x15210111, 0x15230111, 0x15240111,
    -    0x15180111, 0x15220111, 0x14d40111, 0x14c90111, 0x14dc0111, 0x14dd0111, 0x15120111, 0x15150111,
    -    0x15190111, 0x151b0111, 0x14de0111, 0x15200111, 0x14df0111, 0x14e00111, 0x15250111, 0x15260111,
    -    0x151e0111, 0x15270111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1e00 .. 0x1eff */
    -    0x0a150151, 0x0a150111, 0x0a290141, 0x0a290111, 0x0a290141, 0x0a290111, 0x0a290141, 0x0a290111,
    -    0x0a3d0151, 0x0a3d0111, 0x0a490151, 0x0a490111, 0x0a490151, 0x0a490111, 0x0a490151, 0x0a490111,
    -    0x0a490151, 0x0a490111, 0x0a490151, 0x0a490111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    -    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a910151, 0x0a910111,
    -    0x0a990151, 0x0a990111, 0x0ab90151, 0x0ab90111, 0x0ab90151, 0x0ab90111, 0x0ab90151, 0x0ab90111,
    -    0x0ab90151, 0x0ab90111, 0x0ab90151, 0x0ab90111, 0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111,
    -    0x0af70141, 0x0af70111, 0x0af70141, 0x0af70111, 0x0af70141, 0x0af70111, 0x0b030161, 0x0b030111,
    -    0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b2b0151, 0x0b2b0111,
    -    0x0b2b0151, 0x0b2b0111, 0x0b2b0151, 0x0b2b0111, 0x0b330151, 0x0b330111, 0x0b330151, 0x0b330111,
    -    0x0b330151, 0x0b330111, 0x0b330151, 0x0b330111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    -    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b670141, 0x0b670111, 0x0b670141, 0x0b670111,
    -    0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111,
    -    0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111,
    -    0x0ba70151, 0x0ba70111, 0x0bbf0151, 0x0bbf0111, 0x0bbf0151, 0x0bbf0111, 0x0bbf0151, 0x0bbf0111,
    -    0x0bbf0151, 0x0bbf0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    -    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bef0151, 0x0bef0111, 0x0bef0151, 0x0bef0111,
    -    0x0bfb0141, 0x0bfb0111, 0x0bfb0141, 0x0bfb0111, 0x0bfb0141, 0x0bfb0111, 0x0bfb0141, 0x0bfb0111,
    -    0x0bfb0141, 0x0bfb0111, 0x0c030151, 0x0c030111, 0x0c030151, 0x0c030111, 0x0c070141, 0x0c070111,
    -    0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0ab90111, 0x0bbf0111,
    -    0x0bfb0111, 0x0c070111, 0x0a150131, 0x0ba70131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111,
    -    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111,
    -    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111,
    -    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    -    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    -    0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    -    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    -    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    -    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    -    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    -    0x0bd70141, 0x0bd70111, 0x0c070141, 0x0c070111, 0x0c070141, 0x0c070111, 0x0c070141, 0x0c070111,
    -    0x0c070141, 0x0c070111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x1f00 .. 0x1fff */
    -    0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111,
    -    0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121,
    -    0x0c950111, 0x0c950111, 0x0c950111, 0x0c950111, 0x0c950111, 0x0c950111, 0xffffffff, 0xffffffff,
    -    0x0c950131, 0x0c950131, 0x0c950131, 0x0c950131, 0x0c950131, 0x0c950131, 0xffffffff, 0xffffffff,
    -    0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111,
    -    0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121,
    -    0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111,
    -    0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121,
    -    0x0ca20111, 0x0ca20111, 0x0ca20111, 0x0ca20111, 0x0ca20111, 0x0ca20111, 0xffffffff, 0xffffffff,
    -    0x0ca20121, 0x0ca20121, 0x0ca20121, 0x0ca20121, 0x0ca20121, 0x0ca20121, 0xffffffff, 0xffffffff,
    -    0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111,
    -    0xffffffff, 0x0ca80121, 0xffffffff, 0x0ca80121, 0xffffffff, 0x0ca80121, 0xffffffff, 0x0ca80121,
    -    0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111,
    -    0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121,
    -    0x0c910111, 0x0c910111, 0x0c950111, 0x0c950111, 0x0c990111, 0x0c990111, 0x0c9b0111, 0x0c9b0111,
    -    0x0ca20111, 0x0ca20111, 0x0ca80111, 0x0ca80111, 0x0cac0111, 0x0cac0111, 0xffffffff, 0xffffffff,
    -    0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111,
    -    0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121,
    -    0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111,
    -    0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121,
    -    0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111,
    -    0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121,
    -    0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0xffffffff, 0x0c910111, 0x0c910111,
    -    0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x02170111, 0x0c9b0111, 0x02170111,
    -    0x021d0111, 0x02140111, 0x0c990111, 0x0c990111, 0x0c990111, 0xffffffff, 0x0c990111, 0x0c990111,
    -    0x0c950131, 0x0c950131, 0x0c990121, 0x0c990121, 0x0c990121, 0x02170111, 0x02170111, 0x02170111,
    -    0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0xffffffff, 0xffffffff, 0x0c9b0111, 0x0c9b0111,
    -    0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0xffffffff, 0x02180111, 0x02180111, 0x02180111,
    -    0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca50111, 0x0ca50111, 0x0ca80111, 0x0ca80111,
    -    0x0ca80121, 0x0ca80121, 0x0ca80121, 0x0ca80121, 0x0ca50131, 0x02140111, 0x02140111, 0x020c0111,
    -    0xffffffff, 0xffffffff, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0xffffffff, 0x0cac0111, 0x0cac0111,
    -    0x0ca20121, 0x0ca20121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x020d0111, 0x02180111, 0xffffffff,
    -    /* 0x2000 .. 0x20ff */
    -    0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090141,
    -    0x02090131, 0x02090131, 0x02090131, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x02250111, 0x02250121, 0x02260111, 0x02270111, 0x02280111, 0x02290111, 0x03a90111, 0x021c0111,
    -    0x026a0111, 0x026b0111, 0x026c0111, 0x026d0111, 0x02710111, 0x02720111, 0x02730111, 0x02740111,
    -    0x02ae0111, 0x02af0111, 0x02b00111, 0x02b10111, 0x02550131, 0x02550131, 0x02550131, 0x02b20111,
    -    0x02070111, 0x02080111, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02090141,
    -    0x02ac0111, 0x02ad0111, 0x02b60111, 0x02b60121, 0x02b60121, 0x02b70111, 0x02b70121, 0x02b70121,
    -    0x02b90111, 0x026e0111, 0x026f0111, 0x02ba0111, 0x024b0131, 0x02540111, 0x02110111, 0x02bb0111,
    -    0x02bc0111, 0x02bd0111, 0x02be0111, 0x02b30111, 0x02a50111, 0x02860111, 0x02870111, 0xffffffff,
    -    0x024e0131, 0x024b0131, 0x02a80111, 0x029e0111, 0x02b40111, 0x02b50111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    -    0x0a0b0151, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0f0151, 0x0a100151, 0x0a110151, 0x0a120151,
    -    0x0a130151, 0x0a140151, 0x039f0151, 0x03ab0121, 0x03a40141, 0x027a0151, 0x027b0141, 0x0b3301a1,
    -    0x0a0b0161, 0x0a0c0161, 0x0a0d0161, 0x0a0e0161, 0x0a0f0161, 0x0a100161, 0x0a110161, 0x0a120161,
    -    0x0a130161, 0x0a140161, 0x039f0161, 0x03ab0131, 0x03a40151, 0x027a0161, 0x027b0151, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x09e70111, 0x09e80111, 0x09e90111, 0x09ea0111, 0x09eb0111, 0x09ec0111, 0x09ed0111, 0x09ee0111,
    -    0x0b7f0161, 0x09ef0111, 0x09f00111, 0x09f10111, 0x09f20111, 0x09f30111, 0x09f40111, 0x09f50111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0000e411, 0x0000e511, 0x0000e611, 0x0000e711, 0x0000e811, 0x0000e911, 0x0000ea11, 0x0000eb11,
    -    0x0000ec11, 0x0000ed11, 0x0000ee11, 0x0000ef11, 0x0000f011, 0x0000f111, 0x0000f211, 0x0000f311,
    -    0x0000f411, 0x0000f511, 0x0000f611, 0x0000f711, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2100 .. 0x21ff */
    -    0x0a150131, 0x0a150131, 0x0a3d0181, 0x030a0121, 0x09f60111, 0x0a3d0131, 0x0a3d0131, 0x0a710131,
    -    0x09f70111, 0x030a0121, 0x0a990131, 0x0ab90171, 0x0ab90171, 0x0ab90171, 0x0ab90131, 0x0ac50121,
    -    0x0ad30191, 0x0ad30191, 0x0b030191, 0x0b030141, 0x09f80111, 0x0b330181, 0x0b330171, 0x09f90111,
    -    0x09fa0111, 0x0b670161, 0x0b730161, 0x0b7f0171, 0x0b7f0171, 0x0b7f0171, 0x09fb0111, 0x09fc0111,
    -    0x0ba70181, 0x0bbf0171, 0x0bbf0191, 0x09fd0111, 0x0c130161, 0x09fe0111, 0x0cac0121, 0x09ff0111,
    -    0x0c130161, 0x0a000111, 0x0af70141, 0x0a150151, 0x0a290161, 0x0a3d0181, 0x0a010111, 0x0a650131,
    -    0x0a650171, 0x0a910171, 0x0a020111, 0x0b2b0181, 0x0b4b0141, 0x0eb70121, 0x0eb80121, 0x0eb90121,
    -    0x0eba0121, 0x0ad30141, 0x0a030111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0x0a0c0171, 0x0a0d0171, 0x0a0c0171, 0x0a0d0171, 0x0a0e0171,
    -    0x0a0f0171, 0x0a0c0171, 0x0a100171, 0x0a0c0171, 0x0a0e0171, 0x0a100171, 0x0a120171, 0x0a0c0171,
    -    0x0ad30181, 0x0ad30181, 0x0ad30181, 0x0ad30181, 0x0bef0171, 0x0bef0171, 0x0bef0171, 0x0bef0171,
    -    0x0ad30181, 0x0c030171, 0x0c030171, 0x0c030171, 0x0b030181, 0x0a3d0171, 0x0a490171, 0x0b2b0171,
    -    0x0ad30131, 0x0ad30131, 0x0ad30131, 0x0ad30131, 0x0bef0131, 0x0bef0131, 0x0bef0131, 0x0bef0131,
    -    0x0ad30131, 0x0c030131, 0x0c030131, 0x0c030131, 0x0b030131, 0x0a3d0131, 0x0a490131, 0x0b2b0131,
    -    0x0a040111, 0x0a050111, 0x0a060111, 0x0a070111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x03320111, 0x03340111, 0x03330111, 0x03350111, 0x03360111, 0x03370111, 0x03380111, 0x03390111,
    -    0x033a0111, 0x033b0111, 0x03320111, 0x03330111, 0x033c0111, 0x033d0111, 0x033e0111, 0x033f0111,
    -    0x03400111, 0x03410111, 0x03420111, 0x03430111, 0x03440111, 0x03450111, 0x03460111, 0x03470111,
    -    0x03480111, 0x03490111, 0x034a0111, 0x034b0111, 0x034c0111, 0x034d0111, 0x03360111, 0x034e0111,
    -    0x034f0111, 0x03500111, 0x03510111, 0x03520111, 0x03530111, 0x03540111, 0x03550111, 0x03560111,
    -    0x03570111, 0x03580111, 0x03590111, 0x035a0111, 0x035b0111, 0x035c0111, 0x035d0111, 0x035e0111,
    -    0x035f0111, 0x03600111, 0x03610111, 0x03620111, 0x03630111, 0x03640111, 0x03650111, 0x03660111,
    -    0x03670111, 0x03680111, 0x03690111, 0x036a0111, 0x036b0111, 0x036c0111, 0x03700111, 0x036e0111,
    -    0x036c0111, 0x036d0111, 0x036e0111, 0x036f0111, 0x03700111, 0x03710111, 0x03720111, 0x03730111,
    -    0x03740111, 0x03750111, 0x03760111, 0x03770111, 0x03780111, 0x03790111, 0x037a0111, 0x037b0111,
    -    0x037c0111, 0x037d0111, 0x037e0111, 0x037f0111, 0x03800111, 0x03810111, 0x03820111, 0x03830111,
    -    0x03840111, 0x03850111, 0x03860111, 0x03870111, 0x03880111, 0x03890111, 0x038a0111, 0x038b0111,
    -    0x038c0111, 0x038d0111, 0x038e0111, 0x038f0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2200 .. 0x22ff */
    -    0x03900111, 0x03910111, 0x03920111, 0x03930111, 0x03930111, 0x03940111, 0x03950111, 0x03960111,
    -    0x03970111, 0x03970111, 0x03980111, 0x03990111, 0x03990111, 0x039a0111, 0x039b0111, 0x039c0111,
    -    0x039d0111, 0x039e0111, 0x03ab0111, 0x03ac0111, 0x03ad0111, 0x03ae0111, 0x03af0111, 0x03b00111,
    -    0x03b10111, 0x03b20111, 0x03b30111, 0x03b40111, 0x03b50111, 0x03b60111, 0x03b70111, 0x03b80111,
    -    0x03b90111, 0x03ba0111, 0x03bb0111, 0x03bc0111, 0x03bc0111, 0x03bd0111, 0x03bd0111, 0x03be0111,
    -    0x03bf0111, 0x03c00111, 0x03c10111, 0x03c20111, 0x03c20121, 0x03c20121, 0x03c30111, 0x03c30121,
    -    0x03c30121, 0x03c40111, 0x03c50111, 0x03c60111, 0x03c70111, 0x03c80111, 0x03c90111, 0x03ca0111,
    -    0x03cb0111, 0x03cc0111, 0x03cd0111, 0x03ce0111, 0x03cf0111, 0x03d00111, 0x03d10111, 0x03d20111,
    -    0x03d30111, 0x03cf0111, 0x03d40111, 0x03d50111, 0x03d50111, 0x03d60111, 0x03d70111, 0x03d60111,
    -    0x03d80111, 0x03d80111, 0x03d90111, 0x03da0111, 0x03db0111, 0x03dc0111, 0x03dd0111, 0x03de0111,
    -    0x03df0111, 0x03e00111, 0x03e10111, 0x03e20111, 0x03e30111, 0x03e40111, 0x03e50111, 0x03e60111,
    -    0x03e70111, 0x03e80111, 0x03e90111, 0x03ea0111, 0x03eb0111, 0x03ec0111, 0x03ed0111, 0x03ee0111,
    -    0x03a40111, 0x03ef0111, 0x03ef0111, 0x03f00111, 0x03f10111, 0x03f20111, 0x03f30111, 0x03f40111,
    -    0x03f50111, 0x03f60111, 0x03f70111, 0x03f80111, 0x03f90111, 0x03dc0111, 0x03a30111, 0x03a50111,
    -    0x03f10111, 0x03f20111, 0x03fa0111, 0x03fb0111, 0x03fa0111, 0x03fb0111, 0x03fc0111, 0x03fd0111,
    -    0x03fc0111, 0x03fd0111, 0x03fe0111, 0x03ff0111, 0x04000111, 0x04010111, 0x04020111, 0x04030111,
    -    0x03fe0111, 0x03ff0111, 0x04040111, 0x04050111, 0x04040111, 0x04050111, 0x04060111, 0x04070111,
    -    0x04060111, 0x04070111, 0x04080111, 0x04090111, 0x040a0111, 0x040b0111, 0x040c0111, 0x040d0111,
    -    0x040e0111, 0x040f0111, 0x04100111, 0x04110111, 0x04120111, 0x04130111, 0x04140111, 0x04150111,
    -    0x04160111, 0x04170111, 0x04180111, 0x04190111, 0x041a0111, 0x041b0111, 0x041c0111, 0x041d0111,
    -    0x041e0111, 0x041f0111, 0x04200111, 0x04210111, 0x04220111, 0x04230111, 0x04240111, 0x04250111,
    -    0x04260111, 0x04270111, 0x04280111, 0x04290111, 0x04200111, 0x04260111, 0x04270111, 0x04290111,
    -    0x042a0111, 0x042b0111, 0x042c0111, 0x042d0111, 0x042e0111, 0x042f0111, 0x04300111, 0x04310111,
    -    0x04320111, 0x04330111, 0x04340111, 0x04350111, 0x04360111, 0x04370111, 0x04380111, 0x04390111,
    -    0x043a0111, 0x043b0111, 0x043c0111, 0x043d0111, 0x043e0111, 0x043f0111, 0x04400111, 0x04410111,
    -    0x04420111, 0x04430111, 0x04440111, 0x04450111, 0x04460111, 0x04470111, 0x04480111, 0x04490111,
    -    0x044a0111, 0x044b0111, 0x044c0111, 0x044d0111, 0x044e0111, 0x044f0111, 0x04500111, 0x04510111,
    -    0x04520111, 0x04530111, 0x04540111, 0x04550111, 0x04560111, 0x04570111, 0x04580111, 0x04590111,
    -    0x04000111, 0x04010111, 0x040f0111, 0x04100111, 0x045a0111, 0x045b0111, 0x045c0111, 0x045d0111,
    -    0x045e0111, 0x045f0111, 0x042c0111, 0x042d0111, 0x042e0111, 0x042f0111, 0x04600111, 0x04610111,
    -    0x04620111, 0x04630111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2300 .. 0x23ff */
    -    0x04640111, 0x04650111, 0x04660111, 0x04670111, 0x04680111, 0x04690111, 0x046a0111, 0x046b0111,
    -    0x046c0111, 0x046d0111, 0x046e0111, 0x046f0111, 0x04700111, 0x04710111, 0x04720111, 0x04730111,
    -    0x04740111, 0x04750111, 0x04760111, 0x04770111, 0x04780111, 0x04790111, 0x047a0111, 0x047b0111,
    -    0x047c0111, 0x047d0111, 0x047e0111, 0x047f0111, 0x04800111, 0x04810111, 0x04820111, 0x04830111,
    -    0x04840111, 0x04850111, 0x04860111, 0x04870111, 0x04880111, 0x04890111, 0x048a0111, 0x048b0111,
    -    0x048c0111, 0x02880111, 0x02890111, 0x048d0111, 0x048e0111, 0x048f0111, 0x04900111, 0x04910111,
    -    0x04920111, 0x04930111, 0x04940111, 0x04950111, 0x04960111, 0x04970111, 0x04980111, 0x04990111,
    -    0x049a0111, 0x049b0111, 0x049c0111, 0x049d0111, 0x049e0111, 0x049f0111, 0x04a00111, 0x04a10111,
    -    0x04a20111, 0x04a30111, 0x04a40111, 0x04a50111, 0x04a60111, 0x04a70111, 0x04a80111, 0x04a90111,
    -    0x04aa0111, 0x04ab0111, 0x04ac0111, 0x04ad0111, 0x04ae0111, 0x04af0111, 0x04b00111, 0x04b10111,
    -    0x04b20111, 0x04b30111, 0x04b40111, 0x04b50111, 0x04b60111, 0x04b70111, 0x04b80111, 0x04b90111,
    -    0x04ba0111, 0x04bb0111, 0x04bc0111, 0x04bd0111, 0x04be0111, 0x04bf0111, 0x04c00111, 0x04c10111,
    -    0x04c20111, 0x04c30111, 0x04c40111, 0x04c50111, 0x04c60111, 0x04c70111, 0x04c80111, 0x04c90111,
    -    0x04ca0111, 0x04cb0111, 0x04cc0111, 0x04cd0111, 0x04ce0111, 0x04cf0111, 0x04d00111, 0x04d10111,
    -    0x04d20111, 0x04d30111, 0x04d40111, 0x04d50111, 0x04d60111, 0x04d70111, 0x04d80111, 0x04d90111,
    -    0x04da0111, 0x04db0111, 0x04dc0111, 0x04dd0111, 0xffffffff, 0x04de0111, 0x04df0111, 0x04e00111,
    -    0x04e10111, 0x04e20111, 0x04e30111, 0x04e40111, 0x04e50111, 0x04e60111, 0x04e70111, 0x04e80111,
    -    0x04e90111, 0x04ea0111, 0x04eb0111, 0x04ec0111, 0x04ed0111, 0x04ee0111, 0x04ef0111, 0x04f00111,
    -    0x04f10111, 0x04f20111, 0x04f30111, 0x04f40111, 0x04f50111, 0x04f60111, 0x04f70111, 0x04f80111,
    -    0x04f90111, 0x04fa0111, 0x04fb0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2400 .. 0x24ff */
    -    0x04fc0111, 0x04fd0111, 0x04fe0111, 0x04ff0111, 0x05000111, 0x05010111, 0x05020111, 0x05030111,
    -    0x05040111, 0x05050111, 0x05060111, 0x05070111, 0x05080111, 0x05090111, 0x050a0111, 0x050b0111,
    -    0x050c0111, 0x050d0111, 0x050e0111, 0x050f0111, 0x05100111, 0x05110111, 0x05120111, 0x05130111,
    -    0x05140111, 0x05150111, 0x05160111, 0x05170111, 0x05180111, 0x05190111, 0x051a0111, 0x051b0111,
    -    0x051c0111, 0x051d0111, 0x051e0111, 0x051f0111, 0x05200111, 0x05210111, 0x05220111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x05230111, 0x05240111, 0x05250111, 0x05260111, 0x05270111, 0x05280111, 0x05290111, 0x052a0111,
    -    0x052b0111, 0x052c0111, 0x052d0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0a0c0141, 0x0a0d0141, 0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141, 0x0a120141, 0x0a130141,
    -    0x0a140141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141,
    -    0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0d0141, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131, 0x0a130131,
    -    0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131,
    -    0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0d0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x0a150171, 0x0a290171,
    -    0x0a3d0191, 0x0a490181, 0x0a650181, 0x0a910181, 0x0a990171, 0x0ab90181, 0x0ad301a1, 0x0ae70161,
    -    0x0af70161, 0x0b0301a1, 0x0b2b0191, 0x0b330191, 0x0b4b0191, 0x0b670171, 0x0b730171, 0x0b7f0181,
    -    0x0ba70171, 0x0bbf0181, 0x0bd70161, 0x0bef0181, 0x0bfb0161, 0x0c030181, 0x0c070161, 0x0c130171,
    -    0x0a150141, 0x0a290131, 0x0a3d0141, 0x0a490141, 0x0a650141, 0x0a910141, 0x0a990141, 0x0ab90141,
    -    0x0ad30151, 0x0ae70131, 0x0af70131, 0x0b030151, 0x0b2b0141, 0x0b330141, 0x0b4b0151, 0x0b670131,
    -    0x0b730131, 0x0b7f0131, 0x0ba70141, 0x0bbf0141, 0x0bd70131, 0x0bef0141, 0x0bfb0131, 0x0c030141,
    -    0x0c070131, 0x0c130131, 0x0a0b0141, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2500 .. 0x25ff */
    -    0x052e0111, 0x052f0111, 0x05300111, 0x05310111, 0x05320111, 0x05330111, 0x05340111, 0x05350111,
    -    0x05360111, 0x05370111, 0x05380111, 0x05390111, 0x053a0111, 0x053b0111, 0x053c0111, 0x053d0111,
    -    0x053e0111, 0x053f0111, 0x05400111, 0x05410111, 0x05420111, 0x05430111, 0x05440111, 0x05450111,
    -    0x05460111, 0x05470111, 0x05480111, 0x05490111, 0x054a0111, 0x054b0111, 0x054c0111, 0x054d0111,
    -    0x054e0111, 0x054f0111, 0x05500111, 0x05510111, 0x05520111, 0x05530111, 0x05540111, 0x05550111,
    -    0x05560111, 0x05570111, 0x05580111, 0x05590111, 0x055a0111, 0x055b0111, 0x055c0111, 0x055d0111,
    -    0x055e0111, 0x055f0111, 0x05600111, 0x05610111, 0x05620111, 0x05630111, 0x05640111, 0x05650111,
    -    0x05660111, 0x05670111, 0x05680111, 0x05690111, 0x056a0111, 0x056b0111, 0x056c0111, 0x056d0111,
    -    0x056e0111, 0x056f0111, 0x05700111, 0x05710111, 0x05720111, 0x05730111, 0x05740111, 0x05750111,
    -    0x05760111, 0x05770111, 0x05780111, 0x05790111, 0x057a0111, 0x057b0111, 0x057c0111, 0x057d0111,
    -    0x057e0111, 0x057f0111, 0x05800111, 0x05810111, 0x05820111, 0x05830111, 0x05840111, 0x05850111,
    -    0x05860111, 0x05870111, 0x05880111, 0x05890111, 0x058a0111, 0x058b0111, 0x058c0111, 0x058d0111,
    -    0x058e0111, 0x058f0111, 0x05900111, 0x05910111, 0x05920111, 0x05930111, 0x05940111, 0x05950111,
    -    0x05960111, 0x05970111, 0x05980111, 0x05990111, 0x059a0111, 0x059b0111, 0x059c0111, 0x059d0111,
    -    0x059e0111, 0x059f0111, 0x05a00111, 0x05a10111, 0x05a20111, 0x05a30111, 0x05a40111, 0x05a50111,
    -    0x05a60111, 0x05a70111, 0x05a80111, 0x05a90111, 0x05aa0111, 0x05ab0111, 0x05ac0111, 0x05ad0111,
    -    0x05ae0111, 0x05af0111, 0x05b00111, 0x05b10111, 0x05b20111, 0x05b30111, 0x05b40111, 0x05b50111,
    -    0x05b60111, 0x05b70111, 0x05b80111, 0x05b90111, 0x05ba0111, 0x05bb0111, 0x05bc0111, 0x05bd0111,
    -    0x05be0111, 0x05bf0111, 0x05c00111, 0x05c10111, 0x05c20111, 0x05c30111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x05c40111, 0x05c50111, 0x05c60111, 0x05c70111, 0x05c80111, 0x05c90111, 0x05ca0111, 0x05cb0111,
    -    0x05cc0111, 0x05cd0111, 0x05ce0111, 0x05cf0111, 0x05d00111, 0x05d10111, 0x05d20111, 0x05d30111,
    -    0x05d40111, 0x05d50111, 0x05d60111, 0x05d70111, 0x05d80111, 0x05d90111, 0x05da0111, 0x05db0111,
    -    0x05dc0111, 0x05dd0111, 0x05de0111, 0x05df0111, 0x05e00111, 0x05e10111, 0x05e20111, 0x05e30111,
    -    0x05e40111, 0x05e50111, 0x05e60111, 0x05e70111, 0x05e80111, 0x05e90111, 0x05ea0111, 0x05eb0111,
    -    0x05ec0111, 0x05ed0111, 0x05ee0111, 0x05ef0111, 0x05f00111, 0x05f10111, 0x05f20111, 0x05f30111,
    -    0x05f40111, 0x05f50111, 0x05f60111, 0x05f70111, 0x05f80111, 0x05f90111, 0x05fa0111, 0x05fb0111,
    -    0x05fc0111, 0x05fd0111, 0x05fe0111, 0x05ff0111, 0x06000111, 0x06010111, 0x06020111, 0x06030111,
    -    0x06040111, 0x06050111, 0x06060111, 0x06070111, 0x06080111, 0x06090111, 0x060a0111, 0x060b0111,
    -    0x060c0111, 0x060d0111, 0x060e0111, 0x060f0111, 0x06100111, 0x06110111, 0x06120111, 0x06130111,
    -    0x06140111, 0x06150111, 0x06160111, 0x06170111, 0x06180111, 0x06190111, 0x061a0111, 0x061b0111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2600 .. 0x26ff */
    -    0x061c0111, 0x061d0111, 0x061e0111, 0x061f0111, 0x06200111, 0x06210111, 0x06220111, 0x06230111,
    -    0x06240111, 0x06250111, 0x06260111, 0x06270111, 0x06280111, 0x06290111, 0x062a0111, 0x062b0111,
    -    0x062c0111, 0x062d0111, 0x062e0111, 0x062f0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x06300111, 0x06310111, 0x06320111, 0x06330111, 0x06340111, 0x06350111, 0x06360111,
    -    0x06370111, 0x06380111, 0x06390111, 0x063a0111, 0x063b0111, 0x063c0111, 0x063d0111, 0x063e0111,
    -    0x063f0111, 0x06400111, 0x06410111, 0x06420111, 0x06430111, 0x06440111, 0x06450111, 0x06460111,
    -    0x06470111, 0x06480111, 0x06490111, 0x064a0111, 0x064b0111, 0x064c0111, 0x064d0111, 0x064e0111,
    -    0x064f0111, 0x06500111, 0x06510111, 0x06520111, 0x06530111, 0x06540111, 0x06550111, 0x06560111,
    -    0x06570111, 0x06580111, 0x06590111, 0x065a0111, 0x065b0111, 0x065c0111, 0x065d0111, 0x065e0111,
    -    0x065f0111, 0x06600111, 0x06610111, 0x06620111, 0x06630111, 0x06640111, 0x06650111, 0x06660111,
    -    0x06670111, 0x06680111, 0x06690111, 0x066a0111, 0x066b0111, 0x066c0111, 0x066d0111, 0x066e0111,
    -    0x066f0111, 0x06700111, 0x06710111, 0x06720111, 0x06730111, 0x06740111, 0x06750111, 0x06760111,
    -    0x06770111, 0x06780111, 0x06790111, 0x067a0111, 0x067b0111, 0x067c0111, 0x067d0111, 0x067e0111,
    -    0x067f0111, 0x06800111, 0x06810111, 0x06820111, 0x06830111, 0x0a080111, 0x0a090111, 0x0a0a0111,
    -    0x06840111, 0x06850111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2700 .. 0x27ff */
    -    0xffffffff, 0x06860111, 0x06870111, 0x06880111, 0x06890111, 0xffffffff, 0x068a0111, 0x068b0111,
    -    0x068c0111, 0x068d0111, 0xffffffff, 0xffffffff, 0x068e0111, 0x068f0111, 0x06900111, 0x06910111,
    -    0x06920111, 0x06930111, 0x06940111, 0x06950111, 0x06960111, 0x06970111, 0x06980111, 0x06990111,
    -    0x069a0111, 0x069b0111, 0x069c0111, 0x069d0111, 0x069e0111, 0x069f0111, 0x06a00111, 0x06a10111,
    -    0x06a20111, 0x06a30111, 0x06a40111, 0x06a50111, 0x06a60111, 0x06a70111, 0x06a80111, 0x06a90111,
    -    0xffffffff, 0x06aa0111, 0x06ab0111, 0x06ac0111, 0x06ad0111, 0x06ae0111, 0x06af0111, 0x06b00111,
    -    0x06b10111, 0x06b20111, 0x06b30111, 0x06b40111, 0x06b50111, 0x06b60111, 0x06b70111, 0x06b80111,
    -    0x06b90111, 0x06ba0111, 0x06bb0111, 0x06bc0111, 0x06bd0111, 0x06be0111, 0x06bf0111, 0x06c00111,
    -    0x06c10111, 0x06c20111, 0x06c30111, 0x06c40111, 0x06c50111, 0x06c60111, 0x06c70111, 0x06c80111,
    -    0x06c90111, 0x06ca0111, 0x06cb0111, 0x06cc0111, 0xffffffff, 0x06cd0111, 0xffffffff, 0x06ce0111,
    -    0x06cf0111, 0x06d00111, 0x06d10111, 0xffffffff, 0xffffffff, 0xffffffff, 0x06d20111, 0xffffffff,
    -    0x06d30111, 0x06d40111, 0x06d50111, 0x06d60111, 0x06d70111, 0x06d80111, 0x06d90111, 0xffffffff,
    -    0xffffffff, 0x06da0111, 0x06db0111, 0x06dc0111, 0x06dd0111, 0x06de0111, 0x06df0111, 0x06e00111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0c0141, 0x0a0d0141,
    -    0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141, 0x0a120141, 0x0a130141, 0x0a140141, 0x06e10111,
    -    0x0a0c0141, 0x0a0d0141, 0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141, 0x0a120141, 0x0a130141,
    -    0x0a140141, 0x06e20111, 0x0a0c0141, 0x0a0d0141, 0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141,
    -    0x0a120141, 0x0a130141, 0x0a140141, 0x06e30111, 0x06e40111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x06e50111, 0x06e60111, 0x06e70111, 0x06e80111, 0x06e90111, 0x06ea0111, 0x06eb0111, 0x06ec0111,
    -    0x06ed0111, 0x06ee0111, 0x06ef0111, 0x06f00111, 0x06f10111, 0x06f20111, 0x06f30111, 0x06f40111,
    -    0x06f50111, 0x06f60111, 0x06f70111, 0x06f80111, 0x06f90111, 0x06fa0111, 0x06fb0111, 0x06fc0111,
    -    0xffffffff, 0x06fd0111, 0x06fe0111, 0x06ff0111, 0x07000111, 0x07010111, 0x07020111, 0x07030111,
    -    0x07040111, 0x07050111, 0x07060111, 0x07070111, 0x07080111, 0x07090111, 0x070a0111, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2800 .. 0x28ff */
    -    0x070b0111, 0x070c0111, 0x070d0111, 0x070e0111, 0x070f0111, 0x07100111, 0x07110111, 0x07120111,
    -    0x07130111, 0x07140111, 0x07150111, 0x07160111, 0x07170111, 0x07180111, 0x07190111, 0x071a0111,
    -    0x071b0111, 0x071c0111, 0x071d0111, 0x071e0111, 0x071f0111, 0x07200111, 0x07210111, 0x07220111,
    -    0x07230111, 0x07240111, 0x07250111, 0x07260111, 0x07270111, 0x07280111, 0x07290111, 0x072a0111,
    -    0x072b0111, 0x072c0111, 0x072d0111, 0x072e0111, 0x072f0111, 0x07300111, 0x07310111, 0x07320111,
    -    0x07330111, 0x07340111, 0x07350111, 0x07360111, 0x07370111, 0x07380111, 0x07390111, 0x073a0111,
    -    0x073b0111, 0x073c0111, 0x073d0111, 0x073e0111, 0x073f0111, 0x07400111, 0x07410111, 0x07420111,
    -    0x07430111, 0x07440111, 0x07450111, 0x07460111, 0x07470111, 0x07480111, 0x07490111, 0x074a0111,
    -    0x074b0111, 0x074c0111, 0x074d0111, 0x074e0111, 0x074f0111, 0x07500111, 0x07510111, 0x07520111,
    -    0x07530111, 0x07540111, 0x07550111, 0x07560111, 0x07570111, 0x07580111, 0x07590111, 0x075a0111,
    -    0x075b0111, 0x075c0111, 0x075d0111, 0x075e0111, 0x075f0111, 0x07600111, 0x07610111, 0x07620111,
    -    0x07630111, 0x07640111, 0x07650111, 0x07660111, 0x07670111, 0x07680111, 0x07690111, 0x076a0111,
    -    0x076b0111, 0x076c0111, 0x076d0111, 0x076e0111, 0x076f0111, 0x07700111, 0x07710111, 0x07720111,
    -    0x07730111, 0x07740111, 0x07750111, 0x07760111, 0x07770111, 0x07780111, 0x07790111, 0x077a0111,
    -    0x077b0111, 0x077c0111, 0x077d0111, 0x077e0111, 0x077f0111, 0x07800111, 0x07810111, 0x07820111,
    -    0x07830111, 0x07840111, 0x07850111, 0x07860111, 0x07870111, 0x07880111, 0x07890111, 0x078a0111,
    -    0x078b0111, 0x078c0111, 0x078d0111, 0x078e0111, 0x078f0111, 0x07900111, 0x07910111, 0x07920111,
    -    0x07930111, 0x07940111, 0x07950111, 0x07960111, 0x07970111, 0x07980111, 0x07990111, 0x079a0111,
    -    0x079b0111, 0x079c0111, 0x079d0111, 0x079e0111, 0x079f0111, 0x07a00111, 0x07a10111, 0x07a20111,
    -    0x07a30111, 0x07a40111, 0x07a50111, 0x07a60111, 0x07a70111, 0x07a80111, 0x07a90111, 0x07aa0111,
    -    0x07ab0111, 0x07ac0111, 0x07ad0111, 0x07ae0111, 0x07af0111, 0x07b00111, 0x07b10111, 0x07b20111,
    -    0x07b30111, 0x07b40111, 0x07b50111, 0x07b60111, 0x07b70111, 0x07b80111, 0x07b90111, 0x07ba0111,
    -    0x07bb0111, 0x07bc0111, 0x07bd0111, 0x07be0111, 0x07bf0111, 0x07c00111, 0x07c10111, 0x07c20111,
    -    0x07c30111, 0x07c40111, 0x07c50111, 0x07c60111, 0x07c70111, 0x07c80111, 0x07c90111, 0x07ca0111,
    -    0x07cb0111, 0x07cc0111, 0x07cd0111, 0x07ce0111, 0x07cf0111, 0x07d00111, 0x07d10111, 0x07d20111,
    -    0x07d30111, 0x07d40111, 0x07d50111, 0x07d60111, 0x07d70111, 0x07d80111, 0x07d90111, 0x07da0111,
    -    0x07db0111, 0x07dc0111, 0x07dd0111, 0x07de0111, 0x07df0111, 0x07e00111, 0x07e10111, 0x07e20111,
    -    0x07e30111, 0x07e40111, 0x07e50111, 0x07e60111, 0x07e70111, 0x07e80111, 0x07e90111, 0x07ea0111,
    -    0x07eb0111, 0x07ec0111, 0x07ed0111, 0x07ee0111, 0x07ef0111, 0x07f00111, 0x07f10111, 0x07f20111,
    -    0x07f30111, 0x07f40111, 0x07f50111, 0x07f60111, 0x07f70111, 0x07f80111, 0x07f90111, 0x07fa0111,
    -    0x07fb0111, 0x07fc0111, 0x07fd0111, 0x07fe0111, 0x07ff0111, 0x08000111, 0x08010111, 0x08020111,
    -    0x08030111, 0x08040111, 0x08050111, 0x08060111, 0x08070111, 0x08080111, 0x08090111, 0x080a0111,
    -    /* 0x2e00 .. 0x2eff */
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xfb400121, 0xfb400121, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400111, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400111,
    -    0xfb400111, 0xfb400121, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400111, 0xfb400121,
    -    0xfb400111, 0xfb400111, 0xffffffff, 0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400111, 0xfb400121,
    -    0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400111, 0xfb400121, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410111, 0xfb410121,
    -    0xfb410121, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121,
    -    0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111,
    -    0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121, 0xfb410121, 0xfb410111, 0xfb410111, 0xfb410121,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121,
    -    0xfb410111, 0xfb410121, 0xfb410121, 0xfb410121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x2f00 .. 0x2fff */
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    -    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x09a90111, 0x09aa0111, 0x09ab0111, 0x09ac0111, 0x09ad0111, 0x09ae0111, 0x09af0111, 0x09b00111,
    -    0x09b10111, 0x09b20111, 0x09b30111, 0x09b40111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x3000 .. 0x30ff */
    -    0x02090121, 0x02340111, 0x025e0111, 0x02b80111, 0x09b50111, 0x09d70111, 0x192c0111, 0x0a0b0111,
    -    0x02880111, 0x02890111, 0x028a0111, 0x028b0111, 0x028c0111, 0x028d0111, 0x028e0111, 0x028f0111,
    -    0x02900111, 0x02910111, 0x09b60111, 0x09b70111, 0x02920111, 0x02930111, 0x02940111, 0x02950111,
    -    0x02960111, 0x02970111, 0x02980111, 0x02990111, 0x022a0111, 0x02750111, 0x02760111, 0x02770111,
    -    0x09b80111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    -    0x0a130111, 0x0a140111, 0x0000dc11, 0x0000dd11, 0x0000de11, 0x0000df11, 0x0000e011, 0x0000e111,
    -    0x022b0111, 0x09d80111, 0x09d80111, 0x09d90111, 0x09d90111, 0x09da0111, 0x09b60121, 0x09b90111,
    -    0xfb400121, 0xfb400121, 0xfb400121, 0xffffffff, 0xffffffff, 0xffffffff, 0x09ba0111, 0x09bb0111,
    -    0xffffffff, 0x19210111, 0x19210121, 0x19220111, 0x19220121, 0x19230111, 0x19230121, 0x19240111,
    -    0x19240121, 0x19250111, 0x19250121, 0x19260111, 0x19260111, 0x19270111, 0x19270111, 0x19280111,
    -    0x19280111, 0x19290111, 0x19290111, 0x192a0111, 0x192a0111, 0x192b0111, 0x192b0111, 0x192c0121,
    -    0x192c0121, 0x192d0111, 0x192d0111, 0x192e0111, 0x192e0111, 0x192f0111, 0x192f0111, 0x19300111,
    -    0x19300111, 0x19310111, 0x19310111, 0x19320111, 0x19320121, 0x19320121, 0x19330111, 0x19330111,
    -    0x19340111, 0x19340111, 0x19350111, 0x19360111, 0x19370111, 0x19380111, 0x19390111, 0x193a0111,
    -    0x193a0111, 0x193a0111, 0x193b0111, 0x193b0111, 0x193b0111, 0x193c0111, 0x193c0111, 0x193c0111,
    -    0x193d0111, 0x193d0111, 0x193d0111, 0x193e0111, 0x193e0111, 0x193e0111, 0x193f0111, 0x19400111,
    -    0x19410111, 0x19420111, 0x19430111, 0x19440111, 0x19440121, 0x19450111, 0x19450121, 0x19460111,
    -    0x19460121, 0x19470111, 0x19480111, 0x19490111, 0x194a0111, 0x194b0111, 0x194c0111, 0x194c0121,
    -    0x194d0111, 0x194e0111, 0x194f0111, 0x19500111, 0x19230121, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x0000e211, 0x0000e311, 0x021e0111, 0x021f0111, 0x09db0111, 0x09db0111, 0xffffffff,
    -    0xffffffff, 0x19210131, 0x19210151, 0x19220131, 0x19220151, 0x19230131, 0x19230151, 0x19240131,
    -    0x19240151, 0x19250131, 0x19250151, 0x19260131, 0x19260131, 0x19270121, 0x19270121, 0x19280121,
    -    0x19280121, 0x19290131, 0x19290131, 0x192a0121, 0x192a0121, 0x192b0121, 0x192b0121, 0x192c0131,
    -    0x192c0131, 0x192d0121, 0x192d0121, 0x192e0121, 0x192e0121, 0x192f0121, 0x192f0121, 0x19300121,
    -    0x19300121, 0x19310121, 0x19310121, 0x19320131, 0x19320151, 0x19320151, 0x19330121, 0x19330121,
    -    0x19340121, 0x19340121, 0x19350121, 0x19360121, 0x19370121, 0x19380121, 0x19390121, 0x193a0121,
    -    0x193a0121, 0x193a0121, 0x193b0121, 0x193b0121, 0x193b0121, 0x193c0121, 0x193c0121, 0x193c0121,
    -    0x193d0121, 0x193d0121, 0x193d0121, 0x193e0121, 0x193e0121, 0x193e0121, 0x193f0121, 0x19400121,
    -    0x19410121, 0x19420121, 0x19430121, 0x19440131, 0x19440151, 0x19450131, 0x19450151, 0x19460131,
    -    0x19460151, 0x19470121, 0x19480121, 0x19490121, 0x194a0121, 0x194b0121, 0x194c0131, 0x194c0141,
    -    0x194d0121, 0x194e0121, 0x194f0121, 0x19500121, 0x19230151, 0x19260121, 0x19290121, 0x194c0141,
    -    0x194d0121, 0x194e0121, 0x194f0121, 0x022c0111, 0x09dc0111, 0x09dd0111, 0x09dd0111, 0xffffffff,
    -    /* 0x3100 .. 0x31ff */
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x19510111, 0x19520111, 0x19530111,
    -    0x19540111, 0x19560111, 0x19570111, 0x19580111, 0x19590111, 0x195a0111, 0x195b0111, 0x195e0111,
    -    0x195f0111, 0x19600111, 0x19610111, 0x19630111, 0x19640111, 0x19650111, 0x19660111, 0x19670111,
    -    0x19680111, 0x19690111, 0x196a0111, 0x196b0111, 0x196d0111, 0x196e0111, 0x19700111, 0x19710111,
    -    0x19720111, 0x19730111, 0x19740111, 0x19750111, 0x19760111, 0x19780111, 0x197c0111, 0x197d0111,
    -    0x197e0111, 0x197f0111, 0x19550111, 0x195c0111, 0x19620111, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x18310121, 0x18320121, 0x18d10121, 0x18330121, 0x18d30121, 0x18d40121, 0x18340121,
    -    0x18350121, 0x18360121, 0x18d70121, 0x18d80121, 0x18d90121, 0x18da0121, 0x18db0121, 0x18dc0121,
    -    0x184b0121, 0x18370121, 0x18380121, 0x18390121, 0x18520121, 0x183a0121, 0x183b0121, 0x183c0121,
    -    0x183d0121, 0x183e0121, 0x183f0121, 0x18400121, 0x18410121, 0x18420121, 0x18430121, 0x188d0121,
    -    0x188e0121, 0x188f0121, 0x18900121, 0x18910121, 0x18920121, 0x18930121, 0x18940121, 0x18950121,
    -    0x18960121, 0x18970121, 0x18980121, 0x18990121, 0x189a0121, 0x189b0121, 0x189c0121, 0x189d0121,
    -    0x189e0121, 0x189f0121, 0x18a00121, 0x18a10121, 0x188c0121, 0x18450121, 0x18460121, 0x18ee0121,
    -    0x18ef0121, 0x18f30121, 0x18f50121, 0x18fa0121, 0x18fe0121, 0x19000121, 0x184d0121, 0x19040121,
    -    0x19060121, 0x184e0121, 0x184f0121, 0x18510121, 0x18530121, 0x18540121, 0x18580121, 0x185a0121,
    -    0x185c0121, 0x185d0121, 0x185e0121, 0x185f0121, 0x18600121, 0x18630121, 0x18670121, 0x18710121,
    -    0x18780121, 0x187d0121, 0x19180121, 0x19190121, 0x18880121, 0x18890121, 0x188a0121, 0x18b00121,
    -    0x18b10121, 0x18b40121, 0x18bd0121, 0x18be0121, 0x18c00121, 0x18ca0121, 0x18cd0121, 0xffffffff,
    -    0x09bc0111, 0x09bd0111, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141,
    -    0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141,
    -    0x19510121, 0x19670121, 0x195f0121, 0x195a0121, 0x196f0111, 0x196f0121, 0x196c0111, 0x196b0121,
    -    0x197e0121, 0x196a0121, 0x197d0121, 0x197e0121, 0x197b0111, 0x195d0111, 0x19700121, 0x19720121,
    -    0x19790111, 0x197a0111, 0x19770111, 0x197d0131, 0x19520121, 0x19570121, 0x195b0121, 0x195e0121,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0x3200 .. 0x32ff */
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    -    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x18310131, 0x18330131, 0x18340131, 0x18360131, 0x18370131, 0x18380131, 0x183a0131, 0x183c0131,
    -    0x183d0131, 0x183f0131, 0x18400131, 0x18410131, 0x18420131, 0x18430131, 0x18310131, 0x18330131,
    -    0x18340131, 0x18360131, 0x18370131, 0x18380131, 0x183a0131, 0x183c0131, 0x183d0131, 0x183f0131,
    -    0x18400131, 0x18410131, 0x18420131, 0x18430131, 0xffffffff, 0xffffffff, 0xffffffff, 0x09be0111,
    -    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131,
    -    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131,
    -    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131,
    -    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131, 0xfb400131, 0xfb400131,
    -    0xfb410131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131,
    -    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131,
    -    0xfb400131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131, 0x0a130131,
    -    0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x19210171, 0x19220171, 0x19230171, 0x19240171, 0x19250171, 0x19260151, 0x19270141, 0x19280141,
    -    0x19290151, 0x192a0141, 0x192b0141, 0x192c0151, 0x192d0141, 0x192e0141, 0x192f0141, 0x19300141,
    -    0x19310141, 0x19320171, 0x19330141, 0x19340141, 0x19350141, 0x19360141, 0x19370141, 0x19380141,
    -    0x19390141, 0x193a0141, 0x193b0141, 0x193c0141, 0x193d0141, 0x193e0141, 0x193f0141, 0x19400141,
    -    0x19410141, 0x19420141, 0x19430141, 0x19440171, 0x19450171, 0x19460171, 0x19470141, 0x19480141,
    -    0x19490141, 0x194a0141, 0x194b0141, 0x194c0161, 0x194d0131, 0x194e0131, 0x194f0141, 0xffffffff,
    -    /* 0x3300 .. 0x33ff */
    -    0x19210181, 0x19210181, 0x19210181, 0x19210181, 0x19220181, 0x19220181, 0x19230181, 0x19240181,
    -    0x19240181, 0x19250181, 0x19250181, 0x19260161, 0x19260161, 0x19260161, 0x19260161, 0x19260161,
    -    0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151,
    -    0x19280151, 0x19280151, 0x19280151, 0x19280151, 0x19290161, 0x192a0151, 0x192a0151, 0x192b0151,
    -    0x192b0151, 0x192c0161, 0x192e0151, 0x192e0151, 0x19300151, 0x19330151, 0x19340151, 0x19340151,
    -    0x19350151, 0x19390151, 0x193a0151, 0x193a0151, 0x193a0151, 0x193a0151, 0x193b0151, 0x193b0151,
    -    0x193b0151, 0x193b0151, 0x193c0151, 0x193c0151, 0x193c0151, 0x193c0151, 0x193d0151, 0x193d0151,
    -    0x193d0151, 0x193d0151, 0x193d0151, 0x193d0151, 0x193d0151, 0x193e0151, 0x193e0151, 0x193e0151,
    -    0x193e0151, 0x193e0151, 0x193e0151, 0x193f0151, 0x193f0151, 0x193f0151, 0x193f0151, 0x193f0151,
    -    0x19400151, 0x19400151, 0x19400151, 0x19420151, 0x19420151, 0x19420151, 0x19440181, 0x19440181,
    -    0x19450181, 0x19480151, 0x19480151, 0x19490151, 0x19490151, 0x194a0151, 0x194a0151, 0x194c0171,
    -    0x0a0b0131, 0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131,
    -    0x0a130131, 0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131,
    -    0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131,
    -    0x0a0d0131, 0x0ab901a1, 0x0a490191, 0x0a1501a1, 0x0a290181, 0x0b4b01b1, 0x0b670181, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xfb400151, 0xfb400151, 0xfb400151, 0xfb400151, 0xfb400151,
    -    0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0af70171, 0x0af70181, 0x0b2b01b1, 0x0a990181,
    -    0x0a3d01a1, 0x0af70171, 0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0c9f0141, 0x0b2b01a1, 0x0af70171,
    -    0x0ab901b1, 0x0af70171, 0x0b2b01b1, 0x0a990181, 0x0bbf01a1, 0x0c9f0141, 0x0b2b01a1, 0x0a490191,
    -    0x0af70171, 0x0a910191, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0a3d01a1, 0x0af70171, 0x0b2b01a1,
    -    0x0a3d01a1, 0x0b2b01a1, 0x0af70171, 0x0b2b01a1, 0x0a3d01a1, 0x0b2b01a1, 0x0af70171, 0x0b2b01a1,
    -    0x0b2b01a1, 0x0b670191, 0x0af70171, 0x0b2b01b1, 0x0a990181, 0x0b7f01a1, 0x0b7f01a1, 0x0b7f01a1,
    -    0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1,
    -    0x0af70171, 0x0b2b01b1, 0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0af70171, 0x0b2b01b1,
    -    0x0af70171, 0x0b2b01b1, 0x0a150191, 0x0a290191, 0x0a3d01a1, 0x0a3d01a1, 0x0a3d01b1, 0x0a3d01b1,
    -    0x0a490191, 0x0a990181, 0x0ab901a1, 0x0ab901b1, 0x0ad301b1, 0x0af70181, 0x0af70181, 0x0af70171,
    -    0x0b0301c1, 0x0b0301c1, 0x0b0301c1, 0x0b0301c1, 0x0b2b01a1, 0x0b2b01a1, 0x0b2b01a1, 0x0b670191,
    -    0x0b670181, 0x0b670191, 0x0b670191, 0x0ba70191, 0x0ba701a1, 0x0bfb0181, 0xffffffff, 0xffffffff,
    -    0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131, 0x0a130131,
    -    0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131,
    -    0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131,
    -    0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0e0131, 0x0a0e0131, 0xffffffff,
    -    /* 0xf900 .. 0xf9ff */
    -    0xfb410111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb410111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    -    0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111,
    -    /* 0xfa00 .. 0xfaff */
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    -    0xfb400111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    -    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111,
    -    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0xfb00 .. 0xfbff */
    -    0x0a910131, 0x0a910131, 0x0a910131, 0x0a910131, 0x0a910131, 0x0ba70131, 0x0ba70131, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0x0ea30121, 0x0ea30121, 0x0ea30121, 0x0ead0121, 0x0ea30121,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0ec00111, 0x00006711, 0x0ec00121,
    -    0x0ec60121, 0x0eb70131, 0x0eba0131, 0x0ebb0121, 0x0ec10121, 0x0ec20121, 0x0ec30121, 0x0eca0121,
    -    0x0ecc0121, 0x039f0131, 0x0ecb0111, 0x0ecb0111, 0x0ecb0111, 0x0ecb0111, 0x0eb70111, 0x0eb70111,
    -    0x0eb70111, 0x0eb80111, 0x0eb90111, 0x0eba0111, 0x0ebb0111, 0x0ebc0111, 0x0ebd0111, 0xffffffff,
    -    0x0ebf0111, 0x0ec00111, 0x0ec10131, 0x0ec10111, 0x0ec20111, 0xffffffff, 0x0ec30111, 0xffffffff,
    -    0x0ec40111, 0x0ec50111, 0xffffffff, 0x0ec70121, 0x0ec70111, 0xffffffff, 0x0ec80111, 0x0ec90111,
    -    0x0eca0111, 0x0ecb0111, 0x0ecc0111, 0x0ebc0111, 0x0eb80111, 0x0ec10111, 0x0ec70111, 0x0eb70121,
    -    0x0ed10131, 0x0ed10121, 0x0ed80151, 0x0ed80141, 0x0ed80121, 0x0ed80131, 0x0ed90151, 0x0ed90141,
    -    0x0ed90121, 0x0ed90131, 0x0eda0151, 0x0eda0141, 0x0eda0121, 0x0eda0131, 0x0edf0151, 0x0edf0141,
    -    0x0edf0121, 0x0edf0131, 0x0ee20151, 0x0ee20141, 0x0ee20121, 0x0ee20131, 0x0ede0151, 0x0ede0141,
    -    0x0ede0121, 0x0ede0131, 0x0f1a0151, 0x0f1a0141, 0x0f1a0121, 0x0f1a0131, 0x0f1c0151, 0x0f1c0141,
    -    0x0f1c0121, 0x0f1c0131, 0x0ee50151, 0x0ee50141, 0x0ee50121, 0x0ee50131, 0x0ee40151, 0x0ee40141,
    -    0x0ee40121, 0x0ee40131, 0x0ee60151, 0x0ee60141, 0x0ee60121, 0x0ee60131, 0x0ee80151, 0x0ee80141,
    -    0x0ee80121, 0x0ee80131, 0x0ef50131, 0x0ef50121, 0x0ef40131, 0x0ef40121, 0x0ef60131, 0x0ef60121,
    -    0x0ef00131, 0x0ef00121, 0x0f020131, 0x0f020121, 0x0efb0131, 0x0efb0121, 0x0f210151, 0x0f210141,
    -    0x0f210121, 0x0f210131, 0x0f270151, 0x0f270141, 0x0f270121, 0x0f270131, 0x0f2b0151, 0x0f2b0141,
    -    0x0f2b0121, 0x0f2b0131, 0x0f290151, 0x0f290141, 0x0f290121, 0x0f290131, 0x0f340131, 0x0f340121,
    -    0x0f350151, 0x0f350141, 0x0f350121, 0x0f350131, 0x0f3d0131, 0x0f3d0121, 0x0f3b0151, 0x0f3b0141,
    -    0x0f3b0121, 0x0f3b0131, 0x0f3a0151, 0x0f3a0141, 0x0f3a0121, 0x0f3a0131, 0x0f4f0131, 0x0f4f0121,
    -    0x0f4f0131, 0x0f4f0121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0x0f250151, 0x0f250141, 0x0f250121, 0x0f250131, 0x0f420141,
    -    0x0f420131, 0x0f410131, 0x0f410121, 0x0f430131, 0x0f430121, 0x0f420141, 0x0f460131, 0x0f460121,
    -    0x0f400131, 0x0f400121, 0x0f440131, 0x0f440121, 0x0f4d0151, 0x0f4d0141, 0x0f4d0121, 0x0f4d0131,
    -    0x0f480121, 0x0f480131, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141,
    -    0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141,
    -    0x0ed50121, 0x0ed50151, 0x0ed50141, 0x0ed50121, 0x0f4a0151, 0x0f4a0141, 0x0f4a0121, 0x0f4a0131,
    -    /* 0xfc00 .. 0xfcff */
    -    0x0ed50151, 0x0ed50151, 0x0ed50151, 0x0ed50151, 0x0ed50151, 0x0ed70151, 0x0ed70151, 0x0ed70151,
    -    0x0ed70151, 0x0ed70151, 0x0ed70151, 0x0edc0151, 0x0edc0151, 0x0edc0151, 0x0edc0151, 0x0edc0151,
    -    0x0edc0151, 0x0edd0151, 0x0edd0151, 0x0edd0151, 0x0edd0151, 0x0ee30151, 0x0ee30151, 0x0ee90151,
    -    0x0ee90151, 0x0eea0151, 0x0eea0151, 0x0eea0151, 0x0f040151, 0x0f040151, 0x0f040151, 0x0f040151,
    -    0x0f0a0151, 0x0f0a0151, 0x0f0b0151, 0x0f0b0151, 0x0f0b0151, 0x0f0b0151, 0x0f0f0151, 0x0f0f0151,
    -    0x0f100151, 0x0f120151, 0x0f120151, 0x0f130151, 0x0f130151, 0x0f160151, 0x0f160151, 0x0f160151,
    -    0x0f160151, 0x0f160151, 0x0f160151, 0x0f1d0151, 0x0f1d0151, 0x0f1d0151, 0x0f1d0151, 0x0f200151,
    -    0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f2d0151,
    -    0x0f2d0151, 0x0f2d0151, 0x0f2d0151, 0x0f2d0151, 0x0f2d0151, 0x0f320161, 0x0f320161, 0x0f320161,
    -    0x0f320161, 0x0f320161, 0x0f320161, 0x0f330151, 0x0f330151, 0x0f330151, 0x0f330151, 0x0f330151,
    -    0x0f330151, 0x0f390151, 0x0f390151, 0x0f390151, 0x0f390151, 0x0f490161, 0x0f490161, 0x0f490161,
    -    0x0f490161, 0x0f490161, 0x0f490161, 0x0eef0131, 0x0ef90131, 0x0f480151, 0x00006e31, 0x00006e31,
    -    0x00006e31, 0x00006e31, 0x00006e31, 0x00006e31, 0x0ed50141, 0x0ed50141, 0x0ed50141, 0x0ed50141,
    -    0x0ed50141, 0x0ed50141, 0x0ed70141, 0x0ed70141, 0x0ed70141, 0x0ed70141, 0x0ed70141, 0x0ed70141,
    -    0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edd0141, 0x0edd0141,
    -    0x0edd0141, 0x0edd0141, 0x0edd0141, 0x0edd0141, 0x0f160141, 0x0f160141, 0x0f1d0141, 0x0f1d0141,
    -    0x0f200141, 0x0f200141, 0x0f200141, 0x0f200141, 0x0f200141, 0x0f2d0141, 0x0f2d0141, 0x0f2d0141,
    -    0x0f320151, 0x0f320151, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f330141,
    -    0x0f480141, 0x0f490151, 0x0f490151, 0x0f490151, 0x0f490151, 0x0f490151, 0x0f490151, 0x0ed50121,
    -    0x0ed50121, 0x0ed50121, 0x0ed50121, 0x0ed50121, 0x0ed70121, 0x0ed70121, 0x0ed70121, 0x0ed70121,
    -    0x0ed70121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edd0121, 0x0ee30121,
    -    0x0ee30121, 0x0ee90121, 0x0ee90121, 0x0eea0121, 0x0eea0121, 0x0f040121, 0x0f040121, 0x0f040121,
    -    0x0f040121, 0x0f0a0121, 0x0f0a0121, 0x0f0a0121, 0x0f0b0121, 0x0f0b0121, 0x0f0b0121, 0x0f0b0121,
    -    0x0f0f0121, 0x0f100121, 0x0f120121, 0x0f120121, 0x0f130121, 0x0f130121, 0x0f160121, 0x0f160121,
    -    0x0f160121, 0x0f160121, 0x0f1d0121, 0x0f1d0121, 0x0f200121, 0x0f200121, 0x0f200121, 0x0f200121,
    -    0x0f200121, 0x0f2d0121, 0x0f2d0121, 0x0f2d0121, 0x0f2d0121, 0x0f2d0121, 0x0f320131, 0x0f320131,
    -    0x0f320131, 0x0f320131, 0x0f330121, 0x0f330121, 0x0f330121, 0x0f330121, 0x0f330121, 0x0f390121,
    -    0x0f390121, 0x0f390121, 0x0f490131, 0x0f490131, 0x0f490131, 0x0f490131, 0x0f490131, 0x0ed50131,
    -    0x0ed50131, 0x0ed70131, 0x0ed70131, 0x0edc0131, 0x0edc0131, 0x0edd0131, 0x0edd0131, 0x0f040131,
    -    0x0f040131, 0x0f050131, 0x0f050131, 0x0f200131, 0x0f200131, 0x0f2d0131, 0x0f330131, 0x0f330131,
    -    0x0f490141, 0x0f490141, 0x00006e21, 0x00006e21, 0x00006e21, 0x0f0f0151, 0x0f0f0151, 0x0f120151,
    -    0x0f120151, 0x0f130151, 0x0f130151, 0x0f040151, 0x0f040151, 0x0f050151, 0x0f050151, 0x0ee90151,
    -    /* 0xfd00 .. 0xfdff */
    -    0x0ee90151, 0x0ee30151, 0x0ee30151, 0x0eea0151, 0x0eea0151, 0x0f0a0151, 0x0f0a0151, 0x0f0b0151,
    -    0x0f0b0151, 0x0f050151, 0x0f050151, 0x0f050151, 0x0f050151, 0x0f050151, 0x0f040151, 0x0f0a0151,
    -    0x0f0b0151, 0x0f0f0141, 0x0f0f0141, 0x0f120141, 0x0f120141, 0x0f130141, 0x0f130141, 0x0f040141,
    -    0x0f040141, 0x0f050141, 0x0f050141, 0x0ee90141, 0x0ee90141, 0x0ee30141, 0x0ee30141, 0x0eea0141,
    -    0x0eea0141, 0x0f0a0141, 0x0f0a0141, 0x0f0b0141, 0x0f0b0141, 0x0f050141, 0x0f050141, 0x0f050141,
    -    0x0f050141, 0x0f050141, 0x0f040141, 0x0f0a0141, 0x0f0b0141, 0x0f050121, 0x0f050121, 0x0f050121,
    -    0x0f050121, 0x0f040121, 0x0f050121, 0x0f0f0121, 0x0f040131, 0x0f040131, 0x0f040131, 0x0f050131,
    -    0x0f050131, 0x0f050131, 0x0f0f0131, 0x0f100131, 0x0ed60131, 0x0ed60141, 0x029a0111, 0x029b0111,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0edc0121, 0x0edc0141, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121,
    -    0x0ee30141, 0x0ee30121, 0x0ee90141, 0x0ee90141, 0x0f040121, 0x0f040121, 0x0f040141, 0x0f040141,
    -    0x0f040121, 0x0f040121, 0x0f040141, 0x0f040121, 0x0f0a0141, 0x0f0a0121, 0x0f0a0141, 0x0f050141,
    -    0x0f050121, 0x0f050141, 0x0f050141, 0x0f050121, 0x0f050141, 0x0f050121, 0x0f0b0141, 0x0f0b0141,
    -    0x0f0b0121, 0x0f0f0141, 0x0f0f0121, 0x0f0f0121, 0x0f0f0141, 0x0f120141, 0x0f120141, 0x0f120121,
    -    0x0f120141, 0x0f130141, 0x0f130141, 0x0f130141, 0x0f160141, 0x0f160121, 0x0f1d0141, 0x0f1d0141,
    -    0x0f2d0141, 0x0f2d0141, 0x0f2d0141, 0x0f2d0121, 0x0f2d0141, 0x0f2d0141, 0x0f2d0121, 0x0f2d0141,
    -    0x0f2d0121, 0x0f320131, 0x0f320131, 0x0f320151, 0x0f320131, 0x0f320131, 0x0f320131, 0x0f320131,
    -    0xffffffff, 0xffffffff, 0x0f320131, 0x0f390121, 0x0f390121, 0x0f330121, 0x0f330141, 0x0f330141,
    -    0x0f330121, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f490151, 0x0f490131, 0x0ed70141, 0x0edc0141,
    -    0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0ee30141, 0x0ee30141, 0x0ee30141,
    -    0x0f040141, 0x0f0a0141, 0x0f050141, 0x0f0b0141, 0x0f2d0141, 0x0f2d0141, 0x0f490151, 0x0f490151,
    -    0x0f490151, 0x0f320151, 0x0f1d0141, 0x0f330141, 0x0f1d0121, 0x0f2d0121, 0x0f120141, 0x0f200141,
    -    0x0f330121, 0x0f320151, 0x0f2d0121, 0x0f200141, 0x0f2d0141, 0x0f330141, 0x0ee30141, 0x0ee90141,
    -    0x0f320151, 0x0f160141, 0x0ed70141, 0x0f200121, 0x0f120121, 0x0f0a0121, 0x0f040141, 0x0f330141,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x0f0a0151, 0x0f1d0151, 0x0ed60141, 0x0ed60141, 0x0f320161, 0x0f0a0151, 0x0ef90131, 0x0f120151,
    -    0x0f3e0141, 0x0f0a0151, 0x0f0a0151, 0x0ee30151, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    /* 0xfe00 .. 0xfeff */
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x00005011, 0x00005111, 0x00005211, 0x00005311, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x02550151, 0x02280131, 0x02270121, 0x021b0141, 0x021b0141, 0x027a0171, 0x027b0161, 0x027e0141,
    -    0x027f0141, 0x02920131, 0x02930131, 0x02900121, 0x02910121, 0x028a0121, 0x028b0121, 0x02880121,
    -    0x02890121, 0x028c0131, 0x028d0131, 0x028e0121, 0x028f0121, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x02110121, 0x02110121, 0x02110121, 0x02110121, 0x021b0131, 0x021b0131, 0x021b0131,
    -    0x022d0131, 0x02340121, 0x02550141, 0xffffffff, 0x02350131, 0x02370131, 0x024e0141, 0x024b0141,
    -    0x02280121, 0x027a0141, 0x027b0131, 0x027e0131, 0x027f0131, 0x02920121, 0x02930121, 0x02a90131,
    -    0x02a70131, 0x02a20131, 0x039f0141, 0x02210131, 0x03a30131, 0x03a50131, 0x03a40131, 0xffffffff,
    -    0x02a60131, 0x09e00131, 0x02aa0131, 0x02a10131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x00006831, 0x00006821, 0x00006921, 0xffffffff, 0x00006a21, 0xffffffff, 0x00006b31, 0x00006b21,
    -    0x00006c31, 0x00006c21, 0x00006d31, 0x00006d21, 0x00006e31, 0x00006e21, 0x00006f31, 0x00006f21,
    -    0x0ecd0131, 0x0ece0131, 0x0ece0121, 0x0ecf0131, 0x0ecf0121, 0x0ed20131, 0x0ed20121, 0x0ed30131,
    -    0x0ed30121, 0x0ed50151, 0x0ed50141, 0x0ed50121, 0x0ed50131, 0x0ed60141, 0x0ed60131, 0x0ed70151,
    -    0x0ed70141, 0x0ed70121, 0x0ed70131, 0x0edb0131, 0x0edb0121, 0x0edc0151, 0x0edc0141, 0x0edc0121,
    -    0x0edc0131, 0x0edd0151, 0x0edd0141, 0x0edd0121, 0x0edd0131, 0x0ee30151, 0x0ee30141, 0x0ee30121,
    -    0x0ee30131, 0x0ee90151, 0x0ee90141, 0x0ee90121, 0x0ee90131, 0x0eea0151, 0x0eea0141, 0x0eea0121,
    -    0x0eea0131, 0x0eee0131, 0x0eee0121, 0x0eef0131, 0x0eef0121, 0x0ef90131, 0x0ef90121, 0x0efa0131,
    -    0x0efa0121, 0x0f040151, 0x0f040141, 0x0f040121, 0x0f040131, 0x0f050151, 0x0f050141, 0x0f050121,
    -    0x0f050131, 0x0f0a0151, 0x0f0a0141, 0x0f0a0121, 0x0f0a0131, 0x0f0b0151, 0x0f0b0141, 0x0f0b0121,
    -    0x0f0b0131, 0x0f0f0151, 0x0f0f0141, 0x0f0f0121, 0x0f0f0131, 0x0f100151, 0x0f100141, 0x0f100121,
    -    0x0f100131, 0x0f120151, 0x0f120141, 0x0f120121, 0x0f120131, 0x0f130151, 0x0f130141, 0x0f130121,
    -    0x0f130131, 0x0f160151, 0x0f160141, 0x0f160121, 0x0f160131, 0x0f1d0151, 0x0f1d0141, 0x0f1d0121,
    -    0x0f1d0131, 0x0f200151, 0x0f200141, 0x0f200121, 0x0f200131, 0x0f2d0151, 0x0f2d0141, 0x0f2d0121,
    -    0x0f2d0131, 0x0f320161, 0x0f320151, 0x0f320131, 0x0f320141, 0x0f330151, 0x0f330141, 0x0f330121,
    -    0x0f330131, 0x0f390151, 0x0f390141, 0x0f390121, 0x0f390131, 0x0f3e0141, 0x0f3e0131, 0x0f480151,
    -    0x0f480141, 0x0f490161, 0x0f490151, 0x0f490131, 0x0f490141, 0x0f2d0151, 0x0f2d0141, 0x0f2d0151,
    -    0x0f2d0141, 0x0f2d0151, 0x0f2d0141, 0x0f2d0151, 0x0f2d0141, 0xffffffff, 0xffffffff, 0x00000000,
    -    /* 0xff00 .. 0xffff */
    -    0xffffffff, 0x024b0121, 0x02700121, 0x02a90121, 0x09e00121, 0x02aa0121, 0x02a70121, 0x02690121,
    -    0x027a0121, 0x027b0121, 0x02a20121, 0x039f0121, 0x022d0121, 0x02210121, 0x02550121, 0x02a40121,
    -    0x0a0b0121, 0x0a0c0121, 0x0a0d0121, 0x0a0e0121, 0x0a0f0121, 0x0a100121, 0x0a110121, 0x0a120121,
    -    0x0a130121, 0x0a140121, 0x02370121, 0x02350121, 0x03a30121, 0x03a40121, 0x03a50121, 0x024e0121,
    -    0x02a10121, 0x0a150161, 0x0a290151, 0x0a3d0161, 0x0a490161, 0x0a650161, 0x0a910161, 0x0a990161,
    -    0x0ab90161, 0x0ad30171, 0x0ae70151, 0x0af70151, 0x0b030171, 0x0b2b0161, 0x0b330161, 0x0b4b0171,
    -    0x0b670151, 0x0b730151, 0x0b7f0151, 0x0ba70161, 0x0bbf0161, 0x0bd70151, 0x0bef0161, 0x0bfb0151,
    -    0x0c030161, 0x0c070151, 0x0c130151, 0x027c0121, 0x02a60121, 0x027d0121, 0x020f0121, 0x021b0121,
    -    0x020c0121, 0x0a150121, 0x0a290121, 0x0a3d0121, 0x0a490121, 0x0a650121, 0x0a910121, 0x0a990121,
    -    0x0ab90121, 0x0ad30121, 0x0ae70121, 0x0af70121, 0x0b030121, 0x0b2b0121, 0x0b330121, 0x0b4b0121,
    -    0x0b670121, 0x0b730121, 0x0b7f0121, 0x0ba70121, 0x0bbf0121, 0x0bd70121, 0x0bef0121, 0x0bfb0121,
    -    0x0c030121, 0x0c070121, 0x0c130121, 0x027e0121, 0x03a70121, 0x027f0121, 0x03aa0121, 0xffffffff,
    -    0xffffffff, 0x025e0121, 0x028c0121, 0x028d0121, 0x02340131, 0x022c0121, 0x194f0131, 0x19210141,
    -    0x19220141, 0x19230141, 0x19240141, 0x19250141, 0x19440141, 0x19450141, 0x19460141, 0x19320141,
    -    0x09dc0121, 0x19210161, 0x19220161, 0x19230161, 0x19240161, 0x19250161, 0x19260141, 0x19270131,
    -    0x19280131, 0x19290141, 0x192a0131, 0x192b0131, 0x192c0141, 0x192d0131, 0x192e0131, 0x192f0131,
    -    0x19300131, 0x19310131, 0x19320161, 0x19330131, 0x19340131, 0x19350131, 0x19360131, 0x19370131,
    -    0x19380131, 0x19390131, 0x193a0131, 0x193b0131, 0x193c0131, 0x193d0131, 0x193e0131, 0x193f0131,
    -    0x19400131, 0x19410131, 0x19420131, 0x19430131, 0x19440161, 0x19450161, 0x19460161, 0x19470131,
    -    0x19480131, 0x19490131, 0x194a0131, 0x194b0131, 0x194c0151, 0x19500131, 0x0000e221, 0x0000e321,
    -    0x188c0131, 0x18310141, 0x18320131, 0x18d10131, 0x18330141, 0x18d30131, 0x18d40131, 0x18340141,
    -    0x18350131, 0x18360141, 0x18d70131, 0x18d80131, 0x18d90131, 0x18da0131, 0x18db0131, 0x18dc0131,
    -    0x184b0131, 0x18370141, 0x18380141, 0x18390131, 0x18520131, 0x183a0141, 0x183b0131, 0x183c0141,
    -    0x183d0141, 0x183e0131, 0x183f0141, 0x18400141, 0x18410141, 0x18420141, 0x18430141, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0x188d0131, 0x188e0131, 0x188f0131, 0x18900131, 0x18910131, 0x18920131,
    -    0xffffffff, 0xffffffff, 0x18930131, 0x18940131, 0x18950131, 0x18960131, 0x18970131, 0x18980131,
    -    0xffffffff, 0xffffffff, 0x18990131, 0x189a0131, 0x189b0131, 0x189c0131, 0x189d0131, 0x189e0131,
    -    0xffffffff, 0xffffffff, 0x189f0131, 0x18a00131, 0x18a10131, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0x09df0121, 0x09e10121, 0x03a60121, 0x02100121, 0x03a80121, 0x09e20121, 0x09ef0121, 0xffffffff,
    -    0x05300121, 0x03320121, 0x03340121, 0x03330121, 0x03350121, 0x05c40121, 0x05ef0121, 0xffffffff,
    -    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    -    0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x09bf0111, 0x09c00111, 0xffffffff, 0xffffffff
    -};
    +/* Unicode collation element table */
    +/* generated from www.unicode.org/reports/tr10/allkeys.txt */
    +/* DO NOT EDIT!! */
    +
    +const unsigned int collation_table[12800] =
    +{
    +    /* index */
    +    0x00000200, 0x00000300, 0x00000400, 0x00000500, 0x00000600, 0x00000700, 0x00000800, 0x00000900,
    +    0x00000100, 0x00000a00, 0x00000b00, 0x00000c00, 0x00000d00, 0x00000e00, 0x00000f00, 0x00001000,
    +    0x00001100, 0x00001200, 0x00001300, 0x00001400, 0x00001500, 0x00001600, 0x00001700, 0x00001800,
    +    0x00001900, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00001a00, 0x00001b00,
    +    0x00001c00, 0x00001d00, 0x00001e00, 0x00001f00, 0x00002000, 0x00002100, 0x00002200, 0x00002300,
    +    0x00002400, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00002500, 0x00002600,
    +    0x00002700, 0x00002800, 0x00002900, 0x00002a00, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100,
    +    0x00000100, 0x00002b00, 0x00002c00, 0x00002d00, 0x00002e00, 0x00002f00, 0x00003000, 0x00003100,
    +    /* defaults */
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0000 .. 0x00ff */
    +    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x00000000, 0x02010111, 0x02020111, 0x02030111, 0x02040111, 0x02050111, 0x00000000, 0x00000000,
    +    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x02090111, 0x024b0111, 0x02700111, 0x02a90111, 0x09e00111, 0x02aa0111, 0x02a70111, 0x02690111,
    +    0x027a0111, 0x027b0111, 0x02a20111, 0x039f0111, 0x022d0111, 0x02210111, 0x02550111, 0x02a40111,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x02370111, 0x02350111, 0x03a30111, 0x03a40111, 0x03a50111, 0x024e0111,
    +    0x02a10111, 0x0a150151, 0x0a290141, 0x0a3d0151, 0x0a490151, 0x0a650151, 0x0a910151, 0x0a990151,
    +    0x0ab90151, 0x0ad30161, 0x0ae70141, 0x0af70141, 0x0b030161, 0x0b2b0151, 0x0b330151, 0x0b4b0161,
    +    0x0b670141, 0x0b730141, 0x0b7f0141, 0x0ba70151, 0x0bbf0151, 0x0bd70141, 0x0bef0151, 0x0bfb0141,
    +    0x0c030151, 0x0c070141, 0x0c130141, 0x027c0111, 0x02a60111, 0x027d0111, 0x020f0111, 0x021b0111,
    +    0x020c0111, 0x0a150111, 0x0a290111, 0x0a3d0111, 0x0a490111, 0x0a650111, 0x0a910111, 0x0a990111,
    +    0x0ab90111, 0x0ad30111, 0x0ae70111, 0x0af70111, 0x0b030111, 0x0b2b0111, 0x0b330111, 0x0b4b0111,
    +    0x0b670111, 0x0b730111, 0x0b7f0111, 0x0ba70111, 0x0bbf0111, 0x0bd70111, 0x0bef0111, 0x0bfb0111,
    +    0x0c030111, 0x0c070111, 0x0c130111, 0x027e0111, 0x03a70111, 0x027f0111, 0x03aa0111, 0x00000000,
    +    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02060111, 0x00000000, 0x00000000,
    +    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x02090141, 0x024c0111, 0x09df0111, 0x09e10111, 0x09de0111, 0x09e20111, 0x03a80111, 0x029c0111,
    +    0x02140111, 0x029f0111, 0x0a150181, 0x02780111, 0x03a60111, 0x02200111, 0x02a00111, 0x02100111,
    +    0x030a0111, 0x03a00111, 0x0a0d0151, 0x0a0e0151, 0x020d0111, 0x0c9f0121, 0x029d0111, 0x025f0111,
    +    0x02190111, 0x0a0c0151, 0x0b4b01a1, 0x02790111, 0x0a0c0171, 0x0a0c0171, 0x0a0e0171, 0x024f0111,
    +    0x0a150151, 0x0a150151, 0x0a150151, 0x0a150151, 0x0a150151, 0x0a150151, 0x0a190121, 0x0a3d0151,
    +    0x0a650151, 0x0a650151, 0x0a650151, 0x0a650151, 0x0ad30161, 0x0ad30161, 0x0ad30161, 0x0ad30161,
    +    0x0a5d0121, 0x0b330151, 0x0b4b0161, 0x0b4b0161, 0x0b4b0161, 0x0b4b0161, 0x0b4b0161, 0x03a20111,
    +    0x0b530121, 0x0bd70141, 0x0bd70141, 0x0bd70141, 0x0bd70141, 0x0c070141, 0x0c3b0121, 0x0ba70131,
    +    0x0a150111, 0x0a150111, 0x0a150111, 0x0a150111, 0x0a150111, 0x0a150111, 0x0a190111, 0x0a3d0111,
    +    0x0a650111, 0x0a650111, 0x0a650111, 0x0a650111, 0x0ad30111, 0x0ad30111, 0x0ad30111, 0x0ad30111,
    +    0x0a5d0111, 0x0b330111, 0x0b4b0111, 0x0b4b0111, 0x0b4b0111, 0x0b4b0111, 0x0b4b0111, 0x03a10111,
    +    0x0b530111, 0x0bd70111, 0x0bd70111, 0x0bd70111, 0x0bd70111, 0x0c070111, 0x0c3b0111, 0x0c070111,
    +    /* 0x0100 .. 0x01ff */
    +    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a3d0151, 0x0a3d0111,
    +    0x0a3d0151, 0x0a3d0111, 0x0a3d0151, 0x0a3d0111, 0x0a3d0151, 0x0a3d0111, 0x0a490151, 0x0a490111,
    +    0x0a4d0121, 0x0a4d0111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    +    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a990151, 0x0a990111, 0x0a990151, 0x0a990111,
    +    0x0a990151, 0x0a990111, 0x0a990151, 0x0a990111, 0x0ab90151, 0x0ab90111, 0x0ac50131, 0x0ac50111,
    +    0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111,
    +    0x0ad30161, 0x0ad70111, 0x0ad30181, 0x0ad30131, 0x0ae70141, 0x0ae70111, 0x0af70141, 0x0af70111,
    +    0x0b7b0111, 0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b030181,
    +    0x0b030131, 0x0b0b0121, 0x0b0b0111, 0x0b330151, 0x0b330111, 0x0b330151, 0x0b330111, 0x0b330151,
    +    0x0b330111, 0x0c580121, 0x0b470121, 0x0b470111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    +    0x0b4b0161, 0x0b4b0111, 0x0b4b0181, 0x0b4b0131, 0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111,
    +    0x0b7f0141, 0x0b7f0111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111,
    +    0x0ba70151, 0x0ba70111, 0x0bbf0151, 0x0bbf0111, 0x0bbf0151, 0x0bbf0111, 0x0bc30121, 0x0bc30111,
    +    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    +    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bfb0141, 0x0bfb0111, 0x0c070141, 0x0c070111,
    +    0x0c070141, 0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0ba70131,
    +    0x0a310111, 0x0a350121, 0x0a390121, 0x0a390111, 0x0c4f0121, 0x0c4f0111, 0x0b570121, 0x0a410121,
    +    0x0a410111, 0x0a510121, 0x0a550121, 0x0a590121, 0x0a590111, 0x0a610111, 0x0a690121, 0x0a6d0121,
    +    0x0a710121, 0x0a950121, 0x0a950111, 0x0aa50121, 0x0aad0121, 0x0ac10111, 0x0ae30121, 0x0adf0121,
    +    0x0afb0121, 0x0afb0111, 0x0b0f0111, 0x0b230111, 0x0be30121, 0x0b3b0121, 0x0b3f0111, 0x0b5b0121,
    +    0x0b4b0161, 0x0b4b0111, 0x0ab50121, 0x0ab50111, 0x0b6b0121, 0x0b6b0111, 0x0b830121, 0x0c470121,
    +    0x0c470111, 0x0baf0121, 0x0bb30111, 0x0bc70111, 0x0bcb0121, 0x0bcb0111, 0x0bcf0121, 0x0bd70141,
    +    0x0bd70111, 0x0beb0121, 0x0bf30121, 0x0c0f0121, 0x0c0f0111, 0x0c170121, 0x0c170111, 0x0c270121,
    +    0x0c2b0121, 0x0c2b0111, 0x0c2f0111, 0x0c430111, 0x0c4b0121, 0x0c4b0111, 0x0c610111, 0x0c3f0111,
    +    0x0c710111, 0x0c750111, 0x0c790111, 0x0c7d0111, 0x0a490171, 0x0a490171, 0x0a490131, 0x0b030181,
    +    0x0b030181, 0x0b030131, 0x0b330171, 0x0b330171, 0x0b330131, 0x0a150151, 0x0a150111, 0x0ad30161,
    +    0x0ad30111, 0x0b4b0161, 0x0b4b0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141,
    +    0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0a690111, 0x0a150151, 0x0a150111,
    +    0x0a150151, 0x0a150111, 0x0a190121, 0x0a190111, 0x0aa10121, 0x0aa10111, 0x0a990151, 0x0a990111,
    +    0x0af70141, 0x0af70111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0c270121, 0x0c270111,
    +    0x0ae70111, 0x0a490171, 0x0a490171, 0x0a490131, 0x0a990151, 0x0a990111, 0x0ac10121, 0x0c3f0121,
    +    0x0b330151, 0x0b330111, 0x0a150151, 0x0a150111, 0x0a190121, 0x0a190111, 0x0b530121, 0x0b530111,
    +    /* 0x0200 .. 0x02ff */
    +    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    +    0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    +    0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    +    0x0ba70151, 0x0ba70111, 0x0bbf0151, 0x0bbf0111, 0x0c370121, 0x0c370111, 0x0ab90151, 0x0ab90111,
    +    0xffffffff, 0xffffffff, 0x0b630121, 0x0b630111, 0x0c1b0121, 0x0c1b0111, 0x0a150151, 0x0a150111,
    +    0x0a650151, 0x0a650111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    +    0x0b4b0161, 0x0b4b0111, 0x0c070141, 0x0c070111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0a1d0111, 0x0a210111, 0x0a250111, 0x0a350111, 0x0b570111, 0x0a450111, 0x0a510111, 0x0a550111,
    +    0x0a750111, 0x0a6d0111, 0x0a790111, 0x0a710111, 0x0a7d0111, 0x0a810111, 0x0a850111, 0x0aef0111,
    +    0x0aa50111, 0x0ab10111, 0x0a9d0111, 0x0aad0111, 0x0a8d0111, 0x0bdf0111, 0x0ac90111, 0x0acd0111,
    +    0x0adf0111, 0x0ae30111, 0x0adb0111, 0x0b130111, 0x0b170111, 0x0b1b0111, 0x0b1f0111, 0x0be30111,
    +    0x0be70111, 0x0b2f0111, 0x0b3b0111, 0x0b430111, 0x0b370111, 0x0b5b0111, 0x0b4f0111, 0x0b5f0111,
    +    0x0b6f0111, 0x0b870111, 0x0b8b0111, 0x0b8f0111, 0x0b930111, 0x0b970111, 0x0b9b0111, 0x0b9f0111,
    +    0x0b830111, 0x0ba30111, 0x0bab0111, 0x0baf0111, 0x0af30111, 0x0bb70111, 0x0bbb0111, 0x0bd30111,
    +    0x0bcf0111, 0x0bdb0111, 0x0beb0111, 0x0bf30111, 0x0bf70111, 0x0bff0111, 0x0b270111, 0x0c0b0111,
    +    0x0c1f0111, 0x0c230111, 0x0c270111, 0x0c330111, 0x0c530111, 0x0c5b0111, 0x0c6d0111, 0x0c810111,
    +    0x0c850111, 0x0a2d0111, 0x0a890111, 0x0aa90111, 0x0abd0111, 0x0aeb0111, 0x0aff0111, 0x0b070111,
    +    0x0b770111, 0x0c650111, 0x0c690111, 0x0a490131, 0x0a490131, 0x0a490131, 0x0bbf0131, 0x0bbf0131,
    +    0x0bbf0131, 0x0a910131, 0x0b030131, 0x0b030131, 0x0c890111, 0x0c8d0111, 0xffffffff, 0xffffffff,
    +    0x0ab90191, 0x0ac90121, 0x0ae70171, 0x0b7f0191, 0x0b870121, 0x0b8f0121, 0x0ba30121, 0x0bfb0171,
    +    0x0c070171, 0x02e90111, 0x02eb0111, 0x0ad10111, 0x0c580111, 0x0ad20111, 0x0c5a0111, 0x0c5f0111,
    +    0x0c570111, 0x0c600111, 0x02ec0111, 0x02ed0111, 0x02ee0111, 0x02ef0111, 0x02f00111, 0x02f10111,
    +    0x02f20111, 0x02f30111, 0x02f40111, 0x02f50111, 0x02f60111, 0x02f70111, 0x02f80111, 0x02f90111,
    +    0x09d30111, 0x09d40111, 0x02fa0111, 0x02fb0111, 0x02fc0111, 0x02fd0111, 0x02fe0111, 0x02ff0111,
    +    0x02120111, 0x02130111, 0x02150111, 0x021a0111, 0x020e0111, 0x02160111, 0x03000111, 0xffffffff,
    +    0x0aad0131, 0x0b0301b1, 0x0ba70181, 0x0c030191, 0x0c5b0121, 0x03010111, 0x03020111, 0x03030111,
    +    0x03040111, 0x03050111, 0x03060111, 0x03070111, 0x03080111, 0x03090111, 0x0c590111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0300 .. 0x03ff */
    +    0x00000611, 0x00000511, 0x00000811, 0x00000e11, 0x00001311, 0x00001411, 0x00000711, 0x00000f11,
    +    0x00000c11, 0x00001511, 0x00000a11, 0x00000d11, 0x00000911, 0x00001611, 0x00001711, 0x00001811,
    +    0x00001911, 0x00001a11, 0x00001b11, 0x00000311, 0x00000411, 0x00001c11, 0x00001d11, 0x00001e11,
    +    0x00001f11, 0x00002011, 0x00002111, 0x00002211, 0x00002311, 0x00002411, 0x00002511, 0x00002611,
    +    0x00002711, 0x00002811, 0x00002911, 0x00002a11, 0x00002b11, 0x00002c11, 0x00002d11, 0x00001111,
    +    0x00001211, 0x00002e11, 0x00002f11, 0x00003011, 0x00003111, 0x00003211, 0x00003311, 0x00003411,
    +    0x00003511, 0x00003611, 0x00000211, 0x00003711, 0x00003811, 0x00003911, 0x00003a11, 0x00003b11,
    +    0x00001011, 0x00003c11, 0x00003d11, 0x00003e11, 0x00003f11, 0x00004011, 0x00004111, 0x00004211,
    +    0x00000611, 0x00000511, 0x00000b11, 0x00000311, 0x00000c11, 0x00004311, 0x00004411, 0x00004511,
    +    0x00004611, 0x00004711, 0x00004811, 0x00004911, 0x00004a11, 0x00004b11, 0x00004c11, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x00004d11, 0x00004e11, 0x00004f11, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x02e90111, 0x02ea0111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x0c9b0111, 0xffffffff, 0xffffffff, 0xffffffff, 0x02350111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x020d0111, 0x02140111, 0x0c910121, 0x025f0111,
    +    0x0c950131, 0x0c990121, 0x0c9b0121, 0xffffffff, 0x0ca20121, 0xffffffff, 0x0ca80121, 0x0cac0121,
    +    0x0c9b0111, 0x0c910121, 0x0c920131, 0x0c930121, 0x0c940121, 0x0c950131, 0x0c980121, 0x0c990121,
    +    0x0c9a0131, 0x0c9b0121, 0x0c9d0131, 0x0c9e0121, 0x0c9f0131, 0x0ca00121, 0x0ca10121, 0x0ca20121,
    +    0x0ca30131, 0x0ca50131, 0xffffffff, 0x0ca60131, 0x0ca70121, 0x0ca80121, 0x0ca90131, 0x0caa0121,
    +    0x0cab0121, 0x0cac0121, 0x0c9b0121, 0x0ca80121, 0x0c910111, 0x0c950111, 0x0c990111, 0x0c9b0111,
    +    0x0ca80111, 0x0c910111, 0x0c920111, 0x0c930111, 0x0c940111, 0x0c950111, 0x0c980111, 0x0c990111,
    +    0x0c9a0111, 0x0c9b0111, 0x0c9d0111, 0x0c9e0111, 0x0c9f0111, 0x0ca00111, 0x0ca10111, 0x0ca20111,
    +    0x0ca30111, 0x0ca50111, 0x0ca60141, 0x0ca60111, 0x0ca70111, 0x0ca80111, 0x0ca90111, 0x0caa0111,
    +    0x0cab0111, 0x0cac0111, 0x0c9b0111, 0x0ca80111, 0x0ca20111, 0x0ca80111, 0x0cac0111, 0xffffffff,
    +    0x0c920121, 0x0c9a0121, 0x0ca80131, 0x0ca80131, 0x0ca80131, 0x0ca90121, 0x0ca30121, 0x0c9d0121,
    +    0xffffffff, 0xffffffff, 0x0c970121, 0x0c970111, 0x0c960121, 0x0c960111, 0x0ca40121, 0x0ca40111,
    +    0x0cad0121, 0x0cad0111, 0x0cae0121, 0x0cae0111, 0x0caf0121, 0x0caf0111, 0x0cb00121, 0x0cb00111,
    +    0x0cb10121, 0x0cb10111, 0x0cb20121, 0x0cb20111, 0x0cb30121, 0x0cb30111, 0x0cb40121, 0x0cb40111,
    +    0x0c9d0121, 0x0ca50121, 0x0ca60121, 0x0c9c0111, 0x0c9a0141, 0x0c950121, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0400 .. 0x04ff */
    +    0x0cf10121, 0x0cf10121, 0x0ce50121, 0x0ce90121, 0x0cf90121, 0x0d110121, 0x0d210121, 0x0d250121,
    +    0x0d2d0121, 0x0d4d0121, 0x0d650121, 0x0d9d0121, 0x0da10121, 0x0d190121, 0x0da90121, 0x0e050121,
    +    0x0cb50121, 0x0ccd0121, 0x0cd10121, 0x0cd50131, 0x0ce10121, 0x0cf10121, 0x0cfd0121, 0x0d090121,
    +    0x0d190121, 0x0d290121, 0x0d310121, 0x0d490121, 0x0d510121, 0x0d550121, 0x0d690121, 0x0d790121,
    +    0x0d850121, 0x0d8d0121, 0x0d950121, 0x0da50121, 0x0dc10121, 0x0dc50121, 0x0de10121, 0x0de90121,
    +    0x0e090121, 0x0e0d0121, 0x0e110121, 0x0e150121, 0x0e1d0121, 0x0e290121, 0x0e310121, 0x0e350121,
    +    0x0cb50111, 0x0ccd0111, 0x0cd10111, 0x0cd50111, 0x0ce10111, 0x0cf10111, 0x0cfd0111, 0x0d090111,
    +    0x0d190111, 0x0d290111, 0x0d310111, 0x0d490111, 0x0d510111, 0x0d550111, 0x0d690111, 0x0d790111,
    +    0x0d850111, 0x0d8d0111, 0x0d950111, 0x0da50111, 0x0dc10111, 0x0dc50111, 0x0de10111, 0x0de90111,
    +    0x0e090111, 0x0e0d0111, 0x0e110111, 0x0e150111, 0x0e1d0111, 0x0e290111, 0x0e310111, 0x0e350111,
    +    0x0cf10111, 0x0cf10111, 0x0ce50111, 0x0ce90111, 0x0cf90111, 0x0d110111, 0x0d210111, 0x0d250111,
    +    0x0d2d0111, 0x0d4d0111, 0x0d650111, 0x0d9d0111, 0x0da10111, 0x0d190111, 0x0da90111, 0x0e050111,
    +    0x0dd10121, 0x0dd10111, 0x0e250121, 0x0e250111, 0x0e390121, 0x0e390111, 0x0e3d0121, 0x0e3d0111,
    +    0x0e450121, 0x0e450111, 0x0e410121, 0x0e410111, 0x0e490121, 0x0e490111, 0x0e4d0121, 0x0e4d0111,
    +    0x0e510121, 0x0e510111, 0x0e550121, 0x0e550111, 0x0e590121, 0x0e590111, 0x0e5d0121, 0x0e5d0111,
    +    0x0dbd0121, 0x0dbd0111, 0x0ddd0121, 0x0ddd0111, 0x0dd90121, 0x0dd90111, 0x0dd50121, 0x0dd50111,
    +    0x0d810121, 0x0d810111, 0x030b0111, 0x00005411, 0x00005511, 0x00005611, 0x00005711, 0xffffffff,
    +    0x00000001, 0x00000001, 0xffffffff, 0xffffffff, 0x0e210121, 0x0e210111, 0x0d890121, 0x0d890111,
    +    0x0cd50141, 0x0cd50121, 0x0cd90121, 0x0cd90111, 0x0cdd0121, 0x0cdd0111, 0x0d050121, 0x0d050111,
    +    0x0ced0121, 0x0ced0111, 0x0d350121, 0x0d350111, 0x0d450121, 0x0d450111, 0x0d410121, 0x0d410111,
    +    0x0d3d0121, 0x0d3d0111, 0x0d590121, 0x0d590111, 0x0d610121, 0x0d610111, 0x0d7d0121, 0x0d7d0111,
    +    0x0e610121, 0x0e610111, 0x0d910121, 0x0d910111, 0x0d990121, 0x0d990111, 0x0db50121, 0x0db50111,
    +    0x0db90121, 0x0db90111, 0x0dc90121, 0x0dc90111, 0x0de50121, 0x0de50111, 0x0df10121, 0x0df10111,
    +    0x0df90121, 0x0df90111, 0x0dcd0121, 0x0dcd0111, 0x0dfd0121, 0x0dfd0111, 0x0e010121, 0x0e010111,
    +    0x0e650111, 0x0cfd0121, 0x0cfd0111, 0x0d390121, 0x0d390111, 0xffffffff, 0xffffffff, 0x0d5d0121,
    +    0x0d5d0111, 0xffffffff, 0xffffffff, 0x0df50121, 0x0df50111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0cb90121, 0x0cb90111, 0x0cbd0121, 0x0cbd0111, 0x0cc90121, 0x0cc90111, 0x0cf50121, 0x0cf50111,
    +    0x0cc10121, 0x0cc10111, 0x0cc50121, 0x0cc50111, 0x0d010121, 0x0d010111, 0x0d0d0121, 0x0d0d0111,
    +    0x0d150121, 0x0d150111, 0x0d190121, 0x0d190111, 0x0d1d0121, 0x0d1d0111, 0x0d6d0121, 0x0d6d0111,
    +    0x0d710121, 0x0d710111, 0x0d750121, 0x0d750111, 0x0e2d0121, 0x0e2d0111, 0x0da50121, 0x0da50111,
    +    0x0dad0121, 0x0dad0111, 0x0db10121, 0x0db10111, 0x0ded0121, 0x0ded0111, 0xffffffff, 0xffffffff,
    +    0x0e190121, 0x0e190111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0500 .. 0x05ff */
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x0e900121, 0x0e910121, 0x0e920121, 0x0e930121, 0x0e940131, 0x0e950121, 0x0e960121,
    +    0x0e970121, 0x0e980121, 0x0e990121, 0x0e9a0121, 0x0e9b0121, 0x0e9c0121, 0x0e9d0121, 0x0e9e0121,
    +    0x0e9f0121, 0x0ea00121, 0x0ea10121, 0x0ea20121, 0x0ea30131, 0x0ea40121, 0x0ea50121, 0x0ea60121,
    +    0x0ea70121, 0x0ea80121, 0x0ea90121, 0x0eaa0121, 0x0eab0121, 0x0eac0121, 0x0ead0131, 0x0eae0121,
    +    0x0eaf0121, 0x0eb00121, 0x0eb10121, 0x0eb20121, 0x0eb30121, 0x0eb40121, 0x0eb50121, 0xffffffff,
    +    0xffffffff, 0x0eb60111, 0x02bf0111, 0x02c00111, 0x024d0111, 0x022e0111, 0x02500111, 0x02c10111,
    +    0xffffffff, 0x0e900111, 0x0e910111, 0x0e920111, 0x0e930111, 0x0e940111, 0x0e950111, 0x0e960111,
    +    0x0e970111, 0x0e980111, 0x0e990111, 0x0e9a0111, 0x0e9b0111, 0x0e9c0111, 0x0e9d0111, 0x0e9e0111,
    +    0x0e9f0111, 0x0ea00111, 0x0ea10111, 0x0ea20111, 0x0ea30111, 0x0ea40111, 0x0ea50111, 0x0ea60111,
    +    0x0ea70111, 0x0ea80111, 0x0ea90111, 0x0eaa0111, 0x0eab0111, 0x0eac0111, 0x0ead0111, 0x0eae0111,
    +    0x0eaf0111, 0x0eb00111, 0x0eb10111, 0x0eb20111, 0x0eb30111, 0x0eb40111, 0x0eb50111, 0x0e940121,
    +    0xffffffff, 0x02380111, 0x02220111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    +    0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    +    0x00000001, 0x00000001, 0xffffffff, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    +    0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001,
    +    0x00005811, 0x00005911, 0x00005a11, 0x00005b11, 0x00005c11, 0x00005d11, 0x00005e11, 0x00005f11,
    +    0x00006011, 0x00006111, 0xffffffff, 0x00006211, 0x00006311, 0x00000001, 0x02c20111, 0x00006411,
    +    0x02c30111, 0x00006511, 0x00006611, 0x02c40111, 0x00000001, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0eb70111, 0x0eb80111, 0x0eb90111, 0x0eba0111, 0x0ebb0111, 0x0ebc0111, 0x0ebd0111, 0x0ebe0111,
    +    0x0ebf0111, 0x0ec00111, 0x0ec10131, 0x0ec10111, 0x0ec20111, 0x0ec30131, 0x0ec30111, 0x0ec40121,
    +    0x0ec40111, 0x0ec50111, 0x0ec60111, 0x0ec70121, 0x0ec70111, 0x0ec80121, 0x0ec80111, 0x0ec90111,
    +    0x0eca0111, 0x0ecb0111, 0x0ecc0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0ebc0121, 0x0ebc0121, 0x0ec00121, 0x02c50111, 0x02c60111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0600 .. 0x06ff */
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x022f0111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0x02360111, 0xffffffff, 0xffffffff, 0xffffffff, 0x02510111,
    +    0xffffffff, 0x0ecd0111, 0x0ece0111, 0x0ecf0111, 0x0ed20111, 0x0ed30111, 0x0ed50111, 0x0ed60111,
    +    0x0ed70111, 0x0edb0111, 0x0edc0111, 0x0edd0111, 0x0ee30111, 0x0ee90111, 0x0eea0111, 0x0eee0111,
    +    0x0eef0111, 0x0ef90111, 0x0efa0111, 0x0f040111, 0x0f050111, 0x0f0a0111, 0x0f0b0111, 0x0f0f0111,
    +    0x0f100111, 0x0f120111, 0x0f130111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x020b0111, 0x0f160111, 0x0f1d0111, 0x0f200111, 0x0f2d0111, 0x0f320111, 0x0f330111, 0x0f390111,
    +    0x0f3e0111, 0x0f480111, 0x0f490111, 0x00006811, 0x00006911, 0x00006a11, 0x00006b11, 0x00006c11,
    +    0x00006d11, 0x00006e11, 0x00006f11, 0x00007011, 0x00007111, 0x00007211, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x02ab0111, 0x02300111, 0x02310111, 0x02a30111, 0xffffffff, 0xffffffff,
    +    0x00007311, 0x0ed10111, 0x0ed00111, 0x0ed40111, 0x0ecd0111, 0x0ed60121, 0x0f3e0121, 0x0f420121,
    +    0x0f490121, 0x0ede0111, 0x0edf0111, 0x0ed80111, 0x0ee00111, 0x0ee10111, 0x0ed90111, 0x0ee20111,
    +    0x0eda0111, 0x0eeb0111, 0x0eec0111, 0x0ee40111, 0x0ee50111, 0x0eed0111, 0x0ee60111, 0x0ee80111,
    +    0x0ef00111, 0x0ef10111, 0x0ef20111, 0x0ef30111, 0x0ef40111, 0x0ef50111, 0x0ef60111, 0x0ef70111,
    +    0x0ef80111, 0x0efb0111, 0x0efc0111, 0x0efd0111, 0x0efe0111, 0x0eff0111, 0x0f000111, 0x0f010111,
    +    0x0f020111, 0x0f030111, 0x0f060111, 0x0f070111, 0x0f080111, 0x0f0c0111, 0x0f0d0111, 0x0f110111,
    +    0x0f140111, 0x0f170111, 0x0f180111, 0x0f190111, 0x0f1a0111, 0x0f1b0111, 0x0f1c0111, 0x0f1e0111,
    +    0x0f1f0111, 0x0f210111, 0x0f220111, 0x0f230111, 0x0f240111, 0x0f250111, 0x0f260111, 0x0f270111,
    +    0x0f280111, 0x0f290111, 0x0f2a0111, 0x0f2b0111, 0x0f2c0111, 0x0f2e0111, 0x0f2f0111, 0x0f300111,
    +    0x0f310111, 0x0f380111, 0x0f340111, 0x0f350111, 0x0f360111, 0x0f370111, 0x0f3a0111, 0x0ee70111,
    +    0x0f3d0111, 0x0f3b0111, 0x0f3b0111, 0x0f3c0111, 0x0f3f0111, 0x0f400111, 0x0f410111, 0x0f420111,
    +    0x0f430111, 0x0f440111, 0x0f450111, 0x0f460111, 0x0f4a0111, 0x0f4b0111, 0x0f4c0111, 0x0f470111,
    +    0x0f4d0111, 0x0f4e0111, 0x0f4f0111, 0x0f4f0111, 0x02570111, 0x0f3d0111, 0x00007411, 0x00007511,
    +    0x00007611, 0x00007711, 0x00007811, 0x00007911, 0x00007a11, 0x00000001, 0x00000001, 0x00000001,
    +    0x00000001, 0x00007b11, 0x00007c11, 0x00007d11, 0x00007e11, 0x0f3e0121, 0x0f490121, 0x00007f11,
    +    0x00008011, 0x030c0111, 0x00000001, 0x00000001, 0x00000001, 0x00008111, 0xffffffff, 0xffffffff,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x0f090111, 0x0f0e0111, 0x0f150111, 0x0ecd0121, 0x0f320121, 0xffffffff,
    +    /* 0x0700 .. 0x07ff */
    +    0x02660111, 0x02580111, 0x02590111, 0x02390111, 0x023a0111, 0x023b0111, 0x023c0111, 0x023d0111,
    +    0x023e0111, 0x02520111, 0x02c70111, 0x02c80111, 0x02c90111, 0x02ca0111, 0xffffffff, 0x00000000,
    +    0x0f500111, 0x00008211, 0x0f510111, 0x0f520111, 0x0f520121, 0x0f530111, 0x0f540111, 0x0f550111,
    +    0x0f560111, 0x0f570111, 0x0f580111, 0x0f590111, 0x0f590121, 0x0f5a0111, 0x0f5b0111, 0x0f5c0111,
    +    0x0f5d0111, 0x0f5e0111, 0x0f5f0111, 0x0f600111, 0x0f600121, 0x0f610111, 0x0f620111, 0x0f620121,
    +    0x0f630111, 0x0f640111, 0x0f650111, 0x0f660111, 0x0f670111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x00008311, 0x00008411, 0x00008511, 0x00008611, 0x00008711, 0x00008811, 0x00008911, 0x00008a11,
    +    0x00008b11, 0x00008c11, 0x00008d11, 0x00008e11, 0x00008f11, 0x00009011, 0x00009111, 0x00009211,
    +    0x00009311, 0x00009411, 0x00009511, 0x00009611, 0x00009711, 0x00009811, 0x00009911, 0x00009a11,
    +    0x00009b11, 0x00009c11, 0x00009d11, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0f680111, 0x0f6b0111, 0x0f6c0111, 0x0f6d0111, 0x0f6f0111, 0x0f700111, 0x0f710111, 0x0f720111,
    +    0x0f750111, 0x0f770111, 0x0f780111, 0x0f790111, 0x0f7b0111, 0x0f7f0111, 0x0f800111, 0x0f820111,
    +    0x0f830111, 0x0f870111, 0x0f880111, 0x0f890111, 0x0f8a0111, 0x0f8b0111, 0x0f8c0111, 0x0f8d0111,
    +    0x0f7c0111, 0x0f690111, 0x0f6a0111, 0x0f7a0111, 0x0f6e0111, 0x0f840111, 0x0f850111, 0x0f860111,
    +    0x0f7d0111, 0x0f7e0111, 0x0f730111, 0x0f740111, 0x0f810111, 0x0f760111, 0x0f8e0111, 0x0f8f0111,
    +    0x0f900111, 0x0f910111, 0x0f920111, 0x0f930111, 0x0f940111, 0x0f950111, 0x0f960111, 0x0f970111,
    +    0x0f980111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0900 .. 0x09ff */
    +    0xffffffff, 0x00009f11, 0x0000a011, 0x0000a111, 0xffffffff, 0x10d70111, 0x10d80111, 0x10d90111,
    +    0x10da0111, 0x10db0111, 0x10dc0111, 0x10dd0111, 0x10df0111, 0x10e10111, 0x10e20111, 0x10e30111,
    +    0x10e40111, 0x10e50111, 0x10e60111, 0x10e70111, 0x10e80111, 0x10e90111, 0x10ea0111, 0x10eb0111,
    +    0x10ec0111, 0x10ed0111, 0x10ee0111, 0x10ef0111, 0x10f00111, 0x10f10111, 0x10f20111, 0x10f30111,
    +    0x10f40111, 0x10f50111, 0x10f60111, 0x10f70111, 0x10f80111, 0x10f90111, 0x10fa0111, 0x10fb0111,
    +    0x10fc0111, 0x10fc0111, 0x10fd0111, 0x10fe0111, 0x10ff0111, 0x11000111, 0x11010111, 0x11020111,
    +    0x11030111, 0x11030111, 0x11040111, 0x11050111, 0x11050111, 0x11060111, 0x11070111, 0x11080111,
    +    0x11090111, 0x110a0111, 0xffffffff, 0xffffffff, 0x00009e11, 0x110b0111, 0x110c0111, 0x110d0111,
    +    0x110e0111, 0x110f0111, 0x11100111, 0x11110111, 0x11120111, 0x11150111, 0x11160111, 0x11170111,
    +    0x11180111, 0x11190111, 0x111a0111, 0x111b0111, 0x111c0111, 0x111d0111, 0xffffffff, 0xffffffff,
    +    0x10d60111, 0x0000a211, 0x0000a311, 0x0000a411, 0x0000a511, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x10e90111, 0x10ea0111, 0x10eb0111, 0x10f00111, 0x10f50111, 0x10f60111, 0x10fe0111, 0x11020111,
    +    0x10de0111, 0x10e00111, 0x11130111, 0x11140111, 0x02600111, 0x02610111, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0x02cd0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x0000a711, 0x0000a811, 0x0000a911, 0xffffffff, 0x111e0111, 0x111f0111, 0x11200111,
    +    0x11210111, 0x11220111, 0x11230111, 0x11240111, 0x11260111, 0xffffffff, 0xffffffff, 0x11280111,
    +    0x11290111, 0xffffffff, 0xffffffff, 0x112a0111, 0x112b0111, 0x112c0111, 0x112d0111, 0x112e0111,
    +    0x112f0111, 0x11300111, 0x11310111, 0x11320111, 0x11330111, 0x11340111, 0x11350111, 0x11360111,
    +    0x11370111, 0x11380111, 0x11390111, 0x113a0111, 0x113b0111, 0x113c0111, 0x113d0111, 0x113e0111,
    +    0x113f0111, 0xffffffff, 0x11400111, 0x11410111, 0x11420111, 0x11430111, 0x11440111, 0x11450111,
    +    0x11460111, 0xffffffff, 0x11480111, 0xffffffff, 0xffffffff, 0xffffffff, 0x114a0111, 0x114b0111,
    +    0x114c0111, 0x114d0111, 0xffffffff, 0xffffffff, 0x0000a611, 0xffffffff, 0x114e0111, 0x114f0111,
    +    0x11500111, 0x11510111, 0x11520111, 0x11530111, 0x11540111, 0xffffffff, 0xffffffff, 0x11570111,
    +    0x11580111, 0xffffffff, 0xffffffff, 0x11590111, 0x115a0111, 0x115b0111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x115c0111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x11380111, 0x11390111, 0xffffffff, 0x11450111,
    +    0x11250111, 0x11270111, 0x11550111, 0x11560111, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0x11470111, 0x11490111, 0x09e30111, 0x09e40111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111,
    +    0x09c10111, 0x09c20111, 0x030d0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0a00 .. 0x0aff */
    +    0xffffffff, 0xffffffff, 0x0000ab11, 0xffffffff, 0xffffffff, 0x11620111, 0x11630111, 0x11670111,
    +    0x11680111, 0x115f0111, 0x11600111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x11690111,
    +    0x11640111, 0xffffffff, 0xffffffff, 0x11610111, 0x11650111, 0x116c0111, 0x116d0111, 0x116e0111,
    +    0x116f0111, 0x11700111, 0x11710111, 0x11720111, 0x11730111, 0x11740111, 0x11750111, 0x11760111,
    +    0x11770111, 0x11780111, 0x11790111, 0x117a0111, 0x117b0111, 0x117c0111, 0x117d0111, 0x117e0111,
    +    0x117f0111, 0xffffffff, 0x11800111, 0x11810111, 0x11820111, 0x11830111, 0x11840111, 0x11850111,
    +    0x11860111, 0xffffffff, 0x11870111, 0x11870111, 0xffffffff, 0x11880111, 0x116a0111, 0xffffffff,
    +    0x116a0111, 0x116b0111, 0xffffffff, 0xffffffff, 0x0000aa11, 0xffffffff, 0x118a0111, 0x118b0111,
    +    0x118c0111, 0x118d0111, 0x118e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x118f0111,
    +    0x11900111, 0xffffffff, 0xffffffff, 0x11910111, 0x11920111, 0x11930111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x116d0111, 0x116e0111, 0x11730111, 0x11890111, 0xffffffff, 0x11810111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0x0000ac11, 0x0000ad11, 0x11660111, 0x115e0111, 0x115d0111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x0000af11, 0x0000b011, 0x0000b111, 0xffffffff, 0x11950111, 0x11960111, 0x11970111,
    +    0x11980111, 0x11990111, 0x119a0111, 0x119b0111, 0xffffffff, 0x119d0111, 0xffffffff, 0x119e0111,
    +    0x119f0111, 0x11a00111, 0xffffffff, 0x11a10111, 0x11a20111, 0x11a30111, 0x11a40111, 0x11a50111,
    +    0x11a60111, 0x11a70111, 0x11a80111, 0x11a90111, 0x11aa0111, 0x11ab0111, 0x11ac0111, 0x11ad0111,
    +    0x11ae0111, 0x11af0111, 0x11b00111, 0x11b10111, 0x11b20111, 0x11b30111, 0x11b40111, 0x11b50111,
    +    0x11b60111, 0xffffffff, 0x11b70111, 0x11b80111, 0x11b90111, 0x11ba0111, 0x11bb0111, 0x11bc0111,
    +    0x11bd0111, 0xffffffff, 0x11be0111, 0x11bf0111, 0xffffffff, 0x11c00111, 0x11c10111, 0x11c20111,
    +    0x11c30111, 0x11c40111, 0xffffffff, 0xffffffff, 0x0000ae11, 0x11c50111, 0x11c60111, 0x11c70111,
    +    0x11c80111, 0x11c90111, 0x11ca0111, 0x11cb0111, 0x11cc0111, 0x11cd0111, 0xffffffff, 0x11ce0111,
    +    0x11cf0111, 0x11d00111, 0xffffffff, 0x11d10111, 0x11d20111, 0x11d30111, 0xffffffff, 0xffffffff,
    +    0x11940111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x119c0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0b00 .. 0x0bff */
    +    0xffffffff, 0x0000b311, 0x0000b411, 0x0000b511, 0xffffffff, 0x11d40111, 0x11d50111, 0x11d60111,
    +    0x11d70111, 0x11d80111, 0x11d90111, 0x11da0111, 0x11dc0111, 0xffffffff, 0xffffffff, 0x11de0111,
    +    0x11df0111, 0xffffffff, 0xffffffff, 0x11e00111, 0x11e10111, 0x11e20111, 0x11e30111, 0x11e40111,
    +    0x11e50111, 0x11e60111, 0x11e70111, 0x11e80111, 0x11e90111, 0x11ea0111, 0x11eb0111, 0x11ec0111,
    +    0x11ed0111, 0x11ee0111, 0x11ef0111, 0x11f00111, 0x11f10111, 0x11f20111, 0x11f30111, 0x11f40111,
    +    0x11f50111, 0xffffffff, 0x11f60111, 0x11f70111, 0x11f80111, 0x11f90111, 0x11fa0111, 0x11fb0111,
    +    0x11fd0111, 0xffffffff, 0x11fe0111, 0x11ff0111, 0xffffffff, 0xffffffff, 0x12000111, 0x12010111,
    +    0x12020111, 0x12030111, 0xffffffff, 0xffffffff, 0x0000b211, 0x12040111, 0x12050111, 0x12060111,
    +    0x12070111, 0x12080111, 0x12090111, 0x120a0111, 0xffffffff, 0xffffffff, 0xffffffff, 0x120b0111,
    +    0x120c0111, 0xffffffff, 0xffffffff, 0x120d0111, 0x120e0111, 0x120f0111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12100111, 0x12110111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x11ee0111, 0x11ef0111, 0xffffffff, 0x11fc0111,
    +    0x11db0111, 0x11dd0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0x030e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x0000b611, 0x12120111, 0xffffffff, 0x12130111, 0x12140111, 0x12150111,
    +    0x12160111, 0x12170111, 0x12180111, 0xffffffff, 0xffffffff, 0xffffffff, 0x12190111, 0x121a0111,
    +    0x121b0111, 0xffffffff, 0x121c0111, 0x121d0111, 0x121e0111, 0x121f0111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x12200111, 0x12210111, 0xffffffff, 0x12220111, 0xffffffff, 0x12230111, 0x12240111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0x12250111, 0x12260111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x12270111, 0x12280111, 0x12290111, 0xffffffff, 0xffffffff, 0xffffffff, 0x122a0111, 0x122b0111,
    +    0x122c0111, 0x122d0111, 0x122e0111, 0x122f0111, 0x12300111, 0x12310111, 0xffffffff, 0x12320111,
    +    0x12330111, 0x12340111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12350111, 0x12360111,
    +    0x12370111, 0x12380111, 0x12390111, 0xffffffff, 0xffffffff, 0xffffffff, 0x123a0111, 0x123b0111,
    +    0x123c0111, 0xffffffff, 0x123d0111, 0x123e0111, 0x123f0111, 0x12400111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12410111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0x09c30111, 0x09c40111, 0x09c50111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0c00 .. 0x0cff */
    +    0xffffffff, 0x0000b711, 0x0000b811, 0x0000b911, 0xffffffff, 0x12420111, 0x12430111, 0x12440111,
    +    0x12450111, 0x12460111, 0x12470111, 0x12480111, 0x124a0111, 0xffffffff, 0x124c0111, 0x124d0111,
    +    0x124e0111, 0xffffffff, 0x124f0111, 0x12500111, 0x12510111, 0x12520111, 0x12530111, 0x12540111,
    +    0x12550111, 0x12560111, 0x12570111, 0x12580111, 0x12590111, 0x125a0111, 0x125b0111, 0x125c0111,
    +    0x125d0111, 0x125e0111, 0x125f0111, 0x12600111, 0x12610111, 0x12620111, 0x12630111, 0x12640111,
    +    0x12650111, 0xffffffff, 0x12660111, 0x12670111, 0x12680111, 0x12690111, 0x126a0111, 0x126b0111,
    +    0x126c0111, 0x126d0111, 0x126e0111, 0x126f0111, 0xffffffff, 0x12700111, 0x12710111, 0x12720111,
    +    0x12730111, 0x12740111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12750111, 0x12760111,
    +    0x12770111, 0x12780111, 0x12790111, 0x127a0111, 0x127b0111, 0xffffffff, 0x127c0111, 0x127d0111,
    +    0x127e0111, 0xffffffff, 0x127f0111, 0x12800111, 0x12810111, 0x12820111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12830111, 0x12840111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x12490111, 0x124b0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x0000ba11, 0x0000bb11, 0xffffffff, 0x12850111, 0x12860111, 0x12870111,
    +    0x12880111, 0x12890111, 0x128a0111, 0x128b0111, 0x128d0111, 0xffffffff, 0x128f0111, 0x12900111,
    +    0x12910111, 0xffffffff, 0x12920111, 0x12930111, 0x12940111, 0x12950111, 0x12960111, 0x12970111,
    +    0x12980111, 0x12990111, 0x129a0111, 0x129b0111, 0x129c0111, 0x129d0111, 0x129e0111, 0x129f0111,
    +    0x12a00111, 0x12a10111, 0x12a20111, 0x12a30111, 0x12a40111, 0x12a50111, 0x12a60111, 0x12a70111,
    +    0x12a80111, 0xffffffff, 0x12a90111, 0x12aa0111, 0x12ab0111, 0x12ac0111, 0x12ad0111, 0x12ae0111,
    +    0x12af0111, 0x12b00111, 0x12b10111, 0x12b70111, 0xffffffff, 0x12b20111, 0x12b30111, 0x12b40111,
    +    0x12b50111, 0x12b60111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12b90111, 0x12ba0111,
    +    0x12bb0111, 0x12bc0111, 0x12bd0111, 0x12be0111, 0x12bf0111, 0xffffffff, 0x12c00111, 0x12c10111,
    +    0x12c20111, 0xffffffff, 0x12c30111, 0x12c40111, 0x12c50111, 0x12c60111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12c70111, 0x12c80111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12b80111, 0xffffffff,
    +    0x128c0111, 0x128e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0d00 .. 0x0dff */
    +    0xffffffff, 0xffffffff, 0x0000bc11, 0x0000bd11, 0xffffffff, 0x12c90111, 0x12ca0111, 0x12cb0111,
    +    0x12cc0111, 0x12cd0111, 0x12ce0111, 0x12cf0111, 0x12d10111, 0xffffffff, 0x12d30111, 0x12d40111,
    +    0x12d50111, 0xffffffff, 0x12d60111, 0x12d70111, 0x12d80111, 0x12d90111, 0x12da0111, 0x12db0111,
    +    0x12dc0111, 0x12dd0111, 0x12de0111, 0x12df0111, 0x12e00111, 0x12e10111, 0x12e20111, 0x12e30111,
    +    0x12e40111, 0x12e50111, 0x12e60111, 0x12e70111, 0x12e80111, 0x12e90111, 0x12ea0111, 0x12eb0111,
    +    0x12ec0111, 0xffffffff, 0x12ed0111, 0x12ee0111, 0x12ef0111, 0x12f00111, 0x12f10111, 0x12f20111,
    +    0x12f30111, 0x12f40111, 0x12f50111, 0x12f60111, 0x12f70111, 0x12f80111, 0x12f90111, 0x12fa0111,
    +    0x12fb0111, 0x12fc0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x12fd0111, 0x12fe0111,
    +    0x12ff0111, 0x13000111, 0x13010111, 0x13020111, 0xffffffff, 0xffffffff, 0x13030111, 0x13040111,
    +    0x13050111, 0xffffffff, 0x13060111, 0x13070111, 0x13080111, 0x13090111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x130a0111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x12d00111, 0x12d20111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0b0111, 0x0a0c0111,
    +    0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111, 0x0a130111, 0x0a140111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x0000be11, 0x0000bf11, 0xffffffff, 0x130b0111, 0x130c0111, 0x130d0111,
    +    0x130e0111, 0x130f0111, 0x13100111, 0x13110111, 0x13120111, 0x13130111, 0x13140111, 0x13150111,
    +    0x13160111, 0x13170111, 0x13180111, 0x13190111, 0x131a0111, 0x131b0111, 0x131c0111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x131d0111, 0x131e0111, 0x131f0111, 0x13200111, 0x13210111, 0x13220111,
    +    0x13230111, 0x13240111, 0x13250111, 0x13260111, 0x13270111, 0x13280111, 0x13290111, 0x132a0111,
    +    0x132b0111, 0x132c0111, 0x132d0111, 0x132e0111, 0x132f0111, 0x13300111, 0x13310111, 0x13320111,
    +    0x13330111, 0x13340111, 0xffffffff, 0x13350111, 0x13360111, 0x13370111, 0x13380111, 0x13390111,
    +    0x133a0111, 0x133b0111, 0x133c0111, 0x133d0111, 0xffffffff, 0x133e0111, 0xffffffff, 0xffffffff,
    +    0x133f0111, 0x13400111, 0x13410111, 0x13420111, 0x13430111, 0x13440111, 0x13450111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x13460111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x13470111,
    +    0x13480111, 0x13490111, 0x134a0111, 0x134b0111, 0x134c0111, 0xffffffff, 0x134d0111, 0xffffffff,
    +    0x134e0111, 0x134f0111, 0x13500111, 0x13510111, 0x13520111, 0x13530111, 0x13540111, 0x13550111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x13560111, 0x13570111, 0x02ce0111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0e00 .. 0x0eff */
    +    0xffffffff, 0x13580111, 0x13590111, 0x135a0111, 0x135b0111, 0x135c0111, 0x135d0111, 0x135e0111,
    +    0x135f0111, 0x13600111, 0x13610111, 0x13620111, 0x13630111, 0x13640111, 0x13650111, 0x13660111,
    +    0x13670111, 0x13680111, 0x13690111, 0x136a0111, 0x136b0111, 0x136c0111, 0x136d0111, 0x136e0111,
    +    0x136f0111, 0x13700111, 0x13710111, 0x13720111, 0x13730111, 0x13740111, 0x13750111, 0x13760111,
    +    0x13770111, 0x13780111, 0x13790111, 0x137a0111, 0x137b0111, 0x137c0111, 0x137d0111, 0x137e0111,
    +    0x137f0111, 0x13800111, 0x13810111, 0x13820111, 0x13830111, 0x13840111, 0x13850111, 0x13860111,
    +    0x13870111, 0x13880111, 0x13890111, 0x138a0111, 0x138b0111, 0x138c0111, 0x138d0111, 0x138e0111,
    +    0x138f0111, 0x13900111, 0x13910111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x09e50111,
    +    0x13920111, 0x13930111, 0x13940111, 0x13950111, 0x13960111, 0x13970111, 0x09d50111, 0x0000c011,
    +    0x0000c111, 0x0000c211, 0x0000c311, 0x0000c411, 0x13980111, 0x13990111, 0x00000001, 0x030f0111,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x02cf0111, 0x02d00111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x139a0111, 0x139b0111, 0xffffffff, 0x139c0111, 0xffffffff, 0xffffffff, 0x139d0111,
    +    0x139e0111, 0xffffffff, 0x139f0111, 0xffffffff, 0xffffffff, 0x13a00111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x13a10111, 0x13a20111, 0x13a30111, 0x13a40111,
    +    0xffffffff, 0x13a50111, 0x13a60111, 0x13a70111, 0x13a80111, 0x13a90111, 0x13aa0111, 0x13ab0111,
    +    0xffffffff, 0x13ac0111, 0x13ad0111, 0x13ae0111, 0xffffffff, 0x13af0111, 0xffffffff, 0x13b00111,
    +    0xffffffff, 0xffffffff, 0x13b10111, 0x13b20111, 0xffffffff, 0x13b30111, 0x13b40111, 0x13b50111,
    +    0x13b60111, 0x13b70111, 0x13b80111, 0x13b90111, 0x13ba0111, 0x13bb0111, 0x13bc0111, 0x13bd0111,
    +    0x13be0111, 0x13bf0111, 0xffffffff, 0x13c00111, 0x13c10111, 0x13c20111, 0xffffffff, 0xffffffff,
    +    0x13c30111, 0x13c40111, 0x13c50111, 0x13c60111, 0x13c70111, 0xffffffff, 0x09d60111, 0xffffffff,
    +    0x0000c511, 0x0000c611, 0x0000c711, 0x0000c811, 0x13c80111, 0x13c90111, 0xffffffff, 0xffffffff,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0xffffffff, 0xffffffff, 0x13b20121, 0x13b20121, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x0f00 .. 0x0fff */
    +    0x140e0121, 0x03100111, 0x03110111, 0x03120111, 0x02d10111, 0x02d20111, 0x02d30111, 0x02d40111,
    +    0x02d50111, 0x02d60111, 0x02d70111, 0x02d80111, 0x02d80121, 0x02d90111, 0x02da0111, 0x02db0111,
    +    0x02dc0111, 0x02dd0111, 0x02de0111, 0x03130111, 0x02460111, 0x03140111, 0x03150111, 0x03160111,
    +    0x00000001, 0x00000001, 0x03170111, 0x03180111, 0x03190111, 0x031a0111, 0x031b0111, 0x031c0111,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111,
    +    0x0a120111, 0x0a130111, 0x0a140111, 0x0a0b0111, 0x031d0111, 0x00000001, 0x031e0111, 0x00000001,
    +    0x031f0111, 0x0000c911, 0x02800111, 0x02810111, 0x02820111, 0x02830111, 0x03200111, 0x03210111,
    +    0x13ca0111, 0x13cc0111, 0x13ce0111, 0x13ce0111, 0x13d00111, 0x13d20111, 0x13d40111, 0x13d60111,
    +    0xffffffff, 0x13d80111, 0x13da0111, 0x13dc0111, 0x13de0111, 0x13de0111, 0x13e00111, 0x13e20111,
    +    0x13e40111, 0x13e60111, 0x13e60111, 0x13e80111, 0x13ea0111, 0x13ec0111, 0x13ee0111, 0x13ee0111,
    +    0x13f00111, 0x13f20111, 0x13f40111, 0x13f60111, 0x13f60111, 0x13f80111, 0x13fa0111, 0x13fc0111,
    +    0x13fe0111, 0x14000111, 0x14020111, 0x14040111, 0x14060111, 0x14080111, 0x140a0111, 0x140c0111,
    +    0x140e0111, 0x13ca0111, 0x14020121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x14140111, 0x14150111, 0x14160111, 0x14190111, 0x141a0111, 0x141b0111, 0x141c0111,
    +    0x141d0111, 0x141e0111, 0x141f0111, 0x14200111, 0x14210111, 0x14220111, 0x0000ca11, 0x0000cb11,
    +    0x14170111, 0x14180111, 0x00000001, 0x00000001, 0x14230111, 0x02df0111, 0x00000001, 0x00000001,
    +    0x14100111, 0x14110111, 0x14120111, 0x14130111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x13cb0111, 0x13cd0111, 0x13cf0111, 0x13cf0111, 0x13d10111, 0x13d30111, 0x13d50111, 0x13d70111,
    +    0xffffffff, 0x13d90111, 0x13db0111, 0x13dd0111, 0x13df0111, 0x13df0111, 0x13e10111, 0x13e30111,
    +    0x13e50111, 0x13e70111, 0x13e70111, 0x13e90111, 0x13eb0111, 0x13ed0111, 0x13ef0111, 0x13ef0111,
    +    0x13f10111, 0x13f30111, 0x13f50111, 0x13f70111, 0x13f70111, 0x13f90111, 0x13fb0111, 0x13fd0111,
    +    0x13ff0111, 0x14010111, 0x14030111, 0x14050111, 0x14070111, 0x14090111, 0x140b0111, 0x140d0111,
    +    0x140f0111, 0x13cb0111, 0x13f90121, 0x14010121, 0x14030121, 0xffffffff, 0x03220111, 0x03230111,
    +    0x03240111, 0x03250111, 0x03260111, 0x03270111, 0x03280111, 0x03290111, 0x00000001, 0x032a0111,
    +    0x032b0111, 0x032c0111, 0x032d0111, 0x032e0111, 0x032f0111, 0xffffffff, 0xffffffff, 0x03300111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1000 .. 0x10ff */
    +    0x14240111, 0x14250111, 0x14260111, 0x14270111, 0x14280111, 0x14290111, 0x142a0111, 0x142b0111,
    +    0x142c0111, 0x142d0111, 0x142e0111, 0x142f0111, 0x14300111, 0x14310111, 0x14320111, 0x14330111,
    +    0x14340111, 0x14350111, 0x14360111, 0x14370111, 0x14380111, 0x14390111, 0x143a0111, 0x143b0111,
    +    0x143c0111, 0x143d0111, 0x143e0111, 0x143f0111, 0x14400111, 0x14410111, 0x14440111, 0x14450111,
    +    0x14460111, 0x14470111, 0xffffffff, 0x14480111, 0x14490111, 0x144a0111, 0x144b0111, 0x144c0111,
    +    0xffffffff, 0x144d0111, 0x144e0111, 0xffffffff, 0x14530111, 0x14540111, 0x14550111, 0x14560111,
    +    0x14570111, 0x14580111, 0x14590111, 0xffffffff, 0xffffffff, 0xffffffff, 0x0000cc11, 0x0000cd11,
    +    0x0000ce11, 0x145e0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x02620111, 0x02630111, 0x02e00111, 0x02e10111, 0x02e20111, 0x02e30111,
    +    0x14420111, 0x14430111, 0x144f0111, 0x14500111, 0x14510111, 0x14520111, 0x145a0111, 0x145b0111,
    +    0x145c0111, 0x145d0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0e690121, 0x0e6a0121, 0x0e6b0121, 0x0e6c0121, 0x0e6d0121, 0x0e6e0121, 0x0e6f0121, 0x0e710121,
    +    0x0e720121, 0x0e730121, 0x0e740121, 0x0e750121, 0x0e760121, 0x0e780121, 0x0e790121, 0x0e7a0121,
    +    0x0e7b0121, 0x0e7c0121, 0x0e7d0121, 0x0e7f0121, 0x0e800121, 0x0e810121, 0x0e820121, 0x0e830121,
    +    0x0e840121, 0x0e850121, 0x0e860121, 0x0e870121, 0x0e880121, 0x0e890121, 0x0e8a0121, 0x0e8c0121,
    +    0x0e8d0121, 0x0e700121, 0x0e770121, 0x0e7e0121, 0x0e8b0121, 0x0e8e0121, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0e690111, 0x0e6a0111, 0x0e6b0111, 0x0e6c0111, 0x0e6d0111, 0x0e6e0111, 0x0e6f0111, 0x0e710111,
    +    0x0e720111, 0x0e730111, 0x0e740111, 0x0e750111, 0x0e760111, 0x0e780111, 0x0e790111, 0x0e7a0111,
    +    0x0e7b0111, 0x0e7c0111, 0x0e7d0111, 0x0e7f0111, 0x0e800111, 0x0e810111, 0x0e820111, 0x0e830111,
    +    0x0e840111, 0x0e850111, 0x0e860111, 0x0e870111, 0x0e880111, 0x0e890111, 0x0e8a0111, 0x0e8c0111,
    +    0x0e8d0111, 0x0e700111, 0x0e770111, 0x0e7e0111, 0x0e8b0111, 0x0e8e0111, 0x0e8f0111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0x02670111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1100 .. 0x11ff */
    +    0x18310111, 0x18320111, 0x18330111, 0x18340111, 0x18350111, 0x18360111, 0x18370111, 0x18380111,
    +    0x18390111, 0x183a0111, 0x183b0111, 0x183c0111, 0x183d0111, 0x183e0111, 0x183f0111, 0x18400111,
    +    0x18410111, 0x18420111, 0x18430111, 0x18440111, 0x18450111, 0x18460111, 0x18470111, 0x18480111,
    +    0x18490111, 0x184a0111, 0x184b0111, 0x184c0111, 0x184d0111, 0x184e0111, 0x184f0111, 0x18500111,
    +    0x18510111, 0x18520111, 0x18530111, 0x18540111, 0x18550111, 0x18560111, 0x18570111, 0x18580111,
    +    0x18590111, 0x185a0111, 0x185b0111, 0x185c0111, 0x185d0111, 0x185e0111, 0x185f0111, 0x18600111,
    +    0x18610111, 0x18620111, 0x18630111, 0x18640111, 0x18650111, 0x18660111, 0x18670111, 0x18680111,
    +    0x18690111, 0x186a0111, 0x186b0111, 0x186c0111, 0x186d0111, 0x186e0111, 0x186f0111, 0x18700111,
    +    0x18710111, 0x18720111, 0x18730111, 0x18740111, 0x18750111, 0x18760111, 0x18770111, 0x18780111,
    +    0x18790111, 0x187a0111, 0x187b0111, 0x187c0111, 0x187d0111, 0x187e0111, 0x187f0111, 0x18800111,
    +    0x18810111, 0x18820111, 0x18830111, 0x18840111, 0x18850111, 0x18860111, 0x18870111, 0x18880111,
    +    0x18890111, 0x188a0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x188b0111,
    +    0x188c0111, 0x188d0111, 0x188e0111, 0x188f0111, 0x18900111, 0x18910111, 0x18920111, 0x18930111,
    +    0x18940111, 0x18950111, 0x18960111, 0x18970111, 0x18980111, 0x18990111, 0x189a0111, 0x189b0111,
    +    0x189c0111, 0x189d0111, 0x189e0111, 0x189f0111, 0x18a00111, 0x18a10111, 0x18a20111, 0x18a30111,
    +    0x18a40111, 0x18a50111, 0x18a60111, 0x18a70111, 0x18a80111, 0x18a90111, 0x18aa0111, 0x18ab0111,
    +    0x18ac0111, 0x18ad0111, 0x18ae0111, 0x18af0111, 0x18b00111, 0x18b10111, 0x18b20111, 0x18b30111,
    +    0x18b40111, 0x18b50111, 0x18b60111, 0x18b70111, 0x18b80111, 0x18b90111, 0x18ba0111, 0x18bb0111,
    +    0x18bc0111, 0x18bd0111, 0x18be0111, 0x18bf0111, 0x18c00111, 0x18c10111, 0x18c20111, 0x18c30111,
    +    0x18c40111, 0x18c50111, 0x18c60111, 0x18c70111, 0x18c80111, 0x18c90111, 0x18ca0111, 0x18cb0111,
    +    0x18cc0111, 0x18cd0111, 0x18ce0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x18cf0111, 0x18d00111, 0x18d10111, 0x18d20111, 0x18d30111, 0x18d40111, 0x18d50111, 0x18d60111,
    +    0x18d70111, 0x18d80111, 0x18d90111, 0x18da0111, 0x18db0111, 0x18dc0111, 0x18dd0111, 0x18de0111,
    +    0x18df0111, 0x18e00111, 0x18e10111, 0x18e20111, 0x18e30111, 0x18e40111, 0x18e50111, 0x18e60111,
    +    0x18e70111, 0x18e80111, 0x18e90111, 0x18ea0111, 0x18eb0111, 0x18ec0111, 0x18ed0111, 0x18ee0111,
    +    0x18ef0111, 0x18f00111, 0x18f10111, 0x18f20111, 0x18f30111, 0x18f40111, 0x18f50111, 0x18f60111,
    +    0x18f70111, 0x18f80111, 0x18f90111, 0x18fa0111, 0x18fb0111, 0x18fc0111, 0x18fd0111, 0x18fe0111,
    +    0x18ff0111, 0x19000111, 0x19010111, 0x19020111, 0x19030111, 0x19040111, 0x19050111, 0x19060111,
    +    0x19070111, 0x19080111, 0x19090111, 0x190a0111, 0x190b0111, 0x190c0111, 0x190d0111, 0x190e0111,
    +    0x190f0111, 0x19100111, 0x19110111, 0x19120111, 0x19130111, 0x19140111, 0x19150111, 0x19160111,
    +    0x19170111, 0x19180111, 0x19190111, 0x191a0111, 0x191b0111, 0x191c0111, 0x191d0111, 0x191e0111,
    +    0x191f0111, 0x19200111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1200 .. 0x12ff */
    +    0x0f990111, 0x0f9a0111, 0x0f9b0111, 0x0f9c0111, 0x0f9d0111, 0x0f9e0111, 0x0f9f0111, 0xffffffff,
    +    0x0fa00111, 0x0fa10111, 0x0fa20111, 0x0fa30111, 0x0fa40111, 0x0fa50111, 0x0fa60111, 0x0fa70111,
    +    0x0fa80111, 0x0fa90111, 0x0faa0111, 0x0fab0111, 0x0fac0111, 0x0fad0111, 0x0fae0111, 0x0faf0111,
    +    0x0fb00111, 0x0fb10111, 0x0fb20111, 0x0fb30111, 0x0fb40111, 0x0fb50111, 0x0fb60111, 0x0fb70111,
    +    0x0fb80111, 0x0fb90111, 0x0fba0111, 0x0fbb0111, 0x0fbc0111, 0x0fbd0111, 0x0fbe0111, 0x0fbf0111,
    +    0x0fc00111, 0x0fc10111, 0x0fc20111, 0x0fc30111, 0x0fc40111, 0x0fc50111, 0x0fc60111, 0x0fc70111,
    +    0x0fc80111, 0x0fc90111, 0x0fca0111, 0x0fcb0111, 0x0fcc0111, 0x0fcd0111, 0x0fce0111, 0x0fcf0111,
    +    0x0fd00111, 0x0fd10111, 0x0fd20111, 0x0fd30111, 0x0fd40111, 0x0fd50111, 0x0fd60111, 0x0fd70111,
    +    0x0fd80111, 0x0fd90111, 0x0fda0111, 0x0fdb0111, 0x0fdc0111, 0x0fdd0111, 0x0fde0111, 0xffffffff,
    +    0x0fdf0111, 0xffffffff, 0x0fe00111, 0x0fe10111, 0x0fe20111, 0x0fe30111, 0xffffffff, 0xffffffff,
    +    0x0fe40111, 0x0fe50111, 0x0fe60111, 0x0fe70111, 0x0fe80111, 0x0fe90111, 0x0fea0111, 0xffffffff,
    +    0x0feb0111, 0xffffffff, 0x0fec0111, 0x0fed0111, 0x0fee0111, 0x0fef0111, 0xffffffff, 0xffffffff,
    +    0x0ff00111, 0x0ff10111, 0x0ff20111, 0x0ff30111, 0x0ff40111, 0x0ff50111, 0x0ff60111, 0x0ff70111,
    +    0x0ff80111, 0x0ff90111, 0x0ffa0111, 0x0ffb0111, 0x0ffc0111, 0x0ffd0111, 0x0ffe0111, 0x0fff0111,
    +    0x10000111, 0x10010111, 0x10020111, 0x10030111, 0x10040111, 0x10050111, 0x10060111, 0x10070111,
    +    0x10080111, 0x10090111, 0x100a0111, 0x100b0111, 0x100c0111, 0x100d0111, 0x100e0111, 0x100f0111,
    +    0x10100111, 0x10110111, 0x10120111, 0x10130111, 0x10140111, 0x10150111, 0x10160111, 0xffffffff,
    +    0x10170111, 0xffffffff, 0x10180111, 0x10190111, 0x101a0111, 0x101b0111, 0xffffffff, 0xffffffff,
    +    0x101c0111, 0x101d0111, 0x101e0111, 0x101f0111, 0x10200111, 0x10210111, 0x10220111, 0x10230111,
    +    0x10240111, 0x10250111, 0x10260111, 0x10270111, 0x10280111, 0x10290111, 0x102a0111, 0x102b0111,
    +    0x102c0111, 0x102d0111, 0x102e0111, 0x102f0111, 0x10300111, 0x10310111, 0x10320111, 0x10330111,
    +    0x10340111, 0x10350111, 0x10360111, 0x10370111, 0x10380111, 0x10390111, 0x103a0111, 0xffffffff,
    +    0x103b0111, 0xffffffff, 0x103c0111, 0x103d0111, 0x103e0111, 0x103f0111, 0xffffffff, 0xffffffff,
    +    0x10400111, 0x10410111, 0x10420111, 0x10430111, 0x10440111, 0x10450111, 0x10460111, 0xffffffff,
    +    0x10470111, 0xffffffff, 0x10480111, 0x10490111, 0x104a0111, 0x104b0111, 0xffffffff, 0xffffffff,
    +    0x104c0111, 0x104d0111, 0x104e0111, 0x104f0111, 0x10500111, 0x10510111, 0x10520111, 0xffffffff,
    +    0x10530111, 0x10540111, 0x10550111, 0x10560111, 0x10570111, 0x10580111, 0x10590111, 0xffffffff,
    +    0x105a0111, 0x105b0111, 0x105c0111, 0x105d0111, 0x105e0111, 0x105f0111, 0x10600111, 0x10610111,
    +    0x10620111, 0x10630111, 0x10640111, 0x10650111, 0x10660111, 0x10670111, 0x10680111, 0x10690111,
    +    0x106a0111, 0x106b0111, 0x106c0111, 0x106d0111, 0x106e0111, 0x106f0111, 0x10700111, 0xffffffff,
    +    0x10710111, 0x10720111, 0x10730111, 0x10740111, 0x10750111, 0x10760111, 0x10770111, 0x10780111,
    +    0x10790111, 0x107a0111, 0x107b0111, 0x107c0111, 0x107d0111, 0x107e0111, 0x107f0111, 0x10800111,
    +    /* 0x1300 .. 0x13ff */
    +    0x10810111, 0x10820111, 0x10830111, 0x10840111, 0x10850111, 0x10860111, 0x10870111, 0x10880111,
    +    0x10890111, 0x108a0111, 0x108b0111, 0x108c0111, 0x108d0111, 0x108e0111, 0x108f0111, 0xffffffff,
    +    0x10900111, 0xffffffff, 0x10910111, 0x10920111, 0x10930111, 0x10940111, 0xffffffff, 0xffffffff,
    +    0x10950111, 0x10960111, 0x10970111, 0x10980111, 0x10990111, 0x109a0111, 0x109b0111, 0xffffffff,
    +    0x109c0111, 0x109d0111, 0x109e0111, 0x109f0111, 0x10a00111, 0x10a10111, 0x10a20111, 0x10a30111,
    +    0x10a40111, 0x10a50111, 0x10a60111, 0x10a70111, 0x10a80111, 0x10a90111, 0x10aa0111, 0x10ab0111,
    +    0x10ac0111, 0x10ad0111, 0x10ae0111, 0x10af0111, 0x10b00111, 0x10b10111, 0x10b20111, 0x10b30111,
    +    0x10b40111, 0x10b50111, 0x10b60111, 0x10b70111, 0x10b80111, 0x10b90111, 0x10ba0111, 0x10bb0111,
    +    0x10bc0111, 0x10bd0111, 0x10be0111, 0x10bf0111, 0x10c00111, 0x10c10111, 0x10c20111, 0xffffffff,
    +    0x10c30111, 0x10c40111, 0x10c50111, 0x10c60111, 0x10c70111, 0x10c80111, 0x10c90111, 0x10ca0111,
    +    0x10cb0111, 0x10cc0111, 0x10cd0111, 0x10ce0111, 0x10cf0111, 0x10d00111, 0x10d10111, 0x10d20111,
    +    0x10d30111, 0x10d40111, 0x10d50111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x023f0111, 0x025a0111, 0x02400111, 0x02410111, 0x02420111, 0x02430111, 0x02530111,
    +    0x02680111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x09c60111, 0x09c70111, 0x09c80111, 0x09c90111, 0x09ca0111, 0x09cb0111,
    +    0x09cc0111, 0x09cd0111, 0x09ce0111, 0x09cf0111, 0x09d00111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x15280111, 0x15290111, 0x152a0111, 0x152b0111, 0x152c0111, 0x152d0111, 0x152e0111, 0x152f0111,
    +    0x15300111, 0x15310111, 0x15320111, 0x15330111, 0x15340111, 0x15350111, 0x15360111, 0x15370111,
    +    0x15380111, 0x15390111, 0x153a0111, 0x153b0111, 0x153c0111, 0x153d0111, 0x153e0111, 0x153f0111,
    +    0x15400111, 0x15410111, 0x15420111, 0x15430111, 0x15440111, 0x15450111, 0x15460111, 0x15470111,
    +    0x15480111, 0x15490111, 0x154a0111, 0x154b0111, 0x154c0111, 0x154d0111, 0x154e0111, 0x154f0111,
    +    0x15500111, 0x15510111, 0x15520111, 0x15530111, 0x15540111, 0x15550111, 0x15560111, 0x15570111,
    +    0x15580111, 0x15590111, 0x155a0111, 0x155b0111, 0x155c0111, 0x155d0111, 0x155e0111, 0x155f0111,
    +    0x15600111, 0x15610111, 0x15620111, 0x15630111, 0x15640111, 0x15650111, 0x15660111, 0x15670111,
    +    0x15680111, 0x15690111, 0x156a0111, 0x156b0111, 0x156c0111, 0x156d0111, 0x156e0111, 0x156f0111,
    +    0x15700111, 0x15710111, 0x15720111, 0x15730111, 0x15740111, 0x15750111, 0x15760111, 0x15770111,
    +    0x15780111, 0x15790111, 0x157a0111, 0x157b0111, 0x157c0111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1400 .. 0x14ff */
    +    0xffffffff, 0x157d0111, 0x157e0111, 0x157f0111, 0x15800111, 0x15810111, 0x15820111, 0x15830111,
    +    0x15840111, 0x15850111, 0x15860111, 0x15870111, 0x15880111, 0x15890111, 0x158a0111, 0x158b0111,
    +    0x158c0111, 0x158d0111, 0x158e0111, 0x158f0111, 0x15900111, 0x15910111, 0x15920111, 0x15930111,
    +    0x15940111, 0x15950111, 0x15960111, 0x15970111, 0x15980111, 0x15990111, 0x159a0111, 0x159b0111,
    +    0x159c0111, 0x159d0111, 0x159e0111, 0x159f0111, 0x15a00111, 0x15a10111, 0x15a20111, 0x15a30111,
    +    0x15a40111, 0x15a50111, 0x15a60111, 0x15a70111, 0x15a80111, 0x15a90111, 0x15aa0111, 0x15ab0111,
    +    0x15ac0111, 0x15ad0111, 0x15ae0111, 0x15af0111, 0x15b00111, 0x15b10111, 0x15b20111, 0x15b30111,
    +    0x15b40111, 0x15b50111, 0x15b60111, 0x15b70111, 0x15b80111, 0x15b90111, 0x15ba0111, 0x15bb0111,
    +    0x15bc0111, 0x15bd0111, 0x15be0111, 0x15bf0111, 0x15c00111, 0x15c10111, 0x15c20111, 0x15c30111,
    +    0x15c40111, 0x15c50111, 0x15c60111, 0x15c70111, 0x15c80111, 0x15c90111, 0x15ca0111, 0x15cb0111,
    +    0x15cc0111, 0x15cd0111, 0x15ce0111, 0x15cf0111, 0x15d00111, 0x15d10111, 0x15d20111, 0x15d30111,
    +    0x15d40111, 0x15d50111, 0x15d60111, 0x15d70111, 0x15d80111, 0x15d90111, 0x15da0111, 0x15db0111,
    +    0x15dc0111, 0x15dd0111, 0x15de0111, 0x15df0111, 0x15e00111, 0x15e10111, 0x15e20111, 0x15e30111,
    +    0x15e40111, 0x15e50111, 0x15e60111, 0x15e70111, 0x15e80111, 0x15e90111, 0x15ea0111, 0x15eb0111,
    +    0x15ec0111, 0x15ed0111, 0x15ee0111, 0x15ef0111, 0x15f00111, 0x15f10111, 0x15f20111, 0x15f30111,
    +    0x15f40111, 0x15f50111, 0x15f60111, 0x15f70111, 0x15f80111, 0x15f90111, 0x15fa0111, 0x15fb0111,
    +    0x15fc0111, 0x15fd0111, 0x15fe0111, 0x15ff0111, 0x16000111, 0x16010111, 0x16020111, 0x16030111,
    +    0x16040111, 0x16050111, 0x16060111, 0x16070111, 0x16080111, 0x16090111, 0x160a0111, 0x160b0111,
    +    0x160c0111, 0x160d0111, 0x160e0111, 0x160f0111, 0x16100111, 0x16110111, 0x16120111, 0x16130111,
    +    0x16140111, 0x16150111, 0x16160111, 0x16170111, 0x16180111, 0x16190111, 0x161a0111, 0x161b0111,
    +    0x161c0111, 0x161d0111, 0x161e0111, 0x161f0111, 0x16200111, 0x16210111, 0x16220111, 0x16230111,
    +    0x16240111, 0x16250111, 0x16260111, 0x16270111, 0x16280111, 0x16290111, 0x162a0111, 0x162b0111,
    +    0x162c0111, 0x162d0111, 0x162e0111, 0x162f0111, 0x16300111, 0x16310111, 0x16320111, 0x16330111,
    +    0x16340111, 0x16350111, 0x16360111, 0x16370111, 0x16380111, 0x16390111, 0x163a0111, 0x163b0111,
    +    0x163c0111, 0x163d0111, 0x163e0111, 0x163f0111, 0x16400111, 0x16410111, 0x16420111, 0x16430111,
    +    0x16440111, 0x16450111, 0x16460111, 0x16470111, 0x16480111, 0x16490111, 0x164a0111, 0x164b0111,
    +    0x164c0111, 0x164d0111, 0x164e0111, 0x164f0111, 0x16500111, 0x16510111, 0x16520111, 0x16530111,
    +    0x16540111, 0x16550111, 0x16560111, 0x16570111, 0x16580111, 0x16590111, 0x165a0111, 0x165b0111,
    +    0x165c0111, 0x165d0111, 0x165e0111, 0x165f0111, 0x16600111, 0x16610111, 0x16620111, 0x16630111,
    +    0x16640111, 0x16650111, 0x16660111, 0x16670111, 0x16680111, 0x16690111, 0x166a0111, 0x166b0111,
    +    0x166c0111, 0x166d0111, 0x166e0111, 0x166f0111, 0x16700111, 0x16710111, 0x16720111, 0x16730111,
    +    0x16740111, 0x16750111, 0x16760111, 0x16770111, 0x16780111, 0x16790111, 0x167a0111, 0x167b0111,
    +    /* 0x1500 .. 0x15ff */
    +    0x167c0111, 0x167d0111, 0x167e0111, 0x167f0111, 0x16800111, 0x16810111, 0x16820111, 0x16830111,
    +    0x16840111, 0x16850111, 0x16860111, 0x16870111, 0x16880111, 0x16890111, 0x168a0111, 0x168b0111,
    +    0x168c0111, 0x168d0111, 0x168e0111, 0x168f0111, 0x16900111, 0x16910111, 0x16920111, 0x16930111,
    +    0x16940111, 0x16950111, 0x16960111, 0x16970111, 0x16980111, 0x16990111, 0x169a0111, 0x169b0111,
    +    0x169c0111, 0x169d0111, 0x169e0111, 0x169f0111, 0x16a00111, 0x16a10111, 0x16a20111, 0x16a30111,
    +    0x16a40111, 0x16a50111, 0x16a60111, 0x16a70111, 0x16a80111, 0x16a90111, 0x16aa0111, 0x16ab0111,
    +    0x16ac0111, 0x16ad0111, 0x16ae0111, 0x16af0111, 0x16b00111, 0x16b10111, 0x16b20111, 0x16b30111,
    +    0x16b40111, 0x16b50111, 0x16b60111, 0x16b70111, 0x16b80111, 0x16b90111, 0x16ba0111, 0x16bb0111,
    +    0x16bc0111, 0x16bd0111, 0x16be0111, 0x16bf0111, 0x16c00111, 0x16c10111, 0x16c20111, 0x16c30111,
    +    0x16c40111, 0x16c50111, 0x16c60111, 0x16c70111, 0x16c80111, 0x16c90111, 0x16ca0111, 0x16cb0111,
    +    0x16cc0111, 0x16cd0111, 0x16ce0111, 0x16cf0111, 0x16d00111, 0x16d10111, 0x16d20111, 0x16d30111,
    +    0x16d40111, 0x16d50111, 0x16d60111, 0x16d70111, 0x16d80111, 0x16d90111, 0x16da0111, 0x16db0111,
    +    0x16dc0111, 0x16dd0111, 0x16de0111, 0x16df0111, 0x16e00111, 0x16e10111, 0x16e20111, 0x16e30111,
    +    0x16e40111, 0x16e50111, 0x16e60111, 0x16e70111, 0x16e80111, 0x16e90111, 0x16ea0111, 0x16eb0111,
    +    0x16ec0111, 0x16ed0111, 0x16ee0111, 0x16ef0111, 0x16f00111, 0x16f10111, 0x16f20111, 0x16f30111,
    +    0x16f40111, 0x16f50111, 0x16f60111, 0x16f70111, 0x172a0111, 0x16f80111, 0x16fa0111, 0x16fb0111,
    +    0x16fc0111, 0x16fd0111, 0x16fe0111, 0x16ff0111, 0x17000111, 0x17010111, 0x17020111, 0x17030111,
    +    0x17040111, 0x17050111, 0x17060111, 0x17070111, 0x17080111, 0x17090111, 0x170b0111, 0x170c0111,
    +    0x170d0111, 0x170e0111, 0x170f0111, 0x17100111, 0x17110111, 0x17120111, 0x17190111, 0x171a0111,
    +    0x171b0111, 0x171c0111, 0x171d0111, 0x171e0111, 0x171f0111, 0x17200111, 0x17210111, 0x17220111,
    +    0x17230111, 0x17240111, 0x17250111, 0x17260111, 0x17270111, 0x17280111, 0x17290111, 0x172b0111,
    +    0x172c0111, 0x172d0111, 0x172e0111, 0x172f0111, 0x17300111, 0x17310111, 0x17320111, 0x17330111,
    +    0x17340111, 0x17350111, 0x17360111, 0x17370111, 0x17380111, 0x17390111, 0x173a0111, 0x173b0111,
    +    0x173c0111, 0x173d0111, 0x173e0111, 0x173f0111, 0x17400111, 0x17410111, 0x17420111, 0x17430111,
    +    0x17440111, 0x17450111, 0x17460111, 0x17470111, 0x17480111, 0x17490111, 0x174a0111, 0x174b0111,
    +    0x174c0111, 0x174d0111, 0x174e0111, 0x174f0111, 0x17500111, 0x17510111, 0x17520111, 0x17530111,
    +    0x17540111, 0x17550111, 0x17560111, 0x17570111, 0x17580111, 0x17590111, 0x175a0111, 0x175b0111,
    +    0x175c0111, 0x175d0111, 0x175e0111, 0x175f0111, 0x17600111, 0x17610111, 0x17620111, 0x17630111,
    +    0x17640111, 0x17650111, 0x17660111, 0x17670111, 0x17680111, 0x17690111, 0x176a0111, 0x176b0111,
    +    0x176c0111, 0x176d0111, 0x176e0111, 0x176f0111, 0x17700111, 0x17710111, 0x17720111, 0x17730111,
    +    0x17740111, 0x17750111, 0x17760111, 0x17770111, 0x17780111, 0x17790111, 0x177a0111, 0x177b0111,
    +    0x177c0111, 0x177d0111, 0x177e0111, 0x177f0111, 0x17800111, 0x17810111, 0x17820111, 0x17830111,
    +    /* 0x1600 .. 0x16ff */
    +    0x17840111, 0x17850111, 0x17860111, 0x17870111, 0x17880111, 0x17890111, 0x178a0111, 0x178b0111,
    +    0x178c0111, 0x178d0111, 0x178e0111, 0x178f0111, 0x17900111, 0x17910111, 0x17920111, 0x17930111,
    +    0x17940111, 0x17950111, 0x17960111, 0x17970111, 0x17980111, 0x17990111, 0x179a0111, 0x179b0111,
    +    0x179c0111, 0x179d0111, 0x179e0111, 0x179f0111, 0x17a00111, 0x17a10111, 0x17a20111, 0x17a30111,
    +    0x17a40111, 0x17a50111, 0x17a60111, 0x17a70111, 0x17a80111, 0x17a90111, 0x17aa0111, 0x17ab0111,
    +    0x17ac0111, 0x17ad0111, 0x17ae0111, 0x17af0111, 0x17b00111, 0x17b10111, 0x17b20111, 0x17b30111,
    +    0x17b40111, 0x17b50111, 0x17b60111, 0x17b70111, 0x17b80111, 0x17b90111, 0x17ba0111, 0x17bb0111,
    +    0x17bc0111, 0x17bd0111, 0x17be0111, 0x17bf0111, 0x17c00111, 0x17c10111, 0x17c20111, 0x17c30111,
    +    0x17c40111, 0x17c50111, 0x17c60111, 0x17c70111, 0x17c80111, 0x17c90111, 0x17ca0111, 0x17cb0111,
    +    0x17cc0111, 0x17cd0111, 0x17ce0111, 0x17cf0111, 0x17d00111, 0x17d10111, 0x17d20111, 0x17d30111,
    +    0x17d40111, 0x17d50111, 0x17d60111, 0x17d70111, 0x17d80111, 0x17d90111, 0x17da0111, 0x17db0111,
    +    0x17dc0111, 0x17dd0111, 0x17de0111, 0x17df0111, 0x17e00111, 0x17e10111, 0x17e20111, 0x17e30111,
    +    0x17e40111, 0x17e50111, 0x17e60111, 0x17e70111, 0x17e80111, 0x17e90111, 0x17ea0111, 0x17eb0111,
    +    0x17ec0111, 0x17ed0111, 0x17ee0111, 0x17ef0111, 0x17f00111, 0x03310111, 0x025d0111, 0x16f90111,
    +    0x170a0111, 0x17130111, 0x17140111, 0x17150111, 0x17160111, 0x17170111, 0x17180111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x020a0111, 0x17f10111, 0x17f20111, 0x17f30111, 0x17f40111, 0x17f50111, 0x17f60111, 0x17f70111,
    +    0x17f80111, 0x17f90111, 0x17fa0111, 0x17fb0111, 0x17fc0111, 0x17fd0111, 0x17fe0111, 0x17ff0111,
    +    0x18000111, 0x18010111, 0x18020111, 0x18030111, 0x18040111, 0x18050111, 0x18060111, 0x18070111,
    +    0x18080111, 0x18090111, 0x180a0111, 0x02840111, 0x02850111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x180b0111, 0x180b0121, 0x180c0111, 0x18280111, 0x180c0121, 0x180c0121, 0x180d0111, 0x180d0121,
    +    0x180e0111, 0x180e0121, 0x18260111, 0x18270111, 0x180e0121, 0x180e0121, 0x180e0121, 0x180f0111,
    +    0x18100111, 0x18110111, 0x18120111, 0x18120121, 0x18120121, 0x18120121, 0x18120121, 0x18130111,
    +    0x182b0111, 0x18140111, 0x18150111, 0x18150121, 0x18150121, 0x18150121, 0x18160111, 0x18160121,
    +    0x18160121, 0x18170111, 0x18170121, 0x18180111, 0x18180121, 0x18190111, 0x18190121, 0x181a0111,
    +    0x181b0111, 0x181c0111, 0x181d0111, 0x181d0121, 0x181d0121, 0x181d0121, 0x181d0121, 0x181e0111,
    +    0x181e0121, 0x181e0121, 0x181f0111, 0x181f0121, 0x181f0121, 0x181b0121, 0x18200111, 0x18210111,
    +    0x18210121, 0x18210121, 0x18220111, 0x18220121, 0x18230111, 0x18230121, 0x18240111, 0x18250111,
    +    0x18290111, 0x182d0111, 0x182e0111, 0x182a0111, 0x182c0111, 0x182f0111, 0x18300111, 0x18300121,
    +    0x18300121, 0x18140121, 0x181d0121, 0x02480111, 0x02490111, 0x024a0111, 0x18190121, 0x18210121,
    +    0x180d0121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1700 .. 0x17ff */
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x145f0111, 0x14600111, 0x14610111, 0x14620111, 0x14630111, 0x14640111, 0x14650111, 0x14660111,
    +    0x14670111, 0x14680111, 0x14690111, 0x146a0111, 0x146b0111, 0x146c0111, 0x146d0111, 0x146e0111,
    +    0x146f0111, 0x14700111, 0x14710111, 0x14720111, 0x14730111, 0x14740111, 0x14750111, 0x14760111,
    +    0x14770111, 0x14780111, 0x14790111, 0x147a0111, 0x147b0111, 0x147c0111, 0x147d0111, 0x147e0111,
    +    0x147f0111, 0x14800111, 0x14810111, 0x14820111, 0x14830111, 0x14840111, 0x14850111, 0x14860111,
    +    0x14870111, 0x14880111, 0x14890111, 0x148a0111, 0x148b0111, 0x148c0111, 0x148d0111, 0x148e0111,
    +    0x148f0111, 0x14900111, 0x14910111, 0x14920111, 0x14930111, 0x14940111, 0x14950111, 0x14960111,
    +    0x14970111, 0x14980111, 0x14990111, 0x149a0111, 0x149b0111, 0x149c0111, 0x149d0111, 0x149e0111,
    +    0x149f0111, 0x14a00111, 0x14a10111, 0x14a20111, 0x14a30111, 0x14a40111, 0x0000cf11, 0x0000d011,
    +    0x0000d111, 0x0000d211, 0x0000d311, 0x0000d411, 0x0000d511, 0x0000d611, 0x0000d711, 0x0000d811,
    +    0x0000d911, 0x0000da11, 0x14a50111, 0x0000db11, 0x02640111, 0x02650111, 0x02470111, 0x02e40111,
    +    0x02e50111, 0x02e60111, 0x02e70111, 0x09e60111, 0x02e80111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1800 .. 0x18ff */
    +    0x02cb0111, 0x02560111, 0x02320111, 0x025b0111, 0x02440111, 0x02450111, 0x02230111, 0x02240111,
    +    0x02330111, 0x025c0111, 0x02cc0111, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
    +    0x0a0b0111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x14ae0111, 0x14b00111, 0x14b30111, 0x14b90111, 0x14bb0111, 0x14be0111, 0x14c00111, 0x14c30111,
    +    0x14c40111, 0x14c50111, 0x14ca0111, 0x14cc0111, 0x14cf0111, 0x14d10111, 0x14d60111, 0x14d80111,
    +    0x14d90111, 0x14da0111, 0x14e10111, 0x14e40111, 0x14e70111, 0x14ec0111, 0x14f00111, 0x14f30111,
    +    0x14f50111, 0x14f70111, 0x14fa0111, 0x14ff0111, 0x15000111, 0x15030111, 0x15070111, 0x150a0111,
    +    0x150b0111, 0x150c0111, 0x150d0111, 0x14ad0111, 0x14b10111, 0x14b40111, 0x14ba0111, 0x14bc0111,
    +    0x14bf0111, 0x14c10111, 0x14c60111, 0x14cb0111, 0x14cd0111, 0x14d00111, 0x14d20111, 0x14d70111,
    +    0x14e20111, 0x14e50111, 0x14e80111, 0x14ed0111, 0x15010111, 0x14f10111, 0x14f60111, 0x14fb0111,
    +    0x15050111, 0x15080111, 0x150e0111, 0x150f0111, 0x14ea0111, 0x14b20111, 0x14b50111, 0x14b80111,
    +    0x14c20111, 0x14bd0111, 0x14c70111, 0x14fc0111, 0x14d30111, 0x14d50111, 0x14ce0111, 0x14db0111,
    +    0x14e30111, 0x14e60111, 0x14ee0111, 0x14f80111, 0x15060111, 0x15090111, 0x15020111, 0x15040111,
    +    0x15100111, 0x14e90111, 0x14f20111, 0x14b60111, 0x14fd0111, 0x14f40111, 0x14f90111, 0x14ef0111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x14a60111, 0x14a70111, 0x14a80111, 0x14a90111, 0x14aa0111, 0x14ab0111, 0x14ac0111, 0x14af0111,
    +    0x14b70111, 0x14fe0111, 0x14c80111, 0x14eb0111, 0x15110111, 0x15130111, 0x15140111, 0x15160111,
    +    0x15170111, 0x151a0111, 0x151c0111, 0x151d0111, 0x151f0111, 0x15210111, 0x15230111, 0x15240111,
    +    0x15180111, 0x15220111, 0x14d40111, 0x14c90111, 0x14dc0111, 0x14dd0111, 0x15120111, 0x15150111,
    +    0x15190111, 0x151b0111, 0x14de0111, 0x15200111, 0x14df0111, 0x14e00111, 0x15250111, 0x15260111,
    +    0x151e0111, 0x15270111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1e00 .. 0x1eff */
    +    0x0a150151, 0x0a150111, 0x0a290141, 0x0a290111, 0x0a290141, 0x0a290111, 0x0a290141, 0x0a290111,
    +    0x0a3d0151, 0x0a3d0111, 0x0a490151, 0x0a490111, 0x0a490151, 0x0a490111, 0x0a490151, 0x0a490111,
    +    0x0a490151, 0x0a490111, 0x0a490151, 0x0a490111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    +    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a910151, 0x0a910111,
    +    0x0a990151, 0x0a990111, 0x0ab90151, 0x0ab90111, 0x0ab90151, 0x0ab90111, 0x0ab90151, 0x0ab90111,
    +    0x0ab90151, 0x0ab90111, 0x0ab90151, 0x0ab90111, 0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111,
    +    0x0af70141, 0x0af70111, 0x0af70141, 0x0af70111, 0x0af70141, 0x0af70111, 0x0b030161, 0x0b030111,
    +    0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b030161, 0x0b030111, 0x0b2b0151, 0x0b2b0111,
    +    0x0b2b0151, 0x0b2b0111, 0x0b2b0151, 0x0b2b0111, 0x0b330151, 0x0b330111, 0x0b330151, 0x0b330111,
    +    0x0b330151, 0x0b330111, 0x0b330151, 0x0b330111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    +    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b670141, 0x0b670111, 0x0b670141, 0x0b670111,
    +    0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111, 0x0b7f0141, 0x0b7f0111,
    +    0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111, 0x0ba70151, 0x0ba70111,
    +    0x0ba70151, 0x0ba70111, 0x0bbf0151, 0x0bbf0111, 0x0bbf0151, 0x0bbf0111, 0x0bbf0151, 0x0bbf0111,
    +    0x0bbf0151, 0x0bbf0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    +    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bef0151, 0x0bef0111, 0x0bef0151, 0x0bef0111,
    +    0x0bfb0141, 0x0bfb0111, 0x0bfb0141, 0x0bfb0111, 0x0bfb0141, 0x0bfb0111, 0x0bfb0141, 0x0bfb0111,
    +    0x0bfb0141, 0x0bfb0111, 0x0c030151, 0x0c030111, 0x0c030151, 0x0c030111, 0x0c070141, 0x0c070111,
    +    0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0c130141, 0x0c130111, 0x0ab90111, 0x0bbf0111,
    +    0x0bfb0111, 0x0c070111, 0x0a150131, 0x0ba70131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111,
    +    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111,
    +    0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111, 0x0a150151, 0x0a150111,
    +    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    +    0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111, 0x0a650151, 0x0a650111,
    +    0x0ad30161, 0x0ad30111, 0x0ad30161, 0x0ad30111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    +    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    +    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111,
    +    0x0b4b0161, 0x0b4b0111, 0x0b4b0161, 0x0b4b0111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    +    0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111, 0x0bd70141, 0x0bd70111,
    +    0x0bd70141, 0x0bd70111, 0x0c070141, 0x0c070111, 0x0c070141, 0x0c070111, 0x0c070141, 0x0c070111,
    +    0x0c070141, 0x0c070111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x1f00 .. 0x1fff */
    +    0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111,
    +    0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121,
    +    0x0c950111, 0x0c950111, 0x0c950111, 0x0c950111, 0x0c950111, 0x0c950111, 0xffffffff, 0xffffffff,
    +    0x0c950131, 0x0c950131, 0x0c950131, 0x0c950131, 0x0c950131, 0x0c950131, 0xffffffff, 0xffffffff,
    +    0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111,
    +    0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121,
    +    0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111,
    +    0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121,
    +    0x0ca20111, 0x0ca20111, 0x0ca20111, 0x0ca20111, 0x0ca20111, 0x0ca20111, 0xffffffff, 0xffffffff,
    +    0x0ca20121, 0x0ca20121, 0x0ca20121, 0x0ca20121, 0x0ca20121, 0x0ca20121, 0xffffffff, 0xffffffff,
    +    0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111,
    +    0xffffffff, 0x0ca80121, 0xffffffff, 0x0ca80121, 0xffffffff, 0x0ca80121, 0xffffffff, 0x0ca80121,
    +    0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111,
    +    0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121,
    +    0x0c910111, 0x0c910111, 0x0c950111, 0x0c950111, 0x0c990111, 0x0c990111, 0x0c9b0111, 0x0c9b0111,
    +    0x0ca20111, 0x0ca20111, 0x0ca80111, 0x0ca80111, 0x0cac0111, 0x0cac0111, 0xffffffff, 0xffffffff,
    +    0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111,
    +    0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121,
    +    0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111, 0x0c990111,
    +    0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121, 0x0c990121,
    +    0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0x0cac0111,
    +    0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x0cac0121,
    +    0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0x0c910111, 0xffffffff, 0x0c910111, 0x0c910111,
    +    0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x0c910121, 0x02170111, 0x0c9b0111, 0x02170111,
    +    0x021d0111, 0x02140111, 0x0c990111, 0x0c990111, 0x0c990111, 0xffffffff, 0x0c990111, 0x0c990111,
    +    0x0c950131, 0x0c950131, 0x0c990121, 0x0c990121, 0x0c990121, 0x02170111, 0x02170111, 0x02170111,
    +    0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0x0c9b0111, 0xffffffff, 0xffffffff, 0x0c9b0111, 0x0c9b0111,
    +    0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0x0c9b0121, 0xffffffff, 0x02180111, 0x02180111, 0x02180111,
    +    0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca80111, 0x0ca50111, 0x0ca50111, 0x0ca80111, 0x0ca80111,
    +    0x0ca80121, 0x0ca80121, 0x0ca80121, 0x0ca80121, 0x0ca50131, 0x02140111, 0x02140111, 0x020c0111,
    +    0xffffffff, 0xffffffff, 0x0cac0111, 0x0cac0111, 0x0cac0111, 0xffffffff, 0x0cac0111, 0x0cac0111,
    +    0x0ca20121, 0x0ca20121, 0x0cac0121, 0x0cac0121, 0x0cac0121, 0x020d0111, 0x02180111, 0xffffffff,
    +    /* 0x2000 .. 0x20ff */
    +    0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090131, 0x02090141,
    +    0x02090131, 0x02090131, 0x02090131, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x02250111, 0x02250121, 0x02260111, 0x02270111, 0x02280111, 0x02290111, 0x03a90111, 0x021c0111,
    +    0x026a0111, 0x026b0111, 0x026c0111, 0x026d0111, 0x02710111, 0x02720111, 0x02730111, 0x02740111,
    +    0x02ae0111, 0x02af0111, 0x02b00111, 0x02b10111, 0x02550131, 0x02550131, 0x02550131, 0x02b20111,
    +    0x02070111, 0x02080111, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02090141,
    +    0x02ac0111, 0x02ad0111, 0x02b60111, 0x02b60121, 0x02b60121, 0x02b70111, 0x02b70121, 0x02b70121,
    +    0x02b90111, 0x026e0111, 0x026f0111, 0x02ba0111, 0x024b0131, 0x02540111, 0x02110111, 0x02bb0111,
    +    0x02bc0111, 0x02bd0111, 0x02be0111, 0x02b30111, 0x02a50111, 0x02860111, 0x02870111, 0xffffffff,
    +    0x024e0131, 0x024b0131, 0x02a80111, 0x029e0111, 0x02b40111, 0x02b50111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    +    0x0a0b0151, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0f0151, 0x0a100151, 0x0a110151, 0x0a120151,
    +    0x0a130151, 0x0a140151, 0x039f0151, 0x03ab0121, 0x03a40141, 0x027a0151, 0x027b0141, 0x0b3301a1,
    +    0x0a0b0161, 0x0a0c0161, 0x0a0d0161, 0x0a0e0161, 0x0a0f0161, 0x0a100161, 0x0a110161, 0x0a120161,
    +    0x0a130161, 0x0a140161, 0x039f0161, 0x03ab0131, 0x03a40151, 0x027a0161, 0x027b0151, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x09e70111, 0x09e80111, 0x09e90111, 0x09ea0111, 0x09eb0111, 0x09ec0111, 0x09ed0111, 0x09ee0111,
    +    0x0b7f0161, 0x09ef0111, 0x09f00111, 0x09f10111, 0x09f20111, 0x09f30111, 0x09f40111, 0x09f50111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0000e411, 0x0000e511, 0x0000e611, 0x0000e711, 0x0000e811, 0x0000e911, 0x0000ea11, 0x0000eb11,
    +    0x0000ec11, 0x0000ed11, 0x0000ee11, 0x0000ef11, 0x0000f011, 0x0000f111, 0x0000f211, 0x0000f311,
    +    0x0000f411, 0x0000f511, 0x0000f611, 0x0000f711, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2100 .. 0x21ff */
    +    0x0a150131, 0x0a150131, 0x0a3d0181, 0x030a0121, 0x09f60111, 0x0a3d0131, 0x0a3d0131, 0x0a710131,
    +    0x09f70111, 0x030a0121, 0x0a990131, 0x0ab90171, 0x0ab90171, 0x0ab90171, 0x0ab90131, 0x0ac50121,
    +    0x0ad30191, 0x0ad30191, 0x0b030191, 0x0b030141, 0x09f80111, 0x0b330181, 0x0b330171, 0x09f90111,
    +    0x09fa0111, 0x0b670161, 0x0b730161, 0x0b7f0171, 0x0b7f0171, 0x0b7f0171, 0x09fb0111, 0x09fc0111,
    +    0x0ba70181, 0x0bbf0171, 0x0bbf0191, 0x09fd0111, 0x0c130161, 0x09fe0111, 0x0cac0121, 0x09ff0111,
    +    0x0c130161, 0x0a000111, 0x0af70141, 0x0a150151, 0x0a290161, 0x0a3d0181, 0x0a010111, 0x0a650131,
    +    0x0a650171, 0x0a910171, 0x0a020111, 0x0b2b0181, 0x0b4b0141, 0x0eb70121, 0x0eb80121, 0x0eb90121,
    +    0x0eba0121, 0x0ad30141, 0x0a030111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0x0a0c0171, 0x0a0d0171, 0x0a0c0171, 0x0a0d0171, 0x0a0e0171,
    +    0x0a0f0171, 0x0a0c0171, 0x0a100171, 0x0a0c0171, 0x0a0e0171, 0x0a100171, 0x0a120171, 0x0a0c0171,
    +    0x0ad30181, 0x0ad30181, 0x0ad30181, 0x0ad30181, 0x0bef0171, 0x0bef0171, 0x0bef0171, 0x0bef0171,
    +    0x0ad30181, 0x0c030171, 0x0c030171, 0x0c030171, 0x0b030181, 0x0a3d0171, 0x0a490171, 0x0b2b0171,
    +    0x0ad30131, 0x0ad30131, 0x0ad30131, 0x0ad30131, 0x0bef0131, 0x0bef0131, 0x0bef0131, 0x0bef0131,
    +    0x0ad30131, 0x0c030131, 0x0c030131, 0x0c030131, 0x0b030131, 0x0a3d0131, 0x0a490131, 0x0b2b0131,
    +    0x0a040111, 0x0a050111, 0x0a060111, 0x0a070111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x03320111, 0x03340111, 0x03330111, 0x03350111, 0x03360111, 0x03370111, 0x03380111, 0x03390111,
    +    0x033a0111, 0x033b0111, 0x03320111, 0x03330111, 0x033c0111, 0x033d0111, 0x033e0111, 0x033f0111,
    +    0x03400111, 0x03410111, 0x03420111, 0x03430111, 0x03440111, 0x03450111, 0x03460111, 0x03470111,
    +    0x03480111, 0x03490111, 0x034a0111, 0x034b0111, 0x034c0111, 0x034d0111, 0x03360111, 0x034e0111,
    +    0x034f0111, 0x03500111, 0x03510111, 0x03520111, 0x03530111, 0x03540111, 0x03550111, 0x03560111,
    +    0x03570111, 0x03580111, 0x03590111, 0x035a0111, 0x035b0111, 0x035c0111, 0x035d0111, 0x035e0111,
    +    0x035f0111, 0x03600111, 0x03610111, 0x03620111, 0x03630111, 0x03640111, 0x03650111, 0x03660111,
    +    0x03670111, 0x03680111, 0x03690111, 0x036a0111, 0x036b0111, 0x036c0111, 0x03700111, 0x036e0111,
    +    0x036c0111, 0x036d0111, 0x036e0111, 0x036f0111, 0x03700111, 0x03710111, 0x03720111, 0x03730111,
    +    0x03740111, 0x03750111, 0x03760111, 0x03770111, 0x03780111, 0x03790111, 0x037a0111, 0x037b0111,
    +    0x037c0111, 0x037d0111, 0x037e0111, 0x037f0111, 0x03800111, 0x03810111, 0x03820111, 0x03830111,
    +    0x03840111, 0x03850111, 0x03860111, 0x03870111, 0x03880111, 0x03890111, 0x038a0111, 0x038b0111,
    +    0x038c0111, 0x038d0111, 0x038e0111, 0x038f0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2200 .. 0x22ff */
    +    0x03900111, 0x03910111, 0x03920111, 0x03930111, 0x03930111, 0x03940111, 0x03950111, 0x03960111,
    +    0x03970111, 0x03970111, 0x03980111, 0x03990111, 0x03990111, 0x039a0111, 0x039b0111, 0x039c0111,
    +    0x039d0111, 0x039e0111, 0x03ab0111, 0x03ac0111, 0x03ad0111, 0x03ae0111, 0x03af0111, 0x03b00111,
    +    0x03b10111, 0x03b20111, 0x03b30111, 0x03b40111, 0x03b50111, 0x03b60111, 0x03b70111, 0x03b80111,
    +    0x03b90111, 0x03ba0111, 0x03bb0111, 0x03bc0111, 0x03bc0111, 0x03bd0111, 0x03bd0111, 0x03be0111,
    +    0x03bf0111, 0x03c00111, 0x03c10111, 0x03c20111, 0x03c20121, 0x03c20121, 0x03c30111, 0x03c30121,
    +    0x03c30121, 0x03c40111, 0x03c50111, 0x03c60111, 0x03c70111, 0x03c80111, 0x03c90111, 0x03ca0111,
    +    0x03cb0111, 0x03cc0111, 0x03cd0111, 0x03ce0111, 0x03cf0111, 0x03d00111, 0x03d10111, 0x03d20111,
    +    0x03d30111, 0x03cf0111, 0x03d40111, 0x03d50111, 0x03d50111, 0x03d60111, 0x03d70111, 0x03d60111,
    +    0x03d80111, 0x03d80111, 0x03d90111, 0x03da0111, 0x03db0111, 0x03dc0111, 0x03dd0111, 0x03de0111,
    +    0x03df0111, 0x03e00111, 0x03e10111, 0x03e20111, 0x03e30111, 0x03e40111, 0x03e50111, 0x03e60111,
    +    0x03e70111, 0x03e80111, 0x03e90111, 0x03ea0111, 0x03eb0111, 0x03ec0111, 0x03ed0111, 0x03ee0111,
    +    0x03a40111, 0x03ef0111, 0x03ef0111, 0x03f00111, 0x03f10111, 0x03f20111, 0x03f30111, 0x03f40111,
    +    0x03f50111, 0x03f60111, 0x03f70111, 0x03f80111, 0x03f90111, 0x03dc0111, 0x03a30111, 0x03a50111,
    +    0x03f10111, 0x03f20111, 0x03fa0111, 0x03fb0111, 0x03fa0111, 0x03fb0111, 0x03fc0111, 0x03fd0111,
    +    0x03fc0111, 0x03fd0111, 0x03fe0111, 0x03ff0111, 0x04000111, 0x04010111, 0x04020111, 0x04030111,
    +    0x03fe0111, 0x03ff0111, 0x04040111, 0x04050111, 0x04040111, 0x04050111, 0x04060111, 0x04070111,
    +    0x04060111, 0x04070111, 0x04080111, 0x04090111, 0x040a0111, 0x040b0111, 0x040c0111, 0x040d0111,
    +    0x040e0111, 0x040f0111, 0x04100111, 0x04110111, 0x04120111, 0x04130111, 0x04140111, 0x04150111,
    +    0x04160111, 0x04170111, 0x04180111, 0x04190111, 0x041a0111, 0x041b0111, 0x041c0111, 0x041d0111,
    +    0x041e0111, 0x041f0111, 0x04200111, 0x04210111, 0x04220111, 0x04230111, 0x04240111, 0x04250111,
    +    0x04260111, 0x04270111, 0x04280111, 0x04290111, 0x04200111, 0x04260111, 0x04270111, 0x04290111,
    +    0x042a0111, 0x042b0111, 0x042c0111, 0x042d0111, 0x042e0111, 0x042f0111, 0x04300111, 0x04310111,
    +    0x04320111, 0x04330111, 0x04340111, 0x04350111, 0x04360111, 0x04370111, 0x04380111, 0x04390111,
    +    0x043a0111, 0x043b0111, 0x043c0111, 0x043d0111, 0x043e0111, 0x043f0111, 0x04400111, 0x04410111,
    +    0x04420111, 0x04430111, 0x04440111, 0x04450111, 0x04460111, 0x04470111, 0x04480111, 0x04490111,
    +    0x044a0111, 0x044b0111, 0x044c0111, 0x044d0111, 0x044e0111, 0x044f0111, 0x04500111, 0x04510111,
    +    0x04520111, 0x04530111, 0x04540111, 0x04550111, 0x04560111, 0x04570111, 0x04580111, 0x04590111,
    +    0x04000111, 0x04010111, 0x040f0111, 0x04100111, 0x045a0111, 0x045b0111, 0x045c0111, 0x045d0111,
    +    0x045e0111, 0x045f0111, 0x042c0111, 0x042d0111, 0x042e0111, 0x042f0111, 0x04600111, 0x04610111,
    +    0x04620111, 0x04630111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2300 .. 0x23ff */
    +    0x04640111, 0x04650111, 0x04660111, 0x04670111, 0x04680111, 0x04690111, 0x046a0111, 0x046b0111,
    +    0x046c0111, 0x046d0111, 0x046e0111, 0x046f0111, 0x04700111, 0x04710111, 0x04720111, 0x04730111,
    +    0x04740111, 0x04750111, 0x04760111, 0x04770111, 0x04780111, 0x04790111, 0x047a0111, 0x047b0111,
    +    0x047c0111, 0x047d0111, 0x047e0111, 0x047f0111, 0x04800111, 0x04810111, 0x04820111, 0x04830111,
    +    0x04840111, 0x04850111, 0x04860111, 0x04870111, 0x04880111, 0x04890111, 0x048a0111, 0x048b0111,
    +    0x048c0111, 0x02880111, 0x02890111, 0x048d0111, 0x048e0111, 0x048f0111, 0x04900111, 0x04910111,
    +    0x04920111, 0x04930111, 0x04940111, 0x04950111, 0x04960111, 0x04970111, 0x04980111, 0x04990111,
    +    0x049a0111, 0x049b0111, 0x049c0111, 0x049d0111, 0x049e0111, 0x049f0111, 0x04a00111, 0x04a10111,
    +    0x04a20111, 0x04a30111, 0x04a40111, 0x04a50111, 0x04a60111, 0x04a70111, 0x04a80111, 0x04a90111,
    +    0x04aa0111, 0x04ab0111, 0x04ac0111, 0x04ad0111, 0x04ae0111, 0x04af0111, 0x04b00111, 0x04b10111,
    +    0x04b20111, 0x04b30111, 0x04b40111, 0x04b50111, 0x04b60111, 0x04b70111, 0x04b80111, 0x04b90111,
    +    0x04ba0111, 0x04bb0111, 0x04bc0111, 0x04bd0111, 0x04be0111, 0x04bf0111, 0x04c00111, 0x04c10111,
    +    0x04c20111, 0x04c30111, 0x04c40111, 0x04c50111, 0x04c60111, 0x04c70111, 0x04c80111, 0x04c90111,
    +    0x04ca0111, 0x04cb0111, 0x04cc0111, 0x04cd0111, 0x04ce0111, 0x04cf0111, 0x04d00111, 0x04d10111,
    +    0x04d20111, 0x04d30111, 0x04d40111, 0x04d50111, 0x04d60111, 0x04d70111, 0x04d80111, 0x04d90111,
    +    0x04da0111, 0x04db0111, 0x04dc0111, 0x04dd0111, 0xffffffff, 0x04de0111, 0x04df0111, 0x04e00111,
    +    0x04e10111, 0x04e20111, 0x04e30111, 0x04e40111, 0x04e50111, 0x04e60111, 0x04e70111, 0x04e80111,
    +    0x04e90111, 0x04ea0111, 0x04eb0111, 0x04ec0111, 0x04ed0111, 0x04ee0111, 0x04ef0111, 0x04f00111,
    +    0x04f10111, 0x04f20111, 0x04f30111, 0x04f40111, 0x04f50111, 0x04f60111, 0x04f70111, 0x04f80111,
    +    0x04f90111, 0x04fa0111, 0x04fb0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2400 .. 0x24ff */
    +    0x04fc0111, 0x04fd0111, 0x04fe0111, 0x04ff0111, 0x05000111, 0x05010111, 0x05020111, 0x05030111,
    +    0x05040111, 0x05050111, 0x05060111, 0x05070111, 0x05080111, 0x05090111, 0x050a0111, 0x050b0111,
    +    0x050c0111, 0x050d0111, 0x050e0111, 0x050f0111, 0x05100111, 0x05110111, 0x05120111, 0x05130111,
    +    0x05140111, 0x05150111, 0x05160111, 0x05170111, 0x05180111, 0x05190111, 0x051a0111, 0x051b0111,
    +    0x051c0111, 0x051d0111, 0x051e0111, 0x051f0111, 0x05200111, 0x05210111, 0x05220111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x05230111, 0x05240111, 0x05250111, 0x05260111, 0x05270111, 0x05280111, 0x05290111, 0x052a0111,
    +    0x052b0111, 0x052c0111, 0x052d0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0a0c0141, 0x0a0d0141, 0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141, 0x0a120141, 0x0a130141,
    +    0x0a140141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0c0141,
    +    0x0a0c0141, 0x0a0c0141, 0x0a0c0141, 0x0a0d0141, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131, 0x0a130131,
    +    0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131,
    +    0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0d0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x0a150171, 0x0a290171,
    +    0x0a3d0191, 0x0a490181, 0x0a650181, 0x0a910181, 0x0a990171, 0x0ab90181, 0x0ad301a1, 0x0ae70161,
    +    0x0af70161, 0x0b0301a1, 0x0b2b0191, 0x0b330191, 0x0b4b0191, 0x0b670171, 0x0b730171, 0x0b7f0181,
    +    0x0ba70171, 0x0bbf0181, 0x0bd70161, 0x0bef0181, 0x0bfb0161, 0x0c030181, 0x0c070161, 0x0c130171,
    +    0x0a150141, 0x0a290131, 0x0a3d0141, 0x0a490141, 0x0a650141, 0x0a910141, 0x0a990141, 0x0ab90141,
    +    0x0ad30151, 0x0ae70131, 0x0af70131, 0x0b030151, 0x0b2b0141, 0x0b330141, 0x0b4b0151, 0x0b670131,
    +    0x0b730131, 0x0b7f0131, 0x0ba70141, 0x0bbf0141, 0x0bd70131, 0x0bef0141, 0x0bfb0131, 0x0c030141,
    +    0x0c070131, 0x0c130131, 0x0a0b0141, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2500 .. 0x25ff */
    +    0x052e0111, 0x052f0111, 0x05300111, 0x05310111, 0x05320111, 0x05330111, 0x05340111, 0x05350111,
    +    0x05360111, 0x05370111, 0x05380111, 0x05390111, 0x053a0111, 0x053b0111, 0x053c0111, 0x053d0111,
    +    0x053e0111, 0x053f0111, 0x05400111, 0x05410111, 0x05420111, 0x05430111, 0x05440111, 0x05450111,
    +    0x05460111, 0x05470111, 0x05480111, 0x05490111, 0x054a0111, 0x054b0111, 0x054c0111, 0x054d0111,
    +    0x054e0111, 0x054f0111, 0x05500111, 0x05510111, 0x05520111, 0x05530111, 0x05540111, 0x05550111,
    +    0x05560111, 0x05570111, 0x05580111, 0x05590111, 0x055a0111, 0x055b0111, 0x055c0111, 0x055d0111,
    +    0x055e0111, 0x055f0111, 0x05600111, 0x05610111, 0x05620111, 0x05630111, 0x05640111, 0x05650111,
    +    0x05660111, 0x05670111, 0x05680111, 0x05690111, 0x056a0111, 0x056b0111, 0x056c0111, 0x056d0111,
    +    0x056e0111, 0x056f0111, 0x05700111, 0x05710111, 0x05720111, 0x05730111, 0x05740111, 0x05750111,
    +    0x05760111, 0x05770111, 0x05780111, 0x05790111, 0x057a0111, 0x057b0111, 0x057c0111, 0x057d0111,
    +    0x057e0111, 0x057f0111, 0x05800111, 0x05810111, 0x05820111, 0x05830111, 0x05840111, 0x05850111,
    +    0x05860111, 0x05870111, 0x05880111, 0x05890111, 0x058a0111, 0x058b0111, 0x058c0111, 0x058d0111,
    +    0x058e0111, 0x058f0111, 0x05900111, 0x05910111, 0x05920111, 0x05930111, 0x05940111, 0x05950111,
    +    0x05960111, 0x05970111, 0x05980111, 0x05990111, 0x059a0111, 0x059b0111, 0x059c0111, 0x059d0111,
    +    0x059e0111, 0x059f0111, 0x05a00111, 0x05a10111, 0x05a20111, 0x05a30111, 0x05a40111, 0x05a50111,
    +    0x05a60111, 0x05a70111, 0x05a80111, 0x05a90111, 0x05aa0111, 0x05ab0111, 0x05ac0111, 0x05ad0111,
    +    0x05ae0111, 0x05af0111, 0x05b00111, 0x05b10111, 0x05b20111, 0x05b30111, 0x05b40111, 0x05b50111,
    +    0x05b60111, 0x05b70111, 0x05b80111, 0x05b90111, 0x05ba0111, 0x05bb0111, 0x05bc0111, 0x05bd0111,
    +    0x05be0111, 0x05bf0111, 0x05c00111, 0x05c10111, 0x05c20111, 0x05c30111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x05c40111, 0x05c50111, 0x05c60111, 0x05c70111, 0x05c80111, 0x05c90111, 0x05ca0111, 0x05cb0111,
    +    0x05cc0111, 0x05cd0111, 0x05ce0111, 0x05cf0111, 0x05d00111, 0x05d10111, 0x05d20111, 0x05d30111,
    +    0x05d40111, 0x05d50111, 0x05d60111, 0x05d70111, 0x05d80111, 0x05d90111, 0x05da0111, 0x05db0111,
    +    0x05dc0111, 0x05dd0111, 0x05de0111, 0x05df0111, 0x05e00111, 0x05e10111, 0x05e20111, 0x05e30111,
    +    0x05e40111, 0x05e50111, 0x05e60111, 0x05e70111, 0x05e80111, 0x05e90111, 0x05ea0111, 0x05eb0111,
    +    0x05ec0111, 0x05ed0111, 0x05ee0111, 0x05ef0111, 0x05f00111, 0x05f10111, 0x05f20111, 0x05f30111,
    +    0x05f40111, 0x05f50111, 0x05f60111, 0x05f70111, 0x05f80111, 0x05f90111, 0x05fa0111, 0x05fb0111,
    +    0x05fc0111, 0x05fd0111, 0x05fe0111, 0x05ff0111, 0x06000111, 0x06010111, 0x06020111, 0x06030111,
    +    0x06040111, 0x06050111, 0x06060111, 0x06070111, 0x06080111, 0x06090111, 0x060a0111, 0x060b0111,
    +    0x060c0111, 0x060d0111, 0x060e0111, 0x060f0111, 0x06100111, 0x06110111, 0x06120111, 0x06130111,
    +    0x06140111, 0x06150111, 0x06160111, 0x06170111, 0x06180111, 0x06190111, 0x061a0111, 0x061b0111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2600 .. 0x26ff */
    +    0x061c0111, 0x061d0111, 0x061e0111, 0x061f0111, 0x06200111, 0x06210111, 0x06220111, 0x06230111,
    +    0x06240111, 0x06250111, 0x06260111, 0x06270111, 0x06280111, 0x06290111, 0x062a0111, 0x062b0111,
    +    0x062c0111, 0x062d0111, 0x062e0111, 0x062f0111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x06300111, 0x06310111, 0x06320111, 0x06330111, 0x06340111, 0x06350111, 0x06360111,
    +    0x06370111, 0x06380111, 0x06390111, 0x063a0111, 0x063b0111, 0x063c0111, 0x063d0111, 0x063e0111,
    +    0x063f0111, 0x06400111, 0x06410111, 0x06420111, 0x06430111, 0x06440111, 0x06450111, 0x06460111,
    +    0x06470111, 0x06480111, 0x06490111, 0x064a0111, 0x064b0111, 0x064c0111, 0x064d0111, 0x064e0111,
    +    0x064f0111, 0x06500111, 0x06510111, 0x06520111, 0x06530111, 0x06540111, 0x06550111, 0x06560111,
    +    0x06570111, 0x06580111, 0x06590111, 0x065a0111, 0x065b0111, 0x065c0111, 0x065d0111, 0x065e0111,
    +    0x065f0111, 0x06600111, 0x06610111, 0x06620111, 0x06630111, 0x06640111, 0x06650111, 0x06660111,
    +    0x06670111, 0x06680111, 0x06690111, 0x066a0111, 0x066b0111, 0x066c0111, 0x066d0111, 0x066e0111,
    +    0x066f0111, 0x06700111, 0x06710111, 0x06720111, 0x06730111, 0x06740111, 0x06750111, 0x06760111,
    +    0x06770111, 0x06780111, 0x06790111, 0x067a0111, 0x067b0111, 0x067c0111, 0x067d0111, 0x067e0111,
    +    0x067f0111, 0x06800111, 0x06810111, 0x06820111, 0x06830111, 0x0a080111, 0x0a090111, 0x0a0a0111,
    +    0x06840111, 0x06850111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2700 .. 0x27ff */
    +    0xffffffff, 0x06860111, 0x06870111, 0x06880111, 0x06890111, 0xffffffff, 0x068a0111, 0x068b0111,
    +    0x068c0111, 0x068d0111, 0xffffffff, 0xffffffff, 0x068e0111, 0x068f0111, 0x06900111, 0x06910111,
    +    0x06920111, 0x06930111, 0x06940111, 0x06950111, 0x06960111, 0x06970111, 0x06980111, 0x06990111,
    +    0x069a0111, 0x069b0111, 0x069c0111, 0x069d0111, 0x069e0111, 0x069f0111, 0x06a00111, 0x06a10111,
    +    0x06a20111, 0x06a30111, 0x06a40111, 0x06a50111, 0x06a60111, 0x06a70111, 0x06a80111, 0x06a90111,
    +    0xffffffff, 0x06aa0111, 0x06ab0111, 0x06ac0111, 0x06ad0111, 0x06ae0111, 0x06af0111, 0x06b00111,
    +    0x06b10111, 0x06b20111, 0x06b30111, 0x06b40111, 0x06b50111, 0x06b60111, 0x06b70111, 0x06b80111,
    +    0x06b90111, 0x06ba0111, 0x06bb0111, 0x06bc0111, 0x06bd0111, 0x06be0111, 0x06bf0111, 0x06c00111,
    +    0x06c10111, 0x06c20111, 0x06c30111, 0x06c40111, 0x06c50111, 0x06c60111, 0x06c70111, 0x06c80111,
    +    0x06c90111, 0x06ca0111, 0x06cb0111, 0x06cc0111, 0xffffffff, 0x06cd0111, 0xffffffff, 0x06ce0111,
    +    0x06cf0111, 0x06d00111, 0x06d10111, 0xffffffff, 0xffffffff, 0xffffffff, 0x06d20111, 0xffffffff,
    +    0x06d30111, 0x06d40111, 0x06d50111, 0x06d60111, 0x06d70111, 0x06d80111, 0x06d90111, 0xffffffff,
    +    0xffffffff, 0x06da0111, 0x06db0111, 0x06dc0111, 0x06dd0111, 0x06de0111, 0x06df0111, 0x06e00111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0a0c0141, 0x0a0d0141,
    +    0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141, 0x0a120141, 0x0a130141, 0x0a140141, 0x06e10111,
    +    0x0a0c0141, 0x0a0d0141, 0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141, 0x0a120141, 0x0a130141,
    +    0x0a140141, 0x06e20111, 0x0a0c0141, 0x0a0d0141, 0x0a0e0141, 0x0a0f0141, 0x0a100141, 0x0a110141,
    +    0x0a120141, 0x0a130141, 0x0a140141, 0x06e30111, 0x06e40111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x06e50111, 0x06e60111, 0x06e70111, 0x06e80111, 0x06e90111, 0x06ea0111, 0x06eb0111, 0x06ec0111,
    +    0x06ed0111, 0x06ee0111, 0x06ef0111, 0x06f00111, 0x06f10111, 0x06f20111, 0x06f30111, 0x06f40111,
    +    0x06f50111, 0x06f60111, 0x06f70111, 0x06f80111, 0x06f90111, 0x06fa0111, 0x06fb0111, 0x06fc0111,
    +    0xffffffff, 0x06fd0111, 0x06fe0111, 0x06ff0111, 0x07000111, 0x07010111, 0x07020111, 0x07030111,
    +    0x07040111, 0x07050111, 0x07060111, 0x07070111, 0x07080111, 0x07090111, 0x070a0111, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2800 .. 0x28ff */
    +    0x070b0111, 0x070c0111, 0x070d0111, 0x070e0111, 0x070f0111, 0x07100111, 0x07110111, 0x07120111,
    +    0x07130111, 0x07140111, 0x07150111, 0x07160111, 0x07170111, 0x07180111, 0x07190111, 0x071a0111,
    +    0x071b0111, 0x071c0111, 0x071d0111, 0x071e0111, 0x071f0111, 0x07200111, 0x07210111, 0x07220111,
    +    0x07230111, 0x07240111, 0x07250111, 0x07260111, 0x07270111, 0x07280111, 0x07290111, 0x072a0111,
    +    0x072b0111, 0x072c0111, 0x072d0111, 0x072e0111, 0x072f0111, 0x07300111, 0x07310111, 0x07320111,
    +    0x07330111, 0x07340111, 0x07350111, 0x07360111, 0x07370111, 0x07380111, 0x07390111, 0x073a0111,
    +    0x073b0111, 0x073c0111, 0x073d0111, 0x073e0111, 0x073f0111, 0x07400111, 0x07410111, 0x07420111,
    +    0x07430111, 0x07440111, 0x07450111, 0x07460111, 0x07470111, 0x07480111, 0x07490111, 0x074a0111,
    +    0x074b0111, 0x074c0111, 0x074d0111, 0x074e0111, 0x074f0111, 0x07500111, 0x07510111, 0x07520111,
    +    0x07530111, 0x07540111, 0x07550111, 0x07560111, 0x07570111, 0x07580111, 0x07590111, 0x075a0111,
    +    0x075b0111, 0x075c0111, 0x075d0111, 0x075e0111, 0x075f0111, 0x07600111, 0x07610111, 0x07620111,
    +    0x07630111, 0x07640111, 0x07650111, 0x07660111, 0x07670111, 0x07680111, 0x07690111, 0x076a0111,
    +    0x076b0111, 0x076c0111, 0x076d0111, 0x076e0111, 0x076f0111, 0x07700111, 0x07710111, 0x07720111,
    +    0x07730111, 0x07740111, 0x07750111, 0x07760111, 0x07770111, 0x07780111, 0x07790111, 0x077a0111,
    +    0x077b0111, 0x077c0111, 0x077d0111, 0x077e0111, 0x077f0111, 0x07800111, 0x07810111, 0x07820111,
    +    0x07830111, 0x07840111, 0x07850111, 0x07860111, 0x07870111, 0x07880111, 0x07890111, 0x078a0111,
    +    0x078b0111, 0x078c0111, 0x078d0111, 0x078e0111, 0x078f0111, 0x07900111, 0x07910111, 0x07920111,
    +    0x07930111, 0x07940111, 0x07950111, 0x07960111, 0x07970111, 0x07980111, 0x07990111, 0x079a0111,
    +    0x079b0111, 0x079c0111, 0x079d0111, 0x079e0111, 0x079f0111, 0x07a00111, 0x07a10111, 0x07a20111,
    +    0x07a30111, 0x07a40111, 0x07a50111, 0x07a60111, 0x07a70111, 0x07a80111, 0x07a90111, 0x07aa0111,
    +    0x07ab0111, 0x07ac0111, 0x07ad0111, 0x07ae0111, 0x07af0111, 0x07b00111, 0x07b10111, 0x07b20111,
    +    0x07b30111, 0x07b40111, 0x07b50111, 0x07b60111, 0x07b70111, 0x07b80111, 0x07b90111, 0x07ba0111,
    +    0x07bb0111, 0x07bc0111, 0x07bd0111, 0x07be0111, 0x07bf0111, 0x07c00111, 0x07c10111, 0x07c20111,
    +    0x07c30111, 0x07c40111, 0x07c50111, 0x07c60111, 0x07c70111, 0x07c80111, 0x07c90111, 0x07ca0111,
    +    0x07cb0111, 0x07cc0111, 0x07cd0111, 0x07ce0111, 0x07cf0111, 0x07d00111, 0x07d10111, 0x07d20111,
    +    0x07d30111, 0x07d40111, 0x07d50111, 0x07d60111, 0x07d70111, 0x07d80111, 0x07d90111, 0x07da0111,
    +    0x07db0111, 0x07dc0111, 0x07dd0111, 0x07de0111, 0x07df0111, 0x07e00111, 0x07e10111, 0x07e20111,
    +    0x07e30111, 0x07e40111, 0x07e50111, 0x07e60111, 0x07e70111, 0x07e80111, 0x07e90111, 0x07ea0111,
    +    0x07eb0111, 0x07ec0111, 0x07ed0111, 0x07ee0111, 0x07ef0111, 0x07f00111, 0x07f10111, 0x07f20111,
    +    0x07f30111, 0x07f40111, 0x07f50111, 0x07f60111, 0x07f70111, 0x07f80111, 0x07f90111, 0x07fa0111,
    +    0x07fb0111, 0x07fc0111, 0x07fd0111, 0x07fe0111, 0x07ff0111, 0x08000111, 0x08010111, 0x08020111,
    +    0x08030111, 0x08040111, 0x08050111, 0x08060111, 0x08070111, 0x08080111, 0x08090111, 0x080a0111,
    +    /* 0x2e00 .. 0x2eff */
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xfb400121, 0xfb400121, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400111, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400111,
    +    0xfb400111, 0xfb400121, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400111, 0xfb400121,
    +    0xfb400111, 0xfb400111, 0xffffffff, 0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400111, 0xfb400121,
    +    0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400111, 0xfb400121, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410111, 0xfb410121,
    +    0xfb410121, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121,
    +    0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111,
    +    0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121, 0xfb410121, 0xfb410111, 0xfb410111, 0xfb410121,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121, 0xfb410111, 0xfb410121,
    +    0xfb410111, 0xfb410121, 0xfb410121, 0xfb410121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x2f00 .. 0x2fff */
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xfb400121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121,
    +    0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xfb410121, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x09a90111, 0x09aa0111, 0x09ab0111, 0x09ac0111, 0x09ad0111, 0x09ae0111, 0x09af0111, 0x09b00111,
    +    0x09b10111, 0x09b20111, 0x09b30111, 0x09b40111, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x3000 .. 0x30ff */
    +    0x02090121, 0x02340111, 0x025e0111, 0x02b80111, 0x09b50111, 0x09d70111, 0x192c0111, 0x0a0b0111,
    +    0x02880111, 0x02890111, 0x028a0111, 0x028b0111, 0x028c0111, 0x028d0111, 0x028e0111, 0x028f0111,
    +    0x02900111, 0x02910111, 0x09b60111, 0x09b70111, 0x02920111, 0x02930111, 0x02940111, 0x02950111,
    +    0x02960111, 0x02970111, 0x02980111, 0x02990111, 0x022a0111, 0x02750111, 0x02760111, 0x02770111,
    +    0x09b80111, 0x0a0c0111, 0x0a0d0111, 0x0a0e0111, 0x0a0f0111, 0x0a100111, 0x0a110111, 0x0a120111,
    +    0x0a130111, 0x0a140111, 0x0000dc11, 0x0000dd11, 0x0000de11, 0x0000df11, 0x0000e011, 0x0000e111,
    +    0x022b0111, 0x09d80111, 0x09d80111, 0x09d90111, 0x09d90111, 0x09da0111, 0x09b60121, 0x09b90111,
    +    0xfb400121, 0xfb400121, 0xfb400121, 0xffffffff, 0xffffffff, 0xffffffff, 0x09ba0111, 0x09bb0111,
    +    0xffffffff, 0x19210111, 0x19210121, 0x19220111, 0x19220121, 0x19230111, 0x19230121, 0x19240111,
    +    0x19240121, 0x19250111, 0x19250121, 0x19260111, 0x19260111, 0x19270111, 0x19270111, 0x19280111,
    +    0x19280111, 0x19290111, 0x19290111, 0x192a0111, 0x192a0111, 0x192b0111, 0x192b0111, 0x192c0121,
    +    0x192c0121, 0x192d0111, 0x192d0111, 0x192e0111, 0x192e0111, 0x192f0111, 0x192f0111, 0x19300111,
    +    0x19300111, 0x19310111, 0x19310111, 0x19320111, 0x19320121, 0x19320121, 0x19330111, 0x19330111,
    +    0x19340111, 0x19340111, 0x19350111, 0x19360111, 0x19370111, 0x19380111, 0x19390111, 0x193a0111,
    +    0x193a0111, 0x193a0111, 0x193b0111, 0x193b0111, 0x193b0111, 0x193c0111, 0x193c0111, 0x193c0111,
    +    0x193d0111, 0x193d0111, 0x193d0111, 0x193e0111, 0x193e0111, 0x193e0111, 0x193f0111, 0x19400111,
    +    0x19410111, 0x19420111, 0x19430111, 0x19440111, 0x19440121, 0x19450111, 0x19450121, 0x19460111,
    +    0x19460121, 0x19470111, 0x19480111, 0x19490111, 0x194a0111, 0x194b0111, 0x194c0111, 0x194c0121,
    +    0x194d0111, 0x194e0111, 0x194f0111, 0x19500111, 0x19230121, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x0000e211, 0x0000e311, 0x021e0111, 0x021f0111, 0x09db0111, 0x09db0111, 0xffffffff,
    +    0xffffffff, 0x19210131, 0x19210151, 0x19220131, 0x19220151, 0x19230131, 0x19230151, 0x19240131,
    +    0x19240151, 0x19250131, 0x19250151, 0x19260131, 0x19260131, 0x19270121, 0x19270121, 0x19280121,
    +    0x19280121, 0x19290131, 0x19290131, 0x192a0121, 0x192a0121, 0x192b0121, 0x192b0121, 0x192c0131,
    +    0x192c0131, 0x192d0121, 0x192d0121, 0x192e0121, 0x192e0121, 0x192f0121, 0x192f0121, 0x19300121,
    +    0x19300121, 0x19310121, 0x19310121, 0x19320131, 0x19320151, 0x19320151, 0x19330121, 0x19330121,
    +    0x19340121, 0x19340121, 0x19350121, 0x19360121, 0x19370121, 0x19380121, 0x19390121, 0x193a0121,
    +    0x193a0121, 0x193a0121, 0x193b0121, 0x193b0121, 0x193b0121, 0x193c0121, 0x193c0121, 0x193c0121,
    +    0x193d0121, 0x193d0121, 0x193d0121, 0x193e0121, 0x193e0121, 0x193e0121, 0x193f0121, 0x19400121,
    +    0x19410121, 0x19420121, 0x19430121, 0x19440131, 0x19440151, 0x19450131, 0x19450151, 0x19460131,
    +    0x19460151, 0x19470121, 0x19480121, 0x19490121, 0x194a0121, 0x194b0121, 0x194c0131, 0x194c0141,
    +    0x194d0121, 0x194e0121, 0x194f0121, 0x19500121, 0x19230151, 0x19260121, 0x19290121, 0x194c0141,
    +    0x194d0121, 0x194e0121, 0x194f0121, 0x022c0111, 0x09dc0111, 0x09dd0111, 0x09dd0111, 0xffffffff,
    +    /* 0x3100 .. 0x31ff */
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x19510111, 0x19520111, 0x19530111,
    +    0x19540111, 0x19560111, 0x19570111, 0x19580111, 0x19590111, 0x195a0111, 0x195b0111, 0x195e0111,
    +    0x195f0111, 0x19600111, 0x19610111, 0x19630111, 0x19640111, 0x19650111, 0x19660111, 0x19670111,
    +    0x19680111, 0x19690111, 0x196a0111, 0x196b0111, 0x196d0111, 0x196e0111, 0x19700111, 0x19710111,
    +    0x19720111, 0x19730111, 0x19740111, 0x19750111, 0x19760111, 0x19780111, 0x197c0111, 0x197d0111,
    +    0x197e0111, 0x197f0111, 0x19550111, 0x195c0111, 0x19620111, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x18310121, 0x18320121, 0x18d10121, 0x18330121, 0x18d30121, 0x18d40121, 0x18340121,
    +    0x18350121, 0x18360121, 0x18d70121, 0x18d80121, 0x18d90121, 0x18da0121, 0x18db0121, 0x18dc0121,
    +    0x184b0121, 0x18370121, 0x18380121, 0x18390121, 0x18520121, 0x183a0121, 0x183b0121, 0x183c0121,
    +    0x183d0121, 0x183e0121, 0x183f0121, 0x18400121, 0x18410121, 0x18420121, 0x18430121, 0x188d0121,
    +    0x188e0121, 0x188f0121, 0x18900121, 0x18910121, 0x18920121, 0x18930121, 0x18940121, 0x18950121,
    +    0x18960121, 0x18970121, 0x18980121, 0x18990121, 0x189a0121, 0x189b0121, 0x189c0121, 0x189d0121,
    +    0x189e0121, 0x189f0121, 0x18a00121, 0x18a10121, 0x188c0121, 0x18450121, 0x18460121, 0x18ee0121,
    +    0x18ef0121, 0x18f30121, 0x18f50121, 0x18fa0121, 0x18fe0121, 0x19000121, 0x184d0121, 0x19040121,
    +    0x19060121, 0x184e0121, 0x184f0121, 0x18510121, 0x18530121, 0x18540121, 0x18580121, 0x185a0121,
    +    0x185c0121, 0x185d0121, 0x185e0121, 0x185f0121, 0x18600121, 0x18630121, 0x18670121, 0x18710121,
    +    0x18780121, 0x187d0121, 0x19180121, 0x19190121, 0x18880121, 0x18890121, 0x188a0121, 0x18b00121,
    +    0x18b10121, 0x18b40121, 0x18bd0121, 0x18be0121, 0x18c00121, 0x18ca0121, 0x18cd0121, 0xffffffff,
    +    0x09bc0111, 0x09bd0111, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141,
    +    0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141, 0xfb400141,
    +    0x19510121, 0x19670121, 0x195f0121, 0x195a0121, 0x196f0111, 0x196f0121, 0x196c0111, 0x196b0121,
    +    0x197e0121, 0x196a0121, 0x197d0121, 0x197e0121, 0x197b0111, 0x195d0111, 0x19700121, 0x19720121,
    +    0x19790111, 0x197a0111, 0x19770111, 0x197d0131, 0x19520121, 0x19570121, 0x195b0121, 0x195e0121,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0x3200 .. 0x32ff */
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131,
    +    0x027a0131, 0x027a0131, 0x027a0131, 0x027a0131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x18310131, 0x18330131, 0x18340131, 0x18360131, 0x18370131, 0x18380131, 0x183a0131, 0x183c0131,
    +    0x183d0131, 0x183f0131, 0x18400131, 0x18410131, 0x18420131, 0x18430131, 0x18310131, 0x18330131,
    +    0x18340131, 0x18360131, 0x18370131, 0x18380131, 0x183a0131, 0x183c0131, 0x183d0131, 0x183f0131,
    +    0x18400131, 0x18410131, 0x18420131, 0x18430131, 0xffffffff, 0xffffffff, 0xffffffff, 0x09be0111,
    +    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131,
    +    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131,
    +    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131,
    +    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131, 0xfb400131, 0xfb400131,
    +    0xfb410131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131,
    +    0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb400131, 0xfb410131, 0xfb400131,
    +    0xfb400131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131, 0x0a130131,
    +    0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x19210171, 0x19220171, 0x19230171, 0x19240171, 0x19250171, 0x19260151, 0x19270141, 0x19280141,
    +    0x19290151, 0x192a0141, 0x192b0141, 0x192c0151, 0x192d0141, 0x192e0141, 0x192f0141, 0x19300141,
    +    0x19310141, 0x19320171, 0x19330141, 0x19340141, 0x19350141, 0x19360141, 0x19370141, 0x19380141,
    +    0x19390141, 0x193a0141, 0x193b0141, 0x193c0141, 0x193d0141, 0x193e0141, 0x193f0141, 0x19400141,
    +    0x19410141, 0x19420141, 0x19430141, 0x19440171, 0x19450171, 0x19460171, 0x19470141, 0x19480141,
    +    0x19490141, 0x194a0141, 0x194b0141, 0x194c0161, 0x194d0131, 0x194e0131, 0x194f0141, 0xffffffff,
    +    /* 0x3300 .. 0x33ff */
    +    0x19210181, 0x19210181, 0x19210181, 0x19210181, 0x19220181, 0x19220181, 0x19230181, 0x19240181,
    +    0x19240181, 0x19250181, 0x19250181, 0x19260161, 0x19260161, 0x19260161, 0x19260161, 0x19260161,
    +    0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151, 0x19270151,
    +    0x19280151, 0x19280151, 0x19280151, 0x19280151, 0x19290161, 0x192a0151, 0x192a0151, 0x192b0151,
    +    0x192b0151, 0x192c0161, 0x192e0151, 0x192e0151, 0x19300151, 0x19330151, 0x19340151, 0x19340151,
    +    0x19350151, 0x19390151, 0x193a0151, 0x193a0151, 0x193a0151, 0x193a0151, 0x193b0151, 0x193b0151,
    +    0x193b0151, 0x193b0151, 0x193c0151, 0x193c0151, 0x193c0151, 0x193c0151, 0x193d0151, 0x193d0151,
    +    0x193d0151, 0x193d0151, 0x193d0151, 0x193d0151, 0x193d0151, 0x193e0151, 0x193e0151, 0x193e0151,
    +    0x193e0151, 0x193e0151, 0x193e0151, 0x193f0151, 0x193f0151, 0x193f0151, 0x193f0151, 0x193f0151,
    +    0x19400151, 0x19400151, 0x19400151, 0x19420151, 0x19420151, 0x19420151, 0x19440181, 0x19440181,
    +    0x19450181, 0x19480151, 0x19480151, 0x19490151, 0x19490151, 0x194a0151, 0x194a0151, 0x194c0171,
    +    0x0a0b0131, 0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131,
    +    0x0a130131, 0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131,
    +    0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131,
    +    0x0a0d0131, 0x0ab901a1, 0x0a490191, 0x0a1501a1, 0x0a290181, 0x0b4b01b1, 0x0b670181, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xfb400151, 0xfb400151, 0xfb400151, 0xfb400151, 0xfb400151,
    +    0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0af70171, 0x0af70181, 0x0b2b01b1, 0x0a990181,
    +    0x0a3d01a1, 0x0af70171, 0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0c9f0141, 0x0b2b01a1, 0x0af70171,
    +    0x0ab901b1, 0x0af70171, 0x0b2b01b1, 0x0a990181, 0x0bbf01a1, 0x0c9f0141, 0x0b2b01a1, 0x0a490191,
    +    0x0af70171, 0x0a910191, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0a3d01a1, 0x0af70171, 0x0b2b01a1,
    +    0x0a3d01a1, 0x0b2b01a1, 0x0af70171, 0x0b2b01a1, 0x0a3d01a1, 0x0b2b01a1, 0x0af70171, 0x0b2b01a1,
    +    0x0b2b01a1, 0x0b670191, 0x0af70171, 0x0b2b01b1, 0x0a990181, 0x0b7f01a1, 0x0b7f01a1, 0x0b7f01a1,
    +    0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1,
    +    0x0af70171, 0x0b2b01b1, 0x0b670181, 0x0b3301b1, 0x0c9f0141, 0x0b2b01a1, 0x0af70171, 0x0b2b01b1,
    +    0x0af70171, 0x0b2b01b1, 0x0a150191, 0x0a290191, 0x0a3d01a1, 0x0a3d01a1, 0x0a3d01b1, 0x0a3d01b1,
    +    0x0a490191, 0x0a990181, 0x0ab901a1, 0x0ab901b1, 0x0ad301b1, 0x0af70181, 0x0af70181, 0x0af70171,
    +    0x0b0301c1, 0x0b0301c1, 0x0b0301c1, 0x0b0301c1, 0x0b2b01a1, 0x0b2b01a1, 0x0b2b01a1, 0x0b670191,
    +    0x0b670181, 0x0b670191, 0x0b670191, 0x0ba70191, 0x0ba701a1, 0x0bfb0181, 0xffffffff, 0xffffffff,
    +    0x0a0c0131, 0x0a0d0131, 0x0a0e0131, 0x0a0f0131, 0x0a100131, 0x0a110131, 0x0a120131, 0x0a130131,
    +    0x0a140131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0c0131,
    +    0x0a0c0131, 0x0a0c0131, 0x0a0c0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131,
    +    0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0d0131, 0x0a0e0131, 0x0a0e0131, 0xffffffff,
    +    /* 0xf900 .. 0xf9ff */
    +    0xfb410111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb410111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    +    0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb400111,
    +    /* 0xfa00 .. 0xfaff */
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb410111,
    +    0xfb400111, 0xfb410111, 0xfb400111, 0xfb410111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb400111,
    +    0xfb400111, 0xfb400111, 0xfb400111, 0xfb400111, 0xfb410111, 0xfb400111, 0xfb400111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111,
    +    0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xfb410111, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0xfb00 .. 0xfbff */
    +    0x0a910131, 0x0a910131, 0x0a910131, 0x0a910131, 0x0a910131, 0x0ba70131, 0x0ba70131, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0x0ea30121, 0x0ea30121, 0x0ea30121, 0x0ead0121, 0x0ea30121,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0ec00111, 0x00006711, 0x0ec00121,
    +    0x0ec60121, 0x0eb70131, 0x0eba0131, 0x0ebb0121, 0x0ec10121, 0x0ec20121, 0x0ec30121, 0x0eca0121,
    +    0x0ecc0121, 0x039f0131, 0x0ecb0111, 0x0ecb0111, 0x0ecb0111, 0x0ecb0111, 0x0eb70111, 0x0eb70111,
    +    0x0eb70111, 0x0eb80111, 0x0eb90111, 0x0eba0111, 0x0ebb0111, 0x0ebc0111, 0x0ebd0111, 0xffffffff,
    +    0x0ebf0111, 0x0ec00111, 0x0ec10131, 0x0ec10111, 0x0ec20111, 0xffffffff, 0x0ec30111, 0xffffffff,
    +    0x0ec40111, 0x0ec50111, 0xffffffff, 0x0ec70121, 0x0ec70111, 0xffffffff, 0x0ec80111, 0x0ec90111,
    +    0x0eca0111, 0x0ecb0111, 0x0ecc0111, 0x0ebc0111, 0x0eb80111, 0x0ec10111, 0x0ec70111, 0x0eb70121,
    +    0x0ed10131, 0x0ed10121, 0x0ed80151, 0x0ed80141, 0x0ed80121, 0x0ed80131, 0x0ed90151, 0x0ed90141,
    +    0x0ed90121, 0x0ed90131, 0x0eda0151, 0x0eda0141, 0x0eda0121, 0x0eda0131, 0x0edf0151, 0x0edf0141,
    +    0x0edf0121, 0x0edf0131, 0x0ee20151, 0x0ee20141, 0x0ee20121, 0x0ee20131, 0x0ede0151, 0x0ede0141,
    +    0x0ede0121, 0x0ede0131, 0x0f1a0151, 0x0f1a0141, 0x0f1a0121, 0x0f1a0131, 0x0f1c0151, 0x0f1c0141,
    +    0x0f1c0121, 0x0f1c0131, 0x0ee50151, 0x0ee50141, 0x0ee50121, 0x0ee50131, 0x0ee40151, 0x0ee40141,
    +    0x0ee40121, 0x0ee40131, 0x0ee60151, 0x0ee60141, 0x0ee60121, 0x0ee60131, 0x0ee80151, 0x0ee80141,
    +    0x0ee80121, 0x0ee80131, 0x0ef50131, 0x0ef50121, 0x0ef40131, 0x0ef40121, 0x0ef60131, 0x0ef60121,
    +    0x0ef00131, 0x0ef00121, 0x0f020131, 0x0f020121, 0x0efb0131, 0x0efb0121, 0x0f210151, 0x0f210141,
    +    0x0f210121, 0x0f210131, 0x0f270151, 0x0f270141, 0x0f270121, 0x0f270131, 0x0f2b0151, 0x0f2b0141,
    +    0x0f2b0121, 0x0f2b0131, 0x0f290151, 0x0f290141, 0x0f290121, 0x0f290131, 0x0f340131, 0x0f340121,
    +    0x0f350151, 0x0f350141, 0x0f350121, 0x0f350131, 0x0f3d0131, 0x0f3d0121, 0x0f3b0151, 0x0f3b0141,
    +    0x0f3b0121, 0x0f3b0131, 0x0f3a0151, 0x0f3a0141, 0x0f3a0121, 0x0f3a0131, 0x0f4f0131, 0x0f4f0121,
    +    0x0f4f0131, 0x0f4f0121, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0x0f250151, 0x0f250141, 0x0f250121, 0x0f250131, 0x0f420141,
    +    0x0f420131, 0x0f410131, 0x0f410121, 0x0f430131, 0x0f430121, 0x0f420141, 0x0f460131, 0x0f460121,
    +    0x0f400131, 0x0f400121, 0x0f440131, 0x0f440121, 0x0f4d0151, 0x0f4d0141, 0x0f4d0121, 0x0f4d0131,
    +    0x0f480121, 0x0f480131, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141,
    +    0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141, 0x0ed50151, 0x0ed50141,
    +    0x0ed50121, 0x0ed50151, 0x0ed50141, 0x0ed50121, 0x0f4a0151, 0x0f4a0141, 0x0f4a0121, 0x0f4a0131,
    +    /* 0xfc00 .. 0xfcff */
    +    0x0ed50151, 0x0ed50151, 0x0ed50151, 0x0ed50151, 0x0ed50151, 0x0ed70151, 0x0ed70151, 0x0ed70151,
    +    0x0ed70151, 0x0ed70151, 0x0ed70151, 0x0edc0151, 0x0edc0151, 0x0edc0151, 0x0edc0151, 0x0edc0151,
    +    0x0edc0151, 0x0edd0151, 0x0edd0151, 0x0edd0151, 0x0edd0151, 0x0ee30151, 0x0ee30151, 0x0ee90151,
    +    0x0ee90151, 0x0eea0151, 0x0eea0151, 0x0eea0151, 0x0f040151, 0x0f040151, 0x0f040151, 0x0f040151,
    +    0x0f0a0151, 0x0f0a0151, 0x0f0b0151, 0x0f0b0151, 0x0f0b0151, 0x0f0b0151, 0x0f0f0151, 0x0f0f0151,
    +    0x0f100151, 0x0f120151, 0x0f120151, 0x0f130151, 0x0f130151, 0x0f160151, 0x0f160151, 0x0f160151,
    +    0x0f160151, 0x0f160151, 0x0f160151, 0x0f1d0151, 0x0f1d0151, 0x0f1d0151, 0x0f1d0151, 0x0f200151,
    +    0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f200151, 0x0f2d0151,
    +    0x0f2d0151, 0x0f2d0151, 0x0f2d0151, 0x0f2d0151, 0x0f2d0151, 0x0f320161, 0x0f320161, 0x0f320161,
    +    0x0f320161, 0x0f320161, 0x0f320161, 0x0f330151, 0x0f330151, 0x0f330151, 0x0f330151, 0x0f330151,
    +    0x0f330151, 0x0f390151, 0x0f390151, 0x0f390151, 0x0f390151, 0x0f490161, 0x0f490161, 0x0f490161,
    +    0x0f490161, 0x0f490161, 0x0f490161, 0x0eef0131, 0x0ef90131, 0x0f480151, 0x00006e31, 0x00006e31,
    +    0x00006e31, 0x00006e31, 0x00006e31, 0x00006e31, 0x0ed50141, 0x0ed50141, 0x0ed50141, 0x0ed50141,
    +    0x0ed50141, 0x0ed50141, 0x0ed70141, 0x0ed70141, 0x0ed70141, 0x0ed70141, 0x0ed70141, 0x0ed70141,
    +    0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edd0141, 0x0edd0141,
    +    0x0edd0141, 0x0edd0141, 0x0edd0141, 0x0edd0141, 0x0f160141, 0x0f160141, 0x0f1d0141, 0x0f1d0141,
    +    0x0f200141, 0x0f200141, 0x0f200141, 0x0f200141, 0x0f200141, 0x0f2d0141, 0x0f2d0141, 0x0f2d0141,
    +    0x0f320151, 0x0f320151, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f330141,
    +    0x0f480141, 0x0f490151, 0x0f490151, 0x0f490151, 0x0f490151, 0x0f490151, 0x0f490151, 0x0ed50121,
    +    0x0ed50121, 0x0ed50121, 0x0ed50121, 0x0ed50121, 0x0ed70121, 0x0ed70121, 0x0ed70121, 0x0ed70121,
    +    0x0ed70121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edd0121, 0x0ee30121,
    +    0x0ee30121, 0x0ee90121, 0x0ee90121, 0x0eea0121, 0x0eea0121, 0x0f040121, 0x0f040121, 0x0f040121,
    +    0x0f040121, 0x0f0a0121, 0x0f0a0121, 0x0f0a0121, 0x0f0b0121, 0x0f0b0121, 0x0f0b0121, 0x0f0b0121,
    +    0x0f0f0121, 0x0f100121, 0x0f120121, 0x0f120121, 0x0f130121, 0x0f130121, 0x0f160121, 0x0f160121,
    +    0x0f160121, 0x0f160121, 0x0f1d0121, 0x0f1d0121, 0x0f200121, 0x0f200121, 0x0f200121, 0x0f200121,
    +    0x0f200121, 0x0f2d0121, 0x0f2d0121, 0x0f2d0121, 0x0f2d0121, 0x0f2d0121, 0x0f320131, 0x0f320131,
    +    0x0f320131, 0x0f320131, 0x0f330121, 0x0f330121, 0x0f330121, 0x0f330121, 0x0f330121, 0x0f390121,
    +    0x0f390121, 0x0f390121, 0x0f490131, 0x0f490131, 0x0f490131, 0x0f490131, 0x0f490131, 0x0ed50131,
    +    0x0ed50131, 0x0ed70131, 0x0ed70131, 0x0edc0131, 0x0edc0131, 0x0edd0131, 0x0edd0131, 0x0f040131,
    +    0x0f040131, 0x0f050131, 0x0f050131, 0x0f200131, 0x0f200131, 0x0f2d0131, 0x0f330131, 0x0f330131,
    +    0x0f490141, 0x0f490141, 0x00006e21, 0x00006e21, 0x00006e21, 0x0f0f0151, 0x0f0f0151, 0x0f120151,
    +    0x0f120151, 0x0f130151, 0x0f130151, 0x0f040151, 0x0f040151, 0x0f050151, 0x0f050151, 0x0ee90151,
    +    /* 0xfd00 .. 0xfdff */
    +    0x0ee90151, 0x0ee30151, 0x0ee30151, 0x0eea0151, 0x0eea0151, 0x0f0a0151, 0x0f0a0151, 0x0f0b0151,
    +    0x0f0b0151, 0x0f050151, 0x0f050151, 0x0f050151, 0x0f050151, 0x0f050151, 0x0f040151, 0x0f0a0151,
    +    0x0f0b0151, 0x0f0f0141, 0x0f0f0141, 0x0f120141, 0x0f120141, 0x0f130141, 0x0f130141, 0x0f040141,
    +    0x0f040141, 0x0f050141, 0x0f050141, 0x0ee90141, 0x0ee90141, 0x0ee30141, 0x0ee30141, 0x0eea0141,
    +    0x0eea0141, 0x0f0a0141, 0x0f0a0141, 0x0f0b0141, 0x0f0b0141, 0x0f050141, 0x0f050141, 0x0f050141,
    +    0x0f050141, 0x0f050141, 0x0f040141, 0x0f0a0141, 0x0f0b0141, 0x0f050121, 0x0f050121, 0x0f050121,
    +    0x0f050121, 0x0f040121, 0x0f050121, 0x0f0f0121, 0x0f040131, 0x0f040131, 0x0f040131, 0x0f050131,
    +    0x0f050131, 0x0f050131, 0x0f0f0131, 0x0f100131, 0x0ed60131, 0x0ed60141, 0x029a0111, 0x029b0111,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0edc0121, 0x0edc0141, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121, 0x0edc0121,
    +    0x0ee30141, 0x0ee30121, 0x0ee90141, 0x0ee90141, 0x0f040121, 0x0f040121, 0x0f040141, 0x0f040141,
    +    0x0f040121, 0x0f040121, 0x0f040141, 0x0f040121, 0x0f0a0141, 0x0f0a0121, 0x0f0a0141, 0x0f050141,
    +    0x0f050121, 0x0f050141, 0x0f050141, 0x0f050121, 0x0f050141, 0x0f050121, 0x0f0b0141, 0x0f0b0141,
    +    0x0f0b0121, 0x0f0f0141, 0x0f0f0121, 0x0f0f0121, 0x0f0f0141, 0x0f120141, 0x0f120141, 0x0f120121,
    +    0x0f120141, 0x0f130141, 0x0f130141, 0x0f130141, 0x0f160141, 0x0f160121, 0x0f1d0141, 0x0f1d0141,
    +    0x0f2d0141, 0x0f2d0141, 0x0f2d0141, 0x0f2d0121, 0x0f2d0141, 0x0f2d0141, 0x0f2d0121, 0x0f2d0141,
    +    0x0f2d0121, 0x0f320131, 0x0f320131, 0x0f320151, 0x0f320131, 0x0f320131, 0x0f320131, 0x0f320131,
    +    0xffffffff, 0xffffffff, 0x0f320131, 0x0f390121, 0x0f390121, 0x0f330121, 0x0f330141, 0x0f330141,
    +    0x0f330121, 0x0f330141, 0x0f330141, 0x0f330141, 0x0f490151, 0x0f490131, 0x0ed70141, 0x0edc0141,
    +    0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0edc0141, 0x0ee30141, 0x0ee30141, 0x0ee30141,
    +    0x0f040141, 0x0f0a0141, 0x0f050141, 0x0f0b0141, 0x0f2d0141, 0x0f2d0141, 0x0f490151, 0x0f490151,
    +    0x0f490151, 0x0f320151, 0x0f1d0141, 0x0f330141, 0x0f1d0121, 0x0f2d0121, 0x0f120141, 0x0f200141,
    +    0x0f330121, 0x0f320151, 0x0f2d0121, 0x0f200141, 0x0f2d0141, 0x0f330141, 0x0ee30141, 0x0ee90141,
    +    0x0f320151, 0x0f160141, 0x0ed70141, 0x0f200121, 0x0f120121, 0x0f0a0121, 0x0f040141, 0x0f330141,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x0f0a0151, 0x0f1d0151, 0x0ed60141, 0x0ed60141, 0x0f320161, 0x0f0a0151, 0x0ef90131, 0x0f120151,
    +    0x0f3e0141, 0x0f0a0151, 0x0f0a0151, 0x0ee30151, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    /* 0xfe00 .. 0xfeff */
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x00005011, 0x00005111, 0x00005211, 0x00005311, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x02550151, 0x02280131, 0x02270121, 0x021b0141, 0x021b0141, 0x027a0171, 0x027b0161, 0x027e0141,
    +    0x027f0141, 0x02920131, 0x02930131, 0x02900121, 0x02910121, 0x028a0121, 0x028b0121, 0x02880121,
    +    0x02890121, 0x028c0131, 0x028d0131, 0x028e0121, 0x028f0121, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x02110121, 0x02110121, 0x02110121, 0x02110121, 0x021b0131, 0x021b0131, 0x021b0131,
    +    0x022d0131, 0x02340121, 0x02550141, 0xffffffff, 0x02350131, 0x02370131, 0x024e0141, 0x024b0141,
    +    0x02280121, 0x027a0141, 0x027b0131, 0x027e0131, 0x027f0131, 0x02920121, 0x02930121, 0x02a90131,
    +    0x02a70131, 0x02a20131, 0x039f0141, 0x02210131, 0x03a30131, 0x03a50131, 0x03a40131, 0xffffffff,
    +    0x02a60131, 0x09e00131, 0x02aa0131, 0x02a10131, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x00006831, 0x00006821, 0x00006921, 0xffffffff, 0x00006a21, 0xffffffff, 0x00006b31, 0x00006b21,
    +    0x00006c31, 0x00006c21, 0x00006d31, 0x00006d21, 0x00006e31, 0x00006e21, 0x00006f31, 0x00006f21,
    +    0x0ecd0131, 0x0ece0131, 0x0ece0121, 0x0ecf0131, 0x0ecf0121, 0x0ed20131, 0x0ed20121, 0x0ed30131,
    +    0x0ed30121, 0x0ed50151, 0x0ed50141, 0x0ed50121, 0x0ed50131, 0x0ed60141, 0x0ed60131, 0x0ed70151,
    +    0x0ed70141, 0x0ed70121, 0x0ed70131, 0x0edb0131, 0x0edb0121, 0x0edc0151, 0x0edc0141, 0x0edc0121,
    +    0x0edc0131, 0x0edd0151, 0x0edd0141, 0x0edd0121, 0x0edd0131, 0x0ee30151, 0x0ee30141, 0x0ee30121,
    +    0x0ee30131, 0x0ee90151, 0x0ee90141, 0x0ee90121, 0x0ee90131, 0x0eea0151, 0x0eea0141, 0x0eea0121,
    +    0x0eea0131, 0x0eee0131, 0x0eee0121, 0x0eef0131, 0x0eef0121, 0x0ef90131, 0x0ef90121, 0x0efa0131,
    +    0x0efa0121, 0x0f040151, 0x0f040141, 0x0f040121, 0x0f040131, 0x0f050151, 0x0f050141, 0x0f050121,
    +    0x0f050131, 0x0f0a0151, 0x0f0a0141, 0x0f0a0121, 0x0f0a0131, 0x0f0b0151, 0x0f0b0141, 0x0f0b0121,
    +    0x0f0b0131, 0x0f0f0151, 0x0f0f0141, 0x0f0f0121, 0x0f0f0131, 0x0f100151, 0x0f100141, 0x0f100121,
    +    0x0f100131, 0x0f120151, 0x0f120141, 0x0f120121, 0x0f120131, 0x0f130151, 0x0f130141, 0x0f130121,
    +    0x0f130131, 0x0f160151, 0x0f160141, 0x0f160121, 0x0f160131, 0x0f1d0151, 0x0f1d0141, 0x0f1d0121,
    +    0x0f1d0131, 0x0f200151, 0x0f200141, 0x0f200121, 0x0f200131, 0x0f2d0151, 0x0f2d0141, 0x0f2d0121,
    +    0x0f2d0131, 0x0f320161, 0x0f320151, 0x0f320131, 0x0f320141, 0x0f330151, 0x0f330141, 0x0f330121,
    +    0x0f330131, 0x0f390151, 0x0f390141, 0x0f390121, 0x0f390131, 0x0f3e0141, 0x0f3e0131, 0x0f480151,
    +    0x0f480141, 0x0f490161, 0x0f490151, 0x0f490131, 0x0f490141, 0x0f2d0151, 0x0f2d0141, 0x0f2d0151,
    +    0x0f2d0141, 0x0f2d0151, 0x0f2d0141, 0x0f2d0151, 0x0f2d0141, 0xffffffff, 0xffffffff, 0x00000000,
    +    /* 0xff00 .. 0xffff */
    +    0xffffffff, 0x024b0121, 0x02700121, 0x02a90121, 0x09e00121, 0x02aa0121, 0x02a70121, 0x02690121,
    +    0x027a0121, 0x027b0121, 0x02a20121, 0x039f0121, 0x022d0121, 0x02210121, 0x02550121, 0x02a40121,
    +    0x0a0b0121, 0x0a0c0121, 0x0a0d0121, 0x0a0e0121, 0x0a0f0121, 0x0a100121, 0x0a110121, 0x0a120121,
    +    0x0a130121, 0x0a140121, 0x02370121, 0x02350121, 0x03a30121, 0x03a40121, 0x03a50121, 0x024e0121,
    +    0x02a10121, 0x0a150161, 0x0a290151, 0x0a3d0161, 0x0a490161, 0x0a650161, 0x0a910161, 0x0a990161,
    +    0x0ab90161, 0x0ad30171, 0x0ae70151, 0x0af70151, 0x0b030171, 0x0b2b0161, 0x0b330161, 0x0b4b0171,
    +    0x0b670151, 0x0b730151, 0x0b7f0151, 0x0ba70161, 0x0bbf0161, 0x0bd70151, 0x0bef0161, 0x0bfb0151,
    +    0x0c030161, 0x0c070151, 0x0c130151, 0x027c0121, 0x02a60121, 0x027d0121, 0x020f0121, 0x021b0121,
    +    0x020c0121, 0x0a150121, 0x0a290121, 0x0a3d0121, 0x0a490121, 0x0a650121, 0x0a910121, 0x0a990121,
    +    0x0ab90121, 0x0ad30121, 0x0ae70121, 0x0af70121, 0x0b030121, 0x0b2b0121, 0x0b330121, 0x0b4b0121,
    +    0x0b670121, 0x0b730121, 0x0b7f0121, 0x0ba70121, 0x0bbf0121, 0x0bd70121, 0x0bef0121, 0x0bfb0121,
    +    0x0c030121, 0x0c070121, 0x0c130121, 0x027e0121, 0x03a70121, 0x027f0121, 0x03aa0121, 0xffffffff,
    +    0xffffffff, 0x025e0121, 0x028c0121, 0x028d0121, 0x02340131, 0x022c0121, 0x194f0131, 0x19210141,
    +    0x19220141, 0x19230141, 0x19240141, 0x19250141, 0x19440141, 0x19450141, 0x19460141, 0x19320141,
    +    0x09dc0121, 0x19210161, 0x19220161, 0x19230161, 0x19240161, 0x19250161, 0x19260141, 0x19270131,
    +    0x19280131, 0x19290141, 0x192a0131, 0x192b0131, 0x192c0141, 0x192d0131, 0x192e0131, 0x192f0131,
    +    0x19300131, 0x19310131, 0x19320161, 0x19330131, 0x19340131, 0x19350131, 0x19360131, 0x19370131,
    +    0x19380131, 0x19390131, 0x193a0131, 0x193b0131, 0x193c0131, 0x193d0131, 0x193e0131, 0x193f0131,
    +    0x19400131, 0x19410131, 0x19420131, 0x19430131, 0x19440161, 0x19450161, 0x19460161, 0x19470131,
    +    0x19480131, 0x19490131, 0x194a0131, 0x194b0131, 0x194c0151, 0x19500131, 0x0000e221, 0x0000e321,
    +    0x188c0131, 0x18310141, 0x18320131, 0x18d10131, 0x18330141, 0x18d30131, 0x18d40131, 0x18340141,
    +    0x18350131, 0x18360141, 0x18d70131, 0x18d80131, 0x18d90131, 0x18da0131, 0x18db0131, 0x18dc0131,
    +    0x184b0131, 0x18370141, 0x18380141, 0x18390131, 0x18520131, 0x183a0141, 0x183b0131, 0x183c0141,
    +    0x183d0141, 0x183e0131, 0x183f0141, 0x18400141, 0x18410141, 0x18420141, 0x18430141, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0x188d0131, 0x188e0131, 0x188f0131, 0x18900131, 0x18910131, 0x18920131,
    +    0xffffffff, 0xffffffff, 0x18930131, 0x18940131, 0x18950131, 0x18960131, 0x18970131, 0x18980131,
    +    0xffffffff, 0xffffffff, 0x18990131, 0x189a0131, 0x189b0131, 0x189c0131, 0x189d0131, 0x189e0131,
    +    0xffffffff, 0xffffffff, 0x189f0131, 0x18a00131, 0x18a10131, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0x09df0121, 0x09e10121, 0x03a60121, 0x02100121, 0x03a80121, 0x09e20121, 0x09ef0121, 0xffffffff,
    +    0x05300121, 0x03320121, 0x03340121, 0x03330121, 0x03350121, 0x05c40121, 0x05ef0121, 0xffffffff,
    +    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
    +    0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x09bf0111, 0x09c00111, 0xffffffff, 0xffffffff
    +};
    diff --git a/reactos/lib/unicode/compose.c b/reactos/tools/unicode/compose.c
    similarity index 98%
    rename from reactos/lib/unicode/compose.c
    rename to reactos/tools/unicode/compose.c
    index 43dcebd2f55..8d5567df0c8 100644
    --- a/reactos/lib/unicode/compose.c
    +++ b/reactos/tools/unicode/compose.c
    @@ -1,1098 +1,1098 @@
    -/* Unicode char composition */
    -/* Automatically generated; DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -const WCHAR unicode_compose_table[0x846] =
    -{
    -    /* second chars + offsets */
    -    0x0300, 0x0046, 0x0301, 0x009a, 0x0302, 0x0110, 0x0303, 0x0130,
    -    0x0304, 0x014c, 0x0306, 0x0178, 0x0307, 0x0198, 0x0308, 0x01c6,
    -    0x0309, 0x01fc, 0x030a, 0x0214, 0x030b, 0x021a, 0x030c, 0x0220,
    -    0x030f, 0x0245, 0x0311, 0x0253, 0x0313, 0x025f, 0x0314, 0x026d,
    -    0x031b, 0x027d, 0x0323, 0x0281, 0x0324, 0x02ab, 0x0325, 0x02ad,
    -    0x0326, 0x02af, 0x0327, 0x02b3, 0x0328, 0x02c9, 0x032d, 0x02d3,
    -    0x032e, 0x02df, 0x0330, 0x02e1, 0x0331, 0x02e7, 0x0338, 0x02f8,
    -    0x0342, 0x0325, 0x0345, 0x0342, 0x05b4, 0x0381, 0x05b7, 0x0382,
    -    0x05b8, 0x0384, 0x05b9, 0x0385, 0x05bc, 0x0386, 0x05bf, 0x039c,
    -    0x05c1, 0x039f, 0x05c2, 0x03a1, 0x0653, 0x03a3, 0x0654, 0x03a4,
    -    0x0655, 0x03aa, 0x093c, 0x03ab, 0x09bc, 0x03b6, 0x09be, 0x03b9,
    -    0x09d7, 0x03ba, 0x0a3c, 0x03bb, 0x0b3c, 0x03c1, 0x0b3e, 0x03c3,
    -    0x0b56, 0x03c4, 0x0b57, 0x03c5, 0x0bbe, 0x03c6, 0x0bd7, 0x03c8,
    -    0x0c56, 0x03ca, 0x0cc2, 0x03cb, 0x0cd5, 0x03cc, 0x0cd6, 0x03cf,
    -    0x0d3e, 0x03d0, 0x0d57, 0x03d2, 0x0dca, 0x03d3, 0x0dcf, 0x03d5,
    -    0x0ddf, 0x03d6, 0x0f72, 0x03d7, 0x0f74, 0x03d8, 0x0f80, 0x03d9,
    -    0x0fb5, 0x03dc, 0x0fb7, 0x03de, 0x102e, 0x03e8, 0x3099, 0x03e9,
    -    0x309a, 0x0419, 0x0000, 0x0423,
    -    /* 0x0300 */
    -    0x0041, 0x00c0, 0x0045, 0x00c8, 0x0049, 0x00cc, 0x004e, 0x01f8,
    -    0x004f, 0x00d2, 0x0055, 0x00d9, 0x0057, 0x1e80, 0x0059, 0x1ef2,
    -    0x0061, 0x00e0, 0x0065, 0x00e8, 0x0069, 0x00ec, 0x006e, 0x01f9,
    -    0x006f, 0x00f2, 0x0075, 0x00f9, 0x0077, 0x1e81, 0x0079, 0x1ef3,
    -    0x00a8, 0x1fed, 0x00c2, 0x1ea6, 0x00ca, 0x1ec0, 0x00d4, 0x1ed2,
    -    0x00dc, 0x01db, 0x00e2, 0x1ea7, 0x00ea, 0x1ec1, 0x00f4, 0x1ed3,
    -    0x00fc, 0x01dc, 0x0102, 0x1eb0, 0x0103, 0x1eb1, 0x0112, 0x1e14,
    -    0x0113, 0x1e15, 0x014c, 0x1e50, 0x014d, 0x1e51, 0x01a0, 0x1edc,
    -    0x01a1, 0x1edd, 0x01af, 0x1eea, 0x01b0, 0x1eeb, 0x0391, 0x1fba,
    -    0x0395, 0x1fc8, 0x0397, 0x1fca, 0x0399, 0x1fda, 0x039f, 0x1ff8,
    -    0x03a5, 0x1fea, 0x03a9, 0x1ffa, 0x03b1, 0x1f70, 0x03b5, 0x1f72,
    -    0x03b7, 0x1f74, 0x03b9, 0x1f76, 0x03bf, 0x1f78, 0x03c5, 0x1f7a,
    -    0x03c9, 0x1f7c, 0x03ca, 0x1fd2, 0x03cb, 0x1fe2, 0x0415, 0x0400,
    -    0x0418, 0x040d, 0x0435, 0x0450, 0x0438, 0x045d, 0x1f00, 0x1f02,
    -    0x1f01, 0x1f03, 0x1f08, 0x1f0a, 0x1f09, 0x1f0b, 0x1f10, 0x1f12,
    -    0x1f11, 0x1f13, 0x1f18, 0x1f1a, 0x1f19, 0x1f1b, 0x1f20, 0x1f22,
    -    0x1f21, 0x1f23, 0x1f28, 0x1f2a, 0x1f29, 0x1f2b, 0x1f30, 0x1f32,
    -    0x1f31, 0x1f33, 0x1f38, 0x1f3a, 0x1f39, 0x1f3b, 0x1f40, 0x1f42,
    -    0x1f41, 0x1f43, 0x1f48, 0x1f4a, 0x1f49, 0x1f4b, 0x1f50, 0x1f52,
    -    0x1f51, 0x1f53, 0x1f59, 0x1f5b, 0x1f60, 0x1f62, 0x1f61, 0x1f63,
    -    0x1f68, 0x1f6a, 0x1f69, 0x1f6b, 0x1fbf, 0x1fcd, 0x1ffe, 0x1fdd,
    -    /* 0x0301 */
    -    0x0041, 0x00c1, 0x0043, 0x0106, 0x0045, 0x00c9, 0x0047, 0x01f4,
    -    0x0049, 0x00cd, 0x004b, 0x1e30, 0x004c, 0x0139, 0x004d, 0x1e3e,
    -    0x004e, 0x0143, 0x004f, 0x00d3, 0x0050, 0x1e54, 0x0052, 0x0154,
    -    0x0053, 0x015a, 0x0055, 0x00da, 0x0057, 0x1e82, 0x0059, 0x00dd,
    -    0x005a, 0x0179, 0x0061, 0x00e1, 0x0063, 0x0107, 0x0065, 0x00e9,
    -    0x0067, 0x01f5, 0x0069, 0x00ed, 0x006b, 0x1e31, 0x006c, 0x013a,
    -    0x006d, 0x1e3f, 0x006e, 0x0144, 0x006f, 0x00f3, 0x0070, 0x1e55,
    -    0x0072, 0x0155, 0x0073, 0x015b, 0x0075, 0x00fa, 0x0077, 0x1e83,
    -    0x0079, 0x00fd, 0x007a, 0x017a, 0x00a8, 0x0385, 0x00c2, 0x1ea4,
    -    0x00c5, 0x01fa, 0x00c6, 0x01fc, 0x00c7, 0x1e08, 0x00ca, 0x1ebe,
    -    0x00cf, 0x1e2e, 0x00d4, 0x1ed0, 0x00d5, 0x1e4c, 0x00d8, 0x01fe,
    -    0x00dc, 0x01d7, 0x00e2, 0x1ea5, 0x00e5, 0x01fb, 0x00e6, 0x01fd,
    -    0x00e7, 0x1e09, 0x00ea, 0x1ebf, 0x00ef, 0x1e2f, 0x00f4, 0x1ed1,
    -    0x00f5, 0x1e4d, 0x00f8, 0x01ff, 0x00fc, 0x01d8, 0x0102, 0x1eae,
    -    0x0103, 0x1eaf, 0x0112, 0x1e16, 0x0113, 0x1e17, 0x014c, 0x1e52,
    -    0x014d, 0x1e53, 0x0168, 0x1e78, 0x0169, 0x1e79, 0x01a0, 0x1eda,
    -    0x01a1, 0x1edb, 0x01af, 0x1ee8, 0x01b0, 0x1ee9, 0x0308, 0x0344,
    -    0x0391, 0x0386, 0x0395, 0x0388, 0x0397, 0x0389, 0x0399, 0x038a,
    -    0x039f, 0x038c, 0x03a5, 0x038e, 0x03a9, 0x038f, 0x03b1, 0x03ac,
    -    0x03b5, 0x03ad, 0x03b7, 0x03ae, 0x03b9, 0x03af, 0x03bf, 0x03cc,
    -    0x03c5, 0x03cd, 0x03c9, 0x03ce, 0x03ca, 0x0390, 0x03cb, 0x03b0,
    -    0x03d2, 0x03d3, 0x0413, 0x0403, 0x041a, 0x040c, 0x0433, 0x0453,
    -    0x043a, 0x045c, 0x1f00, 0x1f04, 0x1f01, 0x1f05, 0x1f08, 0x1f0c,
    -    0x1f09, 0x1f0d, 0x1f10, 0x1f14, 0x1f11, 0x1f15, 0x1f18, 0x1f1c,
    -    0x1f19, 0x1f1d, 0x1f20, 0x1f24, 0x1f21, 0x1f25, 0x1f28, 0x1f2c,
    -    0x1f29, 0x1f2d, 0x1f30, 0x1f34, 0x1f31, 0x1f35, 0x1f38, 0x1f3c,
    -    0x1f39, 0x1f3d, 0x1f40, 0x1f44, 0x1f41, 0x1f45, 0x1f48, 0x1f4c,
    -    0x1f49, 0x1f4d, 0x1f50, 0x1f54, 0x1f51, 0x1f55, 0x1f59, 0x1f5d,
    -    0x1f60, 0x1f64, 0x1f61, 0x1f65, 0x1f68, 0x1f6c, 0x1f69, 0x1f6d,
    -    0x1fbf, 0x1fce, 0x1ffe, 0x1fde,
    -    /* 0x0302 */
    -    0x0041, 0x00c2, 0x0043, 0x0108, 0x0045, 0x00ca, 0x0047, 0x011c,
    -    0x0048, 0x0124, 0x0049, 0x00ce, 0x004a, 0x0134, 0x004f, 0x00d4,
    -    0x0053, 0x015c, 0x0055, 0x00db, 0x0057, 0x0174, 0x0059, 0x0176,
    -    0x005a, 0x1e90, 0x0061, 0x00e2, 0x0063, 0x0109, 0x0065, 0x00ea,
    -    0x0067, 0x011d, 0x0068, 0x0125, 0x0069, 0x00ee, 0x006a, 0x0135,
    -    0x006f, 0x00f4, 0x0073, 0x015d, 0x0075, 0x00fb, 0x0077, 0x0175,
    -    0x0079, 0x0177, 0x007a, 0x1e91, 0x1ea0, 0x1eac, 0x1ea1, 0x1ead,
    -    0x1eb8, 0x1ec6, 0x1eb9, 0x1ec7, 0x1ecc, 0x1ed8, 0x1ecd, 0x1ed9,
    -    /* 0x0303 */
    -    0x0041, 0x00c3, 0x0045, 0x1ebc, 0x0049, 0x0128, 0x004e, 0x00d1,
    -    0x004f, 0x00d5, 0x0055, 0x0168, 0x0056, 0x1e7c, 0x0059, 0x1ef8,
    -    0x0061, 0x00e3, 0x0065, 0x1ebd, 0x0069, 0x0129, 0x006e, 0x00f1,
    -    0x006f, 0x00f5, 0x0075, 0x0169, 0x0076, 0x1e7d, 0x0079, 0x1ef9,
    -    0x00c2, 0x1eaa, 0x00ca, 0x1ec4, 0x00d4, 0x1ed6, 0x00e2, 0x1eab,
    -    0x00ea, 0x1ec5, 0x00f4, 0x1ed7, 0x0102, 0x1eb4, 0x0103, 0x1eb5,
    -    0x01a0, 0x1ee0, 0x01a1, 0x1ee1, 0x01af, 0x1eee, 0x01b0, 0x1eef,
    -    /* 0x0304 */
    -    0x0041, 0x0100, 0x0045, 0x0112, 0x0047, 0x1e20, 0x0049, 0x012a,
    -    0x004f, 0x014c, 0x0055, 0x016a, 0x0059, 0x0232, 0x0061, 0x0101,
    -    0x0065, 0x0113, 0x0067, 0x1e21, 0x0069, 0x012b, 0x006f, 0x014d,
    -    0x0075, 0x016b, 0x0079, 0x0233, 0x00c4, 0x01de, 0x00c6, 0x01e2,
    -    0x00d5, 0x022c, 0x00d6, 0x022a, 0x00dc, 0x01d5, 0x00e4, 0x01df,
    -    0x00e6, 0x01e3, 0x00f5, 0x022d, 0x00f6, 0x022b, 0x00fc, 0x01d6,
    -    0x01ea, 0x01ec, 0x01eb, 0x01ed, 0x0226, 0x01e0, 0x0227, 0x01e1,
    -    0x022e, 0x0230, 0x022f, 0x0231, 0x0391, 0x1fb9, 0x0399, 0x1fd9,
    -    0x03a5, 0x1fe9, 0x03b1, 0x1fb1, 0x03b9, 0x1fd1, 0x03c5, 0x1fe1,
    -    0x0418, 0x04e2, 0x0423, 0x04ee, 0x0438, 0x04e3, 0x0443, 0x04ef,
    -    0x1e36, 0x1e38, 0x1e37, 0x1e39, 0x1e5a, 0x1e5c, 0x1e5b, 0x1e5d,
    -    /* 0x0306 */
    -    0x0041, 0x0102, 0x0045, 0x0114, 0x0047, 0x011e, 0x0049, 0x012c,
    -    0x004f, 0x014e, 0x0055, 0x016c, 0x0061, 0x0103, 0x0065, 0x0115,
    -    0x0067, 0x011f, 0x0069, 0x012d, 0x006f, 0x014f, 0x0075, 0x016d,
    -    0x0228, 0x1e1c, 0x0229, 0x1e1d, 0x0391, 0x1fb8, 0x0399, 0x1fd8,
    -    0x03a5, 0x1fe8, 0x03b1, 0x1fb0, 0x03b9, 0x1fd0, 0x03c5, 0x1fe0,
    -    0x0410, 0x04d0, 0x0415, 0x04d6, 0x0416, 0x04c1, 0x0418, 0x0419,
    -    0x0423, 0x040e, 0x0430, 0x04d1, 0x0435, 0x04d7, 0x0436, 0x04c2,
    -    0x0438, 0x0439, 0x0443, 0x045e, 0x1ea0, 0x1eb6, 0x1ea1, 0x1eb7,
    -    /* 0x0307 */
    -    0x0041, 0x0226, 0x0042, 0x1e02, 0x0043, 0x010a, 0x0044, 0x1e0a,
    -    0x0045, 0x0116, 0x0046, 0x1e1e, 0x0047, 0x0120, 0x0048, 0x1e22,
    -    0x0049, 0x0130, 0x004d, 0x1e40, 0x004e, 0x1e44, 0x004f, 0x022e,
    -    0x0050, 0x1e56, 0x0052, 0x1e58, 0x0053, 0x1e60, 0x0054, 0x1e6a,
    -    0x0057, 0x1e86, 0x0058, 0x1e8a, 0x0059, 0x1e8e, 0x005a, 0x017b,
    -    0x0061, 0x0227, 0x0062, 0x1e03, 0x0063, 0x010b, 0x0064, 0x1e0b,
    -    0x0065, 0x0117, 0x0066, 0x1e1f, 0x0067, 0x0121, 0x0068, 0x1e23,
    -    0x006d, 0x1e41, 0x006e, 0x1e45, 0x006f, 0x022f, 0x0070, 0x1e57,
    -    0x0072, 0x1e59, 0x0073, 0x1e61, 0x0074, 0x1e6b, 0x0077, 0x1e87,
    -    0x0078, 0x1e8b, 0x0079, 0x1e8f, 0x007a, 0x017c, 0x015a, 0x1e64,
    -    0x015b, 0x1e65, 0x0160, 0x1e66, 0x0161, 0x1e67, 0x017f, 0x1e9b,
    -    0x1e62, 0x1e68, 0x1e63, 0x1e69,
    -    /* 0x0308 */
    -    0x0041, 0x00c4, 0x0045, 0x00cb, 0x0048, 0x1e26, 0x0049, 0x00cf,
    -    0x004f, 0x00d6, 0x0055, 0x00dc, 0x0057, 0x1e84, 0x0058, 0x1e8c,
    -    0x0059, 0x0178, 0x0061, 0x00e4, 0x0065, 0x00eb, 0x0068, 0x1e27,
    -    0x0069, 0x00ef, 0x006f, 0x00f6, 0x0074, 0x1e97, 0x0075, 0x00fc,
    -    0x0077, 0x1e85, 0x0078, 0x1e8d, 0x0079, 0x00ff, 0x00d5, 0x1e4e,
    -    0x00f5, 0x1e4f, 0x016a, 0x1e7a, 0x016b, 0x1e7b, 0x0399, 0x03aa,
    -    0x03a5, 0x03ab, 0x03b9, 0x03ca, 0x03c5, 0x03cb, 0x03d2, 0x03d4,
    -    0x0406, 0x0407, 0x0410, 0x04d2, 0x0415, 0x0401, 0x0416, 0x04dc,
    -    0x0417, 0x04de, 0x0418, 0x04e4, 0x041e, 0x04e6, 0x0423, 0x04f0,
    -    0x0427, 0x04f4, 0x042b, 0x04f8, 0x042d, 0x04ec, 0x0430, 0x04d3,
    -    0x0435, 0x0451, 0x0436, 0x04dd, 0x0437, 0x04df, 0x0438, 0x04e5,
    -    0x043e, 0x04e7, 0x0443, 0x04f1, 0x0447, 0x04f5, 0x044b, 0x04f9,
    -    0x044d, 0x04ed, 0x0456, 0x0457, 0x04d8, 0x04da, 0x04d9, 0x04db,
    -    0x04e8, 0x04ea, 0x04e9, 0x04eb,
    -    /* 0x0309 */
    -    0x0041, 0x1ea2, 0x0045, 0x1eba, 0x0049, 0x1ec8, 0x004f, 0x1ece,
    -    0x0055, 0x1ee6, 0x0059, 0x1ef6, 0x0061, 0x1ea3, 0x0065, 0x1ebb,
    -    0x0069, 0x1ec9, 0x006f, 0x1ecf, 0x0075, 0x1ee7, 0x0079, 0x1ef7,
    -    0x00c2, 0x1ea8, 0x00ca, 0x1ec2, 0x00d4, 0x1ed4, 0x00e2, 0x1ea9,
    -    0x00ea, 0x1ec3, 0x00f4, 0x1ed5, 0x0102, 0x1eb2, 0x0103, 0x1eb3,
    -    0x01a0, 0x1ede, 0x01a1, 0x1edf, 0x01af, 0x1eec, 0x01b0, 0x1eed,
    -    /* 0x030a */
    -    0x0041, 0x00c5, 0x0055, 0x016e, 0x0061, 0x00e5, 0x0075, 0x016f,
    -    0x0077, 0x1e98, 0x0079, 0x1e99,
    -    /* 0x030b */
    -    0x004f, 0x0150, 0x0055, 0x0170, 0x006f, 0x0151, 0x0075, 0x0171,
    -    0x0423, 0x04f2, 0x0443, 0x04f3,
    -    /* 0x030c */
    -    0x0041, 0x01cd, 0x0043, 0x010c, 0x0044, 0x010e, 0x0045, 0x011a,
    -    0x0047, 0x01e6, 0x0048, 0x021e, 0x0049, 0x01cf, 0x004b, 0x01e8,
    -    0x004c, 0x013d, 0x004e, 0x0147, 0x004f, 0x01d1, 0x0052, 0x0158,
    -    0x0053, 0x0160, 0x0054, 0x0164, 0x0055, 0x01d3, 0x005a, 0x017d,
    -    0x0061, 0x01ce, 0x0063, 0x010d, 0x0064, 0x010f, 0x0065, 0x011b,
    -    0x0067, 0x01e7, 0x0068, 0x021f, 0x0069, 0x01d0, 0x006a, 0x01f0,
    -    0x006b, 0x01e9, 0x006c, 0x013e, 0x006e, 0x0148, 0x006f, 0x01d2,
    -    0x0072, 0x0159, 0x0073, 0x0161, 0x0074, 0x0165, 0x0075, 0x01d4,
    -    0x007a, 0x017e, 0x00dc, 0x01d9, 0x00fc, 0x01da, 0x01b7, 0x01ee,
    -    0x0292, 0x01ef,
    -    /* 0x030f */
    -    0x0041, 0x0200, 0x0045, 0x0204, 0x0049, 0x0208, 0x004f, 0x020c,
    -    0x0052, 0x0210, 0x0055, 0x0214, 0x0061, 0x0201, 0x0065, 0x0205,
    -    0x0069, 0x0209, 0x006f, 0x020d, 0x0072, 0x0211, 0x0075, 0x0215,
    -    0x0474, 0x0476, 0x0475, 0x0477,
    -    /* 0x0311 */
    -    0x0041, 0x0202, 0x0045, 0x0206, 0x0049, 0x020a, 0x004f, 0x020e,
    -    0x0052, 0x0212, 0x0055, 0x0216, 0x0061, 0x0203, 0x0065, 0x0207,
    -    0x0069, 0x020b, 0x006f, 0x020f, 0x0072, 0x0213, 0x0075, 0x0217,
    -    /* 0x0313 */
    -    0x0391, 0x1f08, 0x0395, 0x1f18, 0x0397, 0x1f28, 0x0399, 0x1f38,
    -    0x039f, 0x1f48, 0x03a9, 0x1f68, 0x03b1, 0x1f00, 0x03b5, 0x1f10,
    -    0x03b7, 0x1f20, 0x03b9, 0x1f30, 0x03bf, 0x1f40, 0x03c1, 0x1fe4,
    -    0x03c5, 0x1f50, 0x03c9, 0x1f60,
    -    /* 0x0314 */
    -    0x0391, 0x1f09, 0x0395, 0x1f19, 0x0397, 0x1f29, 0x0399, 0x1f39,
    -    0x039f, 0x1f49, 0x03a1, 0x1fec, 0x03a5, 0x1f59, 0x03a9, 0x1f69,
    -    0x03b1, 0x1f01, 0x03b5, 0x1f11, 0x03b7, 0x1f21, 0x03b9, 0x1f31,
    -    0x03bf, 0x1f41, 0x03c1, 0x1fe5, 0x03c5, 0x1f51, 0x03c9, 0x1f61,
    -    /* 0x031b */
    -    0x004f, 0x01a0, 0x0055, 0x01af, 0x006f, 0x01a1, 0x0075, 0x01b0,
    -    /* 0x0323 */
    -    0x0041, 0x1ea0, 0x0042, 0x1e04, 0x0044, 0x1e0c, 0x0045, 0x1eb8,
    -    0x0048, 0x1e24, 0x0049, 0x1eca, 0x004b, 0x1e32, 0x004c, 0x1e36,
    -    0x004d, 0x1e42, 0x004e, 0x1e46, 0x004f, 0x1ecc, 0x0052, 0x1e5a,
    -    0x0053, 0x1e62, 0x0054, 0x1e6c, 0x0055, 0x1ee4, 0x0056, 0x1e7e,
    -    0x0057, 0x1e88, 0x0059, 0x1ef4, 0x005a, 0x1e92, 0x0061, 0x1ea1,
    -    0x0062, 0x1e05, 0x0064, 0x1e0d, 0x0065, 0x1eb9, 0x0068, 0x1e25,
    -    0x0069, 0x1ecb, 0x006b, 0x1e33, 0x006c, 0x1e37, 0x006d, 0x1e43,
    -    0x006e, 0x1e47, 0x006f, 0x1ecd, 0x0072, 0x1e5b, 0x0073, 0x1e63,
    -    0x0074, 0x1e6d, 0x0075, 0x1ee5, 0x0076, 0x1e7f, 0x0077, 0x1e89,
    -    0x0079, 0x1ef5, 0x007a, 0x1e93, 0x01a0, 0x1ee2, 0x01a1, 0x1ee3,
    -    0x01af, 0x1ef0, 0x01b0, 0x1ef1,
    -    /* 0x0324 */
    -    0x0055, 0x1e72, 0x0075, 0x1e73,
    -    /* 0x0325 */
    -    0x0041, 0x1e00, 0x0061, 0x1e01,
    -    /* 0x0326 */
    -    0x0053, 0x0218, 0x0054, 0x021a, 0x0073, 0x0219, 0x0074, 0x021b,
    -    /* 0x0327 */
    -    0x0043, 0x00c7, 0x0044, 0x1e10, 0x0045, 0x0228, 0x0047, 0x0122,
    -    0x0048, 0x1e28, 0x004b, 0x0136, 0x004c, 0x013b, 0x004e, 0x0145,
    -    0x0052, 0x0156, 0x0053, 0x015e, 0x0054, 0x0162, 0x0063, 0x00e7,
    -    0x0064, 0x1e11, 0x0065, 0x0229, 0x0067, 0x0123, 0x0068, 0x1e29,
    -    0x006b, 0x0137, 0x006c, 0x013c, 0x006e, 0x0146, 0x0072, 0x0157,
    -    0x0073, 0x015f, 0x0074, 0x0163,
    -    /* 0x0328 */
    -    0x0041, 0x0104, 0x0045, 0x0118, 0x0049, 0x012e, 0x004f, 0x01ea,
    -    0x0055, 0x0172, 0x0061, 0x0105, 0x0065, 0x0119, 0x0069, 0x012f,
    -    0x006f, 0x01eb, 0x0075, 0x0173,
    -    /* 0x032d */
    -    0x0044, 0x1e12, 0x0045, 0x1e18, 0x004c, 0x1e3c, 0x004e, 0x1e4a,
    -    0x0054, 0x1e70, 0x0055, 0x1e76, 0x0064, 0x1e13, 0x0065, 0x1e19,
    -    0x006c, 0x1e3d, 0x006e, 0x1e4b, 0x0074, 0x1e71, 0x0075, 0x1e77,
    -    /* 0x032e */
    -    0x0048, 0x1e2a, 0x0068, 0x1e2b,
    -    /* 0x0330 */
    -    0x0045, 0x1e1a, 0x0049, 0x1e2c, 0x0055, 0x1e74, 0x0065, 0x1e1b,
    -    0x0069, 0x1e2d, 0x0075, 0x1e75,
    -    /* 0x0331 */
    -    0x0042, 0x1e06, 0x0044, 0x1e0e, 0x004b, 0x1e34, 0x004c, 0x1e3a,
    -    0x004e, 0x1e48, 0x0052, 0x1e5e, 0x0054, 0x1e6e, 0x005a, 0x1e94,
    -    0x0062, 0x1e07, 0x0064, 0x1e0f, 0x0068, 0x1e96, 0x006b, 0x1e35,
    -    0x006c, 0x1e3b, 0x006e, 0x1e49, 0x0072, 0x1e5f, 0x0074, 0x1e6f,
    -    0x007a, 0x1e95,
    -    /* 0x0338 */
    -    0x003c, 0x226e, 0x003d, 0x2260, 0x003e, 0x226f, 0x2190, 0x219a,
    -    0x2192, 0x219b, 0x2194, 0x21ae, 0x21d0, 0x21cd, 0x21d2, 0x21cf,
    -    0x21d4, 0x21ce, 0x2203, 0x2204, 0x2208, 0x2209, 0x220b, 0x220c,
    -    0x2223, 0x2224, 0x2225, 0x2226, 0x223c, 0x2241, 0x2243, 0x2244,
    -    0x2245, 0x2247, 0x2248, 0x2249, 0x224d, 0x226d, 0x2261, 0x2262,
    -    0x2264, 0x2270, 0x2265, 0x2271, 0x2272, 0x2274, 0x2273, 0x2275,
    -    0x2276, 0x2278, 0x2277, 0x2279, 0x227a, 0x2280, 0x227b, 0x2281,
    -    0x227c, 0x22e0, 0x227d, 0x22e1, 0x2282, 0x2284, 0x2283, 0x2285,
    -    0x2286, 0x2288, 0x2287, 0x2289, 0x2291, 0x22e2, 0x2292, 0x22e3,
    -    0x22a2, 0x22ac, 0x22a8, 0x22ad, 0x22a9, 0x22ae, 0x22ab, 0x22af,
    -    0x22b2, 0x22ea, 0x22b3, 0x22eb, 0x22b4, 0x22ec, 0x22b5, 0x22ed,
    -    0x2add, 0x2adc,
    -    /* 0x0342 */
    -    0x00a8, 0x1fc1, 0x03b1, 0x1fb6, 0x03b7, 0x1fc6, 0x03b9, 0x1fd6,
    -    0x03c5, 0x1fe6, 0x03c9, 0x1ff6, 0x03ca, 0x1fd7, 0x03cb, 0x1fe7,
    -    0x1f00, 0x1f06, 0x1f01, 0x1f07, 0x1f08, 0x1f0e, 0x1f09, 0x1f0f,
    -    0x1f20, 0x1f26, 0x1f21, 0x1f27, 0x1f28, 0x1f2e, 0x1f29, 0x1f2f,
    -    0x1f30, 0x1f36, 0x1f31, 0x1f37, 0x1f38, 0x1f3e, 0x1f39, 0x1f3f,
    -    0x1f50, 0x1f56, 0x1f51, 0x1f57, 0x1f59, 0x1f5f, 0x1f60, 0x1f66,
    -    0x1f61, 0x1f67, 0x1f68, 0x1f6e, 0x1f69, 0x1f6f, 0x1fbf, 0x1fcf,
    -    0x1ffe, 0x1fdf,
    -    /* 0x0345 */
    -    0x0391, 0x1fbc, 0x0397, 0x1fcc, 0x03a9, 0x1ffc, 0x03ac, 0x1fb4,
    -    0x03ae, 0x1fc4, 0x03b1, 0x1fb3, 0x03b7, 0x1fc3, 0x03c9, 0x1ff3,
    -    0x03ce, 0x1ff4, 0x1f00, 0x1f80, 0x1f01, 0x1f81, 0x1f02, 0x1f82,
    -    0x1f03, 0x1f83, 0x1f04, 0x1f84, 0x1f05, 0x1f85, 0x1f06, 0x1f86,
    -    0x1f07, 0x1f87, 0x1f08, 0x1f88, 0x1f09, 0x1f89, 0x1f0a, 0x1f8a,
    -    0x1f0b, 0x1f8b, 0x1f0c, 0x1f8c, 0x1f0d, 0x1f8d, 0x1f0e, 0x1f8e,
    -    0x1f0f, 0x1f8f, 0x1f20, 0x1f90, 0x1f21, 0x1f91, 0x1f22, 0x1f92,
    -    0x1f23, 0x1f93, 0x1f24, 0x1f94, 0x1f25, 0x1f95, 0x1f26, 0x1f96,
    -    0x1f27, 0x1f97, 0x1f28, 0x1f98, 0x1f29, 0x1f99, 0x1f2a, 0x1f9a,
    -    0x1f2b, 0x1f9b, 0x1f2c, 0x1f9c, 0x1f2d, 0x1f9d, 0x1f2e, 0x1f9e,
    -    0x1f2f, 0x1f9f, 0x1f60, 0x1fa0, 0x1f61, 0x1fa1, 0x1f62, 0x1fa2,
    -    0x1f63, 0x1fa3, 0x1f64, 0x1fa4, 0x1f65, 0x1fa5, 0x1f66, 0x1fa6,
    -    0x1f67, 0x1fa7, 0x1f68, 0x1fa8, 0x1f69, 0x1fa9, 0x1f6a, 0x1faa,
    -    0x1f6b, 0x1fab, 0x1f6c, 0x1fac, 0x1f6d, 0x1fad, 0x1f6e, 0x1fae,
    -    0x1f6f, 0x1faf, 0x1f70, 0x1fb2, 0x1f74, 0x1fc2, 0x1f7c, 0x1ff2,
    -    0x1fb6, 0x1fb7, 0x1fc6, 0x1fc7, 0x1ff6, 0x1ff7,
    -    /* 0x05b4 */
    -    0x05d9, 0xfb1d,
    -    /* 0x05b7 */
    -    0x05d0, 0xfb2e, 0x05f2, 0xfb1f,
    -    /* 0x05b8 */
    -    0x05d0, 0xfb2f,
    -    /* 0x05b9 */
    -    0x05d5, 0xfb4b,
    -    /* 0x05bc */
    -    0x05d0, 0xfb30, 0x05d1, 0xfb31, 0x05d2, 0xfb32, 0x05d3, 0xfb33,
    -    0x05d4, 0xfb34, 0x05d5, 0xfb35, 0x05d6, 0xfb36, 0x05d8, 0xfb38,
    -    0x05d9, 0xfb39, 0x05da, 0xfb3a, 0x05db, 0xfb3b, 0x05dc, 0xfb3c,
    -    0x05de, 0xfb3e, 0x05e0, 0xfb40, 0x05e1, 0xfb41, 0x05e3, 0xfb43,
    -    0x05e4, 0xfb44, 0x05e6, 0xfb46, 0x05e7, 0xfb47, 0x05e8, 0xfb48,
    -    0x05e9, 0xfb49, 0x05ea, 0xfb4a,
    -    /* 0x05bf */
    -    0x05d1, 0xfb4c, 0x05db, 0xfb4d, 0x05e4, 0xfb4e,
    -    /* 0x05c1 */
    -    0x05e9, 0xfb2a, 0xfb49, 0xfb2c,
    -    /* 0x05c2 */
    -    0x05e9, 0xfb2b, 0xfb49, 0xfb2d,
    -    /* 0x0653 */
    -    0x0627, 0x0622,
    -    /* 0x0654 */
    -    0x0627, 0x0623, 0x0648, 0x0624, 0x064a, 0x0626, 0x06c1, 0x06c2,
    -    0x06d2, 0x06d3, 0x06d5, 0x06c0,
    -    /* 0x0655 */
    -    0x0627, 0x0625,
    -    /* 0x093c */
    -    0x0915, 0x0958, 0x0916, 0x0959, 0x0917, 0x095a, 0x091c, 0x095b,
    -    0x0921, 0x095c, 0x0922, 0x095d, 0x0928, 0x0929, 0x092b, 0x095e,
    -    0x092f, 0x095f, 0x0930, 0x0931, 0x0933, 0x0934,
    -    /* 0x09bc */
    -    0x09a1, 0x09dc, 0x09a2, 0x09dd, 0x09af, 0x09df,
    -    /* 0x09be */
    -    0x09c7, 0x09cb,
    -    /* 0x09d7 */
    -    0x09c7, 0x09cc,
    -    /* 0x0a3c */
    -    0x0a16, 0x0a59, 0x0a17, 0x0a5a, 0x0a1c, 0x0a5b, 0x0a2b, 0x0a5e,
    -    0x0a32, 0x0a33, 0x0a38, 0x0a36,
    -    /* 0x0b3c */
    -    0x0b21, 0x0b5c, 0x0b22, 0x0b5d,
    -    /* 0x0b3e */
    -    0x0b47, 0x0b4b,
    -    /* 0x0b56 */
    -    0x0b47, 0x0b48,
    -    /* 0x0b57 */
    -    0x0b47, 0x0b4c,
    -    /* 0x0bbe */
    -    0x0bc6, 0x0bca, 0x0bc7, 0x0bcb,
    -    /* 0x0bd7 */
    -    0x0b92, 0x0b94, 0x0bc6, 0x0bcc,
    -    /* 0x0c56 */
    -    0x0c46, 0x0c48,
    -    /* 0x0cc2 */
    -    0x0cc6, 0x0cca,
    -    /* 0x0cd5 */
    -    0x0cbf, 0x0cc0, 0x0cc6, 0x0cc7, 0x0cca, 0x0ccb,
    -    /* 0x0cd6 */
    -    0x0cc6, 0x0cc8,
    -    /* 0x0d3e */
    -    0x0d46, 0x0d4a, 0x0d47, 0x0d4b,
    -    /* 0x0d57 */
    -    0x0d46, 0x0d4c,
    -    /* 0x0dca */
    -    0x0dd9, 0x0dda, 0x0ddc, 0x0ddd,
    -    /* 0x0dcf */
    -    0x0dd9, 0x0ddc,
    -    /* 0x0ddf */
    -    0x0dd9, 0x0dde,
    -    /* 0x0f72 */
    -    0x0f71, 0x0f73,
    -    /* 0x0f74 */
    -    0x0f71, 0x0f75,
    -    /* 0x0f80 */
    -    0x0f71, 0x0f81, 0x0fb2, 0x0f76, 0x0fb3, 0x0f78,
    -    /* 0x0fb5 */
    -    0x0f40, 0x0f69, 0x0f90, 0x0fb9,
    -    /* 0x0fb7 */
    -    0x0f42, 0x0f43, 0x0f4c, 0x0f4d, 0x0f51, 0x0f52, 0x0f56, 0x0f57,
    -    0x0f5b, 0x0f5c, 0x0f92, 0x0f93, 0x0f9c, 0x0f9d, 0x0fa1, 0x0fa2,
    -    0x0fa6, 0x0fa7, 0x0fab, 0x0fac,
    -    /* 0x102e */
    -    0x1025, 0x1026,
    -    /* 0x3099 */
    -    0x3046, 0x3094, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050,
    -    0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058,
    -    0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060,
    -    0x3061, 0x3062, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069,
    -    0x306f, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079,
    -    0x307b, 0x307c, 0x309d, 0x309e, 0x30a6, 0x30f4, 0x30ab, 0x30ac,
    -    0x30ad, 0x30ae, 0x30af, 0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4,
    -    0x30b5, 0x30b6, 0x30b7, 0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc,
    -    0x30bd, 0x30be, 0x30bf, 0x30c0, 0x30c1, 0x30c2, 0x30c4, 0x30c5,
    -    0x30c6, 0x30c7, 0x30c8, 0x30c9, 0x30cf, 0x30d0, 0x30d2, 0x30d3,
    -    0x30d5, 0x30d6, 0x30d8, 0x30d9, 0x30db, 0x30dc, 0x30ef, 0x30f7,
    -    0x30f0, 0x30f8, 0x30f1, 0x30f9, 0x30f2, 0x30fa, 0x30fd, 0x30fe,
    -    /* 0x309a */
    -    0x306f, 0x3071, 0x3072, 0x3074, 0x3075, 0x3077, 0x3078, 0x307a,
    -    0x307b, 0x307d, 0x30cf, 0x30d1, 0x30d2, 0x30d4, 0x30d5, 0x30d7,
    -    0x30d8, 0x30da, 0x30db, 0x30dd
    -};
    -
    -const unsigned int unicode_compose_table_size = 69;
    -
    -const WCHAR unicode_decompose_table[4560] =
    -{
    -    /* index */
    -    0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0100, 0x0160, 0x0100,
    -    0x0100, 0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x0100, 0x01c0,
    -    0x01d0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x01e0, 0x01f0,
    -    0x0100, 0x0200, 0x0210, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0220, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0230, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    -    0x0100, 0x0100, 0x0100, 0x0240, 0x0100, 0x0100, 0x0100, 0x0100,
    -    /* null sub-index */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 00 */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0270, 0x0290, 0x02b0, 0x02d0,
    -    /* sub-index 01 */
    -    0x02f0, 0x0310, 0x0330, 0x0350, 0x0370, 0x0390, 0x03b0, 0x03d0,
    -    0x0250, 0x0250, 0x03f0, 0x0410, 0x0430, 0x0450, 0x0470, 0x0490,
    -    /* sub-index 02 */
    -    0x04b0, 0x04d0, 0x04f0, 0x0510, 0x0250, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 03 */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0530, 0x0250, 0x0250, 0x0250,
    -    0x0550, 0x0570, 0x0590, 0x05b0, 0x05d0, 0x05f0, 0x0250, 0x0250,
    -    /* sub-index 04 */
    -    0x0610, 0x0630, 0x0250, 0x0650, 0x0250, 0x0670, 0x0250, 0x0690,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x06b0, 0x06d0, 0x06f0, 0x0710,
    -    /* sub-index 06 */
    -    0x0250, 0x0250, 0x0730, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0750, 0x0770, 0x0250, 0x0250,
    -    /* sub-index 09 */
    -    0x0250, 0x0250, 0x0790, 0x07b0, 0x0250, 0x07d0, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x07f0, 0x0810, 0x0250, 0x0250,
    -    /* sub-index 0a */
    -    0x0250, 0x0250, 0x0250, 0x0830, 0x0250, 0x0850, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 0b */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0870, 0x0890, 0x0250, 0x0250,
    -    0x0250, 0x08b0, 0x0250, 0x0250, 0x08d0, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 0c */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x08f0, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0910, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 0d */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0930, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0950, 0x0250, 0x0250,
    -    /* sub-index 0f */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0970, 0x0990, 0x09b0, 0x09d0,
    -    0x09f0, 0x0a10, 0x0a30, 0x0a50, 0x0250, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 10 */
    -    0x0250, 0x0250, 0x0a70, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 1e */
    -    0x0a90, 0x0ab0, 0x0ad0, 0x0af0, 0x0b10, 0x0b30, 0x0b50, 0x0b70,
    -    0x0b90, 0x0bb0, 0x0bd0, 0x0bf0, 0x0c10, 0x0c30, 0x0c50, 0x0c70,
    -    /* sub-index 1f */
    -    0x0c90, 0x0cb0, 0x0cd0, 0x0cf0, 0x0d10, 0x0d30, 0x0d50, 0x0d70,
    -    0x0d90, 0x0db0, 0x0dd0, 0x0df0, 0x0e10, 0x0e30, 0x0e50, 0x0e70,
    -    /* sub-index 21 */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0e90, 0x0eb0, 0x0250, 0x0ed0, 0x0250, 0x0250, 0x0250,
    -    /* sub-index 22 */
    -    0x0ef0, 0x0250, 0x0f10, 0x0250, 0x0f30, 0x0250, 0x0f50, 0x0f70,
    -    0x0f90, 0x0250, 0x0fb0, 0x0250, 0x0250, 0x0250, 0x0fd0, 0x0250,
    -    /* sub-index 2a */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0ff0, 0x0250, 0x0250,
    -    /* sub-index 30 */
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x1010, 0x1030, 0x1050, 0x1070,
    -    0x0250, 0x1090, 0x10b0, 0x10d0, 0x10f0, 0x1110, 0x0250, 0x1130,
    -    /* sub-index fb */
    -    0x0250, 0x1150, 0x1170, 0x1190, 0x11b0, 0x0250, 0x0250, 0x0250,
    -    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    -    /* null mapping */
    -    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,
    -    /* 0x00c0 .. 0x00cf */
    -    0x0041, 0x0300, 0x0041, 0x0301, 0x0041, 0x0302, 0x0041, 0x0303,
    -    0x0041, 0x0308, 0x0041, 0x030a, 0x0000, 0x0000, 0x0043, 0x0327,
    -    0x0045, 0x0300, 0x0045, 0x0301, 0x0045, 0x0302, 0x0045, 0x0308,
    -    0x0049, 0x0300, 0x0049, 0x0301, 0x0049, 0x0302, 0x0049, 0x0308,
    -    /* 0x00d0 .. 0x00df */
    -    0x0000, 0x0000, 0x004e, 0x0303, 0x004f, 0x0300, 0x004f, 0x0301,
    -    0x004f, 0x0302, 0x004f, 0x0303, 0x004f, 0x0308, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0055, 0x0300, 0x0055, 0x0301, 0x0055, 0x0302,
    -    0x0055, 0x0308, 0x0059, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x00e0 .. 0x00ef */
    -    0x0061, 0x0300, 0x0061, 0x0301, 0x0061, 0x0302, 0x0061, 0x0303,
    -    0x0061, 0x0308, 0x0061, 0x030a, 0x0000, 0x0000, 0x0063, 0x0327,
    -    0x0065, 0x0300, 0x0065, 0x0301, 0x0065, 0x0302, 0x0065, 0x0308,
    -    0x0069, 0x0300, 0x0069, 0x0301, 0x0069, 0x0302, 0x0069, 0x0308,
    -    /* 0x00f0 .. 0x00ff */
    -    0x0000, 0x0000, 0x006e, 0x0303, 0x006f, 0x0300, 0x006f, 0x0301,
    -    0x006f, 0x0302, 0x006f, 0x0303, 0x006f, 0x0308, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0075, 0x0300, 0x0075, 0x0301, 0x0075, 0x0302,
    -    0x0075, 0x0308, 0x0079, 0x0301, 0x0000, 0x0000, 0x0079, 0x0308,
    -    /* 0x0100 .. 0x010f */
    -    0x0041, 0x0304, 0x0061, 0x0304, 0x0041, 0x0306, 0x0061, 0x0306,
    -    0x0041, 0x0328, 0x0061, 0x0328, 0x0043, 0x0301, 0x0063, 0x0301,
    -    0x0043, 0x0302, 0x0063, 0x0302, 0x0043, 0x0307, 0x0063, 0x0307,
    -    0x0043, 0x030c, 0x0063, 0x030c, 0x0044, 0x030c, 0x0064, 0x030c,
    -    /* 0x0110 .. 0x011f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0045, 0x0304, 0x0065, 0x0304,
    -    0x0045, 0x0306, 0x0065, 0x0306, 0x0045, 0x0307, 0x0065, 0x0307,
    -    0x0045, 0x0328, 0x0065, 0x0328, 0x0045, 0x030c, 0x0065, 0x030c,
    -    0x0047, 0x0302, 0x0067, 0x0302, 0x0047, 0x0306, 0x0067, 0x0306,
    -    /* 0x0120 .. 0x012f */
    -    0x0047, 0x0307, 0x0067, 0x0307, 0x0047, 0x0327, 0x0067, 0x0327,
    -    0x0048, 0x0302, 0x0068, 0x0302, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0049, 0x0303, 0x0069, 0x0303, 0x0049, 0x0304, 0x0069, 0x0304,
    -    0x0049, 0x0306, 0x0069, 0x0306, 0x0049, 0x0328, 0x0069, 0x0328,
    -    /* 0x0130 .. 0x013f */
    -    0x0049, 0x0307, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x004a, 0x0302, 0x006a, 0x0302, 0x004b, 0x0327, 0x006b, 0x0327,
    -    0x0000, 0x0000, 0x004c, 0x0301, 0x006c, 0x0301, 0x004c, 0x0327,
    -    0x006c, 0x0327, 0x004c, 0x030c, 0x006c, 0x030c, 0x0000, 0x0000,
    -    /* 0x0140 .. 0x014f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x004e, 0x0301,
    -    0x006e, 0x0301, 0x004e, 0x0327, 0x006e, 0x0327, 0x004e, 0x030c,
    -    0x006e, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x004f, 0x0304, 0x006f, 0x0304, 0x004f, 0x0306, 0x006f, 0x0306,
    -    /* 0x0150 .. 0x015f */
    -    0x004f, 0x030b, 0x006f, 0x030b, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0052, 0x0301, 0x0072, 0x0301, 0x0052, 0x0327, 0x0072, 0x0327,
    -    0x0052, 0x030c, 0x0072, 0x030c, 0x0053, 0x0301, 0x0073, 0x0301,
    -    0x0053, 0x0302, 0x0073, 0x0302, 0x0053, 0x0327, 0x0073, 0x0327,
    -    /* 0x0160 .. 0x016f */
    -    0x0053, 0x030c, 0x0073, 0x030c, 0x0054, 0x0327, 0x0074, 0x0327,
    -    0x0054, 0x030c, 0x0074, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0055, 0x0303, 0x0075, 0x0303, 0x0055, 0x0304, 0x0075, 0x0304,
    -    0x0055, 0x0306, 0x0075, 0x0306, 0x0055, 0x030a, 0x0075, 0x030a,
    -    /* 0x0170 .. 0x017f */
    -    0x0055, 0x030b, 0x0075, 0x030b, 0x0055, 0x0328, 0x0075, 0x0328,
    -    0x0057, 0x0302, 0x0077, 0x0302, 0x0059, 0x0302, 0x0079, 0x0302,
    -    0x0059, 0x0308, 0x005a, 0x0301, 0x007a, 0x0301, 0x005a, 0x0307,
    -    0x007a, 0x0307, 0x005a, 0x030c, 0x007a, 0x030c, 0x0000, 0x0000,
    -    /* 0x01a0 .. 0x01af */
    -    0x004f, 0x031b, 0x006f, 0x031b, 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, 0x0055, 0x031b,
    -    /* 0x01b0 .. 0x01bf */
    -    0x0075, 0x031b, 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,
    -    /* 0x01c0 .. 0x01cf */
    -    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, 0x0041, 0x030c, 0x0061, 0x030c, 0x0049, 0x030c,
    -    /* 0x01d0 .. 0x01df */
    -    0x0069, 0x030c, 0x004f, 0x030c, 0x006f, 0x030c, 0x0055, 0x030c,
    -    0x0075, 0x030c, 0x00dc, 0x0304, 0x00fc, 0x0304, 0x00dc, 0x0301,
    -    0x00fc, 0x0301, 0x00dc, 0x030c, 0x00fc, 0x030c, 0x00dc, 0x0300,
    -    0x00fc, 0x0300, 0x0000, 0x0000, 0x00c4, 0x0304, 0x00e4, 0x0304,
    -    /* 0x01e0 .. 0x01ef */
    -    0x0226, 0x0304, 0x0227, 0x0304, 0x00c6, 0x0304, 0x00e6, 0x0304,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0047, 0x030c, 0x0067, 0x030c,
    -    0x004b, 0x030c, 0x006b, 0x030c, 0x004f, 0x0328, 0x006f, 0x0328,
    -    0x01ea, 0x0304, 0x01eb, 0x0304, 0x01b7, 0x030c, 0x0292, 0x030c,
    -    /* 0x01f0 .. 0x01ff */
    -    0x006a, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0047, 0x0301, 0x0067, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x004e, 0x0300, 0x006e, 0x0300, 0x00c5, 0x0301, 0x00e5, 0x0301,
    -    0x00c6, 0x0301, 0x00e6, 0x0301, 0x00d8, 0x0301, 0x00f8, 0x0301,
    -    /* 0x0200 .. 0x020f */
    -    0x0041, 0x030f, 0x0061, 0x030f, 0x0041, 0x0311, 0x0061, 0x0311,
    -    0x0045, 0x030f, 0x0065, 0x030f, 0x0045, 0x0311, 0x0065, 0x0311,
    -    0x0049, 0x030f, 0x0069, 0x030f, 0x0049, 0x0311, 0x0069, 0x0311,
    -    0x004f, 0x030f, 0x006f, 0x030f, 0x004f, 0x0311, 0x006f, 0x0311,
    -    /* 0x0210 .. 0x021f */
    -    0x0052, 0x030f, 0x0072, 0x030f, 0x0052, 0x0311, 0x0072, 0x0311,
    -    0x0055, 0x030f, 0x0075, 0x030f, 0x0055, 0x0311, 0x0075, 0x0311,
    -    0x0053, 0x0326, 0x0073, 0x0326, 0x0054, 0x0326, 0x0074, 0x0326,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0048, 0x030c, 0x0068, 0x030c,
    -    /* 0x0220 .. 0x022f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0307, 0x0061, 0x0307,
    -    0x0045, 0x0327, 0x0065, 0x0327, 0x00d6, 0x0304, 0x00f6, 0x0304,
    -    0x00d5, 0x0304, 0x00f5, 0x0304, 0x004f, 0x0307, 0x006f, 0x0307,
    -    /* 0x0230 .. 0x023f */
    -    0x022e, 0x0304, 0x022f, 0x0304, 0x0059, 0x0304, 0x0079, 0x0304,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0340 .. 0x034f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0308, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0380 .. 0x038f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x00a8, 0x0301, 0x0391, 0x0301, 0x0000, 0x0000,
    -    0x0395, 0x0301, 0x0397, 0x0301, 0x0399, 0x0301, 0x0000, 0x0000,
    -    0x039f, 0x0301, 0x0000, 0x0000, 0x03a5, 0x0301, 0x03a9, 0x0301,
    -    /* 0x0390 .. 0x039f */
    -    0x03ca, 0x0301, 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,
    -    /* 0x03a0 .. 0x03af */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0399, 0x0308, 0x03a5, 0x0308,
    -    0x03b1, 0x0301, 0x03b5, 0x0301, 0x03b7, 0x0301, 0x03b9, 0x0301,
    -    /* 0x03b0 .. 0x03bf */
    -    0x03cb, 0x0301, 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,
    -    /* 0x03c0 .. 0x03cf */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x03b9, 0x0308, 0x03c5, 0x0308,
    -    0x03bf, 0x0301, 0x03c5, 0x0301, 0x03c9, 0x0301, 0x0000, 0x0000,
    -    /* 0x03d0 .. 0x03df */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d2, 0x0301,
    -    0x03d2, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0400 .. 0x040f */
    -    0x0415, 0x0300, 0x0415, 0x0308, 0x0000, 0x0000, 0x0413, 0x0301,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0406, 0x0308,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x041a, 0x0301, 0x0418, 0x0300, 0x0423, 0x0306, 0x0000, 0x0000,
    -    /* 0x0410 .. 0x041f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0418, 0x0306, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0430 .. 0x043f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0438, 0x0306, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0450 .. 0x045f */
    -    0x0435, 0x0300, 0x0435, 0x0308, 0x0000, 0x0000, 0x0433, 0x0301,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0456, 0x0308,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x043a, 0x0301, 0x0438, 0x0300, 0x0443, 0x0306, 0x0000, 0x0000,
    -    /* 0x0470 .. 0x047f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0474, 0x030f, 0x0475, 0x030f,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x04c0 .. 0x04cf */
    -    0x0000, 0x0000, 0x0416, 0x0306, 0x0436, 0x0306, 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,
    -    /* 0x04d0 .. 0x04df */
    -    0x0410, 0x0306, 0x0430, 0x0306, 0x0410, 0x0308, 0x0430, 0x0308,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0415, 0x0306, 0x0435, 0x0306,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x04d8, 0x0308, 0x04d9, 0x0308,
    -    0x0416, 0x0308, 0x0436, 0x0308, 0x0417, 0x0308, 0x0437, 0x0308,
    -    /* 0x04e0 .. 0x04ef */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0418, 0x0304, 0x0438, 0x0304,
    -    0x0418, 0x0308, 0x0438, 0x0308, 0x041e, 0x0308, 0x043e, 0x0308,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x04e8, 0x0308, 0x04e9, 0x0308,
    -    0x042d, 0x0308, 0x044d, 0x0308, 0x0423, 0x0304, 0x0443, 0x0304,
    -    /* 0x04f0 .. 0x04ff */
    -    0x0423, 0x0308, 0x0443, 0x0308, 0x0423, 0x030b, 0x0443, 0x030b,
    -    0x0427, 0x0308, 0x0447, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x042b, 0x0308, 0x044b, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0620 .. 0x062f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0627, 0x0653, 0x0627, 0x0654,
    -    0x0648, 0x0654, 0x0627, 0x0655, 0x064a, 0x0654, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x06c0 .. 0x06cf */
    -    0x06d5, 0x0654, 0x0000, 0x0000, 0x06c1, 0x0654, 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,
    -    /* 0x06d0 .. 0x06df */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06d2, 0x0654,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0920 .. 0x092f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0928, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0930 .. 0x093f */
    -    0x0000, 0x0000, 0x0930, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0933, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0950 .. 0x095f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0915, 0x093c, 0x0916, 0x093c, 0x0917, 0x093c, 0x091c, 0x093c,
    -    0x0921, 0x093c, 0x0922, 0x093c, 0x092b, 0x093c, 0x092f, 0x093c,
    -    /* 0x09c0 .. 0x09cf */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09c7, 0x09be,
    -    0x09c7, 0x09d7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x09d0 .. 0x09df */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x09a1, 0x09bc, 0x09a2, 0x09bc, 0x0000, 0x0000, 0x09af, 0x09bc,
    -    /* 0x0a30 .. 0x0a3f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a32, 0x0a3c,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0a38, 0x0a3c, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0a50 .. 0x0a5f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0a16, 0x0a3c, 0x0a17, 0x0a3c, 0x0a1c, 0x0a3c,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0a2b, 0x0a3c, 0x0000, 0x0000,
    -    /* 0x0b40 .. 0x0b4f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0b47, 0x0b56, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b47, 0x0b3e,
    -    0x0b47, 0x0b57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0b50 .. 0x0b5f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0b21, 0x0b3c, 0x0b22, 0x0b3c, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0b90 .. 0x0b9f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0b92, 0x0bd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0bc0 .. 0x0bcf */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0bc6, 0x0bbe, 0x0bc7, 0x0bbe,
    -    0x0bc6, 0x0bd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0c40 .. 0x0c4f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0c46, 0x0c56, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0cc0 .. 0x0ccf */
    -    0x0cbf, 0x0cd5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cc6, 0x0cd5,
    -    0x0cc6, 0x0cd6, 0x0000, 0x0000, 0x0cc6, 0x0cc2, 0x0cca, 0x0cd5,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0d40 .. 0x0d4f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0d46, 0x0d3e, 0x0d47, 0x0d3e,
    -    0x0d46, 0x0d57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0dd0 .. 0x0ddf */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0dd9, 0x0dca, 0x0000, 0x0000,
    -    0x0dd9, 0x0dcf, 0x0ddc, 0x0dca, 0x0dd9, 0x0ddf, 0x0000, 0x0000,
    -    /* 0x0f40 .. 0x0f4f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f42, 0x0fb7,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0f4c, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0f50 .. 0x0f5f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0f51, 0x0fb7, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f56, 0x0fb7,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0f5b, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0f60 .. 0x0f6f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0f40, 0x0fb5, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0f70 .. 0x0f7f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f71, 0x0f72,
    -    0x0000, 0x0000, 0x0f71, 0x0f74, 0x0fb2, 0x0f80, 0x0000, 0x0000,
    -    0x0fb3, 0x0f80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0f80 .. 0x0f8f */
    -    0x0000, 0x0000, 0x0f71, 0x0f80, 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,
    -    /* 0x0f90 .. 0x0f9f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f92, 0x0fb7,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0f9c, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0fa0 .. 0x0faf */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0fa1, 0x0fb7, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fa6, 0x0fb7,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0fab, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x0fb0 .. 0x0fbf */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0f90, 0x0fb5, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1020 .. 0x102f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x1025, 0x102e, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1e00 .. 0x1e0f */
    -    0x0041, 0x0325, 0x0061, 0x0325, 0x0042, 0x0307, 0x0062, 0x0307,
    -    0x0042, 0x0323, 0x0062, 0x0323, 0x0042, 0x0331, 0x0062, 0x0331,
    -    0x00c7, 0x0301, 0x00e7, 0x0301, 0x0044, 0x0307, 0x0064, 0x0307,
    -    0x0044, 0x0323, 0x0064, 0x0323, 0x0044, 0x0331, 0x0064, 0x0331,
    -    /* 0x1e10 .. 0x1e1f */
    -    0x0044, 0x0327, 0x0064, 0x0327, 0x0044, 0x032d, 0x0064, 0x032d,
    -    0x0112, 0x0300, 0x0113, 0x0300, 0x0112, 0x0301, 0x0113, 0x0301,
    -    0x0045, 0x032d, 0x0065, 0x032d, 0x0045, 0x0330, 0x0065, 0x0330,
    -    0x0228, 0x0306, 0x0229, 0x0306, 0x0046, 0x0307, 0x0066, 0x0307,
    -    /* 0x1e20 .. 0x1e2f */
    -    0x0047, 0x0304, 0x0067, 0x0304, 0x0048, 0x0307, 0x0068, 0x0307,
    -    0x0048, 0x0323, 0x0068, 0x0323, 0x0048, 0x0308, 0x0068, 0x0308,
    -    0x0048, 0x0327, 0x0068, 0x0327, 0x0048, 0x032e, 0x0068, 0x032e,
    -    0x0049, 0x0330, 0x0069, 0x0330, 0x00cf, 0x0301, 0x00ef, 0x0301,
    -    /* 0x1e30 .. 0x1e3f */
    -    0x004b, 0x0301, 0x006b, 0x0301, 0x004b, 0x0323, 0x006b, 0x0323,
    -    0x004b, 0x0331, 0x006b, 0x0331, 0x004c, 0x0323, 0x006c, 0x0323,
    -    0x1e36, 0x0304, 0x1e37, 0x0304, 0x004c, 0x0331, 0x006c, 0x0331,
    -    0x004c, 0x032d, 0x006c, 0x032d, 0x004d, 0x0301, 0x006d, 0x0301,
    -    /* 0x1e40 .. 0x1e4f */
    -    0x004d, 0x0307, 0x006d, 0x0307, 0x004d, 0x0323, 0x006d, 0x0323,
    -    0x004e, 0x0307, 0x006e, 0x0307, 0x004e, 0x0323, 0x006e, 0x0323,
    -    0x004e, 0x0331, 0x006e, 0x0331, 0x004e, 0x032d, 0x006e, 0x032d,
    -    0x00d5, 0x0301, 0x00f5, 0x0301, 0x00d5, 0x0308, 0x00f5, 0x0308,
    -    /* 0x1e50 .. 0x1e5f */
    -    0x014c, 0x0300, 0x014d, 0x0300, 0x014c, 0x0301, 0x014d, 0x0301,
    -    0x0050, 0x0301, 0x0070, 0x0301, 0x0050, 0x0307, 0x0070, 0x0307,
    -    0x0052, 0x0307, 0x0072, 0x0307, 0x0052, 0x0323, 0x0072, 0x0323,
    -    0x1e5a, 0x0304, 0x1e5b, 0x0304, 0x0052, 0x0331, 0x0072, 0x0331,
    -    /* 0x1e60 .. 0x1e6f */
    -    0x0053, 0x0307, 0x0073, 0x0307, 0x0053, 0x0323, 0x0073, 0x0323,
    -    0x015a, 0x0307, 0x015b, 0x0307, 0x0160, 0x0307, 0x0161, 0x0307,
    -    0x1e62, 0x0307, 0x1e63, 0x0307, 0x0054, 0x0307, 0x0074, 0x0307,
    -    0x0054, 0x0323, 0x0074, 0x0323, 0x0054, 0x0331, 0x0074, 0x0331,
    -    /* 0x1e70 .. 0x1e7f */
    -    0x0054, 0x032d, 0x0074, 0x032d, 0x0055, 0x0324, 0x0075, 0x0324,
    -    0x0055, 0x0330, 0x0075, 0x0330, 0x0055, 0x032d, 0x0075, 0x032d,
    -    0x0168, 0x0301, 0x0169, 0x0301, 0x016a, 0x0308, 0x016b, 0x0308,
    -    0x0056, 0x0303, 0x0076, 0x0303, 0x0056, 0x0323, 0x0076, 0x0323,
    -    /* 0x1e80 .. 0x1e8f */
    -    0x0057, 0x0300, 0x0077, 0x0300, 0x0057, 0x0301, 0x0077, 0x0301,
    -    0x0057, 0x0308, 0x0077, 0x0308, 0x0057, 0x0307, 0x0077, 0x0307,
    -    0x0057, 0x0323, 0x0077, 0x0323, 0x0058, 0x0307, 0x0078, 0x0307,
    -    0x0058, 0x0308, 0x0078, 0x0308, 0x0059, 0x0307, 0x0079, 0x0307,
    -    /* 0x1e90 .. 0x1e9f */
    -    0x005a, 0x0302, 0x007a, 0x0302, 0x005a, 0x0323, 0x007a, 0x0323,
    -    0x005a, 0x0331, 0x007a, 0x0331, 0x0068, 0x0331, 0x0074, 0x0308,
    -    0x0077, 0x030a, 0x0079, 0x030a, 0x0000, 0x0000, 0x017f, 0x0307,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1ea0 .. 0x1eaf */
    -    0x0041, 0x0323, 0x0061, 0x0323, 0x0041, 0x0309, 0x0061, 0x0309,
    -    0x00c2, 0x0301, 0x00e2, 0x0301, 0x00c2, 0x0300, 0x00e2, 0x0300,
    -    0x00c2, 0x0309, 0x00e2, 0x0309, 0x00c2, 0x0303, 0x00e2, 0x0303,
    -    0x1ea0, 0x0302, 0x1ea1, 0x0302, 0x0102, 0x0301, 0x0103, 0x0301,
    -    /* 0x1eb0 .. 0x1ebf */
    -    0x0102, 0x0300, 0x0103, 0x0300, 0x0102, 0x0309, 0x0103, 0x0309,
    -    0x0102, 0x0303, 0x0103, 0x0303, 0x1ea0, 0x0306, 0x1ea1, 0x0306,
    -    0x0045, 0x0323, 0x0065, 0x0323, 0x0045, 0x0309, 0x0065, 0x0309,
    -    0x0045, 0x0303, 0x0065, 0x0303, 0x00ca, 0x0301, 0x00ea, 0x0301,
    -    /* 0x1ec0 .. 0x1ecf */
    -    0x00ca, 0x0300, 0x00ea, 0x0300, 0x00ca, 0x0309, 0x00ea, 0x0309,
    -    0x00ca, 0x0303, 0x00ea, 0x0303, 0x1eb8, 0x0302, 0x1eb9, 0x0302,
    -    0x0049, 0x0309, 0x0069, 0x0309, 0x0049, 0x0323, 0x0069, 0x0323,
    -    0x004f, 0x0323, 0x006f, 0x0323, 0x004f, 0x0309, 0x006f, 0x0309,
    -    /* 0x1ed0 .. 0x1edf */
    -    0x00d4, 0x0301, 0x00f4, 0x0301, 0x00d4, 0x0300, 0x00f4, 0x0300,
    -    0x00d4, 0x0309, 0x00f4, 0x0309, 0x00d4, 0x0303, 0x00f4, 0x0303,
    -    0x1ecc, 0x0302, 0x1ecd, 0x0302, 0x01a0, 0x0301, 0x01a1, 0x0301,
    -    0x01a0, 0x0300, 0x01a1, 0x0300, 0x01a0, 0x0309, 0x01a1, 0x0309,
    -    /* 0x1ee0 .. 0x1eef */
    -    0x01a0, 0x0303, 0x01a1, 0x0303, 0x01a0, 0x0323, 0x01a1, 0x0323,
    -    0x0055, 0x0323, 0x0075, 0x0323, 0x0055, 0x0309, 0x0075, 0x0309,
    -    0x01af, 0x0301, 0x01b0, 0x0301, 0x01af, 0x0300, 0x01b0, 0x0300,
    -    0x01af, 0x0309, 0x01b0, 0x0309, 0x01af, 0x0303, 0x01b0, 0x0303,
    -    /* 0x1ef0 .. 0x1eff */
    -    0x01af, 0x0323, 0x01b0, 0x0323, 0x0059, 0x0300, 0x0079, 0x0300,
    -    0x0059, 0x0323, 0x0079, 0x0323, 0x0059, 0x0309, 0x0079, 0x0309,
    -    0x0059, 0x0303, 0x0079, 0x0303, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1f00 .. 0x1f0f */
    -    0x03b1, 0x0313, 0x03b1, 0x0314, 0x1f00, 0x0300, 0x1f01, 0x0300,
    -    0x1f00, 0x0301, 0x1f01, 0x0301, 0x1f00, 0x0342, 0x1f01, 0x0342,
    -    0x0391, 0x0313, 0x0391, 0x0314, 0x1f08, 0x0300, 0x1f09, 0x0300,
    -    0x1f08, 0x0301, 0x1f09, 0x0301, 0x1f08, 0x0342, 0x1f09, 0x0342,
    -    /* 0x1f10 .. 0x1f1f */
    -    0x03b5, 0x0313, 0x03b5, 0x0314, 0x1f10, 0x0300, 0x1f11, 0x0300,
    -    0x1f10, 0x0301, 0x1f11, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0395, 0x0313, 0x0395, 0x0314, 0x1f18, 0x0300, 0x1f19, 0x0300,
    -    0x1f18, 0x0301, 0x1f19, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1f20 .. 0x1f2f */
    -    0x03b7, 0x0313, 0x03b7, 0x0314, 0x1f20, 0x0300, 0x1f21, 0x0300,
    -    0x1f20, 0x0301, 0x1f21, 0x0301, 0x1f20, 0x0342, 0x1f21, 0x0342,
    -    0x0397, 0x0313, 0x0397, 0x0314, 0x1f28, 0x0300, 0x1f29, 0x0300,
    -    0x1f28, 0x0301, 0x1f29, 0x0301, 0x1f28, 0x0342, 0x1f29, 0x0342,
    -    /* 0x1f30 .. 0x1f3f */
    -    0x03b9, 0x0313, 0x03b9, 0x0314, 0x1f30, 0x0300, 0x1f31, 0x0300,
    -    0x1f30, 0x0301, 0x1f31, 0x0301, 0x1f30, 0x0342, 0x1f31, 0x0342,
    -    0x0399, 0x0313, 0x0399, 0x0314, 0x1f38, 0x0300, 0x1f39, 0x0300,
    -    0x1f38, 0x0301, 0x1f39, 0x0301, 0x1f38, 0x0342, 0x1f39, 0x0342,
    -    /* 0x1f40 .. 0x1f4f */
    -    0x03bf, 0x0313, 0x03bf, 0x0314, 0x1f40, 0x0300, 0x1f41, 0x0300,
    -    0x1f40, 0x0301, 0x1f41, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x039f, 0x0313, 0x039f, 0x0314, 0x1f48, 0x0300, 0x1f49, 0x0300,
    -    0x1f48, 0x0301, 0x1f49, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1f50 .. 0x1f5f */
    -    0x03c5, 0x0313, 0x03c5, 0x0314, 0x1f50, 0x0300, 0x1f51, 0x0300,
    -    0x1f50, 0x0301, 0x1f51, 0x0301, 0x1f50, 0x0342, 0x1f51, 0x0342,
    -    0x0000, 0x0000, 0x03a5, 0x0314, 0x0000, 0x0000, 0x1f59, 0x0300,
    -    0x0000, 0x0000, 0x1f59, 0x0301, 0x0000, 0x0000, 0x1f59, 0x0342,
    -    /* 0x1f60 .. 0x1f6f */
    -    0x03c9, 0x0313, 0x03c9, 0x0314, 0x1f60, 0x0300, 0x1f61, 0x0300,
    -    0x1f60, 0x0301, 0x1f61, 0x0301, 0x1f60, 0x0342, 0x1f61, 0x0342,
    -    0x03a9, 0x0313, 0x03a9, 0x0314, 0x1f68, 0x0300, 0x1f69, 0x0300,
    -    0x1f68, 0x0301, 0x1f69, 0x0301, 0x1f68, 0x0342, 0x1f69, 0x0342,
    -    /* 0x1f70 .. 0x1f7f */
    -    0x03b1, 0x0300, 0x0000, 0x0000, 0x03b5, 0x0300, 0x0000, 0x0000,
    -    0x03b7, 0x0300, 0x0000, 0x0000, 0x03b9, 0x0300, 0x0000, 0x0000,
    -    0x03bf, 0x0300, 0x0000, 0x0000, 0x03c5, 0x0300, 0x0000, 0x0000,
    -    0x03c9, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1f80 .. 0x1f8f */
    -    0x1f00, 0x0345, 0x1f01, 0x0345, 0x1f02, 0x0345, 0x1f03, 0x0345,
    -    0x1f04, 0x0345, 0x1f05, 0x0345, 0x1f06, 0x0345, 0x1f07, 0x0345,
    -    0x1f08, 0x0345, 0x1f09, 0x0345, 0x1f0a, 0x0345, 0x1f0b, 0x0345,
    -    0x1f0c, 0x0345, 0x1f0d, 0x0345, 0x1f0e, 0x0345, 0x1f0f, 0x0345,
    -    /* 0x1f90 .. 0x1f9f */
    -    0x1f20, 0x0345, 0x1f21, 0x0345, 0x1f22, 0x0345, 0x1f23, 0x0345,
    -    0x1f24, 0x0345, 0x1f25, 0x0345, 0x1f26, 0x0345, 0x1f27, 0x0345,
    -    0x1f28, 0x0345, 0x1f29, 0x0345, 0x1f2a, 0x0345, 0x1f2b, 0x0345,
    -    0x1f2c, 0x0345, 0x1f2d, 0x0345, 0x1f2e, 0x0345, 0x1f2f, 0x0345,
    -    /* 0x1fa0 .. 0x1faf */
    -    0x1f60, 0x0345, 0x1f61, 0x0345, 0x1f62, 0x0345, 0x1f63, 0x0345,
    -    0x1f64, 0x0345, 0x1f65, 0x0345, 0x1f66, 0x0345, 0x1f67, 0x0345,
    -    0x1f68, 0x0345, 0x1f69, 0x0345, 0x1f6a, 0x0345, 0x1f6b, 0x0345,
    -    0x1f6c, 0x0345, 0x1f6d, 0x0345, 0x1f6e, 0x0345, 0x1f6f, 0x0345,
    -    /* 0x1fb0 .. 0x1fbf */
    -    0x03b1, 0x0306, 0x03b1, 0x0304, 0x1f70, 0x0345, 0x03b1, 0x0345,
    -    0x03ac, 0x0345, 0x0000, 0x0000, 0x03b1, 0x0342, 0x1fb6, 0x0345,
    -    0x0391, 0x0306, 0x0391, 0x0304, 0x0391, 0x0300, 0x0000, 0x0000,
    -    0x0391, 0x0345, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1fc0 .. 0x1fcf */
    -    0x0000, 0x0000, 0x00a8, 0x0342, 0x1f74, 0x0345, 0x03b7, 0x0345,
    -    0x03ae, 0x0345, 0x0000, 0x0000, 0x03b7, 0x0342, 0x1fc6, 0x0345,
    -    0x0395, 0x0300, 0x0000, 0x0000, 0x0397, 0x0300, 0x0000, 0x0000,
    -    0x0397, 0x0345, 0x1fbf, 0x0300, 0x1fbf, 0x0301, 0x1fbf, 0x0342,
    -    /* 0x1fd0 .. 0x1fdf */
    -    0x03b9, 0x0306, 0x03b9, 0x0304, 0x03ca, 0x0300, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x03b9, 0x0342, 0x03ca, 0x0342,
    -    0x0399, 0x0306, 0x0399, 0x0304, 0x0399, 0x0300, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x1ffe, 0x0300, 0x1ffe, 0x0301, 0x1ffe, 0x0342,
    -    /* 0x1fe0 .. 0x1fef */
    -    0x03c5, 0x0306, 0x03c5, 0x0304, 0x03cb, 0x0300, 0x0000, 0x0000,
    -    0x03c1, 0x0313, 0x03c1, 0x0314, 0x03c5, 0x0342, 0x03cb, 0x0342,
    -    0x03a5, 0x0306, 0x03a5, 0x0304, 0x03a5, 0x0300, 0x0000, 0x0000,
    -    0x03a1, 0x0314, 0x00a8, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x1ff0 .. 0x1fff */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x1f7c, 0x0345, 0x03c9, 0x0345,
    -    0x03ce, 0x0345, 0x0000, 0x0000, 0x03c9, 0x0342, 0x1ff6, 0x0345,
    -    0x039f, 0x0300, 0x0000, 0x0000, 0x03a9, 0x0300, 0x0000, 0x0000,
    -    0x03a9, 0x0345, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2190 .. 0x219f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x2190, 0x0338, 0x2192, 0x0338,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x21a0 .. 0x21af */
    -    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, 0x2194, 0x0338, 0x0000, 0x0000,
    -    /* 0x21c0 .. 0x21cf */
    -    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, 0x21d0, 0x0338, 0x21d4, 0x0338, 0x21d2, 0x0338,
    -    /* 0x2200 .. 0x220f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2203, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x2208, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x220b, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2220 .. 0x222f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2223, 0x0338, 0x0000, 0x0000, 0x2225, 0x0338, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2240 .. 0x224f */
    -    0x0000, 0x0000, 0x223c, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2243, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x2245, 0x0338,
    -    0x0000, 0x0000, 0x2248, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2260 .. 0x226f */
    -    0x003d, 0x0338, 0x0000, 0x0000, 0x2261, 0x0338, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x224d, 0x0338, 0x003c, 0x0338, 0x003e, 0x0338,
    -    /* 0x2270 .. 0x227f */
    -    0x2264, 0x0338, 0x2265, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2272, 0x0338, 0x2273, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2276, 0x0338, 0x2277, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2280 .. 0x228f */
    -    0x227a, 0x0338, 0x227b, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2282, 0x0338, 0x2283, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2286, 0x0338, 0x2287, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x22a0 .. 0x22af */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x22a2, 0x0338, 0x22a8, 0x0338, 0x22a9, 0x0338, 0x22ab, 0x0338,
    -    /* 0x22e0 .. 0x22ef */
    -    0x227c, 0x0338, 0x227d, 0x0338, 0x2291, 0x0338, 0x2292, 0x0338,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x22b2, 0x0338, 0x22b3, 0x0338,
    -    0x22b4, 0x0338, 0x22b5, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x2ad0 .. 0x2adf */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2add, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x3040 .. 0x304f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x304b, 0x3099, 0x0000, 0x0000, 0x304d, 0x3099, 0x0000, 0x0000,
    -    /* 0x3050 .. 0x305f */
    -    0x304f, 0x3099, 0x0000, 0x0000, 0x3051, 0x3099, 0x0000, 0x0000,
    -    0x3053, 0x3099, 0x0000, 0x0000, 0x3055, 0x3099, 0x0000, 0x0000,
    -    0x3057, 0x3099, 0x0000, 0x0000, 0x3059, 0x3099, 0x0000, 0x0000,
    -    0x305b, 0x3099, 0x0000, 0x0000, 0x305d, 0x3099, 0x0000, 0x0000,
    -    /* 0x3060 .. 0x306f */
    -    0x305f, 0x3099, 0x0000, 0x0000, 0x3061, 0x3099, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x3064, 0x3099, 0x0000, 0x0000, 0x3066, 0x3099,
    -    0x0000, 0x0000, 0x3068, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x3070 .. 0x307f */
    -    0x306f, 0x3099, 0x306f, 0x309a, 0x0000, 0x0000, 0x3072, 0x3099,
    -    0x3072, 0x309a, 0x0000, 0x0000, 0x3075, 0x3099, 0x3075, 0x309a,
    -    0x0000, 0x0000, 0x3078, 0x3099, 0x3078, 0x309a, 0x0000, 0x0000,
    -    0x307b, 0x3099, 0x307b, 0x309a, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x3090 .. 0x309f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x3046, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x309d, 0x3099, 0x0000, 0x0000,
    -    /* 0x30a0 .. 0x30af */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x30ab, 0x3099, 0x0000, 0x0000, 0x30ad, 0x3099, 0x0000, 0x0000,
    -    /* 0x30b0 .. 0x30bf */
    -    0x30af, 0x3099, 0x0000, 0x0000, 0x30b1, 0x3099, 0x0000, 0x0000,
    -    0x30b3, 0x3099, 0x0000, 0x0000, 0x30b5, 0x3099, 0x0000, 0x0000,
    -    0x30b7, 0x3099, 0x0000, 0x0000, 0x30b9, 0x3099, 0x0000, 0x0000,
    -    0x30bb, 0x3099, 0x0000, 0x0000, 0x30bd, 0x3099, 0x0000, 0x0000,
    -    /* 0x30c0 .. 0x30cf */
    -    0x30bf, 0x3099, 0x0000, 0x0000, 0x30c1, 0x3099, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x30c4, 0x3099, 0x0000, 0x0000, 0x30c6, 0x3099,
    -    0x0000, 0x0000, 0x30c8, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x30d0 .. 0x30df */
    -    0x30cf, 0x3099, 0x30cf, 0x309a, 0x0000, 0x0000, 0x30d2, 0x3099,
    -    0x30d2, 0x309a, 0x0000, 0x0000, 0x30d5, 0x3099, 0x30d5, 0x309a,
    -    0x0000, 0x0000, 0x30d8, 0x3099, 0x30d8, 0x309a, 0x0000, 0x0000,
    -    0x30db, 0x3099, 0x30db, 0x309a, 0x0000, 0x0000, 0x0000, 0x0000,
    -    /* 0x30f0 .. 0x30ff */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x30a6, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000, 0x30ef, 0x3099,
    -    0x30f0, 0x3099, 0x30f1, 0x3099, 0x30f2, 0x3099, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x30fd, 0x3099, 0x0000, 0x0000,
    -    /* 0xfb10 .. 0xfb1f */
    -    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, 0x05d9, 0x05b4, 0x0000, 0x0000, 0x05f2, 0x05b7,
    -    /* 0xfb20 .. 0xfb2f */
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x05e9, 0x05c1, 0x05e9, 0x05c2,
    -    0xfb49, 0x05c1, 0xfb49, 0x05c2, 0x05d0, 0x05b7, 0x05d0, 0x05b8,
    -    /* 0xfb30 .. 0xfb3f */
    -    0x05d0, 0x05bc, 0x05d1, 0x05bc, 0x05d2, 0x05bc, 0x05d3, 0x05bc,
    -    0x05d4, 0x05bc, 0x05d5, 0x05bc, 0x05d6, 0x05bc, 0x0000, 0x0000,
    -    0x05d8, 0x05bc, 0x05d9, 0x05bc, 0x05da, 0x05bc, 0x05db, 0x05bc,
    -    0x05dc, 0x05bc, 0x0000, 0x0000, 0x05de, 0x05bc, 0x0000, 0x0000,
    -    /* 0xfb40 .. 0xfb4f */
    -    0x05e0, 0x05bc, 0x05e1, 0x05bc, 0x0000, 0x0000, 0x05e3, 0x05bc,
    -    0x05e4, 0x05bc, 0x0000, 0x0000, 0x05e6, 0x05bc, 0x05e7, 0x05bc,
    -    0x05e8, 0x05bc, 0x05e9, 0x05bc, 0x05ea, 0x05bc, 0x05d5, 0x05b9,
    -    0x05d1, 0x05bf, 0x05db, 0x05bf, 0x05e4, 0x05bf, 0x0000, 0x0000
    -};
    +/* Unicode char composition */
    +/* Automatically generated; DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +const WCHAR unicode_compose_table[0x846] =
    +{
    +    /* second chars + offsets */
    +    0x0300, 0x0046, 0x0301, 0x009a, 0x0302, 0x0110, 0x0303, 0x0130,
    +    0x0304, 0x014c, 0x0306, 0x0178, 0x0307, 0x0198, 0x0308, 0x01c6,
    +    0x0309, 0x01fc, 0x030a, 0x0214, 0x030b, 0x021a, 0x030c, 0x0220,
    +    0x030f, 0x0245, 0x0311, 0x0253, 0x0313, 0x025f, 0x0314, 0x026d,
    +    0x031b, 0x027d, 0x0323, 0x0281, 0x0324, 0x02ab, 0x0325, 0x02ad,
    +    0x0326, 0x02af, 0x0327, 0x02b3, 0x0328, 0x02c9, 0x032d, 0x02d3,
    +    0x032e, 0x02df, 0x0330, 0x02e1, 0x0331, 0x02e7, 0x0338, 0x02f8,
    +    0x0342, 0x0325, 0x0345, 0x0342, 0x05b4, 0x0381, 0x05b7, 0x0382,
    +    0x05b8, 0x0384, 0x05b9, 0x0385, 0x05bc, 0x0386, 0x05bf, 0x039c,
    +    0x05c1, 0x039f, 0x05c2, 0x03a1, 0x0653, 0x03a3, 0x0654, 0x03a4,
    +    0x0655, 0x03aa, 0x093c, 0x03ab, 0x09bc, 0x03b6, 0x09be, 0x03b9,
    +    0x09d7, 0x03ba, 0x0a3c, 0x03bb, 0x0b3c, 0x03c1, 0x0b3e, 0x03c3,
    +    0x0b56, 0x03c4, 0x0b57, 0x03c5, 0x0bbe, 0x03c6, 0x0bd7, 0x03c8,
    +    0x0c56, 0x03ca, 0x0cc2, 0x03cb, 0x0cd5, 0x03cc, 0x0cd6, 0x03cf,
    +    0x0d3e, 0x03d0, 0x0d57, 0x03d2, 0x0dca, 0x03d3, 0x0dcf, 0x03d5,
    +    0x0ddf, 0x03d6, 0x0f72, 0x03d7, 0x0f74, 0x03d8, 0x0f80, 0x03d9,
    +    0x0fb5, 0x03dc, 0x0fb7, 0x03de, 0x102e, 0x03e8, 0x3099, 0x03e9,
    +    0x309a, 0x0419, 0x0000, 0x0423,
    +    /* 0x0300 */
    +    0x0041, 0x00c0, 0x0045, 0x00c8, 0x0049, 0x00cc, 0x004e, 0x01f8,
    +    0x004f, 0x00d2, 0x0055, 0x00d9, 0x0057, 0x1e80, 0x0059, 0x1ef2,
    +    0x0061, 0x00e0, 0x0065, 0x00e8, 0x0069, 0x00ec, 0x006e, 0x01f9,
    +    0x006f, 0x00f2, 0x0075, 0x00f9, 0x0077, 0x1e81, 0x0079, 0x1ef3,
    +    0x00a8, 0x1fed, 0x00c2, 0x1ea6, 0x00ca, 0x1ec0, 0x00d4, 0x1ed2,
    +    0x00dc, 0x01db, 0x00e2, 0x1ea7, 0x00ea, 0x1ec1, 0x00f4, 0x1ed3,
    +    0x00fc, 0x01dc, 0x0102, 0x1eb0, 0x0103, 0x1eb1, 0x0112, 0x1e14,
    +    0x0113, 0x1e15, 0x014c, 0x1e50, 0x014d, 0x1e51, 0x01a0, 0x1edc,
    +    0x01a1, 0x1edd, 0x01af, 0x1eea, 0x01b0, 0x1eeb, 0x0391, 0x1fba,
    +    0x0395, 0x1fc8, 0x0397, 0x1fca, 0x0399, 0x1fda, 0x039f, 0x1ff8,
    +    0x03a5, 0x1fea, 0x03a9, 0x1ffa, 0x03b1, 0x1f70, 0x03b5, 0x1f72,
    +    0x03b7, 0x1f74, 0x03b9, 0x1f76, 0x03bf, 0x1f78, 0x03c5, 0x1f7a,
    +    0x03c9, 0x1f7c, 0x03ca, 0x1fd2, 0x03cb, 0x1fe2, 0x0415, 0x0400,
    +    0x0418, 0x040d, 0x0435, 0x0450, 0x0438, 0x045d, 0x1f00, 0x1f02,
    +    0x1f01, 0x1f03, 0x1f08, 0x1f0a, 0x1f09, 0x1f0b, 0x1f10, 0x1f12,
    +    0x1f11, 0x1f13, 0x1f18, 0x1f1a, 0x1f19, 0x1f1b, 0x1f20, 0x1f22,
    +    0x1f21, 0x1f23, 0x1f28, 0x1f2a, 0x1f29, 0x1f2b, 0x1f30, 0x1f32,
    +    0x1f31, 0x1f33, 0x1f38, 0x1f3a, 0x1f39, 0x1f3b, 0x1f40, 0x1f42,
    +    0x1f41, 0x1f43, 0x1f48, 0x1f4a, 0x1f49, 0x1f4b, 0x1f50, 0x1f52,
    +    0x1f51, 0x1f53, 0x1f59, 0x1f5b, 0x1f60, 0x1f62, 0x1f61, 0x1f63,
    +    0x1f68, 0x1f6a, 0x1f69, 0x1f6b, 0x1fbf, 0x1fcd, 0x1ffe, 0x1fdd,
    +    /* 0x0301 */
    +    0x0041, 0x00c1, 0x0043, 0x0106, 0x0045, 0x00c9, 0x0047, 0x01f4,
    +    0x0049, 0x00cd, 0x004b, 0x1e30, 0x004c, 0x0139, 0x004d, 0x1e3e,
    +    0x004e, 0x0143, 0x004f, 0x00d3, 0x0050, 0x1e54, 0x0052, 0x0154,
    +    0x0053, 0x015a, 0x0055, 0x00da, 0x0057, 0x1e82, 0x0059, 0x00dd,
    +    0x005a, 0x0179, 0x0061, 0x00e1, 0x0063, 0x0107, 0x0065, 0x00e9,
    +    0x0067, 0x01f5, 0x0069, 0x00ed, 0x006b, 0x1e31, 0x006c, 0x013a,
    +    0x006d, 0x1e3f, 0x006e, 0x0144, 0x006f, 0x00f3, 0x0070, 0x1e55,
    +    0x0072, 0x0155, 0x0073, 0x015b, 0x0075, 0x00fa, 0x0077, 0x1e83,
    +    0x0079, 0x00fd, 0x007a, 0x017a, 0x00a8, 0x0385, 0x00c2, 0x1ea4,
    +    0x00c5, 0x01fa, 0x00c6, 0x01fc, 0x00c7, 0x1e08, 0x00ca, 0x1ebe,
    +    0x00cf, 0x1e2e, 0x00d4, 0x1ed0, 0x00d5, 0x1e4c, 0x00d8, 0x01fe,
    +    0x00dc, 0x01d7, 0x00e2, 0x1ea5, 0x00e5, 0x01fb, 0x00e6, 0x01fd,
    +    0x00e7, 0x1e09, 0x00ea, 0x1ebf, 0x00ef, 0x1e2f, 0x00f4, 0x1ed1,
    +    0x00f5, 0x1e4d, 0x00f8, 0x01ff, 0x00fc, 0x01d8, 0x0102, 0x1eae,
    +    0x0103, 0x1eaf, 0x0112, 0x1e16, 0x0113, 0x1e17, 0x014c, 0x1e52,
    +    0x014d, 0x1e53, 0x0168, 0x1e78, 0x0169, 0x1e79, 0x01a0, 0x1eda,
    +    0x01a1, 0x1edb, 0x01af, 0x1ee8, 0x01b0, 0x1ee9, 0x0308, 0x0344,
    +    0x0391, 0x0386, 0x0395, 0x0388, 0x0397, 0x0389, 0x0399, 0x038a,
    +    0x039f, 0x038c, 0x03a5, 0x038e, 0x03a9, 0x038f, 0x03b1, 0x03ac,
    +    0x03b5, 0x03ad, 0x03b7, 0x03ae, 0x03b9, 0x03af, 0x03bf, 0x03cc,
    +    0x03c5, 0x03cd, 0x03c9, 0x03ce, 0x03ca, 0x0390, 0x03cb, 0x03b0,
    +    0x03d2, 0x03d3, 0x0413, 0x0403, 0x041a, 0x040c, 0x0433, 0x0453,
    +    0x043a, 0x045c, 0x1f00, 0x1f04, 0x1f01, 0x1f05, 0x1f08, 0x1f0c,
    +    0x1f09, 0x1f0d, 0x1f10, 0x1f14, 0x1f11, 0x1f15, 0x1f18, 0x1f1c,
    +    0x1f19, 0x1f1d, 0x1f20, 0x1f24, 0x1f21, 0x1f25, 0x1f28, 0x1f2c,
    +    0x1f29, 0x1f2d, 0x1f30, 0x1f34, 0x1f31, 0x1f35, 0x1f38, 0x1f3c,
    +    0x1f39, 0x1f3d, 0x1f40, 0x1f44, 0x1f41, 0x1f45, 0x1f48, 0x1f4c,
    +    0x1f49, 0x1f4d, 0x1f50, 0x1f54, 0x1f51, 0x1f55, 0x1f59, 0x1f5d,
    +    0x1f60, 0x1f64, 0x1f61, 0x1f65, 0x1f68, 0x1f6c, 0x1f69, 0x1f6d,
    +    0x1fbf, 0x1fce, 0x1ffe, 0x1fde,
    +    /* 0x0302 */
    +    0x0041, 0x00c2, 0x0043, 0x0108, 0x0045, 0x00ca, 0x0047, 0x011c,
    +    0x0048, 0x0124, 0x0049, 0x00ce, 0x004a, 0x0134, 0x004f, 0x00d4,
    +    0x0053, 0x015c, 0x0055, 0x00db, 0x0057, 0x0174, 0x0059, 0x0176,
    +    0x005a, 0x1e90, 0x0061, 0x00e2, 0x0063, 0x0109, 0x0065, 0x00ea,
    +    0x0067, 0x011d, 0x0068, 0x0125, 0x0069, 0x00ee, 0x006a, 0x0135,
    +    0x006f, 0x00f4, 0x0073, 0x015d, 0x0075, 0x00fb, 0x0077, 0x0175,
    +    0x0079, 0x0177, 0x007a, 0x1e91, 0x1ea0, 0x1eac, 0x1ea1, 0x1ead,
    +    0x1eb8, 0x1ec6, 0x1eb9, 0x1ec7, 0x1ecc, 0x1ed8, 0x1ecd, 0x1ed9,
    +    /* 0x0303 */
    +    0x0041, 0x00c3, 0x0045, 0x1ebc, 0x0049, 0x0128, 0x004e, 0x00d1,
    +    0x004f, 0x00d5, 0x0055, 0x0168, 0x0056, 0x1e7c, 0x0059, 0x1ef8,
    +    0x0061, 0x00e3, 0x0065, 0x1ebd, 0x0069, 0x0129, 0x006e, 0x00f1,
    +    0x006f, 0x00f5, 0x0075, 0x0169, 0x0076, 0x1e7d, 0x0079, 0x1ef9,
    +    0x00c2, 0x1eaa, 0x00ca, 0x1ec4, 0x00d4, 0x1ed6, 0x00e2, 0x1eab,
    +    0x00ea, 0x1ec5, 0x00f4, 0x1ed7, 0x0102, 0x1eb4, 0x0103, 0x1eb5,
    +    0x01a0, 0x1ee0, 0x01a1, 0x1ee1, 0x01af, 0x1eee, 0x01b0, 0x1eef,
    +    /* 0x0304 */
    +    0x0041, 0x0100, 0x0045, 0x0112, 0x0047, 0x1e20, 0x0049, 0x012a,
    +    0x004f, 0x014c, 0x0055, 0x016a, 0x0059, 0x0232, 0x0061, 0x0101,
    +    0x0065, 0x0113, 0x0067, 0x1e21, 0x0069, 0x012b, 0x006f, 0x014d,
    +    0x0075, 0x016b, 0x0079, 0x0233, 0x00c4, 0x01de, 0x00c6, 0x01e2,
    +    0x00d5, 0x022c, 0x00d6, 0x022a, 0x00dc, 0x01d5, 0x00e4, 0x01df,
    +    0x00e6, 0x01e3, 0x00f5, 0x022d, 0x00f6, 0x022b, 0x00fc, 0x01d6,
    +    0x01ea, 0x01ec, 0x01eb, 0x01ed, 0x0226, 0x01e0, 0x0227, 0x01e1,
    +    0x022e, 0x0230, 0x022f, 0x0231, 0x0391, 0x1fb9, 0x0399, 0x1fd9,
    +    0x03a5, 0x1fe9, 0x03b1, 0x1fb1, 0x03b9, 0x1fd1, 0x03c5, 0x1fe1,
    +    0x0418, 0x04e2, 0x0423, 0x04ee, 0x0438, 0x04e3, 0x0443, 0x04ef,
    +    0x1e36, 0x1e38, 0x1e37, 0x1e39, 0x1e5a, 0x1e5c, 0x1e5b, 0x1e5d,
    +    /* 0x0306 */
    +    0x0041, 0x0102, 0x0045, 0x0114, 0x0047, 0x011e, 0x0049, 0x012c,
    +    0x004f, 0x014e, 0x0055, 0x016c, 0x0061, 0x0103, 0x0065, 0x0115,
    +    0x0067, 0x011f, 0x0069, 0x012d, 0x006f, 0x014f, 0x0075, 0x016d,
    +    0x0228, 0x1e1c, 0x0229, 0x1e1d, 0x0391, 0x1fb8, 0x0399, 0x1fd8,
    +    0x03a5, 0x1fe8, 0x03b1, 0x1fb0, 0x03b9, 0x1fd0, 0x03c5, 0x1fe0,
    +    0x0410, 0x04d0, 0x0415, 0x04d6, 0x0416, 0x04c1, 0x0418, 0x0419,
    +    0x0423, 0x040e, 0x0430, 0x04d1, 0x0435, 0x04d7, 0x0436, 0x04c2,
    +    0x0438, 0x0439, 0x0443, 0x045e, 0x1ea0, 0x1eb6, 0x1ea1, 0x1eb7,
    +    /* 0x0307 */
    +    0x0041, 0x0226, 0x0042, 0x1e02, 0x0043, 0x010a, 0x0044, 0x1e0a,
    +    0x0045, 0x0116, 0x0046, 0x1e1e, 0x0047, 0x0120, 0x0048, 0x1e22,
    +    0x0049, 0x0130, 0x004d, 0x1e40, 0x004e, 0x1e44, 0x004f, 0x022e,
    +    0x0050, 0x1e56, 0x0052, 0x1e58, 0x0053, 0x1e60, 0x0054, 0x1e6a,
    +    0x0057, 0x1e86, 0x0058, 0x1e8a, 0x0059, 0x1e8e, 0x005a, 0x017b,
    +    0x0061, 0x0227, 0x0062, 0x1e03, 0x0063, 0x010b, 0x0064, 0x1e0b,
    +    0x0065, 0x0117, 0x0066, 0x1e1f, 0x0067, 0x0121, 0x0068, 0x1e23,
    +    0x006d, 0x1e41, 0x006e, 0x1e45, 0x006f, 0x022f, 0x0070, 0x1e57,
    +    0x0072, 0x1e59, 0x0073, 0x1e61, 0x0074, 0x1e6b, 0x0077, 0x1e87,
    +    0x0078, 0x1e8b, 0x0079, 0x1e8f, 0x007a, 0x017c, 0x015a, 0x1e64,
    +    0x015b, 0x1e65, 0x0160, 0x1e66, 0x0161, 0x1e67, 0x017f, 0x1e9b,
    +    0x1e62, 0x1e68, 0x1e63, 0x1e69,
    +    /* 0x0308 */
    +    0x0041, 0x00c4, 0x0045, 0x00cb, 0x0048, 0x1e26, 0x0049, 0x00cf,
    +    0x004f, 0x00d6, 0x0055, 0x00dc, 0x0057, 0x1e84, 0x0058, 0x1e8c,
    +    0x0059, 0x0178, 0x0061, 0x00e4, 0x0065, 0x00eb, 0x0068, 0x1e27,
    +    0x0069, 0x00ef, 0x006f, 0x00f6, 0x0074, 0x1e97, 0x0075, 0x00fc,
    +    0x0077, 0x1e85, 0x0078, 0x1e8d, 0x0079, 0x00ff, 0x00d5, 0x1e4e,
    +    0x00f5, 0x1e4f, 0x016a, 0x1e7a, 0x016b, 0x1e7b, 0x0399, 0x03aa,
    +    0x03a5, 0x03ab, 0x03b9, 0x03ca, 0x03c5, 0x03cb, 0x03d2, 0x03d4,
    +    0x0406, 0x0407, 0x0410, 0x04d2, 0x0415, 0x0401, 0x0416, 0x04dc,
    +    0x0417, 0x04de, 0x0418, 0x04e4, 0x041e, 0x04e6, 0x0423, 0x04f0,
    +    0x0427, 0x04f4, 0x042b, 0x04f8, 0x042d, 0x04ec, 0x0430, 0x04d3,
    +    0x0435, 0x0451, 0x0436, 0x04dd, 0x0437, 0x04df, 0x0438, 0x04e5,
    +    0x043e, 0x04e7, 0x0443, 0x04f1, 0x0447, 0x04f5, 0x044b, 0x04f9,
    +    0x044d, 0x04ed, 0x0456, 0x0457, 0x04d8, 0x04da, 0x04d9, 0x04db,
    +    0x04e8, 0x04ea, 0x04e9, 0x04eb,
    +    /* 0x0309 */
    +    0x0041, 0x1ea2, 0x0045, 0x1eba, 0x0049, 0x1ec8, 0x004f, 0x1ece,
    +    0x0055, 0x1ee6, 0x0059, 0x1ef6, 0x0061, 0x1ea3, 0x0065, 0x1ebb,
    +    0x0069, 0x1ec9, 0x006f, 0x1ecf, 0x0075, 0x1ee7, 0x0079, 0x1ef7,
    +    0x00c2, 0x1ea8, 0x00ca, 0x1ec2, 0x00d4, 0x1ed4, 0x00e2, 0x1ea9,
    +    0x00ea, 0x1ec3, 0x00f4, 0x1ed5, 0x0102, 0x1eb2, 0x0103, 0x1eb3,
    +    0x01a0, 0x1ede, 0x01a1, 0x1edf, 0x01af, 0x1eec, 0x01b0, 0x1eed,
    +    /* 0x030a */
    +    0x0041, 0x00c5, 0x0055, 0x016e, 0x0061, 0x00e5, 0x0075, 0x016f,
    +    0x0077, 0x1e98, 0x0079, 0x1e99,
    +    /* 0x030b */
    +    0x004f, 0x0150, 0x0055, 0x0170, 0x006f, 0x0151, 0x0075, 0x0171,
    +    0x0423, 0x04f2, 0x0443, 0x04f3,
    +    /* 0x030c */
    +    0x0041, 0x01cd, 0x0043, 0x010c, 0x0044, 0x010e, 0x0045, 0x011a,
    +    0x0047, 0x01e6, 0x0048, 0x021e, 0x0049, 0x01cf, 0x004b, 0x01e8,
    +    0x004c, 0x013d, 0x004e, 0x0147, 0x004f, 0x01d1, 0x0052, 0x0158,
    +    0x0053, 0x0160, 0x0054, 0x0164, 0x0055, 0x01d3, 0x005a, 0x017d,
    +    0x0061, 0x01ce, 0x0063, 0x010d, 0x0064, 0x010f, 0x0065, 0x011b,
    +    0x0067, 0x01e7, 0x0068, 0x021f, 0x0069, 0x01d0, 0x006a, 0x01f0,
    +    0x006b, 0x01e9, 0x006c, 0x013e, 0x006e, 0x0148, 0x006f, 0x01d2,
    +    0x0072, 0x0159, 0x0073, 0x0161, 0x0074, 0x0165, 0x0075, 0x01d4,
    +    0x007a, 0x017e, 0x00dc, 0x01d9, 0x00fc, 0x01da, 0x01b7, 0x01ee,
    +    0x0292, 0x01ef,
    +    /* 0x030f */
    +    0x0041, 0x0200, 0x0045, 0x0204, 0x0049, 0x0208, 0x004f, 0x020c,
    +    0x0052, 0x0210, 0x0055, 0x0214, 0x0061, 0x0201, 0x0065, 0x0205,
    +    0x0069, 0x0209, 0x006f, 0x020d, 0x0072, 0x0211, 0x0075, 0x0215,
    +    0x0474, 0x0476, 0x0475, 0x0477,
    +    /* 0x0311 */
    +    0x0041, 0x0202, 0x0045, 0x0206, 0x0049, 0x020a, 0x004f, 0x020e,
    +    0x0052, 0x0212, 0x0055, 0x0216, 0x0061, 0x0203, 0x0065, 0x0207,
    +    0x0069, 0x020b, 0x006f, 0x020f, 0x0072, 0x0213, 0x0075, 0x0217,
    +    /* 0x0313 */
    +    0x0391, 0x1f08, 0x0395, 0x1f18, 0x0397, 0x1f28, 0x0399, 0x1f38,
    +    0x039f, 0x1f48, 0x03a9, 0x1f68, 0x03b1, 0x1f00, 0x03b5, 0x1f10,
    +    0x03b7, 0x1f20, 0x03b9, 0x1f30, 0x03bf, 0x1f40, 0x03c1, 0x1fe4,
    +    0x03c5, 0x1f50, 0x03c9, 0x1f60,
    +    /* 0x0314 */
    +    0x0391, 0x1f09, 0x0395, 0x1f19, 0x0397, 0x1f29, 0x0399, 0x1f39,
    +    0x039f, 0x1f49, 0x03a1, 0x1fec, 0x03a5, 0x1f59, 0x03a9, 0x1f69,
    +    0x03b1, 0x1f01, 0x03b5, 0x1f11, 0x03b7, 0x1f21, 0x03b9, 0x1f31,
    +    0x03bf, 0x1f41, 0x03c1, 0x1fe5, 0x03c5, 0x1f51, 0x03c9, 0x1f61,
    +    /* 0x031b */
    +    0x004f, 0x01a0, 0x0055, 0x01af, 0x006f, 0x01a1, 0x0075, 0x01b0,
    +    /* 0x0323 */
    +    0x0041, 0x1ea0, 0x0042, 0x1e04, 0x0044, 0x1e0c, 0x0045, 0x1eb8,
    +    0x0048, 0x1e24, 0x0049, 0x1eca, 0x004b, 0x1e32, 0x004c, 0x1e36,
    +    0x004d, 0x1e42, 0x004e, 0x1e46, 0x004f, 0x1ecc, 0x0052, 0x1e5a,
    +    0x0053, 0x1e62, 0x0054, 0x1e6c, 0x0055, 0x1ee4, 0x0056, 0x1e7e,
    +    0x0057, 0x1e88, 0x0059, 0x1ef4, 0x005a, 0x1e92, 0x0061, 0x1ea1,
    +    0x0062, 0x1e05, 0x0064, 0x1e0d, 0x0065, 0x1eb9, 0x0068, 0x1e25,
    +    0x0069, 0x1ecb, 0x006b, 0x1e33, 0x006c, 0x1e37, 0x006d, 0x1e43,
    +    0x006e, 0x1e47, 0x006f, 0x1ecd, 0x0072, 0x1e5b, 0x0073, 0x1e63,
    +    0x0074, 0x1e6d, 0x0075, 0x1ee5, 0x0076, 0x1e7f, 0x0077, 0x1e89,
    +    0x0079, 0x1ef5, 0x007a, 0x1e93, 0x01a0, 0x1ee2, 0x01a1, 0x1ee3,
    +    0x01af, 0x1ef0, 0x01b0, 0x1ef1,
    +    /* 0x0324 */
    +    0x0055, 0x1e72, 0x0075, 0x1e73,
    +    /* 0x0325 */
    +    0x0041, 0x1e00, 0x0061, 0x1e01,
    +    /* 0x0326 */
    +    0x0053, 0x0218, 0x0054, 0x021a, 0x0073, 0x0219, 0x0074, 0x021b,
    +    /* 0x0327 */
    +    0x0043, 0x00c7, 0x0044, 0x1e10, 0x0045, 0x0228, 0x0047, 0x0122,
    +    0x0048, 0x1e28, 0x004b, 0x0136, 0x004c, 0x013b, 0x004e, 0x0145,
    +    0x0052, 0x0156, 0x0053, 0x015e, 0x0054, 0x0162, 0x0063, 0x00e7,
    +    0x0064, 0x1e11, 0x0065, 0x0229, 0x0067, 0x0123, 0x0068, 0x1e29,
    +    0x006b, 0x0137, 0x006c, 0x013c, 0x006e, 0x0146, 0x0072, 0x0157,
    +    0x0073, 0x015f, 0x0074, 0x0163,
    +    /* 0x0328 */
    +    0x0041, 0x0104, 0x0045, 0x0118, 0x0049, 0x012e, 0x004f, 0x01ea,
    +    0x0055, 0x0172, 0x0061, 0x0105, 0x0065, 0x0119, 0x0069, 0x012f,
    +    0x006f, 0x01eb, 0x0075, 0x0173,
    +    /* 0x032d */
    +    0x0044, 0x1e12, 0x0045, 0x1e18, 0x004c, 0x1e3c, 0x004e, 0x1e4a,
    +    0x0054, 0x1e70, 0x0055, 0x1e76, 0x0064, 0x1e13, 0x0065, 0x1e19,
    +    0x006c, 0x1e3d, 0x006e, 0x1e4b, 0x0074, 0x1e71, 0x0075, 0x1e77,
    +    /* 0x032e */
    +    0x0048, 0x1e2a, 0x0068, 0x1e2b,
    +    /* 0x0330 */
    +    0x0045, 0x1e1a, 0x0049, 0x1e2c, 0x0055, 0x1e74, 0x0065, 0x1e1b,
    +    0x0069, 0x1e2d, 0x0075, 0x1e75,
    +    /* 0x0331 */
    +    0x0042, 0x1e06, 0x0044, 0x1e0e, 0x004b, 0x1e34, 0x004c, 0x1e3a,
    +    0x004e, 0x1e48, 0x0052, 0x1e5e, 0x0054, 0x1e6e, 0x005a, 0x1e94,
    +    0x0062, 0x1e07, 0x0064, 0x1e0f, 0x0068, 0x1e96, 0x006b, 0x1e35,
    +    0x006c, 0x1e3b, 0x006e, 0x1e49, 0x0072, 0x1e5f, 0x0074, 0x1e6f,
    +    0x007a, 0x1e95,
    +    /* 0x0338 */
    +    0x003c, 0x226e, 0x003d, 0x2260, 0x003e, 0x226f, 0x2190, 0x219a,
    +    0x2192, 0x219b, 0x2194, 0x21ae, 0x21d0, 0x21cd, 0x21d2, 0x21cf,
    +    0x21d4, 0x21ce, 0x2203, 0x2204, 0x2208, 0x2209, 0x220b, 0x220c,
    +    0x2223, 0x2224, 0x2225, 0x2226, 0x223c, 0x2241, 0x2243, 0x2244,
    +    0x2245, 0x2247, 0x2248, 0x2249, 0x224d, 0x226d, 0x2261, 0x2262,
    +    0x2264, 0x2270, 0x2265, 0x2271, 0x2272, 0x2274, 0x2273, 0x2275,
    +    0x2276, 0x2278, 0x2277, 0x2279, 0x227a, 0x2280, 0x227b, 0x2281,
    +    0x227c, 0x22e0, 0x227d, 0x22e1, 0x2282, 0x2284, 0x2283, 0x2285,
    +    0x2286, 0x2288, 0x2287, 0x2289, 0x2291, 0x22e2, 0x2292, 0x22e3,
    +    0x22a2, 0x22ac, 0x22a8, 0x22ad, 0x22a9, 0x22ae, 0x22ab, 0x22af,
    +    0x22b2, 0x22ea, 0x22b3, 0x22eb, 0x22b4, 0x22ec, 0x22b5, 0x22ed,
    +    0x2add, 0x2adc,
    +    /* 0x0342 */
    +    0x00a8, 0x1fc1, 0x03b1, 0x1fb6, 0x03b7, 0x1fc6, 0x03b9, 0x1fd6,
    +    0x03c5, 0x1fe6, 0x03c9, 0x1ff6, 0x03ca, 0x1fd7, 0x03cb, 0x1fe7,
    +    0x1f00, 0x1f06, 0x1f01, 0x1f07, 0x1f08, 0x1f0e, 0x1f09, 0x1f0f,
    +    0x1f20, 0x1f26, 0x1f21, 0x1f27, 0x1f28, 0x1f2e, 0x1f29, 0x1f2f,
    +    0x1f30, 0x1f36, 0x1f31, 0x1f37, 0x1f38, 0x1f3e, 0x1f39, 0x1f3f,
    +    0x1f50, 0x1f56, 0x1f51, 0x1f57, 0x1f59, 0x1f5f, 0x1f60, 0x1f66,
    +    0x1f61, 0x1f67, 0x1f68, 0x1f6e, 0x1f69, 0x1f6f, 0x1fbf, 0x1fcf,
    +    0x1ffe, 0x1fdf,
    +    /* 0x0345 */
    +    0x0391, 0x1fbc, 0x0397, 0x1fcc, 0x03a9, 0x1ffc, 0x03ac, 0x1fb4,
    +    0x03ae, 0x1fc4, 0x03b1, 0x1fb3, 0x03b7, 0x1fc3, 0x03c9, 0x1ff3,
    +    0x03ce, 0x1ff4, 0x1f00, 0x1f80, 0x1f01, 0x1f81, 0x1f02, 0x1f82,
    +    0x1f03, 0x1f83, 0x1f04, 0x1f84, 0x1f05, 0x1f85, 0x1f06, 0x1f86,
    +    0x1f07, 0x1f87, 0x1f08, 0x1f88, 0x1f09, 0x1f89, 0x1f0a, 0x1f8a,
    +    0x1f0b, 0x1f8b, 0x1f0c, 0x1f8c, 0x1f0d, 0x1f8d, 0x1f0e, 0x1f8e,
    +    0x1f0f, 0x1f8f, 0x1f20, 0x1f90, 0x1f21, 0x1f91, 0x1f22, 0x1f92,
    +    0x1f23, 0x1f93, 0x1f24, 0x1f94, 0x1f25, 0x1f95, 0x1f26, 0x1f96,
    +    0x1f27, 0x1f97, 0x1f28, 0x1f98, 0x1f29, 0x1f99, 0x1f2a, 0x1f9a,
    +    0x1f2b, 0x1f9b, 0x1f2c, 0x1f9c, 0x1f2d, 0x1f9d, 0x1f2e, 0x1f9e,
    +    0x1f2f, 0x1f9f, 0x1f60, 0x1fa0, 0x1f61, 0x1fa1, 0x1f62, 0x1fa2,
    +    0x1f63, 0x1fa3, 0x1f64, 0x1fa4, 0x1f65, 0x1fa5, 0x1f66, 0x1fa6,
    +    0x1f67, 0x1fa7, 0x1f68, 0x1fa8, 0x1f69, 0x1fa9, 0x1f6a, 0x1faa,
    +    0x1f6b, 0x1fab, 0x1f6c, 0x1fac, 0x1f6d, 0x1fad, 0x1f6e, 0x1fae,
    +    0x1f6f, 0x1faf, 0x1f70, 0x1fb2, 0x1f74, 0x1fc2, 0x1f7c, 0x1ff2,
    +    0x1fb6, 0x1fb7, 0x1fc6, 0x1fc7, 0x1ff6, 0x1ff7,
    +    /* 0x05b4 */
    +    0x05d9, 0xfb1d,
    +    /* 0x05b7 */
    +    0x05d0, 0xfb2e, 0x05f2, 0xfb1f,
    +    /* 0x05b8 */
    +    0x05d0, 0xfb2f,
    +    /* 0x05b9 */
    +    0x05d5, 0xfb4b,
    +    /* 0x05bc */
    +    0x05d0, 0xfb30, 0x05d1, 0xfb31, 0x05d2, 0xfb32, 0x05d3, 0xfb33,
    +    0x05d4, 0xfb34, 0x05d5, 0xfb35, 0x05d6, 0xfb36, 0x05d8, 0xfb38,
    +    0x05d9, 0xfb39, 0x05da, 0xfb3a, 0x05db, 0xfb3b, 0x05dc, 0xfb3c,
    +    0x05de, 0xfb3e, 0x05e0, 0xfb40, 0x05e1, 0xfb41, 0x05e3, 0xfb43,
    +    0x05e4, 0xfb44, 0x05e6, 0xfb46, 0x05e7, 0xfb47, 0x05e8, 0xfb48,
    +    0x05e9, 0xfb49, 0x05ea, 0xfb4a,
    +    /* 0x05bf */
    +    0x05d1, 0xfb4c, 0x05db, 0xfb4d, 0x05e4, 0xfb4e,
    +    /* 0x05c1 */
    +    0x05e9, 0xfb2a, 0xfb49, 0xfb2c,
    +    /* 0x05c2 */
    +    0x05e9, 0xfb2b, 0xfb49, 0xfb2d,
    +    /* 0x0653 */
    +    0x0627, 0x0622,
    +    /* 0x0654 */
    +    0x0627, 0x0623, 0x0648, 0x0624, 0x064a, 0x0626, 0x06c1, 0x06c2,
    +    0x06d2, 0x06d3, 0x06d5, 0x06c0,
    +    /* 0x0655 */
    +    0x0627, 0x0625,
    +    /* 0x093c */
    +    0x0915, 0x0958, 0x0916, 0x0959, 0x0917, 0x095a, 0x091c, 0x095b,
    +    0x0921, 0x095c, 0x0922, 0x095d, 0x0928, 0x0929, 0x092b, 0x095e,
    +    0x092f, 0x095f, 0x0930, 0x0931, 0x0933, 0x0934,
    +    /* 0x09bc */
    +    0x09a1, 0x09dc, 0x09a2, 0x09dd, 0x09af, 0x09df,
    +    /* 0x09be */
    +    0x09c7, 0x09cb,
    +    /* 0x09d7 */
    +    0x09c7, 0x09cc,
    +    /* 0x0a3c */
    +    0x0a16, 0x0a59, 0x0a17, 0x0a5a, 0x0a1c, 0x0a5b, 0x0a2b, 0x0a5e,
    +    0x0a32, 0x0a33, 0x0a38, 0x0a36,
    +    /* 0x0b3c */
    +    0x0b21, 0x0b5c, 0x0b22, 0x0b5d,
    +    /* 0x0b3e */
    +    0x0b47, 0x0b4b,
    +    /* 0x0b56 */
    +    0x0b47, 0x0b48,
    +    /* 0x0b57 */
    +    0x0b47, 0x0b4c,
    +    /* 0x0bbe */
    +    0x0bc6, 0x0bca, 0x0bc7, 0x0bcb,
    +    /* 0x0bd7 */
    +    0x0b92, 0x0b94, 0x0bc6, 0x0bcc,
    +    /* 0x0c56 */
    +    0x0c46, 0x0c48,
    +    /* 0x0cc2 */
    +    0x0cc6, 0x0cca,
    +    /* 0x0cd5 */
    +    0x0cbf, 0x0cc0, 0x0cc6, 0x0cc7, 0x0cca, 0x0ccb,
    +    /* 0x0cd6 */
    +    0x0cc6, 0x0cc8,
    +    /* 0x0d3e */
    +    0x0d46, 0x0d4a, 0x0d47, 0x0d4b,
    +    /* 0x0d57 */
    +    0x0d46, 0x0d4c,
    +    /* 0x0dca */
    +    0x0dd9, 0x0dda, 0x0ddc, 0x0ddd,
    +    /* 0x0dcf */
    +    0x0dd9, 0x0ddc,
    +    /* 0x0ddf */
    +    0x0dd9, 0x0dde,
    +    /* 0x0f72 */
    +    0x0f71, 0x0f73,
    +    /* 0x0f74 */
    +    0x0f71, 0x0f75,
    +    /* 0x0f80 */
    +    0x0f71, 0x0f81, 0x0fb2, 0x0f76, 0x0fb3, 0x0f78,
    +    /* 0x0fb5 */
    +    0x0f40, 0x0f69, 0x0f90, 0x0fb9,
    +    /* 0x0fb7 */
    +    0x0f42, 0x0f43, 0x0f4c, 0x0f4d, 0x0f51, 0x0f52, 0x0f56, 0x0f57,
    +    0x0f5b, 0x0f5c, 0x0f92, 0x0f93, 0x0f9c, 0x0f9d, 0x0fa1, 0x0fa2,
    +    0x0fa6, 0x0fa7, 0x0fab, 0x0fac,
    +    /* 0x102e */
    +    0x1025, 0x1026,
    +    /* 0x3099 */
    +    0x3046, 0x3094, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050,
    +    0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058,
    +    0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060,
    +    0x3061, 0x3062, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069,
    +    0x306f, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079,
    +    0x307b, 0x307c, 0x309d, 0x309e, 0x30a6, 0x30f4, 0x30ab, 0x30ac,
    +    0x30ad, 0x30ae, 0x30af, 0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4,
    +    0x30b5, 0x30b6, 0x30b7, 0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc,
    +    0x30bd, 0x30be, 0x30bf, 0x30c0, 0x30c1, 0x30c2, 0x30c4, 0x30c5,
    +    0x30c6, 0x30c7, 0x30c8, 0x30c9, 0x30cf, 0x30d0, 0x30d2, 0x30d3,
    +    0x30d5, 0x30d6, 0x30d8, 0x30d9, 0x30db, 0x30dc, 0x30ef, 0x30f7,
    +    0x30f0, 0x30f8, 0x30f1, 0x30f9, 0x30f2, 0x30fa, 0x30fd, 0x30fe,
    +    /* 0x309a */
    +    0x306f, 0x3071, 0x3072, 0x3074, 0x3075, 0x3077, 0x3078, 0x307a,
    +    0x307b, 0x307d, 0x30cf, 0x30d1, 0x30d2, 0x30d4, 0x30d5, 0x30d7,
    +    0x30d8, 0x30da, 0x30db, 0x30dd
    +};
    +
    +const unsigned int unicode_compose_table_size = 69;
    +
    +const WCHAR unicode_decompose_table[4560] =
    +{
    +    /* index */
    +    0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0100, 0x0160, 0x0100,
    +    0x0100, 0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x0100, 0x01c0,
    +    0x01d0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x01e0, 0x01f0,
    +    0x0100, 0x0200, 0x0210, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0220, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0230, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
    +    0x0100, 0x0100, 0x0100, 0x0240, 0x0100, 0x0100, 0x0100, 0x0100,
    +    /* null sub-index */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 00 */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0270, 0x0290, 0x02b0, 0x02d0,
    +    /* sub-index 01 */
    +    0x02f0, 0x0310, 0x0330, 0x0350, 0x0370, 0x0390, 0x03b0, 0x03d0,
    +    0x0250, 0x0250, 0x03f0, 0x0410, 0x0430, 0x0450, 0x0470, 0x0490,
    +    /* sub-index 02 */
    +    0x04b0, 0x04d0, 0x04f0, 0x0510, 0x0250, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 03 */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0530, 0x0250, 0x0250, 0x0250,
    +    0x0550, 0x0570, 0x0590, 0x05b0, 0x05d0, 0x05f0, 0x0250, 0x0250,
    +    /* sub-index 04 */
    +    0x0610, 0x0630, 0x0250, 0x0650, 0x0250, 0x0670, 0x0250, 0x0690,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x06b0, 0x06d0, 0x06f0, 0x0710,
    +    /* sub-index 06 */
    +    0x0250, 0x0250, 0x0730, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0750, 0x0770, 0x0250, 0x0250,
    +    /* sub-index 09 */
    +    0x0250, 0x0250, 0x0790, 0x07b0, 0x0250, 0x07d0, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x07f0, 0x0810, 0x0250, 0x0250,
    +    /* sub-index 0a */
    +    0x0250, 0x0250, 0x0250, 0x0830, 0x0250, 0x0850, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 0b */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0870, 0x0890, 0x0250, 0x0250,
    +    0x0250, 0x08b0, 0x0250, 0x0250, 0x08d0, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 0c */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x08f0, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0910, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 0d */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0930, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0950, 0x0250, 0x0250,
    +    /* sub-index 0f */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0970, 0x0990, 0x09b0, 0x09d0,
    +    0x09f0, 0x0a10, 0x0a30, 0x0a50, 0x0250, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 10 */
    +    0x0250, 0x0250, 0x0a70, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 1e */
    +    0x0a90, 0x0ab0, 0x0ad0, 0x0af0, 0x0b10, 0x0b30, 0x0b50, 0x0b70,
    +    0x0b90, 0x0bb0, 0x0bd0, 0x0bf0, 0x0c10, 0x0c30, 0x0c50, 0x0c70,
    +    /* sub-index 1f */
    +    0x0c90, 0x0cb0, 0x0cd0, 0x0cf0, 0x0d10, 0x0d30, 0x0d50, 0x0d70,
    +    0x0d90, 0x0db0, 0x0dd0, 0x0df0, 0x0e10, 0x0e30, 0x0e50, 0x0e70,
    +    /* sub-index 21 */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0e90, 0x0eb0, 0x0250, 0x0ed0, 0x0250, 0x0250, 0x0250,
    +    /* sub-index 22 */
    +    0x0ef0, 0x0250, 0x0f10, 0x0250, 0x0f30, 0x0250, 0x0f50, 0x0f70,
    +    0x0f90, 0x0250, 0x0fb0, 0x0250, 0x0250, 0x0250, 0x0fd0, 0x0250,
    +    /* sub-index 2a */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0ff0, 0x0250, 0x0250,
    +    /* sub-index 30 */
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x1010, 0x1030, 0x1050, 0x1070,
    +    0x0250, 0x1090, 0x10b0, 0x10d0, 0x10f0, 0x1110, 0x0250, 0x1130,
    +    /* sub-index fb */
    +    0x0250, 0x1150, 0x1170, 0x1190, 0x11b0, 0x0250, 0x0250, 0x0250,
    +    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,
    +    /* null mapping */
    +    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,
    +    /* 0x00c0 .. 0x00cf */
    +    0x0041, 0x0300, 0x0041, 0x0301, 0x0041, 0x0302, 0x0041, 0x0303,
    +    0x0041, 0x0308, 0x0041, 0x030a, 0x0000, 0x0000, 0x0043, 0x0327,
    +    0x0045, 0x0300, 0x0045, 0x0301, 0x0045, 0x0302, 0x0045, 0x0308,
    +    0x0049, 0x0300, 0x0049, 0x0301, 0x0049, 0x0302, 0x0049, 0x0308,
    +    /* 0x00d0 .. 0x00df */
    +    0x0000, 0x0000, 0x004e, 0x0303, 0x004f, 0x0300, 0x004f, 0x0301,
    +    0x004f, 0x0302, 0x004f, 0x0303, 0x004f, 0x0308, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0055, 0x0300, 0x0055, 0x0301, 0x0055, 0x0302,
    +    0x0055, 0x0308, 0x0059, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x00e0 .. 0x00ef */
    +    0x0061, 0x0300, 0x0061, 0x0301, 0x0061, 0x0302, 0x0061, 0x0303,
    +    0x0061, 0x0308, 0x0061, 0x030a, 0x0000, 0x0000, 0x0063, 0x0327,
    +    0x0065, 0x0300, 0x0065, 0x0301, 0x0065, 0x0302, 0x0065, 0x0308,
    +    0x0069, 0x0300, 0x0069, 0x0301, 0x0069, 0x0302, 0x0069, 0x0308,
    +    /* 0x00f0 .. 0x00ff */
    +    0x0000, 0x0000, 0x006e, 0x0303, 0x006f, 0x0300, 0x006f, 0x0301,
    +    0x006f, 0x0302, 0x006f, 0x0303, 0x006f, 0x0308, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0075, 0x0300, 0x0075, 0x0301, 0x0075, 0x0302,
    +    0x0075, 0x0308, 0x0079, 0x0301, 0x0000, 0x0000, 0x0079, 0x0308,
    +    /* 0x0100 .. 0x010f */
    +    0x0041, 0x0304, 0x0061, 0x0304, 0x0041, 0x0306, 0x0061, 0x0306,
    +    0x0041, 0x0328, 0x0061, 0x0328, 0x0043, 0x0301, 0x0063, 0x0301,
    +    0x0043, 0x0302, 0x0063, 0x0302, 0x0043, 0x0307, 0x0063, 0x0307,
    +    0x0043, 0x030c, 0x0063, 0x030c, 0x0044, 0x030c, 0x0064, 0x030c,
    +    /* 0x0110 .. 0x011f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0045, 0x0304, 0x0065, 0x0304,
    +    0x0045, 0x0306, 0x0065, 0x0306, 0x0045, 0x0307, 0x0065, 0x0307,
    +    0x0045, 0x0328, 0x0065, 0x0328, 0x0045, 0x030c, 0x0065, 0x030c,
    +    0x0047, 0x0302, 0x0067, 0x0302, 0x0047, 0x0306, 0x0067, 0x0306,
    +    /* 0x0120 .. 0x012f */
    +    0x0047, 0x0307, 0x0067, 0x0307, 0x0047, 0x0327, 0x0067, 0x0327,
    +    0x0048, 0x0302, 0x0068, 0x0302, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0049, 0x0303, 0x0069, 0x0303, 0x0049, 0x0304, 0x0069, 0x0304,
    +    0x0049, 0x0306, 0x0069, 0x0306, 0x0049, 0x0328, 0x0069, 0x0328,
    +    /* 0x0130 .. 0x013f */
    +    0x0049, 0x0307, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x004a, 0x0302, 0x006a, 0x0302, 0x004b, 0x0327, 0x006b, 0x0327,
    +    0x0000, 0x0000, 0x004c, 0x0301, 0x006c, 0x0301, 0x004c, 0x0327,
    +    0x006c, 0x0327, 0x004c, 0x030c, 0x006c, 0x030c, 0x0000, 0x0000,
    +    /* 0x0140 .. 0x014f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x004e, 0x0301,
    +    0x006e, 0x0301, 0x004e, 0x0327, 0x006e, 0x0327, 0x004e, 0x030c,
    +    0x006e, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x004f, 0x0304, 0x006f, 0x0304, 0x004f, 0x0306, 0x006f, 0x0306,
    +    /* 0x0150 .. 0x015f */
    +    0x004f, 0x030b, 0x006f, 0x030b, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0052, 0x0301, 0x0072, 0x0301, 0x0052, 0x0327, 0x0072, 0x0327,
    +    0x0052, 0x030c, 0x0072, 0x030c, 0x0053, 0x0301, 0x0073, 0x0301,
    +    0x0053, 0x0302, 0x0073, 0x0302, 0x0053, 0x0327, 0x0073, 0x0327,
    +    /* 0x0160 .. 0x016f */
    +    0x0053, 0x030c, 0x0073, 0x030c, 0x0054, 0x0327, 0x0074, 0x0327,
    +    0x0054, 0x030c, 0x0074, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0055, 0x0303, 0x0075, 0x0303, 0x0055, 0x0304, 0x0075, 0x0304,
    +    0x0055, 0x0306, 0x0075, 0x0306, 0x0055, 0x030a, 0x0075, 0x030a,
    +    /* 0x0170 .. 0x017f */
    +    0x0055, 0x030b, 0x0075, 0x030b, 0x0055, 0x0328, 0x0075, 0x0328,
    +    0x0057, 0x0302, 0x0077, 0x0302, 0x0059, 0x0302, 0x0079, 0x0302,
    +    0x0059, 0x0308, 0x005a, 0x0301, 0x007a, 0x0301, 0x005a, 0x0307,
    +    0x007a, 0x0307, 0x005a, 0x030c, 0x007a, 0x030c, 0x0000, 0x0000,
    +    /* 0x01a0 .. 0x01af */
    +    0x004f, 0x031b, 0x006f, 0x031b, 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, 0x0055, 0x031b,
    +    /* 0x01b0 .. 0x01bf */
    +    0x0075, 0x031b, 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,
    +    /* 0x01c0 .. 0x01cf */
    +    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, 0x0041, 0x030c, 0x0061, 0x030c, 0x0049, 0x030c,
    +    /* 0x01d0 .. 0x01df */
    +    0x0069, 0x030c, 0x004f, 0x030c, 0x006f, 0x030c, 0x0055, 0x030c,
    +    0x0075, 0x030c, 0x00dc, 0x0304, 0x00fc, 0x0304, 0x00dc, 0x0301,
    +    0x00fc, 0x0301, 0x00dc, 0x030c, 0x00fc, 0x030c, 0x00dc, 0x0300,
    +    0x00fc, 0x0300, 0x0000, 0x0000, 0x00c4, 0x0304, 0x00e4, 0x0304,
    +    /* 0x01e0 .. 0x01ef */
    +    0x0226, 0x0304, 0x0227, 0x0304, 0x00c6, 0x0304, 0x00e6, 0x0304,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0047, 0x030c, 0x0067, 0x030c,
    +    0x004b, 0x030c, 0x006b, 0x030c, 0x004f, 0x0328, 0x006f, 0x0328,
    +    0x01ea, 0x0304, 0x01eb, 0x0304, 0x01b7, 0x030c, 0x0292, 0x030c,
    +    /* 0x01f0 .. 0x01ff */
    +    0x006a, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0047, 0x0301, 0x0067, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x004e, 0x0300, 0x006e, 0x0300, 0x00c5, 0x0301, 0x00e5, 0x0301,
    +    0x00c6, 0x0301, 0x00e6, 0x0301, 0x00d8, 0x0301, 0x00f8, 0x0301,
    +    /* 0x0200 .. 0x020f */
    +    0x0041, 0x030f, 0x0061, 0x030f, 0x0041, 0x0311, 0x0061, 0x0311,
    +    0x0045, 0x030f, 0x0065, 0x030f, 0x0045, 0x0311, 0x0065, 0x0311,
    +    0x0049, 0x030f, 0x0069, 0x030f, 0x0049, 0x0311, 0x0069, 0x0311,
    +    0x004f, 0x030f, 0x006f, 0x030f, 0x004f, 0x0311, 0x006f, 0x0311,
    +    /* 0x0210 .. 0x021f */
    +    0x0052, 0x030f, 0x0072, 0x030f, 0x0052, 0x0311, 0x0072, 0x0311,
    +    0x0055, 0x030f, 0x0075, 0x030f, 0x0055, 0x0311, 0x0075, 0x0311,
    +    0x0053, 0x0326, 0x0073, 0x0326, 0x0054, 0x0326, 0x0074, 0x0326,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0048, 0x030c, 0x0068, 0x030c,
    +    /* 0x0220 .. 0x022f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0307, 0x0061, 0x0307,
    +    0x0045, 0x0327, 0x0065, 0x0327, 0x00d6, 0x0304, 0x00f6, 0x0304,
    +    0x00d5, 0x0304, 0x00f5, 0x0304, 0x004f, 0x0307, 0x006f, 0x0307,
    +    /* 0x0230 .. 0x023f */
    +    0x022e, 0x0304, 0x022f, 0x0304, 0x0059, 0x0304, 0x0079, 0x0304,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0340 .. 0x034f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0308, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0380 .. 0x038f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x00a8, 0x0301, 0x0391, 0x0301, 0x0000, 0x0000,
    +    0x0395, 0x0301, 0x0397, 0x0301, 0x0399, 0x0301, 0x0000, 0x0000,
    +    0x039f, 0x0301, 0x0000, 0x0000, 0x03a5, 0x0301, 0x03a9, 0x0301,
    +    /* 0x0390 .. 0x039f */
    +    0x03ca, 0x0301, 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,
    +    /* 0x03a0 .. 0x03af */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0399, 0x0308, 0x03a5, 0x0308,
    +    0x03b1, 0x0301, 0x03b5, 0x0301, 0x03b7, 0x0301, 0x03b9, 0x0301,
    +    /* 0x03b0 .. 0x03bf */
    +    0x03cb, 0x0301, 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,
    +    /* 0x03c0 .. 0x03cf */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x03b9, 0x0308, 0x03c5, 0x0308,
    +    0x03bf, 0x0301, 0x03c5, 0x0301, 0x03c9, 0x0301, 0x0000, 0x0000,
    +    /* 0x03d0 .. 0x03df */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d2, 0x0301,
    +    0x03d2, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0400 .. 0x040f */
    +    0x0415, 0x0300, 0x0415, 0x0308, 0x0000, 0x0000, 0x0413, 0x0301,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0406, 0x0308,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x041a, 0x0301, 0x0418, 0x0300, 0x0423, 0x0306, 0x0000, 0x0000,
    +    /* 0x0410 .. 0x041f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0418, 0x0306, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0430 .. 0x043f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0438, 0x0306, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0450 .. 0x045f */
    +    0x0435, 0x0300, 0x0435, 0x0308, 0x0000, 0x0000, 0x0433, 0x0301,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0456, 0x0308,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x043a, 0x0301, 0x0438, 0x0300, 0x0443, 0x0306, 0x0000, 0x0000,
    +    /* 0x0470 .. 0x047f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0474, 0x030f, 0x0475, 0x030f,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x04c0 .. 0x04cf */
    +    0x0000, 0x0000, 0x0416, 0x0306, 0x0436, 0x0306, 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,
    +    /* 0x04d0 .. 0x04df */
    +    0x0410, 0x0306, 0x0430, 0x0306, 0x0410, 0x0308, 0x0430, 0x0308,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0415, 0x0306, 0x0435, 0x0306,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x04d8, 0x0308, 0x04d9, 0x0308,
    +    0x0416, 0x0308, 0x0436, 0x0308, 0x0417, 0x0308, 0x0437, 0x0308,
    +    /* 0x04e0 .. 0x04ef */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0418, 0x0304, 0x0438, 0x0304,
    +    0x0418, 0x0308, 0x0438, 0x0308, 0x041e, 0x0308, 0x043e, 0x0308,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x04e8, 0x0308, 0x04e9, 0x0308,
    +    0x042d, 0x0308, 0x044d, 0x0308, 0x0423, 0x0304, 0x0443, 0x0304,
    +    /* 0x04f0 .. 0x04ff */
    +    0x0423, 0x0308, 0x0443, 0x0308, 0x0423, 0x030b, 0x0443, 0x030b,
    +    0x0427, 0x0308, 0x0447, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x042b, 0x0308, 0x044b, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0620 .. 0x062f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0627, 0x0653, 0x0627, 0x0654,
    +    0x0648, 0x0654, 0x0627, 0x0655, 0x064a, 0x0654, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x06c0 .. 0x06cf */
    +    0x06d5, 0x0654, 0x0000, 0x0000, 0x06c1, 0x0654, 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,
    +    /* 0x06d0 .. 0x06df */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06d2, 0x0654,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0920 .. 0x092f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0928, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0930 .. 0x093f */
    +    0x0000, 0x0000, 0x0930, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0933, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0950 .. 0x095f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0915, 0x093c, 0x0916, 0x093c, 0x0917, 0x093c, 0x091c, 0x093c,
    +    0x0921, 0x093c, 0x0922, 0x093c, 0x092b, 0x093c, 0x092f, 0x093c,
    +    /* 0x09c0 .. 0x09cf */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09c7, 0x09be,
    +    0x09c7, 0x09d7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x09d0 .. 0x09df */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x09a1, 0x09bc, 0x09a2, 0x09bc, 0x0000, 0x0000, 0x09af, 0x09bc,
    +    /* 0x0a30 .. 0x0a3f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a32, 0x0a3c,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0a38, 0x0a3c, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0a50 .. 0x0a5f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0a16, 0x0a3c, 0x0a17, 0x0a3c, 0x0a1c, 0x0a3c,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0a2b, 0x0a3c, 0x0000, 0x0000,
    +    /* 0x0b40 .. 0x0b4f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0b47, 0x0b56, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b47, 0x0b3e,
    +    0x0b47, 0x0b57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0b50 .. 0x0b5f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0b21, 0x0b3c, 0x0b22, 0x0b3c, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0b90 .. 0x0b9f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0b92, 0x0bd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0bc0 .. 0x0bcf */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0bc6, 0x0bbe, 0x0bc7, 0x0bbe,
    +    0x0bc6, 0x0bd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0c40 .. 0x0c4f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0c46, 0x0c56, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0cc0 .. 0x0ccf */
    +    0x0cbf, 0x0cd5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cc6, 0x0cd5,
    +    0x0cc6, 0x0cd6, 0x0000, 0x0000, 0x0cc6, 0x0cc2, 0x0cca, 0x0cd5,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0d40 .. 0x0d4f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0d46, 0x0d3e, 0x0d47, 0x0d3e,
    +    0x0d46, 0x0d57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0dd0 .. 0x0ddf */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0dd9, 0x0dca, 0x0000, 0x0000,
    +    0x0dd9, 0x0dcf, 0x0ddc, 0x0dca, 0x0dd9, 0x0ddf, 0x0000, 0x0000,
    +    /* 0x0f40 .. 0x0f4f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f42, 0x0fb7,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0f4c, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0f50 .. 0x0f5f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0f51, 0x0fb7, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f56, 0x0fb7,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0f5b, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0f60 .. 0x0f6f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0f40, 0x0fb5, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0f70 .. 0x0f7f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f71, 0x0f72,
    +    0x0000, 0x0000, 0x0f71, 0x0f74, 0x0fb2, 0x0f80, 0x0000, 0x0000,
    +    0x0fb3, 0x0f80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0f80 .. 0x0f8f */
    +    0x0000, 0x0000, 0x0f71, 0x0f80, 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,
    +    /* 0x0f90 .. 0x0f9f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f92, 0x0fb7,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0f9c, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0fa0 .. 0x0faf */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0fa1, 0x0fb7, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fa6, 0x0fb7,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0fab, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x0fb0 .. 0x0fbf */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0f90, 0x0fb5, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1020 .. 0x102f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x1025, 0x102e, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1e00 .. 0x1e0f */
    +    0x0041, 0x0325, 0x0061, 0x0325, 0x0042, 0x0307, 0x0062, 0x0307,
    +    0x0042, 0x0323, 0x0062, 0x0323, 0x0042, 0x0331, 0x0062, 0x0331,
    +    0x00c7, 0x0301, 0x00e7, 0x0301, 0x0044, 0x0307, 0x0064, 0x0307,
    +    0x0044, 0x0323, 0x0064, 0x0323, 0x0044, 0x0331, 0x0064, 0x0331,
    +    /* 0x1e10 .. 0x1e1f */
    +    0x0044, 0x0327, 0x0064, 0x0327, 0x0044, 0x032d, 0x0064, 0x032d,
    +    0x0112, 0x0300, 0x0113, 0x0300, 0x0112, 0x0301, 0x0113, 0x0301,
    +    0x0045, 0x032d, 0x0065, 0x032d, 0x0045, 0x0330, 0x0065, 0x0330,
    +    0x0228, 0x0306, 0x0229, 0x0306, 0x0046, 0x0307, 0x0066, 0x0307,
    +    /* 0x1e20 .. 0x1e2f */
    +    0x0047, 0x0304, 0x0067, 0x0304, 0x0048, 0x0307, 0x0068, 0x0307,
    +    0x0048, 0x0323, 0x0068, 0x0323, 0x0048, 0x0308, 0x0068, 0x0308,
    +    0x0048, 0x0327, 0x0068, 0x0327, 0x0048, 0x032e, 0x0068, 0x032e,
    +    0x0049, 0x0330, 0x0069, 0x0330, 0x00cf, 0x0301, 0x00ef, 0x0301,
    +    /* 0x1e30 .. 0x1e3f */
    +    0x004b, 0x0301, 0x006b, 0x0301, 0x004b, 0x0323, 0x006b, 0x0323,
    +    0x004b, 0x0331, 0x006b, 0x0331, 0x004c, 0x0323, 0x006c, 0x0323,
    +    0x1e36, 0x0304, 0x1e37, 0x0304, 0x004c, 0x0331, 0x006c, 0x0331,
    +    0x004c, 0x032d, 0x006c, 0x032d, 0x004d, 0x0301, 0x006d, 0x0301,
    +    /* 0x1e40 .. 0x1e4f */
    +    0x004d, 0x0307, 0x006d, 0x0307, 0x004d, 0x0323, 0x006d, 0x0323,
    +    0x004e, 0x0307, 0x006e, 0x0307, 0x004e, 0x0323, 0x006e, 0x0323,
    +    0x004e, 0x0331, 0x006e, 0x0331, 0x004e, 0x032d, 0x006e, 0x032d,
    +    0x00d5, 0x0301, 0x00f5, 0x0301, 0x00d5, 0x0308, 0x00f5, 0x0308,
    +    /* 0x1e50 .. 0x1e5f */
    +    0x014c, 0x0300, 0x014d, 0x0300, 0x014c, 0x0301, 0x014d, 0x0301,
    +    0x0050, 0x0301, 0x0070, 0x0301, 0x0050, 0x0307, 0x0070, 0x0307,
    +    0x0052, 0x0307, 0x0072, 0x0307, 0x0052, 0x0323, 0x0072, 0x0323,
    +    0x1e5a, 0x0304, 0x1e5b, 0x0304, 0x0052, 0x0331, 0x0072, 0x0331,
    +    /* 0x1e60 .. 0x1e6f */
    +    0x0053, 0x0307, 0x0073, 0x0307, 0x0053, 0x0323, 0x0073, 0x0323,
    +    0x015a, 0x0307, 0x015b, 0x0307, 0x0160, 0x0307, 0x0161, 0x0307,
    +    0x1e62, 0x0307, 0x1e63, 0x0307, 0x0054, 0x0307, 0x0074, 0x0307,
    +    0x0054, 0x0323, 0x0074, 0x0323, 0x0054, 0x0331, 0x0074, 0x0331,
    +    /* 0x1e70 .. 0x1e7f */
    +    0x0054, 0x032d, 0x0074, 0x032d, 0x0055, 0x0324, 0x0075, 0x0324,
    +    0x0055, 0x0330, 0x0075, 0x0330, 0x0055, 0x032d, 0x0075, 0x032d,
    +    0x0168, 0x0301, 0x0169, 0x0301, 0x016a, 0x0308, 0x016b, 0x0308,
    +    0x0056, 0x0303, 0x0076, 0x0303, 0x0056, 0x0323, 0x0076, 0x0323,
    +    /* 0x1e80 .. 0x1e8f */
    +    0x0057, 0x0300, 0x0077, 0x0300, 0x0057, 0x0301, 0x0077, 0x0301,
    +    0x0057, 0x0308, 0x0077, 0x0308, 0x0057, 0x0307, 0x0077, 0x0307,
    +    0x0057, 0x0323, 0x0077, 0x0323, 0x0058, 0x0307, 0x0078, 0x0307,
    +    0x0058, 0x0308, 0x0078, 0x0308, 0x0059, 0x0307, 0x0079, 0x0307,
    +    /* 0x1e90 .. 0x1e9f */
    +    0x005a, 0x0302, 0x007a, 0x0302, 0x005a, 0x0323, 0x007a, 0x0323,
    +    0x005a, 0x0331, 0x007a, 0x0331, 0x0068, 0x0331, 0x0074, 0x0308,
    +    0x0077, 0x030a, 0x0079, 0x030a, 0x0000, 0x0000, 0x017f, 0x0307,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1ea0 .. 0x1eaf */
    +    0x0041, 0x0323, 0x0061, 0x0323, 0x0041, 0x0309, 0x0061, 0x0309,
    +    0x00c2, 0x0301, 0x00e2, 0x0301, 0x00c2, 0x0300, 0x00e2, 0x0300,
    +    0x00c2, 0x0309, 0x00e2, 0x0309, 0x00c2, 0x0303, 0x00e2, 0x0303,
    +    0x1ea0, 0x0302, 0x1ea1, 0x0302, 0x0102, 0x0301, 0x0103, 0x0301,
    +    /* 0x1eb0 .. 0x1ebf */
    +    0x0102, 0x0300, 0x0103, 0x0300, 0x0102, 0x0309, 0x0103, 0x0309,
    +    0x0102, 0x0303, 0x0103, 0x0303, 0x1ea0, 0x0306, 0x1ea1, 0x0306,
    +    0x0045, 0x0323, 0x0065, 0x0323, 0x0045, 0x0309, 0x0065, 0x0309,
    +    0x0045, 0x0303, 0x0065, 0x0303, 0x00ca, 0x0301, 0x00ea, 0x0301,
    +    /* 0x1ec0 .. 0x1ecf */
    +    0x00ca, 0x0300, 0x00ea, 0x0300, 0x00ca, 0x0309, 0x00ea, 0x0309,
    +    0x00ca, 0x0303, 0x00ea, 0x0303, 0x1eb8, 0x0302, 0x1eb9, 0x0302,
    +    0x0049, 0x0309, 0x0069, 0x0309, 0x0049, 0x0323, 0x0069, 0x0323,
    +    0x004f, 0x0323, 0x006f, 0x0323, 0x004f, 0x0309, 0x006f, 0x0309,
    +    /* 0x1ed0 .. 0x1edf */
    +    0x00d4, 0x0301, 0x00f4, 0x0301, 0x00d4, 0x0300, 0x00f4, 0x0300,
    +    0x00d4, 0x0309, 0x00f4, 0x0309, 0x00d4, 0x0303, 0x00f4, 0x0303,
    +    0x1ecc, 0x0302, 0x1ecd, 0x0302, 0x01a0, 0x0301, 0x01a1, 0x0301,
    +    0x01a0, 0x0300, 0x01a1, 0x0300, 0x01a0, 0x0309, 0x01a1, 0x0309,
    +    /* 0x1ee0 .. 0x1eef */
    +    0x01a0, 0x0303, 0x01a1, 0x0303, 0x01a0, 0x0323, 0x01a1, 0x0323,
    +    0x0055, 0x0323, 0x0075, 0x0323, 0x0055, 0x0309, 0x0075, 0x0309,
    +    0x01af, 0x0301, 0x01b0, 0x0301, 0x01af, 0x0300, 0x01b0, 0x0300,
    +    0x01af, 0x0309, 0x01b0, 0x0309, 0x01af, 0x0303, 0x01b0, 0x0303,
    +    /* 0x1ef0 .. 0x1eff */
    +    0x01af, 0x0323, 0x01b0, 0x0323, 0x0059, 0x0300, 0x0079, 0x0300,
    +    0x0059, 0x0323, 0x0079, 0x0323, 0x0059, 0x0309, 0x0079, 0x0309,
    +    0x0059, 0x0303, 0x0079, 0x0303, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1f00 .. 0x1f0f */
    +    0x03b1, 0x0313, 0x03b1, 0x0314, 0x1f00, 0x0300, 0x1f01, 0x0300,
    +    0x1f00, 0x0301, 0x1f01, 0x0301, 0x1f00, 0x0342, 0x1f01, 0x0342,
    +    0x0391, 0x0313, 0x0391, 0x0314, 0x1f08, 0x0300, 0x1f09, 0x0300,
    +    0x1f08, 0x0301, 0x1f09, 0x0301, 0x1f08, 0x0342, 0x1f09, 0x0342,
    +    /* 0x1f10 .. 0x1f1f */
    +    0x03b5, 0x0313, 0x03b5, 0x0314, 0x1f10, 0x0300, 0x1f11, 0x0300,
    +    0x1f10, 0x0301, 0x1f11, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0395, 0x0313, 0x0395, 0x0314, 0x1f18, 0x0300, 0x1f19, 0x0300,
    +    0x1f18, 0x0301, 0x1f19, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1f20 .. 0x1f2f */
    +    0x03b7, 0x0313, 0x03b7, 0x0314, 0x1f20, 0x0300, 0x1f21, 0x0300,
    +    0x1f20, 0x0301, 0x1f21, 0x0301, 0x1f20, 0x0342, 0x1f21, 0x0342,
    +    0x0397, 0x0313, 0x0397, 0x0314, 0x1f28, 0x0300, 0x1f29, 0x0300,
    +    0x1f28, 0x0301, 0x1f29, 0x0301, 0x1f28, 0x0342, 0x1f29, 0x0342,
    +    /* 0x1f30 .. 0x1f3f */
    +    0x03b9, 0x0313, 0x03b9, 0x0314, 0x1f30, 0x0300, 0x1f31, 0x0300,
    +    0x1f30, 0x0301, 0x1f31, 0x0301, 0x1f30, 0x0342, 0x1f31, 0x0342,
    +    0x0399, 0x0313, 0x0399, 0x0314, 0x1f38, 0x0300, 0x1f39, 0x0300,
    +    0x1f38, 0x0301, 0x1f39, 0x0301, 0x1f38, 0x0342, 0x1f39, 0x0342,
    +    /* 0x1f40 .. 0x1f4f */
    +    0x03bf, 0x0313, 0x03bf, 0x0314, 0x1f40, 0x0300, 0x1f41, 0x0300,
    +    0x1f40, 0x0301, 0x1f41, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x039f, 0x0313, 0x039f, 0x0314, 0x1f48, 0x0300, 0x1f49, 0x0300,
    +    0x1f48, 0x0301, 0x1f49, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1f50 .. 0x1f5f */
    +    0x03c5, 0x0313, 0x03c5, 0x0314, 0x1f50, 0x0300, 0x1f51, 0x0300,
    +    0x1f50, 0x0301, 0x1f51, 0x0301, 0x1f50, 0x0342, 0x1f51, 0x0342,
    +    0x0000, 0x0000, 0x03a5, 0x0314, 0x0000, 0x0000, 0x1f59, 0x0300,
    +    0x0000, 0x0000, 0x1f59, 0x0301, 0x0000, 0x0000, 0x1f59, 0x0342,
    +    /* 0x1f60 .. 0x1f6f */
    +    0x03c9, 0x0313, 0x03c9, 0x0314, 0x1f60, 0x0300, 0x1f61, 0x0300,
    +    0x1f60, 0x0301, 0x1f61, 0x0301, 0x1f60, 0x0342, 0x1f61, 0x0342,
    +    0x03a9, 0x0313, 0x03a9, 0x0314, 0x1f68, 0x0300, 0x1f69, 0x0300,
    +    0x1f68, 0x0301, 0x1f69, 0x0301, 0x1f68, 0x0342, 0x1f69, 0x0342,
    +    /* 0x1f70 .. 0x1f7f */
    +    0x03b1, 0x0300, 0x0000, 0x0000, 0x03b5, 0x0300, 0x0000, 0x0000,
    +    0x03b7, 0x0300, 0x0000, 0x0000, 0x03b9, 0x0300, 0x0000, 0x0000,
    +    0x03bf, 0x0300, 0x0000, 0x0000, 0x03c5, 0x0300, 0x0000, 0x0000,
    +    0x03c9, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1f80 .. 0x1f8f */
    +    0x1f00, 0x0345, 0x1f01, 0x0345, 0x1f02, 0x0345, 0x1f03, 0x0345,
    +    0x1f04, 0x0345, 0x1f05, 0x0345, 0x1f06, 0x0345, 0x1f07, 0x0345,
    +    0x1f08, 0x0345, 0x1f09, 0x0345, 0x1f0a, 0x0345, 0x1f0b, 0x0345,
    +    0x1f0c, 0x0345, 0x1f0d, 0x0345, 0x1f0e, 0x0345, 0x1f0f, 0x0345,
    +    /* 0x1f90 .. 0x1f9f */
    +    0x1f20, 0x0345, 0x1f21, 0x0345, 0x1f22, 0x0345, 0x1f23, 0x0345,
    +    0x1f24, 0x0345, 0x1f25, 0x0345, 0x1f26, 0x0345, 0x1f27, 0x0345,
    +    0x1f28, 0x0345, 0x1f29, 0x0345, 0x1f2a, 0x0345, 0x1f2b, 0x0345,
    +    0x1f2c, 0x0345, 0x1f2d, 0x0345, 0x1f2e, 0x0345, 0x1f2f, 0x0345,
    +    /* 0x1fa0 .. 0x1faf */
    +    0x1f60, 0x0345, 0x1f61, 0x0345, 0x1f62, 0x0345, 0x1f63, 0x0345,
    +    0x1f64, 0x0345, 0x1f65, 0x0345, 0x1f66, 0x0345, 0x1f67, 0x0345,
    +    0x1f68, 0x0345, 0x1f69, 0x0345, 0x1f6a, 0x0345, 0x1f6b, 0x0345,
    +    0x1f6c, 0x0345, 0x1f6d, 0x0345, 0x1f6e, 0x0345, 0x1f6f, 0x0345,
    +    /* 0x1fb0 .. 0x1fbf */
    +    0x03b1, 0x0306, 0x03b1, 0x0304, 0x1f70, 0x0345, 0x03b1, 0x0345,
    +    0x03ac, 0x0345, 0x0000, 0x0000, 0x03b1, 0x0342, 0x1fb6, 0x0345,
    +    0x0391, 0x0306, 0x0391, 0x0304, 0x0391, 0x0300, 0x0000, 0x0000,
    +    0x0391, 0x0345, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1fc0 .. 0x1fcf */
    +    0x0000, 0x0000, 0x00a8, 0x0342, 0x1f74, 0x0345, 0x03b7, 0x0345,
    +    0x03ae, 0x0345, 0x0000, 0x0000, 0x03b7, 0x0342, 0x1fc6, 0x0345,
    +    0x0395, 0x0300, 0x0000, 0x0000, 0x0397, 0x0300, 0x0000, 0x0000,
    +    0x0397, 0x0345, 0x1fbf, 0x0300, 0x1fbf, 0x0301, 0x1fbf, 0x0342,
    +    /* 0x1fd0 .. 0x1fdf */
    +    0x03b9, 0x0306, 0x03b9, 0x0304, 0x03ca, 0x0300, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x03b9, 0x0342, 0x03ca, 0x0342,
    +    0x0399, 0x0306, 0x0399, 0x0304, 0x0399, 0x0300, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x1ffe, 0x0300, 0x1ffe, 0x0301, 0x1ffe, 0x0342,
    +    /* 0x1fe0 .. 0x1fef */
    +    0x03c5, 0x0306, 0x03c5, 0x0304, 0x03cb, 0x0300, 0x0000, 0x0000,
    +    0x03c1, 0x0313, 0x03c1, 0x0314, 0x03c5, 0x0342, 0x03cb, 0x0342,
    +    0x03a5, 0x0306, 0x03a5, 0x0304, 0x03a5, 0x0300, 0x0000, 0x0000,
    +    0x03a1, 0x0314, 0x00a8, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x1ff0 .. 0x1fff */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x1f7c, 0x0345, 0x03c9, 0x0345,
    +    0x03ce, 0x0345, 0x0000, 0x0000, 0x03c9, 0x0342, 0x1ff6, 0x0345,
    +    0x039f, 0x0300, 0x0000, 0x0000, 0x03a9, 0x0300, 0x0000, 0x0000,
    +    0x03a9, 0x0345, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2190 .. 0x219f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x2190, 0x0338, 0x2192, 0x0338,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x21a0 .. 0x21af */
    +    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, 0x2194, 0x0338, 0x0000, 0x0000,
    +    /* 0x21c0 .. 0x21cf */
    +    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, 0x21d0, 0x0338, 0x21d4, 0x0338, 0x21d2, 0x0338,
    +    /* 0x2200 .. 0x220f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2203, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x2208, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x220b, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2220 .. 0x222f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2223, 0x0338, 0x0000, 0x0000, 0x2225, 0x0338, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2240 .. 0x224f */
    +    0x0000, 0x0000, 0x223c, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2243, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x2245, 0x0338,
    +    0x0000, 0x0000, 0x2248, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2260 .. 0x226f */
    +    0x003d, 0x0338, 0x0000, 0x0000, 0x2261, 0x0338, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x224d, 0x0338, 0x003c, 0x0338, 0x003e, 0x0338,
    +    /* 0x2270 .. 0x227f */
    +    0x2264, 0x0338, 0x2265, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2272, 0x0338, 0x2273, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2276, 0x0338, 0x2277, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2280 .. 0x228f */
    +    0x227a, 0x0338, 0x227b, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2282, 0x0338, 0x2283, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2286, 0x0338, 0x2287, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x22a0 .. 0x22af */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x22a2, 0x0338, 0x22a8, 0x0338, 0x22a9, 0x0338, 0x22ab, 0x0338,
    +    /* 0x22e0 .. 0x22ef */
    +    0x227c, 0x0338, 0x227d, 0x0338, 0x2291, 0x0338, 0x2292, 0x0338,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x22b2, 0x0338, 0x22b3, 0x0338,
    +    0x22b4, 0x0338, 0x22b5, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x2ad0 .. 0x2adf */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2add, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x3040 .. 0x304f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x304b, 0x3099, 0x0000, 0x0000, 0x304d, 0x3099, 0x0000, 0x0000,
    +    /* 0x3050 .. 0x305f */
    +    0x304f, 0x3099, 0x0000, 0x0000, 0x3051, 0x3099, 0x0000, 0x0000,
    +    0x3053, 0x3099, 0x0000, 0x0000, 0x3055, 0x3099, 0x0000, 0x0000,
    +    0x3057, 0x3099, 0x0000, 0x0000, 0x3059, 0x3099, 0x0000, 0x0000,
    +    0x305b, 0x3099, 0x0000, 0x0000, 0x305d, 0x3099, 0x0000, 0x0000,
    +    /* 0x3060 .. 0x306f */
    +    0x305f, 0x3099, 0x0000, 0x0000, 0x3061, 0x3099, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x3064, 0x3099, 0x0000, 0x0000, 0x3066, 0x3099,
    +    0x0000, 0x0000, 0x3068, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x3070 .. 0x307f */
    +    0x306f, 0x3099, 0x306f, 0x309a, 0x0000, 0x0000, 0x3072, 0x3099,
    +    0x3072, 0x309a, 0x0000, 0x0000, 0x3075, 0x3099, 0x3075, 0x309a,
    +    0x0000, 0x0000, 0x3078, 0x3099, 0x3078, 0x309a, 0x0000, 0x0000,
    +    0x307b, 0x3099, 0x307b, 0x309a, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x3090 .. 0x309f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x3046, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x309d, 0x3099, 0x0000, 0x0000,
    +    /* 0x30a0 .. 0x30af */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x30ab, 0x3099, 0x0000, 0x0000, 0x30ad, 0x3099, 0x0000, 0x0000,
    +    /* 0x30b0 .. 0x30bf */
    +    0x30af, 0x3099, 0x0000, 0x0000, 0x30b1, 0x3099, 0x0000, 0x0000,
    +    0x30b3, 0x3099, 0x0000, 0x0000, 0x30b5, 0x3099, 0x0000, 0x0000,
    +    0x30b7, 0x3099, 0x0000, 0x0000, 0x30b9, 0x3099, 0x0000, 0x0000,
    +    0x30bb, 0x3099, 0x0000, 0x0000, 0x30bd, 0x3099, 0x0000, 0x0000,
    +    /* 0x30c0 .. 0x30cf */
    +    0x30bf, 0x3099, 0x0000, 0x0000, 0x30c1, 0x3099, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x30c4, 0x3099, 0x0000, 0x0000, 0x30c6, 0x3099,
    +    0x0000, 0x0000, 0x30c8, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x30d0 .. 0x30df */
    +    0x30cf, 0x3099, 0x30cf, 0x309a, 0x0000, 0x0000, 0x30d2, 0x3099,
    +    0x30d2, 0x309a, 0x0000, 0x0000, 0x30d5, 0x3099, 0x30d5, 0x309a,
    +    0x0000, 0x0000, 0x30d8, 0x3099, 0x30d8, 0x309a, 0x0000, 0x0000,
    +    0x30db, 0x3099, 0x30db, 0x309a, 0x0000, 0x0000, 0x0000, 0x0000,
    +    /* 0x30f0 .. 0x30ff */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x30a6, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000, 0x30ef, 0x3099,
    +    0x30f0, 0x3099, 0x30f1, 0x3099, 0x30f2, 0x3099, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x30fd, 0x3099, 0x0000, 0x0000,
    +    /* 0xfb10 .. 0xfb1f */
    +    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, 0x05d9, 0x05b4, 0x0000, 0x0000, 0x05f2, 0x05b7,
    +    /* 0xfb20 .. 0xfb2f */
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x05e9, 0x05c1, 0x05e9, 0x05c2,
    +    0xfb49, 0x05c1, 0xfb49, 0x05c2, 0x05d0, 0x05b7, 0x05d0, 0x05b8,
    +    /* 0xfb30 .. 0xfb3f */
    +    0x05d0, 0x05bc, 0x05d1, 0x05bc, 0x05d2, 0x05bc, 0x05d3, 0x05bc,
    +    0x05d4, 0x05bc, 0x05d5, 0x05bc, 0x05d6, 0x05bc, 0x0000, 0x0000,
    +    0x05d8, 0x05bc, 0x05d9, 0x05bc, 0x05da, 0x05bc, 0x05db, 0x05bc,
    +    0x05dc, 0x05bc, 0x0000, 0x0000, 0x05de, 0x05bc, 0x0000, 0x0000,
    +    /* 0xfb40 .. 0xfb4f */
    +    0x05e0, 0x05bc, 0x05e1, 0x05bc, 0x0000, 0x0000, 0x05e3, 0x05bc,
    +    0x05e4, 0x05bc, 0x0000, 0x0000, 0x05e6, 0x05bc, 0x05e7, 0x05bc,
    +    0x05e8, 0x05bc, 0x05e9, 0x05bc, 0x05ea, 0x05bc, 0x05d5, 0x05b9,
    +    0x05d1, 0x05bf, 0x05db, 0x05bf, 0x05e4, 0x05bf, 0x0000, 0x0000
    +};
    diff --git a/reactos/lib/unicode/cpmap.pl b/reactos/tools/unicode/cpmap.pl
    similarity index 97%
    rename from reactos/lib/unicode/cpmap.pl
    rename to reactos/tools/unicode/cpmap.pl
    index 12b9dbb963a..f7b6603196b 100644
    --- a/reactos/lib/unicode/cpmap.pl
    +++ b/reactos/tools/unicode/cpmap.pl
    @@ -1,1210 +1,1211 @@
    -#!/usr/bin/perl
    -#
    -# Generate code page .c files from ftp.unicode.org descriptions
    -#
    -# Copyright 2000 Alexandre Julliard
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -#
    -
    -# base directory for ftp.unicode.org files
    -$BASEDIR = "ftp.unicode.org/Public/";
    -$MAPPREFIX = $BASEDIR . "MAPPINGS/";
    -
    -# UnicodeData file
    -$UNICODEDATA = $BASEDIR . "UNIDATA/UnicodeData.txt";
    -
    -# Sort keys file
    -$SORTKEYS = "www.unicode.org/reports/tr10/allkeys.txt";
    -
    -# Defaults mapping
    -$DEFAULTS = "./defaults";
    -
    -# Default char for undefined mappings
    -$DEF_CHAR = ord '?';
    -
    -@allfiles =
    -(
    -    [ 37,    "VENDORS/MICSFT/EBCDIC/CP037.TXT",   "IBM EBCDIC US Canada" ],
    -    [ 424,   "VENDORS/MISC/CP424.TXT",            "IBM EBCDIC Hebrew" ],
    -    [ 437,   "VENDORS/MICSFT/PC/CP437.TXT",       "OEM United States" ],
    -    [ 500,   "VENDORS/MICSFT/EBCDIC/CP500.TXT",   "IBM EBCDIC International" ],
    -    [ 737,   "VENDORS/MICSFT/PC/CP737.TXT",       "OEM Greek 437G" ],
    -    [ 775,   "VENDORS/MICSFT/PC/CP775.TXT",       "OEM Baltic" ],
    -    [ 850,   "VENDORS/MICSFT/PC/CP850.TXT",       "OEM Multilingual Latin 1" ],
    -    [ 852,   "VENDORS/MICSFT/PC/CP852.TXT",       "OEM Slovak Latin 2" ],
    -    [ 855,   "VENDORS/MICSFT/PC/CP855.TXT",       "OEM Cyrillic" ],
    -    [ 856,   "VENDORS/MISC/CP856.TXT",            "Hebrew PC" ],
    -    [ 857,   "VENDORS/MICSFT/PC/CP857.TXT",       "OEM Turkish" ],
    -    [ 860,   "VENDORS/MICSFT/PC/CP860.TXT",       "OEM Portuguese" ],
    -    [ 861,   "VENDORS/MICSFT/PC/CP861.TXT",       "OEM Icelandic" ],
    -    [ 862,   "VENDORS/MICSFT/PC/CP862.TXT",       "OEM Hebrew" ],
    -    [ 863,   "VENDORS/MICSFT/PC/CP863.TXT",       "OEM Canadian French" ],
    -    [ 864,   "VENDORS/MICSFT/PC/CP864.TXT",       "OEM Arabic" ],
    -    [ 865,   "VENDORS/MICSFT/PC/CP865.TXT",       "OEM Nordic" ],
    -    [ 866,   "VENDORS/MICSFT/PC/CP866.TXT",       "OEM Russian" ],
    -    [ 869,   "VENDORS/MICSFT/PC/CP869.TXT",       "OEM Greek" ],
    -    [ 874,   "VENDORS/MICSFT/PC/CP874.TXT",       "ANSI/OEM Thai" ],
    -    [ 875,   "VENDORS/MICSFT/EBCDIC/CP875.TXT",   "IBM EBCDIC Greek" ],
    -    [ 878,   "VENDORS/MISC/KOI8-R.TXT",           "Russian KOI8" ],
    -    [ 932,   "VENDORS/MICSFT/WINDOWS/CP932.TXT",  "ANSI/OEM Japanese Shift-JIS" ],
    -    [ 936,   "VENDORS/MICSFT/WINDOWS/CP936.TXT",  "ANSI/OEM Simplified Chinese GBK" ],
    -    [ 949,   "VENDORS/MICSFT/WINDOWS/CP949.TXT",  "ANSI/OEM Korean Unified Hangul" ],
    -    [ 950,   "VENDORS/MICSFT/WINDOWS/CP950.TXT",  "ANSI/OEM Traditional Chinese Big5" ],
    -    [ 1006,  "VENDORS/MISC/CP1006.TXT",           "IBM Arabic" ],
    -    [ 1026,  "VENDORS/MICSFT/EBCDIC/CP1026.TXT",  "IBM EBCDIC Latin 5 Turkish" ],
    -    [ 1250,  "VENDORS/MICSFT/WINDOWS/CP1250.TXT", "ANSI Eastern Europe" ],
    -    [ 1251,  "VENDORS/MICSFT/WINDOWS/CP1251.TXT", "ANSI Cyrillic" ],
    -    [ 1252,  "VENDORS/MICSFT/WINDOWS/CP1252.TXT", "ANSI Latin 1" ],
    -    [ 1253,  "VENDORS/MICSFT/WINDOWS/CP1253.TXT", "ANSI Greek" ],
    -    [ 1254,  "VENDORS/MICSFT/WINDOWS/CP1254.TXT", "ANSI Turkish" ],
    -    [ 1255,  "VENDORS/MICSFT/WINDOWS/CP1255.TXT", "ANSI Hebrew" ],
    -    [ 1256,  "VENDORS/MICSFT/WINDOWS/CP1256.TXT", "ANSI Arabic" ],
    -    [ 1257,  "VENDORS/MICSFT/WINDOWS/CP1257.TXT", "ANSI Baltic" ],
    -    [ 1258,  "VENDORS/MICSFT/WINDOWS/CP1258.TXT", "ANSI/OEM Viet Nam" ],
    -    [ 10000, "VENDORS/MICSFT/MAC/ROMAN.TXT",      "Mac Roman" ],
    -    [ 10006, "VENDORS/MICSFT/MAC/GREEK.TXT",      "Mac Greek" ],
    -    [ 10007, "VENDORS/MICSFT/MAC/CYRILLIC.TXT",   "Mac Cyrillic" ],
    -    [ 10029, "VENDORS/MICSFT/MAC/LATIN2.TXT",     "Mac Latin 2" ],
    -    [ 10079, "VENDORS/MICSFT/MAC/ICELAND.TXT",    "Mac Icelandic" ],
    -    [ 10081, "VENDORS/MICSFT/MAC/TURKISH.TXT",    "Mac Turkish" ],
    -    [ 20866, "VENDORS/MISC/KOI8-R.TXT",           "Russian KOI8" ],
    -    [ 20932, "OBSOLETE/EASTASIA/JIS/JIS0208.TXT", "EUC-JP" ],
    -    [ 28591, "ISO8859/8859-1.TXT",                "ISO 8859-1 Latin 1" ],
    -    [ 28592, "ISO8859/8859-2.TXT",                "ISO 8859-2 Latin 2 (East European)" ],
    -    [ 28593, "ISO8859/8859-3.TXT",                "ISO 8859-3 Latin 3 (South European)" ],
    -    [ 28594, "ISO8859/8859-4.TXT",                "ISO 8859-4 Latin 4 (Baltic old)" ],
    -    [ 28595, "ISO8859/8859-5.TXT",                "ISO 8859-5 Cyrillic" ],
    -    [ 28596, "ISO8859/8859-6.TXT",                "ISO 8859-6 Arabic" ],
    -    [ 28597, "ISO8859/8859-7.TXT",                "ISO 8859-7 Greek" ],
    -    [ 28598, "ISO8859/8859-8.TXT",                "ISO 8859-8 Hebrew" ],
    -    [ 28599, "ISO8859/8859-9.TXT",                "ISO 8859-9 Latin 5 (Turkish)" ],
    -    [ 28600, "ISO8859/8859-10.TXT",               "ISO 8859-10 Latin 6 (Nordic)" ],
    -    [ 28603, "ISO8859/8859-13.TXT",               "ISO 8859-13 Latin 7 (Baltic)" ],
    -    [ 28604, "ISO8859/8859-14.TXT",               "ISO 8859-14 Latin 8 (Celtic)" ],
    -    [ 28605, "ISO8859/8859-15.TXT",               "ISO 8859-15 Latin 9 (Euro)" ],
    -    [ 28606, "ISO8859/8859-16.TXT",               "ISO 8859-16 Latin 10 (Balkan)" ]
    -);
    -
    -
    -%ctype =
    -(
    -    "upper"  => 0x0001,
    -    "lower"  => 0x0002,
    -    "digit"  => 0x0004,
    -    "space"  => 0x0008,
    -    "punct"  => 0x0010,
    -    "cntrl"  => 0x0020,
    -    "blank"  => 0x0040,
    -    "xdigit" => 0x0080,
    -    "alpha"  => 0x0100
    -);
    -
    -%categories =
    -(
    -    "Lu" => $ctype{"alpha"}|$ctype{"upper"}, # Letter, Uppercase
    -    "Ll" => $ctype{"alpha"}|$ctype{"lower"}, # Letter, Lowercase
    -    "Lt" => $ctype{"alpha"},    # Letter, Titlecase
    -    "Mn" => $ctype{"punct"},    # Mark, Non-Spacing
    -    "Mc" => $ctype{"punct"},    # Mark, Spacing Combining
    -    "Me" => $ctype{"punct"},    # Mark, Enclosing
    -    "Nd" => $ctype{"digit"},    # Number, Decimal Digit
    -    "Nl" => $ctype{"punct"},    # Number, Letter
    -    "No" => $ctype{"punct"},    # Number, Other
    -    "Zs" => $ctype{"space"},    # Separator, Space
    -    "Zl" => 0,                  # Separator, Line
    -    "Zp" => 0,                  # Separator, Paragraph
    -    "Cc" => $ctype{"cntrl"},    # Other, Control
    -    "Cf" => 0,                  # Other, Format
    -    "Cs" => 0,                  # Other, Surrogate
    -    "Co" => 0,                  # Other, Private Use
    -    "Cn" => 0,                  # Other, Not Assigned
    -    "Lm" => $ctype{"punct"},    # Letter, Modifier
    -    "Lo" => $ctype{"alpha"},    # Letter, Other
    -    "Pc" => $ctype{"punct"},    # Punctuation, Connector
    -    "Pd" => $ctype{"punct"},    # Punctuation, Dash
    -    "Ps" => $ctype{"punct"},    # Punctuation, Open
    -    "Pe" => $ctype{"punct"},    # Punctuation, Close
    -    "Pi" => $ctype{"punct"},    # Punctuation, Initial quote
    -    "Pf" => $ctype{"punct"},    # Punctuation, Final quote
    -    "Po" => $ctype{"punct"},    # Punctuation, Other
    -    "Sm" => $ctype{"punct"},    # Symbol, Math
    -    "Sc" => $ctype{"punct"},    # Symbol, Currency
    -    "Sk" => $ctype{"punct"},    # Symbol, Modifier
    -    "So" => $ctype{"punct"}     # Symbol, Other
    -);
    -
    -# a few characters need additional categories that cannot be determined automatically
    -%special_categories =
    -(
    -    "xdigit" => [ ord('0')..ord('9'),ord('A')..ord('F'),ord('a')..ord('f'),
    -                  0xff10..0xff19, 0xff21..0xff26, 0xff41..0xff46 ],
    -    "space"  => [ 0x09..0x0d, 0xfeff ],
    -    "blank"  => [ 0x09, 0x20, 0xa0, 0xfeff ]
    -);
    -
    -%directions =
    -(
    -    "L"   => 1,    # Left-to-Right
    -    "LRE" => 11,   # Left-to-Right Embedding
    -    "LRO" => 11,   # Left-to-Right Override
    -    "R"   => 2,    # Right-to-Left
    -    "AL"  => 2,    # Right-to-Left Arabic
    -    "RLE" => 11,   # Right-to-Left Embedding
    -    "RLO" => 11,   # Right-to-Left Override
    -    "PDF" => 11,   # Pop Directional Format
    -    "EN"  => 3,    # European Number
    -    "ES"  => 4,    # European Number Separator
    -    "ET"  => 5,    # European Number Terminator
    -    "AN"  => 6,    # Arabic Number
    -    "CS"  => 7,    # Common Number Separator
    -    "NSM" => 0,    # Non-Spacing Mark
    -    "BN"  => 0,    # Boundary Neutral
    -    "B"   => 8,    # Paragraph Separator
    -    "S"   => 9,    # Segment Separator
    -    "WS"  => 10,   # Whitespace
    -    "ON"  => 11    # Other Neutrals
    -);
    -
    -
    -################################################################
    -# main routine
    -
    -READ_DEFAULTS();
    -my @sortkeys = READ_SORTKEYS_FILE();
    -DUMP_CASE_MAPPINGS();
    -DUMP_SORTKEYS(@sortkeys);
    -DUMP_COMPOSE_TABLES();
    -DUMP_CTYPE_TABLES();
    -
    -foreach $file (@allfiles) { HANDLE_FILE( @$file ); }
    -
    -OUTPUT_CPTABLE();
    -
    -exit(0);
    -
    -
    -################################################################
    -# read in the defaults file
    -sub READ_DEFAULTS
    -{
    -    @unicode_defaults = ();
    -    @unicode_aliases = ();
    -    @tolower_table = ();
    -    @toupper_table = ();
    -    @digitmap_table = ();
    -    @compatmap_table = ();
    -    @category_table = ();
    -    @direction_table = ();
    -    @decomp_table = ();
    -    @compose_table = ();
    -
    -    # first setup a few default mappings
    -
    -    open DEFAULTS or die "Cannot open $DEFAULTS";
    -    print "Loading $DEFAULTS\n";
    -    while ()
    -    {
    -        next if /^\#/;  # skip comments
    -        next if /^$/;  # skip empty lines
    -        if (/^(([0-9a-fA-F]+)(,[0-9a-fA-F]+)*)\s+([0-9a-fA-F]+|'.'|none)\s+(\#.*)?/)
    -        {
    -            my @src = map hex, split /,/,$1;
    -            my $dst = $4;
    -            my $comment = $5;
    -            if ($#src > 0) { push @unicode_aliases, \@src; }
    -            next if ($dst eq "none");
    -            $dst = ($dst =~ /\'.\'/) ? ord substr($dst,1,1) : hex $dst;
    -            foreach $src (@src)
    -            {
    -                die "Duplicate value" if defined($unicode_defaults[$src]);
    -                $unicode_defaults[$src] = $dst;
    -            }
    -            next;
    -        }
    -        die "Unrecognized line $_\n";
    -    }
    -
    -    # now build mappings from the decomposition field of the Unicode database
    -
    -    open UNICODEDATA or die "Cannot open $UNICODEDATA";
    -    print "Loading $UNICODEDATA\n";
    -    while ()
    -    {
    -	# Decode the fields ...
    -	($code, $name, $cat, $comb, $bidi,
    -	 $decomp, $dec, $dig, $num, $mirror,
    -	 $oldname, $comment, $upper, $lower, $title) = split /;/;
    -
    -        my $src = hex $code;
    -
    -        die "unknown category $cat" unless defined $categories{$cat};
    -        die "unknown directionality $bidi" unless defined $directions{$bidi};
    -
    -        $uniname[$src] = $name;
    -        $category_table[$src] = $categories{$cat};
    -        $direction_table[$src] = $directions{$bidi};
    -
    -        if ($lower ne "")
    -        {
    -            $tolower_table[$src] = hex $lower;
    -            $category_table[$src] |= $ctype{"upper"}|$ctype{"alpha"};
    -        }
    -        if ($upper ne "")
    -        {
    -            $toupper_table[$src] = hex $upper;
    -            $category_table[$src] |= $ctype{"lower"}|$ctype{"alpha"};
    -        }
    -        if ($dec ne "")
    -        {
    -            $category_table[$src] |= $ctype{"digit"};
    -        }
    -        if ($dig ne "")
    -        {
    -            $digitmap_table[$src] = ord $dig;
    -        }
    -
    -        # copy the category and direction for everything between First/Last pairs
    -        if ($name =~ /, First>/) { $start = $src; }
    -        if ($name =~ /, Last>/)
    -        {
    -            while ($start < $src)
    -            {
    -                $category_table[$start] = $category_table[$src];
    -                $direction_table[$start] = $direction_table[$src];
    -                $start++;
    -            }
    -        }
    -
    -        next if $decomp eq "";  # no decomposition, skip it
    -
    -        if ($decomp =~ /^<([a-zA-Z]+)>\s+([0-9a-fA-F]+)$/)
    -        {
    -            # decomposition of the form " 1234" -> use char if type is known
    -            if (($src >= 0xf900 && $src < 0xfb00) || ($src >= 0xfe30 && $src < 0xfffd))
    -            {
    -                # Single char decomposition in the compatibility range
    -                $compatmap_table[$src] = hex $2;
    -            }
    -            next unless ($1 eq "font" ||
    -                         $1 eq "noBreak" ||
    -                         $1 eq "circle" ||
    -                         $1 eq "super" ||
    -                         $1 eq "sub" ||
    -                         $1 eq "wide" ||
    -                         $1 eq "narrow" ||
    -                         $1 eq "compat" ||
    -                         $1 eq "small");
    -            $dst = hex $2;
    -        }
    -        elsif ($decomp =~ /^\s+0020\s+([0-9a-fA-F]+)/)
    -        {
    -            # decomposition " 0020 1234" -> combining accent
    -            $dst = hex $1;
    -        }
    -        elsif ($decomp =~ /^([0-9a-fA-F]+)/)
    -        {
    -            # decomposition contains only char values without prefix -> use first char
    -            $dst = hex $1;
    -            $category_table[$src] |= $category_table[$dst];
    -            # store decomposition if it contains two chars
    -            if ($decomp =~ /^([0-9a-fA-F]+)\s+([0-9a-fA-F]+)$/)
    -            {
    -                $decomp_table[$src] = [ hex $1, hex $2 ];
    -                push @compose_table, [ hex $1, hex $2, $src ];
    -            }
    -            elsif ($decomp =~ /^(<[a-z]+>\s)*([0-9a-fA-F]+)$/ &&
    -                   (($src >= 0xf900 && $src < 0xfb00) || ($src >= 0xfe30 && $src < 0xfffd)))
    -            {
    -                # Single char decomposition in the compatibility range
    -                $compatmap_table[$src] = hex $2;
    -            }
    -        }
    -        else
    -        {
    -            next;
    -        }
    -
    -        next if defined($unicode_defaults[$src]);  # may have been set in the defaults file
    -
    -        # check for loops
    -        for ($i = $dst; ; $i = $unicode_defaults[$i])
    -        {
    -            die sprintf("loop detected for %04x -> %04x",$src,$dst) if $i == $src;
    -            last unless defined($unicode_defaults[$i]);
    -        }
    -        $unicode_defaults[$src] = $dst;
    -    }
    -
    -    # patch the category of some special characters
    -
    -    foreach $cat (keys %special_categories)
    -    {
    -        my $flag = $ctype{$cat};
    -        foreach $i (@{$special_categories{$cat}}) { $category_table[$i] |= $flag; }
    -    }
    -}
    -
    -
    -################################################################
    -# parse the input file
    -sub READ_FILE
    -{
    -    my $name = shift;
    -    open INPUT,$name or die "Cannot open $name";
    -    @cp2uni = ();
    -    @lead_bytes = ();
    -    @uni2cp = ();
    -
    -    while ()
    -    {
    -        next if /^\#/;  # skip comments
    -        next if /^$/;  # skip empty lines
    -        next if /\x1a/;  # skip ^Z
    -        next if (/^0x([0-9a-fA-F]+)\s+\#UNDEFINED/);  # undefined char
    -
    -        if (/^0x([0-9a-fA-F]+)\s+\#DBCS LEAD BYTE/)
    -        {
    -            $cp = hex $1;
    -            push @lead_bytes,$cp;
    -            $cp2uni[$cp] = 0;
    -            next;
    -        }
    -        if (/^0x([0-9a-fA-F]+)\s+0x([0-9a-fA-F]+)\s+(\#.*)?/)
    -        {
    -            $cp = hex $1;
    -            $uni = hex $2;
    -            $cp2uni[$cp] = $uni unless defined($cp2uni[$cp]);
    -            $uni2cp[$uni] = $cp unless defined($uni2cp[$uni]);
    -            next;
    -        }
    -        die "$name: Unrecognized line $_\n";
    -    }
    -}
    -
    -
    -################################################################
    -# build EUC-JP table from the JIS 0208 file
    -# FIXME: for proper EUC-JP we should probably read JIS 0212 too
    -# but this would require 3-byte DBCS characters
    -sub READ_JIS0208_FILE
    -{
    -    my $name = shift;
    -    @cp2uni = ();
    -    @lead_bytes = ();
    -    @uni2cp = ();
    -
    -    # ASCII chars
    -    for ($i = 0x00; $i <= 0x7f; $i++)
    -    {
    -        $cp2uni[$i] = $i;
    -        $uni2cp[$i] = $i;
    -    }
    -
    -    # JIS X 0201 right plane
    -    for ($i = 0xa1; $i <= 0xdf; $i++)
    -    {
    -        $cp2uni[0x8e00 + $i] = 0xfec0 + $i;
    -        $uni2cp[0xfec0 + $i] = 0x8e00 + $i;
    -    }
    -
    -    # lead bytes
    -    foreach $i (0x8e, 0x8f, 0xa1 .. 0xfe)
    -    {
    -        push @lead_bytes,$i;
    -        $cp2uni[$i] = 0;
    -    }
    -
    -    # undefined chars
    -    foreach $i (0x80 .. 0x8d, 0x90 .. 0xa0, 0xff)
    -    {
    -        $cp2uni[$i] = $DEF_CHAR;
    -    }
    -
    -    # Shift-JIS compatibility
    -    $uni2cp[0x00a5] = 0x5c;
    -    $uni2cp[0x203e] = 0x7e;
    -
    -    # Fix backslash conversion
    -    $cp2uni[0xa1c0] = 0xff3c;
    -    $uni2cp[0xff3c] = 0xa1c0;
    -
    -    open INPUT, "$name" or die "Cannot open $name";
    -    while ()
    -    {
    -        next if /^\#/;  # skip comments
    -        next if /^$/;  # skip empty lines
    -        next if /\x1a/;  # skip ^Z
    -        if (/^0x[0-9a-fA-F]+\s+0x([0-9a-fA-F]+)\s+0x([0-9a-fA-F]+)\s+(\#.*)?/)
    -        {
    -            $cp = 0x8080 + hex $1;
    -            $uni = hex $2;
    -            $cp2uni[$cp] = $uni unless defined($cp2uni[$cp]);
    -            $uni2cp[$uni] = $cp unless defined($uni2cp[$uni]);
    -            next;
    -        }
    -        die "$name: Unrecognized line $_\n";
    -    }
    -}
    -
    -
    -################################################################
    -# build the sort keys table
    -sub READ_SORTKEYS_FILE
    -{
    -    my @sortkeys = ();
    -    for (my $i = 0; $i < 65536; $i++) { $sortkeys[$i] = [ -1, 0, 0, 0, 0 ] };
    -
    -    open INPUT, "$SORTKEYS" or die "Cannot open $SORTKEYS";
    -    print "Loading $SORTKEYS\n";
    -    while ()
    -    {
    -        next if /^\#/;  # skip comments
    -        next if /^$/;  # skip empty lines
    -        next if /\x1a/;  # skip ^Z
    -        next if /^\@version/;  # skip @version header
    -        if (/^([0-9a-fA-F]+)\s+;\s+\[([*.])([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]+)\]/)
    -        {
    -            my ($uni,$variable) = (hex $1, $2);
    -            next if $uni > 65535;
    -            $sortkeys[$uni] = [ $uni, hex $3, hex $4, hex $5, hex $6 ];
    -            next;
    -        }
    -        if (/^([0-9a-fA-F]+\s+)+;\s+\[[*.]([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]+)\]/)
    -        {
    -            # multiple character sequence, ignored for now
    -            next;
    -        }
    -        die "$SORTKEYS: Unrecognized line $_\n";
    -    }
    -    close INPUT;
    -
    -    # compress the keys to 32 bit:
    -    # key 1 to 16 bits, key 2 to 8 bits, key 3 to 4 bits, key 4 to 1 bit
    -
    -    @sortkeys = sort { ${$a}[1] <=> ${$b}[1] or 
    -                       ${$a}[2] <=> ${$b}[2] or
    -                       ${$a}[3] <=> ${$b}[3] or
    -                       ${$a}[4] <=> ${$b}[4] or
    -                       $a cmp $b; } @sortkeys;
    -
    -    my ($n2, $n3) = (1, 1);
    -    my @keys = (-1, -1, -1, -1, -1 );
    -    my @flatkeys = ();
    -
    -    for (my $i = 0; $i < 65536; $i++)
    -    {
    -        my @current = @{$sortkeys[$i]};
    -        next if $current[0] == -1;
    -        if ($current[1] == $keys[1])
    -        {
    -            if ($current[2] == $keys[2])
    -            {
    -                if ($current[3] == $keys[3])
    -                {
    -                    # nothing
    -                }
    -                else
    -                {
    -                    $keys[3] = $current[3];
    -                    $n3++;
    -                    die if ($n3 >= 16);
    -                }
    -            }
    -            else
    -            {
    -                $keys[2] = $current[2];
    -                $keys[3] = $current[3];
    -                $n2++;
    -                $n3 = 1;
    -                die if ($n2 >= 256);
    -            }
    -        }
    -        else
    -        {
    -            $keys[1] = $current[1];
    -            $keys[2] = $current[2];
    -            $keys[3] = $current[3];
    -            $n2 = 1;
    -            $n3 = 1;
    -        }
    -
    -        if ($current[2]) { $current[2] = $n2; }
    -        if ($current[3]) { $current[3] = $n3; }
    -        if ($current[4]) { $current[4] = 1; }
    -
    -        $flatkeys[$current[0]] = ($current[1] << 16) | ($current[2] << 8) | ($current[3] << 4) | $current[4];
    -    }
    -    return @flatkeys;
    -}
    -
    -
    -################################################################
    -# build the sort keys table
    -sub DUMP_SORTKEYS
    -{
    -    my @keys = @_;
    -
    -    # count the number of 256-key ranges that contain something
    -
    -    my @offsets = ();
    -    my $ranges = 2;
    -    for (my $i = 0; $i < 256; $i++) { $offsets[$i] = 256; }
    -    for (my $i = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $keys[$i];
    -        $offsets[$i >> 8] = $ranges * 256;
    -        $ranges++;
    -        $i |= 255;
    -    }
    -
    -    # output the range offsets
    -
    -    open OUTPUT,">collation.c" or die "Cannot create collation.c";
    -    printf "Building collation.c\n";
    -    printf OUTPUT "/* Unicode collation element table */\n";
    -    printf OUTPUT "/* generated from %s */\n", $SORTKEYS;
    -    printf OUTPUT "/* DO NOT EDIT!! */\n\n";
    -
    -    printf OUTPUT "const unsigned int collation_table[%d] =\n{\n", $ranges*256;
    -    printf OUTPUT "    /* index */\n";
    -    printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%08x", 0, @offsets );
    -
    -    # output the default values
    -
    -    printf OUTPUT "    /* defaults */\n";
    -    printf OUTPUT "%s", DUMP_ARRAY( "0x%08x", 0, (-1) x 256 );
    -
    -    # output all the key ranges
    -
    -    for (my $i = 0; $i < 256; $i++)
    -    {
    -        next if $offsets[$i] == 256;
    -        printf OUTPUT ",\n    /* 0x%02x00 .. 0x%02xff */\n", $i, $i;
    -        printf OUTPUT "%s", DUMP_ARRAY( "0x%08x", -1, @keys[($i<<8) .. ($i<<8)+255] );
    -    }
    -    printf OUTPUT "\n};\n";
    -    close OUTPUT;
    -}
    -
    -
    -################################################################
    -# add default mappings once the file had been read
    -sub ADD_DEFAULT_MAPPINGS
    -{
    -    # Apply aliases
    -
    -    foreach $alias (@unicode_aliases)
    -    {
    -        my $target = undef;
    -        foreach $src (@$alias)
    -        {
    -            if (defined($uni2cp[$src]))
    -            {
    -                $target = $uni2cp[$src];
    -                last;
    -            }
    -        }
    -        next unless defined($target);
    -
    -        # At least one char of the alias set is defined, set the others to the same value
    -        foreach $src (@$alias)
    -        {
    -            $uni2cp[$src] = $target unless defined($uni2cp[$src]);
    -        }
    -    }
    -
    -    # For every src -> target mapping in the defaults table,
    -    # make uni2cp[src] = uni2cp[target] if uni2cp[target] is defined
    -
    -    for ($src = 0; $src < 65536; $src++)
    -    {
    -        next if defined($uni2cp[$src]);  # source has a definition already
    -        next unless defined($unicode_defaults[$src]);  # no default for this char
    -        my $target = $unicode_defaults[$src];
    -
    -        # do a recursive mapping until we find a target char that is defined
    -        while (!defined($uni2cp[$target]) &&
    -               defined($unicode_defaults[$target])) { $target = $unicode_defaults[$target]; }
    -
    -        if (defined($uni2cp[$target])) { $uni2cp[$src] = $uni2cp[$target]; }
    -    }
    -
    -    # Add an identity mapping for all undefined chars
    -
    -    for ($i = 0; $i < 256; $i++)
    -    {
    -        next if defined($cp2uni[$i]);
    -        next if defined($uni2cp[$i]);
    -        $cp2uni[$i] = $uni2cp[$i] = $i;
    -    }
    -}
    -
    -################################################################
    -# dump an array of integers
    -sub DUMP_ARRAY
    -{
    -    my ($format,$default,@array) = @_;
    -    my $i, $ret = "    ";
    -    for ($i = 0; $i < $#array; $i++)
    -    {
    -        $ret .= sprintf($format, defined $array[$i] ? $array[$i] : $default);
    -        $ret .= (($i % 8) != 7) ? ", " : ",\n    ";
    -    }
    -    $ret .= sprintf($format, defined $array[$i] ? $array[$i] : $default);
    -    return $ret;
    -}
    -
    -################################################################
    -# dump an SBCS mapping table
    -sub DUMP_SBCS_TABLE
    -{
    -    my ($codepage, $name) = @_;
    -    my $i;
    -
    -    # output the ascii->unicode table
    -
    -    printf OUTPUT "static const WCHAR cp2uni[256] =\n";
    -    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @cp2uni[0 .. 255] );
    -
    -    # count the number of unicode->ascii subtables that contain something
    -
    -    my @filled = ();
    -    my $subtables = 1;
    -    for ($i = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $uni2cp[$i];
    -        $filled[$i >> 8] = 1;
    -        $subtables++;
    -        $i |= 255;
    -    }
    -
    -    # output all the subtables into a single array
    -
    -    printf OUTPUT "static const unsigned char uni2cp_low[%d] =\n{\n", $subtables*256;
    -    for ($i = 0; $i < 256; $i++)
    -    {
    -        next unless $filled[$i];
    -        printf OUTPUT "    /* 0x%02x00 .. 0x%02xff */\n", $i, $i;
    -        printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%02x", $DEF_CHAR, @uni2cp[($i<<8) .. ($i<<8)+255] );
    -    }
    -    printf OUTPUT "    /* defaults */\n";
    -    printf OUTPUT "%s\n};\n\n", DUMP_ARRAY( "0x%02x", 0, ($DEF_CHAR) x 256 );
    -
    -    # output a table of the offsets of the subtables in the previous array
    -
    -    my $pos = 0;
    -    my @offsets = ();
    -    for ($i = 0; $i < 256; $i++)
    -    {
    -        if ($filled[$i]) { push @offsets, $pos; $pos += 256; }
    -        else { push @offsets, ($subtables-1) * 256; }
    -    }
    -    printf OUTPUT "static const unsigned short uni2cp_high[256] =\n";
    -    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%04x", 0, @offsets );
    -
    -    # output the code page descriptor
    -
    -    printf OUTPUT "const struct sbcs_table cptable_%03d =\n{\n", $codepage;
    -    printf OUTPUT "    { %d, 1, 0x%04x, 0x%04x, \"%s\" },\n",
    -                  $codepage, $DEF_CHAR, $DEF_CHAR, $name;
    -    printf OUTPUT "    cp2uni,\n";
    -    printf OUTPUT "    uni2cp_low,\n";
    -    printf OUTPUT "    uni2cp_high\n};\n";
    -}
    -
    -
    -################################################################
    -# dump a DBCS mapping table
    -sub DUMP_DBCS_TABLE
    -{
    -    my ($codepage, $name) = @_;
    -    my $i, $x, $y;
    -
    -    # build a list of lead bytes that are actually used
    -
    -    my @lblist = ();
    -    LBLOOP: for ($y = 0; $y <= $#lead_bytes; $y++)
    -    {
    -        my $base = $lead_bytes[$y] << 8;
    -        for ($x = 0; $x < 256; $x++)
    -        {
    -            if (defined $cp2uni[$base+$x])
    -            {
    -                push @lblist,$lead_bytes[$y];
    -                next LBLOOP;
    -            }
    -        }
    -    }
    -    my $unused = ($#lead_bytes > $#lblist);
    -
    -    # output the ascii->unicode table for the single byte chars
    -
    -    printf OUTPUT "static const WCHAR cp2uni[%d] =\n", 256 * ($#lblist + 2 + $unused);
    -    printf OUTPUT "{\n%s,\n", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @cp2uni[0 .. 255] );
    -
    -    # output the default table for unused lead bytes
    -
    -    if ($unused)
    -    {
    -        printf OUTPUT "    /* unused lead bytes */\n";
    -        printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%04x", 0, ($DEF_CHAR) x 256 );
    -    }
    -
    -    # output the ascii->unicode table for each DBCS lead byte
    -
    -    for ($y = 0; $y <= $#lblist; $y++)
    -    {
    -        my $base = $lblist[$y] << 8;
    -        printf OUTPUT "    /* lead byte %02x */\n", $lblist[$y];
    -        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @cp2uni[$base .. $base+255] );
    -        printf OUTPUT ($y < $#lblist) ? ",\n" : "\n};\n\n";
    -    }
    -
    -    # output the lead byte subtables offsets
    -
    -    my @offsets = ();
    -    for ($x = 0; $x < 256; $x++) { $offsets[$x] = 0; }
    -    for ($x = 0; $x <= $#lblist; $x++) { $offsets[$lblist[$x]] = $x + 1; }
    -    if ($unused)
    -    {
    -        # increment all lead bytes offset to take into account the unused table
    -        for ($x = 0; $x <= $#lead_bytes; $x++) { $offsets[$lead_bytes[$x]]++; }
    -    }
    -    printf OUTPUT "static const unsigned char cp2uni_leadbytes[256] =\n";
    -    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%02x", 0, @offsets );
    -
    -    # count the number of unicode->ascii subtables that contain something
    -
    -    my @filled = ();
    -    my $subtables = 1;
    -    for ($i = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $uni2cp[$i];
    -        $filled[$i >> 8] = 1;
    -        $subtables++;
    -        $i |= 255;
    -    }
    -
    -    # output all the subtables into a single array
    -
    -    printf OUTPUT "static const unsigned short uni2cp_low[%d] =\n{\n", $subtables*256;
    -    for ($y = 0; $y < 256; $y++)
    -    {
    -        next unless $filled[$y];
    -        printf OUTPUT "    /* 0x%02x00 .. 0x%02xff */\n", $y, $y;
    -        printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @uni2cp[($y<<8) .. ($y<<8)+255] );
    -    }
    -    printf OUTPUT "    /* defaults */\n";
    -    printf OUTPUT "%s\n};\n\n", DUMP_ARRAY( "0x%04x", 0, ($DEF_CHAR) x 256 );
    -
    -    # output a table of the offsets of the subtables in the previous array
    -
    -    my $pos = 0;
    -    my @offsets = ();
    -    for ($y = 0; $y < 256; $y++)
    -    {
    -        if ($filled[$y]) { push @offsets, $pos; $pos += 256; }
    -        else { push @offsets, ($subtables-1) * 256; }
    -    }
    -    printf OUTPUT "static const unsigned short uni2cp_high[256] =\n";
    -    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%04x", 0, @offsets );
    -
    -    # output the code page descriptor
    -
    -    printf OUTPUT "const struct dbcs_table cptable_%03d =\n{\n", $codepage;
    -    printf OUTPUT "    { %d, 2, 0x%04x, 0x%04x, \"%s\" },\n",
    -                  $codepage, $DEF_CHAR, $DEF_CHAR, $name;
    -    printf OUTPUT "    cp2uni,\n";
    -    printf OUTPUT "    cp2uni_leadbytes,\n";
    -    printf OUTPUT "    uni2cp_low,\n";
    -    printf OUTPUT "    uni2cp_high,\n";
    -    DUMP_LB_RANGES();
    -    printf OUTPUT "};\n";
    -}
    -
    -
    -################################################################
    -# dump the list of defined lead byte ranges
    -sub DUMP_LB_RANGES
    -{
    -    my @list = ();
    -    my $i = 0;
    -    foreach $i (@lead_bytes) { $list[$i] = 1; }
    -    my $on = 0;
    -    printf OUTPUT "    { ";
    -    for ($i = 0; $i < 256; $i++)
    -    {
    -        if ($on)
    -        {
    -            if (!defined $list[$i]) { printf OUTPUT "0x%02x, ", $i-1; $on = 0; }
    -        }
    -        else
    -        {
    -            if ($list[$i]) { printf OUTPUT "0x%02x, ", $i; $on = 1; }
    -        }
    -    }
    -    if ($on) { printf OUTPUT "0xff, "; }
    -    printf OUTPUT "0x00, 0x00 }\n";
    -}
    -
    -
    -################################################################
    -# dump the case mapping tables
    -sub DUMP_CASE_MAPPINGS
    -{
    -    open OUTPUT,">casemap.c" or die "Cannot create casemap.c";
    -    printf "Building casemap.c\n";
    -    printf OUTPUT "/* Unicode case mappings */\n";
    -    printf OUTPUT "/* Automatically generated; DO NOT EDIT!! */\n\n";
    -    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    -
    -    DUMP_CASE_TABLE( "wine_casemap_lower", @tolower_table );
    -    DUMP_CASE_TABLE( "wine_casemap_upper", @toupper_table );
    -    DUMP_CASE_TABLE( "wine_digitmap",  @digitmap_table );
    -    DUMP_CASE_TABLE( "wine_compatmap", @compatmap_table );
    -    close OUTPUT;
    -}
    -
    -
    -################################################################
    -# dump a case mapping table
    -sub DUMP_CASE_TABLE
    -{
    -    my ($name,@table) = @_;
    -
    -    # count the number of sub tables that contain something
    -    # also compute the low and upper populated bounds
    -
    -    my @lowerbounds = ( 0, 0 );
    -    my @upperbounds = ( 0, 255 );
    -    my $index = 0;
    -    my @filled = ();
    -    for ($i = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $table[$i];
    -        if (!defined $filled[$i >> 8])
    -        {
    -          $lowerbounds[$index] = $i & 0xff;
    -          $upperbounds[$index] = 0xff - $lowerbounds[$index];
    -          $filled[$i >> 8] = $index * 256 + 512;
    -          $index++;
    -        }
    -        else
    -        {
    -          $upperbounds[$index-1] = 0xff - ($i & 0xff);
    -        }
    -        $table[$i] = ($table[$i] - $i) & 0xffff;
    -    }
    -
    -    # Collapse blocks upwards if possible
    -    my $removed = 0;
    -    $index = 0;
    -    for ($i = 0; $i < 256; $i++)
    -    {
    -        next unless defined $filled[$i];
    -        if ($upperbounds[$index - 1] > $lowerbounds[$index])
    -        {
    -           $removed = $removed + $lowerbounds[$index];
    -        }
    -        else
    -        {
    -           $removed = $removed + $upperbounds[$index - 1];
    -           $lowerbounds[$index] = $upperbounds[$index - 1];
    -        }
    -        $filled[$i] = $filled[$i] - $removed;
    -        $index++;
    -    }
    -
    -    # dump the table
    -
    -    printf OUTPUT "const WCHAR %s[%d] =\n", $name, $index * 256 + 512 - $removed;
    -    printf OUTPUT "{\n    /* index */\n";
    -    printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%04x", 256, @filled );
    -    printf OUTPUT "    /* defaults */\n";
    -    printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, (0) x 256 );
    -    $index = 0;
    -    for ($i = 0; $i < 256; $i++)
    -    {
    -        next unless $filled[$i];
    -        printf OUTPUT ",\n    /* 0x%02x%02x .. 0x%02xff */\n", $i, $lowerbounds[$index], $i;
    -        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0,
    -                      @table[($i<<8) + $lowerbounds[$index] .. ($i<<8)+255] );
    -        $index++;
    -    }
    -    printf OUTPUT "\n};\n";
    -}
    -
    -
    -################################################################
    -# dump the ctype tables
    -sub DUMP_CTYPE_TABLES
    -{
    -    open OUTPUT,">wctype.c" or die "Cannot create wctype.c";
    -    printf "Building wctype.c\n";
    -    printf OUTPUT "/* Unicode ctype tables */\n";
    -    printf OUTPUT "/* Automatically generated; DO NOT EDIT!! */\n\n";
    -    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    -
    -    my $i;
    -    my @array = (0) x 256;
    -
    -    # add the direction in the high 4 bits of the category
    -    for ($i = 0; $i < 65536; $i++)
    -    {
    -        $category_table[$i] |= $direction_table[$i] << 12;
    -    }
    -
    -    # try to merge table rows
    -    for ($row = 0; $row < 256; $row++)
    -    {
    -        my $rowtxt = sprintf "%04x" x 256, @category_table[($row<<8)..($row<<8)+255];
    -        if (defined($sequences{$rowtxt}))
    -        {
    -            # reuse an existing row
    -            $array[$row] = $sequences{$rowtxt};
    -        }
    -        else
    -        {
    -            # create a new row
    -            $sequences{$rowtxt} = $array[$row] = $#array + 1;
    -            push @array, @category_table[($row<<8)..($row<<8)+255];
    -        }
    -    }
    -
    -    printf OUTPUT "const unsigned short wine_wctype_table[%d] =\n{\n", $#array+1;
    -    printf OUTPUT "    /* offsets */\n%s,\n", DUMP_ARRAY( "0x%04x", 0, @array[0..255] );
    -    printf OUTPUT "    /* values */\n%s\n};\n", DUMP_ARRAY( "0x%04x", 0, @array[256..$#array] );
    -
    -    close OUTPUT;
    -}
    -
    -
    -################################################################
    -# dump the char composition tables
    -sub DUMP_COMPOSE_TABLES
    -{
    -    open OUTPUT,">compose.c" or die "Cannot create compose.c";
    -    printf "Building compose.c\n";
    -    printf OUTPUT "/* Unicode char composition */\n";
    -    printf OUTPUT "/* Automatically generated; DO NOT EDIT!! */\n\n";
    -    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    -
    -    ######### composition table
    -
    -    my @filled = ();
    -    foreach $i (@compose_table)
    -    {
    -        my @comp = @$i;
    -        push @{$filled[$comp[1]]}, [ $comp[0], $comp[2] ];
    -    }
    -
    -    # count how many different second chars we have
    -
    -    for ($i = $count = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $filled[$i];
    -        $count++;
    -    }
    -
    -    # build the table of second chars and offsets
    -
    -    my $pos = $count + 1;
    -    for ($i = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $filled[$i];
    -        push @table, $i, $pos;
    -        $pos += @{$filled[$i]};
    -    }
    -    # terminator with last position
    -    push @table, 0, $pos;
    -    printf OUTPUT "const WCHAR unicode_compose_table[0x%x] =\n{\n", 2*$pos;
    -    printf OUTPUT "    /* second chars + offsets */\n%s", DUMP_ARRAY( "0x%04x", 0, @table );
    -
    -    # build the table of first chars and mappings
    -
    -    for ($i = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $filled[$i];
    -        my @table = ();
    -        my @list = sort { $a->[0] <=> $b->[0] } @{$filled[$i]};
    -        for ($j = 0; $j <= $#list; $j++)
    -        {
    -            push @table, $list[$j][0], $list[$j][1];
    -        }
    -        printf OUTPUT ",\n    /* 0x%04x */\n%s", $i, DUMP_ARRAY( "0x%04x", 0, @table );
    -    }
    -    printf OUTPUT "\n};\n\nconst unsigned int unicode_compose_table_size = %d;\n\n", $count;
    -
    -    ######### decomposition table
    -
    -    # first determine all the 16-char subsets that contain something
    -
    -    my @filled = (0) x 4096;
    -    my $pos = 16*2;  # for the null subset
    -    for ($i = 0; $i < 65536; $i++)
    -    {
    -        next unless defined $decomp_table[$i];
    -        $filled[$i >> 4] = $pos;
    -        $pos += 16*2;
    -        $i |= 15;
    -    }
    -    my $total = $pos;
    -
    -    # now count the 256-char subsets that contain something
    -
    -    my @filled_idx = (256) x 256;
    -    $pos = 256 + 16;
    -    for ($i = 0; $i < 4096; $i++)
    -    {
    -        next unless $filled[$i];
    -        $filled_idx[$i >> 4] = $pos;
    -        $pos += 16;
    -        $i |= 15;
    -    }
    -    my $null_offset = $pos;  # null mapping
    -    $total += $pos;
    -
    -    # add the index offsets to the subsets positions
    -
    -    for ($i = 0; $i < 4096; $i++)
    -    {
    -        next unless $filled[$i];
    -        $filled[$i] += $null_offset;
    -    }
    -
    -    # dump the main index
    -
    -    printf OUTPUT "const WCHAR unicode_decompose_table[%d] =\n", $total;
    -    printf OUTPUT "{\n    /* index */\n";
    -    printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, @filled_idx );
    -    printf OUTPUT ",\n    /* null sub-index */\n%s", DUMP_ARRAY( "0x%04x", 0, ($null_offset) x 16 );
    -
    -    # dump the second-level indexes
    -
    -    for ($i = 0; $i < 256; $i++)
    -    {
    -        next unless ($filled_idx[$i] > 256);
    -        my @table = @filled[($i<<4)..($i<<4)+15];
    -        for ($j = 0; $j < 16; $j++) { $table[$j] ||= $null_offset; }
    -        printf OUTPUT ",\n    /* sub-index %02x */\n", $i;
    -        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, @table );
    -    }
    -
    -    # dump the 16-char subsets
    -
    -    printf OUTPUT ",\n    /* null mapping */\n";
    -    printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, (0) x 32 );
    -
    -    for ($i = 0; $i < 4096; $i++)
    -    {
    -        next unless $filled[$i];
    -        my @table = (0) x 32;
    -        for ($j = 0; $j < 16; $j++)
    -        {
    -            if (defined $decomp_table[($i<<4) + $j])
    -            {
    -                $table[2 * $j] = ${$decomp_table[($i << 4) + $j]}[0];
    -                $table[2 * $j + 1] = ${$decomp_table[($i << 4) + $j]}[1];
    -            }
    -        }
    -        printf OUTPUT ",\n    /* 0x%03x0 .. 0x%03xf */\n", $i, $i;
    -        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, @table );
    -    }
    -
    -    printf OUTPUT "\n};\n";
    -    close OUTPUT;
    -}
    -
    -
    -################################################################
    -# read an input file and generate the corresponding .c file
    -sub HANDLE_FILE
    -{
    -    my ($codepage,$filename,$comment) = @_;
    -
    -    # symbol codepage file is special
    -    if ($codepage == 20932) { READ_JIS0208_FILE($MAPPREFIX . $filename); }
    -    else { READ_FILE($MAPPREFIX . $filename); }
    -
    -    # hack: 0x00a5 must map to backslash in Shift-JIS
    -    if ($codepage == 932) { $uni2cp[0x00a5] = 0x5c; }
    -
    -    ADD_DEFAULT_MAPPINGS();
    -
    -    my $output = sprintf "c_%03d.c", $codepage;
    -    open OUTPUT,">$output" or die "Cannot create $output";
    -
    -    printf "Building %s from %s (%s)\n", $output, $filename, $comment;
    -
    -    # dump all tables
    -
    -    printf OUTPUT "/* code page %03d (%s) */\n", $codepage, $comment;
    -    printf OUTPUT "/* generated from %s */\n", $MAPPREFIX . $filename;
    -    printf OUTPUT "/* DO NOT EDIT!! */\n\n";
    -    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    -
    -    if ($#lead_bytes == -1) { DUMP_SBCS_TABLE( $codepage, $comment ); }
    -    else { DUMP_DBCS_TABLE( $codepage, $comment ); }
    -    close OUTPUT;
    -}
    -
    -
    -################################################################
    -# output the list of codepage tables into the cptable.c file
    -sub OUTPUT_CPTABLE
    -{
    -    @tables_decl = ();
    -
    -    foreach $file (@allfiles)
    -    {
    -        my ($codepage,$filename,$comment) = @$file;
    -        push @tables_decl, sprintf("extern union cptable cptable_%03d;\n",$codepage);
    -    }
    -
    -    push @tables_decl, sprintf("\nstatic const union cptable * const cptables[%d] =\n{\n",$#allfiles+1);
    -    foreach $file (@allfiles)
    -    {
    -        my ($codepage,$filename,$comment) = @$file;
    -        push @tables_decl, sprintf("    &cptable_%03d,\n", $codepage);
    -    }
    -    push @tables_decl, "};";
    -    REPLACE_IN_FILE( "cptable.c", @tables_decl );
    -}
    -
    -################################################################
    -# replace the contents of a file between ### cpmap ### marks
    -
    -sub REPLACE_IN_FILE
    -{
    -    my $name = shift;
    -    my @data = @_;
    -    my @lines = ();
    -    open(FILE,$name) or die "Can't open $name";
    -    while ()
    -    {
    -	push @lines, $_;
    -	last if /\#\#\# cpmap begin \#\#\#/;
    -    }
    -    push @lines, @data;
    -    while ()
    -    {
    -	if (/\#\#\# cpmap end \#\#\#/) { push @lines, "\n", $_; last; }
    -    }
    -    push @lines, ;
    -    open(FILE,">$name") or die "Can't modify $name";
    -    print FILE @lines;
    -    close(FILE);
    -}
    +#!/usr/bin/perl
    +#
    +# Generate code page .c files from ftp.unicode.org descriptions
    +#
    +# Copyright 2000 Alexandre Julliard
    +#
    +# This library is free software; you can redistribute it and/or
    +# modify it under the terms of the GNU Lesser General Public
    +# License as published by the Free Software Foundation; either
    +# version 2.1 of the License, or (at your option) any later version.
    +#
    +# This library is distributed in the hope that it will be useful,
    +# but WITHOUT ANY WARRANTY; without even the implied warranty of
    +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +# Lesser General Public License for more details.
    +#
    +# You should have received a copy of the GNU Lesser General Public
    +# License along with this library; if not, write to the Free Software
    +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    +#
    +
    +# base directory for ftp.unicode.org files
    +$BASEDIR = "ftp.unicode.org/Public/";
    +$MAPPREFIX = $BASEDIR . "MAPPINGS/";
    +
    +# UnicodeData file
    +$UNICODEDATA = $BASEDIR . "UNIDATA/UnicodeData.txt";
    +
    +# Sort keys file
    +$SORTKEYS = "www.unicode.org/reports/tr10/allkeys.txt";
    +
    +# Defaults mapping
    +$DEFAULTS = "./defaults";
    +
    +# Default char for undefined mappings
    +$DEF_CHAR = ord '?';
    +
    +@allfiles =
    +(
    +    [ 37,    "VENDORS/MICSFT/EBCDIC/CP037.TXT",   "IBM EBCDIC US Canada" ],
    +    [ 424,   "VENDORS/MISC/CP424.TXT",            "IBM EBCDIC Hebrew" ],
    +    [ 437,   "VENDORS/MICSFT/PC/CP437.TXT",       "OEM United States" ],
    +    [ 500,   "VENDORS/MICSFT/EBCDIC/CP500.TXT",   "IBM EBCDIC International" ],
    +    [ 737,   "VENDORS/MICSFT/PC/CP737.TXT",       "OEM Greek 437G" ],
    +    [ 775,   "VENDORS/MICSFT/PC/CP775.TXT",       "OEM Baltic" ],
    +    [ 850,   "VENDORS/MICSFT/PC/CP850.TXT",       "OEM Multilingual Latin 1" ],
    +    [ 852,   "VENDORS/MICSFT/PC/CP852.TXT",       "OEM Slovak Latin 2" ],
    +    [ 855,   "VENDORS/MICSFT/PC/CP855.TXT",       "OEM Cyrillic" ],
    +    [ 856,   "VENDORS/MISC/CP856.TXT",            "Hebrew PC" ],
    +    [ 857,   "VENDORS/MICSFT/PC/CP857.TXT",       "OEM Turkish" ],
    +    [ 860,   "VENDORS/MICSFT/PC/CP860.TXT",       "OEM Portuguese" ],
    +    [ 861,   "VENDORS/MICSFT/PC/CP861.TXT",       "OEM Icelandic" ],
    +    [ 862,   "VENDORS/MICSFT/PC/CP862.TXT",       "OEM Hebrew" ],
    +    [ 863,   "VENDORS/MICSFT/PC/CP863.TXT",       "OEM Canadian French" ],
    +    [ 864,   "VENDORS/MICSFT/PC/CP864.TXT",       "OEM Arabic" ],
    +    [ 865,   "VENDORS/MICSFT/PC/CP865.TXT",       "OEM Nordic" ],
    +    [ 866,   "VENDORS/MICSFT/PC/CP866.TXT",       "OEM Russian" ],
    +    [ 869,   "VENDORS/MICSFT/PC/CP869.TXT",       "OEM Greek" ],
    +    [ 874,   "VENDORS/MICSFT/PC/CP874.TXT",       "ANSI/OEM Thai" ],
    +    [ 875,   "VENDORS/MICSFT/EBCDIC/CP875.TXT",   "IBM EBCDIC Greek" ],
    +    [ 878,   "VENDORS/MISC/KOI8-R.TXT",           "Russian KOI8" ],
    +    [ 932,   "VENDORS/MICSFT/WINDOWS/CP932.TXT",  "ANSI/OEM Japanese Shift-JIS" ],
    +    [ 936,   "VENDORS/MICSFT/WINDOWS/CP936.TXT",  "ANSI/OEM Simplified Chinese GBK" ],
    +    [ 949,   "VENDORS/MICSFT/WINDOWS/CP949.TXT",  "ANSI/OEM Korean Unified Hangul" ],
    +    [ 950,   "VENDORS/MICSFT/WINDOWS/CP950.TXT",  "ANSI/OEM Traditional Chinese Big5" ],
    +    [ 1006,  "VENDORS/MISC/CP1006.TXT",           "IBM Arabic" ],
    +    [ 1026,  "VENDORS/MICSFT/EBCDIC/CP1026.TXT",  "IBM EBCDIC Latin 5 Turkish" ],
    +    [ 1250,  "VENDORS/MICSFT/WINDOWS/CP1250.TXT", "ANSI Eastern Europe" ],
    +    [ 1251,  "VENDORS/MICSFT/WINDOWS/CP1251.TXT", "ANSI Cyrillic" ],
    +    [ 1252,  "VENDORS/MICSFT/WINDOWS/CP1252.TXT", "ANSI Latin 1" ],
    +    [ 1253,  "VENDORS/MICSFT/WINDOWS/CP1253.TXT", "ANSI Greek" ],
    +    [ 1254,  "VENDORS/MICSFT/WINDOWS/CP1254.TXT", "ANSI Turkish" ],
    +    [ 1255,  "VENDORS/MICSFT/WINDOWS/CP1255.TXT", "ANSI Hebrew" ],
    +    [ 1256,  "VENDORS/MICSFT/WINDOWS/CP1256.TXT", "ANSI Arabic" ],
    +    [ 1257,  "VENDORS/MICSFT/WINDOWS/CP1257.TXT", "ANSI Baltic" ],
    +    [ 1258,  "VENDORS/MICSFT/WINDOWS/CP1258.TXT", "ANSI/OEM Viet Nam" ],
    +    [ 10000, "VENDORS/MICSFT/MAC/ROMAN.TXT",      "Mac Roman" ],
    +    [ 10006, "VENDORS/MICSFT/MAC/GREEK.TXT",      "Mac Greek" ],
    +    [ 10007, "VENDORS/MICSFT/MAC/CYRILLIC.TXT",   "Mac Cyrillic" ],
    +    [ 10029, "VENDORS/MICSFT/MAC/LATIN2.TXT",     "Mac Latin 2" ],
    +    [ 10079, "VENDORS/MICSFT/MAC/ICELAND.TXT",    "Mac Icelandic" ],
    +    [ 10081, "VENDORS/MICSFT/MAC/TURKISH.TXT",    "Mac Turkish" ],
    +    [ 20866, "VENDORS/MISC/KOI8-R.TXT",           "Russian KOI8" ],
    +    [ 20932, "OBSOLETE/EASTASIA/JIS/JIS0208.TXT", "EUC-JP" ],
    +    [ 21866, "VENDORS/MISC/KOI8-U.TXT",           "Ukrainian KOI8" ],
    +    [ 28591, "ISO8859/8859-1.TXT",                "ISO 8859-1 Latin 1" ],
    +    [ 28592, "ISO8859/8859-2.TXT",                "ISO 8859-2 Latin 2 (East European)" ],
    +    [ 28593, "ISO8859/8859-3.TXT",                "ISO 8859-3 Latin 3 (South European)" ],
    +    [ 28594, "ISO8859/8859-4.TXT",                "ISO 8859-4 Latin 4 (Baltic old)" ],
    +    [ 28595, "ISO8859/8859-5.TXT",                "ISO 8859-5 Cyrillic" ],
    +    [ 28596, "ISO8859/8859-6.TXT",                "ISO 8859-6 Arabic" ],
    +    [ 28597, "ISO8859/8859-7.TXT",                "ISO 8859-7 Greek" ],
    +    [ 28598, "ISO8859/8859-8.TXT",                "ISO 8859-8 Hebrew" ],
    +    [ 28599, "ISO8859/8859-9.TXT",                "ISO 8859-9 Latin 5 (Turkish)" ],
    +    [ 28600, "ISO8859/8859-10.TXT",               "ISO 8859-10 Latin 6 (Nordic)" ],
    +    [ 28603, "ISO8859/8859-13.TXT",               "ISO 8859-13 Latin 7 (Baltic)" ],
    +    [ 28604, "ISO8859/8859-14.TXT",               "ISO 8859-14 Latin 8 (Celtic)" ],
    +    [ 28605, "ISO8859/8859-15.TXT",               "ISO 8859-15 Latin 9 (Euro)" ],
    +    [ 28606, "ISO8859/8859-16.TXT",               "ISO 8859-16 Latin 10 (Balkan)" ]
    +);
    +
    +
    +%ctype =
    +(
    +    "upper"  => 0x0001,
    +    "lower"  => 0x0002,
    +    "digit"  => 0x0004,
    +    "space"  => 0x0008,
    +    "punct"  => 0x0010,
    +    "cntrl"  => 0x0020,
    +    "blank"  => 0x0040,
    +    "xdigit" => 0x0080,
    +    "alpha"  => 0x0100
    +);
    +
    +%categories =
    +(
    +    "Lu" => $ctype{"alpha"}|$ctype{"upper"}, # Letter, Uppercase
    +    "Ll" => $ctype{"alpha"}|$ctype{"lower"}, # Letter, Lowercase
    +    "Lt" => $ctype{"alpha"},    # Letter, Titlecase
    +    "Mn" => $ctype{"punct"},    # Mark, Non-Spacing
    +    "Mc" => $ctype{"punct"},    # Mark, Spacing Combining
    +    "Me" => $ctype{"punct"},    # Mark, Enclosing
    +    "Nd" => $ctype{"digit"},    # Number, Decimal Digit
    +    "Nl" => $ctype{"punct"},    # Number, Letter
    +    "No" => $ctype{"punct"},    # Number, Other
    +    "Zs" => $ctype{"space"},    # Separator, Space
    +    "Zl" => 0,                  # Separator, Line
    +    "Zp" => 0,                  # Separator, Paragraph
    +    "Cc" => $ctype{"cntrl"},    # Other, Control
    +    "Cf" => 0,                  # Other, Format
    +    "Cs" => 0,                  # Other, Surrogate
    +    "Co" => 0,                  # Other, Private Use
    +    "Cn" => 0,                  # Other, Not Assigned
    +    "Lm" => $ctype{"punct"},    # Letter, Modifier
    +    "Lo" => $ctype{"alpha"},    # Letter, Other
    +    "Pc" => $ctype{"punct"},    # Punctuation, Connector
    +    "Pd" => $ctype{"punct"},    # Punctuation, Dash
    +    "Ps" => $ctype{"punct"},    # Punctuation, Open
    +    "Pe" => $ctype{"punct"},    # Punctuation, Close
    +    "Pi" => $ctype{"punct"},    # Punctuation, Initial quote
    +    "Pf" => $ctype{"punct"},    # Punctuation, Final quote
    +    "Po" => $ctype{"punct"},    # Punctuation, Other
    +    "Sm" => $ctype{"punct"},    # Symbol, Math
    +    "Sc" => $ctype{"punct"},    # Symbol, Currency
    +    "Sk" => $ctype{"punct"},    # Symbol, Modifier
    +    "So" => $ctype{"punct"}     # Symbol, Other
    +);
    +
    +# a few characters need additional categories that cannot be determined automatically
    +%special_categories =
    +(
    +    "xdigit" => [ ord('0')..ord('9'),ord('A')..ord('F'),ord('a')..ord('f'),
    +                  0xff10..0xff19, 0xff21..0xff26, 0xff41..0xff46 ],
    +    "space"  => [ 0x09..0x0d, 0xfeff ],
    +    "blank"  => [ 0x09, 0x20, 0xa0, 0xfeff ]
    +);
    +
    +%directions =
    +(
    +    "L"   => 1,    # Left-to-Right
    +    "LRE" => 11,   # Left-to-Right Embedding
    +    "LRO" => 11,   # Left-to-Right Override
    +    "R"   => 2,    # Right-to-Left
    +    "AL"  => 2,    # Right-to-Left Arabic
    +    "RLE" => 11,   # Right-to-Left Embedding
    +    "RLO" => 11,   # Right-to-Left Override
    +    "PDF" => 11,   # Pop Directional Format
    +    "EN"  => 3,    # European Number
    +    "ES"  => 4,    # European Number Separator
    +    "ET"  => 5,    # European Number Terminator
    +    "AN"  => 6,    # Arabic Number
    +    "CS"  => 7,    # Common Number Separator
    +    "NSM" => 0,    # Non-Spacing Mark
    +    "BN"  => 0,    # Boundary Neutral
    +    "B"   => 8,    # Paragraph Separator
    +    "S"   => 9,    # Segment Separator
    +    "WS"  => 10,   # Whitespace
    +    "ON"  => 11    # Other Neutrals
    +);
    +
    +
    +################################################################
    +# main routine
    +
    +READ_DEFAULTS();
    +my @sortkeys = READ_SORTKEYS_FILE();
    +DUMP_CASE_MAPPINGS();
    +DUMP_SORTKEYS(@sortkeys);
    +DUMP_COMPOSE_TABLES();
    +DUMP_CTYPE_TABLES();
    +
    +foreach $file (@allfiles) { HANDLE_FILE( @$file ); }
    +
    +OUTPUT_CPTABLE();
    +
    +exit(0);
    +
    +
    +################################################################
    +# read in the defaults file
    +sub READ_DEFAULTS
    +{
    +    @unicode_defaults = ();
    +    @unicode_aliases = ();
    +    @tolower_table = ();
    +    @toupper_table = ();
    +    @digitmap_table = ();
    +    @compatmap_table = ();
    +    @category_table = ();
    +    @direction_table = ();
    +    @decomp_table = ();
    +    @compose_table = ();
    +
    +    # first setup a few default mappings
    +
    +    open DEFAULTS or die "Cannot open $DEFAULTS";
    +    print "Loading $DEFAULTS\n";
    +    while ()
    +    {
    +        next if /^\#/;  # skip comments
    +        next if /^$/;  # skip empty lines
    +        if (/^(([0-9a-fA-F]+)(,[0-9a-fA-F]+)*)\s+([0-9a-fA-F]+|'.'|none)\s+(\#.*)?/)
    +        {
    +            my @src = map hex, split /,/,$1;
    +            my $dst = $4;
    +            my $comment = $5;
    +            if ($#src > 0) { push @unicode_aliases, \@src; }
    +            next if ($dst eq "none");
    +            $dst = ($dst =~ /\'.\'/) ? ord substr($dst,1,1) : hex $dst;
    +            foreach $src (@src)
    +            {
    +                die "Duplicate value" if defined($unicode_defaults[$src]);
    +                $unicode_defaults[$src] = $dst;
    +            }
    +            next;
    +        }
    +        die "Unrecognized line $_\n";
    +    }
    +
    +    # now build mappings from the decomposition field of the Unicode database
    +
    +    open UNICODEDATA or die "Cannot open $UNICODEDATA";
    +    print "Loading $UNICODEDATA\n";
    +    while ()
    +    {
    +	# Decode the fields ...
    +	($code, $name, $cat, $comb, $bidi,
    +	 $decomp, $dec, $dig, $num, $mirror,
    +	 $oldname, $comment, $upper, $lower, $title) = split /;/;
    +
    +        my $src = hex $code;
    +
    +        die "unknown category $cat" unless defined $categories{$cat};
    +        die "unknown directionality $bidi" unless defined $directions{$bidi};
    +
    +        $uniname[$src] = $name;
    +        $category_table[$src] = $categories{$cat};
    +        $direction_table[$src] = $directions{$bidi};
    +
    +        if ($lower ne "")
    +        {
    +            $tolower_table[$src] = hex $lower;
    +            $category_table[$src] |= $ctype{"upper"}|$ctype{"alpha"};
    +        }
    +        if ($upper ne "")
    +        {
    +            $toupper_table[$src] = hex $upper;
    +            $category_table[$src] |= $ctype{"lower"}|$ctype{"alpha"};
    +        }
    +        if ($dec ne "")
    +        {
    +            $category_table[$src] |= $ctype{"digit"};
    +        }
    +        if ($dig ne "")
    +        {
    +            $digitmap_table[$src] = ord $dig;
    +        }
    +
    +        # copy the category and direction for everything between First/Last pairs
    +        if ($name =~ /, First>/) { $start = $src; }
    +        if ($name =~ /, Last>/)
    +        {
    +            while ($start < $src)
    +            {
    +                $category_table[$start] = $category_table[$src];
    +                $direction_table[$start] = $direction_table[$src];
    +                $start++;
    +            }
    +        }
    +
    +        next if $decomp eq "";  # no decomposition, skip it
    +
    +        if ($decomp =~ /^<([a-zA-Z]+)>\s+([0-9a-fA-F]+)$/)
    +        {
    +            # decomposition of the form " 1234" -> use char if type is known
    +            if (($src >= 0xf900 && $src < 0xfb00) || ($src >= 0xfe30 && $src < 0xfffd))
    +            {
    +                # Single char decomposition in the compatibility range
    +                $compatmap_table[$src] = hex $2;
    +            }
    +            next unless ($1 eq "font" ||
    +                         $1 eq "noBreak" ||
    +                         $1 eq "circle" ||
    +                         $1 eq "super" ||
    +                         $1 eq "sub" ||
    +                         $1 eq "wide" ||
    +                         $1 eq "narrow" ||
    +                         $1 eq "compat" ||
    +                         $1 eq "small");
    +            $dst = hex $2;
    +        }
    +        elsif ($decomp =~ /^\s+0020\s+([0-9a-fA-F]+)/)
    +        {
    +            # decomposition " 0020 1234" -> combining accent
    +            $dst = hex $1;
    +        }
    +        elsif ($decomp =~ /^([0-9a-fA-F]+)/)
    +        {
    +            # decomposition contains only char values without prefix -> use first char
    +            $dst = hex $1;
    +            $category_table[$src] |= $category_table[$dst];
    +            # store decomposition if it contains two chars
    +            if ($decomp =~ /^([0-9a-fA-F]+)\s+([0-9a-fA-F]+)$/)
    +            {
    +                $decomp_table[$src] = [ hex $1, hex $2 ];
    +                push @compose_table, [ hex $1, hex $2, $src ];
    +            }
    +            elsif ($decomp =~ /^(<[a-z]+>\s)*([0-9a-fA-F]+)$/ &&
    +                   (($src >= 0xf900 && $src < 0xfb00) || ($src >= 0xfe30 && $src < 0xfffd)))
    +            {
    +                # Single char decomposition in the compatibility range
    +                $compatmap_table[$src] = hex $2;
    +            }
    +        }
    +        else
    +        {
    +            next;
    +        }
    +
    +        next if defined($unicode_defaults[$src]);  # may have been set in the defaults file
    +
    +        # check for loops
    +        for ($i = $dst; ; $i = $unicode_defaults[$i])
    +        {
    +            die sprintf("loop detected for %04x -> %04x",$src,$dst) if $i == $src;
    +            last unless defined($unicode_defaults[$i]);
    +        }
    +        $unicode_defaults[$src] = $dst;
    +    }
    +
    +    # patch the category of some special characters
    +
    +    foreach $cat (keys %special_categories)
    +    {
    +        my $flag = $ctype{$cat};
    +        foreach $i (@{$special_categories{$cat}}) { $category_table[$i] |= $flag; }
    +    }
    +}
    +
    +
    +################################################################
    +# parse the input file
    +sub READ_FILE
    +{
    +    my $name = shift;
    +    open INPUT,$name or die "Cannot open $name";
    +    @cp2uni = ();
    +    @lead_bytes = ();
    +    @uni2cp = ();
    +
    +    while ()
    +    {
    +        next if /^\#/;  # skip comments
    +        next if /^$/;  # skip empty lines
    +        next if /\x1a/;  # skip ^Z
    +        next if (/^0x([0-9a-fA-F]+)\s+\#UNDEFINED/);  # undefined char
    +
    +        if (/^0x([0-9a-fA-F]+)\s+\#DBCS LEAD BYTE/)
    +        {
    +            $cp = hex $1;
    +            push @lead_bytes,$cp;
    +            $cp2uni[$cp] = 0;
    +            next;
    +        }
    +        if (/^0x([0-9a-fA-F]+)\s+0x([0-9a-fA-F]+)\s+(\#.*)?/)
    +        {
    +            $cp = hex $1;
    +            $uni = hex $2;
    +            $cp2uni[$cp] = $uni unless defined($cp2uni[$cp]);
    +            $uni2cp[$uni] = $cp unless defined($uni2cp[$uni]);
    +            next;
    +        }
    +        die "$name: Unrecognized line $_\n";
    +    }
    +}
    +
    +
    +################################################################
    +# build EUC-JP table from the JIS 0208 file
    +# FIXME: for proper EUC-JP we should probably read JIS 0212 too
    +# but this would require 3-byte DBCS characters
    +sub READ_JIS0208_FILE
    +{
    +    my $name = shift;
    +    @cp2uni = ();
    +    @lead_bytes = ();
    +    @uni2cp = ();
    +
    +    # ASCII chars
    +    for ($i = 0x00; $i <= 0x7f; $i++)
    +    {
    +        $cp2uni[$i] = $i;
    +        $uni2cp[$i] = $i;
    +    }
    +
    +    # JIS X 0201 right plane
    +    for ($i = 0xa1; $i <= 0xdf; $i++)
    +    {
    +        $cp2uni[0x8e00 + $i] = 0xfec0 + $i;
    +        $uni2cp[0xfec0 + $i] = 0x8e00 + $i;
    +    }
    +
    +    # lead bytes
    +    foreach $i (0x8e, 0x8f, 0xa1 .. 0xfe)
    +    {
    +        push @lead_bytes,$i;
    +        $cp2uni[$i] = 0;
    +    }
    +
    +    # undefined chars
    +    foreach $i (0x80 .. 0x8d, 0x90 .. 0xa0, 0xff)
    +    {
    +        $cp2uni[$i] = $DEF_CHAR;
    +    }
    +
    +    # Shift-JIS compatibility
    +    $uni2cp[0x00a5] = 0x5c;
    +    $uni2cp[0x203e] = 0x7e;
    +
    +    # Fix backslash conversion
    +    $cp2uni[0xa1c0] = 0xff3c;
    +    $uni2cp[0xff3c] = 0xa1c0;
    +
    +    open INPUT, "$name" or die "Cannot open $name";
    +    while ()
    +    {
    +        next if /^\#/;  # skip comments
    +        next if /^$/;  # skip empty lines
    +        next if /\x1a/;  # skip ^Z
    +        if (/^0x[0-9a-fA-F]+\s+0x([0-9a-fA-F]+)\s+0x([0-9a-fA-F]+)\s+(\#.*)?/)
    +        {
    +            $cp = 0x8080 + hex $1;
    +            $uni = hex $2;
    +            $cp2uni[$cp] = $uni unless defined($cp2uni[$cp]);
    +            $uni2cp[$uni] = $cp unless defined($uni2cp[$uni]);
    +            next;
    +        }
    +        die "$name: Unrecognized line $_\n";
    +    }
    +}
    +
    +
    +################################################################
    +# build the sort keys table
    +sub READ_SORTKEYS_FILE
    +{
    +    my @sortkeys = ();
    +    for (my $i = 0; $i < 65536; $i++) { $sortkeys[$i] = [ -1, 0, 0, 0, 0 ] };
    +
    +    open INPUT, "$SORTKEYS" or die "Cannot open $SORTKEYS";
    +    print "Loading $SORTKEYS\n";
    +    while ()
    +    {
    +        next if /^\#/;  # skip comments
    +        next if /^$/;  # skip empty lines
    +        next if /\x1a/;  # skip ^Z
    +        next if /^\@version/;  # skip @version header
    +        if (/^([0-9a-fA-F]+)\s+;\s+\[([*.])([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]+)\]/)
    +        {
    +            my ($uni,$variable) = (hex $1, $2);
    +            next if $uni > 65535;
    +            $sortkeys[$uni] = [ $uni, hex $3, hex $4, hex $5, hex $6 ];
    +            next;
    +        }
    +        if (/^([0-9a-fA-F]+\s+)+;\s+\[[*.]([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]+)\]/)
    +        {
    +            # multiple character sequence, ignored for now
    +            next;
    +        }
    +        die "$SORTKEYS: Unrecognized line $_\n";
    +    }
    +    close INPUT;
    +
    +    # compress the keys to 32 bit:
    +    # key 1 to 16 bits, key 2 to 8 bits, key 3 to 4 bits, key 4 to 1 bit
    +
    +    @sortkeys = sort { ${$a}[1] <=> ${$b}[1] or 
    +                       ${$a}[2] <=> ${$b}[2] or
    +                       ${$a}[3] <=> ${$b}[3] or
    +                       ${$a}[4] <=> ${$b}[4] or
    +                       $a cmp $b; } @sortkeys;
    +
    +    my ($n2, $n3) = (1, 1);
    +    my @keys = (-1, -1, -1, -1, -1 );
    +    my @flatkeys = ();
    +
    +    for (my $i = 0; $i < 65536; $i++)
    +    {
    +        my @current = @{$sortkeys[$i]};
    +        next if $current[0] == -1;
    +        if ($current[1] == $keys[1])
    +        {
    +            if ($current[2] == $keys[2])
    +            {
    +                if ($current[3] == $keys[3])
    +                {
    +                    # nothing
    +                }
    +                else
    +                {
    +                    $keys[3] = $current[3];
    +                    $n3++;
    +                    die if ($n3 >= 16);
    +                }
    +            }
    +            else
    +            {
    +                $keys[2] = $current[2];
    +                $keys[3] = $current[3];
    +                $n2++;
    +                $n3 = 1;
    +                die if ($n2 >= 256);
    +            }
    +        }
    +        else
    +        {
    +            $keys[1] = $current[1];
    +            $keys[2] = $current[2];
    +            $keys[3] = $current[3];
    +            $n2 = 1;
    +            $n3 = 1;
    +        }
    +
    +        if ($current[2]) { $current[2] = $n2; }
    +        if ($current[3]) { $current[3] = $n3; }
    +        if ($current[4]) { $current[4] = 1; }
    +
    +        $flatkeys[$current[0]] = ($current[1] << 16) | ($current[2] << 8) | ($current[3] << 4) | $current[4];
    +    }
    +    return @flatkeys;
    +}
    +
    +
    +################################################################
    +# build the sort keys table
    +sub DUMP_SORTKEYS
    +{
    +    my @keys = @_;
    +
    +    # count the number of 256-key ranges that contain something
    +
    +    my @offsets = ();
    +    my $ranges = 2;
    +    for (my $i = 0; $i < 256; $i++) { $offsets[$i] = 256; }
    +    for (my $i = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $keys[$i];
    +        $offsets[$i >> 8] = $ranges * 256;
    +        $ranges++;
    +        $i |= 255;
    +    }
    +
    +    # output the range offsets
    +
    +    open OUTPUT,">collation.c" or die "Cannot create collation.c";
    +    printf "Building collation.c\n";
    +    printf OUTPUT "/* Unicode collation element table */\n";
    +    printf OUTPUT "/* generated from %s */\n", $SORTKEYS;
    +    printf OUTPUT "/* DO NOT EDIT!! */\n\n";
    +
    +    printf OUTPUT "const unsigned int collation_table[%d] =\n{\n", $ranges*256;
    +    printf OUTPUT "    /* index */\n";
    +    printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%08x", 0, @offsets );
    +
    +    # output the default values
    +
    +    printf OUTPUT "    /* defaults */\n";
    +    printf OUTPUT "%s", DUMP_ARRAY( "0x%08x", 0, (-1) x 256 );
    +
    +    # output all the key ranges
    +
    +    for (my $i = 0; $i < 256; $i++)
    +    {
    +        next if $offsets[$i] == 256;
    +        printf OUTPUT ",\n    /* 0x%02x00 .. 0x%02xff */\n", $i, $i;
    +        printf OUTPUT "%s", DUMP_ARRAY( "0x%08x", -1, @keys[($i<<8) .. ($i<<8)+255] );
    +    }
    +    printf OUTPUT "\n};\n";
    +    close OUTPUT;
    +}
    +
    +
    +################################################################
    +# add default mappings once the file had been read
    +sub ADD_DEFAULT_MAPPINGS
    +{
    +    # Apply aliases
    +
    +    foreach $alias (@unicode_aliases)
    +    {
    +        my $target = undef;
    +        foreach $src (@$alias)
    +        {
    +            if (defined($uni2cp[$src]))
    +            {
    +                $target = $uni2cp[$src];
    +                last;
    +            }
    +        }
    +        next unless defined($target);
    +
    +        # At least one char of the alias set is defined, set the others to the same value
    +        foreach $src (@$alias)
    +        {
    +            $uni2cp[$src] = $target unless defined($uni2cp[$src]);
    +        }
    +    }
    +
    +    # For every src -> target mapping in the defaults table,
    +    # make uni2cp[src] = uni2cp[target] if uni2cp[target] is defined
    +
    +    for ($src = 0; $src < 65536; $src++)
    +    {
    +        next if defined($uni2cp[$src]);  # source has a definition already
    +        next unless defined($unicode_defaults[$src]);  # no default for this char
    +        my $target = $unicode_defaults[$src];
    +
    +        # do a recursive mapping until we find a target char that is defined
    +        while (!defined($uni2cp[$target]) &&
    +               defined($unicode_defaults[$target])) { $target = $unicode_defaults[$target]; }
    +
    +        if (defined($uni2cp[$target])) { $uni2cp[$src] = $uni2cp[$target]; }
    +    }
    +
    +    # Add an identity mapping for all undefined chars
    +
    +    for ($i = 0; $i < 256; $i++)
    +    {
    +        next if defined($cp2uni[$i]);
    +        next if defined($uni2cp[$i]);
    +        $cp2uni[$i] = $uni2cp[$i] = $i;
    +    }
    +}
    +
    +################################################################
    +# dump an array of integers
    +sub DUMP_ARRAY
    +{
    +    my ($format,$default,@array) = @_;
    +    my $i, $ret = "    ";
    +    for ($i = 0; $i < $#array; $i++)
    +    {
    +        $ret .= sprintf($format, defined $array[$i] ? $array[$i] : $default);
    +        $ret .= (($i % 8) != 7) ? ", " : ",\n    ";
    +    }
    +    $ret .= sprintf($format, defined $array[$i] ? $array[$i] : $default);
    +    return $ret;
    +}
    +
    +################################################################
    +# dump an SBCS mapping table
    +sub DUMP_SBCS_TABLE
    +{
    +    my ($codepage, $name) = @_;
    +    my $i;
    +
    +    # output the ascii->unicode table
    +
    +    printf OUTPUT "static const WCHAR cp2uni[256] =\n";
    +    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @cp2uni[0 .. 255] );
    +
    +    # count the number of unicode->ascii subtables that contain something
    +
    +    my @filled = ();
    +    my $subtables = 1;
    +    for ($i = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $uni2cp[$i];
    +        $filled[$i >> 8] = 1;
    +        $subtables++;
    +        $i |= 255;
    +    }
    +
    +    # output all the subtables into a single array
    +
    +    printf OUTPUT "static const unsigned char uni2cp_low[%d] =\n{\n", $subtables*256;
    +    for ($i = 0; $i < 256; $i++)
    +    {
    +        next unless $filled[$i];
    +        printf OUTPUT "    /* 0x%02x00 .. 0x%02xff */\n", $i, $i;
    +        printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%02x", $DEF_CHAR, @uni2cp[($i<<8) .. ($i<<8)+255] );
    +    }
    +    printf OUTPUT "    /* defaults */\n";
    +    printf OUTPUT "%s\n};\n\n", DUMP_ARRAY( "0x%02x", 0, ($DEF_CHAR) x 256 );
    +
    +    # output a table of the offsets of the subtables in the previous array
    +
    +    my $pos = 0;
    +    my @offsets = ();
    +    for ($i = 0; $i < 256; $i++)
    +    {
    +        if ($filled[$i]) { push @offsets, $pos; $pos += 256; }
    +        else { push @offsets, ($subtables-1) * 256; }
    +    }
    +    printf OUTPUT "static const unsigned short uni2cp_high[256] =\n";
    +    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%04x", 0, @offsets );
    +
    +    # output the code page descriptor
    +
    +    printf OUTPUT "const struct sbcs_table cptable_%03d =\n{\n", $codepage;
    +    printf OUTPUT "    { %d, 1, 0x%04x, 0x%04x, \"%s\" },\n",
    +                  $codepage, $DEF_CHAR, $DEF_CHAR, $name;
    +    printf OUTPUT "    cp2uni,\n";
    +    printf OUTPUT "    uni2cp_low,\n";
    +    printf OUTPUT "    uni2cp_high\n};\n";
    +}
    +
    +
    +################################################################
    +# dump a DBCS mapping table
    +sub DUMP_DBCS_TABLE
    +{
    +    my ($codepage, $name) = @_;
    +    my $i, $x, $y;
    +
    +    # build a list of lead bytes that are actually used
    +
    +    my @lblist = ();
    +    LBLOOP: for ($y = 0; $y <= $#lead_bytes; $y++)
    +    {
    +        my $base = $lead_bytes[$y] << 8;
    +        for ($x = 0; $x < 256; $x++)
    +        {
    +            if (defined $cp2uni[$base+$x])
    +            {
    +                push @lblist,$lead_bytes[$y];
    +                next LBLOOP;
    +            }
    +        }
    +    }
    +    my $unused = ($#lead_bytes > $#lblist);
    +
    +    # output the ascii->unicode table for the single byte chars
    +
    +    printf OUTPUT "static const WCHAR cp2uni[%d] =\n", 256 * ($#lblist + 2 + $unused);
    +    printf OUTPUT "{\n%s,\n", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @cp2uni[0 .. 255] );
    +
    +    # output the default table for unused lead bytes
    +
    +    if ($unused)
    +    {
    +        printf OUTPUT "    /* unused lead bytes */\n";
    +        printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%04x", 0, ($DEF_CHAR) x 256 );
    +    }
    +
    +    # output the ascii->unicode table for each DBCS lead byte
    +
    +    for ($y = 0; $y <= $#lblist; $y++)
    +    {
    +        my $base = $lblist[$y] << 8;
    +        printf OUTPUT "    /* lead byte %02x */\n", $lblist[$y];
    +        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @cp2uni[$base .. $base+255] );
    +        printf OUTPUT ($y < $#lblist) ? ",\n" : "\n};\n\n";
    +    }
    +
    +    # output the lead byte subtables offsets
    +
    +    my @offsets = ();
    +    for ($x = 0; $x < 256; $x++) { $offsets[$x] = 0; }
    +    for ($x = 0; $x <= $#lblist; $x++) { $offsets[$lblist[$x]] = $x + 1; }
    +    if ($unused)
    +    {
    +        # increment all lead bytes offset to take into account the unused table
    +        for ($x = 0; $x <= $#lead_bytes; $x++) { $offsets[$lead_bytes[$x]]++; }
    +    }
    +    printf OUTPUT "static const unsigned char cp2uni_leadbytes[256] =\n";
    +    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%02x", 0, @offsets );
    +
    +    # count the number of unicode->ascii subtables that contain something
    +
    +    my @filled = ();
    +    my $subtables = 1;
    +    for ($i = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $uni2cp[$i];
    +        $filled[$i >> 8] = 1;
    +        $subtables++;
    +        $i |= 255;
    +    }
    +
    +    # output all the subtables into a single array
    +
    +    printf OUTPUT "static const unsigned short uni2cp_low[%d] =\n{\n", $subtables*256;
    +    for ($y = 0; $y < 256; $y++)
    +    {
    +        next unless $filled[$y];
    +        printf OUTPUT "    /* 0x%02x00 .. 0x%02xff */\n", $y, $y;
    +        printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%04x", $DEF_CHAR, @uni2cp[($y<<8) .. ($y<<8)+255] );
    +    }
    +    printf OUTPUT "    /* defaults */\n";
    +    printf OUTPUT "%s\n};\n\n", DUMP_ARRAY( "0x%04x", 0, ($DEF_CHAR) x 256 );
    +
    +    # output a table of the offsets of the subtables in the previous array
    +
    +    my $pos = 0;
    +    my @offsets = ();
    +    for ($y = 0; $y < 256; $y++)
    +    {
    +        if ($filled[$y]) { push @offsets, $pos; $pos += 256; }
    +        else { push @offsets, ($subtables-1) * 256; }
    +    }
    +    printf OUTPUT "static const unsigned short uni2cp_high[256] =\n";
    +    printf OUTPUT "{\n%s\n};\n\n", DUMP_ARRAY( "0x%04x", 0, @offsets );
    +
    +    # output the code page descriptor
    +
    +    printf OUTPUT "const struct dbcs_table cptable_%03d =\n{\n", $codepage;
    +    printf OUTPUT "    { %d, 2, 0x%04x, 0x%04x, \"%s\" },\n",
    +                  $codepage, $DEF_CHAR, $DEF_CHAR, $name;
    +    printf OUTPUT "    cp2uni,\n";
    +    printf OUTPUT "    cp2uni_leadbytes,\n";
    +    printf OUTPUT "    uni2cp_low,\n";
    +    printf OUTPUT "    uni2cp_high,\n";
    +    DUMP_LB_RANGES();
    +    printf OUTPUT "};\n";
    +}
    +
    +
    +################################################################
    +# dump the list of defined lead byte ranges
    +sub DUMP_LB_RANGES
    +{
    +    my @list = ();
    +    my $i = 0;
    +    foreach $i (@lead_bytes) { $list[$i] = 1; }
    +    my $on = 0;
    +    printf OUTPUT "    { ";
    +    for ($i = 0; $i < 256; $i++)
    +    {
    +        if ($on)
    +        {
    +            if (!defined $list[$i]) { printf OUTPUT "0x%02x, ", $i-1; $on = 0; }
    +        }
    +        else
    +        {
    +            if ($list[$i]) { printf OUTPUT "0x%02x, ", $i; $on = 1; }
    +        }
    +    }
    +    if ($on) { printf OUTPUT "0xff, "; }
    +    printf OUTPUT "0x00, 0x00 }\n";
    +}
    +
    +
    +################################################################
    +# dump the case mapping tables
    +sub DUMP_CASE_MAPPINGS
    +{
    +    open OUTPUT,">casemap.c" or die "Cannot create casemap.c";
    +    printf "Building casemap.c\n";
    +    printf OUTPUT "/* Unicode case mappings */\n";
    +    printf OUTPUT "/* Automatically generated; DO NOT EDIT!! */\n\n";
    +    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    +
    +    DUMP_CASE_TABLE( "wine_casemap_lower", @tolower_table );
    +    DUMP_CASE_TABLE( "wine_casemap_upper", @toupper_table );
    +    DUMP_CASE_TABLE( "wine_digitmap",  @digitmap_table );
    +    DUMP_CASE_TABLE( "wine_compatmap", @compatmap_table );
    +    close OUTPUT;
    +}
    +
    +
    +################################################################
    +# dump a case mapping table
    +sub DUMP_CASE_TABLE
    +{
    +    my ($name,@table) = @_;
    +
    +    # count the number of sub tables that contain something
    +    # also compute the low and upper populated bounds
    +
    +    my @lowerbounds = ( 0, 0 );
    +    my @upperbounds = ( 0, 255 );
    +    my $index = 0;
    +    my @filled = ();
    +    for ($i = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $table[$i];
    +        if (!defined $filled[$i >> 8])
    +        {
    +          $lowerbounds[$index] = $i & 0xff;
    +          $upperbounds[$index] = 0xff - $lowerbounds[$index];
    +          $filled[$i >> 8] = $index * 256 + 512;
    +          $index++;
    +        }
    +        else
    +        {
    +          $upperbounds[$index-1] = 0xff - ($i & 0xff);
    +        }
    +        $table[$i] = ($table[$i] - $i) & 0xffff;
    +    }
    +
    +    # Collapse blocks upwards if possible
    +    my $removed = 0;
    +    $index = 0;
    +    for ($i = 0; $i < 256; $i++)
    +    {
    +        next unless defined $filled[$i];
    +        if ($upperbounds[$index - 1] > $lowerbounds[$index])
    +        {
    +           $removed = $removed + $lowerbounds[$index];
    +        }
    +        else
    +        {
    +           $removed = $removed + $upperbounds[$index - 1];
    +           $lowerbounds[$index] = $upperbounds[$index - 1];
    +        }
    +        $filled[$i] = $filled[$i] - $removed;
    +        $index++;
    +    }
    +
    +    # dump the table
    +
    +    printf OUTPUT "const WCHAR %s[%d] =\n", $name, $index * 256 + 512 - $removed;
    +    printf OUTPUT "{\n    /* index */\n";
    +    printf OUTPUT "%s,\n", DUMP_ARRAY( "0x%04x", 256, @filled );
    +    printf OUTPUT "    /* defaults */\n";
    +    printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, (0) x 256 );
    +    $index = 0;
    +    for ($i = 0; $i < 256; $i++)
    +    {
    +        next unless $filled[$i];
    +        printf OUTPUT ",\n    /* 0x%02x%02x .. 0x%02xff */\n", $i, $lowerbounds[$index], $i;
    +        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0,
    +                      @table[($i<<8) + $lowerbounds[$index] .. ($i<<8)+255] );
    +        $index++;
    +    }
    +    printf OUTPUT "\n};\n";
    +}
    +
    +
    +################################################################
    +# dump the ctype tables
    +sub DUMP_CTYPE_TABLES
    +{
    +    open OUTPUT,">wctype.c" or die "Cannot create wctype.c";
    +    printf "Building wctype.c\n";
    +    printf OUTPUT "/* Unicode ctype tables */\n";
    +    printf OUTPUT "/* Automatically generated; DO NOT EDIT!! */\n\n";
    +    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    +
    +    my $i;
    +    my @array = (0) x 256;
    +
    +    # add the direction in the high 4 bits of the category
    +    for ($i = 0; $i < 65536; $i++)
    +    {
    +        $category_table[$i] |= $direction_table[$i] << 12;
    +    }
    +
    +    # try to merge table rows
    +    for ($row = 0; $row < 256; $row++)
    +    {
    +        my $rowtxt = sprintf "%04x" x 256, @category_table[($row<<8)..($row<<8)+255];
    +        if (defined($sequences{$rowtxt}))
    +        {
    +            # reuse an existing row
    +            $array[$row] = $sequences{$rowtxt};
    +        }
    +        else
    +        {
    +            # create a new row
    +            $sequences{$rowtxt} = $array[$row] = $#array + 1;
    +            push @array, @category_table[($row<<8)..($row<<8)+255];
    +        }
    +    }
    +
    +    printf OUTPUT "const unsigned short wine_wctype_table[%d] =\n{\n", $#array+1;
    +    printf OUTPUT "    /* offsets */\n%s,\n", DUMP_ARRAY( "0x%04x", 0, @array[0..255] );
    +    printf OUTPUT "    /* values */\n%s\n};\n", DUMP_ARRAY( "0x%04x", 0, @array[256..$#array] );
    +
    +    close OUTPUT;
    +}
    +
    +
    +################################################################
    +# dump the char composition tables
    +sub DUMP_COMPOSE_TABLES
    +{
    +    open OUTPUT,">compose.c" or die "Cannot create compose.c";
    +    printf "Building compose.c\n";
    +    printf OUTPUT "/* Unicode char composition */\n";
    +    printf OUTPUT "/* Automatically generated; DO NOT EDIT!! */\n\n";
    +    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    +
    +    ######### composition table
    +
    +    my @filled = ();
    +    foreach $i (@compose_table)
    +    {
    +        my @comp = @$i;
    +        push @{$filled[$comp[1]]}, [ $comp[0], $comp[2] ];
    +    }
    +
    +    # count how many different second chars we have
    +
    +    for ($i = $count = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $filled[$i];
    +        $count++;
    +    }
    +
    +    # build the table of second chars and offsets
    +
    +    my $pos = $count + 1;
    +    for ($i = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $filled[$i];
    +        push @table, $i, $pos;
    +        $pos += @{$filled[$i]};
    +    }
    +    # terminator with last position
    +    push @table, 0, $pos;
    +    printf OUTPUT "const WCHAR unicode_compose_table[0x%x] =\n{\n", 2*$pos;
    +    printf OUTPUT "    /* second chars + offsets */\n%s", DUMP_ARRAY( "0x%04x", 0, @table );
    +
    +    # build the table of first chars and mappings
    +
    +    for ($i = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $filled[$i];
    +        my @table = ();
    +        my @list = sort { $a->[0] <=> $b->[0] } @{$filled[$i]};
    +        for ($j = 0; $j <= $#list; $j++)
    +        {
    +            push @table, $list[$j][0], $list[$j][1];
    +        }
    +        printf OUTPUT ",\n    /* 0x%04x */\n%s", $i, DUMP_ARRAY( "0x%04x", 0, @table );
    +    }
    +    printf OUTPUT "\n};\n\nconst unsigned int unicode_compose_table_size = %d;\n\n", $count;
    +
    +    ######### decomposition table
    +
    +    # first determine all the 16-char subsets that contain something
    +
    +    my @filled = (0) x 4096;
    +    my $pos = 16*2;  # for the null subset
    +    for ($i = 0; $i < 65536; $i++)
    +    {
    +        next unless defined $decomp_table[$i];
    +        $filled[$i >> 4] = $pos;
    +        $pos += 16*2;
    +        $i |= 15;
    +    }
    +    my $total = $pos;
    +
    +    # now count the 256-char subsets that contain something
    +
    +    my @filled_idx = (256) x 256;
    +    $pos = 256 + 16;
    +    for ($i = 0; $i < 4096; $i++)
    +    {
    +        next unless $filled[$i];
    +        $filled_idx[$i >> 4] = $pos;
    +        $pos += 16;
    +        $i |= 15;
    +    }
    +    my $null_offset = $pos;  # null mapping
    +    $total += $pos;
    +
    +    # add the index offsets to the subsets positions
    +
    +    for ($i = 0; $i < 4096; $i++)
    +    {
    +        next unless $filled[$i];
    +        $filled[$i] += $null_offset;
    +    }
    +
    +    # dump the main index
    +
    +    printf OUTPUT "const WCHAR unicode_decompose_table[%d] =\n", $total;
    +    printf OUTPUT "{\n    /* index */\n";
    +    printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, @filled_idx );
    +    printf OUTPUT ",\n    /* null sub-index */\n%s", DUMP_ARRAY( "0x%04x", 0, ($null_offset) x 16 );
    +
    +    # dump the second-level indexes
    +
    +    for ($i = 0; $i < 256; $i++)
    +    {
    +        next unless ($filled_idx[$i] > 256);
    +        my @table = @filled[($i<<4)..($i<<4)+15];
    +        for ($j = 0; $j < 16; $j++) { $table[$j] ||= $null_offset; }
    +        printf OUTPUT ",\n    /* sub-index %02x */\n", $i;
    +        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, @table );
    +    }
    +
    +    # dump the 16-char subsets
    +
    +    printf OUTPUT ",\n    /* null mapping */\n";
    +    printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, (0) x 32 );
    +
    +    for ($i = 0; $i < 4096; $i++)
    +    {
    +        next unless $filled[$i];
    +        my @table = (0) x 32;
    +        for ($j = 0; $j < 16; $j++)
    +        {
    +            if (defined $decomp_table[($i<<4) + $j])
    +            {
    +                $table[2 * $j] = ${$decomp_table[($i << 4) + $j]}[0];
    +                $table[2 * $j + 1] = ${$decomp_table[($i << 4) + $j]}[1];
    +            }
    +        }
    +        printf OUTPUT ",\n    /* 0x%03x0 .. 0x%03xf */\n", $i, $i;
    +        printf OUTPUT "%s", DUMP_ARRAY( "0x%04x", 0, @table );
    +    }
    +
    +    printf OUTPUT "\n};\n";
    +    close OUTPUT;
    +}
    +
    +
    +################################################################
    +# read an input file and generate the corresponding .c file
    +sub HANDLE_FILE
    +{
    +    my ($codepage,$filename,$comment) = @_;
    +
    +    # symbol codepage file is special
    +    if ($codepage == 20932) { READ_JIS0208_FILE($MAPPREFIX . $filename); }
    +    else { READ_FILE($MAPPREFIX . $filename); }
    +
    +    # hack: 0x00a5 must map to backslash in Shift-JIS
    +    if ($codepage == 932) { $uni2cp[0x00a5] = 0x5c; }
    +
    +    ADD_DEFAULT_MAPPINGS();
    +
    +    my $output = sprintf "c_%03d.c", $codepage;
    +    open OUTPUT,">$output" or die "Cannot create $output";
    +
    +    printf "Building %s from %s (%s)\n", $output, $filename, $comment;
    +
    +    # dump all tables
    +
    +    printf OUTPUT "/* code page %03d (%s) */\n", $codepage, $comment;
    +    printf OUTPUT "/* generated from %s */\n", $MAPPREFIX . $filename;
    +    printf OUTPUT "/* DO NOT EDIT!! */\n\n";
    +    printf OUTPUT "#include \"wine/unicode.h\"\n\n";
    +
    +    if ($#lead_bytes == -1) { DUMP_SBCS_TABLE( $codepage, $comment ); }
    +    else { DUMP_DBCS_TABLE( $codepage, $comment ); }
    +    close OUTPUT;
    +}
    +
    +
    +################################################################
    +# output the list of codepage tables into the cptable.c file
    +sub OUTPUT_CPTABLE
    +{
    +    @tables_decl = ();
    +
    +    foreach $file (@allfiles)
    +    {
    +        my ($codepage,$filename,$comment) = @$file;
    +        push @tables_decl, sprintf("extern union cptable cptable_%03d;\n",$codepage);
    +    }
    +
    +    push @tables_decl, sprintf("\nstatic const union cptable * const cptables[%d] =\n{\n",$#allfiles+1);
    +    foreach $file (@allfiles)
    +    {
    +        my ($codepage,$filename,$comment) = @$file;
    +        push @tables_decl, sprintf("    &cptable_%03d,\n", $codepage);
    +    }
    +    push @tables_decl, "};";
    +    REPLACE_IN_FILE( "cptable.c", @tables_decl );
    +}
    +
    +################################################################
    +# replace the contents of a file between ### cpmap ### marks
    +
    +sub REPLACE_IN_FILE
    +{
    +    my $name = shift;
    +    my @data = @_;
    +    my @lines = ();
    +    open(FILE,$name) or die "Can't open $name";
    +    while ()
    +    {
    +	push @lines, $_;
    +	last if /\#\#\# cpmap begin \#\#\#/;
    +    }
    +    push @lines, @data;
    +    while ()
    +    {
    +	if (/\#\#\# cpmap end \#\#\#/) { push @lines, "\n", $_; last; }
    +    }
    +    push @lines, ;
    +    open(FILE,">$name") or die "Can't modify $name";
    +    print FILE @lines;
    +    close(FILE);
    +}
    diff --git a/reactos/lib/unicode/cptable.c b/reactos/tools/unicode/cptable.c
    similarity index 95%
    rename from reactos/lib/unicode/cptable.c
    rename to reactos/tools/unicode/cptable.c
    index 6c1b3dfaef6..ce5d6cfb660 100644
    --- a/reactos/lib/unicode/cptable.c
    +++ b/reactos/tools/unicode/cptable.c
    @@ -1,177 +1,179 @@
    -/*
    - * Codepage tables
    - *
    - * Copyright 2000 Alexandre Julliard
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -
    -#include 
    -
    -#include "wine/unicode.h"
    -
    -/* Everything below this line is generated automatically by cpmap.pl */
    -/* ### cpmap begin ### */
    -extern union cptable cptable_037;
    -extern union cptable cptable_424;
    -extern union cptable cptable_437;
    -extern union cptable cptable_500;
    -extern union cptable cptable_737;
    -extern union cptable cptable_775;
    -extern union cptable cptable_850;
    -extern union cptable cptable_852;
    -extern union cptable cptable_855;
    -extern union cptable cptable_856;
    -extern union cptable cptable_857;
    -extern union cptable cptable_860;
    -extern union cptable cptable_861;
    -extern union cptable cptable_862;
    -extern union cptable cptable_863;
    -extern union cptable cptable_864;
    -extern union cptable cptable_865;
    -extern union cptable cptable_866;
    -extern union cptable cptable_869;
    -extern union cptable cptable_874;
    -extern union cptable cptable_875;
    -extern union cptable cptable_878;
    -extern union cptable cptable_932;
    -extern union cptable cptable_936;
    -extern union cptable cptable_949;
    -extern union cptable cptable_950;
    -extern union cptable cptable_1006;
    -extern union cptable cptable_1026;
    -extern union cptable cptable_1250;
    -extern union cptable cptable_1251;
    -extern union cptable cptable_1252;
    -extern union cptable cptable_1253;
    -extern union cptable cptable_1254;
    -extern union cptable cptable_1255;
    -extern union cptable cptable_1256;
    -extern union cptable cptable_1257;
    -extern union cptable cptable_1258;
    -extern union cptable cptable_10000;
    -extern union cptable cptable_10006;
    -extern union cptable cptable_10007;
    -extern union cptable cptable_10029;
    -extern union cptable cptable_10079;
    -extern union cptable cptable_10081;
    -extern union cptable cptable_20866;
    -extern union cptable cptable_20932;
    -extern union cptable cptable_28591;
    -extern union cptable cptable_28592;
    -extern union cptable cptable_28593;
    -extern union cptable cptable_28594;
    -extern union cptable cptable_28595;
    -extern union cptable cptable_28596;
    -extern union cptable cptable_28597;
    -extern union cptable cptable_28598;
    -extern union cptable cptable_28599;
    -extern union cptable cptable_28600;
    -extern union cptable cptable_28603;
    -extern union cptable cptable_28604;
    -extern union cptable cptable_28605;
    -extern union cptable cptable_28606;
    -
    -static const union cptable * const cptables[59] =
    -{
    -    &cptable_037,
    -    &cptable_424,
    -    &cptable_437,
    -    &cptable_500,
    -    &cptable_737,
    -    &cptable_775,
    -    &cptable_850,
    -    &cptable_852,
    -    &cptable_855,
    -    &cptable_856,
    -    &cptable_857,
    -    &cptable_860,
    -    &cptable_861,
    -    &cptable_862,
    -    &cptable_863,
    -    &cptable_864,
    -    &cptable_865,
    -    &cptable_866,
    -    &cptable_869,
    -    &cptable_874,
    -    &cptable_875,
    -    &cptable_878,
    -    &cptable_932,
    -    &cptable_936,
    -    &cptable_949,
    -    &cptable_950,
    -    &cptable_1006,
    -    &cptable_1026,
    -    &cptable_1250,
    -    &cptable_1251,
    -    &cptable_1252,
    -    &cptable_1253,
    -    &cptable_1254,
    -    &cptable_1255,
    -    &cptable_1256,
    -    &cptable_1257,
    -    &cptable_1258,
    -    &cptable_10000,
    -    &cptable_10006,
    -    &cptable_10007,
    -    &cptable_10029,
    -    &cptable_10079,
    -    &cptable_10081,
    -    &cptable_20866,
    -    &cptable_20932,
    -    &cptable_28591,
    -    &cptable_28592,
    -    &cptable_28593,
    -    &cptable_28594,
    -    &cptable_28595,
    -    &cptable_28596,
    -    &cptable_28597,
    -    &cptable_28598,
    -    &cptable_28599,
    -    &cptable_28600,
    -    &cptable_28603,
    -    &cptable_28604,
    -    &cptable_28605,
    -    &cptable_28606,
    -};
    -/* ### cpmap end ### */
    -/* Everything above this line is generated automatically by cpmap.pl */
    -
    -#define NB_CODEPAGES  (sizeof(cptables)/sizeof(cptables[0]))
    -
    -
    -static int cmp_codepage( const void *codepage, const void *entry )
    -{
    -    return (unsigned int)codepage - (*(const union cptable **)entry)->info.codepage;
    -}
    -
    -
    -/* get the table of a given code page */
    -const union cptable *wine_cp_get_table( unsigned int codepage )
    -{
    -    const union cptable **res;
    -
    -    if (!(res = bsearch( (void *)codepage, cptables, NB_CODEPAGES,
    -                         sizeof(cptables[0]), cmp_codepage ))) return NULL;
    -    return *res;
    -}
    -
    -
    -/* enum valid codepages */
    -const union cptable *wine_cp_enum_table( unsigned int index )
    -{
    -    if (index >= NB_CODEPAGES) return NULL;
    -    return cptables[index];
    -}
    +/*
    + * Codepage tables
    + *
    + * Copyright 2000 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#include "wine/unicode.h"
    +
    +/* Everything below this line is generated automatically by cpmap.pl */
    +/* ### cpmap begin ### */
    +extern union cptable cptable_037;
    +extern union cptable cptable_424;
    +extern union cptable cptable_437;
    +extern union cptable cptable_500;
    +extern union cptable cptable_737;
    +extern union cptable cptable_775;
    +extern union cptable cptable_850;
    +extern union cptable cptable_852;
    +extern union cptable cptable_855;
    +extern union cptable cptable_856;
    +extern union cptable cptable_857;
    +extern union cptable cptable_860;
    +extern union cptable cptable_861;
    +extern union cptable cptable_862;
    +extern union cptable cptable_863;
    +extern union cptable cptable_864;
    +extern union cptable cptable_865;
    +extern union cptable cptable_866;
    +extern union cptable cptable_869;
    +extern union cptable cptable_874;
    +extern union cptable cptable_875;
    +extern union cptable cptable_878;
    +extern union cptable cptable_932;
    +extern union cptable cptable_936;
    +extern union cptable cptable_949;
    +extern union cptable cptable_950;
    +extern union cptable cptable_1006;
    +extern union cptable cptable_1026;
    +extern union cptable cptable_1250;
    +extern union cptable cptable_1251;
    +extern union cptable cptable_1252;
    +extern union cptable cptable_1253;
    +extern union cptable cptable_1254;
    +extern union cptable cptable_1255;
    +extern union cptable cptable_1256;
    +extern union cptable cptable_1257;
    +extern union cptable cptable_1258;
    +extern union cptable cptable_10000;
    +extern union cptable cptable_10006;
    +extern union cptable cptable_10007;
    +extern union cptable cptable_10029;
    +extern union cptable cptable_10079;
    +extern union cptable cptable_10081;
    +extern union cptable cptable_20866;
    +extern union cptable cptable_20932;
    +extern union cptable cptable_21866;
    +extern union cptable cptable_28591;
    +extern union cptable cptable_28592;
    +extern union cptable cptable_28593;
    +extern union cptable cptable_28594;
    +extern union cptable cptable_28595;
    +extern union cptable cptable_28596;
    +extern union cptable cptable_28597;
    +extern union cptable cptable_28598;
    +extern union cptable cptable_28599;
    +extern union cptable cptable_28600;
    +extern union cptable cptable_28603;
    +extern union cptable cptable_28604;
    +extern union cptable cptable_28605;
    +extern union cptable cptable_28606;
    +
    +static const union cptable * const cptables[60] =
    +{
    +    &cptable_037,
    +    &cptable_424,
    +    &cptable_437,
    +    &cptable_500,
    +    &cptable_737,
    +    &cptable_775,
    +    &cptable_850,
    +    &cptable_852,
    +    &cptable_855,
    +    &cptable_856,
    +    &cptable_857,
    +    &cptable_860,
    +    &cptable_861,
    +    &cptable_862,
    +    &cptable_863,
    +    &cptable_864,
    +    &cptable_865,
    +    &cptable_866,
    +    &cptable_869,
    +    &cptable_874,
    +    &cptable_875,
    +    &cptable_878,
    +    &cptable_932,
    +    &cptable_936,
    +    &cptable_949,
    +    &cptable_950,
    +    &cptable_1006,
    +    &cptable_1026,
    +    &cptable_1250,
    +    &cptable_1251,
    +    &cptable_1252,
    +    &cptable_1253,
    +    &cptable_1254,
    +    &cptable_1255,
    +    &cptable_1256,
    +    &cptable_1257,
    +    &cptable_1258,
    +    &cptable_10000,
    +    &cptable_10006,
    +    &cptable_10007,
    +    &cptable_10029,
    +    &cptable_10079,
    +    &cptable_10081,
    +    &cptable_20866,
    +    &cptable_20932,
    +    &cptable_21866,
    +    &cptable_28591,
    +    &cptable_28592,
    +    &cptable_28593,
    +    &cptable_28594,
    +    &cptable_28595,
    +    &cptable_28596,
    +    &cptable_28597,
    +    &cptable_28598,
    +    &cptable_28599,
    +    &cptable_28600,
    +    &cptable_28603,
    +    &cptable_28604,
    +    &cptable_28605,
    +    &cptable_28606,
    +};
    +/* ### cpmap end ### */
    +/* Everything above this line is generated automatically by cpmap.pl */
    +
    +#define NB_CODEPAGES  (sizeof(cptables)/sizeof(cptables[0]))
    +
    +
    +static int cmp_codepage( const void *codepage, const void *entry )
    +{
    +    return (unsigned int)codepage - (*(const union cptable **)entry)->info.codepage;
    +}
    +
    +
    +/* get the table of a given code page */
    +const union cptable *wine_cp_get_table( unsigned int codepage )
    +{
    +    const union cptable **res;
    +
    +    if (!(res = bsearch( (void *)codepage, cptables, NB_CODEPAGES,
    +                         sizeof(cptables[0]), cmp_codepage ))) return NULL;
    +    return *res;
    +}
    +
    +
    +/* enum valid codepages */
    +const union cptable *wine_cp_enum_table( unsigned int index )
    +{
    +    if (index >= NB_CODEPAGES) return NULL;
    +    return cptables[index];
    +}
    diff --git a/reactos/lib/unicode/defaults b/reactos/tools/unicode/defaults
    similarity index 98%
    rename from reactos/lib/unicode/defaults
    rename to reactos/tools/unicode/defaults
    index c37643ae537..e4ed4815385 100644
    --- a/reactos/lib/unicode/defaults
    +++ b/reactos/tools/unicode/defaults
    @@ -1,202 +1,202 @@
    -# Default Unicode mappings
    -#
    -# Copyright 2000 Alexandre Julliard
    -#
    -# This library is free software; you can redistribute it and/or
    -# modify it under the terms of the GNU Lesser General Public
    -# License as published by the Free Software Foundation; either
    -# version 2.1 of the License, or (at your option) any later version.
    -#
    -# This library is distributed in the hope that it will be useful,
    -# but WITHOUT ANY WARRANTY; without even the implied warranty of
    -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -# Lesser General Public License for more details.
    -#
    -# You should have received a copy of the GNU Lesser General Public
    -# License along with this library; if not, write to the Free Software
    -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -#
    -# NOTES:
    -#
    -# This file contains default mappings for Unicode chars that aren't
    -# defined directly in the code page file. It is used by the cpmap.pl
    -# tool to build codepage tables.
    -#
    -# The first column defines equivalence sets; if any character in the set
    -# is defined in the codepage file, all others in the set will map to the
    -# same value.
    -#
    -# The second column specifies the default char to map the whole set to,
    -# if no characters in the set are defined by the codepage file.
    -#
    -# Characters that have an explicit decomposition in the UnicodeData.txt
    -# file (for instance 00c0 LATIN CAPITAL LETTER A WITH GRAVE -> 0041 0300)
    -# are handled automatically and do not have to be defined here. They can
    -# still be defined if necessary to override the unicode decomposition.
    -#
    -
    -# letters
    -
    -00a2,20a1      'c'  # CENT SIGN, COLON SIGN
    -00a3,20a4      'L'  # POUND SIGN, LIRA SIGN
    -00a5           'Y'  # YEN SIGN
    -00a6           '|'  # BROKEN BAR
    -00a9           'c'  # COPYRIGHT SIGN
    -00ae           'r'  # REGISTERED SIGN
    -00b5,03bc      'u'  # MICRO SIGN, GREEK SMALL LETTER MU
    -00c6           'A'  # LATIN CAPITAL LETTER AE
    -00d0,0110,0189 'D'  # LATIN CAPITAL LETTER D WITH STROKE/AFRICAN D/ETH
    -00d7           'x'  # MULTIPLICATION SIGN
    -00d8,2205      'O'  # LATIN CAPITAL LETTER O WITH STROKE, EMPTY SET
    -00df,03b2      none # LATIN SMALL LETTER SHARP S, GREEK SMALL LETTER BETA
    -00e6           'a'  # LATIN SMALL LETTER AE
    -00f0           'd'  # LATIN SMALL LETTER ETH
    -00f8           'o'  # LATIN SMALL LETTER O WITH STROKE
    -0111           'd'  # LATIN SMALL LETTER D WITH STROKE
    -0126           'H'  # LATIN CAPITAL LETTER H WITH STROKE
    -0127           'h'  # LATIN SMALL LETTER H WITH STROKE
    -0131           'i'  # LATIN SMALL LETTER DOTLESS I
    -0141           'L'  # LATIN CAPITAL LETTER L WITH STROKE
    -0142           'l'  # LATIN SMALL LETTER L WITH STROKE
    -0152           'O'  # LATIN CAPITAL LIGATURE OE
    -0153           'o'  # LATIN SMALL LIGATURE OE
    -0166           'T'  # LATIN CAPITAL LETTER T WITH STROKE
    -0167           't'  # LATIN SMALL LETTER T WITH STROKE
    -0180           'b'  # LATIN SMALL LETTER B WITH STROKE
    -0190           'E'  # LATIN CAPITAL LETTER OPEN E
    -0191           'F'  # LATIN CAPITAL LETTER F WITH HOOK
    -0192           'f'  # LATIN SMALL LETTER F WITH HOOK
    -0197           'I'  # LATIN CAPITAL LETTER I WITH STROKE
    -019a           'l'  # LATIN SMALL LETTER L WITH BAR
    -019f           'O'  # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
    -01ab           't'  # LATIN SMALL LETTER T WITH PALATAL HOOK
    -01ae           'T'  # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
    -01b6           'z'  # LATIN SMALL LETTER Z WITH STROKE
    -0391 	       'A'  # GREEK CAPITAL LETTER ALPHA
    -0392 	       'B'  # GREEK CAPITAL LETTER BETA
    -0395 	       'E'  # GREEK CAPITAL LETTER EPSILON
    -0396 	       'Z'  # GREEK CAPITAL LETTER ZETA
    -0397 	       'H'  # GREEK CAPITAL LETTER ETA
    -0399 	       'I'  # GREEK CAPITAL LETTER IOTA
    -039a 	       'K'  # GREEK CAPITAL LETTER KAPPA
    -039c 	       'M'  # GREEK CAPITAL LETTER MU
    -039d 	       'N'  # GREEK CAPITAL LETTER NU
    -039f 	       'O'  # GREEK CAPITAL LETTER OMICRON
    -03a1 	       'P'  # GREEK CAPITAL LETTER RHO
    -03a4 	       'T'  # GREEK CAPITAL LETTER TAU
    -03a5 	       'Y'  # GREEK CAPITAL LETTER UPSILON
    -03a7 	       'X'  # GREEK CAPITAL LETTER CHI
    -01e4 	       'G'  # LATIN CAPITAL LETTER G WITH STROKE
    -01e5 	       'g'  # LATIN SMALL LETTER G WITH STROKE
    -0261 	       'g'  # LATIN SMALL LETTER SCRIPT G
    -2118           'P'  # SCRIPT CAPITAL P
    -212e           'e'  # ESTIMATED SYMBOL
    -
    -# accents
    -
    -00a8,0308                '"'  # DIAERESIS
    -00af,02c9,0304           2014 # MACRON -> EM DASH
    -00b4,02b9,02ca,0301,2032 '''  # ACUTE ACCENT, PRIME
    -00b8,0327                ','  # CEDILLA
    -02ba,02dd,030b,2033      '"'  # DOUBLE ACUTE ACCENT, DOUBLE PRIME
    -02c4,2303                '^'  # UP ARROWHEAD
    -02c6,0302                '^'  # CIRCUMFLEX ACCENT
    -02c7,030c                'v'  # COMBINING CARON -> CARON
    -02c8                     '''  # MODIFIER LETTER VERTICAL LINE
    -02cb,0300                '`'  # GRAVE ACCENT
    -02cd,0331,0332           '_'  # MODIFIER LETTER LOW MACRON, COMBINING MACRON BELOW, COMBINING LOW LINE
    -02d8,0306                none # BREVE
    -02d9,0307                none # DOT ABOVE
    -02da,030a,2070,2218      00b0 # RING ABOVE, SUPERSCRIPT ZERO, RING OPERATOR -> DEGREE SIGN
    -02db,0328                none # OGONEK
    -02dc,0303                '~'  # SMALL TILDE
    -0305,203e                00af # OVERLINE -> MACRON
    -030e                     '"'  # COMBINING DOUBLE VERTICAL LINE ABOVE
    -0333                     '_'  # COMBINING DOUBLE LOW LINE
    -
    -# mathematical symbols
    -
    -00b1,2213 none # PLUS-MINUS SIGN, MINUS-OR-PLUS SIGN
    -2044,2215 '/'  # FRACTION/DIVISION SLASH
    -2216      '\'  # SET MINUS
    -2217      '*'  # ASTERISK OPERATOR
    -221a      'V'  # SQUARE ROOT
    -221f      'L'  # RIGHT ANGLE
    -2223      '|'  # DIVIDES
    -2229      'n'  # INTERSECTION
    -2236      ':'  # RATIO
    -2248      02DC # ALMOST EQUAL TO -> SMALL TILDE
    -2261,2263 '='  # IDENTICAL TO, STRICTLY EQUIVALENT TO
    -226a      00ab # MUCH LESS-THAN -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
    -226b      00bb # MUCH GREATER-THAN -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    -22c5      00b7 # DOT OPERATOR -> MIDDLE DOT
    -
    -# misc symbols
    -
    -00a1                '!'  # INVERTED EXCLAMATION MARK
    -00ab,300a           '<'  # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, LEFT DOUBLE ANGLE BRACKET
    -00ad           	    '-'  # SOFT HYPHEN
    -00bb,300b           '>'  # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, RIGHT DOUBLE ANGLE BRACKET
    -01c0                2502 # LATIN LETTER DENTAL CLICK -> BOX DRAWINGS LIGHT VERTICAL
    -01c3                '!'  # LATIN LETTER RETROFLEX CLICK
    -02bb                2018 # MODIFIER LETTER TURNED COMMA -> LEFT SINGLE QUOTATION MARK
    -02bc,2019           '''  # RIGHT SINGLE QUOTATION MARK
    -2010,2011,2212 	    '-'  # HYPHEN, MINUS SIGN
    -2013,2014,2015 	    '-'  # EN DASH, EM DASH, HORIZONTAL BAR, MINUS SIGN
    -2018,201b,2035      '`'  # LEFT SINGLE QUOTATION MARK, SINGLE HIGH-REVERSED-9 QUOTATION MARK, REVERSED PRIME
    -201a                ','  # SINGLE LOW-9 QUOTATION MARK
    -201c,301d           '"'  # LEFT DOUBLE QUOTATION MARK, REVERSED DOUBLE PRIME QUOTATION MARK
    -201d,301e           '"'  # RIGHT DOUBLE QUOTATION MARK, DOUBLE PRIME QUOTATION MARK
    -201e,301f           ','  # LOW DOUBLE PRIME QUOTATION MARK, DOUBLE LOW-9 QUOTATION MARK
    -2022,2219      	    none # BULLET, BULLET OPERATOR
    -2039,3008      	    '<'  # SINGLE LEFT-POINTING ANGLE QUOTATION MARK, LEFT ANGLE BRACKET
    -203a,3009      	    '>'  # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK, RIGHT ANGLE BRACKET
    -203c                '!'  # DOUBLE EXCLAMATION MARK
    -2190 		    2039 # LEFTWARDS ARROW -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
    -2191 		    02c6 # UPWARDS ARROW -> MODIFIER LETTER CIRCUMFLEX ACCENT
    -2192 		    203a # RIGHTWARDS ARROW -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
    -2193 		    02c7 # DOWNWARDS ARROW -> CARON
    -2194                '-'  # LEFT RIGHT ARROW
    -2195                '|'  # UP DOWN ARROW
    -223c           	    '~'  # TILDE
    -301a                '['  # LEFT WHITE SQUARE BRACKET
    -301b                ']'  # RIGHT WHITE SQUARE BRACKET
    -fe49,fe4a,fe4b,fe4c 203e # DOUBLE WAVY OVERLINE -> OVERLINE
    -fe4d,fe4e,fe4f      '_'  # DASHED/CENTRELINE/WAVY LOW LINE
    -
    -# box drawing chars
    -
    -2500,2501 	    '-'  # BOX DRAWINGS LIGHT/HEAVY HORIZONTAL
    -2502,2503 	    '|'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL
    -2504,2505 	    '-'  # BOX DRAWINGS LIGHT/HEAVY TRIPLE DASH HORIZONTAL
    -2506,2507 	    00a6 # BOX DRAWINGS LIGHT/HEAVY TRIPLE DASH VERTICAL -> BROKEN BAR
    -2508,2509 	    '-'  # BOX DRAWINGS LIGHT/HEAVY QUADRUPLE DASH HORIZONTAL
    -250a,250b 	    00a6 # BOX DRAWINGS LIGHT/HEAVY QUADRUPLE DASH VERTICAL -> BROKEN BAR
    -250c,250d,250e,250f '+'  # BOX DRAWINGS LIGHT/HEAVY DOWN AND RIGHT
    -2510,2511,2512,2513 00ac # BOX DRAWINGS LIGHT/HEAVY DOWN AND LEFT -> NOT SIGN
    -2514,2515,2516,2517 'L'  # BOX DRAWINGS LIGHT/HEAVY UP AND RIGHT
    -2518,2519,251a,251b '+'  # BOX DRAWINGS LIGHT/HEAVY UP AND LEFT
    -251c,251d,251e,251f,2520,2521,2522,2523 '+'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND RIGHT
    -2524,2525,2526,2527,2528,2529,252a,252b '+'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND LEFT
    -252c,252d,252e,252f,2530,2531,2532,2533 'T'  # BOX DRAWINGS LIGHT/HEAVY DOWN AND HORIZONTAL
    -2534,2535,2536,2537,2538,2539,253a,253b '+'  # BOX DRAWINGS LIGHT/HEAVY UP AND HORIZONTAL
    -253c,253d,253e,253f,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,254a,254b '+'   # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND HORIZONTAL
    -254c,254d      	    '-'  # BOX DRAWINGS LIGHT/HEAVY DOUBLE DASH HORIZONTAL
    -254e,254f      	    00a6 # BOX DRAWINGS LIGHT/HEAVY DOUBLE DASH VERTICAL -> BROKEN BAR
    -2550           	    '='  # BOX DRAWINGS DOUBLE HORIZONTAL
    -2551           	    '|'  # BOX DRAWINGS DOUBLE VERTICAL
    -2552,2553,2554 	    '+'  # BOX DRAWINGS DOWN AND RIGHT
    -2555,2556,2557 	    00ac # BOX DRAWINGS DOWN AND LEFT -> NOT SIGN
    -2558,2559,255a 	    'L'  # BOX DRAWINGS UP AND RIGHT
    -255b,255c,255d 	    '+'  # BOX DRAWINGS UP AND LEFT
    -255e,255f,2560 	    '+'  # BOX DRAWINGS VERTICAL AND RIGHT
    -2561,2562,2563 	    '+'  # BOX DRAWINGS VERTICAL AND LEFT
    -2564,2565,2566 	    'T'  # BOX DRAWINGS DOWN AND HORIZONTAL
    -2567,2568,2569 	    '+'  # BOX DRAWINGS UP AND HORIZONTAL
    -256a,256b,256c 	    '+'  # BOX DRAWINGS VERTICAL AND HORIZONTAL
    -2571           	    '/'  # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
    -2572           	    '\'  # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
    -2573           	    'X'  # BOX DRAWINGS LIGHT DIAGONAL CROSS
    -2574,2576,2578,257a,257c,257e '-'  # BOX DRAWINGS LIGHT/HEAVY LEFT/RIGHT
    -2575,2577,2579,257b,257d,257f '|'  # BOX DRAWINGS LIGHT/HEAVY UP/DOWN
    -25cb,25ef           'O'  # WHITE/LARGE CIRCLE
    +# Default Unicode mappings
    +#
    +# Copyright 2000 Alexandre Julliard
    +#
    +# This library is free software; you can redistribute it and/or
    +# modify it under the terms of the GNU Lesser General Public
    +# License as published by the Free Software Foundation; either
    +# version 2.1 of the License, or (at your option) any later version.
    +#
    +# This library is distributed in the hope that it will be useful,
    +# but WITHOUT ANY WARRANTY; without even the implied warranty of
    +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +# Lesser General Public License for more details.
    +#
    +# You should have received a copy of the GNU Lesser General Public
    +# License along with this library; if not, write to the Free Software
    +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    +#
    +# NOTES:
    +#
    +# This file contains default mappings for Unicode chars that aren't
    +# defined directly in the code page file. It is used by the cpmap.pl
    +# tool to build codepage tables.
    +#
    +# The first column defines equivalence sets; if any character in the set
    +# is defined in the codepage file, all others in the set will map to the
    +# same value.
    +#
    +# The second column specifies the default char to map the whole set to,
    +# if no characters in the set are defined by the codepage file.
    +#
    +# Characters that have an explicit decomposition in the UnicodeData.txt
    +# file (for instance 00c0 LATIN CAPITAL LETTER A WITH GRAVE -> 0041 0300)
    +# are handled automatically and do not have to be defined here. They can
    +# still be defined if necessary to override the unicode decomposition.
    +#
    +
    +# letters
    +
    +00a2,20a1      'c'  # CENT SIGN, COLON SIGN
    +00a3,20a4      'L'  # POUND SIGN, LIRA SIGN
    +00a5           'Y'  # YEN SIGN
    +00a6           '|'  # BROKEN BAR
    +00a9           'c'  # COPYRIGHT SIGN
    +00ae           'r'  # REGISTERED SIGN
    +00b5,03bc      'u'  # MICRO SIGN, GREEK SMALL LETTER MU
    +00c6           'A'  # LATIN CAPITAL LETTER AE
    +00d0,0110,0189 'D'  # LATIN CAPITAL LETTER D WITH STROKE/AFRICAN D/ETH
    +00d7           'x'  # MULTIPLICATION SIGN
    +00d8,2205      'O'  # LATIN CAPITAL LETTER O WITH STROKE, EMPTY SET
    +00df,03b2      none # LATIN SMALL LETTER SHARP S, GREEK SMALL LETTER BETA
    +00e6           'a'  # LATIN SMALL LETTER AE
    +00f0           'd'  # LATIN SMALL LETTER ETH
    +00f8           'o'  # LATIN SMALL LETTER O WITH STROKE
    +0111           'd'  # LATIN SMALL LETTER D WITH STROKE
    +0126           'H'  # LATIN CAPITAL LETTER H WITH STROKE
    +0127           'h'  # LATIN SMALL LETTER H WITH STROKE
    +0131           'i'  # LATIN SMALL LETTER DOTLESS I
    +0141           'L'  # LATIN CAPITAL LETTER L WITH STROKE
    +0142           'l'  # LATIN SMALL LETTER L WITH STROKE
    +0152           'O'  # LATIN CAPITAL LIGATURE OE
    +0153           'o'  # LATIN SMALL LIGATURE OE
    +0166           'T'  # LATIN CAPITAL LETTER T WITH STROKE
    +0167           't'  # LATIN SMALL LETTER T WITH STROKE
    +0180           'b'  # LATIN SMALL LETTER B WITH STROKE
    +0190           'E'  # LATIN CAPITAL LETTER OPEN E
    +0191           'F'  # LATIN CAPITAL LETTER F WITH HOOK
    +0192           'f'  # LATIN SMALL LETTER F WITH HOOK
    +0197           'I'  # LATIN CAPITAL LETTER I WITH STROKE
    +019a           'l'  # LATIN SMALL LETTER L WITH BAR
    +019f           'O'  # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
    +01ab           't'  # LATIN SMALL LETTER T WITH PALATAL HOOK
    +01ae           'T'  # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
    +01b6           'z'  # LATIN SMALL LETTER Z WITH STROKE
    +0391 	       'A'  # GREEK CAPITAL LETTER ALPHA
    +0392 	       'B'  # GREEK CAPITAL LETTER BETA
    +0395 	       'E'  # GREEK CAPITAL LETTER EPSILON
    +0396 	       'Z'  # GREEK CAPITAL LETTER ZETA
    +0397 	       'H'  # GREEK CAPITAL LETTER ETA
    +0399 	       'I'  # GREEK CAPITAL LETTER IOTA
    +039a 	       'K'  # GREEK CAPITAL LETTER KAPPA
    +039c 	       'M'  # GREEK CAPITAL LETTER MU
    +039d 	       'N'  # GREEK CAPITAL LETTER NU
    +039f 	       'O'  # GREEK CAPITAL LETTER OMICRON
    +03a1 	       'P'  # GREEK CAPITAL LETTER RHO
    +03a4 	       'T'  # GREEK CAPITAL LETTER TAU
    +03a5 	       'Y'  # GREEK CAPITAL LETTER UPSILON
    +03a7 	       'X'  # GREEK CAPITAL LETTER CHI
    +01e4 	       'G'  # LATIN CAPITAL LETTER G WITH STROKE
    +01e5 	       'g'  # LATIN SMALL LETTER G WITH STROKE
    +0261 	       'g'  # LATIN SMALL LETTER SCRIPT G
    +2118           'P'  # SCRIPT CAPITAL P
    +212e           'e'  # ESTIMATED SYMBOL
    +
    +# accents
    +
    +00a8,0308                '"'  # DIAERESIS
    +00af,02c9,0304           2014 # MACRON -> EM DASH
    +00b4,02b9,02ca,0301,2032 '''  # ACUTE ACCENT, PRIME
    +00b8,0327                ','  # CEDILLA
    +02ba,02dd,030b,2033      '"'  # DOUBLE ACUTE ACCENT, DOUBLE PRIME
    +02c4,2303                '^'  # UP ARROWHEAD
    +02c6,0302                '^'  # CIRCUMFLEX ACCENT
    +02c7,030c                'v'  # COMBINING CARON -> CARON
    +02c8                     '''  # MODIFIER LETTER VERTICAL LINE
    +02cb,0300                '`'  # GRAVE ACCENT
    +02cd,0331,0332           '_'  # MODIFIER LETTER LOW MACRON, COMBINING MACRON BELOW, COMBINING LOW LINE
    +02d8,0306                none # BREVE
    +02d9,0307                none # DOT ABOVE
    +02da,030a,2070,2218      00b0 # RING ABOVE, SUPERSCRIPT ZERO, RING OPERATOR -> DEGREE SIGN
    +02db,0328                none # OGONEK
    +02dc,0303                '~'  # SMALL TILDE
    +0305,203e                00af # OVERLINE -> MACRON
    +030e                     '"'  # COMBINING DOUBLE VERTICAL LINE ABOVE
    +0333                     '_'  # COMBINING DOUBLE LOW LINE
    +
    +# mathematical symbols
    +
    +00b1,2213 none # PLUS-MINUS SIGN, MINUS-OR-PLUS SIGN
    +2044,2215 '/'  # FRACTION/DIVISION SLASH
    +2216      '\'  # SET MINUS
    +2217      '*'  # ASTERISK OPERATOR
    +221a      'V'  # SQUARE ROOT
    +221f      'L'  # RIGHT ANGLE
    +2223      '|'  # DIVIDES
    +2229      'n'  # INTERSECTION
    +2236      ':'  # RATIO
    +2248      02DC # ALMOST EQUAL TO -> SMALL TILDE
    +2261,2263 '='  # IDENTICAL TO, STRICTLY EQUIVALENT TO
    +226a      00ab # MUCH LESS-THAN -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
    +226b      00bb # MUCH GREATER-THAN -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    +22c5      00b7 # DOT OPERATOR -> MIDDLE DOT
    +
    +# misc symbols
    +
    +00a1                '!'  # INVERTED EXCLAMATION MARK
    +00ab,300a           '<'  # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, LEFT DOUBLE ANGLE BRACKET
    +00ad           	    '-'  # SOFT HYPHEN
    +00bb,300b           '>'  # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, RIGHT DOUBLE ANGLE BRACKET
    +01c0                2502 # LATIN LETTER DENTAL CLICK -> BOX DRAWINGS LIGHT VERTICAL
    +01c3                '!'  # LATIN LETTER RETROFLEX CLICK
    +02bb                2018 # MODIFIER LETTER TURNED COMMA -> LEFT SINGLE QUOTATION MARK
    +02bc,2019           '''  # RIGHT SINGLE QUOTATION MARK
    +2010,2011,2212 	    '-'  # HYPHEN, MINUS SIGN
    +2013,2014,2015 	    '-'  # EN DASH, EM DASH, HORIZONTAL BAR, MINUS SIGN
    +2018,201b,2035      '`'  # LEFT SINGLE QUOTATION MARK, SINGLE HIGH-REVERSED-9 QUOTATION MARK, REVERSED PRIME
    +201a                ','  # SINGLE LOW-9 QUOTATION MARK
    +201c,301d           '"'  # LEFT DOUBLE QUOTATION MARK, REVERSED DOUBLE PRIME QUOTATION MARK
    +201d,301e           '"'  # RIGHT DOUBLE QUOTATION MARK, DOUBLE PRIME QUOTATION MARK
    +201e,301f           ','  # LOW DOUBLE PRIME QUOTATION MARK, DOUBLE LOW-9 QUOTATION MARK
    +2022,2219      	    none # BULLET, BULLET OPERATOR
    +2039,3008      	    '<'  # SINGLE LEFT-POINTING ANGLE QUOTATION MARK, LEFT ANGLE BRACKET
    +203a,3009      	    '>'  # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK, RIGHT ANGLE BRACKET
    +203c                '!'  # DOUBLE EXCLAMATION MARK
    +2190 		    2039 # LEFTWARDS ARROW -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
    +2191 		    02c6 # UPWARDS ARROW -> MODIFIER LETTER CIRCUMFLEX ACCENT
    +2192 		    203a # RIGHTWARDS ARROW -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
    +2193 		    02c7 # DOWNWARDS ARROW -> CARON
    +2194                '-'  # LEFT RIGHT ARROW
    +2195                '|'  # UP DOWN ARROW
    +223c           	    '~'  # TILDE
    +301a                '['  # LEFT WHITE SQUARE BRACKET
    +301b                ']'  # RIGHT WHITE SQUARE BRACKET
    +fe49,fe4a,fe4b,fe4c 203e # DOUBLE WAVY OVERLINE -> OVERLINE
    +fe4d,fe4e,fe4f      '_'  # DASHED/CENTRELINE/WAVY LOW LINE
    +
    +# box drawing chars
    +
    +2500,2501 	    '-'  # BOX DRAWINGS LIGHT/HEAVY HORIZONTAL
    +2502,2503 	    '|'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL
    +2504,2505 	    '-'  # BOX DRAWINGS LIGHT/HEAVY TRIPLE DASH HORIZONTAL
    +2506,2507 	    00a6 # BOX DRAWINGS LIGHT/HEAVY TRIPLE DASH VERTICAL -> BROKEN BAR
    +2508,2509 	    '-'  # BOX DRAWINGS LIGHT/HEAVY QUADRUPLE DASH HORIZONTAL
    +250a,250b 	    00a6 # BOX DRAWINGS LIGHT/HEAVY QUADRUPLE DASH VERTICAL -> BROKEN BAR
    +250c,250d,250e,250f '+'  # BOX DRAWINGS LIGHT/HEAVY DOWN AND RIGHT
    +2510,2511,2512,2513 00ac # BOX DRAWINGS LIGHT/HEAVY DOWN AND LEFT -> NOT SIGN
    +2514,2515,2516,2517 'L'  # BOX DRAWINGS LIGHT/HEAVY UP AND RIGHT
    +2518,2519,251a,251b '+'  # BOX DRAWINGS LIGHT/HEAVY UP AND LEFT
    +251c,251d,251e,251f,2520,2521,2522,2523 '+'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND RIGHT
    +2524,2525,2526,2527,2528,2529,252a,252b '+'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND LEFT
    +252c,252d,252e,252f,2530,2531,2532,2533 'T'  # BOX DRAWINGS LIGHT/HEAVY DOWN AND HORIZONTAL
    +2534,2535,2536,2537,2538,2539,253a,253b '+'  # BOX DRAWINGS LIGHT/HEAVY UP AND HORIZONTAL
    +253c,253d,253e,253f,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,254a,254b '+'   # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND HORIZONTAL
    +254c,254d      	    '-'  # BOX DRAWINGS LIGHT/HEAVY DOUBLE DASH HORIZONTAL
    +254e,254f      	    00a6 # BOX DRAWINGS LIGHT/HEAVY DOUBLE DASH VERTICAL -> BROKEN BAR
    +2550           	    '='  # BOX DRAWINGS DOUBLE HORIZONTAL
    +2551           	    '|'  # BOX DRAWINGS DOUBLE VERTICAL
    +2552,2553,2554 	    '+'  # BOX DRAWINGS DOWN AND RIGHT
    +2555,2556,2557 	    00ac # BOX DRAWINGS DOWN AND LEFT -> NOT SIGN
    +2558,2559,255a 	    'L'  # BOX DRAWINGS UP AND RIGHT
    +255b,255c,255d 	    '+'  # BOX DRAWINGS UP AND LEFT
    +255e,255f,2560 	    '+'  # BOX DRAWINGS VERTICAL AND RIGHT
    +2561,2562,2563 	    '+'  # BOX DRAWINGS VERTICAL AND LEFT
    +2564,2565,2566 	    'T'  # BOX DRAWINGS DOWN AND HORIZONTAL
    +2567,2568,2569 	    '+'  # BOX DRAWINGS UP AND HORIZONTAL
    +256a,256b,256c 	    '+'  # BOX DRAWINGS VERTICAL AND HORIZONTAL
    +2571           	    '/'  # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
    +2572           	    '\'  # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
    +2573           	    'X'  # BOX DRAWINGS LIGHT DIAGONAL CROSS
    +2574,2576,2578,257a,257c,257e '-'  # BOX DRAWINGS LIGHT/HEAVY LEFT/RIGHT
    +2575,2577,2579,257b,257d,257f '|'  # BOX DRAWINGS LIGHT/HEAVY UP/DOWN
    +25cb,25ef           'O'  # WHITE/LARGE CIRCLE
    diff --git a/reactos/lib/unicode/fold.c b/reactos/tools/unicode/fold.c
    similarity index 96%
    rename from reactos/lib/unicode/fold.c
    rename to reactos/tools/unicode/fold.c
    index e9839aa4549..7152de3e73e 100644
    --- a/reactos/lib/unicode/fold.c
    +++ b/reactos/tools/unicode/fold.c
    @@ -1,198 +1,198 @@
    -/*
    - * String folding
    - *
    - * Copyright 2003 Jon Griffiths
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -
    -#include "wine/unicode.h"
    -
    -static inline WCHAR to_unicode_digit( WCHAR ch )
    -{
    -    extern const WCHAR wine_digitmap[];
    -    return ch + wine_digitmap[wine_digitmap[ch >> 8] + (ch & 0xff)];
    -}
    -
    -static inline WCHAR to_unicode_native( WCHAR ch )
    -{
    -    extern const WCHAR wine_compatmap[];
    -    return ch + wine_compatmap[wine_compatmap[ch >> 8] + (ch & 0xff)];
    -}
    -
    -static const WCHAR wine_ligatures[] =
    -{
    -    0x00c6, 0x00de, 0x00df, 0x00e6, 0x00fe, 0x0132, 0x0133, 0x0152,
    -    0x0153, 0x01c4, 0x01c5, 0x01c6, 0x01c7, 0x01c8, 0x01c9, 0x01ca,
    -    0x01cb, 0x01cc, 0x01e2, 0x01e3, 0x01f1, 0x01f2, 0x01f3, 0x01fc,
    -    0x01fd, 0x05f0, 0x05f1, 0x05f2, 0xfb00, 0xfb01, 0xfb02, 0xfb03,
    -    0xfb04, 0xfb05, 0xfb06
    -};
    -
    -/* Unicode expanded ligatures */
    -static const WCHAR wine_expanded_ligatures[][4] =
    -{
    -    { 'A','E','\0',1 },
    -    { 'T','H','\0',1 },
    -    { 's','s','\0',1 },
    -    { 'a','e','\0',1 },
    -    { 't','h','\0',1 },
    -    { 'I','J','\0',1 },
    -    { 'i','j','\0',1 },
    -    { 'O','E','\0',1 },
    -    { 'o','e','\0',1 },
    -    { 'D',0x017d,'\0',1 },
    -    { 'D',0x017e,'\0',1 },
    -    { 'd',0x017e,'\0',1 },
    -    { 'L','J','\0',1 },
    -    { 'L','j','\0',1 },
    -    { 'l','j','\0',1 },
    -    { 'N','J','\0',1 },
    -    { 'N','j','\0',1 },
    -    { 'n','j','\0',1 },
    -    { 0x0100,0x0112,'\0',1 },
    -    { 0x0101,0x0113,'\0',1 },
    -    { 'D','Z','\0',1 },
    -    { 'D','z','\0',1 },
    -    { 'd','z','\0',1 },
    -    { 0x00c1,0x00c9,'\0',1 },
    -    { 0x00e1,0x00e9,'\0',1 },
    -    { 0x05d5,0x05d5,'\0',1 },
    -    { 0x05d5,0x05d9,'\0',1 },
    -    { 0x05d9,0x05d9,'\0',1 },
    -    { 'f','f','\0',1 },
    -    { 'f','i','\0',1 },
    -    { 'f','l','\0',1 },
    -    { 'f','f','i',2 },
    -    { 'f','f','l',2 },
    -    { 0x017f,'t','\0',1 },
    -    { 's','t','\0',1 }
    -};
    -
    -static inline int get_ligature_len( WCHAR wc )
    -{
    -    int low = 0, high = sizeof(wine_ligatures)/sizeof(WCHAR) -1;
    -    while (low <= high)
    -    {
    -        int pos = (low + high) / 2;
    -        if (wine_ligatures[pos] < wc)
    -            low = pos + 1;
    -        else if (wine_ligatures[pos] > wc)
    -            high = pos - 1;
    -        else
    -            return wine_expanded_ligatures[pos][3];
    -    }
    -    return 0;
    -}
    -
    -static inline const WCHAR* get_ligature( WCHAR wc )
    -{
    -    static const WCHAR empty_ligature[] = { '\0','\0','\0', 0 };
    -    int low = 0, high = sizeof(wine_ligatures)/sizeof(WCHAR) -1;
    -    while (low <= high)
    -    {
    -        int pos = (low + high) / 2;
    -        if (wine_ligatures[pos] < wc)
    -            low = pos + 1;
    -        else if (wine_ligatures[pos] > wc)
    -            high = pos - 1;
    -        else
    -            return wine_expanded_ligatures[pos];
    -    }
    -    return empty_ligature;
    -}
    -
    -/* fold a unicode string */
    -int wine_fold_string( int flags, const WCHAR *src, int srclen, WCHAR *dst, int dstlen )
    -{
    -    WCHAR *dstbase = dst;
    -    const WCHAR *expand;
    -    int i;
    -
    -    if (srclen == -1)
    -        srclen = strlenW(src) + 1; /* Include terminating NUL in count */
    -
    -    if (!dstlen)
    -    {
    -        /* Calculate the required size for dst */
    -        dstlen = srclen;
    -
    -        if (flags & MAP_EXPAND_LIGATURES)
    -        {
    -            while (srclen--)
    -            {
    -                dstlen += get_ligature_len(*src);
    -                src++;
    -            }
    -        }
    -        else if (flags & MAP_COMPOSITE)
    -        {
    -            /* FIXME */
    -        }
    -        else if (flags & MAP_PRECOMPOSED)
    -        {
    -            /* FIXME */
    -        }
    -        return dstlen;
    -    }
    -
    -    if (srclen > dstlen)
    -        return 0;
    -
    -    dstlen -= srclen;
    -
    -    /* Actually perform the mapping(s) specified */
    -    for (i = 0; i < srclen; i++)
    -    {
    -        WCHAR ch = *src;
    -
    -        if (flags & MAP_EXPAND_LIGATURES)
    -        {
    -            expand = get_ligature(ch);
    -            if (expand[0])
    -            {
    -                if (!dstlen--)
    -                    return 0;
    -                dst[0] = expand[0];
    -                if (expand[2])
    -                {
    -                    if (!dstlen--)
    -                        return 0;
    -                    *++dst = expand[1];
    -                    ch = expand[2];
    -                }
    -                else
    -                    ch = expand[1];
    -                dst++;
    -            }
    -        }
    -        else if (flags & MAP_COMPOSITE)
    -        {
    -            /* FIXME */
    -        }
    -        else if (flags & MAP_PRECOMPOSED)
    -        {
    -            /* FIXME */
    -        }
    -        if (flags & MAP_FOLDDIGITS)
    -            ch = to_unicode_digit(ch);
    -        if (flags & MAP_FOLDCZONE)
    -            ch = to_unicode_native(ch);
    -
    -        *dst++ = ch;
    -        src++;
    -    }
    -    return dst - dstbase;
    -}
    +/*
    + * String folding
    + *
    + * Copyright 2003 Jon Griffiths
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "wine/unicode.h"
    +
    +static inline WCHAR to_unicode_digit( WCHAR ch )
    +{
    +    extern const WCHAR wine_digitmap[];
    +    return ch + wine_digitmap[wine_digitmap[ch >> 8] + (ch & 0xff)];
    +}
    +
    +static inline WCHAR to_unicode_native( WCHAR ch )
    +{
    +    extern const WCHAR wine_compatmap[];
    +    return ch + wine_compatmap[wine_compatmap[ch >> 8] + (ch & 0xff)];
    +}
    +
    +static const WCHAR wine_ligatures[] =
    +{
    +    0x00c6, 0x00de, 0x00df, 0x00e6, 0x00fe, 0x0132, 0x0133, 0x0152,
    +    0x0153, 0x01c4, 0x01c5, 0x01c6, 0x01c7, 0x01c8, 0x01c9, 0x01ca,
    +    0x01cb, 0x01cc, 0x01e2, 0x01e3, 0x01f1, 0x01f2, 0x01f3, 0x01fc,
    +    0x01fd, 0x05f0, 0x05f1, 0x05f2, 0xfb00, 0xfb01, 0xfb02, 0xfb03,
    +    0xfb04, 0xfb05, 0xfb06
    +};
    +
    +/* Unicode expanded ligatures */
    +static const WCHAR wine_expanded_ligatures[][4] =
    +{
    +    { 'A','E','\0',1 },
    +    { 'T','H','\0',1 },
    +    { 's','s','\0',1 },
    +    { 'a','e','\0',1 },
    +    { 't','h','\0',1 },
    +    { 'I','J','\0',1 },
    +    { 'i','j','\0',1 },
    +    { 'O','E','\0',1 },
    +    { 'o','e','\0',1 },
    +    { 'D',0x017d,'\0',1 },
    +    { 'D',0x017e,'\0',1 },
    +    { 'd',0x017e,'\0',1 },
    +    { 'L','J','\0',1 },
    +    { 'L','j','\0',1 },
    +    { 'l','j','\0',1 },
    +    { 'N','J','\0',1 },
    +    { 'N','j','\0',1 },
    +    { 'n','j','\0',1 },
    +    { 0x0100,0x0112,'\0',1 },
    +    { 0x0101,0x0113,'\0',1 },
    +    { 'D','Z','\0',1 },
    +    { 'D','z','\0',1 },
    +    { 'd','z','\0',1 },
    +    { 0x00c1,0x00c9,'\0',1 },
    +    { 0x00e1,0x00e9,'\0',1 },
    +    { 0x05d5,0x05d5,'\0',1 },
    +    { 0x05d5,0x05d9,'\0',1 },
    +    { 0x05d9,0x05d9,'\0',1 },
    +    { 'f','f','\0',1 },
    +    { 'f','i','\0',1 },
    +    { 'f','l','\0',1 },
    +    { 'f','f','i',2 },
    +    { 'f','f','l',2 },
    +    { 0x017f,'t','\0',1 },
    +    { 's','t','\0',1 }
    +};
    +
    +static inline int get_ligature_len( WCHAR wc )
    +{
    +    int low = 0, high = sizeof(wine_ligatures)/sizeof(WCHAR) -1;
    +    while (low <= high)
    +    {
    +        int pos = (low + high) / 2;
    +        if (wine_ligatures[pos] < wc)
    +            low = pos + 1;
    +        else if (wine_ligatures[pos] > wc)
    +            high = pos - 1;
    +        else
    +            return wine_expanded_ligatures[pos][3];
    +    }
    +    return 0;
    +}
    +
    +static inline const WCHAR* get_ligature( WCHAR wc )
    +{
    +    static const WCHAR empty_ligature[] = { '\0','\0','\0', 0 };
    +    int low = 0, high = sizeof(wine_ligatures)/sizeof(WCHAR) -1;
    +    while (low <= high)
    +    {
    +        int pos = (low + high) / 2;
    +        if (wine_ligatures[pos] < wc)
    +            low = pos + 1;
    +        else if (wine_ligatures[pos] > wc)
    +            high = pos - 1;
    +        else
    +            return wine_expanded_ligatures[pos];
    +    }
    +    return empty_ligature;
    +}
    +
    +/* fold a unicode string */
    +int wine_fold_string( int flags, const WCHAR *src, int srclen, WCHAR *dst, int dstlen )
    +{
    +    WCHAR *dstbase = dst;
    +    const WCHAR *expand;
    +    int i;
    +
    +    if (srclen == -1)
    +        srclen = strlenW(src) + 1; /* Include terminating NUL in count */
    +
    +    if (!dstlen)
    +    {
    +        /* Calculate the required size for dst */
    +        dstlen = srclen;
    +
    +        if (flags & MAP_EXPAND_LIGATURES)
    +        {
    +            while (srclen--)
    +            {
    +                dstlen += get_ligature_len(*src);
    +                src++;
    +            }
    +        }
    +        else if (flags & MAP_COMPOSITE)
    +        {
    +            /* FIXME */
    +        }
    +        else if (flags & MAP_PRECOMPOSED)
    +        {
    +            /* FIXME */
    +        }
    +        return dstlen;
    +    }
    +
    +    if (srclen > dstlen)
    +        return 0;
    +
    +    dstlen -= srclen;
    +
    +    /* Actually perform the mapping(s) specified */
    +    for (i = 0; i < srclen; i++)
    +    {
    +        WCHAR ch = *src;
    +
    +        if (flags & MAP_EXPAND_LIGATURES)
    +        {
    +            expand = get_ligature(ch);
    +            if (expand[0])
    +            {
    +                if (!dstlen--)
    +                    return 0;
    +                dst[0] = expand[0];
    +                if (expand[2])
    +                {
    +                    if (!dstlen--)
    +                        return 0;
    +                    *++dst = expand[1];
    +                    ch = expand[2];
    +                }
    +                else
    +                    ch = expand[1];
    +                dst++;
    +            }
    +        }
    +        else if (flags & MAP_COMPOSITE)
    +        {
    +            /* FIXME */
    +        }
    +        else if (flags & MAP_PRECOMPOSED)
    +        {
    +            /* FIXME */
    +        }
    +        if (flags & MAP_FOLDDIGITS)
    +            ch = to_unicode_digit(ch);
    +        if (flags & MAP_FOLDCZONE)
    +            ch = to_unicode_native(ch);
    +
    +        *dst++ = ch;
    +        src++;
    +    }
    +    return dst - dstbase;
    +}
    diff --git a/reactos/lib/unicode/mbtowc.c b/reactos/tools/unicode/mbtowc.c
    similarity index 96%
    rename from reactos/lib/unicode/mbtowc.c
    rename to reactos/tools/unicode/mbtowc.c
    index 26245e09662..dd3c9242d37 100644
    --- a/reactos/lib/unicode/mbtowc.c
    +++ b/reactos/tools/unicode/mbtowc.c
    @@ -1,298 +1,298 @@
    -/*
    - * MultiByteToWideChar implementation
    - *
    - * Copyright 2000 Alexandre Julliard
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -
    -#include 
    -
    -#include "wine/unicode.h"
    -
    -/* get the decomposition of a Unicode char */
    -int get_decomposition( WCHAR src, WCHAR *dst, unsigned int dstlen )
    -{
    -    extern const WCHAR unicode_decompose_table[];
    -    const WCHAR *ptr = unicode_decompose_table;
    -    int res;
    -
    -    *dst = src;
    -    ptr = unicode_decompose_table + ptr[src >> 8];
    -    ptr = unicode_decompose_table + ptr[(src >> 4) & 0x0f] + 2 * (src & 0x0f);
    -    if (!*ptr) return 1;
    -    if (dstlen <= 1) return 0;
    -    /* apply the decomposition recursively to the first char */
    -    if ((res = get_decomposition( *ptr, dst, dstlen-1 ))) dst[res++] = ptr[1];
    -    return res;
    -}
    -
    -/* check src string for invalid chars; return non-zero if invalid char found */
    -static inline int check_invalid_chars_sbcs( const struct sbcs_table *table,
    -                                            const unsigned char *src, unsigned int srclen )
    -{
    -    const WCHAR * const cp2uni = table->cp2uni;
    -    while (srclen)
    -    {
    -        if (cp2uni[*src] == table->info.def_unicode_char && *src != table->info.def_char)
    -            break;
    -        src++;
    -        srclen--;
    -    }
    -    return srclen;
    -}
    -
    -/* mbstowcs for single-byte code page */
    -/* all lengths are in characters, not bytes */
    -static inline int mbstowcs_sbcs( const struct sbcs_table *table,
    -                                 const unsigned char *src, unsigned int srclen,
    -                                 WCHAR *dst, unsigned int dstlen )
    -{
    -    const WCHAR * const cp2uni = table->cp2uni;
    -    int ret = srclen;
    -
    -    if (dstlen < srclen)
    -    {
    -        /* buffer too small: fill it up to dstlen and return error */
    -        srclen = dstlen;
    -        ret = -1;
    -    }
    -
    -    for (;;)
    -    {
    -        switch(srclen)
    -        {
    -        default:
    -        case 16: dst[15] = cp2uni[src[15]];
    -        case 15: dst[14] = cp2uni[src[14]];
    -        case 14: dst[13] = cp2uni[src[13]];
    -        case 13: dst[12] = cp2uni[src[12]];
    -        case 12: dst[11] = cp2uni[src[11]];
    -        case 11: dst[10] = cp2uni[src[10]];
    -        case 10: dst[9]  = cp2uni[src[9]];
    -        case 9:  dst[8]  = cp2uni[src[8]];
    -        case 8:  dst[7]  = cp2uni[src[7]];
    -        case 7:  dst[6]  = cp2uni[src[6]];
    -        case 6:  dst[5]  = cp2uni[src[5]];
    -        case 5:  dst[4]  = cp2uni[src[4]];
    -        case 4:  dst[3]  = cp2uni[src[3]];
    -        case 3:  dst[2]  = cp2uni[src[2]];
    -        case 2:  dst[1]  = cp2uni[src[1]];
    -        case 1:  dst[0]  = cp2uni[src[0]];
    -        case 0: break;
    -        }
    -        if (srclen < 16) return ret;
    -        dst += 16;
    -        src += 16;
    -        srclen -= 16;
    -    }
    -}
    -
    -/* mbstowcs for single-byte code page with char decomposition */
    -static int mbstowcs_sbcs_decompose( const struct sbcs_table *table,
    -                                    const unsigned char *src, unsigned int srclen,
    -                                    WCHAR *dst, unsigned int dstlen )
    -{
    -    const WCHAR * const cp2uni = table->cp2uni;
    -    unsigned int len;
    -
    -    if (!dstlen)  /* compute length */
    -    {
    -        WCHAR dummy[4]; /* no decomposition is larger than 4 chars */
    -        for (len = 0; srclen; srclen--, src++)
    -            len += get_decomposition( cp2uni[*src], dummy, 4 );
    -        return len;
    -    }
    -
    -    for (len = dstlen; srclen && len; srclen--, src++)
    -    {
    -        int res = get_decomposition( cp2uni[*src], dst, len );
    -        if (!res) break;
    -        len -= res;
    -        dst += res;
    -    }
    -    if (srclen) return -1;  /* overflow */
    -    return dstlen - len;
    -}
    -
    -/* query necessary dst length for src string */
    -static inline int get_length_dbcs( const struct dbcs_table *table,
    -                                   const unsigned char *src, unsigned int srclen )
    -{
    -    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    -    int len;
    -
    -    for (len = 0; srclen; srclen--, src++, len++)
    -    {
    -        if (cp2uni_lb[*src])
    -        {
    -            if (!--srclen) break;  /* partial char, ignore it */
    -            src++;
    -        }
    -    }
    -    return len;
    -}
    -
    -/* check src string for invalid chars; return non-zero if invalid char found */
    -static inline int check_invalid_chars_dbcs( const struct dbcs_table *table,
    -                                            const unsigned char *src, unsigned int srclen )
    -{
    -    const WCHAR * const cp2uni = table->cp2uni;
    -    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    -
    -    while (srclen)
    -    {
    -        unsigned char off = cp2uni_lb[*src];
    -        if (off)  /* multi-byte char */
    -        {
    -            if (srclen == 1) break;  /* partial char, error */
    -            if (cp2uni[(off << 8) + src[1]] == table->info.def_unicode_char &&
    -                ((src[0] << 8) | src[1]) != table->info.def_char) break;
    -            src++;
    -            srclen--;
    -        }
    -        else if (cp2uni[*src] == table->info.def_unicode_char &&
    -                 *src != table->info.def_char) break;
    -        src++;
    -        srclen--;
    -    }
    -    return srclen;
    -}
    -
    -/* mbstowcs for double-byte code page */
    -/* all lengths are in characters, not bytes */
    -static inline int mbstowcs_dbcs( const struct dbcs_table *table,
    -                                 const unsigned char *src, unsigned int srclen,
    -                                 WCHAR *dst, unsigned int dstlen )
    -{
    -    const WCHAR * const cp2uni = table->cp2uni;
    -    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    -    unsigned int len;
    -
    -    if (!dstlen) return get_length_dbcs( table, src, srclen );
    -
    -    for (len = dstlen; srclen && len; len--, srclen--, src++, dst++)
    -    {
    -        unsigned char off = cp2uni_lb[*src];
    -        if (off)
    -        {
    -            if (!--srclen) break;  /* partial char, ignore it */
    -            src++;
    -            *dst = cp2uni[(off << 8) + *src];
    -        }
    -        else *dst = cp2uni[*src];
    -    }
    -    if (srclen) return -1;  /* overflow */
    -    return dstlen - len;
    -}
    -
    -
    -/* mbstowcs for double-byte code page with character decomposition */
    -static int mbstowcs_dbcs_decompose( const struct dbcs_table *table,
    -                                    const unsigned char *src, unsigned int srclen,
    -                                    WCHAR *dst, unsigned int dstlen )
    -{
    -    const WCHAR * const cp2uni = table->cp2uni;
    -    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    -    unsigned int len;
    -    WCHAR ch;
    -    int res;
    -
    -    if (!dstlen)  /* compute length */
    -    {
    -        WCHAR dummy[4]; /* no decomposition is larger than 4 chars */
    -        for (len = 0; srclen; srclen--, src++)
    -        {
    -            unsigned char off = cp2uni_lb[*src];
    -            if (off)
    -            {
    -                if (!--srclen) break;  /* partial char, ignore it */
    -                src++;
    -                ch = cp2uni[(off << 8) + *src];
    -            }
    -            else ch = cp2uni[*src];
    -            len += get_decomposition( ch, dummy, 4 );
    -        }
    -        return len;
    -    }
    -
    -    for (len = dstlen; srclen && len; srclen--, src++)
    -    {
    -        unsigned char off = cp2uni_lb[*src];
    -        if (off)
    -        {
    -            if (!--srclen) break;  /* partial char, ignore it */
    -            src++;
    -            ch = cp2uni[(off << 8) + *src];
    -        }
    -        else ch = cp2uni[*src];
    -        if (!(res = get_decomposition( ch, dst, len ))) break;
    -        dst += res;
    -        len -= res;
    -    }
    -    if (srclen) return -1;  /* overflow */
    -    return dstlen - len;
    -}
    -
    -
    -/* return -1 on dst buffer overflow, -2 on invalid input char */
    -int wine_cp_mbstowcs( const union cptable *table, int flags,
    -                      const char *src, int srclen,
    -                      WCHAR *dst, int dstlen )
    -{
    -    if (table->info.char_size == 1)
    -    {
    -        if (flags & MB_ERR_INVALID_CHARS)
    -        {
    -            if (check_invalid_chars_sbcs( &table->sbcs, src, srclen )) return -2;
    -        }
    -        if (!(flags & MB_COMPOSITE))
    -        {
    -            if (!dstlen) return srclen;
    -            return mbstowcs_sbcs( &table->sbcs, src, srclen, dst, dstlen );
    -        }
    -        return mbstowcs_sbcs_decompose( &table->sbcs, src, srclen, dst, dstlen );
    -    }
    -    else /* mbcs */
    -    {
    -        if (flags & MB_ERR_INVALID_CHARS)
    -        {
    -            if (check_invalid_chars_dbcs( &table->dbcs, src, srclen )) return -2;
    -        }
    -        if (!(flags & MB_COMPOSITE))
    -            return mbstowcs_dbcs( &table->dbcs, src, srclen, dst, dstlen );
    -        else
    -            return mbstowcs_dbcs_decompose( &table->dbcs, src, srclen, dst, dstlen );
    -    }
    -}
    -
    -/* CP_SYMBOL implementation */
    -/* return -1 on dst buffer overflow */
    -int wine_cpsymbol_mbstowcs( const char *src, int srclen, WCHAR *dst, int dstlen)
    -{
    -    int len, i;
    -    if( dstlen == 0) return srclen;
    -    len = dstlen > srclen ? srclen : dstlen;
    -    for( i = 0; i < len; i++)
    -    {
    -        unsigned char c = src [ i ];
    -        if( c < 0x20 )
    -            dst[i] = c;
    -        else
    -            dst[i] = c + 0xf000;
    -    }
    -    if( srclen > len) return -1;
    -    return len;
    -}
    +/*
    + * MultiByteToWideChar implementation
    + *
    + * Copyright 2000 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#include "wine/unicode.h"
    +
    +/* get the decomposition of a Unicode char */
    +int get_decomposition( WCHAR src, WCHAR *dst, unsigned int dstlen )
    +{
    +    extern const WCHAR unicode_decompose_table[];
    +    const WCHAR *ptr = unicode_decompose_table;
    +    int res;
    +
    +    *dst = src;
    +    ptr = unicode_decompose_table + ptr[src >> 8];
    +    ptr = unicode_decompose_table + ptr[(src >> 4) & 0x0f] + 2 * (src & 0x0f);
    +    if (!*ptr) return 1;
    +    if (dstlen <= 1) return 0;
    +    /* apply the decomposition recursively to the first char */
    +    if ((res = get_decomposition( *ptr, dst, dstlen-1 ))) dst[res++] = ptr[1];
    +    return res;
    +}
    +
    +/* check src string for invalid chars; return non-zero if invalid char found */
    +static inline int check_invalid_chars_sbcs( const struct sbcs_table *table,
    +                                            const unsigned char *src, unsigned int srclen )
    +{
    +    const WCHAR * const cp2uni = table->cp2uni;
    +    while (srclen)
    +    {
    +        if (cp2uni[*src] == table->info.def_unicode_char && *src != table->info.def_char)
    +            break;
    +        src++;
    +        srclen--;
    +    }
    +    return srclen;
    +}
    +
    +/* mbstowcs for single-byte code page */
    +/* all lengths are in characters, not bytes */
    +static inline int mbstowcs_sbcs( const struct sbcs_table *table,
    +                                 const unsigned char *src, unsigned int srclen,
    +                                 WCHAR *dst, unsigned int dstlen )
    +{
    +    const WCHAR * const cp2uni = table->cp2uni;
    +    int ret = srclen;
    +
    +    if (dstlen < srclen)
    +    {
    +        /* buffer too small: fill it up to dstlen and return error */
    +        srclen = dstlen;
    +        ret = -1;
    +    }
    +
    +    for (;;)
    +    {
    +        switch(srclen)
    +        {
    +        default:
    +        case 16: dst[15] = cp2uni[src[15]];
    +        case 15: dst[14] = cp2uni[src[14]];
    +        case 14: dst[13] = cp2uni[src[13]];
    +        case 13: dst[12] = cp2uni[src[12]];
    +        case 12: dst[11] = cp2uni[src[11]];
    +        case 11: dst[10] = cp2uni[src[10]];
    +        case 10: dst[9]  = cp2uni[src[9]];
    +        case 9:  dst[8]  = cp2uni[src[8]];
    +        case 8:  dst[7]  = cp2uni[src[7]];
    +        case 7:  dst[6]  = cp2uni[src[6]];
    +        case 6:  dst[5]  = cp2uni[src[5]];
    +        case 5:  dst[4]  = cp2uni[src[4]];
    +        case 4:  dst[3]  = cp2uni[src[3]];
    +        case 3:  dst[2]  = cp2uni[src[2]];
    +        case 2:  dst[1]  = cp2uni[src[1]];
    +        case 1:  dst[0]  = cp2uni[src[0]];
    +        case 0: break;
    +        }
    +        if (srclen < 16) return ret;
    +        dst += 16;
    +        src += 16;
    +        srclen -= 16;
    +    }
    +}
    +
    +/* mbstowcs for single-byte code page with char decomposition */
    +static int mbstowcs_sbcs_decompose( const struct sbcs_table *table,
    +                                    const unsigned char *src, unsigned int srclen,
    +                                    WCHAR *dst, unsigned int dstlen )
    +{
    +    const WCHAR * const cp2uni = table->cp2uni;
    +    unsigned int len;
    +
    +    if (!dstlen)  /* compute length */
    +    {
    +        WCHAR dummy[4]; /* no decomposition is larger than 4 chars */
    +        for (len = 0; srclen; srclen--, src++)
    +            len += get_decomposition( cp2uni[*src], dummy, 4 );
    +        return len;
    +    }
    +
    +    for (len = dstlen; srclen && len; srclen--, src++)
    +    {
    +        int res = get_decomposition( cp2uni[*src], dst, len );
    +        if (!res) break;
    +        len -= res;
    +        dst += res;
    +    }
    +    if (srclen) return -1;  /* overflow */
    +    return dstlen - len;
    +}
    +
    +/* query necessary dst length for src string */
    +static inline int get_length_dbcs( const struct dbcs_table *table,
    +                                   const unsigned char *src, unsigned int srclen )
    +{
    +    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    +    int len;
    +
    +    for (len = 0; srclen; srclen--, src++, len++)
    +    {
    +        if (cp2uni_lb[*src])
    +        {
    +            if (!--srclen) break;  /* partial char, ignore it */
    +            src++;
    +        }
    +    }
    +    return len;
    +}
    +
    +/* check src string for invalid chars; return non-zero if invalid char found */
    +static inline int check_invalid_chars_dbcs( const struct dbcs_table *table,
    +                                            const unsigned char *src, unsigned int srclen )
    +{
    +    const WCHAR * const cp2uni = table->cp2uni;
    +    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    +
    +    while (srclen)
    +    {
    +        unsigned char off = cp2uni_lb[*src];
    +        if (off)  /* multi-byte char */
    +        {
    +            if (srclen == 1) break;  /* partial char, error */
    +            if (cp2uni[(off << 8) + src[1]] == table->info.def_unicode_char &&
    +                ((src[0] << 8) | src[1]) != table->info.def_char) break;
    +            src++;
    +            srclen--;
    +        }
    +        else if (cp2uni[*src] == table->info.def_unicode_char &&
    +                 *src != table->info.def_char) break;
    +        src++;
    +        srclen--;
    +    }
    +    return srclen;
    +}
    +
    +/* mbstowcs for double-byte code page */
    +/* all lengths are in characters, not bytes */
    +static inline int mbstowcs_dbcs( const struct dbcs_table *table,
    +                                 const unsigned char *src, unsigned int srclen,
    +                                 WCHAR *dst, unsigned int dstlen )
    +{
    +    const WCHAR * const cp2uni = table->cp2uni;
    +    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    +    unsigned int len;
    +
    +    if (!dstlen) return get_length_dbcs( table, src, srclen );
    +
    +    for (len = dstlen; srclen && len; len--, srclen--, src++, dst++)
    +    {
    +        unsigned char off = cp2uni_lb[*src];
    +        if (off)
    +        {
    +            if (!--srclen) break;  /* partial char, ignore it */
    +            src++;
    +            *dst = cp2uni[(off << 8) + *src];
    +        }
    +        else *dst = cp2uni[*src];
    +    }
    +    if (srclen) return -1;  /* overflow */
    +    return dstlen - len;
    +}
    +
    +
    +/* mbstowcs for double-byte code page with character decomposition */
    +static int mbstowcs_dbcs_decompose( const struct dbcs_table *table,
    +                                    const unsigned char *src, unsigned int srclen,
    +                                    WCHAR *dst, unsigned int dstlen )
    +{
    +    const WCHAR * const cp2uni = table->cp2uni;
    +    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;
    +    unsigned int len;
    +    WCHAR ch;
    +    int res;
    +
    +    if (!dstlen)  /* compute length */
    +    {
    +        WCHAR dummy[4]; /* no decomposition is larger than 4 chars */
    +        for (len = 0; srclen; srclen--, src++)
    +        {
    +            unsigned char off = cp2uni_lb[*src];
    +            if (off)
    +            {
    +                if (!--srclen) break;  /* partial char, ignore it */
    +                src++;
    +                ch = cp2uni[(off << 8) + *src];
    +            }
    +            else ch = cp2uni[*src];
    +            len += get_decomposition( ch, dummy, 4 );
    +        }
    +        return len;
    +    }
    +
    +    for (len = dstlen; srclen && len; srclen--, src++)
    +    {
    +        unsigned char off = cp2uni_lb[*src];
    +        if (off)
    +        {
    +            if (!--srclen) break;  /* partial char, ignore it */
    +            src++;
    +            ch = cp2uni[(off << 8) + *src];
    +        }
    +        else ch = cp2uni[*src];
    +        if (!(res = get_decomposition( ch, dst, len ))) break;
    +        dst += res;
    +        len -= res;
    +    }
    +    if (srclen) return -1;  /* overflow */
    +    return dstlen - len;
    +}
    +
    +
    +/* return -1 on dst buffer overflow, -2 on invalid input char */
    +int wine_cp_mbstowcs( const union cptable *table, int flags,
    +                      const char *src, int srclen,
    +                      WCHAR *dst, int dstlen )
    +{
    +    if (table->info.char_size == 1)
    +    {
    +        if (flags & MB_ERR_INVALID_CHARS)
    +        {
    +            if (check_invalid_chars_sbcs( &table->sbcs, src, srclen )) return -2;
    +        }
    +        if (!(flags & MB_COMPOSITE))
    +        {
    +            if (!dstlen) return srclen;
    +            return mbstowcs_sbcs( &table->sbcs, src, srclen, dst, dstlen );
    +        }
    +        return mbstowcs_sbcs_decompose( &table->sbcs, src, srclen, dst, dstlen );
    +    }
    +    else /* mbcs */
    +    {
    +        if (flags & MB_ERR_INVALID_CHARS)
    +        {
    +            if (check_invalid_chars_dbcs( &table->dbcs, src, srclen )) return -2;
    +        }
    +        if (!(flags & MB_COMPOSITE))
    +            return mbstowcs_dbcs( &table->dbcs, src, srclen, dst, dstlen );
    +        else
    +            return mbstowcs_dbcs_decompose( &table->dbcs, src, srclen, dst, dstlen );
    +    }
    +}
    +
    +/* CP_SYMBOL implementation */
    +/* return -1 on dst buffer overflow */
    +int wine_cpsymbol_mbstowcs( const char *src, int srclen, WCHAR *dst, int dstlen)
    +{
    +    int len, i;
    +    if( dstlen == 0) return srclen;
    +    len = dstlen > srclen ? srclen : dstlen;
    +    for( i = 0; i < len; i++)
    +    {
    +        unsigned char c = src [ i ];
    +        if( c < 0x20 )
    +            dst[i] = c;
    +        else
    +            dst[i] = c + 0xf000;
    +    }
    +    if( srclen > len) return -1;
    +    return len;
    +}
    diff --git a/reactos/lib/unicode/sortkey.c b/reactos/tools/unicode/sortkey.c
    similarity index 96%
    rename from reactos/lib/unicode/sortkey.c
    rename to reactos/tools/unicode/sortkey.c
    index e3fac6ddf34..07d8912e669 100644
    --- a/reactos/lib/unicode/sortkey.c
    +++ b/reactos/tools/unicode/sortkey.c
    @@ -1,351 +1,351 @@
    -/*
    - * Unicode sort key generation
    - *
    - * Copyright 2003 Dmitry Timoshkov
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -#include "wine/unicode.h"
    -
    -extern int get_decomposition(WCHAR src, WCHAR *dst, unsigned int dstlen);
    -extern const unsigned int collation_table[];
    -
    -/*
    - * flags - normalization NORM_* flags
    - *
    - * FIXME: 'variable' flag not handled
    - */
    -int wine_get_sortkey(int flags, const WCHAR *src, int srclen, char *dst, int dstlen)
    -{
    -    WCHAR dummy[4]; /* no decomposition is larger than 4 chars */
    -    int key_len[4];
    -    char *key_ptr[4];
    -    const WCHAR *src_save = src;
    -    int srclen_save = srclen;
    -
    -    key_len[0] = key_len[1] = key_len[2] = key_len[3] = 0;
    -    for (; srclen; srclen--, src++)
    -    {
    -        int decomposed_len = 1;/*get_decomposition(*src, dummy, 4);*/
    -        dummy[0] = *src;
    -        if (decomposed_len)
    -        {
    -            int i;
    -            for (i = 0; i < decomposed_len; i++)
    -            {
    -                WCHAR wch = dummy[i];
    -                unsigned int ce;
    -
    -                /* tests show that win2k just ignores NORM_IGNORENONSPACE,
    -                 * and skips white space and punctuation characters for
    -                 * NORM_IGNORESYMBOLS.
    -                 */
    -                if ((flags & NORM_IGNORESYMBOLS) && (get_char_typeW(wch) & (C1_PUNCT | C1_SPACE)))
    -                    continue;
    -
    -                if (flags & NORM_IGNORECASE) wch = tolowerW(wch);
    -
    -                ce = collation_table[collation_table[wch >> 8] + (wch & 0xff)];
    -                if (ce != (unsigned int)-1)
    -                {
    -                    if (ce >> 16) key_len[0] += 2;
    -                    if ((ce >> 8) & 0xff) key_len[1]++;
    -                    if ((ce >> 4) & 0x0f) key_len[2]++;
    -                    if (ce & 1)
    -                    {
    -                        if (wch >> 8) key_len[3]++;
    -                        key_len[3]++;
    -                    }
    -                }
    -                else
    -                {
    -                    key_len[0] += 2;
    -                    if (wch >> 8) key_len[0]++;
    -                    if (wch & 0xff) key_len[0]++;
    -		}
    -            }
    -        }
    -    }
    -
    -    if (!dstlen) /* compute length */
    -        /* 4 * '\1' + 1 * '\0' + key length */
    -        return key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1;
    -
    -    if (dstlen < key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1)
    -        return 0; /* overflow */
    -
    -    src = src_save;
    -    srclen = srclen_save;
    -
    -    key_ptr[0] = dst;
    -    key_ptr[1] = key_ptr[0] + key_len[0] + 1;
    -    key_ptr[2] = key_ptr[1] + key_len[1] + 1;
    -    key_ptr[3] = key_ptr[2] + key_len[2] + 1;
    -
    -    for (; srclen; srclen--, src++)
    -    {
    -        int decomposed_len = 1;/*get_decomposition(*src, dummy, 4);*/
    -        dummy[0] = *src;
    -        if (decomposed_len)
    -        {
    -            int i;
    -            for (i = 0; i < decomposed_len; i++)
    -            {
    -                WCHAR wch = dummy[i];
    -                unsigned int ce;
    -
    -                /* tests show that win2k just ignores NORM_IGNORENONSPACE,
    -                 * and skips white space and punctuation characters for
    -                 * NORM_IGNORESYMBOLS.
    -                 */
    -                if ((flags & NORM_IGNORESYMBOLS) && (get_char_typeW(wch) & (C1_PUNCT | C1_SPACE)))
    -                    continue;
    -
    -                if (flags & NORM_IGNORECASE) wch = tolowerW(wch);
    -
    -                ce = collation_table[collation_table[wch >> 8] + (wch & 0xff)];
    -                if (ce != (unsigned int)-1)
    -                {
    -                    WCHAR key;
    -                    if ((key = ce >> 16))
    -                    {
    -                        *key_ptr[0]++ = key >> 8;
    -                        *key_ptr[0]++ = key & 0xff;
    -                    }
    -                    /* make key 1 start from 2 */
    -                    if ((key = (ce >> 8) & 0xff)) *key_ptr[1]++ = key + 1;
    -                    /* make key 2 start from 2 */
    -                    if ((key = (ce >> 4) & 0x0f)) *key_ptr[2]++ = key + 1;
    -                    /* key 3 is always a character code */
    -                    if (ce & 1)
    -                    {
    -                        if (wch >> 8) *key_ptr[3]++ = wch >> 8;
    -                        if (wch & 0xff) *key_ptr[3]++ = wch & 0xff;
    -                    }
    -                }
    -                else
    -                {
    -                    *key_ptr[0]++ = 0xff;
    -                    *key_ptr[0]++ = 0xfe;
    -                    if (wch >> 8) *key_ptr[0]++ = wch >> 8;
    -                    if (wch & 0xff) *key_ptr[0]++ = wch & 0xff;
    -                }
    -            }
    -        }
    -    }
    -
    -    *key_ptr[0] = '\1';
    -    *key_ptr[1] = '\1';
    -    *key_ptr[2] = '\1';
    -    *key_ptr[3]++ = '\1';
    -    *key_ptr[3] = 0;
    -
    -    return key_ptr[3] - dst;
    -}
    -
    -static inline int compare_unicode_weights(int flags, const WCHAR *str1, int len1,
    -                                          const WCHAR *str2, int len2)
    -{
    -    unsigned int ce1, ce2;
    -    int ret;
    -
    -    /* 32-bit collation element table format:
    -     * unicode weight - high 16 bit, diacritic weight - high 8 bit of low 16 bit,
    -     * case weight - high 4 bit of low 8 bit.
    -     */
    -    while (len1 > 0 && len2 > 0)
    -    {
    -        if (flags & NORM_IGNORESYMBOLS)
    -        {
    -            int skip = 0;
    -            /* FIXME: not tested */
    -            if (get_char_typeW(*str1) & (C1_PUNCT | C1_SPACE))
    -            {
    -                str1++;
    -                len1--;
    -                skip = 1;
    -            }
    -            if (get_char_typeW(*str2) & (C1_PUNCT | C1_SPACE))
    -            {
    -                str2++;
    -                len2--;
    -                skip = 1;
    -            }
    -            if (skip) continue;
    -        }
    -
    -       /* hyphen and apostrophe are treated differently depending on
    -        * whether SORT_STRINGSORT specified or not
    -        */
    -        if (!(flags & SORT_STRINGSORT))
    -        {
    -            if (*str1 == '-' || *str1 == '\'')
    -            {
    -                if (*str2 != '-' && *str2 != '\'')
    -                {
    -                    str1++;
    -                    len1--;
    -                    continue;
    -                }
    -            }
    -            else if (*str2 == '-' || *str2 == '\'')
    -            {
    -                str2++;
    -                len2--;
    -                continue;
    -            }
    -        }
    -
    -        ce1 = collation_table[collation_table[*str1 >> 8] + (*str1 & 0xff)];
    -        ce2 = collation_table[collation_table[*str2 >> 8] + (*str2 & 0xff)];
    -
    -        if (ce1 != (unsigned int)-1 && ce2 != (unsigned int)-1)
    -            ret = (ce1 >> 16) - (ce2 >> 16);
    -        else
    -            ret = *str1 - *str2;
    -
    -        if (ret) return ret;
    -
    -        str1++;
    -        str2++;
    -        len1--;
    -        len2--;
    -    }
    -    return len1 - len2;
    -}
    -
    -static inline int compare_diacritic_weights(int flags, const WCHAR *str1, int len1,
    -                                            const WCHAR *str2, int len2)
    -{
    -    unsigned int ce1, ce2;
    -    int ret;
    -
    -    /* 32-bit collation element table format:
    -     * unicode weight - high 16 bit, diacritic weight - high 8 bit of low 16 bit,
    -     * case weight - high 4 bit of low 8 bit.
    -     */
    -    while (len1 > 0 && len2 > 0)
    -    {
    -        if (flags & NORM_IGNORESYMBOLS)
    -        {
    -            int skip = 0;
    -            /* FIXME: not tested */
    -            if (get_char_typeW(*str1) & (C1_PUNCT | C1_SPACE))
    -            {
    -                str1++;
    -                len1--;
    -                skip = 1;
    -            }
    -            if (get_char_typeW(*str2) & (C1_PUNCT | C1_SPACE))
    -            {
    -                str2++;
    -                len2--;
    -                skip = 1;
    -            }
    -            if (skip) continue;
    -        }
    -
    -        ce1 = collation_table[collation_table[*str1 >> 8] + (*str1 & 0xff)];
    -        ce2 = collation_table[collation_table[*str2 >> 8] + (*str2 & 0xff)];
    -
    -        if (ce1 != (unsigned int)-1 && ce2 != (unsigned int)-1)
    -            ret = ((ce1 >> 8) & 0xff) - ((ce2 >> 8) & 0xff);
    -        else
    -            ret = *str1 - *str2;
    -
    -        if (ret) return ret;
    -
    -        str1++;
    -        str2++;
    -        len1--;
    -        len2--;
    -    }
    -    return len1 - len2;
    -}
    -
    -static inline int compare_case_weights(int flags, const WCHAR *str1, int len1,
    -                                       const WCHAR *str2, int len2)
    -{
    -    unsigned int ce1, ce2;
    -    int ret;
    -
    -    /* 32-bit collation element table format:
    -     * unicode weight - high 16 bit, diacritic weight - high 8 bit of low 16 bit,
    -     * case weight - high 4 bit of low 8 bit.
    -     */
    -    while (len1 > 0 && len2 > 0)
    -    {
    -        if (flags & NORM_IGNORESYMBOLS)
    -        {
    -            int skip = 0;
    -            /* FIXME: not tested */
    -            if (get_char_typeW(*str1) & (C1_PUNCT | C1_SPACE))
    -            {
    -                str1++;
    -                len1--;
    -                skip = 1;
    -            }
    -            if (get_char_typeW(*str2) & (C1_PUNCT | C1_SPACE))
    -            {
    -                str2++;
    -                len2--;
    -                skip = 1;
    -            }
    -            if (skip) continue;
    -        }
    -
    -        ce1 = collation_table[collation_table[*str1 >> 8] + (*str1 & 0xff)];
    -        ce2 = collation_table[collation_table[*str2 >> 8] + (*str2 & 0xff)];
    -
    -        if (ce1 != (unsigned int)-1 && ce2 != (unsigned int)-1)
    -            ret = ((ce1 >> 4) & 0x0f) - ((ce2 >> 4) & 0x0f);
    -        else
    -            ret = *str1 - *str2;
    -
    -        if (ret) return ret;
    -
    -        str1++;
    -        str2++;
    -        len1--;
    -        len2--;
    -    }
    -    return len1 - len2;
    -}
    -
    -static inline int real_length(const WCHAR *str, int len)
    -{
    -    int real_len = 0;
    -    while (len-- && *str++) real_len++;
    -    return real_len;
    -}
    -
    -int wine_compare_string(int flags, const WCHAR *str1, int len1,
    -                        const WCHAR *str2, int len2)
    -{
    -    int ret;
    -
    -    len1 = real_length(str1, len1);
    -    len2 = real_length(str2, len2);
    -
    -    ret = compare_unicode_weights(flags, str1, len1, str2, len2);
    -    if (!ret)
    -    {
    -        if (!(flags & NORM_IGNORENONSPACE))
    -            ret = compare_diacritic_weights(flags, str1, len1, str2, len2);
    -        if (!ret && !(flags & NORM_IGNORECASE))
    -            ret = compare_case_weights(flags, str1, len1, str2, len2);
    -    }
    -    return ret;
    -}
    +/*
    + * Unicode sort key generation
    + *
    + * Copyright 2003 Dmitry Timoshkov
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +#include "wine/unicode.h"
    +
    +extern int get_decomposition(WCHAR src, WCHAR *dst, unsigned int dstlen);
    +extern const unsigned int collation_table[];
    +
    +/*
    + * flags - normalization NORM_* flags
    + *
    + * FIXME: 'variable' flag not handled
    + */
    +int wine_get_sortkey(int flags, const WCHAR *src, int srclen, char *dst, int dstlen)
    +{
    +    WCHAR dummy[4]; /* no decomposition is larger than 4 chars */
    +    int key_len[4];
    +    char *key_ptr[4];
    +    const WCHAR *src_save = src;
    +    int srclen_save = srclen;
    +
    +    key_len[0] = key_len[1] = key_len[2] = key_len[3] = 0;
    +    for (; srclen; srclen--, src++)
    +    {
    +        int decomposed_len = 1;/*get_decomposition(*src, dummy, 4);*/
    +        dummy[0] = *src;
    +        if (decomposed_len)
    +        {
    +            int i;
    +            for (i = 0; i < decomposed_len; i++)
    +            {
    +                WCHAR wch = dummy[i];
    +                unsigned int ce;
    +
    +                /* tests show that win2k just ignores NORM_IGNORENONSPACE,
    +                 * and skips white space and punctuation characters for
    +                 * NORM_IGNORESYMBOLS.
    +                 */
    +                if ((flags & NORM_IGNORESYMBOLS) && (get_char_typeW(wch) & (C1_PUNCT | C1_SPACE)))
    +                    continue;
    +
    +                if (flags & NORM_IGNORECASE) wch = tolowerW(wch);
    +
    +                ce = collation_table[collation_table[wch >> 8] + (wch & 0xff)];
    +                if (ce != (unsigned int)-1)
    +                {
    +                    if (ce >> 16) key_len[0] += 2;
    +                    if ((ce >> 8) & 0xff) key_len[1]++;
    +                    if ((ce >> 4) & 0x0f) key_len[2]++;
    +                    if (ce & 1)
    +                    {
    +                        if (wch >> 8) key_len[3]++;
    +                        key_len[3]++;
    +                    }
    +                }
    +                else
    +                {
    +                    key_len[0] += 2;
    +                    if (wch >> 8) key_len[0]++;
    +                    if (wch & 0xff) key_len[0]++;
    +		}
    +            }
    +        }
    +    }
    +
    +    if (!dstlen) /* compute length */
    +        /* 4 * '\1' + 1 * '\0' + key length */
    +        return key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1;
    +
    +    if (dstlen < key_len[0] + key_len[1] + key_len[2] + key_len[3] + 4 + 1)
    +        return 0; /* overflow */
    +
    +    src = src_save;
    +    srclen = srclen_save;
    +
    +    key_ptr[0] = dst;
    +    key_ptr[1] = key_ptr[0] + key_len[0] + 1;
    +    key_ptr[2] = key_ptr[1] + key_len[1] + 1;
    +    key_ptr[3] = key_ptr[2] + key_len[2] + 1;
    +
    +    for (; srclen; srclen--, src++)
    +    {
    +        int decomposed_len = 1;/*get_decomposition(*src, dummy, 4);*/
    +        dummy[0] = *src;
    +        if (decomposed_len)
    +        {
    +            int i;
    +            for (i = 0; i < decomposed_len; i++)
    +            {
    +                WCHAR wch = dummy[i];
    +                unsigned int ce;
    +
    +                /* tests show that win2k just ignores NORM_IGNORENONSPACE,
    +                 * and skips white space and punctuation characters for
    +                 * NORM_IGNORESYMBOLS.
    +                 */
    +                if ((flags & NORM_IGNORESYMBOLS) && (get_char_typeW(wch) & (C1_PUNCT | C1_SPACE)))
    +                    continue;
    +
    +                if (flags & NORM_IGNORECASE) wch = tolowerW(wch);
    +
    +                ce = collation_table[collation_table[wch >> 8] + (wch & 0xff)];
    +                if (ce != (unsigned int)-1)
    +                {
    +                    WCHAR key;
    +                    if ((key = ce >> 16))
    +                    {
    +                        *key_ptr[0]++ = key >> 8;
    +                        *key_ptr[0]++ = key & 0xff;
    +                    }
    +                    /* make key 1 start from 2 */
    +                    if ((key = (ce >> 8) & 0xff)) *key_ptr[1]++ = key + 1;
    +                    /* make key 2 start from 2 */
    +                    if ((key = (ce >> 4) & 0x0f)) *key_ptr[2]++ = key + 1;
    +                    /* key 3 is always a character code */
    +                    if (ce & 1)
    +                    {
    +                        if (wch >> 8) *key_ptr[3]++ = wch >> 8;
    +                        if (wch & 0xff) *key_ptr[3]++ = wch & 0xff;
    +                    }
    +                }
    +                else
    +                {
    +                    *key_ptr[0]++ = 0xff;
    +                    *key_ptr[0]++ = 0xfe;
    +                    if (wch >> 8) *key_ptr[0]++ = wch >> 8;
    +                    if (wch & 0xff) *key_ptr[0]++ = wch & 0xff;
    +                }
    +            }
    +        }
    +    }
    +
    +    *key_ptr[0] = '\1';
    +    *key_ptr[1] = '\1';
    +    *key_ptr[2] = '\1';
    +    *key_ptr[3]++ = '\1';
    +    *key_ptr[3] = 0;
    +
    +    return key_ptr[3] - dst;
    +}
    +
    +static inline int compare_unicode_weights(int flags, const WCHAR *str1, int len1,
    +                                          const WCHAR *str2, int len2)
    +{
    +    unsigned int ce1, ce2;
    +    int ret;
    +
    +    /* 32-bit collation element table format:
    +     * unicode weight - high 16 bit, diacritic weight - high 8 bit of low 16 bit,
    +     * case weight - high 4 bit of low 8 bit.
    +     */
    +    while (len1 > 0 && len2 > 0)
    +    {
    +        if (flags & NORM_IGNORESYMBOLS)
    +        {
    +            int skip = 0;
    +            /* FIXME: not tested */
    +            if (get_char_typeW(*str1) & (C1_PUNCT | C1_SPACE))
    +            {
    +                str1++;
    +                len1--;
    +                skip = 1;
    +            }
    +            if (get_char_typeW(*str2) & (C1_PUNCT | C1_SPACE))
    +            {
    +                str2++;
    +                len2--;
    +                skip = 1;
    +            }
    +            if (skip) continue;
    +        }
    +
    +       /* hyphen and apostrophe are treated differently depending on
    +        * whether SORT_STRINGSORT specified or not
    +        */
    +        if (!(flags & SORT_STRINGSORT))
    +        {
    +            if (*str1 == '-' || *str1 == '\'')
    +            {
    +                if (*str2 != '-' && *str2 != '\'')
    +                {
    +                    str1++;
    +                    len1--;
    +                    continue;
    +                }
    +            }
    +            else if (*str2 == '-' || *str2 == '\'')
    +            {
    +                str2++;
    +                len2--;
    +                continue;
    +            }
    +        }
    +
    +        ce1 = collation_table[collation_table[*str1 >> 8] + (*str1 & 0xff)];
    +        ce2 = collation_table[collation_table[*str2 >> 8] + (*str2 & 0xff)];
    +
    +        if (ce1 != (unsigned int)-1 && ce2 != (unsigned int)-1)
    +            ret = (ce1 >> 16) - (ce2 >> 16);
    +        else
    +            ret = *str1 - *str2;
    +
    +        if (ret) return ret;
    +
    +        str1++;
    +        str2++;
    +        len1--;
    +        len2--;
    +    }
    +    return len1 - len2;
    +}
    +
    +static inline int compare_diacritic_weights(int flags, const WCHAR *str1, int len1,
    +                                            const WCHAR *str2, int len2)
    +{
    +    unsigned int ce1, ce2;
    +    int ret;
    +
    +    /* 32-bit collation element table format:
    +     * unicode weight - high 16 bit, diacritic weight - high 8 bit of low 16 bit,
    +     * case weight - high 4 bit of low 8 bit.
    +     */
    +    while (len1 > 0 && len2 > 0)
    +    {
    +        if (flags & NORM_IGNORESYMBOLS)
    +        {
    +            int skip = 0;
    +            /* FIXME: not tested */
    +            if (get_char_typeW(*str1) & (C1_PUNCT | C1_SPACE))
    +            {
    +                str1++;
    +                len1--;
    +                skip = 1;
    +            }
    +            if (get_char_typeW(*str2) & (C1_PUNCT | C1_SPACE))
    +            {
    +                str2++;
    +                len2--;
    +                skip = 1;
    +            }
    +            if (skip) continue;
    +        }
    +
    +        ce1 = collation_table[collation_table[*str1 >> 8] + (*str1 & 0xff)];
    +        ce2 = collation_table[collation_table[*str2 >> 8] + (*str2 & 0xff)];
    +
    +        if (ce1 != (unsigned int)-1 && ce2 != (unsigned int)-1)
    +            ret = ((ce1 >> 8) & 0xff) - ((ce2 >> 8) & 0xff);
    +        else
    +            ret = *str1 - *str2;
    +
    +        if (ret) return ret;
    +
    +        str1++;
    +        str2++;
    +        len1--;
    +        len2--;
    +    }
    +    return len1 - len2;
    +}
    +
    +static inline int compare_case_weights(int flags, const WCHAR *str1, int len1,
    +                                       const WCHAR *str2, int len2)
    +{
    +    unsigned int ce1, ce2;
    +    int ret;
    +
    +    /* 32-bit collation element table format:
    +     * unicode weight - high 16 bit, diacritic weight - high 8 bit of low 16 bit,
    +     * case weight - high 4 bit of low 8 bit.
    +     */
    +    while (len1 > 0 && len2 > 0)
    +    {
    +        if (flags & NORM_IGNORESYMBOLS)
    +        {
    +            int skip = 0;
    +            /* FIXME: not tested */
    +            if (get_char_typeW(*str1) & (C1_PUNCT | C1_SPACE))
    +            {
    +                str1++;
    +                len1--;
    +                skip = 1;
    +            }
    +            if (get_char_typeW(*str2) & (C1_PUNCT | C1_SPACE))
    +            {
    +                str2++;
    +                len2--;
    +                skip = 1;
    +            }
    +            if (skip) continue;
    +        }
    +
    +        ce1 = collation_table[collation_table[*str1 >> 8] + (*str1 & 0xff)];
    +        ce2 = collation_table[collation_table[*str2 >> 8] + (*str2 & 0xff)];
    +
    +        if (ce1 != (unsigned int)-1 && ce2 != (unsigned int)-1)
    +            ret = ((ce1 >> 4) & 0x0f) - ((ce2 >> 4) & 0x0f);
    +        else
    +            ret = *str1 - *str2;
    +
    +        if (ret) return ret;
    +
    +        str1++;
    +        str2++;
    +        len1--;
    +        len2--;
    +    }
    +    return len1 - len2;
    +}
    +
    +static inline int real_length(const WCHAR *str, int len)
    +{
    +    int real_len = 0;
    +    while (len-- && *str++) real_len++;
    +    return real_len;
    +}
    +
    +int wine_compare_string(int flags, const WCHAR *str1, int len1,
    +                        const WCHAR *str2, int len2)
    +{
    +    int ret;
    +
    +    len1 = real_length(str1, len1);
    +    len2 = real_length(str2, len2);
    +
    +    ret = compare_unicode_weights(flags, str1, len1, str2, len2);
    +    if (!ret)
    +    {
    +        if (!(flags & NORM_IGNORENONSPACE))
    +            ret = compare_diacritic_weights(flags, str1, len1, str2, len2);
    +        if (!ret && !(flags & NORM_IGNORECASE))
    +            ret = compare_case_weights(flags, str1, len1, str2, len2);
    +    }
    +    return ret;
    +}
    diff --git a/reactos/lib/unicode/string.c b/reactos/tools/unicode/string.c
    similarity index 94%
    rename from reactos/lib/unicode/string.c
    rename to reactos/tools/unicode/string.c
    index 2c3a501d812..9f94aa19280 100644
    --- a/reactos/lib/unicode/string.c
    +++ b/reactos/tools/unicode/string.c
    @@ -1,472 +1,457 @@
    -/*
    - * Unicode string manipulation functions
    - *
    - * Copyright 2000 Alexandre Julliard
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -
    -#include 
    -#include 
    -
    -#include "wine/unicode.h"
    -
    -#undef strlenW
    -#undef strcpyW
    -#undef strcatW
    -#undef strstrW
    -#undef strtolW
    -#undef strchrW
    -#undef strrchrW
    -#undef strncmpW
    -#undef strncpyW
    -#undef strcmpW
    -#undef strcmpiW
    -#undef strncmpiW
    -#undef sprintfW
    -#undef snprintfW
    -
    -int strcmpiW( const WCHAR *str1, const WCHAR *str2 )
    -{
    -    for (;;)
    -    {
    -        int ret = tolowerW(*str1) - tolowerW(*str2);
    -        if (ret || !*str1) return ret;
    -        str1++;
    -        str2++;
    -    }
    -}
    -
    -int strncmpiW( const WCHAR *str1, const WCHAR *str2, int n )
    -{
    -    int ret = 0;
    -    for ( ; n > 0; n--, str1++, str2++)
    -        if ((ret = tolowerW(*str1) - tolowerW(*str2)) || !*str1) break;
    -    return ret;
    -}
    -
    -int memicmpW( const WCHAR *str1, const WCHAR *str2, int n )
    -{
    -    int ret = 0;
    -    for ( ; n > 0; n--, str1++, str2++)
    -        if ((ret = tolowerW(*str1) - tolowerW(*str2))) break;
    -    return ret;
    -}
    -
    -WCHAR *strstrW( const WCHAR *str, const WCHAR *sub )
    -{
    -    while (*str)
    -    {
    -        const WCHAR *p1 = str, *p2 = sub;
    -        while (*p1 && *p2 && *p1 == *p2) { p1++; p2++; }
    -        if (!*p2) return (WCHAR *)str;
    -        str++;
    -    }
    -    return NULL;
    -}
    -
    -/* strtolW and strtoulW implementation based on the GNU C library code */
    -/* Copyright (C) 1991,92,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. */
    -
    -long int strtolW( const WCHAR *nptr, WCHAR **endptr, int base )
    -{
    -  int negative;
    -  register unsigned long int cutoff;
    -  register unsigned int cutlim;
    -  register unsigned long int i;
    -  register const WCHAR *s;
    -  register WCHAR c;
    -  const WCHAR *save, *end;
    -  int overflow;
    -
    -  if (base < 0 || base == 1 || base > 36) return 0;
    -
    -  save = s = nptr;
    -
    -  /* Skip white space.  */
    -  while (isspaceW (*s))
    -    ++s;
    -  if (!*s) goto noconv;
    -
    -  /* Check for a sign.  */
    -  negative = 0;
    -  if (*s == '-')
    -    {
    -      negative = 1;
    -      ++s;
    -    }
    -  else if (*s == '+')
    -    ++s;
    -
    -  /* Recognize number prefix and if BASE is zero, figure it out ourselves.  */
    -  if (*s == '0')
    -    {
    -      if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')
    -	{
    -	  s += 2;
    -	  base = 16;
    -	}
    -      else if (base == 0)
    -	base = 8;
    -    }
    -  else if (base == 0)
    -    base = 10;
    -
    -  /* Save the pointer so we can check later if anything happened.  */
    -  save = s;
    -  end = NULL;
    -
    -  cutoff = ULONG_MAX / (unsigned long int) base;
    -  cutlim = ULONG_MAX % (unsigned long int) base;
    -
    -  overflow = 0;
    -  i = 0;
    -  c = *s;
    -  for (;c != '\0'; c = *++s)
    -  {
    -      if (s == end)
    -          break;
    -      if (c >= '0' && c <= '9')
    -          c -= '0';
    -      else if (isalphaW (c))
    -          c = toupperW (c) - 'A' + 10;
    -      else
    -          break;
    -      if ((int) c >= base)
    -          break;
    -      /* Check for overflow.  */
    -      if (i > cutoff || (i == cutoff && c > cutlim))
    -          overflow = 1;
    -      else
    -      {
    -          i *= (unsigned long int) base;
    -          i += c;
    -      }
    -  }
    -
    -  /* Check if anything actually happened.  */
    -  if (s == save)
    -    goto noconv;
    -
    -  /* Store in ENDPTR the address of one character
    -     past the last character we converted.  */
    -  if (endptr != NULL)
    -    *endptr = (WCHAR *)s;
    -
    -  /* Check for a value that is within the range of
    -     `unsigned LONG int', but outside the range of `LONG int'.  */
    -  if (overflow == 0
    -      && i > (negative
    -	      ? -((unsigned long int) (LONG_MIN + 1)) + 1
    -	      : (unsigned long int) LONG_MAX))
    -    overflow = 1;
    -
    -  if (overflow)
    -    {
    -      return negative ? LONG_MIN : LONG_MAX;
    -    }
    -
    -  /* Return the result of the appropriate sign.  */
    -  return negative ? -i : i;
    -
    -noconv:
    -  /* We must handle a special case here: the base is 0 or 16 and the
    -     first two characters are '0' and 'x', but the rest are not
    -     hexadecimal digits.  This is no error case.  We return 0 and
    -     ENDPTR points to the `x`.  */
    -  if (endptr != NULL)
    -    {
    -      if (save - nptr >= 2 && toupperW (save[-1]) == 'X'
    -	  && save[-2] == '0')
    -	*endptr = (WCHAR *)&save[-1];
    -      else
    -	/*  There was no number to convert.  */
    -	*endptr = (WCHAR *)nptr;
    -    }
    -
    -  return 0L;
    -}
    -
    -
    -unsigned long int strtoulW( const WCHAR *nptr, WCHAR **endptr, int base )
    -{
    -  int negative;
    -  register unsigned long int cutoff;
    -  register unsigned int cutlim;
    -  register unsigned long int i;
    -  register const WCHAR *s;
    -  register WCHAR c;
    -  const WCHAR *save, *end;
    -  int overflow;
    -
    -  if (base < 0 || base == 1 || base > 36) return 0;
    -
    -  save = s = nptr;
    -
    -  /* Skip white space.  */
    -  while (isspaceW (*s))
    -    ++s;
    -  if (!*s) goto noconv;
    -
    -  /* Check for a sign.  */
    -  negative = 0;
    -  if (*s == '-')
    -    {
    -      negative = 1;
    -      ++s;
    -    }
    -  else if (*s == '+')
    -    ++s;
    -
    -  /* Recognize number prefix and if BASE is zero, figure it out ourselves.  */
    -  if (*s == '0')
    -    {
    -      if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')
    -	{
    -	  s += 2;
    -	  base = 16;
    -	}
    -      else if (base == 0)
    -	base = 8;
    -    }
    -  else if (base == 0)
    -    base = 10;
    -
    -  /* Save the pointer so we can check later if anything happened.  */
    -  save = s;
    -  end = NULL;
    -
    -  cutoff = ULONG_MAX / (unsigned long int) base;
    -  cutlim = ULONG_MAX % (unsigned long int) base;
    -
    -  overflow = 0;
    -  i = 0;
    -  c = *s;
    -  for (;c != '\0'; c = *++s)
    -  {
    -      if (s == end)
    -          break;
    -      if (c >= '0' && c <= '9')
    -          c -= '0';
    -      else if (isalphaW (c))
    -          c = toupperW (c) - 'A' + 10;
    -      else
    -          break;
    -      if ((int) c >= base)
    -          break;
    -      /* Check for overflow.  */
    -      if (i > cutoff || (i == cutoff && c > cutlim))
    -          overflow = 1;
    -      else
    -      {
    -          i *= (unsigned long int) base;
    -          i += c;
    -      }
    -  }
    -
    -  /* Check if anything actually happened.  */
    -  if (s == save)
    -    goto noconv;
    -
    -  /* Store in ENDPTR the address of one character
    -     past the last character we converted.  */
    -  if (endptr != NULL)
    -    *endptr = (WCHAR *)s;
    -
    -  if (overflow)
    -    {
    -      return ULONG_MAX;
    -    }
    -
    -  /* Return the result of the appropriate sign.  */
    -  return negative ? -i : i;
    -
    -noconv:
    -  /* We must handle a special case here: the base is 0 or 16 and the
    -     first two characters are '0' and 'x', but the rest are not
    -     hexadecimal digits.  This is no error case.  We return 0 and
    -     ENDPTR points to the `x`.  */
    -  if (endptr != NULL)
    -    {
    -      if (save - nptr >= 2 && toupperW (save[-1]) == 'X'
    -	  && save[-2] == '0')
    -	*endptr = (WCHAR *)&save[-1];
    -      else
    -	/*  There was no number to convert.  */
    -	*endptr = (WCHAR *)nptr;
    -    }
    -
    -  return 0L;
    -}
    -
    -
    -int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist)
    -{
    -    unsigned int written = 0;
    -    const WCHAR *iter = format;
    -    char bufa[256], fmtbufa[64], *fmta;
    -
    -    while (*iter)
    -    {
    -        while (*iter && *iter != '%')
    -        {
    -            if (written++ >= len)
    -                return -1;
    -            *str++ = *iter++;
    -        }
    -        if (*iter == '%')
    -        {
    -            if (iter[1] == '%')
    -            {
    -                if (written++ >= len)
    -                    return -1;
    -                *str++ = '%'; /* "%%"->'%' */
    -                iter += 2;
    -                continue;
    -            }
    -
    -            fmta = fmtbufa;
    -            *fmta++ = *iter++;
    -            while (*iter == '0' ||
    -                   *iter == '+' ||
    -                   *iter == '-' ||
    -                   *iter == ' ' ||
    -                   *iter == '*' ||
    -                   *iter == '#')
    -            {
    -                if (*iter == '*')
    -                {
    -                    char *buffiter = bufa;
    -                    int fieldlen = va_arg(valist, int);
    -                    sprintf(buffiter, "%d", fieldlen);
    -                    while (*buffiter)
    -                        *fmta++ = *buffiter++;
    -                }
    -                else
    -                    *fmta++ = *iter;
    -                iter++;
    -            }
    -
    -            while (isdigit(*iter))
    -                *fmta++ = *iter++;
    -
    -            if (*iter == '.')
    -            {
    -                *fmta++ = *iter++;
    -                if (*iter == '*')
    -                {
    -                    char *buffiter = bufa;
    -                    int fieldlen = va_arg(valist, int);
    -                    sprintf(buffiter, "%d", fieldlen);
    -                    while (*buffiter)
    -                        *fmta++ = *buffiter++;
    -                }
    -                else
    -                    while (isdigit(*iter))
    -                        *fmta++ = *iter++;
    -            }
    -            if (*iter == 'h' || *iter == 'l')
    -                *fmta++ = *iter++;
    -
    -            switch (*iter)
    -            {
    -            case 's':
    -            {
    -                static const WCHAR none[] = { '(','n','u','l','l',')',0 };
    -                const WCHAR *wstr = va_arg(valist, const WCHAR *);
    -                const WCHAR *striter = wstr ? wstr : none;
    -                while (*striter)
    -                {
    -                    if (written++ >= len)
    -                        return -1;
    -                    *str++ = *striter++;
    -                }
    -                iter++;
    -                break;
    -            }
    -
    -            case 'c':
    -                if (written++ >= len)
    -                    return -1;
    -                *str++ = (WCHAR)va_arg(valist, int);
    -                iter++;
    -                break;
    -
    -            default:
    -            {
    -                /* For non wc types, use system sprintf and append to wide char output */
    -                /* FIXME: for unrecognised types, should ignore % when printing */
    -                char *bufaiter = bufa;
    -                if (*iter == 'p')
    -                    sprintf(bufaiter, "%08lX", va_arg(valist, long));
    -                else
    -                {
    -                    *fmta++ = *iter;
    -                    *fmta = '\0';
    -                    if (*iter == 'a' || *iter == 'A' ||
    -                        *iter == 'e' || *iter == 'E' ||
    -                        *iter == 'f' || *iter == 'F' || 
    -                        *iter == 'g' || *iter == 'G')
    -                        sprintf(bufaiter, fmtbufa, va_arg(valist, double));
    -                    else
    -                    {
    -                        /* FIXME: On 32 bit systems this doesn't handle int 64's.
    -                         *        on 64 bit systems this doesn't work for 32 bit types
    -			 */
    -                        sprintf(bufaiter, fmtbufa, va_arg(valist, void *));
    -                    }
    -                }
    -                while (*bufaiter)
    -                {
    -                    if (written++ >= len)
    -                        return -1;
    -                    *str++ = *bufaiter++;
    -                }
    -                iter++;
    -                break;
    -            }
    -            }
    -        }
    -    }
    -    if (written >= len)
    -        return -1;
    -    *str++ = 0;
    -    return (int)written;
    -}
    -
    -int vsprintfW( WCHAR *str, const WCHAR *format, va_list valist )
    -{
    -    return vsnprintfW( str, INT_MAX, format, valist );
    -}
    -
    -int snprintfW( WCHAR *str, size_t len, const WCHAR *format, ...)
    -{
    -    int retval;
    -    va_list valist;
    -    va_start(valist, format);
    -    retval = vsnprintfW(str, len, format, valist);
    -    va_end(valist);
    -    return retval;
    -}
    -
    -int sprintfW( WCHAR *str, const WCHAR *format, ...)
    -{
    -    int retval;
    -    va_list valist;
    -    va_start(valist, format);
    -    retval = vsnprintfW(str, INT_MAX, format, valist);
    -    va_end(valist);
    -    return retval;
    -}
    +/*
    + * Unicode string manipulation functions
    + *
    + * Copyright 2000 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +#include 
    +
    +#include "wine/unicode.h"
    +
    +int strcmpiW( const WCHAR *str1, const WCHAR *str2 )
    +{
    +    for (;;)
    +    {
    +        int ret = tolowerW(*str1) - tolowerW(*str2);
    +        if (ret || !*str1) return ret;
    +        str1++;
    +        str2++;
    +    }
    +}
    +
    +int strncmpiW( const WCHAR *str1, const WCHAR *str2, int n )
    +{
    +    int ret = 0;
    +    for ( ; n > 0; n--, str1++, str2++)
    +        if ((ret = tolowerW(*str1) - tolowerW(*str2)) || !*str1) break;
    +    return ret;
    +}
    +
    +int memicmpW( const WCHAR *str1, const WCHAR *str2, int n )
    +{
    +    int ret = 0;
    +    for ( ; n > 0; n--, str1++, str2++)
    +        if ((ret = tolowerW(*str1) - tolowerW(*str2))) break;
    +    return ret;
    +}
    +
    +WCHAR *strstrW( const WCHAR *str, const WCHAR *sub )
    +{
    +    while (*str)
    +    {
    +        const WCHAR *p1 = str, *p2 = sub;
    +        while (*p1 && *p2 && *p1 == *p2) { p1++; p2++; }
    +        if (!*p2) return (WCHAR *)str;
    +        str++;
    +    }
    +    return NULL;
    +}
    +
    +/* strtolW and strtoulW implementation based on the GNU C library code */
    +/* Copyright (C) 1991,92,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. */
    +
    +long int strtolW( const WCHAR *nptr, WCHAR **endptr, int base )
    +{
    +  int negative;
    +  register unsigned long int cutoff;
    +  register unsigned int cutlim;
    +  register unsigned long int i;
    +  register const WCHAR *s;
    +  register WCHAR c;
    +  const WCHAR *save, *end;
    +  int overflow;
    +
    +  if (base < 0 || base == 1 || base > 36) return 0;
    +
    +  save = s = nptr;
    +
    +  /* Skip white space.  */
    +  while (isspaceW (*s))
    +    ++s;
    +  if (!*s) goto noconv;
    +
    +  /* Check for a sign.  */
    +  negative = 0;
    +  if (*s == '-')
    +    {
    +      negative = 1;
    +      ++s;
    +    }
    +  else if (*s == '+')
    +    ++s;
    +
    +  /* Recognize number prefix and if BASE is zero, figure it out ourselves.  */
    +  if (*s == '0')
    +    {
    +      if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')
    +	{
    +	  s += 2;
    +	  base = 16;
    +	}
    +      else if (base == 0)
    +	base = 8;
    +    }
    +  else if (base == 0)
    +    base = 10;
    +
    +  /* Save the pointer so we can check later if anything happened.  */
    +  save = s;
    +  end = NULL;
    +
    +  cutoff = ULONG_MAX / (unsigned long int) base;
    +  cutlim = ULONG_MAX % (unsigned long int) base;
    +
    +  overflow = 0;
    +  i = 0;
    +  c = *s;
    +  for (;c != '\0'; c = *++s)
    +  {
    +      if (s == end)
    +          break;
    +      if (c >= '0' && c <= '9')
    +          c -= '0';
    +      else if (isalphaW (c))
    +          c = toupperW (c) - 'A' + 10;
    +      else
    +          break;
    +      if ((int) c >= base)
    +          break;
    +      /* Check for overflow.  */
    +      if (i > cutoff || (i == cutoff && c > cutlim))
    +          overflow = 1;
    +      else
    +      {
    +          i *= (unsigned long int) base;
    +          i += c;
    +      }
    +  }
    +
    +  /* Check if anything actually happened.  */
    +  if (s == save)
    +    goto noconv;
    +
    +  /* Store in ENDPTR the address of one character
    +     past the last character we converted.  */
    +  if (endptr != NULL)
    +    *endptr = (WCHAR *)s;
    +
    +  /* Check for a value that is within the range of
    +     `unsigned LONG int', but outside the range of `LONG int'.  */
    +  if (overflow == 0
    +      && i > (negative
    +	      ? -((unsigned long int) (LONG_MIN + 1)) + 1
    +	      : (unsigned long int) LONG_MAX))
    +    overflow = 1;
    +
    +  if (overflow)
    +    {
    +      return negative ? LONG_MIN : LONG_MAX;
    +    }
    +
    +  /* Return the result of the appropriate sign.  */
    +  return negative ? -i : i;
    +
    +noconv:
    +  /* We must handle a special case here: the base is 0 or 16 and the
    +     first two characters are '0' and 'x', but the rest are not
    +     hexadecimal digits.  This is no error case.  We return 0 and
    +     ENDPTR points to the `x`.  */
    +  if (endptr != NULL)
    +    {
    +      if (save - nptr >= 2 && toupperW (save[-1]) == 'X'
    +	  && save[-2] == '0')
    +	*endptr = (WCHAR *)&save[-1];
    +      else
    +	/*  There was no number to convert.  */
    +	*endptr = (WCHAR *)nptr;
    +    }
    +
    +  return 0L;
    +}
    +
    +
    +unsigned long int strtoulW( const WCHAR *nptr, WCHAR **endptr, int base )
    +{
    +  int negative;
    +  register unsigned long int cutoff;
    +  register unsigned int cutlim;
    +  register unsigned long int i;
    +  register const WCHAR *s;
    +  register WCHAR c;
    +  const WCHAR *save, *end;
    +  int overflow;
    +
    +  if (base < 0 || base == 1 || base > 36) return 0;
    +
    +  save = s = nptr;
    +
    +  /* Skip white space.  */
    +  while (isspaceW (*s))
    +    ++s;
    +  if (!*s) goto noconv;
    +
    +  /* Check for a sign.  */
    +  negative = 0;
    +  if (*s == '-')
    +    {
    +      negative = 1;
    +      ++s;
    +    }
    +  else if (*s == '+')
    +    ++s;
    +
    +  /* Recognize number prefix and if BASE is zero, figure it out ourselves.  */
    +  if (*s == '0')
    +    {
    +      if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')
    +	{
    +	  s += 2;
    +	  base = 16;
    +	}
    +      else if (base == 0)
    +	base = 8;
    +    }
    +  else if (base == 0)
    +    base = 10;
    +
    +  /* Save the pointer so we can check later if anything happened.  */
    +  save = s;
    +  end = NULL;
    +
    +  cutoff = ULONG_MAX / (unsigned long int) base;
    +  cutlim = ULONG_MAX % (unsigned long int) base;
    +
    +  overflow = 0;
    +  i = 0;
    +  c = *s;
    +  for (;c != '\0'; c = *++s)
    +  {
    +      if (s == end)
    +          break;
    +      if (c >= '0' && c <= '9')
    +          c -= '0';
    +      else if (isalphaW (c))
    +          c = toupperW (c) - 'A' + 10;
    +      else
    +          break;
    +      if ((int) c >= base)
    +          break;
    +      /* Check for overflow.  */
    +      if (i > cutoff || (i == cutoff && c > cutlim))
    +          overflow = 1;
    +      else
    +      {
    +          i *= (unsigned long int) base;
    +          i += c;
    +      }
    +  }
    +
    +  /* Check if anything actually happened.  */
    +  if (s == save)
    +    goto noconv;
    +
    +  /* Store in ENDPTR the address of one character
    +     past the last character we converted.  */
    +  if (endptr != NULL)
    +    *endptr = (WCHAR *)s;
    +
    +  if (overflow)
    +    {
    +      return ULONG_MAX;
    +    }
    +
    +  /* Return the result of the appropriate sign.  */
    +  return negative ? -i : i;
    +
    +noconv:
    +  /* We must handle a special case here: the base is 0 or 16 and the
    +     first two characters are '0' and 'x', but the rest are not
    +     hexadecimal digits.  This is no error case.  We return 0 and
    +     ENDPTR points to the `x`.  */
    +  if (endptr != NULL)
    +    {
    +      if (save - nptr >= 2 && toupperW (save[-1]) == 'X'
    +	  && save[-2] == '0')
    +	*endptr = (WCHAR *)&save[-1];
    +      else
    +	/*  There was no number to convert.  */
    +	*endptr = (WCHAR *)nptr;
    +    }
    +
    +  return 0L;
    +}
    +
    +
    +int vsnprintfW(WCHAR *str, size_t len, const WCHAR *format, va_list valist)
    +{
    +    unsigned int written = 0;
    +    const WCHAR *iter = format;
    +    char bufa[256], fmtbufa[64], *fmta;
    +
    +    while (*iter)
    +    {
    +        while (*iter && *iter != '%')
    +        {
    +            if (written++ >= len)
    +                return -1;
    +            *str++ = *iter++;
    +        }
    +        if (*iter == '%')
    +        {
    +            if (iter[1] == '%')
    +            {
    +                if (written++ >= len)
    +                    return -1;
    +                *str++ = '%'; /* "%%"->'%' */
    +                iter += 2;
    +                continue;
    +            }
    +
    +            fmta = fmtbufa;
    +            *fmta++ = *iter++;
    +            while (*iter == '0' ||
    +                   *iter == '+' ||
    +                   *iter == '-' ||
    +                   *iter == ' ' ||
    +                   *iter == '*' ||
    +                   *iter == '#')
    +            {
    +                if (*iter == '*')
    +                {
    +                    char *buffiter = bufa;
    +                    int fieldlen = va_arg(valist, int);
    +                    sprintf(buffiter, "%d", fieldlen);
    +                    while (*buffiter)
    +                        *fmta++ = *buffiter++;
    +                }
    +                else
    +                    *fmta++ = *iter;
    +                iter++;
    +            }
    +
    +            while (isdigit(*iter))
    +                *fmta++ = *iter++;
    +
    +            if (*iter == '.')
    +            {
    +                *fmta++ = *iter++;
    +                if (*iter == '*')
    +                {
    +                    char *buffiter = bufa;
    +                    int fieldlen = va_arg(valist, int);
    +                    sprintf(buffiter, "%d", fieldlen);
    +                    while (*buffiter)
    +                        *fmta++ = *buffiter++;
    +                }
    +                else
    +                    while (isdigit(*iter))
    +                        *fmta++ = *iter++;
    +            }
    +            if (*iter == 'h' || *iter == 'l')
    +                *fmta++ = *iter++;
    +
    +            switch (*iter)
    +            {
    +            case 's':
    +            {
    +                static const WCHAR none[] = { '(','n','u','l','l',')',0 };
    +                const WCHAR *wstr = va_arg(valist, const WCHAR *);
    +                const WCHAR *striter = wstr ? wstr : none;
    +                while (*striter)
    +                {
    +                    if (written++ >= len)
    +                        return -1;
    +                    *str++ = *striter++;
    +                }
    +                iter++;
    +                break;
    +            }
    +
    +            case 'c':
    +                if (written++ >= len)
    +                    return -1;
    +                *str++ = (WCHAR)va_arg(valist, int);
    +                iter++;
    +                break;
    +
    +            default:
    +            {
    +                /* For non wc types, use system sprintf and append to wide char output */
    +                /* FIXME: for unrecognised types, should ignore % when printing */
    +                char *bufaiter = bufa;
    +                if (*iter == 'p')
    +                    sprintf(bufaiter, "%08lX", va_arg(valist, long));
    +                else
    +                {
    +                    *fmta++ = *iter;
    +                    *fmta = '\0';
    +                    if (*iter == 'a' || *iter == 'A' ||
    +                        *iter == 'e' || *iter == 'E' ||
    +                        *iter == 'f' || *iter == 'F' || 
    +                        *iter == 'g' || *iter == 'G')
    +                        sprintf(bufaiter, fmtbufa, va_arg(valist, double));
    +                    else
    +                    {
    +                        /* FIXME: On 32 bit systems this doesn't handle int 64's.
    +                         *        on 64 bit systems this doesn't work for 32 bit types
    +			 */
    +                        sprintf(bufaiter, fmtbufa, va_arg(valist, void *));
    +                    }
    +                }
    +                while (*bufaiter)
    +                {
    +                    if (written++ >= len)
    +                        return -1;
    +                    *str++ = *bufaiter++;
    +                }
    +                iter++;
    +                break;
    +            }
    +            }
    +        }
    +    }
    +    if (written >= len)
    +        return -1;
    +    *str++ = 0;
    +    return (int)written;
    +}
    +
    +int vsprintfW( WCHAR *str, const WCHAR *format, va_list valist )
    +{
    +    return vsnprintfW( str, INT_MAX, format, valist );
    +}
    +
    +int snprintfW( WCHAR *str, size_t len, const WCHAR *format, ...)
    +{
    +    int retval;
    +    va_list valist;
    +    va_start(valist, format);
    +    retval = vsnprintfW(str, len, format, valist);
    +    va_end(valist);
    +    return retval;
    +}
    +
    +int sprintfW( WCHAR *str, const WCHAR *format, ...)
    +{
    +    int retval;
    +    va_list valist;
    +    va_start(valist, format);
    +    retval = vsnprintfW(str, INT_MAX, format, valist);
    +    va_end(valist);
    +    return retval;
    +}
    diff --git a/reactos/lib/unicode/utf8.c b/reactos/tools/unicode/utf8.c
    similarity index 96%
    rename from reactos/lib/unicode/utf8.c
    rename to reactos/tools/unicode/utf8.c
    index 39bd54bf3b2..a49a3ed8d6c 100644
    --- a/reactos/lib/unicode/utf8.c
    +++ b/reactos/tools/unicode/utf8.c
    @@ -1,200 +1,200 @@
    -/*
    - * UTF-8 support routines
    - *
    - * Copyright 2000 Alexandre Julliard
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -
    -#include 
    -
    -#include "wine/unicode.h"
    -
    -/* number of following bytes in sequence based on first byte value (for bytes above 0x7f) */
    -static const char utf8_length[128] =
    -{
    -    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x80-0x8f */
    -    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x90-0x9f */
    -    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xa0-0xaf */
    -    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xb0-0xbf */
    -    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0xc0-0xcf */
    -    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0xd0-0xdf */
    -    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* 0xe0-0xef */
    -    3,3,3,3,3,3,3,3,4,4,4,4,5,5,0,0  /* 0xf0-0xff */
    -};
    -
    -/* first byte mask depending on UTF-8 sequence length */
    -static const unsigned char utf8_mask[6] = { 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x01 };
    -
    -/* minimum Unicode value depending on UTF-8 sequence length */
    -static const unsigned int utf8_minval[6] = { 0x0, 0x80, 0x800, 0x10000, 0x200000, 0x4000000 };
    -
    -
    -/* query necessary dst length for src string */
    -inline static int get_length_wcs_utf8( const WCHAR *src, unsigned int srclen )
    -{
    -    int len;
    -    for (len = 0; srclen; srclen--, src++, len++)
    -    {
    -        if (*src >= 0x80)
    -        {
    -            len++;
    -            if (*src >= 0x800) len++;
    -        }
    -    }
    -    return len;
    -}
    -
    -/* wide char to UTF-8 string conversion */
    -/* return -1 on dst buffer overflow */
    -int wine_utf8_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen )
    -{
    -    int len;
    -
    -    if (!dstlen) return get_length_wcs_utf8( src, srclen );
    -
    -    for (len = dstlen; srclen; srclen--, src++)
    -    {
    -        WCHAR ch = *src;
    -
    -        if (ch < 0x80)  /* 0x00-0x7f: 1 byte */
    -        {
    -            if (!len--) return -1;  /* overflow */
    -            *dst++ = ch;
    -            continue;
    -        }
    -
    -        if (ch < 0x800)  /* 0x80-0x7ff: 2 bytes */
    -        {
    -            if ((len -= 2) < 0) return -1;  /* overflow */
    -            dst[1] = 0x80 | (ch & 0x3f);
    -            ch >>= 6;
    -            dst[0] = 0xc0 | ch;
    -            dst += 2;
    -            continue;
    -        }
    -
    -        /* 0x800-0xffff: 3 bytes */
    -
    -        if ((len -= 3) < 0) return -1;  /* overflow */
    -        dst[2] = 0x80 | (ch & 0x3f);
    -        ch >>= 6;
    -        dst[1] = 0x80 | (ch & 0x3f);
    -        ch >>= 6;
    -        dst[0] = 0xe0 | ch;
    -        dst += 3;
    -    }
    -    return dstlen - len;
    -}
    -
    -/* query necessary dst length for src string */
    -inline static int get_length_mbs_utf8( const unsigned char *src, int srclen )
    -{
    -    int ret;
    -    const unsigned char *srcend = src + srclen;
    -
    -    for (ret = 0; src < srcend; ret++)
    -    {
    -        unsigned char ch = *src++;
    -        if (ch < 0xc0) continue;
    -
    -        switch(utf8_length[ch-0x80])
    -        {
    -        case 5:
    -            if (src >= srcend) return ret;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) continue;
    -            src++;
    -        case 4:
    -            if (src >= srcend) return ret;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) continue;
    -            src++;
    -        case 3:
    -            if (src >= srcend) return ret;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) continue;
    -            src++;
    -        case 2:
    -            if (src >= srcend) return ret;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) continue;
    -            src++;
    -        case 1:
    -            if (src >= srcend) return ret;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) continue;
    -            src++;
    -        }
    -    }
    -    return ret;
    -}
    -
    -/* UTF-8 to wide char string conversion */
    -/* return -1 on dst buffer overflow, -2 on invalid input char */
    -int wine_utf8_mbstowcs( int flags, const char *src, int srclen, WCHAR *dst, int dstlen )
    -{
    -    int len, count;
    -    unsigned int res;
    -    const char *srcend = src + srclen;
    -
    -    if (!dstlen) return get_length_mbs_utf8( (const unsigned char*)src, srclen );
    -
    -    for (count = dstlen; count && (src < srcend); count--, dst++)
    -    {
    -        unsigned char ch = *src++;
    -        if (ch < 0x80)  /* special fast case for 7-bit ASCII */
    -        {
    -            *dst = ch;
    -            continue;
    -        }
    -        len = utf8_length[ch-0x80];
    -        res = ch & utf8_mask[len];
    -
    -        switch(len)
    -        {
    -        case 5:
    -            if (src >= srcend) goto done;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    -            res = (res << 6) | ch;
    -            src++;
    -        case 4:
    -            if (src >= srcend) goto done;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    -            res = (res << 6) | ch;
    -            src++;
    -        case 3:
    -            if (src >= srcend) goto done;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    -            res = (res << 6) | ch;
    -            src++;
    -        case 2:
    -            if (src >= srcend) goto done;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    -            res = (res << 6) | ch;
    -            src++;
    -        case 1:
    -            if (src >= srcend) goto done;  /* ignore partial char */
    -            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    -            res = (res << 6) | ch;
    -            src++;
    -            if (res < utf8_minval[len]) goto bad;
    -            if (res >= 0x10000) goto bad;  /* FIXME: maybe we should do surrogates here */
    -            *dst = res;
    -            continue;
    -        }
    -    bad:
    -        if (flags & MB_ERR_INVALID_CHARS) return -2;  /* bad char */
    -        *dst = (WCHAR)'?';
    -    }
    -    if (src < srcend) return -1;  /* overflow */
    -done:
    -    return dstlen - count;
    -}
    +/*
    + * UTF-8 support routines
    + *
    + * Copyright 2000 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#include "wine/unicode.h"
    +
    +/* number of following bytes in sequence based on first byte value (for bytes above 0x7f) */
    +static const char utf8_length[128] =
    +{
    +    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x80-0x8f */
    +    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x90-0x9f */
    +    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xa0-0xaf */
    +    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xb0-0xbf */
    +    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0xc0-0xcf */
    +    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0xd0-0xdf */
    +    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* 0xe0-0xef */
    +    3,3,3,3,3,3,3,3,4,4,4,4,5,5,0,0  /* 0xf0-0xff */
    +};
    +
    +/* first byte mask depending on UTF-8 sequence length */
    +static const unsigned char utf8_mask[6] = { 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x01 };
    +
    +/* minimum Unicode value depending on UTF-8 sequence length */
    +static const unsigned int utf8_minval[6] = { 0x0, 0x80, 0x800, 0x10000, 0x200000, 0x4000000 };
    +
    +
    +/* query necessary dst length for src string */
    +inline static int get_length_wcs_utf8( const WCHAR *src, unsigned int srclen )
    +{
    +    int len;
    +    for (len = 0; srclen; srclen--, src++, len++)
    +    {
    +        if (*src >= 0x80)
    +        {
    +            len++;
    +            if (*src >= 0x800) len++;
    +        }
    +    }
    +    return len;
    +}
    +
    +/* wide char to UTF-8 string conversion */
    +/* return -1 on dst buffer overflow */
    +int wine_utf8_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen )
    +{
    +    int len;
    +
    +    if (!dstlen) return get_length_wcs_utf8( src, srclen );
    +
    +    for (len = dstlen; srclen; srclen--, src++)
    +    {
    +        WCHAR ch = *src;
    +
    +        if (ch < 0x80)  /* 0x00-0x7f: 1 byte */
    +        {
    +            if (!len--) return -1;  /* overflow */
    +            *dst++ = ch;
    +            continue;
    +        }
    +
    +        if (ch < 0x800)  /* 0x80-0x7ff: 2 bytes */
    +        {
    +            if ((len -= 2) < 0) return -1;  /* overflow */
    +            dst[1] = 0x80 | (ch & 0x3f);
    +            ch >>= 6;
    +            dst[0] = 0xc0 | ch;
    +            dst += 2;
    +            continue;
    +        }
    +
    +        /* 0x800-0xffff: 3 bytes */
    +
    +        if ((len -= 3) < 0) return -1;  /* overflow */
    +        dst[2] = 0x80 | (ch & 0x3f);
    +        ch >>= 6;
    +        dst[1] = 0x80 | (ch & 0x3f);
    +        ch >>= 6;
    +        dst[0] = 0xe0 | ch;
    +        dst += 3;
    +    }
    +    return dstlen - len;
    +}
    +
    +/* query necessary dst length for src string */
    +inline static int get_length_mbs_utf8( const unsigned char *src, int srclen )
    +{
    +    int ret;
    +    const unsigned char *srcend = src + srclen;
    +
    +    for (ret = 0; src < srcend; ret++)
    +    {
    +        unsigned char ch = *src++;
    +        if (ch < 0xc0) continue;
    +
    +        switch(utf8_length[ch-0x80])
    +        {
    +        case 5:
    +            if (src >= srcend) return ret;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) continue;
    +            src++;
    +        case 4:
    +            if (src >= srcend) return ret;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) continue;
    +            src++;
    +        case 3:
    +            if (src >= srcend) return ret;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) continue;
    +            src++;
    +        case 2:
    +            if (src >= srcend) return ret;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) continue;
    +            src++;
    +        case 1:
    +            if (src >= srcend) return ret;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) continue;
    +            src++;
    +        }
    +    }
    +    return ret;
    +}
    +
    +/* UTF-8 to wide char string conversion */
    +/* return -1 on dst buffer overflow, -2 on invalid input char */
    +int wine_utf8_mbstowcs( int flags, const char *src, int srclen, WCHAR *dst, int dstlen )
    +{
    +    int len, count;
    +    unsigned int res;
    +    const char *srcend = src + srclen;
    +
    +    if (!dstlen) return get_length_mbs_utf8( (const unsigned char*)src, srclen );
    +
    +    for (count = dstlen; count && (src < srcend); count--, dst++)
    +    {
    +        unsigned char ch = *src++;
    +        if (ch < 0x80)  /* special fast case for 7-bit ASCII */
    +        {
    +            *dst = ch;
    +            continue;
    +        }
    +        len = utf8_length[ch-0x80];
    +        res = ch & utf8_mask[len];
    +
    +        switch(len)
    +        {
    +        case 5:
    +            if (src >= srcend) goto done;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    +            res = (res << 6) | ch;
    +            src++;
    +        case 4:
    +            if (src >= srcend) goto done;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    +            res = (res << 6) | ch;
    +            src++;
    +        case 3:
    +            if (src >= srcend) goto done;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    +            res = (res << 6) | ch;
    +            src++;
    +        case 2:
    +            if (src >= srcend) goto done;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    +            res = (res << 6) | ch;
    +            src++;
    +        case 1:
    +            if (src >= srcend) goto done;  /* ignore partial char */
    +            if ((ch = *src ^ 0x80) >= 0x40) goto bad;
    +            res = (res << 6) | ch;
    +            src++;
    +            if (res < utf8_minval[len]) goto bad;
    +            if (res >= 0x10000) goto bad;  /* FIXME: maybe we should do surrogates here */
    +            *dst = res;
    +            continue;
    +        }
    +    bad:
    +        if (flags & MB_ERR_INVALID_CHARS) return -2;  /* bad char */
    +        *dst = (WCHAR)'?';
    +    }
    +    if (src < srcend) return -1;  /* overflow */
    +done:
    +    return dstlen - count;
    +}
    diff --git a/reactos/lib/unicode/wctomb.c b/reactos/tools/unicode/wctomb.c
    similarity index 97%
    rename from reactos/lib/unicode/wctomb.c
    rename to reactos/tools/unicode/wctomb.c
    index 60e4bba9f73..68be134e7ae 100644
    --- a/reactos/lib/unicode/wctomb.c
    +++ b/reactos/tools/unicode/wctomb.c
    @@ -1,477 +1,477 @@
    -/*
    - * WideCharToMultiByte implementation
    - *
    - * Copyright 2000 Alexandre Julliard
    - *
    - * This library is free software; you can redistribute it and/or
    - * modify it under the terms of the GNU Lesser General Public
    - * License as published by the Free Software Foundation; either
    - * version 2.1 of the License, or (at your option) any later version.
    - *
    - * This library is distributed in the hope that it will be useful,
    - * but WITHOUT ANY WARRANTY; without even the implied warranty of
    - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    - * Lesser General Public License for more details.
    - *
    - * You should have received a copy of the GNU Lesser General Public
    - * License along with this library; if not, write to the Free Software
    - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    - */
    -
    -#include 
    -
    -#include "wine/unicode.h"
    -
    -/* search for a character in the unicode_compose_table; helper for compose() */
    -static inline int binary_search( WCHAR ch, int low, int high )
    -{
    -    extern const WCHAR unicode_compose_table[];
    -    while (low <= high)
    -    {
    -        int pos = (low + high) / 2;
    -        if (unicode_compose_table[2*pos] < ch)
    -        {
    -            low = pos + 1;
    -            continue;
    -        }
    -        if (unicode_compose_table[2*pos] > ch)
    -        {
    -            high = pos - 1;
    -            continue;
    -        }
    -        return pos;
    -    }
    -    return -1;
    -}
    -
    -/* return the result of the composition of two Unicode chars, or 0 if none */
    -static WCHAR compose( const WCHAR *str )
    -{
    -    extern const WCHAR unicode_compose_table[];
    -    extern const unsigned int unicode_compose_table_size;
    -
    -    int idx = 1, low = 0, high = unicode_compose_table_size - 1;
    -    for (;;)
    -    {
    -        int pos = binary_search( str[idx], low, high );
    -        if (pos == -1) return 0;
    -        if (!idx--) return unicode_compose_table[2*pos+1];
    -        low = unicode_compose_table[2*pos+1];
    -        high = unicode_compose_table[2*pos+3] - 1;
    -    }
    -}
    -
    -
    -/****************************************************************/
    -/* sbcs support */
    -
    -/* check if 'ch' is an acceptable sbcs mapping for 'wch' */
    -static inline int is_valid_sbcs_mapping( const struct sbcs_table *table, int flags,
    -                                         WCHAR wch, unsigned char ch )
    -{
    -    if (flags & WC_NO_BEST_FIT_CHARS) return (table->cp2uni[ch] == wch);
    -    if (ch != (unsigned char)table->info.def_char) return 1;
    -    return (wch == table->info.def_unicode_char);
    -}
    -
    -/* query necessary dst length for src string */
    -static int get_length_sbcs( const struct sbcs_table *table, int flags,
    -                            const WCHAR *src, unsigned int srclen, int *used )
    -{
    -    const unsigned char  * const uni2cp_low = table->uni2cp_low;
    -    const unsigned short * const uni2cp_high = table->uni2cp_high;
    -    int ret, tmp;
    -    WCHAR composed;
    -
    -    if (!used) used = &tmp;  /* avoid checking on every char */
    -    *used = 0;
    -
    -    for (ret = 0; srclen; ret++, src++, srclen--)
    -    {
    -        WCHAR wch = *src;
    -        unsigned char ch;
    -
    -        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    -        {
    -            /* now check if we can use the composed char */
    -            ch = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    -            if (is_valid_sbcs_mapping( table, flags, composed, ch ))
    -            {
    -                /* we have a good mapping, use it */
    -                src++;
    -                srclen--;
    -                continue;
    -            }
    -            /* no mapping for the composed char, check the other flags */
    -            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    -            {
    -                *used = 1;
    -                src++;  /* skip the non-spacing char */
    -                srclen--;
    -                continue;
    -            }
    -            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    -            {
    -                src++;
    -                srclen--;
    -            }
    -            /* WC_SEPCHARS is the default */
    -        }
    -        if (!*used)
    -        {
    -            ch = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    -            *used = !is_valid_sbcs_mapping( table, flags, wch, ch );
    -        }
    -    }
    -    return ret;
    -}
    -
    -/* wcstombs for single-byte code page */
    -static inline int wcstombs_sbcs( const struct sbcs_table *table,
    -                                 const WCHAR *src, unsigned int srclen,
    -                                 char *dst, unsigned int dstlen )
    -{
    -    const unsigned char  * const uni2cp_low = table->uni2cp_low;
    -    const unsigned short * const uni2cp_high = table->uni2cp_high;
    -    int ret = srclen;
    -
    -    if (dstlen < srclen)
    -    {
    -        /* buffer too small: fill it up to dstlen and return error */
    -        srclen = dstlen;
    -        ret = -1;
    -    }
    -
    -    if (dst <= (const char *)src && dst + 16 > (const char *)src)
    -    {
    -        /* overlapping buffers, do it char by char */
    -        while (srclen--)
    -        {
    -            *dst++ = uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)];
    -            src++;
    -        }
    -        return ret;
    -    }
    -
    -    for (;;)
    -    {
    -        switch(srclen)
    -        {
    -        default:
    -        case 16: dst[15] = uni2cp_low[uni2cp_high[src[15] >> 8] + (src[15] & 0xff)];
    -        case 15: dst[14] = uni2cp_low[uni2cp_high[src[14] >> 8] + (src[14] & 0xff)];
    -        case 14: dst[13] = uni2cp_low[uni2cp_high[src[13] >> 8] + (src[13] & 0xff)];
    -        case 13: dst[12] = uni2cp_low[uni2cp_high[src[12] >> 8] + (src[12] & 0xff)];
    -        case 12: dst[11] = uni2cp_low[uni2cp_high[src[11] >> 8] + (src[11] & 0xff)];
    -        case 11: dst[10] = uni2cp_low[uni2cp_high[src[10] >> 8] + (src[10] & 0xff)];
    -        case 10: dst[9]  = uni2cp_low[uni2cp_high[src[9]  >> 8] + (src[9]  & 0xff)];
    -        case 9:  dst[8]  = uni2cp_low[uni2cp_high[src[8]  >> 8] + (src[8]  & 0xff)];
    -        case 8:  dst[7]  = uni2cp_low[uni2cp_high[src[7]  >> 8] + (src[7]  & 0xff)];
    -        case 7:  dst[6]  = uni2cp_low[uni2cp_high[src[6]  >> 8] + (src[6]  & 0xff)];
    -        case 6:  dst[5]  = uni2cp_low[uni2cp_high[src[5]  >> 8] + (src[5]  & 0xff)];
    -        case 5:  dst[4]  = uni2cp_low[uni2cp_high[src[4]  >> 8] + (src[4]  & 0xff)];
    -        case 4:  dst[3]  = uni2cp_low[uni2cp_high[src[3]  >> 8] + (src[3]  & 0xff)];
    -        case 3:  dst[2]  = uni2cp_low[uni2cp_high[src[2]  >> 8] + (src[2]  & 0xff)];
    -        case 2:  dst[1]  = uni2cp_low[uni2cp_high[src[1]  >> 8] + (src[1]  & 0xff)];
    -        case 1:  dst[0]  = uni2cp_low[uni2cp_high[src[0]  >> 8] + (src[0]  & 0xff)];
    -        case 0: break;
    -        }
    -        if (srclen < 16) return ret;
    -        dst += 16;
    -        src += 16;
    -        srclen -= 16;
    -    }
    -}
    -
    -/* slow version of wcstombs_sbcs that handles the various flags */
    -static int wcstombs_sbcs_slow( const struct sbcs_table *table, int flags,
    -                               const WCHAR *src, unsigned int srclen,
    -                               char *dst, unsigned int dstlen,
    -                               const char *defchar, int *used )
    -{
    -    const unsigned char  * const uni2cp_low = table->uni2cp_low;
    -    const unsigned short * const uni2cp_high = table->uni2cp_high;
    -    const unsigned char table_default = table->info.def_char & 0xff;
    -    unsigned int len;
    -    int tmp;
    -    WCHAR composed;
    -
    -    if (!defchar) defchar = &table_default;
    -    if (!used) used = &tmp;  /* avoid checking on every char */
    -    *used = 0;
    -
    -    for (len = dstlen; srclen && len; dst++, len--, src++, srclen--)
    -    {
    -        WCHAR wch = *src;
    -
    -        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    -        {
    -            /* now check if we can use the composed char */
    -            *dst = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    -            if (is_valid_sbcs_mapping( table, flags, composed, *dst ))
    -            {
    -                /* we have a good mapping, use it */
    -                src++;
    -                srclen--;
    -                continue;
    -            }
    -            /* no mapping for the composed char, check the other flags */
    -            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    -            {
    -                *dst = *defchar;
    -                *used = 1;
    -                src++;  /* skip the non-spacing char */
    -                srclen--;
    -                continue;
    -            }
    -            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    -            {
    -                src++;
    -                srclen--;
    -            }
    -            /* WC_SEPCHARS is the default */
    -        }
    -
    -        *dst = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    -        if (!is_valid_sbcs_mapping( table, flags, wch, *dst ))
    -        {
    -            *dst = *defchar;
    -            *used = 1;
    -        }
    -    }
    -    if (srclen) return -1;  /* overflow */
    -    return dstlen - len;
    -}
    -
    -
    -/****************************************************************/
    -/* dbcs support */
    -
    -/* check if 'ch' is an acceptable dbcs mapping for 'wch' */
    -static inline int is_valid_dbcs_mapping( const struct dbcs_table *table, int flags,
    -                                         WCHAR wch, unsigned short ch )
    -{
    -    if (ch == table->info.def_char && wch != table->info.def_unicode_char) return 0;
    -    if (flags & WC_NO_BEST_FIT_CHARS)
    -    {
    -        /* check if char maps back to the same Unicode value */
    -        if (ch & 0xff00)
    -        {
    -            unsigned char off = table->cp2uni_leadbytes[ch >> 8];
    -            return (table->cp2uni[(off << 8) + (ch & 0xff)] == wch);
    -        }
    -        return (table->cp2uni[ch & 0xff] == wch);
    -    }
    -    return 1;
    -}
    -
    -/* query necessary dst length for src string */
    -static int get_length_dbcs( const struct dbcs_table *table, int flags,
    -                            const WCHAR *src, unsigned int srclen,
    -                            const char *defchar, int *used )
    -{
    -    const unsigned short * const uni2cp_low = table->uni2cp_low;
    -    const unsigned short * const uni2cp_high = table->uni2cp_high;
    -    WCHAR defchar_value = table->info.def_char;
    -    WCHAR composed;
    -    int len, tmp;
    -
    -    if (!defchar && !used && !(flags & WC_COMPOSITECHECK))
    -    {
    -        for (len = 0; srclen; srclen--, src++, len++)
    -        {
    -            if (uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)] & 0xff00) len++;
    -        }
    -        return len;
    -    }
    -
    -    if (defchar) defchar_value = defchar[1] ? ((defchar[0] << 8) | defchar[1]) : defchar[0];
    -    if (!used) used = &tmp;  /* avoid checking on every char */
    -    *used = 0;
    -    for (len = 0; srclen; len++, srclen--, src++)
    -    {
    -        unsigned short res;
    -        WCHAR wch = *src;
    -
    -        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    -        {
    -            /* now check if we can use the composed char */
    -            res = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    -
    -            if (is_valid_dbcs_mapping( table, flags, composed, res ))
    -            {
    -                /* we have a good mapping for the composed char, use it */
    -                if (res & 0xff00) len++;
    -                src++;
    -                srclen--;
    -                continue;
    -            }
    -            /* no mapping for the composed char, check the other flags */
    -            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    -            {
    -                if (defchar_value & 0xff00) len++;
    -                *used = 1;
    -                src++;  /* skip the non-spacing char */
    -                srclen--;
    -                continue;
    -            }
    -            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    -            {
    -                src++;
    -                srclen--;
    -            }
    -            /* WC_SEPCHARS is the default */
    -        }
    -
    -        res = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    -        if (!is_valid_dbcs_mapping( table, flags, wch, res ))
    -        {
    -            res = defchar_value;
    -            *used = 1;
    -        }
    -        if (res & 0xff00) len++;
    -    }
    -    return len;
    -}
    -
    -/* wcstombs for double-byte code page */
    -static inline int wcstombs_dbcs( const struct dbcs_table *table,
    -                                 const WCHAR *src, unsigned int srclen,
    -                                 char *dst, unsigned int dstlen )
    -{
    -    const unsigned short * const uni2cp_low = table->uni2cp_low;
    -    const unsigned short * const uni2cp_high = table->uni2cp_high;
    -    int len;
    -
    -    for (len = dstlen; srclen && len; len--, srclen--, src++)
    -    {
    -        unsigned short res = uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)];
    -        if (res & 0xff00)
    -        {
    -            if (len == 1) break;  /* do not output a partial char */
    -            len--;
    -            *dst++ = res >> 8;
    -        }
    -        *dst++ = (char)res;
    -    }
    -    if (srclen) return -1;  /* overflow */
    -    return dstlen - len;
    -}
    -
    -/* slow version of wcstombs_dbcs that handles the various flags */
    -static int wcstombs_dbcs_slow( const struct dbcs_table *table, int flags,
    -                               const WCHAR *src, unsigned int srclen,
    -                               char *dst, unsigned int dstlen,
    -                               const char *defchar, int *used )
    -{
    -    const unsigned short * const uni2cp_low = table->uni2cp_low;
    -    const unsigned short * const uni2cp_high = table->uni2cp_high;
    -    WCHAR defchar_value = table->info.def_char;
    -    WCHAR composed;
    -    int len, tmp;
    -
    -    if (defchar) defchar_value = defchar[1] ? ((defchar[0] << 8) | defchar[1]) : defchar[0];
    -    if (!used) used = &tmp;  /* avoid checking on every char */
    -    *used = 0;
    -
    -    for (len = dstlen; srclen && len; len--, srclen--, src++)
    -    {
    -        unsigned short res;
    -        WCHAR wch = *src;
    -
    -        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    -        {
    -            /* now check if we can use the composed char */
    -            res = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    -
    -            if (is_valid_dbcs_mapping( table, flags, composed, res ))
    -            {
    -                /* we have a good mapping for the composed char, use it */
    -                src++;
    -                srclen--;
    -                goto output_char;
    -            }
    -            /* no mapping for the composed char, check the other flags */
    -            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    -            {
    -                res = defchar_value;
    -                *used = 1;
    -                src++;  /* skip the non-spacing char */
    -                srclen--;
    -                goto output_char;
    -            }
    -            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    -            {
    -                src++;
    -                srclen--;
    -            }
    -            /* WC_SEPCHARS is the default */
    -        }
    -
    -        res = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    -        if (!is_valid_dbcs_mapping( table, flags, wch, res ))
    -        {
    -            res = defchar_value;
    -            *used = 1;
    -        }
    -
    -    output_char:
    -        if (res & 0xff00)
    -        {
    -            if (len == 1) break;  /* do not output a partial char */
    -            len--;
    -            *dst++ = res >> 8;
    -        }
    -        *dst++ = (char)res;
    -    }
    -    if (srclen) return -1;  /* overflow */
    -    return dstlen - len;
    -}
    -
    -/* wide char to multi byte string conversion */
    -/* return -1 on dst buffer overflow */
    -int wine_cp_wcstombs( const union cptable *table, int flags,
    -                      const WCHAR *src, int srclen,
    -                      char *dst, int dstlen, const char *defchar, int *used )
    -{
    -    if (table->info.char_size == 1)
    -    {
    -        if (flags || defchar || used)
    -        {
    -            if (!dstlen) return get_length_sbcs( &table->sbcs, flags, src, srclen, used );
    -            return wcstombs_sbcs_slow( &table->sbcs, flags, src, srclen,
    -                                       dst, dstlen, defchar, used );
    -        }
    -        if (!dstlen) return srclen;
    -        return wcstombs_sbcs( &table->sbcs, src, srclen, dst, dstlen );
    -    }
    -    else /* mbcs */
    -    {
    -        if (!dstlen) return get_length_dbcs( &table->dbcs, flags, src, srclen, defchar, used );
    -        if (flags || defchar || used)
    -            return wcstombs_dbcs_slow( &table->dbcs, flags, src, srclen,
    -                                       dst, dstlen, defchar, used );
    -        return wcstombs_dbcs( &table->dbcs, src, srclen, dst, dstlen );
    -    }
    -}
    -
    -/* CP_SYMBOL implementation */
    -/* return -1 on dst buffer overflow, -2 on invalid character */
    -int wine_cpsymbol_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen)
    -{
    -    int len, i;
    -    if( dstlen == 0) return srclen;
    -    len = dstlen > srclen ? srclen : dstlen;
    -    for( i = 0; i < len; i++)
    -    {
    -        WCHAR w = src [ i ];
    -        if( w < 0x20 )
    -            dst[i] = w;
    -        else if( w >= 0xf020 && w < 0xf100)
    -            dst[i] = w - 0xf000;
    -        else
    -            return -2;
    -    }
    -    if( srclen > len) return -1;
    -    return len;
    -}
    +/*
    + * WideCharToMultiByte implementation
    + *
    + * Copyright 2000 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +
    +#include "wine/unicode.h"
    +
    +/* search for a character in the unicode_compose_table; helper for compose() */
    +static inline int binary_search( WCHAR ch, int low, int high )
    +{
    +    extern const WCHAR unicode_compose_table[];
    +    while (low <= high)
    +    {
    +        int pos = (low + high) / 2;
    +        if (unicode_compose_table[2*pos] < ch)
    +        {
    +            low = pos + 1;
    +            continue;
    +        }
    +        if (unicode_compose_table[2*pos] > ch)
    +        {
    +            high = pos - 1;
    +            continue;
    +        }
    +        return pos;
    +    }
    +    return -1;
    +}
    +
    +/* return the result of the composition of two Unicode chars, or 0 if none */
    +static WCHAR compose( const WCHAR *str )
    +{
    +    extern const WCHAR unicode_compose_table[];
    +    extern const unsigned int unicode_compose_table_size;
    +
    +    int idx = 1, low = 0, high = unicode_compose_table_size - 1;
    +    for (;;)
    +    {
    +        int pos = binary_search( str[idx], low, high );
    +        if (pos == -1) return 0;
    +        if (!idx--) return unicode_compose_table[2*pos+1];
    +        low = unicode_compose_table[2*pos+1];
    +        high = unicode_compose_table[2*pos+3] - 1;
    +    }
    +}
    +
    +
    +/****************************************************************/
    +/* sbcs support */
    +
    +/* check if 'ch' is an acceptable sbcs mapping for 'wch' */
    +static inline int is_valid_sbcs_mapping( const struct sbcs_table *table, int flags,
    +                                         WCHAR wch, unsigned char ch )
    +{
    +    if (flags & WC_NO_BEST_FIT_CHARS) return (table->cp2uni[ch] == wch);
    +    if (ch != (unsigned char)table->info.def_char) return 1;
    +    return (wch == table->info.def_unicode_char);
    +}
    +
    +/* query necessary dst length for src string */
    +static int get_length_sbcs( const struct sbcs_table *table, int flags,
    +                            const WCHAR *src, unsigned int srclen, int *used )
    +{
    +    const unsigned char  * const uni2cp_low = table->uni2cp_low;
    +    const unsigned short * const uni2cp_high = table->uni2cp_high;
    +    int ret, tmp;
    +    WCHAR composed;
    +
    +    if (!used) used = &tmp;  /* avoid checking on every char */
    +    *used = 0;
    +
    +    for (ret = 0; srclen; ret++, src++, srclen--)
    +    {
    +        WCHAR wch = *src;
    +        unsigned char ch;
    +
    +        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    +        {
    +            /* now check if we can use the composed char */
    +            ch = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    +            if (is_valid_sbcs_mapping( table, flags, composed, ch ))
    +            {
    +                /* we have a good mapping, use it */
    +                src++;
    +                srclen--;
    +                continue;
    +            }
    +            /* no mapping for the composed char, check the other flags */
    +            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    +            {
    +                *used = 1;
    +                src++;  /* skip the non-spacing char */
    +                srclen--;
    +                continue;
    +            }
    +            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    +            {
    +                src++;
    +                srclen--;
    +            }
    +            /* WC_SEPCHARS is the default */
    +        }
    +        if (!*used)
    +        {
    +            ch = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    +            *used = !is_valid_sbcs_mapping( table, flags, wch, ch );
    +        }
    +    }
    +    return ret;
    +}
    +
    +/* wcstombs for single-byte code page */
    +static inline int wcstombs_sbcs( const struct sbcs_table *table,
    +                                 const WCHAR *src, unsigned int srclen,
    +                                 char *dst, unsigned int dstlen )
    +{
    +    const unsigned char  * const uni2cp_low = table->uni2cp_low;
    +    const unsigned short * const uni2cp_high = table->uni2cp_high;
    +    int ret = srclen;
    +
    +    if (dstlen < srclen)
    +    {
    +        /* buffer too small: fill it up to dstlen and return error */
    +        srclen = dstlen;
    +        ret = -1;
    +    }
    +
    +    if (dst <= (const char *)src && dst + 16 > (const char *)src)
    +    {
    +        /* overlapping buffers, do it char by char */
    +        while (srclen--)
    +        {
    +            *dst++ = uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)];
    +            src++;
    +        }
    +        return ret;
    +    }
    +
    +    for (;;)
    +    {
    +        switch(srclen)
    +        {
    +        default:
    +        case 16: dst[15] = uni2cp_low[uni2cp_high[src[15] >> 8] + (src[15] & 0xff)];
    +        case 15: dst[14] = uni2cp_low[uni2cp_high[src[14] >> 8] + (src[14] & 0xff)];
    +        case 14: dst[13] = uni2cp_low[uni2cp_high[src[13] >> 8] + (src[13] & 0xff)];
    +        case 13: dst[12] = uni2cp_low[uni2cp_high[src[12] >> 8] + (src[12] & 0xff)];
    +        case 12: dst[11] = uni2cp_low[uni2cp_high[src[11] >> 8] + (src[11] & 0xff)];
    +        case 11: dst[10] = uni2cp_low[uni2cp_high[src[10] >> 8] + (src[10] & 0xff)];
    +        case 10: dst[9]  = uni2cp_low[uni2cp_high[src[9]  >> 8] + (src[9]  & 0xff)];
    +        case 9:  dst[8]  = uni2cp_low[uni2cp_high[src[8]  >> 8] + (src[8]  & 0xff)];
    +        case 8:  dst[7]  = uni2cp_low[uni2cp_high[src[7]  >> 8] + (src[7]  & 0xff)];
    +        case 7:  dst[6]  = uni2cp_low[uni2cp_high[src[6]  >> 8] + (src[6]  & 0xff)];
    +        case 6:  dst[5]  = uni2cp_low[uni2cp_high[src[5]  >> 8] + (src[5]  & 0xff)];
    +        case 5:  dst[4]  = uni2cp_low[uni2cp_high[src[4]  >> 8] + (src[4]  & 0xff)];
    +        case 4:  dst[3]  = uni2cp_low[uni2cp_high[src[3]  >> 8] + (src[3]  & 0xff)];
    +        case 3:  dst[2]  = uni2cp_low[uni2cp_high[src[2]  >> 8] + (src[2]  & 0xff)];
    +        case 2:  dst[1]  = uni2cp_low[uni2cp_high[src[1]  >> 8] + (src[1]  & 0xff)];
    +        case 1:  dst[0]  = uni2cp_low[uni2cp_high[src[0]  >> 8] + (src[0]  & 0xff)];
    +        case 0: break;
    +        }
    +        if (srclen < 16) return ret;
    +        dst += 16;
    +        src += 16;
    +        srclen -= 16;
    +    }
    +}
    +
    +/* slow version of wcstombs_sbcs that handles the various flags */
    +static int wcstombs_sbcs_slow( const struct sbcs_table *table, int flags,
    +                               const WCHAR *src, unsigned int srclen,
    +                               char *dst, unsigned int dstlen,
    +                               const char *defchar, int *used )
    +{
    +    const unsigned char  * const uni2cp_low = table->uni2cp_low;
    +    const unsigned short * const uni2cp_high = table->uni2cp_high;
    +    const unsigned char table_default = table->info.def_char & 0xff;
    +    unsigned int len;
    +    int tmp;
    +    WCHAR composed;
    +
    +    if (!defchar) defchar = &table_default;
    +    if (!used) used = &tmp;  /* avoid checking on every char */
    +    *used = 0;
    +
    +    for (len = dstlen; srclen && len; dst++, len--, src++, srclen--)
    +    {
    +        WCHAR wch = *src;
    +
    +        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    +        {
    +            /* now check if we can use the composed char */
    +            *dst = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    +            if (is_valid_sbcs_mapping( table, flags, composed, *dst ))
    +            {
    +                /* we have a good mapping, use it */
    +                src++;
    +                srclen--;
    +                continue;
    +            }
    +            /* no mapping for the composed char, check the other flags */
    +            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    +            {
    +                *dst = *defchar;
    +                *used = 1;
    +                src++;  /* skip the non-spacing char */
    +                srclen--;
    +                continue;
    +            }
    +            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    +            {
    +                src++;
    +                srclen--;
    +            }
    +            /* WC_SEPCHARS is the default */
    +        }
    +
    +        *dst = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    +        if (!is_valid_sbcs_mapping( table, flags, wch, *dst ))
    +        {
    +            *dst = *defchar;
    +            *used = 1;
    +        }
    +    }
    +    if (srclen) return -1;  /* overflow */
    +    return dstlen - len;
    +}
    +
    +
    +/****************************************************************/
    +/* dbcs support */
    +
    +/* check if 'ch' is an acceptable dbcs mapping for 'wch' */
    +static inline int is_valid_dbcs_mapping( const struct dbcs_table *table, int flags,
    +                                         WCHAR wch, unsigned short ch )
    +{
    +    if (ch == table->info.def_char && wch != table->info.def_unicode_char) return 0;
    +    if (flags & WC_NO_BEST_FIT_CHARS)
    +    {
    +        /* check if char maps back to the same Unicode value */
    +        if (ch & 0xff00)
    +        {
    +            unsigned char off = table->cp2uni_leadbytes[ch >> 8];
    +            return (table->cp2uni[(off << 8) + (ch & 0xff)] == wch);
    +        }
    +        return (table->cp2uni[ch & 0xff] == wch);
    +    }
    +    return 1;
    +}
    +
    +/* query necessary dst length for src string */
    +static int get_length_dbcs( const struct dbcs_table *table, int flags,
    +                            const WCHAR *src, unsigned int srclen,
    +                            const char *defchar, int *used )
    +{
    +    const unsigned short * const uni2cp_low = table->uni2cp_low;
    +    const unsigned short * const uni2cp_high = table->uni2cp_high;
    +    WCHAR defchar_value = table->info.def_char;
    +    WCHAR composed;
    +    int len, tmp;
    +
    +    if (!defchar && !used && !(flags & WC_COMPOSITECHECK))
    +    {
    +        for (len = 0; srclen; srclen--, src++, len++)
    +        {
    +            if (uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)] & 0xff00) len++;
    +        }
    +        return len;
    +    }
    +
    +    if (defchar) defchar_value = defchar[1] ? ((defchar[0] << 8) | defchar[1]) : defchar[0];
    +    if (!used) used = &tmp;  /* avoid checking on every char */
    +    *used = 0;
    +    for (len = 0; srclen; len++, srclen--, src++)
    +    {
    +        unsigned short res;
    +        WCHAR wch = *src;
    +
    +        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    +        {
    +            /* now check if we can use the composed char */
    +            res = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    +
    +            if (is_valid_dbcs_mapping( table, flags, composed, res ))
    +            {
    +                /* we have a good mapping for the composed char, use it */
    +                if (res & 0xff00) len++;
    +                src++;
    +                srclen--;
    +                continue;
    +            }
    +            /* no mapping for the composed char, check the other flags */
    +            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    +            {
    +                if (defchar_value & 0xff00) len++;
    +                *used = 1;
    +                src++;  /* skip the non-spacing char */
    +                srclen--;
    +                continue;
    +            }
    +            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    +            {
    +                src++;
    +                srclen--;
    +            }
    +            /* WC_SEPCHARS is the default */
    +        }
    +
    +        res = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    +        if (!is_valid_dbcs_mapping( table, flags, wch, res ))
    +        {
    +            res = defchar_value;
    +            *used = 1;
    +        }
    +        if (res & 0xff00) len++;
    +    }
    +    return len;
    +}
    +
    +/* wcstombs for double-byte code page */
    +static inline int wcstombs_dbcs( const struct dbcs_table *table,
    +                                 const WCHAR *src, unsigned int srclen,
    +                                 char *dst, unsigned int dstlen )
    +{
    +    const unsigned short * const uni2cp_low = table->uni2cp_low;
    +    const unsigned short * const uni2cp_high = table->uni2cp_high;
    +    int len;
    +
    +    for (len = dstlen; srclen && len; len--, srclen--, src++)
    +    {
    +        unsigned short res = uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)];
    +        if (res & 0xff00)
    +        {
    +            if (len == 1) break;  /* do not output a partial char */
    +            len--;
    +            *dst++ = res >> 8;
    +        }
    +        *dst++ = (char)res;
    +    }
    +    if (srclen) return -1;  /* overflow */
    +    return dstlen - len;
    +}
    +
    +/* slow version of wcstombs_dbcs that handles the various flags */
    +static int wcstombs_dbcs_slow( const struct dbcs_table *table, int flags,
    +                               const WCHAR *src, unsigned int srclen,
    +                               char *dst, unsigned int dstlen,
    +                               const char *defchar, int *used )
    +{
    +    const unsigned short * const uni2cp_low = table->uni2cp_low;
    +    const unsigned short * const uni2cp_high = table->uni2cp_high;
    +    WCHAR defchar_value = table->info.def_char;
    +    WCHAR composed;
    +    int len, tmp;
    +
    +    if (defchar) defchar_value = defchar[1] ? ((defchar[0] << 8) | defchar[1]) : defchar[0];
    +    if (!used) used = &tmp;  /* avoid checking on every char */
    +    *used = 0;
    +
    +    for (len = dstlen; srclen && len; len--, srclen--, src++)
    +    {
    +        unsigned short res;
    +        WCHAR wch = *src;
    +
    +        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))
    +        {
    +            /* now check if we can use the composed char */
    +            res = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];
    +
    +            if (is_valid_dbcs_mapping( table, flags, composed, res ))
    +            {
    +                /* we have a good mapping for the composed char, use it */
    +                src++;
    +                srclen--;
    +                goto output_char;
    +            }
    +            /* no mapping for the composed char, check the other flags */
    +            if (flags & WC_DEFAULTCHAR) /* use the default char instead */
    +            {
    +                res = defchar_value;
    +                *used = 1;
    +                src++;  /* skip the non-spacing char */
    +                srclen--;
    +                goto output_char;
    +            }
    +            if (flags & WC_DISCARDNS) /* skip the second char of the composition */
    +            {
    +                src++;
    +                srclen--;
    +            }
    +            /* WC_SEPCHARS is the default */
    +        }
    +
    +        res = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];
    +        if (!is_valid_dbcs_mapping( table, flags, wch, res ))
    +        {
    +            res = defchar_value;
    +            *used = 1;
    +        }
    +
    +    output_char:
    +        if (res & 0xff00)
    +        {
    +            if (len == 1) break;  /* do not output a partial char */
    +            len--;
    +            *dst++ = res >> 8;
    +        }
    +        *dst++ = (char)res;
    +    }
    +    if (srclen) return -1;  /* overflow */
    +    return dstlen - len;
    +}
    +
    +/* wide char to multi byte string conversion */
    +/* return -1 on dst buffer overflow */
    +int wine_cp_wcstombs( const union cptable *table, int flags,
    +                      const WCHAR *src, int srclen,
    +                      char *dst, int dstlen, const char *defchar, int *used )
    +{
    +    if (table->info.char_size == 1)
    +    {
    +        if (flags || defchar || used)
    +        {
    +            if (!dstlen) return get_length_sbcs( &table->sbcs, flags, src, srclen, used );
    +            return wcstombs_sbcs_slow( &table->sbcs, flags, src, srclen,
    +                                       dst, dstlen, defchar, used );
    +        }
    +        if (!dstlen) return srclen;
    +        return wcstombs_sbcs( &table->sbcs, src, srclen, dst, dstlen );
    +    }
    +    else /* mbcs */
    +    {
    +        if (!dstlen) return get_length_dbcs( &table->dbcs, flags, src, srclen, defchar, used );
    +        if (flags || defchar || used)
    +            return wcstombs_dbcs_slow( &table->dbcs, flags, src, srclen,
    +                                       dst, dstlen, defchar, used );
    +        return wcstombs_dbcs( &table->dbcs, src, srclen, dst, dstlen );
    +    }
    +}
    +
    +/* CP_SYMBOL implementation */
    +/* return -1 on dst buffer overflow, -2 on invalid character */
    +int wine_cpsymbol_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen)
    +{
    +    int len, i;
    +    if( dstlen == 0) return srclen;
    +    len = dstlen > srclen ? srclen : dstlen;
    +    for( i = 0; i < len; i++)
    +    {
    +        WCHAR w = src [ i ];
    +        if( w < 0x20 )
    +            dst[i] = w;
    +        else if( w >= 0xf020 && w < 0xf100)
    +            dst[i] = w - 0xf000;
    +        else
    +            return -2;
    +    }
    +    if( srclen > len) return -1;
    +    return len;
    +}
    diff --git a/reactos/lib/unicode/wctype.c b/reactos/tools/unicode/wctype.c
    similarity index 98%
    rename from reactos/lib/unicode/wctype.c
    rename to reactos/tools/unicode/wctype.c
    index 626baab4048..4156e1e5ca8 100644
    --- a/reactos/lib/unicode/wctype.c
    +++ b/reactos/tools/unicode/wctype.c
    @@ -1,1802 +1,1802 @@
    -/* Unicode ctype tables */
    -/* Automatically generated; DO NOT EDIT!! */
    -
    -#include "wine/unicode.h"
    -
    -const unsigned short wine_wctype_table[14336] =
    -{
    -    /* offsets */
    -    0x0100, 0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0800,
    -    0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x0f00, 0x1000,
    -    0x1100, 0x1200, 0x1300, 0x1400, 0x1500, 0x1600, 0x1700, 0x1800,
    -    0x1900, 0x1a00, 0x0900, 0x0900, 0x0900, 0x1b00, 0x1c00, 0x1d00,
    -    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,
    -    0x2300, 0x2300, 0x2300, 0x2600, 0x0900, 0x0900, 0x2700, 0x2800,
    -    0x2900, 0x2a00, 0x2b00, 0x2c00, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x2d00, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x2e00,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x2f00, 0x0900, 0x0900, 0x0900,
    -    0x0900, 0x0900, 0x0900, 0x0900, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    -    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x3000,
    -    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    -    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    -    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    -    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    -    0x3100, 0x1600, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600, 0x3700,
    -    /* values */
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x9068, 0x8028, 0x9028, 0xa028, 0x8028, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x8020, 0x8020, 0x8020, 0x9020,
    -    0xa048, 0xb010, 0xb010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0x5010, 0x7010, 0x5010, 0x7010, 0x4010,
    -    0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084,
    -    0x3084, 0x3084, 0x7010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x8020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    -    0x7048, 0xb010, 0x5010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0x1102, 0xb010, 0xb010, 0xb000, 0xb010, 0xb010,
    -    0x5010, 0x5010, 0x3010, 0x3010, 0xb010, 0x1102, 0xb010, 0xb010,
    -    0xb010, 0x3010, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0xb010,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    -    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    -    0x1102, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102,
    -    0x1102, 0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    -    0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1102, 0x1101, 0x1101, 0x1102, 0x1101, 0x1101,
    -    0x1101, 0x1102, 0x1102, 0x1102, 0x1101, 0x1101, 0x1102, 0x1101,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    -    0x1102, 0x1101, 0x1102, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    -    0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    -    0x1101, 0x1102, 0x1102, 0x1100, 0x1101, 0x1102, 0x1102, 0x1102,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1101, 0x1103, 0x1102, 0x1101,
    -    0x1103, 0x1102, 0x1101, 0x1103, 0x1102, 0x1101, 0x1102, 0x1101,
    -    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    -    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1102, 0x1101, 0x1103, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1102, 0x1102, 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,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0112, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x0000, 0xb010, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x1101, 0xb010,
    -    0x1101, 0x1101, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101, 0x1101,
    -    0x1102, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x0000, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000,
    -    0x1102, 0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1101, 0x1102, 0xb010, 0x1101,
    -    0x1102, 0x1101, 0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000,
    -    0x0010, 0x0010, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    -    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x0000,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x0000, 0x0000,
    -    0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    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, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000,
    -    0x0000, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x0000, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x0000, 0x1010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x2010, 0x0010,
    -    0x2010, 0x0010, 0x0010, 0x2010, 0x0010, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2100, 0x2100, 0x2100, 0x2010, 0x2010, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2000, 0x2000, 0x2000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x7010, 0x2010, 0xb010, 0xb010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x2010, 0x0000, 0x0000, 0x0000, 0x2010,
    -    0x0000, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004,
    -    0x6004, 0x6004, 0x5010, 0x6010, 0x6010, 0x2010, 0x2100, 0x2100,
    -    0x0010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2010, 0x2100, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2000, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2010, 0x2010, 0x0010,
    -    0x0010, 0xb010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2100, 0x2100,
    -    0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004,
    -    0x3004, 0x3004, 0x2100, 0x2100, 0x2100, 0x2010, 0x2010, 0x2100,
    -    0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010,
    -    0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x0000, 0x0000,
    -    0x2100, 0x0010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x2100, 0x2100, 0x2100,
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x2100, 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, 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, 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,
    -    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, 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, 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, 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,
    -    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, 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, 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, 0x0010, 0x0010, 0x1010, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    -    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    -    0x1100, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0010, 0x0010, 0x1010, 0x1010, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x1100,
    -    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    -    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x1010,
    -    0x1010, 0x0000, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100,
    -    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1100, 0x1100, 0x5010, 0x5010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0010, 0x0010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100,
    -    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x0000, 0x1010, 0x1010,
    -    0x1010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
    -    0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x0010, 0x0010, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0010, 0x0010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    -    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0010,
    -    0x0010, 0x1010, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    -    0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x0000, 0x5010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x1100,
    -    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x0010,
    -    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x1010,
    -    0x1010, 0x0000, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x1010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1010, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0010, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x1100, 0x1100,
    -    0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,
    -    0x0010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,
    -    0x1010, 0x0000, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0x5010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x1010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010,
    -    0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0010, 0x0010,
    -    0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x1010, 0x1010,
    -    0x1010, 0x0000, 0x1010, 0x1010, 0x0010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,
    -    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x1010, 0x1010,
    -    0x1010, 0x0000, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    -    0x1010, 0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0010, 0x0000,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0010, 0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x5010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1010, 0x1010, 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, 0x0000, 0x0000,
    -    0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x1100,
    -    0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x1100, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x1100,
    -    0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0010, 0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1010, 0x0000,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x0000, 0x0000, 0x1100, 0x1100, 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,
    -    0x1100, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010, 0x0010,
    -    0x1010, 0x0010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x0010, 0x0010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x1010,
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x1100, 0x1100, 0x0000, 0x1010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x1010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010,
    -    0x1010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010,
    -    0x0010, 0x0010, 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, 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, 0x0000, 0x0000,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 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, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xa008, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    -    0x1100, 0x0000, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1000, 0x1000, 0x1010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010,
    -    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x5010, 0x1100, 0x0010, 0x0000, 0x0000,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0x0010, 0x0010, 0x0010, 0xa008, 0x0000,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1010, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x0010, 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, 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, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    -    0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1010, 0x1010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x1004, 0x1004,
    -    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 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, 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,
    -    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    -    0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x0000, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0x1102, 0xb010,
    -    0xb010, 0xb010, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0xb010, 0xb010, 0xb010,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010,
    -    0x0000, 0x0000, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0x0000,
    -    0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008,
    -    0xa008, 0xa008, 0xa008, 0x0008, 0x0000, 0x0000, 0x1000, 0x2000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xa000, 0x8000, 0xb000, 0xb000, 0xb000, 0xb000, 0xb000, 0xa008,
    -    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0xb010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa008,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x3010, 0x1102, 0x0000, 0x0000, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x1102,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010,
    -    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010,
    -    0x5010, 0x5010, 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,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0x1101,
    -    0xb010, 0xb010, 0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102,
    -    0x1101, 0x1101, 0x1101, 0x1102, 0xb010, 0x1101, 0xb010, 0xb010,
    -    0xb010, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0x1101, 0xb010, 0x1101, 0xb010,
    -    0x1101, 0xb010, 0x1101, 0x1101, 0x1101, 0x1101, 0x5010, 0x1102,
    -    0x1101, 0x1101, 0xb010, 0x1101, 0x1102, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1102, 0xb010, 0xb010, 0x0000, 0x1102, 0x1101, 0x1101,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1101, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    -    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    -    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    -    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    -    0x3010, 0x3010, 0x3010, 0x3010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1111, 0x1111,
    -    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    -    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    -    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    -    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    -    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    -    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    -    0x1112, 0x1112, 0x3010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 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, 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, 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, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0xb010, 0x0000, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0xb010, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,
    -    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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,
    -    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, 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, 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, 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,
    -    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, 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, 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, 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,
    -    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, 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,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xa008, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1100, 0x1010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1100, 0xb010, 0xb010, 0xb010,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x0000, 0x0010, 0x0010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1100,
    -    0xb010, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0xb010, 0x1010, 0x1010, 0x1010, 0x1100,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0x0000,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0x0000, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    -    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 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,
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 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, 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,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2100, 0x0010, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x5010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x2100, 0x0000,
    -    0x2100, 0x2100, 0x0000, 0x2100, 0x2100, 0x0000, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 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, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0xb010, 0xb010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x0000, 0x0000, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2010, 0xb010, 0x0000, 0x0000,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0x7010, 0xb010, 0x7010, 0x0000, 0xb010, 0x7010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x5010,
    -    0xb010, 0xb010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x0000,
    -    0xb010, 0x5010, 0x5010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    -    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0048,
    -    0x0000, 0xb010, 0xb010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0x5010, 0x7010, 0x5010, 0x7010, 0x4010,
    -    0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084,
    -    0x3084, 0x3084, 0x7010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    -    0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    -    0x1102, 0x1102, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1010, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    -    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    -    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    -    0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x5010, 0x5010, 0x0000,
    -    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    -    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x0000, 0x0000
    -};
    +/* Unicode ctype tables */
    +/* Automatically generated; DO NOT EDIT!! */
    +
    +#include "wine/unicode.h"
    +
    +const unsigned short wine_wctype_table[14336] =
    +{
    +    /* offsets */
    +    0x0100, 0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0800,
    +    0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x0f00, 0x1000,
    +    0x1100, 0x1200, 0x1300, 0x1400, 0x1500, 0x1600, 0x1700, 0x1800,
    +    0x1900, 0x1a00, 0x0900, 0x0900, 0x0900, 0x1b00, 0x1c00, 0x1d00,
    +    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,
    +    0x2300, 0x2300, 0x2300, 0x2600, 0x0900, 0x0900, 0x2700, 0x2800,
    +    0x2900, 0x2a00, 0x2b00, 0x2c00, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x2d00, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x2e00,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x2f00, 0x0900, 0x0900, 0x0900,
    +    0x0900, 0x0900, 0x0900, 0x0900, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,
    +    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x3000,
    +    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    +    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    +    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    +    0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100, 0x3100,
    +    0x3100, 0x1600, 0x3200, 0x3300, 0x3400, 0x3500, 0x3600, 0x3700,
    +    /* values */
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x9068, 0x8028, 0x9028, 0xa028, 0x8028, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x8020, 0x8020, 0x8020, 0x9020,
    +    0xa048, 0xb010, 0xb010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0x5010, 0x7010, 0x5010, 0x7010, 0x4010,
    +    0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084,
    +    0x3084, 0x3084, 0x7010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x8020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
    +    0x7048, 0xb010, 0x5010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0x1102, 0xb010, 0xb010, 0xb000, 0xb010, 0xb010,
    +    0x5010, 0x5010, 0x3010, 0x3010, 0xb010, 0x1102, 0xb010, 0xb010,
    +    0xb010, 0x3010, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0xb010,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    +    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    +    0x1102, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102,
    +    0x1102, 0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    +    0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1102, 0x1101, 0x1101, 0x1102, 0x1101, 0x1101,
    +    0x1101, 0x1102, 0x1102, 0x1102, 0x1101, 0x1101, 0x1102, 0x1101,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    +    0x1102, 0x1101, 0x1102, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    +    0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    +    0x1101, 0x1102, 0x1102, 0x1100, 0x1101, 0x1102, 0x1102, 0x1102,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1101, 0x1103, 0x1102, 0x1101,
    +    0x1103, 0x1102, 0x1101, 0x1103, 0x1102, 0x1101, 0x1102, 0x1101,
    +    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    +    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1102, 0x1101, 0x1103, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1102, 0x1102, 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,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0112, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x0000, 0xb010, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x1101, 0xb010,
    +    0x1101, 0x1101, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101, 0x1101,
    +    0x1102, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x0000, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000,
    +    0x1102, 0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1101, 0x1102, 0xb010, 0x1101,
    +    0x1102, 0x1101, 0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000,
    +    0x0010, 0x0010, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,
    +    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x0000,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x0000, 0x0000,
    +    0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    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, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000,
    +    0x0000, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x0000, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x0000, 0x1010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x2010, 0x0010,
    +    0x2010, 0x0010, 0x0010, 0x2010, 0x0010, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2100, 0x2100, 0x2100, 0x2010, 0x2010, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2000, 0x2000, 0x2000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x7010, 0x2010, 0xb010, 0xb010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x2010, 0x0000, 0x0000, 0x0000, 0x2010,
    +    0x0000, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004,
    +    0x6004, 0x6004, 0x5010, 0x6010, 0x6010, 0x2010, 0x2100, 0x2100,
    +    0x0010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2010, 0x2100, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2000, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2010, 0x2010, 0x0010,
    +    0x0010, 0xb010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2100, 0x2100,
    +    0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004,
    +    0x3004, 0x3004, 0x2100, 0x2100, 0x2100, 0x2010, 0x2010, 0x2100,
    +    0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010,
    +    0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x0000, 0x0000,
    +    0x2100, 0x0010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x2100, 0x2100, 0x2100,
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x2100, 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, 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, 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,
    +    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, 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, 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, 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,
    +    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, 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, 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, 0x0010, 0x0010, 0x1010, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    +    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    +    0x1100, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0010, 0x0010, 0x1010, 0x1010, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x1100,
    +    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    +    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x1010,
    +    0x1010, 0x0000, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100,
    +    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1100, 0x1100, 0x5010, 0x5010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0010, 0x0010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100,
    +    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x0000, 0x1010, 0x1010,
    +    0x1010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
    +    0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x0010, 0x0010, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0010, 0x0010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    +    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0010,
    +    0x0010, 0x1010, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    +    0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x0000, 0x5010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x1100,
    +    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x0010,
    +    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x1010,
    +    0x1010, 0x0000, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x1010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1010, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0010, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x1100, 0x1100,
    +    0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,
    +    0x0010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,
    +    0x1010, 0x0000, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0x5010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x1010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010,
    +    0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0010, 0x0010,
    +    0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x1010, 0x1010,
    +    0x1010, 0x0000, 0x1010, 0x1010, 0x0010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,
    +    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x1010, 0x1010,
    +    0x1010, 0x0000, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,
    +    0x1010, 0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0010, 0x0000,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0010, 0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x5010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1010, 0x1010, 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, 0x0000, 0x0000,
    +    0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x1100,
    +    0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x1100, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x1100,
    +    0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0010, 0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1010, 0x0000,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x0000, 0x0000, 0x1100, 0x1100, 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,
    +    0x1100, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010, 0x0010,
    +    0x1010, 0x0010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x0010, 0x0010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x1010,
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x1100, 0x1100, 0x0000, 0x1010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x1010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010,
    +    0x1010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010,
    +    0x0010, 0x0010, 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, 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, 0x0000, 0x0000,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 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, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xa008, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,
    +    0x1100, 0x0000, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1000, 0x1000, 0x1010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010,
    +    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x5010, 0x1100, 0x0010, 0x0000, 0x0000,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0x0010, 0x0010, 0x0010, 0xa008, 0x0000,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1010, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x0010, 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, 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, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    +    0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1010, 0x1010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x1004, 0x1004,
    +    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 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, 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,
    +    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, 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, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,
    +    0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x0000, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0x1102, 0xb010,
    +    0xb010, 0xb010, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0xb010, 0xb010, 0xb010,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010,
    +    0x0000, 0x0000, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0x0000,
    +    0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008,
    +    0xa008, 0xa008, 0xa008, 0x0008, 0x0000, 0x0000, 0x1000, 0x2000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xa000, 0x8000, 0xb000, 0xb000, 0xb000, 0xb000, 0xb000, 0xa008,
    +    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0xb010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa008,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x3010, 0x1102, 0x0000, 0x0000, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x1102,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010,
    +    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010,
    +    0x5010, 0x5010, 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,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0x1101,
    +    0xb010, 0xb010, 0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102,
    +    0x1101, 0x1101, 0x1101, 0x1102, 0xb010, 0x1101, 0xb010, 0xb010,
    +    0xb010, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0x1101, 0xb010, 0x1101, 0xb010,
    +    0x1101, 0xb010, 0x1101, 0x1101, 0x1101, 0x1101, 0x5010, 0x1102,
    +    0x1101, 0x1101, 0xb010, 0x1101, 0x1102, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1102, 0xb010, 0xb010, 0x0000, 0x1102, 0x1101, 0x1101,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1101, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    +    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    +    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    +    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,
    +    0x3010, 0x3010, 0x3010, 0x3010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1111, 0x1111,
    +    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    +    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    +    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,
    +    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    +    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    +    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,
    +    0x1112, 0x1112, 0x3010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 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, 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, 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, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0xb010, 0x0000, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0xb010, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,
    +    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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,
    +    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, 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, 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, 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,
    +    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, 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, 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, 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,
    +    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, 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,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xa008, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1100, 0x1010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1100, 0xb010, 0xb010, 0xb010,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x0000, 0x0010, 0x0010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1100,
    +    0xb010, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0xb010, 0x1010, 0x1010, 0x1010, 0x1100,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0x0000,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0x0000, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,
    +    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 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,
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 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, 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,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 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, 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, 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, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2100, 0x0010, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x5010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x2100, 0x0000,
    +    0x2100, 0x2100, 0x0000, 0x2100, 0x2100, 0x0000, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 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, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0xb010, 0xb010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x0000, 0x0000, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2010, 0xb010, 0x0000, 0x0000,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0x7010, 0xb010, 0x7010, 0x0000, 0xb010, 0x7010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x5010,
    +    0xb010, 0xb010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x0000,
    +    0xb010, 0x5010, 0x5010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,
    +    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0048,
    +    0x0000, 0xb010, 0xb010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0x5010, 0x7010, 0x5010, 0x7010, 0x4010,
    +    0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084,
    +    0x3084, 0x3084, 0x7010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,
    +    0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,
    +    0x1102, 0x1102, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1010, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,
    +    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,
    +    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,
    +    0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x5010, 0x5010, 0x0000,
    +    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
    +    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x0000, 0x0000
    +};
    diff --git a/reactos/tools/unicode/wine/unicode.h b/reactos/tools/unicode/wine/unicode.h
    new file mode 100644
    index 00000000000..ce3f8d71241
    --- /dev/null
    +++ b/reactos/tools/unicode/wine/unicode.h
    @@ -0,0 +1,292 @@
    +/*
    + * Wine internal Unicode definitions
    + *
    + * Copyright 2000 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WINE_UNICODE_H
    +#define __WINE_UNICODE_H
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +
    +#ifndef WINE_UNICODE_API
    +#define WINE_UNICODE_API DECLSPEC_IMPORT
    +#endif
    +
    +/* code page info common to SBCS and DBCS */
    +struct cp_info
    +{
    +    unsigned int          codepage;          /* codepage id */
    +    unsigned int          char_size;         /* char size (1 or 2 bytes) */
    +    WCHAR                 def_char;          /* default char value (can be double-byte) */
    +    WCHAR                 def_unicode_char;  /* default Unicode char value */
    +    const char           *name;              /* code page name */
    +};
    +
    +struct sbcs_table
    +{
    +    struct cp_info        info;
    +    const WCHAR          *cp2uni;            /* code page -> Unicode map */
    +    const unsigned char  *uni2cp_low;        /* Unicode -> code page map */
    +    const unsigned short *uni2cp_high;
    +};
    +
    +struct dbcs_table
    +{
    +    struct cp_info        info;
    +    const WCHAR          *cp2uni;            /* code page -> Unicode map */
    +    const unsigned char  *cp2uni_leadbytes;
    +    const unsigned short *uni2cp_low;        /* Unicode -> code page map */
    +    const unsigned short *uni2cp_high;
    +    unsigned char         lead_bytes[12];    /* lead bytes ranges */
    +};
    +
    +union cptable
    +{
    +    struct cp_info    info;
    +    struct sbcs_table sbcs;
    +    struct dbcs_table dbcs;
    +};
    +
    +extern const union cptable *wine_cp_get_table( unsigned int codepage );
    +extern const union cptable *wine_cp_enum_table( unsigned int index );
    +
    +extern int wine_cp_mbstowcs( const union cptable *table, int flags,
    +                             const char *src, int srclen,
    +                             WCHAR *dst, int dstlen );
    +extern int wine_cp_wcstombs( const union cptable *table, int flags,
    +                             const WCHAR *src, int srclen,
    +                             char *dst, int dstlen, const char *defchar, int *used );
    +extern int wine_cpsymbol_mbstowcs( const char *src, int srclen, WCHAR *dst, int dstlen );
    +extern int wine_cpsymbol_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen );
    +extern int wine_utf8_mbstowcs( int flags, const char *src, int srclen, WCHAR *dst, int dstlen );
    +extern int wine_utf8_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen );
    +
    +extern int wine_compare_string( int flags, const WCHAR *str1, int len1, const WCHAR *str2, int len2 );
    +extern int wine_get_sortkey( int flags, const WCHAR *src, int srclen, char *dst, int dstlen );
    +extern int wine_fold_string( int flags, const WCHAR *src, int srclen , WCHAR *dst, int dstlen );
    +
    +extern int strcmpiW( const WCHAR *str1, const WCHAR *str2 );
    +extern int strncmpiW( const WCHAR *str1, const WCHAR *str2, int n );
    +extern int memicmpW( const WCHAR *str1, const WCHAR *str2, int n );
    +extern WCHAR *strstrW( const WCHAR *str, const WCHAR *sub );
    +extern long int strtolW( const WCHAR *nptr, WCHAR **endptr, int base );
    +extern unsigned long int strtoulW( const WCHAR *nptr, WCHAR **endptr, int base );
    +extern int sprintfW( WCHAR *str, const WCHAR *format, ... );
    +extern int snprintfW( WCHAR *str, size_t len, const WCHAR *format, ... );
    +extern int vsprintfW( WCHAR *str, const WCHAR *format, va_list valist );
    +extern int vsnprintfW( WCHAR *str, size_t len, const WCHAR *format, va_list valist );
    +
    +static inline int is_dbcs_leadbyte( const union cptable *table, unsigned char ch )
    +{
    +    return (table->info.char_size == 2) && (table->dbcs.cp2uni_leadbytes[ch]);
    +}
    +
    +static inline WCHAR tolowerW( WCHAR ch )
    +{
    +    extern WINE_UNICODE_API const WCHAR wine_casemap_lower[];
    +    return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
    +}
    +
    +static inline WCHAR toupperW( WCHAR ch )
    +{
    +    extern WINE_UNICODE_API const WCHAR wine_casemap_upper[];
    +    return ch + wine_casemap_upper[wine_casemap_upper[ch >> 8] + (ch & 0xff)];
    +}
    +
    +/* the character type contains the C1_* flags in the low 12 bits */
    +/* and the C2_* type in the high 4 bits */
    +static inline unsigned short get_char_typeW( WCHAR ch )
    +{
    +    extern WINE_UNICODE_API const unsigned short wine_wctype_table[];
    +    return wine_wctype_table[wine_wctype_table[ch >> 8] + (ch & 0xff)];
    +}
    +
    +inline static int iscntrlW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & C1_CNTRL;
    +}
    +
    +inline static int ispunctW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & C1_PUNCT;
    +}
    +
    +inline static int isspaceW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & C1_SPACE;
    +}
    +
    +inline static int isdigitW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & C1_DIGIT;
    +}
    +
    +inline static int isxdigitW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & C1_XDIGIT;
    +}
    +
    +inline static int islowerW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & C1_LOWER;
    +}
    +
    +inline static int isupperW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & C1_UPPER;
    +}
    +
    +inline static int isalnumW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & (C1_ALPHA|C1_DIGIT|C1_LOWER|C1_UPPER);
    +}
    +
    +inline static int isalphaW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & (C1_ALPHA|C1_LOWER|C1_UPPER);
    +}
    +
    +inline static int isgraphW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & (C1_ALPHA|C1_PUNCT|C1_DIGIT|C1_LOWER|C1_UPPER);
    +}
    +
    +inline static int isprintW( WCHAR wc )
    +{
    +    return get_char_typeW(wc) & (C1_ALPHA|C1_BLANK|C1_PUNCT|C1_DIGIT|C1_LOWER|C1_UPPER);
    +}
    +
    +/* some useful string manipulation routines */
    +
    +static inline unsigned int strlenW( const WCHAR *str )
    +{
    +    const WCHAR *s = str;
    +    while (*s) s++;
    +    return s - str;
    +}
    +
    +static inline WCHAR *strcpyW( WCHAR *dst, const WCHAR *src )
    +{
    +    WCHAR *p = dst;
    +    while ((*p++ = *src++));
    +    return dst;
    +}
    +
    +static inline int strcmpW( const WCHAR *str1, const WCHAR *str2 )
    +{
    +    while (*str1 && (*str1 == *str2)) { str1++; str2++; }
    +    return *str1 - *str2;
    +}
    +
    +static inline int strncmpW( const WCHAR *str1, const WCHAR *str2, int n )
    +{
    +    if (n <= 0) return 0;
    +    while ((--n > 0) && *str1 && (*str1 == *str2)) { str1++; str2++; }
    +    return *str1 - *str2;
    +}
    +
    +static inline WCHAR *strncpyW( WCHAR *str1, const WCHAR *str2, int n )
    +{
    +    WCHAR *ret = str1;
    +    while (n-- > 0) if (!(*str1++ = *str2++)) break;
    +    while (n-- > 0) *str1++ = 0;
    +    return ret;
    +}
    +
    +static inline WCHAR *strcatW( WCHAR *dst, const WCHAR *src )
    +{
    +    strcpyW( dst + strlenW(dst), src );
    +    return dst;
    +}
    +
    +static inline WCHAR *strchrW( const WCHAR *str, WCHAR ch )
    +{
    +    for ( ; *str; str++) if (*str == ch) return (WCHAR *)str;
    +    return NULL;
    +}
    +
    +static inline WCHAR *strrchrW( const WCHAR *str, WCHAR ch )
    +{
    +    WCHAR *ret = NULL;
    +    for ( ; *str; str++) if (*str == ch) ret = (WCHAR *)str;
    +    return ret;
    +}
    +
    +static inline WCHAR *strpbrkW( const WCHAR *str, const WCHAR *accept )
    +{
    +    for ( ; *str; str++) if (strchrW( accept, *str )) return (WCHAR *)str;
    +    return NULL;
    +}
    +
    +static inline size_t strspnW( const WCHAR *str, const WCHAR *accept )
    +{
    +    const WCHAR *ptr;
    +    for (ptr = str; *ptr; ptr++) if (!strchrW( accept, *ptr )) break;
    +    return ptr - str;
    +}
    +
    +static inline size_t strcspnW( const WCHAR *str, const WCHAR *reject )
    +{
    +    const WCHAR *ptr;
    +    for (ptr = str; *ptr; ptr++) if (strchrW( reject, *ptr )) break;
    +    return ptr - str;
    +}
    +
    +static inline WCHAR *strlwrW( WCHAR *str )
    +{
    +    WCHAR *ret = str;
    +    while ((*str = tolowerW(*str))) str++;
    +    return ret;
    +}
    +
    +static inline WCHAR *struprW( WCHAR *str )
    +{
    +    WCHAR *ret = str;
    +    while ((*str = toupperW(*str))) str++;
    +    return ret;
    +}
    +
    +static inline WCHAR *memchrW( const WCHAR *ptr, WCHAR ch, size_t n )
    +{
    +    const WCHAR *end;
    +    for (end = ptr + n; ptr < end; ptr++) if (*ptr == ch) return (WCHAR *)ptr;
    +    return NULL;
    +}
    +
    +static inline WCHAR *memrchrW( const WCHAR *ptr, WCHAR ch, size_t n )
    +{
    +    const WCHAR *end, *ret = NULL;
    +    for (end = ptr + n; ptr < end; ptr++) if (*ptr == ch) ret = ptr;
    +    return (WCHAR *)ret;
    +}
    +
    +static inline long int atolW( const WCHAR *str )
    +{
    +    return strtolW( str, (WCHAR **)0, 10 );
    +}
    +
    +static inline int atoiW( const WCHAR *str )
    +{
    +    return (int)atolW( str );
    +}
    +
    +#endif  /* __WINE_UNICODE_H */
    diff --git a/reactos/lib/unicode/wine_unicode.def b/reactos/tools/unicode/wine_unicode.def
    similarity index 89%
    rename from reactos/lib/unicode/wine_unicode.def
    rename to reactos/tools/unicode/wine_unicode.def
    index 634ac40c632..2e8cd44c7ba 100644
    --- a/reactos/lib/unicode/wine_unicode.def
    +++ b/reactos/tools/unicode/wine_unicode.def
    @@ -1,4 +1,4 @@
    -LIBRARY wine_unicode.dll
    +LIBRARY libwine_unicode.dll
     
     EXPORTS
         memicmpW
    diff --git a/reactos/tools/unicode/wine_unicode.map b/reactos/tools/unicode/wine_unicode.map
    new file mode 100644
    index 00000000000..d4bafe54e51
    --- /dev/null
    +++ b/reactos/tools/unicode/wine_unicode.map
    @@ -0,0 +1,30 @@
    +WINE_1.0
    +{
    +  global:
    +    memicmpW;
    +    snprintfW;
    +    sprintfW;
    +    strcmpiW;
    +    strncmpiW;
    +    strstrW;
    +    strtolW;
    +    strtoulW;
    +    vsnprintfW;
    +    vsprintfW;
    +    wine_casemap_lower;
    +    wine_casemap_upper;
    +    wine_compare_string;
    +    wine_cp_enum_table;
    +    wine_cp_get_table;
    +    wine_cp_mbstowcs;
    +    wine_cp_wcstombs;
    +    wine_cpsymbol_mbstowcs;
    +    wine_cpsymbol_wcstombs;
    +    wine_fold_string;
    +    wine_get_sortkey;
    +    wine_utf8_mbstowcs;
    +    wine_utf8_wcstombs;
    +    wine_wctype_table;
    +
    +  local: *;
    +};
    diff --git a/reactos/tools/widl/ChangeLog b/reactos/tools/widl/ChangeLog
    new file mode 100644
    index 00000000000..28d675151fb
    --- /dev/null
    +++ b/reactos/tools/widl/ChangeLog
    @@ -0,0 +1,44 @@
    +ChangeLog
    +2005-02-27 sedwards
    +
    +  tools/widl/y.tab.c
    +  tools/widl/parser.y
    +  tools/widl/widl.c
    +  tools/widl/widl.h
    +  tools/widl/server.c
    +  tools/widl/typelib.c
    +
    +Merge in Winehq changes to reduce noise.
    +  
    +  tools/widl/server.h
    +  tools/widl/client.h
    +  tools/widl/proxy.h  
    +
    +Deleted unneeded headers.  
    +    
    +2005-02-26 ekohl
    +  tools/widl/server.c
    +
    +Server stubs are void functions.
    +Fix a warning in the server stub descriptor.
    +
    +
    +2005-02-25 ekohl
    +  tools/widl/client.c
    +  tools/widl/header.c
    +  tools/widl/header.h
    +  tools/widl/server.c
    +
    +Support multiple interfaces per idl file.
    +Support explicit binding handles.
    +
    +
    +2005-02-24 ekohl
    +  include/wine/rpcfc.h
    +  tools/widl/client.c
    +  tools/widl/header.c
    +  tools/widl/parser.l
    +  tools/widl/parser.y
    +  tools/widl/server.c
    +
    +Support remaining basic types (float, double, small, wchar_t and handle_t).
    diff --git a/reactos/tools/widl/Makefile b/reactos/tools/widl/Makefile
    new file mode 100644
    index 00000000000..2716d5384c9
    --- /dev/null
    +++ b/reactos/tools/widl/Makefile
    @@ -0,0 +1,72 @@
    +#
    +# widl
    +#
    +
    +PATH_TO_TOP = ../..
    +
    +LIB_WPP_DIR = ../wpp
    +
    +include $(PATH_TO_TOP)/rules.mak
    +
    +TARGET = widl$(EXE_POSTFIX)
    +
    +all: $(TARGET)
    +
    +BASE_OBJECTS = \
    +	client.o \
    +	hash.o \
    +	header.o \
    +	lex.yy.o \
    +	proxy.o \
    +	server.o \
    +	typelib.o \
    +	utils.o \
    +	widl.o \
    +	write_msft.o \
    +	y.tab.o
    +
    +PORT_OBJECTS = \
    +	port/mkstemps.o
    +
    +OBJECTS = $(BASE_OBJECTS) $(PORT_OBJECTS)
    +
    +LIBS = $(LIB_WPP_DIR)/libwpp.a
    +
    +CLEAN_FILES = *.o $(TARGET)
    +
    +HOST_CFLAGS = -DYYDEBUG=1 -DINT16=SHORT -D__USE_W32API \
    +              -I$(LIB_WPP_DIR) -I$(PATH_TO_TOP)/include/wine \
    +              -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/w32api/include
    +
    +%.o: %.c
    +	$(HOST_CC) $(HOST_CFLAGS) -c $< -o $@
    +
    +$(TARGET): $(OBJECTS) $(LIBS)
    +	$(HOST_CC) -o $(TARGET) $(OBJECTS) $(LIBS)
    +
    +ifeq ($(HOST),mingw32-linux)
    +clean:
    +	-rm -f $(OBJECTS) $(TARGET)
    +endif
    +ifneq ($(HOST),mingw32-linux)
    +clean:
    +	-del $(TARGET)
    +	-del *.o
    +	-del port\*.o
    +endif
    +
    +.PHONY: clean
    +
    +LEXOPT    = -Cf #-w -b
    +YACCOPT   = #-v
    +#
    +#	Optional use of flex and bison, this will allow independent building from
    +#	Wine.
    +#
    +#y.tab.c y.tab.h: parser.y
    +#	bison $(YACCOPT) -d -o y.tab.c parser.y
    +#
    +#lex.yy.c: parser.l y.tab.h
    +#	flex $(LEXOPT) -d -8 -olex.yy.c parser.l
    +
    +# EOF
    diff --git a/reactos/tools/widl/Makefile.in b/reactos/tools/widl/Makefile.in
    new file mode 100644
    index 00000000000..3cfcfe17015
    --- /dev/null
    +++ b/reactos/tools/widl/Makefile.in
    @@ -0,0 +1,53 @@
    +TOPSRCDIR = @top_srcdir@
    +TOPOBJDIR = ../..
    +SRCDIR    = @srcdir@
    +VPATH     = @srcdir@
    +LEXOPT    = -Cf #-w -b
    +YACCOPT   = #-v
    +EXEEXT    = @EXEEXT@
    +
    +PROGRAMS = widl$(EXEEXT)
    +MODULE   = none
    +
    +C_SRCS = \
    +	client.c \
    +	hash.c \
    +	header.c \
    +	proxy.c \
    +	server.c \
    +	typelib.c \
    +	utils.c \
    +	widl.c \
    +	write_msft.c
    +
    +EXTRA_SRCS = parser.y parser.l
    +EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o
    +
    +all: $(PROGRAMS)
    +
    +@MAKE_RULES@
    +
    +widl$(EXEEXT): $(OBJS) $(LIBDIR)/wpp/libwpp.a
    +	$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(LIBDIR) -lwpp -lwine_port $(LEXLIB) $(LDFLAGS)
    +
    +y.tab.c y.tab.h: parser.y
    +	$(YACC) $(YACCOPT) -d -t $(SRCDIR)/parser.y
    +
    +# hack to allow parallel make
    +y.tab.h: y.tab.c
    +y.tab.o: y.tab.h
    +
    +@LEX_OUTPUT_ROOT@.c: parser.l
    +	$(LEX) $(LEXOPT) -d -8 $(SRCDIR)/parser.l
    +
    +@LEX_OUTPUT_ROOT@.o: y.tab.h
    +
    +install:: $(PROGRAMS)
    +	$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
    +	$(INSTALL_PROGRAM) widl$(EXEEXT) $(bindir)/widl$(EXEEXT)
    +	$(INSTALL_DATA) $(SRCDIR)/widl.man $(mandir)/man$(prog_manext)/widl.$(prog_manext)
    +
    +uninstall::
    +	$(RM) $(bindir)/widl$(EXEEXT) $(mandir)/man$(prog_manext)/widl.$(prog_manext)
    +
    +### Dependencies:
    diff --git a/reactos/tools/widl/client.c b/reactos/tools/widl/client.c
    new file mode 100644
    index 00000000000..fc48625e372
    --- /dev/null
    +++ b/reactos/tools/widl/client.c
    @@ -0,0 +1,752 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2005 Eric Kohl
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "header.h"
    +
    +#define END_OF_LIST(list)       \
    +  do {                          \
    +    if (list) {                 \
    +      while (NEXT_LINK(list))   \
    +        list = NEXT_LINK(list); \
    +    }                           \
    +  } while(0)
    +
    +static FILE* client;
    +static int indent = 0;
    +
    +static int print_client( const char *format, ... )
    +{
    +    va_list va;
    +    int i, r;
    +
    +    va_start(va, format);
    +    for (i = 0; i < indent; i++)
    +        fprintf(client, "    ");
    +    r = vfprintf(client, format, va);
    +    va_end(va);
    +    return r;
    +}
    +
    +
    +static void write_procformatstring(type_t *iface)
    +{
    +    func_t *func = iface->funcs;
    +    var_t *var;
    +
    +    print_client("static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =\n");
    +    print_client("{\n");
    +    indent++;
    +    print_client("0,\n");
    +    print_client("{\n");
    +    indent++;
    +
    +    while (NEXT_LINK(func)) func = NEXT_LINK(func);
    +    while (func)
    +    {
    +        /* emit argument data */
    +        if (func->args)
    +        {
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                switch(var->type->type)
    +                {
    +                case RPC_FC_BYTE:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_BYTE */\n", RPC_FC_BYTE);
    +                    break;
    +                case RPC_FC_CHAR:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_CHAR */\n", RPC_FC_CHAR);
    +                    break;
    +                case RPC_FC_WCHAR:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_WCHAR */\n", RPC_FC_WCHAR);
    +                    break;
    +                case RPC_FC_USHORT:
    +                case RPC_FC_SHORT:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_USHORT */\n", RPC_FC_SHORT);
    +                    break;
    +                case RPC_FC_ULONG:
    +                case RPC_FC_LONG:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_LONG */\n", RPC_FC_LONG);
    +                    break;
    +                case RPC_FC_HYPER:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_HYPER */\n", RPC_FC_HYPER);
    +                    break;
    +                case RPC_FC_IGNORE:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_IGNORE */\n", RPC_FC_IGNORE);
    +                    break;
    +                case RPC_FC_SMALL:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_SMALL */\n", RPC_FC_SMALL);
    +                    break;
    +                case RPC_FC_FLOAT:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_FLOAT */\n", RPC_FC_FLOAT);
    +                    break;
    +                case RPC_FC_DOUBLE:
    +                    print_client("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_client("0x%02x,    /* FC_DOUBLE */\n", RPC_FC_DOUBLE);
    +                    break;
    +                default:
    +                    error("Unknown/unsupported type\n");
    +                    return;
    +                }
    +
    +                var = PREV_LINK(var);
    +            }
    +        }
    +
    +        /* emit return value data */
    +        var = func->def;
    +        if (is_void(var->type, NULL))
    +        {
    +            print_client("0x5b,    /* FC_END */\n");
    +            print_client("0x5c,    /* FC_PAD */\n");
    +        }
    +        else
    +        {
    +            switch(var->type->type)
    +            {
    +            case RPC_FC_BYTE:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_BYTE */\n", var->type->type);
    +                break;
    +            case RPC_FC_CHAR:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_CHAR */\n", var->type->type);
    +                break;
    +            case RPC_FC_WCHAR:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_WCHAR */\n", var->type->type);
    +                break;
    +            case RPC_FC_USHORT:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_USHORT */\n", var->type->type);
    +                break;
    +            case RPC_FC_SHORT:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_SHORT */\n", var->type->type);
    +                break;
    +            case RPC_FC_ULONG:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_ULONG */\n", var->type->type);
    +                break;
    +            case RPC_FC_LONG:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_LONG */\n", var->type->type);
    +                break;
    +            case RPC_FC_HYPER:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_HYPER */\n", var->type->type);
    +                break;
    +            case RPC_FC_SMALL:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_SMALL */\n", RPC_FC_SMALL);
    +                break;
    +            case RPC_FC_FLOAT:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_FLOAT */\n", RPC_FC_FLOAT);
    +                break;
    +            case RPC_FC_DOUBLE:
    +                print_client("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_client("0x%02x,    /* FC_DOUBLE */\n", RPC_FC_DOUBLE);
    +                break;
    +            default:
    +                error("Unknown/unsupported type\n");
    +                return;
    +            }
    +        }
    +
    +        func = PREV_LINK(func);
    +    }
    +
    +    print_client("0x0\n");
    +    indent--;
    +    print_client("}\n");
    +    indent--;
    +    print_client("};\n");
    +    print_client("\n");
    +}
    +
    +
    +static void write_typeformatstring(void)
    +{
    +    print_client("static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =\n");
    +    print_client("{\n");
    +    indent++;
    +    print_client("0,\n");
    +    print_client("{\n");
    +    indent++;
    +    print_client("NdrFcShort(0x0),\n");
    +    print_client("0x0\n");
    +    indent--;
    +    print_client("}\n");
    +    indent--;
    +    print_client("};\n");
    +    print_client("\n");
    +}
    +
    +
    +static void print_message_buffer_size(func_t *func)
    +{
    +    unsigned int alignment;
    +    int size;
    +    int last_size = -1;
    +    var_t *var;
    +
    +    if (!func->args)
    +    {
    +        fprintf(client, " 0U");
    +        return;
    +    }
    +
    +    var = func->args;
    +    while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +    while (var)
    +    {
    +        alignment = 0;
    +        switch (var->type->type)
    +        {
    +        case RPC_FC_BYTE:
    +        case RPC_FC_CHAR:
    +        case RPC_FC_SMALL:
    +            size = 1;
    +            alignment = 0;
    +            break;
    +
    +        case RPC_FC_WCHAR:
    +        case RPC_FC_USHORT:
    +        case RPC_FC_SHORT:
    +            size = 2;
    +            if (last_size != -1 && last_size < 2)
    +                alignment += (2 - last_size);
    +            break;
    +
    +        case RPC_FC_ULONG:
    +        case RPC_FC_LONG:
    +        case RPC_FC_FLOAT:
    +            size = 4;
    +            if (last_size != -1 && last_size < 4)
    +                alignment += (4 - last_size);
    +            break;
    +
    +        case RPC_FC_HYPER:
    +        case RPC_FC_DOUBLE:
    +            size = 8;
    +            if (last_size != -1 && last_size < 4)
    +                alignment += (4 - last_size);
    +            break;
    +
    +        case RPC_FC_IGNORE:
    +            size = 0;
    +            break;
    +
    +        default:
    +            error("Unknown/unsupported type!");
    +        }
    +
    +        if (last_size != -1)
    +            fprintf(client, " +");
    +        fprintf(client, " %dU", (size == 0) ? 0 : size + alignment);
    +
    +        last_size = size;
    +
    +        var = PREV_LINK(var);
    +    }
    +}
    +
    +
    +static void marshall_arguments(func_t *func)
    +{
    +    unsigned int alignment;
    +    unsigned int size;
    +    unsigned int last_size = 0;
    +    var_t *var;
    +
    +    if (!func->args)
    +        return;
    +
    +    var = func->args;
    +    while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +    while (var)
    +    {
    +        alignment = 0;
    +        switch (var->type->type)
    +        {
    +        case RPC_FC_BYTE:
    +        case RPC_FC_CHAR:
    +        case RPC_FC_SMALL:
    +            size = 1;
    +            alignment = 0;
    +            break;
    +
    +        case RPC_FC_WCHAR:
    +        case RPC_FC_USHORT:
    +        case RPC_FC_SHORT:
    +            size = 2;
    +            if (last_size != 0 && last_size < 2)
    +                alignment = (2 - last_size);
    +            break;
    +
    +        case RPC_FC_ULONG:
    +        case RPC_FC_LONG:
    +        case RPC_FC_FLOAT:
    +            size = 4;
    +            if (last_size != 0 && last_size < 4)
    +                alignment = (4 - last_size);
    +            break;
    +
    +        case RPC_FC_HYPER:
    +        case RPC_FC_DOUBLE:
    +            size = 8;
    +            if (last_size != 0 && last_size < 4)
    +                alignment = (4 - last_size);
    +            break;
    +
    +        case RPC_FC_IGNORE:
    +            size = 0;
    +            break;
    +
    +        default:
    +            error("Unknown/unsupported type!");
    +        }
    +
    +        if (size != 0)
    +        {
    +            if (alignment != 0)
    +                print_client("_StubMsg.Buffer += %u;\n", alignment);
    +
    +            print_client("*((");
    +            write_type(client, var->type, var, var->tname);
    +            fprintf(client, " __RPC_FAR*)_StubMsg.Buffer)++ = ");
    +            write_name(client, var);
    +            fprintf(client, ";\n");
    +            fprintf(client, "\n");
    +
    +            last_size = size;
    +        }
    +
    +        var = PREV_LINK(var);
    +    }
    +}
    +
    +
    +static void write_function_stubs(type_t *iface)
    +{
    +    char *implicit_handle = get_attrp(iface->attrs, ATTR_IMPLICIT_HANDLE);
    +    int explicit_handle = is_attr(iface->attrs, ATTR_EXPLICIT_HANDLE);
    +    func_t *func = iface->funcs;
    +    var_t* var;
    +    var_t* explicit_handle_var;
    +    int method_count = 0;
    +    unsigned int proc_offset = 0;
    +
    +    while (NEXT_LINK(func)) func = NEXT_LINK(func);
    +    while (func)
    +    {
    +        var_t *def = func->def;
    +
    +        /* check for a defined binding handle */
    +        explicit_handle_var = get_explicit_handle_var(func);
    +        if (explicit_handle)
    +        {
    +            if (!explicit_handle_var)
    +            {
    +                error("%s() does not define an explicit binding handle!\n", def->name);
    +                return;
    +            }
    +        }
    +        else
    +        {
    +            if (explicit_handle_var)
    +            {
    +                error("%s() must not define a binding handle!\n", def->name);
    +                return;
    +            }
    +        }
    +
    +        write_type(client, def->type, def, def->tname);
    +        fprintf(client, " ");
    +        write_name(client, def);
    +        fprintf(client, "(\n");
    +        indent++;
    +        write_args(client, func->args, iface->name, 0, TRUE);
    +        fprintf(client, ")\n");
    +        indent--;
    +
    +        /* write the functions body */
    +        fprintf(client, "{\n");
    +        indent++;
    +
    +        /* declare return value '_RetVal' */
    +        if (!is_void(def->type, NULL))
    +        {
    +            print_client("");
    +            write_type(client, def->type, def, def->tname);
    +            fprintf(client, " _RetVal;\n");
    +        }
    +
    +        if (implicit_handle || explicit_handle)
    +            print_client("RPC_BINDING_HANDLE _Handle = 0;\n");
    +        print_client("RPC_MESSAGE _RpcMessage;\n");
    +        print_client("MIDL_STUB_MESSAGE _StubMsg;\n");
    +        fprintf(client, "\n");
    +        print_client("RpcTryFinally\n");
    +        print_client("{\n");
    +        indent++;
    +
    +        print_client("NdrClientInitializeNew(\n");
    +        indent++;
    +        print_client("(PRPC_MESSAGE)&_RpcMessage,\n");
    +        print_client("(PMIDL_STUB_MESSAGE)&_StubMsg,\n");
    +        print_client("(PMIDL_STUB_DESC)&%s_StubDesc,\n", iface->name);
    +        print_client("%d);\n", method_count);
    +        indent--;
    +        fprintf(client, "\n");
    +
    +        if (implicit_handle)
    +        {
    +            print_client("_Handle = %s;\n", implicit_handle);
    +            fprintf(client, "\n");
    +        }
    +        else if (explicit_handle)
    +        {
    +            print_client("_Handle = %s;\n", explicit_handle_var->name);
    +            fprintf(client, "\n");
    +        }
    +
    +        /* emit the message buffer size */
    +        print_client("_StubMsg.BufferLength =");
    +        print_message_buffer_size(func);
    +        fprintf(client, ";\n");
    +
    +
    +        print_client("NdrGetBuffer(\n");
    +        indent++;
    +        print_client("(PMIDL_STUB_MESSAGE)&_StubMsg,\n");
    +        print_client("_StubMsg.BufferLength,\n");
    +        if (implicit_handle || explicit_handle)
    +            print_client("%_Handle);\n");
    +        else
    +            print_client("%s__MIDL_AutoBindHandle);\n", iface->name);
    +        indent--;
    +        fprintf(client, "\n");
    +
    +        /* marshal arguments */
    +        marshall_arguments(func);
    +
    +        /* send/recieve message */
    +        print_client("NdrSendReceive(\n");
    +        indent++;
    +        print_client("(PMIDL_STUB_MESSAGE)&_StubMsg,\n");
    +        print_client("(unsigned char __RPC_FAR *)_StubMsg.Buffer);\n");
    +        indent--;
    +
    +        /* unmarshal return value */
    +        if (!is_void(def->type, NULL))
    +        {
    +            fprintf(client, "\n");
    +
    +            print_client("if ((_RpcMessage.DataRepresentation & 0x0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION)\n");
    +            indent++;
    +            print_client("NdrConvert(\n");
    +            indent++;
    +            print_client("(PMIDL_STUB_MESSAGE)&_StubMsg,\n");
    +            print_client("(PFORMAT_STRING)&__MIDL_ProcFormatString.Format[%u]);\n", proc_offset);
    +            indent -= 2;
    +            fprintf(client, "\n");
    +
    +            print_client("_RetVal = *((");
    +            write_type(client, def->type, def, def->tname);
    +            fprintf(client, " __RPC_FAR *)_StubMsg.Buffer)++;\n");
    +        }
    +
    +        /* update proc_offset */
    +        if (func->args)
    +        {
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                proc_offset += 2; /* FIXME */
    +                var = PREV_LINK(var);
    +            }
    +        }
    +        proc_offset += 2;  /* FIXME */
    +
    +        indent--;
    +        print_client("}\n");
    +        print_client("RpcFinally\n");
    +        print_client("{\n");
    +        indent++;
    +
    +
    +        /* FIXME: emit client finally code */
    +
    +        print_client("NdrFreeBuffer((PMIDL_STUB_MESSAGE)&_StubMsg);\n");
    +
    +        indent--;
    +        print_client("}\n");
    +        print_client("RpcEndFinally\n");
    +
    +
    +        /* emit return code */
    +        if (!is_void(def->type, NULL))
    +        {
    +            fprintf(client, "\n");
    +            print_client("return _RetVal;\n");
    +        }
    +
    +        indent--;
    +        fprintf(client, "}\n");
    +        fprintf(client, "\n");
    +
    +        method_count++;
    +        func = PREV_LINK(func);
    +    }
    +}
    +
    +
    +static void write_bindinghandledecl(type_t *iface)
    +{
    +    print_client("static RPC_BINDING_HANDLE %s__MIDL_AutoBindHandle;\n", iface->name);
    +    fprintf(client, "\n");
    +}
    +
    +
    +static void write_stubdescdecl(type_t *iface)
    +{
    +    print_client("extern const MIDL_STUB_DESC %s_StubDesc;\n", iface->name);
    +    fprintf(client, "\n");
    +}
    +
    +
    +static void write_stubdescriptor(type_t *iface)
    +{
    +    char *implicit_handle = get_attrp(iface->attrs, ATTR_IMPLICIT_HANDLE);
    +
    +    print_client("static const MIDL_STUB_DESC %s_StubDesc =\n", iface->name);
    +    print_client("{\n");
    +    indent++;
    +    print_client("(void __RPC_FAR *)& %s___RpcClientInterface,\n", iface->name);
    +    print_client("MIDL_user_allocate,\n");
    +    print_client("MIDL_user_free,\n");
    +    if (implicit_handle)
    +        print_client("&%s,\n", implicit_handle);
    +    else
    +        print_client("&%s__MIDL_AutoBindHandle,\n", iface->name);
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("__MIDL_TypeFormatString.Format,\n");
    +    print_client("1, /* -error bounds_check flag */\n");
    +    print_client("0x10001, /* Ndr library version */\n");
    +    print_client("0,\n");
    +    print_client("0x50100a4, /* MIDL Version 5.1.164 */\n");
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("0,  /* notify & notify_flag routine table */\n");
    +    print_client("1,  /* Flags */\n");
    +    print_client("0,  /* Reserved3 */\n");
    +    print_client("0,  /* Reserved4 */\n");
    +    print_client("0   /* Reserved5 */\n");
    +    indent--;
    +    print_client("};\n");
    +    fprintf(client, "\n");
    +}
    +
    +
    +static void write_clientinterfacedecl(type_t *iface)
    +{
    +    unsigned long ver = get_attrv(iface->attrs, ATTR_VERSION);
    +    UUID *uuid = get_attrp(iface->attrs, ATTR_UUID);
    +
    +    print_client("static const RPC_CLIENT_INTERFACE %s___RpcClientInterface =\n", iface->name );
    +    print_client("{\n");
    +    indent++;
    +    print_client("sizeof(RPC_CLIENT_INTERFACE),\n");
    +    print_client("{{0x%08lx,0x%04x,0x%04x,{0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x}},{%d,%d}},\n",
    +                 uuid->Data1, uuid->Data2, uuid->Data3, uuid->Data4[0], uuid->Data4[1],
    +                 uuid->Data4[2], uuid->Data4[3], uuid->Data4[4], uuid->Data4[5], uuid->Data4[6],
    +                 uuid->Data4[7], LOWORD(ver), HIWORD(ver));
    +    print_client("{{0x8a885d04,0x1ceb,0x11c9,{0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60}},{2,0}},\n"); /* FIXME */
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    print_client("0,\n");
    +    indent--;
    +    print_client("};\n");
    +    print_client("RPC_IF_HANDLE %s_v%d_%d_c_ifspec = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n",
    +                 iface->name, LOWORD(ver), HIWORD(ver), iface->name);
    +    fprintf(client, "\n");
    +}
    +
    +
    +static void write_formatdesc( const char *str )
    +{
    +    print_client("typedef struct _MIDL_%s_FORMAT_STRING\n", str );
    +    print_client("{\n");
    +    indent++;
    +    print_client("short Pad;\n");
    +    print_client("unsigned char Format[%s_FORMAT_STRING_SIZE];\n", str);
    +    indent--;
    +    print_client("} MIDL_%s_FORMAT_STRING;\n", str);
    +    print_client("\n");
    +}
    +
    +
    +static void write_formatstringsdecl(type_t *iface)
    +{
    +    int byte_count = 1;
    +    func_t *func;
    +    var_t *var;
    +
    +    print_client("#define TYPE_FORMAT_STRING_SIZE %d\n", 3); /* FIXME */
    +
    +    /* determine the proc format string size */
    +    func = iface->funcs;
    +    while (NEXT_LINK(func)) func = NEXT_LINK(func);
    +    while (func)
    +    {
    +        /* argument list size */
    +        if (func->args)
    +        {
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                byte_count += 2; /* FIXME: determine real size */
    +                var = PREV_LINK(var);
    +            }
    +        }
    +
    +        /* return value size */
    +        byte_count += 2; /* FIXME: determine real size */
    +        func = PREV_LINK(func);
    +    }
    +
    +    print_client("#define PROC_FORMAT_STRING_SIZE %d\n", byte_count);
    +
    +    fprintf(client, "\n");
    +    write_formatdesc("TYPE");
    +    write_formatdesc("PROC");
    +    fprintf(client, "\n");
    +    print_client("extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;\n");
    +    print_client("extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;\n");
    +    print_client("\n");
    +}
    +
    +
    +static void write_implicithandledecl(type_t *iface)
    +{
    +    char *implicit_handle = get_attrp(iface->attrs, ATTR_IMPLICIT_HANDLE);
    +
    +    if (implicit_handle)
    +    {
    +        fprintf(client, "handle_t %s;\n", implicit_handle);
    +        fprintf(client, "\n");
    +    }
    +}
    +
    +
    +static void init_client(void)
    +{
    +    if (client) return;
    +    if (!(client = fopen(client_name, "w")))
    +        error("Could not open %s for output\n", client_name);
    +
    +    print_client("/*** Autogenerated by WIDL %s from %s - Do not edit ***/\n", WIDL_FULLVERSION, input_name);
    +    print_client("#include\n");
    +    print_client("#ifdef _ALPHA_\n");
    +    print_client("#include\n");
    +    print_client("#endif\n");
    +    fprintf(client, "\n");
    +    print_client("#include\"%s\"\n", header_name);
    +    fprintf(client, "\n");
    +}
    +
    +
    +void write_client(ifref_t *ifaces)
    +{
    +    ifref_t *iface = ifaces;
    +
    +    if (!do_client)
    +        return;
    +    if (!iface)
    +        return;
    +    END_OF_LIST(iface);
    +
    +    init_client();
    +    if (!client)
    +        return;
    +
    +    while (iface)
    +    {
    +        fprintf(client, "/*****************************************************************************\n");
    +        fprintf(client, " * %s interface\n", iface->iface->name);
    +        fprintf(client, " */\n");
    +        fprintf(client, "\n");
    +
    +        write_formatstringsdecl(iface->iface);
    +        write_implicithandledecl(iface->iface);
    +
    +        write_clientinterfacedecl(iface->iface);
    +        write_stubdescdecl(iface->iface);
    +        write_bindinghandledecl(iface->iface);
    +
    +        write_function_stubs(iface->iface);
    +        write_stubdescriptor(iface->iface);
    +
    +        print_client("#if !defined(__RPC_WIN32__)\n");
    +        print_client("#error  Invalid build platform for this stub.\n");
    +        print_client("#endif\n");
    +        fprintf(client, "\n");
    +
    +        write_procformatstring(iface->iface);
    +        write_typeformatstring();
    +
    +        fprintf(client, "\n");
    +
    +        iface = PREV_LINK(iface);
    +    }
    +
    +    fclose(client);
    +}
    diff --git a/reactos/tools/widl/hash.c b/reactos/tools/widl/hash.c
    new file mode 100644
    index 00000000000..89822cc5388
    --- /dev/null
    +++ b/reactos/tools/widl/hash.c
    @@ -0,0 +1,618 @@
    +/*
    + * Oleaut32 hash functions
    + *
    + * Copyright 1999 Corel Corporation
    + * Copyright 2001-2003 Jon Griffiths
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +#include 
    +#include 
    +
    +#include "widltypes.h"
    +#include "hash.h"
    +
    +static const unsigned char Lookup_16[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x00, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    + /* Windows */
    + 0x7F, 0x7F, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x7F, 0x89, 0x53, 0x8B, 0x8C,
    + 0x7F, 0x7F, 0x7F, 0x7F, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x96, 0x98, 0x99,
    + 0x53, 0x9B, 0x8C, 0x7F, 0x7F, 0x55, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x96, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49,
    + 0x49, 0x49, 0x44, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0xD7, 0x4F, 0x55, 0x55,
    + 0x55, 0x55, 0x55, 0xDE, 0xDF, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
    + 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x44, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x4F, 0x4F, 0xF7, 0x4F, 0x55, 0x55, 0x55, 0x55, 0x55, 0xDE, 0x55,
    +
    + /* Mac */
    + 0x41, 0x41, 0x43, 0x45, 0x4E, 0x4F, 0x55, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    + 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x4F, 0x4F, 0x55, 0x55, 0x55, 0x55, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0x41, 0x4F, 0xB0, 0xB1, 0xB2, 0xB3,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0x41, 0x4F, 0xBD, 0x41, 0x4F, 0xC0,
    + 0xC1, 0xC2, 0xC3, 0x46, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0x41, 0x41, 0x4F,
    + 0xCE, 0xCE, 0xD0, 0xD0, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0x55, 0x55, 0xDA,
    + 0xDB, 0xDC, 0xDD, 0x3F, 0x3F, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0x41, 0x45, 0x41,
    + 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x4F, 0x4F, 0x3F, 0x4F, 0x55, 0x55, 0x55,
    + 0x49, 0x7F, 0xF7, 0x7F, 0xF9, 0xFA, 0xFB, 0x3F, 0xFD, 0xFE, 0x7F
    +};
    +
    +static const unsigned char Lookup_32[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x00, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    + /* Windows */
    + 0x7F, 0x7F, 0x82, 0x7F, 0x84, 0x85, 0x86, 0x87, 0x7F, 0x89, 0x53, 0x8B, 0x53,
    + 0x54, 0x5A, 0x5A, 0x7F, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x96, 0x7F, 0x99,
    + 0x53, 0x9B, 0x53, 0x54, 0x5A, 0x5A, 0xA0, 0x7F, 0xA2, 0x4C, 0xA4, 0x41, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x53, 0xAB, 0xAC, 0x96, 0xAE, 0x5A, 0xB0, 0xB1, 0xB2, 0x4C,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x41, 0x53, 0xBB, 0x4C, 0xBD, 0x4C, 0x5A, 0x52,
    + 0x41, 0x41, 0x41, 0x41, 0x4C, 0x43, 0x43, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49,
    + 0x49, 0x44, 0xD0, 0x4E, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0xD7, 0x52, 0x55, 0x55,
    + 0x55, 0x55, 0x59, 0x54, 0xDF, 0x52, 0x41, 0x41, 0x41, 0x41, 0x4C, 0x43, 0x43,
    + 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x44, 0xD0, 0x4E, 0x4E, 0x4F, 0x4F,
    + 0x4F, 0x4F, 0xF7, 0x52, 0x55, 0x55, 0x55, 0x55, 0x59, 0x54, 0xFF,
    +
    + /* Mac */
    + 0x41, 0x41, 0x41, 0x45, 0x41, 0x4F, 0x55, 0x41, 0x41, 0x43, 0x41, 0x43, 0x43,
    + 0x43, 0x45, 0x5A, 0x5A, 0x44, 0x49, 0x44, 0x45, 0x45, 0x45, 0x4F, 0x45, 0x4F,
    + 0x4F, 0x4F, 0x55, 0x45, 0x45, 0x55, 0xA0, 0xA1, 0x45, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0x45, 0xAC, 0xAD, 0x47, 0x49, 0x49, 0x49, 0xB2, 0xB3,
    + 0x49, 0x4B, 0xB6, 0xB7, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4E, 0x4E,
    + 0x4E, 0xC2, 0xC3, 0x4E, 0x4E, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0x4E, 0x4F, 0x4F,
    + 0x4F, 0x4F, 0xD0, 0xD0, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0x4F, 0x52, 0x52,
    + 0x52, 0xDC, 0xDD, 0x52, 0x52, 0x52, 0x53, 0xE2, 0xE3, 0x53, 0x53, 0x53, 0x41,
    + 0x54, 0x54, 0x49, 0x5A, 0x5A, 0x55, 0x4F, 0x4F, 0x55, 0x55, 0x55, 0x55, 0x55,
    + 0x55, 0x55, 0x55, 0x59, 0x59, 0x4B, 0x5A, 0x4C, 0x4C, 0x47, 0xFF
    +};
    +
    +static const unsigned char Lookup_48[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x00, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    + /* Windows */
    + 0x7F, 0x7F, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x7F, 0x89, 0x53, 0x8B, 0x8C,
    + 0x7F, 0x7F, 0x7F, 0x7F, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x96, 0x98, 0x99,
    + 0x53, 0x9B, 0x8C, 0x7F, 0x7F, 0x59, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x96, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0x41, 0x41, 0x41, 0x41, 0x41, 0xC6, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49,
    + 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0xD7, 0x4F, 0x55, 0x55,
    + 0x55, 0x55, 0x59, 0xDE, 0xDF, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xC6, 0x43,
    + 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x4F, 0x4F, 0xF7, 0x4F, 0x55, 0x55, 0x55, 0x55, 0x59, 0xDE, 0x59,
    +
    + /* Mac */
    + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C,
    + 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
    + 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAB, 0xAD, 0xAE, 0xAE, 0xB0, 0xB1, 0xB2, 0xB3,
    + 0xA7, 0xB5, 0xB6, 0xB7, 0xB8, 0xB8, 0xBA, 0xBA, 0xBC, 0xBC, 0xBE, 0xBE, 0xB7,
    + 0xC1, 0xC2, 0xC3, 0x46, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCB, 0xCD,
    + 0xCD, 0xC1, 0xD0, 0xD0, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD8, 0xDA,
    + 0xDA, 0xDC, 0xDD, 0xDD, 0x9F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    + 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
    + 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F
    +};
    +
    +static const unsigned char Lookup_64[128 * 3] = {
    + /* Common */
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x00, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    +/* Windows */
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x96, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49,
    + 0x49, 0x49, 0x44, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0xD7, 0x4F, 0x55, 0x55,
    + 0x55, 0x55, 0x55, 0xDE, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +
    + /* Mac */
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x96, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49,
    + 0x49, 0x49, 0x44, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0xD7, 0x4F, 0x55, 0x55,
    + 0x55, 0x55, 0x55, 0xDE, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    +};
    +
    +static const unsigned char Lookup_80[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x00, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    +/* Windows */
    + 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
    +
    + /* Mac */
    + 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
    +};
    +
    +static const unsigned char Lookup_112[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x00, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x56, 0x58, 0x55, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    +/* Windows */
    + 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
    +
    + /* Mac */
    + 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
    +};
    +
    +static const unsigned char Lookup_128[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x00,
    +
    +/* Windows */
    + 0x00, 0x00, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x00, 0x89, 0x00, 0x8B, 0x00,
    + 0x00, 0x00, 0x00, 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x2D, 0x2D, 0x00, 0x99,
    + 0x00, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x09, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x00, 0xAB, 0xAC, 0x2D, 0xAE, 0x2D, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xBA,
    + 0xA2, 0xC2, 0xC3, 0xC4, 0xB8, 0xC6, 0xB9, 0xC8, 0xBA, 0xCA, 0xCB, 0xCC, 0xCD,
    + 0xCE, 0xBC, 0xD0, 0xD1, 0x00, 0xD3, 0xD4, 0xBE, 0xD6, 0xD7, 0xD8, 0xBF, 0xBA,
    + 0xBE, 0xA2, 0xB8, 0xB9, 0xBA, 0xBE, 0xA2, 0xC2, 0xC3, 0xC4, 0xB8, 0xC6, 0xB9,
    + 0xC8, 0xBA, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xBC, 0xD0, 0xD1, 0xD3, 0xD3, 0xD4,
    + 0xBE, 0xD6, 0xD7, 0xD8, 0xBF, 0xBA, 0xBE, 0xBC, 0xBE, 0xBF, 0x00,
    +
    + /* Mac */
    + 0x41, 0x31, 0x32, 0x45, 0x33, 0x4F, 0x55, 0x87, 0x41, 0x41, 0x41, 0x00, 0x8C,
    + 0x43, 0x45, 0x45, 0x45, 0x45, 0x92, 0x93, 0x49, 0x49, 0x96, 0x97, 0x98, 0x4F,
    + 0x4F, 0x9B, 0x3F, 0x55, 0x55, 0x55, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xAB, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xB0,
    + 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0x09, 0xBD, 0xCC, 0xB0,
    + 0xB6, 0xCF, 0x2D, 0x2D, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xB8, 0xAB, 0xC3, 0xBD,
    + 0xB6, 0xB8, 0xAB, 0xC3, 0xBF, 0xBD, 0xB0, 0xB5, 0xBE, 0xA2, 0xB6, 0xBC, 0xA1,
    + 0xB8, 0xAB, 0xA5, 0xBA, 0xA4, 0xBB, 0xC1, 0xC3, 0xA6, 0xBF, 0xC4, 0xAA, 0xC6,
    + 0xA3, 0xBF, 0xAA, 0xCC, 0xBD, 0xB7, 0xAB, 0xBD, 0xAB, 0xBD, 0x3F,
    +};
    +
    +static const unsigned char Lookup_144[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x00,
    +
    +/* Windows */
    + 0x00, 0x00, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x00, 0x89, 0x53, 0x8B, 0x8C,
    + 0x00, 0x00, 0x00, 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x2D, 0x2D, 0x98, 0x99,
    + 0x53, 0x9B, 0x8C, 0x00, 0x00, 0x59, 0x09, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x2D, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0xC1, 0x41, 0x41, 0x41, 0x41, 0xC6, 0x43, 0x45, 0xC9, 0x45, 0x45, 0x49, 0xCD,
    + 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0xD3, 0x4F, 0x4F, 0xD6, 0xD7, 0xD6, 0x55, 0xDA,
    + 0x55, 0x55, 0xDD, 0xDE, 0xDF, 0x41, 0xC1, 0x41, 0x41, 0x41, 0x41, 0xC6, 0x43,
    + 0x45, 0xC9, 0x45, 0x45, 0x49, 0xCD, 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0xD3, 0x4F,
    + 0x4F, 0xD6, 0xF7, 0xD6, 0x55, 0xDA, 0x55, 0x55, 0xDD, 0xDE, 0x59,
    +
    + /* Mac */
    + 0x00, 0x00, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x00, 0x89, 0x53, 0x8B, 0x8C,
    + 0x00, 0x00, 0x00, 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x2D, 0x2D, 0x98, 0x99,
    + 0x53, 0x9B, 0x8C, 0x00, 0x00, 0x59, 0x09, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x2D, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0xC1, 0x41, 0x41, 0x41, 0x41, 0xC6, 0x43, 0x45, 0xC9, 0x45, 0x45, 0x49, 0xCD,
    + 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0xD3, 0x4F, 0x4F, 0xD6, 0xD7, 0xD6, 0x55, 0xDA,
    + 0x55, 0x55, 0xDD, 0xDE, 0xDF, 0x41, 0xC1, 0x41, 0x41, 0x41, 0x41, 0xC6, 0x43,
    + 0x45, 0xC9, 0x45, 0x45, 0x49, 0xCD, 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0xD3, 0x4F,
    + 0x4F, 0xD6, 0xF7, 0xD6, 0x55, 0xDA, 0x55, 0x55, 0xDD, 0xDE, 0x59,
    +};
    +
    +static const unsigned char Lookup_160[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x00,
    +
    +/* Windows */
    + 0x00, 0x00, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x00, 0x89, 0x53, 0x8B, 0x8C,
    + 0x00, 0x00, 0x00, 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x2D, 0x2D, 0x98, 0x99,
    + 0x53, 0x9B, 0x8C, 0x00, 0x00, 0x59, 0x09, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x2D, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0x41, 0x41, 0x41, 0x41, 0x41, 0xC6, 0xC7, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49,
    + 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0xD6, 0xD7, 0x4F, 0x55, 0x55,
    + 0x55, 0xDC, 0xDD, 0xDE, 0xDF, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xC6, 0xC7,
    + 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x4F, 0xD6, 0xF7, 0x4F, 0x55, 0x55, 0x55, 0xDC, 0xDD, 0xDE, 0x59,
    +
    + /* Mac */
    + 0x00, 0x00, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x00, 0x89, 0x53, 0x8B, 0x8C,
    + 0x00, 0x00, 0x00, 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x2D, 0x2D, 0x98, 0x99,
    + 0x53, 0x9B, 0x8C, 0x00, 0x00, 0x59, 0x09, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x2D, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0x41, 0x41, 0x41, 0x41, 0x41, 0xC6, 0xC7, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49,
    + 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0xD6, 0xD7, 0x4F, 0x55, 0x55,
    + 0x55, 0xDC, 0xDD, 0xDE, 0xDF, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xC6, 0xC7,
    + 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0xD0, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x4F, 0xD6, 0xF7, 0x4F, 0x55, 0x55, 0x55, 0xDC, 0xDD, 0xDE, 0x59,
    +};
    +
    +static const unsigned char Lookup_176[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x00,
    +
    + /* Windows */
    + 0x00, 0x00, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x00, 0x89, 0x53, 0x8B, 0x8C,
    + 0x00, 0x00, 0x00, 0x00, 0x91, 0x92, 0x93, 0x94, 0x95, 0x2D, 0x2D, 0x98, 0x99,
    + 0x53, 0x9B, 0x8C, 0x00, 0x00, 0x59, 0x09, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0x41, 0xAB, 0xAC, 0x2D, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0x4F, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0x41,
    + 0x41, 0x41, 0x41, 0xC4, 0xC5, 0xC4, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49,
    + 0x49, 0x49, 0x44, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0xD6, 0xD7, 0xD6, 0x55, 0x55,
    + 0x55, 0x59, 0x59, 0xDE, 0xDF, 0x41, 0x41, 0x41, 0x41, 0xC4, 0xC5, 0xC4, 0x43,
    + 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x44, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x4F, 0xD6, 0xF7, 0xD6, 0x55, 0x55, 0x55, 0x59, 0x59, 0xDE, 0x59,
    +
    + /* Mac */
    + 0x80, 0x81, 0x43, 0x45, 0x4E, 0x85, 0x59, 0x41, 0x41, 0x41, 0x80, 0x41, 0x81,
    + 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x85, 0x4F, 0x55, 0x55, 0x55, 0x59, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0x80, 0x85, 0xB0, 0xB1, 0xB2, 0xB3,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0x41, 0x4F, 0xBD, 0x80, 0x85, 0xC0,
    + 0xC1, 0xC2, 0xC3, 0x46, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0x09, 0x41, 0x41, 0x4F,
    + 0xCE, 0xCE, 0x2D, 0x2D, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0x59, 0x59, 0xDA,
    + 0xDB, 0xDC, 0xDD, 0x3F, 0x3F, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0x41, 0x45, 0x41,
    + 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x4F, 0x4F, 0x3F, 0x4F, 0x55, 0x55, 0x55,
    + 0x49, 0x00, 0xF7, 0x00, 0xF9, 0xFA, 0xFB, 0x3F, 0xFD, 0xFE, 0x00
    +};
    +
    +static const unsigned char Lookup_208[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    +/* Windows */
    + 0x80, 0x81, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x5E, 0x89, 0x8A, 0x8B, 0x8C,
    + 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
    + 0x9A, 0x9B, 0x8C, 0x9D, 0x00, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0,
    + 0xC1, 0xC2, 0xC1, 0xC1, 0xC1, 0xC1, 0xC7, 0xC8, 0xC9, 0xC9, 0xCB, 0xCC, 0xCD,
    + 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA,
    + 0xDB, 0x00, 0xDD, 0xDE, 0xDF, 0x41, 0xE1, 0x41, 0xE3, 0xE4, 0xE5, 0xE6, 0x43,
    + 0x45, 0x45, 0x45, 0x45, 0xEC, 0xEC, 0x49, 0x49, 0xF0, 0xF1, 0xF2, 0xF3, 0x4F,
    + 0xF5, 0xF6, 0xF7, 0xF8, 0x55, 0xFA, 0x55, 0x55, 0x00, 0x00, 0xFF,
    +
    + /* Mac */
    + 0x41, 0x81, 0x43, 0x45, 0x4E, 0x4F, 0x55, 0x41, 0x41, 0x41, 0x41, 0x8B, 0x8C,
    + 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x93, 0x49, 0x49, 0x4E, 0x4F, 0x98, 0x4F,
    + 0x4F, 0x9B, 0x55, 0x55, 0x55, 0x55, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0,
    + 0xC1, 0xC2, 0xC1, 0xC1, 0xC1, 0xC1, 0xC7, 0xC8, 0xC9, 0xC9, 0xCB, 0xCC, 0xCD,
    + 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA,
    + 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0x00, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
    + 0xE8, 0xE9, 0xE9, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4,
    + 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF,
    +};
    +
    +static const unsigned char Lookup_224[128 * 3] = {
    + /* Common */
    + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C,
    + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
    + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
    + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33,
    + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40,
    + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D,
    + 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A,
    + 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54,
    + 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
    +
    +/* Windows */
    + 0x80, 0x81, 0x82, 0x46, 0x84, 0x85, 0x86, 0x87, 0x5E, 0x89, 0x8A, 0x8B, 0x8C,
    + 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
    + 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0x32, 0x33,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0x31, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0,
    + 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD,
    + 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA,
    + 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
    + 0xE8, 0xE9, 0xEA, 0xEA, 0xEC, 0xED, 0xED, 0xEF, 0xEF, 0xF1, 0xF2, 0xF3, 0xF3,
    + 0xF5, 0xF5, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0x00, 0x00, 0xFF,
    +
    + /* Mac */
    + 0x41, 0x41, 0x43, 0x45, 0x4E, 0x4F, 0x55, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
    + 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x4E, 0x4F, 0x4F, 0x4F,
    + 0x4F, 0x4F, 0x55, 0x55, 0x55, 0x55, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
    + 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3,
    + 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0,
    + 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD,
    + 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA,
    + 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
    + 0xE8, 0xE9, 0xEA, 0xEA, 0xEC, 0xED, 0xED, 0xEF, 0xEF, 0xF1, 0xF2, 0xF3, 0xF3,
    + 0xF5, 0xF5, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF,
    +};
    +
    +/***********************************************************************
    + *		lhash_val_of_name_sys
    + *
    + * Copy of oleaut32.LHashValOfNameSysA
    + * Produce a string hash value.
    + *
    + * PARAMS
    + *  skind [I] Type of the system.
    + *  lcid  [I] Locale id for the hash.
    + *  lpStr [I] String to hash.
    + *
    + * RETURNS
    + *  Success: The hash value of the string.
    + *  Failure: 0, if lpStr is NULL.
    + *
    + * NOTES
    + *  This function produces a two part hash: The high word is based on
    + *  skind and lcid, while the low word is based on a repeated string
    + *  hash of skind/str.
    + */
    +unsigned long lhash_val_of_name_sys( syskind_t skind, LCID lcid, LPCSTR lpStr)
    +{
    +  ULONG nOffset, nMask = skind == SYS_MAC ? 1 : 0;
    +  ULONG nHiWord, nLoWord = 0x0deadbee;
    +  const unsigned char *str = (const unsigned char *)lpStr, *pnLookup = NULL;
    +
    +  if (!str)
    +    return 0;
    +
    +  switch (PRIMARYLANGID(LANGIDFROMLCID(lcid)))
    +  {
    +  default:
    +    fprintf(stderr, "Unknown lcid %lx, treating as latin-based, please report\n", lcid);
    +    /* .. Fall Through .. */
    +  case LANG_AFRIKAANS:  case LANG_ALBANIAN:   case LANG_ARMENIAN:
    +  case LANG_ASSAMESE:   case LANG_AZERI:      case LANG_BASQUE:
    +  case LANG_BELARUSIAN: case LANG_BENGALI:    case LANG_BULGARIAN:
    +  case LANG_CATALAN:    case LANG_DANISH:     case LANG_DIVEHI:
    +  case LANG_DUTCH:      case LANG_ENGLISH:    case LANG_ESTONIAN:
    +  case LANG_FAEROESE:   case LANG_FINNISH:    case LANG_FRENCH:
    +  case LANG_GALICIAN:   case LANG_GEORGIAN:   case LANG_GERMAN:
    +  case LANG_GUJARATI:   case LANG_HINDI:      case LANG_INDONESIAN:
    +  case LANG_ITALIAN:    case LANG_KANNADA:    case LANG_KASHMIRI:
    +  case LANG_KAZAK:      case LANG_KONKANI:    case LANG_KYRGYZ:
    +  case LANG_LATVIAN:    case LANG_LITHUANIAN: case LANG_MACEDONIAN:
    +  case LANG_MALAY:      case LANG_MALAYALAM:  case LANG_MANIPURI:
    +  case LANG_MARATHI:    case LANG_MONGOLIAN:  case LANG_NEPALI:
    +  case LANG_ORIYA:      case LANG_PORTUGUESE: case LANG_PUNJABI:
    +  case LANG_ROMANIAN:   case LANG_SANSKRIT:   case LANG_SERBIAN:
    +  case LANG_SINDHI:     case LANG_SLOVENIAN:  case LANG_SWAHILI:
    +  case LANG_SWEDISH:    case LANG_SYRIAC:     case LANG_TAMIL:
    +  case LANG_TATAR:      case LANG_TELUGU:     case LANG_THAI:
    +  case LANG_UKRAINIAN:  case LANG_URDU:       case LANG_UZBEK:
    +  case LANG_VIETNAMESE: case LANG_GAELIC:     case LANG_MALTESE:
    +  case LANG_MAORI:      case LANG_RHAETO_ROMANCE:
    +  case LANG_SAAMI:      case LANG_SORBIAN:    case LANG_SUTU:
    +  case LANG_TSONGA:     case LANG_TSWANA:     case LANG_VENDA:
    +  case LANG_XHOSA:      case LANG_ZULU:       case LANG_ESPERANTO:
    +  case LANG_WALON:      case LANG_CORNISH:    case LANG_WELSH:
    +  case LANG_BRETON:
    +    nOffset = 16;
    +    pnLookup = Lookup_16;
    +    break;
    +  case LANG_CZECH:  case LANG_HUNGARIAN:  case LANG_POLISH:
    +  case LANG_SLOVAK: case LANG_SPANISH:
    +    nOffset = 32;
    +    pnLookup = Lookup_32;
    +    break;
    +  case LANG_HEBREW:
    +    nOffset = 48;
    +    pnLookup = Lookup_48;
    +    break;
    +  case LANG_JAPANESE:
    +    nOffset = 64;
    +    pnLookup = Lookup_64;
    +    break;
    +  case LANG_KOREAN:
    +    nOffset = 80;
    +    pnLookup = Lookup_80;
    +    break;
    +  case LANG_CHINESE:
    +    nOffset = 112;
    +    pnLookup = Lookup_112;
    +    break;
    +  case LANG_GREEK:
    +    nOffset = 128;
    +    pnLookup = Lookup_128;
    +    break;
    +  case LANG_ICELANDIC:
    +    nOffset = 144;
    +    pnLookup = Lookup_144;
    +    break;
    +  case LANG_TURKISH:
    +    nOffset = 160;
    +    pnLookup = Lookup_160;
    +    break;
    +  case LANG_NORWEGIAN:
    +    if (SUBLANGID(LANGIDFROMLCID(lcid)) == SUBLANG_NORWEGIAN_NYNORSK)
    +    {
    +      nOffset = 176;
    +      pnLookup = Lookup_176;
    +    }
    +    else
    +    {
    +      nOffset = 16;
    +      pnLookup = Lookup_16;
    +    }
    +    break;
    +  case LANG_ARABIC:
    +  case LANG_FARSI:
    +    nOffset = 208;
    +    pnLookup = Lookup_208;
    +    break;
    +  case LANG_RUSSIAN:
    +    nOffset = 224;
    +    pnLookup = Lookup_224;
    +    break;
    +  }
    +
    +  nHiWord = (nOffset | nMask) << 16;
    +
    +  while (*str)
    +  {
    +    ULONG newLoWord = 0, i;
    +
    +    /* Cumulative prime multiplication (*37) with modulo 2^32 wrap-around */
    +    for (i = 0; i < 37; i++)
    +      newLoWord += nLoWord;
    +
    +    nLoWord = newLoWord + pnLookup[*str > 0x7f && nMask ? *str + 0x80 : *str];
    +    str++;
    +  }
    +  /* Constrain to a prime modulo and sizeof(WORD) */
    +  nLoWord = (nLoWord % 65599) & 0xffff;
    +
    +  return nHiWord | nLoWord;
    +}
    diff --git a/reactos/tools/widl/hash.h b/reactos/tools/widl/hash.h
    new file mode 100644
    index 00000000000..de91849ebc6
    --- /dev/null
    +++ b/reactos/tools/widl/hash.h
    @@ -0,0 +1,33 @@
    +/*
    + * Hash definitions
    + *
    + * Copyright 2005 Huw Davies
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + */
    +
    +#ifndef __WIDL_HASH_H
    +#define __WIDL_HASH_H
    +
    +typedef enum tag_syskind_t {
    +    SYS_WIN16 = 0,
    +    SYS_WIN32,
    +    SYS_MAC
    +} syskind_t;
    +
    +extern unsigned long lhash_val_of_name_sys( syskind_t skind, LCID lcid, LPCSTR lpStr);
    +
    +#endif
    diff --git a/reactos/tools/widl/header.c b/reactos/tools/widl/header.c
    new file mode 100644
    index 00000000000..3a3345b074b
    --- /dev/null
    +++ b/reactos/tools/widl/header.c
    @@ -0,0 +1,903 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +# include 
    +#endif
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "header.h"
    +
    +static int indentation = 0;
    +
    +static void indent(int delta)
    +{
    +  int c;
    +  if (delta < 0) indentation += delta;
    +  for (c=0; c 0) indentation += delta;
    +}
    +
    +int is_attr(attr_t *a, enum attr_type t)
    +{
    +  while (a) {
    +    if (a->type == t) return 1;
    +    a = NEXT_LINK(a);
    +  }
    +  return 0;
    +}
    +
    +void *get_attrp(attr_t *a, enum attr_type t)
    +{
    +  while (a) {
    +    if (a->type == t) return a->u.pval;
    +    a = NEXT_LINK(a);
    +  }
    +  return NULL;
    +}
    +
    +unsigned long get_attrv(attr_t *a, enum attr_type t)
    +{
    +  while (a) {
    +    if (a->type == t) return a->u.ival;
    +    a = NEXT_LINK(a);
    +  }
    +  return 0;
    +}
    +
    +int is_void(type_t *t, var_t *v)
    +{
    +  if (v && v->ptr_level) return 0;
    +  if (!t->type && !t->ref) return 1;
    +  return 0;
    +}
    +
    +static void write_pident(FILE *h, var_t *v)
    +{
    +  int c;
    +  for (c=0; cptr_level; c++) {
    +    fprintf(h, "*");
    +  }
    +  if (v->name) fprintf(h, "%s", v->name);
    +}
    +
    +void write_name(FILE *h, var_t *v)
    +{
    +  if (is_attr( v->attrs, ATTR_PROPGET ))
    +    fprintf(h, "get_" );
    +  else if (is_attr( v->attrs, ATTR_PROPPUT ))
    +    fprintf(h, "put_" );
    +  fprintf(h, "%s", v->name);
    +}
    +
    +char* get_name(var_t *v)
    +{
    +  return v->name;
    +}
    +
    +static void write_array(FILE *h, expr_t *v, int field)
    +{
    +  if (!v) return;
    +  while (NEXT_LINK(v)) v = NEXT_LINK(v);
    +  fprintf(h, "[");
    +  while (v) {
    +    if (v->is_const)
    +      fprintf(h, "%ld", v->cval); /* statically sized array */
    +    else
    +      if (field) fprintf(h, "1"); /* dynamically sized array */
    +    if (PREV_LINK(v))
    +      fprintf(h, ", ");
    +    v = PREV_LINK(v);
    +  }
    +  fprintf(h, "]");
    +}
    +
    +static void write_field(FILE *h, var_t *v)
    +{
    +  if (!v) return;
    +  if (v->type) {
    +    indent(0);
    +    write_type(h, v->type, NULL, v->tname);
    +    if (get_name(v)) {
    +      fprintf(h, " ");
    +      write_pident(h, v);
    +    }
    +    else {
    +      /* not all C/C++ compilers support anonymous structs and unions */
    +      switch (v->type->type) {
    +      case RPC_FC_STRUCT:
    +      case RPC_FC_CVSTRUCT:
    +      case RPC_FC_CPSTRUCT:
    +      case RPC_FC_CSTRUCT:
    +      case RPC_FC_PSTRUCT:
    +      case RPC_FC_BOGUS_STRUCT:
    +      case RPC_FC_ENCAPSULATED_UNION:
    +        fprintf(h, " DUMMYSTRUCTNAME");
    +        break;
    +      case RPC_FC_NON_ENCAPSULATED_UNION:
    +        fprintf(h, " DUMMYUNIONNAME");
    +        break;
    +      default:
    +        /* ? */
    +        break;
    +      }
    +    }
    +    write_array(h, v->array, 1);
    +    fprintf(h, ";\n");
    +  }
    +}
    +
    +static void write_fields(FILE *h, var_t *v)
    +{
    +  var_t *first = v;
    +  if (!v) return;
    +  while (NEXT_LINK(v)) v = NEXT_LINK(v);
    +  while (v) {
    +    write_field(h, v);
    +    if (v == first) break;
    +    v = PREV_LINK(v);
    +  }
    +}
    +
    +static void write_enums(FILE *h, var_t *v)
    +{
    +  if (!v) return;
    +  while (NEXT_LINK(v)) v = NEXT_LINK(v);
    +  while (v) {
    +    if (get_name(v)) {
    +      indent(0);
    +      write_name(h, v);
    +      if (v->eval) {
    +        fprintf(h, " = ");
    +        write_expr(h, v->eval);
    +      }
    +    }
    +    if (PREV_LINK(v))
    +      fprintf(h, ",\n");
    +    v = PREV_LINK(v);
    +  }
    +  fprintf(h, "\n");
    +}
    +
    +void write_type(FILE *h, type_t *t, var_t *v, char *n)
    +{
    +  int c;
    +
    +  if (n) fprintf(h, "%s", n);
    +  else {
    +    if (t->is_const) fprintf(h, "const ");
    +    if (t->type) {
    +      if (t->sign > 0) fprintf(h, "signed ");
    +      else if (t->sign < 0) fprintf(h, "unsigned ");
    +      switch (t->type) {
    +      case RPC_FC_BYTE:
    +        if (t->ref) fprintf(h, t->ref->name);
    +        else fprintf(h, "byte");
    +        break;
    +      case RPC_FC_CHAR:
    +        if (t->ref) fprintf(h, t->ref->name);
    +        else fprintf(h, "char");
    +        break;
    +      case RPC_FC_WCHAR:
    +        fprintf(h, "wchar_t");
    +        break;
    +      case RPC_FC_USHORT:
    +      case RPC_FC_SHORT:
    +        if (t->ref) fprintf(h, t->ref->name);
    +        else fprintf(h, "short");
    +        break;
    +      case RPC_FC_ULONG:
    +      case RPC_FC_LONG:
    +        if (t->ref) fprintf(h, t->ref->name);
    +        else fprintf(h, "long");
    +        break;
    +      case RPC_FC_HYPER:
    +        if (t->ref) fprintf(h, t->ref->name);
    +        else fprintf(h, "hyper");
    +        break;
    +      case RPC_FC_FLOAT:
    +        fprintf(h, "float");
    +        break;
    +      case RPC_FC_DOUBLE:
    +        fprintf(h, "double");
    +        break;
    +      case RPC_FC_ENUM16:
    +      case RPC_FC_ENUM32:
    +        if (t->defined && !t->written) {
    +          if (t->name) fprintf(h, "enum %s {\n", t->name);
    +          else fprintf(h, "enum {\n");
    +          t->written = TRUE;
    +          indentation++;
    +          write_enums(h, t->fields);
    +          indent(-1);
    +          fprintf(h, "}");
    +        }
    +        else fprintf(h, "enum %s", t->name);
    +        break;
    +      case RPC_FC_ERROR_STATUS_T:
    +        if (t->ref) fprintf(h, t->ref->name);
    +        else fprintf(h, "error_status_t");
    +        break;
    +      case RPC_FC_IGNORE:
    +        if (t->ref) fprintf(h, t->ref->name);
    +        else fprintf(h, "handle_t");
    +        break;
    +      case RPC_FC_STRUCT:
    +      case RPC_FC_CVSTRUCT:
    +      case RPC_FC_CPSTRUCT:
    +      case RPC_FC_CSTRUCT:
    +      case RPC_FC_PSTRUCT:
    +      case RPC_FC_BOGUS_STRUCT:
    +      case RPC_FC_ENCAPSULATED_UNION:
    +        if (t->defined && !t->written) {
    +          if (t->name) fprintf(h, "struct %s {\n", t->name);
    +          else fprintf(h, "struct {\n");
    +          t->written = TRUE;
    +          indentation++;
    +          write_fields(h, t->fields);
    +          indent(-1);
    +          fprintf(h, "}");
    +        }
    +        else fprintf(h, "struct %s", t->name);
    +        break;
    +      case RPC_FC_NON_ENCAPSULATED_UNION:
    +        if (t->defined && !t->written) {
    +          if (t->name) fprintf(h, "union %s {\n", t->name);
    +          else fprintf(h, "union {\n");
    +          t->written = TRUE;
    +          indentation++;
    +          write_fields(h, t->fields);
    +          indent(-1);
    +          fprintf(h, "}");
    +        }
    +        else fprintf(h, "union %s", t->name);
    +        break;
    +      default:
    +        fprintf(h, "(unknown-type:%d)", t->type);
    +      }
    +    }
    +    else {
    +      if (t->ref) {
    +        write_type(h, t->ref, NULL, t->name);
    +      }
    +      else fprintf(h, "void");
    +    }
    +  }
    +  if (v) {
    +    for (c=0; cptr_level; c++) {
    +      fprintf(h, "*");
    +    }
    +  }
    +}
    +
    +void write_typedef(type_t *type, var_t *names)
    +{
    +  char *tname = names->tname;
    +  var_t *lname;
    +  while (NEXT_LINK(names)) names = NEXT_LINK(names);
    +  lname = names;
    +  fprintf(header, "typedef ");
    +  write_type(header, type, NULL, tname);
    +  fprintf(header, " ");
    +  while (names) {
    +    write_pident(header, names);
    +    if (PREV_LINK(names))
    +      fprintf(header, ", ");
    +    names = PREV_LINK(names);
    +  }
    +  fprintf(header, ";\n");
    +
    +  if (get_attrp(type->attrs, ATTR_WIREMARSHAL)) {
    +    names = lname;
    +    while (names) {
    +      char *name = get_name(names);
    +      fprintf(header, "unsigned long   __RPC_USER %s_UserSize     (unsigned long *, unsigned long,   %s *);\n", name, name);
    +      fprintf(header, "unsigned char * __RPC_USER %s_UserMarshal  (unsigned long *, unsigned char *, %s *);\n", name, name);
    +      fprintf(header, "unsigned char * __RPC_USER %s_UserUnmarshal(unsigned long *, unsigned char *, %s *);\n", name, name);
    +      fprintf(header, "void            __RPC_USER %s_UserFree     (unsigned long *, %s *);\n", name, name);
    +      if (PREV_LINK(names))
    +        fprintf(header, ", ");
    +      names = PREV_LINK(names);
    +    }
    +  }
    +
    +  fprintf(header, "\n");
    +}
    +
    +static void do_write_expr(FILE *h, expr_t *e, int p)
    +{
    +  switch (e->type) {
    +  case EXPR_VOID:
    +    break;
    +  case EXPR_NUM:
    +    fprintf(h, "%ld", e->u.lval);
    +    break;
    +  case EXPR_HEXNUM:
    +    fprintf(h, "0x%lx", e->u.lval);
    +    break;
    +  case EXPR_IDENTIFIER:
    +    fprintf(h, "%s", e->u.sval);
    +    break;
    +  case EXPR_NEG:
    +    fprintf(h, "-");
    +    do_write_expr(h, e->ref, 1);
    +    break;
    +  case EXPR_NOT:
    +    fprintf(h, "~");
    +    do_write_expr(h, e->ref, 1);
    +    break;
    +  case EXPR_PPTR:
    +    fprintf(h, "*");
    +    do_write_expr(h, e->ref, 1);
    +    break;
    +  case EXPR_CAST:
    +    fprintf(h, "(");
    +    write_type(h, e->u.tref->ref, NULL, e->u.tref->name);
    +    fprintf(h, ")");
    +    do_write_expr(h, e->ref, 1);
    +    break;
    +  case EXPR_SIZEOF:
    +    fprintf(h, "sizeof(");
    +    write_type(h, e->u.tref->ref, NULL, e->u.tref->name);
    +    fprintf(h, ")");
    +    break;
    +  case EXPR_SHL:
    +  case EXPR_SHR:
    +  case EXPR_MUL:
    +  case EXPR_DIV:
    +  case EXPR_ADD:
    +  case EXPR_SUB:
    +  case EXPR_AND:
    +  case EXPR_OR:
    +    if (p) fprintf(h, "(");
    +    do_write_expr(h, e->ref, 1);
    +    switch (e->type) {
    +    case EXPR_SHL: fprintf(h, " << "); break;
    +    case EXPR_SHR: fprintf(h, " >> "); break;
    +    case EXPR_MUL: fprintf(h, " * "); break;
    +    case EXPR_DIV: fprintf(h, " / "); break;
    +    case EXPR_ADD: fprintf(h, " + "); break;
    +    case EXPR_SUB: fprintf(h, " - "); break;
    +    case EXPR_AND: fprintf(h, " & "); break;
    +    case EXPR_OR:  fprintf(h, " | "); break;
    +    default: break;
    +    }
    +    do_write_expr(h, e->u.ext, 1);
    +    if (p) fprintf(h, ")");
    +    break;
    +  case EXPR_COND:
    +    if (p) fprintf(h, "(");
    +    do_write_expr(h, e->ref, 1);
    +    fprintf(h, " ? ");
    +    do_write_expr(h, e->u.ext, 1);
    +    fprintf(h, " : ");
    +    do_write_expr(h, e->ext2, 1);
    +    if (p) fprintf(h, ")");
    +    break;
    +  }
    +}
    +
    +void write_expr(FILE *h, expr_t *e)
    +{
    +  do_write_expr(h, e, 0);
    +}
    +
    +void write_constdef(var_t *v)
    +{
    +  fprintf(header, "#define %s (", get_name(v));
    +  write_expr(header, v->eval);
    +  fprintf(header, ")\n\n");
    +}
    +
    +void write_externdef(var_t *v)
    +{
    +  fprintf(header, "extern const ");
    +  write_type(header, v->type, NULL, v->tname);
    +  if (get_name(v)) {
    +    fprintf(header, " ");
    +    write_pident(header, v);
    +  }
    +  fprintf(header, ";\n\n");
    +}
    +
    +
    +var_t* get_explicit_handle_var(func_t* func)
    +{
    +    var_t* var;
    +
    +    if (!func->args)
    +        return NULL;
    +
    +    var = func->args;
    +    while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +    while (var)
    +    {
    +        if (var->type->type == RPC_FC_IGNORE)
    +            return var;
    +
    +        var = PREV_LINK(var);
    +    }
    +
    +    return NULL;
    +}
    +
    +
    +/********** INTERFACES **********/
    +
    +int is_object(attr_t *a)
    +{
    +  while (a) {
    +    if (a->type == ATTR_OBJECT || a->type == ATTR_ODL) return 1;
    +    a = NEXT_LINK(a);
    +  }
    +  return 0;
    +}
    +
    +int is_local(attr_t *a)
    +{
    +  return is_attr(a, ATTR_LOCAL);
    +}
    +
    +var_t *is_callas(attr_t *a)
    +{
    +  return get_attrp(a, ATTR_CALLAS);
    +}
    +
    +static int write_method_macro(type_t *iface, char *name)
    +{
    +  int idx;
    +  func_t *cur = iface->funcs;
    +
    +  if (iface->ref) idx = write_method_macro(iface->ref, name);
    +  else idx = 0;
    +
    +  if (!cur) return idx;
    +  while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +
    +  fprintf(header, "/*** %s methods ***/\n", iface->name);
    +  while (cur) {
    +    var_t *def = cur->def;
    +    if (!is_callas(def->attrs)) {
    +      var_t *arg = cur->args;
    +      int argc = 0;
    +      int c;
    +      while (arg) {
    +	arg = NEXT_LINK(arg);
    +	argc++;
    +      }
    +
    +      fprintf(header, "#define %s_", name);
    +      write_name(header,def);
    +      fprintf(header, "(p");
    +      for (c=0; clpVtbl->");
    +      write_name(header, def);
    +      fprintf(header, "(p");
    +      for (c=0; cidx == -1) cur->idx = idx;
    +      else if (cur->idx != idx) yyerror("BUG: method index mismatch in write_method_macro");
    +      idx++;
    +    }
    +    cur = PREV_LINK(cur);
    +  }
    +  return idx;
    +}
    +
    +void write_args(FILE *h, var_t *arg, char *name, int method, int do_indent)
    +{
    +  int count = 0;
    +  if (arg) {
    +    while (NEXT_LINK(arg))
    +      arg = NEXT_LINK(arg);
    +  }
    +  if (do_indent)
    +  {
    +      if (h == header) {
    +          indentation++;
    +          indent(0);
    +      } else fprintf(h, "    ");
    +  }
    +  if (method == 1) {
    +    fprintf(h, "%s* This", name);
    +    count++;
    +  }
    +  if (arg == NULL && method == 0) {
    +    fprintf(h, "void");
    +    return;
    +  }
    +  while (arg) {
    +    if (count) {
    +        if (do_indent)
    +        {
    +            fprintf(h, ",\n");
    +            if (h == header) indent(0);
    +            else fprintf(h, "    ");
    +        }
    +        else fprintf(h, ",");
    +    }
    +    write_type(h, arg->type, arg, arg->tname);
    +    if (arg->args)
    +    {
    +      fprintf(h, " (STDMETHODCALLTYPE *");
    +      write_name(h,arg);
    +      fprintf(h, ")(");
    +      write_args(h, arg->args, NULL, 0, FALSE);
    +      fprintf(h, ")");
    +    }
    +    else
    +    {
    +      fprintf(h, " ");
    +      write_name(h, arg);
    +    }
    +    write_array(h, arg->array, 0);
    +    arg = PREV_LINK(arg);
    +    count++;
    +  }
    +  if (do_indent && h == header) indentation--;
    +}
    +
    +static void write_cpp_method_def(type_t *iface)
    +{
    +  func_t *cur = iface->funcs;
    +
    +  if (!cur) return;
    +  while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +  while (cur) {
    +    var_t *def = cur->def;
    +    if (!is_callas(def->attrs)) {
    +      indent(0);
    +      fprintf(header, "virtual ");
    +      write_type(header, def->type, def, def->tname);
    +      fprintf(header, " STDMETHODCALLTYPE ");
    +      write_name(header, def);
    +      fprintf(header, "(\n");
    +      write_args(header, cur->args, iface->name, 2, TRUE);
    +      fprintf(header, ") = 0;\n");
    +      fprintf(header, "\n");
    +    }
    +    cur = PREV_LINK(cur);
    +  }
    +}
    +
    +static void do_write_c_method_def(type_t *iface, char *name)
    +{
    +  func_t *cur = iface->funcs;
    +
    +  if (iface->ref) do_write_c_method_def(iface->ref, name);
    +
    +  if (!cur) return;
    +  while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +  indent(0);
    +  fprintf(header, "/*** %s methods ***/\n", iface->name);
    +  while (cur) {
    +    var_t *def = cur->def;
    +    if (!is_callas(def->attrs)) {
    +      indent(0);
    +      write_type(header, def->type, def, def->tname);
    +      fprintf(header, " (STDMETHODCALLTYPE *");
    +      write_name(header, def);
    +      fprintf(header, ")(\n");
    +      write_args(header, cur->args, name, 1, TRUE);
    +      fprintf(header, ");\n");
    +      fprintf(header, "\n");
    +    }
    +    cur = PREV_LINK(cur);
    +  }
    +}
    +
    +static void write_c_method_def(type_t *iface)
    +{
    +  do_write_c_method_def(iface, iface->name);
    +}
    +
    +static void write_c_disp_method_def(type_t *iface)
    +{
    +  do_write_c_method_def(iface->ref, iface->name);
    +}
    +
    +static void write_method_proto(type_t *iface)
    +{
    +  func_t *cur = iface->funcs;
    +
    +  if (!cur) return;
    +  while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +  while (cur) {
    +    var_t *def = cur->def;
    +    var_t *cas = is_callas(def->attrs);
    +    if (!is_local(def->attrs)) {
    +      /* proxy prototype */
    +      write_type(header, def->type, def, def->tname);
    +      fprintf(header, " CALLBACK %s_", iface->name);
    +      write_name(header, def);
    +      fprintf(header, "_Proxy(\n");
    +      write_args(header, cur->args, iface->name, 1, TRUE);
    +      fprintf(header, ");\n");
    +      /* stub prototype */
    +      fprintf(header, "void __RPC_STUB %s_", iface->name);
    +      write_name(header,def);
    +      fprintf(header, "_Stub(\n");
    +      fprintf(header, "    struct IRpcStubBuffer* This,\n");
    +      fprintf(header, "    struct IRpcChannelBuffer* pRpcChannelBuffer,\n");
    +      fprintf(header, "    PRPC_MESSAGE pRpcMessage,\n");
    +      fprintf(header, "    DWORD* pdwStubPhase);\n");
    +    }
    +    if (cas) {
    +      func_t *m = iface->funcs;
    +      while (m && strcmp(get_name(m->def), cas->name))
    +        m = NEXT_LINK(m);
    +      if (m) {
    +        var_t *mdef = m->def;
    +        /* proxy prototype - use local prototype */
    +        write_type(header, mdef->type, mdef, mdef->tname);
    +        fprintf(header, " CALLBACK %s_", iface->name);
    +        write_name(header, mdef);
    +        fprintf(header, "_Proxy(\n");
    +        write_args(header, m->args, iface->name, 1, TRUE);
    +        fprintf(header, ");\n");
    +        /* stub prototype - use remotable prototype */
    +        write_type(header, def->type, def, def->tname);
    +        fprintf(header, " __RPC_STUB %s_", iface->name);
    +        write_name(header, mdef);
    +        fprintf(header, "_Stub(\n");
    +        write_args(header, cur->args, iface->name, 1, TRUE);
    +        fprintf(header, ");\n");
    +      }
    +      else {
    +        yywarning("invalid call_as attribute (%s -> %s)\n", get_name(def), cas->name);
    +      }
    +    }
    +
    +    cur = PREV_LINK(cur);
    +  }
    +}
    +
    +static void write_function_proto(type_t *iface)
    +{
    +  int explicit_handle = is_attr(iface->attrs, ATTR_EXPLICIT_HANDLE);
    +  var_t* explicit_handle_var;
    +
    +  func_t *cur = iface->funcs;
    +  while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +  while (cur) {
    +    var_t *def = cur->def;
    +
    +    /* check for a defined binding handle */
    +    explicit_handle_var = get_explicit_handle_var(cur);
    +    if (explicit_handle) {
    +      if (!explicit_handle_var) {
    +        error("%s() does not define an explicit binding handle!\n", def->name);
    +        return;
    +      }
    +    } else {
    +      if (explicit_handle_var) {
    +        error("%s() must not define a binding handle!\n", def->name);
    +        return;
    +      }
    +    }
    +
    +    /* FIXME: do we need to handle call_as? */
    +    write_type(header, def->type, def, def->tname);
    +    fprintf(header, " ");
    +    write_name(header, def);
    +    fprintf(header, "(\n");
    +    write_args(header, cur->args, iface->name, 0, TRUE);
    +    fprintf(header, ");\n");
    +
    +    cur = PREV_LINK(cur);
    +  }
    +}
    +
    +void write_forward(type_t *iface)
    +{
    +  /* C/C++ forwards should only be written for object interfaces, so if we
    +   * have a full definition we only write one if we find [object] among the
    +   * attributes - however, if we don't have a full definition at this point
    +   * (i.e. this is an IDL forward), then we also assume that it is an object
    +   * interface, since non-object interfaces shouldn't need forwards */
    +  if ((!iface->defined || is_object(iface->attrs) || is_attr(iface->attrs, ATTR_DISPINTERFACE))
    +        && !iface->written) {
    +    fprintf(header,"#ifndef __%s_FWD_DEFINED__\n", iface->name);
    +    fprintf(header,"#define __%s_FWD_DEFINED__\n", iface->name);
    +    fprintf(header, "typedef struct %s %s;\n", iface->name, iface->name);
    +    fprintf(header, "#endif\n\n" );
    +    iface->written = TRUE;
    +  }
    +}
    +
    +void write_guid(const char *guid_prefix, const char *name, UUID *uuid)
    +{
    +  if (!uuid) return;
    +  fprintf(header, "DEFINE_GUID(%s_%s, 0x%08lx, 0x%04x, 0x%04x, 0x%02x,0x%02x, 0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x);\n",
    +          guid_prefix, name, uuid->Data1, uuid->Data2, uuid->Data3, uuid->Data4[0], uuid->Data4[1],
    +          uuid->Data4[2], uuid->Data4[3], uuid->Data4[4], uuid->Data4[5], uuid->Data4[6], uuid->Data4[7]);
    +}
    +
    +void write_iface_guid(type_t *iface)
    +{
    +  UUID *uuid = get_attrp(iface->attrs, ATTR_UUID);
    +  write_guid("IID", iface->name, uuid);
    +} 
    +
    +void write_dispiface_guid(type_t *iface)
    +{
    +  UUID *uuid = get_attrp(iface->attrs, ATTR_UUID);
    +  write_guid("DIID", iface->name, uuid);
    +}
    +
    +void write_coclass_guid(class_t *cocl)
    +{
    +  UUID *uuid = get_attrp(cocl->attrs, ATTR_UUID);
    +  write_guid("CLSID", cocl->name, uuid);
    +}
    +
    +void write_com_interface(type_t *iface)
    +{
    +  if (!iface->funcs && !iface->ref) {
    +    yywarning("%s has no methods", iface->name);
    +    return;
    +  }
    +
    +  fprintf(header, "/*****************************************************************************\n");
    +  fprintf(header, " * %s interface\n", iface->name);
    +  fprintf(header, " */\n");
    +  fprintf(header,"#ifndef __%s_INTERFACE_DEFINED__\n", iface->name);
    +  fprintf(header,"#define __%s_INTERFACE_DEFINED__\n\n", iface->name);
    +  write_iface_guid(iface);
    +  write_forward(iface);
    +  /* C++ interface */
    +  fprintf(header, "#if defined(__cplusplus) && !defined(CINTERFACE)\n");
    +  if (iface->ref)
    +  {
    +      fprintf(header, "struct %s : public %s\n", iface->name, iface->ref->name);
    +      fprintf(header, "{\n");
    +      indentation++;
    +      write_cpp_method_def(iface);
    +      indentation--;
    +      fprintf(header, "};\n");
    +  }
    +  else
    +  {
    +      fprintf(header, "struct %s\n", iface->name);
    +      fprintf(header, "{\n");
    +      fprintf(header, "    BEGIN_INTERFACE\n");
    +      fprintf(header, "\n");
    +      indentation++;
    +      write_cpp_method_def(iface);
    +      indentation--;
    +      fprintf(header, "    END_INTERFACE\n");
    +      fprintf(header, "};\n");
    +  }
    +  fprintf(header, "#else\n");
    +  /* C interface */
    +  fprintf(header, "typedef struct %sVtbl %sVtbl;\n", iface->name, iface->name);
    +  fprintf(header, "struct %s {\n", iface->name);
    +  fprintf(header, "    const %sVtbl* lpVtbl;\n", iface->name);
    +  fprintf(header, "};\n");
    +  fprintf(header, "struct %sVtbl {\n", iface->name);
    +  indentation++;
    +  fprintf(header, "    BEGIN_INTERFACE\n");
    +  fprintf(header, "\n");
    +  write_c_method_def(iface);
    +  indentation--;
    +  fprintf(header, "    END_INTERFACE\n");
    +  fprintf(header, "};\n");
    +  fprintf(header, "\n");
    +  fprintf(header, "#ifdef COBJMACROS\n");
    +  write_method_macro(iface, iface->name);
    +  fprintf(header, "#endif\n");
    +  fprintf(header, "\n");
    +  fprintf(header, "#endif\n");
    +  fprintf(header, "\n");
    +  write_method_proto(iface);
    +  fprintf(header,"\n#endif  /* __%s_INTERFACE_DEFINED__ */\n\n", iface->name);
    +}
    +
    +void write_rpc_interface(type_t *iface)
    +{
    +  unsigned long ver = get_attrv(iface->attrs, ATTR_VERSION);
    +  char *var = get_attrp(iface->attrs, ATTR_IMPLICIT_HANDLE);
    +
    +  if (!iface->funcs) return;
    +
    +  fprintf(header, "/*****************************************************************************\n");
    +  fprintf(header, " * %s interface (v%d.%d)\n", iface->name, LOWORD(ver), HIWORD(ver));
    +  fprintf(header, " */\n");
    +  write_iface_guid(iface);
    +  if (var)
    +  {
    +    fprintf(header, "extern handle_t %s;\n", var);
    +  }
    +  fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_c_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver));
    +  fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_s_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver));
    +  write_function_proto(iface);
    +  fprintf(header, "\n");
    +
    +  /* FIXME: server/client code */
    +}
    +
    +void write_interface(type_t *iface)
    +{
    +  if (is_object(iface->attrs))
    +    write_com_interface(iface);
    +  else
    +    write_rpc_interface(iface);
    +}
    +
    +void write_dispinterface(type_t *iface)
    +{
    +  fprintf(header, "/*****************************************************************************\n");
    +  fprintf(header, " * %s dispinterface\n", iface->name);
    +  fprintf(header, " */\n");
    +  fprintf(header,"#ifndef __%s_DISPINTERFACE_DEFINED__\n", iface->name);
    +  fprintf(header,"#define __%s_DISPINTERFACE_DEFINED__\n\n", iface->name);
    +  write_dispiface_guid(iface);
    +  write_forward(iface);
    +  /* C++ interface */
    +  fprintf(header, "#if defined(__cplusplus) && !defined(CINTERFACE)\n");
    +  fprintf(header, "struct %s : public %s\n", iface->name, iface->ref->name);
    +  fprintf(header, "{\n");
    +  fprintf(header, "};\n");
    +  fprintf(header, "#else\n");
    +  /* C interface */
    +  fprintf(header, "typedef struct %sVtbl %sVtbl;\n", iface->name, iface->name);
    +  fprintf(header, "struct %s {\n", iface->name);
    +  fprintf(header, "    const %sVtbl* lpVtbl;\n", iface->name);
    +  fprintf(header, "};\n");
    +  fprintf(header, "struct %sVtbl {\n", iface->name);
    +  indentation++;
    +  fprintf(header, "    BEGIN_INTERFACE\n");
    +  fprintf(header, "\n");
    +  write_c_disp_method_def(iface);
    +  indentation--;
    +  fprintf(header, "    END_INTERFACE\n");
    +  fprintf(header, "};\n");
    +  fprintf(header, "\n");
    +  fprintf(header, "#ifdef COBJMACROS\n");
    +  write_method_macro(iface->ref, iface->name);
    +  fprintf(header, "#endif\n");
    +  fprintf(header, "\n");
    +  fprintf(header, "#endif\n");
    +  fprintf(header, "\n");
    +  fprintf(header,"#endif  /* __%s_DISPINTERFACE_DEFINED__ */\n\n", iface->name);
    +}
    +
    +void write_coclass(class_t *cocl)
    +{
    +  fprintf(header, "/*****************************************************************************\n");
    +  fprintf(header, " * %s coclass\n", cocl->name);
    +  fprintf(header, " */\n\n");
    +  write_coclass_guid(cocl);
    +  fprintf(header, "\n");
    +}
    diff --git a/reactos/tools/widl/header.h b/reactos/tools/widl/header.h
    new file mode 100644
    index 00000000000..6d276c3d6ac
    --- /dev/null
    +++ b/reactos/tools/widl/header.h
    @@ -0,0 +1,44 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WIDL_HEADER_H
    +#define __WIDL_HEADER_H
    +
    +extern int is_attr(attr_t *a, enum attr_type t);
    +extern void *get_attrp(attr_t *a, enum attr_type t);
    +extern unsigned long get_attrv(attr_t *a, enum attr_type t);
    +extern int is_void(type_t *t, var_t *v);
    +extern void write_name(FILE *h, var_t *v);
    +extern char* get_name(var_t *v);
    +extern void write_type(FILE *h, type_t *t, var_t *v, char *n);
    +extern int is_object(attr_t *a);
    +extern int is_local(attr_t *a);
    +extern var_t *is_callas(attr_t *a);
    +extern void write_args(FILE *h, var_t *arg, char *name, int obj, int do_indent);
    +extern void write_forward(type_t *iface);
    +extern void write_interface(type_t *iface);
    +extern void write_dispinterface(type_t *iface);
    +extern void write_coclass(class_t *iface);
    +extern void write_typedef(type_t *type, var_t *names);
    +extern void write_expr(FILE *h, expr_t *e);
    +extern void write_constdef(var_t *v);
    +extern void write_externdef(var_t *v);
    +extern var_t* get_explicit_handle_var(func_t* func);
    +#endif
    diff --git a/reactos/tools/widl/lex.yy.c b/reactos/tools/widl/lex.yy.c
    new file mode 100644
    index 00000000000..419d7576c26
    --- /dev/null
    +++ b/reactos/tools/widl/lex.yy.c
    @@ -0,0 +1,4724 @@
    +#line 2 "lex.yy.c"
    +/* A lexical scanner generated by flex */
    +
    +/* Scanner skeleton version:
    + * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
    + */
    +
    +#define FLEX_SCANNER
    +#define YY_FLEX_MAJOR_VERSION 2
    +#define YY_FLEX_MINOR_VERSION 5
    +
    +#include 
    +
    +
    +/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
    +#ifdef c_plusplus
    +#ifndef __cplusplus
    +#define __cplusplus
    +#endif
    +#endif
    +
    +
    +#ifdef __cplusplus
    +
    +#include 
    +#include 
    +
    +/* Use prototypes in function declarations. */
    +#define YY_USE_PROTOS
    +
    +/* The "const" storage-class-modifier is valid. */
    +#define YY_USE_CONST
    +
    +#else	/* ! __cplusplus */
    +
    +#if __STDC__
    +
    +#define YY_USE_PROTOS
    +#define YY_USE_CONST
    +
    +#endif	/* __STDC__ */
    +#endif	/* ! __cplusplus */
    +
    +#ifdef __TURBOC__
    + #pragma warn -rch
    + #pragma warn -use
    +#include 
    +#include 
    +#define YY_USE_CONST
    +#define YY_USE_PROTOS
    +#endif
    +
    +#ifdef YY_USE_CONST
    +#define yyconst const
    +#else
    +#define yyconst
    +#endif
    +
    +
    +#ifdef YY_USE_PROTOS
    +#define YY_PROTO(proto) proto
    +#else
    +#define YY_PROTO(proto) ()
    +#endif
    +
    +/* Returned upon end-of-file. */
    +#define YY_NULL 0
    +
    +/* Promotes a possibly negative, possibly signed char to an unsigned
    + * integer for use as an array index.  If the signed char is negative,
    + * we want to instead treat it as an 8-bit unsigned char, hence the
    + * double cast.
    + */
    +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
    +
    +/* Enter a start condition.  This macro really ought to take a parameter,
    + * but we do it the disgusting crufty way forced on us by the ()-less
    + * definition of BEGIN.
    + */
    +#define BEGIN yy_start = 1 + 2 *
    +
    +/* Translate the current start state into a value that can be later handed
    + * to BEGIN to return to the state.  The YYSTATE alias is for lex
    + * compatibility.
    + */
    +#define YY_START ((yy_start - 1) / 2)
    +#define YYSTATE YY_START
    +
    +/* Action number for EOF rule of a given start state. */
    +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
    +
    +/* Special action meaning "start processing a new file". */
    +#define YY_NEW_FILE yyrestart( yyin )
    +
    +#define YY_END_OF_BUFFER_CHAR 0
    +
    +/* Size of default input buffer. */
    +#define YY_BUF_SIZE 16384
    +
    +typedef struct yy_buffer_state *YY_BUFFER_STATE;
    +
    +extern int yyleng;
    +extern FILE *yyin, *yyout;
    +
    +#define EOB_ACT_CONTINUE_SCAN 0
    +#define EOB_ACT_END_OF_FILE 1
    +#define EOB_ACT_LAST_MATCH 2
    +
    +/* The funky do-while in the following #define is used to turn the definition
    + * int a single C statement (which needs a semi-colon terminator).  This
    + * avoids problems with code like:
    + *
    + * 	if ( condition_holds )
    + *		yyless( 5 );
    + *	else
    + *		do_something_else();
    + *
    + * Prior to using the do-while the compiler would get upset at the
    + * "else" because it interpreted the "if" statement as being all
    + * done when it reached the ';' after the yyless() call.
    + */
    +
    +/* Return all but the first 'n' matched characters back to the input stream. */
    +
    +#define yyless(n) \
    +	do \
    +		{ \
    +		/* Undo effects of setting up yytext. */ \
    +		*yy_cp = yy_hold_char; \
    +		YY_RESTORE_YY_MORE_OFFSET \
    +		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
    +		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
    +		} \
    +	while ( 0 )
    +
    +#define unput(c) yyunput( c, yytext_ptr )
    +
    +/* The following is because we cannot portably get our hands on size_t
    + * (without autoconf's help, which isn't available because we want
    + * flex-generated scanners to compile on their own).
    + */
    +typedef unsigned int yy_size_t;
    +
    +
    +struct yy_buffer_state
    +	{
    +	FILE *yy_input_file;
    +
    +	char *yy_ch_buf;		/* input buffer */
    +	char *yy_buf_pos;		/* current position in input buffer */
    +
    +	/* Size of input buffer in bytes, not including room for EOB
    +	 * characters.
    +	 */
    +	yy_size_t yy_buf_size;
    +
    +	/* Number of characters read into yy_ch_buf, not including EOB
    +	 * characters.
    +	 */
    +	int yy_n_chars;
    +
    +	/* Whether we "own" the buffer - i.e., we know we created it,
    +	 * and can realloc() it to grow it, and should free() it to
    +	 * delete it.
    +	 */
    +	int yy_is_our_buffer;
    +
    +	/* Whether this is an "interactive" input source; if so, and
    +	 * if we're using stdio for input, then we want to use getc()
    +	 * instead of fread(), to make sure we stop fetching input after
    +	 * each newline.
    +	 */
    +	int yy_is_interactive;
    +
    +	/* Whether we're considered to be at the beginning of a line.
    +	 * If so, '^' rules will be active on the next match, otherwise
    +	 * not.
    +	 */
    +	int yy_at_bol;
    +
    +	/* Whether to try to fill the input buffer when we reach the
    +	 * end of it.
    +	 */
    +	int yy_fill_buffer;
    +
    +	int yy_buffer_status;
    +#define YY_BUFFER_NEW 0
    +#define YY_BUFFER_NORMAL 1
    +	/* When an EOF's been seen but there's still some text to process
    +	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
    +	 * shouldn't try reading from the input source any more.  We might
    +	 * still have a bunch of tokens to match, though, because of
    +	 * possible backing-up.
    +	 *
    +	 * When we actually see the EOF, we change the status to "new"
    +	 * (via yyrestart()), so that the user can continue scanning by
    +	 * just pointing yyin at a new input file.
    +	 */
    +#define YY_BUFFER_EOF_PENDING 2
    +	};
    +
    +static YY_BUFFER_STATE yy_current_buffer = 0;
    +
    +/* We provide macros for accessing buffer states in case in the
    + * future we want to put the buffer states in a more general
    + * "scanner state".
    + */
    +#define YY_CURRENT_BUFFER yy_current_buffer
    +
    +
    +/* yy_hold_char holds the character lost when yytext is formed. */
    +static char yy_hold_char;
    +
    +static int yy_n_chars;		/* number of characters read into yy_ch_buf */
    +
    +
    +int yyleng;
    +
    +/* Points to current character in buffer. */
    +static char *yy_c_buf_p = (char *) 0;
    +static int yy_init = 1;		/* whether we need to initialize */
    +static int yy_start = 0;	/* start state number */
    +
    +/* Flag which is used to allow yywrap()'s to do buffer switches
    + * instead of setting up a fresh yyin.  A bit of a hack ...
    + */
    +static int yy_did_buffer_switch_on_eof;
    +
    +void yyrestart YY_PROTO(( FILE *input_file ));
    +
    +void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
    +void yy_load_buffer_state YY_PROTO(( void ));
    +YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
    +void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
    +void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
    +void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
    +#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
    +
    +YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
    +YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
    +YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
    +
    +static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
    +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
    +static void yy_flex_free YY_PROTO(( void * ));
    +
    +#define yy_new_buffer yy_create_buffer
    +
    +#define yy_set_interactive(is_interactive) \
    +	{ \
    +	if ( ! yy_current_buffer ) \
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
    +	yy_current_buffer->yy_is_interactive = is_interactive; \
    +	}
    +
    +#define yy_set_bol(at_bol) \
    +	{ \
    +	if ( ! yy_current_buffer ) \
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
    +	yy_current_buffer->yy_at_bol = at_bol; \
    +	}
    +
    +#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
    +
    +
    +#define FLEX_DEBUG
    +typedef unsigned char YY_CHAR;
    +FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
    +typedef int yy_state_type;
    +
    +#define FLEX_DEBUG
    +extern char *yytext;
    +#define yytext_ptr yytext
    +static yyconst short yy_nxt[][256] =
    +    {
    +    {
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0
    +    },
    +
    +    {
    +        7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
    +       10,    8,    9,    9,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    9,    8,   11,    8,    8,    8,    8,    8,
    +
    +        8,    8,    8,    8,    8,    8,    8,    8,   12,   13,
    +       13,   13,   13,   13,   13,   13,   13,   13,    8,    8,
    +       14,    8,   15,    8,    8,   16,   16,   16,   16,   16,
    +       16,   17,   17,   17,   17,   17,   17,   17,   17,   17,
    +       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
    +       17,    8,    8,    8,    8,   17,    8,   16,   16,   16,
    +       16,   16,   16,   17,   17,   17,   17,   17,   17,   17,
    +       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
    +       17,   17,   17,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8
    +    },
    +
    +    {
    +        7,    8,    8,    8,    8,    8,    8,    8,    8,   18,
    +       10,    8,   18,   18,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,   18,    8,   11,   19,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,   12,   13,
    +       13,   13,   13,   13,   13,   13,   13,   13,    8,    8,
    +       14,    8,   15,    8,    8,   16,   16,   16,   16,   16,
    +       16,   17,   17,   17,   17,   17,   17,   17,   17,   17,
    +
    +       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
    +       17,    8,    8,    8,    8,   17,    8,   16,   16,   16,
    +       16,   16,   16,   17,   17,   17,   17,   17,   17,   17,
    +       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
    +       17,   17,   17,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
    +        8,    8,    8,    8,    8,    8
    +    },
    +
    +    {
    +        7,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       21,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   22,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   23,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20
    +    },
    +
    +    {
    +        7,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       21,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   22,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   23,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
    +       20,   20,   20,   20,   20,   20
    +
    +    },
    +
    +    {
    +        7,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       21,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24
    +    },
    +
    +    {
    +        7,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       21,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +
    +       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
    +       24,   24,   24,   24,   24,   24
    +    },
    +
    +    {
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
    +       -7,   -7,   -7,   -7,   -7,   -7
    +    },
    +
    +    {
    +        7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
    +       -8,   -8,   -8,   -8,   -8,   -8
    +    },
    +
    +    {
    +        7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
    +       -9,   -9,   -9,   -9,   -9,   -9
    +
    +    },
    +
    +    {
    +        7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
    +      -10,  -10,  -10,  -10,  -10,  -10
    +    },
    +
    +    {
    +        7,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +
    +      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
    +      -11,  -11,  -11,  -11,  -11,  -11
    +    },
    +
    +    {
    +        7,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,   25,   25,
    +       25,   25,   25,   25,   25,   25,   25,   25,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,   26,   26,   26,   26,   26,
    +       26,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,   26,   26,   26,
    +       26,   26,   26,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +       27,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
    +      -12,  -12,  -12,  -12,  -12,  -12
    +    },
    +
    +    {
    +        7,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,   25,   25,
    +       25,   25,   25,   25,   25,   25,   25,   25,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,   26,   26,   26,   26,   26,
    +       26,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,   26,   26,   26,
    +       26,   26,   26,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
    +      -13,  -13,  -13,  -13,  -13,  -13
    +    },
    +
    +    {
    +        7,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +
    +       28,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
    +      -14,  -14,  -14,  -14,  -14,  -14
    +
    +    },
    +
    +    {
    +        7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,   29,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
    +      -15,  -15,  -15,  -15,  -15,  -15
    +    },
    +
    +    {
    +        7,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,   30,   30,
    +       30,   30,   30,   30,   30,   30,   30,   30,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,   30,   30,   30,   30,   30,
    +       30,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -16,  -16,  -16,  -16,   31,  -16,   30,   30,   30,
    +       30,   30,   30,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +
    +      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
    +      -16,  -16,  -16,  -16,  -16,  -16
    +    },
    +
    +    {
    +        7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -17,  -17,  -17,  -17,   31,  -17,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
    +      -17,  -17,  -17,  -17,  -17,  -17
    +    },
    +
    +    {
    +        7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,   32,
    +      -18,  -18,   32,   32,  -18,  -18,  -18,  -18,  -18,  -18,
    +
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,   32,  -18,  -18,   33,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
    +      -18,  -18,  -18,  -18,  -18,  -18
    +    },
    +
    +    {
    +        7,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,   34,
    +      -19,  -19,   34,   34,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,   34,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
    +      -19,  -19,  -19,  -19,  -19,  -19
    +
    +    },
    +
    +    {
    +        7,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
    +      -20,  -20,  -20,  -20,  -20,  -20
    +    },
    +
    +    {
    +        7,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +
    +      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
    +      -21,  -21,  -21,  -21,  -21,  -21
    +    },
    +
    +    {
    +        7,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
    +      -22,  -22,  -22,  -22,  -22,  -22
    +    },
    +
    +    {
    +        7,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +      -23,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   36,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   37,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
    +       35,   35,   35,   35,   35,   35
    +    },
    +
    +    {
    +        7,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +      -24,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38
    +
    +    },
    +
    +    {
    +        7,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,   39,   39,
    +       39,   39,   39,   39,   39,   39,   39,   39,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,   40,   40,   40,   40,   40,
    +       40,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,   40,   40,   40,
    +
    +       40,   40,   40,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25
    +    },
    +
    +    {
    +        7,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,   40,   40,
    +       40,   40,   40,   40,   40,   40,   40,   40,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,   40,   40,   40,   40,   40,
    +       40,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,   40,   40,   40,
    +       40,   40,   40,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26
    +    },
    +
    +    {
    +        7,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,   41,   41,
    +       41,   41,   41,   41,   41,   41,   41,   41,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,   41,   41,   41,   41,   41,
    +       41,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,   41,   41,   41,
    +       41,   41,   41,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27
    +    },
    +
    +    {
    +        7,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28
    +    },
    +
    +    {
    +        7,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29
    +
    +    },
    +
    +    {
    +        7,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,   42,   42,   42,   42,   42,
    +       42,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -30,  -30,  -30,  -30,   31,  -30,   42,   42,   42,
    +
    +       42,   42,   42,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30
    +    },
    +
    +    {
    +        7,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -31,  -31,  -31,  -31,   31,  -31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31
    +    },
    +
    +    {
    +        7,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,   32,
    +      -32,  -32,   32,   32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,   32,  -32,  -32,   33,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32
    +    },
    +
    +    {
    +        7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,   34,
    +      -33,  -33,   34,   34,  -33,  -33,  -33,  -33,  -33,  -33,
    +
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,   34,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33
    +    },
    +
    +    {
    +        7,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,   34,
    +      -34,  -34,   34,   34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,   34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34
    +
    +    },
    +
    +    {
    +        7,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
    +      -35,  -35,  -35,  -35,  -35,  -35
    +    },
    +
    +    {
    +        7,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36
    +    },
    +
    +    {
    +        7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37
    +    },
    +
    +    {
    +        7,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +      -38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
    +       38,   38,   38,   38,   38,   38
    +    },
    +
    +    {
    +        7,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,   43,   43,
    +       43,   43,   43,   43,   43,   43,   43,   43,  -39,  -39,
    +
    +      -39,  -39,  -39,  -39,  -39,   44,   44,   44,   44,   44,
    +       44,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,   44,   44,   44,
    +       44,   44,   44,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39
    +
    +    },
    +
    +    {
    +        7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,   44,   44,
    +       44,   44,   44,   44,   44,   44,   44,   44,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,   44,   44,   44,   44,   44,
    +       44,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,   44,   44,   44,
    +
    +       44,   44,   44,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40
    +    },
    +
    +    {
    +        7,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,   41,   41,
    +       41,   41,   41,   41,   41,   41,   41,   41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,   41,   41,   41,   41,   41,
    +       41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,   41,   41,   41,
    +       41,   41,   41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41
    +    },
    +
    +    {
    +        7,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,   45,   45,
    +       45,   45,   45,   45,   45,   45,   45,   45,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,   45,   45,   45,   45,   45,
    +       45,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -42,  -42,  -42,  -42,   31,  -42,   45,   45,   45,
    +       45,   45,   45,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
    +      -42,  -42,  -42,  -42,  -42,  -42
    +    },
    +
    +    {
    +        7,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,   47,   47,   47,   47,   47,
    +       47,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,   47,   47,   47,
    +       47,   47,   47,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43
    +    },
    +
    +    {
    +        7,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,   47,   47,
    +       47,   47,   47,   47,   47,   47,   47,   47,  -44,  -44,
    +
    +      -44,  -44,  -44,  -44,  -44,   47,   47,   47,   47,   47,
    +       47,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,   47,   47,   47,
    +       47,   47,   47,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44
    +
    +    },
    +
    +    {
    +        7,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,   48,   48,
    +       48,   48,   48,   48,   48,   48,   48,   48,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,   48,   48,   48,   48,   48,
    +       48,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -45,  -45,  -45,  -45,   31,  -45,   48,   48,   48,
    +
    +       48,   48,   48,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45
    +    },
    +
    +    {
    +        7,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,   49,   49,
    +       49,   49,   49,   49,   49,   49,   49,   49,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,   50,   50,   50,   50,   50,
    +       50,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,   50,   50,   50,
    +       50,   50,   50,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46
    +    },
    +
    +    {
    +        7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,   50,   50,   50,   50,   50,
    +       50,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,   50,   50,   50,
    +       50,   50,   50,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47
    +    },
    +
    +    {
    +        7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,   51,   51,
    +       51,   51,   51,   51,   51,   51,   51,   51,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,   51,   51,   51,   51,   51,
    +       51,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -48,  -48,  -48,  -48,   31,  -48,   51,   51,   51,
    +       51,   51,   51,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +
    +       31,   31,   31,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48
    +    },
    +
    +    {
    +        7,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,   52,   52,
    +       52,   52,   52,   52,   52,   52,   52,   52,  -49,  -49,
    +
    +      -49,  -49,  -49,  -49,  -49,   53,   53,   53,   53,   53,
    +       53,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,   53,   53,   53,
    +       53,   53,   53,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49
    +
    +    },
    +
    +    {
    +        7,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,   53,   53,   53,   53,   53,
    +       53,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,   53,   53,   53,
    +
    +       53,   53,   53,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50
    +    },
    +
    +    {
    +        7,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,   54,   54,
    +       54,   54,   54,   54,   54,   54,   54,   54,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,   54,   54,   54,   54,   54,
    +       54,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -51,  -51,  -51,  -51,   31,  -51,   54,   54,   54,
    +       54,   54,   54,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51
    +    },
    +
    +    {
    +        7,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,   56,   56,   56,   56,   56,
    +       56,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,   56,   56,   56,
    +       56,   56,   56,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52
    +    },
    +
    +    {
    +        7,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,   56,   56,
    +       56,   56,   56,   56,   56,   56,   56,   56,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,   56,   56,   56,   56,   56,
    +       56,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,   56,   56,   56,
    +       56,   56,   56,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53
    +    },
    +
    +    {
    +        7,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,  -54,  -54,
    +
    +      -54,  -54,  -54,  -54,  -54,   57,   57,   57,   57,   57,
    +       57,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -54,  -54,  -54,  -54,   31,  -54,   57,   57,   57,
    +       57,   57,   57,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54
    +
    +    },
    +
    +    {
    +        7,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,   58,  -55,  -55,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55
    +    },
    +
    +    {
    +        7,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,   58,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56
    +    },
    +
    +    {
    +        7,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,   58,  -57,  -57,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,  -57,  -57,  -57,  -57,   31,  -57,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
    +       31,   31,   31,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57
    +    },
    +
    +    {
    +        7,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,   60,   60,
    +       60,   60,   60,   60,   60,   60,   60,   60,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,   60,   60,   60,   60,   60,
    +       60,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,   60,   60,   60,
    +       60,   60,   60,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58
    +    },
    +
    +    {
    +        7,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,  -59,  -59,
    +
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59
    +
    +    },
    +
    +    {
    +        7,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,   61,   61,
    +       61,   61,   61,   61,   61,   61,   61,   61,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,   61,   61,   61,   61,   61,
    +       61,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,   61,   61,   61,
    +
    +       61,   61,   61,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60
    +    },
    +
    +    {
    +        7,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,   62,   62,
    +       62,   62,   62,   62,   62,   62,   62,   62,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,   62,   62,   62,   62,   62,
    +       62,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,   62,   62,   62,
    +       62,   62,   62,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61
    +    },
    +
    +    {
    +        7,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,   63,   63,
    +       63,   63,   63,   63,   63,   63,   63,   63,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,   63,   63,   63,   63,   63,
    +       63,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,   63,   63,   63,
    +       63,   63,   63,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62
    +    },
    +
    +    {
    +        7,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,   64,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63
    +    },
    +
    +    {
    +        7,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,   65,   65,
    +       65,   65,   65,   65,   65,   65,   65,   65,  -64,  -64,
    +
    +      -64,  -64,  -64,  -64,  -64,   65,   65,   65,   65,   65,
    +       65,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,   65,   65,   65,
    +       65,   65,   65,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64
    +
    +    },
    +
    +    {
    +        7,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,   66,   66,
    +       66,   66,   66,   66,   66,   66,   66,   66,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,   66,   66,   66,   66,   66,
    +       66,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,   66,   66,   66,
    +
    +       66,   66,   66,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65
    +    },
    +
    +    {
    +        7,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,   67,   67,   67,   67,   67,
    +       67,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,   67,   67,   67,
    +       67,   67,   67,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66
    +    },
    +
    +    {
    +        7,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,   68,   68,
    +       68,   68,   68,   68,   68,   68,   68,   68,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,   68,   68,   68,   68,   68,
    +       68,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,   68,   68,   68,
    +       68,   68,   68,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67
    +    },
    +
    +    {
    +        7,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,   69,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68
    +    },
    +
    +    {
    +        7,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,   70,   70,
    +       70,   70,   70,   70,   70,   70,   70,   70,  -69,  -69,
    +
    +      -69,  -69,  -69,  -69,  -69,   70,   70,   70,   70,   70,
    +       70,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,   70,   70,   70,
    +       70,   70,   70,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69
    +
    +    },
    +
    +    {
    +        7,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,   71,   71,   71,   71,   71,
    +       71,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,   71,   71,   71,
    +
    +       71,   71,   71,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70
    +    },
    +
    +    {
    +        7,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,   72,   72,
    +       72,   72,   72,   72,   72,   72,   72,   72,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,   72,   72,   72,   72,   72,
    +       72,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,   72,   72,   72,
    +       72,   72,   72,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +
    +      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
    +      -71,  -71,  -71,  -71,  -71,  -71
    +    },
    +
    +    {
    +        7,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,   73,   73,   73,   73,   73,
    +       73,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,   73,   73,   73,
    +       73,   73,   73,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72
    +    },
    +
    +    {
    +        7,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,   74,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73
    +    },
    +
    +    {
    +        7,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,  -74,  -74,
    +
    +      -74,  -74,  -74,  -74,  -74,   75,   75,   75,   75,   75,
    +       75,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,   75,   75,   75,
    +       75,   75,   75,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74
    +
    +    },
    +
    +    {
    +        7,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,   76,   76,
    +       76,   76,   76,   76,   76,   76,   76,   76,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,   76,   76,   76,   76,   76,
    +       76,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,   76,   76,   76,
    +
    +       76,   76,   76,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75
    +    },
    +
    +    {
    +        7,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,   77,   77,   77,   77,   77,
    +       77,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,   77,   77,   77,
    +       77,   77,   77,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76
    +    },
    +
    +    {
    +        7,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,   78,   78,   78,   78,   78,
    +       78,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,   78,   78,   78,
    +       78,   78,   78,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77
    +    },
    +
    +    {
    +        7,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,   79,   79,
    +       79,   79,   79,   79,   79,   79,   79,   79,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,   79,   79,   79,   79,   79,
    +       79,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,   79,   79,   79,
    +       79,   79,   79,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78
    +    },
    +
    +    {
    +        7,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,  -79,  -79,
    +
    +      -79,  -79,  -79,  -79,  -79,   80,   80,   80,   80,   80,
    +       80,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,   80,   80,   80,
    +       80,   80,   80,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79
    +
    +    },
    +
    +    {
    +        7,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,   81,   81,   81,   81,   81,
    +       81,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,   81,   81,   81,
    +
    +       81,   81,   81,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80
    +    },
    +
    +    {
    +        7,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,   82,   82,
    +       82,   82,   82,   82,   82,   82,   82,   82,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,   82,   82,   82,   82,   82,
    +       82,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,   82,   82,   82,
    +       82,   82,   82,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81
    +    },
    +
    +    {
    +        7,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,   83,   83,   83,   83,   83,
    +       83,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,   83,   83,   83,
    +       83,   83,   83,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82
    +    },
    +
    +    {
    +        7,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,   84,   84,
    +       84,   84,   84,   84,   84,   84,   84,   84,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,   84,   84,   84,   84,   84,
    +       84,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,   84,   84,   84,
    +       84,   84,   84,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83
    +    },
    +
    +    {
    +        7,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,   85,   85,
    +       85,   85,   85,   85,   85,   85,   85,   85,  -84,  -84,
    +
    +      -84,  -84,  -84,  -84,  -84,   85,   85,   85,   85,   85,
    +       85,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,   85,   85,   85,
    +       85,   85,   85,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84
    +
    +    },
    +
    +    {
    +        7,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,   86,   86,
    +       86,   86,   86,   86,   86,   86,   86,   86,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,   86,   86,   86,   86,   86,
    +       86,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,   86,   86,   86,
    +
    +       86,   86,   86,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85
    +    },
    +
    +    {
    +        7,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86
    +    },
    +
    +    } ;
    +
    +
    +static yy_state_type yy_get_previous_state YY_PROTO(( void ));
    +static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
    +static int yy_get_next_buffer YY_PROTO(( void ));
    +static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
    +
    +/* Done after the current pattern has been matched and before the
    + * corresponding action - sets up yytext.
    + */
    +#define YY_DO_BEFORE_ACTION \
    +	yytext_ptr = yy_bp; \
    +	yyleng = (int) (yy_cp - yy_bp); \
    +	yy_hold_char = *yy_cp; \
    +	*yy_cp = '\0'; \
    +	yy_c_buf_p = yy_cp;
    +
    +#define YY_NUM_RULES 18
    +#define YY_END_OF_BUFFER 19
    +static yyconst short int yy_accept[87] =
    +    {   0,
    +        0,    0,    0,    0,    2,    2,   19,   17,   14,   13,
    +        3,   11,   11,   17,   17,   12,   12,   14,    1,    8,
    +       18,    4,    8,    2,   11,    0,    0,   15,   16,   12,
    +       12,    0,    1,    1,    7,    6,    5,    2,   11,    0,
    +       10,   12,   11,    0,   12,   11,    0,   12,   11,    0,
    +       12,   11,    0,   12,   11,    0,   12,    0,   11,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    9
    +    } ;
    +
    +static yy_state_type yy_last_accepting_state;
    +static char *yy_last_accepting_cpos;
    +
    +static yyconst yy_state_type yy_NUL_trans[87] =
    +    {   0,
    +        8,    8,   20,   20,   24,   24,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,   35,   38,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,   38,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0
    +    } ;
    +
    +extern int yy_flex_debug;
    +int yy_flex_debug = 1;
    +
    +static yyconst short int yy_rule_linenum[18] =
    +    {   0,
    +      109,  110,  129,  130,  135,  136,  137,  138,  139,  143,
    +      147,  151,  152,  153,  154,  155,  156
    +    } ;
    +
    +/* The intent behind this definition is that it'll catch
    + * any uses of REJECT which flex missed.
    + */
    +#define REJECT reject_used_but_not_detected
    +#define yymore() yymore_used_but_not_detected
    +#define YY_MORE_ADJ 0
    +#define YY_RESTORE_YY_MORE_OFFSET
    +char *yytext;
    +#line 1 "parser.l"
    +#define INITIAL 0
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +#define YY_STACK_USED 1
    +#define YY_NEVER_INTERACTIVE 1
    +#define QUOTE 1
    +
    +#define pp_line 2
    +
    +#line 36 "parser.l"
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +# include 
    +#endif
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "wine/wpp.h"
    +
    +#include "y.tab.h"
    +
    +#define YY_USE_PROTOS
    +#define YY_NO_UNPUT
    +#define YY_NO_TOP_STATE
    +
    +extern char *temp_name;
    +
    +static void addcchar(char c);
    +static char *get_buffered_cstring(void);
    +
    +static char *cbuffer;
    +static int cbufidx;
    +static int cbufalloc = 0;
    +
    +static int kw_token(const char *kw);
    +
    +#define MAX_IMPORT_DEPTH 10
    +struct {
    +  YY_BUFFER_STATE state;
    +  char *input_name;
    +  int   line_number;
    +  char *temp_name;
    +} import_stack[MAX_IMPORT_DEPTH];
    +int import_stack_ptr = 0;
    +
    +static void pop_import(void);
    +
    +static UUID* parse_uuid(const char*u)
    +{
    +  UUID* uuid = xmalloc(sizeof(UUID));
    +  char b[3];
    +  /* it would be nice to use UuidFromStringA */
    +  uuid->Data1 = strtoul(u, NULL, 16);
    +  uuid->Data2 = strtoul(u+9, NULL, 16);
    +  uuid->Data3 = strtoul(u+14, NULL, 16);
    +  b[2] = 0;
    +  memcpy(b, u+19, 2); uuid->Data4[0] = strtoul(b, NULL, 16);
    +  memcpy(b, u+21, 2); uuid->Data4[1] = strtoul(b, NULL, 16);
    +  memcpy(b, u+24, 2); uuid->Data4[2] = strtoul(b, NULL, 16);
    +  memcpy(b, u+26, 2); uuid->Data4[3] = strtoul(b, NULL, 16);
    +  memcpy(b, u+28, 2); uuid->Data4[4] = strtoul(b, NULL, 16);
    +  memcpy(b, u+30, 2); uuid->Data4[5] = strtoul(b, NULL, 16);
    +  memcpy(b, u+32, 2); uuid->Data4[6] = strtoul(b, NULL, 16);
    +  memcpy(b, u+34, 2); uuid->Data4[7] = strtoul(b, NULL, 16);
    +  return uuid;
    +}
    +
    +/*
    + **************************************************************************
    + * The flexer starts here
    + **************************************************************************
    + */
    +#line 3190 "lex.yy.c"
    +
    +/* Macros after this point can all be overridden by user definitions in
    + * section 1.
    + */
    +
    +#ifndef YY_SKIP_YYWRAP
    +#ifdef __cplusplus
    +extern "C" int yywrap YY_PROTO(( void ));
    +#else
    +extern int yywrap YY_PROTO(( void ));
    +#endif
    +#endif
    +
    +#ifndef YY_NO_UNPUT
    +static void yyunput YY_PROTO(( int c, char *buf_ptr ));
    +#endif
    +
    +#ifndef yytext_ptr
    +static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
    +#endif
    +
    +#ifdef YY_NEED_STRLEN
    +static int yy_flex_strlen YY_PROTO(( yyconst char * ));
    +#endif
    +
    +#ifndef YY_NO_INPUT
    +#ifdef __cplusplus
    +static int yyinput YY_PROTO(( void ));
    +#else
    +static int input YY_PROTO(( void ));
    +#endif
    +#endif
    +
    +#if YY_STACK_USED
    +static int yy_start_stack_ptr = 0;
    +static int yy_start_stack_depth = 0;
    +static int *yy_start_stack = 0;
    +#ifndef YY_NO_PUSH_STATE
    +static void yy_push_state YY_PROTO(( int new_state ));
    +#endif
    +#ifndef YY_NO_POP_STATE
    +static void yy_pop_state YY_PROTO(( void ));
    +#endif
    +#ifndef YY_NO_TOP_STATE
    +static int yy_top_state YY_PROTO(( void ));
    +#endif
    +
    +#else
    +#define YY_NO_PUSH_STATE 1
    +#define YY_NO_POP_STATE 1
    +#define YY_NO_TOP_STATE 1
    +#endif
    +
    +#ifdef YY_MALLOC_DECL
    +YY_MALLOC_DECL
    +#else
    +#if __STDC__
    +#ifndef __cplusplus
    +#include 
    +#endif
    +#else
    +/* Just try to get by without declaring the routines.  This will fail
    + * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
    + * or sizeof(void*) != sizeof(int).
    + */
    +#endif
    +#endif
    +
    +/* Amount of stuff to slurp up with each read. */
    +#ifndef YY_READ_BUF_SIZE
    +#define YY_READ_BUF_SIZE 8192
    +#endif
    +
    +/* Copy whatever the last rule matched to the standard output. */
    +
    +#ifndef ECHO
    +/* This used to be an fputs(), but since the string might contain NUL's,
    + * we now use fwrite().
    + */
    +#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
    +#endif
    +
    +/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
    + * is returned in "result".
    + */
    +#ifndef YY_INPUT
    +#define YY_INPUT(buf,result,max_size) \
    +	if ( yy_current_buffer->yy_is_interactive ) \
    +		{ \
    +		int c = '*', n; \
    +		for ( n = 0; n < max_size && \
    +			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
    +			buf[n] = (char) c; \
    +		if ( c == '\n' ) \
    +			buf[n++] = (char) c; \
    +		if ( c == EOF && ferror( yyin ) ) \
    +			YY_FATAL_ERROR( "input in flex scanner failed" ); \
    +		result = n; \
    +		} \
    +	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
    +		  && ferror( yyin ) ) \
    +		YY_FATAL_ERROR( "input in flex scanner failed" );
    +#endif
    +
    +/* No semi-colon after return; correct usage is to write "yyterminate();" -
    + * we don't want an extra ';' after the "return" because that will cause
    + * some compilers to complain about unreachable statements.
    + */
    +#ifndef yyterminate
    +#define yyterminate() return YY_NULL
    +#endif
    +
    +/* Number of entries by which start-condition stack grows. */
    +#ifndef YY_START_STACK_INCR
    +#define YY_START_STACK_INCR 25
    +#endif
    +
    +/* Report a fatal error. */
    +#ifndef YY_FATAL_ERROR
    +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
    +#endif
    +
    +/* Default declaration of generated scanner - a define so the user can
    + * easily add parameters.
    + */
    +#ifndef YY_DECL
    +#define YY_DECL int yylex YY_PROTO(( void ))
    +#endif
    +
    +/* Code executed at the beginning of each rule, after yytext and yyleng
    + * have been set up.
    + */
    +#ifndef YY_USER_ACTION
    +#define YY_USER_ACTION
    +#endif
    +
    +/* Code executed at the end of each rule. */
    +#ifndef YY_BREAK
    +#define YY_BREAK break;
    +#endif
    +
    +#define YY_RULE_SETUP \
    +	if ( yyleng > 0 ) \
    +		yy_current_buffer->yy_at_bol = \
    +				(yytext[yyleng - 1] == '\n'); \
    +	YY_USER_ACTION
    +
    +YY_DECL
    +	{
    +	register yy_state_type yy_current_state;
    +	register char *yy_cp, *yy_bp;
    +	register int yy_act;
    +
    +#line 108 "parser.l"
    +
    +#line 3346 "lex.yy.c"
    +
    +	if ( yy_init )
    +		{
    +		yy_init = 0;
    +
    +#ifdef YY_USER_INIT
    +		YY_USER_INIT;
    +#endif
    +
    +		if ( ! yy_start )
    +			yy_start = 1;	/* first start state */
    +
    +		if ( ! yyin )
    +			yyin = stdin;
    +
    +		if ( ! yyout )
    +			yyout = stdout;
    +
    +		if ( ! yy_current_buffer )
    +			yy_current_buffer =
    +				yy_create_buffer( yyin, YY_BUF_SIZE );
    +
    +		yy_load_buffer_state();
    +		}
    +
    +	while ( 1 )		/* loops until end-of-file is reached */
    +		{
    +		yy_cp = yy_c_buf_p;
    +
    +		/* Support of yytext. */
    +		*yy_cp = yy_hold_char;
    +
    +		/* yy_bp points to the position in yy_ch_buf of the start of
    +		 * the current run.
    +		 */
    +		yy_bp = yy_cp;
    +
    +		yy_current_state = yy_start;
    +		yy_current_state += YY_AT_BOL();
    +yy_match:
    +		while ( (yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)]) > 0 )
    +			{
    +			if ( yy_accept[yy_current_state] )
    +				{
    +				yy_last_accepting_state = yy_current_state;
    +				yy_last_accepting_cpos = yy_cp;
    +				}
    +
    +			++yy_cp;
    +			}
    +
    +		yy_current_state = -yy_current_state;
    +
    +yy_find_action:
    +		yy_act = yy_accept[yy_current_state];
    +
    +		YY_DO_BEFORE_ACTION;
    +
    +
    +do_action:	/* This label is used only to access EOF actions. */
    +
    +		if ( yy_flex_debug )
    +			{
    +			if ( yy_act == 0 )
    +				fprintf( stderr, "--scanner backing up\n" );
    +			else if ( yy_act < 18 )
    +				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
    +				         yy_rule_linenum[yy_act], yytext );
    +			else if ( yy_act == 18 )
    +				fprintf( stderr, "--accepting default rule (\"%s\")\n",
    +				         yytext );
    +			else if ( yy_act == 19 )
    +				fprintf( stderr, "--(end of buffer or a NUL)\n" );
    +			else
    +				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
    +			}
    +
    +		switch ( yy_act )
    +	{ /* beginning of action switch */
    +			case 0: /* must back up */
    +			/* undo the effects of YY_DO_BEFORE_ACTION */
    +			*yy_cp = yy_hold_char;
    +			yy_cp = yy_last_accepting_cpos + 1;
    +			yy_current_state = yy_last_accepting_state;
    +			goto yy_find_action;
    +
    +case 1:
    +YY_RULE_SETUP
    +#line 109 "parser.l"
    +yy_push_state(pp_line);
    +	YY_BREAK
    +case 2:
    +YY_RULE_SETUP
    +#line 110 "parser.l"
    +{
    +                            int lineno;
    +                            char *cptr, *fname;
    +                            yy_pop_state();
    +                            lineno = (int)strtol(yytext, &cptr, 10);
    +                            if(!lineno)
    +                                yyerror("Malformed '#...' line-directive; invalid linenumber");
    +                            fname = strchr(cptr, '"');
    +                            if(!fname)
    +                                yyerror("Malformed '#...' line-directive; missing filename");
    +                            fname++;
    +                            cptr = strchr(fname, '"');
    +                            if(!cptr)
    +                                yyerror("Malformed '#...' line-directive; missing terminating \"");
    +                            *cptr = '\0';
    +                            line_number = lineno - 1;  /* We didn't read the newline */
    +                            free( input_name );
    +                            input_name = xstrdup(fname);
    +                        }
    +	YY_BREAK
    +case 3:
    +YY_RULE_SETUP
    +#line 129 "parser.l"
    +yy_push_state(QUOTE); cbufidx = 0;
    +	YY_BREAK
    +case 4:
    +YY_RULE_SETUP
    +#line 130 "parser.l"
    +{
    +				yy_pop_state();
    +				yylval.str = get_buffered_cstring();
    +				return aSTRING;
    +			}
    +	YY_BREAK
    +case 5:
    +#line 136 "parser.l"
    +case 6:
    +YY_RULE_SETUP
    +#line 136 "parser.l"
    +addcchar(yytext[1]);
    +	YY_BREAK
    +case 7:
    +YY_RULE_SETUP
    +#line 137 "parser.l"
    +addcchar('\\'); addcchar(yytext[1]);
    +	YY_BREAK
    +case 8:
    +YY_RULE_SETUP
    +#line 138 "parser.l"
    +addcchar(yytext[0]);
    +	YY_BREAK
    +case 9:
    +YY_RULE_SETUP
    +#line 139 "parser.l"
    +{
    +				yylval.uuid = parse_uuid(yytext);
    +				return aUUID;
    +			}
    +	YY_BREAK
    +case 10:
    +YY_RULE_SETUP
    +#line 143 "parser.l"
    +{
    +				yylval.num = strtoul(yytext, NULL, 0);
    +				return aHEXNUM;
    +			}
    +	YY_BREAK
    +case 11:
    +YY_RULE_SETUP
    +#line 147 "parser.l"
    +{
    +				yylval.num = strtoul(yytext, NULL, 0);
    +				return aNUM;
    +			}
    +	YY_BREAK
    +case 12:
    +YY_RULE_SETUP
    +#line 151 "parser.l"
    +return kw_token(yytext);
    +	YY_BREAK
    +case 13:
    +YY_RULE_SETUP
    +#line 152 "parser.l"
    +line_number++;
    +	YY_BREAK
    +case 14:
    +YY_RULE_SETUP
    +#line 153 "parser.l"
    +
    +	YY_BREAK
    +case 15:
    +YY_RULE_SETUP
    +#line 154 "parser.l"
    +return SHL;
    +	YY_BREAK
    +case 16:
    +YY_RULE_SETUP
    +#line 155 "parser.l"
    +return SHR;
    +	YY_BREAK
    +case 17:
    +YY_RULE_SETUP
    +#line 156 "parser.l"
    +return yytext[0];
    +	YY_BREAK
    +case YY_STATE_EOF(INITIAL):
    +case YY_STATE_EOF(QUOTE):
    +case YY_STATE_EOF(pp_line):
    +#line 157 "parser.l"
    +{
    +				if (import_stack_ptr) {
    +					pop_import();
    +					return aEOF;
    +				}
    +				else yyterminate();
    +			}
    +	YY_BREAK
    +case 18:
    +YY_RULE_SETUP
    +#line 164 "parser.l"
    +ECHO;
    +	YY_BREAK
    +#line 3563 "lex.yy.c"
    +
    +	case YY_END_OF_BUFFER:
    +		{
    +		/* Amount of text matched not including the EOB char. */
    +		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
    +
    +		/* Undo the effects of YY_DO_BEFORE_ACTION. */
    +		*yy_cp = yy_hold_char;
    +		YY_RESTORE_YY_MORE_OFFSET
    +
    +		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
    +			{
    +			/* We're scanning a new file or input source.  It's
    +			 * possible that this happened because the user
    +			 * just pointed yyin at a new source and called
    +			 * yylex().  If so, then we have to assure
    +			 * consistency between yy_current_buffer and our
    +			 * globals.  Here is the right place to do so, because
    +			 * this is the first action (other than possibly a
    +			 * back-up) that will match for the new input source.
    +			 */
    +			yy_n_chars = yy_current_buffer->yy_n_chars;
    +			yy_current_buffer->yy_input_file = yyin;
    +			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
    +			}
    +
    +		/* Note that here we test for yy_c_buf_p "<=" to the position
    +		 * of the first EOB in the buffer, since yy_c_buf_p will
    +		 * already have been incremented past the NUL character
    +		 * (since all states make transitions on EOB to the
    +		 * end-of-buffer state).  Contrast this with the test
    +		 * in input().
    +		 */
    +		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    +			{ /* This was really a NUL. */
    +			yy_state_type yy_next_state;
    +
    +			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
    +
    +			yy_current_state = yy_get_previous_state();
    +
    +			/* Okay, we're now positioned to make the NUL
    +			 * transition.  We couldn't have
    +			 * yy_get_previous_state() go ahead and do it
    +			 * for us because it doesn't know how to deal
    +			 * with the possibility of jamming (and we don't
    +			 * want to build jamming into it because then it
    +			 * will run more slowly).
    +			 */
    +
    +			yy_next_state = yy_try_NUL_trans( yy_current_state );
    +
    +			yy_bp = yytext_ptr + YY_MORE_ADJ;
    +
    +			if ( yy_next_state )
    +				{
    +				/* Consume the NUL. */
    +				yy_cp = ++yy_c_buf_p;
    +				yy_current_state = yy_next_state;
    +				goto yy_match;
    +				}
    +
    +			else
    +				{
    +				yy_cp = yy_c_buf_p;
    +				goto yy_find_action;
    +				}
    +			}
    +
    +		else switch ( yy_get_next_buffer() )
    +			{
    +			case EOB_ACT_END_OF_FILE:
    +				{
    +				yy_did_buffer_switch_on_eof = 0;
    +
    +				if ( yywrap() )
    +					{
    +					/* Note: because we've taken care in
    +					 * yy_get_next_buffer() to have set up
    +					 * yytext, we can now set up
    +					 * yy_c_buf_p so that if some total
    +					 * hoser (like flex itself) wants to
    +					 * call the scanner after we return the
    +					 * YY_NULL, it'll still work - another
    +					 * YY_NULL will get returned.
    +					 */
    +					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
    +
    +					yy_act = YY_STATE_EOF(YY_START);
    +					goto do_action;
    +					}
    +
    +				else
    +					{
    +					if ( ! yy_did_buffer_switch_on_eof )
    +						YY_NEW_FILE;
    +					}
    +				break;
    +				}
    +
    +			case EOB_ACT_CONTINUE_SCAN:
    +				yy_c_buf_p =
    +					yytext_ptr + yy_amount_of_matched_text;
    +
    +				yy_current_state = yy_get_previous_state();
    +
    +				yy_cp = yy_c_buf_p;
    +				yy_bp = yytext_ptr + YY_MORE_ADJ;
    +				goto yy_match;
    +
    +			case EOB_ACT_LAST_MATCH:
    +				yy_c_buf_p =
    +				&yy_current_buffer->yy_ch_buf[yy_n_chars];
    +
    +				yy_current_state = yy_get_previous_state();
    +
    +				yy_cp = yy_c_buf_p;
    +				yy_bp = yytext_ptr + YY_MORE_ADJ;
    +				goto yy_find_action;
    +			}
    +		break;
    +		}
    +
    +	default:
    +		YY_FATAL_ERROR(
    +			"fatal flex scanner internal error--no action found" );
    +	} /* end of action switch */
    +		} /* end of scanning one token */
    +	} /* end of yylex */
    +
    +
    +/* yy_get_next_buffer - try to read in a new buffer
    + *
    + * Returns a code representing an action:
    + *	EOB_ACT_LAST_MATCH -
    + *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
    + *	EOB_ACT_END_OF_FILE - end of file
    + */
    +
    +static int yy_get_next_buffer()
    +	{
    +	register char *dest = yy_current_buffer->yy_ch_buf;
    +	register char *source = yytext_ptr;
    +	register int number_to_move, i;
    +	int ret_val;
    +
    +	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
    +		YY_FATAL_ERROR(
    +		"fatal flex scanner internal error--end of buffer missed" );
    +
    +	if ( yy_current_buffer->yy_fill_buffer == 0 )
    +		{ /* Don't try to fill the buffer, so this is an EOF. */
    +		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
    +			{
    +			/* We matched a single character, the EOB, so
    +			 * treat this as a final EOF.
    +			 */
    +			return EOB_ACT_END_OF_FILE;
    +			}
    +
    +		else
    +			{
    +			/* We matched some text prior to the EOB, first
    +			 * process it.
    +			 */
    +			return EOB_ACT_LAST_MATCH;
    +			}
    +		}
    +
    +	/* Try to read more data. */
    +
    +	/* First move last chars to start of buffer. */
    +	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
    +
    +	for ( i = 0; i < number_to_move; ++i )
    +		*(dest++) = *(source++);
    +
    +	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
    +		/* don't do the read, it's not guaranteed to return an EOF,
    +		 * just force an EOF
    +		 */
    +		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
    +
    +	else
    +		{
    +		int num_to_read =
    +			yy_current_buffer->yy_buf_size - number_to_move - 1;
    +
    +		while ( num_to_read <= 0 )
    +			{ /* Not enough room in the buffer - grow it. */
    +#ifdef YY_USES_REJECT
    +			YY_FATAL_ERROR(
    +"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
    +#else
    +
    +			/* just a shorter name for the current buffer */
    +			YY_BUFFER_STATE b = yy_current_buffer;
    +
    +			int yy_c_buf_p_offset =
    +				(int) (yy_c_buf_p - b->yy_ch_buf);
    +
    +			if ( b->yy_is_our_buffer )
    +				{
    +				int new_size = b->yy_buf_size * 2;
    +
    +				if ( new_size <= 0 )
    +					b->yy_buf_size += b->yy_buf_size / 8;
    +				else
    +					b->yy_buf_size *= 2;
    +
    +				b->yy_ch_buf = (char *)
    +					/* Include room in for 2 EOB chars. */
    +					yy_flex_realloc( (void *) b->yy_ch_buf,
    +							 b->yy_buf_size + 2 );
    +				}
    +			else
    +				/* Can't grow it, we don't own it. */
    +				b->yy_ch_buf = 0;
    +
    +			if ( ! b->yy_ch_buf )
    +				YY_FATAL_ERROR(
    +				"fatal error - scanner input buffer overflow" );
    +
    +			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
    +
    +			num_to_read = yy_current_buffer->yy_buf_size -
    +						number_to_move - 1;
    +#endif
    +			}
    +
    +		if ( num_to_read > YY_READ_BUF_SIZE )
    +			num_to_read = YY_READ_BUF_SIZE;
    +
    +		/* Read in more data. */
    +		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
    +			yy_n_chars, num_to_read );
    +
    +		yy_current_buffer->yy_n_chars = yy_n_chars;
    +		}
    +
    +	if ( yy_n_chars == 0 )
    +		{
    +		if ( number_to_move == YY_MORE_ADJ )
    +			{
    +			ret_val = EOB_ACT_END_OF_FILE;
    +			yyrestart( yyin );
    +			}
    +
    +		else
    +			{
    +			ret_val = EOB_ACT_LAST_MATCH;
    +			yy_current_buffer->yy_buffer_status =
    +				YY_BUFFER_EOF_PENDING;
    +			}
    +		}
    +
    +	else
    +		ret_val = EOB_ACT_CONTINUE_SCAN;
    +
    +	yy_n_chars += number_to_move;
    +	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
    +	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
    +
    +	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
    +
    +	return ret_val;
    +	}
    +
    +
    +/* yy_get_previous_state - get the state just before the EOB char was reached */
    +
    +static yy_state_type yy_get_previous_state()
    +	{
    +	register yy_state_type yy_current_state;
    +	register char *yy_cp;
    +
    +	yy_current_state = yy_start;
    +	yy_current_state += YY_AT_BOL();
    +
    +	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
    +		{
    +		if ( *yy_cp )
    +			{
    +			yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
    +			}
    +		else
    +			yy_current_state = yy_NUL_trans[yy_current_state];
    +		if ( yy_accept[yy_current_state] )
    +			{
    +			yy_last_accepting_state = yy_current_state;
    +			yy_last_accepting_cpos = yy_cp;
    +			}
    +		}
    +
    +	return yy_current_state;
    +	}
    +
    +
    +/* yy_try_NUL_trans - try to make a transition on the NUL character
    + *
    + * synopsis
    + *	next_state = yy_try_NUL_trans( current_state );
    + */
    +
    +#ifdef YY_USE_PROTOS
    +static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
    +#else
    +static yy_state_type yy_try_NUL_trans( yy_current_state )
    +yy_state_type yy_current_state;
    +#endif
    +	{
    +	register int yy_is_jam;
    +	register char *yy_cp = yy_c_buf_p;
    +
    +	yy_current_state = yy_NUL_trans[yy_current_state];
    +	yy_is_jam = (yy_current_state == 0);
    +
    +	if ( ! yy_is_jam )
    +		{
    +		if ( yy_accept[yy_current_state] )
    +			{
    +			yy_last_accepting_state = yy_current_state;
    +			yy_last_accepting_cpos = yy_cp;
    +			}
    +		}
    +
    +	return yy_is_jam ? 0 : yy_current_state;
    +	}
    +
    +
    +#ifndef YY_NO_UNPUT
    +#ifdef YY_USE_PROTOS
    +static void yyunput( int c, register char *yy_bp )
    +#else
    +static void yyunput( c, yy_bp )
    +int c;
    +register char *yy_bp;
    +#endif
    +	{
    +	register char *yy_cp = yy_c_buf_p;
    +
    +	/* undo effects of setting up yytext */
    +	*yy_cp = yy_hold_char;
    +
    +	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    +		{ /* need to shift things up to make room */
    +		/* +2 for EOB chars. */
    +		register int number_to_move = yy_n_chars + 2;
    +		register char *dest = &yy_current_buffer->yy_ch_buf[
    +					yy_current_buffer->yy_buf_size + 2];
    +		register char *source =
    +				&yy_current_buffer->yy_ch_buf[number_to_move];
    +
    +		while ( source > yy_current_buffer->yy_ch_buf )
    +			*--dest = *--source;
    +
    +		yy_cp += (int) (dest - source);
    +		yy_bp += (int) (dest - source);
    +		yy_current_buffer->yy_n_chars =
    +			yy_n_chars = yy_current_buffer->yy_buf_size;
    +
    +		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    +			YY_FATAL_ERROR( "flex scanner push-back overflow" );
    +		}
    +
    +	*--yy_cp = (char) c;
    +
    +
    +	yytext_ptr = yy_bp;
    +	yy_hold_char = *yy_cp;
    +	yy_c_buf_p = yy_cp;
    +	}
    +#endif	/* ifndef YY_NO_UNPUT */
    +
    +
    +#ifdef __cplusplus
    +static int yyinput()
    +#else
    +static int input()
    +#endif
    +	{
    +	int c;
    +
    +	*yy_c_buf_p = yy_hold_char;
    +
    +	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
    +		{
    +		/* yy_c_buf_p now points to the character we want to return.
    +		 * If this occurs *before* the EOB characters, then it's a
    +		 * valid NUL; if not, then we've hit the end of the buffer.
    +		 */
    +		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    +			/* This was really a NUL. */
    +			*yy_c_buf_p = '\0';
    +
    +		else
    +			{ /* need more input */
    +			int offset = yy_c_buf_p - yytext_ptr;
    +			++yy_c_buf_p;
    +
    +			switch ( yy_get_next_buffer() )
    +				{
    +				case EOB_ACT_LAST_MATCH:
    +					/* This happens because yy_g_n_b()
    +					 * sees that we've accumulated a
    +					 * token and flags that we need to
    +					 * try matching the token before
    +					 * proceeding.  But for input(),
    +					 * there's no matching to consider.
    +					 * So convert the EOB_ACT_LAST_MATCH
    +					 * to EOB_ACT_END_OF_FILE.
    +					 */
    +
    +					/* Reset buffer status. */
    +					yyrestart( yyin );
    +
    +					/* fall through */
    +
    +				case EOB_ACT_END_OF_FILE:
    +					{
    +					if ( yywrap() )
    +						return EOF;
    +
    +					if ( ! yy_did_buffer_switch_on_eof )
    +						YY_NEW_FILE;
    +#ifdef __cplusplus
    +					return yyinput();
    +#else
    +					return input();
    +#endif
    +					}
    +
    +				case EOB_ACT_CONTINUE_SCAN:
    +					yy_c_buf_p = yytext_ptr + offset;
    +					break;
    +				}
    +			}
    +		}
    +
    +	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
    +	*yy_c_buf_p = '\0';	/* preserve yytext */
    +	yy_hold_char = *++yy_c_buf_p;
    +
    +	yy_current_buffer->yy_at_bol = (c == '\n');
    +
    +	return c;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yyrestart( FILE *input_file )
    +#else
    +void yyrestart( input_file )
    +FILE *input_file;
    +#endif
    +	{
    +	if ( ! yy_current_buffer )
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
    +
    +	yy_init_buffer( yy_current_buffer, input_file );
    +	yy_load_buffer_state();
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
    +#else
    +void yy_switch_to_buffer( new_buffer )
    +YY_BUFFER_STATE new_buffer;
    +#endif
    +	{
    +	if ( yy_current_buffer == new_buffer )
    +		return;
    +
    +	if ( yy_current_buffer )
    +		{
    +		/* Flush out information for old buffer. */
    +		*yy_c_buf_p = yy_hold_char;
    +		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
    +		yy_current_buffer->yy_n_chars = yy_n_chars;
    +		}
    +
    +	yy_current_buffer = new_buffer;
    +	yy_load_buffer_state();
    +
    +	/* We don't actually know whether we did this switch during
    +	 * EOF (yywrap()) processing, but the only time this flag
    +	 * is looked at is after yywrap() is called, so it's safe
    +	 * to go ahead and always set it.
    +	 */
    +	yy_did_buffer_switch_on_eof = 1;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_load_buffer_state( void )
    +#else
    +void yy_load_buffer_state()
    +#endif
    +	{
    +	yy_n_chars = yy_current_buffer->yy_n_chars;
    +	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
    +	yyin = yy_current_buffer->yy_input_file;
    +	yy_hold_char = *yy_c_buf_p;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
    +#else
    +YY_BUFFER_STATE yy_create_buffer( file, size )
    +FILE *file;
    +int size;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +
    +	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    +
    +	b->yy_buf_size = size;
    +
    +	/* yy_ch_buf has to be 2 characters longer than the size given because
    +	 * we need to put in 2 end-of-buffer characters.
    +	 */
    +	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
    +	if ( ! b->yy_ch_buf )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    +
    +	b->yy_is_our_buffer = 1;
    +
    +	yy_init_buffer( b, file );
    +
    +	return b;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_delete_buffer( YY_BUFFER_STATE b )
    +#else
    +void yy_delete_buffer( b )
    +YY_BUFFER_STATE b;
    +#endif
    +	{
    +	if ( ! b )
    +		return;
    +
    +	if ( b == yy_current_buffer )
    +		yy_current_buffer = (YY_BUFFER_STATE) 0;
    +
    +	if ( b->yy_is_our_buffer )
    +		yy_flex_free( (void *) b->yy_ch_buf );
    +
    +	yy_flex_free( (void *) b );
    +	}
    +
    +
    +#ifndef YY_ALWAYS_INTERACTIVE
    +#ifndef YY_NEVER_INTERACTIVE
    +extern int isatty YY_PROTO(( int ));
    +#endif
    +#endif
    +
    +#ifdef YY_USE_PROTOS
    +void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
    +#else
    +void yy_init_buffer( b, file )
    +YY_BUFFER_STATE b;
    +FILE *file;
    +#endif
    +
    +
    +	{
    +	yy_flush_buffer( b );
    +
    +	b->yy_input_file = file;
    +	b->yy_fill_buffer = 1;
    +
    +#if YY_ALWAYS_INTERACTIVE
    +	b->yy_is_interactive = 1;
    +#else
    +#if YY_NEVER_INTERACTIVE
    +	b->yy_is_interactive = 0;
    +#else
    +	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
    +#endif
    +#endif
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_flush_buffer( YY_BUFFER_STATE b )
    +#else
    +void yy_flush_buffer( b )
    +YY_BUFFER_STATE b;
    +#endif
    +
    +	{
    +	if ( ! b )
    +		return;
    +
    +	b->yy_n_chars = 0;
    +
    +	/* We always need two end-of-buffer characters.  The first causes
    +	 * a transition to the end-of-buffer state.  The second causes
    +	 * a jam in that state.
    +	 */
    +	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
    +	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
    +
    +	b->yy_buf_pos = &b->yy_ch_buf[0];
    +
    +	b->yy_at_bol = 1;
    +	b->yy_buffer_status = YY_BUFFER_NEW;
    +
    +	if ( b == yy_current_buffer )
    +		yy_load_buffer_state();
    +	}
    +
    +
    +#ifndef YY_NO_SCAN_BUFFER
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
    +#else
    +YY_BUFFER_STATE yy_scan_buffer( base, size )
    +char *base;
    +yy_size_t size;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +
    +	if ( size < 2 ||
    +	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
    +	     base[size-1] != YY_END_OF_BUFFER_CHAR )
    +		/* They forgot to leave room for the EOB's. */
    +		return 0;
    +
    +	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
    +
    +	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
    +	b->yy_buf_pos = b->yy_ch_buf = base;
    +	b->yy_is_our_buffer = 0;
    +	b->yy_input_file = 0;
    +	b->yy_n_chars = b->yy_buf_size;
    +	b->yy_is_interactive = 0;
    +	b->yy_at_bol = 1;
    +	b->yy_fill_buffer = 0;
    +	b->yy_buffer_status = YY_BUFFER_NEW;
    +
    +	yy_switch_to_buffer( b );
    +
    +	return b;
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_SCAN_STRING
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
    +#else
    +YY_BUFFER_STATE yy_scan_string( yy_str )
    +yyconst char *yy_str;
    +#endif
    +	{
    +	int len;
    +	for ( len = 0; yy_str[len]; ++len )
    +		;
    +
    +	return yy_scan_bytes( yy_str, len );
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_SCAN_BYTES
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
    +#else
    +YY_BUFFER_STATE yy_scan_bytes( bytes, len )
    +yyconst char *bytes;
    +int len;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +	char *buf;
    +	yy_size_t n;
    +	int i;
    +
    +	/* Get memory for full buffer, including space for trailing EOB's. */
    +	n = len + 2;
    +	buf = (char *) yy_flex_alloc( n );
    +	if ( ! buf )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
    +
    +	for ( i = 0; i < len; ++i )
    +		buf[i] = bytes[i];
    +
    +	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
    +
    +	b = yy_scan_buffer( buf, n );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
    +
    +	/* It's okay to grow etc. this buffer, and we should throw it
    +	 * away when we're done.
    +	 */
    +	b->yy_is_our_buffer = 1;
    +
    +	return b;
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_PUSH_STATE
    +#ifdef YY_USE_PROTOS
    +static void yy_push_state( int new_state )
    +#else
    +static void yy_push_state( new_state )
    +int new_state;
    +#endif
    +	{
    +	if ( yy_start_stack_ptr >= yy_start_stack_depth )
    +		{
    +		yy_size_t new_size;
    +
    +		yy_start_stack_depth += YY_START_STACK_INCR;
    +		new_size = yy_start_stack_depth * sizeof( int );
    +
    +		if ( ! yy_start_stack )
    +			yy_start_stack = (int *) yy_flex_alloc( new_size );
    +
    +		else
    +			yy_start_stack = (int *) yy_flex_realloc(
    +					(void *) yy_start_stack, new_size );
    +
    +		if ( ! yy_start_stack )
    +			YY_FATAL_ERROR(
    +			"out of memory expanding start-condition stack" );
    +		}
    +
    +	yy_start_stack[yy_start_stack_ptr++] = YY_START;
    +
    +	BEGIN(new_state);
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_POP_STATE
    +static void yy_pop_state()
    +	{
    +	if ( --yy_start_stack_ptr < 0 )
    +		YY_FATAL_ERROR( "start-condition stack underflow" );
    +
    +	BEGIN(yy_start_stack[yy_start_stack_ptr]);
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_TOP_STATE
    +static int yy_top_state()
    +	{
    +	return yy_start_stack[yy_start_stack_ptr - 1];
    +	}
    +#endif
    +
    +#ifndef YY_EXIT_FAILURE
    +#define YY_EXIT_FAILURE 2
    +#endif
    +
    +#ifdef YY_USE_PROTOS
    +static void yy_fatal_error( yyconst char msg[] )
    +#else
    +static void yy_fatal_error( msg )
    +char msg[];
    +#endif
    +	{
    +	(void) fprintf( stderr, "%s\n", msg );
    +	exit( YY_EXIT_FAILURE );
    +	}
    +
    +
    +
    +/* Redefine yyless() so it works in section 3 code. */
    +
    +#undef yyless
    +#define yyless(n) \
    +	do \
    +		{ \
    +		/* Undo effects of setting up yytext. */ \
    +		yytext[yyleng] = yy_hold_char; \
    +		yy_c_buf_p = yytext + n; \
    +		yy_hold_char = *yy_c_buf_p; \
    +		*yy_c_buf_p = '\0'; \
    +		yyleng = n; \
    +		} \
    +	while ( 0 )
    +
    +
    +/* Internal utility routines. */
    +
    +#ifndef yytext_ptr
    +#ifdef YY_USE_PROTOS
    +static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
    +#else
    +static void yy_flex_strncpy( s1, s2, n )
    +char *s1;
    +yyconst char *s2;
    +int n;
    +#endif
    +	{
    +	register int i;
    +	for ( i = 0; i < n; ++i )
    +		s1[i] = s2[i];
    +	}
    +#endif
    +
    +#ifdef YY_NEED_STRLEN
    +#ifdef YY_USE_PROTOS
    +static int yy_flex_strlen( yyconst char *s )
    +#else
    +static int yy_flex_strlen( s )
    +yyconst char *s;
    +#endif
    +	{
    +	register int n;
    +	for ( n = 0; s[n]; ++n )
    +		;
    +
    +	return n;
    +	}
    +#endif
    +
    +
    +#ifdef YY_USE_PROTOS
    +static void *yy_flex_alloc( yy_size_t size )
    +#else
    +static void *yy_flex_alloc( size )
    +yy_size_t size;
    +#endif
    +	{
    +	return (void *) malloc( size );
    +	}
    +
    +#ifdef YY_USE_PROTOS
    +static void *yy_flex_realloc( void *ptr, yy_size_t size )
    +#else
    +static void *yy_flex_realloc( ptr, size )
    +void *ptr;
    +yy_size_t size;
    +#endif
    +	{
    +	/* The cast to (char *) in the following accommodates both
    +	 * implementations that use char* generic pointers, and those
    +	 * that use void* generic pointers.  It works with the latter
    +	 * because both ANSI C and C++ allow castless assignment from
    +	 * any pointer type to void*, and deal with argument conversions
    +	 * as though doing an assignment.
    +	 */
    +	return (void *) realloc( (char *) ptr, size );
    +	}
    +
    +#ifdef YY_USE_PROTOS
    +static void yy_flex_free( void *ptr )
    +#else
    +static void yy_flex_free( ptr )
    +void *ptr;
    +#endif
    +	{
    +	free( ptr );
    +	}
    +
    +#if YY_MAIN
    +int main()
    +	{
    +	yylex();
    +	return 0;
    +	}
    +#endif
    +#line 164 "parser.l"
    +
    +
    +#ifndef yywrap
    +int yywrap(void)
    +{
    +	return 1;
    +}
    +#endif
    +
    +static struct keyword {
    +	const char *kw;
    +	int token;
    +	int val;
    +} keywords[] = {
    +	{"__cdecl",			tCDECL},
    +	{"__int64",			tINT64},
    +	{"__stdcall",			tSTDCALL},
    +	{"_stdcall",			tSTDCALL},
    +	{"aggregatable",		tAGGREGATABLE},
    +	{"allocate",			tALLOCATE},
    +	{"appobject",			tAPPOBJECT},
    +	{"arrays",			tARRAYS},
    +	{"async",			tASYNC},
    +	{"async_uuid",			tASYNCUUID},
    +	{"auto_handle",			tAUTOHANDLE},
    +	{"bindable",			tBINDABLE},
    +	{"boolean",			tBOOLEAN},
    +	{"broadcast",			tBROADCAST},
    +	{"byte",			tBYTE},
    +	{"byte_count",			tBYTECOUNT},
    +	{"call_as",			tCALLAS},
    +	{"callback",			tCALLBACK},
    +	{"case",			tCASE},
    +	{"char",			tCHAR},
    +	{"coclass",			tCOCLASS},
    +	{"code",			tCODE},
    +	{"comm_status",			tCOMMSTATUS},
    +	{"const",			tCONST},
    +	{"context_handle",		tCONTEXTHANDLE},
    +	{"context_handle_noserialize",	tCONTEXTHANDLENOSERIALIZE},
    +	{"context_handle_serialize",	tCONTEXTHANDLENOSERIALIZE},
    +	{"control",			tCONTROL},
    +	{"cpp_quote",			tCPPQUOTE},
    +/* ... */
    +	{"default",			tDEFAULT},
    +	{"defaultvalue",		tDEFAULTVALUE},
    +/* ... */
    +	{"dispinterface",		tDISPINTERFACE},
    +/* ... */
    +	{"dllname",			tDLLNAME},
    +	{"double",			tDOUBLE},
    +	{"dual",			tDUAL},
    +/* ... */
    +	{"endpoint",			tENDPOINT},
    +	{"entry",			tENTRY},
    +	{"enum",			tENUM},
    +	{"error_status_t",		tERRORSTATUST},
    +	{"explicit_handle",		tEXPLICITHANDLE},
    +	{"extern",			tEXTERN},
    +/* ... */
    +	{"float",			tFLOAT},
    +/* ... */
    +	{"handle",			tHANDLE},
    +	{"handle_t",			tHANDLET},
    +/* ... */
    +	{"helpcontext",			tHELPCONTEXT},
    +	{"helpfile",			tHELPFILE},
    +	{"helpstring",			tHELPSTRING},
    +	{"helpstringcontext",		tHELPSTRINGCONTEXT},
    +	{"helpstringdll",		tHELPSTRINGDLL},
    +/* ... */
    +	{"hidden",			tHIDDEN},
    +	{"hyper",			tHYPER},
    +	{"id",				tID},
    +	{"idempotent",			tIDEMPOTENT},
    +/* ... */
    +	{"iid_is",			tIIDIS},
    +/* ... */
    +	{"implicit_handle",		tIMPLICITHANDLE},
    +	{"import",			tIMPORT},
    +	{"importlib",			tIMPORTLIB},
    +	{"in",				tIN},
    +	{"include",			tINCLUDE},
    +	{"in_line",			tINLINE},
    +	{"input_sync",			tINPUTSYNC},
    +	{"int",				tINT},
    +/* ... */
    +	{"interface",			tINTERFACE},
    +/* ... */
    +	{"length_is",			tLENGTHIS},
    +	{"library",			tLIBRARY},
    +/* ... */
    +	{"local",			tLOCAL},
    +	{"long",			tLONG},
    +/* ... */
    +	{"methods",			tMETHODS},
    +/* ... */
    +	{"module",			tMODULE},
    +/* ... */
    +	{"noncreatable",		tNONCREATABLE},
    +	{"object",			tOBJECT},
    +	{"odl",				tODL},
    +	{"oleautomation",		tOLEAUTOMATION},
    +/* ... */
    +	{"optional",			tOPTIONAL},
    +	{"out",				tOUT},
    +/* ... */
    +	{"pointer_default",		tPOINTERDEFAULT},
    +/* ... */
    +	{"properties",			tPROPERTIES},
    +	{"propget",			tPROPGET},
    +	{"propput",			tPROPPUT},
    +	{"propputref",			tPROPPUTREF},
    +/* ... */
    +	{"public",			tPUBLIC},
    +/* ... */
    +	{"readonly",			tREADONLY},
    +	{"ref",				tREF},
    +/* ... */
    +	{"restricted",			tRESTRICTED},
    +	{"retval",			tRETVAL},
    +/* ... */
    +	{"short",			tSHORT},
    +	{"signed",			tSIGNED},
    +	{"size_is",			tSIZEIS},
    +	{"sizeof",			tSIZEOF},
    +/* ... */
    +	{"small",			tSMALL},
    +	{"source",			tSOURCE},
    +/* ... */	
    +	{"string",			tSTRING},
    +	{"struct",			tSTRUCT},
    +	{"switch",			tSWITCH},
    +	{"switch_is",			tSWITCHIS},
    +	{"switch_type",			tSWITCHTYPE},
    +/* ... */
    +	{"transmit_as",			tTRANSMITAS},
    +	{"typedef",			tTYPEDEF},
    +	{"union",			tUNION},
    +/* ... */
    +	{"unique",			tUNIQUE},
    +	{"unsigned",			tUNSIGNED},
    +/* ... */
    +	{"uuid",			tUUID},
    +	{"v1_enum",			tV1ENUM},
    +/* ... */
    +	{"vararg",			tVARARG},
    +	{"version",			tVERSION},
    +	{"void",			tVOID},
    +	{"wchar_t",			tWCHAR},
    +	{"wire_marshal",		tWIREMARSHAL}
    +};
    +#define NKEYWORDS (sizeof(keywords)/sizeof(keywords[0]))
    +#define KWP(p) ((const struct keyword *)(p))
    +
    +static int kw_cmp_func(const void *s1, const void *s2)
    +{
    +	return strcmp(KWP(s1)->kw, KWP(s2)->kw);
    +}
    +
    +#define KW_BSEARCH
    +static int kw_token(const char *kw)
    +{
    +	struct keyword key, *kwp;
    +	key.kw = kw;
    +#ifdef KW_BSEARCH
    +	kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
    +#else
    +	{
    +		int i;
    +		for (kwp=NULL, i=0; i < NKEYWORDS; i++)
    +			if (!kw_cmp_func(&key, &keywords[i])) {
    +				kwp = &keywords[i];
    +				break;
    +			}
    +	}
    +#endif
    +	if (kwp) {
    +		yylval.str = (char*)kwp->kw;
    +		return kwp->token;
    +	}
    +	yylval.str = xstrdup(kw);
    +	return is_type(kw) ? aKNOWNTYPE : aIDENTIFIER;
    +}
    +
    +static void addcchar(char c)
    +{
    +	if(cbufidx >= cbufalloc)
    +	{
    +		cbufalloc += 1024;
    +		cbuffer = xrealloc(cbuffer, cbufalloc * sizeof(cbuffer[0]));
    +		if(cbufalloc > 65536)
    +			yywarning("Reallocating string buffer larger than 64kB");
    +	}
    +	cbuffer[cbufidx++] = c;
    +}
    +
    +static char *get_buffered_cstring(void)
    +{
    +	addcchar(0);
    +	return xstrdup(cbuffer);
    +}
    +
    +static void pop_import(void)
    +{
    +	int ptr = import_stack_ptr-1;
    +
    +	fclose(yyin);
    +	yy_delete_buffer( YY_CURRENT_BUFFER );
    +	yy_switch_to_buffer( import_stack[ptr].state );
    +	if (temp_name) {
    +		unlink(temp_name);
    +		free(temp_name);
    +	}
    +	temp_name = import_stack[ptr].temp_name;
    +	free( input_name );
    +	input_name = import_stack[ptr].input_name;
    +	line_number = import_stack[ptr].line_number;
    +	import_stack_ptr--;
    +}
    +
    +struct imports {
    +	char *name;
    +	struct imports *next;
    +} *first_import;
    +
    +int do_import(char *fname)
    +{
    +	FILE *f;
    +	char *hname, *path, *p;
    +	struct imports *import;
    +	int ptr = import_stack_ptr;
    +	int ret;
    +
    +	if (!parse_only && do_header) {
    +		hname = dup_basename(fname, ".idl");
    +                p = hname + strlen(hname) - 2;
    +                if (p <= hname || strcmp( p, ".h" )) strcat(hname, ".h");
    +
    +		fprintf(header, "#include <%s>\n", hname);
    +		free(hname);
    +	}
    +
    +	import = first_import;
    +	while (import && strcmp(import->name, fname))
    +		import = import->next;
    +	if (import) return 0; /* already imported */
    +
    +	import = xmalloc(sizeof(struct imports));
    +	import->name = xstrdup(fname);
    +	import->next = first_import;
    +	first_import = import;
    +
    +        if (!(path = wpp_find_include( fname, 1 )))
    +            yyerror("Unable to open include file %s", fname);
    +
    +	import_stack[ptr].temp_name = temp_name;
    +	import_stack[ptr].input_name = input_name;
    +	import_stack[ptr].line_number = line_number;
    +	import_stack_ptr++;
    +        input_name = path;
    +        line_number = 1;
    +
    +        ret = wpp_parse_temp( path, NULL, &temp_name );
    +        if (ret) exit(1);
    +
    +	if((f = fopen(temp_name, "r")) == NULL)
    +		yyerror("Unable to open %s", temp_name);
    +
    +	import_stack[ptr].state = YY_CURRENT_BUFFER;
    +	yy_switch_to_buffer(yy_create_buffer(f, YY_BUF_SIZE));
    +	return 1;
    +}
    +
    +void abort_import(void)
    +{
    +	int ptr;
    +
    +	for (ptr=0; ptr
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +# include 
    +#endif
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "wine/wpp.h"
    +
    +#include "y.tab.h"
    +
    +#define YY_USE_PROTOS
    +#define YY_NO_UNPUT
    +#define YY_NO_TOP_STATE
    +
    +extern char *temp_name;
    +
    +static void addcchar(char c);
    +static char *get_buffered_cstring(void);
    +
    +static char *cbuffer;
    +static int cbufidx;
    +static int cbufalloc = 0;
    +
    +static int kw_token(const char *kw);
    +
    +#define MAX_IMPORT_DEPTH 10
    +struct {
    +  YY_BUFFER_STATE state;
    +  char *input_name;
    +  int   line_number;
    +  char *temp_name;
    +} import_stack[MAX_IMPORT_DEPTH];
    +int import_stack_ptr = 0;
    +
    +static void pop_import(void);
    +
    +static UUID* parse_uuid(const char*u)
    +{
    +  UUID* uuid = xmalloc(sizeof(UUID));
    +  char b[3];
    +  /* it would be nice to use UuidFromStringA */
    +  uuid->Data1 = strtoul(u, NULL, 16);
    +  uuid->Data2 = strtoul(u+9, NULL, 16);
    +  uuid->Data3 = strtoul(u+14, NULL, 16);
    +  b[2] = 0;
    +  memcpy(b, u+19, 2); uuid->Data4[0] = strtoul(b, NULL, 16);
    +  memcpy(b, u+21, 2); uuid->Data4[1] = strtoul(b, NULL, 16);
    +  memcpy(b, u+24, 2); uuid->Data4[2] = strtoul(b, NULL, 16);
    +  memcpy(b, u+26, 2); uuid->Data4[3] = strtoul(b, NULL, 16);
    +  memcpy(b, u+28, 2); uuid->Data4[4] = strtoul(b, NULL, 16);
    +  memcpy(b, u+30, 2); uuid->Data4[5] = strtoul(b, NULL, 16);
    +  memcpy(b, u+32, 2); uuid->Data4[6] = strtoul(b, NULL, 16);
    +  memcpy(b, u+34, 2); uuid->Data4[7] = strtoul(b, NULL, 16);
    +  return uuid;
    +}
    +
    +%}
    +
    +/*
    + **************************************************************************
    + * The flexer starts here
    + **************************************************************************
    + */
    +%%
    +^{ws}*\#{ws}*	yy_push_state(pp_line);
    +[^\n]*         {
    +                            int lineno;
    +                            char *cptr, *fname;
    +                            yy_pop_state();
    +                            lineno = (int)strtol(yytext, &cptr, 10);
    +                            if(!lineno)
    +                                yyerror("Malformed '#...' line-directive; invalid linenumber");
    +                            fname = strchr(cptr, '"');
    +                            if(!fname)
    +                                yyerror("Malformed '#...' line-directive; missing filename");
    +                            fname++;
    +                            cptr = strchr(fname, '"');
    +                            if(!cptr)
    +                                yyerror("Malformed '#...' line-directive; missing terminating \"");
    +                            *cptr = '\0';
    +                            line_number = lineno - 1;  /* We didn't read the newline */
    +                            free( input_name );
    +                            input_name = xstrdup(fname);
    +                        }
    +\"			yy_push_state(QUOTE); cbufidx = 0;
    +\"		{
    +				yy_pop_state();
    +				yylval.str = get_buffered_cstring();
    +				return aSTRING;
    +			}
    +\\\\		|
    +\\\"		addcchar(yytext[1]);
    +\\.		addcchar('\\'); addcchar(yytext[1]);
    +.		addcchar(yytext[0]);
    +{uuid}			{
    +				yylval.uuid = parse_uuid(yytext);
    +				return aUUID;
    +			}
    +{hex}			{
    +				yylval.num = strtoul(yytext, NULL, 0);
    +				return aHEXNUM;
    +			}
    +{int}			{
    +				yylval.num = strtoul(yytext, NULL, 0);
    +				return aNUM;
    +			}
    +{cident}		return kw_token(yytext);
    +\n			line_number++;
    +{ws}
    +\<\<			return SHL;
    +\>\>			return SHR;
    +.			return yytext[0];
    +<>			{
    +				if (import_stack_ptr) {
    +					pop_import();
    +					return aEOF;
    +				}
    +				else yyterminate();
    +			}
    +%%
    +
    +#ifndef yywrap
    +int yywrap(void)
    +{
    +	return 1;
    +}
    +#endif
    +
    +static struct keyword {
    +	const char *kw;
    +	int token;
    +	int val;
    +} keywords[] = {
    +	{"__cdecl",			tCDECL},
    +	{"__int64",			tINT64},
    +	{"__stdcall",			tSTDCALL},
    +	{"_stdcall",			tSTDCALL},
    +	{"aggregatable",		tAGGREGATABLE},
    +	{"allocate",			tALLOCATE},
    +	{"appobject",			tAPPOBJECT},
    +	{"arrays",			tARRAYS},
    +	{"async",			tASYNC},
    +	{"async_uuid",			tASYNCUUID},
    +	{"auto_handle",			tAUTOHANDLE},
    +	{"bindable",			tBINDABLE},
    +	{"boolean",			tBOOLEAN},
    +	{"broadcast",			tBROADCAST},
    +	{"byte",			tBYTE},
    +	{"byte_count",			tBYTECOUNT},
    +	{"call_as",			tCALLAS},
    +	{"callback",			tCALLBACK},
    +	{"case",			tCASE},
    +	{"char",			tCHAR},
    +	{"coclass",			tCOCLASS},
    +	{"code",			tCODE},
    +	{"comm_status",			tCOMMSTATUS},
    +	{"const",			tCONST},
    +	{"context_handle",		tCONTEXTHANDLE},
    +	{"context_handle_noserialize",	tCONTEXTHANDLENOSERIALIZE},
    +	{"context_handle_serialize",	tCONTEXTHANDLENOSERIALIZE},
    +	{"control",			tCONTROL},
    +	{"cpp_quote",			tCPPQUOTE},
    +/* ... */
    +	{"default",			tDEFAULT},
    +	{"defaultvalue",		tDEFAULTVALUE},
    +/* ... */
    +	{"dispinterface",		tDISPINTERFACE},
    +/* ... */
    +	{"dllname",			tDLLNAME},
    +	{"double",			tDOUBLE},
    +	{"dual",			tDUAL},
    +/* ... */
    +	{"endpoint",			tENDPOINT},
    +	{"entry",			tENTRY},
    +	{"enum",			tENUM},
    +	{"error_status_t",		tERRORSTATUST},
    +	{"explicit_handle",		tEXPLICITHANDLE},
    +	{"extern",			tEXTERN},
    +/* ... */
    +	{"float",			tFLOAT},
    +/* ... */
    +	{"handle",			tHANDLE},
    +	{"handle_t",			tHANDLET},
    +/* ... */
    +	{"helpcontext",			tHELPCONTEXT},
    +	{"helpfile",			tHELPFILE},
    +	{"helpstring",			tHELPSTRING},
    +	{"helpstringcontext",		tHELPSTRINGCONTEXT},
    +	{"helpstringdll",		tHELPSTRINGDLL},
    +/* ... */
    +	{"hidden",			tHIDDEN},
    +	{"hyper",			tHYPER},
    +	{"id",				tID},
    +	{"idempotent",			tIDEMPOTENT},
    +/* ... */
    +	{"iid_is",			tIIDIS},
    +/* ... */
    +	{"implicit_handle",		tIMPLICITHANDLE},
    +	{"import",			tIMPORT},
    +	{"importlib",			tIMPORTLIB},
    +	{"in",				tIN},
    +	{"include",			tINCLUDE},
    +	{"in_line",			tINLINE},
    +	{"input_sync",			tINPUTSYNC},
    +	{"int",				tINT},
    +/* ... */
    +	{"interface",			tINTERFACE},
    +/* ... */
    +	{"length_is",			tLENGTHIS},
    +	{"library",			tLIBRARY},
    +/* ... */
    +	{"local",			tLOCAL},
    +	{"long",			tLONG},
    +/* ... */
    +	{"methods",			tMETHODS},
    +/* ... */
    +	{"module",			tMODULE},
    +/* ... */
    +	{"noncreatable",		tNONCREATABLE},
    +	{"object",			tOBJECT},
    +	{"odl",				tODL},
    +	{"oleautomation",		tOLEAUTOMATION},
    +/* ... */
    +	{"optional",			tOPTIONAL},
    +	{"out",				tOUT},
    +/* ... */
    +	{"pointer_default",		tPOINTERDEFAULT},
    +/* ... */
    +	{"properties",			tPROPERTIES},
    +	{"propget",			tPROPGET},
    +	{"propput",			tPROPPUT},
    +	{"propputref",			tPROPPUTREF},
    +/* ... */
    +	{"public",			tPUBLIC},
    +/* ... */
    +	{"readonly",			tREADONLY},
    +	{"ref",				tREF},
    +/* ... */
    +	{"restricted",			tRESTRICTED},
    +	{"retval",			tRETVAL},
    +/* ... */
    +	{"short",			tSHORT},
    +	{"signed",			tSIGNED},
    +	{"size_is",			tSIZEIS},
    +	{"sizeof",			tSIZEOF},
    +/* ... */
    +	{"small",			tSMALL},
    +	{"source",			tSOURCE},
    +/* ... */	
    +	{"string",			tSTRING},
    +	{"struct",			tSTRUCT},
    +	{"switch",			tSWITCH},
    +	{"switch_is",			tSWITCHIS},
    +	{"switch_type",			tSWITCHTYPE},
    +/* ... */
    +	{"transmit_as",			tTRANSMITAS},
    +	{"typedef",			tTYPEDEF},
    +	{"union",			tUNION},
    +/* ... */
    +	{"unique",			tUNIQUE},
    +	{"unsigned",			tUNSIGNED},
    +/* ... */
    +	{"uuid",			tUUID},
    +	{"v1_enum",			tV1ENUM},
    +/* ... */
    +	{"vararg",			tVARARG},
    +	{"version",			tVERSION},
    +	{"void",			tVOID},
    +	{"wchar_t",			tWCHAR},
    +	{"wire_marshal",		tWIREMARSHAL}
    +};
    +#define NKEYWORDS (sizeof(keywords)/sizeof(keywords[0]))
    +#define KWP(p) ((const struct keyword *)(p))
    +
    +static int kw_cmp_func(const void *s1, const void *s2)
    +{
    +	return strcmp(KWP(s1)->kw, KWP(s2)->kw);
    +}
    +
    +#define KW_BSEARCH
    +static int kw_token(const char *kw)
    +{
    +	struct keyword key, *kwp;
    +	key.kw = kw;
    +#ifdef KW_BSEARCH
    +	kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
    +#else
    +	{
    +		int i;
    +		for (kwp=NULL, i=0; i < NKEYWORDS; i++)
    +			if (!kw_cmp_func(&key, &keywords[i])) {
    +				kwp = &keywords[i];
    +				break;
    +			}
    +	}
    +#endif
    +	if (kwp) {
    +		yylval.str = (char*)kwp->kw;
    +		return kwp->token;
    +	}
    +	yylval.str = xstrdup(kw);
    +	return is_type(kw) ? aKNOWNTYPE : aIDENTIFIER;
    +}
    +
    +static void addcchar(char c)
    +{
    +	if(cbufidx >= cbufalloc)
    +	{
    +		cbufalloc += 1024;
    +		cbuffer = xrealloc(cbuffer, cbufalloc * sizeof(cbuffer[0]));
    +		if(cbufalloc > 65536)
    +			yywarning("Reallocating string buffer larger than 64kB");
    +	}
    +	cbuffer[cbufidx++] = c;
    +}
    +
    +static char *get_buffered_cstring(void)
    +{
    +	addcchar(0);
    +	return xstrdup(cbuffer);
    +}
    +
    +static void pop_import(void)
    +{
    +	int ptr = import_stack_ptr-1;
    +
    +	fclose(yyin);
    +	yy_delete_buffer( YY_CURRENT_BUFFER );
    +	yy_switch_to_buffer( import_stack[ptr].state );
    +	if (temp_name) {
    +		unlink(temp_name);
    +		free(temp_name);
    +	}
    +	temp_name = import_stack[ptr].temp_name;
    +	free( input_name );
    +	input_name = import_stack[ptr].input_name;
    +	line_number = import_stack[ptr].line_number;
    +	import_stack_ptr--;
    +}
    +
    +struct imports {
    +	char *name;
    +	struct imports *next;
    +} *first_import;
    +
    +int do_import(char *fname)
    +{
    +	FILE *f;
    +	char *hname, *path, *p;
    +	struct imports *import;
    +	int ptr = import_stack_ptr;
    +	int ret;
    +
    +	if (!parse_only && do_header) {
    +		hname = dup_basename(fname, ".idl");
    +                p = hname + strlen(hname) - 2;
    +                if (p <= hname || strcmp( p, ".h" )) strcat(hname, ".h");
    +
    +		fprintf(header, "#include <%s>\n", hname);
    +		free(hname);
    +	}
    +
    +	import = first_import;
    +	while (import && strcmp(import->name, fname))
    +		import = import->next;
    +	if (import) return 0; /* already imported */
    +
    +	import = xmalloc(sizeof(struct imports));
    +	import->name = xstrdup(fname);
    +	import->next = first_import;
    +	first_import = import;
    +
    +        if (!(path = wpp_find_include( fname, 1 )))
    +            yyerror("Unable to open include file %s", fname);
    +
    +	import_stack[ptr].temp_name = temp_name;
    +	import_stack[ptr].input_name = input_name;
    +	import_stack[ptr].line_number = line_number;
    +	import_stack_ptr++;
    +        input_name = path;
    +        line_number = 1;
    +
    +        ret = wpp_parse_temp( path, NULL, &temp_name );
    +        if (ret) exit(1);
    +
    +	if((f = fopen(temp_name, "r")) == NULL)
    +		yyerror("Unable to open %s", temp_name);
    +
    +	import_stack[ptr].state = YY_CURRENT_BUFFER;
    +	yy_switch_to_buffer(yy_create_buffer(f, YY_BUF_SIZE));
    +	return 1;
    +}
    +
    +void abort_import(void)
    +{
    +	int ptr;
    +
    +	for (ptr=0; ptr
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef HAVE_ALLOCA_H
    +#include 
    +#endif
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "header.h"
    +#include "typelib.h"
    +
    +#if defined(YYBYACC)
    +	/* Berkeley yacc (byacc) doesn't seem to know about these */
    +	/* Some *BSD supplied versions do define these though */
    +# ifndef YYEMPTY
    +#  define YYEMPTY	(-1)	/* Empty lookahead value of yychar */
    +# endif
    +# ifndef YYLEX
    +#  define YYLEX		yylex()
    +# endif
    +
    +#elif defined(YYBISON)
    +	/* Bison was used for original development */
    +	/* #define YYEMPTY -2 */
    +	/* #define YYLEX   yylex() */
    +
    +#else
    +	/* No yacc we know yet */
    +# if !defined(YYEMPTY) || !defined(YYLEX)
    +#  error Yacc version/type unknown. This version needs to be verified for settings of YYEMPTY and YYLEX.
    +# elif defined(__GNUC__)	/* gcc defines the #warning directive */
    +#  warning Yacc version/type unknown. It defines YYEMPTY and YYLEX, but is not tested
    +  /* #else we just take a chance that it works... */
    +# endif
    +#endif
    +
    +static attr_t *make_attr(enum attr_type type);
    +static attr_t *make_attrv(enum attr_type type, unsigned long val);
    +static attr_t *make_attrp(enum attr_type type, void *val);
    +static expr_t *make_expr(enum expr_type type);
    +static expr_t *make_exprl(enum expr_type type, long val);
    +static expr_t *make_exprs(enum expr_type type, char *val);
    +static expr_t *make_exprt(enum expr_type type, typeref_t *tref, expr_t *expr);
    +static expr_t *make_expr1(enum expr_type type, expr_t *expr);
    +static expr_t *make_expr2(enum expr_type type, expr_t *exp1, expr_t *exp2);
    +static expr_t *make_expr3(enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3);
    +static type_t *make_type(unsigned char type, type_t *ref);
    +static typeref_t *make_tref(char *name, type_t *ref);
    +static typeref_t *uniq_tref(typeref_t *ref);
    +static type_t *type_ref(typeref_t *ref);
    +static void set_type(var_t *v, typeref_t *ref, expr_t *arr);
    +static ifref_t *make_ifref(type_t *iface);
    +static var_t *make_var(char *name);
    +static func_t *make_func(var_t *def, var_t *args);
    +static class_t *make_class(char *name);
    +
    +static type_t *reg_type(type_t *type, char *name, int t);
    +static type_t *reg_types(type_t *type, var_t *names, int t);
    +static type_t *find_type(char *name, int t);
    +static type_t *find_type2(char *name, int t);
    +static type_t *get_type(unsigned char type, char *name, int t);
    +static type_t *get_typev(unsigned char type, var_t *name, int t);
    +static int get_struct_type(var_t *fields);
    +
    +static var_t *reg_const(var_t *var);
    +static var_t *find_const(char *name, int f);
    +
    +#define tsENUM   1
    +#define tsSTRUCT 2
    +#define tsUNION  3
    +
    +static type_t std_bool = { "boolean" };
    +static type_t std_int = { "int" };
    +static type_t std_int64 = { "__int64" };
    +static type_t std_uhyper = { "MIDL_uhyper" };
    +
    +%}
    +%union {
    +	attr_t *attr;
    +	expr_t *expr;
    +	type_t *type;
    +	typeref_t *tref;
    +	var_t *var;
    +	func_t *func;
    +	ifref_t *ifref;
    +	class_t *clas;
    +	char *str;
    +	UUID *uuid;
    +	unsigned int num;
    +}
    +
    +%token  aIDENTIFIER
    +%token  aKNOWNTYPE
    +%token  aNUM aHEXNUM
    +%token  aSTRING
    +%token  aUUID
    +%token aEOF
    +%token SHL SHR
    +%token tAGGREGATABLE tALLOCATE tAPPOBJECT tARRAYS tASYNC tASYNCUUID
    +%token tAUTOHANDLE tBINDABLE tBOOLEAN tBROADCAST tBYTE tBYTECOUNT
    +%token tCALLAS tCALLBACK tCASE tCDECL tCHAR tCOCLASS tCODE tCOMMSTATUS
    +%token tCONST tCONTEXTHANDLE tCONTEXTHANDLENOSERIALIZE
    +%token tCONTEXTHANDLESERIALIZE tCONTROL tCPPQUOTE
    +%token tDEFAULT
    +%token tDEFAULTVALUE
    +%token tDISPINTERFACE
    +%token tDLLNAME tDOUBLE tDUAL
    +%token tENDPOINT
    +%token tENTRY tENUM tERRORSTATUST
    +%token tEXPLICITHANDLE tEXTERN
    +%token tFLOAT
    +%token tHANDLE
    +%token tHANDLET
    +%token tHELPCONTEXT tHELPFILE
    +%token tHELPSTRING tHELPSTRINGCONTEXT tHELPSTRINGDLL
    +%token tHIDDEN
    +%token tHYPER tID tIDEMPOTENT
    +%token tIIDIS
    +%token tIMPLICITHANDLE
    +%token tIMPORT tIMPORTLIB
    +%token tIN tINCLUDE tINLINE
    +%token tINPUTSYNC
    +%token tINT tINT64
    +%token tINTERFACE
    +%token tLENGTHIS tLIBRARY
    +%token tLOCAL
    +%token tLONG
    +%token tMETHODS
    +%token tMODULE
    +%token tNONCREATABLE
    +%token tOBJECT tODL tOLEAUTOMATION
    +%token tOPTIONAL
    +%token tOUT
    +%token tPOINTERDEFAULT
    +%token tPROPERTIES
    +%token tPROPGET tPROPPUT tPROPPUTREF
    +%token tPUBLIC
    +%token tREADONLY tREF
    +%token tRESTRICTED
    +%token tRETVAL
    +%token tSHORT
    +%token tSIGNED
    +%token tSIZEIS tSIZEOF
    +%token tSMALL
    +%token tSOURCE
    +%token tSTDCALL
    +%token tSTRING tSTRUCT
    +%token tSWITCH tSWITCHIS tSWITCHTYPE
    +%token tTRANSMITAS
    +%token tTYPEDEF
    +%token tUNION
    +%token tUNIQUE
    +%token tUNSIGNED
    +%token tUUID
    +%token tV1ENUM
    +%token tVARARG
    +%token tVERSION
    +%token tVOID
    +%token tWCHAR tWIREMARSHAL
    +
    +/* used in attr_t */
    +%token tPOINTERTYPE
    +
    +%type  m_attributes attributes attrib_list attribute
    +%type  m_exprs /* exprs expr_list */ m_expr expr expr_list_const expr_const
    +%type  array array_list
    +%type  inherit interface interfacehdr interfacedef interfacedec
    +%type  dispinterface dispinterfacehdr dispinterfacedef
    +%type  module modulehdr moduledef
    +%type  base_type int_std
    +%type  enumdef structdef typedef uniondef
    +%type  gbl_statements coclass_ints coclass_int
    +%type  type
    +%type  m_args no_args args arg
    +%type  fields field s_field cases case enums enum_list enum constdef externdef
    +%type  m_ident t_ident ident p_ident pident pident_list
    +%type  dispint_props
    +%type  funcdef int_statements
    +%type  dispint_meths
    +%type  coclass coclasshdr coclassdef
    +%type  pointer_type version
    +%type  libraryhdr
    +
    +%left ','
    +%right COND
    +%left '|'
    +%left '&'
    +%left '-' '+'
    +%left '*' '/'
    +%left SHL SHR
    +%right '~'
    +%right CAST
    +%right PPTR
    +%right NEG
    +
    +%%
    +
    +input:	  gbl_statements			{ write_proxies($1); write_client($1); write_server($1); }
    +	;
    +
    +gbl_statements:					{ $$ = NULL; }
    +	| gbl_statements interfacedec		{ $$ = $1; }
    +	| gbl_statements interfacedef		{ $$ = make_ifref($2); LINK($$, $1); }
    +	| gbl_statements coclassdef		{ $$ = $1; add_coclass($2); }
    +	| gbl_statements moduledef		{ $$ = $1; add_module($2); }
    +	| gbl_statements librarydef		{ $$ = $1; }
    +	| gbl_statements statement		{ $$ = $1; }
    +	;
    +
    +imp_statements:					{}
    +	| imp_statements interfacedec		{ if (!parse_only) add_interface($2); }
    +	| imp_statements interfacedef		{ if (!parse_only) add_interface($2); }
    +	| imp_statements coclassdef		{ if (!parse_only) add_coclass($2); }
    +	| imp_statements moduledef		{ if (!parse_only) add_module($2); }
    +	| imp_statements statement		{}
    +	;
    +
    +int_statements:					{ $$ = NULL; }
    +	| int_statements funcdef ';'		{ $$ = $2; LINK($$, $1); }
    +	| int_statements statement		{ $$ = $1; }
    +	;
    +
    +statement: ';'					{}
    +	| constdef ';'				{ if (!parse_only && do_header) { write_constdef($1); } }
    +	| cppquote				{}
    +	| enumdef ';'				{ if (!parse_only && do_header) { write_type(header, $1, NULL, NULL); fprintf(header, ";\n\n"); } }
    +	| externdef ';'				{ if (!parse_only && do_header) { write_externdef($1); } }
    +	| import				{}
    +	| structdef ';'				{ if (!parse_only && do_header) { write_type(header, $1, NULL, NULL); fprintf(header, ";\n\n"); } }
    +	| typedef ';'				{}
    +	| uniondef ';'				{ if (!parse_only && do_header) { write_type(header, $1, NULL, NULL); fprintf(header, ";\n\n"); } }
    +	;
    +
    +cppquote: tCPPQUOTE '(' aSTRING ')'		{ if (!parse_only && do_header) fprintf(header, "%s\n", $3); }
    +	;
    +import_start: tIMPORT aSTRING ';'		{ assert(yychar == YYEMPTY);
    +						  if (!do_import($2)) yychar = aEOF; }
    +	;
    +import:   import_start imp_statements aEOF	{}
    +	;
    +
    +libraryhdr: tLIBRARY aIDENTIFIER		{ $$ = $2; }
    +	;
    +library_start: attributes libraryhdr '{'	{ start_typelib($2, $1); }
    +	;
    +librarydef: library_start imp_statements '}'	{ end_typelib(); }
    +	;
    +
    +m_args:						{ $$ = NULL; }
    +	| args
    +	;
    +
    +no_args:  tVOID					{ $$ = NULL; }
    +	;
    +
    +args:	  arg
    +	| args ',' arg				{ LINK($3, $1); $$ = $3; }
    +	| no_args
    +	;
    +
    +/* split into two rules to get bison to resolve a tVOID conflict */
    +arg:	  attributes type pident array		{ $$ = $3;
    +						  set_type($$, $2, $4);
    +						  $$->attrs = $1;
    +						}
    +	| type pident array			{ $$ = $2;
    +						  set_type($$, $1, $3);
    +						}
    +	| attributes type pident '(' m_args ')'	{ $$ = $3;
    +						  $$->ptr_level--;
    +						  set_type($$, $2, NULL);
    +						  $$->attrs = $1;
    +						  $$->args = $5;
    +						}
    +	| type pident '(' m_args ')'		{ $$ = $2;
    +						  $$->ptr_level--;
    +						  set_type($$, $1, NULL);
    +						  $$->args = $4;
    +						}
    +	;
    +
    +array:						{ $$ = NULL; }
    +	| '[' array_list ']'			{ $$ = $2; }
    +	| '[' '*' ']'				{ $$ = make_expr(EXPR_VOID); }
    +	;
    +
    +array_list: m_expr /* size of first dimension is optional */
    +	| array_list ',' expr			{ LINK($3, $1); $$ = $3; }
    +	| array_list ']' '[' expr		{ LINK($4, $1); $$ = $4; }
    +	;
    +
    +m_attributes:					{ $$ = NULL; }
    +	| attributes
    +	;
    +
    +attributes:
    +	  '[' attrib_list ']'			{ $$ = $2; }
    +	;
    +
    +attrib_list: attribute
    +	| attrib_list ',' attribute		{ LINK($3, $1); $$ = $3; }
    +	| attrib_list ']' '[' attribute		{ LINK($4, $1); $$ = $4; }
    +	;
    +
    +attribute:
    +	  tASYNC				{ $$ = make_attr(ATTR_ASYNC); }
    +	| tAUTOHANDLE				{ $$ = make_attr(ATTR_AUTO_HANDLE); }
    +	| tCALLAS '(' ident ')'			{ $$ = make_attrp(ATTR_CALLAS, $3); }
    +	| tCASE '(' expr_list_const ')'		{ $$ = make_attrp(ATTR_CASE, $3); }
    +	| tCONTEXTHANDLE			{ $$ = make_attrv(ATTR_CONTEXTHANDLE, 0); }
    +	| tCONTEXTHANDLENOSERIALIZE		{ $$ = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ }
    +	| tCONTEXTHANDLESERIALIZE		{ $$ = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ }
    +	| tCONTROL				{ $$ = make_attr(ATTR_CONTROL); }
    +	| tDEFAULT				{ $$ = make_attr(ATTR_DEFAULT); }
    +	| tDEFAULTVALUE '(' expr_const ')'	{ $$ = make_attrp(ATTR_DEFAULTVALUE_EXPR, $3); }
    +	| tDEFAULTVALUE '(' aSTRING ')'		{ $$ = make_attrp(ATTR_DEFAULTVALUE_STRING, $3); }
    +	| tDLLNAME '(' aSTRING ')'		{ $$ = make_attrp(ATTR_DLLNAME, $3); }
    +	| tDUAL					{ $$ = make_attr(ATTR_DUAL); }
    +	| tENDPOINT '(' aSTRING ')'		{ $$ = make_attrp(ATTR_ENDPOINT, $3); }
    +	| tENTRY '(' aSTRING ')'		{ $$ = make_attrp(ATTR_ENTRY_STRING, $3); }
    +	| tENTRY '(' expr_const ')'		{ $$ = make_attrp(ATTR_ENTRY_ORDINAL, $3); }
    +	| tEXPLICITHANDLE			{ $$ = make_attr(ATTR_EXPLICIT_HANDLE); }
    +	| tHANDLE				{ $$ = make_attr(ATTR_HANDLE); }
    +	| tHELPCONTEXT '(' expr_const ')'	{ $$ = make_attrp(ATTR_HELPCONTEXT, $3); }
    +	| tHELPFILE '(' aSTRING ')'		{ $$ = make_attrp(ATTR_HELPFILE, $3); }
    +	| tHELPSTRING '(' aSTRING ')'		{ $$ = make_attrp(ATTR_HELPSTRING, $3); }
    +	| tHELPSTRINGCONTEXT '(' expr_const ')'	{ $$ = make_attrp(ATTR_HELPSTRINGCONTEXT, $3); }
    +	| tHELPSTRINGDLL '(' aSTRING ')'	{ $$ = make_attrp(ATTR_HELPSTRINGDLL, $3); }
    +	| tHIDDEN				{ $$ = make_attr(ATTR_HIDDEN); }
    +	| tID '(' expr_const ')'		{ $$ = make_attrp(ATTR_ID, $3); }
    +	| tIDEMPOTENT				{ $$ = make_attr(ATTR_IDEMPOTENT); }
    +	| tIIDIS '(' ident ')'			{ $$ = make_attrp(ATTR_IIDIS, $3); }
    +	| tIMPLICITHANDLE '(' tHANDLET aIDENTIFIER ')'	{ $$ = make_attrp(ATTR_IMPLICIT_HANDLE, $4); }
    +	| tIN					{ $$ = make_attr(ATTR_IN); }
    +	| tINPUTSYNC				{ $$ = make_attr(ATTR_INPUTSYNC); }
    +	| tLENGTHIS '(' m_exprs ')'		{ $$ = make_attrp(ATTR_LENGTHIS, $3); }
    +	| tLOCAL				{ $$ = make_attr(ATTR_LOCAL); }
    +	| tNONCREATABLE				{ $$ = make_attr(ATTR_NONCREATABLE); }
    +	| tOBJECT				{ $$ = make_attr(ATTR_OBJECT); }
    +	| tODL					{ $$ = make_attr(ATTR_ODL); }
    +	| tOLEAUTOMATION			{ $$ = make_attr(ATTR_OLEAUTOMATION); }
    +	| tOPTIONAL				{ $$ = make_attr(ATTR_OPTIONAL); }
    +	| tOUT					{ $$ = make_attr(ATTR_OUT); }
    +	| tPOINTERDEFAULT '(' pointer_type ')'	{ $$ = make_attrv(ATTR_POINTERDEFAULT, $3); }
    +	| tPROPGET				{ $$ = make_attr(ATTR_PROPGET); }
    +	| tPROPPUT				{ $$ = make_attr(ATTR_PROPPUT); }
    +	| tPROPPUTREF				{ $$ = make_attr(ATTR_PROPPUTREF); }
    +	| tPUBLIC				{ $$ = make_attr(ATTR_PUBLIC); }
    +	| tREADONLY				{ $$ = make_attr(ATTR_READONLY); }
    +	| tRESTRICTED				{ $$ = make_attr(ATTR_RESTRICTED); }
    +	| tRETVAL				{ $$ = make_attr(ATTR_RETVAL); }
    +	| tSIZEIS '(' m_exprs ')'		{ $$ = make_attrp(ATTR_SIZEIS, $3); }
    +	| tSOURCE				{ $$ = make_attr(ATTR_SOURCE); }
    +	| tSTRING				{ $$ = make_attr(ATTR_STRING); }
    +	| tSWITCHIS '(' expr ')'		{ $$ = make_attrp(ATTR_SWITCHIS, $3); }
    +	| tSWITCHTYPE '(' type ')'		{ $$ = make_attrp(ATTR_SWITCHTYPE, type_ref($3)); }
    +	| tTRANSMITAS '(' type ')'		{ $$ = make_attrp(ATTR_TRANSMITAS, type_ref($3)); }
    +	| tUUID '(' aUUID ')'			{ $$ = make_attrp(ATTR_UUID, $3); }
    +	| tV1ENUM				{ $$ = make_attr(ATTR_V1ENUM); }
    +	| tVARARG				{ $$ = make_attr(ATTR_VARARG); }
    +	| tVERSION '(' version ')'		{ $$ = make_attrv(ATTR_VERSION, $3); }
    +	| tWIREMARSHAL '(' type ')'		{ $$ = make_attrp(ATTR_WIREMARSHAL, type_ref($3)); }
    +	| pointer_type				{ $$ = make_attrv(ATTR_POINTERTYPE, $1); }
    +	;
    +
    +callconv:
    +	| tSTDCALL
    +	;
    +
    +cases:						{ $$ = NULL; }
    +	| cases case				{ if ($2) { LINK($2, $1); $$ = $2; }
    +						  else { $$ = $1; }
    +						}
    +	;
    +
    +case:	  tCASE expr ':' field			{ attr_t *a = make_attrp(ATTR_CASE, $2);
    +						  $$ = $4; if (!$$) $$ = make_var(NULL);
    +						  LINK(a, $$->attrs); $$->attrs = a;
    +						}
    +	| tDEFAULT ':' field			{ attr_t *a = make_attr(ATTR_DEFAULT);
    +						  $$ = $3; if (!$$) $$ = make_var(NULL);
    +						  LINK(a, $$->attrs); $$->attrs = a;
    +						}
    +	;
    +
    +constdef: tCONST type ident '=' expr_const	{ $$ = reg_const($3);
    +						  set_type($$, $2, NULL);
    +						  $$->eval = $5;
    +						  $$->lval = $5->cval;
    +						}
    +	;
    +
    +enums:						{ $$ = NULL; }
    +	| enum_list ','				{ $$ = $1; }
    +	| enum_list
    +	;
    +
    +enum_list: enum
    +	| enum_list ',' enum			{ LINK($3, $1); $$ = $3;
    +						  if ($1 && !$3->eval)
    +						    $3->lval = $1->lval + 1;
    +						}
    +	;
    +
    +enum:	  ident '=' expr_const			{ $$ = reg_const($1);
    +						  $$->eval = $3;
    +						  $$->lval = $3->cval;
    +						  $$->type = make_type(RPC_FC_LONG, &std_int);
    +						}
    +	| ident					{ $$ = reg_const($1);
    +						  $$->lval = 0; /* default for first enum entry */
    +						  $$->type = make_type(RPC_FC_LONG, &std_int);
    +						}
    +	;
    +
    +enumdef: tENUM t_ident '{' enums '}'		{ $$ = get_typev(RPC_FC_ENUM16, $2, tsENUM);
    +						  $$->fields = $4;
    +						  $$->defined = TRUE;
    +						  if(in_typelib)
    +						      add_enum($$);
    +						}
    +	;
    +
    +m_exprs:  m_expr
    +	| m_exprs ',' m_expr			{ LINK($3, $1); $$ = $3; }
    +	;
    +
    +/*
    +exprs:						{ $$ = make_expr(EXPR_VOID); }
    +	| expr_list
    +	;
    +
    +expr_list: expr
    +	| expr_list ',' expr			{ LINK($3, $1); $$ = $3; }
    +	;
    +*/
    +
    +m_expr:						{ $$ = make_expr(EXPR_VOID); }
    +	| expr
    +	;
    +
    +expr:	  aNUM					{ $$ = make_exprl(EXPR_NUM, $1); }
    +	| aHEXNUM				{ $$ = make_exprl(EXPR_HEXNUM, $1); }
    +	| aIDENTIFIER				{ $$ = make_exprs(EXPR_IDENTIFIER, $1); }
    +	| expr '?' expr ':' expr %prec COND	{ $$ = make_expr3(EXPR_COND, $1, $3, $5); }
    +	| expr '|' expr				{ $$ = make_expr2(EXPR_OR , $1, $3); }
    +	| expr '&' expr				{ $$ = make_expr2(EXPR_AND, $1, $3); }
    +	| expr '+' expr				{ $$ = make_expr2(EXPR_ADD, $1, $3); }
    +	| expr '-' expr				{ $$ = make_expr2(EXPR_SUB, $1, $3); }
    +	| expr '*' expr				{ $$ = make_expr2(EXPR_MUL, $1, $3); }
    +	| expr '/' expr				{ $$ = make_expr2(EXPR_DIV, $1, $3); }
    +	| expr SHL expr				{ $$ = make_expr2(EXPR_SHL, $1, $3); }
    +	| expr SHR expr				{ $$ = make_expr2(EXPR_SHR, $1, $3); }
    +	| '~' expr				{ $$ = make_expr1(EXPR_NOT, $2); }
    +	| '-' expr %prec NEG			{ $$ = make_expr1(EXPR_NEG, $2); }
    +	| '*' expr %prec PPTR			{ $$ = make_expr1(EXPR_PPTR, $2); }
    +	| '(' type ')' expr %prec CAST		{ $$ = make_exprt(EXPR_CAST, $2, $4); }
    +	| tSIZEOF '(' type ')'			{ $$ = make_exprt(EXPR_SIZEOF, $3, NULL); }
    +	| '(' expr ')'				{ $$ = $2; }
    +	;
    +
    +expr_list_const: expr_const
    +	| expr_list_const ',' expr_const	{ LINK($3, $1); $$ = $3; }
    +	;
    +
    +expr_const: expr				{ $$ = $1;
    +						  if (!$$->is_const)
    +						      yyerror("expression is not constant\n");
    +						}
    +	;
    +
    +externdef: tEXTERN tCONST type ident		{ $$ = $4;
    +						  set_type($$, $3, NULL);
    +						}
    +	;
    +
    +fields:						{ $$ = NULL; }
    +	| fields field				{ if ($2) { LINK($2, $1); $$ = $2; }
    +						  else { $$ = $1; }
    +						}
    +	;
    +
    +field:	  s_field ';'				{ $$ = $1; }
    +	| m_attributes uniondef ';'		{ $$ = make_var(NULL); $$->type = $2; $$->attrs = $1; }
    +	| attributes ';'			{ $$ = make_var(NULL); $$->attrs = $1; }
    +	| ';'					{ $$ = NULL; }
    +	;
    +
    +s_field:  m_attributes type pident array	{ $$ = $3; set_type($$, $2, $4); $$->attrs = $1; }
    +	;
    +
    +funcdef:
    +	  m_attributes type callconv pident
    +	  '(' m_args ')'			{ set_type($4, $2, NULL);
    +						  $4->attrs = $1;
    +						  $$ = make_func($4, $6);
    +						  if (is_attr($4->attrs, ATTR_IN)) {
    +						    yyerror("Inapplicable attribute");
    +						  }
    +						}
    +	;
    +
    +m_ident:					{ $$ = NULL; }
    +	| ident
    +	;
    +
    +t_ident:					{ $$ = NULL; }
    +	| aIDENTIFIER				{ $$ = make_var($1); }
    +	| aKNOWNTYPE				{ $$ = make_var($1); }
    +	;
    +
    +ident:	  aIDENTIFIER				{ $$ = make_var($1); }
    +/* some "reserved words" used in attributes are also used as field names in some MS IDL files */
    +	| aKNOWNTYPE				{ $$ = make_var($1); }
    +	| tID					{ $$ = make_var($1); }
    +	| tRETVAL				{ $$ = make_var($1); }
    +	| tVERSION				{ $$ = make_var($1); }
    +	;
    +
    +base_type: tBYTE				{ $$ = make_type(RPC_FC_BYTE, NULL); }
    +	| tWCHAR				{ $$ = make_type(RPC_FC_WCHAR, NULL); }
    +	| int_std
    +	| tSIGNED int_std			{ $$ = $2; $$->sign = 1; }
    +	| tUNSIGNED int_std			{ $$ = $2; $$->sign = -1;
    +						  switch ($$->type) {
    +						  case RPC_FC_CHAR: break;
    +						  case RPC_FC_SMALL: $$->type = RPC_FC_USMALL; break;
    +						  case RPC_FC_SHORT: $$->type = RPC_FC_USHORT; break;
    +						  case RPC_FC_LONG:  $$->type = RPC_FC_ULONG;  break;
    +						  case RPC_FC_HYPER:
    +						    if (!$$->ref) { $$->ref = &std_uhyper; $$->sign = 0; }
    +						    break;
    +						  default: break;
    +						  }
    +						}
    +	| tFLOAT				{ $$ = make_type(RPC_FC_FLOAT, NULL); }
    +	| tDOUBLE				{ $$ = make_type(RPC_FC_DOUBLE, NULL); }
    +	| tBOOLEAN				{ $$ = make_type(RPC_FC_SMALL, &std_bool); }
    +	| tERRORSTATUST				{ $$ = make_type(RPC_FC_ERROR_STATUS_T, NULL); }
    +	| tHANDLET				{ $$ = make_type(RPC_FC_IGNORE, NULL); }
    +	;
    +
    +m_int:
    +	| tINT
    +	;
    +
    +int_std:  tINT					{ $$ = make_type(RPC_FC_LONG, &std_int); } /* win32 only */
    +	| tSMALL m_int				{ $$ = make_type(RPC_FC_SMALL, NULL); }
    +	| tSHORT m_int				{ $$ = make_type(RPC_FC_SHORT, NULL); }
    +	| tLONG m_int				{ $$ = make_type(RPC_FC_LONG, NULL); }
    +	| tHYPER m_int				{ $$ = make_type(RPC_FC_HYPER, NULL); }
    +	| tINT64				{ $$ = make_type(RPC_FC_HYPER, &std_int64); }
    +	| tCHAR					{ $$ = make_type(RPC_FC_CHAR, NULL); }
    +	;
    +
    +coclass:  tCOCLASS aIDENTIFIER			{ $$ = make_class($2); }
    +	| tCOCLASS aKNOWNTYPE			{ $$ = make_class($2); }
    +	;
    +
    +coclasshdr: attributes coclass			{ $$ = $2;
    +						  $$->attrs = $1;
    +                                                  if (!parse_only && do_header) write_coclass($$);
    +						}
    +	;
    +
    +coclassdef: coclasshdr '{' coclass_ints '}'	{ $$ = $1;
    +						  $$->ifaces = $3;
    +						}
    +	;
    +
    +coclass_ints:					{ $$ = NULL; }
    +	| coclass_ints coclass_int		{ LINK($2, $1); $$ = $2; }
    +	;
    +
    +coclass_int:
    +	  m_attributes interfacedec		{ $$ = make_ifref($2); $$->attrs = $1; }
    +	;
    +
    +dispinterface: tDISPINTERFACE aIDENTIFIER	{ $$ = get_type(0, $2, 0); }
    +	|      tDISPINTERFACE aKNOWNTYPE	{ $$ = get_type(0, $2, 0); }
    +	;
    +
    +dispinterfacehdr: attributes dispinterface	{ $$ = $2;
    +						  if ($$->defined) yyerror("multiple definition error\n");
    +						  $$->attrs = $1;
    +						  $$->attrs = make_attr(ATTR_DISPINTERFACE);
    +						  LINK($$->attrs, $1);
    +						  $$->ref = find_type("IDispatch", 0);
    +						  if (!$$->ref) yyerror("IDispatch is undefined\n");
    +						  $$->defined = TRUE;
    +						  if (!parse_only && do_header) write_forward($$);
    +						}
    +	;
    +
    +dispint_props: tPROPERTIES ':'			{ $$ = NULL; }
    +	| dispint_props s_field ';'		{ LINK($2, $1); $$ = $2; }
    +	;
    +
    +dispint_meths: tMETHODS ':'			{ $$ = NULL; }
    +	| dispint_meths funcdef ';'		{ LINK($2, $1); $$ = $2; }
    +	;
    +
    +dispinterfacedef: dispinterfacehdr '{'
    +	  dispint_props
    +	  dispint_meths
    +	  '}'					{ $$ = $1;
    +						  $$->fields = $3;
    +						  $$->funcs = $4;
    +						  if (!parse_only && do_header) write_dispinterface($$);
    +						}
    +/* FIXME: not sure how to handle this yet
    +	| dispinterfacehdr '{' interface '}'	{ $$ = $1;
    +						  if (!parse_only && do_header) write_interface($$);
    +						}
    +*/
    +	;
    +
    +inherit:					{ $$ = NULL; }
    +	| ':' aKNOWNTYPE			{ $$ = find_type2($2, 0); }
    +	;
    +
    +interface: tINTERFACE aIDENTIFIER		{ $$ = get_type(RPC_FC_IP, $2, 0); }
    +	|  tINTERFACE aKNOWNTYPE		{ $$ = get_type(RPC_FC_IP, $2, 0); }
    +	;
    +
    +interfacehdr: attributes interface		{ $$ = $2;
    +						  if ($$->defined) yyerror("multiple definition error\n");
    +						  $$->attrs = $1;
    +						  $$->defined = TRUE;
    +						  if (!parse_only && do_header) write_forward($$);
    +						}
    +	;
    +
    +interfacedef: interfacehdr inherit
    +	  '{' int_statements '}'		{ $$ = $1;
    +						  $$->ref = $2;
    +						  $$->funcs = $4;
    +						  if (!parse_only && do_header) write_interface($$);
    +						}
    +/* MIDL is able to import the definition of a base class from inside the
    + * definition of a derived class, I'll try to support it with this rule */
    +	| interfacehdr ':' aIDENTIFIER
    +	  '{' import int_statements '}'		{ $$ = $1;
    +						  $$->ref = find_type2($3, 0);
    +						  if (!$$->ref) yyerror("base class %s not found in import\n", $3);
    +						  $$->funcs = $6;
    +						  if (!parse_only && do_header) write_interface($$);
    +						}
    +	| dispinterfacedef			{ $$ = $1; }
    +	;
    +
    +interfacedec:
    +	  interface ';'				{ $$ = $1; if (!parse_only && do_header) write_forward($$); }
    +	| dispinterface ';'			{ $$ = $1; if (!parse_only && do_header) write_forward($$); }
    +	;
    +
    +module:   tMODULE aIDENTIFIER			{ $$ = make_type(0, NULL); $$->name = $2; }
    +	| tMODULE aKNOWNTYPE			{ $$ = make_type(0, NULL); $$->name = $2; }
    +	;
    +
    +modulehdr: attributes module			{ $$ = $2;
    +						  $$->attrs = $1;
    +						}
    +	;
    +
    +moduledef: modulehdr '{' int_statements '}'	{ $$ = $1;
    +						  $$->funcs = $3;
    +						  /* FIXME: if (!parse_only && do_header) write_module($$); */
    +						}
    +	;
    +
    +p_ident:  '*' pident %prec PPTR			{ $$ = $2; $$->ptr_level++; }
    +	| tCONST p_ident			{ $$ = $2; /* FIXME */ }
    +	;
    +
    +pident:	  ident
    +	| p_ident
    +	| '(' pident ')'			{ $$ = $2; }
    +	;
    +
    +pident_list:
    +	  pident
    +	| pident_list ',' pident		{ LINK($3, $1); $$ = $3; }
    +	;
    +
    +pointer_type:
    +	  tREF					{ $$ = RPC_FC_RP; }
    +	| tUNIQUE				{ $$ = RPC_FC_UP; }
    +	;
    +
    +structdef: tSTRUCT t_ident '{' fields '}'	{ $$ = get_typev(RPC_FC_STRUCT, $2, tsSTRUCT);
    +						  /* overwrite RPC_FC_STRUCT with a more exact type */
    +						  $$->type = get_struct_type( $4 );
    +						  $$->fields = $4;
    +						  $$->defined = TRUE;
    +						  if(in_typelib)
    +						    add_struct($$);
    +						}
    +	;
    +
    +type:	  tVOID					{ $$ = make_tref(NULL, make_type(0, NULL)); }
    +	| aKNOWNTYPE				{ $$ = make_tref($1, find_type($1, 0)); }
    +	| base_type				{ $$ = make_tref(NULL, $1); }
    +	| tCONST type				{ $$ = uniq_tref($2); $$->ref->is_const = TRUE; }
    +	| enumdef				{ $$ = make_tref(NULL, $1); }
    +	| tENUM aIDENTIFIER			{ $$ = make_tref(NULL, find_type2($2, tsENUM)); }
    +	| structdef				{ $$ = make_tref(NULL, $1); }
    +	| tSTRUCT aIDENTIFIER			{ $$ = make_tref(NULL, get_type(RPC_FC_STRUCT, $2, tsSTRUCT)); }
    +	| uniondef				{ $$ = make_tref(NULL, $1); }
    +	| tUNION aIDENTIFIER			{ $$ = make_tref(NULL, find_type2($2, tsUNION)); }
    +	;
    +
    +typedef: tTYPEDEF m_attributes type pident_list	{ typeref_t *tref = uniq_tref($3); 
    +						  $4->tname = tref->name;
    +						  tref->name = NULL;
    +						  $$ = type_ref(tref);
    +						  $$->attrs = $2;
    +						  if (!parse_only && do_header) write_typedef($$, $4);
    +                                                  if (in_typelib && $$->attrs)
    +                                                      add_typedef($$, $4);
    +						  reg_types($$, $4, 0);
    +						}
    +	;
    +
    +uniondef: tUNION t_ident '{' fields '}'		{ $$ = get_typev(RPC_FC_NON_ENCAPSULATED_UNION, $2, tsUNION);
    +						  $$->fields = $4;
    +						  $$->defined = TRUE;
    +						}
    +	| tUNION t_ident
    +	  tSWITCH '(' s_field ')'
    +	  m_ident '{' cases '}'			{ var_t *u = $7;
    +						  $$ = get_typev(RPC_FC_ENCAPSULATED_UNION, $2, tsUNION);
    +						  if (!u) u = make_var("tagged_union");
    +						  u->type = make_type(RPC_FC_NON_ENCAPSULATED_UNION, NULL);
    +						  u->type->fields = $9;
    +						  u->type->defined = TRUE;
    +						  LINK(u, $5); $$->fields = u;
    +						  $$->defined = TRUE;
    +						}
    +	;
    +
    +version:
    +	  aNUM					{ $$ = MAKELONG($1, 0); }
    +	| aNUM '.' aNUM				{ $$ = MAKELONG($1, $3); }
    +	;
    +
    +%%
    +
    +static attr_t *make_attr(enum attr_type type)
    +{
    +  attr_t *a = xmalloc(sizeof(attr_t));
    +  a->type = type;
    +  a->u.ival = 0;
    +  INIT_LINK(a);
    +  return a;
    +}
    +
    +static attr_t *make_attrv(enum attr_type type, unsigned long val)
    +{
    +  attr_t *a = xmalloc(sizeof(attr_t));
    +  a->type = type;
    +  a->u.ival = val;
    +  INIT_LINK(a);
    +  return a;
    +}
    +
    +static attr_t *make_attrp(enum attr_type type, void *val)
    +{
    +  attr_t *a = xmalloc(sizeof(attr_t));
    +  a->type = type;
    +  a->u.pval = val;
    +  INIT_LINK(a);
    +  return a;
    +}
    +
    +static expr_t *make_expr(enum expr_type type)
    +{
    +  expr_t *e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = NULL;
    +  e->u.lval = 0;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  return e;
    +}
    +
    +static expr_t *make_exprl(enum expr_type type, long val)
    +{
    +  expr_t *e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = NULL;
    +  e->u.lval = val;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for numeric constant */
    +  if (type == EXPR_NUM || type == EXPR_HEXNUM) {
    +    e->is_const = TRUE;
    +    e->cval = val;
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_exprs(enum expr_type type, char *val)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = NULL;
    +  e->u.sval = val;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for predefined constants */
    +  if (type == EXPR_IDENTIFIER) {
    +    var_t *c = find_const(val, 0);
    +    if (c) {
    +      e->u.sval = c->name;
    +      free(val);
    +      e->is_const = TRUE;
    +      e->cval = c->lval;
    +    }
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_exprt(enum expr_type type, typeref_t *tref, expr_t *expr)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr;
    +  e->u.tref = tref;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for cast of constant expression */
    +  if (type == EXPR_CAST && expr->is_const) {
    +    e->is_const = TRUE;
    +    e->cval = expr->cval;
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_expr1(enum expr_type type, expr_t *expr)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr;
    +  e->u.lval = 0;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for compile-time optimization */
    +  if (expr->is_const) {
    +    e->is_const = TRUE;
    +    switch (type) {
    +    case EXPR_NEG:
    +      e->cval = -expr->cval;
    +      break;
    +    case EXPR_NOT:
    +      e->cval = ~expr->cval;
    +      break;
    +    default:
    +      e->is_const = FALSE;
    +      break;
    +    }
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_expr2(enum expr_type type, expr_t *expr1, expr_t *expr2)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr1;
    +  e->u.ext = expr2;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for compile-time optimization */
    +  if (expr1->is_const && expr2->is_const) {
    +    e->is_const = TRUE;
    +    switch (type) {
    +    case EXPR_ADD:
    +      e->cval = expr1->cval + expr2->cval;
    +      break;
    +    case EXPR_SUB:
    +      e->cval = expr1->cval - expr2->cval;
    +      break;
    +    case EXPR_MUL:
    +      e->cval = expr1->cval * expr2->cval;
    +      break;
    +    case EXPR_DIV:
    +      e->cval = expr1->cval / expr2->cval;
    +      break;
    +    case EXPR_OR:
    +      e->cval = expr1->cval | expr2->cval;
    +      break;
    +    case EXPR_AND:
    +      e->cval = expr1->cval & expr2->cval;
    +      break;
    +    case EXPR_SHL:
    +      e->cval = expr1->cval << expr2->cval;
    +      break;
    +    case EXPR_SHR:
    +      e->cval = expr1->cval >> expr2->cval;
    +      break;
    +    default:
    +      e->is_const = FALSE;
    +      break;
    +    }
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_expr3(enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr1;
    +  e->u.ext = expr2;
    +  e->ext2 = expr3;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for compile-time optimization */
    +  if (expr1->is_const && expr2->is_const && expr3->is_const) {
    +    e->is_const = TRUE;
    +    switch (type) {
    +    case EXPR_COND:
    +      e->cval = expr1->cval ? expr2->cval : expr3->cval;
    +      break;
    +    default:
    +      e->is_const = FALSE;
    +      break;
    +    }
    +  }
    +  return e;
    +}
    +
    +static type_t *make_type(unsigned char type, type_t *ref)
    +{
    +  type_t *t = xmalloc(sizeof(type_t));
    +  t->name = NULL;
    +  t->type = type;
    +  t->ref = ref;
    +  t->rname = NULL;
    +  t->attrs = NULL;
    +  t->funcs = NULL;
    +  t->fields = NULL;
    +  t->ignore = parse_only;
    +  t->is_const = FALSE;
    +  t->sign = 0;
    +  t->defined = FALSE;
    +  t->written = FALSE;
    +  t->typelib_idx = -1;
    +  INIT_LINK(t);
    +  return t;
    +}
    +
    +static typeref_t *make_tref(char *name, type_t *ref)
    +{
    +  typeref_t *t = xmalloc(sizeof(typeref_t));
    +  t->name = name;
    +  t->ref = ref;
    +  t->uniq = ref ? 0 : 1;
    +  return t;
    +}
    +
    +static typeref_t *uniq_tref(typeref_t *ref)
    +{
    +  typeref_t *t = ref;
    +  type_t *tp;
    +  if (t->uniq) return t;
    +  tp = make_type(0, t->ref);
    +  tp->name = t->name;
    +  t->name = NULL;
    +  t->ref = tp;
    +  t->uniq = 1;
    +  return t;
    +}
    +
    +static type_t *type_ref(typeref_t *ref)
    +{
    +  type_t *t = ref->ref;
    +  if (ref->name) free(ref->name);
    +  free(ref);
    +  return t;
    +}
    +
    +static void set_type(var_t *v, typeref_t *ref, expr_t *arr)
    +{
    +  v->type = ref->ref;
    +  v->tname = ref->name;
    +  ref->name = NULL;
    +  free(ref);
    +  v->array = arr;
    +}
    +
    +static ifref_t *make_ifref(type_t *iface)
    +{
    +  ifref_t *l = xmalloc(sizeof(ifref_t));
    +  l->iface = iface;
    +  l->attrs = NULL;
    +  INIT_LINK(l);
    +  return l;
    +}
    +
    +static var_t *make_var(char *name)
    +{
    +  var_t *v = xmalloc(sizeof(var_t));
    +  v->name = name;
    +  v->ptr_level = 0;
    +  v->type = NULL;
    +  v->tname = NULL;
    +  v->attrs = NULL;
    +  v->array = NULL;
    +  v->eval = NULL;
    +  v->lval = 0;
    +  INIT_LINK(v);
    +  return v;
    +}
    +
    +static func_t *make_func(var_t *def, var_t *args)
    +{
    +  func_t *f = xmalloc(sizeof(func_t));
    +  f->def = def;
    +  f->args = args;
    +  f->ignore = parse_only;
    +  f->idx = -1;
    +  INIT_LINK(f);
    +  return f;
    +}
    +
    +static class_t *make_class(char *name)
    +{
    +  class_t *c = xmalloc(sizeof(class_t));
    +  c->name = name;
    +  c->attrs = NULL;
    +  c->ifaces = NULL;
    +  INIT_LINK(c);
    +  return c;
    +}
    +
    +#define HASHMAX 64
    +
    +static int hash_ident(const char *name)
    +{
    +  const char *p = name;
    +  int sum = 0;
    +  /* a simple sum hash is probably good enough */
    +  while (*p) {
    +    sum += *p;
    +    p++;
    +  }
    +  return sum & (HASHMAX-1);
    +}
    +
    +/***** type repository *****/
    +
    +struct rtype {
    +  char *name;
    +  type_t *type;
    +  int t;
    +  struct rtype *next;
    +};
    +
    +struct rtype *type_hash[HASHMAX];
    +
    +static type_t *reg_type(type_t *type, char *name, int t)
    +{
    +  struct rtype *nt;
    +  int hash;
    +  if (!name) {
    +    yyerror("registering named type without name\n");
    +    return type;
    +  }
    +  hash = hash_ident(name);
    +  nt = xmalloc(sizeof(struct rtype));
    +  nt->name = name;
    +  nt->type = type;
    +  nt->t = t;
    +  nt->next = type_hash[hash];
    +  type_hash[hash] = nt;
    +  return type;
    +}
    +
    +/* determine pointer type from attrs */
    +static unsigned char get_pointer_type( type_t *type )
    +{
    +  int t;
    +  if (is_attr( type->attrs, ATTR_STRING ))
    +  {
    +    type_t *t = type;
    +    while( t->type == 0 && t->ref )
    +      t = t->ref;
    +    switch( t->type )
    +    {
    +    case RPC_FC_CHAR:
    +      return RPC_FC_C_CSTRING;
    +    case RPC_FC_WCHAR:
    +      return RPC_FC_C_WSTRING;
    +    }
    +  }
    +  t = get_attrv( type->attrs, ATTR_POINTERTYPE );
    +  if (t) return t;
    +  return RPC_FC_FP;
    +}
    +
    +static type_t *reg_types(type_t *type, var_t *names, int t)
    +{
    +  type_t *ptr = type;
    +  int ptrc = 0;
    +
    +  while (names) {
    +    var_t *next = NEXT_LINK(names);
    +    if (names->name) {
    +      type_t *cur = ptr;
    +      int cptr = names->ptr_level;
    +      if (cptr > ptrc) {
    +        while (cptr > ptrc) {
    +          int t = get_pointer_type( cur );
    +          cur = ptr = make_type(t, cur);
    +          ptrc++;
    +        }
    +      } else {
    +        while (cptr < ptrc) {
    +          cur = cur->ref;
    +          cptr++;
    +        }
    +      }
    +      reg_type(cur, names->name, t);
    +    }
    +    free(names);
    +    names = next;
    +  }
    +  return type;
    +}
    +
    +static type_t *find_type(char *name, int t)
    +{
    +  struct rtype *cur = type_hash[hash_ident(name)];
    +  while (cur && (cur->t != t || strcmp(cur->name, name)))
    +    cur = cur->next;
    +  if (!cur) {
    +    yyerror("type %s not found\n", name);
    +    return NULL;
    +  }
    +  return cur->type;
    +}
    +
    +static type_t *find_type2(char *name, int t)
    +{
    +  type_t *tp = find_type(name, t);
    +  free(name);
    +  return tp;
    +}
    +
    +int is_type(const char *name)
    +{
    +  struct rtype *cur = type_hash[hash_ident(name)];
    +  while (cur && (cur->t || strcmp(cur->name, name)))
    +    cur = cur->next;
    +  if (cur) return TRUE;
    +  return FALSE;
    +}
    +
    +static type_t *get_type(unsigned char type, char *name, int t)
    +{
    +  struct rtype *cur = NULL;
    +  type_t *tp;
    +  if (name) {
    +    cur = type_hash[hash_ident(name)];
    +    while (cur && (cur->t != t || strcmp(cur->name, name)))
    +      cur = cur->next;
    +  }
    +  if (cur) {
    +    free(name);
    +    return cur->type;
    +  }
    +  tp = make_type(type, NULL);
    +  tp->name = name;
    +  if (!name) return tp;
    +  return reg_type(tp, name, t);
    +}
    +
    +static type_t *get_typev(unsigned char type, var_t *name, int t)
    +{
    +  char *sname = NULL;
    +  if (name) {
    +    sname = name->name;
    +    free(name);
    +  }
    +  return get_type(type, sname, t);
    +}
    +
    +static int get_struct_type(var_t *field)
    +{
    +  int has_pointer = 0;
    +  int has_conformant_array = 0;
    +  int has_conformant_string = 0;
    +
    +  while (field)
    +  {
    +    type_t *t = field->type;
    +
    +    /* get the base type */
    +    while( (t->type == 0) && t->ref )
    +      t = t->ref;
    +
    +    switch (t->type)
    +    {
    +    /*
    +     * RPC_FC_BYTE, RPC_FC_STRUCT, etc
    +     *  Simple types don't effect the type of struct.
    +     *  A struct containing a simple struct is still a simple struct.
    +     *  So long as we can block copy the data, we return RPC_FC_STRUCT.
    +     */
    +    case 0: /* void pointer */
    +    case RPC_FC_BYTE:
    +    case RPC_FC_CHAR:
    +    case RPC_FC_SMALL:
    +    case RPC_FC_USMALL:
    +    case RPC_FC_WCHAR:
    +    case RPC_FC_SHORT:
    +    case RPC_FC_USHORT:
    +    case RPC_FC_LONG:
    +    case RPC_FC_ULONG:
    +    case RPC_FC_INT3264:
    +    case RPC_FC_UINT3264:
    +    case RPC_FC_HYPER:
    +    case RPC_FC_FLOAT:
    +    case RPC_FC_DOUBLE:
    +    case RPC_FC_STRUCT:
    +    case RPC_FC_ENUM16:
    +    case RPC_FC_ENUM32:
    +      break;
    +
    +    case RPC_FC_UP:
    +    case RPC_FC_FP:
    +      has_pointer = 1;
    +      break;
    +    case RPC_FC_CARRAY:
    +      has_conformant_array = 1;
    +      break;
    +    case RPC_FC_C_CSTRING:
    +    case RPC_FC_C_WSTRING:
    +      has_conformant_string = 1;
    +      break;
    +
    +    /*
    +     * Propagate member attributes
    +     *  a struct should be at least as complex as its member
    +     */
    +    case RPC_FC_CVSTRUCT:
    +      has_conformant_string = 1;
    +      has_pointer = 1;
    +      break;
    +
    +    case RPC_FC_CPSTRUCT:
    +      has_conformant_array = 1;
    +      has_pointer = 1;
    +      break;
    +
    +    case RPC_FC_CSTRUCT:
    +      has_conformant_array = 1;
    +      break;
    +
    +    case RPC_FC_PSTRUCT:
    +      has_pointer = 1;
    +      break;
    +
    +    default:
    +      fprintf(stderr,"Unknown struct member %s with type (0x%02x)\n",
    +              field->name, t->type);
    +      /* fallthru - treat it as complex */
    +
    +    /* as soon as we see one of these these members, it's bogus... */
    +    case RPC_FC_IP:
    +    case RPC_FC_ENCAPSULATED_UNION:
    +    case RPC_FC_NON_ENCAPSULATED_UNION:
    +    case RPC_FC_TRANSMIT_AS:
    +    case RPC_FC_REPRESENT_AS:
    +    case RPC_FC_PAD:
    +    case RPC_FC_EMBEDDED_COMPLEX:
    +    case RPC_FC_BOGUS_STRUCT:
    +      return RPC_FC_BOGUS_STRUCT;
    +    }
    +    field = NEXT_LINK(field);
    +  }
    +
    +  if( has_conformant_string && has_pointer )
    +    return RPC_FC_CVSTRUCT;
    +  if( has_conformant_array && has_pointer )
    +    return RPC_FC_CPSTRUCT;
    +  if( has_conformant_array )
    +    return RPC_FC_CSTRUCT;
    +  if( has_pointer )
    +    return RPC_FC_PSTRUCT;
    +  return RPC_FC_STRUCT;
    +}
    +
    +/***** constant repository *****/
    +
    +struct rconst {
    +  char *name;
    +  var_t *var;
    +  struct rconst *next;
    +};
    +
    +struct rconst *const_hash[HASHMAX];
    +
    +static var_t *reg_const(var_t *var)
    +{
    +  struct rconst *nc;
    +  int hash;
    +  if (!var->name) {
    +    yyerror("registering constant without name\n");
    +    return var;
    +  }
    +  hash = hash_ident(var->name);
    +  nc = xmalloc(sizeof(struct rconst));
    +  nc->name = var->name;
    +  nc->var = var;
    +  nc->next = const_hash[hash];
    +  const_hash[hash] = nc;
    +  return var;
    +}
    +
    +static var_t *find_const(char *name, int f)
    +{
    +  struct rconst *cur = const_hash[hash_ident(name)];
    +  while (cur && strcmp(cur->name, name))
    +    cur = cur->next;
    +  if (!cur) {
    +    if (f) yyerror("constant %s not found\n", name);
    +    return NULL;
    +  }
    +  return cur->var;
    +}
    diff --git a/reactos/tools/widl/port/mkstemps.c b/reactos/tools/widl/port/mkstemps.c
    new file mode 100644
    index 00000000000..063afccac13
    --- /dev/null
    +++ b/reactos/tools/widl/port/mkstemps.c
    @@ -0,0 +1,138 @@
    +/* Copyright (C) 1991, 1992, 1996, 1998 Free Software Foundation, Inc.
    +   This file is derived from mkstemp.c from 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.  */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +#include 
    +#endif
    +#ifdef HAVE_SYS_TIME_H
    +#include 
    +#endif
    +#ifdef HAVE_PROCESS_H
    +#include 
    +#endif
    +
    +/* We need to provide a type for gcc_uint64_t.  */
    +#ifdef __GNUC__
    +__extension__ typedef unsigned long long gcc_uint64_t;
    +#else
    +typedef unsigned long gcc_uint64_t;
    +#endif
    +
    +#ifndef TMP_MAX
    +#define TMP_MAX 16384
    +#endif
    +
    +/*
    +
    +@deftypefn Replacement int mkstemps (char *@var{template}, int @var{suffix_len})
    +
    +Generate a unique temporary file name from @var{template}.
    +@var{template} has the form:
    +
    +@example
    +   @var{path}/ccXXXXXX@var{suffix}
    +@end example
    +
    +@var{suffix_len} tells us how long @var{suffix} is (it can be zero
    +length).  The last six characters of @var{template} before @var{suffix}
    +must be @samp{XXXXXX}; they are replaced with a string that makes the
    +filename unique.  Returns a file descriptor open on the file for
    +reading and writing.
    +
    +@end deftypefn
    +
    +*/
    +
    +int
    +mkstemps (
    +     char *template,
    +     int suffix_len)
    +{
    +  static const char letters[]
    +    = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    +  static gcc_uint64_t value;
    +#ifdef HAVE_GETTIMEOFDAY
    +  struct timeval tv;
    +#endif
    +  char *XXXXXX;
    +  size_t len;
    +  int count;
    +
    +  len = strlen (template);
    +
    +  if ((int) len < 6 + suffix_len
    +      || strncmp (&template[len - 6 - suffix_len], "XXXXXX", 6))
    +    {
    +      return -1;
    +    }
    +
    +  XXXXXX = &template[len - 6 - suffix_len];
    +
    +#ifdef HAVE_GETTIMEOFDAY
    +  /* Get some more or less random data.  */
    +  gettimeofday (&tv, NULL);
    +  value += ((gcc_uint64_t) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid ();
    +#else
    +  value += getpid ();
    +#endif
    +
    +  for (count = 0; count < TMP_MAX; ++count)
    +    {
    +      gcc_uint64_t v = value;
    +      int fd;
    +
    +      /* Fill in the random bits.  */
    +      XXXXXX[0] = letters[v % 62];
    +      v /= 62;
    +      XXXXXX[1] = letters[v % 62];
    +      v /= 62;
    +      XXXXXX[2] = letters[v % 62];
    +      v /= 62;
    +      XXXXXX[3] = letters[v % 62];
    +      v /= 62;
    +      XXXXXX[4] = letters[v % 62];
    +      v /= 62;
    +      XXXXXX[5] = letters[v % 62];
    +
    +#ifdef VMS
    +      fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600, "fop=tmd");
    +#else
    +      fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600);
    +#endif
    +      if (fd >= 0)
    +	/* The file does not exist.  */
    +	return fd;
    +
    +      /* This is a random value.  It is only necessary that the next
    +	 TMP_MAX values generated by adding 7777 to VALUE are different
    +	 with (module 2^32).  */
    +      value += 7777;
    +    }
    +
    +  /* We return the null string if we can't find a unique file name.  */
    +  template[0] = '\0';
    +  return -1;
    +}
    diff --git a/reactos/tools/widl/proxy.c b/reactos/tools/widl/proxy.c
    new file mode 100644
    index 00000000000..a1c8c2431b4
    --- /dev/null
    +++ b/reactos/tools/widl/proxy.c
    @@ -0,0 +1,1057 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + * Copyright 2004 Mike McCormack
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +# include 
    +#endif
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "header.h"
    +
    +#define END_OF_LIST(list)       \
    +  do {                          \
    +    if (list) {                 \
    +      while (NEXT_LINK(list))   \
    +        list = NEXT_LINK(list); \
    +    }                           \
    +  } while(0)
    +
    +static FILE* proxy;
    +static int indent = 0;
    +
    +/* FIXME: support generation of stubless proxies */
    +
    +static int print_proxy( const char *format, ... )
    +{
    +  va_list va;
    +  int i, r;
    +
    +  va_start( va, format );
    +  for( i=0; itype;
    +  while( (t->type == 0) && t->ref )
    +    t = t->ref;
    +  return t;
    +}
    +
    +static void write_stubdescproto(void)
    +{
    +  print_proxy( "extern const MIDL_STUB_DESC Object_StubDesc;\n");
    +  print_proxy( "\n");
    +}
    +
    +static void write_stubdesc(void)
    +{
    +  print_proxy( "const MIDL_STUB_DESC Object_StubDesc = {\n");
    +  print_proxy( "    0,\n");
    +  print_proxy( "    NdrOleAllocate,\n");
    +  print_proxy( "    NdrOleFree,\n");
    +  print_proxy( "    {0}, 0, 0, 0, 0,\n");
    +  print_proxy( "    0 /* __MIDL_TypeFormatString.Format */\n");
    +  print_proxy( "};\n");
    +  print_proxy( "\n");
    +}
    +
    +static void write_formatdesc( const char *str )
    +{
    +  print_proxy( "typedef struct _MIDL_%s_FORMAT_STRING\n", str );
    +  indent++;
    +  print_proxy( "{\n");
    +  print_proxy( "short Pad;\n");
    +  print_proxy( "unsigned char Format[%s_FORMAT_STRING_SIZE];\n", str);
    +  indent--;
    +  print_proxy( "} MIDL_%s_FORMAT_STRING;\n", str);
    +  print_proxy( "\n");
    +}
    +
    +static void write_formatstringsdecl(void)
    +{
    +  print_proxy( "#define TYPE_FORMAT_STRING_SIZE %d\n",1); /* FIXME */
    +  print_proxy( "#define PROC_FORMAT_STRING_SIZE %d\n",1); /* FIXME */
    +  fprintf(proxy, "\n");
    +  write_formatdesc( "TYPE" );
    +  write_formatdesc( "PROC" );
    +  fprintf(proxy, "\n");
    +  print_proxy( "extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;\n");
    +  print_proxy( "extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;\n");
    +  print_proxy( "\n");
    +}
    +
    +static void write_formatstring( int proc )
    +{
    +  const char *t, *n;
    +  if( !proc )
    +  {
    +    t = "TYPE";
    +    n = "Type";
    +  }
    +  else
    +  {
    +    t = "PROC";
    +    n = "Proc";
    +  }
    +  print_proxy( "static const MIDL_%s_FORMAT_STRING __MIDL_%sFormatString =\n", t, n);
    +  print_proxy( "{\n");
    +  indent++;
    +  print_proxy( "0,\n");
    +  print_proxy( "{\n");
    +  indent++;
    +  print_proxy( "0\n");
    +  indent--;
    +  print_proxy( "}\n");
    +  indent--;
    +  print_proxy( "};\n");
    +  print_proxy( "\n");
    +}
    +
    +static void init_proxy()
    +{
    +  if (proxy) return;
    +  if(!(proxy = fopen(proxy_name, "w")))
    +    error("Could not open %s for output\n", proxy_name);
    +  print_proxy( "/*** Autogenerated by WIDL %s - Do not edit ***/\n", WIDL_FULLVERSION);
    +  print_proxy( "\n");
    +  print_proxy( "#ifndef __REDQ_RPCPROXY_H_VERSION__\n");
    +  print_proxy( "#define __REQUIRED_RPCPROXY_H_VERSION__ 440\n");
    +  print_proxy( "#endif /* __REDQ_RPCPROXY_H_VERSION__ */\n");
    +  print_proxy( "\n");
    +  print_proxy( "#include \"rpcproxy.h\"\n");
    +  print_proxy( "#ifndef __RPCPROXY_H_VERSION__\n");
    +  print_proxy( "#error This code needs a newer version of rpcproxy.h\n");
    +  print_proxy( "#endif /* __RPCPROXY_H_VERSION__ */\n");
    +  print_proxy( "\n");
    +  print_proxy( "#include \"%s\"\n", header_name);
    +  print_proxy( "\n");
    +  write_formatstringsdecl();
    +  write_stubdescproto();
    +}
    +
    +static void clear_output_vars( var_t *arg )
    +{
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_OUT) && !is_attr(arg->attrs, ATTR_IN)) {
    +      print_proxy( "if(%s)\n", arg->name );
    +      indent++;
    +      print_proxy( "MIDL_memset( %s, 0, sizeof( ", arg->name );
    +      indent--;
    +      write_type(proxy, arg->type, arg, arg->tname);
    +      fprintf( proxy, " ));\n" );
    +    }
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static int is_pointer(var_t *arg)
    +{
    +  if (arg->ptr_level)
    +    return 1;
    +  if (arg->type->type == RPC_FC_FP )
    +    return 1;
    +  return 0;
    +}
    +
    +static void proxy_check_pointers( var_t *arg )
    +{
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_pointer(arg)) {
    +        print_proxy( "if(!%s)\n", arg->name );
    +        indent++;
    +        print_proxy( "RpcRaiseException(RPC_X_NULL_REF_POINTER);\n");
    +        indent--;
    +    }
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void marshall_size_arg( var_t *arg )
    +{
    +  int index = 0;
    +  type_t *type = get_base_type(arg);
    +  expr_t *expr;
    +
    +  expr = get_attrp( arg->attrs, ATTR_SIZEIS );
    +  if (expr)
    +  {
    +    print_proxy( "_StubMsg.MaxCount = ", arg->name );
    +    write_expr(proxy, expr);
    +    fprintf(proxy, ";\n\n");
    +    print_proxy( "NdrConformantArrayBufferSize( &_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    return;
    +  }
    +
    +  switch( type->type )
    +  {
    +  case RPC_FC_BYTE:
    +  case RPC_FC_CHAR:
    +    print_proxy( "_StubMsg.BufferLength += %d; /* %s */\n", 1, arg->name );
    +    break;
    +
    +  case RPC_FC_WCHAR:
    +  case RPC_FC_SHORT:
    +  case RPC_FC_USHORT:
    +  case RPC_FC_ENUM16:
    +    print_proxy( "_StubMsg.BufferLength += %d; /* %s */\n", 2, arg->name );
    +    break;
    +
    +  case RPC_FC_LONG:
    +  case RPC_FC_ULONG:
    +  case RPC_FC_ENUM32:
    +    print_proxy( "_StubMsg.BufferLength += %d; /* %s */\n", 4, arg->name );
    +    break;
    +      
    +  case RPC_FC_STRUCT:
    +    print_proxy( "NdrSimpleStructBufferSize(&_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d] );\n", index );
    +    break;
    +
    +  case RPC_FC_C_CSTRING:
    +  case RPC_FC_C_WSTRING:
    +  case RPC_FC_CARRAY:
    +    print_proxy( "NdrConformantArrayBufferSize( &_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    break;
    +
    +  case RPC_FC_BOGUS_STRUCT:
    +    print_proxy( "NdrComplexStructBufferSize(&_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d] );\n", index );
    +    break;
    +
    +  case RPC_FC_FP:
    +    {
    +      var_t temp;
    +      memset( &temp, 0, sizeof temp );
    +      temp.type = type->ref;
    +      temp.name = arg->name; /* FIXME */
    +#if 0
    +      print_proxy( "/* FIXME: %s use the right name for %s */\n", __FUNCTION__, arg->name );
    +#endif
    +      marshall_size_arg( &temp );
    +    }
    +    break;
    +
    +  case RPC_FC_IP:
    +    print_proxy( "NdrPointerBufferSize( &_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    break;
    +
    +  default:
    +    print_proxy("/* FIXME: %s code for %s type %d missing */\n", __FUNCTION__, arg->name, type->type );
    +  }
    +}
    +
    +static void proxy_gen_marshall_size( var_t *arg )
    +{
    +  print_proxy( "_StubMsg.BufferLength = 0U;\n" );
    +
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_IN)) 
    +    {
    +      marshall_size_arg( arg );
    +      fprintf(proxy, "\n");
    +    }
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void marshall_copy_arg( var_t *arg )
    +{
    +  int index = 0;
    +  type_t *type = get_base_type(arg);
    +  expr_t *expr;
    +
    +  expr = get_attrp( arg->attrs, ATTR_SIZEIS );
    +  if (expr)
    +  {
    +    print_proxy( "_StubMsg.MaxCount = ", arg->name );
    +    write_expr(proxy, expr);
    +    fprintf(proxy, ";\n\n");
    +    print_proxy( "NdrConformantArrayMarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    return;
    +  }
    +
    +  switch( type->type )
    +  {
    +  case RPC_FC_BYTE:
    +  case RPC_FC_CHAR:
    +  case RPC_FC_WCHAR:
    +  case RPC_FC_SHORT:
    +  case RPC_FC_USHORT:
    +  case RPC_FC_ENUM16:
    +  case RPC_FC_LONG:
    +  case RPC_FC_ULONG:
    +  case RPC_FC_ENUM32:
    +    print_proxy( "*((");
    +    write_type(proxy, arg->type, arg, arg->tname);
    +    fprintf(proxy,"*)_StubMsg.Buffer)++ = %s;\n", arg->name );
    +    break;
    +      
    +  case RPC_FC_STRUCT:
    +    /* FIXME: add the format string, and set the index below */
    +    print_proxy( "NdrSimpleStructMarshall(&_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    break;
    +
    +  case RPC_FC_C_CSTRING:
    +  case RPC_FC_C_WSTRING:
    +  case RPC_FC_CARRAY:
    +    break;
    +
    +  case RPC_FC_BOGUS_STRUCT:
    +    print_proxy( "NdrComplexStructMarshall(&_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d] );\n", index );
    +    break;
    +
    +  case RPC_FC_FP:
    +    {
    +      var_t temp;
    +      memset( &temp, 0, sizeof temp );
    +      temp.type = type->ref;
    +      temp.name = arg->name; /* FIXME */
    +#if 0
    +      print_proxy( "/* FIXME: %s use the right name for %s */\n", __FUNCTION__, arg->name );
    +#endif
    +      marshall_copy_arg( &temp );
    +    }
    +    break;
    +
    +  case RPC_FC_IP:
    +    print_proxy( "NdrPointerMarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    break;
    +
    +  default:
    +    print_proxy("/* FIXME: %s code for %s type %d missing */\n", __FUNCTION__, arg->name, type->type );
    +  }
    +}
    +
    +static void gen_marshall_copydata( var_t *arg )
    +{
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_IN)) 
    +    {
    +      marshall_copy_arg( arg );
    +      fprintf(proxy, "\n");
    +    }
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void gen_marshall( var_t *arg )
    +{
    +  /* generated code to determine the size of the buffer required */
    +  proxy_gen_marshall_size( arg );
    +
    +  /* generated code to allocate the buffer */
    +  print_proxy( "NdrProxyGetBuffer(This, &_StubMsg);\n" );
    +
    +  /* generated code to copy the args into the buffer */
    +  gen_marshall_copydata( arg );
    +
    +  print_proxy( "\n");
    +}
    +
    +static void unmarshall_copy_arg( var_t *arg )
    +{
    +  int index = 0;
    +  type_t *type = get_base_type(arg);
    +  expr_t *expr;
    +
    +  expr = get_attrp( arg->attrs, ATTR_SIZEIS );
    +  if (expr)
    +  {
    +    print_proxy( "NdrConformantArrayUnmarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    return;
    +  }
    +
    +  switch( type->type )
    +  {
    +  case RPC_FC_BYTE:
    +  case RPC_FC_CHAR:
    +  case RPC_FC_WCHAR:
    +  case RPC_FC_SHORT:
    +  case RPC_FC_USHORT:
    +  case RPC_FC_ENUM16:
    +  case RPC_FC_LONG:
    +  case RPC_FC_ULONG:
    +  case RPC_FC_ENUM32:
    +    print_proxy( "%s = *((", arg->name );
    +    write_type(proxy, arg->type, arg, arg->tname);
    +    fprintf(proxy,"*)_StubMsg.Buffer)++;\n");
    +    break;
    +      
    +  case RPC_FC_STRUCT:
    +    print_proxy( "NdrSimpleStructUnmarshall(&_StubMsg, (unsigned char**)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], 0);\n", index );
    +    break;
    +
    +  case RPC_FC_C_CSTRING:
    +  case RPC_FC_C_WSTRING:
    +  case RPC_FC_CARRAY:
    +    print_proxy( "NdrConformantArrayUnmarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
    +    break;
    +
    +  case RPC_FC_BOGUS_STRUCT:
    +    print_proxy( "NdrComplexStructUnmarshall(&_StubMsg, (unsigned char*)%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], 0 );\n", index );
    +    break;
    +
    +  case RPC_FC_FP:
    +    {
    +      var_t temp;
    +      memset( &temp, 0, sizeof temp );
    +      temp.type = type->ref;
    +      temp.name = arg->name; /* FIXME */
    +#if 1
    +      print_proxy( "/* FIXME: %s use the right name for %s */\n", __FUNCTION__, arg->name );
    +#endif
    +      unmarshall_copy_arg( &temp );
    +    }
    +    break;
    +
    +  case RPC_FC_IP:
    +    print_proxy( "NdrPointerUnmarshall(&_StubMsg, (unsigned char**)&%s, ", arg->name );
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], 0);\n", index );
    +    break;
    +
    +  default:
    +    print_proxy("/* FIXME: %s code for %s type %d missing */\n", __FUNCTION__, arg->name, type->type );
    +  }
    +}
    +
    +static void gen_unmarshall( var_t *arg )
    +{
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_OUT)) 
    +    {
    +      unmarshall_copy_arg( arg );
    +      fprintf(proxy, "\n");
    +    }
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void free_variable( var_t *arg )
    +{
    +  var_t *constraint;
    +  int index = 0; /* FIXME */
    +  type_t *type;
    +  expr_t *expr;
    +
    +  expr = get_attrp( arg->attrs, ATTR_SIZEIS );
    +  if (expr)
    +  {
    +    print_proxy( "_StubMsg.MaxCount = ", arg->name );
    +    write_expr(proxy, expr);
    +    fprintf(proxy, ";\n\n");
    +    print_proxy( "NdrClearOutParameters( &_StubMsg, ");
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], ", index );
    +    fprintf(proxy, "(void*)%s );\n", arg->name );
    +    return;
    +  }
    +
    +  type = get_base_type(arg);
    +  switch( type->type )
    +  {
    +  case RPC_FC_BYTE:
    +  case RPC_FC_CHAR:
    +  case RPC_FC_WCHAR:
    +  case RPC_FC_SHORT:
    +  case RPC_FC_USHORT:
    +  case RPC_FC_ENUM16:
    +  case RPC_FC_LONG:
    +  case RPC_FC_ULONG:
    +  case RPC_FC_ENUM32:
    +  case RPC_FC_STRUCT:
    +    break;
    +
    +  case RPC_FC_FP:
    +  case RPC_FC_IP:
    +    constraint = get_attrp( arg->attrs, ATTR_IIDIS );
    +    if( constraint )
    +      print_proxy( "_StubMsg.MaxCount = (unsigned long) ( %s );\n",constraint->name);
    +    print_proxy( "NdrClearOutParameters( &_StubMsg, ");
    +    fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], ", index );
    +    fprintf(proxy, "(void*)%s );\n", arg->name );
    +    break;
    +
    +  default:
    +    print_proxy("/* FIXME: %s code for %s type %d missing */\n", __FUNCTION__, arg->name, type->type );
    +  }
    +}
    +
    +static void proxy_free_variables( var_t *arg )
    +{
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_OUT)) 
    +    {
    +      free_variable( arg );
    +      fprintf(proxy, "\n");
    +    }
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void gen_proxy(type_t *iface, func_t *cur, int idx)
    +{
    +  var_t *def = cur->def;
    +  int has_ret = !is_void(def->type, def);
    +
    +  indent = 0;
    +  write_type(proxy, def->type, def, def->tname);
    +  print_proxy( " STDMETHODCALLTYPE %s_", iface->name);
    +  write_name(proxy, def);
    +  print_proxy( "_Proxy(\n");
    +  write_args(proxy, cur->args, iface->name, 1, TRUE);
    +  print_proxy( ")\n");
    +  print_proxy( "{\n");
    +  indent ++;
    +  /* local variables */
    +  if (has_ret) {
    +    print_proxy( "" );
    +    write_type(proxy, def->type, def, def->tname);
    +    print_proxy( " _RetVal;\n");
    +  }
    +  print_proxy( "RPC_MESSAGE _Msg;\n" );
    +  print_proxy( "MIDL_STUB_MESSAGE _StubMsg;\n" );
    +  print_proxy( "\n");
    +
    +  /* FIXME: trace */
    +  clear_output_vars( cur->args );
    +
    +  print_proxy( "RpcTryExcept\n" );
    +  print_proxy( "{\n" );
    +  indent++;
    +  print_proxy( "NdrProxyInitialize(This, &_Msg, &_StubMsg, &Object_StubDesc, %d);\n", idx);
    +  proxy_check_pointers( cur->args );
    +
    +  print_proxy( "RpcTryFinally\n" );
    +  print_proxy( "{\n" );
    +  indent++;
    +
    +  gen_marshall( cur->args );
    +
    +  print_proxy( "NdrProxySendReceive(This, &_StubMsg);\n" );
    +  fprintf(proxy, "\n");
    +  print_proxy("if ((_Msg.DataRepresentation&0xffff) != NDR_LOCAL_DATA_REPRESENTATION)\n");
    +  indent++;
    +  print_proxy("NdrConvert( &_StubMsg, &__MIDL_ProcFormatString.Format[0]);\n" );
    +  indent--;
    +  fprintf(proxy, "\n");
    +
    +  gen_unmarshall( cur->args );
    +  if (has_ret) {
    +    /* 
    +     * FIXME: We only need to round the buffer up if it could be unaligned...
    +     *    We should calculate how much buffer we used and output the following
    +     *    line only if necessary.
    +     */
    +    print_proxy( "_StubMsg.Buffer = (unsigned char *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);\n");
    +
    +    print_proxy( "_RetVal = *((" );
    +    write_type(proxy, def->type, def, def->tname);
    +    fprintf(proxy, "*)_StubMsg.Buffer)++;\n");
    +  }
    +
    +  indent--;
    +  print_proxy( "}\n");
    +  print_proxy( "RpcFinally\n" );
    +  print_proxy( "{\n" );
    +  indent++;
    +  print_proxy( "NdrProxyFreeBuffer(This, &_StubMsg);\n" );
    +  indent--;
    +  print_proxy( "}\n");
    +  print_proxy( "RpcEndFinally\n" );
    +  indent--;
    +  print_proxy( "}\n" );
    +  print_proxy( "RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)\n" );
    +  print_proxy( "{\n" );
    +  if (has_ret) {
    +    indent++;
    +    proxy_free_variables( cur->args );
    +    print_proxy( "_RetVal = NdrProxyErrorHandler(RpcExceptionCode());\n" );
    +    indent--;
    +  }
    +  print_proxy( "}\n" );
    +  print_proxy( "RpcEndExcept\n" );
    +
    +  if (has_ret) {
    +    print_proxy( "return _RetVal;\n" );
    +  }
    +  indent--;
    +  print_proxy( "}\n");
    +  print_proxy( "\n");
    +}
    +
    +static void stub_write_locals( var_t *arg )
    +{
    +  int n = 0;
    +  while (arg) {
    +    int outptr = is_attr(arg->attrs, ATTR_OUT);
    +
    +    /* create a temporary variable to store the output */
    +    if (outptr) {
    +      var_t temp;
    +      memset( &temp, 0, sizeof temp );
    +      temp.ptr_level = arg->ptr_level - 1; /* dereference once */
    +      print_proxy("");
    +      write_type(proxy, arg->type, &temp, arg->tname);
    +      fprintf(proxy, " _M%d;\n",n++);
    +    }
    +    print_proxy("");
    +    write_type(proxy, arg->type, arg, arg->tname);
    +    fprintf(proxy, " ");
    +    write_name(proxy, arg);
    +    fprintf(proxy, ";\n");
    +    arg = NEXT_LINK(arg);
    +  }
    +}
    +
    +static void stub_unmarshall( var_t *arg )
    +{
    +  int n = 0;
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_IN))
    +    {
    +      unmarshall_copy_arg( arg );
    +      fprintf(proxy,"\n");
    +    }
    +    else if (is_attr(arg->attrs, ATTR_OUT)) {
    +      type_t *type = get_base_type(arg);
    +      switch( type->type )
    +      {
    +      case RPC_FC_STRUCT:
    +        print_proxy("MIDL_memset(");
    +        write_name(proxy, arg);
    +        fprintf(proxy,", 0, sizeof(");
    +        write_type(proxy, arg->type, arg, arg->tname);
    +        fprintf(proxy,"));\n");
    +        break;
    +      default:
    +        print_proxy("");
    +        write_name(proxy, arg);
    +        fprintf(proxy," = &_M%d;\n", n);
    +        print_proxy("_M%d = 0;\n", n++);
    +        break;
    +      }
    +    }
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void stub_gen_marshall_size( var_t *arg )
    +{
    +  print_proxy( "_StubMsg.BufferLength = 0U;\n" );
    +
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_OUT))
    +      marshall_size_arg( arg );
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void stub_gen_marshall_copydata( var_t *arg )
    +{
    +  END_OF_LIST(arg);
    +  while (arg) {
    +    if (is_attr(arg->attrs, ATTR_OUT))
    +      marshall_copy_arg( arg );
    +    arg = PREV_LINK(arg);
    +  }
    +}
    +
    +static void stub_genmarshall( var_t *args )
    +{
    +  /* FIXME: size buffer */
    +  stub_gen_marshall_size( args );
    +
    +  print_proxy("NdrStubGetBuffer(This, pRpcChannelBuffer, &_StubMsg);\n");
    +
    +  stub_gen_marshall_copydata( args );
    +}
    +
    +static void gen_stub(type_t *iface, func_t *cur, char *cas)
    +{
    +  var_t *def = cur->def;
    +  var_t *arg;
    +  int has_ret = !is_void(def->type, def);
    +
    +  indent = 0;
    +  print_proxy( "void __RPC_STUB %s_", iface->name);
    +  write_name(proxy, def);
    +  print_proxy( "_Stub(\n");
    +  indent++;
    +  print_proxy( "IRpcStubBuffer* This,\n");
    +  print_proxy( "IRpcChannelBuffer* pRpcChannelBuffer,\n");
    +  print_proxy( "PRPC_MESSAGE _Msg,\n");
    +  print_proxy( "DWORD* _pdwStubPhase)\n");
    +  indent--;
    +  print_proxy( "{\n");
    +  indent++;
    +  /* local variables */
    +  if (has_ret) {
    +    print_proxy("");
    +    write_type(proxy, def->type, def, def->tname);
    +    fprintf(proxy, " _RetVal;\n");
    +  }
    +  print_proxy("%s * _This = (%s*)((CStdStubBuffer*)This)->pvServerObject;\n", iface->name, iface->name);
    +  print_proxy("MIDL_STUB_MESSAGE _StubMsg;\n");
    +  stub_write_locals( cur->args );
    +  fprintf(proxy, "\n");
    +
    +  /* FIXME: trace */
    +
    +  print_proxy("NdrStubInitialize(_Msg, &_StubMsg, &Object_StubDesc, pRpcChannelBuffer);\n");
    +  fprintf(proxy, "\n");
    +
    +  print_proxy("RpcTryFinally\n");
    +  print_proxy("{\n");
    +  indent++;
    +  print_proxy("if ((_Msg->DataRepresentation&0xffff) != NDR_LOCAL_DATA_REPRESENTATION)\n");
    +  indent++;
    +  print_proxy("NdrConvert( &_StubMsg, &__MIDL_ProcFormatString.Format[0]);\n" );
    +  indent--;
    +  fprintf(proxy, "\n");
    +
    +  stub_unmarshall( cur->args );
    +  fprintf(proxy, "\n");
    +
    +  print_proxy("*_pdwStubPhase = STUB_CALL_SERVER;\n");
    +  fprintf(proxy, "\n");
    +  print_proxy("");
    +  if (has_ret) fprintf(proxy, "_RetVal = ");
    +  fprintf(proxy, "%s_", iface->name);
    +  if (cas) fprintf(proxy, "%s_Stub", cas);
    +  else write_name(proxy, def);
    +  fprintf(proxy, "(_This");
    +  arg = cur->args;
    +  if (arg) {
    +    END_OF_LIST(arg);
    +    while (arg) {
    +      fprintf(proxy, ", ");
    +      write_name(proxy, arg);
    +      arg = PREV_LINK(arg);
    +    }
    +  }
    +  fprintf(proxy, ");\n");
    +  fprintf(proxy, "\n");
    +  print_proxy("*_pdwStubPhase = STUB_MARSHAL;\n");
    +  fprintf(proxy, "\n");
    +
    +  stub_genmarshall( cur->args );
    +  fprintf(proxy, "\n");
    +
    +  if (has_ret) {
    +    /* 
    +     * FIXME: We only need to round the buffer up if it could be unaligned...
    +     *    We should calculate how much buffer we used and output the following
    +     *    line only if necessary.
    +     */
    +    print_proxy( "_StubMsg.Buffer = (unsigned char *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);\n");
    +
    +    print_proxy( "*((" );
    +    write_type(proxy, def->type, def, def->tname);
    +    fprintf(proxy, "*)_StubMsg.Buffer)++ = _RetVal;\n");
    +  }
    +
    +  indent--;
    +  print_proxy("}\n");
    +  print_proxy("RpcFinally\n");
    +  print_proxy("{\n");
    +  print_proxy("}\n");
    +  print_proxy("RpcEndFinally\n");
    +
    +  print_proxy("_Msg->BufferLength = ((long)_StubMsg.Buffer - (long)_Msg->Buffer);\n");
    +  indent--;
    +
    +  print_proxy("}\n");
    +  print_proxy("\n");
    +}
    +
    +static int write_proxy_methods(type_t *iface)
    +{
    +  func_t *cur = iface->funcs;
    +  int i = 0;
    +
    +  END_OF_LIST(cur);
    +
    +  if (iface->ref) i = write_proxy_methods(iface->ref);
    +  while (cur) {
    +    var_t *def = cur->def;
    +    if (!is_callas(def->attrs)) {
    +      if (i) fprintf(proxy, ",\n");
    +      print_proxy( "%s_", iface->name);
    +      write_name(proxy, def);
    +      fprintf(proxy, "_Proxy");
    +      i++;
    +    }
    +    cur = PREV_LINK(cur);
    +  }
    +  return i;
    +}
    +
    +static int write_stub_methods(type_t *iface)
    +{
    +  func_t *cur = iface->funcs;
    +  int i = 0;
    +
    +  END_OF_LIST(cur);
    +
    +  if (iface->ref) i = write_stub_methods(iface->ref);
    +  else return i; /* skip IUnknown */
    +  while (cur) {
    +    var_t *def = cur->def;
    +    if (!is_local(def->attrs)) {
    +      if (i) fprintf(proxy,",\n");
    +      print_proxy( "%s_", iface->name);
    +      write_name(proxy, def);
    +      fprintf(proxy, "_Stub");
    +      i++;
    +    }
    +    cur = PREV_LINK(cur);
    +  }
    +  return i;
    +}
    +
    +static void write_proxy(type_t *iface)
    +{
    +  int midx = -1, stubs;
    +  func_t *cur = iface->funcs;
    +
    +  if (!cur) return;
    +
    +  END_OF_LIST(cur);
    +
    +  /* FIXME: check for [oleautomation], shouldn't generate proxies/stubs if specified */
    +
    +  fprintf(proxy, "/*****************************************************************************\n");
    +  fprintf(proxy, " * %s interface\n", iface->name);
    +  fprintf(proxy, " */\n");
    +  while (cur) {
    +    var_t *def = cur->def;
    +    if (!is_local(def->attrs)) {
    +      var_t *cas = is_callas(def->attrs);
    +      char *cname = cas ? cas->name : NULL;
    +      int idx = cur->idx;
    +      if (cname) {
    +        func_t *m = iface->funcs;
    +        while (m && strcmp(get_name(m->def), cname))
    +          m = NEXT_LINK(m);
    +        idx = m->idx;
    +      }
    +      gen_proxy(iface, cur, idx);
    +      gen_stub(iface, cur, cname);
    +      if (midx == -1) midx = idx;
    +      else if (midx != idx) yyerror("method index mismatch in write_proxy");
    +      midx++;
    +    }
    +    cur = PREV_LINK(cur);
    +  }
    +
    +  /* proxy vtable */
    +  print_proxy( "const CINTERFACE_PROXY_VTABLE(%d) _%sProxyVtbl =\n", midx, iface->name);
    +  print_proxy( "{\n");
    +  indent++;
    +  print_proxy( "{\n", iface->name);
    +  indent++;
    +  print_proxy( "&IID_%s,\n", iface->name);
    +  indent--;
    +  print_proxy( "},\n");
    +  print_proxy( "{\n");
    +  indent++;
    +  write_proxy_methods(iface);
    +  fprintf(proxy, "\n");
    +  indent--;
    +  print_proxy( "}\n");
    +  indent--;
    +  print_proxy( "};\n");
    +  fprintf(proxy, "\n\n");
    +
    +  /* stub vtable */
    +  print_proxy( "static const PRPC_STUB_FUNCTION %s_table[] =\n", iface->name);
    +  print_proxy( "{\n");
    +  indent++;
    +  stubs = write_stub_methods(iface);
    +  fprintf(proxy, "\n");
    +  indent--;
    +  fprintf(proxy, "};\n");
    +  print_proxy( "\n");
    +  print_proxy( "const CInterfaceStubVtbl _%sStubVtbl =\n", iface->name);
    +  print_proxy( "{\n");
    +  indent++;
    +  print_proxy( "{\n");
    +  indent++;
    +  print_proxy( "&IID_%s,\n", iface->name);
    +  print_proxy( "0,\n");
    +  print_proxy( "%d,\n", stubs+3);
    +  print_proxy( "&%s_table[-3],\n", iface->name);
    +  indent--;
    +  print_proxy( "},\n", iface->name);
    +  print_proxy( "{\n");
    +  indent++;
    +  print_proxy( "CStdStubBuffer_METHODS\n");
    +  indent--;
    +  print_proxy( "}\n");
    +  indent--;
    +  print_proxy( "};\n");
    +  print_proxy( "\n");
    +}
    +
    +void write_proxies(ifref_t *ifaces)
    +{
    +  ifref_t *lcur = ifaces;
    +  ifref_t *cur;
    +  char *file_id = proxy_token;
    +  int c;
    +
    +  if (!do_proxies) return;
    +  if (!lcur) return;
    +  END_OF_LIST(lcur);
    +
    +  init_proxy();
    +  if(!proxy) return;
    +
    +  cur = lcur;
    +  while (cur) {
    +    if (is_object(cur->iface->attrs) && !is_local(cur->iface->attrs))
    +      write_proxy(cur->iface);
    +    cur = PREV_LINK(cur);
    +  }
    +
    +  if (!proxy) return;
    +
    +  write_stubdesc();
    +
    +  print_proxy( "#if !defined(__RPC_WIN32__)\n");
    +  print_proxy( "#error Currently only Wine and WIN32 are supported.\n");
    +  print_proxy( "#endif\n");
    +  print_proxy( "\n");
    +  write_formatstring( 1 );
    +  write_formatstring( 0 );
    +
    +  fprintf(proxy, "const CInterfaceProxyVtbl* _%s_ProxyVtblList[] =\n", file_id);
    +  fprintf(proxy, "{\n");
    +  cur = lcur;
    +  while (cur) {
    +    if(cur->iface->ref && cur->iface->funcs &&
    +       is_object(cur->iface->attrs) && !is_local(cur->iface->attrs))
    +      fprintf(proxy, "    (CInterfaceProxyVtbl*)&_%sProxyVtbl,\n", cur->iface->name);
    +    cur = PREV_LINK(cur);
    +  }
    +  fprintf(proxy, "    0\n");
    +  fprintf(proxy, "};\n");
    +  fprintf(proxy, "\n");
    +
    +  fprintf(proxy, "const CInterfaceStubVtbl* _%s_StubVtblList[] =\n", file_id);
    +  fprintf(proxy, "{\n");
    +  cur = lcur;
    +  while (cur) {
    +    if(cur->iface->ref && cur->iface->funcs &&
    +       is_object(cur->iface->attrs) && !is_local(cur->iface->attrs))
    +      fprintf(proxy, "    (CInterfaceStubVtbl*)&_%sStubVtbl,\n", cur->iface->name);
    +    cur = PREV_LINK(cur);
    +  }
    +  fprintf(proxy, "    0\n");
    +  fprintf(proxy, "};\n");
    +  fprintf(proxy, "\n");
    +
    +  fprintf(proxy, "PCInterfaceName const _%s_InterfaceNamesList[] =\n", file_id);
    +  fprintf(proxy, "{\n");
    +  cur = lcur;
    +  while (cur) {
    +    if(cur->iface->ref && cur->iface->funcs &&
    +       is_object(cur->iface->attrs) && !is_local(cur->iface->attrs))
    +      fprintf(proxy, "    \"%s\",\n", cur->iface->name);
    +    cur = PREV_LINK(cur);
    +  }
    +  fprintf(proxy, "    0\n");
    +  fprintf(proxy, "};\n");
    +  fprintf(proxy, "\n");
    +
    +  fprintf(proxy, "#define _%s_CHECK_IID(n) IID_GENERIC_CHECK_IID(_%s, pIID, n)\n", file_id, file_id);
    +  fprintf(proxy, "\n");
    +  fprintf(proxy, "int __stdcall _%s_IID_Lookup(const IID* pIID, int* pIndex)\n", file_id);
    +  fprintf(proxy, "{\n");
    +  cur = lcur;
    +  c = 0;
    +  while (cur) {
    +    if(cur->iface->ref)
    +    {
    +      fprintf(proxy, "    if (!_%s_CHECK_IID(%d))\n", file_id, c);
    +      fprintf(proxy, "    {\n");
    +      fprintf(proxy, "        *pIndex = %d;\n", c);
    +      fprintf(proxy, "        return 1;\n");
    +      fprintf(proxy, "    }\n");
    +      c++;
    +    }
    +    cur = PREV_LINK(cur);
    +  }
    +  fprintf(proxy, "    return 0;\n");
    +  fprintf(proxy, "}\n");
    +  fprintf(proxy, "\n");
    +
    +  fprintf(proxy, "const ExtendedProxyFileInfo %s_ProxyFileInfo =\n", file_id);
    +  fprintf(proxy, "{\n");
    +  fprintf(proxy, "    (PCInterfaceProxyVtblList*)&_%s_ProxyVtblList,\n", file_id);
    +  fprintf(proxy, "    (PCInterfaceStubVtblList*)&_%s_StubVtblList,\n", file_id);
    +  fprintf(proxy, "    (const PCInterfaceName*)&_%s_InterfaceNamesList,\n", file_id);
    +  fprintf(proxy, "    0,\n");
    +  fprintf(proxy, "    &_%s_IID_Lookup,\n", file_id);
    +  fprintf(proxy, "    %d,\n", c);
    +  fprintf(proxy, "    1,\n");
    +  fprintf(proxy, "    0,\n");
    +  fprintf(proxy, "    0,\n");
    +  fprintf(proxy, "    0,\n");
    +  fprintf(proxy, "    0\n");
    +  fprintf(proxy, "};\n");
    +
    +  fclose(proxy);
    +}
    diff --git a/reactos/tools/widl/server.c b/reactos/tools/widl/server.c
    new file mode 100644
    index 00000000000..dca83ac9ea6
    --- /dev/null
    +++ b/reactos/tools/widl/server.c
    @@ -0,0 +1,770 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2005 Eric Kohl
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +# include 
    +#endif
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "header.h"
    +
    +#define END_OF_LIST(list)       \
    +  do {                          \
    +    if (list) {                 \
    +      while (NEXT_LINK(list))   \
    +        list = NEXT_LINK(list); \
    +    }                           \
    +  } while(0)
    +
    +static FILE* server;
    +static int indent = 0;
    +
    +
    +static int print_server(const char *format, ...)
    +{
    +    va_list va;
    +    int i, r;
    +
    +    va_start(va, format);
    +    for (i = 0; i < indent; i++)
    +        fprintf(server, "    ");
    +    r = vfprintf(server, format, va);
    +    va_end(va);
    +    return r;
    +}
    +
    +
    +static void write_procformatstring(type_t *iface)
    +{
    +    func_t *func = iface->funcs;
    +    var_t *var;
    +
    +    print_server("static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =\n");
    +    print_server("{\n");
    +    indent++;
    +    print_server("0,\n");
    +    print_server("{\n");
    +    indent++;
    +
    +    while (NEXT_LINK(func)) func = NEXT_LINK(func);
    +    while (func)
    +    {
    +        /* emit argument data */
    +        if (func->args)
    +        {
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                switch(var->type->type)
    +                {
    +                case RPC_FC_BYTE:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_BYTE */\n", var->type->type);
    +                    break;
    +                case RPC_FC_CHAR:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_CHAR */\n", var->type->type);
    +                    break;
    +                case RPC_FC_WCHAR:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_WCHAR */\n", var->type->type);
    +                    break;
    +                case RPC_FC_USHORT:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_USHORT */\n", var->type->type);
    +                    break;
    +                case RPC_FC_SHORT:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_SHORT */\n", var->type->type);
    +                    break;
    +                case RPC_FC_ULONG:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_ULONG */\n", var->type->type);
    +                    break;
    +                case RPC_FC_LONG:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_LONG */\n", var->type->type);
    +                    break;
    +                case RPC_FC_HYPER:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_HYPER */\n", var->type->type);
    +                    break;
    +                case RPC_FC_IGNORE:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_IGNORE */\n", var->type->type);
    +                    break;
    +                case RPC_FC_SMALL:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_SMALL */\n", RPC_FC_SMALL);
    +                    break;
    +                case RPC_FC_FLOAT:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_FLOAT */\n", RPC_FC_FLOAT);
    +                    break;
    +                case RPC_FC_DOUBLE:
    +                    print_server("0x4e,    /* FC_IN_PARAM_BASETYPE */\n");
    +                    print_server("0x%02x,    /* FC_DOUBLE */\n", RPC_FC_DOUBLE);
    +                    break;
    +                default:
    +                    error("Unknown/unsupported type\n");
    +                }
    +
    +                var = PREV_LINK(var);
    +            }
    +        }
    +
    +        /* emit return value data */
    +        var = func->def;
    +        if (is_void(var->type, NULL))
    +        {
    +            print_server("0x5b,    /* FC_END */\n");
    +            print_server("0x5c,    /* FC_PAD */\n");
    +        }
    +        else
    +        {
    +            switch(var->type->type)
    +            {
    +            case RPC_FC_BYTE:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_BYTE */\n", var->type->type);
    +                break;
    +            case RPC_FC_CHAR:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_CHAR */\n", var->type->type);
    +                break;
    +            case RPC_FC_WCHAR:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_WCHAR */\n", var->type->type);
    +                break;
    +            case RPC_FC_USHORT:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_USHORT */\n", var->type->type);
    +                break;
    +            case RPC_FC_SHORT:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_SHORT */\n", var->type->type);
    +                break;
    +            case RPC_FC_ULONG:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_ULONG */\n", var->type->type);
    +                break;
    +            case RPC_FC_LONG:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_LONG */\n", var->type->type);
    +                break;
    +            case RPC_FC_HYPER:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_HYPER */\n", var->type->type);
    +                break;
    +            case RPC_FC_SMALL:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_SMALL */\n", RPC_FC_SMALL);
    +                break;
    +            case RPC_FC_FLOAT:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_FLOAT */\n", RPC_FC_FLOAT);
    +                break;
    +            case RPC_FC_DOUBLE:
    +                print_server("0x53,    /* FC_RETURN_PARAM_BASETYPE */\n");
    +                print_server("0x%02x,    /* FC_DOUBLE */\n", RPC_FC_DOUBLE);
    +                break;
    +            default:
    +                error("Unknown/unsupported type\n");
    +            }
    +        }
    +
    +        func = PREV_LINK(func);
    +    }
    +
    +    print_server("0x0\n");
    +    indent--;
    +    print_server("}\n");
    +    indent--;
    +    print_server("};\n");
    +    print_server("\n");
    +}
    +
    +
    +static void write_typeformatstring(void)
    +{
    +    print_server("static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =\n");
    +    print_server("{\n");
    +    indent++;
    +    print_server("0,\n");
    +    print_server("{\n");
    +    indent++;
    +    print_server("NdrFcShort(0x0),\n");
    +    print_server("0x0\n");
    +    indent--;
    +    print_server("}\n");
    +    indent--;
    +    print_server("};\n");
    +    print_server("\n");
    +}
    +
    +
    +unsigned int get_required_buffer_size(type_t *type)
    +{
    +    switch(type->type)
    +    {
    +        case RPC_FC_BYTE:
    +        case RPC_FC_SMALL:
    +        case RPC_FC_CHAR:
    +        case RPC_FC_WCHAR:
    +        case RPC_FC_USHORT:
    +        case RPC_FC_SHORT:
    +        case RPC_FC_ULONG:
    +        case RPC_FC_LONG:
    +        case RPC_FC_FLOAT:
    +            return 4;
    +
    +        case RPC_FC_HYPER:
    +        case RPC_FC_DOUBLE:
    +            return 8;
    +
    +        case RPC_FC_IGNORE:
    +            return 0;
    +
    +        default:
    +            error("Unknown/unsupported type: %s\n", type->name);
    +            return 0;
    +    }
    +}
    +
    +
    +static void unmarshall_arguments(func_t *func)
    +{
    +    unsigned int alignment;
    +    unsigned int size;
    +    unsigned int last_size = 0;
    +    var_t *var;
    +
    +    if (!func->args)
    +        return;
    +
    +    var = func->args;
    +    while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +    while (var)
    +    {
    +        alignment = 0;
    +        switch (var->type->type)
    +        {
    +        case RPC_FC_BYTE:
    +        case RPC_FC_CHAR:
    +        case RPC_FC_SMALL:
    +            size = 1;
    +            alignment = 0;
    +            break;
    +
    +        case RPC_FC_WCHAR:
    +        case RPC_FC_USHORT:
    +        case RPC_FC_SHORT:
    +            size = 2;
    +            if (last_size != 0 && last_size < 2)
    +                alignment = (2 - last_size);
    +            break;
    +
    +        case RPC_FC_ULONG:
    +        case RPC_FC_LONG:
    +        case RPC_FC_FLOAT:
    +            size = 4;
    +            if (last_size != 0 && last_size < 4)
    +                alignment = (4 - last_size);
    +            break;
    +
    +        case RPC_FC_HYPER:
    +        case RPC_FC_DOUBLE:
    +            size = 8;
    +            if (last_size != 0 && last_size < 4)
    +                alignment = (4 - last_size);
    +            break;
    +
    +        case RPC_FC_IGNORE:
    +            size = 0;
    +            break;
    +
    +        default:
    +            error("Unknown/unsupported type!");
    +        }
    +
    +        if (size != 0)
    +        {
    +            if (alignment != 0)
    +                print_server("_StubMsg.Buffer += %u;\n", alignment);
    +
    +            print_server("");
    +            write_name(server, var);
    +            fprintf(server, " = *((");
    +            write_type(server, var->type, var, var->tname);
    +            fprintf(server, " __RPC_FAR*)_StubMsg.Buffer)++;\n");
    +            fprintf(server, "\n");
    +
    +            last_size = size;
    +        }
    +
    +        var = PREV_LINK(var);
    +    }
    +}
    +
    +
    +static void write_function_stubs(type_t *iface)
    +{
    +    int explicit_handle = is_attr(iface->attrs, ATTR_EXPLICIT_HANDLE);
    +    func_t *func = iface->funcs;
    +    var_t *var;
    +    var_t* explicit_handle_var;
    +    unsigned int proc_offset = 0;
    +
    +    while (NEXT_LINK(func)) func = NEXT_LINK(func);
    +    while (func)
    +    {
    +        var_t *def = func->def;
    +
    +        /* check for a defined binding handle */
    +        explicit_handle_var = get_explicit_handle_var(func);
    +        if (explicit_handle)
    +        {
    +            if (!explicit_handle_var)
    +            {
    +                error("%s() does not define an explicit binding handle!\n", def->name);
    +                return;
    +            }
    +        }
    +        else
    +        {
    +            if (explicit_handle_var)
    +            {
    +                error("%s() must not define a binding handle!\n", def->name);
    +                return;
    +            }
    +        }
    +
    +        fprintf(server, "void __RPC_STUB\n");
    +        fprintf(server, "%s_", iface->name);
    +        write_name(server, def);
    +        fprintf(server, "(\n");
    +        indent++;
    +        print_server("PRPC_MESSAGE _pRpcMessage)\n");
    +        indent--;
    +
    +        /* write the functions body */
    +        fprintf(server, "{\n");
    +        indent++;
    +
    +        /* declare return value '_RetVal' */
    +        if (!is_void(def->type, NULL))
    +        {
    +            print_server("");
    +            write_type(server, def->type, def, def->tname);
    +            fprintf(server, " _RetVal;\n");
    +        }
    +
    +        /* declare arguments */
    +        if (func->args)
    +        {
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                print_server("");
    +                write_type(server, var->type, var, var->tname);
    +                fprintf(server, " ");
    +                write_name(server, var);
    +                fprintf(server, ";\n");
    +
    +                var = PREV_LINK(var);
    +            }
    +        }
    +
    +        print_server("MIDL_STUB_MESSAGE _StubMsg;\n");
    +        print_server("RPC_STATUS _Status;\n");
    +        fprintf(server, "\n");
    +
    +
    +        print_server("((void)(_Status));\n");
    +        print_server("NdrServerInitializeNew(\n");
    +        indent++;
    +        print_server("_pRpcMessage,\n");
    +        print_server("&_StubMsg,\n");
    +        print_server("&%s_StubDesc);\n", iface->name);
    +        indent--;
    +        fprintf(server, "\n");
    +
    +        if (explicit_handle)
    +        {
    +            print_server("%s = _pRpcMessage->Handle;\n", explicit_handle_var->name);
    +            fprintf(server, "\n");
    +        }
    +
    +        print_server("RpcTryFinally\n");
    +        print_server("{\n");
    +        indent++;
    +        print_server("RpcTryExcept\n");
    +        print_server("{\n");
    +        indent++;
    +
    +        if (func->args)
    +        {
    +            print_server("if ((_pRpcMessage->DataRepresentation & 0x0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION)\n");
    +            indent++;
    +            print_server("NdrConvert(\n");
    +            indent++;
    +            print_server("(PMIDL_STUB_MESSAGE)&_StubMsg,\n");
    +            print_server("(PFORMAT_STRING)&__MIDL_ProcFormatString.Format[%u]);\n", proc_offset);
    +            indent -= 2;
    +            fprintf(server, "\n");
    +
    +            unmarshall_arguments(func);
    +        }
    +
    +        print_server("if (_StubMsg.Buffer > _StubMsg.BufferEnd)\n");
    +        print_server("{\n");
    +        indent++;
    +        print_server("RpcRaiseException(RPC_X_BAD_STUB_DATA);\n");
    +        indent--;
    +        print_server("}\n");
    +        indent--;
    +        print_server("}\n");
    +        print_server("RpcExcept(RPC_BAD_STUB_DATA_EXCEPTION_FILTER)\n");
    +        print_server("{\n");
    +        indent++;
    +        print_server("RpcRaiseException(RPC_X_BAD_STUB_DATA);\n");
    +        indent--;
    +        print_server("}\n");
    +        print_server("RpcEndExcept\n");
    +        fprintf(server, "\n");
    +
    +
    +        /* Call the real server function */
    +        if (!is_void(def->type, NULL))
    +            print_server("_RetVal = ");
    +        else
    +            print_server("");
    +        write_name(server, def);
    +
    +        if (func->args)
    +        {
    +            int first_arg = 1;
    +
    +            fprintf(server, "(\n");
    +            indent++;
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                if (first_arg)
    +                    first_arg = 0;
    +                else
    +                    fprintf(server, ",\n");
    +                print_server("");
    +                write_name(server, var);
    +                var = PREV_LINK(var);
    +            }
    +            fprintf(server, ");\n");
    +            indent--;
    +        }
    +        else
    +        {
    +            fprintf(server, "();\n");
    +        }
    +
    +        /* marshall the return value */
    +        if (!is_void(def->type, NULL))
    +        {
    +            fprintf(server, "\n");
    +            print_server("_StubMsg.BufferLength = %uU;\n", get_required_buffer_size(def->type));
    +            print_server("_pRpcMessage->BufferLength = _StubMsg.BufferLength;\n");
    +            fprintf(server, "\n");
    +            print_server("_Status = I_RpcGetBuffer(_pRpcMessage);\n");
    +            print_server("if (_Status)\n");
    +            indent++;
    +            print_server("RpcRaiseException(_Status);\n");
    +            indent--;
    +            fprintf(server, "\n");
    +            print_server("_StubMsg.Buffer = (unsigned char __RPC_FAR *)_pRpcMessage->Buffer;\n");
    +            fprintf(server, "\n");
    +
    +            print_server("*((");
    +            write_type(server, def->type, def, def->tname);
    +            fprintf(server, " __RPC_FAR *)_StubMsg.Buffer)++ = _RetVal;\n");
    +        }
    +
    +        indent--;
    +        print_server("}\n");
    +        print_server("RpcFinally\n");
    +        print_server("{\n");
    +        print_server("}\n");
    +        print_server("RpcEndFinally\n");
    +
    +        /* calculate buffer length */
    +        fprintf(server, "\n");
    +        print_server("_pRpcMessage->BufferLength =\n");
    +        indent++;
    +        print_server("(unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);\n");
    +        indent--;
    +        indent--;
    +        fprintf(server, "}\n");
    +        fprintf(server, "\n");
    +
    +        /* update proc_offset */
    +        if (func->args)
    +        {
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                proc_offset += 2; /* FIXME */
    +                var = PREV_LINK(var);
    +            }
    +        }
    +        proc_offset += 2;  /* FIXME */
    +
    +        func = PREV_LINK(func);
    +    }
    +}
    +
    +
    +static void write_dispatchtable(type_t *iface)
    +{
    +    unsigned long ver = get_attrv(iface->attrs, ATTR_VERSION);
    +    unsigned long method_count = 0;
    +    func_t *cur = iface->funcs;
    +
    +    print_server("static RPC_DISPATCH_FUNCTION %s_table[] =\n", iface->name);
    +    print_server("{\n");
    +    indent++;
    +    while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +    while (cur)
    +    {
    +        var_t *def = cur->def;
    +
    +        print_server("%s_", iface->name);
    +        write_name(server, def);
    +        fprintf(server, ",\n");
    +
    +        method_count++;
    +        cur = PREV_LINK(cur);
    +    }
    +    print_server("0\n");
    +    indent--;
    +    print_server("};\n");
    +    print_server("RPC_DISPATCH_TABLE %s_v%d_%d_DispatchTable =\n", iface->name, LOWORD(ver), HIWORD(ver));
    +    print_server("{\n");
    +    indent++;
    +    print_server("%u,\n", method_count);
    +    print_server("%s_table\n", iface->name);
    +    indent--;
    +    print_server("};\n");
    +    fprintf(server, "\n");
    +}
    +
    +
    +static void write_stubdescdecl(type_t *iface)
    +{
    +    print_server("extern const MIDL_STUB_DESC %s_StubDesc;\n", iface->name);
    +    fprintf(server, "\n");
    +}
    +
    +
    +static void write_stubdescriptor(type_t *iface)
    +{
    +    print_server("static const MIDL_STUB_DESC %s_StubDesc =\n", iface->name);
    +    print_server("{\n");
    +    indent++;
    +    print_server("(void __RPC_FAR *)& %s___RpcServerInterface,\n", iface->name);
    +    print_server("MIDL_user_allocate,\n");
    +    print_server("MIDL_user_free,\n");
    +    print_server("{NULL},\n");
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    print_server("__MIDL_TypeFormatString.Format,\n");
    +    print_server("1, /* -error bounds_check flag */\n");
    +    print_server("0x10001, /* Ndr library version */\n");
    +    print_server("0,\n");
    +    print_server("0x50100a4, /* MIDL Version 5.1.164 */\n");
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    print_server("0,  /* notify & notify_flag routine table */\n");
    +    print_server("1,  /* Flags */\n");
    +    print_server("0,  /* Reserved3 */\n");
    +    print_server("0,  /* Reserved4 */\n");
    +    print_server("0   /* Reserved5 */\n");
    +    indent--;
    +    print_server("};\n");
    +    fprintf(server, "\n");
    +}
    +
    +
    +static void write_serverinterfacedecl(type_t *iface)
    +{
    +    unsigned long ver = get_attrv(iface->attrs, ATTR_VERSION);
    +    UUID *uuid = get_attrp(iface->attrs, ATTR_UUID);
    +
    +    print_server("extern RPC_DISPATCH_TABLE %s_v%d_%d_DispatchTable;\n", iface->name, LOWORD(ver), HIWORD(ver));
    +    fprintf(server, "\n");
    +    print_server("static const RPC_SERVER_INTERFACE %s___RpcServerInterface =\n", iface->name );
    +    print_server("{\n");
    +    indent++;
    +    print_server("sizeof(RPC_SERVER_INTERFACE),\n");
    +    print_server("{{0x%08lx,0x%04x,0x%04x,{0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x}},{%d,%d}},\n",
    +                 uuid->Data1, uuid->Data2, uuid->Data3, uuid->Data4[0], uuid->Data4[1],
    +                 uuid->Data4[2], uuid->Data4[3], uuid->Data4[4], uuid->Data4[5], uuid->Data4[6],
    +                 uuid->Data4[7], LOWORD(ver), HIWORD(ver));
    +    print_server("{{0x8a885d04,0x1ceb,0x11c9,{0x9f,0xe8,0x08,0x00,0x2b,0x10,0x48,0x60}},{2,0}},\n"); /* FIXME */
    +    print_server("&%s_v%d_%d_DispatchTable,\n", iface->name, LOWORD(ver), HIWORD(ver));
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    print_server("0,\n");
    +    indent--;
    +    print_server("};\n");
    +    print_server("RPC_IF_HANDLE %s_v%d_%d_s_ifspec = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n",
    +                 iface->name, LOWORD(ver), HIWORD(ver), iface->name);
    +    fprintf(server, "\n");
    +}
    +
    +static void write_formatdesc( const char *str )
    +{
    +    print_server("typedef struct _MIDL_%s_FORMAT_STRING\n", str );
    +    print_server("{\n");
    +    indent++;
    +    print_server("short Pad;\n");
    +    print_server("unsigned char Format[%s_FORMAT_STRING_SIZE];\n", str);
    +    indent--;
    +    print_server("} MIDL_%s_FORMAT_STRING;\n", str);
    +    print_server("\n");
    +}
    +
    +
    +static void write_formatstringsdecl(type_t *iface)
    +{
    +    func_t *func;
    +    var_t *var;
    +    int byte_count = 1;
    +
    +    print_server("#define TYPE_FORMAT_STRING_SIZE %d\n", 3); /* FIXME */
    +
    +    /* determine the proc format string size */
    +    func = iface->funcs;
    +    while (NEXT_LINK(func)) func = NEXT_LINK(func);
    +    while (func)
    +    {
    +        /* argument list size */
    +        if (func->args)
    +        {
    +            var = func->args;
    +            while (NEXT_LINK(var)) var = NEXT_LINK(var);
    +            while (var)
    +            {
    +                byte_count += 2; /* FIXME: determine real size */
    +                var = PREV_LINK(var);
    +            }
    +        }
    +
    +        /* return value size */
    +        byte_count += 2; /* FIXME: determine real size */
    +        func = PREV_LINK(func);
    +    }
    +    print_server("#define PROC_FORMAT_STRING_SIZE %d\n", byte_count);
    +
    +    fprintf(server, "\n");
    +    write_formatdesc("TYPE");
    +    write_formatdesc("PROC");
    +    fprintf(server, "\n");
    +    print_server("extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;\n");
    +    print_server("extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;\n");
    +    print_server("\n");
    +}
    +
    +
    +static void init_server(void)
    +{
    +    if (server)
    +        return;
    +    if (!(server = fopen(server_name, "w")))
    +        error("Could not open %s for output\n", server_name);
    +
    +    print_server("/*** Autogenerated by WIDL %s from %s - Do not edit ***/\n", WIDL_FULLVERSION, input_name);
    +    print_server("#include\n");
    +    fprintf(server, "\n");
    +    print_server("#include\"%s\"\n", header_name);
    +    fprintf(server, "\n");
    +}
    +
    +
    +void write_server(ifref_t *ifaces)
    +{
    +    ifref_t *iface = ifaces;
    +
    +    if (!do_server)
    +        return;
    +    if (!iface)
    +        return;
    +    END_OF_LIST(iface);
    +
    +    init_server();
    +    if (!server)
    +        return;
    +
    +    while (iface)
    +    {
    +        fprintf(server, "/*****************************************************************************\n");
    +        fprintf(server, " * %s interface\n", iface->iface->name);
    +        fprintf(server, " */\n");
    +        fprintf(server, "\n");
    +
    +        write_formatstringsdecl(iface->iface);
    +        write_serverinterfacedecl(iface->iface);
    +        write_stubdescdecl(iface->iface);
    +
    +        write_function_stubs(iface->iface);
    +
    +        write_stubdescriptor(iface->iface);
    +        write_dispatchtable(iface->iface);
    +
    +        print_server("#if !defined(__RPC_WIN32__)\n");
    +        print_server("#error  Invalid build platform for this stub.\n");
    +        print_server("#endif\n");
    +        fprintf(server, "\n");
    +
    +        write_procformatstring(iface->iface);
    +        write_typeformatstring();
    +
    +        fprintf(server, "\n");
    +
    +        iface = PREV_LINK(iface);
    +    }
    +
    +    fclose(server);
    +}
    diff --git a/reactos/tools/widl/typelib.c b/reactos/tools/widl/typelib.c
    new file mode 100644
    index 00000000000..bb11514b11e
    --- /dev/null
    +++ b/reactos/tools/widl/typelib.c
    @@ -0,0 +1,275 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2004 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "header.h"
    +#include "typelib.h"
    +
    +int in_typelib = 0;
    +
    +static typelib_t *typelib;
    +
    +/* List of oleauto types that should be recognized by name.
    + * (most of) these seem to be intrinsic types in mktyplib. */
    +
    +static struct oatype {
    +  const char *kw;
    +  unsigned short vt;
    +} oatypes[] = {
    +  {"BSTR",          VT_BSTR},
    +  {"CURRENCY",      VT_CY},
    +  {"DATE",          VT_DATE},
    +  {"DECIMAL",       VT_DECIMAL},
    +  {"HRESULT",       VT_HRESULT},
    +  {"LPSTR",         VT_LPSTR},
    +  {"LPWSTR",        VT_LPWSTR},
    +  {"SCODE",         VT_ERROR},
    +  {"VARIANT",       VT_VARIANT},
    +  {"VARIANT_BOOL",  VT_BOOL}
    +};
    +#define NTYPES (sizeof(oatypes)/sizeof(oatypes[0]))
    +#define KWP(p) ((const struct oatype *)(p))
    +
    +static int kw_cmp_func(const void *s1, const void *s2)
    +{
    +        return strcmp(KWP(s1)->kw, KWP(s2)->kw);
    +}
    +
    +static unsigned short builtin_vt(const char *kw)
    +{
    +  struct oatype key, *kwp;
    +  key.kw = kw;
    +#ifdef KW_BSEARCH
    +  kwp = bsearch(&key, oatypes, NTYPES, sizeof(oatypes[0]), kw_cmp_func);
    +#else
    +  {
    +    int i;
    +    for (kwp=NULL, i=0; i < NTYPES; i++)
    +      if (!kw_cmp_func(&key, &oatypes[i])) {
    +        kwp = &oatypes[i];
    +        break;
    +      }
    +  }
    +#endif
    +  if (kwp) {
    +    return kwp->vt;
    +  }
    +  return 0;
    +}
    +
    +static int match(const char*n, const char*m)
    +{
    +  if (!n) return 0;
    +  return !strcmp(n, m);
    +}
    +
    +unsigned short get_type_vt(type_t *t)
    +{
    +  unsigned short vt;
    +
    +  chat("get_type_vt: %p type->name %s\n", t, t->name);
    +  if (t->name) {
    +    vt = builtin_vt(t->name);
    +    if (vt) return vt;
    +  }
    +
    +  switch (t->type) {
    +  case RPC_FC_BYTE:
    +  case RPC_FC_USMALL:
    +    return VT_UI1;
    +  case RPC_FC_CHAR:
    +  case RPC_FC_SMALL:
    +    return VT_I1;
    +  case RPC_FC_WCHAR:
    +    return VT_I2; /* mktyplib seems to parse wchar_t as short */
    +  case RPC_FC_SHORT:
    +    return VT_I2;
    +  case RPC_FC_USHORT:
    +    return VT_UI2;
    +  case RPC_FC_LONG:
    +    if (t->ref && match(t->ref->name, "int")) return VT_INT;
    +    return VT_I4;
    +  case RPC_FC_ULONG:
    +    if (t->ref && match(t->ref->name, "int")) return VT_UINT;
    +    return VT_UI4;
    +  case RPC_FC_HYPER:
    +    if (t->sign < 0) return VT_UI8;
    +    if (t->ref && match(t->ref->name, "MIDL_uhyper")) return VT_UI8;
    +    return VT_I8;
    +  case RPC_FC_FLOAT:
    +    return VT_R4;
    +  case RPC_FC_DOUBLE:
    +    return VT_R8;
    +  case RPC_FC_RP:
    +  case RPC_FC_UP:
    +  case RPC_FC_OP:
    +  case RPC_FC_FP:
    +    if(t->ref)
    +      return VT_PTR;
    +
    +    error("get_type_vt: unknown-deref-type: %d\n", t->ref->type);
    +    break;
    +  case RPC_FC_IP:
    +    if(match(t->name, "IUnknown"))
    +      return VT_UNKNOWN;
    +    if(match(t->name, "IDispatch"))
    +      return VT_DISPATCH;
    +    return VT_USERDEFINED;
    +
    +  case RPC_FC_ENUM16:        
    +  case RPC_FC_STRUCT:
    +  case RPC_FC_PSTRUCT:
    +    return VT_USERDEFINED;
    +  case 0:
    +    if(t->attrs)
    +        return VT_USERDEFINED;
    +    return 0;
    +  default:
    +    error("get_type_vt: unknown-type: %d\n", t->type);
    +  }
    +  return 0;
    +}
    +
    +unsigned short get_var_vt(var_t *v)
    +{
    +  unsigned short vt;
    +
    +  chat("get_var_vt: %p tname %s\n", v, v->tname);
    +  if (v->tname) {
    +    vt = builtin_vt(v->tname);
    +    if (vt) return vt;
    +  }
    +
    +  return get_type_vt(v->type);
    +}
    +
    +void start_typelib(char *name, attr_t *attrs)
    +{
    +    in_typelib++;
    +    if (!do_typelib) return;
    +
    +    typelib = xmalloc(sizeof(*typelib));
    +    typelib->name = xstrdup(name);
    +    typelib->filename = xstrdup(typelib_name);
    +    typelib->attrs = attrs;
    +}
    +
    +void end_typelib(void)
    +{
    +    in_typelib--;
    +    if (!typelib) return;
    +
    +    create_msft_typelib(typelib);
    +    return;
    +}
    +
    +void add_interface(type_t *iface)
    +{
    +    typelib_entry_t *entry;
    +    if (!typelib) return;
    +
    +    chat("add interface: %s\n", iface->name);
    +    entry = xmalloc(sizeof(*entry));
    +    entry->kind = TKIND_INTERFACE;
    +    entry->u.interface = iface;
    +    LINK(entry, typelib->entry);
    +    typelib->entry = entry;
    +}
    +
    +void add_coclass(class_t *cls)
    +{
    +    typelib_entry_t *entry;
    +
    +    if (!typelib) return;
    +
    +    chat("add coclass: %s\n", cls->name);
    +
    +    entry = xmalloc(sizeof(*entry));
    +    entry->kind = TKIND_COCLASS;
    +    entry->u.class = cls;
    +    LINK(entry, typelib->entry);
    +    typelib->entry = entry;
    +}
    +
    +void add_module(type_t *module)
    +{
    +    typelib_entry_t *entry;
    +    if (!typelib) return;
    +
    +    chat("add module: %s\n", module->name);
    +    entry = xmalloc(sizeof(*entry));
    +    entry->kind = TKIND_MODULE;
    +    entry->u.module = module;
    +    LINK(entry, typelib->entry);
    +    typelib->entry = entry;
    +}
    +
    +void add_struct(type_t *structure)
    +{
    +     typelib_entry_t *entry;
    +     if (!typelib) return;
    +
    +     chat("add struct: %s\n", structure->name);
    +     entry = xmalloc(sizeof(*entry));
    +     entry->kind = TKIND_RECORD;
    +     entry->u.structure = structure;
    +     LINK(entry, typelib->entry);
    +     typelib->entry = entry;
    +}
    +
    +void add_enum(type_t *enumeration)
    +{
    +     typelib_entry_t *entry;
    +     if (!typelib) return;
    +
    +     chat("add enum: %s\n", enumeration->name);
    +     entry = xmalloc(sizeof(*entry));
    +     entry->kind = TKIND_ENUM;
    +     entry->u.enumeration = enumeration;
    +     LINK(entry, typelib->entry);
    +     typelib->entry = entry;
    +}
    +
    +void add_typedef(type_t *tdef, var_t *name)
    +{
    +     typelib_entry_t *entry;
    +     if (!typelib) return;
    +
    +     entry = xmalloc(sizeof(*entry));
    +     entry->kind = TKIND_ALIAS;
    +     entry->u.tdef = xmalloc(sizeof(*entry->u.tdef));
    +     memcpy(entry->u.tdef, name, sizeof(*name));
    +     entry->u.tdef->type = tdef;
    +     entry->u.tdef->name = xstrdup(name->name);
    +     LINK(entry, typelib->entry);
    +     typelib->entry = entry;
    +}
    diff --git a/reactos/tools/widl/typelib.h b/reactos/tools/widl/typelib.h
    new file mode 100644
    index 00000000000..d6ba5a7d700
    --- /dev/null
    +++ b/reactos/tools/widl/typelib.h
    @@ -0,0 +1,92 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2004 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WIDL_TYPELIB_H
    +#define __WIDL_TYPELIB_H
    +
    +extern int in_typelib;
    +extern void start_typelib(char *name, attr_t *attrs);
    +extern void end_typelib(void);
    +extern void add_interface(type_t *iface);
    +extern void add_coclass(class_t *cls);
    +extern void add_module(type_t *module);
    +extern void add_struct(type_t *structure);
    +extern void add_enum(type_t *enumeration);
    +extern void add_typedef(type_t *tdef, var_t *name);
    +
    +/* Copied from wtypes.h. Not included directly because that would create a
    + * circular dependency (after all, wtypes.h is generated by widl...) */
    +
    +enum VARENUM {
    +    VT_EMPTY = 0,
    +    VT_NULL = 1,
    +    VT_I2 = 2,
    +    VT_I4 = 3,
    +    VT_R4 = 4,
    +    VT_R8 = 5,
    +    VT_CY = 6,
    +    VT_DATE = 7,
    +    VT_BSTR = 8,
    +    VT_DISPATCH = 9,
    +    VT_ERROR = 10,
    +    VT_BOOL = 11,
    +    VT_VARIANT = 12,
    +    VT_UNKNOWN = 13,
    +    VT_DECIMAL = 14,
    +    VT_I1 = 16,
    +    VT_UI1 = 17,
    +    VT_UI2 = 18,
    +    VT_UI4 = 19,
    +    VT_I8 = 20,
    +    VT_UI8 = 21,
    +    VT_INT = 22,
    +    VT_UINT = 23,
    +    VT_VOID = 24,
    +    VT_HRESULT = 25,
    +    VT_PTR = 26,
    +    VT_SAFEARRAY = 27,
    +    VT_CARRAY = 28,
    +    VT_USERDEFINED = 29,
    +    VT_LPSTR = 30,
    +    VT_LPWSTR = 31,
    +    VT_RECORD = 36,
    +    VT_FILETIME = 64,
    +    VT_BLOB = 65,
    +    VT_STREAM = 66,
    +    VT_STORAGE = 67,
    +    VT_STREAMED_OBJECT = 68,
    +    VT_STORED_OBJECT = 69,
    +    VT_BLOB_OBJECT = 70,
    +    VT_CF = 71,
    +    VT_CLSID = 72,
    +    VT_BSTR_BLOB = 0xfff,
    +    VT_VECTOR = 0x1000,
    +    VT_ARRAY = 0x2000,
    +    VT_BYREF = 0x4000,
    +    VT_RESERVED = 0x8000,
    +    VT_ILLEGAL = 0xffff,
    +    VT_ILLEGALMASKED = 0xfff,
    +    VT_TYPEMASK = 0xfff
    +};
    +extern unsigned short get_type_vt(type_t *t);
    +extern unsigned short get_var_vt(var_t *v);
    +
    +extern int create_msft_typelib(typelib_t *typelib);
    +#endif
    diff --git a/reactos/tools/widl/typelib_struct.h b/reactos/tools/widl/typelib_struct.h
    new file mode 100644
    index 00000000000..43c140628e9
    --- /dev/null
    +++ b/reactos/tools/widl/typelib_struct.h
    @@ -0,0 +1,598 @@
    +/*
    + * typelib_struct.h  internal wine data structures
    + * used to decode typelib's
    + *
    + * Copyright 1999 Rein KLazes
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +#ifndef _WIDL_TYPELIB_STRUCT_H
    +#define _WIDL_TYPELIB_STRUCT_H
    +
    +#define HELPDLLFLAG (0x0100)
    +#define DO_NOT_SEEK (-1)
    +
    +#define MSFT_HREFTYPE_INTHISFILE(href) (!((href) & 3))
    +#define MSFT_HREFTYPE_INDEX(href) ((href) /sizeof(MSFT_TypeInfoBase))
    +
    +/*-------------------------FILE STRUCTURES-----------------------------------*/
    +
    +/* There are two known file formats, those created with ICreateTypeLib
    + * have the signature "SLTG" as their first four bytes, while those created
    + * with ICreateTypeLib2 have "MSFT".
    + */
    +
    +/*****************************************************
    + *                MSFT typelibs
    + *
    + * These are TypeLibs created with ICreateTypeLib2
    + *
    + */
    +
    +/*
    + * structure of the typelib type2 header
    + * it is at the beginning of a type lib file
    + *
    + */
    +typedef struct tagMSFT_Header {
    +/*0x00*/INT   magic1;       /* 0x5446534D "MSFT" */
    +        INT   magic2;       /* 0x00010002 version nr? */
    +        INT   posguid;      /* position of libid in guid table  */
    +                            /* (should be,  else -1) */
    +        INT   lcid;         /* locale id */
    +/*0x10*/INT   lcid2;
    +        INT   varflags;     /* (largely) unknown flags */
    +                            /* the lower nibble is syskind */
    +                            /* 0x40 always seems to be set */
    +                            /* 0x10 set with a helpfile defined */
    +                            /* 0x100 set with a helpstringdll defined - in this
    +                                  case the offset to the name in the stringtable
    +                                  appears right after this struct, before the
    +                                  typeinfo offsets */
    +        INT   version;      /* set with SetVersion() */
    +        INT   flags;        /* set with SetFlags() */
    +/*0x20*/INT   nrtypeinfos;  /* number of typeinfo's (till so far) */
    +        INT   helpstring;   /* position of help string in stringtable */
    +        INT   helpstringcontext;
    +        INT   helpcontext;
    +/*0x30*/INT   nametablecount;   /* number of names in name table */
    +        INT   nametablechars;   /* nr of characters in name table */
    +        INT   NameOffset;       /* offset of name in name table */
    +        INT   helpfile;         /* position of helpfile in stringtable */
    +/*0x40*/INT   CustomDataOffset; /* if -1 no custom data, else it is offset */
    +                                /* in customer data/guid offset table */
    +        INT   res44;            /* unknown always: 0x20 (guid hash size?) */
    +        INT   res48;            /* unknown always: 0x80 (name hash size?) */
    +        INT   dispatchpos;      /* HREFTYPE to IDispatch, or -1 if no IDispatch */
    +/*0x50*/INT   res50;            /* is zero becomes one when an interface is derived */
    +} MSFT_Header;
    +
    +/* segments in the type lib file have a structure like this: */
    +typedef struct tagMSFT_pSeg {
    +        INT   offset;       /* absolute offset in file */
    +        INT   length;       /* length of segment */
    +        INT   res08;        /* unknown always -1 */
    +        INT   res0c;        /* unknown always 0x0f in the header */
    +                            /* 0x03 in the typeinfo_data */
    +} MSFT_pSeg;
    +
    +/* layout of the main segment directory */
    +typedef struct tagMSFT_SegDir {
    +/*1*/MSFT_pSeg pTypeInfoTab; /* each type info get an entry of 0x64 bytes */
    +                             /* (25 ints) */
    +/*2*/MSFT_pSeg pImpInfo;     /* table with info for imported types */
    +/*3*/MSFT_pSeg pImpFiles;    /* import libaries */
    +/*4*/MSFT_pSeg pRefTab;      /* References table */
    +/*5*/MSFT_pSeg pLibtab;      /* always exists, alway same size (0x80) */
    +                             /* hash table w offsets to guid????? */
    +/*6*/MSFT_pSeg pGuidTab;     /* all guids are stored here together with  */
    +                             /* offset in some table???? */
    +/*7*/MSFT_pSeg res07;        /* always created, alway same size (0x200) */
    +                             /* purpose largely unknown */
    +/*8*/MSFT_pSeg pNametab;     /* name tables */
    +/*9*/MSFT_pSeg pStringtab;   /* string table */
    +/*A*/MSFT_pSeg pTypdescTab;  /* table with type descriptors */
    +/*B*/MSFT_pSeg pArrayDescriptions;
    +/*C*/MSFT_pSeg pCustData;    /* data table, used for custom data and default */
    +                             /* parameter values */
    +/*D*/MSFT_pSeg pCDGuids;     /* table with offsets for the guids and into */
    +                             /* the customer data table */
    +/*E*/MSFT_pSeg res0e;        /* unknown */
    +/*F*/MSFT_pSeg res0f;        /* unknown  */
    +} MSFT_SegDir;
    +
    +
    +/* base type info data */
    +typedef struct tagMSFT_TypeInfoBase {
    +/*000*/ INT   typekind;             /*  it is the TKIND_xxx */
    +                                    /* some byte alignment stuf */
    +        INT     memoffset;          /* points past the file, if no elements */
    +        INT     res2;               /* zero if no element, N*0x40 */
    +        INT     res3;               /* -1 if no lement, (N-1)*0x38 */
    +/*010*/ INT     res4;               /* always? 3 */
    +        INT     res5;               /* always? zero */
    +        INT     cElement;           /* counts elements, HI=cVars, LO=cFuncs */
    +        INT     res7;               /* always? zero */
    +/*020*/ INT     res8;               /* always? zero */
    +        INT     res9;               /* always? zero */
    +        INT     resA;               /* always? zero */
    +        INT     posguid;            /* position in guid table */
    +/*030*/ INT     flags;              /* Typeflags */
    +        INT     NameOffset;         /* offset in name table */
    +        INT     version;            /* element version */
    +        INT     docstringoffs;      /* offset of docstring in string tab */
    +/*040*/ INT     helpstringcontext;  /*  */
    +        INT     helpcontext;    /* */
    +        INT     oCustData;          /* offset in customer data table */
    +#ifdef WORDS_BIGENDIAN
    +        INT16   cbSizeVft;      /* virtual table size, including inherits */
    +        INT16   cImplTypes;     /* nr of implemented interfaces */
    +#else
    +        INT16   cImplTypes;     /* nr of implemented interfaces */
    +        INT16   cbSizeVft;      /* virtual table size, including inherits */
    +#endif
    +/*050*/ INT     size;           /* size in bytes, at least for structures */
    +        /* FIXME: name of this field */
    +        INT     datatype1;      /* position in type description table */
    +                                /* or in base intefaces */
    +                                /* if coclass: offset in reftable */
    +                                /* if interface: reference to inherited if */
    +        INT     datatype2;      /* for interfaces: hiword is num of inherited funcs */
    +                                /*                 loword is num of inherited interfaces */
    +        INT     res18;          /* always? 0 */
    +/*060*/ INT     res19;          /* always? -1 */
    +    } MSFT_TypeInfoBase;
    +
    +/* layout of an entry with information on imported types */
    +typedef struct tagMSFT_ImpInfo {
    +    INT     res0;           /* unknown */
    +    INT     oImpFile;       /* offset inthe Import File table */
    +    INT     oGuid;          /* offset in Guid table */
    +    } MSFT_ImpInfo;
    +
    +/* function description data */
    +typedef struct {
    +/*  INT   recsize;       record size including some xtra stuff */
    +    INT   DataType;     /* data type of the memeber, eg return of function */
    +    INT   Flags;        /* something to do with attribute flags (LOWORD) */
    +#ifdef WORDS_BIGENDIAN
    +    INT16 funcdescsize; /* size of reconstituted FUNCDESC and related structs */
    +    INT16 VtableOffset; /* offset in vtable */
    +#else
    +    INT16 VtableOffset; /* offset in vtable */
    +    INT16 funcdescsize; /* size of reconstituted FUNCDESC and related structs */
    +#endif
    +    INT   FKCCIC;       /* bit string with the following  */
    +                        /* meaning (bit 0 is the lsb): */
    +                        /* bits 0 - 2: FUNCKIND */
    +                        /* bits 3 - 6: INVOKEKIND */
    +                        /* bit  7: custom data present */
    +                        /* bits 8 - 11: CALLCONV */
    +                        /* bit  12: parameters have default values */
    +                        /* bit  13: oEntry is numeric */
    +                        /* bit  14: has retval param */
    +                        /* bits 16 - 31: index of next function with same id */
    +#ifdef WORDS_BIGENDIAN
    +    INT16 nroargs;      /* nr of optional arguments */
    +    INT16 nrargs;       /* number of arguments (including optional ????) */
    +#else
    +    INT16 nrargs;       /* number of arguments (including optional ????) */
    +    INT16 nroargs;      /* nr of optional arguments */
    +#endif
    +    /* optional attribute fields, the number of them is variable */
    +    INT   OptAttr[1];
    +/*
    +0*  INT   helpcontext;
    +1*  INT   oHelpString;
    +2*  INT   oEntry;       // either offset in string table or numeric as it is (see bit 13 of FKCCIC) //
    +3*  INT   res9;         // unknown (-1) //
    +4*  INT   resA;         // unknown (-1) //
    +5*  INT   HelpStringContext;
    +    // these are controlled by a bit set in the FKCCIC field  //
    +6*  INT   oCustData;        // custom data for function //
    +7*  INT   oArgCustData[1];  // custom data per argument //
    +*/
    +} MSFT_FuncRecord;
    +
    +/* after this may follow an array with default value pointers if the
    + * appropriate bit in the FKCCIC field has been set:
    + * INT   oDefautlValue[nrargs];
    + */
    +
    +    /* Parameter info one per argument*/
    +typedef struct {
    +        INT   DataType;
    +        INT   oName;
    +        INT   Flags;
    +    } MSFT_ParameterInfo;
    +
    +/* Variable description data */
    +typedef struct {
    +/*  INT   recsize;      // record size including some xtra stuff */
    +    INT   DataType;     /* data type of the variable */
    +    INT   Flags;        /* VarFlags (LOWORD) */
    +#ifdef WORDS_BIGENDIAN
    +    INT16 vardescsize;  /* size of reconstituted VARDESC and related structs */
    +    INT16 VarKind;      /* VarKind */
    +#else
    +    INT16 VarKind;      /* VarKind */
    +    INT16 vardescsize;  /* size of reconstituted VARDESC and related structs */
    +#endif
    +    INT   OffsValue;    /* value of the variable or the offset  */
    +                        /* in the data structure */
    +    /* optional attribute fields, the number of them is variable */
    +    /* controlled by record length */
    +    INT   HelpContext;
    +    INT   oHelpString;
    +    INT   res9;         /* unknown (-1) */
    +    INT   oCustData;        /* custom data for variable */
    +    INT   HelpStringContext;
    +
    +} MSFT_VarRecord;
    +
    +/* Structure of the reference data  */
    +typedef struct {
    +    INT   reftype;  /* either offset in type info table, then it's */
    +                    /* a multiple of 64 */
    +                    /* or offset in the external reference table */
    +                    /* with an offset of 1 */
    +    INT   flags;
    +    INT   oCustData;    /* custom data */
    +    INT   onext;    /* next offset, -1 if last */
    +} MSFT_RefRecord;
    +
    +/* this is how a guid is stored */
    +typedef struct {
    +    GUID guid;
    +    INT   hreftype;     /* -2 for the typelib guid, typeinfo offset
    +			   for typeinfo guid, low two bits are 01 if
    +			   this is an imported typeinfo, low two bits
    +			   are 10 if this is an imported typelib (used
    +			   by imported typeinfos) */
    +    INT   next_hash;    /* offset to next guid in the hash bucket */
    +} MSFT_GuidEntry;
    +/* some data preceding entries in the name table */
    +typedef struct {
    +    INT   hreftype;     /* is -1 if name is for neither a typeinfo,
    +			   a variable, or a function (that is, name
    +			   is for a typelib or a function parameter).
    +			   otherwise is the offset of the first
    +			   typeinfo that this name refers to (either
    +			   to the typeinfo itself or to a member of
    +			   the typeinfo */
    +    INT   next_hash;    /* offset to next name in the hash bucket */
    +    INT   namelen;      /* only lower 8 bits are valid */
    +                        /* 0x1000 if name is only used once as a variable name */
    +                        /* 0x2000 if name is a variable in an enumeration */
    +                        /* 0x3800 if name is typeinfo name */
    +			/* upper 16 bits are hash code */
    +} MSFT_NameIntro;
    +/* the custom data table directory has enties like this */
    +typedef struct {
    +    INT   GuidOffset;
    +    INT   DataOffset;
    +    INT   next;     /* next offset in the table, -1 if it's the last */
    +} MSFT_CDGuid;
    +
    +
    +/***********************************************************
    + *
    + *                SLTG typelibs.
    + *
    + * These are created with ICreateTypeLib
    + *
    + */
    +
    +#include "pshpack1.h"
    +
    +typedef struct {
    +/*00*/	DWORD SLTG_magic;	/* 0x47544c53  == "SLTG" */
    +/*04*/	WORD nrOfFileBlks;	/* no of SLTG_BlkEntry's + 1 */
    +/*06*/  WORD res06;		/* ?? always 9 */
    +/*08*/  WORD res08;             /* some kind of len/offset ?? */
    +/*0a*/	WORD first_blk;		/* 1 based index into blk entries that
    +				   corresponds to first block in file */
    +/*0c*/	DWORD res0c;		/* always 0x000204ff */
    +/*10*/  DWORD res10;		/* always 0x00000000 */
    +/*14*/	DWORD res14;		/* always 0x000000c0 */
    +/*18*/	DWORD res18;		/* always 0x46000000 */
    +/*1c*/	DWORD res1c;		/* always 0x00000044 */
    +/*20*/	DWORD res20;		/* always 0xffff0000 */
    +} SLTG_Header;
    +
    +/* This gets followed by a list of block entries */
    +typedef struct {
    +/*00*/  DWORD len;
    +/*04*/	WORD index_string; /* offs from start of SLTG_Magic to index string */
    +/*06*/  WORD next;
    +} SLTG_BlkEntry;
    +
    +/* The order of the blocks in the file is given by starting at Block
    +   entry firt_blk and stepping through using the next pointer */
    +
    +/* These then get followed by this magic */
    +typedef struct {
    +/*00*/ BYTE res00;		/* always 0x01 */
    +/*01*/ CHAR CompObj_magic[8];	/* always "CompObj" */
    +/*09*/ CHAR dir_magic[4];	/* always "dir" */
    +} SLTG_Magic;
    +
    +#define SLTG_COMPOBJ_MAGIC "CompObj"
    +#define SLTG_DIR_MAGIC "dir"
    +
    +/* Next we have SLTG_Header.nrOfFileBlks - 2 of Index strings.  These
    +are presumably unique to within the file and look something like
    +"AAAAAAAAAA" with the first character incremented from 'A' to ensure
    +uniqueness.  I guess successive chars increment when we need to wrap
    +the first one. */
    +
    +typedef struct {
    +/*00*/ CHAR string[11];
    +} SLTG_Index;
    +
    +
    +/* This is followed by SLTG_pad9 */
    +typedef struct {
    +/*00*/ CHAR pad[9];	/* 9 '\0's */
    +} SLTG_Pad9;
    +
    +
    +/* Now we have the noOfFileBlks - 1 worth of blocks. The length of
    +each block is given by its entry in SLTG_BlkEntry. */
    +
    +/* type SLTG_NAME in rather like a BSTR except that the length in
    +bytes is given by the first WORD and the string contains 8bit chars */
    +
    +typedef WORD SLTG_Name;
    +
    +/* The main library block looks like this.  This one seems to come last */
    +
    +typedef struct {
    +/*00*/	WORD magic;		/* 0x51cc */
    +/*02*/  WORD res02;		/* 0x0003, 0x0004 */
    +/*04*/  WORD name;              /* offset to name in name table */
    +/*06*/  SLTG_Name res06;	/* maybe this is just WORD == 0xffff */
    +	SLTG_Name helpstring;
    +	SLTG_Name helpfile;
    +	DWORD helpcontext;
    +	WORD syskind;		/* == 1 for win32, 0 for win16 */
    +	WORD lcid;		/* == 0x409, 0x809 etc */
    +	DWORD res12;		/* == 0 */
    + 	WORD libflags;		/* LIBFLAG_* */
    +	WORD maj_vers;
    +	WORD min_vers;
    +	GUID uuid;
    +} SLTG_LibBlk;
    +
    +#define SLTG_LIBBLK_MAGIC 0x51cc
    +
    +/* we then get 0x40 bytes worth of 0xffff or small numbers followed by
    +   nrOfFileBlks - 2 of these */
    +typedef struct {
    +	WORD small_no;
    +	SLTG_Name index_name; /* This refers to a name in the directory */
    +	SLTG_Name other_name; /* Another one of these weird names */
    +	WORD res1a;	      /* 0xffff */
    +	WORD name_offs;	      /* offset to name in name table */
    +	WORD more_bytes;      /* if this is non-zero we get this many
    +				 bytes before the next element, which seem
    +				 to reference the docstring of the type ? */
    +	WORD res20;	      /* 0xffff */
    +	DWORD helpcontext;
    +	WORD res26;	      /* 0xffff */
    +        GUID uuid;
    +} SLTG_OtherTypeInfo;
    +
    +/* Next we get WORD 0x0003 followed by a DWORD which if we add to
    +0x216 gives the offset to the name table from the start of the LibBlk
    +struct */
    +
    +typedef struct {
    +/*00*/	WORD magic;		/* 0x0501 */
    +/*02*/	DWORD href_table;	/* if not 0xffffffff, then byte offset from
    +				   beginning of struct to href table */
    +/*06*/	DWORD res06;		/* 0xffffffff */
    +/*0a*/	DWORD elem_table;	/* offset to members */
    +/*0e*/	DWORD res0e;		/* 0xffffffff */
    +/*12*/	WORD major_version;	/* major version number */
    +/*14*/  WORD minor_version;	/* minor version number */
    +/*16*/	DWORD res16;	/* 0xfffe0000 */
    +/*1a*/	BYTE typeflags1;/* 0x02 | top 5 bits hold l5sbs of TYPEFLAGS */
    +/*1b*/	BYTE typeflags2;/* TYPEFLAGS >> 5 */
    +/*1c*/	BYTE typeflags3;/* 0x02*/
    +/*1d*/	BYTE typekind;	/* 0x03 == TKIND_INTERFACE etc. */
    +/*1e*/  DWORD res1e;	/* 0x00000000 or 0xffffffff */
    +} SLTG_TypeInfoHeader;
    +
    +#define SLTG_TIHEADER_MAGIC 0x0501
    +
    +typedef struct {
    +/*00*/  WORD cFuncs;
    +/*02*/  WORD cVars;
    +/*04*/  WORD cImplTypes;
    +/*06*/  WORD res06;
    +/*08*/  WORD res08;
    +/*0a*/  WORD res0a;
    +/*0c*/  WORD res0c;
    +/*0e*/  WORD res0e;
    +/*10*/  WORD res10;
    +/*12*/  WORD res12;
    +/*14*/  WORD tdescalias_vt; /* for TKIND_ALIAS */
    +/*16*/  WORD res16;
    +/*18*/  WORD res18;
    +/*1a*/  WORD res1a;
    +/*1c*/  WORD res1c;
    +/*1e*/  WORD res1e;
    +/*20*/  WORD cbSizeInstance;
    +/*22*/  WORD cbAlignment;
    +/*24*/  WORD res24;
    +/*26*/  WORD res26;
    +/*28*/  WORD cbSizeVft;
    +/*2a*/  WORD res2a;
    +/*2c*/  WORD res2c;
    +/*2e*/  WORD res2e;
    +/*30*/  WORD res30;
    +/*32*/  WORD res32;
    +/*34*/  WORD res34;
    +} SLTG_TypeInfoTail;
    +
    +typedef struct {
    +/*00*/ WORD res00; /* 0x0001 sometimes 0x0003 ?? */
    +/*02*/ WORD res02; /* 0xffff */
    +/*04*/ BYTE res04; /* 0x01 */
    +/*05*/ DWORD cbExtra; /* No of bytes that follow */
    +} SLTG_MemberHeader;
    +
    +typedef struct {
    +/*00*/	WORD magic;	/* 0x120a */
    +/*02*/	WORD next;	/* offset in bytes to next block from start of block
    +                           group, 0xffff if last item */
    +/*04*/	WORD name;	/* offset to name within name table */
    +/*06*/	WORD value;	/* offset to value from start of block group */
    +/*08*/	WORD res08;	/* 0x56 */
    +/*0a*/	DWORD memid;	/* memid */
    +/*0e*/  WORD helpcontext;/* 0xfffe == no context, 0x0001 == stored in EnumInfo struct, else offset
    +			    to value from start of block group */
    +/*10*/	WORD helpstring;/* offset from start of block group to string offset */
    +} SLTG_EnumItem;
    +
    +#define SLTG_ENUMITEM_MAGIC 0x120a
    +
    +typedef struct {
    +/*00*/	WORD vt;	/* vartype, 0xffff marks end. */
    +/*02*/	WORD res02;	/* ?, 0xffff marks end */
    +} SLTG_AliasItem;
    +
    +#define SLTG_ALIASITEM_MAGIC 0x001d
    +
    +
    +typedef struct {
    +	BYTE magic;	/* 0x4c or 0x6c */
    +	BYTE inv;	/* high nibble is INVOKE_KIND, low nibble = 2 */
    +	WORD next;	/* byte offset from beginning of group to next fn */
    +	WORD name;	/* Offset within name table to name */
    +	DWORD dispid;	/* dispid */
    +	WORD helpcontext; /* helpcontext (again 1 is special) */
    +	WORD helpstring;/* helpstring offset to offset */
    +	WORD arg_off;	/* offset to args from start of block */
    +	BYTE nacc;	/* lowest 3bits are CALLCONV, rest are no of args */
    +        BYTE retnextopt;/* if 0x80 bit set ret type follows else next WORD
    +			   is offset to ret type. No of optional args is
    +			   middle 6 bits */
    +	WORD rettype;	/* return type VT_?? or offset to ret type */
    +	WORD vtblpos;	/* position in vtbl? */
    +	WORD funcflags; /* present if magic == 0x6c */
    +/* Param list starts, repeat next two as required */
    +#if 0
    +	WORD  name;	/* offset to 2nd letter of name */
    +	WORD+ type;	/* VT_ of param */
    +#endif
    +} SLTG_Function;
    +
    +#define SLTG_FUNCTION_MAGIC 0x4c
    +#define SLTG_FUNCTION_WITH_FLAGS_MAGIC 0x6c
    +
    +typedef struct {
    +/*00*/	BYTE magic;		/* 0xdf */
    +/*01*/  BYTE res01;		/* 0x00 */
    +/*02*/	DWORD res02;		/* 0xffffffff */
    +/*06*/	DWORD res06;		/* 0xffffffff */
    +/*0a*/	DWORD res0a;		/* 0xffffffff */
    +/*0e*/	DWORD res0e;		/* 0xffffffff */
    +/*12*/	DWORD res12;		/* 0xffffffff */
    +/*16*/	DWORD res16;		/* 0xffffffff */
    +/*1a*/	DWORD res1a;		/* 0xffffffff */
    +/*1e*/	DWORD res1e;		/* 0xffffffff */
    +/*22*/	DWORD res22;		/* 0xffffffff */
    +/*26*/	DWORD res26;		/* 0xffffffff */
    +/*2a*/	DWORD res2a;		/* 0xffffffff */
    +/*2e*/	DWORD res2e;		/* 0xffffffff */
    +/*32*/	DWORD res32;		/* 0xffffffff */
    +/*36*/	DWORD res36;		/* 0xffffffff */
    +/*3a*/	DWORD res3a;		/* 0xffffffff */
    +/*3e*/	DWORD res3e;		/* 0xffffffff */
    +/*42*/	WORD  res42;		/* 0xffff */
    +/*44*/	DWORD number;		/* this is 8 times the number of refs */
    +/*48*/	/* Now we have number bytes (8 for each ref) of SLTG_UnknownRefInfo */
    +
    +/*50*/	WORD res50;		/* 0xffff */
    +/*52*/	BYTE res52;		/* 0x01 */
    +/*53*/	DWORD res53;		/* 0x00000000 */
    +/*57*/  SLTG_Name names[1];
    +  /*    Now we have number/8 SLTG_Names (first WORD is no of bytes in the ascii
    +   *    string).  Strings look like "*\Rxxxx*#n".  If xxxx == ffff then the
    +   *    ref refers to the nth type listed in this library (0 based).  Else
    +   *    the xxxx (which maybe fewer than 4 digits) is the offset into the name
    +   *    table to a string "*\G{}#1.0#0#C:\WINNT\System32\stdole32.tlb#"
    +   *    The guid is the typelib guid; the ref again refers to the nth type of
    +   *    the imported typelib.
    +   */
    +
    +/*xx*/ BYTE resxx;		/* 0xdf */
    +
    +} SLTG_RefInfo;
    +
    +#define SLTG_REF_MAGIC 0xdf
    +
    +typedef struct {
    +	WORD res00;	/* 0x0001 */
    +	BYTE res02;	/* 0x02 */
    +	BYTE res03;	/* 0x40 if internal ref, 0x00 if external ? */
    +	WORD res04;	/* 0xffff */
    +	WORD res06;	/* 0x0000, 0x0013 or 0xffff ?? */
    +} SLTG_UnknownRefInfo;
    +
    +typedef struct {
    +  WORD res00; /* 0x004a */
    +  WORD next;  /* byte offs to next interface */
    +  WORD res04; /* 0xffff */
    +  BYTE impltypeflags; /* IMPLTYPEFLAG_* */
    +  BYTE res07; /* 0x80 */
    +  WORD res08; /* 0x0012, 0x0028 ?? */
    +  WORD ref;   /* number in ref table ? */
    +  WORD res0c; /* 0x4000 */
    +  WORD res0e; /* 0xfffe */
    +  WORD res10; /* 0xffff */
    +  WORD res12; /* 0x001d */
    +  WORD pos_in_table; /* 0x0, 0x4, ? */
    +} SLTG_ImplInfo;
    +
    +#define SLTG_IMPL_MAGIC 0x004a
    +
    +typedef struct {
    +  BYTE magic; /* 0x0a */
    +  BYTE typepos;
    +  WORD next;
    +  WORD name;
    +  WORD byte_offs; /* pos in struct */
    +  WORD type; /* if typepos == 0x02 this is the type, else offset to type */
    +  DWORD memid;
    +  WORD helpcontext; /* ?? */
    +  WORD helpstring; /* ?? */
    +} SLTG_RecordItem;
    +
    +#define SLTG_RECORD_MAGIC 0x0a
    +
    +
    +/* CARRAYs look like this
    +WORD type == VT_CARRAY
    +WORD offset from start of block to SAFEARRAY
    +WORD typeofarray
    +*/
    +
    +#include "poppack.h"
    +
    +/*---------------------------END--------------------------------------------*/
    +#endif
    diff --git a/reactos/tools/widl/utils.c b/reactos/tools/widl/utils.c
    new file mode 100644
    index 00000000000..50b32fbce69
    --- /dev/null
    +++ b/reactos/tools/widl/utils.c
    @@ -0,0 +1,194 @@
    +/*
    + * Utility routines
    + *
    + * Copyright 1998 Bertho A. Stultiens
    + * Copyright 2002 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +
    +/* #define WANT_NEAR_INDICATION */
    +
    +#ifdef WANT_NEAR_INDICATION
    +void make_print(char *str)
    +{
    +	while(*str)
    +	{
    +		if(!isprint(*str))
    +			*str = ' ';
    +		str++;
    +	}
    +}
    +#endif
    +
    +static void generic_msg(const char *s, const char *t, const char *n, va_list ap)
    +{
    +	fprintf(stderr, "%s:%d: %s: ", input_name ? input_name : "stdin", line_number, t);
    +	vfprintf(stderr, s, ap);
    +#ifdef WANT_NEAR_INDICATION
    +	{
    +		char *cpy;
    +		if(n)
    +		{
    +			cpy = xstrdup(n);
    +			make_print(cpy);
    +			fprintf(stderr, " near '%s'", cpy);
    +			free(cpy);
    +		}
    +	}
    +#endif
    +	fprintf(stderr, "\n");
    +}
    +
    +
    +int yyerror(const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	generic_msg(s, "Error", yytext, ap);
    +	va_end(ap);
    +	exit(1);
    +	return 1;
    +}
    +
    +int yywarning(const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	generic_msg(s, "Warning", yytext, ap);
    +	va_end(ap);
    +	return 0;
    +}
    +
    +void internal_error(const char *file, int line, const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	fprintf(stderr, "Internal error (please report) %s %d: ", file, line);
    +	vfprintf(stderr, s, ap);
    +	va_end(ap);
    +	exit(3);
    +}
    +
    +void error(const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	fprintf(stderr, "error: ");
    +	vfprintf(stderr, s, ap);
    +	va_end(ap);
    +	exit(2);
    +}
    +
    +void warning(const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	fprintf(stderr, "warning: ");
    +	vfprintf(stderr, s, ap);
    +	va_end(ap);
    +}
    +
    +void chat(const char *s, ...)
    +{
    +	if(debuglevel & DEBUGLEVEL_CHAT)
    +	{
    +		va_list ap;
    +		va_start(ap, s);
    +		fprintf(stderr, "chat: ");
    +		vfprintf(stderr, s, ap);
    +		va_end(ap);
    +	}
    +}
    +
    +char *dup_basename(const char *name, const char *ext)
    +{
    +	int namelen;
    +	int extlen = strlen(ext);
    +	char *base;
    +	char *slash;
    +
    +	if(!name)
    +		name = "widl.tab";
    +
    +	slash = strrchr(name, '/');
    +	if (slash)
    +		name = slash + 1;
    +
    +	namelen = strlen(name);
    +
    +	/* +4 for later extension and +1 for '\0' */
    +	base = (char *)xmalloc(namelen +4 +1);
    +	strcpy(base, name);
    +	if(!strcasecmp(name + namelen-extlen, ext))
    +	{
    +		base[namelen - extlen] = '\0';
    +	}
    +	return base;
    +}
    +
    +void *xmalloc(size_t size)
    +{
    +    void *res;
    +
    +    assert(size > 0);
    +    res = malloc(size);
    +    if(res == NULL)
    +    {
    +	error("Virtual memory exhausted.\n");
    +    }
    +    /*
    +     * We set it to 0.
    +     * This is *paramount* because we depend on it
    +     * just about everywhere in the rest of the code.
    +     */
    +    memset(res, 0, size);
    +    return res;
    +}
    +
    +
    +void *xrealloc(void *p, size_t size)
    +{
    +    void *res;
    +
    +    assert(size > 0);
    +    res = realloc(p, size);
    +    if(res == NULL)
    +    {
    +	error("Virtual memory exhausted.\n");
    +    }
    +    return res;
    +}
    +
    +char *xstrdup(const char *str)
    +{
    +	char *s;
    +
    +	assert(str != NULL);
    +	s = (char *)xmalloc(strlen(str)+1);
    +	return strcpy(s, str);
    +}
    diff --git a/reactos/tools/widl/utils.h b/reactos/tools/widl/utils.h
    new file mode 100644
    index 00000000000..a32ce0ce189
    --- /dev/null
    +++ b/reactos/tools/widl/utils.h
    @@ -0,0 +1,45 @@
    +/*
    + * Utility routines' prototypes etc.
    + *
    + * Copyright 1998 Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WIDL_UTILS_H
    +#define __WIDL_UTILS_H
    +
    +#include "widltypes.h"
    +
    +#include 	/* size_t */
    +
    +void *xmalloc(size_t);
    +void *xrealloc(void *, size_t);
    +char *xstrdup(const char *str);
    +
    +#ifndef __GNUC__
    +#define __attribute__(X)
    +#endif
    +
    +int yyerror(const char *s, ...) __attribute__((format (printf, 1, 2)));
    +int yywarning(const char *s, ...) __attribute__((format (printf, 1, 2)));
    +void internal_error(const char *file, int line, const char *s, ...) __attribute__((format (printf, 3, 4)));
    +void error(const char *s, ...) __attribute__((format (printf, 1, 2)));
    +void warning(const char *s, ...) __attribute__((format (printf, 1, 2)));
    +void chat(const char *s, ...) __attribute__((format (printf, 1, 2)));
    +
    +char *dup_basename(const char *name, const char *ext);
    +
    +#endif
    diff --git a/reactos/tools/widl/widl.c b/reactos/tools/widl/widl.c
    new file mode 100644
    index 00000000000..b952b5a4e40
    --- /dev/null
    +++ b/reactos/tools/widl/widl.c
    @@ -0,0 +1,349 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + * based on WRC code by Bertho Stultiens
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +# include 
    +#endif
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#define WIDL_FULLVERSION "0.1"
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "wine/wpp.h"
    +
    +/* future options to reserve characters for: */
    +/* a = alignment of structures */
    +/* A = ACF input filename */
    +/* J = do not search standard include path */
    +/* O = generate interpreted stubs */
    +/* u = UUID file only? */
    +/* U = UUID filename */
    +/* w = select win16/win32 output (?) */
    +
    +static char usage[] =
    +"Usage: widl [options...] infile.idl\n"
    +"   -c          Generate client stub\n"
    +"   -C file     Name of client stub file (default is infile_c.c)\n"
    +"   -d n        Set debug level to 'n'\n"
    +"   -D id[=val] Define preprocessor identifier id=val\n"
    +"   -E          Preprocess only\n"
    +"   -h          Generate headers\n"
    +"   -H file     Name of header file (default is infile.h)\n"
    +"   -I path     Set include search dir to path (multiple -I allowed)\n"
    +"   -N          Do not preprocess input\n"
    +"   -p          Generate proxy\n"
    +"   -P file     Name of proxy file (default is infile_p.c)\n"
    +"   -s          Generate server stub\n"
    +"   -S file     Name of server stub file (default is infile_s.c)\n"
    +"   -t          Generate typelib\n"
    +"   -T file     Name of typelib file (default is infile.tlb)\n"
    +"   -V          Print version and exit\n"
    +"   -W          Enable pedantic warnings\n"
    +"Debug level 'n' is a bitmask with following meaning:\n"
    +"    * 0x01 Tell which resource is parsed (verbose mode)\n"
    +"    * 0x02 Dump internal structures\n"
    +"    * 0x04 Create a parser trace (yydebug=1)\n"
    +"    * 0x08 Preprocessor messages\n"
    +"    * 0x10 Preprocessor lex messages\n"
    +"    * 0x20 Preprocessor yacc trace\n"
    +;
    +
    +static const char version_string[] = "Wine IDL Compiler Version " WIDL_FULLVERSION "\n"
    +			"Copyright 2002 Ove Kaaven\n";
    +
    +int win32 = 1;
    +int debuglevel = DEBUGLEVEL_NONE;
    +
    +int pedantic = 0;
    +static int do_everything = 1;
    +int preprocess_only = 0;
    +int do_header = 0;
    +int do_typelib = 0;
    +int do_proxies = 0;
    +int do_client = 0;
    +int do_server = 0;
    +int no_preprocess = 0;
    +
    +char *input_name;
    +char *header_name;
    +char *header_token;
    +char *typelib_name;
    +char *proxy_name;
    +char *proxy_token;
    +char *client_name;
    +char *client_token;
    +char *server_name;
    +char *server_token;
    +char *temp_name;
    +
    +int line_number = 1;
    +
    +FILE *header;
    +FILE *proxy;
    +
    +time_t now;
    +
    +int getopt (int argc, char *const *argv, const char *optstring);
    +static void rm_tempfile(void);
    +static void segvhandler(int sig);
    +
    +static char *make_token(const char *name)
    +{
    +  char *token;
    +  char *slash;
    +  int i;
    +
    +  slash = strrchr(name, '/');
    +  if (slash) name = slash + 1;
    +
    +  token = xstrdup(name);
    +  for (i=0; token[i]; i++) {
    +    if (!isalnum(token[i])) token[i] = '_';
    +    else token[i] = toupper(token[i]);
    +  }
    +  return token;
    +}
    +
    +int main(int argc,char *argv[])
    +{
    +  extern char* optarg;
    +  extern int   optind;
    +  int optc;
    +  int ret = 0;
    +
    +  signal(SIGSEGV, segvhandler);
    +
    +  now = time(NULL);
    +
    +  while((optc = getopt(argc, argv, "cC:d:D:EhH:I:NpP:sS:tT:VW")) != EOF) {
    +    switch(optc) {
    +    case 'c':
    +      do_everything = 0;
    +      do_client = 1;
    +      break;
    +    case 'C':
    +      client_name = strdup(optarg);
    +      break;
    +    case 'd':
    +      debuglevel = strtol(optarg, NULL, 0);
    +      break;
    +    case 'D':
    +      wpp_add_cmdline_define(optarg);
    +      break;
    +    case 'E':
    +      do_everything = 0;
    +      preprocess_only = 1;
    +      break;
    +    case 'h':
    +      do_everything = 0;
    +      do_header = 1;
    +      break;
    +    case 'H':
    +      header_name = strdup(optarg);
    +      break;
    +    case 'I':
    +      wpp_add_include_path(optarg);
    +      break;
    +    case 'N':
    +      no_preprocess = 1;
    +      break;
    +    case 'p':
    +      do_everything = 0;
    +      do_proxies = 1;
    +      break;
    +    case 'P':
    +      proxy_name = strdup(optarg);
    +      break;
    +    case 's':
    +      do_everything = 0;
    +      do_server = 1;
    +      break;
    +    case 'S':
    +      server_name = strdup(optarg);
    +      break;
    +    case 't':
    +      do_everything = 0;
    +      do_typelib = 1;
    +      break;
    +    case 'T':
    +      typelib_name = strdup(optarg);
    +      break;
    +    case 'V':
    +      printf(version_string);
    +      return 0;
    +    case 'W':
    +      pedantic = 1;
    +      break;
    +    default:
    +      fprintf(stderr, usage);
    +      return 1;
    +    }
    +  }
    +
    +  if(do_everything) {
    +      do_header = do_typelib = do_proxies = do_client = do_server = 1;
    +  }
    +  if(optind < argc) {
    +    input_name = xstrdup(argv[optind]);
    +  }
    +  else {
    +    fprintf(stderr, usage);
    +    return 1;
    +  }
    +
    +  if(debuglevel)
    +  {
    +    setbuf(stdout,0);
    +    setbuf(stderr,0);
    +  }
    +
    +  yydebug = debuglevel & DEBUGLEVEL_TRACE ? 1 : 0;
    +  yy_flex_debug = debuglevel & DEBUGLEVEL_TRACE ? 1 : 0;
    +
    +  wpp_set_debug( (debuglevel & DEBUGLEVEL_PPLEX) != 0,
    +                 (debuglevel & DEBUGLEVEL_PPTRACE) != 0,
    +                 (debuglevel & DEBUGLEVEL_PPMSG) != 0 );
    +
    +  if (!header_name && do_header) {
    +    header_name = dup_basename(input_name, ".idl");
    +    strcat(header_name, ".h");
    +  }
    +
    +  if (!typelib_name && do_typelib) {
    +    typelib_name = dup_basename(input_name, ".idl");
    +    strcat(typelib_name, ".tlb");
    +  }
    +
    +  if (!proxy_name && do_proxies) {
    +    proxy_name = dup_basename(input_name, ".idl");
    +    proxy_token = xstrdup(proxy_name);
    +    strcat(proxy_name, "_p.c");
    +  }
    +
    +  if (!client_name && do_client) {
    +    client_name = dup_basename(input_name, ".idl");
    +    client_token = xstrdup(client_name);
    +    strcat(client_name, "_c.c");
    +  }
    +
    +  if (!server_name && do_server) {
    +    server_name = dup_basename(input_name, ".idl");
    +    server_token = xstrdup(server_name);
    +    strcat(server_name, "_s.c");
    +  }
    +
    +  wpp_add_cmdline_define("__WIDL__");
    +
    +  atexit(rm_tempfile);
    +  if (!no_preprocess)
    +  {
    +    chat("Starting preprocess\n");
    +
    +    if (!preprocess_only)
    +    {
    +        ret = wpp_parse_temp( input_name, header_name, &temp_name );
    +    }
    +    else
    +    {
    +        ret = wpp_parse( input_name, stdout );
    +    }
    +
    +    if(ret) exit(1);
    +    if(preprocess_only) exit(0);
    +    if(!(yyin = fopen(temp_name, "r"))) {
    +      fprintf(stderr, "Could not open %s for input\n", temp_name);
    +      return 1;
    +    }
    +  }
    +  else {
    +    if(!(yyin = fopen(input_name, "r"))) {
    +      fprintf(stderr, "Could not open %s for input\n", input_name);
    +      return 1;
    +    }
    +  }
    +
    +  if(do_header) {
    +    header_token = make_token(header_name);
    +
    +    if(!(header = fopen(header_name, "w"))) {
    +      fprintf(stderr, "Could not open %s for output\n", header_name);
    +      return 1;
    +    }
    +    fprintf(header, "/*** Autogenerated by WIDL %s from %s - Do not edit ***/\n", WIDL_FULLVERSION, input_name);
    +    fprintf(header, "#include \n" );
    +    fprintf(header, "#include \n\n" );
    +    fprintf(header, "#ifndef __WIDL_%s\n", header_token);
    +    fprintf(header, "#define __WIDL_%s\n", header_token);
    +    fprintf(header, "#ifdef __cplusplus\n");
    +    fprintf(header, "extern \"C\" {\n");
    +    fprintf(header, "#endif\n");
    +  }
    +
    +  ret = yyparse();
    +
    +  if(do_header) {
    +    fprintf(header, "#ifdef __cplusplus\n");
    +    fprintf(header, "}\n");
    +    fprintf(header, "#endif\n");
    +    fprintf(header, "#endif /* __WIDL_%s */\n", header_token);
    +    fclose(header);
    +  }
    +
    +  fclose(yyin);
    +
    +  if(ret) {
    +    exit(1);
    +  }
    +  header_name = NULL;
    +  client_name = NULL;
    +  server_name = NULL;
    +  return 0;
    +}
    +
    +static void rm_tempfile(void)
    +{
    +  abort_import();
    +  if(temp_name)
    +    unlink(temp_name);
    +  if (header_name)
    +    unlink(header_name);
    +  if (client_name)
    +    unlink(client_name);
    +  if (server_name)
    +    unlink(server_name);
    +}
    +
    +static void segvhandler(int sig)
    +{
    +  fprintf(stderr, "\n%s:%d: Oops, segment violation\n", input_name, line_number);
    +  fflush(stdout);
    +  fflush(stderr);
    +  abort();
    +}
    diff --git a/reactos/tools/widl/widl.h b/reactos/tools/widl/widl.h
    new file mode 100644
    index 00000000000..5b303c35369
    --- /dev/null
    +++ b/reactos/tools/widl/widl.h
    @@ -0,0 +1,67 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WIDL_WIDL_H
    +#define __WIDL_WIDL_H
    +
    +#include "widltypes.h"
    +
    +#include 
    +
    +#define WIDL_FULLVERSION "0.1"
    +
    +extern int debuglevel;
    +#define DEBUGLEVEL_NONE		0x0000
    +#define DEBUGLEVEL_CHAT		0x0001
    +#define DEBUGLEVEL_DUMP		0x0002
    +#define DEBUGLEVEL_TRACE	0x0004
    +#define DEBUGLEVEL_PPMSG	0x0008
    +#define DEBUGLEVEL_PPLEX	0x0010
    +#define DEBUGLEVEL_PPTRACE	0x0020
    +
    +extern int win32;
    +extern int pedantic;
    +extern int do_header;
    +extern int do_typelib;
    +extern int do_proxies;
    +extern int do_client;
    +extern int do_server;
    +
    +extern char *input_name;
    +extern char *header_name;
    +extern char *typelib_name;
    +extern char *proxy_name;
    +extern char *proxy_token;
    +extern char *client_name;
    +extern char *client_token;
    +extern char *server_name;
    +extern char *server_token;
    +extern time_t now;
    +
    +extern int line_number;
    +extern int char_number;
    +
    +extern FILE* header;
    +
    +extern void write_proxies(ifref_t *ifaces);
    +extern void write_client(ifref_t *ifaces);
    +extern void write_server(ifref_t *ifaces);
    +
    +#endif
    diff --git a/reactos/tools/widl/widl.man b/reactos/tools/widl/widl.man
    new file mode 100644
    index 00000000000..9e449309e03
    --- /dev/null
    +++ b/reactos/tools/widl/widl.man
    @@ -0,0 +1,71 @@
    +.TH WIDL 1 "March 2004" "Wine Manpage" "Wine Developers Manual"
    +.SH NAME
    +widl \- Wine Interface Definition Language Compiler
    +.SH SYNOPSIS
    +.BR "widl "\fI[options]\fR " \fIinfile.idl\fR"
    +.SH DESCRIPTION
    +.B widl 
    +is a Wine tool which purpose is to compile Interface Definition Language (IDL) files.
    +.PP
    +.SH OPTIONS
    +.B Help mode:
    +.nf
    +No options are used.
    +The program prints the help info and then exits.
    +.PP
    +.B General options:
    +.IP \fB-V\fR
    +Print version number and exits from the program.
    +.PP
    +.B Header options:
    +.IP \fB-h\fR
    +Generate header files.
    +.IP "\fB-H \fIfile\fR"
    +Name of header file to generate. The default header
    +filename is infile.h.
    +.PP
    +.B Type library options:
    +.IP \fB-t\fR
    +Generate a type library.
    +.IP "\fB-T \fIfile\fR"
    +Define the name of the type library to be generated. 
    +The default filename is infile.tlb.
    +.PP
    +.B Preprocessor options:
    +.IP "\fB-I \fIpath\fR"
    +Add a header search dir to path. Multiple search 
    +dirs are allowed.
    +.IP "\fB-D \fIid[=val]\fR"
    +Define preprocessor identifier id value.
    +.IP \fB-E\fR
    +Preprocess only.
    +.IP \fB-N\fR
    +Do not preprocess input.
    +.PP
    +.B Debug options:
    +.IP \fB-W\fR
    +Enable pedantic warnings.
    +.IP "\fB-d \fIn\fR"
    +.nf
    +Set debug level to n. 
    +n may be '0x01', '0x02', '0x04', '0x08', '0x10' or '0x20'.
    +(See section \fBDebug\fR)
    +.PP
    +.SH Debug
    +Debug level 'n' is a bitmask with the following meaning:
    +    * 0x01 Tell which resource is parsed (verbose mode)
    +    * 0x02 Dump internal structures
    +    * 0x04 Create a parser trace (yydebug=1)
    +    * 0x08 Preprocessor messages
    +    * 0x10 Preprocessor lex messages
    +    * 0x20 Preprocessor yacc trace
    +.SH BUGS
    +Typelib generation doesn't work at the moment. It is still under development.
    +.SH AUTHORS
    +.B widl
    +was written by Ove Kaaven. This man page was written by Hannu
    +Valtonen.
    +.SH "SEE ALSO"
    +The Winelib User Guide
    +.nf
    +The Wine Developers Guide
    diff --git a/reactos/tools/widl/widltypes.h b/reactos/tools/widl/widltypes.h
    new file mode 100644
    index 00000000000..6ea50d429ee
    --- /dev/null
    +++ b/reactos/tools/widl/widltypes.h
    @@ -0,0 +1,262 @@
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WIDL_WIDLTYPES_H
    +#define __WIDL_WIDLTYPES_H
    +
    +#include 
    +#include "guiddef.h"
    +#include "wine/rpcfc.h"
    +#include "winglue.h"
    +
    +#ifndef UUID_DEFINED
    +#define UUID_DEFINED
    +typedef GUID UUID;
    +#endif
    +
    +#define TRUE 1
    +#define FALSE 0
    +
    +typedef struct _attr_t attr_t;
    +typedef struct _expr_t expr_t;
    +typedef struct _type_t type_t;
    +typedef struct _typeref_t typeref_t;
    +typedef struct _var_t var_t;
    +typedef struct _func_t func_t;
    +typedef struct _ifref_t ifref_t;
    +typedef struct _class_t class_t;
    +typedef struct _typelib_entry_t typelib_entry_t;
    +typedef struct _typelib_t typelib_t;
    +
    +#define DECL_LINK(type) \
    +  type *l_next; \
    +  type *l_prev;
    +
    +#define LINK(x,y) do { x->l_next = y; if (y) y->l_prev = x; } while (0)
    +
    +#define INIT_LINK(x) do { x->l_next = NULL; x->l_prev = NULL; } while (0)
    +#define NEXT_LINK(x) ((x)->l_next)
    +#define PREV_LINK(x) ((x)->l_prev)
    +
    +enum attr_type
    +{
    +    ATTR_ASYNC,
    +    ATTR_AUTO_HANDLE,
    +    ATTR_CALLAS,
    +    ATTR_CASE,
    +    ATTR_CONTEXTHANDLE,
    +    ATTR_CONTROL,
    +    ATTR_DEFAULT,
    +    ATTR_DEFAULTVALUE_EXPR,
    +    ATTR_DEFAULTVALUE_STRING,
    +    ATTR_DLLNAME,
    +    ATTR_DUAL,
    +    ATTR_ENDPOINT,
    +    ATTR_ENTRY_STRING,
    +    ATTR_ENTRY_ORDINAL,
    +    ATTR_EXPLICIT_HANDLE,
    +    ATTR_HANDLE,
    +    ATTR_HELPCONTEXT,
    +    ATTR_HELPFILE,
    +    ATTR_HELPSTRING,
    +    ATTR_HELPSTRINGCONTEXT,
    +    ATTR_HELPSTRINGDLL,
    +    ATTR_HIDDEN,
    +    ATTR_ID,
    +    ATTR_IDEMPOTENT,
    +    ATTR_IIDIS,
    +    ATTR_IMPLICIT_HANDLE,
    +    ATTR_IN,
    +    ATTR_INPUTSYNC,
    +    ATTR_LENGTHIS,
    +    ATTR_LOCAL,
    +    ATTR_NONCREATABLE,
    +    ATTR_OBJECT,
    +    ATTR_ODL,
    +    ATTR_OLEAUTOMATION,
    +    ATTR_OPTIONAL,
    +    ATTR_OUT,
    +    ATTR_POINTERDEFAULT,
    +    ATTR_POINTERTYPE,
    +    ATTR_PROPGET,
    +    ATTR_PROPPUT,
    +    ATTR_PROPPUTREF,
    +    ATTR_PUBLIC,
    +    ATTR_READONLY,
    +    ATTR_RESTRICTED,
    +    ATTR_RETVAL,
    +    ATTR_SIZEIS,
    +    ATTR_SOURCE,
    +    ATTR_STRING,
    +    ATTR_SWITCHIS,
    +    ATTR_SWITCHTYPE,
    +    ATTR_TRANSMITAS,
    +    ATTR_UUID,
    +    ATTR_V1ENUM,
    +    ATTR_VARARG,
    +    ATTR_VERSION,
    +    ATTR_WIREMARSHAL,
    +    ATTR_DISPINTERFACE
    +};
    +
    +enum expr_type
    +{
    +    EXPR_VOID,
    +    EXPR_NUM,
    +    EXPR_HEXNUM,
    +    EXPR_IDENTIFIER,
    +    EXPR_NEG,
    +    EXPR_NOT,
    +    EXPR_PPTR,
    +    EXPR_CAST,
    +    EXPR_SIZEOF,
    +    EXPR_SHL,
    +    EXPR_SHR,
    +    EXPR_MUL,
    +    EXPR_DIV,
    +    EXPR_ADD,
    +    EXPR_SUB,
    +    EXPR_AND,
    +    EXPR_OR,
    +    EXPR_COND,
    +};
    +
    +enum type_kind
    +{
    +    TKIND_ENUM = 0,
    +    TKIND_RECORD,
    +    TKIND_MODULE,
    +    TKIND_INTERFACE,
    +    TKIND_DISPATCH,
    +    TKIND_COCLASS,
    +    TKIND_ALIAS,
    +    TKIND_UNION,
    +    TKIND_MAX
    +};
    +
    +struct _attr_t {
    +  enum attr_type type;
    +  union {
    +    unsigned long ival;
    +    void *pval;
    +  } u;
    +  /* parser-internal */
    +  DECL_LINK(attr_t)
    +};
    +
    +struct _expr_t {
    +  enum expr_type type;
    +  expr_t *ref;
    +  union {
    +    long lval;
    +    char *sval;
    +    expr_t *ext;
    +    typeref_t *tref;
    +  } u;
    +  expr_t *ext2;
    +  int is_const;
    +  long cval;
    +  /* parser-internal */
    +  DECL_LINK(expr_t)
    +};
    +
    +struct _type_t {
    +  char *name;
    +  unsigned char type;
    +  struct _type_t *ref;
    +  char *rname;
    +  attr_t *attrs;
    +  func_t *funcs;
    +  var_t *fields;
    +  int ignore, is_const, sign;
    +  int defined, written;
    +  int typelib_idx;
    +  /* parser-internal */
    +  DECL_LINK(type_t)
    +};
    +
    +struct _typeref_t {
    +  char *name;
    +  type_t *ref;
    +  int uniq;
    +};
    +
    +struct _var_t {
    +  char *name;
    +  int ptr_level;
    +  expr_t *array;
    +  type_t *type;
    +  var_t *args;  /* for function pointers */
    +  char *tname;
    +  attr_t *attrs;
    +  expr_t *eval;
    +  long lval;
    +
    +  /* parser-internal */
    +  DECL_LINK(var_t)
    +};
    +
    +struct _func_t {
    +  var_t *def;
    +  var_t *args;
    +  int ignore, idx;
    +
    +  /* parser-internal */
    +  DECL_LINK(func_t)
    +};
    +
    +struct _ifref_t {
    +  type_t *iface;
    +  attr_t *attrs;
    +
    +  /* parser-internal */
    +  DECL_LINK(ifref_t)
    +};
    +
    +struct _class_t {
    +  char *name;
    +  attr_t *attrs;
    +  ifref_t *ifaces;
    +
    +  /* parser-internal */
    +  DECL_LINK(class_t)
    +};
    +
    +struct _typelib_entry_t {
    +    enum type_kind kind;
    +    union {
    +        class_t *class;
    +        type_t *interface;
    +        type_t *module;
    +        type_t *structure;
    +        type_t *enumeration;
    +        var_t *tdef;
    +    } u;
    +    DECL_LINK(typelib_entry_t)
    +};
    +
    +struct _typelib_t {
    +    char *name;
    +    char *filename;
    +    attr_t *attrs;
    +    typelib_entry_t *entry;
    +};
    +
    +#endif
    diff --git a/reactos/tools/widl/winglue.h b/reactos/tools/widl/winglue.h
    new file mode 100644
    index 00000000000..37dbdae6ff2
    --- /dev/null
    +++ b/reactos/tools/widl/winglue.h
    @@ -0,0 +1,229 @@
    +#ifndef _WINGLUE_H
    +#define _WINGLUE_H
    +
    +#define LOWORD(l) ((unsigned short)(l))
    +#define HIWORD(l) ((unsigned short)((unsigned long)(l) >> 16))
    +#define MAKELONG(low,high) ((unsigned long)(((unsigned short)(low)) | (((unsigned long)((unsigned short)(high))) << 16)))
    +
    +typedef char CHAR;
    +typedef int INT;
    +typedef short SHORT;
    +typedef unsigned char BYTE;
    +typedef unsigned short WORD;
    +typedef unsigned int DWORD;
    +typedef unsigned int UINT;
    +typedef unsigned int ULONG;
    +typedef DWORD LCID;
    +typedef const unsigned char *LPCSTR;
    +typedef int HRESULT;
    +typedef GUID *REFGUID;
    +
    +#define S_OK ((HRESULT)0x00000000L)
    +#define S_FALSE ((HRESULT)0x00000001L)
    +#define E_OUTOFMEMORY ((HRESULT)0x8007000EL)
    +#define TYPE_E_IOERROR ((HRESULT)0x80028CA2L)
    +
    +#define LANG_NEUTRAL	0x00
    +#define LANG_ARABIC 	0x01
    +#define LANG_BULGARIAN 	0x02
    +#define LANG_CATALAN 	0x03
    +#define LANG_CHINESE	0x04
    +#define LANG_CZECH	0x05
    +#define LANG_DANISH	0x06
    +#define LANG_GERMAN	0x07
    +#define LANG_GREEK	0x08
    +#define LANG_ENGLISH	0x09
    +#define LANG_SPANISH	0x0a
    +#define LANG_FINNISH	0x0b
    +#define LANG_FRENCH	0x0c
    +#define LANG_HEBREW	0x0d
    +#define LANG_HUNGARIAN	0x0e
    +#define LANG_ICELANDIC	0x0f
    +#define LANG_ITALIAN	0x10
    +#define LANG_JAPANESE	0x11
    +#define LANG_KOREAN	0x12
    +#define LANG_DUTCH	0x13
    +#define LANG_NORWEGIAN	0x14
    +#define LANG_POLISH	0x15
    +#define LANG_PORTUGUESE	0x16
    +#define LANG_ROMANIAN	0x18
    +#define LANG_RUSSIAN	0x19
    +#define LANG_CROATIAN	0x1a
    +#define LANG_SERBIAN	0x1a
    +#define LANG_SLOVAK	0x1b
    +#define LANG_ALBANIAN	0x1c
    +#define LANG_SWEDISH	0x1d
    +#define LANG_THAI	0x1e
    +#define LANG_TURKISH	0x1f
    +#define LANG_URDU	0x20
    +#define LANG_INDONESIAN	0x21
    +#define LANG_UKRAINIAN	0x22
    +#define LANG_BELARUSIAN	0x23
    +#define LANG_SLOVENIAN	0x24
    +#define LANG_ESTONIAN	0x25
    +#define LANG_LATVIAN	0x26
    +#define LANG_LITHUANIAN	0x27
    +#define LANG_FARSI	0x29
    +#define LANG_VIETNAMESE	0x2a
    +#define LANG_ARMENIAN	0x2b
    +#define LANG_AZERI	0x2c
    +#define LANG_BASQUE	0x2d
    +#define LANG_MACEDONIAN	0x2f
    +#define LANG_AFRIKAANS	0x36
    +#define LANG_GEORGIAN	0x37
    +#define LANG_FAEROESE	0x38
    +#define LANG_HINDI	0x39
    +#define LANG_MALAY	0x3e
    +#define LANG_KAZAK	0x3f
    +#define LANG_KYRGYZ	0x40
    +#define LANG_SWAHILI	0x41
    +#define LANG_UZBEK	0x43
    +#define LANG_TATAR	0x44
    +#define LANG_BENGALI	0x45
    +#define LANG_PUNJABI	0x46
    +#define LANG_GUJARATI	0x47
    +#define LANG_ORIYA	0x48
    +#define LANG_TAMIL	0x49
    +#define LANG_TELUGU	0x4a
    +#define LANG_KANNADA	0x4b
    +#define LANG_MALAYALAM	0x4c
    +#define LANG_ASSAMESE	0x4d
    +#define LANG_MARATHI	0x4e
    +#define LANG_SANSKRIT	0x4f
    +#define LANG_MONGOLIAN	0x50
    +#define LANG_GALICIAN	0x56
    +#define LANG_KONKANI	0x57
    +#define LANG_MANIPURI	0x58
    +#define LANG_SINDHI	0x59
    +#define LANG_SYRIAC	0x5a
    +#define LANG_KASHMIRI	0x60
    +#define LANG_NEPALI	0x61
    +#define LANG_DIVEHI	0x65
    +#define LANG_INVARIANT	0x7f
    +#define SUBLANG_NEUTRAL	0x00
    +#define SUBLANG_DEFAULT	0x01
    +#define SUBLANG_SYS_DEFAULT	0x02
    +#define SUBLANG_ARABIC_SAUDI_ARABIA	0x01
    +#define SUBLANG_ARABIC_IRAQ	0x02
    +#define SUBLANG_ARABIC_EGYPT	0x03
    +#define SUBLANG_ARABIC_LIBYA	0x04
    +#define SUBLANG_ARABIC_ALGERIA	0x05
    +#define SUBLANG_ARABIC_MOROCCO	0x06
    +#define SUBLANG_ARABIC_TUNISIA	0x07
    +#define SUBLANG_ARABIC_OMAN	0x08
    +#define SUBLANG_ARABIC_YEMEN	0x09
    +#define SUBLANG_ARABIC_SYRIA	0x0a
    +#define SUBLANG_ARABIC_JORDAN	0x0b
    +#define SUBLANG_ARABIC_LEBANON	0x0c
    +#define SUBLANG_ARABIC_KUWAIT	0x0d
    +#define SUBLANG_ARABIC_UAE	0x0e
    +#define SUBLANG_ARABIC_BAHRAIN	0x0f
    +#define SUBLANG_ARABIC_QATAR	0x10
    +#define SUBLANG_AZERI_LATIN	0x01
    +#define SUBLANG_AZERI_CYRILLIC	0x02
    +#define SUBLANG_CHINESE_TRADITIONAL	0x01
    +#define SUBLANG_CHINESE_SIMPLIFIED	0x02
    +#define SUBLANG_CHINESE_HONGKONG	0x03
    +#define SUBLANG_CHINESE_SINGAPORE	0x04
    +#define SUBLANG_CHINESE_MACAU	0x05
    +#define SUBLANG_DUTCH	0x01
    +#define SUBLANG_DUTCH_BELGIAN	0x02
    +#define SUBLANG_ENGLISH_US	0x01
    +#define SUBLANG_ENGLISH_UK	0x02
    +#define SUBLANG_ENGLISH_AUS	0x03
    +#define SUBLANG_ENGLISH_CAN	0x04
    +#define SUBLANG_ENGLISH_NZ	0x05
    +#define SUBLANG_ENGLISH_EIRE	0x06
    +#define SUBLANG_ENGLISH_SOUTH_AFRICA	0x07
    +#define SUBLANG_ENGLISH_JAMAICA	0x08
    +#define SUBLANG_ENGLISH_CARIBBEAN	0x09
    +#define SUBLANG_ENGLISH_BELIZE	0x0a
    +#define SUBLANG_ENGLISH_TRINIDAD	0x0b
    +#define SUBLANG_ENGLISH_ZIMBABWE	0x0c
    +#define SUBLANG_ENGLISH_PHILIPPINES	0x0d
    +#define SUBLANG_FRENCH	0x01
    +#define SUBLANG_FRENCH_BELGIAN	0x02
    +#define SUBLANG_FRENCH_CANADIAN	0x03
    +#define SUBLANG_FRENCH_SWISS	0x04
    +#define SUBLANG_FRENCH_LUXEMBOURG	0x05
    +#define SUBLANG_FRENCH_MONACO	0x06
    +#define SUBLANG_GERMAN	0x01
    +#define SUBLANG_GERMAN_SWISS	0x02
    +#define SUBLANG_GERMAN_AUSTRIAN	0x03
    +#define SUBLANG_GERMAN_LUXEMBOURG	0x04
    +#define SUBLANG_GERMAN_LIECHTENSTEIN	0x05
    +#define SUBLANG_ITALIAN	0x01
    +#define SUBLANG_ITALIAN_SWISS	0x02
    +#define SUBLANG_KASHMIRI_INDIA	0x02
    +#define SUBLANG_KASHMIRI_SASIA	0x02
    +#define SUBLANG_KOREAN	0x01
    +#define SUBLANG_LITHUANIAN	0x01
    +#define SUBLANG_MALAY_MALAYSIA	0x01
    +#define SUBLANG_MALAY_BRUNEI_DARUSSALAM	0x02
    +#define SUBLANG_NEPALI_INDIA	0x02
    +#define SUBLANG_NORWEGIAN_BOKMAL	0x01
    +#define SUBLANG_NORWEGIAN_NYNORSK	0x02
    +#define SUBLANG_PORTUGUESE	0x01
    +#define SUBLANG_PORTUGUESE_BRAZILIAN	0x02
    +#define SUBLANG_SERBIAN_LATIN	0x02
    +#define SUBLANG_SERBIAN_CYRILLIC	0x03
    +#define SUBLANG_SPANISH	0x01
    +#define SUBLANG_SPANISH_MEXICAN	0x02
    +#define SUBLANG_SPANISH_MODERN	0x03
    +#define SUBLANG_SPANISH_GUATEMALA	0x04
    +#define SUBLANG_SPANISH_COSTA_RICA	0x05
    +#define SUBLANG_SPANISH_PANAMA	0x06
    +#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC	0x07
    +#define SUBLANG_SPANISH_VENEZUELA	0x08
    +#define SUBLANG_SPANISH_COLOMBIA	0x09
    +#define SUBLANG_SPANISH_PERU	0x0a
    +#define SUBLANG_SPANISH_ARGENTINA	0x0b
    +#define SUBLANG_SPANISH_ECUADOR	0x0c
    +#define SUBLANG_SPANISH_CHILE	0x0d
    +#define SUBLANG_SPANISH_URUGUAY	0x0e
    +#define SUBLANG_SPANISH_PARAGUAY	0x0f
    +#define SUBLANG_SPANISH_BOLIVIA	0x10
    +#define SUBLANG_SPANISH_EL_SALVADOR	0x11
    +#define SUBLANG_SPANISH_HONDURAS	0x12
    +#define SUBLANG_SPANISH_NICARAGUA	0x13
    +#define SUBLANG_SPANISH_PUERTO_RICO	0x14
    +#define SUBLANG_SWEDISH	0x01
    +#define SUBLANG_SWEDISH_FINLAND	0x02
    +#define SUBLANG_URDU_PAKISTAN	0x01
    +#define SUBLANG_URDU_INDIA	0x02
    +#define SUBLANG_UZBEK_LATIN	0x01
    +#define SUBLANG_UZBEK_CYRILLIC	0x02
    +
    +/* non standard; keep the number high enough (but < 0xff) */
    +#define LANG_ESPERANTO			 0x8f
    +#define LANG_WALON			 0x90
    +#define LANG_CORNISH                     0x91
    +#define LANG_WELSH                       0x92
    +#define LANG_BRETON                      0x93
    +
    +/* FIXME: these are not in the Windows header */
    +#define LANG_GAELIC         0x3c
    +#define LANG_MALTESE        0x3a
    +#define LANG_MAORI          0x28
    +#define LANG_RHAETO_ROMANCE 0x17
    +#define LANG_SAAMI          0x3b
    +#define LANG_SORBIAN        0x2e
    +#define LANG_SUTU           0x30
    +#define LANG_TSONGA         0x31
    +#define LANG_TSWANA         0x32
    +#define LANG_VENDA          0x33
    +#define LANG_XHOSA          0x34
    +#define LANG_ZULU           0x35
    +
    +#define PRIMARYLANGID(l)	((WORD)(l)&0x3ff)
    +#define LANGIDFROMLCID(l)	((WORD)(l))
    +#define SUBLANGID(l)	((WORD)(l)>>10)
    +
    +#ifndef max
    +#define max(a,b) ((a)>(b)?(a):(b))
    +#endif
    +#ifndef min
    +#define min(a,b) ((a)<(b)?(a):(b))
    +#endif
    +
    +#endif /* _WINGLUE_H */
    diff --git a/reactos/tools/widl/write_msft.c b/reactos/tools/widl/write_msft.c
    new file mode 100644
    index 00000000000..2d36081a3e8
    --- /dev/null
    +++ b/reactos/tools/widl/write_msft.c
    @@ -0,0 +1,2393 @@
    +/*
    + *      Typelib v2 (MSFT) generation
    + *
    + *	Copyright 2004  Alastair Bridgewater
    + *                2004, 2005 Huw Davies
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * --------------------------------------------------------------------------------------
    + *  Known problems:
    + *
    + *    Badly incomplete.
    + *
    + *    Only works on little-endian systems.
    + *
    + */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#define NONAMELESSUNION
    +#define NONAMELESSSTRUCT
    +
    +#include "widltypes.h"
    +#include "typelib.h"
    +#include "typelib_struct.h"
    +#include "utils.h"
    +#include "hash.h"
    +
    +enum MSFT_segment_index {
    +    MSFT_SEG_TYPEINFO = 0,  /* type information */
    +    MSFT_SEG_IMPORTINFO,    /* import information */
    +    MSFT_SEG_IMPORTFILES,   /* import filenames */
    +    MSFT_SEG_REFERENCES,    /* references (?) */
    +    MSFT_SEG_GUIDHASH,      /* hash table for guids? */
    +    MSFT_SEG_GUID,          /* guid storage */
    +    MSFT_SEG_NAMEHASH,      /* hash table for names */
    +    MSFT_SEG_NAME,          /* name storage */
    +    MSFT_SEG_STRING,        /* string storage */
    +    MSFT_SEG_TYPEDESC,      /* type descriptions */
    +    MSFT_SEG_ARRAYDESC,     /* array descriptions */
    +    MSFT_SEG_CUSTDATA,      /* custom data */
    +    MSFT_SEG_CUSTDATAGUID,  /* custom data guids */
    +    MSFT_SEG_UNKNOWN,       /* ??? */
    +    MSFT_SEG_UNKNOWN2,      /* ??? */
    +    MSFT_SEG_MAX            /* total number of segments */
    +};
    +
    +typedef struct tagMSFT_ImpFile {
    +    int guid;
    +    LCID lcid;
    +    int version;
    +    char filename[0]; /* preceeded by two bytes of encoded (length << 2) + flags in the low two bits. */
    +} MSFT_ImpFile;
    +
    +typedef struct _msft_typelib_t
    +{
    +    typelib_t *typelib;
    +    MSFT_Header typelib_header;
    +    MSFT_pSeg typelib_segdir[MSFT_SEG_MAX];
    +    char *typelib_segment_data[MSFT_SEG_MAX];
    +    int typelib_segment_block_length[MSFT_SEG_MAX];
    +
    +    int typelib_typeinfo_offsets[0x200]; /* Hope that's enough. */
    +
    +    int *typelib_namehash_segment;
    +    int *typelib_guidhash_segment;
    +
    +    int help_string_dll_offset;
    +
    +    struct _msft_typeinfo_t *typeinfos;
    +    struct _msft_typeinfo_t *last_typeinfo;
    +} msft_typelib_t;
    +
    +typedef struct _msft_typeinfo_t
    +{
    +    msft_typelib_t *typelib;
    +    MSFT_TypeInfoBase *typeinfo;
    +
    +    int var_data_allocated;
    +    int *var_data;
    +
    +    int func_data_allocated;
    +    int *func_data;
    +
    +    int vars_allocated;
    +    int *var_indices;
    +    int *var_names;
    +    int *var_offsets;
    +
    +    int funcs_allocated;
    +    int *func_indices;
    +    int *func_names;
    +    int *func_offsets;
    +
    +    int datawidth;
    +
    +    struct _msft_typeinfo_t *next_typeinfo;
    +} msft_typeinfo_t;
    +
    +
    +
    +/*================== Internal functions ===================================*/
    +
    +/****************************************************************************
    + *	ctl2_init_header
    + *
    + *  Initializes the type library header of a new typelib.
    + */
    +static void ctl2_init_header(
    +	msft_typelib_t *typelib) /* [I] The typelib to initialize. */
    +{
    +    typelib->typelib_header.magic1 = 0x5446534d;
    +    typelib->typelib_header.magic2 = 0x00010002;
    +    typelib->typelib_header.posguid = -1;
    +    typelib->typelib_header.lcid = 0x0409; /* or do we use the current one? */
    +    typelib->typelib_header.lcid2 = 0x0;
    +    typelib->typelib_header.varflags = 0x40;
    +    typelib->typelib_header.version = 0;
    +    typelib->typelib_header.flags = 0;
    +    typelib->typelib_header.nrtypeinfos = 0;
    +    typelib->typelib_header.helpstring = -1;
    +    typelib->typelib_header.helpstringcontext = 0;
    +    typelib->typelib_header.helpcontext = 0;
    +    typelib->typelib_header.nametablecount = 0;
    +    typelib->typelib_header.nametablechars = 0;
    +    typelib->typelib_header.NameOffset = -1;
    +    typelib->typelib_header.helpfile = -1;
    +    typelib->typelib_header.CustomDataOffset = -1;
    +    typelib->typelib_header.res44 = 0x20;
    +    typelib->typelib_header.res48 = 0x80;
    +    typelib->typelib_header.dispatchpos = -1;
    +    typelib->typelib_header.res50 = 0;
    +}
    +
    +/****************************************************************************
    + *	ctl2_init_segdir
    + *
    + *  Initializes the segment directory of a new typelib.
    + */
    +static void ctl2_init_segdir(
    +	msft_typelib_t *typelib) /* [I] The typelib to initialize. */
    +{
    +    int i;
    +    MSFT_pSeg *segdir;
    +
    +    segdir = &typelib->typelib_segdir[MSFT_SEG_TYPEINFO];
    +
    +    for (i = 0; i < 15; i++) {
    +	segdir[i].offset = -1;
    +	segdir[i].length = 0;
    +	segdir[i].res08 = -1;
    +	segdir[i].res0c = 0x0f;
    +    }
    +}
    +
    +/****************************************************************************
    + *	ctl2_hash_guid
    + *
    + *  Generates a hash key from a GUID.
    + *
    + * RETURNS
    + *
    + *  The hash key for the GUID.
    + */
    +static int ctl2_hash_guid(
    +	REFGUID guid)                /* [I] The guid to hash. */
    +{
    +    int hash;
    +    int i;
    +
    +    hash = 0;
    +    for (i = 0; i < 8; i ++) {
    +	hash ^= ((const short *)guid)[i];
    +    }
    +
    +    return hash & 0x1f;
    +}
    +
    +/****************************************************************************
    + *	ctl2_find_guid
    + *
    + *  Locates a guid in a type library.
    + *
    + * RETURNS
    + *
    + *  The offset into the GUID segment of the guid, or -1 if not found.
    + */
    +static int ctl2_find_guid(
    +	msft_typelib_t *typelib,   /* [I] The typelib to operate against. */
    +	int hash_key,              /* [I] The hash key for the guid. */
    +	REFGUID guid)              /* [I] The guid to find. */
    +{
    +    int offset;
    +    MSFT_GuidEntry *guidentry;
    +
    +    offset = typelib->typelib_guidhash_segment[hash_key];
    +    while (offset != -1) {
    +	guidentry = (MSFT_GuidEntry *)&typelib->typelib_segment_data[MSFT_SEG_GUID][offset];
    +
    +	if (!memcmp(guidentry, guid, sizeof(GUID))) return offset;
    +
    +	offset = guidentry->next_hash;
    +    }
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	ctl2_find_name
    + *
    + *  Locates a name in a type library.
    + *
    + * RETURNS
    + *
    + *  The offset into the NAME segment of the name, or -1 if not found.
    + *
    + * NOTES
    + *
    + *  The name must be encoded as with ctl2_encode_name().
    + */
    +static int ctl2_find_name(
    +	msft_typelib_t *typelib,   /* [I] The typelib to operate against. */
    +	char *name)                /* [I] The encoded name to find. */
    +{
    +    int offset;
    +    int *namestruct;
    +
    +    offset = typelib->typelib_namehash_segment[name[2] & 0x7f];
    +    while (offset != -1) {
    +	namestruct = (int *)&typelib->typelib_segment_data[MSFT_SEG_NAME][offset];
    +
    +	if (!((namestruct[2] ^ *((int *)name)) & 0xffff00ff)) {
    +	    /* hash codes and lengths match, final test */
    +	    if (!strncasecmp(name+4, (void *)(namestruct+3), name[0])) break;
    +	}
    +
    +	/* move to next item in hash bucket */
    +	offset = namestruct[1];
    +    }
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	ctl2_encode_name
    + *
    + *  Encodes a name string to a form suitable for storing into a type library
    + *  or comparing to a name stored in a type library.
    + *
    + * RETURNS
    + *
    + *  The length of the encoded name, including padding and length+hash fields.
    + *
    + * NOTES
    + *
    + *  Will throw an exception if name or result are NULL. Is not multithread
    + *  safe in the slightest.
    + */
    +static int ctl2_encode_name(
    +	msft_typelib_t *typelib,   /* [I] The typelib to operate against (used for LCID only). */
    +	const char *name,          /* [I] The name string to encode. */
    +	char **result)             /* [O] A pointer to a pointer to receive the encoded name. */
    +{
    +    int length;
    +    static char converted_name[0x104];
    +    int offset;
    +    int value;
    +
    +    length = strlen(name);
    +    memcpy(converted_name + 4, name, length);
    +    converted_name[0] = length & 0xff;
    +
    +    converted_name[length + 4] = 0;
    +
    +    converted_name[1] = 0x00;
    +
    +    value = lhash_val_of_name_sys(typelib->typelib_header.varflags & 0x0f, typelib->typelib_header.lcid, converted_name + 4);
    +
    +    converted_name[2] = value;
    +    converted_name[3] = value >> 8;
    +
    +    for (offset = (4 - length) & 3; offset; offset--) converted_name[length + offset + 3] = 0x57;
    +
    +    *result = converted_name;
    +
    +    return (length + 7) & ~3;
    +}
    +
    +/****************************************************************************
    + *	ctl2_encode_string
    + *
    + *  Encodes a string to a form suitable for storing into a type library or
    + *  comparing to a string stored in a type library.
    + *
    + * RETURNS
    + *
    + *  The length of the encoded string, including padding and length fields.
    + *
    + * NOTES
    + *
    + *  Will throw an exception if string or result are NULL. Is not multithread
    + *  safe in the slightest.
    + */
    +static int ctl2_encode_string(
    +	msft_typelib_t *typelib,   /* [I] The typelib to operate against (not used?). */
    +	const char *string,        /* [I] The string to encode. */
    +	char **result)             /* [O] A pointer to a pointer to receive the encoded string. */
    +{
    +    int length;
    +    static char converted_string[0x104];
    +    int offset;
    +
    +    length = strlen(string);
    +    memcpy(converted_string + 2, string, length);
    +    converted_string[0] = length & 0xff;
    +    converted_string[1] = (length >> 8) & 0xff;
    +
    +    if(length < 3) { /* strings of this length are padded with upto 8 bytes incl the 2 byte length */
    +        for(offset = 0; offset < 4; offset++)
    +            converted_string[length + offset + 2] = 0x57;
    +        length += 4;
    +    }
    +    for (offset = (4 - (length + 2)) & 3; offset; offset--) converted_string[length + offset + 1] = 0x57;
    +
    +    *result = converted_string;
    +
    +    return (length + 5) & ~3;
    +}
    +
    +/****************************************************************************
    + *	ctl2_alloc_segment
    + *
    + *  Allocates memory from a segment in a type library.
    + *
    + * RETURNS
    + *
    + *  Success: The offset within the segment of the new data area.
    + *  Failure: -1 (this is invariably an out of memory condition).
    + *
    + * BUGS
    + *
    + *  Does not (yet) handle the case where the allocated segment memory needs to grow.
    + */
    +static int ctl2_alloc_segment(
    +	msft_typelib_t *typelib,         /* [I] The type library in which to allocate. */
    +	enum MSFT_segment_index segment, /* [I] The segment in which to allocate. */
    +	int size,                        /* [I] The amount to allocate. */
    +	int block_size)                  /* [I] Initial allocation block size, or 0 for default. */
    +{
    +    int offset;
    +
    +    if(!typelib->typelib_segment_data[segment]) {
    +	if (!block_size) block_size = 0x2000;
    +
    +	typelib->typelib_segment_block_length[segment] = block_size;
    +	typelib->typelib_segment_data[segment] = xmalloc(block_size);
    +	if (!typelib->typelib_segment_data[segment]) return -1;
    +	memset(typelib->typelib_segment_data[segment], 0x57, block_size);
    +    }
    +
    +    while ((typelib->typelib_segdir[segment].length + size) > typelib->typelib_segment_block_length[segment]) {
    +	char *block;
    +
    +	block_size = typelib->typelib_segment_block_length[segment];
    +	block = realloc(typelib->typelib_segment_data[segment], block_size << 1);
    +	if (!block) return -1;
    +
    +	if (segment == MSFT_SEG_TYPEINFO) {
    +	    /* TypeInfos have a direct pointer to their memory space, so we have to fix them up. */
    +	    msft_typeinfo_t *typeinfo;
    +
    +	    for (typeinfo = typelib->typeinfos; typeinfo; typeinfo = typeinfo->next_typeinfo) {
    +		typeinfo->typeinfo = (void *)&block[((char *)typeinfo->typeinfo) - typelib->typelib_segment_data[segment]];
    +	    }
    +	}
    +
    +	memset(block + block_size, 0x57, block_size);
    +	typelib->typelib_segment_block_length[segment] = block_size << 1;
    +	typelib->typelib_segment_data[segment] = block;
    +    }
    +
    +    offset = typelib->typelib_segdir[segment].length;
    +    typelib->typelib_segdir[segment].length += size;
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	ctl2_alloc_typeinfo
    + *
    + *  Allocates and initializes a typeinfo structure in a type library.
    + *
    + * RETURNS
    + *
    + *  Success: The offset of the new typeinfo.
    + *  Failure: -1 (this is invariably an out of memory condition).
    + */
    +static int ctl2_alloc_typeinfo(
    +	msft_typelib_t *typelib,   /* [I] The type library to allocate in. */
    +	int nameoffset)            /* [I] The offset of the name for this typeinfo. */
    +{
    +    int offset;
    +    MSFT_TypeInfoBase *typeinfo;
    +
    +    offset = ctl2_alloc_segment(typelib, MSFT_SEG_TYPEINFO, sizeof(MSFT_TypeInfoBase), 0);
    +    if (offset == -1) return -1;
    +
    +    typelib->typelib_typeinfo_offsets[typelib->typelib_header.nrtypeinfos++] = offset;
    +
    +    typeinfo = (void *)(typelib->typelib_segment_data[MSFT_SEG_TYPEINFO] + offset);
    +
    +    typeinfo->typekind = (typelib->typelib_header.nrtypeinfos - 1) << 16;
    +    typeinfo->memoffset = -1; /* should be EOF if no elements */
    +    typeinfo->res2 = 0;
    +    typeinfo->res3 = -1;
    +    typeinfo->res4 = 3;
    +    typeinfo->res5 = 0;
    +    typeinfo->cElement = 0;
    +    typeinfo->res7 = 0;
    +    typeinfo->res8 = 0;
    +    typeinfo->res9 = 0;
    +    typeinfo->resA = 0;
    +    typeinfo->posguid = -1;
    +    typeinfo->flags = 0;
    +    typeinfo->NameOffset = nameoffset;
    +    typeinfo->version = 0;
    +    typeinfo->docstringoffs = -1;
    +    typeinfo->helpstringcontext = 0;
    +    typeinfo->helpcontext = 0;
    +    typeinfo->oCustData = -1;
    +    typeinfo->cbSizeVft = 0;
    +    typeinfo->cImplTypes = 0;
    +    typeinfo->size = 0;
    +    typeinfo->datatype1 = -1;
    +    typeinfo->datatype2 = 0;
    +    typeinfo->res18 = 0;
    +    typeinfo->res19 = -1;
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	ctl2_alloc_guid
    + *
    + *  Allocates and initializes a GUID structure in a type library. Also updates
    + *  the GUID hash table as needed.
    + *
    + * RETURNS
    + *
    + *  Success: The offset of the new GUID.
    + *  Failure: -1 (this is invariably an out of memory condition).
    + */
    +static int ctl2_alloc_guid(
    +	msft_typelib_t *typelib,   /* [I] The type library to allocate in. */
    +	MSFT_GuidEntry *guid)      /* [I] The GUID to store. */
    +{
    +    int offset;
    +    MSFT_GuidEntry *guid_space;
    +    int hash_key;
    +
    +    hash_key = ctl2_hash_guid(&guid->guid);
    +
    +    offset = ctl2_find_guid(typelib, hash_key, &guid->guid);
    +    if (offset != -1) return offset;
    +
    +    offset = ctl2_alloc_segment(typelib, MSFT_SEG_GUID, sizeof(MSFT_GuidEntry), 0);
    +    if (offset == -1) return -1;
    +
    +    guid_space = (void *)(typelib->typelib_segment_data[MSFT_SEG_GUID] + offset);
    +    *guid_space = *guid;
    +
    +    guid_space->next_hash = typelib->typelib_guidhash_segment[hash_key];
    +    typelib->typelib_guidhash_segment[hash_key] = offset;
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	ctl2_alloc_name
    + *
    + *  Allocates and initializes a name within a type library. Also updates the
    + *  name hash table as needed.
    + *
    + * RETURNS
    + *
    + *  Success: The offset within the segment of the new name.
    + *  Failure: -1 (this is invariably an out of memory condition).
    + */
    +static int ctl2_alloc_name(
    +	msft_typelib_t *typelib,  /* [I] The type library to allocate in. */
    +	const char *name)         /* [I] The name to store. */
    +{
    +    int length;
    +    int offset;
    +    MSFT_NameIntro *name_space;
    +    char *encoded_name;
    +
    +    length = ctl2_encode_name(typelib, name, &encoded_name);
    +
    +    offset = ctl2_find_name(typelib, encoded_name);
    +    if (offset != -1) return offset;
    +
    +    offset = ctl2_alloc_segment(typelib, MSFT_SEG_NAME, length + 8, 0);
    +    if (offset == -1) return -1;
    +
    +    name_space = (void *)(typelib->typelib_segment_data[MSFT_SEG_NAME] + offset);
    +    name_space->hreftype = -1;
    +    name_space->next_hash = -1;
    +    memcpy(&name_space->namelen, encoded_name, length);
    +
    +    if (typelib->typelib_namehash_segment[encoded_name[2] & 0x7f] != -1)
    +	name_space->next_hash = typelib->typelib_namehash_segment[encoded_name[2] & 0x7f];
    +
    +    typelib->typelib_namehash_segment[encoded_name[2] & 0x7f] = offset;
    +
    +    typelib->typelib_header.nametablecount += 1;
    +    typelib->typelib_header.nametablechars += *encoded_name;
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	ctl2_alloc_string
    + *
    + *  Allocates and initializes a string in a type library.
    + *
    + * RETURNS
    + *
    + *  Success: The offset within the segment of the new string.
    + *  Failure: -1 (this is invariably an out of memory condition).
    + */
    +static int ctl2_alloc_string(
    +	msft_typelib_t *typelib,  /* [I] The type library to allocate in. */
    +	const char *string)       /* [I] The string to store. */
    +{
    +    int length;
    +    int offset;
    +    char *string_space;
    +    char *encoded_string;
    +
    +    length = ctl2_encode_string(typelib, string, &encoded_string);
    +
    +    for (offset = 0; offset < typelib->typelib_segdir[MSFT_SEG_STRING].length;
    +	 offset += ((((typelib->typelib_segment_data[MSFT_SEG_STRING][offset + 1] << 8) & 0xff)
    +	     | (typelib->typelib_segment_data[MSFT_SEG_STRING][offset + 0] & 0xff)) + 5) & ~3) {
    +	if (!memcmp(encoded_string, typelib->typelib_segment_data[MSFT_SEG_STRING] + offset, length)) return offset;
    +    }
    +
    +    offset = ctl2_alloc_segment(typelib, MSFT_SEG_STRING, length, 0);
    +    if (offset == -1) return -1;
    +
    +    string_space = typelib->typelib_segment_data[MSFT_SEG_STRING] + offset;
    +    memcpy(string_space, encoded_string, length);
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	alloc_importinfo
    + *
    + *  Allocates and initializes an import information structure in a type library.
    + *
    + * RETURNS
    + *
    + *  Success: The offset of the new importinfo.
    + *  Failure: -1 (this is invariably an out of memory condition).
    + */
    +static int alloc_importinfo(
    +        msft_typelib_t *typelib,   /* [I] The type library to allocate in. */
    +        MSFT_ImpInfo *impinfo)     /* [I] The import information to store. */
    +{
    +    int offset;
    +    MSFT_ImpInfo *impinfo_space;
    +
    +    for (offset = 0;
    +	 offset < typelib->typelib_segdir[MSFT_SEG_IMPORTINFO].length;
    +	 offset += sizeof(MSFT_ImpInfo)) {
    +	if (!memcmp(&(typelib->typelib_segment_data[MSFT_SEG_IMPORTINFO][offset]),
    +		    impinfo, sizeof(MSFT_ImpInfo))) {
    +	    return offset;
    +	}
    +    }
    +
    +    offset = ctl2_alloc_segment(typelib, MSFT_SEG_IMPORTINFO, sizeof(MSFT_ImpInfo), 0);
    +    if (offset == -1) return -1;
    +
    +    impinfo_space = (void *)(typelib->typelib_segment_data[MSFT_SEG_IMPORTINFO] + offset);
    +    *impinfo_space = *impinfo;
    +
    +    return offset;
    +}
    +
    +/****************************************************************************
    + *	alloc_importfile
    + *
    + *  Allocates and initializes an import file definition in a type library.
    + *
    + * RETURNS
    + *
    + *  Success: The offset of the new importinfo.
    + *  Failure: -1 (this is invariably an out of memory condition).
    + */
    +static int alloc_importfile(
    +        msft_typelib_t *typelib,   /* [I] The type library to allocate in. */
    +        int guidoffset,            /* [I] The offset to the GUID for the imported library. */
    +        int major_version,         /* [I] The major version number of the imported library. */
    +        int minor_version,         /* [I] The minor version number of the imported library. */
    +        const char *filename)      /* [I] The filename of the imported library. */
    +{
    +    int length;
    +    int offset;
    +    MSFT_ImpFile *importfile;
    +    char *encoded_string;
    +
    +    length = ctl2_encode_string(typelib, filename, &encoded_string);
    +
    +    encoded_string[0] <<= 2;
    +    encoded_string[0] |= 1;
    +
    +    for (offset = 0; offset < typelib->typelib_segdir[MSFT_SEG_IMPORTFILES].length;
    +	 offset += ((((typelib->typelib_segment_data[MSFT_SEG_IMPORTFILES][offset + 0xd] << 8) & 0xff)
    +	     | (typelib->typelib_segment_data[MSFT_SEG_IMPORTFILES][offset + 0xc] & 0xff)) >> 2) + 0xc) {
    +	if (!memcmp(encoded_string, typelib->typelib_segment_data[MSFT_SEG_IMPORTFILES] + offset + 0xc, length)) return offset;
    +    }
    +
    +    offset = ctl2_alloc_segment(typelib, MSFT_SEG_IMPORTFILES, length + 0xc, 0);
    +    if (offset == -1) return -1;
    +
    +    importfile = (MSFT_ImpFile *)&typelib->typelib_segment_data[MSFT_SEG_IMPORTFILES][offset];
    +    importfile->guid = guidoffset;
    +    importfile->lcid = typelib->typelib_header.lcid2;
    +    importfile->version = major_version | (minor_version << 16);
    +    memcpy(&importfile->filename, encoded_string, length);
    +
    +    return offset;
    +}
    +
    +static void add_structure_typeinfo(msft_typelib_t *typelib, type_t *structure);
    +static void add_interface_typeinfo(msft_typelib_t *typelib, type_t *interface);
    +
    +/****************************************************************************
    + *	encode_type
    + *
    + *  Encodes a type, storing information in the TYPEDESC and ARRAYDESC
    + *  segments as needed.
    + *
    + * RETURNS
    + *
    + *  Success: 0.
    + *  Failure: -1.
    + */
    +static int encode_type(
    +	msft_typelib_t *typelib,   /* [I] The type library in which to encode the TYPEDESC. */
    +        int vt,                    /* [I] vt to encode */
    +	type_t *type,              /* [I] type */
    +	int *encoded_type,         /* [O] The encoded type description. */
    +	int *width,                /* [O] The width of the type, or NULL. */
    +	int *alignment,            /* [O] The alignment of the type, or NULL. */
    +	int *decoded_size)         /* [O] The total size of the unencoded TYPEDESCs, including nested descs. */
    +{
    +    int default_type;
    +    int scratch;
    +    int typeoffset;
    +    int *typedata;
    +    int target_type;
    +    int child_size = 0;
    +
    +    chat("encode_type vt %d type %p\n", vt, type);
    +
    +    default_type = 0x80000000 | (vt << 16) | vt;
    +    if (!width) width = &scratch;
    +    if (!alignment) alignment = &scratch;
    +    if (!decoded_size) decoded_size = &scratch;
    +
    +
    +    switch (vt) {
    +    case VT_I1:
    +    case VT_UI1:
    +	*encoded_type = default_type;
    +	*width = 1;
    +	*alignment = 1;
    +	break;
    +
    +    case VT_INT:
    +	*encoded_type = 0x80000000 | (VT_I4 << 16) | VT_INT;
    +	if ((typelib->typelib_header.varflags & 0x0f) == SYS_WIN16) {
    +	    *width = 2;
    +	    *alignment = 2;
    +	} else {
    +	    *width = 4;
    +	    *alignment = 4;
    +	}
    +	break;
    +
    +    case VT_UINT:
    +	*encoded_type = 0x80000000 | (VT_UI4 << 16) | VT_UINT;
    +	if ((typelib->typelib_header.varflags & 0x0f) == SYS_WIN16) {
    +	    *width = 2;
    +	    *alignment = 2;
    +	} else {
    +	    *width = 4;
    +	    *alignment = 4;
    +	}
    +	break;
    +
    +    case VT_UI2:
    +    case VT_I2:
    +    case VT_BOOL:
    +	*encoded_type = default_type;
    +	*width = 2;
    +	*alignment = 2;
    +	break;
    +
    +    case VT_I4:
    +    case VT_UI4:
    +    case VT_R4:
    +    case VT_ERROR:
    +    case VT_BSTR:
    +    case VT_HRESULT:
    +	*encoded_type = default_type;
    +	*width = 4;
    +	*alignment = 4;
    +	break;
    +
    +    case VT_R8:
    +	*encoded_type = default_type;
    +	*width = 8;
    +	*alignment = 8;
    +	break;
    +
    +    case VT_CY:
    +	*encoded_type = default_type;
    +	*width = 8;
    +	*alignment = 8;
    +	break;
    +
    +    case VT_VOID:
    +	*encoded_type = 0x80000000 | (VT_EMPTY << 16) | vt;
    +	*width = 0;
    +	*alignment = 1;
    +	break;
    +
    +    case VT_UNKNOWN:
    +    case VT_DISPATCH:
    +        *encoded_type = default_type;
    +        *width = 4;
    +        *alignment = 4;
    +        break;
    +
    +    case VT_VARIANT:
    +        *encoded_type = default_type;
    +        break;
    +
    +    case VT_PTR:
    +      {
    +        int next_vt;
    +        while((next_vt = get_type_vt(type->ref)) == 0) {
    +            if(type->ref == NULL) {
    +                next_vt = VT_VOID;
    +                break;
    +            }
    +            type = type->ref;
    +        }
    +
    +        encode_type(typelib, next_vt, type->ref, &target_type, NULL, NULL, &child_size);
    +        if(type->ref->type == RPC_FC_IP) {
    +            chat("encode_type: skipping ptr\n");
    +            *encoded_type = target_type;
    +            *width = 4;
    +            *alignment = 4;
    +            *decoded_size = child_size;
    +            break;
    +        }
    +
    +	for (typeoffset = 0; typeoffset < typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length; typeoffset += 8) {
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +	    if (((typedata[0] & 0xffff) == VT_PTR) && (typedata[1] == target_type)) break;
    +	}
    +
    +	if (typeoffset == typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length) {
    +	    int mix_field;
    +	    
    +	    if (target_type & 0x80000000) {
    +		mix_field = ((target_type >> 16) & 0x3fff) | VT_BYREF;
    +	    } else {
    +		typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][target_type];
    +		mix_field = ((typedata[0] >> 16) == 0x7fff)? 0x7fff: 0x7ffe;
    +	    }
    +
    +	    typeoffset = ctl2_alloc_segment(typelib, MSFT_SEG_TYPEDESC, 8, 0);
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +
    +	    typedata[0] = (mix_field << 16) | VT_PTR;
    +	    typedata[1] = target_type;
    +	}
    +
    +	*encoded_type = typeoffset;
    +
    +	*width = 4;
    +	*alignment = 4;
    +	*decoded_size = 8 /*sizeof(TYPEDESC)*/ + child_size;
    +        break;
    +    }
    +#if 0
    +
    +
    +    case VT_SAFEARRAY:
    +	/* FIXME: Make with the error checking. */
    +	FIXME("SAFEARRAY vartype, may not work correctly.\n");
    +
    +	ctl2_encode_typedesc(typelib, tdesc->u.lptdesc, &target_type, NULL, NULL, &child_size);
    +
    +	for (typeoffset = 0; typeoffset < typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length; typeoffset += 8) {
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +	    if (((typedata[0] & 0xffff) == VT_SAFEARRAY) && (typedata[1] == target_type)) break;
    +	}
    +
    +	if (typeoffset == typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length) {
    +	    int mix_field;
    +	    
    +	    if (target_type & 0x80000000) {
    +		mix_field = ((target_type >> 16) & VT_TYPEMASK) | VT_ARRAY;
    +	    } else {
    +		typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][target_type];
    +		mix_field = ((typedata[0] >> 16) == 0x7fff)? 0x7fff: 0x7ffe;
    +	    }
    +
    +	    typeoffset = ctl2_alloc_segment(typelib, MSFT_SEG_TYPEDESC, 8, 0);
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +
    +	    typedata[0] = (mix_field << 16) | VT_SAFEARRAY;
    +	    typedata[1] = target_type;
    +	}
    +
    +	*encoded_tdesc = typeoffset;
    +
    +	*width = 4;
    +	*alignment = 4;
    +	*decoded_size = sizeof(TYPEDESC) + child_size;
    +	break;
    +
    +
    +#endif
    +
    +    case VT_USERDEFINED:
    +      {
    +        int typeinfo_offset;
    +        chat("encode_type: VT_USERDEFINED - type %p name = %s type->type %d idx %d\n", type,
    +             type->name, type->type, type->typelib_idx);
    +
    +        if(type->typelib_idx == -1) {
    +            chat("encode_type: trying to ref not added type\n");
    +            switch(type->type) {
    +            case RPC_FC_STRUCT:
    +                add_structure_typeinfo(typelib, type);
    +                break;
    +            case RPC_FC_IP:
    +                add_interface_typeinfo(typelib, type);
    +                break;
    +            case 0:
    +                error("encode_type: VT_USERDEFINED - can't yet add typedef's on the fly\n");
    +            default:
    +                error("encode_type: VT_USERDEFINED - unhandled type %d\n", type->type);
    +            }
    +        }
    +
    +        typeinfo_offset = typelib->typelib_typeinfo_offsets[type->typelib_idx];
    +	for (typeoffset = 0; typeoffset < typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length; typeoffset += 8) {
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +	    if ((typedata[0] == ((0x7fff << 16) | VT_USERDEFINED)) && (typedata[1] == typeinfo_offset)) break;
    +	}
    +
    +	if (typeoffset == typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length) {
    +	    typeoffset = ctl2_alloc_segment(typelib, MSFT_SEG_TYPEDESC, 8, 0);
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +
    +	    typedata[0] = (0x7fff << 16) | VT_USERDEFINED;
    +	    typedata[1] = typeinfo_offset;
    +	}
    +
    +	*encoded_type = typeoffset;
    +	*width = 0;
    +	*alignment = 1;
    +
    +        if(type->type == RPC_FC_IP) {
    +            for (typeoffset = 0; typeoffset < typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length; typeoffset += 8) {
    +                typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +                if ((typedata[0] == ((0x7fff << 16) | VT_PTR)) && (typedata[1] == *encoded_type)) break;
    +            }
    +            if (typeoffset == typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length) {
    +                typeoffset = ctl2_alloc_segment(typelib, MSFT_SEG_TYPEDESC, 8, 0);
    +                typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +
    +                typedata[0] = (0x7fff << 16) | VT_PTR;
    +                typedata[1] = *encoded_type;
    +            }
    +            *encoded_type = typeoffset;
    +            *width = 4;
    +            *alignment = 4;
    +            *decoded_size += 8;
    +        }
    +        break;
    +      }
    +
    +    default:
    +	error("encode_type: unrecognized type %d.\n", vt);
    +	*encoded_type = default_type;
    +	*width = 0;
    +	*alignment = 1;
    +	break;
    +    }
    +
    +    return 0;
    +}
    +
    +static void dump_type(type_t *t)
    +{
    +    chat("dump_type: %p name %s type %d ref %p rname %s attrs %p\n", t, t->name, t->type, t->ref, t->rname, t->attrs);
    +    if(t->ref) dump_type(t->ref);
    +}
    +
    +static int encode_var(
    +	msft_typelib_t *typelib,   /* [I] The type library in which to encode the TYPEDESC. */
    +	var_t *var,                /* [I] The type description to encode. */
    +	int *encoded_type,         /* [O] The encoded type description. */
    +	int *width,                /* [O] The width of the type, or NULL. */
    +	int *alignment,            /* [O] The alignment of the type, or NULL. */
    +	int *decoded_size)         /* [O] The total size of the unencoded TYPEDESCs, including nested descs. */
    +{
    +    int typeoffset;
    +    int *typedata;
    +    int target_type;
    +    int child_size;
    +    int vt;
    +    int scratch;
    +    type_t *type;
    +
    +    if (!width) width = &scratch;
    +    if (!alignment) alignment = &scratch;
    +    if (!decoded_size) decoded_size = &scratch;
    +    *decoded_size = 0;
    +
    +    chat("encode_var: var %p var->tname %s var->type %p var->ptr_level %d var->type->ref %p\n", var, var->tname, var->type, var->ptr_level, var->type->ref);
    +    if(var->ptr_level) {
    +        int skip_ptr;
    +        var->ptr_level--;
    +	skip_ptr = encode_var(typelib, var, &target_type, NULL, NULL, &child_size);
    +        var->ptr_level++;
    +
    +        if(skip_ptr == 2) {
    +            chat("encode_var: skipping ptr\n");
    +            *encoded_type = target_type;
    +            *decoded_size = child_size;
    +            *width = 4;
    +            *alignment = 4;
    +            return 0;
    +        }
    +
    +	for (typeoffset = 0; typeoffset < typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length; typeoffset += 8) {
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +	    if (((typedata[0] & 0xffff) == VT_PTR) && (typedata[1] == target_type)) break;
    +	}
    +
    +	if (typeoffset == typelib->typelib_segdir[MSFT_SEG_TYPEDESC].length) {
    +	    int mix_field;
    +	    
    +	    if (target_type & 0x80000000) {
    +		mix_field = ((target_type >> 16) & 0x3fff) | VT_BYREF;
    +	    } else {
    +		typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][target_type];
    +		mix_field = ((typedata[0] >> 16) == 0x7fff)? 0x7fff: 0x7ffe;
    +	    }
    +
    +	    typeoffset = ctl2_alloc_segment(typelib, MSFT_SEG_TYPEDESC, 8, 0);
    +	    typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +
    +	    typedata[0] = (mix_field << 16) | VT_PTR;
    +	    typedata[1] = target_type;
    +	}
    +
    +	*encoded_type = typeoffset;
    +
    +	*width = 4;
    +	*alignment = 4;
    +	*decoded_size = 8 /*sizeof(TYPEDESC)*/ + child_size;
    +        return 0;
    +    }
    +
    +    if(var->array) {
    +        expr_t *dim = var->array;
    +        expr_t *array_save;
    +        int num_dims = 1, elements = 1, arrayoffset;
    +        int *arraydata;
    +
    +        while(NEXT_LINK(dim)) {
    +            dim = NEXT_LINK(dim);
    +            num_dims++;
    +        }
    +        chat("array with %d dimensions\n", num_dims);
    +        array_save = var->array;
    +        var->array = NULL;
    +	encode_var(typelib, var, &target_type, width, alignment, NULL);
    +        var->array = array_save;
    +	arrayoffset = ctl2_alloc_segment(typelib, MSFT_SEG_ARRAYDESC, (2 + 2 * num_dims) * sizeof(long), 0);
    +	arraydata = (void *)&typelib->typelib_segment_data[MSFT_SEG_ARRAYDESC][arrayoffset];
    +
    +	arraydata[0] = target_type;
    +        arraydata[1] = num_dims;
    +        arraydata[1] |= ((num_dims * 2 * sizeof(long)) << 16);
    +
    +        arraydata += 2;
    +        while(dim) {
    +            arraydata[0] = dim->cval;
    +            arraydata[1] = 0;
    +            arraydata += 2;
    +            elements *= dim->cval;
    +            dim = PREV_LINK(dim);
    +        }
    +
    +	typeoffset = ctl2_alloc_segment(typelib, MSFT_SEG_TYPEDESC, 8, 0);
    +	typedata = (void *)&typelib->typelib_segment_data[MSFT_SEG_TYPEDESC][typeoffset];
    +
    +	typedata[0] = (0x7ffe << 16) | VT_CARRAY;
    +	typedata[1] = arrayoffset;
    +
    +	*encoded_type = typeoffset;
    +	*width = *width * elements;
    +	*decoded_size = 20 /*sizeof(ARRAYDESC)*/ + (num_dims - 1) * 8 /*sizeof(SAFEARRAYBOUND)*/;
    +        return 0;
    +    }
    +    dump_type(var->type);
    +
    +    vt = get_var_vt(var);
    +    type = var->type;
    +    while(!vt) {
    +        if(type->ref == NULL) {
    +            vt = VT_VOID;
    +            break;
    +        }
    +        type = type->ref;
    +        vt = get_type_vt(type);
    +    }
    +    encode_type(typelib, vt, type, encoded_type, width, alignment, decoded_size);
    +    if(type->type == RPC_FC_IP) return 2;
    +    return 0;
    +}
    +
    +
    +static void write_value(msft_typelib_t* typelib, int *out, int vt, void *value)
    +{
    +    switch(vt) {
    +    case VT_I2:
    +    case VT_I4:
    +    case VT_R4:
    +    case VT_BOOL:
    +    case VT_I1:
    +    case VT_UI1:
    +    case VT_UI2:
    +    case VT_UI4:
    +    case VT_INT:
    +    case VT_UINT:
    +    case VT_HRESULT:
    +      {
    +        unsigned long *lv = value;
    +        if((*lv & 0x3ffffff) == *lv) {
    +            *out = 0x80000000;
    +            *out |= vt << 26;
    +            *out |= *lv;
    +        } else {
    +            int offset = ctl2_alloc_segment(typelib, MSFT_SEG_CUSTDATA, 8, 0);
    +            *((unsigned short *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset]) = vt;
    +            memcpy(&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+2], value, 4);
    +            *((unsigned short *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+6]) = 0x5757;
    +            *out = offset;
    +        }
    +        return;
    +      }
    +    case VT_BSTR:
    +      {
    +        char *s = (char *) value;
    +        int len = strlen(s), seg_len = (len + 6 + 3) & ~0x3;
    +        int offset = ctl2_alloc_segment(typelib, MSFT_SEG_CUSTDATA, seg_len, 0);
    +        *((unsigned short *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset]) = vt;
    +        *((unsigned int *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+2]) = len;        
    +        memcpy(&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+6], value, len);
    +        len += 6;
    +        while(len < seg_len) {
    +            *((char *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATA][offset+len]) = 0x57;
    +            len++;
    +        }
    +        *out = offset;
    +        return;
    +      }
    +
    +    default:
    +        warning("can't write value of type %d yet\n", vt);
    +    }
    +    return;
    +}
    +
    +static HRESULT set_custdata(msft_typelib_t *typelib, REFGUID guid,
    +                            int vt, void *value, int *offset)
    +{
    +    MSFT_GuidEntry guidentry;
    +    int guidoffset;
    +    int custoffset;
    +    int *custdata;
    +    int data_out;
    +
    +    guidentry.guid = *guid;
    +
    +    guidentry.hreftype = -1;
    +    guidentry.next_hash = -1;
    +
    +    guidoffset = ctl2_alloc_guid(typelib, &guidentry);
    +    if (guidoffset == -1) return E_OUTOFMEMORY;
    +    write_value(typelib, &data_out, vt, value);
    +
    +    custoffset = ctl2_alloc_segment(typelib, MSFT_SEG_CUSTDATAGUID, 12, 0);
    +    if (custoffset == -1) return E_OUTOFMEMORY;
    +
    +    custdata = (int *)&typelib->typelib_segment_data[MSFT_SEG_CUSTDATAGUID][custoffset];
    +    custdata[0] = guidoffset;
    +    custdata[1] = data_out;
    +    custdata[2] = *offset;
    +    *offset = custoffset;
    +
    +    return S_OK;
    +}
    +
    +static HRESULT add_func_desc(msft_typeinfo_t* typeinfo, func_t *func, int index)
    +{
    +    int offset, name_offset;
    +    int *typedata, typedata_size;
    +    int i, id, next_idx;
    +    int decoded_size, extra_attr = 0;
    +    int num_params = 0, num_defaults = 0;
    +    var_t *arg, *last_arg = NULL;
    +    char *namedata;
    +    attr_t *attr;
    +    unsigned int funcflags = 0, callconv = 4 /* CC_STDCALL */;
    +    unsigned int funckind, invokekind = 1 /* INVOKE_FUNC */;
    +    int help_context = 0, help_string_context = 0, help_string_offset = -1;
    +    int entry = -1, entry_is_ord = 0;
    +
    +    chat("add_func_desc(%p,%d)\n", typeinfo, index);
    +
    +    id = ((0x6000 | (typeinfo->typeinfo->datatype2 & 0xffff)) << 16) | index;
    +
    +    switch(typeinfo->typeinfo->typekind & 15) {
    +    case TKIND_DISPATCH:
    +        funckind = 0x4; /* FUNC_DISPATCH */
    +        break;
    +    case TKIND_MODULE:
    +        funckind = 0x3; /* FUNC_STATIC */
    +        break;
    +    default:
    +        funckind = 0x1; /* FUNC_PUREVIRTUAL */
    +        break;
    +    }
    +
    +    for(attr = func->def->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_LOCAL) {
    +            chat("add_func_desc: skipping local function\n");
    +            return S_FALSE;
    +        }
    +    }
    +
    +    for(arg = func->args; arg; arg = NEXT_LINK(arg)) {
    +        last_arg = arg;
    +        num_params++;
    +        for(attr = arg->attrs; attr; attr = NEXT_LINK(attr)) {
    +            if(attr->type == ATTR_DEFAULTVALUE_EXPR || attr->type == ATTR_DEFAULTVALUE_STRING) {
    +                num_defaults++;
    +                break;
    +            }
    +        }
    +    }
    +
    +    chat("add_func_desc: num of params %d\n", num_params);
    +
    +    name_offset = ctl2_alloc_name(typeinfo->typelib, func->def->name);
    +
    +    for(attr = func->def->attrs; attr; attr = NEXT_LINK(attr)) {
    +        expr_t *expr = attr->u.pval; 
    +        switch(attr->type) {
    +        case ATTR_ENTRY_ORDINAL:
    +            extra_attr = max(extra_attr, 3);
    +            entry = expr->cval;
    +            entry_is_ord = 1;
    +            break;
    +        case ATTR_ENTRY_STRING:
    +            extra_attr = max(extra_attr, 3);
    +            entry = ctl2_alloc_string(typeinfo->typelib, attr->u.pval);
    +            break;
    +        case ATTR_HELPCONTEXT:
    +            extra_attr = max(extra_attr, 1);
    +            help_context = expr->u.lval;
    +            break;
    +        case ATTR_HELPSTRING:
    +            extra_attr = max(extra_attr, 2);
    +            help_string_offset = ctl2_alloc_string(typeinfo->typelib, attr->u.pval);
    +            break;
    +        case ATTR_HELPSTRINGCONTEXT:
    +            extra_attr = max(extra_attr, 6);
    +            help_string_context = expr->u.lval;
    +            break;
    +        case ATTR_HIDDEN:
    +            funcflags |= 0x40; /* FUNCFLAG_FHIDDEN */
    +            break;
    +        case ATTR_ID:
    +            id = expr->u.lval;
    +            break;
    +        case ATTR_OUT:
    +            break;
    +        case ATTR_PROPGET:
    +            invokekind = 0x2; /* INVOKE_PROPERTYGET */
    +            break;
    +        case ATTR_PROPPUT:
    +            invokekind = 0x4; /* INVOKE_PROPERTYPUT */
    +            break;
    +        case ATTR_PROPPUTREF:
    +            invokekind = 0x8; /* INVOKE_PROPERTYPUTREF */
    +            break;
    +        case ATTR_RESTRICTED:
    +            funcflags |= 0x1; /* FUNCFLAG_FRESTRICTED */
    +            break;
    +        default:
    +            warning("add_func_desc: ignoring attr %d\n", attr->type);
    +            break;
    +        }
    +    }
    +
    +    switch(invokekind) {
    +    case 0x2: /* INVOKE_PROPERTYGET */
    +        if((num_params != 0 && (typeinfo->typeinfo->typekind & 15) == TKIND_DISPATCH)
    +           || (num_params != 1 && (typeinfo->typeinfo->typekind & 15) == TKIND_INTERFACE)) {
    +            error("expecting no args on a propget func\n");
    +            return S_FALSE;
    +        }
    +        break;
    +    case 0x4: /* INVOKE_PROPERTYPUT */
    +    case 0x8: /* INVOKE_PROPERTYPUTREF */
    +        if(num_params != 1) {
    +            error("expecting one arg on a propput func\n");
    +            return S_FALSE;
    +        }
    +        break;
    +    default:
    +        break;
    +    }
    +
    +    /* allocate type data space for us */
    +    typedata_size = 0x18 + extra_attr * sizeof(int) + (num_params * (num_defaults ? 16 : 12));
    +
    +    if (!typeinfo->func_data) {
    +        typeinfo->func_data = xmalloc(0x100);
    +        typeinfo->func_data_allocated = 0x100;
    +        typeinfo->func_data[0] = 0;
    +    }
    +
    +    if(typeinfo->func_data[0] + typedata_size + sizeof(int) > typeinfo->func_data_allocated) {
    +        typeinfo->func_data_allocated = max(typeinfo->func_data_allocated * 2,
    +                                            typeinfo->func_data[0] + typedata_size + sizeof(int));
    +        typeinfo->func_data = xrealloc(typeinfo->func_data, typeinfo->func_data_allocated);
    +    }
    +
    +    offset = typeinfo->func_data[0];
    +    typeinfo->func_data[0] += typedata_size;
    +    typedata = typeinfo->func_data + (offset >> 2) + 1;
    +
    +
    +    /* find func with the same name - if it exists use its id */
    +    for(i = 0; i < (typeinfo->typeinfo->cElement & 0xffff); i++) {
    +        if(name_offset == typeinfo->func_names[i]) {
    +            id = typeinfo->func_indices[i];
    +            break;
    +        }
    +    }
    +
    +    /* find the first func with the same id and link via the hiword of typedata[4] */
    +    next_idx = index;
    +    for(i = 0; i < (typeinfo->typeinfo->cElement & 0xffff); i++) {
    +        if(id == typeinfo->func_indices[i]) {
    +            next_idx = typeinfo->func_data[(typeinfo->func_offsets[i] >> 2) + 1 + 4] >> 16;
    +            typeinfo->func_data[(typeinfo->func_offsets[i] >> 2) + 1 + 4] &= 0xffff;
    +            typeinfo->func_data[(typeinfo->func_offsets[i] >> 2) + 1 + 4] |= (index << 16);
    +            break;
    +        }
    +    }
    +
    +    /* fill out the basic type information */
    +    typedata[0] = typedata_size | (index << 16);
    +    encode_var(typeinfo->typelib, func->def, &typedata[1], NULL, NULL, &decoded_size);
    +    typedata[2] = funcflags;
    +    typedata[3] = ((52 /*sizeof(FUNCDESC)*/ + decoded_size) << 16) | typeinfo->typeinfo->cbSizeVft;
    +    typedata[4] = (next_idx << 16) | (callconv << 8) | (invokekind << 3) | funckind;
    +    if(num_defaults) typedata[4] |= 0x1000;
    +    if(entry_is_ord) typedata[4] |= 0x2000;
    +    typedata[5] = num_params;
    +
    +    /* NOTE: High word of typedata[3] is total size of FUNCDESC + size of all ELEMDESCs for params + TYPEDESCs for pointer params and return types. */
    +    /* That is, total memory allocation required to reconstitute the FUNCDESC in its entirety. */
    +    typedata[3] += (16 /*sizeof(ELEMDESC)*/ * num_params) << 16;
    +    typedata[3] += (24 /*sizeof(PARAMDESCEX)*/ * num_defaults) << 16;
    +
    +    switch(extra_attr) {
    +    case 6: typedata[11] = help_string_context;
    +    case 5: typedata[10] = -1;
    +    case 4: typedata[9] = -1;
    +    case 3: typedata[8] = entry;
    +    case 2: typedata[7] = help_string_offset;
    +    case 1: typedata[6] = help_context;
    +    case 0:
    +        break;
    +    default:
    +        warning("unknown number of optional attrs\n");
    +    }
    +
    +    for (arg = last_arg, i = 0; arg; arg = PREV_LINK(arg), i++) {
    +        attr_t *attr;
    +        int paramflags = 0;
    +        int *paramdata = typedata + 6 + extra_attr + (num_defaults ? num_params : 0) + i * 3;
    +        int *defaultdata = num_defaults ? typedata + 6 + extra_attr + i : NULL;
    +
    +        if(defaultdata) *defaultdata = -1;
    +
    +	encode_var(typeinfo->typelib, arg, paramdata, NULL, NULL, &decoded_size);
    +        for(attr = arg->attrs; attr; attr = NEXT_LINK(attr)) {
    +            switch(attr->type) {
    +            case ATTR_DEFAULTVALUE_EXPR:
    +              {
    +                expr_t *expr = (expr_t *)attr->u.pval;
    +                paramflags |= 0x30; /* PARAMFLAG_FHASDEFAULT | PARAMFLAG_FOPT */
    +                chat("default value %ld\n", expr->cval);
    +                write_value(typeinfo->typelib, defaultdata, (*paramdata >> 16) & 0x1ff, &expr->cval);
    +                break;
    +              }
    +            case ATTR_DEFAULTVALUE_STRING:
    +              {
    +                char *s = (char *)attr->u.pval;
    +                paramflags |= 0x30; /* PARAMFLAG_FHASDEFAULT | PARAMFLAG_FOPT */
    +                chat("default value '%s'\n", s);
    +                write_value(typeinfo->typelib, defaultdata, (*paramdata >> 16) & 0x1ff, s);
    +                break;
    +              }
    +            case ATTR_IN:
    +                paramflags |= 0x01; /* PARAMFLAG_FIN */
    +                break;
    +            case ATTR_OPTIONAL:
    +                paramflags |= 0x10; /* PARAMFLAG_FOPT */
    +                break;
    +            case ATTR_OUT:
    +                paramflags |= 0x02; /* PARAMFLAG_FOUT */
    +                break;
    +            case ATTR_RETVAL:
    +                paramflags |= 0x08; /* PARAMFLAG_FRETVAL */
    +                typedata[4] |= 0x4000;
    +                break;
    +            default:
    +                chat("unhandled param attr %d\n", attr->type);
    +                break;
    +            }
    +        }
    +	paramdata[1] = -1;
    +	paramdata[2] = paramflags;
    +	typedata[3] += decoded_size << 16;
    +    }
    +
    +    if(typeinfo->funcs_allocated == 0) {
    +        typeinfo->funcs_allocated = 10;
    +        typeinfo->func_indices = xmalloc(typeinfo->funcs_allocated * sizeof(int));
    +        typeinfo->func_names   = xmalloc(typeinfo->funcs_allocated * sizeof(int));
    +        typeinfo->func_offsets = xmalloc(typeinfo->funcs_allocated * sizeof(int));
    +    }
    +    if(typeinfo->funcs_allocated == (typeinfo->typeinfo->cElement & 0xffff)) {
    +        typeinfo->funcs_allocated *= 2;
    +        typeinfo->func_indices = xrealloc(typeinfo->func_indices, typeinfo->funcs_allocated * sizeof(int));
    +        typeinfo->func_names   = xrealloc(typeinfo->func_names,   typeinfo->funcs_allocated * sizeof(int));
    +        typeinfo->func_offsets = xrealloc(typeinfo->func_offsets, typeinfo->funcs_allocated * sizeof(int));
    +    }
    +
    +    /* update the index data */
    +    typeinfo->func_indices[typeinfo->typeinfo->cElement & 0xffff] = id; 
    +    typeinfo->func_offsets[typeinfo->typeinfo->cElement & 0xffff] = offset;
    +    typeinfo->func_names[typeinfo->typeinfo->cElement & 0xffff] = name_offset;
    +
    +    /* ??? */
    +    if (!typeinfo->typeinfo->res2) typeinfo->typeinfo->res2 = 0x20;
    +    typeinfo->typeinfo->res2 <<= 1;
    +    /* ??? */
    +    if (index < 2) typeinfo->typeinfo->res2 += num_params << 4;
    +
    +    if (typeinfo->typeinfo->res3 == -1) typeinfo->typeinfo->res3 = 0;
    +    typeinfo->typeinfo->res3 += 0x38 + num_params * 0x10;
    +    if(num_defaults) typeinfo->typeinfo->res3 += num_params * 0x4;
    +
    +    /* adjust size of VTBL */
    +    if(funckind != 0x3 /* FUNC_STATIC */)
    +        typeinfo->typeinfo->cbSizeVft += 4;
    +
    +    /* Increment the number of function elements */
    +    typeinfo->typeinfo->cElement += 1;
    +
    +    namedata = typeinfo->typelib->typelib_segment_data[MSFT_SEG_NAME] + name_offset;
    +    if (*((INT *)namedata) == -1) {
    +	*((INT *)namedata) = typeinfo->typelib->typelib_typeinfo_offsets[typeinfo->typeinfo->typekind >> 16];
    +        if((typeinfo->typeinfo->typekind & 15) == TKIND_MODULE)
    +            namedata[9] |= 0x10;
    +    } else
    +        namedata[9] &= ~0x10;
    +
    +    if((typeinfo->typeinfo->typekind & 15) == TKIND_MODULE)
    +        namedata[9] |= 0x20;
    +
    +    if(invokekind != 0x4 /* INVOKE_PROPERTYPUT */ && invokekind != 0x8 /* INVOKE_PROPERTYPUTREF */) { 
    +        /* don't give the arg of a [propput*] func a name */
    +        for (arg = last_arg, i = 0; arg; arg = PREV_LINK(arg), i++) {
    +            int *paramdata = typedata + 6 + extra_attr + (num_defaults ? num_params : 0) + i * 3;
    +            offset = ctl2_alloc_name(typeinfo->typelib, arg->name);
    +            paramdata[1] = offset;
    +        }
    +    }
    +    return S_OK;
    +}
    +
    +static HRESULT add_var_desc(msft_typeinfo_t *typeinfo, UINT index, var_t* var)
    +{
    +    int offset, typedata_size, id;
    +    INT *typedata;
    +    int var_datawidth;
    +    int var_alignment;
    +    int var_type_size, var_kind = 0 /* VAR_PERINSTANCE */; 
    +    int alignment;
    +    int varflags = 0;
    +    attr_t *attr;
    +    char *namedata;
    +    int var_num = (typeinfo->typeinfo->cElement >> 16) & 0xffff;
    +
    +    chat("add_var_desc(%d,%s) array %p\n", index, var->name, var->array);
    +
    +    id = 0x40000000 + index;
    +
    +    for(attr = var->attrs; attr; attr = NEXT_LINK(attr)) {
    +        expr_t *expr = attr->u.pval; 
    +        switch(attr->type) {
    +        case ATTR_HIDDEN:
    +            varflags |= 0x40; /* VARFLAG_FHIDDEN */
    +            break;
    +        case ATTR_ID:
    +            id = expr->u.lval;
    +            break;
    +        case ATTR_READONLY:
    +            varflags |= 0x01; /* VARFLAG_FREADONLY */
    +            break;
    +        case ATTR_RESTRICTED:
    +            varflags |= 0x80; /* VARFLAG_FRESTRICTED */
    +            break;
    +        case ATTR_SOURCE:
    +            varflags |= 0x02; /* VARFLAG_FSOURCE */
    +            break;
    +        default:
    +            warning("AddVarDesc: unhandled attr type %d\n", attr->type);
    +            break;
    +        }
    +    }
    +
    +    /* allocate type data space for us */
    +    typedata_size = 0x14;
    +
    +    if (!typeinfo->var_data) {
    +        typeinfo->var_data = xmalloc(0x100);
    +        typeinfo->var_data_allocated = 0x100;
    +        typeinfo->var_data[0] = 0;
    +    }
    +
    +    if(typeinfo->var_data[0] + typedata_size + sizeof(int) > typeinfo->var_data_allocated) {
    +        typeinfo->var_data_allocated = max(typeinfo->var_data_allocated * 2,
    +                                            typeinfo->var_data[0] + typedata_size + sizeof(int));
    +        typeinfo->var_data = xrealloc(typeinfo->var_data, typeinfo->var_data_allocated);
    +    }
    +
    +    offset = typeinfo->var_data[0];
    +    typeinfo->var_data[0] += typedata_size;
    +    typedata = typeinfo->var_data + (offset >> 2) + 1;
    +
    +    /* fill out the basic type information */
    +    typedata[0] = typedata_size | (index << 16);
    +    typedata[2] = varflags;
    +    typedata[3] = (36 /*sizeof(VARDESC)*/ << 16) | 0;
    +
    +    if(typeinfo->vars_allocated == 0) {
    +        typeinfo->vars_allocated = 10;
    +        typeinfo->var_indices = xmalloc(typeinfo->vars_allocated * sizeof(int));
    +        typeinfo->var_names   = xmalloc(typeinfo->vars_allocated * sizeof(int));
    +        typeinfo->var_offsets = xmalloc(typeinfo->vars_allocated * sizeof(int));
    +    }
    +    if(typeinfo->vars_allocated == var_num) {
    +        typeinfo->vars_allocated *= 2;
    +        typeinfo->var_indices = xrealloc(typeinfo->var_indices, typeinfo->vars_allocated * sizeof(int));
    +        typeinfo->var_names   = xrealloc(typeinfo->var_names,   typeinfo->vars_allocated * sizeof(int));
    +        typeinfo->var_offsets = xrealloc(typeinfo->var_offsets, typeinfo->vars_allocated * sizeof(int));
    +    }
    +    /* update the index data */
    +    typeinfo->var_indices[var_num] = id;
    +    typeinfo->var_names[var_num] = -1;
    +    typeinfo->var_offsets[var_num] = offset;
    +
    +    /* figure out type widths and whatnot */
    +    encode_var(typeinfo->typelib, var, &typedata[1], &var_datawidth,
    +               &var_alignment, &var_type_size);
    +
    +    /* pad out starting position to data width */
    +    typeinfo->datawidth += var_alignment - 1;
    +    typeinfo->datawidth &= ~(var_alignment - 1);
    +
    +    switch(typeinfo->typeinfo->typekind & 0xf) {
    +    case TKIND_ENUM:
    +        write_value(typeinfo->typelib, &typedata[4], VT_I4, &var->lval);
    +        var_kind = 2; /* VAR_CONST */
    +        var_type_size += 16; /* sizeof(VARIANT) */
    +        typeinfo->datawidth = var_datawidth;
    +        break;
    +    case TKIND_RECORD:
    +        typedata[4] = typeinfo->datawidth;
    +        typeinfo->datawidth += var_datawidth;
    +        break;
    +    case TKIND_DISPATCH:
    +        var_kind = 3; /* VAR_DISPATCH */
    +        typeinfo->datawidth = 4;
    +        var_alignment = 4;
    +        break;
    +    default:
    +        error("add_var_desc: unhandled type kind %d\n", typeinfo->typeinfo->typekind & 0xf);
    +        break;
    +    }
    +
    +    /* add type description size to total required allocation */
    +    typedata[3] += var_type_size << 16 | var_kind;
    +
    +    /* fix type alignment */
    +    alignment = (typeinfo->typeinfo->typekind >> 11) & 0x1f;
    +    if (alignment < var_alignment) {
    +	alignment = var_alignment;
    +	typeinfo->typeinfo->typekind &= ~0xffc0;
    +	typeinfo->typeinfo->typekind |= alignment << 11 | alignment << 6;
    +    }
    +
    +    /* ??? */
    +    if (!typeinfo->typeinfo->res2) typeinfo->typeinfo->res2 = 0x1a;
    +    if ((index == 0) || (index == 1) || (index == 2) || (index == 4) || (index == 9)) {
    +	typeinfo->typeinfo->res2 <<= 1;
    +    }
    +
    +    /* ??? */
    +    if (typeinfo->typeinfo->res3 == -1) typeinfo->typeinfo->res3 = 0;
    +    typeinfo->typeinfo->res3 += 0x2c;
    +
    +    /* increment the number of variable elements */
    +    typeinfo->typeinfo->cElement += 0x10000;
    +
    +    /* pad data width to alignment */
    +    typeinfo->typeinfo->size = (typeinfo->datawidth + (alignment - 1)) & ~(alignment - 1);
    +
    +    offset = ctl2_alloc_name(typeinfo->typelib, var->name);
    +    if (offset == -1) return E_OUTOFMEMORY;
    +
    +    namedata = typeinfo->typelib->typelib_segment_data[MSFT_SEG_NAME] + offset;
    +    if (*((INT *)namedata) == -1) {
    +	*((INT *)namedata) = typeinfo->typelib->typelib_typeinfo_offsets[typeinfo->typeinfo->typekind >> 16];
    +        if((typeinfo->typeinfo->typekind & 15) != TKIND_DISPATCH)
    +            namedata[9] |= 0x10;
    +    } else
    +        namedata[9] &= ~0x10;
    +
    +    if ((typeinfo->typeinfo->typekind & 15) == TKIND_ENUM) {
    +	namedata[9] |= 0x20;
    +    }
    +    typeinfo->var_names[var_num] = offset;
    +
    +    return S_OK;
    +}
    +
    +static HRESULT add_impl_type(msft_typeinfo_t *typeinfo, type_t *ref)
    +{
    +    if(ref->typelib_idx == -1)
    +        add_interface_typeinfo(typeinfo->typelib, ref);
    +    if(ref->typelib_idx == -1)
    +        error("add_impl_type: unable to add inherited interface\n");
    +
    +    typeinfo->typeinfo->datatype1 = typeinfo->typelib->typelib_typeinfo_offsets[ref->typelib_idx];
    +    typeinfo->typeinfo->cImplTypes++;
    +    return S_OK;
    +}
    +
    +static msft_typeinfo_t *create_msft_typeinfo(msft_typelib_t *typelib, enum type_kind kind,
    +                                             char *name, attr_t *attr, int idx)
    +{
    +    msft_typeinfo_t *msft_typeinfo;
    +    int nameoffset;
    +    int typeinfo_offset;
    +    MSFT_TypeInfoBase *typeinfo;
    +    MSFT_GuidEntry guidentry;
    +
    +    chat("create_msft_typeinfo: name %s kind %d\n", name, kind);
    +
    +    msft_typeinfo = xmalloc(sizeof(*msft_typeinfo));
    +
    +    msft_typeinfo->typelib = typelib;
    +
    +    nameoffset = ctl2_alloc_name(typelib, name);
    +    typeinfo_offset = ctl2_alloc_typeinfo(typelib, nameoffset);
    +    typeinfo = (MSFT_TypeInfoBase *)&typelib->typelib_segment_data[MSFT_SEG_TYPEINFO][typeinfo_offset];
    +
    +    typelib->typelib_segment_data[MSFT_SEG_NAME][nameoffset + 9] = 0x38;
    +    *((int *)&typelib->typelib_segment_data[MSFT_SEG_NAME][nameoffset]) = typeinfo_offset;
    +
    +    msft_typeinfo->typeinfo = typeinfo;
    +
    +    typeinfo->typekind |= kind | 0x20;
    +
    +    if(kind == TKIND_COCLASS)
    +        typeinfo->flags |= 0x2; /* TYPEFLAG_FCANCREATE */
    +
    +    for( ; attr; attr = NEXT_LINK(attr)) {
    +        switch(attr->type) {
    +        case ATTR_DISPINTERFACE:
    +            break;
    +
    +        case ATTR_DLLNAME:
    +          {
    +            int offset = ctl2_alloc_string(typelib, attr->u.pval);
    +            typeinfo->datatype1 = offset;
    +            break;
    +          }
    +        case ATTR_HELPCONTEXT:
    +          {
    +            expr_t *expr = (expr_t*)attr->u.pval;
    +            typeinfo->helpcontext = expr->cval;
    +            break;
    +          }
    +        case ATTR_HELPSTRING:
    +          {
    +            int offset = ctl2_alloc_string(typelib, attr->u.pval);
    +            if (offset == -1) break;
    +            typeinfo->docstringoffs = offset;
    +            break;
    +          }
    +        case ATTR_HELPSTRINGCONTEXT:
    +          {
    +            expr_t *expr = (expr_t*)attr->u.pval;
    +            typeinfo->helpstringcontext = expr->cval;
    +            break;
    +          }
    +        case ATTR_HIDDEN:
    +            typeinfo->flags |= 0x10; /* TYPEFLAG_FHIDDEN */
    +            break;
    +
    +        case ATTR_NONCREATABLE:
    +            typeinfo->flags &= ~0x2; /* TYPEFLAG_FCANCREATE */
    +            break;
    +
    +        case ATTR_ODL:
    +            break;
    +
    +        case ATTR_PUBLIC:
    +            break;
    +
    +        case ATTR_RESTRICTED:
    +            typeinfo->flags |= 0x200; /* TYPEFLAG_FRESTRICTED */
    +            break;
    +
    +        case ATTR_UUID:
    +            guidentry.guid = *(GUID*)attr->u.pval;
    +            guidentry.hreftype = typelib->typelib_typeinfo_offsets[typeinfo->typekind >> 16];
    +            guidentry.next_hash = -1;
    +            typeinfo->posguid = ctl2_alloc_guid(typelib, &guidentry);
    +#if 0
    +            if (IsEqualIID(guid, &IID_IDispatch)) {
    +                typelib->typelib_header.dispatchpos = typelib->typelib_typeinfo_offsets[typeinfo->typekind >> 16];
    +            }
    +#endif
    +            break;
    +
    +        case ATTR_VERSION:
    +            typeinfo->version = attr->u.ival;
    +            break;
    +
    +        default:
    +            warning("create_msft_typeinfo: ignoring attr %d\n", attr->type);
    +            break;
    +        }
    +    }
    +
    +    if (typelib->last_typeinfo) typelib->last_typeinfo->next_typeinfo = msft_typeinfo;
    +    typelib->last_typeinfo = msft_typeinfo;
    +    if (!typelib->typeinfos) typelib->typeinfos = msft_typeinfo;
    +
    +
    +    return msft_typeinfo;
    +}
    +
    +static void add_dispatch(msft_typelib_t *typelib)
    +{
    +    int guid_offset, impfile_offset;
    +    MSFT_GuidEntry guidentry;
    +    MSFT_ImpInfo impinfo;
    +    GUID stdole =        {0x00020430,0x0000,0x0000,{0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}};
    +    GUID iid_idispatch = {0x00020400,0x0000,0x0000,{0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}};
    +
    +    if(typelib->typelib_header.dispatchpos != -1) return;
    +
    +    guidentry.guid = stdole;
    +    guidentry.hreftype = 2;
    +    guidentry.next_hash = -1;
    +    guid_offset = ctl2_alloc_guid(typelib, &guidentry);
    +    impfile_offset = alloc_importfile(typelib, guid_offset, 2, 0, "stdole2.tlb");
    +
    +    guidentry.guid = iid_idispatch;
    +    guidentry.hreftype = 1;
    +    guidentry.next_hash = -1;
    +    impinfo.res0 = 0x301 << 16;
    +    impinfo.oImpFile = impfile_offset;
    +    impinfo.oGuid = ctl2_alloc_guid(typelib, &guidentry);
    +    typelib->typelib_header.dispatchpos = alloc_importinfo(typelib, &impinfo) | 0x01;
    +
    +    typelib->typelib_header.res50 = 1;
    +
    +}
    +
    +static void add_dispinterface_typeinfo(msft_typelib_t *typelib, type_t *dispinterface)
    +{ 
    +    int idx = 0;
    +    func_t *func;
    +    var_t *var;
    +    msft_typeinfo_t *msft_typeinfo;
    +
    +    dispinterface->typelib_idx = typelib->typelib_header.nrtypeinfos;
    +    msft_typeinfo = create_msft_typeinfo(typelib, TKIND_DISPATCH, dispinterface->name,
    +                                         dispinterface->attrs, typelib->typelib_header.nrtypeinfos);
    +
    +    msft_typeinfo->typeinfo->size = 4;
    +    msft_typeinfo->typeinfo->typekind |= 0x2100;
    +
    +    msft_typeinfo->typeinfo->flags |= 0x1000; /* TYPEFLAG_FDISPATCHABLE */
    +    add_dispatch(typelib);
    +    msft_typeinfo->typeinfo->cImplTypes = 1;
    +
    +    /* count the no of funcs, as the variable indicies come after the funcs */
    +    if((func = dispinterface->funcs)) {
    +        idx++;
    +        while(NEXT_LINK(func)) {
    +            func = NEXT_LINK(func);
    +            idx++;
    +        }
    +    }
    +
    +    if((var = dispinterface->fields)) {
    +        while(NEXT_LINK(var)) var = NEXT_LINK(var);
    +        while(var) {
    +            add_var_desc(msft_typeinfo, idx, var);
    +            idx++;
    +            var = PREV_LINK(var);
    +        }
    +    }
    +
    +    idx = 0;
    +    /* the func count above has already left us pointing at the first func */
    +    while(func) {
    +        if(add_func_desc(msft_typeinfo, func, idx) == S_OK)
    +            idx++;
    +        func = PREV_LINK(func);
    +    }
    +}
    +
    +static void add_interface_typeinfo(msft_typelib_t *typelib, type_t *interface)
    +{
    +    int idx = 0;
    +    func_t *func;
    +    type_t *ref;
    +    msft_typeinfo_t *msft_typeinfo;
    +    int num_parents = 0, num_funcs = 0;
    +    attr_t *attr;
    +
    +    for(attr = interface->attrs; attr; attr = NEXT_LINK(attr))
    +        if(attr->type == ATTR_DISPINTERFACE)
    +            return add_dispinterface_typeinfo(typelib, interface);
    +
    +    /* midl adds the parent interface first, unless the parent itself
    +       has no parent (i.e. it stops before IUnknown). */
    +
    +    if(interface->ref && interface->ref->ref && interface->ref->typelib_idx == -1)
    +        add_interface_typeinfo(typelib, interface->ref);
    +
    +    interface->typelib_idx = typelib->typelib_header.nrtypeinfos;
    +    msft_typeinfo = create_msft_typeinfo(typelib, TKIND_INTERFACE, interface->name, interface->attrs,
    +                                         typelib->typelib_header.nrtypeinfos);
    +    msft_typeinfo->typeinfo->size = 4;
    +    msft_typeinfo->typeinfo->typekind |= 0x2200;
    +
    +    if(interface->ref)
    +        add_impl_type(msft_typeinfo, interface->ref);
    +
    +    /* count the number of inherited interfaces and non-local functions */
    +    for(ref = interface->ref; ref; ref = ref->ref) {
    +        num_parents++;
    +        for(func = ref->funcs; func; func = NEXT_LINK(func)) {
    +            attr_t *attr;
    +            for(attr = func->def->attrs; attr; attr = NEXT_LINK(attr))
    +                if(attr->type == ATTR_LOCAL)
    +                    break;
    +            if(!attr)
    +                num_funcs++;
    +        }
    +    }
    +    msft_typeinfo->typeinfo->datatype2 = num_funcs << 16 | num_parents;
    +    msft_typeinfo->typeinfo->cbSizeVft = num_funcs * 4;
    +
    +    if((func = interface->funcs)) {
    +        while(NEXT_LINK(func)) func = NEXT_LINK(func);
    +        while(func) {
    +            if(add_func_desc(msft_typeinfo, func, idx) == S_OK)
    +                idx++;
    +            func = PREV_LINK(func);
    +        }
    +    }
    +}
    +
    +static void add_structure_typeinfo(msft_typelib_t *typelib, type_t *structure)
    +{
    +    int idx = 0;
    +    var_t *cur = structure->fields;
    +    msft_typeinfo_t *msft_typeinfo;
    +
    +    structure->typelib_idx = typelib->typelib_header.nrtypeinfos;
    +    msft_typeinfo = create_msft_typeinfo(typelib, TKIND_RECORD, structure->name, structure->attrs,
    +                                         typelib->typelib_header.nrtypeinfos);
    +    msft_typeinfo->typeinfo->size = 0;
    +
    +    while(NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +    while(cur) {
    +        add_var_desc(msft_typeinfo, idx, cur);
    +        idx++;
    +        cur = PREV_LINK(cur);
    +    }
    +}
    +
    +static void add_enum_typeinfo(msft_typelib_t *typelib, type_t *enumeration)
    +{
    +    int idx = 0;
    +    var_t *cur = enumeration->fields;
    +    msft_typeinfo_t *msft_typeinfo;
    +
    +    enumeration->typelib_idx = typelib->typelib_header.nrtypeinfos;
    +    msft_typeinfo = create_msft_typeinfo(typelib, TKIND_ENUM, enumeration->name, enumeration->attrs,
    +                                         typelib->typelib_header.nrtypeinfos);
    +    msft_typeinfo->typeinfo->size = 0;
    +
    +    while(NEXT_LINK(cur)) cur = NEXT_LINK(cur);
    +    while(cur) {
    +        add_var_desc(msft_typeinfo, idx, cur);
    +        idx++;
    +        cur = PREV_LINK(cur);
    +    }
    +}
    +
    +static void add_typedef_typeinfo(msft_typelib_t *typelib, var_t *tdef)
    +{
    +    msft_typeinfo_t *msft_typeinfo;
    +    int alignment;
    +    attr_t *attrs;
    +
    +    tdef->type->typelib_idx = typelib->typelib_header.nrtypeinfos;
    +    msft_typeinfo = create_msft_typeinfo(typelib, TKIND_ALIAS, tdef->name, tdef->type->attrs,
    +                                         typelib->typelib_header.nrtypeinfos);
    +    attrs = tdef->type->attrs;
    +    tdef->type->attrs = NULL;
    +    encode_var(typelib, tdef, &msft_typeinfo->typeinfo->datatype1, &msft_typeinfo->typeinfo->size,
    +               &alignment, &msft_typeinfo->typeinfo->datatype2);
    +    tdef->type->attrs = attrs;
    +    msft_typeinfo->typeinfo->typekind |= (alignment << 11 | alignment << 6);
    +}
    +
    +static void add_coclass_typeinfo(msft_typelib_t *typelib, class_t *cls)
    +{
    +    msft_typeinfo_t *msft_typeinfo;
    +    ifref_t *iref;
    +    int num_ifaces = 0, offset, i;
    +    MSFT_RefRecord *ref, *first = NULL, *first_source = NULL;
    +    int have_default = 0, have_default_source = 0;
    +    attr_t *attr;
    +
    +    msft_typeinfo = create_msft_typeinfo(typelib, TKIND_COCLASS, cls->name, cls->attrs,
    +                                         typelib->typelib_header.nrtypeinfos);
    +
    +    if((iref = cls->ifaces)) {
    +        num_ifaces++;
    +        while(NEXT_LINK(iref)) {
    +            iref = NEXT_LINK(iref);
    +            num_ifaces++;
    +        }
    +    }
    +
    +    offset = msft_typeinfo->typeinfo->datatype1 = ctl2_alloc_segment(typelib, MSFT_SEG_REFERENCES,
    +                                                                     num_ifaces * sizeof(*ref), 0);
    +    for(i = 0; i < num_ifaces; i++) {
    +        if(iref->iface->typelib_idx == -1)
    +            add_interface_typeinfo(typelib, iref->iface);
    +        ref = (MSFT_RefRecord*) (typelib->typelib_segment_data[MSFT_SEG_REFERENCES] + offset + i * sizeof(*ref));
    +        ref->reftype = typelib->typelib_typeinfo_offsets[iref->iface->typelib_idx];
    +        ref->flags = 0;
    +        ref->oCustData = -1;
    +        ref->onext = -1;
    +        if(i < num_ifaces - 1)
    +            ref->onext = offset + (i + 1) * sizeof(*ref);
    +
    +        for(attr = iref->attrs; attr; attr = NEXT_LINK(attr)) {
    +            switch(attr->type) {
    +            case ATTR_DEFAULT:
    +                ref->flags |= 0x1; /* IMPLTYPEFLAG_FDEFAULT */
    +                break;
    +            case ATTR_RESTRICTED:
    +                ref->flags |= 0x4; /* IMPLTYPEFLAG_FRESTRICTED */
    +                break;
    +            case ATTR_SOURCE:
    +                ref->flags |= 0x2; /* IMPLTYPEFLAG_FSOURCE */
    +                break;
    +            default:
    +                warning("add_coclass_typeinfo: unhandled attr %d\n", attr->type);
    +            }
    +        }
    +        if(ref->flags & 0x1) { /* IMPLTYPEFLAG_FDEFAULT */
    +            if(ref->flags & 0x2) /* IMPLTYPEFLAG_SOURCE */
    +                have_default_source = 1;
    +            else
    +                have_default = 1;
    +        }
    +
    +        /* If the interface is non-restricted and we haven't already had one then
    +           remember it so that we can use it as a default later */
    +        if((ref->flags & 0x4) == 0) { /* IMPLTYPEFLAG_FRESTRICTED */
    +            if(ref->flags & 0x2) { /* IMPLTYPEFLAG_FSOURCE */
    +                if(!first_source)
    +                    first_source = ref;
    +            }
    +            else if(!first)
    +                first = ref;
    +        }
    +        iref = PREV_LINK(iref);
    +    }
    +
    +    /* If we haven't had a default interface, then set the default flags on the
    +       first ones */
    +    if(!have_default && first)
    +        first->flags |= 0x1;
    +    if(!have_default_source && first_source)
    +        first_source->flags |= 0x1;
    +
    +    msft_typeinfo->typeinfo->cImplTypes = num_ifaces;
    +    msft_typeinfo->typeinfo->size = 4;
    +    msft_typeinfo->typeinfo->typekind |= 0x2200;
    +}
    +
    +static void add_module_typeinfo(msft_typelib_t *typelib, type_t *module)
    +{
    +    int idx = 0;
    +    func_t *func;
    +    msft_typeinfo_t *msft_typeinfo;
    +
    +    module->typelib_idx = typelib->typelib_header.nrtypeinfos;
    +    msft_typeinfo = create_msft_typeinfo(typelib, TKIND_MODULE, module->name, module->attrs,
    +                                         typelib->typelib_header.nrtypeinfos);
    +    msft_typeinfo->typeinfo->typekind |= 0x0a00;
    +
    +    if((func = module->funcs)) {
    +        while(NEXT_LINK(func)) func = NEXT_LINK(func);
    +        while(func) {
    +            if(add_func_desc(msft_typeinfo, func, idx) == S_OK)
    +                idx++;
    +            func = PREV_LINK(func);
    +        }
    +    }
    +    msft_typeinfo->typeinfo->size = idx;
    +}
    +
    +static void add_entry(msft_typelib_t *typelib, typelib_entry_t *entry)
    +{
    +    switch(entry->kind) {
    +    case TKIND_INTERFACE:
    +        add_interface_typeinfo(typelib, entry->u.interface);
    +        break;
    +
    +    case TKIND_RECORD:
    +        add_structure_typeinfo(typelib, entry->u.structure);
    +        break;
    +
    +    case TKIND_ENUM:
    +        add_enum_typeinfo(typelib, entry->u.enumeration);
    +        break;
    +
    +    case TKIND_ALIAS:
    +        add_typedef_typeinfo(typelib, entry->u.tdef);
    +        break;
    +
    +    case TKIND_COCLASS:
    +        add_coclass_typeinfo(typelib, entry->u.class);
    +        break;
    +
    +    case TKIND_MODULE:
    +        add_module_typeinfo(typelib, entry->u.module);
    +        break;
    +
    +    default:
    +        error("add_entry: unhandled type %d\n", entry->kind);
    +        break;
    +    }
    +}
    +
    +static void set_name(msft_typelib_t *typelib)
    +{
    +    int offset;
    +
    +    offset = ctl2_alloc_name(typelib, typelib->typelib->name);
    +    if (offset == -1) return;
    +    typelib->typelib_header.NameOffset = offset;
    +    return;
    +}
    +
    +static void set_version(msft_typelib_t *typelib)
    +{
    +    long version = MAKELONG(0,0);
    +    attr_t *attr;
    +
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_VERSION) {
    +            version = attr->u.ival;
    +        }
    +    }
    +    typelib->typelib_header.version = version;
    +    return;
    +}
    +
    +static void set_guid(msft_typelib_t *typelib)
    +{
    +    MSFT_GuidEntry guidentry;
    +    int offset;
    +    attr_t *attr;
    +    GUID guid = {0,0,0,{0,0,0,0,0,0}};
    +
    +    guidentry.guid = guid;
    +    guidentry.hreftype = -2;
    +    guidentry.next_hash = -1;
    +
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_UUID) {
    +            guidentry.guid = *(GUID*)(attr->u.pval);
    +        }
    +    }
    +
    +    offset = ctl2_alloc_guid(typelib, &guidentry);
    +    
    +    if (offset == -1) return;
    +
    +    typelib->typelib_header.posguid = offset;
    +
    +    return;
    +}
    +
    +static void set_doc_string(msft_typelib_t *typelib)
    +{
    +    attr_t *attr;
    +    int offset;
    +
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_HELPSTRING) {
    +            offset = ctl2_alloc_string(typelib, attr->u.pval);
    +            if (offset == -1) return;
    +            typelib->typelib_header.helpstring = offset;
    +        }
    +    }
    +    return;
    +}
    +
    +static void set_help_file_name(msft_typelib_t *typelib)
    +{
    +    int offset;
    +    attr_t *attr;
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_HELPFILE) {
    +            offset = ctl2_alloc_string(typelib, attr->u.pval);
    +            if (offset == -1) return;
    +            typelib->typelib_header.helpfile = offset;
    +            typelib->typelib_header.varflags |= 0x10;
    +        }
    +    }
    +    return;
    +}
    +
    +static void set_help_context(msft_typelib_t *typelib)
    +{
    +    attr_t *attr;
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_HELPCONTEXT) {
    +            expr_t *expr = (expr_t *)attr->u.pval;
    +            typelib->typelib_header.helpcontext = expr->cval;
    +        }
    +    }
    +    return;
    +}
    +
    +static void set_help_string_dll(msft_typelib_t *typelib)
    +{
    +    int offset;
    +    attr_t *attr;
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_HELPSTRINGDLL) {
    +            offset = ctl2_alloc_string(typelib, attr->u.pval);
    +            if (offset == -1) return;
    +            typelib->help_string_dll_offset = offset;
    +            typelib->typelib_header.varflags |= 0x100;
    +        }
    +    }
    +    return;
    +}
    +
    +static void set_help_string_context(msft_typelib_t *typelib)
    +{
    +    attr_t *attr;
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        if(attr->type == ATTR_HELPSTRINGCONTEXT) {
    +            expr_t *expr = (expr_t *)attr->u.pval;
    +            typelib->typelib_header.helpstringcontext = expr->cval;
    +        }
    +    }
    +    return;
    +}
    +
    +static void set_lcid(msft_typelib_t *typelib)
    +{
    +    typelib->typelib_header.lcid2 = 0x0;
    +    return;
    +}
    +
    +static void set_lib_flags(msft_typelib_t *typelib)
    +{
    +    attr_t *attr;
    +
    +    typelib->typelib_header.flags = 0;
    +    for(attr = typelib->typelib->attrs; attr; attr = NEXT_LINK(attr)) {
    +        switch(attr->type) {
    +        case ATTR_CONTROL:
    +            typelib->typelib_header.flags |= 0x02; /* LIBFLAG_FCONTROL */
    +            break;
    +        case ATTR_HIDDEN:
    +            typelib->typelib_header.flags |= 0x04; /* LIBFLAG_FHIDDEN */
    +            break;
    +        case ATTR_RESTRICTED:
    +            typelib->typelib_header.flags |= 0x01; /* LIBFLAG_FRESTRICTED */
    +            break;
    +        default:
    +            break;
    +        }
    +    }
    +    return;
    +}
    +
    +static int ctl2_write_chunk(int fd, void *segment, int length)
    +{
    +    if (write(fd, segment, length) != length) {
    +        close(fd);
    +        return 0;
    +    }
    +    return -1;
    +}
    +
    +static int ctl2_write_segment(msft_typelib_t *typelib, int fd, int segment)
    +{
    +    if (write(fd, typelib->typelib_segment_data[segment], typelib->typelib_segdir[segment].length)
    +        != typelib->typelib_segdir[segment].length) {
    +	close(fd);
    +	return 0;
    +    }
    +
    +    return -1;
    +}
    +
    +static void ctl2_finalize_typeinfos(msft_typelib_t *typelib, int filesize)
    +{
    +    msft_typeinfo_t *typeinfo;
    +
    +    for (typeinfo = typelib->typeinfos; typeinfo; typeinfo = typeinfo->next_typeinfo) {
    +	typeinfo->typeinfo->memoffset = filesize;
    +	if (typeinfo->func_data)
    +	    filesize += typeinfo->func_data[0] + ((typeinfo->typeinfo->cElement & 0xffff) * 12);
    +	if (typeinfo->var_data)
    +	    filesize += typeinfo->var_data[0] + (((typeinfo->typeinfo->cElement >> 16) & 0xffff) * 12);
    +        if (typeinfo->func_data || typeinfo->var_data)
    +            filesize += 4;
    +    }
    +}
    +
    +static int ctl2_finalize_segment(msft_typelib_t *typelib, int filepos, int segment)
    +{
    +    if (typelib->typelib_segdir[segment].length) {
    +	typelib->typelib_segdir[segment].offset = filepos;
    +    } else {
    +	typelib->typelib_segdir[segment].offset = -1;
    +    }
    +
    +    return typelib->typelib_segdir[segment].length;
    +}
    +
    +
    +static void ctl2_write_typeinfos(msft_typelib_t *typelib, int fd)
    +{
    +    msft_typeinfo_t *typeinfo;
    +    int typedata_size;
    +
    +    for (typeinfo = typelib->typeinfos; typeinfo; typeinfo = typeinfo->next_typeinfo) {
    +        if (!typeinfo->func_data && !typeinfo->var_data) continue;
    +        typedata_size = 0;
    +	if (typeinfo->func_data)
    +            typedata_size = typeinfo->func_data[0];
    +	if (typeinfo->var_data)
    +            typedata_size += typeinfo->var_data[0];
    +	ctl2_write_chunk(fd, &typedata_size, sizeof(int));
    +        if (typeinfo->func_data)
    +            ctl2_write_chunk(fd, typeinfo->func_data + 1, typeinfo->func_data[0]);
    +        if (typeinfo->var_data)
    +            ctl2_write_chunk(fd, typeinfo->var_data + 1, typeinfo->var_data[0]);
    +        if (typeinfo->func_indices)
    +            ctl2_write_chunk(fd, typeinfo->func_indices, (typeinfo->typeinfo->cElement & 0xffff) * 4);
    +        if (typeinfo->var_indices)
    +            ctl2_write_chunk(fd, typeinfo->var_indices, (typeinfo->typeinfo->cElement >> 16) * 4);
    +        if (typeinfo->func_names)
    +            ctl2_write_chunk(fd, typeinfo->func_names,   (typeinfo->typeinfo->cElement & 0xffff) * 4);
    +        if (typeinfo->var_names)
    +            ctl2_write_chunk(fd, typeinfo->var_names,   (typeinfo->typeinfo->cElement >> 16) * 4); 
    +        if (typeinfo->func_offsets)
    +            ctl2_write_chunk(fd, typeinfo->func_offsets, (typeinfo->typeinfo->cElement & 0xffff) * 4);
    +        if (typeinfo->var_offsets) {
    +            int add = 0, i, offset;
    +            if(typeinfo->func_data)
    +                add = typeinfo->func_data[0];
    +            for(i = 0; i < (typeinfo->typeinfo->cElement >> 16); i++) {
    +                offset = typeinfo->var_offsets[i];
    +                offset += add;
    +                ctl2_write_chunk(fd, &offset, 4);
    +            }
    +        }
    +    }
    +}
    +
    +static int save_all_changes(msft_typelib_t *typelib)
    +{
    +    int retval;
    +    int filepos;
    +    int fd;
    +
    +    chat("save_all_changes(%p)\n", typelib);
    +
    +    retval = TYPE_E_IOERROR;
    +
    +    fd = creat(typelib->typelib->filename, 0666);
    +    if (fd == -1) return retval;
    +
    +    filepos = sizeof(MSFT_Header) + sizeof(MSFT_SegDir);
    +    if(typelib->typelib_header.varflags & 0x100) filepos += 4; /* helpstringdll */
    +    filepos += typelib->typelib_header.nrtypeinfos * 4;
    +
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_TYPEINFO);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_GUIDHASH);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_GUID);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_IMPORTINFO);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_IMPORTFILES);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_REFERENCES);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_NAMEHASH);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_NAME);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_STRING);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_TYPEDESC);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_ARRAYDESC);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_CUSTDATA);
    +    filepos += ctl2_finalize_segment(typelib, filepos, MSFT_SEG_CUSTDATAGUID);
    +
    +    ctl2_finalize_typeinfos(typelib, filepos);
    +
    +    if (!ctl2_write_chunk(fd, &typelib->typelib_header, sizeof(typelib->typelib_header))) return retval;
    +    if(typelib->typelib_header.varflags & 0x100)
    +        if (!ctl2_write_chunk(fd, &typelib->help_string_dll_offset, sizeof(typelib->help_string_dll_offset)))
    +            return retval;
    +
    +    if (!ctl2_write_chunk(fd, typelib->typelib_typeinfo_offsets, typelib->typelib_header.nrtypeinfos * 4)) return retval;
    +    if (!ctl2_write_chunk(fd, &typelib->typelib_segdir, sizeof(typelib->typelib_segdir))) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_TYPEINFO    )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_GUIDHASH    )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_GUID        )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_IMPORTINFO  )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_IMPORTFILES )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_REFERENCES  )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_NAMEHASH    )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_NAME        )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_STRING      )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_TYPEDESC    )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_ARRAYDESC   )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_CUSTDATA    )) return retval;
    +    if (!ctl2_write_segment(typelib, fd, MSFT_SEG_CUSTDATAGUID)) return retval;
    +
    +    ctl2_write_typeinfos(typelib, fd);
    +
    +    if (close(fd) == -1) return retval;
    +
    +    retval = S_OK;
    +    return retval;
    +}
    +
    +int create_msft_typelib(typelib_t *typelib)
    +{
    +    msft_typelib_t *msft;
    +    int failed = 0;
    +    typelib_entry_t *entry;
    +    time_t cur_time;
    +    unsigned int version = 5 << 24 | 1 << 16 | 164; /* 5.01.0164 */
    +    GUID midl_time_guid    = {0xde77ba63,0x517c,0x11d1,{0xa2,0xda,0x00,0x00,0xf8,0x77,0x3c,0xe9}}; 
    +    GUID midl_version_guid = {0xde77ba64,0x517c,0x11d1,{0xa2,0xda,0x00,0x00,0xf8,0x77,0x3c,0xe9}}; 
    +
    +    msft = malloc(sizeof(*msft));
    +    if (!msft) return 0;
    +    memset(msft, 0, sizeof(*msft));
    +    msft->typelib = typelib;
    +
    +    ctl2_init_header(msft);
    +    ctl2_init_segdir(msft);
    +
    +    msft->typelib_header.varflags |= SYS_WIN32;
    +
    +    /*
    +     * The following two calls return an offset or -1 if out of memory. We
    +     * specifically need an offset of 0, however, so...
    +     */
    +    if (ctl2_alloc_segment(msft, MSFT_SEG_GUIDHASH, 0x80, 0x80)) { failed = 1; }
    +    if (ctl2_alloc_segment(msft, MSFT_SEG_NAMEHASH, 0x200, 0x200)) { failed = 1; }
    +
    +    if(failed) return 0;
    +
    +    msft->typelib_guidhash_segment = (int *)msft->typelib_segment_data[MSFT_SEG_GUIDHASH];
    +    msft->typelib_namehash_segment = (int *)msft->typelib_segment_data[MSFT_SEG_NAMEHASH];
    +
    +    memset(msft->typelib_guidhash_segment, 0xff, 0x80);
    +    memset(msft->typelib_namehash_segment, 0xff, 0x200);
    +
    +    set_lib_flags(msft);
    +    set_lcid(msft);
    +    set_help_file_name(msft);
    +    set_doc_string(msft);
    +    set_guid(msft);
    +    set_version(msft);
    +    set_name(msft);
    +    set_help_context(msft);
    +    set_help_string_dll(msft);
    +    set_help_string_context(msft);
    +    
    +    /* midl adds two sets of custom data to the library: the current unix time
    +       and midl's version number */
    +    cur_time = time(NULL);
    +    set_custdata(msft, &midl_time_guid, VT_UI4, &cur_time, &msft->typelib_header.CustomDataOffset);
    +    set_custdata(msft, &midl_version_guid, VT_UI4, &version, &msft->typelib_header.CustomDataOffset);
    +
    +    for(entry = typelib->entry; entry && NEXT_LINK(entry); entry = NEXT_LINK(entry))
    +        ;
    +
    +    for( ; entry; entry = PREV_LINK(entry))
    +        add_entry(msft, entry);
    +
    +    save_all_changes(msft);
    +    return 1;
    +}
    diff --git a/reactos/tools/widl/y.tab.c b/reactos/tools/widl/y.tab.c
    new file mode 100644
    index 00000000000..082d19fe7bd
    --- /dev/null
    +++ b/reactos/tools/widl/y.tab.c
    @@ -0,0 +1,3232 @@
    +
    +/*  A Bison parser, made from parser.y
    +    by GNU Bison version 1.28  */
    +
    +#define YYBISON 1  /* Identify Bison output.  */
    +
    +#define	aIDENTIFIER	257
    +#define	aKNOWNTYPE	258
    +#define	aNUM	259
    +#define	aHEXNUM	260
    +#define	aSTRING	261
    +#define	aUUID	262
    +#define	aEOF	263
    +#define	SHL	264
    +#define	SHR	265
    +#define	tAGGREGATABLE	266
    +#define	tALLOCATE	267
    +#define	tAPPOBJECT	268
    +#define	tARRAYS	269
    +#define	tASYNC	270
    +#define	tASYNCUUID	271
    +#define	tAUTOHANDLE	272
    +#define	tBINDABLE	273
    +#define	tBOOLEAN	274
    +#define	tBROADCAST	275
    +#define	tBYTE	276
    +#define	tBYTECOUNT	277
    +#define	tCALLAS	278
    +#define	tCALLBACK	279
    +#define	tCASE	280
    +#define	tCDECL	281
    +#define	tCHAR	282
    +#define	tCOCLASS	283
    +#define	tCODE	284
    +#define	tCOMMSTATUS	285
    +#define	tCONST	286
    +#define	tCONTEXTHANDLE	287
    +#define	tCONTEXTHANDLENOSERIALIZE	288
    +#define	tCONTEXTHANDLESERIALIZE	289
    +#define	tCONTROL	290
    +#define	tCPPQUOTE	291
    +#define	tDEFAULT	292
    +#define	tDEFAULTVALUE	293
    +#define	tDISPINTERFACE	294
    +#define	tDLLNAME	295
    +#define	tDOUBLE	296
    +#define	tDUAL	297
    +#define	tENDPOINT	298
    +#define	tENTRY	299
    +#define	tENUM	300
    +#define	tERRORSTATUST	301
    +#define	tEXPLICITHANDLE	302
    +#define	tEXTERN	303
    +#define	tFLOAT	304
    +#define	tHANDLE	305
    +#define	tHANDLET	306
    +#define	tHELPCONTEXT	307
    +#define	tHELPFILE	308
    +#define	tHELPSTRING	309
    +#define	tHELPSTRINGCONTEXT	310
    +#define	tHELPSTRINGDLL	311
    +#define	tHIDDEN	312
    +#define	tHYPER	313
    +#define	tID	314
    +#define	tIDEMPOTENT	315
    +#define	tIIDIS	316
    +#define	tIMPLICITHANDLE	317
    +#define	tIMPORT	318
    +#define	tIMPORTLIB	319
    +#define	tIN	320
    +#define	tINCLUDE	321
    +#define	tINLINE	322
    +#define	tINPUTSYNC	323
    +#define	tINT	324
    +#define	tINT64	325
    +#define	tINTERFACE	326
    +#define	tLENGTHIS	327
    +#define	tLIBRARY	328
    +#define	tLOCAL	329
    +#define	tLONG	330
    +#define	tMETHODS	331
    +#define	tMODULE	332
    +#define	tNONCREATABLE	333
    +#define	tOBJECT	334
    +#define	tODL	335
    +#define	tOLEAUTOMATION	336
    +#define	tOPTIONAL	337
    +#define	tOUT	338
    +#define	tPOINTERDEFAULT	339
    +#define	tPROPERTIES	340
    +#define	tPROPGET	341
    +#define	tPROPPUT	342
    +#define	tPROPPUTREF	343
    +#define	tPUBLIC	344
    +#define	tREADONLY	345
    +#define	tREF	346
    +#define	tRESTRICTED	347
    +#define	tRETVAL	348
    +#define	tSHORT	349
    +#define	tSIGNED	350
    +#define	tSIZEIS	351
    +#define	tSIZEOF	352
    +#define	tSMALL	353
    +#define	tSOURCE	354
    +#define	tSTDCALL	355
    +#define	tSTRING	356
    +#define	tSTRUCT	357
    +#define	tSWITCH	358
    +#define	tSWITCHIS	359
    +#define	tSWITCHTYPE	360
    +#define	tTRANSMITAS	361
    +#define	tTYPEDEF	362
    +#define	tUNION	363
    +#define	tUNIQUE	364
    +#define	tUNSIGNED	365
    +#define	tUUID	366
    +#define	tV1ENUM	367
    +#define	tVARARG	368
    +#define	tVERSION	369
    +#define	tVOID	370
    +#define	tWCHAR	371
    +#define	tWIREMARSHAL	372
    +#define	tPOINTERTYPE	373
    +#define	COND	374
    +#define	CAST	375
    +#define	PPTR	376
    +#define	NEG	377
    +
    +#line 1 "parser.y"
    +
    +/*
    + * IDL Compiler
    + *
    + * Copyright 2002 Ove Kaaven
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef HAVE_ALLOCA_H
    +#include 
    +#endif
    +
    +#include "widl.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "header.h"
    +#include "typelib.h"
    +
    +#if defined(YYBYACC)
    +	/* Berkeley yacc (byacc) doesn't seem to know about these */
    +	/* Some *BSD supplied versions do define these though */
    +# ifndef YYEMPTY
    +#  define YYEMPTY	(-1)	/* Empty lookahead value of yychar */
    +# endif
    +# ifndef YYLEX
    +#  define YYLEX		yylex()
    +# endif
    +
    +#elif defined(YYBISON)
    +	/* Bison was used for original development */
    +	/* #define YYEMPTY -2 */
    +	/* #define YYLEX   yylex() */
    +
    +#else
    +	/* No yacc we know yet */
    +# if !defined(YYEMPTY) || !defined(YYLEX)
    +#  error Yacc version/type unknown. This version needs to be verified for settings of YYEMPTY and YYLEX.
    +# elif defined(__GNUC__)	/* gcc defines the #warning directive */
    +#  warning Yacc version/type unknown. It defines YYEMPTY and YYLEX, but is not tested
    +  /* #else we just take a chance that it works... */
    +# endif
    +#endif
    +
    +static attr_t *make_attr(enum attr_type type);
    +static attr_t *make_attrv(enum attr_type type, unsigned long val);
    +static attr_t *make_attrp(enum attr_type type, void *val);
    +static expr_t *make_expr(enum expr_type type);
    +static expr_t *make_exprl(enum expr_type type, long val);
    +static expr_t *make_exprs(enum expr_type type, char *val);
    +static expr_t *make_exprt(enum expr_type type, typeref_t *tref, expr_t *expr);
    +static expr_t *make_expr1(enum expr_type type, expr_t *expr);
    +static expr_t *make_expr2(enum expr_type type, expr_t *exp1, expr_t *exp2);
    +static expr_t *make_expr3(enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3);
    +static type_t *make_type(unsigned char type, type_t *ref);
    +static typeref_t *make_tref(char *name, type_t *ref);
    +static typeref_t *uniq_tref(typeref_t *ref);
    +static type_t *type_ref(typeref_t *ref);
    +static void set_type(var_t *v, typeref_t *ref, expr_t *arr);
    +static ifref_t *make_ifref(type_t *iface);
    +static var_t *make_var(char *name);
    +static func_t *make_func(var_t *def, var_t *args);
    +static class_t *make_class(char *name);
    +
    +static type_t *reg_type(type_t *type, char *name, int t);
    +static type_t *reg_types(type_t *type, var_t *names, int t);
    +static type_t *find_type(char *name, int t);
    +static type_t *find_type2(char *name, int t);
    +static type_t *get_type(unsigned char type, char *name, int t);
    +static type_t *get_typev(unsigned char type, var_t *name, int t);
    +static int get_struct_type(var_t *fields);
    +
    +static var_t *reg_const(var_t *var);
    +static var_t *find_const(char *name, int f);
    +
    +#define tsENUM   1
    +#define tsSTRUCT 2
    +#define tsUNION  3
    +
    +static type_t std_bool = { "boolean" };
    +static type_t std_int = { "int" };
    +static type_t std_int64 = { "__int64" };
    +static type_t std_uhyper = { "MIDL_uhyper" };
    +
    +
    +#line 109 "parser.y"
    +typedef union {
    +	attr_t *attr;
    +	expr_t *expr;
    +	type_t *type;
    +	typeref_t *tref;
    +	var_t *var;
    +	func_t *func;
    +	ifref_t *ifref;
    +	class_t *clas;
    +	char *str;
    +	UUID *uuid;
    +	unsigned int num;
    +} YYSTYPE;
    +#include 
    +
    +#ifndef __cplusplus
    +#ifndef __STDC__
    +#define const
    +#endif
    +#endif
    +
    +
    +
    +#define	YYFINAL		459
    +#define	YYFLAG		-32768
    +#define	YYNTBASE	143
    +
    +#define YYTRANSLATE(x) ((unsigned)(x) <= 377 ? yytranslate[x] : 215)
    +
    +static const short yytranslate[] = {     0,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,   123,     2,   133,
    +   134,   126,   125,   120,   124,   142,   127,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,   139,   132,     2,
    +   140,     2,   141,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +   137,     2,   138,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,   135,   122,   136,   128,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
    +     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    +    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    +    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
    +    37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
    +    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
    +    57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
    +    67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
    +    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    +    87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
    +    97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
    +   107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
    +   117,   118,   119,   121,   129,   130,   131
    +};
    +
    +#if YYDEBUG != 0
    +static const short yyprhs[] = {     0,
    +     0,     2,     3,     6,     9,    12,    15,    18,    21,    22,
    +    25,    28,    31,    34,    37,    38,    42,    45,    47,    50,
    +    52,    55,    58,    60,    63,    66,    69,    74,    78,    82,
    +    85,    89,    93,    94,    96,    98,   100,   104,   106,   111,
    +   115,   122,   128,   129,   133,   137,   139,   143,   148,   149,
    +   151,   155,   157,   161,   166,   168,   170,   175,   180,   182,
    +   184,   186,   188,   190,   195,   200,   205,   207,   212,   217,
    +   222,   224,   226,   231,   236,   241,   246,   251,   253,   258,
    +   260,   265,   271,   273,   275,   280,   282,   284,   286,   288,
    +   290,   292,   294,   299,   301,   303,   305,   307,   309,   311,
    +   313,   318,   320,   322,   327,   332,   337,   342,   344,   346,
    +   351,   356,   358,   359,   361,   362,   365,   370,   374,   380,
    +   381,   384,   386,   388,   392,   396,   398,   404,   406,   410,
    +   411,   413,   415,   417,   419,   425,   429,   433,   437,   441,
    +   445,   449,   453,   457,   460,   463,   466,   471,   476,   480,
    +   482,   486,   488,   493,   494,   497,   500,   504,   507,   509,
    +   514,   522,   523,   525,   526,   528,   530,   532,   534,   536,
    +   538,   540,   542,   544,   546,   549,   552,   554,   556,   558,
    +   560,   562,   563,   565,   567,   570,   573,   576,   579,   581,
    +   583,   586,   589,   592,   597,   598,   601,   604,   607,   610,
    +   613,   616,   620,   623,   627,   633,   634,   637,   640,   643,
    +   646,   652,   660,   662,   665,   668,   671,   674,   677,   682,
    +   685,   688,   690,   692,   696,   698,   702,   704,   706,   712,
    +   714,   716,   718,   721,   723,   726,   728,   731,   733,   736,
    +   741,   747,   758,   760
    +};
    +
    +static const short yyrhs[] = {   144,
    +     0,     0,   144,   202,     0,   144,   201,     0,   144,   190,
    +     0,   144,   205,     0,   144,   153,     0,   144,   147,     0,
    +     0,   145,   202,     0,   145,   201,     0,   145,   190,     0,
    +   145,   205,     0,   145,   147,     0,     0,   146,   181,   132,
    +     0,   146,   147,     0,   132,     0,   167,   132,     0,   148,
    +     0,   171,   132,     0,   177,   132,     0,   150,     0,   210,
    +   132,     0,   212,   132,     0,   213,   132,     0,    37,   133,
    +     7,   134,     0,    64,     7,   132,     0,   149,   145,     9,
    +     0,    74,     3,     0,   161,   151,   135,     0,   152,   145,
    +   136,     0,     0,   156,     0,   116,     0,   157,     0,   156,
    +   120,   157,     0,   155,     0,   161,   211,   207,   158,     0,
    +   211,   207,   158,     0,   161,   211,   207,   133,   154,   134,
    +     0,   211,   207,   133,   154,   134,     0,     0,   137,   159,
    +   138,     0,   137,   126,   138,     0,   173,     0,   159,   120,
    +   174,     0,   159,   138,   137,   174,     0,     0,   161,     0,
    +   137,   162,   138,     0,   163,     0,   162,   120,   163,     0,
    +   162,   138,   137,   163,     0,    16,     0,    18,     0,    24,
    +   133,   184,   134,     0,    26,   133,   175,   134,     0,    33,
    +     0,    34,     0,    35,     0,    36,     0,    38,     0,    39,
    +   133,   176,   134,     0,    39,   133,     7,   134,     0,    41,
    +   133,     7,   134,     0,    43,     0,    44,   133,     7,   134,
    +     0,    45,   133,     7,   134,     0,    45,   133,   176,   134,
    +     0,    48,     0,    51,     0,    53,   133,   176,   134,     0,
    +    54,   133,     7,   134,     0,    55,   133,     7,   134,     0,
    +    56,   133,   176,   134,     0,    57,   133,     7,   134,     0,
    +    58,     0,    60,   133,   176,   134,     0,    61,     0,    62,
    +   133,   184,   134,     0,    63,   133,    52,     3,   134,     0,
    +    66,     0,    69,     0,    73,   133,   172,   134,     0,    75,
    +     0,    79,     0,    80,     0,    81,     0,    82,     0,    83,
    +     0,    84,     0,    85,   133,   209,   134,     0,    87,     0,
    +    88,     0,    89,     0,    90,     0,    91,     0,    93,     0,
    +    94,     0,    97,   133,   172,   134,     0,   100,     0,   102,
    +     0,   105,   133,   174,   134,     0,   106,   133,   211,   134,
    +     0,   107,   133,   211,   134,     0,   112,   133,     8,   134,
    +     0,   113,     0,   114,     0,   115,   133,   214,   134,     0,
    +   118,   133,   211,   134,     0,   209,     0,     0,   101,     0,
    +     0,   165,   166,     0,    26,   174,   139,   179,     0,    38,
    +   139,   179,     0,    32,   211,   184,   140,   176,     0,     0,
    +   169,   120,     0,   169,     0,   170,     0,   169,   120,   170,
    +     0,   184,   140,   176,     0,   184,     0,    46,   183,   135,
    +   168,   136,     0,   173,     0,   172,   120,   173,     0,     0,
    +   174,     0,     5,     0,     6,     0,     3,     0,   174,   141,
    +   174,   139,   174,     0,   174,   122,   174,     0,   174,   123,
    +   174,     0,   174,   125,   174,     0,   174,   124,   174,     0,
    +   174,   126,   174,     0,   174,   127,   174,     0,   174,    10,
    +   174,     0,   174,    11,   174,     0,   128,   174,     0,   124,
    +   174,     0,   126,   174,     0,   133,   211,   134,   174,     0,
    +    98,   133,   211,   134,     0,   133,   174,   134,     0,   176,
    +     0,   175,   120,   176,     0,   174,     0,    49,    32,   211,
    +   184,     0,     0,   178,   179,     0,   180,   132,     0,   160,
    +   213,   132,     0,   161,   132,     0,   132,     0,   160,   211,
    +   207,   158,     0,   160,   211,   164,   207,   133,   154,   134,
    +     0,     0,   184,     0,     0,     3,     0,     4,     0,     3,
    +     0,     4,     0,    60,     0,    94,     0,   115,     0,    22,
    +     0,   117,     0,   187,     0,    96,   187,     0,   111,   187,
    +     0,    50,     0,    42,     0,    20,     0,    47,     0,    52,
    +     0,     0,    70,     0,    70,     0,    99,   186,     0,    95,
    +   186,     0,    76,   186,     0,    59,   186,     0,    71,     0,
    +    28,     0,    29,     3,     0,    29,     4,     0,   161,   188,
    +     0,   189,   135,   191,   136,     0,     0,   191,   192,     0,
    +   160,   202,     0,    40,     3,     0,    40,     4,     0,   161,
    +   193,     0,    86,   139,     0,   195,   180,   132,     0,    77,
    +   139,     0,   196,   181,   132,     0,   194,   135,   195,   196,
    +   136,     0,     0,   139,     4,     0,    72,     3,     0,    72,
    +     4,     0,   161,   199,     0,   200,   198,   135,   146,   136,
    +     0,   200,   139,     3,   135,   150,   146,   136,     0,   197,
    +     0,   199,   132,     0,   193,   132,     0,    78,     3,     0,
    +    78,     4,     0,   161,   203,     0,   204,   135,   146,   136,
    +     0,   126,   207,     0,    32,   206,     0,   184,     0,   206,
    +     0,   133,   207,   134,     0,   207,     0,   208,   120,   207,
    +     0,    92,     0,   110,     0,   103,   183,   135,   178,   136,
    +     0,   116,     0,     4,     0,   185,     0,    32,   211,     0,
    +   171,     0,    46,     3,     0,   210,     0,   103,     3,     0,
    +   213,     0,   109,     3,     0,   108,   160,   211,   208,     0,
    +   109,   183,   135,   178,   136,     0,   109,   183,   104,   133,
    +   180,   134,   182,   135,   165,   136,     0,     5,     0,     5,
    +   142,     5,     0
    +};
    +
    +#endif
    +
    +#if YYDEBUG != 0
    +static const short yyrline[] = { 0,
    +   229,   232,   233,   234,   235,   236,   237,   238,   241,   242,
    +   243,   244,   245,   246,   249,   250,   251,   254,   255,   256,
    +   257,   258,   259,   260,   261,   262,   265,   267,   270,   273,
    +   275,   277,   280,   281,   284,   287,   288,   289,   293,   297,
    +   300,   306,   313,   314,   315,   318,   319,   320,   323,   324,
    +   327,   331,   332,   333,   336,   338,   339,   340,   341,   342,
    +   343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
    +   353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
    +   363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
    +   373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
    +   383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
    +   393,   394,   397,   398,   401,   402,   407,   411,   417,   424,
    +   425,   426,   429,   430,   436,   441,   447,   455,   456,   469,
    +   470,   473,   474,   475,   476,   477,   478,   479,   480,   481,
    +   482,   483,   484,   485,   486,   487,   488,   489,   490,   493,
    +   494,   497,   503,   508,   509,   514,   515,   516,   517,   520,
    +   523,   534,   535,   538,   539,   540,   543,   545,   546,   547,
    +   548,   551,   552,   553,   554,   555,   567,   568,   569,   570,
    +   571,   574,   575,   578,   579,   580,   581,   582,   583,   584,
    +   587,   588,   591,   597,   602,   603,   606,   610,   611,   614,
    +   626,   627,   630,   631,   634,   649,   650,   653,   654,   657,
    +   665,   673,   680,   683,   685,   688,   689,   692,   697,   703,
    +   704,   707,   708,   709,   712,   714,   717,   719,   722,   732,
    +   733,   734,   735,   736,   737,   738,   739,   740,   741,   744,
    +   756,   760,   773,   775
    +};
    +#endif
    +
    +
    +#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
    +
    +static const char * const yytname[] = {   "$","error","$undefined.","aIDENTIFIER",
    +"aKNOWNTYPE","aNUM","aHEXNUM","aSTRING","aUUID","aEOF","SHL","SHR","tAGGREGATABLE",
    +"tALLOCATE","tAPPOBJECT","tARRAYS","tASYNC","tASYNCUUID","tAUTOHANDLE","tBINDABLE",
    +"tBOOLEAN","tBROADCAST","tBYTE","tBYTECOUNT","tCALLAS","tCALLBACK","tCASE","tCDECL",
    +"tCHAR","tCOCLASS","tCODE","tCOMMSTATUS","tCONST","tCONTEXTHANDLE","tCONTEXTHANDLENOSERIALIZE",
    +"tCONTEXTHANDLESERIALIZE","tCONTROL","tCPPQUOTE","tDEFAULT","tDEFAULTVALUE",
    +"tDISPINTERFACE","tDLLNAME","tDOUBLE","tDUAL","tENDPOINT","tENTRY","tENUM","tERRORSTATUST",
    +"tEXPLICITHANDLE","tEXTERN","tFLOAT","tHANDLE","tHANDLET","tHELPCONTEXT","tHELPFILE",
    +"tHELPSTRING","tHELPSTRINGCONTEXT","tHELPSTRINGDLL","tHIDDEN","tHYPER","tID",
    +"tIDEMPOTENT","tIIDIS","tIMPLICITHANDLE","tIMPORT","tIMPORTLIB","tIN","tINCLUDE",
    +"tINLINE","tINPUTSYNC","tINT","tINT64","tINTERFACE","tLENGTHIS","tLIBRARY","tLOCAL",
    +"tLONG","tMETHODS","tMODULE","tNONCREATABLE","tOBJECT","tODL","tOLEAUTOMATION",
    +"tOPTIONAL","tOUT","tPOINTERDEFAULT","tPROPERTIES","tPROPGET","tPROPPUT","tPROPPUTREF",
    +"tPUBLIC","tREADONLY","tREF","tRESTRICTED","tRETVAL","tSHORT","tSIGNED","tSIZEIS",
    +"tSIZEOF","tSMALL","tSOURCE","tSTDCALL","tSTRING","tSTRUCT","tSWITCH","tSWITCHIS",
    +"tSWITCHTYPE","tTRANSMITAS","tTYPEDEF","tUNION","tUNIQUE","tUNSIGNED","tUUID",
    +"tV1ENUM","tVARARG","tVERSION","tVOID","tWCHAR","tWIREMARSHAL","tPOINTERTYPE",
    +"','","COND","'|'","'&'","'-'","'+'","'*'","'/'","'~'","CAST","PPTR","NEG","';'",
    +"'('","')'","'{'","'}'","'['","']'","':'","'='","'?'","'.'","input","gbl_statements",
    +"imp_statements","int_statements","statement","cppquote","import_start","import",
    +"libraryhdr","library_start","librarydef","m_args","no_args","args","arg","array",
    +"array_list","m_attributes","attributes","attrib_list","attribute","callconv",
    +"cases","case","constdef","enums","enum_list","enum","enumdef","m_exprs","m_expr",
    +"expr","expr_list_const","expr_const","externdef","fields","field","s_field",
    +"funcdef","m_ident","t_ident","ident","base_type","m_int","int_std","coclass",
    +"coclasshdr","coclassdef","coclass_ints","coclass_int","dispinterface","dispinterfacehdr",
    +"dispint_props","dispint_meths","dispinterfacedef","inherit","interface","interfacehdr",
    +"interfacedef","interfacedec","module","modulehdr","moduledef","p_ident","pident",
    +"pident_list","pointer_type","structdef","type","typedef","uniondef","version", NULL
    +};
    +#endif
    +
    +static const short yyr1[] = {     0,
    +   143,   144,   144,   144,   144,   144,   144,   144,   145,   145,
    +   145,   145,   145,   145,   146,   146,   146,   147,   147,   147,
    +   147,   147,   147,   147,   147,   147,   148,   149,   150,   151,
    +   152,   153,   154,   154,   155,   156,   156,   156,   157,   157,
    +   157,   157,   158,   158,   158,   159,   159,   159,   160,   160,
    +   161,   162,   162,   162,   163,   163,   163,   163,   163,   163,
    +   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
    +   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
    +   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
    +   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
    +   163,   163,   163,   163,   163,   163,   163,   163,   163,   163,
    +   163,   163,   164,   164,   165,   165,   166,   166,   167,   168,
    +   168,   168,   169,   169,   170,   170,   171,   172,   172,   173,
    +   173,   174,   174,   174,   174,   174,   174,   174,   174,   174,
    +   174,   174,   174,   174,   174,   174,   174,   174,   174,   175,
    +   175,   176,   177,   178,   178,   179,   179,   179,   179,   180,
    +   181,   182,   182,   183,   183,   183,   184,   184,   184,   184,
    +   184,   185,   185,   185,   185,   185,   185,   185,   185,   185,
    +   185,   186,   186,   187,   187,   187,   187,   187,   187,   187,
    +   188,   188,   189,   190,   191,   191,   192,   193,   193,   194,
    +   195,   195,   196,   196,   197,   198,   198,   199,   199,   200,
    +   201,   201,   201,   202,   202,   203,   203,   204,   205,   206,
    +   206,   207,   207,   207,   208,   208,   209,   209,   210,   211,
    +   211,   211,   211,   211,   211,   211,   211,   211,   211,   212,
    +   213,   213,   214,   214
    +};
    +
    +static const short yyr2[] = {     0,
    +     1,     0,     2,     2,     2,     2,     2,     2,     0,     2,
    +     2,     2,     2,     2,     0,     3,     2,     1,     2,     1,
    +     2,     2,     1,     2,     2,     2,     4,     3,     3,     2,
    +     3,     3,     0,     1,     1,     1,     3,     1,     4,     3,
    +     6,     5,     0,     3,     3,     1,     3,     4,     0,     1,
    +     3,     1,     3,     4,     1,     1,     4,     4,     1,     1,
    +     1,     1,     1,     4,     4,     4,     1,     4,     4,     4,
    +     1,     1,     4,     4,     4,     4,     4,     1,     4,     1,
    +     4,     5,     1,     1,     4,     1,     1,     1,     1,     1,
    +     1,     1,     4,     1,     1,     1,     1,     1,     1,     1,
    +     4,     1,     1,     4,     4,     4,     4,     1,     1,     4,
    +     4,     1,     0,     1,     0,     2,     4,     3,     5,     0,
    +     2,     1,     1,     3,     3,     1,     5,     1,     3,     0,
    +     1,     1,     1,     1,     5,     3,     3,     3,     3,     3,
    +     3,     3,     3,     2,     2,     2,     4,     4,     3,     1,
    +     3,     1,     4,     0,     2,     2,     3,     2,     1,     4,
    +     7,     0,     1,     0,     1,     1,     1,     1,     1,     1,
    +     1,     1,     1,     1,     2,     2,     1,     1,     1,     1,
    +     1,     0,     1,     1,     2,     2,     2,     2,     1,     1,
    +     2,     2,     2,     4,     0,     2,     2,     2,     2,     2,
    +     2,     3,     2,     3,     5,     0,     2,     2,     2,     2,
    +     5,     7,     1,     2,     2,     2,     2,     2,     4,     2,
    +     2,     1,     1,     3,     1,     3,     1,     1,     5,     1,
    +     1,     1,     2,     1,     2,     1,     2,     1,     2,     4,
    +     5,    10,     1,     3
    +};
    +
    +static const short yydefact[] = {     2,
    +     1,     0,     0,     0,   164,     0,     0,     0,   164,    49,
    +   164,    18,     0,     8,    20,     9,    23,     9,     7,     0,
    +     0,     0,     0,     0,     5,     0,     0,   213,     0,   206,
    +     4,     3,     0,     6,     0,     0,     0,   231,   179,   172,
    +   190,     0,   178,   164,   180,   177,   181,   182,   184,   189,
    +   182,   182,     0,   182,   164,   164,     0,   230,   173,   234,
    +   232,   174,   236,     0,   238,     0,   198,   199,   165,   166,
    +     0,     0,     0,   208,   209,     0,     0,    50,     0,    55,
    +    56,     0,     0,    59,    60,    61,    62,    63,     0,     0,
    +    67,     0,     0,    71,    72,     0,     0,     0,     0,     0,
    +    78,     0,    80,     0,     0,    83,    84,     0,    86,    87,
    +    88,    89,    90,    91,    92,     0,    94,    95,    96,    97,
    +    98,   227,    99,   100,     0,   102,   103,     0,     0,     0,
    +   228,     0,   108,   109,     0,     0,     0,    52,   112,     0,
    +     0,     0,     0,     0,     0,   193,   200,   210,   218,    19,
    +    21,    22,   195,   215,     0,   214,     0,     0,    15,    24,
    +    25,    26,   233,   235,   183,   188,   187,   186,   175,   185,
    +   237,   239,   176,   167,   168,   169,   170,   171,     0,     0,
    +   120,     0,    28,   154,     0,     0,   154,     0,     0,     0,
    +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    +     0,   130,     0,   130,     0,     0,     0,     0,     0,     0,
    +     0,    51,    29,    14,     0,    12,    11,    10,    13,    32,
    +   191,   192,    30,   216,   217,    31,    49,     0,    49,     0,
    +   207,    15,    49,     0,    27,     0,   122,   123,   126,   153,
    +    49,     0,     0,     0,   222,   223,   225,   240,    49,    49,
    +     0,   134,   132,   133,     0,     0,     0,     0,     0,   152,
    +     0,   150,     0,     0,     0,     0,     0,     0,     0,     0,
    +     0,     0,     0,     0,     0,     0,     0,   128,   131,     0,
    +     0,     0,     0,     0,     0,   243,     0,     0,    53,     0,
    +   194,     0,   196,   201,     0,     0,     0,    49,     0,    49,
    +   219,    17,     0,     0,   119,   127,   121,     0,   159,   229,
    +     0,    50,   155,     0,   221,   220,     0,     0,     0,   241,
    +    57,     0,   145,   146,   144,     0,     0,     0,     0,     0,
    +     0,     0,     0,     0,     0,     0,     0,    58,    65,    64,
    +    66,    68,    69,    70,    73,    74,    75,    76,    77,    79,
    +    81,     0,   130,    85,    93,   101,   104,   105,   106,   107,
    +     0,   110,   111,    54,   197,   203,     0,   202,   205,     0,
    +    15,   211,   113,    16,   124,   125,   238,   158,   156,   224,
    +   226,   162,     0,   149,     0,   142,   143,   136,   137,   139,
    +   138,   140,   141,     0,   151,    82,   129,   244,    43,   204,
    +    49,   114,     0,   157,     0,   163,   148,   147,     0,   130,
    +   160,   212,     0,   115,   135,     0,     0,    46,    33,     0,
    +    45,     0,    44,   230,     0,    38,    34,    36,     0,     0,
    +     0,     0,   242,   116,    47,     0,   161,     0,     0,    43,
    +     0,    49,    48,    37,    43,    33,    40,    49,   118,    33,
    +    39,     0,   117,     0,    42,    41,     0,     0,     0
    +};
    +
    +static const short yydefgoto[] = {   457,
    +     1,   140,   233,   302,    15,    16,    17,   145,    18,    19,
    +   425,   426,   427,   428,   411,   417,   303,    78,   137,   138,
    +   403,   420,   434,    21,   236,   237,   238,    60,   277,   278,
    +   260,   261,   262,    23,   241,   313,   314,   304,   405,    71,
    +   245,    61,   166,    62,   146,    24,   216,   227,   293,    26,
    +    27,   229,   298,    28,   158,    29,    30,   217,   218,   149,
    +    33,   219,   246,   247,   248,   139,    63,   430,    36,    65,
    +   287
    +};
    +
    +static const short yypact[] = {-32768,
    +   609,   598,   -98,   138,   144,    22,    30,   172,   144,   -61,
    +   144,-32768,   791,-32768,-32768,-32768,-32768,-32768,-32768,    35,
    +   -49,   -42,   -32,   -14,-32768,   -24,    -5,-32768,    32,    -3,
    +-32768,-32768,    44,-32768,    49,    59,    68,-32768,-32768,-32768,
    +-32768,   598,-32768,   185,-32768,-32768,-32768,    63,-32768,-32768,
    +    63,    63,    27,    63,   220,   260,    27,-32768,-32768,-32768,
    +-32768,-32768,-32768,    17,-32768,   176,-32768,-32768,-32768,-32768,
    +    69,   598,    74,-32768,-32768,    85,   598,-32768,   -73,-32768,
    +-32768,    53,    76,-32768,-32768,-32768,-32768,-32768,   102,   106,
    +-32768,   115,   118,-32768,-32768,   121,   124,   134,   136,   148,
    +-32768,   157,-32768,   158,   159,-32768,-32768,   160,-32768,-32768,
    +-32768,-32768,-32768,-32768,-32768,   161,-32768,-32768,-32768,-32768,
    +-32768,-32768,-32768,-32768,   162,-32768,-32768,   165,   169,   178,
    +-32768,   180,-32768,-32768,   182,   183,   -87,-32768,-32768,   505,
    +   587,   271,   234,   275,   174,-32768,-32768,-32768,-32768,-32768,
    +-32768,-32768,-32768,-32768,   231,-32768,   280,   186,-32768,-32768,
    +-32768,-32768,-32768,   187,-32768,-32768,-32768,-32768,-32768,-32768,
    +   187,   -72,-32768,-32768,-32768,-32768,-32768,-32768,   184,   194,
    +    17,    17,-32768,-32768,   267,   197,-32768,    17,   389,   329,
    +   311,   313,   337,   389,   324,   330,   389,   331,   389,    17,
    +   293,   389,   -58,   389,   389,   598,   598,   340,   344,   598,
    +   791,   213,-32768,-32768,    51,-32768,-32768,-32768,-32768,-32768,
    +-32768,-32768,-32768,-32768,-32768,-32768,   149,   212,   -50,   217,
    +-32768,-32768,   634,   389,-32768,   218,   233,-32768,   215,-32768,
    +   -20,    -6,   267,   267,-32768,-32768,-32768,   236,   -61,   129,
    +   223,-32768,-32768,-32768,   225,   389,   389,   389,   477,   104,
    +   -90,-32768,   226,   232,   239,   240,   242,   244,   246,   247,
    +   250,   251,   254,   255,   256,   361,   -64,-32768,   104,   257,
    +   -62,    71,   262,   264,   265,   237,   269,   274,-32768,   791,
    +-32768,   -11,-32768,-32768,   270,   598,   278,   151,   301,   676,
    +-32768,-32768,   598,   281,-32768,-32768,    17,   389,-32768,-32768,
    +   598,   283,-32768,   284,-32768,-32768,   294,   267,   295,-32768,
    +-32768,   598,   276,   276,   276,    91,   298,   389,   389,   389,
    +   389,   389,   389,   389,   389,   389,   389,-32768,-32768,-32768,
    +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    +-32768,   299,   389,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    +   407,-32768,-32768,-32768,-32768,-32768,   267,-32768,-32768,   307,
    +-32768,-32768,   341,-32768,-32768,-32768,   312,-32768,-32768,-32768,
    +-32768,    17,   309,-32768,   389,   276,   276,   245,    36,    58,
    +    58,    12,    12,   297,-32768,-32768,-32768,-32768,   315,-32768,
    +   684,-32768,   267,-32768,   321,-32768,-32768,   276,   389,   483,
    +-32768,-32768,   326,-32768,   104,    54,   -71,-32768,   230,    -2,
    +-32768,   389,   323,   -55,   314,-32768,   347,-32768,   598,   267,
    +   389,   334,-32768,-32768,   104,   389,-32768,   355,   267,   -45,
    +   352,   -66,   104,-32768,   -27,   230,-32768,   -66,-32768,   230,
    +-32768,   335,-32768,   350,-32768,-32768,   446,   468,-32768
    +};
    +
    +static const short yypgoto[] = {-32768,
    +-32768,   467,  -222,    18,-32768,-32768,   191,-32768,-32768,-32768,
    +  -322,-32768,-32768,    56,  -395,-32768,    -8,    -1,-32768,  -186,
    +-32768,-32768,-32768,-32768,-32768,-32768,   188,     5,   292,  -336,
    +  -163,-32768,  -181,-32768,   316,  -343,  -201,   200,-32768,    29,
    +   -63,-32768,   103,    78,-32768,-32768,   499,-32768,-32768,   -13,
    +-32768,-32768,-32768,-32768,-32768,   -12,-32768,   500,     4,-32768,
    +-32768,   501,   266,  -229,-32768,   303,    10,     1,-32768,     3,
    +-32768
    +};
    +
    +
    +#define	YYLAST		909
    +
    +
    +static const short yytable[] = {    20,
    +   179,    77,    64,    37,    32,    22,   147,   148,   264,   300,
    +    35,   268,   269,   316,   317,   272,   397,   274,    14,   174,
    +   175,   328,   329,   431,   289,   242,   295,   297,     4,   337,
    +   186,  -165,   211,   122,    66,   432,    73,    76,   279,    79,
    +   279,   282,   163,   338,   447,   328,   329,   319,   422,   451,
    +   212,   131,   305,    72,    41,   353,   252,   353,   253,   254,
    +     8,   187,  -165,   142,   -35,   309,   423,   328,   329,   354,
    +    13,   356,   182,   418,     4,    13,   176,   185,   -35,   142,
    +   328,   329,   150,    76,    79,    48,    13,   446,   381,   151,
    +     4,   410,   323,   324,   325,   326,    49,    50,   449,   152,
    +   328,   329,    51,   364,   453,   450,     8,   154,   143,   410,
    +   177,   309,   144,   328,   329,   310,    13,   239,   240,   243,
    +   153,    52,     8,   452,   251,    54,   376,   454,   144,   155,
    +   169,   178,   165,   433,   173,   157,   275,   399,   215,   215,
    +    67,    68,    37,    37,    22,    22,    69,    70,   401,    35,
    +    35,   255,   336,   167,   168,   395,   170,   214,   214,   332,
    +   333,   334,   335,   156,   386,   387,   388,   389,   390,   391,
    +   392,   393,   394,   413,    74,    75,   336,   256,   159,   257,
    +   160,   258,   180,   334,   335,   188,   259,   164,    70,   279,
    +   161,   421,   330,   331,   332,   333,   334,   335,   336,   162,
    +   440,   147,   148,   181,   357,   183,   283,   284,   189,   445,
    +   288,   336,   330,   331,   332,   333,   334,   335,   292,   184,
    +   296,   408,   171,    70,   384,   330,   331,   332,   333,   334,
    +   335,   336,   311,    38,   190,    37,   223,    22,   191,   312,
    +   296,   311,    35,   239,   336,   415,   279,   192,   312,    39,
    +   193,    40,   324,   194,   328,   329,   195,    41,   435,   327,
    +   309,    42,   172,    70,   320,    13,   196,   441,   197,   174,
    +   175,    43,   443,   221,   222,    44,    45,   224,   225,    46,
    +   198,    47,   230,   231,   291,    13,   369,    13,    48,   199,
    +   200,   201,   202,   203,   204,   365,   367,   205,   242,    49,
    +    50,   206,    37,   373,    22,    51,   328,   329,   226,    35,
    +   207,   367,   208,   377,   209,   210,   228,   265,   406,   266,
    +   232,  -165,   383,   234,    52,    53,   176,   235,    54,   249,
    +   270,   252,    55,   253,   254,   263,   271,   273,    56,   252,
    +    57,   253,   254,   267,   276,   424,    59,   285,   286,   290,
    +   294,   299,   307,   306,   308,   318,   321,   322,    38,   339,
    +   177,   328,   329,   352,     7,   340,    13,   331,   332,   333,
    +   334,   335,   341,   342,    39,   343,    40,   344,   361,   345,
    +   346,   178,    41,   347,   348,   336,    42,   349,   350,   351,
    +   355,   252,   243,   253,   254,   358,    43,   359,   360,   244,
    +    44,    45,   362,    37,    46,    22,    47,   363,   366,   368,
    +    35,   398,   374,    48,   378,   379,   336,   429,   330,   331,
    +   332,   333,   334,   335,    49,    50,   255,   380,   382,   439,
    +    51,   385,   396,   311,   255,   409,   429,   336,   400,   311,
    +   312,   402,   407,   404,   429,   458,   312,   437,   429,    52,
    +    53,   410,   256,    54,   257,   414,   258,    55,   419,   436,
    +   256,   259,   257,    56,   258,    57,   438,   459,   455,   259,
    +    58,    59,   442,   330,   331,   332,   333,   334,   335,   252,
    +    38,   253,   254,   456,   141,   252,   255,   253,   254,   371,
    +   448,    13,   336,   444,   375,   281,    39,   370,    40,    25,
    +    31,    34,   250,     0,    41,   280,     0,   315,    42,     0,
    +     0,     0,   256,   213,   257,     0,   258,     0,    43,     0,
    +     0,   259,    44,    45,     0,     0,    46,     0,    47,     0,
    +     0,     0,     0,     0,     0,    48,     2,     0,     0,     0,
    +     0,     3,     0,     0,     4,     0,    49,    50,     0,     0,
    +     5,     0,    51,     6,     0,     0,     0,     0,     0,     0,
    +     0,     0,     0,     0,     0,     0,     0,     0,     7,     0,
    +     0,    52,    53,     0,   255,    54,     8,     0,     0,    55,
    +   255,     0,     0,     0,     0,    56,     0,    57,     0,     0,
    +     0,     0,    58,    59,     0,     0,     0,     0,     0,     0,
    +   256,    38,   257,     0,   258,     0,   256,     9,   416,   259,
    +   258,     0,    10,    11,     0,   259,     0,    39,     2,    40,
    +     0,     0,     0,     3,     0,    41,     4,     0,     0,    42,
    +     0,     0,     5,     0,     0,     6,    12,     0,     0,    43,
    +     2,    13,     0,    44,    45,     3,     0,    46,     4,    47,
    +     7,     0,     0,     0,     5,     0,    48,     6,     8,     0,
    +     0,     0,     0,     0,     0,     2,     0,    49,    50,     0,
    +     3,     0,     7,    51,     0,     0,     0,     0,     0,     5,
    +     8,     0,     6,     0,     0,     0,     0,     0,     0,     9,
    +     0,     0,    52,    53,    10,    11,    54,     7,     0,     0,
    +    55,     0,     0,     0,     0,     0,    56,     2,    57,     0,
    +     0,     9,     3,    58,    59,     2,    10,    11,    12,     0,
    +     3,     5,   220,    13,     6,     0,     0,     0,     0,     5,
    +     0,     0,     6,     0,     0,     0,     9,     0,     0,     7,
    +    12,    10,    11,     0,     0,    13,     0,     7,     0,     0,
    +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    +     0,     0,     0,     0,     0,    12,     0,     0,     0,   301,
    +    13,     0,     0,     0,     0,     0,     0,     0,     9,     0,
    +     0,     0,     0,    10,    11,     0,     9,     0,     0,     0,
    +     0,    10,    11,     0,     0,     0,     0,     0,     0,     0,
    +     0,     0,     0,     0,     0,     0,    80,    12,    81,     0,
    +     0,   372,    13,     0,    82,    12,    83,     0,     0,   412,
    +    13,     0,     0,    84,    85,    86,    87,     0,    88,    89,
    +     0,    90,     0,    91,    92,    93,     0,     0,    94,     0,
    +     0,    95,     0,    96,    97,    98,    99,   100,   101,     0,
    +   102,   103,   104,   105,     0,     0,   106,     0,     0,   107,
    +     0,     0,     0,   108,     0,   109,     0,     0,     0,   110,
    +   111,   112,   113,   114,   115,   116,     0,   117,   118,   119,
    +   120,   121,   122,   123,   124,     0,     0,   125,     0,     0,
    +   126,     0,   127,     0,     0,   128,   129,   130,     0,     0,
    +   131,     0,   132,   133,   134,   135,     0,     0,   136
    +};
    +
    +static const short yycheck[] = {     1,
    +    64,    10,     2,     1,     1,     1,    20,    20,   190,   232,
    +     1,   193,   194,   243,   244,   197,   353,   199,     1,     3,
    +     4,    10,    11,    26,   211,    32,    77,   229,    40,   120,
    +   104,   104,   120,    92,   133,    38,     7,     9,   202,    11,
    +   204,   205,    42,   134,   440,    10,    11,   249,   120,   445,
    +   138,   110,   234,    32,    28,   120,     3,   120,     5,     6,
    +    72,   135,   135,    29,   120,   132,   138,    10,    11,   134,
    +   137,   134,    72,   410,    40,   137,    60,    77,   134,    29,
    +    10,    11,   132,    55,    56,    59,   137,   133,   318,   132,
    +    40,   137,   256,   257,   258,   259,    70,    71,   442,   132,
    +    10,    11,    76,   290,   448,   133,    72,   132,    74,   137,
    +    94,   132,    78,    10,    11,   136,   137,   181,   182,   126,
    +   135,    95,    72,   446,   188,    99,   308,   450,    78,   135,
    +    53,   115,    70,   136,    57,   139,   200,   367,   140,   141,
    +     3,     4,   140,   141,   140,   141,     3,     4,   371,   140,
    +   141,    98,   141,    51,    52,   337,    54,   140,   141,   124,
    +   125,   126,   127,   132,   328,   329,   330,   331,   332,   333,
    +   334,   335,   336,   403,     3,     4,   141,   124,   135,   126,
    +   132,   128,     7,   126,   127,   133,   133,     3,     4,   353,
    +   132,   138,   122,   123,   124,   125,   126,   127,   141,   132,
    +   430,   215,   215,   135,   134,   132,   206,   207,   133,   439,
    +   210,   141,   122,   123,   124,   125,   126,   127,   227,   135,
    +   229,   385,     3,     4,   134,   122,   123,   124,   125,   126,
    +   127,   141,   241,     4,   133,   233,     3,   233,   133,   241,
    +   249,   250,   233,   307,   141,   409,   410,   133,   250,    20,
    +   133,    22,   416,   133,    10,    11,   133,    28,   422,   259,
    +   132,    32,     3,     4,   136,   137,   133,   431,   133,     3,
    +     4,    42,   436,     3,     4,    46,    47,     3,     4,    50,
    +   133,    52,     3,     4,   136,   137,   136,   137,    59,   133,
    +   133,   133,   133,   133,   133,   292,   296,   133,    32,    70,
    +    71,   133,   300,   303,   300,    76,    10,    11,   135,   300,
    +   133,   311,   133,   311,   133,   133,    86,     7,   382,     7,
    +   135,   135,   322,   140,    95,    96,    60,   134,    99,   133,
    +     7,     3,   103,     5,     6,     7,     7,     7,   109,     3,
    +   111,     5,     6,     7,    52,   116,   117,     8,     5,   137,
    +   139,   135,   120,   136,   140,   120,   134,   133,     4,   134,
    +    94,    10,    11,     3,    64,   134,   137,   123,   124,   125,
    +   126,   127,   134,   134,    20,   134,    22,   134,   142,   134,
    +   134,   115,    28,   134,   134,   141,    32,   134,   134,   134,
    +   134,     3,   126,     5,     6,   134,    42,   134,   134,   133,
    +    46,    47,   134,   401,    50,   401,    52,   134,   139,   132,
    +   401,     5,   132,    59,   132,   132,   141,   419,   122,   123,
    +   124,   125,   126,   127,    70,    71,    98,   134,   134,   429,
    +    76,   134,   134,   442,    98,   139,   438,   141,   132,   448,
    +   442,   101,   134,   132,   446,     0,   448,   134,   450,    95,
    +    96,   137,   124,    99,   126,   135,   128,   103,   133,   137,
    +   124,   133,   126,   109,   128,   111,   120,     0,   134,   133,
    +   116,   117,   139,   122,   123,   124,   125,   126,   127,     3,
    +     4,     5,     6,   134,    18,     3,    98,     5,     6,   299,
    +   139,   137,   141,   438,   307,   204,    20,   298,    22,     1,
    +     1,     1,   187,    -1,    28,   203,    -1,   242,    32,    -1,
    +    -1,    -1,   124,     9,   126,    -1,   128,    -1,    42,    -1,
    +    -1,   133,    46,    47,    -1,    -1,    50,    -1,    52,    -1,
    +    -1,    -1,    -1,    -1,    -1,    59,    32,    -1,    -1,    -1,
    +    -1,    37,    -1,    -1,    40,    -1,    70,    71,    -1,    -1,
    +    46,    -1,    76,    49,    -1,    -1,    -1,    -1,    -1,    -1,
    +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,
    +    -1,    95,    96,    -1,    98,    99,    72,    -1,    -1,   103,
    +    98,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    +    -1,    -1,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
    +   124,     4,   126,    -1,   128,    -1,   124,   103,   126,   133,
    +   128,    -1,   108,   109,    -1,   133,    -1,    20,    32,    22,
    +    -1,    -1,    -1,    37,    -1,    28,    40,    -1,    -1,    32,
    +    -1,    -1,    46,    -1,    -1,    49,   132,    -1,    -1,    42,
    +    32,   137,    -1,    46,    47,    37,    -1,    50,    40,    52,
    +    64,    -1,    -1,    -1,    46,    -1,    59,    49,    72,    -1,
    +    -1,    -1,    -1,    -1,    -1,    32,    -1,    70,    71,    -1,
    +    37,    -1,    64,    76,    -1,    -1,    -1,    -1,    -1,    46,
    +    72,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,   103,
    +    -1,    -1,    95,    96,   108,   109,    99,    64,    -1,    -1,
    +   103,    -1,    -1,    -1,    -1,    -1,   109,    32,   111,    -1,
    +    -1,   103,    37,   116,   117,    32,   108,   109,   132,    -1,
    +    37,    46,   136,   137,    49,    -1,    -1,    -1,    -1,    46,
    +    -1,    -1,    49,    -1,    -1,    -1,   103,    -1,    -1,    64,
    +   132,   108,   109,    -1,    -1,   137,    -1,    64,    -1,    -1,
    +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    +    -1,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,   136,
    +   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,
    +    -1,    -1,    -1,   108,   109,    -1,   103,    -1,    -1,    -1,
    +    -1,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    +    -1,    -1,    -1,    -1,    -1,    -1,    16,   132,    18,    -1,
    +    -1,   136,   137,    -1,    24,   132,    26,    -1,    -1,   136,
    +   137,    -1,    -1,    33,    34,    35,    36,    -1,    38,    39,
    +    -1,    41,    -1,    43,    44,    45,    -1,    -1,    48,    -1,
    +    -1,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
    +    60,    61,    62,    63,    -1,    -1,    66,    -1,    -1,    69,
    +    -1,    -1,    -1,    73,    -1,    75,    -1,    -1,    -1,    79,
    +    80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
    +    90,    91,    92,    93,    94,    -1,    -1,    97,    -1,    -1,
    +   100,    -1,   102,    -1,    -1,   105,   106,   107,    -1,    -1,
    +   110,    -1,   112,   113,   114,   115,    -1,    -1,   118
    +};
    +/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
    +#line 3 "/usr/share/bison.simple"
    +/* This file comes from bison-1.28.  */
    +
    +/* Skeleton output parser for bison,
    +   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
    +
    +   This program is free software; you can redistribute it and/or modify
    +   it under the terms of the GNU General Public License as published by
    +   the Free Software Foundation; either version 2, or (at your option)
    +   any later version.
    +
    +   This program is distributed in the hope that it will be useful,
    +   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +   GNU General Public License for more details.
    +
    +   You should have received a copy of the GNU General Public License
    +   along with this program; if not, write to the Free Software
    +   Foundation, Inc., 59 Temple Place - Suite 330,
    +   Boston, MA 02111-1307, USA.  */
    +
    +/* As a special exception, when this file is copied by Bison into a
    +   Bison output file, you may use that output file without restriction.
    +   This special exception was added by the Free Software Foundation
    +   in version 1.24 of Bison.  */
    +
    +/* This is the parser code that is written into each bison parser
    +  when the %semantic_parser declaration is not specified in the grammar.
    +  It was written by Richard Stallman by simplifying the hairy parser
    +  used when %semantic_parser is specified.  */
    +
    +#ifndef YYSTACK_USE_ALLOCA
    +#ifdef alloca
    +#define YYSTACK_USE_ALLOCA
    +#else /* alloca not defined */
    +#ifdef __GNUC__
    +#define YYSTACK_USE_ALLOCA
    +#define alloca __builtin_alloca
    +#else /* not GNU C.  */
    +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
    +#define YYSTACK_USE_ALLOCA
    +#include 
    +#else /* not sparc */
    +/* We think this test detects Watcom and Microsoft C.  */
    +/* This used to test MSDOS, but that is a bad idea
    +   since that symbol is in the user namespace.  */
    +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
    +#if 0 /* No need for malloc.h, which pollutes the namespace;
    +	 instead, just don't use alloca.  */
    +#include 
    +#endif
    +#else /* not MSDOS, or __TURBOC__ */
    +#if defined(_AIX)
    +/* I don't know what this was needed for, but it pollutes the namespace.
    +   So I turned it off.   rms, 2 May 1997.  */
    +/* #include   */
    + #pragma alloca
    +#define YYSTACK_USE_ALLOCA
    +#else /* not MSDOS, or __TURBOC__, or _AIX */
    +#if 0
    +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
    +		 and on HPUX 10.  Eventually we can turn this on.  */
    +#define YYSTACK_USE_ALLOCA
    +#define alloca __builtin_alloca
    +#endif /* __hpux */
    +#endif
    +#endif /* not _AIX */
    +#endif /* not MSDOS, or __TURBOC__ */
    +#endif /* not sparc */
    +#endif /* not GNU C */
    +#endif /* alloca not defined */
    +#endif /* YYSTACK_USE_ALLOCA not defined */
    +
    +#ifdef YYSTACK_USE_ALLOCA
    +#define YYSTACK_ALLOC alloca
    +#else
    +#define YYSTACK_ALLOC malloc
    +#endif
    +
    +/* Note: there must be only one dollar sign in this file.
    +   It is replaced by the list of actions, each action
    +   as one case of the switch.  */
    +
    +#define yyerrok		(yyerrstatus = 0)
    +#define yyclearin	(yychar = YYEMPTY)
    +#define YYEMPTY		-2
    +#define YYEOF		0
    +#define YYACCEPT	goto yyacceptlab
    +#define YYABORT 	goto yyabortlab
    +#define YYERROR		goto yyerrlab1
    +/* Like YYERROR except do call yyerror.
    +   This remains here temporarily to ease the
    +   transition to the new meaning of YYERROR, for GCC.
    +   Once GCC version 2 has supplanted version 1, this can go.  */
    +#define YYFAIL		goto yyerrlab
    +#define YYRECOVERING()  (!!yyerrstatus)
    +#define YYBACKUP(token, value) \
    +do								\
    +  if (yychar == YYEMPTY && yylen == 1)				\
    +    { yychar = (token), yylval = (value);			\
    +      yychar1 = YYTRANSLATE (yychar);				\
    +      YYPOPSTACK;						\
    +      goto yybackup;						\
    +    }								\
    +  else								\
    +    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
    +while (0)
    +
    +#define YYTERROR	1
    +#define YYERRCODE	256
    +
    +#ifndef YYPURE
    +#define YYLEX		yylex()
    +#endif
    +
    +#ifdef YYPURE
    +#ifdef YYLSP_NEEDED
    +#ifdef YYLEX_PARAM
    +#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
    +#else
    +#define YYLEX		yylex(&yylval, &yylloc)
    +#endif
    +#else /* not YYLSP_NEEDED */
    +#ifdef YYLEX_PARAM
    +#define YYLEX		yylex(&yylval, YYLEX_PARAM)
    +#else
    +#define YYLEX		yylex(&yylval)
    +#endif
    +#endif /* not YYLSP_NEEDED */
    +#endif
    +
    +/* If nonreentrant, generate the variables here */
    +
    +#ifndef YYPURE
    +
    +int	yychar;			/*  the lookahead symbol		*/
    +YYSTYPE	yylval;			/*  the semantic value of the		*/
    +				/*  lookahead symbol			*/
    +
    +#ifdef YYLSP_NEEDED
    +YYLTYPE yylloc;			/*  location data for the lookahead	*/
    +				/*  symbol				*/
    +#endif
    +
    +int yynerrs;			/*  number of parse errors so far       */
    +#endif  /* not YYPURE */
    +
    +#if YYDEBUG != 0
    +int yydebug;			/*  nonzero means print parse trace	*/
    +/* Since this is uninitialized, it does not stop multiple parsers
    +   from coexisting.  */
    +#endif
    +
    +/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
    +
    +#ifndef	YYINITDEPTH
    +#define YYINITDEPTH 200
    +#endif
    +
    +/*  YYMAXDEPTH is the maximum size the stacks can grow to
    +    (effective only if the built-in stack extension method is used).  */
    +
    +#if YYMAXDEPTH == 0
    +#undef YYMAXDEPTH
    +#endif
    +
    +#ifndef YYMAXDEPTH
    +#define YYMAXDEPTH 10000
    +#endif
    +
    +/* Define __yy_memcpy.  Note that the size argument
    +   should be passed with type unsigned int, because that is what the non-GCC
    +   definitions require.  With GCC, __builtin_memcpy takes an arg
    +   of type size_t, but it can handle unsigned int.  */
    +
    +#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
    +#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
    +#else				/* not GNU C or C++ */
    +#ifndef __cplusplus
    +
    +/* This is the most reliable way to avoid incompatibilities
    +   in available built-in functions on various systems.  */
    +static void
    +__yy_memcpy (to, from, count)
    +     char *to;
    +     char *from;
    +     unsigned int count;
    +{
    +  register char *f = from;
    +  register char *t = to;
    +  register int i = count;
    +
    +  while (i-- > 0)
    +    *t++ = *f++;
    +}
    +
    +#else /* __cplusplus */
    +
    +/* This is the most reliable way to avoid incompatibilities
    +   in available built-in functions on various systems.  */
    +static void
    +__yy_memcpy (char *to, char *from, unsigned int count)
    +{
    +  register char *t = to;
    +  register char *f = from;
    +  register int i = count;
    +
    +  while (i-- > 0)
    +    *t++ = *f++;
    +}
    +
    +#endif
    +#endif
    +
    +#line 217 "/usr/share/bison.simple"
    +
    +/* The user can define YYPARSE_PARAM as the name of an argument to be passed
    +   into yyparse.  The argument should have type void *.
    +   It should actually point to an object.
    +   Grammar actions can access the variable by casting it
    +   to the proper pointer type.  */
    +
    +#ifdef YYPARSE_PARAM
    +#ifdef __cplusplus
    +#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
    +#define YYPARSE_PARAM_DECL
    +#else /* not __cplusplus */
    +#define YYPARSE_PARAM_ARG YYPARSE_PARAM
    +#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
    +#endif /* not __cplusplus */
    +#else /* not YYPARSE_PARAM */
    +#define YYPARSE_PARAM_ARG
    +#define YYPARSE_PARAM_DECL
    +#endif /* not YYPARSE_PARAM */
    +
    +/* Prevent warning if -Wstrict-prototypes.  */
    +#ifdef __GNUC__
    +#ifdef YYPARSE_PARAM
    +int yyparse (void *);
    +#else
    +int yyparse (void);
    +#endif
    +#endif
    +
    +int
    +yyparse(YYPARSE_PARAM_ARG)
    +     YYPARSE_PARAM_DECL
    +{
    +  register int yystate;
    +  register int yyn;
    +  register short *yyssp;
    +  register YYSTYPE *yyvsp;
    +  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
    +  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
    +
    +  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
    +  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
    +
    +  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
    +  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
    +
    +#ifdef YYLSP_NEEDED
    +  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
    +  YYLTYPE *yyls = yylsa;
    +  YYLTYPE *yylsp;
    +
    +#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
    +#else
    +#define YYPOPSTACK   (yyvsp--, yyssp--)
    +#endif
    +
    +  int yystacksize = YYINITDEPTH;
    +  int yyfree_stacks = 0;
    +
    +#ifdef YYPURE
    +  int yychar;
    +  YYSTYPE yylval;
    +  int yynerrs;
    +#ifdef YYLSP_NEEDED
    +  YYLTYPE yylloc;
    +#endif
    +#endif
    +
    +  YYSTYPE yyval;		/*  the variable used to return		*/
    +				/*  semantic values from the action	*/
    +				/*  routines				*/
    +
    +  int yylen;
    +
    +#if YYDEBUG != 0
    +  if (yydebug)
    +    fprintf(stderr, "Starting parse\n");
    +#endif
    +
    +  yystate = 0;
    +  yyerrstatus = 0;
    +  yynerrs = 0;
    +  yychar = YYEMPTY;		/* Cause a token to be read.  */
    +
    +  /* Initialize stack pointers.
    +     Waste one element of value and location stack
    +     so that they stay on the same level as the state stack.
    +     The wasted elements are never initialized.  */
    +
    +  yyssp = yyss - 1;
    +  yyvsp = yyvs;
    +#ifdef YYLSP_NEEDED
    +  yylsp = yyls;
    +#endif
    +
    +/* Push a new state, which is found in  yystate  .  */
    +/* In all cases, when you get here, the value and location stacks
    +   have just been pushed. so pushing a state here evens the stacks.  */
    +yynewstate:
    +
    +  *++yyssp = yystate;
    +
    +  if (yyssp >= yyss + yystacksize - 1)
    +    {
    +      /* Give user a chance to reallocate the stack */
    +      /* Use copies of these so that the &'s don't force the real ones into memory. */
    +      YYSTYPE *yyvs1 = yyvs;
    +      short *yyss1 = yyss;
    +#ifdef YYLSP_NEEDED
    +      YYLTYPE *yyls1 = yyls;
    +#endif
    +
    +      /* Get the current used size of the three stacks, in elements.  */
    +      int size = yyssp - yyss + 1;
    +
    +#ifdef yyoverflow
    +      /* Each stack pointer address is followed by the size of
    +	 the data in use in that stack, in bytes.  */
    +#ifdef YYLSP_NEEDED
    +      /* This used to be a conditional around just the two extra args,
    +	 but that might be undefined if yyoverflow is a macro.  */
    +      yyoverflow("parser stack overflow",
    +		 &yyss1, size * sizeof (*yyssp),
    +		 &yyvs1, size * sizeof (*yyvsp),
    +		 &yyls1, size * sizeof (*yylsp),
    +		 &yystacksize);
    +#else
    +      yyoverflow("parser stack overflow",
    +		 &yyss1, size * sizeof (*yyssp),
    +		 &yyvs1, size * sizeof (*yyvsp),
    +		 &yystacksize);
    +#endif
    +
    +      yyss = yyss1; yyvs = yyvs1;
    +#ifdef YYLSP_NEEDED
    +      yyls = yyls1;
    +#endif
    +#else /* no yyoverflow */
    +      /* Extend the stack our own way.  */
    +      if (yystacksize >= YYMAXDEPTH)
    +	{
    +	  yyerror("parser stack overflow");
    +	  if (yyfree_stacks)
    +	    {
    +	      free (yyss);
    +	      free (yyvs);
    +#ifdef YYLSP_NEEDED
    +	      free (yyls);
    +#endif
    +	    }
    +	  return 2;
    +	}
    +      yystacksize *= 2;
    +      if (yystacksize > YYMAXDEPTH)
    +	yystacksize = YYMAXDEPTH;
    +#ifndef YYSTACK_USE_ALLOCA
    +      yyfree_stacks = 1;
    +#endif
    +      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
    +      __yy_memcpy ((char *)yyss, (char *)yyss1,
    +		   size * (unsigned int) sizeof (*yyssp));
    +      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
    +      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
    +		   size * (unsigned int) sizeof (*yyvsp));
    +#ifdef YYLSP_NEEDED
    +      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
    +      __yy_memcpy ((char *)yyls, (char *)yyls1,
    +		   size * (unsigned int) sizeof (*yylsp));
    +#endif
    +#endif /* no yyoverflow */
    +
    +      yyssp = yyss + size - 1;
    +      yyvsp = yyvs + size - 1;
    +#ifdef YYLSP_NEEDED
    +      yylsp = yyls + size - 1;
    +#endif
    +
    +#if YYDEBUG != 0
    +      if (yydebug)
    +	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
    +#endif
    +
    +      if (yyssp >= yyss + yystacksize - 1)
    +	YYABORT;
    +    }
    +
    +#if YYDEBUG != 0
    +  if (yydebug)
    +    fprintf(stderr, "Entering state %d\n", yystate);
    +#endif
    +
    +  goto yybackup;
    + yybackup:
    +
    +/* Do appropriate processing given the current state.  */
    +/* Read a lookahead token if we need one and don't already have one.  */
    +/* yyresume: */
    +
    +  /* First try to decide what to do without reference to lookahead token.  */
    +
    +  yyn = yypact[yystate];
    +  if (yyn == YYFLAG)
    +    goto yydefault;
    +
    +  /* Not known => get a lookahead token if don't already have one.  */
    +
    +  /* yychar is either YYEMPTY or YYEOF
    +     or a valid token in external form.  */
    +
    +  if (yychar == YYEMPTY)
    +    {
    +#if YYDEBUG != 0
    +      if (yydebug)
    +	fprintf(stderr, "Reading a token: ");
    +#endif
    +      yychar = YYLEX;
    +    }
    +
    +  /* Convert token to internal form (in yychar1) for indexing tables with */
    +
    +  if (yychar <= 0)		/* This means end of input. */
    +    {
    +      yychar1 = 0;
    +      yychar = YYEOF;		/* Don't call YYLEX any more */
    +
    +#if YYDEBUG != 0
    +      if (yydebug)
    +	fprintf(stderr, "Now at end of input.\n");
    +#endif
    +    }
    +  else
    +    {
    +      yychar1 = YYTRANSLATE(yychar);
    +
    +#if YYDEBUG != 0
    +      if (yydebug)
    +	{
    +	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
    +	  /* Give the individual parser a way to print the precise meaning
    +	     of a token, for further debugging info.  */
    +#ifdef YYPRINT
    +	  YYPRINT (stderr, yychar, yylval);
    +#endif
    +	  fprintf (stderr, ")\n");
    +	}
    +#endif
    +    }
    +
    +  yyn += yychar1;
    +  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
    +    goto yydefault;
    +
    +  yyn = yytable[yyn];
    +
    +  /* yyn is what to do for this token type in this state.
    +     Negative => reduce, -yyn is rule number.
    +     Positive => shift, yyn is new state.
    +       New state is final state => don't bother to shift,
    +       just return success.
    +     0, or most negative number => error.  */
    +
    +  if (yyn < 0)
    +    {
    +      if (yyn == YYFLAG)
    +	goto yyerrlab;
    +      yyn = -yyn;
    +      goto yyreduce;
    +    }
    +  else if (yyn == 0)
    +    goto yyerrlab;
    +
    +  if (yyn == YYFINAL)
    +    YYACCEPT;
    +
    +  /* Shift the lookahead token.  */
    +
    +#if YYDEBUG != 0
    +  if (yydebug)
    +    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
    +#endif
    +
    +  /* Discard the token being shifted unless it is eof.  */
    +  if (yychar != YYEOF)
    +    yychar = YYEMPTY;
    +
    +  *++yyvsp = yylval;
    +#ifdef YYLSP_NEEDED
    +  *++yylsp = yylloc;
    +#endif
    +
    +  /* count tokens shifted since error; after three, turn off error status.  */
    +  if (yyerrstatus) yyerrstatus--;
    +
    +  yystate = yyn;
    +  goto yynewstate;
    +
    +/* Do the default action for the current state.  */
    +yydefault:
    +
    +  yyn = yydefact[yystate];
    +  if (yyn == 0)
    +    goto yyerrlab;
    +
    +/* Do a reduction.  yyn is the number of a rule to reduce with.  */
    +yyreduce:
    +  yylen = yyr2[yyn];
    +  if (yylen > 0)
    +    yyval = yyvsp[1-yylen]; /* implement default value of the action */
    +
    +#if YYDEBUG != 0
    +  if (yydebug)
    +    {
    +      int i;
    +
    +      fprintf (stderr, "Reducing via rule %d (line %d), ",
    +	       yyn, yyrline[yyn]);
    +
    +      /* Print the symbols being reduced, and their result.  */
    +      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
    +	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
    +      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
    +    }
    +#endif
    +
    +
    +  switch (yyn) {
    +
    +case 1:
    +#line 229 "parser.y"
    +{ write_proxies(yyvsp[0].ifref); write_client(yyvsp[0].ifref); write_server(yyvsp[0].ifref); ;
    +    break;}
    +case 2:
    +#line 232 "parser.y"
    +{ yyval.ifref = NULL; ;
    +    break;}
    +case 3:
    +#line 233 "parser.y"
    +{ yyval.ifref = yyvsp[-1].ifref; ;
    +    break;}
    +case 4:
    +#line 234 "parser.y"
    +{ yyval.ifref = make_ifref(yyvsp[0].type); LINK(yyval.ifref, yyvsp[-1].ifref); ;
    +    break;}
    +case 5:
    +#line 235 "parser.y"
    +{ yyval.ifref = yyvsp[-1].ifref; add_coclass(yyvsp[0].clas); ;
    +    break;}
    +case 6:
    +#line 236 "parser.y"
    +{ yyval.ifref = yyvsp[-1].ifref; add_module(yyvsp[0].type); ;
    +    break;}
    +case 7:
    +#line 237 "parser.y"
    +{ yyval.ifref = yyvsp[-1].ifref; ;
    +    break;}
    +case 8:
    +#line 238 "parser.y"
    +{ yyval.ifref = yyvsp[-1].ifref; ;
    +    break;}
    +case 9:
    +#line 241 "parser.y"
    +{;
    +    break;}
    +case 10:
    +#line 242 "parser.y"
    +{ if (!parse_only) add_interface(yyvsp[0].type); ;
    +    break;}
    +case 11:
    +#line 243 "parser.y"
    +{ if (!parse_only) add_interface(yyvsp[0].type); ;
    +    break;}
    +case 12:
    +#line 244 "parser.y"
    +{ if (!parse_only) add_coclass(yyvsp[0].clas); ;
    +    break;}
    +case 13:
    +#line 245 "parser.y"
    +{ if (!parse_only) add_module(yyvsp[0].type); ;
    +    break;}
    +case 14:
    +#line 246 "parser.y"
    +{;
    +    break;}
    +case 15:
    +#line 249 "parser.y"
    +{ yyval.func = NULL; ;
    +    break;}
    +case 16:
    +#line 250 "parser.y"
    +{ yyval.func = yyvsp[-1].func; LINK(yyval.func, yyvsp[-2].func); ;
    +    break;}
    +case 17:
    +#line 251 "parser.y"
    +{ yyval.func = yyvsp[-1].func; ;
    +    break;}
    +case 18:
    +#line 254 "parser.y"
    +{;
    +    break;}
    +case 19:
    +#line 255 "parser.y"
    +{ if (!parse_only && do_header) { write_constdef(yyvsp[-1].var); } ;
    +    break;}
    +case 20:
    +#line 256 "parser.y"
    +{;
    +    break;}
    +case 21:
    +#line 257 "parser.y"
    +{ if (!parse_only && do_header) { write_type(header, yyvsp[-1].type, NULL, NULL); fprintf(header, ";\n\n"); } ;
    +    break;}
    +case 22:
    +#line 258 "parser.y"
    +{ if (!parse_only && do_header) { write_externdef(yyvsp[-1].var); } ;
    +    break;}
    +case 23:
    +#line 259 "parser.y"
    +{;
    +    break;}
    +case 24:
    +#line 260 "parser.y"
    +{ if (!parse_only && do_header) { write_type(header, yyvsp[-1].type, NULL, NULL); fprintf(header, ";\n\n"); } ;
    +    break;}
    +case 25:
    +#line 261 "parser.y"
    +{;
    +    break;}
    +case 26:
    +#line 262 "parser.y"
    +{ if (!parse_only && do_header) { write_type(header, yyvsp[-1].type, NULL, NULL); fprintf(header, ";\n\n"); } ;
    +    break;}
    +case 27:
    +#line 265 "parser.y"
    +{ if (!parse_only && do_header) fprintf(header, "%s\n", yyvsp[-1].str); ;
    +    break;}
    +case 28:
    +#line 267 "parser.y"
    +{ assert(yychar == YYEMPTY);
    +						  if (!do_import(yyvsp[-1].str)) yychar = aEOF; ;
    +    break;}
    +case 29:
    +#line 270 "parser.y"
    +{;
    +    break;}
    +case 30:
    +#line 273 "parser.y"
    +{ yyval.str = yyvsp[0].str; ;
    +    break;}
    +case 31:
    +#line 275 "parser.y"
    +{ start_typelib(yyvsp[-1].str, yyvsp[-2].attr); ;
    +    break;}
    +case 32:
    +#line 277 "parser.y"
    +{ end_typelib(); ;
    +    break;}
    +case 33:
    +#line 280 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 35:
    +#line 284 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 37:
    +#line 288 "parser.y"
    +{ LINK(yyvsp[0].var, yyvsp[-2].var); yyval.var = yyvsp[0].var; ;
    +    break;}
    +case 39:
    +#line 293 "parser.y"
    +{ yyval.var = yyvsp[-1].var;
    +						  set_type(yyval.var, yyvsp[-2].tref, yyvsp[0].expr);
    +						  yyval.var->attrs = yyvsp[-3].attr;
    +						;
    +    break;}
    +case 40:
    +#line 297 "parser.y"
    +{ yyval.var = yyvsp[-1].var;
    +						  set_type(yyval.var, yyvsp[-2].tref, yyvsp[0].expr);
    +						;
    +    break;}
    +case 41:
    +#line 300 "parser.y"
    +{ yyval.var = yyvsp[-3].var;
    +						  yyval.var->ptr_level--;
    +						  set_type(yyval.var, yyvsp[-4].tref, NULL);
    +						  yyval.var->attrs = yyvsp[-5].attr;
    +						  yyval.var->args = yyvsp[-1].var;
    +						;
    +    break;}
    +case 42:
    +#line 306 "parser.y"
    +{ yyval.var = yyvsp[-3].var;
    +						  yyval.var->ptr_level--;
    +						  set_type(yyval.var, yyvsp[-4].tref, NULL);
    +						  yyval.var->args = yyvsp[-1].var;
    +						;
    +    break;}
    +case 43:
    +#line 313 "parser.y"
    +{ yyval.expr = NULL; ;
    +    break;}
    +case 44:
    +#line 314 "parser.y"
    +{ yyval.expr = yyvsp[-1].expr; ;
    +    break;}
    +case 45:
    +#line 315 "parser.y"
    +{ yyval.expr = make_expr(EXPR_VOID); ;
    +    break;}
    +case 47:
    +#line 319 "parser.y"
    +{ LINK(yyvsp[0].expr, yyvsp[-2].expr); yyval.expr = yyvsp[0].expr; ;
    +    break;}
    +case 48:
    +#line 320 "parser.y"
    +{ LINK(yyvsp[0].expr, yyvsp[-3].expr); yyval.expr = yyvsp[0].expr; ;
    +    break;}
    +case 49:
    +#line 323 "parser.y"
    +{ yyval.attr = NULL; ;
    +    break;}
    +case 51:
    +#line 328 "parser.y"
    +{ yyval.attr = yyvsp[-1].attr; ;
    +    break;}
    +case 53:
    +#line 332 "parser.y"
    +{ LINK(yyvsp[0].attr, yyvsp[-2].attr); yyval.attr = yyvsp[0].attr; ;
    +    break;}
    +case 54:
    +#line 333 "parser.y"
    +{ LINK(yyvsp[0].attr, yyvsp[-3].attr); yyval.attr = yyvsp[0].attr; ;
    +    break;}
    +case 55:
    +#line 337 "parser.y"
    +{ yyval.attr = make_attr(ATTR_ASYNC); ;
    +    break;}
    +case 56:
    +#line 338 "parser.y"
    +{ yyval.attr = make_attr(ATTR_AUTO_HANDLE); ;
    +    break;}
    +case 57:
    +#line 339 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_CALLAS, yyvsp[-1].var); ;
    +    break;}
    +case 58:
    +#line 340 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_CASE, yyvsp[-1].expr); ;
    +    break;}
    +case 59:
    +#line 341 "parser.y"
    +{ yyval.attr = make_attrv(ATTR_CONTEXTHANDLE, 0); ;
    +    break;}
    +case 60:
    +#line 342 "parser.y"
    +{ yyval.attr = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_DONT_SERIALIZE */ ;
    +    break;}
    +case 61:
    +#line 343 "parser.y"
    +{ yyval.attr = make_attrv(ATTR_CONTEXTHANDLE, 0); /* RPC_CONTEXT_HANDLE_SERIALIZE */ ;
    +    break;}
    +case 62:
    +#line 344 "parser.y"
    +{ yyval.attr = make_attr(ATTR_CONTROL); ;
    +    break;}
    +case 63:
    +#line 345 "parser.y"
    +{ yyval.attr = make_attr(ATTR_DEFAULT); ;
    +    break;}
    +case 64:
    +#line 346 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_DEFAULTVALUE_EXPR, yyvsp[-1].expr); ;
    +    break;}
    +case 65:
    +#line 347 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_DEFAULTVALUE_STRING, yyvsp[-1].str); ;
    +    break;}
    +case 66:
    +#line 348 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_DLLNAME, yyvsp[-1].str); ;
    +    break;}
    +case 67:
    +#line 349 "parser.y"
    +{ yyval.attr = make_attr(ATTR_DUAL); ;
    +    break;}
    +case 68:
    +#line 350 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_ENDPOINT, yyvsp[-1].str); ;
    +    break;}
    +case 69:
    +#line 351 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_ENTRY_STRING, yyvsp[-1].str); ;
    +    break;}
    +case 70:
    +#line 352 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_ENTRY_ORDINAL, yyvsp[-1].expr); ;
    +    break;}
    +case 71:
    +#line 353 "parser.y"
    +{ yyval.attr = make_attr(ATTR_EXPLICIT_HANDLE); ;
    +    break;}
    +case 72:
    +#line 354 "parser.y"
    +{ yyval.attr = make_attr(ATTR_HANDLE); ;
    +    break;}
    +case 73:
    +#line 355 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_HELPCONTEXT, yyvsp[-1].expr); ;
    +    break;}
    +case 74:
    +#line 356 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_HELPFILE, yyvsp[-1].str); ;
    +    break;}
    +case 75:
    +#line 357 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_HELPSTRING, yyvsp[-1].str); ;
    +    break;}
    +case 76:
    +#line 358 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_HELPSTRINGCONTEXT, yyvsp[-1].expr); ;
    +    break;}
    +case 77:
    +#line 359 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_HELPSTRINGDLL, yyvsp[-1].str); ;
    +    break;}
    +case 78:
    +#line 360 "parser.y"
    +{ yyval.attr = make_attr(ATTR_HIDDEN); ;
    +    break;}
    +case 79:
    +#line 361 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_ID, yyvsp[-1].expr); ;
    +    break;}
    +case 80:
    +#line 362 "parser.y"
    +{ yyval.attr = make_attr(ATTR_IDEMPOTENT); ;
    +    break;}
    +case 81:
    +#line 363 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_IIDIS, yyvsp[-1].var); ;
    +    break;}
    +case 82:
    +#line 364 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_IMPLICIT_HANDLE, yyvsp[-1].str); ;
    +    break;}
    +case 83:
    +#line 365 "parser.y"
    +{ yyval.attr = make_attr(ATTR_IN); ;
    +    break;}
    +case 84:
    +#line 366 "parser.y"
    +{ yyval.attr = make_attr(ATTR_INPUTSYNC); ;
    +    break;}
    +case 85:
    +#line 367 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_LENGTHIS, yyvsp[-1].expr); ;
    +    break;}
    +case 86:
    +#line 368 "parser.y"
    +{ yyval.attr = make_attr(ATTR_LOCAL); ;
    +    break;}
    +case 87:
    +#line 369 "parser.y"
    +{ yyval.attr = make_attr(ATTR_NONCREATABLE); ;
    +    break;}
    +case 88:
    +#line 370 "parser.y"
    +{ yyval.attr = make_attr(ATTR_OBJECT); ;
    +    break;}
    +case 89:
    +#line 371 "parser.y"
    +{ yyval.attr = make_attr(ATTR_ODL); ;
    +    break;}
    +case 90:
    +#line 372 "parser.y"
    +{ yyval.attr = make_attr(ATTR_OLEAUTOMATION); ;
    +    break;}
    +case 91:
    +#line 373 "parser.y"
    +{ yyval.attr = make_attr(ATTR_OPTIONAL); ;
    +    break;}
    +case 92:
    +#line 374 "parser.y"
    +{ yyval.attr = make_attr(ATTR_OUT); ;
    +    break;}
    +case 93:
    +#line 375 "parser.y"
    +{ yyval.attr = make_attrv(ATTR_POINTERDEFAULT, yyvsp[-1].num); ;
    +    break;}
    +case 94:
    +#line 376 "parser.y"
    +{ yyval.attr = make_attr(ATTR_PROPGET); ;
    +    break;}
    +case 95:
    +#line 377 "parser.y"
    +{ yyval.attr = make_attr(ATTR_PROPPUT); ;
    +    break;}
    +case 96:
    +#line 378 "parser.y"
    +{ yyval.attr = make_attr(ATTR_PROPPUTREF); ;
    +    break;}
    +case 97:
    +#line 379 "parser.y"
    +{ yyval.attr = make_attr(ATTR_PUBLIC); ;
    +    break;}
    +case 98:
    +#line 380 "parser.y"
    +{ yyval.attr = make_attr(ATTR_READONLY); ;
    +    break;}
    +case 99:
    +#line 381 "parser.y"
    +{ yyval.attr = make_attr(ATTR_RESTRICTED); ;
    +    break;}
    +case 100:
    +#line 382 "parser.y"
    +{ yyval.attr = make_attr(ATTR_RETVAL); ;
    +    break;}
    +case 101:
    +#line 383 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_SIZEIS, yyvsp[-1].expr); ;
    +    break;}
    +case 102:
    +#line 384 "parser.y"
    +{ yyval.attr = make_attr(ATTR_SOURCE); ;
    +    break;}
    +case 103:
    +#line 385 "parser.y"
    +{ yyval.attr = make_attr(ATTR_STRING); ;
    +    break;}
    +case 104:
    +#line 386 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_SWITCHIS, yyvsp[-1].expr); ;
    +    break;}
    +case 105:
    +#line 387 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_SWITCHTYPE, type_ref(yyvsp[-1].tref)); ;
    +    break;}
    +case 106:
    +#line 388 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_TRANSMITAS, type_ref(yyvsp[-1].tref)); ;
    +    break;}
    +case 107:
    +#line 389 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_UUID, yyvsp[-1].uuid); ;
    +    break;}
    +case 108:
    +#line 390 "parser.y"
    +{ yyval.attr = make_attr(ATTR_V1ENUM); ;
    +    break;}
    +case 109:
    +#line 391 "parser.y"
    +{ yyval.attr = make_attr(ATTR_VARARG); ;
    +    break;}
    +case 110:
    +#line 392 "parser.y"
    +{ yyval.attr = make_attrv(ATTR_VERSION, yyvsp[-1].num); ;
    +    break;}
    +case 111:
    +#line 393 "parser.y"
    +{ yyval.attr = make_attrp(ATTR_WIREMARSHAL, type_ref(yyvsp[-1].tref)); ;
    +    break;}
    +case 112:
    +#line 394 "parser.y"
    +{ yyval.attr = make_attrv(ATTR_POINTERTYPE, yyvsp[0].num); ;
    +    break;}
    +case 115:
    +#line 401 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 116:
    +#line 402 "parser.y"
    +{ if (yyvsp[0].var) { LINK(yyvsp[0].var, yyvsp[-1].var); yyval.var = yyvsp[0].var; }
    +						  else { yyval.var = yyvsp[-1].var; }
    +						;
    +    break;}
    +case 117:
    +#line 407 "parser.y"
    +{ attr_t *a = make_attrp(ATTR_CASE, yyvsp[-2].expr);
    +						  yyval.var = yyvsp[0].var; if (!yyval.var) yyval.var = make_var(NULL);
    +						  LINK(a, yyval.var->attrs); yyval.var->attrs = a;
    +						;
    +    break;}
    +case 118:
    +#line 411 "parser.y"
    +{ attr_t *a = make_attr(ATTR_DEFAULT);
    +						  yyval.var = yyvsp[0].var; if (!yyval.var) yyval.var = make_var(NULL);
    +						  LINK(a, yyval.var->attrs); yyval.var->attrs = a;
    +						;
    +    break;}
    +case 119:
    +#line 417 "parser.y"
    +{ yyval.var = reg_const(yyvsp[-2].var);
    +						  set_type(yyval.var, yyvsp[-3].tref, NULL);
    +						  yyval.var->eval = yyvsp[0].expr;
    +						  yyval.var->lval = yyvsp[0].expr->cval;
    +						;
    +    break;}
    +case 120:
    +#line 424 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 121:
    +#line 425 "parser.y"
    +{ yyval.var = yyvsp[-1].var; ;
    +    break;}
    +case 124:
    +#line 430 "parser.y"
    +{ LINK(yyvsp[0].var, yyvsp[-2].var); yyval.var = yyvsp[0].var;
    +						  if (yyvsp[-2].var && !yyvsp[0].var->eval)
    +						    yyvsp[0].var->lval = yyvsp[-2].var->lval + 1;
    +						;
    +    break;}
    +case 125:
    +#line 436 "parser.y"
    +{ yyval.var = reg_const(yyvsp[-2].var);
    +						  yyval.var->eval = yyvsp[0].expr;
    +						  yyval.var->lval = yyvsp[0].expr->cval;
    +						  yyval.var->type = make_type(RPC_FC_LONG, &std_int);
    +						;
    +    break;}
    +case 126:
    +#line 441 "parser.y"
    +{ yyval.var = reg_const(yyvsp[0].var);
    +						  yyval.var->lval = 0; /* default for first enum entry */
    +						  yyval.var->type = make_type(RPC_FC_LONG, &std_int);
    +						;
    +    break;}
    +case 127:
    +#line 447 "parser.y"
    +{ yyval.type = get_typev(RPC_FC_ENUM16, yyvsp[-3].var, tsENUM);
    +						  yyval.type->fields = yyvsp[-1].var;
    +						  yyval.type->defined = TRUE;
    +						  if(in_typelib)
    +						      add_enum(yyval.type);
    +						;
    +    break;}
    +case 129:
    +#line 456 "parser.y"
    +{ LINK(yyvsp[0].expr, yyvsp[-2].expr); yyval.expr = yyvsp[0].expr; ;
    +    break;}
    +case 130:
    +#line 469 "parser.y"
    +{ yyval.expr = make_expr(EXPR_VOID); ;
    +    break;}
    +case 132:
    +#line 473 "parser.y"
    +{ yyval.expr = make_exprl(EXPR_NUM, yyvsp[0].num); ;
    +    break;}
    +case 133:
    +#line 474 "parser.y"
    +{ yyval.expr = make_exprl(EXPR_HEXNUM, yyvsp[0].num); ;
    +    break;}
    +case 134:
    +#line 475 "parser.y"
    +{ yyval.expr = make_exprs(EXPR_IDENTIFIER, yyvsp[0].str); ;
    +    break;}
    +case 135:
    +#line 476 "parser.y"
    +{ yyval.expr = make_expr3(EXPR_COND, yyvsp[-4].expr, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 136:
    +#line 477 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_OR , yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 137:
    +#line 478 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_AND, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 138:
    +#line 479 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_ADD, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 139:
    +#line 480 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_SUB, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 140:
    +#line 481 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_MUL, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 141:
    +#line 482 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_DIV, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 142:
    +#line 483 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_SHL, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 143:
    +#line 484 "parser.y"
    +{ yyval.expr = make_expr2(EXPR_SHR, yyvsp[-2].expr, yyvsp[0].expr); ;
    +    break;}
    +case 144:
    +#line 485 "parser.y"
    +{ yyval.expr = make_expr1(EXPR_NOT, yyvsp[0].expr); ;
    +    break;}
    +case 145:
    +#line 486 "parser.y"
    +{ yyval.expr = make_expr1(EXPR_NEG, yyvsp[0].expr); ;
    +    break;}
    +case 146:
    +#line 487 "parser.y"
    +{ yyval.expr = make_expr1(EXPR_PPTR, yyvsp[0].expr); ;
    +    break;}
    +case 147:
    +#line 488 "parser.y"
    +{ yyval.expr = make_exprt(EXPR_CAST, yyvsp[-2].tref, yyvsp[0].expr); ;
    +    break;}
    +case 148:
    +#line 489 "parser.y"
    +{ yyval.expr = make_exprt(EXPR_SIZEOF, yyvsp[-1].tref, NULL); ;
    +    break;}
    +case 149:
    +#line 490 "parser.y"
    +{ yyval.expr = yyvsp[-1].expr; ;
    +    break;}
    +case 151:
    +#line 494 "parser.y"
    +{ LINK(yyvsp[0].expr, yyvsp[-2].expr); yyval.expr = yyvsp[0].expr; ;
    +    break;}
    +case 152:
    +#line 497 "parser.y"
    +{ yyval.expr = yyvsp[0].expr;
    +						  if (!yyval.expr->is_const)
    +						      yyerror("expression is not constant\n");
    +						;
    +    break;}
    +case 153:
    +#line 503 "parser.y"
    +{ yyval.var = yyvsp[0].var;
    +						  set_type(yyval.var, yyvsp[-1].tref, NULL);
    +						;
    +    break;}
    +case 154:
    +#line 508 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 155:
    +#line 509 "parser.y"
    +{ if (yyvsp[0].var) { LINK(yyvsp[0].var, yyvsp[-1].var); yyval.var = yyvsp[0].var; }
    +						  else { yyval.var = yyvsp[-1].var; }
    +						;
    +    break;}
    +case 156:
    +#line 514 "parser.y"
    +{ yyval.var = yyvsp[-1].var; ;
    +    break;}
    +case 157:
    +#line 515 "parser.y"
    +{ yyval.var = make_var(NULL); yyval.var->type = yyvsp[-1].type; yyval.var->attrs = yyvsp[-2].attr; ;
    +    break;}
    +case 158:
    +#line 516 "parser.y"
    +{ yyval.var = make_var(NULL); yyval.var->attrs = yyvsp[-1].attr; ;
    +    break;}
    +case 159:
    +#line 517 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 160:
    +#line 520 "parser.y"
    +{ yyval.var = yyvsp[-1].var; set_type(yyval.var, yyvsp[-2].tref, yyvsp[0].expr); yyval.var->attrs = yyvsp[-3].attr; ;
    +    break;}
    +case 161:
    +#line 525 "parser.y"
    +{ set_type(yyvsp[-3].var, yyvsp[-5].tref, NULL);
    +						  yyvsp[-3].var->attrs = yyvsp[-6].attr;
    +						  yyval.func = make_func(yyvsp[-3].var, yyvsp[-1].var);
    +						  if (is_attr(yyvsp[-3].var->attrs, ATTR_IN)) {
    +						    yyerror("Inapplicable attribute");
    +						  }
    +						;
    +    break;}
    +case 162:
    +#line 534 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 164:
    +#line 538 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 165:
    +#line 539 "parser.y"
    +{ yyval.var = make_var(yyvsp[0].str); ;
    +    break;}
    +case 166:
    +#line 540 "parser.y"
    +{ yyval.var = make_var(yyvsp[0].str); ;
    +    break;}
    +case 167:
    +#line 543 "parser.y"
    +{ yyval.var = make_var(yyvsp[0].str); ;
    +    break;}
    +case 168:
    +#line 545 "parser.y"
    +{ yyval.var = make_var(yyvsp[0].str); ;
    +    break;}
    +case 169:
    +#line 546 "parser.y"
    +{ yyval.var = make_var(yyvsp[0].str); ;
    +    break;}
    +case 170:
    +#line 547 "parser.y"
    +{ yyval.var = make_var(yyvsp[0].str); ;
    +    break;}
    +case 171:
    +#line 548 "parser.y"
    +{ yyval.var = make_var(yyvsp[0].str); ;
    +    break;}
    +case 172:
    +#line 551 "parser.y"
    +{ yyval.type = make_type(RPC_FC_BYTE, NULL); ;
    +    break;}
    +case 173:
    +#line 552 "parser.y"
    +{ yyval.type = make_type(RPC_FC_WCHAR, NULL); ;
    +    break;}
    +case 175:
    +#line 554 "parser.y"
    +{ yyval.type = yyvsp[0].type; yyval.type->sign = 1; ;
    +    break;}
    +case 176:
    +#line 555 "parser.y"
    +{ yyval.type = yyvsp[0].type; yyval.type->sign = -1;
    +						  switch (yyval.type->type) {
    +						  case RPC_FC_CHAR: break;
    +						  case RPC_FC_SMALL: yyval.type->type = RPC_FC_USMALL; break;
    +						  case RPC_FC_SHORT: yyval.type->type = RPC_FC_USHORT; break;
    +						  case RPC_FC_LONG:  yyval.type->type = RPC_FC_ULONG;  break;
    +						  case RPC_FC_HYPER:
    +						    if (!yyval.type->ref) { yyval.type->ref = &std_uhyper; yyval.type->sign = 0; }
    +						    break;
    +						  default: break;
    +						  }
    +						;
    +    break;}
    +case 177:
    +#line 567 "parser.y"
    +{ yyval.type = make_type(RPC_FC_FLOAT, NULL); ;
    +    break;}
    +case 178:
    +#line 568 "parser.y"
    +{ yyval.type = make_type(RPC_FC_DOUBLE, NULL); ;
    +    break;}
    +case 179:
    +#line 569 "parser.y"
    +{ yyval.type = make_type(RPC_FC_SMALL, &std_bool); ;
    +    break;}
    +case 180:
    +#line 570 "parser.y"
    +{ yyval.type = make_type(RPC_FC_ERROR_STATUS_T, NULL); ;
    +    break;}
    +case 181:
    +#line 571 "parser.y"
    +{ yyval.type = make_type(RPC_FC_IGNORE, NULL); ;
    +    break;}
    +case 184:
    +#line 578 "parser.y"
    +{ yyval.type = make_type(RPC_FC_LONG, &std_int); ;
    +    break;}
    +case 185:
    +#line 579 "parser.y"
    +{ yyval.type = make_type(RPC_FC_SMALL, NULL); ;
    +    break;}
    +case 186:
    +#line 580 "parser.y"
    +{ yyval.type = make_type(RPC_FC_SHORT, NULL); ;
    +    break;}
    +case 187:
    +#line 581 "parser.y"
    +{ yyval.type = make_type(RPC_FC_LONG, NULL); ;
    +    break;}
    +case 188:
    +#line 582 "parser.y"
    +{ yyval.type = make_type(RPC_FC_HYPER, NULL); ;
    +    break;}
    +case 189:
    +#line 583 "parser.y"
    +{ yyval.type = make_type(RPC_FC_HYPER, &std_int64); ;
    +    break;}
    +case 190:
    +#line 584 "parser.y"
    +{ yyval.type = make_type(RPC_FC_CHAR, NULL); ;
    +    break;}
    +case 191:
    +#line 587 "parser.y"
    +{ yyval.clas = make_class(yyvsp[0].str); ;
    +    break;}
    +case 192:
    +#line 588 "parser.y"
    +{ yyval.clas = make_class(yyvsp[0].str); ;
    +    break;}
    +case 193:
    +#line 591 "parser.y"
    +{ yyval.clas = yyvsp[0].clas;
    +						  yyval.clas->attrs = yyvsp[-1].attr;
    +                                                  if (!parse_only && do_header) write_coclass(yyval.clas);
    +						;
    +    break;}
    +case 194:
    +#line 597 "parser.y"
    +{ yyval.clas = yyvsp[-3].clas;
    +						  yyval.clas->ifaces = yyvsp[-1].ifref;
    +						;
    +    break;}
    +case 195:
    +#line 602 "parser.y"
    +{ yyval.ifref = NULL; ;
    +    break;}
    +case 196:
    +#line 603 "parser.y"
    +{ LINK(yyvsp[0].ifref, yyvsp[-1].ifref); yyval.ifref = yyvsp[0].ifref; ;
    +    break;}
    +case 197:
    +#line 607 "parser.y"
    +{ yyval.ifref = make_ifref(yyvsp[0].type); yyval.ifref->attrs = yyvsp[-1].attr; ;
    +    break;}
    +case 198:
    +#line 610 "parser.y"
    +{ yyval.type = get_type(0, yyvsp[0].str, 0); ;
    +    break;}
    +case 199:
    +#line 611 "parser.y"
    +{ yyval.type = get_type(0, yyvsp[0].str, 0); ;
    +    break;}
    +case 200:
    +#line 614 "parser.y"
    +{ yyval.type = yyvsp[0].type;
    +						  if (yyval.type->defined) yyerror("multiple definition error\n");
    +						  yyval.type->attrs = yyvsp[-1].attr;
    +						  yyval.type->attrs = make_attr(ATTR_DISPINTERFACE);
    +						  LINK(yyval.type->attrs, yyvsp[-1].attr);
    +						  yyval.type->ref = find_type("IDispatch", 0);
    +						  if (!yyval.type->ref) yyerror("IDispatch is undefined\n");
    +						  yyval.type->defined = TRUE;
    +						  if (!parse_only && do_header) write_forward(yyval.type);
    +						;
    +    break;}
    +case 201:
    +#line 626 "parser.y"
    +{ yyval.var = NULL; ;
    +    break;}
    +case 202:
    +#line 627 "parser.y"
    +{ LINK(yyvsp[-1].var, yyvsp[-2].var); yyval.var = yyvsp[-1].var; ;
    +    break;}
    +case 203:
    +#line 630 "parser.y"
    +{ yyval.func = NULL; ;
    +    break;}
    +case 204:
    +#line 631 "parser.y"
    +{ LINK(yyvsp[-1].func, yyvsp[-2].func); yyval.func = yyvsp[-1].func; ;
    +    break;}
    +case 205:
    +#line 637 "parser.y"
    +{ yyval.type = yyvsp[-4].type;
    +						  yyval.type->fields = yyvsp[-2].var;
    +						  yyval.type->funcs = yyvsp[-1].func;
    +						  if (!parse_only && do_header) write_dispinterface(yyval.type);
    +						;
    +    break;}
    +case 206:
    +#line 649 "parser.y"
    +{ yyval.type = NULL; ;
    +    break;}
    +case 207:
    +#line 650 "parser.y"
    +{ yyval.type = find_type2(yyvsp[0].str, 0); ;
    +    break;}
    +case 208:
    +#line 653 "parser.y"
    +{ yyval.type = get_type(RPC_FC_IP, yyvsp[0].str, 0); ;
    +    break;}
    +case 209:
    +#line 654 "parser.y"
    +{ yyval.type = get_type(RPC_FC_IP, yyvsp[0].str, 0); ;
    +    break;}
    +case 210:
    +#line 657 "parser.y"
    +{ yyval.type = yyvsp[0].type;
    +						  if (yyval.type->defined) yyerror("multiple definition error\n");
    +						  yyval.type->attrs = yyvsp[-1].attr;
    +						  yyval.type->defined = TRUE;
    +						  if (!parse_only && do_header) write_forward(yyval.type);
    +						;
    +    break;}
    +case 211:
    +#line 666 "parser.y"
    +{ yyval.type = yyvsp[-4].type;
    +						  yyval.type->ref = yyvsp[-3].type;
    +						  yyval.type->funcs = yyvsp[-1].func;
    +						  if (!parse_only && do_header) write_interface(yyval.type);
    +						;
    +    break;}
    +case 212:
    +#line 674 "parser.y"
    +{ yyval.type = yyvsp[-6].type;
    +						  yyval.type->ref = find_type2(yyvsp[-4].str, 0);
    +						  if (!yyval.type->ref) yyerror("base class %s not found in import\n", yyvsp[-4].str);
    +						  yyval.type->funcs = yyvsp[-1].func;
    +						  if (!parse_only && do_header) write_interface(yyval.type);
    +						;
    +    break;}
    +case 213:
    +#line 680 "parser.y"
    +{ yyval.type = yyvsp[0].type; ;
    +    break;}
    +case 214:
    +#line 684 "parser.y"
    +{ yyval.type = yyvsp[-1].type; if (!parse_only && do_header) write_forward(yyval.type); ;
    +    break;}
    +case 215:
    +#line 685 "parser.y"
    +{ yyval.type = yyvsp[-1].type; if (!parse_only && do_header) write_forward(yyval.type); ;
    +    break;}
    +case 216:
    +#line 688 "parser.y"
    +{ yyval.type = make_type(0, NULL); yyval.type->name = yyvsp[0].str; ;
    +    break;}
    +case 217:
    +#line 689 "parser.y"
    +{ yyval.type = make_type(0, NULL); yyval.type->name = yyvsp[0].str; ;
    +    break;}
    +case 218:
    +#line 692 "parser.y"
    +{ yyval.type = yyvsp[0].type;
    +						  yyval.type->attrs = yyvsp[-1].attr;
    +						;
    +    break;}
    +case 219:
    +#line 697 "parser.y"
    +{ yyval.type = yyvsp[-3].type;
    +						  yyval.type->funcs = yyvsp[-1].func;
    +						  /* FIXME: if (!parse_only && do_header) write_module($$); */
    +						;
    +    break;}
    +case 220:
    +#line 703 "parser.y"
    +{ yyval.var = yyvsp[0].var; yyval.var->ptr_level++; ;
    +    break;}
    +case 221:
    +#line 704 "parser.y"
    +{ yyval.var = yyvsp[0].var; /* FIXME */ ;
    +    break;}
    +case 224:
    +#line 709 "parser.y"
    +{ yyval.var = yyvsp[-1].var; ;
    +    break;}
    +case 226:
    +#line 714 "parser.y"
    +{ LINK(yyvsp[0].var, yyvsp[-2].var); yyval.var = yyvsp[0].var; ;
    +    break;}
    +case 227:
    +#line 718 "parser.y"
    +{ yyval.num = RPC_FC_RP; ;
    +    break;}
    +case 228:
    +#line 719 "parser.y"
    +{ yyval.num = RPC_FC_UP; ;
    +    break;}
    +case 229:
    +#line 722 "parser.y"
    +{ yyval.type = get_typev(RPC_FC_STRUCT, yyvsp[-3].var, tsSTRUCT);
    +						  /* overwrite RPC_FC_STRUCT with a more exact type */
    +						  yyval.type->type = get_struct_type( yyvsp[-1].var );
    +						  yyval.type->fields = yyvsp[-1].var;
    +						  yyval.type->defined = TRUE;
    +						  if(in_typelib)
    +						    add_struct(yyval.type);
    +						;
    +    break;}
    +case 230:
    +#line 732 "parser.y"
    +{ yyval.tref = make_tref(NULL, make_type(0, NULL)); ;
    +    break;}
    +case 231:
    +#line 733 "parser.y"
    +{ yyval.tref = make_tref(yyvsp[0].str, find_type(yyvsp[0].str, 0)); ;
    +    break;}
    +case 232:
    +#line 734 "parser.y"
    +{ yyval.tref = make_tref(NULL, yyvsp[0].type); ;
    +    break;}
    +case 233:
    +#line 735 "parser.y"
    +{ yyval.tref = uniq_tref(yyvsp[0].tref); yyval.tref->ref->is_const = TRUE; ;
    +    break;}
    +case 234:
    +#line 736 "parser.y"
    +{ yyval.tref = make_tref(NULL, yyvsp[0].type); ;
    +    break;}
    +case 235:
    +#line 737 "parser.y"
    +{ yyval.tref = make_tref(NULL, find_type2(yyvsp[0].str, tsENUM)); ;
    +    break;}
    +case 236:
    +#line 738 "parser.y"
    +{ yyval.tref = make_tref(NULL, yyvsp[0].type); ;
    +    break;}
    +case 237:
    +#line 739 "parser.y"
    +{ yyval.tref = make_tref(NULL, get_type(RPC_FC_STRUCT, yyvsp[0].str, tsSTRUCT)); ;
    +    break;}
    +case 238:
    +#line 740 "parser.y"
    +{ yyval.tref = make_tref(NULL, yyvsp[0].type); ;
    +    break;}
    +case 239:
    +#line 741 "parser.y"
    +{ yyval.tref = make_tref(NULL, find_type2(yyvsp[0].str, tsUNION)); ;
    +    break;}
    +case 240:
    +#line 744 "parser.y"
    +{ typeref_t *tref = uniq_tref(yyvsp[-1].tref); 
    +						  yyvsp[0].var->tname = tref->name;
    +						  tref->name = NULL;
    +						  yyval.type = type_ref(tref);
    +						  yyval.type->attrs = yyvsp[-2].attr;
    +						  if (!parse_only && do_header) write_typedef(yyval.type, yyvsp[0].var);
    +                                                  if (in_typelib && yyval.type->attrs)
    +                                                      add_typedef(yyval.type, yyvsp[0].var);
    +						  reg_types(yyval.type, yyvsp[0].var, 0);
    +						;
    +    break;}
    +case 241:
    +#line 756 "parser.y"
    +{ yyval.type = get_typev(RPC_FC_NON_ENCAPSULATED_UNION, yyvsp[-3].var, tsUNION);
    +						  yyval.type->fields = yyvsp[-1].var;
    +						  yyval.type->defined = TRUE;
    +						;
    +    break;}
    +case 242:
    +#line 762 "parser.y"
    +{ var_t *u = yyvsp[-3].var;
    +						  yyval.type = get_typev(RPC_FC_ENCAPSULATED_UNION, yyvsp[-8].var, tsUNION);
    +						  if (!u) u = make_var("tagged_union");
    +						  u->type = make_type(RPC_FC_NON_ENCAPSULATED_UNION, NULL);
    +						  u->type->fields = yyvsp[-1].var;
    +						  u->type->defined = TRUE;
    +						  LINK(u, yyvsp[-5].var); yyval.type->fields = u;
    +						  yyval.type->defined = TRUE;
    +						;
    +    break;}
    +case 243:
    +#line 774 "parser.y"
    +{ yyval.num = MAKELONG(yyvsp[0].num, 0); ;
    +    break;}
    +case 244:
    +#line 775 "parser.y"
    +{ yyval.num = MAKELONG(yyvsp[-2].num, yyvsp[0].num); ;
    +    break;}
    +}
    +   /* the action file gets copied in in place of this dollarsign */
    +#line 543 "/usr/share/bison.simple"
    +
    +  yyvsp -= yylen;
    +  yyssp -= yylen;
    +#ifdef YYLSP_NEEDED
    +  yylsp -= yylen;
    +#endif
    +
    +#if YYDEBUG != 0
    +  if (yydebug)
    +    {
    +      short *ssp1 = yyss - 1;
    +      fprintf (stderr, "state stack now");
    +      while (ssp1 != yyssp)
    +	fprintf (stderr, " %d", *++ssp1);
    +      fprintf (stderr, "\n");
    +    }
    +#endif
    +
    +  *++yyvsp = yyval;
    +
    +#ifdef YYLSP_NEEDED
    +  yylsp++;
    +  if (yylen == 0)
    +    {
    +      yylsp->first_line = yylloc.first_line;
    +      yylsp->first_column = yylloc.first_column;
    +      yylsp->last_line = (yylsp-1)->last_line;
    +      yylsp->last_column = (yylsp-1)->last_column;
    +      yylsp->text = 0;
    +    }
    +  else
    +    {
    +      yylsp->last_line = (yylsp+yylen-1)->last_line;
    +      yylsp->last_column = (yylsp+yylen-1)->last_column;
    +    }
    +#endif
    +
    +  /* Now "shift" the result of the reduction.
    +     Determine what state that goes to,
    +     based on the state we popped back to
    +     and the rule number reduced by.  */
    +
    +  yyn = yyr1[yyn];
    +
    +  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
    +  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    +    yystate = yytable[yystate];
    +  else
    +    yystate = yydefgoto[yyn - YYNTBASE];
    +
    +  goto yynewstate;
    +
    +yyerrlab:   /* here on detecting error */
    +
    +  if (! yyerrstatus)
    +    /* If not already recovering from an error, report this error.  */
    +    {
    +      ++yynerrs;
    +
    +#ifdef YYERROR_VERBOSE
    +      yyn = yypact[yystate];
    +
    +      if (yyn > YYFLAG && yyn < YYLAST)
    +	{
    +	  int size = 0;
    +	  char *msg;
    +	  int x, count;
    +
    +	  count = 0;
    +	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
    +	  for (x = (yyn < 0 ? -yyn : 0);
    +	       x < (sizeof(yytname) / sizeof(char *)); x++)
    +	    if (yycheck[x + yyn] == x)
    +	      size += strlen(yytname[x]) + 15, count++;
    +	  msg = (char *) malloc(size + 15);
    +	  if (msg != 0)
    +	    {
    +	      strcpy(msg, "parse error");
    +
    +	      if (count < 5)
    +		{
    +		  count = 0;
    +		  for (x = (yyn < 0 ? -yyn : 0);
    +		       x < (sizeof(yytname) / sizeof(char *)); x++)
    +		    if (yycheck[x + yyn] == x)
    +		      {
    +			strcat(msg, count == 0 ? ", expecting `" : " or `");
    +			strcat(msg, yytname[x]);
    +			strcat(msg, "'");
    +			count++;
    +		      }
    +		}
    +	      yyerror(msg);
    +	      free(msg);
    +	    }
    +	  else
    +	    yyerror ("parse error; also virtual memory exceeded");
    +	}
    +      else
    +#endif /* YYERROR_VERBOSE */
    +	yyerror("parse error");
    +    }
    +
    +  goto yyerrlab1;
    +yyerrlab1:   /* here on error raised explicitly by an action */
    +
    +  if (yyerrstatus == 3)
    +    {
    +      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
    +
    +      /* return failure if at end of input */
    +      if (yychar == YYEOF)
    +	YYABORT;
    +
    +#if YYDEBUG != 0
    +      if (yydebug)
    +	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
    +#endif
    +
    +      yychar = YYEMPTY;
    +    }
    +
    +  /* Else will try to reuse lookahead token
    +     after shifting the error token.  */
    +
    +  yyerrstatus = 3;		/* Each real token shifted decrements this */
    +
    +  goto yyerrhandle;
    +
    +yyerrdefault:  /* current state does not do anything special for the error token. */
    +
    +#if 0
    +  /* This is wrong; only states that explicitly want error tokens
    +     should shift them.  */
    +  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
    +  if (yyn) goto yydefault;
    +#endif
    +
    +yyerrpop:   /* pop the current state because it cannot handle the error token */
    +
    +  if (yyssp == yyss) YYABORT;
    +  yyvsp--;
    +  yystate = *--yyssp;
    +#ifdef YYLSP_NEEDED
    +  yylsp--;
    +#endif
    +
    +#if YYDEBUG != 0
    +  if (yydebug)
    +    {
    +      short *ssp1 = yyss - 1;
    +      fprintf (stderr, "Error: state stack now");
    +      while (ssp1 != yyssp)
    +	fprintf (stderr, " %d", *++ssp1);
    +      fprintf (stderr, "\n");
    +    }
    +#endif
    +
    +yyerrhandle:
    +
    +  yyn = yypact[yystate];
    +  if (yyn == YYFLAG)
    +    goto yyerrdefault;
    +
    +  yyn += YYTERROR;
    +  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
    +    goto yyerrdefault;
    +
    +  yyn = yytable[yyn];
    +  if (yyn < 0)
    +    {
    +      if (yyn == YYFLAG)
    +	goto yyerrpop;
    +      yyn = -yyn;
    +      goto yyreduce;
    +    }
    +  else if (yyn == 0)
    +    goto yyerrpop;
    +
    +  if (yyn == YYFINAL)
    +    YYACCEPT;
    +
    +#if YYDEBUG != 0
    +  if (yydebug)
    +    fprintf(stderr, "Shifting error token, ");
    +#endif
    +
    +  *++yyvsp = yylval;
    +#ifdef YYLSP_NEEDED
    +  *++yylsp = yylloc;
    +#endif
    +
    +  yystate = yyn;
    +  goto yynewstate;
    +
    + yyacceptlab:
    +  /* YYACCEPT comes here.  */
    +  if (yyfree_stacks)
    +    {
    +      free (yyss);
    +      free (yyvs);
    +#ifdef YYLSP_NEEDED
    +      free (yyls);
    +#endif
    +    }
    +  return 0;
    +
    + yyabortlab:
    +  /* YYABORT comes here.  */
    +  if (yyfree_stacks)
    +    {
    +      free (yyss);
    +      free (yyvs);
    +#ifdef YYLSP_NEEDED
    +      free (yyls);
    +#endif
    +    }
    +  return 1;
    +}
    +#line 778 "parser.y"
    +
    +
    +static attr_t *make_attr(enum attr_type type)
    +{
    +  attr_t *a = xmalloc(sizeof(attr_t));
    +  a->type = type;
    +  a->u.ival = 0;
    +  INIT_LINK(a);
    +  return a;
    +}
    +
    +static attr_t *make_attrv(enum attr_type type, unsigned long val)
    +{
    +  attr_t *a = xmalloc(sizeof(attr_t));
    +  a->type = type;
    +  a->u.ival = val;
    +  INIT_LINK(a);
    +  return a;
    +}
    +
    +static attr_t *make_attrp(enum attr_type type, void *val)
    +{
    +  attr_t *a = xmalloc(sizeof(attr_t));
    +  a->type = type;
    +  a->u.pval = val;
    +  INIT_LINK(a);
    +  return a;
    +}
    +
    +static expr_t *make_expr(enum expr_type type)
    +{
    +  expr_t *e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = NULL;
    +  e->u.lval = 0;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  return e;
    +}
    +
    +static expr_t *make_exprl(enum expr_type type, long val)
    +{
    +  expr_t *e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = NULL;
    +  e->u.lval = val;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for numeric constant */
    +  if (type == EXPR_NUM || type == EXPR_HEXNUM) {
    +    e->is_const = TRUE;
    +    e->cval = val;
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_exprs(enum expr_type type, char *val)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = NULL;
    +  e->u.sval = val;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for predefined constants */
    +  if (type == EXPR_IDENTIFIER) {
    +    var_t *c = find_const(val, 0);
    +    if (c) {
    +      e->u.sval = c->name;
    +      free(val);
    +      e->is_const = TRUE;
    +      e->cval = c->lval;
    +    }
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_exprt(enum expr_type type, typeref_t *tref, expr_t *expr)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr;
    +  e->u.tref = tref;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for cast of constant expression */
    +  if (type == EXPR_CAST && expr->is_const) {
    +    e->is_const = TRUE;
    +    e->cval = expr->cval;
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_expr1(enum expr_type type, expr_t *expr)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr;
    +  e->u.lval = 0;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for compile-time optimization */
    +  if (expr->is_const) {
    +    e->is_const = TRUE;
    +    switch (type) {
    +    case EXPR_NEG:
    +      e->cval = -expr->cval;
    +      break;
    +    case EXPR_NOT:
    +      e->cval = ~expr->cval;
    +      break;
    +    default:
    +      e->is_const = FALSE;
    +      break;
    +    }
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_expr2(enum expr_type type, expr_t *expr1, expr_t *expr2)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr1;
    +  e->u.ext = expr2;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for compile-time optimization */
    +  if (expr1->is_const && expr2->is_const) {
    +    e->is_const = TRUE;
    +    switch (type) {
    +    case EXPR_ADD:
    +      e->cval = expr1->cval + expr2->cval;
    +      break;
    +    case EXPR_SUB:
    +      e->cval = expr1->cval - expr2->cval;
    +      break;
    +    case EXPR_MUL:
    +      e->cval = expr1->cval * expr2->cval;
    +      break;
    +    case EXPR_DIV:
    +      e->cval = expr1->cval / expr2->cval;
    +      break;
    +    case EXPR_OR:
    +      e->cval = expr1->cval | expr2->cval;
    +      break;
    +    case EXPR_AND:
    +      e->cval = expr1->cval & expr2->cval;
    +      break;
    +    case EXPR_SHL:
    +      e->cval = expr1->cval << expr2->cval;
    +      break;
    +    case EXPR_SHR:
    +      e->cval = expr1->cval >> expr2->cval;
    +      break;
    +    default:
    +      e->is_const = FALSE;
    +      break;
    +    }
    +  }
    +  return e;
    +}
    +
    +static expr_t *make_expr3(enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3)
    +{
    +  expr_t *e;
    +  e = xmalloc(sizeof(expr_t));
    +  e->type = type;
    +  e->ref = expr1;
    +  e->u.ext = expr2;
    +  e->ext2 = expr3;
    +  e->is_const = FALSE;
    +  INIT_LINK(e);
    +  /* check for compile-time optimization */
    +  if (expr1->is_const && expr2->is_const && expr3->is_const) {
    +    e->is_const = TRUE;
    +    switch (type) {
    +    case EXPR_COND:
    +      e->cval = expr1->cval ? expr2->cval : expr3->cval;
    +      break;
    +    default:
    +      e->is_const = FALSE;
    +      break;
    +    }
    +  }
    +  return e;
    +}
    +
    +static type_t *make_type(unsigned char type, type_t *ref)
    +{
    +  type_t *t = xmalloc(sizeof(type_t));
    +  t->name = NULL;
    +  t->type = type;
    +  t->ref = ref;
    +  t->rname = NULL;
    +  t->attrs = NULL;
    +  t->funcs = NULL;
    +  t->fields = NULL;
    +  t->ignore = parse_only;
    +  t->is_const = FALSE;
    +  t->sign = 0;
    +  t->defined = FALSE;
    +  t->written = FALSE;
    +  t->typelib_idx = -1;
    +  INIT_LINK(t);
    +  return t;
    +}
    +
    +static typeref_t *make_tref(char *name, type_t *ref)
    +{
    +  typeref_t *t = xmalloc(sizeof(typeref_t));
    +  t->name = name;
    +  t->ref = ref;
    +  t->uniq = ref ? 0 : 1;
    +  return t;
    +}
    +
    +static typeref_t *uniq_tref(typeref_t *ref)
    +{
    +  typeref_t *t = ref;
    +  type_t *tp;
    +  if (t->uniq) return t;
    +  tp = make_type(0, t->ref);
    +  tp->name = t->name;
    +  t->name = NULL;
    +  t->ref = tp;
    +  t->uniq = 1;
    +  return t;
    +}
    +
    +static type_t *type_ref(typeref_t *ref)
    +{
    +  type_t *t = ref->ref;
    +  if (ref->name) free(ref->name);
    +  free(ref);
    +  return t;
    +}
    +
    +static void set_type(var_t *v, typeref_t *ref, expr_t *arr)
    +{
    +  v->type = ref->ref;
    +  v->tname = ref->name;
    +  ref->name = NULL;
    +  free(ref);
    +  v->array = arr;
    +}
    +
    +static ifref_t *make_ifref(type_t *iface)
    +{
    +  ifref_t *l = xmalloc(sizeof(ifref_t));
    +  l->iface = iface;
    +  l->attrs = NULL;
    +  INIT_LINK(l);
    +  return l;
    +}
    +
    +static var_t *make_var(char *name)
    +{
    +  var_t *v = xmalloc(sizeof(var_t));
    +  v->name = name;
    +  v->ptr_level = 0;
    +  v->type = NULL;
    +  v->tname = NULL;
    +  v->attrs = NULL;
    +  v->array = NULL;
    +  v->eval = NULL;
    +  v->lval = 0;
    +  INIT_LINK(v);
    +  return v;
    +}
    +
    +static func_t *make_func(var_t *def, var_t *args)
    +{
    +  func_t *f = xmalloc(sizeof(func_t));
    +  f->def = def;
    +  f->args = args;
    +  f->ignore = parse_only;
    +  f->idx = -1;
    +  INIT_LINK(f);
    +  return f;
    +}
    +
    +static class_t *make_class(char *name)
    +{
    +  class_t *c = xmalloc(sizeof(class_t));
    +  c->name = name;
    +  c->attrs = NULL;
    +  c->ifaces = NULL;
    +  INIT_LINK(c);
    +  return c;
    +}
    +
    +#define HASHMAX 64
    +
    +static int hash_ident(const char *name)
    +{
    +  const char *p = name;
    +  int sum = 0;
    +  /* a simple sum hash is probably good enough */
    +  while (*p) {
    +    sum += *p;
    +    p++;
    +  }
    +  return sum & (HASHMAX-1);
    +}
    +
    +/***** type repository *****/
    +
    +struct rtype {
    +  char *name;
    +  type_t *type;
    +  int t;
    +  struct rtype *next;
    +};
    +
    +struct rtype *type_hash[HASHMAX];
    +
    +static type_t *reg_type(type_t *type, char *name, int t)
    +{
    +  struct rtype *nt;
    +  int hash;
    +  if (!name) {
    +    yyerror("registering named type without name\n");
    +    return type;
    +  }
    +  hash = hash_ident(name);
    +  nt = xmalloc(sizeof(struct rtype));
    +  nt->name = name;
    +  nt->type = type;
    +  nt->t = t;
    +  nt->next = type_hash[hash];
    +  type_hash[hash] = nt;
    +  return type;
    +}
    +
    +/* determine pointer type from attrs */
    +static unsigned char get_pointer_type( type_t *type )
    +{
    +  int t;
    +  if (is_attr( type->attrs, ATTR_STRING ))
    +  {
    +    type_t *t = type;
    +    while( t->type == 0 && t->ref )
    +      t = t->ref;
    +    switch( t->type )
    +    {
    +    case RPC_FC_CHAR:
    +      return RPC_FC_C_CSTRING;
    +    case RPC_FC_WCHAR:
    +      return RPC_FC_C_WSTRING;
    +    }
    +  }
    +  t = get_attrv( type->attrs, ATTR_POINTERTYPE );
    +  if (t) return t;
    +  return RPC_FC_FP;
    +}
    +
    +static type_t *reg_types(type_t *type, var_t *names, int t)
    +{
    +  type_t *ptr = type;
    +  int ptrc = 0;
    +
    +  while (names) {
    +    var_t *next = NEXT_LINK(names);
    +    if (names->name) {
    +      type_t *cur = ptr;
    +      int cptr = names->ptr_level;
    +      if (cptr > ptrc) {
    +        while (cptr > ptrc) {
    +          int t = get_pointer_type( cur );
    +          cur = ptr = make_type(t, cur);
    +          ptrc++;
    +        }
    +      } else {
    +        while (cptr < ptrc) {
    +          cur = cur->ref;
    +          cptr++;
    +        }
    +      }
    +      reg_type(cur, names->name, t);
    +    }
    +    free(names);
    +    names = next;
    +  }
    +  return type;
    +}
    +
    +static type_t *find_type(char *name, int t)
    +{
    +  struct rtype *cur = type_hash[hash_ident(name)];
    +  while (cur && (cur->t != t || strcmp(cur->name, name)))
    +    cur = cur->next;
    +  if (!cur) {
    +    yyerror("type %s not found\n", name);
    +    return NULL;
    +  }
    +  return cur->type;
    +}
    +
    +static type_t *find_type2(char *name, int t)
    +{
    +  type_t *tp = find_type(name, t);
    +  free(name);
    +  return tp;
    +}
    +
    +int is_type(const char *name)
    +{
    +  struct rtype *cur = type_hash[hash_ident(name)];
    +  while (cur && (cur->t || strcmp(cur->name, name)))
    +    cur = cur->next;
    +  if (cur) return TRUE;
    +  return FALSE;
    +}
    +
    +static type_t *get_type(unsigned char type, char *name, int t)
    +{
    +  struct rtype *cur = NULL;
    +  type_t *tp;
    +  if (name) {
    +    cur = type_hash[hash_ident(name)];
    +    while (cur && (cur->t != t || strcmp(cur->name, name)))
    +      cur = cur->next;
    +  }
    +  if (cur) {
    +    free(name);
    +    return cur->type;
    +  }
    +  tp = make_type(type, NULL);
    +  tp->name = name;
    +  if (!name) return tp;
    +  return reg_type(tp, name, t);
    +}
    +
    +static type_t *get_typev(unsigned char type, var_t *name, int t)
    +{
    +  char *sname = NULL;
    +  if (name) {
    +    sname = name->name;
    +    free(name);
    +  }
    +  return get_type(type, sname, t);
    +}
    +
    +static int get_struct_type(var_t *field)
    +{
    +  int has_pointer = 0;
    +  int has_conformant_array = 0;
    +  int has_conformant_string = 0;
    +
    +  while (field)
    +  {
    +    type_t *t = field->type;
    +
    +    /* get the base type */
    +    while( (t->type == 0) && t->ref )
    +      t = t->ref;
    +
    +    switch (t->type)
    +    {
    +    /*
    +     * RPC_FC_BYTE, RPC_FC_STRUCT, etc
    +     *  Simple types don't effect the type of struct.
    +     *  A struct containing a simple struct is still a simple struct.
    +     *  So long as we can block copy the data, we return RPC_FC_STRUCT.
    +     */
    +    case 0: /* void pointer */
    +    case RPC_FC_BYTE:
    +    case RPC_FC_CHAR:
    +    case RPC_FC_SMALL:
    +    case RPC_FC_USMALL:
    +    case RPC_FC_WCHAR:
    +    case RPC_FC_SHORT:
    +    case RPC_FC_USHORT:
    +    case RPC_FC_LONG:
    +    case RPC_FC_ULONG:
    +    case RPC_FC_INT3264:
    +    case RPC_FC_UINT3264:
    +    case RPC_FC_HYPER:
    +    case RPC_FC_FLOAT:
    +    case RPC_FC_DOUBLE:
    +    case RPC_FC_STRUCT:
    +    case RPC_FC_ENUM16:
    +    case RPC_FC_ENUM32:
    +      break;
    +
    +    case RPC_FC_UP:
    +    case RPC_FC_FP:
    +      has_pointer = 1;
    +      break;
    +    case RPC_FC_CARRAY:
    +      has_conformant_array = 1;
    +      break;
    +    case RPC_FC_C_CSTRING:
    +    case RPC_FC_C_WSTRING:
    +      has_conformant_string = 1;
    +      break;
    +
    +    /*
    +     * Propagate member attributes
    +     *  a struct should be at least as complex as its member
    +     */
    +    case RPC_FC_CVSTRUCT:
    +      has_conformant_string = 1;
    +      has_pointer = 1;
    +      break;
    +
    +    case RPC_FC_CPSTRUCT:
    +      has_conformant_array = 1;
    +      has_pointer = 1;
    +      break;
    +
    +    case RPC_FC_CSTRUCT:
    +      has_conformant_array = 1;
    +      break;
    +
    +    case RPC_FC_PSTRUCT:
    +      has_pointer = 1;
    +      break;
    +
    +    default:
    +      fprintf(stderr,"Unknown struct member %s with type (0x%02x)\n",
    +              field->name, t->type);
    +      /* fallthru - treat it as complex */
    +
    +    /* as soon as we see one of these these members, it's bogus... */
    +    case RPC_FC_IP:
    +    case RPC_FC_ENCAPSULATED_UNION:
    +    case RPC_FC_NON_ENCAPSULATED_UNION:
    +    case RPC_FC_TRANSMIT_AS:
    +    case RPC_FC_REPRESENT_AS:
    +    case RPC_FC_PAD:
    +    case RPC_FC_EMBEDDED_COMPLEX:
    +    case RPC_FC_BOGUS_STRUCT:
    +      return RPC_FC_BOGUS_STRUCT;
    +    }
    +    field = NEXT_LINK(field);
    +  }
    +
    +  if( has_conformant_string && has_pointer )
    +    return RPC_FC_CVSTRUCT;
    +  if( has_conformant_array && has_pointer )
    +    return RPC_FC_CPSTRUCT;
    +  if( has_conformant_array )
    +    return RPC_FC_CSTRUCT;
    +  if( has_pointer )
    +    return RPC_FC_PSTRUCT;
    +  return RPC_FC_STRUCT;
    +}
    +
    +/***** constant repository *****/
    +
    +struct rconst {
    +  char *name;
    +  var_t *var;
    +  struct rconst *next;
    +};
    +
    +struct rconst *const_hash[HASHMAX];
    +
    +static var_t *reg_const(var_t *var)
    +{
    +  struct rconst *nc;
    +  int hash;
    +  if (!var->name) {
    +    yyerror("registering constant without name\n");
    +    return var;
    +  }
    +  hash = hash_ident(var->name);
    +  nc = xmalloc(sizeof(struct rconst));
    +  nc->name = var->name;
    +  nc->var = var;
    +  nc->next = const_hash[hash];
    +  const_hash[hash] = nc;
    +  return var;
    +}
    +
    +static var_t *find_const(char *name, int f)
    +{
    +  struct rconst *cur = const_hash[hash_ident(name)];
    +  while (cur && strcmp(cur->name, name))
    +    cur = cur->next;
    +  if (!cur) {
    +    if (f) yyerror("constant %s not found\n", name);
    +    return NULL;
    +  }
    +  return cur->var;
    +}
    diff --git a/reactos/tools/widl/y.tab.h b/reactos/tools/widl/y.tab.h
    new file mode 100644
    index 00000000000..4ae1eb30003
    --- /dev/null
    +++ b/reactos/tools/widl/y.tab.h
    @@ -0,0 +1,137 @@
    +typedef union {
    +	attr_t *attr;
    +	expr_t *expr;
    +	type_t *type;
    +	typeref_t *tref;
    +	var_t *var;
    +	func_t *func;
    +	ifref_t *ifref;
    +	class_t *clas;
    +	char *str;
    +	UUID *uuid;
    +	unsigned int num;
    +} YYSTYPE;
    +#define	aIDENTIFIER	257
    +#define	aKNOWNTYPE	258
    +#define	aNUM	259
    +#define	aHEXNUM	260
    +#define	aSTRING	261
    +#define	aUUID	262
    +#define	aEOF	263
    +#define	SHL	264
    +#define	SHR	265
    +#define	tAGGREGATABLE	266
    +#define	tALLOCATE	267
    +#define	tAPPOBJECT	268
    +#define	tARRAYS	269
    +#define	tASYNC	270
    +#define	tASYNCUUID	271
    +#define	tAUTOHANDLE	272
    +#define	tBINDABLE	273
    +#define	tBOOLEAN	274
    +#define	tBROADCAST	275
    +#define	tBYTE	276
    +#define	tBYTECOUNT	277
    +#define	tCALLAS	278
    +#define	tCALLBACK	279
    +#define	tCASE	280
    +#define	tCDECL	281
    +#define	tCHAR	282
    +#define	tCOCLASS	283
    +#define	tCODE	284
    +#define	tCOMMSTATUS	285
    +#define	tCONST	286
    +#define	tCONTEXTHANDLE	287
    +#define	tCONTEXTHANDLENOSERIALIZE	288
    +#define	tCONTEXTHANDLESERIALIZE	289
    +#define	tCONTROL	290
    +#define	tCPPQUOTE	291
    +#define	tDEFAULT	292
    +#define	tDEFAULTVALUE	293
    +#define	tDISPINTERFACE	294
    +#define	tDLLNAME	295
    +#define	tDOUBLE	296
    +#define	tDUAL	297
    +#define	tENDPOINT	298
    +#define	tENTRY	299
    +#define	tENUM	300
    +#define	tERRORSTATUST	301
    +#define	tEXPLICITHANDLE	302
    +#define	tEXTERN	303
    +#define	tFLOAT	304
    +#define	tHANDLE	305
    +#define	tHANDLET	306
    +#define	tHELPCONTEXT	307
    +#define	tHELPFILE	308
    +#define	tHELPSTRING	309
    +#define	tHELPSTRINGCONTEXT	310
    +#define	tHELPSTRINGDLL	311
    +#define	tHIDDEN	312
    +#define	tHYPER	313
    +#define	tID	314
    +#define	tIDEMPOTENT	315
    +#define	tIIDIS	316
    +#define	tIMPLICITHANDLE	317
    +#define	tIMPORT	318
    +#define	tIMPORTLIB	319
    +#define	tIN	320
    +#define	tINCLUDE	321
    +#define	tINLINE	322
    +#define	tINPUTSYNC	323
    +#define	tINT	324
    +#define	tINT64	325
    +#define	tINTERFACE	326
    +#define	tLENGTHIS	327
    +#define	tLIBRARY	328
    +#define	tLOCAL	329
    +#define	tLONG	330
    +#define	tMETHODS	331
    +#define	tMODULE	332
    +#define	tNONCREATABLE	333
    +#define	tOBJECT	334
    +#define	tODL	335
    +#define	tOLEAUTOMATION	336
    +#define	tOPTIONAL	337
    +#define	tOUT	338
    +#define	tPOINTERDEFAULT	339
    +#define	tPROPERTIES	340
    +#define	tPROPGET	341
    +#define	tPROPPUT	342
    +#define	tPROPPUTREF	343
    +#define	tPUBLIC	344
    +#define	tREADONLY	345
    +#define	tREF	346
    +#define	tRESTRICTED	347
    +#define	tRETVAL	348
    +#define	tSHORT	349
    +#define	tSIGNED	350
    +#define	tSIZEIS	351
    +#define	tSIZEOF	352
    +#define	tSMALL	353
    +#define	tSOURCE	354
    +#define	tSTDCALL	355
    +#define	tSTRING	356
    +#define	tSTRUCT	357
    +#define	tSWITCH	358
    +#define	tSWITCHIS	359
    +#define	tSWITCHTYPE	360
    +#define	tTRANSMITAS	361
    +#define	tTYPEDEF	362
    +#define	tUNION	363
    +#define	tUNIQUE	364
    +#define	tUNSIGNED	365
    +#define	tUUID	366
    +#define	tV1ENUM	367
    +#define	tVARARG	368
    +#define	tVERSION	369
    +#define	tVOID	370
    +#define	tWCHAR	371
    +#define	tWIREMARSHAL	372
    +#define	tPOINTERTYPE	373
    +#define	COND	374
    +#define	CAST	375
    +#define	PPTR	376
    +#define	NEG	377
    +
    +
    +extern YYSTYPE yylval;
    diff --git a/reactos/tools/winebuild/build.h b/reactos/tools/winebuild/build.h
    index c58ca840f20..c17c7208202 100644
    --- a/reactos/tools/winebuild/build.h
    +++ b/reactos/tools/winebuild/build.h
    @@ -207,4 +207,7 @@ extern const char *output_file_name;
     extern char **debug_channels;
     extern char **lib_path;
     
    +extern char *ld_command;
    +extern char *nm_command;
    +
     #endif  /* __WINE_BUILD_H */
    diff --git a/reactos/tools/winebuild/import.c b/reactos/tools/winebuild/import.c
    index e9d98dd3015..aa655375e95 100644
    --- a/reactos/tools/winebuild/import.c
    +++ b/reactos/tools/winebuild/import.c
    @@ -510,7 +510,7 @@ static int check_unused( const struct import* imp, const DLLSPEC *spec )
     static const char *ldcombine_files( char **argv )
     {
         int i, len = 0;
    -    char *cmd, *ldcmd;
    +    char *cmd;
         int fd, err;
     
         if (output_file_name && output_file_name[0])
    @@ -525,14 +525,12 @@ static const char *ldcombine_files( char **argv )
         close( fd );
         atexit( remove_ld_tmp_file );
     
    -    ldcmd = getenv("LD");
    -    if (!ldcmd) ldcmd = "ld";
         for (i = 0; argv[i]; i++) len += strlen(argv[i]) + 1;
    -    cmd = xmalloc( len + strlen(ld_tmp_file) + 8 + strlen(ldcmd)  );
    -    sprintf( cmd, "%s -r -o %s", ldcmd, ld_tmp_file );
    +    cmd = xmalloc( len + strlen(ld_tmp_file) + 8 + strlen(ld_command)  );
    +    sprintf( cmd, "%s -r -o %s", ld_command, ld_tmp_file );
         for (i = 0; argv[i]; i++) sprintf( cmd + strlen(cmd), " %s", argv[i] );
         err = system( cmd );
    -    if (err) fatal_error( "ld -r failed with status %d\n", err );
    +    if (err) fatal_error( "%s -r failed with status %d\n", ld_command, err );
         free( cmd );
         return ld_tmp_file;
     }
    @@ -543,7 +541,7 @@ void read_undef_symbols( char **argv )
         static const char name_prefix[] = __ASM_NAME("");
         static const int prefix_len = sizeof(name_prefix) - 1;
         FILE *f;
    -    char buffer[1024];
    +    char *cmd, buffer[1024];
         int err;
         const char *name;
     
    @@ -555,9 +553,10 @@ void read_undef_symbols( char **argv )
         if (argv[1]) name = ldcombine_files( argv );
         else name = argv[0];
     
    -    sprintf( buffer, "nm -u %s", name );
    -    if (!(f = popen( buffer, "r" )))
    -        fatal_error( "Cannot execute '%s'\n", buffer );
    +    cmd = xmalloc( strlen(nm_command) + strlen(name) + 5 );
    +    sprintf( cmd, "%s -u %s", nm_command, name );
    +    if (!(f = popen( cmd, "r" )))
    +        fatal_error( "Cannot execute '%s'\n", cmd );
     
         while (fgets( buffer, sizeof(buffer), f ))
         {
    @@ -570,7 +569,8 @@ void read_undef_symbols( char **argv )
             if (prefix_len && !strncmp( p, name_prefix, prefix_len )) p += prefix_len;
             add_undef_symbol( p );
         }
    -    if ((err = pclose( f ))) warning( "nm -u %s error %d\n", name, err );
    +    if ((err = pclose( f ))) warning( "%s failed with status %d\n", cmd, err );
    +    free( cmd );
     }
     
     static void remove_ignored_symbols(void)
    @@ -687,14 +687,15 @@ static int output_immediate_imports( FILE *outfile )
         /* thunks for imported functions */
     
         fprintf( outfile, "#ifndef __GNUC__\nstatic void __asm__dummy_import(void) {\n#endif\n\n" );
    -    pos = 20 * (nb_imm + 1);  /* offset of imports.data from start of imports */
    -    fprintf( outfile, "asm(\".data\\n\\t.align %d\\n\"\n", get_alignment(8) );
    +    pos = (sizeof(void *) + 2*sizeof(unsigned int) + sizeof(const char *) + sizeof(void *)) *
    +            (nb_imm + 1);  /* offset of imports.data from start of imports */
    +    fprintf( outfile, "asm(\".text\\n\\t.align %d\\n\"\n", get_alignment(8) );
         fprintf( outfile, "    \"" __ASM_NAME("%s") ":\\n\"\n", import_thunks);
     
         for (i = 0; i < nb_imports; i++)
         {
             if (dll_imports[i]->delay) continue;
    -        for (j = 0; j < dll_imports[i]->nb_imports; j++, pos += 4)
    +        for (j = 0; j < dll_imports[i]->nb_imports; j++, pos += sizeof(const char *))
             {
                 ORDDEF *odp = dll_imports[i]->imports[j];
                 const char *name = odp->name ? odp->name : odp->export_name;
    @@ -746,6 +747,10 @@ static int output_immediate_imports( FILE *outfile )
                 fprintf(outfile, "\t\"\\tlwz  %s, 0(%s)\\n\"\n",   ppc_reg[9], ppc_reg[1]);
                 fprintf(outfile, "\t\"\\taddi %s, %s, 0x4\\n\"\n", ppc_reg[1], ppc_reg[1]);
                 fprintf(outfile, "\t\"\\tbctr\\n");
    +#elif defined(__ALPHA__)
    +            fprintf( outfile, "\tlda $0,imports\\n\"\n" );
    +            fprintf( outfile, "\t\"\\tlda $0,%d($0)\\n\"\n", pos);
    +            fprintf( outfile, "\t\"\\tjmp $31,($0)\\n" );
     #else
     #error You need to define import thunks for your architecture!
     #endif
    @@ -949,6 +954,9 @@ static int output_delayed_imports( FILE *outfile, const DLLSPEC *spec )
     
         /* branch to ctr register. */
         fprintf( outfile, "    \"bctr\\n\"\n");
    +#elif defined(__ALPHA__)
    +    fprintf( outfile, "    \"\\tjsr $26,__wine_delay_load\\n\"\n" );
    +    fprintf( outfile, "    \"\\tjmp $31,($0)\\n\"\n" );
     #else
     #error You need to defined delayed import thunks for your architecture!
     #endif
    @@ -994,6 +1002,10 @@ static int output_delayed_imports( FILE *outfile, const DLLSPEC *spec )
                 fprintf( outfile, "    \"\\taddic %s, %s, 0x4\\n\"\n", ppc_reg[1], ppc_reg[1]);
                 fprintf( outfile, "    \"\\tb " __ASM_NAME("__wine_delay_load_asm") "\\n\"\n");
     #endif /* __APPLE__ */
    +#elif defined(__ALPHA__)
    +            fprintf( outfile, "    \"\\tlda $0,%d($31)\\n\"\n", j);
    +            fprintf( outfile, "    \"\\tldah $0,%d($0)\\n\"\n", idx);
    +            fprintf( outfile, "    \"\\tjmp $31,__wine_delay_load_asm\\n\"\n" );
     #else
     #error You need to defined delayed import thunks for your architecture!
     #endif
    @@ -1003,7 +1015,7 @@ static int output_delayed_imports( FILE *outfile, const DLLSPEC *spec )
         }
         output_function_size( outfile, delayed_import_loaders );
     
    -    fprintf( outfile, "\n    \".data\\n\\t.align %d\\n\"\n", get_alignment(8) );
    +    fprintf( outfile, "\n    \".align %d\\n\"\n", get_alignment(8) );
         fprintf( outfile, "    \"" __ASM_NAME("%s") ":\\n\"\n", delayed_import_thunks);
         pos = nb_delayed * 32;
         for (i = 0; i < nb_imports; i++)
    @@ -1061,6 +1073,10 @@ static int output_delayed_imports( FILE *outfile, const DLLSPEC *spec )
                 fprintf( outfile, "\t\"\\tlwz  %s, 0(%s)\\n\"\n",   ppc_reg[9], ppc_reg[1]);
                 fprintf( outfile, "\t\"\\taddi %s, %s, 0x4\\n\"\n", ppc_reg[1], ppc_reg[1]);
                 fprintf( outfile, "\t\"\\tbctr\\n\"");
    +#elif defined(__ALPHA__)
    +            fprintf( outfile, "\t\"lda $0,delay_imports\\n\"\n" );
    +            fprintf( outfile, "\t\"\\tlda $0,%d($0)\\n\"\n", pos);
    +            fprintf( outfile, "\t\"\\tjmp $31,($0)\\n\"" );
     #else
     #error You need to define delayed import thunks for your architecture!
     #endif
    @@ -1069,7 +1085,7 @@ static int output_delayed_imports( FILE *outfile, const DLLSPEC *spec )
             }
         }
         output_function_size( outfile, delayed_import_thunks );
    -    fprintf( outfile, "\".text\");\n" );
    +    fprintf( outfile, ");\n" );
         fprintf( outfile, "#ifndef __GNUC__\n" );
         fprintf( outfile, "}\n" );
         fprintf( outfile, "#endif\n" );
    diff --git a/reactos/tools/winebuild/main.c b/reactos/tools/winebuild/main.c
    index e397157d755..2071777f741 100644
    --- a/reactos/tools/winebuild/main.c
    +++ b/reactos/tools/winebuild/main.c
    @@ -26,6 +26,7 @@
     
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -45,7 +46,7 @@ int display_warnings = 0;
     int kill_at = 0;
     
     /* we only support relay debugging on i386 */
    -#if defined(__i386__) && !defined(NO_TRACE_MSGS)
    +#ifdef __i386__
     int debugging = 1;
     #else
     int debugging = 0;
    @@ -57,6 +58,9 @@ char **lib_path = NULL;
     char *input_file_name = NULL;
     const char *output_file_name = NULL;
     
    +char *ld_command = "ld";
    +char *nm_command = "nm";
    +
     static FILE *output_file;
     static const char *current_src_dir;
     static int nb_res_files;
    @@ -124,6 +128,11 @@ static void cleanup(void)
         if (output_file_name) unlink( output_file_name );
     }
     
    +/* clean things up when aborting on a signal */
    +static void exit_on_signal( int sig )
    +{
    +    exit(1);  /* this will call atexit functions */
    +}
     
     /*******************************************************************
      *         command-line option handling
    @@ -143,9 +152,11 @@ static const char usage_str[] =
     "    -I DIR                  Ignored for C flags compatibility\n"
     "    -k --kill-at            Kill stdcall decorations in generated .def files\n"
     "    -K FLAGS                Compiler flags (only -KPIC is supported)\n"
    +"       --ld-cmd=LD          Command to use for linking (default: ld)\n"
     "    -l --library=LIB        Import the specified library\n"
     "    -L --library-path=DIR   Look for imports libraries in DIR\n"
     "    -M --main-module=MODULE Set the name of the main module for a Win16 dll\n"
    +"       --nm-cmd=NM          Command to use to get undefined symbols (default: nm)\n"
     "    -N --dll-name=DLLNAME   Set the DLL name (default: from input file name)\n"
     "    -o --output=NAME        Set the output file name (default: stdout)\n"
     "    -r --res=RSRC.RES       Load resources from RSRC.RES\n"
    @@ -168,6 +179,8 @@ enum long_options_values
         LONG_OPT_DEF,
         LONG_OPT_EXE,
         LONG_OPT_DEBUG,
    +    LONG_OPT_LDCMD,
    +    LONG_OPT_NMCMD,
         LONG_OPT_RELAY16,
         LONG_OPT_RELAY32,
         LONG_OPT_SUBSYSTEM,
    @@ -183,6 +196,8 @@ static const struct option long_options[] =
         { "def",      1, 0, LONG_OPT_DEF },
         { "exe",      1, 0, LONG_OPT_EXE },
         { "debug",    0, 0, LONG_OPT_DEBUG },
    +    { "ld-cmd",   1, 0, LONG_OPT_LDCMD },
    +    { "nm-cmd",   1, 0, LONG_OPT_NMCMD },
         { "relay16",  0, 0, LONG_OPT_RELAY16 },
         { "relay32",  0, 0, LONG_OPT_RELAY32 },
         { "subsystem",1, 0, LONG_OPT_SUBSYSTEM },
    @@ -331,6 +346,12 @@ static char **parse_options( int argc, char **argv, DLLSPEC *spec )
             case LONG_OPT_DEBUG:
                 set_exec_mode( MODE_DEBUG );
                 break;
    +        case LONG_OPT_LDCMD:
    +            ld_command = xstrdup( optarg );
    +            break;
    +        case LONG_OPT_NMCMD:
    +            nm_command = xstrdup( optarg );
    +            break;
             case LONG_OPT_RELAY16:
                 set_exec_mode( MODE_RELAY16 );
                 break;
    @@ -407,6 +428,12 @@ int main(int argc, char **argv)
     {
         DLLSPEC *spec = alloc_dll_spec();
     
    +#ifdef SIGHUP
    +    signal( SIGHUP, exit_on_signal );
    +#endif
    +    signal( SIGTERM, exit_on_signal );
    +    signal( SIGINT, exit_on_signal );
    +
         output_file = stdout;
         argv = parse_options( argc, argv, spec );
     
    diff --git a/reactos/tools/winebuild/parser.c b/reactos/tools/winebuild/parser.c
    index b287dfacb4e..a998777d873 100644
    --- a/reactos/tools/winebuild/parser.c
    +++ b/reactos/tools/winebuild/parser.c
    @@ -788,6 +788,10 @@ static int parse_def_export( char *name, DLLSPEC *spec )
             remove_stdcall_decoration( odp->link_name );
             token = GetToken(1);
         }
    +    else
    +    {
    +      odp->link_name = xstrdup( name );
    +    }
     
         /* check for optional ordinal */
     
    diff --git a/reactos/tools/winebuild/spec16.c b/reactos/tools/winebuild/spec16.c
    index 271a4f9818e..aae4d8f5b97 100644
    --- a/reactos/tools/winebuild/spec16.c
    +++ b/reactos/tools/winebuild/spec16.c
    @@ -303,6 +303,7 @@ static int BuildModule16( FILE *outfile, int max_code_offset,
     }
     
     
    +#ifdef __i386__
     /*******************************************************************
      *         BuildCallFrom16Func
      *
    @@ -446,6 +447,7 @@ static void BuildCallFrom16Func( FILE *outfile, const char *profile, const char
             fprintf( outfile, "%s        args + %d", i? ",\n" : "", argsize );
         fprintf( outfile, " );\n}\n\n" );
     }
    +#endif
     
     
     /*******************************************************************
    diff --git a/reactos/tools/winebuild/spec32.c b/reactos/tools/winebuild/spec32.c
    index c72e91b7b32..222cdabe500 100644
    --- a/reactos/tools/winebuild/spec32.c
    +++ b/reactos/tools/winebuild/spec32.c
    @@ -263,7 +263,7 @@ static int output_exports( FILE *outfile, int nr_exports, DLLSPEC *spec )
                 unsigned int j, args, mask = 0;
                 const char *name;
     
    -            /* skip non-existent entry points */
    +            /* skip nonexistent entry points */
                 if (!odp) goto ignore;
                 /* skip non-functions */
                 if ((odp->type != TYPE_STDCALL) && (odp->type != TYPE_CDECL)) goto ignore;
    @@ -469,6 +469,19 @@ void output_dll_init( FILE *outfile, const char *constructor, const char *destru
             fprintf( outfile, "    \"\\t.section\\t\\\".text\\\"\\n\");\n" );
         }
     # endif /* __APPLE__ */
    +#elif defined(__ALPHA__)
    +    if (constructor)
    +    {
    +        fprintf( outfile, "asm(\"\\t.section\\t\\\".init\\\" ,\\\"ax\\\"\\n\"\n" );
    +        fprintf( outfile, "    \"\\tjsr $26," __ASM_NAME("%s") "\\n\"\n", constructor );
    +        fprintf( outfile, "    \"\\t.section\\t\\\".text\\\"\\n\");\n" );
    +    }
    +    if (destructor)
    +    {
    +        fprintf( outfile, "asm(\"\\t.section\\t\\\".fini\\\" ,\\\"ax\\\"\\n\"\n" );
    +        fprintf( outfile, "    \"\\tjsr $26," __ASM_NAME("%s") "\\n\"\n", destructor );
    +        fprintf( outfile, "    \"\\t.section\\t\\\".text\\\"\\n\");\n" );
    +    }
     #else
     #error You need to define the DLL constructor for your architecture
     #endif
    @@ -758,6 +771,8 @@ void BuildSpec32File( FILE *outfile, DLLSPEC *spec )
         fprintf( outfile, "  { 0x%04x,\n", IMAGE_FILE_MACHINE_I386 );  /* Machine */
     #elif defined(__powerpc__)
         fprintf( outfile, "  { 0x%04x,\n", IMAGE_FILE_MACHINE_POWERPC ); /* Machine */
    +#elif defined(__ALPHA__)
    +    fprintf( outfile, "  { 0x%04x,\n", IMAGE_FILE_MACHINE_ALPHA ); /* Machine */
     #else
         fprintf( outfile, "  { 0x%04x,\n", IMAGE_FILE_MACHINE_UNKNOWN );  /* Machine */
     #endif
    @@ -993,6 +1008,12 @@ void BuildDebugFile( FILE *outfile, const char *srcdir, char **argv )
         fprintf( outfile, "    \"\\tbl " __ASM_NAME("__wine_dbg_%s_fini") "\\n\"\n", prefix );
         fprintf( outfile, "    \"\\t.text\\n\");\n" );
     # endif
    +#elif defined(__ALPHA__)
    +    fprintf( outfile, "asm(\"\\t.section\\t\\\".init\\\" ,\\\"ax\\\"\\n\"\n" );
    +    fprintf( outfile, "    \"\\tjsr $26," __ASM_NAME("__wine_dbg_%s_init") "\\n\"\n", prefix );
    +    fprintf( outfile, "    \"\\t.section\\t\\\".fini\\\" ,\\\"ax\\\"\\n\"\n" );
    +    fprintf( outfile, "    \"\\tjsr $26," __ASM_NAME("__wine_dbg_%s_fini") "\\n\"\n", prefix );
    +    fprintf( outfile, "    \"\\t.section\\t\\\".text\\\"\\n\");\n" );
     #else
     #error You need to define the DLL constructor for your architecture
     #endif
    diff --git a/reactos/tools/winebuild/winebuild.man.in b/reactos/tools/winebuild/winebuild.man.in
    index de9a79255c1..4f47749fc9e 100644
    --- a/reactos/tools/winebuild/winebuild.man.in
    +++ b/reactos/tools/winebuild/winebuild.man.in
    @@ -115,6 +115,14 @@ generated .def file. Only meaningful in \fB--def\fR mode.
     .BI \-K\  flags
     Ignored for compatibility with the C compiler.
     .TP
    +.BI \--ld-cmd= ld-command
    +Specify the command to use to link the object files; the default is
    +\fBld\fR.
    +.TP
    +.BI \--nm-cmd= nm-command
    +Specify the command to use to get the list of undefined symbols; the
    +default is \fBnm\fR.
    +.TP
     .BI \-L,\ --library-path= directory
     Append the specified directory to the list of directories that are
     searched for import libraries.
    diff --git a/reactos/tools/wpp/Makefile b/reactos/tools/wpp/Makefile
    new file mode 100644
    index 00000000000..60cdb598585
    --- /dev/null
    +++ b/reactos/tools/wpp/Makefile
    @@ -0,0 +1,26 @@
    +WPP_BASE = tools$(SEP)wpp
    +
    +WPP_TARGET = \
    +	$(ROS_INTERMEDIATE)$(WPP_BASE)$(SEP)libwpp.a
    +
    +WPP_SOURCES = \
    +	$(WPP_BASE)$(SEP)lex.yy.c \
    +	$(WPP_BASE)$(SEP)preproc.c \
    +	$(WPP_BASE)$(SEP)wpp.c \
    +	$(WPP_BASE)$(SEP)wpp.tab.c
    +
    +WPP_OBJECTS = \
    +	$(WPP_SOURCES:.c=.o)
    +
    +WPP_HOST_CFLAGS = -D__USE_W32API -I$(WPP_BASE) -Iinclude -Iinclude/wine -g
    +
    +$(WPP_TARGET): $(WPP_OBJECTS)
    +	${host_ar} -rc $(WPP_TARGET) $(WPP_OBJECTS)
    +
    +$(WPP_OBJECTS): %.o : %.c
    +	${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
    +
    +.PHONY: wpp_clean
    +wpp_clean:
    +	-@$(rm) $(WPP_TARGET) $(WPP_OBJECTS) 2>$(NUL)
    +clean: wpp_clean
    diff --git a/reactos/tools/wpp/Makefile.in b/reactos/tools/wpp/Makefile.in
    new file mode 100644
    index 00000000000..09ffbe122d7
    --- /dev/null
    +++ b/reactos/tools/wpp/Makefile.in
    @@ -0,0 +1,37 @@
    +TOPSRCDIR = @top_srcdir@
    +TOPOBJDIR = ../..
    +SRCDIR    = @srcdir@
    +VPATH     = @srcdir@
    +LEXOPT    = -Cf #-w -b
    +YACCOPT   = #-v
    +MODULE    = libwpp.a
    +
    +C_SRCS = \
    +	preproc.c \
    +	wpp.c
    +
    +EXTRA_SRCS = ppy.y ppl.l
    +EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o
    +
    +all: $(MODULE)
    +
    +@MAKE_RULES@
    +
    +$(MODULE): $(OBJS)
    +	$(RM) $@
    +	$(AR) $@ $(OBJS)
    +	$(RANLIB) $@
    +
    +y.tab.c y.tab.h: ppy.y
    +	$(YACC) $(YACCOPT) -ppp -d -t $(SRCDIR)/ppy.y
    +
    +# hack to allow parallel make
    +y.tab.h: y.tab.c
    +y.tab.o: y.tab.h
    +
    +@LEX_OUTPUT_ROOT@.c: ppl.l
    +	$(LEX) $(LEXOPT) -d -Ppp -o$@ -8 $(SRCDIR)/ppl.l
    +
    +@LEX_OUTPUT_ROOT@.o: y.tab.h
    +
    +### Dependencies:
    diff --git a/reactos/tools/wpp/lex.yy.c b/reactos/tools/wpp/lex.yy.c
    new file mode 100644
    index 00000000000..779d55e2ee9
    --- /dev/null
    +++ b/reactos/tools/wpp/lex.yy.c
    @@ -0,0 +1,16936 @@
    +#define yy_create_buffer pp_create_buffer
    +#define yy_delete_buffer pp_delete_buffer
    +#define yy_scan_buffer pp_scan_buffer
    +#define yy_scan_string pp_scan_string
    +#define yy_scan_bytes pp_scan_bytes
    +#define yy_flex_debug pp_flex_debug
    +#define yy_init_buffer pp_init_buffer
    +#define yy_flush_buffer pp_flush_buffer
    +#define yy_load_buffer_state pp_load_buffer_state
    +#define yy_switch_to_buffer pp_switch_to_buffer
    +#define yyin ppin
    +#define yyleng ppleng
    +#define yylex pplex
    +#define yyout ppout
    +#define yyrestart pprestart
    +#define yytext pptext
    +#define yywrap ppwrap
    +
    +#line 20 "wpp/lex.yy.c"
    +/* A lexical scanner generated by flex */
    +
    +/* Scanner skeleton version:
    + * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
    + */
    +
    +#define FLEX_SCANNER
    +#define YY_FLEX_MAJOR_VERSION 2
    +#define YY_FLEX_MINOR_VERSION 5
    +
    +#include 
    +#include 
    +
    +/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
    +#ifdef c_plusplus
    +#ifndef __cplusplus
    +#define __cplusplus
    +#endif
    +#endif
    +
    +
    +#ifdef __cplusplus
    +
    +#include 
    +#ifndef _WIN32
    +#include 
    +#endif
    +
    +/* Use prototypes in function declarations. */
    +#define YY_USE_PROTOS
    +
    +/* The "const" storage-class-modifier is valid. */
    +#define YY_USE_CONST
    +
    +#else	/* ! __cplusplus */
    +
    +#if __STDC__
    +
    +#define YY_USE_PROTOS
    +#define YY_USE_CONST
    +
    +#endif	/* __STDC__ */
    +#endif	/* ! __cplusplus */
    +
    +#ifdef __TURBOC__
    + #pragma warn -rch
    + #pragma warn -use
    +#include 
    +#include 
    +#define YY_USE_CONST
    +#define YY_USE_PROTOS
    +#endif
    +
    +#ifdef YY_USE_CONST
    +#define yyconst const
    +#else
    +#define yyconst
    +#endif
    +
    +
    +#ifdef YY_USE_PROTOS
    +#define YY_PROTO(proto) proto
    +#else
    +#define YY_PROTO(proto) ()
    +#endif
    +
    +
    +/* Returned upon end-of-file. */
    +#define YY_NULL 0
    +
    +/* Promotes a possibly negative, possibly signed char to an unsigned
    + * integer for use as an array index.  If the signed char is negative,
    + * we want to instead treat it as an 8-bit unsigned char, hence the
    + * double cast.
    + */
    +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
    +
    +/* Enter a start condition.  This macro really ought to take a parameter,
    + * but we do it the disgusting crufty way forced on us by the ()-less
    + * definition of BEGIN.
    + */
    +#define BEGIN yy_start = 1 + 2 *
    +
    +/* Translate the current start state into a value that can be later handed
    + * to BEGIN to return to the state.  The YYSTATE alias is for lex
    + * compatibility.
    + */
    +#define YY_START ((yy_start - 1) / 2)
    +#define YYSTATE YY_START
    +
    +/* Action number for EOF rule of a given start state. */
    +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
    +
    +/* Special action meaning "start processing a new file". */
    +#define YY_NEW_FILE yyrestart( yyin )
    +
    +#define YY_END_OF_BUFFER_CHAR 0
    +
    +/* Size of default input buffer. */
    +#define YY_BUF_SIZE 16384
    +
    +typedef struct yy_buffer_state *YY_BUFFER_STATE;
    +
    +extern int yyleng;
    +extern FILE *yyin, *yyout;
    +
    +#define EOB_ACT_CONTINUE_SCAN 0
    +#define EOB_ACT_END_OF_FILE 1
    +#define EOB_ACT_LAST_MATCH 2
    +
    +/* The funky do-while in the following #define is used to turn the definition
    + * int a single C statement (which needs a semi-colon terminator).  This
    + * avoids problems with code like:
    + *
    + * 	if ( condition_holds )
    + *		yyless( 5 );
    + *	else
    + *		do_something_else();
    + *
    + * Prior to using the do-while the compiler would get upset at the
    + * "else" because it interpreted the "if" statement as being all
    + * done when it reached the ';' after the yyless() call.
    + */
    +
    +/* Return all but the first 'n' matched characters back to the input stream. */
    +
    +#define yyless(n) \
    +	do \
    +		{ \
    +		/* Undo effects of setting up yytext. */ \
    +		*yy_cp = yy_hold_char; \
    +		YY_RESTORE_YY_MORE_OFFSET \
    +		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
    +		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
    +		} \
    +	while ( 0 )
    +
    +#define unput(c) yyunput( c, yytext_ptr )
    +
    +/* The following is because we cannot portably get our hands on size_t
    + * (without autoconf's help, which isn't available because we want
    + * flex-generated scanners to compile on their own).
    + */
    +typedef unsigned int yy_size_t;
    +
    +
    +struct yy_buffer_state
    +	{
    +	FILE *yy_input_file;
    +
    +	char *yy_ch_buf;		/* input buffer */
    +	char *yy_buf_pos;		/* current position in input buffer */
    +
    +	/* Size of input buffer in bytes, not including room for EOB
    +	 * characters.
    +	 */
    +	yy_size_t yy_buf_size;
    +
    +	/* Number of characters read into yy_ch_buf, not including EOB
    +	 * characters.
    +	 */
    +	int yy_n_chars;
    +
    +	/* Whether we "own" the buffer - i.e., we know we created it,
    +	 * and can realloc() it to grow it, and should free() it to
    +	 * delete it.
    +	 */
    +	int yy_is_our_buffer;
    +
    +	/* Whether this is an "interactive" input source; if so, and
    +	 * if we're using stdio for input, then we want to use getc()
    +	 * instead of fread(), to make sure we stop fetching input after
    +	 * each newline.
    +	 */
    +	int yy_is_interactive;
    +
    +	/* Whether we're considered to be at the beginning of a line.
    +	 * If so, '^' rules will be active on the next match, otherwise
    +	 * not.
    +	 */
    +	int yy_at_bol;
    +
    +	/* Whether to try to fill the input buffer when we reach the
    +	 * end of it.
    +	 */
    +	int yy_fill_buffer;
    +
    +	int yy_buffer_status;
    +#define YY_BUFFER_NEW 0
    +#define YY_BUFFER_NORMAL 1
    +	/* When an EOF's been seen but there's still some text to process
    +	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
    +	 * shouldn't try reading from the input source any more.  We might
    +	 * still have a bunch of tokens to match, though, because of
    +	 * possible backing-up.
    +	 *
    +	 * When we actually see the EOF, we change the status to "new"
    +	 * (via yyrestart()), so that the user can continue scanning by
    +	 * just pointing yyin at a new input file.
    +	 */
    +#define YY_BUFFER_EOF_PENDING 2
    +	};
    +
    +static YY_BUFFER_STATE yy_current_buffer = 0;
    +
    +/* We provide macros for accessing buffer states in case in the
    + * future we want to put the buffer states in a more general
    + * "scanner state".
    + */
    +#define YY_CURRENT_BUFFER yy_current_buffer
    +
    +
    +/* yy_hold_char holds the character lost when yytext is formed. */
    +static char yy_hold_char;
    +
    +static int yy_n_chars;		/* number of characters read into yy_ch_buf */
    +
    +
    +int yyleng;
    +
    +/* Points to current character in buffer. */
    +static char *yy_c_buf_p = (char *) 0;
    +static int yy_init = 1;		/* whether we need to initialize */
    +static int yy_start = 0;	/* start state number */
    +
    +/* Flag which is used to allow yywrap()'s to do buffer switches
    + * instead of setting up a fresh yyin.  A bit of a hack ...
    + */
    +static int yy_did_buffer_switch_on_eof;
    +
    +void yyrestart YY_PROTO(( FILE *input_file ));
    +
    +void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
    +void yy_load_buffer_state YY_PROTO(( void ));
    +YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
    +void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
    +void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
    +void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
    +#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
    +
    +YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
    +YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
    +YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
    +
    +static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
    +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
    +static void yy_flex_free YY_PROTO(( void * ));
    +
    +#define yy_new_buffer yy_create_buffer
    +
    +#define yy_set_interactive(is_interactive) \
    +	{ \
    +	if ( ! yy_current_buffer ) \
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
    +	yy_current_buffer->yy_is_interactive = is_interactive; \
    +	}
    +
    +#define yy_set_bol(at_bol) \
    +	{ \
    +	if ( ! yy_current_buffer ) \
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
    +	yy_current_buffer->yy_at_bol = at_bol; \
    +	}
    +
    +#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
    +
    +
    +#define FLEX_DEBUG
    +typedef unsigned char YY_CHAR;
    +FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
    +typedef int yy_state_type;
    +
    +#define FLEX_DEBUG
    +extern char *yytext;
    +#define yytext_ptr yytext
    +static yyconst short yy_nxt[][256] =
    +    {
    +    {
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0
    +    },
    +
    +    {
    +       45,   46,   46,   46,   46,   46,   46,   46,   46,   47,
    +       48,   47,   47,   47,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   47,   46,   49,   50,   46,   46,   46,   51,
    +
    +       46,   46,   46,   46,   46,   46,   46,   52,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   53,   53,   53,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +       53,   46,   54,   46,   46,   53,   46,   53,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +       53,   53,   53,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46
    +    },
    +
    +    {
    +       45,   46,   46,   46,   46,   46,   46,   46,   46,   55,
    +       48,   55,   55,   55,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   55,   46,   49,   56,   46,   46,   46,   51,
    +       46,   46,   46,   46,   46,   46,   46,   52,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   53,   53,   53,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +       53,   46,   54,   46,   46,   53,   46,   53,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
    +       53,   53,   53,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46
    +    },
    +
    +    {
    +       45,   57,   57,   57,   57,   57,   57,   57,   57,   58,
    +       59,   58,   58,   60,   57,   57,   57,   57,   57,   57,
    +
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   58,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   61,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   62,   57,   57,   57,   57,   63,   63,   63,
    +       64,   65,   63,   63,   63,   66,   63,   63,   67,   63,
    +       63,   63,   68,   63,   63,   63,   63,   69,   63,   70,
    +
    +       63,   63,   63,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57
    +    },
    +
    +    {
    +       45,   57,   57,   57,   57,   57,   57,   57,   57,   58,
    +       59,   58,   58,   60,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   58,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   61,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   62,   57,   57,   57,   57,   63,   63,   63,
    +       64,   65,   63,   63,   63,   66,   63,   63,   67,   63,
    +       63,   63,   68,   63,   63,   63,   63,   69,   63,   70,
    +       63,   63,   63,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    +       57,   57,   57,   57,   57,   57
    +
    +    },
    +
    +    {
    +       45,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       72,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   73,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   74,   71,   71,   71,   71,   71,   71,   71,
    +
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71
    +    },
    +
    +    {
    +       45,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       72,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +
    +       71,   71,   71,   71,   71,   71,   71,   73,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   74,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +
    +       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    +       71,   71,   71,   71,   71,   71
    +    },
    +
    +    {
    +       45,   75,   75,   75,   75,   75,   75,   75,   75,   76,
    +       77,   76,   76,   76,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   76,   75,   78,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   79,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       80,   75,   75,   75,   75,   81,   81,   81,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +       81,   75,   82,   75,   75,   81,   75,   81,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +       81,   81,   81,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75
    +    },
    +
    +    {
    +       45,   75,   75,   75,   75,   75,   75,   75,   75,   76,
    +       77,   76,   76,   76,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   76,   75,   78,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   79,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       80,   75,   75,   75,   75,   81,   81,   81,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +       81,   75,   82,   75,   75,   81,   75,   81,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    +
    +       81,   81,   81,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75
    +    },
    +
    +    {
    +       45,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       84,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   85,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   86,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83
    +
    +    },
    +
    +    {
    +       45,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       84,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   85,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   86,   83,   83,   83,   83,   83,   83,   83,
    +
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83
    +    },
    +
    +    {
    +       45,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       84,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   88,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   89,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87
    +    },
    +
    +    {
    +       45,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       84,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   88,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   89,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87
    +    },
    +
    +    {
    +       45,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       84,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   91,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   89,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90
    +    },
    +
    +    {
    +       45,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       84,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +
    +       90,   90,   91,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   89,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    +       90,   90,   90,   90,   90,   90
    +
    +    },
    +
    +    {
    +       45,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       93,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   94,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92
    +    },
    +
    +    {
    +       45,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       93,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +
    +       92,   92,   94,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +
    +       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
    +       92,   92,   92,   92,   92,   92
    +    },
    +
    +    {
    +       45,   95,   95,   95,   95,   95,   95,   95,   95,   96,
    +       97,   96,   96,   96,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   96,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   98,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   99,   99,   99,   99,   99,
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +       99,   95,  100,   95,   95,   99,   95,   99,   99,   99,
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +       99,   99,   99,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95
    +    },
    +
    +    {
    +       45,   95,   95,   95,   95,   95,   95,   95,   95,   96,
    +       97,   96,   96,   96,   95,   95,   95,   95,   95,   95,
    +
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   96,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   98,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   99,   99,   99,   99,   99,
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +       99,   95,  100,   95,   95,   99,   95,   99,   99,   99,
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    +
    +       99,   99,   99,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    +       95,   95,   95,   95,   95,   95
    +    },
    +
    +    {
    +       45,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      102,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  103,  101,  101,  101,  101,  104,
    +      101,  101,  101,  101,  101,  101,  101,  105,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  106,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101
    +
    +    },
    +
    +    {
    +       45,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      102,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  103,  101,  101,  101,  101,  104,
    +      101,  101,  101,  101,  101,  101,  101,  105,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  106,  101,  101,  101,  101,  101,  101,  101,
    +
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
    +      101,  101,  101,  101,  101,  101
    +    },
    +
    +    {
    +       45,  107,  107,  107,  107,  107,  107,  107,  107,  108,
    +      109,  108,  108,  108,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  108,  107,  107,  107,  107,  107,  107,  107,
    +
    +      107,  110,  107,  107,  111,  107,  112,  113,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  107,  115,  107,  107,  114,  107,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107
    +    },
    +
    +    {
    +       45,  107,  107,  107,  107,  107,  107,  107,  107,  108,
    +      109,  108,  108,  108,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  108,  107,  107,  107,  107,  107,  107,  107,
    +      107,  110,  107,  107,  111,  107,  112,  113,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  107,  115,  107,  107,  114,  107,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
    +      107,  107,  107,  107,  107,  107
    +    },
    +
    +    {
    +       45,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      117,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  118,  119,  116,  116,  116,  120,
    +      116,  116,  116,  116,  116,  116,  116,  121,  122,  122,
    +      122,  122,  122,  122,  122,  122,  122,  122,  116,  116,
    +      116,  116,  116,  116,  116,  123,  123,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +      123,  116,  124,  116,  116,  125,  116,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +
    +      123,  123,  123,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116
    +    },
    +
    +    {
    +       45,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      117,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  118,  119,  116,  116,  116,  120,
    +      116,  116,  116,  116,  116,  116,  116,  121,  122,  122,
    +      122,  122,  122,  122,  122,  122,  122,  122,  116,  116,
    +
    +      116,  116,  116,  116,  116,  123,  123,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +      123,  116,  124,  116,  116,  125,  116,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
    +      123,  123,  123,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
    +      116,  116,  116,  116,  116,  116
    +
    +    },
    +
    +    {
    +       45,  126,  126,  126,  126,  126,  126,  126,  126,  127,
    +      128,  127,  127,  127,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  127,  126,  126,  126,  126,  126,  126,  126,
    +      129,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  130,  126,  126,  126,  126,  126,  126,  126,
    +
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126
    +    },
    +
    +    {
    +       45,  126,  126,  126,  126,  126,  126,  126,  126,  127,
    +      128,  127,  127,  127,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  127,  126,  126,  126,  126,  126,  126,  126,
    +
    +      129,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  130,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +
    +      126,  126,  126,  126,  126,  126,  126,  126,  126,  126,
    +      126,  126,  126,  126,  126,  126
    +    },
    +
    +    {
    +       45,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      132,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  133,  131,  131,  131,  131,  134,
    +      135,  136,  131,  131,  137,  131,  131,  138,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  139,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131
    +    },
    +
    +    {
    +       45,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      132,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  133,  131,  131,  131,  131,  134,
    +      135,  136,  131,  131,  137,  131,  131,  138,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  139,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
    +      131,  131,  131,  131,  131,  131
    +    },
    +
    +    {
    +       45,  140,  140,  140,  140,  140,  140,  140,  140,  141,
    +      142,  141,  141,  141,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  141,  140,  143,  144,  140,  140,  140,  145,
    +      140,  140,  140,  140,  140,  140,  140,  146,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  140,  148,  140,  140,  147,  140,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140
    +
    +    },
    +
    +    {
    +       45,  140,  140,  140,  140,  140,  140,  140,  140,  141,
    +      142,  141,  141,  141,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  141,  140,  143,  144,  140,  140,  140,  145,
    +      140,  140,  140,  140,  140,  140,  140,  146,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  140,  148,  140,  140,  147,  140,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140
    +    },
    +
    +    {
    +       45,  149,  149,  149,  149,  149,  149,  149,  149,  150,
    +      151,  150,  150,  150,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  150,  152,  153,  149,  149,  149,  154,  155,
    +
    +      149,  149,  149,  149,  149,  149,  149,  156,  157,  158,
    +      158,  158,  158,  158,  158,  158,  158,  158,  149,  149,
    +      159,  160,  161,  149,  149,  162,  162,  162,  162,  162,
    +      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +      162,  149,  163,  149,  149,  162,  149,  162,  162,  162,
    +      164,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +      162,  162,  162,  149,  165,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149
    +    },
    +
    +    {
    +       45,  149,  149,  149,  149,  149,  149,  149,  149,  150,
    +      151,  150,  150,  150,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  150,  152,  153,  149,  149,  149,  154,  155,
    +      149,  149,  149,  149,  149,  149,  149,  156,  157,  158,
    +      158,  158,  158,  158,  158,  158,  158,  158,  149,  149,
    +      159,  160,  161,  149,  149,  162,  162,  162,  162,  162,
    +      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +
    +      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +      162,  149,  163,  149,  149,  162,  149,  162,  162,  162,
    +      164,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +      162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
    +      162,  162,  162,  149,  165,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
    +      149,  149,  149,  149,  149,  149
    +    },
    +
    +    {
    +       45,  166,  166,  166,  166,  166,  166,  166,  166,  167,
    +      168,  167,  167,  167,  166,  166,  166,  166,  166,  166,
    +
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  167,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  169,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  170,  170,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +      170,  166,  171,  166,  166,  170,  166,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +
    +      170,  170,  170,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166
    +    },
    +
    +    {
    +       45,  166,  166,  166,  166,  166,  166,  166,  166,  167,
    +      168,  167,  167,  167,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  167,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  169,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +
    +      166,  166,  166,  166,  166,  170,  170,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +      170,  166,  171,  166,  166,  170,  166,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    +      170,  170,  170,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
    +      166,  166,  166,  166,  166,  166
    +
    +    },
    +
    +    {
    +       45,  172,  172,  172,  172,  172,  172,  172,  172,  173,
    +      174,  173,  173,  173,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  173,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  175,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  176,  172,  172,  172,  172,  172,  172,  172,
    +
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172
    +    },
    +
    +    {
    +       45,  172,  172,  172,  172,  172,  172,  172,  172,  173,
    +      174,  173,  173,  173,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  173,  172,  172,  172,  172,  172,  172,  172,
    +
    +      172,  172,  172,  172,  172,  172,  172,  175,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  176,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +
    +      172,  172,  172,  172,  172,  172,  172,  172,  172,  172,
    +      172,  172,  172,  172,  172,  172
    +    },
    +
    +    {
    +       45,   75,   75,   75,   75,   75,   75,   75,   75,   76,
    +       77,   76,   76,   76,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   76,   75,   78,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,  177,  177,
    +      177,  177,  177,  177,  177,  177,  177,  177,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   82,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75
    +    },
    +
    +    {
    +       45,   75,   75,   75,   75,   75,   75,   75,   75,   76,
    +       77,   76,   76,   76,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   76,   75,   78,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,  177,  177,
    +      177,  177,  177,  177,  177,  177,  177,  177,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   82,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    +       75,   75,   75,   75,   75,   75
    +    },
    +
    +    {
    +       45,  178,  178,  178,  178,  178,  178,  178,  178,  179,
    +      180,  179,  179,  179,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  179,  178,  178,  178,  178,  178,  178,  178,
    +      181,  181,  178,  178,  178,  178,  178,  182,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +
    +      178,  178,  178,  178,  178,  183,  183,  183,  183,  183,
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  178,  184,  178,  178,  183,  178,  183,  183,  183,
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  183,  183,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178
    +
    +    },
    +
    +    {
    +       45,  178,  178,  178,  178,  178,  178,  178,  178,  179,
    +      180,  179,  179,  179,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  179,  178,  178,  178,  178,  178,  178,  178,
    +      181,  181,  178,  178,  178,  178,  178,  182,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  183,  183,  183,  183,  183,
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  178,  184,  178,  178,  183,  178,  183,  183,  183,
    +
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    +      183,  183,  183,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    +      178,  178,  178,  178,  178,  178
    +    },
    +
    +    {
    +       45,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      186,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  187,  185,  185,  185,  185,
    +
    +      185,  185,  185,  185,  185,  185,  185,  188,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  189,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185
    +    },
    +
    +    {
    +       45,  185,  185,  185,  185,  185,  185,  185,  185,  190,
    +      186,  190,  190,  190,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  190,  185,  185,  191,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  188,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  189,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
    +      185,  185,  185,  185,  185,  185
    +    },
    +
    +    {
    +       45,   50,   50,   50,   50,   50,   50,   50,   50,  192,
    +      193,  192,  192,  192,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,  192,   50,  194,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,  195,  196,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,   50,   50,
    +       50,   50,   50,   50,   50,  195,  195,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +      195,   50,  195,   50,   50,  195,   50,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +
    +      195,  195,  195,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50
    +    },
    +
    +    {
    +       45,   50,   50,   50,   50,   50,   50,   50,   50,  192,
    +      193,  192,  192,  192,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,  192,   50,  194,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,  195,  196,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,   50,   50,
    +
    +       50,   50,   50,   50,   50,  195,  195,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +      195,   50,  195,   50,   50,  195,   50,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    +      195,  195,  195,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50
    +
    +    },
    +
    +    {
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
    +      -45,  -45,  -45,  -45,  -45,  -45
    +    },
    +
    +    {
    +       45,  197,  197,  197,  197,  197,  197,  197,  197,  -46,
    +      -46,  -46,  -46,  -46,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  -46,  197,  -46,  -46,  197,  197,  197,  -46,
    +
    +      197,  197,  197,  197,  197,  197,  197,  -46,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  197,  -46,  197,  197,  -46,  197,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
    +      -46,  -46,  -46,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197
    +    },
    +
    +    {
    +       45,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  198,
    +      -47,  198,  198,  198,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  198,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47
    +    },
    +
    +    {
    +       45,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48
    +    },
    +
    +    {
    +       45,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
    +      -49,  -49,  -49,  -49,  -49,  -49
    +
    +    },
    +
    +    {
    +       45,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50
    +    },
    +
    +    {
    +       45,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51
    +    },
    +
    +    {
    +       45,  199,  199,  199,  199,  199,  199,  199,  199,  -52,
    +      -52,  -52,  -52,  -52,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  -52,  199,  -52,  199,  199,  199,  199,  -52,
    +      199,  199,  200,  199,  199,  199,  199,  201,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  199,  -52,  199,  199,  -52,  199,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199
    +    },
    +
    +    {
    +       45,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  -53,  -53,  -53,  -53,  202,  -53,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +
    +      202,  202,  202,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53
    +    },
    +
    +    {
    +       45,  199,  199,  199,  199,  199,  199,  199,  199,  -54,
    +      203,  -54,  -54,  204,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  -54,  199,  -54,  199,  199,  199,  199,  -54,
    +      199,  199,  -54,  199,  199,  199,  199,  -54,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  199,  -54,  199,  199,  -54,  199,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199
    +
    +    },
    +
    +    {
    +       45,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  205,
    +      -55,  205,  205,  205,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  205,  -55,  -55,  206,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
    +      -55,  -55,  -55,  -55,  -55,  -55
    +    },
    +
    +    {
    +       45,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56
    +    },
    +
    +    {
    +       45,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
    +      -57,  -57,  -57,  -57,  -57,  -57
    +    },
    +
    +    {
    +       45,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  207,
    +      -58,  207,  207,  207,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  207,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  208,  208,  208,
    +      209,  210,  208,  208,  208,  211,  208,  208,  212,  208,
    +      208,  208,  213,  208,  208,  208,  208,  214,  208,  215,
    +
    +      208,  208,  208,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58
    +    },
    +
    +    {
    +       45,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
    +      -59,  -59,  -59,  -59,  -59,  -59
    +
    +    },
    +
    +    {
    +       45,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  207,
    +      216,  207,  207,  207,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  207,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  208,  208,  208,
    +
    +      209,  210,  208,  208,  208,  211,  208,  208,  212,  208,
    +      208,  208,  213,  208,  208,  208,  208,  214,  208,  215,
    +      208,  208,  208,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60
    +    },
    +
    +    {
    +       45,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +
    +      -61,  -61,  200,  -61,  -61,  -61,  -61,  201,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +
    +      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
    +      -61,  -61,  -61,  -61,  -61,  -61
    +    },
    +
    +    {
    +       45,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      217,  -62,  -62,  218,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62
    +    },
    +
    +    {
    +       45,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63
    +    },
    +
    +    {
    +       45,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  208,  208,  208,
    +      208,  219,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64
    +
    +    },
    +
    +    {
    +       45,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  220,  208,
    +      221,  208,  208,  208,  222,  208,  208,  208,  208,  208,
    +      208,  208,  208,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
    +      -65,  -65,  -65,  -65,  -65,  -65
    +    },
    +
    +    {
    +       45,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  208,  208,  208,
    +      223,  208,  224,  208,  208,  208,  208,  208,  208,  208,
    +      225,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66
    +    },
    +
    +    {
    +       45,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  208,  208,  208,
    +      208,  208,  208,  208,  208,  226,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
    +      -67,  -67,  -67,  -67,  -67,  -67
    +    },
    +
    +    {
    +       45,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  227,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68
    +    },
    +
    +    {
    +       45,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      228,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69
    +
    +    },
    +
    +    {
    +       45,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  229,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70
    +    },
    +
    +    {
    +       45,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      -71,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +
    +      230,  230,  230,  230,  230,  230,  230,  -71,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  -71,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230
    +    },
    +
    +    {
    +       45,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
    +      -72,  -72,  -72,  -72,  -72,  -72
    +    },
    +
    +    {
    +       45,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      232,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  200,  231,  231,  231,  231,  201,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  232,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    +      231,  231,  231,  231,  231,  231
    +    },
    +
    +    {
    +       45,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      233,  -74,  -74,  234,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74
    +
    +    },
    +
    +    {
    +       45,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75
    +    },
    +
    +    {
    +       45,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  235,
    +      -76,  235,  235,  235,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  235,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76
    +    },
    +
    +    {
    +       45,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
    +      -77,  -77,  -77,  -77,  -77,  -77
    +    },
    +
    +    {
    +       45,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
    +      -78,  -78,  -78,  -78,  -78,  -78
    +    },
    +
    +    {
    +       45,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  200,  -79,  -79,  -79,  -79,  201,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
    +      -79,  -79,  -79,  -79,  -79,  -79
    +
    +    },
    +
    +    {
    +       45,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
    +      -80,  -80,  -80,  -80,  -80,  -80
    +    },
    +
    +    {
    +       45,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  -81,  -81,  -81,  -81,  202,  -81,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +
    +      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
    +      -81,  -81,  -81,  -81,  -81,  -81
    +    },
    +
    +    {
    +       45,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      236,  -82,  -82,  237,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82
    +    },
    +
    +    {
    +       45,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      -83,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  -83,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  -83,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238
    +    },
    +
    +    {
    +       45,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84
    +
    +    },
    +
    +    {
    +       45,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
    +      -85,  -85,  -85,  -85,  -85,  -85
    +    },
    +
    +    {
    +       45,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      240,  239,  239,  241,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239
    +    },
    +
    +    {
    +       45,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      -87,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  -87,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  -87,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242
    +    },
    +
    +    {
    +       45,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88
    +    },
    +
    +    {
    +       45,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      -89,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    +      239,  239,  239,  239,  239,  239
    +
    +    },
    +
    +    {
    +       45,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      -90,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  -90,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  -90,  243,  243,  243,  243,  243,  243,  243,
    +
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243
    +    },
    +
    +    {
    +       45,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +
    +      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
    +      -91,  -91,  -91,  -91,  -91,  -91
    +    },
    +
    +    {
    +       45,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      -92,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  -92,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244
    +    },
    +
    +    {
    +       45,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93
    +    },
    +
    +    {
    +       45,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      -94,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  246,  245,  245,  245,  245,  247,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245
    +
    +    },
    +
    +    {
    +       45,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95
    +    },
    +
    +    {
    +       45,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  248,
    +      -96,  248,  248,  248,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  248,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96
    +    },
    +
    +    {
    +       45,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
    +      -97,  -97,  -97,  -97,  -97,  -97
    +    },
    +
    +    {
    +       45,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  200,  -98,  -98,  -98,  -98,  201,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98
    +    },
    +
    +    {
    +       45,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      249,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  -99,  -99,
    +
    +      -99,  -99,  -99,  -99,  -99,  250,  250,  250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250,  -99,  -99,  -99,  -99,  250,  -99,  250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250,  250,  250,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99
    +
    +    },
    +
    +    {
    +       45, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +      251, -100, -100,  252, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100
    +    },
    +
    +    {
    +       45,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +     -101,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253, -101,  253,  253,  253,  253, -101,
    +
    +      253,  253,  253,  253,  253,  253,  253, -101,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253, -101,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253
    +    },
    +
    +    {
    +       45, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102
    +    },
    +
    +    {
    +       45, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103
    +    },
    +
    +    {
    +       45, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104
    +
    +    },
    +
    +    {
    +       45,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  200,  254,  254,  254,  254,  201,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
    +      254,  254,  254,  254,  254,  254
    +    },
    +
    +    {
    +       45, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +      255, -106, -106,  256, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106
    +    },
    +
    +    {
    +       45, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107
    +    },
    +
    +    {
    +       45, -108, -108, -108, -108, -108, -108, -108, -108,  257,
    +     -108,  257,  257,  257, -108, -108, -108, -108, -108, -108,
    +
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108,  257, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108
    +    },
    +
    +    {
    +       45, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109
    +
    +    },
    +
    +    {
    +       45, -110, -110, -110, -110, -110, -110, -110, -110,  258,
    +     -110,  258,  258,  258, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110,  258, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110
    +    },
    +
    +    {
    +       45, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111
    +    },
    +
    +    {
    +       45, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112,  259, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112
    +    },
    +
    +    {
    +       45, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113,  200, -113, -113, -113, -113,  201, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113
    +    },
    +
    +    {
    +       45, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260, -114, -114,
    +
    +     -114, -114, -114, -114, -114,  260,  260,  260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260, -114, -114, -114, -114,  260, -114,  260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260,  260,  260, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +     -114, -114, -114, -114, -114, -114
    +
    +    },
    +
    +    {
    +       45, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +      261, -115, -115,  262, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115
    +    },
    +
    +    {
    +       45,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +     -116,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263, -116, -116,  263,  263,  263, -116,
    +
    +      263,  263,  263,  263,  263,  263,  263, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116,  263,  263,
    +      263,  263,  263,  263,  263, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116,  263, -116,  263,  263,  263,  263, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263
    +    },
    +
    +    {
    +       45, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117
    +    },
    +
    +    {
    +       45, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118
    +    },
    +
    +    {
    +       45, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119,  264, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119
    +
    +    },
    +
    +    {
    +       45, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120
    +    },
    +
    +    {
    +       45,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +     -121,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265, -121, -121,  265,  265,  265, -121,
    +
    +      265,  265,  200,  265,  265,  265,  265,  201,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265, -121,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265
    +    },
    +
    +    {
    +       45,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +     -122,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266, -122, -122,  266,  266,  266, -122,
    +      266,  266,  266,  266,  266,  266,  266, -122,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266, -122,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266
    +    },
    +
    +    {
    +       45, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267, -123, -123,
    +     -123, -123, -123, -123, -123,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267, -123, -123, -123, -123,  267, -123,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +
    +      267,  267,  267, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123
    +    },
    +
    +    {
    +       45, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +      268, -124, -124,  269, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124
    +
    +    },
    +
    +    {
    +       45,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +     -125,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263, -125, -125,  263,  263,  263, -125,
    +      263,  263,  263,  263,  263,  263,  263, -125,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  263,  263,
    +      263,  263,  263,  263,  263,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  263, -125,  263,  263,  270,  263,  267,  267,  267,
    +
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263
    +    },
    +
    +    {
    +       45, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126
    +    },
    +
    +    {
    +       45, -127, -127, -127, -127, -127, -127, -127, -127,  271,
    +      272,  271,  271,  271, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127,  271, -127, -127, -127, -127, -127, -127, -127,
    +      273, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127,  274, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127
    +    },
    +
    +    {
    +       45, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128
    +    },
    +
    +    {
    +       45, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129
    +
    +    },
    +
    +    {
    +       45, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +      275, -130, -130,  276, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130
    +    },
    +
    +    {
    +       45,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +     -131,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277, -131,  277,  277,  277,  277, -131,
    +
    +     -131, -131,  277,  277, -131,  277,  277, -131,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277, -131,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277
    +    },
    +
    +    {
    +       45, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132
    +    },
    +
    +    {
    +       45, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
    +     -133, -133, -133, -133, -133, -133
    +    },
    +
    +    {
    +       45, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
    +     -134, -134, -134, -134, -134, -134
    +
    +    },
    +
    +    {
    +       45, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
    +     -135, -135, -135, -135, -135, -135
    +    },
    +
    +    {
    +       45, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136
    +    },
    +
    +    {
    +       45, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
    +     -137, -137, -137, -137, -137, -137
    +    },
    +
    +    {
    +       45,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +     -138,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278, -138,  278,  278,  278,  278, -138,
    +     -138, -138,  279,  278, -138,  278,  278,  201,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278, -138,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278
    +    },
    +
    +    {
    +       45, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +      280, -139, -139,  281, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
    +     -139, -139, -139, -139, -139, -139
    +
    +    },
    +
    +    {
    +       45,  197,  197,  197,  197,  197,  197,  197,  197, -140,
    +     -140, -140, -140, -140,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197, -140,  197, -140, -140,  197,  197,  197, -140,
    +      197,  197,  197,  197,  197,  197,  197, -140,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197, -140, -140, -140, -140, -140,
    +     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
    +     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
    +     -140,  197, -140,  197,  197, -140,  197, -140, -140, -140,
    +
    +     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
    +     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
    +     -140, -140, -140,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197
    +    },
    +
    +    {
    +       45, -141, -141, -141, -141, -141, -141, -141, -141,  198,
    +     -141,  198,  198,  198, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141,  198, -141, -141, -141, -141, -141, -141, -141,
    +
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141
    +    },
    +
    +    {
    +       45, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
    +     -142, -142, -142, -142, -142, -142
    +    },
    +
    +    {
    +       45, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143
    +    },
    +
    +    {
    +       45, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
    +     -144, -144, -144, -144, -144, -144
    +
    +    },
    +
    +    {
    +       45, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
    +     -145, -145, -145, -145, -145, -145
    +    },
    +
    +    {
    +       45,  199,  199,  199,  199,  199,  199,  199,  199, -146,
    +     -146, -146, -146, -146,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199, -146,  199, -146,  199,  199,  199,  199, -146,
    +
    +      199,  199, -146,  199,  199,  199,  199, -146,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199, -146, -146, -146, -146, -146,
    +     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
    +     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
    +     -146,  199, -146,  199,  199, -146,  199, -146, -146, -146,
    +     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
    +     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
    +     -146, -146, -146,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199
    +    },
    +
    +    {
    +       45, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -147, -147,
    +     -147, -147, -147, -147, -147,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -147, -147, -147, -147,  202, -147,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
    +     -147, -147, -147, -147, -147, -147
    +    },
    +
    +    {
    +       45,  282,  282,  282,  282,  282,  282,  282,  282,  283,
    +      283,  283,  283,  284,  282,  282,  282,  282,  282,  282,
    +
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  283,  282,  283,  282,  282,  282,  282,  283,
    +      282,  282,  283,  282,  282,  282,  282,  283,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  282,  283,  282,  282,  283,  282,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +
    +      283,  283,  283,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
    +      282,  282,  282,  282,  282,  282
    +    },
    +
    +    {
    +       45, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
    +     -149, -149, -149, -149, -149, -149
    +
    +    },
    +
    +    {
    +       45, -150, -150, -150, -150, -150, -150, -150, -150,  285,
    +     -150,  285,  285,  285, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150,  285, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
    +     -150, -150, -150, -150, -150, -150
    +    },
    +
    +    {
    +       45, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +
    +     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
    +     -151, -151, -151, -151, -151, -151
    +    },
    +
    +    {
    +       45, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152,  286, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
    +     -152, -152, -152, -152, -152, -152
    +    },
    +
    +    {
    +       45, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153
    +    },
    +
    +    {
    +       45, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154,  287, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154
    +
    +    },
    +
    +    {
    +       45, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155
    +    },
    +
    +    {
    +       45, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +
    +     -156, -156,  200, -156, -156, -156, -156,  201, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156
    +    },
    +
    +    {
    +       45, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157,  288,  288,
    +      288,  288,  288,  288,  288,  288,  289,  289, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157,  290, -157, -157, -157,
    +
    +     -157, -157, -157, -157, -157,  291, -157, -157,  292, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157,  290, -157,
    +     -157, -157, -157, -157, -157, -157, -157,  291, -157, -157,
    +      292, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157
    +    },
    +
    +    {
    +       45, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158,  293,  293,
    +      293,  293,  293,  293,  293,  293,  293,  293, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158,  294, -158, -158, -158,
    +     -158, -158, -158, -158, -158,  295, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158,  294, -158,
    +     -158, -158, -158, -158, -158, -158, -158,  295, -158, -158,
    +
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158
    +    },
    +
    +    {
    +       45, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +
    +      296,  297, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159
    +
    +    },
    +
    +    {
    +       45, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160,  298, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160
    +    },
    +
    +    {
    +       45, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161,  299,  300, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161
    +    },
    +
    +    {
    +       45, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -162, -162,
    +     -162, -162, -162, -162, -162,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -162, -162, -162, -162,  202, -162,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162
    +    },
    +
    +    {
    +       45, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +      301, -163, -163,  302, -163, -163, -163, -163, -163, -163,
    +
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163
    +    },
    +
    +    {
    +       45, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -164, -164,
    +
    +     -164, -164, -164, -164, -164,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -164, -164, -164, -164,  202, -164,  202,  202,  202,
    +      202,  303,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164
    +
    +    },
    +
    +    {
    +       45, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165,  304, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165
    +    },
    +
    +    {
    +       45, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166
    +    },
    +
    +    {
    +       45, -167, -167, -167, -167, -167, -167, -167, -167,  305,
    +     -167,  305,  305,  305, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167,  305, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167
    +    },
    +
    +    {
    +       45, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168
    +    },
    +
    +    {
    +       45, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169,  200, -169, -169, -169, -169,  201, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169
    +
    +    },
    +
    +    {
    +       45, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306, -170, -170,
    +     -170, -170, -170, -170, -170,  306,  306,  306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306, -170, -170, -170, -170,  306, -170,  306,  306,  306,
    +
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306,  306,  306, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
    +     -170, -170, -170, -170, -170, -170
    +    },
    +
    +    {
    +       45, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +      307, -171, -171,  308, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +
    +     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
    +     -171, -171, -171, -171, -171, -171
    +    },
    +
    +    {
    +       45, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
    +     -172, -172, -172, -172, -172, -172
    +    },
    +
    +    {
    +       45, -173, -173, -173, -173, -173, -173, -173, -173,  309,
    +     -173,  309,  309,  309, -173, -173, -173, -173, -173, -173,
    +
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173,  309, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
    +     -173, -173, -173, -173, -173, -173
    +    },
    +
    +    {
    +       45, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174
    +
    +    },
    +
    +    {
    +       45, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175,  200, -175, -175, -175, -175,  201, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175
    +    },
    +
    +    {
    +       45, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +      310, -176, -176,  311, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176
    +    },
    +
    +    {
    +       45, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177,  312,  312,
    +      312,  312,  312,  312,  312,  312,  312,  312, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177
    +    },
    +
    +    {
    +       45, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178
    +    },
    +
    +    {
    +       45, -179, -179, -179, -179, -179, -179, -179, -179,  313,
    +     -179,  313,  313,  313, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179,  313, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179
    +
    +    },
    +
    +    {
    +       45, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180
    +    },
    +
    +    {
    +       45, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +
    +     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
    +     -181, -181, -181, -181, -181, -181
    +    },
    +
    +    {
    +       45, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182,  200, -182, -182, -182, -182,  201, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
    +     -182, -182, -182, -182, -182, -182
    +    },
    +
    +    {
    +       45, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314, -183, -183,
    +     -183, -183, -183, -183, -183,  314,  314,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +      314, -183, -183, -183, -183,  314, -183,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +
    +      314,  314,  314, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
    +     -183, -183, -183, -183, -183, -183
    +    },
    +
    +    {
    +       45,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      316,  315,  315,  317,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
    +      315,  315,  315,  315,  315,  315
    +
    +    },
    +
    +    {
    +       45,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +     -185,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318, -185,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318, -185,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318, -185,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318
    +    },
    +
    +    {
    +       45, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186
    +    },
    +
    +    {
    +       45, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
    +     -187, -187, -187, -187, -187, -187
    +    },
    +
    +    {
    +       45, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188,  200, -188, -188, -188, -188,  201, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
    +     -188, -188, -188, -188, -188, -188
    +    },
    +
    +    {
    +       45, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +      319, -189, -189,  320, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189
    +
    +    },
    +
    +    {
    +       45,  318,  318,  318,  318,  318,  318,  318,  318,  321,
    +     -190,  321,  321,  321,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  321,  318,  318,  206,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318, -190,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318, -190,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318
    +    },
    +
    +    {
    +       45, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191
    +    },
    +
    +    {
    +       45, -192, -192, -192, -192, -192, -192, -192, -192,  322,
    +     -192,  322,  322,  322, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192,  322, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
    +     -192, -192, -192, -192, -192, -192
    +    },
    +
    +    {
    +       45, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
    +     -193, -193, -193, -193, -193, -193
    +    },
    +
    +    {
    +       45, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194
    +
    +    },
    +
    +    {
    +       45, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323, -195, -195,
    +     -195, -195, -195, -195, -195,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323, -195,  323, -195, -195,  323, -195,  323,  323,  323,
    +
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195
    +    },
    +
    +    {
    +       45, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +
    +     -196, -196,  200, -196, -196, -196,  323,  324,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323, -196, -196,
    +     -196, -196, -196, -196, -196,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323, -196,  323, -196, -196,  323, -196,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +
    +     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
    +     -196, -196, -196, -196, -196, -196
    +    },
    +
    +    {
    +       45,  197,  197,  197,  197,  197,  197,  197,  197, -197,
    +     -197, -197, -197, -197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197, -197,  197, -197, -197,  197,  197,  197, -197,
    +      197,  197,  197,  197,  197,  197,  197, -197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197, -197, -197, -197, -197, -197,
    +     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
    +
    +     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
    +     -197,  197, -197,  197,  197, -197,  197, -197, -197, -197,
    +     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
    +     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
    +     -197, -197, -197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
    +      197,  197,  197,  197,  197,  197
    +    },
    +
    +    {
    +       45, -198, -198, -198, -198, -198, -198, -198, -198,  198,
    +     -198,  198,  198,  198, -198, -198, -198, -198, -198, -198,
    +
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198,  198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198
    +    },
    +
    +    {
    +       45,  199,  199,  199,  199,  199,  199,  199,  199, -199,
    +     -199, -199, -199, -199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199, -199,  199, -199,  199,  199,  199,  199, -199,
    +      199,  199, -199,  199,  199,  199,  199, -199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199, -199, -199, -199, -199, -199,
    +     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
    +     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
    +     -199,  199, -199,  199,  199, -199,  199, -199, -199, -199,
    +     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
    +     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
    +     -199, -199, -199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199
    +
    +    },
    +
    +    {
    +       45, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
    +     -200, -200, -200, -200, -200, -200
    +    },
    +
    +    {
    +       45,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +     -201,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325
    +    },
    +
    +    {
    +       45, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -202, -202,
    +     -202, -202, -202, -202, -202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -202, -202, -202, -202,  202, -202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
    +     -202, -202, -202, -202, -202, -202
    +    },
    +
    +    {
    +       45, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
    +     -203, -203, -203, -203, -203, -203
    +    },
    +
    +    {
    +       45, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +      203, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
    +     -204, -204, -204, -204, -204, -204
    +
    +    },
    +
    +    {
    +       45, -205, -205, -205, -205, -205, -205, -205, -205,  205,
    +     -205,  205,  205,  205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205,  205, -205, -205,  206, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
    +     -205, -205, -205, -205, -205, -205
    +    },
    +
    +    {
    +       45, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +
    +     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
    +     -206, -206, -206, -206, -206, -206
    +    },
    +
    +    {
    +       45, -207, -207, -207, -207, -207, -207, -207, -207,  207,
    +     -207,  207,  207,  207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207,  207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207,  208,  208,  208,
    +      209,  210,  208,  208,  208,  211,  208,  208,  212,  208,
    +      208,  208,  213,  208,  208,  208,  208,  214,  208,  215,
    +      208,  208,  208, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
    +     -207, -207, -207, -207, -207, -207
    +    },
    +
    +    {
    +       45, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
    +     -208, -208, -208, -208, -208, -208
    +    },
    +
    +    {
    +       45, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209,  208,  208,  208,
    +      208,  219,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
    +     -209, -209, -209, -209, -209, -209
    +
    +    },
    +
    +    {
    +       45, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  220,  208,
    +      221,  208,  208,  208,  222,  208,  208,  208,  208,  208,
    +      208,  208,  208, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
    +     -210, -210, -210, -210, -210, -210
    +    },
    +
    +    {
    +       45, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211,  208,  208,  208,
    +      223,  208,  224,  208,  208,  208,  208,  208,  208,  208,
    +      225,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +
    +     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
    +     -211, -211, -211, -211, -211, -211
    +    },
    +
    +    {
    +       45, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212,  208,  208,  208,
    +      208,  208,  208,  208,  208,  226,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
    +     -212, -212, -212, -212, -212, -212
    +    },
    +
    +    {
    +       45, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  227,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
    +     -213, -213, -213, -213, -213, -213
    +    },
    +
    +    {
    +       45, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      228,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
    +     -214, -214, -214, -214, -214, -214
    +
    +    },
    +
    +    {
    +       45, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215,  229,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
    +     -215, -215, -215, -215, -215, -215
    +    },
    +
    +    {
    +       45, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +
    +     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
    +     -216, -216, -216, -216, -216, -216
    +    },
    +
    +    {
    +       45, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
    +     -217, -217, -217, -217, -217, -217
    +    },
    +
    +    {
    +       45, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +      217, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
    +     -218, -218, -218, -218, -218, -218
    +    },
    +
    +    {
    +       45, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219,  208,  208,  208,
    +      208,  208,  326,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
    +     -219, -219, -219, -219, -219, -219
    +
    +    },
    +
    +    {
    +       45, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  327,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  328,  208,  208,  208,  208,
    +      208,  208,  208, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
    +     -220, -220, -220, -220, -220, -220
    +    },
    +
    +    {
    +       45, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221,  208,  208,  208,
    +      329,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +
    +     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
    +     -221, -221, -221, -221, -221, -221
    +    },
    +
    +    {
    +       45, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  330,  208,  208,  208,  208,  208,
    +      208,  208,  208, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
    +     -222, -222, -222, -222, -222, -222
    +    },
    +
    +    {
    +       45, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223,  208,  208,  208,
    +      208,  331,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
    +     -223, -223, -223, -223, -223, -223
    +    },
    +
    +    {
    +       45, -224, -224, -224, -224, -224, -224, -224, -224,  332,
    +     -224,  332,  332,  332, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224,  332, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224,  208,  208,  208,
    +      333,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      334,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
    +     -224, -224, -224, -224, -224, -224
    +
    +    },
    +
    +    {
    +       45, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225,  208,  208,  335,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
    +     -225, -225, -225, -225, -225, -225
    +    },
    +
    +    {
    +       45, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      336,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +
    +     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
    +     -226, -226, -226, -226, -226, -226
    +    },
    +
    +    {
    +       45, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227,  337,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
    +     -227, -227, -227, -227, -227, -227
    +    },
    +
    +    {
    +       45, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228,  208,  208,  208,
    +      338,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
    +     -228, -228, -228, -228, -228, -228
    +    },
    +
    +    {
    +       45, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  339,  208,  208,  208,  208,  208,
    +      208,  208,  208, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
    +     -229, -229, -229, -229, -229, -229
    +
    +    },
    +
    +    {
    +       45,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +     -230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230, -230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230, -230,  230,  230,  230,  230,  230,  230,  230,
    +
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    +      230,  230,  230,  230,  230,  230
    +    },
    +
    +    {
    +       45,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +     -231,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +
    +      340,  340, -231,  340,  340,  340,  340, -231,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340, -231,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340
    +    },
    +
    +    {
    +       45, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
    +     -232, -232, -232, -232, -232, -232
    +    },
    +
    +    {
    +       45, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
    +     -233, -233, -233, -233, -233, -233
    +    },
    +
    +    {
    +       45, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +      233, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
    +     -234, -234, -234, -234, -234, -234
    +
    +    },
    +
    +    {
    +       45, -235, -235, -235, -235, -235, -235, -235, -235,  235,
    +     -235,  235,  235,  235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235,  235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
    +     -235, -235, -235, -235, -235, -235
    +    },
    +
    +    {
    +       45, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +
    +     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
    +     -236, -236, -236, -236, -236, -236
    +    },
    +
    +    {
    +       45, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +      236, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
    +     -237, -237, -237, -237, -237, -237
    +    },
    +
    +    {
    +       45,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +     -238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238, -238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238, -238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
    +      238,  238,  238,  238,  238,  238
    +    },
    +
    +    {
    +       45, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
    +     -239, -239, -239, -239, -239, -239
    +
    +    },
    +
    +    {
    +       45, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
    +     -240, -240, -240, -240, -240, -240
    +    },
    +
    +    {
    +       45, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +      240, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +
    +     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
    +     -241, -241, -241, -241, -241, -241
    +    },
    +
    +    {
    +       45,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +     -242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242, -242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242, -242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
    +      242,  242,  242,  242,  242,  242
    +    },
    +
    +    {
    +       45,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +     -243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243, -243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243, -243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
    +      243,  243,  243,  243,  243,  243
    +    },
    +
    +    {
    +       45,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +     -244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244, -244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244,  244,  244,  244,  244,
    +      244,  244,  244,  244,  244,  244
    +
    +    },
    +
    +    {
    +       45,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +     -245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245, -245,  245,  245,  245,  245, -245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245
    +    },
    +
    +    {
    +       45,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +     -246,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +
    +      245,  245,  246,  245,  245,  245,  245,  247,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +
    +      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
    +      245,  245,  245,  245,  245,  245
    +    },
    +
    +    {
    +       45, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
    +     -247, -247, -247, -247, -247, -247
    +    },
    +
    +    {
    +       45, -248, -248, -248, -248, -248, -248, -248, -248,  248,
    +     -248,  248,  248,  248, -248, -248, -248, -248, -248, -248,
    +
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248,  248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
    +     -248, -248, -248, -248, -248, -248
    +    },
    +
    +    {
    +       45, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
    +     -249, -249, -249, -249, -249, -249
    +
    +    },
    +
    +    {
    +       45, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +      249, -250, -250, -250, -250, -250, -250, -250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250, -250, -250,
    +     -250, -250, -250, -250, -250,  250,  250,  250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250, -250, -250, -250, -250,  250, -250,  250,  250,  250,
    +
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
    +      250,  250,  250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
    +     -250, -250, -250, -250, -250, -250
    +    },
    +
    +    {
    +       45, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +
    +     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
    +     -251, -251, -251, -251, -251, -251
    +    },
    +
    +    {
    +       45, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +      251, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
    +     -252, -252, -252, -252, -252, -252
    +    },
    +
    +    {
    +       45,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +     -253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253, -253,  253,  253,  253,  253, -253,
    +      253,  253,  253,  253,  253,  253,  253, -253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253, -253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253,  253,  253,  253,  253,
    +      253,  253,  253,  253,  253,  253
    +    },
    +
    +    {
    +       45, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
    +     -254, -254, -254, -254, -254, -254
    +
    +    },
    +
    +    {
    +       45, -255, -255, -255, -255, -255, -255, -255, -255,  341,
    +     -255,  341,  341,  341, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255,  341, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
    +     -255, -255, -255, -255, -255, -255
    +    },
    +
    +    {
    +       45, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +      255, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +
    +     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
    +     -256, -256, -256, -256, -256, -256
    +    },
    +
    +    {
    +       45, -257, -257, -257, -257, -257, -257, -257, -257,  257,
    +     -257,  257,  257,  257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257,  257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
    +     -257, -257, -257, -257, -257, -257
    +    },
    +
    +    {
    +       45, -258, -258, -258, -258, -258, -258, -258, -258,  258,
    +     -258,  258,  258,  258, -258, -258, -258, -258, -258, -258,
    +
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258,  258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
    +     -258, -258, -258, -258, -258, -258
    +    },
    +
    +    {
    +       45, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259,  342, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
    +     -259, -259, -259, -259, -259, -259
    +
    +    },
    +
    +    {
    +       45, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260, -260, -260,
    +     -260, -260, -260, -260, -260,  260,  260,  260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260, -260, -260, -260, -260,  260, -260,  260,  260,  260,
    +
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260,  260,  260,  260,  260,  260,  260,  260,  260,  260,
    +      260,  260,  260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
    +     -260, -260, -260, -260, -260, -260
    +    },
    +
    +    {
    +       45, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +
    +     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
    +     -261, -261, -261, -261, -261, -261
    +    },
    +
    +    {
    +       45, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +      261, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
    +     -262, -262, -262, -262, -262, -262
    +    },
    +
    +    {
    +       45,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +     -263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263, -263, -263,  263,  263,  263, -263,
    +      263,  263,  263,  263,  263,  263,  263, -263, -263, -263,
    +     -263, -263, -263, -263, -263, -263, -263, -263,  263,  263,
    +      263,  263,  263,  263,  263, -263, -263, -263, -263, -263,
    +     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
    +     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
    +     -263,  263, -263,  263,  263,  263,  263, -263, -263, -263,
    +     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
    +     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
    +
    +     -263, -263, -263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263
    +    },
    +
    +    {
    +       45, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
    +     -264, -264, -264, -264, -264, -264
    +
    +    },
    +
    +    {
    +       45,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +     -265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265, -265, -265,  265,  265,  265, -265,
    +      265,  265, -265,  265,  265,  265,  265, -265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265, -265,  265,  265,  265,  265,  265,  265,  265,
    +
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
    +      265,  265,  265,  265,  265,  265
    +    },
    +
    +    {
    +       45,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +     -266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266, -266, -266,  266,  266,  266, -266,
    +
    +      266,  266,  266,  266,  266,  266,  266, -266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266, -266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +
    +      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    +      266,  266,  266,  266,  266,  266
    +    },
    +
    +    {
    +       45, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267, -267, -267,
    +     -267, -267, -267, -267, -267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267, -267, -267, -267, -267,  267, -267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
    +     -267, -267, -267, -267, -267, -267
    +    },
    +
    +    {
    +       45, -268, -268, -268, -268, -268, -268, -268, -268,  343,
    +     -268,  343,  343,  343, -268, -268, -268, -268, -268, -268,
    +
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268,  343, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
    +     -268, -268, -268, -268, -268, -268
    +    },
    +
    +    {
    +       45, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +      268, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
    +     -269, -269, -269, -269, -269, -269
    +
    +    },
    +
    +    {
    +       45,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +     -270,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263, -270, -270,  263,  263,  263, -270,
    +      263,  263,  263,  263,  263,  263,  263, -270,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  263,  263,
    +      263,  263,  263,  263,  263,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  263, -270,  263,  263,  270,  263,  267,  267,  267,
    +
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    +      267,  267,  267,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263,  263,  263,  263,  263,
    +      263,  263,  263,  263,  263,  263
    +    },
    +
    +    {
    +       45, -271, -271, -271, -271, -271, -271, -271, -271,  271,
    +      272,  271,  271,  271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271,  271, -271, -271, -271, -271, -271, -271, -271,
    +
    +      273, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271,  274, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +
    +     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
    +     -271, -271, -271, -271, -271, -271
    +    },
    +
    +    {
    +       45, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
    +     -272, -272, -272, -272, -272, -272
    +    },
    +
    +    {
    +       45, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
    +     -273, -273, -273, -273, -273, -273
    +    },
    +
    +    {
    +       45, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +      275, -274, -274,  276, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
    +     -274, -274, -274, -274, -274, -274
    +
    +    },
    +
    +    {
    +       45, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
    +     -275, -275, -275, -275, -275, -275
    +    },
    +
    +    {
    +       45, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +      275, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +
    +     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
    +     -276, -276, -276, -276, -276, -276
    +    },
    +
    +    {
    +       45,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +     -277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277, -277,  277,  277,  277,  277, -277,
    +     -277, -277,  277,  277, -277,  277,  277, -277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277, -277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
    +      277,  277,  277,  277,  277,  277
    +    },
    +
    +    {
    +       45,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +     -278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278, -278,  278,  278,  278,  278, -278,
    +     -278, -278, -278,  278, -278,  278,  278, -278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278, -278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
    +      278,  278,  278,  278,  278,  278
    +    },
    +
    +    {
    +       45, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
    +     -279, -279, -279, -279, -279, -279
    +
    +    },
    +
    +    {
    +       45, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
    +     -280, -280, -280, -280, -280, -280
    +    },
    +
    +    {
    +       45, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +      280, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +
    +     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
    +     -281, -281, -281, -281, -281, -281
    +    },
    +
    +    {
    +       45,  199,  199,  199,  199,  199,  199,  199,  199, -282,
    +     -282, -282, -282, -282,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199, -282,  199, -282,  199,  199,  199,  199, -282,
    +      199,  199, -282,  199,  199,  199,  199, -282,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199, -282, -282, -282, -282, -282,
    +     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
    +
    +     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
    +     -282,  199, -282,  199,  199, -282,  199, -282, -282, -282,
    +     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
    +     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
    +     -282, -282, -282,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    +      199,  199,  199,  199,  199,  199
    +    },
    +
    +    {
    +       45, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
    +     -283, -283, -283, -283, -283, -283
    +    },
    +
    +    {
    +       45,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
    +      283,  283,  283,  283,  283,  283
    +
    +    },
    +
    +    {
    +       45, -285, -285, -285, -285, -285, -285, -285, -285,  285,
    +     -285,  285,  285,  285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285,  285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
    +     -285, -285, -285, -285, -285, -285
    +    },
    +
    +    {
    +       45, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +
    +     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
    +     -286, -286, -286, -286, -286, -286
    +    },
    +
    +    {
    +       45, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
    +     -287, -287, -287, -287, -287, -287
    +    },
    +
    +    {
    +       45, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288,  288,  288,
    +      288,  288,  288,  288,  288,  288,  289,  289, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288,  290, -288, -288, -288,
    +     -288, -288, -288, -288, -288,  291, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288,  290, -288,
    +     -288, -288, -288, -288, -288, -288, -288,  291, -288, -288,
    +
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
    +     -288, -288, -288, -288, -288, -288
    +    },
    +
    +    {
    +       45, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289,  289,  289, -289, -289,
    +
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289,  344, -289, -289, -289,
    +     -289, -289, -289, -289, -289,  345, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289,  344, -289,
    +     -289, -289, -289, -289, -289, -289, -289,  345, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
    +     -289, -289, -289, -289, -289, -289
    +
    +    },
    +
    +    {
    +       45, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290,  346, -290, -290, -290,
    +     -290, -290, -290, -290, -290,  347, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +
    +     -290, -290, -290, -290, -290, -290, -290, -290,  346, -290,
    +     -290, -290, -290, -290, -290, -290, -290,  347, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
    +     -290, -290, -290, -290, -290, -290
    +    },
    +
    +    {
    +       45, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291,  348, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291,  348, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +
    +     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
    +     -291, -291, -291, -291, -291, -291
    +    },
    +
    +    {
    +       45, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292,  349,  349,
    +      349,  349,  349,  349,  349,  349,  349,  349, -292, -292,
    +     -292, -292, -292, -292, -292,  349,  349,  349,  349,  349,
    +      349, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292,  349,  349,  349,
    +      349,  349,  349, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
    +     -292, -292, -292, -292, -292, -292
    +    },
    +
    +    {
    +       45, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293,  293,  293,
    +      293,  293,  293,  293,  293,  293,  293,  293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293,  294, -293, -293, -293,
    +     -293, -293, -293, -293, -293,  295, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293,  294, -293,
    +     -293, -293, -293, -293, -293, -293, -293,  295, -293, -293,
    +
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
    +     -293, -293, -293, -293, -293, -293
    +    },
    +
    +    {
    +       45, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294,  350, -294, -294, -294,
    +     -294, -294, -294, -294, -294,  351, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294,  350, -294,
    +     -294, -294, -294, -294, -294, -294, -294,  351, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
    +     -294, -294, -294, -294, -294, -294
    +
    +    },
    +
    +    {
    +       45, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295,  352, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +
    +     -295, -295, -295, -295, -295, -295, -295, -295,  352, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
    +     -295, -295, -295, -295, -295, -295
    +    },
    +
    +    {
    +       45, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +
    +     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
    +     -296, -296, -296, -296, -296, -296
    +    },
    +
    +    {
    +       45, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
    +     -297, -297, -297, -297, -297, -297
    +    },
    +
    +    {
    +       45, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
    +     -298, -298, -298, -298, -298, -298
    +    },
    +
    +    {
    +       45, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
    +     -299, -299, -299, -299, -299, -299
    +
    +    },
    +
    +    {
    +       45, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
    +     -300, -300, -300, -300, -300, -300
    +    },
    +
    +    {
    +       45, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +
    +     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
    +     -301, -301, -301, -301, -301, -301
    +    },
    +
    +    {
    +       45, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +      301, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
    +     -302, -302, -302, -302, -302, -302
    +    },
    +
    +    {
    +       45, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -303, -303,
    +     -303, -303, -303, -303, -303,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -303, -303, -303, -303,  202, -303,  202,  202,  202,
    +      202,  202,  353,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +
    +      202,  202,  202, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
    +     -303, -303, -303, -303, -303, -303
    +    },
    +
    +    {
    +       45, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
    +     -304, -304, -304, -304, -304, -304
    +
    +    },
    +
    +    {
    +       45, -305, -305, -305, -305, -305, -305, -305, -305,  305,
    +     -305,  305,  305,  305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305,  305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
    +     -305, -305, -305, -305, -305, -305
    +    },
    +
    +    {
    +       45, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +
    +     -306, -306, -306, -306, -306, -306, -306, -306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306, -306, -306,
    +     -306, -306, -306, -306, -306,  306,  306,  306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306, -306, -306, -306, -306,  306, -306,  306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
    +      306,  306,  306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +
    +     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
    +     -306, -306, -306, -306, -306, -306
    +    },
    +
    +    {
    +       45, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
    +     -307, -307, -307, -307, -307, -307
    +    },
    +
    +    {
    +       45, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +      307, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
    +     -308, -308, -308, -308, -308, -308
    +    },
    +
    +    {
    +       45, -309, -309, -309, -309, -309, -309, -309, -309,  309,
    +     -309,  309,  309,  309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309,  309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
    +     -309, -309, -309, -309, -309, -309
    +
    +    },
    +
    +    {
    +       45, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
    +     -310, -310, -310, -310, -310, -310
    +    },
    +
    +    {
    +       45, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +      310, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +
    +     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
    +     -311, -311, -311, -311, -311, -311
    +    },
    +
    +    {
    +       45, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312,  312,  312,
    +      312,  312,  312,  312,  312,  312,  312,  312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
    +     -312, -312, -312, -312, -312, -312
    +    },
    +
    +    {
    +       45, -313, -313, -313, -313, -313, -313, -313, -313,  313,
    +     -313,  313,  313,  313, -313, -313, -313, -313, -313, -313,
    +
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313,  313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
    +     -313, -313, -313, -313, -313, -313
    +    },
    +
    +    {
    +       45, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314, -314, -314,
    +
    +     -314, -314, -314, -314, -314,  314,  314,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +      314, -314, -314, -314, -314,  314, -314,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
    +      314,  314,  314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
    +     -314, -314, -314, -314, -314, -314
    +
    +    },
    +
    +    {
    +       45, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
    +     -315, -315, -315, -315, -315, -315
    +    },
    +
    +    {
    +       45, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +
    +     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
    +     -316, -316, -316, -316, -316, -316
    +    },
    +
    +    {
    +       45, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +      316, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
    +     -317, -317, -317, -317, -317, -317
    +    },
    +
    +    {
    +       45,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +     -318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318, -318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318, -318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318, -318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318
    +    },
    +
    +    {
    +       45, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
    +     -319, -319, -319, -319, -319, -319
    +
    +    },
    +
    +    {
    +       45, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +      319, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
    +     -320, -320, -320, -320, -320, -320
    +    },
    +
    +    {
    +       45,  318,  318,  318,  318,  318,  318,  318,  318,  321,
    +     -321,  321,  321,  321,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  321,  318,  318,  206,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318, -321,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318, -321,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +
    +      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
    +      318,  318,  318,  318,  318,  318
    +    },
    +
    +    {
    +       45, -322, -322, -322, -322, -322, -322, -322, -322,  322,
    +     -322,  322,  322,  322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322,  322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
    +     -322, -322, -322, -322, -322, -322
    +    },
    +
    +    {
    +       45, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323, -323, -323,
    +     -323, -323, -323, -323, -323,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323, -323,  323, -323, -323,  323, -323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +      323,  323,  323,  323,  323,  323,  323,  323,  323,  323,
    +
    +      323,  323,  323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
    +     -323, -323, -323, -323, -323, -323
    +    },
    +
    +    {
    +       45,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +     -324,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  325,  325,
    +
    +      325,  325,  325,  325,  325,  354,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  325,  354,  325,  325,  354,  325,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  354,  354,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325
    +
    +    },
    +
    +    {
    +       45,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +     -325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325
    +    },
    +
    +    {
    +       45, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326,  208,  208,  208,
    +      208,  208,  208,  208,  208,  355,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +
    +     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
    +     -326, -326, -326, -326, -326, -326
    +    },
    +
    +    {
    +       45, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327,  208,  208,  208,
    +      208,  208,  356,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
    +     -327, -327, -327, -327, -327, -327
    +    },
    +
    +    {
    +       45, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328,  208,  208,  208,
    +      208,  357,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
    +     -328, -328, -328, -328, -328, -328
    +    },
    +
    +    {
    +       45, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329,  208,  208,  208,
    +      208,  208,  208,  208,  208,  358,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
    +     -329, -329, -329, -329, -329, -329
    +
    +    },
    +
    +    {
    +       45, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  359,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
    +     -330, -330, -330, -330, -330, -330
    +    },
    +
    +    {
    +       45, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      360,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +
    +     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
    +     -331, -331, -331, -331, -331, -331
    +    },
    +
    +    {
    +       45, -332, -332, -332, -332, -332, -332, -332, -332,  332,
    +     -332,  332,  332,  332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332,  332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
    +     -332, -332, -332, -332, -332, -332
    +    },
    +
    +    {
    +       45, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333,  208,  208,  208,
    +      208,  361,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
    +     -333, -333, -333, -333, -333, -333
    +    },
    +
    +    {
    +       45, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334,  208,  208,  208,
    +      362,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
    +     -334, -334, -334, -334, -334, -334
    +
    +    },
    +
    +    {
    +       45, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  363,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
    +     -335, -335, -335, -335, -335, -335
    +    },
    +
    +    {
    +       45, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336,  208,  208,  208,
    +      208,  364,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +
    +     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
    +     -336, -336, -336, -336, -336, -336
    +    },
    +
    +    {
    +       45, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337,  208,  208,  208,
    +      208,  208,  208,  365,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
    +     -337, -337, -337, -337, -337, -337
    +    },
    +
    +    {
    +       45, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338,  208,  208,  208,
    +      208,  366,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
    +     -338, -338, -338, -338, -338, -338
    +    },
    +
    +    {
    +       45, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      367,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
    +     -339, -339, -339, -339, -339, -339
    +
    +    },
    +
    +    {
    +       45,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +     -340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340, -340,  340,  340,  340,  340, -340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340, -340,  340,  340,  340,  340,  340,  340,  340,
    +
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    +      340,  340,  340,  340,  340,  340
    +    },
    +
    +    {
    +       45, -341, -341, -341, -341, -341, -341, -341, -341,  341,
    +     -341,  341,  341,  341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341,  341, -341, -341, -341, -341, -341, -341, -341,
    +
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +
    +     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
    +     -341, -341, -341, -341, -341, -341
    +    },
    +
    +    {
    +       45, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
    +     -342, -342, -342, -342, -342, -342
    +    },
    +
    +    {
    +       45, -343, -343, -343, -343, -343, -343, -343, -343,  343,
    +     -343,  343,  343,  343, -343, -343, -343, -343, -343, -343,
    +
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343,  343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
    +     -343, -343, -343, -343, -343, -343
    +    },
    +
    +    {
    +       45, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344,  368, -344, -344, -344,
    +     -344, -344, -344, -344, -344,  369, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344,  368, -344,
    +     -344, -344, -344, -344, -344, -344, -344,  369, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
    +     -344, -344, -344, -344, -344, -344
    +
    +    },
    +
    +    {
    +       45, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345,  370, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +
    +     -345, -345, -345, -345, -345, -345, -345, -345,  370, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
    +     -345, -345, -345, -345, -345, -345
    +    },
    +
    +    {
    +       45, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346,  371, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346,  371, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +
    +     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
    +     -346, -346, -346, -346, -346, -346
    +    },
    +
    +    {
    +       45, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347,  371, -347, -347, -347,
    +
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347,  371, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
    +     -347, -347, -347, -347, -347, -347
    +    },
    +
    +    {
    +       45, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348,  371, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348,  371, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
    +     -348, -348, -348, -348, -348, -348
    +    },
    +
    +    {
    +       45, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349,  349,  349,
    +      349,  349,  349,  349,  349,  349,  349,  349, -349, -349,
    +
    +     -349, -349, -349, -349, -349,  349,  349,  349,  349,  349,
    +      349, -349, -349, -349, -349, -349,  372, -349, -349, -349,
    +     -349, -349, -349, -349, -349,  373, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349,  349,  349,  349,
    +      349,  349,  349, -349, -349, -349, -349, -349,  372, -349,
    +     -349, -349, -349, -349, -349, -349, -349,  373, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
    +     -349, -349, -349, -349, -349, -349
    +
    +    },
    +
    +    {
    +       45, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350,  374, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350,  374, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
    +     -350, -350, -350, -350, -350, -350
    +    },
    +
    +    {
    +       45, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351,  374, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351,  374, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +
    +     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
    +     -351, -351, -351, -351, -351, -351
    +    },
    +
    +    {
    +       45, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352,  374, -352, -352, -352,
    +
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352,  374, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
    +     -352, -352, -352, -352, -352, -352
    +    },
    +
    +    {
    +       45, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -353, -353,
    +     -353, -353, -353, -353, -353,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -353, -353, -353, -353,  202, -353,  202,  202,  202,
    +      202,  202,  202,  202,  202,  375,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +
    +      202,  202,  202, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
    +     -353, -353, -353, -353, -353, -353
    +    },
    +
    +    {
    +       45,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +     -354,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  325,  325,
    +
    +      325,  325,  325,  325,  325,  354,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  325,  354,  325,  325,  354,  325,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
    +      354,  354,  354,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325,  325,  325,  325,  325,
    +      325,  325,  325,  325,  325,  325
    +
    +    },
    +
    +    {
    +       45, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      376,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
    +     -355, -355, -355, -355, -355, -355
    +    },
    +
    +    {
    +       45, -356, -356, -356, -356, -356, -356, -356, -356,  377,
    +     -356,  377,  377,  377, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356,  377, -356, -356, -356, -356, -356, -356, -356,
    +
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +
    +     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
    +     -356, -356, -356, -356, -356, -356
    +    },
    +
    +    {
    +       45, -357, -357, -357, -357, -357, -357, -357, -357,  378,
    +     -357,  378,  378,  378, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357,  378, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
    +     -357, -357, -357, -357, -357, -357
    +    },
    +
    +    {
    +       45, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358,  208,  208,  208,
    +      208,  208,  379,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
    +     -358, -358, -358, -358, -358, -358
    +    },
    +
    +    {
    +       45, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  380,  208,  208,  208,  208,  208,
    +      208,  208,  208, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
    +     -359, -359, -359, -359, -359, -359
    +
    +    },
    +
    +    {
    +       45, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  381,  208,  208,  208,
    +      208,  208,  208, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
    +     -360, -360, -360, -360, -360, -360
    +    },
    +
    +    {
    +       45, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361,  208,  208,  208,
    +      208,  208,  382,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +
    +     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
    +     -361, -361, -361, -361, -361, -361
    +    },
    +
    +    {
    +       45, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362,  208,  208,  208,
    +      208,  383,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
    +     -362, -362, -362, -362, -362, -362
    +    },
    +
    +    {
    +       45, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  384,  208,  208,
    +
    +      208,  208,  208, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
    +     -363, -363, -363, -363, -363, -363
    +    },
    +
    +    {
    +       45, -364, -364, -364, -364, -364, -364, -364, -364,  385,
    +     -364,  385,  385,  385, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364,  385, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
    +     -364, -364, -364, -364, -364, -364
    +
    +    },
    +
    +    {
    +       45, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  386,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
    +     -365, -365, -365, -365, -365, -365
    +    },
    +
    +    {
    +       45, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366,  208,  208,  208,
    +      208,  208,  387,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +
    +     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
    +     -366, -366, -366, -366, -366, -366
    +    },
    +
    +    {
    +       45, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367,  208,  208,  208,
    +      208,  208,  208,  208,  208,  388,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
    +     -367, -367, -367, -367, -367, -367
    +    },
    +
    +    {
    +       45, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368,  389, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368,  389, -368, -368,
    +
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
    +     -368, -368, -368, -368, -368, -368
    +    },
    +
    +    {
    +       45, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369,  389, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369,  389, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
    +     -369, -369, -369, -369, -369, -369
    +
    +    },
    +
    +    {
    +       45, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370,  389, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +
    +     -370, -370, -370, -370, -370, -370, -370, -370,  389, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
    +     -370, -370, -370, -370, -370, -370
    +    },
    +
    +    {
    +       45, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +
    +     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
    +     -371, -371, -371, -371, -371, -371
    +    },
    +
    +    {
    +       45, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372,  390, -372, -372, -372,
    +
    +     -372, -372, -372, -372, -372,  391, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372,  390, -372,
    +     -372, -372, -372, -372, -372, -372, -372,  391, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
    +     -372, -372, -372, -372, -372, -372
    +    },
    +
    +    {
    +       45, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373,  392, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373,  392, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
    +     -373, -373, -373, -373, -373, -373
    +    },
    +
    +    {
    +       45, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
    +     -374, -374, -374, -374, -374, -374
    +
    +    },
    +
    +    {
    +       45, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -375, -375,
    +     -375, -375, -375, -375, -375,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -375, -375, -375, -375,  202, -375,  202,  202,  202,
    +
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      393,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
    +     -375, -375, -375, -375, -375, -375
    +    },
    +
    +    {
    +       45, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376,  208,  208,  208,
    +      208,  394,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +
    +     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
    +     -376, -376, -376, -376, -376, -376
    +    },
    +
    +    {
    +       45, -377, -377, -377, -377, -377, -377, -377, -377,  377,
    +     -377,  377,  377,  377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377,  377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
    +     -377, -377, -377, -377, -377, -377
    +    },
    +
    +    {
    +       45, -378, -378, -378, -378, -378, -378, -378, -378,  378,
    +     -378,  378,  378,  378, -378, -378, -378, -378, -378, -378,
    +
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378,  378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
    +     -378, -378, -378, -378, -378, -378
    +    },
    +
    +    {
    +       45, -379, -379, -379, -379, -379, -379, -379, -379,  395,
    +     -379,  395,  395,  395, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379,  395, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
    +     -379, -379, -379, -379, -379, -379
    +
    +    },
    +
    +    {
    +       45, -380, -380, -380, -380, -380, -380, -380, -380,  396,
    +     -380,  396,  396,  396, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380,  396, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380, -380, -380, -380, -380,
    +     -380, -380, -380, -380, -380, -380
    +    },
    +
    +    {
    +       45, -381, -381, -381, -381, -381, -381, -381, -381,  397,
    +     -381,  397,  397,  397, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381,  397, -381, -381, -381, -381, -381, -381, -381,
    +
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +
    +     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
    +     -381, -381, -381, -381, -381, -381
    +    },
    +
    +    {
    +       45, -382, -382, -382, -382, -382, -382, -382, -382,  398,
    +     -382,  398,  398,  398, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382,  398, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
    +     -382, -382, -382, -382, -382, -382
    +    },
    +
    +    {
    +       45, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383,  208,  208,  208,
    +      208,  208,  399,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
    +     -383, -383, -383, -383, -383, -383
    +    },
    +
    +    {
    +       45, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384,  208,  208,  208,
    +      400,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
    +     -384, -384, -384, -384, -384, -384
    +
    +    },
    +
    +    {
    +       45, -385, -385, -385, -385, -385, -385, -385, -385,  385,
    +     -385,  385,  385,  385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385,  385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
    +     -385, -385, -385, -385, -385, -385
    +    },
    +
    +    {
    +       45, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386,  401,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +
    +     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
    +     -386, -386, -386, -386, -386, -386
    +    },
    +
    +    {
    +       45, -387, -387, -387, -387, -387, -387, -387, -387,  402,
    +     -387,  402,  402,  402, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387,  402, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387, -387, -387, -387, -387,
    +     -387, -387, -387, -387, -387, -387
    +    },
    +
    +    {
    +       45, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      403,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388, -388, -388, -388, -388,
    +     -388, -388, -388, -388, -388, -388
    +    },
    +
    +    {
    +       45, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389, -389, -389, -389, -389,
    +     -389, -389, -389, -389, -389, -389
    +
    +    },
    +
    +    {
    +       45, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390,  404, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390,  404, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390, -390, -390, -390, -390,
    +     -390, -390, -390, -390, -390, -390
    +    },
    +
    +    {
    +       45, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391,  404, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391,  404, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +
    +     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
    +     -391, -391, -391, -391, -391, -391
    +    },
    +
    +    {
    +       45, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392,  404, -392, -392, -392,
    +
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392,  404, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392, -392, -392, -392, -392,
    +     -392, -392, -392, -392, -392, -392
    +    },
    +
    +    {
    +       45, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -393, -393,
    +     -393, -393, -393, -393, -393,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -393, -393, -393, -393,  202, -393,  202,  202,  202,
    +      202,  405,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +
    +      202,  202,  202, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
    +     -393, -393, -393, -393, -393, -393
    +    },
    +
    +    {
    +       45, -394, -394, -394, -394, -394, -394, -394, -394,  406,
    +     -394,  406,  406,  406, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394,  406, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
    +     -394, -394, -394, -394, -394, -394
    +
    +    },
    +
    +    {
    +       45, -395, -395, -395, -395, -395, -395, -395, -395,  395,
    +     -395,  395,  395,  395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395,  395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
    +     -395, -395, -395, -395, -395, -395
    +    },
    +
    +    {
    +       45, -396, -396, -396, -396, -396, -396, -396, -396,  396,
    +     -396,  396,  396,  396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396,  396, -396, -396, -396, -396, -396, -396, -396,
    +
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +
    +     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
    +     -396, -396, -396, -396, -396, -396
    +    },
    +
    +    {
    +       45, -397, -397, -397, -397, -397, -397, -397, -397,  397,
    +     -397,  397,  397,  397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397,  397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
    +     -397, -397, -397, -397, -397, -397
    +    },
    +
    +    {
    +       45, -398, -398, -398, -398, -398, -398, -398, -398,  398,
    +     -398,  398,  398,  398, -398, -398, -398, -398, -398, -398,
    +
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398,  398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
    +     -398, -398, -398, -398, -398, -398
    +    },
    +
    +    {
    +       45, -399, -399, -399, -399, -399, -399, -399, -399,  407,
    +     -399,  407,  407,  407, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399,  407, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
    +     -399, -399, -399, -399, -399, -399
    +
    +    },
    +
    +    {
    +       45, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400,  208,  208,  208,
    +
    +      208,  408,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
    +     -400, -400, -400, -400, -400, -400
    +    },
    +
    +    {
    +       45, -401, -401, -401, -401, -401, -401, -401, -401,  409,
    +     -401,  409,  409,  409, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401,  409, -401, -401, -401, -401, -401, -401, -401,
    +
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +
    +     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
    +     -401, -401, -401, -401, -401, -401
    +    },
    +
    +    {
    +       45, -402, -402, -402, -402, -402, -402, -402, -402,  402,
    +     -402,  402,  402,  402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402,  402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
    +     -402, -402, -402, -402, -402, -402
    +    },
    +
    +    {
    +       45, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403,  208,  208,  208,
    +      208,  208,  208,  410,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
    +     -403, -403, -403, -403, -403, -403
    +    },
    +
    +    {
    +       45, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
    +     -404, -404, -404, -404, -404, -404
    +
    +    },
    +
    +    {
    +       45, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -405, -405,
    +     -405, -405, -405, -405, -405,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -405, -405, -405, -405,  202, -405,  202,  202,  202,
    +
    +      411,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
    +     -405, -405, -405, -405, -405, -405
    +    },
    +
    +    {
    +       45, -406, -406, -406, -406, -406, -406, -406, -406,  406,
    +     -406,  406,  406,  406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406,  406, -406, -406, -406, -406, -406, -406, -406,
    +
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +
    +     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
    +     -406, -406, -406, -406, -406, -406
    +    },
    +
    +    {
    +       45, -407, -407, -407, -407, -407, -407, -407, -407,  407,
    +     -407,  407,  407,  407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407,  407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
    +     -407, -407, -407, -407, -407, -407
    +    },
    +
    +    {
    +       45, -408, -408, -408, -408, -408, -408, -408, -408,  412,
    +     -408,  412,  412,  412, -408, -408, -408, -408, -408, -408,
    +
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408,  412, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408,  413, -408,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +
    +      208,  208,  208, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
    +     -408, -408, -408, -408, -408, -408
    +    },
    +
    +    {
    +       45, -409, -409, -409, -409, -409, -409, -409, -409,  409,
    +     -409,  409,  409,  409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409,  409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
    +     -409, -409, -409, -409, -409, -409
    +
    +    },
    +
    +    {
    +       45, -410, -410, -410, -410, -410, -410, -410, -410,  414,
    +     -410,  414,  414,  414, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410,  414, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410,  208,  208,  208,
    +
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
    +      208,  208,  208, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    +     -410, -410, -410, -410, -410, -410
    +    },
    +
    +    {
    +       45, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +
    +     -411, -411, -411, -411, -411, -411, -411, -411,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202, -411, -411,
    +     -411, -411, -411, -411, -411,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202, -411, -411, -411, -411,  202, -411,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    +      202,  202,  202, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +
    +     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
    +     -411, -411, -411, -411, -411, -411
    +    },
    +
    +    {
    +       45, -412, -412, -412, -412, -412, -412, -412, -412,  412,
    +     -412,  412,  412,  412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412,  412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
    +     -412, -412, -412, -412, -412, -412
    +    },
    +
    +    {
    +       45, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +      415, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
    +     -413, -413, -413, -413, -413, -413
    +    },
    +
    +    {
    +       45, -414, -414, -414, -414, -414, -414, -414, -414,  414,
    +     -414,  414,  414,  414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414,  414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
    +     -414, -414, -414, -414, -414, -414
    +
    +    },
    +
    +    {
    +       45, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +
    +     -415,  416, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
    +     -415, -415, -415, -415, -415, -415
    +    },
    +
    +    {
    +       45, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +      417, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +
    +     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
    +     -416, -416, -416, -416, -416, -416
    +    },
    +
    +    {
    +       45, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417,  418, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
    +     -417, -417, -417, -417, -417, -417
    +    },
    +
    +    {
    +       45, -418, -418, -418, -418, -418, -418, -418, -418,  419,
    +     -418,  419,  419,  419, -418, -418, -418, -418, -418, -418,
    +
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418,  419, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
    +     -418, -418, -418, -418, -418, -418
    +    },
    +
    +    {
    +       45, -419, -419, -419, -419, -419, -419, -419, -419,  419,
    +     -419,  419,  419,  419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419,  419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
    +     -419, -419, -419, -419, -419, -419
    +
    +    },
    +
    +    } ;
    +
    +
    +static yy_state_type yy_get_previous_state YY_PROTO(( void ));
    +static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
    +static int yy_get_next_buffer YY_PROTO(( void ));
    +static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
    +
    +/* Done after the current pattern has been matched and before the
    + * corresponding action - sets up yytext.
    + */
    +#define YY_DO_BEFORE_ACTION \
    +	yytext_ptr = yy_bp; \
    +	yyleng = (int) (yy_cp - yy_bp); \
    +	yy_hold_char = *yy_cp; \
    +	*yy_cp = '\0'; \
    +	yy_c_buf_p = yy_cp;
    +
    +#define YY_NUM_RULES 144
    +#define YY_END_OF_BUFFER 145
    +static yyconst short int yy_accept[420] =
    +    {   0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,  118,  118,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,  145,  134,  135,  136,  122,  143,
    +      123,  134,  133,  134,  135,    1,   22,   17,   19,   17,
    +       22,   21,   18,   18,   18,   18,   18,   18,   18,   18,
    +       69,   72,   70,   71,   29,   26,   27,   25,   29,   24,
    +       29,   29,  124,  132,  125,  143,  126,  127,  143,  128,
    +      129,  118,  119,  118,   78,   76,   78,   78,   75,   78,
    +
    +       79,   83,   85,   84,  143,   80,   91,   87,   91,   86,
    +       89,   91,   91,   88,   91,   93,  101,  103,   96,  102,
    +       98,   97,   94,   98,   93,  107,  107,  105,  104,  107,
    +      115,  114,  111,  112,  108,  109,  110,  115,  115,  134,
    +      135,  139,  122,  139,  123,  134,  133,  134,   54,   51,
    +       48,   54,   53,   54,   52,   54,   34,   36,   54,   54,
    +       54,   54,   50,   54,   54,   59,   56,   57,   59,   55,
    +       59,   63,   60,   61,   63,   63,   23,   68,   65,   68,
    +       66,   68,   64,   68,   30,   31,   33,   33,   33,   30,
    +        1,  141,  144,  142,  140,  140,  134,  135,  134,  117,
    +
    +      121,  133,  137,  138,  135,    1,   17,   18,   18,   18,
    +       18,   18,   18,   18,   18,   19,   20,   21,   18,   18,
    +       18,   18,   18,   12,   18,   18,   18,   18,   18,   69,
    +       70,   71,   73,   71,   26,   28,   29,  124,  131,  130,
    +      131,  126,  128,  118,  118,  118,  120,   76,   74,   75,
    +       77,   78,   79,   80,   82,   80,   87,   86,   91,   88,
    +       92,   91,   93,   95,   98,   97,   94,  100,   98,   93,
    +      107,  105,  104,  107,  106,  107,  115,  115,  113,  116,
    +      115,  134,  139,  139,   51,   45,   42,   34,   35,   34,
    +       34,   38,   36,   36,   36,   40,   46,   44,   47,   41,
    +
    +       49,   50,  133,   43,   56,   55,   58,   59,   60,   62,
    +        0,   23,   65,   64,   68,   67,   68,   30,   32,   33,
    +       30,  141,  140,  121,  121,   18,   18,   18,   18,   18,
    +       18,   12,   18,   18,   18,   18,   18,   18,   18,   70,
    +       81,   90,   99,   35,   35,   34,   34,   34,   37,   36,
    +       36,   36,  133,  121,   18,   13,   14,   18,   18,   18,
    +       18,   18,   18,   16,   18,   18,   18,   35,   35,   35,
    +       34,   37,   37,   36,  133,   18,   13,   14,   15,    5,
    +        8,   10,   18,   18,   16,   18,    9,   18,   35,   37,
    +       37,   37,  133,    4,   15,    5,    8,   10,   11,   18,
    +
    +        7,    9,   18,   37,  133,    4,   11,    2,    7,    6,
    +       39,    2,    0,    6,    0,    0,    0,    3,    3
    +    } ;
    +
    +static yy_state_type yy_last_accepting_state;
    +static char *yy_last_accepting_cpos;
    +
    +static yyconst yy_state_type yy_NUL_trans[420] =
    +    {   0,
    +       46,   46,   57,   57,   71,   71,   75,   75,   83,   83,
    +       87,   87,   90,   90,   92,   92,   95,   95,  101,  101,
    +      107,  107,  116,  116,  126,  126,  131,  131,  140,  140,
    +      149,  149,  166,  166,  172,  172,   75,   75,  178,  178,
    +      185,  185,   50,   50,    0,  197,    0,    0,    0,    0,
    +        0,  199,    0,  199,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +      230,    0,  231,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,  238,    0,    0,  239,  242,    0,  239,  243,
    +        0,  244,    0,  245,    0,    0,    0,    0,    0,    0,
    +
    +      253,    0,    0,    0,  254,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,  263,    0,    0,    0,    0,
    +      265,  266,    0,    0,  263,    0,    0,    0,    0,    0,
    +      277,    0,    0,    0,    0,    0,    0,  278,    0,  197,
    +        0,    0,    0,    0,    0,  199,    0,  282,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,  315,  318,    0,    0,    0,    0,  318,
    +        0,    0,    0,    0,    0,    0,  197,    0,  199,    0,
    +
    +      325,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,  230,
    +      340,    0,    0,    0,    0,    0,    0,  238,    0,    0,
    +        0,  242,  243,  244,  245,  245,    0,    0,    0,    0,
    +        0,    0,  253,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,  263,    0,  265,  266,    0,    0,    0,  263,
    +        0,    0,    0,    0,    0,    0,  277,  278,    0,    0,
    +        0,  199,    0,  283,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,  318,    0,    0,
    +      318,    0,    0,  325,  325,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,  340,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,  325,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0
    +    } ;
    +
    +extern int yy_flex_debug;
    +int yy_flex_debug = 1;
    +
    +static yyconst short int yy_rule_linenum[144] =
    +    {   0,
    +      312,  317,  318,  319,  320,  321,  322,  323,  324,  325,
    +      326,  327,  328,  329,  330,  331,  332,  333,  334,  335,
    +      336,  337,  342,  343,  344,  345,  346,  347,  348,  353,
    +      354,  355,  356,  365,  366,  367,  368,  369,  370,  371,
    +      372,  373,  374,  375,  376,  377,  378,  379,  380,  381,
    +      382,  383,  384,  385,  391,  392,  393,  394,  395,  400,
    +      401,  402,  403,  410,  411,  412,  413,  414,  422,  423,
    +      424,  425,  426,  431,  432,  433,  434,  435,  440,  441,
    +      442,  443,  444,  445,  446,  451,  452,  453,  454,  455,
    +      456,  457,  462,  463,  464,  465,  466,  467,  468,  469,
    +
    +      470,  471,  472,  483,  484,  488,  489,  501,  505,  514,
    +      520,  521,  522,  523,  524,  525,  530,  531,  532,  533,
    +      538,  546,  547,  548,  549,  572,  573,  587,  588,  594,
    +      618,  619,  628,  673,  674,  675,  676,  677,  683,  685,
    +      691,  693,  701
    +    } ;
    +
    +/* The intent behind this definition is that it'll catch
    + * any uses of REJECT which flex missed.
    + */
    +#define REJECT reject_used_but_not_detected
    +#define yymore() yymore_used_but_not_detected
    +#define YY_MORE_ADJ 0
    +#define YY_RESTORE_YY_MORE_OFFSET
    +char *yytext;
    +#line 1 "wpp/ppl.l"
    +#define INITIAL 0
    +/*
    + * Wrc preprocessor lexical analysis
    + *
    + * Copyright 1999-2000	Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * History:
    + * 24-Apr-2000 BS	- Started from scratch to restructure everything
    + *			  and reintegrate the source into the wine-tree.
    + * 04-Jan-2000 BS	- Added comments about the lexicographical
    + *			  grammar to give some insight in the complexity.
    + * 28-Dec-1999 BS	- Eliminated backing-up of the flexer by running
    + *			  `flex -b' on the source. This results in some
    + *			  weirdo extra rules, but a much faster scanner.
    + * 23-Dec-1999 BS	- Started this file
    + *
    + *-------------------------------------------------------------------------
    + * The preprocessor's lexographical grammar (approximately):
    + *
    + * pp		:= {ws} # {ws} if {ws} {expr} {ws} \n
    + *		|  {ws} # {ws} ifdef {ws} {id} {ws} \n
    + *		|  {ws} # {ws} ifndef {ws} {id} {ws} \n
    + *		|  {ws} # {ws} elif {ws} {expr} {ws} \n
    + *		|  {ws} # {ws} else {ws} \n
    + *		|  {ws} # {ws} endif {ws} \n
    + *		|  {ws} # {ws} include {ws} < {anytext} > \n
    + *		|  {ws} # {ws} include {ws} " {anytext} " \n
    + *		|  {ws} # {ws} include_next {ws} < {anytext} > \n
    + *		|  {ws} # {ws} include_next {ws} " {anytext} " \n
    + *		|  {ws} # {ws} define {ws} {anytext} \n
    + *		|  {ws} # {ws} define( {arglist} ) {ws} {expansion} \n
    + *		|  {ws} # {ws} pragma {ws} {anytext} \n
    + *		|  {ws} # {ws} ident {ws} {anytext} \n
    + *		|  {ws} # {ws} error {ws} {anytext} \n
    + *		|  {ws} # {ws} warning {ws} {anytext} \n
    + *		|  {ws} # {ws} line {ws} " {anytext} " {number} \n
    + *		|  {ws} # {ws} {number} " {anytext} " {number} [ {number} [{number}] ] \n
    + *		|  {ws} # {ws} \n
    + *
    + * ws		:= [ \t\r\f\v]*
    + *
    + * expr		:= {expr} [+-*%^/|&] {expr}
    + *		|  {expr} {logor|logand} {expr}
    + *		|  [!~+-] {expr}
    + *		|  {expr} ? {expr} : {expr}
    + *
    + * logor	:= ||
    + *
    + * logand	:= &&
    + *
    + * id		:= [a-zA-Z_][a-zA-Z0-9_]*
    + *
    + * anytext	:= [^\n]*	(see note)
    + *
    + * arglist	:=
    + *		|  {id}
    + *		|  {arglist} , {id}
    + *		|  {arglist} , {id} ...
    + *
    + * expansion	:= {id}
    + *		|  # {id}
    + *		|  {anytext}
    + *		|  {anytext} ## {anytext}
    + *
    + * number	:= [0-9]+
    + *
    + * Note: "anytext" is not always "[^\n]*". This is because the
    + *	 trailing context must be considered as well.
    + *
    + * The only certain assumption for the preprocessor to make is that
    + * directives start at the beginning of the line, followed by a '#'
    + * and end with a newline.
    + * Any directive may be suffixed with a line-continuation. Also
    + * classical comment / *...* / (note: no comments within comments,
    + * therefore spaces) is considered to be a line-continuation
    + * (according to gcc and egcs AFAIK, ANSI is a bit vague).
    + * Comments have not been added to the above grammar for simplicity
    + * reasons. However, it is allowed to enter comment anywhere within
    + * the directives as long as they do not interfere with the context.
    + * All comments are considered to be deletable whitespace (both
    + * classical form "/ *...* /" and C++ form "//...\n").
    + *
    + * All recursive scans, except for macro-expansion, are done by the
    + * parser, whereas the simple state transitions of non-recursive
    + * directives are done in the scanner. This results in the many
    + * exclusive start-conditions of the scanner.
    + *
    + * Macro expansions are slightly more difficult because they have to
    + * prescan the arguments. Parameter substitution is literal if the
    + * substitution is # or ## (either side). This enables new identifiers
    + * to be created (see 'info cpp' node Macro|Pitfalls|Prescan for more
    + * information).
    + *
    + * FIXME: Variable macro parameters is recognized, but not yet
    + * expanded. I have to reread the ANSI standard on the subject (yes,
    + * ANSI defines it).
    + *
    + * The following special defines are supported:
    + * __FILE__	-> "thissource.c"
    + * __LINE__	-> 123
    + * __DATE__	-> "May  1 2000"
    + * __TIME__	-> "23:59:59"
    + * These macros expand, as expected, into their ANSI defined values.
    + *
    + * The same include prevention is implemented as gcc and egcs does.
    + * This results in faster processing because we do not read the text
    + * at all. Some wine-sources attempt to include the same file 4 or 5
    + * times. This strategy also saves a lot blank output-lines, which in
    + * its turn improves the real resource scanner/parser.
    + *
    + */
    +/*
    + * Special flex options and exclusive scanner start-conditions
    + */
    +#define YY_STACK_USED 1
    +#define YY_NEVER_INTERACTIVE 1
    +#define pp_pp 1
    +
    +#define pp_eol 2
    +
    +#define pp_inc 3
    +
    +#define pp_dqs 4
    +
    +#define pp_sqs 5
    +
    +#define pp_iqs 6
    +
    +#define pp_comment 7
    +
    +#define pp_def 8
    +
    +#define pp_define 9
    +
    +#define pp_macro 10
    +
    +#define pp_mbody 11
    +
    +#define pp_macign 12
    +
    +#define pp_macscan 13
    +
    +#define pp_macexp 14
    +
    +#define pp_if 15
    +
    +#define pp_ifd 16
    +
    +#define pp_endif 17
    +
    +#define pp_line 18
    +
    +#define pp_defined 19
    +
    +#define pp_ignore 20
    +
    +#define RCINCL 21
    +
    +#line 159 "wpp/ppl.l"
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wpp_private.h"
    +#include "wpp.tab.h"
    +
    +/*
    + * Make sure that we are running an appropriate version of flex.
    + */
    +#if !defined(YY_FLEX_MAJOR_VERSION) || (1000 * YY_FLEX_MAJOR_VERSION + YY_FLEX_MINOR_VERSION < 2005)
    +#error Must use flex version 2.5.1 or higher (yy_scan_* routines are required).
    +#endif
    +
    +#define YY_USE_PROTOS
    +#define YY_NO_UNPUT
    +#define YY_READ_BUF_SIZE	65536		/* So we read most of a file at once */
    +
    +#define yy_current_state()	YY_START
    +#define yy_pp_state(x)		yy_pop_state(); yy_push_state(x)
    +
    +/*
    + * Always update the current character position within a line
    + */
    +#define YY_USER_ACTION	pp_status.char_number+=ppleng;
    +
    +/*
    + * Buffer management for includes and expansions
    + */
    +#define MAXBUFFERSTACK	128	/* Nesting more than 128 includes or macro expansion textss is insane */
    +
    +typedef struct bufferstackentry {
    +	YY_BUFFER_STATE	bufferstate;	/* Buffer to switch back to */
    +	pp_entry_t	*define;	/* Points to expanding define or NULL if handling includes */
    +	int		line_number;	/* Line that we were handling */
    +	int		char_number;	/* The current position on that line */
    +	const char	*filename;	/* Filename that we were handling */
    +	int		if_depth;	/* How many #if:s deep to check matching #endif:s */
    +	int		ncontinuations;	/* Remember the continuation state */
    +	int		should_pop;	/* Set if we must pop the start-state on EOF */
    +	/* Include management */
    +        include_state_t incl;
    +	char 		*include_filename;
    +	int 		pass_data;
    +} bufferstackentry_t;
    +
    +#define ALLOCBLOCKSIZE	(1 << 10)	/* Allocate these chunks at a time for string-buffers */
    +
    +/*
    + * Macro expansion nesting
    + * We need the stack to handle expansions while scanning
    + * a macro's arguments. The TOS must always be the macro
    + * that receives the current expansion from the scanner.
    + */
    +#define MAXMACEXPSTACK	128	/* Nesting more than 128 macro expansions is insane */
    +
    +typedef struct macexpstackentry {
    +	pp_entry_t	*ppp;		/* This macro we are scanning */
    +	char		**args;		/* With these arguments */
    +	char		**ppargs;	/* Resulting in these preprocessed arguments */
    +	int		*nnls;		/* Number of newlines per argument */
    +	int		nargs;		/* And this many arguments scanned */
    +	int		parentheses;	/* Nesting level of () */
    +	int		curargsize;	/* Current scanning argument's size */
    +	int		curargalloc;	/* Current scanning argument's block allocated */
    +	char		*curarg;	/* Current scanning argument's content */
    +} macexpstackentry_t;
    +
    +#define MACROPARENTHESES()	(top_macro()->parentheses)
    +
    +/*
    + * Prototypes
    + */
    +static void newline(int);
    +static int make_number(int radix, YYSTYPE *val, const char *str, int len);
    +static void put_buffer(const char *s, int len);
    +static int is_c_h_include(char *fname, int quoted);
    +/* Buffer management */
    +static void push_buffer(pp_entry_t *ppp, char *filename, char *incname, int pop);
    +static bufferstackentry_t *pop_buffer(void);
    +/* String functions */
    +static void new_string(void);
    +static void add_string(const char *str, int len);
    +static char *get_string(void);
    +static void put_string(void);
    +static int string_start(void);
    +/* Macro functions */
    +static void push_macro(pp_entry_t *ppp);
    +static macexpstackentry_t *top_macro(void);
    +static macexpstackentry_t *pop_macro(void);
    +static void free_macro(macexpstackentry_t *mep);
    +static void add_text_to_macro(const char *text, int len);
    +static void macro_add_arg(int last);
    +static void macro_add_expansion(void);
    +/* Expansion */
    +static void expand_special(pp_entry_t *ppp);
    +static void expand_define(pp_entry_t *ppp);
    +static void expand_macro(macexpstackentry_t *mep);
    +
    +/*
    + * Local variables
    + */
    +static int ncontinuations;
    +
    +static int strbuf_idx = 0;
    +static int strbuf_alloc = 0;
    +static char *strbuffer = NULL;
    +static int str_startline;
    +
    +static macexpstackentry_t *macexpstack[MAXMACEXPSTACK];
    +static int macexpstackidx = 0;
    +
    +static bufferstackentry_t bufferstack[MAXBUFFERSTACK];
    +static int bufferstackidx = 0;
    +
    +static int pass_data=1;
    +
    +/*
    + * Global variables
    + */
    +include_state_t pp_incl_state =
    +{
    +    -1,    /* state */
    +    NULL,  /* ppp */
    +    0,     /* ifdepth */
    +    0      /* seen_junk */
    +};
    +
    +includelogicentry_t *pp_includelogiclist = NULL;
    +
    +/*
    + **************************************************************************
    + * The scanner starts here
    + **************************************************************************
    + */
    +#line 14035 "wpp/lex.yy.c"
    +
    +/* Macros after this point can all be overridden by user definitions in
    + * section 1.
    + */
    +
    +#ifndef YY_SKIP_YYWRAP
    +#ifdef __cplusplus
    +extern "C" int yywrap YY_PROTO(( void ));
    +#else
    +extern int yywrap YY_PROTO(( void ));
    +#endif
    +#endif
    +
    +#ifndef YY_NO_UNPUT
    +static void yyunput YY_PROTO(( int c, char *buf_ptr ));
    +#endif
    +
    +#ifndef yytext_ptr
    +static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
    +#endif
    +
    +#ifdef YY_NEED_STRLEN
    +static int yy_flex_strlen YY_PROTO(( yyconst char * ));
    +#endif
    +
    +#ifndef YY_NO_INPUT
    +#ifdef __cplusplus
    +static int yyinput YY_PROTO(( void ));
    +#else
    +static int input YY_PROTO(( void ));
    +#endif
    +#endif
    +
    +#if YY_STACK_USED
    +static int yy_start_stack_ptr = 0;
    +static int yy_start_stack_depth = 0;
    +static int *yy_start_stack = 0;
    +#ifndef YY_NO_PUSH_STATE
    +static void yy_push_state YY_PROTO(( int new_state ));
    +#endif
    +#ifndef YY_NO_POP_STATE
    +static void yy_pop_state YY_PROTO(( void ));
    +#endif
    +#ifndef YY_NO_TOP_STATE
    +static int yy_top_state YY_PROTO(( void ));
    +#endif
    +
    +#else
    +#define YY_NO_PUSH_STATE 1
    +#define YY_NO_POP_STATE 1
    +#define YY_NO_TOP_STATE 1
    +#endif
    +
    +#ifdef YY_MALLOC_DECL
    +YY_MALLOC_DECL
    +#else
    +#if __STDC__
    +#ifndef __cplusplus
    +#include 
    +#endif
    +#else
    +/* Just try to get by without declaring the routines.  This will fail
    + * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
    + * or sizeof(void*) != sizeof(int).
    + */
    +#endif
    +#endif
    +
    +/* Amount of stuff to slurp up with each read. */
    +#ifndef YY_READ_BUF_SIZE
    +#define YY_READ_BUF_SIZE 8192
    +#endif
    +
    +/* Copy whatever the last rule matched to the standard output. */
    +
    +#ifndef ECHO
    +/* This used to be an fputs(), but since the string might contain NUL's,
    + * we now use fwrite().
    + */
    +#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
    +#endif
    +
    +/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
    + * is returned in "result".
    + */
    +#ifndef YY_INPUT
    +#define YY_INPUT(buf,result,max_size) \
    +	if ( yy_current_buffer->yy_is_interactive ) \
    +		{ \
    +		int c = '*', n; \
    +		for ( n = 0; n < max_size && \
    +			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
    +			buf[n] = (char) c; \
    +		if ( c == '\n' ) \
    +			buf[n++] = (char) c; \
    +		if ( c == EOF && ferror( yyin ) ) \
    +			YY_FATAL_ERROR( "input in flex scanner failed" ); \
    +		result = n; \
    +		} \
    +	else \
    +		{ \
    +		errno=0; \
    +		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
    +			{ \
    +			if( errno != EINTR) \
    +				{ \
    +				YY_FATAL_ERROR( "input in flex scanner failed" ); \
    +				break; \
    +				} \
    +			errno=0; \
    +			clearerr(yyin); \
    +			} \
    +		}
    +#endif
    +
    +/* No semi-colon after return; correct usage is to write "yyterminate();" -
    + * we don't want an extra ';' after the "return" because that will cause
    + * some compilers to complain about unreachable statements.
    + */
    +#ifndef yyterminate
    +#define yyterminate() return YY_NULL
    +#endif
    +
    +/* Number of entries by which start-condition stack grows. */
    +#ifndef YY_START_STACK_INCR
    +#define YY_START_STACK_INCR 25
    +#endif
    +
    +/* Report a fatal error. */
    +#ifndef YY_FATAL_ERROR
    +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
    +#endif
    +
    +/* Default declaration of generated scanner - a define so the user can
    + * easily add parameters.
    + */
    +#ifndef YY_DECL
    +#define YY_DECL int yylex YY_PROTO(( void ))
    +#endif
    +
    +/* Code executed at the beginning of each rule, after yytext and yyleng
    + * have been set up.
    + */
    +#ifndef YY_USER_ACTION
    +#define YY_USER_ACTION
    +#endif
    +
    +/* Code executed at the end of each rule. */
    +#ifndef YY_BREAK
    +#define YY_BREAK break;
    +#endif
    +
    +#define YY_RULE_SETUP \
    +	if ( yyleng > 0 ) \
    +		yy_current_buffer->yy_at_bol = \
    +				(yytext[yyleng - 1] == '\n'); \
    +	YY_USER_ACTION
    +
    +YY_DECL
    +	{
    +	register yy_state_type yy_current_state;
    +	register char *yy_cp, *yy_bp;
    +	register int yy_act;
    +
    +#line 299 "wpp/ppl.l"
    +
    +	/*
    +	 * Catch line-continuations.
    +	 * Note: Gcc keeps the line-continuations in, for example, strings
    +	 * intact. However, I prefer to remove them all so that the next
    +	 * scanner will not need to reduce the continuation state.
    +	 *
    +	 * <*>\\\n		newline(0);
    +	 */
    +
    +	/*
    +	 * Detect the leading # of a preprocessor directive.
    +	 */
    +#line 14214 "wpp/lex.yy.c"
    +
    +	if ( yy_init )
    +		{
    +		yy_init = 0;
    +
    +#ifdef YY_USER_INIT
    +		YY_USER_INIT;
    +#endif
    +
    +		if ( ! yy_start )
    +			yy_start = 1;	/* first start state */
    +
    +		if ( ! yyin )
    +			yyin = stdin;
    +
    +		if ( ! yyout )
    +			yyout = stdout;
    +
    +		if ( ! yy_current_buffer )
    +			yy_current_buffer =
    +				yy_create_buffer( yyin, YY_BUF_SIZE );
    +
    +		yy_load_buffer_state();
    +		}
    +
    +	while ( 1 )		/* loops until end-of-file is reached */
    +		{
    +		yy_cp = yy_c_buf_p;
    +
    +		/* Support of yytext. */
    +		*yy_cp = yy_hold_char;
    +
    +		/* yy_bp points to the position in yy_ch_buf of the start of
    +		 * the current run.
    +		 */
    +		yy_bp = yy_cp;
    +
    +		yy_current_state = yy_start;
    +		yy_current_state += YY_AT_BOL();
    +yy_match:
    +		while ( (yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)]) > 0 )
    +			{
    +			if ( yy_accept[yy_current_state] )
    +				{
    +				yy_last_accepting_state = yy_current_state;
    +				yy_last_accepting_cpos = yy_cp;
    +				}
    +
    +			++yy_cp;
    +			}
    +
    +		yy_current_state = -yy_current_state;
    +
    +yy_find_action:
    +		yy_act = yy_accept[yy_current_state];
    +
    +		YY_DO_BEFORE_ACTION;
    +
    +
    +do_action:	/* This label is used only to access EOF actions. */
    +
    +		if ( yy_flex_debug )
    +			{
    +			if ( yy_act == 0 )
    +				fprintf( stderr, "--scanner backing up\n" );
    +			else if ( yy_act < 144 )
    +				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
    +				         yy_rule_linenum[yy_act], yytext );
    +			else if ( yy_act == 144 )
    +				fprintf( stderr, "--accepting default rule (\"%s\")\n",
    +				         yytext );
    +			else if ( yy_act == 145 )
    +				fprintf( stderr, "--(end of buffer or a NUL)\n" );
    +			else
    +				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
    +			}
    +
    +		switch ( yy_act )
    +	{ /* beginning of action switch */
    +			case 0: /* must back up */
    +			/* undo the effects of YY_DO_BEFORE_ACTION */
    +			*yy_cp = yy_hold_char;
    +			yy_cp = yy_last_accepting_cpos + 1;
    +			yy_current_state = yy_last_accepting_state;
    +			goto yy_find_action;
    +
    +case 1:
    +YY_RULE_SETUP
    +#line 312 "wpp/ppl.l"
    +pp_incl_state.seen_junk++; yy_push_state(pp_pp);
    +	YY_BREAK
    +/*
    +	 * Scan for the preprocessor directives
    +	 */
    +case 2:
    +YY_RULE_SETUP
    +#line 317 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE;} else {yy_pp_state(pp_eol);}
    +	YY_BREAK
    +case 3:
    +YY_RULE_SETUP
    +#line 318 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE_NEXT;} else {yy_pp_state(pp_eol);}
    +	YY_BREAK
    +case 4:
    +YY_RULE_SETUP
    +#line 319 "wpp/ppl.l"
    +yy_pp_state(yy_current_state() != pp_ignore ? pp_def : pp_eol);
    +	YY_BREAK
    +case 5:
    +YY_RULE_SETUP
    +#line 320 "wpp/ppl.l"
    +yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tERROR;
    +	YY_BREAK
    +case 6:
    +YY_RULE_SETUP
    +#line 321 "wpp/ppl.l"
    +yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tWARNING;
    +	YY_BREAK
    +case 7:
    +YY_RULE_SETUP
    +#line 322 "wpp/ppl.l"
    +yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tPRAGMA;
    +	YY_BREAK
    +case 8:
    +YY_RULE_SETUP
    +#line 323 "wpp/ppl.l"
    +yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tPPIDENT;
    +	YY_BREAK
    +case 9:
    +YY_RULE_SETUP
    +#line 324 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) {yy_pp_state(pp_ifd); return tUNDEF;} else {yy_pp_state(pp_eol);}
    +	YY_BREAK
    +case 10:
    +YY_RULE_SETUP
    +#line 325 "wpp/ppl.l"
    +yy_pp_state(pp_ifd);	return tIFDEF;
    +	YY_BREAK
    +case 11:
    +YY_RULE_SETUP
    +#line 326 "wpp/ppl.l"
    +pp_incl_state.seen_junk--; yy_pp_state(pp_ifd);	return tIFNDEF;
    +	YY_BREAK
    +case 12:
    +YY_RULE_SETUP
    +#line 327 "wpp/ppl.l"
    +yy_pp_state(pp_if);	return tIF;
    +	YY_BREAK
    +case 13:
    +YY_RULE_SETUP
    +#line 328 "wpp/ppl.l"
    +yy_pp_state(pp_if);	return tELIF;
    +	YY_BREAK
    +case 14:
    +YY_RULE_SETUP
    +#line 329 "wpp/ppl.l"
    +yy_pp_state(pp_endif);  return tELSE;
    +	YY_BREAK
    +case 15:
    +YY_RULE_SETUP
    +#line 330 "wpp/ppl.l"
    +yy_pp_state(pp_endif);  return tENDIF;
    +	YY_BREAK
    +case 16:
    +YY_RULE_SETUP
    +#line 331 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tLINE;} else {yy_pp_state(pp_eol);}
    +	YY_BREAK
    +case 17:
    +YY_RULE_SETUP
    +#line 332 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tGCCLINE;} else {yy_pp_state(pp_eol);}
    +	YY_BREAK
    +case 18:
    +YY_RULE_SETUP
    +#line 333 "wpp/ppl.l"
    +pperror("Invalid preprocessor token '%s'", pptext);
    +	YY_BREAK
    +case 19:
    +YY_RULE_SETUP
    +#line 334 "wpp/ppl.l"
    +newline(1); yy_pop_state(); return tNL;	/* This could be the null-token */
    +	YY_BREAK
    +case 20:
    +YY_RULE_SETUP
    +#line 335 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 21:
    +YY_RULE_SETUP
    +#line 336 "wpp/ppl.l"
    +pperror("Preprocessor junk '%s'", pptext);
    +	YY_BREAK
    +case 22:
    +YY_RULE_SETUP
    +#line 337 "wpp/ppl.l"
    +return *pptext;
    +	YY_BREAK
    +/*
    +	 * Handle #include and #line
    +	 */
    +case 23:
    +YY_RULE_SETUP
    +#line 342 "wpp/ppl.l"
    +return make_number(10, &pplval, pptext, ppleng);
    +	YY_BREAK
    +case 24:
    +YY_RULE_SETUP
    +#line 343 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_iqs);
    +	YY_BREAK
    +case 25:
    +YY_RULE_SETUP
    +#line 344 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +	YY_BREAK
    +case 26:
    +YY_RULE_SETUP
    +#line 345 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 27:
    +YY_RULE_SETUP
    +#line 346 "wpp/ppl.l"
    +newline(1); yy_pop_state(); return tNL;
    +	YY_BREAK
    +case 28:
    +YY_RULE_SETUP
    +#line 347 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 29:
    +YY_RULE_SETUP
    +#line 348 "wpp/ppl.l"
    +pperror(yy_current_state() == pp_inc ? "Trailing junk in #include" : "Trailing junk in #line");
    +	YY_BREAK
    +/*
    +	 * Ignore all input when a false clause is parsed
    +	 */
    +case 30:
    +YY_RULE_SETUP
    +#line 353 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 31:
    +YY_RULE_SETUP
    +#line 354 "wpp/ppl.l"
    +newline(1);
    +	YY_BREAK
    +case 32:
    +YY_RULE_SETUP
    +#line 355 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 33:
    +YY_RULE_SETUP
    +#line 356 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +/*
    +	 * Handle #if and #elif.
    +	 * These require conditionals to be evaluated, but we do not
    +	 * want to jam the scanner normally when we see these tokens.
    +	 * Note: tIDENT is handled below.
    +	 */
    +case 34:
    +YY_RULE_SETUP
    +#line 365 "wpp/ppl.l"
    +return make_number(8, &pplval, pptext, ppleng);
    +	YY_BREAK
    +case 35:
    +YY_RULE_SETUP
    +#line 366 "wpp/ppl.l"
    +pperror("Invalid octal digit");
    +	YY_BREAK
    +case 36:
    +YY_RULE_SETUP
    +#line 367 "wpp/ppl.l"
    +return make_number(10, &pplval, pptext, ppleng);
    +	YY_BREAK
    +case 37:
    +YY_RULE_SETUP
    +#line 368 "wpp/ppl.l"
    +return make_number(16, &pplval, pptext, ppleng);
    +	YY_BREAK
    +case 38:
    +YY_RULE_SETUP
    +#line 369 "wpp/ppl.l"
    +pperror("Invalid hex number");
    +	YY_BREAK
    +case 39:
    +YY_RULE_SETUP
    +#line 370 "wpp/ppl.l"
    +yy_push_state(pp_defined); return tDEFINED;
    +	YY_BREAK
    +case 40:
    +YY_RULE_SETUP
    +#line 371 "wpp/ppl.l"
    +return tLSHIFT;
    +	YY_BREAK
    +case 41:
    +YY_RULE_SETUP
    +#line 372 "wpp/ppl.l"
    +return tRSHIFT;
    +	YY_BREAK
    +case 42:
    +YY_RULE_SETUP
    +#line 373 "wpp/ppl.l"
    +return tLOGAND;
    +	YY_BREAK
    +case 43:
    +YY_RULE_SETUP
    +#line 374 "wpp/ppl.l"
    +return tLOGOR;
    +	YY_BREAK
    +case 44:
    +YY_RULE_SETUP
    +#line 375 "wpp/ppl.l"
    +return tEQ;
    +	YY_BREAK
    +case 45:
    +YY_RULE_SETUP
    +#line 376 "wpp/ppl.l"
    +return tNE;
    +	YY_BREAK
    +case 46:
    +YY_RULE_SETUP
    +#line 377 "wpp/ppl.l"
    +return tLTE;
    +	YY_BREAK
    +case 47:
    +YY_RULE_SETUP
    +#line 378 "wpp/ppl.l"
    +return tGTE;
    +	YY_BREAK
    +case 48:
    +YY_RULE_SETUP
    +#line 379 "wpp/ppl.l"
    +newline(1); yy_pop_state(); return tNL;
    +	YY_BREAK
    +case 49:
    +YY_RULE_SETUP
    +#line 380 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 50:
    +YY_RULE_SETUP
    +#line 381 "wpp/ppl.l"
    +pperror("Junk in conditional expression");
    +	YY_BREAK
    +case 51:
    +YY_RULE_SETUP
    +#line 382 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 52:
    +YY_RULE_SETUP
    +#line 383 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +	YY_BREAK
    +case 53:
    +YY_RULE_SETUP
    +#line 384 "wpp/ppl.l"
    +pperror("String constants not allowed in conditionals");
    +	YY_BREAK
    +case 54:
    +YY_RULE_SETUP
    +#line 385 "wpp/ppl.l"
    +return *pptext;
    +	YY_BREAK
    +/*
    +	 * Handle #ifdef, #ifndef and #undef
    +	 * to get only an untranslated/unexpanded identifier
    +	 */
    +case 55:
    +YY_RULE_SETUP
    +#line 391 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +	YY_BREAK
    +case 56:
    +YY_RULE_SETUP
    +#line 392 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 57:
    +YY_RULE_SETUP
    +#line 393 "wpp/ppl.l"
    +newline(1); yy_pop_state(); return tNL;
    +	YY_BREAK
    +case 58:
    +YY_RULE_SETUP
    +#line 394 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 59:
    +YY_RULE_SETUP
    +#line 395 "wpp/ppl.l"
    +pperror("Identifier expected");
    +	YY_BREAK
    +/*
    +	 * Handle #else and #endif.
    +	 */
    +case 60:
    +YY_RULE_SETUP
    +#line 400 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 61:
    +YY_RULE_SETUP
    +#line 401 "wpp/ppl.l"
    +newline(1); yy_pop_state(); return tNL;
    +	YY_BREAK
    +case 62:
    +YY_RULE_SETUP
    +#line 402 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 63:
    +YY_RULE_SETUP
    +#line 403 "wpp/ppl.l"
    +pperror("Garbage after #else or #endif.");
    +	YY_BREAK
    +/*
    +	 * Handle the special 'defined' keyword.
    +	 * This is necessary to get the identifier prior to any
    +	 * substitutions.
    +	 */
    +case 64:
    +YY_RULE_SETUP
    +#line 410 "wpp/ppl.l"
    +yy_pop_state(); pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +	YY_BREAK
    +case 65:
    +YY_RULE_SETUP
    +#line 411 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 66:
    +YY_RULE_SETUP
    +#line 412 "wpp/ppl.l"
    +return *pptext;
    +	YY_BREAK
    +case 67:
    +YY_RULE_SETUP
    +#line 413 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 68:
    +YY_RULE_SETUP
    +#line 414 "wpp/ppl.l"
    +pperror("Identifier expected");
    +	YY_BREAK
    +/*
    +	 * Handle #error, #warning, #pragma and #ident.
    +	 * Pass everything literally to the parser, which
    +	 * will act appropriately.
    +	 * Comments are stripped from the literal text.
    +	 */
    +case 69:
    +YY_RULE_SETUP
    +#line 422 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; }
    +	YY_BREAK
    +case 70:
    +YY_RULE_SETUP
    +#line 423 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; }
    +	YY_BREAK
    +case 71:
    +YY_RULE_SETUP
    +#line 424 "wpp/ppl.l"
    +if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; }
    +	YY_BREAK
    +case 72:
    +YY_RULE_SETUP
    +#line 425 "wpp/ppl.l"
    +newline(1); yy_pop_state(); if(yy_current_state() != pp_ignore) { return tNL; }
    +	YY_BREAK
    +case 73:
    +YY_RULE_SETUP
    +#line 426 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +/*
    +	 * Handle left side of #define
    +	 */
    +case 74:
    +YY_RULE_SETUP
    +#line 431 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); pplval.cptr[ppleng-1] = '\0'; yy_pp_state(pp_macro);  return tMACRO;
    +	YY_BREAK
    +case 75:
    +YY_RULE_SETUP
    +#line 432 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); yy_pp_state(pp_define); return tDEFINE;
    +	YY_BREAK
    +case 76:
    +YY_RULE_SETUP
    +#line 433 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 77:
    +YY_RULE_SETUP
    +#line 434 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 78:
    +YY_RULE_SETUP
    +#line 435 "wpp/ppl.l"
    +perror("Identifier expected");
    +	YY_BREAK
    +/*
    +	 * Scan the substitution of a define
    +	 */
    +case 79:
    +YY_RULE_SETUP
    +#line 440 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +	YY_BREAK
    +case 80:
    +YY_RULE_SETUP
    +#line 441 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +	YY_BREAK
    +case 81:
    +YY_RULE_SETUP
    +#line 442 "wpp/ppl.l"
    +newline(0); pplval.cptr = pp_xstrdup(" "); return tLITERAL;
    +	YY_BREAK
    +case 82:
    +YY_RULE_SETUP
    +#line 443 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 83:
    +YY_RULE_SETUP
    +#line 444 "wpp/ppl.l"
    +newline(1); yy_pop_state(); return tNL;
    +	YY_BREAK
    +case 84:
    +YY_RULE_SETUP
    +#line 445 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +	YY_BREAK
    +case 85:
    +YY_RULE_SETUP
    +#line 446 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +	YY_BREAK
    +/*
    +	 * Scan the definition macro arguments
    +	 */
    +case 86:
    +YY_RULE_SETUP
    +#line 451 "wpp/ppl.l"
    +yy_pp_state(pp_mbody); return tMACROEND;
    +	YY_BREAK
    +case 87:
    +YY_RULE_SETUP
    +#line 452 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 88:
    +YY_RULE_SETUP
    +#line 453 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +	YY_BREAK
    +case 89:
    +YY_RULE_SETUP
    +#line 454 "wpp/ppl.l"
    +return ',';
    +	YY_BREAK
    +case 90:
    +YY_RULE_SETUP
    +#line 455 "wpp/ppl.l"
    +return tELIPSIS;
    +	YY_BREAK
    +case 91:
    +YY_RULE_SETUP
    +#line 456 "wpp/ppl.l"
    +pperror("Argument identifier expected");
    +	YY_BREAK
    +case 92:
    +YY_RULE_SETUP
    +#line 457 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +/*
    +	 * Scan the substitution of a macro
    +	 */
    +case 93:
    +YY_RULE_SETUP
    +#line 462 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +	YY_BREAK
    +case 94:
    +YY_RULE_SETUP
    +#line 463 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +	YY_BREAK
    +case 95:
    +YY_RULE_SETUP
    +#line 464 "wpp/ppl.l"
    +return tCONCAT;
    +	YY_BREAK
    +case 96:
    +YY_RULE_SETUP
    +#line 465 "wpp/ppl.l"
    +return tSTRINGIZE;
    +	YY_BREAK
    +case 97:
    +YY_RULE_SETUP
    +#line 466 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +	YY_BREAK
    +case 98:
    +YY_RULE_SETUP
    +#line 467 "wpp/ppl.l"
    +pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +	YY_BREAK
    +case 99:
    +YY_RULE_SETUP
    +#line 468 "wpp/ppl.l"
    +newline(0); pplval.cptr = pp_xstrdup(" "); return tLITERAL;
    +	YY_BREAK
    +case 100:
    +YY_RULE_SETUP
    +#line 469 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 101:
    +YY_RULE_SETUP
    +#line 470 "wpp/ppl.l"
    +newline(1); yy_pop_state(); return tNL;
    +	YY_BREAK
    +case 102:
    +YY_RULE_SETUP
    +#line 471 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +	YY_BREAK
    +case 103:
    +YY_RULE_SETUP
    +#line 472 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +	YY_BREAK
    +/*
    +	 * Macro expansion text scanning.
    +	 * This state is active just after the identifier is scanned
    +	 * that triggers an expansion. We *must* delete the leading
    +	 * whitespace before we can start scanning for arguments.
    +	 *
    +	 * If we do not see a '(' as next trailing token, then we have
    +	 * a false alarm. We just continue with a nose-bleed...
    +	 */
    +case 104:
    +*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
    +yy_c_buf_p = yy_cp -= 1;
    +YY_DO_BEFORE_ACTION; /* set up yytext again */
    +YY_RULE_SETUP
    +#line 483 "wpp/ppl.l"
    +yy_pp_state(pp_macscan);
    +	YY_BREAK
    +case 105:
    +YY_RULE_SETUP
    +#line 484 "wpp/ppl.l"
    +{
    +		if(yy_top_state() != pp_macscan)
    +			newline(0);
    +	}
    +	YY_BREAK
    +case 106:
    +YY_RULE_SETUP
    +#line 488 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 107:
    +YY_RULE_SETUP
    +#line 489 "wpp/ppl.l"
    +{
    +		macexpstackentry_t *mac = pop_macro();
    +		yy_pop_state();
    +		put_buffer(mac->ppp->ident, strlen(mac->ppp->ident));
    +		put_buffer(pptext, ppleng);
    +		free_macro(mac);
    +	}
    +	YY_BREAK
    +/*
    +	 * Macro expansion argument text scanning.
    +	 * This state is active when a macro's arguments are being read for expansion.
    +	 */
    +case 108:
    +YY_RULE_SETUP
    +#line 501 "wpp/ppl.l"
    +{
    +		if(++MACROPARENTHESES() > 1)
    +			add_text_to_macro(pptext, ppleng);
    +	}
    +	YY_BREAK
    +case 109:
    +YY_RULE_SETUP
    +#line 505 "wpp/ppl.l"
    +{
    +		if(--MACROPARENTHESES() == 0)
    +		{
    +			yy_pop_state();
    +			macro_add_arg(1);
    +		}
    +		else
    +			add_text_to_macro(pptext, ppleng);
    +	}
    +	YY_BREAK
    +case 110:
    +YY_RULE_SETUP
    +#line 514 "wpp/ppl.l"
    +{
    +		if(MACROPARENTHESES() > 1)
    +			add_text_to_macro(pptext, ppleng);
    +		else
    +			macro_add_arg(0);
    +	}
    +	YY_BREAK
    +case 111:
    +YY_RULE_SETUP
    +#line 520 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +	YY_BREAK
    +case 112:
    +YY_RULE_SETUP
    +#line 521 "wpp/ppl.l"
    +new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +	YY_BREAK
    +case 113:
    +YY_RULE_SETUP
    +#line 522 "wpp/ppl.l"
    +yy_push_state(pp_comment); add_text_to_macro(" ", 1);
    +	YY_BREAK
    +case 114:
    +YY_RULE_SETUP
    +#line 523 "wpp/ppl.l"
    +pp_status.line_number++; pp_status.char_number = 1; add_text_to_macro(pptext, ppleng);
    +	YY_BREAK
    +case 115:
    +YY_RULE_SETUP
    +#line 524 "wpp/ppl.l"
    +add_text_to_macro(pptext, ppleng);
    +	YY_BREAK
    +case 116:
    +YY_RULE_SETUP
    +#line 525 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +/*
    +	 * Comment handling (almost all start-conditions)
    +	 */
    +case 117:
    +YY_RULE_SETUP
    +#line 530 "wpp/ppl.l"
    +yy_push_state(pp_comment);
    +	YY_BREAK
    +case 118:
    +YY_RULE_SETUP
    +#line 531 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 119:
    +YY_RULE_SETUP
    +#line 532 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 120:
    +YY_RULE_SETUP
    +#line 533 "wpp/ppl.l"
    +yy_pop_state();
    +	YY_BREAK
    +/*
    +	 * Remove C++ style comment (almost all start-conditions)
    +	 */
    +case 121:
    +YY_RULE_SETUP
    +#line 538 "wpp/ppl.l"
    +{
    +		if(pptext[ppleng-1] == '\\')
    +			ppwarning("C++ style comment ends with an escaped newline (escape ignored)");
    +	}
    +	YY_BREAK
    +/*
    +	 * Single, double and <> quoted constants
    +	 */
    +case 122:
    +YY_RULE_SETUP
    +#line 546 "wpp/ppl.l"
    +pp_incl_state.seen_junk++; new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +	YY_BREAK
    +case 123:
    +YY_RULE_SETUP
    +#line 547 "wpp/ppl.l"
    +pp_incl_state.seen_junk++; new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +	YY_BREAK
    +case 124:
    +YY_RULE_SETUP
    +#line 548 "wpp/ppl.l"
    +add_string(pptext, ppleng);
    +	YY_BREAK
    +case 125:
    +YY_RULE_SETUP
    +#line 549 "wpp/ppl.l"
    +{
    +		add_string(pptext, ppleng);
    +		yy_pop_state();
    +		switch(yy_current_state())
    +		{
    +		case pp_pp:
    +		case pp_define:
    +		case pp_mbody:
    +		case pp_inc:
    +		case RCINCL:
    +			if (yy_current_state()==RCINCL) yy_pop_state();
    +			pplval.cptr = get_string();
    +			return tDQSTRING;
    +		case pp_line:
    +			pplval.cptr = get_string();
    +			if (is_c_h_include(pplval.cptr, 1)) pass_data=0;
    +			else pass_data=1;
    +//fprintf(stderr, "%s pass_data %d\n", pplval.cptr, pass_data);
    +			return tDQSTRING;
    +		default:
    +			put_string();
    +		}
    +	}
    +	YY_BREAK
    +case 126:
    +YY_RULE_SETUP
    +#line 572 "wpp/ppl.l"
    +add_string(pptext, ppleng);
    +	YY_BREAK
    +case 127:
    +YY_RULE_SETUP
    +#line 573 "wpp/ppl.l"
    +{
    +		add_string(pptext, ppleng);
    +		yy_pop_state();
    +		switch(yy_current_state())
    +		{
    +		case pp_if:
    +		case pp_define:
    +		case pp_mbody:
    +			pplval.cptr = get_string();
    +			return tSQSTRING;
    +		default:
    +			put_string();
    +		}
    +	}
    +	YY_BREAK
    +case 128:
    +YY_RULE_SETUP
    +#line 587 "wpp/ppl.l"
    +add_string(pptext, ppleng);
    +	YY_BREAK
    +case 129:
    +YY_RULE_SETUP
    +#line 588 "wpp/ppl.l"
    +{
    +		add_string(pptext, ppleng);
    +		yy_pop_state();
    +		pplval.cptr = get_string();
    +		return tIQSTRING;
    +	}
    +	YY_BREAK
    +case 130:
    +YY_RULE_SETUP
    +#line 594 "wpp/ppl.l"
    +{
    +		/*
    +		 * This is tricky; we need to remove the line-continuation
    +		 * from preprocessor strings, but OTOH retain them in all
    +		 * other strings. This is because the resource grammar is
    +		 * even more braindead than initially analysed and line-
    +		 * continuations in strings introduce, sigh, newlines in
    +		 * the output. There goes the concept of non-breaking, non-
    +		 * spacing whitespace.
    +		 */
    +		switch(yy_top_state())
    +		{
    +		case pp_pp:
    +		case pp_define:
    +		case pp_mbody:
    +		case pp_inc:
    +		case pp_line:
    +			newline(0);
    +			break;
    +		default:
    +			add_string(pptext, ppleng);
    +			newline(-1);
    +		}
    +	}
    +	YY_BREAK
    +case 131:
    +YY_RULE_SETUP
    +#line 618 "wpp/ppl.l"
    +add_string(pptext, ppleng);
    +	YY_BREAK
    +case 132:
    +YY_RULE_SETUP
    +#line 619 "wpp/ppl.l"
    +{
    +		newline(1);
    +		add_string(pptext, ppleng);
    +		ppwarning("Newline in string constant encounterd (started line %d)", string_start());
    +	}
    +	YY_BREAK
    +/*
    +	 * Identifier scanning
    +	 */
    +case 133:
    +YY_RULE_SETUP
    +#line 628 "wpp/ppl.l"
    +{
    +		pp_entry_t *ppp;
    +		pp_incl_state.seen_junk++;
    +		if(!(ppp = pplookup(pptext)))
    +		{
    +			if(yy_current_state() == pp_inc)
    +				pperror("Expected include filename");
    +
    +			if(yy_current_state() == pp_if)
    +			{
    +				pplval.cptr = pp_xstrdup(pptext);
    +				return tIDENT;
    +			}
    +			else {
    +				if((yy_current_state()==INITIAL) && (strcasecmp(pptext,"RCINCLUDE")==0)){
    +					yy_push_state(RCINCL);
    +					return tRCINCLUDE;
    +				}
    +				else put_buffer(pptext, ppleng);
    +			}
    +		}
    +		else if(!ppp->expanding)
    +		{
    +			switch(ppp->type)
    +			{
    +			case def_special:
    +				expand_special(ppp);
    +				break;
    +			case def_define:
    +				expand_define(ppp);
    +				break;
    +			case def_macro:
    +				yy_push_state(pp_macign);
    +				push_macro(ppp);
    +				break;
    +			default:
    +				pp_internal_error(__FILE__, __LINE__, "Invalid define type %d\n", ppp->type);
    +			}
    +		}
    +	}
    +	YY_BREAK
    +/*
    +	 * Everything else that needs to be passed and
    +	 * newline and continuation handling
    +	 */
    +case 134:
    +YY_RULE_SETUP
    +#line 673 "wpp/ppl.l"
    +pp_incl_state.seen_junk++; put_buffer(pptext, ppleng);
    +	YY_BREAK
    +case 135:
    +YY_RULE_SETUP
    +#line 674 "wpp/ppl.l"
    +put_buffer(pptext, ppleng);
    +	YY_BREAK
    +case 136:
    +YY_RULE_SETUP
    +#line 675 "wpp/ppl.l"
    +newline(1);
    +	YY_BREAK
    +case 137:
    +YY_RULE_SETUP
    +#line 676 "wpp/ppl.l"
    +newline(0);
    +	YY_BREAK
    +case 138:
    +YY_RULE_SETUP
    +#line 677 "wpp/ppl.l"
    +pp_incl_state.seen_junk++; put_buffer(pptext, ppleng);
    +	YY_BREAK
    +/*
    +	 * Special catcher for macro argmument expansion to prevent
    +	 * newlines to propagate to the output or admin.
    +	 */
    +case 139:
    +YY_RULE_SETUP
    +#line 683 "wpp/ppl.l"
    +put_buffer(pptext, ppleng);
    +	YY_BREAK
    +case 140:
    +YY_RULE_SETUP
    +#line 685 "wpp/ppl.l"
    +{
    +		pplval.cptr=pp_xstrdup(pptext);
    +        	yy_pop_state();
    +		return tRCINCLUDEPATH;
    +	}
    +	YY_BREAK
    +case 141:
    +YY_RULE_SETUP
    +#line 691 "wpp/ppl.l"
    +;
    +	YY_BREAK
    +case 142:
    +YY_RULE_SETUP
    +#line 693 "wpp/ppl.l"
    +{
    +		new_string(); add_string(pptext,ppleng);yy_push_state(pp_dqs);
    +	}
    +	YY_BREAK
    +/*
    +	 * This is a 'catch-all' rule to discover errors in the scanner
    +	 * in an orderly manner.
    +	 */
    +case 143:
    +YY_RULE_SETUP
    +#line 701 "wpp/ppl.l"
    +pp_incl_state.seen_junk++; ppwarning("Unmatched text '%c' (0x%02x); please report\n", isprint(*pptext & 0xff) ? *pptext : ' ', *pptext);
    +	YY_BREAK
    +case YY_STATE_EOF(INITIAL):
    +case YY_STATE_EOF(pp_pp):
    +case YY_STATE_EOF(pp_eol):
    +case YY_STATE_EOF(pp_inc):
    +case YY_STATE_EOF(pp_dqs):
    +case YY_STATE_EOF(pp_sqs):
    +case YY_STATE_EOF(pp_iqs):
    +case YY_STATE_EOF(pp_comment):
    +case YY_STATE_EOF(pp_def):
    +case YY_STATE_EOF(pp_define):
    +case YY_STATE_EOF(pp_macro):
    +case YY_STATE_EOF(pp_mbody):
    +case YY_STATE_EOF(pp_macign):
    +case YY_STATE_EOF(pp_macscan):
    +case YY_STATE_EOF(pp_macexp):
    +case YY_STATE_EOF(pp_if):
    +case YY_STATE_EOF(pp_ifd):
    +case YY_STATE_EOF(pp_endif):
    +case YY_STATE_EOF(pp_line):
    +case YY_STATE_EOF(pp_defined):
    +case YY_STATE_EOF(pp_ignore):
    +case YY_STATE_EOF(RCINCL):
    +#line 703 "wpp/ppl.l"
    +{
    +		YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
    +		bufferstackentry_t *bep = pop_buffer();
    +
    +		if((!bep && pp_get_if_depth()) || (bep && pp_get_if_depth() != bep->if_depth))
    +			ppwarning("Unmatched #if/#endif at end of file");
    +
    +		if(!bep)
    +		{
    +			if(YY_START != INITIAL)
    +				pperror("Unexpected end of file during preprocessing");
    +			yyterminate();
    +		}
    +		else if(bep->should_pop == 2)
    +		{
    +			macexpstackentry_t *mac;
    +			mac = pop_macro();
    +			expand_macro(mac);
    +		}
    +		pp_delete_buffer(b);
    +	}
    +	YY_BREAK
    +case 144:
    +YY_RULE_SETUP
    +#line 725 "wpp/ppl.l"
    +ECHO;
    +	YY_BREAK
    +#line 15291 "wpp/lex.yy.c"
    +
    +	case YY_END_OF_BUFFER:
    +		{
    +		/* Amount of text matched not including the EOB char. */
    +		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
    +
    +		/* Undo the effects of YY_DO_BEFORE_ACTION. */
    +		*yy_cp = yy_hold_char;
    +		YY_RESTORE_YY_MORE_OFFSET
    +
    +		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
    +			{
    +			/* We're scanning a new file or input source.  It's
    +			 * possible that this happened because the user
    +			 * just pointed yyin at a new source and called
    +			 * yylex().  If so, then we have to assure
    +			 * consistency between yy_current_buffer and our
    +			 * globals.  Here is the right place to do so, because
    +			 * this is the first action (other than possibly a
    +			 * back-up) that will match for the new input source.
    +			 */
    +			yy_n_chars = yy_current_buffer->yy_n_chars;
    +			yy_current_buffer->yy_input_file = yyin;
    +			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
    +			}
    +
    +		/* Note that here we test for yy_c_buf_p "<=" to the position
    +		 * of the first EOB in the buffer, since yy_c_buf_p will
    +		 * already have been incremented past the NUL character
    +		 * (since all states make transitions on EOB to the
    +		 * end-of-buffer state).  Contrast this with the test
    +		 * in input().
    +		 */
    +		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    +			{ /* This was really a NUL. */
    +			yy_state_type yy_next_state;
    +
    +			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
    +
    +			yy_current_state = yy_get_previous_state();
    +
    +			/* Okay, we're now positioned to make the NUL
    +			 * transition.  We couldn't have
    +			 * yy_get_previous_state() go ahead and do it
    +			 * for us because it doesn't know how to deal
    +			 * with the possibility of jamming (and we don't
    +			 * want to build jamming into it because then it
    +			 * will run more slowly).
    +			 */
    +
    +			yy_next_state = yy_try_NUL_trans( yy_current_state );
    +
    +			yy_bp = yytext_ptr + YY_MORE_ADJ;
    +
    +			if ( yy_next_state )
    +				{
    +				/* Consume the NUL. */
    +				yy_cp = ++yy_c_buf_p;
    +				yy_current_state = yy_next_state;
    +				goto yy_match;
    +				}
    +
    +			else
    +				{
    +				yy_cp = yy_c_buf_p;
    +				goto yy_find_action;
    +				}
    +			}
    +
    +		else switch ( yy_get_next_buffer() )
    +			{
    +			case EOB_ACT_END_OF_FILE:
    +				{
    +				yy_did_buffer_switch_on_eof = 0;
    +
    +				if ( yywrap() )
    +					{
    +					/* Note: because we've taken care in
    +					 * yy_get_next_buffer() to have set up
    +					 * yytext, we can now set up
    +					 * yy_c_buf_p so that if some total
    +					 * hoser (like flex itself) wants to
    +					 * call the scanner after we return the
    +					 * YY_NULL, it'll still work - another
    +					 * YY_NULL will get returned.
    +					 */
    +					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
    +
    +					yy_act = YY_STATE_EOF(YY_START);
    +					goto do_action;
    +					}
    +
    +				else
    +					{
    +					if ( ! yy_did_buffer_switch_on_eof )
    +						YY_NEW_FILE;
    +					}
    +				break;
    +				}
    +
    +			case EOB_ACT_CONTINUE_SCAN:
    +				yy_c_buf_p =
    +					yytext_ptr + yy_amount_of_matched_text;
    +
    +				yy_current_state = yy_get_previous_state();
    +
    +				yy_cp = yy_c_buf_p;
    +				yy_bp = yytext_ptr + YY_MORE_ADJ;
    +				goto yy_match;
    +
    +			case EOB_ACT_LAST_MATCH:
    +				yy_c_buf_p =
    +				&yy_current_buffer->yy_ch_buf[yy_n_chars];
    +
    +				yy_current_state = yy_get_previous_state();
    +
    +				yy_cp = yy_c_buf_p;
    +				yy_bp = yytext_ptr + YY_MORE_ADJ;
    +				goto yy_find_action;
    +			}
    +		break;
    +		}
    +
    +	default:
    +		YY_FATAL_ERROR(
    +			"fatal flex scanner internal error--no action found" );
    +	} /* end of action switch */
    +		} /* end of scanning one token */
    +	} /* end of yylex */
    +
    +
    +/* yy_get_next_buffer - try to read in a new buffer
    + *
    + * Returns a code representing an action:
    + *	EOB_ACT_LAST_MATCH -
    + *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
    + *	EOB_ACT_END_OF_FILE - end of file
    + */
    +
    +static int yy_get_next_buffer()
    +	{
    +	register char *dest = yy_current_buffer->yy_ch_buf;
    +	register char *source = yytext_ptr;
    +	register int number_to_move, i;
    +	int ret_val;
    +
    +	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
    +		YY_FATAL_ERROR(
    +		"fatal flex scanner internal error--end of buffer missed" );
    +
    +	if ( yy_current_buffer->yy_fill_buffer == 0 )
    +		{ /* Don't try to fill the buffer, so this is an EOF. */
    +		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
    +			{
    +			/* We matched a single character, the EOB, so
    +			 * treat this as a final EOF.
    +			 */
    +			return EOB_ACT_END_OF_FILE;
    +			}
    +
    +		else
    +			{
    +			/* We matched some text prior to the EOB, first
    +			 * process it.
    +			 */
    +			return EOB_ACT_LAST_MATCH;
    +			}
    +		}
    +
    +	/* Try to read more data. */
    +
    +	/* First move last chars to start of buffer. */
    +	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
    +
    +	for ( i = 0; i < number_to_move; ++i )
    +		*(dest++) = *(source++);
    +
    +	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
    +		/* don't do the read, it's not guaranteed to return an EOF,
    +		 * just force an EOF
    +		 */
    +		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
    +
    +	else
    +		{
    +		int num_to_read =
    +			yy_current_buffer->yy_buf_size - number_to_move - 1;
    +
    +		while ( num_to_read <= 0 )
    +			{ /* Not enough room in the buffer - grow it. */
    +#ifdef YY_USES_REJECT
    +			YY_FATAL_ERROR(
    +"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
    +#else
    +
    +			/* just a shorter name for the current buffer */
    +			YY_BUFFER_STATE b = yy_current_buffer;
    +
    +			int yy_c_buf_p_offset =
    +				(int) (yy_c_buf_p - b->yy_ch_buf);
    +
    +			if ( b->yy_is_our_buffer )
    +				{
    +				int new_size = b->yy_buf_size * 2;
    +
    +				if ( new_size <= 0 )
    +					b->yy_buf_size += b->yy_buf_size / 8;
    +				else
    +					b->yy_buf_size *= 2;
    +
    +				b->yy_ch_buf = (char *)
    +					/* Include room in for 2 EOB chars. */
    +					yy_flex_realloc( (void *) b->yy_ch_buf,
    +							 b->yy_buf_size + 2 );
    +				}
    +			else
    +				/* Can't grow it, we don't own it. */
    +				b->yy_ch_buf = 0;
    +
    +			if ( ! b->yy_ch_buf )
    +				YY_FATAL_ERROR(
    +				"fatal error - scanner input buffer overflow" );
    +
    +			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
    +
    +			num_to_read = yy_current_buffer->yy_buf_size -
    +						number_to_move - 1;
    +#endif
    +			}
    +
    +		if ( num_to_read > YY_READ_BUF_SIZE )
    +			num_to_read = YY_READ_BUF_SIZE;
    +
    +		/* Read in more data. */
    +		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
    +			yy_n_chars, num_to_read );
    +
    +		yy_current_buffer->yy_n_chars = yy_n_chars;
    +		}
    +
    +	if ( yy_n_chars == 0 )
    +		{
    +		if ( number_to_move == YY_MORE_ADJ )
    +			{
    +			ret_val = EOB_ACT_END_OF_FILE;
    +			yyrestart( yyin );
    +			}
    +
    +		else
    +			{
    +			ret_val = EOB_ACT_LAST_MATCH;
    +			yy_current_buffer->yy_buffer_status =
    +				YY_BUFFER_EOF_PENDING;
    +			}
    +		}
    +
    +	else
    +		ret_val = EOB_ACT_CONTINUE_SCAN;
    +
    +	yy_n_chars += number_to_move;
    +	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
    +	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
    +
    +	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
    +
    +	return ret_val;
    +	}
    +
    +
    +/* yy_get_previous_state - get the state just before the EOB char was reached */
    +
    +static yy_state_type yy_get_previous_state()
    +	{
    +	register yy_state_type yy_current_state;
    +	register char *yy_cp;
    +
    +	yy_current_state = yy_start;
    +	yy_current_state += YY_AT_BOL();
    +
    +	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
    +		{
    +		if ( *yy_cp )
    +			{
    +			yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
    +			}
    +		else
    +			yy_current_state = yy_NUL_trans[yy_current_state];
    +		if ( yy_accept[yy_current_state] )
    +			{
    +			yy_last_accepting_state = yy_current_state;
    +			yy_last_accepting_cpos = yy_cp;
    +			}
    +		}
    +
    +	return yy_current_state;
    +	}
    +
    +
    +/* yy_try_NUL_trans - try to make a transition on the NUL character
    + *
    + * synopsis
    + *	next_state = yy_try_NUL_trans( current_state );
    + */
    +
    +#ifdef YY_USE_PROTOS
    +static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
    +#else
    +static yy_state_type yy_try_NUL_trans( yy_current_state )
    +yy_state_type yy_current_state;
    +#endif
    +	{
    +	register int yy_is_jam;
    +	register char *yy_cp = yy_c_buf_p;
    +
    +	yy_current_state = yy_NUL_trans[yy_current_state];
    +	yy_is_jam = (yy_current_state == 0);
    +
    +	if ( ! yy_is_jam )
    +		{
    +		if ( yy_accept[yy_current_state] )
    +			{
    +			yy_last_accepting_state = yy_current_state;
    +			yy_last_accepting_cpos = yy_cp;
    +			}
    +		}
    +
    +	return yy_is_jam ? 0 : yy_current_state;
    +	}
    +
    +
    +#ifndef YY_NO_UNPUT
    +#ifdef YY_USE_PROTOS
    +static void yyunput( int c, register char *yy_bp )
    +#else
    +static void yyunput( c, yy_bp )
    +int c;
    +register char *yy_bp;
    +#endif
    +	{
    +	register char *yy_cp = yy_c_buf_p;
    +
    +	/* undo effects of setting up yytext */
    +	*yy_cp = yy_hold_char;
    +
    +	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    +		{ /* need to shift things up to make room */
    +		/* +2 for EOB chars. */
    +		register int number_to_move = yy_n_chars + 2;
    +		register char *dest = &yy_current_buffer->yy_ch_buf[
    +					yy_current_buffer->yy_buf_size + 2];
    +		register char *source =
    +				&yy_current_buffer->yy_ch_buf[number_to_move];
    +
    +		while ( source > yy_current_buffer->yy_ch_buf )
    +			*--dest = *--source;
    +
    +		yy_cp += (int) (dest - source);
    +		yy_bp += (int) (dest - source);
    +		yy_current_buffer->yy_n_chars =
    +			yy_n_chars = yy_current_buffer->yy_buf_size;
    +
    +		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    +			YY_FATAL_ERROR( "flex scanner push-back overflow" );
    +		}
    +
    +	*--yy_cp = (char) c;
    +
    +
    +	yytext_ptr = yy_bp;
    +	yy_hold_char = *yy_cp;
    +	yy_c_buf_p = yy_cp;
    +	}
    +#endif	/* ifndef YY_NO_UNPUT */
    +
    +
    +#ifdef __cplusplus
    +static int yyinput()
    +#else
    +static int input()
    +#endif
    +	{
    +	int c;
    +
    +	*yy_c_buf_p = yy_hold_char;
    +
    +	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
    +		{
    +		/* yy_c_buf_p now points to the character we want to return.
    +		 * If this occurs *before* the EOB characters, then it's a
    +		 * valid NUL; if not, then we've hit the end of the buffer.
    +		 */
    +		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    +			/* This was really a NUL. */
    +			*yy_c_buf_p = '\0';
    +
    +		else
    +			{ /* need more input */
    +			int offset = yy_c_buf_p - yytext_ptr;
    +			++yy_c_buf_p;
    +
    +			switch ( yy_get_next_buffer() )
    +				{
    +				case EOB_ACT_LAST_MATCH:
    +					/* This happens because yy_g_n_b()
    +					 * sees that we've accumulated a
    +					 * token and flags that we need to
    +					 * try matching the token before
    +					 * proceeding.  But for input(),
    +					 * there's no matching to consider.
    +					 * So convert the EOB_ACT_LAST_MATCH
    +					 * to EOB_ACT_END_OF_FILE.
    +					 */
    +
    +					/* Reset buffer status. */
    +					yyrestart( yyin );
    +
    +					/* fall through */
    +
    +				case EOB_ACT_END_OF_FILE:
    +					{
    +					if ( yywrap() )
    +						return EOF;
    +
    +					if ( ! yy_did_buffer_switch_on_eof )
    +						YY_NEW_FILE;
    +#ifdef __cplusplus
    +					return yyinput();
    +#else
    +					return input();
    +#endif
    +					}
    +
    +				case EOB_ACT_CONTINUE_SCAN:
    +					yy_c_buf_p = yytext_ptr + offset;
    +					break;
    +				}
    +			}
    +		}
    +
    +	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
    +	*yy_c_buf_p = '\0';	/* preserve yytext */
    +	yy_hold_char = *++yy_c_buf_p;
    +
    +	yy_current_buffer->yy_at_bol = (c == '\n');
    +
    +	return c;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yyrestart( FILE *input_file )
    +#else
    +void yyrestart( input_file )
    +FILE *input_file;
    +#endif
    +	{
    +	if ( ! yy_current_buffer )
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
    +
    +	yy_init_buffer( yy_current_buffer, input_file );
    +	yy_load_buffer_state();
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
    +#else
    +void yy_switch_to_buffer( new_buffer )
    +YY_BUFFER_STATE new_buffer;
    +#endif
    +	{
    +	if ( yy_current_buffer == new_buffer )
    +		return;
    +
    +	if ( yy_current_buffer )
    +		{
    +		/* Flush out information for old buffer. */
    +		*yy_c_buf_p = yy_hold_char;
    +		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
    +		yy_current_buffer->yy_n_chars = yy_n_chars;
    +		}
    +
    +	yy_current_buffer = new_buffer;
    +	yy_load_buffer_state();
    +
    +	/* We don't actually know whether we did this switch during
    +	 * EOF (yywrap()) processing, but the only time this flag
    +	 * is looked at is after yywrap() is called, so it's safe
    +	 * to go ahead and always set it.
    +	 */
    +	yy_did_buffer_switch_on_eof = 1;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_load_buffer_state( void )
    +#else
    +void yy_load_buffer_state()
    +#endif
    +	{
    +	yy_n_chars = yy_current_buffer->yy_n_chars;
    +	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
    +	yyin = yy_current_buffer->yy_input_file;
    +	yy_hold_char = *yy_c_buf_p;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
    +#else
    +YY_BUFFER_STATE yy_create_buffer( file, size )
    +FILE *file;
    +int size;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +
    +	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    +
    +	b->yy_buf_size = size;
    +
    +	/* yy_ch_buf has to be 2 characters longer than the size given because
    +	 * we need to put in 2 end-of-buffer characters.
    +	 */
    +	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
    +	if ( ! b->yy_ch_buf )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    +
    +	b->yy_is_our_buffer = 1;
    +
    +	yy_init_buffer( b, file );
    +
    +	return b;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_delete_buffer( YY_BUFFER_STATE b )
    +#else
    +void yy_delete_buffer( b )
    +YY_BUFFER_STATE b;
    +#endif
    +	{
    +	if ( ! b )
    +		return;
    +
    +	if ( b == yy_current_buffer )
    +		yy_current_buffer = (YY_BUFFER_STATE) 0;
    +
    +	if ( b->yy_is_our_buffer )
    +		yy_flex_free( (void *) b->yy_ch_buf );
    +
    +	yy_flex_free( (void *) b );
    +	}
    +
    +
    +#ifndef _WIN32
    +#include 
    +#else
    +#ifndef YY_ALWAYS_INTERACTIVE
    +#ifndef YY_NEVER_INTERACTIVE
    +extern int isatty YY_PROTO(( int ));
    +#endif
    +#endif
    +#endif
    +
    +#ifdef YY_USE_PROTOS
    +void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
    +#else
    +void yy_init_buffer( b, file )
    +YY_BUFFER_STATE b;
    +FILE *file;
    +#endif
    +
    +
    +	{
    +	yy_flush_buffer( b );
    +
    +	b->yy_input_file = file;
    +	b->yy_fill_buffer = 1;
    +
    +#if YY_ALWAYS_INTERACTIVE
    +	b->yy_is_interactive = 1;
    +#else
    +#if YY_NEVER_INTERACTIVE
    +	b->yy_is_interactive = 0;
    +#else
    +	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
    +#endif
    +#endif
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_flush_buffer( YY_BUFFER_STATE b )
    +#else
    +void yy_flush_buffer( b )
    +YY_BUFFER_STATE b;
    +#endif
    +
    +	{
    +	if ( ! b )
    +		return;
    +
    +	b->yy_n_chars = 0;
    +
    +	/* We always need two end-of-buffer characters.  The first causes
    +	 * a transition to the end-of-buffer state.  The second causes
    +	 * a jam in that state.
    +	 */
    +	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
    +	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
    +
    +	b->yy_buf_pos = &b->yy_ch_buf[0];
    +
    +	b->yy_at_bol = 1;
    +	b->yy_buffer_status = YY_BUFFER_NEW;
    +
    +	if ( b == yy_current_buffer )
    +		yy_load_buffer_state();
    +	}
    +
    +
    +#ifndef YY_NO_SCAN_BUFFER
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
    +#else
    +YY_BUFFER_STATE yy_scan_buffer( base, size )
    +char *base;
    +yy_size_t size;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +
    +	if ( size < 2 ||
    +	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
    +	     base[size-1] != YY_END_OF_BUFFER_CHAR )
    +		/* They forgot to leave room for the EOB's. */
    +		return 0;
    +
    +	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
    +
    +	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
    +	b->yy_buf_pos = b->yy_ch_buf = base;
    +	b->yy_is_our_buffer = 0;
    +	b->yy_input_file = 0;
    +	b->yy_n_chars = b->yy_buf_size;
    +	b->yy_is_interactive = 0;
    +	b->yy_at_bol = 1;
    +	b->yy_fill_buffer = 0;
    +	b->yy_buffer_status = YY_BUFFER_NEW;
    +
    +	yy_switch_to_buffer( b );
    +
    +	return b;
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_SCAN_STRING
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
    +#else
    +YY_BUFFER_STATE yy_scan_string( yy_str )
    +yyconst char *yy_str;
    +#endif
    +	{
    +	int len;
    +	for ( len = 0; yy_str[len]; ++len )
    +		;
    +
    +	return yy_scan_bytes( yy_str, len );
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_SCAN_BYTES
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
    +#else
    +YY_BUFFER_STATE yy_scan_bytes( bytes, len )
    +yyconst char *bytes;
    +int len;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +	char *buf;
    +	yy_size_t n;
    +	int i;
    +
    +	/* Get memory for full buffer, including space for trailing EOB's. */
    +	n = len + 2;
    +	buf = (char *) yy_flex_alloc( n );
    +	if ( ! buf )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
    +
    +	for ( i = 0; i < len; ++i )
    +		buf[i] = bytes[i];
    +
    +	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
    +
    +	b = yy_scan_buffer( buf, n );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
    +
    +	/* It's okay to grow etc. this buffer, and we should throw it
    +	 * away when we're done.
    +	 */
    +	b->yy_is_our_buffer = 1;
    +
    +	return b;
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_PUSH_STATE
    +#ifdef YY_USE_PROTOS
    +static void yy_push_state( int new_state )
    +#else
    +static void yy_push_state( new_state )
    +int new_state;
    +#endif
    +	{
    +	if ( yy_start_stack_ptr >= yy_start_stack_depth )
    +		{
    +		yy_size_t new_size;
    +
    +		yy_start_stack_depth += YY_START_STACK_INCR;
    +		new_size = yy_start_stack_depth * sizeof( int );
    +
    +		if ( ! yy_start_stack )
    +			yy_start_stack = (int *) yy_flex_alloc( new_size );
    +
    +		else
    +			yy_start_stack = (int *) yy_flex_realloc(
    +					(void *) yy_start_stack, new_size );
    +
    +		if ( ! yy_start_stack )
    +			YY_FATAL_ERROR(
    +			"out of memory expanding start-condition stack" );
    +		}
    +
    +	yy_start_stack[yy_start_stack_ptr++] = YY_START;
    +
    +	BEGIN(new_state);
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_POP_STATE
    +static void yy_pop_state()
    +	{
    +	if ( --yy_start_stack_ptr < 0 )
    +		YY_FATAL_ERROR( "start-condition stack underflow" );
    +
    +	BEGIN(yy_start_stack[yy_start_stack_ptr]);
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_TOP_STATE
    +static int yy_top_state()
    +	{
    +	return yy_start_stack[yy_start_stack_ptr - 1];
    +	}
    +#endif
    +
    +#ifndef YY_EXIT_FAILURE
    +#define YY_EXIT_FAILURE 2
    +#endif
    +
    +#ifdef YY_USE_PROTOS
    +static void yy_fatal_error( yyconst char msg[] )
    +#else
    +static void yy_fatal_error( msg )
    +char msg[];
    +#endif
    +	{
    +	(void) fprintf( stderr, "%s\n", msg );
    +	exit( YY_EXIT_FAILURE );
    +	}
    +
    +
    +
    +/* Redefine yyless() so it works in section 3 code. */
    +
    +#undef yyless
    +#define yyless(n) \
    +	do \
    +		{ \
    +		/* Undo effects of setting up yytext. */ \
    +		yytext[yyleng] = yy_hold_char; \
    +		yy_c_buf_p = yytext + n; \
    +		yy_hold_char = *yy_c_buf_p; \
    +		*yy_c_buf_p = '\0'; \
    +		yyleng = n; \
    +		} \
    +	while ( 0 )
    +
    +
    +/* Internal utility routines. */
    +
    +#ifndef yytext_ptr
    +#ifdef YY_USE_PROTOS
    +static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
    +#else
    +static void yy_flex_strncpy( s1, s2, n )
    +char *s1;
    +yyconst char *s2;
    +int n;
    +#endif
    +	{
    +	register int i;
    +	for ( i = 0; i < n; ++i )
    +		s1[i] = s2[i];
    +	}
    +#endif
    +
    +#ifdef YY_NEED_STRLEN
    +#ifdef YY_USE_PROTOS
    +static int yy_flex_strlen( yyconst char *s )
    +#else
    +static int yy_flex_strlen( s )
    +yyconst char *s;
    +#endif
    +	{
    +	register int n;
    +	for ( n = 0; s[n]; ++n )
    +		;
    +
    +	return n;
    +	}
    +#endif
    +
    +
    +#ifdef YY_USE_PROTOS
    +static void *yy_flex_alloc( yy_size_t size )
    +#else
    +static void *yy_flex_alloc( size )
    +yy_size_t size;
    +#endif
    +	{
    +	return (void *) malloc( size );
    +	}
    +
    +#ifdef YY_USE_PROTOS
    +static void *yy_flex_realloc( void *ptr, yy_size_t size )
    +#else
    +static void *yy_flex_realloc( ptr, size )
    +void *ptr;
    +yy_size_t size;
    +#endif
    +	{
    +	/* The cast to (char *) in the following accommodates both
    +	 * implementations that use char* generic pointers, and those
    +	 * that use void* generic pointers.  It works with the latter
    +	 * because both ANSI C and C++ allow castless assignment from
    +	 * any pointer type to void*, and deal with argument conversions
    +	 * as though doing an assignment.
    +	 */
    +	return (void *) realloc( (char *) ptr, size );
    +	}
    +
    +#ifdef YY_USE_PROTOS
    +static void yy_flex_free( void *ptr )
    +#else
    +static void yy_flex_free( ptr )
    +void *ptr;
    +#endif
    +	{
    +	free( ptr );
    +	}
    +
    +#if YY_MAIN
    +int main()
    +	{
    +	yylex();
    +	return 0;
    +	}
    +#endif
    +#line 725 "wpp/ppl.l"
    +
    +/*
    + **************************************************************************
    + * Support functions
    + **************************************************************************
    + */
    +
    +#ifndef ppwrap
    +int ppwrap(void)
    +{
    +	return 1;
    +}
    +#endif
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Output newlines or set them as continuations
    + *
    + * Input: -1 - Don't count this one, but update local position (see pp_dqs)
    + *	   0 - Line-continuation seen and cache output
    + *	   1 - Newline seen and flush output
    + *-------------------------------------------------------------------------
    + */
    +static void newline(int dowrite)
    +{
    +	pp_status.line_number++;
    +	pp_status.char_number = 1;
    +
    +	if(dowrite == -1)
    +		return;
    +
    +	ncontinuations++;
    +	if(dowrite)
    +	{
    +		for(;ncontinuations; ncontinuations--)
    +			put_buffer("\n", 1);
    +	}
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Make a number out of an any-base and suffixed string
    + *
    + * Possible number extensions:
    + * - ""		int
    + * - "L"	long int
    + * - "LL"	long long int
    + * - "U"	unsigned int
    + * - "UL"	unsigned long int
    + * - "ULL"	unsigned long long int
    + * - "LU"	unsigned long int
    + * - "LLU"	unsigned long long int
    + * - "LUL"	invalid
    + *
    + * FIXME:
    + * The sizes of resulting 'int' and 'long' are compiler specific.
    + * I depend on sizeof(int) > 2 here (although a relatively safe
    + * assumption).
    + * Long longs are not yet implemented because this is very compiler
    + * specific and I don't want to think too much about the problems.
    + *
    + *-------------------------------------------------------------------------
    + */
    +static int make_number(int radix, YYSTYPE *val, const char *str, int len)
    +{
    +	int is_l  = 0;
    +	int is_ll = 0;
    +	int is_u  = 0;
    +	char ext[4];
    +
    +	ext[3] = '\0';
    +	ext[2] = toupper(str[len-1]);
    +	ext[1] = len > 1 ? toupper(str[len-2]) : ' ';
    +	ext[0] = len > 2 ? toupper(str[len-3]) : ' ';
    +
    +	if(!strcmp(ext, "LUL"))
    +		pperror("Invalid constant suffix");
    +	else if(!strcmp(ext, "LLU") || !strcmp(ext, "ULL"))
    +	{
    +		is_ll++;
    +		is_u++;
    +	}
    +	else if(!strcmp(ext+1, "LU") || !strcmp(ext+1, "UL"))
    +	{
    +		is_l++;
    +		is_u++;
    +	}
    +	else if(!strcmp(ext+1, "LL"))
    +	{
    +		is_ll++;
    +	}
    +	else if(!strcmp(ext+2, "L"))
    +	{
    +		is_l++;
    +	}
    +	else if(!strcmp(ext+2, "U"))
    +	{
    +		is_u++;
    +	}
    +
    +	if(is_ll)
    +		pp_internal_error(__FILE__, __LINE__, "long long constants not implemented yet");
    +
    +	if(is_u && is_l)
    +	{
    +		val->ulong = strtoul(str, NULL, radix);
    +		return tULONG;
    +	}
    +	else if(!is_u && is_l)
    +	{
    +		val->slong = strtol(str, NULL, radix);
    +		return tSLONG;
    +	}
    +	else if(is_u && !is_l)
    +	{
    +		val->uint = (unsigned int)strtoul(str, NULL, radix);
    +		return tUINT;
    +	}
    +
    +	/* Else it must be an int... */
    +	val->sint = (int)strtol(str, NULL, radix);
    +	return tSINT;
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Macro and define expansion support
    + *
    + * FIXME: Variable macro arguments.
    + *-------------------------------------------------------------------------
    + */
    +static void expand_special(pp_entry_t *ppp)
    +{
    +	const char *dbgtext = "?";
    +	static char *buf = NULL;
    +
    +	assert(ppp->type == def_special);
    +
    +	if(!strcmp(ppp->ident, "__LINE__"))
    +	{
    +		dbgtext = "def_special(__LINE__)";
    +		buf = pp_xrealloc(buf, 32);
    +		sprintf(buf, "%d", pp_status.line_number);
    +	}
    +	else if(!strcmp(ppp->ident, "__FILE__"))
    +	{
    +		dbgtext = "def_special(__FILE__)";
    +		buf = pp_xrealloc(buf, strlen(pp_status.input) + 3);
    +		sprintf(buf, "\"%s\"", pp_status.input);
    +	}
    +	else
    +		pp_internal_error(__FILE__, __LINE__, "Special macro '%s' not found...\n", ppp->ident);
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "expand_special(%d): %s:%d: '%s' -> '%s'\n",
    +			macexpstackidx,
    +			pp_status.input,
    +			pp_status.line_number,
    +			ppp->ident,
    +			buf ? buf : "");
    +
    +	if(buf && buf[0])
    +	{
    +		push_buffer(ppp, NULL, NULL, 0);
    +		yy_scan_string(buf);
    +	}
    +}
    +
    +static void expand_define(pp_entry_t *ppp)
    +{
    +	assert(ppp->type == def_define);
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "expand_define(%d): %s:%d: '%s' -> '%s'\n",
    +			macexpstackidx,
    +			pp_status.input,
    +			pp_status.line_number,
    +			ppp->ident,
    +			ppp->subst.text);
    +	if(ppp->subst.text && ppp->subst.text[0])
    +	{
    +		push_buffer(ppp, NULL, NULL, 0);
    +		yy_scan_string(ppp->subst.text);
    +	}
    +}
    +
    +static int curdef_idx = 0;
    +static int curdef_alloc = 0;
    +static char *curdef_text = NULL;
    +
    +static void add_text(const char *str, int len)
    +{
    +	if(len == 0)
    +		return;
    +	if(curdef_idx >= curdef_alloc || curdef_alloc - curdef_idx < len)
    +	{
    +		curdef_alloc += (len + ALLOCBLOCKSIZE-1) & ~(ALLOCBLOCKSIZE-1);
    +		curdef_text = pp_xrealloc(curdef_text, curdef_alloc * sizeof(curdef_text[0]));
    +		if(curdef_alloc > 65536)
    +			ppwarning("Reallocating macro-expansion buffer larger than 64kB");
    +	}
    +	memcpy(&curdef_text[curdef_idx], str, len);
    +	curdef_idx += len;
    +}
    +
    +static mtext_t *add_expand_text(mtext_t *mtp, macexpstackentry_t *mep, int *nnl)
    +{
    +	char *cptr;
    +	char *exp;
    +	int tag;
    +	int n;
    +
    +	if(mtp == NULL)
    +		return NULL;
    +
    +	switch(mtp->type)
    +	{
    +	case exp_text:
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_text: '%s'\n", mtp->subst.text);
    +		add_text(mtp->subst.text, strlen(mtp->subst.text));
    +		break;
    +
    +	case exp_stringize:
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_stringize(%d): '%s'\n",
    +				mtp->subst.argidx,
    +				mep->args[mtp->subst.argidx]);
    +		cptr = mep->args[mtp->subst.argidx];
    +		add_text("\"", 1);
    +		while(*cptr)
    +		{
    +			if(*cptr == '"' || *cptr == '\\')
    +				add_text("\\", 1);
    +			add_text(cptr, 1);
    +			cptr++;
    +		}
    +		add_text("\"", 1);
    +		break;
    +
    +	case exp_concat:
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_concat\n");
    +		/* Remove trailing whitespace from current expansion text */
    +		while(curdef_idx)
    +		{
    +			if(isspace(curdef_text[curdef_idx-1] & 0xff))
    +				curdef_idx--;
    +			else
    +				break;
    +		}
    +		/* tag current position and recursively expand the next part */
    +		tag = curdef_idx;
    +		mtp = add_expand_text(mtp->next, mep, nnl);
    +
    +		/* Now get rid of the leading space of the expansion */
    +		cptr = &curdef_text[tag];
    +		n = curdef_idx - tag;
    +		while(n)
    +		{
    +			if(isspace(*cptr & 0xff))
    +			{
    +				cptr++;
    +				n--;
    +			}
    +			else
    +				break;
    +		}
    +		if(cptr != &curdef_text[tag])
    +		{
    +			memmove(&curdef_text[tag], cptr, n);
    +			curdef_idx -= (curdef_idx - tag) - n;
    +		}
    +		break;
    +
    +	case exp_subst:
    +		if((mtp->next && mtp->next->type == exp_concat) || (mtp->prev && mtp->prev->type == exp_concat))
    +			exp = mep->args[mtp->subst.argidx];
    +		else
    +			exp = mep->ppargs[mtp->subst.argidx];
    +		if(exp)
    +		{
    +			add_text(exp, strlen(exp));
    +			*nnl -= mep->nnls[mtp->subst.argidx];
    +			cptr = strchr(exp, '\n');
    +			while(cptr)
    +			{
    +				*cptr = ' ';
    +				cptr = strchr(cptr+1, '\n');
    +			}
    +			mep->nnls[mtp->subst.argidx] = 0;
    +		}
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_subst(%d): '%s'\n", mtp->subst.argidx, exp);
    +		break;
    +
    +	default:
    +		pp_internal_error(__FILE__, __LINE__, "Invalid expansion type (%d) in macro expansion\n", mtp->type);
    +	}
    +	return mtp;
    +}
    +
    +static void expand_macro(macexpstackentry_t *mep)
    +{
    +	mtext_t *mtp;
    +	int n, k;
    +	char *cptr;
    +	int nnl = 0;
    +	pp_entry_t *ppp = mep->ppp;
    +	int nargs = mep->nargs;
    +
    +	assert(ppp->type == def_macro);
    +	assert(ppp->expanding == 0);
    +
    +	if((ppp->nargs >= 0 && nargs != ppp->nargs) || (ppp->nargs < 0 && nargs < -ppp->nargs))
    +		pperror("Too %s macro arguments (%d)", nargs < abs(ppp->nargs) ? "few" : "many", nargs);
    +
    +	for(n = 0; n < nargs; n++)
    +		nnl += mep->nnls[n];
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "expand_macro(%d): %s:%d: '%s'(%d,%d) -> ...\n",
    +			macexpstackidx,
    +			pp_status.input,
    +			pp_status.line_number,
    +			ppp->ident,
    +			mep->nargs,
    +			nnl);
    +
    +	curdef_idx = 0;
    +
    +	for(mtp = ppp->subst.mtext; mtp; mtp = mtp->next)
    +	{
    +		if(!(mtp = add_expand_text(mtp, mep, &nnl)))
    +			break;
    +	}
    +
    +	for(n = 0; n < nnl; n++)
    +		add_text("\n", 1);
    +
    +	/* To make sure there is room and termination (see below) */
    +	add_text(" \0", 2);
    +
    +	/* Strip trailing whitespace from expansion */
    +	for(k = curdef_idx, cptr = &curdef_text[curdef_idx-1]; k > 0; k--, cptr--)
    +	{
    +		if(!isspace(*cptr & 0xff))
    +			break;
    +	}
    +
    +	/*
    +	 * We must add *one* whitespace to make sure that there
    +	 * is a token-separation after the expansion.
    +	 */
    +	*(++cptr) = ' ';
    +	*(++cptr) = '\0';
    +	k++;
    +
    +	/* Strip leading whitespace from expansion */
    +	for(n = 0, cptr = curdef_text; n < k; n++, cptr++)
    +	{
    +		if(!isspace(*cptr & 0xff))
    +			break;
    +	}
    +
    +	if(k - n > 0)
    +	{
    +		if(pp_flex_debug)
    +			fprintf(stderr, "expand_text: '%s'\n", curdef_text + n);
    +		push_buffer(ppp, NULL, NULL, 0);
    +		/*yy_scan_bytes(curdef_text + n, k - n);*/
    +		yy_scan_string(curdef_text + n);
    +	}
    +}
    +
    +/*
    + *-------------------------------------------------------------------------
    + * String collection routines
    + *-------------------------------------------------------------------------
    + */
    +static void new_string(void)
    +{
    +#ifdef DEBUG
    +	if(strbuf_idx)
    +		ppwarning("new_string: strbuf_idx != 0");
    +#endif
    +	strbuf_idx = 0;
    +	str_startline = pp_status.line_number;
    +}
    +
    +static void add_string(const char *str, int len)
    +{
    +	if(len == 0)
    +		return;
    +	if(strbuf_idx >= strbuf_alloc || strbuf_alloc - strbuf_idx < len)
    +	{
    +		strbuf_alloc += (len + ALLOCBLOCKSIZE-1) & ~(ALLOCBLOCKSIZE-1);
    +		strbuffer = pp_xrealloc(strbuffer, strbuf_alloc * sizeof(strbuffer[0]));
    +		if(strbuf_alloc > 65536)
    +			ppwarning("Reallocating string buffer larger than 64kB");
    +	}
    +	memcpy(&strbuffer[strbuf_idx], str, len);
    +	strbuf_idx += len;
    +}
    +
    +static char *get_string(void)
    +{
    +	char *str = pp_xmalloc(strbuf_idx + 1);
    +	memcpy(str, strbuffer, strbuf_idx);
    +	str[strbuf_idx] = '\0';
    +#ifdef DEBUG
    +	strbuf_idx = 0;
    +#endif
    +	return str;
    +}
    +
    +static void put_string(void)
    +{
    +	put_buffer(strbuffer, strbuf_idx);
    +#ifdef DEBUG
    +	strbuf_idx = 0;
    +#endif
    +}
    +
    +static int string_start(void)
    +{
    +	return str_startline;
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Buffer management
    + *-------------------------------------------------------------------------
    + */
    +static void push_buffer(pp_entry_t *ppp, char *filename, char *incname, int pop)
    +{
    +	if(ppdebug)
    +		printf("push_buffer(%d): %p %p %p %d\n", bufferstackidx, ppp, filename, incname, pop);
    +	if(bufferstackidx >= MAXBUFFERSTACK)
    +		pp_internal_error(__FILE__, __LINE__, "Buffer stack overflow");
    +
    +	memset(&bufferstack[bufferstackidx], 0, sizeof(bufferstack[0]));
    +	bufferstack[bufferstackidx].bufferstate	= YY_CURRENT_BUFFER;
    +	bufferstack[bufferstackidx].define	= ppp;
    +	bufferstack[bufferstackidx].line_number	= pp_status.line_number;
    +	bufferstack[bufferstackidx].char_number	= pp_status.char_number;
    +	bufferstack[bufferstackidx].if_depth	= pp_get_if_depth();
    +	bufferstack[bufferstackidx].should_pop	= pop;
    +	bufferstack[bufferstackidx].filename	= pp_status.input;
    +	bufferstack[bufferstackidx].ncontinuations	= ncontinuations;
    +	bufferstack[bufferstackidx].incl		= pp_incl_state;
    +	bufferstack[bufferstackidx].include_filename	= incname;
    +	bufferstack[bufferstackidx].pass_data		= pass_data;
    +
    +	if(ppp)
    +		ppp->expanding = 1;
    +	else if(filename)
    +	{
    +		/* These will track the pperror to the correct file and line */
    +		pp_status.line_number = 1;
    +		pp_status.char_number = 1;
    +		pp_status.input  = filename;
    +		ncontinuations = 0;
    +	}
    +	else if(!pop)
    +		pp_internal_error(__FILE__, __LINE__, "Pushing buffer without knowing where to go to");
    +	bufferstackidx++;
    +}
    +
    +static bufferstackentry_t *pop_buffer(void)
    +{
    +	if(bufferstackidx < 0)
    +		pp_internal_error(__FILE__, __LINE__, "Bufferstack underflow?");
    +
    +	if(bufferstackidx == 0)
    +		return NULL;
    +
    +	bufferstackidx--;
    +
    +	if(bufferstack[bufferstackidx].define)
    +		bufferstack[bufferstackidx].define->expanding = 0;
    +	else
    +	{
    +		pp_status.line_number = bufferstack[bufferstackidx].line_number;
    +		pp_status.char_number = bufferstack[bufferstackidx].char_number;
    +		pp_status.input  = bufferstack[bufferstackidx].filename;
    +		ncontinuations = bufferstack[bufferstackidx].ncontinuations;
    +		if(!bufferstack[bufferstackidx].should_pop)
    +		{
    +			fclose(ppin);
    +			fprintf(ppout, "# %d \"%s\" 2\n", pp_status.line_number, pp_status.input);
    +
    +			/* We have EOF, check the include logic */
    +			if(pp_incl_state.state == 2 && !pp_incl_state.seen_junk && pp_incl_state.ppp)
    +			{
    +				pp_entry_t *ppp = pplookup(pp_incl_state.ppp);
    +				if(ppp)
    +				{
    +					includelogicentry_t *iep = pp_xmalloc(sizeof(includelogicentry_t));
    +					iep->ppp = ppp;
    +					ppp->iep = iep;
    +					iep->filename = bufferstack[bufferstackidx].include_filename;
    +                                        iep->prev = NULL;
    +					iep->next = pp_includelogiclist;
    +					if(iep->next)
    +						iep->next->prev = iep;
    +					pp_includelogiclist = iep;
    +					if(pp_status.debug)
    +						fprintf(stderr, "pop_buffer: %s:%d: includelogic added, include_ppp='%s', file='%s'\n", pp_status.input, pp_status.line_number, pp_incl_state.ppp, iep->filename);
    +				}
    +				else if(bufferstack[bufferstackidx].include_filename)
    +					free(bufferstack[bufferstackidx].include_filename);
    +			}
    +			if(pp_incl_state.ppp)
    +				free(pp_incl_state.ppp);
    +			pp_incl_state	= bufferstack[bufferstackidx].incl;
    +			pass_data	= bufferstack[bufferstackidx].pass_data;
    +
    +		}
    +	}
    +
    +	if(ppdebug)
    +		printf("pop_buffer(%d): %p %p (%d, %d, %d) %p %d\n",
    +			bufferstackidx,
    +			bufferstack[bufferstackidx].bufferstate,
    +			bufferstack[bufferstackidx].define,
    +			bufferstack[bufferstackidx].line_number,
    +			bufferstack[bufferstackidx].char_number,
    +			bufferstack[bufferstackidx].if_depth,
    +			bufferstack[bufferstackidx].filename,
    +			bufferstack[bufferstackidx].should_pop);
    +
    +	pp_switch_to_buffer(bufferstack[bufferstackidx].bufferstate);
    +
    +	if(bufferstack[bufferstackidx].should_pop)
    +	{
    +		if(yy_current_state() == pp_macexp)
    +			macro_add_expansion();
    +		else
    +			pp_internal_error(__FILE__, __LINE__, "Pop buffer and state without macro expansion state");
    +		yy_pop_state();
    +	}
    +
    +	return &bufferstack[bufferstackidx];
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Macro nestng support
    + *-------------------------------------------------------------------------
    + */
    +static void push_macro(pp_entry_t *ppp)
    +{
    +	if(macexpstackidx >= MAXMACEXPSTACK)
    +		pperror("Too many nested macros");
    +
    +	macexpstack[macexpstackidx] = pp_xmalloc(sizeof(macexpstack[0][0]));
    +        memset( macexpstack[macexpstackidx], 0, sizeof(macexpstack[0][0]));
    +	macexpstack[macexpstackidx]->ppp = ppp;
    +	macexpstackidx++;
    +}
    +
    +static macexpstackentry_t *top_macro(void)
    +{
    +	return macexpstackidx > 0 ? macexpstack[macexpstackidx-1] : NULL;
    +}
    +
    +static macexpstackentry_t *pop_macro(void)
    +{
    +	if(macexpstackidx <= 0)
    +		pp_internal_error(__FILE__, __LINE__, "Macro expansion stack underflow\n");
    +	return macexpstack[--macexpstackidx];
    +}
    +
    +static void free_macro(macexpstackentry_t *mep)
    +{
    +	int i;
    +
    +	for(i = 0; i < mep->nargs; i++)
    +		free(mep->args[i]);
    +	if(mep->args)
    +		free(mep->args);
    +	if(mep->nnls)
    +		free(mep->nnls);
    +	if(mep->curarg)
    +		free(mep->curarg);
    +	free(mep);
    +}
    +
    +static void add_text_to_macro(const char *text, int len)
    +{
    +	macexpstackentry_t *mep = top_macro();
    +
    +	assert(mep->ppp->expanding == 0);
    +
    +	if(mep->curargalloc - mep->curargsize <= len+1)	/* +1 for '\0' */
    +	{
    +		mep->curargalloc += (ALLOCBLOCKSIZE > len+1) ? ALLOCBLOCKSIZE : len+1;
    +		mep->curarg = pp_xrealloc(mep->curarg, mep->curargalloc * sizeof(mep->curarg[0]));
    +	}
    +	memcpy(mep->curarg + mep->curargsize, text, len);
    +	mep->curargsize += len;
    +	mep->curarg[mep->curargsize] = '\0';
    +}
    +
    +static void macro_add_arg(int last)
    +{
    +	int nnl = 0;
    +	char *cptr;
    +	macexpstackentry_t *mep = top_macro();
    +
    +	assert(mep->ppp->expanding == 0);
    +
    +	mep->args = pp_xrealloc(mep->args, (mep->nargs+1) * sizeof(mep->args[0]));
    +	mep->ppargs = pp_xrealloc(mep->ppargs, (mep->nargs+1) * sizeof(mep->ppargs[0]));
    +	mep->nnls = pp_xrealloc(mep->nnls, (mep->nargs+1) * sizeof(mep->nnls[0]));
    +	mep->args[mep->nargs] = pp_xstrdup(mep->curarg ? mep->curarg : "");
    +	cptr = mep->args[mep->nargs]-1;
    +	while((cptr = strchr(cptr+1, '\n')))
    +	{
    +		nnl++;
    +	}
    +	mep->nnls[mep->nargs] = nnl;
    +	mep->nargs++;
    +	free(mep->curarg);
    +	mep->curargalloc = mep->curargsize = 0;
    +	mep->curarg = NULL;
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "macro_add_arg: %s:%d: %d -> '%s'\n",
    +			pp_status.input,
    +			pp_status.line_number,
    +			mep->nargs-1,
    +			mep->args[mep->nargs-1]);
    +
    +	/* Each macro argument must be expanded to cope with stingize */
    +	if(last || mep->args[mep->nargs-1][0])
    +	{
    +		yy_push_state(pp_macexp);
    +		push_buffer(NULL, NULL, NULL, last ? 2 : 1);
    +		yy_scan_string(mep->args[mep->nargs-1]);
    +		/*mep->bufferstackidx = bufferstackidx;	 But not nested! */
    +	}
    +}
    +
    +static void macro_add_expansion(void)
    +{
    +	macexpstackentry_t *mep = top_macro();
    +
    +	assert(mep->ppp->expanding == 0);
    +
    +	mep->ppargs[mep->nargs-1] = pp_xstrdup(mep->curarg ? mep->curarg : "");
    +	free(mep->curarg);
    +	mep->curargalloc = mep->curargsize = 0;
    +	mep->curarg = NULL;
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "macro_add_expansion: %s:%d: %d -> '%s'\n",
    +			pp_status.input,
    +			pp_status.line_number,
    +			mep->nargs-1,
    +			mep->ppargs[mep->nargs-1]);
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Output management
    + *-------------------------------------------------------------------------
    + */
    +static void put_buffer(const char *s, int len)
    +{
    +	if(top_macro())
    +		add_text_to_macro(s, len);
    +	else {
    +           if(pass_data)
    +           fwrite(s, 1, len, ppout);
    +        }
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Include management
    + *-------------------------------------------------------------------------
    + */
    +static int is_c_h_include(char *fname, int quoted)
    +{
    +	int sl=strlen(fname);
    +	if (sl < 2 + 2 * quoted) return 0;
    +	if ((toupper(fname[sl-1-quoted])!='H') && (toupper(fname[sl-1-quoted])!='C')) return 0;
    +        if (fname[sl-2-quoted]!='.') return 0;
    +	return 1;
    +}
    +
    +void pp_do_include(char *fname, int type)
    +{
    +	char *newpath;
    +	int n;
    +	includelogicentry_t *iep;
    +
    +	for(iep = pp_includelogiclist; iep; iep = iep->next)
    +	{
    +		if(!strcmp(iep->filename, fname))
    +		{
    +			/*
    +			 * We are done. The file was included before.
    +			 * If the define was deleted, then this entry would have
    +			 * been deleted too.
    +			 */
    +			return;
    +		}
    +	}
    +
    +	n = strlen(fname);
    +
    +	if(n <= 2)
    +		pperror("Empty include filename");
    +
    +	/* Undo the effect of the quotation */
    +	fname[n-1] = '\0';
    +
    +	if((ppin = pp_open_include(fname+1, type, &newpath)) == NULL)
    +		pperror("Unable to open include file %s", fname+1);
    +
    +	fname[n-1] = *fname;	/* Redo the quotes */
    +	push_buffer(NULL, newpath, fname, 0);
    +	pp_incl_state.seen_junk = 0;
    +	pp_incl_state.state = 0;
    +	pp_incl_state.ppp = NULL;
    +	if (is_c_h_include(newpath, 0)) pass_data=0;
    +	else pass_data=1;
    +
    +	if(pp_status.debug)
    +		fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d ,pass_data=%d\n",
    +                        pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth, pass_data);
    +	pp_switch_to_buffer(pp_create_buffer(ppin, YY_BUF_SIZE));
    +
    +	fprintf(ppout, "# 1 \"%s\" 1%s\n", newpath, type ? "" : " 3");
    +}
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Push/pop preprocessor ignore state when processing conditionals
    + * which are false.
    + *-------------------------------------------------------------------------
    + */
    +void pp_push_ignore_state(void)
    +{
    +	yy_push_state(pp_ignore);
    +}
    +
    +void pp_pop_ignore_state(void)
    +{
    +	yy_pop_state();
    +}
    diff --git a/reactos/tools/wpp/ppl.l b/reactos/tools/wpp/ppl.l
    new file mode 100644
    index 00000000000..6a021ee5084
    --- /dev/null
    +++ b/reactos/tools/wpp/ppl.l
    @@ -0,0 +1,1485 @@
    +/*
    + * Wrc preprocessor lexical analysis
    + *
    + * Copyright 1999-2000	Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * History:
    + * 24-Apr-2000 BS	- Started from scratch to restructure everything
    + *			  and reintegrate the source into the wine-tree.
    + * 04-Jan-2000 BS	- Added comments about the lexicographical
    + *			  grammar to give some insight in the complexity.
    + * 28-Dec-1999 BS	- Eliminated backing-up of the flexer by running
    + *			  `flex -b' on the source. This results in some
    + *			  weirdo extra rules, but a much faster scanner.
    + * 23-Dec-1999 BS	- Started this file
    + *
    + *-------------------------------------------------------------------------
    + * The preprocessor's lexographical grammar (approximately):
    + *
    + * pp		:= {ws} # {ws} if {ws} {expr} {ws} \n
    + *		|  {ws} # {ws} ifdef {ws} {id} {ws} \n
    + *		|  {ws} # {ws} ifndef {ws} {id} {ws} \n
    + *		|  {ws} # {ws} elif {ws} {expr} {ws} \n
    + *		|  {ws} # {ws} else {ws} \n
    + *		|  {ws} # {ws} endif {ws} \n
    + *		|  {ws} # {ws} include {ws} < {anytext} > \n
    + *		|  {ws} # {ws} include {ws} " {anytext} " \n
    + *		|  {ws} # {ws} include_next {ws} < {anytext} > \n
    + *		|  {ws} # {ws} include_next {ws} " {anytext} " \n
    + *		|  {ws} # {ws} define {ws} {anytext} \n
    + *		|  {ws} # {ws} define( {arglist} ) {ws} {expansion} \n
    + *		|  {ws} # {ws} pragma {ws} {anytext} \n
    + *		|  {ws} # {ws} ident {ws} {anytext} \n
    + *		|  {ws} # {ws} error {ws} {anytext} \n
    + *		|  {ws} # {ws} warning {ws} {anytext} \n
    + *		|  {ws} # {ws} line {ws} " {anytext} " {number} \n
    + *		|  {ws} # {ws} {number} " {anytext} " {number} [ {number} [{number}] ] \n
    + *		|  {ws} # {ws} \n
    + *
    + * ws		:= [ \t\r\f\v]*
    + *
    + * expr		:= {expr} [+-*%^/|&] {expr}
    + *		|  {expr} {logor|logand} {expr}
    + *		|  [!~+-] {expr}
    + *		|  {expr} ? {expr} : {expr}
    + *
    + * logor	:= ||
    + *
    + * logand	:= &&
    + *
    + * id		:= [a-zA-Z_][a-zA-Z0-9_]*
    + *
    + * anytext	:= [^\n]*	(see note)
    + *
    + * arglist	:=
    + *		|  {id}
    + *		|  {arglist} , {id}
    + *		|  {arglist} , {id} ...
    + *
    + * expansion	:= {id}
    + *		|  # {id}
    + *		|  {anytext}
    + *		|  {anytext} ## {anytext}
    + *
    + * number	:= [0-9]+
    + *
    + * Note: "anytext" is not always "[^\n]*". This is because the
    + *	 trailing context must be considered as well.
    + *
    + * The only certain assumption for the preprocessor to make is that
    + * directives start at the beginning of the line, followed by a '#'
    + * and end with a newline.
    + * Any directive may be suffixed with a line-continuation. Also
    + * classical comment / *...* / (note: no comments within comments,
    + * therefore spaces) is considered to be a line-continuation
    + * (according to gcc and egcs AFAIK, ANSI is a bit vague).
    + * Comments have not been added to the above grammar for simplicity
    + * reasons. However, it is allowed to enter comment anywhere within
    + * the directives as long as they do not interfere with the context.
    + * All comments are considered to be deletable whitespace (both
    + * classical form "/ *...* /" and C++ form "//...\n").
    + *
    + * All recursive scans, except for macro-expansion, are done by the
    + * parser, whereas the simple state transitions of non-recursive
    + * directives are done in the scanner. This results in the many
    + * exclusive start-conditions of the scanner.
    + *
    + * Macro expansions are slightly more difficult because they have to
    + * prescan the arguments. Parameter substitution is literal if the
    + * substitution is # or ## (either side). This enables new identifiers
    + * to be created (see 'info cpp' node Macro|Pitfalls|Prescan for more
    + * information).
    + *
    + * FIXME: Variable macro parameters is recognized, but not yet
    + * expanded. I have to reread the ANSI standard on the subject (yes,
    + * ANSI defines it).
    + *
    + * The following special defines are supported:
    + * __FILE__	-> "thissource.c"
    + * __LINE__	-> 123
    + * __DATE__	-> "May  1 2000"
    + * __TIME__	-> "23:59:59"
    + * These macros expand, as expected, into their ANSI defined values.
    + *
    + * The same include prevention is implemented as gcc and egcs does.
    + * This results in faster processing because we do not read the text
    + * at all. Some wine-sources attempt to include the same file 4 or 5
    + * times. This strategy also saves a lot blank output-lines, which in
    + * its turn improves the real resource scanner/parser.
    + *
    + */
    +
    +/*
    + * Special flex options and exclusive scanner start-conditions
    + */
    +%option stack
    +%option never-interactive
    +
    +%x pp_pp
    +%x pp_eol
    +%x pp_inc
    +%x pp_dqs
    +%x pp_sqs
    +%x pp_iqs
    +%x pp_comment
    +%x pp_def
    +%x pp_define
    +%x pp_macro
    +%x pp_mbody
    +%x pp_macign
    +%x pp_macscan
    +%x pp_macexp
    +%x pp_if
    +%x pp_ifd
    +%x pp_endif
    +%x pp_line
    +%x pp_defined
    +%x pp_ignore
    +%x RCINCL
    +
    +ws	[ \v\f\t\r]
    +cident	[a-zA-Z_][0-9a-zA-Z_]*
    +ul	[uUlL]|[uUlL][lL]|[lL][uU]|[lL][lL][uU]|[uU][lL][lL]|[lL][uU][lL]
    +
    +%{
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wpp_private.h"
    +#include "wpp.tab.h"
    +
    +/*
    + * Make sure that we are running an appropriate version of flex.
    + */
    +#if !defined(YY_FLEX_MAJOR_VERSION) || (1000 * YY_FLEX_MAJOR_VERSION + YY_FLEX_MINOR_VERSION < 2005)
    +#error Must use flex version 2.5.1 or higher (yy_scan_* routines are required).
    +#endif
    +
    +#define YY_USE_PROTOS
    +#define YY_NO_UNPUT
    +#define YY_READ_BUF_SIZE	65536		/* So we read most of a file at once */
    +
    +#define yy_current_state()	YY_START
    +#define yy_pp_state(x)		yy_pop_state(); yy_push_state(x)
    +
    +/*
    + * Always update the current character position within a line
    + */
    +#define YY_USER_ACTION	pp_status.char_number+=ppleng;
    +
    +/*
    + * Buffer management for includes and expansions
    + */
    +#define MAXBUFFERSTACK	128	/* Nesting more than 128 includes or macro expansion textss is insane */
    +
    +typedef struct bufferstackentry {
    +	YY_BUFFER_STATE	bufferstate;	/* Buffer to switch back to */
    +	pp_entry_t	*define;	/* Points to expanding define or NULL if handling includes */
    +	int		line_number;	/* Line that we were handling */
    +	int		char_number;	/* The current position on that line */
    +	const char	*filename;	/* Filename that we were handling */
    +	int		if_depth;	/* How many #if:s deep to check matching #endif:s */
    +	int		ncontinuations;	/* Remember the continuation state */
    +	int		should_pop;	/* Set if we must pop the start-state on EOF */
    +	/* Include management */
    +        include_state_t incl;
    +	char 		*include_filename;
    +	int 		pass_data;
    +} bufferstackentry_t;
    +
    +#define ALLOCBLOCKSIZE	(1 << 10)	/* Allocate these chunks at a time for string-buffers */
    +
    +/*
    + * Macro expansion nesting
    + * We need the stack to handle expansions while scanning
    + * a macro's arguments. The TOS must always be the macro
    + * that receives the current expansion from the scanner.
    + */
    +#define MAXMACEXPSTACK	128	/* Nesting more than 128 macro expansions is insane */
    +
    +typedef struct macexpstackentry {
    +	pp_entry_t	*ppp;		/* This macro we are scanning */
    +	char		**args;		/* With these arguments */
    +	char		**ppargs;	/* Resulting in these preprocessed arguments */
    +	int		*nnls;		/* Number of newlines per argument */
    +	int		nargs;		/* And this many arguments scanned */
    +	int		parentheses;	/* Nesting level of () */
    +	int		curargsize;	/* Current scanning argument's size */
    +	int		curargalloc;	/* Current scanning argument's block allocated */
    +	char		*curarg;	/* Current scanning argument's content */
    +} macexpstackentry_t;
    +
    +#define MACROPARENTHESES()	(top_macro()->parentheses)
    +
    +/*
    + * Prototypes
    + */
    +static void newline(int);
    +static int make_number(int radix, YYSTYPE *val, const char *str, int len);
    +static void put_buffer(const char *s, int len);
    +static int is_c_h_include(char *fname, int quoted);
    +/* Buffer management */
    +static void push_buffer(pp_entry_t *ppp, char *filename, char *incname, int pop);
    +static bufferstackentry_t *pop_buffer(void);
    +/* String functions */
    +static void new_string(void);
    +static void add_string(const char *str, int len);
    +static char *get_string(void);
    +static void put_string(void);
    +static int string_start(void);
    +/* Macro functions */
    +static void push_macro(pp_entry_t *ppp);
    +static macexpstackentry_t *top_macro(void);
    +static macexpstackentry_t *pop_macro(void);
    +static void free_macro(macexpstackentry_t *mep);
    +static void add_text_to_macro(const char *text, int len);
    +static void macro_add_arg(int last);
    +static void macro_add_expansion(void);
    +/* Expansion */
    +static void expand_special(pp_entry_t *ppp);
    +static void expand_define(pp_entry_t *ppp);
    +static void expand_macro(macexpstackentry_t *mep);
    +
    +/*
    + * Local variables
    + */
    +static int ncontinuations;
    +
    +static int strbuf_idx = 0;
    +static int strbuf_alloc = 0;
    +static char *strbuffer = NULL;
    +static int str_startline;
    +
    +static macexpstackentry_t *macexpstack[MAXMACEXPSTACK];
    +static int macexpstackidx = 0;
    +
    +static bufferstackentry_t bufferstack[MAXBUFFERSTACK];
    +static int bufferstackidx = 0;
    +
    +static int pass_data=1;
    +
    +/*
    + * Global variables
    + */
    +include_state_t pp_incl_state =
    +{
    +    -1,    /* state */
    +    NULL,  /* ppp */
    +    0,     /* ifdepth */
    +    0      /* seen_junk */
    +};
    +
    +includelogicentry_t *pp_includelogiclist = NULL;
    +
    +%}
    +
    +/*
    + **************************************************************************
    + * The scanner starts here
    + **************************************************************************
    + */
    +
    +%%
    +	/*
    +	 * Catch line-continuations.
    +	 * Note: Gcc keeps the line-continuations in, for example, strings
    +	 * intact. However, I prefer to remove them all so that the next
    +	 * scanner will not need to reduce the continuation state.
    +	 *
    +	 * <*>\\\n		newline(0);
    +	 */
    +
    +	/*
    +	 * Detect the leading # of a preprocessor directive.
    +	 */
    +^{ws}*#	pp_incl_state.seen_junk++; yy_push_state(pp_pp);
    +
    +	/*
    +	 * Scan for the preprocessor directives
    +	 */
    +{ws}*include{ws}*	if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE;} else {yy_pp_state(pp_eol);}
    +{ws}*include_next{ws}*	if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE_NEXT;} else {yy_pp_state(pp_eol);}
    +{ws}*define{ws}*		yy_pp_state(yy_current_state() != pp_ignore ? pp_def : pp_eol);
    +{ws}*error{ws}*		yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tERROR;
    +{ws}*warning{ws}*	yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tWARNING;
    +{ws}*pragma{ws}*		yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tPRAGMA;
    +{ws}*ident{ws}*		yy_pp_state(pp_eol);	if(yy_top_state() != pp_ignore) return tPPIDENT;
    +{ws}*undef{ws}*		if(yy_top_state() != pp_ignore) {yy_pp_state(pp_ifd); return tUNDEF;} else {yy_pp_state(pp_eol);}
    +{ws}*ifdef{ws}*		yy_pp_state(pp_ifd);	return tIFDEF;
    +{ws}*ifndef{ws}*		pp_incl_state.seen_junk--; yy_pp_state(pp_ifd);	return tIFNDEF;
    +{ws}*if{ws}*		yy_pp_state(pp_if);	return tIF;
    +{ws}*elif{ws}*		yy_pp_state(pp_if);	return tELIF;
    +{ws}*else{ws}*		yy_pp_state(pp_endif);  return tELSE;
    +{ws}*endif{ws}*		yy_pp_state(pp_endif);  return tENDIF;
    +{ws}*line{ws}*		if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tLINE;} else {yy_pp_state(pp_eol);}
    +{ws}+			if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tGCCLINE;} else {yy_pp_state(pp_eol);}
    +{ws}*[a-z]+		pperror("Invalid preprocessor token '%s'", pptext);
    +\r?\n			newline(1); yy_pop_state(); return tNL;	/* This could be the null-token */
    +\\\r?\n			newline(0);
    +\\\r?			pperror("Preprocessor junk '%s'", pptext);
    +.			return *pptext;
    +
    +	/*
    +	 * Handle #include and #line
    +	 */
    +[0-9]+			return make_number(10, &pplval, pptext, ppleng);
    +\<			new_string(); add_string(pptext, ppleng); yy_push_state(pp_iqs);
    +\"		new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +{ws}+		;
    +\n		newline(1); yy_pop_state(); return tNL;
    +\\\r?\n		newline(0);
    +(\\\r?)|(.)	pperror(yy_current_state() == pp_inc ? "Trailing junk in #include" : "Trailing junk in #line");
    +
    +	/*
    +	 * Ignore all input when a false clause is parsed
    +	 */
    +[^#/\\\n]+		;
    +\n			newline(1);
    +\\\r?\n		newline(0);
    +(\\\r?)|(.)		;
    +
    +	/*
    +	 * Handle #if and #elif.
    +	 * These require conditionals to be evaluated, but we do not
    +	 * want to jam the scanner normally when we see these tokens.
    +	 * Note: tIDENT is handled below.
    +	 */
    +
    +0[0-7]*{ul}?		return make_number(8, &pplval, pptext, ppleng);
    +0[0-7]*[8-9]+{ul}?	pperror("Invalid octal digit");
    +[1-9][0-9]*{ul}?		return make_number(10, &pplval, pptext, ppleng);
    +0[xX][0-9a-fA-F]+{ul}?	return make_number(16, &pplval, pptext, ppleng);
    +0[xX]			pperror("Invalid hex number");
    +defined			yy_push_state(pp_defined); return tDEFINED;
    +"<<"			return tLSHIFT;
    +">>"			return tRSHIFT;
    +"&&"			return tLOGAND;
    +"||"			return tLOGOR;
    +"=="			return tEQ;
    +"!="			return tNE;
    +"<="			return tLTE;
    +">="			return tGTE;
    +\n			newline(1); yy_pop_state(); return tNL;
    +\\\r?\n			newline(0);
    +\\\r?			pperror("Junk in conditional expression");
    +{ws}+			;
    +\'			new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +\"			pperror("String constants not allowed in conditionals");
    +.			return *pptext;
    +
    +	/*
    +	 * Handle #ifdef, #ifndef and #undef
    +	 * to get only an untranslated/unexpanded identifier
    +	 */
    +{cident}	pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +{ws}+		;
    +\n		newline(1); yy_pop_state(); return tNL;
    +\\\r?\n		newline(0);
    +(\\\r?)|(.)	pperror("Identifier expected");
    +
    +	/*
    +	 * Handle #else and #endif.
    +	 */
    +{ws}+		;
    +\n		newline(1); yy_pop_state(); return tNL;
    +\\\r?\n	newline(0);
    +.		pperror("Garbage after #else or #endif.");
    +
    +	/*
    +	 * Handle the special 'defined' keyword.
    +	 * This is necessary to get the identifier prior to any
    +	 * substitutions.
    +	 */
    +{cident}		yy_pop_state(); pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +{ws}+		;
    +(\()|(\))		return *pptext;
    +\\\r?\n		newline(0);
    +(\\.)|(\n)|(.)	pperror("Identifier expected");
    +
    +	/*
    +	 * Handle #error, #warning, #pragma and #ident.
    +	 * Pass everything literally to the parser, which
    +	 * will act appropriately.
    +	 * Comments are stripped from the literal text.
    +	 */
    +[^/\\\n]+		if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; }
    +\/[^/\\\n*]*		if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; }
    +(\\\r?)|(\/[^/*])	if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; }
    +\n			newline(1); yy_pop_state(); if(yy_current_state() != pp_ignore) { return tNL; }
    +\\\r?\n			newline(0);
    +
    +	/*
    +	 * Handle left side of #define
    +	 */
    +{cident}\(		pplval.cptr = pp_xstrdup(pptext); pplval.cptr[ppleng-1] = '\0'; yy_pp_state(pp_macro);  return tMACRO;
    +{cident}		pplval.cptr = pp_xstrdup(pptext); yy_pp_state(pp_define); return tDEFINE;
    +{ws}+			;
    +\\\r?\n			newline(0);
    +(\\\r?)|(\n)|(.)	perror("Identifier expected");
    +
    +	/*
    +	 * Scan the substitution of a define
    +	 */
    +[^'"/\\\n]+		pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +(\\\r?)|(\/[^/*])	pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +\\\r?\n{ws}+		newline(0); pplval.cptr = pp_xstrdup(" "); return tLITERAL;
    +\\\r?\n		newline(0);
    +\n			newline(1); yy_pop_state(); return tNL;
    +\'			new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +\"			new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +
    +	/*
    +	 * Scan the definition macro arguments
    +	 */
    +\){ws}*		yy_pp_state(pp_mbody); return tMACROEND;
    +{ws}+			;
    +{cident}		pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +,			return ',';
    +"..."			return tELIPSIS;
    +(\\\r?)|(\n)|(.)|(\.\.?)	pperror("Argument identifier expected");
    +\\\r?\n		newline(0);
    +
    +	/*
    +	 * Scan the substitution of a macro
    +	 */
    +[^a-zA-Z0-9'"#/\\\n]+	pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +{cident}		pplval.cptr = pp_xstrdup(pptext); return tIDENT;
    +\#\#			return tCONCAT;
    +\#			return tSTRINGIZE;
    +[0-9][^'"#/\\\n]*	pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +(\\\r?)|(\/[^/*'"#\\\n]*)	pplval.cptr = pp_xstrdup(pptext); return tLITERAL;
    +\\\r?\n{ws}+		newline(0); pplval.cptr = pp_xstrdup(" "); return tLITERAL;
    +\\\r?\n		newline(0);
    +\n			newline(1); yy_pop_state(); return tNL;
    +\'			new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +\"			new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +
    +	/*
    +	 * Macro expansion text scanning.
    +	 * This state is active just after the identifier is scanned
    +	 * that triggers an expansion. We *must* delete the leading
    +	 * whitespace before we can start scanning for arguments.
    +	 *
    +	 * If we do not see a '(' as next trailing token, then we have
    +	 * a false alarm. We just continue with a nose-bleed...
    +	 */
    +{ws}*/\(	yy_pp_state(pp_macscan);
    +{ws}*\n	{
    +		if(yy_top_state() != pp_macscan)
    +			newline(0);
    +	}
    +{ws}*\\\r?\n	newline(0);
    +{ws}+|{ws}*\\\r?|.	{
    +		macexpstackentry_t *mac = pop_macro();
    +		yy_pop_state();
    +		put_buffer(mac->ppp->ident, strlen(mac->ppp->ident));
    +		put_buffer(pptext, ppleng);
    +		free_macro(mac);
    +	}
    +
    +	/*
    +	 * Macro expansion argument text scanning.
    +	 * This state is active when a macro's arguments are being read for expansion.
    +	 */
    +\(	{
    +		if(++MACROPARENTHESES() > 1)
    +			add_text_to_macro(pptext, ppleng);
    +	}
    +\)	{
    +		if(--MACROPARENTHESES() == 0)
    +		{
    +			yy_pop_state();
    +			macro_add_arg(1);
    +		}
    +		else
    +			add_text_to_macro(pptext, ppleng);
    +	}
    +,		{
    +		if(MACROPARENTHESES() > 1)
    +			add_text_to_macro(pptext, ppleng);
    +		else
    +			macro_add_arg(0);
    +	}
    +\"		new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +\'		new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +"/*"	yy_push_state(pp_comment); add_text_to_macro(" ", 1);
    +\n		pp_status.line_number++; pp_status.char_number = 1; add_text_to_macro(pptext, ppleng);
    +([^/(),\\\n"']+)|(\/[^/*(),\\\n'"]*)|(\\\r?)|(.)	add_text_to_macro(pptext, ppleng);
    +\\\r?\n	newline(0);
    +
    +	/*
    +	 * Comment handling (almost all start-conditions)
    +	 */
    +"/*" yy_push_state(pp_comment);
    +[^*\n]*|"*"+[^*/\n]*	;
    +\n				newline(0);
    +"*"+"/"			yy_pop_state();
    +
    +	/*
    +	 * Remove C++ style comment (almost all start-conditions)
    +	 */
    +"//"[^\n]*	{
    +		if(pptext[ppleng-1] == '\\')
    +			ppwarning("C++ style comment ends with an escaped newline (escape ignored)");
    +	}
    +
    +	/*
    +	 * Single, double and <> quoted constants
    +	 */
    +\"		pp_incl_state.seen_junk++; new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs);
    +\'		pp_incl_state.seen_junk++; new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs);
    +[^"\\\n]+		add_string(pptext, ppleng);
    +\"			{
    +		add_string(pptext, ppleng);
    +		yy_pop_state();
    +		switch(yy_current_state())
    +		{
    +		case pp_pp:
    +		case pp_define:
    +		case pp_mbody:
    +		case pp_inc:
    +		case RCINCL:
    +			if (yy_current_state()==RCINCL) yy_pop_state();
    +			pplval.cptr = get_string();
    +			return tDQSTRING;
    +		case pp_line:
    +			pplval.cptr = get_string();
    +			if (is_c_h_include(pplval.cptr, 1)) pass_data=0;
    +			else pass_data=1;
    +//fprintf(stderr, "%s pass_data %d\n", pplval.cptr, pass_data);
    +			return tDQSTRING;
    +		default:
    +			put_string();
    +		}
    +	}
    +[^'\\\n]+		add_string(pptext, ppleng);
    +\'			{
    +		add_string(pptext, ppleng);
    +		yy_pop_state();
    +		switch(yy_current_state())
    +		{
    +		case pp_if:
    +		case pp_define:
    +		case pp_mbody:
    +			pplval.cptr = get_string();
    +			return tSQSTRING;
    +		default:
    +			put_string();
    +		}
    +	}
    +[^\>\\\n]+		add_string(pptext, ppleng);
    +\>			{
    +		add_string(pptext, ppleng);
    +		yy_pop_state();
    +		pplval.cptr = get_string();
    +		return tIQSTRING;
    +	}
    +\\\r?\n		{
    +		/*
    +		 * This is tricky; we need to remove the line-continuation
    +		 * from preprocessor strings, but OTOH retain them in all
    +		 * other strings. This is because the resource grammar is
    +		 * even more braindead than initially analysed and line-
    +		 * continuations in strings introduce, sigh, newlines in
    +		 * the output. There goes the concept of non-breaking, non-
    +		 * spacing whitespace.
    +		 */
    +		switch(yy_top_state())
    +		{
    +		case pp_pp:
    +		case pp_define:
    +		case pp_mbody:
    +		case pp_inc:
    +		case pp_line:
    +			newline(0);
    +			break;
    +		default:
    +			add_string(pptext, ppleng);
    +			newline(-1);
    +		}
    +	}
    +\\.	add_string(pptext, ppleng);
    +\n	{
    +		newline(1);
    +		add_string(pptext, ppleng);
    +		ppwarning("Newline in string constant encounterd (started line %d)", string_start());
    +	}
    +
    +	/*
    +	 * Identifier scanning
    +	 */
    +{cident}	{
    +		pp_entry_t *ppp;
    +		pp_incl_state.seen_junk++;
    +		if(!(ppp = pplookup(pptext)))
    +		{
    +			if(yy_current_state() == pp_inc)
    +				pperror("Expected include filename");
    +
    +			if(yy_current_state() == pp_if)
    +			{
    +				pplval.cptr = pp_xstrdup(pptext);
    +				return tIDENT;
    +			}
    +			else {
    +				if((yy_current_state()==INITIAL) && (strcasecmp(pptext,"RCINCLUDE")==0)){
    +					yy_push_state(RCINCL);
    +					return tRCINCLUDE;
    +				}
    +				else put_buffer(pptext, ppleng);
    +			}
    +		}
    +		else if(!ppp->expanding)
    +		{
    +			switch(ppp->type)
    +			{
    +			case def_special:
    +				expand_special(ppp);
    +				break;
    +			case def_define:
    +				expand_define(ppp);
    +				break;
    +			case def_macro:
    +				yy_push_state(pp_macign);
    +				push_macro(ppp);
    +				break;
    +			default:
    +				pp_internal_error(__FILE__, __LINE__, "Invalid define type %d\n", ppp->type);
    +			}
    +		}
    +	}
    +
    +	/*
    +	 * Everything else that needs to be passed and
    +	 * newline and continuation handling
    +	 */
    +[^a-zA-Z_#'"/\\\n \r\t\f\v]+|(\/|\\)[^a-zA-Z_/*'"\\\n \r\t\v\f]*	pp_incl_state.seen_junk++; put_buffer(pptext, ppleng);
    +{ws}+	put_buffer(pptext, ppleng);
    +\n			newline(1);
    +\\\r?\n		newline(0);
    +\\\r?			pp_incl_state.seen_junk++; put_buffer(pptext, ppleng);
    +
    +	/*
    +	 * Special catcher for macro argmument expansion to prevent
    +	 * newlines to propagate to the output or admin.
    +	 */
    +(\n)|(.)|(\\\r?(\n|.))	put_buffer(pptext, ppleng);
    +
    +[A-Za-z0-9_\.\\/]+ {
    +		pplval.cptr=pp_xstrdup(pptext);
    +        	yy_pop_state();
    +		return tRCINCLUDEPATH;
    +	}
    +
    +{ws}+ ;
    +
    +\"		{
    +		new_string(); add_string(pptext,ppleng);yy_push_state(pp_dqs);
    +	}
    +
    +	/*
    +	 * This is a 'catch-all' rule to discover errors in the scanner
    +	 * in an orderly manner.
    +	 */
    +<*>.		pp_incl_state.seen_junk++; ppwarning("Unmatched text '%c' (0x%02x); please report\n", isprint(*pptext & 0xff) ? *pptext : ' ', *pptext);
    +
    +<>	{
    +		YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
    +		bufferstackentry_t *bep = pop_buffer();
    +
    +		if((!bep && pp_get_if_depth()) || (bep && pp_get_if_depth() != bep->if_depth))
    +			ppwarning("Unmatched #if/#endif at end of file");
    +
    +		if(!bep)
    +		{
    +			if(YY_START != INITIAL)
    +				pperror("Unexpected end of file during preprocessing");
    +			yyterminate();
    +		}
    +		else if(bep->should_pop == 2)
    +		{
    +			macexpstackentry_t *mac;
    +			mac = pop_macro();
    +			expand_macro(mac);
    +		}
    +		pp_delete_buffer(b);
    +	}
    +
    +%%
    +/*
    + **************************************************************************
    + * Support functions
    + **************************************************************************
    + */
    +
    +#ifndef ppwrap
    +int ppwrap(void)
    +{
    +	return 1;
    +}
    +#endif
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Output newlines or set them as continuations
    + *
    + * Input: -1 - Don't count this one, but update local position (see pp_dqs)
    + *	   0 - Line-continuation seen and cache output
    + *	   1 - Newline seen and flush output
    + *-------------------------------------------------------------------------
    + */
    +static void newline(int dowrite)
    +{
    +	pp_status.line_number++;
    +	pp_status.char_number = 1;
    +
    +	if(dowrite == -1)
    +		return;
    +
    +	ncontinuations++;
    +	if(dowrite)
    +	{
    +		for(;ncontinuations; ncontinuations--)
    +			put_buffer("\n", 1);
    +	}
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Make a number out of an any-base and suffixed string
    + *
    + * Possible number extensions:
    + * - ""		int
    + * - "L"	long int
    + * - "LL"	long long int
    + * - "U"	unsigned int
    + * - "UL"	unsigned long int
    + * - "ULL"	unsigned long long int
    + * - "LU"	unsigned long int
    + * - "LLU"	unsigned long long int
    + * - "LUL"	invalid
    + *
    + * FIXME:
    + * The sizes of resulting 'int' and 'long' are compiler specific.
    + * I depend on sizeof(int) > 2 here (although a relatively safe
    + * assumption).
    + * Long longs are not yet implemented because this is very compiler
    + * specific and I don't want to think too much about the problems.
    + *
    + *-------------------------------------------------------------------------
    + */
    +static int make_number(int radix, YYSTYPE *val, const char *str, int len)
    +{
    +	int is_l  = 0;
    +	int is_ll = 0;
    +	int is_u  = 0;
    +	char ext[4];
    +
    +	ext[3] = '\0';
    +	ext[2] = toupper(str[len-1]);
    +	ext[1] = len > 1 ? toupper(str[len-2]) : ' ';
    +	ext[0] = len > 2 ? toupper(str[len-3]) : ' ';
    +
    +	if(!strcmp(ext, "LUL"))
    +		pperror("Invalid constant suffix");
    +	else if(!strcmp(ext, "LLU") || !strcmp(ext, "ULL"))
    +	{
    +		is_ll++;
    +		is_u++;
    +	}
    +	else if(!strcmp(ext+1, "LU") || !strcmp(ext+1, "UL"))
    +	{
    +		is_l++;
    +		is_u++;
    +	}
    +	else if(!strcmp(ext+1, "LL"))
    +	{
    +		is_ll++;
    +	}
    +	else if(!strcmp(ext+2, "L"))
    +	{
    +		is_l++;
    +	}
    +	else if(!strcmp(ext+2, "U"))
    +	{
    +		is_u++;
    +	}
    +
    +	if(is_ll)
    +		pp_internal_error(__FILE__, __LINE__, "long long constants not implemented yet");
    +
    +	if(is_u && is_l)
    +	{
    +		val->ulong = strtoul(str, NULL, radix);
    +		return tULONG;
    +	}
    +	else if(!is_u && is_l)
    +	{
    +		val->slong = strtol(str, NULL, radix);
    +		return tSLONG;
    +	}
    +	else if(is_u && !is_l)
    +	{
    +		val->uint = (unsigned int)strtoul(str, NULL, radix);
    +		return tUINT;
    +	}
    +
    +	/* Else it must be an int... */
    +	val->sint = (int)strtol(str, NULL, radix);
    +	return tSINT;
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Macro and define expansion support
    + *
    + * FIXME: Variable macro arguments.
    + *-------------------------------------------------------------------------
    + */
    +static void expand_special(pp_entry_t *ppp)
    +{
    +	const char *dbgtext = "?";
    +	static char *buf = NULL;
    +
    +	assert(ppp->type == def_special);
    +
    +	if(!strcmp(ppp->ident, "__LINE__"))
    +	{
    +		dbgtext = "def_special(__LINE__)";
    +		buf = pp_xrealloc(buf, 32);
    +		sprintf(buf, "%d", pp_status.line_number);
    +	}
    +	else if(!strcmp(ppp->ident, "__FILE__"))
    +	{
    +		dbgtext = "def_special(__FILE__)";
    +		buf = pp_xrealloc(buf, strlen(pp_status.input) + 3);
    +		sprintf(buf, "\"%s\"", pp_status.input);
    +	}
    +	else
    +		pp_internal_error(__FILE__, __LINE__, "Special macro '%s' not found...\n", ppp->ident);
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "expand_special(%d): %s:%d: '%s' -> '%s'\n",
    +			macexpstackidx,
    +			pp_status.input,
    +			pp_status.line_number,
    +			ppp->ident,
    +			buf ? buf : "");
    +
    +	if(buf && buf[0])
    +	{
    +		push_buffer(ppp, NULL, NULL, 0);
    +		yy_scan_string(buf);
    +	}
    +}
    +
    +static void expand_define(pp_entry_t *ppp)
    +{
    +	assert(ppp->type == def_define);
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "expand_define(%d): %s:%d: '%s' -> '%s'\n",
    +			macexpstackidx,
    +			pp_status.input,
    +			pp_status.line_number,
    +			ppp->ident,
    +			ppp->subst.text);
    +	if(ppp->subst.text && ppp->subst.text[0])
    +	{
    +		push_buffer(ppp, NULL, NULL, 0);
    +		yy_scan_string(ppp->subst.text);
    +	}
    +}
    +
    +static int curdef_idx = 0;
    +static int curdef_alloc = 0;
    +static char *curdef_text = NULL;
    +
    +static void add_text(const char *str, int len)
    +{
    +	if(len == 0)
    +		return;
    +	if(curdef_idx >= curdef_alloc || curdef_alloc - curdef_idx < len)
    +	{
    +		curdef_alloc += (len + ALLOCBLOCKSIZE-1) & ~(ALLOCBLOCKSIZE-1);
    +		curdef_text = pp_xrealloc(curdef_text, curdef_alloc * sizeof(curdef_text[0]));
    +		if(curdef_alloc > 65536)
    +			ppwarning("Reallocating macro-expansion buffer larger than 64kB");
    +	}
    +	memcpy(&curdef_text[curdef_idx], str, len);
    +	curdef_idx += len;
    +}
    +
    +static mtext_t *add_expand_text(mtext_t *mtp, macexpstackentry_t *mep, int *nnl)
    +{
    +	char *cptr;
    +	char *exp;
    +	int tag;
    +	int n;
    +
    +	if(mtp == NULL)
    +		return NULL;
    +
    +	switch(mtp->type)
    +	{
    +	case exp_text:
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_text: '%s'\n", mtp->subst.text);
    +		add_text(mtp->subst.text, strlen(mtp->subst.text));
    +		break;
    +
    +	case exp_stringize:
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_stringize(%d): '%s'\n",
    +				mtp->subst.argidx,
    +				mep->args[mtp->subst.argidx]);
    +		cptr = mep->args[mtp->subst.argidx];
    +		add_text("\"", 1);
    +		while(*cptr)
    +		{
    +			if(*cptr == '"' || *cptr == '\\')
    +				add_text("\\", 1);
    +			add_text(cptr, 1);
    +			cptr++;
    +		}
    +		add_text("\"", 1);
    +		break;
    +
    +	case exp_concat:
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_concat\n");
    +		/* Remove trailing whitespace from current expansion text */
    +		while(curdef_idx)
    +		{
    +			if(isspace(curdef_text[curdef_idx-1] & 0xff))
    +				curdef_idx--;
    +			else
    +				break;
    +		}
    +		/* tag current position and recursively expand the next part */
    +		tag = curdef_idx;
    +		mtp = add_expand_text(mtp->next, mep, nnl);
    +
    +		/* Now get rid of the leading space of the expansion */
    +		cptr = &curdef_text[tag];
    +		n = curdef_idx - tag;
    +		while(n)
    +		{
    +			if(isspace(*cptr & 0xff))
    +			{
    +				cptr++;
    +				n--;
    +			}
    +			else
    +				break;
    +		}
    +		if(cptr != &curdef_text[tag])
    +		{
    +			memmove(&curdef_text[tag], cptr, n);
    +			curdef_idx -= (curdef_idx - tag) - n;
    +		}
    +		break;
    +
    +	case exp_subst:
    +		if((mtp->next && mtp->next->type == exp_concat) || (mtp->prev && mtp->prev->type == exp_concat))
    +			exp = mep->args[mtp->subst.argidx];
    +		else
    +			exp = mep->ppargs[mtp->subst.argidx];
    +		if(exp)
    +		{
    +			add_text(exp, strlen(exp));
    +			*nnl -= mep->nnls[mtp->subst.argidx];
    +			cptr = strchr(exp, '\n');
    +			while(cptr)
    +			{
    +				*cptr = ' ';
    +				cptr = strchr(cptr+1, '\n');
    +			}
    +			mep->nnls[mtp->subst.argidx] = 0;
    +		}
    +		if(pp_flex_debug)
    +			fprintf(stderr, "add_expand_text: exp_subst(%d): '%s'\n", mtp->subst.argidx, exp);
    +		break;
    +
    +	default:
    +		pp_internal_error(__FILE__, __LINE__, "Invalid expansion type (%d) in macro expansion\n", mtp->type);
    +	}
    +	return mtp;
    +}
    +
    +static void expand_macro(macexpstackentry_t *mep)
    +{
    +	mtext_t *mtp;
    +	int n, k;
    +	char *cptr;
    +	int nnl = 0;
    +	pp_entry_t *ppp = mep->ppp;
    +	int nargs = mep->nargs;
    +
    +	assert(ppp->type == def_macro);
    +	assert(ppp->expanding == 0);
    +
    +	if((ppp->nargs >= 0 && nargs != ppp->nargs) || (ppp->nargs < 0 && nargs < -ppp->nargs))
    +		pperror("Too %s macro arguments (%d)", nargs < abs(ppp->nargs) ? "few" : "many", nargs);
    +
    +	for(n = 0; n < nargs; n++)
    +		nnl += mep->nnls[n];
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "expand_macro(%d): %s:%d: '%s'(%d,%d) -> ...\n",
    +			macexpstackidx,
    +			pp_status.input,
    +			pp_status.line_number,
    +			ppp->ident,
    +			mep->nargs,
    +			nnl);
    +
    +	curdef_idx = 0;
    +
    +	for(mtp = ppp->subst.mtext; mtp; mtp = mtp->next)
    +	{
    +		if(!(mtp = add_expand_text(mtp, mep, &nnl)))
    +			break;
    +	}
    +
    +	for(n = 0; n < nnl; n++)
    +		add_text("\n", 1);
    +
    +	/* To make sure there is room and termination (see below) */
    +	add_text(" \0", 2);
    +
    +	/* Strip trailing whitespace from expansion */
    +	for(k = curdef_idx, cptr = &curdef_text[curdef_idx-1]; k > 0; k--, cptr--)
    +	{
    +		if(!isspace(*cptr & 0xff))
    +			break;
    +	}
    +
    +	/*
    +	 * We must add *one* whitespace to make sure that there
    +	 * is a token-separation after the expansion.
    +	 */
    +	*(++cptr) = ' ';
    +	*(++cptr) = '\0';
    +	k++;
    +
    +	/* Strip leading whitespace from expansion */
    +	for(n = 0, cptr = curdef_text; n < k; n++, cptr++)
    +	{
    +		if(!isspace(*cptr & 0xff))
    +			break;
    +	}
    +
    +	if(k - n > 0)
    +	{
    +		if(pp_flex_debug)
    +			fprintf(stderr, "expand_text: '%s'\n", curdef_text + n);
    +		push_buffer(ppp, NULL, NULL, 0);
    +		/*yy_scan_bytes(curdef_text + n, k - n);*/
    +		yy_scan_string(curdef_text + n);
    +	}
    +}
    +
    +/*
    + *-------------------------------------------------------------------------
    + * String collection routines
    + *-------------------------------------------------------------------------
    + */
    +static void new_string(void)
    +{
    +#ifdef DEBUG
    +	if(strbuf_idx)
    +		ppwarning("new_string: strbuf_idx != 0");
    +#endif
    +	strbuf_idx = 0;
    +	str_startline = pp_status.line_number;
    +}
    +
    +static void add_string(const char *str, int len)
    +{
    +	if(len == 0)
    +		return;
    +	if(strbuf_idx >= strbuf_alloc || strbuf_alloc - strbuf_idx < len)
    +	{
    +		strbuf_alloc += (len + ALLOCBLOCKSIZE-1) & ~(ALLOCBLOCKSIZE-1);
    +		strbuffer = pp_xrealloc(strbuffer, strbuf_alloc * sizeof(strbuffer[0]));
    +		if(strbuf_alloc > 65536)
    +			ppwarning("Reallocating string buffer larger than 64kB");
    +	}
    +	memcpy(&strbuffer[strbuf_idx], str, len);
    +	strbuf_idx += len;
    +}
    +
    +static char *get_string(void)
    +{
    +	char *str = pp_xmalloc(strbuf_idx + 1);
    +	memcpy(str, strbuffer, strbuf_idx);
    +	str[strbuf_idx] = '\0';
    +#ifdef DEBUG
    +	strbuf_idx = 0;
    +#endif
    +	return str;
    +}
    +
    +static void put_string(void)
    +{
    +	put_buffer(strbuffer, strbuf_idx);
    +#ifdef DEBUG
    +	strbuf_idx = 0;
    +#endif
    +}
    +
    +static int string_start(void)
    +{
    +	return str_startline;
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Buffer management
    + *-------------------------------------------------------------------------
    + */
    +static void push_buffer(pp_entry_t *ppp, char *filename, char *incname, int pop)
    +{
    +	if(ppdebug)
    +		printf("push_buffer(%d): %p %p %p %d\n", bufferstackidx, ppp, filename, incname, pop);
    +	if(bufferstackidx >= MAXBUFFERSTACK)
    +		pp_internal_error(__FILE__, __LINE__, "Buffer stack overflow");
    +
    +	memset(&bufferstack[bufferstackidx], 0, sizeof(bufferstack[0]));
    +	bufferstack[bufferstackidx].bufferstate	= YY_CURRENT_BUFFER;
    +	bufferstack[bufferstackidx].define	= ppp;
    +	bufferstack[bufferstackidx].line_number	= pp_status.line_number;
    +	bufferstack[bufferstackidx].char_number	= pp_status.char_number;
    +	bufferstack[bufferstackidx].if_depth	= pp_get_if_depth();
    +	bufferstack[bufferstackidx].should_pop	= pop;
    +	bufferstack[bufferstackidx].filename	= pp_status.input;
    +	bufferstack[bufferstackidx].ncontinuations	= ncontinuations;
    +	bufferstack[bufferstackidx].incl		= pp_incl_state;
    +	bufferstack[bufferstackidx].include_filename	= incname;
    +	bufferstack[bufferstackidx].pass_data		= pass_data;
    +
    +	if(ppp)
    +		ppp->expanding = 1;
    +	else if(filename)
    +	{
    +		/* These will track the pperror to the correct file and line */
    +		pp_status.line_number = 1;
    +		pp_status.char_number = 1;
    +		pp_status.input  = filename;
    +		ncontinuations = 0;
    +	}
    +	else if(!pop)
    +		pp_internal_error(__FILE__, __LINE__, "Pushing buffer without knowing where to go to");
    +	bufferstackidx++;
    +}
    +
    +static bufferstackentry_t *pop_buffer(void)
    +{
    +	if(bufferstackidx < 0)
    +		pp_internal_error(__FILE__, __LINE__, "Bufferstack underflow?");
    +
    +	if(bufferstackidx == 0)
    +		return NULL;
    +
    +	bufferstackidx--;
    +
    +	if(bufferstack[bufferstackidx].define)
    +		bufferstack[bufferstackidx].define->expanding = 0;
    +	else
    +	{
    +		pp_status.line_number = bufferstack[bufferstackidx].line_number;
    +		pp_status.char_number = bufferstack[bufferstackidx].char_number;
    +		pp_status.input  = bufferstack[bufferstackidx].filename;
    +		ncontinuations = bufferstack[bufferstackidx].ncontinuations;
    +		if(!bufferstack[bufferstackidx].should_pop)
    +		{
    +			fclose(ppin);
    +			fprintf(ppout, "# %d \"%s\" 2\n", pp_status.line_number, pp_status.input);
    +
    +			/* We have EOF, check the include logic */
    +			if(pp_incl_state.state == 2 && !pp_incl_state.seen_junk && pp_incl_state.ppp)
    +			{
    +				pp_entry_t *ppp = pplookup(pp_incl_state.ppp);
    +				if(ppp)
    +				{
    +					includelogicentry_t *iep = pp_xmalloc(sizeof(includelogicentry_t));
    +					iep->ppp = ppp;
    +					ppp->iep = iep;
    +					iep->filename = bufferstack[bufferstackidx].include_filename;
    +                                        iep->prev = NULL;
    +					iep->next = pp_includelogiclist;
    +					if(iep->next)
    +						iep->next->prev = iep;
    +					pp_includelogiclist = iep;
    +					if(pp_status.debug)
    +						fprintf(stderr, "pop_buffer: %s:%d: includelogic added, include_ppp='%s', file='%s'\n", pp_status.input, pp_status.line_number, pp_incl_state.ppp, iep->filename);
    +				}
    +				else if(bufferstack[bufferstackidx].include_filename)
    +					free(bufferstack[bufferstackidx].include_filename);
    +			}
    +			if(pp_incl_state.ppp)
    +				free(pp_incl_state.ppp);
    +			pp_incl_state	= bufferstack[bufferstackidx].incl;
    +			pass_data	= bufferstack[bufferstackidx].pass_data;
    +
    +		}
    +	}
    +
    +	if(ppdebug)
    +		printf("pop_buffer(%d): %p %p (%d, %d, %d) %p %d\n",
    +			bufferstackidx,
    +			bufferstack[bufferstackidx].bufferstate,
    +			bufferstack[bufferstackidx].define,
    +			bufferstack[bufferstackidx].line_number,
    +			bufferstack[bufferstackidx].char_number,
    +			bufferstack[bufferstackidx].if_depth,
    +			bufferstack[bufferstackidx].filename,
    +			bufferstack[bufferstackidx].should_pop);
    +
    +	pp_switch_to_buffer(bufferstack[bufferstackidx].bufferstate);
    +
    +	if(bufferstack[bufferstackidx].should_pop)
    +	{
    +		if(yy_current_state() == pp_macexp)
    +			macro_add_expansion();
    +		else
    +			pp_internal_error(__FILE__, __LINE__, "Pop buffer and state without macro expansion state");
    +		yy_pop_state();
    +	}
    +
    +	return &bufferstack[bufferstackidx];
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Macro nestng support
    + *-------------------------------------------------------------------------
    + */
    +static void push_macro(pp_entry_t *ppp)
    +{
    +	if(macexpstackidx >= MAXMACEXPSTACK)
    +		pperror("Too many nested macros");
    +
    +	macexpstack[macexpstackidx] = pp_xmalloc(sizeof(macexpstack[0][0]));
    +        memset( macexpstack[macexpstackidx], 0, sizeof(macexpstack[0][0]));
    +	macexpstack[macexpstackidx]->ppp = ppp;
    +	macexpstackidx++;
    +}
    +
    +static macexpstackentry_t *top_macro(void)
    +{
    +	return macexpstackidx > 0 ? macexpstack[macexpstackidx-1] : NULL;
    +}
    +
    +static macexpstackentry_t *pop_macro(void)
    +{
    +	if(macexpstackidx <= 0)
    +		pp_internal_error(__FILE__, __LINE__, "Macro expansion stack underflow\n");
    +	return macexpstack[--macexpstackidx];
    +}
    +
    +static void free_macro(macexpstackentry_t *mep)
    +{
    +	int i;
    +
    +	for(i = 0; i < mep->nargs; i++)
    +		free(mep->args[i]);
    +	if(mep->args)
    +		free(mep->args);
    +	if(mep->nnls)
    +		free(mep->nnls);
    +	if(mep->curarg)
    +		free(mep->curarg);
    +	free(mep);
    +}
    +
    +static void add_text_to_macro(const char *text, int len)
    +{
    +	macexpstackentry_t *mep = top_macro();
    +
    +	assert(mep->ppp->expanding == 0);
    +
    +	if(mep->curargalloc - mep->curargsize <= len+1)	/* +1 for '\0' */
    +	{
    +		mep->curargalloc += (ALLOCBLOCKSIZE > len+1) ? ALLOCBLOCKSIZE : len+1;
    +		mep->curarg = pp_xrealloc(mep->curarg, mep->curargalloc * sizeof(mep->curarg[0]));
    +	}
    +	memcpy(mep->curarg + mep->curargsize, text, len);
    +	mep->curargsize += len;
    +	mep->curarg[mep->curargsize] = '\0';
    +}
    +
    +static void macro_add_arg(int last)
    +{
    +	int nnl = 0;
    +	char *cptr;
    +	macexpstackentry_t *mep = top_macro();
    +
    +	assert(mep->ppp->expanding == 0);
    +
    +	mep->args = pp_xrealloc(mep->args, (mep->nargs+1) * sizeof(mep->args[0]));
    +	mep->ppargs = pp_xrealloc(mep->ppargs, (mep->nargs+1) * sizeof(mep->ppargs[0]));
    +	mep->nnls = pp_xrealloc(mep->nnls, (mep->nargs+1) * sizeof(mep->nnls[0]));
    +	mep->args[mep->nargs] = pp_xstrdup(mep->curarg ? mep->curarg : "");
    +	cptr = mep->args[mep->nargs]-1;
    +	while((cptr = strchr(cptr+1, '\n')))
    +	{
    +		nnl++;
    +	}
    +	mep->nnls[mep->nargs] = nnl;
    +	mep->nargs++;
    +	free(mep->curarg);
    +	mep->curargalloc = mep->curargsize = 0;
    +	mep->curarg = NULL;
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "macro_add_arg: %s:%d: %d -> '%s'\n",
    +			pp_status.input,
    +			pp_status.line_number,
    +			mep->nargs-1,
    +			mep->args[mep->nargs-1]);
    +
    +	/* Each macro argument must be expanded to cope with stingize */
    +	if(last || mep->args[mep->nargs-1][0])
    +	{
    +		yy_push_state(pp_macexp);
    +		push_buffer(NULL, NULL, NULL, last ? 2 : 1);
    +		yy_scan_string(mep->args[mep->nargs-1]);
    +		/*mep->bufferstackidx = bufferstackidx;	 But not nested! */
    +	}
    +}
    +
    +static void macro_add_expansion(void)
    +{
    +	macexpstackentry_t *mep = top_macro();
    +
    +	assert(mep->ppp->expanding == 0);
    +
    +	mep->ppargs[mep->nargs-1] = pp_xstrdup(mep->curarg ? mep->curarg : "");
    +	free(mep->curarg);
    +	mep->curargalloc = mep->curargsize = 0;
    +	mep->curarg = NULL;
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "macro_add_expansion: %s:%d: %d -> '%s'\n",
    +			pp_status.input,
    +			pp_status.line_number,
    +			mep->nargs-1,
    +			mep->ppargs[mep->nargs-1]);
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Output management
    + *-------------------------------------------------------------------------
    + */
    +static void put_buffer(const char *s, int len)
    +{
    +	if(top_macro())
    +		add_text_to_macro(s, len);
    +	else {
    +           if(pass_data)
    +           fwrite(s, 1, len, ppout);
    +        }
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Include management
    + *-------------------------------------------------------------------------
    + */
    +static int is_c_h_include(char *fname, int quoted)
    +{
    +	int sl=strlen(fname);
    +	if (sl < 2 + 2 * quoted) return 0;
    +	if ((toupper(fname[sl-1-quoted])!='H') && (toupper(fname[sl-1-quoted])!='C')) return 0;
    +        if (fname[sl-2-quoted]!='.') return 0;
    +	return 1;
    +}
    +
    +void pp_do_include(char *fname, int type)
    +{
    +	char *newpath;
    +	int n;
    +	includelogicentry_t *iep;
    +
    +	for(iep = pp_includelogiclist; iep; iep = iep->next)
    +	{
    +		if(!strcmp(iep->filename, fname))
    +		{
    +			/*
    +			 * We are done. The file was included before.
    +			 * If the define was deleted, then this entry would have
    +			 * been deleted too.
    +			 */
    +			return;
    +		}
    +	}
    +
    +	n = strlen(fname);
    +
    +	if(n <= 2)
    +		pperror("Empty include filename");
    +
    +	/* Undo the effect of the quotation */
    +	fname[n-1] = '\0';
    +
    +	if((ppin = pp_open_include(fname+1, type, &newpath)) == NULL)
    +		pperror("Unable to open include file %s", fname+1);
    +
    +	fname[n-1] = *fname;	/* Redo the quotes */
    +	push_buffer(NULL, newpath, fname, 0);
    +	pp_incl_state.seen_junk = 0;
    +	pp_incl_state.state = 0;
    +	pp_incl_state.ppp = NULL;
    +	if (is_c_h_include(newpath, 0)) pass_data=0;
    +	else pass_data=1;
    +
    +	if(pp_status.debug)
    +		fprintf(stderr, "pp_do_include: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d ,pass_data=%d\n",
    +                        pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth, pass_data);
    +	pp_switch_to_buffer(pp_create_buffer(ppin, YY_BUF_SIZE));
    +
    +	fprintf(ppout, "# 1 \"%s\" 1%s\n", newpath, type ? "" : " 3");
    +}
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Push/pop preprocessor ignore state when processing conditionals
    + * which are false.
    + *-------------------------------------------------------------------------
    + */
    +void pp_push_ignore_state(void)
    +{
    +	yy_push_state(pp_ignore);
    +}
    +
    +void pp_pop_ignore_state(void)
    +{
    +	yy_pop_state();
    +}
    diff --git a/reactos/tools/wpp/ppy.y b/reactos/tools/wpp/ppy.y
    new file mode 100644
    index 00000000000..63b25a0d99d
    --- /dev/null
    +++ b/reactos/tools/wpp/ppy.y
    @@ -0,0 +1,659 @@
    +/*
    + * Wrc preprocessor syntax analysis
    + *
    + * Copyright 1999-2000	Bertho A. Stultiens (BS)
    + *
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * History:
    + * 24-Apr-2000 BS	Restructured the lot to fit the new scanner
    + *			and reintegrate into the wine-tree.
    + * 01-Jan-2000 BS	FIXME: win16 preprocessor calculates with
    + *			16 bit ints and overflows...?
    + * 26-Dec-1999 BS	Started this file
    + *
    + */
    +
    +%{
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wpp_private.h"
    +
    +
    +#define UNARY_OP(r, v, OP)					\
    +	switch(v.type)						\
    +	{							\
    +	case cv_sint:	r.val.si  = OP v.val.si; break;		\
    +	case cv_uint:	r.val.ui  = OP v.val.ui; break;		\
    +	case cv_slong:	r.val.sl  = OP v.val.sl; break;		\
    +	case cv_ulong:	r.val.ul  = OP v.val.ul; break;		\
    +	case cv_sll:	r.val.sll = OP v.val.sll; break;	\
    +	case cv_ull:	r.val.ull = OP v.val.ull; break;	\
    +	}
    +
    +#define cv_signed(v)	((v.type & FLAG_SIGNED) != 0)
    +
    +#define BIN_OP_INT(r, v1, v2, OP)			\
    +	r.type = v1.type;				\
    +	if(cv_signed(v1) && cv_signed(v2))		\
    +		r.val.si = v1.val.si OP v2.val.si;	\
    +	else if(cv_signed(v1) && !cv_signed(v2))	\
    +		r.val.si = v1.val.si OP v2.val.ui;	\
    +	else if(!cv_signed(v1) && cv_signed(v2))	\
    +		r.val.ui = v1.val.ui OP v2.val.si;	\
    +	else						\
    +		r.val.ui = v1.val.ui OP v2.val.ui;
    +
    +#define BIN_OP_LONG(r, v1, v2, OP)			\
    +	r.type = v1.type;				\
    +	if(cv_signed(v1) && cv_signed(v2))		\
    +		r.val.sl = v1.val.sl OP v2.val.sl;	\
    +	else if(cv_signed(v1) && !cv_signed(v2))	\
    +		r.val.sl = v1.val.sl OP v2.val.ul;	\
    +	else if(!cv_signed(v1) && cv_signed(v2))	\
    +		r.val.ul = v1.val.ul OP v2.val.sl;	\
    +	else						\
    +		r.val.ul = v1.val.ul OP v2.val.ul;
    +
    +#define BIN_OP_LONGLONG(r, v1, v2, OP)			\
    +	r.type = v1.type;				\
    +	if(cv_signed(v1) && cv_signed(v2))		\
    +		r.val.sll = v1.val.sll OP v2.val.sll;	\
    +	else if(cv_signed(v1) && !cv_signed(v2))	\
    +		r.val.sll = v1.val.sll OP v2.val.ull;	\
    +	else if(!cv_signed(v1) && cv_signed(v2))	\
    +		r.val.ull = v1.val.ull OP v2.val.sll;	\
    +	else						\
    +		r.val.ull = v1.val.ull OP v2.val.ull;
    +
    +#define BIN_OP(r, v1, v2, OP)						\
    +	switch(v1.type & SIZE_MASK)					\
    +	{								\
    +	case SIZE_INT:		BIN_OP_INT(r, v1, v2, OP); break;	\
    +	case SIZE_LONG:		BIN_OP_LONG(r, v1, v2, OP); break;	\
    +	case SIZE_LONGLONG:	BIN_OP_LONGLONG(r, v1, v2, OP); break;	\
    +	default: pp_internal_error(__FILE__, __LINE__, "Invalid type indicator (0x%04x)", v1.type);	\
    +	}
    +
    +
    +/*
    + * Prototypes
    + */
    +static int boolean(cval_t *v);
    +static void promote_equal_size(cval_t *v1, cval_t *v2);
    +static void cast_to_sint(cval_t *v);
    +static void cast_to_uint(cval_t *v);
    +static void cast_to_slong(cval_t *v);
    +static void cast_to_ulong(cval_t *v);
    +static void cast_to_sll(cval_t *v);
    +static void cast_to_ull(cval_t *v);
    +static marg_t *new_marg(char *str, def_arg_t type);
    +static marg_t *add_new_marg(char *str, def_arg_t type);
    +static int marg_index(char *id);
    +static mtext_t *new_mtext(char *str, int idx, def_exp_t type);
    +static mtext_t *combine_mtext(mtext_t *tail, mtext_t *mtp);
    +static char *merge_text(char *s1, char *s2);
    +
    +/*
    + * Local variables
    + */
    +static marg_t **macro_args;	/* Macro parameters array while parsing */
    +static int	nmacro_args;
    +
    +%}
    +
    +%union{
    +	int		sint;
    +	unsigned int	uint;
    +	long		slong;
    +	unsigned long	ulong;
    +	wrc_sll_t	sll;
    +	wrc_ull_t	ull;
    +	int		*iptr;
    +	char		*cptr;
    +	cval_t		cval;
    +	marg_t		*marg;
    +	mtext_t		*mtext;
    +}
    +
    +%token tRCINCLUDE
    +%token tIF tIFDEF tIFNDEF tELSE tELIF tENDIF tDEFINED tNL
    +%token tINCLUDE tINCLUDE_NEXT tLINE tGCCLINE tERROR tWARNING tPRAGMA tPPIDENT
    +%token tUNDEF tMACROEND tCONCAT tELIPSIS tSTRINGIZE
    +%token  tIDENT tLITERAL tMACRO tDEFINE
    +%token  tDQSTRING tSQSTRING tIQSTRING
    +%token  tUINT
    +%token  tSINT
    +%token  tULONG
    +%token  tSLONG
    +%token  tULONGLONG
    +%token  tSLONGLONG
    +%token  tRCINCLUDEPATH
    +
    +%right '?' ':'
    +%left tLOGOR
    +%left tLOGAND
    +%left '|'
    +%left '^'
    +%left '&'
    +%left tEQ tNE
    +%left '<' tLTE '>' tGTE
    +%left tLSHIFT tRSHIFT
    +%left '+' '-'
    +%left '*' '/'
    +%right '~' '!'
    +
    +%type 	pp_expr
    +%type 	emargs margs
    +%type 	opt_mtexts mtexts mtext
    +%type 	allmargs
    +%type 	opt_text text
    +
    +/*
    + **************************************************************************
    + * The parser starts here
    + **************************************************************************
    + */
    +
    +%%
    +
    +pp_file	: /* Empty */
    +	| pp_file preprocessor
    +	;
    +
    +preprocessor
    +	: tINCLUDE tDQSTRING tNL	{ pp_do_include($2, LOCAL_INCLUDE); }
    +	| tINCLUDE tIQSTRING tNL	{ pp_do_include($2, GLOBAL_INCLUDE); }
    +	| tINCLUDE_NEXT tDQSTRING tNL	{ pp_do_include($2, INCLUDE_NEXT); }
    +	| tINCLUDE_NEXT tIQSTRING tNL	{ pp_do_include($2, INCLUDE_NEXT); }
    +	| tIF pp_expr tNL	{ pp_next_if_state(boolean(&$2)); }
    +	| tIFDEF tIDENT tNL	{ pp_next_if_state(pplookup($2) != NULL); free($2); }
    +	| tIFNDEF tIDENT tNL	{
    +		int t = pplookup($2) == NULL;
    +		if(pp_incl_state.state == 0 && t && !pp_incl_state.seen_junk)
    +		{
    +			pp_incl_state.state	= 1;
    +			pp_incl_state.ppp	= $2;
    +			pp_incl_state.ifdepth	= pp_get_if_depth();
    +		}
    +		else if(pp_incl_state.state != 1)
    +		{
    +			pp_incl_state.state = -1;
    +			free($2);
    +		}
    +		else
    +			free($2);
    +		pp_next_if_state(t);
    +		if(pp_status.debug)
    +			fprintf(stderr, "tIFNDEF: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n",
    +                                pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth);
    +		}
    +	| tELIF pp_expr tNL	{
    +		pp_if_state_t s = pp_pop_if();
    +		switch(s)
    +		{
    +		case if_true:
    +		case if_elif:
    +			pp_push_if(if_elif);
    +			break;
    +		case if_false:
    +			pp_push_if(boolean(&$2) ? if_true : if_false);
    +			break;
    +		case if_ignore:
    +			pp_push_if(if_ignore);
    +			break;
    +		case if_elsetrue:
    +		case if_elsefalse:
    +			pperror("#elif cannot follow #else");
    +		default:
    +			pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #elif directive", s);
    +		}
    +		}
    +	| tELSE tNL		{
    +		pp_if_state_t s = pp_pop_if();
    +		switch(s)
    +		{
    +		case if_true:
    +			pp_push_if(if_elsefalse);
    +			break;
    +		case if_elif:
    +			pp_push_if(if_elif);
    +			break;
    +		case if_false:
    +			pp_push_if(if_elsetrue);
    +			break;
    +		case if_ignore:
    +			pp_push_if(if_ignore);
    +			break;
    +		case if_elsetrue:
    +		case if_elsefalse:
    +			pperror("#else clause already defined");
    +		default:
    +			pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #else directive", s);
    +		}
    +		}
    +	| tENDIF tNL		{
    +		pp_pop_if();
    +		if(pp_incl_state.ifdepth == pp_get_if_depth() && pp_incl_state.state == 1)
    +		{
    +			pp_incl_state.state = 2;
    +			pp_incl_state.seen_junk = 0;
    +		}
    +		else if(pp_incl_state.state != 1)
    +		{
    +			pp_incl_state.state = -1;
    +		}
    +		if(pp_status.debug)
    +			fprintf(stderr, "tENDIF: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n",
    +                                pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth);
    +		}
    +	| tUNDEF tIDENT tNL	{ pp_del_define($2); free($2); }
    +	| tDEFINE opt_text tNL	{ pp_add_define($1, $2); }
    +	| tMACRO res_arg allmargs tMACROEND opt_mtexts tNL	{
    +		pp_add_macro($1, macro_args, nmacro_args, $5);
    +		}
    +	| tLINE tSINT tDQSTRING	tNL	{ fprintf(ppout, "# %d %s\n", $2 , $3); free($3); }
    +	| tGCCLINE tSINT tDQSTRING tNL	{ fprintf(ppout, "# %d %s\n", $2 , $3); free($3); }
    +	| tGCCLINE tSINT tDQSTRING tSINT tNL
    +		{ fprintf(ppout, "# %d %s %d\n", $2, $3, $4); free($3); }
    +	| tGCCLINE tSINT tDQSTRING tSINT tSINT tNL
    +		{ fprintf(ppout, "# %d %s %d %d\n", $2 ,$3, $4, $5); free($3); }
    +	| tGCCLINE tSINT tDQSTRING tSINT tSINT tSINT  tNL
    +		{ fprintf(ppout, "# %d %s %d %d %d\n", $2 ,$3 ,$4 ,$5, $6); free($3); }
    +	| tGCCLINE tSINT tDQSTRING tSINT tSINT tSINT tSINT tNL
    +		{ fprintf(ppout, "# %d %s %d %d %d %d\n", $2 ,$3 ,$4 ,$5, $6, $7); free($3); }
    +	| tGCCLINE tNL		/* The null-token */
    +	| tERROR opt_text tNL	{ pperror("#error directive: '%s'", $2); if($2) free($2); }
    +	| tWARNING opt_text tNL	{ ppwarning("#warning directive: '%s'", $2); if($2) free($2); }
    +	| tPRAGMA opt_text tNL	{ fprintf(ppout, "#pragma %s\n", $2 ? $2 : ""); if ($2) free($2); }
    +	| tPPIDENT opt_text tNL	{ if(pp_status.pedantic) ppwarning("#ident ignored (arg: '%s')", $2); if($2) free($2); }
    +        | tRCINCLUDE tRCINCLUDEPATH {
    +                int nl=strlen($2) +3;
    +                char *fn=pp_xmalloc(nl);
    +                sprintf(fn,"\"%s\"",$2);
    +		free($2);
    +		pp_do_include(fn,LOCAL_INCLUDE);
    +	}
    +	| tRCINCLUDE tDQSTRING {
    +		pp_do_include($2,LOCAL_INCLUDE);
    +	}
    +	/*| tNL*/
    +	;
    +
    +opt_text: /* Empty */	{ $$ = NULL; }
    +	| text		{ $$ = $1; }
    +	;
    +
    +text	: tLITERAL		{ $$ = $1; }
    +	| tDQSTRING		{ $$ = $1; }
    +	| tSQSTRING		{ $$ = $1; }
    +	| text tLITERAL		{ $$ = merge_text($1, $2); }
    +	| text tDQSTRING	{ $$ = merge_text($1, $2); }
    +	| text tSQSTRING	{ $$ = merge_text($1, $2); }
    +	;
    +
    +res_arg	: /* Empty */	{ macro_args = NULL; nmacro_args = 0; }
    +	;
    +
    +allmargs: /* Empty */		{ $$ = 0; macro_args = NULL; nmacro_args = 0; }
    +	| emargs		{ $$ = nmacro_args; }
    +	;
    +
    +emargs	: margs			{ $$ = $1; }
    +	| margs ',' tELIPSIS	{ $$ = add_new_marg(NULL, arg_list); nmacro_args *= -1; }
    +	;
    +
    +margs	: margs ',' tIDENT	{ $$ = add_new_marg($3, arg_single); }
    +	| tIDENT		{ $$ = add_new_marg($1, arg_single); }
    +	;
    +
    +opt_mtexts
    +	: /* Empty */	{ $$ = NULL; }
    +	| mtexts	{
    +		for($$ = $1; $$ && $$->prev; $$ = $$->prev)
    +			;
    +		}
    +	;
    +
    +mtexts	: mtext		{ $$ = $1; }
    +	| mtexts mtext	{ $$ = combine_mtext($1, $2); }
    +	;
    +
    +mtext	: tLITERAL	{ $$ = new_mtext($1, 0, exp_text); }
    +	| tDQSTRING	{ $$ = new_mtext($1, 0, exp_text); }
    +	| tSQSTRING	{ $$ = new_mtext($1, 0, exp_text); }
    +	| tCONCAT	{ $$ = new_mtext(NULL, 0, exp_concat); }
    +	| tSTRINGIZE tIDENT	{
    +		int mat = marg_index($2);
    +		if(mat < 0)
    +			pperror("Stringification identifier must be an argument parameter");
    +		$$ = new_mtext(NULL, mat, exp_stringize);
    +		}
    +	| tIDENT	{
    +		int mat = marg_index($1);
    +		if(mat >= 0)
    +			$$ = new_mtext(NULL, mat, exp_subst);
    +		else
    +			$$ = new_mtext($1, 0, exp_text);
    +		}
    +	;
    +
    +pp_expr	: tSINT				{ $$.type = cv_sint;  $$.val.si = $1; }
    +	| tUINT				{ $$.type = cv_uint;  $$.val.ui = $1; }
    +	| tSLONG			{ $$.type = cv_slong; $$.val.sl = $1; }
    +	| tULONG			{ $$.type = cv_ulong; $$.val.ul = $1; }
    +	| tSLONGLONG			{ $$.type = cv_sll;   $$.val.sl = $1; }
    +	| tULONGLONG			{ $$.type = cv_ull;   $$.val.ul = $1; }
    +	| tDEFINED tIDENT		{ $$.type = cv_sint;  $$.val.si = pplookup($2) != NULL; }
    +	| tDEFINED '(' tIDENT ')'	{ $$.type = cv_sint;  $$.val.si = pplookup($3) != NULL; }
    +	| tIDENT			{ $$.type = cv_sint;  $$.val.si = 0; }
    +	| pp_expr tLOGOR pp_expr	{ $$.type = cv_sint; $$.val.si = boolean(&$1) || boolean(&$3); }
    +	| pp_expr tLOGAND pp_expr	{ $$.type = cv_sint; $$.val.si = boolean(&$1) && boolean(&$3); }
    +	| pp_expr tEQ pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3, ==) }
    +	| pp_expr tNE pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3, !=) }
    +	| pp_expr '<' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  <) }
    +	| pp_expr '>' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  >) }
    +	| pp_expr tLTE pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3, <=) }
    +	| pp_expr tGTE pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3, >=) }
    +	| pp_expr '+' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  +) }
    +	| pp_expr '-' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  -) }
    +	| pp_expr '^' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  ^) }
    +	| pp_expr '&' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  &) }
    +	| pp_expr '|' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  |) }
    +	| pp_expr '*' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  *) }
    +	| pp_expr '/' pp_expr		{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3,  /) }
    +	| pp_expr tLSHIFT pp_expr	{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3, <<) }
    +	| pp_expr tRSHIFT pp_expr	{ promote_equal_size(&$1, &$3); BIN_OP($$, $1, $3, >>) }
    +	| '+' pp_expr			{ $$ =  $2; }
    +	| '-' pp_expr			{ UNARY_OP($$, $2, -) }
    +	| '~' pp_expr			{ UNARY_OP($$, $2, ~) }
    +	| '!' pp_expr			{ $$.type = cv_sint; $$.val.si = !boolean(&$2); }
    +	| '(' pp_expr ')'		{ $$ =  $2; }
    +	| pp_expr '?' pp_expr ':' pp_expr { $$ = boolean(&$1) ? $3 : $5; }
    +	;
    +
    +%%
    +
    +/*
    + **************************************************************************
    + * Support functions
    + **************************************************************************
    + */
    +
    +static void cast_to_sint(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	break;
    +	case cv_uint:	break;
    +	case cv_slong:	v->val.si = v->val.sl;	break;
    +	case cv_ulong:	v->val.si = v->val.ul;	break;
    +	case cv_sll:	v->val.si = v->val.sll;	break;
    +	case cv_ull:	v->val.si = v->val.ull;	break;
    +	}
    +	v->type = cv_sint;
    +}
    +
    +static void cast_to_uint(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	break;
    +	case cv_uint:	break;
    +	case cv_slong:	v->val.ui = v->val.sl;	break;
    +	case cv_ulong:	v->val.ui = v->val.ul;	break;
    +	case cv_sll:	v->val.ui = v->val.sll;	break;
    +	case cv_ull:	v->val.ui = v->val.ull;	break;
    +	}
    +	v->type = cv_uint;
    +}
    +
    +static void cast_to_slong(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.sl = v->val.si;	break;
    +	case cv_uint:	v->val.sl = v->val.ui;	break;
    +	case cv_slong:	break;
    +	case cv_ulong:	break;
    +	case cv_sll:	v->val.sl = v->val.sll;	break;
    +	case cv_ull:	v->val.sl = v->val.ull;	break;
    +	}
    +	v->type = cv_slong;
    +}
    +
    +static void cast_to_ulong(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.ul = v->val.si;	break;
    +	case cv_uint:	v->val.ul = v->val.ui;	break;
    +	case cv_slong:	break;
    +	case cv_ulong:	break;
    +	case cv_sll:	v->val.ul = v->val.sll;	break;
    +	case cv_ull:	v->val.ul = v->val.ull;	break;
    +	}
    +	v->type = cv_ulong;
    +}
    +
    +static void cast_to_sll(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.sll = v->val.si;	break;
    +	case cv_uint:	v->val.sll = v->val.ui;	break;
    +	case cv_slong:	v->val.sll = v->val.sl;	break;
    +	case cv_ulong:	v->val.sll = v->val.ul;	break;
    +	case cv_sll:	break;
    +	case cv_ull:	break;
    +	}
    +	v->type = cv_sll;
    +}
    +
    +static void cast_to_ull(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.ull = v->val.si;	break;
    +	case cv_uint:	v->val.ull = v->val.ui;	break;
    +	case cv_slong:	v->val.ull = v->val.sl;	break;
    +	case cv_ulong:	v->val.ull = v->val.ul;	break;
    +	case cv_sll:	break;
    +	case cv_ull:	break;
    +	}
    +	v->type = cv_ull;
    +}
    +
    +
    +static void promote_equal_size(cval_t *v1, cval_t *v2)
    +{
    +#define cv_sizeof(v)	((int)(v->type & SIZE_MASK))
    +	int s1 = cv_sizeof(v1);
    +	int s2 = cv_sizeof(v2);
    +#undef cv_sizeof
    +
    +	if(s1 == s2)
    +		return;
    +	else if(s1 > s2)
    +	{
    +		switch(v1->type)
    +		{
    +		case cv_sint:	cast_to_sint(v2); break;
    +		case cv_uint:	cast_to_uint(v2); break;
    +		case cv_slong:	cast_to_slong(v2); break;
    +		case cv_ulong:	cast_to_ulong(v2); break;
    +		case cv_sll:	cast_to_sll(v2); break;
    +		case cv_ull:	cast_to_ull(v2); break;
    +		}
    +	}
    +	else
    +	{
    +		switch(v2->type)
    +		{
    +		case cv_sint:	cast_to_sint(v1); break;
    +		case cv_uint:	cast_to_uint(v1); break;
    +		case cv_slong:	cast_to_slong(v1); break;
    +		case cv_ulong:	cast_to_ulong(v1); break;
    +		case cv_sll:	cast_to_sll(v1); break;
    +		case cv_ull:	cast_to_ull(v1); break;
    +		}
    +	}
    +}
    +
    +
    +static int boolean(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	return v->val.si != (int)0;
    +	case cv_uint:	return v->val.ui != (unsigned int)0;
    +	case cv_slong:	return v->val.sl != (long)0;
    +	case cv_ulong:	return v->val.ul != (unsigned long)0;
    +	case cv_sll:	return v->val.sll != (wrc_sll_t)0;
    +	case cv_ull:	return v->val.ull != (wrc_ull_t)0;
    +	}
    +	return 0;
    +}
    +
    +static marg_t *new_marg(char *str, def_arg_t type)
    +{
    +	marg_t *ma = pp_xmalloc(sizeof(marg_t));
    +	ma->arg = str;
    +	ma->type = type;
    +	ma->nnl = 0;
    +	return ma;
    +}
    +
    +static marg_t *add_new_marg(char *str, def_arg_t type)
    +{
    +	marg_t *ma = new_marg(str, type);
    +	nmacro_args++;
    +	macro_args = pp_xrealloc(macro_args, nmacro_args * sizeof(macro_args[0]));
    +	macro_args[nmacro_args-1] = ma;
    +	return ma;
    +}
    +
    +static int marg_index(char *id)
    +{
    +	int t;
    +	for(t = 0; t < nmacro_args; t++)
    +	{
    +		if(!strcmp(id, macro_args[t]->arg))
    +			break;
    +	}
    +	return t < nmacro_args ? t : -1;
    +}
    +
    +static mtext_t *new_mtext(char *str, int idx, def_exp_t type)
    +{
    +	mtext_t *mt = pp_xmalloc(sizeof(mtext_t));
    +	if(str == NULL)
    +		mt->subst.argidx = idx;
    +	else
    +		mt->subst.text = str;
    +	mt->type = type;
    +	mt->next = mt->prev = NULL;
    +	return mt;
    +}
    +
    +static mtext_t *combine_mtext(mtext_t *tail, mtext_t *mtp)
    +{
    +	if(!tail)
    +		return mtp;
    +
    +	if(!mtp)
    +		return tail;
    +
    +	if(tail->type == exp_text && mtp->type == exp_text)
    +	{
    +		tail->subst.text = pp_xrealloc(tail->subst.text, strlen(tail->subst.text)+strlen(mtp->subst.text)+1);
    +		strcat(tail->subst.text, mtp->subst.text);
    +		free(mtp->subst.text);
    +		free(mtp);
    +		return tail;
    +	}
    +
    +	if(tail->type == exp_concat && mtp->type == exp_concat)
    +	{
    +		free(mtp);
    +		return tail;
    +	}
    +
    +	if(tail->type == exp_concat && mtp->type == exp_text)
    +	{
    +		int len = strlen(mtp->subst.text);
    +		while(len)
    +		{
    +/* FIXME: should delete space from head of string */
    +			if(isspace(mtp->subst.text[len-1] & 0xff))
    +				mtp->subst.text[--len] = '\0';
    +			else
    +				break;
    +		}
    +
    +		if(!len)
    +		{
    +			free(mtp->subst.text);
    +			free(mtp);
    +			return tail;
    +		}
    +	}
    +
    +	if(tail->type == exp_text && mtp->type == exp_concat)
    +	{
    +		int len = strlen(tail->subst.text);
    +		while(len)
    +		{
    +			if(isspace(tail->subst.text[len-1] & 0xff))
    +				tail->subst.text[--len] = '\0';
    +			else
    +				break;
    +		}
    +
    +		if(!len)
    +		{
    +			mtp->prev = tail->prev;
    +			mtp->next = tail->next;
    +			if(tail->prev)
    +				tail->prev->next = mtp;
    +			free(tail->subst.text);
    +			free(tail);
    +			return mtp;
    +		}
    +	}
    +
    +	tail->next = mtp;
    +	mtp->prev = tail;
    +
    +	return mtp;
    +}
    +
    +static char *merge_text(char *s1, char *s2)
    +{
    +	int l1 = strlen(s1);
    +	int l2 = strlen(s2);
    +	s1 = pp_xrealloc(s1, l1+l2+1);
    +	memcpy(s1+l1, s2, l2+1);
    +	free(s2);
    +	return s1;
    +}
    diff --git a/reactos/tools/wpp/preproc.c b/reactos/tools/wpp/preproc.c
    new file mode 100644
    index 00000000000..e16176ceb0f
    --- /dev/null
    +++ b/reactos/tools/wpp/preproc.c
    @@ -0,0 +1,651 @@
    +/*
    + * Copyright 1998 Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef HAVE_UNISTD_H
    +# include 
    +#endif
    +#ifdef HAVE_IO_H
    +# include 
    +#endif
    +
    +#include "wine/wpp.h"
    +#include "wpp_private.h"
    +
    +struct pp_status pp_status;
    +
    +#define HASHKEY		2039
    +
    +typedef struct pp_def_state
    +{
    +    struct pp_def_state *next;
    +    pp_entry_t          *defines[HASHKEY];
    +} pp_def_state_t;
    +
    +static pp_def_state_t *pp_def_state;
    +
    +#define MAXIFSTACK	64
    +static pp_if_state_t if_stack[MAXIFSTACK];
    +static int if_stack_idx = 0;
    +
    +#if 0
    +void pp_print_status(void) __attribute__((destructor));
    +void pp_print_status(void)
    +{
    +	int i;
    +	int sum;
    +	int total = 0;
    +	pp_entry_t *ppp;
    +
    +	fprintf(stderr, "Defines statistics:\n");
    +	for(i = 0; i < HASHKEY; i++)
    +	{
    +		sum = 0;
    +		for(ppp = pp_def_state->defines[i]; ppp; ppp = ppp->next)
    +			sum++;
    +		total += sum;
    +		if (sum) fprintf(stderr, "%4d, %3d\n", i, sum);
    +	}
    +	fprintf(stderr, "Total defines: %d\n", total);
    +}
    +#endif
    +
    +void *pp_xmalloc(size_t size)
    +{
    +    void *res;
    +
    +    assert(size > 0);
    +    res = malloc(size);
    +    if(res == NULL)
    +    {
    +        fprintf(stderr, "Virtual memory exhausted.\n");
    +        exit(2);
    +    }
    +    return res;
    +}
    +
    +void *pp_xrealloc(void *p, size_t size)
    +{
    +    void *res;
    +
    +    assert(size > 0);
    +    res = realloc(p, size);
    +    if(res == NULL)
    +    {
    +        fprintf(stderr, "Virtual memory exhausted.\n");
    +        exit(2);
    +    }
    +    return res;
    +}
    +
    +char *pp_xstrdup(const char *str)
    +{
    +	char *s;
    +	int len;
    +
    +	assert(str != NULL);
    +	len = strlen(str)+1;
    +	s = pp_xmalloc(len);
    +	return memcpy(s, str, len);
    +}
    +
    +/* Don't comment on the hash, its primitive but functional... */
    +static int pphash(const char *str)
    +{
    +	int sum = 0;
    +	while(*str)
    +		sum += *str++;
    +	return sum % HASHKEY;
    +}
    +
    +pp_entry_t *pplookup(const char *ident)
    +{
    +	int idx = pphash(ident);
    +	pp_entry_t *ppp;
    +
    +	for(ppp = pp_def_state->defines[idx]; ppp; ppp = ppp->next)
    +	{
    +		if(!strcmp(ident, ppp->ident))
    +			return ppp;
    +	}
    +	return NULL;
    +}
    +
    +static void free_pp_entry( pp_entry_t *ppp, int idx )
    +{
    +	if(ppp->iep)
    +	{
    +		if(ppp->iep == pp_includelogiclist)
    +		{
    +			pp_includelogiclist = ppp->iep->next;
    +			if(pp_includelogiclist)
    +				pp_includelogiclist->prev = NULL;
    +		}
    +		else
    +		{
    +			ppp->iep->prev->next = ppp->iep->next;
    +			if(ppp->iep->next)
    +				ppp->iep->next->prev = ppp->iep->prev;
    +		}
    +		free(ppp->iep->filename);
    +		free(ppp->iep);
    +	}
    +
    +	if(pp_def_state->defines[idx] == ppp)
    +	{
    +		pp_def_state->defines[idx] = ppp->next;
    +		if(pp_def_state->defines[idx])
    +			pp_def_state->defines[idx]->prev = NULL;
    +	}
    +	else
    +	{
    +		ppp->prev->next = ppp->next;
    +		if(ppp->next)
    +			ppp->next->prev = ppp->prev;
    +	}
    +
    +	free(ppp);
    +}
    +
    +/* push a new (empty) define state */
    +void pp_push_define_state(void)
    +{
    +    pp_def_state_t *state = pp_xmalloc( sizeof(*state) );
    +
    +    memset( state->defines, 0, sizeof(state->defines) );
    +    state->next = pp_def_state;
    +    pp_def_state = state;
    +}
    +
    +/* pop the current define state */
    +void pp_pop_define_state(void)
    +{
    +    int i;
    +    pp_entry_t *ppp;
    +    pp_def_state_t *state;
    +
    +    for (i = 0; i < HASHKEY; i++)
    +    {
    +        while ((ppp = pp_def_state->defines[i]) != NULL) free_pp_entry( ppp, i );
    +    }
    +    state = pp_def_state;
    +    pp_def_state = state->next;
    +    free( state );
    +}
    +
    +void pp_del_define(const char *name)
    +{
    +	pp_entry_t *ppp;
    +
    +	if((ppp = pplookup(name)) == NULL)
    +	{
    +		if(pp_status.pedantic)
    +			ppwarning("%s was not defined", name);
    +		return;
    +	}
    +
    +	free_pp_entry( ppp, pphash(name) );
    +
    +	if(pp_status.debug)
    +		printf("Deleted (%s, %d) <%s>\n", pp_status.input, pp_status.line_number, name);
    +}
    +
    +pp_entry_t *pp_add_define(char *def, char *text)
    +{
    +	int len;
    +	char *cptr;
    +	int idx = pphash(def);
    +	pp_entry_t *ppp;
    +
    +	if((ppp = pplookup(def)) != NULL)
    +	{
    +		if(pp_status.pedantic)
    +			ppwarning("Redefinition of %s\n\tPrevious definition: %s:%d", def, ppp->filename, ppp->linenumber);
    +		pp_del_define(def);
    +	}
    +	ppp = pp_xmalloc(sizeof(pp_entry_t));
    +	memset( ppp, 0, sizeof(*ppp) );
    +	ppp->ident = def;
    +	ppp->type = def_define;
    +	ppp->subst.text = text;
    +	ppp->filename = pp_xstrdup(pp_status.input ? pp_status.input : "");
    +	ppp->linenumber = pp_status.input ? pp_status.line_number : 0;
    +	ppp->next = pp_def_state->defines[idx];
    +	pp_def_state->defines[idx] = ppp;
    +	if(ppp->next)
    +		ppp->next->prev = ppp;
    +	if(text)
    +	{
    +		/* Strip trailing white space from subst text */
    +		len = strlen(text);
    +		while(len && strchr(" \t\r\n", text[len-1]))
    +		{
    +			text[--len] = '\0';
    +		}
    +		/* Strip leading white space from subst text */
    +		for(cptr = text; *cptr && strchr(" \t\r", *cptr); cptr++)
    +		;
    +		if(text != cptr)
    +			memmove(text, cptr, strlen(cptr)+1);
    +	}
    +	if(pp_status.debug)
    +		printf("Added define (%s, %d) <%s> to <%s>\n", pp_status.input, pp_status.line_number, ppp->ident, text ? text : "(null)");
    +
    +	return ppp;
    +}
    +
    +pp_entry_t *pp_add_macro(char *id, marg_t *args[], int nargs, mtext_t *exp)
    +{
    +	int idx = pphash(id);
    +	pp_entry_t *ppp;
    +
    +	if((ppp = pplookup(id)) != NULL)
    +	{
    +		if(pp_status.pedantic)
    +			ppwarning("Redefinition of %s\n\tPrevious definition: %s:%d", id, ppp->filename, ppp->linenumber);
    +		pp_del_define(id);
    +	}
    +	ppp = pp_xmalloc(sizeof(pp_entry_t));
    +	memset( ppp, 0, sizeof(*ppp) );
    +	ppp->ident	= id;
    +	ppp->type	= def_macro;
    +	ppp->margs	= args;
    +	ppp->nargs	= nargs;
    +	ppp->subst.mtext= exp;
    +	ppp->filename = pp_xstrdup(pp_status.input ? pp_status.input : "");
    +	ppp->linenumber = pp_status.input ? pp_status.line_number : 0;
    +	ppp->next	= pp_def_state->defines[idx];
    +	pp_def_state->defines[idx] = ppp;
    +	if(ppp->next)
    +		ppp->next->prev = ppp;
    +
    +	if(pp_status.debug)
    +	{
    +		fprintf(stderr, "Added macro (%s, %d) <%s(%d)> to <", pp_status.input, pp_status.line_number, ppp->ident, nargs);
    +		for(; exp; exp = exp->next)
    +		{
    +			switch(exp->type)
    +			{
    +			case exp_text:
    +				fprintf(stderr, " \"%s\" ", exp->subst.text);
    +				break;
    +			case exp_stringize:
    +				fprintf(stderr, " #(%d) ", exp->subst.argidx);
    +				break;
    +			case exp_concat:
    +				fprintf(stderr, "##");
    +				break;
    +			case exp_subst:
    +				fprintf(stderr, " <%d> ", exp->subst.argidx);
    +				break;
    +			}
    +		}
    +		fprintf(stderr, ">\n");
    +	}
    +	return ppp;
    +}
    +
    +
    +/*
    + *-------------------------------------------------------------------------
    + * Include management
    + *-------------------------------------------------------------------------
    + */
    +#if defined(_WIN32) || defined(__MSDOS__)
    +#define INCLUDESEPARATOR	";"
    +#else
    +#define INCLUDESEPARATOR	":"
    +#endif
    +
    +static char **includepath;
    +static int nincludepath = 0;
    +
    +void wpp_add_include_path(const char *path)
    +{
    +	char *tok;
    +	char *cpy = pp_xstrdup(path);
    +
    +	tok = strtok(cpy, INCLUDESEPARATOR);
    +	while(tok)
    +	{
    +		if(*tok) {
    +			char *dir;
    +			char *cptr;
    +			dir = pp_xstrdup(tok);
    +			for(cptr = dir; *cptr; cptr++)
    +			{
    +				/* Convert to forward slash */
    +				if(*cptr == '\\')
    +					*cptr = '/';
    +			}
    +			/* Kill eventual trailing '/' */
    +			if(*(cptr = dir + strlen(dir)-1) == '/')
    +				*cptr = '\0';
    +
    +			/* Add to list */
    +			nincludepath++;
    +			includepath = pp_xrealloc(includepath, nincludepath * sizeof(*includepath));
    +			includepath[nincludepath-1] = dir;
    +		}
    +		tok = strtok(NULL, INCLUDESEPARATOR);
    +	}
    +	free(cpy);
    +}
    +
    +char *wpp_find_include(const char *name, int type)
    +{
    +    char *cpy;
    +    char *cptr;
    +    const char *ccptr;
    +    int i, fd;
    +
    +    cpy = pp_xmalloc(strlen(name)+1);
    +    cptr = cpy;
    +
    +    for(ccptr = name; *ccptr; ccptr++)
    +    {
    +        /* Convert to forward slash */
    +        if(*ccptr == '\\') {
    +            /* kill double backslash */
    +            if(ccptr[1] == '\\')
    +                ccptr++;
    +            *cptr = '/';
    +        }else {
    +            *cptr = *ccptr;
    +        }
    +        cptr++;
    +    }
    +    *cptr = '\0';
    +
    +    if(type == LOCAL_INCLUDE)
    +    {
    +        /* Search current dir and then -I path */
    +        fd = open( cpy, O_RDONLY );
    +        if (fd != -1)
    +        {
    +            close( fd );
    +            return cpy;
    +        }
    +    }
    +
    +    /* Skip all directories till the current include file for #include_next. */
    +    if(type == INCLUDE_NEXT)
    +    {
    +        for(i = 1; i < nincludepath; i++)
    +        {
    +            char *path;
    +            path = pp_xmalloc(strlen(includepath[i]) + strlen(cpy) + 2);
    +            strcpy(path, includepath[i - 1]);
    +            strcat(path, "/");
    +            strcat(path, cpy);
    +            if(!strcmp(pp_status.input, path))
    +            {
    +                free( path );
    +                break;
    +    	    }
    +            free( path );
    +        }
    +    }
    +    else
    +    {
    +        i = 0;
    +    }
    +
    +    /* Search -I path */
    +    for(; i < nincludepath; i++)
    +    {
    +        char *path;
    +        path = pp_xmalloc(strlen(includepath[i]) + strlen(cpy) + 2);
    +        strcpy(path, includepath[i]);
    +        strcat(path, "/");
    +        strcat(path, cpy);
    +        fd = open( path, O_RDONLY );
    +        if (fd != -1)
    +        {
    +            close( fd );
    +            free( cpy );
    +            return path;
    +        }
    +        free( path );
    +    }
    +    free( cpy );
    +    return NULL;
    +}
    +
    +FILE *pp_open_include(const char *name, int type, char **newpath)
    +{
    +    char *path;
    +    FILE *fp;
    +
    +    if (!(path = wpp_find_include( name, type ))) return NULL;
    +    fp = fopen(path, "rt");
    +
    +    if (fp)
    +    {
    +        if (pp_status.debug)
    +            printf("Going to include <%s>\n", path);
    +        if (newpath) *newpath = path;
    +        else free( path );
    +        return fp;
    +    }
    +    free( path );
    +    return NULL;
    +}
    +
    +/*
    + *-------------------------------------------------------------------------
    + * #if, #ifdef, #ifndef, #else, #elif and #endif state management
    + *
    + * #if state transitions are made on basis of the current TOS and the next
    + * required state. The state transitions are required to housekeep because
    + * #if:s can be nested. The ignore case is activated to prevent output from
    + * within a false clause.
    + * Some special cases come from the fact that the #elif cases are not
    + * binary, but three-state. The problem is that all other elif-cases must
    + * be false when one true one has been found. A second problem is that the
    + * #else clause is a final clause. No extra #else:s may follow.
    + *
    + * The states mean:
    + * if_true	Process input to output
    + * if_false	Process input but no output
    + * if_ignore	Process input but no output
    + * if_elif	Process input but no output
    + * if_elsefalse	Process input but no output
    + * if_elsettrue	Process input to output
    + *
    + * The possible state-sequences are [state(stack depth)] (rest can be deduced):
    + *	TOS		#if 1		#else			#endif
    + *	if_true(n)	if_true(n+1)	if_elsefalse(n+1)
    + *	if_false(n)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_elsetrue(n)	if_true(n+1)	if_elsefalse(n+1)
    + *	if_elsefalse(n)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_elif(n)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_ignore(n)	if_ignore(n+1)	if_ignore(n+1)
    + *
    + *	TOS		#if 1		#elif 0		#else		#endif
    + *	if_true(n)	if_true(n+1)	if_elif(n+1)	if_elif(n+1)
    + *	if_false(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_elsetrue(n)	if_true(n+1)	if_elif(n+1)	if_elif(n+1)
    + *	if_elsefalse(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_elif(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_ignore(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *
    + *	TOS		#if 0		#elif 1		#else		#endif
    + *	if_true(n)	if_false(n+1)	if_true(n+1)	if_elsefalse(n+1)
    + *	if_false(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_elsetrue(n)	if_false(n+1)	if_true(n+1)	if_elsefalse(n+1)
    + *	if_elsefalse(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_elif(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *	if_ignore(n)	if_ignore(n+1)	if_ignore(n+1)	if_ignore(n+1)
    + *
    + *-------------------------------------------------------------------------
    + */
    +static const char * const pp_if_state_str[] = {
    +	"if_false",
    +	"if_true",
    +	"if_elif",
    +	"if_elsefalse",
    +	"if_elsetrue",
    +	"if_ignore"
    +};
    +
    +void pp_push_if(pp_if_state_t s)
    +{
    +	if(if_stack_idx >= MAXIFSTACK)
    +		pp_internal_error(__FILE__, __LINE__, "#if-stack overflow; #{if,ifdef,ifndef} nested too deeply (> %d)", MAXIFSTACK);
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "Push if %s:%d: %s(%d) -> %s(%d)\n", pp_status.input, pp_status.line_number, pp_if_state_str[pp_if_state()], if_stack_idx, pp_if_state_str[s], if_stack_idx+1);
    +
    +	if_stack[if_stack_idx++] = s;
    +
    +	switch(s)
    +	{
    +	case if_true:
    +	case if_elsetrue:
    +		break;
    +	case if_false:
    +	case if_elsefalse:
    +	case if_elif:
    +	case if_ignore:
    +		pp_push_ignore_state();
    +		break;
    +	}
    +}
    +
    +pp_if_state_t pp_pop_if(void)
    +{
    +	if(if_stack_idx <= 0)
    +		pperror("#{endif,else,elif} without #{if,ifdef,ifndef} (#if-stack underflow)");
    +
    +	switch(pp_if_state())
    +	{
    +	case if_true:
    +	case if_elsetrue:
    +		break;
    +	case if_false:
    +	case if_elsefalse:
    +	case if_elif:
    +	case if_ignore:
    +		pp_pop_ignore_state();
    +		break;
    +	}
    +
    +	if(pp_flex_debug)
    +		fprintf(stderr, "Pop if %s:%d: %s(%d) -> %s(%d)\n",
    +				pp_status.input,
    +				pp_status.line_number,
    +				pp_if_state_str[pp_if_state()],
    +				if_stack_idx,
    +				pp_if_state_str[if_stack[if_stack_idx <= 1 ? if_true : if_stack_idx-2]],
    +				if_stack_idx-1);
    +
    +	return if_stack[--if_stack_idx];
    +}
    +
    +pp_if_state_t pp_if_state(void)
    +{
    +	if(!if_stack_idx)
    +		return if_true;
    +	else
    +		return if_stack[if_stack_idx-1];
    +}
    +
    +
    +void pp_next_if_state(int i)
    +{
    +	switch(pp_if_state())
    +	{
    +	case if_true:
    +	case if_elsetrue:
    +		pp_push_if(i ? if_true : if_false);
    +		break;
    +	case if_false:
    +	case if_elsefalse:
    +	case if_elif:
    +	case if_ignore:
    +		pp_push_if(if_ignore);
    +		break;
    +	default:
    +		pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #{if,ifdef,ifndef} directive", (int)pp_if_state());
    +	}
    +}
    +
    +int pp_get_if_depth(void)
    +{
    +	return if_stack_idx;
    +}
    +
    +/* #define WANT_NEAR_INDICATION */
    +
    +static void generic_msg(const char *s, const char *t, const char *n, va_list ap)
    +{
    +	fprintf(stderr, "%s:%d:%d: %s: ", pp_status.input ? pp_status.input : "stdin",
    +                pp_status.line_number, pp_status.char_number, t);
    +	vfprintf(stderr, s, ap);
    +#ifdef WANT_NEAR_INDICATION
    +	{
    +		char *cpy, *p;
    +		if(n)
    +		{
    +			cpy = pp_xstrdup(n);
    +			for (p = cpy; *p; p++) if(!isprint(*p)) *p = ' ';
    +			fprintf(stderr, " near '%s'", cpy);
    +			free(cpy);
    +		}
    +	}
    +#endif
    +	fprintf(stderr, "\n");
    +}
    +
    +int pperror(const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	generic_msg(s, "Error", pptext, ap);
    +	va_end(ap);
    +	exit(1);
    +	return 1;
    +}
    +
    +int ppwarning(const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	generic_msg(s, "Warning", pptext, ap);
    +	va_end(ap);
    +	return 0;
    +}
    +
    +void pp_internal_error(const char *file, int line, const char *s, ...)
    +{
    +	va_list ap;
    +	va_start(ap, s);
    +	fprintf(stderr, "Internal error (please report) %s %d: ", file, line);
    +	vfprintf(stderr, s, ap);
    +	fprintf(stderr, "\n");
    +	va_end(ap);
    +	exit(3);
    +}
    diff --git a/reactos/tools/wpp/wpp.c b/reactos/tools/wpp/wpp.c
    new file mode 100644
    index 00000000000..00ab5195775
    --- /dev/null
    +++ b/reactos/tools/wpp/wpp.c
    @@ -0,0 +1,200 @@
    +/*
    + * Exported functions of the Wine preprocessor
    + *
    + * Copyrignt 1998 Bertho A. Stultiens
    + * Copyright 2002 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +
    +#include "wpp_private.h"
    +#include "wine/wpp.h"
    +
    +int ppdebug;
    +
    +struct define
    +{
    +    struct define *next;
    +    char          *name;
    +    char          *value;
    +};
    +
    +static struct define *cmdline_defines;
    +
    +static void add_cmdline_defines(void)
    +{
    +    struct define *def;
    +
    +    for (def = cmdline_defines; def; def = def->next)
    +    {
    +        if (def->value) pp_add_define( pp_xstrdup(def->name), pp_xstrdup(def->value) );
    +    }
    +}
    +
    +static void add_special_defines(void)
    +{
    +    time_t now = time(NULL);
    +    pp_entry_t *ppp;
    +    char buf[32];
    +
    +    strftime(buf, sizeof(buf), "\"%b %d %Y\"", localtime(&now));
    +    pp_add_define( pp_xstrdup("__DATE__"), pp_xstrdup(buf) );
    +
    +    strftime(buf, sizeof(buf), "\"%H:%M:%S\"", localtime(&now));
    +    pp_add_define( pp_xstrdup("__TIME__"), pp_xstrdup(buf) );
    +
    +    ppp = pp_add_define( pp_xstrdup("__FILE__"), pp_xstrdup("") );
    +    ppp->type = def_special;
    +
    +    ppp = pp_add_define( pp_xstrdup("__LINE__"), pp_xstrdup("") );
    +    ppp->type = def_special;
    +}
    +
    +
    +/* add a define to the preprocessor list */
    +void wpp_add_define( const char *name, const char *value )
    +{
    +    struct define *def;
    +
    +    if (!value) value = "";
    +
    +    for (def = cmdline_defines; def; def = def->next)
    +    {
    +        if (!strcmp( def->name, name ))
    +        {
    +            if (def->value) free( def->value );
    +            def->value = pp_xstrdup(value);
    +            return;
    +        }
    +    }
    +
    +    def = pp_xmalloc( sizeof(*def) );
    +    def->next  = cmdline_defines;
    +    def->name  = pp_xstrdup(name);
    +    def->value = pp_xstrdup(value);
    +    cmdline_defines = def;
    +}
    +
    +
    +/* undefine a previously added definition */
    +void wpp_del_define( const char *name )
    +{
    +    struct define *def;
    +
    +    for (def = cmdline_defines; def; def = def->next)
    +    {
    +        if (!strcmp( def->name, name ))
    +        {
    +            if (def->value) free( def->value );
    +            def->value = NULL;
    +            return;
    +        }
    +    }
    +}
    +
    +
    +/* add a command-line define of the form NAME=VALUE */
    +void wpp_add_cmdline_define( const char *value )
    +{
    +    char *str = pp_xstrdup(value);
    +    char *p = strchr( str, '=' );
    +    if (p) *p++ = 0;
    +    wpp_add_define( str, p );
    +    free( str );
    +}
    +
    +
    +/* set the various debug flags */
    +void wpp_set_debug( int lex_debug, int parser_debug, int msg_debug )
    +{
    +    pp_flex_debug   = lex_debug;
    +    ppdebug         = parser_debug;
    +    pp_status.debug = msg_debug;
    +}
    +
    +
    +/* set the pedantic mode */
    +void wpp_set_pedantic( int on )
    +{
    +    pp_status.pedantic = on;
    +}
    +
    +
    +/* the main preprocessor parsing loop */
    +int wpp_parse( const char *input, FILE *output )
    +{
    +    int ret;
    +
    +    pp_status.input = NULL;
    +
    +    pp_push_define_state();
    +    add_cmdline_defines();
    +    add_special_defines();
    +
    +    if (!input) ppin = stdin;
    +    else if (!(ppin = fopen(input, "rt")))
    +    {
    +        fprintf(stderr,"Could not open %s\n", input);
    +        exit(2);
    +    }
    +
    +    pp_status.input = input;
    +
    +    ppout = output;
    +    fprintf(ppout, "# 1 \"%s\" 1\n", input ? input : "");
    +
    +    ret = ppparse();
    +
    +    if (input) fclose(ppin);
    +    pp_pop_define_state();
    +    return ret;
    +}
    +
    +
    +/* parse into a temporary file */
    +int wpp_parse_temp( const char *input, const char *output_base, char **output_name )
    +{
    +    FILE *output;
    +    int ret, fd;
    +    char *temp_name;
    +
    +    if (!output_base || !output_base[0]) output_base = "wpptmp";
    +
    +    temp_name = pp_xmalloc( strlen(output_base) + 8 );
    +    strcpy( temp_name, output_base );
    +    strcat( temp_name, ".XXXXXX" );
    +
    +    if((fd = mkstemps( temp_name, 0 )) == -1)
    +    {
    +        fprintf(stderr, "Could not generate a temp name from %s\n", temp_name);
    +        exit(2);
    +    }
    +
    +    if (!(output = fdopen(fd, "wt")))
    +    {
    +        fprintf(stderr,"Could not open fd %s for writing\n", temp_name);
    +        exit(2);
    +    }
    +
    +    *output_name = temp_name;
    +    ret = wpp_parse( input, output );
    +    fclose( output );
    +    return ret;
    +}
    diff --git a/reactos/tools/wpp/wpp.tab.c b/reactos/tools/wpp/wpp.tab.c
    new file mode 100644
    index 00000000000..9c5d4559193
    --- /dev/null
    +++ b/reactos/tools/wpp/wpp.tab.c
    @@ -0,0 +1,2328 @@
    +/* A Bison parser, made by GNU Bison 1.875b.  */
    +
    +/* Skeleton parser for Yacc-like parsing with Bison,
    +   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    +
    +   This program is free software; you can redistribute it and/or modify
    +   it under the terms of the GNU General Public License as published by
    +   the Free Software Foundation; either version 2, or (at your option)
    +   any later version.
    +
    +   This program is distributed in the hope that it will be useful,
    +   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +   GNU General Public License for more details.
    +
    +   You should have received a copy of the GNU General Public License
    +   along with this program; if not, write to the Free Software
    +   Foundation, Inc., 59 Temple Place - Suite 330,
    +   Boston, MA 02111-1307, USA.  */
    +
    +/* As a special exception, when this file is copied by Bison into a
    +   Bison output file, you may use that output file without restriction.
    +   This special exception was added by the Free Software Foundation
    +   in version 1.24 of Bison.  */
    +
    +/* Written by Richard Stallman by simplifying the original so called
    +   ``semantic'' parser.  */
    +
    +/* All symbols defined below should begin with yy or YY, to avoid
    +   infringing on user name space.  This should be done even for local
    +   variables, as they might otherwise be expanded by user macros.
    +   There are some unavoidable exceptions within include files to
    +   define necessary library symbols; they are noted "INFRINGES ON
    +   USER NAME SPACE" below.  */
    +
    +/* Identify Bison output.  */
    +#define YYBISON 1
    +
    +/* Skeleton name.  */
    +#define YYSKELETON_NAME "yacc.c"
    +
    +/* Pure parsers.  */
    +#define YYPURE 0
    +
    +/* Using locations.  */
    +#define YYLSP_NEEDED 0
    +
    +/* If NAME_PREFIX is specified substitute the variables and functions
    +   names.  */
    +#define yyparse ppparse
    +#define yylex   pplex
    +#define yyerror pperror
    +#define yylval  pplval
    +#define yychar  ppchar
    +#define yydebug ppdebug
    +#define yynerrs ppnerrs
    +
    +
    +/* Tokens.  */
    +#ifndef YYTOKENTYPE
    +# define YYTOKENTYPE
    +   /* Put the tokens into the symbol table, so that GDB and other debuggers
    +      know about them.  */
    +   enum yytokentype {
    +     tRCINCLUDE = 258,
    +     tIF = 259,
    +     tIFDEF = 260,
    +     tIFNDEF = 261,
    +     tELSE = 262,
    +     tELIF = 263,
    +     tENDIF = 264,
    +     tDEFINED = 265,
    +     tNL = 266,
    +     tINCLUDE = 267,
    +     tINCLUDE_NEXT = 268,
    +     tLINE = 269,
    +     tGCCLINE = 270,
    +     tERROR = 271,
    +     tWARNING = 272,
    +     tPRAGMA = 273,
    +     tPPIDENT = 274,
    +     tUNDEF = 275,
    +     tMACROEND = 276,
    +     tCONCAT = 277,
    +     tELIPSIS = 278,
    +     tSTRINGIZE = 279,
    +     tIDENT = 280,
    +     tLITERAL = 281,
    +     tMACRO = 282,
    +     tDEFINE = 283,
    +     tDQSTRING = 284,
    +     tSQSTRING = 285,
    +     tIQSTRING = 286,
    +     tUINT = 287,
    +     tSINT = 288,
    +     tULONG = 289,
    +     tSLONG = 290,
    +     tULONGLONG = 291,
    +     tSLONGLONG = 292,
    +     tRCINCLUDEPATH = 293,
    +     tLOGOR = 294,
    +     tLOGAND = 295,
    +     tNE = 296,
    +     tEQ = 297,
    +     tGTE = 298,
    +     tLTE = 299,
    +     tRSHIFT = 300,
    +     tLSHIFT = 301
    +   };
    +#endif
    +#define tRCINCLUDE 258
    +#define tIF 259
    +#define tIFDEF 260
    +#define tIFNDEF 261
    +#define tELSE 262
    +#define tELIF 263
    +#define tENDIF 264
    +#define tDEFINED 265
    +#define tNL 266
    +#define tINCLUDE 267
    +#define tINCLUDE_NEXT 268
    +#define tLINE 269
    +#define tGCCLINE 270
    +#define tERROR 271
    +#define tWARNING 272
    +#define tPRAGMA 273
    +#define tPPIDENT 274
    +#define tUNDEF 275
    +#define tMACROEND 276
    +#define tCONCAT 277
    +#define tELIPSIS 278
    +#define tSTRINGIZE 279
    +#define tIDENT 280
    +#define tLITERAL 281
    +#define tMACRO 282
    +#define tDEFINE 283
    +#define tDQSTRING 284
    +#define tSQSTRING 285
    +#define tIQSTRING 286
    +#define tUINT 287
    +#define tSINT 288
    +#define tULONG 289
    +#define tSLONG 290
    +#define tULONGLONG 291
    +#define tSLONGLONG 292
    +#define tRCINCLUDEPATH 293
    +#define tLOGOR 294
    +#define tLOGAND 295
    +#define tNE 296
    +#define tEQ 297
    +#define tGTE 298
    +#define tLTE 299
    +#define tRSHIFT 300
    +#define tLSHIFT 301
    +
    +
    +
    +
    +/* Copy the first part of user declarations.  */
    +#line 30 "wpp/ppy.y"
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wpp_private.h"
    +
    +
    +#define UNARY_OP(r, v, OP)					\
    +	switch(v.type)						\
    +	{							\
    +	case cv_sint:	r.val.si  = OP v.val.si; break;		\
    +	case cv_uint:	r.val.ui  = OP v.val.ui; break;		\
    +	case cv_slong:	r.val.sl  = OP v.val.sl; break;		\
    +	case cv_ulong:	r.val.ul  = OP v.val.ul; break;		\
    +	case cv_sll:	r.val.sll = OP v.val.sll; break;	\
    +	case cv_ull:	r.val.ull = OP v.val.ull; break;	\
    +	}
    +
    +#define cv_signed(v)	((v.type & FLAG_SIGNED) != 0)
    +
    +#define BIN_OP_INT(r, v1, v2, OP)			\
    +	r.type = v1.type;				\
    +	if(cv_signed(v1) && cv_signed(v2))		\
    +		r.val.si = v1.val.si OP v2.val.si;	\
    +	else if(cv_signed(v1) && !cv_signed(v2))	\
    +		r.val.si = v1.val.si OP v2.val.ui;	\
    +	else if(!cv_signed(v1) && cv_signed(v2))	\
    +		r.val.ui = v1.val.ui OP v2.val.si;	\
    +	else						\
    +		r.val.ui = v1.val.ui OP v2.val.ui;
    +
    +#define BIN_OP_LONG(r, v1, v2, OP)			\
    +	r.type = v1.type;				\
    +	if(cv_signed(v1) && cv_signed(v2))		\
    +		r.val.sl = v1.val.sl OP v2.val.sl;	\
    +	else if(cv_signed(v1) && !cv_signed(v2))	\
    +		r.val.sl = v1.val.sl OP v2.val.ul;	\
    +	else if(!cv_signed(v1) && cv_signed(v2))	\
    +		r.val.ul = v1.val.ul OP v2.val.sl;	\
    +	else						\
    +		r.val.ul = v1.val.ul OP v2.val.ul;
    +
    +#define BIN_OP_LONGLONG(r, v1, v2, OP)			\
    +	r.type = v1.type;				\
    +	if(cv_signed(v1) && cv_signed(v2))		\
    +		r.val.sll = v1.val.sll OP v2.val.sll;	\
    +	else if(cv_signed(v1) && !cv_signed(v2))	\
    +		r.val.sll = v1.val.sll OP v2.val.ull;	\
    +	else if(!cv_signed(v1) && cv_signed(v2))	\
    +		r.val.ull = v1.val.ull OP v2.val.sll;	\
    +	else						\
    +		r.val.ull = v1.val.ull OP v2.val.ull;
    +
    +#define BIN_OP(r, v1, v2, OP)						\
    +	switch(v1.type & SIZE_MASK)					\
    +	{								\
    +	case SIZE_INT:		BIN_OP_INT(r, v1, v2, OP); break;	\
    +	case SIZE_LONG:		BIN_OP_LONG(r, v1, v2, OP); break;	\
    +	case SIZE_LONGLONG:	BIN_OP_LONGLONG(r, v1, v2, OP); break;	\
    +	default: pp_internal_error(__FILE__, __LINE__, "Invalid type indicator (0x%04x)", v1.type);	\
    +	}
    +
    +
    +/*
    + * Prototypes
    + */
    +static int boolean(cval_t *v);
    +static void promote_equal_size(cval_t *v1, cval_t *v2);
    +static void cast_to_sint(cval_t *v);
    +static void cast_to_uint(cval_t *v);
    +static void cast_to_slong(cval_t *v);
    +static void cast_to_ulong(cval_t *v);
    +static void cast_to_sll(cval_t *v);
    +static void cast_to_ull(cval_t *v);
    +static marg_t *new_marg(char *str, def_arg_t type);
    +static marg_t *add_new_marg(char *str, def_arg_t type);
    +static int marg_index(char *id);
    +static mtext_t *new_mtext(char *str, int idx, def_exp_t type);
    +static mtext_t *combine_mtext(mtext_t *tail, mtext_t *mtp);
    +static char *merge_text(char *s1, char *s2);
    +
    +/*
    + * Local variables
    + */
    +static marg_t **macro_args;	/* Macro parameters array while parsing */
    +static int	nmacro_args;
    +
    +
    +
    +/* Enabling traces.  */
    +#ifndef YYDEBUG
    +# define YYDEBUG 1
    +#endif
    +
    +/* Enabling verbose error messages.  */
    +#ifdef YYERROR_VERBOSE
    +# undef YYERROR_VERBOSE
    +# define YYERROR_VERBOSE 1
    +#else
    +# define YYERROR_VERBOSE 0
    +#endif
    +
    +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    +#line 126 "wpp/ppy.y"
    +typedef union YYSTYPE {
    +	int		sint;
    +	unsigned int	uint;
    +	long		slong;
    +	unsigned long	ulong;
    +	wrc_sll_t	sll;
    +	wrc_ull_t	ull;
    +	int		*iptr;
    +	char		*cptr;
    +	cval_t		cval;
    +	marg_t		*marg;
    +	mtext_t		*mtext;
    +} YYSTYPE;
    +/* Line 191 of yacc.c.  */
    +#line 287 "wpp/wpp.tab.c"
    +# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    +# define YYSTYPE_IS_DECLARED 1
    +# define YYSTYPE_IS_TRIVIAL 1
    +#endif
    +
    +
    +
    +/* Copy the second part of user declarations.  */
    +
    +
    +/* Line 214 of yacc.c.  */
    +#line 299 "wpp/wpp.tab.c"
    +
    +#if ! defined (yyoverflow) || YYERROR_VERBOSE
    +
    +/* The parser invokes alloca or malloc; define the necessary symbols.  */
    +
    +# if YYSTACK_USE_ALLOCA
    +#  define YYSTACK_ALLOC alloca
    +# else
    +#  ifndef YYSTACK_USE_ALLOCA
    +#   if defined (alloca) || defined (_ALLOCA_H)
    +#    define YYSTACK_ALLOC alloca
    +#   else
    +#    ifdef __GNUC__
    +#     define YYSTACK_ALLOC __builtin_alloca
    +#    endif
    +#   endif
    +#  endif
    +# endif
    +
    +# ifdef YYSTACK_ALLOC
    +   /* Pacify GCC's `empty if-body' warning. */
    +#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    +# else
    +#  if defined (__STDC__) || defined (__cplusplus)
    +#   include  /* INFRINGES ON USER NAME SPACE */
    +#   define YYSIZE_T size_t
    +#  endif
    +#  define YYSTACK_ALLOC malloc
    +#  define YYSTACK_FREE free
    +# endif
    +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
    +
    +
    +#if (! defined (yyoverflow) \
    +     && (! defined (__cplusplus) \
    +	 || (YYSTYPE_IS_TRIVIAL)))
    +
    +/* A type that is properly aligned for any stack member.  */
    +union yyalloc
    +{
    +  short yyss;
    +  YYSTYPE yyvs;
    +  };
    +
    +/* The size of the maximum gap between one aligned stack and the next.  */
    +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
    +
    +/* The size of an array large to enough to hold all stacks, each with
    +   N elements.  */
    +# define YYSTACK_BYTES(N) \
    +     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
    +      + YYSTACK_GAP_MAXIMUM)
    +
    +/* Copy COUNT objects from FROM to TO.  The source and destination do
    +   not overlap.  */
    +# ifndef YYCOPY
    +#  if 1 < __GNUC__
    +#   define YYCOPY(To, From, Count) \
    +      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    +#  else
    +#   define YYCOPY(To, From, Count)		\
    +      do					\
    +	{					\
    +	  register YYSIZE_T yyi;		\
    +	  for (yyi = 0; yyi < (Count); yyi++)	\
    +	    (To)[yyi] = (From)[yyi];		\
    +	}					\
    +      while (0)
    +#  endif
    +# endif
    +
    +/* Relocate STACK from its old location to the new one.  The
    +   local variables YYSIZE and YYSTACKSIZE give the old and new number of
    +   elements in the stack, and YYPTR gives the new location of the
    +   stack.  Advance YYPTR to a properly aligned location for the next
    +   stack.  */
    +# define YYSTACK_RELOCATE(Stack)					\
    +    do									\
    +      {									\
    +	YYSIZE_T yynewbytes;						\
    +	YYCOPY (&yyptr->Stack, Stack, yysize);				\
    +	Stack = &yyptr->Stack;						\
    +	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    +	yyptr += yynewbytes / sizeof (*yyptr);				\
    +      }									\
    +    while (0)
    +
    +#endif
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +   typedef signed char yysigned_char;
    +#else
    +   typedef short yysigned_char;
    +#endif
    +
    +/* YYFINAL -- State number of the termination state. */
    +#define YYFINAL  2
    +/* YYLAST -- Last index in YYTABLE.  */
    +#define YYLAST   308
    +
    +/* YYNTOKENS -- Number of terminals. */
    +#define YYNTOKENS  63
    +/* YYNNTS -- Number of nonterminals. */
    +#define YYNNTS  13
    +/* YYNRULES -- Number of rules. */
    +#define YYNRULES  86
    +/* YYNRULES -- Number of states. */
    +#define YYNSTATES  158
    +
    +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    +#define YYUNDEFTOK  2
    +#define YYMAXUTOK   301
    +
    +#define YYTRANSLATE(YYX) 						\
    +  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    +
    +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
    +static const unsigned char yytranslate[] =
    +{
    +       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,    59,     2,     2,     2,     2,    45,     2,
    +      61,    62,    56,    54,    60,    55,     2,    57,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,    40,     2,
    +      48,     2,    49,    39,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,    44,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,    43,     2,    58,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    +       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
    +       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    +      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    +      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    +      35,    36,    37,    38,    41,    42,    46,    47,    50,    51,
    +      52,    53
    +};
    +
    +#if YYDEBUG
    +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    +   YYRHS.  */
    +static const unsigned short yyprhs[] =
    +{
    +       0,     0,     3,     4,     7,    11,    15,    19,    23,    27,
    +      31,    35,    39,    42,    45,    49,    53,    60,    65,    70,
    +      76,    83,    91,   100,   103,   107,   111,   115,   119,   122,
    +     125,   126,   128,   130,   132,   134,   137,   140,   143,   144,
    +     145,   147,   149,   153,   157,   159,   160,   162,   164,   167,
    +     169,   171,   173,   175,   178,   180,   182,   184,   186,   188,
    +     190,   192,   195,   200,   202,   206,   210,   214,   218,   222,
    +     226,   230,   234,   238,   242,   246,   250,   254,   258,   262,
    +     266,   270,   273,   276,   279,   282,   286
    +};
    +
    +/* YYRHS -- A `-1'-separated list of the rules' RHS. */
    +static const yysigned_char yyrhs[] =
    +{
    +      64,     0,    -1,    -1,    64,    65,    -1,    12,    29,    11,
    +      -1,    12,    31,    11,    -1,    13,    29,    11,    -1,    13,
    +      31,    11,    -1,     4,    75,    11,    -1,     5,    25,    11,
    +      -1,     6,    25,    11,    -1,     8,    75,    11,    -1,     7,
    +      11,    -1,     9,    11,    -1,    20,    25,    11,    -1,    28,
    +      66,    11,    -1,    27,    68,    69,    21,    72,    11,    -1,
    +      14,    33,    29,    11,    -1,    15,    33,    29,    11,    -1,
    +      15,    33,    29,    33,    11,    -1,    15,    33,    29,    33,
    +      33,    11,    -1,    15,    33,    29,    33,    33,    33,    11,
    +      -1,    15,    33,    29,    33,    33,    33,    33,    11,    -1,
    +      15,    11,    -1,    16,    66,    11,    -1,    17,    66,    11,
    +      -1,    18,    66,    11,    -1,    19,    66,    11,    -1,     3,
    +      38,    -1,     3,    29,    -1,    -1,    67,    -1,    26,    -1,
    +      29,    -1,    30,    -1,    67,    26,    -1,    67,    29,    -1,
    +      67,    30,    -1,    -1,    -1,    70,    -1,    71,    -1,    71,
    +      60,    23,    -1,    71,    60,    25,    -1,    25,    -1,    -1,
    +      73,    -1,    74,    -1,    73,    74,    -1,    26,    -1,    29,
    +      -1,    30,    -1,    22,    -1,    24,    25,    -1,    25,    -1,
    +      33,    -1,    32,    -1,    35,    -1,    34,    -1,    37,    -1,
    +      36,    -1,    10,    25,    -1,    10,    61,    25,    62,    -1,
    +      25,    -1,    75,    41,    75,    -1,    75,    42,    75,    -1,
    +      75,    47,    75,    -1,    75,    46,    75,    -1,    75,    48,
    +      75,    -1,    75,    49,    75,    -1,    75,    51,    75,    -1,
    +      75,    50,    75,    -1,    75,    54,    75,    -1,    75,    55,
    +      75,    -1,    75,    44,    75,    -1,    75,    45,    75,    -1,
    +      75,    43,    75,    -1,    75,    56,    75,    -1,    75,    57,
    +      75,    -1,    75,    53,    75,    -1,    75,    52,    75,    -1,
    +      54,    75,    -1,    55,    75,    -1,    58,    75,    -1,    59,
    +      75,    -1,    61,    75,    62,    -1,    75,    39,    75,    40,
    +      75,    -1
    +};
    +
    +/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
    +static const unsigned short yyrline[] =
    +{
    +       0,   181,   181,   182,   186,   187,   188,   189,   190,   191,
    +     192,   212,   233,   256,   271,   272,   273,   276,   277,   278,
    +     280,   282,   284,   286,   287,   288,   289,   290,   291,   298,
    +     304,   305,   308,   309,   310,   311,   312,   313,   316,   319,
    +     320,   323,   324,   327,   328,   332,   333,   339,   340,   343,
    +     344,   345,   346,   347,   353,   362,   363,   364,   365,   366,
    +     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    +     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
    +     387,   388,   389,   390,   391,   392,   393
    +};
    +#endif
    +
    +#if YYDEBUG || YYERROR_VERBOSE
    +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    +   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
    +static const char *const yytname[] =
    +{
    +  "$end", "error", "$undefined", "tRCINCLUDE", "tIF", "tIFDEF", "tIFNDEF", 
    +  "tELSE", "tELIF", "tENDIF", "tDEFINED", "tNL", "tINCLUDE", 
    +  "tINCLUDE_NEXT", "tLINE", "tGCCLINE", "tERROR", "tWARNING", "tPRAGMA", 
    +  "tPPIDENT", "tUNDEF", "tMACROEND", "tCONCAT", "tELIPSIS", "tSTRINGIZE", 
    +  "tIDENT", "tLITERAL", "tMACRO", "tDEFINE", "tDQSTRING", "tSQSTRING", 
    +  "tIQSTRING", "tUINT", "tSINT", "tULONG", "tSLONG", "tULONGLONG", 
    +  "tSLONGLONG", "tRCINCLUDEPATH", "'?'", "':'", "tLOGOR", "tLOGAND", 
    +  "'|'", "'^'", "'&'", "tNE", "tEQ", "'<'", "'>'", "tGTE", "tLTE", 
    +  "tRSHIFT", "tLSHIFT", "'+'", "'-'", "'*'", "'/'", "'~'", "'!'", "','", 
    +  "'('", "')'", "$accept", "pp_file", "preprocessor", "opt_text", "text", 
    +  "res_arg", "allmargs", "emargs", "margs", "opt_mtexts", "mtexts", 
    +  "mtext", "pp_expr", 0
    +};
    +#endif
    +
    +# ifdef YYPRINT
    +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    +   token YYLEX-NUM.  */
    +static const unsigned short yytoknum[] =
    +{
    +       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    +     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    +     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    +     285,   286,   287,   288,   289,   290,   291,   292,   293,    63,
    +      58,   294,   295,   124,    94,    38,   296,   297,    60,    62,
    +     298,   299,   300,   301,    43,    45,    42,    47,   126,    33,
    +      44,    40,    41
    +};
    +# endif
    +
    +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    +static const unsigned char yyr1[] =
    +{
    +       0,    63,    64,    64,    65,    65,    65,    65,    65,    65,
    +      65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    +      65,    65,    65,    65,    65,    65,    65,    65,    65,    65,
    +      66,    66,    67,    67,    67,    67,    67,    67,    68,    69,
    +      69,    70,    70,    71,    71,    72,    72,    73,    73,    74,
    +      74,    74,    74,    74,    74,    75,    75,    75,    75,    75,
    +      75,    75,    75,    75,    75,    75,    75,    75,    75,    75,
    +      75,    75,    75,    75,    75,    75,    75,    75,    75,    75,
    +      75,    75,    75,    75,    75,    75,    75
    +};
    +
    +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    +static const unsigned char yyr2[] =
    +{
    +       0,     2,     0,     2,     3,     3,     3,     3,     3,     3,
    +       3,     3,     2,     2,     3,     3,     6,     4,     4,     5,
    +       6,     7,     8,     2,     3,     3,     3,     3,     2,     2,
    +       0,     1,     1,     1,     1,     2,     2,     2,     0,     0,
    +       1,     1,     3,     3,     1,     0,     1,     1,     2,     1,
    +       1,     1,     1,     2,     1,     1,     1,     1,     1,     1,
    +       1,     2,     4,     1,     3,     3,     3,     3,     3,     3,
    +       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
    +       3,     2,     2,     2,     2,     3,     5
    +};
    +
    +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    +   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    +   means the default is an error.  */
    +static const unsigned char yydefact[] =
    +{
    +       2,     0,     1,     0,     0,     0,     0,     0,     0,     0,
    +       0,     0,     0,     0,    30,    30,    30,    30,     0,    38,
    +      30,     3,    29,    28,     0,    63,    56,    55,    58,    57,
    +      60,    59,     0,     0,     0,     0,     0,     0,     0,     0,
    +      12,     0,    13,     0,     0,     0,     0,     0,    23,     0,
    +      32,    33,    34,     0,    31,     0,     0,     0,     0,    39,
    +       0,    61,     0,    81,    82,    83,    84,     0,     8,     0,
    +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    +       0,     0,     0,     0,     0,     0,     0,     9,    10,    11,
    +       4,     5,     6,     7,     0,     0,    24,    35,    36,    37,
    +      25,    26,    27,    14,    44,     0,    40,    41,    15,     0,
    +      85,     0,    64,    65,    76,    74,    75,    67,    66,    68,
    +      69,    71,    70,    80,    79,    72,    73,    77,    78,    17,
    +      18,     0,    45,     0,    62,     0,    19,     0,    52,     0,
    +      54,    49,    50,    51,     0,    46,    47,    42,    43,    86,
    +      20,     0,    53,    16,    48,    21,     0,    22
    +};
    +
    +/* YYDEFGOTO[NTERM-NUM]. */
    +static const short yydefgoto[] =
    +{
    +      -1,     1,    21,    53,    54,    59,   105,   106,   107,   144,
    +     145,   146,    37
    +};
    +
    +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    +   STATE-NUM.  */
    +#define YYPACT_NINF -28
    +static const short yypact[] =
    +{
    +     -28,   126,   -28,   -27,    -3,   -13,    -5,     4,    -3,    12,
    +     -10,    28,    21,     2,   -20,   -20,   -20,   -20,    35,   -28,
    +     -20,   -28,   -28,   -28,   -24,   -28,   -28,   -28,   -28,   -28,
    +     -28,   -28,    -3,    -3,    -3,    -3,    -3,    42,    95,    97,
    +     -28,    68,   -28,   117,   137,   138,   141,   127,   -28,   170,
    +     -28,   -28,   -28,   277,   121,   281,   282,   285,   286,   273,
    +     288,   -28,   275,    80,    80,   -28,   -28,   116,   -28,    -3,
    +      -3,    -3,    -3,    -3,    -3,    -3,    -3,    -3,    -3,    -3,
    +      -3,    -3,    -3,    -3,    -3,    -3,    -3,   -28,   -28,   -28,
    +     -28,   -28,   -28,   -28,   290,     3,   -28,   -28,   -28,   -28,
    +     -28,   -28,   -28,   -28,   -28,   283,   -28,   242,   -28,   241,
    +     -28,   140,   175,   190,   204,   217,   229,    -7,    -7,    48,
    +      48,    48,    48,   120,   120,    80,    80,   -28,   -28,   -28,
    +     -28,     5,   265,    57,   -28,    -3,   -28,     6,   -28,   280,
    +     -28,   -28,   -28,   -28,   295,   265,   -28,   -28,   -28,   159,
    +     -28,     7,   -28,   -28,   -28,   -28,   296,   -28
    +};
    +
    +/* YYPGOTO[NTERM-NUM].  */
    +static const short yypgoto[] =
    +{
    +     -28,   -28,   -28,   -12,   -28,   -28,   -28,   -28,   -28,   -28,
    +     -28,   163,    -8
    +};
    +
    +/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    +   positive, shift that token.  If negative, reduce the rule which
    +   number is the opposite.  If zero, do what YYDEFACT says.
    +   If YYTABLE_NINF, syntax error.  */
    +#define YYTABLE_NINF -1
    +static const unsigned char yytable[] =
    +{
    +      41,    61,    22,    55,    56,    57,    50,    24,    60,    51,
    +      52,    23,    38,    48,   130,    40,   136,   150,   155,    43,
    +      39,    44,    25,    42,    63,    64,    65,    66,    67,    26,
    +      27,    28,    29,    30,    31,    49,   131,    62,   137,   151,
    +     156,    77,    78,    79,    80,    81,    82,    83,    84,    85,
    +      86,    32,    33,    68,    47,    34,    35,    45,    36,    46,
    +      58,   111,   112,   113,   114,   115,   116,   117,   118,   119,
    +     120,   121,   122,   123,   124,   125,   126,   127,   128,    89,
    +     147,    69,   148,    70,    71,    72,    73,    74,    75,    76,
    +      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
    +      81,    82,    83,    84,    85,    86,    87,    69,    88,    70,
    +      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
    +      81,    82,    83,    84,    85,    86,     2,   149,    90,     3,
    +       4,     5,     6,     7,     8,     9,    85,    86,    10,    11,
    +      12,    13,    14,    15,    16,    17,    18,    97,    91,    92,
    +      98,    99,    93,    19,    20,    69,    94,    70,    71,    72,
    +      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
    +      83,    84,    85,    86,    83,    84,    85,    86,   110,    69,
    +     135,    70,    71,    72,    73,    74,    75,    76,    77,    78,
    +      79,    80,    81,    82,    83,    84,    85,    86,    69,    95,
    +      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
    +      80,    81,    82,    83,    84,    85,    86,    71,    72,    73,
    +      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
    +      84,    85,    86,    72,    73,    74,    75,    76,    77,    78,
    +      79,    80,    81,    82,    83,    84,    85,    86,    73,    74,
    +      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    +      85,    86,    74,    75,    76,    77,    78,    79,    80,    81,
    +      82,    83,    84,    85,    86,    75,    76,    77,    78,    79,
    +      80,    81,    82,    83,    84,    85,    86,   138,    96,   139,
    +     140,   141,   100,   101,   142,   143,   102,   103,   104,   108,
    +     109,   129,   133,   134,   132,   152,   153,   157,   154
    +};
    +
    +static const unsigned char yycheck[] =
    +{
    +       8,    25,    29,    15,    16,    17,    26,    10,    20,    29,
    +      30,    38,    25,    11,    11,    11,    11,    11,    11,    29,
    +      25,    31,    25,    11,    32,    33,    34,    35,    36,    32,
    +      33,    34,    35,    36,    37,    33,    33,    61,    33,    33,
    +      33,    48,    49,    50,    51,    52,    53,    54,    55,    56,
    +      57,    54,    55,    11,    33,    58,    59,    29,    61,    31,
    +      25,    69,    70,    71,    72,    73,    74,    75,    76,    77,
    +      78,    79,    80,    81,    82,    83,    84,    85,    86,    11,
    +      23,    39,    25,    41,    42,    43,    44,    45,    46,    47,
    +      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
    +      52,    53,    54,    55,    56,    57,    11,    39,    11,    41,
    +      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    +      52,    53,    54,    55,    56,    57,     0,   135,    11,     3,
    +       4,     5,     6,     7,     8,     9,    56,    57,    12,    13,
    +      14,    15,    16,    17,    18,    19,    20,    26,    11,    11,
    +      29,    30,    11,    27,    28,    39,    29,    41,    42,    43,
    +      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    +      54,    55,    56,    57,    54,    55,    56,    57,    62,    39,
    +      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
    +      50,    51,    52,    53,    54,    55,    56,    57,    39,    29,
    +      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
    +      51,    52,    53,    54,    55,    56,    57,    42,    43,    44,
    +      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    +      55,    56,    57,    43,    44,    45,    46,    47,    48,    49,
    +      50,    51,    52,    53,    54,    55,    56,    57,    44,    45,
    +      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
    +      56,    57,    45,    46,    47,    48,    49,    50,    51,    52,
    +      53,    54,    55,    56,    57,    46,    47,    48,    49,    50,
    +      51,    52,    53,    54,    55,    56,    57,    22,    11,    24,
    +      25,    26,    11,    11,    29,    30,    11,    11,    25,    11,
    +      25,    11,    60,    62,    21,    25,    11,    11,   145
    +};
    +
    +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    +   symbol of state STATE-NUM.  */
    +static const unsigned char yystos[] =
    +{
    +       0,    64,     0,     3,     4,     5,     6,     7,     8,     9,
    +      12,    13,    14,    15,    16,    17,    18,    19,    20,    27,
    +      28,    65,    29,    38,    10,    25,    32,    33,    34,    35,
    +      36,    37,    54,    55,    58,    59,    61,    75,    25,    25,
    +      11,    75,    11,    29,    31,    29,    31,    33,    11,    33,
    +      26,    29,    30,    66,    67,    66,    66,    66,    25,    68,
    +      66,    25,    61,    75,    75,    75,    75,    75,    11,    39,
    +      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
    +      51,    52,    53,    54,    55,    56,    57,    11,    11,    11,
    +      11,    11,    11,    11,    29,    29,    11,    26,    29,    30,
    +      11,    11,    11,    11,    25,    69,    70,    71,    11,    25,
    +      62,    75,    75,    75,    75,    75,    75,    75,    75,    75,
    +      75,    75,    75,    75,    75,    75,    75,    75,    75,    11,
    +      11,    33,    21,    60,    62,    40,    11,    33,    22,    24,
    +      25,    26,    29,    30,    72,    73,    74,    23,    25,    75,
    +      11,    33,    25,    11,    74,    11,    33,    11
    +};
    +
    +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    +# define YYSIZE_T __SIZE_TYPE__
    +#endif
    +#if ! defined (YYSIZE_T) && defined (size_t)
    +# define YYSIZE_T size_t
    +#endif
    +#if ! defined (YYSIZE_T)
    +# if defined (__STDC__) || defined (__cplusplus)
    +#  include  /* INFRINGES ON USER NAME SPACE */
    +#  define YYSIZE_T size_t
    +# endif
    +#endif
    +#if ! defined (YYSIZE_T)
    +# define YYSIZE_T unsigned int
    +#endif
    +
    +#define yyerrok		(yyerrstatus = 0)
    +#define yyclearin	(yychar = YYEMPTY)
    +#define YYEMPTY		(-2)
    +#define YYEOF		0
    +
    +#define YYACCEPT	goto yyacceptlab
    +#define YYABORT		goto yyabortlab
    +#define YYERROR		goto yyerrlab1
    +
    +
    +/* Like YYERROR except do call yyerror.  This remains here temporarily
    +   to ease the transition to the new meaning of YYERROR, for GCC.
    +   Once GCC version 2 has supplanted version 1, this can go.  */
    +
    +#define YYFAIL		goto yyerrlab
    +
    +#define YYRECOVERING()  (!!yyerrstatus)
    +
    +#define YYBACKUP(Token, Value)					\
    +do								\
    +  if (yychar == YYEMPTY && yylen == 1)				\
    +    {								\
    +      yychar = (Token);						\
    +      yylval = (Value);						\
    +      yytoken = YYTRANSLATE (yychar);				\
    +      YYPOPSTACK;						\
    +      goto yybackup;						\
    +    }								\
    +  else								\
    +    { 								\
    +      yyerror ("syntax error: cannot back up");\
    +      YYERROR;							\
    +    }								\
    +while (0)
    +
    +#define YYTERROR	1
    +#define YYERRCODE	256
    +
    +/* YYLLOC_DEFAULT -- Compute the default location (before the actions
    +   are run).  */
    +
    +#ifndef YYLLOC_DEFAULT
    +# define YYLLOC_DEFAULT(Current, Rhs, N)         \
    +  Current.first_line   = Rhs[1].first_line;      \
    +  Current.first_column = Rhs[1].first_column;    \
    +  Current.last_line    = Rhs[N].last_line;       \
    +  Current.last_column  = Rhs[N].last_column;
    +#endif
    +
    +/* YYLEX -- calling `yylex' with the right arguments.  */
    +
    +#ifdef YYLEX_PARAM
    +# define YYLEX yylex (YYLEX_PARAM)
    +#else
    +# define YYLEX yylex ()
    +#endif
    +
    +/* Enable debugging if requested.  */
    +#if YYDEBUG
    +
    +# ifndef YYFPRINTF
    +#  include  /* INFRINGES ON USER NAME SPACE */
    +#  define YYFPRINTF fprintf
    +# endif
    +
    +# define YYDPRINTF(Args)			\
    +do {						\
    +  if (yydebug)					\
    +    YYFPRINTF Args;				\
    +} while (0)
    +
    +# define YYDSYMPRINT(Args)			\
    +do {						\
    +  if (yydebug)					\
    +    yysymprint Args;				\
    +} while (0)
    +
    +# define YYDSYMPRINTF(Title, Token, Value, Location)		\
    +do {								\
    +  if (yydebug)							\
    +    {								\
    +      YYFPRINTF (stderr, "%s ", Title);				\
    +      yysymprint (stderr, 					\
    +                  Token, Value);	\
    +      YYFPRINTF (stderr, "\n");					\
    +    }								\
    +} while (0)
    +
    +/*------------------------------------------------------------------.
    +| yy_stack_print -- Print the state stack from its BOTTOM up to its |
    +| TOP (cinluded).                                                   |
    +`------------------------------------------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yy_stack_print (short *bottom, short *top)
    +#else
    +static void
    +yy_stack_print (bottom, top)
    +    short *bottom;
    +    short *top;
    +#endif
    +{
    +  YYFPRINTF (stderr, "Stack now");
    +  for (/* Nothing. */; bottom <= top; ++bottom)
    +    YYFPRINTF (stderr, " %d", *bottom);
    +  YYFPRINTF (stderr, "\n");
    +}
    +
    +# define YY_STACK_PRINT(Bottom, Top)				\
    +do {								\
    +  if (yydebug)							\
    +    yy_stack_print ((Bottom), (Top));				\
    +} while (0)
    +
    +
    +/*------------------------------------------------.
    +| Report that the YYRULE is going to be reduced.  |
    +`------------------------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yy_reduce_print (int yyrule)
    +#else
    +static void
    +yy_reduce_print (yyrule)
    +    int yyrule;
    +#endif
    +{
    +  int yyi;
    +  unsigned int yylno = yyrline[yyrule];
    +  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
    +             yyrule - 1, yylno);
    +  /* Print the symbols being reduced, and their result.  */
    +  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    +    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
    +  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
    +}
    +
    +# define YY_REDUCE_PRINT(Rule)		\
    +do {					\
    +  if (yydebug)				\
    +    yy_reduce_print (Rule);		\
    +} while (0)
    +
    +/* Nonzero means print parse trace.  It is left uninitialized so that
    +   multiple parsers can coexist.  */
    +int yydebug;
    +#else /* !YYDEBUG */
    +# define YYDPRINTF(Args)
    +# define YYDSYMPRINT(Args)
    +# define YYDSYMPRINTF(Title, Token, Value, Location)
    +# define YY_STACK_PRINT(Bottom, Top)
    +# define YY_REDUCE_PRINT(Rule)
    +#endif /* !YYDEBUG */
    +
    +
    +/* YYINITDEPTH -- initial size of the parser's stacks.  */
    +#ifndef	YYINITDEPTH
    +# define YYINITDEPTH 200
    +#endif
    +
    +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
    +   if the built-in stack extension method is used).
    +
    +   Do not make this value too large; the results are undefined if
    +   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
    +   evaluated with infinite-precision integer arithmetic.  */
    +
    +#if YYMAXDEPTH == 0
    +# undef YYMAXDEPTH
    +#endif
    +
    +#ifndef YYMAXDEPTH
    +# define YYMAXDEPTH 10000
    +#endif
    +
    +
    +
    +#if YYERROR_VERBOSE
    +
    +# ifndef yystrlen
    +#  if defined (__GLIBC__) && defined (_STRING_H)
    +#   define yystrlen strlen
    +#  else
    +/* Return the length of YYSTR.  */
    +static YYSIZE_T
    +#   if defined (__STDC__) || defined (__cplusplus)
    +yystrlen (const char *yystr)
    +#   else
    +yystrlen (yystr)
    +     const char *yystr;
    +#   endif
    +{
    +  register const char *yys = yystr;
    +
    +  while (*yys++ != '\0')
    +    continue;
    +
    +  return yys - yystr - 1;
    +}
    +#  endif
    +# endif
    +
    +# ifndef yystpcpy
    +#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
    +#   define yystpcpy stpcpy
    +#  else
    +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    +   YYDEST.  */
    +static char *
    +#   if defined (__STDC__) || defined (__cplusplus)
    +yystpcpy (char *yydest, const char *yysrc)
    +#   else
    +yystpcpy (yydest, yysrc)
    +     char *yydest;
    +     const char *yysrc;
    +#   endif
    +{
    +  register char *yyd = yydest;
    +  register const char *yys = yysrc;
    +
    +  while ((*yyd++ = *yys++) != '\0')
    +    continue;
    +
    +  return yyd - 1;
    +}
    +#  endif
    +# endif
    +
    +#endif /* !YYERROR_VERBOSE */
    +
    +
    +
    +#if YYDEBUG
    +/*--------------------------------.
    +| Print this symbol on YYOUTPUT.  |
    +`--------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
    +#else
    +static void
    +yysymprint (yyoutput, yytype, yyvaluep)
    +    FILE *yyoutput;
    +    int yytype;
    +    YYSTYPE *yyvaluep;
    +#endif
    +{
    +  /* Pacify ``unused variable'' warnings.  */
    +  (void) yyvaluep;
    +
    +  if (yytype < YYNTOKENS)
    +    {
    +      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    +# ifdef YYPRINT
    +      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
    +# endif
    +    }
    +  else
    +    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    +
    +  switch (yytype)
    +    {
    +      default:
    +        break;
    +    }
    +  YYFPRINTF (yyoutput, ")");
    +}
    +
    +#endif /* ! YYDEBUG */
    +/*-----------------------------------------------.
    +| Release the memory associated to this symbol.  |
    +`-----------------------------------------------*/
    +
    +#if defined (__STDC__) || defined (__cplusplus)
    +static void
    +yydestruct (int yytype, YYSTYPE *yyvaluep)
    +#else
    +static void
    +yydestruct (yytype, yyvaluep)
    +    int yytype;
    +    YYSTYPE *yyvaluep;
    +#endif
    +{
    +  /* Pacify ``unused variable'' warnings.  */
    +  (void) yyvaluep;
    +
    +  switch (yytype)
    +    {
    +
    +      default:
    +        break;
    +    }
    +}
    +
    +
    +/* Prevent warnings from -Wmissing-prototypes.  */
    +
    +#ifdef YYPARSE_PARAM
    +# if defined (__STDC__) || defined (__cplusplus)
    +int yyparse (void *YYPARSE_PARAM);
    +# else
    +int yyparse ();
    +# endif
    +#else /* ! YYPARSE_PARAM */
    +#if defined (__STDC__) || defined (__cplusplus)
    +int yyparse (void);
    +#else
    +int yyparse ();
    +#endif
    +#endif /* ! YYPARSE_PARAM */
    +
    +
    +
    +/* The lookahead symbol.  */
    +int yychar;
    +
    +/* The semantic value of the lookahead symbol.  */
    +YYSTYPE yylval;
    +
    +/* Number of syntax errors so far.  */
    +int yynerrs;
    +
    +
    +
    +/*----------.
    +| yyparse.  |
    +`----------*/
    +
    +#ifdef YYPARSE_PARAM
    +# if defined (__STDC__) || defined (__cplusplus)
    +int yyparse (void *YYPARSE_PARAM)
    +# else
    +int yyparse (YYPARSE_PARAM)
    +  void *YYPARSE_PARAM;
    +# endif
    +#else /* ! YYPARSE_PARAM */
    +#if defined (__STDC__) || defined (__cplusplus)
    +int
    +yyparse (void)
    +#else
    +int
    +yyparse ()
    +
    +#endif
    +#endif
    +{
    +  
    +  register int yystate;
    +  register int yyn;
    +  int yyresult;
    +  /* Number of tokens to shift before error messages enabled.  */
    +  int yyerrstatus;
    +  /* Lookahead token as an internal (translated) token number.  */
    +  int yytoken = 0;
    +
    +  /* Three stacks and their tools:
    +     `yyss': related to states,
    +     `yyvs': related to semantic values,
    +     `yyls': related to locations.
    +
    +     Refer to the stacks thru separate pointers, to allow yyoverflow
    +     to reallocate them elsewhere.  */
    +
    +  /* The state stack.  */
    +  short	yyssa[YYINITDEPTH];
    +  short *yyss = yyssa;
    +  register short *yyssp;
    +
    +  /* The semantic value stack.  */
    +  YYSTYPE yyvsa[YYINITDEPTH];
    +  YYSTYPE *yyvs = yyvsa;
    +  register YYSTYPE *yyvsp;
    +
    +
    +
    +#define YYPOPSTACK   (yyvsp--, yyssp--)
    +
    +  YYSIZE_T yystacksize = YYINITDEPTH;
    +
    +  /* The variables used to return semantic value and location from the
    +     action routines.  */
    +  YYSTYPE yyval;
    +
    +
    +  /* When reducing, the number of symbols on the RHS of the reduced
    +     rule.  */
    +  int yylen;
    +
    +  YYDPRINTF ((stderr, "Starting parse\n"));
    +
    +  yystate = 0;
    +  yyerrstatus = 0;
    +  yynerrs = 0;
    +  yychar = YYEMPTY;		/* Cause a token to be read.  */
    +
    +  /* Initialize stack pointers.
    +     Waste one element of value and location stack
    +     so that they stay on the same level as the state stack.
    +     The wasted elements are never initialized.  */
    +
    +  yyssp = yyss;
    +  yyvsp = yyvs;
    +
    +  goto yysetstate;
    +
    +/*------------------------------------------------------------.
    +| yynewstate -- Push a new state, which is found in yystate.  |
    +`------------------------------------------------------------*/
    + yynewstate:
    +  /* In all cases, when you get here, the value and location stacks
    +     have just been pushed. so pushing a state here evens the stacks.
    +     */
    +  yyssp++;
    +
    + yysetstate:
    +  *yyssp = yystate;
    +
    +  if (yyss + yystacksize - 1 <= yyssp)
    +    {
    +      /* Get the current used size of the three stacks, in elements.  */
    +      YYSIZE_T yysize = yyssp - yyss + 1;
    +
    +#ifdef yyoverflow
    +      {
    +	/* Give user a chance to reallocate the stack. Use copies of
    +	   these so that the &'s don't force the real ones into
    +	   memory.  */
    +	YYSTYPE *yyvs1 = yyvs;
    +	short *yyss1 = yyss;
    +
    +
    +	/* Each stack pointer address is followed by the size of the
    +	   data in use in that stack, in bytes.  This used to be a
    +	   conditional around just the two extra args, but that might
    +	   be undefined if yyoverflow is a macro.  */
    +	yyoverflow ("parser stack overflow",
    +		    &yyss1, yysize * sizeof (*yyssp),
    +		    &yyvs1, yysize * sizeof (*yyvsp),
    +
    +		    &yystacksize);
    +
    +	yyss = yyss1;
    +	yyvs = yyvs1;
    +      }
    +#else /* no yyoverflow */
    +# ifndef YYSTACK_RELOCATE
    +      goto yyoverflowlab;
    +# else
    +      /* Extend the stack our own way.  */
    +      if (YYMAXDEPTH <= yystacksize)
    +	goto yyoverflowlab;
    +      yystacksize *= 2;
    +      if (YYMAXDEPTH < yystacksize)
    +	yystacksize = YYMAXDEPTH;
    +
    +      {
    +	short *yyss1 = yyss;
    +	union yyalloc *yyptr =
    +	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    +	if (! yyptr)
    +	  goto yyoverflowlab;
    +	YYSTACK_RELOCATE (yyss);
    +	YYSTACK_RELOCATE (yyvs);
    +
    +#  undef YYSTACK_RELOCATE
    +	if (yyss1 != yyssa)
    +	  YYSTACK_FREE (yyss1);
    +      }
    +# endif
    +#endif /* no yyoverflow */
    +
    +      yyssp = yyss + yysize - 1;
    +      yyvsp = yyvs + yysize - 1;
    +
    +
    +      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    +		  (unsigned long int) yystacksize));
    +
    +      if (yyss + yystacksize - 1 <= yyssp)
    +	YYABORT;
    +    }
    +
    +  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
    +
    +  goto yybackup;
    +
    +/*-----------.
    +| yybackup.  |
    +`-----------*/
    +yybackup:
    +
    +/* Do appropriate processing given the current state.  */
    +/* Read a lookahead token if we need one and don't already have one.  */
    +/* yyresume: */
    +
    +  /* First try to decide what to do without reference to lookahead token.  */
    +
    +  yyn = yypact[yystate];
    +  if (yyn == YYPACT_NINF)
    +    goto yydefault;
    +
    +  /* Not known => get a lookahead token if don't already have one.  */
    +
    +  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
    +  if (yychar == YYEMPTY)
    +    {
    +      YYDPRINTF ((stderr, "Reading a token: "));
    +      yychar = YYLEX;
    +    }
    +
    +  if (yychar <= YYEOF)
    +    {
    +      yychar = yytoken = YYEOF;
    +      YYDPRINTF ((stderr, "Now at end of input.\n"));
    +    }
    +  else
    +    {
    +      yytoken = YYTRANSLATE (yychar);
    +      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
    +    }
    +
    +  /* If the proper action on seeing token YYTOKEN is to reduce or to
    +     detect an error, take that action.  */
    +  yyn += yytoken;
    +  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
    +    goto yydefault;
    +  yyn = yytable[yyn];
    +  if (yyn <= 0)
    +    {
    +      if (yyn == 0 || yyn == YYTABLE_NINF)
    +	goto yyerrlab;
    +      yyn = -yyn;
    +      goto yyreduce;
    +    }
    +
    +  if (yyn == YYFINAL)
    +    YYACCEPT;
    +
    +  /* Shift the lookahead token.  */
    +  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
    +
    +  /* Discard the token being shifted unless it is eof.  */
    +  if (yychar != YYEOF)
    +    yychar = YYEMPTY;
    +
    +  *++yyvsp = yylval;
    +
    +
    +  /* Count tokens shifted since error; after three, turn off error
    +     status.  */
    +  if (yyerrstatus)
    +    yyerrstatus--;
    +
    +  yystate = yyn;
    +  goto yynewstate;
    +
    +
    +/*-----------------------------------------------------------.
    +| yydefault -- do the default action for the current state.  |
    +`-----------------------------------------------------------*/
    +yydefault:
    +  yyn = yydefact[yystate];
    +  if (yyn == 0)
    +    goto yyerrlab;
    +  goto yyreduce;
    +
    +
    +/*-----------------------------.
    +| yyreduce -- Do a reduction.  |
    +`-----------------------------*/
    +yyreduce:
    +  /* yyn is the number of a rule to reduce with.  */
    +  yylen = yyr2[yyn];
    +
    +  /* If YYLEN is nonzero, implement the default value of the action:
    +     `$$ = $1'.
    +
    +     Otherwise, the following line sets YYVAL to garbage.
    +     This behavior is undocumented and Bison
    +     users should not rely upon it.  Assigning to YYVAL
    +     unconditionally makes the parser a bit smaller, and it avoids a
    +     GCC warning that YYVAL may be used uninitialized.  */
    +  yyval = yyvsp[1-yylen];
    +
    +
    +  YY_REDUCE_PRINT (yyn);
    +  switch (yyn)
    +    {
    +        case 4:
    +#line 186 "wpp/ppy.y"
    +    { pp_do_include(yyvsp[-1].cptr, LOCAL_INCLUDE); ;}
    +    break;
    +
    +  case 5:
    +#line 187 "wpp/ppy.y"
    +    { pp_do_include(yyvsp[-1].cptr, GLOBAL_INCLUDE); ;}
    +    break;
    +
    +  case 6:
    +#line 188 "wpp/ppy.y"
    +    { pp_do_include(yyvsp[-1].cptr, INCLUDE_NEXT); ;}
    +    break;
    +
    +  case 7:
    +#line 189 "wpp/ppy.y"
    +    { pp_do_include(yyvsp[-1].cptr, INCLUDE_NEXT); ;}
    +    break;
    +
    +  case 8:
    +#line 190 "wpp/ppy.y"
    +    { pp_next_if_state(boolean(&yyvsp[-1].cval)); ;}
    +    break;
    +
    +  case 9:
    +#line 191 "wpp/ppy.y"
    +    { pp_next_if_state(pplookup(yyvsp[-1].cptr) != NULL); free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 10:
    +#line 192 "wpp/ppy.y"
    +    {
    +		int t = pplookup(yyvsp[-1].cptr) == NULL;
    +		if(pp_incl_state.state == 0 && t && !pp_incl_state.seen_junk)
    +		{
    +			pp_incl_state.state	= 1;
    +			pp_incl_state.ppp	= yyvsp[-1].cptr;
    +			pp_incl_state.ifdepth	= pp_get_if_depth();
    +		}
    +		else if(pp_incl_state.state != 1)
    +		{
    +			pp_incl_state.state = -1;
    +			free(yyvsp[-1].cptr);
    +		}
    +		else
    +			free(yyvsp[-1].cptr);
    +		pp_next_if_state(t);
    +		if(pp_status.debug)
    +			fprintf(stderr, "tIFNDEF: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n",
    +                                pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth);
    +		;}
    +    break;
    +
    +  case 11:
    +#line 212 "wpp/ppy.y"
    +    {
    +		pp_if_state_t s = pp_pop_if();
    +		switch(s)
    +		{
    +		case if_true:
    +		case if_elif:
    +			pp_push_if(if_elif);
    +			break;
    +		case if_false:
    +			pp_push_if(boolean(&yyvsp[-1].cval) ? if_true : if_false);
    +			break;
    +		case if_ignore:
    +			pp_push_if(if_ignore);
    +			break;
    +		case if_elsetrue:
    +		case if_elsefalse:
    +			pperror("#elif cannot follow #else");
    +		default:
    +			pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #elif directive", s);
    +		}
    +		;}
    +    break;
    +
    +  case 12:
    +#line 233 "wpp/ppy.y"
    +    {
    +		pp_if_state_t s = pp_pop_if();
    +		switch(s)
    +		{
    +		case if_true:
    +			pp_push_if(if_elsefalse);
    +			break;
    +		case if_elif:
    +			pp_push_if(if_elif);
    +			break;
    +		case if_false:
    +			pp_push_if(if_elsetrue);
    +			break;
    +		case if_ignore:
    +			pp_push_if(if_ignore);
    +			break;
    +		case if_elsetrue:
    +		case if_elsefalse:
    +			pperror("#else clause already defined");
    +		default:
    +			pp_internal_error(__FILE__, __LINE__, "Invalid pp_if_state (%d) in #else directive", s);
    +		}
    +		;}
    +    break;
    +
    +  case 13:
    +#line 256 "wpp/ppy.y"
    +    {
    +		pp_pop_if();
    +		if(pp_incl_state.ifdepth == pp_get_if_depth() && pp_incl_state.state == 1)
    +		{
    +			pp_incl_state.state = 2;
    +			pp_incl_state.seen_junk = 0;
    +		}
    +		else if(pp_incl_state.state != 1)
    +		{
    +			pp_incl_state.state = -1;
    +		}
    +		if(pp_status.debug)
    +			fprintf(stderr, "tENDIF: %s:%d: include_state=%d, include_ppp='%s', include_ifdepth=%d\n",
    +                                pp_status.input, pp_status.line_number, pp_incl_state.state, pp_incl_state.ppp, pp_incl_state.ifdepth);
    +		;}
    +    break;
    +
    +  case 14:
    +#line 271 "wpp/ppy.y"
    +    { pp_del_define(yyvsp[-1].cptr); free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 15:
    +#line 272 "wpp/ppy.y"
    +    { pp_add_define(yyvsp[-2].cptr, yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 16:
    +#line 273 "wpp/ppy.y"
    +    {
    +		pp_add_macro(yyvsp[-5].cptr, macro_args, nmacro_args, yyvsp[-1].mtext);
    +		;}
    +    break;
    +
    +  case 17:
    +#line 276 "wpp/ppy.y"
    +    { fprintf(ppout, "# %d %s\n", yyvsp[-2].sint , yyvsp[-1].cptr); free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 18:
    +#line 277 "wpp/ppy.y"
    +    { fprintf(ppout, "# %d %s\n", yyvsp[-2].sint , yyvsp[-1].cptr); free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 19:
    +#line 279 "wpp/ppy.y"
    +    { fprintf(ppout, "# %d %s %d\n", yyvsp[-3].sint, yyvsp[-2].cptr, yyvsp[-1].sint); free(yyvsp[-2].cptr); ;}
    +    break;
    +
    +  case 20:
    +#line 281 "wpp/ppy.y"
    +    { fprintf(ppout, "# %d %s %d %d\n", yyvsp[-4].sint ,yyvsp[-3].cptr, yyvsp[-2].sint, yyvsp[-1].sint); free(yyvsp[-3].cptr); ;}
    +    break;
    +
    +  case 21:
    +#line 283 "wpp/ppy.y"
    +    { fprintf(ppout, "# %d %s %d %d %d\n", yyvsp[-5].sint ,yyvsp[-4].cptr ,yyvsp[-3].sint ,yyvsp[-2].sint, yyvsp[-1].sint); free(yyvsp[-4].cptr); ;}
    +    break;
    +
    +  case 22:
    +#line 285 "wpp/ppy.y"
    +    { fprintf(ppout, "# %d %s %d %d %d %d\n", yyvsp[-6].sint ,yyvsp[-5].cptr ,yyvsp[-4].sint ,yyvsp[-3].sint, yyvsp[-2].sint, yyvsp[-1].sint); free(yyvsp[-5].cptr); ;}
    +    break;
    +
    +  case 24:
    +#line 287 "wpp/ppy.y"
    +    { pperror("#error directive: '%s'", yyvsp[-1].cptr); if(yyvsp[-1].cptr) free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 25:
    +#line 288 "wpp/ppy.y"
    +    { ppwarning("#warning directive: '%s'", yyvsp[-1].cptr); if(yyvsp[-1].cptr) free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 26:
    +#line 289 "wpp/ppy.y"
    +    { fprintf(ppout, "#pragma %s\n", yyvsp[-1].cptr ? yyvsp[-1].cptr : ""); if (yyvsp[-1].cptr) free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 27:
    +#line 290 "wpp/ppy.y"
    +    { if(pp_status.pedantic) ppwarning("#ident ignored (arg: '%s')", yyvsp[-1].cptr); if(yyvsp[-1].cptr) free(yyvsp[-1].cptr); ;}
    +    break;
    +
    +  case 28:
    +#line 291 "wpp/ppy.y"
    +    {
    +                int nl=strlen(yyvsp[0].cptr) +3;
    +                char *fn=pp_xmalloc(nl);
    +                sprintf(fn,"\"%s\"",yyvsp[0].cptr);
    +		free(yyvsp[0].cptr);
    +		pp_do_include(fn,LOCAL_INCLUDE);
    +	;}
    +    break;
    +
    +  case 29:
    +#line 298 "wpp/ppy.y"
    +    {
    +		pp_do_include(yyvsp[0].cptr,LOCAL_INCLUDE);
    +	;}
    +    break;
    +
    +  case 30:
    +#line 304 "wpp/ppy.y"
    +    { yyval.cptr = NULL; ;}
    +    break;
    +
    +  case 31:
    +#line 305 "wpp/ppy.y"
    +    { yyval.cptr = yyvsp[0].cptr; ;}
    +    break;
    +
    +  case 32:
    +#line 308 "wpp/ppy.y"
    +    { yyval.cptr = yyvsp[0].cptr; ;}
    +    break;
    +
    +  case 33:
    +#line 309 "wpp/ppy.y"
    +    { yyval.cptr = yyvsp[0].cptr; ;}
    +    break;
    +
    +  case 34:
    +#line 310 "wpp/ppy.y"
    +    { yyval.cptr = yyvsp[0].cptr; ;}
    +    break;
    +
    +  case 35:
    +#line 311 "wpp/ppy.y"
    +    { yyval.cptr = merge_text(yyvsp[-1].cptr, yyvsp[0].cptr); ;}
    +    break;
    +
    +  case 36:
    +#line 312 "wpp/ppy.y"
    +    { yyval.cptr = merge_text(yyvsp[-1].cptr, yyvsp[0].cptr); ;}
    +    break;
    +
    +  case 37:
    +#line 313 "wpp/ppy.y"
    +    { yyval.cptr = merge_text(yyvsp[-1].cptr, yyvsp[0].cptr); ;}
    +    break;
    +
    +  case 38:
    +#line 316 "wpp/ppy.y"
    +    { macro_args = NULL; nmacro_args = 0; ;}
    +    break;
    +
    +  case 39:
    +#line 319 "wpp/ppy.y"
    +    { yyval.sint = 0; macro_args = NULL; nmacro_args = 0; ;}
    +    break;
    +
    +  case 40:
    +#line 320 "wpp/ppy.y"
    +    { yyval.sint = nmacro_args; ;}
    +    break;
    +
    +  case 41:
    +#line 323 "wpp/ppy.y"
    +    { yyval.marg = yyvsp[0].marg; ;}
    +    break;
    +
    +  case 42:
    +#line 324 "wpp/ppy.y"
    +    { yyval.marg = add_new_marg(NULL, arg_list); nmacro_args *= -1; ;}
    +    break;
    +
    +  case 43:
    +#line 327 "wpp/ppy.y"
    +    { yyval.marg = add_new_marg(yyvsp[0].cptr, arg_single); ;}
    +    break;
    +
    +  case 44:
    +#line 328 "wpp/ppy.y"
    +    { yyval.marg = add_new_marg(yyvsp[0].cptr, arg_single); ;}
    +    break;
    +
    +  case 45:
    +#line 332 "wpp/ppy.y"
    +    { yyval.mtext = NULL; ;}
    +    break;
    +
    +  case 46:
    +#line 333 "wpp/ppy.y"
    +    {
    +		for(yyval.mtext = yyvsp[0].mtext; yyval.mtext && yyval.mtext->prev; yyval.mtext = yyval.mtext->prev)
    +			;
    +		;}
    +    break;
    +
    +  case 47:
    +#line 339 "wpp/ppy.y"
    +    { yyval.mtext = yyvsp[0].mtext; ;}
    +    break;
    +
    +  case 48:
    +#line 340 "wpp/ppy.y"
    +    { yyval.mtext = combine_mtext(yyvsp[-1].mtext, yyvsp[0].mtext); ;}
    +    break;
    +
    +  case 49:
    +#line 343 "wpp/ppy.y"
    +    { yyval.mtext = new_mtext(yyvsp[0].cptr, 0, exp_text); ;}
    +    break;
    +
    +  case 50:
    +#line 344 "wpp/ppy.y"
    +    { yyval.mtext = new_mtext(yyvsp[0].cptr, 0, exp_text); ;}
    +    break;
    +
    +  case 51:
    +#line 345 "wpp/ppy.y"
    +    { yyval.mtext = new_mtext(yyvsp[0].cptr, 0, exp_text); ;}
    +    break;
    +
    +  case 52:
    +#line 346 "wpp/ppy.y"
    +    { yyval.mtext = new_mtext(NULL, 0, exp_concat); ;}
    +    break;
    +
    +  case 53:
    +#line 347 "wpp/ppy.y"
    +    {
    +		int mat = marg_index(yyvsp[0].cptr);
    +		if(mat < 0)
    +			pperror("Stringification identifier must be an argument parameter");
    +		yyval.mtext = new_mtext(NULL, mat, exp_stringize);
    +		;}
    +    break;
    +
    +  case 54:
    +#line 353 "wpp/ppy.y"
    +    {
    +		int mat = marg_index(yyvsp[0].cptr);
    +		if(mat >= 0)
    +			yyval.mtext = new_mtext(NULL, mat, exp_subst);
    +		else
    +			yyval.mtext = new_mtext(yyvsp[0].cptr, 0, exp_text);
    +		;}
    +    break;
    +
    +  case 55:
    +#line 362 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sint;  yyval.cval.val.si = yyvsp[0].sint; ;}
    +    break;
    +
    +  case 56:
    +#line 363 "wpp/ppy.y"
    +    { yyval.cval.type = cv_uint;  yyval.cval.val.ui = yyvsp[0].uint; ;}
    +    break;
    +
    +  case 57:
    +#line 364 "wpp/ppy.y"
    +    { yyval.cval.type = cv_slong; yyval.cval.val.sl = yyvsp[0].slong; ;}
    +    break;
    +
    +  case 58:
    +#line 365 "wpp/ppy.y"
    +    { yyval.cval.type = cv_ulong; yyval.cval.val.ul = yyvsp[0].ulong; ;}
    +    break;
    +
    +  case 59:
    +#line 366 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sll;   yyval.cval.val.sl = yyvsp[0].sll; ;}
    +    break;
    +
    +  case 60:
    +#line 367 "wpp/ppy.y"
    +    { yyval.cval.type = cv_ull;   yyval.cval.val.ul = yyvsp[0].ull; ;}
    +    break;
    +
    +  case 61:
    +#line 368 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sint;  yyval.cval.val.si = pplookup(yyvsp[0].cptr) != NULL; ;}
    +    break;
    +
    +  case 62:
    +#line 369 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sint;  yyval.cval.val.si = pplookup(yyvsp[-1].cptr) != NULL; ;}
    +    break;
    +
    +  case 63:
    +#line 370 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sint;  yyval.cval.val.si = 0; ;}
    +    break;
    +
    +  case 64:
    +#line 371 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sint; yyval.cval.val.si = boolean(&yyvsp[-2].cval) || boolean(&yyvsp[0].cval); ;}
    +    break;
    +
    +  case 65:
    +#line 372 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sint; yyval.cval.val.si = boolean(&yyvsp[-2].cval) && boolean(&yyvsp[0].cval); ;}
    +    break;
    +
    +  case 66:
    +#line 373 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval, ==) ;}
    +    break;
    +
    +  case 67:
    +#line 374 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval, !=) ;}
    +    break;
    +
    +  case 68:
    +#line 375 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  <) ;}
    +    break;
    +
    +  case 69:
    +#line 376 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  >) ;}
    +    break;
    +
    +  case 70:
    +#line 377 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval, <=) ;}
    +    break;
    +
    +  case 71:
    +#line 378 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval, >=) ;}
    +    break;
    +
    +  case 72:
    +#line 379 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  +) ;}
    +    break;
    +
    +  case 73:
    +#line 380 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  -) ;}
    +    break;
    +
    +  case 74:
    +#line 381 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  ^) ;}
    +    break;
    +
    +  case 75:
    +#line 382 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  &) ;}
    +    break;
    +
    +  case 76:
    +#line 383 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  |) ;}
    +    break;
    +
    +  case 77:
    +#line 384 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  *) ;}
    +    break;
    +
    +  case 78:
    +#line 385 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval,  /) ;}
    +    break;
    +
    +  case 79:
    +#line 386 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval, <<) ;}
    +    break;
    +
    +  case 80:
    +#line 387 "wpp/ppy.y"
    +    { promote_equal_size(&yyvsp[-2].cval, &yyvsp[0].cval); BIN_OP(yyval.cval, yyvsp[-2].cval, yyvsp[0].cval, >>) ;}
    +    break;
    +
    +  case 81:
    +#line 388 "wpp/ppy.y"
    +    { yyval.cval =  yyvsp[0].cval; ;}
    +    break;
    +
    +  case 82:
    +#line 389 "wpp/ppy.y"
    +    { UNARY_OP(yyval.cval, yyvsp[0].cval, -) ;}
    +    break;
    +
    +  case 83:
    +#line 390 "wpp/ppy.y"
    +    { UNARY_OP(yyval.cval, yyvsp[0].cval, ~) ;}
    +    break;
    +
    +  case 84:
    +#line 391 "wpp/ppy.y"
    +    { yyval.cval.type = cv_sint; yyval.cval.val.si = !boolean(&yyvsp[0].cval); ;}
    +    break;
    +
    +  case 85:
    +#line 392 "wpp/ppy.y"
    +    { yyval.cval =  yyvsp[-1].cval; ;}
    +    break;
    +
    +  case 86:
    +#line 393 "wpp/ppy.y"
    +    { yyval.cval = boolean(&yyvsp[-4].cval) ? yyvsp[-2].cval : yyvsp[0].cval; ;}
    +    break;
    +
    +
    +    }
    +
    +/* Line 999 of yacc.c.  */
    +#line 1858 "wpp/wpp.tab.c"
    +
    +  yyvsp -= yylen;
    +  yyssp -= yylen;
    +
    +
    +  YY_STACK_PRINT (yyss, yyssp);
    +
    +  *++yyvsp = yyval;
    +
    +
    +  /* Now `shift' the result of the reduction.  Determine what state
    +     that goes to, based on the state we popped back to and the rule
    +     number reduced by.  */
    +
    +  yyn = yyr1[yyn];
    +
    +  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
    +  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    +    yystate = yytable[yystate];
    +  else
    +    yystate = yydefgoto[yyn - YYNTOKENS];
    +
    +  goto yynewstate;
    +
    +
    +/*------------------------------------.
    +| yyerrlab -- here on detecting error |
    +`------------------------------------*/
    +yyerrlab:
    +  /* If not already recovering from an error, report this error.  */
    +  if (!yyerrstatus)
    +    {
    +      ++yynerrs;
    +#if YYERROR_VERBOSE
    +      yyn = yypact[yystate];
    +
    +      if (YYPACT_NINF < yyn && yyn < YYLAST)
    +	{
    +	  YYSIZE_T yysize = 0;
    +	  int yytype = YYTRANSLATE (yychar);
    +	  const char* yyprefix;
    +	  char *yymsg;
    +	  int yyx;
    +
    +	  /* Start YYX at -YYN if negative to avoid negative indexes in
    +	     YYCHECK.  */
    +	  int yyxbegin = yyn < 0 ? -yyn : 0;
    +
    +	  /* Stay within bounds of both yycheck and yytname.  */
    +	  int yychecklim = YYLAST - yyn;
    +	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
    +	  int yycount = 0;
    +
    +	  yyprefix = ", expecting ";
    +	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    +	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    +	      {
    +		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
    +		yycount += 1;
    +		if (yycount == 5)
    +		  {
    +		    yysize = 0;
    +		    break;
    +		  }
    +	      }
    +	  yysize += (sizeof ("syntax error, unexpected ")
    +		     + yystrlen (yytname[yytype]));
    +	  yymsg = (char *) YYSTACK_ALLOC (yysize);
    +	  if (yymsg != 0)
    +	    {
    +	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
    +	      yyp = yystpcpy (yyp, yytname[yytype]);
    +
    +	      if (yycount < 5)
    +		{
    +		  yyprefix = ", expecting ";
    +		  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    +		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    +		      {
    +			yyp = yystpcpy (yyp, yyprefix);
    +			yyp = yystpcpy (yyp, yytname[yyx]);
    +			yyprefix = " or ";
    +		      }
    +		}
    +	      yyerror (yymsg);
    +	      YYSTACK_FREE (yymsg);
    +	    }
    +	  else
    +	    yyerror ("syntax error; also virtual memory exhausted");
    +	}
    +      else
    +#endif /* YYERROR_VERBOSE */
    +	yyerror ("syntax error");
    +    }
    +
    +
    +
    +  if (yyerrstatus == 3)
    +    {
    +      /* If just tried and failed to reuse lookahead token after an
    +	 error, discard it.  */
    +
    +      /* Return failure if at end of input.  */
    +      if (yychar == YYEOF)
    +        {
    +	  /* Pop the error token.  */
    +          YYPOPSTACK;
    +	  /* Pop the rest of the stack.  */
    +	  while (yyss < yyssp)
    +	    {
    +	      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    +	      yydestruct (yystos[*yyssp], yyvsp);
    +	      YYPOPSTACK;
    +	    }
    +	  YYABORT;
    +        }
    +
    +      YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
    +      yydestruct (yytoken, &yylval);
    +      yychar = YYEMPTY;
    +
    +    }
    +
    +  /* Else will try to reuse lookahead token after shifting the error
    +     token.  */
    +  goto yyerrlab1;
    +
    +
    +/*----------------------------------------------------.
    +| yyerrlab1 -- error raised explicitly by an action.  |
    +`----------------------------------------------------*/
    +yyerrlab1:
    +  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
    +
    +  for (;;)
    +    {
    +      yyn = yypact[yystate];
    +      if (yyn != YYPACT_NINF)
    +	{
    +	  yyn += YYTERROR;
    +	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
    +	    {
    +	      yyn = yytable[yyn];
    +	      if (0 < yyn)
    +		break;
    +	    }
    +	}
    +
    +      /* Pop the current state because it cannot handle the error token.  */
    +      if (yyssp == yyss)
    +	YYABORT;
    +
    +      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
    +      yydestruct (yystos[yystate], yyvsp);
    +      yyvsp--;
    +      yystate = *--yyssp;
    +
    +      YY_STACK_PRINT (yyss, yyssp);
    +    }
    +
    +  if (yyn == YYFINAL)
    +    YYACCEPT;
    +
    +  YYDPRINTF ((stderr, "Shifting error token, "));
    +
    +  *++yyvsp = yylval;
    +
    +
    +  yystate = yyn;
    +  goto yynewstate;
    +
    +
    +/*-------------------------------------.
    +| yyacceptlab -- YYACCEPT comes here.  |
    +`-------------------------------------*/
    +yyacceptlab:
    +  yyresult = 0;
    +  goto yyreturn;
    +
    +/*-----------------------------------.
    +| yyabortlab -- YYABORT comes here.  |
    +`-----------------------------------*/
    +yyabortlab:
    +  yyresult = 1;
    +  goto yyreturn;
    +
    +#ifndef yyoverflow
    +/*----------------------------------------------.
    +| yyoverflowlab -- parser overflow comes here.  |
    +`----------------------------------------------*/
    +yyoverflowlab:
    +  yyerror ("parser stack overflow");
    +  yyresult = 2;
    +  /* Fall through.  */
    +#endif
    +
    +yyreturn:
    +#ifndef yyoverflow
    +  if (yyss != yyssa)
    +    YYSTACK_FREE (yyss);
    +#endif
    +  return yyresult;
    +}
    +
    +
    +#line 396 "wpp/ppy.y"
    +
    +
    +/*
    + **************************************************************************
    + * Support functions
    + **************************************************************************
    + */
    +
    +static void cast_to_sint(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	break;
    +	case cv_uint:	break;
    +	case cv_slong:	v->val.si = v->val.sl;	break;
    +	case cv_ulong:	v->val.si = v->val.ul;	break;
    +	case cv_sll:	v->val.si = v->val.sll;	break;
    +	case cv_ull:	v->val.si = v->val.ull;	break;
    +	}
    +	v->type = cv_sint;
    +}
    +
    +static void cast_to_uint(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	break;
    +	case cv_uint:	break;
    +	case cv_slong:	v->val.ui = v->val.sl;	break;
    +	case cv_ulong:	v->val.ui = v->val.ul;	break;
    +	case cv_sll:	v->val.ui = v->val.sll;	break;
    +	case cv_ull:	v->val.ui = v->val.ull;	break;
    +	}
    +	v->type = cv_uint;
    +}
    +
    +static void cast_to_slong(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.sl = v->val.si;	break;
    +	case cv_uint:	v->val.sl = v->val.ui;	break;
    +	case cv_slong:	break;
    +	case cv_ulong:	break;
    +	case cv_sll:	v->val.sl = v->val.sll;	break;
    +	case cv_ull:	v->val.sl = v->val.ull;	break;
    +	}
    +	v->type = cv_slong;
    +}
    +
    +static void cast_to_ulong(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.ul = v->val.si;	break;
    +	case cv_uint:	v->val.ul = v->val.ui;	break;
    +	case cv_slong:	break;
    +	case cv_ulong:	break;
    +	case cv_sll:	v->val.ul = v->val.sll;	break;
    +	case cv_ull:	v->val.ul = v->val.ull;	break;
    +	}
    +	v->type = cv_ulong;
    +}
    +
    +static void cast_to_sll(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.sll = v->val.si;	break;
    +	case cv_uint:	v->val.sll = v->val.ui;	break;
    +	case cv_slong:	v->val.sll = v->val.sl;	break;
    +	case cv_ulong:	v->val.sll = v->val.ul;	break;
    +	case cv_sll:	break;
    +	case cv_ull:	break;
    +	}
    +	v->type = cv_sll;
    +}
    +
    +static void cast_to_ull(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	v->val.ull = v->val.si;	break;
    +	case cv_uint:	v->val.ull = v->val.ui;	break;
    +	case cv_slong:	v->val.ull = v->val.sl;	break;
    +	case cv_ulong:	v->val.ull = v->val.ul;	break;
    +	case cv_sll:	break;
    +	case cv_ull:	break;
    +	}
    +	v->type = cv_ull;
    +}
    +
    +
    +static void promote_equal_size(cval_t *v1, cval_t *v2)
    +{
    +#define cv_sizeof(v)	((int)(v->type & SIZE_MASK))
    +	int s1 = cv_sizeof(v1);
    +	int s2 = cv_sizeof(v2);
    +#undef cv_sizeof
    +
    +	if(s1 == s2)
    +		return;
    +	else if(s1 > s2)
    +	{
    +		switch(v1->type)
    +		{
    +		case cv_sint:	cast_to_sint(v2); break;
    +		case cv_uint:	cast_to_uint(v2); break;
    +		case cv_slong:	cast_to_slong(v2); break;
    +		case cv_ulong:	cast_to_ulong(v2); break;
    +		case cv_sll:	cast_to_sll(v2); break;
    +		case cv_ull:	cast_to_ull(v2); break;
    +		}
    +	}
    +	else
    +	{
    +		switch(v2->type)
    +		{
    +		case cv_sint:	cast_to_sint(v1); break;
    +		case cv_uint:	cast_to_uint(v1); break;
    +		case cv_slong:	cast_to_slong(v1); break;
    +		case cv_ulong:	cast_to_ulong(v1); break;
    +		case cv_sll:	cast_to_sll(v1); break;
    +		case cv_ull:	cast_to_ull(v1); break;
    +		}
    +	}
    +}
    +
    +
    +static int boolean(cval_t *v)
    +{
    +	switch(v->type)
    +	{
    +	case cv_sint:	return v->val.si != (int)0;
    +	case cv_uint:	return v->val.ui != (unsigned int)0;
    +	case cv_slong:	return v->val.sl != (long)0;
    +	case cv_ulong:	return v->val.ul != (unsigned long)0;
    +	case cv_sll:	return v->val.sll != (wrc_sll_t)0;
    +	case cv_ull:	return v->val.ull != (wrc_ull_t)0;
    +	}
    +	return 0;
    +}
    +
    +static marg_t *new_marg(char *str, def_arg_t type)
    +{
    +	marg_t *ma = pp_xmalloc(sizeof(marg_t));
    +	ma->arg = str;
    +	ma->type = type;
    +	ma->nnl = 0;
    +	return ma;
    +}
    +
    +static marg_t *add_new_marg(char *str, def_arg_t type)
    +{
    +	marg_t *ma = new_marg(str, type);
    +	nmacro_args++;
    +	macro_args = pp_xrealloc(macro_args, nmacro_args * sizeof(macro_args[0]));
    +	macro_args[nmacro_args-1] = ma;
    +	return ma;
    +}
    +
    +static int marg_index(char *id)
    +{
    +	int t;
    +	for(t = 0; t < nmacro_args; t++)
    +	{
    +		if(!strcmp(id, macro_args[t]->arg))
    +			break;
    +	}
    +	return t < nmacro_args ? t : -1;
    +}
    +
    +static mtext_t *new_mtext(char *str, int idx, def_exp_t type)
    +{
    +	mtext_t *mt = pp_xmalloc(sizeof(mtext_t));
    +	if(str == NULL)
    +		mt->subst.argidx = idx;
    +	else
    +		mt->subst.text = str;
    +	mt->type = type;
    +	mt->next = mt->prev = NULL;
    +	return mt;
    +}
    +
    +static mtext_t *combine_mtext(mtext_t *tail, mtext_t *mtp)
    +{
    +	if(!tail)
    +		return mtp;
    +
    +	if(!mtp)
    +		return tail;
    +
    +	if(tail->type == exp_text && mtp->type == exp_text)
    +	{
    +		tail->subst.text = pp_xrealloc(tail->subst.text, strlen(tail->subst.text)+strlen(mtp->subst.text)+1);
    +		strcat(tail->subst.text, mtp->subst.text);
    +		free(mtp->subst.text);
    +		free(mtp);
    +		return tail;
    +	}
    +
    +	if(tail->type == exp_concat && mtp->type == exp_concat)
    +	{
    +		free(mtp);
    +		return tail;
    +	}
    +
    +	if(tail->type == exp_concat && mtp->type == exp_text)
    +	{
    +		int len = strlen(mtp->subst.text);
    +		while(len)
    +		{
    +/* FIXME: should delete space from head of string */
    +			if(isspace(mtp->subst.text[len-1] & 0xff))
    +				mtp->subst.text[--len] = '\0';
    +			else
    +				break;
    +		}
    +
    +		if(!len)
    +		{
    +			free(mtp->subst.text);
    +			free(mtp);
    +			return tail;
    +		}
    +	}
    +
    +	if(tail->type == exp_text && mtp->type == exp_concat)
    +	{
    +		int len = strlen(tail->subst.text);
    +		while(len)
    +		{
    +			if(isspace(tail->subst.text[len-1] & 0xff))
    +				tail->subst.text[--len] = '\0';
    +			else
    +				break;
    +		}
    +
    +		if(!len)
    +		{
    +			mtp->prev = tail->prev;
    +			mtp->next = tail->next;
    +			if(tail->prev)
    +				tail->prev->next = mtp;
    +			free(tail->subst.text);
    +			free(tail);
    +			return mtp;
    +		}
    +	}
    +
    +	tail->next = mtp;
    +	mtp->prev = tail;
    +
    +	return mtp;
    +}
    +
    +static char *merge_text(char *s1, char *s2)
    +{
    +	int l1 = strlen(s1);
    +	int l2 = strlen(s2);
    +	s1 = pp_xrealloc(s1, l1+l2+1);
    +	memcpy(s1+l1, s2, l2+1);
    +	free(s2);
    +	return s1;
    +}
    +
    diff --git a/reactos/tools/wpp/wpp.tab.h b/reactos/tools/wpp/wpp.tab.h
    new file mode 100644
    index 00000000000..db59ae6fce1
    --- /dev/null
    +++ b/reactos/tools/wpp/wpp.tab.h
    @@ -0,0 +1,151 @@
    +/* A Bison parser, made by GNU Bison 1.875b.  */
    +
    +/* Skeleton parser for Yacc-like parsing with Bison,
    +   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    +
    +   This program is free software; you can redistribute it and/or modify
    +   it under the terms of the GNU General Public License as published by
    +   the Free Software Foundation; either version 2, or (at your option)
    +   any later version.
    +
    +   This program is distributed in the hope that it will be useful,
    +   but WITHOUT ANY WARRANTY; without even the implied warranty of
    +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +   GNU General Public License for more details.
    +
    +   You should have received a copy of the GNU General Public License
    +   along with this program; if not, write to the Free Software
    +   Foundation, Inc., 59 Temple Place - Suite 330,
    +   Boston, MA 02111-1307, USA.  */
    +
    +/* As a special exception, when this file is copied by Bison into a
    +   Bison output file, you may use that output file without restriction.
    +   This special exception was added by the Free Software Foundation
    +   in version 1.24 of Bison.  */
    +
    +/* Tokens.  */
    +#ifndef YYTOKENTYPE
    +# define YYTOKENTYPE
    +   /* Put the tokens into the symbol table, so that GDB and other debuggers
    +      know about them.  */
    +   enum yytokentype {
    +     tRCINCLUDE = 258,
    +     tIF = 259,
    +     tIFDEF = 260,
    +     tIFNDEF = 261,
    +     tELSE = 262,
    +     tELIF = 263,
    +     tENDIF = 264,
    +     tDEFINED = 265,
    +     tNL = 266,
    +     tINCLUDE = 267,
    +     tINCLUDE_NEXT = 268,
    +     tLINE = 269,
    +     tGCCLINE = 270,
    +     tERROR = 271,
    +     tWARNING = 272,
    +     tPRAGMA = 273,
    +     tPPIDENT = 274,
    +     tUNDEF = 275,
    +     tMACROEND = 276,
    +     tCONCAT = 277,
    +     tELIPSIS = 278,
    +     tSTRINGIZE = 279,
    +     tIDENT = 280,
    +     tLITERAL = 281,
    +     tMACRO = 282,
    +     tDEFINE = 283,
    +     tDQSTRING = 284,
    +     tSQSTRING = 285,
    +     tIQSTRING = 286,
    +     tUINT = 287,
    +     tSINT = 288,
    +     tULONG = 289,
    +     tSLONG = 290,
    +     tULONGLONG = 291,
    +     tSLONGLONG = 292,
    +     tRCINCLUDEPATH = 293,
    +     tLOGOR = 294,
    +     tLOGAND = 295,
    +     tNE = 296,
    +     tEQ = 297,
    +     tGTE = 298,
    +     tLTE = 299,
    +     tRSHIFT = 300,
    +     tLSHIFT = 301
    +   };
    +#endif
    +#define tRCINCLUDE 258
    +#define tIF 259
    +#define tIFDEF 260
    +#define tIFNDEF 261
    +#define tELSE 262
    +#define tELIF 263
    +#define tENDIF 264
    +#define tDEFINED 265
    +#define tNL 266
    +#define tINCLUDE 267
    +#define tINCLUDE_NEXT 268
    +#define tLINE 269
    +#define tGCCLINE 270
    +#define tERROR 271
    +#define tWARNING 272
    +#define tPRAGMA 273
    +#define tPPIDENT 274
    +#define tUNDEF 275
    +#define tMACROEND 276
    +#define tCONCAT 277
    +#define tELIPSIS 278
    +#define tSTRINGIZE 279
    +#define tIDENT 280
    +#define tLITERAL 281
    +#define tMACRO 282
    +#define tDEFINE 283
    +#define tDQSTRING 284
    +#define tSQSTRING 285
    +#define tIQSTRING 286
    +#define tUINT 287
    +#define tSINT 288
    +#define tULONG 289
    +#define tSLONG 290
    +#define tULONGLONG 291
    +#define tSLONGLONG 292
    +#define tRCINCLUDEPATH 293
    +#define tLOGOR 294
    +#define tLOGAND 295
    +#define tNE 296
    +#define tEQ 297
    +#define tGTE 298
    +#define tLTE 299
    +#define tRSHIFT 300
    +#define tLSHIFT 301
    +
    +
    +
    +
    +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    +#line 126 "wpp/ppy.y"
    +typedef union YYSTYPE {
    +	int		sint;
    +	unsigned int	uint;
    +	long		slong;
    +	unsigned long	ulong;
    +	wrc_sll_t	sll;
    +	wrc_ull_t	ull;
    +	int		*iptr;
    +	char		*cptr;
    +	cval_t		cval;
    +	marg_t		*marg;
    +	mtext_t		*mtext;
    +} YYSTYPE;
    +/* Line 1252 of yacc.c.  */
    +#line 143 "wpp/wpp.tab.h"
    +# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    +# define YYSTYPE_IS_DECLARED 1
    +# define YYSTYPE_IS_TRIVIAL 1
    +#endif
    +
    +extern YYSTYPE pplval;
    +
    +
    +
    diff --git a/reactos/tools/wpp/wpp_private.h b/reactos/tools/wpp/wpp_private.h
    new file mode 100644
    index 00000000000..0b3865b22a5
    --- /dev/null
    +++ b/reactos/tools/wpp/wpp_private.h
    @@ -0,0 +1,257 @@
    +/*
    + * Copyright 1998 Bertho A. Stultiens (BS)
    + * Copyright 2002 Alexandre Julliard
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WINE_WPP_PRIVATE_H
    +#define __WINE_WPP_PRIVATE_H
    +
    +#include 
    +#include 
    +
    +struct pp_entry;	/* forward */
    +/*
    + * Include logic
    + * A stack of files which are already included and
    + * are protected in the #ifndef/#endif way.
    + */
    +typedef struct includelogicentry {
    +	struct includelogicentry *next;
    +	struct includelogicentry *prev;
    +	struct pp_entry	*ppp;		/* The define which protects the file */
    +	char		*filename;	/* The filename of the include */
    +} includelogicentry_t;
    +
    +#define GLOBAL_INCLUDE	0 /* #include  */
    +#define LOCAL_INCLUDE	1 /* #include "foo.h" */
    +#define INCLUDE_NEXT	2 /* #include_next  */
    +
    +/*
    + * The arguments of a macrodefinition
    + */
    +typedef enum {
    +	arg_single,
    +	arg_list
    +} def_arg_t;
    +
    +typedef struct marg {
    +	def_arg_t	type;	/* Normal or ... argument */
    +	char		*arg;	/* The textual argument */
    +	int		nnl;	/* Number of newlines in the text to subst */
    +} marg_t;
    +
    +/*
    + * The expansiontext of a macro
    + */
    +typedef enum {
    +	exp_text,	/* Simple text substitution */
    +	exp_concat,	/* Concat (##) operator requested */
    +	exp_stringize,	/* Stringize (#) operator requested */
    +	exp_subst	/* Substitute argument */
    +} def_exp_t;
    +
    +typedef struct mtext {
    +	struct mtext	*next;
    +	struct mtext	*prev;
    +	def_exp_t	type;
    +	union {
    +		char	*text;
    +		int	argidx;		/* For exp_subst and exp_stringize reference */
    +	} subst;
    +} mtext_t;
    +
    +/*
    + * The define descriptor
    + */
    +typedef enum {
    +	def_none,	/* Not-a-define; used as return value */
    +	def_define,	/* Simple defines */
    +	def_macro,	/* Macro defines */
    +	def_special	/* Special expansions like __LINE__ and __FILE__ */
    +} def_type_t;
    +
    +typedef struct pp_entry {
    +	struct pp_entry *next;
    +	struct pp_entry *prev;
    +	def_type_t	type;		/* Define or macro */
    +	char		*ident;		/* The key */
    +	marg_t		**margs;	/* Macro arguments array or NULL if none */
    +	int		nargs;
    +	union {
    +		mtext_t	*mtext;		/* The substitution sequence or NULL if none */
    +		char	*text;
    +	} subst;
    +	int		expanding;	/* Set when feeding substitution into the input */
    +	char		*filename;	/* Filename where it was defined */
    +	int		linenumber;	/* Linenumber where it was defined */
    +	includelogicentry_t *iep;	/* Points to the include it protects */
    +} pp_entry_t;
    +
    +
    +/*
    + * If logic
    + */
    +#define MAXIFSTACK	64	/* If this isn't enough you should alter the source... */
    +
    +typedef enum {
    +	if_false,
    +	if_true,
    +	if_elif,
    +	if_elsefalse,
    +	if_elsetrue,
    +	if_ignore
    +} pp_if_state_t;
    +
    +
    +/*
    + * Trace the include files to prevent double reading.
    + * This save 20..30% of processing time for most stuff
    + * that uses complex includes.
    + * States:
    + * -1	Don't track or seen junk
    + *  0	New include, waiting for "#ifndef __xxx_h"
    + *  1	Seen #ifndef, waiting for "#define __xxx_h ..."
    + *  2	Seen #endif, waiting for EOF
    + */
    +typedef struct
    +{
    +    int state;
    +    char *ppp;             /* The define to be set from the #ifndef */
    +    int ifdepth;           /* The level of ifs at the #ifdef */
    +    int seen_junk;         /* Set when junk is seen */
    +} include_state_t;
    +
    +
    +/*
    + * I assume that 'long long' exists in the compiler when it has a size
    + * of 8 or bigger. If not, then we revert to a simple 'long' for now.
    + * This should prevent most unexpected things with other compilers than
    + * gcc and egcs for now.
    + * In the future it should be possible to use another way, like a
    + * structure, so that we can emulate the MS compiler.
    + */
    +#if defined(SIZEOF_LONGLONG) && SIZEOF_LONGLONG >= 8
    +typedef long long wrc_sll_t;
    +typedef unsigned long long wrc_ull_t;
    +#else
    +typedef long wrc_sll_t;
    +typedef unsigned long wrc_ull_t;
    +#endif
    +
    +#define SIZE_CHAR	1
    +#define SIZE_SHORT	2
    +#define SIZE_INT	3
    +#define SIZE_LONG	4
    +#define SIZE_LONGLONG	5
    +#define SIZE_MASK	0x00ff
    +#define FLAG_SIGNED	0x0100
    +
    +typedef enum {
    +#if 0
    +	cv_schar  = SIZE_CHAR + FLAG_SIGNED,
    +	cv_uchar  = SIZE_CHAR,
    +	cv_sshort = SIZE_SHORT + FLAG_SIGNED,
    +	cv_ushort = SIZE_SHORT,
    +#endif
    +	cv_sint   = SIZE_INT + FLAG_SIGNED,
    +	cv_uint   = SIZE_INT,
    +	cv_slong  = SIZE_LONG + FLAG_SIGNED,
    +	cv_ulong  = SIZE_LONG,
    +	cv_sll    = SIZE_LONGLONG + FLAG_SIGNED,
    +	cv_ull    = SIZE_LONGLONG
    +} ctype_t;
    +
    +typedef struct cval {
    +	ctype_t	type;
    +	union {
    +#if 0
    +		signed char	sc;	/* Explicitely signed because compilers are stupid */
    +		unsigned char	uc;
    +		short		ss;
    +		unsigned short	us;
    +#endif
    +		int		si;
    +		unsigned int	ui;
    +		long		sl;
    +		unsigned long	ul;
    +		wrc_sll_t	sll;
    +		wrc_ull_t	ull;
    +	} val;
    +} cval_t;
    +
    +
    +
    +void *pp_xmalloc(size_t);
    +void *pp_xrealloc(void *, size_t);
    +char *pp_xstrdup(const char *str);
    +pp_entry_t *pplookup(const char *ident);
    +void pp_push_define_state(void);
    +void pp_pop_define_state(void);
    +pp_entry_t *pp_add_define(char *def, char *text);
    +pp_entry_t *pp_add_macro(char *ident, marg_t *args[], int nargs, mtext_t *exp);
    +void pp_del_define(const char *name);
    +FILE *pp_open_include(const char *name, int search, char **newpath);
    +void pp_push_if(pp_if_state_t s);
    +void pp_next_if_state(int);
    +pp_if_state_t pp_pop_if(void);
    +pp_if_state_t pp_if_state(void);
    +int pp_get_if_depth(void);
    +
    +#ifndef __GNUC__
    +#define __attribute__(x)  /*nothing*/
    +#endif
    +
    +int pperror(const char *s, ...) __attribute__((format (printf, 1, 2)));
    +int ppwarning(const char *s, ...) __attribute__((format (printf, 1, 2)));
    +void pp_internal_error(const char *file, int line, const char *s, ...) __attribute__((format (printf, 3, 4)));
    +
    +/* current preprocessor state */
    +/* everything is in this structure to avoid polluting the global symbol space */
    +struct pp_status
    +{
    +    const char *input;  /* current input file name */
    +    int line_number;    /* current line number */
    +    int char_number;    /* current char number in line */
    +    int pedantic;       /* pedantic option */
    +    int debug;          /* debug messages flag */
    +};
    +
    +extern struct pp_status pp_status;
    +extern include_state_t pp_incl_state;
    +extern includelogicentry_t *pp_includelogiclist;
    +
    +/*
    + * From ppl.l
    + */
    +extern FILE *ppin;
    +extern FILE *ppout;
    +extern char *pptext;
    +extern int pp_flex_debug;
    +int pplex(void);
    +
    +void pp_do_include(char *fname, int type);
    +void pp_push_ignore_state(void);
    +void pp_pop_ignore_state(void);
    +
    +
    +/*
    + * From ppy.y
    + */
    +int ppparse(void);
    +extern int ppdebug;
    +
    +#endif  /* __WINE_WPP_PRIVATE_H */
    diff --git a/reactos/tools/wrc/CHANGES b/reactos/tools/wrc/CHANGES
    new file mode 100644
    index 00000000000..9281233213d
    --- /dev/null
    +++ b/reactos/tools/wrc/CHANGES
    @@ -0,0 +1,336 @@
    +---------------------------------------------------------------------------
    +Version 1.1.9 (31-Dec-2000)
    +
    +Ulrich Weigand 
    +- Fixed a byteorder conversion problem with message tables.
    +- Carefully read and write (possibly) misaligned data elements
    +  to avoid crashes on architectures where this is not allowed.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.8 (24-Aug-2000)
    +
    +Bertho Stultiens 
    +- Fixed a LALR(2) problem while scanning usertype resources which
    +  had identifiers for both name and type.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.7 (24-Jul-2000)
    +
    +Bertho Stultiens 
    +- Implemented a bug-work-arround for Berkeley yacc (byacc) which
    +  does not generate proper default transition rules for non-terminals.
    +  See comments in parser.y how the fix works.
    +- Changed the error-line/char position to make emacs happy parsing
    +  the position of the error.
    +- Added comments in the documentation in which order the line-numer
    +  and character-position of the error is written.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.6 (05-Jun-2000)
    +
    +Bertho Stultiens 
    +- Bugfix: Macro expansion of strings would assert an internal error
    +  or a segfault due to a lacking '\0' in the expansion.
    +- Bugfix: Prevent buffer overflow in reallocation of macro expansion
    +  buffers.
    +- Bugfix: Wrc's version information was not passed as numerical to the
    +  preprocessor due to an error in the definition of the macro.
    +- Relaxed the newline constraint in global LANGUAGE statements, which
    +  was introduced in version 1.1.3, so that some fancy preprocessor
    +  constructs can work.
    +- Removed the gcc-style #line handling from the resource-parser to the
    +  resource-scanner so that it is possible to include files at any stage
    +  of the source, independent of the parser-state.
    +- Bugfix: Stringtables were not correctly searched for duplicates
    +  because the language comparison disregarded the sublanguage.
    +- Eliminated a repetitive warning when writing stringtables with zero
    +  length string entries. These are perfectly valid (but make no sense:-).
    +  Warning are now only generated during parse in pedantic mode.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.5 (12-Jun-2000)
    +
    +Bertho Stultiens 
    +- Bugfix: Corrected "off by one" error in the linenumber while parsing
    +  resource.
    +- Bugfix: A segfault would occur if messagetables were parsed without
    +  memory options attached. Also added buffer-overflow safeguard while
    +  converting between byteorders.
    +- Finished remapping usertype resources onto standars types by tricking
    +  the parser into accepting a different token. The remapping can be
    +  disabled with a new commandline option '-m'.
    +- Resolved some warning about chars used as index on SGI O2 machine
    +  (the ctype isXXX() routines are macros there).
    +
    +---------------------------------------------------------------------------
    +Version 1.1.4 (07-Jun-2000)
    +
    +Bertho Stultiens 
    +- Implemented MESSAGETABLE resource type.
    +- Usertype resources that cause a type-clash with defined resources
    +  are now detected and a warning is generated. Some types should be
    +  rerouted through other code so that they will be (re-)interpreted.
    +- Bugfix: Line-continuation in strings in resources include a newline.
    +  This `feature' got deleted with the builtin preprocessor, but has been
    +  put back into place (see last changes comment from version 1.1.0).
    +- Bugfix: The preprocessor now correctly will see "\\\r\n" as a line-
    +  continuation.
    +- Bugfix: Assemblers on some platforms do not use 16bit quantities
    +  for `.word'. This directive is now changed into `.short'.
    +- All types that accept inline data definitions (a la RCDATA) now
    +  also accept a file specification. This unifies the structure a bit.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.3 (21-May-2000)
    +
    +Bertho Stultiens 
    +- Implemented animated cursors and icons resource types.
    +- Added partial support for font resources (user supplied fontdir is
    +  required).
    +- All resources with inline data (a la RCDATA) now support language,
    +  version and characteristics data.
    +- Implemented resource name duplicate checks. It is now an error if
    +  two resources of the same type have the same name.
    +- Bugfix: Language propagation was not correct when .res files were
    +  generated.
    +- Bugfix: VERSIONINFO now handles memory options.
    +- Bugfix: resource names and the resource type may be equal (e.g. MENU
    +  MENU {...}). This support was mistakingly deleted in the upgrade to
    +  the builtin preprocessor.
    +  The standalone LANGUAGE setting became context sensitive as a consequence
    +  of this. Now it *must* end with a newline *after* both expressions and
    +  no newlines are allowed within the line (the statement must fit on one
    +  line). This is no practical problem though.
    +
    +Patrik Stridvall 
    +- Fixed byte order on Solaris and FreeBSD.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.2 (08-May-2000)
    +
    +Bertho Stultiens 
    +- Bugfix: Corrected a SEGV in the rawdata handling. Mistakingly took the
    +  address of a pointer instead of its value. This probably slipped in
    +  during the merge of my tree into the winetree.
    +  Lesson learned: always double check.
    +- Verified most resources so that win16 compile also generates correct
    +  output for reversed endian.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.1 (07-May-2000)
    +
    +Bertho Stultiens 
    +- Implemented byte-ordering for resources. All resources can be forced
    +  to be little-, big- or native endian with command-line option -B.
    +- Reading resources from .res-files are only accepted in native byte-
    +  ordering so that no additional semantic analysis is required.
    +- Resource directory is still written in native-only format, including
    +  the strings.
    +- Wrc is now installed through the makefile with 'make install' and also
    +  uninstalled with 'make uninstall'.
    +- Wrote a man-page for better reference. The manpage also gets installed
    +  and uninstalled.
    +- Cleaned up the namespace a bit by more agressive use of static.
    +
    +---------------------------------------------------------------------------
    +Version 1.1.0 (01-May-2000)
    +
    +Bertho Stultiens 
    +- Implemented a new preprocessor that is (nearly) ANSI-C compliant. The
    +  old parser has been stripped from the old preprocessor-code which 
    +  cleaned up both resource-scanner and -parser.
    +- Standard defines have been introduced (see README.wrc)
    +- Both preprocessor- and resource-scanner have been optimized slightly
    +  so that no backing up is required (one char lookahead is enough).
    +- Filename-scanning has been cleaned up, though not perfect yet.
    +- User-type resources are compatible now.
    +- Line-continuation in strings is corrected so that it does not
    +  introduce a newline in the output.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.18 (28-Dec-1999)
    +
    +Bertho Stultiens 
    +- Bugfix: The named resources were not named correctly for indirectly
    +  addressable resources, which resulted in an undefined variable. The
    +  previous fix was incomplete (I was probably sleeping while I made it).
    +
    +---------------------------------------------------------------------------
    +Version 1.0.17 (20-Dec-1999)
    +
    +Bertho Stultiens 
    +- Bugfix: Named resources of different types generated the same assembly-
    +  label twice, resulting in a compile failure.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.16 (6-Nov-1999)
    +
    +Juergen.Schmied@debitel.net
    +- Bugfix: Styles were evaluated as expressions. The NOT in combination
    +  with style flags was not overwriting the default styles like WS_VISIBLE.
    +  Solved by introducing own rules for parsing styles.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.15 (13-Aug-1999)
    +
    +Bertho Stultiens 
    +- Bugfix: IDs were not checked which resulted in numbers > 2^16-1 being
    +  accepted as IDs. This resulted in duplicate IDs and all other sort of
    +  trouble.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.14 (08-Aug-1999)
    +
    +Bertho Stultiens 
    +- Deeply ashamed that I thought that flex had a bug. Of course my own fault
    +  not recognizing unmatched text in start condition yyrcd and pp_strip[ps].
    +  There is a catch all rule now in the flexer with a warning to mark the
    +  condition and promptly revealed errors in the wine-headers.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.13 (08-Aug-1999)
    +
    +Bertho Stultiens 
    +- Fixed uppercase conversion of titles in dialog controls which was
    +  introduced with the icon changes.
    +- Fixed strings longer than 1024 bytes/shorts by autosizing the array. A
    +  warning is issued whenever more than 64k is allocated.
    +- Made a workarround for a flex bug where an ECHO put '\\' and '\n'
    +  characters on the screen.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.12 (18-Jul-1999)
    +
    +Bertho Stultiens 
    +- Generalized the distinction between 2 and 4 byte integers slightly through
    +  a new parser state. The is now a warning when a 2 byte integer is larger
    +  than 16 bit (and is truncated).
    +- Fixed a couple of cosmetic things in the DLGINIT stuff so that dumping of
    +  this type will work as expected.
    +- Added generalized language/version/characteristics support to the DLGINIT
    +  resource type.
    +
    +Ulrich Czekalla 
    +- Added support for DLGINIT resource-type.
    +- Added string continuation and embedded quoting.
    +- Added numeric IDs for icons in controls.
    +
    +Eric Pouech 
    +- Bugfix: Distinguish between 2 and 4 byte integers in RCDATA.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.11 (22-Apr-1999)
    +
    +Bertho Stultiens 
    +- Fixed a counting bug in the win32 count and sort routine.
    +- Fixed sort order of resources (must be name before ordinal).
    +- Shuffled a couple of global variables so that built-in dlls now can
    +  load resources through the proper PE interface.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.10 (18-Feb-1999)
    +
    +Alexandre Julliard 
    +- Fixed the TIME_LONG ugliness.
    +
    +David Luyer 
    +- Added string.h include in newstruc.c for compilation on 64bit platforms.
    +- Added TIME_LONG to support time_t==int in printf formats on alpha
    +  platforms.
    +
    +Bertho Stultiens 
    +- Added some more use of TIME_LONG in implicit format used in header-file
    +  generation.
    +- Removed the windows.h include and replaced it with wintypes.h in
    +  wrctypes.h and added winuser.h in two other sources. This cuts compilation
    +  time by a factor of 2 and final executable size with debug by a factor 2.5.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.9 (01-Feb-1999)
    +
    +Albert den Haan :
    +- Fixed wrong order of res_ico and res_bmp which must be in RT_xxx order.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.8 (10-Jan-1999)
    +
    +Albert den Haan :
    +- Added TOOLBAR support.
    +- Buffer overflow fix in strncpyWtoA.
    +- Open embedded files in resource definitions through the include path from
    +  the commandline.
    +- Support named icons in dialogs with unquoted names
    +
    +Bertho Stultiens 
    +- Fixed a major bug in the language propagation in the parser. The parser
    +  did not copy the current language while binding it to a resource structure
    +  causing wrong sorting if multiple global languages were in use and was a
    +  potential segfault because the pointer might not be valid.
    +- Added language/version/characteristics support for toolbar.
    +- Moved some defines from wrc.h to wrctypes.h to support in toolbars.
    +- Removed function stricmp from source and replaced with native function
    +  strcasecmp.
    +- Allocate cursor and icon ordinals according to the language of the item to
    +  decrease the amount of ordinals in use. This reduces the resource
    +  directory size by reducing the tree size.
    +- Versions 1.0.5 through 1.0.7 were never commited to cvs but were available
    +  for download from an alternate site for elf-dll test generation.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.7 (19-Dec-1998)
    +- Changed a couple of labels that are used by dllglue. Also reversed a patch
    +  that made wrc's generated code dependent on dllglue's code.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.6 (12-Dec-1998)
    +- Fixed the _PEResTab table where incorrect RVA's were put in the table.
    +  The dllglue should now be merged into wrc for correct labels and the least
    +  number of loadtime fixups.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.5 (12-Dec-1998)
    +- Fixed an omited .globl statement for dllglue linking.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.4 (10-Dec-1998)
    +- Added a global label for elf-dll linking and a long with the resource
    +  size and a long with the directory size.
    +- Killed an annoying warning since version 1.0.0 in parser.y about a
    +  var being used before init.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.3 (02-Nov-1998)
    +- Bugfix in write_name_str() [writeres.c] where the length byte/word was
    +  wrongly counted in the length of the string.
    +  Thanks to Ulrich Weigand 
    +
    +---------------------------------------------------------------------------
    +Version 1.0.2 (20-Jun-1998)
    +- Started this file
    +- Fixed a bug in filename scanning when they are double quoted. The code now
    +  is compatible with MS' rc and Borland's brc. There is a compromise in the
    +  filenames because of case-sensitivity under *nix.
    +- Backslashes in a filepath are now converted to forward slashes and double
    +- Fixed a bug in printing the filename if loading of a file should fail.
    +  backslashes are converted to single forward slash.
    +- Added -L option to prevent conversion to lower case for embedded filenames
    +  in resource statements.
    +- Added language posibilities to icons and cursors so that the current
    +  language is put into the .res ans .s file.
    +- Added character position indication of an error.
    +- Fixed CLASS statement so that it accepts double quoted strings as class
    +  argument. This seems to be the correct behaviour (see SDK). The unquoted
    +  class-name is still supported because it seems a reasonable option.
    +- Fixed accelerators with CONTROL option set so that they generate correct
    +  code instead of generating an error.
    +- Added testing for flex version 2.5 or better because wrc needs the
    +  yy_scan* functions to do preprocessing.
    +
    +---------------------------------------------------------------------------
    +Version  1.0.1 (08-Jun-1998)
    +- Added -A commandline option to generate autoregister code for the winelib
    +  programs.
    +
    +---------------------------------------------------------------------------
    +Version 1.0.0 (28-May-1998)
    +- Initial release
    diff --git a/reactos/tools/wrc/Makefile b/reactos/tools/wrc/Makefile
    new file mode 100644
    index 00000000000..333bef9f0fa
    --- /dev/null
    +++ b/reactos/tools/wrc/Makefile
    @@ -0,0 +1,39 @@
    +WRC_BASE = tools$(SEP)wrc
    +
    +WRC_TARGET = \
    +	$(ROS_INTERMEDIATE)$(WRC_BASE)$(SEP)wrc$(EXEPOSTFIX)
    +
    +WRC_SOURCES = \
    +	$(WRC_BASE)$(SEP)dumpres.c \
    +	$(WRC_BASE)$(SEP)genres.c \
    +	$(WRC_BASE)$(SEP)newstruc.c \
    +	$(WRC_BASE)$(SEP)readres.c \
    +	$(WRC_BASE)$(SEP)translation.c \
    +	$(WRC_BASE)$(SEP)utils.c \
    +	$(WRC_BASE)$(SEP)wrc.c \
    +	$(WRC_BASE)$(SEP)writeres.c \
    +	$(WRC_BASE)$(SEP)y.tab.c \
    +	$(WRC_BASE)$(SEP)lex.yy.c \
    +	$(WRC_BASE)$(SEP)port$(SEP)mkstemps.o
    +
    +WRC_OBJECTS = \
    +	$(WRC_SOURCES:.c=.o)
    +
    +WRC_HOST_CFLAGS = -I$(WRC_BASE) -g -Werror -Wall \
    +                  -D__USE_W32API -DWINE_UNICODE_API= \
    +                  -Dwchar_t="unsigned short" -D_WCHAR_T_DEFINED \
    +                  -I$(UNICODE_BASE) -I$(WPP_BASE) -I$(WRC_BASE) \
    +                  -Iinclude/wine -Iinclude -Iw32api/include
    +
    +WRC_HOST_LFLAGS = -g
    +
    +$(WRC_TARGET): $(WRC_OBJECTS) $(UNICODE_TARGET) $(WPP_TARGET)
    +	${host_gcc} $(WRC_OBJECTS) $(UNICODE_TARGET) $(WPP_TARGET) $(WRC_HOST_LFLAGS) -o $(WRC_TARGET)
    +
    +$(WRC_OBJECTS): %.o : %.c
    +	${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
    +
    +.PHONY: wrc_clean
    +wrc_clean:
    +	-@$(rm) $(WRC_TARGET) $(WRC_OBJECTS) 2>$(NUL)
    +clean: wrc_clean
    diff --git a/reactos/tools/wrc/Makefile.in b/reactos/tools/wrc/Makefile.in
    new file mode 100644
    index 00000000000..382ae165f34
    --- /dev/null
    +++ b/reactos/tools/wrc/Makefile.in
    @@ -0,0 +1,53 @@
    +DEFS      = -DINCLUDEDIR="\"$(includedir)\""
    +TOPSRCDIR = @top_srcdir@
    +TOPOBJDIR = ../..
    +SRCDIR    = @srcdir@
    +VPATH     = @srcdir@
    +LEXOPT    = -Cf #-w -b
    +YACCOPT   = #-v
    +EXEEXT    = @EXEEXT@
    +
    +PROGRAMS = wrc$(EXEEXT)
    +MODULE   = none
    +
    +C_SRCS = \
    +	dumpres.c \
    +	genres.c \
    +	newstruc.c \
    +	readres.c \
    +	translation.c \
    +	utils.c \
    +	wrc.c \
    +	writeres.c
    +
    +EXTRA_SRCS = parser.y parser.l
    +EXTRA_OBJS = y.tab.o @LEX_OUTPUT_ROOT@.o
    +
    +all: $(PROGRAMS)
    +
    +@MAKE_RULES@
    +
    +wrc$(EXEEXT): $(OBJS) $(LIBDIR)/wpp/libwpp.a
    +	$(CC) $(CFLAGS) -o $@ $(OBJS) -L$(LIBDIR) -lwpp -lwine_unicode -lwine_port $(LEXLIB) $(LDFLAGS)
    +
    +y.tab.c y.tab.h: parser.y
    +	$(YACC) $(YACCOPT) -d -t $(SRCDIR)/parser.y
    +
    +# hack to allow parallel make
    +y.tab.h: y.tab.c
    +y.tab.o: y.tab.h
    +
    +@LEX_OUTPUT_ROOT@.c: parser.l
    +	$(LEX) $(LEXOPT) -d -8 $(SRCDIR)/parser.l
    +
    +@LEX_OUTPUT_ROOT@.o: y.tab.h
    +
    +install:: $(PROGRAMS)
    +	$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
    +	$(INSTALL_DATA) $(SRCDIR)/wrc.man $(mandir)/man$(prog_manext)/wrc.$(prog_manext)
    +	$(INSTALL_PROGRAM) wrc$(EXEEXT) $(bindir)/wrc$(EXEEXT)
    +
    +uninstall::
    +	$(RM) $(bindir)/wrc$(EXEEXT) $(mandir)/man$(prog_manext)/wrc.$(prog_manext)
    +
    +### Dependencies:
    diff --git a/reactos/tools/wrc/dumpres.c b/reactos/tools/wrc/dumpres.c
    new file mode 100644
    index 00000000000..53cc64eba3b
    --- /dev/null
    +++ b/reactos/tools/wrc/dumpres.c
    @@ -0,0 +1,1038 @@
    +/*
    + * Copyright 1998 Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +
    +#include "wrc.h"
    +#include "dumpres.h"
    +
    +/*
    + *****************************************************************************
    + * Function	: get_typename
    + * Syntax	: char *get_typename(resource_t* r)
    + * Input	:
    + *	r	- Resource description
    + * Output	: A pointer to a string representing the resource type
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +const char *get_typename(const resource_t* r)
    +{
    +	switch(r->type){
    +	case res_acc:	return "ACCELERATOR";
    +	case res_bmp:	return "BITMAP";
    +	case res_cur:	return "CURSOR";
    +	case res_curg:	return "GROUP_CURSOR";
    +	case res_dlg:	return "DIALOG";
    +	case res_dlgex:	return "DIALOGEX";
    +	case res_fnt:	return "FONT";
    +	case res_ico:	return "ICON";
    +	case res_icog:	return "GROUP_ICON";
    +	case res_men:	return "MENU";
    +	case res_menex:	return "MENUEX";
    +	case res_rdt:	return "RCDATA";
    +	case res_stt:	return "STRINGTABLE";
    +	case res_usr:   return "UserResource";
    +	case res_msg:	return "MESSAGETABLE";
    +	case res_ver:	return "VERSIONINFO";
    +	case res_dlginit: return "DLGINIT";
    +	case res_toolbar: return "TOOLBAR";
    +	case res_anicur:  return "CURSOR (animated)";
    +	case res_aniico:  return "ICON (animated)";
    +	default: 	return "Unknown";
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: strncpyWtoA
    + * Syntax	: char *strncpyWtoA(char *cs, short *ws, int maxlen)
    + * Input	:
    + *	cs	- Pointer to buffer to receive result
    + *	ws	- Source wide-string
    + *	maxlen	- Max chars to copy
    + * Output	: 'cs'
    + * Description	: Copy a unicode string to ascii. Copying stops after the
    + *		  first occurring '\0' or when maxlen-1 chars are copied. The
    + *		  String is always nul terminated.
    + * Remarks	: No codepage translation is done.
    + *****************************************************************************
    +*/
    +static char *strncpyWtoA(char *cs, const short *ws, int maxlen)
    +{
    +	char *cptr = cs;
    +	const short *wsMax = ws + maxlen - 1;
    +	while(*ws && ws < wsMax)
    +	{
    +		if(*ws < -128 || *ws > 127)
    +			fprintf(stderr, "***Warning: Unicode string contains non-printable chars***\n");
    +		*cptr++ = (char)*ws++;
    +	}
    +	*cptr = '\0';
    +	return cs;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: print_string
    + * Syntax	: void print_string(string_t *str)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void print_string(const string_t *str)
    +{
    +	char buffer[512];
    +	if(!str)
    +		printf("");
    +	else if(str->type == str_char)
    +		printf("\"%s\"", str->str.cstr);
    +	else
    +	{
    +		strncpyWtoA(buffer, str->str.wstr, sizeof(buffer));
    +		printf("L\"%s\"", buffer);
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: get_nameid_str
    + * Syntax	: const char *get_nameid_str(const name_id_t *n)
    + * Input	:
    + *	n	- nameid to convert to text
    + * Output	: A pointer to the name.
    + * Description	:
    + * Remarks	: Not reentrant because of static buffer
    + *****************************************************************************
    +*/
    +const char *get_nameid_str(const name_id_t *n)
    +{
    +	static char buffer[256];
    +
    +	if(!n)
    +		return "";
    +
    +	if(n->type == name_ord)
    +	{
    +		sprintf(buffer, "%d", n->name.i_name);
    +		return buffer;
    +	}
    +	else if(n->type == name_str)
    +	{
    +		if(n->name.s_name->type == str_char)
    +			return n->name.s_name->str.cstr;
    +		else
    +		{
    +			strncpyWtoA(buffer, n->name.s_name->str.wstr, sizeof(buffer));
    +			return buffer;
    +		}
    +	}
    +	else
    +		return "Hoooo, report this: wrong type in nameid";
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_memopt
    + * Syntax	: void dump_memopt(DWORD memopt)
    + * Input	:
    + *	memopt	- flag bits of the options set
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_memopt(DWORD memopt)
    +{
    +	printf("Memory/load options: ");
    +	if(memopt & 0x0040)
    +		printf("PRELOAD ");
    +	else
    +		printf("LOADONCALL ");
    +	if(memopt & 0x0010)
    +		printf("MOVEABLE ");
    +	else
    +		printf("FIXED ");
    +	if(memopt & 0x0020)
    +		printf("PURE ");
    +	else
    +		printf("IMPURE ");
    +	if(memopt & 0x1000)
    +		printf("DISCARDABLE");
    +	printf("\n");
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_lvc
    + * Syntax	: void dump_lvc(const lvc_t *l)
    + * Input	:
    + *	l	- pointer to lvc structure
    + * Output	:
    + * Description	: Dump language, version and characteristics
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_lvc(const lvc_t *l)
    +{
    +	if(l->language)
    +		printf("LANGUAGE %04x, %04x\n", l->language->id, l->language->sub);
    +	else
    +		printf("LANGUAGE \n");
    +
    +	if(l->version)
    +		printf("VERSION %08lx\n", *(l->version));
    +	else
    +		printf("VERSION \n");
    +
    +	if(l->characts)
    +		printf("CHARACTERISTICS %08lx\n", *(l->characts));
    +	else
    +		printf("CHARACTERISTICS \n");
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_raw_data
    + * Syntax	: void dump_raw_data(const raw_data_t *d)
    + * Input	:
    + *	d	- Raw data descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_raw_data(const raw_data_t *d)
    +{
    +	unsigned int n;
    +	int i;
    +	int j;
    +
    +	if(!d)
    +	{
    +		printf("");
    +		return;
    +	}
    +	printf("Rawdata size: %d\n", d->size);
    +	if(debuglevel < 2)
    +		return;
    +
    +	for(n = 0; n < d->size; n++)
    +	{
    +		if((n % 16) == 0)
    +                {
    +			if(n)
    +			{
    +				printf("- ");
    +				for(i = 0; i < 16; i++)
    +					printf("%c", isprint(d->data[n-16+i] & 0xff) ? d->data[n-16+i] : '.');
    +				printf("\n%08x: ", n);
    +			}
    +			else
    +				printf("%08x: ", n);
    +                }
    +		printf("%02x ", d->data[n] & 0xff);
    +	}
    +	printf("- ");
    +	j = d->size % 16;
    +	if(!j)
    +		j = 16;
    +	for(i = 0; i < j; i++)
    +		printf("%c", isprint(d->data[n-j+i] & 0xff) ? d->data[n-j+i] : '.');
    +	printf("\n");
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_accelerator
    + * Syntax	: void dump_accelerator(const accelerator_t *acc)
    + * Input	:
    + *	acc	- Accelerator resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_accelerator(const accelerator_t *acc)
    +{
    +	event_t *ev = acc->events;
    +
    +	dump_memopt(acc->memopt);
    +	dump_lvc(&(acc->lvc));
    +
    +	printf("Events: %s\n", ev ? "" : "");
    +	while(ev)
    +	{
    +		printf("Key=");
    +		if(isprint(ev->key))
    +			printf("\"%c\"", ev->key);
    +		else if(iscntrl(ev->key))
    +			printf("\"^%c\"", ev->key +'@');
    +		else
    +			printf("\\x%02x", ev->key & 0xff);
    +
    +		printf(" Id=%d flags=%04x\n", ev->id, ev->flags);
    +		ev = ev->next;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_cursor
    + * Syntax	: void dump_cursor(const cursor_t *cur)
    + * Input	:
    + *	cur	- Cursor resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_cursor(const cursor_t *cur)
    +{
    +	printf("Id: %d\n", cur->id);
    +	printf("Width: %d\n", cur->width);
    +	printf("Height: %d\n", cur->height);
    +	printf("X Hotspot: %d\n", cur->xhot);
    +	printf("Y Hotspot: %d\n", cur->yhot);
    +	dump_raw_data(cur->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_cursor_group
    + * Syntax	: void dump_cursor_group(const cursor_group_t *cur)
    + * Input	:
    + *	cur	- Cursor group resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_cursor_group(const cursor_group_t *curg)
    +{
    +	dump_memopt(curg->memopt);
    +	printf("There are %d cursors in this group\n", curg->ncursor);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_icon
    + * Syntax	: void dump_icon(const icon_t *ico)
    + * Input	:
    + *	ico	- Icon resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_icon(const icon_t *ico)
    +{
    +	printf("Id: %d\n", ico->id);
    +	printf("Width: %d\n", ico->width);
    +	printf("Height: %d\n", ico->height);
    +	printf("NColor: %d\n", ico->nclr);
    +	printf("NPlanes: %d\n", ico->planes);
    +	printf("NBits: %d\n", ico->bits);
    +	dump_raw_data(ico->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_icon_group
    + * Syntax	: void dump_icon_group(const icon_group_t *ico)
    + * Input	:
    + *	ico	- Icon group resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_icon_group(const icon_group_t *icog)
    +{
    +	dump_memopt(icog->memopt);
    +	printf("There are %d icons in this group\n", icog->nicon);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_ani_curico
    + * Syntax	: void dump_ani_curico(const ani_curico_t *ani)
    + * Input	:
    + *	ani	- Animated object resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_ani_curico(const ani_curico_t *ani)
    +{
    +	dump_memopt(ani->memopt);
    +	dump_lvc(&ani->data->lvc);
    +	dump_raw_data(ani->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_font
    + * Syntax	: void dump_font(const font_t *fnt)
    + * Input	:
    + *	fnt	- Font resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_font(const font_t *fnt)
    +{
    +	dump_memopt(fnt->memopt);
    +	dump_lvc(&(fnt->data->lvc));
    +	dump_raw_data(fnt->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_bitmap
    + * Syntax	: void dump_bitmap(const bitmap_t *bmp)
    + * Input	:
    + *	bmp	- Bitmap resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_bitmap(const bitmap_t *bmp)
    +{
    +	dump_memopt(bmp->memopt);
    +	dump_lvc(&(bmp->data->lvc));
    +	dump_raw_data(bmp->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_rcdata
    + * Syntax	: void dump_rcdata(const rcdata_t *rdt)
    + * Input	:
    + *	rdt	- RCData resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_rcdata(const rcdata_t *rdt)
    +{
    +	dump_memopt(rdt->memopt);
    +	dump_lvc(&(rdt->data->lvc));
    +	dump_raw_data(rdt->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_user
    + * Syntax	: void dump_user(const user_t *usr)
    + * Input	:
    + *	usr	- User resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_user(const user_t *usr)
    +{
    +	dump_memopt(usr->memopt);
    +	dump_lvc(&(usr->data->lvc));
    +	printf("Class %s\n", get_nameid_str(usr->type));
    +	dump_raw_data(usr->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_messagetable
    + * Syntax	: void dump_messagetable(const messagetable_t *msg)
    + * Input	:
    + *	msg	- Messagetable resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_messagetable(const messagetable_t *msg)
    +{
    +	dump_memopt(msg->memopt);
    +	dump_lvc(&(msg->data->lvc));
    +	dump_raw_data(msg->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_stringtable
    + * Syntax	: void dump_stringtable(const stringtable_t *stt)
    + * Input	:
    + *	stt	- Stringtable resource descriptor
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_stringtable(const stringtable_t *stt)
    +{
    +	int i;
    +	for(; stt; stt = stt->next)
    +	{
    +		printf("{\n");
    +		dump_memopt(stt->memopt);
    +		dump_lvc(&(stt->lvc));
    +		for(i = 0; i < stt->nentries; i++)
    +		{
    +			printf("Id=%-5d (%d) ", stt->idbase+i, stt->entries[i].id);
    +			if(stt->entries[i].str)
    +				print_string(stt->entries[i].str);
    +			else
    +				printf("");
    +			printf("\n");
    +		}
    +		printf("}\n");
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_control
    + * Syntax	: void dump_control(const control_t *ctrl)
    + * Input	:
    + *	ctrl	- Control resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_control(const control_t *ctrl)
    +{
    +	printf("Control {\n\tClass: %s\n", get_nameid_str(ctrl->ctlclass));
    +	printf("\tText: "); get_nameid_str(ctrl->title); printf("\n");
    +	printf("\tId: %d\n", ctrl->id);
    +	printf("\tx, y, w, h: %d, %d, %d, %d\n", ctrl->x, ctrl->y, ctrl->width, ctrl->height);
    +	if(ctrl->gotstyle)
    +	{
    +		assert(ctrl->style != NULL);
    +		assert(ctrl->style->and_mask == 0);
    +		printf("\tStyle: %08lx\n", ctrl->style->or_mask);
    +	}
    +	if(ctrl->gotexstyle)
    +	{
    +		assert(ctrl->exstyle != NULL);
    +		assert(ctrl->exstyle->and_mask == 0);
    +		printf("\tExStyle: %08lx\n", ctrl->exstyle->or_mask);
    +	}
    +	if(ctrl->gothelpid)
    +		printf("\tHelpid: %ld\n", ctrl->helpid);
    +	if(ctrl->extra)
    +	{
    +		printf("\t");
    +		dump_raw_data(ctrl->extra);
    +	}
    +	printf("}\n");
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_dialog
    + * Syntax	: void dump_dialog(const dialog_t *dlg)
    + * Input	:
    + *	dlg	- Dialog resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_dialog(const dialog_t *dlg)
    +{
    +	control_t *c = dlg->controls;
    +
    +	dump_memopt(dlg->memopt);
    +	dump_lvc(&(dlg->lvc));
    +	printf("x, y, w, h: %d, %d, %d, %d\n", dlg->x, dlg->y, dlg->width, dlg->height);
    +	if(dlg->gotstyle)
    +	{
    +		assert(dlg->style != NULL);
    +		assert(dlg->style->and_mask == 0);
    +		printf("Style: %08lx\n", dlg->style->or_mask);
    +
    +	}
    +	if(dlg->gotexstyle)
    +	{
    +		assert(dlg->exstyle != NULL);
    +		assert(dlg->exstyle->and_mask == 0);
    +		printf("ExStyle: %08lx\n", dlg->exstyle->or_mask);
    +	}
    +	printf("Menu: %s\n", get_nameid_str(dlg->menu));
    +	printf("Class: %s\n", get_nameid_str(dlg->dlgclass));
    +	printf("Title: "); print_string(dlg->title); printf("\n");
    +	printf("Font: ");
    +	if(!dlg->font)
    +		printf("\n");
    +	else
    +	{
    +		printf("%d, ", dlg->font->size);
    +		print_string(dlg->font->name);
    +		printf("\n");
    +	}
    +	while(c)
    +	{
    +		dump_control(c);
    +		c = c->next;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_dialogex
    + * Syntax	: void dump_dialogex(const dialogex_t *dlgex)
    + * Input	:
    + *	dlgex	- DialogEx resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_dialogex(const dialogex_t *dlgex)
    +{
    +	const control_t *c = dlgex->controls;
    +
    +	dump_memopt(dlgex->memopt);
    +	dump_lvc(&(dlgex->lvc));
    +	printf("x, y, w, h: %d, %d, %d, %d\n", dlgex->x, dlgex->y, dlgex->width, dlgex->height);
    +	if(dlgex->gotstyle)
    +	{
    +		assert(dlgex->style != NULL);
    +		assert(dlgex->style->and_mask == 0);
    +		printf("Style: %08lx\n", dlgex->style->or_mask);
    +	}
    +	if(dlgex->gotexstyle)
    +	{
    +		assert(dlgex->exstyle != NULL);
    +		assert(dlgex->exstyle->and_mask == 0);
    +		printf("ExStyle: %08lx\n", dlgex->exstyle->or_mask);
    +	}
    +	if(dlgex->gothelpid)
    +		printf("Helpid: %ld\n", dlgex->helpid);
    +	printf("Menu: %s\n", get_nameid_str(dlgex->menu));
    +	printf("Class: %s\n", get_nameid_str(dlgex->dlgclass));
    +	printf("Title: "); print_string(dlgex->title); printf("\n");
    +	printf("Font: ");
    +	if(!dlgex->font)
    +		printf("\n");
    +	else
    +	{
    +		printf("%d, ", dlgex->font->size);
    +		print_string(dlgex->font->name);
    +		printf(", %d, %d\n", dlgex->font->weight, dlgex->font->italic);
    +	}
    +	while(c)
    +	{
    +		dump_control(c);
    +		c = c->next;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_menu_item
    + * Syntax	: void dump_menu_item(const menu_item_t *item)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_menu_item(const menu_item_t *item)
    +{
    +	while(item)
    +	{
    +		if(item->popup)
    +		{
    +			printf("POPUP ");
    +			print_string(item->name);
    +			printf("\n");
    +			dump_menu_item(item->popup);
    +		}
    +		else
    +		{
    +			printf("MENUITEM ");
    +			if(item->name)
    +			{
    +				print_string(item->name);
    +				printf(", %d, %08lx", item->id, item->state);
    +			}
    +			else
    +				printf("SEPARATOR");
    +			printf("\n");
    +		}
    +		item = item->next;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_menu
    + * Syntax	: void dump_menu(const menu_t *men)
    + * Input	:
    + *	men	- Menu resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_menu(const menu_t *men)
    +{
    +	dump_memopt(men->memopt);
    +	dump_lvc(&(men->lvc));
    +	dump_menu_item(men->items);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_menuex_item
    + * Syntax	: void dump_menuex_item(const menuex_item_t *item)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_menuex_item(const menuex_item_t *item)
    +{
    +	while(item)
    +	{
    +		if(item->popup)
    +		{
    +			printf("POPUP ");
    +			print_string(item->name);
    +			if(item->gotid)
    +				printf(", Id=%d", item->id);
    +			if(item->gottype)
    +				printf(", Type=%ld", item->type);
    +			if(item->gotstate)
    +				printf(", State=%08lx", item->state);
    +			if(item->gothelpid)
    +				printf(", HelpId=%d", item->helpid);
    +			printf("\n");
    +			dump_menuex_item(item->popup);
    +		}
    +		else
    +		{
    +			printf("MENUITEM ");
    +			if(item->name)
    +			{
    +				print_string(item->name);
    +				if(item->gotid)
    +					printf(", Id=%d", item->id);
    +				if(item->gottype)
    +					printf(", Type=%ld", item->type);
    +				if(item->gotstate)
    +					printf(", State=%08lx", item->state);
    +				if(item->gothelpid)
    +					printf(", HelpId=%d", item->helpid);
    +			}
    +			else
    +				printf("SEPARATOR");
    +			printf("\n");
    +		}
    +		item = item->next;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_menuex
    + * Syntax	: void dump_menuex(const menuex_t *menex)
    + * Input	:
    + *	menex	- MenuEx resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_menuex(const menuex_t *menex)
    +{
    +	dump_memopt(menex->memopt);
    +	dump_lvc(&(menex->lvc));
    +	dump_menuex_item(menex->items);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_ver_value
    + * Syntax	: void dump_ver_value(const ver_value_t *val)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_ver_block(const ver_block_t *);	/* Forward ref */
    +
    +static void dump_ver_value(const ver_value_t *val)
    +{
    +	if(val->type == val_str)
    +	{
    +		printf("VALUE ");
    +		print_string(val->key);
    +		printf(" ");
    +		print_string(val->value.str);
    +		printf("\n");
    +	}
    +	else if(val->type == val_words)
    +	{
    +		int i;
    +		printf("VALUE");
    +		print_string(val->key);
    +		for(i = 0; i < val->value.words->nwords; i++)
    +			printf(" %04x", val->value.words->words[i]);
    +		printf("\n");
    +	}
    +	else if(val->type == val_block)
    +	{
    +		dump_ver_block(val->value.block);
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_ver_block
    + * Syntax	: void dump_ver_block(const ver_block_t *blk)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_ver_block(const ver_block_t *blk)
    +{
    +	const ver_value_t *val = blk->values;
    +	printf("BLOCK ");
    +	print_string(blk->name);
    +	printf("\n{\n");
    +	while(val)
    +	{
    +		dump_ver_value(val);
    +		val = val->next;
    +	}
    +	printf("}\n");
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_versioninfo
    + * Syntax	: void dump_versioninfo(const versioninfo_t *ver)
    + * Input	:
    + *	ver	- Versioninfo resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_versioninfo(const versioninfo_t *ver)
    +{
    +	const ver_block_t *blk = ver->blocks;
    +
    +	dump_lvc(&(ver->lvc));
    +
    +	if(ver->gotit.fv)
    +		printf("FILEVERSION %04x, %04x, %04x, %04x\n",
    +			ver->filever_maj1,
    +			ver->filever_maj2,
    +			ver->filever_min1,
    +			ver->filever_min2);
    +	if(ver->gotit.pv)
    +		printf("PRODUCTVERSION %04x, %04x, %04x, %04x\n",
    +			ver->prodver_maj1,
    +			ver->prodver_maj2,
    +			ver->prodver_min1,
    +			ver->prodver_min2);
    +	if(ver->gotit.fo)
    +		printf("FILEOS %08x\n", ver->fileos);
    +	if(ver->gotit.ff)
    +		printf("FILEFLAGS %08x\n", ver->fileflags);
    +	if(ver->gotit.ffm)
    +		printf("FILEFLAGSMASK %08x\n", ver->fileflagsmask);
    +	if(ver->gotit.ft)
    +		printf("FILETYPE %08x\n", ver->filetype);
    +	if(ver->gotit.fst)
    +		printf("FILESUBTYPE %08x\n", ver->filesubtype);
    +	while(blk)
    +	{
    +		dump_ver_block(blk);
    +		blk = blk->next;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_toolbar_item
    + * Syntax	: void dump_toolbar_item(const toolbar_item_t *item)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_toolbar_items(const toolbar_item_t *items)
    +{
    +	while(items)
    +	{
    +	        if(items->id)
    +			printf("   BUTTON %d", items->id );
    +		else
    +	      		printf("   SEPARATOR");
    +
    +		printf("\n");
    +
    +		items = items->next;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_toolbar
    + * Syntax	: void dump_toolbar(const toolbar_t *toolbar)
    + * Input	:
    + *	toolbar	- Toolbar resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_toolbar(const toolbar_t *toolbar)
    +{
    +	dump_memopt(toolbar->memopt);
    +	dump_lvc(&(toolbar->lvc));
    +	dump_toolbar_items(toolbar->items);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_dlginit
    + * Syntax	: void dump_dlginit(const dlginit_t *dit)
    + * Input	:
    + *	dit	- DlgInit resource descriptor
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void dump_dlginit(const dlginit_t *dit)
    +{
    +	dump_memopt(dit->memopt);
    +	dump_lvc(&(dit->data->lvc));
    +	dump_raw_data(dit->data);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dump_resources
    + * Syntax	: void dump_resources(const resource_t *top)
    + * Input	:
    + *	top	- Top of the resource tree
    + * Output	:
    + *	nop
    + * Description	: Dump the parsed resource-tree to stdout
    + * Remarks	:
    + *****************************************************************************
    +*/
    +void dump_resources(const resource_t *top)
    +{
    +	printf("Internal resource-tree dump:\n");
    +	while(top)
    +	{
    +		printf("Resource: %s\nId: %s\n",
    +		       get_typename(top),
    +		       get_nameid_str(top->name));
    +		switch(top->type)
    +		{
    +		case res_acc:
    +			dump_accelerator(top->res.acc);
    +			break;
    +		case res_bmp:
    +			dump_bitmap(top->res.bmp);
    +			break;
    +		case res_cur:
    +			dump_cursor(top->res.cur);
    +			break;
    +		case res_curg:
    +			dump_cursor_group(top->res.curg);
    +			break;
    +		case res_dlg:
    +			dump_dialog(top->res.dlg);
    +			break;
    +		case res_dlgex:
    +			dump_dialogex(top->res.dlgex);
    +			break;
    +		case res_fnt:
    +			dump_font(top->res.fnt);
    +			break;
    +		case res_icog:
    +			dump_icon_group(top->res.icog);
    +			break;
    +		case res_ico:
    +			dump_icon(top->res.ico);
    +			break;
    +		case res_men:
    +			dump_menu(top->res.men);
    +			break;
    +		case res_menex:
    +			dump_menuex(top->res.menex);
    +			break;
    +		case res_rdt:
    +			dump_rcdata(top->res.rdt);
    +			break;
    +		case res_stt:
    +			dump_stringtable(top->res.stt);
    +			break;
    +		case res_usr:
    +			dump_user(top->res.usr);
    +			break;
    +		case res_msg:
    +			dump_messagetable(top->res.msg);
    +			break;
    +		case res_ver:
    +			dump_versioninfo(top->res.ver);
    +			break;
    +		case res_dlginit:
    +			dump_dlginit(top->res.dlgi);
    +			break;
    +		case res_toolbar:
    +			dump_toolbar(top->res.tbt);
    +			break;
    +		case res_anicur:
    +		case res_aniico:
    +			dump_ani_curico(top->res.ani);
    +			break;
    +		default:
    +			printf("Report this: Unknown resource type parsed %08x\n", top->type);
    +		}
    +		printf("\n");
    +		top = top->next;
    +	}
    +}
    diff --git a/reactos/tools/wrc/dumpres.h b/reactos/tools/wrc/dumpres.h
    new file mode 100644
    index 00000000000..ba862f339d5
    --- /dev/null
    +++ b/reactos/tools/wrc/dumpres.h
    @@ -0,0 +1,30 @@
    +/*
    + * Dump resource prototypes
    + *
    + * Copyright 1998 Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WRC_DUMPRES_H
    +#define __WRC_DUMPRES_H
    +
    +#include "wrctypes.h"
    +
    +const char *get_typename(const resource_t* r);
    +void dump_resources(const resource_t *top);
    +const char *get_nameid_str(const name_id_t *n);
    +
    +#endif
    diff --git a/reactos/tools/wrc/genres.c b/reactos/tools/wrc/genres.c
    new file mode 100644
    index 00000000000..7a33e923aae
    --- /dev/null
    +++ b/reactos/tools/wrc/genres.c
    @@ -0,0 +1,1974 @@
    +/*
    + * Generate .res format from a resource-tree
    + *
    + * Copyright 1998 Bertho A. Stultiens
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * History:
    + * 05-May-2000 BS	- Added code to support endian conversions. The
    + * 			  extra functions also aid unaligned access, but
    + * 			  this is not yet implemented.
    + * 25-May-1998 BS	- Added simple unicode -> char conversion for resource
    + *			  names in .s and .h files.
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wrc.h"
    +#include "genres.h"
    +#include "utils.h"
    +#include "windef.h"
    +#include "winbase.h"
    +#include "wingdi.h"
    +#include "winuser.h"
    +#include "wine/unicode.h"
    +
    +#define SetResSize(res, tag)	set_dword((res), (tag), (res)->size - get_dword((res), (tag)))
    +
    +res_t *new_res(void)
    +{
    +	res_t *r;
    +	r = (res_t *)xmalloc(sizeof(res_t));
    +	r->allocsize = RES_BLOCKSIZE;
    +	r->size = 0;
    +	r->data = (char *)xmalloc(RES_BLOCKSIZE);
    +	return r;
    +}
    +
    +res_t *grow_res(res_t *r, int add)
    +{
    +	r->allocsize += add;
    +	r->data = (char *)xrealloc(r->data, r->allocsize);
    +	return r;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: put_byte
    + *		  put_word
    + *		  put_dword
    + * Syntax	: void put_byte(res_t *res, unsigned c)
    + *		  void put_word(res_t *res, unsigned w)
    + *		  void put_dword(res_t *res, unsigned d)
    + * Input	:
    + *	res	- Binary resource to put the data in
    + *	c, w, d	- Data to put
    + * Output	: nop
    + * Description	: Put primitives that put an item in the binary resource.
    + *		  The data array grows automatically.
    + * Remarks	:
    + *****************************************************************************
    +*/
    +void put_byte(res_t *res, unsigned c)
    +{
    +	if(res->allocsize - res->size < sizeof(char))
    +		grow_res(res, RES_BLOCKSIZE);
    +	res->data[res->size] = (char)c;
    +	res->size += sizeof(char);
    +}
    +
    +void put_word(res_t *res, unsigned w)
    +{
    +	if(res->allocsize - res->size < sizeof(WORD))
    +		grow_res(res, RES_BLOCKSIZE);
    +	switch(byteorder)
    +	{
    +#ifdef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_BIG:
    +		res->data[res->size+0] = HIBYTE(w);
    +		res->data[res->size+1] = LOBYTE(w);
    +		break;
    +
    +#ifndef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_LITTLE:
    +		res->data[res->size+1] = HIBYTE(w);
    +		res->data[res->size+0] = LOBYTE(w);
    +		break;
    +	}
    +	res->size += sizeof(WORD);
    +}
    +
    +void put_dword(res_t *res, unsigned d)
    +{
    +	if(res->allocsize - res->size < sizeof(DWORD))
    +		grow_res(res, RES_BLOCKSIZE);
    +	switch(byteorder)
    +	{
    +#ifdef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_BIG:
    +		res->data[res->size+0] = HIBYTE(HIWORD(d));
    +		res->data[res->size+1] = LOBYTE(HIWORD(d));
    +		res->data[res->size+2] = HIBYTE(LOWORD(d));
    +		res->data[res->size+3] = LOBYTE(LOWORD(d));
    +		break;
    +
    +#ifndef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_LITTLE:
    +		res->data[res->size+3] = HIBYTE(HIWORD(d));
    +		res->data[res->size+2] = LOBYTE(HIWORD(d));
    +		res->data[res->size+1] = HIBYTE(LOWORD(d));
    +		res->data[res->size+0] = LOBYTE(LOWORD(d));
    +		break;
    +	}
    +	res->size += sizeof(DWORD);
    +}
    +
    +static void put_pad(res_t *res)
    +{
    +	while(res->size & 0x3)
    +		put_byte(res, 0);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: set_word
    + *		  set_dword
    + * Syntax	: void set_word(res_t *res, int ofs, unsigned w)
    + *		  void set_dword(res_t *res, int ofs, unsigned d)
    + * Input	:
    + *	res	- Binary resource to put the data in
    + *	ofs	- Byte offset in data-array
    + *	w, d	- Data to put
    + * Output	: nop
    + * Description	: Set the value of a binary resource data array to a
    + * 		  specific value.
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void set_word(res_t *res, int ofs, unsigned w)
    +{
    +	switch(byteorder)
    +	{
    +#ifdef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_BIG:
    +		res->data[ofs+0] = HIBYTE(w);
    +		res->data[ofs+1] = LOBYTE(w);
    +		break;
    +
    +#ifndef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_LITTLE:
    +		res->data[ofs+1] = HIBYTE(w);
    +		res->data[ofs+0] = LOBYTE(w);
    +		break;
    +	}
    +}
    +
    +static void set_dword(res_t *res, int ofs, unsigned d)
    +{
    +	switch(byteorder)
    +	{
    +#ifdef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_BIG:
    +		res->data[ofs+0] = HIBYTE(HIWORD(d));
    +		res->data[ofs+1] = LOBYTE(HIWORD(d));
    +		res->data[ofs+2] = HIBYTE(LOWORD(d));
    +		res->data[ofs+3] = LOBYTE(LOWORD(d));
    +		break;
    +
    +#ifndef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_LITTLE:
    +		res->data[ofs+3] = HIBYTE(HIWORD(d));
    +		res->data[ofs+2] = LOBYTE(HIWORD(d));
    +		res->data[ofs+1] = HIBYTE(LOWORD(d));
    +		res->data[ofs+0] = LOBYTE(LOWORD(d));
    +		break;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: get_dword
    + * Input	:
    + *	res	- Binary resource to put the data in
    + *	ofs	- Byte offset in data-array
    + * Output	: The data in native endian
    + * Description	: Get the value of a binary resource data array in native
    + * 		  endian.
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static DWORD get_dword(res_t *res, int ofs)
    +{
    +	switch(byteorder)
    +	{
    +#ifdef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_BIG:
    +		return   (res->data[ofs+0] << 24)
    +		       | (res->data[ofs+1] << 16)
    +		       | (res->data[ofs+2] <<  8)
    +		       |  res->data[ofs+3];
    +
    +#ifndef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_LITTLE:
    +		return   (res->data[ofs+3] << 24)
    +		       | (res->data[ofs+2] << 16)
    +		       | (res->data[ofs+1] <<  8)
    +		       |  res->data[ofs+0];
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: string_to_upper
    + * Syntax	: void string_to_upper(string_t *str)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	: FIXME: codepages...
    + *****************************************************************************
    +*/
    +static void string_to_upper(string_t *str)
    +{
    +    int i;
    +
    +    if(str->type == str_char)
    +    {
    +        for (i = 0; i < str->size; i++) str->str.cstr[i] = toupper((unsigned char)str->str.cstr[i]);
    +    }
    +    else if(str->type == str_unicode)
    +    {
    +        for (i = 0; i < str->size; i++) str->str.wstr[i] = toupperW(str->str.wstr[i]);
    +    }
    +    else
    +    {
    +        internal_error(__FILE__, __LINE__, "Invalid string type %d", str->type);
    +    }
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: put_string
    + * Syntax	: void put_string(res_t *res, string_t *str, enum str_e type,
    + *				  int isterm, const language_t *lang)
    + * Input	:
    + *	res	- Binary resource to put the data in
    + *	str	- String to put
    + *	type	- Data has to be written in either str_char or str_unicode
    + *	isterm	- The string is '\0' terminated (disregard the string's
    + *		  size member)
    + * Output	: nop
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void put_string(res_t *res, const string_t *str, enum str_e type, int isterm,
    +                       const language_t *lang)
    +{
    +    int cnt, codepage;
    +    string_t *newstr;
    +
    +    assert(res != NULL);
    +    assert(str != NULL);
    +
    +    if (lang) codepage = get_language_codepage( lang->id, lang->sub );
    +    else codepage = get_language_codepage( 0, 0 );
    +
    +    assert( codepage != -1 );
    +
    +    newstr = convert_string(str, type, codepage);
    +    if (type == str_unicode)
    +    {
    +        if (str->type == str_char)
    +        {
    +            if (!check_unicode_conversion( str, newstr, codepage ))
    +                error( "String %s does not convert identically to Unicode and back in codepage %d. "
    +                       "Try using a Unicode string instead.", str->str.cstr, codepage );
    +        }
    +        if (!isterm) put_word(res, newstr->size);
    +        for(cnt = 0; cnt < newstr->size; cnt++)
    +        {
    +            WCHAR c = newstr->str.wstr[cnt];
    +            if (isterm && !c) break;
    +            put_word(res, c);
    +        }
    +        if (isterm) put_word(res, 0);
    +    }
    +    else  /* str_char */
    +    {
    +        if (!isterm) put_byte(res, newstr->size);
    +        for(cnt = 0; cnt < newstr->size; cnt++)
    +        {
    +            char c = newstr->str.cstr[cnt];
    +            if (isterm && !c) break;
    +            put_byte(res, c);
    +        }
    +        if (isterm) put_byte(res, 0);
    +    }
    +    free_string(newstr);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: put_name_id
    + * Syntax	: void put_name_id(res_t *res, name_id_t *nid, int upcase, const language_t *lang)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void put_name_id(res_t *res, name_id_t *nid, int upcase, const language_t *lang)
    +{
    +	if(nid->type == name_ord)
    +	{
    +		if(win32)
    +			put_word(res, 0xffff);
    +		else
    +			put_byte(res, 0xff);
    +		put_word(res, (WORD)nid->name.i_name);
    +	}
    +	else if(nid->type == name_str)
    +	{
    +		if(upcase)
    +			string_to_upper(nid->name.s_name);
    +		put_string(res, nid->name.s_name, win32 ? str_unicode : str_char, TRUE, lang);
    +	}
    +	else
    +	{
    +		internal_error(__FILE__, __LINE__, "Invalid name_id type %d", nid->type);
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: put_lvc
    + * Syntax	: void put_lvc(res_t *res, lvc_t *lvc)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void put_lvc(res_t *res, lvc_t *lvc)
    +{
    +	if(lvc && lvc->language)
    +		put_word(res, MAKELANGID(lvc->language->id, lvc->language->sub));
    +	else
    +		put_word(res, 0);	/* Neutral */
    +	if(lvc && lvc->version)
    +		put_dword(res, *(lvc->version));
    +	else
    +		put_dword(res, 0);
    +	if(lvc && lvc->characts)
    +		put_dword(res, *(lvc->characts));
    +	else
    +		put_dword(res, 0);
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: put_raw_data
    + * Syntax	: void put_raw_data(res_t *res, raw_data_t *raw, int offset)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static void put_raw_data(res_t *res, raw_data_t *raw, int offset)
    +{
    +	int wsize = raw->size - offset;
    +	if(res->allocsize - res->size < wsize)
    +		grow_res(res, wsize);
    +	memcpy(&(res->data[res->size]), raw->data + offset, wsize);
    +	res->size += wsize;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: put_res_header
    + * Syntax	: intput_res_header(res_t *res, int type, name_id_t *ntype,
    + *				    name_id_t *name, DWORD memopt, lvc_t *lvc)
    + *
    + * Input	:
    + *	res	- Binary resource descriptor to write to
    + *	type	- Resource identifier (if ntype == NULL)
    + *	ntype	- Name id of type
    + *	name	- Resource's name
    + *	memopt	- Resource's memory options to write
    + *	lvc	- Language, version and characteristics (win32 only)
    + * Output	: An index to the resource size field. The resource size field
    + *		  contains the header size upon exit.
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static int put_res_header(res_t *res, int type, name_id_t *ntype, name_id_t *name,
    +                          DWORD memopt, lvc_t *lvc)
    +{
    +	if(win32)
    +	{
    +		put_dword(res, 0);		/* We will overwrite these later */
    +		put_dword(res, 0);
    +		if(!ntype)
    +		{
    +			put_word(res, 0xffff);		/* ResType */
    +			put_word(res, type);
    +		}
    +		else
    +			put_name_id(res, ntype, TRUE, lvc->language);
    +		put_name_id(res, name, TRUE, lvc->language); /* ResName */
    +		put_pad(res);
    +		put_dword(res, 0);		/* DataVersion */
    +		put_word(res, memopt);		/* Memory options */
    +		put_lvc(res, lvc);		/* Language, version and characts */
    +		set_dword(res, 0*sizeof(DWORD), res->size);	/* Set preliminary resource */
    +		set_dword(res, 1*sizeof(DWORD), res->size);	/* Set HeaderSize */
    +		res->dataidx = res->size;
    +		return 0;
    +	}
    +	else /* win16 */
    +	{
    +		int tag;
    +		if(!ntype)
    +		{
    +			put_byte(res, 0xff);		/* ResType */
    +			put_word(res, type);
    +		}
    +		else
    +			put_name_id(res, ntype, TRUE, NULL);
    +		put_name_id(res, name, TRUE, NULL); /* ResName */
    +		put_word(res, memopt);		/* Memory options */
    +		tag = res->size;
    +		put_dword(res, 0);		/* ResSize overwritten later*/
    +		set_dword(res, tag, res->size);
    +		res->dataidx = res->size;
    +		return tag;
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: accelerator2res
    + * Syntax	: res_t *accelerator2res(name_id_t *name, accelerator_t *acc)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	acc	- The accelerator descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *accelerator2res(name_id_t *name, accelerator_t *acc)
    +{
    +	int restag;
    +	res_t *res;
    +	event_t *ev;
    +	assert(name != NULL);
    +	assert(acc != NULL);
    +
    +	ev = acc->events;
    +	res = new_res();
    +	if(win32)
    +	{
    +		restag = put_res_header(res, WRC_RT_ACCELERATOR, NULL, name, acc->memopt, &(acc->lvc));
    +		while(ev)
    +		{
    +			put_word(res, ev->flags | (ev->next ? 0 : 0x80));
    +			put_word(res, ev->key);
    +			put_word(res, ev->id);
    +			put_word(res, 0);	/* Padding */
    +			ev = ev->next;
    +		}
    +		put_pad(res);
    +	}
    +	else /* win16 */
    +	{
    +		restag = put_res_header(res, WRC_RT_ACCELERATOR, NULL, name, acc->memopt, NULL);
    +		while(ev)
    +		{
    +			put_byte(res, ev->flags | (ev->next ? 0 : 0x80));
    +			put_word(res, ev->key);
    +			put_word(res, ev->id);
    +			ev = ev->next;
    +		}
    +	}
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dialog2res
    + * Syntax	: res_t *dialog2res(name_id_t *name, dialog_t *dlg)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	dlg	- The dialog descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *dialog2res(name_id_t *name, dialog_t *dlg)
    +{
    +	int restag;
    +	res_t *res;
    +	control_t *ctrl;
    +	int tag_nctrl;
    +	int nctrl = 0;
    +	assert(name != NULL);
    +	assert(dlg != NULL);
    +
    +	ctrl = dlg->controls;
    +	res = new_res();
    +	if(win32)
    +	{
    +		restag = put_res_header(res, WRC_RT_DIALOG, NULL, name, dlg->memopt, &(dlg->lvc));
    +
    +		put_dword(res, dlg->style->or_mask);
    +		put_dword(res, dlg->gotexstyle ? dlg->exstyle->or_mask : 0);
    +		tag_nctrl = res->size;
    +		put_word(res, 0);		/* Number of controls */
    +		put_word(res, dlg->x);
    +		put_word(res, dlg->y);
    +		put_word(res, dlg->width);
    +		put_word(res, dlg->height);
    +		if(dlg->menu)
    +			put_name_id(res, dlg->menu, TRUE, dlg->lvc.language);
    +		else
    +			put_word(res, 0);
    +		if(dlg->dlgclass)
    +			put_name_id(res, dlg->dlgclass, TRUE, dlg->lvc.language);
    +		else
    +			put_word(res, 0);
    +		if(dlg->title)
    +			put_string(res, dlg->title, str_unicode, TRUE, dlg->lvc.language);
    +		else
    +			put_word(res, 0);
    +		if(dlg->font)
    +		{
    +			put_word(res, dlg->font->size);
    +			put_string(res, dlg->font->name, str_unicode, TRUE, dlg->lvc.language);
    +		}
    +
    +		put_pad(res);
    +		while(ctrl)
    +		{
    +			/* FIXME: what is default control style? */
    +			put_dword(res, ctrl->gotstyle ? ctrl->style->or_mask: WS_CHILD);
    +			put_dword(res, ctrl->gotexstyle ? ctrl->exstyle->or_mask : 0);
    +			put_word(res, ctrl->x);
    +			put_word(res, ctrl->y);
    +			put_word(res, ctrl->width);
    +			put_word(res, ctrl->height);
    +			put_word(res, ctrl->id);
    +			if(ctrl->ctlclass)
    +				put_name_id(res, ctrl->ctlclass, TRUE, dlg->lvc.language);
    +			else
    +				internal_error(__FILE__, __LINE__, "Control has no control-class");
    +			if(ctrl->title)
    +				put_name_id(res, ctrl->title, FALSE, dlg->lvc.language);
    +			else
    +				put_word(res, 0);
    +			if(ctrl->extra)
    +			{
    +				put_word(res, ctrl->extra->size+2);
    +				put_pad(res);
    +				put_raw_data(res, ctrl->extra, 0);
    +			}
    +			else
    +				put_word(res, 0);
    +
    +			if(ctrl->next)
    +				put_pad(res);
    +			nctrl++;
    +			ctrl = ctrl->next;
    +		}
    +		/* Set number of controls */
    +		set_word(res, tag_nctrl, (WORD)nctrl);
    +	}
    +	else /* win16 */
    +	{
    +		restag = put_res_header(res, WRC_RT_DIALOG, NULL, name, dlg->memopt, NULL);
    +
    +		put_dword(res, dlg->gotstyle ? dlg->style->or_mask : WS_POPUPWINDOW);
    +		tag_nctrl = res->size;
    +		put_byte(res, 0);		/* Number of controls */
    +		put_word(res, dlg->x);
    +		put_word(res, dlg->y);
    +		put_word(res, dlg->width);
    +		put_word(res, dlg->height);
    +		if(dlg->menu)
    +			put_name_id(res, dlg->menu, TRUE, NULL);
    +		else
    +			put_byte(res, 0);
    +		if(dlg->dlgclass)
    +			put_name_id(res, dlg->dlgclass, TRUE, NULL);
    +		else
    +			put_byte(res, 0);
    +		if(dlg->title)
    +			put_string(res, dlg->title, str_char, TRUE, NULL);
    +		else
    +			put_byte(res, 0);
    +		if(dlg->font)
    +		{
    +			put_word(res, dlg->font->size);
    +			put_string(res, dlg->font->name, str_char, TRUE, NULL);
    +		}
    +
    +		while(ctrl)
    +		{
    +			put_word(res, ctrl->x);
    +			put_word(res, ctrl->y);
    +			put_word(res, ctrl->width);
    +			put_word(res, ctrl->height);
    +			put_word(res, ctrl->id);
    +			put_dword(res, ctrl->gotstyle ? ctrl->style->or_mask: WS_CHILD);
    +			if(ctrl->ctlclass)
    +			{
    +				if(ctrl->ctlclass->type == name_ord
    +				&& ctrl->ctlclass->name.i_name >= 0x80
    +				&& ctrl->ctlclass->name.i_name <= 0x85)
    +					put_byte(res, ctrl->ctlclass->name.i_name);
    +				else if(ctrl->ctlclass->type == name_str)
    +					put_name_id(res, ctrl->ctlclass, FALSE, NULL);
    +				else
    +					error("Unknown control-class %04x", ctrl->ctlclass->name.i_name);
    +			}
    +			else
    +				internal_error(__FILE__, __LINE__, "Control has no control-class");
    +			if(ctrl->title)
    +				put_name_id(res, ctrl->title, FALSE, NULL);
    +			else
    +				put_byte(res, 0);
    +
    +			/* FIXME: What is this extra byte doing here? */
    +			put_byte(res, 0);
    +
    +			nctrl++;
    +			ctrl = ctrl->next;
    +		}
    +		/* Set number of controls */
    +		((char *)res->data)[tag_nctrl] = (char)nctrl;
    +	}
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dialogex2res
    + * Syntax	: res_t *dialogex2res(name_id_t *name, dialogex_t *dlgex)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	dlgex	- The dialogex descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *dialogex2res(name_id_t *name, dialogex_t *dlgex)
    +{
    +	int restag;
    +	res_t *res;
    +	control_t *ctrl;
    +	int tag_nctrl;
    +	int nctrl = 0;
    +	assert(name != NULL);
    +	assert(dlgex != NULL);
    +
    +	ctrl = dlgex->controls;
    +	res = new_res();
    +	if(win32)
    +	{
    +		restag = put_res_header(res, WRC_RT_DIALOG, NULL, name, dlgex->memopt, &(dlgex->lvc));
    +
    +		/* FIXME: MS doc says thet the first word must contain 0xffff
    +		 * and the second 0x0001 to signal a DLGTEMPLATEEX. Borland's
    +		 * compiler reverses the two words.
    +		 * I don't know which one to choose, but I write it as Mr. B
    +		 * writes it.
    +		 */
    +		put_word(res, 1);		/* Signature */
    +		put_word(res, 0xffff);		/* DlgVer */
    +		put_dword(res, dlgex->gothelpid ? dlgex->helpid : 0);
    +		put_dword(res, dlgex->gotexstyle ? dlgex->exstyle->or_mask : 0);
    +		put_dword(res, dlgex->gotstyle ? dlgex->style->or_mask : WS_POPUPWINDOW);
    +		tag_nctrl = res->size;
    +		put_word(res, 0);		/* Number of controls */
    +		put_word(res, dlgex->x);
    +		put_word(res, dlgex->y);
    +		put_word(res, dlgex->width);
    +		put_word(res, dlgex->height);
    +		if(dlgex->menu)
    +			put_name_id(res, dlgex->menu, TRUE, dlgex->lvc.language);
    +		else
    +			put_word(res, 0);
    +		if(dlgex->dlgclass)
    +			put_name_id(res, dlgex->dlgclass, TRUE, dlgex->lvc.language);
    +		else
    +			put_word(res, 0);
    +		if(dlgex->title)
    +			put_string(res, dlgex->title, str_unicode, TRUE, dlgex->lvc.language);
    +		else
    +			put_word(res, 0);
    +		if(dlgex->font)
    +		{
    +			put_word(res, dlgex->font->size);
    +			put_word(res, dlgex->font->weight);
    +			/* FIXME: ? TRUE should be sufficient to say that its
    +			 * italic, but Borland's compiler says its 0x0101.
    +			 * I just copy it here, and hope for the best.
    +			 */
    +			put_word(res, dlgex->font->italic ? 0x0101 : 0);
    +			put_string(res, dlgex->font->name, str_unicode, TRUE, dlgex->lvc.language);
    +		}
    +
    +		put_pad(res);
    +		while(ctrl)
    +		{
    +			put_dword(res, ctrl->gothelpid ? ctrl->helpid : 0);
    +			put_dword(res, ctrl->gotexstyle ? ctrl->exstyle->or_mask : 0);
    +			/* FIXME: what is default control style? */
    +			put_dword(res, ctrl->gotstyle ? ctrl->style->or_mask : WS_CHILD | WS_VISIBLE);
    +			put_word(res, ctrl->x);
    +			put_word(res, ctrl->y);
    +			put_word(res, ctrl->width);
    +			put_word(res, ctrl->height);
    +			put_dword(res, ctrl->id);
    +			if(ctrl->ctlclass)
    +				put_name_id(res, ctrl->ctlclass, TRUE, dlgex->lvc.language);
    +			else
    +				internal_error(__FILE__, __LINE__, "Control has no control-class");
    +			if(ctrl->title)
    +				put_name_id(res, ctrl->title, FALSE, dlgex->lvc.language);
    +			else
    +				put_word(res, 0);
    +			if(ctrl->extra)
    +			{
    +				put_pad(res);
    +				put_word(res, ctrl->extra->size);
    +				put_raw_data(res, ctrl->extra, 0);
    +			}
    +			else
    +				put_word(res, 0);
    +
    +			put_pad(res);
    +			nctrl++;
    +			ctrl = ctrl->next;
    +		}
    +		/* Set number of controls */
    +		set_word(res, tag_nctrl, (WORD)nctrl);
    +		/* Set ResourceSize */
    +		SetResSize(res, restag);
    +		put_pad(res);
    +	}
    +	else /* win16 */
    +	{
    +		/* Do not generate anything in 16-bit mode */
    +		free(res->data);
    +		free(res);
    +		return NULL;
    +	}
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: menuitem2res
    + * Syntax	: void menuitem2res(res_t *res, menu_item_t *item)
    + * Input	:
    + * Output	:
    + * Description	:
    + * Remarks	: Self recursive
    + *****************************************************************************
    +*/
    +static void menuitem2res(res_t *res, menu_item_t *menitem, const language_t *lang)
    +{
    +	menu_item_t *itm = menitem;
    +	if(win32)
    +	{
    +		while(itm)
    +		{
    +			put_word(res, itm->state | (itm->popup ? MF_POPUP : 0) | (!itm->next ? MF_END : 0));
    +			if(!itm->popup)
    +				put_word(res, itm->id);
    +			if(itm->name)
    +				put_string(res, itm->name, str_unicode, TRUE, lang);
    +			else
    +				put_word(res, 0);
    +			if(itm->popup)
    +				menuitem2res(res, itm->popup, lang);
    +			itm = itm->next;
    +		}
    +	}
    +	else /* win16 */
    +	{
    +		while(itm)
    +		{
    +			put_word(res, itm->state | (itm->popup ? MF_POPUP : 0) | (!itm->next ? MF_END : 0));
    +			if(!itm->popup)
    +				put_word(res, itm->id);
    +			if(itm->name)
    +				put_string(res, itm->name, str_char, TRUE, lang);
    +			else
    +				put_byte(res, 0);
    +			if(itm->popup)
    +				menuitem2res(res, itm->popup, lang);
    +			itm = itm->next;
    +		}
    +	}
    +
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: menu2res
    + * Syntax	: res_t *menu2res(name_id_t *name, menu_t *men)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	men	- The menu descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *menu2res(name_id_t *name, menu_t *men)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(men != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_MENU, NULL, name, men->memopt, win32 ? &(men->lvc) : NULL);
    +
    +	put_dword(res, 0);		/* Menuheader: Version and HeaderSize */
    +	menuitem2res(res, men->items, win32 ? men->lvc.language : NULL);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: menuexitem2res
    + * Syntax	: void menuexitem2res(res_t *res, menuex_item_t *item)
    + * Input	:
    + * Output	: nop
    + * Description	:
    + * Remarks	: Self recursive
    + *****************************************************************************
    +*/
    +static void menuexitem2res(res_t *res, menuex_item_t *menitem, const language_t *lang)
    +{
    +	menuex_item_t *itm = menitem;
    +	assert(win32 != 0);
    +	while(itm)
    +	{
    +		put_dword(res, itm->gottype ? itm->type : 0);
    +		put_dword(res, itm->gotstate ? itm->state : 0);
    +		put_dword(res, itm->gotid ? itm->id : 0);	/* FIXME: Docu. says word */
    +		put_word(res, (itm->popup ? 0x01 : 0) | (!itm->next ? MF_END : 0));
    +		if(itm->name)
    +			put_string(res, itm->name, str_unicode, TRUE, lang);
    +		else
    +			put_word(res, 0);
    +		put_pad(res);
    +		if(itm->popup)
    +		{
    +			put_dword(res, itm->gothelpid ? itm->helpid : 0);
    +			menuexitem2res(res, itm->popup, lang);
    +		}
    +		itm = itm->next;
    +	}
    +
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: menuex2res
    + * Syntax	: res_t *menuex2res(name_id_t *name, menuex_t *menex)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	menex	- The menuex descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *menuex2res(name_id_t *name, menuex_t *menex)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(menex != NULL);
    +
    +	res = new_res();
    +	if(win32)
    +	{
    +		restag = put_res_header(res, WRC_RT_MENU, NULL, name, menex->memopt, &(menex->lvc));
    +
    +		put_word(res, 1);		/* Menuheader: Version */
    +		put_word(res, 4);		/* Offset */
    +		put_dword(res, 0);		/* HelpId */
    +		put_pad(res);
    +		menuexitem2res(res, menex->items, menex->lvc.language);
    +		/* Set ResourceSize */
    +		SetResSize(res, restag);
    +		put_pad(res);
    +	}
    +	else /* win16 */
    +	{
    +		/* Do not generate anything in 16-bit mode */
    +		free(res->data);
    +		free(res);
    +		return NULL;
    +	}
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: cursorgroup2res
    + * Syntax	: res_t *cursorgroup2res(name_id_t *name, cursor_group_t *curg)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	curg	- The cursor descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *cursorgroup2res(name_id_t *name, cursor_group_t *curg)
    +{
    +	int restag;
    +	res_t *res;
    +	cursor_t *cur;
    +	assert(name != NULL);
    +	assert(curg != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_GROUP_CURSOR, NULL, name, curg->memopt, &(curg->lvc));
    +	if(win32)
    +	{
    +		put_word(res, 0);	/* Reserved */
    +		/* FIXME: The ResType in the NEWHEADER structure should
    +		 * contain 14 according to the MS win32 doc. This is
    +		 * not the case with the BRC compiler and I really doubt
    +		 * the latter. Putting one here is compliant to win16 spec,
    +		 * but who knows the true value?
    +		 */
    +		put_word(res, 2);	/* ResType */
    +		put_word(res, curg->ncursor);
    +#if 0
    +		for(cur = curg->cursorlist; cur; cur = cur->next)
    +#else
    +		cur = curg->cursorlist;
    +		while(cur->next)
    +			cur = cur->next;
    +		for(; cur; cur = cur->prev)
    +#endif
    +		{
    +			put_word(res, cur->width);
    +			/* FIXME: The height of a cursor is half the size of
    +			 * the bitmap's height. BRC puts the height from the
    +			 * BITMAPINFOHEADER here instead of the cursorfile's
    +			 * height. MS doesn't seem to care...
    +			 */
    +			put_word(res, cur->height);
    +			/* FIXME: The next two are reversed in BRC and I don't
    +			 * know why. Probably a bug. But, we can safely ignore
    +			 * it because win16 does not support color cursors.
    +			 * A warning should have been generated by the parser.
    +			 */
    +			put_word(res, cur->planes);
    +			put_word(res, cur->bits);
    +			/* FIXME: The +4 is the hotspot in the cursor resource.
    +			 * However, I cound not find this in the documentation.
    +			 * The hotspot bytes must either be included or MS
    +			 * doesn't care.
    +			 */
    +			put_dword(res, cur->data->size +4);
    +			put_word(res, cur->id);
    +		}
    +	}
    +	else /* win16 */
    +	{
    +		put_word(res, 0);	/* Reserved */
    +		put_word(res, 2);	/* ResType */
    +		put_word(res, curg->ncursor);
    +#if 0
    +		for(cur = curg->cursorlist; cur; cur = cur->next)
    +#else
    +		cur = curg->cursorlist;
    +		while(cur->next)
    +			cur = cur->next;
    +		for(; cur; cur = cur->prev)
    +#endif
    +		{
    +			put_word(res, cur->width);
    +			/* FIXME: The height of a cursor is half the size of
    +			 * the bitmap's height. BRC puts the height from the
    +			 * BITMAPINFOHEADER here instead of the cursorfile's
    +			 * height. MS doesn't seem to care...
    +			 */
    +			put_word(res, cur->height);
    +			/* FIXME: The next two are reversed in BRC and I don't
    +			 * know why. Probably a bug. But, we can safely ignore
    +			 * it because win16 does not support color cursors.
    +			 * A warning should have been generated by the parser.
    +			 */
    +			put_word(res, cur->planes);
    +			put_word(res, cur->bits);
    +			/* FIXME: The +4 is the hotspot in the cursor resource.
    +			 * However, I cound not find this in the documentation.
    +			 * The hotspot bytes must either be included or MS
    +			 * doesn't care.
    +			 */
    +			put_dword(res, cur->data->size +4);
    +			put_word(res, cur->id);
    +		}
    +	}
    +	SetResSize(res, restag);	/* Set ResourceSize */
    +	if(win32)
    +		put_pad(res);
    +
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: cursor2res
    + * Syntax	: res_t *cursor2res(cursor_t *cur)
    + * Input	:
    + *	cur	- The cursor descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *cursor2res(cursor_t *cur)
    +{
    +	int restag;
    +	res_t *res;
    +	name_id_t name;
    +
    +	assert(cur != NULL);
    +
    +	res = new_res();
    +	name.type = name_ord;
    +	name.name.i_name = cur->id;
    +	restag = put_res_header(res, WRC_RT_CURSOR, NULL, &name, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, &(cur->lvc));
    +	put_word(res, cur->xhot);
    +	put_word(res, cur->yhot);
    +	put_raw_data(res, cur->data, 0);
    +
    +	SetResSize(res, restag);	/* Set ResourceSize */
    +	if(win32)
    +		put_pad(res);
    +
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: icongroup2res
    + * Syntax	: res_t *icongroup2res(name_id_t *name, icon_group_t *icog)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	icog	- The icon group descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *icongroup2res(name_id_t *name, icon_group_t *icog)
    +{
    +	int restag;
    +	res_t *res;
    +	icon_t *ico;
    +	assert(name != NULL);
    +	assert(icog != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_GROUP_ICON, NULL, name, icog->memopt, &(icog->lvc));
    +	if(win32)
    +	{
    +		put_word(res, 0);	/* Reserved */
    +		/* FIXME: The ResType in the NEWHEADER structure should
    +		 * contain 14 according to the MS win32 doc. This is
    +		 * not the case with the BRC compiler and I really doubt
    +		 * the latter. Putting one here is compliant to win16 spec,
    +		 * but who knows the true value?
    +		 */
    +		put_word(res, 1);	/* ResType */
    +		put_word(res, icog->nicon);
    +		for(ico = icog->iconlist; ico; ico = ico->next)
    +		{
    +			put_byte(res, ico->width);
    +			put_byte(res, ico->height);
    +			put_byte(res, ico->nclr);
    +			put_byte(res, 0);	/* Reserved */
    +			put_word(res, ico->planes);
    +			put_word(res, ico->bits);
    +			put_dword(res, ico->data->size);
    +			put_word(res, ico->id);
    +		}
    +	}
    +	else /* win16 */
    +	{
    +		put_word(res, 0);	/* Reserved */
    +		put_word(res, 1);	/* ResType */
    +		put_word(res, icog->nicon);
    +		for(ico = icog->iconlist; ico; ico = ico->next)
    +		{
    +			put_byte(res, ico->width);
    +			put_byte(res, ico->height);
    +			put_byte(res, ico->nclr);
    +			put_byte(res, 0);	/* Reserved */
    +			put_word(res, ico->planes);
    +			put_word(res, ico->bits);
    +			put_dword(res, ico->data->size);
    +			put_word(res, ico->id);
    +		}
    +	}
    +	SetResSize(res, restag);	/* Set ResourceSize */
    +	if(win32)
    +		put_pad(res);
    +
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: icon2res
    + * Syntax	: res_t *icon2res(icon_t *ico)
    + * Input	:
    + *	ico	- The icon descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *icon2res(icon_t *ico)
    +{
    +	int restag;
    +	res_t *res;
    +	name_id_t name;
    +
    +	assert(ico != NULL);
    +
    +	res = new_res();
    +	name.type = name_ord;
    +	name.name.i_name = ico->id;
    +	restag = put_res_header(res, WRC_RT_ICON, NULL, &name, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, &(ico->lvc));
    +	put_raw_data(res, ico->data, 0);
    +
    +	SetResSize(res, restag);	/* Set ResourceSize */
    +	if(win32)
    +		put_pad(res);
    +
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: anicurico2res
    + * Syntax	: res_t *anicurico2res(name_id_t *name, ani_curico_t *ani)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	ani	- The animated object descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	: The endian of the object's structures have been converted
    + * 		  by the loader.
    + * 		  There are rumors that win311 could handle animated stuff.
    + * 		  That is why they are generated for both win16 and win32
    + * 		  compile.
    + *****************************************************************************
    +*/
    +static res_t *anicurico2res(name_id_t *name, ani_curico_t *ani, enum res_e type)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(ani != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, type == res_anicur ? WRC_RT_ANICURSOR : WRC_RT_ANIICON,
    +				NULL, name, ani->memopt, NULL);
    +	put_raw_data(res, ani->data, 0);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: bitmap2res
    + * Syntax	: res_t *bitmap2res(name_id_t *name, bitmap_t *bmp)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	bmp	- The bitmap descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	: The endian of the bitmap structures have been converted
    + * 		  by the loader.
    + *****************************************************************************
    +*/
    +static res_t *bitmap2res(name_id_t *name, bitmap_t *bmp)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(bmp != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_BITMAP, NULL, name, bmp->memopt, &(bmp->data->lvc));
    +	if(bmp->data->data[0] == 'B'
    +	&& bmp->data->data[1] == 'M'
    +	&& ((BITMAPFILEHEADER *)bmp->data->data)->bfSize == bmp->data->size
    +	&& bmp->data->size >= sizeof(BITMAPFILEHEADER))
    +	{
    +		/* The File header is still attached, don't write it */
    +		put_raw_data(res, bmp->data, sizeof(BITMAPFILEHEADER));
    +	}
    +	else
    +	{
    +		put_raw_data(res, bmp->data, 0);
    +	}
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: font2res
    + * Syntax	: res_t *font2res(name_id_t *name, font_t *fnt)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	fnt	- The font descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	: The data has been prepared just after parsing.
    + *****************************************************************************
    +*/
    +static res_t *font2res(name_id_t *name, font_t *fnt)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(fnt != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_FONT, NULL, name, fnt->memopt, &(fnt->data->lvc));
    +	put_raw_data(res, fnt->data, 0);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: fontdir2res
    + * Syntax	: res_t *fontdir2res(name_id_t *name, fontdir_t *fnd)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	fntdir	- The fontdir descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	: The data has been prepared just after parsing.
    + *****************************************************************************
    +*/
    +static res_t *fontdir2res(name_id_t *name, fontdir_t *fnd)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(fnd != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_FONTDIR, NULL, name, fnd->memopt, &(fnd->data->lvc));
    +	put_raw_data(res, fnd->data, 0);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: rcdata2res
    + * Syntax	: res_t *rcdata2res(name_id_t *name, rcdata_t *rdt)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	rdt	- The rcdata descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *rcdata2res(name_id_t *name, rcdata_t *rdt)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(rdt != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_RCDATA, NULL, name, rdt->memopt, &(rdt->data->lvc));
    +	put_raw_data(res, rdt->data, 0);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: messagetable2res
    + * Syntax	: res_t *messagetable2res(name_id_t *name, messagetable_t *msg)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	msg	- The messagetable descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	: The data has been converted to the appropriate endian
    + *		  after is was parsed.
    + *****************************************************************************
    +*/
    +static res_t *messagetable2res(name_id_t *name, messagetable_t *msg)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(msg != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_MESSAGETABLE, NULL, name, msg->memopt, &(msg->data->lvc));
    +	put_raw_data(res, msg->data, 0);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: stringtable2res
    + * Syntax	: res_t *stringtable2res(stringtable_t *stt)
    + * Input	:
    + *	stt	- The stringtable descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *stringtable2res(stringtable_t *stt)
    +{
    +	res_t *res;
    +	name_id_t name;
    +	int i;
    +	int restag;
    +	DWORD lastsize = 0;
    +
    +	assert(stt != NULL);
    +	res = new_res();
    +
    +	for(; stt; stt = stt->next)
    +	{
    +		if(!stt->nentries)
    +		{
    +			warning("Empty internal stringtable");
    +			continue;
    +		}
    +		name.type = name_ord;
    +		name.name.i_name = (stt->idbase >> 4) + 1;
    +		restag = put_res_header(res, WRC_RT_STRING, NULL, &name, stt->memopt, win32 ? &(stt->lvc) : NULL);
    +		for(i = 0; i < stt->nentries; i++)
    +		{
    +			if(stt->entries[i].str && stt->entries[i].str->size)
    +			{
    +				put_string(res, stt->entries[i].str, win32 ? str_unicode : str_char,
    +                                           FALSE, win32 ? stt->lvc.language : NULL);
    +			}
    +			else
    +			{
    +				if (win32)
    +					put_word(res, 0);
    +				else
    +					put_byte(res, 0);
    +			}
    +		}
    +		/* Set ResourceSize */
    +		SetResSize(res, restag - lastsize);
    +		if(win32)
    +			put_pad(res);
    +		lastsize = res->size;
    +	}
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: user2res
    + * Syntax	: res_t *user2res(name_id_t *name, user_t *usr)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	usr	- The userresource descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *user2res(name_id_t *name, user_t *usr)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(usr != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, 0, usr->type, name, usr->memopt, &(usr->data->lvc));
    +	put_raw_data(res, usr->data, 0);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: versionblock2res
    + * Syntax	: void versionblock2res(res_t *res, ver_block_t *blk)
    + * Input	:
    + *	res	- Binary resource to write to
    + *	blk	- The version block to be written
    + * Output	:
    + * Description	:
    + * Remarks	: Self recursive
    + *****************************************************************************
    +*/
    +static void versionblock2res(res_t *res, ver_block_t *blk, int level, const language_t *lang)
    +{
    +	ver_value_t *val;
    +	int blksizetag;
    +	int valblksizetag;
    +	int valvalsizetag;
    +	int tag;
    +	int i;
    +
    +	blksizetag = res->size;
    +	put_word(res, 0);	/* Will be overwritten later */
    +	put_word(res, 0);
    +	if(win32)
    +		put_word(res, 0);	/* level ? */
    +	put_string(res, blk->name, win32 ? str_unicode : str_char, TRUE, lang);
    +	put_pad(res);
    +	for(val = blk->values; val; val = val->next)
    +	{
    +		if(val->type == val_str)
    +		{
    +			valblksizetag = res->size;
    +			put_word(res, 0);	/* Will be overwritten later */
    +			valvalsizetag = res->size;
    +			put_word(res, 0);	/* Will be overwritten later */
    +			if(win32)
    +			{
    +				put_word(res, level);
    +			}
    +			put_string(res, val->key, win32 ? str_unicode : str_char, TRUE, lang);
    +			put_pad(res);
    +			tag = res->size;
    +			put_string(res, val->value.str, win32 ? str_unicode : str_char, TRUE, lang);
    +			if(win32)
    +				set_word(res, valvalsizetag, (WORD)((res->size - tag) >> 1));
    +			else
    +				set_word(res, valvalsizetag, (WORD)(res->size - tag));
    +			set_word(res, valblksizetag, (WORD)(res->size - valblksizetag));
    +			put_pad(res);
    +		}
    +		else if(val->type == val_words)
    +		{
    +			valblksizetag = res->size;
    +			put_word(res, 0);	/* Will be overwritten later */
    +			valvalsizetag = res->size;
    +			put_word(res, 0);	/* Will be overwritten later */
    +			if(win32)
    +			{
    +				put_word(res, level);
    +			}
    +			put_string(res, val->key, win32 ? str_unicode : str_char, TRUE, lang);
    +			put_pad(res);
    +			tag = res->size;
    +			for(i = 0; i < val->value.words->nwords; i++)
    +			{
    +				put_word(res, val->value.words->words[i]);
    +			}
    +			set_word(res, valvalsizetag, (WORD)(res->size - tag));
    +			set_word(res, valblksizetag, (WORD)(res->size - valblksizetag));
    +			put_pad(res);
    +		}
    +		else if(val->type == val_block)
    +		{
    +			versionblock2res(res, val->value.block, level+1, lang);
    +		}
    +		else
    +		{
    +			internal_error(__FILE__, __LINE__, "Invalid value indicator %d in VERSIONINFO", val->type);
    +		}
    +	}
    +
    +	/* Set blocksize */
    +	set_word(res, blksizetag, (WORD)(res->size - blksizetag));
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: versioninfo2res
    + * Syntax	: res_t *versioninfo2res(name_id_t *name, versioninfo_t *ver)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	ver	- The versioninfo descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *versioninfo2res(name_id_t *name, versioninfo_t *ver)
    +{
    +	int restag;
    +	int rootblocksizetag;
    +	int valsizetag;
    +	int tag;
    +	res_t *res;
    +	string_t vsvi;
    +	ver_block_t *blk;
    +
    +	assert(name != NULL);
    +	assert(ver != NULL);
    +
    +	vsvi.type = str_char;
    +	vsvi.str.cstr = xstrdup("VS_VERSION_INFO");
    +	vsvi.size = 15; /* Excl. termination */
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_VERSION, NULL, name, ver->memopt, &(ver->lvc));
    +	rootblocksizetag = res->size;
    +	put_word(res, 0);	/* BlockSize filled in later */
    +	valsizetag = res->size;
    +	put_word(res, 0);	/* ValueSize filled in later*/
    +	if(win32)
    +		put_word(res, 0);	/* Tree-level ? */
    +	put_string(res, &vsvi, win32 ? str_unicode : str_char,
    +                   TRUE, win32 ? ver->lvc.language : NULL);
    +	if(win32)
    +		put_pad(res);
    +	tag = res->size;
    +	put_dword(res, VS_FFI_SIGNATURE);
    +	put_dword(res, VS_FFI_STRUCVERSION);
    +	put_dword(res, (ver->filever_maj1 << 16) + (ver->filever_maj2 & 0xffff));
    +	put_dword(res, (ver->filever_min1 << 16) + (ver->filever_min2 & 0xffff));
    +	put_dword(res, (ver->prodver_maj1 << 16) + (ver->prodver_maj2 & 0xffff));
    +	put_dword(res, (ver->prodver_min1 << 16) + (ver->prodver_min2 & 0xffff));
    +	put_dword(res, ver->fileflagsmask);
    +	put_dword(res, ver->fileflags);
    +	put_dword(res, ver->fileos);
    +	put_dword(res, ver->filetype);
    +	put_dword(res, ver->filesubtype);
    +	put_dword(res, 0);		/* FileDateMS */
    +	put_dword(res, 0);		/* FileDateLS */
    +	/* Set ValueSize */
    +	set_word(res, valsizetag, (WORD)(res->size - tag));
    +	/* Descend into the blocks */
    +	for(blk = ver->blocks; blk; blk = blk->next)
    +		versionblock2res(res, blk, 0, win32 ? ver->lvc.language : NULL);
    +	/* Set root block's size */
    +	set_word(res, rootblocksizetag, (WORD)(res->size - rootblocksizetag));
    +
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +
    +	free(vsvi.str.cstr);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: toolbaritem2res
    + * Syntax	: void toolbaritem2res(res_t *res, toolbar_item_t *tbitem)
    + * Input	:
    + * Output	: nop
    + * Description	:
    + * Remarks	: Self recursive
    + *****************************************************************************
    +*/
    +static void toolbaritem2res(res_t *res, toolbar_item_t *tbitem)
    +{
    +	toolbar_item_t *itm = tbitem;
    +	assert(win32 != 0);
    +	while(itm)
    +	{
    +		put_word(res, itm->id);
    +		itm = itm->next;
    +	}
    +
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: toolbar2res
    + * Syntax	: res_t *toolbar2res(name_id_t *name, toolbar_t *toolbar)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	toolbar	- The toolbar descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *toolbar2res(name_id_t *name, toolbar_t *toolbar)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(toolbar != NULL);
    +
    +	res = new_res();
    +	if(win32)
    +	{
    +		restag = put_res_header(res, WRC_RT_TOOLBAR, NULL, name, toolbar->memopt, &(toolbar->lvc));
    +
    +		put_word(res, 1);		/* Menuheader: Version */
    +		put_word(res, toolbar->button_width); /* (in pixels?) */
    +		put_word(res, toolbar->button_height); /* (in pixels?) */
    +		put_word(res, toolbar->nitems);
    +		put_pad(res);
    +		toolbaritem2res(res, toolbar->items);
    +		/* Set ResourceSize */
    +		SetResSize(res, restag);
    +		put_pad(res);
    +	}
    +	else /* win16 */
    +	{
    +		/* Do not generate anything in 16-bit mode */
    +		free(res->data);
    +		free(res);
    +		return NULL;
    +	}
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: dlginit2res
    + * Syntax	: res_t *dlginit2res(name_id_t *name, dlginit_t *dit)
    + * Input	:
    + *	name	- Name/ordinal of the resource
    + *	rdt	- The dlginit descriptor
    + * Output	: New .res format structure
    + * Description	:
    + * Remarks	:
    + *****************************************************************************
    +*/
    +static res_t *dlginit2res(name_id_t *name, dlginit_t *dit)
    +{
    +	int restag;
    +	res_t *res;
    +	assert(name != NULL);
    +	assert(dit != NULL);
    +
    +	res = new_res();
    +	restag = put_res_header(res, WRC_RT_DLGINIT, NULL, name, dit->memopt, &(dit->data->lvc));
    +	put_raw_data(res, dit->data, 0);
    +	/* Set ResourceSize */
    +	SetResSize(res, restag);
    +	if(win32)
    +		put_pad(res);
    +	return res;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: prep_nid_for_label
    + * Syntax	: char *prep_nid_for_label(const name_id_t *nid)
    + * Input	:
    + * Output	:
    + * Description	: Converts a resource name into the first 32 (or less)
    + *		  characters of the name with conversions.
    + * Remarks	:
    + *****************************************************************************
    +*/
    +#define MAXNAMELEN	32
    +char *prep_nid_for_label(const name_id_t *nid)
    +{
    +	static char buf[MAXNAMELEN+1];
    +
    +	assert(nid != NULL);
    +
    +	if(nid->type == name_str && nid->name.s_name->type == str_unicode)
    +	{
    +		short *sptr;
    +		int i;
    +		sptr = nid->name.s_name->str.wstr;
    +		buf[0] = '\0';
    +		for(i = 0; *sptr && i < MAXNAMELEN; i++)
    +		{
    +			if((unsigned)*sptr < 0x80 && isprint(*sptr & 0xff))
    +				buf[i] = *sptr++;
    +			else
    +				warning("Resourcename (str_unicode) contain unprintable characters or invalid translation, ignored");
    +		}
    +		buf[i] = '\0';
    +	}
    +	else if(nid->type == name_str && nid->name.s_name->type == str_char)
    +	{
    +		char *cptr;
    +		int i;
    +		cptr = nid->name.s_name->str.cstr;
    +		buf[0] = '\0';
    +		for(i = 0; *cptr && i < MAXNAMELEN; i++)
    +		{
    +			if((unsigned)*cptr < 0x80 && isprint(*cptr & 0xff))
    +				buf[i] = *cptr++;
    +			else
    +				warning("Resourcename (str_char) contain unprintable characters, ignored");
    +		}
    +		buf[i] = '\0';
    +	}
    +	else if(nid->type == name_ord)
    +	{
    +		sprintf(buf, "%u", nid->name.i_name);
    +	}
    +	else
    +	{
    +		internal_error(__FILE__, __LINE__, "Resource name_id with invalid type %d", nid->type);
    +	}
    +	return buf;
    +}
    +#undef MAXNAMELEN
    +
    +/*
    + *****************************************************************************
    + * Function	: make_c_name
    + * Syntax	: char *make_c_name(const char *base, const name_id_t *nid, const language_t *lan)
    + * Input	:
    + * Output	:
    + * Description	: Converts a resource name into a valid c-identifier in the
    + *		  form "_base_nid".
    + * Remarks	:
    + *****************************************************************************
    +*/
    +char *make_c_name(const char *base, const name_id_t *nid, const language_t *lan)
    +{
    +	int nlen;
    +	char *buf;
    +	char *ret;
    +	char lanbuf[6];
    +
    +	sprintf(lanbuf, "%d", lan ? MAKELANGID(lan->id, lan->sub) : 0);
    +	buf = prep_nid_for_label(nid);
    +	nlen = strlen(buf) + strlen(lanbuf);
    +	nlen += strlen(base) + 4; /* three time '_' and '\0' */
    +	ret = (char *)xmalloc(nlen);
    +	strcpy(ret, "_");
    +	strcat(ret, base);
    +	strcat(ret, "_");
    +	strcat(ret, buf);
    +	strcat(ret, "_");
    +	strcat(ret, lanbuf);
    +	return ret;
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: get_c_typename
    + * Syntax	: const char *get_c_typename(enum res_e type)
    + * Input	:
    + * Output	:
    + * Description	: Convert resource enum to char string to be used in c-name
    + *		  creation.
    + * Remarks	:
    + *****************************************************************************
    +*/
    +const char *get_c_typename(enum res_e type)
    +{
    +	switch(type)
    +	{
    +	case res_acc:	return "Acc";
    +	case res_anicur:return "AniCur";
    +	case res_aniico:return "AniIco";
    +	case res_bmp:	return "Bmp";
    +	case res_cur:	return "Cur";
    +	case res_curg:	return "CurGrp";
    +	case res_dlg:
    +	case res_dlgex:	return "Dlg";
    +	case res_fnt:	return "Fnt";
    +	case res_fntdir:return "FntDir";
    +	case res_ico:	return "Ico";
    +	case res_icog:	return "IcoGrp";
    +	case res_men:
    +	case res_menex:	return "Men";
    +	case res_rdt:	return "RCDat";
    +	case res_stt:	return "StrTab";
    +	case res_usr:	return "Usr";
    +	case res_msg:	return "MsgTab";
    +	case res_ver:	return "VerInf";
    +	case res_toolbar:	return "TlBr";
    +	case res_dlginit: return "DlgInit";
    +	default:	return "Oops";
    +	}
    +}
    +
    +/*
    + *****************************************************************************
    + * Function	: resources2res
    + * Syntax	: void resources2res(resource_t *top)
    + * Input	:
    + *	top	- The resource-tree to convert
    + * Output	:
    + * Description	: Convert logical resource descriptors into binary data
    + * Remarks	:
    + *****************************************************************************
    +*/
    +void resources2res(resource_t *top)
    +{
    +	while(top)
    +	{
    +		switch(top->type)
    +		{
    +		case res_acc:
    +			if(!top->binres)
    +				top->binres = accelerator2res(top->name, top->res.acc);
    +			break;
    +		case res_bmp:
    +			if(!top->binres)
    +				top->binres = bitmap2res(top->name, top->res.bmp);
    +			break;
    +		case res_cur:
    +			if(!top->binres)
    +				top->binres = cursor2res(top->res.cur);
    +			break;
    +		case res_curg:
    +			if(!top->binres)
    +				top->binres = cursorgroup2res(top->name, top->res.curg);
    +			break;
    +		case res_dlg:
    +			if(!top->binres)
    +				top->binres = dialog2res(top->name, top->res.dlg);
    +			break;
    +		case res_dlgex:
    +			if(!top->binres)
    +				top->binres = dialogex2res(top->name, top->res.dlgex);
    +			break;
    +		case res_fnt:
    +			if(!top->binres)
    +				top->binres = font2res(top->name, top->res.fnt);
    +			break;
    +		case res_fntdir:
    +			if(!top->binres)
    +				top->binres = fontdir2res(top->name, top->res.fnd);
    +			break;
    +		case res_ico:
    +			if(!top->binres)
    +				top->binres = icon2res(top->res.ico);
    +			break;
    +		case res_icog:
    +			if(!top->binres)
    +				top->binres = icongroup2res(top->name, top->res.icog);
    +			break;
    +		case res_men:
    +			if(!top->binres)
    +				top->binres = menu2res(top->name, top->res.men);
    +			break;
    +		case res_menex:
    +			if(!top->binres)
    +				top->binres = menuex2res(top->name, top->res.menex);
    +			break;
    +		case res_rdt:
    +			if(!top->binres)
    +				top->binres = rcdata2res(top->name, top->res.rdt);
    +			break;
    +		case res_stt:
    +			if(!top->binres)
    +				top->binres = stringtable2res(top->res.stt);
    +			break;
    +		case res_usr:
    +			if(!top->binres)
    +				top->binres = user2res(top->name, top->res.usr);
    +			break;
    +		case res_msg:
    +			if(!top->binres)
    +				top->binres = messagetable2res(top->name, top->res.msg);
    +			break;
    +		case res_ver:
    +			if(!top->binres)
    +				top->binres = versioninfo2res(top->name, top->res.ver);
    +			break;
    +		case res_toolbar:
    +			if(!top->binres)
    +				top->binres = toolbar2res(top->name, top->res.tbt);
    +			break;
    +		case res_dlginit:
    +			if(!top->binres)
    +			    top->binres = dlginit2res(top->name, top->res.dlgi);
    +			break;
    +		case res_anicur:
    +		case res_aniico:
    +			if(!top->binres)
    +			    top->binres = anicurico2res(top->name, top->res.ani, top->type);
    +			break;
    +		default:
    +			internal_error(__FILE__, __LINE__, "Unknown resource type encountered %d in binary res generation", top->type);
    +		}
    +		top->c_name = make_c_name(get_c_typename(top->type), top->name, top->lan);
    +		top = top->next;
    +	}
    +}
    diff --git a/reactos/tools/wrc/genres.h b/reactos/tools/wrc/genres.h
    new file mode 100644
    index 00000000000..5feb83a3fa1
    --- /dev/null
    +++ b/reactos/tools/wrc/genres.h
    @@ -0,0 +1,36 @@
    +/*
    + * Generate resource prototypes
    + *
    + * Copyright 1998 Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WRC_GENRES_H
    +#define __WRC_GENRES_H
    +
    +#include "wrctypes.h"
    +
    +res_t *new_res(void);
    +res_t *grow_res(res_t *r, int add);
    +void put_byte(res_t *res, unsigned c);
    +void put_word(res_t *res, unsigned w);
    +void put_dword(res_t *res, unsigned d);
    +void resources2res(resource_t *top);
    +const char *get_c_typename(enum res_e type);
    +char *make_c_name(const char *base, const name_id_t *nid, const language_t *lan);
    +char *prep_nid_for_label(const name_id_t *nid);
    +
    +#endif
    diff --git a/reactos/tools/wrc/lex.yy.c b/reactos/tools/wrc/lex.yy.c
    new file mode 100644
    index 00000000000..9b2a62725ca
    --- /dev/null
    +++ b/reactos/tools/wrc/lex.yy.c
    @@ -0,0 +1,9072 @@
    +/* A lexical scanner generated by flex */
    +
    +/* Scanner skeleton version:
    + * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
    + */
    +
    +#define FLEX_SCANNER
    +#define YY_FLEX_MAJOR_VERSION 2
    +#define YY_FLEX_MINOR_VERSION 5
    +
    +#include 
    +#include 
    +
    +/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
    +#ifdef c_plusplus
    +#ifndef __cplusplus
    +#define __cplusplus
    +#endif
    +#endif
    +
    +
    +#ifdef __cplusplus
    +
    +#include 
    +#ifndef _WIN32
    +#include 
    +#endif
    +
    +/* Use prototypes in function declarations. */
    +#define YY_USE_PROTOS
    +
    +/* The "const" storage-class-modifier is valid. */
    +#define YY_USE_CONST
    +
    +#else	/* ! __cplusplus */
    +
    +#if __STDC__
    +
    +#define YY_USE_PROTOS
    +#define YY_USE_CONST
    +
    +#endif	/* __STDC__ */
    +#endif	/* ! __cplusplus */
    +
    +#ifdef __TURBOC__
    + #pragma warn -rch
    + #pragma warn -use
    +#include 
    +#include 
    +#define YY_USE_CONST
    +#define YY_USE_PROTOS
    +#endif
    +
    +#ifdef YY_USE_CONST
    +#define yyconst const
    +#else
    +#define yyconst
    +#endif
    +
    +
    +#ifdef YY_USE_PROTOS
    +#define YY_PROTO(proto) proto
    +#else
    +#define YY_PROTO(proto) ()
    +#endif
    +
    +
    +/* Returned upon end-of-file. */
    +#define YY_NULL 0
    +
    +/* Promotes a possibly negative, possibly signed char to an unsigned
    + * integer for use as an array index.  If the signed char is negative,
    + * we want to instead treat it as an 8-bit unsigned char, hence the
    + * double cast.
    + */
    +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
    +
    +/* Enter a start condition.  This macro really ought to take a parameter,
    + * but we do it the disgusting crufty way forced on us by the ()-less
    + * definition of BEGIN.
    + */
    +#define BEGIN yy_start = 1 + 2 *
    +
    +/* Translate the current start state into a value that can be later handed
    + * to BEGIN to return to the state.  The YYSTATE alias is for lex
    + * compatibility.
    + */
    +#define YY_START ((yy_start - 1) / 2)
    +#define YYSTATE YY_START
    +
    +/* Action number for EOF rule of a given start state. */
    +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
    +
    +/* Special action meaning "start processing a new file". */
    +#define YY_NEW_FILE yyrestart( yyin )
    +
    +#define YY_END_OF_BUFFER_CHAR 0
    +
    +/* Size of default input buffer. */
    +#define YY_BUF_SIZE 16384
    +
    +typedef struct yy_buffer_state *YY_BUFFER_STATE;
    +
    +extern int yyleng;
    +extern FILE *yyin, *yyout;
    +
    +#define EOB_ACT_CONTINUE_SCAN 0
    +#define EOB_ACT_END_OF_FILE 1
    +#define EOB_ACT_LAST_MATCH 2
    +
    +/* The funky do-while in the following #define is used to turn the definition
    + * int a single C statement (which needs a semi-colon terminator).  This
    + * avoids problems with code like:
    + *
    + * 	if ( condition_holds )
    + *		yyless( 5 );
    + *	else
    + *		do_something_else();
    + *
    + * Prior to using the do-while the compiler would get upset at the
    + * "else" because it interpreted the "if" statement as being all
    + * done when it reached the ';' after the yyless() call.
    + */
    +
    +/* Return all but the first 'n' matched characters back to the input stream. */
    +
    +#define yyless(n) \
    +	do \
    +		{ \
    +		/* Undo effects of setting up yytext. */ \
    +		*yy_cp = yy_hold_char; \
    +		YY_RESTORE_YY_MORE_OFFSET \
    +		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
    +		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
    +		} \
    +	while ( 0 )
    +
    +#define unput(c) yyunput( c, yytext_ptr )
    +
    +/* The following is because we cannot portably get our hands on size_t
    + * (without autoconf's help, which isn't available because we want
    + * flex-generated scanners to compile on their own).
    + */
    +typedef unsigned int yy_size_t;
    +
    +
    +struct yy_buffer_state
    +	{
    +	FILE *yy_input_file;
    +
    +	char *yy_ch_buf;		/* input buffer */
    +	char *yy_buf_pos;		/* current position in input buffer */
    +
    +	/* Size of input buffer in bytes, not including room for EOB
    +	 * characters.
    +	 */
    +	yy_size_t yy_buf_size;
    +
    +	/* Number of characters read into yy_ch_buf, not including EOB
    +	 * characters.
    +	 */
    +	int yy_n_chars;
    +
    +	/* Whether we "own" the buffer - i.e., we know we created it,
    +	 * and can realloc() it to grow it, and should free() it to
    +	 * delete it.
    +	 */
    +	int yy_is_our_buffer;
    +
    +	/* Whether this is an "interactive" input source; if so, and
    +	 * if we're using stdio for input, then we want to use getc()
    +	 * instead of fread(), to make sure we stop fetching input after
    +	 * each newline.
    +	 */
    +	int yy_is_interactive;
    +
    +	/* Whether we're considered to be at the beginning of a line.
    +	 * If so, '^' rules will be active on the next match, otherwise
    +	 * not.
    +	 */
    +	int yy_at_bol;
    +
    +	/* Whether to try to fill the input buffer when we reach the
    +	 * end of it.
    +	 */
    +	int yy_fill_buffer;
    +
    +	int yy_buffer_status;
    +#define YY_BUFFER_NEW 0
    +#define YY_BUFFER_NORMAL 1
    +	/* When an EOF's been seen but there's still some text to process
    +	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
    +	 * shouldn't try reading from the input source any more.  We might
    +	 * still have a bunch of tokens to match, though, because of
    +	 * possible backing-up.
    +	 *
    +	 * When we actually see the EOF, we change the status to "new"
    +	 * (via yyrestart()), so that the user can continue scanning by
    +	 * just pointing yyin at a new input file.
    +	 */
    +#define YY_BUFFER_EOF_PENDING 2
    +	};
    +
    +static YY_BUFFER_STATE yy_current_buffer = 0;
    +
    +/* We provide macros for accessing buffer states in case in the
    + * future we want to put the buffer states in a more general
    + * "scanner state".
    + */
    +#define YY_CURRENT_BUFFER yy_current_buffer
    +
    +
    +/* yy_hold_char holds the character lost when yytext is formed. */
    +static char yy_hold_char;
    +
    +static int yy_n_chars;		/* number of characters read into yy_ch_buf */
    +
    +
    +int yyleng;
    +
    +/* Points to current character in buffer. */
    +static char *yy_c_buf_p = (char *) 0;
    +static int yy_init = 1;		/* whether we need to initialize */
    +static int yy_start = 0;	/* start state number */
    +
    +/* Flag which is used to allow yywrap()'s to do buffer switches
    + * instead of setting up a fresh yyin.  A bit of a hack ...
    + */
    +static int yy_did_buffer_switch_on_eof;
    +
    +void yyrestart YY_PROTO(( FILE *input_file ));
    +
    +void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
    +void yy_load_buffer_state YY_PROTO(( void ));
    +YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
    +void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
    +void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
    +void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
    +#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
    +
    +YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
    +YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
    +YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
    +
    +static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
    +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
    +static void yy_flex_free YY_PROTO(( void * ));
    +
    +#define yy_new_buffer yy_create_buffer
    +
    +#define yy_set_interactive(is_interactive) \
    +	{ \
    +	if ( ! yy_current_buffer ) \
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
    +	yy_current_buffer->yy_is_interactive = is_interactive; \
    +	}
    +
    +#define yy_set_bol(at_bol) \
    +	{ \
    +	if ( ! yy_current_buffer ) \
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
    +	yy_current_buffer->yy_at_bol = at_bol; \
    +	}
    +
    +#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
    +
    +
    +#define FLEX_DEBUG
    +typedef unsigned char YY_CHAR;
    +FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
    +typedef int yy_state_type;
    +
    +#define FLEX_DEBUG
    +extern char *yytext;
    +#define yytext_ptr yytext
    +static yyconst short yy_nxt[][256] =
    +    {
    +    {
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0
    +    },
    +
    +    {
    +       25,   26,   26,   26,   26,   26,   26,   26,   26,   27,
    +       28,   26,   27,   27,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   27,   26,   29,   26,   26,   26,   26,   30,
    +
    +       26,   26,   26,   26,   26,   26,   31,   32,   33,   34,
    +       34,   34,   34,   34,   34,   34,   34,   34,   26,   35,
    +       26,   26,   26,   26,   26,   36,   36,   36,   36,   36,
    +       36,   36,   36,   36,   36,   36,   37,   36,   36,   36,
    +       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
    +       36,   26,   31,   26,   26,   36,   26,   36,   36,   36,
    +       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
    +       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
    +       36,   36,   36,   38,   26,   39,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26
    +    },
    +
    +    {
    +       25,   26,   26,   26,   26,   26,   26,   26,   26,   40,
    +       28,   26,   40,   40,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   40,   26,   29,   41,   26,   26,   26,   30,
    +       26,   26,   26,   26,   26,   26,   31,   32,   33,   34,
    +       34,   34,   34,   34,   34,   34,   34,   34,   26,   35,
    +       26,   26,   26,   26,   26,   36,   36,   36,   36,   36,
    +       36,   36,   36,   36,   36,   36,   37,   36,   36,   36,
    +
    +       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
    +       36,   26,   31,   26,   26,   36,   26,   36,   36,   36,
    +       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
    +       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
    +       36,   36,   36,   38,   26,   39,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
    +       26,   26,   26,   26,   26,   26
    +    },
    +
    +    {
    +       25,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       43,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   44,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   45,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42
    +    },
    +
    +    {
    +       25,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       43,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   44,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   45,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
    +       42,   42,   42,   42,   42,   42
    +
    +    },
    +
    +    {
    +       25,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       47,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   48,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   49,   46,   46,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46
    +    },
    +
    +    {
    +       25,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       47,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   48,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   49,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +
    +       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
    +       46,   46,   46,   46,   46,   46
    +    },
    +
    +    {
    +       25,   50,   50,   50,   50,   50,   50,   50,   50,   51,
    +       52,   50,   51,   51,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   51,   50,   50,   50,   50,   50,   50,   53,
    +       50,   50,   50,   50,   50,   50,   50,   50,   54,   54,
    +       54,   54,   54,   54,   54,   54,   54,   54,   50,   50,
    +       50,   50,   50,   50,   50,   54,   54,   54,   54,   54,
    +       54,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   54,   54,   54,
    +       54,   54,   54,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50
    +    },
    +
    +    {
    +       25,   50,   50,   50,   50,   50,   50,   50,   50,   51,
    +       52,   50,   51,   51,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   51,   50,   50,   50,   50,   50,   50,   53,
    +       50,   50,   50,   50,   50,   50,   50,   50,   54,   54,
    +       54,   54,   54,   54,   54,   54,   54,   54,   50,   50,
    +       50,   50,   50,   50,   50,   54,   54,   54,   54,   54,
    +       54,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   54,   54,   54,
    +       54,   54,   54,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    +       50,   50,   50,   50,   50,   50
    +    },
    +
    +    {
    +       25,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       56,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   57,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55
    +
    +    },
    +
    +    {
    +       25,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       56,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   57,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    +       55,   55,   55,   55,   55,   55
    +    },
    +
    +    {
    +       25,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58
    +    },
    +
    +    {
    +       25,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58,   58,   58,   58,   58,
    +       58,   58,   58,   58,   58,   58
    +    },
    +
    +    {
    +       25,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       60,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   58,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   61,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   62,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +
    +       59,   59,   59,   63,   59,   64,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59
    +    },
    +
    +    {
    +       25,   59,   59,   59,   59,   59,   59,   59,   59,   65,
    +       60,   59,   65,   65,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   65,   59,   59,   66,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   61,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   62,
    +
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   63,   59,   64,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
    +       59,   59,   59,   59,   59,   59
    +
    +    },
    +
    +    {
    +       25,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       68,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   58,   67,   67,   67,   67,
    +       69,   70,   67,   67,   67,   67,   67,   71,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   58,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67
    +    },
    +
    +    {
    +       25,   67,   67,   67,   67,   67,   67,   67,   67,   72,
    +       68,   67,   72,   72,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   72,   67,   67,   66,   67,   67,   67,   67,
    +
    +       69,   70,   67,   67,   67,   67,   67,   71,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   58,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +
    +       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
    +       67,   67,   67,   67,   67,   67
    +    },
    +
    +    {
    +       25,   73,   73,   73,   73,   73,   73,   73,   73,   74,
    +       75,   73,   74,   74,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   74,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   76,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73
    +    },
    +
    +    {
    +       25,   73,   73,   73,   73,   73,   73,   73,   73,   74,
    +       75,   73,   74,   74,   73,   73,   73,   73,   73,   73,
    +
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   74,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   76,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    +       73,   73,   73,   73,   73,   73
    +    },
    +
    +    {
    +       25,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       58,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77
    +
    +    },
    +
    +    {
    +       25,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       58,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
    +       77,   77,   77,   77,   77,   77
    +    },
    +
    +    {
    +       25,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       58,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   79,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78
    +    },
    +
    +    {
    +       25,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       58,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   79,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
    +       78,   78,   78,   78,   78,   78
    +    },
    +
    +    {
    +       25,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       58,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       81,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80
    +    },
    +
    +    {
    +       25,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       58,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       81,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
    +       80,   80,   80,   80,   80,   80
    +
    +    },
    +
    +    {
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
    +      -25,  -25,  -25,  -25,  -25,  -25
    +    },
    +
    +    {
    +       25,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +
    +      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
    +      -26,  -26,  -26,  -26,  -26,  -26
    +    },
    +
    +    {
    +       25,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,   82,
    +      -27,  -27,   82,   82,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,   82,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
    +      -27,  -27,  -27,  -27,  -27,  -27
    +    },
    +
    +    {
    +       25,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
    +      -28,  -28,  -28,  -28,  -28,  -28
    +    },
    +
    +    {
    +       25,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
    +      -29,  -29,  -29,  -29,  -29,  -29
    +
    +    },
    +
    +    {
    +       25,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
    +      -30,  -30,  -30,  -30,  -30,  -30
    +    },
    +
    +    {
    +       25,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +
    +      -31,  -31,  -31,  -31,  -31,  -31,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,  -31,   83,  -31,  -31,   83,  -31,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +
    +      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
    +      -31,  -31,  -31,  -31,  -31,  -31
    +    },
    +
    +    {
    +       25,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,   84,  -32,  -32,  -32,   83,   85,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,  -32,   83,  -32,  -32,   83,  -32,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
    +      -32,  -32,  -32,  -32,  -32,  -32
    +    },
    +
    +    {
    +       25,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,   83,   83,   86,   86,
    +       86,   86,   86,   86,   86,   86,   86,   86,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   88,   87,   87,   89,
    +       87,   87,   87,   87,   87,   87,   87,   87,   90,   87,
    +       87,  -33,   83,  -33,  -33,   87,  -33,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   88,   87,
    +       87,   89,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       90,   87,   87,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
    +      -33,  -33,  -33,  -33,  -33,  -33
    +    },
    +
    +    {
    +       25,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,   83,   83,   86,   86,
    +       86,   86,   86,   86,   86,   86,   86,   86,  -34,  -34,
    +
    +      -34,  -34,  -34,  -34,  -34,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   88,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -34,   83,  -34,  -34,   87,  -34,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   88,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
    +      -34,  -34,  -34,  -34,  -34,  -34
    +
    +    },
    +
    +    {
    +       25,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +      -35,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91
    +    },
    +
    +    {
    +       25,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +
    +      -36,  -36,  -36,  -36,  -36,  -36,   83,   83,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -36,   83,  -36,  -36,   87,  -36,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +
    +      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
    +      -36,  -36,  -36,  -36,  -36,  -36
    +    },
    +
    +    {
    +       25,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,   92,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,   83,   83,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -37,   83,  -37,  -37,   87,  -37,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
    +      -37,  -37,  -37,  -37,  -37,  -37
    +    },
    +
    +    {
    +       25,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
    +      -38,  -38,  -38,  -38,  -38,  -38
    +    },
    +
    +    {
    +       25,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
    +      -39,  -39,  -39,  -39,  -39,  -39
    +
    +    },
    +
    +    {
    +       25,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,   93,
    +      -40,  -40,   93,   93,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,   93,  -40,  -40,   94,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
    +      -40,  -40,  -40,  -40,  -40,  -40
    +    },
    +
    +    {
    +       25,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,   95,
    +      -41,  -41,   95,   95,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,   95,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,   96,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +
    +      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
    +      -41,  -41,  -41,  -41,  -41,  -41
    +    },
    +
    +    {
    +       25,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +      -42,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,  -42,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,  -42,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97
    +    },
    +
    +    {
    +       25,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
    +      -43,  -43,  -43,  -43,  -43,  -43
    +    },
    +
    +    {
    +       25,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,   98,
    +      -44,  -44,   98,   98,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,   98,  -44,   99,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
    +      -44,  -44,  -44,  -44,  -44,  -44
    +
    +    },
    +
    +    {
    +       25,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      101,  100,  100,  102,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  103,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  104,  104,
    +      104,  104,  104,  104,  104,  104,  105,  105,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  106,  107,  100,
    +
    +      100,  100,  108,  100,  100,  100,  100,  100,  100,  100,
    +      109,  100,  100,  100,  110,  100,  111,  100,  112,  100,
    +      113,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
    +      100,  100,  100,  100,  100,  100
    +    },
    +
    +    {
    +       25,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      -46,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  -46,  114,  114,  114,  114,  114,
    +
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  -46,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114
    +    },
    +
    +    {
    +       25,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
    +      -47,  -47,  -47,  -47,  -47,  -47
    +    },
    +
    +    {
    +       25,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  115,
    +      -48,  -48,  115,  115,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  115,  -48,  116,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
    +      -48,  -48,  -48,  -48,  -48,  -48
    +    },
    +
    +    {
    +       25,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      118,  117,  117,  119,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  120,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  121,  121,
    +      121,  121,  121,  121,  121,  121,  122,  122,  117,  117,
    +
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  123,  124,  117,
    +      117,  117,  125,  117,  117,  117,  117,  117,  117,  117,
    +      126,  117,  117,  117,  127,  117,  128,  117,  129,  117,
    +      130,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    +      117,  117,  117,  117,  117,  117
    +
    +    },
    +
    +    {
    +       25,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
    +      -50,  -50,  -50,  -50,  -50,  -50
    +    },
    +
    +    {
    +       25,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  131,
    +      -51,  -51,  131,  131,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  131,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +
    +      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
    +      -51,  -51,  -51,  -51,  -51,  -51
    +    },
    +
    +    {
    +       25,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
    +      -52,  -52,  -52,  -52,  -52,  -52
    +    },
    +
    +    {
    +       25,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
    +      -53,  -53,  -53,  -53,  -53,  -53
    +    },
    +
    +    {
    +       25,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  132,  132,
    +      132,  132,  132,  132,  132,  132,  132,  132,  -54,  -54,
    +
    +      -54,  -54,  -54,  -54,  -54,  132,  132,  132,  132,  132,
    +      132,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  132,  132,  132,
    +      132,  132,  132,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
    +      -54,  -54,  -54,  -54,  -54,  -54
    +
    +    },
    +
    +    {
    +       25,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      -55,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  -55,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133
    +    },
    +
    +    {
    +       25,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +
    +      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
    +      -56,  -56,  -56,  -56,  -56,  -56
    +    },
    +
    +    {
    +       25,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      -57,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  135,  134,  134,  134,  134,  136,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134
    +    },
    +
    +    {
    +       25,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
    +      -58,  -58,  -58,  -58,  -58,  -58
    +    },
    +
    +    {
    +       25,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      -59,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  -59,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  -59,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  -59,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  -59,  137,  -59,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137
    +
    +    },
    +
    +    {
    +       25,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
    +      -60,  -60,  -60,  -60,  -60,  -60
    +    },
    +
    +    {
    +       25,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      -61,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +
    +      138,  138,   84,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +
    +      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    +      138,  138,  138,  138,  138,  138
    +    },
    +
    +    {
    +       25,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
    +      -62,  -62,  -62,  -62,  -62,  -62
    +    },
    +
    +    {
    +       25,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
    +      -63,  -63,  -63,  -63,  -63,  -63
    +    },
    +
    +    {
    +       25,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
    +      -64,  -64,  -64,  -64,  -64,  -64
    +
    +    },
    +
    +    {
    +       25,  137,  137,  137,  137,  137,  137,  137,  137,  139,
    +      -65,  137,  139,  139,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  139,  137,  137,   94,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  -65,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  -65,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  -65,  137,  -65,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137
    +    },
    +
    +    {
    +       25,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,   95,
    +      -66,  -66,   95,   95,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,   95,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,   96,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +
    +      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
    +      -66,  -66,  -66,  -66,  -66,  -66
    +    },
    +
    +    {
    +       25,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      -67,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  -67,  140,  140,  140,  140,
    +      -67,  -67,  140,  140,  140,  140,  140,  -67,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  -67,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140
    +    },
    +
    +    {
    +       25,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
    +      -68,  -68,  -68,  -68,  -68,  -68
    +    },
    +
    +    {
    +       25,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
    +      -69,  -69,  -69,  -69,  -69,  -69
    +
    +    },
    +
    +    {
    +       25,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
    +      -70,  -70,  -70,  -70,  -70,  -70
    +    },
    +
    +    {
    +       25,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      -71,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +
    +      141,  141,   84,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +
    +      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
    +      141,  141,  141,  141,  141,  141
    +    },
    +
    +    {
    +       25,  140,  140,  140,  140,  140,  140,  140,  140,  142,
    +      -72,  140,  142,  142,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  142,  140,  140,   94,  140,  140,  140,  140,
    +      -72,  -72,  140,  140,  140,  140,  140,  -72,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  -72,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140
    +    },
    +
    +    {
    +       25,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
    +      -73,  -73,  -73,  -73,  -73,  -73
    +    },
    +
    +    {
    +       25,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  143,
    +      -74,  -74,  143,  143,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  143,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
    +      -74,  -74,  -74,  -74,  -74,  -74
    +
    +    },
    +
    +    {
    +       25,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
    +      -75,  -75,  -75,  -75,  -75,  -75
    +    },
    +
    +    {
    +       25,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +
    +      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
    +      -76,  -76,  -76,  -76,  -76,  -76
    +    },
    +
    +    {
    +       25,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      -77,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      -78,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      -79,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  146,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      -80,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  148,
    +      -81,  147,  148,  148,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  148,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      150,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,   82,
    +      -82,  -82,   82,   82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,   82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
    +      -82,  -82,  -82,  -82,  -82,  -82
    +    },
    +
    +    {
    +       25,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,  -83,   83,  -83,  -83,   83,  -83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
    +
    +       83,   83,   83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
    +      -83,  -83,  -83,  -83,  -83,  -83
    +    },
    +
    +    {
    +       25,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
    +      -84,  -84,  -84,  -84,  -84,  -84
    +
    +    },
    +
    +    {
    +       25,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      -85,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  152,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  151,  151,
    +      151,  151,  151,  151,  151,  152,  152,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +      152,  151,  152,  151,  151,  152,  151,  152,  152,  152,
    +
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +      152,  152,  152,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151
    +    },
    +
    +    {
    +       25,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +
    +      -86,  -86,  -86,  -86,  -86,  -86,   83,   83,   86,   86,
    +       86,   86,   86,   86,   86,   86,   86,   86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   88,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -86,   83,  -86,  -86,   87,  -86,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   88,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +
    +      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
    +      -86,  -86,  -86,  -86,  -86,  -86
    +    },
    +
    +    {
    +       25,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,   83,   83,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -87,   83,  -87,  -87,   87,  -87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
    +      -87,  -87,  -87,  -87,  -87,  -87
    +    },
    +
    +    {
    +       25,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,   83,   83,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -88,   83,  -88,  -88,   87,  -88,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
    +      -88,  -88,  -88,  -88,  -88,  -88
    +    },
    +
    +    {
    +       25,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,   83,   83,  153,  153,
    +      153,  153,  153,  153,  153,  153,   87,   87,  -89,  -89,
    +
    +      -89,  -89,  -89,  -89,  -89,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -89,   83,  -89,  -89,   87,  -89,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
    +      -89,  -89,  -89,  -89,  -89,  -89
    +
    +    },
    +
    +    {
    +       25,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,   83,   83,  154,  154,
    +      154,  154,  154,  154,  154,  154,  154,  154,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  154,  154,  154,  154,  154,
    +      154,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,  -90,   83,  -90,  -90,   87,  -90,  154,  154,  154,
    +
    +      154,  154,  154,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
    +      -90,  -90,  -90,  -90,  -90,  -90
    +    },
    +
    +    {
    +       25,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +      -91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +
    +       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
    +       91,   91,   91,   91,   91,   91
    +    },
    +
    +    {
    +       25,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
    +      -92,  -92,  -92,  -92,  -92,  -92
    +    },
    +
    +    {
    +       25,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,   93,
    +      -93,  -93,   93,   93,  -93,  -93,  -93,  -93,  -93,  -93,
    +
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,   93,  -93,  -93,   94,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
    +      -93,  -93,  -93,  -93,  -93,  -93
    +    },
    +
    +    {
    +       25,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,   95,
    +      -94,  -94,   95,   95,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,   95,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,   96,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
    +      -94,  -94,  -94,  -94,  -94,  -94
    +
    +    },
    +
    +    {
    +       25,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,   95,
    +      -95,  -95,   95,   95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,   95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,   96,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
    +      -95,  -95,  -95,  -95,  -95,  -95
    +    },
    +
    +    {
    +       25,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  155,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +
    +      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
    +      -96,  -96,  -96,  -96,  -96,  -96
    +    },
    +
    +    {
    +       25,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +      -97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,  -97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,  -97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
    +       97,   97,   97,   97,   97,   97
    +    },
    +
    +    {
    +       25,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,   98,
    +      -98,  -98,   98,   98,  -98,  -98,  -98,  -98,  -98,  -98,
    +
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,   98,  -98,  156,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
    +      -98,  -98,  -98,  -98,  -98,  -98
    +    },
    +
    +    {
    +       25,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
    +      -99,  -99,  -99,  -99,  -99,  -99
    +
    +    },
    +
    +    {
    +       25, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +     -100, -100, -100, -100, -100, -100
    +    },
    +
    +    {
    +       25, -101, -101, -101, -101, -101, -101, -101, -101,  157,
    +     -101, -101,  157,  157, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101,  157, -101, -101, -101, -101, -101, -101, -101,
    +
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +
    +     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +     -101, -101, -101, -101, -101, -101
    +    },
    +
    +    {
    +       25, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +      158, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +     -102, -102, -102, -102, -102, -102
    +    },
    +
    +    {
    +       25, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103,  159, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +     -103, -103, -103, -103, -103, -103
    +    },
    +
    +    {
    +       25, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104,  160,  160,
    +      160,  160,  160,  160,  160,  160,  161,  161, -104, -104,
    +
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +     -104, -104, -104, -104, -104, -104
    +
    +    },
    +
    +    {
    +       25, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105,  161,  161,
    +      161,  161,  161,  161,  161,  161,  161,  161, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +     -105, -105, -105, -105, -105, -105
    +    },
    +
    +    {
    +       25, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    +     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +     -106, -106, -106, -106, -106, -106
    +    },
    +
    +    {
    +       25, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +     -107, -107, -107, -107, -107, -107
    +    },
    +
    +    {
    +       25, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +     -108, -108, -108, -108, -108, -108
    +    },
    +
    +    {
    +       25, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +     -109, -109, -109, -109, -109, -109
    +
    +    },
    +
    +    {
    +       25, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +     -110, -110, -110, -110, -110, -110
    +    },
    +
    +    {
    +       25, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    +     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +     -111, -111, -111, -111, -111, -111
    +    },
    +
    +    {
    +       25, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +     -112, -112, -112, -112, -112, -112
    +    },
    +
    +    {
    +       25, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113,  162,  162,
    +      162,  162,  162,  162,  162,  162,  162,  162, -113, -113,
    +     -113, -113, -113, -113, -113,  162,  162,  162,  162,  162,
    +      162, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113,  162,  162,  162,
    +      162,  162,  162, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +     -113, -113, -113, -113, -113, -113
    +    },
    +
    +    {
    +       25,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +     -114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114, -114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114, -114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
    +      114,  114,  114,  114,  114,  114
    +
    +    },
    +
    +    {
    +       25, -115, -115, -115, -115, -115, -115, -115, -115,  115,
    +     -115, -115,  115,  115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115,  115, -115,  163, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +     -115, -115, -115, -115, -115, -115
    +    },
    +
    +    {
    +       25, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    +     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +     -116, -116, -116, -116, -116, -116
    +    },
    +
    +    {
    +       25, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +     -117, -117, -117, -117, -117, -117
    +    },
    +
    +    {
    +       25, -118, -118, -118, -118, -118, -118, -118, -118,  164,
    +     -118, -118,  164,  164, -118, -118, -118, -118, -118, -118,
    +
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118,  164, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +     -118, -118, -118, -118, -118, -118
    +    },
    +
    +    {
    +       25, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +      165, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +     -119, -119, -119, -119, -119, -119
    +
    +    },
    +
    +    {
    +       25, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120,  166, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +     -120, -120, -120, -120, -120, -120
    +    },
    +
    +    {
    +       25, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    +     -121, -121, -121, -121, -121, -121, -121, -121,  167,  167,
    +      167,  167,  167,  167,  167,  167,  168,  168, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    +     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +     -121, -121, -121, -121, -121, -121
    +    },
    +
    +    {
    +       25, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122,  168,  168,
    +      168,  168,  168,  168,  168,  168,  168,  168, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +     -122, -122, -122, -122, -122, -122
    +    },
    +
    +    {
    +       25, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +     -123, -123, -123, -123, -123, -123
    +    },
    +
    +    {
    +       25, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +     -124, -124, -124, -124, -124, -124
    +
    +    },
    +
    +    {
    +       25, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +     -125, -125, -125, -125, -125, -125
    +    },
    +
    +    {
    +       25, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    +     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +     -126, -126, -126, -126, -126, -126
    +    },
    +
    +    {
    +       25, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +     -127, -127, -127, -127, -127, -127
    +    },
    +
    +    {
    +       25, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +     -128, -128, -128, -128, -128, -128
    +    },
    +
    +    {
    +       25, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
    +     -129, -129, -129, -129, -129, -129
    +
    +    },
    +
    +    {
    +       25, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130,  169,  169,
    +      169,  169,  169,  169,  169,  169,  169,  169, -130, -130,
    +     -130, -130, -130, -130, -130,  169,  169,  169,  169,  169,
    +      169, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130,  169,  169,  169,
    +
    +      169,  169,  169, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
    +     -130, -130, -130, -130, -130, -130
    +    },
    +
    +    {
    +       25, -131, -131, -131, -131, -131, -131, -131, -131,  131,
    +     -131, -131,  131,  131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131,  131, -131, -131, -131, -131, -131, -131, -131,
    +
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +
    +     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
    +     -131, -131, -131, -131, -131, -131
    +    },
    +
    +    {
    +       25, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
    +     -132, -132, -132, -132, -132, -132
    +    },
    +
    +    {
    +       25,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +     -133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133, -133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
    +      133,  133,  133,  133,  133,  133
    +    },
    +
    +    {
    +       25,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +     -134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134, -134,  134,  134,  134,  134, -134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134
    +
    +    },
    +
    +    {
    +       25,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +     -135,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  135,  134,  134,  134,  134,  136,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
    +      134,  134,  134,  134,  134,  134
    +    },
    +
    +    {
    +       25, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +
    +     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
    +     -136, -136, -136, -136, -136, -136
    +    },
    +
    +    {
    +       25,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +     -137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137, -137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137, -137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137, -137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137, -137,  137, -137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137
    +    },
    +
    +    {
    +       25, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
    +     -138, -138, -138, -138, -138, -138
    +    },
    +
    +    {
    +       25,  137,  137,  137,  137,  137,  137,  137,  137,  139,
    +     -139,  137,  139,  139,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  139,  137,  137,   94,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137, -139,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137, -139,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137, -139,  137, -139,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
    +      137,  137,  137,  137,  137,  137
    +
    +    },
    +
    +    {
    +       25,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +     -140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140, -140,  140,  140,  140,  140,
    +     -140, -140,  140,  140,  140,  140,  140, -140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140, -140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140
    +    },
    +
    +    {
    +       25, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +
    +     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
    +     -141, -141, -141, -141, -141, -141
    +    },
    +
    +    {
    +       25,  140,  140,  140,  140,  140,  140,  140,  140,  142,
    +     -142,  140,  142,  142,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  142,  140,  140,   94,  140,  140,  140,  140,
    +     -142, -142,  140,  140,  140,  140,  140, -142,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140, -142,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
    +      140,  140,  140,  140,  140,  140
    +    },
    +
    +    {
    +       25, -143, -143, -143, -143, -143, -143, -143, -143,  143,
    +     -143, -143,  143,  143, -143, -143, -143, -143, -143, -143,
    +
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143,  143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
    +     -143, -143, -143, -143, -143, -143
    +    },
    +
    +    {
    +       25,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +     -144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
    +      144,  144,  144,  144,  144,  144
    +
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -146,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      170,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +     -147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  148,
    +     -148,  147,  148,  148,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  148,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      150,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  171,
    +     -149,  147,  171,  171,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  171,  147,  147,  147,  147,  147,  147,  147,
    +      147,  172,  147,  147,  147,  147,  147,  147,  149,  149,
    +      149,  149,  149,  149,  149,  149,  149,  149,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +     -150,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  173,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +     -151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151
    +    },
    +
    +    {
    +       25,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +     -152,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  152,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  151,  151,
    +      151,  151,  151,  151,  151,  152,  152,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +      152,  151,  152,  151,  151,  152,  151,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +      152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
    +      152,  152,  152,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
    +      151,  151,  151,  151,  151,  151
    +    },
    +
    +    {
    +       25, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153,   83,   83,  153,  153,
    +      153,  153,  153,  153,  153,  153,   87,   87, -153, -153,
    +     -153, -153, -153, -153, -153,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,  174,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87, -153,   83, -153, -153,   87, -153,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,  174,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +
    +       87,   87,   87, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
    +     -153, -153, -153, -153, -153, -153
    +    },
    +
    +    {
    +       25, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154,   83,   83,  154,  154,
    +      154,  154,  154,  154,  154,  154,  154,  154, -154, -154,
    +
    +     -154, -154, -154, -154, -154,  154,  154,  154,  154,  154,
    +      154,   87,   87,   87,   87,   87,  175,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87, -154,   83, -154, -154,   87, -154,  154,  154,  154,
    +      154,  154,  154,   87,   87,   87,   87,   87,  175,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
    +     -154, -154, -154, -154, -154, -154
    +
    +    },
    +
    +    {
    +       25, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155,  176, -155, -155,
    +
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
    +     -155, -155, -155, -155, -155, -155
    +    },
    +
    +    {
    +       25, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +
    +     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
    +     -156, -156, -156, -156, -156, -156
    +    },
    +
    +    {
    +       25, -157, -157, -157, -157, -157, -157, -157, -157,  157,
    +     -157, -157,  157,  157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157,  157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
    +     -157, -157, -157, -157, -157, -157
    +    },
    +
    +    {
    +       25, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
    +     -158, -158, -158, -158, -158, -158
    +    },
    +
    +    {
    +       25, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
    +     -159, -159, -159, -159, -159, -159
    +
    +    },
    +
    +    {
    +       25, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160,  177,  177,
    +      177,  177,  177,  177,  177,  177,  161,  161, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
    +     -160, -160, -160, -160, -160, -160
    +    },
    +
    +    {
    +       25, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +
    +     -161, -161, -161, -161, -161, -161, -161, -161,  161,  161,
    +      161,  161,  161,  161,  161,  161,  161,  161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +
    +     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
    +     -161, -161, -161, -161, -161, -161
    +    },
    +
    +    {
    +       25, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162,  178,  178,
    +      178,  178,  178,  178,  178,  178,  178,  178, -162, -162,
    +     -162, -162, -162, -162, -162,  178,  178,  178,  178,  178,
    +      178, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162,  178,  178,  178,
    +      178,  178,  178, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
    +     -162, -162, -162, -162, -162, -162
    +    },
    +
    +    {
    +       25, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
    +     -163, -163, -163, -163, -163, -163
    +    },
    +
    +    {
    +       25, -164, -164, -164, -164, -164, -164, -164, -164,  164,
    +     -164, -164,  164,  164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164,  164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
    +     -164, -164, -164, -164, -164, -164
    +
    +    },
    +
    +    {
    +       25, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
    +     -165, -165, -165, -165, -165, -165
    +    },
    +
    +    {
    +       25, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +
    +     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
    +     -166, -166, -166, -166, -166, -166
    +    },
    +
    +    {
    +       25, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167,  179,  179,
    +      179,  179,  179,  179,  179,  179,  168,  168, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
    +     -167, -167, -167, -167, -167, -167
    +    },
    +
    +    {
    +       25, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168,  168,  168,
    +      168,  168,  168,  168,  168,  168,  168,  168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
    +     -168, -168, -168, -168, -168, -168
    +    },
    +
    +    {
    +       25, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169,  180,  180,
    +      180,  180,  180,  180,  180,  180,  180,  180, -169, -169,
    +
    +     -169, -169, -169, -169, -169,  180,  180,  180,  180,  180,
    +      180, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169,  180,  180,  180,
    +      180,  180,  180, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
    +     -169, -169, -169, -169, -169, -169
    +
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -170,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  181,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  171,
    +     -171,  147,  171,  171,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  171,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  172,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +     -172,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +     -173,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  183,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174,   83,   83,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87, -174, -174,
    +
    +     -174, -174, -174, -174, -174,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87, -174,   83, -174, -174,   87, -174,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
    +     -174, -174, -174, -174, -174, -174
    +
    +    },
    +
    +    {
    +       25, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175,   83,   83,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87, -175, -175,
    +     -175, -175, -175, -175, -175,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87, -175,   83, -175, -175,   87, -175,   87,   87,   87,
    +
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    +       87,   87,   87, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
    +     -175, -175, -175, -175, -175, -175
    +    },
    +
    +    {
    +       25, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176,  184, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +
    +     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
    +     -176, -176, -176, -176, -176, -176
    +    },
    +
    +    {
    +       25, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177,  161,  161,
    +      161,  161,  161,  161,  161,  161,  161,  161, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
    +     -177, -177, -177, -177, -177, -177
    +    },
    +
    +    {
    +       25, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
    +     -178, -178, -178, -178, -178, -178
    +    },
    +
    +    {
    +       25, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179,  185,  185,
    +      185,  185,  185,  185,  185,  185,  168,  168, -179, -179,
    +
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
    +     -179, -179, -179, -179, -179, -179
    +
    +    },
    +
    +    {
    +       25, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180,  186,  186,
    +      186,  186,  186,  186,  186,  186,  186,  186, -180, -180,
    +     -180, -180, -180, -180, -180,  186,  186,  186,  186,  186,
    +      186, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180,  186,  186,  186,
    +
    +      186,  186,  186, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
    +     -180, -180, -180, -180, -180, -180
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -181,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  187,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +     -182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
    +      182,  182,  182,  182,  182,  182
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +     -183,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  188,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184,  189,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
    +     -184, -184, -184, -184, -184, -184
    +
    +    },
    +
    +    {
    +       25, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185,  190,  190,
    +      190,  190,  190,  190,  190,  190,  168,  168, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
    +     -185, -185, -185, -185, -185, -185
    +    },
    +
    +    {
    +       25, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +
    +     -186, -186, -186, -186, -186, -186, -186, -186,  191,  191,
    +      191,  191,  191,  191,  191,  191,  191,  191, -186, -186,
    +     -186, -186, -186, -186, -186,  191,  191,  191,  191,  191,
    +      191, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186,  191,  191,  191,
    +      191,  191,  191, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +
    +     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
    +     -186, -186, -186, -186, -186, -186
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -187,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  192,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +     -188,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  193,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189,  194, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
    +     -189, -189, -189, -189, -189, -189
    +
    +    },
    +
    +    {
    +       25, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190,  195,  195,
    +      195,  195,  195,  195,  195,  195,  168,  168, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
    +     -190, -190, -190, -190, -190, -190
    +    },
    +
    +    {
    +       25, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +
    +     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
    +     -191, -191, -191, -191, -191, -191
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -192,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  196,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +     -193,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  197,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25, -194, -194, -194, -194, -194, -194, -194, -194,  198,
    +     -194, -194,  198,  198, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194,  198, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
    +     -194, -194, -194, -194, -194, -194
    +
    +    },
    +
    +    {
    +       25, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195,  168,  168,
    +      168,  168,  168,  168,  168,  168,  168,  168, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
    +     -195, -195, -195, -195, -195, -195
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -196,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  199,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +     -197,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  200,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25, -198, -198, -198, -198, -198, -198, -198, -198,  198,
    +     -198, -198,  198,  198, -198, -198, -198, -198, -198, -198,
    +
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198,  198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
    +     -198, -198, -198, -198, -198, -198
    +    },
    +
    +    {
    +       25,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +     -199,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  201,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
    +      145,  145,  145,  145,  145,  145
    +
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  202,
    +     -200,  147,  202,  202,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  202,  147,  147,  147,  147,  147,  147,  147,
    +      147,  203,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +     -201,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204
    +    },
    +
    +    {
    +       25,  147,  147,  147,  147,  147,  147,  147,  147,  202,
    +     -202,  147,  202,  202,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  202,  147,  147,  147,  147,  147,  147,  147,
    +      147,  203,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
    +      147,  147,  147,  147,  147,  147
    +    },
    +
    +    {
    +       25,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +     -203,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205
    +    },
    +
    +    {
    +       25,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +     -204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
    +      204,  204,  204,  204,  204,  204
    +
    +    },
    +
    +    {
    +       25,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +     -205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    +      205,  205,  205,  205,  205,  205
    +    },
    +
    +    } ;
    +
    +
    +static yy_state_type yy_get_previous_state YY_PROTO(( void ));
    +static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
    +static int yy_get_next_buffer YY_PROTO(( void ));
    +static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
    +
    +/* Done after the current pattern has been matched and before the
    + * corresponding action - sets up yytext.
    + */
    +#define YY_DO_BEFORE_ACTION \
    +	yytext_ptr = yy_bp; \
    +	yyleng = (int) (yy_cp - yy_bp); \
    +	yy_hold_char = *yy_cp; \
    +	*yy_cp = '\0'; \
    +	yy_c_buf_p = yy_cp;
    +
    +#define YY_NUM_RULES 92
    +#define YY_END_OF_BUFFER 93
    +static yyconst short int yy_accept[206] =
    +    {   0,
    +        0,    0,    0,    0,    0,    0,    0,    0,   82,   82,
    +        0,    0,   13,   13,   18,   18,   20,   20,    3,    3,
    +        5,    5,    8,    8,   93,   90,   89,   88,   53,   75,
    +       30,   30,   26,   26,   86,   29,   29,   24,   25,   89,
    +        2,   70,   74,   55,   91,   51,   52,   33,   91,   80,
    +       78,   79,   76,   80,   82,   84,   83,   91,   13,   14,
    +       91,   11,    9,   10,   13,    2,   18,   19,   15,   16,
    +       91,   18,   23,   20,   22,   21,    3,    5,    5,    8,
    +        8,   89,   30,   81,   30,   26,   29,   26,   29,   29,
    +       86,   31,   89,    2,    2,    0,   70,   54,   71,   68,
    +
    +       60,   68,   68,   56,   59,   61,   62,   63,   64,   65,
    +       66,   67,   68,   51,   32,   48,   46,   38,   46,   46,
    +       34,   37,   39,   40,   41,   42,   43,   44,   45,   46,
    +       78,   77,   82,   83,   83,   85,   13,   12,   13,   18,
    +       17,   18,   20,    3,    5,    5,    8,    8,    8,    8,
    +       87,   30,   28,   27,    0,   73,   60,   69,   72,   56,
    +       59,   58,   50,   38,   47,   49,   34,   37,   36,    5,
    +        8,    7,    8,   28,   27,    0,   56,   57,   34,   36,
    +        5,    7,    8,    0,   34,   36,    5,    8,    0,   34,
    +       35,    5,    8,    0,   34,    5,    8,    1,    5,    8,
    +
    +        4,    8,    6,    4,    6
    +    } ;
    +
    +static yy_state_type yy_last_accepting_state;
    +static char *yy_last_accepting_cpos;
    +
    +static yyconst yy_state_type yy_NUL_trans[206] =
    +    {   0,
    +       26,   26,   42,   42,   46,   46,   50,   50,   55,   55,
    +       58,   58,   59,   59,   67,   67,   73,   73,   77,   77,
    +       78,   78,   80,   80,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,   91,    0,    0,    0,    0,    0,
    +        0,   97,    0,    0,  100,  114,    0,    0,  117,    0,
    +        0,    0,    0,    0,  133,    0,  134,    0,  137,    0,
    +      138,    0,    0,    0,  137,    0,  140,    0,    0,    0,
    +      141,  140,    0,    0,    0,    0,  144,  145,  145,  147,
    +      147,    0,    0,    0,  151,    0,    0,    0,    0,    0,
    +       91,    0,    0,    0,    0,    0,   97,    0,    0,    0,
    +
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,  114,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,  133,  134,  134,    0,  137,    0,  137,  140,
    +        0,  140,    0,  144,  145,  145,  147,  147,  147,  147,
    +      151,  151,    0,    0,    0,    0,    0,    0,    0,    0,
    +        0,    0,    0,    0,    0,    0,    0,    0,    0,  145,
    +      147,  182,  147,    0,    0,    0,    0,    0,    0,    0,
    +      145,  182,  147,    0,    0,    0,  145,  147,    0,    0,
    +        0,  145,  147,    0,    0,  145,  147,    0,  145,  147,
    +
    +      204,  147,  205,  204,  205
    +    } ;
    +
    +extern int yy_flex_debug;
    +int yy_flex_debug = 1;
    +
    +static yyconst short int yy_rule_linenum[92] =
    +    {   0,
    +      325,  326,  327,  347,  348,  350,  351,  362,  369,  370,
    +      371,  372,  373,  374,  376,  377,  385,  386,  387,  389,
    +      390,  391,  392,  394,  395,  397,  398,  399,  408,  427,
    +      432,  438,  439,  444,  451,  456,  458,  459,  460,  461,
    +      462,  463,  464,  465,  466,  467,  468,  469,  470,  471,
    +      472,  477,  482,  483,  484,  489,  496,  501,  503,  504,
    +      505,  506,  507,  508,  509,  510,  511,  512,  513,  514,
    +      519,  520,  521,  522,  527,  528,  536,  541,  542,  543,
    +      549,  555,  556,  557,  558,  560,  561,  563,  573,  575,
    +      584
    +
    +    } ;
    +
    +/* The intent behind this definition is that it'll catch
    + * any uses of REJECT which flex missed.
    + */
    +#define REJECT reject_used_but_not_detected
    +#define yymore() yymore_used_but_not_detected
    +#define YY_MORE_ADJ 0
    +#define YY_RESTORE_YY_MORE_OFFSET
    +char *yytext;
    +#line 1 "parser.l"
    +#define INITIAL 0
    +/* -*-C-*-
    + *
    + * Copyright 1998-2000	Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * History:
    + * 21-May-2000 BS	- Fixed the ident requirement of resource names
    + *			  which can be keywords.
    + * 30-Apr-2000 BS	- Reintegration into the wine-tree
    + * 11-Jan-2000 BS	- Very drastic cleanup because we don't have a
    + *			  preprocessor in here anymore.
    + * 02-Jan-2000 BS	- Removed the preprocessor code
    + * 23-Dec-1999 BS	- Removed the copyright for Martin von Loewis.
    + *			  There is really nothing left of his code in
    + *			  this parser.
    + * 20-Jun-1998 BS	- Changed the filename conversion. Filenames are
    + *			  case-sensitive inder *nix, but not under dos.
    + *			  default behaviour is to convert to lower case.
    + *			- All backslashes are converted to forward and
    + *			  both single and double slash is recognized as
    + *			  MS/Borland does.
    + *			- Fixed a bug in 'yywf' case that prevented
    + *			  double quoted names to be scanned propperly.
    + *
    + * 19-May-1998 BS	- Started to build a preprocessor.
    + *			- Changed keyword processing completely to
    + *			  table-lookups.
    + *
    + * 20-Apr-1998 BS	- Added ';' comment stripping
    + *
    + * 17-Apr-1998 BS	- Made the win32 keywords optional when compiling in
    + *			  16bit mode
    + *
    + * 15-Apr-1998 BS	- Changed string handling to include escapes
    + *			- Added unicode string handling (no codepage
    + *			  translation though).
    + *			- 'Borrowed' the main idea of string scanning from
    + *			  the flex manual pages.
    + *			- Added conditional handling of scanning depending
    + *			  on the state of the parser. This was mainly required
    + *			  to distinguish a file to load or raw data that
    + *			  follows. MS's definition of filenames is rather
    + *			  complex... It can be unquoted or double quoted. If
    + *			  double quoted, then the '\\' char is not automatically
    + *			  escaped according to Borland's rc compiler, but it
    + *			  accepts both "\\path\\file.rc" and "\path\file.rc".
    + *			  This makes life very hard! I go for the escaped
    + *			  version, as this seems to be the documented way...
    + *			- Single quoted strings are now parsed and converted
    + *			  here.
    + *			- Added comment stripping. The implementation is
    + *			  'borrowed' from the flex manpages.
    + *			- Rebuild string processing so that it may contain
    + *			  escaped '\0'.
    + */
    +/* Exclusive string handling */
    +#define yystr 1
    +
    +/* Exclusive unicode string handling */
    +#define yylstr 2
    +
    +/* Exclusive rcdata single quoted data handling */
    +#define yyrcd 3
    +
    +/* Exclusive comment eating... */
    +#define comment 4
    +
    +/* Set when stripping c-junk */
    +#define pp_stripe 5
    +
    +#define pp_strips 6
    +
    +#define pp_stripp 7
    +
    +#define pp_stripp_final 8
    +
    +/* Set when scanning #line style directives */
    +#define pp_line 9
    +
    +/* Set when scanning #pragma */
    +#define pp_pragma 10
    +
    +#define pp_code_page 11
    +
    +#define YY_STACK_USED 1
    +#define YY_NEVER_INTERACTIVE 1
    +/* Some shortcut definitions */
    +#line 97 "parser.l"
    +
    +/*#define LEX_DEBUG*/
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wine/unicode.h"
    +#include "wrc.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "newstruc.h"
    +
    +#include "y.tab.h"
    +
    +#define YY_USE_PROTOS
    +#define YY_NO_UNPUT
    +#define YY_NO_TOP_STATE
    +
    +/* Always update the current character position within a line */
    +#define YY_USER_ACTION	char_number+=yyleng; wanted_id = want_id; want_id = 0;
    +
    +static void addcchar(char c);
    +static void addwchar(WCHAR s);
    +static string_t *get_buffered_cstring(void);
    +static string_t *get_buffered_wstring(void);
    +static string_t *make_string(char *s);
    +
    +static char *cbuffer;		/* Buffers for string collection */
    +static int cbufidx;
    +static int cbufalloc = 0;
    +static WCHAR *wbuffer;
    +static int wbufidx;
    +static int wbufalloc = 0;
    +static int stripslevel = 0;	/* Count {} during pp_strips/pp_stripe mode */
    +static int stripplevel = 0;	/* Count () during pp_strips mode */
    +static int cjunk_tagline;	/* Where did we start stripping (helps error tracking) */
    +
    +static int current_codepage = -1;  /* use language default */
    +
    +/*
    + * This one is a bit tricky.
    + * We set 'want_id' in the parser to get the first
    + * identifier we get across in the scanner, but we
    + * also want it to be reset at nearly any token we
    + * see. Exceptions are:
    + * - newlines
    + * - comments
    + * - whitespace
    + *
    + * The scanner will automatically reset 'want_id'
    + * after *each* scanner reduction and puts is value
    + * into the var below. In this way we can see the
    + * state after the YY_RULE_SETUP (i.e. the user action;
    + * see above) and don't have to worry too much when
    + * it needs to be reset.
    + */
    +static int wanted_id = 0;
    +static int save_wanted_id;	/* To save across comment reductions */
    +
    +struct keyword {
    +	const char	*keyword;
    +	int		token;
    +	int		isextension;
    +	int		needcase;
    +	int		alwayskw;
    +};
    +
    +static struct keyword keywords[] = {
    +	{ "ACCELERATORS",	tACCELERATORS,		0, 0, 0},
    +	{ "ALT",		tALT,			0, 0, 0},
    +	{ "ASCII",		tASCII,			0, 0, 0},
    +	{ "AUTO3STATE",		tAUTO3STATE,		1, 0, 0},
    +	{ "AUTOCHECKBOX",	tAUTOCHECKBOX,		1, 0, 0},
    +	{ "AUTORADIOBUTTON",	tAUTORADIOBUTTON,	1, 0, 0},
    +	{ "BEGIN",		tBEGIN,			0, 0, 0},
    +	{ "BITMAP",		tBITMAP,		0, 0, 0},
    +	{ "BLOCK",		tBLOCK,			0, 0, 0},
    +	{ "BUTTON",		tBUTTON,		1, 0, 0},
    +	{ "CAPTION",		tCAPTION,		0, 0, 0},
    +	{ "CHARACTERISTICS",	tCHARACTERISTICS,	1, 0, 0},
    +	{ "CHECKBOX",		tCHECKBOX,		0, 0, 0},
    +	{ "CHECKED",		tCHECKED,		0, 0, 0},
    +	{ "CLASS",		tCLASS,			0, 0, 0},
    +	{ "COMBOBOX",		tCOMBOBOX,		0, 0, 0},
    +	{ "CONTROL",		tCONTROL,		0, 0, 0},
    +	{ "CTEXT",		tCTEXT,			0, 0, 0},
    +	{ "CURSOR",		tCURSOR,		0, 0, 0},
    +	{ "DEFPUSHBUTTON",	tDEFPUSHBUTTON,		0, 0, 0},
    +	{ "DIALOG",		tDIALOG,		0, 0, 0},
    +	{ "DIALOGEX",		tDIALOGEX,		1, 0, 0},
    +	{ "DISCARDABLE",	tDISCARDABLE,		0, 0, 0},
    +	{ "DLGINIT",		tDLGINIT,		0, 0, 0},
    +	{ "EDITTEXT",		tEDITTEXT,		0, 0, 0},
    +	{ "END",		tEND,			0, 0, 0},
    +	{ "EXSTYLE",		tEXSTYLE,		0, 0, 0},
    +	{ "FILEFLAGS",		tFILEFLAGS,		0, 0, 0},
    +	{ "FILEFLAGSMASK",	tFILEFLAGSMASK,		0, 0, 0},
    +	{ "FILEOS",		tFILEOS,		0, 0, 0},
    +	{ "FILESUBTYPE",	tFILESUBTYPE,		0, 0, 0},
    +	{ "FILETYPE",		tFILETYPE,		0, 0, 0},
    +	{ "FILEVERSION",	tFILEVERSION,		0, 0, 0},
    +	{ "FIXED",		tFIXED,			0, 0, 0},
    +	{ "FONT",		tFONT,			0, 0, 0},
    +	{ "FONTDIR",		tFONTDIR,		0, 0, 0},	/* This is a Borland BRC extension */
    +	{ "GRAYED",		tGRAYED,		0, 0, 0},
    +	{ "GROUPBOX",		tGROUPBOX,		0, 0, 0},
    +	{ "HELP",		tHELP,			0, 0, 0},
    +	{ "ICON",		tICON,			0, 0, 0},
    +	{ "IMPURE",		tIMPURE,		0, 0, 0},
    +	{ "INACTIVE",		tINACTIVE,		0, 0, 0},
    +	{ "LANGUAGE",		tLANGUAGE,		1, 0, 1},
    +	{ "LISTBOX",		tLISTBOX,		0, 0, 0},
    +	{ "LOADONCALL",		tLOADONCALL,		0, 0, 0},
    +	{ "LTEXT",		tLTEXT,			0, 0, 0},
    +	{ "MENU",		tMENU,			0, 0, 0},
    +	{ "MENUBARBREAK",	tMENUBARBREAK,		0, 0, 0},
    +	{ "MENUBREAK",		tMENUBREAK,		0, 0, 0},
    +	{ "MENUEX",		tMENUEX,		1, 0, 0},
    +	{ "MENUITEM",		tMENUITEM,		0, 0, 0},
    +	{ "MESSAGETABLE",	tMESSAGETABLE,		1, 0, 0},
    +	{ "MOVEABLE",		tMOVEABLE,		0, 0, 0},
    +	{ "NOINVERT",		tNOINVERT,		0, 0, 0},
    +	{ "NOT",		tNOT,			0, 0, 0},
    +	{ "POPUP",		tPOPUP,			0, 0, 0},
    +	{ "PRELOAD",		tPRELOAD,		0, 0, 0},
    +	{ "PRODUCTVERSION",	tPRODUCTVERSION,	0, 0, 0},
    +	{ "PURE",		tPURE,			0, 0, 0},
    +	{ "PUSHBUTTON",		tPUSHBUTTON,		0, 0, 0},
    +	{ "RADIOBUTTON",	tRADIOBUTTON,		0, 0, 0},
    +	{ "RCDATA",		tRCDATA,		0, 0, 0},
    +	{ "RTEXT",		tRTEXT,			0, 0, 0},
    +	{ "SCROLLBAR",		tSCROLLBAR,		0, 0, 0},
    +	{ "SEPARATOR",		tSEPARATOR,		0, 0, 0},
    +	{ "SHIFT",		tSHIFT,			0, 0, 0},
    +	{ "STATE3",		tSTATE3,		1, 0, 0},
    +	{ "STRING",		tSTRING,		0, 0, 0},
    +	{ "STRINGTABLE",	tSTRINGTABLE,		0, 0, 1},
    +	{ "STYLE",		tSTYLE,			0, 0, 0},
    +	{ "TOOLBAR",		tTOOLBAR,		1, 0, 0},
    +	{ "VALUE",		tVALUE,			0, 0, 0},
    +	{ "VERSION",		tVERSION,		1, 0, 0},
    +	{ "VERSIONINFO",	tVERSIONINFO,		0, 0, 0},
    +	{ "VIRTKEY",		tVIRTKEY,		0, 0, 0}
    +};
    +
    +#define NKEYWORDS	(sizeof(keywords)/sizeof(keywords[0]))
    +#define KWP(p)		((const struct keyword *)(p))
    +static int kw_cmp_func(const void *s1, const void *s2)
    +{
    +	int ret;
    +	ret = strcasecmp(KWP(s1)->keyword, KWP(s2)->keyword);
    +	if(!ret && (KWP(s1)->needcase || KWP(s2)->needcase))
    +		return strcmp(KWP(s1)->keyword, KWP(s2)->keyword);
    +	else
    +		return ret;
    +}
    +
    +#define KW_BSEARCH
    +#define DO_SORT
    +static struct keyword *iskeyword(char *kw)
    +{
    +	struct keyword *kwp;
    +	struct keyword key;
    +	key.keyword = kw;
    +	key.needcase = 0;
    +#ifdef DO_SORT
    +	{
    +		/* Make sure that it is sorted for bsearsh */
    +		static int sorted = 0;
    +		if(!sorted)
    +		{
    +			qsort(keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
    +			sorted = 1;
    +		}
    +	}
    +#endif
    +#ifdef KW_BSEARCH
    +	kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
    +#else
    +	{
    +		int i;
    +		for(i = 0; i < NKEYWORDS; i++)
    +		{
    +			if(!kw_cmp_func(&key, &keywords[i]))
    +				break;
    +		}
    +		if(i < NKEYWORDS)
    +			kwp = &keywords[i];
    +		else
    +			kwp = NULL;
    +	}
    +#endif
    +
    +	if(kwp == NULL || (kwp->isextension && !extensions))
    +		return NULL;
    +	else
    +		return kwp;
    +}
    +
    +/*
    + **************************************************************************
    + * The flexer starts here
    + **************************************************************************
    + */
    +#line 7201 "lex.yy.c"
    +
    +/* Macros after this point can all be overridden by user definitions in
    + * section 1.
    + */
    +
    +#ifndef YY_SKIP_YYWRAP
    +#ifdef __cplusplus
    +extern "C" int yywrap YY_PROTO(( void ));
    +#else
    +extern int yywrap YY_PROTO(( void ));
    +#endif
    +#endif
    +
    +#ifndef YY_NO_UNPUT
    +static void yyunput YY_PROTO(( int c, char *buf_ptr ));
    +#endif
    +
    +#ifndef yytext_ptr
    +static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
    +#endif
    +
    +#ifdef YY_NEED_STRLEN
    +static int yy_flex_strlen YY_PROTO(( yyconst char * ));
    +#endif
    +
    +#ifndef YY_NO_INPUT
    +#ifdef __cplusplus
    +static int yyinput YY_PROTO(( void ));
    +#else
    +static int input YY_PROTO(( void ));
    +#endif
    +#endif
    +
    +#if YY_STACK_USED
    +static int yy_start_stack_ptr = 0;
    +static int yy_start_stack_depth = 0;
    +static int *yy_start_stack = 0;
    +#ifndef YY_NO_PUSH_STATE
    +static void yy_push_state YY_PROTO(( int new_state ));
    +#endif
    +#ifndef YY_NO_POP_STATE
    +static void yy_pop_state YY_PROTO(( void ));
    +#endif
    +#ifndef YY_NO_TOP_STATE
    +static int yy_top_state YY_PROTO(( void ));
    +#endif
    +
    +#else
    +#define YY_NO_PUSH_STATE 1
    +#define YY_NO_POP_STATE 1
    +#define YY_NO_TOP_STATE 1
    +#endif
    +
    +#ifdef YY_MALLOC_DECL
    +YY_MALLOC_DECL
    +#else
    +#if __STDC__
    +#ifndef __cplusplus
    +#include 
    +#endif
    +#else
    +/* Just try to get by without declaring the routines.  This will fail
    + * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
    + * or sizeof(void*) != sizeof(int).
    + */
    +#endif
    +#endif
    +
    +/* Amount of stuff to slurp up with each read. */
    +#ifndef YY_READ_BUF_SIZE
    +#define YY_READ_BUF_SIZE 8192
    +#endif
    +
    +/* Copy whatever the last rule matched to the standard output. */
    +
    +#ifndef ECHO
    +/* This used to be an fputs(), but since the string might contain NUL's,
    + * we now use fwrite().
    + */
    +#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
    +#endif
    +
    +/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
    + * is returned in "result".
    + */
    +#ifndef YY_INPUT
    +#define YY_INPUT(buf,result,max_size) \
    +	if ( yy_current_buffer->yy_is_interactive ) \
    +		{ \
    +		int c = '*', n; \
    +		for ( n = 0; n < max_size && \
    +			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
    +			buf[n] = (char) c; \
    +		if ( c == '\n' ) \
    +			buf[n++] = (char) c; \
    +		if ( c == EOF && ferror( yyin ) ) \
    +			YY_FATAL_ERROR( "input in flex scanner failed" ); \
    +		result = n; \
    +		} \
    +	else \
    +		{ \
    +		errno=0; \
    +		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
    +			{ \
    +			if( errno != EINTR) \
    +				{ \
    +				YY_FATAL_ERROR( "input in flex scanner failed" ); \
    +				break; \
    +				} \
    +			errno=0; \
    +			clearerr(yyin); \
    +			} \
    +		}
    +#endif
    +
    +/* No semi-colon after return; correct usage is to write "yyterminate();" -
    + * we don't want an extra ';' after the "return" because that will cause
    + * some compilers to complain about unreachable statements.
    + */
    +#ifndef yyterminate
    +#define yyterminate() return YY_NULL
    +#endif
    +
    +/* Number of entries by which start-condition stack grows. */
    +#ifndef YY_START_STACK_INCR
    +#define YY_START_STACK_INCR 25
    +#endif
    +
    +/* Report a fatal error. */
    +#ifndef YY_FATAL_ERROR
    +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
    +#endif
    +
    +/* Default declaration of generated scanner - a define so the user can
    + * easily add parameters.
    + */
    +#ifndef YY_DECL
    +#define YY_DECL int yylex YY_PROTO(( void ))
    +#endif
    +
    +/* Code executed at the beginning of each rule, after yytext and yyleng
    + * have been set up.
    + */
    +#ifndef YY_USER_ACTION
    +#define YY_USER_ACTION
    +#endif
    +
    +/* Code executed at the end of each rule. */
    +#ifndef YY_BREAK
    +#define YY_BREAK break;
    +#endif
    +
    +#define YY_RULE_SETUP \
    +	if ( yyleng > 0 ) \
    +		yy_current_buffer->yy_at_bol = \
    +				(yytext[yyleng - 1] == '\n'); \
    +	YY_USER_ACTION
    +
    +YY_DECL
    +	{
    +	register yy_state_type yy_current_state;
    +	register char *yy_cp, *yy_bp;
    +	register int yy_act;
    +
    +#line 306 "parser.l"
    +
    +	/*
    +	 * Catch the GCC-style line statements here and parse them.
    +	 * This has the advantage that you can #include at any
    +	 * stage in the resource file.
    +	 * The preprocessor generates line directives in the format:
    +	 * #  "filename" 
    +	 *
    +	 * Codes can be a sequence of:
    +	 * - 1 start of new file
    +	 * - 2 returning to previous
    +	 * - 3 system header
    +	 * - 4 interpret as C-code
    +	 *
    +	 * 4 is not used and 1 mutually excludes 2
    +	 * Anyhow, we are not really interested in these at all
    +	 * because we only want to know the linenumber and
    +	 * filename.
    +	 */
    +#line 7386 "lex.yy.c"
    +
    +	if ( yy_init )
    +		{
    +		yy_init = 0;
    +
    +#ifdef YY_USER_INIT
    +		YY_USER_INIT;
    +#endif
    +
    +		if ( ! yy_start )
    +			yy_start = 1;	/* first start state */
    +
    +		if ( ! yyin )
    +			yyin = stdin;
    +
    +		if ( ! yyout )
    +			yyout = stdout;
    +
    +		if ( ! yy_current_buffer )
    +			yy_current_buffer =
    +				yy_create_buffer( yyin, YY_BUF_SIZE );
    +
    +		yy_load_buffer_state();
    +		}
    +
    +	while ( 1 )		/* loops until end-of-file is reached */
    +		{
    +		yy_cp = yy_c_buf_p;
    +
    +		/* Support of yytext. */
    +		*yy_cp = yy_hold_char;
    +
    +		/* yy_bp points to the position in yy_ch_buf of the start of
    +		 * the current run.
    +		 */
    +		yy_bp = yy_cp;
    +
    +		yy_current_state = yy_start;
    +		yy_current_state += YY_AT_BOL();
    +yy_match:
    +		while ( (yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)]) > 0 )
    +			{
    +			if ( yy_accept[yy_current_state] )
    +				{
    +				yy_last_accepting_state = yy_current_state;
    +				yy_last_accepting_cpos = yy_cp;
    +				}
    +
    +			++yy_cp;
    +			}
    +
    +		yy_current_state = -yy_current_state;
    +
    +yy_find_action:
    +		yy_act = yy_accept[yy_current_state];
    +
    +		YY_DO_BEFORE_ACTION;
    +
    +
    +do_action:	/* This label is used only to access EOF actions. */
    +
    +		if ( yy_flex_debug )
    +			{
    +			if ( yy_act == 0 )
    +				fprintf( stderr, "--scanner backing up\n" );
    +			else if ( yy_act < 92 )
    +				fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
    +				         yy_rule_linenum[yy_act], yytext );
    +			else if ( yy_act == 92 )
    +				fprintf( stderr, "--accepting default rule (\"%s\")\n",
    +				         yytext );
    +			else if ( yy_act == 93 )
    +				fprintf( stderr, "--(end of buffer or a NUL)\n" );
    +			else
    +				fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
    +			}
    +
    +		switch ( yy_act )
    +	{ /* beginning of action switch */
    +			case 0: /* must back up */
    +			/* undo the effects of YY_DO_BEFORE_ACTION */
    +			*yy_cp = yy_hold_char;
    +			yy_cp = yy_last_accepting_cpos + 1;
    +			yy_current_state = yy_last_accepting_state;
    +			goto yy_find_action;
    +
    +case 1:
    +YY_RULE_SETUP
    +#line 325 "parser.l"
    +yy_push_state(pp_pragma);
    +	YY_BREAK
    +case 2:
    +YY_RULE_SETUP
    +#line 326 "parser.l"
    +yy_push_state(pp_line);
    +	YY_BREAK
    +case 3:
    +YY_RULE_SETUP
    +#line 327 "parser.l"
    +{
    +		int lineno;
    +		char *cptr;
    +		char *fname;
    +		yy_pop_state();
    +		lineno = (int)strtol(yytext, &cptr, 10);
    +		if(!lineno)
    +			yyerror("Malformed '#...' line-directive; invalid linenumber");
    +		fname = strchr(cptr, '"');
    +		if(!fname)
    +			yyerror("Malformed '#...' line-directive; missing filename");
    +		fname++;
    +		cptr = strchr(fname, '"');
    +		if(!cptr)
    +			yyerror("Malformed '#...' line-directive; missing terminating \"");
    +		*cptr = '\0';
    +		line_number = lineno - 1;	/* We didn't read the newline */
    +		input_name = xstrdup(fname);
    +	}
    +	YY_BREAK
    +case 4:
    +YY_RULE_SETUP
    +#line 347 "parser.l"
    +yyless(9); yy_pop_state(); yy_push_state(pp_code_page);
    +	YY_BREAK
    +case 5:
    +YY_RULE_SETUP
    +#line 348 "parser.l"
    +yy_pop_state(); if (pedantic) yywarning("Unrecognized #pragma directive '%s'",yytext);
    +	YY_BREAK
    +case 6:
    +YY_RULE_SETUP
    +#line 350 "parser.l"
    +current_codepage = -1; yy_pop_state();
    +	YY_BREAK
    +case 7:
    +YY_RULE_SETUP
    +#line 351 "parser.l"
    +{
    +        char *p = yytext;
    +        yy_pop_state();
    +        while (*p < '0' || *p > '9') p++;
    +        current_codepage = strtol( p, NULL, 10 );
    +        if (current_codepage && !wine_cp_get_table( current_codepage ))
    +        {
    +            yyerror("Codepage %d not supported", current_codepage);
    +            current_codepage = 0;
    +        }
    +    }
    +	YY_BREAK
    +case 8:
    +YY_RULE_SETUP
    +#line 362 "parser.l"
    +yy_pop_state(); yyerror("Malformed #pragma code_page directive");
    +	YY_BREAK
    +/*
    +	 * Strip everything until a ';' taking
    +	 * into account braces {} for structures,
    +	 * classes and enums.
    +	 */
    +case 9:
    +YY_RULE_SETUP
    +#line 369 "parser.l"
    +stripslevel++;
    +	YY_BREAK
    +case 10:
    +YY_RULE_SETUP
    +#line 370 "parser.l"
    +stripslevel--;
    +	YY_BREAK
    +case 11:
    +YY_RULE_SETUP
    +#line 371 "parser.l"
    +if(!stripslevel) yy_pop_state();
    +	YY_BREAK
    +case 12:
    +YY_RULE_SETUP
    +#line 372 "parser.l"
    +; /* To catch comments */
    +	YY_BREAK
    +case 13:
    +YY_RULE_SETUP
    +#line 373 "parser.l"
    +; /* Ignore rest */
    +	YY_BREAK
    +case 14:
    +YY_RULE_SETUP
    +#line 374 "parser.l"
    +line_number++; char_number = 1;
    +	YY_BREAK
    +case 15:
    +YY_RULE_SETUP
    +#line 376 "parser.l"
    +stripplevel++;
    +	YY_BREAK
    +case 16:
    +YY_RULE_SETUP
    +#line 377 "parser.l"
    +{
    +					stripplevel--;
    +					if(!stripplevel)
    +					{
    +						yy_pop_state();
    +						yy_push_state(pp_stripp_final);
    +					}
    +				}
    +	YY_BREAK
    +case 17:
    +YY_RULE_SETUP
    +#line 385 "parser.l"
    +; /* To catch comments */
    +	YY_BREAK
    +case 18:
    +YY_RULE_SETUP
    +#line 386 "parser.l"
    +; /* Ignore rest */
    +	YY_BREAK
    +case 19:
    +YY_RULE_SETUP
    +#line 387 "parser.l"
    +line_number++; char_number = 1;
    +	YY_BREAK
    +case 20:
    +YY_RULE_SETUP
    +#line 389 "parser.l"
    +; /* Ignore */
    +	YY_BREAK
    +case 21:
    +YY_RULE_SETUP
    +#line 390 "parser.l"
    +yy_pop_state(); /* Kill the semicolon */
    +	YY_BREAK
    +case 22:
    +YY_RULE_SETUP
    +#line 391 "parser.l"
    +line_number++; char_number = 1; yy_pop_state();
    +	YY_BREAK
    +case 23:
    +YY_RULE_SETUP
    +#line 392 "parser.l"
    +yyless(0); yy_pop_state();
    +	YY_BREAK
    +case 24:
    +YY_RULE_SETUP
    +#line 394 "parser.l"
    +return tBEGIN;
    +	YY_BREAK
    +case 25:
    +YY_RULE_SETUP
    +#line 395 "parser.l"
    +return tEND;
    +	YY_BREAK
    +case 26:
    +YY_RULE_SETUP
    +#line 397 "parser.l"
    +{ yylval.num = strtoul(yytext,  0, 10); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
    +	YY_BREAK
    +case 27:
    +YY_RULE_SETUP
    +#line 398 "parser.l"
    +{ yylval.num = strtoul(yytext,  0, 16); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
    +	YY_BREAK
    +case 28:
    +YY_RULE_SETUP
    +#line 399 "parser.l"
    +{ yylval.num = strtoul(yytext+2, 0, 8); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
    +	YY_BREAK
    +/*
    +	 * The next two rules scan identifiers and filenames.
    +	 * This is achieved by using the priority ruling
    +	 * of the scanner where a '.' is valid in a filename
    +	 * and *only* in a filename. In this case, the second
    +	 * rule will be reduced because it is longer.
    +	 */
    +case 29:
    +YY_RULE_SETUP
    +#line 408 "parser.l"
    +{
    +				struct keyword *tok = iskeyword(yytext);
    +
    +				if(tok)
    +				{
    +					if(wanted_id && !tok->alwayskw)
    +					{
    +						yylval.str = make_string(yytext);
    +						return tIDENT;
    +					}
    +					else
    +						return tok->token;
    +				}
    +				else
    +				{
    +					yylval.str = make_string(yytext);
    +					return tIDENT;
    +				}
    +			}
    +	YY_BREAK
    +case 30:
    +YY_RULE_SETUP
    +#line 427 "parser.l"
    +yylval.str = make_string(yytext); return tFILENAME;
    +	YY_BREAK
    +/*
    +	 * Wide string scanning
    +	 */
    +case 31:
    +YY_RULE_SETUP
    +#line 432 "parser.l"
    +{
    +				yy_push_state(yylstr);
    +				wbufidx = 0;
    +				if(!win32)
    +					yywarning("16bit resource contains unicode strings\n");
    +			}
    +	YY_BREAK
    +case 32:
    +#line 439 "parser.l"
    +case 33:
    +YY_RULE_SETUP
    +#line 439 "parser.l"
    +{
    +				yy_pop_state();
    +				yylval.str = get_buffered_wstring();
    +				return tSTRING;
    +			}
    +	YY_BREAK
    +case 34:
    +YY_RULE_SETUP
    +#line 444 "parser.l"
    +{ /* octal escape sequence */
    +				unsigned int result;
    +				result = strtoul(yytext+1, 0, 8);
    +				if ( result > 0xffff )
    +					yyerror("Character constant out of range");
    +				addwchar((WCHAR)result);
    +			}
    +	YY_BREAK
    +case 35:
    +YY_RULE_SETUP
    +#line 451 "parser.l"
    +{  /* hex escape sequence */
    +				unsigned int result;
    +				result = strtoul(yytext+2, 0, 16);
    +				addwchar((WCHAR)result);
    +			}
    +	YY_BREAK
    +case 36:
    +YY_RULE_SETUP
    +#line 456 "parser.l"
    +{  yyerror("Invalid hex escape sequence '%s'", yytext); }
    +	YY_BREAK
    +case 37:
    +YY_RULE_SETUP
    +#line 458 "parser.l"
    +yyerror("Bad escape sequence");
    +	YY_BREAK
    +case 38:
    +YY_RULE_SETUP
    +#line 459 "parser.l"
    +line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */
    +	YY_BREAK
    +case 39:
    +YY_RULE_SETUP
    +#line 460 "parser.l"
    +addwchar('\a');
    +	YY_BREAK
    +case 40:
    +YY_RULE_SETUP
    +#line 461 "parser.l"
    +addwchar('\b');
    +	YY_BREAK
    +case 41:
    +YY_RULE_SETUP
    +#line 462 "parser.l"
    +addwchar('\f');
    +	YY_BREAK
    +case 42:
    +YY_RULE_SETUP
    +#line 463 "parser.l"
    +addwchar('\n');
    +	YY_BREAK
    +case 43:
    +YY_RULE_SETUP
    +#line 464 "parser.l"
    +addwchar('\r');
    +	YY_BREAK
    +case 44:
    +YY_RULE_SETUP
    +#line 465 "parser.l"
    +addwchar('\t');
    +	YY_BREAK
    +case 45:
    +YY_RULE_SETUP
    +#line 466 "parser.l"
    +addwchar('\v');
    +	YY_BREAK
    +case 46:
    +YY_RULE_SETUP
    +#line 467 "parser.l"
    +addwchar(yytext[1]);
    +	YY_BREAK
    +case 47:
    +YY_RULE_SETUP
    +#line 468 "parser.l"
    +addwchar(yytext[2]); line_number++; char_number = 1;
    +	YY_BREAK
    +case 48:
    +YY_RULE_SETUP
    +#line 469 "parser.l"
    +addwchar('\"');		/* "bla""bla"  -> "bla\"bla" */
    +	YY_BREAK
    +case 49:
    +YY_RULE_SETUP
    +#line 470 "parser.l"
    +addwchar('\"');		/* "bla\""bla" -> "bla\"bla" */
    +	YY_BREAK
    +case 50:
    +YY_RULE_SETUP
    +#line 471 "parser.l"
    +;			/* "bla" "bla" -> "blabla" */
    +	YY_BREAK
    +case 51:
    +YY_RULE_SETUP
    +#line 472 "parser.l"
    +{
    +				char *yptr = yytext;
    +				while(*yptr)	/* FIXME: codepage translation */
    +					addwchar(*yptr++ & 0xff);
    +			}
    +	YY_BREAK
    +case 52:
    +YY_RULE_SETUP
    +#line 477 "parser.l"
    +yyerror("Unterminated string");
    +	YY_BREAK
    +/*
    +	 * Normal string scanning
    +	 */
    +case 53:
    +YY_RULE_SETUP
    +#line 482 "parser.l"
    +yy_push_state(yystr); cbufidx = 0;
    +	YY_BREAK
    +case 54:
    +#line 484 "parser.l"
    +case 55:
    +YY_RULE_SETUP
    +#line 484 "parser.l"
    +{
    +				yy_pop_state();
    +				yylval.str = get_buffered_cstring();
    +				return tSTRING;
    +			}
    +	YY_BREAK
    +case 56:
    +YY_RULE_SETUP
    +#line 489 "parser.l"
    +{ /* octal escape sequence */
    +				int result;
    +				result = strtol(yytext+1, 0, 8);
    +				if ( result > 0xff )
    +					yyerror("Character constant out of range");
    +				addcchar((char)result);
    +			}
    +	YY_BREAK
    +case 57:
    +YY_RULE_SETUP
    +#line 496 "parser.l"
    +{  /* hex escape sequence */
    +				int result;
    +				result = strtol(yytext+2, 0, 16);
    +				addcchar((char)result);
    +			}
    +	YY_BREAK
    +case 58:
    +YY_RULE_SETUP
    +#line 501 "parser.l"
    +{  yyerror("Invalid hex escape sequence '%s'", yytext); }
    +	YY_BREAK
    +case 59:
    +YY_RULE_SETUP
    +#line 503 "parser.l"
    +yyerror("Bad escape sequence");
    +	YY_BREAK
    +case 60:
    +YY_RULE_SETUP
    +#line 504 "parser.l"
    +line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */
    +	YY_BREAK
    +case 61:
    +YY_RULE_SETUP
    +#line 505 "parser.l"
    +addcchar('\a');
    +	YY_BREAK
    +case 62:
    +YY_RULE_SETUP
    +#line 506 "parser.l"
    +addcchar('\b');
    +	YY_BREAK
    +case 63:
    +YY_RULE_SETUP
    +#line 507 "parser.l"
    +addcchar('\f');
    +	YY_BREAK
    +case 64:
    +YY_RULE_SETUP
    +#line 508 "parser.l"
    +addcchar('\n');
    +	YY_BREAK
    +case 65:
    +YY_RULE_SETUP
    +#line 509 "parser.l"
    +addcchar('\r');
    +	YY_BREAK
    +case 66:
    +YY_RULE_SETUP
    +#line 510 "parser.l"
    +addcchar('\t');
    +	YY_BREAK
    +case 67:
    +YY_RULE_SETUP
    +#line 511 "parser.l"
    +addcchar('\v');
    +	YY_BREAK
    +case 68:
    +YY_RULE_SETUP
    +#line 512 "parser.l"
    +addcchar(yytext[1]);
    +	YY_BREAK
    +case 69:
    +YY_RULE_SETUP
    +#line 513 "parser.l"
    +addcchar(yytext[2]); line_number++; char_number = 1;
    +	YY_BREAK
    +case 70:
    +YY_RULE_SETUP
    +#line 514 "parser.l"
    +{
    +				char *yptr = yytext;
    +				while(*yptr)
    +					addcchar(*yptr++);
    +			}
    +	YY_BREAK
    +case 71:
    +YY_RULE_SETUP
    +#line 519 "parser.l"
    +addcchar('\"');		/* "bla""bla"   -> "bla\"bla" */
    +	YY_BREAK
    +case 72:
    +YY_RULE_SETUP
    +#line 520 "parser.l"
    +addcchar('\"');		/* "bla\""bla"  -> "bla\"bla" */
    +	YY_BREAK
    +case 73:
    +YY_RULE_SETUP
    +#line 521 "parser.l"
    +;			/* "bla" "bla"  -> "blabla" */
    +	YY_BREAK
    +case 74:
    +YY_RULE_SETUP
    +#line 522 "parser.l"
    +yyerror("Unterminated string");
    +	YY_BREAK
    +/*
    +	 * Raw data scanning
    +	 */
    +case 75:
    +YY_RULE_SETUP
    +#line 527 "parser.l"
    +yy_push_state(yyrcd); cbufidx = 0;
    +	YY_BREAK
    +case 76:
    +YY_RULE_SETUP
    +#line 528 "parser.l"
    +{
    +				yy_pop_state();
    +				yylval.raw = new_raw_data();
    +				yylval.raw->size = cbufidx;
    +				yylval.raw->data = xmalloc(yylval.raw->size);
    +				memcpy(yylval.raw->data, cbuffer, yylval.raw->size);
    +				return tRAWDATA;
    +			}
    +	YY_BREAK
    +case 77:
    +YY_RULE_SETUP
    +#line 536 "parser.l"
    +{
    +				int result;
    +				result = strtol(yytext, 0, 16);
    +				addcchar((char)result);
    +			}
    +	YY_BREAK
    +case 78:
    +YY_RULE_SETUP
    +#line 541 "parser.l"
    +;	/* Ignore space */
    +	YY_BREAK
    +case 79:
    +YY_RULE_SETUP
    +#line 542 "parser.l"
    +line_number++; char_number = 1;
    +	YY_BREAK
    +case 80:
    +YY_RULE_SETUP
    +#line 543 "parser.l"
    +yyerror("Malformed data-line");
    +	YY_BREAK
    +/*
    +	 * Comment stripping
    +	 * Should never occur after preprocessing
    +	 */
    +case 81:
    +YY_RULE_SETUP
    +#line 549 "parser.l"
    +{
    +				yy_push_state(comment);
    +				save_wanted_id = wanted_id;
    +				if(!no_preprocess)
    +					yywarning("Found comments after preprocessing, please report");
    +			}
    +	YY_BREAK
    +case 82:
    +YY_RULE_SETUP
    +#line 555 "parser.l"
    +;
    +	YY_BREAK
    +case 83:
    +YY_RULE_SETUP
    +#line 556 "parser.l"
    +;
    +	YY_BREAK
    +case 84:
    +YY_RULE_SETUP
    +#line 557 "parser.l"
    +line_number++; char_number = 1;
    +	YY_BREAK
    +case 85:
    +YY_RULE_SETUP
    +#line 558 "parser.l"
    +yy_pop_state(); want_id = save_wanted_id;
    +	YY_BREAK
    +case 86:
    +YY_RULE_SETUP
    +#line 560 "parser.l"
    +want_id = wanted_id; /* not really comment, but left-over c-junk */
    +	YY_BREAK
    +case 87:
    +YY_RULE_SETUP
    +#line 561 "parser.l"
    +want_id = wanted_id; if(!no_preprocess) yywarning("Found comments after preprocessing, please report");
    +	YY_BREAK
    +case 88:
    +YY_RULE_SETUP
    +#line 563 "parser.l"
    +{
    +				want_id = wanted_id;
    +				line_number++;
    +				char_number = 1;
    +				if(want_nl)
    +				{
    +					want_nl = 0;
    +					return tNL;
    +				}
    +			}
    +	YY_BREAK
    +case 89:
    +YY_RULE_SETUP
    +#line 573 "parser.l"
    +want_id = wanted_id;	/* Eat whitespace */
    +	YY_BREAK
    +case 90:
    +YY_RULE_SETUP
    +#line 575 "parser.l"
    +return yytext[0];
    +	YY_BREAK
    +case YY_STATE_EOF(INITIAL):
    +case YY_STATE_EOF(yystr):
    +case YY_STATE_EOF(yylstr):
    +case YY_STATE_EOF(yyrcd):
    +case YY_STATE_EOF(comment):
    +case YY_STATE_EOF(pp_stripe):
    +case YY_STATE_EOF(pp_strips):
    +case YY_STATE_EOF(pp_stripp):
    +case YY_STATE_EOF(pp_stripp_final):
    +case YY_STATE_EOF(pp_line):
    +case YY_STATE_EOF(pp_pragma):
    +case YY_STATE_EOF(pp_code_page):
    +#line 577 "parser.l"
    +{
    +				if(YY_START == pp_strips || YY_START == pp_stripe || YY_START == pp_stripp || YY_START == pp_stripp_final)
    +					yyerror("Unexpected end of file during c-junk scanning (started at %d)", cjunk_tagline);
    +				else
    +					yyterminate();
    +			}
    +	YY_BREAK
    +case 91:
    +YY_RULE_SETUP
    +#line 584 "parser.l"
    +{
    +				/* Catch all rule to find any unmatched text */
    +				if(*yytext == '\n')
    +				{
    +					line_number++;
    +					char_number = 1;
    +				}
    +				yywarning("Unmatched text '%c' (0x%02x) YY_START=%d stripslevel=%d",
    +					isprint(*yytext & 0xff) ? *yytext : '.', *yytext, YY_START,stripslevel);
    +			}
    +	YY_BREAK
    +case 92:
    +YY_RULE_SETUP
    +#line 595 "parser.l"
    +ECHO;
    +	YY_BREAK
    +#line 8100 "lex.yy.c"
    +
    +	case YY_END_OF_BUFFER:
    +		{
    +		/* Amount of text matched not including the EOB char. */
    +		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
    +
    +		/* Undo the effects of YY_DO_BEFORE_ACTION. */
    +		*yy_cp = yy_hold_char;
    +		YY_RESTORE_YY_MORE_OFFSET
    +
    +		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
    +			{
    +			/* We're scanning a new file or input source.  It's
    +			 * possible that this happened because the user
    +			 * just pointed yyin at a new source and called
    +			 * yylex().  If so, then we have to assure
    +			 * consistency between yy_current_buffer and our
    +			 * globals.  Here is the right place to do so, because
    +			 * this is the first action (other than possibly a
    +			 * back-up) that will match for the new input source.
    +			 */
    +			yy_n_chars = yy_current_buffer->yy_n_chars;
    +			yy_current_buffer->yy_input_file = yyin;
    +			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
    +			}
    +
    +		/* Note that here we test for yy_c_buf_p "<=" to the position
    +		 * of the first EOB in the buffer, since yy_c_buf_p will
    +		 * already have been incremented past the NUL character
    +		 * (since all states make transitions on EOB to the
    +		 * end-of-buffer state).  Contrast this with the test
    +		 * in input().
    +		 */
    +		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    +			{ /* This was really a NUL. */
    +			yy_state_type yy_next_state;
    +
    +			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
    +
    +			yy_current_state = yy_get_previous_state();
    +
    +			/* Okay, we're now positioned to make the NUL
    +			 * transition.  We couldn't have
    +			 * yy_get_previous_state() go ahead and do it
    +			 * for us because it doesn't know how to deal
    +			 * with the possibility of jamming (and we don't
    +			 * want to build jamming into it because then it
    +			 * will run more slowly).
    +			 */
    +
    +			yy_next_state = yy_try_NUL_trans( yy_current_state );
    +
    +			yy_bp = yytext_ptr + YY_MORE_ADJ;
    +
    +			if ( yy_next_state )
    +				{
    +				/* Consume the NUL. */
    +				yy_cp = ++yy_c_buf_p;
    +				yy_current_state = yy_next_state;
    +				goto yy_match;
    +				}
    +
    +			else
    +				{
    +				yy_cp = yy_c_buf_p;
    +				goto yy_find_action;
    +				}
    +			}
    +
    +		else switch ( yy_get_next_buffer() )
    +			{
    +			case EOB_ACT_END_OF_FILE:
    +				{
    +				yy_did_buffer_switch_on_eof = 0;
    +
    +				if ( yywrap() )
    +					{
    +					/* Note: because we've taken care in
    +					 * yy_get_next_buffer() to have set up
    +					 * yytext, we can now set up
    +					 * yy_c_buf_p so that if some total
    +					 * hoser (like flex itself) wants to
    +					 * call the scanner after we return the
    +					 * YY_NULL, it'll still work - another
    +					 * YY_NULL will get returned.
    +					 */
    +					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
    +
    +					yy_act = YY_STATE_EOF(YY_START);
    +					goto do_action;
    +					}
    +
    +				else
    +					{
    +					if ( ! yy_did_buffer_switch_on_eof )
    +						YY_NEW_FILE;
    +					}
    +				break;
    +				}
    +
    +			case EOB_ACT_CONTINUE_SCAN:
    +				yy_c_buf_p =
    +					yytext_ptr + yy_amount_of_matched_text;
    +
    +				yy_current_state = yy_get_previous_state();
    +
    +				yy_cp = yy_c_buf_p;
    +				yy_bp = yytext_ptr + YY_MORE_ADJ;
    +				goto yy_match;
    +
    +			case EOB_ACT_LAST_MATCH:
    +				yy_c_buf_p =
    +				&yy_current_buffer->yy_ch_buf[yy_n_chars];
    +
    +				yy_current_state = yy_get_previous_state();
    +
    +				yy_cp = yy_c_buf_p;
    +				yy_bp = yytext_ptr + YY_MORE_ADJ;
    +				goto yy_find_action;
    +			}
    +		break;
    +		}
    +
    +	default:
    +		YY_FATAL_ERROR(
    +			"fatal flex scanner internal error--no action found" );
    +	} /* end of action switch */
    +		} /* end of scanning one token */
    +	} /* end of yylex */
    +
    +
    +/* yy_get_next_buffer - try to read in a new buffer
    + *
    + * Returns a code representing an action:
    + *	EOB_ACT_LAST_MATCH -
    + *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
    + *	EOB_ACT_END_OF_FILE - end of file
    + */
    +
    +static int yy_get_next_buffer()
    +	{
    +	register char *dest = yy_current_buffer->yy_ch_buf;
    +	register char *source = yytext_ptr;
    +	register int number_to_move, i;
    +	int ret_val;
    +
    +	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
    +		YY_FATAL_ERROR(
    +		"fatal flex scanner internal error--end of buffer missed" );
    +
    +	if ( yy_current_buffer->yy_fill_buffer == 0 )
    +		{ /* Don't try to fill the buffer, so this is an EOF. */
    +		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
    +			{
    +			/* We matched a single character, the EOB, so
    +			 * treat this as a final EOF.
    +			 */
    +			return EOB_ACT_END_OF_FILE;
    +			}
    +
    +		else
    +			{
    +			/* We matched some text prior to the EOB, first
    +			 * process it.
    +			 */
    +			return EOB_ACT_LAST_MATCH;
    +			}
    +		}
    +
    +	/* Try to read more data. */
    +
    +	/* First move last chars to start of buffer. */
    +	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
    +
    +	for ( i = 0; i < number_to_move; ++i )
    +		*(dest++) = *(source++);
    +
    +	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
    +		/* don't do the read, it's not guaranteed to return an EOF,
    +		 * just force an EOF
    +		 */
    +		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
    +
    +	else
    +		{
    +		int num_to_read =
    +			yy_current_buffer->yy_buf_size - number_to_move - 1;
    +
    +		while ( num_to_read <= 0 )
    +			{ /* Not enough room in the buffer - grow it. */
    +#ifdef YY_USES_REJECT
    +			YY_FATAL_ERROR(
    +"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
    +#else
    +
    +			/* just a shorter name for the current buffer */
    +			YY_BUFFER_STATE b = yy_current_buffer;
    +
    +			int yy_c_buf_p_offset =
    +				(int) (yy_c_buf_p - b->yy_ch_buf);
    +
    +			if ( b->yy_is_our_buffer )
    +				{
    +				int new_size = b->yy_buf_size * 2;
    +
    +				if ( new_size <= 0 )
    +					b->yy_buf_size += b->yy_buf_size / 8;
    +				else
    +					b->yy_buf_size *= 2;
    +
    +				b->yy_ch_buf = (char *)
    +					/* Include room in for 2 EOB chars. */
    +					yy_flex_realloc( (void *) b->yy_ch_buf,
    +							 b->yy_buf_size + 2 );
    +				}
    +			else
    +				/* Can't grow it, we don't own it. */
    +				b->yy_ch_buf = 0;
    +
    +			if ( ! b->yy_ch_buf )
    +				YY_FATAL_ERROR(
    +				"fatal error - scanner input buffer overflow" );
    +
    +			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
    +
    +			num_to_read = yy_current_buffer->yy_buf_size -
    +						number_to_move - 1;
    +#endif
    +			}
    +
    +		if ( num_to_read > YY_READ_BUF_SIZE )
    +			num_to_read = YY_READ_BUF_SIZE;
    +
    +		/* Read in more data. */
    +		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
    +			yy_n_chars, num_to_read );
    +
    +		yy_current_buffer->yy_n_chars = yy_n_chars;
    +		}
    +
    +	if ( yy_n_chars == 0 )
    +		{
    +		if ( number_to_move == YY_MORE_ADJ )
    +			{
    +			ret_val = EOB_ACT_END_OF_FILE;
    +			yyrestart( yyin );
    +			}
    +
    +		else
    +			{
    +			ret_val = EOB_ACT_LAST_MATCH;
    +			yy_current_buffer->yy_buffer_status =
    +				YY_BUFFER_EOF_PENDING;
    +			}
    +		}
    +
    +	else
    +		ret_val = EOB_ACT_CONTINUE_SCAN;
    +
    +	yy_n_chars += number_to_move;
    +	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
    +	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
    +
    +	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
    +
    +	return ret_val;
    +	}
    +
    +
    +/* yy_get_previous_state - get the state just before the EOB char was reached */
    +
    +static yy_state_type yy_get_previous_state()
    +	{
    +	register yy_state_type yy_current_state;
    +	register char *yy_cp;
    +
    +	yy_current_state = yy_start;
    +	yy_current_state += YY_AT_BOL();
    +
    +	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
    +		{
    +		if ( *yy_cp )
    +			{
    +			yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
    +			}
    +		else
    +			yy_current_state = yy_NUL_trans[yy_current_state];
    +		if ( yy_accept[yy_current_state] )
    +			{
    +			yy_last_accepting_state = yy_current_state;
    +			yy_last_accepting_cpos = yy_cp;
    +			}
    +		}
    +
    +	return yy_current_state;
    +	}
    +
    +
    +/* yy_try_NUL_trans - try to make a transition on the NUL character
    + *
    + * synopsis
    + *	next_state = yy_try_NUL_trans( current_state );
    + */
    +
    +#ifdef YY_USE_PROTOS
    +static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
    +#else
    +static yy_state_type yy_try_NUL_trans( yy_current_state )
    +yy_state_type yy_current_state;
    +#endif
    +	{
    +	register int yy_is_jam;
    +	register char *yy_cp = yy_c_buf_p;
    +
    +	yy_current_state = yy_NUL_trans[yy_current_state];
    +	yy_is_jam = (yy_current_state == 0);
    +
    +	if ( ! yy_is_jam )
    +		{
    +		if ( yy_accept[yy_current_state] )
    +			{
    +			yy_last_accepting_state = yy_current_state;
    +			yy_last_accepting_cpos = yy_cp;
    +			}
    +		}
    +
    +	return yy_is_jam ? 0 : yy_current_state;
    +	}
    +
    +
    +#ifndef YY_NO_UNPUT
    +#ifdef YY_USE_PROTOS
    +static void yyunput( int c, register char *yy_bp )
    +#else
    +static void yyunput( c, yy_bp )
    +int c;
    +register char *yy_bp;
    +#endif
    +	{
    +	register char *yy_cp = yy_c_buf_p;
    +
    +	/* undo effects of setting up yytext */
    +	*yy_cp = yy_hold_char;
    +
    +	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    +		{ /* need to shift things up to make room */
    +		/* +2 for EOB chars. */
    +		register int number_to_move = yy_n_chars + 2;
    +		register char *dest = &yy_current_buffer->yy_ch_buf[
    +					yy_current_buffer->yy_buf_size + 2];
    +		register char *source =
    +				&yy_current_buffer->yy_ch_buf[number_to_move];
    +
    +		while ( source > yy_current_buffer->yy_ch_buf )
    +			*--dest = *--source;
    +
    +		yy_cp += (int) (dest - source);
    +		yy_bp += (int) (dest - source);
    +		yy_current_buffer->yy_n_chars =
    +			yy_n_chars = yy_current_buffer->yy_buf_size;
    +
    +		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
    +			YY_FATAL_ERROR( "flex scanner push-back overflow" );
    +		}
    +
    +	*--yy_cp = (char) c;
    +
    +
    +	yytext_ptr = yy_bp;
    +	yy_hold_char = *yy_cp;
    +	yy_c_buf_p = yy_cp;
    +	}
    +#endif	/* ifndef YY_NO_UNPUT */
    +
    +
    +#ifdef __cplusplus
    +static int yyinput()
    +#else
    +static int input()
    +#endif
    +	{
    +	int c;
    +
    +	*yy_c_buf_p = yy_hold_char;
    +
    +	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
    +		{
    +		/* yy_c_buf_p now points to the character we want to return.
    +		 * If this occurs *before* the EOB characters, then it's a
    +		 * valid NUL; if not, then we've hit the end of the buffer.
    +		 */
    +		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
    +			/* This was really a NUL. */
    +			*yy_c_buf_p = '\0';
    +
    +		else
    +			{ /* need more input */
    +			int offset = yy_c_buf_p - yytext_ptr;
    +			++yy_c_buf_p;
    +
    +			switch ( yy_get_next_buffer() )
    +				{
    +				case EOB_ACT_LAST_MATCH:
    +					/* This happens because yy_g_n_b()
    +					 * sees that we've accumulated a
    +					 * token and flags that we need to
    +					 * try matching the token before
    +					 * proceeding.  But for input(),
    +					 * there's no matching to consider.
    +					 * So convert the EOB_ACT_LAST_MATCH
    +					 * to EOB_ACT_END_OF_FILE.
    +					 */
    +
    +					/* Reset buffer status. */
    +					yyrestart( yyin );
    +
    +					/* fall through */
    +
    +				case EOB_ACT_END_OF_FILE:
    +					{
    +					if ( yywrap() )
    +						return EOF;
    +
    +					if ( ! yy_did_buffer_switch_on_eof )
    +						YY_NEW_FILE;
    +#ifdef __cplusplus
    +					return yyinput();
    +#else
    +					return input();
    +#endif
    +					}
    +
    +				case EOB_ACT_CONTINUE_SCAN:
    +					yy_c_buf_p = yytext_ptr + offset;
    +					break;
    +				}
    +			}
    +		}
    +
    +	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
    +	*yy_c_buf_p = '\0';	/* preserve yytext */
    +	yy_hold_char = *++yy_c_buf_p;
    +
    +	yy_current_buffer->yy_at_bol = (c == '\n');
    +
    +	return c;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yyrestart( FILE *input_file )
    +#else
    +void yyrestart( input_file )
    +FILE *input_file;
    +#endif
    +	{
    +	if ( ! yy_current_buffer )
    +		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
    +
    +	yy_init_buffer( yy_current_buffer, input_file );
    +	yy_load_buffer_state();
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
    +#else
    +void yy_switch_to_buffer( new_buffer )
    +YY_BUFFER_STATE new_buffer;
    +#endif
    +	{
    +	if ( yy_current_buffer == new_buffer )
    +		return;
    +
    +	if ( yy_current_buffer )
    +		{
    +		/* Flush out information for old buffer. */
    +		*yy_c_buf_p = yy_hold_char;
    +		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
    +		yy_current_buffer->yy_n_chars = yy_n_chars;
    +		}
    +
    +	yy_current_buffer = new_buffer;
    +	yy_load_buffer_state();
    +
    +	/* We don't actually know whether we did this switch during
    +	 * EOF (yywrap()) processing, but the only time this flag
    +	 * is looked at is after yywrap() is called, so it's safe
    +	 * to go ahead and always set it.
    +	 */
    +	yy_did_buffer_switch_on_eof = 1;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_load_buffer_state( void )
    +#else
    +void yy_load_buffer_state()
    +#endif
    +	{
    +	yy_n_chars = yy_current_buffer->yy_n_chars;
    +	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
    +	yyin = yy_current_buffer->yy_input_file;
    +	yy_hold_char = *yy_c_buf_p;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
    +#else
    +YY_BUFFER_STATE yy_create_buffer( file, size )
    +FILE *file;
    +int size;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +
    +	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    +
    +	b->yy_buf_size = size;
    +
    +	/* yy_ch_buf has to be 2 characters longer than the size given because
    +	 * we need to put in 2 end-of-buffer characters.
    +	 */
    +	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
    +	if ( ! b->yy_ch_buf )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    +
    +	b->yy_is_our_buffer = 1;
    +
    +	yy_init_buffer( b, file );
    +
    +	return b;
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_delete_buffer( YY_BUFFER_STATE b )
    +#else
    +void yy_delete_buffer( b )
    +YY_BUFFER_STATE b;
    +#endif
    +	{
    +	if ( ! b )
    +		return;
    +
    +	if ( b == yy_current_buffer )
    +		yy_current_buffer = (YY_BUFFER_STATE) 0;
    +
    +	if ( b->yy_is_our_buffer )
    +		yy_flex_free( (void *) b->yy_ch_buf );
    +
    +	yy_flex_free( (void *) b );
    +	}
    +
    +
    +#ifndef _WIN32
    +#include 
    +#else
    +#ifndef YY_ALWAYS_INTERACTIVE
    +#ifndef YY_NEVER_INTERACTIVE
    +extern int isatty YY_PROTO(( int ));
    +#endif
    +#endif
    +#endif
    +
    +#ifdef YY_USE_PROTOS
    +void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
    +#else
    +void yy_init_buffer( b, file )
    +YY_BUFFER_STATE b;
    +FILE *file;
    +#endif
    +
    +
    +	{
    +	yy_flush_buffer( b );
    +
    +	b->yy_input_file = file;
    +	b->yy_fill_buffer = 1;
    +
    +#if YY_ALWAYS_INTERACTIVE
    +	b->yy_is_interactive = 1;
    +#else
    +#if YY_NEVER_INTERACTIVE
    +	b->yy_is_interactive = 0;
    +#else
    +	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
    +#endif
    +#endif
    +	}
    +
    +
    +#ifdef YY_USE_PROTOS
    +void yy_flush_buffer( YY_BUFFER_STATE b )
    +#else
    +void yy_flush_buffer( b )
    +YY_BUFFER_STATE b;
    +#endif
    +
    +	{
    +	if ( ! b )
    +		return;
    +
    +	b->yy_n_chars = 0;
    +
    +	/* We always need two end-of-buffer characters.  The first causes
    +	 * a transition to the end-of-buffer state.  The second causes
    +	 * a jam in that state.
    +	 */
    +	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
    +	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
    +
    +	b->yy_buf_pos = &b->yy_ch_buf[0];
    +
    +	b->yy_at_bol = 1;
    +	b->yy_buffer_status = YY_BUFFER_NEW;
    +
    +	if ( b == yy_current_buffer )
    +		yy_load_buffer_state();
    +	}
    +
    +
    +#ifndef YY_NO_SCAN_BUFFER
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
    +#else
    +YY_BUFFER_STATE yy_scan_buffer( base, size )
    +char *base;
    +yy_size_t size;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +
    +	if ( size < 2 ||
    +	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
    +	     base[size-1] != YY_END_OF_BUFFER_CHAR )
    +		/* They forgot to leave room for the EOB's. */
    +		return 0;
    +
    +	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
    +
    +	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
    +	b->yy_buf_pos = b->yy_ch_buf = base;
    +	b->yy_is_our_buffer = 0;
    +	b->yy_input_file = 0;
    +	b->yy_n_chars = b->yy_buf_size;
    +	b->yy_is_interactive = 0;
    +	b->yy_at_bol = 1;
    +	b->yy_fill_buffer = 0;
    +	b->yy_buffer_status = YY_BUFFER_NEW;
    +
    +	yy_switch_to_buffer( b );
    +
    +	return b;
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_SCAN_STRING
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
    +#else
    +YY_BUFFER_STATE yy_scan_string( yy_str )
    +yyconst char *yy_str;
    +#endif
    +	{
    +	int len;
    +	for ( len = 0; yy_str[len]; ++len )
    +		;
    +
    +	return yy_scan_bytes( yy_str, len );
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_SCAN_BYTES
    +#ifdef YY_USE_PROTOS
    +YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
    +#else
    +YY_BUFFER_STATE yy_scan_bytes( bytes, len )
    +yyconst char *bytes;
    +int len;
    +#endif
    +	{
    +	YY_BUFFER_STATE b;
    +	char *buf;
    +	yy_size_t n;
    +	int i;
    +
    +	/* Get memory for full buffer, including space for trailing EOB's. */
    +	n = len + 2;
    +	buf = (char *) yy_flex_alloc( n );
    +	if ( ! buf )
    +		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
    +
    +	for ( i = 0; i < len; ++i )
    +		buf[i] = bytes[i];
    +
    +	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
    +
    +	b = yy_scan_buffer( buf, n );
    +	if ( ! b )
    +		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
    +
    +	/* It's okay to grow etc. this buffer, and we should throw it
    +	 * away when we're done.
    +	 */
    +	b->yy_is_our_buffer = 1;
    +
    +	return b;
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_PUSH_STATE
    +#ifdef YY_USE_PROTOS
    +static void yy_push_state( int new_state )
    +#else
    +static void yy_push_state( new_state )
    +int new_state;
    +#endif
    +	{
    +	if ( yy_start_stack_ptr >= yy_start_stack_depth )
    +		{
    +		yy_size_t new_size;
    +
    +		yy_start_stack_depth += YY_START_STACK_INCR;
    +		new_size = yy_start_stack_depth * sizeof( int );
    +
    +		if ( ! yy_start_stack )
    +			yy_start_stack = (int *) yy_flex_alloc( new_size );
    +
    +		else
    +			yy_start_stack = (int *) yy_flex_realloc(
    +					(void *) yy_start_stack, new_size );
    +
    +		if ( ! yy_start_stack )
    +			YY_FATAL_ERROR(
    +			"out of memory expanding start-condition stack" );
    +		}
    +
    +	yy_start_stack[yy_start_stack_ptr++] = YY_START;
    +
    +	BEGIN(new_state);
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_POP_STATE
    +static void yy_pop_state()
    +	{
    +	if ( --yy_start_stack_ptr < 0 )
    +		YY_FATAL_ERROR( "start-condition stack underflow" );
    +
    +	BEGIN(yy_start_stack[yy_start_stack_ptr]);
    +	}
    +#endif
    +
    +
    +#ifndef YY_NO_TOP_STATE
    +static int yy_top_state()
    +	{
    +	return yy_start_stack[yy_start_stack_ptr - 1];
    +	}
    +#endif
    +
    +#ifndef YY_EXIT_FAILURE
    +#define YY_EXIT_FAILURE 2
    +#endif
    +
    +#ifdef YY_USE_PROTOS
    +static void yy_fatal_error( yyconst char msg[] )
    +#else
    +static void yy_fatal_error( msg )
    +char msg[];
    +#endif
    +	{
    +	(void) fprintf( stderr, "%s\n", msg );
    +	exit( YY_EXIT_FAILURE );
    +	}
    +
    +
    +
    +/* Redefine yyless() so it works in section 3 code. */
    +
    +#undef yyless
    +#define yyless(n) \
    +	do \
    +		{ \
    +		/* Undo effects of setting up yytext. */ \
    +		yytext[yyleng] = yy_hold_char; \
    +		yy_c_buf_p = yytext + n; \
    +		yy_hold_char = *yy_c_buf_p; \
    +		*yy_c_buf_p = '\0'; \
    +		yyleng = n; \
    +		} \
    +	while ( 0 )
    +
    +
    +/* Internal utility routines. */
    +
    +#ifndef yytext_ptr
    +#ifdef YY_USE_PROTOS
    +static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
    +#else
    +static void yy_flex_strncpy( s1, s2, n )
    +char *s1;
    +yyconst char *s2;
    +int n;
    +#endif
    +	{
    +	register int i;
    +	for ( i = 0; i < n; ++i )
    +		s1[i] = s2[i];
    +	}
    +#endif
    +
    +#ifdef YY_NEED_STRLEN
    +#ifdef YY_USE_PROTOS
    +static int yy_flex_strlen( yyconst char *s )
    +#else
    +static int yy_flex_strlen( s )
    +yyconst char *s;
    +#endif
    +	{
    +	register int n;
    +	for ( n = 0; s[n]; ++n )
    +		;
    +
    +	return n;
    +	}
    +#endif
    +
    +
    +#ifdef YY_USE_PROTOS
    +static void *yy_flex_alloc( yy_size_t size )
    +#else
    +static void *yy_flex_alloc( size )
    +yy_size_t size;
    +#endif
    +	{
    +	return (void *) malloc( size );
    +	}
    +
    +#ifdef YY_USE_PROTOS
    +static void *yy_flex_realloc( void *ptr, yy_size_t size )
    +#else
    +static void *yy_flex_realloc( ptr, size )
    +void *ptr;
    +yy_size_t size;
    +#endif
    +	{
    +	/* The cast to (char *) in the following accommodates both
    +	 * implementations that use char* generic pointers, and those
    +	 * that use void* generic pointers.  It works with the latter
    +	 * because both ANSI C and C++ allow castless assignment from
    +	 * any pointer type to void*, and deal with argument conversions
    +	 * as though doing an assignment.
    +	 */
    +	return (void *) realloc( (char *) ptr, size );
    +	}
    +
    +#ifdef YY_USE_PROTOS
    +static void yy_flex_free( void *ptr )
    +#else
    +static void yy_flex_free( ptr )
    +void *ptr;
    +#endif
    +	{
    +	free( ptr );
    +	}
    +
    +#if YY_MAIN
    +int main()
    +	{
    +	yylex();
    +	return 0;
    +	}
    +#endif
    +#line 595 "parser.l"
    +
    +
    +#ifndef yywrap
    +int yywrap(void)
    +{
    +#if 0
    +	if(bufferstackidx > 0)
    +	{
    +		return 0;
    + 	}
    +#endif
    +	return 1;
    +}
    +#endif
    +
    +/* These dup functions copy the enclosed '\0' from
    + * the resource string.
    + */
    +static void addcchar(char c)
    +{
    +	if(cbufidx >= cbufalloc)
    +	{
    +		cbufalloc += 1024;
    +		cbuffer = xrealloc(cbuffer, cbufalloc * sizeof(cbuffer[0]));
    +		if(cbufalloc > 65536)
    +			yywarning("Reallocating string buffer larger than 64kB");
    +	}
    +	cbuffer[cbufidx++] = c;
    +}
    +
    +static void addwchar(WCHAR s)
    +{
    +	if(wbufidx >= wbufalloc)
    +	{
    +		wbufalloc += 1024;
    +		wbuffer = xrealloc(wbuffer, wbufalloc * sizeof(wbuffer[0]));
    +		if(wbufalloc > 65536)
    +			yywarning("Reallocating wide string buffer larger than 64kB");
    +	}
    +	wbuffer[wbufidx++] = s;
    +}
    +
    +static string_t *get_buffered_cstring(void)
    +{
    +    string_t *str = new_string();
    +
    +    str->size = cbufidx;
    +    str->type = str_char;
    +    str->str.cstr = (char *)xmalloc(cbufidx+1);
    +    memcpy(str->str.cstr, cbuffer, cbufidx);
    +    str->str.cstr[cbufidx] = '\0';
    +
    +    if (!current_codepage || current_codepage == -1 || !win32)  /* store as ANSI string */
    +    {
    +        if (!current_codepage) yyerror("Codepage set to Unicode only, cannot use ASCII string here");
    +        return str;
    +    }
    +    else  /* convert to Unicode before storing */
    +    {
    +        string_t *str_w = convert_string( str, str_unicode, current_codepage );
    +        if (!check_unicode_conversion( str, str_w, current_codepage ))
    +            yyerror("String %s does not convert identically to Unicode and back in codepage %d. "
    +                    "Try using a Unicode string instead.", str->str.cstr, current_codepage );
    +        free_string( str );
    +        return str_w;
    +    }
    +}
    +
    +static string_t *get_buffered_wstring(void)
    +{
    +	string_t *str = new_string();
    +	str->size = wbufidx;
    +	str->type = str_unicode;
    +	str->str.wstr = xmalloc((wbufidx+1)*sizeof(WCHAR));
    +	memcpy(str->str.wstr, wbuffer, wbufidx*sizeof(WCHAR));
    +	str->str.wstr[wbufidx] = 0;
    +	return str;
    +}
    +
    +static string_t *make_string(char *s)
    +{
    +	string_t *str = new_string();
    +	str->size = strlen(s);
    +	str->type = str_char;
    +	str->str.cstr = (char *)xmalloc(str->size+1);
    +	memcpy(str->str.cstr, s, str->size+1);
    +	return str;
    +}
    diff --git a/reactos/tools/wrc/newstruc.c b/reactos/tools/wrc/newstruc.c
    new file mode 100644
    index 00000000000..499844a9f05
    --- /dev/null
    +++ b/reactos/tools/wrc/newstruc.c
    @@ -0,0 +1,1181 @@
    +/*
    + * Create dynamic new structures of various types
    + * and some utils in that trend.
    + *
    + * Copyright 1998 Bertho A. Stultiens
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wrc.h"
    +#include "newstruc.h"
    +#include "utils.h"
    +#include "parser.h"
    +
    +#include "wingdi.h"	/* for BITMAPINFOHEADER */
    +
    +#include 
    +typedef struct
    +{
    +    DWORD biSize;
    +    WORD  biWidth;
    +    WORD  biHeight;
    +    WORD  biPlanes;
    +    WORD  biBitCount;
    +} BITMAPOS2HEADER;
    +#include 
    +
    +/* Generate new_* functions that have no parameters (NOTE: no ';') */
    +__NEW_STRUCT_FUNC(dialog)
    +__NEW_STRUCT_FUNC(dialogex)
    +__NEW_STRUCT_FUNC(name_id)
    +__NEW_STRUCT_FUNC(menu)
    +__NEW_STRUCT_FUNC(menuex)
    +__NEW_STRUCT_FUNC(menu_item)
    +__NEW_STRUCT_FUNC(menuex_item)
    +__NEW_STRUCT_FUNC(control)
    +__NEW_STRUCT_FUNC(icon)
    +__NEW_STRUCT_FUNC(cursor)
    +__NEW_STRUCT_FUNC(versioninfo)
    +__NEW_STRUCT_FUNC(ver_value)
    +__NEW_STRUCT_FUNC(ver_block)
    +__NEW_STRUCT_FUNC(stt_entry)
    +__NEW_STRUCT_FUNC(accelerator)
    +__NEW_STRUCT_FUNC(event)
    +__NEW_STRUCT_FUNC(raw_data)
    +__NEW_STRUCT_FUNC(lvc)
    +__NEW_STRUCT_FUNC(res_count)
    +__NEW_STRUCT_FUNC(string)
    +__NEW_STRUCT_FUNC(toolbar_item)
    +__NEW_STRUCT_FUNC(ani_any)
    +
    +/* New instances for all types of structures */
    +/* Very inefficient (in size), but very functional :-]
    + * Especially for type-checking.
    + */
    +resource_t *new_resource(enum res_e t, void *res, int memopt, language_t *lan)
    +{
    +	resource_t *r = (resource_t *)xmalloc(sizeof(resource_t));
    +	r->type = t;
    +	r->res.overlay = res;
    +	r->memopt = memopt;
    +	r->lan = lan;
    +	return r;
    +}
    +
    +version_t *new_version(DWORD v)
    +{
    +	version_t *vp = (version_t *)xmalloc(sizeof(version_t));
    +	*vp = v;
    +	return vp;
    +}
    +
    +characts_t *new_characts(DWORD c)
    +{
    +	characts_t *cp = (characts_t *)xmalloc(sizeof(characts_t));
    +	*cp = c;
    +	return cp;
    +}
    +
    +language_t *new_language(int id, int sub)
    +{
    +	language_t *lan = (language_t *)xmalloc(sizeof(language_t));
    +	lan->id = id;
    +	lan->sub = sub;
    +	return lan;
    +}
    +
    +language_t *dup_language(language_t *l)
    +{
    +	if(!l) return NULL;
    +	return new_language(l->id, l->sub);
    +}
    +
    +version_t *dup_version(version_t *v)
    +{
    +	if(!v) return NULL;
    +	return new_version(*v);
    +}
    +
    +characts_t *dup_characts(characts_t *c)
    +{
    +	if(!c) return NULL;
    +	return new_characts(*c);
    +}
    +
    +rcdata_t *new_rcdata(raw_data_t *rd, int *memopt)
    +{
    +	rcdata_t *rc = (rcdata_t *)xmalloc(sizeof(rcdata_t));
    +	rc->data = rd;
    +	if(memopt)
    +	{
    +		rc->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		rc->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE;
    +	return rc;
    +}
    +
    +font_id_t *new_font_id(int size, string_t *face, int weight, int italic)
    +{
    +	font_id_t *fid = (font_id_t *)xmalloc(sizeof(font_id_t));
    +	fid->name = face;
    +	fid->size = size;
    +	fid->weight = weight;
    +	fid->italic = italic;
    +	return fid;
    +}
    +
    +user_t *new_user(name_id_t *type, raw_data_t *rd, int *memopt)
    +{
    +	user_t *usr = (user_t *)xmalloc(sizeof(user_t));
    +	usr->data = rd;
    +	if(memopt)
    +	{
    +		usr->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		usr->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE;
    +	usr->type = type;
    +	return usr;
    +}
    +
    +font_t *new_font(raw_data_t *rd, int *memopt)
    +{
    +	font_t *fnt = (font_t *)xmalloc(sizeof(font_t));
    +	fnt->data = rd;
    +	if(memopt)
    +	{
    +		fnt->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		fnt->memopt = WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE;
    +	return fnt;
    +}
    +
    +fontdir_t *new_fontdir(raw_data_t *rd, int *memopt)
    +{
    +	fontdir_t *fnd = (fontdir_t *)xmalloc(sizeof(fontdir_t));
    +	fnd->data = rd;
    +	if(memopt)
    +	{
    +		fnd->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		fnd->memopt = WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE;
    +	return fnd;
    +}
    +
    +
    +/*
    + * Convert bitmaps to proper endian
    + */
    +static void convert_bitmap_swap_v3(BITMAPINFOHEADER *bih)
    +{
    +	bih->biSize		= BYTESWAP_DWORD(bih->biSize);
    +	bih->biWidth		= BYTESWAP_DWORD(bih->biWidth);
    +	bih->biHeight		= BYTESWAP_DWORD(bih->biHeight);
    +	bih->biPlanes		= BYTESWAP_WORD(bih->biPlanes);
    +	bih->biBitCount		= BYTESWAP_WORD(bih->biBitCount);
    +	bih->biCompression	= BYTESWAP_DWORD(bih->biCompression);
    +	bih->biSizeImage	= BYTESWAP_DWORD(bih->biSizeImage);
    +	bih->biXPelsPerMeter	= BYTESWAP_DWORD(bih->biXPelsPerMeter);
    +	bih->biYPelsPerMeter	= BYTESWAP_DWORD(bih->biYPelsPerMeter);
    +	bih->biClrUsed		= BYTESWAP_DWORD(bih->biClrUsed);
    +	bih->biClrImportant	= BYTESWAP_DWORD(bih->biClrImportant);
    +}
    +
    +static void convert_bitmap_swap_v4(BITMAPV4HEADER *b4h)
    +{
    +	convert_bitmap_swap_v3((BITMAPINFOHEADER *)b4h);
    +	b4h->bV4RedMask		= BYTESWAP_DWORD(b4h->bV4RedMask);
    +	b4h->bV4GreenMask	= BYTESWAP_DWORD(b4h->bV4GreenMask);
    +	b4h->bV4BlueMask	= BYTESWAP_DWORD(b4h->bV4BlueMask);
    +	b4h->bV4AlphaMask	= BYTESWAP_DWORD(b4h->bV4AlphaMask);
    +	b4h->bV4CSType		= BYTESWAP_DWORD(b4h->bV4CSType);
    +	b4h->bV4Endpoints.ciexyzRed.ciexyzX	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzRed.ciexyzX);
    +	b4h->bV4Endpoints.ciexyzRed.ciexyzY	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzRed.ciexyzY);
    +	b4h->bV4Endpoints.ciexyzRed.ciexyzZ	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzRed.ciexyzZ);
    +	b4h->bV4Endpoints.ciexyzGreen.ciexyzX	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzGreen.ciexyzX);
    +	b4h->bV4Endpoints.ciexyzGreen.ciexyzY	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzGreen.ciexyzY);
    +	b4h->bV4Endpoints.ciexyzGreen.ciexyzZ	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzGreen.ciexyzZ);
    +	b4h->bV4Endpoints.ciexyzBlue.ciexyzX	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzBlue.ciexyzX);
    +	b4h->bV4Endpoints.ciexyzBlue.ciexyzY	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzBlue.ciexyzY);
    +	b4h->bV4Endpoints.ciexyzBlue.ciexyzZ	= BYTESWAP_DWORD(b4h->bV4Endpoints.ciexyzBlue.ciexyzZ);
    +	b4h->bV4GammaRed	= BYTESWAP_DWORD(b4h->bV4GammaRed);
    +	b4h->bV4GammaGreen	= BYTESWAP_DWORD(b4h->bV4GammaGreen);
    +	b4h->bV4GammaBlue	= BYTESWAP_DWORD(b4h->bV4GammaBlue);
    +}
    +
    +static void convert_bitmap_swap_os2(BITMAPOS2HEADER *boh)
    +{
    +	boh->biSize		= BYTESWAP_DWORD(boh->biSize);
    +	boh->biWidth		= BYTESWAP_WORD(boh->biWidth);
    +	boh->biHeight		= BYTESWAP_WORD(boh->biHeight);
    +	boh->biPlanes		= BYTESWAP_WORD(boh->biPlanes);
    +	boh->biBitCount		= BYTESWAP_WORD(boh->biBitCount);
    +}
    +
    +#define FL_SIGBE	0x01
    +#define FL_SIZEBE	0x02
    +#define FL_V4		0x04
    +#define FL_OS2		0x08
    +static int convert_bitmap(char *data, int size)
    +{
    +	BITMAPINFOHEADER *bih = (BITMAPINFOHEADER *)data;
    +	BITMAPV4HEADER *b4h = (BITMAPV4HEADER *)data;
    +	BITMAPOS2HEADER *boh = (BITMAPOS2HEADER *)data;
    +	int type = 0;
    +	int returnSize = 0;           /* size to be returned */
    +#ifdef WORDS_BIGENDIAN
    +	DWORD bisizel = BYTESWAP_DWORD(sizeof(BITMAPINFOHEADER));
    +	DWORD b4sizel = BYTESWAP_DWORD(sizeof(BITMAPV4HEADER));
    +	DWORD bosizel = BYTESWAP_DWORD(sizeof(BITMAPOS2HEADER));
    +	DWORD bisizeb = sizeof(BITMAPINFOHEADER);
    +	DWORD b4sizeb = sizeof(BITMAPV4HEADER);
    +	DWORD bosizeb = sizeof(BITMAPOS2HEADER);
    +#else
    +	DWORD bisizel = sizeof(BITMAPINFOHEADER);
    +	DWORD b4sizel = sizeof(BITMAPV4HEADER);
    +	DWORD bosizel = sizeof(BITMAPOS2HEADER);
    +	DWORD bisizeb = BYTESWAP_DWORD(sizeof(BITMAPINFOHEADER));
    +	DWORD b4sizeb = BYTESWAP_DWORD(sizeof(BITMAPV4HEADER));
    +	DWORD bosizeb = BYTESWAP_DWORD(sizeof(BITMAPOS2HEADER));
    +#endif
    +
    +
    +    /*
    +     * Originally the bih and b4h pointers were simply incremented here,
    +     * and memmoved at the end of the function.  This causes alignment
    +     * issues on solaris, so we do the memmove here rather than at the end.
    +     */
    +	if(data[0] == 'B' && data[1] == 'M')
    +	{
    +		/* Little endian signature */
    +         memmove(data, data+sizeof(BITMAPFILEHEADER), size - sizeof(BITMAPFILEHEADER));
    +         returnSize = sizeof(BITMAPFILEHEADER);
    +	}
    +	else if(data[0] == 'M' && data[1] == 'B')
    +	{
    +		type |= FL_SIGBE;	/* Big endian signature */
    +         memmove(data, data+sizeof(BITMAPFILEHEADER), size - sizeof(BITMAPFILEHEADER));
    +         returnSize = sizeof(BITMAPFILEHEADER);
    +
    +	}
    +
    +	if(bih->biSize == bisizel)
    +	{
    +		/* Little endian */
    +	}
    +	else if(bih->biSize == bisizeb)
    +	{
    +		type |= FL_SIZEBE;
    +	}
    +	else if(bih->biSize == b4sizel)
    +	{
    +		type |= FL_V4;
    +	}
    +	else if(bih->biSize == b4sizeb)
    +	{
    +		type |= FL_SIZEBE | FL_V4;
    +	}
    +	else if(!bih->biSize || bih->biSize == bosizel)
    +	{
    +		type |= FL_OS2;
    +	}
    +	else if(bih->biSize == bosizeb)
    +	{
    +		type |= FL_SIZEBE | FL_OS2;
    +	}
    +	else
    +		yyerror("Invalid bitmap format, bih->biSize = %ld", bih->biSize);
    +
    +	switch(type)
    +	{
    +	default:
    +		break;
    +	case FL_SIZEBE:
    +	case FL_SIZEBE | FL_V4:
    +	case FL_SIZEBE | FL_OS2:
    +		yywarning("Bitmap v%c signature little-endian, but size big-endian", type & FL_V4 ? '4' : '3');
    +		break;
    +	case FL_SIGBE:
    +	case FL_SIGBE | FL_V4:
    +	case FL_SIGBE | FL_OS2:
    +		yywarning("Bitmap v%c signature big-endian, but size little-endian", type & FL_V4 ? '4' : '3');
    +		break;
    +	}
    +
    +	switch(byteorder)
    +	{
    +#ifdef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_BIG:
    +		if(!(type & FL_SIZEBE))
    +		{
    +			if(type & FL_V4)
    +				convert_bitmap_swap_v4(b4h);
    +			else if(type & FL_OS2)
    +			{
    +				convert_bitmap_swap_os2(boh);
    +			}
    +			else
    +				convert_bitmap_swap_v3(bih);
    +		}
    +		break;
    +#ifndef WORDS_BIGENDIAN
    +	default:
    +#endif
    +	case WRC_BO_LITTLE:
    +		if(type & FL_SIZEBE)
    +		{
    +			if(type & FL_V4)
    +				convert_bitmap_swap_v4(b4h);
    +			else if(type & FL_OS2)
    +			{
    +				convert_bitmap_swap_os2(boh);
    +			}
    +			else
    +				convert_bitmap_swap_v3(bih);
    +		}
    +		break;
    +	}
    +
    +	if(size && (void *)data != (void *)bih)
    +	{
    +		/* We have the fileheader still attached, remove it */
    +		memmove(data, data+sizeof(BITMAPFILEHEADER), size - sizeof(BITMAPFILEHEADER));
    +		return sizeof(BITMAPFILEHEADER);
    +	}
    +    return returnSize;
    +}
    +#undef FL_SIGBE
    +#undef FL_SIZEBE
    +#undef FL_V4
    +
    +/*
    + * Cursor and icon splitter functions used when allocating
    + * cursor- and icon-groups.
    + */
    +typedef struct {
    +	language_t	lan;
    +	int		id;
    +} id_alloc_t;
    +
    +static int get_new_id(id_alloc_t **list, int *n, language_t *lan)
    +{
    +	int i;
    +	assert(lan != NULL);
    +	assert(list != NULL);
    +	assert(n != NULL);
    +
    +	if(!*list)
    +	{
    +		*list = (id_alloc_t *)xmalloc(sizeof(id_alloc_t));
    +		*n = 1;
    +		(*list)[0].lan = *lan;
    +		(*list)[0].id = 1;
    +		return 1;
    +	}
    +
    +	for(i = 0; i < *n; i++)
    +	{
    +		if((*list)[i].lan.id == lan->id && (*list)[i].lan.sub == lan->sub)
    +			return ++((*list)[i].id);
    +	}
    +
    +	*list = (id_alloc_t *)xrealloc(*list, sizeof(id_alloc_t) * (*n+1));
    +	(*list)[*n].lan = *lan;
    +	(*list)[*n].id = 1;
    +	*n += 1;
    +	return 1;
    +}
    +
    +static int alloc_icon_id(language_t *lan)
    +{
    +	static id_alloc_t *idlist = NULL;
    +	static int nid = 0;
    +
    +	return get_new_id(&idlist, &nid, lan);
    +}
    +
    +static int alloc_cursor_id(language_t *lan)
    +{
    +	static id_alloc_t *idlist = NULL;
    +	static int nid = 0;
    +
    +	return get_new_id(&idlist, &nid, lan);
    +}
    +
    +static void split_icons(raw_data_t *rd, icon_group_t *icog, int *nico)
    +{
    +	int cnt;
    +	int i;
    +	icon_t *ico;
    +	icon_t *list = NULL;
    +	icon_header_t *ih = (icon_header_t *)rd->data;
    +	int swap = 0;
    +
    +	if(ih->type == 1)
    +		swap = 0;
    +	else if(BYTESWAP_WORD(ih->type) == 1)
    +		swap = 1;
    +	else
    +		yyerror("Icon resource data has invalid type id %d", ih->type);
    +
    +	cnt = swap ? BYTESWAP_WORD(ih->count) : ih->count;
    +	for(i = 0; i < cnt; i++)
    +	{
    +		icon_dir_entry_t ide;
    +		BITMAPINFOHEADER info;
    +		memcpy(&ide, rd->data + sizeof(icon_header_t)
    +                                      + i*sizeof(icon_dir_entry_t), sizeof(ide));
    +
    +		ico = new_icon();
    +		ico->id = alloc_icon_id(icog->lvc.language);
    +		ico->lvc = icog->lvc;
    +		if(swap)
    +		{
    +			ide.offset = BYTESWAP_DWORD(ide.offset);
    +			ide.ressize= BYTESWAP_DWORD(ide.ressize);
    +		}
    +		if(ide.offset > rd->size
    +		|| ide.offset + ide.ressize > rd->size)
    +			yyerror("Icon resource data corrupt");
    +		ico->width = ide.width;
    +		ico->height = ide.height;
    +		ico->nclr = ide.nclr;
    +		ico->planes = swap ? BYTESWAP_WORD(ide.planes) : ide.planes;
    +		ico->bits = swap ? BYTESWAP_WORD(ide.bits) : ide.bits;
    +		memcpy(&info, rd->data + ide.offset, sizeof(info));
    +         convert_bitmap((char *) &info, 0);
    +         memcpy(rd->data + ide.offset, &info, sizeof(info));
    +
    +		if(!ico->planes)
    +		{
    +			/* Argh! They did not fill out the resdir structure */
    +			/* The bitmap is in destination byteorder. We want native for our structures */
    +			switch(byteorder)
    +			{
    +#ifdef WORDS_BIGENDIAN
    +			case WRC_BO_LITTLE:
    +#else
    +			case WRC_BO_BIG:
    +#endif
    +				ico->planes = BYTESWAP_WORD(info.biPlanes);
    +				break;
    +			default:
    +				ico->planes = info.biPlanes;
    +			}
    +		}
    +		if(!ico->bits)
    +		{
    +			/* Argh! They did not fill out the resdir structure */
    +			/* The bitmap is in destination byteorder. We want native for our structures */
    +			switch(byteorder)
    +			{
    +#ifdef WORDS_BIGENDIAN
    +			case WRC_BO_LITTLE:
    +#else
    +			case WRC_BO_BIG:
    +#endif
    +				ico->bits = BYTESWAP_WORD(info.biBitCount);
    +				break;
    +			default:
    +				ico->bits = info.biBitCount;
    +			}
    +		}
    +		ico->data = new_raw_data();
    +		copy_raw_data(ico->data, rd, ide.offset, ide.ressize);
    +		if(!list)
    +		{
    +			list = ico;
    +		}
    +		else
    +		{
    +			ico->next = list;
    +			list->prev = ico;
    +			list = ico;
    +		}
    +	}
    +	icog->iconlist = list;
    +	*nico = cnt;
    +}
    +
    +static void split_cursors(raw_data_t *rd, cursor_group_t *curg, int *ncur)
    +{
    +	int cnt;
    +	int i;
    +	cursor_t *cur;
    +	cursor_t *list = NULL;
    +	cursor_header_t *ch = (cursor_header_t *)rd->data;
    +	int swap = 0;
    +
    +	if(ch->type == 2)
    +		swap = 0;
    +	else if(BYTESWAP_WORD(ch->type) == 2)
    +		swap = 1;
    +	else
    +		yyerror("Cursor resource data has invalid type id %d", ch->type);
    +	cnt = swap ? BYTESWAP_WORD(ch->count) : ch->count;
    +	for(i = 0; i < cnt; i++)
    +	{
    +		cursor_dir_entry_t cde;
    +		BITMAPINFOHEADER info;
    +		memcpy(&cde, rd->data + sizeof(cursor_header_t)
    +                                      + i*sizeof(cursor_dir_entry_t), sizeof(cde));
    +
    +		cur = new_cursor();
    +		cur->id = alloc_cursor_id(curg->lvc.language);
    +		cur->lvc = curg->lvc;
    +		if(swap)
    +		{
    +			cde.offset = BYTESWAP_DWORD(cde.offset);
    +			cde.ressize= BYTESWAP_DWORD(cde.ressize);
    +		}
    +		if(cde.offset > rd->size
    +		|| cde.offset + cde.ressize > rd->size)
    +			yyerror("Cursor resource data corrupt");
    +		cur->width = cde.width;
    +		cur->height = cde.height;
    +		cur->nclr = cde.nclr;
    +		memcpy(&info, rd->data + cde.offset, sizeof(info));
    +         convert_bitmap((char *)&info, 0);
    +         memcpy(rd->data + cde.offset, &info, sizeof(info));
    +		/* The bitmap is in destination byteorder. We want native for our structures */
    +		switch(byteorder)
    +		{
    +#ifdef WORDS_BIGENDIAN
    +		case WRC_BO_LITTLE:
    +#else
    +		case WRC_BO_BIG:
    +#endif
    +			cur->planes = BYTESWAP_WORD(info.biPlanes);
    +			cur->bits = BYTESWAP_WORD(info.biBitCount);
    +			break;
    +		default:
    +			cur->planes = info.biPlanes;
    +			cur->bits = info.biBitCount;
    +		}
    +		if(!win32 && (cur->planes != 1 || cur->bits != 1))
    +			yywarning("Win16 cursor contains colors");
    +		cur->xhot = swap ? BYTESWAP_WORD(cde.xhot) : cde.xhot;
    +		cur->yhot = swap ? BYTESWAP_WORD(cde.yhot) : cde.yhot;
    +		cur->data = new_raw_data();
    +		copy_raw_data(cur->data, rd, cde.offset, cde.ressize);
    +		if(!list)
    +		{
    +			list = cur;
    +		}
    +		else
    +		{
    +			cur->next = list;
    +			list->prev = cur;
    +			list = cur;
    +		}
    +	}
    +	curg->cursorlist = list;
    +	*ncur = cnt;
    +}
    +
    +
    +icon_group_t *new_icon_group(raw_data_t *rd, int *memopt)
    +{
    +	icon_group_t *icog = (icon_group_t *)xmalloc(sizeof(icon_group_t));
    +	if(memopt)
    +	{
    +		icog->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		icog->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE;
    +	icog->lvc = rd->lvc;
    +	split_icons(rd, icog, &(icog->nicon));
    +	free(rd->data);
    +	free(rd);
    +	return icog;
    +}
    +
    +cursor_group_t *new_cursor_group(raw_data_t *rd, int *memopt)
    +{
    +	cursor_group_t *curg = (cursor_group_t *)xmalloc(sizeof(cursor_group_t));
    +	if(memopt)
    +	{
    +		curg->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		curg->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE;
    +	curg->lvc = rd->lvc;
    +	split_cursors(rd, curg, &(curg->ncursor));
    +	free(rd->data);
    +	free(rd);
    +	return curg;
    +}
    +
    +/*
    + * Animated cursors and icons
    + *
    + * The format of animated cursors and icons is yet another example
    + * of bad design by "The Company". The entire RIFF structure is
    + * flawed by design because it is inconsistent and single minded:
    + * - some tags have lengths attached, others don't. The use of these
    + *   non-length tags is absolutely unclear;
    + * - the content of "icon" tags can be both icons and cursors;
    + * - tags lack proper alignment constraints. It seems that everything
    + *   is 16bit aligned, but I could not find that in any docu. Just be
    + *   prepared to eat anything;
    + * - there are no strict constraints on tag-nesting and the organization
    + *   is highly illogical;
    + *
    + * Anyhow, here is the basic structure:
    + * "RIFF" { dword taglength }
    + * 	"ACON"					// What does it do?
    + *	"LIST" { dword taglength }
    + *		"INFO"				// And what does this do?
    + *		"INAM" { dword taglength }	// Icon/cursor name
    + *			{inam data}
    + *		"IART" { dword taglength }	// The artist
    + *			{iart data}
    + *		"fram"				// Is followed by "icon"s
    + *		"icon" { dword taglength }	// First frame
    + *			{ icon/cursor data }
    + *		"icon" { dword taglength }	// Second frame
    + *			{ icon/cursor data }
    + *			...			// ...
    + *	"anih" { dword taglength }		// Header structure
    + *		{ aniheader_t structure }
    + *	"rate" { dword taglength }		// The rate for each frame
    + *		{ `steps' dwords }
    + *	"seq " { dword taglength }		// The frame blit-order
    + *		{ `steps' dwords }
    + *
    + * Tag length are bytelength without the header and length field (i.e. -8).
    + * The "LIST" tag may occur several times and may encapsulate different
    + * tags. The `steps' is the number of "icon" tags found (actually the
    + * number of steps specified in the aniheader_t structure). The "seq "uence
    + * tag can be ommitted, in which case the sequence is equal to the sequence
    + * of "icon"s found in the file. Also "rate" may be ommitted, in which case
    + * the default from the aniheader_t structure is used.
    + *
    + * An animated cursor puts `.cur' formatted files into each "icon" tag,
    + * whereas animated icons contain `.ico' formatted files.
    + *
    + * Note about the code: Yes, it can be shorter/compressed. Some tags can be
    + * dealt with in the same code. However, this version shows what is going on
    + * and is better debug-able.
    + */
    +static const char riff[4] = "RIFF";
    +static const char acon[4] = "ACON";
    +static const char list[4] = "LIST";
    +static const char info[4] = "INFO";
    +static const char inam[4] = "INAM";
    +static const char iart[4] = "IART";
    +static const char fram[4] = "fram";
    +static const char icon[4] = "icon";
    +static const char anih[4] = "anih";
    +static const char rate[4] = "rate";
    +static const char seq[4]  = "seq ";
    +
    +#define SKIP_TAG(p,size) 	((riff_tag_t *)(((char *)p) + (size)))
    +
    +#define NEXT_TAG(p)	SKIP_TAG(p,(isswapped ? BYTESWAP_DWORD(p->size) : p->size) + sizeof(*p))
    +
    +static void handle_ani_icon(riff_tag_t *rtp, enum res_e type, int isswapped)
    +{
    +	cursor_dir_entry_t *cdp;
    +	cursor_header_t *chp;
    +	int count;
    +	int ctype;
    +	int i;
    +	static int once = 0;	/* This will trigger only once per file! */
    +	const char *anistr = type == res_aniico ? "icon" : "cursor";
    +	/* Notes:
    +	 * Both cursor and icon directories are similar
    +	 * Both cursor and icon headers are similar
    +	 */
    +
    +	chp = (cursor_header_t *)(rtp+1);
    +	cdp = (cursor_dir_entry_t *)(chp+1);
    +	count = isswapped ? BYTESWAP_WORD(chp->count) : chp->count;
    +	ctype = isswapped ? BYTESWAP_WORD(chp->type) : chp->type;
    +	chp->reserved	= BYTESWAP_WORD(chp->reserved);
    +	chp->type	= BYTESWAP_WORD(chp->type);
    +	chp->count	= BYTESWAP_WORD(chp->count);
    +
    +	if(type == res_anicur && ctype != 2 && !once)
    +	{
    +		yywarning("Animated cursor contains invalid \"icon\" tag cursor-file (%d->%s)",
    +				ctype,
    +				ctype == 1 ? "icontype" : "?");
    +		once++;
    +	}
    +	else if(type == res_aniico && ctype != 1 && !once)
    +	{
    +		yywarning("Animated icon contains invalid \"icon\" tag icon-file (%d->%s)",
    +				ctype,
    +				ctype == 2 ? "cursortype" : "?");
    +		once++;
    +	}
    +	else if(ctype != 1 && ctype != 2 && !once)
    +	{
    +		yywarning("Animated %s contains invalid \"icon\" tag file-type (%d; neither icon nor cursor)", anistr, ctype);
    +		once++;
    +	}
    +
    +	for(i = 0; i < count; i++)
    +	{
    +		DWORD ofs = isswapped ? BYTESWAP_DWORD(cdp[i].offset) : cdp[i].offset;
    +		DWORD sze = isswapped ? BYTESWAP_DWORD(cdp[i].ressize) : cdp[i].ressize;
    +		if(ofs > rtp->size || ofs+sze > rtp->size)
    +			yyerror("Animated %s's data corrupt", anistr);
    +		convert_bitmap((char *)chp + ofs, 0);
    +		cdp[i].xhot	= BYTESWAP_WORD(cdp->xhot);
    +		cdp[i].yhot	= BYTESWAP_WORD(cdp->yhot);
    +		cdp[i].ressize	= BYTESWAP_DWORD(cdp->ressize);
    +		cdp[i].offset	= BYTESWAP_DWORD(cdp->offset);
    +	}
    +}
    +
    +static void handle_ani_list(riff_tag_t *lst, enum res_e type, int isswapped)
    +{
    +	riff_tag_t *rtp = lst+1;	/* Skip the "LIST" tag */
    +
    +	while((char *)rtp < (char *)lst + lst->size + sizeof(*lst))
    +	{
    +		if(!memcmp(rtp->tag, info, sizeof(info)))
    +		{
    +			rtp = SKIP_TAG(rtp,4);
    +		}
    +		else if(!memcmp(rtp->tag, inam, sizeof(inam)))
    +		{
    +			/* Ignore the icon/cursor name; its a string */
    +			rtp = NEXT_TAG(rtp);
    +		}
    +		else if(!memcmp(rtp->tag, iart, sizeof(iart)))
    +		{
    +			/* Ignore the author's name; its a string */
    +			rtp = NEXT_TAG(rtp);
    +		}
    +		else if(!memcmp(rtp->tag, fram, sizeof(fram)))
    +		{
    +			/* This should be followed by "icon"s, but we
    +			 * simply ignore this because it is pure
    +			 * non-information.
    +			 */
    +			rtp = SKIP_TAG(rtp,4);
    +		}
    +		else if(!memcmp(rtp->tag, icon, sizeof(icon)))
    +		{
    +			handle_ani_icon(rtp, type, isswapped);
    +			rtp = NEXT_TAG(rtp);
    +		}
    +		else
    +			internal_error(__FILE__, __LINE__, "Unknown tag \"%c%c%c%c\" in RIFF file",
    +				       isprint(rtp->tag[0]) ? rtp->tag[0] : '.',
    +				       isprint(rtp->tag[1]) ? rtp->tag[1] : '.',
    +				       isprint(rtp->tag[2]) ? rtp->tag[2] : '.',
    +				       isprint(rtp->tag[3]) ? rtp->tag[3] : '.');
    +
    +		/* FIXME: This relies in sizeof(DWORD) == sizeof(pointer_type) */
    +		if((DWORD)rtp & 1)
    +			rtp = SKIP_TAG(rtp,1);
    +	}
    +}
    +
    +ani_curico_t *new_ani_curico(enum res_e type, raw_data_t *rd, int *memopt)
    +{
    +	ani_curico_t *ani = (ani_curico_t *)xmalloc(sizeof(ani_curico_t));
    +	riff_tag_t *rtp;
    +	int isswapped = 0;
    +	int doswap;
    +	const char *anistr = type == res_aniico ? "icon" : "cursor";
    +
    +	assert(!memcmp(rd->data, riff, sizeof(riff)));
    +	assert(type == res_anicur || type == res_aniico);
    +
    +	rtp = (riff_tag_t *)rd->data;
    +
    +	if(BYTESWAP_DWORD(rtp->size) + 2*sizeof(DWORD) == rd->size)
    +		isswapped = 1;
    +	else if(rtp->size + 2*sizeof(DWORD) == rd->size)
    +		isswapped = 0;
    +	else
    +		yyerror("Animated %s has an invalid RIFF length", anistr);
    +
    +	switch(byteorder)
    +	{
    +#ifdef WORDS_BIGENDIAN
    +	case WRC_BO_LITTLE:
    +#else
    +	case WRC_BO_BIG:
    +#endif
    +		doswap = !isswapped;
    +		break;
    +	default:
    +		doswap = isswapped;
    +	}
    +
    +	/*
    +	 * When to swap what:
    +	 * isswapped | doswap |
    +	 * ----------+--------+---------------------------------
    +	 *     0     |    0   | read native; don't convert
    +	 *     1     |    0   | read swapped size; don't convert
    +	 *     0     |    1   | read native; convert
    +	 *     1     |    1   | read swapped size; convert
    +	 * Reading swapped size if necessary to calculate in native
    +	 * format. E.g. a little-endian source on a big-endian
    +	 * processor.
    +	 */
    +	if(doswap)
    +	{
    +		/* We only go through the RIFF file if we need to swap
    +		 * bytes in words/dwords. Else we couldn't care less
    +		 * what the file contains. This is consistent with
    +		 * MS' rc.exe, which doesn't complain at all, eventhough
    +		 * the fileformat might not be entirely correct.
    +		 */
    +		rtp++;	/* Skip the "RIFF" tag */
    +
    +		while((char *)rtp < (char *)rd->data + rd->size)
    +		{
    +			if(!memcmp(rtp->tag, acon, sizeof(acon)))
    +			{
    +				rtp = SKIP_TAG(rtp,4);
    +			}
    +			else if(!memcmp(rtp->tag, list, sizeof(list)))
    +			{
    +				handle_ani_list(rtp, type, isswapped);
    +				rtp = NEXT_TAG(rtp);
    +			}
    +			else if(!memcmp(rtp->tag, anih, sizeof(anih)))
    +			{
    +				aniheader_t *ahp = (aniheader_t *)((char *)(rtp+1));
    +				ahp->structsize	= BYTESWAP_DWORD(ahp->structsize);
    +				ahp->frames	= BYTESWAP_DWORD(ahp->frames);
    +				ahp->steps	= BYTESWAP_DWORD(ahp->steps);
    +				ahp->cx		= BYTESWAP_DWORD(ahp->cx);
    +				ahp->cy		= BYTESWAP_DWORD(ahp->cy);
    +				ahp->bitcount	= BYTESWAP_DWORD(ahp->bitcount);
    +				ahp->planes	= BYTESWAP_DWORD(ahp->planes);
    +				ahp->rate	= BYTESWAP_DWORD(ahp->rate);
    +				ahp->flags	= BYTESWAP_DWORD(ahp->flags);
    +				rtp = NEXT_TAG(rtp);
    +			}
    +			else if(!memcmp(rtp->tag, rate, sizeof(rate)))
    +			{
    +				int cnt = rtp->size / sizeof(DWORD);
    +				DWORD *dwp = (DWORD *)(rtp+1);
    +				int i;
    +				for(i = 0; i < cnt; i++)
    +					dwp[i] = BYTESWAP_DWORD(dwp[i]);
    +				rtp = NEXT_TAG(rtp);
    +			}
    +			else if(!memcmp(rtp->tag, seq, sizeof(seq)))
    +			{
    +				int cnt = rtp->size / sizeof(DWORD);
    +				DWORD *dwp = (DWORD *)(rtp+1);
    +				int i;
    +				for(i = 0; i < cnt; i++)
    +					dwp[i] = BYTESWAP_DWORD(dwp[i]);
    +				rtp = NEXT_TAG(rtp);
    +			}
    +			else
    +				internal_error(__FILE__, __LINE__, "Unknown tag \"%c%c%c%c\" in RIFF file",
    +				       isprint(rtp->tag[0]) ? rtp->tag[0] : '.',
    +				       isprint(rtp->tag[1]) ? rtp->tag[1] : '.',
    +				       isprint(rtp->tag[2]) ? rtp->tag[2] : '.',
    +				       isprint(rtp->tag[3]) ? rtp->tag[3] : '.');
    +
    +			/* FIXME: This relies in sizeof(DWORD) == sizeof(pointer_type) */
    +			if((DWORD)rtp & 1)
    +				rtp = SKIP_TAG(rtp,1);
    +		}
    +
    +		/* We must end correctly here */
    +		if((char *)rtp != (char *)rd->data + rd->size)
    +			yyerror("Animated %s contains invalid field size(s)", anistr);
    +	}
    +
    +	ani->data = rd;
    +	if(memopt)
    +	{
    +		ani->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		ani->memopt = WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE;
    +	return ani;
    +}
    +#undef NEXT_TAG
    +
    +/* Bitmaps */
    +bitmap_t *new_bitmap(raw_data_t *rd, int *memopt)
    +{
    +	bitmap_t *bmp = (bitmap_t *)xmalloc(sizeof(bitmap_t));
    +
    +	bmp->data = rd;
    +	if(memopt)
    +	{
    +		bmp->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		bmp->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE;
    +	rd->size -= convert_bitmap(rd->data, rd->size);
    +	return bmp;
    +}
    +
    +ver_words_t *new_ver_words(int i)
    +{
    +	ver_words_t *w = (ver_words_t *)xmalloc(sizeof(ver_words_t));
    +	w->words = (WORD *)xmalloc(sizeof(WORD));
    +	w->words[0] = (WORD)i;
    +	w->nwords = 1;
    +	return w;
    +}
    +
    +ver_words_t *add_ver_words(ver_words_t *w, int i)
    +{
    +	w->words = (WORD *)xrealloc(w->words, (w->nwords+1) * sizeof(WORD));
    +	w->words[w->nwords] = (WORD)i;
    +	w->nwords++;
    +	return w;
    +}
    +
    +#define MSGTAB_BAD_PTR(p, b, l, r)	(((l) - ((char *)(p) - (char *)(b))) > (r))
    +messagetable_t *new_messagetable(raw_data_t *rd, int *memopt)
    +{
    +	messagetable_t *msg = (messagetable_t *)xmalloc(sizeof(messagetable_t));
    + 	msgtab_block_t *mbp;
    +	DWORD nblk;
    +	DWORD i;
    +	WORD lo;
    +	WORD hi;
    +
    +	msg->data = rd;
    +	if(memopt)
    +	{
    +		msg->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		msg->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE;
    +
    +	if(rd->size < sizeof(DWORD))
    +		yyerror("Invalid messagetable, size too small");
    +
    +	nblk = *(DWORD *)rd->data;
    +	lo = WRC_LOWORD(nblk);
    +	hi = WRC_HIWORD(nblk);
    +
    +	/* FIXME:
    +	 * This test will fail for all n*2^16 blocks in the messagetable.
    +	 * However, no sane person would want to have so many blocks
    +	 * and have a table of megabytes attached.
    +	 * So, I will assume that we have less than 2^16 blocks in the table
    +	 * and all will just work out fine. Otherwise, we would need to test
    +	 * the ID, offset and length (and flag) fields to be very sure.
    +	 */
    +	if(hi && lo)
    +		internal_error(__FILE__, __LINE__, "Messagetable contains more than 65535 blocks; cannot determine endian");
    +	if(!hi && !lo)
    +		yyerror("Invalid messagetable block count 0");
    +
    +	if(!hi && lo)  /* Messagetable byteorder == native byteorder */
    +	{
    +#ifdef WORDS_BIGENDIAN
    +		if(byteorder != WRC_BO_LITTLE) goto out;
    +#else
    +		if(byteorder != WRC_BO_BIG) goto out;
    +#endif
    +		/* Resource byteorder != native byteorder */
    +
    +		mbp = (msgtab_block_t *)&(((DWORD *)rd->data)[1]);
    +		if(MSGTAB_BAD_PTR(mbp, rd->data, rd->size, nblk * sizeof(*mbp)))
    +			yyerror("Messagetable's blocks are outside of defined data");
    +		for(i = 0; i < nblk; i++)
    +		{
    +			msgtab_entry_t *mep, *next_mep;
    +			DWORD id;
    +
    +			mep = (msgtab_entry_t *)(((char *)rd->data) + mbp[i].offset);
    +
    +			for(id = mbp[i].idlo; id <= mbp[i].idhi; id++)
    +			{
    +				if(MSGTAB_BAD_PTR(mep, rd->data, rd->size, mep->length))
    +					yyerror("Messagetable's data for block %d, ID 0x%08lx is outside of defined data", (int)i, id);
    +				if(mep->flags == 1)	/* Docu says 'flags == 0x0001' for unicode */
    +				{
    +					WORD *wp = (WORD *)&mep[1];
    +					int l = mep->length/2 - 2; /* Length included header */
    +					int n;
    +
    +					if(mep->length & 1)
    +						yyerror("Message 0x%08lx is unicode (block %d), but has odd length (%d)", id, (int)i, mep->length);
    +					for(n = 0; n < l; n++)
    +						wp[n] = BYTESWAP_WORD(wp[n]);
    +
    +				}
    +				next_mep = (msgtab_entry_t *)(((char *)mep) + mep->length);
    +				mep->length = BYTESWAP_WORD(mep->length);
    +				mep->flags  = BYTESWAP_WORD(mep->flags);
    +				mep = next_mep;
    +			}
    +
    +			mbp[i].idlo   = BYTESWAP_DWORD(mbp[i].idlo);
    +			mbp[i].idhi   = BYTESWAP_DWORD(mbp[i].idhi);
    +			mbp[i].offset = BYTESWAP_DWORD(mbp[i].offset);
    +		}
    +	}
    +	if(hi && !lo)  /* Messagetable byteorder != native byteorder */
    +	{
    +#ifdef WORDS_BIGENDIAN
    +		if(byteorder == WRC_BO_LITTLE) goto out;
    +#else
    +		if(byteorder == WRC_BO_BIG) goto out;
    +#endif
    +		/* Resource byteorder == native byteorder */
    +
    +		mbp = (msgtab_block_t *)&(((DWORD *)rd->data)[1]);
    +		nblk = BYTESWAP_DWORD(nblk);
    +		if(MSGTAB_BAD_PTR(mbp, rd->data, rd->size, nblk * sizeof(*mbp)))
    +			yyerror("Messagetable's blocks are outside of defined data");
    +		for(i = 0; i < nblk; i++)
    +		{
    +			msgtab_entry_t *mep;
    +			DWORD id;
    +
    +			mbp[i].idlo   = BYTESWAP_DWORD(mbp[i].idlo);
    +			mbp[i].idhi   = BYTESWAP_DWORD(mbp[i].idhi);
    +			mbp[i].offset = BYTESWAP_DWORD(mbp[i].offset);
    +			mep = (msgtab_entry_t *)(((char *)rd->data) + mbp[i].offset);
    +
    +			for(id = mbp[i].idlo; id <= mbp[i].idhi; id++)
    +			{
    +				mep->length = BYTESWAP_WORD(mep->length);
    +				mep->flags  = BYTESWAP_WORD(mep->flags);
    +
    +				if(MSGTAB_BAD_PTR(mep, rd->data, rd->size, mep->length))
    +					yyerror("Messagetable's data for block %d, ID 0x%08lx is outside of defined data", (int)i, id);
    +				if(mep->flags == 1)	/* Docu says 'flags == 0x0001' for unicode */
    +				{
    +					WORD *wp = (WORD *)&mep[1];
    +					int l = mep->length/2 - 2; /* Length included header */
    +					int n;
    +
    +					if(mep->length & 1)
    +						yyerror("Message 0x%08lx is unicode (block %d), but has odd length (%d)", id, (int)i, mep->length);
    +					for(n = 0; n < l; n++)
    +						wp[n] = BYTESWAP_WORD(wp[n]);
    +
    +				}
    +				mep = (msgtab_entry_t *)(((char *)mep) + mep->length);
    +			}
    +		}
    +	}
    +
    + out:
    +	return msg;
    +}
    +#undef MSGTAB_BAD_PTR
    +
    +void copy_raw_data(raw_data_t *dst, raw_data_t *src, unsigned int offs, int len)
    +{
    +	assert(offs <= src->size);
    +	assert(offs + len <= src->size);
    +	if(!dst->data)
    +	{
    +		dst->data = (char *)xmalloc(len);
    +		dst->size = 0;
    +	}
    +	else
    +		dst->data = (char *)xrealloc(dst->data, dst->size + len);
    +	/* dst->size holds the offset to copy to */
    +	memcpy(dst->data + dst->size, src->data + offs, len);
    +	dst->size += len;
    +}
    +
    +int *new_int(int i)
    +{
    +	int *ip = (int *)xmalloc(sizeof(int));
    +	*ip = i;
    +	return ip;
    +}
    +
    +stringtable_t *new_stringtable(lvc_t *lvc)
    +{
    +	stringtable_t *stt = (stringtable_t *)xmalloc(sizeof(stringtable_t));
    +
    +	if(lvc)
    +		stt->lvc = *lvc;
    +
    +	return stt;
    +}
    +
    +toolbar_t *new_toolbar(int button_width, int button_height, toolbar_item_t *items, int nitems)
    +{
    +	toolbar_t *tb = (toolbar_t *)xmalloc(sizeof(toolbar_t));
    +	tb->button_width = button_width;
    +	tb->button_height = button_height;
    +	tb->nitems = nitems;
    +	tb->items = items;
    +	return tb;
    +}
    +
    +dlginit_t *new_dlginit(raw_data_t *rd, int *memopt)
    +{
    +	dlginit_t *di = (dlginit_t *)xmalloc(sizeof(dlginit_t));
    +	di->data = rd;
    +	if(memopt)
    +	{
    +		di->memopt = *memopt;
    +		free(memopt);
    +	}
    +	else
    +		di->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE;
    +
    +	return di;
    +}
    +
    +style_pair_t *new_style_pair(style_t *style, style_t *exstyle)
    +{
    +	style_pair_t *sp = (style_pair_t *)xmalloc(sizeof(style_pair_t));
    +	sp->style = style;
    +	sp->exstyle = exstyle;
    +	return sp;
    +}
    +
    +style_t *new_style(DWORD or_mask, DWORD and_mask)
    +{
    +	style_t *st = (style_t *)xmalloc(sizeof(style_t));
    +	st->or_mask = or_mask;
    +	st->and_mask = and_mask;
    +	return st;
    +}
    diff --git a/reactos/tools/wrc/newstruc.h b/reactos/tools/wrc/newstruc.h
    new file mode 100644
    index 00000000000..a0a624ddf3a
    --- /dev/null
    +++ b/reactos/tools/wrc/newstruc.h
    @@ -0,0 +1,85 @@
    +/*
    + * Create dynamic new structures of various types
    + *
    + * Copyright 1998 Bertho A. Stultiens
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WRC_NEWSTRUC_H
    +#define __WRC_NEWSTRUC_H
    +
    +#include "wrctypes.h"
    +
    +#define __NEW_STRUCT_FUNC(p)	\
    +	p##_t *new_##p(void)\
    +	{\
    +		return (p##_t *)xmalloc(sizeof(p##_t));\
    +	}
    +
    +#define __NEW_STRUCT_PROTO(p)	p##_t *new_##p(void)
    +
    +__NEW_STRUCT_PROTO(dialog);
    +__NEW_STRUCT_PROTO(dialogex);
    +__NEW_STRUCT_PROTO(name_id);
    +__NEW_STRUCT_PROTO(menu);
    +__NEW_STRUCT_PROTO(menuex);
    +__NEW_STRUCT_PROTO(menu_item);
    +__NEW_STRUCT_PROTO(menuex_item);
    +__NEW_STRUCT_PROTO(control);
    +__NEW_STRUCT_PROTO(icon);
    +__NEW_STRUCT_PROTO(cursor);
    +__NEW_STRUCT_PROTO(versioninfo);
    +__NEW_STRUCT_PROTO(ver_value);
    +__NEW_STRUCT_PROTO(ver_block);
    +__NEW_STRUCT_PROTO(stt_entry);
    +__NEW_STRUCT_PROTO(accelerator);
    +__NEW_STRUCT_PROTO(event);
    +__NEW_STRUCT_PROTO(raw_data);
    +__NEW_STRUCT_PROTO(lvc);
    +__NEW_STRUCT_PROTO(res_count);
    +__NEW_STRUCT_PROTO(string);
    +__NEW_STRUCT_PROTO(toolbar_item);
    +__NEW_STRUCT_PROTO(ani_any);
    +
    +resource_t *new_resource(enum res_e t, void *res, int memopt, language_t *lan);
    +version_t *new_version(DWORD v);
    +characts_t *new_characts(DWORD c);
    +language_t *new_language(int id, int sub);
    +language_t *dup_language(language_t *l);
    +version_t *dup_version(version_t *v);
    +characts_t *dup_characts(characts_t *c);
    +rcdata_t *new_rcdata(raw_data_t *rd, int *memopt);
    +font_id_t *new_font_id(int size, string_t *face, int weight, int italic);
    +user_t *new_user(name_id_t *type, raw_data_t *rd, int *memopt);
    +font_t *new_font(raw_data_t *rd, int *memopt);
    +fontdir_t *new_fontdir(raw_data_t *rd, int *memopt);
    +icon_group_t *new_icon_group(raw_data_t *rd, int *memopt);
    +cursor_group_t *new_cursor_group(raw_data_t *rd, int *memopt);
    +ani_curico_t *new_ani_curico(enum res_e type, raw_data_t *rd, int *memopt);
    +bitmap_t *new_bitmap(raw_data_t *rd, int *memopt);
    +ver_words_t *new_ver_words(int i);
    +ver_words_t *add_ver_words(ver_words_t *w, int i);
    +messagetable_t *new_messagetable(raw_data_t *rd, int *memopt);
    +dlginit_t *new_dlginit(raw_data_t *rd, int *memopt);
    +void copy_raw_data(raw_data_t *dst, raw_data_t *src, unsigned int offs, int len);
    +int *new_int(int i);
    +stringtable_t *new_stringtable(lvc_t *lvc);
    +toolbar_t *new_toolbar(int button_width, int button_Height, toolbar_item_t *items, int nitems);
    +style_pair_t *new_style_pair(style_t *style, style_t *exstyle);
    +style_t *new_style(DWORD or_mask, DWORD and_mask);
    +
    +#endif
    +
    diff --git a/reactos/tools/wrc/parser.h b/reactos/tools/wrc/parser.h
    new file mode 100644
    index 00000000000..63116383bcd
    --- /dev/null
    +++ b/reactos/tools/wrc/parser.h
    @@ -0,0 +1,39 @@
    +/*
    + * Copyright 1998 Bertho A. Stultiens (BS)
    + *
    + * Shared things between parser.l and parser.y and some others
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + */
    +
    +#ifndef __WRC_PARSER_H
    +#define __WRC_PARSER_H
    +
    +/* From parser.y */
    +extern int yydebug;
    +extern int want_nl;		/* Set when getting line-numers */
    +extern int want_id;		/* Set when getting the resource name */
    +
    +int yyparse(void);
    +
    +/* From parser.l */
    +extern FILE *yyin;
    +extern char *yytext;
    +extern int yy_flex_debug;
    +
    +int yylex(void);
    +
    +#endif
    +
    diff --git a/reactos/tools/wrc/parser.l b/reactos/tools/wrc/parser.l
    new file mode 100644
    index 00000000000..2e04bc1f521
    --- /dev/null
    +++ b/reactos/tools/wrc/parser.l
    @@ -0,0 +1,682 @@
    +/* -*-C-*-
    + *
    + * Copyright 1998-2000	Bertho A. Stultiens (BS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * History:
    + * 21-May-2000 BS	- Fixed the ident requirement of resource names
    + *			  which can be keywords.
    + * 30-Apr-2000 BS	- Reintegration into the wine-tree
    + * 11-Jan-2000 BS	- Very drastic cleanup because we don't have a
    + *			  preprocessor in here anymore.
    + * 02-Jan-2000 BS	- Removed the preprocessor code
    + * 23-Dec-1999 BS	- Removed the copyright for Martin von Loewis.
    + *			  There is really nothing left of his code in
    + *			  this parser.
    + * 20-Jun-1998 BS	- Changed the filename conversion. Filenames are
    + *			  case-sensitive inder *nix, but not under dos.
    + *			  default behaviour is to convert to lower case.
    + *			- All backslashes are converted to forward and
    + *			  both single and double slash is recognized as
    + *			  MS/Borland does.
    + *			- Fixed a bug in 'yywf' case that prevented
    + *			  double quoted names to be scanned propperly.
    + *
    + * 19-May-1998 BS	- Started to build a preprocessor.
    + *			- Changed keyword processing completely to
    + *			  table-lookups.
    + *
    + * 20-Apr-1998 BS	- Added ';' comment stripping
    + *
    + * 17-Apr-1998 BS	- Made the win32 keywords optional when compiling in
    + *			  16bit mode
    + *
    + * 15-Apr-1998 BS	- Changed string handling to include escapes
    + *			- Added unicode string handling (no codepage
    + *			  translation though).
    + *			- 'Borrowed' the main idea of string scanning from
    + *			  the flex manual pages.
    + *			- Added conditional handling of scanning depending
    + *			  on the state of the parser. This was mainly required
    + *			  to distinguish a file to load or raw data that
    + *			  follows. MS's definition of filenames is rather
    + *			  complex... It can be unquoted or double quoted. If
    + *			  double quoted, then the '\\' char is not automatically
    + *			  escaped according to Borland's rc compiler, but it
    + *			  accepts both "\\path\\file.rc" and "\path\file.rc".
    + *			  This makes life very hard! I go for the escaped
    + *			  version, as this seems to be the documented way...
    + *			- Single quoted strings are now parsed and converted
    + *			  here.
    + *			- Added comment stripping. The implementation is
    + *			  'borrowed' from the flex manpages.
    + *			- Rebuild string processing so that it may contain
    + *			  escaped '\0'.
    + */
    +
    +/* Exclusive string handling */
    +%x yystr
    +/* Exclusive unicode string handling */
    +%x yylstr
    +/* Exclusive rcdata single quoted data handling */
    +%x yyrcd
    +/* Exclusive comment eating... */
    +%x comment
    +/* Set when stripping c-junk */
    +%x pp_stripe
    +%x pp_strips
    +%x pp_stripp
    +%x pp_stripp_final
    +/* Set when scanning #line style directives */
    +%x pp_line
    +/* Set when scanning #pragma */
    +%x pp_pragma
    +%x pp_code_page
    +
    +%option stack
    +%option never-interactive
    +
    +/* Some shortcut definitions */
    +ws	[ \f\t\r]
    +cident	[a-zA-Z_][0-9a-zA-Z_]*
    +
    +%{
    +
    +/*#define LEX_DEBUG*/
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "wine/unicode.h"
    +#include "wrc.h"
    +#include "utils.h"
    +#include "parser.h"
    +#include "newstruc.h"
    +
    +#include "y.tab.h"
    +
    +#define YY_USE_PROTOS
    +#define YY_NO_UNPUT
    +#define YY_NO_TOP_STATE
    +
    +/* Always update the current character position within a line */
    +#define YY_USER_ACTION	char_number+=yyleng; wanted_id = want_id; want_id = 0;
    +
    +static void addcchar(char c);
    +static void addwchar(WCHAR s);
    +static string_t *get_buffered_cstring(void);
    +static string_t *get_buffered_wstring(void);
    +static string_t *make_string(char *s);
    +
    +static char *cbuffer;		/* Buffers for string collection */
    +static int cbufidx;
    +static int cbufalloc = 0;
    +static WCHAR *wbuffer;
    +static int wbufidx;
    +static int wbufalloc = 0;
    +static int stripslevel = 0;	/* Count {} during pp_strips/pp_stripe mode */
    +static int stripplevel = 0;	/* Count () during pp_strips mode */
    +static int cjunk_tagline;	/* Where did we start stripping (helps error tracking) */
    +
    +static int current_codepage = -1;  /* use language default */
    +
    +/*
    + * This one is a bit tricky.
    + * We set 'want_id' in the parser to get the first
    + * identifier we get across in the scanner, but we
    + * also want it to be reset at nearly any token we
    + * see. Exceptions are:
    + * - newlines
    + * - comments
    + * - whitespace
    + *
    + * The scanner will automatically reset 'want_id'
    + * after *each* scanner reduction and puts is value
    + * into the var below. In this way we can see the
    + * state after the YY_RULE_SETUP (i.e. the user action;
    + * see above) and don't have to worry too much when
    + * it needs to be reset.
    + */
    +static int wanted_id = 0;
    +static int save_wanted_id;	/* To save across comment reductions */
    +
    +struct keyword {
    +	const char	*keyword;
    +	int		token;
    +	int		isextension;
    +	int		needcase;
    +	int		alwayskw;
    +};
    +
    +static struct keyword keywords[] = {
    +	{ "ACCELERATORS",	tACCELERATORS,		0, 0, 0},
    +	{ "ALT",		tALT,			0, 0, 0},
    +	{ "ASCII",		tASCII,			0, 0, 0},
    +	{ "AUTO3STATE",		tAUTO3STATE,		1, 0, 0},
    +	{ "AUTOCHECKBOX",	tAUTOCHECKBOX,		1, 0, 0},
    +	{ "AUTORADIOBUTTON",	tAUTORADIOBUTTON,	1, 0, 0},
    +	{ "BEGIN",		tBEGIN,			0, 0, 0},
    +	{ "BITMAP",		tBITMAP,		0, 0, 0},
    +	{ "BLOCK",		tBLOCK,			0, 0, 0},
    +	{ "BUTTON",		tBUTTON,		1, 0, 0},
    +	{ "CAPTION",		tCAPTION,		0, 0, 0},
    +	{ "CHARACTERISTICS",	tCHARACTERISTICS,	1, 0, 0},
    +	{ "CHECKBOX",		tCHECKBOX,		0, 0, 0},
    +	{ "CHECKED",		tCHECKED,		0, 0, 0},
    +	{ "CLASS",		tCLASS,			0, 0, 0},
    +	{ "COMBOBOX",		tCOMBOBOX,		0, 0, 0},
    +	{ "CONTROL",		tCONTROL,		0, 0, 0},
    +	{ "CTEXT",		tCTEXT,			0, 0, 0},
    +	{ "CURSOR",		tCURSOR,		0, 0, 0},
    +	{ "DEFPUSHBUTTON",	tDEFPUSHBUTTON,		0, 0, 0},
    +	{ "DIALOG",		tDIALOG,		0, 0, 0},
    +	{ "DIALOGEX",		tDIALOGEX,		1, 0, 0},
    +	{ "DISCARDABLE",	tDISCARDABLE,		0, 0, 0},
    +	{ "DLGINIT",		tDLGINIT,		0, 0, 0},
    +	{ "EDITTEXT",		tEDITTEXT,		0, 0, 0},
    +	{ "END",		tEND,			0, 0, 0},
    +	{ "EXSTYLE",		tEXSTYLE,		0, 0, 0},
    +	{ "FILEFLAGS",		tFILEFLAGS,		0, 0, 0},
    +	{ "FILEFLAGSMASK",	tFILEFLAGSMASK,		0, 0, 0},
    +	{ "FILEOS",		tFILEOS,		0, 0, 0},
    +	{ "FILESUBTYPE",	tFILESUBTYPE,		0, 0, 0},
    +	{ "FILETYPE",		tFILETYPE,		0, 0, 0},
    +	{ "FILEVERSION",	tFILEVERSION,		0, 0, 0},
    +	{ "FIXED",		tFIXED,			0, 0, 0},
    +	{ "FONT",		tFONT,			0, 0, 0},
    +	{ "FONTDIR",		tFONTDIR,		0, 0, 0},	/* This is a Borland BRC extension */
    +	{ "GRAYED",		tGRAYED,		0, 0, 0},
    +	{ "GROUPBOX",		tGROUPBOX,		0, 0, 0},
    +	{ "HELP",		tHELP,			0, 0, 0},
    +	{ "ICON",		tICON,			0, 0, 0},
    +	{ "IMPURE",		tIMPURE,		0, 0, 0},
    +	{ "INACTIVE",		tINACTIVE,		0, 0, 0},
    +	{ "LANGUAGE",		tLANGUAGE,		1, 0, 1},
    +	{ "LISTBOX",		tLISTBOX,		0, 0, 0},
    +	{ "LOADONCALL",		tLOADONCALL,		0, 0, 0},
    +	{ "LTEXT",		tLTEXT,			0, 0, 0},
    +	{ "MENU",		tMENU,			0, 0, 0},
    +	{ "MENUBARBREAK",	tMENUBARBREAK,		0, 0, 0},
    +	{ "MENUBREAK",		tMENUBREAK,		0, 0, 0},
    +	{ "MENUEX",		tMENUEX,		1, 0, 0},
    +	{ "MENUITEM",		tMENUITEM,		0, 0, 0},
    +	{ "MESSAGETABLE",	tMESSAGETABLE,		1, 0, 0},
    +	{ "MOVEABLE",		tMOVEABLE,		0, 0, 0},
    +	{ "NOINVERT",		tNOINVERT,		0, 0, 0},
    +	{ "NOT",		tNOT,			0, 0, 0},
    +	{ "POPUP",		tPOPUP,			0, 0, 0},
    +	{ "PRELOAD",		tPRELOAD,		0, 0, 0},
    +	{ "PRODUCTVERSION",	tPRODUCTVERSION,	0, 0, 0},
    +	{ "PURE",		tPURE,			0, 0, 0},
    +	{ "PUSHBUTTON",		tPUSHBUTTON,		0, 0, 0},
    +	{ "RADIOBUTTON",	tRADIOBUTTON,		0, 0, 0},
    +	{ "RCDATA",		tRCDATA,		0, 0, 0},
    +	{ "RTEXT",		tRTEXT,			0, 0, 0},
    +	{ "SCROLLBAR",		tSCROLLBAR,		0, 0, 0},
    +	{ "SEPARATOR",		tSEPARATOR,		0, 0, 0},
    +	{ "SHIFT",		tSHIFT,			0, 0, 0},
    +	{ "STATE3",		tSTATE3,		1, 0, 0},
    +	{ "STRING",		tSTRING,		0, 0, 0},
    +	{ "STRINGTABLE",	tSTRINGTABLE,		0, 0, 1},
    +	{ "STYLE",		tSTYLE,			0, 0, 0},
    +	{ "TOOLBAR",		tTOOLBAR,		1, 0, 0},
    +	{ "VALUE",		tVALUE,			0, 0, 0},
    +	{ "VERSION",		tVERSION,		1, 0, 0},
    +	{ "VERSIONINFO",	tVERSIONINFO,		0, 0, 0},
    +	{ "VIRTKEY",		tVIRTKEY,		0, 0, 0}
    +};
    +
    +#define NKEYWORDS	(sizeof(keywords)/sizeof(keywords[0]))
    +#define KWP(p)		((const struct keyword *)(p))
    +static int kw_cmp_func(const void *s1, const void *s2)
    +{
    +	int ret;
    +	ret = strcasecmp(KWP(s1)->keyword, KWP(s2)->keyword);
    +	if(!ret && (KWP(s1)->needcase || KWP(s2)->needcase))
    +		return strcmp(KWP(s1)->keyword, KWP(s2)->keyword);
    +	else
    +		return ret;
    +}
    +
    +#define KW_BSEARCH
    +#define DO_SORT
    +static struct keyword *iskeyword(char *kw)
    +{
    +	struct keyword *kwp;
    +	struct keyword key;
    +	key.keyword = kw;
    +	key.needcase = 0;
    +#ifdef DO_SORT
    +	{
    +		/* Make sure that it is sorted for bsearsh */
    +		static int sorted = 0;
    +		if(!sorted)
    +		{
    +			qsort(keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
    +			sorted = 1;
    +		}
    +	}
    +#endif
    +#ifdef KW_BSEARCH
    +	kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func);
    +#else
    +	{
    +		int i;
    +		for(i = 0; i < NKEYWORDS; i++)
    +		{
    +			if(!kw_cmp_func(&key, &keywords[i]))
    +				break;
    +		}
    +		if(i < NKEYWORDS)
    +			kwp = &keywords[i];
    +		else
    +			kwp = NULL;
    +	}
    +#endif
    +
    +	if(kwp == NULL || (kwp->isextension && !extensions))
    +		return NULL;
    +	else
    +		return kwp;
    +}
    +
    +%}
    +
    +/*
    + **************************************************************************
    + * The flexer starts here
    + **************************************************************************
    + */
    +%%
    +	/*
    +	 * Catch the GCC-style line statements here and parse them.
    +	 * This has the advantage that you can #include at any
    +	 * stage in the resource file.
    +	 * The preprocessor generates line directives in the format:
    +	 * #  "filename" 
    +	 *
    +	 * Codes can be a sequence of:
    +	 * - 1 start of new file
    +	 * - 2 returning to previous
    +	 * - 3 system header
    +	 * - 4 interpret as C-code
    +	 *
    +	 * 4 is not used and 1 mutually excludes 2
    +	 * Anyhow, we are not really interested in these at all
    +	 * because we only want to know the linenumber and
    +	 * filename.
    +	 */
    +^{ws}*\#{ws}*pragma{ws}+	yy_push_state(pp_pragma);
    +^{ws}*\#{ws}*	yy_push_state(pp_line);
    +[^\n]*	{
    +		int lineno;
    +		char *cptr;
    +		char *fname;
    +		yy_pop_state();
    +		lineno = (int)strtol(yytext, &cptr, 10);
    +		if(!lineno)
    +			yyerror("Malformed '#...' line-directive; invalid linenumber");
    +		fname = strchr(cptr, '"');
    +		if(!fname)
    +			yyerror("Malformed '#...' line-directive; missing filename");
    +		fname++;
    +		cptr = strchr(fname, '"');
    +		if(!cptr)
    +			yyerror("Malformed '#...' line-directive; missing terminating \"");
    +		*cptr = '\0';
    +		line_number = lineno - 1;	/* We didn't read the newline */
    +		input_name = xstrdup(fname);
    +	}
    +
    +code_page[^\n]*	yyless(9); yy_pop_state(); yy_push_state(pp_code_page);
    +[^\n]*		yy_pop_state(); if (pedantic) yywarning("Unrecognized #pragma directive '%s'",yytext);
    +
    +\({ws}*default{ws}*\)[^\n]*	current_codepage = -1; yy_pop_state();
    +\({ws}*[0-9]+{ws}*\)[^\n]* {
    +        char *p = yytext;
    +        yy_pop_state();
    +        while (*p < '0' || *p > '9') p++;
    +        current_codepage = strtol( p, NULL, 10 );
    +        if (current_codepage && !wine_cp_get_table( current_codepage ))
    +        {
    +            yyerror("Codepage %d not supported", current_codepage);
    +            current_codepage = 0;
    +        }
    +    }
    +[^\n]*	yy_pop_state(); yyerror("Malformed #pragma code_page directive");
    +
    +	/*
    +	 * Strip everything until a ';' taking
    +	 * into account braces {} for structures,
    +	 * classes and enums.
    +	 */
    +\{			stripslevel++;
    +\}			stripslevel--;
    +;			if(!stripslevel) yy_pop_state();
    +\/[^*\n]		; /* To catch comments */
    +[^\{\};\n#/]*	; /* Ignore rest */
    +\n			line_number++; char_number = 1;
    +
    +\(			stripplevel++;
    +\)			{
    +					stripplevel--;
    +					if(!stripplevel)
    +					{
    +						yy_pop_state();
    +						yy_push_state(pp_stripp_final);
    +					}
    +				}
    +\/[^*\n]		; /* To catch comments */
    +[^\(\);\n#/]*	; /* Ignore rest */
    +\n			line_number++; char_number = 1;
    +
    +{ws}*		; /* Ignore */
    +;		yy_pop_state(); /* Kill the semicolon */
    +\n		line_number++; char_number = 1; yy_pop_state();
    +.		yyless(0); yy_pop_state();
    +
    +\{			return tBEGIN;
    +\}			return tEND;
    +
    +[0-9]+[lL]?		{ yylval.num = strtoul(yytext,  0, 10); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
    +0[xX][0-9A-Fa-f]+[lL]?	{ yylval.num = strtoul(yytext,  0, 16); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
    +0[oO][0-7]+[lL]?	{ yylval.num = strtoul(yytext+2, 0, 8); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
    +
    +	/*
    +	 * The next two rules scan identifiers and filenames.
    +	 * This is achieved by using the priority ruling
    +	 * of the scanner where a '.' is valid in a filename
    +	 * and *only* in a filename. In this case, the second
    +	 * rule will be reduced because it is longer.
    +	 */
    +[A-Za-z_0-9]+		{
    +				struct keyword *tok = iskeyword(yytext);
    +
    +				if(tok)
    +				{
    +					if(wanted_id && !tok->alwayskw)
    +					{
    +						yylval.str = make_string(yytext);
    +						return tIDENT;
    +					}
    +					else
    +						return tok->token;
    +				}
    +				else
    +				{
    +					yylval.str = make_string(yytext);
    +					return tIDENT;
    +				}
    +			}
    +[A-Za-z_0-9./\\]+		yylval.str = make_string(yytext); return tFILENAME;
    +
    +	/*
    +	 * Wide string scanning
    +	 */
    +L\"			{
    +				yy_push_state(yylstr);
    +				wbufidx = 0;
    +				if(!win32)
    +					yywarning("16bit resource contains unicode strings\n");
    +			}
    +\"{ws}+	|
    +\"		{
    +				yy_pop_state();
    +				yylval.str = get_buffered_wstring();
    +				return tSTRING;
    +			}
    +\\[0-7]{1,6}	{ /* octal escape sequence */
    +				unsigned int result;
    +				result = strtoul(yytext+1, 0, 8);
    +				if ( result > 0xffff )
    +					yyerror("Character constant out of range");
    +				addwchar((WCHAR)result);
    +			}
    +\\x[0-9a-fA-F]{4} {  /* hex escape sequence */
    +				unsigned int result;
    +				result = strtoul(yytext+2, 0, 16);
    +				addwchar((WCHAR)result);
    +			}
    +\\x[0-9a-fA-F]{1,3} {  yyerror("Invalid hex escape sequence '%s'", yytext); }
    +
    +\\[0-9]+	yyerror("Bad escape sequence");
    +\\\n{ws}*	line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */
    +\\a		addwchar('\a');
    +\\b		addwchar('\b');
    +\\f		addwchar('\f');
    +\\n		addwchar('\n');
    +\\r		addwchar('\r');
    +\\t		addwchar('\t');
    +\\v		addwchar('\v');
    +\\.		addwchar(yytext[1]);
    +\\\r\n		addwchar(yytext[2]); line_number++; char_number = 1;
    +\"\"		addwchar('\"');		/* "bla""bla"  -> "bla\"bla" */
    +\\\"\"		addwchar('\"');		/* "bla\""bla" -> "bla\"bla" */
    +\"{ws}+\"	;			/* "bla" "bla" -> "blabla" */
    +[^\\\n\"]+	{
    +				char *yptr = yytext;
    +				while(*yptr)	/* FIXME: codepage translation */
    +					addwchar(*yptr++ & 0xff);
    +			}
    +\n		yyerror("Unterminated string");
    +
    +	/*
    +	 * Normal string scanning
    +	 */
    +\"			yy_push_state(yystr); cbufidx = 0;
    +\"{ws}+	|
    +\"		{
    +				yy_pop_state();
    +				yylval.str = get_buffered_cstring();
    +				return tSTRING;
    +			}
    +\\[0-7]{1,3}	{ /* octal escape sequence */
    +				int result;
    +				result = strtol(yytext+1, 0, 8);
    +				if ( result > 0xff )
    +					yyerror("Character constant out of range");
    +				addcchar((char)result);
    +			}
    +\\x[0-9a-fA-F]{2} {  /* hex escape sequence */
    +				int result;
    +				result = strtol(yytext+2, 0, 16);
    +				addcchar((char)result);
    +			}
    +\\x[0-9a-fA-F]	{  yyerror("Invalid hex escape sequence '%s'", yytext); }
    +
    +\\[0-9]+		yyerror("Bad escape sequence");
    +\\\n{ws}*	line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */
    +\\a		addcchar('\a');
    +\\b		addcchar('\b');
    +\\f		addcchar('\f');
    +\\n		addcchar('\n');
    +\\r		addcchar('\r');
    +\\t		addcchar('\t');
    +\\v		addcchar('\v');
    +\\.		addcchar(yytext[1]);
    +\\\r\n		addcchar(yytext[2]); line_number++; char_number = 1;
    +[^\\\n\"]+	{
    +				char *yptr = yytext;
    +				while(*yptr)
    +					addcchar(*yptr++);
    +			}
    +\"\"		addcchar('\"');		/* "bla""bla"   -> "bla\"bla" */
    +\\\"\"		addcchar('\"');		/* "bla\""bla"  -> "bla\"bla" */
    +\"{ws}+\"	;			/* "bla" "bla"  -> "blabla" */
    +\n		yyerror("Unterminated string");
    +
    +	/*
    +	 * Raw data scanning
    +	 */
    +\'			yy_push_state(yyrcd); cbufidx = 0;
    +\'		{
    +				yy_pop_state();
    +				yylval.raw = new_raw_data();
    +				yylval.raw->size = cbufidx;
    +				yylval.raw->data = xmalloc(yylval.raw->size);
    +				memcpy(yylval.raw->data, cbuffer, yylval.raw->size);
    +				return tRAWDATA;
    +			}
    +[0-9a-fA-F]{2}	{
    +				int result;
    +				result = strtol(yytext, 0, 16);
    +				addcchar((char)result);
    +			}
    +{ws}+		;	/* Ignore space */
    +\n		line_number++; char_number = 1;
    +.		yyerror("Malformed data-line");
    +
    +	/*
    +	 * Comment stripping
    +	 * Should never occur after preprocessing
    +	 */
    +"/*"	{
    +				yy_push_state(comment);
    +				save_wanted_id = wanted_id;
    +				if(!no_preprocess)
    +					yywarning("Found comments after preprocessing, please report");
    +			}
    +[^*\n]*	;
    +"*"+[^*/\n]*	;
    +\n		line_number++; char_number = 1;
    +"*"+"/"	yy_pop_state(); want_id = save_wanted_id;
    +
    +;[^\n]*			want_id = wanted_id; /* not really comment, but left-over c-junk */
    +"//"[^\n]*		want_id = wanted_id; if(!no_preprocess) yywarning("Found comments after preprocessing, please report");
    +
    +\n			{
    +				want_id = wanted_id;
    +				line_number++;
    +				char_number = 1;
    +				if(want_nl)
    +				{
    +					want_nl = 0;
    +					return tNL;
    +				}
    +			}
    +{ws}+			want_id = wanted_id;	/* Eat whitespace */
    +
    +.		return yytext[0];
    +
    +<>			{
    +				if(YY_START == pp_strips || YY_START == pp_stripe || YY_START == pp_stripp || YY_START == pp_stripp_final)
    +					yyerror("Unexpected end of file during c-junk scanning (started at %d)", cjunk_tagline);
    +				else
    +					yyterminate();
    +			}
    +
    +<*>.|\n			{
    +				/* Catch all rule to find any unmatched text */
    +				if(*yytext == '\n')
    +				{
    +					line_number++;
    +					char_number = 1;
    +				}
    +				yywarning("Unmatched text '%c' (0x%02x) YY_START=%d stripslevel=%d",
    +					isprint(*yytext & 0xff) ? *yytext : '.', *yytext, YY_START,stripslevel);
    +			}
    +
    +%%
    +
    +#ifndef yywrap
    +int yywrap(void)
    +{
    +#if 0
    +	if(bufferstackidx > 0)
    +	{
    +		return 0;
    + 	}
    +#endif
    +	return 1;
    +}
    +#endif
    +
    +/* These dup functions copy the enclosed '\0' from
    + * the resource string.
    + */
    +static void addcchar(char c)
    +{
    +	if(cbufidx >= cbufalloc)
    +	{
    +		cbufalloc += 1024;
    +		cbuffer = xrealloc(cbuffer, cbufalloc * sizeof(cbuffer[0]));
    +		if(cbufalloc > 65536)
    +			yywarning("Reallocating string buffer larger than 64kB");
    +	}
    +	cbuffer[cbufidx++] = c;
    +}
    +
    +static void addwchar(WCHAR s)
    +{
    +	if(wbufidx >= wbufalloc)
    +	{
    +		wbufalloc += 1024;
    +		wbuffer = xrealloc(wbuffer, wbufalloc * sizeof(wbuffer[0]));
    +		if(wbufalloc > 65536)
    +			yywarning("Reallocating wide string buffer larger than 64kB");
    +	}
    +	wbuffer[wbufidx++] = s;
    +}
    +
    +static string_t *get_buffered_cstring(void)
    +{
    +    string_t *str = new_string();
    +
    +    str->size = cbufidx;
    +    str->type = str_char;
    +    str->str.cstr = (char *)xmalloc(cbufidx+1);
    +    memcpy(str->str.cstr, cbuffer, cbufidx);
    +    str->str.cstr[cbufidx] = '\0';
    +
    +    if (!current_codepage || current_codepage == -1 || !win32)  /* store as ANSI string */
    +    {
    +        if (!current_codepage) yyerror("Codepage set to Unicode only, cannot use ASCII string here");
    +        return str;
    +    }
    +    else  /* convert to Unicode before storing */
    +    {
    +        string_t *str_w = convert_string( str, str_unicode, current_codepage );
    +        if (!check_unicode_conversion( str, str_w, current_codepage ))
    +            yyerror("String %s does not convert identically to Unicode and back in codepage %d. "
    +                    "Try using a Unicode string instead.", str->str.cstr, current_codepage );
    +        free_string( str );
    +        return str_w;
    +    }
    +}
    +
    +static string_t *get_buffered_wstring(void)
    +{
    +	string_t *str = new_string();
    +	str->size = wbufidx;
    +	str->type = str_unicode;
    +	str->str.wstr = xmalloc((wbufidx+1)*sizeof(WCHAR));
    +	memcpy(str->str.wstr, wbuffer, wbufidx*sizeof(WCHAR));
    +	str->str.wstr[wbufidx] = 0;
    +	return str;
    +}
    +
    +static string_t *make_string(char *s)
    +{
    +	string_t *str = new_string();
    +	str->size = strlen(s);
    +	str->type = str_char;
    +	str->str.cstr = (char *)xmalloc(str->size+1);
    +	memcpy(str->str.cstr, s, str->size+1);
    +	return str;
    +}
    diff --git a/reactos/tools/wrc/parser.y b/reactos/tools/wrc/parser.y
    new file mode 100644
    index 00000000000..f9d3da8b655
    --- /dev/null
    +++ b/reactos/tools/wrc/parser.y
    @@ -0,0 +1,3032 @@
    +%{
    +/*
    + * Copyright 1994	Martin von Loewis
    + * Copyright 1998-2000	Bertho A. Stultiens (BS)
    + *           1999	Juergen Schmied (JS)
    + *
    + * This library is free software; you can redistribute it and/or
    + * modify it under the terms of the GNU Lesser General Public
    + * License as published by the Free Software Foundation; either
    + * version 2.1 of the License, or (at your option) any later version.
    + *
    + * This library is distributed in the hope that it will be useful,
    + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    + * Lesser General Public License for more details.
    + *
    + * You should have received a copy of the GNU Lesser General Public
    + * License along with this library; if not, write to the Free Software
    + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    + *
    + * History:
    + * 24-Jul-2000 BS	- Made a fix for broken Berkeley yacc on
    + *			  non-terminals (see cjunk rule).
    + * 21-May-2000 BS	- Partial implementation of font resources.
    + *			- Corrected language propagation for binary
    + *			  resources such as bitmaps, icons, cursors,
    + *			  userres and rcdata. The language is now
    + *			  correct in .res files.
    + *			- Fixed reading the resource name as ident,
    + *			  so that it may overlap keywords.
    + * 20-May-2000 BS	- Implemented animated cursors and icons
    + *			  resource types.
    + * 30-Apr-2000 BS	- Reintegration into the wine-tree
    + * 14-Jan-2000 BS	- Redid the usertype resources so that they
    + *			  are compatible.
    + * 02-Jan-2000 BS	- Removed the preprocessor from the grammar
    + *			  except for the # command (line numbers).
    + *
    + * 06-Nov-1999 JS	- see CHANGES
    + *
    + * 29-Dec-1998 AdH	- Grammar and function extensions.
    + *			     grammar: TOOLBAR resources, Named ICONs in
    + *				DIALOGS
    + *			     functions: semantic actions for the grammar
    + *				changes, resource files can now be anywhere
    + *				on the include path instead of just in the
    + *				current directory
    + *
    + * 20-Jun-1998 BS	- Fixed a bug in load_file() where the name was not
    + *			  printed out correctly.
    + *
    + * 17-Jun-1998 BS	- Fixed a bug in CLASS statement parsing which should
    + *			  also accept a tSTRING as argument.
    + *
    + * 25-May-1998 BS	- Found out that I need to support language, version
    + *			  and characteristics in inline resources (bitmap,
    + *			  cursor, etc) but they can also be specified with
    + *			  a filename. This renders my filename-scanning scheme
    + *			  worthless. Need to build newline parsing to solve
    + *			  this one.
    + *			  It will come with version 1.1.0 (sigh).
    + *
    + * 19-May-1998 BS	- Started to build a builtin preprocessor
    + *
    + * 30-Apr-1998 BS	- Redid the stringtable parsing/handling. My previous
    + *			  ideas had some serious flaws.
    + *
    + * 27-Apr-1998 BS	- Removed a lot of dead comments and put it in a doc
    + *			  file.
    + *
    + * 21-Apr-1998 BS	- Added correct behavior for cursors and icons.
    + *			- This file is growing too big. It is time to strip
    + *			  things and put it in a support file.
    + *
    + * 19-Apr-1998 BS	- Tagged the stringtable resource so that only one
    + *			  resource will be created. This because the table
    + *			  has a different layout than other resources. The
    + *			  table has to be sorted, and divided into smaller
    + *			  resource entries (see comment in source).
    + *
    + * 17-Apr-1998 BS	- Almost all strings, including identifiers, are parsed
    + *			  as string_t which include unicode strings upon
    + *			  input.
    + *			- Parser now emits a warning when compiling win32
    + *			  extensions in win16 mode.
    + *
    + * 16-Apr-1998 BS	- Raw data elements are now *optionally* separated
    + *			  by commas. Read the comments in file sq2dq.l.
    + *			- FIXME: there are instances in the source that rely
    + *			  on the fact that int==32bit and pointers are int size.
    + *			- Fixed the conflict in menuex by changing a rule
    + *			  back into right recursion. See note in source.
    + *			- UserType resources cannot have an expression as its
    + *			  typeclass. See note in source.
    + *
    + * 15-Apr-1998 BS	- Changed all right recursion into left recursion to
    + *			  get reduction of the parsestack.
    + *			  This also helps communication between bison and flex.
    + *			  Main advantage is that the Empty rule gets reduced
    + *			  first, which is used to allocate/link things.
    + *			  It also added a shift/reduce conflict in the menuex
    + *			  handling, due to expression/option possibility,
    + *			  although not serious.
    + *
    + * 14-Apr-1998 BS	- Redone almost the entire parser. We're not talking
    + *			  about making it more efficient, but readable (for me)
    + *			  and slightly easier to expand/change.
    + *			  This is done primarily by using more reduce states
    + *			  with many (intuitive) types for the various resource
    + *			  statements.
    + *			- Added expression handling for all resources where a
    + *			  number is accepted (not only for win32). Also added
    + *			  multiply and division (not MS compatible, but handy).
    + *			  Unary minus introduced a shift/reduce conflict, but
    + *			  it is not serious.
    + *
    + * 13-Apr-1998 BS	- Reordered a lot of things
    + *			- Made the source more readable
    + *			- Added Win32 resource definitions
    + *			- Corrected syntax problems with an old yacc (;)
    + *			- Added extra comment about grammar
    + */
    +#include "config.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef HAVE_ALLOCA_H
    +#include 
    +#endif
    +
    +#include "wrc.h"
    +#include "utils.h"
    +#include "newstruc.h"
    +#include "dumpres.h"
    +#include "wine/wpp.h"
    +#include "wine/unicode.h"
    +#include "parser.h"
    +#include "windef.h"
    +#include "winbase.h"
    +#include "wingdi.h"
    +#include "winuser.h"
    +
    +#if defined(YYBYACC)
    +	/* Berkeley yacc (byacc) doesn't seem to know about these */
    +	/* Some *BSD supplied versions do define these though */
    +# ifndef YYEMPTY
    +#  define YYEMPTY	(-1)	/* Empty lookahead value of yychar */
    +# endif
    +# ifndef YYLEX
    +#  define YYLEX		yylex()
    +# endif
    +
    +#elif defined(YYBISON)
    +	/* Bison was used for original development */
    +	/* #define YYEMPTY -2 */
    +	/* #define YYLEX   yylex() */
    +
    +#else
    +	/* No yacc we know yet */
    +# if !defined(YYEMPTY) || !defined(YYLEX)
    +#  error Yacc version/type unknown. This version needs to be verified for settings of YYEMPTY and YYLEX.
    +# elif defined(__GNUC__)	/* gcc defines the #warning directive */
    +#  warning Yacc version/type unknown. It defines YYEMPTY and YYLEX, but is not tested
    +  /* #else we just take a chance that it works... */
    +# endif
    +#endif
    +
    +int want_nl = 0;	/* Signal flex that we need the next newline */
    +int want_id = 0;	/* Signal flex that we need the next identifier */
    +stringtable_t *tagstt;	/* Stringtable tag.
    +			 * It is set while parsing a stringtable to one of
    +			 * the stringtables in the sttres list or a new one
    +			 * if the language was not parsed before.
    +			 */
    +stringtable_t *sttres;	/* Stringtable resources. This holds the list of
    +			 * stringtables with different lanuages
    +			 */
    +static int dont_want_id = 0;	/* See language parsing for details */
    +
    +/* Set to the current options of the currently scanning stringtable */
    +static int *tagstt_memopt;
    +static characts_t *tagstt_characts;
    +static version_t *tagstt_version;
    +
    +static const char riff[4] = "RIFF";	/* RIFF file magic for animated cursor/icon */
    +
    +/* Prototypes of here defined functions */
    +static event_t *get_event_head(event_t *p);
    +static control_t *get_control_head(control_t *p);
    +static ver_value_t *get_ver_value_head(ver_value_t *p);
    +static ver_block_t *get_ver_block_head(ver_block_t *p);
    +static resource_t *get_resource_head(resource_t *p);
    +static menuex_item_t *get_itemex_head(menuex_item_t *p);
    +static menu_item_t *get_item_head(menu_item_t *p);
    +static raw_data_t *merge_raw_data_str(raw_data_t *r1, string_t *str);
    +static raw_data_t *merge_raw_data_int(raw_data_t *r1, int i);
    +static raw_data_t *merge_raw_data_long(raw_data_t *r1, int i);
    +static raw_data_t *merge_raw_data(raw_data_t *r1, raw_data_t *r2);
    +static raw_data_t *str2raw_data(string_t *str);
    +static raw_data_t *int2raw_data(int i);
    +static raw_data_t *long2raw_data(int i);
    +static raw_data_t *load_file(string_t *name, language_t *lang);
    +static itemex_opt_t *new_itemex_opt(int id, int type, int state, int helpid);
    +static event_t *add_string_event(string_t *key, int id, int flags, event_t *prev);
    +static event_t *add_event(int key, int id, int flags, event_t *prev);
    +static dialogex_t *dialogex_version(version_t *v, dialogex_t *dlg);
    +static dialogex_t *dialogex_characteristics(characts_t *c, dialogex_t *dlg);
    +static dialogex_t *dialogex_language(language_t *l, dialogex_t *dlg);
    +static dialogex_t *dialogex_menu(name_id_t *m, dialogex_t *dlg);
    +static dialogex_t *dialogex_class(name_id_t *n, dialogex_t *dlg);
    +static dialogex_t *dialogex_font(font_id_t *f, dialogex_t *dlg);
    +static dialogex_t *dialogex_caption(string_t *s, dialogex_t *dlg);
    +static dialogex_t *dialogex_exstyle(style_t *st, dialogex_t *dlg);
    +static dialogex_t *dialogex_style(style_t *st, dialogex_t *dlg);
    +static name_id_t *convert_ctlclass(name_id_t *cls);
    +static control_t *ins_ctrl(int type, int special_style, control_t *ctrl, control_t *prev);
    +static dialog_t *dialog_version(version_t *v, dialog_t *dlg);
    +static dialog_t *dialog_characteristics(characts_t *c, dialog_t *dlg);
    +static dialog_t *dialog_language(language_t *l, dialog_t *dlg);
    +static dialog_t *dialog_menu(name_id_t *m, dialog_t *dlg);
    +static dialog_t *dialog_class(name_id_t *n, dialog_t *dlg);
    +static dialog_t *dialog_font(font_id_t *f, dialog_t *dlg);
    +static dialog_t *dialog_caption(string_t *s, dialog_t *dlg);
    +static dialog_t *dialog_exstyle(style_t * st, dialog_t *dlg);
    +static dialog_t *dialog_style(style_t * st, dialog_t *dlg);
    +static resource_t *build_stt_resources(stringtable_t *stthead);
    +static stringtable_t *find_stringtable(lvc_t *lvc);
    +static toolbar_item_t *ins_tlbr_button(toolbar_item_t *prev, toolbar_item_t *idrec);
    +static toolbar_item_t *get_tlbr_buttons_head(toolbar_item_t *p, int *nitems);
    +static string_t *make_filename(string_t *s);
    +static resource_t *build_fontdirs(resource_t *tail);
    +static resource_t *build_fontdir(resource_t **fnt, int nfnt);
    +static int rsrcid_to_token(int lookahead);
    +
    +%}
    +%union{
    +	string_t	*str;
    +	int		num;
    +	int		*iptr;
    +	char		*cptr;
    +	resource_t	*res;
    +	accelerator_t	*acc;
    +	bitmap_t	*bmp;
    +	dialog_t	*dlg;
    +	dialogex_t	*dlgex;
    +	font_t		*fnt;
    +	fontdir_t	*fnd;
    +	menu_t		*men;
    +	menuex_t	*menex;
    +	rcdata_t	*rdt;
    +	stringtable_t	*stt;
    +	stt_entry_t	*stte;
    +	user_t		*usr;
    +	messagetable_t	*msg;
    +	versioninfo_t	*veri;
    +	control_t	*ctl;
    +	name_id_t	*nid;
    +	font_id_t	*fntid;
    +	language_t	*lan;
    +	version_t	*ver;
    +	characts_t	*chars;
    +	event_t		*event;
    +	menu_item_t	*menitm;
    +	menuex_item_t	*menexitm;
    +	itemex_opt_t	*exopt;
    +	raw_data_t	*raw;
    +	lvc_t		*lvc;
    +	ver_value_t	*val;
    +	ver_block_t	*blk;
    +	ver_words_t	*verw;
    +	toolbar_t	*tlbar;
    +	toolbar_item_t	*tlbarItems;
    +	dlginit_t       *dginit;
    +	style_pair_t	*styles;
    +	style_t		*style;
    +	ani_any_t	*ani;
    +}
    +
    +%token tNL
    +%token  tNUMBER tLNUMBER
    +%token  tSTRING tIDENT tFILENAME
    +%token  tRAWDATA
    +%token tACCELERATORS tBITMAP tCURSOR tDIALOG tDIALOGEX tMENU tMENUEX tMESSAGETABLE
    +%token tRCDATA tVERSIONINFO tSTRINGTABLE tFONT tFONTDIR tICON
    +%token tAUTO3STATE tAUTOCHECKBOX tAUTORADIOBUTTON tCHECKBOX tDEFPUSHBUTTON
    +%token tPUSHBUTTON tRADIOBUTTON tSTATE3 /* PUSHBOX */
    +%token tGROUPBOX tCOMBOBOX tLISTBOX tSCROLLBAR
    +%token tCONTROL tEDITTEXT
    +%token tRTEXT tCTEXT tLTEXT
    +%token tBLOCK tVALUE
    +%token tSHIFT tALT tASCII tVIRTKEY tGRAYED tCHECKED tINACTIVE tNOINVERT
    +%token tPURE tIMPURE tDISCARDABLE tLOADONCALL tPRELOAD tFIXED tMOVEABLE
    +%token tCLASS tCAPTION tCHARACTERISTICS tEXSTYLE tSTYLE tVERSION tLANGUAGE
    +%token tFILEVERSION tPRODUCTVERSION tFILEFLAGSMASK tFILEOS tFILETYPE tFILEFLAGS tFILESUBTYPE
    +%token tMENUBARBREAK tMENUBREAK tMENUITEM tPOPUP tSEPARATOR
    +%token tHELP
    +%token tSTRING tIDENT tRAWDATA
    +%token tTOOLBAR tBUTTON
    +%token tBEGIN tEND
    +%token tDLGINIT
    +%left '|'
    +%left '^'
    +%left '&'
    +%left '+' '-'
    +%left '*' '/'
    +%right '~' tNOT
    +%left pUPM
    +
    +%type  	resource_file resource resources resource_definition
    +%type 	stringtable strings
    +%type 	font
    +%type 	fontdir
    +%type  	accelerators
    +%type  	events
    +%type  	bitmap
    +%type  	cursor icon
    +%type  	dialog dlg_attributes
    +%type  	ctrls gen_ctrl lab_ctrl ctrl_desc iconinfo
    +%type 	helpid
    +%type  	dialogex dlgex_attribs
    +%type 	exctrls gen_exctrl lab_exctrl exctrl_desc
    +%type  	rcdata
    +%type 	raw_data raw_elements opt_data file_raw
    +%type  	versioninfo fix_version
    +%type 	ver_words
    +%type 	ver_blocks ver_block
    +%type 	ver_values ver_value
    +%type  	menu
    +%type 	item_definitions menu_body
    +%type 	menuex
    +%type  itemex_definitions menuex_body
    +%type 	itemex_p_options itemex_options
    +%type  	messagetable
    +%type  	userres
    +%type  	item_options
    +%type  	nameid nameid_s ctlclass usertype
    +%type  	acc_opt acc accs
    +%type 	loadmemopts lamo lama
    +%type 	opt_font opt_exfont opt_expr
    +%type 	opt_lvc
    +%type 	opt_language
    +%type 	opt_characts
    +%type 	opt_version
    +%type 	expr xpr
    +%type 	e_expr
    +%type 	toolbar
    +%type 	toolbar_items
    +%type   dlginit
    +%type   optional_style_pair
    +%type 	any_num
    +%type